From 0cc21d23fd11f9e5d6bca22675a03d859f3b3d0f Mon Sep 17 00:00:00 2001 From: wancheng1990 <25022549@qq.com> Date: Sat, 21 Sep 2024 00:31:44 +0800 Subject: [PATCH] update pro --- demo/public/pro.zip | Bin 12493386 -> 13476581 bytes .../pro/audio/decoder-pro-audio-player.js | 2 +- .../audio/jessibuca-pro-audio-player-demo.js | 2 +- demo/public/pro/js/decoder-pro-audio.js | 2 +- .../pro/js/decoder-pro-hard-not-wasm.js | 2 +- demo/public/pro/js/decoder-pro-hard.js | 2 +- demo/public/pro/js/decoder-pro-mt.js | 2 +- demo/public/pro/js/decoder-pro-old.js | 2 +- demo/public/pro/js/decoder-pro-simd-mt.js | 2 +- demo/public/pro/js/decoder-pro-simd.js | 2 +- demo/public/pro/js/decoder-pro.js | 2 +- demo/public/pro/js/jessibuca-pro-demo.js | 2 +- .../public/pro/js/jessibuca-pro-multi-demo.js | 2 +- demo/public/pro/js/jessibuca-pro-talk-demo.js | 2 +- 14 files changed, 13 insertions(+), 13 deletions(-) diff --git a/demo/public/pro.zip b/demo/public/pro.zip index 9df89ee6528ffbcbe49e04918990e2febfc9b839..94aa45d303fc28832b3d70aa5ee9ba321bcf7ce2 100644 GIT binary patch delta 3305550 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'!b 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 Aowy;$N~Ae>l62>o}d} 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%0D}UyPE2kI8YO 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

C|LMOd@`gPLiBa-qY2 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�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

XTHc6TMKuUe}y;K@oWXaQG^Hf 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�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≫Qep1$t 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

1( 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

!DN2h;b5|#7BO%U@d|B5 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

XMU4fxlAjB?!Uwo4 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

`;9P~_Ky6sUcWkBZ_YY)8_phs*#@ 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

;<1#(iS@5X) zfC4*d#ZvkBONESfwYBKn?ZGoA#W0EOS)!zZj@!I#>0h3V)5LmSjxwpal! zW8Mkfa97V@tH&Su@JxZ=wt3M+7b1Kzf?{F*`S`S6YQG(x2iDeS(%4fy!HH9op?@ zu7O4mvNVu=@hb1GzN#}VdkIqvr{ICSu|V%NkcWRP<}RGC(SpaaCyj7QAp+En4>kzt z!fJI2n4sm;!k2744ZYjzDvpHqgH3iLcKX)rP0aaY+psG~LX}n2giDt@w+(YDdqgOA zr(r{bUM2@!r$UXP3Flm=<6YV=~kA6?9BBk;OCQ8_Lu3vbl3{Z4y-q5FX=-2kyaBQy z=efWwy6*zaHym%ToM!3wFb~YWupSl<4ub1Tn@qR6FrIt|cuZ1`FX93uZ{HT7+I+xU zmWOGg)5f#zaSrY9T$1x-(M7M>_#x``Vjyc9iAA-gf!%Y(dFP~JXfPhw9nXs$&+DC} zqwcdC*x87dm)B4f4G|$6T!Pa5dN>uyQxFRi* z*1NjpK>BfcvwzEhkEL5024Jl48)%4H2@_MX*y_A&V@;Ps;5CAQj^U^&B5=~*?Wl>c zAtJA;iyPSOd{z8<)Hey4VOKyEH6vetMeQaA{7%<{jp`ROw?K*eeEUCYA9X5Cp^)b~ z1={yjMigYLn*sFr2VF*N9)oT{#|eS036+^am+s@tldslHC3GIT!!-@fT?DOYa!Zj% z0^Ny3nd%bC@LuW?iUyq@a(d7HG$*3B8kKo7C5et?xx)F@=W334iaUU+URwz1$=w9K zQC9t>s<>Km5l>wR>DP{n!i^K#Akx)VNSK<})ioA7ITCXGvgkYWD-VcTzoo58QEGQL zJlQWv@*uVRsa#?1g27yf*xmk|?&q;un%gh4K9xNS?JvA%w~CsJfrln5vZ*mp$-m$? z)JkC#2Ro|c8rHnYBs*Fdp-Pf}kh1{3kQW*JQvq?;-6d0Is^Qik#?TRO7 zm??t{hRLlXLR0ozVP%}m3bE>2sP5J=7T3DA!6o?W$44H5w0&F>2hMHAEt?5I;YV|5 z=|3`ZUc@GM>xml@*{kvcEW4#*vB7hB9(!~9G2lbjq_7u3bHJ`R0}b3mL*9XNc$lOp zbfkB3M|0%^DVtK4XXPHWZ%UtA32T4@$IuF@&h*PjWD#?Oa#@tKsn-OVIAJ077Z(p4 zG(nPcyK&FzsR)PbVo(1u;saU^m#;n4ZQf*s8&>5N_G2^ln-4WUTnr?=SCEc!$=^SO z^0l)x(~}NQ0E4F`WUau-QfGt^sZKsgS^m|5?ZwPv$!$OD=s0Z#i-1cVoBiT`*}3O& zoZQ$DmoAr>E`Z6TTr6ADH6pImM>RJqL$W}?k=A6Q#iQ#@n99P*n=oG|N#sJl(6E-U z>ZT}bxq7-rmVlF3@`Bq}uGY?UF+03UR_Mr2Ee1|&V0)TOlL0JGUe;!xARXRY}jPECWZ2eKzSm;=`W_p!g1 zm85*|0`qV*QNz^|R&(dLzl%g%L_pkHdB<84yw;6*qi9^>@`B-$<^r1_ySLLO`^e1Z zxT*FUuvz<&MN%{?B)0&qy=@TmdzSurW`mw&?(fjaiyTQug{24L#eR_V0Um|7?MwIl zyDy9D%-*s7UUX@H#@SLI{UBm-H_Hp~lZyHt$;I6&?j0i3QlN5dN1Z&VTPESLeUd@f$Zq7K>(2sYt9F=Fd+vUp&x>02ILhX=s8-%k)C--u*bDGQ?ah0>mwc{ISYRT* zh3Rs?EGV%O_xd2&t%%Sx2&-@Hk+QwdNeRRrsyE%-TeOf!7kb6Y0KU8Ylk%Pgy={EK zI3rNLOuzUPAoY#>PSbInb5fPBfN$R>S98$3kuZD@kgnqe)RL?YB63B$=xZf%eL2py zUWQ7PTl^UwtQUi;%oWoHIPZy1jfC=ckCwUKmOl>^)cXC{jj^pE=yR^GM)_o6=LqE30#^D< zOmyDr9in~M$jF{fM6N1mGA~PIUe#TRiPH3)6&I6rmjs8&k0>Myyc8iVos*fR73A?v zVRoV8o89ABJDSpIF?-tNlKXlIA#I#@^zKqH2vU&TE&mV9vlyp^>3zz#*=v;eM+a~e z>oX^^Rsd~Fg0BmKUd58M*HEfqHo*6#P+y$;TT;BQlg}BLQ+udlm~ngew{=j3O{FSqDW{s$p=?&#WSy-4kU!VE%=l&O+O50p<%hoe$-n$;mDU6}# zjQXagr#c7zeyB5N_#>e#dYX-s_R%->+&=CXH@Fq>j%>lj&w%<^OyAns1)$JGpzpwX ztWfjOeasW$2ya;xTX;Rt^SBP)T>D~R$4R)VVMk;kxlKMUk1)GnYQAUrHP6J(!9U$i z-xhj*uIyKgLSzjG#}7K5Y(KigTdI3BC5C%oXlh{eSjLpd>l#frpDUG-D=)ovL%M+} zmc7h4*t+`8^z5?6bQeSaegz0QjM{6;O<#nyhXSleKP^rA{#kQ1ih!9#YgW@B^bqwn zRfw4v|GBNzyKwPGGwre$*ZRv(j`8$^_{asfZ_R<6dKARDZEqjtc4`VA+-oM`OUtBz z8lXT7EP4OrVTs727$j}gLdw@LhEns zvx%}4wKA6@$7r=Ok0^?6B7?K3o>LYbra~_oo)qxc{Cr!2(i#Nwvr~U5&rLt_VkUmZ z9gG?Ce@pFWee_o4)El8qOI$`wz-G3XQwlF07E`iH)&8>yx= ziumbrF)V^pX)a4V(lwmv#ut4KIqmn@}ElW8Y?Tq@C_kP;}ju&hupQmoFlTaA|9v)fqAj`hA6*qAxDs5RVAqY1<*wcG7R}D;@2GG{ z%_4G}RJ2V`JaFq*;DSm#19Ob=_c?QhhQL`q52kbTo}|{1h58i@Onkp$9C7>Vko#lP z6-i6~j_UkrSbpb*-^xv(rg=OctOV8K-vq}?h#!2NXa`_mP|IxWRMzCHiJGg^nPaN_ zcdPISdvh47Blho~fc6ais#s-L_ivUR%uTR>psZ^TVK2X46a7b);~HM3UMbdNCj1Lu zdE?APlS3cF6r~8q9!c0%v=5EcPcE&d*G$5PM(Y@}KX`XbQ2-J|mYXEUgFmx!U@z9Q zEPm2?5CD8fuHg_d(SDM}SKRIMTeqEjE_)XZE869XPq!HSlMl$KLivhRX9QKTMABt4CKwQ-~O0*8K`D=B_pFpF` zay?%3seC@VyStJ#Cl@-;8!!u6DXK6c@6!)5uFOQwYgy?b5}5v-iy6u~BHOk0?5W~u#Zc7MMO5ato4dT13yM>}RJVX-$= zyv-cfsVmzkp0ht>rLFlG*Ng{!>bgLNNn~WQr}pR_i5qH8Cau_r zKuEa$_71hncbaRiyv%?_YfUfyeGK>{g-Tv;xC-LRhRD7r9b8ZmdLG!l@WwK*Lb~)X8kT#H zhQm8oRz0d8fcxj!5A!cpYs6U-n}FYhDUE(}6{z6!m6a{dW8QEDm5bUd}# zuLuj%!#>b~-JOyHCljMoL)f;pw$}^canfr<#@EkfkNWwg z%?#EtPN_5&mJNRf(O5qI*|wRsH-MI3R2fqf^%rgm!mm#UDP$`>G*(}l0+JmIIZ4~Y zE?eOL9!}(=?aT4BxAiC{Fez~KuL-?7M%kzMKbl7QQr%}dQ$f z)0ZkfE7@6j_8US0U0f&EYB5dI7nTowe2zLd_BitR z$o-dQF9)NJ!1-Y`y}NyYWKtwFCT^5#;s@fbbAkW+Yh$Gzi2egsCudl!Yf zqNsE&UNt34ET;7?*^3ZA4tdmmR{dOsqyfcW9^!)dyaHF+y@Q$heIk&{$m@lsaG zt%+iguB%POh9?tk$MZB;tC>R6$~vKgZgZ`#PYi6XXc1wv70(VVPQtn)rnv6%#XpO; z-I@|hy~+?shj9|})$nqcX-T}wF$Y4>5nI9UBaHs^^mJ`p%phO~+kbMG#!x;&*(~D~ zAvdQpd7NY!r>4cWQ)fdE==k$2+arH#uMYN6B^mQx$gGO z7e5vhp>8#Lj&!Y$=LVcgGWU4xsRUgapic&OCkN)WHHpN8oQmr`-(!i}HHv8qT<<^8 z)uM{iaeGZf#V!oU5MgbCoT*F2&<>bK$tb-kyH`(E#hC!F(J%Zlr8cH7sBE<_jLcFR zp7pYD`&dIndg<=2q28|)>c0ZL-4XQ8>qf^vm0KNR_YC3xUQ<}l-#v=#P7)DIC$lwl z0>m91FSTm^YoyvnAtkS)!Bke^*{bLIV|?Ezn!Y5-pg+Zh?xrjyOq;|o4N7q6Z~hQ+ zZ7OJ6XC?=_qvQP%P~=thub#e`yDo;FZ8Vxc`t>a^p7XN5g{p>j}fU^)K&;a(}^}mBKv|gNBH9Fg>k5E=P** z8BpcO1FAx3t-vZi4yre9mup3#LCF{+3TYV;I+0jOF-+TnOxA=yLKq&2O;Kk z0!Hb4h9A%KdD(On>eB^wga5`>`+aGyvnjv51RS3%lC+!+u_l)H4+`-n|BK^S3~YxQ zd1M5XRVzVw0#1^_Z0QH2F#!u7oeC%c(|XDM*)ZA-tD z##N>bmyw_~FCV|gZ*m5GA|$B}p^U_a&UIdD{ZNtmnZlk1RqX%4&bwbx*yR$snVY_CbzH;8&YCJ^?G=uqy7pl7Epv_HU;4wdiZ;2IWzw} z=gjS53Vyu94lIat%sG1KeJ_eyu65#W=Fz%%}o)2F4?P^H8@3fxuj^L${BR@1O2ngojouNLwDK`im{Alp9u@RY-|Y^OST zC|f|Mo07DlywK`I+K8SKJA1Y|n({3B5Fu;pu;>5Woors@KQFNEu}uB2`%Mh8ZSgOvbh|AW zP3+f#Sy4Hd(lg=p|B*}VcR>wQ5ns&(=SFMNvj1uJHd9QS2QhPqHh9_piz#Tyb3EOt zf?pVk(dUvs32{)&r+Ag%2s9(fE2AP@HZ$r>)8kYT`}_9r z?e!-DpZ3Kx0*@aKi~nsPNPM0BzZ^(tp6^ueyU8UfwhUCrQTKaL*5D2S&Z}qjCko~0 zO7qNTfUAQ`>)*H^@34y_v)j<)43Wjl%;wzohijv&y~SlPB`tl_I5Pp;t4xoio6vp9 zoIR%fV9432icVatR$nN>aBEI(EvAL}4vFes2CT?l3oQqk5SB}u-vJDb5mr;7gE|t@ zjf}xK@}1uDDkA)+kxO8ywfCSkR2jm_z@rf(33_3^FPDZDVf*ry!P{zd8U~v>6D12Z zGut0Cnu0gT7%c^u&?}BE{b6R1RTy15(5n!`MOW!}_ zS4q?|OEii5Jm}dh8EjfMM%*uO72ndmm3RxXoeq5~M+6i3O)!#Ee%fF?`i!J$C^bV6 z_XSz+40RtGUXq6g32APm4&I7Mgg(|X&|PEG=?Z=RvWcj%2@kuI(=$ zY_h*BrVA^VIs*(kcytL9;DHCr z6J13yG|oG=)~=wje7-FygVI$C_Q_A?_dl#hh`b(Rac4kWn_-io29C6)=D`=A=}ZMf z3-~sME`KU(>hoFOEgLuG^NBiYzu~E2ZZKZau-)^IR0VVvmP6CVh0x7jMX&kEVWF5B zdie^Y6aHSZoXMPSie|3F$&dWK`Aa9@`wF7JDuY3VCjM|F9}P%jf|WE1hsowFZ!$%F zoOrWq`5tk{nuK1aom~^2qG&yf!3}heogZS9jn4N;xEvEm+&_Z98V{i!YG4fO4DeWU z8FM{OU@)JfphDgGU@pDvGljyr2Js$?BrCpP@1cgUOLNYQqgbu=#78NejPj6aGWd>! za%1RUp9E-_jsWQ?ga2xqRlvg}6_2irZbF2j@0aZY%zw=T#z4xhqvDEpC zv@P#2#d`9~O1){ZLdiKB^)C3(KXUe_OT+tvr6DJHj23@}WV!ZthPxGEPPmu}2w)Pr z^zXBo;RBOeP3%=k8^kC~$*lP^*Ji1UoDgRkBpq1S^rK}^W@;qx7|o}N{2=CikPH?& zaDOJ;7uH<=r+S4#<*gSj`96eRaVmabWL4K&6I-wyKf&?dMZta$2`3PdH9IDdpjiC- zth0YZ)CGT04+%Q`=LDkeZVyxg+=o99b1~)<+cB4(ALCeeTp{hJOXv5;OXmxPp6_~r z-KntYhk)kKa7mCsM?@J_# zG5S(y9@U$cWF~VC7BYc@oDTPUi>C>_eV=&Z;st*!kC}2L0V6+R-mRMD{z^}K$;r_? z&SLKMFKFfh257kxuV{KtNq6rR;Q@%=zk0qd4&W6Q=lmCdrtSs-!GYu=5*YMUEl%+5 z-X|{whNGhB{T2Vhf2;h^q<`m5znabY#Zq`<8VWy?k`YG3t=>b`d@=swRH^9wFo-8+ zL_2?@^6`;JxG34zZA?7zBoI$7|8+GANcasi)SOka#AspXs%z}stiBjN&gvCy;V|*S zVIIp6?!}yhpKy)?awRII24X3qODW<#b`q|rqSn*ehi;`;VBm2!*b6WjZn12hp@Piy zzJ24qf`U2|vi0Wgc|qPkxb~EY{eD<&brXNKy0pCQ!_7BrGhTh|<5Ku@Cc-4o_5T`% zI5nYi=W-ukmZgG|n#JxsKW_P8D102vFOK+|b>&89-G90ViDx$_Od`(fMm`Fa>9ktw z`qc$ZaY{R&?g6d{x-vJ3Sk1UBUm+8+NfP>Y=BruI*Q6iZp2(1%Pp-pL|MmiNLcD)t zk)&JaWU@H@^NUCSbIvyX1wSW6n8vw2D zzxt@@Ld4i9!Gat}aK2mYwH=VG*sn7JsPwf0spMIf@ zLK>>qH$PRz3bzx~DfFd-<}iPk)e#Bbl6wsL;m?qGv-eZ0a5*8RO$iTtSmh@#m%v@(;%VxkyVSC{>rr zz1hF{DfVyHiYR<|;_cP5&*y;DX_>Qd({Vyp6?lx3Yb~`&FJ7OWZa#l$ggb@ouE5pk zOF72sRpnRuM7*n+h~vq0voq?Pj(wC>d8c0h-0WNay-qf}_s`zNneSnoqUBeQKD;>V z4YsyW04`EHq2SS#z@_*o-^vdsuSX|a4VN#8`(EdCwR&sheyvo2x}((yYb6r>BofDz zZN6N4^Xf8qc!O8;;KYBYqy_nbm-a?|yr#2v(hILHIXydEvz$ztFVEgR`??aQJsyk{ z=^LWXhu1f|r8kee;|!fW=HR#3+uaOU_;lJItehVl^hV{>`rV6PI%j9zhaIBi00?Gn zx_Nkcb=-|Syp_jybp?SMr+#XJ3miO(^WI{+?Dvpr<)iJ)C6!iAFZ_AZv=5_IeR=LCLii!Z! z*D_r_?7mt7>RA3@?dN-%3~`_MOPLA<`QN5ti9;3Z9MzJ?sIK&t>13H7`@~D z*uSV9=bvtOobP{)i_6Gye%WxGZ$*yt%Ue^%r1-Jp{Bk;F%xICBHnbFbwVUUv+J}p@ zu1(ca)^a*pL`&I@7STGLE?lE!S^c8%3i0a!BU|3Xy*H+&Z>yVJ?2U0>pSq=3QqUS` zoW&P&gQB0zjS6Dj_dt*&j5XI&pXu#k&>%P?@3q)jCBT2;+~MG)^Fj~F7)cqj*P)j{ zZy)|OH)c&lvy(Ngyc8s&Dv!`OJi)&5{=JypktLeO3GawBA8@2OTtwa7kED=yYZuYI zu>aT{qq$uCjqaG>(y!bxm8Xo|F*Hw52$%Z&Nz~33`Z=i#;(_mV0sYYrag>ZA*N|4a zbPfI8zHoojrgROJeZlOO291Bst(}|g3mP@3peew&8aRAyPCX<4x~hKVWNxx_`9pv8 za`<~QEN(irHpp1vY)*2qvwpEMc;ZEMtun;YR_as?2Fo4h?yDa44y6)o>X!F=uihOu zcwXT9vB&~wKE3bJ`o-!OuykUcxzKyv>x(0fv_pRZimZ2fxc1<*W|w_b3Uf}{w|hq` zqs!l;BU<{v!|;jffl+S#L^R#whMLqJo)0EG9hoD;R$dR*wx6MRt5x)3D^Isxoj<{_ ztP?`6zI(JaIuAWGMkuB2+3U-_NBvpSby_L$YZJ>UVi~zJ>G9W#hhNa>>g!jn`Bxj; zhiiWiZz(<;9avXXLTc}$2V2+Awx<=C=G;XhjTDbuUcG%VyxNTC+OI>sz!3q~#8e8~ zT;;iuFCM%%|o&rOOxgZugLc!c`|nO4?s60oC+QSj@`=GAeq zd<_sK0;1Uf#T1xtS3i}}I@MPg>PrZLA67!gvj88C$QUna5HI|2B`cS_5FAGLu>^k* z97ok9QJIjTdRG9k3x5{Gw=@XP+Bv^44|x1@07UJa@A_!Jz$@Vkgrf!f=^n8H4xL#? z#GW%8I)lG#6r$AEO`$VH(yhonoT)UzXHd%u0ehTf9xzH6pSdZOj$?jl%&W78GwYIV{oW&gjhpB&<7VW3wuLtX!CrvIx)9~=5vwzwduo04p+@uFD zzHYufZb=#Q=AzR(dpFJUVt#9gI!Szu-gSGA9@WC876eAS+$u5HxL$w$wPtNGNA_Gi zFiup_a4LPdHC|(w3S$q>1_vAKELDK4xzXDjKipzDNV@FR^<-@_sM+K3FXVp!txiKN z8oX;t5!cg!+fY*5F)Uio(8Ser5lOOmrjmf5YqnXL=7{koE7KgV(qd&^-_KhQ&xCko z1LBvl7LRYw0wU(IT0<=A8!~}nJ~#2oC;lQHxvkOr><^r?X?Fg3YiD<+Cf{S!L21a2 zn(HA&^A0?&)jR2mu(*O_f`5Pg%kjs7KbTwMhl&i4kp%z@b zw58&>wl;XHn2MO55fXo=@)?CK5d_~D_WWqgRg zrAK*?SFcB@+{Sv82aOGS6av^|J*v9IY81ouMQRj38+K{S$1s1K_A!jv$IvT%49H}k zttMf5av!zE)5JS%1%bw-xA_=iR|Oik^QSp-ySdY@VpRv#D204`@&0!*qL#th}|7ty`F8f!|YC7HX3hT_h9Tgk**wGKiPg9Yee?##>MI5i-w7n zi?46@9~}=_harDu`R)4$U)LWuOtYKpO`RG;l-E5OemRBt{eq2nIETmV0gsg#uMf3! zIb|}NW!d_xv-5WkYMn^0k0)2l&u1xjwYn7aoU5O(&Q}`D?kZw-E4Su^*nB#LeXX&a zE?xQjb$=US*sU{*x-LN4pPY`k^uYS+N^{v_Ju^&>9=(75aPj`-%$d(pomykxKAuco zanXt_O>?`qfAHWvjB>KIO>XVc{?q5@&}-%9=hJt?qv@4EFlJ-P8{Io9s;?RA#m}&3G%P@)0?O-L+mktc4^4Ni%EB!6C&h4ckhH19&43I~oVr(ei$UDX$Fk;cnCwfH zVaIV7)bj*AD8 zmumYbil+D@P?KeX82;CzM~_}U2-~{Crx2sJFW+r}Dd*;5b^HAVa4ePwWk|Mk#l%+_n{7G35#L^$Xe=f?P$w zwr&(N^j$8U(AIYuc(G+ci|JDCzD&ZeYP)~iUfbOqmpHsP9))d|M`4WLOe)%gvSLBw zD2#Rn&Op)|qG0O?*j@$Rn~XU+rc;dX_WuCxbAO?8S8yDwhYrRrXS&~EaQEGB1;dTq z9sZ&JBzKIb3k%IEC(hqBz*W_wUKnAlso~ub{n%vi^^N6YZu`0C_7)xj<=X{E>|lfWX8sf*0fB zYozpiZLqWF5j*>O8#|L(I?aF1p8vE0Mcd@*%g>Xq*u?f=b9^$oDlPBq)!D_$Ti9z> zqXK*S=HkK1<{Ewf&>IamLrj%QNj~e-z47VSKA$sW*2(8<#~T+o%oVvyGxzlQ;p86E_^E%K3La3?I|;mh+Cjk* zSG81vS^f!`PWvZBHti($vOa6$G^H~l2w1S^ttLxgk(Tn|Re+}cp#Ous@y~uQJsNvq zbDMhbs8$bD${hPzw;IU>Q!HaHs&70X>H`gc9v9^(D}=zsgx|ABPx zg__AM+3^^eB_Mwqx>AdFvDE(;fQ0YfohP~(>@Y^`F2k{sJwp}>pZNVdv_a;LSmN3J zj$IdzjCb4{C;_DHc{!i`1elL#6$6B#x%*QJ!Bo-V&#~yPPw{K9rPg1JueWCUh3i9e zM9|uI4-Z}rUQP*Y*FSuFHN^3}*nGRa()q$xf-$7@e%OEe`u@?2mQS5*($oyzZx2sT ze!tmQFNxlyb?-a<{xK^SSvvXr_}vf=(k#=t8?IcBy4UPrPv3Vs500S$khMbw%8QMQ zSC1bz1+{QWn}@H4R~v6{&=i8;{(O4~)Z20K@Rq~5htqf!xwF|+MOQr)wxo?|pUr7T zRcm6jY3+Z@DmHGL5p=8C5N%rL)93ug3-4d!4*&4n;VlklZ>x!Tv!s34Jft^XT4|qt z+t|tT|DM|1bjeG(#&f*q9^wdBmq)m|%+1jHW&|6pvzrz0NWy8(`>P8D;ZVA{;~qA| z+CL((_VCs-U_C?e{ztrfy@vff-g-JW&O8~7j$eO+s*TRA+q}4Z@)^W$Y^w8>haXNZ z;53j5D4y=&c>U_dmw0dgxQMhSy*QJ0W993s@t3BXGb24-r(2`t)pcm{!WgNu?Ci<* z>DSi&Yis2sz|6tp=Lh=-^~U?h?HljQxOg9_5APfE{3M#^_qWcok<;`1B%bG1@=Lqt zAq9UX%M{ADUw!SoI%1?uX{|`p>&@%lRUO;wSxxOfaXInE^R2_q`U}5gsc`wL<l7;jF>di?l+e}o^6~M94>(S;d4@o#4@Z~%P1H`8>DkfihaBC60>4%~IDUI@KK{MV zka*O)YOaobFu6E+!=cD=!q80G2+Q^47Yu)#_tOVQPPu$4DZ!X&?kK06GTI*-wW5@m zXEyPWbv7duiUUWR9FnTr%c}tY&jFo z@;#WKEu&j(iF}L$eP)$eiF&N9E}3U`bMkY{q;U*%uS&X_>))8FJYrxt&5*t^fbM^c zjN1`sOZLkAK4dtcGi`5*A5Z>c1xg#&s-}#ivSu~qj1?$tRfC;pGV-Xr8y6oUhVwLL z5|y{K%^i%jsj%kl=)seHgk~$!17&*Id-?dw!`~Z8ayKyE<#mqM-XE?uGTCC-n%_gR zm`qbm+V=AD>Ztp^yu8&t>XmJk9LRsCU40t78qz$Cf1i#Upr93lL~%5Ee{k`%@h-B4ptHUEu=nT{D}xzrVwoO4dHL$m-YhN_9m6*@(tH0r-8byL zPOWfu_4T{UYxYNr!TDhHWuu{)rsKDtH+!2kS9IT<)po za_`1IH0d@j_pT1Oaz9^`tNMke8*n{7ES*o6INVAHn0GGaNUzyJeAEu2qIPyG43@Y) zc7jUJ$pQX3ySe5w{aO`$wp@SpxreIHllw&de<4P55&wLYPL)_EDVJle%VJlLRmff+ z2e_a9k@!d9AHCEsxcJCNc%%Ct^E?^vjL6DNI;gNY;+9Wg!tN#)^yd^nxV@c=-Q=*4 zCi{~#-QADEI<3;w{n=j{;^9Nap*cjeNw>TpEME{dIWMm`z94mS!WVx4uIt;$|GfTa zjZxX37a#GC)A|LYWFOs%UvN}js9$hUUI{Na;|mFgzn*^V?cjgcA5V98Y5hMI_%_(x zonIUkgF=K_+^0oZKaI<1*+j|2qW+XiWR@6>>0s>r9 zxQ7nmZzMAQs|Yn|aBzPZ@ALS!GGrEs@B>Z^^Z|H%{~12Ie`<#IpPP%{RrD8VYl`_Q zQm^MLyn6ygY+Z+A>$>;*e{qGF0sXT$cYz?gyMpfdqyJa`U-r%&`cM=a0uebxZupy@q&ZwACsR5epbl z#>X|p$L%4V2%moxIIzYa{-$sqk3Y2ULu95$-3Tx9)u{KAqvRkt1FluoP%^tA1`t}E z-J2LExF+-S3fPC~mDUGb=OaS3iD&wkd_&u<>@`nS8kDZ1;oQSZxnf7BcQHaY6WKTn3g?e%^mQT!WZ@oyrR zzYRyf{fqwID@}#1^F6W_8lVi7mQNPZpnG?(0-k8PjH>#~;qkT|B*-3=rrSOL>Wel> z@$i3g^}!aLW1mif@kGNGe0ZE1X=G=(H(CD>ALzD%jDukm89bG}*EY;%mEEq$ptiGmguwxh0;raV?$7wq@g{U8hP- zp+yMJGI6c@yv@=oU^0E~TxJcoW0UQFbnrasu+j5!T$UaB`|fb!MK>8bv_hq!g9GNO zKnbJvkIP~uwh7k1W3oi&i57`ci8P7enzo5?iAfVJ6QvW>Ky@gUD-)9^MkHD#%0Pde z7P+t6YtzJ#!mSf!6RQ$q5}hR~PZa6lWyM%a59>seKJF4lO-WzJ)zYg}qD`W*MCOSU zzDz8%^^{BhvKfZ*uo+$@eYIYN8@S%CW_PFP}e)IaJCy@h&4 z{i81El*eK)aP820ng{B%u^2RZWifvNGz~N=>YI{m4SLgp-;zdEd3iD5K}L$B-5wk0;QNn58Xf%NM$1oO) zkZNbc-MOMZXlkvTE9z&Ko7@-~rjy2H=`J!a{RCy2hM8)s!*t3N$Ac!9Db1&p4&a6~ zn0nyG&;{$1tOo9cGa23K>Vbc!v_@%0jfY8A${4McOw)SksLhKyOSYOGmrIldpvA?k zYhlw&=f=9QE}|S+HTxO$v7!hS23b)=UO!jSg$d&fQ!C1G1j@+#)KpZV!WaTod4AI2HJ?`tfG$GkF=r;6ILrwhNuT$QAV~HQH3fO zD$qq!MVk>_r*$9_Bvq8GQ!oTcWJBMG*U?~7%swdx)Jz)2g^J^T3~_I(`>K~{k)!Pt zoi{F%sWdk3YDRs^z{H{%&ZW#WJ>2MhN?IUkg1VY#A*lf@Xgq(>fr0ti8hdO z3QP+0X0f=m?fn>aT^lBnzho$#Z z7NiUKn4wK+t8x0?s#N4Ich1EVLfb3@z38~nIlS*(wJ?8aHKAG|AJd93ciKpr9OnmFO$90L8QrG?0czSwWEfc;Q$e)}8U%=0 z&8eR@UTZK1qAD8*hStQUh@-FirHCdor>n=xu}fMdlkukDU8q&AP+KtW1xmw8Qxv`dxha*mk;5p^X<3_xeoicA+lDW0p5?h3X*Yz@8j zi%Z`Olq#Ocbg^VZ#E)p>fG+6*Z8U0_`kSUo`U~h+wX-YEl~8*bh{r!-Y}J>P-$;Cj z2vK9>l}&%>utBRn(iLT?n+}~Ms-?|pU5b^*Hl@Bp*Fa4^-`(g<{>QpyX-Qbp&EVx3 zD@9=%G<6ajEesV|wZc}fv<{Gh)x3}p;5~(@g=`=>Nqxz4E5MM@6`};<$=cNuLoYGT zN?lI0AnMG(Ey`KYpvuffV0(~_7h5@G9C5-nK=<`brcm>C(0nmK*Nu|uEB`AzE{N-`=XZG4&@=@f!M zWI5t$yVf%Vrb2R9^R$*^nU>R~q@n3EF_mP*1x>1>*&u$MLNGGLlUl(_T$mb~PFfuW zhE9LI%nihqpC#x#TDf>y6wyL%%V{A+l(}V1Mz5Wxq zzArRT641m+^Uy6CQn_u)emL5Gi6hC30g`x4a*<&j*U?^djmT1An&1-3LZ|vlLJJfSU`!Xdu;(ig!29t>A-XV7@3_pLP z(StEzK(O7?G@dJ3bC`J5WRg}Z<7FaxcBzYJzvA1~6GC`Hq#6kA#oX%VBT^f|Ln&E| z?+lc0Xi(8K5e2ZYibg{lDkE*SK}#hQjV8;_cw=NFjEHt@Ja42mv^Vq3i;qWm_eZE#@JjcWs@$21HZQAg5-)+o#yQ4;0iS{Ns@73 zOXUoDdxFF~8`I^Cdoo+}8=3}=-5IMpCKNO{@Ia_m=!U|!U=0R4mehX+a60Do z)E1Ftx#KDkLwg2P;G3e!;7+9eRYaw4a%K0VLXT8;yU&pp14sf0ik*oZFIP`~H^p06jvgpp2J~q=<~i&m5)h zfkWs~G%zod>VcDvnno+=Ic7Z`p3Qjf1<_kfS)|0Ukr!shZ@Ov_f(#C(u4)FD`cmG1 zQ1+u`1oBEW4k%V>-LZ@{pYU3;tg?6*PC-W0vqJB%5e4PmUZwu$%;A6P`5+Ap3RKly z;`!P&#_tRZL7Fw&AVS*M8Cyr?MAJ$;6>Tz|2Lj`1k<3lPM3ibb8*!Gkg+;6!C}vTT zFd-9=*bB=u`bJ6*`+~ra=o#(V5mcX2IZIgi;4fGdX4#d6==TdNYT#?6bpQo?zr(%D7hzY^30iIQM3oGfOE`yoWUB;Y|Ov`QEQEd6DO=7Yxngs#5 z7!44V%x{z;t49a>*iV-9lomz=wKeKJ_8wf95NV;eV9a6IOf~gHG1IKy&#HCZo@NCp z3{8XAaqqCp!}tuV6`@Hl62b_Lb1uA{Iaf6mu-K@#7Wyd7Ti$=914t1bGTCwQBC=*y z4=&3iD$uYU;pukuI;WEk8b3V$qs{qttz~vZNW`1#4<@087L6 z_dWO8njdW@^SYy%ccEl1jTeJ=a2RRnC}UNJ=wuO23%F4e_8`DAhLuaKDHSx8i;5OY zr%ENvYrwFugZY0lLYJ6k%O+UKDVxq9#TQG5h=O`jwIo4})$CT{OcWuezh~Wf|pPvl~7z$Wl)CmO%dLy5sJ3Z5L=U)5*Y zqS+$rgl>PaR9%#*4;UFABk?Pu1BALO z)kPBzCtMWKaKc3ybv0a6RX4*G-R_6MVM6`QMx729Ge4~G-Br^UuH@0&RTpi#SU+Rq zc?uV0G^gRBs+JAZ>pLs5sD0rUnQ4^smp0mnyDxv^SB6%Z#-s^Du<^uY@qD{@Me=GY zRqAI$%~}Sl!)vN5rn%16&YFmisjNjF*%WzX5qW&)0O0z(rgobKKTBnLm8u=fD{S+qJ;cCua10NuRbQ46$po{b zPwRhx;z<%hNr8;ETc)TE5DwW#7V3Rtm-xq%iUFFE?{loU_yT= zGvEFV8XMU-^ut;62U2K^%X5YFs^l!H{OY`yBcIh6OmIQ%W!BUozGGT|F&1D9lB-E` zurm($q;Mjex z9dPH4Zhj3P@7wvw(P()2+n{&(+xlok^xgB2l1qNzd?x@o=13ULbCuibQTU{^-HGi3}4BvoL>rj-f_wA9^-EA&h_~&Ac_p;EBtK)iq5=c9N(hiTdH)u4zQDc zl51Arl+5(<65la!J%Cg4FCu^b#lN}n#NT4Bs62Z^tFj4V+~`c`rU);s_K>}44~?3H z##DG3f|B`{c2IJ!GtZEhKgNErqJ{n7>+{Cg4^}evgH8Dl_zC?{j{g9MGXjLjreN+y zjS%NS6yiL(EyP)i8EMmlIK){aqQ>dZPoA&sZ$|;XQMp2soAZsA>x_SI3E!YG{m(1U zM*xL-wW`-f!!yoll(w_7y#HY}WGa%XMqE%n`TFeX*AG!JuFr4W_s_KgiSu_WSDod< zIvm%R`-?()qm;vTSaF@=eoG2_jYTYFcJgwgvw;-MOc|Y?tUla+0;r5u)xt6rlLpJ- zyu#*r`uu2kc5o2obV`3xHkU`&@77Q2SmY4gJNSj*-qBQWugr5&lAFQ3zD!#)=UUIm zxn|tDcFwhsQ_c#d#E*UyIirbZ&vXLo!as zS9mKJ2@|2Won%Uk(6vbckX|lb1`s$d43~5MmoI0QmN@M_u9km+Jgy#B$oPSAFe!R< zL2oXKR;4)#Ri`&fUrom|yDgvQm@aiV)38H&(|D&tYVT5~sO#Gd8#nyhW4U+!=#$Ph z*y%=SH{A;DW@%W=4HwYV!Z|7Q^rWxLfGbPrkeO;yvK&TYsnl?}wn7^W8MSU6UZc*eUh?1L>8=`-lB~LUoi?ym*>*Y0BaohNd z5+0*}rAwo`cjr6NGbo=i3EivvK4gK%n5t?Db*SGEGUG_d^luX~($2tA9mhgO<>~6_ z=gnh}w(e4qKe_6CURiE(cKPn(n^W*&Lk; zk+4yj%Tr?p53aUWqS~poV3H}&SH$JRwX1aiM z{sn2$pOPjdIjqfF7=<3#uZ8O;rofm1(KiKAm}P%ci6S0Qu!T^_l}p+Pg;UAx9<UMGL^l22l^_f3y!?oN9y@+ zh?Reo96(h4EOqs}n=iSvXRz;zoe|PfM?1=AA&z!fijj3aLW1hZ`MYv&#zy^}^5v@i^2XhwzFRiBn$Egg)_1GM z0K}}jReg85>)m306niacc#d^)LF`5jG{=9x1APERWcv&HPR3Sp>6{v}RPZZ~l6xs! zjYEukKU&@{r-IH{*sf0_70MD zJHuR);)EJl=wE-w_*JA&o@nSt6vRSj``+itKbq=Ci61q76ye9L`Vnd07)HM$JiZM- zF4f*RXoI>|7V8zjSD)J7nYAVT&kPRG@mrFeQXM9f4%xu9*{p*t9jk8VGgP;CL3LXt zwnF*{k>7~P4-PQ;$CEH74F4<$;?RF8%}kyxlyvu!a+RpZ@r6VC{6yKLRAal3B!MOC+}*6jwj zn^s?Rb+>NaZE?44_r+AVo7U|aZqM3%vDNLid3(tyCZ6taLl$mmtWKrE)B1lbV3CN{ z{nkTKxq)X(-C}O8|0keL$dp^?|B1s3QacyMe~!uWn460>@L>MW!MAjNVQ#K$#eer$ zCf$$c-+Nepu$qOrVM*=ZhSlzv$3+cAYC5ehrg75>Pbq#%mQ8=lx@qB?*0@RYO{!`|MNP}Hxw!9RibxgGfdeOp}33Q-tWKqd>xejXT8G?qn8RH-mUiDEI*CR0F@$NOdh{~ zFu2^Tb^o#$4ci!qhB8u4PTyaiOlRfLY*3I$RuWTzLR^n~U_( z`sUHrL2QZz>!WkC^}%{Yr|3r54BduJ*@#^Ez(rKf{ zFyM15|J^W@SEEF$@h-BaKg_UG%d{Uh^X(d~M$9OwXoQ+77h!*dm~xXDDdwjNDjJ3c zYay>24=eqv3Gf}C06*+dLq8~2Jq#9(2B^p1v~aqyg=0hsV3^maUnaFPjhlP%_VXA~ zjH>f<=R}$@-Fwt}8e2C87*O82`M+n3jQ@XNj08hurZRfYGoCdJ692mk%IZf_Z#%OM z62D0QFB>G|(jb2smj=nWG)Ts!K{754l5uH}j7x)LTpA>|Ox7>jBvA|hYm@x1P4d4s z$^Y6U|L@u)CY2S=BPumV)(HQ?)<~DE5z+uX4m|z!IPmaB-UJ<-x2l~OU`Wo!f;WN< z5tC~EBX6}w3`$C|J<=Tx#*^R9JH>va-JZZU@xL^z6T5%*f@kVV#MApmM-tg-88R)-lgNI&tdC(sNswzVk?z0zP_g;O7?3I(= z!K7h9{TNez3JzW=QjjNaw_jYI);5{S^Gxaf@}sY(+p(QRy+F3vn}^pQo-qoTeLmPa z9KVh%uCad~Tvh0yVY?V7jMmp%YoFIpxo^Hf{|89IC*Gzw@6aIKv`v3e&DMD*LhPOR$VvZOAN#CNo%LJ* zf4xsa!lf~q?UQI%V38_s`y_;SMre-0A!B(yK5fJkP(MfWi%<-30~e^BqoH8p5N9|S zTRgt6lVUW(=Ba+8ag=Cn6$}_WFQT@3Bu>ps{xT+=3AT?#t}IbJ(xA0WjaIa2Xj{vNp2<2}ut5=m=?7NZvtCyUMLL$fpA?m`$ZYI%`7vhEriPB&SoO zQaP14msxrm`BxHo`c45=Ot}L26QGfCD?G= zQP}OI7v!9}f^rl{nRhAKzqzo~HgR?>B@KTQ7#||box*D}m*#0^0of#^%Sc1aklmq? zv`x$rDOn~<6=2R#2$T3Xb%TT2i8}x{NT-=jRmQn$8I6K707x4!nv_w68Kc>u2?WMk zst_5jXdX!!%^jKHNFoxsF&de^c}jL>ra30vNeym?L;*`3*EE3%(yOo#$RGkL3SEDs zj~T5Opq^-=6s-|*$+N^}nHJh32GN`&hg|Zwsi!oY1oK4ArwreNobEgaMwgRBf?1|= z;5^YB3hg)@#$kaBO`@P?k#2`PBB?Xrvmj-J)-dCIZG~)oh3XXmp+P4kQncwOl^K;Y z`h*pLaN);tq70?dBooFVaT<7AiY9-FI)X$7q8!?Z$Ztq#Py$mgQ-E0+OC&@KLJOu9 zsLfg@EwD|JjHpRll>?AXQwL-Qd@fo~VMLZ9MKC23fv5#&638v5%d`xRdV?D<;ReKR zWS&@;5}oEW+C0yR_HyLVxReM%J0RR4nMlwogN}&IQcHV-`l4y^9r3sXkWPO@REp?8 z5GxQqO+Xl;372Z>fu|N72MPK+iFP3ynl4CbuHDc@FSBjcP&E zQ6hD0A_derdKdB$lu9z16N!ihMj?Yos-xdfIvd`l-7U1{IU`NT+A;F^j>-~@UdvNv4Jq1RtTCd0P092#9}>Z zgK6}Ob1dqG*zFX9|)7S_o2Q4Q~Ylf&+SwvRX4t7TAl<=`u34MQR-2 z3$RMGs{oLI%q^lP!5J*{)>K;UkVBV&HbB0#tqo~g3d2=&OAf}BvF7&&4JR8 zF?>P>EGyb-xdL@-g6A25v}SrjIa(sDH*gIE(z&e@m^Pkm zW0@(ES&9|Fyr#4lsjm(og2aSqC^XhA2R-DNO7sGCqL7BHX_6hbk#S&ML~ap)9Dt@P>SM0lAo$oaL9V-D{!j#w$M z#6VhkhSYs@3oH_A2h0l%)CK8WxzLL#2D%egcg6;DbWxh1JD4iNQ(JpgW59W z1+A+Eq8pNa`hiKobdhPtu$?m*(9_G68x34Z+YX8I8Gx0!KRpDXkb_4oC*9 zj*yVtv`|FA8o;bbjHNke{g38TVlNXBWKb!f8Kr+feFWHR%1oTTvMN9#2}%@TVMs;P ztiwnHQICXSOVdKD;82W#cASNnB9>2T9nz3#AlR}7z*R(lfcgRD&`Mg&o&dfJ;Mp*z zwBbnG&^#iV8`>!r$U_nsDXFJ@)V;|uOycoGo5=hHnh>gAfhK=I9N8-9DkP9;CrL(lwbUI_Dw%GeWMdMD zCSeS4v!v8QS(T7j7De3vI7{3CtC$1%hImvCWu7-R?P!Iyfpij303hk9e;QgGxG5k9 zIPo6E;fXo`Q9~o6$pP^|`LjSQOdxzPqZ*mDq$)^2anPCqVn{*!Wzgg`q&pz+fR=v* z)^DNXG0F=cl#)Ee?x*$7pqbIq5Mw1}0792~3*|Ipm6fy(O}ZU8J`ED0j*KTV1=5t6 z5m9-D)GnqE0banEs5E!9r%2F{sQ`5+e9ON>K}Y@&}O$96YJSf_mnU?8j!GG!IS zBP{_4mDUA1xdNaI_ym+dfLtwRS zq#a<{u-~xUnPIkIGRvAB%{9q!3(bzE4eO^Fv_OJ(Eszz+fH8te2XcyDVJ(Y9lKC(T zh>y@ZvnbC%Aw*wfkP+drY=D0nOk<^umB2tGl@T)xQ!ld&B}@{S`U~3>SiEGV`K?2W zdIqzXx=R`bO%BjTk%|oNjlB&3P3kAqbfT&ps|E(=xpoe_me@Y?GT1r5+a?|ZLlb+9 zSPl(3^9jq;V_E~?kh19wYGUmrEAcI8fe}|g9e}n}P)(6A=b@FmX?^ zY{AKZ&X@u&0V5#FM(8u|LK;4;4G~5LU=Rs?-J%RDDFPs3iTbV?%X6|OptivYL9?6z z77)mvM9<)lWOws6A{r&K0=`-XwU2fq(TD+z1Y|$xlJu3-vcW=KGawoX&js{t;t3cl zbZA-%W^_L2Z%N z1*{7Twt*qfqZNHOk%gGB}wLsSNIQp|s;qRmVk0j33dO1xES z_7c#31OJ8Z0W2)VzM=8ani{Zw>wJ|)qA>tdK&-!@%2Ib3K$^(bD7F$v_-Mm$B(x(S z1Pwlt{!5EQR)B+f<1lT|I^coAcBQ>aRyS!!@R@LJ157(HxfCyfngC$yEal}y`aMcz zg0vlUCh7GAI8(sUfNw2-8SMl;1@9sj2_CJ1j84KqFv>KrigO^_7%(SVU;2!#gTkfI zk=Ta-?Ba}(NpkQBh7}@d2$Ws69M}W^!=@3D==OMHfCPaGPkVy6KU9T;wh|Etna;4@ zbegk1NE0tGQV1fV9sw6j4vaDAG{oV6vgH7-2IPHuNI~wx&>~`gf?Fp6)j2>-Io2GA zhBUD6LC#q86l$XP{bQBEo50Bu*B?GC; zv<09|!tDp9N>WRI1OFAuBn=4ifGC|zHSic{ps<7BsAJa|ZBSxmFilj>4v!p@Nm^4v zf)s`+7@cAZ-gs3JT-c@FB?Lbd438AELu?4ULxSl^PsT6+BuEP$CjrP_a3_Paf|TK+ zfHww}4devT=-opQYvAQHNEktId(mPLd&{_*0I+AEu0!*GaO}*)PBL)Xu!aw>P7V@> zT}wQR$To*_1ZpUpbWj!PZ74`UCL`RA84PDQ6ftljM-t~An1`mIQuXNdWYa;v6OhrQ zXjwR@$Tp+JfeawALrY5}Ni+?oWDXE?fE&{qL$xNR3gARzNQtG{P*9H;{FQEmUlWP| z+iVt0T!Wi`=ZtDgJa!89d8C!D$9Svwhxhf0{0?(mGIDz*pooQ zWW;h>5()DH^4`EGk!&$RMWX>{@EL13Qv~o@EgOi~0mjQjSl6to2zZi+tStCA@J48} zfHwi)jW(qQ&Xs{s$1=f|q*o9VgC-9>0_=pWDFYXO3vpbFg@S93cxA?JC%D$2e-ojS z2voqE%fLAR{p`4)0Zno$nR+CgIH_VWLMyLWS0eqBte4!^J|N+n!5c=Sbh$Uh*yMqS z5#$FX;oRfpLP3L*jkX5~2^Mq`5|8AIW|5;{@iWFD%?`uzG0VPQI7KgoL;PxS!&Eat;DF*X5V;>V~4P>vvbtN$Mw0Itb0n|&cHE`hpp%-kHri}*9 zX9Dnp8T63&BT+Hy`_OZU?X#Ot!7wE80S$(KM#tm;NbL-4pV1GY$3qtY_&bhK7^?>k zP`L8(wiK#!25kt2H*aeL9U4?f^Nzy;xN3mGnlnO=gWf^v219egyTNjd=Ky|)ge6J} znFE}9>In`t1m==n#vVbN!)mh7MGd@XP@+k~V@$B`(u|#t>>SLA8?hhJ;*@|?5tvzj zw2eqlc3iuGM$C>Y;s+QCD!(YymtdzcT#tF~orI)Gdp{6x6men%*g>#$$Q#l~X#e1&9jZ7_@M9 zlCA?NPLf3ymKG4Q0evel!8j_SDTgwDPewXRAWQ`^;^6P_K4+M-jMPk&E>cgJI2toJ zy~&~9vlYcSMS!h?Vs6+}#Z$E6B)u5+6utusfdYKy3=rRpWlO@F*iwR-q{+szK&!$o zz;qA+;OHcWlp!^kSQ7gHh=pT!!bvFMQ-Z!tX1!wXA|x(p6{sBs8=YY+aX12hW1gOZ zLPt{Cz?5N3bPd2uco9j@Kn)78H|WrCSJ38_>{oXzTWJ_H)!=UicCoT?8YwpW&80ffYffX?rCg3E08j>bqZ#K<6 z*CL`hkub&C`qq%uSR5jMSnTKy2~U)LPMPp?M*fF%$=TzSvwuKxl^9wQ39XRKC+J?J zAs_~vr30xpIBb#NJ#1C6Glm2NLk2?Gwkgjq&NLKGYl+XIfEmMZkr>IK2H;#5u4m`D zGyJzHjz)pj?%=5h`+%5#fLj2%yaAXiL=~+q*ef6B5Z7=#-VDdMqzU3U0`Bn~sw7ln z%rKWl0s$&6`U*=ERWA~l>4H}WRbWWrXXloI@WI&`SU>D)J~)L2=-_~WxoW*|u)ysT zD2A26zefb5m<>C&ZrIlVpB;b(;c=j@!0IB3gO{35DB!ihX$ZW3F~mK<1tgqGz}*HG zA)J|DHYHFt4Krgxfx}z#DS3v&QZQ=xTZnz~Ho}1qY#g}nh_nn2odD(!pCc;uSjDcr z43dt$+6E0ut^`FB3O@&1zp#w>Y*AbGi@@84Fg|FoaK{msCW0j@q!zPMS4yF=Vgq?s zfq~BsUW*Ld4OR?)TbzcK3Rvpe0*5X~(YTBOuyJNWiaIvV`Uc!wd%kxi4=*^ zI|y>xOgIt&Hv()abY)G7EE%7eqYMI+ls*&{;!{!Bof-#!Bu4UCDrTHr!dkX%QU(C=YGHQDLAI;s6=%0L{W%Xqf-v_?0WRfNKg&I~XiZ zfl*EXXw!Uu-U^R1nf`FSGQK8^2tE`?V25+O)KCKeeh+DrL3H9IhmZX&Y7evTA~TDaRZbDDcrU^qg`KXxqD|mJuL$wAq&$Kr~yGAW9h%Y%B;IkASrjx zi|A;J0P4!h%E~)Yas))1K%OzOJ5ceCoF&qZ@I62!VESOiN&$~EkSjgVdqFKMREvPT z0`zKv8WhlMfh7)ZWnkXHe^_i7r6~5 zsIv#L77Dk4<^aYCP-6{?MB7dZie^xKdoXvvQMlp2?}k7HbZX>^OweipMt;Q633x04 z77)2*0!nVUnBWkSE%rh1g1Z%99)QdO$;?qO1G^Q_3UFotiUZUhZt|Gi)sP|`DwL3a zt|lnAqmn z0m1=k=|M~bw%gt>!hf^Hw!b1eM^J2!DNsB@8^K`;TD4@??5(t+weK|3@#_aLEx3N@mJ zSvbpt%>kDPv}3`61}PmJ%)nfKgVG4r7z0O&7}#{srV;`OR!9(-W5{7oxMCkKAW)cv zP?r;C1?CL!vLlomblf3`NQ6ja$a@i(hp4{+W1xp<;RBCC4t9WSC)mEp1jtQEh%uO{ z3GzX_#0N70P-Ex|I89I&;$mY^ zO2V{b&?D(Jvd zAFIj|>;tDI@LmF6l^{lT5={G0ya6U2lIxK`5tQsHs>~DciHOjG;|HLqi1GF#h~Wc` zchO7(Y!=_fZXH!cZ^j4-B~y7bUoVLpKmf0a?8uA0;o{4jCs| z(RO#4L&5gOo#iFusemL>m)_N71qrYCZ~y9Y#a-q1X8)^v8C+c!SMF?-mt&aHWq1Xt z!DiBFe!(-_a{p{Pv4V^XW7g>K4o}+LJ8F+tN25{eEMW+6qxK-y6XN<{bxY@eXJqD3 z?RZ8WiR#IJ$|HBCwuHz@tt&sha=$|W!{O4!2#dqn<0H+DjG1sS{~Kn)38TI^Q69F@ zLJT5}Ptsy4p5-DBP8c{>qP#qN1{vJ64_ul!G=M~>;MqOqnF@c7j?`cQ1Bg1@>kd!`eU!AZErB9Px2DgAitju-uRhRh~JTzIid6xjcy+>Bc$2WO5Z8 z8k_`wOXiCYAiLkj)Td_W{V0K32uGWo2K8L|=}~*)9~~UDPC-rsgD800!>KBq|6LN= zP_UCF!myP`c!+2-|H>`Y6Xo#(Rj>oKe0+TJ>Xn46BK@Bhui5B_6I0U7WjYFY^XOo> z6~O4W$ZwQjs~atqz`YW*bF(p(Kw`;(daovbl^Fm0HHl%U6=C^RCa*3AObK!ERgy14zz>tC)h*(qV1iPZSw&FkiW zE2N@`{_FU0`o0D5wPar4&37+JCi3}9G-yu-!P7m+%!AUcloc-NpVoI}-9pOf2$F=Kg!}t67>r!* z@@;svzpwr}YI8^p{%cjY87_9%I&Nb=Ya9`?1#A?NN1Q9l66G)g-teD?4V!#@tWQN^88 zvMlCg>`?%d8!agpu!2<&FDis!ib=O4NN?^8TUU95PZ|*=JIfK|F=P{|oFmf7da-cn z`Z4AghX|aZT)21Rss+K>f=209Nz9oEJVPVuw>R1jLCW1Jo_SFjoHb9 z*^6tGE@Dhh4cS1_y{k-jYJ`;DDYw&f;sMt5bWRuaETz zjU3&$Zr=oB)XhK?Wu9ecvJE?C$(*g!P|OjThMrPbK8a~%WeB(U_EDG{Zc?8 zr|SZW49%7F$9J9)5pNAF$RgWzG3N@ z%!_tDCj92hHD!w_Z@YaIA}tn|D>kXzikw8omAT8UbYVCkJvx`<7zPN<@xVE%2@5%< z?CEiPtx6BVp=dc0pjAlG4e;&3E557ah z>o-MvJHA;gA>q}};L}Q0aFD|vKP{QsPx}Nafe@aoB;=lamv}$T1hcU|V9&7yR64=> zI#AAqG|``}9e3EA4h{x~gMl+zj>x~Gim+JZYN3A?_~#h@T)QFJKZL6XMMiAt+aO09 z98k!AAq^Z?bK*(3*7;z-QtCFCQnxzs$Vsb5IoUqPg@1cC9QsTlyCdPL$aGx5xt8Nx zIWFrteQ`Aqn;_EiV}j~O7xKP@I#LMU*Uk`X5d6@I)4?PGl3EZZe$ zDj*-9zMVhT2}G#$A_ZbyJ4~_(Ry5*26P|kvaVEf=ezbSDbR2E?mM%Z9R&R^9gyDXF zcz9N=UR8C~mgLu|ci6bkJOem^w;ecuZSUEB44o5E9|{3W1WaR<0i-UpQ4}Z>0jN#Y z!Gr|hbVucJ&VS?j8n!;?`|3-@ZrWL~D);=uI&V+ew<*+DfSHk7JJULJ4%JVP(nJh~ z0OcTKHj?P& z_&5w~>+TLnWPCQ{yu2yai}p|sM@Vw1mK_moAWh7p*pHB~?J#B4I{6Az%g0h{CWKic+=2miti{0cW51T2Tmawc<1MBw`=510wo1Y`{*JWbU$wFNmK^d&i2ChEy#ZRxR zciUYp-;Nzt8&K+|t#|gPir|Xqy`#+iXv_fe^vM7SOaMqm(gpx_McCFqHgEqYK>)@;-iEJVsu1#8%-vi* zNde-O*57Oew^@m+a0 zyZ`p@JLNx!<5AqF`q+fyqHhh!HPQE}SZ-o~7y=L-GQiX2?}pwey1iN~3nKBGlHil~ zH`Df4?e*V9$p0N^9*2MGZH8djeBO0(K2|U1ULe>g+Rhli10ZZFB#mv-892bZm~%`L zBh7<}-OxzSJ=CH!fAf z=`_v$6r47o-O*ZZn1UZpl0P_yjLt!Fw+5$wW$>Jr{*}XskOMVTsFr~eD?^2c?*HGZ z(S8Mv^~U8!zNsL@!1VIOc1O$0g6Vc<4n+v0UUtX6mie@-*lJHpYM8rORQK5HnOGiy zDD5uu!d_CYn~9i4j}Xj~+q`@%887;xKcAq}7MHdn3`-$ZsBNVdjv#C)?r+|AmDeMG z@$|q4RoYQ?QXEwW2X4VD`z*=zUR)i)|8l4a?P5J?#RF8AR?s)kbD0feg>H(QR(5%% zOqRMZ2wihY{>NcySZ~I~{r%z_HHkEiNm+w_k%_x1&@1fWVetIo#rZiXc~9vOo~hK&RbSEupIF=~d`D5D;|)t9zE0`}@Nx*K`*UALAHh#H#&$@Y1dUTL62Q z$A{QB!~}KU5R&7&;$E3ypbxe(6;3VLT zIuA2vq(6ETQ6*&0fr5uIlyX5eV2G}JjctLYj%gb-@zJ7{DYLN>w4N_#7&yTCIa`$QYd9zd z&JlkHEkN%8EC~?DA-QQPtbvL5Y%m+w^^50nqP+IL;&D!=T1SGztVC!ccx zni`#%hVl~Cq1rCTCb`#lxnt&F`qqQeV${Ix+C;)iw`Puk;3de7IhA3|5xPhu6bHF_ zWsScyRa;t(mFlgbco?A$H2SGTff6h%x;;^L#bBpNS>jUoKP8tm^E~$)MPlQZfmFxa zdvHrB+LfwNNi+&zkA`A@qGUa2W80Iif%M*OlzUg)V^{ND5W!)XySVaCx%H+0TUD|R-vTHU18Lt)9HZ7 z|4A@ET@YmoggOekR=}v$VAN{Zq}}-a8XiS4r1FydmOeMwPqZ$7YLH?Ee8I>y98!b? zrVJOa3^=7(zv6HAQ>W-Xe;k)~J9XQT2|Z@F9y*3>Dl%np){9KhimG&e1W=F)qz_VI*mM7=ZVlXw)pO|NZ6mM0uIm5)lwCF1*3;K#Mc8okkUK~f z0%bpR98Suai=jtYR>ZdWQEOn&&>p$^1;?qXd>_k+|) zRntC&JaKbH=c4O3)NBS)8iqf3(?N~4UMP7RM333PaKi<@ZnNoB(ZfZC zhJAxtMw?4u&IP#k^N#biF_#VM?!Y``c<1e4Pj@6~U~15RH0r9GOGjg4iM-ok%i_)3 zAP;n;kYOB>urd?V34Ghi`}cqn=pWhyWU5TJ?5FL4iVRusBRc??K%IhhDs9^VU65cW z{YN)p;sxD(-*xTACLmecX(E|15m-JW>>KB@(WN2lz~j{b!#b z?=<9!%Cnj)D#<>>pQQ0>eZ8W=VIC*|yCP5TZOP+*bSQX4j3a`l;owm(Z*&C3`>4_+ zF3!_%_|zOe^>N$%kOAkr?9IjjSUa`A*|g<$St!Yrt=#Tyng@K{WQ#`r6{m$zstdN- zZ7<=1#T(Yt0cWP+SYRZxHD z0COpSVxtCk2}6Oa;+on|Dth{lSeTVMSQ0|1=bsOM9=GMHC8QW#e4&39>3KLHTvHA) zoo*px@oO*`kt5vg$u)W!ukIIBJH)6)*3Yuj4-5PntYJ$BhiuYx|648G2qKOrnZrM! z@@w~#On$=XN$c|8NT)k3yoqQ*)d!m!1cZTqYK{oh5|;NK4pqG&L__7aO!Q6#Yq>X4DakNQpH^uZEg~IkrhxFYhdD3me}C5ssBlT zBzH{%Q>T9l*Cbjg*wpjS%lgMVDoQJ5r77vUx$X@b~iPwRyV| za?=Rrnqp%Fg#i=D%e!A1e8wc|^On;TA44)688Y)o2atY~i5kk4K7=aX^mQhNr;Q;q zr#UWE-rd08Xsj|_;HoTt=K<(K!zWo~>N>7ld+@TK^p0c5)7%xiB1 zk9gED{{VKVzQG;z__KlAMG)QJHT@yc#?e0eI#^gE1s7Qa=s@-~KVV-V~6HXUlq4v^@w{pg4>2%+5K5=mZ@sZ}g9LPfEINXIwTqP%E}hR{a& ze!O0lb4+-g%@G)ir$3HPQkTPe2 z`<47f-wHF?Nu`C<8t2ESNiA#FCvZ79fQ*rCRj;T0Br8bb3T5+eNIhDvcfTUSec+j`wSS)H(NoytZ z7FAZHyp@ZCboZ)%$Kn#5yoR$A&vCvhLw10*bZ5@vBPfS=1&)gJ-R-jhhNj}^hY944 z(>YzFbKPr*x-Y|=$@y5rEwso71FqEs6|zfHsp9}MHh~!v<{-N|bB^b)+AEw>dpcY~ z@c){;pp#uX?sB}sQ__%!6vj*7+2!vM{KX=47Bu76l03nG>|Ue6!N56$pA(;29!0ZL z`PA0c;SlHI@Sc?M$sp^?HDAwxf5kgG@JHmY*mv{^xSL1PmWxTt@LddPW!;MWQV{A$ z42y}*$V?CzWZ=QofL;ajygV)7E6CV)$nM1>1g~W`PUpiJClYU$dw0vGe1lm!KfO++Q|5$g^p9>*`h3JiqITg|L7!o(6Wj8NIvfMYV4>pj!}FwGy0`|od?PqRg8NE%DlJMoN+77^!GUAkYDq8G zBONd(e>L)t)zinl8-Tc*jE>Rn%F(U{^^B@VUM|0XlXIcb8VQ=frFa>w&rqyq3?n4M zGTE!V%lc?UMYSp-k#c?=(?O~ zl8TX*Ya^hZ@(W#k<69^s7h9Etj|}0Ar<6|N(2M0KiYJ)Vw===_+4vPR|?RIkrd5VSx}xpd;;z(a2L~SE#~zO)Cqfv1kMED& z_#Tb&u)|xqD-&4s z%B$%8*h(#W$zq+1@CsFl#hS zi3fqyWYrTyE44Ggwv-as$k!|vLN!%#U1)+Cvs%gt^9Wv4#De7B)2koo+8)hSq*Qb# zphJZTYCf3K)0Doe;Wb@i-a0DQ$S>3&y1q$yiQh9R0!m}C(RCio|jTj(t!7RL3PM6S-Ue6n#< zC1^u>y@`|LCoI}&e6uJ%t#HTLiIHe^kV75IO#1XfvTLS`otO7S?p(dAr)L+_^OsEI zq6r#Z6=@FgKqSM(4sy?bO`?4{Hb-w|3P)nQBaV$2^~w{y$-e86|0un@c#FZ{C=6`V zrjv|$r`zVsz7;t(C{7J=v&LlI@+>QAlaeq2b~k;&g(x&2l2^`YJ6^Wcp=ZMcAiU4l z^J+=yw{5pwkuR8@N9Y=qPqm{Q7M^KPeih?a)&73Pk3UEHVGw11@+s)!PfkKU+YqkX zmC}lz>61Lbx_x0V8V*yv{qb=~2Za6tP36xNhNISYg zB!`%wh}%*Z_Dmap9CFlKUa^Dihc=u>TCU&A1PBsn<5{s-P$|M;9ppDsLm`|jiP z?CrZ>|MFM**mK|g*P-wJ^8Dib#q^hVe>=N4yd2!ki+13DLRd~luy>e63H%fKpe4H_ z{1m*4fgriBetrF#Hv<<4DAxpOC$U|Urli5wyTu-MMu-q}=Hn+mroVGvynFlc`T5(k z54;mlMiF_!y&SYn0kz!jSF78>)s>6ggZadzu?qqFEA-j36arG=j|p5`@COuJq3vMk z!Rq?cJ?m+I5>Mz56|6u^nTiz7BMB4grTgWIZR4JkNb85k3MIarBTP`#Wl8%QVip0Tbb0b66JOe?0( zQpo2_ze*XnLOx6!(ixP5v=87x0zPZx>+9uLa5P?jLDAeBLa%;NeuEXJApCoyK3o-d z_lxqZZkuoP+4o2G>@Ur7eXqO#p`a;dzvFWt2l(jMU(a8X{%Aw^flncGVpS}_L}-yU zZpW|a)a3Pq$LAKf1`kD0_|wM>Jo-0#w`0=Iy&Yf3d2i@t{85`RX{w!9_!Kh|(E-CG z0@cocvN$=ld-STnEs>{a8ZzO>7i^W)?#96TP$+p(VHo4;{Q)@xAX+b!KN2 z)*zw*THs1cbC1JK1m!+mGWMZWvmg^Llg@$VEjizftOH}oF@-V~b!Z-4wgJ8U-6B69 zYP6MpBKqQ76aO7}c&$9TFBClM9{~0dW++L2tKNT#DjN_Pl&vbATCF3}Zmw zq4lcx(#0Y)otbZH-oHe5Ei7M1|7db5AKeZ{86|#h;haXX2{~{#Q!&U=eW*dO@DqI5 zNW&Pxi%~=OqjOo+c_VkL15h%o(ioT<1^F9(P9UQ;d^RAH8z?6ZzMzbNm_9?CO-tB+ zHd%i9pE_B2QrSfL7h;+wZwtdQbP8ji!ji1DHAV&zshH0%*4Lz4G##w0sTsf^D{S3q zg2@<;6p@m9jxf=(k>L&yVK5r328hrcl#W(&$$Hs=i zS>lWe=bCjTvBLNcaLqu9H|4x4lw-PoWi>Uqm610?O%ol$$I^rr2NkhET3NGuw&fc2 zmwcH6Wnu$uwR_q%B2R&}0b|4EqBpPCBu#w9;H^Ai9;vsN?WpRkyy1dQb!3^%N?jt- z%UjC0=zCn_;#;$IrC)wxbO#MI>U{X8Y}t)i_8Bb zB7xmPWCkYT9@tp>b0g`q-?MN*$}(8zO%Ikc{%#v~C-nF!Hx|Sgh4he%wzWj<_EcPyI!>=Bm*Rp4 z>0xtvJ66f0{^?-7uI2;!5*~vz8*<{?GK@mx z)TANy<+cui3jr>f)-UBg4bME1Cb46?B6E14l zoBKiBZO_ax4-b%ZU1%MjQFIj*OB&!5xDrWU@1sjiQJsuvDG1qr`7KC+cNz)j&B3wDC&Jxm4N%D#<pY)t zo<>GyK{kL)B-=0#>L@Pe;fHAmkia+ADG>+@?Q8K(hoZh&Bf+SL4hHpTQsB zfDaAuWPu~`2us;2Ajm?x2LqNrZV01NVm7>S=VC77cmD+%sl(buZ}A$u4C&lh*WeH{ z-`}4fFHVPlxJX(KSMGM0;YfS81=b_2>d)lL()K+L!|viScKPsz4m)>m=gk!VT(~Ip zAFdyrLpC;n{QRV`5AS>6jD^^S6VS#b5E?aqWaRZ|exl;U>9D)&tiCb145T4AOMJHR zz-|1{4BAs=hqiuyNcI=T!yP{5J1(9$!?|-vPaIi)*v%;qQxIUxzzLY)3-hhV3lDJx zJXs@DQ-Rxw%2+MsSTn{S zbWQI9sO7;txN4VF9l}hIi zhP7~i+pW=1;y6%h*-90ngq%$nC4@f?z~wbbAx1>OEw;dsIFF8VNGlX~55WLn3y~np z8zk^-4G?=n{b^$lE)|ch9=qG$-#pk>^59q)2-6JKjXk1}f0nnDdj^c^UTT87+z zlNwjq55xd+KACe4!upi5Mjp*2qWk;|3E)b98gMFAiX*jWbtQVG$|hq@dnnMja46W%zLd-Y z0jLUE;lrd`AS$adW22|N!C7G*AE}pA{1B~b#cjaBdbhi6-6NAtP;b3yT)~05w4^(K zvjO0|r@BQ;~dLx-i$Ga7at5UF)uetmbtn=xso z7Uf)NK|{)q({F$p|n@{k!Ldzq#zX3L-W89R0;EIQRPUw?YMR*Q|dAE!;`7IZA`jAsIT|Do_{DI zrS*>tzx$nN5b?|{g`3(ID&7Hq*2KtDCufWKDh#79U1>)>MkVF|9#P~4Y1>hsZa_!J zXpJbjtuaN*ZC?Run%&crLH;}rB>%#xCUh*AArjGV4XcCglu1bc^3KyG6FrD zq~XV;4V|8dyQL$@Ke4hD(4KIVfm#CQYHuW1p)3Md+WporrzTS}q{J))F{QCSg zxD-wNzEM|@il+aiA0!)pnkMA_-Z0@!Q%bXF!>E7=JFadp|9o3+fVh`ry%7KWx$50X zxNCwKBn#NtkLOuwz z%wf{|4$LguP=nGPXtQw#H?$-I&bA%p6N)F@^TXez{;s`*e%QZ%@y&5 z#ximd5d_mYYj1HGSb&m9$PFJz-Q?P{` zq=bq=tQsboj2!EQL^uRL`Dy5nhW z5Q3*)-iLTG@me;2of(FnXP==+{}mgex9Ed9z+q=w`bdI+U#wVuNeD>2eCfeZZOVhb zeNojpi&CAbi0QqJ0|Iml4$TIV$4y(S%q+!~8++OO6>>NKy-jiwK<4Z}35&w2IK?8}`mM z!srOLLQeq=zCaxYj>SyY)BC1em33Rdc1`CcIRX3;pRWSnNkj%0XTZZWc7D9ynER6< z^1&NaW~xtrxgi8&csm;pBR8MR`7}V&7wAeQ60jJOUi^)ua$sVU$ZD49L>U!Kiz&|{ ztUV_w#6i|$wV^pojqd3R4fxvmyf`>pdCxaWDXWt2;Q)WO7vJeGG!!VZCcZW^v?lJFKX z=|RF9XPAKtoSJ1y5Y{C|L#v-%wpWnJJgCh?37Y+IB18EjeBuS3wkWaSye z8f~wCj~X;U@YkLn+B$C-DjVL|$R4DdFBd;dCLJM5h*$ES&?McK2ds2%$8pCUb~u>L zR_&noCXs}XPbo!B2)X@ph!f5B8-;vhA)_QBZ<0uP5nu@sBI1x|5RIc~wC#Wi66@tA zGMaE@LE3}J=y%KUihUc#+HXHV30+4#)}_RMJJt{L-B1L0N9&ip*CyiVBT3I_{VO{F zCPdQOh!`QIyq3LBqM#2e!qDq`U^E$0mV4|Rsp4K0uxS91+nx?Fld1eVQo)boO# zMfzUaw|;^zomc&M5JX8&KXDeDaI_zP`#7>PI11Gp15>iB0qk5`3*lixcg9&D6eXCX$wgNsP3Y55V-L=Rf?fKajx=X%)hzx2X z=nUgI4LYMSun^T~?Ow9VLSF}w9WVO7xsb&>HG5xC}i6aI}kf3)hh;2&zxH{cQEIk{dSb)i5M2eil z0r1}gDGOmY3K2CKN{awzK$yQ3D6;J>e-xYDxVN;nhO{?jkvO&tqdT2uK_9+&rm(Eu z7>Righ=ba>OIWH9Bor%F6Z+%wWwp8|66DKr0XBP1QB~$JiA|a#xv@w9kTtSE3o`jX z`Jhr`0;NnVL4SZVW~nrGIJw`uJ(=tkPWg!YuhwFPgtQTMT$seEE6}WMSLg(^e_oZV zy}JB_Nrd-46B&p6{!+EK%XLd$f(Xn6&^@2$d*o9W6r^&5FQUII4T{pR%Oc_$G^jE9 zCW)1@vOWPK>eFx;N{d?iRoM=4M58QEPK5a;O4zaX!FDfb4O-}iKH=q$kAsIA^fIBq zIux&JP_;<4kB9#0wN$T+ud8<2e~^_-0h@`KTt8H(N9kE*;P+gMuKmi&P+tNHA1Nxq zQb36%83KxthVoJUe&nl;(%&B`>si%vR2+#bui}MnR1hx>k$0wnyb|y(0N#}VcENyM zX^<`mq@#x=YKdZeN8!ALuT!^@K=${S>^%_48Ky@dEynfwZaOdTVd5yUe^yZ4sh%#D zGw6Q?WxF4A)2Hq3PONt~Zo?(S55fvlu<{NQpo@d&@87>ZfARd|`MbA}Brt;<%|H%) z{Kogml-U15Ij*cvD>uw<}xS*)4M5*TkAGM#wY3H_3Bv8WA zc3%6T!b?S_&_tk0WmtBBe+8g8Zv;L-S$hX_y;P1;Py^Xv*p-HBd+HCi*kLx?HSW@b62kQ=Z6 z=EgY?-ma<2l{$E(U*`pxOL1Hs6+i%c-SLFFvg46Qy-NH2@l0nt_-qn6s#n}&2O%eu z9s1&8=EOp2?Y-;-}s3@OPGW zlsXu89jQv4mDc!3Ypmtldz1hl4vO-+QQTP0U`F3QE=6GY5YqZgoXuYlIuxk;i1PA8 zdos9gR_#E0GGEf6l~zHL>aA{y&okqjC`*m82zTahf0<#Fghr!D>KRX>!2BlaEGsl8 zc;9^Dix4y}?lbmqDQ25bEg;)~w};4`mWGaUY=pR>xnem&^rnX#CPmBAG?%h~yjH-F zQDuvf%HN_BOXU?~us}hO=x@3_CP9+Ty-$2W2Dv`0(@X00+_mlolBPf^G)G_>v8rA+ zQ%1aWeH_?z&pW<#ee&+yoZSenkTup~9c|Ln|^WgWufv@WBkc&_n zfO-Yk56>mCTF2r)xcxkPVOu+^nNe`2ZH9>)f7cD(iNA^cDm0Bpp`&L(mIY9$gvO(Q z%x>_A&^98wot(t{Ip$6Sn|&p}WP0GjfHwSQ3{PQr>yJN`b=edPYO5mje`XPR0O_VH zz$o(Js{C{(u6p=B@}SBg^sI?IL{cVKUAd@MnDP)E4?4?@(2vIYD#ip0sqGaxplRQ` zf0V@oDATb5+K;h{n+oX+P2~iP2nYX*!@~wBu~f&U zDg-p^F42~YSTn<9&a}r6yvnFbZe~t;h8u_Gts#}-Pfk)oD{)jz*p`r);HYbD@kdet zxTdO1_+|lIJM>Af+67g{DIi;rABlt{e?=Kcq|xD$Lpvo#v$&uI4d?&auZSs|rS1B# z`^NB;pZNXCG1iWXC0sIWI+9@{CBsIK)oNs{R%4Y7A@qtJoZ7G#(I7PP zUGPlj+F4F_$T*xiN4179k5YXAJZLTX&H~V0_`tR0oy-kaNFM<<7uZwq!q@S%Ga~^A zI;8O1KTK;<3?yc7MfA`C#E$4$Hqh~&CR(5IHLVh7fN;7>PMOR5fgBY;=p|G;z{Z}azd$q z7&=MAKtJs>GM^bCoio0fYqpuDDNv zzz=#(WIM!QUb{Lci0$ecf9`Zt*0bdt^tYPBgT+PKsQc6vW?ZeHCSGXZ#060s=(?*! z@=L|49+K5rCyYK;s@Ww;;;27LsXQ=BnrN z49P!lAf^OWrZ6pL##!Yhu*!Mvb1x~LaQ76eA>Wrx`)!KB@Up~6_MnV(2>nGNbucCG zA2)DnnD%-nZ}1?de~PlFrXQdN$agg;Lx8gtS%Z6Q9^11JfOKFwK%9yUrV;2-oMDR@ z0Nj=j;f)@zV&~h$I2<4dFZ0Msi;87tajCQW^8?sQ7$;UuGMiDF`4Z z38q-7IgMg|6*Nx)Yi%HLU1VGI8Njz)|;fO__w(%^{C$LuGtai`gO6b$ApAm zgIrXhohA!ScnHB-4#apBwCjXu-(137k5yh#Awuf{iQj^ep*{+JVBUTzzv63O88-(` zQM!&<*qz`IfBy*&H9iTAS8@yVcAN#WUBOuf6??lzNI$UO2dY(E`ZrrVjwSMBlZ{T! zgkDxli#ZC+ejT$8jBumn$iZBG-O^x#AuG}Nbu@6g^usQC7r(w`xexxsb zY`WQZodf;8=nkt<6A@K7JLu-h)Q~HaNO@Ux>hut^5TRgF=ixk@k zD+u7qe>5R*!=$v>D&C8iW}1-x%O(i77)$&(FsZoBL1c>~EZNAdE6)P+e#OR6CL}i9 zXH1jE-RIkRUzkP5i-C$=0F6!de2KB;?aw)sf)KTi1k>8pwQolG7S8Jna0sVt((vCd+W!`3W-)z`{y z2-PDZlY}QKGK>vT$V;TE(T@1J8tsUmL6EJ|MGpc6TS8auENaii7WW=0=_NWztQm~p z8Vwm%sKH~7)vXdcQQa!Bt?pI{Okn?9e}j#onWU4ODOQ}C+C0hNNjw-Zh3;cuLQs)wMJAr zeW_$PwI$nJWl_$BeQ7Z0ZhWcc5EgFP2A*ha({TqEr!5gf9cRfWbRQ&J1CqMhf7dMo zjO|r=hJ&`aZwItE*ChiRpTeN5mp6ke)2Alh777;!U1heop$wOrUg~}jb=bpI0jV3G z7=;^kWPCx}{ip*)^(r$NhsaC&k-GP+Vk`3o!Q(on<{;_w)A7}p>;Bi1);%uPU#C@l zvt)W~E21PFJr@&>nDS%F!jG^Ye~|}{-|rSMN&1llEE|Q$J>1u)(?=l2=9e6V2KOa1 zIq{T4;Wq#3PX5SLs$~otLfFaSBLau)DeN}nX~cSs8!tyS(dSOn%O++ZqG%IZ->}e` z<+3fC?&L-OC;~)pn<%IO(PIA6?JnGf>8_lT9ltBu-R8C-9haEtHe%V?f9|J4jU1hTFTE_Wc%B%~-#^lP7cV_q-6PMdPJY$#uqO!O-!3Ji9^5B}IGj_i?B7AW)_ zH*!HRPvqF^&1d4)xD6sg{U8*5HDE!TIJ{IOU}@1a$F@m zG-B{sK8OyYpK3WgIHGHVO9d|!X!0_3%3ou}&Bpb4?Cxc|Hd(fBu`QY^-B-X5J%O zkLS#(^%W6mFv4EaFqVEyWJOayRfEm@m9p4}`st5D&7whPW$g(x4B1>A!0tCD7(`zQ zaw;6RU?6^35kerqqV`uv;A*b5Mc?M=DA+x^L2uRoo6#suBWEPQ36kCjNnGeys6v?b z>3K|*w&<3IjzGRTf3&_1(A^D6CV!(9jOK&xIN?S^4wB%BzV^3%&x4V0^c#Z{0@Wm=HHbQ3 zoCb%W`XyPdQtCnj4<#1@(W@;uo#vav?KRSSEN7e@I71)qRN0L;RX_Q&-bw z`WMm&H%Scjr__Vkp`dC-urX>yEcZGcO1$O7QYzZIN@b~52<`D`^J+CKnmL#gmkmv~ zCuM-{(TTQM_xo`Aaz#sEYL?ReO!&Pxkc6J?L`vSLCsjVZYu4a9l<`190 z4eLt!XjjkPvO>Rm*vlRkKHD2?+G?8xVRij!iwVx=o?{6s=hAh@7w1rW;|WUmhr`^d zqgcg!fTYrq=QYBFC!PFmcx&8W$`T$Oe;6376vasgm(B8v0Bp&M(2h#7-4lmD#7eZI z!4-Fwf04S}w8t4yx6ja&Yj&|H2y7-AmZXhKS4#djbflDNCDr7VN1V}a^pGgpLBp8m zX>otQs0bOA$vkTrH52p&2l+9>lkO{!bM0@Ez(~L8d5QiY$YOK(D1=@Y^C{Vxl`3Fj zZ~D?jAiIqH(&nqlr#QGht5l~su1R&#)s|Q2e}c8P7%@R`Il3QKZeax3>V~B#+GLUi z99R62Ixf|IAk$p($!*YSM&S5jgs*EzAeADDlzHwFVY)ZZ2fUh z3KP_q@Qsl(ZPbWfh_p#H+=??#`yHec#fr={(6_~E+LZHkJueK2Rh3bDBDt{kJO*~SC;`auw=sMeBQF?N2tp zOX+aNyu63S7z{3Q=Ru;gb5GD4q{ag->RZ|FRRA{#N-pQ_-tT1z-|nqz%3AG#Cs z@5;Mn^9?dy>@5hPYp@$AEmPTKBe@o>Dx~@tQ=~C3@@`;ky3sEVZ1QCTil3?Bf6%hg ztFde9Q}Unm>Acg(JQP|E7~M5a^Wv0Z3v))ZR$UUY3;HwmE)uO-g#q;;nVo4qmri1y9 z7R3o zEF%mnn5fQRN1Xuz`=(jmO>Kc`N8L?3>f2k3HwAtJHd3AiUp}G)$n=rnbrRF)-wHzP zeTg|HW+w@ycpkCHHr-_WxGpSG(^w7VsKefALVYb*oBbnRY z=F@L+%L}$}&VFDzD(%2KC}JpWuU_SNAH_zvO<{JrB%Lmgi=(B?L4lEUtgYw}Bk6#_ z?`9sHAwf7X`X6hm74el0Zn`4J|LXT^#G5XJ(g}w>pCc zQnMI`TTeXwNciP!4LtC{{9xc$vd#4%3{9#l6pNkO157+vUn^dMx^Ept&yDif&ymDT z&)W_J{AjCtYm#mXbnQv`OwH7Y32MS;pPdc`$4z;4vSqiZP4f#t2I=O$;9_Q2?k0GTEVab;=Q3{ifSVe0n z(k?5sAF$4OJn0w`B^$w{x0fsibIHopo(_i<&u0fS!7xto))~S>R?J?=-Z?y^aiSF; z51-MI4~GS=33ZZ7e=033hrqRuSTSpt52=sCf>9e9j4B6dcw$gG91lhntrZ??DWw%? z4uA703=}Vxy}_u`R!iei;Tcwm#~@Vrr3axdb=_iDrbs5+OiZ2;{;r%}8+%7pl$%c~ zezV;VJ?P6)voSgQZ82YdDd*fduU_9>lQXCsQX12?^C9i&e{kc09k0ICv)%^k*|ik; zu&O!aq8okD_Eht#c1DE&s{9(Y;#4Sul)Dq_2?nUs{g*_YOT!7ej;^F zwm>{pafx5xf|Mb!!_&@0lmbUWY~{LEn$3-+ZBrWc!(kHkqNiI)1g(rkRV-D$shPv{ zraG)D6;_>`fBU>6@&`w(O1Tt+I2QV<2Y~Dtfh^YVVy5^|qGOpo9lcoV{3v{D|AtfxGb(ZFD_M6SFE|N7#ut zeZQ&7f5lvSXiF-X2h!Y8>n>?3-2l2!DXGu+>@VAqk4F1Sl*`EEVsM7WfP(A_dZP|3 zYHlRE^wODPNfYDBtYUkZ(1K=>V+k$l;RKS?cAWCp*H)iDB?To+f#viwQb8tqal=}g zk(O$DG?tDXX1a8jm>ZDMeWlCgn3pT1_r{QBe=QU?zY|X(hLud^f+8n$8Y0Chq{zu* zZ40j7oQ;|PzZ~{(hKVvQ<%MXPL}mq6vL|v^p5l5@=4M{SBr&sQTGAY*n?jdV=ZX%S zqWT-4b5y^hiH}Z#jf%TOkn>n#y@q=;#X=XMCGqF#`uAlsrM&3${I}_a5j`QgMW-ht zfBs2Y19)eOXN$!$&>c$i-0X3B34Nid*8PyMg@wzC?6Qw7G#jS}S?u0G8hBQkNUtja z8g7w_X=2_#=2>fR`r^VdLlIw6ukyVsE1xv`h7I&~{PERaUrt}We*Tx~FV8Q|rr_;8 zefR3s#o0%p;7`R6JVvh><(XIseXYuGfA|-dsWuPFe9m883#GkUO}^s!18zHyXtZ3~+@36#lJa{xmXDt5#}De=!I_ z_e7|ZktiYYbb&(86{583gn4-8#wsp%LNgYUHIA~Mh8i43O7KnFtZOEbkp=@kje*h# z;WX0XUov5UG6q2Sjcj?92JP=pOh0kCJu^%9MQ9lNkn!4@IHfNWg|(fT6-Iq$p^_G_ zTNW~4>>l#6MoNiED3^1tTM!f_f2UbX$5ZkLvR0i07W`Y8v%*K$2uNDN-u*xztisH< zcST=S*M98oc2d=wJYGa%lHR-y$+kTDN;Reaw2)}Mq-*-Xe+_}gx@@LQ zoXiu9!9b>B4o-TmhC1tTDXbfja1DpVl^dbU?*T4An%NE2Orf3JhH5RRKP9gr__+1J z@<*~0qF9TTn_V*$QjZoP%%$MUB)=UEFgx_0?9K9|q=!@wq1LxD6+T<5|JoUkKcIji z`}d<77?-rYv@2l*_C{ClYPhV@H`xBx9mf$7qGseJVfw;n%m6hqekvzNa|+BtkS| z3^fKmiInE9oyOT^g$%S=r)uP@4(DDDp0F5!B8(YZY-p141~8t{e*t9NlphN}?0#{_ zw23SI(O4>BBd3MTY4*2R3l{PH)bAR5lt5@HuKD0^AzPvnf0u?axc?~`RRT+n3U0@x z^HdSw#m5V_|FqD&P5c*&zPo3}OIngl$$6oSb@-$KXU$kFaYaJU^f1WfmP}tKhC4CfSi`Rr)9u^?lw!FS7MH{@=w^i5nJ*kQ^k{Hmk zKs`weeAsS#JKwkE{j*QX4T2lh||%3m**go#*GZA++7S3i z0g1vC@nrZGe^vMh*W z-e?OV>1n$H#aW(=Bl6!_O)Ux(%mvM(%uCCgU{;WYC6hQS<0wdG*OM|ziga?b%iPF$ zh%DpVf9fhLQTI1Zf#uwkaQp9+mVJK&^(_`%w$<^~)Qg3oC)88u8K!(92_tS`DkLb3 zUR88$c3h0rj8)B9;f!}ujem8j>mZK&4FmCKzX>J z(6~w-`TME7mN9xBYLHRRV6j{`??ujbOV4RI>A8zTFR;H!vy@*-Mo??wi|bLEAJLg{ zc3wm7*6Lq~g`hzJlcw1E?GV!Wh%GP@HeLi%OpUxfb=f2wwPs;#KzIDPnwLx9foTx(N!Nc-NE$74uI9N; zFtWr?9^LXQXp~wyZCh`$fGq9rJ2CI z4W@6FZ$j~AVhkpyLF?P5yqYtTy63#ijn6Z|V6R}Lsjy4_-fyY-^27R9%+Az}sizs%X! zV-?SonItIpfa=`H6C_rxoCZXBbta(jW^$*L26;n*k;2)i&|r6@uJ(vJBdK7g3^T7) zYm5gzO2zSU@UVPT*Klc!ePymWe{q;2nE6=qdjs8?PnTpvr6i!07MomcaS%X>W$)h>I|jUV#a@p1D=9i`Mx2#=O$`}_J#jz*)#(fU%VN~JN&SI|Ejb>w|QCmPOr zv(_|)l0ZY}QE~6{nB!5cUr+Ur79LhYE$~aHiw5{yb7;<@zCa04bSyHGe>X`xFF9haN6z?YHY1c>z ze&k0w9f>LW&vPH=;D^t0`Q84$ALze_b8T%7E1Nc#ocyisX}Az`{tlY)!%j-DTQV`E z`G>cU8-lvXja>KW58LL>e=Ngjxkc1W0vKk&4U6My^&4<8-7-PX{71|8kSr8A^4-6W zGXF{6ryKeoD{&v{5LmEl#~~ol<^^zP-3GKu6vea7Nc&Nr9sd4 z6I4#`_&rYcwy5iJ@dC>W+S{pc(G1h1xBl7LTfva@1#+uBO@FIaf9qn=H*DxxOHV!X ztWCEAlX6v<%zaxAJ>cbAi{2s>(lI(3Z%1rT`CMCNvSlbRo7#u!+ZKU!}{*CwjhYHONTAb{b=`XjXc#8RbBa)pvqdH9US|*< zJs;@B1L4^(+OrU!y%;=_e{hG$%3pK_tL8J8PKp^O)TyBo3D_=l&%|1>AlSJ7sf4DtD(ERb+)%p^;e)sVlb6HqFfIor> z6;1fXV_Y|lGaA;X@T@)rmY09V*#k@q{M1X(M(lg9LAZ&)#>s9%#8su91izn>u$O}P zag-Wt&(khz(cO4fEEaT%Ov)dBz9+|~q&jFQ`UN6=Ls%1U;Hc!kq;>%cd!QLZ7feATb{|7uz8*&2?);wV;+b{_P zX*A)<`*;W7BtT|8LL&!t;v|cIcpxX+G3Iz$(!6oZ#^y^qjPFgjGXm?wg}*b^e@wx$ zO5h7ZViNg=x&30@smO5$>vc6BC{{6#Vh%J6(fT0FEt84RexkD?0i!aP7oI|Gy7D16I91`;q za+M_n(NJ$?;2cZjx7mA?B2Y`+f1r70MzrfoGd~UARNpZjk?_BQl@3{PUbzkE&Z!t< zyZxM6Iz42rm^k}xwHP`zeIWkaK@h05%XWtaot$-Si!J_AdLvWLN6CFpUo;8;`IAeQ zKv9cfKn%iBua{rT75$7Jh$ER{Gl6PVgXi;qtXJrO4$kOG4rl6~J%qHef0~yz&wK^U zrS!p_c#iI!%5+m0n4n7U(Y6$82(*aTKFDGPBv#}|vqVk=Kj%ZI*)BtC`H*R}acX3( z00ROS{MDqr4AQ|!`>>VYb`$?bn1FMKzSx&$XE4X|YulmAf_VALTpcUgmzaJwPzYO) zga#qV#5=UsTN|aR^#v8$e=QASkm^TJTdDg}1Mw&bA~SJFXA79g+B5rT`JtzyXcS!8 zpAgOuJ%-(xYMW%tguY~B*k&?*|NcVRHXW>rIZfH(aa}CdOjVAX+r4{mUy&BgmPw?u z0lOf!aQEQhtPLaas#AO(jk2G_c7YQ+Uxn}jlqXNUZ}qfmVgrnvf7fb<6ms3mQ_tVl zin0_@7(b1U=&Nn@)e1Tj*lz|(;Zz?5B4>D#_Ni}@$;AG`55m;)W~?}wUqCn%#HZWZ z2Y?-P%iDHkG7>vcGhS@oQyl7hH=O3D*=@r+-*-+)YCEvD4q7##vv5jcsBw<0ADu6C z(N|F8u-l~v3_L@dfAPF2Z*~ORQ}HJ1MVlPVN4(5Es6tG-4`>hT>U!oXk_CIWy+A)bSEe|$=MC_j~rxT$DVH1>$e z128ObT;8odJxvtYX`lUsDOAeUs`yk+fx%}N$VkajE$`fs@5mPz=gpxt@*O*Z_#waD z$E(?Gc?TNu>AI=9uQ6wqW#=#(w|13tvUJ~+E3zwvj2XftTxK8R@-w*Eau?Um>uPR_ zIu!f?y8>&!cfjJKUd&3^xQ&O9 zZ0tlQah7vS<9iw*n8T`X=Zj`1UPoJV;8B!Pz4%8Wigfc4@1^LTmDohUH%jNHAp{tN1-lUbS8tJ^Fi!92w z4aP`&zA~6Hkb-ix%6QjO5HVk1xs>DMgpWjRAjiisD-h7Nf6-19WUZOii@s1a3RYVJ znlhJ-)0K(D_X~2O7jh_779j(}8b^d8A0G#iV_6ZDs1m}E`EJtxF2-sZ_8B+R-C{Y z$&O;XC~07yvkPV#6Gbs;T7U?(q9{pytd5UUr-OssN6H3@ZbxiR3jNYQ;qqRiOD#S9 zN&Hu2Q5EU*!$Or>lw(0}>fPy`&fwb_7EV|Ee?+}1N6Llw^b7RY59fWCCs3}t`R!c0 zt#(zG1w9Kf1etAo_k0aYZN*HH8zPrIa_`ykNvf`6w5C@UqzXQOkKaKwu)0iY%=0P16IY+hu5jy;w zf5Pi^R)(=XRxT)s3_K7`AlcCIab_S%m#@%%Xev#bgvk8L#z*Y>w*ON~%*wB=$OP~7 zxHzgua2pFMO&KOC(Ds)`no`A7;TcznXTIG1hrTl*B0#_YCgCtbgYb&vHZ0GDuC`Zi z2=zJ8cU*w*=vK7es!wOrQ2@|e{lmS zXDje_poa#SQ&U&Zc{`Th7L2<68%{p<%*|jeLB(=>>?hXsj#usdeJ^=^>biy0i{6F` zug7r)l;}c@B2HU~gn&P`h@{y>pp^asJM1!o#rkWtsEX#>6y0Rt=&kI_H*4PQcvgEz z4|hq4;veEV{5~zYA8k2I}1DEP9#v})9s ztmK181{O`s+;Y3AA#@g!>m>X@m;4gboF-$Jm~~8A2YAkLHTO?Viww#zChkDtxcY;} z)JZtKN(q&|fn@KiN}g`T#Ezx`XC%Y^aL!n4(!y`nG)I_~7v(Up%goxle=VTvmUonZ zlheoCbga4|{LRe{yr5b*`SXREz*F?;v>4i!!=>`7Y8l0+vh!H_&~~#%nPWPjhqVo<4Qt_R2O2EriwD$y>vUU@>#;s$I?hxMPFm z`u4ViBQZQa6i8#jLe;jN^ttdP(ql(6*s2nr_7%6*3U|teN<)nze+_Ym#8IP2LyeGz z#s&Is>0nhQqDGU5;&cb*dUyCL*eLx7JQzbWGxht8^wn$X@hZTsw|EuMZ>;Eu#iSH; zTRp|L^mI~VtZDaa4Y=Dl)wIVdp)oqzLV+rG|K6b>?w`P$7k{kXYRAQZGMmfA$T-tsisPc>?wSF~1!xBWUk2dz$l(eFRz|OL}mnUbL$! zhJb`ABZw#m@C{rdTORnvG3191#FLZe)IZ#;x$b1KGQ5$cf5@Pm&2H)|nwkt)$Duj_ za7HrtNctSmp}jH8AwNQF4DL!vsXFnMta-XezxG|Ar(V@pt!9PAQXCt=V;0od?bC3w zBhWjL3@N8>Op`6!*buD#GF7tvZh%Br*ruXbw*d!9S6E0AdkY2_)1ahhY^GWzqj66G z5zF9MDnxRdf9W5vwJ<8{?QlEoY+UKt#tnK>KC_Oc#il@|o=hARq1yMkYNbOTAxo2u z#u*~(s-Y4c8w{7;GP`z`YHiuhgkksuL2HXmR}q|d- zbU(^cF$X)#X-fUfBym<6gE_l*AV*qK@n1hY|9JlHe{Hv!#>R15u=H;3QVAm|w$7&T zB-yRXrYQ6*wv%U}cnngrv9b2lx_06Ig-OIa9rTI3Dxg?j%6Bo*b49y|Ld2Y_GfL0XNyw zNLvb{f9SSh=|(qQ1mPQO)|flB(C94*%^S)1o@+~{NYc=_Cp4jDf7HD<#QLs74H|vk zzWA+l^gJ|L8LB4F9^it{c&c6j_GLX~&Hw>Kl}Kg`&a~7qTd@%TKI= zFD-fLsiKThbXRvQQ;0()MH%LqTEq7VOS6hUXyg+AoW~frHIY@NuqU)CP^)G3`;X03 zRk&@LC{O_qY~>7d?+|{D=PhJWtq=Up+-ZehF?Cbfx(Ui$N|ky-T`8(di>Tg0o>|0o zf6(xs_DWTb?!LipA&T6yw8Sd-mRz5?v~Ki}>nJR`%~QPtP*EKEKVyy%+C?!Mxw51N zmY!!yO)O6UN{(mcWp%|X&A{K|Zox#>m}@*;_>BCH;cVoETagX1>v4A9k&Xt2?}hXO zG|SKe{=Pha^=kUdyT6@XOy7Ta_kQ~JfBBoUiyUS`m|J(iLJkJ*K-xS8?h0$Sy67l_ z|4s;(P5wy<*>N!|Y)bzHXVgIh*=VtqABVJ==deg5IY z^S>L@LQiq*iZ(^M;jZZM5dRJ|Jp>L7I}HEA{*iwHR@hBMyMc2JGfCK2Db5I@e@OHU zRWi(;7fCMn_n);6&+vx3(m;`>5{e@~8}@)0U6L{PMdO?t_zw>yxp$#hH&{lNH+vX) z{qWElPcK;+D)NTrtAb`Z)}5j$t9TkK`(yES7~4LkPcg@15>d`*wZ0}3c?)g@%9O{e zMKvpjo*OxI_WvJk-@?|mu`T*ne;l2AsI@JqB)=gJ9|4lkhDU*Jp8z@;4@OlE3jx zk-yQQQ`Lc^=;`T>+<$4Wtb!x5NW{jdRjGstYpxHSfQxoVn~0Lb!7F=he|3hEbt@}3 zU@Fah$>5HZW}H9lnzIHc1Sj#;XK!YQLLpaB;dOuO4GyEms=FUk%FL zcpK*|?%i(2@)a8qH=Nq$=Knl2Lon? zPyRotP@BT)5fX@atQu2u;W~J;n84}d z^3KUQbNI%F|6(vue~(I?jb}1888lJe93*DKAYI#6COFn%Q>owzUIoIw5y08H)Bzo= zYRr^yz8XeVf1@pZBHpk$GE(@H9IR(5^b2acFoixiJwC%_&0nbKgct$`*(}`2gE|6C zRdU%1h~zfi8fT*gCV5~8cuq8*PerJ{A0K8@jJ%TaB0k!Se`to_G;nIApddr@h-DKl zStRoyp&=PUOw@eGx+5#zX0Q@j$SfdQSI8juKkX-(imj4*$-~%gp$lLu6xhnG-;Up3 zEN;rAoW@DoVxSG~y>jakP+ONgatNi{Z@4&94ERC(^n`<(N(o42K2#D>-w2VsHOsPz zmEbL)Fw#2Je8q*bFZTNHL#$k3t|fAy$}tfkzVjia(yy^wH#p5@tX z9v4M&AFFx9)zyrbRx_@yX1u(bab-2*rPYj=R+IYfb!-^Y9)6z`d?z+5x_^Lu87MnnXsc2Wlu@6Om?2rqSY$uLR3K?Fi@ zCKU9WTx?Npr5AWE@LVE}c#g9LPJr8>EEz9+kK(v(r8i7;3rZ-P-U!oCLH>+E&}vC% zJ^GF+<MYC2o@wjQgG&TtvBg4LS+zBEV|Tv z&Ve&mNjBxjL5uk>F90%aZ|8PU<m_WQ>h4FNCi%aksCqIGau_N zfAL8>wzEgGslr8yC#Yvs2zx|x-BFgpS-XhEIsU9`^xG|?33>t=U5`nOV!1@VLxSy1 zBH*lCmvY>Yh;n#-K0G$p9gZ=69Xw$~=)t@$ zLlMbZMlfIp4`tmQ;dWleb+`8sT`?uT$qo|2XG%y)N${aWPMk-j`Bd_i7p zflt|bjxJ8$B-7aOoP!0knsE(4Tth_z0;7f@4^bru+?aHehOPK4my``*G=#-`e~j6_ zig^4QbB)wXFQ#o}pZ#H2y{sj9G?WA=gm>(gcX{@;hP;*EbFEmfWEw`KQgxc4ueeKD z118r*Lk8Vms?L;NQ(QyQRKsx{rI{xrrAEWY^zFXH%%eS=R{8!+m++qu3Nfl$>T3i)b4n>~X>qk`)d<(OJ=sfAtZX-nI6s(b(!sLl#5@0iZ{nGDRVU zT%e;PG<|`Ld4)A;b=EKe+W6v)Fe&7Mgzy6(%JmE+kdEtKW%XW{f5@8J{26ob#2bvz zWWw2NVUN%gCrLDGl34{=KK0rg>3jKWtJ2*LYO_f>UXj$lsMhWye&|Yqa#Y>}BHoQ* z-D!MuiGF1>R842i)bRo6JC@?bcl^XJno8c|(Gi{6O0sbw-upt*(ogV19OYsdc;L`m zj*&9j;;=dc>yvh| zuXNDY6Ki+vS$52)zVWUv@`2L>FNUl~9$fgO<-%egWgdsx&lOk1rCJhk~ZwAGW<&{qiN$za8RlZHL3(tO=VIqzuZK5t=@Xcmb~j< z=$ayMEY+i!syjLFOxB^KTk#lkAnHPzS*x!>=F+fMVw?#pfn`*ef;xYru0X7m7Lf2D z-zvY{jWx}ne`ZJvU{DV#CI3KOpB^#y?6i#Y6oa7AHBD<7$#0N*BTqs7a_c^uE@s>? zy9QbxauKx7fTbKk#>e#hW2fD2c2u3aIJvzmjY?b~Ye`ZE6A<{?3%UjcOt(g5F)Z$q zNoiwS6|H-y2!QG;)vi@rHflhVvI{`BLcCQJk6tooe-`mZXO=15`jVu)9r_`0P3kAT zk-)U{g2`-SW+%p@pt_MLBIxdN5z4-CI*!M~X_VeB zqT6_T^(2F~oTQNSsai`wjJ@eoHl646T}xKy4cq${0SKG>ms+7870^7K93^n7ySuPs zP*xc@f6-!`WR50>79n8*hv+MIH9rx)Do9hFrn+mtr|awVo-#nuLQq#UlfHP@?225* zkxa5iL(`N3Dx(cc(`T7`8JeTivT|U3k~TB;f2Fo5O_mszd`n)i^tR8Vf}U}i$gW!L z8I#!peJzAmo)s6ee;)F?BrTV|3w+ox@ZlZ2f4r;`XYR18R$;}5^1RVqt*gd|kJ&mK zbfE93IEE7)udKj{L#Gy=0cdyA?9axAJUv+PqoE9M)NhG;ul(H+WtnIU&`YG_ZY!L@ zhG=osbk!HKXZ#3FOxwDR4th)Qsc8USK%u{!V*0EkQ<~s_L>nN$^UTGwKGNanl>2{2 zcY&yB)_bheJ7fm>8 z8wv0~4V0>zZX=gERGGz93-P$;v8t!)aGqV#hLh;qNOY+uXtXN`te zHz)JoiB{GQ{HLe*=}FanHCUdhYl(MiE*)RbrGTJUC|Fd!4D#WnybOrr*n z5gZ1zRzk#Rfb9~Az{q9PD?w=Ht9s8ux2BPo%}>jDUrAkUx;BcOxR#b);q1u3SviZf z2rGBi8Uzh|*rtsUuWBDCU=>3bauD4Pd4CXj#(PA`1?$|=j&xEX4sY^oCY>zw=+yVu zLIsOpG8X{QcO=;ym_UGI(0~;FP_gL!~kt~-Ugt)cKImwz2y1FurK z$2NoOokY6nhy#J#Ihy(zL}&D~c|3=IF#ow~iWM31>8jK!2`ps;tMy*rTeiVa^_oHd z5mL45X8{Tu65VRT-ijlL@LKSt-vDuN^%qsUXxOQ!M5%hAoF1x#tP_Y)9&7+_0q8P? z)r1wr(+@3Q`PD)$)k2&&Vt+?iK=WGgycQrMciaY+2W@oD0ImrbB6tf#wgI#Fi!TeH zRRQ?^ZU0$bh1f}7F88C{>l3YixJs|dYMHu-bfZC{)jX7?v4+*5fqxz{ZLi{g;cpHA z^w)ThZmK8)8ygAr7w|>rDVooTZK0IvQxuep0gbO^lOC2b4v%-1YS8u=EPdJLUd-YK z>@auSXh>R_8B?ThSm>}?GIyM}0{8*4ij8`?y8y%qTuhb-uxF;nOBn z1LB$Y5*iKd;J?yYmCiKO;oZ7bFDY{O^DCwOzVel`wgN2#)>d0}oB-*}$H#C29e`Ad z9(b1arN92_k=(w@=Y^9-QqDiv$Z7nwes`tcHgdkT;(v0wtw4(*xfpM`)-gtuS6yMe z5>CV@XQDxezK4XMPZ<{Dt-Enf*PK)@bV^3!vEfW2tLunQG~-e>*eK;-tyXAOJ~<)j znxrZAgb!mCvhHr(nk+329ML+ZC3!*Y$|qhbYvhw89UrD+OhuU7F0w@dr+r;J^@uMR zB*wVWfq!GWj=n-Sh$T?f-=&CCt8mmI4GFXv&RAJ*csw2?`$jc7v$}7g^|C&vk z|C1i^hKfY&%?hL0TkU{nY%+bV1LO+CDT^U2C4V+D&GCh{Qm+3xgw&ZJrSnmsm{Oyw zDz26mh_okCrxi%orpggao`S15V>`z(Hx#R_#ig_(J3?XKu$2<145|r*skDNexORABt`fjqzN@<8wOVU5_Hb&%PfyY}x8%MM`TV}?qJFJj zvU3AVk4+BIq<>%e=zNMd&s(lbKCl$>hjS2lzEwmwMD?dnPgml@YbzzTF$icw@kA+t z5J=|z-PqC1I!e-TsA*z2pPukS7>(Y+K!4AU=oK$N!aKCy%DJJX+Z?9Deib7fO2@HY zOZFC;RIKjPQ)QkloF`k9cm3_K-7(vb$~<{+yel>$`}9BaH=tXy+X{MN>)QCt3jgl_ z%jcyApwJ73@zrGc0bW(%Qd?@I=V3S0%EnS43Th*GM=@@QxsZZ@Y>Q7%&CrJ_Dt`mH zh^-^b(e(oUVYg)B&Dkju4Z+q-cwvM?1gYx~n?h*I#)z(nk|HNenrL^&e7l91VYg0$ zXap9hP^=QDK`}fWk0Xwt>(~NI$gfL^1aIcuFXogf}UDR3WCn? z;MH{0y3#9o@lS!!L0<>Q-ATlL9OHicF0kMlV5oek(Mc^y1GIg1oJ zCKZ?%80IBYL!l&K+#31z2rAXHs1$npz;rQQ2fc5%a32{>#?$oHq&7=l41bO}Bn)MR z6pJrBFn~((_Aoq~f$O-tVq9;OBHx2Fy)b`XeYrE@*gZO|G6ydRgssGJlxlT~s&9%) zLn#7f@fgmOLdUb;&&F|aHNEyGAXQCXj+NjvK}GDOKBhGgH^k-s#9Q3%UyH$1XlsO{ z{X+Q1e@qIH-<)mq?Gh7j1AhZ!EieWd(dfYu0GqBf2sp$7OBhDw5CAs0v@ zUN(0W(yc^%P?M1LM@E<6~}L`8e0 zEiq)KngdkEHQ7NvlU=uUi~NDv;>>+EE*_x1H$)!{O%>arxm1n_1kHeMb^E*-%_SP$ zfp8yBITDpv5M+~{oZ|v@KAm^0;bHK}>ccPz z`>c9h%=2a(GQjdf=YJj79T}s*ObWb@`;ty=D;mleK|qBZo9lrMD@a(E zNEp1ghuHxVv`sta;;|^>nPW`MNoPn*#Ru|MhdH5s2n6goS89K9IvHaa%epS)5wxVE zm-tDFdPIi0$qr~7iQQ+{^^C!clXL>)l=pJbLSBr-4AKbI6@Ma9D5}an@3nDLx#9}C zqzCBkrr5cA*)Y0v8V!$J@7|nnGcXa;3X}>=luZEegn%NW0jDU7k-2k?P&3ufIRc4U zrlXZq;>I|YZs_9*v7-Pc%cJ>IoKTJ#^M%{1@H*t$Y;@7{tv$Mq$8ajqELRL3ae@L3 zR!(3HGRVhsr+>3_{$iv-WL%bGWmYO;=t1UV+M*S8LzxgQb!o&Ru+Fjo69i%PMxG_C zAfX%W5V})Vn!$+Zp>MbkaiH(KV%r3STe>P=HEHI^@OpS#afNMDyH;fE*wCd*vzfBL z>r_f9>+R_sYw|@2y<@jg`i>nSQ{ez9UU|`qSVhU!x_=ejMMn{eVYG?ycFFO8t%6n; zfT%V*A5S2j62!B&>M;cK!N;pPV+y?Be-_`z3&X@UU z&3A*BFT?gWaRNdNRHsdwyv=t~d3uBZCY$VrI<6?)e7Bz(jb(ubDCq>f!zvc}D;cF# z#eK0kkihB~t9tqyErmca#aX88J*I3?PR6ChJz!{RFUA$$2-c_vd``YHK`}p!os6ba7 zvqB!n08!Qvxh7nu!>tin*`#)H(_XW$kf|(VcLduT0bM_qO*H;0m8iEI>`s~{>3-I_ z8#lsVf8}dUEq&w83~NfHeNwvS(UqBcX@B)2Zq>xsu6e_OZ*ciux&Hb9yscZWm#)|# zBZEBf$~!n)qpZ_%$qGqF-_^B;_jsu8)(jX%K3*~aG={dkk`esmJsOVEC!bm}l*Qi+ ziChua4yh>r3|+diAly*UZo9TU3JmG8%f9f7N$u$P)I_qP2{|{|Z^Fedu_O26mw$Z2 zC*%uOL{z>twUE3d1wCKgq3|-xq(ly+eKUA57?BN9enGHTQ{*p3B4Ubg1AyIWdEh9# z76BUA)x?{cvAxDivAvWp9cij#c_>hxw1G5$+}zFwxu>-Jl2=U9VZKN)pn_~AAl%pt zl$S?&HANj{AfWdmR?noxw_awjZ-26vITW(;BEx-x4K46y$Te1`Q8t_((W4@}wv)aM zK@g8-aT(_xDPCZ*)@R-~Kf#x9vRFgDTEKycgO*r99~VP3n8Q1q!Rj~oRRpt%UZ!d` z5e2h~^mxdH#TXx53YaSQFR1G2XZX=2#t5A?DGCP#&7?jOtB(Xev}Y+gvVRM)H{*t- z=0FFD>e)xVgVD1$+DeL{{0N6au_V}ghz7(#&<(PaJqJnrDGa4(oz<(n3Z;D%tqSA;wX5@>jgf2Ci&wQDL9aD@auL3v>r@Cfu z(1+_c&MSVuOc*F|8g*DZs$ea!f=xFa#_%g|Sc{SrU4wMorh5wnUgz=>vq3 zSgbZ1cKs`Pv()N`ujrAMV@-!d^5nY6>VRMf+IM zjXToohud*eidx9F-04x#ft#&+aqxuOYbqh+})w^t#3s^c%)Pp1juD68XeihS=s7;BhJwdQvGlXLJFs<1`DV7W!UZOFIhI_beA0wvVPm>$~W8h&8FZ1Z@dlj zc)Uo*Q962r4O6`q)nCWp3c6w3-_8ZgnoD=N+_;uj4$L}=8+6jd)}4&YO61Z|2>5kKWL`@xFQ&-jTQG9eQ89eSZ<^SGp_G9rUYxaY5Fn z-#y`A1tKOhko$rS+ZSxuzG8agDkHm(LKu=iymYoN*|X&ah}|XsvT7yOj$mTfH$#jp z@B#KH<@bHso!K{ru{8qD7S0%B62=IL)ASZ=-m*3bm_Ob8auvFGGFdae9&*#(_*)Hx zcoW^bTfYo#q<>W24bru*_|FCYbAA! zrCa^=;F8|8g_=tas=U^y+8C%B?E1A^pA7J|Y={$_I^Ofxux&9~Uk z?B(G8>8XA{Xf&upT6zlOEC}=!-kFXM~y(?ec0L}jjlf5Cfo5mobW-0#vR}=^E zpfr~o+R>6eVLSz&{R*qSba%fosC-Gphg1kWE{TwK70x8E?o)UBk`fR2UIqu&tHA{f z{s^XVLDRUvXrxRD|GJHze(x4==A9EE+&HEn&Y1APH0MP-tF7|x2J)V zkbi^y&t~9y^|9PfuY3%=t{&Wtja!~UpGf2-obQYuExIUO61!w9t%ao&LwgoI)K}0q zS!uKSF)TWzX#9Shu0*}8-nRLs5>9ajiZ5U;zz%=+Xhb{O5hbJwd?{a(w);`~j6(y9 zf%VG#NU%2I33ku|eoLG3W4!~cF7-4WEPsSTZweJyx&CM{PIM%V2l{1ctOhtEGc6(| zp~fo=LmZ+?eDxO`?SDPHGz=A{iezIn;~e3!?#&3(D1MHbACARLHwy?k+v1-Cnn_E{ zfUoi4cTGB?SG=6aZOgGXW-j%}41dssL-UA7dcoY!gn76}p0G! zNF%e3;WUIPPgi363DGV3=_v<3U`FSz0dDiyIr2`Z7DtC<;3pO+qm#TvK6- z3gKYq@^~y?g!lqcnM7JeRu5UDQ3 zO^C)6?*_kLH8{6{9wAWOSO|)hFxr~Mv(fxfqm&G9qv6WG*ABp2)t{H^kje%QZCXJM z)`VGgE1?fG27e~<%KXAw-BpO$0STC3Jcl()qUjn~n;rc_crP?;Id3ilmi=yUOy35r z!eetN26Pt{a5O+Dp%^vfGmTGcplAtYRwRzKVMZ(>Bq1!b=BPVXL>M*)sk#8Es_;cN z&c34qS&U;0056jAw2Ao^CB|`YmQ{55W&?EI>$)~)V1Jdve8-rJ$1FqjfHfTA)2$M5 z2FZ`K7SO1~aSDurwlyo6m(i*bR0@~}w|W*4A#+8D)rao3zjV8-SqZ^m-t-ebF_lY# zLD+Lw--7gVdGElm8EEI#6)r3>=^b(rz%Fm-n7gVz2Cyq7i%<#{p;YSe0xu@W(68hm z#qlj=n18xT_~f2%J3N>drHvE{G~}nJ7Zs}qx!+neV=1qrRh2NUn&;8Hh%SvKv-|i# zRpyghtu98ymt8&^eOIE&bk-zevf}5PE3!0?rDV*j7cQ^Np;}K|qbFy&CNI{1Fb|z9 zrs69obH>>BK0D1NKQ0P7zD8MOW+dUBgi9}~(E&DHjhpAfV}th<89oBYH<)4`k3Y z8N7#XDXsgOpRk6vzWpZBTi%2O?wEjv(|{+Vq_|qwi>{+hrr+qWO%WjZE{z_!1dmZ? zn|~8gk~S@+IF)=}g>-{>&6oU^Dt24l_4Vi_MF8Ep&F53sST15YIU^>;H!xSsL=tq8 zFrU>rnjec%1t`DTwZ#L*a^^8qKcOqT<|i5)tGXe8df8QFNY?|ifM=Xcvr%=% z-h7sf-e6%Aa(LrX$l8qs+vt6Xp88XQwe=}iMbm07S|MvoHISEN!3V1ve5UxeB!60Q zPKM-av^7u4nb?wJ+G#{eUii`p97UH3YH%U?B(%G$P-8mKwYGHPVZ;u7I8K+orPCCXQm42y=1(tTPd%f$#IP6)ZDn!=DFhWt{ygnm)5NN?0#WH&5@T0 zbu|FsC{q;1Xo{nKiowp*3ZbpnoTAvpazSVA^Ye-*lRBSASI)FSIbO zsFEuMCC>gO6dAIxs=dfL?gA}9MRh^kMPtA zR1^9pXKI8ZtEgOZ9lMgES7}Nhu^^FHfHBGB%Y?8XlP%-DBx{8imhOUL)u?bOFMKbP za%5&n*h(j|Sg8}44x}%7RevY4uyi7sl8Ds+H_M7nCSRNNV&!4IbTb9^8tFCn^5*D65Psx_9O)%JZ8SW<`acYiC^paZrkYO;aC znv(m!54vwHowsfn7Q~E7y5Ti2%x$g7s!y$+)P8$bBIv4ZzMC(H#wGD*U4k?t>aJqH z#BFe)!zDQe4|k;r-ITOT)nZjjZnF}VTQW}q*BjO+~JW0)li@P zb>ZQaXjLz zR<|vJzKADE_=?=)t_3MK<5y?;EUb$g6=x0j{w%Ok z>vAiNdG*9AU5x-)B@-cKm#FgPB-Rha(M-O0fO~7!8jBJ3f8ZW-VP5>4vzLt z1fL>#MY?%f&)gl7yE#0o>*2$TZ)TeU+> zC*w`gn|e|}8T?qJh1Jv!OFn!ZmTn1mjSH${#rJ0Nmp3-&ykLZ>vf=hEl8mAwXL7nK z0x6vRzANMNixuFTfWC0F7nks3x*Ew{%B8?-igd_w$~HFH<>(uS7kM#;Xh?BY`9`S7 z_6BI>F@Hl`R?>(eJ3KYo?5S{Noal?MK*}($SCuSavL^aH;T2ZhEk!^`)q4zi;G6F$ zwt)yyBC&SsYo1_cEL`V|d6=c#oZYoV@$aG;h}LrzIjt)ajul5IZ)x6oiA<9b!GBMgoAvmt^*VcSyaYW?Q6a=>L6hQ* zxSK+bgGV|Os*H1)s7&V~l{tp`LNBQkc6$<~c?@fJ8QowWPmGCXXQf-toRL(e{!HvH z7=52^e`hp$%6u&b!a8tS3M`>W1R$he{edePxkOOI)nh>YEwDA!c5*CYyf=#KsnjIr zIDbaM>qKR@OJoLZ?v)eI#B@;&mPuF>2e-W13d#g?nZ<<12*lpYyvl_8obpo{ZrGNQ z(C!tCL#48Oi6Ehzfg+VbwPkJpNhH}%R05@Sb(QJSr($-K!f+!BUa7JTmCMIiZ#5qV zID;|o^oHTQ_iEBQr>)|kcx15{nO!U|$A5^~pyP5$U+-bEC_vu9%0_Tbv5LAa!|^j0 zsN#IuT?G0IsRr=Ml~GpUSCW?RKp;SW!4+JvjD)}{$DU_Czgp-dPqKmvvS5T+qQu%V zl>+T*KnqV{cJ-1_BWBSEMX6z@yWBc(EG18j-l0Y78pmbcicv8KALB)g#|8*H|5k z)V8Y!hOp7nq=@|A5elO-^0z;%Ojgsu5Ym0r$h%>k%Lpddew7RH`#9Xb=Q=a6UR&W=Nzx*xT~fgH#Lpub$`^}frIwD z_rO0}Gqu^jZ^euyUWz3vKiXP)vmUIiwuY7P@c+-2^lz8zO2n+a77Mm&?i{w(nDm-u zThkf(9V>7(mnLB>bJ*2Hl5)MS-9Qu^(ijoR@35;roc2T9{@t~4 zrM+~ZEIaYjQ|t*v1F*|FIDe3g6g_wW?C{#00o=<_1a3l&Hpbo4AvZ1}v*)9zE_W_7 zagUgFXPn0q_#^l&_=RkCejksA0Xz^hiDs5g3!Y|^Ji|Y6iC-QZy?=Q#JUc%+KDs>m zcsSfUKi~Tuo=?w)Cws?-7f=IrKbP4Xn<*B_`S2#hN8nI}5(G*PFNOy~ag*inY(?ok zKK*!f2!-ilHpGBs#gLLJs64)!CUY_#9V%S| zewyKM%2+%W@gKt}CV%)DCgX>puOMYcnLvpT~3j0HZB>PHh4L zl(a>74o>1!L_2bh7t=D~Y(kuW5z3Z_7mjr9* z_+lPWYqRKKI8R1^`0-GLiFK9|zawzx28c$%g${npW8i{w3J%VM9o~-e$9X9epK+vI zMlv3jysb3X*nd%pN9oL?@oh@BL_>R|TU^U_q3Qr!kH*XCz9BtVN$tJS_+Bh2z)&2XIl7 zF?MnTBb_G?fU=mX#n{7oP4Tu9cLc(r+WDLhdbr4OHGj{}E_l|6P*f4E3Qr^{AHMaG+ zAb*;c&Gzr2e4n=lA7cx4y<^HQ_v{-c406+^H$&Kz!xU&c&+ztjQVKf9qe9|-oTQ85 zG{r(>A!H9xTE4+RJ)(Y1SPp9iKmkUXq=1AmU?d6%C0iFokBR(nLe1CZVe)#(IH)0TI3<714n8P1TTF?6uvybEO z$3#nRL_aWKq>S+&$vq+I1nb zS`v})q(wh1j3WUjuACojq6Gk*&LV@10Dp8z=`sx83qW&q8SY~5_zdQKaCourFk`2# zxZ-#g1Ylh1z4Y;j))Wr#2Qh8S>wna0cGVp_+Kl3Y@t0(7(;quV4r4DRXS8s)xG4p? zt%&W8?XU1wB>Mglj#tEBTRY9OnDTlcaPJ}nADaRt2FNkXtvEdT2&Mg&-|7^<{gONo zfA%oLRuVqwadz;BdBWOk0Y}HuVIiEfOePHnfHYs76ScZdqbgZX^i!opkbhyO9p{@BPggi`y`ts-50Q{BAybUl=2M=zueJ5 zG8Mc6gXrg@1Drm2q%xE3AoC%pbHdv~u{4S))m8=?Bs#~^cS7}zkVxZrTmS&Y5llPF z0;fQCq=9sFa2$L>0NSK)fPaDK9T)Wd)}|l8f0w?$P5*teHad}=y^H;$BRUrd<2W*k z3XCRp2kusESb+saIa!NOXqH31kq;Z+FK)`DWS&Y&iHNIkSPUbCQK1Q!ZWRPNJVYc&(kXZ9*irlrV4|^MjgexOx{R3^oA?(Hpb(j#{ zEc06;V_7l$(~&|7-OHtgLRO$ggz-LDbyV?|P}daT_r`6x;}DB|&oAYLN30})3+T~X zb&OD$V@EJzrQRqox<|qm!V)4XkBH*jgZTLHGW}&j9QCvq&XBKybDp^^I8;awxGw}q#QM;7cBEK_rTs6)5wxSaEq@Ekc(r~W)cL7N;YQ^bPAI4 zZem`bnQ<2FO>a?qayO&RMkH!N3k&QrgAz!SSUW%x1b-tYr2*a&>tD| zIi1(QpDB<^hHw_)T3}>Nb&x=fqy2q@034z$tH`flbtNc)r$G*kHBI83KJ{tK(WF1H z9z#l~6r7SkMinJrAcQImTq%M6^}ZA$@^M^7@05089;F#=hY^yjn?gv4tOH3)khtR< zRz~Pt?tcLIiWaZWWnoE5bl3wqb#`h37)(gxS#eA7oQpZWm-5-`-!Fkoo*kYK58odi z17UCk-=I(0@&?J_>~0p&+NZc&DnSnIe{pYgs40I^$kP%LB^xaSdqFYZ1r7O=aELCm zo~A=dtO@1lvq^R%aHSCZ2J$OJE-0<;Vm{AuW`AU&(Pq<8YAR;y1YHnWW`NvIiQHYgwmC_rjfmo63Hard~+_r ze1r-oN9#^#Xo8htZ4_?56rK+GfCf;U5&~eQ@}Y_AD)ibw6o!~)d(^Cay&0#mvXnHK#6I#i1$Mxc7!)fV3C0b=1+5}^=Jarq6SCG z=!>MjN~~7|%H=IBx|wmmqhumi>4J0*YJVRVra}pCKV-FH24_vJ%xX6%eE^Q4kSutr zp->J=UK!_y&&2vmd|Gide|UX)1fnv${2YFH=kS4CQFjoFWpkt&Cbe54E;;KAk@Xx& zI-?|Isx2VC-YEu0Kbwywfg~M;k_jBtM~HW)mq(6NC`k&X&pzC{0>Zo()WJftn}22Z zF>X1nY#k%uen6G&GIvO_cZ%Fkgp!uTrfjY{rteT}I7f7QGmUN?&DCfaszdq&$V!}M zi`zTK6TlBfbzE5D4~XxkV-u)4!;o}AF;0z|y07TkmuM9;JqkggkN6=G;9PyjpCB45<*e6afYyi;oOv~<3fl?IBUtnwT zCH^{`!2Y7+vXUUwi3=L7Jj53Zke>MPMjrE?_c$6P=uB7&9p$i!rkbGFqJOe*d_tBiIRh?Y=SI|A~4vm{I6%nH)a^BidF z!+EKR(*c74iUD1xm)Se5EPwd$fhb_Kc%b=JqOc?N0W4(W86Xx$}3OhTU&889{=!c4#wT1n+S6`!U;Ko_Psc=#2`5ozEa$zXB5cjhST zpZJzUTt{(^`rI<~!hb|R1W5^7d&f6#e_s%a2$pkRh*KCXL9Z9d6d{)03@;2T#(0K0 z@gJf&8kK39%eoSnv>^=A8{ptzYXD?4=Ht8b!;8c7kB0|hNf7nf*ar+39nlFae-2`D zIen}x3gB-E+0bf>2VvkL8-XGm?qSKE;|m;VG9&vC$erT2A%ByEtF4m2H=|LKC(oW{ z&Wd19nm?xFfQ7#|0_laR0#8WRYi45w^;8}a!$r=VG^RjYqGe*gMWY#U?R@mg{RZ?M zF$i%pN~VB*2K|@DApW9WxV5??S>hp5^7!lH%j; zGz1GNS|-A#Lw`b?p?Fez5kt!x(PJH@TGYmDRBxB!e9I0PoCnBYIGQCQ!WP}%nl>;H zt*~^NJ>C0oaCGXhNXJX9`Pr=^x(8YV8}Elw*!XJM&1b-<+K2P^TSk|9fM`S~D!i0` zoZM63Pk-|6=esW`p_VKHq~)Bd6eY}EP%aksW_J-{qkqBBvGIHwPfB?*!Ja_T9}!-$ zcTo)w4#CXbWMs)F7ZdI8Beni0Vc$%tx7CTq=+scgaXQe6*a0nw|@mI;sX^&X#qO|brGmY&XK7dF)of5qnLRBM_OU!22|$t0z|)&;sbG$SiGa! z@|yWYVFrf)$dHX0%4|K*wtS^PjqtQbYaR>;okAl z$(vI}d8*t5h&*d-gm_=E>MC@`CnW%m&c#^Nd!xL2@NhxBjL^EWcqvt@E0j$`>1^~N zoqr~?M4CZ}np&cl($cd8FujYVao#ax54|x~vzuZM!1^e!2z4>vA)(MP{+r9937#^JkP$gvw!^Hc z+<1QG}_QU8)ytbDyoZldwyqBDt8Nt|*qVo@^uloV$`brHm`kXPICPJD3jA8~5 zIgl5%4@A5X_em``CP9#>KclasH26a}#ByY0r^v?+C9`MxyxHUo2+t7Vg|U-l)%XS5kAJ(nNF6_D9W35upAtvw>d6s~Hi#pH=j8-lG@7czWc9|H!!95}XDalgMCT16 z0#BOKNxe>8Y0PNXYyGbzIp3*&5_VstViw`G9Mb@Y-|W3dGVt{d`ZfKuSKLr6Y$enX1E?WU<$ZN1kQCSq#nd!`S2dmlv7?GW^4k4hdaWIi54+f=#@C z2h6KOOb}|E>5wV+3~R=$p+1Cr`PE}oPUfSNi#N@P7$NtXSZVE9l?HAGCLV(wep1yyyZB#Q3W7aFHjb z8yq^Kf}AV%SYe*fxO?N0$h@N!N+yd0s21mdG4~3eM4IL$MTv1+6@Ob zdTsu9>;UHgGA+)(9lw{bNz#^*H^!_j5X&tTw3hip2!9nT=sz(tAly&IsYH}a$`&@y z6Oq+UQK6A=G1#M3VK09W)7aD-lVbbcudq#G4;KvRP*f$D(b;TrU=C>%#Bs-rbwsCN znHg4IR5c49GNgEp;O&SRMe1r<0)@P)J>q~o&f-~?KeE%tn2%}WZh*M5^9I#&xKepM zi;`69C4Wh$SC%6}A?`$SaRekgIhZ5$5!_KRx=RRe`IeX#=+vDLxhX-)A@kSRVfjnY z52((+h>R(9fpEoUw@Z1hLJ3WhrA(*dS1IXKT5*v!RuR;&7liuStxW9OdqH zx__>nNap$65uUW-?x`g z!WwjK+aqFD@z*Y^*7|-qk9RGm&mvv z;#5rdEKuU{Y~5KuJ3st*boi@Ds+TWK(w?e)6`F5UPd>)hWeKnL1vq+qDc!}D3XNGl z5|gIn4JQpu!jz^}{srC6F@ITbL#-uTqlBI#m10pjeH_vaUX-$^(T9CfyLn0>m8FN` zZmkZ4PrHxm$$((a9e@W}AF04WTH+YGIb{S&*Z?QJXrvRWb*=l#X_|5cYkiWGrrx$5B27vRc}#vowCAgE8|`>`uDYjlf81?X0ki zL=&MFKz|?Wpho9J+9wxmx<(7Luxb0fs5J?Cfj?=sqF#8@8GrSf;kXywL_x1P#x=~# zIc(&iaxSvOTin%bc(A!}?M+F<5QG}OEKFE|P}S$Bpy_xl^W6pzv>sU-FAOfF;gksb zPWG`!I$fey@z*u{p9V3BWZN|Pi0|kx9&l@-N2%I2TEJr^x7cTTKd(Fz9!0AT-@$Rn znKBzCk@VGOyMLN#-Yu-_A$(RWT^tpPczI8N;i;Vb0{{H%{=b^?kbVY%1~ zQbea3PyU!)0AUxRk583oEF?vu14OvL%R|e!HkD1Mcw40uHza>}TM+(}-Cvlz$wSmI zInJ#q@z{jX(9v$_!XhYqa4YL5+!m&Mk2DJC4me+SQ04=?f4-l^6CihqM1Q&>!3^5} zk8_rd8;WR=0@S$KLQJ+2vC4w{52E(C<=-^@xEHj7U_8Ew!inGW{m}PE{ixFsYs)4c z7FIwk%cV)1V4&rrLI30N_PD1x2liR#%@2}x) z1tzUoZk!_G+OhCj56m?o5c(g5n@^f8`Ass@b>di8)f^qs zMMs($3d$=OdGe9L0|^ePLfGBLk($y*+tpicu1;S3OiR}i=9g}f&a^I(OZ zLLTLvaWL-R`0Z9WZns)7$kK5LI5>_blWx0v!&*$gfOoXX9M%rfMw|;P zO69np6*(J?3cRDGLn0l##+UbWFGgq`MgNZUwZhf>;d|}aB8Z4}j{<#JmB=Q7Ufi>1 zmb^!%$RHe%a8AJ559vC;)CmZc^OEzQ@)mI{p9_D7or(oA#W@Mpuzr#oEQ_&0W!4>3 z)};nZ5A5*uWFk)(wnjM4sV!|d+p(KI8RLeb>yw z85-pE2Vqvl^WCXjEpTM+&-zicBEw|-?AG1quhG>_RPSNnQ;&bQFn+1{jWM<5@1TXL zqvZpoh=YeM<#i_B^u^~}NMMzT2n&Qyny7zAG52-|&b7U0a2e@vdxsGQh?K*;x{NsE zUcFAC^aiiOcIRJlqjZg^dSB=hZmopIynJvK_<-wK~nP_jr4I_<$x3<#WU=l4DpRTR!G@ZI|m)}1z+51$_MIkMJ3GUAM6_uBQL)dF|vQzZmEco zFYIcvEx>I+HYDL1l7Qt`&#-@F?#><%5loqYe>;66w&#Prg99Knoll?M-d>`+K@gr6 zUp|ac5!mc>Lcbqg{&M(`;wjVV^n+ge_;xWTf*pqKcE24S#(#eJSTIJ1%`hI_zPrIK zq|TEpH+NdQ*KKw?2l1yj<0A8+e3!47XWRuLbMvDZ76L>SxKQaZ{;M zOV~sjv<`kg`)MB$yx9)>ey2A{lG~%7mUo1fR*j1S7F|PDrp)z@c=(PT@!Ev)LA0Zj zpa6G43={@VZ~BySk>a>=a=6mM5z${ilC&OV815KtWE4^Dx$}Iua-m3MMInmVDRKkGTg8sQO;<45P+| z4FDWeNWz0b5)Qr@M7H1kJCbm)nk003aK^SOB*E|CPO`VAk9$4*SKTf|+R?Q4rr%s9 z3Vv&uC(N+%($ zwtWHwO{yCHLt=Uk#FU|W91VhwcNPt`tbj-?R9_w>p@Wne?lnr zf_}?u`A{eDpn8AXYc-iegKvVM=e3|>-}m65-}Zv8?{#|c(`)v;E>vo^ybe^w>K(7s z@p{lu3p;K@$9*V;uc0ewyNAtroi3Ea|NSns6?*+13%Mc&|-2nW%9S_$AdV^)@;9_*3J^0(k5g^c^ z9AF&=0C<0V?0W#{pog_#5nC|z7Ooow#Bfbd$Xi&KeBSb*K&vx5G5WxcBA|gOx zGO()9GAva9>mPLC;}HIj(}(7uZVRCZZ+z?l77HHxq1S@3V|O%KroR|H;%KD0sW-}i7@0Rj`6!T%8Zp=J+fit~b&u{L047Z(kF`6QLV z{`5#n0Z4@~G$;YE2Gkj12O=8$2akkTuzrZ5u(~iyM0S`AtQYJRz=#mh5%v;bPB*;v zKEQvrY;^#!x&RYcvrY#9(Qh?7UBA~MK(xbdn~<^B>-4()CeEqZ?zMW&4#J_=^!;A9 z2k>pe0nzD)*d1_Z&9D!wCV&Dqli%)QT?~fUZ?&PY*X@M;UJphKyS3Z*n?4K`FsR@5 z@k0blfLVBYxD1`J3%>w$fm1>e!v`n;o7jKu!|no*wE##%JT`%zKw;1C^}|lL zN88nJH!(&&E+=3Fur)|(V9NueiZr3qZ$rEEJ#659tLMY=0k7L@w_%S01;XT6eZPw+ z-08y*+deK3;BTvo=mc%T2J&&`I=xmGq^EZGS~HGsERpjwiJY9pcp4*n;iHI2aqoXI z)p`0d0S;ymx|~4|!}BYe41y@JR3M3lE_9|jj$AVk=Qf`T0PTn2+xh3)6TAjT0hh8d z`+gGRnjRk>-CU4}Gn$H6Tk|iY;=j6z=Zj=`T6Thqv{%lS;!u-&U?C+3YRH>ifL!$W zaCC?2w>HR0{^8}XCo}92@E=g_%Q$~IJ0w?aACR!$dYfJTQnJldFqJ@D0oGx5eD-FJ zt%w_nG{|<9=}gl3qQs$8buis-xL+Rp^ap<0?KSr=FOT0Mzy2kDv`0Q7V{rKJb?=vV zD5Z8s<3E4-Kvto!-S2g}t=aw0x5s-Xf35;rmq5Lrl2@-@bufV|aS^a#pE}JA`zu)ge)|b(4uE{LS{oZs zhN;}zuJ{TL7itIi70+lL+M<8fH$Ze<-N9d!$`~4^%y85&P#)Oxz&w?AdG@s?K1-Nc zCwGWCC4_|i2au4>0{!I?^ftoYszC%Hk7C{Eta2Kl&P=OU>(76*S~18#uLdy0jSc(> z%h2lX)^(SRH?)!=$v|DI=e~Ry08?47!*Jla5l~5Jl!RE)fdcW|1UY{Q0M!^Y-EGln z*ixM~``_#|XscesYOh8gq3k1+eE=4zKEmcV`)CHT52M9EwAgUB#cEc*qfacI--?ZN zQjy)Dt5R*?moM|D7#6!3ZW^ok&QM|2fgjm8i>|O1zzm*nlz`Xfi=ZQ41Rd)|PnP$d zL@EA>uXSG^Ep_R?X|#W#%YQ*45I=h22M9O%)6bQeof}f==Wj`+a5yffHu-hMKtMhg z{Wgu7ZzGwZR0`u-W}p^}hjo z8a}q^U;ldmi$XZydRR|Zp?6p>zy&omO4ZJaW-!Sv zHUpsKhGKu!&@Rp?-z7$Fo8*n{tF5iA_}Z%{qEg>|dXjuS+NYp%`be`9$I)gi`~UCb zNTI4o)W^$674TdIdd?q?j7V(+Zb8aV6fUO7O%d z=86+0!{>?q+*@4THDV+Y@%4^{9n%2=KiMu_Z@dXpfnmeH&oIoo6jBi4%kUo<@Q()z z1(_0l$D6^mu>=7u!Jw2`9r1O3jR>=ZDALo#lxf@@ZktkiZLM+!kRFKfWL zgiS350HP7$=HgYMak&+bX2=?7Q^@u=5W1aBn)8;z12k22{E7y}%2-riXgfj@R{is7~sj zPAecSYKWSwYZ?P3J$K#h`g8-BS@;+w&FRxq8~*^dYch?5TMxF;YTO}g8Vi_>=X-yO zd}E^^8wqNi6XrcL1Ywt7r3xy5{3!Un@=+jzP5&2f*cZOR1q8qa3=(DoV8X`NCGL&H z{R=(_1fb%L4Sr9Vg{6Hz@e)bLit1Y3xjV(Gm1wkRYIm4jd`F_hep!DV)eEoEMv7v^ zbO{UOKpP{O>vv~rX3F z7XhZj5Yp#tKs`wc5()7A77acbt{Fd9tfk$s(+c+gJj;K+(^`_C>xZp=r~6Ct`j-2}*ae{p;M^ScZ3I_Q707|Ph8Ae&4K^_0@!#4|GR_d~za_ggoQCnsNKT6OdD zcc^YYRmk1XhK%&-+m^fj-&yWHtu{+_VYscPZMj3+;*v2xXf7M`*>KlbGVoRHc0Sqd ztkzc8@&kW`*{;8Awj-0@KQw>a{fs81X;c)oU!uPlL?){UKuS2%cl`9kxol%hw=Nd} z&u(~ue}E@(T{6q!_W5g)ZUfI!K5XaDoDBQ<>bHnYme=$~!@cEJ~k zPSG40$5H`J;`yE#3{B*EBj7_uFQc6i5VGuQWE!qV*E=PB#@6FZ9o&D()^JdAGIIh% z0%H_|rc+*@K)<1es9s+I7nk4xkU$S6A1Qzy_VOWZv0>?}U^m?iFkgECbhvn#?i3`A z6+pSo8DCepE%KH^AfS{PxH%?*pQKbsQ^aRj2!xt1GspA*}#nw{j7XacBFCogfIpsKjRbaALd@yZnlqTy5!@wM} zVrBphnq9)PLp}|TF@D$@@*^HCjC~2Qr^|qC(gd* zJ=AR~f+Nr*8^qbp8sZaYD~V6D)#-PFicP%P^OyVvTGDU8D)WDr-3G|zsAU!P@Y8n1 zGl|HL{b|3uWD;-odrKy9bln5;Q*l@7vq}6P(WE4kOhBFu{z5mgZQsL7LT~Wq1UUku zy=6O~!iyN{j&*7HEC^bf36El;ZH9k}xs_pwip4z6>#oew-b8=QL98Epn8G+v&s|KB z4uql1V4A3+*N1;{nNeE#t)w_$m%wss~`+YRyWrG|><@PCRz4HU%l#{hwfO4s5D9~Vo*1>OyNH2!W@XxreBP|g0I1@ zavq&zf|}h9_hr0O-+Gni2kFiWRT0Jr(g8~NqNES|dVqhRK(BViy9T_0R<*yW3PTrF z<{KL?s*AIOOm5f)*4t`e36R$=TQpt-8%q^s52Ww@i?hA+bq4ZuYjk*o{Hx5i`%cxiz!~F}XFnjPxF^i0ToG&sG3j4rUe1jfqM2|9>0m ztKetATsMD$C@vNNw@r+=vVuM^+$KM|&pMH9+ zC9QuX`+G^N$f{gwbR+FLNI?)SZ@Syj8HYTKvIm1^KN}K7)fo^;=8p` z*c0g}P#ZNOZPbFaQ6ttyja+Y`T@ngwaE%rYuaUU~u^mPYq$&vw`x!(ue7$0&7dCBZ zb$P9u{x%>5M$Q!&cvKpZ+rbGtZ3;74-Zt_%b`V`86TkN2`C| z>H8n@Ur#8 zu;ZHHP;KGY)DVJ9xr=ws-!AqakJ--$ zNcF+jKaUek_S9N(qRj*2q9e>%Qns0wplvnK@DX;8$-6ip{Bg99$ljgGg$X8M9 z_BvfsUs*++C6DT6r^VvqKa+nS7g^O6U1Cs<7{s7cQ0q0ru+yu!>UZ1AuKIj?r!w(w zZ&~KJ2oo4IHAKCczgqaoOX8!o|=2w4;TG#D`-Jti& z=bJ+Zc`>fBp6DPpvc;-xZoR&Ax*+-B;L;nL*<3zeVE1Ui0si)Ay@)cmQWs zKddUJdrQjcuqTw$n^u3tr7II5>29q39TK*+?IOM}VKqi*)va{UBt-p3h&IclBKk2~ zr>wbWwa8ToU7e^G!p_FsP!`2Nj@+9Oa%}z+dP5gW{&$v#N;hQfpe1B&XUFGPY zw50ezrv*sA@^q4C3td@4EeD+jG{Dpxl$W@0gv47IKgLA=I=_EYoMm0#swxKQ&MA5{ zuh=y%y7Cp!W0!7FVH3}$HkdjGkkVgNQ{izW02NrOskvB#n8CS4w?p4&w{?d)ER1ca zR9)OO{zZKmDv1HLUHdgGrXfMzR`%A7vA1r&$v!pv6+P@Q8{8Un>&B*ABFT#t&DM-# z|L)-Zxk_zx7Zrb}UsEFqp~duwIB}9U?R47xcDH>J|8x?ez$&8=h?KV?7e?>X-pz-6 zO0wm9mEj=>dqLB09i{OxMatnw@hE+A+_%$|xV-m=zs5&&?Vf}FUR+*KLi3v$)5g2Tc2KpFU3~$dVtNAHI<=|9Et8_JOoHJ@2q3IuaB3VT8KfHN)=YXTl zPARwXK2MmoK$$OmRe zJ9vM&nr^P3bg$|u9k66!Z&c#SdVUQn+piuDWb;E%X4Qx-EAhO88e7Pad0E@uBKWfE z0ql}BWLP~Q$P64F5UiZ&E}ahy>7=Gt8cj$9KKOZb^`)Y#@6wN`kV>XUCn*f5Z=v;* zbn{(`@(Tu^v#qUh~{=~lp z^$U?P|8hGB=HmA?|1KB&%iqIIfxn0_sU7jlhy$-MKP%0^!wdT5T;x;|O#>>4RY`wL zC70R(2V>H_OS?oX+Im6gHzXIq_4SrfUI5)J=#D(BfTVUcDQkJ?_#_|t<_#&2+2w~? z3-Ort1o#)Kf-0`EzqPjF8${@<#IYjH^eiO;pmvZiPp+$gRW!#=ZU%) zA>g{YuB_W5y9o6^5LfiR`05Q>Dz|?KV%7EU;P`0Rc!JaQ>RW{W@HDAW4QB`s!-`{u zR5}z-Lfr+7?s9`Jh#B{|wUu26tZMkt8+2iC{mjWx{gJfx-qzqFpA*SpzzcAo;N zT2Zkw#mDVSjmt2;h2@`d!hC!-8KUpjaz1yG2{Ym<#VA^GLtuuxnDV)$xOjiZL+^`( z?7pxgN}d)uxwU2;a#=N1x)sZ5)~2%vlT5q$qu)2(3-5k(0jK++xE22MneY>f9pMKV zO@_7o;A+?vCu%!UwO4}tF2qzdIAj%PbQeL|YiA8GLLnxVFB#R4mgm@^BElC`G$hY9 zc&Cdv8rpMebY<8E8jcrcqz8Z5KbmclGBUIq>)VB+-b7`XvEco|iUsHX_Q|V--bG7Z zOdTG`j!L6G_mzj^G6cyk!DxWNEsq}kj9_(8b~5`?aiM|UsCJGrJ(C%?)kUIJ_G(;( zmmGa^$&@mw_O%Vnhs*4=-Iv4ZiHv)PI@RwBN+)YmO3ef-87_hw6av!%pn4x_$3iG+N_ z1XPEJR8LtR7-|C~>XS)9UR+x?8b_XEtc$u@1b1p@ql=6@`bQdl8LdLfH|tB?gbxN~ zf?dt8s8L#sA16m6#lPe@<^Y%b7$NS;~n90iCnuHdJpsHA@ZCD#2GJb4#oAZNuR z5Q`kmaCcGRq2X10`>I_b@Eq3U-sUq6|K&A8AqQ(IeE>}og-Kd5DFeSk;Crj;~d)zUXV{QMZ4p09$RaYiN(~0gBdtvkLcdb z1ON-?VR_%8QzeRY+`b;mBA03NSYl?c>3X-Mo%;W72tyiz1gyX&OQ;iBIT-TILJx8n zP$tEYD+Urce$ZKnv0wloxBqYv*eiJ& zbWwHk6_^{p*s*K z`p6ZvElPcH+NU(dD;dQVlW`*%cm-Nk1E$Z~EUWIHIbe2$r}aVgfP^a{y&v(3ht+bx zjW~KhuOLj;st52FkJGOFz>Q>m{6I7jtH3bmq~d?x<7JNMi>Q|I`uP7L{~5Ng)?T2B z9B5naq)uc{<|YooYP;@3ipN}w*DvBl_Rjz7#-E0-`JS)2t#5D5*p+pcz zBVd1tc+d3c2pe7Zj7c#%km&Cv`g>*6o9kM+u2mMsY2|sE{ZEmeX7QlU^B;9Bb0w}p zB;C_!5>oxKRDUeBK9(Lk7(S|Q8xb6qFi>x}8vB+Id>3s+C)FE!*sG| z*!=e_SIlk0mtgNIUxF~GaTDG)T`_fdZO?!8eShS-A9joRTQq%-hJ$eQ_Wq0Phgakh zfyoaI&jFDp1}(_$_tE_i?T3OnifdAj&ju0oSzjK4uReeq&<8%^^4 z;m98i!`J&er{uQk?M~nP@a83Xe0qU9=r3Mo_kTi1r<0Rdx6&JUgTcssGkrGw9{qm> zdKg|l=Lv9!htA^Y#tQvB| zu;R581_M4)Yri|H#>Wmruk4i=Qi#}*T{Qdy&a`c(ZRdx$RTM{u0IDd*wpw};8KR2G zVY(T21yEUliC#+5T?cK1@fM%JJlcQ5)`SMyfmY_rc$_)$VtF2Cn1OD*<~mcE8%o?` zwg_>3Ny6&!1YWshJvkah=obxwP+9c{3-L_*L{+;)AD()v{(ikxzZZC(Te9j?(6_HW zJGgIHIo*gMCd!_c9vR?Eo|ax%^|bT|j{2o2!2N2-U-FABh5W68f)|WxJS~4ID9z9J zv^-Frmb>ZX2w>91xUDgU=!8G+vGW>=ec$aN0~}+#S1#UxVwhEo`-v5YT>3c0a{z&l z!XO58rLem$1$Om`f9^Z}5Y2T^spmT&W;!8=y#VCShIj0|m#@P;M*Iyi;xD#?=DwP? zs2ykn-@UEgbwB5I3eKWJcBg+P71&SdJe6?9yA?_&I&#UwO6i=!^HKP?f&((w^B!@R z6CAXKVQ`a=qG6ntBM|Is+U>?NI3c1ALCmuw55sW<>j6;nR(~Du+du(Sc2$;X#Tfhw5s+>!aD=yvIt9#P||LxSpf=A>EjDp^GH9dWNTdt;uE zOJ|{J@P5fV@W7zx`&WNabie~uihf{w1j=+Ddm{4x{z1^Vh^DXO!f83 zo&R_n6L4T|Dc^tb?88rc$T;|}>w5059zM)-jI8Q;-(LJwd{2K#MS$aQvnM}2$tar_ zA1$lv^ciL3Yn&%JW*%Fk4)k42L69MO6DWvoJND?`THmNk4=#XwkiBSDaX=cmZcQ_Rwn3`Kz>3{Pf4oOAVe2rg3xo3 z?~I)WzmGpqe$iZ}D=O0a>AN`Fi72CuYS*5bBnJla0%Lz2G$|7d<)qfrfXTno^OI-_ z-Oa6h-c>I@J!QgClB(?3-i@l|*X8b>fNmiK7nm_SZs;3a=o1D-(Z#GAx?SA`F`cKB6BJfsTljunFy}vn4LTg2XN%`C9%Gvo zoP@A=0Ar5xLarTg<-x#r&-Z`)oO54x$l0q>*oCxK`dM#@s)qX4ndX6qXS2NO@f4=luE%HR1-V& zf||q*l%1i(@_T)+%JO@ZPQzmPy?!;0h3EGF0G|J@;^-cwlaH_W4|eZ)1Uuuvp*x@N zLg)3t?%_d}yafP7Kppp;*V}gS9P98D$YNW!9IZmM|I-cH?~{`mdU~lZy5$n~YBWpeJ6Iw=_26fH zsy8T?_}0g}xHxtNG+EgtlY45q*>bNJ3y?f#d`d4OmJb z0fA%!77wuIAn4(lMjGtXYX;kuh}Im5a3C-B)T@l9GD%*gj$2s|Z&X>c%B+Ny$qp-T z^}%S5lVJHxMGsce|R>m7B!n zt8}MS)&*)@u7e9`)ghLwTnm@5()zIUCUXOoR|7*eYj>F%E!NjFUI{u2FA=Ajhi-+H zk zjN|}PIAC;5h_L{f?3f3@;-;Sn1nn_A z@~uZcJ!+4u?FHE0%KG#TxGH~thdMwX8{;O9FiLNI6PQrJJ)R`DZUuDpX@cnma@1^i z4(dR}{jFOAy5;9l8|!0435=eq%TxKDkMF@Pzvjc^p@RyNi41DRQpY5d2RSL?=;YfJ zR$CR3Yf!FhAeo5tEz;XW-Li|ly7dqp!*3tBL|rKu>e7XAHt|`Bb^3q8V4a>_X-_cH z$??ng(#bPJUjD+Cmz6vfU|ycyw=W*fe?$r8Wm4qZZ=+-`1f0N)36bKDhCGS!>fPi#doKoRD@B$M*6R2ukW2dWg+NxLUIRHNra^&><7dCv*PY- z_Cib8)bt)nem=0`?#M6h{d6yWBL*d24u^xVU!*Ul@voYdEHx}1dG0LTd$D62=KkWd zC7Wj}j$aQwV7+Yhb&o{^TjuEbZuR_i&lScDvy5VQmTVbxpxb{wl-8rze*JQTLFEi~ z&l9;m?TTR~*=NrWs>wck9v@1xYkEUIl=icPpfA+VQunQAB_*dkPw^ihff3lOa$(QHvJosQ7yL3Fx@r>j4^1fEErn5^O300<9Po z3>Yt7@+pp5jP&N4Xd~YISbeC{8v?=IP^p;mTep%=*6e=(j_yQgIp$e$?Gx%^N($yS zD6xfL(=;gH4SsX8(XW(NV_+xVM;{Q zQJtY~x9J^vMFOH(vC9}8>+x7erLj82#BOl2)JsahS^$>?%n&zGiZv;}%1x^TSnKhY z*CBTs;52`}YSEPhL(kxD8;bK+JH%_#Zh3MW@N><=Sb1l8uei0K>YDKt+~cuVJGS9h zg`6Cd>u%`j#99EeqVt1tCEamge+@$a;xmGht+a?|)3Qa}8w`W66mZ55s_CMA%uZ1< zi2HsuhDR`{M40xyekC)k?~lsSW_-WqRI?w{gqwfyiCWmlntfL3{oE)$KPc_kcV_VB zf6Qn4kNHghF`wywK>1AD&U0&j>Re4mmL?-Vlg`Z4cD^^?{Ku52zj#X2ww4`#6yYoB zd@8vUODKHWp)k zBzS+#N}I`8UEh+Gtk-4X#zFb8P4MbEzVvT#~*&o546Pl!wtfh z#Z!a3(YrJ@U9GjJwc%)Ov{6h=$I5J~__I!M3w3}Jz6#C(7gP2WW^a?V)IzoY{2uGOK$(76+=V2MnqmvA5guC=ggEwC0XL->_W@UXbV z!|Vk`Ai$h+&(kBydxsGSF#R0dQ(k{Nj6i^y=-{66)&+PU(7njM$cZbgbY!BpflnPM zj*?D@p*ND_KS`!7yoC?okIz5Q-1jLw#fS(ARfPJwqdI7G?F5H7zXYm0obOV~!HJ_1 z15zd4u^5sn@sGuzR7r4ryvaj?IV;dRTXy76S_^=;;1l`mkJ@zW^X*2E}3(w8WXQ#04#JW-M_*OPm=?T-ZyTRhHPNB@J9& zVb7&okhJ)A$m<`9^$+QGXbd5pN_SlT2H-qps);{+QWp}H{S!<==t|9j^eF^P-&%kG z6<~&3;fBbsX0i>q!1&orK`Slb6Vei3D{iHgLbd`Ig=}SYS8SRi8k2u80nkNDl@l(b z#zL|x@c_TZbb^tI&SXX`C#B?zJ{s3rG9^z=DS1Ao6WBU=Es8jM8_gf18MlbeF*=|0 z;Xfo7wZ=tq5kG$h{-yyPYs9db(V1?+HWN&3@G_dd-ifAX@$DD@B)$`)6WQG~yL*v8 z!ibWY)4=aF*yD{l1&=wROcL-yh^V*@ufFZA|Is z`}l*{0iufYA1xZ!{Evoko&fB^G{1@)@mqEXO!9-9j0AsblHXHf2c{^2Q8muswjmuV z8?f+=mvOuh&Ci@hRA4Fy%-Gb(;td%ksbPdk!dZ-p6JFRmF?2&r^#%3-Zq?F=VJ_n0 zU7Ee7XXMQ}OCnxn?r^pv&txEk?h2P`ihg2)G~$zhBY z^vt8YfE$0fg1+pLBdh3?^lUzv&f_SnK;F(-JbjG=NtcCyzX!%J8jJK@13+_39WCN1 zL%4K4+o9Pcq3NQCeK#1MTqG1ak|v6GXjA9JAjlRTnV#SG?mfO6zasf3r*q2>Gd>s2 z?asvZ;+}rtYr7%(H)Fjqjxb$_nNgyljJg`XFJOP}iU-^Gmrao&0*R;q_q{B1CN?l$6u*DMl?B#z4(UNB7hM1L)oFHjoLeLNs?0L_Axbx$7 zYR@Jis6~p$yZ{F}xQS1VO?*$FrEwW4yEu6HK0ok>BdJpglGS$0VH&NM=cM4 z(zmqWXowGIvzJdEevd!^E01IcumP;|DZu@m_6ftduSp@_KP8u+F`8@&;|T;K_e z`TPTQjmE`Ypf)Tr(;yVoP{`59}@>ATH=+#83g*5`#WBG|kpZA8v{c%q@ccY_-GvXiUoi9s_E8fNyX25D+3Y1MV1Q5@=9S4(32CADI ztV=h#KqSOBtu{`*@R@JcoR@%_4^R2~@MT1|0)sW;G$)FXUciGXoxX0&KstNhP(#@8 z8V&+xmu7*$k#{yT{w5&GX<+<6Pf*A)FbxgvdUp8A6=CVTgYErY z#hVB~!r<$oN)$~GMTB%UyXKJ_C7j^)!TrY64EaOZf;@I&!xMcFCpDTQM*l!`EQ#ju z=~)@rp%a8?rh*T{-G=Cp%<>I+Y(`52S$x4fWIU^L{=7sIVJu`7UAJy{(XOFeQ#8--R)Yp%J5Vs97f%M0!D$PR|Yg7RkfmE~Z@p&ShWk{6kal zq^-s0LXqO z^c1pX8vkwlcB=YxcpmB%wa=x=(`7+`RvY*5^}Y9ZA25%+C#7~d&qQ`{E};(uN_lcV zb&>;p;VNzBOz(F*PYV<0w5hu;`L%84Hc{D?ilLsX4B#AN_7 zx&Y9J3C!k5J!THA7!!2C)sWP%Uy>T$YQ2t4T}e1fi^G5A#Ra?FrVA-TCHeC-Q($bI z{c2)fjg#+pUtGtkp}|hVX~RfEDYuSeF)C_0PoAAT+P-t2IFC09&!=)b(_vv0ChkVb z9H#(w7M}3N#HD~u01d;QToz~WUBIB|Y>6eX2(S`G1HZ9gK?w1up`Ah=Wlv7%z6B#oH*qcb`cD z({IL&Kw8eSbdfIe@9#gAtf*+KiQ1ibwr9{smWp--X9bNX7mN>C3ATs6&`7RMQjJI9 zGuu0XZZpZ5ftIJ4K@2MGZv)h}jd_!7@$2}5q&0uWL_eUDuO-!vJ?#z7eQJqH7Byo$ zjKppS;d!=#p^m!?A*OC456x)Rgi7oQgL9LP`aYBkL6`*ln#;OH95= zbd=CqD`BOu{7vM*qZ}1+Zxh&pCz6d2K)8R48IYQ`c1S-JJdQ(@l~sdMBX@uMnd1If zOhy^0$$A_XqhSmpX>(G1uvi(bS{%Y#%;_qSWH#;oL(QoR zFedbxU!*upM7syukJsduYw#05(WpmV=5<_y%|%{GRip+$XiWjG_78WPmX_!)k?Mc_ zgJ9gC);aDF(%_1undB^RRaj@)jjA$emM&rm2u*1p(aMkpv6zNd)dtAGpfwEz=iY)XNi2ZohD3<4X}-N$ zM|ge_-sV(W#vbAb8G;OwGG8GH+%$g-+oddCfbeX(2e9yJj`|N+lt-|?(~NeN5Pp#u z2y<3r(m0Lgd5o$^jbnMKVzC#oD>Id-%9IAL!qW%{x~J;(D^vtOLupgxPFW2oBuNz! zft9?h9=W0iq$$n|B5}3fvl43wKIVW&h`TqPF9{%-=`U{~iOP{)Xwm}v0Jwh#7Q$G& zMJM{k~8r!8V+V_#Y=o3Qia+3E^RvR2@2ZCZVVkX(c-m9Xp{-!$|#H z%GMI&Hs*lsfFq0+0(?ncyrVX&B3J}|k5C!Vln!kKwY;Ys4g0pH%W0(ZnT^A#my9{{ z^gK4<^#B-$I}&6~fpS&zK*@h-BqbZIopa6Tr;QkFd;pt?-pd=zok*UQFd=XJBv;s3 z$n+nUZ;>T(Fv-Otht?jad*?tsZYRZgbRqbC(lJSuc=KABl0g*UWP3iB43x^!XDGf1 zPeqv^1Sm~!Q^xxum(p(2RQTfF$H@iZJ64STz4XGI=<9`D6wFOqhO~d59G1xq17iSH zK&rn&N(QE6Co?4oo-la_MB=^=2b#noJ#5~Zje|8_%du; zKm^dUDnO5dT&fxwNDSi~#A(S@+X>colOb}~v3{q&23Np3d zPf7Rf2-BaE4GaS>nNFc25fG8ZE4Il98yriZPe|4Qq9-=P-h#zDsPOIX_Q8`O(o3m9 zCB5O3#cNoKMT6yFszhMJiUCqEhS7UZfEReJ|pU~7x z@v^-CP5hDr&?fJH4`a+Hi&`_Oh3b~sAEvt{{>RX7O3cDxs#yMO>@c5GUNkne7@EnZ z)T$+?9|WJ)AWbZ*SPN}Pf=SL2f|AuC=^BnHFDYn{;pjkeeYV3Z5Ua7Du@{L%O7=3` zG4*sbX1y?Ew>lJ#N`?u7jPK-owAy~lqQ2C*$l!~$cCBiENIo+4-I2+jYxpf3;q;uj z#_L@iQl;Wb7h)>{0xHLcD3@Vlhzj-4|Tch58ij6#)WEG!984C!+lCrXachqu$ zQdJin9=hyXL!Sl7dpXtHpjpzy)oG9qwjXOkAxVq&;4mD9DwEH2qT&EX%K(@pIZdXF z5UXxq5-0%zQPH~}y~iahnW!88{_p?ddg&6`5$*VMk(VfHQwWv^H3WO9mBp4?a+%FV zd#oCNeUL8L6qr-P5`j?7JCR8jC7*+ceL^GWX4*~CuJ?CgA54n zs9Z5uC*&RQIN!_nxeeSQ(UdaT*Qpkm`ahC?ice{tm(X}aHccbRCsH@wG_4epzLJXHi( z`14zCxMNEJiyW4vkgc&xvTjjvDSURYl@!lJfl4xCE)`u$jSi0sG}EVzcTs-c zP_&5V5RIF(yp`O~O*Tr`$b=km+tgZR+CY%xkF#aYmd7iN3inyl^^!b=1RTO=kxWU9 zO|vOH_4I`Lo;&FK*}d%UdC7TV)u|G8dRGS~l6+tAwDl2`jh$fZ9l^wqVxEY9CdlFj zL)IiG=#W$!h~s4sCX)%NHtG#eatGHlANlfSgj$lOp$xvBt*4^}_kj%SQw6*1wyqe7 zhgI&uK5|~97c^Dowr;?_t}<>qlC=^<_KmoaINi3F6loYWQ!lKYL~*ad3x?T9NVAGU z+XR{qT3m-_6qj-xcSwt)I0`L)ACvt1AT7wq9SdprO9Hm9&oBI9vmrTX^k!!@KjLtZ zG!_0f7##+ZyEY^=$#X;Qg_-uWBZ722ONRfeuw|&Rp{=+*2ec|S`&;SnNZKar?3Uka z8t!a{dnvkQBK%vs?fMRx^6@XQlJ;t{XE4E&y>J3p(?Sw%))Fdj&WfymhnUs2@0yaI zfhD@7YAka!YL(?DC^j_qhld<-kk3{87Qq_#v*;o&!rUXh4TTqwf>a;DZ9Mix*X=l4^b zBGRn%dZUs5-SY5V@v0Vo(hT0gP*MuDyWuh(s%gI(w9Wzd$1t$u)hp=A%Q;H%Owf?8 zJDp>e1yOKyLkiQeY;ih&dr0~vp>%w@{Q%e4RPJhs-ao)eTIv6>PyQcQum(TFDlW5C zydq0sIz@q!WqI<_Vq9kCYH619ZhRhKUT@}M+tT%hL^W$!d@6c>tZD5cdL7U1!m5$N z1LTqi@w?`=2g$^7mZ{>}Q`DT3Ive%zSiC1s2?0BEC%z~ff#h3JQQ!j8y7AsXN!+fd z4fQw~WqibH`#MK5NmZK4YB6lq+YTF7IbAl%AWTyry(AfflAh3J=MXld`DvQL5E^t| z68@ZsGn0ZQ+-d}WjSiKwu9KD5N~MVh6nL@NkBgku=P{zUDElBe!;36Qv$D$-=Y=^r zm5E`bzi=*@(}ypA)wEAJG8xoF{JWPxWYWg3|BrwE5C6ko{O<4m`EURFzjA*6xBu=p zfBx@&`(OUsfB2jK^&kHFzxmCd{b#@ZH-E!5TF5~E=Fk3rlYjVU|N7T||Chi0%YXWt zKmDuU|M&mx@BZsQZ37|x&ADT|)-~9W(|I3$Yp1%V@?<`)ZgT23y zs35(`>N2r^0P=o2wINiPCL?WT6q}s5$=gZM5L~6hYl`HUE-W<}`gcD#xqpEBw*IgO zAQTgoNLs0dZ%=LL*@@gHIR}eWig(iDjWBmDQ2I$J_UshPewT24SS$sZ{&26NXvL?pi0K zYS&isq9F8Ar~=O&`L6%``Pp)Yb{FBPB5+H8<2=n`)`gKqceH&e?MDI%gS0*!fvTVc%B@(MvQz<&Gl* zfk_$F8D#uU)g7$KM`U&cz18w!tL-#O2Rzj3T!SFBxf-VoruCFOU}O$CA|h4{45_>p zzE}%+`oRn&0F;{!P7szAF5>0nfXefK7H_6Sd=m7eo)oboo>5b|ob{QEQclDAC9iWX zH{|T(Y726Old;vs*PX^;J-b37wK}jBK6^hy-sG=c;nA5c6mFZ!Eq4VQB3v7~#_3f& zHrgaXl5UwdyDMTB2(kqH8&9OD%#fm$m4tliOqZ1ejkG7En)#ykK&FMN7+masU_lCV zt6s7-N;z#cz9HgkdX}N)_DZK+mcnYHR4MF7YnZ;)dLr61CB%BTw|}RBuSr8Hi?iyi zD#j_8N7*aDv*!6#L)(AOGAo*}E08FTfN-AWd98E| z*Tl0?8AXLCat@%2ZNB94dt?LaRwMU$Wz&(5GmIi4J43 zdnaP|nbdyfu|#i1aJ4T`*+I^}S4X9J6&J!xTqRUjd(kLJA=Y1ia;cJq)dGqjGxout zW;yzcWIFnuySMx5@lW5;EC$+N&dB%cR6JM9CvD!b0~vYITz6U$e_@U?fqtd9{Wve3 zS(Kg&d6Ye3?b#}BvUCu^APw7we@atE7U5%5Mgwv=MObmmos#IQkyC3vy*|SDY-;B! z!Z@7r{n?cPxCc6aQQC?OU9)LzhA!U?N3K`OJ=_c3a_-^b(68hk4to9C+{0lt`LG)d zIs33t*r(iCrR2kyDuZt{T@Ti8AH}U9<~;=nX*)8E zF*GvhV@OwQ&BY;o*&J>7-iGh`VRQUt=WfxF5?kYOmPB(&JdS?E8;Kvtl&i8LO z)v4KV5Y8UGTtsIY@Az(iG#G}rpQkS$V28Y6;D^KEbo%t|b3{)b-u2w*?(@TMF{qz7 z_T>#n!S=V&v+Zy7{=QhfzgO(Y(-k|i=Y?KS&Iay(g_UgJl(MJ{y_5o}vL#2Aghw7F z-0PL<1-v1xGQVa&4lB99-4X4^pS5K!rV<#>r<0@O&GYHe*_3jVAGe~`#|w~TkSiOT z0oY|ixwGkJtFHXL%rUmsT8lq@+CUUXxkm?mPW_4L(AU>1<$l<&FCW#HhnUW(jey_& z^hs`i(tEHUQren#Zyccf z2(#B7VcJ^Cc01*tCI8I%XU0Eg{Bw$d!7uoK`ka5>V$lcu^J=oT_NHhp+Rn+ubzZ{1 zcUXML_4fE@n}2rkyRZ3rhkqW!3-96IZN9z3Kl@N}0RNs~Q+M&tBm8rppFZTDpRnk` zWX*NHg{n{C->)XEwz>YWM)wMZ_CJz=iE|peLrkuyPl-|~Ws&2;C(C3u#_)yW+A)KF z)==dD_T90=r;nf}UpO2`gDYT0MaMW(#if`*(JUnfl0QH2Fq?42fr}mvFz>P>kAZT1 zOjqbgE*1J9FC7`-oXa>;uj%VJ_8bxT#JIcqkN|zLk5t^b;V~EPBd{iz33-I+r5zou zaO^tfc}}?~F3pWRjyQ&;6}lpxVZ3sGjHrua0012sjOQ0~%R7cOmr942BiJd243_Dw zDWS7%9UptZg*Zl3!7-i(Qg@CW5rG;CF-N+i+*Acb1*&ZCDYPLk9mD)UHT~g;`dvD4 zCMJ>6Pa6gbE)D{EMfu1I0ON+fo#)U3&JdmM6%a!?t?6VH4G1qB;WNu%hP29m!H87c z7$&fGl+Zx$h-;^GWQ)J_3^fy|_+i|yYJh|1z)VY-CqE#q=%Cnecn`yV& z-=hT}B1}|TI4=B$SuH3fD_w<@X-DKANwF#}d$;x!50JErG?xh(S|6w9v+-fvW!t6* zsxnUa-0b){v^DA>QYiAVd+AU@rl&A6V71zt@jQ<|rZ9>=auHqShyxrx_c2p_%*;L( z6MTvKh%b{QSKBMBHA47*6x}Lhw>UPi>{OvTb?I>Ej`~%3-qmg*EoDD|u7R-b#MI0F z$mjIBz^gvTjY(Nx2@pU`!g*+oM!@V|IzrEB15B4xJFT{pb_HmyuWKlx4GAptF{TX$ zobR;}wynp^?;GzEyRxz`o{QPRF9jUyVN*swogyX1EX=@qe)CO#IGK0|o#{~mV}m#X-3#jg)6m;C`wH;+#8fOmb1IPK+-56>NLRhOYU-kiLF58=G z9QeI}@=&)g5pEjLiF|$C#Vo*>-CA|S;~Y-4;E;d>Lc|yc3u5J_T-!?en_3vxVI(9# zWsb1OKx@uX*5zV<0j3LP6?6JgxpSk7x3ObD^I_$-TKVK%)`~Fe)kkW2oWsK* zQAQc#5s_+i*&g$|U5t?raF9=ayy1%u%o{!ogB~VZq|4qAFIx+|#*H>nrIL*tSyjJ=Uw~cr6E4S;6fM)Pu>DI( zPNSKEhX8C<=$WdERTV|#5E1o@Q1LyBY7c=Ct&-S#U2%|ro4wb4dy$Jvk{O0_z`>qUv0HPe##iZ>M5SH(COULnWHU%ZPpT25;-Mb-fFZYz>s=)5v%HDQ$h67!p zH^SwF?sm8f@uBrgN86Lki3d6Sc^BQmB||B2 zvzkGFnW#@ssk+k2IWG>r&K%T3E!2l(;)~j^8PV}!5}(uV^NB_e{a(#S^`{nJXJ5hR zU_izYtySR>IEjP6iWDVl4M-kK;hvO#qzuh59b5h`!9`s_t-RBLD$owbT6V{{6boXG zz4j)n9O;QShGy{DmOpmQ2mY9T0)BHVodjclkK2GRZMBm1^(ihQVK^ASIAqv@Zf>L- zNDGolj$Lfy2W0Xz`z;y?VL&H>7pB%6z%o~7VIoryu2IrKF%!2u0bH95fq+JVwpM|; ztB)sk)CN_V1Q+x!lD?L1#wxC+&8xK19@p(5X0=^d!3__VaKjh;fswhI77^>k6L&Lz zzC~Xpb=zj#nfMy!7Dq9v<>05|9dE+gFk4j6-()LQvm3)A;EE;2bFLc!m&q#Sc*DoM ziUo8mxkNrsW)k$;c6Ue3UDyrU+tpDH(GSvXUFJCd}+gR zaOG|`U{Y;pXIYPjjUIknG1#RXT1Qu|AFUjOHQ1#!IDQLy6GKl`%jQ^#hp0h6%Rf5$ zS(^}^G4aXLz$aHCp<9s+J4+LN2~4DO?AXhvkI*@x{f zM7v0SG5fI~*~VtHh;~;6uxVw?$MIm{XW$Roat9_zlQ2zeS44ibZ6zRUPF`pDxdnXd zAnsmVAgvi=|rh5#@WjuJo-%y7neFvi!YFG@-+EfmRX?Rp-nq#yjFEE%#= zv?c5Xqf~1vq6~b-GUf}pj89_8!}3x-QA;WBkyqzsMT09XD@YqFm(`$u2c`9)063*J zUM{RPhJML4o-XRvxL3c%_DFf6{n8pk+eMp4nDL0W6nly-9~>M)g|YE+p_w}bFRoy5 z-B`KjG1k~L)_2jip-#>H=1$h4J=C^79v<%Q;lx_I2Yc>RI%t1?HNb6Jy!RD7iWV&b zhc+#;KV<%WY^`{yE7aY8&*{qQnW^kY$4*xCb7#B)1J26sS?wRWq}23?S1ZwS1=<~B z*Gdr~F*pw(U;3_ajM`3O(H4od%Dn&(f#FH2EQs*|11>7x?#Zi3Vbb0M1={0#h@B?| zGKUp0v;9%vJ8EKm{hoYFZ^Xl_^)bK5^@p4bb?1}br{JX^(TuTw6{-E4kEANx6KXir z-4>2K+KAS=DQR<=;98<|W{A?*ZK55zN4GPYS1GHKG8uTWZI~&C5QPkb-O5!Tu!CX1 zYVAb#B9@)Fw6MRN4V<|)0nh-gy^}R}^TyLc%4h0DT-yuxXUs({#1IZF>wlToOt{}B zSu$mAn6zD(G}2;!;r3{er;b7i*(3n~+$lJ#`wp=)QF$vY6t|jdCRHX+H#UL;l6ZtM zuV7KsJ5YqwBE$WQ`bS*KyasM!Jy)5UDnq5C)Nh^(1L?5FmbNF%K(F8K&~s--Z!4ET1fnZcKZV6wadXM|M;6--`{x0 zqv1m0$ND{guk03T%lBE&e&voYr8u{Cz7cYrx4)tuFw1f-7cj?Y8tu`yvu=^Y7`n32 z^>us(+{aKoRIq`KSPRL=t5%7T=rf}gH;wePQM3t|O9`1#x{QU+f?r}Jq6@b4rII(< zWQ7k#Jz_}O<7&&6aEf@P1chn<;~LQfmA;ki(dvYMY`a3h>Slx0gh$AC9ib1}8Y@&;5_{J1_yqpv)4uiOcZ0Tl8-S^S==hG+qIa!8jB!eMaO&w^*Z5u4(`g%m> z4@TI++7#bPl=kE!4S&4QI|niR!kR^HP|9jh4ubmqmqcn)uq1CxcYs#Igl>XCD0KP4;1elT@Pa&|O3h>w;Fl+Xw@#j!6%M#WCu5uY z?OLe2@>HeP8b_13!eSPT2eD@cMJ?e%g#kN%rUKAX(B+5+jr+pUXcJ~W7Sbrtc*Kco zWMOiBCRK%|T7{xoRV$IEUVD-u)g)fNiL?r@OME$6GOpuBZ6g;+5|Wg!5+;fj9Es|n ztWoYHI$$ar&vhNnZq#ARDtBqGXNfvy$P4FABFtsN{G(miVE1VxwOh0z2R2i!(*nSM zaxc_AEaY@W{!&QQ(Ca`Jkgp+h_PBj%2rb#w3~-`Zoy&Fwq4qutp~@XjAc|X+(PEu(L+XmXso^{Q!PkbYsmnA7_JopWd+TewXVUmh%OB* zizRPK>c0xvqNs2ME_2?BJDQBBaC&rI`x8rW$zKtOi}XzaYBCw@7%&YKQ*0`1-`Fny5-DOg2dg4Q5S$2+KM* zkT)r!Od+5x=ve!c+aEATq4SY4!jGllA@tY{F(==6QFZqox;j}O>;1fsEuuL$jGsb$ z-0A}=w0l6sp6Y@s3UKC}FD4&l4%9IoV+nh0hm&4vhu^q>jbz4n=12PAxGdo_`RF`s z=1a4@f4(5+8}!9`7a=MRcz#rWF@X)rR$s^~>zU^bhTrsb(* z_Fp_&Ai~I=Ya)GHNU5(4*r`)#jFN zzRPJp$*_0i2M(JJ+~fARg@Y55}I>b~%JNQMPNgFe?T}ArVr*AHjksAix4Pk zD)2LHq$|n#x^OeYUXcogdLw{5F}p)tBbviLefoIm6q7RmPYkDj@DQM^Yvhc>B}~{s z7S{;LS_@P2M%~cGB!SKLX0=BNfjWOGpPUzXV3M-FjJ1auIkFiCq6$ZZF&W2QD-sp) z8g-LICpMK@isR%V<8-M|1x()%?PqOVa(0=oEIE79>UKrm;f8pjiN~NFokXfmPl;-e zFS;g{ZhtKAa|6|Xv0@LMqBFkn(c}m7?8U)XF!&<>I_|1CW55y0JZKKTN~fVRTx(2) zCc|Wi5cJZm9pOu}*_%0ZkoW4=f?Vs{W3-dNuk&2FwbyGc7d2YT%P&Z4IU;xE90EhL&mB;4;4!OfVw zIqIqdc*k(x($vUIC)!d?Av^TO;zate(;OWeeO&4X%$FIkANZ3~D=wreuFYqKUA>rL18Q>|w)-gNb-%8fu*-XME`e)7O7ydiG^ zW*gpgYe&LQa4ZvMZ1|;-&kV#H!#mor>%Hm9nKsyol}@%ReM-xYG;cKiG8>bjXXR0V zqP=RDU;_hm5Hj5nC8fp9YIvNgx{iB|C#tGx&|+18Hd$zbGT(55?;bvR79O*Br$H!MZ>v;4OoqNnr9KGq9Fy8SQi+MwTMKb|Z zFopqp3mAQXkGicfQLj0=fl27ZD2|ij;j;Ak4&xGCyR&(H0rHDl2gU7HCmZ`&ne57{ z{o-?fUGsF+9NSY-ndlMF7@EgEart(2r}TDdmi27ic!Em{vuc)WBh3+z5yqgAuC=b5 zXjjIq;ne{i%^Ugab#uNMqql0YwE|IXc;R@(BkA{x@3*SW69(*r$E1)*)Lx}xX!Vx6 z3L9x8*R0zC4S2bM>D|rN+M8>1J7Tv}bxneQhGGCUqC;kL01V)dM|^eMx=oroltF+m zW$qbImABe$q2=I6WEQ(B1jBP~F z#z#AloR0N?(Q~nq2+WHK(y`FD~ST2;w+q!MT(Gb}Wv0YMqpsBUdz8%|ll6fO2_>Fx&umkmM_lvHvg;>@0qFaGj@c?yjWNA~k{a)X?bw}oHs1@yaI~?lDU31X7 zO0O5nDq6|+qV6~%g@3=1WCj#}6n17l@rFY-WvSyB!B@E;k{>ZJ_&$b;!D(A_*?zc5 zVW5&t$%E}j#TgPiRQThGKgSg2Hn25ib_6WDS=@@5haS*5l%oPjr@ZXs=8gYVjtrLc z&AUXd65iv_6JItQ!e!phk20faBdSbIVT zx)R_M(Kfj;0a;Ska4GoR5};v>m{?}h!7!KOoN)1p(0M19sALs+G{zXzh*U^MICE5s zm$5A32Z3P$SBhB71nU5qfC z$abZdko(gj!2iJE>VJ!3QjKc*q5HYzc9|4_!jJcbut!rZ7`(Kk0|&6 zxiOKh3V6pCUCk+&(!6Mj&k4f^M(vJny#w1g7;*`<+2%uO3!~00>#QAYW!^!$0=h4N z*s}5*Vc{$s*tzmFXDsy418)tt^+(O?*>;XNGc;&1$9Zxx<}zd zqP8=~lj1WFDKT8)WRiaR6u@7`g{TP(X)px_rE4w4L%5t{E6Cb|(BfkUdenh|gAaOS zrs7d>d7sLMi0EMuzAEoIEw8Wc!nXWw;JRP6;-miYty_M74@NqG3vU1yL%0~h?+6Rv z*CV%tLA%px(bTwdZakPJ+GhizR^;)_mLo!yk7sP7m7t; z*c-Yvz+_VARWNi3x5=o76L5(U7sT{WHR^>1LEA%bZiYe{sRXs z>%d^EkR`XD%=-EHTMu^>Q0P8DnRm?42CxxIK^nY9vy(DQ7f)(rWw8Os zfqAl<#bwG6yLaXuoaVB z0}RuhaM91&fZ-;l$LM7t_A~kd7iE-#x(n46_%?swt|!v;adx~IwvCWX90y$@vv_5Rz?L=YseoEzJ;os6k(G8wXqN(J|`sty5Q@n4S8WS^Cd?|T++`Y``o{f)P zAxz5|uaTyOSWa4w%CgZNB;K(43z9*Ozm#1u5P#9AKgKgMT*H76z(vASTCM?NyE ziI75kj5o}>=t)MeqVf3>U3`5NRvALW?8^Oku z8J6WlsYN&D^of}fN@?zY%sWeU{+K}k_la=xCtQM+!0r~{=BLY=yWn7iaq~un4D?rak@m7t<*6#;3 zFAd09vhos3QK~A}?T`2a1*4g^9*gIW!fO4XFWLs+)$d^IeP2I+knh05%AAdmB=al2 z99+%BqT49d8W8%b*6O~-jGp!+Roiiq=F8>Wg*UET&j2IF>q+a{YE^44xJAk+ws$9x z`NWLYtqGEo%0e!c3ltU*GQ4iyy07shs2m5ySFyh&Mbzq;LOg_IyxCjzrj`Sw>i*Lw zKyiElC{A9;l3q`LmiY3575?k%db>%z5bqQrN&wF3qmKcifvsq4StJs19Lfla<|G|h zD@h)94-Z(^aL1VM)DhZp@ng=Ua-5UCnI$DFFgcw>k&x}j^&~_Ea+@qHe04v4)s0zs zjGndBA_iDkbkGFeYfD9Hi(>c+VYNW_diLf4Ip8$NvfqI9AA_*;-QmLr zv@sA~rfs%ja66MJn>2_Sn>&hsnamUn?OzE)eg%eBfM($J7>)+$z{YR{oJs|fC|qVB zrZ^-mx&=y82}(-_CDeceG*JYqDNoq4%_`0zo-1m9@uB6BkE;-g=sW}?sTlf*b-sxL znFKktk{Lyjy{Bpf07z?u2n{7|6y*E5+V0|Z&;};)V5}s zP}Q1$MMTc+BB7Kme}ojVq~lvd1k2>%(0{!%9YL?!AxLqlwg$}U+ zyO2q0xs+I`^>uY0_^z&0CIY0i#BCn(oUge~^o`3t+`Nu)r?3T0sgF%jX<u-j`JwjF6u6|OW4LXLF;Voct7z4f@g<&W{VVoFfAwI zMG0tChrNQNSvZjljCJ(OD59m3U-T%=9DY)APlr2?cY_`t&kzNsv~#8AejiU`RnoAb z$JxXMCPI3nvu3GP(#|mOim6jhX4F*DW9)>(Abi@8?hNT=zJl6y2u#2?sGnW zPIg~*fi>N_h)t)JCZr!DR}VYwsd;A-cd;L4hy)@tXA@!Z8j>0$`7(%Coa^&zGiO%h<5TAX{+`iMwzG{>X^9_C9Xn!+I$wTC-RN5en*wu* z2#vEE#ihmvy&K_!+2R+%2WN{KeDH)It~V0ggWex<)!ra_7+~6emI`{H4M1r<>^;I; z@goppT}$k32MUWz&A`Onf+LYVso*90aE}hornHQxJh|Etc_pecMP_Z0#3dLvcCw^M zrqR4XVV33QZJb4U<7FH#j0EyU5d&-8DAGn2Z@h{ZF|w2mgBNVJtEfpL0m6gjhktZ@ zXf1*)9U@G{lN=YigcWC35O|LLtY^}uP zb!*7~mbc!5ftiB?oSego;h3bR4C6;iu4$n#5vOHs&;h9izCyti1?p&^VtFzOUXOzAgD;n!Gk$yCJg{UubRM=6F9+KQ3D0dWX zvyP5P@4T))vx69~5OT;Cod97pL?=fAwn7yw8Lh8>ubFkPp{e7wmU{EkC*#ew(YQXb zPmpY?N2-U{)aey`oACYuy(%cs8DUrsujF6=54FGexC)dw3+e$%_Y*z{A`hBT!@WKQ zjWBZ8O(+YiC%)%XI#Y_|gS0a<02d1>A2B_~F!JcOV6341KFOqZ1p)f>ydTg(T5-9uL zWYMMLQy5l+LUE0R?zNl6ryR#aCWf6PU*})(7gap8EbHS zA~G8ag$zcKHR=FSX98(FPb^sJha&7(xg7$3ogM{qk&&Ha;-)g;H(={t|^rrCK^Aflk#lT*6KV^qoF6?cc6jPw>&XoC7h8a@3`q6mD}Bh!@FV-Al! zBy}OZi76qsct4OoRBHfjbs{6zX{YIbG&`zp=ga1oV_pACs`vHzg6T6p zn;lZV!u2Pkp^qegp?e`2uH%h=y#0+w%FUYYEnuI)4s4OL;t)8{PV+o>8V9?F*w-;~ zbvYI_DH3U$Wtzz0#DOm<(7w{&P zg)&~1r$w2(qG;NzIh8)`R?2D*sbiN0$Q;$3RG)UMh2@j$Q{s+$$TVVqf7uWglM!tp zjcD;rjA+KYnDS2KA2%fC<;pD5Q)V@!7c7Rr%CxJn5dtftjW$(&tBx-tU3`=hXC`IT zOm0FFO$!oJ3#l)pg@on3+_X`h2r8HJft0*mI-jk(IMK~7JCo!xrTzw?!f;}bOi~QN zv8Rssqkj=*HI76j+C7thNFq34Grt1Cp&PCe8~)$LZrzn33qBv;5!_FN#Ao8Yo1wd_ zuneNT)fnbVENGpTQ2GFvalkJ(z*RMYa%e}iPmV3l&9^js6 zZ?VF2tV<9Fs=LY5k@&C%zto{dMsh1Kqnxx79<4!%2>K-S)FQ%vZcS+|Qk1Jx!GvAA zpn?#)td1VgU&S@=09Q{lj08f}^fRIbLHw1^?~pf8Rwuv#x?dSJ46fH19- zFTWtpH2iPTz#uKWyDQ2c0&1@-H{7y6pRZ&&|0oP$@*VVQaRMLyxG3l!`M%q89Y2Hu zug|5?#z(o#>R(6LgI|J~?wviNGP6nK`F+jMd41oSup!D}~q^7aDQUFbU0^ zGMedL9S5fd`!vrlf~I4loiod0X;yN2nwwbS!e*N;Bvkhq#_gH}Gv|5-7IFtF5>4CB zHbT%|GzjVE?8 zRc2j{BCbADytU1{r+IZbkgg(BdS65`4Yif(F>9euI)uYy)Y(} zUbDW=4Uq*v1>v>U%>zuia#88wRjW!wy|k)Sb`3m#dhowe-|020@7$2JaHzwso3idp zI-E<91At&GisTee=qBmnnvM+pel2jVY|ma>?2pyMQNOxDsqDJN9Jyh6G5hAujLj~c z!Z9TYhBAR#vr?JD;8~aebYI>_})##t~F>_8l57A#~Qn>J%)foh}XsbI< z-)ZiD@+3Yzg>9an$PSo`bZynE_6GXAt*^6(?4*993i(OxkS;z{I4^MRaa-}zuO51z zF}8^D9; zUImZ_7OJeD%+M`k8+uDwB30XZPZ_gYrdqgv4mBS%C$ATdthqB<`fw(G;iGsnpm*S(P04McZfI!{-Yf3ps4^n?jmuGgqMib zFm3A`gyp<#?(#lc2qhJ8)EjK&%WNy32#rTpK0b;?`AVTGom=uaF^GgBvTo6nJ}0dy z&j~#nl8t^LN4!G==Ei%}^Te=~F?5h+EMrR=opK>d7@E;kH^_`uTUkBUD8oL-c?X21 ze=NBu(yW>gLr0IG)CXkIb8^nuK#M^)0X}nc_x<9XsH2BHDp`k#sz({u2*mYxKH3iSlD zeDpX4I<>CCOdReXJl@4)VmBKmj7_$!MhP7TENG5}b1cL7tkGaB>p05dyikc)fA*94 zJmKK$d7W>Q44hG~R^KAXECghdQv@l-RlE%q7`aqaKlnOu-LKj600B@1C&eg4cVvc6 zqhrGPf^5bP`x+6s7uYS6h8!Tr;!0VTDNbWTz6Gox!IW}+;X*+r=;{JQJIxBp)}85W z-HS;frz9rrC5Ck0$kgQ}MscrAe>KTDBFjlZ5U*j1yY}WRMpb7cmNA|smxePCifQl?#9aDa&g%nSKcJm5X;qo-ca9Pd5MyP%kiT-d#2`V;yMfS$-;O7 z3uO1ECO=&%gO(Vt@Qk7}XT)8TyAtO8SJ}y{{|Z@(q%S{ zn;1qrMume{^^oy1sb}+&vvFx}>`iF$LnLPvLLz1~wOdMrOH@?+ynl z>h*UrR{^G}p&KO+Pzmi?k;R5SMC?to$sZyOvA79Yzsp_lTs*lc?*f0QTL>tlfXmky zQbSx11EW*qi$*;`+^Kusb7e~$N1Uf|+el_aiMmwRJ)`Sk-_099Ypbd&VMbl5yDsK7%Pv3Z6*w=T%zSVlq?^!(#t>K2`twp{3f>_7NM{&FnCx7fZ znCtSxA!TZE0mMase|H;Nd&JM-X8e$H?|S5iWUmzECCuabDJ?ij-&oftp>b{PMPa8p z^(a3fR~d1dNA0@zo$0!FMKVcxTO^L;sUCU8O+Y6n^tIuJ)zYOFt%)g%h_!6(tHx}H zmpA&|6#Z>7yTDV75zeg!pm*kNS1$+PAo_g>AXCRrFqDv0e*}osea^r4=FU9L z>;0^2-VKp}gOWC6N?GL87#j7(ys^*O0YpR*kA^MABpfSsPjSVUs*K z$-}}%;skMmAc+kmffMW|`Da$^-6#JGIlu2a*SgFMe-%3qLDtr=tLog(cfRx8KSsd> z%iWeUG8@e#*p4X56eL3WI&kg%tp)A0c7MR^sddF1Bn8p12T{5`NaL5{{uQ{Qqs|JE ze{u-Zi8NEZ14@fAxRgK@Wc6rMJ9SS%N+XyQH~IX;Tkj!-stjn(mSgUCKKDFrjUw<1 zzD^)KfAA>0#Stlg1=M~B`x{Pt!AUudP?7?VaQqiI?Y$S1-?bq06kP#Vt`Rk9o4L?9 zLQ1UrfPAe&qMLYlxV)u=ByLRWQwWR)u@Q%J*tcg(ZOr;?i2zjM=Y*Qt+}={w=S0Tv zC&VRJWQAYzDTT?W6<2AHY?B#hb;a~%;NkFVe>{dRF?=i@rqj?`^us$8zmsGWDUd4d z8wT?}Zu#4sw30m6bxAf);`lbCov&>MdsV#NFL_JI;R^TkI$yoWrPmd%k*+vk3uoK9 z`RXpb%}x3{vn5N>XQ~`vQt~M!E2LcfKRwX_qn~544(saIhzx}F;I#7+Tevcrg^TKu`D6BPVo5eB=o_XF-z#g^(RKkSL=6 z=>YMHl()|DNvD@v-X!2~c_3`_FXtl*sv&rkc-C~^YV>7c7n=E)t-juY?73nuThuXp z$3hK+Xe56H044?b-P1U43bG!(so7#Se{=?e zh5p?`$4t=48jNtrOEvdAqu*#4pR?6s@193554Oqa>4ASx7I@Kt^o4<8@0pU)!)xys{37bEe!Aa?t@Hf1EUEJ-`h> zNd?1E;~5~A>=899f&Qwkdiy=du}^l(z>{e6jjyLJ$RD#= z_MZBtgH^7=KsH ztUl*MLK?EFzAxmnx-T4>&mM6&C!u$$K!eUHcUy?J(@|)*ZeI_nl%3H1pdNY{C1VeG zC3BJ`i8S#gpy?6PR8<^T6=!hMQ9!oa8o8)b-04|8imIcK=O7WNf9yw8yc8j#Wx9i? z)h@3b)uxraaAKaXH*tN347~^PjNp9W1!V$umQ?Jc^?VchA}-sov!ek{f?ydp&*IHD z)-~oT^)-i|%L4{keR<711A(gF$K}bZ7(!SA$p)X$_CPKU74B!!j3B8H>=_95h$D&{ zB0XDug}0KNCE{EWf5((Ef*m98Fr#xjJ}kmf>}rk#DAu57b3*`j92z)rIE+XG_x3K&6tr;(Lr<_ibTzNUl4g9nBfByOE1spr7zohwg$pmn&eSNYT(0jPgxQzH#O6Zb1IB* zv_3h`k#ON${i1hldU39P$#U8{29InV!|oK23G7uGf6BwibWY>D38j!bCRJaKWi-2B zEVAElJZSEBqnxHz=hAC=W5O>4GWac7de1$7s|!72O;BVBiUhceJ3T(lUV7^;)d>Vb z6LmTr6n7*$-r|`!hkX@s$+pniFz0!?VkaBiHJu-IdOLMew?{`?ZF)|6*wfw$6BFF) z*7HHtf8gLLMGvqiL=*QVT=uVDzp*aX;bbveP~`CSY!OZxk0cQ=10|+PT2fR~slYW$ z(krdZl8S}iA3@5U2?Tb3&%}^3P$?%$rSj>NezR^Yqu)x*NDp)9LAuYRu*>5^4Vk1Z zwY)?ky|nmwBV^Siij@Ac3Smeojy!&tbI_vAp0W4ZMHY+&Z1qCJR1YFcS$3dp$#O@-5N)?^t&R`b_Kc_#5}VIC$W&azKw`LL zY^KXIqtUh0ae}nafe`DKES`f|1}FYodJ8E0A}Ix5n?`h!h_S{FXxPHUA##_oQKKm9UGl z!ANQ>M%+T1PCzhIIwro&QP@E&24L+iV3cHswbgX#9te15VLg*87Kqa=@2RZ2*Q-+g zw>vLVyKsf`LMQry^U`S>&Rc-7=|_OXf7g^$r`F&NBA&(7n4OnWO~@Ma=0nNN)ej}A zF>u=3GX*`_ewax6sOZYKI!iRf>RFB)KT-(hY#u%stMyHXsk=1y!`Pr>Rv(XVzpd2@^=emTd%+Vr3nc zsbs5(eIm^qS$1%V%|u z{|nf$&dCPqPJa_^p2ZJx64F@@W)YUU9k2?GS=mx$WZTo`ww}zcmcmmyG2@4^wkpEI zCU#BfCzS?L8)7;DIEFhMY)QxC0UY#2L*&7tM~I81wu{`4F-o##i5VSQwY!y%E|{zY zTNOzr-R_5(%N~Ope)~0ee_3t(`p8Js<1YDt8Sd))0oehi)@aC$xm*n?3j)nCwz6%92dMC0n_$oUxH)sJeMl2?NYyB~q&lTd6ELUMuHzop{_`xeSERWmeOy&B zbzY15c}?_rP1JcU%=qchTF*GNi8-{1X3oAw|0%n92?Z2!ga#>qE?Iu z?4hUDoDJ6K;<=z%o91q7H4FtCjI+C>TGcaBNW3JEQ-#v`A z%|t;NtspFBf2-i7jp5!ByvQy*py#W>Qp*LS-% z(Z;e_NaY&UOENXy>fqzZI-Flq@wS(_3O$~#;y$JQf9~e6My0sAq+!XK_nd=W)~x4i zD!NF00Uwa7?g@ZkJwMSPR%41=L;?C$>tMCb^VNq-#^)Cgw}0`DOR0~PpNVTw)V+WD z8F{ER?SqyTee9_>ycloZFz+r;UyH0Y3}Fgt8@vaswQyYfe=WGuQXmQ$D{-1VieNZp;iQ)Ph^Y%4U5DM46(F6A1(z3ymuFI}D9gf1e>8E2 z*#KA8p1AN-T@^=?JqYzi5HTlv(0VZkt4PmF2o< zwI*r`O2)^C!&J6**STNpbqHs)z5O!dG+kYK z+5o$`cbbteIh$zIa1zLK#@D8KO_;sXBny+Ya{#p@F(O8gZg(*uf>;>@K_}Ejkg$eZ zvEd-_HuHew)z*COI}Pm}SVtGs!-jky4g@JdL^?^!c^NvM6Ugw;(g10=8nV|fOSo;B ze|JN)4Hw>Ew!{Kmt17wb5dBx%b6YNbndH$pxwwjtxI3W`J4*KGEtQ#56$eyz-@Q+G zM~i34sW|0?FU^(jurqP})JPe#4Xgq=PaLth=MRvXSif0!9XFmfitv3bSSlA+&`wSH23NZI+ic_` z?bBD~mQZ0Zs;p*h^45a#j=d$oSOj$o#MDY(34GpmcNtFFn>O>@U#u>e%|{;lf6U$x z6mI(YS*zwQXJj^4H;tCFU76%%I`PotkWK_Snb_oHqR7dDc4h)wg>C}bo*^g`!a>C~ z1ftEaMZF=R*8I3QS!riLa5&e`OP`_5X4-C z*qzPB4J4)w*7fbP=Rhkh=b#t7Ugg4RXt4lKLm?SIhZE}MRPt~#YnX!ABha)p+7y5w z5y?fYNX3nr#7CZGoF+wY%H6sJ`n!U>mNc{!K(8Gf>CkuIF7MK@4v{l2y0;+e>U(0FP1Z?H~7nW z@$9Da=EoG@;{8~hIDVo1E%11X_mGL67mIhmh|CdE#0RV_ejVSVn{TQ zZ7jN89EUz~1bifpU{T&wugKFun+R}u!e5nlh-!m6wW8VC?XCI^dDHu6h5blSQ+Y>b z75d$aJSn3myO_mQfBY_uON98~Q3n2t_{r1V{U<-MhR3CWPp%7wRIEjDJ1yf}?9$@& zJl)_xI^ab4rN(SSvRzT25H4Qh`F2M~yKZ3On3KhNEG^bwZ?Uj^$ar)QiA5w6CK&_% zW>b-ojAy_rz+d0fwjxwy%;`HYdGTE~JR=|2ptg1RI>dbNe{pAj=+kynXaRKfptzUi z@q=ek`cbwKtMkHt5f#t*7UddWA3xbQyFR}#V93VK-w@k7HO`XxUh%&yN50y&Y!!OY zo3O>MNPKW!#P?56i%lNKY4c`QX@$OB<>&}Q%}x*Wn;TL3T~r*dAnlkj!r__g#_LW_ zhvl0$w%3UYe+hT^RHETyvY5^}Vv)26x05u^$1*?K!+!1TfTTeQ_=}WoC3X`b!yMz7 z1MAz72alm(I`?|IWDoz2yk04O%;3Y^)Y)qQG(n`x5a4Uo$NJr*sD$+D^Qqj@{=+-d7f6eF@8+&+GgjIoidapI@=q4$NznJPTgxn?rTmQ}PI3wip?CmvebDC!VvMz5 zQ$xPWC40ZFBF2Rweb~^0L@nY-OWnkriO$Rtv!K{aXZIYArLs7)ic7v+&?77#e*v+i zdh%Y^7u_bfy^dOs=?raB z#r8UuH*L(r0$D!sdRFbFu05ff5E7MSg#!8z=|(i1ix(jR#p;-iJs8Uqy%qDd)FYeu zq1)AA0veuWJB2cG@SNV33Xsv#e-vJw-2_+&HR(i(0h>n3Yg}$3HMf@4zM1e~kPD#=*IkCntiKctBwG(%OOM8B_S0{pl$f@-?#f|XRP3t&Ef8Y#B*b2;W zf`BSSVGtG(P#Oe!oks%=Icm{^M(;lGR&xqGv*=b~j?rChe|Y@7#2U7ibPD7m9(G$+ z@T9hF9!n_2ED*S$8PX9i#fIzIWZ;4|B~jY94WCK<=w60n6oYw6UYIUst|=60`pfv}sEJ7zG$4!5eEo~!lEsg4 zGoDGQ(+wEkew1Zr7f`@#(W0-fs$7Hw$Aodsc2f+nmZOGPCd<5Qe}aR_P|AW#2JR3n z(2qF29u(m3+PBYiKq257F7MiO5C-O{8$&1U(ZxjgSGL}R@HONYVGxpec6T%%$s(X< z#UVbkq|}P5st(F;hCvwTOG~&Wba+k{nnh`uFf%?RL9ELjB?0G*+V^T=d z%K7IupE%Zx-sKyhcbnT`02u9NB?Tq-}p6grk zl9~cXvf^ymz(@=ON_%Q7r4Vos=(F!iS9ulglI7H0>XP>HZl4xFRJ+SuucPa!AhZ$u z>|JL|Xgt26M!({gj*h-kt&0L*UEb(8oOrJ4XvbsyjQ=5t!q=<7e0ichqK73HATS>8;Bm8+LCiToZIx=E}=gaMtfd3tq=@tGw#h=gd=Y9P76n{SALbuT11F`Qf z#ecW?-F5!wJ^tq=|8t-JxhIN!BL4e^A8%Mt0j=HY9n!UuhUQ~z=LZ&0zGH8|xAw!A z&ekwmf35B-5`i`l1cb$JrCS7ihuVO7s76_5!Z$%q&Ouu2lc@OnCUS{M4WaQm9IU2@ zUj@D$o;yshCGx^dx|3jFTVq@)+A8Orz*@;zt3=5tXDC6@JY>f%AQmwXQ2Lrfsm($P zuX6HpB1HdA!-NvXK^X5;&t^28{q4+VPEj~6f0&FEtI=HiT(gjVuAQem9j?V5k60!+ z%U9n1&{4uZfK@zt74@JItRJJR4BjwKru!iopsiL}%-(r(9${XU^<6MR z(eB&~Q0EWOTdl@S=>*JDwoJi=93}SB6GJrmsCa(wY;?i6{dDyTiILZ_9=p ze+CJmW|LaWomyj+D{TU!HiJ8Tx@Q|DqOIebe!05WyZ58PGCnDJYPI7$ol;m_xq>*- z^O-yl9UpoJ6|M6oa>2}p5YxeRPtYj6dw7L-nI-DYMr^7rEq!ku9o;;kanRk9RJp8< z!BSGmp*B^EkZ|Y0HLKh&P^X%+1F#}C!e2|?H`KKo%sJ^FG zzCPYuZnRtxotP*g*0OH@tmiPA%uSp=_!yVAIRP&qHboE(17##FmZMxVCJl&(e_b#> zBquEJqu-Y1SobLc9tTk5j3h@#-$JS_*HkGh;KwPm4}^;r)J|;gp4_2sQZ%J|5Uc=J~t)9Z&5?ukXB+PO(!mr zy`)dN@JyG~WCI4@d%ipZ$~8#^srVw>0`@*-7$wqMeEn3Nn2;jwC?%#Ye*(DZyEZ8x zeNe6Mnx&xec=eOATlf}U^%V|bTE98eJP3zC8%OBUd*`u4*p0=s%Cnh%xSRZlRc< z6nAF~yy21bsEK9`AP1sb3W7_*>IiJ2L-y_KagY@rB0%Zc}@bv<5^FF z#VBAOe`(5>HeWYkI3#U@DyXmo<&%?WL2q7%Qm#$MimGO?8;su)f9~>iePcu;W?yvS zp0&`6hVRaP!LajbTz+9NG2`tnpSu#ykbGwq6h&yH#29fMn{>$}~>J^HN4Q$}7=z8p9MF%vWcX&r${ z2-Z#2)L}}Ja;Ceie^j?O8+tSvU^}Mf;Y0_%wl7Dj{-c5M7q0A-X;eF~UNEJUrj*)K zN)@Bn&GkHF`W<8Cc6oP#d#4n8LzxF+rJ@Xy@NH;h4Lsc$$mR71ETU0WKA_BeqDNh4 zVbrfl@t|0LNiudNv(`@y(qg5ojQ2Dc%+Sq7^7*6unDN|((j0^7rhn>R!k#$slr@r1||J;ePsR{L-e!O z#!d7nzAbW!1vw-O6D!_wFf^a16r0xmOmEa@-WvNey-}Zsqk#qygEjJ}+%( zD_3bFw*(Q|e?al7->}!uKx4j`^8&IxQlQPnMiZ8!=m}zH0lX{;&iiM1R%V+Fo`VS+ zn;{B|_gb$OmqrYM!UtP&p-D5YtF1u&;pI;EV1az?Ig=B(x<+Lf59;U8iHJV7(E3|uPm7W5<#2) zz7^`eu8=}#iDvl}0V3O^&z0u}dt;MD+>gQE+AZ__rduA)rGM2Fb47GDaD;I``$m$z zu-rZ%vAm&rrF*j=MWAG$5nQ_OH^-H@@#I7jwmGSoXqU?Pj=*vx9g^3JQ@ayIis&?XG8%uDp}CB zw$vR-n6Fmj;9Ro!J+F)3DR?DX7ZCR`lR(fEHXDmggE7#D6>1jyawWTTinwAU1X~xj z_t+w_GOPKJ0!FghNh7==C1BNOzf}om&kV6_W}cns+*tSplex7FP9)vEYlDX{Ay2aH zE8ta*j^rm*9ehe4G9qU#Y&l;6rG^6~&%3Yue0s~u2O{>VYZk}P?CHc}s|s5ojyf5r0k zjMdt*9gUd9XTiJT3|Y>L`q)xPc)>46J=)BPM{rF%-^7JYX=8g;G-O1b@-TI1TgYzL z>$5JIg~gFedP&MkUAHQz6_N+3P!vB1mz8gW%f`bA8}?p?%h0h+*f8+1cf6!+E<#wCe`yG7M*kT*fg6^kS8IvCOvW zDznLy$;Kaq_gzBJYDQr8#=Dsry~>UO@rMMutQ4YSLNRnCM=%;mF0hd!z#)_=Imy-p z1Y`WT)-fMH9OLsv!m0=%#FM-fktR?+5|AQvI4gu z(PX!Am)z2xFA7iWSQXNehU7vPOj0e13qiUKfyA3eB3KAl3h>q>UY(_=l6WOU5>t3I zqP8opY~0UV>GpP-#yJVEe<fa7P2OdGaljAEm~|>H-2N$~2CeoL z797+UbT}C3OS5ilcHxk+)Z!C!L?tasLSjwmylMGbaK)UI!vgcnE- zURX9Ra~HODc}oXwT(e!lHBn4c_twS&x!jYkf@`;IxV@bc;?}=+e-=L-t=YVXI4bMA zE#%Ty_PTb5^T_xP7a#6T3-yYdsBrQVWXUcphRTbzI8c)3&4%AByX|VKOrwA1sXt4@+5srO?G8jD;gfRjSKbk)F zQwll!Xo6n|HvDM(e|V{~X(dQ^D~pDKE<4v{XZSUw&*5X4dW$M?3)!m69Ty%O@3CQS z@gl+933*>6?vCqHkG2rhPNu|*(8#k!DqDVA32H!o@uYO3tsp^BCS^42*%bS)rM`>= zUI808MEi!U!bYoZq*Mo}jFUs-va>E)u&UB%l`4KQB3~gYe?1v=FXhzeDi@#K$*m?v zNt?+8&ky@wC&jJwS(I+#?T3TOm_3uaF^g6NQU*52{HWrI6poKFla@H+G*AM^|AeDL zA-zEFnY6d_zJ1TyM6Oh zen~!=$WY0_e^ULNB$zpw7iA`V86*mb2H@4EW-Rrrbjtoms|OgW{;2J~oV#@}qr|b? zw3Mp}n(T9=r_mWdKl1iDUxk7JWy;^!6!M30$nH}<;9D&7=&|?};@1$r2KY6=FFJP| z5eG%3Us4#1dHZsYQnHi9_r?ZOnQ={ksioZ|RdKPee`H>{9B{v@rYNohuJxt`cKgL9 zPtHn2uxPn)r?%l!w)Y=pN-v=t8 zVG5igeyty=!()oi4*jS?1_&Z?THK(49`JbY#;>GFgUm|RG&rpS#IsGeB4Pv#%eu9p zSheU`D+hogOI(H#l zg9bt#7$D3WfKb(MSm;s{u$&H(V)i{{e~79z<=f#TXfRUX$LnsX6{Z~7!<5zwUu#qi z-|OXi=_|ch_0%gE|iLxc2jm)b|$sY);%HM1CX6e*-)A zoXpakXw^8UTSIk{wk|5XYd|XIgiNn1LvY>C>&G8DsO4Qk5dj%nDYRtrd;0h+16=qj zi<4fZZsFIb;K$+^KSda+WVdD4SHYz^nQ|L_N$KOT>aUP03K*_4fnOZD?Np|`?jG7M za5BL-yU7uQpJv^MijE*WCcr0Ue|d)A6`XDf8K{{vUO=tmIM&gPPt=0h7g0SIr^Q;W z>bIpz-^S@}x}C5ifGS+J27peN&Sfiwu$?A&!Q z`xk%p{U80+Z~pmT{_fBI>+k;bUw!|xfApLG@Mm12i-23-|Lh z55E8DpZxaU{_DT~mp}FX=2t)e{?Gs5cYpE^e*5P?{q2AGkH7x!fBF4C``NGm+b@3e zkN@a5fBJ{``cMAi*T4KXzy0Yy{p+0Dlf(#hUtR^z%SiEj? zE*&xFKpsju`2qqce-ad-7v!isc^bcYLr?H|6i;fWn&6^Ho_uES69lw*8k3?l7|3tvlj28o#HYP9fNHRPnRBEd)mq0tct%;; zrGtlR%GfE_UBA8q_DQp@T-$$g13 z7VvJ$&COCpMwWVc2E(pGERmRKnw1AweIyuwM6qMx92bjO`8zcZ`$CVW1&0w?FdL1K z2od4UU?~15d|X3p*64;q3$@kHNK?*GW7ioe8_;2+4d~Fe0UbVG1Z)BtvBJeOi5w%I zG@2U>9n2UhfA1U*$p*EnpFp~jB(VYyp_Xx=D@?~_})c;SZH7( zJ~Z$Ijrf=d>gVX_IjM8yN3rr}Z{Fwv;_*2R<_&9$^@KeJ&bMW^`7@=r{M>uMvv61@FdXVN19eBwBg>|7;B~vqJ&V_ z{rp23*bN$#vKeCZb=K<~pLBXTDJnNq+@PL?7}RrFK=r$4$G`Vma^4z94Z<;pMfvpN zqV7osfBKbc%=$s!O);V`nQEJrgEF4YJb4SqjH%bYj#~y|i+A-k<*L^jXT@G5 zr3A#g*{ou~ZF#SV{*9xG$37#~5PW+EVbIGhJ}jP_oXiY_land>t$36pjwfCHO@T*K ze@I_b(mYNi1Scn4yvbR`;k%6yMgUn+E;UwV{QQi=WjVq1(pqyS4v!3L<{_}C3^D~& z6Q8UC4k@C-XI!$oS}koYMY9SCX@RL;T(KBYRYh*+wQf7biD!NU>nlw(+$6aZak2ugW>Z(1~q%%o-> zIlT`}&(vWxsU$h~}eY}|k9H-uonl$`bO`9KSO?e?TStVTk zv1inZxzTkMu@x;Hon&m`FnTP0k%7YyzsSI0fM1qI7ey%!r6W=$p^H)LMtc3Fw=P!Skb-4Z zsjK6t<+hR?HYZIA-N?XA<;s*2f5=|Px#af}gtc*t1IQmxI7DKLwV}%MvyoHgoq8EE zu`z{W@AbF+ZBm@ckVUf8gTg8DrCX#8Tw1y2ghT}b{zkK-MC^jt`UH_>C371BI5$ma z>%4ZhHt?Y8M4i=&O+|?rMh2}ecG%PLoe7}CCAPz01=?=h#Y*PmicmFyo%OXJ`-Ndo3m8OIz& z+U*~F4ZVrM9;q=($Sp7TfB-ny>x58Zl6rOKp_M{JFhJS}DO&MrK^6(I!!lCmQC-Cx zPE1FDfQ{4c&71Byj%SJEe|e7Mi6rRa*8sl;_=V#s`av;q*QKc~$ef9N!wtydQ!>Gb z{fJkpW-8P?-H2wJ?5)_Ida|SW#10=*nV?oF6E@2|6@=9pA@bOWZMR35Aa|J=;iVfA zoBi+`ZHSyx$atX}AAK2nV!U6*dtb)ZzC`;wT7Fb^KLRzEtOUSZe@EzM1?K|6V>zlm zumaH&p~TiV>zE{cC*jd#xEO|nx5a5zpQ+*1>hri?h?ASV6eD``hTp(E2KNk3p$rMf zAb)g(0-unn69rVqp?vcuGNZpGZV<~xsKrTgG`7MHrR0()ug#p|%E%YSx@FJG^U7_~ zqE-VR-+hXJ8G&N8f0pt}yS?t-7RTiJ>L%#VMS1PEvAc53e4vb?SQ!GPjb>i&w&zkrc_3WS5k$Sehwm`HNF-=z!HM zW;uKJIl_QXhm#=KTS;y%3{`PS52h76^_L2Qal5#%ZF>;+)191}L@ZZICh|yz`gGH| zO*j?Vp~Dsqf9JMAL@5;tY6zbf@x9M(*_~FV2pE*A=5s151M9dATu)_)^89wnd4VpS zhYZf_hV-5QYhTv1cyrImDR8B|YHQ6ILM?fl+R=LY+U8EHF~_-W9kgigXK5wn%a0L) z@CJt<{74**i*h))3iiny8D&fIN@Cyf&p8xh&Vdu{e}JFrT}!;e4`f`yRxM*rejXh1 zkR40|axfK4TS%@Sf|Qy{-_@bAB#}SCgUbnCF9qfI0JaQ9+w3lO7^YHSxtLyo; zC+l=fR}sP?N*7mG%-!KM!+mr05eWN|t@%_&hrD2WT!*Ji$D>;8 zID5GFe~Ih3ot{>t^r;;Wu{pkqrSB+P^c{)PG59Y8HS-Kv!u+#Uj^LAiJ^zIauoXzH zcx5saP?#dFNVup%6^Ee;Jr$(0qr#8rolewFGlt2|;*^%?`Yw5zLLS!;ffFr|;|HR@ zgxn-W`y{qskGLOgw{Emg6dO{5SJ`N^21jM!e}Tr`Xuiq90XbA&x(S3|d}BcYJ%s?7 zRFJ!iRB&=<<+H_oQU4_(uDm+`jtqkJ5Gvpxamd>20UjS^)Gj|2gzK ze6nU2rz4}Gfpkn|RPp94)K)~gAt!=NjH@$o8qFtbHb>|Q zffmosOG}qj={K`NA^K;V=kA`BzM#vib_9=##$79_yC#Z>VR}+MmkO5qkzm6F54Ky` z)&etF*y_ZwvET#aYlCI1^2MgB935iJe~-H5$q9l>3Fct1+=w-!Zxc)ux_H)9`e`pC zWyu3#y$`$D$*P;KcE=Aqt-pBCTV;L(e)0WX7AbCDoZ4=`-^Y7j{JQ~%&n~Tl)#{}{ zEfM(2#u}ll5h6s|^41kv)&maUMB&RGZe5`V!S+0f*gy(Zn+apFEM%%K;qDeofA;)a zWQaiQBG@mKqurPOm40?C&Mx-i!75umI9ctM4~|zmk0vBXE&0)N|GX!@I0MJ%tP;mN z|NL)lc*_U00rhd{Aw&&B;6O5uklhl8se%;k+fY*ff;JWi!ey24BzUEJW%tHOupYd7 zV=<10NY3Yre@SY4{LQjBNgU2cf0H}|geklsB`SuqDdZdEw{X~<5yg@Dv`xPVRUMOi zgdT{)DFlwuo_?}I%QVl|=U|eg%Ht&`;)F7q-iIND?kR2KNSm=7jhpQzr-JDg<0u6k zb}QZ1;_+AfMrYyNQ=)$9_t?yBD+??7EYmJ#_o74!9$Hd;3^YTi(QfIOe--WhbB8p( zU3?M=GU5{I2#G1+d`?QN(p$42nMh`qvdetWzHR71F;t$%z0Pr`_Z=yL6ZE`&KT3A- zr3*EL-#=ueO6gM(7HIoev4sQ0nDcK=vGZM&H|B1YK7o8IrYGS#Jq{NEKsj6%*V1Jn zuy69HI2H%WR4yJbP5Tfce^1z+NuZ^KrN>GZQ5&Z#Ll~%V2%`Mo(Kxwr>TWcwkFp`n ztsLh6wbcuQd0-E0zm$nd2a<9X19&LV4v>n9b`{HLR}cNyMQqs)I%oY#G#(kC8N;0` zG~g2IrapwjtpdRhSLM68|HbMWYCTodedOA1U`Kj6*~fOEtat$cT}b}*KfHDQlh22P zi^xAi6aBwW|G72)e?R$GCI6(d!J_@PdGx|zME%6IAao1>n{Avl83Y3&M32?J>m`{3 zg8z&x9^^xGu0I+0O#Gzx1y;LWt?&zc+Ev-s4|`vT_oO0(`4X%4GEopFrrnJ%y0Si; z`yZke&E@7bOxnQeMv~QyELL}CSlvisu;?OI7p3NQiV4MYf6C0+Qc2=+x~SxmnUQ96 ztpGjkoUUT9C8N8m8cnKhcgAuOIvJW8XXRPubn%Wk;_6+je%HM6#4XIFIo-~(;ktFiA8qYb8!3snIqnk)yHko*HEEjE6oft% zrC(eW{c*n1vnUt*gIN?_pXR2R=V^+ZXBL^usJ$BNe~IzpiRM)xQ?{H_Uofbd40`eL zs{Y!4XtaG}a4u1_Wo+BFlN;OSjcwb!`Qqfpwr!g?wr$&XGI?*_tC^{Kf2X@vcmFuG z&)%obkM7-j?FGJ5Zoe^spAx5R9`ImTTtELyY>=w^ul}qG_#A@D`<#$pGR&~8Da^~; zCCuz+E&>U?S;vs@8E~Rq02dxQT?c#MF7HAv2YxJk8lFej1zxF@KiC9mn|K5Ei1=y0 zXatAl#=lV&P<0Q^!Yu!G2t2Zp7rV%cbe{@8v#+gh2t^r4DE7NW%q4SBAT?tcAVnEa zFf<^jpHl^dO%v$9j)I>%IS>($zP_B0h=Q^Pql1$@qm?rwgMLacnJ5;FVeX}w*$*7^ z;{MQR0Xq^S1-?XJhk-;B6ALL)NDjjh9f>RVg&|?eO-(P#&{2&@Ez(krG0IHJOvuQa z8kiWxCc!sp>AkJu{Wt&#RU4N7sP;4Ee@y#-9OC@}g13@CCB=V?|F8A`&z0c$p99Fs>}G)ZZ;SsKfW`l( z0EGUp73JY30>VqlGZn!~@hwn-191O@^B+4P`vqT9$ObLEQHlM|j3;`oO#vHxF13iX2UF4qJpDa#{2sJ5en4$m1A@Mp7Du?goG3osKWf%dN37-a{v>z>U`sX&NV-_r8D2gn(&W z(>^-s_2)`VXZ~!IorIJ{qO`3@bAsCBBA@R>kE#2L_R;j-Upfz%KUSCtQ zoM-R1PH(I7SJ%e&4ge)?<}FXhi=3E_E2C*#Vbz(M!ih)UX$HA)XcLZz(;LH^{T12) zsRK};WD{ZHp~4ZFAtgmgAOue+Lp+x$d_`+K(mFZ{!LRU!g`_3rK&Oa*jf`wefprHsT}FpYvW=>uI}GOH2Y&7Ati& z?N1-a4%};A1VD$n-dyt}ETVK1tr-BRrGlbRRH{X{Kc-*=-bi%OZPNwv>ynexk8D_W z&&}AVJqxv;DKKBTDoHlbs@I@Fi@sN(Yc@Xz;{&U_)(}SuZe;Cx!?8iAZniS9)E4v$ z%WUnJ$RC_~b%<}A)hTQ*sJXtAu?V7MU-+uy87>v1TSYK8Mc+j^=vyT=E%lQDM+`!q2&td_#jFF4qIrrJupeuG zL_{mDr=DQ!;M0ajn8lHxy)j_L8uw+HDb$a%A3%n)N$&0B_nrFoNAEV^Qv&e$Ncg>`(DT-1|2?YU`?k3Kb+P?PFZb^d=;(z7 z%S)&pS&W!oyh3TOu!%{s6LHiHt75#? z>FVRSE0$plq5`iTuI6USdKW-o9{1Q%KBeL)|Ev2m;wR6Z^L29$cqi=nQJmlS$4lF_ z<txp007xyj z3Os1H90e-hF)_mk(INV*dr}^r^N+Ius|rhRb`GayD)0!BciFvn(?In~4aLs3;J!`= zh+Ph{v@3S<=Bx0_n*(yc*tD8ti}zQw3z}Sj{ypda5zLfZCiIXL%2>RBW1i^TQu`>v z40gI$00<%l$#YB@`TlQO^;8j2!<7o7oox>c_!SGV#20-{dO7Z3v74FUK#>0MLSp*^j1~9t7@0HHIAm{A z)_K}e`vd!RCiLc>Nt8CL;{&K#MOe`O&_IU;N~rh+!@t&D>Usx0-GCLv;RyPX#0>Mx zmij08#~<#uhP>2)%e;zs&$7Q8-t~11N;|z6YnyF57l^`Ao*s{M1ueo!7YN)WtRMT< z9D}o%FV+{&Aech|aF;7&jm-~-fXYed$&X5aiq_orO@29rZW$8xTBOZV{$^^NytMbv z42(tcG5quq1i{VskELQpzN={$x`r4{ja+%oheaC;V90|pc+|oY%Y8R`UII6^RHvg4 z9{I!nI(9D}y0D=4j}wZ{);!ap>SmpksC|NNfP<67jnew$U^-g-w2ug{0SJ zJG*wrmu5D5c4{s#bd=r?3nz&dv^{hj3w?T=3J&cYdzRU2Im;lZ65MH55J)JwZY9l<^I>o1Jrh0gXM7q$eb?B71H zBb*SwX3k__ zwm9vG1}m7L#Bx!q(iB#w`=ZGl%FKzv0)NaTJiUH?d(WDd9; zLkrv{;|m{Mx9=?s1$kI}hP`RPcl1Vh6q ztOy6o1s;ertne7pPEtP-#wB;ap9{ej^-G0PL5Pq3wCe<|=CGRvodt8j(}Cf&#)8iW z0MtH)`tV+HRQIL13Fq^<9p5=?EDiNy9nA;o8@Wh39igKm79{6_rfU1Fu>bvz>D-h`;$PCRp`(_;xDHasDYl$WFr;vb|;%C+_qH<0lD0m8#;i6Il0F;tA^vjh9DINz?E%vi6(inupXH4Qib6oo2gJ9= zMQq>%bf!;JnIiKM4CH(=J;kwP0{@yr*&UlcgrVPWy68Dg+6POpt73A=q?{k>UNiCjii6<#w&WvUZp~(0^l{TYkhY?={_RB>@9h8u(db40)g~jy&%L zJyN0_*o7OND725;3AjjHt%T*ZSA{}x*S@&QS2Ov&c2gdAAduqV^_A85<}SEE}kJF#WEgYbE!a;O!>a_?U56##=y_bsB^ z4H!BQ91XO>r;$<|q{0TmyldAm>DZE^pvRmpfA``{%({lX6U4xtb9)M=3t*8Smt>k^;UIL8(o1$&CqQu2oy_>AleVmn3MPBm z^ddBJaH>*Nw|-a;m^BrAk(vqz0FeOPx1#n>Bv~Xi%Zo}~iqXj)s3Fz!j>K};EfAvz z9);f7N;_stu$vi7$%n5n8#x0g+XYIx*B2$>1sFbelP6G&U1mPi>KrtUHxg;b#RJx8 zMiJADPK9bV6Cl!9WF_?s*5*dQ`b(DfP)(c~)0HpRm(`Tugt7`IGaN0?`S0o=3-dH< z#Fwh3uPnPXUa$}c zs!^q~JCWM275$`nzm?d3dH-rQBL5jxg%2X-eu9>lssf5qT>^K*J#>PN9C-r!R6{aX z#)%Bp(CMXZEDaL8M12DTAr4d;zz6vyis^<;n>m3!;rIYecYse{xFZTUZ>U z`>&!6)C!J0qj-sPL6Sp@UC48nSTZlS&C^;g(vRl03=_N1!s03zY&*6Y^Y~~^Vs;Y0 zNS!BS=K+-vP7x}MoTN_Te^n~8!snc2jQt4vBf$zKCf28R{|w^EWOme;gMw?EZy0h* z6P)x0Zr21=$f0t8lO91^cw-P~&*@hX-;alx6=<^5sLirO0E$dC)=J^)jQ=WGEHn&a z998pRDZ3_zX=rNlJZ!~u<(~6FQUl%EyLI-W=>is3D#s>uBTwe++?5By*fYh&L@zp8 zpm^5aD#P4NGxI_{TJ$e0Dils%o2l{7@k$4J1RE2z@aQN>35}r)?SkS_0??|iRgkaI zS}r!8cs>0!%cwIoQRI-;Tw-Gv2=3@CW--1J1%w;a-lGvfqmm13FRuM7i(g@kW_C7d zt^fegtRz2y=++#Qb^9c=ZE`^&tU}72>@O-I=xp9^AcX4mtn^2p#MB!delmZZiWS!* zt#hae>W0*~7~-XZ1UF|RJ3z#u#m+VttYm5>JU!74$!{duv$Z*uabWkD z1rYT*PLa<2unH6iE`rD3#NeN(^kkrQDWz}t4=QJS)xnA>aaGNt)#zObuULWiopbHh z2gY!2BFLO37Qi!t2GV-N@y(>ZYpk@x3+Cly=x=cX>T`n)==a&6Q@ZHICn8hK%>c;3 z{MaR(s=NRv)4s6jLjznj@_kz4!tMNfYm{77?E_vs_l_Cc^el+R?i_1;35sD;3*dc! zU+mKsVsG=C8s@|31bFMy`WpC>+rLfx%<4REZX7V|vV`o9l8~3p%2T|J^0wIsPO8Y- zKC-aqCwXir_wyEem3wBL{s2$HCV(vy9|muX0|L(XNQhPbRaB&!;LbD+%*m6;tm`CV zSf}YMBPLSlZCLvnnvIZIS^O~~ThPLmaj6%atdaK#IPICxlT{cZ>9wfJaJd-|*km}{ z9RjI1d!~Ydbq2ou4!=cTcGEvdmu(QT-Da|tekNHczFC;x#pV2GbYxPe_q^!1&fQy^Q#6dUZhr zt3)NRt5hM!wo0Oniz`w#>KdC0SJ0Xtl@YlDAyn9eOKk}^A?ra(+_KbPhysqB6PE^I z{=C2IsIpa3e<;?uy{da(Y5@Jc9w)9zzw(SnIW0ncl~G8bArxWjEa|0WU{71FF4Wx< zp9!VU1QQloi1*Z|Brag>#xrX;i&sm>Q(aw1)pP0#$wI^_sFamiN+IEOi<2#ld_~!U zmO?O?=7?>j|Fn0k_bI78eSx<)e#^J{3`{QLJ}d!7?rTlA_|cu|%D&*zSq( zilmstO1gFRAklp)3*oOj5)?G50;`@Ph^F%%pSa3Ot2#t~LRiz=RpkyrC%27h zXy^f@JOPs5JCG>z@c{kEeNm_c*B~RBgf!gPhr9U3Ma(G2@l?b z23ReU>ZOIr)~yLR_5_WZHA@m@pkWN9+`|g~HC1%Vj(yHH&P7~fwMy=P36?#oGPtOM zR;sjVR8O%&shpNQShA1Oe5m9QGZtkl>Xn=x>L;$Q9sLfKT!8sgJp~FLt(2fFHm!kf-nv=ZI9|egXv#xz*clK78@~Ja{gnte3u{TK-X=9? zZtP1=vY^J|c>t@usY(~qtKx4jvl}(l7>vTM=;5(B4f50i1s$BMw>5Jod+=&BajRC8 z`NXW3`00YOTo*@$OV$N1vA5(BbB1(!Y>BSZ(FQlX_{W(i|5)dNRmjN0@+M&x;Uw5w zH08e5MVpZTZ~u|gf_dZihe*f-cvY{8^T}$US&TXcC&2y}`{*$JZ?Bo@fG}QZ@jzxP ziW^KazAfb5!C0ZwO6y-wn{SDyyQnmg+}jIQR&`}}D+9jfEhqhwVejzu3a{bmX}*4ewYb==yMb(Odci9pdOuyVcMjly<8=ysLrC2lhhZODa+4F zD&vijlAP*rLA&zwm-@MC1`9&Vbm-^p#XSp?aZe)IMaZ@36(r2iSgrC*%jVjp#YLL& zk^mILe{nX-sxxN`|8a9po|)G>B1|E1mEES33g#U!UMY*j9L?s`Ho9?(Jdsgp$kEf& zqE;oF4^1Oac+}fgHS3VTxRxNolxz@pHK6!J)6=T$K^c3JMoqaAB#er=YlZZ)Chp1q zGQt~FYeIpkrE17J3T8i3D;PxZCBdy}vjpUYL5Oow+Y0L7c-OQdx5RWAg$#^iRFGwh zx+2X@8;kOq&?bnS1C8mIaIp_=x;=Q9DOMcX49K2FdP%l&Ca@{Rj2=2exaa@K#2hhG zW$$nwrkY8zlHgp>Ws8y*d zWBG|DZywgPy4##!<%R+^UA6}COUn=%9BrB^gX?vyn<^oT#2{d1h7*x2CI?!sCxjT)R&Fw39?Z~&auopAE|0lS&<6MSwWio%?3hS{Efs$Dql9aumN zzS?#vvR*%{hZD2R_UC`Dvd#_BB-%|1_+oZTS)nl-Ei}KP{g0;-a1l#z5wlryXe!C& zQzo9bEzRBqzBRgTb)8Ic$bO*}ApDL=!(fd!Nhk3vW{wm6wyibnP2qR&YBicgN+BwS@^~tUgP?u0pzKO5&ACOe;!Y9b)1hmAf^cp* z=7s||2{QVI!;D~}#yF}$G%C#s|0ZcR^}TN z^5Ps3zn0^u2+Nrdu5hRGS9#I!$7^5FLNd5cz7B)E{Dg7m7=@;?8GsrRpH0}1sNdE< za&ku5q?aadX120nfye~-pHc7iw(C`)l%EA+qx;oRcHlDd;!KG96pxuJ?)Ag!q7&}j z_zo|`7aPS<#guMfGMS30`Wi%i_uhS!x;1&fP1Bms`0T*PO4~VTnH9$bKaRjfcq@3> zVtVSdC{A(}x_YUFK49Zyrq3IY?S7@Ewlu>GF!erUTc~r6?2&Ue?+LfVso~o66M!)9 z6$2|Bc~w01bB#1GVBv1;(@z1J!T*noH>B{VwcNl zfjmD#A0Z%BTxamna7p%bg<{EV!G+L1hqToOTYgqwLx1dA15}q^H@V6A7=N|Dh%>Lp zZNG=kPyw#{-IaZ6@M>DLDXjFoG3P2EfJu#3K>I@oY~BKax32y0R|Ga*VjFEO2t~bF zpC2llbu&`!g~IoNSDj4UXfIb*&l>`h9&ICGnB&06zA|WQP@&ew2fUv!X|LmJKg^lqBPeAwVdq; zf864BSN9Nv{fedazey9OjA!I=zhXPA+yOV-a(#aXh>GO^VQbJhQ1Us&s4b40hO3UT(U~P_=VNX1n60W*%F}|rzjRGyZJ^s4WQl4=GPxp= zMwoR$KbQ>5y%iSu`>9oG#wU|Ot023tCxx8uId<+Vb*vpIbhbxO3Cejg-D8tFFR)+xaV%!4F!E8+r#;%?eva~=aJQFxuBH-M#dzy zmp9~tg)^E3`wSJ4e6CHlZd+MGq&3p0ft@>2Cn&{9z2|pP?gqXEH(9z6rU`_Mc&Tk3 z07CB)gCdK>3X3%qzMT!R9cJE%WA777#bFD0m^d$5ol6L|*bpQzXf^ytCO=1f?LxNkWrbo~^fTVxd}k0`nw64ZH`SRU$0;!h0|gq~(DK=LF` z``@`m7Zyi|3cnFfYoLr02@~@$^tFwJynVyR(Tnhe*H#QNqADo2nXcLG#j?RhGvyJu zg8$z7NyUVJIK>+m#wTmJXr30j7IKqWQ4j?+MMz)Yfgej#;ZihJ2}~{C>K4QxlbmFA7Z}5pQXV+i;yZTjNh>&|UMVcW zNt(cMl#AfBP&o*$5OVvtsGa^xqrGe`Td|0SSgU*pyaK z95_;)zMmiof~Uz=oocAW=BW*Z2uQMmN2Qu-rr>0dBEKF)z}up9K%Yra z?U7Zoojc*pnWe=u&xJs%dKWQdf?r)@CKg=4yranZq#`qj$l~lI;oN78TN(i>%7%*Rolq6==p800 zO^mQm%d_^2T-ZiN2D_$VOKgSR_8}7u3xXiH?i{2S?KL5?x|-rT1<1qPH7bbZ61kaJ za1e}RD=GHb?^We5mVH{|qbAVe?04dKk574 zFK+wXQ})!%c%|-D0Xnx=QycEZL=5e+g$0gB2SbryNKjzTjPOLm8*@dfm}S47x0<$U=wD87+Bp zpXNbU7ju;>md>NhF2!D~KFFJbpF!@i%=FSCepSozZC4m{0jSDu9a_!Tik2ZzDVe#X zvnM9P$snEGL27vhnv_@iFgLA~M4?vTc@;K-Dom)2~ViG^{zD}yx>wiLLL406?kW(-ekgxe-3 zW@dw}q7L?lsw*PuVF!Y^nv$xaS-B)3!UkrqlYg_pEmSnrxuaYXwZ!KHx!@P1tHsp< za;D3PXN#EF=IWvlvIri5rDJ|+tAKov(^NAAHa3<8;8ciyw&Xz)Il3joiTnZLxHJvo zK2Z^YH${Aegdker2IIYu6L+mm=j^VjWyGb0)@L7X^BGH`q9GQBYI4%-^WP@^lX`3z zO7OB2CfMzoYf6g88ECdX%+*dZ(L{&Z*{y95}bLiEb5QY&d%}c6R}7pJ^E0I+{jwGA~SgFyEI z@Lt~;I`V_g=NVW~Iu@YyX7eqgB&HSoBG0r34HQrLuIfw}nP4tBo-&YmBR)37f znAIP;Ll;1gvj_Qkpck=Q$77k=BZT_+&mb^Bq8;$?VWKMPA(78FG_3%8ZnkUjw+>$O zWB=0rI#T#435fZowA;`4{sbH~6{-PJtXQ0*L;gPGam0>+5wZyjmNa)_Z%A-2j(4jc zSnZnP{MuI=AO5+dtCZP4y0hqGS4d{>b~wlp=)T zOL=^a*cfkUA`k^)RKoe`z|j-%wP^2;M7Ol}{kFXQu>~;D^0x`V+l^B2)`21$o6{oi z0)@YKCG|s#BX~lI+mJe|$m!+)ufS6s^fA*Jg}3BT$`s12-UB^JwoYAhtI5m4r3}Y_ zg1&YwkAWd)A!prV%IUSY!cJ#8%`=sV&*}^e?5=&hcSnlx9s{?$qkjQ70-FQ{plC)e zRHCu~E1zwMn3H?d1Oy>nX5$vBEUIm~WhQ-AakNN;vp=!g>Sjg!Vx845fv4tnbVASz!0k1FL9~tO3?+S>(bfq?KRi{H2o+*ZS@lpLto!U!d^rhmL2krLe zzQjB^Q^+lKImmid_(QMLSW@^ppZ?lm)Eu5D>-e{al2c6dYz8~8-4ym>hVoLX6)C8! zCmG@*BCN)Jd14srFCE+eV1z(weF_7~*KBXtV>ftV0T<_9Z17tUs2vD7?4@giKvEM2 z#2~J$B#s02AlRZ#@rH{Eg`@EgVZUDE{ex!&4;e>$q>9_Vb^shec^!8VF0r%lPK}SC z(nDd2buNoIxU7wqYam}y7)s#F=s>ou0Y4Dz&yNO?-*4JLArI2#066NxP9ykx=xw<- z(dxI#o|L?@vWKc?;jQgFR0!(nQ^b

d0I>=_qCX3dptr46KAYd|_e!@RHno=yFeU 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

  • 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

    xYi`KO|Fu*BESOv9hyN9 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

    80*c%{5!hb9nn({hU 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⁡}K+h0htV}-RW zqqCcISt4{P$PRCOh86~WvdIR-c&c%iaXIw^lH3T{UwVBZ&XV$C&MEBzIY7jzgnx1+ zg?E{Y1NJA}iecjtm=|ztQtYqD^)ZcWz{zj*CSh$W;!_Z`mB@^MokMnqm%!t%FGRO; z1=y7kDKL48wiP);n$4s2vTEp`jb(($2IVS5r)BJ!8Fa$JZhnNpqQ$o=Y~>>s4vR1^ z1)tMt6_UyG)Qc4af2xlucSQAaWPeaR@&@5GSV(2}64+%pYzg-R%Y@=9qZ<}E(G_W9 z5M;(A5@YuQn3y4+(U`w0E)F5?jaavwxrG$93ON@l*M;qbN>2ezSLQTyCL?xPTBA$4 zK%&7jI(=p*V+W#H;Gp>V92`=~NI@~`IokdKj_a$*IJgLezb3+v28L1(LVr}u+BSF+ zZEUaZA+AHkcqXwftg#}`V(19jUQRGe`66eM4L@-J(bki z4H#BT`XfLiWr}q$EYGoKLw|u13I2&@XPqN-4$tUtPsgOExQHV-h+66Z3GZPploH#WnC!A<^+mQf*F3duI295lt>bM ztPZ{BQr-bc(NgNHZ0Na{jPj2mIkPFgVi{4+sR(lbUN9j;eH(N%+vSwi$IF(k zOa{Dfpg%6zPymt3^|v_XlM-)Supk|0t%m7bk6(`8z9EEPzQsShne`7>98m;4T3RaY zq`FrHbxP}%bBxLnqJMigZJR>Wks_q4s!Iu1W^gx{ItjN2)p&k#c6y|UpCA4`)9C=) zaVbmz3SmlDSC&=MSI_|9ph$g@a~pBl>AWvUhOG$C1u*YyA0MMIf#bV0*+`jW@mxZH zHX{(+ww&Jl8Y!#U&!oPogdNYyis257cfy9SNv;8G_0yODF@FlQ!A}aF)?aNNJ=;X2 z1C0=}?W2la!mu8HoJYne3vSrNhiwODdpgBdw2VI`}OAO>fzz)_quyZ zPLeJKriikqWHN{%yUP>_Yx0iW{ny*DM#C|A8;q_Ji{ls6%LG2qA5zHyAhJ67v@MJf zxsiL>&|^y>fd3dqB(o?B`Xl8zQu|%?Zc07F3gVf(T7Ns=_4liY(x&^l~E zB$cSMD1UoARK}+q2VK^^GT`gEW;i$(I7ZIB^yyenPI34PQOY)c3$N~*GrDo;)FIahWsvcq0X&;$-t3{Yd_*|bzR>V7{?)xH^#evt}77eci;meT}4q*{!fvdZPBro`07&S!G~ffM#MM%zths%b$+Z#B)8Ml2OI@8#LIIeP z-hbeiMHqGNxPJ=dVABVtvMf!F%P3{XDP4QH?0aa zj^Pl&H%Pd87iXj(a-EiC+gIl=`_I*F0v)4zY=mENe6#cjh5<>RpL&)0np@;vMVxfj%QKZPqjE zrXtgDv#SqMi+9?N(`mEX2uJJ^uEdz|yZW6~TT;u|wp72fzpbccHk3Klnp);qtjztk zqE%*)QT?u=e`vQ^SyS)C?Xa?z-X0XS^?sceE9+GCx(*D+GBZ89SbxgKL>UJIijN-D zk-Ds~<-(&1Tadam1<0N*0y3x5$^+Rm z9nqqkGCUwj243FCMySg1g>rx*H!-0Q3*u)!8e?Zo!&8?*8N);|H09YS+~K*gvMZX zS}n)En)us?Yj`hEXi^!T%5Ai*Xa1WXcG0ehXjU!cTFMCe7t<})!wv;wKz@mlJZmcA zJq@SiJ|jbOF_i1>jgsN_*JV}G#}=c%jdVPNHa}vF?y+JsmwyH`QdQa*2Ew20PF-QJ zNW3OuWKrRC5E7}p_6Y`C&N-gP{s$R1g4+U$h?*Bu=@>5VNRY}Z74oJ(nP>w1=4`jy z$4A2vnx~I=0Gj}8l<{s${Y;fBQ&=zPaZdZ(vPKJ`DV7%|$ajgyLzP!+Kcz0{uF~#D z0Vi_KrF6x)C4YEAf!kVUWB9|xvr$x5t=zV`=OO%QH(c8?UmSnHJi5MF#N4!y*46n z4Sz$Cox$lY;O`7hHvxZVaVu1AWKgRKn7*kab=S%v@PDQQ2wZQk1)p{FjuH2>`~K@N z^)rU4`(rPTOK+wmWE;dKe|jSg?I2%hdJi+)%?L0Im@mT7W9F$|8NhMFzqtHJaq8;? zjJ<@O2+(?r>R=ThmuiLT*HyfN2}F3Kjdq%31TJlxrzw*q5K=xZsS`f#J+R~lkYTIB zLsdg+z<-K5UIP+Hv4xxQ!>-&LY>LW|MdpR1f}yA3FC?57!>5m+)NEx->#}V_ZGy6` zi6RH{)tt!OFxteE+{BaY#IXt{XtB~SDA7ea>$<=+MuK^>sT;51Ph^6+l z8ylRC>Jkm#f|N*MkFf}o>K%5y?0NmwjpHM6Rfnm2>VyMdhBT;zvu}!epCd|}{ zA=KcR=7;5WXf)de0N_BTmg-EBG9v#QwSN;pJCF-RByI}m$Wt;pzH4X{lJ=b7N0=L) zK{Gd!V|!-#&bRo^VGVpoUzw0aMCK(hWTD99Nn;O?HF#IKxjLK1T_2xe_=6J87S!ml34G}obw&iq*1VM&+Ob*U@VQ02zMwW+71)GWm@ zbC(`|VJgM6jOs+$l+1F~Yc}J6@N3wT6RXuQEC!Oc33-aPI^8p)r{$89!;4Y&(a!U=iYMzwFMG1H%Sweo6CW!WwN> zqim#zCUQI87D-8=DGn=kCqr!TqeX*bOq#K?SI7v{sxI!Z_Te%YvuY7IYj!Tfy5hY6DgV&LI952f!sVg zkpznedFu5Xu{e83KGIVQkgjofg1p%ba)i8?_FgIyke6B>k`IdfRh~6r1E$nGc;tp7CL<6@M{4TA53HkNzPt zKKh3?wAjvc4V+X*FX|Ksu58;O!IkzY$++yVW05{c7U}y%EE1(MdYNI6bUuik2^*-Y zUU_%wpR4>5zG1*w7hJnQH#S@;2E4U_ZhtXlzcAw>PdM{}cgP@(zYvspQF{q*k3MFz zlW_P!&0({%FC`O=?|;4HHzTkXb2}Z=Y1-FEZ+1VANlw1je|mTZasa#GwCz^Qp67tTO%dy%G zXLvSahfJ9vd-A0@g0<;cU*L}>g&S;W%N{s+nwo2Ti%7Cla!VrvZs#Ve4 zW4kKHWzHqJumL1!D@dyLp7=Ft6v##3$~c)TaeZ9pj(@1ELhlJ*o@5zPQ`vay`M_^X zYCRuISTi$*_@nt4`fUzFcUoq<(as2_Y^#|SOxc!`6HGz=#H?V-wk*QWTA7`fOW9@- zezsh~&-$0`Jc2fxIRtGsID*y+Tfd27;rUb$Ro_f|(QtW=&@UPm3jOT1Y1w8*X=CP< zHcq3HTYp=pg+f1df=;JNIvee?CaG++x@~B$sejl+osG7Lm~uIzv;hJnue706)R&e7 zi(kF8{!lD!GVI;FhsakJY96|dfloF)xyJj0&7*@TxMI{6NT$0@<2^9ntE=l>t6{v~ z*;-G}ncZ}|b_;(rx=wSJ5=s70 zQ|wI9PN>x}J0Fgd>EW}o5;2a4u;LnhaP8opbS`8>ZhyXddH!jlDM1)Go1gctSNGuF z3ZvjWn4k?aWZ{7Nys07DNQ^vbVIm!4hmrq5+PqjDixDgB>-h5^@P*tQmWf-5XZ1y= zv48JHed$MjN~(G>ew*E@rhTwKJX;^5)@hyl-j&mUmmY<3BUOR$r}d%@RAzgrLo6Qv z3b~}uu9$%?3{fOcS;=7=Hnh{BXhS0OR!uKWm&J7zc(Ir{v?J*_(sR zNtlzMo$JRbhOar*Rdb~1*`vN*_@7WQMO!VNVv%*CVcX|F9*vUEWmPk$s#I`!mHmF7 zZ6XPG!fQWT_hRlq<_}Tr)M^et?Y!KEd9xWsA;Ng)_0CloVa(Lnk5GnGHrDX0o9Pb!3FG=(aYcG?a+DzsxX)X^^-S24(FxJZlJ za3#S&L!R6|WMbk}3AodAvNCZqTSB8ou9$Zf-n*+hM=rr2)3hd}ufrKs9vSrNpSQ9S ze5a+14F};3dncWy?-=d2ZJI{YWq&{2HvHo<>d94yKUTNz4C2bZQG-rr)>3bW zE`|(n=(-~=p3dy4rF|n&U8b`fC_>iv%;fcj6(L|$u;NjO^F;;oYv(%XNPp-#`DV)c zGc}3DH$r0Zz!DNuzL8(PJTNmw4W%!;PR8obC37KwSTm<8B5c{m-LEL3m16-Ai`7+d7wMz}4g#O)(MvM(>*8zt>#?yg~may2e z48~X)A^X4Ai;z(FA191kd-$*t;0v#2RhPrZJ#QIB`;%T++x3#s34hSeXv5_#g&?A0 z?eu!lmoNU4UUD*F^`V_f%>s=;Z?cTU@C@EO_E#9Ds##rj_LeLmC=JAY&>v<+I?AGR zi76aA%FynB6qMVX(eDYV8X-eB8$Fh{K%e2U*^GJr1aP1vX@&F21+6&Sy00E~YUoA?tyYL29+p5+Aag~pUy~|wVCo4!Ya-Dvb)>EvI29f;)N>3Y1LgWZCd^ zeo+R|6(;cSkAUmg3n$wfhh^b!z^2Up1s=D=@4S+hzJH_y(>jM?vFViPQ=NCz>(pX^hfA+cR1wJPqZ=@_9)gx579^9EX{f~9wasSBZ8g?De*QcKk5T=IplP?j zwmgzZ5GxS9!9k3t?P9m{8-ZLYuI5y(JP3VDYXLi}xPK+#=h`p6Cgr-Gmh*yAVSfyL zre%rT)OMN#!$JbB41o8)%i75GDvpeff;6vpO~fiK$;4%@VE4Y<-CQ?-r0#roN^!Qh zuSDlZy9dXcCEIk`B`HWRP5Ig7C}PhWUn&@sUB9PJLtswAwyWT5KO#y~3(H2wlHVYi zV@XwakHxwQ+NW?;bxU&C*#Sc_j(-@2Y97vWLs7U51Z-?xELBOaRjv~p(QCXU=L_zI z^&uwLOZCXu$4+>yG{4Cpiw#3gY(Ed8y9dtgxH_XCDQous8KL&&nI~dSW7bmw-E{l% z0{o-&N-Qy+ArA*UkXg&ML8Jcc`<-o!9@y?!Z(e*l-USu2B+?s};$)PMN_)0gN}CZjpPB@!W;&eAivdBn!b*AFRpm?aP^!{DQE zmpy}k5NDVChLGt36yw(8Sizl~l0(g!wh!)aybl*sjM2`ow^Ml!tK_@RTeU9UM6bqR z#NaVX>Xeu$)nkN~1XYEwC>MB3$K0npORv&)qWX}|IKnYhy6~o_;(xvnkf=e1yIg9;PC93GN;%HRzQ@Y zI*QRC<6BUc8eIu5$su?2OCj$#=9XAxU;=0!sY+0GxvNM-1%RdOC!S$IFVauXPPDX7 zN|rB*V zh+`!L+xg)m+{R@{T5Fk>YyPmg`{{>$+|KKils@(8!WAKYDIlM1cWld!RyU5eFub;4 z&M>S|S%?V&lyr#jFOnpM4|D;*DhU8M5+Wp}rs`(*@F_09w&1IzqWSge-n#5iG8j1m zL+Y!g^Z<|hx_`=$=4k|6E}~r!c32(do`taFL_v_igP#~0{(`yZb=(3qN|r|04X7ul zh>(za=D~bDvlMGyW>mlfMFo7hNCj*+?Rkc*qOHqfYo3!yXv}IMx&}`Mt zSkQFxrc#dGD)Qk&Q&!Eesolz%^EAM%Dr3&$wwvg}r+-y#<~;a71&Xj7_Op2Xn* zngL2~W`8r;Kt|EZ#sy~Ly(Q^l*Z>cO-px!`BBaj^v^-bdqt4-m@$Ox0HWojo;s+PG z;loVPcBfQT?*`EieV&tW@pkhfn1UCGfvH@Vek#4=W|)~}u(4#%+e>#-TX`F_T0QQE zL35ZV#??&;I5DF*aXMBJb!1GPKe9Z@7q~OvpWbjlqg@jOev6Yv1u77vz2T)2EK-9BMcg9uORCVPBL$h`tShFsC zP1@DqNzVn%`cluW8sZDnfMvX7ECK^XoqO*_hN4mI1~XcJ2ejLg2)NN{3)V;u-Ex8& ze(B0KhH4Fk=kDGBSK8%R1NbQMTQG~_Suh0R8HA4V+rA@y`pR#{tMZ>SqmZ(K!GGu? zDkv$^JwSP(attddqBeZi7#_G>a1q^B=dM7!tl|RDk@tR>R@5>huIBND@N%PT(p8)e z>B3d?$N{6$RcLtT z{;{H*AACmgAn>OC*Ek?@Snk-0H-DNbiX97`nqzLjBN;CZtLlC-slzn&$FfdY1mN$%w z)s#=J7>Hw<-%2V3E})=VtAA8*O-!*U7F!;QnIM_eUNW1>i8X5Aqzt=v!}gf{H5j%Q zMsev;f_F^>0GOIT8}wL3XvIpGhdqI*Soq~jm^Od}>6b5xEgD~O86ZHczXOh%C*eD& zJH)QRGxLVf1RL1WKw=u3?6>0DzzB>Rz}=y-$h@FCF_cYVKQAGsPk(o0%uywF<@U@{ zXYQgYf)Z7-vN3& z=R2q?*J2&6vBjU9@F-{VM_On1pK5!_hv8u0jZiZKO>2VV?fkcBG^oFo&4S-B>`)4X zj+F-~l@y46W&o?td4IzI?)GyyQ~i3mbz_BHA4Grh)8R9$9Egi85*J&}m78Kc7(Dzz zM6~ruzoTHy%Fz1(j8o5ulvem$Abt)6Zhr`>U0y=wj8HNYBr&@q zYTokb@kEK6K=iTQ0K31*$*9KADG{?YeKZtg#r*1lpEi%nkY7Mtfq0l(;W`7dcQix1 z2)vrZrZxvGdcnLmIHZ2jGLJILyfjLCTgq%!(faqRnWe7v`U^HeG+nUxavPtdpYfxo zZixXssL?AjxPMo`nP_c3h~dm3Y6AlBzZrNXK|Yh=|2{K&%V_{Ja=eOu!F%!+)^J^21wKjGC~NGZnIz+<_yE zpS2@XK7=3G``p7d(+t@&GvceXOi1L`-j+v2ASY2PTb)rBkM&@^ycM(S)tc;d6d}Wr zSVAC1N6LDRiq~@l>zV6FtNd72%|I;FCGODbWDV#!u;zIKw1tN=r^+B0HH2~qa6yI@ z;Rg51et)ed4s}u|9mk2!K=*{A+(B5LsA@#805L7VOniq9Vz~tbNvIeB>yj9hn;E)8 zfR)h>vBq^LDA{as zPd}vn<|UA8-lJ5^MN7%Kc&_Fy-u2iY~lN4dTr@PCk6 zkB|jg5Q0!LV=4iCGaxN$5gmZVd%{7k9&D$zCj+KQAT?l+47eigZIR^Nd^~voba?ELiX$(iuK`mTd+;3X}bv&%f zb^$UkSU)%svX1K()Jd5Dp>6o`g?}MB`oR#L_#sM=XTuU({2(0#n~gZJLd1lpj*Dp+ z_G&H%Jw!+=+-nf^Cm|=M6`^xzgtdT+)#kefR6K(V_l2TSfmF(+sbu~D~Li&0SAstRd5Ft&-1s3yQoB!6%XB_Q!6 z!l2T$*%u^;1oub_pU|1G317D)?*Z4L*xN!*{ECb>VKIbLnxrgKt)#{=gNo*(V+AtnVRqY`&4p7bcR0;u)K8PGKM~bkJRX z`4VW7ThL*$MU@|=@_*tWLw?vmf9H$2csN^(F7m8cb`A>A{AUf=DcH^E0Y}JqhkW^h zx&&E>mqfPE1_kApFQc@uE_^C7rR<8$lx${;1mX7ZVfsvZ3;HN?U!X)(2&X4#NEALX zDP|UJU|ee~M~~URwUBQr9H*#e5~hsUmcqQ@s*1&XN@;|P0DpI9yJL?MQFZC68Vh2GI2NLbWk9lPW?i zyG0eisa=H~%4Bkr`k^EKx7#G$VX%wZVfg7l7*IS^Z2E=Q6GRnI^i4wZ$W4p58;|CH z(`9%7PDWf^v46YpH)At|mZsgT*rIWzqI{GZ zK?OWU$sC`%%A_jkFAS&53Q~nJdgWJAlQ!Usp~j5y^K9Q|bhwk0B4MCrAh@NWsND_; z0Sr%}p(H3HVTqs&pnGq~#Q>eL`hm^yH*D_X#}FI=A%CFBNc;weuaLudUA1>E0CYvW zUvn9xyEV63}JL7nyK0__oikodkaT_rP^6zS5_^+5zIn5Nv_4V z%9FqGRFN)<4jjF5EE^f+`l2(%_mlQVZVswGp{|rM(C7S$Dng^Z34f`aM;_BA|AM%} zf)_Rgf`2LKr!H(UK?1%}|0t|cXRTw$}Vylkf zC3?M=Ai-`o#QE}j7aq#Q0Xu~lQ>rSoU}y%pl4@S(`qH9^RICD5Gobvro#TWewq~Xx z_jg5<>yfnPQ;bl-hLtm3V8xoC2`euUMy&o!1kH}fgb+pZ&D4IF7uR`(p3kpAZAmct z&k8p$;ZuL-<|TZTVuIOGq5{Q~-DO|b*}zj7JRcucnA4uHAC;9T7=F5BHqypbm^F^n zL1y@6olO0=HxAjjwW&E6?1-d}$iDy@QYQ*}3#rgxfY+~~DhI`zia4!0BWapYNn%KN z|2r{EFqEzum-xDl*8i0lU)EEHTZBcd+>szCRZV|r6e~&Uq-QQCkL9<^iIA52z0pY` zRoB2YdOaT@m#i04=vU%a0rWJqr@14ntdSS3~f0hzT*>P)VkA?$jak9htTFl2|aL+UGgWjAum`}{)D={A6n9O1!N`uQN zyIA4{EtZn!LZFQA>oO?Fo%fh9215{j} z8}uTNoCyeZ2uu<5>6_ET)r}oeo)^8}JKZ@be!G6Sdb;=OSjXeH><+4>(M^Zrc3gak z+va0+6>%3Kc8T>7tJhVdp~XmD=!zHPba5;fp>^eYD#YwCL?lD*jNLQ1`u@mXV0V9W zhTS_5JDiq(5o*W8AURz#TM&%#4X#QLICUL!*p2B3h}Tuspe*J@SX@YiQOeI+Wl?iA zax|~jWdBv;fhh*mfE)lKL>?bl4vnWR;^%b?j`Zb=tj~jH&Y4#|^{fV6bi>Wi3-doW zf}ZR{O`lPSprLK#L}CoHS>x6Y7Oa23M>hRLbY5dEvWu@4sPFNK#>Q4h*!1~zH5Sj^ zmkG19(J~2Ydhtezm>>t#T`5XqK4B{vcTj!D#kDCqmh<8h^|LRkFh?$NcJ!of3{>?z zCCGqrWSbCQw89@a$thleZxyN2Qs1nH4Y&lDuERpHhKlQ1?iQ8pikjSSzGv*M{eT- zK-bH<%t%iS*s=l4rG;haAmM+D7`wCzju<|ry%PQ+{7oIg5)J$bno968Tst_p*gFP6 z48DuLC4Z=dQb=Koh?6+o%ZOT$l`G4BF@mak!@e+!cbKxzCH&qzR6!!oNBS;6`VNwxnKFp2az2VNR>FTV7Hl6or*c`U zhU|t{*8+A_*de*<_l?7ogx_sEE8tAtuYNIxN{Dv4!!ohi6nwQzCmD9`)T`XYIDMFS zFmK}6-~xY{1oL*)_z9wkV+XQ&!=&_3yxcgXS;;x8eM&Msk*=LeKDoLQ+hRFPgHeOZ zKpfVddX}*m&uLGdVIzM8U}vAn2w8~0;4FvoM9QB*pl_)j)86DMn<}T0#{jnk;+==w>r12#X$}i zcc7{`=&lmoa5-0IBGtl~kiks>naU{(e(yivk9fSK&UKj5AFY%VFS0g8NevBno>RB@ zth($=dr7rulZxa(lDr+g#q!^SaAA-TF=gJBrGI%gz%6*j&%YZLIWRZ={;MMhl*)5vT zglj_Ua|3_-u}_r!RCS{<*Nw6^j7e|A=`<089mNr&xj8O9qRO~QH6=9_XI@KcDhfSe z0&UnLY3z;Q-6O&6M*=}0lkX$L?+YnzjFA@J&6WieBFc`5(MP@$on|zI!4a+)W-skv zRO1qm=$%oFzNxqo`Va=7Ak#9fiNcg7Hfac5hMJT@N*8M{w}ex#5;Gx!V-7g z8|{jkcfhk6$vzKR{q_;9GUD4YYwk`!0}e_QR)9STc@|;M>szpAJsV!Q;>B_#V4zxE zAz61x9`IgPVWtJJmkiW@S;P%wc5#E1U6VJYL`GLgNPA zka{ERg;VgtffqJ^!L7?KK~#5HS2Jo1j7x+dkR*+b%erQ8*6Y(-^odINVVI^E0H=sp zt_!5G<(3Oa}M}?YHZ34t%m72OvE`%^mC})s&pu`s-J)R z(LF=`kftP$?0B|_MpR9hMN)QPKOdx~MX=hUxSH{zUu0<1V03$}qP9YG0~j}hyj%8F z6`BrNLdIb1Hb}k1G`hp*bcZY#p-l~6U|CmWH-#-=?^`A>uEeF8RXKn!4j5+{n7d143 ze53RT=pEIk)MIH$@iq}?q+5K#{r}{e+E(G3+SWaHx0MA`(TcXG)UH_5`rO#I`4QRk zR#_X7>b&B*Ie?qnpStdL)5&gptDReiNgBVP=)9w{2k4&2J#Kq7H_dRoBK|fF|m<1+={%gf-`{8jeES#CAJ-coGHixri0X zn7cOzNo$A30Rgm_GhWMi5XItqO(}dKv~9UN*~MTT%GWnoggqwhWvo_=9bOy2z2 zCbKjJUm`QCuef#-0fjO5CW3#Li_jG49174B6yFaiv|0st3YyX8g6*bfPT7?ONAAAc z-*B1*N6yYbGBx|#+Iny%u?tpY!S3?pj23r^Z_aVzLhZB9wa+3tda8a_B}}A#_Eq&W zjs>mh#K3H+i7l7a2ziAh4Y?Gc6f(UnS0q?bWLL60><=qZb-5s?DlUH*DVmGY```x+ z7a3)-`aC14STC9s9)L+*kBm*PDA6l!hC}U8%0BGdw0H}oPe#cB`P8v*zm@A{1ifeQ zIgEs}0%5Q3S8haV5B)~6;W|O;3QUJ50@%AWU0bmIIL~hJ%mpjZ)#p7UwmcmBh<_o` zDtP?4RXld=c9EUcAjW@t+6%)jI2+J?!Yk1{FLwy_iTy?mX=ohM&_FY432ks`5fMbt z(P>w|d@1`1(Uise>~+z#K>L@*?o+EM=&h0mq($h$kQ2<0#pVzJkWI}iK%*2Opooyd z3>fN+g|FVxg-CaHm_xAU(>UP_r+y#kC(7iMP2N!?K#d2W`?1#;` zOP~FK%;{SHFjWeU!J$VuH;QQng?J#~^JH%!5I;^%$%|JLF>U7t&-e`%w$aokRk*A; zt(KLwRnQ}6CR{PWDI zKOG|?fjobS#7Q5tm;t(o8z;4-Kp8{ADj%RN65PRpdX2&Ci6MqCN-C8KY=7^G1b{>s zLizv$K(Z~x;@7NN1)p}F37l1x^}z5w7gGxLWgs7}E)RSVWtU`$K~}kRV{+4`6(M)S z7{*{R?@O!XU{>w=!opvQ@}#E8#n@oEDr~%lTn2w|A@PNANY6B4^+jA4(av~;i(Ggo zBOi7eFBqI252=M-p~NJD+y06_s>B8bl>&p5?z#uhbzzBJ)hvU6@diYE142w}15=S- zoq?U18j-N7G{NoU`rf#|jh0#45cKoP8>eB9WK&h;dPVXHeHE4QrBSru{6)qgUb_H> z>2QDK*Az(vjJ^0>gj;a;CCe}*eC{61mPi7Sw2GA#AKM7VnSlm4Py`5NphOE|md5F2 zvL=^ruF-E{ly1cwkJ~l57#)B|0mF#LMJ$iwG#ZTNvA>025jBfp%NG1@y{j?y-CD9oHDrV>f?G%kDHqfN@MOLD5*-jdrKwxQ&i&q@r&% z;i>uw2Rc1nP%k#(nI0{xIBFbYRNF1H!{$)2TnJ|Ku3B@gj_a82x8My8MGz~ZW;LBQ z7U5SA!lcG#mww~00{PZubGL;$UYmK4oq1;9fa&zv1+z5U&QMPx&gQohLIkcY4|0FF zd`c5WS$5OybgZ-R_-qGKW--jf0N?&J+}M2sc^sWqhvDt!4{zVR-@9VZO=r(Lc>et+ zCU?5H{K&II4=<*Wr)%Q9_Xk_!@ETfb*sV^}TsvCb*j~f@NeAq>zYZaLk!8B=w%fS+ za2+Ijm~rR|GsgMn(8{%cb{u(=7?OYYvPak6n7lYY+=UErZl~ec$yIoL_!cU(Amx#5 zwO!WJ#@UAVW*s|v7&;$j(+cqwWtg*aK0INY0U>r!3(o#OV}~;d`lT!=t4Qbq5N{#`E+;%$ zi^L^tl?TX{gJZ(^v?~f63UNXek%U^Arf(r5)4P=`^>g5z)|D?hs0n@^(~X0-OSQW4 zMr{LP9DdIW>PfsZ9d>u7%7K4f<)C-vMG%cd0ld|PfM<3j;6c?-!`|v}IRkY{S@gYw3_Ti3b zZM+_?J%f9P5egl%)qLg;o}IyMaeC^z)1G_b`;^*80}l zAfiTtiGL7RVT!^|v(d2kpKXW7lk`S8nt!9rxdYaV?|`OjIu-py}>02h{ z8=Nd#2YJc^=je&$@NRImL*ycYZ)6hCS-FbN?p(buL~~oy_=nqPnj-Q-?!g z({w#7w4K=;78-xgY!8d9XO3B^$*LMn*XT6at2V1(8WtlJ89FiSM$=$d9{YfO)UXXk zvl)!eFdRrUz|3Ly8&K8heO-8$#E%V^h$7t&Z zI5lpk#SX;r#tZ*7&|#K^bpD&`4_kx1G*PdfDz|m`KKO8O0B4oa(Y9k9UtF(m9>VeV zpGMQeH-I0S?GEeNeE)na+4~U*#iqqB@&2ph56|J4^W5(83?ANrs@oWajztH25z|YpjR?KZf%vyg0YQLLovwM^Dq{MVqvdhyXM1~+laXsV%V0? zwlN};u{dKgMiD2#Y|O_jmBMr^k~U-g-uCds%NT!+^?RGyLWdPzL!mGmn@F><@bT%8 zOCQiF{&WagLG%{G$M1(?ukfSyxsM$7(Xsx~F@7YRdV}80S&$r(370VF#K*p&DsQ?Y zgDk-YhDa8_&Yw{Xg<^d?AT!2n5kTz>dmo4CvHh4iwrk3<{kZ7ZI!*I74&vh+4x+*M zMpu8Q;2XrV~D}kZa<=2)MT+Y&<2*x zWQyV~B?%+w&d48CSw~dURZ@Efl$gQmybcYP*dSF_b%t>cOFT`vaxr~O&1<8x z#mM!fatkk`zQ2a|!1~DVzX!ohc$rAkN*X145{RZ?Gx4~1*Itm6WDgFxBX-a-GX;OT z*>f^&XA4JjK1zU=9EUMD4=Nsiq5;)*J5e@hmX5*U9s$artlXf);Blh$;TS-_U|iTo z2bs*&=eFY(jU@#Q;WnEEx+Dj5Ne<|e%y~$3&}Qqjy1K5uZQ9z`q^?!po7#f4xrDJL zJsA=XG9+-X&Q5lQqzO~NWk=`?mi2#yXSXmqSPFQ(VbC$X1W%_MzfRfE=@m#747za{ zFNPBG7SA9s<6YYA#a;6CWnJQ)WxM3fV%|Y$R_{$@LxA2O&nOrIV>4QhneYr^u@L2e zy*$=PVN!jKPNWRX`0`~!4etyU6B4S&ZA=(o?LvkKnNu`-;KczE-NVSMf}npP{~8%l z*=frtJrdQ#ByWXdTdAZvn55?~-}AgHQ^p|Gm3@R?j9p$eEFa=FA%#T~%1;<0KC=m{ z#aw3%$3Cvy42IJf`D)`qwl3J4kP7DrviT^}RKGZ(AmZWWD&VU#Y?XR;hzhHMIGE}YiEe|2&L<2 zFNXr`A}dL&S>;IsKy8}{;RN^yBq2qyWhZROLVgam4sPCYQoo!qdJ_ap{$O2*>42KA zu4MbgYjD4Q?VnK$g;#%bYGQnMBd&IHot^OT#J9IiSJT3l&}n5}O9=63=r^abo2!iJ z*(f&st<@<@l@>ci@0)_>@N2oVcuzB7{eX-^TGJowM}myYP19BFLXr3=6FG*&M5S7y z)=EJvNLPPQ*3n0Lo#a}#IP|u-6RkXnU45hn9066TJThMvHOzlMwH!4_^E`TwoNHmv zf~?Bsv{-aNR9fE6oR68hT)9Y>3bheY!_~|)#(=ZaizzKu_9o)}M`*m2L8ItB$S4sJ z`w%19+5iu+662PLQ!|bHhhQ(roH;~)K~6qeU)@_+3zus$jvMWjDN6!+@5xohECS}c z)KD1Wv$3x}W0-$A3=banjy()Si1AS>4S_MmXJ}f8QQe7GWUhnw)=MjUpb_# zaXvZMBIA6@`EaBZks+@^u~BP$No(b$Cu|&iIcjAwo3hd~ej@v2+p3%d=yaZI`rM-c z0vZ6I?}5m@1y&_nuGZ&}NrLBl(O+@E*Qz36E+l> zli$)2rLw86WLjQCYWV!R&o%^#`GRdoj}{UOK9Bar_gMj=Iyc#=s8pna@={TP0-&y| z+!zqsn_*-SoMLFtcB@)|o->3v5%>{>pVCd4eMYMyX2!%W0DW;vrzgD^zLW$niZ&re zTYi6|uVz%5gzTaq@{r+_D-fW;i?Tt777|+}BGC@#dFQV##=V?9$ejXHf|AP6im{#| z_~P^}&dy5R2MCL}nnT#PswX3Ny{%LNxZc=MW8r{}xEf-48NyPVO{F^l1IWyc7xdoV zv8wSPW)~IP4H=L9%a?%e;~>54vz8{SxZy;0|Dv8V5xE;|eSD74UiR*dsZ0d~d?dYGF zv=wbfR348b7C`!61^m92nD5r3$AEvJ7BdRVC~?bYT6e(ewFsTN1W!UzRZW|=qsH>k z_>qNdV^ytz(HE3>Ng8Z$Np3OQsPQcrFG3^)8vBJLTwFxLsd1qpRID11NY$TU7~l+( zqsXflb26%L+LRzyZ22}SWf0*%TNL3_JW{TLZ+$TNk8ib;$wXsAhshSJwQ&9$elK7?p8 z0C6g!A)e3RCOuu|J5a#~{Fn96VoL#6+cPx&g_ARp&phsD`V0|S4G&z~UhS;D;dvIz zC0GjWrK3>?GM+5!xbx2Jgv&*8Be(@Ocf?yzC<#T z7%wB}OkE}@r#0K*WxvOWv4D|4kaZE~L*af!fT6w!+tc$kk4bz1UOMzK{$d*`GI)_{ zX~I)9v9|pl+H+7p+%s?s!3$)rYB%T|(d1=H4?rq$R=VPS`4U#O5r=;()EXFxcIhWz zJ)>XGE@016T5kIeo<7;o!-sMx^pj?G^FTd+fXd-6O~b@Uyuw4UxET9OCp1%^IoXA} zld>}d!#;OMGl>Pb2HH#u5U?W#_z}BpQm+y|3eqCQ%6%J)`*xszEZe{WOeL##f;C%n za3$AxF1SqPy5`RWaBN;O_XYOwB)k072kCYBd>d=@j!h?*m^2N!9BBg%QAz*Z_(y+~`JkQNR=!lj8A zjZV{Fidl0-Ag+;E6ZKuXKGGaPXkqPnZSq|zY!f|nlu(W|;QW8as6Anh?bMJgrNlNE z|1ZT6vqBl+0-dce6mZDxE5W>S)FZ|oyH{OE!=;bl)kG3fh2tn+PUO)VNT=>h+q3yJ z!TizD#R;bQzCJG}r>tMjFDf0CqRC}Pa@!2&j>opDik1DEZU@Onfj%RzVt*&>d*gL) z+`k;N`moz&g>rv}uNb;!f8P6__``-W4Q!=&1=%YDC6%dU6Wm+`6`ZLqE(NflOvrYU zeOh3`0}eNtJ4yQ4fDQo~fa{t4^%fyR7~XsdD`H|mR$Lle@~`{})FElWEtN60q?FG} ze80)9O+i#r=E*RGpo0t@(Weh8f!rfN4IlgP+~;d9&m(^;R822RqyWeE|KGp*XE61% z82ja77Ti)0o0LgO$$m(35q@(d$$koSN*+msq`{|XFHDX|4nxjH1-4bRnXBN9)IJEm z-+uWTx)rdX3{h;ohW-?QN!D~l@B!D12c^nisvKXdB0`h5taQ=k;VNjpR!Cf-0( ze&sxZC2`v}n{MO%?$M9C;D=y44byEkKX1JL5bwx6*x({Gtc)G5di~9hNrWN;XdXEe zu|E7%D%T%j1M)wO5B(390Ygw?r##x8G`#>W#YKO3K zHGddJDOiJ?c!T4Q?KnkTI9)D57l!)WCYpZ(z3fKy5l8_dj8f=8CJZq(qoZIdQ?_?( zJ+{JVhc!6qf5J`1_13YU^bz14lM^X!s5md3cFVDzZhn6KY+YdSo$#Cw5?v46tEVrn z4mOIfUljmW8QaYMl;W^7h{7q73?;F+QwbY_ktyFr|Ic9&(H=&4^Piz}0M3&HdaHl^ zzCZRQ&X#h0d5X}ahVDYQ;5;g_Ez*;Uo`fGl;e76=U&W3%t*G;4_&7$0=EYlHFeY+H zk#k`K>^3QRV+a)esRYL(@Wu=b2H9D7UY~PzH~VXuali^8 zJ;Ub0`eu`oWKNcjS%5$l1&ufpVhJ*MSwSZG^T5NA>3BOwK9N6=P@VD{S4Gr7x6iZ(d;Hsf_-}st$A9#9|LcGG(=Y$$U;WK5e)WI+KY)6ihUL2Z z>rXc}R@vj@@8YR9dBXp&f?xgOU;W*G{@1_$^MCQHKmQw9=|BF>pa1k1|MXXX@-Kh- zn?HeX{_%hFAOHH#{`OD*DYSprY1?hrO}x>*{~5;c$N%ovfASZ9`%nJQpZ?;%{nbDD z4?q1+{|f5=A(8R zpZ@q?|Mb8Aqs(kFO~PBfL#xy1v|RV)^BQR}kS@48-h({7K_V4XoxmD~R({@eAv@-rNb|dFp z330E$K}IV>Ct;_iedgv}?9n&6q5EYz=*XP$ka4UgdC2Hr+Tn=!hs?h8qsmVfo%{RP|8vN3;!OPxLbv;U02I8RRkqTq{56apJDqs#qCJPH%`(J%k)Pk+kl z0D@%X0lXfvJDxu2mIXkiWt$&^q`N!B7)b_Qr0g?(is<<$38(mp?Np74#}LhRxBRz% z^>2Rq-&jljM|O5t6#;$IXLLEJ9?HM|qyObs z|Mfp-=k8bk<1c>oKm5yb`i|Ghej(1xI6Ob{M4RpE44uw@9QL@YIQ9?bd#{GoIzzmd zeZNw{Q=!Bs+D(6jB;XhRh)&w$poC6Tz4DJ|OVcP^3fT80<@eH~nqP}CFK&&s&#JCG zdJMQt)WeUGAQ}7Y-)YQ_aq-*olSehIkF7PU42-I^@;_jd20PBi%}jAG-_sECqsQM3 zf~zNw**}@FvQHQRHjbBq#J>=OhHYB%a6MU<#-jyN37CI>zEyFFi{_Vr2LbE^qqui# z+8CEc$;B8(RrZ1{5BbJ#Fh={XKe^lqVz@yWfNzEU%lK%7@l*5;@q)>Zqo53$CU~U8 zO6)m1B6hm3m%Pg)Tp9()CwwEOzJ3`oW<5z|Ur^y0jNK^L#WE$Im-^9V5c^A<2(M>5 zkShr*xDnuC8RJdgaCXv6`5@-E{;R{^_oaArks zV2}A@t}e2#OuejY0CmHziAl?Nd-KTwvc0u+wkRW?^zQ%MFHG3gBpI`pl4W5b`UQZ@&t}(C5PnnR!MG!)F6F>|4)}=8M&$EEfsgE|gm_+7 zt7$jhUthgC_p=)e#}OF6!61vQCgR;USK)v7^1?sxCVm#@%Wq_%fGGh8$6NPCO+*wD zvP7IBzS`!OhUg6G3Bj_8LK-ZirP*j{zeN9cT34Jp(Jm_2bKe&D;Z!$9TtriTG?wB3 zPtqI`s)%$F;8n^NAj*GR zx}26vV4Oo`y|O4=NL<~oAG}v{9m&$4u_qk-AiSOw%n6Hs_F3gSQ_2_irXHz7mGV%5 zZhJC-93V)PNj8h$D|l(Ilh)?;%NftZqU&{D9gbWO1wcWDy2}xB%GIV|tT%)L?sYfA zTAwA8+ivAKH5Ecw-8{fnx3!3^X1RZ`l+dFlQqjo5W)|{gx7T0LM)}E4|Nfu<-7o*` zPk;3bF50@oaPIQqSF%;=qJt>o4}8`C_}~3*SN*p4?0lY~j>$*j%4xJ)P1k%LZytR7 zyzt~<<6nLH7Sxtx>kvdE_Xh@Sx(Fa-!}oy+Z0%=&iv{g4*!bgr_|u>LvUY!G$iT+# z4o0`1OZ@JZ?Eo&~|5y95^q+1&?()qeRpf*MkmB!^tCom!()a@{u*!E}&-b$O8x3b-!?7Yqu!rORks5p0wfkW^v<<3&-F z&d;Z+B31OuPjRXMgNgv^y9DX$86=XDqg)in3ILUo=vp}qi&mrWLqdcs_}}T=kly1f z51k_N{|fPHp``ySg{^;jTVv3&dt7tiYX? zUR9oa#p>Th8}r08yZFD~WI}Uqu{(-#A3^d1l8^rEvO7sq045WJM^+I)im9Ld3czbE zuT7oDnDZt|s9}7hl000=nIkQQo=nlGsY3f5P?&%@ZxfP=Y+Qc~r-vc`dQZrsa{;?k z8-^^R6%<9Dd}LqU|B^{@zk1p5Z&xpq@EPe><@HXg-*oQ;kyR+rmbyk1fE5y2g=P8C zr{wP4uzI>Xkw0KJWWd&JE>2lkpU(YlCv;&GLO1Zc6ziqx=s#5X(y#yYU;p&WfB*X= z)l*osKk!BWJrsZHsif!GxsJqu=c=H+f}69&f_)_b*i=a297;Uo1# zDHL_y28n+}B}KqUs1{(kK*rIR^uEp(aGu~%RZRbpPR6U41B{L`yhX-3sF1cE3AwAl zV(5QWgjZ-EP$a5~_Vf|w3@8-jlRXGUh+1JJaC~$2eGZ7r$=yt|Xpb!?#kZlSf>H#u`P4LXG- z6ONjLD%?j040Hm(xO6Gi=U{-JU7nzvWmUMV9*?pngw0*Mig5LJ%9V**?+=ze_{Bf^ z^`HKS-zT07R{Rf}Bcmn%J?6-=mdAJ0hN<`Ky?6#Xp>tREQRb#2?F3PT!nRw`?l!$- z|AK#a(cMVG1w+eQd)|ZAx>Kw7Z}5(z<>bb_DMa4-*VVdZOkYQ{-fu8>)^6O99%T%Y z@a0gAzWJ>Rc^cjJ>raQTjz1JLKZ@C4YA4WiT6Wuf<-HwTy(%It_a|6Eb*hn9qCzPM z=$Dd9ZV&HT4K}Xkvmf5R*nXk5FL`QNB8-35e}8$W)H?V#;slq@ZJF|37kdJ`rqyU>^Q<;Hc~{_OqeFRC)v~6UOS9VOv~z#H zz|EGMO}E{|oO(^QsAWR0Ev+%kXWafekKa8tN$+RAv=o{7fhFBP>ufzXJ=RJkk^Z4U z@5ONW0S3bkC?MG5p3k2kqT&-DGYmX{keO8@PB-wW?mTZ>PNV5~o6j#+pMz63S*u?J zlV14|1x8^o<4*=^=l~g5WDd$Dm3Ds_g25!ntQRW2Q)-aht1xUg< zd>DCa`{}eG$P&)0kbQKlhGn+fqaUK3j|XI&>>Ydw7>YLO#c>90q$IlS? zqHCJvjJdF5+pT7E_$v8+4_2z{z!#1=4zG`|f+9dT5+GnTZP#(k;P~~{6@*)GUCXv? z^ZM$|bswS;TzDT52eJl0#(AfK3-@HXEo`T_KnK@~K`)R8ke|8LJla1#ScBLQ4jYKu zG{gRAd`4<&yItB^eQmXlg7 zT|xh3{B9Y-*oU>=JfiB>W5mFKu`gh=^QcxyP9~HqV5MB*#3VYjSCV=VV@#Hn2`1#g z(g{VWPU;c|)Fzl{w1(|Kv_dR!;Tr%!F!8EAT4?cfH?T&8SYiVnKZ%x_CL0ul(UgN~ z(+D6wB8|XSqBzH}Y5{*+waZ#>f*HAL0S?#3k0CZ~EvU0)!J2J)i|O~Epwkou7XKWQ z@QrIdYZgMnnF%Fxz;%Rhn-h!xZ-iCjlD~#Hui4j^Rij^nkh_l|S#VH~yy5nscO6Uy z;dMQNkVtW|IteZ?&Ju>}sth3hw|cnVWM~fMH2%Ct?&O_Z%Zh)`O22%$nN>x=O$o6P zgV^Y?<+|)o3bd16^!J-)kG&%}XZJU3Mc8B4x^H}nD}fPJ;VQ;~VRT^J@a}nBiK&OrQ)lD!=w;_SB8yXx~AxDD9lN`?=MIysMv9V}nPSP2~Y?Se1+g*-f{FLn_t|gdP zguSp#%+*jf%Qb(944oZtV8G4MjSU7#UDKdDv1_IS@@JK*7O>|8~7XD2R02~ zn`@+g=iCX1zyCc2JA^t>I$@=g$4&N+SkSO%ncq%oO%njp>xB$SAwY}-JdPBo2zH=CgVK@Pc z>%(!#CSFOFp!D0g`dt%ZjAg3umyF>3HjtD-{KS7;If)I1?ip~yzg4UNEC&ce61I^m zu!%{R2gpwt2;wI;p4qZ8=(j^kZJFl4U;~eOATF^WdzNtnG6+Uh^&%*8FuFUiKz^n2 z*{@VrVl0Lnw&pwh33(>4(1jE*OB2I1qI!QEu;Yk9P=Q&JVxsUnYL*?sZ+*yP!smFy z7o2}G%yrq)dR2q+GldZ545Sm_%)*ADG{L&k!lVD7i*(NYWDOi)*pjT{cn(SOjynM| zgYdFH!T`jM<0Y#b7e^pGFhBbjZ(nVq!W$~Ronz-UW#f5^+`rjeUAs8{^sEd~W?GG= zxjTIJ5-m;K_Rv3ma|m2EMg`v-`+%m_N5Ov>Wde*NVb#yJ&yEgI(%y0Hjy?MDEdB)2 z1n zp>3)2acgw8i7rJRxKZp;oM5)o>*2+eak+ydaDz%EDPpMyVIOY@z5}p6mUX@Lc5e)k zcfBa^md4&0S`Kg_Bm32MZ2Nk8eMt}PmfN(N{>JKb^{OnRL8{^*lHqV6p75GP!OWRA zW`SRnj_w*PlcsYN_D3r^gt*DF->kSh>I`hw!9hL85z6j8A+9a#3 zhw&D#yy=upApKCph#p30%4j()r)AkkZ(qe916u9Ea|IF66F*&Hr{&u5+Rm$xqKKpS zSxohXv%_m|eCcOwOUP&v&x;rmyZ+z5e?QqgRDnMmj!lMg|Nppq6K6-Vvrd2XUnyTq z`(AYGD)*%-%01dsYidm`9UVk&l2S^gl$*Bhim(Ta85j)n7>3Ogz%cLOc<%vzFn|La z_-9&*C>|HbH-e~ea`r4E)PCXR|tdg!#mY5u9Ne@ zTBT=~x;jU`PXvNlW1#p=z3DyvCVHO2`D!LEKAN z$g|+?K9fS=PnN&Ajr5RtgOj+RRP-Nzj9&+BI5%Lux>QGrrsF6+0*HTn?>*fI#lZwF z@g;}_3A4(b3sWz817$}%QtIkW-ZjbJmrnCHjRp`l5Yf1;!W_iu-`6*&n+&4TH=mN{ z67^NmU;yRaTi}3Yodp}}t$9r|JkGsM;jH1eXf-3blwq$fU?;!8GQne!#KhV&Ty1-6 zWbd2JUg_1pe&=U@^_PF2{Q0+E{phdYs&`;IO(dowc)+1*1$gQDp+o#v51c%Yp}HRL z+vnLL@)`St`}4EE`i)Qj$A5YK=RbM%lix)Gc<__&efN60@oyek*8cny2jqSAd;izZ{_#6M`?v4@^he)%^{w9l zRlNS*4_^Pnw;}1jDCNKL1}eSf)h~yW@T|RFAyT2)3eoaSBj*?>nSufLh(OlITRx-d z4EZC1zXZxVQ0;%>ImOGSj{puYk5M8-{}c-Q9ta5o6dOGNE35S+Q{CXy6z`0E06if4 zXjXt|^1#N|xoS@(yd0S@2H*WizWU*}fA*K(i3c;vzy~FkxeE75+WRPNYzOa-xPl2V zV7dnr<4i_q{i#$hHV_V=3No!G^&kG@r+@Ho z@jxU^UCYne)**DdfsV=3Hj!D4lO5qp>6AKPUJOmG9NKm--a`|S945CZAvXl=z&>qz z+2P0i%$KcaH`+KOo|L9*o`Jev`hv5(ZS3C?jBSbXZ zzi`=t+x6-vfAISEzlSU&JT=kCMbp&sW!sR@&ZvJ&tewwrqU%dkbFaStgP;EBe?+ES za(}~DTX~^9c=f&Ce)U^_`uf+t^XfPL0alJ?13tConLbWg^hPkq=;%2%&0tcz(e+c7 z_~n}?rwik2;^v9BhRH?1H|PR_nQ1yhv@Y94mE^*8H?A#x4i8L5VC{b99nGJML$D2v zW%z&VKltJ6-}#$sm?!O|nD1e!eEFmQ{oi@@TYvHDkALvffBTEq-~L;4l=5 zT~X$=SVlkv3z5n|%LmoBSsice#Fx>VbgzFR`}<$N^ZG}B_xjI%KkC?H=Pj>b4yBE0 zAgcmxfIy-zeeyF(krhK>!>QPdcJUiHZ`tKJyYn{bufyHC!x&`wT^eV|`o%gPjycSy zlT=M8nu$-&#vv_{AV`v7T6Wl3H%>vYCsF5~XtO8L3C3>#U*xSk@CA@@z8DAKq%D81 zfAANP@0>tP!$v0%tedstr_9SJJ6W_P7@J80-vp`m3$)*f|7z`stti*SOCqeGm`e zSsYtFFjl=lmvCyh6Z+qM$eTCw>>Ga>_AKZxLJ;S}5@1I45WmHV6=Bcq^mZ$7`APOk z(xONw6Nw<$urZsE!Qw*cmGjoSXUyOI+n@f+zkTvwfAGnl{5p;Wz595=tAF~t`)z^& zq@)4%w$XpX#%3ICfF@zzKWm59I%r~_1$s+`9x?#YG6US?o1J4g0&G>BHAH`YR*gjH zy9za2zxtbh*?;=~{LxL)&^`qlt}Y<_w&x^y@1(_07@Q?LBqEyE@mNImOPquAl=wKZ zTi-2TzW)BVUjMfrKH!~y6_$JyKz_gnJ+CyL)~-%Tsbe2Ine`)fwI4oh05?m(gr$BE zIZ5w&^8e<42b%KLfBtW;e)E5apZ>)^z{GmU4orp@levN(K=oi~j$#?UJNEmB@U2?n zEuH#B_{x#N^AF$tXcaULtes+N9?mNpFXvte&Zn^yNGK{8 zufK{wM^90tM4a|bM0|sw#nxI<$>YUdqq&Y2ds8?R5%WeG64@$+(?Nf)&prw%7z;EE z_?Sa<9i4H&n9%W=uJjSFdx=lu6TiWFHnYw4-f}YLv6*l$b9_>z^jg&+Y!a z)s22*0bf?^_;L~TjG=um?IR*&94Sb|x~`&~Epy8-5V=owa2avPy9#uC`rYro{_}tO z7fOp2f=q#+fHiVv!042Ge6Z?ZrNcNZZ1z*r16Kk|Q;En$^As7YU=?g`kOO7R6Kiym}kwm`mk|fR{VEVWThqfao+~_~bWr##UU|bgckkykc>s{* z-L7e+72GnviGfnFblOI10$-2(v#%x!6ECKoVpgi=1Ii(hLp-VHvxqhC83JEv&;T!t zowfmhX%g)uT522rlxjGMED!ifhlV}ch?H6zJEKvg(#igRJF*F)T@M$I&3zyiKvgC-m$CN5Gmq|9JVto3|M3q_@vOu;T@xLxM}93{Y^a{r7}MFRD3W4C zjxI{F)k6LnwCnm0;%okV4ZmpgC;#a;Uw{Aq#YmCx^Z+(sl0MRd8eT_h%~x@*U8;MW zODzcg^dQ22C|*PV>SCu+usIbwjaCU$bdGIdU~WVkKagbUt=4P2tKT*;;Kies%}U*u zH;M2y40#k{k^9R}o+9gqAb$C5$lN2un~)`cZh8RU@zZbp*&CJqR~+(BZ>K#?&nvV$ zClQ{(PAt~y4`No1FQKW)>4hJ+b_M<9cOK>?z|j}6}5 z!O`QTW$g81aE+cJ(t=cabA%+wH8QvxC#X2 zUKOTA+9K=X3mbk9MeZKo(e-6;?I%C}J~k9T`SGv+^vC~r+RX)*gxcx&V&o4r*P3OU z=dFu>-Pk>d^XuZ^NaHiF-o1?|UzXSKkhFR@(t2K?#w>dZ)?X~BBdm~;+fg^&!?8`&v0tVxH$b{C(hCsZ#qjuF~Zy6&FT-sn+Yt< z65<8C8ACAl;LR8ULYYxX@G)9|5M}hQTt7{JUF0CV+0Dhv>?OV#Lr@UkECrXwkg#4p z1((KPgtLoEL>^oeFCK&il0>RR8UwX~BEAqpT4j23`!G4b{xCV=kv)M2`IWFRmc znQ9kFLl8JB)d7+bFgcUgSQ=9^bq#iuO;dzqAnCY^0y%^imwJwUfSe>lVREJ~(ukga zsS;@(ku%*!23@4SAdM%F(pX(RNMn&@L{>=Cm`2?qFSvvf?-7|sG)WVgX2|<2OVc8z za;lby$f*Yr@lvRKGz+;-NY@K5i5CszFw3S}NVE58OjF#?Lt}IG7>$jGY0MD}O|fYj zGkEaRofioVdYBdg)P2-LBmtOIM|u8#J|9Emt9vBoNa`LVvuI|dXv_)(rg4gJ0w(bn zBb>dudA?P>C*kS^qT2}p5mD|Va|`h=o_z$=%>MAqdigQ}8uMN_K!x5q_+yPfRP^y2 zP#2xa1O$QSLs@vV6G-zH@nPw^)QMi$Ee?Pq(5V5yUNpSHld92|2$^v@LiJk?d`4AQ@h|vXj@bLxEZ0j(1rrD|kbXnQF z_HI9l4E$#h!jibT-K?=`^bGUyZLr=vgFq4p$^d@B+bf=7Q6J$7L_c7DhpD~Z!FPcq zyhX{vOs|B=i6`Ifu?kNKHx?dx1)Okm%L4uP+yZof z-REy^lhp;FI&kYQ$|F#WMiK&H0B!i;ZGg&&UNNsBDCW!Plr9U=+`uP)1yAcP)vddlp?(yPD`Zaw8ew^oWaChFTbeG!Laeehm5VqqvLhLkgrHQY1iIeHq zKH&S)oOo#fO6j(#da(t3ZQR@%h?BvvVa8tJkJ$_2_6>}WdVJ~}&|z`s5(dlpL^A3r z0R&KR1GvxpzyjP1T6$}LA(ak4pnSfK?olj#zK1=|(><2N_ZT3RAUMPZ+R7WsGaB@3z@-8j}sCdKnHzzdJO%F zA2V@#Ai-~Lzh=St7ZC}3Qapt|5qvIS!@IAa_Hx9;IbDeRAMK_*7sm1;M2-O+nBL)F z(tGbE2LnDrflom1`Snd|LNbWE@r14V4bDJfoQbK`PI)2CaJl zGT+)S%v8&l5X}IJ6jT(RGZ?ZM^0IafN6?BW1q&766A*tV`P}>0r`Hqs5EjDc{P5aB zxDSx7K;vS6=NSwwus)uhUxOt91qweYk$vPP@XGDs8gdIVD6qu6FL0wlI=r}06C0om z;6DD_O|0Y2BH(lhLIK@wBE^@uAFD!m8wz#f1!&hv{wFn({{jfS7d41tdX5=9Um*p} zvXH7P1c8yNe--I*Sp4cfctILa@dm6VDT!zZYdG9@7Rm{Hmg1w1c@i*#9grU}p zs8_->Z1ZAuJIiE%bwQdmU|8)%TJVBeqUp;L0-V`5QB}_|a@QOR&-blo!QDBk_B@h? z6lAe~v!rwq0y=(zXUMD+m;baLPa!ld}v%GZQ=yxDp0zfT4Q9lwNFPqZxZP zDll6@K#!ZqOg~wYS?XyJk9)?-QhSy z*c}1hgmxL~Jx`opNmdS2z?q=f=t=H$ec%0w(wBWpkg6rjTXrtGVdi4>I;;jt@Ja!ln8)A|$5XvoL-x}gig#LDlm)po$INRfA zg$-sYP}tCtiByyZVQSJ6CavRHn!oUWD4;;c`RBEhWiKDIiaSy)EI z>K9?;5~G2R zzMl-?l@C?xC1JP|EidexHEx9m=%e{?k zeZ1CmVa!8A=?(|xFHlhKnX(LYnQuN*ZI5^kpt46^_7WU^Zff#AjDa8@-iy#KZ_)-m zBOsF_xQkW=pl*Ygu5ZrX46gNm+@|xSy4PM@-RUj@<9gWr!c9Ks>x-YVVurbNoA`vG z@Yq8%bWalffAG23{d~M#$S&dE+;TV<&du>sEO}~MB8YHZfT)=Oi?!9tyuCjVBZ{IR8v|&|c&WdkE7Tyay~882PDQLu2ahe5e2k z+OtVR#F~3|{k7ocBFKo;dP+S3gZDF2@8ge&cm*V;7MQW%5|}Z6Fkw@S+6WkqjJ2Wv z;sZ>$Tlf%+I9AXeH}jeU(jR;7g{=ogBl!w(?NpJS}(b7GWa%~=5$m@#fK@`Bqbz-WMY-eBCpgP0AW zi|5>)9WsWCY@!5zkH+5nSDShYAX@L;vkEoA+H zN+Q=R@$BUp)98sC6zQTNw0Gor#c?qog^FLkysbV!$ggdGu{wE#l3zFGL4eUo_q^a{EFUwcL*JB1ElLQ1`G zUPe4{c1#~+k$CLSQzJNq7NUWI!v{a1_kOT&>~sqVCK_&<1h=SPxyE-B3!n2W@bMu9 zQe{C;2bT5V3*^NMpavFKKt5api=RJH1P+ZLM0^XLf8ZVX24*xg@KKZj4*QAAUP6HK zdkzr;4T@CU^Blq?BVnJ~1sw-Fqa~)(gGh`bcICK#D3qK=?@UBV&!N@yn^CA7xi4%g zu9|uSs*hM*KvV1X+B@~j!90fYDm@gja?XP24ufyrnCMwLl6%qjyVKUv7cN{Zz4~bW z^4Uig_}_mC^`~`xUUR~d^rEI%EWp#dNbG@{p^=+d-CKcj6Qk?^2MBu1&tW4do;=A5 zCz2O`aH$83<}U-~1Fo?sX5mD!3kL(+!bDA+c$2}8Iw;*qhKFBR6t{x;nAlYBYH(_S z2UwoF$<#3AFki>*d6{;tqg71jc72}NDxi8K`PB#MevcX|7F|&+=H78`ct6QyJ}MY; z)-C$V@O1nYaZPlUfes|-rV6|O*oCMR_!MG)An=qEJ;2a7bcAz9feS30#Mh@=iKn7~ zFZxYkK0#68I93T%z+>AB6K}<(+&u(5kWjN%SLhu|w$vI*;9jWASW% z{K#E2XwO`H_oW3_YOp!tM`{ihk5=nEn7pWp!*E`Vq+ zQOVYaSa3pX;UwW4B=u0@%txYSw?5hphS?zUm!Ajs+2AdE%5QE*fK}ig1Mq3x;H6M( znV`HAz(AlL=aH22#=U_}F1I2gR)KrSgqw^Rvx=W)6~udy!$xA0o#C0AGjkwk0FJr& z!0DctK@vO65bQAVfPLnG}~?+TieY;X$TJVx)X=wh{0K zoahs72FBbmGEuCSgSN+MNI|Ji6!3tNoTO>&Ky{4vB_M7ipv-$9clLd5qhRFZ`H5BF z735SwK7=yoF`h!fSn>QITJU>R_*|0J!d*@<*txZjFc?h=(Rwd`q)EhRNNK@U^T&^P zCFE5Klm4^tqJ=2=76xR1)Q=hP93y}{23?c)Pv6i+OPD*0d~U(bmY0^?Ni%V9TkKr| zcsRayGBn=8n;+m46CZv?hKz%2xZX3a$meIsv(URkxV*PXqNCaT*+k%1&XlpVyP)WO zwtTDHdyp-0?;ntVf(*weq~K@PlPNBIKu|McyW1<%oHY(~2uzHLb>f0v)D--}?nTt!>J&op#EyU8 zf3Cqj1sW=U(!buGgXTEMhVXSeHU+@cRQWd2QWMIrMdaIu@ zCRn`fC2e0oJ+;J-kw`|yF&7k*gYLG4Qb^tYYBUyT?fSM54IK%|4u-M|{Ry}s$j^KM zjJwQr;eFUXFnisO2yrrX3#C}k#PK!DZ-#b%V8QY^v`s0NH)u!dAhZnV_5c>U zcp0V|LT>_kf0d_DKl#7^@YV1B04`*F5h@RSkvd&u_~_z2Vykd)fXvRQ=#|r5 zhGD^fT_CVeuYdDY`ukAS()h`5Je0}mOFG6MBUWTe8R%6KkT()D(LyJ>GO4IL2RCKF zp0I56bR6-gps0f_Cn>mZiQ<6042uQQ>X8Q_ea@1R5|H$G%M>|v<85H`PtH?@W$4qG za9|+A4`!$f!2igsGVkEPJ3f>hA6U*9C+Zu2a9calK+#qu4p4cMW-EpQ&CVeX0wU#l zj@SozQdduLcfs)C>nMB@UBB92;frX|F249h#2Fe(8i~rUbY^0RhKk(AXPqLip&{5-oor*8OB|1a^0$-qip{w&QxFhP@-~aH{w|#_U*J%s@O?1F5rKbB_~vJC!rT4Q`jEnWTb;)O$`z!f zBCev)Ec$l@uJjh-!!7{Z)5E??@eH;SO&}yKq0aK6nD^=KnU_*lJd{O5#C9xy8BMX6 zIt;W;kQ8E~3j$_LhK?s8j3vBPJ7iN|}xio53kM33!h<%W<*fVNP;1ZR;Z<#`YW|h>>7oA~TMs9(bN3@XY?|vel&; zK?#w#}&<6|31?f2gMRmcwT2+yw~zKV4_ zi!ZPY<|mrsA1&jn^&AnhPZH%f5;^p{pWF|z^PLt>kzo@_Aucj(P9EQ9nA8*-pBG^{ zG2S~3MIQN;lN&igOru0Px*)ur+K;-oZ<(tn@rh>! z9%lx)NRJ9hsMR7nJt%ern5cRY0st<2X8BGc7nl>yz{Q!Bk1ZRx5e=Do zzz%zUin!n1hq;ay!n&uEkmqL;8@}$Hm_X6_iv#fKy+<5*f4fe6yo^b2+_$cS_i0*u zmO24-nf>65LlK<@kFA^m(Nc?ahuik%|{TID0uO~6`1WL zL2<)LtGMf4-ChAZfMU63&8SP(19=G^%V`vY-ZMZnvutPEE#+a31Cl2we(4@_RSkl_ z0uO>=y`z(pwpR~-WRy#$DIrCQBbs@8&{L9klI?&fr$X6mE@g7wCQ@1{k}9 zfFth%($Ns^j80!dP-$tPIJo;G%VzE)%5fLZ5%=Nf5JcN0936sQ6Tcv2*JgEdo+zu; zX&n_#72OLhlnx!Gyi^0#H{oDzJajI*h?AltWXSSb5B*EHQk1TIh5=1iYj`Miy>sI4 z>o7>+LBn%@jCdGTUf~3Pu>FAKh0V62p-SeLE!b=S!5q|m zYZEm)KRXpcGPFPnl-Kp9o6!}@Q4IG(qf$}pqg*eruyl)Hx^F1fLeGpSfGILNH6XYI~@FK4~&X)q@ zaG+X$_5}+016d(rkZe%lnKh%-6;Y0hbEgoS_!!Lee4H3vJp=4xUIOI}EzsDQG(NZk zwSqc}QNv?qipX&v_!s6?o1Te_$0-uqzY46fKtbI&0kS50_-GEJB->zYw#T#{s9N42 zlJ4dv&PsNX|NSECb~Nd?=xrV8ry)+E@$gK4JeMdt7fpl2Pj+zTsoGiXk;=-RIB*Vr zaln9~RHal{4bqK>iTD&|TztAhK<-bms0dVVhNN+vFV2s%EkVY&f)iG68k%2?=4csz zO;MT@35qQF?d}l1d6@_>h0&jy;`sF#tnKw3^ti zs{2WIQprZ(NMai!CFc^`g&{SaloW%*iFM>K5Kj=oAk(kJF;!SeLbR!^C8 z5!V&ZNd!)NInQ(MDw$=4q==z6-qd?Z`Rkdf1OcF};58JMLYVV08(44$jSMF+=d_%z zI=nh%ce+ZZ9KmAn)Z{a#-Dk9auV0Ytgi#ZXzG}(wJ68|qDmagRB2C4`$;Yc?mX>M4 z0>hOgGfc(lvA>=+98;YGqcMSL%Q5#n=2V@mJv=|-is zlBv>91B;tpjx&tF0cIJPkATuPgFzKaxG0Iy{aG7RE|Ecc)>G4Y`c4#oxKN$vv+v@&x3Eh zO8R`cl#6{x3|j6@gT@kn#A(n@WgU`%mH>-CFohy;Wpo5!=J`RKju%%4`_{tNU^-hbNdQxbuvdqHgPdH37fDh)?ALyNcAk2N z&oK40)EMSg&+#^Ac=Q`?<9_kcON`5Hq0?J14vbFy2k*TH2WdTh5~FET(E*U%QQrY}%kgm{BdBN2A=`(AwP z{MxxaUA=jRzC!pXcwW`PNA!9?{Ri(Se|&&Jygz&qJag_6w7yQZ3Z5uKU}TR+hI02J zLkzIcN%2C^Ao+1IGvWTs%fJweB)~=D2MBX<4@Dosi{Hb4cxTaM=N`a^=Pw_G;O)Z2 zgRpKfb%~SpC~mx(l!N8aB+03Y)J9qy`=)2{VfwHUQ96@z5UgJs z^>f`4exIOeQ5&>-#{hS&fF*&B{cF>(f+)&EQj(v~Put*YwbdT<&z8VR6l_0(DCk{i z;cY^o_uiNkh2~EJ9mtb!{D-GIQ(IcWQ_yI%`QFEW**U?>9}&O&QGE9V1^Fya*afjE zUk2;PpCDnSfN%c8S6A}=wnNNhU_G}(+c#k?XP|B1y4h>**)IV#Pte5k_*HGa2Ue5{ zSn(P0gm@xu_D_C^rsp%_$+>xge4l5} z;x|`+V3MdO|N4|y0ftP!X04zjs5-#|#l%-28u>@qOMMn)PI!*-kx6c|e;%PCqwjIq zmSck=o+9J<4J9Z2{*O)x9^#aZaV2cB7W88aTv5$}Zq75De)Rczqw4S{@mvEYzv(^o zRKp7WXFMSD^D}Lqg`RzlBJs~GIQ-d-GXuAOeUoEuEhR5^cSOB1Tj#*PR&Ovb4QAk5 zAO0yZ`CJoT7YEbY1b%6j^G&5R0N?VGUOEs#qdOTYtAp>=*KXY+18unVxC{j*S$;OI zz~4iAqry+{zcNtDJ@{EENbVArSEReWzTG_LWN|<@dc#9+L#q>A=@tjYoj}pxk=l5F zV3#^dm!U%1pebKd_G3vXwWa-RmbLS~%J=fiaJky_v|Xc0)wNQ4Gn=r@POw`wiCwq3 zni=yp*PWHZo!wKMvAwD^$7*TY9FX<;i0QOkVzbtj)rv2Sr`^2TnT6$zHfz_ry+W2z zs7A%MD!@9TJD&90WOfo}lZ}z)?m5ft#9H+JFF4}Zy)9i9VQz8W;%o3vo8B~sJ zM%1U-;=pd#_iWqmFFnDh%?YWG_``}kF2ibeO78mQ&}jwYw4Eteoi(2og=|nBXU4*G znjhE=Z?&|kf+upbu)n4Fd~@GstwzBeY%Na61RHl=tG8RDyhQgFxdLz=SF0?4KV11X zJ*{TTZJxE~49lY-dzLnihMmu^kB1@U&+Tj=5 zOs&=&XEPm=4XfQ@wZ7^G^U0D?`o+HQlsu%Ir`$ z=s7#%j zgK0EJ+M+To%s7XW$c!$PGW|}uQr>6j#nM-)eRn;PDSaaD{Xxy)OhJ{+=7>})`kKjG zJ92Tf>=glqwWiTde!rc6R|U@tl)hbP)Y%QFqjbpkGQjm|%X5#?Gp(H1a97!mDwV9! zQEm+x>d<04)WN9Ga$~?Ww^cqfDjC(4Rv2z)y=99&=1G|xk2irlU$>lYOD{I5d3RB1 z_H{;?_;N{{DihgSAI68ppx&-|^>zi6%Z$qV5kq>TQd?)X<-XB>6Rk$yDc6|Yp)BQO zYCs%de^o+C^uj#PA=;yql*w5D_Lm$`rfl*rPHKJ8; zN+R!6^3}CNbUQjTKF-upb!td+BQF^%uNJlf-3+yIxx6$2Z?04byKe94(ZKWfM+(gT z>aO8w`F@9#=6ipC9rzk4l)Hpn9c}}?FHTtBTF8g#FjH@Gz4?AL8hfK=t==8m{h&G+ zh7C}5#a=qzC|6P2U1s40tY?+F-Lk}wD#1=C{qCA>NR_Z|W!*Ku$b|En?1@vm-pmh~ zPL~SzOS08vvR-|mRl3GzRLN?ida(C$B}0)~(|&OzHKs&=KeyEyN})C#u=D(`+1rkC zz>X^s{WY^AcWsKbm|~+{$rONWDeoLz;hgHG(uVMtyk@M>A$I&UZ(y zkavuAX}21G$x6LA+_ROPqxhs*B;;OKZA+Ex9(9*rF9$(uApaE!k}~Q$N_kn%S4U!+JBW(k*h{EgvQSSPRW=r%Up- zvUf*LNviBS^Oa-}+`%B(!Yr?MY~8Pp*ULi9;>4;{+-rk_E?1V87_2L`6~7Le1u<*+ zD?S*1P4hYKmH5i3TW}sL4HFC3&!E`$rn%fBbmP;Q*a%#KNuCI{1 zQRM0cH`Ez(sE^88&^Q!;84wcl4x!B$rF;l~dX>2`sutw3Ww(67Dep5KS)Z``ieD)i zO!2so3!E%vastD5iga6C1YwOTR2F*2Y}2!GGeeC#nf}MaNQhD z0L9_07&FYS!JOe#y2Ta zDQMYFZ95paVyGU7*7h)7iEF7`t{cUzT9|LR5=HyGZq8d2>&)2-y)6mqL}*ls#-dpr zGvaZri$;4>-t*Q{a;kIQUpSK79`~CInp^J|$D%EhgQ_?(#r2?C&=}Eb7W?_#aa3^2 zVcoA#vxD9wcjG`U+g_ngullopRahJFgX1zM>VrL{6)THPS)$6JK3IyI956zhN=s$z z1xYy5xWgn#29RSLEmQ2HgaICXdp|?sgUJ zxUmEsXwGTD-%!gyoMoM&zu|I+maCCX4VG8#)Cat_SqXYCTU>OESwZA5)QUxO z+|D2Ql_ms7TAfaX?ve?AENffq7_3A#8*8?8XjNN6zyXtD$4wM!I6nAX(08Q5glhWT zCNMi3sb^GJ-*fWK{;1_;-Q!drHyW!$2yAjgC>vdV+cI0n2`$$qI$IGre$}ss{BFBv z8pY;xTn>(uIc<)c*)`v200Uu62!wV}>_MXy`fh&D=gi`W&Wmb)Z79)gPR)-6Z!;KW zhO|iqbZ_LExruUgiEQoASanT)7ZB5dFEC;t)Q;P1D70p7Hd7Z2hAPkZa&ePw3ra^9 zSfvdZOBbhWdnA?REZLZoo=)c%eWI7m_RNFcs1yvYx8JT zEN$)EMN!!HG=&+l2Qzz^IvKT{0p?M0Gs^^v2?H9f)n&&ck6FFk9|)e5or#oYmG=(S z|cyV>}#92S}%#EoAPk>vTaJ`;?La?Q0Ft7F#_~$u_Jz$6L z?9M&8qy5{+mxJG*d&ui!Xz0bQgJ8XSM$+tN{~3KsgsAd#YkGmDtM*6d!oJY^sYkTH z@jpVj2Z`q}6(Mp=KUcA~xi#Z9k=*BP6ngu9i&mENH03IzCXx&TzQSe_Cl?)V0ecSr zJT)wsx(N<{gbw3n&htg+2iElPG>Wl3gL{HZ@3S`Vu{HgV5?(v{YMUpwoqS8-r+qCS zy~*`|G+yxK1ON&s08nJsU2%*803-|mfSL8^KT*<4$2Z)M{|W4&+aq9^r4bAQ$ZWAN zQ)ZL=K3Auvonm*H@3NzQyHRguL0j^U(;Ia2inLIF`7%*kx;|H|blS3b%mziF=5oWK zRw!(%i~97KtE@uX8`A5wX?R>{WtvRiXlF9LQQIT!Y|m)WYS)wITYhrLv92cWO`<{P zR+*x=Jeq|@HgAqZLTH-De%SV>a?UemHeL58;oKF)=`!2j(>pa>W%7rd6sl}T8(a4B zI40G9HctuTxhJtz$D8I=mX{m3Kv`_M+88`m-|u13W`+$%+Tnsr;m!J?Zhu1yg= zmf6~)pwjMTyEOQ#jb*>UOmf>*EwI#z)u1PT_Hmz;g3LHuAN6Y^&0VRkDIQf)89Q`~ zA8$rkS*e&?$~8i{QMK~?-j$D)a9FTLWo0!C1~knHIo4jfrd+F1WR)F_RJprXy3T$z z=o>9(oMi^IXSKFcvljT`s2dm~We^0`#yEQQEVJhahcV~ZnToc~I0K68lgGMlh`CCC z%?#}3_Ry$r7xZzYOii~_vYYmz+S=32I&w-?=roy*Rb%$W#U$)! zilfeuUd;9iK~k>X4lT1iFI1-b+}@IZ*)~z+3dfbZ3SDZ}t}L}`Pv|fczcrwZN}C>2 z8GT5055R=+w4AeZ=N4@N^(J`(S}Q9GtJB-OU-0EzW3e2SyxdS=%e1#BZ}Tg*zVyj`>6-mxRU-3Q%GUQ@r9a*;M$YKq?pp_QDgZ-nquA4; ze<&1I#bp?-=9TRb2!hP^VEOKTTdeJN^1jxQxoK;)P&;}zASOnaGIm3Mxja#h z8J+!z-Zu2`(=aT#%cqB5>R7=?;HEtICkYB(Ks%bGvg)(?E$Y|V!JNZNMY{ctK* z8grQ&6}-jTvf5hKs~8iW4J+O0LJa9V=?`%N*UXt4X7fZM8V59?E=6V8-rFGb&29BaF*`tm+L~e4*BFHI}oD zU1a;fi_FM!l``kK`F=|fYhAWC!`)ok*$c;K!`6(`_61GcX`$H*!I*JM-&s(LN@(=9 zj%>P~vgYRe)}|b(N!5kiQXz+jX>nZKN&|gZ&X7vprb|V;Q8xf_JDl3m=A#{D<^qyw zO*2im?3=7t40}R<5bDxkHFwq8W-~5xd4XYwIbRa=#oTT7twx}$xkhHDii_byquKdJ zlXMf9+v2d>TLHDjJIun>-2R3tQjT++tw@$x<;i)ib0GCyzPd5!U{{d6g;QD={dIpr zEzHe9(&E{n@`*^~v-mkegAlOnyaoLsQqj^=|F zJ>DHzC0DLAX}#2%&XgvzXUEmTxErqAkUdnDrcn#$YGc&Qm52GdT%Bvfa^8{|rZ{5; z{(hg;3tsVmuy;#6;1Px)V~@z`Sg$yWsw%6XKAP+$`8Z_r+o>BYX{(Vdhl<)TcZ_6* z#Q~g~%D6cxXL7SfbF$ZS<1rbw#`*rt+qH{T)!oY-a>Fu2RiEd}{n}8}sr9s#lSQ$U z@qtF1X*HTv492hfZLQ)eO&Vy~;mX(moj7vCsjswu03!+I!(5&V4$n;2b&VY=MUOa^ zmj|*t3o@2kn;dHWVacmE56;H*-I;P=TmrD7(%(*8VpD6o?BeJ!~QG_`}uaj?6r!2sM=Yd(sJ5sb3h;)%kv0Uf1$MfjICZkF<9A-egn^ z?do7rCdmqyaXnUT=Nfil)%T`{;k0usltAD1>vq#|7Uibu(j9vw2FFf2bcs$`YnUy6 ztvTRysq4@^jU%L8jcbi^^LoePNawg|=d_@sj)lcwFzYy7skb)vlimWzw;9QiLtZl5 z)ox`{tQ~7oXJnO*C8oIP2ED~PC`iZUU^!nzi(6%xG4%+G-Yf zld|{qR=HMm2h)xlRwg;>;7RLhYtZB?++;*rN|Wl=i-Rg57{0Fzrbbxo9;$4oxYWwS zg5&GnP#G#@wmYFhwX2JRL%l&ZWWwWJ(%t1(Jm{srDh(FK%oKB*Twb&!Y3SR3F0*W^ zw$#_8j%CWkaa6Y#(yFR6BSS86B6}!o{26b`B|c#DzzTD>WLWG~>ht2*B|PrX8IBih z%jxded~3gurCP4ut>rUL&Gndt9?DCL0mhyWG|()xdx*XR{ooZ^O+(fhCOEK;X$vG< zFHRTN%F1DtRjcFiJTo}f9lGBVbKFWv?@NZs|PkCjXNB%&PZndxF`gHsEibM)ZFNFv2>hM ztz)Uyb39%SD>S1c1; zCbMK%b<#Na;ylCa+tBrMZfTRxt+=Wv)mjv@nTYFZ_XwoGQ5pDuN?{^92GKn*M=fNj ziqXs$9e$B%DTnb$Eji|p%lKN$>*$MMXVeP)IWt_@Uaz5-X?5S7Fu85Bz#aFCg{V4C za3DuwQ^>E)X};O1)I%fB4i-++Y1%#?qM5{RMlN=cIW{F%&Rlvsy(FYX^6@SagjZ32Y~y z+pfBLP$%o5)hK2)igKy?VQUX-eNvL!=9;b!-9u|YI(FTnwIae`o8BK3!z_DhRcl-E+t-Hm$Srwu>*`umFiR`q}1@Hxv)Ad z%8e|jSneOiL9=P~SHY+$E2GtZm~Cfdx5@3=`Fd&9(6!L2G5OYTP_} zTHllw$Nj!-9Lo247Z+y zzE93+Nh$P!1sP5>zV34y&-E78!j>ET#=dKh26Ja7u-(Qw!}FUp5X2i+C#Qp!P$m1? zPBdMA9Y|ttxy^AVuxMnD9ds%)&rk}a%~t%QEzHsyOGt9F{As9bM8T-rI}hsN2?B?LO6)OIo4T+VNpc zuFNYLM=c5&wq42UHN7g%#$mRw564RA8X3-iGbL@7AG+RF-P#JK|!EIy$@(FlF9qg~hejTFRPF5eldxptkbI%ETE0qf9J0i$M2(GW~wmE!K<$(HM$>YtPD^U;xbZX{!@%_KsAd zjUDiKtj(%8lXW=|iJ2sCg%I-lIM;8M>Dp4yr&Y6sa}u)Wm@^Eft(xd)OIRJvkJlalO<%a%-7?susf% z- zI#=16fghF`evt$IcgZdf9Z_Z1wK6*%6y>~BFbrSJAGLHl7bv;uUG7DxZP-L;I%GPB-MTzys*}3cFLS&NL^dgLt-e&M z$a!;^7lg)IS#gH7T36J)Osbi#rB3C|h*kuTKUCC%98RX~S;dz-^8>9gWiW~OUC*wu zK%kTAm~8qBs#+KFL_Sv+^f6$^{HP*oK%sJzfn9Ky?6E-Xvt#`@7so+Qf2oU;9KFf4 zxT5QFTPL>`bFDqyGHjxu9!Kpuv2?QzQzN)?hG9p|rOxLTTcUT!D#wYp$@x}e;2h=? zT9|f5%vN@*@@OQkMLi6<_G~(tdcANm>nr<#SoiAfj?s~423?rsd07^fqwY+Y&A2ET zhO=BNJ#XXLxsk~poEAIVf0xNDpzT^W!HA9wJv3{FeJ>Dp!D8MWFGH%N=V?hJ8+%u3 zY9c98O0B;NcYJZ*^QU`bo9%BMzTeYLD_7baYN60h!Vmlm6 zTjah!9&o!_$#oC>fjl_*QneBY2i?u@O)6iR)3s7S&t+N)MvE0ue=pavOQ|aNiv?i0 z0|%hol*Gf#5n7qyy0t29^v0w#o0dc1)^*y=`g+QnQodOty8b?=jA*&sBgfgvg69`O zr9(4LqdQzErWBOR*^OM)snWJ1PBt7#&x+dZ#(JTCIN3oVwO9C|B)e z$1Q2CS~-;Y8Mk&le}UNu?E+5{Kn@XILaVb%wX9J7w!aq(PNCi3`7AmCzmR9JzI@PFlRy%^BkjqZKC`6G(rTmHk{@H~O7wZ*f=-7OQ3! zxO;YYQl~wMQ`w%}T(u{_-{>&>p+m6Vc15=oWi($l3O+G*f6G*<#SuBi+6kpCX#{#} zv|ag?dd3Zx^K7Tu4N6jp;Pg5<9R>C7wBfG%jjn3w==sUAKgt736_|hlyCmD&ptH_W zOqC-TmLlw}OO(pF?S9l4*@vJlZ5D%(-W@POKeTGw<(?^N;cPFh7hbp4cbE;k7}GP| z--LRjQy&txf8w;}<<7j!T3$w(``g*XZ)N)nOVnjuIcP<0r^{i7ZHA-G-ty*$fCzwa z5?lRty-`x8e8D(2)rm3DHU`n&ag7PNvs!$6KCEnZOLB0`=8v7C-zzzCp4*Q48NK1_ zPO#3?erLkCma1g`f9~FEOLiqY68x23YaX#U(5m|he_Cq<)Efd?L_o{_`9Yq`s=6eL z-9?rdcAt|X5|QcQaG2XR+t}_gS@?Hiq+=H(R;Kb?(MDO}N?o$keOCfKNE9U?LyDKVvB6kPpZJ(Wh(hyQDt&>k6n(7xAZ&Tw zYapVnFs-EAeBWHB;9EzU^&{f?#^Xz5QDW?HzDMJm+}dyj*=)l z<1ICOCri9AI5zqGwaFe6GzNLdz)6^ou?!1We{RH4_EA}YEBx;Br6Uf3xALYr)S?yD zLW}owT0@~0C$BC=uM6d-OKmxMgopY%1#ACmbc%70^my+K7dXq?(6uA_5K1TJ! zfN$t={vQyo+DFZ`PGL`Euw?BlAn_)irfle9$ijPnXuO5ZkLg=m(zTjAF*7*26V*;? za3WC)XKgkZXvoFw)W5VTwu3s$HMDt7f9zCQ%5`-g#e7GiVr@!OkdI<9NX;BRPrT zU7oyRhaOXSpqxiC>XU_ifI`enw!RvM53Vj@#9hG7#uy|>N(WQN|Se>o`> zfHKjK7&BEe6Q_i4xyV{*iV5fs6;qfcHmgFGx&{T=A=|^00DQLqhrPPBPy&jFbqOr= zlaudILq zWI_)H#r$1ZGHGescM>Jm+AhKxf9}Ssf&9c{5+hTtkmMu-25qeFB|Y;y;_!LC+3>rP zq~&ntt+7a~G-NX#e3nEi9;+UXjVSUmz?#BB=94^3V)(3pp^v^_(dC1bL)yNtY4yJv zcW_<6iAFDfHE-@}+-`oc6oPo)f2V*AmBuC& zo~+@-DJ}wF2jA#xk1W)4U4oFBQy?~@1ZCxv!Ga^$ztrAl%_ykFJyYPLAS=t@i#Xm9 zERmvpy*Cev>DHncA9du<*S_nUmM|+>a7R;iu~I_}660x3nb5T{%kf+do8AVF^XFJh zImSL_+4MgxJOod_>g2s^e@WiJA67OlWlO*Il}C9;lTwJi5K2lW(Q9*^s*!J3nZQX3 zl8yagu~6cAS;fH5ymOuDyaNK0*NW!FV3egoyY z9MAF;(cU+t_nfR;&H|CrU>aXkAIDCs_rsRURzB3~1W3QCSrGC57Z(am+r(?iKGkf6 z--@oFhqfi$758sWe|hH0Z;h?FkG+*q@Lso17g+6F;d6>~f>Mx=P&~2c8-wz#ag=Cb zl=VaX!!Cm)nkV>|&RBUK#k*dx`dwEn-b_U*72i`4r1Zp=2TF5rn;djzf3W;#Cfj3@`K!Nm0QbrR z3FssH(#nNTi8%Oa;s*4a1UmT3;m0+dUA~vE0teiL3)1!c|`)V&{L;IMMze9Va z%DKreqXse&f!q`pE9rjM!~jc+(q!mVqh=1=#0eO zGCA*@dU5uAf3mkj+U9`9vmVgvmy6bR+4?5lcVbFX@0U!I-kJ+}W~m%Pk~Q>x{11Yy z7vXkJfLp7C+h0ghE|~Tx(Bg_mBMxo9VPw??K7fHjo9y{USMzuJ!6U=MO%J~d;dWP6 zRUL)f;oyl|FB(lD>sHqHJ>lKM^_5=tKqPU~g$iySf6o?FmTUBVBR(2TZ7JYsQyK3P zjTy6U!?mz+d7eS@?E~c54z`i4)~$ArIRN#oLpKTo$bFMutalge zQ49il+5U%;KM!;34TD#g5pA3L!U+jAU5MP6NDhu;z{`sDOE?;kxedPeM9##e!TRCN zxGc+lf4RNhw zYaBRJ%^*cQ3nn6BO>8i4sg0l15D7{Hw7_yLN%3QM8fqB{YA_omp+0e~jqkrmOQYJ; z=*!K7o4f)e8V2d$l~8bK1p{RR>;XXhP}zjZf7`$6!5&lXci!fFIPNbm2K!5^fBx*j zf7-_X`EM4o{S*D$Vz)n{SBJ_S)loEoBmsM`p*vujN*TN^S|oV{(Sq` z-=O(lz5nxr^Ed4NpMQbBMgRZWLbrdenENw};eHkJ;pjit@%?)6TfG|&{i)pT*W=$+ zf4luZWm*2K6><2#tiAkc_E**A)9TOnzpQ_M=Fo4m+B?x<-Co z=ihom{#6bA29>8je_bz>mhm=s^R52-KhMkO$p0AA{AY`t{|@~(6#Cx|$WJH!^@0ES zFUorVbph}4oL=!y?_xcQ;`_g8{kQ#|{>-7@F2tW(;rq`gh){nbqF;~y)tceIf3gaf zJ$`=9eyhS|Md$)PzkZ?rslpA)2&VtNPdO9L-~Ifn>1QP;G z;M5uEAykbk)*J0LTgu3&Y%Xzqe_p+BwzCb;5e8pDTUM}Hm#+_D=jsBY99SwK<+Cdj z=CoAb&U!ABBzHM>*mJqeK@MEd^XId1z~Gp)gXu@+R2ZZa#Wj7PO&BBZH5F*7ja@hC zKnxB5M0#^tn}P-Tkj^f<)vP6UF8cJ?OBO|rbxH$mSR~y-KJ{z%XcVv$e~hQ;!=7$K z4YIdzG1M=C=e+{U)o?CWl>b1v|6c^UKTOzv2YP=W{QOqM9sDfePCkFp|L+fe8f?=O zB>yUx(F&*GQM-NtO=K3ou=D-3l$(i%kA5D)hXzbe9|&Ii>4I*mt{}cNgQh#W3#*GU zT*deZhW-IjdexpQA*x-}f1^vRVha-$4w_h5oI^n6#_wKaH&KrV4;faxANTl6-Ks<2 zzJ*AE`N_GDGl5ffA6V6nMa#n&TYc)g5tN;41Gl%Ep~bmowrzS2Y!DMGc9eI_GEV@AYq9EA1AH9H_Fcc6;u5?pCApE2>1}o z^}y_9y{Gfnh5^xUC_|N5AiSiZ4+XfO%8ZyV%Kh|3!T%X)fY`yEbv#I89SD1?vX9yT zqy{g;G{T*_cdvu9e`YLOMvLU5cFB&={5BrRJlH~gtKcYP@#CfmA5?k7LhbsqLmhsN zI?)G#sMztSTV0BWn&*kT2Z3xq$Z_A@DK2-$J@0`&P)YC3&v;x^7O0^{?52I1S8camP3j7iX6Mp>_%=53J&|d_ke?LP+zlYP`1|q-hC&4ia zrG0-6sQ+;y0v=2}2+6vRZtC9?&kx}+%ciM|+t@pZNIx&B_P^jDnPwY5zxs0@aqwfF zZQ27C2a#2_k0ZCsE8Uq`>e!F8L0mPx4tMHf^AZ&c5hs9UzKX=E&df%|%p7{Baj&zA z1^uJ7Y^+2^e`Fv|o#EM;bK)J`?C|SY%w&tZ7zBegkU`JKSMCT7AZa7fo{~?J3}qL!ff%(e|~l-iGIFxxaA}Co(6pq{6LP{ zIYazKKJsr!J0%r2mgQH7YvQ$$Y1sSe7}NdiRN@Rb2K%H#@CtJYsxu5P9ml~t&+8z) z@1)J;Yl@PkwFEf1FM5vJIo00y~vE(!m}uk z>kc4Ne+vzz*<_64QM$Uw+cQQu(C>`*`5rXZ;m*o134?pWe>7KvPHQC<$ik>Dos`J?1*(X953m^> zu?_kPhvFotsnEgw{N&ep?Kf(wR7vN2Q9j|+B)dV;5WPKF=szD$|6`>1`$_O;sPSJ; zg})EHt>8aHjzsoV@0kF$hbMt^c}tJLkIV<>?+4RUO>XX=l)k}SZmTgkt%9h1+jRjS zf4`W8NB*Gn+r*xi#i%&Ng+JYc^@S&G;AXii84dh%?|8jH1{HjhJsmol?W5H~B-rIi5goB9W5hNJfWw4NJJRLGoP#4_;(65eHatgSeEU z>I4GmFuP6(-t|O-?FY@6IyLtPx2VEUe;@Np@@V&Vicmv+T}E1Nt!G}$eB*e9sn&3P zMt{^*4QmheM4TPf$#6pWjh@H12u%QEwL2>RZC|!Z_D*M^lRgo7-Z}DH8v7P=u%GiHoYq5^Q_Xpo^3j9H{bu2pnV@UXevLDv|!GBzRh!pre zyyK6hpIG<(VQM8%8(aFt%`9oXwS7!_|=Dl=IxYLm$wm^9HuGMpxR5!ZdSf`iGC z&{WzC_-*DPgu-2m-1 zZSbx6rX8pr5lKU{=Ij+_EU-sl(&;$5lqa4c^Ah!+U4zhug`4>s!|D!w`g!Qc?<>y| zH-+P3sZW-no2KRJ{#1x25mNR6u#T*qn_VAUlGJhP-wCnt6%@Ll2=T{ee~c&J#Ydw= z3{_jmW~h%b=QLt1Sju&Vm^!7h*qw*TofW~S!992%!3~#f6H;1j&<4{oMRoZzmwl81 z^HvfBEblu|tZ2cAgjl0Huy`-2`m5H+|L0ix2l@X$(e!UNC;VT~a{oID|1r|Q^!%gu zH~L`NHg4k{2&+wzb&RCyf44S&)3i3I{xZ{#_OncG2Idg?>4LTX(M-SSC9EGg{S`)? z^`555P#40B9BGT1gqt&1#d2VrXL>zehNAN5OEffxMwhO~n7jrO1;-p}l<@CaX?It3 z+0tQm{c%qBGGWV>r}dk))`m0NIA$ubz=G^EaC~!USWRgBxut1be?I+@Fas%4gDwQx zPzVIzzr9m~)F-frx^;-(*Lg?V(62Gi8~VWXpE%N)P?@{wohRA?Oqj-&of*K}A*F2d zq5WJBJ=7%|$=x~Aw^>r%r9Q)jNTV|CJ)gr5LP*rTqnb1xxn#BA=7VnnvFMgsTB0(d z2#Su9Xl*o^X?`^sf7y=>Bbp;mgW|s*9sk--{NIS@-;Vwl;bHqftek)GFp_`Y3u#?H zT-*+XU7#zeU)1&^Gk%gm65v3>@AXVj!0*-dsbe;^`)>0Ae?m15z3Wcr>E`o(2&m4{ zMMAngagZG{yKnhewnXb{)}W2kI(dx^U=wTP2J&4wZcPYw8WQX@#9l9xe~~;Rs1^SV z9<;&j;s~P9WkK+nr?!aZE_6Q}K^D`ylE}Au?VaN}-Trz+Il0_p(Ge@Xy+hU0z)cOj z55U;BtZ_8}fAC?r$=KLCni*ST`S5(!UP!R3Uz)_Qtd)+F*siE$&uPJ%=s!s`=6;gqqgkzSy`4;!G1f2>i!{GFzvTcBQw@50Y6gPiamptl& zUf9bgBJ7c@~s)M2R5gzk-Cs&VO$32qfBd%E$9`a>QD|ISVT9!mJ8T3>=NVqoq z4`h*M!3%Ig#LEkxC7qy`BL76u4f#Vz**60Y0Yv+hrMf6mzDas2{{u^QYUy4oL;6Iz_{B>LA0q#Sr3Hp zr#IhX6`wtv^J$h$;B&ie(AlPx2rnZ&Je+V#gAJ?R8oyn3zNp5HN_tUdiv3mzo96^Z zf8_fYqc)anpk`A!A`>xUKUsxahw3GYihP>V?#?Fk88H%i0RWnwl7YC)C(5Epd)%03 zLMa_89qy$NY>a%wI!qp{Geh-kEq=e+qces957@b0?f}v@6*rO9rV$H=8mAraEL-Pv zADTKJ8pwgoxioR&0|ntNvO`+{*35$oe>u+3bKzbyvEZP-zc%oF11wUEfFkFH5vx(}yuy1|`&Aw_Q`f2zL& z+1KHj#i99LO|VQc2Si{h5c#{rh7z(U2CPxvDJ|&*Uh87DbY%zEPi}1PKC$39OvSJ< zfBKqh-4xXg9>D|(3zsfuzC8ubg4YG(>V%NG)cWgnH=|vI2L^#kkER_u$tIN_Dl@%s0q;NRZS@z?u` z{a4^%=%11Nqu{yxCcWubfR9)ujDFC)_|F$zI0WW19>2-_$n;!DVde$Pe+cInV}G3& z%szj0w#QDz&d<#jHT-RZsft~b0({dWBN|2d_TtcJxi+`f2Q2Xv1suA4jGh(U#wVw< zD^A7Fa?RskUi?jwW{Lm-3A;f=e@{vlvTAr0U(T7s00L2|14&FucAP&Nm8*7Gr$!y{ec`4s z6fp9{Y6CoGW>}RINq_@2I)RKF!a+T3Sj|4hZ~K+xI(ak(`&wK@153UL_u8S6$b;nB zX;KQ!xMdoY%h)Qaa%gz~`B5arcofpsN$J36hf7J$un@|fP`-f31rZV>YXKtyhZhx~sZ9@$67x3k$E}wxt0ar`MFCyhJ%%;nhONf0S|vgu$_|eSw=-Kys9+}eonvIP zE3hbvGN8hp(Mm>to>S5GW&mK$rnY7g+=`eS!LTnwAWR!zf4X#rdabY>IM|IyjT!xU zT>$$G=H&?YRtU-KjbH7x*K89JEO#KWFYS3^UQ8F;$uiD9I9C>^Av>Stjw6$8v5=LW z?O?Z07x$QFA&3b33>b+doY0o+gi-iRNG3_(eCHavv7nEU3QBXjF9y+R1JK<21Jga+ z5Q+0w+|vG!f5pb%5zpT@IR2uP{5MKr!w$*pzY(S2zoQiLy{U|-#CE#`A~SU8!M^%9 zd-1xtJBs)6_#ogINO{ExRekQPVhg2F^&=P4jdJ`Ub+oG*b_Ibrm1SHl0%NdMIGYhs z7P#E8P4?Tg!qU2RN!PVGc{6Er0b#Bw6N&(En9Y6We-zN3yx{_*qTTU{vLwq(AM>P! zre2r4JZ5y2Q$_;|&D$}un^8|lWnaLb1|4VCrE zMsFAA4*PU?lC|?iiwPIO07gtLp5MD*)h|sdf1Th8nag%LeHz;3E5z$ikBukbvyIdK zm~5!NvJ`sn`0302E63A@2f`zgi!e+0mRO>aNfq;Z7&h>S0{E ze=^<*E&2gpRV}TR_=;3^u1C}co*5^ZUa68vO7{^nb)Tv3yDD~YRs294q0r>Ppm$Uws zzy9}i%q5$YHrEuHBT+kQuyPB^JM+One;dbT;|O7nUL`68-OnP)F!wc85GG$~7Z}z_ zc7MO*-5)sT=N%6JZ&o|<^#^J?lZ<>XDkCUwIUi?7WnOUB^Hg6%Zi?(;7T6 zlJ1gurU8a)h|J zCa*C%?pcZ8qL7?1^;;B$m+0$ke>z4Sz9XfMgDSZ;78ebrtoK3LbZ+g=kK*B;xz9#Q zR$r;#gzIdw^A_u^LANa4_MdHh=8rQO@wEk4t_cvjFI&L+qDzfRCh{mux`O2NZp5m% z?e##@t=!U835SzK!r(pVfUgVd{i|!^2?l@>7k<{ZbM)-y8bjtjHChCAe+jMxdY{0c z9=f%rki4>Prjm6>WwrTNV6u0p`z`=rR16TrIv2V0?XGDC|pG}cfUTg zD~X6TLd1T!@4BL6x%%|VO$rE#v&epM@CgS&-ji*j`{*|ikqKfK^;H2DFZ%rWf({$C zOAb$wg9TWg%R{`Li)e&sikISsc945OnTmF64pjvMZ%84x)4DTBwK5ifM=6D z%H1kSWGDk(4FPvUZrMcSrSUApcldlXL{vA|`wkRJZp%ks6}%~(LpTn#NO3sCMb%+w zzzkI;w>iFGey?VAD%ZzY$FurN+-GfZb1oe@aI-gYav=#;e-hy=JDJ8z@9yNT1DFvz z%va-2_WqGcta|Z7LFQH*&U8M*sDUq~d9vTuA;CP_f@9+)St6UlnrVBaIbXWB{B~|4 z@r_DFL~%9Pnv!>8JRx@gUqZn;6SDNxlCB514X3fNBhC<5C;{*46li@66nlJy{9Ns1 zw!8%FE98C1f0;JNL8=-FA|6(hk=617!(2FW!JY&iTV`FiT=Tb(gRdcMjvF;=Guf<% z^~Wfv@yBwzjC9%!Qf~WX6J!O@PY9~(^q+SU|J$@$^-sfCeE-XY@V|q*(5l}jEZTKs z1S6IaDpZ?6Nr9Kki?FJzxuAMvO|h}9Y|x7 zTxG^VU;@w>>9%7;@*UZkihuJpFG&RdCSe|*P1EuQtIe=C)sMT-%rSpd{wH(Kt`(=m zUxL=SNR>L_FxTm@h#>ZDL2Q@4R&w#Q|4l~Z{u-O`R7%!f?32SldMkw zmVzUu`NaGBK|=t1kP)t>(mQ-}IsG-)hYqSCX~)-4 z_rla`s;$Z<%B!-Qk1(;jIBcC@p8HME9VBG-f1W>*v&$Rfrwb=o!azCRKMw{*xvHaz z@&{NtKm!lqK?;O~he&^q%nP$9c0B;ed00?<2N3a1-)<^B;rE@E6m#!>6Z*8u1wfOQ`h9tzn|>X=J4^=?=X+t0>v};_3BG5ffDwj<^!|Z&=RGcA z{(y(O0N`B1T>Zq0Eg%nnVw}Ne()sBHe^Cu{-&1k8-w_*q-nswEVia67PzSJa{Cw>~ z1Zj_xmYs=|MW%p?U+c~guVTD5welcIuF(TGP3yLxyD;Q{2VDYV4c^AloJRL&vW5U8 z1>bT1j2>jNQN;6JnjJ2!;oX_qLkE~Il?wR&?wu`Dcg<`GR6@WP3JN4uCesPde;ssS zRkcy=KdxH)56t#|W=2Fq{>WKDO8??47N}(|s}9ivbk9M9w6COM?LOO)Rtx0W*K@QEg+qY6leaQpdz_;V%Lz_9VTT192U77KnQ3-mD+2>>q=Dr@E1A)Nx6>*QCaW8$E5>odlh^tb5 zYGO(eghvi}$}lw~i=&f(LDLk(%h3B(J}{m(!rQ)Gt1(A;JXTa_ha;|I zI?Yd#nOM)y0(8YFyt4L{f7VENPV+>E6H(*#NP!sly7}jX#BH+0qx>q104uEazW9kT zm0OH!&OQNQjqML7IVUrYYA-n{&jg2_ialGoD|3=Q=$Vq4gj@xO(>N413SdG60o_X- zE!AvtY`gXR)f0ODZ!h^^Iw&%$K zov;`v#Lgr*k|bcVp#AK2k-NYvCB8LQh0)5ROjmL`3PiV@U}JgBMW;AlnHgt*P9eqD_g;jJ`Hoi*IUmcY;cFF79yRW zWL?m*-@P#?MSD5yf9haR)`17PGs>&}?oxaM*?x?2@|H}w%N*laBk8Mf3mwm#2s(%) zzp(;URQA-X0mB$>iHWp)`&h)k!W^Papc^Nv_IV%2)shAi=#6pUOVu4N)1?OfyGpaH zAO7!7uPE*Bv>E;Sv13Mt_OJtmJHsHRFv7;Ae1o_29R!LAe`aqAfyzg?7;~g!^aat( zQcIY+Mbnx%i(?x+7f&7BirOuyg~XLIFs3)AaYn?&#d1sZ8Sa> zgwsP%yxcU{e;qNln5&B|*@p&K${}};72$v-s+fgs=b;(IWciHum)m4bKMUoYrlXnj zVA`cm_D-z}@vh)GS$N&VLsES=6+Ds?q@42AcVr0z7I&>gu?|8eK0wa7K1c7j_sUKT zu+hO%0tX9ch-;ygHPps}9m0X_eQ9R#_PRm~CbOKif7Sq~v*50`YrJ1Ss*jRgFI}bu zaq+Hcnk7MP3X(SE?EPCY!>jbq|+Wr4$38`Pw4U!N8*k7;;&6iYGk&@Q=_;nG)qy`<)0v|}FM?NO7&YK^DCsJNwGt$%1EdDtNL z-3^G)e+%)>?ZeD5Mr>*w;OgN6z9<5eKMgZuoMgF}fy_`D(V51&098;hkr&mY2MbpX zVVq&@Xs=E;8UkA^8$Nt{Of8a)+C=;7N-N_df0F(q#TuAKUsAR`lL@!S`peit3tx$9 z-pxg0yiW9JNVPh8|LhiOj3y^A2bO7)&1LjVe}#qAg7L;0ebd>%^+g3KiQ7K>N8Jee zBW3)bnVV7YKjm5z{g>!b-g^6bt~uq1U-mVtoMH*G#krQkaNf%3Y;76Fp&ETxvD_7Z zIo{x2YWV!36SKh09-S&SYymiXatSx}ID+E#GB|Ia5J8Mrfaj9%^++^xiM_G@`>HW2;=alFM(%i}+>)9e2EhAON(} z6rVt!^iG|s23P(4dRc~i(E?S-)H)Zue@gXTSKa)^Ht#3MK@X`7YcRPivtfW^kztV) zGw(eD5Ov@Dd$#}w;{F(nM>Akkf1Qf* zI=%}Uu+P|zBBvXR_LZ`>jv!9cMZ_4tPBwQ&q}cZs0h*Sc^jNR;dJytKvVAZGo>cS* zetg$yx}ZleS>ji3fs=g*!1Rw#9{E%5OTPRmHHPeK%{v*3d)qTz(a@JdB7(`J(yxN^ z<$tSH>v=%MUd#a^9uau=)|V<%e^6e6mW}B)&fBl#z1kH>#-#I2E041Bi!*pA;^Vv< zj)#{`z7RtAl4tr@A&MA523yy8+!P-j>QT@9^8i;SRO$VGrC!MCAC!-h+XHU07Ig8B z+X!r^vhg?Chp>~@E2jhO_s(m-=EmQtKILe}V*W3a?Kyr&BJ9QI!0T^AeSB%c?Yf4Oxjpw2`F|XFMb? zK_`8WWuwXE6O9ATgr^#=cN(;nQBWEvZFROXmgglhJ}EWUH{w4?)}&E*AoWO> zXO8gkd+n>GV8H%y4be*X%Q-(Pq}%$}=b+>f90#2RR1TQCF(t)oX|%^83F9@O0C=;F zGS7(cf;;UKa%Va>#=cw_p*-O_5!s)6 zfQmGJmR=iAHGr%de?icYOrH7IW^ZB(ruEcMF}>8aE4?ax6jgQs5f*>zp1m2TmK3_! ze0TcROlr2B#^A4S4_%Dj^N`0u%){m%uvGRF|GMWQ!~xR3X4$CDPZJx5bbJ~Co^F2j z8qM3GnR1L%M8fbkQ9vF`#^GwH>OBM+S?b@e(kcRH1J*T4_F_O$ek9YeolQ zoHnjSMi~2?f3{#R0O2f|sBn7aHe!=VhGgP%Ex7C&gBKutsvvo1>e*SCoPEY#5uDA) zB+I|4@8uIdIeam5JfM%k-WC7trdJZ0<#mT!>lmQOl5`(9HF6eP{!XAkK#9-ZjCby) zRokxO`t{g;roZRr(VN6Ic?ZjOE{^b-?TfTyT=p&mf2Hu0gEszQnWaDR=s%_u^>59P z2K2k!66jr~E2w17>VYHZFYKKk^D3&=i#wM{kf2wASsJnGS}nXmXR$y`zqvYCcWD=( z#kS71iPcTK)Q3&E)#^QuaX8_twD`JT96=J-JBe+b#V(XY$92cYEm?`pVd1lgwh`Dt z`d;Whf5RsE)CdF)MCPT&Z}$nU1%F@`IX@gQ4-Ok00D5Pi$KJn=%)#)54z!%RFTrhd()*ioiib^e} zA-uIdm+({IYiassfE%0U{Gzv7W+7X@md^7%&g}wj2w+8i`Qvl_|KQoM{^_uz-E z&o~mHD6Fwew&L=B8I?8)@QTI|Lg>R*pIjhPJX^;vF}vvxE{kMAZ+P&s0%RPi{F{d3 zlzwd0V6|(Rg&OHhmw8A!kiZGXGBTzV|;UkL0W&VH}zEF3QR?Rkd!j)9m zXSEZ1NC=u5n{9?pkN5UG31R@(R!6(h9wPwfL6AE1EBB6Y0Z=p}z5qrhaaK>-37Fij zTem_%W)m`o(1}-Jka&OMVlLJ^=5diCsQq@jZ(sjl8{dAi9d-3eiL1F(^n|s>f9n%n z&{pF>(%R{}9u~vuB-*1r1f&c@=Sx?s z`!+q=A%0I)|vevE>K-3IjgG9+lb&)b(sY!@tK6(bVjQd)<;p=0kDuVBCY!Bcd zaDRLv%N?s8f8f=B6(L;5m{ta9hty&Lr~nJ#fYX&<9g%CSRA7yne?Uuboc@Un!`$Ox zcrI_D{$UySz31W_q;0SpUFP>$|LGv)`$Q#Q68uty6X59mGt_MgyPZK`x@}hvI@%~o9st=)pODk!9LFdR7gn9o#|~qy*Opw^{)T%tq__9?`Gsak zQL^j11Nu616;`9Jf2u|q@h`?=--1OD62o+s2dv%?7x+=t&X}k$M)cBW#d_ZqX~CSl zQ>A>m5V}4(wBze{S{L_9`u%u!47FtB_WD+e^8~lbbY~J`LTA~27NoF(?X!70y$8q7 zIOSDEI>x`)yY*)|;4>RzKSA#jr5^`+McdwszBq(as#=gpe_2*IMCyOujw!w*m*C@u z=OjVn!A6)(4_RIaN;zMdo~4N&M&8En4IH;QdaQy=2yKfqE@V}-tU zlcM@M2KumK1ROwOs5cFp9Jld!8056P3kUd05v~+u-JOBYa__Zs2GsV&9z&mk;zhw5 z`HV?~t4E`Hwrr{&baBGL|Gq|uNO3X}mH7+-DF0bkf3R(?{B>>x@YYvHBAv;lsw&ty>|Jo8ynS55I|KC;)LkgQ;)jOgx#Gcp z+|sSzk@)|ac}es5(@lzBf|(VKvV0F}sxcl6c?nrZlUP*Jo4eZ2%k~)=E#y84KQCP( zHc*=ye~@N%!Eu#*(3+}5de}j@T3T8CvxeMkJnbTao}x7vD*vB=hW(V7=-_iX$t*_W}IbBq4;!MM{Ip9>Lv2_|AVP<7Zl^ zqwEJ$eat?@BuOhQlrzRmd7qRo5Z1lDX~q#df2kyU9M41j9s8g2k#F-6)y351>&G=TYvbNHa=5o1WnB54m0Yz@oMP!fj|pkT<>m zf9$>2y5qRACip6QdTx3~r&_ckdFqPZdr~xaG@^H+5zT)2;aX|S?%Y+GXHI`#FC|kF zBn5!Lk3d8KjEJFgHCrxIyH&Q{vT^1?fAbKLiIl5D?V1ou(mZm}t7nNl!1?*SEyKuf zs&$&DxB*g;FDW|9{ zsgCPuSEfgeriYr1~vBfd~c^>Q0k z^u$etT(qjRFDgPoA#Xl8O0f2%e^yS519I)B*N?Z0ahg0!NbdGCg61lXeeiORT`0Ug zUcC=XODpywC6G7LaW{3R8!++N!qhhg)HNc3HHUas%Ly16jV{A8ZAubpO2K0jtk%m_ z_4QXUyjF<>AXz_ka2w`&e(4>j@fcZ^B-ccqYsR$wPOd6b*JU75qCVMBe<=xAjj0|e z84G+LVs{VT?j-;hr1$2e+AG~IfmtzK6p3GVsw*xpSsHg7GCElx_mpEq&?Oyib#me8 z#e5E5hKJDG3f>zZ2rYe!dcNQQColfVG8(rWW#^{ zDp>Dt!y13kw}DT}Ht;P}-{MGr2*M413{DNA??I5?A|L-JHf;YmiI?d=-UE^k(fH`* zpFf91p69+jJMsBTZ^6vJsnQR@zu$v)zg7GG_S-9dZ|`5J_DcZtfA_jR*Z(b*er)4k zsP#(#@Q;;!VB5F$_I*tLVrPFh4Zw#e`XA$)Lm&C@7R>zz^Wk46CisYhf4@zC3lM*r zYv3y`eH^!MZq#2Lw?9jO@H>q9vCV4w=q>E|PjUX)#P9m<&tkiO`Ne4g;Th`&q`l>%kwRw*$YFu%C(lO7eb?$N%|RGXF*@e{Am0 z9|i4CkJrh*>0kBxjW<8VW&S&z`kHfp)bP(82fy}@jCmaWPvAe^9{&sZ)5I4aYyZzE zdt>acmWoeN=Ksh4_@iL>?>Q&lvQ~V`J@JmZ_gBq3@XinZf8*`H|L5ml2G{@41>`Fq z5AsVN&rk2B!(TEb-lM#e>&Gy>jiTG{wuSgPfXShLe7wcjdwVuM#@kbmUp|z3cgx<* zkdNVaFX@slmb==#&ERuyzuRFV@gCMeS6_DkW3~Kkcgo}8MzM#Ry3+SkW3lXk$H`Jf zI8Tj?y=5qwf3;QanwWqM!Z!{^;a8_DJ)93yEyYx&=KgE^2<=sxoBu+-$&mg+3EIUNqy%+Wbl#9cdAm$240A z)#b>8A2oo02;-?`2YoAm+xqyeD)OyU;OlAgEr5Hse%19ntNL$6i~m1Ah?U>Zh!MS`f9dC_Df8~9a(=YaeX??_XIsX)O=Tv!T^xKR%TVX8C^!Nuj{o~EE9*zGfyR7U^R{Z?U-~5Zc zn#=a_&wuRv$wy-aIlJ=ycKwvf2sl@k=3Hm~?=(&SVkOfFlYf4-CjMJw-t)$MD7N3| ze8j}<3;W++f3u(L===6lMx5z?3;3g7^%ee+@c#vCelY<5JmvpfCQ(EbWc}|vh z6ra6Z+U_@~`v|Vz!P_6J>d?PZ)xXkmzgB+#J@xvNSusDh(}aK9WBgj^e>J9W^X%go zzNJ=cqcJbL&sNW$)bM%Uf2GBIBm~~x9)B?7f05Ve+t~d6t;adB|Cp=DXRiK{=>y|m z5`R~{^YeqK`DhHkvEft6N0S}?C8LmEGU}6{0Dk@|`&Ln=>7)C+HZ9ZH=jqX$z59Tw zpW6QTZRxKIzJck#e*e?dMosh2uO-_r`iK9fd-yjE?(f(0o3FiN|DRukH~Kw@zYEKc z1BQGxxsmTdynS@bhxPDnhWv^6`9^xrC4YKD!1p9MoomG7yAm88kMs+{uO&P5{djsJ z;rp@kJCgjs&hJU^ot>Wv{)(MHzp?n^68{Sw1o<|x`Y$Sfy-CWqm=@im`TJe@n%Z{) z+b>A2WAsVe{KoG8k%;+q*2JIxG)>^A#rU&e`ZlTe`;~v^?2CV1*{8znRBOLsFn|6v zk&pRY|30myX{Ka+Ji6~l>eK?uZ^7K3(|aG7Xi3ZdZ)0r=Yl`?xxn z_wPjJdyQqEB+W9N)9L$B`d&?Y57zVdsXWFv^D*ka!zB8O)_3dVDY*VVk@@%@G`?4# zzFxWiHn9)Bitj|`-CX?Jw7#ej-+zJBo9vs4{_o3$FS^LzCUw3X-aIYehuQ}<;BS+8 zGxxs>kq-{EZ`_;vH+cWW`1#B9ek$g+`4bK2-B$d44d>sf^NrS<$^Pk+4}QzvR{Onm zslT>5zyGQ|E&YFfi`VUs8T`Q;@NXoQ{`uRStpBRU--5atP4MAW5dR-pc#ajB}Wqjnuz1=*1T#7$a`6S)nL~ zVQ}`qmul9<%dI-l0Y_4ya_WFVE>__Xv}lE%Wk@3!(?u5tC=Bt1gMaky5Q{f~U7oL8 z6bKYS(t?nX>o|;nI^q2tK2*)Yd{Fi6HafZ^6Dk$yFsSVxXort`FnYu&TdzC=Yyy@@ zY?q_6cZZw9^+Sqr{Z7woJ#uZYBWgF1ONEa7vkUVJANsCeH-uKPOG$KaKoWjFsCiT? z{&8C>)e-ZNu8sQ(kblYsmvh5}vT+lD zC-!pGm4QFw>d2*;Ev)#C9do%7w#e^mb4-=)j=VM7m`e*XQ^-~Q%Y?cSWA+0uP* zIe*yu`}tpf;eWT3PVxGoqEo0W=koE}jmAIx%D)mvUo^wNd%XN#pAPu-*^jT!gS@@| z>izmcqk{SRbbxokZOG;C>%NDb?pOu;Ru7wfIvsF?^7a<4lo5lJGKa~g_q*EoWXdjP zz{`Wj)wk3WqUG;e@EaZnl6r^t6!G4JTu8WsYY} z9?zb}NS8F`d?Km5rp}9&N=eh^rd`+r|K%JPdp&7T4KjTZB9#q=H*A96&^ zcZ2Yi%zdygHuRpxmA!uj-uI&|j2J33Ik7qJ>00lT_J} zec8YOyivE8*;!Gc75+<2$Hyf*^nAOIeSdwsIe0WgRSz2#^9ON(^{38rkYo0cX;)Myl_mp)DxONnfPqw4>=S54%RnC@&^I* z|D3SG5_j1*3So3Zo`?;*}T#zd^Y>}*alqMJUn_RI^)s84>V9B>z>%q`$ zDD(WngqTImJVcerNpAylRoF!Z`Jv1BSAp?=JU{9y>M7k$GZ(bt>=m&;A-x$iiF@F>Y$-0qjmzhMntOvyuRV*i^s_=%JpG5lh;{?(N zck>TorSLha-@$KF{CPdu@z?KY@EaRmqxV}x>5obJ7(E}*tR}HFoqJYJKkS0!_bSU9h<&a$MsZFbN~Mw`BJHqZn}6yBFszn( zOBg8;t6@diTf}gW0;kZNr77AC$Xcd*HP(FXEp$GeyR3;sgCw<^$kvs9_qcp35i4h> zvgS>xV}k)16!Lc8TxORPk#wcRQp7dDp1y30=1Uhm+SHjt7MllU7**~FDpHq~W+8ab z*HKjluDaLj$;Ye>3%8;~`+x5wpZK=n|FJ6)_*XSzTT0nh-Qv4MqIJSO5N7dYo3R-sDbPOtR^701ojqwzbihQE{l%C z?k=N5)_|3dvaIVf1fxfGfx!N$?i{X|hR8rZ5~t7ZooCN*Ie#GIhG{qORdoT#zyLi6 zh-q5*YcehtiCPmZ4^^hR*Fi1YtCGhr0b@9b!zUN$*Jm`y$}{hZh4)smb)&q4j>7eC zo@w?$?em1U*`$;-0qN9|RcdV_Db zEN7FhZs-dsiho{Uwg&qkBe$(My(?&i$+plEE-RS3XnbXYD$|l(0tPJIe4M&)>t^2P z7s*p-nFA@Bb0jLqhfRQmh|`bm)d*RWX;=SsNM^Ui6kGS;*}HpZl;wqsQu}VXY!vK` znMw1YP?yN!5hb|dz%Hk5OpnpI%=QOwA&)f#yt%8ul7GgE%9FKoinP`Z@<23E8U?;U z!>(EYQ6MVaeY&SBT8KvxF=5CSiDU?C_mV*rsfZo-|Abniu&NF& zTna{F-zMbtNuI-=s{=S~S~SUQl$jJ%sWL2t$kWO->pAFUe(i+}oEDGjG_3arMd>)K> zt>;{F6a?@%NXcvm1$y0dA?Thp6nUHO%w)G*^=p9oTIjbq&)*SJv=?QD+aO8^g)rd)2#Sl)yuFsTi&% z-egr5aMQl}6RlE#`KU$qg=u`qU9Dn<_Ge2XCG7Hq4wTL_SF@rVnZin4+?T@VlhyH= zA)nO)7sVMIFCr?mRFyFVxtXAvOQtm>H-BETNJY>|8}zKEP$%Rb+1#;;-a)$@+z%L7 zr`n`VSMDvG6^aK>+H5ef&|oiSx<;9^s#|mo1yN50u>@NY&@}Xg5)Z~f*JlYh2y63q zIIm`>suzQFR-yNaOJZ0}+rA_e3&?VWp7M^MgsEKJVzjRdxxib7%cT!9;w6Tl`F~a= z1b2OA(b5tuI7q*@hw!~7=$A8NKi=8+$=rMM;ryO={13e5TPjfHd(P%h&PJSE`CtYj zH_0z^*`RgahWq*!q=olB8~=Beuvd*@DG(A9zE-1r)9Tr@Lyiv0R+Px6JcRH)>EVD1 zCP1rYGpBNdrDuh+xjW70=Ez#qq<=)a!2;rdbtv<|U@DarXJp~WVZ4sV?ZO94Hj$>h zU#$ZuuX-p|0pVNh(ie`rH1;Lr_>yF@J@j345$ah)kh_3J1GAwh68Wq2Z2D4MOLnqn zvZBe!(m1f9TmBg#_vAvoY(%Q7^*CE`+sgHrw(a4>;r6WRllxxC)xB7uv42T5NJKGN zZ7|yKu&gp_sEcip+=06;IFS+So~j$uOIW$op#`~Y_)x*Yi=s;eSOcaC9dgG* z&>~)nLca*FlG8hv)fgrjmpDAdAR3UF>~A-@kOu;eVmG+QV}%eo5s`ttaI_K|?s}y3 z6tJGt^nSjAJ-?bUt34KZ-G2_h*iPe{u~aU-9EX+M-k=@aECIh)t`Pao*ysb3)2;#M zkLGOS14=I$cuTyvGm#s`)0TFhJkm3z`wDG*=KA*+RD=4YWYOV2qJCw0yh_P&D ziVcoq2u(a*AO4Qs%zypnl&@((B{P_#bx{TQAvN|UN^@%45wbl-q){oH7-R@;<#DaT z`!HFD@`TYB%fgotx)rz6qLzmt8Q{!-8gXz8PkQx!-^UM41Sb_PBH^{6w|Rl4lx-vw z;p5IQF)IX5MYX}72CMp%X5udmhbk>T6xuj=o6*DS3Q^A#B!4V$WEGK(8E$l?Ob*h9 zRAOdf)VjYG2R7r(bEdNqFTneZj2-qUt~aBAv7~^2$ivlS%6MA$k7T^?dSmk7C_#cP zxQu>9)CB;ack=1b11)8F2oHs0LxbF+QK+kKJYnXot8WVK9#(PlFuW2jIdi>Ro6y(B zqUA2{M22Bq4u8f1+p&2ie7@G?Jxc8O(Q8Nuj4^t>`O4^BA>L7HNGp87l8^C8&P2i> z><*Jb>eb({g-& zlnVTC23SusTmYxdBEwJ%=j(mONg*-J`25+OyZl$k<~OMPZ{t&XAly-4Y8cDLtl|0K zgT%YP6|O(pAh_>}CPteS$pN%i$fm&XvniWg;(uCh{$xpuVi|z!p93t)r$X+K>?v9_ zouu2s4CG`lZ_8e_<0Vp_euds*JHGeDRe}X-OI9GvNGO51(p30|nRo@*=y!&Z9P&ZO zbWU0~^GP!mu+glGQVm3jq#~DwZ2$Zy7uGu6dCZsns_`MXM;5HX)M&NW^aY z5q~V#kWPRJ^kOX_O}N^gtJ?EI|MYlaaLuS<^CSoo+2iI)VG)j(%*WbqI%6@W{*(

    4qWetF@OA)=vy4+KNCQoRA)SQ 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

    xv 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%0DHhvR4O|iHfooR3oOdt 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

    spKS)X(9%-;Ow?f4K&SWP8-g0R08=?r6@35OFER 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

    q;rX| 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

    U2`X9nT#r4cacGb7=Li?+_Fw4|ofTeb|;FV4u* zfy`2&1_fto1|u_Ff~^U_+Vv?!CB}aV;hm--l_4u*FF$UlaAB@wc98wF*B_0_^@tV! zf%co#^dsYszY{6JYOd8->`7R$Cz}@#rZw_U23@qygjTWY*yhqKDGFEvp~1wbFhTae zk$*ls98>#T7UcAu8l)&PZp2@*pKyk5v7jefS9fI3y5C_jcylhBYJI<3v-f}K3k?=> zdYdmINaP}dL@OX^IRAmsHQ-=m+zelW02zwxg(4Y@EGG-Km3}FMbO{oc7n9|%bnh#9 zJTSILCnuyU575{ex6O9ABE-3oAR7R$z-D1+_G^x@Hy#;`;6)pAUxXX5)W9IB_y^cV z@#tx2{KMmU7Sd^r&@4)rJq3R?a5=SHP8E9?dKxF3+ra$}&e$CnI=;*B{5(qM__A}R zPdp#!?#3>pLimtSQ%Crtw)*dTOb0_T@keG{2haRDnFuBZQSk^i1gytwb-W5{D+A!@ zC_W4VN$4X6Mo&j1xSYIY7@>o$WE8?Av*=(5<&C}IojE1)ClNYUoS+{5@dIjrMwxUpHsPm*W6}Ee-yZ#hAjY1U0-7sJ&-dk88xPmh0S*rcdvhWh9JbBIH! zfz-=~ru4+ni#6L*KX^av#=(kw?;P`(DpP& z4-L9((7plsIdBjm@FpDXAD$^HJtdpY9);8Jc(Fk(=5X(*DBX~DOooHV1KVhi;GT!G zATtzys|Q6}_kyC4k{!fV_3jg%cG1H|KPV6w zS)i-IRuF|y)mOjaj|9VdfaN9zCBcZII7WkWM>!9S(l~!cF^^CTm2qlK428d^_bpj$ zfp_Rqn9{?zU~*fLp%9Kv$DoZ42XWl+Md5T$PQ*`@a*rKTV;vJj+Y?7)l(DDDV?PQE zrNZWPTv-QT9}yR_sOi<#^lEc@wQG8He|lneb#F7-6kh@t$mO)cG#Ybo{?zOl*6iw@ zi6%tlKuUi{4_XT%z{>0%(HWO50&oDTC=hHK^k1^7Q#4r)AGQ9=*ISy)T;7#Ud0TZ= zBb)H+av?t?IoZj;Z^!*V4|tiZ3o*Fm2fzprAy@x>j(uZN(JSF~DUE_4_KexzL{0@! zk!oUe%3W@9j3STyS0I$2hw0qx0*h*ClXn_kx;KB5{L-F1I#!?eciZt$GNcLO7@aHs_=q6Q;hjN(4MW8J$3tw zMZh0CIV0UfcB6K74@%h$_W)COcq4PG46ei)fF5bUyjt&1b^|7K{JBlj{%fnu+5zQu zurGgtMef93VDD5(7P(Ud6R^YW67vdR1EWp-=P7>B_T0p2K$vb}u&JQhj0-K-38l@aNU}$IJ2101R2(vUmTr5wrdlhq*mp ze0q2oe_Bi?IGz!9UyW&e*2a~6GU9{x%a$`S*W=-2NPJu46ag!%3BsfFn(hGX?uw3o zDB^Xn-8CDCi{I>A2F9w`b1`}4zcNmty7(F)huMU-CnsA$$X$IvECVmg;v&} z*VOx_?!K^7fVH_MhKqxxX@c*UF3$7EYkAEs0*I2Yet9P+UkLA`n+;n^<-6D(#*rbl zH3YoqGrSZ&!ww86tDd@{)yL#(PXT=|N+vo09TW~qszTBfL_wJG2VZgT1q@Evcb$@= zz#A#A085OOXw2g#impJq$;lyq{)^qM5i}ny818u`j5c7j?PA5nja%#pI5_x2ixULZ z){8CI8FXM7BE}^l`5OKNNjS9RdG>BJzr*TxbUSoas~764%q<2TLtx-bqXlX(=Qo!( zy_|5HE$KAeo-cT=NTb{_fK+w-JKS=-Ft0R< zY}$UhTer|X{3}wquDQg z`x$4NfOOthe=?B9Dn#^uzzXQXifR47Q%FInK@Ea<|KnKU`3iV4p8KA z)e(h~8HZB0bJb(WV=cxl`D-Z6iC&( zl-Bf=>M*|2rY_W*yZE*MyB&(YcNb8?-QkIeggIO8;B;%sUOxk7E9gcdCyBu!k5wq; zheVdpf^O|@-EF<&d0-oNq3Yog!pWpRBZ5&_1!Wretn^$U@8jtp^KDYTg|m=&?O~;4mou zfYa$?Oai`0gc(o^jbmJlcSGnIV@No8pi!bOiDeoy@6B1>s(lQ+W z(Zh!pu@RzeuCan_5-cM>3QrUqJ4?pjqIm}ek=|(N&8wx^5Wx>z5s4*Vk&V34jo~PF zKCcLWg5qG{9}d*uHMPcZ={z6`T8&jx)4RtN1+Z#WkAad0*%)9Yf6YN3*c^req9tVd zlE>~bmobHB5s+%tAgt=XDP9c)z1CqytFby3t_Fn+Dpn#L{71%4p1-nyJ9{gZR?SJ< z)I9b#dZpt`DOM6jNE)rRkm`hqY+l+ta2;2FZfD-HHPR>F0^USh#L>zHD~DRQS384| z7&Xl?jdCB7367K}B%jEQVVt{h=C#=6E-uI27)Kb7pWCCmRWG5tS{0Nn@{F(Pvd$}; z_qtIo$O7YQk|Y>?2S(q_ETCEq>7~3pCuda=kWYF;OhxH^(Y6{Tyj)rdQ_{xbh{&0L zX^wI8Pn&~s%z$FJ5Z%;G+V7O?KkX_fLyL{igjYn-+$NGrg~;H8GZI0hB7$GqG8~db zP=SmyOcjLdk&Kud$&1n^=OmYWRb_;}qOVrZt~8q~Cc5acYswWvDMIGL2C688x5J7Y z+Zngdi0P0sbn#H{qfnhM={Prg9cHqB!+5FnT=LU2y>QJe2zjytZEZ{QFcWYWwm@xK zT9}4rO)a!aJcGTcC{15?Dk{rQF+8ELgVI2eqP#0A!VC~l4EDZ4prn$^a9hG&8QI4; z`zWMkma+(?kn_0#^WoL2O5}t%n;f1BWkJuA5j132OHoLQ#%@y!B!?#gCe!OYt{&2OL{8Op_Y1^|Z=GoGbRNQJcblc_qhmp!biW z>~KC7ZgKWN^XqX2qR%>_fm)i)f!B-J#jv7@+MqU@XSMWrv6y3cEYpd|9k7LYM}$eU zF{dJ#$>Bu&oydn)uPR;#>NC_70wARvJDT!;OSRQVt0P_uF-Z$w(WPkV z4XG|FKNW$;^bblA%@i$vI@AZG+C?V%u)T=0BeJ_ZWb=j|PtHXujxtS9`Zg34QP9h- zUjjHPqvNedyi(9M#q*6J;bjekwEVuEw(}&_=Bg%pcryAJbos4Bje9aG;TfKj!Bk-t zD;|p{as4ivJimC6EHp1pdvi>K?s;O+o}ULb-WSd@ZX(URUs1lJ@?By+wIA)P9=tSI=r5((RYtHkxlh%9MnmsI4Ra&Xm~bJ!QN!La z#&TmgZI%TrTFm47QI=u4FWg5AE=S=pZ4^o+N;Z)9oXZA6DH|}l+aT*MA#^E72d40G z7b9@yW2LOkK$f*M9L@3q0Oh06LIR&IEyzK^imVmOqXuD3g~OGQ6inet(uRu#6yTLb z2h-KEmX&gUl)mdBK-X&wakzwu6jxQQ+X|pDR!)kmR_$u@GE2FqL@)Vb?kPEzu^#KJ zs6HlDp{XxpWsTKKTiB86uk)Y7P~i5Z;)o68KqzG^9TYh+86+0zrVC=MDmpM0(F=qS zS-vL(wZY*_7}w>sSh|y%G>Ae^GAd>yi4}>SC@yAyULF^S7&TRzoqQ_EK74ycq@J7~ zR>6)5aT`JLs07(vF;BX58km=-X=PWhUg6lXw!?lBoVr4mpe;&lE`n(WK`Ap=EPZ)& zY8R>pDEV?9n6=|>%WTE`XbJlKJ z1kJ&JyP86~dNQgUnnB>8lsK8M(zor?1lAmbCg^9z%+hc{GT~zMZp~Aj19vA@)XeukY??m6JxZmE zVs$C=7PlT#L8r!#GW1M`1E3W3O+mNH5D@x^L?3d0#AXzW zOz$m|y-{%0ET4-hb2g*E7EBJsmCJ~L4{gGEORip(@+A&fRksqH55~y4BJ1fXPQ{~2 zTbl^S`CTUulJwK3Oa$jg6!rP>UnWaDaUy(rW1y{H4sDB1=T6ZRsL|_1%uPFE{P2RdtnJ zmQBT^tQ*(}nTbjdCdt*Pn3v*NlmHkWVGyWFg$5mrvt@oNa9Tq}9r@yaNKmo9CYczY z2)QZhs$x1qG%tr-v$6*7LUm;ufAf0C?<^k4Ys@0Hb9}VoL#O;9tcxDsMnADZe^taq zHoqY0N-xi#fS2UWkvxX71ghi_Eb=H-n4i5|6`kqwnqIrJG!p$!<%AnUuuAoxOyOhY0Jf6Vp!rFow> zWBGZtno>CCi>o%}czQ*GQ87kxPMc~WhV@$Ah|w)ZM9I@drD1G;a%blZS$3dD2fSds z#lechSsD&5Ibv{(jA*FiOY1I2LqT5bju9K`LI}~e-Lc_^+;@>HbyZal&aSK~5~Z%F z+Q)1QYHzzMYpU>+Dxa8)ZnEkFs2&-W`<-HC4gS3V6GzCplu`BOP0Vn=qQ2eD7lZSx z(ho`zShs5RraJk5+D9EvoE(a3zON$Rh_gU@u?}FVt-R>0mvGP8n^-SpSe9#9m3w(L z9LUT-YOZT;Z#z$bT``N*yH!NW9H3Q)gB6=qJp-i3*f#<2n<>ty5nlq zIJV}BCE<9mCcNWOT5hs009^0yD8<35v|qWc$LG(P6|=y90f=8^k<}i@=_pLb7~vch z5yLAf#`0N}o`HK(ePWctJSxenh2HhOMMHMec(o{uP6;2gjiKM|y-cWZ$v zW0bBwU9_2w=A3=_Ou7>JL{&SKqeDDUu34-HA5q4DM7-&eO_=yi24nJbN}S9OG$oN5 z>W9Vf(;}aL+73+SjNfF#z4{Z%Ygo7HF_a($20!7)=zVQ|0%X~AehLLg;R608>($5e z1Ng}@c=+LTPU5@If55MtpaXo(x6}02_xKHk55;0T==)teoxOSfajN>sVnAr{^khCh zCjCQp7|q~Muivx#_Ri$Ni$}Zg81(#Z(CZ!Ep1ym3jIWR6XeqE%T}}#qMjueKonlK# zI7{&Xem~47HF^N6%`y+}hU>kSQG}!E%haqQUvitWmIKGVBsju< zg)hHa0@O4&e^@{pe$&FgfYJr#xW5>FqhXE*Cg$*gm+1yOAD@1c{)i{T?)r{z&t820 z_}(ca5juhtht;YlaB@%d+<^4z-IOrI`|s|5^9j$6mSY*uLX3F=>Le1ymkTs!y(LkP zaZ<+f)7f+$j_(~Ue4)|Q&{Y;4E%42M<2c13Ieo7KNAXjZY(IR8#|(3=<8f!#D)^-( zhQ`mOjVt_i{pT;gdHD)Iqf~J4_b`bj*h=zoknKOVV?8hMfz3O<|NLZs8y6R+ zeJ46P#t|HzjBX?9U~eJpVLa!U&bL0^<4zP}@AO^UPaeMbG{(6d$w}n57Efb0`jHts zH9)cYN->Qa$Nj3Lr2Of_+2T06rEj9^Ig8h)ySE+|kYl&&yWNMk=8GTS<5=R^#MmOS zhT1^r9+=NiXZDeP-6ce6$pq|wbs3tl9)_dsJ1=+Dr!cPV>2yBAfbBe5Y13dpCv{1W z@VD=Fo!*-}+aCy64#RX?yr4PAu0?z`TK@;p$wEcXT z0HSqPe%%5x2Pz^;NC3cpRJcb{Tl^bnWhk9i$%xqE59mt#={HqgN_ZqiYM#&2?euer zFFtxw4=zhc?roOzIDCR^k`xKZYe@9n&_~L2PrbR^yAL-N2B^`lr27k*3y6j+1zqB? zoo4ezo>P;`@Gn|lmy1Q)Mlox%Rgpe*7&O*bnoKvr0PfQ%QPn)js`I1_W{ zQ8kyw#j<+-*m$QS#m@p8Vxh`JT%I-OXA>hM-6`I|D=G(i<-n}G6#ePoC&wosi~vYY zQf_cWgSJ#++mxt3kNhZYMH?b>1dn8xAriqFYmO%5n{r(g9D5|U-^_9m=mi7uo0fi5 zdK7iyF@ZL6XEvsPt+Ja<g-0n--=FU|9!2OuLHQVDk>q?`(LsNalEh z4-~FSfJARv+~o@tMx~axYzDL=J@TfR4-cZothwGkWAOTaIsWLukC{kQRv<|lb6#&; z16*$h)_Yl4ZWomr4S^FlG{|{C=XN_4gXy`r*W3nY@nzk*Os{;OjLb8sCW{%ni6Ef7 zTebP5mgYU9gDR@2-=gLTepA#9*e56QzNUAm-@Q(6P%Xd7zsN*N^QscP@!+vR1g*1^ zcZ+mjL|q?$XXzkWHZdhNts{IqdN{%OiLiT7auQBoVw)LkU?XX6P9xlA((BLEj3}?+ z{IG!&A3P4}FV&pODjv!e8Z#_kxm&R~9f_67%@UA@ucW|ST6D@4ZR^Ap`RVF2ZzC<- zmZa5MtIh*t5;dn$1-c|iYnu8l2SB(bJ=Xm1*(YpL?PIo(+w<#V#ef! zk>xh?z3q`z1}z-{da46@EC5|wJYKybXmB(eSxC2~BDovQTE=TDga#7W87mqGMrcaq zrXjjwgo7BOxbhrr2r;5KUHy*u>x-k04(b#H4^ONJDTfCSIe10=p_*5a7$_AK*57dA z4M`b)AsR%P1eGz|zMB~)!nwVbH&1=qtf7S(u9xSqQt1xGrE6PiB*m|K`B$s9JC&BG zJ-}YYmof-%E1~ZCnzUj@LC9l-2mYB@vNn_$4rJpvT}b**LufepwAdrun2gZ)YVj!j zq)wRWgi343^qZU8E~v|k0wSuW1eDlbfz%RzrV6*F^LL6$q1bn9?sbi>Avu z(;;PNYj=FxhSin)hg-jfNNWfTEzvm~j1dF<%tyzlE*G{>cc&3PHR@pEXPe1EJn@;*=o zzTZ1~@F;qNTyVeFgKxe${jf97Og>+eZa5v!57KY$e@pDKlfC-k_z_8DT(8sVe#q`V zI(%(#iBA^Mff5Q3L2cCo$9DQ||M|CnPolebNk(Fy-hFs@g8Ze^?ex8%7jB35UcQ9q z$4|vD6!ZAw8qDJ(L#FfI$gipH3fNoK-`wWt6>BN z;2TX*oR8_ou6r$`s8eDa{lG)E(PZg-9~r$))BM;iiSc~DPhvc?L6YN{1N1$AVjRDa zMf_2*h~J*aBC;~>QJF#X*(5?eQUE3_w#_Ogzt)x@V&Q8{uDkc$qQS;l@<@CqI)ig0 zUPumu8l+-nr-Ow7@jzG?CZ@pZdpu+k60+e}h?&CVfRKlD{}HxZD(MKDUq@tZ4Y%dn z`~!GEI3PAE(fIlIh;{tnba(sF&K*KKe$Vya96jHC^$G=liB9*)oi`t! z&sZp!5uWSzy<6XhkKW;@fj#;3?WY8BqDUo%jhw!k9l!a6LNC|r`~61;v-HJlU1k>a z;Ucl0zq$MB)(**+QIUZo>D);^u+*{-AG$vty*!wprX~p7d#_JU?xJK4sEi=|?l64z zV~)eJ$;CJWzzVKE0zf4^5yM_|UZ0v2-#NffXcD+;`V zNDNQob>Eat5h@Cb6$8d&W?`qSkH8d|1qql-ShZgqPe+KrjKV%kzzY2krY?%}7=L?T zhzhfbBKIf5XtKFN5E)G>1(80?y>FXa5jb8+GvxPrEQmDfb;^o=A-~rxDTV^OLNSC! zghj1I`9|BTLA-5q*(=fS1%4zy!SBXGSfs#gHLI}%jXiD|pM<0m;Pbo%W-Y(ih z*8{(Q_wIv}dppzvw25gCCQ0-oyMxz--Z<4?%QtLHAvIHfthU&JkpPAFjp!3mVmKSm zkM_e6w1RY(yUxuz1mUUtxD*9}sH9LZ=ZK&)yb|d3Fbo zzrFi-^6vY858U`S#l@!Gx-C?D^CUiqXCV#;3idJLg4n9b0;lCV!7O_|4!`I9-Z?&^ z>ne#Rr1kG$v--+^b(g`X}Kx~?7AmV;FtEOZ>(4J@qL^#UYOX|B^XmYL$M zn4>c0qJ(gT2^SZI?3c_5JC4y1L8Uz6g>U`R5*HVXy$j4brA7CQui9|b3sZASll4sq ziYE66sTBGyjm9p+VrdSJu|{oy(h5WB2gTKYHW6E)lfHzQy>tRS_=Z3uod|)(6-P>0 z7Xk({|>$DaqS_LdnO8esXSbD~F^TohdXeG>*C;_r2=!4yV zQ%-s`V3V9Md@xxeDEM)L3M*{#nWk=M$qv%9jJ=H3R_4T z$Vj#Wj=U!ykyTzY*ii>WL-ROn>|CWULgz6HlbpQ%kpbIGF+cFdyyY}EXE%oP zO%BgFoV74OdwVjSL*>SNV}_g!v@#rj#-Be&H;36?f~yOyBrWG{^DG@EB9T14xe;y6 zhVWuAA0``49xYAa`|+eG`q0)}2v#XnAIzXcA_`ly0L7Fra{A5beCanO_`+0in7b=H zi4X9$At#^h132ke+o2e4lwptD$Nav-c`R+;IBt%6nr8S3Q55AS%A+0m@W7D;qRDA(#}3YYB* z?%{|_M#o8lfscTIKLD(-PZHh?AeE?W*&tGVWa_Hhuti642E5s>RB4!1BQ#Q_ug^^WjS zr%4y5@Zj$2+q^3YPe5>gO)sD<8JA~cT3}flrY!`)s#f zur0%w3bT>m4DK*@L3IU>or9HDeX{XAJlOfzJ^Y|L$N<&+WlKppK8sWg`#h~_#d#=Hs`Sh5O z0ErSxP`SW#wLEiP6S1*!sdvKZalToGSb$(13qQ_q{4-qg_tO*E!jo`{K9tZGEbajR z*7i9d&(OMQ7y5D=dE)f= zU5M9G-O!JPaM1Pv6zjT)zA$R3$uU3M2E34=oC7d(Etf}sAXYPFKxGyhP--fdSU?<* zP~=8Lv)qRrJB|o^d7)6zwl9eOeTjJ@LZ5I>jxfg#ZzTc?4&sQ;8n0bE!TBAYj7Cy$ zurDPE`vS=W1E{jFt>7YHP!q)&%^l#VNU9049Z#w3uV;;#xMZ z!8Tnf3Ur<>j?+O+>`0A-Or?3bK61bQLHg?cU4)c#Y+~Ro$rWq2;o5_Bn%3~nsmV32 z0le4VMUh%NtA;UH0YBsTl4#>VTobj2u*>=C9mNQLr{4STo=%>$#;T0hkm{X>h$iv*?+Np=dlD1xo}UQw^CnKyO&bezWwQb{Om)-5D9>n#k1og5yApBao{BFgGc2k zT*)^&L&z1`N9^_$19%LA8ZgEq(9Ty-0$BVKhRjRvYtm_CFW zjG?9^-!+sy(V>IQAo^Ag8=*fRBN@{duKy$9I>fVNv3veSmGFDP-V7|a1P~DB@3~aC zB+KOWjid_}CfD&D+j%$p;noovAfy1{`(7Y_L6wi}n)Dlw`?jZznUNn6f%&=DNU%~H zC0R8!de>+b2#PSCDxVMG#!9pCoR0h8d3fhNcKdpJ2c@cf8gwjH#>aI{K>uEW-;-zF z+LIS1TD z1NYuHAD_KWc*W|vYC|FGCz`yXo+~IAsMQ7@;k+p>GCs`#`08b?gmef2Y>%5{o``C- z3`6||XhZ3YNQzNk;qdY@l~y?6XagsIYvJk+sT0}KQEDO8hA#wrM6~7u31QIF3qjY4 zkM@s=(m>}M6Lsn|8CD0>#iyN6yAtOz7-#g=U?#HMnw9XhMPc3RR8f_#T_^u`_8&h(jDrHF8nOu`D#PgqcGsSKbA0&WR{cDUDU!UnDM@q`!rspg z_%hVx4kU0f7%QE{Fv%#*je+l<5n(4HQyT7+sS;*5yU)d$$$y-U+}xbxMfAtBd^zk+{HADaoOH~#c=QI2(zOvvVmDl zq*3M3WDUQ&$)sdf$*O8Lt87cL1qzm7<&?0wqeWC}>ojNXV~5s8n#*0#?>9{cJI_=o z;wP+0k4|gTNp9AO>gm4LtQOiEg?_^`lcF2gmWB@DNwQ+dhGEIsa+yokJB1;zs&+$p z{dLf)5<|Kx;k%!IKesEzDq3w1)oU=o1qb`JQu$*ce+VL91n^XI#6g@9dgE#(u1K_3 zCIc&85VGKMlkd=aZ7Y`1TngGO{0eYQj z&wj`B!3_Exb|0EB6b**P9KR?5qN6zxbD5`x{q-dl?q8O-CP z;IykZ;@Q-Qd&x#h;7=#7MmlF?xir5*VH%@Wg+303{enq zDkvIJ@H!e_*(Ljoye~pBZ8iAi-my~7=E&%HvdVu1?g7%)I=!BZc#V<7-`*H{UnfG{ zd^U@s@soLf!WMm3>?L0t8>lLbH(3Fkae{3C6!L>~BF{?oVD{J=eI~svq8l0Oe!C8Z z^^e|Oy()jU68*vbI>984!$>H6qgD$&EV+C1GJ>(AX0Zvg=)06QfXrz7?iDO$WS=r8OciqSDfVlYqNGTzB%--UTwr1L%(T%$r`qWD|rlL6o8&70v;rmMph5v zC2xUGM&R;dK9iVIA<`0N6^t4FG6m6qRV__cJUBxkr3~YUEUf%3rQh;da%S=wxnWgz zGC7UMat%4>TbWJsV0dyhj+0ZEsyT-qg=NnHhY) zXy|2sR@yA%2kBEL-MW-nzqkXH^raC4?X_im&lm)q^OEL(9{}=YTs%*t45o&vsODkH zfa3M~E9Pi#3WvzH&c-RvVL>T4o6=j=F#W*X5O^8`KX-~3qavr_Kt<401Vv1ZYGG5` zIdfqkQlc<4e_Dx0J5C;fk$P%jgN`brZaBw(&}M2>yfMr)WC3`Ak7J1j;^caMQ_Z;u z2UcnUHsEbV?`U=x?>dAD*k_#8)@`LzGH0QS+!{^dt@m+c$Xd4&oDdqc3rxhW9B?;Y zjrW|lXv@&q#9zXHw&6Ma;>L~M=XlRWGZ9z>DD$YYZygSufF3Q(<9tOY=sthepK$em z(Bcs0F>hK^B!tF8ALj<^6n_5fVN7pkUCLcP z%qX!jPb+Alt1#~98SFd!wE&CfssH4EAxkNq>88*gM9c9IKEzg>d~rl_)cNPn^Sl9~ zNk4zq47tR5EAM@JY8O!Q-W)@#CKDP0dGj+GfdOueH-&v2N(yvgDFSC}Y{k|YqWQUX zp5SgUvouu*{5(e8)!@)tu}cHm7mu8Sl$UkYtTaVGbC6Nx3w1Vs8~WM_ zxTKhuw3afOw%i3638k1*G>4xxRycgq5LT_0kK@Urei5r_;2i}fIB z^;FvhJ)#UAQiLw%V+3A*x$GIlb9Li}(*ekG-ZF#%e9eH=*^~#*7v(|mWa7n5gpR-x z#F0qIb2*qjWkFSG2#9op?*VDH=1l!%3RZ33L<1NKh;XW0FAPp0!54~+#g=QyM!cCk ziwZ!nM3|_Sq|6m3=)#Km$yteDO#|_Y#*kc*>G3uhKdf4d!!}!gXDNK8wgDFDP^}6s zSGZ*l!d3^9idCRARTqiQLv1-#ZF40LaV4uix}iQP97guX17&uerqXqD; zvtDwn=Ps3zVROBe!V*HDsv@mZ5gApl7Y;ITy--@Tgdbp=m)2qWkLZ-Np7 z=JtTyLlK^TS{91Flv;hfnCSIZ;f>?Nn)AIe0`9usI>d?K2xl~r*$uCCSiX*Od5Cr$ z`{R_%^-AOIzM%^i&$;Gt_L~sz2!XP6b>zuDR6h^PE@YYGC!M^(StY8_QW% zC&-t7QG8flnXU%26zyJHctYkC-%uhVrTFSpe3O&$QhV_EGvFrv0k}#2kR`-MQHd*m zu+9NyW86I`7HSuK9fW8FkWXhb9uijBnhkP9Fc&0ojtJ(~ycLUZd#lZ@8=)oS_EH`btK**N*sK%|f72kj^yj?b7AuGv=FLXooD zltOxBSu-h4&5)hQ@B+$E+{t7D00`7zDWn58lS5DBsMo>TUB!HeY?!#cGvMHmduoPj z>$}BmO#1GSa3@j)iON_Vs+$KTnwFV!QBdUZMzG;qBcvs!@QwEuL(v@z-7e~_N4rmV2!(QvNXa^(wLxgw4vb90fvKR< zyo*50ErD3^uJ-NnU5#;60OD4=BRqM3d8IBO5tqLRi{u&Vi9PZW=1gD=B`_W`Fj8>D z?pq6&I^?B3Y$}RHXb-KpZ7L3jGfGd&@HQ7~SFnfQn*sZvKv6YG<`(ED$-5a#XoN0U z^C&>7C+F0cG8-{hTfT4r0H;I8ZH=t)FxlvDj5d4?e5U}u)7Dt%g^4x6)sX;y>*N6I z(lSx&2)(Kt)fYQ%kW72f|` zS!ynb8YJqL=Gp1+VqdYX`AwUDBUJGQrmbKzxdH#S=9|*n8{M#N#;oX%jVpjRWGdh9 zlFJAkbY#`r?KZKOw4gnaBuFSvTQ2a2Zfo8IM4wW|I% zoypfg5+VbjC`S4=*NiwW1_{I%0EjR3Ep4NcTuwsW5^j&hMF6p+TE?G$o=A~Plg=+O zM1OdJIYjzPg_KlR3d18FuVvV!4*&(=SxB2(?g0N5EQ;td9;B9LIXS?vAWJw~qFG_@ zjy9)*c!`&RBEw*Fx0E`(mpeVTSGl@0X3d<6qey)-EsLPn*8->`Zs7{eC2;z%l}kRa z`6dJKSOh>y*GDe&C>^kWLX8+xz)2)20Ve|ErD4(Q>A=W4$Jhlo?#2y_OF+Ae$zlVB zg~t3+Q0oKK`YpfN6!b|>R4}oKUHPqs>R`(s*tw>#^rq!(h8OqWmVS>g0Jw%)F%4ij zC#dh(9&Ayle!~$eD4X~Qu{Av3J80rqVWS}rjMz@zAGJB8^AzWQi{%SkU0ga*eii@9! z1v_6K@H9ljG7&6)h|dLF%X?_#U<2iFg^Arw7F{*wLW*3(#5CNwv?qO%UeeB;@2jwthr?MJMS-NIg@nf>sMZqpO7#Qg zF%-L-0T&9OV6LJ|JRv?#e z1$@1JwoBB9abV(9{A*qI(S%w2LthQ$+Lm@-tiO$WrLZZDR93Mwqs@l`7DRZ5}fTh+KhU=P`Mi@h3~ zEj5~^b;VZ0LySs)J8GD#T5RVLD&!ZRKSyS%hsW#u>FPBNNGw#BqqE|n8tLX`mMG}q z616D^N2~q;mLL<67F#Jr;%voo9{8G`cvP@J(s(Z-C4aZHNEM?ss!0@c!5{?+J^ya=j0ETA14`Q?g#>@j9ZOONckHiznQwFLk1I5*=SI+x*aHXO5 z^!f7@*%;*mGu!4NGmh1V%m-Z5Sq2>iJ(y~q}yAnOVk8^B=?H5kWo+zlaTE|2?Ap#p0zj_FWrB*#nOs^p=lpA#zKcXXiD(S~N|7!Ona%XKK4 zc7)-1Iiz4}&5ffRbY*jXhn%n4G6agkOZ3uFL&g)Y@DkTjZ>`T@~@xbzxxOKnlF z6eARo3*3Y1%U0d0w^YT}wfeQeye;>xTpQk78gs>aK|qSqv@=45gM4jyWd{nkTG4ET z4P#i4!EEaR%?&Lf9+2cxI2j6}T)!cx&lOQA8u=|l*8vU3fNYK>Ep+*ARogPsvep*4 zr=HuEuPIkOT%sm(bTgE80bJdVkO@{Iufz~^g~NHf7`v4vUSevYF&}vn zrRI=AH&JAmFjpLZriS7$HG?NGa8!g(2+2H`=2;O#0pI$LUwq4f6x0}t(G)@={R7N4 zE5^bq$4n|IQ=z2Hlu&DBI5a85(AuzO!$U!ai9Kae@8QZkkfF5HmMI@8`=>mzM)prx zs6Me=nPBxyvfPPe(i4drh&PXjPmhFrm5S)qV`86M)!=W2H9J>tyPFmL&= zHH?>YeDrnXyBfm)XqBQ3VgkgO2JOTw%!Ii)YmC-H!1zeARTI<7b9yPfs$;@Spw<#v zz8H(*s9Ca9z!>YH&J~ESc>xxZRD6zsF2a*iw7UWgd6=L6;>+zEWLa^0{0$&YKS!Dv z@W(}$@>U^#NZxsv^Th?2lg^(!J@6N1&h7>1U_w=3?xBI*@* zw19it=Z6pec~Nq^qV#g;xosA#jipKUqnVQYb~u?CL5cBJVr0s{`&(mU91sd97$3Lw zIFzf9a;Z`^W^R`vyEmFTrX|}yYMU~Qtj5D^BTjgKcv-Rp=VGGHgS;AtF6n$R`W7jg zIaLv5EuwryHkz#Nal#_XT|`-nY_tp9M=R7?qsA8m5{*dy@Do2QFV9qHs^@W0IuW3efPnei<~V3w;z+K%-E~Y>qN4y|cVPGu}7gg24x~ zj;;m}y8O#<9%whf8gR~0K4nyFE!1ZfKoq;tXUqMnHE*vBs=5lMSAKA*Lu*&;45jr` zdZ|>F=zP!3r zd?^&+Q~)A2Vge#Hs}7BE(N_!tiH}Pi2d8)(%q~o%X_wZObqlQklnb6F^;yh+!A2K~VMoo)qC zVlxU5%+8ydiNO^|s1H_!vqY6QohGE5MZC~l>n*~GverA&wcc$RV>@5@j#2^F>$ymz zOpO?%R_^0ee6ywCk;B8X@#1*WNSd2`e|J$NQ0%%((Fu!*Hbvr3T3C-%*68*U$d4S- zjf=yAC8TnO5*fn#wtD09_cDbZRkk~#N!DVM#6k`0YfVdF#lz=qAm0SjF&`d8jWd~3 z$pp;+-O}4fX{3d1-QH1nro}E4vACwwDK;qWdgImMHrFA5-wzHVc2;(LP*%IDVJK) zOTrBVCC{pE`IsV;PSct6OA`oH1g42aV4AELSH;42oRm8i3g~`rf3R&OvcZ{b zkj1Zu#3;}AW}@BL!ry_-sW|bs&ygRoRD`vfi9k4+C8Y00nBkdesy~yaob+8l-|;c# z#(jB4F32m>Xy)Snw6epr*kK!UJ7&Us-SJkghWL!n#jNtOoKa%fR@{OgDB_Ob2WGQw zrTD{!5*ew+2`=9c7BWS%e|vuFsmcMEITqwVIP^vtmZ-m23?kMC5sN_}h}qafp zU^tWT~HREwz03 zBF$ec%@j!{rD~Ofe^n!z=9!8RT;w>)L?p)6-I^aZQY&jqd+p}nafk(o$vvfY)Ce!U ze;Q{f2jzUzh(b@^p&8qrh%vHkYVGB*pq!5MYIPhro&E&M(^dLWx9`1YwrRx z;eMbQInk4*cK-a?7RFQl3Xa9|05<^0evMHeT8`(~UHsjB+X@`~(RFLLUO@=>G~U+f$h zt2$yF>}#)UfA?Xy4abKOMsJ%f-|54m`d_2-GZtZ(hnCavdQ?QUFjPqkCX(0jpg_I# zVVbT~=NprZOOs61Bx7?fDm(YVWVo$m=iV;l()p<6(%C*QmyX-HHM?@%#?JZ4$qE z^fHF$ZpRJ2ojw>p<(GEfoxR?kA7i4T!0q(`X-%Gm2V+bNdK$fZnS`@+!6}nq6NCQA zoyFZ3f0#{oaG|tw=t!U7dWW8+6?O{nYe4 zJ}#&1G13RQUCaUG8o7edX}WpcGt&LIlt0Kfi#nKjsPHMJ9x^}eU{0ZKp&owQYZk`h zaPlFeqF>HEZV)U3ktP?(EwZyc!Jlx}2NMt>>af`)Cmz_*>t~$1L4Cnhc&S zf0p^7JP}9yBurqOr`iEOIX79BTXDegYibCO_wnpB2^V)i;2FU*U%uV5`(59Ec=F)= z6Fg#`({;U|A5A|V-NWPU_;8GE`~K0+t8Wl1cwO7;^n1sP?B3xcLIsoXc*>`#)A8Nj z?9+F*={ZuJ^n1`t(0%^w{qb|mTnM*Df6#NI)7RgQF-4;H{NAI<!EF4ojmAr^2@}R0S+V?uH=M>JU=XS~o!rXupgc%h* zJOf^#%%?+YmN}Fk%q+u%ULCW{#c#VtiZ8cMhxCh%(o-e9^y%8r5%e+x92?Q~uzr?V4G4sT||bbZ_F`u4-`Cdu(TeC~F9 z+dX(SdHxKOZ3nNPK6`ZgLA{)j)l3KI2e6I7o8-=DjCY;u*tTQ4ufDnU{Wqs|Ew#Jb z@A*mmaQAU2PT4V>jxkjDUgmwclEN4HpEKptn%`?3S}aw3hl-cKrxg!U(uRzkNYRc1mjpwxy>t&VT?JMgLpAJ~=y z)UNCLmK$^|x7ULTP$_UNf1pJz-|1Ms-?KKHx7Ho`IXpvEXryOTJC0k~7PSLy;I|*t zxAtW|hfnjv_P9WkzSOR)$LC#H008AH>)AxV!yhZt6bA(gH+;h~G?%D5C@X8!AI<<3 z!HXx)JP`oWsvSm1an_FFG>vBmGWK01m*z-GfffM?gYfOyZ!h03f4fal%AG62n*HJ4 zy;@x|rfF^#hG}=MrqV2IK5PK)xta=#FrR`1yXx7s4%t8~Ef|P#%m_3R!!fxk^lqXo z#74v0lfAHDA~qWC7YjWoe2<0FNNlEz#O60XOyo|GpF2Fx-xdtU<~Qz`mF|=(c~I$v zS?L8;k`B4?@a$cjf4yJ>E@`hqk0VRhfea2UHUk@5hNv8#N#IQ0XoM`6z)>+wJ(&z| zX$;k^0`T6`fcMt9^j5E12Htz-y~CO?;8-xu%N_C~k4EoNVmm+1WXfdWRabbdaRL#F zar*!M*&lGCR?Li7rzF}ZcZj;eWYlB0iixSOktHu??45>qf4%fO9WUs9diwl_Ip(wP z+Q91C_N}9nyC0DfI~A#&Q;`8!W`KUk>7U2B9B5D@k$;W8sLf$)-TC2eyng1U##|;`-`jv+a+RC0*-&sSS8@CurVfs1p%gz#Gh4Z|TJr06dWLfp1^^@Z-MgKGZx2L!v{N`l z(V9x?tj%N`PbM|gJgTw3N~6c~5rAhn9UV^rk`V~#jW)8~j3{8HnrM2!FpG-ti!0rM zwn^r%`b^}qPNr~CQ8C-D)j3i3E7H1{Lu@o_JQ*C}e^@Ro4TwCRpC;@S$$<~XV#+ku z?QnGWLzaXhW3tE=uC1w_NBnjOm@$1FN2i$e3AT=ua5p2AWVv4oPH9)wHkGJ2b z&Uig2ZSs6N)_@Yf5@|Lc5b`eoK%Mhsi<6`jC`yF!4lpPb4Zw<1 zeIp4*e`~Uw$|}5wjbsB=0!lYM_+o4HIZSl#n1nO~RkHlY|fO zK!;Ow=K4s7I)*#)6D$e7(>6H_N32H_S7$X+e?vw;2jZkHxr+!u85`slc=rovM;$3S z&`~(snTsXmsnNB88$287=dWTzkylv2v4WZ0nv1b`#jI1H2VX_!QX(`90}gn@%VS*yKSNNg}Qkr1t>*vVQ{ zDuGK(J&^4Qg-ZsiPvA_65XL5wmq@07fA0$boz3U9^eCK8HDtyIP{1cL6asz9b>AM1 zqG_b&g~(Zg009@!4GcH;1lXwI6M`5=AD&L&SI>95LEk=o9&YbE6YVIVDa_~GBXm4V zWd?Y|-(TN(YJ~}#oTe!wk5@C}PMc3~pa#7L&-;|MNo%n{DkT(WK**gJIg-|ef6fdH zPjZsrPCn?7><11n?(v*Ml%BtlO!mmTL~;_9=!p=iI=a?BoYhwShkamjG(kJnqLYX) z#(pMl^&~o)pF{$0n77j^I)VM<#Z7{Z!yl=RFMe3q4sH5K@tn-2>Bl$q%hG?V=ZjY} zf5?CpYFEFu>AYdLNIX;6dh#ODe~1j+@R#!!gbySoq%#TTO|+8I8JpykSYuo~i9j$! z9Njz!De>f^9Q`?CWiVwDLtYm|{oPxnJYog2^wX-5U5QS*#4{9y3VKl=T3Un%CHA>@ zX|d0(YOzm0a091b5R3YqvRD*@%a+8V7%`kAKSrV3Wzmmb76c?0H98@&e`w)b5*u}m zZ!w)m^Lo#$h>`G{*ZYOx*rchjjju^c>l7#B|2E2tdrEonbW)2x06{Q@yQHYbkP;1G zJ}J|A9(0-%yfQkeJhj968;NG?{6-uDEp@#gXsPVmRpiC+$`zrBAh!;(W9w>`YNVFd zT4a+b{n= zB95elucg6Z*`~J#u(_n<-g{4E;;fv3f08>3ir6x;vy3(G`6Er4yrk88v_rsS6`qEG z?DcwixR4yMmbg!%4#~5dT67TcQQ-7SebRy~rJ1jOy&I!JNGXqof41eK(NM}YZ8Y+u z!f5g>mN9&az>^h$hX&@9>Npx8WCak-3V_2AnT+}dAc>G$4b##jtAvM)0HC?l*ewGX zgpJasx%_~>bt1QM1{cBN7|=@dERu#5n5E1jB2*T$GcOb`jsC=qr8>>~doqzL3?1rB zr|J-}d)6+|?ocedf7UAGd^)~IgGy*$oF5(h3nn970lW@Jp(4|x+=N7b+dh@d7xhBz z^HON2P&;1&3$`nyJOF#2QcMF+k+bp-)Nz-vDiC5*ifTEQfM)Hx>fY9ZloQrTS?U6B z8jVJ7C6)~%74647{c7r{n`-Q|O$r&YwrH=pY+6p_HJhC1e~9N*SOe(>0P`*sQ=*H; z*?6)@Nrz@#G1iU=NNKNBh>43gfJ`BV*2%AL zgRHICrDfqm1~sO78ch}AK^s*&=V}YHZEK93K4WdK<)G2Rrnyy`tj%w`9oR{5Y37=9SX-N#T*UYk;&YVPEQOF9aJcaZTK#2q#LUH<_)+pw6m!9 zu*d!iMMPe4CMve;oHfszOZ`6Z*+z$>9Ze`Bl4iOnd&q{WVQ7CV($nbbZC zA3QRnZf7;i|MD=O~yH7*0(&m8MZVO2Rv@L0kdtp2UR?_UE zt=Oo>4s9WM%g9!=5ppX4I8=GnIL~c@s5@IuQUkbE-|CY%j7~;(#1I~)xfm-NH)Z5xlp$q$N@-q3o-nq*}7raxk03H1pa8qt&uziiXNVv^r z;hDm7`}s|q7i(*uh_2Vro)plh3<<79Tqk1nf9h2&rGy|~?dEDGE+^y@#T!&46hCL| z2_?HDN+abIZ4`$@tvzKfv)|^vh!{BNQ8Hbi{BfOn7%Ez{*-AK#o@%Leu0#(>@?6B#Qp3b%eDV+$bHD=Nn$%ubsoJzO z0t!e4CQH~c2e;ERhFjmbS=R>3vHrDj(0ersWN~s3?P;MsO5jvjF%6(F5ge1QG4A*| z@L0uaB^2N^Pg;TQ@i!cIW!Ntrs`XYde;`XMGs2~@Y4;V(n%TgO0WvLWQXh13Hq}wI zZ9PeVU{irD#SO&nex?r~%9rGN7NB!VPJ=;uwipc`9=(e^?RJ zNIss)3H!YL*l*)d6AcuxO^&2B-~jBO6DbkTNGDPv%10sY??lEZGayf=AQEwfN8$=E zevTJFv%Cq#3tKZnK&uU7=W|$T3#EHQrwFUSIlmeVEf?GUDANV9XkevHem?+?LktY) z^J6BHP?XVe`MP3y6UR)BBf9%!e+0y-!r1{p~W=Qrk}B{UB~ zBi4{=s!3fo=f;3PBIm5&ZFN$@+)Ije-dtWOE-dn=ZB18Mz}~XTp2!hHEUYr-LJ5+v z+mbGJ`Z-cJ8hwpUSB)4iH5hFwV@VMLB?Jps`Y4GPNB|FJ=z*oJD|{Cpf12O%{ZstP zx{|`(1RIgcc0YfP`SulGyy3f#N)&RwXpbrh5>hHDIL}p^0DyIi(zqq$$c-W=ZGWoo z7?+%gDF8OQ_=|K=a?lTCgnN;Ihlh^W42vV$xh|?=11kK;Y*C<3V9((ymAdCn$6Mx^t?0q)qnv$ zQRaspog_p+%}m9p+V6l-VQnTkmNrUruUJmpKS6SEfDl6JOgi@2!<_QLpkLQ8p~$Hs zoEe{UddGlLP&?R{y8|%BfyKxT6BVp`8=S|Ht-K&s@??=W;f+?Y&V}X-MS^B?~waI9);WjCt z9wT`N1Eykr7mE6He_ii_#lO^cUq(P9lQIfMJJU%l8onU0n4Th1ilY+72Dv58PzFks zm{>q+Ej2nS721-Ng9N~}Q8+}}8mL2*Ll%cmv=HgFrNsh}B@CNq`FXP6qN#8!emPei zSP8^J&)ZL);r!?~4TACusAmjY^VSNn-mAykZ$v`(dVLe9f6lFV%jpby1J1H+*qRaKLJ^0dxm>{3$P z=7B2ngVp1c-M35hVjgZoHLdTR>ICST1zf3z%lyo>+zD~})FX`{S7e_er-N=>?LX*wesP1jge(m=1& z4k^u`jv_UcBP)mKJqA^fs-QJ6f|{#l!A2-eTDB2jiF=kG__n*_U9(qiEAL$y4~Q9c zIgy7>e{Iu5kwmPpQ>;>pN(&zeFPfsBeAHMr=@eH^ew-U&o!>xE-9XWzfIh*NC`=EF zqMiQv-zrtU`WAD}i3RFv3sf~)sgZ7zWiEeYpEp>;I-xw`+>7Fs;YD$+e)Gol_$JHW zu37ai%(&NoHhJ*lDZA=@ynFj-@fs~#JtydSfBu`ti=#W}ocEhw{pzRx@=t&I-GB4b z|Nc+l@y7LZ5zcOkKWOac^z6V(K79Yf=o38t`k(&SfBENs^jClQ&wu?Fzxwt6@&7={ zU;VTH^QS-gZ+`vH{^L*o ze{p-K}&;R^4fBY|h{l|Y%Xb$bV-JadeKHYzQ=WgA)b^`}l zBeSAmJ%+{D$l`1o!M}?X7Nq)Z{U)r>Z+_>0`SpMGFQD;X{|~?V^?(1bpyj{(i$DJ9 zPyYF@fB#?o^cTNh7>1gLnmk#U`{?=mf8pVy_#WD*{^g(k>0ke&|GO~npwsR4onV@L zcl#4M13O*Mb{+SJJEsS?ek^Vt+wYoAkUske8>VaIooG5i`sDd*Izd)i!jTuFe`yKl z_Npx5oRTG+Pp*G%Gxf4X?y&E^Xz`<*}f^`HDp`DPZvop?H^|J9%U+n@e7 zXfXN!X9d2LXL6B!qE`K&iNCi29!?@E@!Y2MX+A&V2ag}93o7U|EyDN%anzxyC;^B$ z3TGqH01)e1nbtIroYo{1)dHIz^!LDGunRIb)R&L?@Su(PXf!=WDI0&~e`+P7X7T*X z13R4`?1r*8uel@#@lTVXaO-{_eM}p#C(XSbaSH-*gJ(pGb+nUXbM)Q5#u)iVEb-6} z?=}|6d;`%@P5ZrZtrbyDAk2dKdIFzriQK02&|+c?z@gcy|HB#3GC&xeEj4HEH>Oh^ zK-1|n*!~zNeJexb?yu5Ce-w?MM6=_^ahl~;-e1A~?hrV@Lt7sc0;s3}tbdlw(eNLk z0lnJcn%h03Z=|6)iw6)bUmwROH_N)98&F(W2Lv90uJuddvMn(95@yHIzKLOkx7ktW z+BrI@HJU$}Pmhlxz!bm)Y+z`Jdd0AQt5z@H;F_al(;_4csu%Nuf7ZY3s|&`IMIW*+ z7}2FZShw<8^$?;M$=sog#~Qr9yr*p05&y}Pk{rirBwb15d4d-kllka4-IxJwUU+ee z;JPtiM6(jOR;;JE8mhqNn%QnB&Z+2AoXd(PM|`@|jW~;rBwC_ti;onZF>TDMx?G8k z(Q%SQvupz;KfK4de;CrOCYc{3QJOxOpO88KKb%#sc~uY7Xp*rX4?eSJ%LOO8Vt%+7 z?*Iv|0~FO?tEHU4g`kxqo?Q0;mo5RLVQwiW;xBCNT-ta2v$c{+{^@uB@lSvBdo95U ztU0K4E3bV3E41La!xI}8@E53c6&NSpg6vIqXJV+^_EKd+gIjwU$PS6V-5oc3gS;@za~{ z2$@!GgP6%(e_kVa5dFRss97$p);m#$G%g-J4qSK=euXgn1Tc7bpwAae;R7n(5N^?z zru|a5IbA`x748e+)UV$OFnkwh}w|X zCQ}Al3+MGef;$wh$eS1TSH6J}W~$K4+8=Mkvstnu_wO zvTN1Ysv3?HBd5sW4WTTfE4<|Vf#b-3nLsF4PjA!N&~7oqIZf`FB6=JeF1 z+FZNty0U^2152B7m>o?^w3-1Aq@!^={=?mOe+k84L|Tuj(sTvM#ZLdZU`}+oeVol7 z#N*ZQw2Gxddbn0Bp!2bDyr|dEwu8%tby;}sT3@c81gW@EN2>H^?1=_Ho}bPt=0wFm z`>e{HY31kkc1;)C@`lSG6sBb9Koa0ZI$)Q*#B;~H_! z^*mBj+Zcg77Zs}|h?t*!>N3i;D2&tBUGCO zp=&<#wbfiezf|7p@zKG`4+Ozee@m0muwJi)(+vKsB@n3OdUavr!`V#euvYCjy!84# z-|u(A$-U9;uF2(<(4lcPWB+;GXJQGz(p2vENFKc|_^%7t425(-{I(J%ZED;q%NlqV zBoU`67&2v{sV_qu1#B$igR1Mf1bWpdZN-Wxx$@dy8JyU9R9J<)e0?UPfBdo1P^~Wo zTdQqx%~m#CEW0Li0ua~mRQ_~3o!7JR2fW+Q!R6;cCoxEC$YlgIfxv^tLJAd{gqNlW zqPU8ZfM9{uW%c43sO5}K-S6AZnAgy|T(aG_T-W*Z?e@*9W5$=3@C_yQMF zg^t#hY@!B?nXbPRy*k@OfBf7^b#C<+r@{T}-}!^T`bYoMFH@tQ8>jrIvlG93UAmwT zH45YbixPF6x8mBvy&8ru}G~e2}?-^YerIn7}ZGu z#pFr->zWz_O#^#5(Fmikm0)%4ve!dyi?9))F@mAmMsgBG|GT94e^XS^!R>vs%w-XO^U62qBwv+tdsMU2&FU_vLdpeCtG4yhrY6Ex zWEFW_Q6}t4lyLrXRM48&>Pk$0K(>Tmg2#U*9R73Q@0GawH^2HPzxl)e_|u>L>JkWf zjf!hw?bRzz=k)LSf0F<1zyI4^@{8VIQ)E5M5Wh!z8&iU)ABYN}Nr@dd46`qm#u^$@ z%}7jV*>_BX-&Hz~U#=w65byqWa>ugp_vesimW}HEZk50}(U$Y1xpW;VquXWsJKc}L zG%4747w0w>N^2}l`50nJR`iDS7=N30jV4w6`-=O1`Var&f3JV<-~E!V8@cF6Pyan% z^eaNAoaD zUr6%Gf&coh9lm(~@j+bIGE_n*bu$THoXXsVe}32N+dcc$@$HlQNCgI6uj>Tw=ij|s zVEY3*D4g-5@B_?ul~|VSR8bs!0Up6bxoy+bAd% zvhZu?n(*tWy>i*}>jJ5C$8!R=(|LaH{-ZbOrrle7cl*uJ8|vlawhrgVi4ad*TknfJ zf3nO4gOeW3u<|-sV2`w+8CmYsQn8m_&$YeYr#EkQUZGyuaqYevxZk~ec>D=1OOkN% za7=3oI6lp`XYmn5+Y|W@D`EIT0H(3*2&a$-4 zFnrU#dX=Ia+E<48%RT$;mi{o4+RM!1=^TKV!td(*d@7~^-|8qNTvb(*b4wgf-DV|p{$ z=-AXrz@6YvUo?UVuUdsLQkPR9)$@RsDb7EJ`5*KAeGKT1opiO40xraX(hJYmUNB}+ z?=Z9;4b_vam_uDP8f)4bI?Fl6f8WPeFp@6*#qcjW8l5+-V+_{6LfNOj!R54}ZqpjI zFreX$LyVV*j9qY&I$HM)poyXOOP92;}oVvZYY8x66lz#qv zwrpZUc(E$5O#p0@8;$!{i@y>><2kV26tvcX2+1`#iE`Ur9Lz0o;b9c%rKBU4m?{boP->mGEPMIzQy5};!}T{) z96X1`Pg~HN-D|=N$EH};b-Uie_?k3(3>PN`99xJW2dM=hIIt~-w}G7xC|Wj}20ioW zm%V#fHXC;AuM@y|vwz_9e{9@Dz;$8+L*BsmxPdd;z~YiTOfl?tzK1ho58()Edl;%c zoG+Uqt}6E3^6bs|@KAMM?D=q2&xd-?hwJwIHv>IZ!av=h2uSb-{{pB-2KcXprb4|$ zujj1=cHe#p*nPoGeMzVzpp&IDD4pHtz&~;^=fD$uJ!^GrgvW3=e+QI8@Ng)>@lXSb z`6{58>p(HjfkF|U5)?uWKn{O_NJU#e;Dc^-^dpHpGD$@?mKX_wb9}N5I`UTaRC8z zml?SdC5<$?R-@5HnXcI-ZFePcrIAFFNa<%-)#P8SyT^e55?NK<>}JWf%qjsy`1$<# zyZrfkQCDw8$qU21i*(3z8`gt1GW0tk_E%@=n7{5Cpdgaze`kgT6U=2vKy|?4hAIF| z&;?b1Ywsz1{&n{z%V3b!pS+D<0x|jPdSd->zk$8@(7grpA7DECdjl(={JYSI;eiEx z0Tbg)5tk!v?bn>n|( zt3$VC3t1r)^nMiGC_|ZDN`?kEbzz|!=wJwf5>-C<{zzOTmBv@_@*hQ$>|xyUUGvf< z0H_vQzOq0m%yFtQELR6m7v^b>V;H+NZurfkt)?p&FV>orN>dtd$CxX_o zk8VGPN;(iMpF8jo8|KEfo*%U9Yg@a%dEugx0Eq#4LSMle-UC@ynrq{mr{*no>)fTF z0+q$Y*k)zJMgcy5U4xabwEOlVkv7Y)H6KojZaL3emM zGO)Wof2GtAR}vgtzrg|r=JC)1r>{>6g6_Sn7IvAGaZa(()x4YsP*@J59^fM{!wHU|J25f1w0S(7*z>B2R z1ygu*qtQhcEsDlTZd+_LN-(A`y6g!pYCsnwe>!=4UstZ;3$HY0x8<2IgqX;)7{k-` z{#5F>jux)CPh?(uaA^w1nQ5t}y7h3g6|D6JfJ^O1T}Eaik|);Q#1r7ArgOS8YwwY{ z4drHpgNJ=M$aEfG=>&~+qEJzyWcV7|KWKwv7)BG4w{s6d+LkCey7bhLWOQ7pIGW^X zf6@MZ%(55ei$P0^aSY9w4WUqjGe>H-EE!fipgi6VNciv&Yn`axsSRZ4wy4M69hTbP&2>$Cd>Razt52ZCt z*OT6{zw>&FN9$=%z&d#FVB4BKi9q)ve{76Kjof>84_68v3&5DU5j)XfPQ5$08`9+Y zlTT1PFdF}HB+3H{nVLgrQ73SeonY>Qc41`v_z{eH3)A8p8#B(P<)rA5@g{l%2KA60 zsc!}@iBdek+?PkRyS{;Mh!9fWc#0nz^VezK51M*#&HyK?0Wd~MN#pP66R~=jf8z>f zc}N{6Y);AH(K~-7Z{mP(tNaFC08L$GzWUmer=e?ieE)hA+&u9d$#e~{CnwhrpFI6c zQ9e@c5%AFPt@ieBeEQ?x|McI!`|98R`KSN!7uRd|23pqB)-6apWHb-7i6iO|yWs=M z=W0bQ^fiF)(773yRwIFi?v~SDf8pN*=)2V%nBEHf`grm3{$m~dcVB{Ep-Y2;l0SZy zDW}dP(TpRzAbg5WGv0d4`}XUOzx-$$pXC<9J1$MQEMZ{r*MIcSKl{V~xDHpvv0#3I zYwRY5dXiNhQhLA@HFJavi#^TN58#azeo08~lL!%?$nz(0ypTAGfr~P0f2EHrJV{18 z=uOjq8~DBu41N8re~ZvF#MR7CzxOwv{^hrCVr)$XOj){uCT;p)(hYr$qD1QM(A5OP zB^Vn0f=QszC1>X|d%b*yfgcC|v%mPqpZ)dkzy9NY|MY+UD_qS#`d{fy2Ja`PKn`RR z1}C;gS9Cj&kA?|#-}?f*fBN0O|H+U4>AKwQ`yvE@EL}JaOJN@V0Jpe;q{ova_{hRN+{{COR`qA&g;YN|r=lhM z6~i&y4g)tvobm=t1Z)E5y{`dEgqQbcGtK$*M}L5_Sfr8Z;l(7$e^ebySD%Jd<0>79 zstS5UjOnw4Ci?<*#BnxYSN!yQzXmqOtKa)?umAS{27ILp}d%SI{BKUpw7@D7t{6|=hGIG57pWl1+1GG?3f5MBn`BNTKwfW7}c?yPC zfA+7h{_ao9o&I~LJU{*We|i1?{%^1T;J07>>wk~-=a(suhRprdfBo&J(YN3Gom1iT z(uI&ydhmYX)$EsE{rh*K!T<1kaL7?`)Qe||lpq8$yH9N%rX{vwtulC=|2LDk*Jds+*CP^}ixWu7?i$uC+Hh)Bpk z{@~TOegyCd!0{SzpwG4qA8eLLONyQ&J?X3A{(&J~!%Ie2fZrev1WP709J5aA%glqKEJ)SRgzQlUbL70RYzrUnnlNJgz6>-1L_ z9nsM^jy{>G+fi}wQ`Af`N>YqOcQYMs@&UL)at_~;1dr!~(jq7zJYYiF`X1;>s2u+6*MI%> zU;axZds!i%E`_R#j8Sj`IM1;dJ$KbZ@FmlRPyeq!diA@1^OGO`*6Y9g^(SwLOBb(h z2<_?JZ&*s0Oeh_$J+za==?~80fBHYj zwHOC^xD*oL?Iwx0U+?>(jS~OQZp33v$IJ39p*U2!iwo#9LxZ##tQy*rfr`(2*v?bI^WlG(A5tNnf7ST~ONb z6oFu;V7y%&cc-H`6jBo#=t`V6iSf5*HzY1at&6q)?IFxTpv_wko+rU88aZ0o-7BM&r`qe^;0 zn;+5;c9Q8kNeeGHq3YwQF@5?E*U3BQKX5AxBm2J-~Iz+wL4nHp3>OY-e?#*%Tch646Ux_ z^%8G{7}Jt45lB-H87j#!42RV>&S9>9Sq>tcVtp zlSoVwvD75{F#!R}e-ES|h0pBD_c^xacYpiUZ~oP*Kl%Po{^PG+fBWy>XfuBUy-Jh4 z#PAnVmM~k;TO3=yQ0JKB=pP*&BVTQ`X+?IbONrILC}+cDZBO$hyN+^Zx=z{BBj=8^ zO4yHM7+%h^5n)JQ(^gk!S>I0_{4d(Kzp5XPClh~>ubw!he_WP*j={nr$Ec1d|WT{=7g zLBj2OJv~Qf3<+ujl`uMajl#01x+}@X#dJF<#Sb1JLFR;TBXj^eNt2aQ0h4n789WBV z^XG`eMe?3;e{LVX9M|sjnnsHKho&I$=#UuBINaSohc1Dz1$N#*deM6Z-_QQ)pMLh| zfBou5-+J}E-wN%dzX0bav}Pw#NhAQcRkI0Y>i=ZgT0))Dh!rvmWEqRdI!^GMm{UjI z(Ww3w|LZSKdN~oNVwESc(;Z!5<78Ry+ph8(e-04tf7O5cAFqDn2O$ccAm35!f*uw{ zpw6dw@x@qdChY&M$GyK`yooG|A>QaN9(kaoQ%wISvMxrWJ+m&7G)poxHFu<7q#iG; zZQkLs+U)Fp(L{T8|&k0WFQE<*4K}3e6 z@N-0D2>QVmrV)Of0+glMhXAF~45*W5EJLDLl&MD)Lb+2kq&W_uVR|SiiY0f_Ermz| zfB!i_v{~Og+e*%p_4+x2P!a?Z!RX`A-g^HrAnd{ZUVr&Aio51KH-T1nYla_I_#vT> zX8?}y3Mm7_putaoXCDC)`#ip~e0Op;`Z~^hcLO8ET~j=Elc~AaH@6O`%aSm{1!x1% zf?L=mfYRv;oV~eyii3xDX?L#cE9kIde}-i#4#oq!f^i75VFq~z4G%trAO$Uqv}@<~ z(QBfeql7@B|W8p@=xnK=cD9#hw|~4*aG` z)SeFQkEIZ#pb*X6+#Zkx_x|cBe)ST@Mu3o`;LT$S|cxeF0D266Eu}S#axVbeD{@&cGAv$lukJ)qV_6_KcCYsC#Mr4WRlad`$0W#p^ zFhF3u8-R1#hx#=K;Qi69e$8;y4fudaf$$N&qj=)@E_9Mh-qA3C9<0Cse^k4oxD9ys zOfy{V3Fsjy@WBV@E1<0(rQ+~LEx@O+1%MAXpM1i=X;#h}hp*tie0uFZb#A`yJ$0U4 z>fg*wM|6e) zZ2hB~lVt!r5iWzCV3h*^f3JP$0DOa+{wsJ0LK$cYvb#zYFI9VtH-%7pJz$=i+t3JYj=Cx@J% zJBsI`XgA5Wah@TZhqv#1u zxE78J!u;m;D>~e5DL8S_Cq{1Gh^J$r_lhH*^eot578dJOAZ<+*k;_702~0VxTrLi5S! z7zPrQ{WV-pJ%rWW8||?ld;o*-q-(#pP8x-uWVi_-X8`2(t=C|~j%ff$K)1gb3FDf8 za?Sn4<|stHL5~1C(p4afpI^f%BS|A9$`5IBw50RrXUszlc^u?Vw|{EP`HrL`c?3fS zg$2-(oEAVF5*C=D5VSzFNccpWS-HRxDS+tuEF!`T&mO6{`68rh_h~W< zDK(62ax4_Sy^kp1%Uk&zpOT;`T10n%+yN9U2uuGiF$R@Gk$)pDLBqhh@DrANdAmEC zVYuG_#fW{>5Rrzr=OJx}b)X=3By==|Awmc65SpDV-#bG?ClR_KJdWZ9qNmY`K^Xq$ z`X-X!y?9}>#M4CR%;;GHU{U%Vc=8NM6o9V6;Bl}MB-14quYnK^)KH-II2rJb2U;N# z2OeI(MQy-lkADNiX$D9gBo=oH2azSY3$U+>x_5k*iH=z2`+r!vzfKr4?39nTd(5kK6xt{`2Od^$5*acX!dtt51oSxKn@E-kMY8MUdm>r) zUC4IN0L8+8A>5Pg0claXxw|BK5p2*qZ;rs;4el(89e9+JQ4v`A65tWoPSz>9 zau<{T&jR#mSQUXhgm`+(J?tU^dguguK3zDe5Py1o0E?p#+COJ^FRl~*#iX^7w000{ z52r7YWCi7CK9-JSCc?s?=Ql4>y2qo6$3w*=p3nWoft~1~P=(@81`TC-h?w9F3cP*; zrTTbO92rIxi~JMd*f};V^av2rTkN6=h5AcI!@{_smle9G1jX@hDG~1bsDyq=jJQi* zXMcTjZ;*2z+j342<~V5TLWk#t80IbGW+90^0nT}$yVQMzw*cv_oxy;4X$}4naf^ZB zJx|J=!64M=XcQY1?8v*sBj`G%UQ_8MIUNsFbWjnf%3sQ6b5S*pNzPkUW9_7~2P$z= z38~E&6y)1Pj=MYaD0z`AEdKcF-^V-nSby)$%aU#^-p2`I^VDVff`*7cMtf46?XkM- zqwTUh`S?4MfA|iX0m8Q|7jdiTJ2EOjZuQWxradofNIL;C0nms)`Q+*f+1Nti{R(?h z&u87MC@LXRx5_|S_h2CD_~`Gsi{y8twBFph8Sn#&G}l)t03vDY5kiVc7x8dD=zj$p z+7r^!6;eegG^t9Rcnu0C1>bC<8^NgBZI|kC4_yN)zahr6VjfkCqrGWrDF#B?^Y8 zO~3`P=&6+@zJa|+s-Oq3+J8NEGB28emKXD7wC+bm^defsD}CG#Nc`oP@KhuEiXaKc zfsRU&WHF|;ds2idw*!xoOjtUk9q_CIN!Cc%x?P07;KZ+Qo~2u5X)xFqE=(U{Wu*I) zSMY2Dydu7S9llNZ7A&$rg@;p5SD>LK7`An>0)C+a1Tm<9U+#i_P=A3XLxl#7_d*p| zAwn{^>b5D@$C5&2rs^%b5D0MVg-i5Au*Km|{+$eV0q8XNeB-0EHpJZ%JK56o3 zQce6LQ?(cxOKi~Te(oeyjr#!n;Yjr%Yr1xlS(qV8!CX?|CNZN;Vm_oU8hFUE@v%$v z{Vwr{f9|?4R~G;<;(t#--%k#jlIG88SgIG;VA=%ZKG)ZvJy0Qt!s=j5fN^G6@Pz|YxkcT<6+p0o-Fy{p zr;Lf%RpzVV^iIe4^2lrNj^l`~ZUgPsytR(oS^{ejk$Ndw1%D}81t|p|DI`^)ndYIN zC@M>#Iw6KxusMWPx9BU2C0`NNL{H&a7n~$0%aBo*F#>@SCVY8^!j^!ZqjXuYF(?AT zS}c_`fWAg1T@7^;vOi?^jZKot3)t?XF%DC$uzU!Ska1pJg-vtVg@>@&=Z~5{rDyI= zhZZ7a65}JkgMXxf$5M%<>=jqgTi|0w0$6Q^$JPL1_x9}Cy47x;g`O4B+q*cj)P3#J zYh>vF(7GQ#@)j-8{WN_0Qoj!EW3jhHh#hbih~hgi3sf~UurX&A26Sd08B|UUUKeom zh)z+BYItY{D@3;AL|?y7)dh+ey6*Luw8@0lv~y__?0;|_2~QldGdaf{?nFD>iMFbf z+Tmun!;!*ACoI~DHZv5g`I}5w(24i56Ypgw+RM&yFY7lMC$*Q)M{{QFO6)b~Y#_xt zqT>~G01XFwcJ6pwkfTi#DFJQhzelcWfj)x_{6Jy0ZDe-iHi)Sy$L?e%EwAF>39 z?kNU_mS2ySUyqhQgDwDPF1~wtb91^c878z}Q%o2bKlO^kLIXJqZ9U(>Zaz+#niHJT zPi%ntxww&7l;CiYJPSeM-JY77kSF!g#-XK1Ab-q;rrkwxEE*D2zk}AQgFbws=rV3Qc)>IO$J5`7oB8udbds$YbS!V}kz7%shvN5%wnI zWq$eU8@~)bp!P^3q%lLbmzpK=ae(3}8=kV0*bQ{$Y9lwXyVGz|*BbOL!RedZkI~KT z`+xLFGmEtOB%ayB0F5E7gcSJhQySP|0(IV42Y2CK{QQ39qq36p5*v85$Ug`nJzq6*yo^i6^ldgNckK!Ol2e`1U|XWDnE8+|c8oJ+-UUt*6D3*z&k2ND>Z zsA0(3ViW*th)xHfK$Wa1Xw{7D7BmuU6GTD`6b>P@>T~aeP{^ACd>&CMR+QjR{(k~S z-6i)A6P$X>b;9rn?@h!gg#R(VNDAYQ)biZD715@JV+3MynN9G3~JjJ0;_lv8mOws$$`sf}gsf*Cv4`X9>r{u=-+=H3V5Nda1%Nag;B{ur_9?~I0`l_KaWh5 z1p2j)+D2>=0bCACqs)^xw}0EHuh8}w!eSSeATd;;AI%Z8_e_SK1Tw58x!2pHNj9(NmMBaq8X%-C(dMPl}X*~+sNHRZ1 z#P5^NOwa`bbl(hEBNLgXAsL3l0=y!A$U=KHssm6Xen`=5RPuZR5*#)Jngk#5R067t zzyd@oY3>_IZ!f;oJbwVc`}aTnl^=&;xnBR{ufG1#@4`4WFF!X(e>s{yO#twe5|l|J zIwUT5xR8jGBW{?1BpNOGk*&jp=8?Y)JYu`Qdi9&%fBmg*!$cPd)_|FX4Tr6qX5m37 z3en{bU6e*{P;_V+JxuRUI?QbQrD8!i%1XNvUQ*9o_v6uhK5R&K z84YR2oFIi>?T-`2z=ph55S>i}f~6rnQSMv`#^!}G*?WRfl29tS;2#0Y zK%_AV3-|^sdn3%gsBwk?FQS}3-~GX>KmS%dP9%abAxj6+6?(wJ^8&;K0W6I>6e;gG z74V#k3Q~~fL!dJ}EQrW=x*!b%|F9rSB~nAQI>?9g7k?4xDxIt;48H;9Eu;B@(QP3* z0cHMCxhR$qpcgjOCTKpKGY3SpjB~dIG8&vI6d}-SI+Bk7qeBl^E(9ivM-Lb(Y=ENh z@BsynXx|4NN{7--htdcq0@b}Y?Da=YX79B7e$Mfq&f`*?*buVNA0S>}9XSDobAvvc z@Hvq3z<(OXQcNoN4I)Nx#qUyaA`wPMO;8k*G!2-@m#{kFe4>PhfB1vfzx{XD^4`

    %FMsx}zW^KK_22%@s~`UG^K*nJ=YL{-O3`IP4|6QqBgnDp9aI<~TDA>U zFkFawUtaj~5Q}guqJD26AJNhfiDJZa5ae-KL_|%=~%bJ5zc zEPmSYsSXyIi@*7$a=thTPb%1a=9_4t;w=XT^vydJYQraqq24CcKT22L0^*q9Kne}f z{D02WJg{xyP`H?MBS60Iytm)|*6aWAgGW$`f^HLO^)tP)C;K~eMx#PYKgL z7}-CV$l|N(*8`+z5)lVQ9Qxls4e^m_Y6dz9I4LBkI(zL%;T3fCleRF0Pzs z13LEY9ewyueM!(=*2`UT&_ye`jTGOCI*ShxI^HLRPOlZ5IgHScb`@R(Nsab&YRHny zpO&~h9|~PexX{Vnc|^!J_D0jps|!i4=78V9EWx@tFBm$&(I^qNav?YNd8Ude;V#e741rbl zyIRWzKLNR<2(B;J1EKVm^cEZr_=Fv3oxPcEzZWITc;L^SdX~6tKNjnbz<+UqiHQAQcDsH5B8}(Sas#YG1Ob`@lbDP z!P#IWr*OIFad4+3t`klYG)0|7W<%k-PQqm25RuLUvxQNePKq(id5|m|1uLUZYciMO zvN2Iyw$na16eR0&MR3ZkZ-0(>zdwt5C#Nuf|0c{Q_zRd1YbWksA6^|p?w286kvNaz zEH=#Ektjuz$8PNkKbJCZDi@h-z_NT}zT zrTA`3lhUylQTJtQ-ri_QOx)<{F|zT)tV&lXlhzeFDVj%Fs4j&%K7Vl@f}S4cNeKBU zwf)27s*)Zam|hH;9Jd2Frzgf)DF7@WPm99FoBO1^+6B$pX`PGt$mlD4;Z?Z=)!2?b-s%3PWF=6^xfX73b#aB%`D}j}F4) zl#+2O^wc=x89#-2&wrn;QI@)=VFsELZ>Tq*)dzw?o^*0;K z@kR>`f&7~%ixVUCS%QjPR2ZxRD2D{=+|1LQI5%&cd-qaWKy=4A!k=_(?lh-?U$wwn zha*%&tWh;j(!*4@>EvC<>v~s78d5Z4A3kuSywq1SJ;vE|ZhwkPsDHXRa5QL>N7X&a znWN0L1lzMZId^)xV&~`kaE_K6@62e}1>I4611(dEh(xe^faY-1qonqU-~H7wX~koF z7p1BQsR67S1N9gd-3_PnFvaQ9?B7$L-RtI2=VF- z!LO4%R+mN3tA8*$@hE*a>*^#4nv#l>9gREZdzJt+{b<_x`4QvdB|sz?QPd<)ZL&`W zO3Zbr!S*H^8X(60}ZGUO&O~*TQqVRr*NS7rgOzny& zs}xN+A|2_#?+{I(m?zESh`s?<^%^)0#qf= zBN9^o34bgOBN?`5XJ`|_Frjh;_(761$50bx?`!(i?bS&tpJOWQ(-c3KbMYQ?)Br{s zLnB4hP$IY}H9}0NE;x&Cq8+Ataop^LTOX4kCtUv_*i&gNAV8GWNmB^VBchGoMk|y6 z8ln(<9+RRlZG(muFiqrGj%9FSCd`)sL@_>?mwy_KW!Qg$`^VLavg(pF!%)=L7_K{I zR2FUE5HKzh7IqL%3lULBF2x*CHAcl#=?0Pxkg6c$~sMPFvpl2?O zh=Lt$%xM({=)&8Sy~FZD}Q|(1z^K5h@!S;uJ-~ z#7mQ&UvEL;7v_h%A~2RA$Y9&+h!AUm1cNLJ2-DNyav{;?%-YT_)vw~L!+GRGoczp% zn43ggg-rk=7p6AiISlXh*R@{j3JFV5vu=JrkmfCE9i|fCXac9aLT9f+p21?HWq)p^ zZ4n0sDm+h@TduKdT^(igneMn=+}lEffn&jxFb1%7Ti*J;QNqJ1w==4B_lOS%UKWh( zh_~B!i0i&PvFvP9`t9yb`YlPZ5B1yrNn5-1v(O0?#yWsru+Kk!83sqzpTm1HB)mP1 zJU~DA0Ir%fdlH8<{>t;`@IBZVsDG_vtYcUWUM2kGlk^h`xqc%s-F%3BbZefJ55v`h zdN970iJssn;uZ-*73@X_cTNKDn&82QVG#9?;I%?C zykXS`)Y5yA{_$ZL7X72=-o2SrIE&s4(Wzyr8Vd9DxG84$z!XDa97k}cB!7iuhzFtG zY5oC42`L46b6Sph80ekGE(Ln0FOU?9yFgNqiRLuaJ54_SKn&NC5GXVu?V} z`}GR!%<)m3rWGt@$k$fdJ`#MuH~4^ajhSeWf zBfNxMX|8gWq?^}N-Gg`OA;~QThq^X7l9$pukeBM20j-oGFx58_7=MyT2n?Vrzx-dG z?lgI&dr!eUQSw1IjE4v+e~f+Y!_{CfQ0$mHP}2sokYPFZzr>IjMqCxL3&0a3PT$|hHP>KENQuCj1i6PA;8*lD zG<8X)ccGd135<{Rai}WXMDnaEl7WyMB9&p z?Z=(a>0Z!}EzpN#9jYDoVSc)2Kp$7&Pwbftq-M=|>PV{YyMOmA0Q0jWZ0~)?xJDZ0 zy$+W@yD{hBwW~4ItuE%w*Xj=!rQsZW8^Av$DxYh@=lpP1o5C;6a=s~+ zhTvOXP)d8uYxJfgalLn)x@FgO+>=LJhsh9NljY}=3j94XHWK^<|HYwL?!(VYL9kb_ zy&~D`4~*s^*MH`RWTQXY_cx?8Rm5I#Sln?035wJvL!;Ccdlcc5DoMDq7)%7N)DeRD zJZt1#iS6fC{%XDH%ezLEsLQ3!W@*!*_$SZ?-&s*2$Esrp0D?F6)&inF%+W<%dSYS+5MD;PA}cA8ZLW-wZmm z-YD3^t$)sN8E<1RYV}TQoEOOcGFJdf(R!U_M{Cz0XVq-E!_vlrqFJjWWbmRyHZ%Bu zqd2^)46p$^1gh$`$KYI}*ii*)F);Q*qau(EYg$?{D%CNzdvU~VW-YC`J1E7SlwB3- zV{33&@!l*?(X@rH$NN&XEoHEdQ{F0NFEgtSxqogmy8;7lclFt!RTfq)+Q`m~x!bOZ zf-cXRJ>DS91>m;pj5ywxr`ce>STzS5Qa3omEOzR8rQ2&ST*5dkOMYDuN4P&)QG0ns zlx&9F1S_&o&-SJbz1GeQ^z3#z-jUNWUdpU2lU;5zwOVtM&2(|vul7dO`nu;WrYlMu z6n_VHBi&uKWgG7-*VK%g+f`>+rbpaf$r%|lSFaATdSQki`t@>dz8XVa;STPHJn-F@G*q6pPC1JA8T2jWq_AwI-8hKG-g*oa1=n zz$i58^ak`%+UNTjilsX3g+nNrR*rAj>ugsNO8WTFZjC5n-=e$3UagSr#*k`mt88Xm zQmbpZFxt-hs}_04<86F0*?8@R)iQf6rPw4Ey=A32P$+TgwoCj>oVImqKiMyb^?y#y zsdp-%U20qo#uV<1OC5#UmIrE|*Bb+~T%&gTvXE;NL;Rrhtx;>p_8LXAJdp9CrAQ5{ zSewn2jIf+oq(4{=a?Xe!ZmFhVQv4R3FoGmwLUj zz>X{4PQl%tMK*+rU)Qs?#V#}cqSki!nNe@%M^v{*_`wQq^{A{)OOaziZCWkK<+iVR)gD>vJ8QFB zYGp=tZ9(Kkc`fxFtwvd(e{G#VEV@s4xS1za{T%_dU-kMf>)9J2m%sIWv z?dlDK&h1#zDvid9)df7hRp=GgG+)V)V^{3t2NE%-WV=zG?nhm>xqrbIj9Gs>4n{XJ_>oNixsWXI|gO|f+t4%@l0JnEa8fw{v>ZYXbDBRelGC;Gvd16b1A zYNoz7IExBO&feNgs$>ga^vVapJ=A=y*X`k~AqMu?ED4pMyI2b<#_Uy`F3j^v*HGN* z#99?T3mVjvIqN`Jeu(s|FS)Yh!!H4A)Jch{^pp5=4QArF*}W>pwbLRGA}MQ7(a zVs%m?3ayeZg9hY$(I~IVH7qw-j8^@&who47qg=6Dgo8J@syFt<%wkq<;pJdG7MR^` zV#~h1Rde&PO7*%KlG$)U%O>|cJ~QlD&lPc2Ei(0j?JJZvQh&x}*=y_zKn(D)MHiFj zlvv(-{mMceR}1a3ZnRv?EC-oxTba^9#jTW7s(4to3rt(cw_GlPki*)=PfR%uY_s+sn@!Sr$@1{jC4rZhim`86%uCE3Mtj5%Z060r4r zh68k5m)aR!ZGSQOOwk(im4KvjxtY@|YPvACbF(tm@Urcp;E1`|Q1O+XnW2hVJLtFP zLf>@`Ow`4V!m8%uL;`-|XSC#s5#>U5!1|#OT93^D?)fHdx zS6CrC>pB?%u;)T6+jlsx&?uI2+rzHFySXv8(u)(FF@JImtXbSnavi=^6R@gRne;Pc zUdFo>QR)zlS*em8=vu4TD6Fg7eNN|%!WgUC#qOR_^~Pb>*p9kezS0n|rdR5*jMKA6 zL1(UNYi~E1@vD(KQMKZNXRABGYV`DZi^=B5?WCx=%^_3A*KTpPnX9a(x7W*lX@*bL zO}{`|hkvHO@W@7v+*LbTds*xcdg`n$vrPgQ3v#ww+YW~|?@N2EwcStFyd{*&b+x#a z3X2U>B1o52v_*@c%>`W{w;mO1Z0O0yZ)TTz~_Z);tZ7Vu`n zqFeh`wZ(Z15Gi)dR3t`|y~}t5Qz%S{rrT=*vBMPlYK3+kGv6GHTTa$K%#=x^vEKVY zCRe$#+GDpZt#z1^?b=kKD?G!l2X&v_Z3C)NY|bWS??7m?=A@am*hT{g2osFMz)qweta+(~4s<&r7wDKz0}@KjECsaGV*D8sU-sv90B%;=#tUwS8mV)7YJd&4w;V z@g7$@Y_mSsn%mh-ol_~Iya?LGO}4{{U4^5?4nQo0pIOFOD7UkCV}UygnO_dDem2|J z_DZ8tP?>(PUDLQE7Xh)GQR-f5HGlBze3wzA{G#D+mrR@4lFWK!(ymhKXc>WCG)>Cy zkc(j{=P;zk>@%IoIGeR+hA_ztv$JhMJnXWh9(0O4x9!U!HKzAkc0V&SQYQn%qvB?s z@s?8x3|g+YO$R?@mGWT7IYM^M6S7_oOrp<1g#_q6wcd~}Ijh=yK7aoF>VM{mX+3qc zjV5_dfLfeVy`H-ILA%E>>}yZppJ&MS5Gs5}b?(U>>E1@V9Q^*wL0TV0LM_hnJZpWA zlk_HdN1YNyWO=&P98Xsy>11nhZNJ#)U2UxwRlW8^H~Rl zYCjy&S~s7bsLE)FI7NZ4aDSLsqN2mI!DsN#Q&o2~WYfA=pasx;w)9<3pY5MU7PWim zjifp6I=sgY$v#eL?dYqaC2BkVmc|qBlaJq|`afzf_+ktI1!MpyQdW7w$){QcF0xMzTu2W%hFVb@%2oT8mOI2 zra$gDxRLFv4N~ek!eYx#_c_{@`9Q-OWNw`)I;(?LXk_!+n8&!Lb{O~_ch=51>f9jf z?$lq{JU?4y2LZX0{C{;Ozt0K2M0e$hZmbRyT+mVs!ioOT7lh~Vt;03DOw&kG?H9aT%{S1Gc1R1_jA%?c#TkdjciNHF*|3jDuwNG z-)Ryi=Ax7*|u2GwuG(v?M7A4vw__{RQypvAD6}T z$QzO*!{umWWozwPmB6d?cr3Mhf!H&H^>CoJ%t@9Sl8)Zm3eB45^5dSTj>Vzp=^ORn z)U#B;4)+trt$$M$*~*wh0w3Uqx}x&AN=@^O=62txZbXHlrkl!dXyvmLC+ z6b@^9?c2n>Q(4K?KG&tDZfi)Yl@2)}GRg?=?STm6$T@RoFLY7|>`icnq+Aw7S|PW2 zx8SyOjpb@wa&jY%E|bo(yv?uay5(jD=Dg4zPb%yzhg-`skRU6ap&+j{2lHl?POhc( z+D&G&+C!Z=ihtb^yf=7RMsvIl(~!_8Wnk5QYQQXE2|`5>1l&QRlxIE z!cYRIGMEI*u{qw`L2IwgI3UPvL}ONT_l3f`xbpq=qOu(ULXg?+b=MBI#oBJy4r<*t zGkA_>SA3&2^5*&Ja+N8zY+SJ^dY@^`=vGi7=sZwY_YGew z*G9HC$P{$j;T(!vx`o_6SIH19i6)ylwHu6aMqCJ`1~p}?hC-+nNhP?AyOM?ty`&b6 zy}n$kw#3ZyTFcw@eTK}L9a3akLo-+56@MS^32nbYEJU5Q9VWw1CCU~twNO!Jh0?58 z^=G4AS$3z}`kt+8t@(%@3)`L@jArdhW6@^D1!rmLdPmMW6?Mweex)~C@;;fz-BGUO zsSQ66%h`g>3sO^~a@1hst)`P*!>&@4v#u27p+=Xu#Z;No)WP<9vM~1PR*Mnpet(;7 zan!`#$!bN+cDYHJmYiXWEz}0B#%jJXiu3?zk(qY8N@$DRBG_V>rL>LBXtxk{#?o|Y zzcpv%pdj-*+1L6$STjZ(m`h?=@zws;Y-_e7TFipo8iXk{i8_~CiTG$gD^7}AVW^DC z8C=X8WT|L0>M8(kmyufXV!R`?oPUQ?ty!jNmtBo^ihiH-d_@?p7q(Q}Y$jzU&ruY% zU`w2`T-eQl-tZJD*T~EzemR=TB)!BX?|WzMWtbquCmeEuN_;!1R}>_V4b z6<1bSYjc__sMJisd2*?nIWO3b7sD1g*&S#xSFSWkrPP|u#U>TdlWJko^Vhad@2g@{ zt@#V7F>dC{qkO$xUC5(yUVm>>RB=uX-5|&+1*f{1_SguYK1V|+GIDyAq&;@Yc^ zr-9HujOhG!W_v4AZ{*6pC^fVlB^Z8j2=}HqX->SeQhu*IrZk=+}N%?7x$En0aO$R z+o_FhY8{(i9!v^991db>fJuePay@8cbh{x*`O=Y>Xz&M|dru@owGSG4OCUz?OF`}~|5S8YOO%e~StpvOMZSdH7>`ao=I z`4R25ZFN~IlWrT-qh|-UJz!0)=nZ?j<+9`D>t4W$jkd&esei+Q9<59+SZs$>AXj+F z$hw4_lY`x4Rco{3LZw-vNU`cS6`CoUw$3g#of4&p)+XODb=f)$HuRV(3b`&&^mjA2 zFea;uU{bbfd9Hx%*|CG`yL^8-F8W4wxGdv%g~`|sEp>7Yqp%)0v;An+Jrqh{Zh_Tl zn&z_Hlx(tVjDLCW(Czp()-B5ottB^yj3V?*vM)23u&Xhxac)uX>I`lkHl3X8b)^Zn z91iDQvnTW|HJJ97fWFOf1|PA4)~WU?(_-yV6S`x)bSP29P0#BuEw3OPR>Rd|N!WHx zr$m|>;C)6J?Zi#iTr6`Pyw>%L3)!UxUU`JMoBCirqJM@$O)PJzN_V47a}2dyd3aE4 z^*N(h+VT_fK-V|D%7l{jYPHoYuo__m^;Wr7w1=~cwFd<5brbhcneL_V!h}TU^QIQNeT-XC#h9JlmTRzSL9r;lAF$8*R*CZQS1F*DRQ& zyDklv>VI70bDLbA*9BqZ8aB0RN`^3yg|4o(vBS7-EQNJdp~h;v#PIaKuyNAI%Efv4L(kUS9xqt)B zeWQ=yJ5=^gq19B|3PpK)+SCjVr|ZQjB|w)=tAE~PJ=Slz>%$S+BvJWwVzVznt$1HMxy#!VZa77m$GlVTc^ zX`QmAf~&5r%)r*$B3&MJssnY>0Q9zPPoyl%X`VAUVgN|X9}N@Ux9m6ocL z$$ugiFZmZ$~xq4_&!lcV! zRz}eBhh@R@cyTP+1SYXdOzmzUi=Sze3Wx;b7CLEbVcNG`e%OgylxP9O1SF z!^O2Wv0r3;d(^}m@^HTG9yG~oFM4!q+J7YZZZ+T9cjc{~7p3K->dEbiL^CV1AUi#0 zxWu->z@)ok*JztVPj!~{`oZ( zavLBI;^NdB>v#uHbFoEH1L0t7I~uj3XldHmyZj=EU9m82n=01ZQwQ0niHh3H7fp7VX^H#ESSp#?h{?Ee%jqghZ>QD@g9SBO z8&1EWlu0S*O{v_rSzr#qa>+}k>Fx0`-{kU^Hp@4=mAbFy>EY6BnoYy&ig?X0(zQCh zG%JJQkR}e=O3P5ntXX6C^I+GX`hUe5Q<4wGk`I`T*lL&xpfdxbqps8$Iat#BMNU|> zL{$V!Hm_AgzP7hV%VkgP<3M(DneDo#cy+w)>y2VoCJ39T@3+RNHo%2;N3+Q4$lkYh z#?EtsTFWtZBZi;09L%npR^FYpz?M~n%#NQQs^xJ|)O6ROm7wn&3cgzwM}Mo0=&uA; zvC3KO&;>%KM06`tTxdA6oL`+4+l?&fxIH-V!)8+-ti5rwEsod0DBH=j?IyG9*G(%eyo%`59_N7i-{tyg8Tp-zIJE;KEFQdIg{&sGAJ&!~M`1O%lrRY{F6dObQr z;Ho_7sad>~lcf2uz*G;#hJVOTgeA4<*JU6gPkRk>-D@d=)+MFGRNXdeyj>W!#r!j%=g-GpS35vG!7^Dz8iH*yoi>|Y zc9R1{e`yZ(dD;kSLT5hAXkbA#Y1wWKg;Abjc0j?vm+M@KB;Otr2tc&{_rDDqaDb@!x3bB%sq-c6`H z#^MFPRbP>~=(#&%u=i^j#+v%Bi!Vq)EDV4I=}%?0?lK$4c9#0mXg3Cppl6JS3vyqBY^6mma~i+r#rbNx6*}%}!xsH2zhJ>0ZdY16vZM&C z6Y%)B*O6PD0WoNo|%~Rx^yF3GzHY zvYoB8HAK46*yik+sxZ0oq+}@j5nkL}Y;&8-k4JRL7;OP7*V_$Za3DqD zV6vh|m07*z7cIHD+<_qu7vy4AcQd7KLC(1p+2-r>3STceb!OYtXuH}`RjSoz$K{4j zwSq&gIK#A3M}OiZdyE?*N%u-inLbDgKG(o#ciwDSkq7IsTN5yQ#?Em{IPk%t#Op=O z*5}%8u%*i^ZcAFdwL4(KxSE0W8|`8)-yKQ0PNpf3b3|VbRDrJ>2QW&0xy=om4og@J z$&iaKCGNW!W0={3{fOlnV!25uW`~>Me%o3u8lAZ~HGfAyDC0}!(o>wwV34(oHFb$K zM!aVm^K#c40&#uT>iV0&6iTGJ0~(LMSr_MRrS0+9Txf6F+j_6e(WQ2wR`2v3u_R^p ze39=qirvz}c77UQum%3h#0ta5-4MQ<}Qx0v5(0WH+_2ZdgH zyd(sn$~bzj&hq%7Casp$pjhu!B(GVeXFhk}@IAFX3~9MU>}%^uV_$X^d@1d{MMqIG zg%PzR=1xV_S-djn&dr91du68!YOqG=$Ic@co{HMW;!$q_KH3fuzw&s zQ4R}!;`PNkKh2SwT#G5%HnTNz7N2VcWJ@)$hIANr>e$N8np6#A${C6tH&+UqTW+!b zJ}Vxk&L-#TjiI?;Oi6Cm9aG!3U2TuYyu~ZN*E8m`>CEZ-)A>LQhJ4+rce-k~Jy*%X zG|#r%ym(N|DYcmt1ywayme_YTj(?FGYxLf1(et2;X8~+2MFT53Rux~X?SsC@?Y!lp zH(B{aNy(Ffj5h*XXv#d!6Jl+!_IGSC=)1E(-DU?{lO6OGP0y7!d&8cXLe?0$qkM0i z%QwY_(B<-!vfPe_vlboVo!TfREkl-Bd$onaFU@GCp?t_zedmF9*Ws{ezle7}uT7El@Ivh+q;B zgEa>w>~OK>X1sqENdu;>t3gL`S3wpaBG=$|ylU=Sp9Wudvm*cX`n2<7_ED;j1YGeB zw)fQ;Km=0=2*VMm-+w1a5Sjgq^|-%QTOQjW&fNf8{jE{=?!<)GR-N+D&aUczu@P?* zw91!p%XLSKpg#PXwdm9$-poK)FME|PCg`^fom+W$y?Eltt?e3M*p8(CVUud#sagV0m>XiUD&eX3gW+AS?G0?Y>_nEIgim7767m7GpS~f&?gv>h;Sv+UZSjKz=r4 zj3$-bs#dHvPmbQ>9eF)5zYb93y=@{%DGoNH@imtrYI;5%QiKK*n?xk8h&IX!SL%|V z?yC~$L82%D8GkbTT^JjT)%1yvX^bc|zh%-F_)77|Dh|Sy=e-7E+KRGDD$Li-bqc<9 zq**^Au5Ud4jVwxn9gf@+>9s`rkWG1TW3_%s!Mwbmfa)lzvNPUN!*{wQ3xi{m&tIGD zF=1nnhYXyA`54Qnbmc}IWgnFVxWezgSUTbmc&lidLw_w>Q7yG(&!#mJYH{-Fx9D|| z+;o{Or;qSZgHy2fuSRDW_ehV|&Tyf#ybN7CB0rLBVlqn2Vj^NdnaGM|IR*WO$8lDQ zN4~j=nAHl)hhNY|3J+JdKuEyoQWrVZ(bdQ06G! zvHcwX8h=eCJsZAk(4nA8m&!Yj`A^Qlt}YzITKW6N-wL0g`eDE~^f>89N(#Gr!_c{sD-mO8xAz&;&$d= z+LYK~ofjI~JUe!(Eakeo4`W)I^spF_uA1R@_kSj~1IbmDI`QuH$@%33E{ia$-kD3~ zYXR0p53D&~C`L^+V&JvtcQUqIOH(sw6r17BD0$;};VL5qiQ!$528lzD89Y$VBN_F{ z!ahJL=BC>btp14_IYlcC$N({wsRYBYiJo5D=6`ZS@3VpwNXu zlYDCaOy4zHnm2;AtvJuzx(RK^V-tsTcO^;7;mliOkwj_8W<2;j zja58RJscZRBrw35!XoCAK1^cxtbn19zF*PhgS>~VeO=S)e>Lvlx{wo%UjAy{*wy8Z zJsMW#<*vjP4at>QW4PqCMISPl!jar=ez6pSc-^Of4VA{G6`roq#3?QUUc>>zkG^D_w9$Q+BaZBMcIgY0j9)wK2=_Tn(FE29ERRSWX4TK4#hUKP^0jPrvH) zwQFh7z#mpNE@jKU_Ep41N0U;71%C)7rIYBjg-+GTx2sIxBn9#{02nm4IK;?S=TE4a zJZ!g)L+{2~gA$Ax_!FPYUh6npEINrl#+ae;)y-K7?f{~hD9I72bY|Fs48JT0$G`w~TYsGD|2M zcH8ob?BsLON+5rs;%h3yjGox{fzlk@rU#uHEdQCw_LyY;>Teyuz4w8H^pSsmY30JF zR2=*)bwm0^0v-Hiaon4cO0cqP5gXA0R?eI2=~2MfeYF>}p?$*1-=V#-@o^kX@qU_m zHUcLSLM}=urng5-@Y*+Hzpug_=V++>&pWgLM!~k{xQpPA#lQl&?2Odia=GZ7dU5t* zvbRIp=8(qo9?tNA`qZ|bEvi%Pw ze;(%68wRf~Bi=SOzzGR8U5MP6SPqY4z~2??zu|a5<~ID^6FC!?2J446~ zyu(44jP+bCVp4pS)`fo*Ho4CBQ93v&y6O463oyRLBRUJ=o|%M3scY%!t#RO7HNyl>@n4T=WWi1=9cXHMjwH~shO^j|(CFpB@}&Ht)b`^)WPe~0FO_5Lp( zoWEoD|MCa?J^KH*7P|d&#oS+*4EL*$4@dvGj_=ol-|F3P=uhQtzaIat+U@^&zu*6A zMjZYxYcGGA{Z)T;`Lz1;`>*TYU)c29X!+Gk^sg>v{7dcpVC&h#zpas9=lQqZkbhG{ zzd_~c&)?R}A4lcSp3#4(%lvutH@5k!e}8Q37d8m;Z$5H=-qpWHqklY>KaKs>&HkEx z`p5Awmwom#(*BA!{rCE36}tcS|NcDwr?px8@}GVd<@$e{>QH}bZ2wR}`)hXV|M)jX z>hG$8|3zKuuW7u^-F&P6{?Fs`+44WetoT`8>c2z(4Tb)<2jr&{|9Zp!{1;`t|GI#8 zd3LY-r&qZiW%>QzwEo+oLw{k@Zztj}&G7x_9Ym-<5z(*5|7yhW51IVMf%0d1t~L1?|I;q_ zYdWqCqFkn(huScLzK+=3fD88X?Dneymuu~JYP-S^RGi?(Y+<|CPJ$@`rf}wr^bo1W zmFSHY%$71TDqBcgUsSJ~?Q8>dguz$PmKAK)?MmL$2w)9HY}2EA)h*!JsJh<6ys_7u&3Kl!~7*&4E0Ok zc|m_@xf;$Tit_I$_y4Ov_lE)dZ$R%KgP-53xWk_*-0A19`v3jGPlIiGiWFbvGFss@ zJZjf3poz`$7k0kCrgAgM@X^mh_|SmK=>x%QKV8sG)fL1*GibV_yQsPt!&QurVCWwZ zrC04a6QbJ1J-Q?+wlHz&psAH71q4)X^6Gy@b`$kv@Q`7}`*Bac)U7%M?pufynxBIE zI1@PK_kmUIShhTjvDK%(8$sE*HgtQt8Q!ZL5e#{`{8M21kUnG=tBW6s4`>bi*i4GQSg688X$IXXB`jHSO>yhs_dgS0I6YMm`1cy z_wIFY-i+^-(PH_iU9uxIzfDH62)BPo-zqqcSp2wY!Ut6zu~57I>`;eaqfYc;C@OX` z>Q+{g?m-~i4|39XcZSQIanF0G4^-N_Gx=G?Bx2cxbuhN&Kv43}TnZ1w9<5Mz zh_~93lZVkLVGSmtVI_VEgb4?K1M~c=DD+nW=`Rq`@8R_Kfyi&`NpOrpY2SaJ4eGz2 zh=2zZ4?^;;qnrBo#PdTq%(7|f;x_gUBGS)Cs{JoGNT%5)&r5%lYa8^l#paJW;Sn3t$nh&TZ(^Hn5Pb!Ij$XXem5jSJ2y5%iDNvWXHK zv4J>sj^}5=iFbIj!>?@#lP`bnVic87R0}3*KE|_C!8EI6IJ2SLZa1{O%hHFIv9v_p z0B1;TwbU)Q8C*L==IJtLvLc$~Ce;&+9p;)SJP@Q22bQ}loqNu~{zSFjluPKfP zimxLs@uR6<&C3LgRNqdUpaW@bz@1roB8N&$2UZ8Uc9;=fdzl-xh39dR)Ez)%78*&j z$r#6@c6;LnQ$|yIb8vr`DS5<=7;W@Q9odpYO%j@r-Z}4Cg74R9UbDjH-_>$v84kMc zMLXX=l)k}SZmTgkt%9h1+jR*aznFzb{-E^R z)Sj2cs5r%iKiz+W^@S&G;AXii9S!_*?|8jH1{HqOJsUcj?c?W@#Q0_5H?%)~OyqFw zOIbP=yw4-tH~B-r1)f4LB9+qgNJobWh9z3sF#WEf2QM<3iUX{;Ve*#Z>I6dRFuP6( zU-d+T?FY@7Iy3hNx2VEUAM;D{X!ml;NJD*HMp|yIXI_8Ied7qCOl!D4r$6edMzx1} zBF>KLWH=H0LeJyd@mXy=A$$0ArRr9mU^1W~E}Ef}?`q)K@FndAz@32u%Q7;zN>RZB#(m2=mj%F4K%H;&mpM|RF_bJ;LBi~FE(03o1)j!Tj{1J@b z^1nD^JNsWOD$B^&`Wk0O_ga4%Z5E<}$cqboAKe6un z!_-QsHn#MO$ALe>JG9qzFe=`#RA#aQYLm$wm^9Hua-1f65!ZdSg2Ty?&`jD4_+|Pb zbVU5xjukpifWiXb@w#(Gpv!jQDPgu-2m-1ZSbx6q8+Fn z5lKVy=Ij+_EU`ym(%Cq=lqa4M6NviHszGSO!p;0mV0DK+{XBH!Hz@Md&ETY5>XT*Y zrfIplKNX@$g^YawtRrjZ=GVuTBz2tnS4wPr1w}3>Lj18Ai)(I_!P)fTcD>SN3~ zjaYw6mU5jTp-$;t?#{#H&WhmE;2yk>;D*b#DJiWsXoJ~1Lv{Hxzxy}?=Iu=ou)Oa; zxuPW_5@L<+z~Ti`^*7Ct|Btcs5Ay#H(e!UNC;DH|a{oID|1r|Q^!%gu7y4k?Hg4k{ z2&>JIb&RFzw>E#%v^J>zGSiRtvrKLV<_LfJ>4LTX(M$*Q64j5K{tBbcdQa12qzlnS zje{y3+5 znXqNc)B4R@Yr~ms9CMXeU_tg7IJr4AswOn~+|o2IpZ-XhffT7h7eZ|)1p@G2-l=~< z>JwN*-8#f?aNhAY^lQTNhCVR;Cy8|?Qs!=Y6{)rW6ZUgU95aNsL(16ZL;Hmud8kV^ zlDl)JZ?mMjOMQ+Du}0;7J%?DouV$m(Nv_xgZF%%zfqP5X< zruo%mWIr*Cc#b^{O8#+l{Od+7eGt3e<>YdYWk;;^_KH+b12;AFJ^*9ivc}Z_ zz(>(0V`J}VW@3%+hv)P5Lc)Jt{n8|c<*js_#CF9kdrk`;Z_~2BL7H!=S+Cs+csY2; z{O9rMAEEmfxb$}b{zvNFzm`byk%(5bS`xqo5-V zV|Ea09+?S}meJSsN~_?*&zjy;{FH%&%$peKe8e@Y!b7plS*1>;O3RXHrh}fT2MO1P|A8#hEO`M= ziDU`zS<(r5DT_}W-;h5^h9^gL2nxa3s2kBh02e&0(Vb&uO=11XbeusaX%4Y-d-zPwmrc_a5 z7k)7-Hq;b(n_2aHbpV(Fy!=XlCMYDXL*!9<3kGS4RM8mLNT$m0kz3HmoL+p3Reb(% z&Zk*&fiLW~L1&v%V*DNJ(cwf}7H(Me()jJNi$yhVRMN|LuGlY?uz5~kM7|FgwXs|S zHJi#2nV1p#$tr){I#MrDROHi?c6Tv?QvtC31xJobhwv6 zurcy6>o7&Q&J5MFwfOyNkIondJY?s3xkE_XRNO>Xn?@`gYMgew^L(ANeQ4@pXdnkR z=eLOyA1I7&ksaC+ux1`y$Z>|A6Bo?Hf`j@VY~bq#Sfqa(0YxqhC48K3`sSAZwB+lb z@cn;+a{uJV{@N77pIsEnQS<(x-H|B2E>y@rnKW`Ex5u9`f#yT`pQY_1<@1NMy_1ep z@k`Sdztgmm_h?$fp;!^+KK=N*U_0Lk@;Fp z@SR}}h`@hTDDw9k8{UvbF<_1Q&fAg#@LCtEr7JtUesW`T_eliDVJe1A_|w;1>!zq~ z@CYVUSorO7=F3yyJPa-vS0{wjrPg1syBX~=Ixq-SVyBzsEA`yZbf9|XRQW2JT5>0s z#BgsR9+pKnepYm8NfnCT#i61FPj3klBlxOAa*KcAAK#_OgdjFram0o9;Fpe*1F60O z-c*M7K6VgQmMzu!B`V)gdf0RzzIV#1-W40L7bgU1ovi;z3jXcRXTNSk_g{g7p?^m5 zkAmlloAjn%0X}AxDE>kB;y*uh;SiY5c>E^wW7BgXg_##DC!Al5{dEGEecpAp$4({A z&&7WhHTrFVsfu0G5`57kBO2xVV5W{Lp;el00_A^N7j6&8r86EoUa4G2-mBM=`lyBipq1QSIuhqG}n$w!;Ytd~@^^t$P zH2i|G);wX1KBg;$6JdSLZW?NJjNW?;mklJ;Wbn?&IQvo@9lAj-Ssa zB0Aga*2Rhmo7cS7D`j+Dk$D1kuzG)pvz|byGDL$!_s3ZcfdPIlPXQ#F5hl=fYSY7` z#Jo)WaqDlFRnkTJqJS>$9>W?*!&c*0tx};BWrxRv+nKE;QZN(z&Iz*F6clhPi@U2xD_)6f?;2VK$tefbm@%rT46hIup5yYbNUlp0Q-L&%*zq( ztrXJWg^Av>QJjw6$8xsa8e?_jr27x$QF zA&d$83>k?eoXD2!lu`IxNGD0)eCHavv80cY3g6~*Ukswt2B5k32c~ zi;ce{o_}m`{6#6nZ3*A5 z^tNtY(sgZ4UrZKXKvZbTgdzYO<#V4qCA6n6xCE(qcYNagCf}Dn7HNMCO}#J!_!fUl zGEPrp%o|S84DWqQEbCp|5gN>NjzXLW^<9*Vnye18!N`w}oUkg+3Qr&3Wad1UogM5C z1xxDi7M2|UEHnt+hflYthRbr`U4n`Ydr0hY=UuHVT>Ht#7stq_bYaganE*^}BL_k( z5QWZ=z-RyE(7k2~Q7eBWB2$UlC>mj7yhi71y+zygwCMcy#k__YKNaJb!F)OE%eTQd z-;-K+E145g#&B0rt&6aY=GEpkDk2!83Lmc=P&olcWFy@~7jF45r=hZfeDrp4?yygX zr+GVHw3u=+3}D36;>EoSRvl>4+X=6Txonryr=eZGLb49^*m!>eKHE6$kA+aXqG1Bc zdXNsvkJ1E3+Buo-Hj6Zra3l^?-*~yVo?XJ%UW`4lr^nbG*}|Jqc+fM-M*W6cBW#5Q z+ZnTP`#cQ07F?d6K)u!%1fWpH4@DP}{MGu%%#P+PQFn#@2zNT2RuAK{mGM?^32TM} zB?hhfsDocqE)0KwZyz7X#+@>`yp?WUj}Dv?$955WPeR%mCRfDGJ|CDpsJ)R6S%E7h zp9rJ~Ko95J9I#yBus&akgWHAv!8o4cq)tuWj8fnIfqIc!7=TYt^n2D{^4I?c$NXl~ zx6L(W?nu;*8m!!c^3HrP(8h7uI3k#%SBc6%_p?Yc%zb}N6@q5gi$?hMQy!!*^ z{M_2^|7Nu#Uw@#cGtJ4@qB4T=l8bS6R3?D)uK%K z7m9BAX%l~YI1LmblW=)sYX4N8UOPs^r>OTs*vGy$^riP3P9`{3sso8T)LkI7`-BGd(5*E^OT4nMP!25MGY#z;zgey1L&|(`_17QaOz3m?VGZ z0OX30c@_(?sikISsc945OnTmF64pjvMWT+vx(GoLBwxZEW|JAH1j!gEaoBoti*n)s zOm#O~O&R3a4Xw(kNKB)cSTDrr^C)qW-P*C>YjjR!%I6MB)sx=##BB|0(v)E6{g7@@ zt_<|b1^!I^h8F`!2OJYN;7<-eN1A^f6jqwMTkbu4Zr_i-DtS{nhiDvXk>YTOi>t%XfElVxZgYIW z{9euKRIZP)j%W3kxX;?+7F;%R;AU^)Km1ch~jFn zH6`!HctY*~213a?6SDNxlC1~04X3fNBhC<5BmuAL6li@66?+UKey(;hUjhO93Pm4r zrpXtdM-^q{wY`ePK-m1Xw~l%7VSDRf|1Aw6{*dj zWI*8ZB4zj;ll2yn%UGf`;;W;a*rOba7=r#G2dU*(-<4H%$gr;iX>5O5sLVJBOb8ky z-FA#fzG6F9@o%vfZxX@3X;dU<)3m(7YBTIj_2Vuyb1WW}|H<96YsD$`m#{T1Ql(Bf zDs(z(IfAFj_(h@;fqo#lJp-NDzY6RFVsE@pmbFXa7$OpNh@&LOJZz4rq=0Qbw3-*4 z6i}>Ln&Fa>>29$)z3_i-$}RA7gWa3`ybH10xAC~C;uBP?V3vu=r0WxarSM2-KJ~tS z*bo3;=JS`TAvKA-D$vxoE*Gqh0C=%VsNNKaTJ>!}@ z2}Q^-M%kJ@+vwHo7gPGs@wBiBU7fYHb6i6r)RB=EC)e)nFlmpBp>)M=Dhw<$h#W61 zFt8)eFf_q?RAhev&{;tT!fXx8JACu`2p)B!)=c!^OWZj@*7@B|wvw`VBnL&AyJ_9j1ec^Sv<0bp??0246E$!U#h{djG(?^B$Klf55|C0C28h zu72Xh7LtcQG0xyK+5Gf^sD`=ksU+I(n2kTL!VmHU1s8t})B$W9KVQ2PLE7V_WoKe# zktv|!*Sa&rs~oRQtvpDQYxKZP)4DC_E)6;4L6^W-gSTaZbUMMggAS~!Hmd#4tJeMl zv;F@wBcgvHf8?w%qknN0i&LO5G4sT+>{QmnT=^mIoOY;M4UapIjtR;~TYnoiuUv-H zN=J1ThiBPg>XfD$hHlO{m_2+T%^j9q%!0J`szdY;-3!nl?JKQVyU+V?PR6M%4!gM1 z@aCqr`jFGRTi-Js(G@LB_-zjh3Dkdfa@4Kipzx zY!u&L)iipSx(77N;0Pe^^rZ~go)oCVa)Q%N#k&={2h#I>)jgA8!fvgEI+`kxs*yGZ zUs)y@I+TrcHs5;JsunHeJIYK)g)s22l)JcKJLlNACqmYUR&+eu?>>9ju)4RE-Z?Xr zZ`*%ETT192U77QpQ3-mD+2>>q=Dr@E1A)Lbh`C45xR*XnDXDuD#8nwTH3_8%!Xt+~ zWtbY0#nDN?plJ$|W$68?n3q}@I;N~?rK?;?;cefp)r6xw9xE%f!x7gpo#rRWOswZ; z0lIP&g1il~8i~$np6F;IYTOo*dFCi-AJoOoD$S zNdhJd+Rthig$o23@vX5cidP=frKGvkaf$S{4e#DM*skGdH> zU&C#O%&9_JCc}m+_Pw_|5?UqqdXwU6mt@La?ij}!OJ9Xs=w#+Z&_N{mg_WqHvZr1R z7{+i*LS*lkkHvft6%cI#-8fmb&-*y8zG*OpUKj@ks_t;PE;aB!RGQ`e@PBuDMQMMh z&FJ9Aju|=H!wwYf41<`$2pgC34PVlC5GW>`y(t1JAK?2@o zNo??3Jaur7lX~M{^6PH&Mxp@OzqTjRGdbRV4dO$=i;_G2ROf@0`u-yCOzIQw9p64k zoE8PaWjD;ThWVirx3Z0-*5vx6UJpUZ8>G*nGnwrPB8L_A%=-P(M&n~)G(7~x%T0sb zF=LB`y4aF^XmF(*a`#vf4p@KUidoop9-2W+m(O^AxlPvevsBJ$I-0o%r(OEwugtm- z?+Txth1X3yB-M8_!6P|ADkxul#g;H&N!Lmg>mX$61LR!jbNqUFL4IO@jSiL)I#@JA zTnlBap*9xm5DskbOEZhN*Ogj0neSO^4S+gJ?s~b#EBH};lhYuJ~1So%h8fL~g$#O9RnW1+~=Njt*R7t@^QC5#0EL}B%afY?yy*k}^ z2yOA*@X^a-YLRTzCfq5{UDdYd2xfuoj zQ?51De~BLDrMJOz&M8Oyvcar!iY3Sv=UNKGc`Ku{wPhHGYV=*ja#!-@c!LYn=y{=& zu)xh8ohmkL2{?Ot2{-jPg7WrqxM-gcL5x?37n1PxNHlke{f&7|-~e($%K~Jm8!mk^ z&&>1PI&xIZ_e1~zPquml#3*6Pw zYKGH0fA{T&l&dwudpMn6SB;4S`2=%HuXCM~Tz*3W;+qq6((w|40MJfTdzz#bzl5z zw*0(ok?xR0M%m3AFYM6wb$Q%r#T-rZ@dNLh6&4P@L<%mf@J(q;&&i5#VO|>~Kg+!8 zJU>WU!mRvkMlc%sr2Qtd+p<)m540~+UY^d9ZKx>a{V^DiX27O86(u;n3mUS|u^mND zHx}(HkkO7C}&c@d|7P(Ds?54g!%(8W7xW3Zv#jla=8 zgq^frIUQiXc3%56HvU2NDMvGw^M9Fa&+$7FVK2S_g1--m=;xoDQ!>x&$cic?ip<1L zoHBn0vCDS2lLdWQ9xSW$hsO^Q%mw{@L!8%Vswy*-SWO07VO*qW-RN$@+u``9qq|oo z$$QbOWg*^4*Wusd6Yn;d!*bGQ&I7{sHNQ#QfgT^DM-}@tT#Va_uG<>UMMO?rhCg~k zNZ~C!-WglBbj!aGyopM#P|a2#|NP&r`k#*7rNrO_UXB#hU90^rRy$~+@N0C(Ca z;?8VtjD5K#3h&cBy}B_x7snQB?T_#8~pJd-i6WT2kn8^WEuNGnv_T z8iNPl9=aI4=OK@Sn1{_j;9J>G{Og{Jkc3Dd%(79PpC&O5>G(7PJl*{4HJZ0WGvyek zh(yH=ywh?pXwNN#KmZ zQND+MVIlevj1ux#GKp40Rqr9x$hZFODy<@LHe?NoZSks=58iSI=}~h z0P@5L%q((==_JFsG8X?qp}EEc;{kmP_OAGEHw9^AzOOslTE_rImZba8sgbkXidPDS0!n=LX1ohGtJ-!I*RRL+ zGyOd`kKQD%DLPoT3vqCvBf&>L6W@*H#YqjtKoy7t%{pRX$-KAZC7TY@4CQ&!> zQXe+uR;%|s#^Hpo(&FoWaRft>3gC39Gm1* zBM>+gnLtfm?h{%|{=k1Ma(*~q9vn740QAm3kG+2x-AR?-8UvJ-P$H*klYT23_EKoP z!iMv9;s~&K3XEYjq)Upt7|wjXp3e)R!aDOnJ-=UK=-wyMgO(-d-x;cF& z-AdpIkJXfFCO?Mh!u}>>mwr;ovtA#3sxM1?mtv!D46qQ=cB6w?kF6F1t z*Rt%z05>+x#YJzm%tE$)EuH6koZE%m5W+;|>hHwj56~w|WVI|uz;A8HKkgefs_HJt zQr?Bt`4(t#dZvHdqiQ8-XC`CJ{%B!~fATOI92dyD{Fgkk2;LE#9{l2r3s(NoqMuTOkIA0SXZ3a{%N z<6pAVh%bMAf-4rJp_hEjxoIvTL>_IrO4G#-xguNxV!;Pb3+g4Lp zcVMzP&R~Q&BAs!Su}Cl@=V&+oRb!sEcJ``=#jt-miS}p@0V%`K`M0apeVZNakObIa z#;=Q{tt#73^_YcA?CqLOn{T!xGBDb;^OFA=PwJ+=8bZNxs~GR@tO$Rw2}lbyIHFP zPK1B86Ch#ZELFifi6HVhK06T051CQ9QaxyyQ5T%d?Ptr$?Okhkt1}fhD z!d&j|Cl#H>nJhx=tho8EYl16)mV-{oQGK->&bgT(1bb+IyEnMsIdF?t5IjQd)&c{?kFo_lZirB=~O?PJyHM&q%i^>~;o$=?-Bi`lYV{XG-}fL5Vt$ z*lR>Tbi7fNJOHwpJt3zlIF3;sF04AEPaMWtuPwc>{RQ`IL~pO}^MYo`P_pa01Nu61 z6;-3Is>VC!1IA)sf<+J#!*rGhtlobQ7x;12&X}k$MjYs~V!dvPv|vu&skeN(5V}4( zwBzenR+slm`u%u!47KFs7JMtkd4gMIx-$tek+W<+6H-{g_SqtvUW4Q3oDx*Aj`0C| zxBe`Ld~RdxC+uC~?I)pL(Y6=R7l&|4RSOa+%L<1`{m<=~l1p+4K52MP5;T7vY=qhL zkR?D+%K6IlEKU3{@-}{d06|gFOegMzGKGNAILB+k;~X(o%w%Vh+@n(mce341NXeCJ zpPg47S>O@M=9#c-<|T%^AZKz?6yhkya}sDAzhA%OWmK}6RDtKEtd6tw8m4=&g4>67497NDmhW!KCa=Np?V7HF1)|u=l^5xz1AJal{LXv+0%2= zGdk6x70FXq^xl)AxuX%i6OCy0%MaH|TXyHJ$~@EO`+6yvk{~Gn1bze}0$>CI24l`# z|Lbnu`bvoZ_w-9@>z98`ig$&X;?yjQdnuAh8wBhSEBq(-$oZJwtJXCfQh*;q6MC(y z@VDhEKg%mYDXeLUX)l*~1~s4w(FH$KN;`9;+4M%PfWj-Y_HdDk<)B_VcRUWgx<10k zmmB;uWvyTJP?1I_~@P+!}X;>Ozp(s z&^{-8&6-}5PGcV+!?0o}+#CWjJ2u>5Z~C#s1Zi?LpJ5G(rk)Z9PP?7z+qhVdA|@N0 z=24f`Uyjy#cKfIW`cCGebk8Z`AqWf@OSWSSnC3s=`i2XSDo1GQl%ZfMI4+=Z)G46v zso!AsH3Nt)ykvh3MA?WDLqz`YReu*B=)-R|^~R~uDW20IfOLj0rg)FVDQcTxcR91q zula*T4F_uA6n!k?^CstxkzgAH)dR1g&IR@xF!fU>g35t^3wnaaEw=2ho`MU|COC21bH=+%F-#2(=MeBPE}%AluHF<4# z#wToQ7V>{F-Sn5p2b&@$>?&>xXTMnE?cQ0t8V(b+rc^jh0@R=Hc*d+E$4tP9q-=a% zUPCaG6{)TZ+>=)yAk_THCK+*BPlI_~DYIC1BLsEycC|HKzw{AbsHA$ijVgNLra~@S zRoWL7p`egApByDvdr~W>#R0kY)9c6E#W+o#B_w}$`x!xVmBv1JxyLRP-X5>shoz+z zdyx{z8|k>4y3-Aq_-tY78w2VZk-(ZmJgemdjEqK?;h8oii8Q6)u?be|<*NGnD;Qp@ zL;{ekpE|e=b3MQGj?;LItV)t=BF{Br+I}Zjm8t785GhfgY^an3tj1Iil#B(w53#!k zZ})!^fD6)lb5iYjSmEK$Q6}yTVJ|A=9GL1yDEA5Wh4Aks*EwEBR*e`s-M}I6 z$b7rfb9dT(SFhP3dXkMJoGx2}dn+Nn*3f^ska*#&XqKq0KmITU{5`VaKYtah_qSn< zKj_=QCuJM>7OHP?q(21V20sR;2GRE*$ZwI4{}UUwf1Je2^dIj5$%klsbo0-j!y?af z-=3ZL{H3>G=HFE5hv47uLA&3oeSiDy6~DLluT=Xb0Q!4fpX>jYN?^;b&z)8V~2rHz5OiX-u2**(c6E4UrN}|#D67uKgi?%{4AM&Bb7fk_vep-_NT|| zWZ(3!`u)b6pW-tAolbqtxj$<7=Z=G4`$xt+j{Ya`A8(KUh5Tvai;uPcXOz7$_E$^A zrzrFP!7QzJAkoT{C;5_Q2z0sUn=GM#kPU zl+4;HcTG&d2H_hAqwuR!mL7l32e8%ywx@j$Q8-x)$?i$|fk;0{yC>5l=PwC4tT~6U z*~(pdrlz0bO5XBrCuI^Rqw+9|i6X0GdAdTMi5)MRab<0OrH+oY2+U)eErjZF` zKtP1?)Ut!V6~JwM{8knD)+zAywD}gmz1xx>VfQ0PUHTjZ?6`jWAMSrX8t^@M^QRzR zmodI`?jy-*YzzvPJudIr0^)b$lBpChRSV|*21CC{A0 zIL?fYD8(9)uVbK+uO4gIQ+Nq9v<+DUb;nRNfLG1}@(b>bMwA+|#z{#)MlfX>b#H$Nq9y@ys&sNB4Rf#@UMMLFUyDrz_6t1KzShjsOAW?S^v1z6 zNE~Q634JPXPG%H%ofC4##v?877lF+uu%~`Ez~P^a?D$B|mEsiPzmWL9BRGCPQN}OC z3Gj8^jJH+&x1z=WpC81^?`On_-qG}P)RcMmQ#n7{=|7XlyG(!kBs;;cyvx7NtpfnS zm&75z%CZCe1Ng@&sot(H!uMO)^4pU0)!V!|W$iydwCXEq_$!C^x!i*1<99Ot{Iove zx}1NCx^t?$Gx}}DoUJgHW_tVsoc{6VS&znllwDSKCo6vb=5PMRUd?6u_-A(hOLML>|96_Ef3cG3gvmd@S`+^*GVgg~J`~$;bUtF@_J#fLufN$( zcJzJwDI?DG-va*VSAB(lB>aEDnqLgSKTr8Tmr2z8^xn+>JUjkx(|Irb5WxTY4&pCM z-;)b{4@Cb-9UtOO+& zckuSdsyg(qRQ0d4+^?12e^0&sWLC_N?KI)v_87kw`d^Ld+dTU?hHt6W+Gxzn?z7eN zCpCPY_g`r-9|?iCx5ppM_+R98`ZhMdf9r8h>_6rz@|mlDWctAPm&8@?{QMwlJ{rSs zZ1`02(PV#zf5|B1myG%(D1e{8%Dz>UY5M3suT9Hz_IY|VXYW3s>Zi6pep~wMf^T5@ zuiyVPwNcaj^J~fWi~ixi=^p+~gZumS{N`)#*#GAj;f;O|;_t%pX3S5N{vd z@?kxEn<0N9e!h|3bBW#%@I6UR=Nj?&t^|k2BmI9u@N3BqeLtR_Ncev2{Ej3)u=9Ho zd}rrpg1=(t&u=XLxWxZL2SL6~tp1D2UvHA~Ev7~HX#RdzzNYq_!1fE0>ll5~Hovj^ zes{S?+X=k(qOCR)<6|J$V6G8y}!I2Yp&M*#jd!9K3e<^4O6`Cen$CrPtR z=XCmhl)hKf-h=i0eJYRf&3ufy?=XqJqV?T6c?zz-Ph>v62aWI5r>|G;zfJ6eui`tA zc{dmTHmxse#CIU|Ci|wM|NC;`i!SoFNu7T$hc{2l_o4Pd4fxw+-pu{)Lga%3?Hl*z z{te!LF@F9sy`PG?ZT>{VdAAjRU&Hx#>U^X1X0m_!bG6^4V_aEt-pVv z{?9KC(ckL1-$?Wv^|}A4DAUIulmB1%@6iAG&*$l`T)O+Hgs~iHfGDwnXt+(?2G~*oRW+U}44SMkf3C4(9Y*r|WVHlh}@THn{@p7vU zbik2RsGK@rkc(9~1T9*jXBpB6#&pre0SZHW;UK*`#Nth0m**=N1p-Bov><;ZC zT))%vT8~`Y>xkM-{1dP9FT;c4{9FOihtaeN_E71q-*2; z0;ICRuPB?qEM0;e2ssx1$Abeqf(f*AGvYGfUa~D{HwDt#0QC+vFy^5NQ)lZE>(xP%cwq#wUvdbl zJT)RgD8Q)EKSmy>d>HZ#m65&sv4U}`>YV_}+EXj>xqo(;#4l~w*|UGIl)wX-6XRyV z;tfW%HV%YKAEzM8SwJparG_r1Sy|P zY*HC}a9^;Iiw~~y_lq6dpIHLubVBP4m~Yob;HRRT$$rplgG2CG14WCIiE-> zuc`B*rBV|f1>e`#t8CpT;hA1wrUI|8rJi9@xJng(PUw|v_pspZp3gKBf|U1HW_mUK z$~X6x6JaW4wDNzdq&SEin15AzfV8H~!?wg%#dr-szb}T1!^_X-@z}yE$lv)?qsw`| zS@>~(#YB3MS~+d-9-Ry?o;T-qaEp{M=3EnydJ2)!7oJPdgw1^hE5x`ZDVF5|=V4m$ zTp+^vQK_VV1=A0{u^$9h<^ETWvi#yt^Jjp5qs4q&F};7s#fKbG^W7kPC37F_iw(V} zab@pcf%pAr3nPXKO-^i%dpXO~9&fL79&Qw(<}BHF6uz3Q-%|oYv7VnBQqEF5(5ATs zFBmpPRzRLB!Sg~~t~2bI+$ELcFp+#au)CwVmkxqrjb$ftOFc!!=17?Db=*eS3%j9G zX-fzl-_w6xH`7q-Tc2Q%w7JwhtkL+3DcZ4)@hk2HD#wm_8WQiov63vG``6@@7^p4dkFau!z5L9WM4Kg0B_XoWp-9n zXode$)A4c14n5!QV_%>1P#`<1zztGyarTK*&)k2>udj!};q$Nllv?>VqP zRQ~**qjcZ%DBX7(_BRjl4;pdqmlImp@a)sX)sG2#dq%`Yeox*>eVo9zO?1KH{uCGe zyJQw7O4O=8@9;L~J{U%rJQ?(;X8d&n})_O2B8_GPtFd=49GY?T^ za?;ztToravL4N2m{#9W7AJ5M}m@OB0&xPn~eqwrVbCj>PB>8TXsK9RkM?kp0_$iU@ z$wEI~x4PhS%u*7E$_Rl0L?eW%)sE&HdIrLgYPB;P^FEnJ|}%p0XUBUwaFkPv1&=m$=8(naK^aDsJA#VTWu;jN-t%=-m4U17 z^?LF#Ys12=DAE2q$tS*T_-_b6W8(b$P&`$R6BG#|i#Z#r2z!DAl5Lg}c3Yy893o0e;%Q3B1$TlFE)AMa3&N7M z>xuDYiBul38bvv4<9oQmw6qWT5kln669qj*C@Ci?H7_8aV&@^Es^rP2!gOJ6hT9c? zRz_}-%JVf#L1S(*5*$e+x7x04DF|cA!{y|MQ~O(>_H138*5=A4BVE}vC2&%I8dsu@ z0Jy44s&VA@iIJ{!G#i;}R(p0;P^(8xviY%d!^6KR@Q;=c?)*reUI#` z|9yk$SAPUyNTK%5k&oh8HM(@_!V08+?Z8M{<+e^~@8ZCqOUhegmUsAA;)dSu&`oAV zvN$!M%Rpp!_Bf)MV~i13?6Fd}we*_jVJ&JPdjP8m$Sr}rh2QUr&!)?w+Gh7bHxMA82d{tclGB7|70%Dqf7XF%y zi$$W=1j|E}sqS@9%l4||@k_uM4&w011^V?F4YKmgyJF$JRczfT@1Ub_{hMc+eNg*6 z;cYf4r5FHQ_k5xUvTw?WnT(Q0a9#y{l$+mThGYZIj0}5$nc-1;)u!Iy+bzr4q^leH zLW-gnn61G+$jEIgPVWj@VX`fMw1mqF<}MmvnV`zFWS4*eOE({G@WXf z<|IQHXA|01&`TTU6qGrX!A)G>6yb)&S1y z?HT|0{PuqO@SIIwm7ULj*{AQkU7OP8;QL+F%ts3YM5l7%-B)_R(-EwygA12}k=VBh zxqXu7u;=OkPMa1@G8<(k1y!mH3nB8fa?N@UdYNB);c&gYk*Lrsdzfb`cWa8`Ej`_7 zI;f)#mBXwkcdJ>LJQpw9+@`*V!AiYt+VRSc<(Lj_4U2*~Qhj@WMh2e;V_xeymmCEF zJPuMa+d+X|H(dz2XAMQ(raLp)Em!>-puQIRtrJ!~+|O9V+N+XskLRfZs=ZXJ8PUw^ z-INF;F*U&DM5)hTsgx_`ol_^W*>);2+B?P2Ebd{?^a9z;v;j{yq2iS_ykOMXL+QqFa`;~LE*T~8kXcnVtfF_&E(iAm2G*%IY15T^ z3ulGm!IL%{Oe{3mi}k9HFPYBPd}iSGO4L>q0K@mf>>g!;E-|A!xo;3Bg^TS+ukS z3l7rn?IC=BuL=6)%-D~2Hhwbq-h4Q}=N`IEB|Cs#h0fyhnr%Um{S zowwn>z6ELFz0bz~T_x;QqgV=r#DuTaDBrYtHtmq3gR&JR@+l7?d{25fpn?g|YT3-G z9AW8M;cV_s^SL>)7Bwl+Zm@tjU>(XlFqleZ#Ti+D_;DDo<8iz20h3LnDeqV70LrT# zN>xDk7Q6I?BQK482|2zbnQRYz7hQyU77^qwpwYl=D2hb>Dm|ON6xWiS?3t`+aS{gCR@}C7J*I7YIB~c=tNP@=7jktkR%mQe4H8jIRvU~qJS?k> z8tP(yTO@bjt_x0N#JZ>I#`F?aE_En@_e%nR@hLu3aPXq&5&_nLsX~X`@es6#m!i-w z!mH%;&Sf=*Nya4(PceuFWG4IDO)lhtfTP$A?(tY5L{3CxU@si4#D=>bDLna zuVBxwX3T1jMP9eVFSgV8W-OIUFUMgew>M~i2RBQ=@0BY=zB4xZz~r=R!1<#&+xURe zO9tK&FYZj_M)9COXx zz=F`vdIXTvdUK`n(fdSWD*?OvN;;W2ZMYO^>1kzLuM_AxjJr(->{w26S!n`^g-N-$ z22s>3u88R?Uxpc)xgr^Mh*rb>zG)AG?Vrqm6f4UgsNp=lKGY6nY#CxKo0(#R;}}8{ zkJpF4qc?NEIpu2_P{|DDXkAnRen^dfy@}GC+IEC&j}d893MU2`f?Ii9tMEQd)}cIM z^u@C9WrS|U?X;-nVMqozGoVHs9K(}dz2EooLlePCg^NgdZRl-Ypebb=2}St0Gfd11 z!BbIf@TbA5KBbxXOT(c`iw}i14&G+;u)0FjGX)6?99czVV}=`DDU*Y=A(fbaSs1nM zuf>7QIP;w8Y{U!jJ|km?J&NniC}1opARzK^HJLJ=*8L+HFTCEEJUB{_U<)pzUlDZy zz~`NOI`lwGSsube;n>h1w`dgVsvA$3dF$$%g1d)R+&m1ggiFp`@75;twXtZq%R7-_ zSeJvbz;a*`^j@9g{!oA0mkGyi<&WCo<-tGP;r-QPD-oahaGd0$ zOCW>2r_}BjEIK@`dq1wCeOjls&?HzyTp2M^GWDQ!hq3ho!1PKfN0hdIfV7pkyC5D% zICtt1>qoMOLbpWzAbG70RVBg~19^V@Fpm}IWV!-})5@O+Js;MIKbs%$dUAJFW6G#| z-AetPrX&yGIO=9|Vx-DsWARMKmQ1~<0MHn)eVU&FYTCu66h|WT?p`;$cOpcdUM!H_ zSR`(sDKz4(Exg6x2(`L@8T9uKVr7oJ$2ceprD;A-qyJ^Qy-K;QedM$p-yfv{Kb!&9 z(+n5DX|u>M)WZ3CpK(%13^P7|cIPht6|(saD*tVKN)LoP3QP@S*_bsvAAFE__qW3J zM;iq9UD3p7lOj2Q_6pe)7=AWolS^F7&7Ul3Q7i+H{d0gt`Bcb%9g;moi>8xwTbO~I z?B#9Qt9HCZ%G0mVTWrVozPL)TKyAqigc%7XFjtxi|1cA;02}?zFp@()=$Ot)>t;S_ zrUEvaby2E;D3MfTbuCi4;zh-BgX}G1$KEwBk|MSGhNx&2#nL8ZQUHnAZ9jtL8qx_c zfnKZyqzPBsb5(nPUg)15FAT03RcxLFK_YwHTq!KV@sjyi`%Pyo#?+s(VI)FBOxa=k z(G^f&gqT@o(x>5yU!dzo1{W%%0zxiS^v8kg{V?W_-x7U`qx@$A=#%P<=PvO6+fQ4f z3Q(z`JQKHqmnK_&fp1=0>GPJT24MJ!7&4$TI+oZKdfse*clS1@nGJB4W5G4LZ6OTSC0lM&9A`r53STpBxMllGW@ai{Sfg$C+_m zXF`hV7T=Oo0yDkR`Cx2NTH%uXhwhoZkNAHZDWU+5nL*jeMqx1H?4?YV zchj=_YP+Im(%enRT@s>ggHH5BTq&?F(alnkvSgTlQDzUbnb^hUAo?BvRh-vMQK^bq zvvmcCDw3Nf$O@{U>%Lk>wKX{B$}s!6Ltd~tKVB5#?&U(AR(QLU>cz;9_KB!_reo|{ zz0L3JLXq23yhcBC{NE2!|7e%iztT7U^fCM69)0c75>mv#j(IP4Q19d--LNHq^8KAl zIQtQQ2pHrpz>6`dLtqhw2(X0F&v|$jY1R+C3)_bi0KI7tiBC_U1oFXMsR!N%|O3?BJ{IrTMJ#P`i&wP8;$C2%KitJpO_Q^n-X#fnbKYvlV@j^KNvd z4G>~U@a92ReL+ID0#l7AdPA*4zFZ~G#H&lO7`?O;;nf$M%;oHubgkEeo>_F*(AR_& zCL`Mr%Gpc@$rkDk;I*+@QRp5R^^#M698y$EitTDdRRn0-CwC#9y*A5%RPGLSDuS)6-HRi)$DJW=PN^&DoU(Hj-9UlB#-c)tDQT4KCQ6{(=f>{Q7;$QU0A%+PwCJ`m zo(-RBYOZBBBOuwZr{@bb_O8d><424NG5xe(6qGpqoY>=GqN=jufD;}xpPEV)Rl|_%XYlDb1Zz60RK-MvZAZ-Z&-^US~1g|n+-F(sIohXoRsuK|AKYUKaUqQ5nL2ipi&aW8P_K+4lxu zfB|v>>>i0PF7RA{X>ljj{dT+$C?xPm<0A4^gK=Z9ukwlkY23!wi3U76F;`7Hj%qyI z3VS`=T@-iadP)n{!0$Lj==f2f><{#i5A*SZ^wZ1@8E`X#3t1*-n@7z0the%UvLXA3Sq)?y2EC#_qXhnef;E&p@=XhwF3rkUu@GSD@zmOGeU+SV zgs~~Li3*{Dgm&0T?-(KTSx>5TDt(ls3yQ3GT&k7|X!?P*a#60Vy!&jBuHj!C-_a=E11q{QQMa4c-g7lEJgBFk~(GCh`vt+kY@ zqTEk29^ z1LR%K^Lbc^O~u4>Wu?StaKX7T*e$mnr;EzApu^v0o>0O~V>FIumd6ct0zMaor|Tw* zR=kQmoI6zM8s-U0%N8MBPcJ?&CG4mVn#$1Q{cI$EZKET{FQ!Gv;jneojW&T$zmOu8 zI7SV-Y3yvEf}K`1D@>|~g+YsJjmYg=hhMf-!Bp1@*y2dh8qy#qiZ_uwVNOFM0GMW` z+4(u{j+7Nx!nDjnoc+23Y{-pR%`eEQam^ajbO>;Bl$9gOkQUdDV6)0ty2KKK7TsVi zli`GaBW<+ywx+T>hieRhB3&*=g^8x`dP*ee>OU_4ge@IpN{w1QMO#{Cnn@m~h;kMO zxqv1tc!Gr|3y>AW#J@+v% z;^_wJ5>eGHjs|p)6sUAC_Z2?e>u`+F#c{>|`TKm+s5osb5ClN0$gNoPsS@r`{@X++I;#K32=+#Xvu zVDKDZAytnx;js!nW1-7DXOV;}Kf)(}ov|P8{kfviF*}zWF&`S4tAN2fByeHd?EY|H zEScS4x!QI2nNj8i5%2<~nettZ!(vmr=kuZqnMVnv6=q%wrd?+HnY8#~H#E}& zUw4=|>T*g=v|g0pLJbL8tb8ed;OYjBEQB!Jn^UvSM(ti#^#zv<$KZh2T`v})()WeL z>*=~NJ9j1eQGE`S`8YLL)QZKpePLJUM7a;@&ximKX9{x6biEA^FbgLnGr-&6#zZs7 zqdaLXs-6czKqRpOzO+|zxn%VX>l>v;y3w>73_&s7c%~1zyS&)7MHJ(I@NkUT{nu06 zA0=^gf_+KCgRr;z#mw+di>nUCw3>NK=-tx(A?S*$&Q;#JKhBSNN-y#~c*PIjxm@%1 z_4x!&@!`bI=lAVbr*n!gr+PkJA5Zicz4FXN<((NH{hZ7&(h}9V*W6zVSSek3BmGLc zvWoxa52NGy^HDkvisR~klvGLtRx0truR10c^93N()o2DAy01!DOGE}X+nooi-bh1W z0Yh=@MCtGx z?0REpi6#TZdW425E)tClbYs`E@Qk%V(!t1STe5w?$!qo|LbJ1fCkoL<(Mej>#CPH3 zoM(Hy@Gyl$=Bf(I_IxeV49X&;jqm!>L}}7ZJ<}0aT9!#Ky9w+(kXk9d+*3~FBVfP! z#4xVYv(jmqsOMp)$sUpCYl?Kp_4YQnnoQ29KSqn8fg}?z!g zejw%`HC(A{%1@|&hMz+t_4mD8>pnX{-(F-QD%Z9*Ri+n_^^x`Rbu4Pu9_{6Rp)9Dp z386q#i*juAOtsx@%QeYdDc#<>#5rvPj%+rvSIkUecIYkdh$6z#(KSR?=m~G9 z;n8cwV}oSa@g?^DfK?=nZ)PDZQi4)mR0rboSw7~(SZ|zvd|`z?a|P=;E3Aq7cq-pn z&G&P5Q1l_G)|wMxAmHu-i)Z@=*+nQ__tcS_a19ZP)?e2sBNnv;7*Tm3b@|vkJIRf> zh{_9NF-h$>H|=&vg9r<1UZ^mo=9eci2<kpleGB#IwnuY?QwXf^`daNwra0t9Fx1fuE*|X`bF}I$pBMXPOmR0O3b7s2&j&G&_c=vD+RI4 z0Ls#TX4=*JLqL+UCes-TvdU7N?$AK=ii#B@7ecXY8wNNMGm=Inf z(wh&-E_K>=sd7XmGqX^4DJQ4EuNTtC*xU7gUR*WJ-m`lP0+ug6z;5%cXlN(Kq%d3U z>Xrq>Eq}h;4yfh_n}H5Q3;rp^@+xc^z6OO}Qm}@>GHYNUfX=04HE(Qc7jUDm>R|o)d@(o4xvu$y1uzDLcIvfp=&^FigN-k? zP3mFhIne4^NX+hC4qLve_*Zseee!vDrH|?vXAAe?dQ@@78wtD?X%ai!4ZA~s8u-A7 zXP}M?bS1mv9&l6Yovpld`aZnym-*_2enE15wnzTQ`gp#?BKtwxITW8#j(he&;ZI?( z71X==$sKN;(xi;(f?j{vieop|a?{mOG5wg{d^_-`paFk=d3a$m?`=`jx5UlsDROjt zjBc}QYVDnsXOaZp@5e^I+>fn)77lKatmt)v4bOh!rRHtTbxD*nE_FrvbtCt2q0kj! z7h9rN%gU=>vAyFuV9}wZb2<|k4U=}14;N#2_y$u6_YG4M z)njNX!Jh^lQb>y+0Vh6ms<vY3Y&lc;O2uCOL%gCSiz=^i9TJ%k z_0bF{lxpaS6JOPlk9A~M6BWiSP52W(kz3Z`x$F-LG1*OLa@5K>&T`6OKNnGQyiA$k zjNXlL8T|rPEIZShNvz6$sj)1T`g*0D4L_EA;~f;tD1UQa9JneoV z35SRfL3hmURZfy??oN8iOF$?5&IH+i=JWz~9YBDN&5Hv~ zFl@!3T2?B2eKP!&UBRhRH+u zI;S|R%%*OYPAfhUNQB}br5RkS4xDIA^zgcmBN)+6e@dyEjm_`GL!y$O#F z^R%N=ilf1|!E79uC3?Y~gJ{X93#J7`P9$?&aanaOKxXxS-SJ?WS?xfxAygbhSkp6< zmZfsU!X*0`ICFDan^J4#CCPfh37O2Y-3wN(m*)yIi)tJsClG`9Uo#uNtL^(2*Ma%- zY@m1#+T=S_$R13|=WG6}=l9RvKZh;;z3lVn7XuPs?}s1s&+7sGI-a0KHV@ZIh=g30~20Z zpHf)@rB1?w3aAg5U}8kg>+1r+OPeTo{W^`BC7~#p9nptJpj)q2kAQW zcFT*|EqXR~e_ttJTxo?{ACvH0=6NfUDZ2g0yFz|58-C~+r+-^F5@7xYAMCAzc}#%0 z8~o+@ytud5nDBZl`%u2=$9`ddp&J!){E`8G%7J{>3X>T)-jB+$@YlMLi)(MOBVeVp zUF|7?PfAtkg0u2qBU1ol5n8+n=6VWiKbI>Sp#_wrNLkv+OCJeOO48wrY(zm|hXv8? z*}m-lf;AYnoyw7&FPE$d{Hu@)dV-%y|GJj7p>{`MM$Yn($x?Wg2pn@c&?35GP%1Hh zd33eML^ug8uGOnix~7AxRc8Cwth;bm8lHA3BLWKRm5He}Lrq$Xd8#EjW}#l3xCafR(S*3SSt2@SBULdsQf z6SxD246K@zXmZbEHl$3KrDSOyq=F%JX&{N(4mQ@#<)K)_h*}ELe(u4++7%5Ij8!%! z72Xhv%UkHFDn_8ut6iG|xi%{01)_CGlN^jPy@j^bC9=(M!9m$t0I3Y5KCQy$@@Gyr z2Dz>hwXJqc)=0(6Aw$dI07>G1#OjH@0modKOrW5wwoa$zJUWwVzj!-;497i(1{QtV z=Zvuo2cP-INB!RO|(C=;#hL#!8*9WplqM=SVJ6g}U*$Xg~H)=^OZe{`Zo%|E@;9 zLS-9#ZHu08q+Z#`waJRCV?6Us$-P4o`g2IW28KEz$-F_5KOxEg4kW1sBX;rbi3Xtc zv_grKg?OP9pm`mXAxT?LP9hs#<#Bc=TNx}=KCK5#Me=%?5No7YN+bvFgkrlk`Ev^1 z&cl%6$dc=x3j!N$T`t9cSz$4G4osWSt11=(WJ_Nx(wHQ~Ml}}A%M`!&LXJGAYGOXE5<~8Z%NRjbt0l&VaT zOW&XDlT5nYV5RM1OA=!%WeEzq?Lv*PQ+o-@>rN;nLO!#`qGZi~CUN`+>IHAm{NF)6 zF21P8wDUnd=7TpC`I8F#;gbDRMfTs-VR-0Y*?Sx0&yckCcL}NRw_>~#?{}EuUkB-6 zPxP3%+VdN4x*SE?WgJ+ftlDlA{R=5Mn300h(dfOpa2BDm&icxqq-^)5d}G|XL$l70eWZo z2fE?8mkoF14f$zTna?OQ#l37V*6gg5c z%Ju?Xu|rTNkc~O(_rI5^r*C*$1w?;F%512IG^V|ePqV<6(SG&G%03P*F$f~5>~u|q7}v&(d&HK6MKo%S?LVDOMI{-Gm~suKh>zV9v8^E z=ag+vLw-SP6KSmKb$&%8^QXl*qAFGkP(q}Cr@cl}w%vYZR^@3RGfB6^=(RCP(IvO} za@jV;0#LKT33Hl AS*?&{48?4R{!-ksV>l(M^=CYP07$34b{CB@l-*P5Bss4GQW zQL6F$ghY5+-L80!R8@Bsuqfi!AlFlr+KMV!>D)-K{~vGXvE(qbWakIM0-gYt@ZNiW z?m&3&?b8ohBWZ3Z6fv8*|Ehyc5+t)SPkyIRC_r}V1hi7=NQW*anr3eS;^HM7d?w++ zszpSi$`bkNu-5OulT1Gx$-oB~@KuW@@urdPg4J{4AIJk+aaJZPM@IaDu*K zwcK@FR`KF*C1=;;a48;?bg+EB#j51Yn}bK48=TEx%~*EN(bt_MN3?t{Q}iL0e)p5U zP}6Jlj$yP>FtZTiOTB?X6pSTd^^HACX)d(xF>>oQODx+qes`PU?P{&Zsqj93Cw=HgoWf&Nrb!)iR}lAqLH7;GxaxE|We4FfTi&+j*xSM*&ZYEM6JSL5CeCsrSnipI~c@nt}K!`QjN zgvKOsvN3Rj$oMF(*zOLe<*h9=KR&-g>k5{;n40~nx=yW(?c8YIO>z8^E=q^1)q%n; zH9J9*JncS^PdwFlm9O`I+~MQjHv9pT8;JMuu9Dp%gK7}^H;ibLLz{$&p!(Y!j|hBq z{dc15f6Da#@R^VQMy${5U&MNs1&{ZugDf=nT7`x8P+zuRaAF)IQyFH}R);BSIW$JO zUOD(GW-aWhco*1OiB-B(wfTPubvf3|7>7Zp{+jc~BwdMCRL6~fme`&z`xM#nwOUZ1 zOsP(XOD>~ksepzSKUB|7%AAaxu>6P>%lZ{o*DS|LoJW zH)fzSn?}eX>L$<-Ny&pnA~j{PHA;1*xh)vPw;5twVN@_qrTuGQ0emG> zmo0z>fY^v*8d{0}wyXXCYF-lbId$1hM>8Yo{dB5Le0!CDl6F7WwVANEWe=AHyxnco zO*iFfQnqHK>hgC))Df(7E?5?~1}M1`kx}dm^~*0xSyIVbf37njPkFk*iZ2Jy(jMP`tPY@?<_MWDiiRs$V(OAWv9mHBw@fo*S3eUODfzb(!wmOj=D1FtCng+cX1C%i_t;#B%tG^Am%}*-3Eb#=>fv9thnB^fgdOv%e}cc>T&=n- zqf$eEfoZJ-Qx@VJUo^dZIT-n#4Zaai5u6ZNixT6A;@?0Qqe_jqWO~h5jW%miwWyuB zV>YkW`5jZ#X@CmHIq;NlRw``Cpef$}w~O5W@M6yYM&u~vzeLUlWFAh_ivU1_Fd^pj z2L$tTM>R7-OS;1a0wkxR~10fqjwHZaDk8H?T{ogOP5y5F`X~jih}7<+k;1u0R=Y;_o4>o{UGSlRzmAt{QhxWL@X_`zHbbw;>Xq zVXd<{IVwanL(k~BQU+VUQ=FrJIFUJ>>e*WrD^&1<5i=#j)yRK1jy8cWlU1LRPi!=x zsv02_7u^bQN2TgOUevX%E?dj3vQMZm(_u={B2W>&8dtvOQS_oTn$Fv5dC&88h75MsF~sIMxA<7t4)0Kx3Y{GtIWn=q7evazEj025#a# z1U565kbijSgXPP3b9!>+!;wicbMT<3#KTkmK9s&SKKC2-1W9v=^=x(&=fkp@-8H`+ z9(rK$BfH%!X~P%9s~zosIA{_;n~~b?vAa}3Mw7e(Zii)~-iy5b>*Adr9ktgdX!mO$KmO+l&YL>><`fzlgMiI2H5( z9cyGwzX*_t%+Z6tcVHIwu;APRoGD%+8jsY{OPH31g4cM!`95iX80U?`h{swNe2XO8 zT1l1X#aaYSUL%cMp%&E=X{SGvO@vRugv~(EzbU7>0b^m<9x1E;A&LHPJ%8}8qW{nG zEm{4G^uwbMxBdl!!||#fmMU|EI;E(sHe-nJHj`f>x!O~Q)=Q4C>Q|leUDm(C((^l+ z_94dWyMIL5cfJjO&(Y@?^rUN5ZY`^Hv)LQn*W;+w_Yb}K&FF~_fNLnxHujsYh?kQD z1p*&j0`lC2n@;+`H<-VEgWFldHSJqM)39C)DUc)8{Iu~gXZi5E=AhFqmsCjanm$HO z{kZcbObKU1{^i+ge!qo(w;HKN%?d;iK`Hs<0_ie` z2ME8iEh6#E`ICjrBXuwlnYK*wZbQ}0WC&a32cI%laU&T0o{-c`{;nB{Q61oT@JF-6 z+m^23>iu(T4wj7`LE0Rt=Bw$=s*C1KuQ^5RZ+ayrUGRnU^&YF7d#$cu>t~8kh}};U zZ~ch+qkl_(KAVSx2&fv8T;l>MTwha1D@TxEBNviG_Y*9FvyuRuY&FEW{L{l^o3Evq z`c49%CSAOyu#53M-z{nuWA^)``S*5J7A|eNwAv%ujAn|GZ9s66?Yr1DUAF}1GXxlN zUnRTV>$nk$v`U(dfovTtc2g)n z7)MH^E!m!pvg>#n9+?(JrVZ9W0_q)EQ>gx6LEB;l+I~Nu#FCZ0o!I32T0gyQ2CNUN zD0D1Qba8p6@bkUSh@9K%dM}$+TJ7Y>{@xs?D5Chg2(SYH#+7uO=ZcbeT>%BNj{aeQ zBAai28lyuRufG`x09APRTvBI%`2|Ii7t4tG;M`KtHKv@Xv6@bU2M&wTBpm{qf!H7Q zRFzlme~6TFD8K0ftBuWn%Dr@oSzuEXVm2*{E3>OuPIMx3$FKUUfG_tB`bB|6$s;iQ zybWy8Sa{9@zq=Og*v`_&PR0aOHn}~GYmE7S z^*?PefA}IUz{7m>y*!&$w1wadukZEp;e!0Kjq_}6E?3&#P*giIIsf=?H!>2%w`T>F zYINTK)it!F(dWVraGo9>XaA18K-Nd`JqawEtzVSi7N!U8$V1#n_itSmd9=(fKtm)u zNet&%Q{-gSD5~*3T8lCBURS*gk6|Bwzk?cC)5(aaF#tNmL&J zbR?u~(ldP9wfVJn{6+{8Ni_PA(LKLUtdm1(xtdjn40%QnTTSqr-}Z3Z-$ey~OYjO^ zL~pMOeTWNxu49OLDn-cNfzcnKO_}+@ahxcQJkK9Uj3-!J;0z0#OdvW9UG^FrNU)3W zUSB|oJh{|5<&wqh*52up4#I=VX^c^BkX&i$_5a$v7FdmOC!JH?b2K2jTS)pMfrhhd zb{Vx+M_LR9RNjJr`0iqyJ2Z{HS^32VnQ6WBji=_AE_zK(HU-)Q{d)T2 z{GHj5apB@oGsYgVeKYKR?FT%76t%t>FDXwZ&<##bpXQ;lA)T~c-kqP)XuJ{I)wNT$mmBRrBdQ=tT3Ui z@8#}_(GGYwmH*By?AfJ%RlZi8u6=x~nBEmursiU6?OKcd0cc?j_i=mpV1Mb}#!T+O6GtGR zA_AX+Zb8#)af^efCH<8c$mg|HT71#^yoY48#v6PJWc|0t(>+puyMo$>W;JNeIGC7& zX^B?&0)DKL^>4uMn%!FM)wQOA1A7XWSA?qYC8bZ3q+^zJ&}X$z1*2SJMI8VaK;OAw@xID>6m}#l^~0XqH>n5-^BmVXLXA)Y$sG3C>f1 zzu)k<$hO0O)hp5P@S9{wEd%^bMO*O-k7KTH#2$@2ug(4-*}XQ|Vd#V|rtVBSGyIJ~ zVDdkO7|d6ky0@_k>eO(%+1`2m+$ke5xzqfJ1AOqMf{8wVA)>@(9AQ7D5@dGZrs^EXZ6!FTv5d|bnBAK_%^s-R8*I}oQ6p*67QA-(Hw_(deM zNbFfWmyf{4PPOwmkMfiNhw<)_=-lnWvlCdr#$oY9T9<13%rP--eGlGm<6KS{+xfsf zWUio2y|o~J;>7R^F*-KCZ?19SL|aO{{&eHiXb$(xEJHN%l^*H7L817y0rI;NwPdiB zq#k^SHKAL2t8;0iQXQrcY0G04R;-ilSLX&Hy3?3&`-aMgmSAhB)#M&((GmO(#usY9 zNGrjCATam<@MrA0g`mYLX>i41^^4Y^PmqYAq0ydyj(kHbOCjj}&cj>3zf3z8EwU5t z3)gy09Xkcy?hj<%czZO9wQ+@fW%2yv?axsh?gr>iZpJ1-cryANLEZ8GmQ|zqWQ=2G zF;=8;48_?6wOneGPLxql|8{eUvR>x1yn+f-6$fIaAM(EF`46!SGG`XdNx!>3|( z(qk-tZ=_GLXAN;Maa4+5s>0~;Zp)*k_z2qfKiy_35m(Qoq8sy>XKBt)Bi7HV2P>V9 zIDMdb-cBsyb9gaI9oSgETn2+s@M`)a#;%N-5^?OmV15UUDtOf3d7~a+jmze?{I-J5 zq`}-Ji}-rq1L_@Y@au5a3hBYgT=bl=jf$*)L(y$GfdQC;9ge<+HhqPkJVV6`G@n~G zs|bcvvcxu+r)17eNbJORP$ipi zVgrX0+<8(De4XrQU-ry`3a_ZSPQou!Nl}gy5v!?j7)0Y;x>gIh?Ha+ws~4EiSZ~gM zRBJFNgN1YH?Nm?x6Jk^!CXd523%i;4_JEVgdS~lKgIiKazf&f@;+r8x_Sk(-ul;TmN`c`_FiJingS^W}?UxIBP+G#d znV<-b>JZ1Kr?GiOffHK#6cY{0@USJ;4~ey?fQv+tfuOs9Y)C?}L%NQsBIyx-3#RJ& z&jMLIhg9M>eyP{hq$Mf*i?U^8m)Ty3VaIgV3l)0adKD%ba`JiLen70I?mIXG^7dHz zS$e@7t-|B@D#s7WhjpCUvoB{tRpDIRwqd`Gd3BF~rZ-VGXr3B{Pu0Z!Ye4x#{2bwh zXbI|5AA#=a4IvvJHoW<3>dp3ls}}JZ-y=tXa4K{p#!_in?xzbj7s#&oV|f^S%Cs=$ z1m%q%p&=T|VzWL%yhHdLPyA@}wv=~-=wVCh_!^~&!8w}UcUh7dWQP9H&GtwRvE!2&)Mw8oHMhCP&wRVVqTWcNy&)=19 z4V(VN9QN0KrS;hS+q>=sB4kJ=*mI0{byc0nZ8Dk z$X&O3^Qg+p9ujOJ&Q3NtiR9#NgLKD8u4(?f8W_WKN@Q6=B^Qf^AI#?f6tKbK%Ns%E zaSQVAouK(Y)c%jo&M;Gd^b#xYMMNI3{!3_3&Gw^D!mJ?&I@CV zQPzPHe3K+8p^)js*x;?jy=y!3)V1ZC$xvOEnY)Lc6_;Lru^xQh>VnainTsL^D0Dhb zK>xjxPY_aMTEiCO7oYKME748a!XnuMfj&&T29AN}CN^g>1JjFtBFYt~bVhjzaykpp z+)w{(VYVX^SpO`KvAcCIn*4wy6D5ZEh5F!~Sr+ zFgziKf=y9q5ff5>4QFVrj&OzwG9hJo#?qPBL6p`eTb&`~Kci7(h)cPh{@Lt46AC@q z4Eu3qx;_P6vASo)VpxX>m$vDg@#yfh>iY^u**27nR)620-7}$MdC_mCr%?`*TI*gw_pxaDk)PO7iteX;?g*!y9wR{oDgZ9K-7LJljmf#~<~olp z1-@O>BMJfp=vG1LfBQn0aG$>5f?nzvXA7m5Ymq%^-K}$CuMnG3oyJOsYjLI+J1n9q z#Jx}F)&pG!x6HfA-QZ4lidJ9Ic5LkMM^^o=l!A|`pvTrya67V=%zzYT*;q(U@Whsl z6PGg+Es$uvw1Ki>nY?zwAfb5>?q5U>vy=O^+}CRdiRN#2f4^xi!S~w3y{*+B?~Y*8 zm|qRlwnxEPlEs{@%b|%KqY~U1ms6~!FK|KV-WNZSp*nH#C_;umpp~+F;~c7@0<|zr zPKpQ$H<(0=-}W|W=8xF40&ymJr=m&nE$Znndi+GFgL{Wsu)VPn&q*K8W+^uFHyP!6 zF4Nt$W6%dfe>cp=k{cYiqEX{9xj>g>4bUWYi-IZ&#Ki1RIqjB~@TO8Ua?YO)mzK~C zA!7*S?RQ&PYmg~V?dhEc6$BtXICMHpV%c)E{jI#*xcqbt{)J2vCehb4r7!u@mAu=Z zY+GSehQr&|Tmj3TAIMFswJM6TC(NX7YKDvs^kutKf7#2=p_o#UdHg5pE-P*6n7Dq< zFHG}VYFp*=MIgAt^WvmXkIbIdu!s!&k}RPV?~CcHlrg$@16L8eZ`%q8v#X%lMxduU zXHIK!L%7)|Edt4<-dgiony0nB0yEg{@U|=LrtG_z+4(sOY_3F9#*512EY2U#DX$wq z4WTV5fADei)Hmf-@pgL&-fI8W^efteC+}q6TS73YyP?6F*E8r2x6?h(0jT*gA;nR> z4l_6KbKTUF$(z3*+WE=aY7xl9%OcV6>xUW2Qg|%422k~4cd2h$t#2$pQ;kd}=~TV| z#a(2pCFkQSb&2a9f7%Mu>)NM&lEeCZf3p~>e|(IJg_eK{aXE7K)eV#T3@CCLzP|G& zo{UsG&B48!B)K~`oeoED8Vs8tjH1>M&GU&1c`1kJ>~pzLt9I3@SCfs=L!y z>=~MK?Ev1vRUC`X&WK~!vi4K%m`1dXSz2f~W{xA%qAe=<+9PWiNedieg|@H8Y~){BHf z&_rutt+}s(SB5}W!FFHgm2zg+Yo^Ube_04{;cgLd&x?@HXFs9xDiFadU_IqpKMa!T zyVC0Rw{HKnse)2{nbt#Hh(3e*hjkabPEE{~EO2W~0YF?754)2wA}!yetRsnWv|~yGILtNCX;@O=>Ebn=!}U?VefDMXZQD#{ zXWBeO^UD7s!aXu9L+?v?px=zQGEhz65ce`%aBxKp=)^@#>2QA0r&nIO%z50?aRmJ6 zpWQaNt9y=$&dP*>%Y98Y5>B~bf8O`SvT4kA(G}@ZgIwbKHpQpVGMh}-TwCjKCyd2_ zN0{)HKmnc*Mo@q$#*zcPHq&h3ADCVJM;B1A^7b!ttbiUEegLjG1)Sz<#)zMgT=dE@ zhcFLe(n5M%{aq|G`@y=_U}7lASrUJ<3~nmSvwCk(Sx?ydCW^1lO$5pse}+2U%($2K z4deL?v(Tu}QSJn`YxAG(CsFauixi?rRM(q>_-=%*EypoXsBYycfujeCO4e=_sZ;H* z+j>zVXNQcnr<^s>whsf(D*;LUjp?XLVKWW<&J=oviRGXWZx~Wmc`mZ{J07CNlriQs}t{6##^SFoyDC$n*@vpvpf zK@LwO+&`Yy6H^Eel*_#c!>B|CEcpSZWVYi89oQ_WjV+S#p>g0@f3qme>LnYsB1}$G zbj>u00k0TE<ne4}lQi6@(9W9j zu`I#kMToucJPRfGf02JT%UCv&pK*&0nJ%MjSnb|wR=>}#+aAw^g_()d0(_g#_h;~0 zlO>*Q0^4w9$)~3rFk%w|qepEpF~li+<6f2K-j8@LihCq%8l+V=vg6(T4%M-YOWsYT z;#Z+1h2cIs3f1tE8mc*I&cd63>Y}PvCe6^TSMhr-4 z?Qzk+9(6+CUVNDc^&gEU&TI*{R|-k1re9VmDis3CO#7)1ocIlwD4~d71skh0mok*z zZ#wX#Q@ifGf2P;LfHMhEylw8f^rLJzRd)@I0k%^AL05=@e&A1AMPvgzOyoLJyYfpo zC`Wm@0nPbH9ny-Cz!GOg`!pRbyI+n1L36@hsdMKcJyS71wTi4?>d9X>51K-XL;*Kh z5jUUtlg}|l-4fP8{OPFWm&criH?DgA`1QOT&)MfZ?e?eG-_kyKmVk=7oBI zG!|txBO{tAYPP#m&-0?&4TX7y`DZ%UuSpZQTW)aX@6h^@a2&DP68RcE!mHZ#Gc6y? zF#RL^eHT z+jhyzQuZbfC$@3{C^V5#1<-c;TH0fCNCpem_S%F_Ny(|Ov=hmnu?>tS4m-jN&2h=kPk)S3LR0wR5ESLge`He53?_UHdG{>jcEnNeH7WL3(wm>8ypU&ymO&XWCn~DFJd|Tpba9$Ww#SD+2gay&~5qom9 zTj}(69Q@LlmyjsBAD`KIILYpYJsSIjIakrn6x{VQN`{kY)}^1bcCsH*nSaIHZ5T z&L?}g+k5bj2l*RG`9a^J{sxD@^^M|gy_3mxRqw{kbqAtTJ%CFHcPL@%5iTPdV5*XD zMUA@R^=FYouq-haa3Z0!9c@6Gjjoh7+jWv~X|065+L?}5 z<4H4xkJ|u|yD%Uws`IhK1bxGv}&i&v7ptPXFZG4=(= zAi53B2s5JZU(wTq+DuUb&I&z|QgSW+bNlDg_L2Drk4<7&>h3**-3%G}A0`;Z?9@YeOG zw(=+3-3A>)=#JelGn~?;fAT4sZKD5+1^l)0?T0la&SR(%qe zkq}@k?NvPYY!e(%mYe)OS4fPHts{%1`Kj9$Fo{ltA_wZHzH0>UODD5C&jmb42{Q%#avDaRM&S)5P|W@RGHDP!{8!>CEIGD?PSt(9sH&&xT% zL6ch-7cA@i8O(xwf2DzuyA~@;oB<&hg7ZE}uLI^)YK)4w>0Z4D{^e+$0so_rNHB3#_-tK?OG zBcUHLR{Zj4i7Cfzbzj8fHBFZVe6;aY{wb0e{iY!XQ1qIK?5s+cEgv)40N(k z{ZoEjkIzR2wLv9(pTkdhS_2y@!R>R+fQRp6*)A_Et2dYbeKO+WNXo$ONr^c9D$=|{STCR zisC;v=Zbd(O!E$Y!KsLM`l5-;itf#ViTHR^Ad5fOyOh9&$#pIB? zM7I1oOg)Xqy0lQ8vlfgz&xtK5{+41nuTbl1_R3!hoMq&R=~qmforU0Z!mMsLt=rI=TRM6liUQSghhSqM*iFjMZHDC_x~& zL5b>t7zRls@Uz~28O6i3UmXvH!ZB5dmmw{-a27tOOS8vxy~P6I_D?cS1#bg@T9CUz zq_26>zzo@&f1?ao9}YbfXIKdA z;_4gfGJwDm>HLpp6JWbPZdpB{3E{45+Wo z$HD&n%E!3!+20;dtl0VeGto%*e|OW2Q1h&4P2B_K+TP5+SjZkgH4>?%i4prjYludH zY>*quI6MuWOwGbRZ#ED`+vbWnF_13M*0;JwS8yXVIY7imBZ+(cbpuHl>$wj}wS76h z1{W~SiAG!LV~Nj|(kA`0Z(Szkkg`20GaT%a7T5~;@t5h*_h@LjZVB_5e{=|rIvC^B zt9>+S1xq;+^wRmLGmkD&u+FpJIqFSv5s|~P4k80v9#3xzcE%*M&SyrJ z7;v!!Hal%Siy_4?;F~wxI03aegRdXsw|mn}^^|k>jdw3ZS7~qPjtVSto-40=z>lTV zLi~LP$|bwnNHY;ukhvh|f5BU)6{IIG2gELIA!h!3`cR>$9@TRebD-mVoK%P>9RRx9 z$w^yXy%Bc3tzGDhd*ee~hXk?HYYQTw9qV zE9$LVcMFo1KLBGS*?jw(G9QHjFA`qXvj>%?qaASa+)J_q8r*JsPIve(S8GkxuwmCr zim|S(wa1+=UMHP9@cwIPHHm(v0@*#8ST)YShp~8qW*<$bH%2*iRaiC*>r*u#Zuc8n zR})TQ3%!P6a95R>e_|}Agv$M)YS>I7Qk=cmqEgD?M%le2sRG_vs-!}SI6)WtC6Vje6ne*@e|8`0D;%LY-S9wsBbH3G zs1?H-Vqv;bT&jBUS9{(b?zJkx*WXWoJ(~-QFx>nGHZL6p-L19i*Uy@1Bmt0vYVk;E z1o#JciQcfylh7#crqjTTp34-`uX8gGdLux6%^_&>bOXT>hi@O~1CSD*xzvuaYT(}* zL&8-4GdBDCe^X}=3*?3-peyS?s92Xw8}*!0-N2GFpC9x?cf2s6fhH?c?G~@}H?1MK z{@O_`X{F-P5=?=<*@%sXo>M{hg{Sx){T8f02j$G8IHUrcig%^LhG@3_;!^CFZ0fAvvWO{PB<8QJWg2x{3|RV*o&66# zWh#_TlGawp#I~IT)KR6R8CU~Ri7L{frS5Y?cQc|YH=^{W@%a-x^U*xNC&JZhk&qH*5AhyJZANxHFglYj2gPT2YXZZ;xl zf~q_s64veTHGjg@nWVD`Ea~n-*e$WhY>s2FWff3yFW6x@21!D@u&+6eqaMFLW*GZT zf0>vuWl_*u5BlzLWbK7{W$UzaCehTtzQ{ode9-kK^Z2ka2V7GNwHdehl_a0{%AKNb zsqIqf^Im$9NKA*u-U9|nzuoe?T$+Qy-;J?_aq;sQh?1oQn~z@TfxIkZf)_AK?`3By zA*U5K{z-hYfAXTm=qYn3nyW(?sTaZ#f3AowuXfHs!Dp5u&cD%P|6<@*p&OBBc%Xj0 z#jB7m15s?e&AlhH+GdDOo!gRgb=p{dn!KX@(K2UqDm%E(&PYRUcpRdT*&zgo-fWU{?n*9VkV9`1+)_Rv?x&Hi_@=y4% zB?||?gk;bjRhV73BW`E0TC{IKcO$x@Ro+zrgQg2dZ7{zSR$dzT?!-$*tT*ZuXn($` z_Lq+E5hLPSTx*pe_VNp0e-(R0v+ik&J5KWP9L?Tu=vz&xPty9Ac&u}U^BnFZ1=U8b z({`e#(|Y_0yLQB30HYB7w~P=htcQH|d)`8M7gCw@)QGu8!cO?ZWN(}Mxc-Ge9;TwG z0M@D+m<@3+GZR*8?H-@DCLe=gEcTYfLggbyWc5X77P$Xz)+Js1e`A2ntc~$+frwF- znS(PNVX*d->7MAke``iyEQPCKWi6Lnt^b6M{i;2BLdDA73a4dP|t)n&T_% z;^eX``V4z$0X-XH&DXSBk@CoPzIrqEY%%m3ZikjeeTEAH)^0JLIf2@S=Lx|@}VJWqUh8jWuPZ6MBB)39* zR?mZec#Pig328TJUuW+T3qK6_mhF`m*0Z~OY*?9q9jQ+>Mk2IK1*9o57nI2kH;K)s zr{?SJOm`Y`OY(&4Nw19StoN*+rj!w)9f=MZF$Sd*6TsqDe@U`5NVAR>3+WI;i`3>GX~$ml<@*rcXI+5jqkAXzSwP z5$XK5Sr%muyww_^i71HcO*TM*7h^_>fQ)5ddKlfG=w;l0n`1|C$;UI$es578Z81jt zsHCmi+VBetf5=&aJ?G?(vi(F^Yc5E%Y28+81r5)d*WfbJ8yy<+A(wgfk|fGj(!p}; z4?_P3dvBtoIFc<2{z`VfzEu&I$Uys&d9%tSAwXi4#NJcZCbS{Y0+K*LR{h2MiT4lB z=5uC#W85Y7APAy%yKl0sI>2!qKYsRed{LJfb7cYLe?xdRJt(~jJvuqZctmqQ#mnnuKCiRu9&&503Jjbm!k=<-XdTmrU)ZHH#6Rw}c$)v5}E zf}q=5zg_BbDnkO*ikws->*May>fu~9*4LG>uQJOPSLw8ej?UNx1SAc0zR$J782FiT zi(9zKe}t-&V^gs#1`X#)g$}CHRAfqC(DQgk?CHRR2{O@ZaGoWPdCcKNbzlo!uIbh~ z#Ma?9QoSykX{b1c)5o_SC-pfT5m)`eqA)J=D^crgm34Wv&^8N`vuKxIOWdj>P4z(_ zss3`l9);XCShZK3(MoP%p|C9}WQA-x?b=uce@R0^4-m_VxNSML%vn-Sg2iB7w$OH& zi`Vs`-4Z3eia1nv+T}Kbbh%OoOlP$&M%D>C znYXGjCKz74q*pkN#Qs{STZTF*tXow^f7Z!aMU0D-nG9`o&}tg}(J~sRsVXSb;fVF< zWtD4lExtOJP(>&z+K_b^!ZZDV134=`Nz&LJ1uM-W2}?G~iDwA3V;JjBs)?PE7?A}U zC02FSv}ff=?==%E8Pw-0J<$vPtSa=-VR6BXT78CdN;AudC7lx`qcWB%n|gOaf7A?q z=pk@Z1y7VmoWM6Cr8d{)mM~I)j7k$n-wegMQ$kB4XEG30e5WawYre2@w*JHrfLN!E zsiv+eKK6!oq7D$bKCDGtTwiQU0!fJFM!MRNj5297m`S<0K)Ul(>=fdTdIoT?RA9^8W_ncr8Fr{ z7>>7VOi)^AnFRb{E*vVyfAja42*M_^x^!*SQ-zW~3dBx5ol<>$*n{YGyZbkZ^?R5? zi4wOihdsW(w&^0u5L_#$bmLWrUzGeov`~d@GhCuG;7&IqNog+K64Iuue^tNJRm_=Y1E!I7BjO3f`X9~%2d2m3``8&3h$Y%P+_ZDX+{<*ofs`ILRRt&alUG< z@Wl#g@Dok%{kfYbSKO4U_=Rvm|F!DH3Ig!U@>;9 ziPK>RACCy#RlCTnpR*B;JSbIw|{=#srk8|@ZbqNV|_ zk1HfKERWVSZHv=V0dBD|hvH<;1naOlAyZ#Y>>);8Mv>e!e*|KJr#(ihqH~6p zHg;f8gC2Z$yChV(*czuSy>&|3dQ{x3dam1E4!d^8qDW*GG_V3aOt=lfb_RZLtM64rx6BdV@TJ$3X>9b z$rsQ;S@GAUN^j<)rQv+wA`1<51|6}ot%ZxGhU!yp-CoEbyDry_vR2TSv!QI;syzs} zDLWf>L73_?RJz@^L7ZDw2YjmGHC-sS69nt0^wLJBTb%C=f0IG66>myPxfIZwIBgHc zh1M#@Sxc7t={jl+dPFjDghH{X@OE+8;07tD6WmheSB}|NNk-r?zF_HUg|rx@Mauye zgQ#me8Jlq_7;LQ-vp{$&a4LfpBN}cM-=M;fEEG0Ukyo2*26Kvao%RfRjBtK2=?YYU zSHlsZjZ2#if5|&rt?90MR61@CEUDd^SG`uZAWUZ+rM6O9^MR?F@+v5h>m=zbIw6j_ zt*y5VgAP?#(Aa<)jgdm9=rt#bNlzSh$JpCX=NeQ8^VHH^oXh{`D_^xXBgIPG}wt-A-Gv@tCYBc z;jatBjVuQxFJ;n3Q_-7q+ggp6h~lheCu-ud(k|h>)nwWw>6xent40mAkx=k&aRF=e~5^=Jg>JBdr;(iFYu&pc{F*MYE z1e~K3DNUu+X{&<~!yyJwpef%}oQkX1cGg~!k^3aj_HASN|S98lmnXp>R!gTE@!k|*+rCPh>%y@y3 zheB7CONmk)_M1c~8msxp-KYhD^+w6e(Q35{Dr_pPO0<>|&vMt($f%e3zRC@ahBT|N ze@&&~4k@}xgUo%+DQP3+D2-n?u=Pm6r%6w3$Ew2MvBPjeL+Y-#TaiiQKTv%PFO2^- zuTsh0r3l}v2>;u^J29$l;*<9%TJ4d%&Ys)7N<~O&W*ex5-|Qs#)GWa}?MwFly%nh0 zT9-m86}gh)q$)yJI>IQCic+QOa9e)Te_%xrKXrIyi1(1uKr(`2l&C5-w`{;pOIzZW z=WSLTU~rKvv-2WequZk)6SgZPU!ofGc2{#Gsk1dDEpcrwo=jDxhqi@shv}?!*XV4w zshCR5mS|Rce#tjF+)SM`CJk;*yNWtB8cAs)%o&YCR|uz8B&k+(g4qh0qb zmF6N{a)-k~hmW>~XX3IHae6d}<}tzbnyIRd9C01WzO>;$Koe_|ZX+nlWz3!sLvc3e z3}+QA(;>(cC~-URlR8r)JT zZ+(BwRmRh)>`bSWDNGvz*DMu7M(rz&ZP$_1+E6T}u|RfYNmXeg;=3b#f3X;(^^rK} zApK6MlGgjEuCL_2;zsO3H`79)>1<~Gu+dD6&1}Lbq$mnbL<)uJbY7WOr|rt5-6gHw zc4N0?H?f26X3}=3P1>l9Xnx}uLnCerQ?zC<%fYa{m|I#srrLo(q>NTzS~AI@1Q4MUD#OLY~-qS{LhrN`{m6 zq&A)MgxGgx^I14owZ7Qa(8gjzS7s*SwkvvVLs=Vkgl~}$!U*IQIe~{#G+-O2N?X==d z=3cQ=>uJ>y9nc-NP;5^MT+=D)i4qo2Up2atm^6o5uFts*gcaBIc8#eyO|CQqp~G-a zj#!UscNJRg^DB@Hat*c4pRs)(H zl@z48)U;u&Xb3uC_>}MRahV{iK?it;2H#+pWnaaHIx-gff9q|vrSjF#Rrn#Z_D6F< z<;q@Dl~%6PSdN;E9uHe%n%geu2`_XS^PsWvWWJ_$?Z=}uUS$A zZ4o4nj&Hh~e;O547FK~Mjj?30WVYKCZpgOVcI&n>G}px$wXG6uZsnCIw{J5%-DWl; zFJ}E#k*INrUP0}N!&O&;YBkYy09YvuQma)d*C)Wy%;kmdd-c-9!D+0@T8(zIQL_eq zSVxy)kFRyQ15utA6xo$WCC#2Tq}Irh+;O#G$m7U1e-~&aVfzivkeGI{#M;H7oXmTQ z-KPV}jkS_mRjrLO38R4_q>UaK_M50V=$DXXfDq$pZ;|K>nuGwi5ts7QyF1autI2CooSs#p=XH6Mxh63Q?zGWvdMG}55;Gbl3P-XmkgM5j zvIyrPf2mNUxSZ027pfHp7$q5(mQrWZ4cg3lvBj*7rB4?FzMMoW72(`vmlg+uu_cAY zq^Y;L2G8<6-jC)zt?1!3w^a7|X|r7$H^w!DD^S~MYk`Y1(09dkxwY4gRg43n=_Yj= zxGB|!cG*#rsXw2P`h0C*rF2`|XkL}y1Pi)Xe@J_U#B=Lu+u;pAHDg(?tA(gjCTb9LkgAW^ap;|K| z9}iuBVg%*Q29;81g@#ii4uxSEkl)5-Fu9uTx?a;QyRojdZs$cTM!Hg~tZphT}C@M(Hk(7=$#x`k(2GGUoLZ2o>!DHs8Cc5^r)xm(h zHHs;P+oNt|_g7p=NL^qg+(LsO5XR?p9OWFISTF5TRjBI~(c^04?ntx|*5DfOsM|)X zxCz}Ev~WpgC8MJZCB~@N?3EHLC_n5if7qB`yKG&@rVDqz82cdJCR!V2+)u))&~f3L z%5JAy}8Skm9*crbueWbz=*YJcW zhIDIV)CdhYh;5+OMp8-gM7}M}XeqK`Muy4~=g6bDnJl%51mtnLdR z>QQCT2`3?r`{l?F8=;9wg?c@(`fRN>W|}hu6~e?2i=5u;`mM6qG`7sv;VM9qaA}S-|<5jY)ztq9mX|*44sM=FQj=5eBvI3t_xlqi{88`E_I0vXSHby{0V9xbci&!=IS-B*jwUTkoq$Q!;mb# zSWRi$0Z|rfQN;<4FU`a>^#U=QbS9C@CJmIU11F#md=iIjC2iW=X339fx!Mi3D`9~Q zxaP9sSZysvka0Oef9g2DY|qQZF~P?v2Ez@k)N)<#vTS?4)q+G;kH8a7Sk7S|=pi8}=jX5N^oe;r4sW__oH4IHgen@z*b zs^T_j6W7xDdQ_>#y%va5{b?wA3Lm#q&FD?Ijmp*=t+<*@o6ABqa+wr3nMRq`fXN-z zmFjTiEQloL7!9qBYIJWpE_en;0L`{#a_JQ{uRi2KacO|L-|_Yip7c6Ft^wi86|kC8Ufz|4%#Rp7)tjWe{(C|sOw1AOez>Vc3&tqTRz@u z6Q0@&(;ARQJRV3^siDh-pu8%T*}AXL%v@!Hhy-?D<>O8|uPZ^oY&u@sQj29;Vyl7U zj*1+j4UD!NmXxubRHbTbTHkaMv>#UM4!_(e__DU~1ggesOn0N9LNO)Fc&IK*T2Swg zwf17We+i=TOf$=Ng$gQhBI0f^pN*qlY$HRYW!HKNydt@!rE*_meFwhLaye;|Exq2K zEqIWa*dtac7m0`i!AO;lXVFMN=1wJz+hsKwH}!3`5K|q=wn7e<7mKu740=k1sCFD& z>&1a?#+B4P_$g*Dt(k@i?-{JPvg%sIz*ID5GPp15b$g_=_;R{~d@3rrPgU81*|Vryef38Sko zf5+g*w7xZ*lwAmBcdXRkU!44|-#nE#rJku^eya$XyMKG`x+J zv3lwZhqakr>#v$@U{!`rrwCWvRkrGSMQ<5(Ib|_TT8&MO?TWMhpyAo3BfFDMe?X8z z4Xp@OVdD2BKIAolch_BJQIjImSC@kdS$Ca9t3PfP>?uc2-EBNx80%PS)`5w@RdJ?H zInEP%O1D3@OMx*pknV6>s<$PYKp>dOf5<`0fn26 zI_yMqrE8`ti}I?7rQD`89=5d^e-QQ# z+2}6Q2JKCpZhg`xd#Ynqhrz&i`6Xvbm^P?3F&Y~eoSL&$Yf3aMOMKIm3X7JUDkuoG znIgr6@bZRX3tt1lt@nxqxs{3uKGDQd2&}iH6rC!|R&kNH+McofMtAqBYF&uBZ)l}h??si?M zSv)7#CXu>;xqiRVrAcl$P{p>l43_wKx|T|nNS9J~DbLHZI!4VKHHNSTiI01$k!w}T z+&1ncHrnf%c#rKmbgLy6f9Pou;W;iCVJ6n~JFq+A*>N; zH>U>P-dc3i-`WeWI~2#|l#l36moqqVJ4iVW8>=ADt_9m@*5vBERqGErn|QEBl>t|& zHhSh-PB!#q=U%V1`N82kY2aLRay*7bsIY$B?# zatyjPT~zd>Vpc){WhW!wj%osvfCR@D`&?yPAC>B?L$pdo4N2<525lB7V-s&X?M7kj zhSLp8&p4wJmfJn1RZ5xFxWcY*lIW{K$gSt@fa{hv?QXOJ6Iw_?Sd6;WNzCe&pm25H z_BNdCbiLU?w8`~$e@=DT3NhoRrK(YDSW|1ULD$>Twy5ywV7O`a+&U#`z`QEra7YuJ zQ=h4_v6QI>hXf>(#(PFRM>>(ggo=-il%2)eMhh!09(v=0N zIoj0LR(&2UO;nv|D}O6{8@HcCI#w!c1#Zdp$+1#$aAT@de~2<`jX~%PeBG2}7`xJg zuej@VXUT$F2LRt`;R%61o$HEwR{ z1qdR|5^krQQepJrBrQ3?TwvL*g0wdnSKl;NbV+jit6s6Cu^75ok7neoVB29p*oGjE zY+|)yT~sQXf98yjY_03ACUdtj(`I@wu=+t<=E^{wO3kW@*aI|Zr^Bs0;no#%mUe(K zRvI|tp{mIYK?=wX%HbvnTheq9qCz=}T&0u>8_5#m2^9op+@2SUHGKn^*&HVrnN%mv zu)u*F&}G&|dDR>(Y~P52LO(>u`gS=g*eW*-9j(fwe?)~D4qL-SYjGo_vKCoUS#cGi zq0Shm%<@CEu1|ZGRbEL_$&7;5Ji)hiur}&xIiiJ9+b)}n<=pm|V%TSeE+6X@UM$r> zl#8fHN9b}}ASWfG;u;v)4|}EIs&4R=N_$px3j;cBl(^ywD4DsE+d>q`t3Kvgqk=Ja zoY5?(f7SYxMOsNwkCwJA!y)1{92A|#ra7)s)u6=|@d0pMvnj9wT&vgJ`pTw(joU$l zdO(+_Q@JCOOe{2t#(b{pLAOTmj$9{*L?2n>MAN;67L}_0d?28kcmu}k7N+cypOTXi z6=;*XD=#{zyo^k|v8~T$D<_KVbz4ol{s!n!f55d$zP6Z|orQ?|ZGVF}G*Y8_`fRQY zTxLMG4R$Ozd{tgmE0Gva6Jagaz4-#@W4n_k__!hh`ZTvoE2@v8M#7F$p74ZelvK6) zSkXnDX*v~siy1ySXi@gE)CM_D$*4{vk?t<$(L#~dI)aP9MkHZjG~M8%%BYEvDz5aC ze}d!+NvV{8bgEhJqT;3r^`Y&E>MD&%rZiNwA=;ZyYaBc-p?8}lWm^~|o3W2}m-TsB z1o~dysB@x;>8PQ_9k1>PGkvj{rhF(VjVMru)dFHx)uNn|20nL9ibsYmva*)UQV$)O z?J=-jK|KJOyae(O4xQ9hBGTw`kw?uzf7is>PFEINWu?%i)#f%V6v!#Xm)f(O2a^0oteQ&m`E0uX_R7);i_qIg} zA1pP695UM}uy0Y?uz?tEn6S)+>vDg)WL-@Sm&J9WkmGI#F-Oui(a9(p6$YDbb6A>` zS1gVe)lSdsDP;s0Exfg~YstWre-K4-XI_uXDDY>TZz6>qYVPGZ{ys%Wc0-=S*YIh&Y`Dyll7gMm?OOi){MhLfJ6DT3JOv#T*$ zEpbS5qaod@R;<;_1+36)E-ZD9MV=Fr)7EHOa*}!>5jyTHY`%BRiVd@ zbiG#{%(;qMnek3icH&?@kViGDzF|G8yO_-YIaRM4!!xmoD~CKUl8dOz3hUa+8=*rE ztKePWiKK`~*TJB@s?`RSf1qALq*hoFt0OH4NO2{(qfT1m!c=r3_~th(jNnD<^>s_$ zvJy8nW0|YE6}P1Zcsyph6BZqTe6OQejj5Cx)1gz9EO{kvMh#4^*2z9_;2kY)q@f`8 zfFFnok%eug(n6ET>V)JuWvj7jQ3BDsjoWJ5X*t9+UgPmJ9@{~Yf2-njy-YfIk$3;- zu<*~V>kLQ7y3Qc4>#PIDM*8ZuHYhQXd^rAsB7Mi42ztuig;^f*+!v2Z1J#GFBNS| zr_dEW9t_NeqR1(_e=b_H8rO_zu4QlpQ8H&q5liLqjNM{srzy4ZPTg=g;It+wu>i5E zTVEi8=kRseM!F_i8rd<$`6ar$E6b6_SkD|@R(i(0eo0l$zLSr6K? zMB(_Y+{SyQWl;x#oXwTC!$~`6EA?p^z@dlL_PVfc53B3Rf2hbO#ULdNl<2ezj8L9U z$9=vh)}0m>ICcpS6&>Vky~Ok7Avdlw)v6q?ea)Pklfl$XV9ld#^aI(S)Kt5_Dlde%gtdXQquabW zi)DA9*<(2^f31McvbhG;D_070PYn5Tv+8@+Ry4@EFiNfFSTwY0LmMEjEF)}Oj!S9X z(_^orhR9ZJSCW|F25~a$jE3FTsz0@-rXtsZ^2VUsj^Jykk2E=7z++|nV z3gj26f5NNn+IV8i{h3I{{F1i_x#t^_<;%r&liSqCtX_~Sm5o|1nC1FHi4(3y%BVvP z%0dMhTT#EHDjYN4Ad#*XtpwXLLpyOxggQ|dNT6#)5KXNLSn5c#rs$Jv3P*TVU)s?W z@u(yYsbmhKe{I>G*(zEYa-nN5aXA^ut%Xxzf6@XMQW4hd1$IpcsEIt9wTMDvw$YNh z(@y0Hk6H<@YicuUaLk~BF42eysPfFCdol(B{F2Idbc_wE3Cm#&C$DX~8OHj+X_8)L zv~@~YWX{JRhHWB^%>ra&9vi#J5Q+IVN6mU>G3^90S8H}WwU~Adu`8IoDI?=AIH}^!%2|6=K&BTzkG5Fl%H*E!#>( za7t=lv`V-xv@E|gMg~#EXBTL#X04(if1#%X3@fE&cTwjD%z%mH5vDOrKs#EC*DJ2u zaB!U$Hws&B(Sie@7SJ$sWwD95`dpkWY~79L#-_du$>mVvxUp!{6}~0&v%%aDJ0r6u zHPR-{Ra`ESHA*Q<-f}^f63^gev$r9!p5v9MfY+(btey_Xj)jmZkI6yZm^Hf#f5TqN zk#E;DHyPS7x1_ zjVvrP6sE2%X!8ZZv;7qx3c92zebP}R@!B%v6u?WR=jA<18Q8uRMM{Tc#S5N zd3D|nmtAhQiaKqbTe#(r6V%3fo-P;7z!mX+yp9I5LIDw#Z8gH9v{%ta?Lr?`&q{d1 zi^if^x1z1tEp_=sQ1sGDvj!Wb)^3kFQ99oy>9VGw6CxQ!PT$FHXV6>1e}e zJ8EZb`Za~A*Jkn5>1eO)BB&j@;2UN?B&f zWwGV8JzF%V+ZI=sXi@4pThSgDf{k9$Cit9~6xt>_?O~KNb-UH&!Xn&piLz#%x&TN( zx4&4~@SbpG%kl6{h(%g&^g1|+Re!2~(97C=D_G{yLt?Fyr`J0!mb&LAo4fkPhVEJS z^_*LldF=TOlFu0Y>;X8RP8*D66o=90dFTd- z6@7u=J^_@S;Im=DmK#LKu=q9(*KlYza6XU2$h4wQpyef;FBdo(p$CTjAAh!Of5}m0 z0XA<@+;ii5h<#7roY;5u%!qyH`E4G?ZUWzvp^xLxTPD^Q&$5%xnJ9%x68f10eObA& zJ9Z&HpC_(qTEUlat{d+5XhfK~fn z{BV1v`K09@W}P*}lQ0c#5c{Acn1|;gYXU-oSTdH(ct>C@1wzW81JFMD}N9!Xz=aC!et*l z>tN#0YsMk>S8f9ENZfh+ZRc}7Su0>o;?F@CSYQ4k}@Be0GD(8;`xvn0=Y+rU`v0IbVa|0~qWRe~E#w>BLPezysZ|0Hsn8!=Jd&8>aYF zcE0TgVZb2Bo8e7j`G5D?i#Ph72;W;hk3t4}9%z*lX&<}N#Deej~pFe)QBB19H^aWe+OR`@`^2<5w8|CrL)6tn$gp# zTx-1aI2UDrb8SAc<9m$ZbUvWum5OiX1`dsu=YP5L*p06h7P6l4L^nY{l) z>rwIvFf{@e`i6PG3)U_#&xx|qqlZtQl8NP8zlF&6=K8;hlb=0322_~19$YXw6`ku` zynhBa3+is01ZWLzUo)_z-w)-N z?R(Il64$q0Sy9~0^Cja>xb+ue4g3oj?tj~U+4UqS&%|hNcRwAIvwh3@v%XBizX_qyRF2;`)Q|KTsxi4%06L&&XgxmWBQ%fA6$6Wy~<5yKef?|~TbET2F$y+ezk z{wDOYfux<_h0@sHgkDg<&gu0R<8{8r<)Ec6O_O05U;d;Z=PVaLqH5}!Z`YjctF^X2 z93#lhtY*7I3s%DZT+eqQWFTDv9Dh4S3HqzQNWR8Na2~6F$wGvzOdh|w-|P=35>P+j z{UPsO=4XEvhrr+Z~t0OoK+dF7bSKdGbKFK8lai}ttEof(oKfk ztvz>t5z{`~ZnQ5a|78q3MSo&n)6Pxf-+(GNy1lZ3_ZLv@EhNAFwd8zdwfN5>RKD5_ zA9;0Y|HKo2V$O=P`>dF_R-pZhqPf3b_-^j1`Gj6wxP6J*0djtD{291H9RzVlaXvX! ze$P}7@bU`=UxBx~vo&J0^0r^tT)Kr5(;o5br|A(2dD8)x9>}Z4BRB?|&z~ zk23f&AG{(cmuu0N^7CTj4sn_0k$W*Z5%*{GEU`TN{NWkR1q=ZD6fW;F2QO!KW{|(V zvR~j@4*e&r+P%bfZxt^s!ZY^x4`6JOE8W^&a(p=)c{g z{%&LaQ6BX+f`4C+dWQF}_o&yw{AC{XIy!#`k9r-m{|+AYjhX$;Jn9?R{uYmV9rXXf z9u*F<|K*Ky0Dt$_0Iu!GJK1@6wxk07T_7fj;;W#A!% zr&B63k53mS9C>^^ZZgSed&2CU;l1GYb?Tqa<#>wcn$y4`t9LcP!N*)aY~6Rg&1Wuh zb?>Qac`GXc7V0Smb_rOy$UW6@0y)}?v%QC>Z2Od(ke4()IS7DR{s;IU0shNY-Ci0F z2nsq8Kz|{KkhlBQ2R_R?-C%u{3?HsF?%ve+x>;o5zk@G6Jr_ruY{AVwza_@k9q4;; zz46njm%}bk?OmLQyK-^C?{hWf|Npwm|8rhfdEz79zU1r<`OX#N+qnhYdoP@Pb+Pgl zYka1|@5kfjkGbc1{m!wM#_P;DK9j$E|M+AtgMTdben_6IN4OLdCm-UklK

    O&%VB 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 G@TdmA&1@hY6b~Km+dVyOR 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

    uHy0;$NzK?GYe7#83X(S5!H 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

    $Ki)05+QemKr>6u0HLY39~X^GfT60s9C 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]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

    x6# zQaJ!wP)US56gnbxW95H*q9f)9O*Ex?52OZ;lhpt;&?O<46~~4Nr?MI#WMCwf5}(vW z?LC4<8&XH4DVq=rp~eH#L-ddd5#YTn^F<|x8U-q)p$RPpgU!XF0-0h(s9;cSCHWIy zz&^m^e4-0vd_-Y{6$O@HA*suQkNealC}~p=hu8}s7xc|_f*OATYM}^$t^n}H6l}Oo z$iJxGgA0*hXeDB8s60@}LKVXD5hXwdia_EVq1zMDDA+-4sVI%0jZhF#R+2K7_8w#; zrlqJ$V)NJOU4%pg1C%F(c-=0x^LD-GfdoS51y6l%Dft<&8v{w` zEdUz^?}@|*3GoYUgo-hFCpZd*Nuw*G>O^z|Ie|F+SR6kPP&uthT0S|Ieey9PbOvTi z%L9sdMzf6upD!wf$D#S8O8Q2qa9|0cF~roI;y~Ma5TdjHuKl7>Lk~V&@!l+Lk-Sp#xf0o)1Yq+Ux6)SGMGQGK8~n&MoN2DKE*7J!kX9a^2} z4!wV4&HyxBHYts@fa(trJK#9PACglYrk@Ba0og{u98nen<6?2U64$9eQhZW#q^_9} zb?}Q?0=PD~Fo*_NnF^M1&=DmUHB45lfjp%>10x5MqMXB9^bCj_Ga!dY2Xs9_+!L?G zHwI2Z0fo*|z=Gx0>7`V&Z4aq{##ifh5A#|8>7Rvq9eCg6V| zts4-#m(lG*tD8zNOfE=&_T^)WK*L;&W6(MDI1#SUAbfg-!D8?toxD(HLSmt!`y-+B zpot1D3w)y^hu#|47vzs3CLm)Innz$M?QHV=OqB$pr~Ndk>9$e1Pr03XroK$i-LfXvS$i6wC^ z{#sHK0788^qzy*BG!}I#q-#s~PZW{)gS}DgQr{A-HKH#_iPf6XO$y3@8U;y1PpD{q ziD;fc9E_0>1>69dfo!SitnzMdX>?d3bj%K?HV|ch&MMQ1tzq9C~m0LgM5k6^rmxp01=;^Qub1p0*2r( z#8fU01iFmGVGZD60NUA!E@`V{N>F})aN=)9)AWcdfiKQlaHM}ge9$DIlyaAfJ?K_zq!dv;5yzuKOy6THCRe}(rVAA> zDlsYn)ffX41<|MH0Q{L2ItV?aZG+_jg8?rV7XcAcoE_lu8I2M^82SgD2^7yEwKpoS z^pnOyps)S!B?IQ$h_I2D9 zNKQ8`xnW4)&_hpUm8-*uT}o{{&&4|i69il!rtgtlHlZA$Zz2#+9^C{XjbCxh!t_bS zaLWUF7HN&qwS}&HQO30(khN2-u9Lb0U#Pb)L`5;A{Gn6VrnEZ8eqI;^KS5$%?9<K(N{`GKtNF)O4J&N z1l5GE5O65M5q5wjqkmLflaOecu#pr?2w^9RhELj|!3-P-#nI?V z@Q0HiXQ0hM{|az@xJ>5Ve)c zD`cdIbb>5o(1!sX1`erqg0vy=Bc?Kdn}C03Vj(>+V6X*xK?8c+>5-#a3B4(yY9SgV zY!n8fF-}D!V8kAR!;i@98K!3tPh$Aw=P(Fz@woz~;(ovYV3j6`L}VZiVPQ~n^%>)W zIPe)50pu`fRnZ?7hM_NdLW!{Gm}1^bs4u}5U?ezKj5mTOi2It36e=YdeGH-kD*Ar} z7(EIZ8cD?F&vFig9xQM%+F%LQ06K!fZva}+E`e~&ph=aON&y{XAPpca1MouAVIZ-1 znw)+r30bi06=S-zcz|t?^cVu9I>;-L3>gfToSH#yAgL1X0La_VM65FO5(SdAMVDnJ zNg!nD6e^w|Fyk%sDP!fJ5$d=ZR$qVYJ}@sVoS0&Y?v0#@88kg;SYfCMy_0yEsEx)! zJ&am|&M1xPN9J09Pf&G${)35-b7rG=Mufss1H=q}qV!-Z{rUz{S(IYZC zl{|VAM6A-A55YqaitB+AgFYexiedt~>r`}CMiKD3B#{7XVkK!}P=FXsU<``7Pn3z< ziXk$f9u-z%I0s551L;jgo4S8%h7ai%!-_K!D!MBro+L`q8=FwsNy+dSDxet1#Gz01 z3KYq{M0X|RV=?zK3=dqLVE{(JLd~%=dhv6r8CYY`ZXzjtl=W2IDRzCTSb=1C!TgVv zC{$E4=uxDK2b3neqV9?|=(h5>j0uC!6jfjubdd3dh!HhL53x#+oSA=QH39yLswqW* zV(cnptOA0Dp(KWxd^+90q(wysWoSc&1fi%vLwBX-nld?(E>14E=&np+pyPpIjl^dV z2Z9iw2Ulk{7*-XeP2Ck-3=1f_D;;}61dN3O4zboiask>-5gpx0AYh{wx zU~B*f7f^IatbwFiU^J<=c(5j5tuT6Ex)SFY1B5o0kqjgVnbL2ZORf#2TSD)L^2q^n z=5#WX#iyARNjx{CR~qXI${_d3KpW7+bfh9?sWs7$fM(#zk}H1!a~VKl8W-(Ox{d%Y z;xRq1o_HPnm>e8xGbu{kLyF;bC|S^5$@juU^3@oO%q6c6!-u}dS7YD?z@2K{6{0z! zH1;GINh+XW6Vdk};i-&XEs;`jNK})6C^%q97>Vwh6WIgNU441NOeMNEB&iJ`V~9*L z8Z$A!B{h!PJ-L4`U80O=r;J0;i66j75KE5YAd&b8mRCVr7hMMmV3J7cBB+5zAN7Kq zf`L9L5(sEAkQ4-lyK8@ z=jh`C*Mzx5Q4T_5Mv$V5gt3%FvhILFq<^iulJ7|dE7yNHkz6=n3BzcLx+_>NeRh(I z!zh;4T@yx7h?2CR89AWi2LO(l`r|=}(X~K(nK(m5ShA}*7Dz|dKx*=-EyT=$ zpi{2CQunpWvcB$Srq~mfDhT5o+C)3ohv==neLb z#Nbm&%wXCd!$-h*EK*A4p9+m93YPCnf;PR~H12Xu{)|=7w}*wv7%XOxK9@9upu`8! zU2{p-f|OZlD7q^{l{6k0y8*WPf_PNLA_f_tyZVWE{HVK9pVYdmPlM4H-IZzr zh>H=dkP4k7CuNi!;7XFa!RaTMHN)6+?@rcX zXP$qUFDZzOA;qG*MuPbfLp&G_eK}0ek$4XsCO`zzVy-hu@G^Bl>aGA~7V9)IO@Gu~ z73HwFuz;`-mpOIUknw(yH%uFer%`te2uI2J7pq;&8@xnGNDC`u#sZWS4h0GWrKHZT z5(k{JQR3T%hE0#$@916p9iFkhtB`~-)wLF4?Vihf6xQv<5RtN)~vP@_*Vwho(XoE>EZ%hYzL{B1X z>O*#m?h0Lwf{e*u(0v)2hVGg%o=t_A8W_1EV>%hvCDmp;P&ADtQUfLtMUuowW}AOY zb{_MmLMlZ}G5{8WX=&Y+E*{x_ATD%Y(n|t%%cNPE6)kS+u5<aKW^qK~0u;BJ-+hhr=?VXA*?8q={HQo$5Gg61lDy*MHn&V$IJfl1vJY>?@J zsc@p0NmM&tLEV*#H;9csAMjX3MK7ijz!0%wI&I8UQ=P%hq(43u2ZJx(b1X8o0ZB|x z#fd?mHQALgpQ&#S@CGm__Jn_%Fqe{7e{S(GqrC|WoY@WM2ZEmF*LqM=5Gh&~>r z)AAWbAuALK#sn%lo0*p(nYql+leLd%5ikr)5>9CiB{Yx)9Yj;6m&@4VIYo<4*Aye| zIa6LJbLrF+O`VBSOqqWUB#}!SMUqz{*-wn(nUn&9XLp@uFvQsgWW_R(47S5z-Ksd&B^Ff zm3arW%|N`IVy1&^G_t_nfijeMRLnDBL@~J!z3E<0k-qV{A`z)_i^bWfCE4wJWF=SYBvTE*hAi?Fd#n>}FUJ|wzuO73J!5Oe5vVDerDA{E} z{lJg)CLdAZsOZyOr6Ou)41h3yg-KZwzj29Yb2 z9XE{VC{hoJC1#LUHu=#DswAfr>JX1wWDW_lgj0XU6c|<%Erh|Afc`KV*z~1Rn~~k3 zkT3KrGhHrW2$6b!E~X!MfHF@zWinez$xouB!V0veLdJY;0G7%kF*Ia0Tq^n45kqNI zmM~SikGK&D5T++iVuiq2y;%n+7STn)a5cTjOiN?tAC*0FM`j}`M){bj#3-1kXp)+f zi(r4GO`b?PPeP_gpDzu0W`cvC&{^tpvjA-v=Fu7SJ|!psRu?gEm{x2=OFp6! z7%>%CiMzv38E$2&M<_wEl%5ksY@)-K>al-BxFZU-h#_XhOmskzQ5*6N`aH3sWGu|I zlDrEF5vEo%Oh&UB%!H}<%mgPbCgL3Q_3kE52g5N=ZV4r}q>@vGK2xUIP>L}PiN0l> z<3crp>1lL@r4pI)iAAYL0Vi6TkQb0m;#wFSv0m&=beqaPK|d9Jms|(BTt@OylIMR# z)=3vExGI@&?(cYGQC`VxY3_2GpxjW2Q<%F0QrSoyle9xKx182NEO4SLh&wsxBn3K< zij_pOBVTqCGO)$%SEP8+dotP16@V$nOq!wh2@6D72N*DMn@ow$391a9sL>fk2lr@E z0pvbSs)`_Yyq21H(K4 zpWHLld;BnHl7lbnPap)^=YvIO* z(Pc*M7?ddc-V##2?1)I|s|$68WGsO)>JSVsCrT32xoL~L0l{0iM}VK@RAQl%N;sC; zHS8T1|((5ea?b!TzOyoB#cU>#8Sm9c3Rnzc1Ut$)SNC`XgA!b zMZ<}^1c(MqE1=@)G2DMj-#_(N@SIGx>BI@8cFdJy-ZIgfd(UZAaN+2blw5&SZ;6aV zf2Hy&dB>6iosiv%+mP0lxX`$3M)niXw?RL0q_r~dh?nGJa95;HaVlMqQu%Wp`HUz zs6H|;lUo}^4$#;OMIG>SF%|;J5@KezY~s%dEb^?Bn;ZbIL;`fUmq&Wn85lj&@0cVn zyGE%MGO?Wd!?-n&DpAhe@-Y{SgQd%xBuC{e<)nS?X3y!POu5lo@|blh0rRK{&0P2p zx2P)FPRp&eBFTSXUeJpp;0hS~l-=`8M?o`LF3DW%f?FY&`@xsQh>Wq&&WuvvvT<%TVGfSf|!$uPB81hYJzhz4Au+MZVo8%EW-$j} zTvM?GI*GY-4ibmRHX|7KDwEy&Ax#ZPQ|Lm31lJARGo-}OAt1%wgfw?#->hu513f72 zKcFH@w+ur!Uc^nRO6U|85}iS!WQ25cQ)f?^FGGJHGlt15Sjkb#`Bg?M@xSqQ9@=dq z%esCQd+v-DX~G)hAPReyl5N?RgMyQmtV@xg1dGWG3bwSL{nlR%pbH=+hdJk-v&SMq zpwZ}5p}#7iJrVbU2zhuNVNP&-2u*tIl9Q%|Ed>S%p!+(Z@??^6^8*42x-Xgg2t`L+pHc!n)(hxqX$fajAqdz);9wZuK86|UGW~;nd>={*njB6m z?1q_4!^1>Vxh24=fX{^i0tv#|6hcf~_C$XmG#UaO_X5HQ^A$!QcuO~8(i?F_Y=I!` z3*rv^LBz2~*!TdI5HaO&WK0mQMOuytfx>7iHeav_O_GPS0iafxmtYJ%j*vv4jm6d| z5CF6V>pk#F0haL)+oqrr`V?ZD085|CAAN>bVL!4rpUu^Xp?YjX`%F3GI`*5v{eXXS zv4sYb15PZ4SHW1C*oA}%K`ULvdpRN6hutSs1y7|{ft%2Ss}O7}LN7S5ig`|pRcc`7 zFlLxKix657Fcg5DdhAWYD;Z!r1j7YM18lWh4G0JO(VovvYed6Q1Hg9mdDlIHy~=U+ zCM1ON8zFAMWXJ+Rs7{n{t`^f#DzSeBeFiWnvsS3Et-?qVX^-uZ2)kJUV+gTn#WM3>OFZp4vjQ0quX;fV$vc zf!B?BN#%Go6$-&=0A4_$zZoJ1Jt5&>R3PfpW;}K(IL30RZ@jy~J?+!rZkuO4Q`VRz>(B z(u%EJ8>^PhS_mAAE&@{FY(hLbmRbjYr~=z9V841TAj3X>pi{0-b*p!eJHEigAavU7{ zhoN7=(F*0$wUj-L!Z3M2?*uBa+s9zE8F|9vAr2jQ7JLv8lkC`{sR%_Av8Ei41-VNV z!+-ELL3QF%3y2JV|W^bipep- zfe$>DZJ-c?fE5TNDgecfX%1vQfBpTX>aO>a0aLTp64Ff?rBT;SLlT5hpz z$NP_f^*9U{ZWtS3y#XR>vT2H#9t#{Ot!X3yID(QiDfl~(j=)4)KolTGM ztQ)i%lMcdhH!e>g&SBtS8!f_~ilbsd)q;T`X)!WGb+UPj3X&K!8>hlS;s#*9&>LKi zOu>FHln|^#@VUX(bX8)1ACo;Epljg42^`L?!2U(X-(e%V?BB6Wj&fil)iXJF4!p}A zLXmlI*iu_a@D963I0I)Job~YS!t=`Ejv%pYkK0%wH5eeUvEnB3 z55lv|?lNowLAn}$EZ-4(2Q@8pT(uwQA>19wG@!>LI@sfcQOw&Qmkek*m>;$x96&%| z8!bZI5XK=i6YQ#@CN>=H5dwc)Of8!kEoyTYmJu{QxECQ&(T2!@f!;t!6+(calESd% zIB1p)A+IgS-(s@=lWZK=4>p_bKlWtg>gr@G;IY z+c+|e_ZeZWvU>=+lMNl#W2^(t13O@fAA3A5BrwAETpwr_9BgK!)Jx9)foK}`TS49N z7=xv;#xb^kM@EZuS7?REe!{X9o}q~MrC^!BYM~}I5eN<`44;Uv&}n4AKny9MI1pPN zXFh{!;bSGm+7^IbWnTd;u%XG}$Gn}v8Xhh0Dl{GYvj8<|Wdx>zh1vke9P)-at@vQr z9Oe%KeqNUNHq#j%r{D2`0%0={`xc1vMutSV@6pJAmd)|BU~sXk&Z#pPZKBR&Div|_ z*hzjn7WNNT~u>N9B!!XRQy3N{mV0y!Xq8j@4MAOg{0iw6+~!0IsXpnQM<=lo~b8C3p! zSX79UV~mb1PZ-P80LZUo!0XG|e>is!geHU;D(C~*VU`|iZp2E3vJ6Rqfo2C-!+j;=q#zL5oNV^mhPLN@ddu5Zw$R0OYr_0drvs4B*YOX$w~=$OUAAQ7Jm`u-GF&iYJGSGwk+bIEB1_ zf^+H?ED8wV^i*gnbMl;`3-%a70kL5WPp+kuc$&o^c|*pQp#E9x^5cCZheP1ah;tLz ztWv=+h0zQ=88M#N62;y@q};CT&VYk7KqN5sgkTdPtW71B2soJ+XHmrh#&HdBE?S)0 zBXSsz!Ct!u4HbI;HcSMMcToT`!JIdLne??oebu13H@%Niii0 zs0mOF3|LYoe2xh6BS3VV$p+ntR4Q0Rf!nxne7Nk>0_80K<*bi~+vpD>PqUVKGYbraK;VG$j4qzr* z950F;AVlgwl`>hIWbZ2?i?FYMsPeX1JhUASk7DWz+bzg#z_Qa}I?84h4&hf3_(P;x z;#et*!>%JVX9ODD|`TWkbF=9BfRLJ}jmz+J94E?4HKVu(D>gM<_mfN(g(0CWk$I9x8HXIqK4cKUZcKIVS_W;k4NDQ}SA~6Di4LFd*1(UMuoPoZ9h0;JG9q9c4 z#Guo2CR3PUSS@(RHiVMJiFW`nBZLl)0}FH7Va<&6ITzeB)*tx9ecr%9#xVp=Au`qh zeqtH{oI^e&D`Y^3H5mR@&f|cTahP7BgLUnz;mwB(>boEB2#G`BQ6+50}=or=@J%Ypf(X_ zHUpr*`%=&?$cl!{@;Q4GtHdCTnd0W81`+#KkQ#)yjd`;N+Na0KZLu{8IG>a^*oh1b zLT}}8OiqnMl3OKzxI_Xb_%?vlGGv1E-q>7G6iB2(R6~xq1?ta|60kO?Y7P+dIpZo4 z?^v8|1K1SoOnBVk-lHLmXdBLG0;ttMgbJ)6-oF8A#(BvQUBH>cj*KDcuBK$UGzwOb zUK)4MoSNp)H1i^vNlnfQ3{J3^f?*KIi2#cPo+bbpL5&H2f<^#nf};>Hpuidh(IJ2( z!No{?O2A8k%F-m2!0iMtB;h1YZ3t{kpsa!t6-cLmMFa>WI8%vm2{c9{DuM}=9FIU* zH3cj|5}2}TXG3NTCXz~L6wI(B z8wLL?Fis6@3XD?V*Mia#SfF4GCF`b%b-~&|8g*Yd~4h&IQyj2w}lGYeZLo+mi6p$iBer1vM+VTtSv=zD^LEA}m4R zf&$1Efe`{Y6cC|6@&!gOLMsHlE@Cr8jDcXn1>Py3Nx`@Z{9C}m0{)fEq6Vl1s3;gv z5f&hSU~j=E3q(`!^peRfXz_xJ*BGLPA2ppWNN&yO>fjVX%?c7+1Yw9^2@(7uC}IKb z3ItZrnF0_MT)GGp5s?Lg(UmN>CcHHRUj#;ITv(I%I+Q^N?`Sepht>$rUj%Z9NCN>F zOD0|O!7>a+6Wbbe)##@N!gc75jtwY)TaBoHYt~%A;v&{Yknw_m6~wTJq7YFt0?ieW zyuisNTd(7hBq^Jgr1pz34A4%qDq*oAOf>spRw4enA)4Lc@7U-ma zLIpM__)~%43MfiYX#z18tdih{1-vMKU{=Xx3BFtdNP>+P(2s=VG{mZ*Q9+9p2wOoG zYgShSx*C;Th>uD5NyB~uND?fuV0{G(ErCr<7z@xzfb;?n6=1MHpC#p}fkZ(LYqU{A z&;sKufKAO%Y64qxS^^3bc%eYuB&{xR`+~hHkzg9T6WE?4`ZbR)STq413u07%^4glt z7qp>7HZ^xEka2-13*cEm{gM&Z#Is;@1->moKTYim)LwwIg3Q%?xyI}Sv6%-YXkbwD z*g7UcfDy2^KwSm=DQIvJxFcc%BzCJQbpf1fTwI6S2sB=humv<+L{jK~pczf)3P4_v z>A}mF4?;-$4gfj_3Tm*m!f?EeH9T_v_c`Yz50f7~emj)g* zqoxrw&AbR^QjoI(ffFdEgcvk(BDf*}rb#|V17i}P(d?N7DKrTvs7A?jXkbZVF`Ax| z?2?AE1W6@9JIxCTI7wiC8v+{>7^~z&HPI<)5rF||&Qu^=5{}W3il6}n$0JZy!2nB& zS+hz4#uc!WAcF}*Y1sp1%U`ak}(orCZni|%0qeh@L z#;J)-fl+D#TVPrm3lxZH1!kTv0gs$ecHRGp&eNEYGW>zD)0xK7Mo!~V^NP>g~HHs~Q zA_Q$H5JCauON?HGRcLZugk^~60)c~Tx>Mtl1>LH#ZwUn#)USpWH8Cv#MGbz6Z~#Gf z3nW=^nG&EEAg<=aB@M3$L;*euEL{NHg3lF!DFT`m1h@=;ztE8qBI-jh#FE?90IZ-h z1s*DJbP*yVV+u5)D==;WcMJHv6d0j_VFBWcUs>@C3w}~?p#q*0 z5UK`nH4~-5G))+5N=ZP&IlL%HRsm!Quv~yg0*e;3k0j(YzbcSX0g6e2O+&?k*A{t|k#K=`YG6_ju7ds+aIl1bHLxh?X@MyU{!>H+NYq;c z$^y?6JiQ=t1uI^F@q$7u*hdYgYmQqJx;ijLP_q&P*YOu3QbGiNNQPK*yMlieY^H#J zLnV~1gG5AVfn; z10#5Cfw>CwQy}3YdPl|w2Vi5K%(#fS5r}+=ge|~f5l|swX9S_Ead{1uYs6j$ zC23q*Ah|{0iHLa+aVZ*p7ZErjrb$45;vxn_K-@ZJ>8RPA4cgOmIC#)WYf1fkcQ~$H zw8jsn@kMHkr*2B*`r=AaR~_3`1fMvHCzsFoZKj#gJ~_l7<+Ec$5q z{L!Y5A%Aj?>dkR7os9<%#W2Gz^?LL5$(N)(MKvsws)5T4`r?^&gG%hpl9hK&aXlIp%M5;S9fUWi5ar0>nVp~uv`XtPvmDE^V zt6S0bOH15Ry?BP!@5Hlzzua;k^o|ZYi+iB>rO`MtW{t*e-U~f?*52y0*`xdB$2xSo z&Z^t&(6M2h4<=Q5xnNc7FqQ4zPQ_Dyo~61?KKIhBscsE1wU(1Xdwe~bE|~7$2ADsV z|1i!Mmbpnpv)M80bum%6hSRJ`rfMEOwrGJWCIZa>UdCwro6QM-J?Vs=G(DV9tLJl( z1|WSeN^MaywN}T?7M;jrL|!?dGviN#LzJM~AxY^#Z9>zGhQ4l)X?ECFhqIO$tCrzk z9Q;Bj%ExGNZPIvvBMvnhEl>F*`ZAyvQVk$$H7qy87$q3(L-!F?7Wb+>uhy75v98Xc zMOvIS{}|lG`MGv~<=pbKq5tzU9erl?d56XN-!2c2PVy7OBk$-%Y!ngG-nn8*hJVY`h&Te2j%-?D)+I31y+_>Zj~X$#|j;UH~4*cf(_2kX6I`}_|j zPY11j5~GE^T)?)HNsNJZhVgRS?54}3@o+kvUXKzUy{;wIg-SJRNetDaUeAZ&Ul_;c zqVelRrSVIBs)subUDd}lZp~)8TKv*XN$UCar%-POG_q48ZQwLIFwngps3j6LtqtnN z*hqyIW^}86`j7iR^FaRm1Le#6zki;5y_kO<9yud9a*U~ZhVh+aXH*$G<818E$$V4# z?t9cKe{7_qvt+DB%!7@yRys%rr)ucnBpa&ZAMKO&AGl|>YEALW!c~ioyLP>P3!Q{o zIGe_KVIBq+HTD#WYjF!ayd00CO7H#LaLhX5j?VjkBOQ?1oOT|Jdh~?TyBnJ=I1!7NsqU<0mp}F z1A+>F?I<4}t;c1TTBNwmZFz3>%X7;ZtF{>2IlKCm+4aZT*4~4BD5>+(X=|Ev9$co= zvj_i|+Ux)Rp(o!Un|$a5Kbr`HY_8!ij)}=OxMQ*vgPP{-G;Q@-Z0KH)C>V|_!<&XQ z4$z3MOwEVmr6m{+x)wfaG0sHA6n~RUGtkBUO)U`3Tt(ff4>W9%n;ZUc9K2XpqY?l%O$6S6TjJc?wU8(lz;i z^cdV4{a+EK`Rx8-N1!F#`mZ%@QM>z^wbB^>zIBT)3z{`q*sO90+}E_c@*Mw~R6qVn zsSc^?)XPE~f35oefE0I~MN-_sQOmzmsvisSvv5jl*W9;(G1kLDIq1g4a2QaxS$-TB zg8+A?MJ)fy)w^eaK%BlACvBFfbwieaLL=1}9}Y5+oELT|PiZucgra%8z}!1tq)u~Z zU;m2oe?71KThu2_^I;q(OG^*wKa$btP`VGDpP)tPW?}uG>_OYZ*#N6{CV;cCIeiEB zAtd`s{#=0rPp4eLv1Vsp!oyAytb{~+maqN7(H2yf5b-T%!KDdE@J^b)t zd-{<+x4S3wZ+ATGla4utkwRZ#n$RDr6#e_7wOMOr#vj!jUDx~d-BIP~#=st~S?$E|C=8@9-t z?e!0XwM+WGv-aV5Z|%v}@%F2K{jH~4yC_o)Xz>_7C6kK>D%V&PqYnI>sG?%BKL42l z1it_Aboi|I3>`D;pKvK;RnouI^LZVGB1(rgircA$pFU*MfIi`sZ~p84TI*dO zrz$(+Ns@F3G8>JCV`yG~E%e^wUV2Vv zu{Rw(JUf~26ScEJxQ3(0FL2K)CWfRTI5>{Gx+@OJaD@U8J=ZZrDT@$A5P{q*w1?pOLYI|dCl>ENFF|ZJgyfa%41Jhocv{bzLCVbnt#)Q`mJ$Y6-Zd`@AXP%#vjCQ zVgLR3d3k8xxyWStLssE9LA}cTVOix}s{FCDoho|vDV}}$_%W+6w&y*}lz=2_g()eA zl>?1N^JJW~&TlJ!$7AzWX<#S6rh%ROp5<57&OCcwJ9DGDK{u=@0nlt%kGf84(|T@t z<+6R6eXq{07<+ej{KgB-eX82Yj~p<+t*QlPp{gyYb755$UX9Wi&;Dwa4W-3eFV9cH zII7jFnjEP>T9d<-Wlip6fhM=89h&VSbq{rJ{GED!YWaux;L}zPnPCr0NYxjl&{CeC^2kWfp zXQ#J^{r+(9WwM)mou#bA<@)w1s;J#B3W%CGvQ%*_yU; z?Z$q8yWMK-uJhen{Sp1`Pd4&vro%lNlyF)9(PssYo~#FD!n0juS9tk$@AAco(&8i6 z@jmo-zI?-lc}t1m-!L3;Az4B9O`{%JDZZ4ElZKAQ#;rKj@KXq~Z8D<`AunL|La zez5-bC{P!s=lE$>Z=r zhZ?=A97mzKezntr|3AZjrprVCrbab&_{SFGaJrle9N)`MshA@*;Vldj3Iw zf7qFkhD<`O*Lg4)vMilVs9N+JwLjT9?b(uC zSbzKV(zT{b$AZ!!l4bS3!$-B!rMPQUzSO~amRYHE7~m-V#JW{;pn#phGHd-Ldv9s( zw9gJOoR!e6E| zYA$Jgr;==w^eJ^x#?p^)RIl^H_%&$MQgN(J2qWebO_;rTSp0 zfce9u0FIZI?yoqV>zZa(MEOwZ^5==Tlv*-t$WjgF533^d;z+uiDvnR36$X|7jd9X2 zNl)sw$hy^?eX9iJTt{(tj9F`c&q^b?MdJmX|de za);)TxMQVA_Tnupa#^fdHMfqF;oPfppWeVZfvpoTxcxG($aXjpI&X_JfrpyYPxID{c36fCkvMqaD1UA8UeaX=Uz4 z^i0#-+;bfpU6()FG`}-{{+j63skpH*y*2PqvPf)fP)jUqI&E*0hWa3>Cq+Yz>$#s9 z_BQ=fZ|WblCQ{elXxD`8lq~1J(NJOyYSH5rPm@1m_CRQ;;+eTiN!jetAb3y898ZgQ z#^VFOe=k3&P$$!766Y3Q$hEq;0sl&a?O{CqC;Q1YG0LVZ%3GX&=|!>oD8XeB*-*De z{w$@&%cLijc~(bdU{hw5HIy#3psg`VbCV2Jf)p)2PvW8tsVtg-Nl~9-zk|+=B8&uM z@|Rn1fJ0L7hpVmT5MUDyv}5KM|6?EFANTR_FZU6HJT!JE4fV@S+y>bAxJC!+_+9OO z)OlH*8*z(`Q}j9Mt<^qX`23}Ir|J#3^raYaejE(t zt*$!u;{j^O^NBl!o6U7F3a?gjt<{0T+|=+GAGXA3XcePjqLh^yMuc0>r!RI-XnDpH{8PT< zbH7`dgn#@|hXGIe(!CW{<_;jfqm0@cHz$qQ1{Oj!aA-_wXC4=hrEOx^b%XB9qjmCE z_{bHlTI&^m%XV#Gj7hPiwW1q$mS2*>J+OYVDJ%2wHyg9)d9_^dS4`HSXtHHkP(RsT z`CzX$SR-pM%wc#1m(*l{`Y@^I%|x}jyP42PBQ@ZH=zdQtK`kg;FIXX(xuY})l~<73DicQa0-}x}BuuzG*p0Bbm5O~yG__yn z{mKy!r;zs>b6+ORFg_gd;liI6@e*1LK)PFIc&{u{uF_m!3{=%=sPbnX$3y#d*BnVj#hgO=rs*mHd+tQdF#RC!+s< z>pU)5$HJ7)OYgVZ|K<)C%g=V!HuP;0qjIBLWw>8tvf5=?otH4Yt?jg?XWHPnHEI*O zL!Hhv>v25czyBoE_t>JHka1dHAytaX$FQPrx3nf~rSV3pU83jGjfoIE#||$qzV*-F z3U4OTQFiB@rKj*o!CWeTJW`Q)dNA8u-x1!-LX(D{(6N)*W_vJW&m@|4 zBXch8u$zhwFaO;hvWrvr5DVXB;cE?$K-b^jfAQkoQ~2y$WOMN*y~%cOmfaJ#LwYvzazmdBH}uARZfG~q{NA0evW+=c8IsBbE?JxA0)qnJXAJzxVPRUR;$ z7AR$G!K5CT%u~6;flt1~4 ztjA)Zm^L%XK?JC49tdUl=I! z^Mhkc`JnfSr@1{vA_BX1)MV@x!iCf*cj~W4%@n6W;iwJy;sDxCs`^fU9We#Gr*43y zKQ)T``8Z)-CYNi+_kl_x%&)wbsBx+K%e;dE%L|>DSqth3Cj0~gs(Orn@=|LeYJhqq z;nkY%i_v6EjMi_rS&fx8%{od;%pxz+Fd zlYgnp#>3n-&ev|h#gnLIc4?_}`P}a}H`U@Tf6))PaPcqOg-d+FC5wM~(i^t!`^k6t zr~1MsSyoV|K_5tevwGd_k|J)vC+NYLqXwIQU{%_8$r)s)OIJe53)v*|A>7bOEenKFxZl5T!@1=bN+gZyZJaQ^z;Mo;WW-=R(79aXL~ zJ$v)@>kGZnD^*g*8=qXAyzTI=c3?***L&Naa1vf`5nAoH{p1~fw9RmL>*J?htFq5) zyXLnqpW3gm?d`tWdw=p3$}f8IWv;arDy?OX_Ftyw7bRU(Y$X@!Enact_*YNYch|7n zi)1pE{j76;(cjoBYsT1|F7(gMyY){r>v|gR2vM<95)}tRRP5ZZiMl@)6+82rwjmNL zRW@xGDx&kU0)v!g#oT&b+OvgRCqYpu4id$0%&qA`MPbFIVMTU0EGB+yJwH(E`Fb|c z?_AGmx~^xs=tL=a3m5mvooo9JyYE=dnX*{q{hv^OX{vk-%9HN(iL|v>SHmS2?>g{2 z$2V`1{~!j}@&gMgOm5TVgK5|DV>RdPA3KYI%nb@>v09YeY`>wjD8+WJAP%&H)ABP1 zC$gWw#X08nqi}JK)hbeQaULpZ{zI=YYL?f>ynB(fut+XzM5ETKBSiz%%YJ0}g*AVu ztR8lM7e7kjBT!9b{d5zd1hyb#BehT|wZD=!heac`$+#C=EL5GLZl-#(rAD7>q-BYM z)Y`hGTEE*;l}aHI#V~6r8cJNM#ht&{%BUllqBQs|U_;GE35mrFIthj-oU?#VliCyCV??>I3{ ze|@s~au%*Zt%g_J5ERL+>6Tj8YH}^gczCJ<7 z01`#f+}{4yd3kch+)(H`-tg`F7w_S|P?(vJ3c2s5kSB!$MYwO~+!+dVvi#kbt?Q3} zpI8E#j_;l(Z{B@M=P{!@ByQ$1ks=nZp+ZO<+%Kfwr17p0Qcp@c0g|OgW_r5+`qQO+ zy!?6Zs8aFtYwH`ETTh-o+kXDy<<6_uZ{F_i?H{~*|KZ~&6{m7~mVP?;1KufINGD=F`jTgKw8rvI{R^p+5V1KHYr@hg3A_T<*TZ zC^#M`7YWV2oz{r)u1<3Gx?5?m3^{W=EAXx7`|m!!dR6W_(bs{Ecgoo9litP`(f%1A zR_$YCT8_f=%Y$dbcPA|FvzV*rF))fhOIxW!jE8pZ2=+Mz$Zc`N3DZ}mN7p?wq&Z!;aE@?dRMrJ1S@`{Ua6=40z&9M4GXrtz#khhrt27NMBa zRQ*DIKwhtAdv)AwD=@tMmz&=pJ>+rBHEKVmhg)5xUmw{wr620(Q2#Oi(rg{(T*-{> zSso__JzlY;hYJC@ljbphtl!oUEZnMN@2xdjnR2Met-;V85BgLMdR9bua`+Z2BKRxz zR2C~Dh>a*IB8cxjD!K4DvU{NmuMl**C2Q=7u*P=p#nWAD9#4N+D(kf<>*f8Hoikt7 zYbk(**b#aUa>x3nmtN1dJ8QWtfFg16W&CR6lawx*ieVvtve`Xp%5Y*?0w z%(eaDr{@=wit@pK^1cw|uYW_7znl~0A>LZ&R~^OvoTE4h=60b%n|GngzS^)V$ze#$ z^V*D3`&A#ar_BHIL0j4X^N#0ek@MIxf78$Vnq>T4T(%PJFSR=$+h+L{(f*RXZz{1k&WJ!Y_Ew;;-=bP za!X3U5OP7ugbB$6p#;q0T6)+PBD`Hu0_fMW640(H0XV}hpCOch9^JJEC7{hpK#wYb zM2ACuHh4o@TyqGIS*`^1gc8t+TNPQ^QAz-p02c+609{Wo%iJPYdKA%Eu_1|)&w_O0q6991op zwZKf(yr-%MUYQOlZJ|dGFo}Erv)V#drHZy7JvYCqFlbMO(ibN9o9hd3R~TY+v%`iI z2*grygXLZfHT^O#Mi~8Ad4MyrqBsjNJ(gGKs(Frv(dfd=`O#;=6A{Hi4Rp9#tT z>ORSDc?*Kvo=M4XyC1)Odh_w^-9~m{gJ;;sgssM%O%K*DzlvhKyE#3*&|Y}Fg~RuI z&tJcM`>K$H+S!8lgm}@r)@J`@H}m`3?sR(ox(m_QI^l4!EX)XSj=Gi7FoXas!9j}@ zif(UzIOK@=vlh#Hq1hB7IE%t6&W5RmHFsgvz2W zowvZGwpciqc@RrQPL)pcy{Z%5@~t^1yye?}b53}R?fu_0sGli=`ddnsvhFvizZFu~ z3hywe7dYXInWoyB*$}iq#1b+UY)Fe1E*Wz139(~Wl^yWFhah4SiGlB7c zRNxX8EO}aqtiVB5cAA!WsfL4hXY#B4eA@}}7D5B>W^|k|2*GMp0#jEOkJ3S$hYVXj z#|(eZL_s4(Py!N1;h#9)lUS;?AmDk=z^&ity$k-qcKMeuOLZFShatgh!G<+p&rTcW zkul;A){)WY5B8C9!5^F>Jyc}PaQ=UZqgsRYMuVjB|G%TIco05z1qI9X{;MN z#>@ze_93!)@6gd5LmeL(mQ9B(I=oJYaUy=`8y3#C>F_2URwe8k7lw_q9Xc$3i$3O} z-Ad8ds%WoL^r`Lk9 zS(`YO;y1G5T`s1BV#H0ZvYYVp(vgwj;j7PucZ$MKjR=PWF1u5dy=GW0j)z?JPEqR2 zuuU9~^ga2PYcAb3E2VF9>9$pWDg8>7Zrhd8k5%cmQz?BeX&h zI5hz}$W`6im6Hjhz*BRzTNHb3*r<$W>6>PA6~%jYrT7a~yysMk-_DA6E5(np;=M}o zm#TQbQv6j`d{8O=G%G%TtQ3Eq6(3cKKjz|nvr_z;D&Ds$#rIY5zFjGPPZjUuX|d|_ z(%;y>F%2yKECCvu{LMaMLC{#|Z_W|RgT~H{$1ckf0484fx~$#v<>8dt@qEc9_vZj@`^8Do%?y`sZ)0i_}SfjhWDeme;7Y8oo={ zN2{xDUCQktO;m z@x9d>JglGy^OQk{;iCO`f%xL~n=qiwOtZ~0Ey~v1v_4=2{jhEUfH2qi2$&zxl|dp zJGX_(Xm3>B&W(KKbSV+i(bJxOCrLbh+wIj=?M}ORWRSiwGtipYYJXS-jspd^`IBs;Z*Y2nlmwtHc z9DT;0Q2in0UH$csntU0pvlcJ2j&-Yo0&A1iRquv>16PB3qu0P`h!O0p+U7ra*{Wya zeP$$TmfAP}Z7t2}E40wlPk0+_;5m^)KYeb0=HtHk51&V;-L&b{$5x0}s0Cgau4HFD z4kHqVfk$dC2@qtFK##7jI;OH!5im(@)4fIOa1%8qB-PPK+)|Aef3uIc!5VG;<{WXm zHD>&O%{}7gYxI67|3#z*rya>-AZ)c+uQUK2IcivjkH#V@zSuymXaN(_0%(bZe4do# zGZw`nl07Y{1p`(I%BQCWR|alQ63_#_(kaqyXD+Z>9`%R8b*IF{gHG~vCj8g0O3ZOF zL*#T(QTlWfj^r3G?>$?yVjZX0u4mEzxNfq4Ko+zCKI5Wl42Ur_+AI}#37}PoeZ2Hn z;cVtTIGb77MMhGhAK`4aS;g7jNvG{%U?}rt7H&u@2+hC@{4XD09H@=QY)djrMpp5k z7Cz9-y;)8tRz%KaKHl7^>bmaNgD;&8WZpuvT7Hy(JvDw1@@k+xs6ru1VLe+}h0D#U!Wqce|a}uQJzhRwKuG zo{pbAQ)k$L=^wP)8#9#V^`3XrHQX%NUH>xOe@~yn0Ixi>TbmzRZ`XzAx^UXQ`-yPC zFC~ZlJK?bZa__c(q{9Jm>C-fRFSY@H-j_=KDoTBSU#Yff{}}ClKkrs{NL{uodWLPy zxs`1Wktyx&+MH3Vyt`{#3xa@1gv|v3(I8MkK;^3)6$Ml}XwH#Zwi*4tWBIFcEI&=D z4)za&3~?HVW-Qbj=AFs!r8C*K!c4595ggVX(q%Py;YnV`G-Nk2Nu7!>Id|%R7UQBy z`X0W=6Id$DdJx;q!780TP@8TKYsp`vNvmo;w6YQO(A0xB6^|i2)3xMrjU+jHqV?{c zo$=Pb+pG_26D)SE)sX&eBhW5oFSe}`OBl;uyR2orRX+#~R z5uMQ=@5t!VA0M9S^e}*5+HCgGTK!B->O)QH9rl%)G;Q>Snsh;iY5y@?$;WZ+g5>0xyJ7}9bX;wHL8E+zh;wv?|R(8MZr0rB-&cHW|ztIZ9UjzPz1b>ZMXX)(oe>+RvdSga)LPd_6qqs|LcZRe!)S~Ui-VHX8 zht$@sOz+xj)Giw*7>_@Hr+*Dg`d7Q8e|7kqcf@_xIOA{r5qDjq%in?{?!m_BS3ET~ zbeEs?)Yyo?%2k}j4x5Fp6rM_EFz3EmouxUoT)e}(#4zHVwL zJP7-f*V9+;w2q~>%ya!Fuzk}Erys{xZwG}!XPFURT)j5lYHxIeVppiOxcAqwhQQ~x z_=OTVpY%3U^a=%kkSxw9+VDtf2b9d}&M z^upbp?zh&{@@Bsux{eju-!7jVyn9`!hJ{A<_5Rp{KhyYy(4s!dev?(3>%-;0Cuc47 zG`1W1z01w>=LZX(!3s@hD|z{4ymfaYqg`xQG!lQ&eY_}tKL)9Tw(kaCcbVi`@$iRmhU*0pImoNpInwT_`nV$ z%i7=CTYvscjslnFJ3Ybqi>v+p*IY9a%;CG!{oTQ{+!iUi=i_fs4lm||(k;{RDy*U7 z_;Znl{FbDDD&?Ty|4QJ1hpW?G%K9P)85L}`AP*b73f(Z z5M1xm&f4p59M3)c_I~o=?V|NNTWUSamJ4hiS}vFVEay?iv3sEzhUUT5^h5iJkcIx% ztG92Tg2)ahqw$9TX+W00eHQcBFEX8JXXEXcr*ehNe+B0q;vn@*FA@TS&T~!s>f>a%4nChO6_T8z&8trz&A`EP34$615i@A?rA zC4YADW&P<#>4vd1gUSzF;Onko=Z<+@m5D!5?Ho5CkZUio~O<&cfkgT z#R3c)Af-wM|7QQ=tr8j^QmWezgvJMr%z1Z!>i5L0KQH3eGr3{$nxtaZEmsnBY&%cY zHm)(uPOxN9ds}8q&a+>t8N-{TZ1KoE7HZpf9K*)$OXPVjmlXL{6b5t~ zgYIJac8KgoxPwRPRbWPuV>qTq!pyaOzJ=|24pk~}L&J_7suDc_-vaTbf$!Kh-P`wF zf2yzNn|yEIcAb!>zG>J2Ns!RNmJ@!kOfL#u(=zBeT~g*q$l*8{95m-i6EkQ~JHAE5 z^7*8!`C*9q8jcs4cvw{sDb=1CgiaXJQ~043Li%!@=!xhD+w_envPjReEOp$ss2)@& z#~`JV^j^FP2Q?xE8PPseRcgd2pr`b?f0?K}4=-7uy4pVdpXFpdK?@cApG#*N=n?8M zN419UQVDc#gSvwxy&VLOdNwzt=dtOyNxxE`ID9-H&A_A9a10t=UKE*;Y4M}kE@EM5 z&Kg$eQK7UTc&dXu4?Pyy236j(tq>~!HwJ0N)SRJjAeuI!vmAanDxb7nk_mJLe<>k> z6**a5L%N!zt{WMF?+54+pN~f#X)8X75$w(RUgUv_G3l^H{TER6T-AII>S|Fde|a?Y=*Es38Fu6b^d-O#wjG)tq7m=|%?}zUc7zV4 z;fee4jj2UFYK_1&(R2LfvB*^I8lvM(56@=d1tTEqd61#=Xik_0Et!7ck;Z3dQ^m(5 zaA>@`q{C6StBwe0=!PCmNxC31L!b0|GwTSbe=fC>W1+=dTa6mW_Q=|%e;GvMlB`SW z7iwnJO!TN^Tm`6Y6zDG8tL%17X-c<$PpD~ z(ZHi0{DAt`Q`BYI1YL}`?#oN?<{LrMrQt$efPm|ZjHm?9>Hr5*%c0>HsXJSNOXWL35TPxoh5b-1ic~YI59TiojsTO6<{3XS z`hdE~!Z5?Mv?H6F)#gX0;l*3jJ}n52siq1oEg`McwrjXl(SU}ae`-8Z+g*n`$TjGB z{V4ASYE+-v&cad_&;wf7@Krrci;P36KxDvDpnmkSAwY{ZHK!f%b5oVftU+iJTQtsS zMWbnL(;`UY)y&2Kjgx>XYS8SZW~JGuWC2ZZ><>{_&=8~k^3-IZaYtj(#09QNO^H=P zEh)4-TOl68f;Hn%f9JVb%Tmjb6^(_RW(G}`Y#c{eRMFSe-1HQtY9$)x4n2g=Mh&gZ zczZ5}M(DY`;cs|h;L?Jl<~p?}O{9p2cIXH6Y@S*&Od94SRL~MW)db^D)e?>+6N|Tv zxea;gt3@Eh5>Lx9J+K*3?X66V(!z@AM6wL85%o+=akU6ge`C=tX#lWv3|v2xyVMfY zFc{smj$wV`_?O<@puE{kfDhGk)BQwhEYb+A+h7AhM<%AkdbRvRmd=BffQ zLJOwjQB7#hQx~|we0@DKv1yW!DNTzUwE}k3eup3do6ink{I&kojtQ5=8)g^rWSOiU z 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

    Hb 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%0DX@m0FY;kk} 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 MGz78q#73|G4=}qBumAu6 delta 2323070 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%0DB;%cf)}0xe$U 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

    0(l4}-z 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

    +`V3Ta`9K))7%hT6RzlrEJT9fUQALXT*pT8z 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∨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%0A6;%# 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

      >~si_rio2Vc^#EQh61 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 LQ}s9%dhysWDb#;o}**g|jkE!)e_WX@b2@@l(Y6 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

      mAzuXM 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

      tVYA_5T)pVi(&x~J+HTsquC;o*Jyt<&}kx2 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�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

      r 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�Z1( zM2d2o5#zPZ*1PVMSQ=3&DnNpBQQ6_R6${~+|9X1jGbgxjiTCyc?9<$iOG90F&ea{za_-e}IDs`hn(3H$XWFY9%>c$LFcMp~H~ zdY2WwQDrUS8hb(p#3a2_wn;{y zNmXntxyn?q8)Gg^uE*wr3aDJQLDn$$DuZD+FK2c7B~zm4VK+!fvahTD;NFk7M|b`_ zx<9;o?^b3Cp?@~^egK{p1P_e<*`P_bHyU5XCh1DXMw@17Sj=b-Y-;fHuOi?RKS|aLH6mYZ##K zr>JBtLVV%D(_G&ocW1%|@3X`AX0zu_1zOZM#hNh%XG^n~(?qMhRHNkQi<;g4UzYvc ztZQA%w7y8yfWOQemG>!)GG&M2sL1KqW(#6nXpZR$AZo0}(JK?yhaKE_R1Gy-k)oUi zZyu{j4u5$C9iFu7{QMD@~Gi$9A(mz){z_}6Ykt1C(5IB zT|A<0rqb10IR}cVjclTo|8%Z4vI05L6i~2Kp?{6czGTZ9e6X^m77~g%@V+h8IU^7E zPJFS$=%~@;Snw`zz@*vFVO*T=_V)8s#xZ2GoENh-P1l2lFDyiNKftd+7`;6F8@a6q zWb5U-U>nx!76@VuCf0OMlR{U>>wm0|zg5;$H(B)M9F-TY7 zPk*_8k}u}!IAJWNcv#HOz10|~56L?aS4*(vt2aG{fsp}SJPkz9%P0&2@yJ7bI)Ila zrtKJZ>l1^fN1r6Z#XLBpENY^jfnuVPQ4VpIJ;9J@$R1}}5Q$D?+uy!^PTrJXiq9F{ zRPwuT)UukXwAGDBYUBPM)EGSLbDs2s#<}g+EZ!R z^}HRZ-CvRTdk&yUoQD>Le^qrmsvuX`j&99|MCD~Z?j9$4HEBF;>jTRae@x6jrzUm|hbxW5}BZyi8Cs`DcwF%8Dj0^c_ zUKwDOQR z8)1w)c$DS~ng6jo?`b%1Ly2d{jGSZp!Z$mIR+mmMiXLZldb347``p80)PGyxIRew) zNH9XQ{u6o32-h88qrfxu0nibgT^M2<5$ZUPSEe;*W|+Kj_b}&*Oy1CG*$Twd`Mmp* zN#*OVx1p(7yrC(a>=w$lmOLl5l@`X;W=|H1SX9#VVwBxxA-Nu*^ve-fs%PF`N%E|c z*^goAo|znq3XE4`Itz0FR0Y1>DFLa(ds?M;JCfqz%BGwbOcJ*!By zXB(@%s#tGeRMTf^OFa)}{brV!Ke5I*VOc_T2Mo2wS(g82zI?WPw49gZN;F0knhu1> zbTk~_iP@s+%ga0Whr<}k8Yg({Q!hf$*=Iggnr?3gTwfOu9*?Z7IC8|6Rhs~%dr{2S z3r7Guv1Zjw)e14juYW+}NLt)60z%Yu#J`JO^hmbgoc)F-uXsR2Wj<;X<*XZbtvmXj zNhKQ@tsN-Q!78(ow5ycrq3;FKc;=_$sJ3rZY(OhZNV{lPH1v_WaAF1Lg-e;Ex$fOJ zVLOg)3u2D@+}nom*bqOnCD@x1@0W>sMToX*$9kK(U(8+lVSmY;;+C0sBgJ{JpC^)V zVdsVWIXMwthuQ60SH9UNz6Yj{(d{PT3`y(O7D@?~;nR{k6{awp_ZXH!rUkFe;YpTcmm>EJK`vv}^&roivMXs}LZ zA!^&QaML+bUw_I5x;$`9Qf4~u_yqXGV2~h&)Fo zzPGjl3GE@%V)u{A&{+S3p_HY)TWJP@(fOZRLRcdrJN} z#W&jCUwQrCs$0LE-Gcx2-~V>@TNQn{^;<}OUf|DnAAfF5!{&#*5JIfcIA%XBio-sH zsbkT$)76SRnsD}ee@nllbdQ2YSpR~Em>xMPBF@96-&g$OsU9d3Y9N(W5|^N1bfjg% zFy(f@cX7=n!4@G-5Ye8w7?4`!p$1GSOp2o;LT3|^D^Rg0G6KrOtxARR5Ss!W`v&aW z)Oly~N`FquLZ`}V;16Tc?2}HUwD}oR*H;(D0fedd&Q*M z>OS~KRu*<^{r1R)iiT84F;!qd?$8YzB0M2<-mq5$G67`kBSP)V_x-g|TA_ ze9zn?N;KHsF8Pm8cOu3ic9PNfzJ~K^Bvy$d!sU=3jPb_pVKFY1&9*mB8sp$m6zW1a zjDJm2X2&3^D&@N%U~0A9l?+OmNvXM_baQbp?l&R^2A7gqD}CK#s@cfqFKPY(2$I~I z9NMSJblhe=+739BIUgoK5&D)j{SFzaJB_NvipTWS>&1c$N-tJ8+G7m~jKKVTs1uDo z5Ri+!;?DdcU=*tW92aaYDst`U#S)!bUVk1@H-6Q$Lg!k!b0YpkQ}H-!HmAhy1|~x^ zyCG{-ooD6a;%xb*(B8lOu<^ET&G^zK-1xr`yXS{-+kHaq15EY5^DToUB_;!jL?0fc zYFhT&#SeKaPc2wXH$0hqJz@R-h#?$hAvUXqDM+6H)x5G*CrwSSE! zHrhIny-ErB_ny6OdRkBOz!vwtazB*2*)&~IcGr0ELXW?6-U)H?|im^&ys^^F=#RfBY#Y9Zd*lOtgus^@ds9X z#LO-Fp-cDToYXk00RI8<;mC*$|xA1=x!`fb^B{10ltp(&N66@N58chhUB zjzjY5_=8l(99JNcyMiPy>cQss03AMkAEap->cfkTK5|3ZGUN}j0t4amQ}MhoxLA%Q zFPDpRnoIl{W-gbhU^niM0t#nla9y&gEJUPp@lgU0(PhL%w||L5V7Jz1Z#useTiFk{Z2EWFTxvAavXS3yziJlr%v%R# z6I@83N&tZr(YpwPQ9%s(DL|U0iI~>n*-Rr?(<~J5i;F-s=|OAHQDv8ojPd%S<4C;8 zMdAiFcvP`pC;_0K?M97~Vno3PuBfzl>ZvHljTS7nNSjp?Y=5L9K7YG)6@;YnCx+!2 zTDcRR%fLU+^=02*6jABZLZYU9hjCXZ2g~ZWLn1510EED1srr~8q!DIZ*QDS)H2si# zese7nE9Vj<#VK{1-Db|^rk#kq<*ft$FuRg1n|d~B2Q740-j`rX7vT|}m&NK6r-Fi| zHnRn9<`OuYt7?={p?^&Q`Czvz6VYwil=1GRXzSBsX5J=$@WVyNQ5!`E#94{j$x6uk zX|d_r|72+BBn)ZlYsMD6s;hpegm1MmVmL8kC&(%wcFmKTTuQqbyf}Z@am9OM9n!`% z2R(MOI_tC%ZXOH%Cx=VEt{5C47hM-kyC>i$ zn}b1W8x!VSGPwabO@p_AY2L(%$fPsEPcwekJ8UMpsylx#?61K1qqkl~J$12SV_MJ4 zMmG6V$U{vzAh9zT6N=v*ySKN6i`h58RU%q_EkvX6s*B#Jb#V;aXhK-^Lq7xGLhl`T z#Vg8#t5FSx8GnR~+|6!JSa-tkmbwVq)?oO2VwV~iDs#6xPn{R(R~dFfjoaY6Afr;P zmS5u@Eq|YTwA^%$x-P~oxEMJS+EcHl{nnGvjWS<%MHN|5`$7N2xi71y2NfK>me~MT zK&ZdBp?cUji&;)8m-mf2IT4ai^T^>or&e_`ns_K@BG89Wrm25bnFT2CGq#5b2eK>f z$+<5*IbRlTPfqQY;qy1#I=Qhv9wzdrz<=3KCKHq*MAKD(nszR#w^g>EF2AG|{bX1ZzK!1J88T7xNt{8ulFC_Y?(G(=tD)= zk*kfS`9fLg$hCh>yeX*svD1-@?A@O3W!L{hlb72#Bw7d2e;mC06|`>Tn$M5Ujp>H^ zslAyj=vzZ)!gBtcr^g%fNYBIRFjfm`oA%7fAWx?z0w5T&GKrv;Q zof_%0{Z~$FuHo1}H=#KVHKoY!v>1m%w*%8n&r0%KF7cTUsfHkLN>ODYm|Elm{0MlA zqnEV~{RjnDC7Fc{Qi!16S$<#MxpQ$YHIGdyY*ugZuobAN+bK~!_uLX0Nz4SCnF z4XtoPtDD)-mWPmNxMa^4hHZ*+pXaWY$*MgbBrJcpMXTe;)<{cjZMotYCHTgKVyX*g z`RaLyeYgz>QE2r-91ri@=dAf-$(ldk5M%|taP5d7f=SnjI$v);oCe|v4F%7Ol+fKE zmZg6w=BzOC_Mv_tXO9pV{w#R~dqEpgZ_Zch2h}?>wtFW-Th6qyd-B!UJ1j;L9`|95`|0e2-*@aLVcX45Xk%|5or^jZXA`zxSo;>rhq?elYm2mmzAAdU1hrQe zmRqwSW959C2B9>5*2px*YNid)6w~w(6mpXqhuq6Wcr`#L^Xx zg$>>-1>eE3!9epgqhv3L`l@HI$bo;J4WP~eTr1It$8F)_PDBAJx-_6xc4#o+5tZ0vZvG<(*&Oq z#%|L`2tF&My?ob*Bfdp7UdMI*?D(H5wo)Z9blmSI%KEo(=ywnfIo{i?uU~(5N58T- zDJih%zgmJSlHR~iQ>Z}r4&<4`5X45{Yn9J>b{&~*3g^yZPaIrcYQLXMvjLg(i-RX* zmjLWlf{)`+x_`*#dW_gi(Pn=W%rF*IFty@ z>N^4(HWEAO>8*J%xuAbd4C_Y<6ok0vio)6ENVfXsM8_8mwX?aHXQ%70ajtREdfX?J zIy(8 z@~D4Mk;kP`_5{kZ!7@DsG5Q;6-@^!_k0!!H3B%sw#jwg(*&8Pdp-C?S#CYr=fKb9X ztS_vW4oZJQe6^uMA=!4HFsJ$2*yq2KMkRiW%#`)bcrxv3;&}K zX3wNFbM z0!Ly;?CKi_`{kvF0{4xJw&ToMHTQ!;r~-{Sg(5_aIazH~OJdUXA?fMW`PWUyR(OU5`- z;rM@!bx3f@?(jRwwkYa>97_RBKU8I28VH5V%aV4%d*@YIoaW>t^ieO&kD>xT&sAd# zQDxwpB7{?BC%QxS>~tQNH4k!Qz&P6kV7D>FCM6M0kP2N6*EM?SiU)2g=iZy=Wj3o9 zViDeXcr1WCwKw&qDmOn$8vtvq)Jz1WZsULKw#Xvar3sQSS@FUYUj7qSDvlf(;tVtY z4q5~CU|qAV-JyEGos+k#dE09n(^aCX98~2Hh$MK*xqxhh5SdC`Me0WxXM49 z({B}5_lj?lH>XZ{a~T!S@E{($b#3B2l1(!=zV|9++9C} z+zd#J+IWSBE4$Nq^ZQB&?dRr7#sIV5n5B46*8GVni*ogaX+1Do5Lq3kp)$MjN-{ek zOXE@IN?XoVP&rqs%eiV*&XqGcSJfmnmviNAByw%scN1p0HYvVgjIXYO@fE@NN??2h zF?)V@vCJP5b3sy4{PQIx-!Omu-&>}f&$~DR3QrmGr*I?CSdA(p=B;XdP;1r)+;N;$NSe&lC40>2%5%zbXJXj6@n-EJq?e%!+medqZ>A-QD5L5 zo0$%BwW^K?0gAJT6R3YUEr4aAG$=Ox_#u|^CaLXq z5=-pSo_cJ?;$MGe#e*F?^~bR8rMd1I6(I7L%a%Hy)*#|s)9-qPnMAQA>4z6RsPcp6 zDYo_h0e{X}=tJ(Uv)X5HV1v~fZN_5v11RBd2*5WQ4)0+!g&9WtvHE7Fk(+uyTtZBU z#p2vMP^I%i+Oc?3x1&C8P(=IkGGgqr1Mj--hLp9TCN+Ojb@+&43lqhd##MV9cfc?Z z)j5$&6B+&aqY%W(2iomKGj`Fop>}&xxIu5$-jc7 zjRDZ>TibYEo&UD3@mtqW%NUOxP1gUn#mqm&V#YWTB14^CY+KHl68m7Gy)-*cPtgzV3yheXi zDc_mBjV5nUKEuzTVY-Y~%NmR2+8|g|i1bbH*E|No&2h6WEb0~c&=#haGM;Y!?i+YF z0;$9gMF$7hDzdwl9In=Z>662`Ag;=n-l>0>Xoc=EcEs5bG2GvhZke+so*jQnp}};u zW&5JEZd@xO*l(#24C!BEx5Op&^Y9{biL6|wEp8iy3R>Xyi*qWuv4^D0^^Fb5^k7_A z5a&{G;22y%^882`JS4g-Q_s*tsny$jS>I=2L20FlV^$OuIZe%*=zT6MB5Z}V3_gEU z8G6o2(Q`6=A6b}sxGU67S3)JNs{d+!t&uj84az;5X;GV82aVAWoN3aDN**eqas0PF z`$qNIr{7DTeO|jonkMJ}`{*9JY0i)9_=@sSmyF?TLz-(p6uJp@ZRw}oW1AQ~H^u0A zyBNK-XP*dN4pM)!2t98Xp|j8GMjn4%Z6iA^To)y`3X-!Vzj;A&W`VLBQgI=&4xyFT zSi^kd{M%qds)bF-y8FTDd`?<7;2I+J-H>GTno~I8#va_f1E%ES%CFh~td{nDenSx< zpL~0D`J`%P@ynvxWM82ws@g0h)ULFUNruf1y>w+Vnz)XzlWWAYA%}ZWr1O7+VqMMv z@XRW>MUk&gQZ|*2n{5}T%PN%99kLuwaaa^X*RHMjuD!gbR2lN@%w(Q)!(OJWXII%w zqqB`0Y>d#h$2Sw^h-MXvbA}(4jvr?B@YaJbmYNaXlC&V`60q)rh%ugvVuqQ=#LHI) z1P?j)v?yQv`JgX+w6*?)O>%#*N4wvH)oQ$d5CBAdtQd#y_pz#b!)JfOHBncI&)0=W z*aQ4Kf}Y=6PC&~Y^ggb{(B;*-4w_t&#J-iv>Nle%72vD831@W}E45!(^kh@wA_bTVat!uaT;mB*Y`{_VP4 z4q=VmJPz{ASK@Kht~L`dy?>o-IaqwrfucoZBB%qc`ggHg=WEmB4!0sz%Y>gAuPSSI z{TVqJyTpC&&Ub=du+xV?zr}PNpNjCsKVK)s0FT`34n(ps0LOndUo%E$o8L2L9yZH# z=sUb-j7feUrpiBvho=&d=)hJz;;8YLYoNx9)g9VrD{2s!ZZ;WdLkCv}QitqBhSSxZ z|G&|I?q zk7txodP|Ct(8Yi2=rqljZ%*LSN2(`3t)jeoN_HGUtlxF&xur*G*W zi|I@H$9(!L{o`c%GyS8ORv72}Z_60|_%hA6x3|^>2J>G->1z7ZGJdv<%gf8zR4e%# z?IGRV!_#H_Lhpf=kU!})(lii$;vdW8=d#~dqZImcNgTe^LOA+HIVvM2>GCIOJmzXtUKV2*! zg;AmySK!kkF}_p94R%R2dlgQ0(qG9r5ZonvWl_#a2kU-7|3BYZ4n`s=26x~o-Fqp^&-I$moyU$)6=X_}FcLgp!iln6+3n?} zXW?hSy#7gyg6a}NB2J3+V%|H<;-1o7)H^B8$b)~Q?9J9?304!dHi!rQ6!8VLg7|>E ztX2ZNFkrAlp|%sS$d&`LOTlq|1kTU&({zRJKY}oEpZ!S?15}o4Pyu6)0ZVyEi1kFl z;~K$CfX!l!e9q1*@>7~5tN0)AAJREy^*;MRa5N?VB=9$yk5k-R4GtH@A%+Oa=~=1S zS&@IxJWBHg9uQhN$&+7m3wT$NH`e34`nDp3G0Y#5#3cV=7y~zmK+LHQ99RTNerq)F7!U^J7>$Oi^#by^VMGo} z&s78gl%z;vqorb1px7Hk0cEea>b;lrFIWslEa>bvH1xPE+EV*I!*rc4D9i<(~5sQz|vY= zy})D4xvClbTLP3X319?huuqOxzJx8E_uxYQle|uNKjdtSt1a zq{C-(Ojk@kczGfR;t_~I-W7j>XoZF|zN&EK;8*}|OL#3KM1KbW389}l8I@^&Ex00> zGtW%d1{q9qssLsHE|jfQ`YmQuf{@zSKf$|9Y2Gu~A-ZjpyNL+~HIc!a8SAo`I$V?r z@s-HF+PbjUSm~N8qa$2-X~1kV%qimn2+V79$K`VQeM=t}7=Vu6yB2?z7!L-x(P*-4 z#Sz)t_H<3&9)}sZ$Y~pRaY#1Vs7)xAi)JRZ!GT}cbz=2Ob9Rz74TSzOPM5y_p7YnX z(P)|mL~bEo9`hc0Tf>IqzK~lOE>U$T$bN&R{@oL6QYzaY5#Z&;1dPk*O7i(8{pn_O!E|KRjwo&%kQTEK9h*5vztEd421^fHiRG+6^;|-bM z7Xl`}5Rso33+cGL@bYr2YgKdR&URalh7QoWBYffmke^3FFqlm~PyliS_0LpUBevs| zJQm*Yt>-`3RKXervo=ZOz}d)(gNi)L>VB{ngztxti+FHI9=@+Y`9*Mkt~KRtg^aPBKa&oVHrvH2;)4xf4a3Z<`Uty)JNX&8S zxTo}y@(T9)fTqELWVNlI*#Ha)8R+91A4J7;Hb{RMWrVVlOKCZS{*eoT_>$sO=E*CY z$n_zTp;{D1Tebf3%*p?;5RclG@U{Xb-4H|5nwOWkC5|Q?lb((^HsnQrQVRKfOJV%A$?>@EDv z-aCklbYtjC=Y(+6y(}j$x3Wi5Y8Pb>TlVTQoqew814{JUXRbkxbD-8?fAhGV@HamK zD1-p54;QQyf5c{z?$<_&8q1(9|L z@`$5RT+&5EnC*R$&)8JNPr}8%;fdg5CT$c24G2A1(rg7ts1|5*_6ML% zt25yn5qeny0iDMc~+fmoE%Jkd6EEi7u(V=E8}Hk4`Z{2DlXC$ zlE#5*sn|YdWcFkMmD>I>qTEUhc@0W_DIp|(`N$wJVqSb8WNSE#{=QBLmwHaWu^-=p z`DDn(o|wH6;wo0;t(r#0Ryo^Ljz^?6z^inr>=f01hznO37;C%7dNg;my+?mW;Y5$h z!dZVhDB632O+$oWMmw4WS~D-`1`oZ1e&u15d(g4ZL=uT(ZDvz#QKTVoaMs$CMucStwKsWx zYQac0ZBO5^3hCzUV$Nh#6Kj8U_Nt7ojO$)@Wvtd*r_qf@CDB-2Y$=m9YrCqM5>Xw2 zGYtve&FtM^qeYbeQPjz%KfBO*kSq2itdkR(s=}kFCoIP2945~={$Ck$PfB`A!rP1Q zy?IuXWul6tPDF8|Na%F!HK^_z-B#lo78D^Qqjade;o-=`B{bymsdj&zh0+#aqlH1{ zvM^x1n-&I*N-C74fsqa8c5*I=?6aas)~ldfRv|L32lno)ID^|T<{@U?I6G8Z(iU;f z87==v#t7UcSQ^=AWJ3KQ#$H6nipTu0Wy(=*+E_Al!hnY%6wgr`qZXNv!g(Jraxiu#0!-pLTz zR}c|ZNgZiAD+RdR0Eydz3Cp9r>Yb*`Ihg634`|S7A?x`$t7}EtGY3QYfHcJ5QPTkQ zGF1?Ro*(|~1tIzCh>Q(Ui#~6W#XlaP$*OuqRFhR^EM3WD~ zi=s+;LSkL8)MEJSMqXxtE7k&LWZGI_%H&XjN}5lX;h)4affjrhuw1!Z3_g!mcYlY- zG|-FtE151gSflulO4XVk0sK3MQ-FVE;_#9qpBZ!gwn=WDh8SEOxf^h%GzVcCY_`etGladDL6vpR<47&)MvA5%#dvXgs(*xO4a3 zp9lAURe%YsOoE*CL$AIMB?(YFMklWpP50@DGwA%qOC=IK<^T*4_ah2HhyXk zVU=1552{ellPBOhFJ@Q)4dVEZSmYFL1Q@BGoS4faY%Y2x$Hzk!~Hq5#cW5AUY{CxSykwv^pXG zdU_+AdzR6@=%2~OSw62%;$d`><;N#=JQSD*4jO-06W%Zv#%sg9YJ&@R?>Jag&|^uk zk&1zfgasAg0n(QFDK7LW2$d$PAypB2o=o&n@Y>ZuSR^f9@rBa!^h&VI*QM`Mdw-R; zJNFmSn*sqQ7#&UugTbQDMSR>m2Fo=dv>*V6q|3>Rv_2V}reFKRXmoG4pYJZgurl!& z!DfH`dL#<`TSjw&8j}{21s8DtZtXkTP8W&)W9-=@Pe-0F?p`Wi zC(aMCw#0?b_o=~YGvOLB=O9zWy>!w@Cy^h`Re@$dUbz(y~!H1`=9lC?haa8DVM6(H=s+;raJ+J z-z?ecV~`VBQLq*=(#ezgaTbJ^ms?7A)d6{W0mrnxZ56*PA;=tj45M|jwZ-5; zdAU2<+A!YBSFiU1G;MR#s*C5vSyt|+m<3t1Im*dxQhW`_1JrBZ#|4j(%m)p)bv!a_WQZ^daqvV#VrhpO>1(WqA2s@ZlWqBNo4a$`|KooJ{PQ0F z`4Rs)deJ^P&QA)Jh=Z!35ZUb{^rBZ)l{Z2*>_aP;P*>by9TClZM7&I)&{Z-tNpyuK z_XOLe?TCuS9}9JpNERJS-6yei+D4&fuwcIBvUnF=8u}SjaUvhR0?>F;-^%arX$8{+ zpqBMa{ofN#g|n2*E!*x4<^O-digw$b$l!CXxUur(Y%IYxnyXq{)lSg@3)AaSX{#Ny z(RK$>#2UVFhzJ=RVCF)mr1lQTtKUZNn}{LDNgR%oMKD2mUT+LoXOfQCyG4N3j^nmt zsh%+u@%_E}ED;2DS0f0lz^=EUnarZe=Y8?lLZQ82hWhQ(vsn;-M%{mW=^OMlI(i|L z=Y0bAmOtB6we0{Q8{Ulgf;wkcXJ@kzm0%r4T2SmrY(2PDRRbtqFwF$$tUzPy9z+2c z+k9EdBq*wmp#eE*m_h9{Op(E4W=c)IjaqKGCntB+SLirKE}o%~-TL+ucyu1rsmH!Ck^rj=+E8AbS-B$P+kVrY*PQ zU-Q>t7=Fh4QIbnmWmf8-yngXs$Z^O&ns74q5pZFQ7#qc(M=kcov%P(Db0eIIZG~R| zk%<^+CG%};r2Dt5tsAma8VgW_yopkT&j=u4=rd1}S>^;~iAzu?UXh_Jq@!+KEg)f0SU8{w?l(Cal2~JerPHuRZKYyWJra<_&+WvyNr~sQ*=(^rZ!sQ&&Jo zYNU2>sAB*eDYlJtENsHn8AB;6>^y~SAr!!Z2j0LKu#F7Tiqbu@C9EmkYA&q}9Ojwf zK%FT25PYywuJWB`4~3rlgJ%T@JJLydauHEuPxkNZenPVATDs0;+rZcUy~$YGQ27-| z-+v@mY3qLsexWnrX%ezIX~v4cWI0E*TFR{D;N#nFOI&q823rYrfSCI^PZj4j}lwlr)LK>0hR2V`CVMm~k{Kdw%l#%Y~Kb|WRXZ)Fwz zK)nG(I!B_2kzqTbpN)0JeSw!Mt^GnI-$c@grc8h9g89C#+ATCtx08ztvNb5W(=yiU zSAWE-B(QGZpmoW3GeB9iB`Z9ZAebcgJg8`xvDsK17pfND%XKY9w58ELExp}iqZ8iB zEf-LFExGJtL|P+nZl-ER`^C>us3~6?hfDLmVBg_<9ia-S_Xf#IDo^0|XOeqlewE!E zD3yODJn4FYsIV`?H=@QYt<rTUHwz6h-+)tS||z%t2VqUuibK znAs}eh@&;H{r0Pd8piF@$yS^Ejj(Q{F#>-83z>d7{i1zA5hE5{R}Ymniv`+vU@_71 zg>&DFI*7!=&TSwQD(zOX^);nC{*PNzH1kVPsviW`K}3|6fq|j#AJU)M+?+DJXqSqQ zTJ4UENg_SHR7|7uLiyR=;IcsbXqE2owU0fw*Fzf-yl?waVIeJjC?SubnyM*QNj!fH zm1!6std!U)d-`F-4Q&N^y?-#uCxc()N)B@CS%ubn#&h)K7^l#w$0^8R99C{I!WMSta4db zj&oGOGI>>WEBz=@F_x+t6c*yD!v23q{P5eq#Gm8jCVnjENLe`s0QRePjti>I^L~0 zwa{(-Lg6`(aLQVTKmGj6yH~jM_^h;`^85<60}#&$Hz1h77M)}46WR{Qh8@ZxYz=u8 zmql3IAcqAwgRSAkX}_J#!V7=tIrx1tjn0MkX7daV5Ls8{aKo_!_MSrXN+#snY|5@^ zknYV|5uB&F8WhxlM)N4XG8}6hpsz|Yf@<9e=V`n)Vwx>v`Lzhu#`8GSD&yvJztqw{ zW$k`O%0+2t^ZjjHwO=yfT_=cJ=K#)TB1$ilKd@5RS3>L$jMIW~S+0M>f6_#L3;|X} zlLuxXPA;Gdc+2D{uwCSjOpr_~wu57M@Cm>(aTbQLjGr!V=E@89THY($DIo(JQFk81 zR~Y6;xD)}59Z($Q6oD`r!xP{%oP~KPPyk}1Fk4L+g;=}cjy=|-+e|yNTPJ+wRMQ)( zX<~mWCsZmi6>J}P0wjM1;@4mx`&L5kOt^a;H9_AroZ81x5gV>>-H0@g{;kXcOsrqo zwLDP8*Dc%-X%(g4AyKnJhOIXM!5{>pX{H-@l%0RY)X;~iC|%HkvNE{> zsjI;|L>5=YVO|PV0~v%8Dbv}E+NdK-r^`ayC+|)!!^!72N%~f_#w=kX73#Cla&9cx zQyZGI0lL#fiEK2tD>;lvt(bmz+F~*Q;skgIyPTxzER~iGN>ip(6meVnQl-X{i3vA; zzlq=>Dp@x+W=elYKmz5FP%?k*QQ1LZrhp0?^AZNAH7K`T_*|9!wnYzYZEyUK*-bT=1#?Nuo?E27eOPZ<4a2dGG577o%I=V@Gcbx1&?l|dmq^el*B!DrAb~H7E*e-&j0F`2t zn1s=+RA7JN$6GV#Gdb~rWIUdoIN|a1#F^OA5GOr`j&VSt#-B@z?Yfjxm%_Y`m2ZXi z6U{BdMC_=T4vT<@xxPE#IHfsC0eWH&X}JTxHxBmFaUf?5n{^zVj4{GzZY9W$$vS=_ zip#-jonFat$!<~1AR14h@pLa6r_gwa4N}NdEAM}#$gaB#(wBfK9ppg4+Di}aL`JN$ ziIqAro~H@CeDGsNsZ&UuISHmuAsv6BMn}1pS=i=;#D`}^b`X_ha>a7VMd{>n0$Ftl zBRpF@v2M}W&W>T}aNp7sNBqw5H_Tc2^&1nF#g0fs<4dhfeY&d*W4^=zEU$B&#M5x8$dXAW#y0sVn!nySa1Lpv?g(f2ZqUAt%L#m90b(;eR z0^p(rmj#Z~DvQL-ut*%QW0IJCtx2MA@gQsx(dW4cef#MhYPZ8J6v|pGZSg&Fa5O67W%sUCPj{H09a)gq5vTVX1W~ot6BeM@- zCK)*>OJV}ALW7dWPi|`D5h1q+BpOGrIp=29xyXW*S=RHfU|o8R461KGx($?Eo8vLh+CH$jw| z8e7=QS%)x(>V1E#$J(r;a#5^*M9{(<;O6EL!wlJ#3~bYQ1(#0ED+|CbM>HMI!G5NI z{_29r^V7>ti!6cfn!t@OjS1hH-TVQFlU{O4P_E=aupZFSIam+ajWwR4eHYhy+KbAP zdClIqymPck!f&tjkHDrYhr__Gc>oP4wm2+0Qmr_HnTCH;=e0QXxUvk07icWs8%J9V z(gj&>3yh#6W+Qs2l+PF56^7lCbiYiqBAzRe2G7?W$kc7OIr3B~yn=KstUTj}972$O1OampJl8r{M=yFw(S&owmH{$IvIhNR#tL1TV4S(rDE%l^Tx-G#5@c2wUfngW`wWFe3d*47Yl_8{yzE6RLlg z+W8b-k%S0dr;{&f2E{?fwQ#VAF8HD|D8-$vhO@5W4-;pn*W)O7>mJ;C?+{y84v^Ck7%KgRZ+1Qc3H$?Te(81vu20YDp&tsT z2t*^ClvshGegYV?iLZ!QYJek*HJpD5;m}1IoRPigNMm9GLUcok9}~h!F|cvN6iLLcB$Hap<^=&gi~k* z=-1#W1UlaUh{DSf-#{V`U&%6PT6cm5FT3Qm$3nHF;=;bG>K>r1L6J-0emH+}dxB1{ zJsBzpe7+y-TeAl*e8h@Tqo$%UZw%1NF$JT>r%}5}G2SHSQrx;raoJEi**IM4=;R{a z(`Casv*k5}n_`R-qg0vk6*;XGkHi5O>XveHEg&3@mu#c5^e>g1LVLPcDFFM8W1Q zi2`F`TL74aO@WCie#NbgtVAV6KA;;$2XuT;G1j&3672vV)E{8BQ1!{L9TjBeS8Y+L zIYOdcr9NVOZx6IMX}xj2myYv}Kaeo~E*)`kRZ2PATHx{7^XGq0&f%1FI!gkQ2WX7$hYC@{kb7bybyr(JZ^p>20-W6ng#yzQ z?xUFA9-ch4HJYLhyw+$?3~#}s7y>IXMUK|O;AJb4K@r-O7pO^Wobv`!&wTs)9(Bq4 zN$CO#cmv81Q2>;GYvJH5mnVVUoXJ`wN@NH_b@=DQmBhjFWetBhOcxN0|)QoyP6M{)%E4b1e=@diJnVF+3Y_BajvJo`a4PV!XM05yPppOE)*= zAyO+=%fsX3WsHl3;bi#$#oaj?mLRU79`f$<4@p-z^sKD_Li{ViS+3N-b0;cOS!KoW)l^ng z=o{Fq87>wyFzBnq(q>A=x*I(rvKsK(V3iDxh%@OS`7wVuYAWzr!ch~lrZaFKKG7rdM$kSh%8s;NIW6jvkc6?+y#JG_U&TFSJ#U@5r<< zbfW3V>$`u;6L}lZ;$mU)vKt)t13D3QKZmz8I%HGc`>r=0H6qwhxg%X{@nGR3NGD|NJ53L=PgJ#E$U><;A0rcebImu zl57IafSx}eI)Kq`7Aa1CQk}Cnw0xSo=!g5I(2jp)_bJ`K0SRrj+jb}9?E%D7n+Kr5 zlsb|Is)V=<0Hn&Lff91s54C2T?ugk%jj&!u@o2`%Cl# zwKS=@0uMYs8Hdk%V_S$HX*mEyJ%8>Gm48ftXrvn~#H^?>7^cK~F$f=d7O+WQDRuwb za9@AvZ&}Z_ie$NNy|z7~#TysOz8Jb!kq1!+j*S$LN`XTtJemLnHnb6`Y#OaL#NLYzJ4pbnaTT^MV zQS4`DiYoQ0$eb7|X0LgMQR_hQlq1WOQ78vbhc(;FK=4hut`fJ)np0mOzuKvnUzz#lU}I z*zo@I{K!tDm=Vk=wUL?|qW1oAcH-kd_xEtbSrHv|+wbq&@7^9B(eHiC7i)~h5ToKd zwhKc7K2|u-)sFxPPf(~LYSNo*C~32Wc>6E`#QPFyryCTE-J}Uxz`hS|&q8Fme{8W$ zXvI8QT7{CaE>u)1a7$Yc{tZJAh-`nvAA;|i@t1;-sqc={Vy)2xBI}TufGQ(4x!@XQ zjv$^S*%U38Fn5Cqs)ZsaW28F(!Gl5X>2PvS zVejcvPwScx81DSpaL}vE@VtKismwr)`eGA~Pxvh)u8mcKgcZ{cIG?sqSG1j8Gk9!% zrq#2hZluj?vNPC`Ytnx@*c}W9-cxN&+^2);)_LxZv2otB-C~|SYIjHN2BM*2HJ%Qh zx<&f0r@ww2@&fh;MXE^i20MSxyr-UdKxjv)DRWejJoq?Z)k7q2045K2VVdH9P69B8 zd~KIO&Wv60^v2WVZYJ3&$q76LctaBH7A2j|l1$sJqLIzb>0Un^NYBeS(jAybAI2@# zG$(#7(vQKh%WtgGh>AP@RM}ivfeja|2|nv78U*MfxWl{t+v^t}*)e~r=ECv+{eS+i zCv9nF1(!A38;mo!{3(LWT!;8kr{7U7!Ufv|)sy?1Rtm%3+Z*1eBt-yLK&ihLz(D2o zMV^N%M)P&j==^*X0<=i1AV<%pLUzfRpx37tT!nlpQ2Jt}@f|U(UJ583YQ7YMsqPR^ zs@e$piH#327K`BDU=S_I0M~PW8>BBfbpcmrWBdQ+BZfu(N@d1pK^E=~ob3zYn>dte z5^quYPAU2_kVmkN{yD;Qc8eYWf)-bAg(&xhOdiEswB{fu8ropS8Zl(bjtU7;E~r+S zfbo&^#S-*=g_6&-6-Qea}%e@XZL72NwcGNMy3D_i>etE0>5 zl7`b)FLcd3nTCGB<048N@9WtIa!w1fSHRC!@WFB;0M@~1vh_*8u^mkvb~8`WS`%pWY=YS1^{Z{ZkV>Cku@tEwUR z`ap}|Zz8K$PZ_~~O=QRws`e{xoYAv+E2vbd0qe3Evl=j$XDMhAkpEy*iLz zR;sW5`1TEHEENGRn;4n`tfM+EO1|0;YqrAZw^Hdb?{C@HdM1zTr4WG$g{8H09q;c~ z>rXbR5!ONZVvzt-+_$nq0;b8rF1yM3IRMJvl<=uuG$zY`{Zz=I{&}LZV1=kGSSc#I ztdk;DWNf-9NleYUA|yaNX!x9b3Kwv?&?w>xKVOA2;?kLct3~GjWb_TPwb<2^M{ax? zo#g!}<0-igugQBo2*zn4j zOySgzMJUimOQs&y-T@lAs+Th+J>_*k>pqYfKt77&5T9C1r*f-5a z#&1xwP)$h2$CrhS`VyXJIA3r>_zQn!Z{rz2a7-ZOx673h^eJsN3fobWOS0^u{hg3z)L4=!cm>;A0ET+uyeNl8GDh-b7GxP>5kN(L z-D{nSORVVv;QR|ZOjB18;f7h2WLJC^8YKLG4OjEWAc|43LQ3M_HYcZ*`G1Ij2LZtG$%bo+qz*trYpmKOtnRvR>OXjlfE(RhvYG8 z7`jk4m*6ifT=?X8b;!9m0RO;%WAvZ0!)d!J zt#3O|Ic=!Y2DbBz)7+j)+_8&s28HD0Nz9A{Ij{m*-R%_>3^a9&3OK72y*4+mh`~{7 zQUVVFIjy24HI%!PigLH<=E~Ukh&a4|J@RfQl(du<{+P67$p}qkvMFv(-l;-`{PoMl z96fiSYIskI)Sa3-dj77e)z?y=*3{DT3)O3Rg7CEw6||JPl6>=0BcZMw^-D5oGpVjD zk4s=9MjFN3(o7s8Cv_6kysM!rRMjMA#0Z%*r6enmO%Rtx_mB4wku4D%f!UdVXY6}N zP$FX}3Ug3A`cZ*dMcr#aDb|=R%S5A5pv{0RKcNV76CStvyUk)I-mjBh>Aj{ zfq$H1)V`W!H%zmqyZ9xiKkTX_GTae2wNYN5WnLU0(cPQUlK4!!!$VB~!19&I` zZTlL11?A{@fl6xL3LdO%cs2kyBpn-6n=%%tnk|9QSI?RjE)@DK>{CjA5Wr+DTseW_ z_M)RPc;+qyijKfoeVCpgige+XMNER%FDn#YOX&?*kKQ)EyJjtWC{966rVwcf%VJN}0$Y_orN?J=S%f1E$(9InLQpCj1FN$U zme`;2(ue+W2n#dkpk$hVgIuIwMN99AetiVjK^gO6&1p3Pd?sy8jZhM7jy*^AUBx6j z-47{dif$_1V35s4D+by2C|PNB{tL^c&`6`6~>A)S-T zqxa2^)p}rh#e=4QLG9{8h7x+I(udRi`lVm*o-}NGsFBY^Fl+eyM@Gwun=Rshks1bT z3<$fekWu@Wh+~gxIfYJbL_LRokAy@A(QF~j0fc(FwlP>msP~yhTw+%ZR+iy1*=NkxZys8C9uFDZz?Lk194Sf+8N(WKzuWl8H=3_Ja1V zj9D1?ekx6b5RoNDa3%EJvN;L_HTsYpIu&|MXb1KHSQms(y8MeoBrY98r8iDTmEfXR zaHN#Ur*tiU@+qyuq~N%w=#NF(oge`NaEb=d=ghzf`poO;NY%xTQf+kw8oskj08vlRLVOg>pqE>CQF8FAv#cCMbUhbQTIA z_KIDiiO+@lY9VZwB3i{zL4`NuiIf+lR3k07DXgo1tAZjY_T8|*tx3?GnV*ShCjjKk za4_cSZ)w3!3)o|b<^VYBo?>jOG?~p% zHmYx*2r7gQk+No4%Yq^Q|lAR}TE z$^zD*xrDAOkw`u=`c$h9b5^;++!mkmsU|g_DZw}%5>qjAtT$StD>}88dWj10RAiYj za~@H2Q*^^Ao++XFska7il%b%BVx@yD3+HElvs>=%kt+_VUHqplI3%yH;nu#xAYU8#u6gsW_ytIW*XxnZ8!8093geNX z&C&;=KMZD=KSCWo{<$QT$?hUrghvUf=>C>Qxem@qztGSXi^^fce#B6Mcs-of*;U?u zk{VaIA)2eDkvTupyZ*89c|sI}J(58x(WQv=QNUWZbU^D^qULq3m(ZD0tQ@X4Dm3mQ zncV`aKO>L%7%BZ?c1zQn&nXs7;a#yfDE}RGw4)$9y8@&j&hUsRR8zLchev*O=RgSJ zeRT>?3kDRvzu!e!bQu)i-w%d8N84n7zr5k!#xc#QGX6XARW1X}`;X$pB8jin7mt(#ZQ2 zoGeXs$p3;y-&K^%{|M=yq~a*N-vGG7?57}}&U744g}TB%MU4Ajvar==ysN&tWw$B3 zy%MPl|Aha}IChX;5RTQ-y*RfGg!|uhzjX34Ku7HDpM_S12t_IK)hszy5W_3WYZ=8* zZI{}zaPu{sBB!t+woX)iw|=#Mrc7^oVw?5SfC$lnm5%d}q9TtDXhOS>x`rdb2Vc(@ z`E85R+oB*H;il;j5cp2>G241z9T~!Wr=ClVJu1jS?Q+ZPAd4$c0wEa?!t9n6BZ<^eGYd@ly2UfIyDG=mimyz08 z)mJG7rLf8I+dJLeuGe0oOOEPmcX0+ea`wj7>}OoXvYh;B3XqH%~3*q-~|<|e6}9ET^Hn?3%un_x=;R}6*OT!y>=&UhDIhcl6!5)}?~_rOEN)8n3lKL(!X3Y`A>IzB>JQ@F&w#`Iw$O{Ega{t;d&kP zkg~VCkGq(CjuwZLV1_=~0To1>wq1KvpR+rF8&Te!i9TvvTU^hHttU!#HJ5Vk>gIB& z&GJyS9U5&n&x&e)EHUrO9F5)+wYV^LWo~?(`(}BZ$a#6ss!d+_=&rDbf$E$y6knMO zePQ%*YkVCTUuXIkw|xyq`4s*;u#C(&1b3ALef{`iIk|uAIut<(WAb6p zJq)De^gRcND0k?%JFvx&1^312J09v4U#uFtpq#1Yc>}wls(t}^Yn&A; zjcxTkTx&C7{Mt80dF1D?k=~OK_V#G|W=W^_v+t6Q;q~Sw{y7Dx{n@|XKIOyk4)*>f z?>*@n+wb6iWW4mft#fuB`OYUOv+s^PNT%Bs?|UQHequoxz8|lAclU|4=)g(-LOTl>j7=L`Hi=$zS4UQ*AWH2*KJo_sEZg2h8E`2Eh^f}!*&+s=&wXNJ&O zekRDZIh}@!{Bm^Zq~ZA~+XauV9Fpn>r)=Uqnwj5!vOWWRQWFT?P>z867<&j?Iwh9S z-8r)8N3WgpMK(Ibf1%HKbVI-5tNG|?>108AO7`7SzIQD-Os7kSg1w(2MlW+;$=okX zXMuQ7oE!O{iu`5y;rzkV9((k@LL5lTMaL|W-wv)PZns@}-TU;q-|_p2&vs!k4iI`Q zRdx1%FknLFw|ngl2I}hg*^;YNp6FCQ(deC^`~;)jgO*guPwMiEM5;j zrMW&*2}b6&o~S?7bCiWt=fY35_FFvFdNa+lDxT_dqlVFwcvtnExi!8He6u`G?Ux)e^xBVK9^b!0Aue0+RpK1+U8;9VolAy1D z-`76X(bqrKujNyHt9Z3{k07nlryzFda7%y{-PaC z@l>x^>Efw26ULu?W0ddUseVaM^^N~-`{hzTr1Vt3=BN4yp6XZr>+K^x3}0aHKNU~) z)P~0v61=SgeyYFFQ$3}p`V&9ZQ}tATAMpM7NbmCnKGkpO=WR#kk3YiueAc%fB`*r(KgCtpOrTm`TsYOU~^0`0@3d7Na$_7fKRm9Y>z49=~J2UK8RwGI2_8v z*I#my0ErBEs%6ekFmsve8mVr7Po{gGo(_+{$be_v$QTUT<7s#vT+MQs{!9EhPHy7% zQk$fXUnmx$6>huafbR|NKRg0jg_=WCT^hhkWT%6XH^uY-Jw_@N+ zW()lklh+BMmZ@B|is;3{VFr8ws;8XZtHecu-l*hPa(*tqq70>YC?>*xvr=H5=qixU z*Ek%rGUZ-RxH{tYp8Hylwk|V~ZT6hr*z80))!{L8!so;N;g*&%f@$pS`H_=%d~J5e zTDK?9pBq)SqD^>!Ffr2S*MUaDE%*npI4v15q@t}($6ONS?J8f+lH_x-8d@E53Jyy> zx?=Ih`Z9=R&y7AJC!>{rKD|h0$^6U`&kU_J;_}3WQ!Qf5@(pbX3C$OsSnl3lXm|AP zw_Hsj=P$}p3C`edIcDIYaX|TjE62SyJx?O5{8#is5Rw;&w{h<7S{z>)gA~ADq#Q8@ z0p>7YFhtV?R0rkGnL$}JB>n3Nb{=tOiK~dtB?A4M-STP)9?DUF)K}kj(C<-te^2j@94PDhyaf12O7^Z5orJ5|buk)jF$kPdhH;_-1Qp=$v_Hber5c(6O+lDWfY(sy@R4XD;wPO_0 zTB1jW@^wtXLHDKrnju5S7+5U-3g3UoQMdpOT7%0tYW>+q2U$V-314Z*QZKe4|Bt)H z!|!b1S<+Lwgb8eJ_A2R&2{hyYwoqvIQa1vn0CGq}My(T4Y!qvmvgdFJDGB+XDxd}OO6LM$_ zAofz6BmZj2^U$u+%q|ez;wp7IrE4@Tu2K5HHA>BE6s)*LDP1FUnzn%Z5wN)#=?+}%|_hxCh_T%Xug`ApauAWH^? zV-dyXqMy_w?h4=GjK{bz2etU84{9L?wV*+%_fb7F{~3#C@(zYQ${i>-ik5(n0FK(x z1yvol<8>l^_~g%pCl~0j?FSDfL%V2So*(y5HaDMtK2<-5L-o_5Fa;R~m#K%NnLSS6 zB?4+HId)N;1!QY-?BOpDfAvqOCHOTs@o{yM;~n_n?FewIj~-guJ@I2)NGSG{%5TQv zEf|gyUM}m0HokXnutkb7f`kg7pQLv~jZ^ye2 zx)sWQ$q~(YgCS&_gws~hekqrm5&5tRJ?w5E-|I{N*z1$4BKY5l@Ug8e>!ox;tvdi$ zNW+9?afxS$eyP@+oCr4z&_&!WKt+%H{0H`_XJ8e& z*i#NGtQ%J4XrnE$9G2!L=09|;0zd}PqjQme`#%jA=>UWNuHA(HrDbl^=qO{D;Z;n^|z7l#qlQYtr*YxcoD@F=O=d zJc_3u!Y`cpQe|4wOhmM`xmgbWnq1AMN<9)rwK(?z2W?S=^v%W>Z6o$T#-gZqf$OYQBsyY$l| z-?{j!k5VgHP~^HQ*CQt$$ZkO`KoZr;?vY2iBs?A`_92*EedIYStXj>-VT)3p7Awf* z5~&w67|UC*V%IP}0gi#KN$6eG@Z_Hgt}>#>ka9*4Y21a zVA?AWLL}n$HXNeB0Rr$ZIiubwAp)$Dm$5%$O>z+d7Q56)D{-Ln%7Kg@sO3@g*X2+M#g%mSUtV$LS6y)>ovlz@QBqBf!Cm)Z%94pC zZG7$8&K)4~r+GMEBxx`^odvgH3OJO;X0|&3(Pe%#J&nUG2ZBPE5m&^BYfhta`~rNi zgPVYy-1NrAoCKC+4Af9)5ZIA_IrXV2+P>7YcgTsMKB6o0b76kY&Chf5^TPbRH9rr` z&olGWR5~ar890Zi?EBgmaTtoT8q--l6lT1-Fu{3UlZekt{JduujX(o?Lu$lWwEAx7 zB3KU|z<=roOq7PTQb+5^(7S<4eNZ zj1n)6uUEBtMWJzw_j@DUIzQI-uA&O!7&AC;(ir*5-%Ywb=Fu6@08NRjgnD zllQ=i2pOB6|EcoIe9>8d9zc}})*6KeGj`f$19IR0BBxyK(%5LZ&Sro9r=mmiD3SNc zF}h33N*!B}h}wdPdw%kBT1BG)9!YMT*H3=f$yaE@RY$*K_o{`LW&J9a(}O9_urbThOn`;WeFbzr~R`+5p-D?UD&*WzPylTE*Cw)~f}>fO)fgt|4X zgR^{GkkrP1_|lpqHUS4+-<)2n(tU4OWq}aYEf8m|Krshw+uoGDv+~O>v1I*N=gAtN z;*FmQ-Yfc)!f;oA0Jj1YZV5Dzfoia?t>`E=R|5IwiJ{l*+D=#o70JpsHd}G>477px ztN*CBm*$IB?C?W}{;l8C`8wy_=#LIyOQ@uvs@xIjl{i28pSP@_lgLa?{T26@sU8%Syx81-#6Rz0a=-d7w%_AWsv4dp zwUG~HiFSPO<*zcAa8_(ZM>!c1CCG6x$tL zJAl&S{^b!A&B6=v35LvA+Nie_-Z~GUuBIf^tI=UPD(Nl3p^vY!;pkmOeM#oLtkFAq zLo&jjw|`M`!C#cP@aG!MBc(g^zE1P#Z!-7Cdd;JMzdiZ2C}FY?K7Kn3VJ-Z;@qt@~ zm^{$(;d;F^zVQ_UlXY>H3j8g-_2%>G1O-G*H#f8W!0(Mx__sg8rzSvO%XjFnVKxhA zQ8p)+Q^E4Fib?-0F5voFWNwYFn5U;H)vvyudiYT)Ps!9z;g?*bJ(FpNFJFF>7FgfZ z0@DJ2P0fl6aaZV5ATTJDC*VuTl}B?K%~SaT>&bTue$jg}>Mh5}*XAgFJ2u5bBw@ha zlAYU0VSB%bI&>4jNZWKxe|r7v%U2Y&IenSL=h1~w0${_!AH25nyXL_}G}ijzPPV&j z?X|rA@Ami%&gExD<0pDUB8(V?Hbr%t`fQtjs*lm*QO&~$mEDu)&v!TbPEkTVks^0z z({-x#0kX0P0|=vPZq4Hbt$9*F(wE|qfe?=D=#4Z#3(&@{Y~!hHV<_5qwq_ga6cSCl zJ<+yn%u*p7xI(D5-Cgxm`Iftb>(oE7MPmc3Qi30TAIs1>7}_(Gyo(Av&88Dn7d)gE3yaK8i!`L zzlni3fzB)9a(XA@)K5ioT5GI~YqsWp*&Ozp$AV398}13K{L5mUOx`3&RgJ?t(C?#T z22Ewp)N=?)dL_&EoD8Ga;_jm^Njwui7?kE!?LAZKS2ZVayRUpW`P^!E5lv1h0S+}I zJQ=AWWm}dgfq(*vKyG-RpK=hbPB||{xF|A<_*;4>obqrld9rBg`IK>=dA*XNT;W;9?U8F4Q~%8(jw=l2&?CI_k zDxtZ^n(2z3A$$Lp2g;K&Yg3N@``h?Bm_^gp>i5HG&4S5i42_Cn(G7Sva{b-#eg_0a zDweMMBmxrq&s0Jcrfh{kScP|g7U6r8>S=-xOR=Z=x zThOhev|sh{nDQxDR<94xbXEqRMU9|CtDS1veL=@{HZlZ~eqXhQfurMpy<{BAhRSt% zR7Yv(;-Zi&!@h%dym2kCl>6@lPJ+yKAZ;{}={VBwepc0#jSK*g)o98_<~`5qG-aa_ zq{wPDWg`Wzv$CdaBtUg$YRVQ5G~^VTvZc2^D{0C`g{Ew#Y05^L3Tsx;l+7A6WwS<2 z*-8#;%0|tavi&ZAyFy!kwlBYwx~x7%r6^lYgSv9t)P_lh6bc6umPg@{=_F(A_j0L( z{Fm30iXL2UgvX#qR_U|dA(T^A800CJl~sO11+Q^HR3O?NieI}mzYGM$Lj;9YAvzu+ z7jV#nE?Fsf1AE^R?sP@fAsMrkQ$p07Ext#U67_17BnY=d76cmUp;|A>6T;2uJ9>I8u_2}*3={$_a<*OVOqPw%D-VW} zo<3MK20S08@)?SMY7|9dalULxJiA>{TpPbkq^W46hddpqHz~JKp^Xx3QL`9aLMy{< zluDF@fe{GQ+SNVcCVCycd@3}KJ*e|`#Em@40h#oF$?0b^u~-<7NfXWO;m5qV4I28 zx|soDj>CgPE=2{uP#{-<&|=w zUe2JCQ0-8AjYI1-45ioHbx&z_7P#F^a(?fw3mX>)?OigobV-r+t@1=i?owH| zScMXCH2cG=lG=#dCaVYCINCoIN43vC6-U?nfVKI5Q*m?+9glyM;;5-E_7z&A|8%8M zV=o`8!}h1n=$|^H|Fv~S|G6rorfs9khxGfYd7{?n_iF9Gf|e*MgMKH~PeZBG`prLetlvuNHs4#X zGn@T?sloZD2Iv1V8k`h}<2Rt+GnCnU9sRx*hTQnB{He9sq_t_INqy>b(5`NfWzj`! zkr>*ECC9_-cdQ-5Yl@8tSvkS*iQr7j61$l_p0eYUDf-b6`U5ra&feSGy|>b;PTsyd z>Otnty-@#-SQrPmmjQKzR%@%)-6Ba^1FKZRX~!9KV7r9 z82xa~;$ra6)+{c@?)KI!zaz@KYnI;?;k$Mo*4{&3KPqp%9p+UU||ih76S z(PnjFEV#pdZSZ)OE)3@G7P(cwH&awdB*!*SA-@)GW0_%H83Tr6sb}b2W{O&h{8!$8 znVN@#Zw$6q!)b-gK3=CPgH_xom<_fMi%WlDZC!78A4d2w5S{Pvz4c)F*6xls>}?wG zfY;cA$y>O{r95ascp~zKHg!=2C_U~qiW>4=F_4-pPmHZ5tFMNe)eN_$!a&R*tDiyU z)K%K4pH!y|BgGuk`Z-pLH%_@yvT+4}DkX~riPl+=N`1LLQT_TvHS1GpV@LPtG+f80 z({wGLPSbjyPSaU~Pp9E%F!xx&rO;*aXLY3EPBO@Cy+O;{d|=;m(!`@3%XYM)K>Kf2E*8s+(atQC^K z>8$m0QXX)2wZPbC+{V$tkEb6F-oN(SG6?I-WIj(~5gc+s&$_&(h);f?aFQbXG|Gxl zc=Ga|rZVXWRl4(FzVMAGp^&2j+ZSQNNKapVEsU>gb5A)z{ ze4eaS%+^&^i%*qZ(Lx__#9Y#UR7Vv|C%B$WM$~DcY_U8kNpj56*{TQr*eDq7Zfe@GU46 ze6Oc3FA#=g=t-{>dsKGg`(N^+)J|imPx%t2^F|y~_0*_y8;VA>kc&otOZs`HqUqxb z;(;%htloyD7P%8jFE1$!>A`f0;P@!TV7H{p>12B50qwEO)pJB5Bo(1K58~-zaE*h} zd(&a*M5jBJ#uMr9iZGJ^cQYy|o1$3xtF`uF3-Xj%J-xGO-(HP9NlcBuZ&y;F^k3Q4@hZ=puPyq(D zayizZVXVoDvBt(&6B=tG@@B?ZXE@gM8^*fO$2w~m>vY9fFO9KI?J8MvoD}|ylfs{I zV)!#oD9%#3=Cr6eEox4Uni!#JQK^{~HM62-X4K41P>HBiGeIB9bHYg`NR;r;*ioK! z&&xHYSmT_EU15!Xb3tgS8W$B?Kdd3P?1D-!up<9V(N#0~VV;wY+PQ=JY8T5T-au&} zMrO?8sKkhj;La~25m(IPX$zdIYgF`CUy?^!A7{@(JQ`Q>63wcuitfOekh6WS5oxQ&yl zOdqapx7*E4ytkN&jxZZ-E|DQYa^|e7*OkY?Ksk*PzF7g;D0H$LYU&nLSk^$q>+2Xr z{8AO}4|k=hL)vj!h`2mz4eF~D`MzG*u0g(ywra9}E0@~Lt})Q8lgW2p1$cLYZn5Z=LdKRM0qAC4l{)MwbSlzR$i+9O|)s_*xVNz|Ujf>p2HM)~l zLQ|Hgp+lML(AcD?3#}^JfEzViIYm_erM4bM#$nS+XhWJO*I``)U%x$)$s%u*{4TGD zOsA?gQb>nk_&GS6g)e5wnQrZl$MN-x_wTxYpF%u9;?1EHfw?-FPoH^`01Rbga3qnr zf^KE5qQF~d8tgy6OS?&o%t7OMLroWKSk553n&o!)JV{>%lS@5dhz+m_avv{c8blbkqz z%;jqn3b1_>p3U1!dmLD?y%Zr24>H~Oo(5bZ(`5`2y{Wc?$~{M=w#W27Wd5bMJ7^QP z=nzLqJf9@SV{wSbVuZ>G+Ibf+_<_UEC!>|i!_^wKJ2+$F&-yFRp*(br=QOmN$!9Cv zT3OlNMtfwKAMQeM9YizS%wmqEJJUgbXbpSiJbD32J+vKe2zGKBWtakWveAa#)M>KF zxji7y(p!O`5e6q|c~KHB8eetXQ_F@G{fjN+4x$8YbN2`OBcLF_#0A_T^!5}6bIaRl z0AmK|ciP%Q5;d7p$1OZwNKrDNrJSoQY#DvDHFiQ}Z1Zp$1zfIn>{|X;jgwk`X=$y9 z(V*PpU7{Z`6L#8?(7sNhX-n@poJaXAMe0`2O&9ea3Gu5BJ4F8LwM)Uq@ztzlCRMK4HG)zPZ#ll*KE~^-FaR zX3_0c{3)Ms(Biea|GIO9r)QRb0D>itlsIU-k65B~woog2BR3>gdY8OYrCX_YN}D4Z zj!EJ+q1|j{q66pAC!nFB^7SR0%>*Nqq@Q`h_+F8LJv}TR09b!Tl`fA#3dD@6Q3e1$ z4-c=h1;zZtEv}Zj46=jjc;{tC90A&EVk&=+t=s`HJPCxOyKg%`0M{RXPN4f*G|OZX_ndN*MQi9o zWTRKY!n)?0wG-60CjQz6|ifC5iDYV4$_M&gm9TUhnt(U)#PJHX2SW~*FQ$@awo6Wb+tn7$%xyj z$7)fcA}3fJk;)0Vzt1cs4#lS!ArB&nx44I*f-YyutLH`Aikf9@J~GKdKQW4BX&J(g z`}^|%&O@i&ZFg?UFpvNUw*l|ddqL+Qc3nKvXo~eRFF_YIdH@7}ggOIwRTOLOdB9S5 z=NK0$(=I^vU*p=0n;Uo?PgfCuHCGcYnry<(CujsdQ|Ni^h9grCmcFz?O%ErxXx!Kh zV@CJ)8EKA7XYqgx06we*(o> z$0A_SKqb9<1~8Q}0ofg`JqHa0w;$qN)be*4V0f8TBOq5fxjRjRo451eBCH`Mj1?i} zxf(=O1i!6juwFjC2!kGAukf(etO~#9)w@`v~N+*G_xlixK>CRdDuGj_qrmKavM?&KmbtY!(&M{xq1^95>q(>6LGxnZ%4^m0}^ z0^w;gd}wWb*@{ivuqwx@=_u6niD!YN`2e+Y>nrzq1(&ccZ`I^$`xn!$%M;A9n!9t? zcz2-x8U==bx{|9dpw{sUzT(|FP|2hQYA&IYK(69P;M>pyw;mY4n!uB%T!n#hnu^eU z#hlG>`g8hnmSji`?XLqF>zZzH9fSu{*=$?Fls^o(`y;$QQYdk&A`&9dgw45~kv3xH z-(lqI5xV8Op1j1rm*V?Ue4piMj(-6eIj6sANPokBY?|TUb7+UkPiHCqolk?D|6We{ zZxqnqbMY?!;jq9Oj^8Rxs6v*Y2H z)T_s#9UdLNI{oGapPuU`NBU^SdAtw9gh#;tD@{x{q;is5oS^?12@B6TQo2Kp!tetGqFol%G#ak;_9 zQS^;s*zZH5cm=!k&>qRZo@jYM?esl!58wavYOOu|wYgwreNR+m(zE1Cp;$4L_SKnx zPxa9~C6G37nOGXsMLNJzOaaG5`$fqvDEa9~$#NaF+29`P+S`@D@~GxQwj70S6q$46 zg@P2>b>vD*itIbcLJ3ub$T&lIehU0y?Krp?4#f$`H$!<;$}yJ;;(+FCdH5D!`yrc` znQlM)^p+Dm4x;&n*;c&B$V02V-b57HcN{6PXq`%b)Dt{M zfII*a_~B}P7N+HZ!sTqui%%q!HSpw(QT663{w%B}bi=Ans(%E+MMchbFk;Wd8IHA* z?2RVI!-lUv@n@V_MZ-^TTd&?pnuehCt7gJ<4o=ieXapJtVInng8fPPm#AcD^uAP~@ zj%rR~ufjsNg`6QPS$68nt%VzZhKm6x4{;}}m#q#?i01M508V4!k+5rmNjD9j{Jqj5 zD7&%9F$z?#vAKweT4iYKWHNW@GIqT%_4j!n!`hWcsTP-SWf7rNxq?nD+9x+_x zBx8fVTh%I4Y>_fl3j7u(fbKm%;CBFCS+Bc(p@*oSk%q4s6unPkCu7;X{>vMt!65-v8bLc`Gw@Mx2$=>FBt`ML z4w6JE1(MVox*b-R3k`6e6!2s_Grc4G*1-Lu_)(o%|r(RGxh6veLt z4h1G(kd&ipIuX2;qlKNJ*@Ikp-ifvQHrhhAiAh=@QD~3K<*qB`kS44idmIdqGVqNI zD2oapD@Z>ooYQpdFt^eya~r!&gB zQ9KR5{CsX1RqVYU>B^H|T{8zQPcRkd>aCn>*fD0SHL|qrrn`r$%NvAu2LrnSr2I2g&@D!E`e27$ai(Y*Sf%jPV4x8vrwBg%#emp&~vr&z@Rn} zACG7c?cO_fT1&p79XsxjhO`zb5_c_9G!#}Oa;~;7rIySby+t#p)UuX|D**rB@rTV@ z32$ktZA7MR#PJECk)`9!PiaI?=|)e!qEYrg!dsHyqJ|NjzO3WQM>H=&$TV%~y5?#a z?n>Lz3XKzgbOui{Tad4*zNI2O9^K1&js#u+?PT$nJY4*xoi9kh@eqAHXkOqf(+DWK z5&xQ#?s{t+bvZCRNCHMUfv-+%;+K!uxc+ji_reB6sh}to7^MPdUE@hU>aN#B&Endd zXZ`Pw+KTVLC4)!qNZC8ZH>|x{ufdAt`n$1Q0JSxL+?w7&jkDBz0Vc@tn21-1mg?it||+vL6%@#35VQ7>m+B1xIAgXCXQJ`2e_3sSX#tC z;%I4qgB>P6vuUO;vG^`VP1b(*_wYWqpViM#Q zI@FQBbM@;OXdcHqX-4C4z}l*d!=}cM4iIRywE&-){1m}Jo1gP_cmj2cUnN(cN+Ff{ zQMB#?J%_X%$-{)0v$x|s8#7QzQ_u&Bv3UVOH>*k|?3+AL1+5{!> zI&yniv#y0f@`}|RGvV-m@CsknukdAQg;D2V72^W3iGi9@F^%sUeyMOxzX=apu_u`3 zHqR8t;zYJ4gE(K!XNLmx-kc+wr6dZndA7m1$sOaeiZReI(Y2WHE8rt^qA?@XD3maN z1y;E#(L^neMkHZf6PDOqVW>tO8SA*a`2R!xXSiag zgL8O5QYS&*WD=j@#>@PQ2Op0?Co0o7QCZH|C6B1%>^MYUj1f?3@4^6elhFkznt`Hu zOZIcTw>P+tNY#t&T`!WSEJ|jeo6+P&BuwqX# zr(%uqlnfhZ-ZI!lDS^}#opJf{4c78ec$eN6IfEC#zC zyjX80slI34eOm09la@AY7jlga!(GKfACma+HlEPIUyq=2cxS>!=^$>hc7{=Z{JoNW z9FS$v5>i-;ZOqDT2VY}xFZJ`^e;l++wg+LOGUE5JVlOqhrWJdxYv@b0S4w27uezM7 zX?jtin#V2%-$fa*Z77MTq8HWlNiew#$p8%9n-oP~R@2RQMfOFd4@+4kL+fv`*jmRl z@+(ZTN=DC`+pxx*f1OQM)vQB*nPdt7(QkkhDfyY>t9KVoM*t*^{TX#SH5=-X3x3@x zt%J&ukpqBilsN@YZnsTzfpdidPVQy3*&%E2_0}@}-G?S0)XUT;(pX zbV~tc+T4tu`{iVq#J*KYR4PSVHRZ)cP@NacTPiG_uhhT_Es0xeI*u#69@dQ@B%ix% z-%(?lRk0#%Han?l-O>F;qUQN|faY#&d~E4{7qSH)DS86B2NPQ8?B4SGji`mrCCJ8F zcHK(Smh4p;%&a>~GvT^_H0+)4JM5k2Vawmw<`kqAr0K8?PE`nqUKj2nYM$j;Cnq#Y z639Xu4UPXa8G|j20mY6e%b~Kqrx>4(r^|5~x>O;%n-|3$(%x1nP}r$y$yPoW%Wy;Q zE~?Sl3U!?=!zZ}I^Yyc(;Tl5h;5SaQBe$h#>erR2XL9PLTD8l6b6wNhKXb`)!py~y z(ZPKc2kZE{Q<@r_t5erZ0bP6O`K)*l_~^n508~TR%8|%bze`VU30o85Te}1jb%lMG4XT$1X?-S5>R>fOV^}r{ue)V&r=CXp`Db;~M;Nt>IU_oa@1Q z(`p^w$7t60XgZmH^{Da`Q&c`o+S#8~z3PA6IO`k6A@o)acXhRKy_W#x`HJyu!;uvF zELCuGAwLj63jW8a)MXiqtsjxYe*lpTrc+j(g7UheO3y)`i&$BD&0IQx&xkUQkY!}G z{gp4D(&`il)SVTIxZEk0fVl80UE)8=?tNnOs#bTG1I)7#mc8yuvpA6fDwYRWRi#Z zmhg_Vq{|~*Jw(>*K~D}d=^(cQ}) zR}*a|B|40qWR}&tH&CDsBp3mPG*7h(d5T0trBYodT5{ZqOp69{Jrm@Zg@G^95Ec(c zv;Eg>`@(6rZRvXG-@FaKSN6OuBDGwGUk)jFuBE#e!&|5sq~nxXq-*iR)?{lwqD76X zDGZK(sep87r9AXQ0$Dbz1mdG1CrkG=%HdlmRk8rn@VesDe-+cS%pg6VT}!tmdQggB zA~`=lky}hX@&);DYsxjarw=$Jvqud3?A`D^~W3|HIUJ? zDvBtpbfB*XyozL?D}{ZaL2aoA)6lw-S+csW3=iY%6$6oLt~I(-pD)|pEw!tPK;F~( zs>)D&$dUe@@gJAMY-UZZZTG}vHo(-XRlVA(o?g|1s$$>oc$%X-LAHkb66ca}x5#sH#FS~ibi`VX!sVYF zmOnWx1&5`qx%0H=Jl!Qn9ZIiC^IBp)u>jjs02cSYBmfIfts+DDaX^-ZBvm!sqU4XP ze{xOB<((h!?WhCZ@H7RAr73%=!86wCv8JB$_eb?yL5kMuw^9r6hIM+C!Jc%N@{(u^ z8wlV~CxD}Z0OkiLuO)z^S^~I6dQc{SGeH2uSgk{wAJ}?#VuRG|wk~kmnPx z%k%jRMgQda7(AaE34_!HlhcIvbfby~f9uI6Y8qA&D<~#8UP+Uycxr{)MCeom7oQ*R z3sl^-!d2+ULs*M=TBLeQp^o)>?Wm(B$3pWFr`Q2vyUOt@ z>xw4l=LM0;wTzH~sAQJ;hpam$I0NB)!6- z`PCOAu~eK!syz{?PY2IC>jk0~P^MH`MONWvld`^56Sx?p3Q4F^n#<~5a{m#!#E($l z{jM6utGNGlY8N$eiF*&}bJRp4P+A?|O@*T_9+b8}ju`_+2Gn5x(@wO)IkiLXI!l3t z%Q2_)Jcpdnjw0cVmOanHe<%OYVu14z(?b(4$AS`+_?O07CfL^nLJhZs!CYw!dS+cf zMl!9G5gYa3jin(qgx7N@O5Z5wXno7Ec1T4;PICa9r_Dt2te5p*1n@H5~r(59@t9!R3l?5cdDQ9%0cotT zE(S*f7ppE7O?e=z!_fR8qqP(f9sck^TFM0dzG6|<9QvAY5$m%ji|x-ig z^7_Cqh0b*Ks>!9df8<5WnG2%$H~EA7n|ytpot#3ae9d)`B8h*&gf+{rH{k^r~ z!I2=Lg7|CDtg(oSWm>$nD5w3YZfsIoha^Lu6|ZeA$su3jf5z6(=z7#NEOyMLBwlQa zM9OEY+N%aN_x(5dewiwf%c)Z%7)W-epY;mGLP!eJs_J_16q_~@?|h{dgOw&0pt*&{ z9DS;$4OA}V_vO685UP?R$)0?xspbl;_*E^gRFto)DCNOrX?+D6z>z7=OZ~LuX>FR5 z5jwkuF07=Jf1YspOs=$1({3`69gn)n8lB#Bll3AG-DGWe+C`4Cw^X0+G)7yfx!ESi zp!Q~0CvRSEeWc~fEysZNlZ9br^|t>Di~y_lE~S!>Ik3eVRK{YQRee5kdm2ZmrA>-6 zz1kv?b@CtF0Ll5fsj#~Wl)<_|&GMX;G~WbR;MT&^e}q(^ZR3Ng9QapC<-}|ajc~SM zDcCHhXdz@Jrf|U#jU}cJWHLbeBWB-Hs9V^9`+F@Mu84mt>#wGb(Ldi@e*VI(?H|oX z2eZQF%2b8RMf_^l8*ccP`^?+SjyoN6 zu_5?Ff9_Z@ieyUB%R9}ZCwnGzGQUTztThjX<7_XbPNL)NWDk0>g%%X65_iu54}2-Y zu22~O2%S!*f+}*gXI>GTnNmD&Kms*W<|zw8=fNAbmbDN*TQSwcL`~JHa zpMs1=?ObCEBc95VeFSg|a>lBSQLr?|`)iO!7))7?SWHR|&6ti+(U=TRRJc$p4guxi z!-EoNItd#uXN5Y8pFZ#H11Kz;JHSGCPKu5P+YV1Q<2iYq)Exc0B))j`K>FSze+DwB z9mt?O5a=p2H@#*66!ixN@dh6B99~Ux6lurb?LDCad~b%7{RBIldl8iv~| zZ)S1+SFHpbE7wW$q_2e_gndJ|APO%ZFD8L8*cM=#K6_wvq^+_|JTJJa(Tx zed@szl4`pgZ4GFs7~L%K`}R24gQT%t8bfi$I{}O#*h)xeNxOJ9PeB5UE?&J8G0raC zy<)T|un6`5TkYF-FtUcB1zWBf8dUAuOKp-vo+SI?{rZ^>D>KzE`yXVkf6w65F!PlT zWvry;;!yQ)EsjsbGU&~6qhnem(=~ZQKFOQj2A(+D;1SnXCIro& zLYUySZmM-drCwqvRb*c#S9vA#my`pgj-{(QAuOX_l!l>&xV+bd~-Nrr+R0A0{J z_P!~S6ED9uAftk)Xqro*)Gwdji8#p&+u>VjeH2@tHy#u?ui~d*E^FJ0%v_pImIvT_MY5^dF&h1Nb5p3Ok z4sX$gfUMFMxM`?0vn0lPp|J7@(FU?Y!l~UP@F-8Q4Y#7je|2c0iv$kaJj}A-0w875 zQfewrb^Qy??z^R-Fdb#@<$X-mrM2*N!}Be4C?b?GS8B1XUM}qWG4gO-&s`kmdmg2A zH%7j3pF@ zhsM#GMk!p0f0a9wS@%X!_QHjq69$c*by5 zv~%`tYho`?OIpT_yDFoF%cfSBt~+d%7p)A!po?zhJA)w(BQHhZq`(~j6-j{;JH;Jh0hEmeG;YVqq4@c8L z;s;4K@HV4-78nZ;0HxQQMh?_295Te;zTVq#wcW*8P2*Mg->7>q=Bs-`45& zi?10ypq4qQlbSuAl9{dOkYun@KHFHpCp9CZ6;d!2;GxiSz0-6zN8I_+n8@wdOypKh z1a)SOQAka5lQfd4WDulWMC6i=ZfI-m89_~RQj4#d)S`ZO0=7e~B#D6)`o<3~_4(I~ zf9gDZ^a9h64uZ*Rsp6|v+87Rua&0n0AJH^)erH{106*QErBsE+FZA~1{D>Xiz(YVk zF6~BVrUtaTmOCt<9DTQ_qZW6B&Putj7WakNa5!J&x4+xt(p32DoWU#eKAc9uAsK60 zYn?Bi8+0fqhFwWbGM&~>7GeBbcy=*6f0)60gsPS(uD#jz{%x?~_sk8t2y@01So7ZZ z{lBcYEH_36lx&)}@+@%QUk33tYIuY5ujfaB-u*1Owj}2 zJGEZ_$TZaZ+ts@ zJsJmyO?ar|KKtrMH&B-|a1*%ke|YqaZ?iw%+>B0H^j@tkmao{J?>4vR2kqX~x3fVZ z;q)n`(ajBdWE*tz%C^4z5aQjz>v{tfL&NSC!Uj?9Lf5@3vKl6juWFU^t>j6V5)uJy5bgHWeWgAU z?Bk{v?sxrXSuY|)ue{)ge+7-b{&nlxnCa$CSEhP={aytHuyyGoT+l6d$K!89J!Dre z)%wOoxGlCaOhS*#=>DPy8{Zo5IAB4Z^egoFBkA+Ui-$LsL7OiZmln!xzwL;Vr9zTv z^5DS{L5&aj!mdcoPu?oibW7E)Rxlqwo_#mIyESs})$(__%er|+f4G{-`!U0K?fcHA zSNJOb&L8D<#XxL=(5@L`2U65|;t}e1Xvb57=JV5i{I@+_*P8gM1vzlCThZ16?vIa* z`JcpIl@XmaUg-~-hTH|BW1gJtk27f zYF;C`qGyU9aFE;BRe7tMj68^cux1&&?+~F+kqSXp;z3HsI#BsRd1@^DJ z-2T|+?_DP0ip$vFcC9uo^yVc0rj6WAH}!Rw=B(ZR{*FcIe@a+Wf4jc6%NPchy6VU8 znvUnuZ-Ri>5qqMq{Jn4{(A_7er((E`tqWIfU;S$BD{ek}HB;~^-o{3T62b@L<>{kX z!wLi6ScH*{^SiGi>qjv0_F{;tHdeBl@3-$>EEK{7$jqCAG%Nat%h?B$XXCS8)_>WM zfNAh|G+@@$C0Mr1u^awYf1U+VtoDz9n38oj^f>okYHEx@FV*ns8t{Rm;B;P zH)S`>fBRd*T)Udd;=TFo;({M?Bh>O^e6XEjH?g|&Xngvu9jFtW-QLDCPhaxh@51Sn zSA#h_4w-EsCAw=hcgEKj_7;=JXS5Z)7d>+OQR$BsU(RM9kLFe%UIpNBhotoXP8 z@IU(NfAHV`#lQLUzx?yR|Jy(Nr+@X|{Wt&izxuQOzxy};__zP!@Bj5b{SW`@U;No$ zfBkR&(_j3b|I2Ux^MCjk|Hq&I<$v;z{_>yw1Frt3|MD;X^?& zpa0_j`RD)c-~9Rg*<$f@bS`h!8plV|@qGD%XZ4f3xC5rsi>{Eev!L|Fe@mW+$-0BwC%xyUkon1}9Y5r_9(q%9KQ zPyAwhO`^*GOu+WazIvGveLeC1YP>7$_%r+G{ppzc;o)L_8nA6cLtTfa<_$sn?028Y zXVLC#W;Y(M(4?^b;R7sktV0aL&s?po>Bg)+{oQBv>3UYX0?23uH*eaQ#cy6~7WQR? zeEB*2=GtS8WP8tN%e$fB;nVR`f5XzRUcTy-aF5OJnFztLRp zm)>o6Bv%XkS0B21PqNCnUA=jAC0R8yT)ky=C0XSTciv)Gl2vNW3gLsKf6HyTzqt6p zZ2ojKKl^0#j0?fHTlLxRn%~QxSr7Zs;!5UEPp#8?*N+`=^itI?eSYJhyY0l>uGC?7 z+=@bsXUkVzcYuKxFFv0q?)UOQPQ2a=S7!~z=Qt&RJXqo*ysL!pSCiN@uvLLveGUKL z{pgeTb_xI&l2}E#dQZHTf1GXwL050yz9X3|KB*UX=HFi|cW|M*s2hJZn_qw9`l4>U z`?$FN#`Q&iBfqBm%j~7Mhg*`x>hIql@1VQCnmk_3{TeacysqiUo!B)6ea*$k7sbx2 z`W`A?j34g2ZWnaJmy2CjzvNflKOKELKKo!gd%Ek6^+nzI;dCJ?e{9@k8Tar#r(rJM zm$kY3{ztn;>MkW)9@N%wTi#W&uFd_hn&7&i_u|D(et!MVqxnn>IkGc57vexEg=a@k zfiH9&fYS6qM|?Q`?)2z`k=;lZ;I8;|UEux2>|)p2cHNh3ww&!?fQ{?P(^Z-9n%g(8 zC+Dk;fivIhy5D5ge|KnuYwmQl$aN3SOJ*5w;=y;GEN4_{&YxU-GC6-&S{HTx-p220 zZVmJDN45tYJ^R6fUVVf?@66_Okgzo`9cjmX?(tCgea$hh+#Gl7^>)hd()!B}E_TSU zzZw+qI>&yE`dwe|TC!fzH}#?QO&wV>aAD1^lLy~hH^9}hf8yy%`R%C0udlf#*07!e}chyFB{mfQNdg(|X{qhw9ee}!Fniosq-Dv{X`f5~RZ(plb zZ?Ezx>j6LQK#*bFqbt`pE?o1%yIU{(yz`wtJD+~-fCNsUJf9pHDF}Y#6+dqz(qia^$KN_qKR=hIgRVrOeo?YbIphH*neZ_;9J6^W_ zU7FBn`%8VhI5K3@Lv*uc2BOzy2(#7{OSvN^{ct#4P~ z@cZr!FPrYhJGUSfKZLto=(PiZx<19~wdBDj;MTmkf8B93h=8tE%$xep5GO5>Mw?BCayKTPaiXI;CdP7I3SG@HP#tBM% ze5n7%e(F$byL8phF8jPbTI@&uY~J(B0MvR8uWci}!s#~mPL9Qe^VxECI-4$}W2srK z|4z=vf4Yql+WIT^Q}e6ujwb8NT>vrJj2I@{A;QGP1kv%IYM7A7G)h&|J<#XNsB zPM*xC+S&E2j~2W92XgP1*15_^-9cDC_>}7XegD^MP4HJ^#m?h10~j5}y}vuAjU(K* zlgqA-G+wUz;uyy@c|@AeU2y>O5BfBojO$I~|_$p?1B;TyO6NB3_0 zdU^6j@7~wHp8xv%L1{p+B z{NZwW@dX8h#qu&4Y48i_ujf$m=p&8re|WlivWC9sDEtgsLeZmlr-{8Y5LxYdt<9Vb%)!T`rix3-R#Li>NT?mH@ctHO~%~;Mg3!*n+$(7?QvS?aQWiJ^ULsy zSzK7$n4I7E<+LAemZ9auKn=k^!(UE0KG2TW;@-I(?=;*v@nUl}Bm`CmJMcNwB;=eQ zkJeY#_avj$9jjXt)2$3VbZ6Sde=nbRPeR=Aggym%n+?C39*&=lPkY;i)<^U4gTv+Q zT5*n z&15DUbg)N5v=RJ#XoKo4j;Z9!Z2a9xsmbVVlTc*xlN;ZhvmvmxY`e|#~1`2Mqt z!=GhR#yclzubk?Y)L!8?V6S_K$%Qy$I1N7*_U7={w>L)a+qRw!^{3tY;>F(SXgWm& z?rGt}+j||Aet#OCNY2&=2>KtBWR#^fl-n?Ox-m3dn8LyG%zm4toBP@9)GSDM+D%u* z>g{zJkrU^hkM7UrORpX#e=uqoV12g3y~)Y&52w<&;>zu@AC8yZz>9ak|8n%uen?=C z-^JbI=*IPKuOC=_=$?wwH|xo(@9y3_`9U*1w25kUzXyqs!DOCvAIAOUoL_ricjJ4S z%?Rj|xQ_L;>tFUW4)~m}hE4u1CtC5Fn)6dpUb_={l8sLGhI-KjlY8#)n}u?gW*Dt8} z^!i6^3?PglAH<4hf8X1Wb)6c>X1LfqTVnw(OMF4A-TuD+t7}ZL)%F(fxjoQ%lj|K` z3C?(>&cZ^6yVic0#JglBhx7RNr5NN=TR#ax|42gL*~NR)6I9viFPXHH=3 z*7x{<#>sL%A(xfKk0uny!Z9~$s2EW z>ij{N-+BM``C4Z@NcMg}Y&mZ&(&H3WcZnD#*!lcK?8+z|aAo7xPKK0Cn{h;2H1*a*eY)km_tvpR% zyvWlqWcbeBA*c1is(RDu7ahnp08!|9_KX)^z8Lm zFGmmef2^zeH{F%X=}=CD*YPWfw_l_k4&R;L-ZLlvh`&D4Uzo?eqfe%R%xv`@j;kCL z^H%pRdl#X}+|RtX*KPeR*h_PeuLl{!JzwfM^Vn=8jQ?$aS;BV|Udtt$*k|k4-$rpA zIS}gDe$l1#!=(8ym$#*rm&u-8?v4(*Af@*+e@-ChQ-GoBE>nVg?w-p_+sTK+o4q|V zG<&k>lfLOJ{tVko>3wBMgU|7he>(>p53%#U**>YG4<_U3*`mMlXTQfy@E0!beUG%P zztEq@TQ@&`iIne@{P;*evVDIYFR#DSyNpHIK~r|!27aITTktSf$F3vBn=W=D7D-nI_2!^|1ZkZ$e)0-yyi$c zo^7uo%-T377xo(ko!Yw{{y7R~J58=PhZoTtuJ7u*u;^#&Q}2W5PF6&c1G(3QqIj^~ z$3Ue;f`_*BFYcm>UU%WcX>T6V&FeRPe|X)SFoj)wyBdDUSvu<{e{ULpP$I-oi}kaM zfRYUl%4@VoaWvNRvLk-G?>|KF7$*+?C)2g}ZG7?hG@SGQ`P5GT8-CD*M8BB!kNclb z?=2OhY=%N7!{xo~M7Qedc)ruQxuBkvLeo(CFU&f9;d! zgCx6@Gb-B=pETF?`OQD#AAW=ZevmAR$z7tO9H~72)QcLZYCq zoALxy-qt-K9mwIiA>jV%i;wPT>*P3`qx%kUmv>yDJvjM;m2`<~!eR6KE(F~Bd6vq3 zIM52a>51iUhEJ?+X?n!+CDIP#e;r_f5|C(`T>u5i*-Q?qw3qyxfX_b2H1 z01OPyT=(McTzz9Z@hYv$D~-r5+~^286K{-8%=nFlliQ1<#lhY^#SZh^dwWMC5$uGY z;?m{$?J@N3&Ft9aWVULH=}m6Wd$azLwt3d?-?jzJw183nC_FGqIPiD9f5KlGSFEP8 z9NHq>%Nr+kD>^!GcX+&?yYWO8r@RVt=+uoMj4;E zJ#>$)MvQkZh^r`mvDsYanqm(&Ob@>)-iU zinObT?k!J{Vg2(~8vcDdE6W`}D6)R({LKA6ODH`^JR)Eh3XP4IR*k_+b5uGGxZVA$ z2yQ2btQcE<5n3_aGg+*Dw;?Ro7T#Yzn$MnE%CS2p&2GAZf>vZhe{M{yEN%$ZiyKl9 z8$TT3Pu=fxthgtlf<$}Ab@v}%dHEA}H1>$QZcQiOj&F2qUV&>v(r81Iv z|9Q~klGpHopDMdbQ|^2zS#2!N(Cwf_9GyI<}lulq_Z40m|ztykXp z!`Bpi@a`?6-;AE!)rc2cCTqq0x1||Tj>#`M46}cv&%d1FW`tDZ+3@+&e*SE6)8eJy*ip$kGM*Y&wbJwKqO=N}mC86~+cKtHU!lrQ0KU%y! zXcgNp_{pG`KEW>sEmpsNqqp$eIICs6^tnN4&vn0|(>>|N$+~g!{*K?MxlE>K-pjR^ zces}hvb-p(f4XT$_fOBp5B65So3d+bUq&{Y|EsrarN@>#w`LjNfnSAr)fOz*=5=LS z=kgI2HfU`_S?nD!T26OsSvH^#L?hVk%K(6=Y#5KkS1AiG{}-XI~o+1 z$)mI3J^74Dku;j9zD=qk(dH*vos{~N>XW`7)Ptn1f0Kc}D(a-wg{Dc`HW{>ftQ;g| zu3IbJn(0=3os~&e>Qyus?UBif)rKX=ZEUn`8wT3H_ zlIJvHf7a?N-j>^<3;j7rc)m??4cY1z{iXMoMhVTk3AD%J>+QU3bbJtbce>&zC0k}kOsdaY)qv?O#&d%sj ze{Djh325d65q1E%wYzMR=mK{)tX5;>Fgu(D#Z4L-rm8t=cXSU==nD}Lp3m5v3|7%Z zBpQ&5E$4qQfW!!%WA$00sljV{x=6(2;=%^j(KEah+UT(oHiEtg6m!s{`jdZ+M0_m{ z)9b}(Sq`IU|I4I+QfwaF#g4;C8kMzcf3x*cF?hxPNUHcpL+e2#Sd5dMBu^xk+UB+s z;2a@D^7RZdq=DcMu?bTgn26*im~a}x4F8t3$tF`orXaVb$vQN7@q#!5wqQ@g+;f|P zO}t@ajkwxNJyi{i4eH8vQhQrfChW+cHm+eiY^fqGs~3s#suR4%L`Af(^RVICe-R`K zs)+hf*ES+e1M$v^?2>Y_Ha6U?; z3?dD4uQX^Hwh5_)Wz(R5#9I2MG`>eAh%qY@X*~%|A-9%lJAfE7wT|I()MdwW(gS5D z05uzq8Wx!mGh^;@VCpvLiz+Bhf7Ze);0h?L0Sw6Agx{&^61lkyZ>DrQ2@ zqNrspFC>Ng>o>yWn5hO3FtkE}Y9d}l(4b`+-b(2ELv`iaK+{l&Y zXb&0bz55TM)sp9+9G8$w3m{&8nfQkMOEdgf9bI^#bPa1v@RNH#v1X`H;q&bMx>O+Ohs1ljRZJv^k~70wV`E!KOovm3{4|eMV+^z zf>wcafABNH)46$-c`ZF#p(fY| zahSPsjksGotH;tt+?EDsO$-WAV9mObD8M*+KC9ZcM1_}4D*8(%q+04i+ar0)SW_*! z>sACOFH7;5_DZiU+p@r@q_xObXY7@BHBIX(xQqix%)V-u#6uNSDyzIML<*Fr0*gYN zWWGdNmU)Y&e`sYzB>?F2qR|~yjmj&_QjAY%Piz& z!-^!hnwkhN>bF^~Z9}O`z%(9uQiNz_7wKwIUECo_Y{d$u0VRNP5u^xYj-;p?d{D7v8HtcGF;(8ybyb;V%xZX6j0j<+EHKnno#(t1JE%>Ue8YaNzR+50 zGeK=pNt}s8#A;$+3AH$;))+EtT8nll$2-V1=O8Nh4dTEi*BhiOib6VqRcT|29FIYI zRWFlte`yCqHRQLHMQNoMFvl|6m6!%DshM+$n;}`1DymWxRFT(cOgS&wJMpeI4!>4k z<8uIL6vsXhNl)q1YXdq8q|Yi4N0k_ z`=x=hmE4;DDtV~j0)5$t^+nmW&dD0{>@-ygWx6&vnDJ7p5f=>Be1+DP3fB9eij;%& zUxQ?5Mw)DjiIhDPx1@zR8>I|X3o*r3b(5I`h+N3?k~gM%n@Y+{83HJef|)&j+! zt$3)$O==~l(u3N!w1rAFuPtD6^k2foiY>*Ir`q7UsPTYg8fC=1?BQEzs*Ps5W>>z| zI$E(7akUIliD=-D%JgUictA|3mk_P#e_Q$Awiw+i_9{``1q5$`nw4It#UKceIL2%N zE^>w*t<7DNB+Hsx*r?4f8uN-o%r+%57vtv=WZdnF*_f*+Au5=Hd3_QUmdtBg)<|40 z`&dZ_5ClrRC8}mys}v1FfFmQQoz(Ma2DvT`n^enOXs)t28c0ko?!qn8e`OA}e{fNy z!gUdENu}yJDaizruVoWsR17PMYP(7dFixUoCTeFEXXLVOqP8@Os3Ij+k^+G7CDnST zc%+gZAsWo88q+P&)yT3UqOVpj2CfJJyA?6}O8c5u_#09(@MB}K6YQL$k5IPqcH1%< zd%WaEe1kzrut}NuKGJ+LL_9Atf9VaSd{ESlJTg2R%`k-(h>^8-k~oWqML5Ymf~(1E z2xhM@OD(mQU#~6J))RN&hO~HH^7m!Q@45PVs&n8EaGY_j8=7$ zJeKdOiHkXLj0h7@Nx3;MGNWQSm@vmVkXYa(${v~=A>G=!6n515(QvyPPpMEx5MbkRXdAaY|C83Gcm-N1Nj#63SL^q1AplwgStHKO+?)%L&=#6v|z}oDNJ=6FRrp(%fQ?%4`Z@2I`ERBe2ACLOl|t z$(%_OmwrWUnT~ zu$WAyzeb;lyET!De{6x&uyjvhIY^mbc_TQ+=uT-AO_QLjz;%KhB~B8~w6w&J3{*=r zN#xVw?4!qE=tjzx$U}~JL)b>ZmzqnFFtrq^BsYS?p)HihP~th2gAnVwg1alVf2Q?I%ZQ&f!_+dzrKBV; z>flL8$u=qZ0fh-NUc{4HS&ACsqsG)S6TCZ%caSb~1ZuoGxg>hbGC1OM4I%Z9@f6pU z_>JtFWCFdPiXBmp=(7|T7ugVJYhJjm+5qucO6V(BOK!OlRM#Z8#67xK8kta{##ux; z+x}*mL^v%ie}5p`D4At4BC!NeUIwnY+~AflRy$I%403CFN@`h)(fY;pWr5#W$T?^% z_e9i*TW1-?5(O^}0%84K5z8PG+gL6+5IBs-+Tmw5=pg zGAK18f3;bojv=hpg}C8ANrW>NPu|f|3n>{JIlS6+k!NjhaPh=?@;E{QO2)-Tw$$Je5?r?nY;4o<|NdlQG#h^hQNuu#X&7;?Hq%)d z65UAHlZLbpQ8!MoLM~Z<-j!;JV#C&gW68Pve>gL)@*q;O!csB1ktDC2nH(<6NPkpV z4?CS+qP!Xqgzjjg%J8q2b!7=&QkWEG?dh`-yAneD_6H(UA; zU!DvbL4Q+PDvbP&rFf<4qzA=pi9ATQpg|tTx zeo=x!!Iq(oytjVnf@sXl)uy)W*2|Uyw-wTP-anULz+~QAva2vhD@k=ewBHi zVjRtpih{lnn@Mc(^!5Kx;0oKsrzv{Vv`bEAAa8IJ3!*bIT{$pr!D5It@o?otAl`NG z$HWa}l{H$H2d6~dwRoViY;J=DRzyFTe;d4di7y;YHl6JeMN(dh?ZuZ8hv;9Ksn!w* zq>LPU{a{MF|(jje^f0s zF>?@8G6&MnMCcOqoY+R&BLyQ}Y$*a5(vlt0@(n?WC@lYjWCG?n$9uzhB~MzKfGRT3 zkR%~ak_S{oNotxACw|d#TFMj}T9#1e0c$M-of3VaF*PtkWG1g7g9xR?XA+QL-f+i7 zqeN3EYiu}9km#ES*AUe~ffaKje+DokBnqTe2pc5)+Mtjllxj{x-BnCZnig%CLmV>n zIIHXq6}uX5ylpKzrVvD0pd|N*maVWOnRLcLfS?OGqZ@Pz;BfMnxh0s&$XzN9DX;i zRm>!NL!8RP^3^r(29?`btw_YwmXa5(c?9z<8Bc4Xc12;58Hu805@r5ScVw$FRGfLN zwdFghv5EgI(2awCy|=U&LB_ew zsh?%IlA;6353Xzp%afMCOZ$n@kdS1J={~X*isVY_RW>TgA>9M*;w6O4x9pQasVcnc-Q2H zauVCMxwA~2g1hLZ7f`~=Sbu6!U54}z;APT1#%v6ry{zCR)5iFq6_Jo0)DBz3Uy%rC zN^|fP#!Bi8DS*#ke_)461?ycki2%?gb#7H_F_K&pZiPKtN{8}g8#2MAC4i*nYaCbY z63IYP{qhs!k>R+?C$;S+R;evZN+i%=5v4B)t7-}pS!-GH0fI^eA!YpFHi_iYMR0D0 z<<(ti{0h655zn@yk_J=@WFO^(X6Cu#PL@LxYVfih| zmnBDAax^Gde|bp*!cewGRFR6Hh@P8=qhJP4qGb;Y;27FkOaSO+S;$rueK)mF+2#ifyl~e^gysMM27h978J2UEzHZjFy;W zLLbQm#T0TXqGMH90*_?pz}!}xSJ_B2>5wd^=tDt=!Xa*_L|YcW0Lmb3BAuy?Or(IN z7RZ7Q$heb{!>yFxRN-2f2dNl^LbT?Y!30$7WjN9TWlx!&BA(Uo(dP;XTFbeLrj~xt z1QeB4f0b2aWDXT!;JK#MxMU7e3L~PNCY?q3)5cKxA`=S3>cyD(q{3fPEI=i=&8Rm@ zCs_KLL<&wxLyo~*z>J&#)uWu!NM$j9(=rh*@Z!(<^tQJqmnbro#Qe>Y|(7i;ZIl~&0M`kaiCorN~3b`|@<>#c$Ys*Lw!C9&lDI`LK`C7ca ze~Mfx>RxOF5CV5m%x?)+S)bZ0Zb<8!-KX-Hky#_w6O9q8wYg`88dlqBxk(gWX8NTb zSdebaNuCA%$LW%f-k>#!rYowrnsf3#Eip4Xa6xrAcXQxKtQ7XU; zG?viEy^=)oF7sWXd}-lcqv=VjQwE>{mIsa9ki~CtGqlH&-O3<+*m_)d%x;Q{e>E_K zm%{%tGlvQ{gN!0Bo>&@nh3~2{NLwXrV@2^9Qzex_f{YsqDr!^@wM(*`jiH)E{|wg@ zQ;<=+%BfYz&`?UE%#@OJlae+UU6K(383ZE3ftK%z=UM}fB*n>wo9_yUfy4u4jVh&x zBSR?CORIwh)2>Ri@m;0Gw1MWkf0EcUA)pp2I+Ve8WfvQ(wBbHlMzJALTm|@)h>0N; zGmD9}|LEC4ZONmgB;rI15IYqlx~qYajY!sf*NS?dNY#+V#AVFP-^HcEgOUEHoG!&C zaz@VNVO{HQRoWKQ3I4W*B}N~gsjOMw}!RBx>aO9f3g$}*n;T< z$&wN#6;{v9$x3TqB^hY1MzSGKEL1AAq1Y6XO^WA>%CHg&mqjFCT*RHEjzli_n9OTp zS%QC^pmCEpdjmsf^YqZrv5u20jKzsIemcthl_gYPQSTwsk8D@Gy( z1U3b^4=YbKWVOsnl{u_te+5x#z#JNx@7lub1M^)|y8=>)^oD`jL^4WbhG=Xo{5EJD z-aXovlqePLnmPnY{DFc5i{vl|mDNYIy_vjq^L69^R+T{)B@G09_ysM7fgBV9BAFZ* z1c7o_8&HlJN{sBbh#@DzBuk6dVuSBW(!^j1sGdO`d{>KP3iDmHe;Fj_$Z<()DqO;p zOVB_BWu!=`rBsHx6AK~#!FNUP8G@C4t_%w&E}@K;;k!!ZlCv``4ppq+yH-?CU`Zlq zDhDKfMBozWPa-2mYJqqep1~0|^b{{BN~_e0=}-+wQ;N4xf`K8gQwQI5K*ZkIen}%6 z3`!OQ1!qVx@ktA=e-7Uj55Pc51*nn&rDrvdkk?4fyGQ*swz+H!zN^TcHRik4C>ne> zl@;1Q8hDf(Ty208I7_=F-xaKq=5KI8Y*w9{?@FnX;DOqW zxHUD#!xbwiGRSvLE6e!dyW&p<-!&y*OwD)2O^|R=!OC&y44l+pJEWBiyTS4+t(r16 z={-C!ZLr82e*i!Ql}6(ssdsIh0V&CjHkQhj!Urdo8U&FVQfa_Ju!KZdIfw;0DNIEU16DGit1JO$zAH$!eo9hL(~|Yw27<6VwxaP>#wWv|E{bgij_}9Nq@sHO&k#LHY=6Wbj?Z zBUm$Yx++Tt5)7t9u9l1?ab~630i|(}LHMq^5z|L0S%19Sw5H*xrB*;)>ypHBj)Q4_ z1mP;W-V%|N^JKCJF!5cb27w3Grin^GR42*z_^vqK5;k%^(y)mPf1N9M|!D)gTN7U@RZeGWu!`KIU+1>C#gaVHsQDd)D`(P zhB=^+S2d)T(JQ2CTPTd~m%eR*!&D?>a|0q|Kz~UJN`dmFNtj^jadF@f_9Z34Ae$jQ zE0t_ahdU`JoJ>|}#UMkoSD4opsJvcU;jNJX9stF_r!kZvsOGk^q*z*oyfK(euquX9 zr<7I^_7+6C1qiAEWeZBLh#T=(fkq-nB1gWgaOR{(ESZk#u&mF(sw28X98@NzO~6uu zY=0k^j6qU-a&!gdSO7i)Hbk$@fTjV1!Es0ot_WTf6r}Da+0nw;ZEVs#=sGzpYWkj>|zsw ze~KFl5Xh2IKY^+S48ZZRzAnOCLw^ls5T?m2mP*M;;LzcD=LW58t*`>}#=7UE9I>9( zK!;yl!9lpQKoCh0;k=6n$?B$5Cn;+miqv zmbMITmjtQ?rG&#z5(iJk0#}@9uoV!* zajC^eR2)SF@dQaG#2K!}nK5V|z&(W+FjsCJH&k>oqz7RsDe_vAA6d}MFr{*bN^+<8 zNR6Q%L{M_Fcp(&92IRvCu*s$3%~-dn>i(+N6?5FRX&hPRKd(eGiXk0hLM=OGB{6#(j(_fAP*8;`h;X@O0xhl40w9+nn7m@ z>@b~ZS!u2*(BMU zX+;64x&quVQEWjZU*H55K!Gz$cceAtR-hia70GHcCmGyC!WQ?~D%=Hzt)Rr5fkYP- zsoJ17$a!i40nMM0a{I&jIdhD1Smd8aAdKv= zH82~j7%(Jq%K_tp8v#6xR9J15sT3}%6AYYrX(nD`HmhrCa&W!Hn|f_+eS&Fi{w`Wa zzFdR&WQOxXb&`UWRz(T7=}GdAIj<;N!d;dr$;~rM3ez1>TO)OeXy@J9TB3u}=tL@r zP7ac!Vh5x+vwv!Kky077ieNnz)J*_s}p6%1!PdECTQd@*(m=}t>plc{N%Bq<(t@Z)vsvxHg3ts(X>x1yZh<*embaEVX@F(p59Blp zG0~P%8$Ld$N15g#G&h!b!%}t$yH0+{GzaZ;s2kG3hKDCBM^-PbLg}``Wj53dSyWsx z%>`>{P5F7CDprSlNRipRDw=f2l}JywRzI`kuYbwA7}LNG)RL&>Rkko|LncvV$&A|Y zUIrU#29yh_-x*H1wuWiYpP~>L2w+VxCn>1{-sdA_qJdqO9V~JANSWasOA@W`twQpx zBcdi(mj{GoX@xR;2+GSzv8?a?$|KU73$W~hD2MILZfTO z`U%KwkVh_p_hpb6+zBdPhR2{QGR2%)ntz$R8*mCNHT`rr3!*UD4qitW57}B`5-d2u zH`%p8Z5{+%KvO1Gvnnl*OZkh4QhN`eo{3kukKi(CZ7@4Pu$P-VkhT^q3=Aa%vfG;Y z8;FI@s%df%y(%lv>ASWFU1w7C!0!ObTh}OFA;5C_!)Oh}C2HxGFWD?6OUfIO!+$xe zS#(M_drOY8rqSAP%mGROjv8vVriW-z&8(f4)>^Y<3NOgw7`X=2KCOEmIEsd8S_5WG4t#HJDZ{Gnyeu5_0BRC}i08?AWdw&fKS(?gF7T_8Ogt$- zs)f**PJa4V0al1r8*~~}0g_7I;;ark~@DOUVP;j3$*1ew-YRH<(7lIP(o3v++#Rw&!jBY~09qXI5 zW;@A4M*jhhENK}^H%UR0YJX;OstAc>kU1GSX>NS>8oUfSW=#_mtYOqzo@$5^p(lMW zbjXu+B%HAR5D7h1a(P;m6bwj!@0&LvlPPOKF)B0gg|v&E76QH#O6h$$`C4oRFio^7 z4I=atmRP{hb7H4-fF&vD__0nZa=eC_s&J2Kv&GK_Bu(lX)V#f$@P7k?gzu|xpH_7G z`hpW!nqQ#RN`+gfP}deASTl^3j|oEyL;q06uW(WzIY}$3VX2|v3DLsY5@1!p=MsQm zLF_bz2EnyV1g+5+blwGok?@ru5WHp48q%A-B8xz1`@-CTKWMG@h{6Y`gw{|FC&_)< zwdCcb7!-r1QhcEZEq}`+ZvdzjatX$;v<^ucZ3Y&N0s(*)=J$}50xVO~+ZI42`qWS+ zK=l>&u`=)~@uOw)EnIC4R8JYYGL$pVS>BBF1NTxw1Ia-W%fPE(EK{nGgb>nnt<`cG z=ws;Lw$x zYS5tymk8Vv&3}&M0Bivm(keIK)e_-#Kv&TeP+Q6Ye=(e^8y7q4q)N z8u+?uvVf}r<^;Rs!1qE4Ed#Wd0qP>ZLe|ajk|FV$1}KCb%g`Fo6AMRBLDy$y_;|o5 z)_;RbkMEa~!=ho|;CP9-S9CoBdzOyWv`Q=4f)lU7p?_3lU#x)5C&RGXTMzI8v z+c7MmvVYJRehe5`VTw$nmL!0PSo4ag)S{&dEEh{@;bRV2q3wZQ?9?_0(wL)0LD%}=EI*8YMWPkwvlxVUn!ykr&^vW#?5<$O%pgxJk3MwZS>zxvla|<$ zDB@_+Yij*i*j-JG|B=8R<%l%AdeI8f;{Spe&xlqW^LgX0KNXn`rfP8qGGrjmzV(0`yXV99|&W;CbFN>o^4&}?=T4hJ^?`^9f4 ztTTmrFHQ)0h@2a-W)TkdNiE|6x`qr+o!i+8mR~gZJ27Hm`JF*(T@DtcmZ_bcLw32O z71?UTgHS>uJ6v$!49PZ<_2hQRyjr^>NUW?h8V5)X3_>hVlc13qX&cbgW#v@*xqqaZ zWT%LYX}BOzNiD3S29$xx&zY>@E(Rp?NY7N(6J)&;^bc@oi&gc>tfHMeYwoH~8k3JcQwjLDx&* z@R%tX+sQy2Uy{<}Nm{O^!-z850Dqg6)pq#7z%n>Ffj&mQEv=c0{wxKgcJ?5dWlNV) z1j4!|X5Z<(!%b`QBGdy*+TA%!13#Yb;L;9^GQ16E$$*w4{Kx{r0R#kPw3fah_z=&8 zswy+dNVK;!{uGE-W*9BeydW~d<0HL@MTLf(fx&LjQbh|eE-8Vn^+B6$Xn#z%aDGc_ z`A@|-#1EN;?m+4-D3YExoT8zB>|54aU@EfG&i|3L=jOap7{WUssG*w-_mP+g6k%h1 zSB>deJ9-65()vs^nOQ3)UODvvI~0&ga}ukT*+?q*9BH%8Fsm~Xty+2r-zmd~ zEe+N|@*t}X#ZQf=zyi~@SASGMvq-R|ZE!E`{13WmEN_LoQyL6byk04e1>aLp-ItgHRx5#6-dE0 zskI+lIm0|WsrS&DPJI@jrZgik6%=&>j=8adximf)w%qUswXN4Iet%}@jM9$Zsel4e z45V&BpEoBYlD>z?Vrcql!QfI=x1%!*+N8}hR4RS*RMN3bmQgRwS(UM_I~+M!M0`)Q z4R!6B4$Fbn9dkou*l`j~XeMm%O2|_gGQBaW$msFLldz)*32tjUi^XzRpz`wCut0TY z&z3W1V+1#weJFdvl?v* z>X;T6{Zo;gvr{W``V0*RNAO5-hAKZ$m(0-L1?X*B21=mOGzsHIP=l~zh0?;3wxmiy zE^rb|IHH5aQhy`hh^O3wGphZtQ)3$3j&4CI(7;)S)>OmE+Yw#FW3&QNFeZ~b2u{4D z7$k3FuqE8Tfu;Pcj+9#qeA?RC1ev*11f~Sdz?13mq$Eo1pbcqPOJ|TEt?2}&CPYj` zTU$6-qPD}l>=acLnDsS~TpZZZ9&K*$7;5b$9x63}jDHZJv?>ZfCc^pDkiJBl%Zq+H36z2fR!^*Sw~RS0;02%Y}ihYQbCCVw<$<`6qeJp z-er!=lQYU`l8roF&e#JtZ54TgS|e6P7EU`Fw05#9=mr{qO1b#-XHi})C%$q5qlQ?Tl{+;qWpk zVDlRRClv%P4X5&$WhJXuRhU`)d(zr=a+B6eRGWr4*uYchwjvbXtX_~3ifDtX)|#SN zfOX+o4+724B{^;|2ZYH3>ldX0M5hj}RBGO&Wq)7kETXO$&TShQYvzAP?QM=>EQPR5W}aplS~Q2&=yv)ZE&*e;2i+Ww9t__7$DQRd1mtG3UJTpA9CWA z6>vCljK(QCV{_mqX;PCMs<5osfCe2*zSYig;K(?{3!EotFD-|5C_8_&A(k*$9Dfcx zaAI7)fZjD6KB+zHBxuQtl8vMTy`W9hKrtNUW}V`A6lBiB@pO4nhR#&+F@3=V4IBW# zp-U)bpf;_YYz9EV>QeX?ilVVum7U&XE-?sWLvh=o2Cd~*I2y#t##ZdX`z-BnTS}9F z^X0q|CmLW7zt!3??PwfX?r^{*2Y)b;+W=B)AQO)FrnnMNAZ=(-ZLH%KsJ~fCz}ldy ztwF4^6IVHSXJDso0GlGtB;!tcPb^Hgjh$!$s5PNOg(%4CH$ctoTr#=~?BuYM5lQ9Xb`CG(!ATLd;b3D9%IZ*}4$|qsA`S@TaHbx@ z<)ASUqT(=t9>?RLtPut5aLf^_6ydlL=(Gj~M~IsTK1VRy8u#qM$PotU;64tQ<59g4 z6y^|%9y%Q%gC5np6Q%6XlYb5r>alYXf9l}34ix2qX%S@XkV+0X>=BF+%<6zy4qxuz zM-CqCKtCQQ7eTBJI2r+C5yTd8#cQ-~gy=e~>@EPAgFbn@UqmE%EU`oTMliI8ZLSf< z5$6yY5C3Bxr@xaJRsB6h%C2Z43yOa~BkxOCSj;yMc)M%QDx zBf>jk;Ma{25iT5&__38CHt$4aW^Ao-IDgm3;W`Z*z}REbBY!^Fx4}fjb_BXc=w}3k z$JU+L8?Xl4Mu>XEnme$#>$P#nc!z*>h+)@7;ksrVG}nRT9h}@_>tjEXM@mOPu4_8+ zEf29P#ev^l3yy1Pav*Wn0OBCrv1REbxoggA1ad_fScG{+#6twBMG#s9yg10DL(V!3 zoI_$d41(TB8(l-$pPsdJk$Y$9rW3w93vpn zA%`QhF@m5SjB^dxj2Oy@z>YXA2MToXLI-v8Xmtm-Ut_N}kYEvZ=U{st(I4^n4vXf1 z#||;-@!Aoc@6d)GvKeu=4l?c_%6|^<>_Gh~yH2MZQc-;Zxz}gP#>cF244elCuTyKDf-A0tU1Dr>=cx<D`G>cDP9g2zAK0HTE>3ZzCQmV$veE*kP0+U^s#n zJ%lxau^g=2;f_2aI)8$F96HVcR~=T=!NfdzEnsJo z5$Ef$&tN*$U+3_et|h^P1tS#OHAOhIp@R@QK)#33 zyS9pmTz735uDig&!6Uje!X?+})(HFdpx`y?H-Z%-V%h@~BkLnZfn% zM1ZDmuUTXL*Xp5}V4z4N1Vc&fNPHboL5b@al z;UL_xU+E5^nV+5y19Ct+M#>Nzfn)NX7*niwkf9cx?xBbr08?ch`aAdYT+a-1UGs5O?fZIyrvuT4}X`Bjwc7hqQ5-6c(QoZ8{eCp zy!BRAywHb(fj$l@`F^3h~*V{*P& zj?PcVvj@7T-(NnO&z|0Re?He#_TG8_?v2M!7Rwv=$K8FC`@Kd(dFb=OF4fsoeqcN zZt|MeY5|jTy?SzXL-*fUO#XCyqqka)g!V>O+<%zOZ{*pH``<6ei@uf;=Joqy=-+)- zbfJA(Z%lf;d}}y9ULG9uS2u?}Q4C`LchX-!xqac7AtuRUSiI329}N1*e7LomH;ZI6 z6fdm4?%SKgTj%!D$#D7h+u7kTf@k^L|*sV7&k)^flAcOOMCX#rV0qBbo{w~nM5>0tM)E*;JH_l;6#!+$AMe>9x_yoj_vJGuAhD&^PT9vqw`(}RP{ z74^@w#bpmJ&7-%9<45{#He8QlV`Km+ldsn^8QDx0!^z=dIypsKtwd>bCfbEn`}xe`DwaH(oZl+0lf!+%%zW?T1et_W^e-I>Qbw^un^n~C!+W;q-G4$N{o zxp*Wi@B_K!>_>9T*$?KH@3(j1osNk4Cc*FTr0sW(j)M(uIr|;BZ zWV)POOvg90_}%<2R#?lBSUqrt_&hycM2Bx76I%6WI874?!XjB5aF@QA4A*O1t)(}S z+mS4s)0cew8q)kjmwc^U|9`Enxm(QDH5*Uf@jRIX#5V^j(Jc;n6^ zamD2P;Ra)#-ap;zrUHeRuT-EKVmTR2M;07>C%%`XdaWkC#El9hM#BU`O-GAmnAm;h z#Xc|bzIV&Voqu2Dol#Q3idzn`AqsY}R?_+kbZ(D_%zNyYug@ z_+24svRn9eQ+j!CaUk<$1izNv_J-YLT)*{lQ>@?H6zgPijbOj`(+l)w(mA3zcR#%`kvrFTjYL`qgJ$o&Gmjw>t`*hA~$TMJFuF zUy|{~vpHIQ^M5WZWc&PuU)1W}?d7cAcys;67cVYG^Tqh1^QCUN`Lb+pH>Vqxc8+{J zlE~`&huX;?S>v}qwU-=z^3Jcmx%v1o$Pnn9a=`Z%t<+&Kslud`5n?;4upxv*7WqTQ6!j|&>WrX>xX_j#3UMOlUhvR!O*Kaks<=ZbAq$7&ypOrSzMo%SUMAm+=JV0_Uyc{c zqvxly@%(iB4qqJ2wcXNK%kIyS{+wNWAO4t~bxP~qv*9o1z22tcvK1YR{hnRS=F7!U z@tmT%UH4%8o}7nj>RGgZPbcSRv#0y};eX#lW8#@4b~4=fMz(s#!;A6s!Tvt~^$)tg zcR%)UI=erbektMG-;baD5LdqKCpRbi`>(Np$BR2xmazIR4D#Jf+m~vSe>30T|IOUL zcKsK3_LuYTpDQ|{0zG;%U0$A!mZy*4?#mz_&S;6aA#t#``ZD@7lf#GOUVusTvb8}quwj06EI+Smp zjD}q)Kk&F?Pg$51Qemt=RuRzp`hS{vy9?u}aEC;W%ypdjZ_O4?E-!nE$cE1^lk?&1 za5}lq$La9=@ZHg3JbbPgb$q@{U5?EDtR;B7zrQ?uJbCsJw9Fi~7Tz3D{ilC? z<(|Fe?5?cD`NO@{&4;URq>oo0#Vn`O+4;uGRz`S5V{dcAN^Q@iUC*?^e>j_;ncNJg ztIN+f*NBmO-jV95?p_d)tbcGBi^;>_AWx)UZcmPiH&({tGFeS>gEnDyJq>Z%KU~=L z$%F5^DM^c;OTKn6T6}wgJqn)|!;Lv4a+ueDtRwc*>FDu=xO?&Qq8|&B>G9~Tc_>U; zU2r(LH+uW+x3d%eQ`{Q;ym-S(a>t}m!<84q8L)+0J$=#VdI-W-V}G7&%yW%-ZulTQ zb#6~-;PBzt@5^eI2g8ssVH-8gZ3f+1_r{}|*~A9kAA;^T2z2?@TX}YC!sL>b$0?ee zjwjRJS&)6sOgCDPrV$BA?W)zrixD6iez@4!Nw}%S1u=3i;hMl3fe&Rf;VTPxu zm*?WO7?&O{p4`{^dy6FNCwiYT;o|4b8^sPHPLk!D8M6IEq<{NZ=IDIzw@bZ1m%|71 z+2cEpMso_pz0prcql1n_h$HdszIe8K%{$B9qQ9b!X0@9-(B?w4`ATuYb(C?=fI=4y z{nZyA-I+bUkc6-yi__7?xc9_quW`Tc9D^%v!6&1sR`yty|En)QxYgV^8!bnBHjyh7 z=wAEe&@T0!oPT$3lR#XV2QQWR!Ad`Q@L)V2pIPPeo$15bT=Df|r_tx*#dyPPg+Pvp z3?qHIu<-mneI2xViVJ>mv2FbK!qQzDN;Yadyy#{2%mTmwD;Po9W5Utv%Dyo2xrYFZ;*mhaZj> zq+B1bnSbQ;!Na39%k;NAopHxAx@oxju)24(v&Lm|k&`Rz_BdQ~6JIgN?2FYyPcF_j ze6;bVE7S2|WTTE-di~CVD$G%!`KLQa7tpXACFFd#HbGrKY#q>ojYM@e6r2KFGEQEK*n<<1t9CW z4y!MFpNy>9EN{7=d~!DIT@w~3a-ot@GE2^rsSlCo!`@;z9lm?kCp3`M%`GmF#Lc7s zm`KDHhtH})ukPE|!_l=K<+9_ZN0WyVvalD^+0)??2f#a}FCF5QPO0LH$?fG)v*DEf zDu2&BYsU1c^R-@PfS!lc#rWRh5NU*HKtWr&}O@|+>`#Z(g$me0ja0P60emddG{>YjNf;})V60q(X3R~1eS4J z!XnJpEV>U@im5)u>jpFnvx@bb5b9%SHh&-ZXm#zyi(R=7d-e{l_BhOEe}CigE7xDV z*dBgR?Yh8&yRUq-&P?ohWcQU1rnAw@E>(qH>hC1U;e8{Qf_ySZfqc!I}H#Y>w^R)xxIf_I$8b=W?(B*YfK{C`;f z?3gbI@&*IKck-rU%g5Z?iMQTr_6yF;E6cn}UyR=dnmMTI0j)5X3*5#*HSGR<_x+#7 zx0d67)wv#2opVhK%}?uI$BgcEJ3C-!y=Oh|1LD_=vNymNb#{5B*%X?*F~P!hg!%Y) zB20+RCyLHjgpr}?En|SLiHss?`hPE@&FpujO`Ht08FjP~&v@#L0(C}4o&L4t3H&YQ z3sm~ac{}p-!hmCoxU6}%7TN6dc&7EtLIQvG^CAo=<9%;qO|x5rz9d^Wypg@wzSd_O zs#|vPcz$n{AUQWpV0)8@V3*s3kar=CU=+ZCz*pGKCNE`?&S4*2h)7*_=YM#6oht^) z*Eyfr(6f-w@!00Q;OfD^UGI$yZoR&zdBGjo<{jDkjwB?2iv9i3!C_s#ajprRi^%gX z>0$JPc2Mq(UViJmzhCA3;I>VN>+4m~MH)=}c)qGY700WQrfUY9zm%h|1k!7|t@@q5 znUB94>#hJ#1=>Dm!{KH3+-+ViLd_KGQllfx#v7z*!De-Lwa94uAKY@CDZU|D~^Z zGN0}iKqG`zeJE7h-rP*PwmFx59sAVl@^%O28a)`>roBu|M-U_sVX`xyR z*=$Qpb#+rrXWL@R9ogm`PE4nI>l87anV8a6Hl^`w<+^t~d%hCWsT0$);e3my&w`ka zoS1eaovp=m^b#?B1%IVG*?k#xlhJNr9`&DJz2b#Akbk9Mj3r0+=39(5oLz=p*-W(A&FSzKxh_1L@$O^mCgl4W4d$Wj6C(S6Q z9i%6cay|@Bl79>Pkewut?L&T&Jg^VNN%GJ>lqbpe_MtjS-mwq$NpjylG$+Y-_MtsV zz6k?r=)2*Q#(qD1(%@f)Pa6Gc_@v>#4WBgr$3vQWlRNrHPravq^vE;)lb;-aJUr`t zoZLy?OP(dOq)yK7(YgFg-#$yi_tRvM>Fa^MeotR>BYzhzk^y&T`udK(4kLV=JWew1 z&h@n)`hg8yYz_S|3|(#w{e2j^+8X+uFm$~&^nDw;*&6!0Fm$^$^fzJXLAo{e-7xlG zur>JmHuxah8vVCAfpOp>%Xg&D%Nz2!@js0jn z_T6Mq@PB<{Q-8D`b(Ul)-?#CdcIBaso~2u(e`BL(gRRlO4Wnn-*60ty=vlrs`gdXU zVr%rLVf1oq^vB)k)z;|uyV2{d(Z39%H(R4$gwflr(ccN9=c$cyYE+N!ct5-&A9PfI znApu>OHbEh-%kbuz7Jb^>d9X5ePL5ST@U*-$$xUbFXKzQO|{{xt>GVZ!`EBGztauh zYz_ZSH+;J_{FgR-k!}q?3&R(Kt>GVs;fri*`0vB;MZPuscVYNqYxwuO;mfVzzwL&v zY?voT`S_BH?j?0c`B`E&hh2TL9$X|~gNm@NPrNX}1!a)cC+lG!CK;0{2l1tytTKF= zZGR2_I1FFrTf=|T4PR^xKkbGuw}!tThOf4U|F#>x-WvYN$d^Ok_{vr%tWn0647lyA`En44H|G~#E(gfvi7U1BH{gs`VAvk!?{>o3x9vnP- zk(yoo;7T=P0}>D_VdQ*Q&Uo|2c6Ch#R)1eQM1-YwN<|8Ttm$%gd3GF3>G<%$bS8tn zcr$t#K!SK|P#*N=2UVe`+qd2-`rcfRFxR6U=6Yo2dSvE0(HO<`W6T(1wqpzfT-cQc zoXBR%h}@&fY5Q{D_;{2fgL~!SogSe(d$VPl@i(_ZR_(fLrB%3^3!>{z7U$ zS(-{-Y^Y?UqO${&4Lh(j8?brvBpG{+yskd(s?G`6eI$-OnR|3hI zJ^QyD>WiVaxvjZCGktKOaWJ|H^Bk`R(8PR(H?zU?C~R&N=r!$s%HUdU~m@uC1%9uqnk_&|X{6_5di2M}7KG?NZmy z@$ZZwTF}(J^Z75mT7TV3`T*5ww=n!7LLpC%6h`N45DeBOj(mVH=+h^WyIFI#{aaD6 znW11O_yaBd2!GN8b%8$_?FPZQ8NJ5`Z!ZH!F)f{ZJLtV0JR;Kl z>-2IaPsxF-*?-_fp3(zZy1|h=We2i?gNxrzl6E%*HVV`mh272K^(N7}?h3lo{|T}> zTDBXvOIS~waJBZnC9Nl(d}XTLPQ+RhuVzlX^62Wq$y4+~GOddr5`XIW;|NV{<*JDC z6O#mL#T-dY;2A0AvIv+;T(UP8A@kcZl4y`IR%K?=>wg4MAZaQX0XUV!aXMhw^;kRm z=ytw7_Px(Gu2JhL7<=5#OtZTzbC2J3-?z&$r)QOU|7)FnSq8_Gpm%B9a6n;x?UK#$ znoHIyG~P9Zg*~0J9wH0hJ;YeE_h-G3F|ZRYdFmNPoavq!C#%QoQ!&%CgocJ zxkRsK)PHcMFi2y@SuP5BQ81ipA$b@nP8UfMOG^wL%s9Igtr_k+k25VjB+RhGOwr6r z6iEna=|abe&Trrc25wT@V z3}DVokf|z)kbzZ0Q=Wzx2h;bdlsWC92waFG(s8cQH`B#24nITx3z(SDDPjr==2OIf z!pN>fESYFx)Kpv%CM-74VA^K@go!B_2U=%YWacITaJ59|mmtcKlrtr#1W;#;+=Pj^ zf`3q^#?(;E9*)(d7l%D5t_lo!kdlI9ZOn^Di1c+r4~c{Ul&I|{E z!Pi7GS>_UC81x!A5Su-R-%NkPv=hv&q!SFwATrZrhLY-lIS!fgC^n;&gkN#2a)$mc z0DY-1DZnzx(t_rhWke<|=|S@}WPf@a1|-IQ6@W9;b{Zs-Av|F&#H5g^fgCWAki=4k zKAV7?N&5x!BNPm3j?KxWLa_l}$V>#1{E4}KnSd(}%)&8{bASbqr14B*QJ9_?b311s zd1eA&{=YOgL=hvC^l{u(xe?SCjRTZIv> zL8+O3gjuDTC(ob&C@M4MFhgCG7H$~;R7R!`Ny?c0T7q+%l@6G^FJ`W;g2A0JGP@xd z%{yT(v51)qP)}PFU=-_u`8=?da^`#v0*eE{6Xv^8*uBhW6^4cvV1wrvVk)Vhm>I}y z7G~wZ_TmR|z;M;fPhvJH6MqTBCLNn3?@eM0S>}3U%8iV~9Gk`BaY3RgnV|x-5(NfI zG1IR_T5`lOn+b4CP$Oq<;f!h4a^_9Q&0c3dteE*>nb<1LFt@~zi~wlPtc;SYIf;pX zW|SJp%`8%k$su+XGaBb1a_F+;YaTF8tjLK52=vfqV$ zF*6DiNPvEI+d!*W{C|)s5|}lfNhq>z8ze@WXrq`Of{CxXO(c>#jTwZPZ-p88;%*C| z@RHq?LD`vTj~M~_znQu3dS%(T@~g8_{P>{;8<%*fy5bD4=*ceykMM&906jp$zpt_8 zQt*}+j#2QcoSA}`_`!mw<%ucy5kFY)OL=4pe#Q?LJS#6u!DIYj!IOXTT)ivL)DPvc zdQrYn-H|e5(Fd{;0k#e^Gxbe^!4kpQ(S8kJayh zrN1MV{>~i@e4~D^{tk8hcM?nCceDZgzWlqnw_xl5`tI)z)Hf*O{e`Az5PIf;Kd=EY z5Byj82Q%V7;s;0km$HBNU(~fP{|L363OAo}K0!)9in0j^GB)kU#5;c zW%2|xt}5vZ%eJh_sxqBT zz1}zFe-CC=A3X&3|C|3l42MC#Kd9y9pj_B@i^_XBu`f^T%ait{vg?KwmBsqTSeGkx zQI$XKet-DSpLV}i=T-T9_iu;)e7^f9byk&6c7Hg0vit4f54+#0aypP0&z zQ28f9KE8Yoz~^``kGVYZ{H<`>J_&8DP(Ui#`7(XuuDk0WUxko`5F21C79ddT*-18UFkzJ>7p_by|H_qQf7X zW{)bb-79}f;>xqZJ7q60oe!Q2dS_DiT?;5n`pP$h7s^n>@_6tAx|WJB+KQGWmX8Ks zDnlj9_k(W-y+=~<%eJB=mF3&PSISV&^7R0~e!DVzM?%Y&gXhXn)$-Ngr$O(fRDA9& zrXj86kAuG{Lv72agYN+ssra|Hq9wWI&x1cHLxq3KUj|Gzj~5@vrWGp+8UKkvTr= z>ATe+y1VRuo{X@QKTps`Eyrs{=}AQAX>*w*;?O&Btu6;%19ubeCQE29vS1)h1_c{w z1oC$P;X4>z+|NcA_Jk_jwYM(M%U*c@{zZQ;9G%~f^uwdW63^$unfbd1S^3ahKg#gxWPf~6HWyZB>ZpI^l(eJkRXc5_c|_H&X`s>YE=n;yN1lD2x6Q}? zE%Fa@38!kV91cMffOMM(z{-W)S2aTlN}?bEuQu>ySREk{bJ;1QZft;(nr*PB?>1N2 z{m%Pe074(BMad}K<)o&cFWlK`?T3HRFgn8Gz`84INg**Bf3#QC{G)xSdXFU_cwZRv zVL4Zi$*d2{@s)>MqZv_d=A)cJwZx#BD?A4dp5gz;czKMM$9Q>uSV|ukK<;DPk2*Un zr5{0sH|5d(#lh%}6`j-@BTdNwI^D4HdsOaS3}S2zdS}Z+C=aj8M^1lyByE55`}6X> znOW~OeMsJl4@n<`d@s}Ny=CcZTj~#cZOn%lnT5?+1DjW6IC@0{d*#OW(#-aio9R;IB-G@=Vynp}4%csV3=|>FbDW6~3=l&2iSb}{ig=s96UfQCkw#e)xD8c&^ zw0$u8#X;~F3qihyoJI})nJ9nq0+XMu5N1_psryU@=|h_}eSpa9WNM`W3*Ao9Exl6R zBAD_YOo4UZxlf0uuoG6BssGUx41 zalOkpJ{g&n8|l&)IlUP1uVrIQS#>HYt3DVCJ!iJ63uh)dH!}O^!XpzGBoh}K$i#(^ zi3>v}&b=?r`NjE$FV5wQbMuAGv3B14y6F4CO{};AcKk_E4=j!MK;*|g5N4eSvu5zp zlK*Uqc3@7mqqW1+3-5nSJKA`3deJ@6j{dDaL+*r>3G70pRit8-s8nStS4=}p*KnTq z@WhNx$r;}Bfv-{)M0^cN7hh?q6XMHAzKl_~V4Yl=&Xjz@oU1C4M)_7+3Rp#(rXy73 zk$@Qo3j_QrSgP5DG#sK@&W~jba#Q2fn~Qv&$*`C&(=?pAp`d>W8Fk86k<`QM#5J9` z!4xuVJSWQ3!`sx1Id29Nn8tIwF~j1F5*f3p5}C1^wxzjHzESKalPMbLa#U;_bD4N^ zku0|InYN!8sJRtMrNlIqTksYJhMDb9KFH*qw%?{^I)xMpxN=i0{bc-O7CyGGr5V8q zvoN`+F1EvqElwGL_uTBr}7wi|@@? zdQ15twnH$3kN7{CRU$xaI!T*F)#jhXAVA(sPMaoD4?wO{S*xS&9%}qWRqG$hq~t-7 zFuSeNOeN2weqJ58@Yk6KhEN5WnmUQ|lqYDhWC{;5CWC)gIzU@Rtiw$5Po6^({^8pf zPrrKtY4i53DPD)awZrdkbTLoO)wz1BUa6PrsrpgAHXaQE(7&!P!bdm&w4WU{@@AP9Zo609k)dxi{kv@o3==^D2*S!Z;PUX z;iL8`ra0DnR=(~%yM(m-Ejpyplea#~SL#*y79#BH-Z^NFU<^qAGkow;M)zW6bdP!h z&;HBmv){@b_z}*} zEv8T97WoEDp9-c=jmXn60```-xR0{%@1xLv&0SjMMeIawVB0GY6YQ|B` zHjIBt?)}S~_CCtux4e&X<`O@-4-c1z)7JU;c=h$}^75b6u2Ji|pDuUB!E+}LZmQDCgy+^=+SIzq zV!CE0b!2^nmqSg5q$hxZod>-j?zIyb&0N}s zlaT@W1)%3J%8S=HXUHnMx}(;b<|LrA^4ysVj>`-6rVK}K?jMcbi0ut6HtifUoakyh z@5^J`&LeE6NB7T0k7$?Me}vuh9{*k~9LhlNWyan%Qq02VXeZ3TKmupi)CYgCM|UR; zP>G7N7P16a>coEetKF}=2_e6Gk_a|FeS406KM@JTUmF9RO_(^ySy*bZ3FrDU4M!F0 z2F)h;y$Q`unL2)Vw;?@KT0=ZSuYM+fzlr_MZxMe8cr6U{ts?>d zDnWo-`Y?TKf2^#+FjOnB9O`Z1f;$;Inz5`0(0=%O_(42bi*oNxx>Wey)z=u z2S%#LE@TbUk>Hd^yKjHJZJIg`=|6U_GQp|%H}L|_&h^@r(szrrd?oS7EF#846 z$2JCB10B!B_I$gE$QpyZc?uErPDQ*xuO?QXYLb$f@aJqttqgy-bcTBniortCJuF+e z|2jicnB2I@Ylak6PYY3H|) z9ME&e4$qrRYG(k?X8me(vPR}dp5{YQh+5C|t#D{I zJ6h!`b2g9#p}1{9n{4H1 z_iNc7F1>$TGN;?axT3$)Cbezksp`HE^EDMt#F0UB$`8}5MWwn?REyu40bu!!#7xmHL1qN zgXw>$*Cfx{Xd7dR;m?hCjjs!?;$E_#-^B~ zTgA|&Lo?a@{h|2&J>q`(d2-y{EY-W}XjSpGLL}YM>dQ-L@nf4!ua`4SM1Nj327^Ws z=aGMtRmB%qzII4{$MEq+!rA!YYJF=yZ+K=WO9EgQ-}UlMcD#5!L?=?ri4-$~=Cz>t zYoPgyab2@T>VXrB=kGgs{=UO80kh$wYZ2YxbZ-+1^a=8N7Ro((9Xo>nIMZ8Ws}&-o zoK=CM4n)NT{;^@b-aDCWRor1)s`g^k8v1_<_VHI=t_tfeZ^epUvO$1ft}Nxc2;aJ@G_t&j_`5-%UzMR3 zD(J5W`6hTY4+mF;{K^yZs~aWh=`Do(F03KKs(QOf4>D>+`pOgOf0coFBE9M5b|Zfi z0lqTFG;XCo=9C7j*CNS}KhPq%xE3vhGq;N{y{$Sk?arO8v~yoH2-V=0P24 zPTR^nOdn!|?xB8Im%(r_0E-+9ru=6K@is_v*%lpSYpGXraOaS1jA5*lT}OZ1RLye^ zgEsT67&r3?oC(doka+CGuT$XHZ2y$_)t*teXtwC??FM5$b&Ed-ANXIh#lh5SF~4;- zc~g4bHdiY!9_D_`A^P<3m$I$vYeCxoSa|x7T(>!`&gA2p zT(cHQlT?)4tUi*YL2J18XjXqu|5E5^ljW!h_|_&lp+t&R*qeS%uVnDNy|B%rpqzEb zrG8j=sUO;A2Ib;cG7>SfnVrKs%;6KJ|7|@FgHWg2rr*xkGn&<{y=x^el+!8zmVSR* z9jA~BbPiP5|Fvvp794I)p9YR1E3$ACIJVB&%}0lE7UxkK=Q1ffn*V>U7V{TIJrz5S zu^6q-cfGbV)p)40x987NhWZJ!^g7v&_E`50X1CZo-Rt=l)XU51H4C^YSrGON>E24w z^Z`8q_x2b{(Irt9wmw}%OhtTyDs^1!;o8JLu<-fT$7P#(HOE?C2xamMr=!lzqf<= zwE~xUtVp7li4TFz(j%E^#42y2b+)$#6)(Z53;uJy{W_d?6)kP=qAl--I)6ynaL9iS zbskygt3VPqwig85XEwBCeaI67{-gO%#DC(^S;-6M`621n*N$QPfLtz5Q#F|kv%EmNCm)fcgF{a&xrEr?Irr%$OT0lqvs zsU{bvRX2yypg+GqeJDPoOZ+qJO(@qvg;Vp-rw^wO(%pYu{3y#9;^d@U>`w&92gY|> zo{TbdAZubua$At&nTR$4xaDK~Ghwl5r2k1xsmWn^wm<)3dKt*4)I8@0GU(~S;bc9G z`*im958c@tg~23n;*!lFKAfu4&*MJ7n;17*(Y*{XVn&!gJt$A_$CsD$`(^xaGCbLD zU~zDGwBLUj|H0wKzCZkf!}EPN`~z|WU-;Z8QBLNMJEEjoTgAp7&pWW+u0)uuHY4-L zWwbGW%Bi}x&o21Xi8@jj>RgTKG-Q+IY;IPLogQx@!3)H*+u8G$?9h(&1aAB*+ui&r1ROy>Sssp zv(cnH26)~8DDMG^M_0#XZ`RqTGk?Oexn|y^#XsE6yWdW{H*+($Z5*w&aj~I|N!!MI zwsC*dY2#w8jmd^KPTDpev5kvP8>@t3=E0_IFKSJ%YBVUZ2d;zH<$yCgMvMP!cqdLe z%6b1xtE5m#sNzUP37J<|n9Fc!pc1gRSVe!SN+XpdD$W!`&xTC*A{Vhzd>pG7+%H#A zz^q4dJt{?4k%|))Wl9%JR3f*pBnGG4rxT%vx2`fJ0V?GRT*L};i%rYLJa$r;>vuXe zOg7{AwA|6toL$0Loa_Z7!}u_SIFPv{oH(P*#e@R}&CqzUj4CAn00zuTGcKOUUWR{> zOD}O7IHjR1{@Lx7_NwY9OD^2YpDi~b1aInHSvmz;yL^t5Xyi(MHFlPXi z#h7Lgr*Q*L9fT1&Ds%vNYMt{08k1=!o+Kzp^GLgi=V6{?sF}AD53oi-hQ@yzAV-X} z5=S}++NtyUTb8G0Z3!L*`U~R_i%Y1-j9M5MNt!q7655$L=w}$C!-%Mvq{E1!{m$V< z(#*2~ZD{AwU`A#@UK90he0#=b|CI`I}V2(VFP~!haYx=4m%=;E)F+}X5bBeBt!;>8KIp;gB_V2V}lzW z%p7(UW~L4^l4i9U%m~}bJIu(29#%wlp&Gm>++toSP>hfvRk6aHTABek*oh%GR@1|f z0Znrf=_m@hx8;*GrB>mfHFT%~N@wBLG#wWp>H&icY3wnnnBCiI@lBLTknl%{!wH3cvuH z#=$w%Xn+gq1DZjvu{nQ1f9;g8ff$V%M2h&9a&fWa&B}o$0~|#j`%}`u;4mR2@zzRf zY)kCM)IlAM>l7PE`>V%boftNk-hiy(E~H}#Hf8GOX+|3b3^|?Wxet(t(PlGp1Fz`@ zjs2lUiH;cblb8ssE`lP@Fi{J5Y;HUj&1_o=Z${@9CU5|aBZhzfPQwOvG2`dPxtXK` zMVuBH>ctHL#@I=WN*()H;5I=A0SQ%x^-cY?CUF2(r47PhP0}DFSGD7cfRkAsyU*<0 zHC8FfWK+m4j2SDJyw4j2uUt#?X}`mWp{T*31tX&Z4KgUSKTc4CAP%#lv$(uV3G@r{ z4lv>v5Z1c0`Qm>RRD&U`8#v<2BuE7huu}`hlht+=6723E3GxoPNHoB%qae00777IH zQVg@q!3GXZhr|>^)j~`I(+64OXwBjd8S$5rAORT+Eg1qm!p0$9q5vBW4P(4P5NT7u zak-uCD3?Ne8Ii|)lB8}df%M351PRt4N?j9ivq9Y$V~Kxp%~0|jR>T|oX&!LpxlJ*4 z${M^ZW`^taWL~x{>lDlql}XDp5sDfx#2K&a>vpOMH&g1mOtBIa91L8*1Y}PUwB!xo zlNd|E=+Iao4h5J1njGgXV9-gDr#iNP4uPE+sfC3?OsvdOZ_dDa21ajT9i|LStv%Q_ z9HpHyFYbR51I<9e%Cb0WW)T*kkRnxwL2D4%fPz}nC2%RtNqicxFl>6JW1;kp zVmD*9@D17#>I`Mr_yCX2Bdj$iBr|r~wS^Fg3ixm=V6|u&Sa3x;0r(OhOR|VzrDG2o zpw|HzqhLJ53K8NO&;XoRornZoGx|T-m4Omvo;ZKXeXvA~MxI)*KoAvb+2Rqnd_aNF zfEDC9%F_n(2)B$|HFb*(tYm0@ZzF*~=5ZW)>m3E8Lxs1MA`tnIawcVkAQE~curu2_ z1o(3jR3)Pr8aXgy9sz?~Lu}?eCSWMW<>reF(v`Lg#eG0B8km~w5@QHmQ`onl(uwc} zp$mW96=sXInh1DvK^(Az!;A$JW!&k2`@#+jQ?lE}jw8qRW2}2J8p=+JfvmBd)D%>a z3+uOYv~)Yo{W(gNp=^REcXdsxT2f~CJu~WNsM~2WaD47JA8Y2w5ISqNLklbH%K&&J z;{wShk?>&;VMpi9^s|InIn0Epy9I#{E3AJxRXhhwNVVEuCg5`(XFW2I8HWF;;vLr9Rvs zH5IWxJ+nRiWg%b0)@z_=5LK{;Ve2VU2-vY{Aiu_)*2x6&4vK^jl(?lxYo$^PCZ>Pg z$nzGAXq6JGKLPxr+T59WY^Wh|3@9L|+rpWl6NtMqz>Ewf?#wL@wC>_%n3G4es!Euf{{agN1c&k%nLOj7`c3?eXH0ZXxQ67CYTMT10OHPLy&V6GR@9gZ+uiM3XlG=EYX>~Ygn`MQKL>K`TtXi5Z^MP8>37;H{vcnC*N7nm+79CbaRP%FIF9gN)g9ZW19B z4#6%50l~gN_8*0PZy6!s`tzV*6|@7(MDl66g=Urc)5s(8h!!g7BlR$-F#0OSUkHV3 z;Sov_mS(u1`ElNvf1U^vWJ-UF4iaKxXQCZhKx3uz$lGLb(IA+BMGG})0Aa;$QQ}gO z7KU6oV$4v3nLq^uc@chwCkQ=a3nD$jH?bi{6n(64rbPIV2QG?`Y^Ncb{UU-|^Epcm zDMMG>4@B==(B5^={cPww9%)bI`hW=0u0fh*hsBl5y&;pBv_mG$z|((hn7ylWFg zHus>5przP8M*k-8bl(BC$4`bO>A`ElLfImn*K#U zXTLw1o;)93HRa?bwsF?N57y(s}LyJBZt98HT^B}G_ zgP}a;h7rraVxfOmaT>RCA`&;iG4>i!COzoq9)yWr?LcYCVSKuFhEcQRlv*rwBY(Nc znA;8m54^Ei&)Aniy23t+f!UJ~TqO(!<68t7zF)G2h@LmGDhO zOAhvz`;9G{4Mir*hgNt66bjpN#%;oGBI>GP=&A@d;WK|88${%5vFnw5Basgh?H?ma z7v2FvI}}%#_|s_$LvK1wq4tK_6h>~CO-Z~uj)aE^?NjOvx+%=ew3_GKfv+hkJlMIy zG#Iwuq&}RQLhZq{DU95*5qr&G!^~?x%!fiWEc}8_8~*UM-(}OP;FwODDWpE&G9TW# zzaoVLWfXrHXhfTqA&r}ETuIVh=QP~}h-`IP(%fH`wAiq^S+HRMS-1gXGQ9z}vS`Cn zXYqy=$r5iNvvd`wvK92m*3cvK(Bn$n?b`F2)@<6?S)A%+MLXeF+~!_;^e!3Sd-C+9 zcNO(E0p)+L-dq2yC7p~++{mO8C6oSgd*MjJ4Of3Q#Gr%~m+*qS;nix$zxv|!AFB7Y z@i1gi|1dQ{{f(p2f^ql7$?z1vtkbHOgkZ8i{UW^#4lc{(es3n74^H}@>->Nzq4uVq zr)shv4|-CoFV%EDV9kM!*DFg0jQv#d9|lF|Uzq@=8=~LLb;~MKzKZYmrh8$35RE2G zvCMye?%z)?`IlZD*_Dm!;e3r=HZ%67V`GgTvE9XfnCwjtKHZ7R!t{E#sheD)UN((f z=j7ztIki{b_Lm2?iA7UF2dWG2S{l^~oqS&puxHQ`+Qq57H8tv-KfoCwV{nj1c54h%zKJ?e7tsGD74l}``$ zd%gML0zdk@C;XQwd=5q(c+9)N7$43$*kEdPKk4+``TA)4EVsgCDo9fX9Baq-eq2n?Ppg|L>PBkH1bX_jl0H)szHE0l?mW3) z_tXCJWHJ9m0>?jHEP%pyzMZ`tpH3$`Xl%#S+S%KQFp!-^_4kYEqN;b6CzbztIp29* z?SLoj&|I(s^Or zs>AYVEnYzzmaE@{psH$pUCpUqGrF$kg1205CaD%!ZITZT}lCUEP8P^TTUe z)z^(D+;AzY*@o%1ZCG_Mwu{zh)(^0$@oU{J@S|q=mka89KRk|aa68{1ifn&z7k6O= zU%jNUg%9Q?;NtTs1KsVqvn;Og@ zJm5>?*~^lV^iV@oQT(Soy|Vn&j_Ge@a8sNcaR_Fhh9*Lg=e+6GGw@02cmsT1Hn9h$ zs_C59DJ(={Guyaaj8Bq7bf^mIac*09(ybvu*7^O_w4e! zi>pp#ov90ahnY`R4MJ*`x{GlOcL7^4;mKltz7`|Jj~y{Vg(2wGmNZC(}Xst3WS+S}`Q04_Vk4P|w-a~I$E@h7J2y8X^rxpo8aj9lUhCMs&-)`kQo&!!ecsOozC^}>x!RXq#LM6N;!Pj8 z@~A1-2lCRE2Ti&7+iO=In(~9@X7FS7rB}O=T!ldhI>-PVpe69_lej@p0P!GRI~%`9Fw$<@qqoUWp-jnOYJd7 zpAV--r<0e7d#Mj30kmA(a4$3WlGj8y{;5MYsm7Npib*Vb$zmn51Rl-JpnB6bG_U1u zQGH-z??WoDCHzT!(1|YANCH0RINd-k{?c%c$I8dLvCAN2&{o1QFi3K!izEuNq{s#q zmoEdR5#a0aU_gJPd64KR3kUL%WIG+(A1)>Bl0f7?gFH`l8U=-B?a}tm=wNutkSI3gL>d8v=jMcN%v81kg+O2Mh z!_wd#D`ZWD&gxk63+eHIiv;>;_FPTAVJ|8&s>5BTBME=A{$O#JJ2y=FgW25~NJOva z?cBP5x4sOR^4GRvp3Qa0)5FP?gyEQT{d;qZ?U!@6JNhh4U14eqF&_!mF(+E|=0aFO ziVP|MwFmrODrr{IQYmz;gkIBuD-8UmBYqXhSK2nM+onU)bj(VzREk_Hk=L|#h1zdA z;a7=#72AKNN)X%N^dAZ0KN5e$emfd7h>Cnr>H`?)iDd%fwM0@VGYT zW!`@@;Vla^6$LR*Y~zgnGD%SIvRx#X3*t;?Q7H1zeuOtE_F^F(E2x~&Q$7!pFe<_n zZO26zYmI60YEPIIdBkqAJSc)Jcc&=V`kf{3@98BQtDIxCDv za1zJ7E*J+{97LJ8sAZUi9Q(2Mt#y%QQNin-fMFQt;suj)ff4{QM6-YN zvZMQujx%1%qNfPfFcUZJh)()Zff@1c83&>1nT=Nwb6LuzlQiVbE%~efW<*h-vM|Z% zFU@PV5r7mjtCr4zIXdKB(=5QGLV{igyu+HLKp`v$7A%g4ZE2e8lvkP*(^AH1RPY{l zi~;D3*K)C*VG?FcOPK~>%fJ?1BB6gvIf}6iIYz?@1b9MZPjsQuJOG{+m~BxMz`cU5 zGkE|+h;v?Srw>txRVE$*&4Ltr17nGqfm2769Yeq#D9W^^fV1%q2ovB$9>f?yj46O( zYx+qQz(w8?OL(a+0^oDrIG2lCm`SXXA`OeQD0t@{c#?A6f$H2u5igsgFS>srM3Kq> z6)Z0=uV%a@gT3Ra$%Vd*lGU{uUCs**HKv2l3A9lL{`sl4Q$X-+#M`sTUj?%>Tw z4ljyhUiD2i@7)T$NXTo@F|Wk}+T1_{XBvh87w^$&`oVHNvB6@FOI$B7(7X`W%q&a` z3?%}PSu-HY@sbcdWE0s62@!vem-eDGj^%bN$xB?Im=4-ukmS6zz*WMo;=KquYyqD_ zaa=*KfllL`u5%f2gXoKGog_d$PB%i8f`m&IjG2}fT$!}s<%~>jO=P^nimg^e#O|2x zp=Khe!^>a^Xa%r?zP$lyUc%(J*y=@;V~M!lyv`8Pi#yFjf=!^Eq(XlbAqsK@2-g66 z5o666I{-uoQ^8!bg7{DnlpF2FOT_ydGjpBOASu<;@X;$=xfSKpL;EN5Ry4pPc1#6+zkqsKmnMH0!i z<5icKmtDxa!I6K!2C$N(8le3s6~Y>TbjpJ9218M#>=y)52uz9{gAYlOxg~h_9$&~! z1kC}FJaC<`nH4V|X1vxY7sW6ZGA)u*;1F*LumP+{KzNG~o61cWtZT}P^gtvsEik~C z%!POANE$*6h7k@x+PT&76%fCW@D>D(Tw{#r^`+$w4fcP(rU(-d6~S*3jD(B?n+dW% zu>)&Bq)@_3u{P)d!^KKLG~sB_D^P}1IOo2Bq(DvtRt8anH$j>203glDb2xd^0W}a_ zE8~)xyWwPI#9H2&;*#)6FBwH7m%y;FLO4WDpg%5eYBAlUN+`=`Xb}ToA_Yh%Ozup2 z06>!8gPVVYa>cS6!4oJ4UfPU5PGt5f(374aCJgW&dqewz%a&Rp+78O zF7hAXskxV9$?6Oa3dty7um{F?351B_QA7c-BnnZy4F(Z078yn-WcBnDP5~CILe7Y1 z*l{V@6!TRV8NH7&5pLOp_f>&^yx~X8!AhotUdVrIUA&b|m}0|0+K6RFfDLv^$_s~@ zSEB-h`!Vm5aGId;z)d>*@)BW^^0J*K^~nX$^p5A<1tY0IawSosT$F;z5W@;cMUc}J zL<|fr_bgi6613fTk#aFWV^Gz+1Y!m1|60zHc;+e1vJ z@D62w_e?+^D9p>I#*U7-Hsnqr1psn-j4ywt6h~^xn+D=GQkCHIAJfuF474KfsAb-sDV`i z72pzatK>QRCtJu!#CQ`bp)d`EqaJ@zWS}tI6qp8Bb%12# z)m#gW-K;6j@aiPLY#j*d8P#447ZL@4!yqH{KqmF(-e%kkjFVzI zu&Usyk-!@RkH;0L;!cAE;`~W_aK0@!7Z3G+zTJe8cbw;rdyAe2& z@b(CKKk*XsN|1`ef}tfu8coXu#<27bI{ZF{4?b zp3vLTu~-+VcY@|nS`8?*C0t>Q18qU-;uV*a!Ur{Wt|_Q>A!>XCxq$RJ0fUW6M5yT{ zk!&X#OSp<0AM|qw1f+knKm_cZgt*EH7IZSF%E-7qP@}-!FwQKNI570S&%~M%Q<0ME z9yv8Kk{DnagOU)Y5jHa@0#yr+6tq>xVkN+SBmJfAfg~*8zQO#krU}V^3Z?^{4wx4+ zm<)z1aif5?NhDeVm`|L@EhOv+GQosDA^&2LpatYqZ*qc-QU`x6P~5KAtI)b39noe2 z78!~_03sK#6N(9pXO#uAobT(79t7Y+&XkM@*b~wOQ}AjrWg1X8Uark~ zr82 zpoz4OKw^MWA=Zh4pyG`r(2^9iKsW=$Wo!XTlQjF0sDf+74EsW15)&dn0H#A#BaNX1 zNIF%BVAMw%TnD$X=0 za^gTouyb=C442yq59sst3r3Fd?r)iWd82gMdjj+ZP ztwB^7FCj@F!~z--#UqLNf{L_jQVG+=w00Wc&`8J0v-y&%6&sFY~Ym?)xQ!WnJGF^wr9!?dKL zAaZ{PB!(wayB1L;q$LSxm6DG0nh`b&X%p{tV^hYw-kOl9bD5}1q6-i)O7fH=NKT+l zB{Z>s;-*|En)W~|Gch~Sv_|9i}+M4iY+$OLmh8^zL+b1x+{`v7MPTHL|KsQzYRV}jHGeU*Qv ztB|0_;+g9i#9nlp(1gdpJS4LK8zwGi0Evt>x42iu@G?QVF67w482mw z#k`zy2gD7D$U*Cd@G*e_?GQ>hN}!|-$%2@f?w!V;Z{MKCR>HKmkA6I#zGM1#X~ zPSo#$OpK3W94tVM#EzKqlmMa#)huiy$jP~cY{ZPka0Pn6sW9Mc#ITZLG^XjXD2$O1 zlC-e{F?<3~j2LZzWS#s55-Bzi6ja41QWRB05Tb&Tnsbzhq88;Z25LyCicxvcOF?lqW@bspjd@ov*Tu2uT2&%R+ytio1Z|00Qvnq#&1p7z~mmHUN-t?oJvBHEl|ix1rWY zVqGN1g;W6|PbN`F^a>u1P?^V96zIUE6RI*23N2=w3tAB&XE5|6$s1*8nk%q*wb<2j z;jNekKu!9VFiaaboy0*%Y0NBSdjiIqhE6$QN{J;=Kr23DXmRD(2$z3>Hb$DHC^3S< zgUoYxGI9on92+xano4K_+MMD*BJ%NoEKenH3y(QW42b|*8gzS#Ks5S8-Ju-JCCJG~ zdH51&!!=0BBMJFQm6#F#Ss|q~Lteos5MV=sCn--^B3f{$X7ltQq6Qx`iVejEl9z-> zPqI6(_8@qfn6r8QPt$)pWh|hp1RtVVE}@x$y=PRi0|}3YAy9#!WdM3n&U3s1RGgO9 z!bIUrDC4pP5yYsNkdnmYG)k=5fW3qu2233>bt&3ZSr^1_EE6 zX+%7&1)YWLW^Uhtjbs!9c&K-va_gLWXnEZp79=n;qi|(BgohQ0oH5 z(Ml~R6tvp#G=$a|P!Cc8O`{USZ7~D^jhQ4iHa-@nnF*rM;2p~;dB($15^CC8Kt5#~ z@xX^V4$XH!t%Qe8jNwO{BLnoNk(l-}ayqeUCu~ql0BC;zly(l$eyJJB*$nv+(5=ukkDpFt3}4`MlD7(&P0R?YU**y>*v`183CS( zg&2~zriF*6N!Yc-XVL74D>N)>YM@lPAvZ;a;)=0?>(AZK3zCeBStHstQ41|%HkfstWBZ;X^lb#fY zBvYTKdYK9-4|sS)6-;3S!0brESQJ#d3khfpOh|tqSX=XT&O;QMw17vvAJ4XEs7NRj z@&K8A5NByEOoaaO_*DY6l4^zoI|(dLff+@RL8j!ql@@2H{xrQxSPd!>awty6jy#v8 zrWnAOcjPu1Stn0&C4ZMRBx1Dn^_Qd9op4rP!-zHI!PZ+E5SXc@Gb*X{ll) zX@ZFs!h~)WWMk9;Ddb`&^K>wbMVer2Uh0ViEj90i=g$#HUnVi{84xs*GkA~?%me#E ziItf;uZXTR+A8rf0h!}u#qS`>%+Zt}YNIWMf#`+Rh}A!o;1~w|Xey(g&+~jh zHjIQ^LO0E1espF7JxnAHm1vGcw1W4Lu{sQNkG+KNAoq|;aQHmM%817~^~!*DFNVMt zvk3JS(yKx&D70+xB#vB}!aMy(a(ZxZ4zz92Er9kio&bSziMR^V&%;)7Ga<-Gv&`i^Jz_AlY$>HdC1E|oZ1{RshsRa-D1xE{dED;N! zw-hvTlQD4afPOeUJ=N5NxpANb znwY0RXj)z*k~)Q{i1yl$78a6|Q0%b`3rvPU@bL7HvJYlM7bKcSuq-4Tj7CQ_jc!YH z#$n9BLZWq&veA~sn7NSph99QGiJ~!T!_j8D1?j!FG8l4&jc&q-~$# zxkP;D$`vYSc*|4{1XI#{3TfgO=g`>q)X-=`jm^O<_cFvBxy{(!C_$~LTge5Bi1~epioXTPe_T86p(S$xNCR@0)|7ppra;#4MX%Kfb_-K ztrV0X;E{jOrb;7KVa$)2_|S-JP|71Fdi&8z0>U9C0UoSnNiGNH*f_?Sk8~fHMcXvb zhj<<>x;%scG(r~}ATnL8l!SoR^mifoCzxX5W|Z@PVygsiXHEd35tTA*G^}_*eNywQ zkS0PNv+zKbHt;NzWHP{iJ~}PYdx^d(IuUV_NBfM~$bm;-kANbL?3tL%Q~E^2a)J|T z8Y&Xuen5A>u(~Zj~u*?1Hq}77__w05GLW%?|TNI@56O&9uKj;Hm>&6yc*%*6PwWMLc~^=7j0*QfV0ccdn$E5V>l zn4rFiA~7|8u&|+nrUoFlNbYy?F|B!#PMW|Ooy$v=57F*ThzolY!d2LE3!=UM@Z|(G zy!%jJP5czFyx39MyCj|KiM(^w?x>&SBXcQYxxQ~)Tpc1;*msF}FH0AN!DQ!k+xxr8 z=H$pkJkw79%5?RdxBArglahIpm4uFy>}wKhn}@A`%!?M%HCLSTmGN3(#xnXCQz=y9 z_{7r(QRA7YjHi%{hAwCBipCKN%Sr@HCM*jnzR;zBkyMo&?#JR>sU%dPrWB&+$U*&x zGCOU>G>|Cq#-gpHki2UtwL?@@a`+qmQ4JUtB;x)n}kVMH*kXE^*?_ln> zNV2wt3}>wtx`#5dN(FdptFn;3jw>O$F^310_-Tv&{31}GQQP{C(T$FMK)~0 zu#1R5A8e*BqVbDPE%Zs3)UJhOkqfDeP~ww+vr{>j=BcQnUku++f|KJeB}ed-!4f5T z7L+(n5TKc);iH~OcOEgR(+DBC@?!DTVVb&74&&Ja7K=AZB;}o)8%jbwV3P4@=h?fW zoQwJTV|mNDHQa*OBk( zdl~2SALWTCk2e_6Hlza&{W4g$ph=AjL{p>qwTg>A(=>1&GZmXovV)dXe|-(rm8)uw z>fWynTVLKgzo<`olBE0F*^(*PFJ9NnMQ_S5X<^!L@^&v<+Ww~wL%4S~KJWFa@rr^3k$4?ep4q zeZR!MaWkv?CMU3YL8FCxgS~voJD_P_xe}dUrqOQq6Xp>}E>W|TR0+GgC^L}-?N=Z* z(oU#54N23xX|$zvNjlv_tCD*_S~b~3!oH1&*GxcpvGJy}^9z8b-kHsRG5?Ema_nky zr%$lBj<7k+fS_UIYhw!a>Y%od^y+GT@&ECWYbD{7N{nfDSC~6~W)FL|Cxa*Vju-Q@ z$8I5ey@e`x!K_T~DGiktcklcr<6 z+OgM-cHL;#4RERHMn^Y)brXfI8?VvOHah4Julrg)Y&YeG&Gfs85$MbkO-uB)boHzI z_otT?W54RXY5U1H-iGc`AN_u^Up;WDD+dZ3_g~mdzI_q?{1>?^&o6B$|5OKUU%&4V zk3$))?wh}1;C|%xhmO6O{e8oyVdQE?Ud=x=3b3OT+(RNe_9U)yN=9WHX`)-tRjEyU2RoO@ zuh)(nqpldbq2j22m-`ii1x9<-7xpr^m^n~Pg~oefO(A@tJ1_F4+(Og6YnS)Ge$C|# z2CEAkx{_vrwJT{BI5H)-SzxnZJR;#4B*bR3GQ0%Avr9zVD^7?x-^m(BT3a^U%cmxmbda4(H{aT8QkOt8%<}b8%M9mbGPI52D@OxAW;_C-|&v zUt;(V{fFUyhbzwE&e7|mJDA5}cem%7EX(El^J;#)Ge+UKglIPIQ>0>ZPHSBcemi|j z?mjgkaPJ6!)*4)*!6h49x(1i7!L{}nC3m&Ks$6TbddO)`ABrS46fttRfA8MC>Ol1j z5EIU?zPxlGsRtF;=Stg}{dp%tC)yWskUS__x7PH-vdYXU#vE_7`mVLH+|dmRyPst%<11)&isuwC8&GB4+LO z>m>!dz!wQ>u{PCCL#vGlWGYSlN=%P`QVN{nyLDqrnORd;vwecCDwlP5Cl2IzD&@2uPClH0@*!+-xwE2VP7AJU% zIWqXZsoxxSd*}Qc0V|LaT(Z+S5i1O5DB=1f!(bm9!&ZGhMVeI)Pcxx<++SvxN1)*K7rL6JPTjQmy@zh)6 zrL6JPTjOPSji+mCY%JwbV3s&E_GPW@qctqY76FVoJogabqVfBH{xQ2aJuS=X^0N8S zXpGclgTC#V^78x?@8)ly0-wb@R+X)&s(f~*ulW6_X>jTq#E*tFZ)xp+NMiS0)7a8A zh9AqDM`x7wZd)ym3iSg4Xla@o-xpL*$KGmA8}yk&r#EUW9WH{=?EYdj{znzo>o+&tXXb%e!au`T3?-uP=^|tHn#U`ea#ee(`L6G(P>Y?l$;;?eSuKR;`wPwW)B+ zkecEr7mG3XN*Ofo-o6;WKb?;!Uz$-&|53S@)7k{I{;~dUjy6ulGZ|j_S!mu*2!wLa zKGEFrY`jE2PdephcF(4@WWJLk{2z<>{@dBIT0s4OGCe-#2s?FNEvvKhml*OXCfRwz z^?W@(`q>QbtMd+j2s-Z`T}-C)>ni+dI;mDFFty3~boQp1<+Of*nLSx8o{dj`noXAi zulDOHirlmuZk}TB)$E1s_~~2P^m_fP2_UtYzwg;xMn|XB7&rjrT>1R}GWdP`cKYOf z@hO{d>vsBIxO4tBRGc3lI}|b$5WT*>c=L>$q(da{SWLWs)4$q`svrDDFb4bj#rUGG zzMn526LTMrk4~ybvx)ruvI4!w^6=CgWk1ywaO4NjaT08(LY?L;q~4#itv}BfKbuOu zjU(?6dv#~ic<*#44KeD`vO!xJv)x4F+2pk9Oy=I}>1<-6lK1;p)7nA0*XlX`x`1h~ zugcY%$}FRQ5k`6b4%y?g?wkek20mYLzkF+O@>{H8uWxz(UMSJ!%d-5s>UX+l>m%p0 zxV8@*d{@gKbX!?_zgIm7tEjs=0{1_U7qba{&D}O{iPI}n{GY_|y%1<^fwT#0&3Ut_P_@1oH=u95 z4Smah>4UO=6vCfF7pw326??sY`Ji$7_Xw7VLDl5>;_>Oct|kqc8kuw0 z9+hD3tv;bm{Oj4Qtg8a&EHbJs~ zGvUL|1kDI}vLviwogKKX4Smz>ulh;{{q83CI8^^d1iqbGP}g7os|^a#2X93oAxe$r zt@p0G^dt}cDtyjLBlznaVqm0FlTbRxPMRlRoiwpKQX8DF%Nq@!5h zT_MnJPCxKg2`|6gV&D9A3ov8@L85x&6jQgG)y~>Dd|74nomZd3TB*8e+zq{d*g#q( ziL#|5W+57g`E9r4u6y1ffv4Qgrv3gZn3|ssyXRU z{I70BMP+6?-Budr#RX~mc1goqc&?2LfNTcs1R-PbzX3gOJIo!|s*DX}Yg@3|u0+>Da2qs)kRsF&X~^UvA_Em2&nHtKH$L>H~L zX(yPZGIQeHHLtt-&3E|3t)vkv>+RNujbJ9Ic6?AZ$gmkmZuhKNcQz26CRsV3zpvgc zg%G)G1DoZ#UfFo2r#$v-rP$VL z;;mW#HmlG;c`w|8=3B7*uWJU@8)vg=Jw~17kkLGt4wk#Sb>G^VYNz>r+4KbYdL6~K zZ{^LHq;_ihE3VKXH?0+QY8B~%4ksJ|00|$psvNQ58Dvs zv)*JfV~C>{rT!+L1U~pd!f5sEd6a5@dgRnu+^2J zRcGhR_ts`0=)m^wY{r4BW<1WZ#W3l`x?6I*(JeXl-IC*jVPMJd*k{cna|!*!vK~&= z5&m5$uG0`5S}Hk&w%?I`3;`0gQ>;OM0*xN8vv>=pqw(p{_tlbrs)L!>w6ARKi@N&r zIctfr|%6Wn3~l0?f11q z#x4Z5^n8OA;qr2SgPo!)PCmS*w@#t@EZhhH;alRXe*5KYcfyzNzd5act?i)3>z^hY zKTZ5klY`-%lhgXn=p$?rTcp+vha@Xg?eCcSA|JZucjk+oBkABy-|pYfJlpKC$p$C9VuThsc{_=va7j$Qx{s-?$&yXLE`X$oXInlC0K0$-iJ zrQX!o>1mSqX*yfx)`P99Q7z;<{1{Irj~+dKS^fQ@njKZ&RAb_%#A7g#FWRZv4e-nS z(`PGs%gStp9CZ8lrab#?ro5q3GwJmY!0LB*pUr!-zWkZHLppOt_JgbAxkD;T54Ubd zG_&!Y6GT^k&H>NO+l_^U2S|lG7x`}d&QcCXs@B-7&wI|zA?>g-Tk7=T z^NK|Do<+U>$lQy+yj(yGyDe!ob21wCn)*hW_y3#ic>i%UcX_ol0~}Vro7(Rh(oEg3 z+k%+Jw}I64qVBH_u1!Mjrvc2D>skxg`<_*yM^(p-w49%y1B7J;1|AlATQt;RQmG$>`7C*oL)_tk<)01`G zBq41wV*Ywd(OHI_)2gnGvr-Q;!u}ec_OD->?Jb|Ly2&~@?)Cd+^~@XyxfNUYsqOZ+ z{@(ZeYdxtriwDzHwd^CncncsIT;1#tb|cER=(>6EzP}hVpW#278){6yt(|v&%Mn1A z{90*;rv8`ohjzVxJwG=pYbzA2y6j%>+UF6dYtBE^vUGa!%Bk#Vo73J6l!)AC(`@`R zxy>MKhS;GW)B5}Qa`mKFv;7{F=P9k?pZ^FI4{@%e-`we zEymyeL4&iKyw5k&{B{Ry@JaW7_t^$_cR{udhR5rc*!oy>&SX~3UM;&bXRnP7)^~Gv zt^w0>F{nptsAWRS}n`*Rn|Zc7-G}y`9$6*VEJK z^8Kn!Vhsm>dlVbLsdm}{5gx~53h>uTPYn$-bKjZT$*(e)lWY98OmsJOr+>9`yUuRA zvNyN%>uiSK9@qb~HXpw>{j00#!=-OVS{aHsFkYv?4!er$wVyYN+U*p(ZsQMc&=voM z#=owvJEhn*^DXDLHypQrdI#k0i^kEfhvnGvf*R-7<4sPC?t)+c@^W(pcSW!(6Krlo zEjPV&EsSm+gg9W=%ZJrq ziM3o|H607;Z7;Z;-)7xar|AxD5)Yxe182Su?ra==bKf&?EOoPg?AD{h8l@~=UOfxI0B`%b=ds<%je(UGjaQ-$8@cMetp#e2Lyf@j^(t{ zP_O@hVR@$y(_k2X2V4BR9+bB?YupY(A30h71{OtjPTt=(H2R>>+cXxmI{E9y4fEU4 zmg&Q5cZg25QlIUu4z9!b;m5ak{WiS1>WTv&w)$t&rs**c?>!G+zU4(G*>pei;KDOX zc;`3$){}Z#L*Cyc4K_g-O@!9XV=<{%wrqdq(WtN0dU>XQsHRryWn}LM*E$+^@2PD) z2JOIcXX^x=p~E1yTmb8sEEo~MQ`PJd=WK0U-X_{IZra?iTGj=U)`RK+n8t?`V zns%MKH>^#!c-Z+Kc5$HT#PirB=lk&w zR&n&_4Kn3wZ_US_x!y1(J8+X^77)7zOeR|>AYn?A1DHJoxURy;v&JNS{|Q}&K%_ghA@ z8@sFB>kUv0d$4>s-CGWWQT<>IU1r{_x-!ZJf9u-;tDz#TfaUjM*~~A5;ZO*hT*hoc zx(RN7YUgdeW9m7X_mmU#Y$p)b)Wqj!YG-YRTXv{lRX>kt}LVoqbtLM zT+^N+w4EE9fgz(5TG8dz7NOw7hI5-$M~=aNbuXo*FErc#Zv5_7ZkMgT=vu5-o9@2l z2Y+fCaeB@NcOTaO)E8Oji>Hu+d(eL$eE9#_dlT-qjigcZuh6{rYKRb02#S(vQjm@; z%ZXmReU|LZjGhiZh=4@IAiw~iY{lY#e_g$xcW|+sN$&T~%!w)VUR_;XRb7juzG_8( zkc14OhIXE4o_I1d@k0(Kk#hl-Na}Xs0`QlXumV@#(a7PQg8)xZFhIRqNGfKxm z+tEOfppgEB;CTk|*5#e3%s!7Gv^WG_+}htA;G8m@D>tXfBYi)KA0FV}6r6B;JfE#C z`0z&w6U648RcB#<-B^YyxusS-F;R)SV7NIbn2j1Dr(myaw?)@OIamyf3X@@fk#5JX z*%!6Yoy!fqZB>btAyl<^X!2R%KqPEdfniogBO~0&uR$@T%`2Y;$5@vD>^KbH1j+m& z2RETWz#jy>TyS0_F?iN>GpNSEizkEplDA6dh)H8zP=%A9o`X|h63If;>2EUg1r5yb zh94EtUKZzAQX~bUgCWiM(fCS#j{(^C4a$WeJfbPSrQm-qPKD&a=?=5XgRiAEN1dIDbPIV(4G(#OXMhhf&c=!Q(gG@^?Md8s1OShlf4* z$8i%eCmx+xyVvf*Pg7svvB7%0`%LPx3h?tuI!9U@IRu3C)pf0Pq@8?EI|tv zH({G0onB62Mn#}AZKZgCuCoYyJQ7c=0jEVlC|AK4SK4}fsGUK7EJ!oTvASbeBQ|4Z zU&5ya(~{7>NOBXUGvPQiILeEPh_z100z2xlqhRf({@g4Y0NVfN#J@Va=hL2cbPM+F z7f6G=>Uq;ZZnE$e2K>3ZzxS~_1UHlKNidEc_1L>>c=d=ad+QR6KqnX(BN!0upR6PG zAyEuHmzkR}f{`A71_HrIa6SM;FhbB&PW&z<8XzQ2{9Sa&{e)4EaDD2L0QE>P^$0Qb zNC@>v95>|DV-7LaW4D?tI@A-Ga65%K0r<=p`0t6c$b4L|=9xzZ_c!DdNRFudpi=ge6j>C7CV)a?f@93uE=vu2Xdr(`%Dyn z(h>6ddBgI5z%TF%5v-RtE+NlV;e3tY3MOE}u5mP>6;IfKq_zb^2W4}{=*pAf-|pch zjU9-S&vt(jw62p@?rN060jS$HJgow=hkUz3cC`w-917fGMQ#)w6Vh^TXKL>%QzVp^%8wE9Is=~6}MvKFO@4ylKL^}NI~ zuZp;T@PsV1Iq-KoeEO=)0r?xhMbrosQG<*lNgRO->2xqYsE}}#rLu@zeQ^@@TsVLEZ zuP*%R!mr&czXN%ZLGu>-VNwy{J~%ou&qP_P6hn!!rWn?Q7zC{66IXPbb37!gzyS$3 z7Ob=$dZ&fJNTC}cFik6{v~YY{0hv~eAw7x<@u0B1t=<>BZr}GI$vxyvGb9^;s$kJX z10Wf~ni7+&n!vS-5v-HGu9L?(eli4qQ$;XO49fyiAkDxlhnp^PlSMsWi23sl8etqj z{NYMb%IrL~x?q@#MFVpnKjqLUi*Xv%pYdiU#L^*0vT+?iC^;#z=?K1|PyC3`4}QEX zBg$x&73J%wD1zJQA_ExHJQPhb-17iuuxPqpugR~0JfacpW+iijl-p(jwu zN5G=(z~dl)!&Ki6EoMQt(Z?)&h3G;QlE~Nmt#JW)t)>%&qk*_DJi}ruet1Ak&pUL# z#YN;etyWb#2M=(bnh^(+&hNi}CM`twS-?+p-bi}300$7{Nf^c2ILmTv^`y%1hVH)* z3C2f=UhN=CGLIm}qfdXk2o2D|2FjM*G~%Oj02gU2%o%kPL1t}4JkYRF+REJ2StKoV zKNmZ}Y?k1}5DyQRSEvGBg#(orlw#aW{PX+ib(Y|ig}2pTkXh`$`m2wB2n@~wc05s2 zf05T_WlKh?(npqvx5J>`4U1I23ui~BfALSrFIh9!T+JR1Go zYT@u?{vpQEf*EQ47L7|r!t!iBR%!%$X0MBC1C z^7-sBeg^U5A07xWNRo8SV33gWZiG?WA+Y?g+f`tMA$&8T#ooSusrZ%^_f4hu6Q{CA z0LVmS&Me@>?G9-n=L?g(r9>3#ki>zoK58#OKrF5hCrjij6f(D;zJ1vQO_Lq=3yNCU z7*Lo4%MSyfm(wcXw^M`VFQ2u12BK!v@TAG}HO?I?9o70elW3WPEfi zNpLz*86ZML4FOVr>N`F@KZvQG&<=WHLz;g5p=1f!OPZk_l3p77xn=!ywSM}z8)K_` z*2+^_RkfQ0dd)ahmfQr<4}ud#rCun&Ll6H`r8OFnC>Jb!%))L@XK3*qEGE zmX~b^(tb;?Isq*|q%>7Z6yktiO@{|-F|TatB378Fcv2aEcD5O*x@Dg0n6l7`(;J=N zF$0lA(KAc`0$DR!e9q%Cq9%ipcrWuglYyq_xMt%jk1?4(y4MACh?JTFG>DE?eT|^| z7zz95O3mo}SMCu3@ChScPsGJKoLA!40i0__fc=OGD(vdQkO6wjZge_}9vS*_c{*!m zeJ%HhNVL*_W0&{1v~^!?>^WFwmg_QrsZKG9?pNXjKzeQyON#@knEj)iTH!N2dLjd2 zLVKw{*W3x#pw=i^Dg~>!Dv9-p7CNgfka{4ydIjAcN$hj6IG*evR6w-ZgB^!guAyICBO<25ltmy&WkxkwM2dSo*?-LKU zQ~fP;UAa%dA3OBYmxcyjWEB;Zkkm1Ziy4y$cvnZlK#a(U!If=6)YV~F=T3un$R*gt z4-`OO31|3hDB_KxAv9Q>3C~STYZy6lCJ^#4F%%dMJO@VKagy;)H7uEiw+Ct?{0>hv zT2E(2t=fO1+k5f^li;-wm!PEIena)Sz-^gAS5B=)BG#e^Yyi=!t=zkN(>kqVB<2`BT<<4O7mYRlUZ!`kA{aahLEpqDNJK zSk$u@@5x7^&nYvkjBdgiL+puL`ODNPRI^H?AiNP*SK|PKDGN)WtJ71kc!Xn>f=(Id zlLsX-$s-SnWs*O>L#-U3svDZLwJF#`D~KF|wl;GMH(^R-hOh_wTU&*FbEw_1^sd61 zijmRwTv*M%F)BY?8GbG_?nRJA56L!Hb~8Y8}@4O9Cyhb$6Ds3a~r^ZQevE zW^)arn_!-lgJS7J29KhfgW21n5=hs*yUd3BCcg*Tsn92rY?Kh$t?(5_c4w>lPfR=YXFQlEp$+G{x@QYJ;;^d2Bu4YHq$Ot zgbwujDd_d{6G2}kWQ8?4r@IGcMEcDX%QsW3J|WA;l?KrkPSHnY8kly|*J{JnVfad} z4tZqX^X!)QuoPmqkgH3=H(8+GWNBqEp7_D?n<-g#GX=~jzakI9KJPjB4c!|?D?D={ zwmSpT8USg{fV2icS~DQ60g%>zjFZ;VhpKLBeh7;+(wgGX<2c!y;3&K*uLvo}?;0GC zh_E!JJ#w2o2X2#48#v7)ewwdWKFz;I*B5z^7N8x_kF}|I!^3UtiXU;hhI6wr8$4c^ zkcb`kStj}Gm_AYX{U4-&nFuKwsIWM`3*scWP9pUUgEiddoi2(`@$5N&Y9vXXVkZX? zPshmHwXx6^gsdq+8AC{D&uC}l$swT;gDg%Io?~#o!s-FBgzt|Kgt~sU4X#Wq|4*Np zD#NB+mOu6%I#(d}A08eSh^F?paj2r;(63s@{O%*rLiG6XFxZZUU)7?(;cCn6pfWu< zI4B+@XcTVQ4zRln?Afb-e^==gNqWF49j9rVhwXL*WU}*wCs)IrdIE^s5zeP0-?(J< zZp7vl;n6>w{#4~&WeDW8tG{7#4z9RLJ*?-(6(y%NR$-{BzX=YsJqPEX4nnVM3rICX%Zt-n5FiTw>w-=fTsFa}zQf{ioJZiS`8&CE ztAHHjI|;DPi@ueA$@`lF3;&JB*%*S~sE(p)9J}YCB1#blehF_s6w#aLvqBfpVaS7V z`R4f5{D1F)y$a2PQmM$-O{B$U4rW?&JUb>LqFy1U8o4rwtq-y00M-nyOo2-hr`3g5 z^nm&~Qom{0iih9$ZOiV9e3QnTm&_E~(wG})M>gz|Br6+#2F8mp`mfB=wh1i7>vUspg+)YQg13F0z>FS=~0~>Q0cGsEXWJs@^QZD$o1GEXBF76 z>?m8t#`!JCe@`+bGkhs`3T&nWd8FLZR+op9HqMpLuKY3j0nHF0JV*12WdySrY#=Cw zqz=%h%)h)MirfM$%&9zz4!~v6ZeM|k43-Ex0~~sP2=P>b?@1aLZ-BaivZL;xBNlWA z_@7H~Mo8|2f7(b2Ks!=wZK40h_`lgvKp~2t4x5w- zg`^@*kxA=xvC;$0DTDZ9K_!AX@=RF4wujl`%0obS*$rS;0iF}$Geshfu@|E8`J|Y> zO;?gW;{MR|;%d2$#1RNXuvas&98?xkb#76AX?mTLcd9Ktwu(f)+V^;keV198c(IT# z&(#jFVB)P`-fUV{wWk%g#dSu8but%WTO%|rFn^XFAvDfyVIV%~_a;8^6Ccx|~Niz>_M9z_6wb%DDCTNCQvYJx z46#&7|6eJKIPx20U`PMHDUVdZ|BUz(3h2Q<(TpIR3Z;2C{tX~dA<-LC;{tn6NQy+! zeACPdKk5UcU; zvl;lI)rrge_Gz~1@k zS!HNqKfMY>9&u(m@@M)k*eAJXoFrYI&<37QD*D$d3PA@un8gmEB$%cUqqfhKbxT(9<_+(F&4Aay!JQ%NpWXojbR%c;IR zWj2kva*Pw0miMf?1y&8t;o&}_GOhg%`?HH!>Xt|TIymS)(5kzns%H6i={?;;5RMKG zc2U*dR*9;4F6y8}t)D&===&AjX_L0Dqx!VvVD8g#pLlME85Qsl*Rn!?L7xoUsCJh{ zFTm6Dus3B+y(znz9~~aEpkoRf{L@pI53jkP zYxcA?7qI5oyyg$zW6iHWeD_7~cGh3CO3)PMm;zo0??;NRr)eT zZ_OV$QF~_4I4k(E{5@@deJz-a8T#SQ*dH_OYF5fhINekZ`-5WF+d5@G%n!5ja=dq= z5kpXYWdq@+)iV z_;Oz@q1M&$*whLATN-X3(PX4un6M@1 z*pkz*AF-qw%0YI2DNPtt0BB=~CbSOAZ2@ybfoo-u*;L8mo=O%8qpFa_C?-g8r;^1u zw$RHwUW;DdRcLFWoJrF9ddF}R{cskJlUA2_6NP*|5TzXQ#~vC zETezxpw)6>xDpzf4&YycG~)0X|F@FHy;Vq~G^!BqSsYJ)x6zc|Ccs8BUSLCZ+^WuE zQV;kMk(FY@)RhgFsY0IHDVyFTA`$H>GXd_yqG)Y+?xIF^(}*0KViPOWjrw#Nl*?3f zWYLknGb^X7*$yo2&Y0P@vgJy{H4uihY}i#c-kI#P6`l>yO|ab z4^O~l1JMwYU=uHXQ1U#Nls&KB*h_NfpNe6NR7_Hgj z;&d8+m*=Nv=pb@b3IoJqJ@I6JAT3=&MA9XcLb?R~%7#!(ZbVtNg`-Iw{}&TXBtXdo zlf3YZ;lKDTUn7%y|KrJ|kn%$%m69O2lIUp_R+E^RN2D>MrBt5#%hOW&>uyz%#!AIp zQP|m>#LD8%ngmx|%qEk5EIO<&;!mK;NXXiMh$?sfJgPkMi1kkGOP%maXX5x2qn+~! zeh%Cb937|#^A*!JVz0zKE8GJ3?Sb%Ru`p3g<1kD%5=V2tQoSkd6ZJ}#TA^3wqD5uX8|EF9GtOj}|9R13F z&E3GwAO;on`~(xWo{KI)M9EOUucEss8HmOc*h3vp0grv;4cOmtdXpV>t3N*@S?g$b zK=2(~GP^xz;o??G$owiI6f=Crl_1Ky_;*#BWVep%9fFyrRH4KAhop_c@F zZLzg&7cLkLx0_c8MyPItf0Yj8{8Q(D#FyBLcBaKGsssyEYIUVqK!tCZ1VBvbe^=`N zGfs-QasPM|lmU9u0My`o(-9VK;0z5deI4`SVHGcs`rZN0g-iTa6ZPrfu=ZuExzlv8 z>XSLumqQ0@LYtjt8^^w=p7(#t;uP0kL!6(M+$0$qIR9~Xzk`TvzU{-09|BxEldJ4QP%|Gb{f8E+x8M08tEf)8O}|Sm9H=jR zNFBEoA2qj|gJ#od2W|9kyJ%%@*P%ai{Bs9>rY@pAZniT+04(1J>1|X;gDlel;ZHxgJK9(4x5 zU&*sT+)Gy2Rv-Ylf$+KFplAo}NC{KLIq$DjriiFa z;UPLeb&U*PcCfm&?8|+BQq7@QiFn4#wPX`)Ti@RPN}X%f#NKytgaURdvc@zjCt27) zhrIy+Lr1bv#J6b_Ho86RuHC?)--_li_E%a8#1eGlhm|U~JygBFa_z3PlAaY#yWN%G zq*W7p@2?D}{ng;4jdpOb+qEuTtqqBDcEb=n=b|OSqgdF*}H`F>%>8<|e3SMb4E#tvA{G z6Lt1{LJ_<#57`ZWq7KXK%1ipV6A|rFSw+w@%$>$(CaEqAkUU!%4?E`8tD>Q$`KnlC zY5pxp#MMd?B5~v}g{Kp6k$1BwjNA9z_;RuO%tnuj0xNJZgV`vFH zh0uQWBSLiLdWbF`@NC8L&a~mmo!9Sr&$BNiWwf7S?m5waQrQqa4-c8?Be4d_I~JDu zNMf1?%?x`V^RUIyQLDPrfOiJQnrVrJLE4B2(2H4!m?_47iqI@HwwwG7%H|+Vqk^d3 zd_O))c3z!bT)a9RoxXW-cKl`#FNO(+HbfIhHs#mFh9d+?2!(2-+@tV54W{uJr@@#xnt;3K$WcpB~GA6yV64KCwZEh8EY>qjsg*aOI-GM5HlC2(YrjGMR|GO z66(86Ucc#nMff_f;Hl8@wu)?vg|pI7a4#@x+&dltR$9I!-PBN-Jb@Sh7A=ZI#uDv6SVVl>#q6?(#Xgj1(Xw z-=epFkQElIYAR&X1!{_$WtYaGudYn)WE#vY%o}M(Z<&_&L*xvNyqpeL+a2RZX5CEN zN4>ks>a1J|Xig$}+foB8mGH2Rf9wsSAb;BXO;E;ne-NRO%$KSOIM*;J6~?0NOX2)t zBT#f^bRD2{RiJRT_3sQ60}8JQ5ekor$?aRgQEmo~(gY4=g;F#k!&xxP1e+fQS$g=} zZoFAG+x$2P{r%m+@<<0lc7FQ{orsr77L@zFZ`u34wD)3%f9K7|>v&9BA$It828^O4 zQ$%CNe>Yl`_pSsvVIEelrf1=4L_J^q9Ml(-_2f|Jb zPGNT;x-!eN16G@$CLsh(%SZ{XGcb8W*z?lOf5p)7%!>%O83tHqlYupkOx6^#%+^Eg zjQ9$UBBGhRN#Ysq`Lrqmn>EyJiu=3BNP(qaxlxp8SgGjwKyq8_Dtd zeZYn({J3o>$5Hj-VR4ubi|uVUZ@1Y-m6tgrp2@G!uL5$+6jy%0v(-!ZdK1LSJdY|x ze{9D!JpU*sSONhy`tGRlbg)(&Lg_GkUGk`et+tju&k5T~FUE(5=JEN-*%@fQk8Bec z$02bqv2Tfa)_G~B92HWsUl%<-+Mkbd4L5uJJ05+T`5|mqpV;$|`O>QIjx}5gFJ0Dpm~$>vB09_@=a=NZsquw(%{<6ir4Xd4jh&4P;s<*^*@u zY1>zBKAgYKs%EX8!I&1f_d^w7PJWiN2aI;eV;)doNG&mfdc003jv-U{?UAG2ww2QwQ=qf$frl5m_f1q`sGiazZ zxOp{j>;EOerbKO1U{)fSl^kZJ3bQ@}S$Smwm|X+B`Z*Q)_)CFJ(nfEDZj?>1T`GRr4RlF_J$`xiEc(jH#zGvf?YNyh* zOhwbnt}~Uch5x8Cc(BZ)uTDc7%(LFz>+gY4FaE8YplQTc+y$e0{9Cs{SF5eC4+bUq ziW{M;$5-45v#$JGw?fyF>(l95r=zLN*O^Y=v>7MoU4zCEY;&o3e=D};Z35F&K2C4*mSZr&V)71;|KmOy)z@ zlN+YgSC>$`0LU=AsA#zirPVs;VZszPti|-Or)i~!jZzXf01{dh#ILb~mZa)naZkDu zR`E$Auwri223XO(ef zhX4Rwu#kI)4+5U`5YqkP!O0SSdfqQD}SGzsoVgZ()8ai@$Rf4HB6wdWCYW*#&Vv*kk) z05|umY*sjTspA@ZaxFc%yr)3xiF!OX=diQQfx6YD=rq?<>zwIT=9s*w9l`acTK20w z%dO5Tb-@Y=!V==VzcV%THbKKr!|C2X6fp@{p-jGOVK!82c+ES zY*`xuM|~u`f3~`j)JA8^+E6IUtvDR(+wJ!Z?JyW?SLW>}HW*3<{W=&E3mEOq2qg9K z=;~_6Q`?=b(2T+}vBGmn)BT>IDFvy$>6lUGH+bUW%^0 z@QQZ3kf4SxSA3@~2m_I;51M}F$_#F<@TPv&&TT3vqeY1jk0SapRQUkFFgk+xt=E0l zd$#|y`)qG3vW?d5>5_?X>9oB4r=GXp@1Pza?65itsY=0$0g z7YTnNf8W^nFK|DoB14$gjVq{+Yts8jy+Fi_|1~@Mb#x(u-QeaXerPJHWuNp|Q7_eM z>tIULKYblt+d9_u#5gm*46eEcRbVt)jv#S~G${ue=&8r8C* zK9H9pDQ*Aswe;<4*#N;L?dg9A!|-$_`gtW2e}P1D;)DEI8b)6r7i`3CMI^vQd08c} z)+-|+cG#K-9>lQnq@@@XxE-0fbaudTEDnCM2e*k+Iba68^{!9M$9=2Mhrb5ZEjS ze_|F4S{V%%W@>vei5fR?UX(OeM5CBw^CWCcg1e{@G^#m5@Y7DSN&tOJlW0RoxRwL4 z4eEz^ld=BGtbt=nu}L<-B&@DubomO~wKLAraiA(8D)0z3VR89AjDUuu=0HIMcAw4! zt%yZdQPLcXFAgd-Gv-A$MZ34^qYU{bf+;asarqTJy5-sWxYRsi)WN;kg zoN!w(G@?GM)utmpxBA^Kd4+iqg%DH`67v?uS&E0#V*2@{Lrp&orv_`SsP;%YH!;pG zDNO6YFZdt$WlJc;2_n@}A+3cJn^mGdShF$)vgV%?hx@nS?=X+cz1q1Lw0 z7i8|OBQVD^8XQeV)z$r@^g=Yj2k|sX!sKlgfzpx@X=>%0&+seh| zyMdJLWIM<9hpphS1BqVv&}OLSe{SF`7GQn)AA=!HifVzLBOgtf#_B>LG22JNdkR-@ z;y0U2vG3*(y#qh$o6an}@5l0SEw5aXhPnlzv>|v3%rtP^fCLuwV{sRNYY@M*CAXx6 zgejyg+s*B!GayZTvC&a|H-i?Qienfb4Uk@@RqpmH=x5t&H?Q1=JnpiYe^$#xG!=ZS zDst)Ova8iFt+)iVYiRtS8nfw8yXEL8!?8pM6uX8PpgQ=ELhH>t&GLw0T%0zh5&CeC zpl5Dj=o?{UQKC*l+Dof&8m(r#Xg7aswsTa915P<^gHp+CUNmwXrV@}hQ4nyPL_zwT za(OC)<(3%RAi+sw#Iguse;JGa&d@AE+!Vi)e8~ZF*|~g=pm7Jsk^<;|LA+5TiHhJZ zh_<(tX?QOg#zh9#Hs_o96AAl30x*3R^<}UQ67nq70U)YC5PBIW6%jU=>IqEHg>2-Je>{2+h94??vSGM|(oj;E8(mn#Fkw3?0j~sK1;>$f1j^CXH3o(9Fc57U$zDC% z|2|^v;h^Am<-8G8nu5x?t#{btpQ8xaW;vJdO%X-$klXPNIgsn$_+>^>XIX>6E3> zI7+ra(6tBj?++H+`e+&h%PF;~3vmQRb!Pqq^VVaHRfEW<5v0#-o}Q0hM8!CdXNd1@ zx)CJPY*N2XM67P&Te*0T7oX3faeNbx&k)lNMf<4efBco+2+tP6saN0L1XID{g}bYQ zk@RB7sVm~szAof<2soQ>(}?#a^~2LUq=>I3978Gk?jcq}`g`bg`&+@#N&S}BeYzDu zo_DPd^U7@dxQ;+e-ktu`<5PKu2}gAcgSHLPtcQmtuYx`n5MdrGG%?UUbRxUb zuMY`JK@7J6uVQv?2UExDsg?gch}+fDhn0fQe}KL?R}5bmmZu9a6N`7Gqba*oh%+At zNkXi+c3lEysiE>LAU3sEHEc42Giq`6!WRQ)Ft^8>B)Ba^6kr7agl&JH; zsEdlX>B!zQ>7dJkqbn^s?tV|`muHC(&oD0k@cxxAI?eOfZ#+QR_Jo|PP`TM0?soM# zf4@C>zw&H(T^jnvieIhT-2<}l_TsFL4;8Sg$DePH%AKr?2c0E-AJ4-$BgA|4F>p#% zM>tjV4WU%)?%}#f%8D_eU?-y0?e*y=cquwO+-1|=g^Rpk^_jfjcd2P}My3wHNVhDk-4P1pk#z$-Je?5KwesuQcHHF{PZ*V+;QLjGVt8z$LD7!qvvn`d3rv$Y);YPfOK2rpPM`a z?N9M3o}quH2slk_kNc^4<-Yvz>Q&WjGM$8|C?)^ISy-TdzD$z_`sW(`3m?(Sa3^_$ zTA#dqb8&q3=JY-50u7yIcTM-Qe~D1x6RJ2Xib?b8ihY0|QCJrE$25!s@*_@f@Q;xF zD9Y;udMR#aFqPu^c1C)c-bG(X_vl~pCChH;fH&1h^vgVj#%dpTWjSt=iV+zuW9Esph!tUdXLg)AA^EmY5g-fTWHO8GIafn2+S6)hDS<1IgZToOct($GFmHkLaTSp`DN5@qT0 z)pz}Mgf3a(l$n>ZquvRZ5decsM`$gsl_IxDo;O*n)VsE5p_H%L(nMQ({jv#xF)W;A z07COCt*d7UAkT%b4->mO02CMi>HsPLv?1^lR$V&^g}8#ke`z|-?`LHcF2@2R*i;%` zu{jEyG2ygP7nK@oheoYnra5{y7L4IlRJ1WS)^La41-2z=w}rMQoi8yi%FvOvDyo=~<>CLn;M zJd*AjG?-2ye+T@AEC5oLz8HLtR=Jc=M}>ST4M2y-v%Ss)z3Ugoh28t*qN*_!YFr25 zXcm8ol2M+0uFPbskK-(vPgB%*E?DrkU|%kN`T51@<*Q?`@jZV2>hy*0Nng+2j9$O} zcy{V{)z9zVpQ7)-`aLLk$qEope2Rt1(c70V&rdH%e|J^!`SI&_uTX{4^ApmeR`TJ! z-!~PUpZ)vP_x4Ri@cZ1~mHR^-jZR;`yZD#Czqhw5w|jB=^7zB63o_ZWbF{*@FMV&< z>paDMy#Mfq^r6KDco-zoTzSrq0{hVB! zv$4CKe;xou5=Y=ZkoX@_eT~Xc*^E}1_z4;n8i6#Kd_nu zq2LN(W26rZ$ycmlWr0QzS;IJEOmWR_Ob-vu2$jZ=s#5GQzM>}R5IyzsimoNTlGX+f zVrVd`J(;7S@xg`DZh{ak{yF*rAqX&V`3K9Re?*nf(AyX7cqMJzPMJ|%v$yXI%eIg8 zn#`09(m5A{N<~>#!@f-;c`GHW82r8!$qz+tLVWVo2hx_aogVa=j<$Nbsz8G+=ciK3WpO0<@~WX;H-1e_UA8KUT!b=u3%h$R(_7{sZmKKbo+e>X2MJh+e;MZT zTtHqtR$~(2G~;o4hd2lci(6%uHHs->XaLsNfG%icryf;YypRc*UFb6X%OG*F>Sd5F zoB^FBLWJ-zUSXo_l;Nq0GrYw-D+1mGR!|m=N}hJm_9F0#rzip)e`JGAutFnZ z)s9I=g3kaRAIDF|H6c#)aT>mlAc`_XS7!yl8G$j0OqjP@bd7ClsNo!R%p3iV+5w}( z3A1M_31gDX8;Gcg(`fVjc|>Qc6EkN(i@2too3GfWE8*GN_CU%^U2ZzF?OQ6r zJhVrnmF8m7BX2NA>CbH>DSq3e`GoWtv&R&}%f4!6!yn?=m^hG}e|6aJ1)hcV)y^<( zB}BQ1sZuya6A})I%Sh=<@=*({tpziJmP*@rR}Lcla44Su{eJrkW!tEwI*7)?0~C=X z*_)K`Y_PQj=F93=MCHTi%UjeFKBx|PJ5XzBAJk@7g47+;1j$68tZraZ^N9R2i1AH^ zEt|kTP$1a?qgQ}Xe?r|YscRFuLvG?I2??_t7r1JZ%K62WA43LYr+C|%U>1icArnlkj?q$xfT z8#IJtvOzOKH(beH1Jk^r35ApsV*Qf^EZJoNo8qvXn9o-f-%d(%QI^MlqvEy(P|tHXdiwe;FFC$nq3C05ntF14Qk&q_4Z) zHZ$l5qnQo_)53*gQW@H;xviMg%ez{?pKQliROImlg2E&gK;eUrr%}j8mGx+$Ha6H) z{z%?OmcU^R%x(sEW3Rb!)9&U?cQu^|$V)c*CaC-)5T<7}WH3 z!=~s`xLdO+xlfwYSufbEWiZ}e7rwmZy5x|yj5Z$gEfQikgwP~d_ssB?>*7Mya=P)D zQ*lh2K~*g_MKU(6)d$?1GFY}Fif5B`w?xWbW58%LY59OvkFp&fIG8KAZ z2Gh;JOTIJ>+`8}W|IqT{kLa_&<<(FQ2EWUL&+}?voZ#)_Ou7;W zH;_3tkuMYGna!F8{xh3tvUXqYLbNh(2J6J6=7|N=j7l z+AZD6Gn{_Lo})&`s_6F->Ji+v{StIhPx9NoFQvkrmasXJWe}M|SH5Klm zLRYPT57np&p0I0M5E9y={4NSd9)n2rvcQYDk0>=u8-cJFrDXt}kHQF@4fctxr`nX| zO`K)*kl;BlMp+v9-riOzqe3;yE-u86I7$I~$;Y8hWHjTIs$e)A<%F2ahBMO}e^SX8 z{J`Em|4`^>Bc?I$EMt0xF%9)8R+RowFcn;kdQ#xS@^BjZxqy2s2 z_~Xeta(d3lvznzIJz^tJ3ZP2YaT1sJmJV^Ok^1fkH3BEa*MJ9a5gP1n8S16iqw{y? zqclk71sq|yihU!gP>tH+2n^gKe_ia5r+!19F3T&31tGNO0eN-s#JECokvS(&fBcx}0~mIoih@1W$+oAtb99F-DvuI6)nDEfw$8 ziakrkKh%nSxnf6VVvoFiJv_zl^Pp6x=JJwzYl%Aez}z2)w%VUkfAWW1LL*`@{@dL( zK`T~Gb?Y`NPEGi7lZ_FFNbV0a9A-$~8OJl=BQrG2YL!&DnUF#n+6d_4Q}lUs6O190 zfDCQ(nV5o)dP}vPsGd_0yNjl#l45}ZRCN@hD}5i$^8}X(fvT0>xrMt*^M|H^Dqp$s z(BJJo-S5++s)lhzfBIU9qRzs;?b&|M!mKJHodAZ(JpDAvaHxO0(2gn%@{Dpq<~gaE zdJllLupK#1vRAJx#O&nND;w>4d90P0(IQK7rFSOkprUM^i}F3Uac`#MF(BMG6f1{h5cpRgRSL+R}%n$@E z7~$}`BRFJOmd2t|tC^pjoS4?}@X!Rg!nj0sMp4sBzOQ-8@6}PBnVGqitYj*q0VILN zV@=s&@4QHEmCjXcWlO=Qi3sl(*^7(w^GSSDny3!q1B#MFKS34aVul3f7g16fGf0(* zarNr;g<0VEe|8sf^|))RcbbNJts0P&WwGv&r^*dXyg1#XU)P}oU-j-(Qh;Ya6y1O5 zl7__r5?@T#w6G*>Zi-m=qLD_oIK4>Y4hc-?@6T~L$>t?01i_!l_FmI5t)hw=##A2O zDzt6+g6w0haB+pfcz3zfc(uZBgnnj?;*e{ygiqJIDm>zT?Suo3vBFR-eEMuYt3-rsXh5C7VnARHA=EEbf2N_ z`wy}j-p&q$H?IQYc3^hqvUz^-{`C0u*_)Sd!9M)>#f!5yKS7#;ckf=EonYTi$SiYu z`pX5l%%a~P-@bo-c0M|J`x-L4Lv-v9r{_PPf1bk6cV{OTAKpW)_owHl??0ZtXkKy2 zSU02{4vk)cu8>$5w9|zfSK;`vx;sD8ZYEiFN4&XK!`qdPtU*VCHb7JY(01JpoONn> zdYNB2I8tBX2$}oPhB1@H=V+HcK`_HAWPS^xR{n-~s=n5 ze~M>DZt5&W9gwH6_cjF;8Re%SPWe^Dd!VDg4rbt8@-mpliK=w1bmOMF6j~&>oOKPT z08KHpmrFg1Bu`NK=-}d-AGrfiP0BA~e|Bn-o7G#0lOQ@q;&3cZsZhb3qdDdW#V`jd z{C&*QMVoXwC1x4EFk@sM8C6fKptS^`C`ncBlPO=ZpXEp~^=9UK)oO{xs4~H|kE3Zt zZ5yERcM^9dUxN~`3P*eOI|65&=oY-JMj?I7P(47A)B=Wrqf+8f_X*XlZH{MWe{N1V zDprP>4b&jIjdJCfN>y$^z~W=jI(GDqriHqDo(h19To&UXG1Cy~bxonH`<1^*bXNxk zvo?nwi}56yA^?P=dCoY%N-&~|Ltuo}BBqhrw7t8@+TnRovijzAH-W&?S9Wi|ZCE9L zZl|Sqf&8m8^mG|<+wUk94Vu?rxI+i0`*}UTzHmDy}U1sdU92No#hDvWd^7F#J53Obp zUFXf3okBHkmexqF$IEJzOZvFZi?Y5(m@S(}^m}|)U*jgYTQbv|rK7~bfBd$-#wP6 zAUC9%&fl_pbe#ujsE$HOe{h_l3c6<}Auiw@RB6e;9wLcIXPQQ!JoI}*$6ObT&a}b7 zRTU8;E7LFuHD$6v;b?pqL}Mlu2g8RH>&mVy2FDM}J&2@IxB35eDpfADysUol>~%~R zihJhe16u5xe=HbBM6Du~V=FPN z+-~i5w{nPCZtfrs$6&3Jn@eprG=ff-wm=Ii$~=JgEb8^18e|J)3ZM+EMwqxi9X~|phEk_K(MKqmdXxXp8NVM=<-Y(v9sunD1 z=~?(DLib7Nw|cm^TVvpqvs0DKM>tP4rWSz4imHz&sjzSzU@;owdWKzdl^zHylIcs# zFuh44BnTpIlGvoc1fQZ3+#d6F`)F2p2B`wFAy-4EoH0s3e{{>pn2D_a#c)n6K9`tP zvQe}c;!v85SX8>kl6aT-z0sa!P*X1O_-N}!5bMLHy%jnjEB`K9gC?3n1b*UJc|fC( z7{g?oewjsMh)WQFTeR$pWsE z0&K5oY)3rC)$2Y{ z-eO3SDfXh1-82AX_#sF()EveNsx7!asxvGO;$gv#P!30^vb}}LlH-(f8yq^#ob0BS zxa1M0Yw8+LyZ9WJ<4J3UJ;@3E%;y+)M$@RAWFhQ~e{v?x^*V08x?j4AI?mTI`qJp2 zzJ($LXsiPt;=-O%s0egI&AzoJC{Jk3FuDom2_PNMItJB9ycw|X#f@3G+2 zqLnKpvXh}%XNbsW3_Vhc9#w6E9jUGy)Az)oyQiFt3S24elY&}-mr_~>Fl*HnAx2s^ zaO>tmf1I^xm#fjt`>YnPH1SRM+CFoE3hFbbwzsyKYo@t1GuP^FH1ma7F&$51Rk*Mk zd@!4LZ0SK+urG1pdt0Ub#(_Iedy45iQRNr!iHhr-UfMD_;WAK1MTFAW=?ShW$To_` zky$UAoNnYAh;C&e7k9blQ}vCHvK!#?z=0I;(DuT937ngXTPs8~O+m08ka< z7&SIBI7y7%hhrHJYqq`?8P`&OZPCr73x((KjuaI*-h6{v++?pnGB|=lcqXV@b1ppS zfA$P$X0$;i#vl$Dzknh6l*lXr$Sl6^Nfw+(I1?0@O5anosxm?~QCazc~j@Ta^ zEB$oEwcyMA+hSsMzDbM#8BIOOG=x6F!6Z6E2nr(mdp2VjwZtNWTjD{{KTM4SU+`Fi zWnH`q^4n;6KhDZ=7-JrXQKNn_jdT4yf8sF4wm6J2kHe^JdHvgNjFxD0;{;Hu8WB4Z z7BlstB=lwq??P&b89}(kn@Gfn}1; zO>fAgGDy3Hi_KlfpY$8aNUtdO2HLFZxy4j-Mm|xmx;pFE% zHjgq)E*#$(A1{dUtzeVQOj)%Oe+aP$RCcB~D=8s_99whm+nRURY5sYFh$V5XSfdqq z_ppJd0X(_^LMQWSoCfLG{GJc$>DAjN_bu8G}_^$7MlXS-(h5e09vu^zQ#Z zt?QjutHbjhq#IJ7zYY)kf6K!cb}On4K0v-+;hCuwdwWcyFQtvmFkbKJZ2ZaWlr#Pm zm8ub>y_@;eXh~`Arq-4cae>!MI8<&61eN2`z@uVI@tY(=A6sSHbAIeP+>3*?T5cUN z3ku`9Cg*5nvVn!L`Q}2)0QW`~t>k|DYZ!})-CBID?vpGC&5XHOf4x}Fron7fl!84; z6@AjaiJ|6YN=C3QAm?Wl)Uz7 z3L8t=k}p*^<^*IMc3;YK{OI2PDM0P~vjP+c>7 zm_wZBtR`jx1}-T^e~T17qaA~7JnxLJoA)3uxR%+P**`x5Vt@Zhs1`-E1A6{ChxFQN0C3F)^!IJmBSHKQ->MNJqsSj z#AeS>c_S(P^HscWJ%`>y?Cm)ytgUrUDFEQ1-se`K5v`;tP84ouc}WjOQb zMras?Zffp`zM1U?se(0}t$ev{_w4W~f>`CBO~C~q!WtN2h#DS6i7(c$>Ui`klH)vm z#k8Qk`COAW`fW6@me!tX1dTubOlVNb?SswB}ynVS&QQjl6Db*5s^16>qkUrn7eq@)8DLLVo!^XLqtzjik-NboOjxy{w zOYa$@tRaPT;4)RrWeKTy zV~@{AfA2zi;V)aTIs?|yg zJym?)p8)BKC!B%Lb2?TOHu6|zdt9Z1$|5(Xe>?Ib&WRC|VfJ|qw&g4B=%N-^LOnL7 z=}CpOYv6`7u_k@Ql-`nQj9G}*bWhC5lrXc}_|v;sl?VUS@sU_)Jmctd0&j(-@Gy9` z!r99MO^mc28K6%|gbgSeg&N@papC+J>X0DTOJ-r!hJdvac{?DX?CfeNoti)K{cf9^ ze{UPRI_eJgf3O!j?Prc@gI~u5VtmFEFsHHXELna7e{PTov4^^vTwI1bsmqPr>(@dq zoD!^&Xi%VH669KDJKUM2D!bi+yC6;i?43tL#+oBt80Wz+Kdl@6LUzqFG2DHG?F_!e zQ-oyKHGyuYak{h)IxFKK55Wikv4m>)f98531cz;-Ln!ogx-^qqodwE@^koxt6B4ay z3opk1S?X7eQ}r$2&mBLCjiN|p{kNVLVSp@lDv3F z%!k!+Nb$QUACU=<&OVOLHT@5%^~>1{vs#(?|3PEXgGl&}KJlRUd@@^Gm7++We*+Kq zr*vdsiTh(5iCEHaNszJh^i!S%6(WT6U5^s)Qjpk`wR-TCUH)a_ns!3$M1tGTg zB`jT;+>b&CkO+jCgr=+=st8o}{7;2qS&UU``=^e77td7NyYD%^tWdtbH7cg+Ehe?d zL3$gjPI*vUmlB0Xj&vkPbmSK&e~n2*;-82&mFPS{>){)Fx|(g{WuASmcIP?>iG9up zeQh_v$SRpnQ$sl^Xg99}BS>YpX6p5%2B5dbJr+XHS9QoTm3Z<>Y-1i#UT$U#{XR4Z zf#T$HD%g#J*({0CJ;NjT$AXdqK!Si}*08Y(2wL?OFi_1^ssR`~N;^d0f0w_}KJ>SB z)`Rf2PQRD~pmHB`Z4q)8bQWv%LS`v?p(u;iOqrDhQn$zGb7R^n+`KNPWHFu?BNft! zOm@E_TEPc94GpD}pcv&*e>hLWK+(&HdKja>IG+rpIp^VIwHeXk9t$CBoEWXtRVvBz zgG#$K-it+)j%^Wrid!x8`wG`qhNO|}`K^4dzC=_ml;oX4$PsT6dCa#Td&4w(mkvx- zIorOPIXI+bqt*$27$X()d<+s$Eua>z^k;0cO$GDctu&U3vq9c>~du_sxgV?QWAD^ zjiU0@s<|WL(D)9`!w+btiA$_>HR}qR_9(~^8&Q;_x~Po2d-@1u@?2;3#w+#6ZJRAU zVhd(tdTQC1(R5OAf8849R&|Xt#Iq)5RRXv%Im{0acfBo$R$Uc@L{{#4y{EnY?tYJW zT|unuC4oHE(Ol{`S&Se&`{?}moiH5wtC|7g^q$gBICdlfZFj%l+uiH!?QP{0tL)B@ zQp80FNCn{)_0Wp0bmjUnd;dg}^ovF92wEgY9EEYE1_m`7f5DSHn~p32M(h#N&B&r# z#a7k842C5llfEKp#WH+7D6r@0_lGzhW^J%5t=5FS(IEQIgFTih&E)fZ`ohR!6MwS% z_a`_!R~e5XK&IKp-&pm&uIf*#_xjW7y*^*P*XJwrie2O0!9&0b{aPxUd#;?`UI!|J zrB;Ync33K=e`a5z>mX75>kNK<_FjwFc)N14y|Lm%=t5AQ;5;)@pBniOP@lm;J`8yH zG#qY#G!^0vsOiQ?@HCRiM$y~iJbX1wMmbh3Ly0ov8#5glk9lpjqxu9bMH!kyX4;)3 zxJU~CBZ?xJGnWg!#30fR6*oR2u!51{kEX*bzo=kusM|!4<}3 zJrXAI7O2%W0z_F#J zbBhfV(_wwVI;gumi(5;{N#{UHIwQ?~86!$9=c9uqG8&HO=CYi05UZ!*A^KO8sBgCc ze@CJ*4elG)Q6tHU@(JkWAc}&%yeip&9k6#s*HPmOPl09U(On#U9wAvB4l?N6nPiS+ z)NDjvSxkfxU)X8^$63-mu2Rn%l1WMoDNgi_wT_kM+-+IQ-EO z2&dmQrfnM<$weVXE|v@1-WAv$6;)=&{?ei4b6pK0&!bB8xc}|_Ro09RbEs$>@-t4U z@nr)K1b@TE0@GAyc!4DCC0w%k=~`f$sWSk7_YK5o$Fw4>C~yOb%4pI%7W}!Fe?d#N znRX640*w`-3}P`~Y+i}_YD|%A$8ft1w69oL%y!IHlkkE^%qp>Eky-|49k->n)@jON{ndwbhLGSZ$LL zpQk>xnJx6}1FEl^t61zA>RRngf6cwt@NeZ!sG9m4qZ&cP>DSeaIS zr5<#svV+F&Vs+sLbZyCDxh0xY%y%wc{`_L}^40NAqvyxxrz3FA8ohn_^8ECIKBVE0 z+&DzI@h!_mbiXewQ>xn8U>ekE?8WK%$&tK)R>g?A^tRtq-qo#5zh#CWf8JXrXv=J7 zpBHQK4bwS4`}e7NK1SKWIv3FbcawR*?{o7+Zj8Q>)|rs%otmSO8-spXVo$m<|6@0i z79xlvLwj5V@YF`U|&6ip46e?wFi zjxOJrWx1ScL9^CtpOr@EAX7S9dndEt{t-GcM>VTYta|~dhE1X1e?5OC>j_gzOOCac z^p*T^osY=EDdxno5EoPy1#~)(W$j?>++yRfq^=Dv?9|HFEkSwv>tYXsrp%+8WrI{t z$Zq_f4!cgEWrWjr3XHD5j>w}|Z#DnnQ0amu3!+|E?#r|H=NI_*kr+8-Md8L!xg#;K6;3FR z8!RT4_>HtzK4Lci*lrt->=7otCIGNrTL z6-cj2H+t}{`Y!N)l|FE_bvik@IH#zEdNK!YtB1BNpxdgg*mINp&{<;oTg-4)v7qVw zsTMTlm(m!rnq-Zoy%-Z&@GkDn23|FWQ$3cNc1fOK*|uwiOu^Q5&e6?aj)_wjQq5c< zTr%bgB_}@1e{+DK85wi7)=)v$ifcf?Dg^S=D)-sGf>d zaz4p5(iZ-&h8*On(FxK{jtqB5)uPHV&SUqkG^Gz8&R&2-&Q z(7oyOe>0W<*khKH*pKU33m_-TCVvjc=l2MF&n)XO;xxsP*I4kGF1f z3!R~1Q}}v-zb2*h@eqH!l|MG|$KU6f{P`dF^Z)AXJ{va8iw-;epm*c-z0S>UFX(r# z_s9L+ZrBg51Fydu?%Ee^joEC8SGz2va%tO^f9~$H-pyWjFL-v1X4(t7z25$~*L^zP z@Abo*9-X0~W&hdJUU)r@o?b^!d*eN?-@AGC)a&(cp7s0Py}h1&ZA`*BPHy4NcQTbk zQEtV+>aFlzXn4RhZ%D7-c^chx#{pXQ{Yh zZm_^q60uc~+z-9**>wkjFWl?(qWyj+>Y|e!1~)fP_nuyNjgYiFbjWivY0#Hw#cdrd z*I`@9=bgos<2DawlXzTAv(Ow$FPq`mf1OepIfJ`3qs=V5n+0MzD_5bR$>GABGCVF{ z0AnM>3L0a-nR9B~0iNop%-f=&*zV#m%3#{>!FvP8>hsu>7p!@nzpD~+8OAFSuU*_k z`N<^6gE8cu!VwEiRf$^vB#Ult;&F@}Tnx3a`NtVfW*Ps1cNdgrimihf2E$a{e_~!> z@4G^}N8f|W8U!QIISvVI&-iZKE8Yi#_DhOVYwYBI2C7Dp@UApVm5&g{;qK0SP0?eUoa z)?$8*Uo{K0(ykh9>;}xxaO6STO32xzLLwS?Y^Z33BO@H5SlTyCN{6=TEc4LXK;l+RKV704+xe)}*2n)1df-m~a}x zN9uLEJB$wz$hWs+W&^9?z_7mO2R}PFh!@17Rv%#)ANYOxLZK{Z*lx#;J{&j7XT$O1 zfs=#RFQb08TZr7pmC9WkKuf*hEGi8n>XHu1Xn^tRV+bPDV^g>Gf8!{qZ>qypeU=f- zQMM@0`DHYV$LNC7GeC<5C%l$sLL$Y}7Ow%h%7SWDlKChAqJTw4K&(`Tl@R?a<)=A; z+G-DET}cf!Ot3mHiAn^RLc7B}(;bkI5wJp0yG-zeL*K)b^md>4LhY?Bud94$scF=h zTYAWC%TWfHC1?sZfKSTnR{yPpwg)@yScl_$XF>#Ydih$}H2 zT63rAHk(duZ@=Qhs0Uqa*0%bY9L{x{osc|vCs@g|Zevn_e`Dxx))Y%wmZl%$Vjd*x zVqj-kQ#*jkc41PuLMJwOH>iXGrO*w=`gM;)XGzPY8`q$008T)$zc;Q!RB+3?tlQ28 zf0u!H<C-$42W;Z9&o0rMtwKENn8iSCwzeX@LSRA9N~THs>bBO2+%`ARGvT7PBRhs&WV&}2)TGRyfo z4v>7%89?>s@EYCbpN9C8hd&)l-@5qQbLrbI{&vz_pnvRxA=c3)GosI>_NvmZU^9O> z5fS<~I@pDfkHv%UZN=`c_ryo?R)n~p;^4sd-1zViqF}UrWg`o>`DJwV@Q^!bVS#VM z@>M!Pt851@noq|8AOs6`iU3pZRv{2~ck!QusdpGt$)2>UFJ`RKO6A?!`I&6j&MUrO zclP~?VXMSx*o1BBw2J_WgsOmIVelXfU{#GA96WWknt!@Fe)F#B!MJ9fj`J`&Jdw^ ze)8h<iK=`{NVUJ!gp{q*3V z|A6s0X@C3uVRDF$lJhlg``KlBc$jSOZS8tjZo1`zGPRX#`+JVF?JW|tDqLyT+iIac z{JrhOxkBO$!i88m0@GQ~a+g2OrB%5R7hyql5%3fKBPom7N9g43#Tj-g*9tHzbb?L4 zTGf4Mz6G6jD?WmPcmR?Bs|!np9D{$>JuPG(q<`17`kCCBce74^IVGBPo_)uOyL2ny z)sVb34Z&6mR5pmY>NFkklERhPI}=-S-}gbo1H4$j>A0}q4x?l<&SDTa;QvxSt@C{; zEW@SX&O6yDqTeg(_hr^5Kv!Wz4=k(%cbS# zD1W)bX@!oOUbi`DdY$IL*zW<3+^n{jd&jK_a7&I&YEJ~R?Ur1KFNn?&y1@s{*G&gk z!nkK}WgreR3V&X`g&|7BO?wW*N~cGP9Je{2$6=E#gKBDoDu|z#f@uE=LxN|-uhjPe z{2=JssAoiW(}1>BwgcQzvk{aHW+9786n}pJ1b~MJbod={vPX1+HTQeMxUg$f8MSohq{*yp?I5sbF`att;`w}xgPN>>hz|?phIkqX_A$luVhfcGk7(J4(|SgwgQ1>T+hFccRWlfB>FV`%cdu)z$+w~1 z?e?6S9TM7l`z?Kotdxb;f_DmXT=iM-?UZKlZs`o(tu%vo;tV(*SZbp(;(z9v?f2G1 zbC!msBRI*34pV-w-T#4VNyX5&s~*XgwXFm;{$UA}Eoi7s>5P6lUpyyXLEc zc6cT%ihK85WG^nx&nNLsX{wk+K~d6RFxd-|Is660Uous`#V=K>*B54S4xW<`Ze~fn z(=^1jFx<+r_--g8N8VcxWq(X?Lmf|R%{A=B=oJdBg zVz1^ZxNGB{Rta*9rCQD!67J889e2j<6RUt&YvDXZpkcJv17X&2`u#TL^)=tiHP7HQ z_$|vx(@JzVtYjLesDE1J(P%gcwuy*0i#V|EG+JJ<8Q{0HFj+%j>~;t)3a(Xc>f~03 z$F($|V+7a)%{7T~3$QwCe2_2}CQjD9s>J2Sip7{u}71xjIWgk2b2V9PeBI3NnGGmKQ=*7vzE41i2!8Qk5zgx4~#2T}T~Py^e4SGCY~v%4dmPcI_Gm!tK*!q%7v2fM7S zqy=Z;8zc_EyMJ2OXZD{ zn^+A;w*i}DWLg+PRLr>bfnX)6|A z_5OqFt$(vmUTxLF!k%_&$-zeS!Gglrz}i?sjHZp}dy?hxA4vEIuXh{GLlnHUS20h9 z*n?s9sdD~a2jv7f{noC>BiNwsi!2v}So1@>T$PBTyPo+#14piChqfhdi5%Y++4LHd z>$Ug1+u3XbC985{4Q|+7k3}Z55<1ASOyTWYp?^`7v)Lm7qZ0D5;L3Sf&XNWr763*m z4d!2v6dL6BBWyec;}=}VVN)g$b6z_K%!e~qGL32l6akVwtG5KHI%0^Seto-|CXBIE zo>fEHWe+N=D}Y59NSV*-)MHXbo;Tx9(<(EavG`o0DU>bA)reZSxScKKV>Pvt3F2=3 zI)Ah!7?RSrELrL0=lq^@zG6viU8aCqzRCKmOf0fAJx7xH4#B9crj0Ew>MA(%2r#yS zSbe83rLd1Hb`7IW9DaGM7v$>2Mo7}W-lGj?Ue8`^AobYO*PCTiA$|SQyU4sSBL&cE zX+%KCkZpKfk~7yI9PD}z!bh6S$yHk!@_*JFD#>Z;Y2PeG{lP)EPygiU=_!esev7E= zts}8BVADL&W>p5{KYpx-#@_cb^{`3AQf<1NV*L093G6(I$#U0Qm)=sMUwX047D1?q zEfK7Iosg`zzM>)1C^bWX9K4SW%$1dZ8nqWLy(OeyA^di+`Y&Xa04ZC)pCyeY{eSA3 zHZ`@q$ksKrRjqb5=2lkp)lTE@StjL=BPk2oA+VzRa zTgjAYfgookE*7f0hl7Qo0+|71OeG?6A_AzY0n&_=v=U_|nSW$j%DA>m znoKLLtyVJXFdZhNmdii0JxhMlU(h?;J={G!G7~jDBQAI5C}jA3Jb(V)^LMz)@xpu> zg{TvSizD_mtae)JX(9I9D>N_W-5qNfj{TRbVmk7lw{9Yl{LCO?MEzi*k-H!5A4>YvdWx1kA$J1);wt;W z?f_>roCSE+70G7lDvek#4q8sGpGnRwiuTe%6fSJUbxjzpP@RR%7=IC8TH9)g+p?_1 zm5a2Rv)0Wm)$XFx=>nV9Lk$?UD{MJ%XcbQw@a&T88DWDI%RU#B=FpWgh7gjU^TB97 zp+C2Q_AAVYA2hFt`2mCGfq**@kY-bIc$Z3uVvZ?F1mGC&W%&v#-<*(Xk^We$cWb=T~2-#yDg%VgS~DDOPY_3Ix@gnWNl z5wh-|-YTFG3c^W!i)9!FEgZgc2`s{ra0IRY5^N|tJavX3qh|op@jNa82+*H3{uotd zS1((eTZLt}>*m&f^TUNvM&wdvzc+w{wSIHpiiNJnZHw>Q#(!;F6t~+a7*qcRtXXWXTZ`zsUNv7yqMAkb?Q{}B4f^+b0j(>!C+c=ZTx@M6P3btr z%SMsbN^)GB$XJp1d%YR5(cF)w=scu)yl7k_4hz^Vw-j&L?Q%)s)NW~t!iG4Gw(9ZW z)2F8oU;gCD(SPZy*Dqh4zBqXP7B?Szj}T6{P4}; zw@*$FUcWy019R{V!x?CR`4spe@DO&RAGY>yK34FpL4T6U)j*}LK?@9@#@VQ|8wm|S z(Xs^jLNkX=dGhnCc=9w&CZp2wzybi8tgfz9f%KQk9(f22n*XXJCVns63V6tsS*=>KnuoM4IuuFaH$B~|57N(FqLz{{M0`NNO9|GP{?$f6=^-Z9 zBbcdq5J;Zu4x47X=XQ8#)|7I-T|jYsqc8KTVt<$@AJ!##yoZ9U;Bt0#4w#C(ixK3A zgSxufTLB2wQY6oXin)9eJ!@m3&PmJlMH zv01^Jtl*cB@RR4yr0?4_+v4Sk&LQIsTyu5G1@0q({l^Ee=6E#>lYO{DoeP zw68orufNjrRgqtyI%|5JL^94bl({Ci41Z7I!WyaMJbNxP$R(~-_y{+;F8dm$`cW%~ zQ~zj{IpXVDD+Or`o<`b}qR0y^g+UlE^@msKq;64Kt0W`x1adv83=qjj7Q$odEYv{? zC_}NlFNq*D$-FR?w=;9zNkuF3@Z;eK-G5=wAsK)Lkgjua*}G{GgvC0>rH4OPh`TEI z0gL@EDnnizfuMVkF6i~68e$4oI(5y~CO3)nYm zX<4W*X;i1OW`kCV05#@58obiHrPB>=*7~|BXk&eJO2}CPZ8>4-BJx}qrNOKM8cs%g zw_7WxL~d4LKWJ?969#V>;19Id)_M7at#0h9{K60~tE)?Hr)z8GO}2e^?0*?GHpeP3 zZ*T0jTDOL%2!~ryT=Nxy70W6w61w-L+#DE?wk$s&vT#>ZjTy(~VJ2;zp98KJgKVTj z-5V{OHlnjefng3fCA&%lMKi1QZ?4UOh)x>ma4GqT3}^Z>Lx+0$-4&k4Kz#-QMbiU5 z({3*UcNbf^5W$;Uw?f~4-IpM3C+#V1rTUVLi}MaR=8+SBX*hzl)R5&aNx=e zgbzsiGpNW_rgoq58K?q0P3V1{-A4}UD^?cJJhXdw+sZO{@wSw?uFDt~Z?ATm&Rv+w z`PS{-3wFg*p9uUXl%xQZS6B1(_i>T=-r>>9r|Bf|LhtbvliUdkvwzX|Db2fsPF=mQ zlV2xAk&aLyaattTX?|69^5O8RAkmG-lm;@J6^8`6nvO8UYMG24V%Q!5A66jj=cx2;d|3mz3YAcXU?f=?LvI?BKFj%o^I$xaeP(!B2K$$`5}0gV+ ztg0v^Ke)YhEXa$z>JY8hsq#+A3k%2q#_iGEEEEZhUy_X)`+u)ObtoM}4NmZo>;A6^ z*{CR2#u-9ER)b2F=f@&ldkr#IK(UtM2U<7#`cs&q_M~p%8GMY6R9>m*b(?sVPdR*8 z95n;iF$OV*d~zI20=#FTOQz6$teWw?t+eC~pQ zR?D~>3^;>9J%7nY2s1MK;JjivLbOCVKZV(}_O$O#9`tIeTW#$TeXJPdxLjDy^;KSA zQ|)r=E|c14@cAUJsw6uES{;{Nwry|(EoJ3~Tiip>+&3&O5v-mh$BZ9=d8&t#B+mHo zAidSZE|2pp=}hm0VmfObTwz%hPWyQRS8Jyn=U0=F1Ao0rAKGx$kn{7oXs2!T{@i-F zRL#jTpm$K(!z%P?*11eB^Wvj&^^Jc2C-nZAh%+mr`_i#VO{67Gl!LO9?@(cmvC%V< z6hTXg@AbdzZLRhC@V_^`-hlr1Q!gNDJiUZo6rw}SLR4OkG#p|cJl1&~23(aQj~FT) ziYR+4yMK(zz|~PaFL1GV#jY5olMhxI0ck3m{E`q5HN1sHj*Ty7Dibq{(MJ4@mO#<3^@LK06MyxzOA#JRPaCIMrGMwuI4SA`Ef@+7 z57|1!BqieAGL9s2uFD)JCjk(rX^aN;=Wr~~CS=j0tX_I27?XOYCdS)TV$eq5uTs*$ zREl&VYb!u9HHnVtC?V91@Q8&(eZO-pt|limU0)ziYt+_wSv<>;UJ-@lWSUykzPXzP zWPi?Xx}JkOgW4 zp&^S<=z7Xp^bt1nJY}|(97=6Zna^LL)aaDS{1r;2Ne)vg^62B<&i3}^jw&D`l!_Ak zRTok75Rifnq>LF2tMar&XUD390#9_q9Dml@u|^Zxiph6bt(=_{im>oetO9~iRA={UJp=^aa~UV04_FZ<`p7~@p0C{e#>pnS8AjGow5&%8eBy3WGd zJ)%nT6Qf4H^pUv9DIihgd7;Wdv3~^L3M{xY78*14b(gkd``l1B`Vr;cyPR(AcIX(E zk@us40btmM4sXpiD7V>$%+;PH%`)P~RJWRTRnqe?5lGw$P@qH;(1)x5_a@_xUDcVl z+nLJ1)6juTpF^Rn|13{YD$ZwQHBSo|8j$2K2NRT!NHJLu;6lz(%bM5uEC zn-EWkB}E?8%_{~2cVq50Y^kcjzB=7zn0AAW$D3M)*!}>ty2_MiWWH6|p}gCq{#C92 z;FkSYC#+Eu(S`R8h>2Q)zGtImC2n<2XE(S}HpMm9^N8pQ;N{3abw>`M0~{EEVCQ$d zF4ABaawmszGLr1beb5KFUC1T5>sX9nv5s4%K` zyP>at|E_UaMZMeG4c_+mw=?XYB0|+6v~DEnZT)8Gg1a<$u9&z;(boKAQ;< zu6BmRl38b{c=CL*=pF!iji6n32YjafV_wak`Fy+cr;CY@e!Sj#Oi5pNl_|2QUw^v zbcAMCn~AMM$!c=PC$gE3>!;=WB$*n~&(g3Gk|oY;Jle{)%o4E#4U%KKsh>n=RJGtk z*Z<%KRJSd9DE4u>#>Y;vDQD? zWy>;gIqCZJGD)K+@i|P#C6$RX@fhjq43*6%|7vSu5$2>$)zJHDQ#$H7UvO3$Iw4g) zUB1!2S^0bdtDx6zLgiB|g7{xSmjp>~(PNf9^xm%^>wmX-oa7xrjr(+ySU$rz$l)j= z-zE6I+qmx}|J0cCi(Fo3skrRI&M?lhyy{@jE1hrXxTZ9ywxe4ib%!odM=i(wSXW_J!go5POh( zuH^+cqkpJeQ_fOWR}0{VPSM>B9Qz5hHX||(K1R_b2sOFT@#qAbGiaJoxm`dux`3*+hu0-guSzfS&ZOyx=Y}gOl3&f3nweP(?c;#V;=2p55qrXZL26GIl zG@{Wt+nR)#y{$k5)%zOrz9#pwmYY?!=djO_A%CUi-1mJ_SCK1`Sl|JeFu<+pR<-f} zy{g`Gv{`B%8rO}>&sepzAK*&P2io8nVPodA)r~N}+Aa2C^9`XOXNe;5xByz?fr07e z8u%%y75IW{R!3T#S0p4r$=tMVv?(^-tLGE!xz4eStj8H#SLxI%?BPFSDKXLE(C<3zZVBhzKH z4XHh<=!36ZI&U?NQzr@1MUXJ?JsuS-UQg6dv&q1lq(8T8^(h5!8bk z_^kS;wyL3)^od%4w$9dNQd}e`Vqoe?N2v&P?0Ol#=R>J+iGFn`jdTN-dV#ntVNk?M%L=^L#zpc==|a+dOWyw_$3U*U?R3*4=sYzGT%}a z^ni+9*b~VP<8Il;?d>tQaKiFjL0`~N2xlu2G8Ku}B*k)O&c@u zFQlVRgB+7#9IS@gG!Ir;%73mqtV#acTbawc7??*-)BC-_#`ca{M>b?XW~GWA{a63p z?|rfP#a93R#@30bVua@LfB+8F{F4s?aWtUCX351Vz;zUs4hRIk5S^>N7mw-U@9pg- zy5*A3=<6Vpm$HOGwuG-y3K!F^Jc6To zsXt+LTFz(Ru}~b^*MGHKtX9J-#=ile;A-_q;{->E%4>3zB9bZ15t5-O>MqD!)NsQr z{0mtu@)b&B%uzmnwS}nkXJy?yD*wm^8ahDMxXz2Ur>{Nvm@8KiI6^O|4JLq)xjL={ zlfY6D3NQjlP`tu1AK@&r8$07!MeIBxk33I_#wSQ}TnWJiRewjtDSi~he7s)l%;U*P zI0mM0yf>1Z-xvi7=l)1}K;Utq8-(B{k0wH{CG352VYI`Mmb?Lp#Aq4N&yie5-2qVz zFv`)#v4CfMiE2W03pC4QGwP8SezBn)0W;o_m8k_bs?VDlm&gm{u5=!$3^^-`OXP(c z=u2-Ma2|VtEq~a${WW|PBi`X5?=Y6ZxVXDRVOhcE?yYrkJ@{((htj4hfN6 zMrtq4CVw>*cqtRhk=|$=ges>hJp)RVcc9}FGhKQKg7ms}IaH*D?mNh;Yxodqw%hOx zWOOmi)s<>`8!`v-3u_v}MbWWzNLVZX3pxr3!+B)M0xzjVt}G~{-Q8~YsjfyEce=x! zs-qqs`Ib5YS{juoosbU8*3dExZuxim^B5Y$z<;uk122F_IJw5^$I{(_6R1`baxeJGbw07@k`|Vk4=&apnP4(!uUU2k$f(@XQ7R}$;Cz@s> zihsyPd-~!MSVO+?lp6Kj59wVlB6W3u4=hKYBl#&_LYd7Oy&yW z<$^pxD91#&k?ORQ`X}PT$;oJ_KCr&9=s72MPv~%&erR5BqnzFQ3NM+0!HFxtnyk?P zhg*-|2iKWxLG2u%16A~PQCu$oX}`a>x3N7S%0%$MOp&4T0#am>^*XO9DJv?o=YR5m z61Wn(U6Y@~6+xvF7fPwUYRd%{t5RtrsqYf4yv=+o|L~8WJU#g4*&Ft>e|Q93_sge> zk-`uWHL2K$mVi9~psWEEreFtAd0ihiwaNH9eJ9^Ky$;_tTnOJbeFERM`1q9Ff{`haE(^_q+xDpDbQHb zTtk`3%EiEP)tmUtP&H~8Yu2$*gn7H$piwsuYDtIg7hBT#mD7mMu-GCMrKVXDB>PqK z!W!o2w9qzl%6GN`)2%A1B%ukPQaO$pl=4Eb^Oy;dB8WKHUF)wz zIX=xfOCIMZ?5K-SI6@mE?625|lSzXia0<~&n4{*>uFUU@B$dYaQxB^diD%N5IH~e| z7bCw$Y5nvn(L|b^0zO0MIe)BOi;Rre-nG8c2$I~ba6U!OT50(bN5<`~?@FffIh>Y! zPb%{5=6F7^lS!1qTA7pRdiT6;Gr69du(uxh%|hYadYB3KR?EbWC$MSmsX_nv) z<`?g&^H1uZ$FVgMRFG;6kJMIlLKW+UMiM#rAipmtBw#nh)L)_ZSAX20zuHz?>$u>K zU3qc@kPT#oEP+EJ*FmhQ#>VWl(S^RzD+LY$TUcGCpL#e~fPlgU0X;ADR?wb%})dMe$ftU5bOUJ;=mVwK0H}k{Zr@Sh-kEntxqp_Hl87oM1E6g0E)M!a5p;nwJ@-4>-Sxv(OIPowL_#&%>wy zl%-)hbmeU&?QyS&HLX~X=oPH3@oux$vEA~C8G@rZnt5ICw=JvVc3x&EEp-QX=mu^M zay+$kjUeZtx$w(=YtEpw{HC`;ShL3my?sBv!w4TBleE3>IDZYTH6HYLg0=n~)(w^o z$cFeq)N9^C)=Yt8lsg!o1i>IDOIZyCS?14G7o;jFav)^8``JSyU zVLO3xIRivwynm2uaPbUtq=~ki&sC^BiUO0H;V2x3!|*DchL_=aco80iXW?~t8XkpD z!Z+c2;TXHNqfj5GIzME{Zy+IsO>lBBjb!9tNSD*Wu7rg%{TGgAkktS}%#mJ|K!7&8 z#q`YCd>Kxh>7#JuNWVHO!z)+$(KH-8(g8P@;n0zBF@GJE;TfXVYy9UF|2e{cp1^v( zf&afJzSrg_P%|Ahw_q28P(AV%OkuN*t>S?iAs+}L-l0d(cT%WZh3{%9ZemGs-)U0Z z#3{vnXW8J?YV6fX^bWEKK+F+Qqzg*|$OTy`a^Js<`r#B>duIg0xK!V84U4pCc%Y=l zdSs62Nq>mP{XCj>`+Ls#A7=0mD0Tw49m9VNs=b4Ke~GREyIcZUVVA^yFZZHzAo9+m zZujm3a8I+_GEXdi7fJeYqjl)lY$KYed&1H72^1D$&eV$VVk`yRAl-}bLhWt!;0$hy zYgn-}BHqrBOgrnUX9XG9<{H^Hyv{XPqKGyU|9`~w+$g5awF^siqn7G8RgCUq^8oe-wo9;n$3S&QlS)9@=PH`5e=mWx>#Sv}H(Cmr(QAOplLD>P9rJh0zj}=9k zEG8pVKY@)xz?AO?zz02nLp{)wcqbh)d>AEgHuWROn-gOdyYJ!Pb&>3Sr_1rp^0i3+ zeSbGS{Z$2B`WSkV!614_yx<^t6Gva#D~u1cqx(*wuN>CC)&@2eWP1H`fcEMn@18 zVW=C`c0=UUxM?h@2%_`a-~$?%M0NUcvwxP$>=Mo(JL8Q2VUgMdb~%bBLS8%KM;b#; zizUX9$U$;z=yq?N#`+*yKN=7`R+uIaKp-Un_RPAGXkJdJrvRF_;o@qi}qe?W(AFiPCgG)j9 zI0i-@Y%hsup;GR}G2)hLrMub*a0eU3k*q{tctbiFk(Ts!AA@S7e zIlWOGL@O(PE26YR%>z+Ax4iq|{2J@H0bFky$lcx3=s+T5JA(b-?Dm#y(Mho-FxFHZZHr}oA ztU=Y`3(1(M%HU>5JFeuM8VS16qisEkTnJbT-^eXl0%E#cj=GVVNuj`WA{?%h8XFvu z4Y@V~M`e}iaIwSd;x;Ka_?tQi29bc8NgewN!~LcQB-3|C#6Box`G1mMYD%ZFj40al z{^4?iA{q`IMsva+SMBBk-3L^<&j57LVml2$lW+3zh3>`ZrtmsGEL1$1>xyMpM)=TN zuW6=r%J2+WC28^AH71CrcC@&Dfy(g4%CaKA8@-^|*_)=G7O^fOjIp1aI5r$4E7OlRUbWh#i1Fn?l3sDrq4=A=%vE=HAJll&?P z9n92&*FSi->u*}Px+%$C)RiU8oLbiaR}BVDcVsON7+cMg&E0G?_lUj5HU%ZpE^4vT zSi*01!kcW>b$>huEpWrGxu}*-Vk?I~8kSi&+)EhO_3iD7t^${QFffhf-?6p{Ky!d5 z=bJ{ZVuD1dcN9Yb$+I-mx^p|#Y0N^84CE#|9PUS&yWt!)Z-E-HP6sSEY8BbfaFAjJ z_-oc^QG2w)inK`RMA!vvM{434Ju3G{_*On5`W;ahkhd=1@L3h8N)QEtk)sE zb*T1Jl4FoffK?3PnZ6Dmhv@q<9i2qzMYBlGPph025h+wadrb-);LOIAN`}^Zc&a61 ztMH|zl*dc8gv7JEPx>Ou{*=v-=a(9!(%ClYAg36w0t2C+w%655XcdwScywe&=T?%X zaHHe(i+^G|3G_|G1k>{l?w<}Ws2HSw^RCwQurt;l0NiX86dxFC!LCqenN`Fhn1wlV z!?87plSohC>7{_(jp<*O}ExMKK( zV?54BYzN!v4QgYB51q*^GFe-B=&dNewX%u%62i?fg;*5Z3npT&j`o%xRxf&r(NH62! zBY#P~0Cr@Y5(R4*O+<@FVguYHYLr2!tMAl_qjp7#rIYpZB8Nc;m=ws8WwAGeRrv8E zOh*H~6`0yA;8_9Mn`)-mz1`6sC&E9MvFdLmM>~%6?BmgiM$e4bx;rpTkF>=G|UYoDNUUl`Nz#hpg(QI$Bg4nqN!sdyrI)zHgown#>3m@6n{ls z=(fCNMal#unq%`L^3#Y!a_SVYh|C6MUAI(=SJGv~D_BQ*yRF41X^Z&8?16+Q(trFs zZF->8q(-Tt^`x6k3o(@vA_@%wlmruofgkGA7@Hl>71&4{xNhMV*u+kOO&0l;Q(zNY z0vmVpYn3IiS@GqV*9uc;lLbpiZS+0jr6CXciv$NnyWn7naod7}ObQOf2xPjPnarla z%FNUyTu2S!LTbuhT6RnyT9^f<(SK(*vRF+_sB~#VHeaZ-NLtgr0l$HTZ-JfQ@6LX- z4A9&HccJLGH;^BwMaTp)Wl1b ziL(_(6hX6XjL4C)6)sFIdP#{Cs3ZB+bGyPLX4mQXQ+c|l@f(abPZjQEsefOA&G^U} z24S+gx&jNyp*s__rROh-9$(Md7UZFiKYMZSG!zcMfNZGF=A#)u|6c1iu4jzC^fkK! zY7-~n{k*S!aTGk^LC76~;1yGx=3JU>%1DmbD3YxE#!8xblAH}3J!00I{HYoFgWRUJ zcybHVNYWV`)0vDAv6;h>HGc?^D%{eUbHh-a_T5+#N%C>G;RO$)PKluQ8b2L2JctaM z^wrED#n#i3tfPu`8MDsHTZaK&BplHWZRcg+I(ISQ6-d0ql*&VzW>6kuTrTCA!H)$9 z2Vv>j4RY*o7dN^@?$)Wu*RXSlBybs)%YAO~5aDtPp&53IIh0`))PLJw7~z}e2S6z` zQM$MqdFfK=_#$p|e4)o;X}99f#O!0_nCF}7XVO$(UC!*7OSw~)9+O1{=AChr6w;4; zCeQ7Gy&GXmNMvtr_zTLPN_~h$LuYs!NfUp_K@)$m3nRvm?A9V2)$0)>JkXa4jKzMi z6Bk4%12Z@6lA$joB7a|uwmKrZkSCACf=vw*H9on&x(`CuoLXJYL}H?O<+B6PdH}^C zdn>P+-paH29&Dr|b5q*8v{##j9&5^ZZfWNGpAp`s)Qw#4r=Y5u4pAML`%YeE$olHK zi9#?wjuqQo$e>00%EA2--6W{E>Y70vm0m!m331Rc?C_IT;JSy@U$sVLHr^JhbM(fTDj{v3lF0&m}ecs+@XU(}^d4 z1(sU_xU@960v7=a%7NOQos!&o6qv1~0lWNpSAYAZl=e5H{$i}BmVjc(i414PTOZ9s zNp(Euu&^9bIe+6=?>o|(5vxViBCSF7=4PtSJ?QPXmm!p_bY=0#h;TFQ&vCDk0-*I0 zebzZ2a?m_SognN~3)rB3=@X|hH4^0L`=n-$>EulhK(X=0)w8D@as`T=>Z;JUE5IRc z`nZ}FaNm6moP>@kq^npK#0m#F`0-#Qou7-WAoQ-T0DmvbBdxnr=OX|D>`3bpe z$f~YKY^c=4Avu;^f+$B(g0#kQh|gv@)?^l?SVggA zp__x$2IKQA(SLWG!lnHQ^<6Ki4GL5S4v|D?tvkUJ+Ep`)yp9(dWw}4T5V%m3&TL-O z9;hm+Ie#NvnnV_7rZE6qD#VwIR%rp)%!dHO$*q!pT7kpuN(~pds-h!;cmwcN#28tr zjvLe{tdN>4t87OaMbRCmDuy2pa3{~gBx+)Kr|$<3?gx%JlGovSV)V&TalNqPIcgX# zoK;05mG%@bsK0M}YR|ehNck0Z^w+yxX{ zRVl&0&xE%1jbM_2%Ne*d!PIkAa(kPELRtX?bM4!#A-4b;b%qYm>z1Pf?PC@MyYI*A z&+>~9{xGG=p;_^pM1Jb)IWPw)6X06nt0!M=Jr*oUUQjHA0yChY`r{|hpGhaQX|`3T zzkh+FVk8J24}aE!+#OEhvh2JYvpjfIcBbPS^@xlwguzXDHKp5vQTv;NuTEbaJbw~- zPcNr1yvwT(0_jg_+ofM4$i&zJMsG4uT$Nl-u{PSJsqlNs>mY-tiYR_K5^_)i6%{1h zNKVVIlWQ`Sq|eg{G@NA5X$U@o3h}wH6@R`lhtNZg#0zG?_*F&zQ3jUav8y;Q^hL4y zkW}+GGkM;I))|ZO!KAHK(x(o*7K)2MO2&&m*3aOm>G4Zd*(XJj z7qTpUw3j^+>gtlE6EtUCekQuBX_omD62-kx#h*m)iCRQ@poPhqffisMl6KkgQGav2 z(Yvc?D5=F`$K@J^lcLMFd|AXFjoq|;R%P# z1x)plWD*#S39mhrW(zt;jNmk%l8*~w2gIZdXi4=+rJP3+-zxgLP=3*rSu5Z8=mrwU zIt2C>IvOUv2ZM{(w|eWqa;vZlbAQH5Qh(8J5#7M`i_bp;av^?*VX(tK`t_ksUn9v; zg~F}(ATb?$qhH(KD^L!&%*w~{@Zj;ABf0u<=ncs^xfd2K8xeqcl7k{C!QT=4| zbMno2FVUk));hIXvVkUqnQ#?XrGImMHZ2E+m)ucR4$4^&N_d0%!$Wd(58Ia%*YO06 z%3zHyr@$cZP7>T_68;K&z{qKT1OygLc<|$l{!+nMN_;=U_4X?MILYIYUtn&_4#80= z!_?lOMzC6>_N97(T3!7#aDT|<_T#f??RQ%jFt!(PR>#D>%NB`BWy7ni)^v9R18tyq z@worRcGy2bgKaB2beook(aRn?%$#8t$~GQy?{+^4o96t0ltAjlX^Y% z5m?@35ph@>;qv&XG^Ydda)Tie(6tPPE2z7{RWxWWp`8Q=-bmKunSTtT6dRmd-50Ib zqEyJ-*sP){!VMZB7i^4rdQQNwJ<)fH424|_g+bACV%!}Xt8ZT@p3YoG2Q-b zdAi-C&TA_E`82t3knz^l`s`&Z#Z2AUWbcATY9e%|e5F3ZC6e-`h^Bm(<2Z3m8Z$rIoA}QE<64BZQ$R3|K#pprO z)j>T#noV4J^?#<;kuH+x!42c%1j&v9U3cg=17PbJ_xyMqZH6Dl(N_3+9PNa!#!-Je zJcNJ02p__~8()Uc;m_uF_;eg?^uurPV=H_KA76wopze-f<9=qsfD~*3sA?h5Ni|O> z)=GvW`7j08#lS>HG6q@8FHhqkxp@I95d{}O>Gvf3eShWbaGL7uiKfXyqajSo>hX1I zTTg_qL}%YF(V1x7NP{`G4`*7H+EC#i_L9>JDS%ooby6^f;Z+ODNh7- zk|bKpB!3d}+l(XG6lsZsNbN)_iKqstal5c1oys36`n}O7lkks_g4gm`K|>odt76m% z=Tm+C1>0b3>2)&E!6!L?ibSbiYd9|Q%lIii%jiv)ae>btM#5tQLQuEH23mf#Dw|36 z)L`|0oO~n-xnw`+b>6#X#w;x#iEyLpf>`NGqJLHH?(OYL&rVxiWjh~hgPY0q?l`Jw z`vVBp=$U}X>Y37vW@;!hl4*yH6y9Sa33l1|7W-_Z(M}sFYOjq{eYcGa-fuezc6?VO ziA07xbE~WHzY6vSbzSgLS1D;3t6^?5-uW*Wf5;4B&c=_}4iGT3q?i(Ol#(yJrzNxw z7k`V0hKKSFu7AUxgVOLaolMda=zSmv2BH|c*Thwo8Ylx+!IYnvKby&>Ng&FEZ;#vn zNC&p4et}N1!#v`L`D!nLn-lfke-dA z^7giR5GBXO3B?INF1q~_s1y|<5*+62Re$?&1Q~-oD%Sc+B~#u6pEYP5LB^6ft`zm0 z=0uUPomJ^fEu;l7dN4jOlAjBcTl7L%iyu&OfF97%F?4*LUf|6{Z`}tMNI+Kkv;2Kh zJc>(z6LKscWlE%i!5xzG{DT+l7Z0MHeZP#h4N_(covRmXo4`Mm(T0(=L0Q4TZhsQ) z$^!ToXtK2mbpyZbu4oL@-vG~gjD|7pCV-HG4UWpay-oUc8~Oe1)gpNC;6Wb}`X}Oh zZ|@8GpD4J+;cuMf_3&G7P zvBYWgr3~FHNRd<3cnpo-h&OLxPd#8|G1 z0u?!A0ezS<3q}uhPF2VQSr#*}LGpM`8R+l{Y2MSHUnN)Yp>j%L0_x7CtL#+X{y3Xy zNqU@NDSu4mj}eqgC#6vHtS?l(I)MilZ(ttLZWHx5GBA|SM@~0!lHNNxHJ=U(ed$yh zS>8o2;uqR}qR38aC(2FaVSnlXTR^10{?UODK8*%YNwQyX__>a<8MV_2E&f{%ayV~e$! zFC%Yx`qFVg-Bja9>4dQBP}yr&p9_mcaOW%mWyYS^jW&|o*UFM#%mA;PC38e$Kwtn0 zDx?1W`)tio^YnYs=I5m#>Ta?m89mPn65I?{dNcMHw1(Gix+`gYb_$wiejk`Zy{R>9 ziK-|8!(PI~)fYsi6a6HAc1wT#W8?GEps0#&7vGGyYm}41(D8;2U=m+$kSQLv3%^$| zl`W2eEa+{`lzjv__`12oV>ejo&jwhUZ~62=w1srwS_JfkEYS<`uDb$g0tf~iGNnal z7m;O%cawAxmd=719q(6{l_IlmByv|5N#kZgye4iHxD_<10^BOl`Q?8ldR$3?4!#+0 z>}*NRK={2af5*Vrp8}-GZ$bgucRsx;RoUUD{F!LKFQ@Y7EW|T1Ez;{)!YcO;XBE)x z=rkQ|suY|*@GBXjns<|Hl^(ZcltXBAbG!b&oL0$3Z}YxPnJp*OZ954_t3{8-ertiS z3KpCrDKM8}UL{l$ET?-k`nGbraSbq*%JH!9L2Ttpdwn?zd_A z6i514?05(GfsQ_mPSpAArZKo#*s1%ei_~eex9k~Ux9T=3?-_rxOTa^X{GFT91w^3M z&IZD;3IY2tu#{0M9^${~6Xt2YtU8{W-s&40(40><J;wzrTS)+NL3W5sq5rs60T64mdb8L2oKGQYK@W?E$ONZB*Y|1pdUE~xu#&aoXeNJD6LPJ{E3w_hms*638-O49 z8^Z0=4q*Kqf-qc=WHyeVHa69-7gah|ySfr>d#j6{AW^DR(8if}%5i)G&3rSK z!VwtY+IUw`wrKEo#6-{$(m)90-Eo+PH+VnA;gp}YPp^oEMZm1rcu<7e#=_4ld{!T1 zVarAiTDO0ARzG?-=4B-~W@k)Hx*TdLyBkZN;8Z}nYuE9rU0t1Rv4!BCVr~p?vC%FIx1qNcseD&nW36(m< zRQ~2*bji~_)89xXX+v^v5-_FQPP%uCtsx%rQMKov`c7 zc?-l{d`} za+y~8I+cEm_Nt5`CrMmrsWZucz+KnPceB01Bmxk9Z=zQ-l#USY*B#SE) ze{O#WoA7z7O)K-W@iH3|Hf9**-Azbsy98UG8EME9*QR9JrmSVn9@nhxwRdgO+_lLM zxNBzh2hG}2ZOhu&Ff+$7v+j;N!mbXvcV41jGhlz}63u2!{J9K1K_sxZ*WUq%@1HQ_ z1KbxtC+y z)9;*J3A&k0p+CEcfiKu)YR@eTl6VraH)+t@D~t+R_DRKJ`o`3ID94LRk}kxAsX>ca z%0eP@3*8+}%*?mEwuZ$YtfGMsewI-8v?rH@H5n%PFq z^k6*rO23vdWi~OCY}ZCK+OdBwD;-PZRxA2w$R)$Lv4!!+20b!}C|0QuTg} zs`r|^(buw^i#?_b9KJNDdKVa58qIhg=*9bR zb<*>XAUG4C4teTTw~yolzN+BIhFp@W3w$wCLixHj^r#&8`MNcF)bcMwdW)Xm8wrpc z{Dp2tph^(T^yPm+W=Z4L;+jI5|GY*f)1wZ(26kxYKfC$8qn9u6^rYEEdj8SR0{|;c z@hNXnV`|f38cCRZ?tsaS229@Ns61a9QlHn5id$pDDk?_;wDRW`!lVhTxdhgXffe7b z0A54ff}FP?3nWRV9{AZ!vi7zgq3=)&AY-?N*Ku(YrL}+O;Ha&T0NqrAZYtm51pM8X zll<~TNdCm+dorUB&^n6x8{J7bj>@$!*CuOQ8mx~1)<@m3(Bdcw&ci}McfW@24O%y9 z9YI~CZ;=~m>uCk1SBm4FHl9^(ZyRabu=J_({lqRT-%RXuAgAo4#F2&spPhC&-6ZK1 z0PD-~?Ja*jx#7nP{o@sUWb)%s|9Gf>Jl8)Sk5^am?+2AAt}1fk>3(K`m0RhB@q->) z5b>^5-R<3S5B}}OyY(3>yFJFQWw%d2i}z(E^N;9=lY90@521WXIX)sCLMS3tL5x=HC#pr= z%*t*Apfuz2uR$3Aa7aKbC@$HENp#hILQoJB<{I6I=jSP(A3PyqbtuznkB6 z2yhK{QyRj|1OB7qF%_YH=liM6yoi%6Pi{^pcizDjyDXw1l2QTJ(FHbKR@`(p){P2R z264vDoYo9^DYR4*SBX0pZ=cqjEyw{f5Ws3yG^APLy0(b3%TFWDp1X*%R3pw%)CP+3(dxe9B*3}u*; zs0YN&3KQ?UEJXCttt`3;M-RU*fOnD&!)cVdKG%CuFRWX_sZ~O+DMLB==l73fkVFsN?MOpz5J?Y?fcO=U1z|sP%m}DKH z0v>iS1{d7dND~*y+66nnO*$HWmJUQ)mCSo?RcEpw5Zo`?5F}(kAQGerK{b=E1FY)n zP(_-9*jb`7>N(OGRNL`&wZFuQudc4ln~-#eYWF&AA5b}!?kXLX`pc_T*nIPP6QT^96JhY$WIArcGrhjd;7_C zME!55f`4+EFgJhf-*eRA<1yR_+k{D&mWO1YIT(@mm|-}Df5+hv|6LnO zO``#@%&2t?KYALwf4D;zQm5VdkA*l7+z!H*-0<{Zr6Y}R=6vBG;+xTBiW7O1-Be3yUYW0ny84H`YId_q@) z6W~;#^;HnDfvIvK#Mhp*;t$2C`Hmd( zB#px?^S@?CJxTMRh6)yB8%@xt%cypYLRw4g@F$VKPFcDWR>Jd7!hh@Jv$T4gOsQY^ zc{;-1IB4AmP$GXmPbpMGMWIlN*SG-W1*ABo#eih8{w8-u3I8TBw6bqh+33Iqy2?;5 z%1X_yE_cy=*tu}tCYL?ESANbrK`W?MQet4?P7HVxX{YEQl;8*fm9aYqR-h1HxJtUY zr2>UG=&NSg(p`4yC=2r(Uk``TWa1OyoDj{N63vXRLwkP)id%4!7hp9Jok$4)zkc%V zBld4uJfi0VvCgj{t$;##p>E4TeczFIkOnP!)x2cBK_|PIr8(xEX++NQOW3m9ElU{V z68=2%Z)%1k{WUM%!KbfX+`e|PwRTGkzl{;ooHXbTV>K5AyK(LA3?Bf6XE7a{L85Rk zX5cVLMkjw`*13gLiF*_lf;2`t0{NhUiE=lVQ0!)Q)&v>z@Qp-Pv2;OJ;~#+@W9f@b z%NfhjYVO*^M8a5e1{P~R!1m+Xd)!;;FLR@+9cF%ZqqjE;@w=`*^WF~b*n;=gFkGe_ z;Tcz4a_6~!!*2YI%@I!f&8oK?%&7>+(U8c5GqE;O+YOWc1i6EQNPuvN1ML_ zgMXacg27i-%uLR$5K>qtcFnnb(;;Amnb4Q1?ffe8q2*xB(F?hXbYwj|Gra5G;hN6* z8jgQ>f;8&)Hn#3L8*I7^B0{5_*I>8SrjZH&cUE%-a2a&I$=+r8`>X?vdcooyH;zeT zmN$2wrcMjBPL%{D@mc97Yh^$&w3eCRTbkfw5(dE432k-q>!g^VZ{tzek>&t+MJBV$ zGDL-LEHxl+1efJoB&N`pHc@sV$4!i5l=^=tnRIDLqVp(Ll4$6hZW(1rE4e3AsMoPF!DHAJob1#I#iX>wdKel|8%yxg9 z7lt7Zi-V>cB{{IjXg%vj>5NE_Lv_4S6Ggk0TD>^M6iC>r2Fqq%XbneXg}A0H_4VIg zQ@_2Y{{6kCemyr-e&-wNtC)x6@T3>)^W)i|wE*63ZJALX{`TVg?Zx-oi_fsdqDybq zu)NZeb$dK5S+n^2K`u@aCxw0AlN*10a)94MdyixGfKSfw$qjxF_2iG)4?elXzt4%N zZ`wb3@ZiDb>L!|d?yxPwg9rUxvYTP+6TgoJ2peR8un|roH2n0@NCAyPS2szeI2=X2 za2#!JNmIyJm_POgBlJ^pqFZHcKw4>~Z9-ZKX){qj7xnuCYSpL>DVt_pNZEf7deB2O z1s@vjhsWVi53v=E;M??BJb@IlbCxlHt`rKooNfxFHvEB*8nvjSv$3IfJ+f4{CyNlx z)nY_*^#dT9E1@Dht?__*6iym=z@~T@FEmn@#S_zcc)|$qF%R2PD)z)}-*bg!o9%F|T=3~HklUX4|YdaD!^{FP8(*MWa&7v9O?p*>YiJSYtMsvK(f^EDf_U zEjSmYiFmPhSVm+`e)Zdo`!z9{NORs^K*KJ+yr9tCXHs8YQ2maV76!L%-dUJxZ7fpj z#=eS#yIxpJ&|sfPeF1CvY1EgC?wUt&{aS#MM*sH#CTSwSPLO{Tv9S8HIkKP|U1?WD zxX^Xg4F2gZx@tn;;CVWGGVctqv8%<%?DL7>uqtdX^4S!_fC|Xh>euOTaGnP`@gZ^Aw@Gy-YRzluD zVYXGIZXMhxO7eeYnXt+LZTWtoAJakM46J0t_jazG3i@p>nFyYoPm*;CCG6XAz2C}V z0;C!vL0|WEr!^aA^$W#h&pNC>lAunrHx-4Xle1go0m|BH2JIQw4wuI$vtHX=Rkp?BSXMi& zY-*=z@j0OpBMzsvUNTePGCM^zU~H7JZ=oKgQ4h|zUoKSWDlL^TeYmI+woD5~4HYzA zY$0U|tuS$6pjMc!?UhPQP!8;g&A}m>a#*WV1oqE+Gn?bDN|+Fa!k;(4gMB;3YbGW? zl&IlX2bg~?NHH)oWPV{Rgtwu1B{kywv>Ea2#uSD&VNx$PqR>*=Iun zGjHnX(P0)8Q&8JP7*e)*T+>!$nX^dEbkJLZY-rHIb>pxcI2-gw6m~}RD@7!&Rud4o z^3*loQQI8{r8U-p)_%pIE$|a4plm5lvRp8*${K$}?a8dwvEW^o2HWXiL!Z7X3qkWH zH3Cw!Jf;ikRzD_lO7EI&s*obew#05nmAJRr>orcpY-Z|0s%Z2Y+Gj#FteV8DphuNm z*>0sC3~HyyzE%M5#9>@1UZzA{@pQe+i>i(^j^}f&!heGRon{$P#U)qQP(=~XA;In_ z!RLR)j!Fq@gZO0MBx~rl@X>ZNQ5JJ(+^TAPmDsA@guRMfC40-QK`SPSoF_YNY+dcT%t+9WB z9uiZT4tBRTzTEn9=ZlRmclJzNLQyq2V#)pO`(J*!xwZY}MoWZEy-47U&Ittd%=ApG zdG6lc+`0cn?@O48-`_%CawkD|tN-QJW^e0r^p7On&UO1coA)VcOZr*t!W`=|n~dyRm%GTeW4^4|ZwF;X?pa%AM5##jI&)CKVW8H}S!haE?@ zCe9*ebcBI%k$6~m)dOUbDp3Sb~qVw}{_~UW(RpI;RSDAlu^-T`K z0h5|l@$Y2KNX_mYy@@Z0397W=WT$chVoMcy*z}uVwf6MU{`CUwW zzc12C{6=IAAQ3^8S*QlEetMde&-2mMBth<@PKQ3@t4S596vW$qFpm76kE0)>dBD%d zTHV!EF;w8Ss~oQcWHDa8&*Xog5gksTZs>`Iy#4K+-fECcF^zT##V2&68bt@+e*S{tkO*=}GmSQmOAuqMweB zb4!0`68*$Z+=Rs6$3%ar!BZ#=o_H@EDuWz<6s1FqeP*^8?^Q;bs!?VW$|OdagvzKm z_0i2)TD@i!8YvW{PZhzLnA$-W8j3i&KtQAsp-FNJ`kn!HW#n26RbcU#xjV4@vrd0Dr zIx2svOHhm8JED#sr|0LcT&(pNu&!OcXr{10rcQ=|96Zv7MV4tV3pPe$jh&GhNBStg zDu&5JI$@7+!Z@P*srZhJk}|RhZ_I=2}`ok%2VV{MgRq zLbOvyc$TVurxbtTf|_X#P7XsW)HYwGsm0?mbO~_=K~;RbiQmU*)zQlVXNH)hzp;7+a@llDzgXD%>Bdx)2 z_JhK^eSY0X&VY2+SzhiK0F`LsmsU^|&+kI-jr z(A&s*KP?RFVDu7sMiubejcp{T8>dB53~Ya)2|?OWgQ3ve ziZ4s%cMyM-_} zdq9Hg9c37bkDIxg=Z5`2nbS0LdKQk zTPkr#>RrJdJpDrKXf6D||LUK3A?q}RiL|q+D7YefzlPJkhT*oVb<#?BdG3EKgMAx$ za-TW|{U$4=+jqk~2$c-0U|_X+PzJZRR@#4=Bkg*r-g%~NeVvxp5pg$yG9Nf?!hJoo zGizSo<_1`>=)6St8yn`bHymj~?V!V@F%ri}Ht3nyqP~2L_W8{eKYWz2)+fhNnNhb4 zKi@diE$2)-(`MDyu7hCKpmLUmW1X~WhvS*Pe9E<}iIr?5<)(OksLe7_rsQvwD^7nG zExo#$$~AYB+P$Ei5U*$JW{K`>0Bax+N1L6hxJuY6Hs$CoWPzp7JjF2SiI{w7*@WYR zQXkNSEc(677hw|pZG}Zq&`Pl^q8MHA)>eQ`wcHSc{oZo+|lSx*c zQj6m84twGul&p=KNcnG>cSc1%rN%piFg)Rvx_&F$>u=mWX7rqqR5^^}GM-F2p-L8^ zED6dCfq&3uH&$Ec6HE}po2`7o(VKNQ=!}1$j}BgmICU?K<>>OLMuTBS!h|OoRvS^hN8_vP9gvY^ znI5VuRhlWM``78qzme?xU8^eEv^|)+ac^0A3 z;@wQwW2=xu5ZB+zH*w7_CDA+hYV}L&0=w_bRV!!)f;ICV(hXfrBV;+H0IWhgBQ+JV@0UnL(2JF@PZpki!;w(qgDDLP zWY8sHQAYV>nHu3r3Y32UY(*;7XiFw>N`t1*Quq>SRk~k<9uRY?)m0{q2!CGKh*q=o zHZcH5ZcLmXuWlV~DD^?pAb5v`$Gd?NM#Ax`G0RZovEx>KNo+x~wexLyW!BLkKO+W# zqQ2EVzP$TDV|>DWpxK(MF_Z&8inD7}j!oVlrN2;8d0kB2Gpm0Vv;O>o*Oo*N5I+ub&!z zNsNA1X~yYN@`QheC}8l3$E|7&U%QB!!Uz_0`M@#(1qE=Y?j+Q$)QBpkrr(psPfCG zpjL}JQ>*$iA+;Ln$U(%psrAHwd_&cfRQ&3%_R-ZCs&Z8@Q&R4#!kB(MuSDEI&)dzT zVn5yQ?+kzL4>&mS{Xu_6tbC^2r+6X9t9^O?NLnpGnr5lsc{34UR_fpsKzi6gIr)g( z$bGFhbGM3qS`db%U?J3N!*C>9w+CU{gk;(lN0s&wgcBJ6lV64l5tfibgOak6(e>-% z6MGZtFH$fh+l%)<6obdkM*C(v_mfSIWI`2JSDSw|Fio4;jea~^$d@JTQL5S=rP-yv z(|YG2d7mHTGlfDdMVC(}GbVE=4eI0|9zOX{6-;tW?nF!ojfHlKA~Pw9=9#YRW_Q;i zG1ZNFVarQ%6H_~0njIQ93tyVsuYkF4%v{ZWW&U&;h-T5Cglr@?W2j}qk)|xIJyoBV zb)J7*AuXvku1$j3QoD3xFS7H^pIVZ27T3@X@a8I28H03fRbzNgK$$zdW{u|XT6DQc z=l!uMeX_JX9I~mIQ?xH?d89iuQnsFw^hWLI#HuNwN3X5YmTBRe%+^=JR~pZ;U|J{VT%b)u#I@~{8!m;cBA z9FBdZ43AKOP2fhmWp++LMM~K52jQzvU;I zy|hExzLEE{v$biFucZKv9qsoT+UI!>_U@$*xW;EU@emr=f4f)0rpww?v`VW<0{>1+ zsNl}^9*Fw0y?a>Vf%x+lDcOIJy$#XD=MB*GN~1j+>Sih{eJR;YOoO!)O)*N84Jzcf z7g6lIBpa!u2mDxw(WB7jZKi*EnG98Eq`0`aLJMu(xQ>m>SE4!-i2Z&2V}M3y&ANSO z-M(J8Pj%B~-3_hK#)*gysa`mxf z-UFTv{IpJ&d+>YrV1Iucd2j2drV4i%L(a!7yS#9V$3WD`or0gZuK7CtlB*3cz=`lf zrm<-+C-d*6Rsow`tC9~Du0(FHMB8M;Q8(((3ViVYOtyyz<5^l(FS7(VpE4<`gVE36 zM#!qK-#mZjduOCf2bjgfV-`E>9?`%TRgWn&XFr_mWu#+J#OHs9qv(B_jq>;Fu+tr zpBh^fQTe+&y(sDl-^v(!3}GrF-2Ri;N8KA#LuLP`H?(nsKZyM@&?G=*D39a716c7w zb8$st!TtZHv#YqyfINYkk5dV^ligY-UIR(n0K zn<9^-4=@c8;DCdN(F}Sa1L~kxk06;LgQsoO`0wmSG3MXteO?0YFMhXwzlZx3=5nuc z-m9PDUKP!~`u!Lm$?Cl-w7ueW(YGsC+Z79g;EcNNZuWn60Vq`OcE_2s<4o^3TfXBT z4o*ta7DZZgVLR8~)t`F@i9eT0m;Cw*&vkWsIYK@AIO&(?j6P zqZm*H?S3X1DbS4DnNBxM=iAbAheN<^-g9_CjW%55G^QaD8bb|@K+ql?)0k77UA2dX~5 z8jce@U+Y6E^b=UzX?&6VBv>m#^!&xiq_lvHpL!&V?-_ZYSNLcq=6oa8ofX9fu)=u| zvJ!tpjKUM7SfP&r48&>%y6nSVsac;3WFj^XDkS$RE~Ls_m}Qc6qUDiPUXMp3U*GGG z?M2yY!zg{wUK*xX#Xy1^<Lx>ZY!P) zBOz+yBXC11zU2U2K7RN(NN2Ms5vrTgHzxjx`A@E1Erq@J1okn>z9Ww4b%J4>53YZ5 z{t?`i(I_9%-LsCCTvZ|#-S=1&=V8E@w}M;bq_xj(PIF+N-g4xZg9`TT?5YAB6&ERR zsp)8x0C(Z>V|b%b6`#>Mdf{5XnVT|4Sh8m$51G+>Fv@e>Jxl4O8w!6@P<2#}L1`$UP{JGdLntPB{a){PJ#lEo2gYUs zO!t1^$;nIsPgP0rgg3&=@(h~%1$n3(cx!!chUiAd&_)eYZe6Lz9LC~JOO%O#06_Q< zac`ptUp`$epi>Z`Tw3s!;S1I_pzGZfrtYD@+6%dDNTBnIAxPz>3LhV+QWbxC+=46) zI166H=&LNMKmd^bZfd4YkJ-=wJ0smcmJW3`B zIX-y%JM5EemjsJ-G4snf8>r1w8+ni93z2l|L08r>ORcV|gjaEvOlrFGKx>h*LXTm`3vO?Ba1jn1eaa%RIO&?7u9d;( z$y&MFI=r{IbJGuRtvO~3rf4k!FVoB%?;AMeP$iR&S&_5@LhiqPidUmw`2DpmxafNRvk07IX2t~m?+-Vv~WDo$N43{?yZ-w zZU^VEJYpRQqE#Wef+|7pfbqI$9Oyk^ehpUy9M&lMJ>eOOy1gos=SNRqM>5|44Mr-W z?}rzMm$5qRTv90yF?LjNBFfTmRg(Ed1=h=ANUN>1I6Rm+AWeU`ygcr`BWiTcE;=dJ zp&hl`;Txjo$Pw3tD+@ZuhX(_~A3C5cn1z$5f(hp6_<+1^>v$N3Uq5n&m*m2PmKAV8 z0le$;{4AX$PgRlEIX=R!t{!o0HNEz}Zyw0CV3nhbxZK3Yo>ImP!#^BNI=F=fCQQ$+b;6^_M5DbyqqkUxM-u~%BIxY05D zie8UO^uj0ZF@{8WhklDXq4g^74rQl9yVIf8>9Eo1Q0r6)6u3=MuauvnU=a-!i87W} ze#4qjQPYT{mFo63T@%HLD=*h%N%$mXy4BVA_V(&Qv@L(NE$80gBptaBYjMD*avTlA zt8Q25?aacLTh;tU6 z6M%^Gf`x=u*b$O9DiQA!4I>H^5nj-=_!w0T<&a#`nUZ+zyW|XE;)sT#@a)`^39U8s zs)#kH=cIq@H3DuG17b~mU)qRC+;eYZO(3XldT%2v^bAPg*a>R%%y_L=MVytWND#fH zpXgNLC;n$QYb8(=K}V(ifxpI7M$qB&>aTs-8zmRPTSR!M)F1{|)?@B(?*I&M_GlGJa_0HJ?2tRAYdZnO?dRr%q^gfvF=3o&P= ztLpDYcb-|@lQvv)Hqp~Y*fYk~Q={nxp1o&0l)3w%x4gF9``z}&>E2X}$W6De=^fks zgyqAkC__zs(lG47m4fUM;BlZnJZ3F``NaE&xp~P@l`Qb%lZnO8&-L;%T~kppWA7Oe z2%LXJw4b?Ii1k$P#;V}s_K(H+W2;o#&7&MM(Utt?UV$bm;TNzCuX~N zBC?|M{a=6m%Dw_J6uRW!+xT3Bb0 zk|rhDD!qU*Ym)X}Lpa0{0V#(v#517icFm)S_`kkhl@B|4$*!0J(svK1B};!tSEUB5a`Pi}9?`S#3DG0fb% zvnf$QQK_SahrnG%DvHk_`B{b+>C$0kQW&c<|Hp3=zUasX@s6@(}yM zw{GSy*Xo>S$$90>c#UkMGe^P`;ODX~u*+OUVlo`0ec>7hv!$+qG;->ZG_o2)5$>SE z%G431eg#9u605Z9O+R?ES$L+_dF7lhuLTReqAj$LA}J%@y4Ocn1-^gZ5<$=X;%lOi zkSLj3stMbQs5!5C?7YThRIU~GHXii$Yr|Yjz-9)$mRS#>#R)ENRFa>sb6>Mh)qqTb zjjs1Do0F6yd9D<+d97STPkc%NRXTe?mC_iF&P7svonIBDkGc}{`J8moF(Kmw*5Ad@ zS6Vk|xzmG^`zb0c#@&B>VB~Fzyp7L&&JMb2O|pBNJz5f@Mqjq(tkHMW*yaj-cOTo1 zE}#N|JQR0S!3qX!x}ih?=PZOhV6IWtctPesjvE1P6bv9S@{A6ikhReK;)psPrhMnL z^+IxZtIjuOokmwy9lVUp%Lk_&`lS>z-T}e6m#}^uY{_JNi@$%O$EXe9-Hd00n-u5Bw_awmj+%bPtJ}=#KU*Zh*K5ki@}>2@Cf@5FjoR zK&vBW*4AO!I=r%MS(ZbRq>MDfrKR;j`xz^qYJ`KfP!bAH4To{egR7CtrVf!g{vTE(q6Gru8D-YUxyb zcwr|WXqWRRd31LjO>*Ki`YxA~@-SV!FbTYn=Y>GE^xO4!E=jM40VW`~#{v9{T%A96 z8sIk7ee&C_h?_I>aX2Xfm!`O+zuU2R;gssjlfE*a`;uOAY~oIgc=z3h(%c`9cqZA) z3wvQ3;5L8s#v3gDE{X@0eiZocxfdU3PsQX=(vOlC?{eu!{)>0F=||no-Oth|dyo%o zpWIXGbtR;^SkZeoOR(7Ui+2~>m)kYAXBS8x8Uase>-H7zW;glr#+8vg>$dgj*Qa~0 zlE811-0;a~1abcwdhBj3=Sy>$=1X&#=1Xvy^m%_S^CI?%$vj;Dt6%N=HPq*eyFPuP zcHyOV59DXL6S?0nqQ1<~<8H6+#rJ8qxUQ9b&il6pEHA!)anbvw3%|U~7QvS;{JQFQ zXV&#vgmP=?_PSK^?v+X|@7xl|gReeFATOng*CLzyv44qVHOZeBrQn;lD}(p*(e3YB zws3!EY=4RMaMMaRAu;vaRJUec*F&$*tU;%Da@lQu&q)`T2+U6}N{VfGXr3%&wf95$ zqBC4<6(^2+2W=X@FV**NlYDrX^87HJGX3!O@aDxLds4D50@=gH6EA=B!qq;0+N2=; zy?np)B;kdyZ+8iw zYUXRLKgV=l`(^LHoUWg$>r1Kn&Z_zgQTB6C?oQZV z?p~<6{Q^{d-^gE?rl0MuFG|tRSLvRfujG3rkx7<+M$mb(*7!0>%(x-#mnEt1orXL> z;df~-d3-?{e|a%eqXkz2HZH6G*9L#Or@Sf8=BYKi=SRdhbJq*=51!uOc)f9PN&U)k zaY^u1#>GqCzi#tCJTP9`KyPq}Jd5gXh+OVo8UIb=-wc$SrhUEPa@Y1>eYiZ+i(h!S zJXgKD;qt(e+P9utQM)7RkHCw${zIz6v-`WBGoGHL_}t+%CH<14>A^z&=U{(&W&8Zk zvGiug($vP^dZHIRG?Jdk_HNsJ@ZNK$NgwbA^LmGGZ=z;Ayb1jNr!Q>M-k!I3(Ng_^ zWY4UX+}HP?xgXS@^yPau2Z%2Am&Z;HPhoytS+_1nZol!3t3zG)TbDB!^|#&ceD(`h z&z4jAtB2wXg+CXg<8oa1gM5EV;NFC)3!nEXdQA{q$ohJo_xdyWlnv_Fi;z@9M>iE#iq}ZXR4mQGAEuc3<`0ZQlDI z49`7!I(qs24qJHV&2jY<)vPaMH|5~nwb^sQ;hT@+i(yuLDT8v~8}5IyJALx30Q9Yk zbFat$+n>Gr(YrtTkN@p*amD=4KDoHqVWwenoM7F)yS`%@HzyMA8Tp}kI=s;b>?h&f z3hKA+ukN=VKf2pn{a|xb`KzbmJ3zNe##FKMrLbvGpThd4dnW?fKg4z(ayavZP;Un1 z%lzG39l_kVS9|my{`7xG|MFKK|Nj4d@f`lyOWowWj5Yn-r{{0IK2LmIfKP$^{a=6d zYkxF>{D;5)qsQO-^GkUz2l*$)%TdctJerNLXN z)aBIFwMG-Yzs)-R=>PopkACxy|KSJ!>hT}`%9FYsE+t=2R=$6Q%GGbRLXUp=mmdAu z?>_o3fAZ-2zxk8@@LP|5^{=NQCw5YQGi!vk`~@eTVjI2l_XE@e-gHv&}bx^QE*>zExVGSKCLw@vk2J+JAif z&wuIBFaOo0yf1%Ohga&J!7JPPRrPsGSnr$o86%5l0>i%h=s*7VNB{NrxYd7plCvKD+MhoD?)NU&uO^$< zsmiMgeMN7*sb+Z66!#UpLb?&&@1^7k(|e!8&|bH~m(NQW+$$b^<-zphKl$TF-~Zl^ z|M-{gJA3=><9ELJka`n9e)NamyGPM|4GNa4}a(JZ~w+rp#R3_)34r;Kl;0W^P|80{U87N-#q?*{@45FJbW!g^~*o` z&;RD}AO7%$sETji#v_=Nt`A?qq~0=~_a6P%zw3YUfBo+JS4g+9H7|hr%kLW-$}frV z$;@_*e)~4*@TM-jwtDZ-Tx#Nd4&+zCerxRQCx3tNmroPGw*7W~M+4vax`^Ng)BOOB zzFr(Z`R?!iI|I?#C`B#tr z^}o9v8aL~rPeK)Z&6?T|zdND3;m(hK|ND>r(|7M--fW2ftN^`*_}jn!=)eEl=O7wk zb1Z+0Cj6O!dM8HR;|#7Vt3NyNCgJKSY}b|GpAm3B`J=!3$$$FKH&l5e+}s1birYUc zIPXXGqhJ004d&<2x_SNvuwEF}le5x44bAjsCclYz@%Z2W^-uo&f15zWUtNcLD*$iS z>?VN2R|EJGiR0}GBGVw8Cbsvyw0-{?RnmX;j$dL){tbzt&x1LAonRjQ;7=}KqGNLd zCi*(D{N?u_efNjYBRaS}_cejKFz@H#1Yb`J-O}+7fBVrd|HTC9hKet{V>hv;zGg%h z?)5u=f6I`c0mg(E3G7P%H9*S0?SH+F{P-1X@@$Q6sqlaN(tXe0^!P=h_`GKRyy{#& zzwpt2t5(q7ST!zPatYb(1_* z=!v%j`Yn;o8wGo-1V0bfy$Lw>rU?CQ%;YziZx>B}=lhR;{lC8F4Q+Ts-Z$FGm*s`` zJF7Q#2yazco$`N>XI^a{COZF`h3yI63&b&hL0g4a@8PdQ96t?+&#<^B4Y+R0I{f<4 z-7cwLCHklP_f^y2PYc^~J51>lTbrkif&MA@t#=>&+8_SpyMOTRNAEuVvp;_HgCBg^ z6~=cy-#X;tw~t=G)loO)f72^dm;B`S{_TCQobMu}-^a9kOZFmK9te4J5oF#-eFS-b z{U8@f^5!+T$g8KDSJq?Ogi}2r4E_H^Ro)c97g*vI+%#L>*w+0_LA=-No&kCloqh(< z-pV7-p}pGueRZ_2q~tr*;v3)Cyj9k7ZTUxk^A}Hxw3~0%*DduhxIVoev;GR4=gk8B zhaddsM?d`McR+)S$>tZp`FU12&)@!kDee>8Y>z(r+rR$t-~Yiqn<>I}l4`!@iTObW z=zZ<59{>J#AOE}WKM3yPl2e`}g{J)qQtN9729wBg<5|rLy}I=U2t)3Ct&w>;bcNCS zZ<%bai{X!d_kaB8zx?-GneMg?t`DB_wedCg))mf;eDi9Y7g^_L0qc!6@kEw?e^y$4 zO4+|zMEcS#{Pt{ku2v3DQ^p;B|E9H9ZS#x2n0~YUlIvf0o=3^MBMP^6`)b)Lmsl|G zU!8WYe>$sUw_ExT)%Lo2@Oj$Jt1A0YrLX<}c{XQn)Z}cc;jQrWTmSm;pZ)JQm3;iG zfB9@Z*F)i7vHeu+&)!fapXtJXXH`J*i>i9BQ>(W-PxS3{1j{V==cBhqNrT8lz;ZdtMevIF(;Nf zVPn4zgW8*(e`J<)&!-u`ezsezT_?!>pr(wL{82Bjw4|>CXN%^mE zF#M|GA85gE(qox6CEQ$Ev6 zPsNW+LO1xuU%dYrhj#%y8*13Nv3hZ~_wFUpyYGK{{+$o%mqwnv`ki|B{g3OXgFyPt z#Y^xd6x{?o{l+(%Z$@c-8xQnb%`I^1I>_FuKY04-`yVyW1U0PR|KQfQ)jA2o_FGT? z_~um1jkBkZo{fZm_#D#n+qQC&)T5(V!=zs$?} zqkoLS^Eo{K`0iD&>_2Q0Hz>~^&EJ{7Lmc~e{xJ;0pP>(bzU&fn5b<92GPt`f+)5{mak!$6i?nVf|t425HxPgip=<@sqawsH^k$-n}@` z_~;sKZ+0x=>2VWc$OoxOX~uaj@o`B`A9cM=*lj#rZ7yFdLXpblKCz9KyUT^bQHsfK zrz=YE*@!AXN8*fI;b@*9C|<4v0AyTP0l>`yS%A8~nQ!pzG=-iF3|z>} zDiDxllMjN-3$R@7*gX~?tNb*W*5Vkcp>iI5=IqY)v}Bi?aZj`ng`j8&9_)b?H5ZtF zuWIh(b1e{w+l8*o_7h-DPoq)gguRO9vnY=nZD|Ur7bymjLq$SW;Q=u1f!odcIN2+k zBb?@oykJ&R%Ik)fG*CWfY$y4q1$NdR8N5BjRv3Kj_b@HZjGde=HDHs@PCNSy?`)6- z_GN)*Ct$f$oEe~lXeSz$C>@M8+3gX3bHi+!f|HzGyKcnRN}IjrRp2T+AkiYO#Cpr2 z)?)C<94JUh+{{us0>`z)k@4O_W_VDiQ7s?hM&O|R0(bLM;^iFad&{=9I%YdFTRI(v zFi>nS<0Cr83QPb2Utoca&hcD7gR_0(LcLM$G|1l(eY0H_Sh#StP_aRm_e+F-O3z?6 zrukt$b?efD3#vaQ;-aowbCc7ugdV3d*nwID2#&0@q=tMzB?-AY%yd^^Q+w1@3xNg| z)uAEaVNKp5%1Oiln+?Q+M_Z?Oy;tFp0yWTaj;)rIYGJ58qdcov+e)itEv@(|U&Q8m8v$#7n_c`1zy<9TODE0v%b4s||WE--!hz+$A0^eC~+JG(n;O}psf>=pXXBE!}hjr`VpE&zj&5wkJ{*GTNel33XQ1C!3_A6+7RQ$QeAZAT&i7dBp?t#9O#?;hR_?9`!Yc zY*}2<0z4tbB@dWlh<6B2^YGD1=H067NQ|Dfy~1f-*op?cT-S#}XH~$emI*|e-oahh zp}Yo`N*74`fv{sFb11{E7E}?G?D=48ro>o1%AX6f0Yhf4tqos)<^UDLSy8Ij;MCp= z{@mGuJELb_N+m{%*`?_fjYkI-Xd)gnlsnPb?aopjFH&)FmgF2I&p2GNmhG4NG{>v7 zK_5_pCty~rkT)MLsX=&HQEQ+<(1710`zV>RbF4vG^ zs^fO6k+x^8C+%*3-fRJK>m8eX7PFa?j(I$_C3+G8X~-8P(zEqY9vu-@!NlN3p&6H5 zXy^ur=Vo8o1uO8qo*aZ=jtv2b(lO=hx!;IRxu=&YMu-B_d)vX+_WYey7`jnt$mDxzQ^f@m%qram{dDLO1ft8D5`8F&r_J|JN?E4yVl z(_uWx?0IeDr7%Cl5jc_Kfz^OCP%#Q%N}J$&7$M21HkdFK?23%Ix!lgQtx%g}wDmjR zC;)_+RsC9vg>}V7y>9|3RbUHi#+oo$F$TjG zBFxs}o}jz^oSsE`4M5ZMOslhXy=ZBfVad~Yriq5M=lhg#QYa*Q^2yRq1TPD7rDY8qtBuO) zS8))39@?`L5qm3ef{;lFTs#Yt3a1KN%aGVq{Czno+7z@D- z?uUsAp+$o7@QGcxyM@d%L8gcfLX4$P1gj%|*W>A4D8vMBvO>^S&PK^#tn9Oq$u)2* z5_U+GTaoqOMaX#ZE^2-SorH1lj%VWxb|jt z-dNfg$@1a=F_E}go@I_(&&r)HL^vIP`uef2Ae65PUYi#MtN3duT~{D%SqFOXCD|2r zp~oiz;XR}*3R zL{#Rsz-cp3PQcoSscbV}&t~g?aPVcG4zP89I-sEIF%z?kkYI3C8Jxvuz;~%c?oJt| zVJ8?nSOwbn>?#BVG*JqqTfxbeC2I^0u>n{)_H0%~x!?fXS#+Y!@jQdme#H=r)7mo; z8y&*g5EX#C0w(c@ImSSn?T`tyCuv0ujx(RzY!|gKiwVd}xxRqb_(dUqnRK6}u|?T> zzl`JflTY4#|DB@zunv!*+rBfY#ZReTA70!Qe{^*ie);{?yZvN?$%)Zq7&m{5MqWSdV34KyI z+wyp$n0}#b^NUZvTTCE-_C-Nm-+mF%AuT?9MpeE-1QBGqyuh5_tLT?y!H+Lr9|q|q zkoct|{7cNl;^VAq+B6!jC5A=&(Phm#tX~)2%Yv4D`jpmwz0AXVwH^GN%)R*57w4z1 zQvF}LUhrlX0O;!i0E3hU;anF0z{>)_G_qd$Aq1ZtU-A6zvp@%bV?Dp*$=a7i01aj6 z*o=2nPfAdvGsd1WP;2yuQ+ian>@6WrbOmN7E-U zlcJI24_#hca9M^yjddxYAe&$X0Bd_ygZXS7$gpeFLUO`)1Bq51(T8&xCJz8p@5hjq zXH;kt^Mw+Qn{L&AL>gHKaSlt(u1hL{i1xEh51-xc08j%dbS|oUPMYsW2Xt3Bv~ZGI zK*getC>O;wnQYDMXn4+)KJ4d6P$A?hr14W>uA_2>pq?#&?iWbv~r9a==!9(0q*|r`&G&)p};Y)3@hn z4UO!`(_z`BE}zQqE+6}u&;rg(vNucHs}61z5~B;6P64a9bF^og$%iMX3OY>|Qwr}Z zZR9(PPHoOSSnU>uu?30d`zq9yA_R)4ZM&M$n?}(ewwpjLoEfr(>r_1n%Cc<;+h_yZ z+_r6c48~f2njt;D9UQEY5Z)_+Vhe#AaFqOjAo*q3=E`Z1rBeovwi$($&gM#KY_E=oWbbv zP#wAoidX#J6W0qJ*){4G4)_)9K!9(7#xRL6wMQ1`DoNpVn%;zZ3wxYtqCR}08oJR) zIosQ8Oq!v}QXz9+6;~agzkeueO4B25xA+FVWy^1}6Fj5gtIjSjuJi!6j}jGhNVSE0u5MWq?=A#*aO4lzGo)eTNw5TmTci5pG6N0I3<2`+d!CoIbM)d#HMK2&2U$ z$Q{i*Vw!=b56r&n4hesSqP;jb#;)tkXu?+y8-C5suwk~$Qqg)NFIPx7ljov z(0d!i%tT;iWQU8n4+Xp%K#OCuceirN224JrSr$|-7E__xp4S})lf?=)F?CyzJmGhs zA!wZpC1#3NH3kqn7pcs7K=Xb?vk@bIc9CUpUb8z%11^PXY~i+WGOFH+G+s_L%%EXW!Bs+pL^j8EzjMxVB_c?D;2CclqU<8s z`7w%&RcCmD-JzH=}9vlsB@OkX%0>egEort7ER}CH5H#$reP^2v91n3DKJA){D0Dh3z4! z+~x7;a2T~fka>c$3qMOLWs}N(t?!aD5W7TX?K~Jwj-KF$lekS-#`-W#TX=zFl~-+! z5Cav(7#~0sIZ$A-)CbT%Q{pjz+cT}zS;3Y}Q*L%p79I!BgG{MTjy*h51hj()DLLlg zPF*O1H7-q%4jf%rvSGDRyvmPQ#R5uCrq1ko0iSU)J~?wISJVxx5*Y7)+pI8Y*F8Up z*|d)CnSIHH+9GU(0Ev8%fU~q9+x}!HTNQTBBWjWyufRU5MzN_NJ?eGZ^cB0FG{UY!avO{spD#?;H4m+1?|MNS zEtEP%RlA2%ndCatmBTZCBIF&jy^KxMQFa_a#cSx)gi1s^qi|i|t-&%`>{1Pu+0Pj%p1#^r}k`a!K{PeDTq#A7af(~PdTtZ#sIR(eu5+Fos-CjNe8DK- zwTI1x^Ab~SGLiHY1B>yvBE433okh0Y#(H50>oVwf>uln0F^GW{E`%%5;CIY&Tnf6K zvLlNyN26VTXJtzZ<9@qOGN`JSDPp3?23%vlbvBQ)BFV@VxYRo)@fu{)a@M>#N}Je1 zw!+fnP6)3b{T+!R*}esPMqMv*hCLAuJfhOk;2p$EMNw5~JcROIQn@8lZ6m$v_#Fui zwNQ%cR>65}XM?G!K!(I@#rYy=8gm;39b*h4sxy0kkF)5a@oUSpOmJrGpw2aXVmnAO zC~NZ?ufXa|9q_4^&4Jx!K^zj~k)()J5UeJzkiFvO!p0NyG}Pv!E#;YT5PifBG!`S! zfj%}d9%?M!qSPdXRVT1x*1VK3PBpKwLARU?RSV;cQfi-R!jhDXB?T1Aszx%u)AlJc z346_dGy}z5zP`5a)*otGRRYaNkaj?eFkgVE#Ox5^;^V6nWs;3{%ig0iXTLt0QoQSD z;!%t2xNvJ`FWHt@3*-Ucr<)i$n`u%#dWF6_SgJxPMqORyT z39ucd0^X|`T)oW^!O^jK2?!xI zW^~&UrfpWXa`a(_9TP|$+2y*ZajoNF^t|01SA164DxB+az|Kj_AfZMR@&*hwXh>#% zU1cet>}}(dK89|qB?hYQ6qwLON*#3Xlv1XfIb!Q+j*DXZg7#{o-e&VtzbR1N)N`%a zwn3dq(%5#@(NowZgj+4m!_;UKowACYsyXBqzFrkZ#D(kXys63KBoBh-uC-HeHF0xO zMUag!=BHJN>=D%6$wNaV0Pdfj?HYUB(iePRG z$mn$_#0Lt+6nF-x=HS>aTZ9${G@e@Pe%79YCA~=y>yX!L+2>%lH+BelQfO@Kvy5iN1GcczviZC2tack#~k%91PVL zLLGL;U2u|@L`82kb4YC7Jm}l?u_t(o990W*=FGuS#@gG2LN@mOCKRU`bl-Nd-Rj|Z z(G$u7_ucI@Om;g((eWcWG5xIA3>2F8OJNmnfpF^3(9JY;D_9hQohJnY%nl@r6NM1g zYU&JJXdkI=whsq?P!`000;a7K(DarZLUj`#&jMZ<{WN!Y_%X*sDa1fyljhbx(k{vGUZ_2HI$>N2}@?@0J>$@Ic`*3jkg5Gk@ueMC^1ky6+sbs{#P4L&1wF ztEx}#DK}ABK9N;_6!;j)Ic)9^7AUUg;o7fa+)prcrkqI1woo>=PSaGLYBIDLVN)0j z+-wmJPt}eoJtaF&5Vr}OL{bB=I_;4S0&9d6^Mu6I5_VETv=UcAfT(NS=HwJn`;la# zdC0EZgUo?Cwg_C_moykODVv-E`Ne7xft^-niM)!({_$Gpm?okj-U_XsbNt^maRm>yfH= z$G#9)I5w*cK5>7v##)x9M8z7J?(O#)y>~Br+X~ zZvVcCrF%sN9>Aq=YZO&Yt0azEwD2}g}ANx z7=H@ersEJiBPacv%{i+eT(n$rsIz4>N}z+FA*j(fLw#)xV3tpcdsWj|8+r2-@2pbV z%|o|bPV?GAHUR9XuLca`l~kP+EfdKz&z~_>R&Qu9k{89yFx`1~IHV$2&!>hNwi7)E zzD*f_^F>3@IT4%3KsvFfSewsf3a?rhU7#@%uJBCkn4Yx*cWo~4jmQw76{Oo9!@Fn> zg85#cCT21-FhK?FWE0eL@?dCZVikZ18g^a1JoOTrKq1i$byPS7yr_^RSbBdG}zB7>{W%GnL zO{myzo72@E9qD;LbNn$OoOW$W#EyiIq>3?Bg`EnrBuKS~)gYhC?r5*1`M#PJ$a0Qx z0D{`e-p9%8G+z%hbKKQOvPtD_F(f;GcoFF~a?&bMvu&az{H`_fINC+^y4%GYv)>X@ zEv@uG*Wv)CcNDH^ggN@f4mmoE5Cp}(G}ra9&Ph8&heAc;o&#r7+m?Pf^{5^AUAP?j zb-OsXSzRewdQ%amXuwrx0ej z)mW5alayl0g1(>-KRa35NCo?iv&GI!wyFkv0EdENMZR4Oens^mMDYo{WLr4VV4=0M z!(8H)v%Mf{8-|`F_elZZ6oDAxVxa<7sUDc4FYnkm;<`z#(^raAMtCSt3OhHNo-}P( zgSOHDf(@{!T6;W@lCC7Fs&1Gt zs#2@v#C)$;tfwxyPQzoYtm*}FT&!puoKJjcZp=LiHAT*Zn$xBy=z?Bt`sR25)09ss zDLl4^1j1U<(d^?97+_(|ch&Y>XzD2LRNOPjz&Rowvpa?p_peZ`AtgV5*y!Rq8}{4m zpv)$9FE@4)Tnm_st~KSb+D-a~j^KknN9)r8R!!4R_A=efor;546`PYtdS0+6Flc?% zJ{=lf0;+DG%yiLcS%IBnz63^gD;beol^fY`1OJ+Sx8K;*B&kj!V2kd-)v49X8H9+~ z96_OZeyZjyN1l3Hw)3HXT?xl*Yx~9)X*XTEJnegg^}4th%B(h)n*uqanFGgubL@Os zm#lei7HY!j35TXNU?$Be-ZkoMlcj{O`R3p;*xA=Q9aTE}*r#i$9+C;C7r*qs}yIw$Lc-WN!d}UvB)OEh)IscSx1G z=B(1vK3gxHxTe(extnYL+L6Z53qf|$>1z%X3obaCN0{XSQCzO`rm#*#$LcetRs@8= zMPG|sBvE^sIN2x2o96sv3qw)Yari>iks7v#Iy7N*y+O?dCV^PTV~)YWsn~+?vhjPv zi&>)N7Yi0DT{H@Rlnz7^qDPNA8xjeobNK=&c>ACQXKW?Zrv$JG&2nQtP`#1fi)gpU z)npRl@^sBaP$N3XSr>9_H#F9%bSr;5B8fck+q#LS2~`(&;)z^02{`T=ry)_K+Au>W ztVuIf@UsB)m^vwzR%i$*cN8|Tz=AP4=0UT^&Mcz^X?k9Nh8edECFkT;t;Hr>wN4^# zy|;vP@2-U1BzP>hJ*%AxiEt5m5VNt=4(DYA67HWt6aDkYRO(!xrZv@}}~cC$^& zpeV)L!p?%XYd@;0l^J-vlC5PIG)>>&0qJ0fC>&{8&ld%BOvB(9uO)(~&}6PO4P}mv z0+Z(;vR6}o`zP>@m))|UwtINCBtkLrZRX(9pdqv8vW+*Vju}P9f#tITj`K*ON@rplhW5_xS^%NPW3^1+$~qTWLDv@hEgla zEQz^+uH4NaRnE#x{6K=!sbc+-S{R1B0TF5E(2uy7WL#-*)@N3t|G{j;zts~y1X8{oWZjf9N=agFSEAe&d( zuC`#B5&*Y`Gzi(k2)|j>hpK3;CXFB@%ecCx+m6ll3{uh1{y6CjwNCg)M&8-E*a9Np zv-!*n>!P9XT}G@n`c8DDY;PkeJ)&`mADrWV&Vi~x#PLc16hdi@fuF{=O`~-^QdZI8 zxTe$UC{d6jrg(ZhGycwAqRw)SB1ah7DzjvPSma?haS~-iu?RfL_buEUpr~{+Z>ZW$ zA<<`gZ_=ES3x%{k?vwC@Ofsy%2>TEfCCC?TiKHE`vkv&SGLLvSGL0r;m^bz;QpOU0 zwTsbRYgM#pKmc-PQn}5cW-;}PX)S6Oa8!E-Q-Vt(=Gia4xF0C#I_mKY~#W*dVj z7=q{x1bUhU;6PaH9?TCG*qJ?IhkL7Yk+rrKQmNY&yABo{+a!hrV^^Y&BWjs{QJp@? zo=UYHfi62DnFv5Zi=A=(2**ix2KKe;s(wq=XQy&i3Ri@f42JzIK_%cAL_NZfT~oS| z)MbKUz%kR!gd{rlQP08oM&Z4B*U|w6*kX!EOc)>Zl^c5#w`{s-Vy(If*bcP9k8q9WQ!dEEf zP~+LT5||+$WdL1AXUHVZenE%>TJ5-UIkgX8zm7URl`9iSQlSV%U)v7!5U2PJmp96BTHQ;0wWg8XE_neC_ysbds z>o#BmUt7`;jwf?((tjYN9WZ0Bo2b_E=&G3W;s6rs#Z05aNk%NQyhHFfGdBP-W3$~U z=!m#3stY}m6qx3q7qX+#Qp=?-(kIZI=B+IOyK`+6TW_q;{lx2kV>!tIo2RP*W{tq9 zwRse^cHu!A*sQXMMcp)3ya;wkHLXm2A0z=5=DV;R+S%dZv0C0PnMMrTDEj zF87miFq6AI+$|6QKXv?;T8|-h4oemuR-3~@I82;dPDwN#6uaw|TNLAA)tKWQX$$80 zT%u7-Z6eSvp*k~vi?PCMY>+_tysl9}5H>+eL<71-AICZvQxnqUTP;q0ic0Ub4MfT~4`P{=Oc*2X5VrmMcp5wT&4c z%I88`Qw_gbCf9zxL4$v#jBZF}!t>R#xgV96nh|$)nU|}tnCBJWeP&nM!0@l!axX%C z6Pez(~^N zs$Te^7q;gxEIudqus^y*@W8E`j(F&V?`;L4#S=z!y?*Y@@K?0LrOub%{*4tb#mxuc za7~bZU#xJ=$Oeg*{TF<;f9m(uooxbs~y4+#CcVX%F^^bb|4pj zR{?LmH8n#*X-5>lfVux`5#8N@eF^Ek9s0Sk;x;cwxOa!w`d3`&Cq+7W2L**VC>h%; z>%~bPfYesQEA155quiuZ9_0Sa9tc3C2s*l@g@qdHD@$~9EBXns67#bR9Q7`o9Q-c%0( zebB2}<&S41&W>TmfCv>Ik}+k)6P=kxzDmoe6)cRzdx`?x1x;_2Q`4<0cA`i;+}T*N z;AX>xjhGbD23Pl6`J zg;ZQ_EWbD-0w$W6D8%3Ii8Ohd@mv@V*>uvfG1Ap(2Jx37m-&?(cva1uDd}Y&vD`Qe zm1bv+K+4!V#vTlYjd{GK}S-JFiA?b)buM;$m(gSZNy$U@|)rCw8ZSd(XYFVWjR zc3Al!Wt1b@imgC;;-h|lAJE)rj#PQQ=a7D5G)fS&LEIpmv_TlE3dpqO6}?u((b$(+ zZcxNoaw&pei~z0hS==NU-6?cdT54~Qz0*PxZ#eNZ8S7-R^D{Pgsab#iD(BEXhaTKx zShrmrei*qgdGIsBVAkB1VKCQ2O4DCpf0T^ThczZfR$T92Je1gfm#;mlZ6M<0n)%MW zklf-#E8La&2sf10^Gj4|n(GvoI&CTt;Q9iL++RGE=;erj8(ha2ksR2iUY1)KMQ39W zB&Iu#yDSif%C^e|lUTH~v8udP2Nh6ua@VggV#~Mb>_j#>=FdY!23j2&P9Vv8r_fgt z4fXB7N%jEdYOuwB*D9%;CuuiV#@UXP#9S?nrgA3XhO;`NU7X#%g;`@O?~y+T4kvKXxl+cAwyH)1U#OoIvsf>XRn*3+ylHK#RK zwpnqvluVqK29MY9ZP#bL1JSe1Uh#Ublqj913v7+Af|^AT0C!f@3xz zEOMtDpnSrnQg~~XVUI1UP@bLoLooEiX@u3~A|e7NjHc;S#rLHsL2}kp^DjT0ele!_ z^dNYEH9k8O-VS+d=9giPm|rZ%8UwnCPXc}8@sogWs}r4j6HQkM-Wg9MeT5v1Od?TY zIfGZ@Dha`V^OdtO(4C~8?N)WuC^0P>;9)<}dc)u=V5I0_cT~{BctVqAt}M)AcXG=; zLFM*T5@&lFI?hj%KE~0gR4gS>~XTUaC)2erT%c<t50^%~W>s>gaE+wM zcodg3WqSNc0q7oC`jX{Yf+WonaObSSEF~k42BFfo(Ft}nd?thyKpdJy zLPWiPutG>-B&{tm=9U`2Jx$`C7>n>{oMY?x7vU->w2Pu}LLZA&F)6m3aX+IGa zPKA7wz;h0jH_I3_E1id3zEeO?-I(*U#kARfF@}#7AW}ea97bPci7;yzdt~T3^Zf>B zHMdSVxPUZyIHUc(oSzaxVKUVt^m%fGcnS8?J{QSjh)e?J|I6NctvQY)Yl5%RJ9{&` zm>L3vK79qP2`%qH0E8s8BKqYAjLfRalAT?Z)pO2#6Oj=afgsJ{=H|csX6`U2k|PNM6BbGj=uJx@i(wF%)J~vC|Y;mK9SpyM&by7t^N!tJk@< zlGoD^1i2rYdxR})4*J%G2ia}W`kk%At&{?aDD>;1$!B2BDA=6Qgk^Riu?vrEHBTfr z=PNpN*2X$lRI}(R!iCwm7?=1F!>agy93M>(1LN|*Fi2ciAe-Tg;xWE}S75STA^%g) z$p0~vep~+kCYb&d=J>w@%gq-M{tl#p;rt-iJAB%*p&i=MVR{u`=ROefPclDoTH_*r z1k)$?({IcOjQ;g~3;O&+Fzu3)Uz~Kh<$9I2Ptmxqa{deNNu3zDgVAV7HzAaNr5ZJy zx-7TJ7q2NM2~Tx{P-y`~5{j5aFQDz7D@UEz$y6gp@iceqb%S(69OgEu^aZ7szE5Oq zf;iEkpzvT|KOf-mc?d&4J)13}I-DmumGhJ?<1oOv+q(kFr(@w&edAkqKZ2!e=8$DI zwWFG67^svljrDL(BV_^xM4=yl_05BpO^E68Njj5^Vu7Uy!ut~yx}Q-$SP5P-qnSZGI++-7qPr)#yc5*BmgGJeTl!N zFIPLcJujd-m-zG1XKw<>#y=zyJxyjiGiN!AXD;`gFvv^b+B(Jz&Om`qKi}Bi9<`pi zQqX<29AX=9%5hX_2f_*iA4RRQWcj?G092&#BwXt?GOsImtJ}vJvPDW=&>E@j`pzn} z2i=fTEJ4Q-!|Db?W{F>aYUOIouN&*)EXBz=dnylHplUKXo~skjdyYeu1!L`7PX@!Y z;hqclU4E^#X`A)xo}?U~jy|ignOyF^Y%7;V_UtD>8HcDa1pu(VzlccRn942G`^Sm% zN%gvVtK5<}f+Ur&?bz}PDtaF#G+2gdeOySkB1W~aa^P;F9`)~k!_yy3_gAp=3j_Wu z`R>;O=?`G~HokXOd&V;uBn^k#HOB;R?AthTL~n#IGu!37m-{9?KQh|{ea)ly4YAK3 z`L3o`(>t^6^#cY9g!;JbCU(u&Tc$sw#V!3z5g8~^S_Um;D&?0=4)W&%*z;?Cxd$Y_9;H?He+){KS{!PGF-)}(VO&KF6fsD(6G#8SX;RdWJS7yz>iy;f5{Gj zn+r`J3D6LK2Kl-3Z9=UsZj@bfzxRr3EQ`>V=-~4<+}R4r+2q8WXE`Mtn;KOKj|L$H z=p#`5&GeVpTaf&&u*=IxCs{jSLCqeCWZY%UU>T0$*~X>hQnxhtR^}#81r*;5dS(^A z{Ni~@+;75ajW_VwBRJ>+037dvcD1NykOYHrMq~DW4U9=&s!=-zA+2Wv+N4r%9x0-s z3%+fYlV@}t>d|8{9UiDGGJ3nt26@#{ur#awNRoMs*RCwmt^`f!Ha>1B_5?lu;OVZ) z0DWXH6W)*DIdJZXP3T2k-Q{vW0Q#EsfF!1xEFP8SFmiRbG=wVpg6$K|R< z4;s`9Xy#pWPa)t660r#iRE*b*(`&gU*GMe~HPE`~jq5V#dirYZvW-+XOZzo{0ybEy zIXo~i6Sk3VzBM6w7;coR_*QDPJ6V!)d9azk7AAQOY)~A{GA7`JnTAe!X-iJzCMk9o zw&!s^?76ryW72cz?j=RLpK*^BliJiCJi9VORw)v7z72D%&S|}r`BShXue}6HdAc!j z8(t9PG-x}I;{(UnMrQcSaHx%}}u<0#<0JO$uzjNO2$mdgfz>ILe4L(gda zVbM}F2`vn${AyFQ7M670w{jkF884bF!X4(QPriiQF6|gz7bCx9S@!STm4~Rp?yH4F*O$&Hd7@9qr~3lvQ<*Q5JC=-#+&lWJ zUTZ;@0Y)?1HFShEjczZ0st%24>PP1?=K4jsu56N;rifSBgy%-GUg~vtF=z11c>!kZ z9wp$I=^KI(Q4*VQ(I9Y)W4^k&&&aJOyvJ=gUer}3H9)bBCqy<-iACn0SknI2eB&3u z^Vd4Z4@gNrK??2H*Tncnkb-^zDfoSnDP9VVYVvrhtKp4yn=o;IS@pJ>lI_~8=P?v0 zxnV@)&m+m{Oe$q{OZj*qOs9)Y<&}4rFzf9QuQ zsH!qXcPb8EfS)ST0AB&fPsS!OGjNUWPdyhhzW{x$;f$s$XDm z_b_yH?k3qNH_orPkf(B9>3Pj7wR>;2`hzztTk-d{NypiLi`gOVTMBW+xXB(GTedqf zv3fX$xQL*ZByZ}Q$yubUJ_6@d1TVHSS#NK>wBS)C_n+4T- zNcU2@)<*7dSO~IoDBGW|{F?6|0E02xrL~8%ugbZObblKK;>h7QaVMi;wh<ZUGYen#Ojednx@LwVD~~(|e=e%E8CTgVW6Jc0_5o$SlP*QO;8*KYlssRo;kdINli>=eT z+xVcPhryItVhY3xYqVHh#Fcs?7Xw8_ZSx_9oCPAjSkFliA*Q{_7YKLb+SBwMum8H_ z-S?OiFH`n^e=^$TAu>`qQf+G%O)e%|&<$;H zj8tD=CZyR}Cha+>L}sTbz0Ft`WS^(NxjiX-y*h=MU6vWwa2=l{p3{XeJ#_S<+cMX} ziqInw`-0&m*$r&{f5lX8O-GR9$tpmM_lDU!eI!{& z<49munFv=W)sh`i{djbJp*kGY8mbnb&nT5D38p|8r0XF^XmHdf1Z86k-Dfa_-oCSkoLKSzO=Um=V>9`LVbiF=Q^djSPsWUlKbMDiDloYSn zDgAl8f6?O-s+C4oG+H&!r9bD7IcVW)@m{IIf$%yl9_{cJ(Mt)>!Vqq8g4tLBEu)6r z0A)QhQ=LZ)if0jpHW%~azL3Uw)m1n^0MMh{``LDe9IaHL@YErC9YbE6C0y*Mrx7RI z>VuEJl6oYfdA*L9)InR(s`197+4Bc z0)N$e5L-9vUgTsb=FdhtaPA7D^mW}BXooy6ZSX2m9k})Q>j2V|?B;;Z@($a(;AX(a zgF)l#Mgug9Gs~dn+jMbEGi>qXwTF-WU6{lxId`cvN^~2}LJ~!M6nDy5jf!>!;^KEB;IWsI4K5Nx7RZ&4S;KOO%IF-6xP99 zD;OYm5U33hb4+Au#6yOP7^$fsZ_sihf5(-?A*FZZt6vjH?O);RHJQ8>qQeo$IYH|P zzFQi6@e^zVZt{Ao6sZ#f%hPi$#}S2~0yX9R=gGuzda3%9E#NT{35VGTSq&S*=9k$k z@S6aEj}vs=Y^K0_!m)eglq~OpDq!9q4SFWfscE{CXkn}qp|(rYZ0a+n_HEM!e{2J1 zVdju=EP<)ZtHhwXOLYSa>^K~`@bJ%nB^DIr>wb6=Ay$u*UuEn~*gL=P3Z7t4kO}fl zQ-Bf7Z_Hvk+^v0;vzc2CLYubUy!drgCM#v)p1CZ>!VeZGKvKl*k6I*=n|;(`T?15) zY&W-b24j7SIFh?;m*J@%`XiZ+e-Nyp)8n?&ZDrz@G+4ZCVFgjZ%S<0hqbC_hIF|G< z4=i%DT)y)BtkDG_u3Eo?R(El^j5des)Z|kEf_Wx}GG zdy3OS@k;n|*-0_rS}ad!PEEy)jwK=zN+o}<2{W(>Q^z{DIl)1w*x9i}neJkwH9>`r zQkm*Ij`A*APgXU>)o5je?4dZL3+2|QC(C~()?Qcq z5IK`qX)jzRcF0dv(ythdCGp^n!vY3BL9yChm0DW~asa;39y?7N8Mk#l4x8AP;eFzj zo1YQDGH*)3@@51``Y4Q0Mu}uS>9v~L2Vte?zChMNKOZSyuS>rje?UA<;tghH(Mo#=TP+mQ_e+{OrB`n_cx!B@$486R`e*GAkbqpoaDARO(2IEy zo_QQZ z*JDYqTgxt6T^&~kNzAqtX8?)oa_ia`D{f7--fkwskHk-hw^PW0x62g~Bxu^ir z_s`bI_zP(>f5Nmkt9i0a?BTl;%t`>&Z1QLaB=mKT#Bm_?(+e}x;UabReA$ck>v9gj74!;|%r zMa`4PxY^0A+mcRli(-__l+DRxX}TL~sm!~s9%BZgHwTCklcuLzitB4$UsVrY(~E{1 zuPCRDCTZFP4U+#fl911gA$mKSt6g34BRki*+}AJFZwaf5Iu88n#~0T5P&8 z6)Ys2f7yy>Gvmv9V~Y{fesHw%O=~RT=-@bpd;mY9yVN0Tn8GH_aAq~6kBX~LlOB&( z(NHnMt@@0~{Y}Oq*;jhE6-AsPJyDCs+e57@Stq$e>t^4jD5Iuw{_m0+ZDXbZor&`#(Js4 z5aFs#fJ`2vnX!3)PC%XYoSRf`TwMKq7zffHumUxD;({>l!JZxBm%-q-M=MPn ze1G#f$ zLc|od-r@LL66@ShPl{58Nf;WJe|@s$&f0e3fwp*SE#!j30N&h})6-K4TD2PXB%n!3 z%w{N(PLCXC5?3m6u*Zrn&ub8+DaOPH#M0XBNrqN#Xknp<#ZKH$fD#u_9X)fnRr}?- z>3&1aZA)sUgLwXM0u(EjC2|Cm!KdV^k^)Aoh%T-7W3z zzF8k3T6R1Q)73)jvMMLPf1GJx%*vDd0nZ|~QE%0@fk~wa@!^z?rsw- z?)MNd%K*w5Ywd?D4BHZi*p~o(#GNkY%&CKFN|gi^TG@4l@gQ+j+eE=;>>Af{&gks8}AMJT>3RDdbE=fx$ki})<55n%+~e?qkD2tEQbQD_Sw zG6KTVEI;{RX30K;QnV4Q`ECWBXYh}b_3t)S@OUYg!Ro%^TziVosCf#Za*2Z$7Y+MH z`O6vli^xQBtw5Cb@NFEm3MIOwgG`I626bB$iyL7WjmcGwA&R;P==`j>~M0@vC& zoLJcUKcXFI-tb5sP4&dZeD=`>ipKk^K==+nojIWviOL8TyIftY zO)xU7S>bvGz?CG}2zYvPOKh)g8rF=J(-sq6e;7rMNkP7XXlt((2U zqNxP|Oda>Led)X?DSDqwg z$5W$hlDd@nE=lgzPOwLxy6t&J)h4AClBx(mMp5~zf7Z8VGS*rk8OIU;iW2W+U(Ch4 zVd939#s|1ROu-{4P zWL8eLe|slHJk5K_u+X%KuPes2_#U635P|g<3Yq7zUnB?aie62eeY?z*FO%!x# zPnZp&!v+q#;8gwytKd=+kJ4F42Sj#K&CMDx?klT&%#FWjf67+&+4!F(+p~QEBJ_(* z0r%U0h`Rq6Ifdg$_cSkqJWmbuz(}JTSagk=f3e$S*+$b+v)OFtLyX%T2guk>EXyKA z@cE$8Il}moQuo%vJxqo@Z*;Y@FnmmEK26votZTGQpTTNe5=acI*gTD}x{nXsFu^m9 zQT?1g1*iQo!}BtGW9s8W9iu1T;38=8wnt1C6z17d&~_Q3aD7giy`%#RDyA((z!OBO(bmeP-sUB zE7?;Cpe=AMvoFL+UCueehWEM2r;NHZe`nMX%w#j|Fh(cCAxe%e(zoFZJ!B4 z-AaqfD`DJ%h4X|beG4{B+YM9+G(U70WkOuw%IG4NqvXsi*dpK*PKEoNe=*6c_gsK` z=3aD9kh2)c6+?aRR&ylatLzkyGUK619L2RHI>kJsTZm8o5L8Ydgi zEUtUDr1uE)I2e1bWq+hroLAM%&#g^2BiZhYO)dgcrZprQDc?hTvQEN^Fv&gRq|BB! zQv0`MmVU(1f6rFbZ;g-|fA~di>0-Zb7ANB=t$HS>y2w4<#+jFOm)WO)6F@gZbOoDL zrQq%tbJ8z}dN74IufocKlcDc(8OjU)l20^cX1%d(%4E1!s?d3TF&K`$?onu{H1dLR zxSvd*{f5#I8#?GXJ4SffCh3zl!FsMWNNfwUq{bKu=V>B9g2AL zB%no;2<2|9c_?SRxARiL$3C=F4imA1=O}S}r+@<)#`Hxlg-C;j`kHFnu^FrOn9hT+ z+)^K*&Tbb6&#tqsn;d#5UGlUZu$JdXif7`=&1Rdz>2BYwe+HIwLD^$2<}i`dQ54Sg zrU@1k_Ti+srtpJ*X{%~OCtB}ez=MHbAc?4lkHgh+rRSg-4#6v?c1y7{9#61z5xRVG zkWWAONMF7n`J; z+M7QCFq~j5fZ$P>6oaw@H)d7!Ln6Ri=~Eh4^RG<9(Pl^alrLDsW&(+mn`O7|j`~Cv zwt6NjY^k{v=Ho+BBUZo`OV(3b3zDikApN5E*Fr<}y>@klj zBfb~if28TPK-#2zy%3tFvJXosnkwF^E_9LY7TjMrsps*!%iGAk_{J#csBGgY6oK9_ zbS=KA$fn7CAxEdh(DNng;Z59}uwBLK&N9nimIM0)wg1Ow!EXAGh@6lPBhx&MUPrtN zUrgY)MRM1ncw7jJ8!I93&sg(Hmz5wu(|Rl9e-6dG!gQ}*X-;{{njy!t2|Ah}&33Vt zTSCz(u~wvv$gUZHnUPoI+9PkC4WNKo zKU(!F7RW<_6l%EWYH2p7XXwTT_5FRie{;nfWvu&}@}n15-m2A!(|+g)7jn9)6O+LJ(pHh`0E3Ic3T)lyqWY zUTaNgQu_Q_q8GB>p@#O!<=&nzD7zTO>!#ko)*N#`?^RjW9s%o8I(_GK3==4-f7Wea zw%=Ib1bHKL}ih7;z;Y;%Cw7efkp*h2$(|EXdrjsy|n+Gbwy7W;wqv)}TfzVH{v9N~|dTLG@woAU4 zDIG0iw(=NSj?-81hMRO3Wt(H4$Fsz!3@R_O3&da9Au~))iDX%WaDS&D>p%R?u z0zW|$94JkvncM!Q<>D>OUE7Xm6{U;8p~c$MsHokQsjRfSiFps;!t>eXf61#8b_p;^ zj;`Pgr$KOskwq$tjbEJ8uq0TU!PY2aSe<)M?PdgnJdpR*vZSN!(9Rg~TRu3E?$*dg|Lb&ZsLNVQ6cWH{BP5*Lvv&%1e#-WCDZQvBmmT|z8f7~$=e7|1nUbvwS00#|} z2B{NY%U*aFJwfkJe0i-M4Hu4!8sL1r-pTcTJ-yiiOwYZt^(S|K_}96QsYK4TzIM$k zN-+Wg=+#i-88if z>)o9VCm<9beGsM6_9tv4HR-zLIkDcXzD3$n|qv0 zdb#(Jtb3rsf}B*_nA7b0=9QGHCF@Q+goI1YLOCW(UnL>jRVm>%XcOwQEXUMZe z)XN^?>s+Px00O+bdyTMc?E+X{o>C{#B85?oyK66|fs%kLOnqk|{YED6%^`f2O36rWAcH!E3$Tv_N0Oe%)jWyej(1!EKoDgr#$w#%C2xmR%DWwg>y{Ueu9)e{hcYqH?fp)q^po6(DM>WC+TqsEv2g zje^DY5V&S~4whW!SdB+D;^>4yedts9eqrYJjQcKrv&YP&7)LY#dqVgdDXm-N02EO; z8~RAJXE6R{1pK42;Xi&>toN5?jX&{i@O!cievQ<39qCU+xS`L*sUh^E2=cq~@qgg` zfBv^qc$xm~qab-7k6Ana{fDy1^V~hpPWT^|Kz{#oYg5 zJ^a&y2|nAwzkW}D${>FCtbs4I^m*LAfBL5W=(zpf0SLdMsK55Mnl65qJ^${W{}AH0 zUHf~r-G6+?|M;EWcGC%AzjB7c@m<-b*?!*Pmqpsa&m9K8@9hs5_rZfdS8oS@im*Qj z{~7Xr!sGw=0hxb+%Aard@1KG8yKFtxH~q7IzjgE7z07~5Q(tQCw{HB0jzeGOe@Djr z9{+dnf4o2cC-S=oUwm%;KjOz*u|IPa-&dLcZ~yJLis65pIq^QV;`_5FKCJHJr{=@( z&OiK*_qYG=?>{ZB|EUYe7dal}r#YVQK0=2-6iR$ld8f9|Wq2D^w?ASF>4yR)hxYmN zU1RV4zwx==o_757Q}tTx@ezi6e=ffZq)WP3?q&-%OU#}95r;|SM_C75TRjlxZuxt4 z$`{~9wR=q481G~(mfZ^kRcZ+DYq9Zqvb4h48h=Sl(1u`)hf#QK)un^;9;)?_>zKet zR9=xHsvW2xl$eaNJ1RYL0Z6ER%Xx%*Y&_7hH8V&Xh2`ywQYeCo%fl=tf10X}WpKsr zA+>^J-YaVlDs6P+MP##Swh+3_kxUqGAbBN?;r2KftN^hs`z00m+9~kmwD}r?`-mk! zo84bI>hcdoz>dq;e-LigKp(}Mzc2CyjCYTBvm|HmF)TRl06tC&xPJtfY^6e}RfSQ*tAJa5KFoZ^in)OWB_EW-0Q zfNRcy$_jTzBgqX_6O^nWlpStVy=_;3q90}sO3!@Bjc|J0Xs;p3ngXe*(y5U$%-(VY zv7~8YD|QWh0q|4@w`QJJEgVb9AA8@R2=K|v=%B(m^`N24oKQ19e;#S+0V0=AP)Gl2 zfy3V!*)dB_PjN!{PZ0lCfaBK>%J>PKfM1@Q@%HM!gqGmHe}a`?KM^DTu%^GqO_{gf zm2>u-{v*jgFztKnguciw|NLwn5CnfbIOJ!i?0|m*|8^qP`|C&W{Tj9W^2+(sd)}N_ z`;Sj|^#vOKEa82+e_QDM{FM`bzT2{UUC!Ud?KxFG6#bqt=Uo^}Gi85+roX*2>+$%v zvVD~8sfxdU^(+5iujcZZ{o`@I<#VutoL%|&b^HD(Bk=Sr&FN?U-!x7CU?bCMCja=t zC;m%fKF*E#blHB(`D_!|kLv&U`K$9}N7p^SKM`m8FJb=Ze;0j)|4Q@!iE4f_0RK4g ze=d`_`R?O3|KsfVzbxnD>Zbz!-*ymxdiCRQp>JW)zthI2^H6?=`~J>*-;?3`rxoy- zf&bKg-=_|JmzL*b`LN=%m&>#Lh1GpFu3xdY-=^xe;-!N*?xxb z?={9RLH~;}e|^uh&tv#LTJ0H+dD;FD_54l?Kg|0tSj=ZZ5cdB3jT!%wbDh3U%^$DI z&WZioT19@)>TiWUF!AHTRUi8N1T~+7;kO#Tzw$X`hkvRlFo2AHD~WWS=D#X?)c@^pI`V2rT_f*@1|$me>DI264`#zKjIhNBfe^If4!Yw zyzImF|M4Suqu)aK2Uva{FyxELjeHB?&#YZO`NQ`N`5pNAN_oQ)zb)Wfikwa#k$qEv zeU_y^3j7k;uis9mrzLzlb$&yUpVav+1%9aW2Z29R=ilEd{_Ns^!aE6GQm~Se^o6W% z*2xpN{=AU+_!ct0RiD1}+<#iwr(DH167vx*{%Ki1(ui*$>WzI<(fxT`_>qhJX;J5o z{X5h0ZKQpo0e@P|JKX;!LOvzXzH)8uU(o%J!OtI-_gyhRo8MtLAF<-EGn{{=&9|&~ zf5`s*Uq0n6f7$G}=2CymJAb_Ec}DvG_?oQSZ!7pyHsD`4RQm5cu?JO9oIepuM|Ilxab3JU(1Za~3rwmkds zXcX~jp^lZn$)bO{Ji8;ASbX{Qu2S>!Yv)%v#7t~`xjb9eTL3eAzeV^V2_?F}+l#(m zo}J0&PO2M7x%>524Ns&LxZ%mQ^gcC;n-+31^O~3V=%z#xAvAbEJD30UsBO{h-)+GR|4zwqbRIHpjWD&qB9Fmc&$hQo6gziky-a{0= z3WbAoZhx0Bkz0l}mqZdpkhCCWR`xzhY@enHwY4Pi`%g~k> zU*YJJqhhW31GGt4rtp^%pS?TWe;lqe`A+B_GjH|CKRX@K+KE~!bQFd*$^jt?+@NmA zTg5FU*}@@326?aLajgaiwp5xUTs4IgQ?$wdYGgnx556Ro6*7;1s3pTu^yKyf=e|}YL@rJ3_ z+cQM{Lko?$Z=%%M+r(Pi>m&iJD0NGIy;i;!Q_wZU=`lD)fuIBU8W6Phfm(tYGA9OR!4d|ex8(9XCT(xXc-hH2PPpE)z4q%ldRS(m zU_~b2<+U9z?;PWUKz?O|fAu%nCGz7o>|dg%?9-N=^S8hM*7aY$FI~n@3wqG> z_g}yI%lDk#?wtgEEbXV1^QX1HzyH%0{8G{hub&z^L1j7J$1fKefAb~(432(ehJSW@ z`9I$s@bkSNU+xEa|NO=8+ls~o`{nKcA0X_jD|p-M6}7r!72LZWf9~=9?tmjw_IJ5b zRti(v>?fOfd0G=tDYuxRp!7apW2rC7`DEgg#@fBR!bUDRl<9yEym_Jcl9&jp1Qr!_ zGjJiu8VHbTA(cZ#0=;OSaBqQGd*Xsu+LjTRl4(a(pStD zQHPlps=^5B4sGl)f7H}5bPP_plriTMMdvkrelc=+6SG3->dQs3yh$8V0A?%bvM%)u zQ{qLgKy*Sc)bkY;yypjOGa*Rntq;?$nKj>CEGMH>elY4<$@egJU}3HF5P6!m0Nb)q z72_p@g0AQRM^J|0$oA+037(MNm~x&mi#WXXPNsnTRMLj%f6&SB@AK|p2fxS(YtA)! z)lLv8194cwCThGHst^N9Qv8vNypP|CVY!mdUv-r9&&>2wZtO2IR@M6>TUmbcaSLXU zdCOuydrUtAf~zCl0ym7-WbVS(VqZUwapk-(jQ3+}3oAt`Lrq*x_&FyqzF==m9_=)u zmyO+LnGmUQDGay+cZGgIiZw#^W{If7# z1TRe`7&V(p`xiAt={*d`%(e55r?_W9qgF!d%-!vRf2Z?g81#$jgn7r1tax2|88}@gG_%9l9{-+aK+=<8c z6IVYb{QW;7HOj}~o%H7kjO~&O72Y5%`p0$6Z8+02k=N-~1U}4F8@4FUJW7*~x?QQb zL9=68?m6oHXgw5}4Q-w;m=Lq5*-X;dobq=lf7is9q#}Q*8~>s({$H=p-5G@C^-vz$>eS_S2MY9SU zE^&3Gdp@7Adev}FI8!zaFO`2Sju1pQG)Ox(KuseCYD z@smLi`AbtXYlHSHOZUETyP6-Z&R@9yrX<1-sH5c9KituUJw6`!SIlG?NK#?gmyK8Zrb2jmcHkgrLeSSn&3iBmVPZ3(q zDO$^mYd~{zAJbJbu$njloXzqtl~WKb)&!yE=C{FQ#Mq&cJXLI) z(#|EoUYFJP%`6}0V@W&ec~?x~B&s+W5YUqk;*lNk%(KQwsPe24TILI4Ivf=nO;Op(<0W%04xf%CRpjKhvr^-t$be8{Jx4f%U^k7a=~sJ;$BgQ zye$^N-=wD-=k4_<+yL`Uf3pkgKp_3yrsNa{!OJV3n4apIGG-^E6c9qtpaA9Pcg>JT zPp~7)0WjNVwO{QT24mPG=aRN=7=V%_KQx~Pmr=3%ta!aG7?pkOktG5fl)LEt!iLr3 zmb_%J$J0F^Xn@~#)06Hjbz)f4Ms|&ndRVBAkoHEQItfDd>CCirtMGvcF6z?575a->2!VbiaWn7~&rz z`gC4Y59qKGG4CE)CVZzy0_ua(=sDG{M_?^uB#S;hp4djd@B5tKwz9GL<-IPe%1wRX`Gok%$WPT?MF%m$hT#;+)Xskkgkussm zn+iQItC=gE%qKreG)=rot{gqpUs9G=cm`x#>XQUfpaK?H$tap@7tK+OFFboCxV^Mke*baLU#|znoog zqc`--NwxZ*oD3ugvcBq+62K{sw~pfBQTZSBeHFB(eG{T_xA;eA(t<-tzMvWLltO7N*z)khu?*f?T{;&oQXy`1OQOQLhC zo2T^Ok?t zbB$3271N=+39Ob_{&8pQ67p}a9X`bY58`1byz$-Cx$T~)_yy>^C1P5}8x&H}vq=C&v z%j5eqCG8WwsSOqmRoEG&8a_;j05ggB1WqS}30-3lK!^JKz&e?$n{Fm`HY2+N$GRH_*NYG`~d5y3~x7Q0|ApP?Ny zt1S>*VBh2XbGcE^@lxPmDJ+o|E$A$&YI!eZ9PDUq)Q9!!Kg{3B`AwM}Zl6m9NK9tK*oCXl@~`JbKn!*@w?CBws^@ z7ac8QX+QDTx*kX+Gi5O4 zz%#GOe8LH{ujFc&wX~LSe;cPa16ba~N^;Z6<}+Es!HUg2@h!oZRiZ>%B2fG$^>oQa z*8JS*42WiHi}0)Rkp;GELXSesG!q8D411KgYgcXPX^VsSKd5T|bP9Skgjf93=SUmtCLgNW#9 z4PulZ$x-ilqE{;AuzAL^Y>&T?L5GDYvsrZQR*m_glOs%)Ck$D=_ulh=YrgHD4URvn z-_^q_!vE7A-hcOdR@jI8V>rn_QUW>po|Ntai1>aR{jcFF#-DNOjBJX> z^f=eNA;PS+YQ|Xyf66*V2qgKwqqW!X#JtlhlKL(FjLN$+k-Eafa-^TrU;92tL1k-r zd|duQnZ?qfeC z+;&T#l4mM<2k(CM11iF%cOud6xlH}g&{*t!bm*DDGt!xMe>em^!m9!uBqXd#m2FRt z>EB&{&>6pT?}Am6;9F_v*BenY%Sj1dPKS;nBU-^=C21+O?Bsb{AOQaz-24NT|7&te zUre}5LXQ&FS`D%oKQQ$x--@F3*Jmu-Tz8CrnYcd6PEC$6??3#sq;#l+JN!*dWl zOd~3*k0AGGfBvBs!=%}+v_mz$s@Hba-3-Lq^r`Vz;wHgRf(j}zXL>+UP9rHQRJJC5 z?ety3tr>8f;?Z9=VGG)M*%Qmv(8=;X&a?<4)0(OuWv14mtT}#||E$hcesHOn?eixPK=PY(fXVYeGsK#e|n43=-YA47ik!#>RVWAjmHF0 zvA@S~nw-Pg=A>FyDz(&--|i;{Aq~Z-mFE_789@?2z>^LECSpQLEp`0&f$P^`%-`Q7 z`ZJI6e?~xmN@ue0pQ#!$;;K9RleJa;>Jl{|f_xA|hfK~U3V$He z%k{7Kf9ds$;vtHsyf~B;lUI*hqxWKtWQ&d5>u)sYM=FmF+9J}MgY-pYZzfbyK3v3u z;U(L47>Ji;nAPcbMw|Dg_`8DD7Z+SnAgSV5Q^m&1h`g0CC&XFUvyI$QGSFB>Pp&{C z6OFle1R|w}-75|y4*5lL^Kq<_N{-r{eQB-0e{&;wrI`ZfW^Ib$+~TYzq{VOTGy7HJ z|JSgH26=Xlf;Y#vAm1)1MW&gMCih;`tKc%;O#-tMSV$qfsW<(in5dmiS@<`b) ze8X}JKhc~nPqZh?-Qk5Yd$_!8*@{s1Os&ejFSH+*J7K=vY;8+^q7q zf88$p<_icLgixIn4OiB>W;c9OL$Zz)whi-=E}7;>uj0lTy(coPpTeU7qABj3!ThV* zn8$^87p((Uad#7@U%5%}NBz^jbAX}GNe1KJTK~TWQvdFh)_{9(0=X{DQ41+!!G!{_DXqCHm=nMtj%`oOS<7HUhE3r#Q|jB z9UynfO84+e_MCMPv+#F>9kfh-A&K9k#f1CHX%1a9Qd;{_J5L!YQqXK~n04FYtqIGor6fL91jR@oF4<^bCQ8yKzzfPJmoRLhTQs!>k z8!6Z@C1!@e9uE#~&khU4xmuk1tY#lWmC5ULcw@XWpn?MWb?6-~n@ndq?2*$#EgnNV z48XKnLse_L?8!KGS~!g!tg64UF_2vEcio%T|^v)PK??E#hO z6SU=LF?Z<^IcH@hLkKAUQD%8bkm^JoI%ZjtZfAEP--0wzveO){=xN0gAC*VS-7`|eK6EQ^}r$x zsBPBb3HrHS+5XePqfrz!({gb9=hSr417L7&4v5(f9m-)82IQT4B6ag}XN??5(q^TR z^y&WH4evoD>BDvm4BX9XI{fW;Pt}mTu$Qiv{2NevUDM@Ho)=X#f0!JzEeX-Ecg?$6jkhnUE@rG}>BdvOm{AE#i z?wvw8YA$O8S{d_(e_o=LR(946Yz7hH_gl>vkoF$#JY+xA5V&=i$l)p$r~8GG7=JqX zE1qLPA8v^5cgcufC--*IN2V4={<1=vj|O%Hn0fHuLXdnDTuRu<-5DhHhAWK$I;-0& z&EjK)SWx<2ZrZ|c@IZ^jM`Jo86oI5S+IUsVOc?Y~d}!f2f8i9L5>-xj7*z`7!Rqfk zFg}kar<c8_IjGl$0~2 z&|sd4MS9m3`f*k-i4hIun@k8|i+zRN=Tv2i69qW5w5&RE4w+FR)$pDR4q#JnA6F5g zTt4i_S}zvaf3B;AIA}z?kO*RV7s9s>aUJPp=BJy35l18uYkf=w4V1J-7gP@d%91Vt z7Z!T6seKs6eb@8t*TnwyFIm1c@L>zyA_EekO!6*q{x@dG$MybAe4zj5DTP0E{QoRP z{`Zsv_k800_w1cC9RN?tD_GQL3ZZo=a$Z}|HIMvsfA`6+KimEoBvCWi1;-o(YUW@L zz(}#?dZNPNg&A=-vh{|UJA9GzW?a`mngi{570^@3Xcb438`y~fmA%bXz6oACDIaO=}he3M|gs`R;UqMoMJYY z63Tohf1~SIg0=cuzc^ch87DHH)r1qK{EbNmI4Akm;2M+n>-mgt*X~ zHo-&&zFlG=wJ(}a5@93c8fcB0$@e!l6$UZYH6+#CvspjJ03b6KEt#j$bBMFpBylCn zydW)L`ED`a7#UN?$p*;PRLJWW#lOYNMQ~y$8Y8Z(D@Gb#MdfPT67wmA&A`e zeW6|`7P2(?e!3auUS84K<67Tx6RK=yjP(P%eV`@fXLB@kj-7+&B3T!o1#z<-N{z;| ze`j8-4MiqE%S`H74eDo!cfuO+xN2Tn^fwWO9ci?(aGgB~oS8=Gz7z80o#72)AYPoD zGX21uMP>-H?c8vSr`|m!FNu`vxQ%+gR{-&mFcXcqVUOZk4X*7m=;djLKvfYdA3eqA zwYBxBBZVD)qDHQwsX)7U^FG_!?LDEjeC zY%9y9--n{S&BFlLMy0ppkm&~HCAEk<&3U0jRa#tvRBzol0P395+xZ{|1Kt15AxjTu z{8lAl|4VcK|KSHtBKFr3_QF5dM76lqEa*X)dOwe5kXymY{165#4=6eNU!+DZa4>(K(FB5~3-V*@Y z=bv$NG3rBKoJgcn!7}_sNbMxD5c$>Uni6;N!(pI#tV>q5Ir~NyO3UBtX3Tmi!khNC zVB%B4m?mHynVqnyP<7Lhc*urne~BwM7hEJf^r$X`&FC4S*hx}5JVGO$TBB@BJaYF= zg6WI#4=dF_zy_x68~ubkjf90Gey&K4J}>LDLoF({0i}$Tpr-0$NmoTK$dmsvSGixr!;w0qmZ$A1uHU%nM`)x@mwmT(~PHN+RNP%$=E~U z*!7?3yge+4nSno%15&HMbM2q>pZ-|wfG961gTsp>Sf8db8?BQp$g z1s~K^7Tn^~;5VkG#)*oiY>8oRRYggKqQn@s8mLKBo_aq`fGOo~Mxvc4e|K=!=KxJW zvcK*pSGJGbkL~g$j|-*lrdl!^Z#FFim@&o6L#!lHKjE22Fi!YMYBu?71b?r``&5IaXt-<=)c3T3&3DcUgui67Ue{`5; z-EWfMuFpQn*SDhXUUGpnx_>G63;;VPdn2iPlrS3ZXF>0d{oInN`TANHo&Wptm=Al= zzb3Ev?LC)A(d~bYz$yP2vGdpS?r)=W%72dP`E&cnh#qUurd-y36~;gEoZL9G3e)>w z@i|IVt9u)J}pXA(txvQGfbjwWEs!hZZ#o zmBZ~Bh;ThvSp;oxB%j+{?j$F@GJUjVe8o^oq#reYhF0M@J-r6R*gD_G9pepWkwBgS z$GsBJWtFmWzdZtcaje49q2_!eOP4o=#YVPun^l?;V^mBy_PUPlzG%9y?}akle8Lgd zDtpDK+a!>ll6$*vQGfc{QmP7dP2^W`R9TMXG1eu4xwUbY_RGNa6v(P7{mx$!zmBv~ zDZBshR53&DKBSffE>mr?D%Gsx#nJ<&u3(1s82I|BTtlT-{4>X!WxzBRX>^7{jxS@4 zk@H$`0#}B%^Cy%Gm>EF^%)|vZ$fs(QA-Jle8S)489iUQib$@h&t#gBn9p8LV!MSXB zcXqb`U>u}+Ns&a=n|7b<%5?o}7CPqjDh$Ow7}Gub)O);vK({A7Xm+k}7xJ_2h$f@) z-M3U;nyKh!(LEUD_e50G`zUv(67sTWKW9o9$ zXc zeOq?x*?;f<;rPGX0CYR~>F->GPf+TB77G@ItF8ua%4Hnm)h(OVudbN@`WqKTTCLNS z?hVEU=Ae~4c1gjlSbgtgqdLvI;XGS-?cja+xd|vAYO&x6jC>93qP6Uww zYPkuu=K5ND_a-wWUyvw|w*7IH)bhIb0N>mh(K>;f5d04EdqqY?rSQ-?KXgMNxMh=14LP-z%#b<7bwwemv zLB35l^4_i1Qc6Oade+ADYdHrxw0UTkwgg-U=Xs5D;Un+wN%2DTyH)HS)+Oc(pAYKk zEE^5ZHQi`iZ2o0-uQcAWr`T^YO z(&ruKq|_RpM?l&R`>GCxmQ`qmWNn81b5a*8URSy)4_B`AmUtx|D6F8Dco$Mj_J5!g z>`hgR6zIuIl(iO;Fix!YMeZ+^=iVv!8{VkB4$h za*kiCZyQ~}t1C^zzwXDz{&_#PUV5ZM^YXhNU3C4V@63K3g{jDDE@ZyU?td@(nl}bN zFn)6t_HaIh&%7Ivp0$OqUP`dVQIntXQEcw}21g>kwQS8+ieORNjf)Ym#_z}CYAHAg zJ=NbF%cSIFu@QrH7#0fh*JMf{ZP=W;fye5HQ$@aa8pMrbLtbf41B$~eSV_FQ54g@0 z{Yhz+#abu!&sPRkw=?xMAjxfX~HsB!( ziaH6bSGA6U6DNZFHh&K-N8PUB6b0i$rSN@%J=1;roaRcgQJz1(AQsi` zaLq_wTW!;+yiT4lL`IS@V>!~OZ>tOK(*)+EM_hb*Y_#wS>!wJRE&JlH54u3^pb?rw zf3Nn61FL$1g7OGc6zZN9)_np~S{CP#pJ`LF6N0<_1psHtyno^T<@VF@V!UFW9P8EG zIhPilqlrV$z1aEdFi(>)fyNs3ZP5_Sbp9Lgf9|;0N=sc);%W1Uq#5^_`Rox|yct z&(ABoe~tlaZb3U>+An>;Jy$O-`{-f;d6B>Lx92t<9Dfu$bwR-kz3Nq}sT7V}1o9t7 z=P8_dK6un2{fkmug6TyAZV0+{sYW*YV`{dPVN`y`zi$dZ2fhAo4AWjA`7%tKIo21B zNwZ~1bQ*)<=1VhYFCz85lE=KkfT%Ik?xLDf86RjDl>>a7(o0hSFn^ttjBbYraX`B{ zJ|y&A_J0`3>lNvQy4zV@d=4etj3_W>A)f?N{s6tufdjK&E>cCL`92E?+h95Be5@(* zA;x)vNTK>D2QOq3&k;nPu;-7!?qAk-8WluRhhayg5W?zuH-vIvbn!7eJJRVXrZ)P^ zT7a?yRaLGDWva5ZGXAz-Wc{5k=_#agPw@}*et&6u@q(VOT|k_}U#>Y!wxT)-b2;yX zKjW!&hu~nK`Cv8S_%714t?OB)OZ@tscZK|i*6>@$IQ=hcBMB8>=*_=+R3s!+c%lE? zKb!FLn2`3LV}Be!&HDoQf1`~`HQ7~&@sN-2MCl6MzlO^3=-;)GPZ~dSN1$5e`o<)~ z6Mv)YY$-TJc+wd}@E9wQ;C`ctSii?I?;GqkE)G%&={#3&{Ts8$??Zd6kJm0#QS z*@%`P&PN=%#RlYU_yMItGE?#q{l`%?mfqi`9edkXr7LN#Ff8-^ zuQUdY`i{Ht0+HGI!n2s(*(54m9vS3C__8RzEJ|Bfc2Y#uDu+ZbiyL-mB5*SOsNpNy zo_5L7h6CHU=XNY>t3+7ms~IGr;hX2MLi{4N&~`|fkf$7sS&Al7Z%WD^{0}7jfqw#0 z?~g2%_NH*Llu4&xc-g9CQw$uxJ|TS5sawfH@v_?wcL4>T5isVY^u!OpcSL#o|F;qN z{sndo0C(aA>f6&mc}Hugv#tDtF1s%{MOrOYLee|oT&(MxF8e#Q;cl^la^!br)Y)Z1KoZa*; zDdlA=qh@RF26=28Agy&U&tuiT0PU&CO{sA|nK$G24l4Zt-~U;B`@gEl52WhCzkAUK zj?A9VLYE%cF(<3oR>ChxB7grmB=?bH9!PROkQ5(CivI&hG8;i%a`2Wd$QW3SkrxMh zM@onnO;|-V>r8?|x1uhR{6%*vT>#{g>c6qRwDjNNw^-y+wuVHj;iG4Ph_=!&Y z!s3+^a217fwW@-p%k_~~x|pki)#IWx8l$JYbr{ufX_EYny5I+z|0l@f@}KgU_5P5@ zV)!GG|CGRgZ0hHc$bX+-au^+lJ^ytL>R*s_u3rqPiLY`Fs9$%Ol7FA1gMZLt7y2Nc zqU{R|?N&+b`1Zk-v28_cr#tMxPGM4sMKaj@v~>FU1SYTOqDlxVVP#_Gdf1KM9^k*< zVI<1WcXvOEp- zP`lSccu-*@d(HZx#Z(*?teF=nl!kb~i`!$0WkoMj zy7e_96sYbO78yH_<_A+hSZthtNx6k>*nngoEY8K7S19tqBJIvw0c$VY7f0!GfC5&r zgVJP-)*8r>R)3fGg!ES}|DHQ};{TJh=|2G}-P|AAl#u?=p?~VqTliCt{yIi_RnN%( z4v;{E!qs@Zv5T$~>gOcj{|f-w{aZlJ`U6P!0putS{{-YwNb92Viq2_jtP_m;4mCDb zoSHe>fgao8RMf*i6!$|v;6qej51hiCX`xU{k5jEgkbe~gH=lDNT*$48MTm9OgPyzZz|V@Dr{I?vT2RcA&c~Ryy*M$K3ZM? zM{ec$dw6&>%oSiv0%Oc#?Qc(N|n8&o0m+t_DXb^YPs4sEiqm1a9?es>AYu$6Fr)T(RC4PsVH zkbl-Jg{h;)_8xq%8~SPphU#6c!Y(S;mldq>A@CO210h~1hi7>NQ=%Unr2S}#KlwC`AoutMf(u3 zDof`GV6-wDV1$tW@^1zdQ0x@bkC>!lC!r@+oa#Y?-7c`a=xmt zD8t!b3(l^F{!~0DZejU&8msbU9t`f)*WhdhtB0b!_pWLs`9sUcJbqrp+--i`<$r2= z4&L4mHVS4ILPXS4Fo=S&B&!1&R-+{8` zk&k=4EvOltlR1l_G~veTxRRFm!ejh6@Zpb`Qsk~(=C-Nq>e?y%PMp?hu(+=nJZzXU=52d9L|ZO)Dz}ISTKC zg(LRm>XZ?t@bD?pxC+`c2)m$--eg#|I-Rn;u$v8UThrt)6YXkV|MiwAM8`TFBX>Lm zEQI?vVR8i~e-Q|2yh5xFcY0rQFs+}$q+d}DnWacq0_H&RJ#QmPWE1y@Q-2!#YHiv# z9Piq!3_Y^+!4{tx>)ETonm1BSLkK}De4&2*;6bKi1{pD;d38QzsbC(4HY3(M$bGd} zPn!b|DjQu{6_=i`Mo93H<_`hCRRuXe(JWD0`g)=o_e40ce4*55cqO$j1L9MRtqY83 zND>Dd0vCu3x8jP;=5X4#v44d+;lJnGI)nMj$9g-sz&IfAJF;>tr8}JYO*>W5%}uz zJEiO&H2p8``S>r$`pEu9)|)JNykG8QuDRzT%)E#Cvi%4r#xXLLVSg5FahSZ4-^L(U z3kRS1q`liR+yu5#LX|F5ZTdyj#ZWOr_zqe%sgDbjbmg<4I&L(?dPnS?XM1Edpg@^Y zmG-AxeCoLbYFd0z9Xm3YyD}(U*Z`egNjGJq(((IFxw}$MJY*kChqYqWOdJ-_F{|$- z;GjmH&&6FZ7^iTo^?x4O$GjPjMP|K~w&=-6kHr>eaD3c(A-cVZ`%Q5|oS~G?{TO_r z5ESO%Nd;^O=H=f{942Vv;1`2e_9G~|&U1x&glN7`p5yew`3JU>bk9b(Nrj1hnD)x_ zbY{~C*?-y*G(=MJV39~oS!|3#U1)Coj$D6&EW(PozFq4CF@LTwC>W>G{@JqtzL2TQ z=0FWV?1y7&S_yxqt9}9Mw;Ca!BU@BETITo&+Vvr#u) zmAg*aijm6G-w;tpu);ZESzK$N;0{Dau?XtsqA{^FCGecKDVi_s;ClbRo2fM~=;>^Mwk^_9x z*U_%p=>#PspB15aA+HmWPh7PFhZgw~zgs4$62V_Cu2S8G zQK>%1v_^s{3vu=cO;2AA2EJp1=)+S4Cw#0~32{X6FQ5%kr9xaXJtwR}>m@E5)Xv-? zn-=Sch7@&bpu}+wJS3cza$7QJiuZpz$^DB5bASF9Bu6R#Bsm|Dc{oi^0ssxdgqXwc z5zPNOs+kd5-0m(QzofxE!bKuocGYsY=BM{?X-c5yy!Gl^LoTYpF0!wHiHs0eVl=E7i+;ZABtIz7kw+=Dc z^BG~>q76%w^6T#SgzRx4O^Mahx5#iEtbf)l)<~ejck4J9nA5o@By38`Bs7lU4?AK3 z2842@*uW4jW+-~Mc=Qz~(}q@CK-sWT^$0mbERd%y(ISI_eo<2fVm)+VzV@ttgxCl@rsSdJXk!)P+p7CMQ0A&#ysI08e1C(AMgtc0ma+=5cXJ~( zoD4d#gp+*>cmh=gNw%P6j@bY{n>p0z^#dx zXISf~4~}{xnxSX(R4To#Un$N}oX8wbd2fx14Qna^PPaN1H&zWaX>iV;c>q zvO);OMb{kMP^sLJN9x*En=Qp!+6R=IX+NfD9;gUk4h!G$D0)(wa;T?{V}Du=(j(-4 z2bQsJUZF$^{KPGJ5+|x@%&pxL`jhieJ0w1Syr}y1Tj0x^+qcfO79I61v^Z7y@pf-=MGfuY7=q7fYayQ~^2Cm}O z2R1VmkiUEAjeY0g;`I3Z_J4aO$;{4!q7wFZk-R8gJR#f7ENH_Q#IqUfFsNfdn~=)xu&Yq}r@(3u9F&{_thn>Hn^7iZ32{ofLFy=9 zK&6brAgiBSrl;YN_CuQpS+ne&L4*%;Z3V3x61q<#H5$NPt`i>UlYfU;BmGFE`HfRS z7to4Q3js4X^Qi10d*5fPuwp+n0lf3Pws5BVypB)9bM z6^~mV;?>pNBJDd-&2#iI1Rd#GrCZ4=U9a{^chxXx)s>(ZzZxC!0&oo_n%aKgig;g= zpg`b-OThQ*!gVXX;0yddeuLXs!!_+oLeqCO8&V*DRP)t@`+t;u`{bO0Ry$o%A-!{a z8DA>ljz?+YawR*ef`?&>ab)&6!?(h}chhB_v(&5$Ve{lwa<#x`M4ADMBH3 zH;%lO5Y^2#iwBFojOrDAX*lDi78`)s7(p_LDf_iqBDL%7ey7;LY|g!y)uxkgZX9( z#S7y|iL@o#vr%>#4#OkUJkPY=>PbMoKGyhF6IjsJP=VGY@kuOR*vkn`zN_@ZTPMJJ zp^8F>5`RVKr)LU@@3qFqxvaMHvT>o+R{q%0#c_%vipfcUEdVgCq~ko77sTTVD42Eh z7X#$kbkP|7rtvDuKmaJ;SI5Ow2AB~jlDt@am>15?C0$|4ff|eH)Og^q7){b|U^Ni? zr5>vC(0zhPDTnf_F0k5A|3UZCA!dP1QHWVLEPt*{u3|Z#1DRTW(H{nUbZ@Vp6i5_2 z0>k$cz-Enwr*Gi5=dA7PQTW)wn1G5TW5EuA`ypv}s+{vhB4sgxH4|$u-((gR9d%F0 z*ej0xN0B*K0k!Sp7RPmZ=h@d|^b8#{3FE-#vbV9wA6F8qkz5l6H`3WRKX3EE<(g*) z<$wHs58i&U5i@p24XowPP8eqMZ@Y^iiV5pmlY|Cy?d~yWs@$RAvWrm<(t`B_xh)MV zj7hpg>&*n8#TmGnm%bH8y@<9D9PcwaAAL9@Nw#vHtxd&3+bfD{dnSKh{u7OiSn=&i zL8S`aRzP(PEw1$`w*#D~``g)~ffvYX&wrzXz_Q6oKHtm2^uQf>h#TncX_xu;Gfyr+ zLnJ#&4Ch(n$H}NcRKsnsW@F;LwtO@^hQ0h2mf%O-O#zWC^z7W3tl^*Be%>7a%)9~2 zNwfUMJGK5=Ci=gL;aN8L2g94xyGQho;0G4)rCuL=h$(*vM}N8J`;OX4Q@OA#o`155 zRUZL#FAg9)3YJt!pWm%h}~lIAnbYV3*3PewIYkISP}}F{ky%4v#qJ2mg`PE0e?~6cWn?; zlcNhST|dbPu?Ms8qbTtoKH+l&Z%H(UJnb$ar_nD3pbG}^c-TM_e1hW<%uXHJ)1<&a{##jv#pjLBdq_rWyuqhH)*h#_n^AA^b=rwbOp5+H>u zgnvSb%Z;BqrkTl}@N#3%ax#iG0^L3N?C60|y%Y*@p`$#+WPVd1XMNsauK&7xqWeHs(Q-3ug@Dr-iQZhkqko9>3 zoFf5mzoBuFESrm!D^bxPPV%IY0PZHkt$c~cHr98<9+fz+&BDI=d z6h|Lm@~~3y=PSybTVHu)YT4cB?xK0_j27v_Zd3gDJm^wG_>kaX;?Op~pJMf4@W6}$ z$%o6E>^LiwZhvV~7*9 z{)$GKShH|07|%p@y>loBb0iN1(e4uP-0%LgqjGBEC?w6O9O<8jQEW;Hkc?=j@DGuPnBX(*MG?KuS&esBi{FiFVoKdrdOg= zG_n%pgYJ;Z_sd}R4yD(MO_u^?y7a;bO|qp;q2q!xjS0JNuym*ivIc5H?135{etOUz z-vD}6^EL>6d<=lFvF{h05~id@Wt-71N(C`L5dvMMTiyB%9 z8$*rOkblQcer_lI(C>J=6oYh8{f#Bz#ELGpWt+VLs+ZcaO}-ovVu#=KoVVrmXgoP> z8+nA3Srma$et{jES%e+tBsjd;TqMm`^O2kRWCH$O;a^SP_y zj@RhSpZjDHUhjK=gN^*WCYaSyd{CkgTzl-oGVft{`<=iKnEV|IV_ltMK9y#$d<6}5 zOMgZkLZCua$Odtw#5xIqoErO%E-gTT?h(3Vq^w;;fE~TCo!PpU=hQ-+&W>()fT4YZ%74JpU1XPn=P`Fs`{Z!dx|eBV3)X#rPrb48 ztx@;qO;NUKFvFn!pl4blnJAVG7-xQNQT7g?*AD?a)ZzN29f*GgfV*dW5T{;@CTHu3J z6V}OjnQs*vKQ=9kj4Sl*z|^J)ZyB0{Ord!Qq=R`>z{~veah4Ag5MX2zj%_I4?1*?n zalB^%O^*H6LL9xS*HOhKDZPudq<`-&F#{h#wqdUq%nzLTGEDd@i06TZ-`8xLp@(vy z=#FKW#aEcab#NT9e5Bvvw~jM&4%Lh+3RDQ&_SZ-0!$nibE>fe|!kc%CO@axrj#As!3Bfb}V3 zPWNkMpH%Gz=5q$>_X&;3KqvO}$Dr1{v3E(m@#b6FMu z2~WofXz5G&I4*{U`P(A&;&QI*M5?ViNFX}E*M8Hken#JQ5{otHA3X>H%$BEkhDG&Z zH3p#AREW=jiXA)L+<)zJpH%lPSe25_HxfdsJK6{{Ncl5$Uw2at>Q$8y%l@t*Hz|Rj z3i0s+swS`_% zEt8^Jsk?jx`kO3M0>Wo1N>geRqBQB}e8zCJsnM^4sLV|=dw-oTQoWTWkj>bgN-bue zahaMdn!y~2YEE90&Hh=D2+|8FhFhNFIM$gvgbblmbm*O$0!xjs#VUa7I00XX_H zZGMN_duMxL3xCuBer}G0Gr=V9^CFm7wmSky~|WQ z*DcBs`u-Q_S6&{5QWH^+x}cI;nh0e|d5{``IVsI)3V(dBzZR+3t(pC<#hxPMF!8z+ z_92@)_v6^8Y20n$_;U@@>$JzcL&(tQ zmjl)9k$+K!U=Vxj3vgn_u=?z@!^&nmlqk>l?}wjISL~>KWIjiqkC`!hYafcN01ZD) zcJ}3E_GjQ7dRyC1HBx+2%db62I~h)*XOhowQ6m<@HtHTq$qf32KPPoOn<-oL-(r;G zI&^A;v_i$wj|E z`L;r^1O>OHIy{m;>4%+GbCqRzPv}Y6l>9r|V9fNVyjR#E8)BKe92WMMnRQfzU#Xo2 zS%1-pT_}!QgWFewex{384nZcVym;yN>_TyYex*@Z&1> zSx~Cf;!cibr7t?)Z z&UY30d2B873~80!-CFz??QuiBq|Lk1PJax8$@`PC>nfzW0}by`H{J8>e^f8R#VBmn z-^~8FxoMlp;EdD{cWyGbMgVf*G6^_{yf5{;xz2kJrSFXauZ^&LxWYQB>}*tN%l zQ6E}L#d_#UUc$OZSXU!j(|BYm+Kk5yH-o@3rq>L(_+)@ep}nt8kld$F63Z|4?0+}# zq;I`bEHpStQaC?ateO>CZuQJHWs=C&rl%zUqgg~4 z1Sd)j8r69Xy!`Vu<{>=LLQ; z#Ve(3fBW`do65^|Om{BqfYj+XDbioeI<*l~F~F_TB>=Kv^xN&67AOhb76mBEecVmy zr-oy$)f*#ha0OCIJdqKNmQYj|sJ-~h-y_Y?)V>4<9Os;wf0P6YP&Y?;8|GyTQ^WJ()QohSOLw~J^!f68T7LG^Tz#H{+XTfs0)j^=}|psgZiA}{&U0`XPQtW0e?CVgcc@$!hX#}9z?gC zUyM@|oB@C_LIj|JRCnNG5O(@@DKI+(gb1u*iG;bG~UfpCP*DqaA zB-PMuqC+b}l7B^b2OlzJez8pJk^sI6P+?NSs5>3MEB@f`*b@%XB5dSUy}J`sD{6VK zAZl3R7g77Y%R`5X=eJbyd}u4M;#74dEo-%?2{xKt|D3NNNtaTrk#;9MgA?J9 z{*Y>STvR&1b^zRqCvhJwrQpP#P5yQ(KIxP!X5_L~K%mOiRC%DpYuQ8&1oSGINTJw_ zCbePHfG3-}b>~#A@qZ|t;N_dtF#on0_5ZQ-n7+t{$qX} zrwI!dFekMiV?HvQFr%+;3bU+YZBI!~%#xpvF(EJ2IrA?&God)unrL3tQ@n2eWANEG z^x4S_+4(Gv<2e0QdS;{>PwmBtkm*mSP3LE)%VZBXv*;EIVT`Zc@i8|%ZDQ`9Rp zOz)E;8pfw0JtTlscTd!bZz?q3BnBfnsefeODZ>3B%a^INe7z=&i*W(h|LvPV8L_4G zlxH>Dc1g=p4F(4#mV5y)I1ynDP*(R^+GDc`8u8ce+W211h^aKy^IJS)=j(08Np9WR zuc{sg0eED!<8VFx?O%>>k4t(|?a?a{&Y*|=!Z2GUlYHh7UPc-C>nc?7&kLdJh~~a9Zh{ng zM6MJrMH9v06qJy|>e9lj(plaNhpfax;h)*Z-vFW)ihY_vO9qRUwtVr6%6gCMI~KJ! zBqm}(OaEHxWk2c{25UIV8w40nb$>$!7GEP!5b`gjdkX?&x{+k?+s*;;MP510>8Rpj zHsKwRjpYw}yAO)FptljE=MNq1ZBPJQaTxXMolK6SxHn>~I}o1A0bG2rg9+V?P!&=D zT~}NusN@x`sY(3&Wr+}<6>z!hDWkq0oT7v$gFh-Z`UxHpU=;+cR5OZ9Mt>IQ8i01E zr|XN;??>Ys`-&=d4rx~V{GyA8>Lf|h5Q!ataCl0#lW)HW7f|h8tI3tc^u5SmYA3=k zcV^?&y5dZtU-$pm|Ah%Sud3MA_CbQ7mFlGfVpn0lagEdW7EfsjuTi#vm zc9w(aIkQ^{-OvYU`z$mWfPZ1qz_?~b!RrIYp$93p9fqvbEz!)u?8>jYV?H{+g!y3y zN)d=a6h(medzs>~KnKQ+u-f|R7L$l`8Fhq-Oufq#bGA!l3k6*Qa=uvXpgVqAo7&L2=-YKezCEPuLUtl~;)iZ6_y z<_w`{+^ptyW;M+e1157HuNO|>3qg~3Xqmmtd)N$I%wEUP+op3bsK#qOgVv(8tTt!C z5fXn!KfHBS4|04MUeZ(f#>ikCVe=m}^2ZlhFlbDf)uwjZKdOm$=cori)MvWoe*O)F z5^lM&kyZZyR)NNwo`2ltH?B@aZtdobwfp>>_|)T&tk0IX)SsUnzZq@x{|ZzGWI0d5 z^3-qi{+Tj8xv;@6baowgmFm(QqCcAi0PkOhzqNkcq+k zRob0%S`YE2Px_(B9qg(t$Y-0nZlzkNv@BptQKCDimQw0O*p#P*q7$}JvY@S?UQYL^VP%n%o z27Q(*UqfAZlaGYl1CtDxNm?vkyCTCW8lyQ-&-sJu#>XWR&?o8CE$uYg?KlGls#NdvwA>kkIu*FScxiR#=n>KBw!jZLVf zB2@pH9RqEy2|@3caG}1tw<`A<5zh@;)qk==iX`O}R`Rz+FZFOLy9t(j%g`OOXOhoM z;DGDIgXmmxn;i5wH-B}aRKL!uo+@o@6?dn_oZ$DZ%Ud0_oWEyIG}}5PG9fHDSny@F zZLlO;E4`%buaAicGI?Py-R{`u668s0pZ3W)F5o(NJ2vZxAAhY(jeNLMmg`W~RDZh6 zJPgcTS@xcrb%Z+vrg{IwpQ(&?>Z0(=4DZc^@aT9$Adj%?UXZ-#TJFxT5gY{)!a*y^ zBjQ&$c)p}PqMZ6;UTUDsdG`rj*N#jviYuX-SFm$bYvnE(%5&mGv@4>F-u$9e!Y~KA zv!6qhL=)!oBKS&z>%kHV1SNeign!Kr$jE?{uh{7ubyNxLFwj{tzL@2yhkk=}2%|dC zQGEda{)prNM9_!$`d&U*uSRiEHEp6_DYJAPpjAK#9h3(T>`=@xT`yQb)JjGDl+n%y z$mM&tUokdL3P^#47V#E4Pxg+lSHfg&om8_Fo=lJ6Lg7mLD&zi&AFdmhEPpKuerR4o z0z_o<^;F(n#10_85BO@-{(w@)97?DCg%2#CM1~dZH-lWEjhIN?Q^dq%Dh_jCeOUOA z?cahU7u(!mp946Oh-X|)#?yAc+TSjmXmG&A8t)rSAA^gZoX*tE4_b(pX?)}r2>#YR zS`9-O#L*5%k;Pi%DmC$j?td6LdGn9AHf|BI<<0`-s1KkSZLXt*qkKYZ~9==G6gRV^=bTT*SeI_>s0ZzzWxg2cBe^N{8hpR%9p_&NxMgv}UT_GD24Qf1P#`QHiyc5F7@%egiD6+4=Zb1=YT<0Ok zZm7oB-~#$NQE(?>rtn-DWl*VgYZ4&^q~(&iZX=htKxV*=X|9Fw(Na>=;l?v*AQbix z!YWtysN(vmq>$Gt8-G(~4qifkooBDNm78EgynrO_^ZhZ^@eCGk<#a;v?a%%N+cDFb zg8jTR0vsfPj9y*O@|U3(5Em^wPC#SKpVyCZ+r6oVa!Q5sj`zTaS7mMR4)e_SJXcP0 zfs~=LQb^+;=@5ORXSo2$-?=2_pSw=$hnn015c;eG=^4X@Kz}C50oDozvBBef?2L~l z4FLMvE(l9m-4Sx!tzr;mZ7llROH_*#o*I^YG7GpTKrM?TcEK@QEqx!TdYBLJ-(-4lN>DHM0v=hOHh@^4v?Z_$t(GdqMSRS}2XG zsK{^EDv~y@t+U3RD_LMcm zsT9EUn^`k|Z85rgx?ShA1lV%q96d__i>HbhhPfq-)J!{9N%)Qe^*)rBI09q3p&uTH z43Vf|Cw~Mt$UsypJ7oRJU-fx&xZ5c>*Tk5QJevav5Y(nWrl@Qh-p#chR&32x0tbkn zVshU~_fZUW@IkkX6IV(0rZV3MpUV*7*uLopzP~_o&B4dws1}4o7Tquq0|=4J9dbt) z#rJNNCLpp%_05V?W&R+()KWNj|eJsm3T8|V1H8cdi^|Z zuUHzt88s)MFJ6KR7e2i5^?-u3U)*F&#(0bx6fH7`1?5xi;wlBD%#Ckb(q>szqW&tF zmVZ9-Zzd?F6@p%^T(2zxRE)fe$?P?*%82v?eEw^Rq+?-4dvdQc^4MZk7WQlenA$Ht zhZH>}G7wLKQdiJGww(Z!Q6a?{SbaebYr>?&9y`Lj9bttXVQN#k;_;vPXrCzEQwyVD z0lp>+{q^=2bt9}%1s?0{d!g$^KNsE>^?$&gn)B%8_C$kYKK3_$U#Gf$D~aOGw)UT& z2l$2TQi8+Z<|m#L*#hu+{9A1F0fTn)-${Ju6Lh0J)LT_qVq>P#N^t5USB++S&DqrK zS$A89IOTi}RF?NwXAZtifvZ`ADo?>7Cl^Xqq3Ux+cdMvFn~K>S75OA{mFJ%FlYb&a zAg&B=lK%Nh3Kd!yGQaNP`<;KC>=)a4@E8oZN&bD0 zc0%_5Yq1etxl|j0;*GZWaq)@>2$QAyw3t?EzO*c3 zf|d|W?Nx8c0jri4iX|Q~JVn_d)RfyK#Wn%-Z5G_-uaK&)ZZ1B&M=wWI#NlJ55s-h@ z@P-#T>MOCkn3nb}bTP6BUl3Y%bMDEgw;7}|`!=OQnKp)-Cb#TTN`tAZPBZ%~??|rD zAJ;I4!uc`nV6{i#+{j6V3`m*#fO0>j)0+(SC6Z|N>T9-X1%l|$9FPS06OBv^T`$F= zAKIfn+LOVMpB#Q*XPgER?RXfw=7WDlpsM&rYk)nz=V(?c?5;8{%f1{ zJ$6@p8%Lt#_uf5XuXCxLZGMj*s*Qwo)RO-KLHn5)ZUHM!C@J8 zI8#GPd5ozT$WIf3h6h-tcg+gfok1GGx&h4zshUzaM*(z-Ds81jyoz5r@yGQiTG2wY zkta`i^G$YXHbO`A71r`v>*Q-KsShd0OPb9%AoaJ6@Kc%(@$C1!1=7xE65%Q#eT}%4aEHO%7K=IF z^#xr-fnomBD2i{i_`S?@P_K=1U|mBzI!&9*EefT=g|xtEi$*Wd5O3xsUfiR9+F2c= zbOG^ElIVlgZT@HOC*6NP;d!TPjw1|-DnV^7msGF+4j%pYJ}tS`|GgTB=6YOo!Jm)2 z1bLy_p3E$EAvuCaGl%L^vo17TLpe1ejZE(;H*L)(O})cybMr5aCZ%&+tL-+^v|a(O%p-u^+GzYT_)nP^sIQygc^SWkYg);snn1HTb%!# z0zkcz+zilJIS=aL5NboGZ?}p2I=hchdV$Y%%piA=mfzK5LGlFb-{w@JZwOZz|82|M z`A9^M8u;c>QyaTG-JiPD5ghKg;!EQi<320aR?-*mM!f%y2n|z-0U%K)Cwb;)c~1$Y z`cP_$cfdULI;i`3)#)9Q4*k^@W_$--_bwuw*<+Zxk1KD(aS0mCMi3s4S6J$GZ4vK z?Xv0o)J5axo1$jPa)GBGL-IA3Y=|&oxsRkhQF=$u^0Htim5vGEV;>0s=n`yxaK|K1 zrp15%y8S56I1c~+mO1SHt3Ap8QH}VoLhm{HbGPMf*>C} za}t;2`;5b#o#K5_6)CsL5Z5o0_3MrwFb;pN!^NmYX4k-Fh=iP=oxrUhEZ?FM3JpCA z;(bZa(`KwTipd_|MarZMTAU=vVm_7=krjdT`S7D&&kEPuxt8(oa0(PD^+?ZQX0Edu6wezy$m&Dh%Vhh#D#_I$aI+5|A=ra?s5fD_xc15;I3B^g7kV=2T zt$H(}WOUSnf14_3gpVnP))q^d64_v4>y1&Vu97?Ariz8wxT-_upj}<&m4P{`XQ(sg z4eL{D9s9!QwU5fp4nbLsl!aQ=`C%Cp;dt#lZj`WUO(SYvpFwXrITu(}hWsG(z|ro# z-8Lho>_~Bq4OtVEr}kBj_d!fS~-bHlQx_D3hFfMO9JUpQWJEerf@vB@K@o`~Ny z>NR=}@>WI!Rf5uuh{-xhZ{z1jr#_9iBps?-WGFSvEw4Zb#u@Vgf z%aIM8|7iH*{}U+K*Z-yoFHwzDppdtQixvECfY@jX8*p}@Ds(yFQN~$!proZP zbCzFs&8r#j0Lk7(a#`AC_@i2~i@aB+HUxG)kNN6c-VW*0ft7^$m>c*FPJAz+_JL_X z+QN^q-mJy5Km1-#GfV;FSYfh|<>0&)BlMB2t{C9+vFP%%YgB)DQVBxsHholiV50;> ze`%mdYym9@%fRK|cYRgYQ>XdL{=%m?h#91dUnPVG!DWpI-w+d_0B}nm+SV`PTYc07 z?=w6Fso}GE4EBS?F-Dw}y>FDR9!GBuA3IYsEF{yI#NO}#rtMryIV@ueb32!hAAnxl z7FY?w#h&r>`}luzF<{2OAr_|~;C_0&wsO3#$YUVX!2A1F%taa<&pu%6jf4eL+ZO#J z5dSqL)cy&U{|Qy5=l?2u{*RL9|Lp$rpD)4xkB&h9=nNG8{p~+G1u_5l`FpcE2L0nW z`hVsV%2%!dc0cS;FPHKXRAkY@-{mCTe^s59DC`twM%90qnVNk>%%y?kL9Y9LJxwF) zMnI^}e=L>)vf%=vTb6%pe-fvrTZulE#gXoyRb6tm=&)>=EbJe3>!EnZIX@$wk0adW zD&xY-=QXZlH|T_*Dvr+4ul54YQRhi4r(*6r79dyaXpcDPeI~1&&Sss~*{THvYtgtA zWc-L5sIPzDP`Yi!IEikS8Rt92W=)v+p6+b5up_mwP;zo66)lBpFut?!2y?}anH?-| za+DTJw^-M-!A)Hbg9^sL~*nxlcsw^fHL|Rfzw(4kxkR!&kWp=Z~ zDA19S%Z@2-ZX008KHj>@Q4|4UZov?iOWOLPx!NUDc{;GEDAS})AazS?A`I8@*STMm zb!sPtIrOD{uh@dy&9}|fwg`Bw2#V1p?|L4NIM;t6e6oIA|Hrga`A09szrKopuYdMV zT$F!%{cn8~3p19lfBfHnwo+j>B{yGK47$6)ZO;DHv}enI_N{<&<6=kYoqyVh!r zn()T5+f3WonwbcPf)0?f1xZpq)vr6i2{LHcK`h&oCJtwtC<I`O~hQ;Qf0q6i&1|E zG`k07^^fQN>zwgFqU?VHLl^&_L=Dl=n!^1*VhwC6@04@7Fom>I|8YUt|BkizubjVh z@|@!`i4pK@GR;Mk{obo`U()*}LI3lMlXbP=gQq~kP$|)NlrM?;_tUR>w`@4vmxKlq zzaI}xRK(k#oF6Fa!X0UBkcLg|C18IwYPa}j7%oak+g7gH7R#AdVKc z-P_-?}$P zYaCRM5x>A&INwvvD2vP>v2=egKiLK0O8^{cf__Pe97V*o%0gOj_VU_M4FI|pUz0;o zagA2yDOB~;e_X|P#2EkKE(v_h8ld#*lWf)qK!crm61VBmLj_c$fh2dSra~x{PO;G| z9ij=1$sRL33%3LMc+DWCF}?g%vLPkei&AVDo>||H=%w`ZM?EdhDZziMZ#=d&51Viy zTXoh@e>hq?uMF+cGIHqOC0ti&5UItSI_fK8_KMfBTrgmJYy`=K%+)Hyd$kH{mlGkq zpcE11?8h~EBSDHmLiXxOwkHWnQb*AP#LP4T^MOGi^_ zd#n@58W|~0Ju_a@jH^vQ?davGvm8zH_NYkv^84OfoWC${ZvQ?w*wn))gflj9uu^ z^?Rq13D3e1c(r~L%_Pss(5q}+!T47s3(eFur3i;ng?7%T71s+nc>*lCkz>{=TTL?J zN@`M3%j9$^^BI2JTpKoy& zNjrx$zb%IiQqAt+To|T>G=4TcF)58EX`ddJ$#*_ItTZe?(5-GNsg^1r1z=BW%rMuz zpFJp#x_WQ5ztk&D@3Ye2TvDQvuk5WIrW#GAEBmtN^SPZ~r0?I1`@rb~Ti>XsS<%^W z=Bu2jc2<9|!ob4XPr}>=Z9f&#Vi(ZQOH6Q;ptv0PqXbg}H4+F~g07XoCq=bg_HO4n zQ=><%1VklY26$|SI{WeW4N2!83q>umj!eYA!(YPkdvi+JG`-&N&6+rdY%m!9v+9f4 zff{bWUX`G93}!O`G%R3;G3;;vX+}bYmj#gaSUP{>J9{>B%w8;tbJA`R(-Twfa80=z z?)T-}>~msp8GB0^92Co(%}WvupdkoI3{(O`R7E4#Ua}&iCIZ(}O6tX236dG5{XOb- zJ3_PJZfL-gOiGz+MG}#zN_kkT1<{c|lPi5Sq?&x&xtZp4c=a}7+(a5|qsX|;U#GGJ z{K$U_jn?sBv%0GuR#Ls3qz0RB^TjlA^s)^sq7C?Nwq*0@M^paJ8SyhqCVS+On@yi( zzanHY$nDE$16*;`ohVFmNaSQ zjgAM7n@w0f?fq4r8xglJ^nPk6-Z}%XOx}N6#$VraM_QK6SW1=7_aKdz+(fU*XU_%g zyyJ+*0ceR{EwSsk;ydfq&_kjj6~ao95Ynu()!3-2!pVzCaik(wvcJgzau>eg1^g>e z3?8Qbcx7{q^u_B>0e@dOj+lhAhW_e7(nSV01&K9Y_REhzb>I#8jJR=U3gWy8;`x8s zN-VKb&(WsT;nGt6IWkC=s7j7kecPQ{dgF2GJ!J^;t;ttSRlYqx@QrEyEkaHXV-1n~ zRk4g+^|HnrwF!p;@>>BGjFYc+BS+b&Lf*uj;Ks*-E!Pg4@(f`5(0zb!BZ6lZffb+yR)7HMVV<;l5g_OS^dt!TGMIleJG)Q% z3-TlGgJdwXyL!Hvs_r7`hq<}Axw)CUx%pj)C419qwY(W5X9K36U6;F3c^@Wnb1;_l z-E%}D#8GLxx)Wx_R;gXp&hj*e$PD@tY-bO(Q&$(vNfN~ zd8lkng}|5>YqlWLCN)^n^V7T86j zup%l6epY*Hf)B0+R0pBU)EJ_c2@O`UJuv-~WHOmZ#g^;0yYU2QSt)<|HZ+aJR+L0h zL?Aw!_ND@plAa=&I#>kS@vJ2BsnVt~&g@p%(OtFN=l1K|GCa&QR=o+`>Wbm;s3?T% zvFxg~D27JythfOxU1m4V?{X zg0w4bnw#<9g(rye!fk|$_BJ)(d>jIJc zT5p$M){|vi5;Mter1o078@!DIEE$c1nLVy1R&1!t)?c!~xY!RW#jQy6HqqDH&RsW} zoo$DyTt2Ds@@c4i%FiWSEGBjxPHma=xAe7Bx{M}VAkyv`vJBT zDvvU$0uU}-qi{Eyjba;day#!n(_&%TeWLc!efU+1Z8{{EZGr`w427eSyXU6`E$%v7 zf#_1V+-Nd>&V?Gyd92xrvz-CIsR3?`iNgw=e@uDE~B7gP0l`!2cYBsn1gH-|D-b6nW;$^+|TMYsXf# z9h?wQ|)3XE@Xf*QqGDq;WZatOiCNE zRqRNk2C**(#M@qFO!Jvob-CP>L)@TUikEwnSa%?D1SOU>%+sE0zdSKdsmQuEpS13z z)$px65GK`4X_(FTR=MaTHY>fBM=!%^d+@v_?s9*#+-x@qahb{vsKEfIA)gw(t-8Br zvAW+as?qTnEQ-rAu>Lng@pdwQt}#K<1{tCnuZKGF}#n z;vj#z$ZXeOZnG=mc`@z)k=4)i8&z?>m`{bbDiM}uiK&#Nq|P=>R(i{~%nM7d6J$KK zua;|-XnQUdO0mswL=wOXe-%2!JS)z7t6_xfZ3|4YoLq8+YJsh9&7Qm3q55Q(fe?<su)bs2&Su!3ce$m&lC|5&sy^CO3dICl>hi1Da4@Q-im`07O;6a_q}uOBg>I}B zE=KE{$;(S^M%13yjTA?hUM9T|JaO-&$_yJ~S3*D2UcO1qr(G@8FU+2YPwbeQRGEKi zkBcXAwMZ#f&Q0foN|w)db6IBFPcCZ}ftq(#!&0KoOqR{(Q8O@p%iO&&dvUZRw_>GH z2O=WYDa<-=nG9PPwENGaah@aJ$Z-ERWD_WGAJ@>$)m-NlCg(JQ1UMe-fS4 z+U@L)>I$13cN?Q7otK`lX!og2Cl!Cmb_&r=W|tqmw7Rn>w`w(OgXh~}T#6(Lw}Bd+%~Wesp|gax{_|7+E|GZ|b_y+a#jRqa zw{0a~5{Sx%SydOsSv`8Yc&dLTn94O0EdU9(vT+`Wau z*-VCejZ)G6yjNwTETA{EX} z`_){f@w%&R>H30OQIXEHyPof>?2dVs1R|O*b_1DJ<~cEH=O;1pjkpcBXU!2%oxxi7 zmPjVYr2%~6ZqT1e%gizt8BPO<+FO$2*;aJk1XcqTqhd6fNbGMb(dwerX#&l!lB)7l z`(X=YoZW}6-m#_gwAl8tnzdcapVk-O6sS|Glnl7#@l{_VI&4m=(kGU;b z-xP(rT)uxbE>g?YV$3E({BtVT&x*utER?SSEjQc=_j3Kr9`H$?EHPv>@yrkMFY7v) zEtOic5EB^QZJzR(&>BoKYF%yR1g^S%jsrtL&TPBrb0F zVQBKSYmCabWv-bD#fD(%n!N!jkZBJ3`+0l!6dixHI3dDhaK_9E4lK*gT+ z_1SDa5rpx!)!FptJ1~d1Ofx_4E@xD4S%}SB^Idpy7p~n7h}oh&WRk|w6)!Rt1QKiF-M{S}&BpZ_w zv5%7T#ISigUgcZB#>tcAH=%IXUoM1YyRs$1u>z105+8Vd+r?f>uZ?J;6Kg+9feMq8 z@_7lEQ;m8*QrI=%d}vJyo%KdcB=aww?n{4Uuz0Iw;B^V2-^jQ3fuXb;%_IF)eNilc z`Ci<07V$=uh>%^e$JQsg8L`~GZL)l&{UmUmmvSIXl{=y8CPBs)40W3gzcdr2ZH3AY zBCk|y1Y{Ri=YS<&0rp2GGOc&wLies1%0{SRpNge={c53EYzO*xoyMLIgc7g)UaWsJ z7PI9}iRE8&6G5spU)e!@DMfgylnaC+96zXt{Gd!_n98DB9`#6~A9!5~om6&Pu6Cpy z$rWA)nbN#D8xJdY__)UmFZ=T7&MZ= z%Bp1c;bmtxsy%hc+d(bAdQHYc$*6zOX+@Irxl|7K3W0EaSKc-{{buc{KUi)1clBp> zwyL*Fiw#-MGqF0m58cLwt8P2-lH9)m`6g_h#()iXNxqojx5elED#dg={3^7S+KExW z7p7h-dx=O0!fRl->o;EV)8aZ6i-bD80X1kB!$4@onyYb58d8;TyTZ)a^6h`BHs=-r zl24@eJ2IE-Hii8-Q^=Mjs?!+NiTakVJncixKsnY(Rft4%zl^lI>*4d{wg&2rANI9PgH+J1{zuXPg>cv1b&}b~_&LS$X6EX4D ze0|GLq#VnGBx0-O=C!w}W%x~DBEXm5qPzeDt=G5B>ONJ;yisB`Q)Ws`v%|&2 zQL;ZxMP7lu*K5;HZ71Bs1}No|;La=%zZFrS{QHuTg2mdUbM=0gKjj z6JG*dm8mboId+n*SI6N#70JJj#oNq0f7f4SZsS!Zo6C#?*-pGvUH~!CrO~Sz&D(9N zHOwxn$tuCMW>SAUligQau|a+nB7h<{&gAzm(-zli*WZc&&fQD7wGC`rFXip@HI$V? z+$K&&;=NWNnJdoTM$g$np+0Fwxyd*m#p6*Hseoxw?qJ&Z6LAp>Pu!+PnLhnRdGA-QVVK2e4`||=g}gc zx$1mc>x`e*#br*+M_XXAyK7~snOJ3p-SMcp$*+OT8fTtv2gOog!4~*zu~DA0^u9nQ z>bchq-53?f?%Pv$7-p)~a7rwS`AwZAM7G!A!~0IFB#Ft)P?To9*Oz{C{ron5quSLP zSKN_ztx11w-i^$|jZChbPf4-N=w+VVHJIM*rdD~bZs*bJyjz^dr9@lIL^s*>Ylvl5 z@LF6aks1Mft7K-sBVJn7euN*yxKS|)OwLU_&vLz8vLFJr=Xn;soH#ZgEq z#_QW$H1}E!#0HZoFe3)F$X#_#mAixGIJsJ;GQfY#56oU0;=H+yzoaUmM2)GJm^$cZ z{H>mUX(uYnLX>#TG}hbVvauO8vW?j^!Goy`%*$6HT&!06sdaY^?2Ar2+iBHC({c5A zR!E51RhEud2XnGQ&#R$rBeScIQbeFyD(yPO09C9n+oF`IC909h?XZ|Dg-5jTobR+V z$;E#zED)U#Ek*aqm$Ag;GxVtX44XFJ4dEWCx;TS??^ zr3KLbyQ|i0+=-N4GCV^j#iI0DZ7wIJRA;?si&zoi*cur`fJ6)hDe@ zb()RPQkLj;8p2a1IV?q15h2Ol7H90;pc;P#3Vyzm?Ge!wSC&$lXfjjXj_(@0NDL>9 z1Y3IDPx4WLT8w}W+Xz4HmcSZgQz8?735(fQ=5{uqLYp2}&D0t_wiDX)$wEIzWvOa- zG>r5!!lX6NK8sw5S=0xEBC{CX?Q5A@u39b*>$j^xxE5~!ghj`fx#)Bmgs4%`OWt-LPY`7o`y;rJMdD=AYG9@M>RlB$CVuf8T6M2axvsG%aOGF0~Hh;@y ziQC<*zIho<=x}0_jaIojIcxNnB{bw zJD-cT+OStzaq1PfZOQy(Y za-FB`VzXK{IHnML7PrE176^n3?R{B@37bKw``QXT!`-ud?1>dd1*%R9d#a!BXQf=5 z$gjKfaM!N2TCY7}v)D_URjnJD#-&$b@;pJ&8Hi?X7oRo+E>bM_I=z1_HLtak_1a8) zqn>l&UOAJmh2ErgDBGR_^Ek`iJu~q^qw~xUr%%z>32*N+ zS@;rS=#F?A^kRuFa+5FigF_1cH$sry*F-zJL~vFfO2p zBP`dnafalUMy94OppXNE3+Uqj$u)JH;JBuZvBD*^v4?O8ZR{brr;P&~TiU$Kt93M* zN{-1R(q;|Ro;iKJAUK-6hU@(AYjAqhgcn~l`a2q+@=_f^yAHZF)?}Evp^Re&Qczv% zr#64k-c8DbbtvE^>}W*m-|gpg4{hr>415?h8rHXRbc@HT;^;PCjB4h&=uHWZ0-CHn zIpRr(g~Fm3OQgf9EC9Y683ZL^1@0QvyuO8Hw8OX)TCNRp_ahoGJpC?Dk?TbK!w`wF z1hpaz(1f5X)yNU}5ovRzi}Hrdz1M5QphkZU+B7UNGucg?Z0&=RFkZ2&ND4H~T?1SM zo}sPry$e(H#D)jXN1NpdXvVn4SFZOyX6fxU#RxQs7((DTpMZ_S&h&XGVX3AO@DzWo z3>*Qf!ZlS?O+vI^VCp0ZCkbaW3-;FxN6}lj{NOo&OhYKG&=+mTJQ{|-_11X!_+pnb zFLtq`VpQK1yF~MfW7-BV&Ssq)S1^X%@kA0fJHBWcP!nmEWfmeM+HEYLlH!!0K)J9d z>;VmX?ALci{{RI5p&80!7K4#B(L=oJdWf*1Xp$EQG`1(Kwv)g?m$~D6F=5Z$ zhsF{$aYG2wH5gO@Na!Qt{VZ6rU5<&eCIsL0wKS#Y^hbz%uC4!}k-TRK5l~^uu<*c0 z&pP&_Xa^T5b;m^llm7gnu|aK2@dr02X(Re8&yw%-}TbQ3L1Yc4v=)# z#Y+YPl_59vED189tm#;nLt_3u@}MWdgZ-J@+e(y}@lH9vxkq#UdPGYbAg@m8&%AAg}jxzzZX8V-jal=Iq^2#^zL7N|W~4?@SamQ-`XkDMPsE#z6& zS@6c=VcjOa=LgOS9lAF>94&sOOl*whp8&5Z!H)HaMU%-t2V!7lxdwmQw2W5r_D@2u zG2k>EUXi=#pM+kJ!Ho3!!FU;cT+~@=6-^{bKKwySj=>h!P^F07yWJw|xYzc(V+2PN z?b*s`!JV)_cI7iM88DZ?i0M&+>(vk9uaU$Vb@d0NBA{(@(b3=RcPA2R+06v@ka_kji9IU(V2_gfx^&t4M}UW5py^=(lbVa>sn`e$b%Zj~PMP zPX1v7s7FHC)5fClPe7F;#T-uXegM@@A^HAe$?0%f{6`TApEkoPjz{~tmH0Yo*pyYQ z;<()g?GMuCemsBk9rdcYj@TaDT2WIW$_vW(&(8isxg`VYz&$5R(As%>t1ipUTk`qyCR=p z;zJ63n+PRj(tH@Yb18i8bJ-!(MQv$}qa{-eNl3ijIR$@tGx{R_2dlYp5rVjzCpK@K zPv>-=V32ck+CRavo|`CE@sBxFCC<`@ReUi|7<@%=`)92uDj1kUQ>RYG1k}f{;*J?M z9R117TIDd_f^dZnNsv>!scYBXaSTtM_q(LG#)DRS(1uaWXVGTB{9R>iN(=zM_6wTff(edK`bjKktfa!29wQ)gH_bTT$)N`7^Aj z_L%)Otf(h?_9t6WPhk6z71bW}zu*-WHlpO5xCe0l9)O)kp3d{m;8O&jP*iFvX0^gr z6M+~ht10}hR$2g9VB`soR4xdeyXdPY5@C2^VUQ#`XLJ4FgpC(W^g|K#>jxCZmW*W zg)TW-QuxZG-7b5 z7R>1*5!9@g62qMJFxpS~)v3dtduq9m+HpalA8 z|NEK{Jkox> z@AS=Y{6e~!5~5t=>Pk+MRg(;$ahZRi=tuhIXH|o`L6|{cH-P#+uUQX*H)XEj=v)JP zf%f|E-B$LZRY#OOOd6vT6w}NN4_0eJqCr2zppgFdZ#j?r=NF1udl1;P1so=?_ls8g zR1Jd`XRhd~GFAcYK)3^geRZASxPt}#YmY&4fM)T0Jq6<|IEufj_scIKQ1*W_K9dgREOSen=`JK5@a0C)%%uH_Jd~OLe z$%sIM0(1BA+l4a<>D^Qk1#Xx2?cVD> z=){_?$hRPo{@ZgTo_PoIe93=j+8R8Q)W-ce=P7rrD%u3QtSa8lyR5FdvvOH=uf{6(osGwY_A5CoegqcqqD_|r5b^@99dOd#xD}j$QWs3}@ z0*GgpBhE4Ahxr?}EDy#j`{y2rnDSn6Ob2xYAP_AF@9 z{tQ}yQreCeQs9s*m-b!oy|-J?hjRr200agZJHES{S)eA8#vXIR^=jeuK!X$iOnX;H z7I$}$k?n2-j*~tKKE;1;I3swJ@=4I)&WaH_N^yiPkLeSTEg4uI4({XMTFYIAiDj6S z#G{JX1>Q1vk?SGkdWuOYbJEkz~CR5vtD_AevGM3 zw{WRp0cvA)OHW<6<#i4~1e9?EDZ}|C#GDHYhRaaEnF7zAi_d=%INmS+^!NYgfBw6F z2>cR)1o8pZxM4V_jDv81f8<%4SpWreCD1=?<`Oaj z*JDEXRK`&O|LIugAOHP-_mBVcfB19GV3lg{km_I5c>J@U%0(Dj_=nA76xjIFCozWl zr{kFa^56VV|MY*~{%?QI8H`Ex>C^X5Jre)y=Wb3|G2+QZ`0|PCWDcNa(dNP>%<@T$ z@)=CxEZqOo|MFk{!~gY1v{Z~%)fB*mdu~a{mf6gL0`NL=7 zn4etp3!3|DWrqLy@BWAX`XB${&ol)g#j(@OUpLABr1O98=nQ;jfT8e*&%q6B^{;yt z{>T60AOFLD`ZLW!O!L3)d5DSrC!L4qR6Fk|OFnxVFci(7apa_Tfj;+SAJzHb0X~9( z2lk)-?*IMA|NDRZ&wuw1|MDU_N;mHWs9b^WXLFpHffnbWn??8bup>`d9b=hZF z#n@Sx@}XWfM{hJKeR@B61Xe~8|8Ut?T*=s5oc6K)k|eu=zQdp2Wd*W=tn%A!$CY}f zzAMQe=)U~C;GcIX)W3iD!NpJk^|{NTmex^Jm9UrDr^N;bW)Jjm$^_j91S2Y4p7 z_+>@+6G4W4S*;T|T{bn{A#=97!#U;7)|{cA{imzUEW8|t6mRiC^sN$Wz$8YC~wsY~sa1GmuE{6hFI=Un?Hy*7H%kd%y4u|fVb_XolgpSf0pkP2H)2NyP}P^`IjqN*mY5C zD_-z<)xbKqia$uAechD+V+!B@6h0hlN4`*(ow#aBcNOu%<|^ny;$>~hw;6vgYWb2T zFKY?jQM{;wNcVHsBvOD}@d~WqzKty7j)3arNq0?YN2+cb(`sGVS`QwqUDP5zle@54 zxHewcELvq<4kOZbT@50t;jR_+K-Wz}YNgBCs-P?Mmo%uHAz#*R9UdWH)GRuDzO2y> zIw`!UReZ?ku333M!cBW}l}mrxX+b6A87gz`8`N(>T->&6*=;r6FK+wdb}wqOj5j|n z?yJ0ca!J!o&Q-H$%M$HxUDn!o?7lg;G3K&0omJtcIbF3&+k;ldg>7Q9<&yR5f`#j% zb}n2bFIgdV+bwPy)KzoY9`X@#)fB36(ZT^8d@fryG>0MgdLwjAajkz{sVy6$gI(VG z2NVRm7-N?s(#65WJ^>RsOxfkAz@TuSfe1SH`4}2a&ZS;zAJ^<-NOVywvk%~*4~BLb zDmffy>=WjTAq3iok#VgQ9Y^RAHA#Wkk^#cFgdao+1=zTZHVy0(eG#w7{?wN>T)=M7 z7d0%qP`hkc+PiBFly`sK0^SC9+m5oE?z*|09FfIsdly=%plWtf+Y8A5F;L=SEr!T{8LAs45qbQx4)#ykHFVkv=YO zxj}!VX?QK(ecLFq!X;f+gCbnm=0%;=0svevPto1vmg{|7<6VF9i`#X-DQLP+eF>c> z&4o)VS$}Ewq84-Ls}W(yZv3zrfUN0d=@Wk&NXq(o`~++MSc%%nnM-b zx8Zs-OLM7k-`IZzii-Zmr~3vkP{j0?J1-+=^fG!z-5Q{-W$Go86rz{AG^RxtV-EG+ut~;u=bU{D$mucKJi?5+v z&_(%H%;l|J&`sk#8kbEgcTO(pt9l*gLv3EtWAg}^8{S*^7z#bcoieu2 zzeez}rpxF7hl?7=Z$Esj`4)c3;iC5CS0FxyKn}e^aZ&sD0SmvY<|^vz6Bjk9Jznuq zhI4tcV;_G4!W|OOPxVQ5xpmXF!B_XSrejk1c%pa7W z@xo7kHMN(sZdjU|NYgK2^`$Rs5ui;L07v_Lbo$FXdO?h!sDko{n2!eSm>S3<8v!6= zf~uz9z{C2hD$5NJ4@zlR)|sS=VE|P?s=v{}YR-gzmhOH2^cU$yJ(mNmX+Lg2 zfh>IJgyAMR7CyNNEBgH3zrP>cjHCh&9p5{*jj|00pp?(X0($#7BLQ;_IKYI@MgjT$ zIpct`4M?Dr&&Hx<<5{7@#^QK^FtVinURc3NXAVrT>lY8-yrh|g==pK<4^pEa6j8_~9-$C{8@EJl3NPd5u z3CeF50tlcBIu}AG%!A4+yMnF;_5gIM@*vRCO5i*b!pB_GH@j;g6b*)hBK-7+eBjf6 zP;umZjQ^dbC6AaUgb9ER`l|@P$ko-FXDCnjr?i%T`D^6s)s_C&1B^s8UjS)OwFqhI z^WUHcBb#HNUS|8hTt^r6mH}`u z`^sj2k@ss5Eduln+@OLyPD}_$UeJiV5ZtQ}6adF+1b+&n)q^o2c%mk(L7?lDfF`Ia zI_J^qNuZu!3PdEB0}-v5K0eh#`VR!~NULSgZ#a5_F@O@S1SnDqu)L4JcQcEe|55$w zgU?*z@4O(7tWWDJgmN5T6E0TVBByYR$hd)jL>V>o4Pyqs>JYn;rZngC`S2^CKobOP zpMegonXyC*2q41#1}K?|Dgb_h|8yP7G83&&%bsU;98$@K=@C*|1&o^hH$rd?VG9!qkTL6DmUs8$|WKwyDM!Fgrej#Tx?}L$+Fs^B|c8K>8 z6X_7#%Q00}vLmRUS2r=|ei^!f^>otAQDt6Bxzs{S`>RZGwl(s+e`z;#=& zlDR#cW@%I5k%hGPzvCrM+MiZpFmI|Zf_mN@v-H-hD`CU8I742C9Hg_}vCk|sb?u&w z=rI(noj8H0NyyvdDhm=aUF3n*4pdFKG317)Z7+yWK#Y9?diw(QM%Dt_e#R%Blq0IN z0&2SK7!0&`8W?1RM2O%Mof$uW;HDLK$0H;ck%GeL_Eda@dyBA zD^0GhsW@=-a=cFj!w-4{4OOrh`_#4A9zB~Ovh?kZG41l40Or(P`ke0Cz|eXOA>jQa zeWyzd+)a(pvA-bhfWoQ(vhy@xQp902E7Bf2<{4tEPXH7A0kRQ!12qDF=hX-l4FAhw zC2fKdX~ap8R?aB?wXl=S4XcH-$P})w2*qZTjoLFS9AG6u{{p7pNwVSYVaJqn^j>{G zo*5fK;BMxq>j?J6af`wJ;~1QryDP|#3p{}h)KccM6RMzM*h(>*PM-p_umajMx`{K# z6GuhVp508iA7iA|)z#d8XOHQzY71Spvl!O5`u=_4S85%ULC`+{d4h3u&fji%=jYSB zGdP!f^`78v@hE>BkCQw+hFmex^RS+9r}%Gd<-ea9=l-7pH?e{%>)CmS*;&OoXeEY2 zH;(bz`08rsJBIYJ$`f7X^Ei9_{rkkP)KWQHeGl;jTPxoEZh5JH`iVTPdi%RYV)+L! zbO!RpNYBtJ$xg9f#>#$G#-Zn@V2!M>mU>oRV^&tNJ;utq4jkjG%+=M}=ZNmHnj>A! z^O!jE{rkwT)KZyPdl*pN|JL8qaLX<=Bk^_DF5E(TVenp+pnEkftXC-8J_=LJN=Wp40V=n6k%0}R-?#VS;O-v!5*&f+ zSWDw6TuYtK$F^f_8VR37egtDH;W_`l;KkuR69gYG@ceOq3XdlrY_Vhjmg2#{{3@c* zsKAJ#4GSB*{B~V9f&;KEEm+)aubCiWlfJtaAM82}QycXU1nsJ^@bL#xNMdvJOz6@OwCQKO6US-_1|jOf~VJYNJ9BmDsND>luo zSXS0zD6GZ6vwSvf(dLsCt=Qu}3C^huX6Y?X6ply;7 zRgV}$1LyB2+BSgiyB%vl2}*O6*tV25#-y2lGu%o-A#%KaJqiYNM4F!Y)M3#3o0=IL z>&(wnnr7uy*y7d~^lo6bN|c3wyx;Qlm{_sU6AjctC4gv@h)4a8P$U|@zxF{VKQOJ? z@884zP|W`&{CF-I?_CV2|GuYt>P^<{b$Yj6i?1yM)dzenNuH(d%6CjSB;R zB{htNJan^prbk6pL;}eMk3=MX1;_N)@K@+^11R?rqHnPC9;ht-Mb|Bfmk2h$5)ikc zEroaGq+w3_q@YvLAme`!(?}I0K?B4DdLa@wIDXOL7?Zq1rn(mn{)2^MH4>RUIppI{ z>)i`SrwG~0QVhz?o$ii(12-sKSGo6pR8I@)A&f&&Ozdaa@PqhEng~T7k06fXcLu}$ zd-01+5k0W$vmn{z%4UQA{$ynlwt)+u8W!EkaMrM>3#C0&mBFpE@6Oue#*3?x+!aAvo#Qyo&ybduEe;l+Q|5L{`02r?au zys#kz%4bvw{#l7|(2FxAxTWMd0vuFQI3CvjvxslozWl57{ueL3ZTaF9Cx5Q!4id@> zfQn4k1$(iV%BE;A4szKL_r)wZZQ3x%X6GhM()rw0E|$=S29C*SQ4(lk-p0kjjFl@M zWFn(TE$XtT1blH=_Vn>!oR&R*E%J+HSu#U6E_)8Z&CA{y@GoEXG~h=`N=seT7EjS| z(SzUp3PEA)4~3ra`#E+gEN7bBNzDOOP+fSMe%tWObcFrL~p(%d)mp=R0&^A)h&}=ue|4_D`mTX9$2rgPI;+D z@6;{DmP z7@NIG)25*;m_g~5RvLSv2hum;1kS6N^RAUV?XDDPR=2pxYZN+H)~1_sk>CdV#}!x_ z{Q_%MgP6n9iT(l}JQDDKvPzI~Dh?FMj3f!nXe9v&BHtdSDMo^4j9w%Nyp=|)-}6F! z^XkgmD-3&?P9dZGhMx@hl!O(HzH1l)Izj^GfDHKhAR%H|c2^{WYak7`Oa170NjK!^ zUhqibD)53GP-xL_hGV3<{6-I0MJEEh5(s%+Ds=mDEd-S6`d@Wb9?Q7WA_Y9msyT3+P?2-=`N@T|bmF z9aA^d~|&jLC1;%UGt&u)G8M8JrDY51$xm`pv;(l70U?lrGZ z?t}_iHw>!3g?S{jjEe`u5HtL<2SmkB>x@2nps72CtV=s&3NrY~J<_9Soa##0FlE8i zryW@=4OKrP611>ozk^s%fNNdWY44^{)aP8b-aYOPj|E!Qgf-}Wl-2LV-ed;#G^oh zrsWy?VHpyQ=K=OvHpwu?U(j)e7<26Xf{qn2Wm?^!9P^Di78fsv+@O;_Y*$V1gm+Yr z4mt`=6XmR|r|o-KlI4vXOS-)GVhhHaY8q0*?wEalmQAvi3Cz2fPMNkDR&YiqV%sd_ zr)Y%Az}y&dwv)UpAmIK12D6m2pLcRidk?JC-huXc^f0twwIw)Vw%d(e`v zTupSUXl=*7xV>1i#ntEuWUGs}SS{j{eQnbdNGA)~7cf3Bb-YZII|0Nw7e6iLoR7V8 z9J6hIX$0Slvk}wgNvp3*k#&t9g4_ip9Ou)?Q?9#j)(O;yux&GJ z6XmDD9r8>~qJ0@-nyRrGl2y8!7i0r%9dng`pnvu-m2iBvxvis<&rS+KPzM|W3TXZZ zR1WQ!L+@bwZChFi6bXex`q!`L>{{wIW1oX+?06cc;Em40u8EbzUr!kd1+n-DB(L9p za%WZEQuX=|Fl3!f2%rC54pe8LPatrBxZ$l_JL}@X5DFA~A}?mX&j}}M>}qx z+u#QH3yeQHs*kARZ?=uV zkYxn7CPd^&YOTDK?MTPk131v2^6^p#N1s2qwrsxIIlMbjG3^D@02pI{zwJiSPO#pH z0x5UFoP#(PMya*U#XJkM@d@Hj>2!uTg8WYrc!cP3xb#InFmT7geC`nX5B5iYU)qVC zgGfB~@U(Uofak~t&nCz%K`;8@4T8BWXFy>9nPe(YDqIZzlFQ*AO2LtC0^`D33L0%t zYbCHgFRZF%9lU-}{ig_^Aq}slWH@GyPNe~k7!0ALz|&GKvXLoM@$P}%SLQshPJ)gX z<>O=kf+j>85EY5WFmeDf(8&mYJmEYwRJQv|W=^~T{L4r_@4eT5Gba|l#%eyI1tmJN zj;r9(ia13MuF9AT$l?r(I#2+t7xE$kFDc542w_FWUX}*=GfLvNf?S#i@j*6C{~G=p zqETGcvF~(kMG>$O8E3TZ4{~2vjmGR>_z>}64-c(Lh!p8aIQ$nn;QbqaSvj#UifNVp zMiMOP12z7}a}5?j2C%dL+p&6vHPZ)ljK9!efi$n3G@uq6;!or1g-xH2=+Ez{a|gHB z`h;r%AqxEgfevzTW^6^`*>QGIQi2LYoyCS>p_i)akjlucNu*`R&2!mO4k>&tZyu1( z2%je8_5iCY>JaV&3+9G@z)OULy-O%a4jvE#-kcM!IjG=7?_d;R_UbByKEHqW@hTJq z5P{Z0q6uI!tkPnLLl75f^2_RRbx%IjdE^4pK?^8Ytw;cE1ttL~5de}Wu)@y7(6twr z!FixIdB4I}21B-yy?|sl+aho%O0Avs9%heUU@iz~Dq`e;8IZ%NOfYot= zlp2;^)2y}Dqpre>FOm$S^7q~~El3P#)~+3WBSW>0-=6U>Un^sAWZl>3>#Pbo3lFC{ z4p^D>@S{^s5(rL&d!y<3v0~^>HznV}J_3zjq^GEq^Q4p2gNx^!vIZ!#4>1ye05m4LHWKYzWl^5cEbrXA=4$QU!| z6?@BU16f#wKu}3|xaT;*pcXBULT1gU&A`fbL7||op%M~M_H)bU01PI*_{Hxx?Qqy3@y&|Fy$7nl@Y@06L$Cr(P&*I31ucG)kvb^b4oFRhy1V-h!&-J7 z1|J8*DT0MLEX*h^1iHy{1EB1{H6jSip+%by&r-=#se)M z8$WiV?8kkUfiY=ipuJwG;@a$U!YvXK5Kp41Cmy2n{ri&uG!0sIn}k*q+$zAoP#`2A z)4u&%&ZGPD3&pHGXd5YQ**k(x(w1isySy@xX>7Xl;m#lA2^Mq{E64WjZA-e-@c3itdW)q3-+OqE z4K2=pGbVon>U~BKh~3Rt;O9Q^hJBkGAorCu`bp zs8X3UNY3*cmpM@ZvpN%u^ITCNneGNGl(%hv<_FU*GD9kxMU;NeN#1T!B+J3?;h+cL z0xTIGIDoY94ebCKDqTYz5iF)?KLA zHZ*w@E!)BBF&R95pwwSoF*hdgD2Y*j_y&Ye@=ey^n1k{0 zMdbcUqsJLF9BmXl8%ip<^BZ)kfvARiz#r&ZV4nCmISu$?+9F050g&95B@9 zHr<_n>AiVv-q)ki&8;lL2YOB511yv4hxG{cV3=I;K$xoGc|pT@K^x|UGk7$@M-iYO zWfTh7DGz2 z9-LYxM-0QXJHV0aX>QRr^38B(RkWtbp4R9lwNh0$W2eCGHCKGq8d^OEyZQ0+yJTxl z9syN=+k_r?&U_DQA8d`AZx8y*3IY;xw)_hHY4pT0?Kc}JB{@?{4r--;za6}WPgGjv z=)va3rAdnFyfx7fz=*3rNaB4dAQz#tjrRd>Cn8CS4^MqK#gBI6;I~Kofp!w_`K{zC5CT6>u;|h6cWRgCYhdXu$9bngE`l!NX}7B>w)W zd{F?)MP%6c7cesX@&>+t3SN+XTL=w0O2WX=*GKtN0gdxz$O1mNCjb{1uBpDSO*h2s z7zfL_EFow!S}|Zx2sqW5&`G}86rfGU752&^gbMOJQ+F(Ni>etTI&JkQal(X_d#9YN zgVoN`%QAZP_?(U+zt$6dHI=cE=DLG^Q1-lj%QznCx*cw`CT)R#KtIuvekrhP$8j|? zwqla!TD3>hZ?q9$B8IuLu5XW)6b!)T3ii9rg-=IE4pOTLq@vZya1K;^Fh$|94*gi? zeHjaHOYpd0Vv~H2^h6*}?dn`z?QBvHheMAv-XcS~4-8$6B<#IFvjo&0AMl|&v=1NT z6Ls_*nzv(?-`sx@67Fz5h4iaM+5T$9gsR8mMm93@>Up5+jjk zR}!tF37R>9rJhDQ((wy|WTYJ^ux3PN#K5Z`GU;@YA_l}pKG>;l!?a6CoJ@hP?{8f8Pv@50m9px$}Z3e~9^JZHu{0fQ)`i#aAoR4Xj6 zsRBH&gTXmG&dtDMbsPl{o}*%e1t?}^1jrver-P5jKq%p`e884IRxXW;L5F+w8>)++ z+{KZUal{whC^^1O4Y}nv9I{LIBKMj|`f*K%4t0NMZsovKSfPlgt@WkU$Z z)LX28{Ki32aB=)RoE(V-6;hu6*1hmBM&Vo#MHC?DK@#2b;9B7kyAp8sq2obrO2fB} z2MoQ@)ZPkVdD?|RMS@Di8@-b3_>6jxN#iIqvL=qC*Z1%0xGP^22XP#HuB`Z(>+2$~ ztCLlKpH)9YAV7bC(-nOSD1L`u(qZ%@0+h19q(zvGG;-NP5o9as1blDpV0?ZZMmvv& z!~O>?wvLGI9mz9U^2yJgOEug89hzYy31cHVU`ELyzum0JI{c|` z+b-=!fdcv7nhhA=rj5hl0hxoII{7Zbf}{t3x(NX-rA{J_7Sr#Pq700oC6gJe@-d<$q?vsEdQ3_ z%z0kzB^G_+@**W6_@Xpo@h8dSPmz>ADfx4cKP7~hG^Ql{iQz~BF_u4n zXZUl);ZNM2G{fcAbGcpl(|a>t#JuoZbFo5@spbNGdI|Cx=THP0Ln*YHLZg(!1CVw; zqyvMI@F=6;SH3_$<>rP{cd4Mk>QgdNNGkdU4732_DP<&I812hzzaysKQPc03|0_2C z=rjO|m>TFsC?pnrQ|!I8(j2|<^ntd2kVNN}zF#BZL@*M8|3`w6a4Hx^f8lpydg=~* zO$Jk`U_A8|w%YA=^S`w^g<@rB0U8eK|3>8Uz3z#EVFhq54L@?tG_HmdUr*IGKq=?z zo!Mw&!3cb8M{z;YW+7NP=wE~fIuP(nfiwyMH`+;b9T#KF zNJ?OB{5AYFEq(d&B^tkqCKBL(cLe{A+{(YB_;*tN8T*(Ue0UyV*+oR0UnR5e+{m+2Ix$GpCV%cQRCzFNRh)Cq$-j-CsP6PvMp60yt6wFiJQhx*gxQe4;PMHF3=SAr@u4H03IS)y z3;?uU3i%%^V-7|c1ql>?b&8>yfR#+Av4@Zy#_`V5#dAjp|7CPDUN_kdrI|Ab`$^*| z8X6W+nqWv1V47~+(0w5a?mO5@wgHwhOC~5j3luM~YsLfsdNIFhY%Efd$Z6x=ZTY^prX%HlB53Y9Yz%I-DRjhi zJ-clKEU1whMLAr6{rBc_YfCw}{`xJrL1cjB1iztf??VNkmaQLnoa4kqFxLVW8VJVb zp~9hol$&sZ39~UKqQaP_e6YG3sQ`3ByK*9FF4xW3mfKs(z1o!{d2_j3Q{OFwuiP!m zV0xhyfqtT#p6vjC0}vKe6s;Of%S8+hj%CEps2E2g`Q8i6K8yz1AG-_Q)K?3{$3slr; z2}^v1O^}4-`<40XSH4T?w_kw)6^sJO?9>&Au#WUH+o|}2-=xmXp9D59i4_P@`B~Pk zFbNlogYmC<7_4jZonjxUU(Sbq`foI@sb@|kgER^X7U2aqd*IoTx(5C$DNmAeYER0k ziIlQ=;%sVv&|9P*3#gb*t){mYrPztAZd6x0^1!r+b59{ILB_8$*v7}rCr|*bDr02G ziS%+sb0n?YMaKpl2B85R>orKHj-F*}9g%&Y5uLWBVj+8gAS#O%6B+IhI;y8vf09Q=nizw{K?w5De?!q+ zFmU^!N%+yKHfD*5sOqY}#=oYS8%C_t=;-j5Uv9rMHx#{~IZAADzx)#a4s-J;fu>+e z6r@ZEu|rcUjv_d6XVtF&7KX7~ar&_{p%n#vlmhA4t-Q;E=nA*YRE|H7z`?NM%cC<$ zq5TPeH~G;eFw}EEcpwHPl>&03qSl6}wP6-!f>uhHF&PO<48mSUTc-tTICI`@?V3Is8!X4wAaf6ija<4k_5bycQ}9)eA*x%LgawT zfgCVIPm{+-D#8l6QvzV(YC#K11p8j5^jjl;^HfNCpJ-s0cKMY+(uROgY5Xw2&2Mm9 zK&o&RNvZqWN~E6%j+nrRooZzO$&%(}I8RZyy86lIwWP|x<~j&Rpg%%xEDAT)oO>ll zOOoF%03!(3(IO*=Ql&B$pl9z-Kh@Q9NfI9L;oKt3v|@xETl<~5F4mSke#$LR+sXic zJMbZ2c~p}v6%?0pMwG7yql@AQwH(2+(Dxu+;gwOqXYcqraRoXbtO@*JuyTESF4BFG z&gqIh${s2D*i+hBGe%EN_Q|LDM~B=Fo^smTq366rD{;)!XBLcQMS;ZRNLy%eZ(rO} zP$j4KU^X;cA>d{j(6us#glzIUiVZ-je~dspfZXhhST?6p%Ko- zW)#ZEuEt|pKnLLRd(^rKpextl^Mph=lmqgzMWd7N0*?;bjaM}kTAHFf@tonQUlh3z z`53_99R5dT?rQZ>ksN$FJ4b*SeRZYtJh04gyNln@!^0pGgI+`P(6wVsu;2@S!BHMt zxT^Pu$a_S%c-n{_PZ~q<`j3gHh%&ojhx&^Q%j!o&eVN3_F4*fs;dE0T_Uce%2Ee>0 zKn{LCz~k$C>zK$-RN9XT$dreK#zR8Oqi2WE1^675Hs_2Sod0N?Rw7_LkIj-~?DH`= zhWA=fK74#hT?Nq)WsXf6o1)f#8KV}0!1dBv$w1yP&|jX$msRktfx^k=T+2g0wm{Oq zew8ysr=BmsL1z;Fh62_utt#EwjG;|2C_-|Mxjg0Fb!UXcPty?$GHpeK{v0s@+UmK}(oRwB@A zes)AFQFBhIM+zTX^hLdjr!5csc&rpSF&DK6pBzn7@C+7BC6hO?e(Yf^I#|Rg#uT=| zau*di=&^m5<#J|C>hJ`=GdbOFMCm75BGNE4hPogcQbe6VuwOYXc>rbDGj*L*x?o7e zFIQE#F|SKfiy6`}QZPn;H82@ep2EnRQw?HRmxLf2(~Ub13U}j<*=CL5@+Jpdg!4h` zG0MSB7&ENQY~iEK0@`Mnh|sH5?Y2W1bQ8z65Jl++#If9oY-0xWV1#`F*4%ud>i~rq zFVBp}cDb-tUJ^|yh(Oll7O{g~#278;-LAgaCZb)$rtDLQo$M%oBWkv77*egvg`cF9&-5QD(;68#w$s8`JY=yY$fl}%F_v^?()I(8j!Pu2f z(+4L@!1ifJ`fxCR$27C75(N5AX%o(5u(X0q z)Q)F-q!h?Id_!;asv%fyhfz3c3h6w|t=vbr;XW&DC`bhfzt)UG4j<>qE-c+uN;^+Q z{)1S-P0e$EaRTDjh>`6q;XY`u;UJ$hh} zBjH+!IFzHek_Vf(GMk~NQtfscEIR9lv9drs12v18t>X8aw#}sI4(j&BZxoM}KrQEB z*&vjcJY}gfY^C9K&>)@gUWj%t2P;_e>&#bIU=db-?0U>xCfTXp%2AOtZqylXG6KZ_ z;fniQCqx7sO4aM*X6F~B`jaRV?1|XsY0xwVaNa)HH*+`DeJ(gstc(tpbu^ZJIvjK| z&=JprvSX&NC-ExmZzt_*^x%0g77n8cXcCLYWsh|;;ZaQwNpR>Y?2&D^8)*vI+6q{^ zy#iH#-nt=trauVx@gL7oaGj>xF?7*L!03^{#<0Sbx5sGD+LGlxb05Zbf5M?TpJsR( z(r=&&iZcC{eMqo;msv4-n>d$KZTb&;h|fs$OSrr?M-$#t+ite!D`>9(f43QOyz`D* z^SxvG*qmbofoiR4LJ>Olm*XrB6{PRq!*G9pG#C#%y@+B<56rt@V%*^OV~~`xR7b|E zGXM{b!dQ5Nv~}6VRezK83#&=@g7U6NFf2_4zd`d?78l6H16R* zsYtn>&KrV}kp5s$3XEV^?!iJ!oTlcqL{Nl8VCW}QZzoOIR?fg}NXl*^pg6L&C;?i3 z;%eHWDhWF%S_S%2iFTX_#ujla9&tsIU^q|n;JH1K;c6^-kT0wf_Vgy*kEU|?XB3W}uu|yP(*hUnN z=pzb8P()#izLUqhw=~rhlpPZ}V6X>&K|Fh4jHvoOxDM<(r8MF7t1fj00sBNq)0;W5 z^~r(?iPhs$*Ds4*gYsvzZEcQ#&yxMj!5p^Eu-@sjaQF+jha~#m!P<2X51w@p{^*7J zfVVJl#Cux41f<4Y(qRtyKrn9{*fYafT(57}Y3SirgGXsn-cN@p{3P#iSkGI3udWzH ztlA&PDgxOq7X=~#^~2D)8*sm7lt&U*@TCbuWtD6Ws!v%^#Cb0$ai;C}&py z1p?Xw!1Sa9eu02{(3Hl_(>gcLUm{W0-T!t36Nv|Sz@S5(pqh-ASVjHS+6F@-JAX^o zWwnLA0PzW>5Zpac9#k_OxG8hjd=4j_V@7;4)zX>trX0vdFucUIU1m`DC48<7(b3Lf zim^ONupSC;*Z$%O14?RtTeq0r=#Wdl2a6IMC++#Y#P$j>aCo37kVsKb9xrp=jJ7EZ zgN5VMU-cb4eERnozSsW@oC#0yGeLeOVnu|zJ%v7ErxY zkaUB5Z6USG>BNY#gB)IF4@VpRjJfAPW`!J$P%pZ3Su{ZxCNjxkR9H}Qifco1ye|WvdsGDAhOW@?(Zt54hQ=sUw-w}Xo?BY z6oXL-t#xECTji)%&NKM9`X6ocuxVO{3oft*$rTHXQLI$hm*$`kxm-bYaZw!{?GZL& ztZUie;M?FO&Br&xQRov#Hp7;g?$GC4y2zfcHgr+kTu;D%H2Uob$Gmg&liA>jBgqD! zO9dB6QjaP((OGp-o{@?j3=BbNmqN!CQF~NcF;3yUl`TrV%P>&vO5Z!slA(hbjA?W) z9^h6fHctVmiiFSateZP6;N|FT0t}(-W8i-Pf&m3IkX@qCA@cX{KD*@fm{1S<6el_T zpyZU0;83Q2bkGC!>du4%ZBL02(2RWg52k+5vOwuncP!@tkqLc$P^gYwE691DhE z!Ca!uHWfjT9%RviL~;gQ!5r2pdBHiu8QXEc$BhwxrusG-Y%tB^(S-@7Rx&G7Y6ddE z7=r<(<^>tI_7|%9x%QXrWO&>NJFA~^Tq?abrFco|%_k-8m_DL{wNpxDj6Z5kVSaY6 znke|&D=13t=UY}5d>vF46+f$eWj3y4N?u(tzgWlYW4nuboIk_HVvgEaTAx41&{8JF z1=f~-QuUkm()guJ?>|S;R2DJjsFLYBs%3uv{z~~V9V|Pe z3m;jK!*_bU%GGnQQbPUX&G;SXDp+3~zy1L?g~ZS7OrXp0R*Z4K)fc`9PHsaJA}V z&8OcP>V5^RKlsjzd~G_YhHJZz(6ON6d4C^{ct27vD~;YlXH#VrFiJP=`jycxtkenSbN`6B*+xl>Gg)sa4UzujxVAG^$b zfpK&smHkL{w{d*j%?N!_PO)uo4jFGH{S-c&V~MDN>!FSNIMsn1;?u;V_!zmpPu@epB0eVXBey}YXb|7O3+@!Z6PRKbSlMQOk%fkQ zk`Hu4lw6^7>Ije`D+zipiE~-s`DS&+G6@6JcIhq>(V5*q2&hlUL#ACQOp8OO8JYGV zGYb~d*r0=E4x4@z)C24&5YIocGHn2K&K!&@&EAMwWG>DSybI(RVtH|Ld@PubzJL^g z9{>OBy$M4iOR^~ZS8V27FV&QP3W&Bs)7}CK#THb+y`An7N+@OPs=}p}|NcefUJFW} zbLP%_@0&Bzl9g*@WMpJyW@H4djLRy;Ogfuei?s7`BrPP8r5Hi|;7Z5{wr>Q(mgEm;m<%Dad_}J|~FO zwrT|*KPF?UT1eS61_hDVYmvsZxF@OFj4BC+1=IJmRRgQbVvSP`)VGydz1a7mzpckg zw&RfpDDh8E(^4Bl9lXekA2m@=5PismE_EyCJzY&l2Q(I;;w_DTQhF)U@H;xeF?HzZ zL#E}sZBQfM*X)En^DnU8*%;D-tPDOZf(@Vc+sj9UBmKEGB*2@0l-z-MvWCQHpX*|(T7e~l z?(CK0#!+z`a6EFG#9jUzs?=*t9bphD;)s@WCpDhi&AG}AMm&tUB0%FU4?l*Y~)))2&oE zk(d*WSTVJ=0&y>+n7t+LWfa@D#J!9(fGga~*v#;0&>ZB$z22sF&0QrUJK^>cTA+&q*z1xhbGahtn zGiGjWyntJq=<(rL?7uDX%oa)Pgs^*^#4ER0R`7)ld;X#C9MyI#V6*tNl#h4LQ+@fEyIYk!WJ-xcDOM z5a-jnFhZPncCz`5t{NhSs0?HYSR#gRVTKrg($o3O3<+nR3A{xNzK~p@Swo05_K{l$ zXN0_{2`pf7OW-W#$u*~)=#y)Zl!&||o?Xw)`JP=|Z5F!SMUm|#=A9LPbiwwoMtMgb zcjtL9gBO@?NTQI#D@~_G7cV7k&I+dF`1dViDwvVAOihei(1Lw@yWqcZX_L^*0Wr9L z$OR1I#XDwrW2JNDO6R_}(y5zlmoImeiF5HWG_ z0hS)fK8LJ;xli2qq<9V=V}x){apd*Z+yM_Td?g9FetJ$RyXF><&vHGHUb=SRrkmbZb)%GG4^W8eP-us3r$iD}MP^AmD|2HBb zT(}6U0JSaMP*egvUB;lNlZBE(SlUC=5+?j(&iM~ zMyd)Y5pJ-8vV7T})Z$to0=XVi5mS=1cw4gQ03MaqM$<{~K$-%925V!IRSQ*rB>5zi zEC2ziNlhVLrYCrDN87yA+;ckZy>qvKZOfg=LFyaFn(rS#CX|Y}+Joi$$S=G2;E2A` z1)>Y(>kwcPS`b8HQHyLoZ&SpDC?kl#Mn|6kVlzjG7%5$CL`Ha(2GgYS+Ro#mHfqDA(0N$TV|vWbPxM^DNRp*BzeQ~XEzX#OHxDHxyiH9IC_n{_aAHRUu>yi1bhDkSsJE!aY-OjhP~aP4qDq zTuQb1Dm#B4lu?ZW3F>S%&qveCTMB%3RNYe$W#JZHfLs>s?kupb zih+&llf7@`QF@#BQp|{l-*bn6J(YV0aFQqFXe~`&W5*?B3S!p0qe~O352LDig#?b@ znq`5qfhiRu`NScAeclvXw0AMhERnbXUrNLrYf;%u?eV{8HvRRkM0LjIZT{Zw)SsI; z5zM{o2Wb{3-M%RH8^z)bc zJ(qG8>3kHHzXbztFU7GchC$`l(7`nq6Zw5P&168xPV^fc{n@*@H+!`Ep&Bo&|j&uM2a!JaNaT%dwQ7^J(GES&^fK0~%+= z(=Fl6V2(S2uy`C$hJj80X$X8QMKom6T-$QqTFWts)^5I7QBx{0GWfjFir;W5P7j#n zQQTv8$wrTVW+tW-V24Fa65#9ES-_eb-XBZ-xY(^{7`NPx3o)yRC~$u3b>f>H3`0&j zxf1DOk#^uS(|ja*y2z$BPxjaJW41KUEJa8^mG4_?-lgr1*%1#_JW-KP9$6>kBV4); z;Y3v@7*L;9u!Tw%#(gLj#|yf@`16z?2b7t|plGFkSyv#AIK5E8qG@A-rXaw@u{L}A z2=y(eA?hsq?I~u12>sT{Y_Q>Z2Mffe>gTjnsgD7ZsIkR>`SuA>98|Dr#>vJv&74BR zPDbAMOhS%=&X5 zjocf5_z5wHZryk=L2OdO`<(e*b4@=M=yc44UmCi5rYTHwy_je>sy$~Pff2qt6BJ>+l0GW(6=?jY^PZ&Tw5 zIG8s=#W9CLe*-DMQ|o`|`TtFNUfc+OTHIph&0ELNZ5La|ltp_iD;~9|{kdqP0X8eOPP${SxL*RUU}6+n>ef>Uwv3OK z+ZBfWK<53BW|yVRXXG0dIHPa{i`^`_VXPf8=2$EZ zD%j$z_5B(P+$o#=jtt7Ky%|~Rgd%_UYA%9^c~=j!`IBwop^w8=WRTuK*jshKg|)dF z1AjB>-oCStdM2Se0g9A#A;7YKf~Ws{0>B&v^aYL!HQk;?&Oz-E1B@!uI8g=_zBGv1 zlvQ#Fhh@UooK*%wx06}T<}-QwbJ5+&J20kjBuM{)O%g&0tP5Cp6z>FV%^aT%IIgO~C zFra(K`-VD;@O?X~sJef(W4@^Jx)~ z$l>5TsB}*SfPgJKv&DHUUGViWcT;!sIWCMazw2Us4F0du%SX}W)8q}Z%={% zzj0$B=gLYv7x}B-ZHf18<#ags^6TE1N zD0nd@a42|qbIk0(2XK{XlwRy?p+!|8TA7U@X)#Y?S0c_r9b@R|ypj1;}k8QqR~DjstKG7oz7@vX=FV(JqtRxyu5;f<)bs|jvrS=^eRjm*XSXHkYYa_-X;?*Yv@hU5j>eo2WU>W z&>2{sxAfGZW8zLbP&Op|7j6F9!nzrt+t!R;=_EtWvjjyZ8spZ$f3_zHJ<))UJlIQT z0QM5Xy<{BKxXEX`yUO*ezVm)5%5wDP|J3oE8)xA7&(tX^LBorB9VN;xFDD)__rOj7 zHoD^u@z1^bAZj4fo6REH6WDF*BBRyqn$p4zGb2Eiq zR>F6Dz&b!RUZMcLUj+N+IirCy!h(VjgcZg1n3_9_)T1XJ?VBN#LE{5?YONh(3OAN# zZ|3yf`}5oJ#&)?sHcQ73cF8z7cf6d9)J&fyLnC0E-p>g?W z8sxvy!L50cz3CoI8q=KL{+T;IZCQii$>wuue3Jd-WDeba>GH%K`fazichSC?)=xI4 zra5R=E;EN-ueW>7ner}tU{iAZHcWgNR<#VNbwsGGdpPrp(E{_juhb5zRbl1xrSGR4` z$O*g{H(sq)IzISW+N!o5dp&b-O2TK4PW5cPcU(Q4f7Z;h(&iabcbhOJU<_t3dd zZ$Ea=8@0=`>b-Gn=8TK-CzhpkT5pVwJNv&noMw#j`NdY*xZLWMcxS37XLn9IQ)=CB zx6af1f34$_4YOIZP3yezaC3HBGmb?!s^eUy(K^{UIvH%AHBa~3t&{CT$XjW&&1bdF z{q))0{Ym4feOfA=nuBuNJiR?0?3dd2%{JsergaZ~-Td0`cZc<-n{y*w541Ibwz}2! zedDNUp0=P&bgcIpzeN7p<=tb=zk9m4%d||#e@!3P@3(f<`Zl1xryBMRV1a&al-eh! zWu|4mvQcTLo7I#1*51H;LU=QW<=jTSm3yjJ zjNZ-e!0C=kxyvobf&8^*^|W<-+T3raH_ZOV@ngL*CjT0(9Q=0RpMn1jBLIJw!QVe_ ze_m`=(xX&uG+YS&_Rad~^wNxl--*C~5)c2)dMVS%-qyzVKnrH`^yI#J!p8Ol@@&$7 zFz+g6j=}#3_1_+Uy3Dk*?NRTzeAmy_pdXdo+S=yb@z)m6f^F1GHDh#a{yaAJAb)AE zTsx~ewKLN(YGt6{v(iy#w|CaMwYH}>fBV1spZ*X2x4CUpQfr(3aqsKlUax1I_Kxn> z)_#)kL&S-fB9zS zxxMl93-|#UxAhA;ZW!K@;ZjKn?<(N~79PR6Re!8Bjh<08zdjnfIH={dG?1QAsx)rh z^ZldIUfnPV&Z;GekE(*ds)E0&g1_CS#M$oo!Z@=OeB3Db>nQlM75v?vNu1q!i{h+Y zmiQ>|DdD;jZYtq3iL>(g!Z_Rae02d<7p< z1%D3;{vH+lJ?~1KJ$DwxS*0QIQE4gRb0yqS!hMOeinB1z4lgA>4i)?zDfl~5@OLzk zI6Hb+n9kNDK1wBtzfxJ^uT+uvE16k=vr@IbD9%i$Ch%d7l(1J5xH0{Oe{s_`Wxv}O zO4yU(6GI7~NZg#g1e@G(^IH&XC7QSkS(C2{t1VZOCHmH62G zrG#@zcw2^H%@#P@t8kpbe@bZ@VmUw!JXl+S^d@k&@wBMG4oGa6{s(cDOK|^=lFzeFcAg1%Hky@#Netil=g2 z;;Gz_cq$)CJe7~01#Zg63-hOaQ}%m*UkM*7;kFXKkhs~uTo^Zlf3(EGP{Gqs!P8K| z(@4S7=wM+ybrpQrl5Wa91%G`7e~#o^WoKc&_4P>N7;s`Bpi@`Id29o!c3Lvja=wj|%=CI}&G)cZ=ezQjz$mm=b@Ls>EMqSK_Zy zlYFaETbOUv2NECkpGx>a38y8V>YEGWDXrist>7uG;3-p+xXBzXjGI%X-{%URE)+an zDtNLa->Td!%(ohk5(kZp65dq8YchOjN<1A_7sgZWUg9H{f0N-21%Dd~{x;GQXB(du z#@SfG$3(%OtKiR5@aIduRq+?*TZf+{K8_3}TvftfmGF_o+0pUBINLs!_}EtPx2@nW zrQk2slQ>I_7TxnyJ}LOvQt-E};BQUh&om_8GL41ht>ayZkK+R+e5`~|m9Qmoc6_ra z&ibV-fscOqe^?3MD`APhex)vO)~vJ_r8DzT!N-xrpLs0l$!ssopPI)x(eLJ|61J4^ ztrEV^3EVV?3*%;YB>TPlNrv~1l<=JrUYEGpTU!`6y{W`UKPAI=hcbL`%kW?-aW-6- zZ?$eDK3Y8`JW#?vmGFbaS?g(GoE@|!J`NQ89Vqy#e=GQ_-$|U+7e3!Ie<}D#EBMPO z_*-ZAljoX8;|qw-bx3^I`dTTieJznYjE&t-cb^VRrBC+P?VMTK0%7xf4YuJ%vG`lp zHpH=~dTWC|cG;y3Ij`NlOxx$BNhiDQTPsI>#5)wY6=3-8`Q>*f*E01N-ct z(d%VfN7GO1z30Z=aqpm2y1QB5hxOge)?20L`Y+?T@oc2)?b=iQuCrb%r+ck(4)Z>= zPfOM2b2?o!t7pg0P%hgXTs#|o&1^h$_6FYNf7vC-0JX<@rS8}7jAz&@__f`By1Qp= z9z1Wach@`9?r?B_dA99coaLs_?&yHRF}3!Z{td~${n*_dJlu@xo3-6W|6*9ZJ8B!f z&hT`2)UNj~cTb(0-R(Q;SNiGj&e*J%OZ}T+)w9nVgQIpSS8tCW?TYyXeeo~bnepX0 ze{37qq0HIIcH_D9*jc~dhBWvc+;)b?5YCZ9^@BU(v9_C;*t@6q=YWsPyYv%$4XSsCOIZNa3Jzl2R!|f^L zf3CM45w79Ic_V$kUixKa2aiy1?;_iOe}*ydpRZRR&$HXZ%TZ&{t)%_BQ%YNV`-6+K z=C7l6rw9Fhu(H)L)_K0(1Xxb{mwVWD>DSHf;O_FQdE4FXKVy35R~q`W@r<|woZVSx znSOWo1oKXAM$JKI_|(71p59~n#qcT98CEyWvyF$F^HLw$hO!VIHPR42xfudZf3kyV zcW=K>^Itw+oMi^2jlJ%`I_r*MjIqD&<@o^W2OQj;KppQ28KK9(0{12wmW#l z@kM%rx~2%v#kmP^j-QYoj2ce6%ERS_V^-Goot{yteA<8RjAH*~{_|h#f4S0b+1N9h zyx+WvBfA9G6r*X7p z3_Rn_JiYhxxNp@%zwyp3y$f>4nz4Ulyp`w1SRhaBtvo6&(sOXZ>bZ!ohxKc^Xuod8 z3&8xiK%O`8qxP%!))=!q&H{Pv7p0ZS0(9_K=!wDOEdcX$fjp0k_RCwKU;YC9^53c_ zFvh(F=-@BYlZuPf0{Dv3e-rE1c+q}Y$M3^z&6#h3Ja6Jhh56?K{rb!F6rhy_=-@BY z(>wf$!JJ#5Uz>~e>tTU@JuJ|#v2nN{t<);FZ_z>hX_$GqS--&C-p%>tI978i)kFOw z_=EcbGn`tADPaf&khi1e{0F-V z7+WlEALR2cZY~X@1G4w8Zm{0A6D(Xg&SvhdGlCx&gB8#t?(my-VNPJ&x=1{pIdpdWp(qrKfw8ePt4X zwcb77_iEz%>l9>Gf9Hk(JNeb!YupF(mo2halsJsXu~CI#G>jH0)|1hT69Uu>n{yoV zO0(Y`g2a4sV3gO^`p}Qjv1c4)kE^BB+Llp%H0q=$kEC|US9v=A*}}G}R()D|rr0{} z>{fqKMKq7}8~^O?HPUR1C47~d0JI9}o%K*U#ajpP^y@;>e`G0?PQKSk`Ejscr2Ynp zEI$f(4*q}p-RS@7!X7Y)pHdY=kBHB0%yhJlh^-0d= z(!hV3=?+2g)8Gc^TB)D&U{e;hyTAh{7YJ&(Ydmz%a$)#F3WOy8UJLi&LmXC^>)A|%|L*TLd3xt^Z+~zp*%E=dvUmD?Qx@NQ z73kx|kaYMb&UK|elK*U&d2H+|I1TW&8pAf}Bl)i}JpFaac}=ct^vXa7J>ZVDvQbSN zrwo@3e_U5er^i){FEwkm)9Hy(8kaFEf$k#2v&z_y@|FYuX~styBNL4Qh(GQb!LcC* z34gw3$QV7wmA8WB_tvn?FXU-i+5Ucr=h14&m{jF=U1Xx)C!zFL@f8$VjFO;4RrRRd_ln!Nj*$kx|);lDu{dar`zpOK$;Fw@={mM8ms8%2>l1gf-!e{XRwSSt}3 z6Fb$zM>w@Jlu>uFeFuTAO;ARyWAF~Qf55dhg0#u6%k|PdLEGN`!_6*PALx2;yGF9? z?KPasb&A8zaN8q$N`hj_$4S}U{mkWF6J>Xlrv_a`o~ngq!Cly2pYQiOdvq~X|2sGv zc%5}JhJ&By&4(Kzwq@=w&S~9rcuV3zR{hQ(53&-Pet2_dcl=e$^PJu&dat_bfBDY? zTYs61JqI6+<`dS9Hy%uVJE0HkTR)#z$)wZ&mC*h1gokI!Tg9JK+kI}?1DibiOx%pS z&k2oLt&6s%sqYpWN&-H9rB<4Y()y)ZlD)eOfUZ28{gUG^Vdv#2X0%z%tHS78OEkht z-{2O%+aJ``$&0G8j4tTe*sgLC*Ai29XI2IIRol6k5;*)R;0X3okicJ689Kyyp)CU5riCz zvOoKRH@33he8fA8YDL((uRGeygXJ!Hb06JO!&3>Z;H`RY2hHFUhxNrDe^hINyhGP* zHbv?9c*Io1lH-~5fp*Bq0(-VShMfrGHyj|B5^4YT0!FSBjhu|^unoYfguGrUItPxfc-AaxsB2pA{|PBG$PDdSFLzkKzY zifjK&?i7>Bo&1%x^2=DcOs{OGzOAfYr}Em4rhUt>)NgCw)~^2fZEfct*B?njmL*`x zfA0L_+uHTVZ)@7ef2)5M=m*KPjyVdLP9l=ucCP+Og2{he{S$xxSkpZQf~XxEC8?0; z7S~AQum9A(twJtnVy&lJYApN@zCO@^hP7OO6gkJmmzybYF@wo1C(VPriVx(Nz_6U6 z^ZNQS)9s?Y>buSm2L40RFZ%3*I{5qGtXhLd>)C6J-Jvybe|~XCC`)z$vFaAd8s}jn zN$LUMgR9Z`fd<^EW!MCDFANJP(g-YEq{tHLsx3i5pcOv7U8v3PL!~3$-VuB!X|$%J z>kjA{l&QMo;gJR7opd!q0+tGiPa&}ug#=~~wg14Nfx_0R*XhFw!uuOR#13SM1=e~4 zSPLE563mTae=s-tGngXgaSPOK$96pQrhDt%4oz@P~8`pNDjX}nh8 z<%)x=%(YHqA)LLQ$r?ZKDp{!_RIQONbc-((NBI#$mQD-hEmm5`0(oMC1OT^&ULKKy z0iDRn@JW94Th}7ydm(}cXLJY!9LX*RmcypgPFkXqe;OG#(lyfGK0|=sDfU;r=?!&5 zkWB0SRdkk6<5patL#d3GqD2ec_+jm6)S@X%W;OHvyuK#8EJ%__A6f568VNxX`IYM# zvzp)KIA*m+scjCG<=>*VE=c&C#uOGnk%I=>2r<}laoynq>H|Hzz9tfUKz*PI@=XTR zzgp*Ce`HYos~r8NgX&*x&`&X{{?#UlnGsr;>4B~UAVa%t$dSAWhNb?7vzb&5wFf1XefYi6mVEM7&nM&8@c9^)1)2IN#_ zt!zCHZ^i?Ui^Ol`A=d7I;yhpqx6Z%^kuWKG>WiMnR#CA*jCCf&uo1ur!U9O%E(#1F zx@fvXjOd|6J$O#S!YeFZIZ`C3cldBqV$2l$&z9Sps;20vFHed9YNANwxbm-e)DKwp ze+&M9Wp@B;6yl@<>seY`g%(T;1vj;CCmp&FLO~Q?^Y3)h+hG|%>TpIj%i!36L;by? z=qfj_LNy1ZxE7uXl<$pz10z7>aA8(VAi3I+vppyh0Rbh(q+(#9D0Gc)m+aTq525wl zDcV<*URM3_5eNnjE|bLWB6077*5AYif6U>Mnh$eb2y2D7raaz^SCC5{+SX&s-v9iM z(%jN;imrHQ0c&X@;vcNR6a{wHbJ$!F29M^d{GApF=Nr@EjqPgafB zj?cm~EpG!^qN8xx{9#A#Ko2{`z!BC?;A{29LCbm(p1Rm1Q)g6x7xR{&la98Kl#Y`f zEyiAX&;$6R5T$k^g%ZS8Y$f44K!cSU`5s z&*AB$MpatltJs!@x{2Rf4NvyN+z`?6?BqCfm`NK>yQxB^pm5C7*>*jo`otoj@qqg zt|Q+IXN<|E<}pqxwZrf2rcwSH%t=hiwq2`pKPP(#Uow9HY0(0a`c?d?*;Opc+zKkg znIknzthP={?OOZ5jO%G@dPB_qMLHWUR6a0`W^5s}{_VyUVttMlf1#a@DWLW`P(tZ= zOp!RSV!B^#8oS?*nulex)e04CzngWl zxobAc7vGK2VUv$4f6s2h>ff_RooC~QSd$Et4dqo*f$ugij?~I3cE^35s5KyN0J`s_ zH!X9wZZ_H?J7Nkz#cnYVIgxTFEwc$^XoSn0c(#kL3nK;Uu%^TnsKd$k>{bu~N&``~Zj=t^D&fTdwMJ3dCk^wN0~0Mm1(7Yx%Z~vT$TYn z3QwOz^kI7s#R8fz_WR8JlmPbE9AK3u8;9TFtEDvB7{hpYA;=(`QAXAk$Y^wsXGOEN zAY<*Y5y;zuoB&5ObNR4Qt?iz`toVLVE1Qj$87Nm~fBOczd*F2J5nkQ|YG7qx)Q?Ya zD62;80Ebdk!HPBMZ4|vp4AlYL;1ne~v)QgyYh{=W^Q&vw?gNN=xEa26Ixs(evtl~g z7O0obzB$zr{Jv2a!S!1;w2k&j>-*tJ`{<;N!f?A;E4PD{_?AEQ4yXQP>Njz6I~{*s zJ-9t+e>RMR2nEwha6{sbtbwFwb>a!iR%YCsob6iO1ek+)@xmIwj0l}L!$Vawt{ttt z)+is=k6=+P!BS0S|8Uvbs52f;U|oexE8Pr;YA72u>qqSiUTT00)I>+ypbRWWfSSX*c)Zl#D2%(rVC(bQdwEZ$8M zdAo6Na9HMLT^o43F&Kev&XEsG+f5T-3DIG;4WHV)6Af9P~{KN>%d_!`gLto)&@^xDfz-|G}#e3%<{ z{*R7MF0e5$7?U6Le}KQv=yr_1#IqIzX5=tuzf;`n$TRt$cnr9@y6S5$e*7`+eg_Zl z@C0uM|Ip(&J9r+)eKmOY;C2;10FzhtwY-J#X)!fj|8a#b7p|AS{Lm0OJe}0|f6>|3 zPI14ZUv%(R`CB)oJ(0hEtm(%Pm0V5jXvJh=_2W+B75-?+oxJ|~hql&Zo(j$*o(kkS zsyrA=+Qst@y|F~A^TbDwt!esUho0xzRAr_!aA1#tITZhT>g5Gy*2IN_UHpBNEOXynJBf56pGasa?&HTP;!*Yq5cQVfy4G`&=UjuL zL9awIh4>|MpfROqyupvQ4*ybFP0wtKPC7H?{xGIXhDVX`Hqtg1MjETVe>xZwzj#Mu z=$|4*ld4Igz~XF7<}xcoFC93BSRT=t9i_aZL38Z19Hu)vi?;&`SWtF$Gae6=qudL# zm0;e-F_pm!q8h3|gy!8vhhBVgPz#Dfc6KlE^5}H^eqN#s@5h12^uF!%`o5ZwB?+^c z2hyF>Sqje(N=`Q8GdjxXD;acfeuZ6OIv&8Nzm16lMd9 zsWnK%j4}~>8e}5uj)^)?0&EoNbrI7}BHpzssN5QehJ`H}d1G}?fAJEfI(A#u(5`hw zvO-X#4T4!V$n?%aUX#A3T;wAX;-oc%!>vP z0^U1P=Rum#-sR(j{&a|*WLQBGtHLhR6#?iYF1>tUv|1#K=u0S@>?Fy?npG8xS(Fwi z#Ug|57r7H4Rq+A_+ujKxK{hEnp32zkA7KqAycPlBbx}wXf0dJ_fuhVDEXy9pa#2~F zFro&T`{LG&sGQ8{ZZJ~9yE3;Y0l#9RJClJm8ri~Aq!@(6(Sgxum_QG49o%`ZUy;%Z z1_9>7QNw=n;|PPWc0!1Ujg^LZ-cE3JT$nWqt$m=*H=XYC@`pJSYk9fR;hxQ-*g%~o zs(%w85$5fee}8@{rZMLSrWVNne|=@m6Z%HSQiKosK|aVm-ci|AC{qr|Ia-miIOvW0 z%s+rjSp)vj>4St@9#2O;kGXj?Js*$_vo9^{0;F^Al4unnM`R-W4&K}f4_P5sT)qkG1d2}J5WARw+&;| zMZmQO;V7o(Zn@7OBG{;Q^>XD*uc@-xl_x?j3(bPH+cVGhOB|Y@cp@}}{wD!~DA@;i z1+R!c!GupsMmYWsg((jrJFmb2L`w3HMaSa-z&Akc8-=}M0DwU+X(39*YT zVV)=we|AFO`KwS#;`oh%5~@UGffj>h1n_f9WM~OMqMV3g9GO}%!!rA#qbF7mM1QTb z8rD%wswLH7*Iz=qa70T&lf*+b%RB~?AT>J5Y+8<|OE71FnxmwNBkxT?7)WwYlHa@Z zPy_EW6vA|^N01tNt~Eq9LY~mb#L3(g5C%{be=J^I>jAdH=dUM1+38uIDu`J?n<6 z;etYl6A_9_1*Q_u8JeC{JX2Tr&@7D%e+m~C!ubLjIjVSO4u!T8_{;~LYKN+%G9?3? z-RLH%8kQ~hqulj&fRb?EC(3YV<7weSRSwu9gGwBcGet10;Y;TAm3UPTlOr3&Xu~t^ z?i^Y0SNpk&Y}!}ORH6|15em6RRn)jSk&L0Pd87oiLVAO|0Y@k0f1t2D z+f*`3YC6lnAQK!F^7uRt_RkDS9ktOddxb`ymjFZJ%poG6nDM;+5TtOIO5SNoIJVK zsF*}guF>Y%80hwD+QJt|+Q0`jv3e?y_We7Y*5 z;3^*}SMo}^?+>we4xY;AWfi}0wl>dlu4Vq`bO43HZ+7si0zHo<_+TaH!yX+ z;)R5uCXiQqu(fW%wiWkRBKiUF3jkU!{1H?V61B?ZqWowziXm$BVrg{G3DGIeSt9gE zF$gch$*={h7&s5Mcx?*Mf9=^srsNUb2W!-^yF$VZ2u)NuMwVuoWyFK!3@rMdmv}f2 ziGrR7z^Edn>^%9D-S@aRYerzIpdG-bx}T0jqFg6Sh9~@ReY#alu;>X=V z!Z(gh8|h07Dnz&LoyiG^VR8dc<0=y4JhunY6QB&64W`)XcHndHf7~PwrU|y)=uqLH z?u`ds)acnw<*Vuxf&5+9 zx%Gw1@uC{bJhB%fIm5Xm-7{gM8cXx|Bz52f6&aLag0(;3g9^3R9h(WE*ruqVmT?BO?!E(qk7W@$$AT)tx!7rki|0VtUnx;ac^Cidv*x4B`zoX7? zB7)ow#=tOFH$U1enmtZtd3bC}aLO>_u%mH=*Tc9*<^RAzf1wy*Ch*F`L6LG5n{g#` z9oZ7l^#vtZI>{oZr%UrWJwsABGLxn|O`HYE&_++4Kr1m5jcohAq($Sny+{U1hD&K{ z;_@d$m(_0MunBnx6lL&ov_K3!H>Rm#+Y&fg=dw0mf9Q1;Jv<8}Tm`-qjN{p3Y`e<$ z+ii<+j5NN$e}L1YPi)VM;3d2m?g;6coG^n3z)#`BIrTI-gJ(4dX6(NTk3_)BuVex( zwnqP|=A-~O%1iE{TrYN~%5|>1D2IaMVbb!)H;}BOW`Mog>09KjiQy;Hs1YFQ=ug!P zU2$NWPtfC9`dpB_JR=Ip$g5!cy1bml5I?_=GYqdpe_0g;kduK8UD-;PSdva}Xs`}1 zREJ+oP|qvalm|`eF8pL*Tf38_&~@zON=DCUz`Owgxc733aY`W_>>27pSVVgujkolA zM5#bk1wctW=|jF1(KFqd;k)>lXP2F~kPl0}*Rdvc5>`III&2!s^>wC$`aN?7Tb5Pp3{dZvzsxZmjK< zPutzim7LYFSFH8U)=KtMx6|Fobh8;ikklzM$cT7E0g(^_zU{xA=DBLcbd}?yK$3cD zlE4T}dsfppCTP-7P2$L>7dtlqJqH?LMvxKWIRHPz0jz+@+qs<kg@kt(W(8KITl<`NSRMomtU_S?%v!DRAmaPzaMUPC@e^0K%$UHQsa#Y*X;0srkIY{LRqD!*FbxJUM zKE#<~O9(9sD8L!U=<|`l2xw%DysSJE&k6FKlbx5y>CRiVqmj&bjl&|>u z)3j&{9Qef=PVqTPb3|oMV(W@Ne@bso@r6BCJH(IKOmC7}?d9dfQL}bRl?{Qn!*>kR zU-eYyo}B#welf9QqAyG1|c z(IP;HpIxQE(KM+v?ZayC7E9Bl2e1NHqb$v(WVMR$!qCm``G6)#BZ`>^y+i<35RP5l zspEj=6K66C(6n~6elqj?lTb>j|LnJ4ne~GhDXJY#Ne@y@0?9-v>6Jgi1LDX9~2#M;k6oaIcSw_n? zjPWMXsts_ybuE=di#EXUHb@Zo`sYtt%D?&~G+4d0Vs1lsDEG~MfBKZoY;A0Yf>~SIMW-H8{$2Y!t8gaNwT$YW%r3MSVx%PuTbo3ESe%T}V*7;|s@C93Rl~TFvc5Zv~Q+7L4^eZb$(fTt~@M8!qAe*r~ zsT^+QMK!EN@phF!pUpAwff_eosU*hxw0YN7^Jf>he#&#=U(n!5yUE7DM+GKOhbp$M8n_NNm@JyMA8sa0p#A&@{ssd zB+?Kd0u%9+2!67p#*tv?sWEGJP~4a8W9aw%4QW`lfW;3}@xvllh z+^1!WYXl`lQWMQ z=)LJ=LR4k71l7q9;H$vED3K9<5ye|5L63D@`{;!lKaS52s8I1D)N%%EE>&*GkBEBf zC^cTm%w`(0`ms)`ht-!2@QZD^0|y_=y0(W`$5;h!3G$YX=A%96gq?SFc1Z}bi|i56 zf7^xjWekcbf?n)NgkH$Bx=IYkKTgd42jIo`JT6w?K?VMOzY8Ui z`f$nS??_yX;8Pax>5@g<-ht&a3!=2eix0bw1?>;JYAqJ5T2_Eaj+nk_Az~D?Himj4J{7LAXTi^`kRbTnW`Hy&2f8ugF zFi9%XDYH5Oq)1N0z1LR^Kag+;&CqdQNBdnkc0ood%kN~j@}B^ZtAvMx5RVd{Q?=LW z4<#`ui$@&LxH0M6bUbXw0XRF*C<$xfYH!`4#i~VXhAycNRl)FiBo{%c{F$&GI+;YC z2eUG`E`zy5Ud4g~O+aj!HQ}a;e~DF)ZD3eXotp--JOF!q_Kt_tHk{QhL4lU#CFTne{?s?GfE8zQu?YiZWp_P^RKKFHK&H{%iqVz##C9 zIlW&@Zt<^my;DqzI!FxTJM1f+wRm_yJKiOK`>9T9%2Or+ zB|{OqrJ)`}5tnmtf0x*SRZ!@>ppvIphG6CfAMmC&=(zxL72G1Eu9uhn&yKXRtE^$( zL~hoSxHGihpichIdL^rD+g!B<`*S8OUR^6TGOfT;`S&h5L2&>obx;n#WK#D`3cEJ7 zUwUN^?dv5}WkI{$|BYb$_tMSyiAl8*>Tv*S!e-L^4tuMRe<55NWl~_!GAynJ0(**_ z6cu4hQLsL{1q)?Fyt3ZdT=vP;0TZK%oIBgdWR(Uo>8#QQh$Fcz`6*73B8vQH-dj zf@mg1s23Siho%fg$}LF&-o{dTK!|;SAGPsG8AyO&e-C%0I!0tgM2<#m(TFL9rl;vN zX##P>P~5F3$Q~4ujXVnKxc&zYs8n^j51E1#ip6m#`tAVc^f|p_=Y#en#Ayo^57-1J z@&OBzB~XTK5}pB*Ae>Q?n0Kcmfq6?{enj?0!0T1C!}dr6eov9srP%C*Mj!_XIz>6o z(k{n2f6w(yl5nQ7Btsg%`cD`fLQxiafndxON*i?cGUof2?~~?Q0FBAXp(KcW>+Mlm)xf9axn? zI{m%|n>}p?g)BUwv{Jd*3}n_GOg^+;KI8vanNfElOd8nAW)!8MP4S?5eVbZH$dOGk z=a`##K!ReVs=hSgPZ)S*Zn1+aK|yfu6uSW)7t=cGEsLXg;OoMs{R^HOb;k&n^`*$; zf0@8NfDOMz4zp9m!R)c`3~V5=4FG4L6-J8`9K{smedlFXEOtFaPJ>3DZ4E#l75KaL z(HEQ8QlRVNkGeI0P7LktQp>C@O{{0smR()?<7G5ka=ayfJYMpK)?lD7jYorLbd)nA zZ&SS`^t~n=V66V&A|5o6!`%WIn#>mRe_5BvBXX4X@uY)#1cBks>Nzq@GW};DJ*Q_f z+Z(x!&8=)Yn2**=c3*0O#S&nYV3aKwD3B5@-~@x6Y-;`ED4zxv5Lz3%q_qJMDliSe zoD}ji1^aWCobB}SX%4M=##Bn^eX*@GyrI4H{8*p(Uf$6Omh$}>J-^`S-=I6Gf6*5Z zv_wbPt+71+%WTpEK)%tVtp-o{Z3;q0>b~ueQ~o^c_{eT_d3l5We4;QUf~Nt&lhld} z9ka;8YMmTzQ+X>xC!qJ)U&$6Ue?lFwonKyNA)+0!&cfO2og_Pl_Rw|@p1NvzFO?$K zWXel&X>VU#(Xa3{5Nkp>ay8Br2rMWAdLZYGQz>X6rH!#-qUe~!D3GuEM3-38EwspP zUyX%mVaeW4CyHC3%qGzgSME)vfqwczoJzR0(E}P|Sn`Ov(UQ|;s+Z&$e;gCG0c9Yk zMN}6*N{R4ybUO%S&f<`vY9B27M8TZH{$dO2JIp3{f$epm8SpylXglVdk8OlIU0afBD39+Gq>5)~$o! zr@fHevzRxDMLa#A&rsN-u&L_=Ul-Yae;j-?bI+g6#>bx0+XXN5LX7RygU=GZ@_0BL zk4%~xepco@1nmX{ziM68qJii2l}`q>t&2YSVc4B{V0)r*Hw^m+d@i5Bm+k1v$)4MZ zU@<6Sn5~sec8ipne>q-@UmPjcfhfq-Mi0-I8pSFEWY#Y1~AX zQ9n8`R}5)_j8#-%=g*;HLdBQs>~g){prS6(=(tMMT8Asy^>jM3@+qOKZK)qCWwTKZ z#k8A=Yq2*{yEl_hwnHze*)A)HZ2me3#ytFBehymM3sES*e;;)_584ZNxA8%>DyWWQ zU|?9W*H>YPi=U>{PKl8%H1Xh|JrJrR!S4O2*)2w_XrW8iIZG_9ETMhQfrC#nK;HDG zHoBKAD(|l1RPtkV@1^{d$w~o=+&J05>^>$l8!L{6JWn2oDUP4cvRP4JWm5}i&H(8KY>KJ; zH?xt`b9y$H)-&0Rp4rIin>l@RQ_rk}r2PqEa+^Akx4xaxvss8*-_*B(mFKqc22TJ> zL=?)5_*lsUr_3g|v`AM*-B*rv*vA34!3Z4s9fc9)e?f#p)F4%zDnRP{wcnQCog zGT{#B{%ekb%|c|#Aou}^&*pRuvQ91}Y-+j+e+n#xYX4NzDqNfLc2ZpX_VVqIr1X8d z^8GrceVeWIq=HpXIdO*~tG-Q)S;{@bv$|*Cw)6r|ZgJ}udTXn3w&{uOPr*|zvs~gc z3J-HZ;42X89}p-S*p{WK4rL8_9Cw+0U=TS;z^Iu_t8I8$# zf2g*@%zz>M!NXfTkia)!agUW>U*{wgr3cU-b++tH@M$<&5m++M+bicQ6|-7vP@|N% z9P+L%HMzP8u{`Oa*-4mhTHaM$#3{EkH)0^g?k$WU8|Dhz2SX$0ug<;>c(k zbz&V5H+}x9j3i#u)wO|WCZf472Pqj9e}RsO!$dlZaL{055%GiigLWlsY||P&FA+D3 zOT_D zLAY^&I8?KC{w^50Q+!@%`L?71Tujhn)xe_qCZ0kId2$rs5~FGIP1hvM;QiHFfBopN z*=C9e%n2MjkPQ)tAEgeTP>0X`z)@WMT|K6dNn5OhB5qO18lkMiBH|EWKpZ?`^(qKZ zo{&MW@zp)qA;`yzMfLF_*MaA^k01>b5+={Bs5g2I&_klE5sZCTNqKz@=VdWx_RUwv zSK|5mFxXa7-Paduz3b&Odcx|gf2=3+s~{9%Fqc5>SYT5SgTIgP*>$Z9=Ir`jD!~FP z7=Ygn{jup!A5(2sA>Q>`5OI58mGSeI)ml9;$an8kW*d@wpR$|qGt607$*@n_f}bq; z8PcyI`5FK_K*YaHus&3K!FF8haS5R~oJ_GJWBTJ+LznzK-q4>3{@4!)sQ0r&zJI*o z1N``pV=OQwot)`ZHTVT}cn}2-oh@j|-)KtP6{2lCU0#83EZ z<1cDJK{Q?k!RLmK_d_HwyqjccZ!mpGn;p_-hqT!tZPv9t%;G+5rV;w=CZ>6`fJX}? z9y%)-M8?A;y+wbv0mn0{+Wg}A6MqE!@xk|@tBRtt$>t@YQnqWemG{W2-WbG2@;0%} zr?5)lZM8gc<|vLCf%u((8{!Yeq{r4Xm#=5&MG;R~<@WlKuDobGRk;ghu?)l?Xc>78 zFjpX#XC7|EY?ym8|NVsRHN)C%;>J!Mh_xov6b}fSeErJGnhsP+C4d^&?te~UHBW|L z)+zN#3*^b{M<-=#Ye{=&J)hO`NytSeBIIK6Fpe7Vv^3v+mFa;I30FX>!uj)xRKDiO z0eqU!=N@SVMlNSmCger6Dq?ePRGy%c6DvVJ#IEOs%+sp`{y;x*_QDTN+Qc=TWLF9N zfk>QriEE-oDJ3sFF_zL7+JBwDO#+z^$&1@}^|e6TR4h|v8yj}BtN!?4{3w){`~cxK z0|bFveX0&e9;w)Q^l>1E3brtLpJDX~F!>M4?OW}pY1CJ0jcPu5_0Mnax6$=S^j>g9 zf)MzJh~3dX@+>Lsm6cC2*Fb2`+IZz3U(JhGx{kb-4?zZRv{$$ftbbQxK3h{-qfMpO zdU{R5Mf_LgldB&!h%Z6>KQRH|0Z3mV9V*#1+uXL7mR}p{^$A(bns(0wint;*VZXk4 zACup@AEE5GRrJ|Fy)$6d-#qwQgZYiCgT9vB`S1^I2{N|?Y%-C-C9HJiKPFdG(e$I{ z;Vwuj#Ju+kI!DQevVX09N;u#$E$gG@Y?!X zI}&3R*VAOF)&}eY1hp0xsx?k(?TeKb`mt)1%~vvl@-sMKuYb@~iwqp%yBk-1pxRe} z7CZ8~3w>0~vaK**d@ZGd z<0+eNZ@t}-TX(u=MVp~T>GEL76Fv-Fber&C2WD`r#a`WxH_po|a;VE$E`%wZx+M3M zs^f&Z<$(+@^M9)fKp61tk%<5MO z>T3wkcTbLv4osvf<6uR^qQ|5&v$9e?!lmHIXz!gF7k?|Y3KnP^r2}*2)M(ZWAW0HO z+*QHvX{}-&l1iy_DXgk|aM;3{4C0&zV{r3=&k*>wW}C5Vt|-~`5o}+eCbDgsx`X`5WR;WT7*9V@<#sjd z;v>;CTYrZKC(M>U8k`=j5BQcUV2s+|XeWfe!O%()Qt z;{@W4#by(T@bqGLgc@v={&R+73zqGUo4W`4gitwXf#Mtvz=?m>}9&^A`@X>IBZU#J1;U zrdt9WeO!DY+%RtmZO-Hi(IX*@je7Q@uYXYqAILLnpyUI!#dN_u=T#vxki8zSMTAKu z5w?rA{Ml1Js_9XSTT^huR#O+12(1yH19+f^LRR2X0S4*Hy4H!V7mx>9w82+V16>d& zrOMsr;mJ{i?HH}rVR=P~VC#&O+(-#Fe`*ab%41}C4`xsqWJHjeYGnOFKfew0pnoMf z7`~<8wd;LkXQ39a^$uj=1@$TYQ0vtvSWIpDS|3IitTaCS8l_Tt52YwNb3~tU-XzrJ z==HTrqUcL9onKjSqrAXVjFSU2$ZJjgv1bqLj!Z-+!!7f`EMq#1X~*u0wCZ8AY*rwC zV1Z!MC99sj3L~(iPI!#Kquc~cWq%k;oJPY{kO#+|11MJPYkG%7b^7Sg1?FK#)2BSf zwK_0EU~)LHA)hjB+*M~pEuYl7#R*^iJUP=PMFAXA*7Wq@D#I5n>UafJ*qtPYKsE_E zJ)k!{Qc!zBn++&CAIeAaZeS);5Auox$ZczLSg7vI0H1lGDQ#)Ik4%_>-hb8mKpaF~ zn-JGN~OxbR6h@lZG&Z3WoTlk@l8yqr{&jCLM9Y~GwLD7kc)Z-#)-ycZ5 z0praN8tb{HN&U_NTCbxAG=I<1khS8d&6d(eGO?6M4NxQ$ucr&o%qN5Y`bu%m9bwSn z_jhn^Rui~@UgvrES_)7DB0y1xND=@Iq2Z{*huM?lGYt1wlX&C^WEdUM_MT{9(gH`PyivMuUE-+OR@?q z;=@4tMoTot^diRgmQV#_Fn)x+W6yq4e4&xySmJB_hXff1-x*Eq8P2nAF;nP%9tgQW zT$&B8y4Qs+>|4X*)_+yI?TT2mNhRZlSe__h@?@1bfq{m_@W5$AB0r`|=x*?FlA`mF z2p%CM@>AeM+*Gyj=o2tglE7n&s66Nrd2mdY+@@Iu;ql-C*3tUmsYyMtk+YOmK)R3Y zqOj^C$j^@)gfB54X3RKZY}!{8FMax+5cfM&Ta<8u!ZcOnM}KlotWEg0V1?FE1@#SU z)($`Z`-Z}tDwqZjW5`eh4SNe)s|uR+OaRmD1P2Rq^WAgCB<{S1y@aF(T#3Aro1OGv zz0_KIMy=}~iG0$1eI3GHF*F^AJ6Eng1U~0p2U-uDBPH^;z*-^`8S*58rO-0~Fb?9$ zARQ@S2Q#yiFn=r%%BP2c;p6u@%%W*7^SHYqC#{5BgWOR69dG^gepDgiTjp3nvztcf$oY z_3CEc4R7YzZgw2En+^88Zp8Co=%*MW>F$CbtmujeB9v7Wfv#|dNVGvzMIpTC>S56> zP9R%e{(lg+BohH`K|zm-3*rjxImQcJ$alVs{*Nn!q4>WT$*1iUIlnk5$(dw+)qm6eiF{>qx|&&?jlsgf$c0GWd) z#cjhpuQ8+sx=bb_RVTRq+*larF4(AIp+w*jo48M$d`a&F%w01}&AL~dzrsthpbakiAbt*4$36PWVYS*KT%FZUc5plN_EA=RH&Mw9b70*RidMRG|6r0bhE2aIUyzaMa(qo`2y5u@*3- zm-MfGpnyRR1Akl>J$ARPlb8FB3N$&Ekm~kW5w(sLyqGI0ue5igT8!KX7gbPK2IrLF z(2kL+P&G3&5s6<9!n>1kC8$yL55#R^xGc6Fsn1`H`m5A*;&46eX@=@Y#+~KGK|&Am zWIxZ8r{*?4%Upm=*9D zNH6^H4tuY&KjEGaE++J)%})_?JSlJigIk}OC=0-4fJNBooho8f1m-OHkxyEPEoHo? zPvSdKD1+B*ROQ4Tz64%7vd4}6LCA?5ahvJ!M-Uy5gnXMGDZTBL3+l1CJF=dGmwA}O z9zkVEq9X$G4AhMc!++O!LOvJ}T^KBP{EW+s3lcbW-HF9ws$w{Y_M|_`Rp4!>oz=S0 zs8!8Y`#XxDwZ<+5XFRGidN`n-)=4xHIW2Wyo|*^YBIFVyK0moq{N8TD)*xKU5cCya zlwT#rmu{)l7^q-29W9KB+uJ{d3R>(pa6t?FIb_hXe;ON{AwPG68G9pE5ZQd;v>XTcRUQU3oi_bu#ABUz$<#qsUUmEv-+od>~=;x7%M zn*jn#(%mzg4Ipee(PCR^N#-$${`)cqroKxp<89`<=wX8RJ zPoWAujy4o=^M77$ZcY=}~50R~+c29NpI{4vDVkjq(^U7BG?gM^+rGuunFC+Z{rWqOys?Qq9Pz%DAb@On-M@_p`Z%wH^NT=Dymox3zs$ z>$18DFQ}@#sj9fCqoy2pnWlJcPycdrU-j72rY-!x)Y(73(b>5?nvjGjwP?jdB+5Sq zr#ImP>8@98!kl%0zOW1rcOVjP5g+IH%48XvM8Z>OpYXsIl{u=Jw=dM~TbDQVI1eZ{&#r>^4W%d$wzNh2lxC}f1MKE>(MR)y9(xFV0plfd9XT7d zO=W-y=aUOVCe&3hH9iC%;5 zk=WKzzfsiYFKnocAWD*^gwptlrQ~ubzuu@YPJe0*#@6}4N=6s*%O$i?#wi}Rs`y{* z;_1{bYiLcZAe}ap{?jdu+?6Ts(57A$p|AwPr6qEtqt2Dl&~P_5EyuekfzWqwJ6nm^ zKG;fu$&-TqLfpa!WJS)ir)gdgQ}MDG>Hy`XD7Kq&gaT4=dGO136(A=*O0ZFE8wfzE z-hYOWyF2Ju7TwM@B*DIy8HQB3X%~CJV1x=?Ux4qIRp2oJ4-|0}zL}So1%6b;)OY8d zvQ(%ri)f8va}70Lrupu*m?4$6@J%Of%5ht?fQQ4GkT?0*Q1<^v-e!j5fEFAz?xZ5c zO_HNeF7%1Okt@Y-H`~7Eb{ul}N0wI-P=CG38&!3rzDF+Ox^jWKUN?>0%flGK)(1pq zmBQ5t>Vk7+p}vma+;K%v-~4hhZ#2d0^QD>XFazQO<`;f}vBw>fTYis|}k~s8s_PCB`j9%_dldCY|_L-qbA{6)2q};D5U& zx3L;gXh#b*wR^2|KXnxAuN|%WNlm4G%j;q_XlqJLo%I04u39&2lYo?OtkpOfNl-v4@;mH$mt6{-9 zu!akvj-LV+Z4%$G5%QI&!xFZWA+VGfyK%|8?1?<;ihmBm)IPiqT?tKZ#eZf$B8iwO z!jLJzc@+T{ptt9BgycgwUJl_m3&$Bu*(CZa+Ej{_hDfhP-s7a7D0+2q2s;HN0?8cD zxA&}(q6k(J7}_+O(`pod&yr!t2z$|Bt5NaqTa0Eqnnn|y?=!A})iNhjvYa-YOHyrH zb|_j23&Fj%h{a?Ytb|$L>VIAosG&fUPS)I=ym|BLjo^Lv$7K8TS7L-My> zwX(@%mFIxC$So+*|Hu#+vVUaJ#^bmXy=R_)7OrZgQ+`dS)q6?EZZH|FU;exSM2iLO z%q_xjT}(k+Vx@dcY9O{&Fb_N?E=DSq)KT?Mw=v!ev3fl$-fySRPhb6UD&~=PD?Gi2 zM^l=EGF~3ZWq-OEE`OtR{C97+y~9hLSHGPPYabXspv9i;NaU$SObQ~TCj*`KiWcg@ru_Oyv8eR|S0W?%YiTU-m+J+P^Mv8(E{eN-x3Mt3+c;i}aOAk3U zDz%%#hbCevkDoan)l+@KUpGl0CRJ3xsRL(Ii5?Sg@Ek&RDpD@jj7JOJh?|=?utA^S zjOQvWH+x^vs`NGWe~Sh`&06Zx-&p3T5t^$@syO>ckSRm?$;;R0e{=9CU@}~Rm0aXR zA=BVkk@n&hJW@+{>n6O!|>$MNJkIlkg+PiXGf1UG5qd<$TQ zVZ{a49ZnF)0shoBazn8LVpuAKxEZ%N8zs=QGKY5do1)2 zt<$QHQr)&ygL)T}5z#-<{GVR)4G8+bp$E3hifYKKqyRYN2LjGj^7Gec(*Sjd!;nUa(m&`N ze4(JXYxDXZthfw%IiJBK0|f=dEjf)swJ)BdluRq8$%hrnUvXp7kh`lAR)q+c6bTpO zQY&?XeG(y09W#2cf;0`}6IKaa1{(fjFNGdSYJV-$ybT*Z^GExR=s&wTy?8CV_| z5pAT)wrngW>^yiDZ zz-CSN^8294>D5usRJP8w;syE-c6Dx0{C|kiMa;S?L5~RrZd5qwy5NYSw92&)l}lL_ zI)BD^eJ&28+zP8eQrFo$gHJ);DZ&Q>b}S0b$4>K647DjUp$%%!&ak;z9GXz<@u-O6 zPG6h+q3)Z>+bs{vZh}spbYLBbE4xqlm=>y1hikfDTrAOb0Z9N`SfNCSVARILM? z+ycGW*%LK){r9-_(5fZ{YE2f~AJZi|OI8vXlZbB2w&(GOWPW!i%^R=+%R?YuWo1A@ zX89GMik-Gt!pkIEkgL>W`_EN6`H0-(_OCC_+F}kLugmhL7(RFqXA6|QZ9~Zi$$z4_ zdhqPYj-~oCT?D?zwT%XkYmC-@KR<`LlU~zotYZb!SlC=VLkO9UkeC*@RzjHZ_9t|Z z3WRb_lnUE-DYTb`w|1ewoV_~TW>-|{>}!yZDOe=ZWI2-j!@{^yjO7KyWDx~{5#=Wl z4wG6=*nvAL#YrW?*RRf=oj>~>eSd&HeRlfn{BInLTOnYj`)3@6lCenTrq?Q|LTJ!9 z^6dTkqQ91{S9{zPW+TmQ2yy-q-JW z*QDU%=?uKPM?2tO(if6AHTC2^{U9{?dv|<(e*E}Xpstik47Pn-mPp12vrp%M9@Z&7{q`EID4saVKEK`I0?5gzn%DAP?V}%=XuHUF&-6c~<@Arw zHJAUv$+lIizCGLCJTVfmHh)RUzm-2XYUiolg@J1qfs^#l@4qGu9;L&#rij$mq84jP zS}31;vLn9{b<47BqmAWKWumN{B6h3*7=iJh#pilrpX-LDK)q)?zZPKu$LTmnIN5tm>sbfq&Uzx2%COyiJx! ze4N0ktSZ3yMnN=vfT?lP3t;(pb7Bjq*yuNMzyqEXRoe1UQVq;5iGXRZar&sG8D$I*pOMCz0)x{*F4 ziYV=HPNf7<98DIuBY&dFA{-Un^f2ntYuec!?D=7AvWBkaQ6|IKY`lSPgeo=&?cHb7 z9hmKt<+MO3F&6JY*~C&%2&st_rm6{5yqgSJU8{-!1F5)lq-aE`?;rpGWH=$yo}2T;*Fj2hZD4_TW^ z+5>kduMsE1YJceIFL>gG$;p^N#EutyHm@y=G}-=`I;JWcsIxMeuYevTlaGaI9#fT*GZ>t+Gt* zs;p+wq3yl?X?%(PZ@k)xyqETFV$S%~i>ua%N@KharhnLPm%v^F`%rKlSTB0Un?xyo zTB$3Oi5lO8CmVIF2z%Z%cBT zUM)}IkOVAmU6RK&XTNwH5VM<3Z6wbpH{dyBe#pLvo-pK=9_*1daM=AD$bFg=APV%e z7H{a&Jb$U!i4tM!fQFH{(})979)z!)jZl!XiN9D^jWN-#?6~{%@^(;#t?`2^(e8cu zso%15wK_j>Ice1gA43&5O^*i7*SW~VLfpavsGGf{5=-cOPNP9Vsc1ZP^HAVqpa`MD zjS=1AE*P$aMuo#dIMXw{sYs|Y71x#Iz8BxeeKX$nf{3{kx1$(glIgO3NoR5-O9C{` z=YNm0)v{D6@8&VavbKYPpF7INNd@?3PJBc4Qdgty=f>+k49m5jXx_Gb9oZrGloS2V zI(3<-%T{wS%Ccv(qeO*p;|8wCdQNM?=m}j45 z|6T%LMD_+|*~HSQ4`aB@$3|;?j!{H`tS(2va@(&Q$fH^sH3&;cL1SSn%_F@Y`8XfO zTZM7;r9X7dE7_uy;zJYu!ix&u&gd6%4lcn z-k~PWQ2pC?Z>TUrx(x1?=!75p2!BWA=Qy7-C&3Y#bYBTWuEPk}MvLE7zy!;;oJ?E2`|muTK2(5#DM?#1bdZr31bl4>>y+w{KvQAuWF!S55Z z`9*(7*ya`fPU)9ljP)X9c2;a=DOs~f(v<#DIb?ImADyRvL@Mc*{_&aOa(`>5>N^FB z7FmKM65Y(JxeeL|RNHF^jBu?)lIm3P3Aq7g}BhTQJLCs7$Z(7g`V2V%=KA!&9svwIqJ{T0q z2*iA4Pt!kw@<%lSIkDedBR&ipx&op?(RS9Mmpb)n_>e-kTaV%*^P(4uhLJPz2GzN9 zhZdvm7I$|P(4Is)IE{{YMk%a2bdA+9R}$9BqO?mQt?bZPRuLd+Dt}kR9iOy?70iyd zdwUY-8V=l}zL6p5iU&d;*?k~N(76XCLPQS$1JoBWWm|{`86Dw@a{_13xYBs_jGh8twQa!_Q1dNH zbxoCZ+Cs&0TtpY_oPSTW(Qj$Drylxk+LbD5&=qDpd-4Xo%>O(5`Sryw?aLAF`mc+q z-4@62_iq^g;R8H;8d#V0pNuNPt?f?@bq9TyYrvnx$o8Tq3&qi)8c6wIFiyuG7Q^Gk z@asadzVAHNmvvwmAPYBWHIj%<0=k}ZxnU@gSeZ*JUs}O&WPkM7e3v{r9$^yJI7d}C zn%dg23MsZ|``xcE&fdY-w(bKE`qDcpK)hQEcI%#M@N?S?z^OVFLLdO@OFR^7E+mDCcvaO!yy&wrLecRTz}>G3pugE@XSjjRd3AZ_(aVK3^1j6ZPcE?}abM51O&o#|@g z63a|jt_<2>p!TR)nuLDrHAwhZXOnB3$OoNnAVNh*@P9lfK7Dii@}x^nYthMKZSGXD z?};Si!?Yc~p$1op_2Pl}h4am><Vt7DO!D5o-jb(gLJ$wA> z4M8atTji-&2zDiml}2$L7sq(7>CQ8s>YfZW!ts}h)<$r)a(YESkNOB>H5@6inGvL=7aXaa> zco^mJn*|Y||W^CgNFXh=(`Br6dF$`!;EpE?cMOJ>N9=m~n zdAY=;B-M;qozr*ziQ0@-_4n7}cFwH`VC1RP28T*4bAb~_9dRSrKyPgrIk(I7x>*q` zcz>y<%P+OsU!R{z=k{r+qgJE7&UUdxoVy$cIq*92-c7)P77hc{-KO_$iawk|QRus? z4c5ao33#WYz)n|+{^}+Z6bQo)LJe>rC(9{xW-R-qTIdAUN7W4!6uP+*-5xilzFV?R z?y%+UvuDlD=Y?xWrnOQur>%VGwTkO(HGiMBt^vKb;?@mG&f!s2i}5}M>atiZ#Zhj( zvauv^kYX9BP)c)aJ;YQxG}KEo4-L0NBZ@y1!MvM>BXntr-d4&Oa))E{Y>ix4Ifhn_ zL}VscD(0H6M0SwgbMu}H*}*4Ji&&Zug_z=abw%_ZN0u0!27|>aWu2IIWo08G>3{hd zDJQvVDU#e8fC`mcm^p&UE3x`B^`2S%i*lhRFe)&gf}d!qI}@oWffHZZ3g&T17Xb)lqM>>UKlego}&SrGP(O zj7f;u==7|{7rItr9{>=8N_J4R%>~qD0gS)ju zN~EKVZwH=|wVVyBwqF|ZbX?1A#a_A~p=9?uncpP&W$U$a$);VqEu>j;p^UXI3?;jx68*$U>y#XKPq= zyA>W6I-Y_k&7)Q}EWZ<3mM&_S5iYF+6*0)mk~ptUe*Gxwok#N0OER?Oi)P;Q?6gyZY>RAi3D5MfcXyW_X|nU~ z?lG=4D$dJgG3`BGSV9%cdc95(5%_o*x}b=>v>yuC3V*4#uI*rWH$TvYN3g1lp~bF0 zSvc_{Y(co>0ji>5eNXuTen^Uwi zaQCrR>B%dr*QU`obfcA+LqP3fsq-#x`BJ>a;_>n+qZYz>agP$^C%>#HRDo&pHMOZd zW~fq-W`)?3o9uHi5M^DdE!|2S7n>sSJ!)F> z`*LB4M_*2Ymy$pbx1Lv6<@D3`6Kkq@YMJ~KcYhtKxzZ}b4C{q~Z-sF zSdOKSWiEJ%27NfycXthxODSttRZCCJhkuE3zZ57r0s6r)P9X|%zsn&9J&T5bLgdOW zBb;>XV7w&;`VKMLif~{Bn}?M&dmhM|L|7uS0>i54l~QZ_8=h0Ai|r49X9>Ntw^kMH zCA+)J7?k62Jj|?!H?Wv^F$w>9B2v|bM4MQ2Qq7DW)f7exTf4(#>_A0I2sk#6!+)M3 z@$0pBi$hXsm0!BWk?F*^+aLC*BN_27689sJnG*U(LnsM zh<3!^7tx;h3DbUEM1AoW_%Pyo`#)<+5^F335Uu4H$6DUYkyGz8)Yn@fkEuQY$AxNc z=o3)hc)L~w$RK#(Jgy>kddjfye19S^PGB{BA6g|OYq2H^nFsjlu#-8Q2skmhZAGBl zG<6fYuyfzije!|8iWE?XL+1hX9+=OeJ3)3R5!DqnDZOvZ9(j*e&OF0f6cT@O?M_#G z_OsrG4{J3SbbeqtX+6i>Pq**611TEZfy8W{Nm6@qLXo-3F0l*%gfa})6o0YZ|1f|1 zm@W-4NS%g3@@E9)$>IAO)yo!lQ~CV?-ixZIYfn5N_|gs?&afbr5}dnn#mj^wo=Qo8 zLd%>RhN3{WE;b=elZ*C?>7 zwo#egyYC>p!P@G!gY}wz-G3-M!dsi<$j*jFrybNtQ>+&pSDzL^>O>uTht|PZdYq|{ zjY~8IcEB{j{SwLj;zPF5{HQ@Z!AZ^kDnKz&8!x;D?3+uu2{0O1LVq|^0Xi3yR4<;X z@{x5KD@DWj9alb!B6qvrHy*yAZ0coo)8K zM(l^7f0!Kxmp5h`X!6!p?^O800}=iZJooHZn|t; z!M9erM3Z0)A&L?^@(E`Zty*PvA@es zlo+i>H0tcwO1+DJ^GiLj=Rx{OC7`tjWp|9{vnpD+U@Zj$@O8CaW>3>E0RIC(7c>!a zlqd;l6-$QvGJnJHs-=phT38bkE%+#+PC$2_)EpcJ1q%R3JjFmBa zQ3Gr=AGTFz@sRsRJ7SFH^nO5>?@w*D>}Sha20%U?la*4J%$UeKxy`6V{Rch84I-`U zn_h906NwEhCu7zfUmor9K2~zbbSpoy0*hd^ZnQpKd4F<<-T+f_1i_jX4}j*iMF0#_ zKncKXU_}AzhIg+ioTTg*@E=Ew2SI1D_GmNMSxQDVL@yEXxJx(wRvm=lJCklegLRDA zASE2GKdZC~o!|4rculMEura+Gv)V^;0%`)29!29csjHurz`hWX^PEHxB7J7?`zb_aGvqW~T>Cq-` zB|eHWTN-7=SbW?_gPl3sX_HgX&CPjJ2qfzyqM9i9lL7_f{2g68KKSX@X|!s^vogu? z!mF&>bQ}Q~v{WPAscz+c*u-DC$J5UX3_UKx;QSDPkyu3h>jskYVT0gaNqG)sL;le$ zT7RSkt*xcf!hc@l=21=(^%PGZ&u1^vnX6D9&u^~dcTSSB8*x+V2Ivn`wRS(~Y7?i% zWULKv=mB^9_FniP0eaPMr)+2UoPB7_YPy!zdbQo__3M4w zbNYk0^f}>2t4lJm3>$h?*d5ZPrDH2Q@E_GbOa)bmk-V^kGN2o!8ss-fMj15pNq?l< z4y^FI17&y*Z`V|+n%sei!mFuhswr>mlRHw#e9IX0ne8P8LlwcrQfnr%P+= z+Ix%p>QBW{+0q|JPl-ZdtjT#j1ybyobTY4QsNmaVOwll<;?3}Cx6%RatY)B zF!S@Vmf_8TJ0AlZGaL|wd#!Jan7jdMN{bay0(u?wNy|fVE2teYE;*7+ae;4_x}jla zU%#Z%p_HSzDa)}tq>ZBP@BP?{>_wT$eLKlhDQd?1aO8S_QjJ^sNhMw?qjRAE|Kc4& z$K->Q%J?Bh&r`R9VXvw=5`Q+7h~*N;STm7A0GVzb^&bsT6e%sXj{3cW1C-XOSNT=u zl^?Y^*O8@9z0(V&J&kFM)R(ZldBfo2SckM4GBxDlAlav=Y#Z04cR2+D)t;?uE4I54 z>V`*C`_?^~`I2_WiYs>jRT*4wptZGj^&)Nj6j>Mi`@(ptyrqd4%6|zFJWE40T{=t` z4Qi64bK|FF`_Yzdhv!;d!D&HrN`2ZZXl~_lTyP5kcz>^T&CHY>rx`z$YM&)2q?aKe3U`B$4w8&(!B-7N2TAP}iguCO zH>L?$BA^qp^k@Jq5m^C|Z}YFg5;d>BcYbI%!-ffAv#3yLq|$D8(h6rMq`#>CrQj=` z&x56INT0K|4gr%s+*&DD1(j6LaswSRxgHjaZL33aF#osxe}BUZc3P+a{C$q{Lx$Mu z3qBJtS2M}p6WpfT8X&`pU zi4zA>e}HB24u8*Ozca0?g`mYv1&!ljk_0VL-n5J*v>YJJ9gBsUQHaS z1&;b9`%G3KXVQXpF#WoW7wM!+imAiaH2_$MRRAC|ja?qV%-ouhrJ_DP=;heNBat(&!(hiB^2-*<3R^%& zPE%w?3YM;8C_0n~pdxTGZGA{4@d_goaZDEzNn~cJhP26$w4K5-+S-N6{*7aR)0ISO zyh|F*xPRWLI4o^lKddvR1}=(AVIpp*dFonvUa@;1-kKQb6hAT-bC{1|EP#Q{CNJXh zj*ttJ+85n7B<7sY6v;w%PPv`aA5q>aJBn}4w|}Lp!xOdJwg#p-2uN6HUXA7nF9*33 zRn+B1YLE*FfeUMiVW$VE*Xqq}==2JZdP<;ZK~gre*1`^U7$IHbEpp5cK4PVz6`*YqXM-!(fR>~12AeJ)KY0JJADA` z#D7s@Z785Ynq;7}sD1iMg*9!9DZC%QetmL^PP5wL8eZ{w|Jm`2wwS=ntLJU0R$+9o8-4$QFee6d8iBJJ5PgUu?WwDzRD;Bvo??4L<;qR6 z6-(Ewz|9IdUB!zlMps+PJERTHc`TQw!h1%KDm zgv2n`APUdDxMew_Ri$!k6fukfm5XQ~K~4DZA)9{XP^IkVKGsekE#KLci>)EdaAA<7 z=BXvft`01_IXn53qOUW(gywR~TT3l8)G26>R2px_K}|Q=Qj7;o-t9XA2N%dJp+lh= z5b0pd*y^zQz45V6p}FMfu@RHJVSlCxO*5r$9s347u%?z3a^-y%8a1iukeMvQrg)o3 zN;LW;2@i#!(nqZZYgR-_3%ndspkrBc3TrNKQ9~Z6<}4YW%ELlm}L?K zqi{syJtH5_#mA;oq zK4|w*Ruk%gv}U;I8D0UAM1)bQo@idIFQM8#KFYkX!0-|XPH}_Qa{6{2K>^pgKvia- zJVeU4z`C$*hL_4N`+XQ!b$_w`4aTK-oH9Bp?TvjD5j{Dx4kov`1u+$p%yNM!y&U1q zvt%6oZ_zCdWSEFp9v-OXObf(|#m{OrkmY4&uYroGV7~!mssU<31>?CEWD{(!e_=1N zgZvqCYGD~~akC*WErAb?0x}U~7YrF&28g9?F@1NJk&(J(fDIty8Gknx+f9KIZ{GwnD)O%UJbiLbVjC;IOFU z6r*lUW)yMCXia^V>kO-^QF>I8>w7tuc&**s%~JJZMrQz17xT*zAV=8P#P_AqR32Dl764;c z2{4{cCXypOjNtI5BiBq)g05q_31F*3x(v)^F+|Q%oR?Q=al!~jQCziyp@x7GE!Z(~ z8RFK|F1Wk9L9rR_1OQgN3pI7p_Ez4^t#Bo}(sZ2an#MPHntzP1XT!;CIGqjWv&ugr znSYaBb@YC~rHPG^VJrm?=>D7mDsJ2iIU{8F+OQdLq7nNTQgEZkp+=)ZYpfV)k4;Vc z1fX@ek|4C{U`6q65;V6-=dSq|Dr`FAyy^oo%}=8z=0V8tW5j$S%a;)B{>_%a|;$Fq<)9Y=lcan-z}3e z!XHbReSb64(2c-o378~n zI)8v+zUQJQ&srDW(~=QUm@CVkE=K@kK%Bo7c9d$NE{1F$XreK_B05E*VUsOV>EWD?8~?G)L&0hFOGqHyDs+*)4Ts zF352>N7KBy@^NM@XDpX9L)X2yqDy=*i<;~8bm4!HV6}#6YT>Qr1zUSYD%oheK^|-= zs(~uhM%CTftWsK)Up>LS)T%_Yaa4N-^fHOzN0u zN;Q9!rmL`~Hg{(&whpCZd5L9RYLYIFy8AiI`C^mRL5xfmPa3=qvZ9qvLfhd7er@*o z@nNRDt0Xlf(kVys$@1R@15+ZxD7Afcno2*-Jh@JTvzC(F8W`dEVL`|S`a{7KQ8U`} z&hlaA`7$Hz^}35T(~o!h)(zRljRtoFev*IVgq6+JA3r{l2iD`qcXytyCO^H<2Fy*iMKYtCC8_-0`-(ro2)uB8)73_6E(IW+2uFBwb-dy?804ab<$}WwPi9*z{r~q;BKUyh8<=I zl-5f?U{Ht*#p47JXiJ2S9)aM*_{4vfNuz52!63X;xpRaam@hkDYUMN9a=9O4RRBiw z(`d+WL~f{{-y>MnVBTGl`gJ#mCCQL0!?Q%0cc09R-NZojABK`ZJ#W6Ip46j3N*|0S zCee-baUgADi~|T6pV7aFUi6eW?mRYob-xI~_2NkO`} z(kXJggWiqEdXzjO4%^Vlc8C^X<>xH_sDi(+%OEKol4I1qOROm-gXGx@c8Q7B$UH5! z{k|M@5CoZ6s+hIwrqiqiNz#A$DAT@T^!-=+m*dyuX9*qIgbr$51|LcHWJDDppQs2( zdv%o?&nO>bA7ST&G=DKX0D1YDq>b0nOAHS@lk&LN**u+mRjM}_Dfo7-lZV&J=hBd< zdj*v*DH0O}O+ zFclMVn=Q{)lSxt(!$65<(03opJBoxI10Yd352b5a^1B$1(u@z1Z`U}(H=;tJ{l@F2CmDlZYG?5jkw|H|Ih z9KwCGyYFQ$q_N^px07wT@5of~TVtSup7us+K^EYkdq6bzD}{f>t4RNweUOm!!;0(l zzlSbK6H(uc+xQUat~vyknev-c4|nekL>P0LI1VLZcVR$5a&5VVLY`C;9VJkp>o(X=WA$MK_iPmR=6@!N}c-bYC)g z886dKzzo$z`6aaO3#AD>2B%ifBgwIhW9jAsT_oc}H`{-ff_0fAk_kfQR2fmR2PL5y zNn>3QDbWXOjc<_&d;`A5t((W&G;k;6KSdq@mcWK_HfJ$Xo4Y%-ptx;D7-Y`Vj**sQ zd0kr&0YvEIn%vbC!`q54dzBoGUQSr-hBx3JzDnoal;PEE2J;|d`vYX=WEnjr=V$|Q z$WpLu#Ik>+T%=LlbO($y@aAUw_~fkH9~@wcl9^?ZL!xToS+>1M%Ij=u$#ddvK1%+r zzfUR>aR*4$F1`Yt+S4I&Bq2<`^3bd2K6=?PgOAW0S`9x+l`yWbVs>~!Gix&g>w=yY z@Sq;IfwKV~3~eRS534e1SITG-*Ggd&jLWtq7%H`o*jTCjvlu!K3jR_hNN}P|sdMVCst^zEXzqxGt{!Jtibd=KZ)P^Oock z#$lR!-Xf9$7RL=pNSPA*ds#_{utPGntn3P6f?Ki+A-H<{^W(NiKMhSiK=`8!Lw57Y z4|IR?WAgQ$PU6?HO1|90%jxsvYeQ%(=wZ4*ODp``&g0K*T~c^mt^_RqMLSv2fZC!h zht|H-J^$kNTy{H$wCDo(HZc&p;sE$Ju`>|+y8mQDSpnrM2&@XAMSt8fy?H9RpA>y7H_i8MP!!$4DSo9SLwaR zy^&dddcO8kTAs%r<_X~UmFBk3Gpp@)exTPUu&aJglh3R!<@a>gztP?0t6b7w#fw(X z9PDlx)5El~`r$gN!`T#4fkaN7($Qjg!CQfg-X)$77kv~-rWXT@T997sT;k22v+jRr z6OWlumklys!w+Phzz<|zHLeMr7&kD*=vH~@8Q-8^1grV?;q^$^m+$d>8QXezCt^@cVDq`k;{bsJ|)0z zjAhCJB@A{&MhW6;B^^1aUJC zZldMe)dl{$db_;5ycCPK5xy-hFT>$Yw21nZg}{6bz{v88&<3Huisho15t< z1Sq;FE|pg?*gI(US9ChIRqx2)QGH|L?7Y&t00$my!@%%J^DhByJl--1e7 zbl=zRD+b^U7;z;8Fde0v;1z8+(_C5&?k<6Po6f$m$v5Oy|~V=OYn{BVD^O<|u#%fsEf zyX-L99Ul*GE_7cm-!3kku3WyIUD!Rje0z1FdLpaBKiGpx5?|-puUS#P%7KDD`yAWh zO%obwu)jAr=xrt;jtXeehke++_zrE{CDad_jB%o>S)kt87kLvrDT@k)oHHM0mJzxH zLDL3=8Q@_MX0G99=Td(G+uD7cDxZ53tl|cK`Urg!tYQW~J31~qf%P*3)o?a__0z7@ z-5FJSEIx=&;+;4XC*oXu79Yh6@mM?&U&I?(>1*y?^E@+7DGybpBff|K7`+azP#HzM z;3o{>Cmze^0X#pE&pYsZ7JYo12WjzhF+4J9Kg4S*Rl!AnyA-Y{`> zFjbK?3puX&i6Lca6feCXERVd$=BCR9$&D2%=H?(MyM4pkjL%oFy8yttX*f(OIMaq{ zCHrxEFO)V-_`1cZt+|G}Mqmj2BY(|ejok|)TTp-PRUFhNo+@_9TDkP2c#H;#a^8k{ zU=hd{UcHyCr&_O3_PK>}oi-T?u@nWi(PP?d_xGjpyX^Sz(6c=(gbS3p2b8e{N`(+# zEhkCP{>xblP=xAZI}~)S9W8G#QcSpR^{haHm;peDVkADkUM)XLA0``_r{G2KUXXOL zU|N4h^0~FO9xYL2e9cGNDqrB(SZ*5@t2CE*xwCUTAk~sBW%eL2QjHI{0Q#9g;ik$o zXTSVaZN;pRKN3x$odIf3xp;~-tt`B^&cPUE$(Dbph8VoKnb6|v>WC0G_smAwXgKft zQRK|l#3|oM(vjBvUDV1s66j$%T6|oPDh+>1Ls9^PzvDep=)svDkqd724ew*O``&JV z@$1!7$V*U&SmlGMh>mpd^Y<511u&PxmT8=NE?U#Hz(dmdaQyn2AV2gdKdjg#y_C~d z%0cnEbs@W@#!t8PBhf_G@hOt#eePbDD^x_LT}r$zXJb@j+s*J`xm#ZS!`5sKimHG7 z{mizSQDQ0nNw4ne;otiE`sg5^ef#5qm~fLX-)sC+ ziD$E@eRlrp^=tG`^E13Wd-CF>Ena`ZlM3udzG|LAg1!Z%l;6CRcYho|JICKQC+Bbe z))ueeyGlBLbNu*uTb#1Pn=>l^U-AVT{so@N@kv|!j*oa>(iVSMH9R|gcK+`5`B_{1 z-AbhpgUV;lPv(Y$5}IV@?>^ui&3QWc=#Z!HN=PA(?$*gqiNNJ1`KNg9r$2v==X3I! zu4Kek&Ge3$INTJz*8Hku%U=QD=Kx}yj_!=~9(F&$s^RW!$ZrLzI)$NQbhcYwvhxt8+>oT z_YB6lxAm&E^Mz}{K)3hpIaz;yNo?|j%|M8)lw5hkY;`(9M{aPxsM(!nHbA&}j`~s? zi3YbIn-=3(*k2d!hn4Lfz_Ui-yTA8W4(e5XysfGxyBV@grHe@`1e@bUJddwbTydNI zg5<|cEP1JTAAOE4I-!3}hB7V&z+2TMdNz|P%hDS^Ub(wo&v9O?a`b=B_C_|>QP+yL zti4UdJ0OB&-zf%@%!*b`tiM%INHdkr#sp1?Seozbef5RuA}M3K!`;yF_)vul2dfT$ zGyw3Y6eo|>BmB$KhE%HIMXbVE*(??I4)vVhaAb(YM5NP4XYDc#&0H=n6^8s&B*{k< z5SUsakxbQ{!6IFtuxCCVV?t@-d~KZ>>0n z3B9?&2;EUD)k|-%GP$-iisnp=-MQQ|BP#;5wi!sc9tm$X2WEeA3Vow;bU|W-8|NBB z*u|T%Oan^t&L=C;$Dj)7RDgca8vVpLU?BHh9EB~})^?7-%n_ZZm^#NZX-M#ij;qp2>8h$+EG>dZdu$!HkAj8g@ZpYK<$tT=Z(pg{7maVjX)Y+Vy8fm+2 zHtIuO;vf~C&`+$#m*C3w2NC#v+dA2k@O+jd<+Asl%p_nXcAO!5{X2t-kis=mR5NKEhfP3!cPD2yXePWHFovqgW0NWyPwQKy@4z*cPk7ndiXLrW z`YC@t&3vEi0K+p%=deFO0Qx&y5RZ1BOygSe63uc5hwN#hi6s{ENJh{4^FEyCWSp9- z9QWPNxF+DYM^by_c@s(BNU*af!N!>*kq<(pp+zlW?K}15X_jLUxerjE%uwC)O%|SJ z%1fE#vUP|GP1AD3y~o$Mt1OQ&Ej3`#o<0dz@idEI?~zXkTfR`q~n^yWtXh zl<@mZ_1J(;ixu6WclEI5O85NkuGD>|gTw9(;uemb!IC&Rm(OOWNg{n3vdc8r2eZtk zJTbF@jODZtJ@3!#8*1cEM4|5xpMHO~LfBed(9i0!2M%l#HcX$`q8Jm)Gqeb3Lyzzc zxOSn7Tb828sPT>hl=KDh7?-vi!=GW#_(~!1UZ<|}jaRqaWcw#&)09q!(w~-$e`l@J^{jt!Trwu= z3t*CelVSO!DY_2H3*0gXE;q|;nAD_+NgXxr+j|F9)&^CYL6ve)mECd=gTyq%f+ZKT zbgT9bj#4iT!r-b!&Ctpmna(^=o}fSq}8YiBS>fTPhb3Y_Up6L zU(oL%9V^d_NsmR3cn3-iol1W|ZN!=iTQVD2SL#I~hKbHtS^t^4D+hBM-}=hQ`mHwo zgamTmV_6x|?Ig0TMgs+d#4~#dbU}^>I{u`eT&tyAStS{_TPWp*LwuIy3nYfOm)YmQ zRgSRIC^sO_|4y5pZkA?sEmryqAV`5 zr9r^bCaJ=UPd(R#<%RqHk*BpoMz#;xo_wEhYzvxd(NdbE$c{G4E2sGR{0%!K(rQV!7hEMf_7-#730J*o*6kr zgpi+zi}$s7)a)XX#Q=X~I`(*!8Yf^frFqe8D2!ZqvAMUaFk~HrV?SYNNu(Sxf@-6s{Xn+h zu(oJqB##lmi9&XWNdh~Z)#{@3HTxqK+rfimxeaa}JW_cm!@p5E^ zWLM`g?LLRpeuIB|z0~{8(A=eRBw>1PFRP(ql{#210Qj^8Cq9H{OaljP$$i+^8d zg%;}Y)($KG^KEq>f1$U%xs&y9q)p~{?x^vncp<%AWB7kB=wyC($B`eDv#;C^tA}20 z2qS(aV|iR!fgYdua!y1Ju%m5)&;`)-2pWfO0Lh zC7Cp~Gh=`B8U6Cqqoiws8SLa^WZz&mn#uv|>$18y2DI*)k-rPg>H-FohW=-#h~vnp zA097JVXl3__h?<1-7?SS^CZ7)E7b{ow|gI+bp^dIEfJNv{!5g3jypD3bQ9UpXfHOM zb(H8zT0F8`>0<%?lz5Womzp}!I8b1`#zuzU((8XxgjmJ8-fB`D;YE-|>-8%eKyAVU zYfX4$C@!`&$xs(j2X-JPnH@8v7(3X$!iEX_`~n8EoP2$mO%ou)8xI#njK-x_#r+HosW1ZQj(O^&L{uLozUuxMTMAaRLba?PW{$A1{qhZd}h7PJfF$22P# zZE6t*q23TR+4x*uR?Lm)!vf2vGc;2hXL3)ZfPT~U>|x4VLPk9xK8mpCYlY&`jSC>r z!VPlDAg}Q-W|aD_p$?C}rk?Mu<$gJuwXc8pRD#NBN||<|YpQhpjvN28yUp$h0}O1s z;k073zRKrv%K0oO#~v)O$*tg=zSg(AlBt7uP4Z|1HJvnwpW7V`(4BS{-w2{R?aNjh zDd7K6&}E;gNYpSowzRMm8m$3#UCSYKA=^bD5{0RIvh)+X&Ymk&F^`r&yXl<({O5mt zf|43J;BO4?VuX*LAKMsqoac*sDqRAz!2JNa=~5kU0g~j=QLq8S0#uEn6_jHqKhT5k z-&Fr=y9xKvysBdl8SJUi6`b@V#!hk+j9j4EuJ(VED)P?qeWMODv^7`4iG~Hy9_$KR zK(oA%%;jZNXqu8;#xx52>??r67|wq@Sp?`~y1+oNR9&YZ-rap!1am*tiS^OSUAb=T z5ar7%93l5;q%Uz;jg;i388|2^F)9ArL5Y!dBv~H+AoC{Y5#XS~)7ZEH{G?Mc>Cjs6 zt(80_yh&oIS!u^rYs{fVaj(vQJ$ZAF1GJOBK0bMU{_NE$O5n8bpF|1fdM1C$0o|NR z-omJ%JteNgcijLxLxR3UBFflF;TI**I-S)yXlvuxxk-h`OZa`JF32^>88&icgqulY zL#!2+Dpt#uA;mK8TEiE|7a*yD0UAKb8%uH$9j2pdnhj6-=BS-$;W78R5J0@;5{zY7 zM2U=1?u5SH>sO=Hp`w+M{DOb(I9E&5JYro6Ef}*;&fK}ME2{0*`E{b5aT5dD`kc<^ zWW@9#(Q*X5CAEw+GxEG4mQf6p>KL|fMs5sc2&iZ|UTPdNY;eNPBTGn~P+=t7GEQA9 z=&vIcv((b@>lW&u*Q$d#d%Jdh#*>h}SR%?E1Al+0i*0U_Qlk8n4w--QprNFCN6g0o z<^nKAb$;ntGLm2v%9CO)uV5qyW);sw#j~fFOtkT__017e$J#EoamPqFN37EyX5^%C zfN|gCAs=N}Jlot{V&BkE5&eOxBPxg^3^;=kM;(Xb+JPnE4|(%wUnOA#Z2*LqF!wCz zAaN+?BR`SzN=qY~Z*+fj>}fGY#WQ*Jjshh_U0u6DMyMr{6QPnwE5OhIWC#qr?=k`Ex`lF~P*DYd zdADDmpFIa6YpIysy7A5CW>;I1Im(H5cgZ12c>`lZ|ICa;PiU#_W*bx+Ym9U@)&~?$ z6S}l8?J0k^tx7#5IgDazALm(d8G7+@PeeFo@*Vw}TDL39>B#h7b^2I$Q({Nw&Ug_6 z>c^pC_CJ8F!nsQM)~iZ^lVQb2y6dfN%m&z1S}PJ_NmXnD^m8iJST;5|WP&^={5d-+ zeIWLFphy>mU#T{cIkHT%Tun`&2W?FOMw*i&cus$!3|%fHq&Pz{lG8d;H{3_V@$w@V zsv>m|w=q@0>p9w>9r6u#q+_yLa#x9YW>7$ST!#J@$i}yEleCS9mEerb1RMda+&Kyw zl4?CD7nGVWh;iMk&1xc)2d!AHJI`+z=$e-Yj~+r%X$C>&xk&@FQ8<`)nhQoi^ zsYQ8S=PrW1K&P;XG&cZilXd**RsAHguR zWO|jLK-i#zb?0%N7by%uerxY&O^JVL1>a&A3tDqv_oLL){zbt9^69C#ZH6php`${e z{*sozUPl`n7@W(yjO2*{+R5l$Ecp_Bf{=Jk%zxAM0tVQDUQJ>QT8x?pcoQL#LquHB zs|Cu714sk3F-x>3aph^-?fAY$D<2MNriuuk_wqf z8YIZ02}LQJun;CE*X_Xu;GQX>7*#JMA7Pe|r3ILuqcAcT2v3GMh%b^3bbCTw#n5Q? z_pl5%uy145pRH8T&(@?W06MSpYzgG^d4_x8WO|j<88~GWRWsRQe395m{KZ@dRxdwk<5h}_oN~XY*OvxgSkiW{&Mr&gk8cd}*Xl5sX_mc4U zM3x(``!HPhfpl25FeVq?pQ!dnbZLW{)baEyO+UI+%@4C~yhiP3tz{HhpqhGIwSQ%e zLbh|Zs#z;70A)>3Hye1ItTl^)g3Gf7&~*vgZjxvev0lMJ1U06^nzDaN8FpF=hO82! zJFA)Z*f}dxgi?Wu;uF4>6}o~Dl63mY;4W)uhUdnE1cGyJ0i6M7RNfz{c57bbccu9KD<2HLggEf4HXR8Z;K{?y8x_IWz{416V2+X)(cEj!T7d zhV5nCuDVCs6VcgeMFD>-W!8L*NQ85lX=2V5)+IL5na?qh+FAa1x;$SklV?lY>n?#c z#r=$zKLf;ke3Q({*q8RBurDuY9e$D37p8*KP&X!#WRn*Een|tMx zntff@d0QeMF-kqKa@~F?h=B$I$uQEMNuL2J+aTRH+{>e4-1L88nD{B`V9q6gp!reR z$whwH!%lV3as>mZn9J(ai{pZG!kl}jme+s<%}EPG*1#^rhWWCBB3&Sq!vc=mi`BeL zKgD?(FEK13psDE^1N7)f%RNrl<7qg$hD~L)4-?O?wWMv4+}I|09c%o8+V;(Nl*Z)3C`LAGMaeLv zCLl=N0L!!8lX}T@wd6*dJz48FjkDH#Ft^!8$!x7&Tw2YMyk%@l{jBYEHoDta7}-UA4eVbbVJyWIt>za_B?+CkF6s9id>5ub+y@pMI@&P{?S% z#wEXdqprf%jC_M!MZnp5_CbpBUgM^eBg-5UA0%#L`WRP+NZd%9XsfV@iLOAh=ME6pm~-Lvw+)O<_c zDQu0S-)5EaDKOvMjE#p+XVcLxAXS`=V0q~D$Ay0~?Um9V8w`!K`&$5O$(IRPR+5CD zp(~KW=23okhl}&a0(Pb|Fy>yQXd^Zn<-Gc+f&TkqYz^w~v!V6&`;1q~x2oqW6262u zUQVByYe=ap;vkGuUvuHV90O0%`#`e^zEJ&sThA1QTVz9q(#Y*Sy(yY+a44Iot8(d6 z_wIkLZ*7+i?Ic#+9`f@1Y)Lp739woL^~^qZkg6ta0l6JTi>@E(%$13VzrWKaxm>64 zDM`Tf{v9-Nx6!YfLGucLQ%__2mzjTtmfDn64QblnXwW7*6pd`CLgmNCpSycK zQmNUf)*;fw@(JutzwL^`pZ$^ETVt&#LTtQkWkaN$wS*d;R2c9YJzk35dLRp%sjLRd zz2ed0Kwq*=gryi{?K9NBQB&+|1>U2`v)1??HF{u2-ml6dhle}wx8(=xGTe2b^1Xj& z-rDJ^n%h7pN4MXB4Yb3RWSzs6K3(lauuJDuV<}JKyyRYkqU44^+hVa^+T4FTBc^w zD$TGkmQflVXrVcsEt{sN#BnY&KIo8?`kr0Kq9MBHGYuknJd5XZxaWC0S{)#L=l0oT3W4vGM^gaV{>3eyd0k~XaX$Rgg z<%?ojpY66{GTQHP$yFB}<*}LrMcdZ#zh>)Izu7^wYfb@>Rn;o2Gsc0J;yd^8JicO` z6IiVLk1U5Z(W=MoX+oJenL~e>CZ9Z}_4{0*t#Kpyufgdg!eVNmriu4XdapsIRQq1$ z$xkd{50L&W!=o#rD_xx%#DWW|Xg9w$hNh%ruF(Ekkz|lML%r%oYAstCw`H22yQA;3 z{n#c{Y{+_#oVQtNOO;3YSU)me-^X}aI&`n)6g%%($Cu$q-FT|oPZWOwmFD)dH23Uy z`&r_>B1R#}F*I_~(T1lAHKr9uW;aWT2J{@f-DZF-vHc6GZJ^WJ z=uxt()=z4dq5~2jvu^k&UEZvSVK|$_^8~O!fwUYjoxmr4NOH_l#AumY3}HE?%IL7C z*8k7O^?w(yrfEhy!u5Z%o=$h_sj!0<$upEXsZmXc?erqCe29w#J(`&m<>Sn9R|q>r zrSR-|PD_~l@H)d2(}wppPR`Dnxq+$lXQ#Jja(Js_$r8S6a915pthGn_Grd}+7SmcnOlsZ)nb|@p zT5-sLxBdFn*|UH1XTP7kdv^L1V;b`mi8$PSbMAN1nC$bQre-2m>;Cu zc&$|sW`}>HcBIeFzs(#qox$E75)N>zZ*C5D0mlS`-Tlpk15lb1_ut)8eVJqYaQMh% z`m2*E*r7~2m*L@Izki3%7}ap+E*K1U>C@gN#zfsS75sx$+;n7VdM%-&`EDZPq;{=hg!`SBGhr~oSohUE@0Vs9a?ql-uT z$&NTU81#B#e-|Ei5Ae@!AKrHc@HoK4!JxO-6Mf9u$HacWH`o)H^Wn~3?{bt!{Z0_{ z9}Ryt%Zn5vkHQk|E6MF73if-}hXKhZg2~af*51)jnngihWj#C`i0m%X)$VY$LIo9C zNWJmaB!dk+WR>q@;PhLBBT=3pS~P>e5)k@^vKA5F>GRwXoz(WPWJRDDsqWv)- z#yvP_5t*m}<06hG-JNg@~&4)G$r`RiUgL~Tf@fW|=m9R}#iZEbyRJp3{D<|c9g+1=fPPwA(4 zK26Px$U5meYe4yf;n4sg0DMD~!zQICT(I5E2`p7#VBm9nhu6cyhw?SUoQOY=Ayt1l zb~j^LVsMECVp(7SUk?O^Oh<3yN|$LV%*GgAUra6q$|08t2WNq!gdsu?xZTNxf|keh zXjurmTycafGx%J44`H}ux}n*+9-|S^ys6%OvKqYo!(}0V9l8sUD%&jR zi`@a3Rf|nauPptRM+3k)yAKlcxoFhxFFN@a7PJv2kkHM{tc&Ik4Vu68(0iAhiWf&p zoOyelpq05~u2VsDp?oVUUMU$P(H527I{AcCNnS-6Q1W>PRV=j8Mnc~^fCli_GO z4wgO-KJVrjO%a*l5`*u>9B&UGU6(`JV@UT=_GhSCVdm@Tb_J9^>?b5Y<4PS_Q}P~X z)2C3`Ehh}Gh2&o5Lb_0b-BhV_M>P&}SMPFDhn?=q4ydNw-qqXf_N$5xKMs1MxT&k? zVrKxSnRv7h$JGIxTX1$g8o+-kwkrmE`(ki#0B0MVZ+io=bFeFR`}=U>VH%u%0y03+ zgC3Rc4;pKr(ohmh^nR$&`X+XFxx~YLrxex$hwwL=;=-3AgR%4BP3JhD;BP^3@!z{(LZ`})9I04FU1^6LK6Jjy)?w))F*#r;56SoDqUhq zbH3M(S!3FXx2^4RsNpHpcN4hR10-A(ekop)VIh6DQT4+milNVA{#Tt(9eqm0N#$N@KUN_Mn4%qq3uYyyW@}+8OX6 z)JL+lAu;n$tA0pwwGo{EqwqFEB9{c&>iSdbjuzq|gdKl!&|QvV%(Xjsc+h{;>mBrv z+1c&P4-e-e$1efavWc01*qw_ML$w?pF7NQ;5dR41dS4XXXlVrFGL+}ll@8_U378Wv zAYk?ZHo_+_UYt%$?vVj=6{Qv@YndHMZB|nIP`)IR}ic?5@JW%4}x~!Pn zV5+CFwlI z*evbr;*mn<{ZX{zXUTwmaU~F!7cu&8+27gZ!m!l_TNgkA?LR^i2p%31Ed&(N!9$=+ zdh~QaPe>y5m|&sDJ*HiVY67xl|3E$u_!%jwokv7|F;&F`9Ft{0j^R5!@9{H|X}trY zC;5N*5j_*>whPqP&c1x!Wjf-+`|4%RavV?T8cDhd+CmTfXkeS1fzr(bvJ z^%4k&C6EbZN6?u!z?t#}gJ7@^FtkT!&~?-s;XyqeUw5LxFz9bi0oVZqQNtUPLb1E4 zpDmdbS95rHaEDJ15heEr-D{wHR?!7?TL5za|6tn1-sQ#gvNHh^1+(rU{RL#o!%csF z6EpwlxQGuA_wQ~F5BqluI08hlv$+T{X^NuE$>HJPZV7anSRNkk;;|0&!xhuDIExRm zExe%=Un7rlorg67b>`EjE0-kAd^(g#;;%&ZUR7{z$xF-QEB{QF#NsG$K;Y&A`EQN7h$ zzFp%L1djJzDJvjXE_Gk@%dABWv|`mlI~^&6w*Yj1ic$p~2dLO4}K9 z$wzJiPn(<1C#-fAv>(IH%1YGvp0*ZQjy~?^jx!({gW=GKpub?Kk?Px07FV zs5AxqeK#Lx{GNO`2V9|pNmK@>Uk2zp{jl4ovh||6Moo@wCgXl5fk}Vq12Mc6(31q= zESo3s(kK>bvpLN8Su;@bqzEs+I{OC z1}O9Zu;zhQ{>jk->=2f&(+PWQ%&Tm<)XYGBIM&M!&^_V5;UB1^N8*EYSWs`yUY{wD zW1Cd$1#a z_f?StRfHZ4$WFOA%%1@7k38{>Y>-~AVUys3mk|n$lJUV1NKAiN#8G+(xD!?$GHh-x zg7k2I+}|JW?}pWl9?g}i9y@#$POb2teM-TashL&4|EWW={)Fm>)RF3qtoAEqI;OuL zqB(xR20qCCtA3NK2F#Pw-h=`J^)# zOdL=mkc)2e4kds0{N!Cq-uILDFc}E*ogF86ACrl`c9I`ba;@$IOx~&W{AX{sv_W!%r2Xqj@?>P<6inLrN4ZTrBUsDs{jQMsPz3P0E44qYelwq_Cde z1ga?$E7^CceETu^%JG302`Vg;{t$_=Q-LHtYu_awR#)V2metKFvg(bC^7Q{v_pa-0 zBgdlXt5ARVW@!i$q+N!DI#XJQdR-@B`;tE%hb&ptsW6%tUWsTF&}gMtxKZ&AHcT8GhcbeB0y zBMj*PFGaUqEW5%ly!@cx)kq1tkUu#Yje;~~edB*J$-rnA?RaU>l*V`p5+W{CTcOm; z+U&uO8Bz#;pN)pP4i2wVbSFYJVu1K8MZci*41e=HGZ`xM%hsZamObPbq*O!0+OZl` zzG1oagjoSNm^=29Urs-qUshdd(n^Rt?@vhZ6B1v;1CuyWX|>=4-0BQM9?=R_ks=KA zAo_o`6}0^2m~_~M>QZ6OBZuxyN-)XPoJueWa2L`9g*ZURvQQ_W1*rTS<7t!MZRR?b zmp!EcG0~iFt zh&eweVoG8C_Nm|gKi_ZXU(s*uEcIFpz&y#Q#2W$ zN@Q^%Z=&~@w}TcZLU!ZQdIM9{+d(tm$78Y)mOu>!|&F!7hO3_o?S`Fg}Ka>KKh(HHaz zS_5QTvlz|u zmSom~F6Shs1XA|;MjQvu%t1NXJsOOTxM>D?UqN;Zts_QW50&fMH^f_wJ)nP<$4B7+ z`FC`a4yPcb*!-@T9%7pl=rQxh=Z%|iI6C*oXcj5ZF**I#Z`to1blHJdK%;!%t7B66 zSJV7A>(q!s1{mi)0i=B7^_vO#KIh((_~FKWRFiFfHtLc+l($94ZB-~*@FyqJOQIig z-hhWr=3q{S^%3hjO`7nATPYGN^@PAwcsSBt8i~~T z(ud0D!50Bd5^1Vi3S629;WM1Edv;;wTVaaMg6hJ7OmP-S$-V*Dlmd@brs5>gwKy~J zV!ksAiqed@4*79hmvet9rm@$R#wQ!rf!j=$J1%62#L1jIjLt=TJQlJ*>Ffg=sHu_E zCBxA_uy=r4wHvTnjD&dev{_rPtJ$?RJA0^Ifb4FHKXzCY^k+DMF!9P=c*whY#s@Q2 z+|Box*FD{jfcg=tegNk~{m9gvkzCM+k;zl)Y{zH;&`Df|<}81?G|_$~e8%z?gMn!b zV9F}fYcl7-cjA{q>4OP}0H>(|r-gLnm63g{g)lO7852*mNiK`kxvZbpR^uoXjd~F+ zYeg-t7=k+h1yoP&g0!w&2g!|)vI@59;jyQ7e5h|hfpsDH3t~EZDZC?ph&fBTiIXK|TCzqSggGy}^emkju!X92S)0@D&CQOBi zk7hlym}jKFf!;IN7g8o+3dwq5vYsh_zLnIm_y9G&8B1Rpx610qEcabjnztD@$uYkA z{^;TXov6fLwGqKl=c6KdQm_-Ej?h>)DeM42K)$~iQ<_!HW>~I&3IY3WT2daQ=sG^9l{5(2GkjuH7xO+9XWyjD+Gfyv*UA@BUqR!$Xa3 zhcsg{(E+0|&DGFMQMsBozQaCDLi2WN;~wW&aF8OY%4}Vjr*BxxSVNJKmky$%Y!Ed( zD2aP=AG;7-N5HIqWlfBQeLLOW79Sh8(;LbaD-8q2&)_%M*+e?~vSE7lc~QzOS0HLNUoiu0u7RvK*Gky9Vp*sb;ift^%}cytUR0fdD>{?qAz0N z7`H<}rt324idVGkWQD(8bDb-E8M1_(`J$Uy!e~^PJO8kM1fK7owdz$0S$e}6Z!Le$ z+_=2UpV+1VvifB3VOJ=n6*F=*G^xKPw{kHf8avy?on6d?W_T5?wsb`{V7dK~^?R^^ zhUKynf(whdEiD>V+m99I(#!}!>ni|&HnDEz$SINDfsxe$UOq^bDKm47RrtpEi$cEd z8Md;uhNEzAe3oei!)8)8_b%KTp^Ir=AJZsK28?+Bs3!PPwJiW&v#V^7@Zy;_m4a5X2HuEyA5W4>OA0GJYZ`Zv2GYG1118%JbfYCKH*~Ru}k6> zQh+{xo!0Md5yC_}om;x>-*;wC;z$IjT+ZHeDFGndH2g>4wsZJ~bu)sHi3SwK|KLy; zAx{glH>k(W2SXM%a*>^-0WL%j7eM^+F~kNIV*?^o=4!VQC)Dd04boK2)_l>^b0OtW zl?@eq^~z3rB3HgB4L8R=E}j|fV)JO1v=noHG0?eO3a0&kMr}uEjX$rLYAiQ@rt$ga z#@p2RLj$1k;Rfge6CHS02!&>emHTKGk&MGv%3MMD2^D2QEZT!HFcb{Z0Ar0w`bC({ z8#}&vMkV6)7kR>RODas5(_2b!5tH?Q zdJ0(GpfHiZ{P6CI(~&--AbG4BA(Q>^=B)PP508`l$5suURa2;A@?jM-N)!=A?caZR zyvxad6}cGmXR{jAy+9{KS&H7|II0G;(FEqkF5zq`CuTzJ&c4fp+nvLXYs!x&-bv1} zK%+5uz`=f*){Vt*O1`>&cznoJk9JajR40S8CuV*L$geaxQ*D3i?|-JdG;y-tJM!%D z7LGi7yg7%FTkm%ub`f=g?+QqQl^Co^W=bqA0kP1hz>JpV^&DD-7Mc!m5joFpm$$i zoltc?)%u&{9>!RZq!m&&@;So5#q61f&}PPS^%EF+4s;LP#ft%k17X8xjob{Aw{gFv~{OOf7}jm3jVOhqK8T0c=z=$w-lrc!&~ z;Mhc7;^~_M9Y%9u=%^Gw9rc-t^f92Ehaw)*ifi&f1Ex_1m}}zn>d4)pkUQ((oa*3= za61qk0>nbVfLBlkpbWDL(X%Y&w4Hk0CfOnXqUBdYzC_C}N`!b{Xs4DV_jp>SIteZhUm) zWAL=Czf6d_BDGL*JA~JN;XQ28ikze=Gyt@I{tU1urxNp#~% zj3nutt4qt)bdd@^4F<6S0#q)_nEg9l{4yySOeb@AHS@?-0`@$A#@NP5!fA5wLa|zGfr38ugvTscbl@4VRomZ zW&c{~Ipk4rJ17Pfj1!4OiH%`4s|7a6MU5KEDe*rpopw2Y(rS$!`a{~)`oCt~x0`)h zR=mCIYI)3F+k@;V9w@tfJ~IFmqCijO@81X+1Q&de@@#wGWk~4pEs#Hi9|742)tFpp z<1#6?$j#=4^0LQL&O^QNpIhC%zS(kjU(_Y$oN5y<7+$r^o{}b$ zsoc|Zxn6aD*qSebDTW#W!gBcZs8ro*?K~n#ZCB8XgdeB~J5LnE z*-XpGD1x4_=fRMASvgqfO$6! zh|x0wv$A6oBfIfS^Ufj0;^m6O9XK}883Pc?_)A{N$T87^baOgR2e7Y)NdvC@R!5z= zqodBA-GIl=4V^~Wb(h^AhM3+LA9ru?P9!{kX5DJ;86A^OlCJk}2I$sqMzYD>-rm7} z`>@k}g^tj&>%$wn(Ff4&wfnE?-Q8XIgy%z}v)4PIFPI5Wi3Uux%mLkLh%`7IcF+UT z_G}20L$Ur&zoLQNQUiO12KKcE4yb{o=^yX*gIySf7A%ME2@+iIdL44uJ7~?EqbJUP zS>{XT8t99f4w_D9Lz6ZRiBF)JJ@UrJ)bjcE z#?rM_>2`tOMAw2v1t39q1xF!Mh{dH3ZupIKk;@v>ijR+BvyPiAmMXgs$aLLXpteKk z2@>V`J#%=4S}t+J3#GLK-kUXHNIlzsVWQ`IGT}(bgabnkL~bZ!d@_>|(!@BMKJuGk zj0_q=zD&BXpw4Mt{&06NbWOaW#?kAx>TL&oKax4VgU$fD2P~|7_o+g?9+cSckvoO1 z)7^F2M%mtr8|*qA{O9xz$g36Fwqa7g%PQ*svlT%Sd8;~rPhDqsk5#+-&sN)iBUfDH z1ObOGCPLJ|_n%Zh`kpv&$c-4enYiIvwa=|_2P^OOxm&WH1C?}ptOuO~^fAU9e!(mH z8UqxFJ{sE2;eXZt`!4{&;+PKmm19C+I)uM`V0)eaqJi~aurvPe8W52Afg`ZN}={RG*+1-r&j$-zkj`;7G|NevhGSj?lGS1j9t1nA`{0aa4!hV+# z`(^EBUs%3}Ir~l7Z|;ccv&BQ}-cK*SMjw)R5hNKLe5h+%R8ObFYT4L-bkE3!jXl})0H*Tiv$r2_um1eu{L*80RzNEg-{OY3lmI{7 zK`|F(I=oMnV?({J_^jb9o9eNE* zh!b`ff0G-eg-8XMj>sX+WcYmc=KbqZE<{OA=_BAL2SaFce20mF(`vQk{lEdq4>`#x zO$fMtW3xH1LttZptJcZR4f7E)QkFcmS*KX%IJan)Ao7T$YKAm=}jQy+*~ z#|aM{S|UfSOsFRVr%TDHOiuOW)HwjKKip$mNt=w&e{$-7LLcXy&6)D-ubB=Ke6!_a zmbsK4K$}7pi)JSGHOd>&lu4@$!Ng{Tyz1|SQ~DVsw&tl^+Xug69`56XK{V4{Z*4g3f{WP~5C zvm1}q@`Z_idrg4GFebAVnWj3|dN&@Z8xPnG6pU!lfUgoDZt$LX1Y0t+#S@hazTwDK zm)VE!>@t>lahIV5M4h3ADjxpX&0le%{OTj-<)VpQcWD zoi_S69vTCpKhN|6o$9U8wB?LG1Y`Wtg)cxCe+@ z8EQzy{w}0vsl!RMs?>DE38T}>)PD#ft}1mDJDk{4`w}^*f&dkLSo>l}iYRUALKrBL z86UcT#Dh<0SB}@VnghOs-~AtRV70{;0$SWqiNF)IjHsTH#n?q=>evDtGsE!hM)Qku z^NY&n{ZjM3(Y(*1AH1M>ag$b@N8~jt&iw>PCHT|FKf5;!_PhPHK64UPCK6R%>qEPd zpM4uGkv(qsPl3C*rT^IQ9e~nk(+dGmbDIEv6_s{V?x?viL}T142_+8O1_uL_j)owfZCaV zD6=rJA=l?J9rkWo(4N!nH8Q@YC>Del!06pgOS~(g6AxVREE-h+yN7;GH9Cw4uS%gm13qnnU?AEhG}i>*kAOYBy%Ad*HZ6!X>D=#@grXajgVRNHrIX4 z1VT5(>eXzGo-9qmqf+TI+X&S-a%r@GqbD6dK@!t_HM{@PH0!pv)pzpJQ6inOTEUGI zO-M6fGvC{#`kpP$rl3q(mz$wgd_E&T!sIld;L8NYa7;d21eGaI)lq@M z+l|74gsMwqb%kkpdVP6oDE%dWU+i>fboLtEcH;nl4;lxyMxZiAP~srXEs%O#ulwD@ z{^8z!_i(p77N~%l{32OYE?Cfi+F;zCz6Cc=Kk#jvW}3Fab6cPa0P$PLfTm?3sFTTE zDCI){s!kW??N#bj`O45-=Q!wYimPTFG!iZ%yVlHW8RG4@)FYrJ5K_dx#zzG|#@@(| z_1&+HT_5}n28TsWhxjNRpnhNEh1W4UyN~2L0=XE`EjCbz5odo!@H7H{CWH5OrrMgR zwr0mBVK-K}#>YBsV-h#OL%j_spf)m4_lm=!B%Qt5gH(gPLLTfMNGkH_@{2!P2IveO zi@lE{^f}<{b^87GHdZ=K{PBk*jA2gA_mS%6NOf~$baQm$u=S0fzzE9-!-{CPP|_UP zeiYf(Yj|QeRPuTQ_W~1t&PcLnQRjkV455;X!oqUj5OZoDNkp%|UY;7Srx#}GU$j>e z$!n>FR}`wNR}yKfSCU<`R~4V>16Mfmgte{oPw^^yCBuZLLrsqZL&qv5oi|hg6&2A~ z@k<9|OQEs{P7Q9XpQg?`7MaU=Eh2Q$mEflecM{MS%Tl3w|9Q865^pa55JW_?YUbtT z@YwX}%=i=q-^fu(mKHyfZkqA=K{@t16PQQa<QBi69U)=_euk#*FxsWX7cKI9Hpu9DNEpjAJxkUq; zL8J<-%DxshHmX5H4NnnsTvhvK15Bc4Bj(u-%``sfPWZK;G#I3Lyc`AfI>nfgzN_$% zUSw%g@|5XOQxYnBL-N<@T#(i~>9E^wdfXlcF1_V8lU!qef)K3kC63=F6 z)Fu6wz!*^lOL`m-8ir29`pwAzXXz}QxtBN->0EJ2a+&dQvqNz?_~VK4G%M(hJFgh? z=eX@Wph?=vaeKW!IVNM5`qp&4zQddOt<`${AY2`3bH8543L9$QnaAE+=h8WMt_Fs` z`Qj=KP)9O<*Xb8QJnn^SDK8gOOkg=-PR+gqE9q=uAU(I#l~Yq^E9Az1wOrZ*m5zcx1}oCpyNJ%hl&cVi z*~-Rx7YOt*>R(HZ%EInFW6oDj~bja7k22iOL|ZCVrSCuR6)Kmn}NNPwM^eKaLi9=6;f;g+j86A~92r#Z7x;L$z5P)3nYd}#7^~nySzd|Z0Pbprc z6rUI$nkl(&yyMQSl_*WKgD)Qo0-$Re%-8&stJQ1xZ1V=tq8>oKbYei-e8Uj}Xb>^c zdL6;K{CP2)a3?;t^Pp@~$HQ?8hOlixKowxll{+Dsc7tz$iN zCgfU3nB|j^Zgr+Mx)QI&QnYMhY@*B~A6EF$$cAS=Hly3oY5>PKydV$s z*E4)YFMY=O0H2oL`ze`a8%0e56>l}mB}d-hrf9uumc$DOX4&M9nN^cJb2P@sy?3;K zak>k#JaO zb$RSS02B+i@Dj!~_U^sT4pUAe)Tvy7OY3t@@Mp-VouJAropk$RG7}oswKjvPB|~5X z%}ZH&z#rwFmXg%!lum(&5i4xE&}V`^Theh^-{SL@Rm@v)8Zu)VSXc;7{D=^L5Q6Z* ziNM2lRPI=LCTyGu-GqA6xry!-y}~37?v=y1dn9IkQn$dE0(LXAWzcU(9y4k@TB+We>gFdrWA@{Qr`;UNM&5{NQ)2kDgi3P7h6jQ3}3P}?*QpBhZY{- z0|FHP4tT6)+8o(Oo!y`}3}L}s*wD?C>tU||bj3QnN_I3jF8F_sn7NC85Ow)z^g_16 z9(0Btnk#2SRG#=YHohG}5#-039XFt!18SL4h=nO)f)oQ#)fGW)3Tv?{s)c0#3wlGd zYGED&=R!^djGUHxcob{f?9ew($DVli%`xy@C%VMyWTy_aIPi=Mbo+0D%}%dPQ6{z6 zN6iu5DIMQoca9iGP{&SxATJXRC5d|S%PE@UkpK)wTAQb}I@-QLZ|vHAJPXRsLzMGO z=Gv&0#jjz9j_W-;|4e3_#k!kSm2>AL3nb;gvkhk}U9U&S65Q77cT?Mbgk3pM%P&ZF zHZx+{(QOn@;<4�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�mRiySFE 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⪻ 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

      SD50>(w$N$N=Cf{)3( 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

      FQSAWam7yPIcG*!4O^_DG~d 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

      #GCrS}4xv{XSlcif=J-jgW7ea+)-OXFQ8 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 z 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 0!==arguments[0]?arguments[0]:{};var t,o,n;(n=e).ready=new Promise(((e,r)=>{t=e,o=r})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var a,s,i,u=Object.assign({},n),d="./this.program",l="object"==typeof window,c="function"==typeof importScripts,f="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";function p(e){return n.locateFile?n.locateFile(e,h):h+e}if(f){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href),g=m("fs"),y=m("path");h=c?y.dirname(h)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href)),a=(e,r)=>(e=Q(e)?new URL(e):y.normalize(e),g.readFileSync(e,r?void 0:"utf8")),i=e=>{var r=a(e,!0);return r.buffer||(r=new Uint8Array(r)),r},s=function(e,r,t){let o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Q(e)?new URL(e):y.normalize(e),g.readFile(e,o?void 0:"utf8",((e,n)=>{e?t(e):r(o?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(d=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(l||c)&&(c?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),r&&(h=r),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},c&&(i=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),s=(e,r,t)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{200==o.status||0==o.status&&o.response?r(o.response):t()},o.onerror=t,o.send(null)});var w,v,b=n.print||console.log.bind(console),E=n.printErr||console.error.bind(console);Object.assign(n,u),u=null,n.arguments&&n.arguments,n.thisProgram&&(d=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&q("no native wasm support detected");var S,k,C,D,A,T,_,F,P=!1;function $(e,r){e||q(r)}function R(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=C=new Int16Array(e),n.HEAPU8=k=new Uint8Array(e),n.HEAPU16=D=new Uint16Array(e),n.HEAP32=A=new Int32Array(e),n.HEAPU32=T=new Uint32Array(e),n.HEAPF32=_=new Float32Array(e),n.HEAPF64=F=new Float64Array(e)}var O=[],W=[],M=[];function x(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)B(n.preRun.shift());ne(O)}function L(){n.noFSInit||Fe.init.initialized||Fe.init(),Fe.ignorePermissions=!1,ne(W)}function U(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)I(n.postRun.shift());ne(M)}function B(e){O.unshift(e)}function j(e){W.unshift(e)}function I(e){M.unshift(e)}var z=0,N=null;function H(e){z++,n.monitorRunDependencies&&n.monitorRunDependencies(z)}function V(e){if(z--,n.monitorRunDependencies&&n.monitorRunDependencies(z),0==z&&N){var r=N;N=null,r()}}function q(e){n.onAbort&&n.onAbort(e),E(e="Aborted("+e+")"),P=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw o(r),r}var G,J,X,K="data:application/octet-stream;base64,",Z=e=>e.startsWith(K),Q=e=>e.startsWith("file://");function Y(e){if(e==G&&w)return new Uint8Array(w);if(i)return i(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!w&&(l||c)){if("function"==typeof fetch&&!Q(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>Y(e)));if(s)return new Promise(((r,t)=>{s(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>Y(e)))}function re(e,r,t){return ee(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{E(`failed to asynchronously prepare wasm: ${e}`),q(e)}))}function te(e,r,t,o){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(r)||Q(r)||f||"function"!=typeof fetch?re(r,t,o):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,t).then(o,(function(e){return E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation"),re(r,t,o)}))))}function oe(){var e={a:no};function r(e,r){return ao=e.exports,v=ao.E,R(),Or=ao.H,j(ao.F),V(),ao}if(H(),n.instantiateWasm)try{return n.instantiateWasm(e,r)}catch(e){E(`Module.instantiateWasm callback failed with error: ${e}`),o(e)}return te(w,G,e,(function(e){r(e.instance)})).catch(o),{}}n.locateFile?Z(G="decoder-pro-audio.wasm")||(G=p(G)):G=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function ae(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(co(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var se=(e,r,t)=>{throw new ae(e).init(r,t),e},ie=e=>(A[io()>>2]=e,e),ue={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,o=e.length-1;o>=0;o--){var n=e[o];"."===n?e.splice(o,1):".."===n?(e.splice(o,1),t++):t&&(e.splice(o,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ue.isAbs(e),t="/"===e.substr(-1);return(e=ue.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ue.splitPath(e),t=r[0],o=r[1];return t||o?(o&&(o=o.substr(0,o.length-1)),t+o):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ue.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ue.normalize(e.join("/"))},join2:(e,r)=>ue.normalize(e+"/"+r)},de=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(f)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}q("initRandomDevice")},le=e=>(le=de())(e),ce={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var o=t>=0?arguments[t]:Fe.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,r=ue.isAbs(o)}return(r?"/":"")+(e=ue.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ce.resolve(e).substr(1),r=ce.resolve(r).substr(1);for(var o=t(e.split("/")),n=t(r.split("/")),a=Math.min(o.length,n.length),s=a,i=0;i{for(var o=r+t,n=r;e[n]&&!(n>=o);)++n;if(n-r>16&&e.buffer&&fe)return fe.decode(e.subarray(r,n));for(var a="";r>10,56320|1023&d)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},pe=[],me=e=>{for(var r=0,t=0;t=55296&&o<=57343?(r+=4,++t):r+=3}return r},ge=(e,r,t,o)=>{if(!(o>0))return 0;for(var n=t,a=t+o-1,s=0;s=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-n};function ye(e,r,t){var o=t>0?t:me(e)+1,n=new Array(o),a=ge(e,n,0,n.length);return r&&(n.length=a),n}var we=()=>{if(!pe.length){var e=null;if(f){var r=Buffer.alloc(256),t=0,o=process.stdin.fd;try{t=g.readSync(o,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,r){ve.ttys[e]={input:[],output:[],ops:r},Fe.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var r=ve.ttys[e.node.rdev];if(!r)throw new Fe.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,o,n){if(!e.tty||!e.tty.ops.get_char)throw new Fe.ErrnoError(60);for(var a=0,s=0;swe(),put_char(e,r){null===r||10===r?(b(he(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(b(he(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(E(he(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(E(he(e.output,0)),e.output=[])}}},be=e=>{q()},Ee={ops_table:null,mount:e=>Ee.createNode(null,"/",16895,0),createNode(e,r,t,o){if(Fe.isBlkdev(t)||Fe.isFIFO(t))throw new Fe.ErrnoError(63);Ee.ops_table||(Ee.ops_table={dir:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,lookup:Ee.node_ops.lookup,mknod:Ee.node_ops.mknod,rename:Ee.node_ops.rename,unlink:Ee.node_ops.unlink,rmdir:Ee.node_ops.rmdir,readdir:Ee.node_ops.readdir,symlink:Ee.node_ops.symlink},stream:{llseek:Ee.stream_ops.llseek}},file:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:{llseek:Ee.stream_ops.llseek,read:Ee.stream_ops.read,write:Ee.stream_ops.write,allocate:Ee.stream_ops.allocate,mmap:Ee.stream_ops.mmap,msync:Ee.stream_ops.msync}},link:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,readlink:Ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:Fe.chrdev_stream_ops}});var n=Fe.createNode(e,r,t,o);return Fe.isDir(n.mode)?(n.node_ops=Ee.ops_table.dir.node,n.stream_ops=Ee.ops_table.dir.stream,n.contents={}):Fe.isFile(n.mode)?(n.node_ops=Ee.ops_table.file.node,n.stream_ops=Ee.ops_table.file.stream,n.usedBytes=0,n.contents=null):Fe.isLink(n.mode)?(n.node_ops=Ee.ops_table.link.node,n.stream_ops=Ee.ops_table.link.stream):Fe.isChrdev(n.mode)&&(n.node_ops=Ee.ops_table.chrdev.node,n.stream_ops=Ee.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[r]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var o=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Fe.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Fe.isDir(e.mode)?r.size=4096:Fe.isFile(e.mode)?r.size=e.usedBytes:Fe.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Ee.resizeFileStorage(e,r.size)},lookup(e,r){throw Fe.genericErrors[44]},mknod:(e,r,t,o)=>Ee.createNode(e,r,t,o),rename(e,r,t){if(Fe.isDir(e.mode)){var o;try{o=Fe.lookupNode(r,t)}catch(e){}if(o)for(var n in o.contents)throw new Fe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Fe.lookupNode(e,r);for(var o in t.contents)throw new Fe.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink(e,r,t){var o=Ee.createNode(e,r,41471,0);return o.link=t,o},readlink(e){if(!Fe.isLink(e.mode))throw new Fe.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,o,n){var a=e.node.contents;if(n>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-n,o);if(s>8&&a.subarray)r.set(a.subarray(n,n+s),t);else for(var i=0;i0||t+r(Ee.stream_ops.write(e,r,0,o,t,!1),0)}},Se=(e,r,t,o)=>{var n=o?"":`al ${e}`;s(e,(t=>{$(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),n&&V()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),n&&H()},ke=(e,r,t,o,n,a)=>{Fe.createDataFile(e,r,t,o,n,a)},Ce=n.preloadPlugins||[],De=(e,r,t,o)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ce.forEach((a=>{n||a.canHandle(r)&&(a.handle(e,r,t,o),n=!0)})),n},Ae=(e,r,t,o,n,a,s,i,u,d)=>{var l=r?ce.resolve(ue.join2(e,r)):e;function c(t){function c(t){d&&d(),i||ke(e,r,t,o,n,u),a&&a(),V()}De(t,l,c,(()=>{s&&s(),V()}))||c(t)}H(),"string"==typeof t?Se(t,(e=>c(e)),s):c(t)},Te=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r},_e=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},Fe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ce.resolve(e)))return{path:"",node:null};if(r=Object.assign({follow_mount:!0,recurse_count:0},r),r.recurse_count>8)throw new Fe.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),o=Fe.root,n="/",a=0;a40)throw new Fe.ErrnoError(32)}}return{path:n,node:o}},getPath(e){for(var r;;){if(Fe.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,o=0;o>>0)%Fe.nameTable.length},hashAddNode(e){var r=Fe.hashName(e.parent.id,e.name);e.name_next=Fe.nameTable[r],Fe.nameTable[r]=e},hashRemoveNode(e){var r=Fe.hashName(e.parent.id,e.name);if(Fe.nameTable[r]===e)Fe.nameTable[r]=e.name_next;else for(var t=Fe.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Fe.mayLookup(e);if(t)throw new Fe.ErrnoError(t,e);for(var o=Fe.hashName(e.id,r),n=Fe.nameTable[o];n;n=n.name_next){var a=n.name;if(n.parent.id===e.id&&a===r)return n}return Fe.lookup(e,r)},createNode(e,r,t,o){var n=new Fe.FSNode(e,r,t,o);return Fe.hashAddNode(n),n},destroyNode(e){Fe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Fe.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=Fe.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return Fe.lookupNode(e,r),20}catch(e){}return Fe.nodePermissions(e,"wx")},mayDelete(e,r,t){var o;try{o=Fe.lookupNode(e,r)}catch(e){return e.errno}var n=Fe.nodePermissions(e,"wx");if(n)return n;if(t){if(!Fe.isDir(o.mode))return 54;if(Fe.isRoot(o)||Fe.getPath(o)===Fe.cwd())return 10}else if(Fe.isDir(o.mode))return 31;return 0},mayOpen:(e,r)=>e?Fe.isLink(e.mode)?32:Fe.isDir(e.mode)&&("r"!==Fe.flagsToPermissionString(r)||512&r)?31:Fe.nodePermissions(e,Fe.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Fe.MAX_OPEN_FDS;e++)if(!Fe.streams[e])return e;throw new Fe.ErrnoError(33)},getStreamChecked(e){var r=Fe.getStream(e);if(!r)throw new Fe.ErrnoError(8);return r},getStream:e=>Fe.streams[e],createStream(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Fe.FSStream||(Fe.FSStream=function(){this.shared={}},Fe.FSStream.prototype={},Object.defineProperties(Fe.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Fe.FSStream,e),-1==r&&(r=Fe.nextfd()),e.fd=r,Fe.streams[r]=e,e},closeStream(e){Fe.streams[e]=null},chrdev_stream_ops:{open(e){var r=Fe.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Fe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Fe.devices[e]={stream_ops:r}},getDevice:e=>Fe.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var o=t.pop();r.push(o),t.push.apply(t,o.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Fe.syncFSRequests++,Fe.syncFSRequests>1&&E(`warning: ${Fe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Fe.getMounts(Fe.root.mount),o=0;function n(e){return Fe.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,n(e));++o>=t.length&&n(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var o,n="/"===t,a=!t;if(n&&Fe.root)throw new Fe.ErrnoError(10);if(!n&&!a){var s=Fe.lookupPath(t,{follow_mount:!1});if(t=s.path,o=s.node,Fe.isMountpoint(o))throw new Fe.ErrnoError(10);if(!Fe.isDir(o.mode))throw new Fe.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,n?Fe.root=u:o&&(o.mounted=i,o.mount&&o.mount.mounts.push(i)),u},unmount(e){var r=Fe.lookupPath(e,{follow_mount:!1});if(!Fe.isMountpoint(r.node))throw new Fe.ErrnoError(28);var t=r.node,o=t.mounted,n=Fe.getMounts(o);Object.keys(Fe.nameTable).forEach((e=>{for(var r=Fe.nameTable[e];r;){var t=r.name_next;n.includes(r.mount)&&Fe.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(o);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var o=Fe.lookupPath(e,{parent:!0}).node,n=ue.basename(e);if(!n||"."===n||".."===n)throw new Fe.ErrnoError(28);var a=Fe.mayCreate(o,n);if(a)throw new Fe.ErrnoError(a);if(!o.node_ops.mknod)throw new Fe.ErrnoError(63);return o.node_ops.mknod(o,n,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Fe.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Fe.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),o="",n=0;n(void 0===t&&(t=r,r=438),r|=8192,Fe.mknod(e,r,t)),symlink(e,r){if(!ce.resolve(e))throw new Fe.ErrnoError(44);var t=Fe.lookupPath(r,{parent:!0}).node;if(!t)throw new Fe.ErrnoError(44);var o=ue.basename(r),n=Fe.mayCreate(t,o);if(n)throw new Fe.ErrnoError(n);if(!t.node_ops.symlink)throw new Fe.ErrnoError(63);return t.node_ops.symlink(t,o,e)},rename(e,r){var t,o,n=ue.dirname(e),a=ue.dirname(r),s=ue.basename(e),i=ue.basename(r);if(t=Fe.lookupPath(e,{parent:!0}).node,o=Fe.lookupPath(r,{parent:!0}).node,!t||!o)throw new Fe.ErrnoError(44);if(t.mount!==o.mount)throw new Fe.ErrnoError(75);var u,d=Fe.lookupNode(t,s),l=ce.relative(e,a);if("."!==l.charAt(0))throw new Fe.ErrnoError(28);if("."!==(l=ce.relative(r,n)).charAt(0))throw new Fe.ErrnoError(55);try{u=Fe.lookupNode(o,i)}catch(e){}if(d!==u){var c=Fe.isDir(d.mode),f=Fe.mayDelete(t,s,c);if(f)throw new Fe.ErrnoError(f);if(f=u?Fe.mayDelete(o,i,c):Fe.mayCreate(o,i))throw new Fe.ErrnoError(f);if(!t.node_ops.rename)throw new Fe.ErrnoError(63);if(Fe.isMountpoint(d)||u&&Fe.isMountpoint(u))throw new Fe.ErrnoError(10);if(o!==t&&(f=Fe.nodePermissions(t,"w")))throw new Fe.ErrnoError(f);Fe.hashRemoveNode(d);try{t.node_ops.rename(d,o,i)}catch(e){throw e}finally{Fe.hashAddNode(d)}}},rmdir(e){var r=Fe.lookupPath(e,{parent:!0}).node,t=ue.basename(e),o=Fe.lookupNode(r,t),n=Fe.mayDelete(r,t,!0);if(n)throw new Fe.ErrnoError(n);if(!r.node_ops.rmdir)throw new Fe.ErrnoError(63);if(Fe.isMountpoint(o))throw new Fe.ErrnoError(10);r.node_ops.rmdir(r,t),Fe.destroyNode(o)},readdir(e){var r=Fe.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Fe.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Fe.lookupPath(e,{parent:!0}).node;if(!r)throw new Fe.ErrnoError(44);var t=ue.basename(e),o=Fe.lookupNode(r,t),n=Fe.mayDelete(r,t,!1);if(n)throw new Fe.ErrnoError(n);if(!r.node_ops.unlink)throw new Fe.ErrnoError(63);if(Fe.isMountpoint(o))throw new Fe.ErrnoError(10);r.node_ops.unlink(r,t),Fe.destroyNode(o)},readlink(e){var r=Fe.lookupPath(e).node;if(!r)throw new Fe.ErrnoError(44);if(!r.node_ops.readlink)throw new Fe.ErrnoError(28);return ce.resolve(Fe.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Fe.lookupPath(e,{follow:!r}).node;if(!t)throw new Fe.ErrnoError(44);if(!t.node_ops.getattr)throw new Fe.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Fe.stat(e,!0),chmod(e,r,t){var o;if(!(o="string"==typeof e?Fe.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new Fe.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&r|-4096&o.mode,timestamp:Date.now()})},lchmod(e,r){Fe.chmod(e,r,!0)},fchmod(e,r){var t=Fe.getStreamChecked(e);Fe.chmod(t.node,r)},chown(e,r,t,o){var n;if(!(n="string"==typeof e?Fe.lookupPath(e,{follow:!o}).node:e).node_ops.setattr)throw new Fe.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,r,t){Fe.chown(e,r,t,!0)},fchown(e,r,t){var o=Fe.getStreamChecked(e);Fe.chown(o.node,r,t)},truncate(e,r){if(r<0)throw new Fe.ErrnoError(28);var t;if(!(t="string"==typeof e?Fe.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Fe.ErrnoError(63);if(Fe.isDir(t.mode))throw new Fe.ErrnoError(31);if(!Fe.isFile(t.mode))throw new Fe.ErrnoError(28);var o=Fe.nodePermissions(t,"w");if(o)throw new Fe.ErrnoError(o);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Fe.getStreamChecked(e);if(0==(2097155&t.flags))throw new Fe.ErrnoError(28);Fe.truncate(t.node,r)},utime(e,r,t){var o=Fe.lookupPath(e,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new Fe.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?Te(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=ue.normalize(e);try{o=Fe.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new Fe.ErrnoError(20)}else o=Fe.mknod(e,t,0),a=!0;if(!o)throw new Fe.ErrnoError(44);if(Fe.isChrdev(o.mode)&&(r&=-513),65536&r&&!Fe.isDir(o.mode))throw new Fe.ErrnoError(54);if(!a){var s=Fe.mayOpen(o,r);if(s)throw new Fe.ErrnoError(s)}512&r&&!a&&Fe.truncate(o,0),r&=-131713;var i=Fe.createStream({node:o,path:Fe.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(Fe.readFiles||(Fe.readFiles={}),e in Fe.readFiles||(Fe.readFiles[e]=1)),i},close(e){if(Fe.isClosed(e))throw new Fe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Fe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Fe.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Fe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,o,n){if(o<0||n<0)throw new Fe.ErrnoError(28);if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(1==(2097155&e.flags))throw new Fe.ErrnoError(8);if(Fe.isDir(e.node.mode))throw new Fe.ErrnoError(31);if(!e.stream_ops.read)throw new Fe.ErrnoError(28);var a=void 0!==n;if(a){if(!e.seekable)throw new Fe.ErrnoError(70)}else n=e.position;var s=e.stream_ops.read(e,r,t,o,n);return a||(e.position+=s),s},write(e,r,t,o,n,a){if(o<0||n<0)throw new Fe.ErrnoError(28);if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(0==(2097155&e.flags))throw new Fe.ErrnoError(8);if(Fe.isDir(e.node.mode))throw new Fe.ErrnoError(31);if(!e.stream_ops.write)throw new Fe.ErrnoError(28);e.seekable&&1024&e.flags&&Fe.llseek(e,0,2);var s=void 0!==n;if(s){if(!e.seekable)throw new Fe.ErrnoError(70)}else n=e.position;var i=e.stream_ops.write(e,r,t,o,n,a);return s||(e.position+=i),i},allocate(e,r,t){if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(r<0||t<=0)throw new Fe.ErrnoError(28);if(0==(2097155&e.flags))throw new Fe.ErrnoError(8);if(!Fe.isFile(e.node.mode)&&!Fe.isDir(e.node.mode))throw new Fe.ErrnoError(43);if(!e.stream_ops.allocate)throw new Fe.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,o,n){if(0!=(2&o)&&0==(2&n)&&2!=(2097155&e.flags))throw new Fe.ErrnoError(2);if(1==(2097155&e.flags))throw new Fe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Fe.ErrnoError(43);return e.stream_ops.mmap(e,r,t,o,n)},msync:(e,r,t,o,n)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,o,n):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Fe.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,o=Fe.open(e,r.flags),n=Fe.stat(e).size,a=new Uint8Array(n);return Fe.read(o,a,0,n,0),"utf8"===r.encoding?t=he(a,0):"binary"===r.encoding&&(t=a),Fe.close(o),t},writeFile(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.flags=t.flags||577;var o=Fe.open(e,t.flags,t.mode);if("string"==typeof r){var n=new Uint8Array(me(r)+1),a=ge(r,n,0,n.length);Fe.write(o,n,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Fe.write(o,r,0,r.byteLength,void 0,t.canOwn)}Fe.close(o)},cwd:()=>Fe.currentPath,chdir(e){var r=Fe.lookupPath(e,{follow:!0});if(null===r.node)throw new Fe.ErrnoError(44);if(!Fe.isDir(r.node.mode))throw new Fe.ErrnoError(54);var t=Fe.nodePermissions(r.node,"x");if(t)throw new Fe.ErrnoError(t);Fe.currentPath=r.path},createDefaultDirectories(){Fe.mkdir("/tmp"),Fe.mkdir("/home"),Fe.mkdir("/home/web_user")},createDefaultDevices(){Fe.mkdir("/dev"),Fe.registerDevice(Fe.makedev(1,3),{read:()=>0,write:(e,r,t,o,n)=>o}),Fe.mkdev("/dev/null",Fe.makedev(1,3)),ve.register(Fe.makedev(5,0),ve.default_tty_ops),ve.register(Fe.makedev(6,0),ve.default_tty1_ops),Fe.mkdev("/dev/tty",Fe.makedev(5,0)),Fe.mkdev("/dev/tty1",Fe.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=le(e).byteLength),e[--r]);Fe.createDevice("/dev","random",t),Fe.createDevice("/dev","urandom",t),Fe.mkdir("/dev/shm"),Fe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Fe.mkdir("/proc");var e=Fe.mkdir("/proc/self");Fe.mkdir("/proc/self/fd"),Fe.mount({mount(){var r=Fe.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,o=Fe.getStreamChecked(t),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?Fe.createDevice("/dev","stdin",n.stdin):Fe.symlink("/dev/tty","/dev/stdin"),n.stdout?Fe.createDevice("/dev","stdout",null,n.stdout):Fe.symlink("/dev/tty","/dev/stdout"),n.stderr?Fe.createDevice("/dev","stderr",null,n.stderr):Fe.symlink("/dev/tty1","/dev/stderr"),Fe.open("/dev/stdin",0),Fe.open("/dev/stdout",1),Fe.open("/dev/stderr",1)},ensureErrnoError(){Fe.ErrnoError||(Fe.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Fe.ErrnoError.prototype=new Error,Fe.ErrnoError.prototype.constructor=Fe.ErrnoError,[44].forEach((e=>{Fe.genericErrors[e]=new Fe.ErrnoError(e),Fe.genericErrors[e].stack=""})))},staticInit(){Fe.ensureErrnoError(),Fe.nameTable=new Array(4096),Fe.mount(Ee,{},"/"),Fe.createDefaultDirectories(),Fe.createDefaultDevices(),Fe.createSpecialDirectories(),Fe.filesystems={MEMFS:Ee}},init(e,r,t){Fe.init.initialized=!0,Fe.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,Fe.createStandardStreams()},quit(){Fe.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,o=Number(e.getResponseHeader("Content-length")),n=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;n||(s=o);var i=this;i.setDataGetter((e=>{var r=e*s,n=(e+1)*s-1;if(n=Math.min(n,o-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>o-1)throw new Error("only "+o+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",t,!1),o!==s&&n.setRequestHeader("Range","bytes="+e+"-"+r),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+t+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ye(n.responseText||"",!0)})(r,n)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&o||(s=o=1,o=this.getter(0).length,s=o,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!c)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var u=Fe.createFile(e,r,i,o,n);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var d={};function l(e,r,t,o,n){var a=e.node.contents;if(n>=a.length)return 0;var s=Math.min(a.length-n,o);if(a.slice)for(var i=0;i{var r=u.stream_ops[e];d[e]=function(){return Fe.forceLoadFile(u),r.apply(null,arguments)}})),d.read=(e,r,t,o,n)=>(Fe.forceLoadFile(u),l(e,r,t,o,n)),d.mmap=(e,r,t,o,n)=>{Fe.forceLoadFile(u);var a=be();if(!a)throw new Fe.ErrnoError(48);return l(e,S,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=d,u}},Pe=(e,r)=>e?he(k,e,r):"",$e={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ue.isAbs(r))return r;var o;if(o=-100===e?Fe.cwd():$e.getStreamFromFD(e).path,0==r.length){if(!t)throw new Fe.ErrnoError(44);return o}return ue.join2(o,r)},doStat(e,r,t){try{var o=e(r)}catch(e){if(e&&e.node&&ue.normalize(r)!==ue.normalize(Fe.getPath(e.node)))return-54;throw e}A[t>>2]=o.dev,A[t+4>>2]=o.mode,T[t+8>>2]=o.nlink,A[t+12>>2]=o.uid,A[t+16>>2]=o.gid,A[t+20>>2]=o.rdev,X=[o.size>>>0,(J=o.size,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[t+24>>2]=X[0],A[t+28>>2]=X[1],A[t+32>>2]=4096,A[t+36>>2]=o.blocks;var n=o.atime.getTime(),a=o.mtime.getTime(),s=o.ctime.getTime();return X=[Math.floor(n/1e3)>>>0,(J=Math.floor(n/1e3),+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[t+40>>2]=X[0],A[t+44>>2]=X[1],T[t+48>>2]=n%1e3*1e3,X=[Math.floor(a/1e3)>>>0,(J=Math.floor(a/1e3),+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[t+56>>2]=X[0],A[t+60>>2]=X[1],T[t+64>>2]=a%1e3*1e3,X=[Math.floor(s/1e3)>>>0,(J=Math.floor(s/1e3),+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[t+72>>2]=X[0],A[t+76>>2]=X[1],T[t+80>>2]=s%1e3*1e3,X=[o.ino>>>0,(J=o.ino,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[t+88>>2]=X[0],A[t+92>>2]=X[1],0},doMsync(e,r,t,o,n){if(!Fe.isFile(r.node.mode))throw new Fe.ErrnoError(43);if(2&o)return 0;var a=k.slice(e,e+t);Fe.msync(r,a,n,t,o)},varargs:void 0,get(){var e=A[+$e.varargs>>2];return $e.varargs+=4,e},getp:()=>$e.get(),getStr:e=>Pe(e),getStreamFromFD:e=>Fe.getStreamChecked(e)};function Re(e,r,t){$e.varargs=t;try{var o=$e.getStreamFromFD(e);switch(r){case 0:if((n=$e.get())<0)return-28;for(;Fe.streams[n];)n++;return Fe.createStream(o,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return o.flags;case 4:var n=$e.get();return o.flags|=n,0;case 5:return n=$e.getp(),C[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ie(28),-1}}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}}function Oe(e,r,t,o){$e.varargs=o;try{r=$e.getStr(r),r=$e.calculateAt(e,r);var n=o?$e.get():0;return Fe.open(r,t,n).fd}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}}var We,Me,xe,Le=(e,r,t,o,n)=>{},Ue=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);We=e},Be=e=>{for(var r="",t=e;k[t];)r+=We[k[t++]];return r},je={},Ie={},ze={},Ne=e=>{throw new Me(e)},He=e=>{throw new xe(e)},Ve=(e,r,t)=>{function o(r){var o=t(r);o.length!==e.length&&He("Mismatched type converter count");for(var n=0;n{Ie.hasOwnProperty(e)?n[r]=Ie[e]:(a.push(e),je.hasOwnProperty(e)||(je[e]=[]),je[e].push((()=>{n[r]=Ie[e],++s===a.length&&o(n)})))})),0===a.length&&o(n)};function qe(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var o=r.name;if(e||Ne(`type "${o}" must have a positive integer typeid pointer`),Ie.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Ne(`Cannot register type '${o}' twice`)}if(Ie[e]=r,delete ze[e],je.hasOwnProperty(e)){var n=je[e];delete je[e],n.forEach((e=>e()))}}function Ge(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return qe(e,r,t)}var Je,Xe=8,Ke=(e,r,t,o)=>{Ge(e,{name:r=Be(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:o},argPackAdvance:Xe,readValueFromPointer:function(e){return this.fromWireType(k[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Qe=e=>{Ne(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ye=!1,er=e=>{},rr=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},tr=e=>{e.count.value-=1,0===e.count.value&&rr(e)},or=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var o=or(e,r,t.baseClass);return null===o?null:t.downcast(o)},nr={},ar=()=>Object.keys(cr).length,sr=()=>{var e=[];for(var r in cr)cr.hasOwnProperty(r)&&e.push(cr[r]);return e},ir=[],ur=()=>{for(;ir.length;){var e=ir.pop();e.$$.deleteScheduled=!1,e.delete()}},dr=e=>{Je=e,ir.length&&Je&&Je(ur)},lr=()=>{n.getInheritedInstanceCount=ar,n.getLiveInheritedInstances=sr,n.flushPendingDeletes=ur,n.setDelayFunction=dr},cr={},fr=(e,r)=>{for(void 0===r&&Ne("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},hr=(e,r)=>(r=fr(e,r),cr[r]),pr=(e,r)=>(r.ptrType&&r.ptr||He("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&He("Both smartPtrType and smartPtr must be specified"),r.count={value:1},gr(Object.create(e,{$$:{value:r}})));function mr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=hr(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var o=t.clone();return this.destructor(e),o}function n(){return this.isSmartPointer?pr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):pr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(r),i=nr[s];if(!i)return n.call(this);a=this.isConst?i.constPointerType:i.pointerType;var u=or(r,this.registeredClass,a.registeredClass);return null===u?n.call(this):this.isSmartPointer?pr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:e}):pr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}var gr=e=>"undefined"==typeof FinalizationRegistry?(gr=e=>e,e):(Ye=new FinalizationRegistry((e=>{tr(e.$$)})),gr=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};Ye.register(e,t,e)}return e},er=e=>Ye.unregister(e),gr(e)),yr=()=>{Object.assign(wr.prototype,{isAliasOf(e){if(!(this instanceof wr))return!1;if(!(e instanceof wr))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var o=e.$$.ptrType.registeredClass,n=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;o.baseClass;)n=o.upcast(n),o=o.baseClass;return r===o&&t===n},clone(){if(this.$$.ptr||Qe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=gr(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ne("Object already scheduled for deletion"),er(this),tr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ne("Object already scheduled for deletion"),ir.push(this),1===ir.length&&Je&&Je(ur),this.$$.deleteScheduled=!0,this}})};function wr(){}var vr=(e,r)=>Object.defineProperty(r,"name",{value:e}),br=(e,r,t)=>{if(void 0===e[r].overloadTable){var o=e[r];e[r]=function(){return e[r].overloadTable.hasOwnProperty(arguments.length)||Ne(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[arguments.length].apply(this,arguments)},e[r].overloadTable=[],e[r].overloadTable[o.argCount]=o}},Er=(e,r,t)=>{n.hasOwnProperty(e)?((void 0===t||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[t])&&Ne(`Cannot register public name '${e}' twice`),br(n,e,e),n.hasOwnProperty(t)&&Ne(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),n[e].overloadTable[t]=r):(n[e]=r,void 0!==t&&(n[e].numArguments=t))},Sr=48,kr=57,Cr=e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=Sr&&r<=kr?`_${e}`:e};function Dr(e,r,t,o,n,a,s,i){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=o,this.baseClass=n,this.getActualType=a,this.upcast=s,this.downcast=i,this.pureVirtualFunctions=[]}var Ar=(e,r,t)=>{for(;r!==t;)r.upcast||Ne(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function Tr(e,r){if(null===r)return this.isReference&&Ne(`null is not a valid ${this.name}`),0;r.$$||Ne(`Cannot pass "${ut(r)}" as a ${this.name}`),r.$$.ptr||Ne(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Ar(r.$$.ptr,t,this.registeredClass)}function _r(e,r){var t;if(null===r)return this.isReference&&Ne(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r.$$||Ne(`Cannot pass "${ut(r)}" as a ${this.name}`),r.$$.ptr||Ne(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&Ne(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var o=r.$$.ptrType.registeredClass;if(t=Ar(r.$$.ptr,o,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Ne("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Ne(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var n=r.clone();t=this.rawShare(t,at.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:Ne("Unsupporting sharing policy")}return t}function Fr(e,r){if(null===r)return this.isReference&&Ne(`null is not a valid ${this.name}`),0;r.$$||Ne(`Cannot pass "${ut(r)}" as a ${this.name}`),r.$$.ptr||Ne(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&Ne(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Ar(r.$$.ptr,t,this.registeredClass)}function Pr(e){return this.fromWireType(T[e>>2])}var $r=()=>{Object.assign(Rr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Xe,readValueFromPointer:Pr,deleteObject(e){null!==e&&e.delete()},fromWireType:mr})};function Rr(e,r,t,o,n,a,s,i,u,d,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=o,this.isSmartPointer=n,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=i,this.rawConstructor=u,this.rawShare=d,this.rawDestructor=l,n||void 0!==r.baseClass?this.toWireType=_r:o?(this.toWireType=Tr,this.destructorFunction=null):(this.toWireType=Fr,this.destructorFunction=null)}var Or,Wr,Mr=(e,r,t)=>{n.hasOwnProperty(e)||He("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==t?n[e].overloadTable[t]=r:(n[e]=r,n[e].argCount=t)},xr=(e,r,t)=>{var o=n["dynCall_"+e];return t&&t.length?o.apply(null,[r].concat(t)):o.call(null,r)},Lr=[],Ur=e=>{var r=Lr[e];return r||(e>=Lr.length&&(Lr.length=e+1),Lr[e]=r=Or.get(e)),r},Br=(e,r,t)=>e.includes("j")?xr(e,r,t):Ur(r).apply(null,t),jr=(e,r)=>{var t=[];return function(){return t.length=0,Object.assign(t,arguments),Br(e,r,t)}},Ir=(e,r)=>{var t=(e=Be(e)).includes("j")?jr(e,r):Ur(r);return"function"!=typeof t&&Ne(`unknown function pointer with signature ${e}: ${r}`),t},zr=(e,r)=>{var t=vr(r,(function(e){this.name=r,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t},Nr=e=>{var r=uo(e),t=Be(r);return so(r),t},Hr=(e,r)=>{var t=[],o={};throw r.forEach((function e(r){o[r]||Ie[r]||(ze[r]?ze[r].forEach(e):(t.push(r),o[r]=!0))})),new Wr(`${e}: `+t.map(Nr).join([", "]))},Vr=(e,r,t,o,n,a,s,i,u,d,l,c,f)=>{l=Be(l),a=Ir(n,a),i&&(i=Ir(s,i)),d&&(d=Ir(u,d)),f=Ir(c,f);var h=Cr(l);Er(h,(function(){Hr(`Cannot construct ${l} due to unbound types`,[o])})),Ve([e,r,t],o?[o]:[],(function(r){var t,n;r=r[0],n=o?(t=r.registeredClass).instancePrototype:wr.prototype;var s=vr(l,(function(){if(Object.getPrototypeOf(this)!==u)throw new Me("Use 'new' to construct "+l);if(void 0===c.constructor_body)throw new Me(l+" has no accessible constructor");var e=c.constructor_body[arguments.length];if(void 0===e)throw new Me(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(c.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),u=Object.create(n,{constructor:{value:s}});s.prototype=u;var c=new Dr(l,s,u,f,t,a,i,d);c.baseClass&&(void 0===c.baseClass.__derivedClasses&&(c.baseClass.__derivedClasses=[]),c.baseClass.__derivedClasses.push(c));var p=new Rr(l,c,!0,!1,!1),m=new Rr(l+"*",c,!1,!1,!1),g=new Rr(l+" const*",c,!1,!0,!1);return nr[e]={pointerType:m,constPointerType:g},Mr(h,s),[p,m,g]}))},qr=(e,r)=>{for(var t=[],o=0;o>2]);return t},Gr=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function Jr(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var t=vr(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var o=new t,n=e.apply(o,r);return n instanceof Object?n:o}function Xr(e,r,t,o,n,a){var s=r.length;s<2&&Ne("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==r[1]&&null!==t,u=!1,d=1;d0?", ":"")+f),h+=(l||a?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",u)h+="runDestructors(destructors);\n";else for(d=i?1:2;d{var s=qr(r,t);n=Ir(o,n),Ve([],[e],(function(e){var t=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new Me(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[r-1]=()=>{Hr(`Cannot construct ${e.name} due to unbound types`,s)},Ve([],s,(o=>(o.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Xr(t,o,null,n,a),[]))),[]}))},Zr=e=>{const r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},Qr=(e,r,t,o,n,a,s,i,u)=>{var d=qr(t,o);r=Be(r),r=Zr(r),a=Ir(n,a),Ve([],[e],(function(e){var o=`${(e=e[0]).name}.${r}`;function n(){Hr(`Cannot call ${o} due to unbound types`,d)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,c=l[r];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===t-2?(n.argCount=t-2,n.className=e.name,l[r]=n):(br(l,r,o),l[r].overloadTable[t-2]=n),Ve([],d,(function(n){var i=Xr(o,n,e,a,s,u);return void 0===l[r].overloadTable?(i.argCount=t-2,l[r]=i):l[r].overloadTable[t-2]=i,[]})),[]}))};function Yr(){Object.assign(et.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var r=this.freelist.pop()||this.allocated.length;return this.allocated[r]=e,r},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function et(){this.allocated=[void 0],this.freelist=[]}var rt=new et,tt=e=>{e>=rt.reserved&&0==--rt.get(e).refcount&&rt.free(e)},ot=()=>{for(var e=0,r=rt.reserved;r{rt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),rt.reserved=rt.allocated.length,n.count_emval_handles=ot},at={toValue:e=>(e||Ne("Cannot use deleted val. handle = "+e),rt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return rt.allocate({refcount:1,value:e})}}};function st(e){return this.fromWireType(A[e>>2])}var it=(e,r)=>{Ge(e,{name:r=Be(r),fromWireType:e=>{var r=at.toValue(e);return tt(e),r},toWireType:(e,r)=>at.toHandle(r),argPackAdvance:Xe,readValueFromPointer:st,destructorFunction:null})},ut=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},dt=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(_[e>>2])};case 8:return function(e){return this.fromWireType(F[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},lt=(e,r,t)=>{Ge(e,{name:r=Be(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:Xe,readValueFromPointer:dt(r,t),destructorFunction:null})},ct=(e,r,t)=>{switch(r){case 1:return t?e=>S[e>>0]:e=>k[e>>0];case 2:return t?e=>C[e>>1]:e=>D[e>>1];case 4:return t?e=>A[e>>2]:e=>T[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},ft=(e,r,t,o,n)=>{r=Be(r);var a=e=>e;if(0===o){var s=32-8*t;a=e=>e<>>s}var i=r.includes("unsigned");Ge(e,{name:r,fromWireType:a,toWireType:i?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:Xe,readValueFromPointer:ct(r,t,0!==o),destructorFunction:null})},ht=(e,r,t)=>{var o=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function n(e){var r=T[e>>2],t=T[e+4>>2];return new o(S.buffer,t,r)}Ge(e,{name:t=Be(t),fromWireType:n,argPackAdvance:Xe,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},pt=(e,r,t)=>ge(e,k,r,t),mt=(e,r)=>{var t="std::string"===(r=Be(r));Ge(e,{name:r,fromWireType(e){var r,o=T[e>>2],n=e+4;if(t)for(var a=n,s=0;s<=o;++s){var i=n+s;if(s==o||0==k[i]){var u=Pe(a,i-a);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),a=i+1}}else{var d=new Array(o);for(s=0;s>2]=o,t&&n)pt(r,s,o+1);else if(n)for(var i=0;i255&&(so(s),Ne("String has UTF-16 code units that do not fit in 8 bits")),k[s+i]=u}else for(i=0;i{for(var t=e,o=t>>1,n=o+r/2;!(o>=n)&&D[o];)++o;if((t=o<<1)-e>32&>)return gt.decode(k.subarray(e,t));for(var a="",s=0;!(s>=r/2);++s){var i=C[e+2*s>>1];if(0==i)break;a+=String.fromCharCode(i)}return a},wt=(e,r,t)=>{if(void 0===t&&(t=2147483647),t<2)return 0;for(var o=r,n=(t-=2)<2*e.length?t/2:e.length,a=0;a>1]=s,r+=2}return C[r>>1]=0,r-o},vt=e=>2*e.length,bt=(e,r)=>{for(var t=0,o="";!(t>=r/4);){var n=A[e+4*t>>2];if(0==n)break;if(++t,n>=65536){var a=n-65536;o+=String.fromCharCode(55296|a>>10,56320|1023&a)}else o+=String.fromCharCode(n)}return o},Et=(e,r,t)=>{if(void 0===t&&(t=2147483647),t<4)return 0;for(var o=r,n=o+t-4,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),A[r>>2]=s,(r+=4)+4>n)break}return A[r>>2]=0,r-o},St=e=>{for(var r=0,t=0;t=55296&&o<=57343&&++t,r+=4}return r},kt=(e,r,t)=>{var o,n,a,s,i;t=Be(t),2===r?(o=yt,n=wt,s=vt,a=()=>D,i=1):4===r&&(o=bt,n=Et,s=St,a=()=>T,i=2),Ge(e,{name:t,fromWireType:e=>{for(var t,n=T[e>>2],s=a(),u=e+4,d=0;d<=n;++d){var l=e+4+d*r;if(d==n||0==s[l>>i]){var c=o(u,l-u);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),u=l+r}}return so(e),t},toWireType:(e,o)=>{"string"!=typeof o&&Ne(`Cannot pass non-string to C++ string type ${t}`);var a=s(o),u=lo(4+a+r);return T[u>>2]=a>>i,n(o,u+4,a+r),null!==e&&e.push(so,u),u},argPackAdvance:Xe,readValueFromPointer:st,destructorFunction(e){so(e)}})},Ct=(e,r)=>{Ge(e,{isVoid:!0,name:r=Be(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},Dt={},At=e=>{var r=Dt[e];return void 0===r?Be(e):r},Tt=[],_t=(e,r,t,o,n)=>(e=Tt[e])(r=at.toValue(r),r[t=At(t)],o,n),Ft=e=>{var r=Tt.length;return Tt.push(e),r},Pt=(e,r)=>{var t=Ie[e];return void 0===t&&Ne(r+" has unknown type "+Nr(e)),t},$t=(e,r)=>{for(var t=new Array(e),o=0;o>2],"parameter "+o);return t},Rt=(e,r,t)=>{var o=[],n=e.toWireType(o,t);return o.length&&(T[r>>2]=at.toHandle(o)),n},Ot=(e,r,t)=>{var o=$t(e,r),n=o.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",s=0,i=[];0===t&&i.push("obj");for(var u=["retType"],d=[n],l=0;le.name)).join(", ")}) => ${n.name}>`;return Ft(vr(f,c))},Wt=e=>{var r=at.toValue(e);Gr(r),tt(e)},Mt=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,xt=()=>{q("")},Lt=()=>Date.now(),Ut=(e,r,t)=>k.copyWithin(e,r,r+t),Bt=e=>{q("OOM")},jt=e=>{k.length,Bt()},It={},zt=()=>d||"./this.program",Nt=()=>{if(!Nt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:zt()};for(var r in It)void 0===It[r]?delete e[r]:e[r]=It[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);Nt.strings=t}return Nt.strings},Ht=(e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);S[r>>0]=0},Vt=(e,r)=>{var t=0;return Nt().forEach(((o,n)=>{var a=r+t;T[e+4*n>>2]=a,Ht(o,a),t+=o.length+1})),0},qt=(e,r)=>{var t=Nt();T[e>>2]=t.length;var o=0;return t.forEach((e=>o+=e.length+1)),T[r>>2]=o,0};function Gt(e){try{var r=$e.getStreamFromFD(e);return Fe.close(r),0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}}function Jt(e,r){try{var t=$e.getStreamFromFD(e),o=t.tty?2:Fe.isDir(t.mode)?3:Fe.isLink(t.mode)?7:4;return S[r>>0]=o,C[r+2>>1]=0,X=[0,(J=0,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[r+8>>2]=X[0],A[r+12>>2]=X[1],X=[0,(J=0,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[r+16>>2]=X[0],A[r+20>>2]=X[1],0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}}var Xt=(e,r,t,o)=>{for(var n=0,a=0;a>2],i=T[r+4>>2];r+=8;var u=Fe.read(e,S,s,i,o);if(u<0)return-1;if(n+=u,u>2]=a,0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}}function Zt(e,r,t,o,n){var a=Mt(r,t);try{if(isNaN(a))return 61;var s=$e.getStreamFromFD(e);return Fe.llseek(s,a,o),X=[s.position>>>0,(J=s.position,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],A[n>>2]=X[0],A[n+4>>2]=X[1],s.getdents&&0===a&&0===o&&(s.getdents=null),0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}}var Qt=(e,r,t,o)=>{for(var n=0,a=0;a>2],i=T[r+4>>2];r+=8;var u=Fe.write(e,S,s,i,o);if(u<0)return-1;n+=u,void 0!==o&&(o+=u)}return n};function Yt(e,r,t,o){try{var n=$e.getStreamFromFD(e),a=Qt(n,r,t);return T[o>>2]=a,0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}}var eo=function(e,r,t,o){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Fe.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=o},ro=365,to=146;Object.defineProperties(eo.prototype,{read:{get:function(){return(this.mode&ro)===ro},set:function(e){e?this.mode|=ro:this.mode&=~ro}},write:{get:function(){return(this.mode&to)===to},set:function(e){e?this.mode|=to:this.mode&=~to}},isFolder:{get:function(){return Fe.isDir(this.mode)}},isDevice:{get:function(){return Fe.isChrdev(this.mode)}}}),Fe.FSNode=eo,Fe.createPreloadedFile=Ae,Fe.staticInit(),Ue(),Me=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},xe=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yr(),lr(),$r(),Wr=n.UnboundTypeError=zr(Error,"UnboundTypeError"),Yr(),nt();var oo,no={o:se,A:Re,s:Oe,q:Le,C:Ke,D:Vr,y:Kr,g:Qr,B:it,k:lt,c:ft,b:ht,l:mt,i:kt,n:Ct,f:_t,m:tt,e:Ot,d:Wt,a:xt,h:Lt,w:Ut,r:jt,u:Vt,v:qt,j:Gt,t:Jt,z:Kt,p:Zt,x:Yt},ao=oe(),so=e=>(so=ao.G)(e),io=()=>(io=ao.I)(),uo=e=>(uo=ao.J)(e),lo=e=>(lo=ao.K)(e),co=e=>(co=ao.M)(e);function fo(){function e(){oo||(oo=!0,n.calledRun=!0,P||(L(),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),U()))}z>0||(x(),z>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_viiijj=(e,r,t,o,a,s,i,u)=>(n.dynCall_viiijj=ao.N)(e,r,t,o,a,s,i,u),n.dynCall_jij=(e,r,t,o)=>(n.dynCall_jij=ao.O)(e,r,t,o),n.dynCall_jii=(e,r,t)=>(n.dynCall_jii=ao.P)(e,r,t),n.dynCall_jiji=(e,r,t,o,a)=>(n.dynCall_jiji=ao.Q)(e,r,t,o,a),N=function e(){oo||fo(),oo||(N=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return fo(),e.ready});const o=1,n=2,a="fetch",s="websocket",i="debug",u="warn",d={playType:"player",videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:u,debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:"normal",loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:"decoder-pro.js",decoderOld:"decoder-pro-old.js",decoderAudio:"decoder-pro-audio.js",decoderHard:"decoder-pro-hard.js",decoderHardNotWasm:"decoder-pro-hard-not-wasm.js",wasmMp4RecorderDecoder:"jessibuca-pro-mp4-recorder-decoder.js",decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:"default",playbackConfig:{playList:[],fps:"",showControl:!0,controlType:"normal",duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:n,demuxType:"flv",useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:"wasm",autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:"mp4",checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:"vertical",ptzClickType:"click",ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:{playIsNotPauseOrUrlIsNull:"播放地址不能为空",webglAlignmentError:"Webgl 渲染失败",webglContextLostError:"webgl 上下文丢失",mediaSourceH265NotSupport:"不支持硬解码H265",mseSourceBufferFull:"缓冲区已满",mediaSourceAppendBufferError:"初始化解码器失败",mseSourceBufferError:"解码失败",mseAddSourceBufferError:"初始化解码器失败",mseWorkerAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:"流异常",mediaSourceAudioG711NotSupport:"硬解码不支持G711a/u音频格式",mediaSourceAudioInitTimeout:"初始化音频解码器失败",mediaSourceAudioNoDataTimeout:"等待音频数据超时",mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",mediaSourceBufferedIsZeroError:"流异常",webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:"初始化解码器失败",webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:"解码失败",webcodecsAudioInitTimeout:"初始化音频解码器失败",webcodecsAudioNoDataTimeout:"等待音频数据超时",wcsWidthOrHeightChange:"解码失败",wasmDecodeError:"解码失败",simdDecodeError:"解码失败",wasmWidthOrHeightChange:"流异常",wasmUseVideoRenderError:"video自动渲染失败",videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:"不支持该分辨率的视频",networkDelayTimeout:"网络超时重播失败",fetchError:"请求失败",streamEnd:"请求结束",websocket1006Error:"流异常结束",websocketError:"请求失败",webrtcError:"请求失败",hlsError:"请求失败",decoderWorkerInitError:"初始化worker失败",decoderWorkerWasmError:"wasm解码失败",videoElementPlayingFailedForWebrtc:"video自动渲染失败",videoInfoError:"解析视频分辨率失败",webrtcStreamH265:"webrtc不支持H265",delayTimeout:"播放超时重播失败",loadingTimeout:"加载超时重播失败",loadingTimeoutRetryEnd:"加载超时重播失败",delayTimeoutRetryEnd:"播放超时重播失败",flvDemuxBufferSizeTooLarge:"FLV待解封装buffer过大",audioChannelError:"音频通道错误",aliyunRtcError:"请求失败",mseWaitVideoCanplayTimeout:"流异常",initDecoderWorkerTimeout:"初始化解码worker超时"},videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:"video",webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:"white",opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:"white",opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:"red",drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[]},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0},l="init",c="playAudio",f="initAudio",h="audioCode",p="workerFetch",m="workerEnd",g="closeEnd",y=1,w=8,v="init",b="close",E="updateConfig",S="fetchStream",k="sendWsMessage",C="streamEnd",D="streamRate",A="streamAbps",T="streamSuccess",_="websocketOpen",F={playError:"playIsNotPauseOrUrlIsNull",fetchError:"fetchError",websocketError:"websocketError",webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsDecodeError:"webcodecsDecodeError",webcodecsUnsupportedConfigurationError:"webcodecsUnsupportedConfigurationError",webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:"webcodecsAudioInitTimeout",webcodecsAudioNoDataTimeout:"webcodecsAudioNoDataTimeout",mediaSourceH265NotSupport:"mediaSourceH265NotSupport",mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:"mediaSourceAudioInitTimeout",mediaSourceAudioNoDataTimeout:"mediaSourceAudioNoDataTimeout",mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:"mseSourceBufferFull",mseSourceBufferError:"mseSourceBufferError",mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:"mseWorkerAddSourceBufferError",mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceTsIsMaxDiff:"mediaSourceTsIsMaxDiff",mediaSourceUseCanvasRenderPlayFailed:"mediaSourceUseCanvasRenderPlayFailed",mediaSourceBufferedIsZeroError:"mediaSourceBufferedIsZeroError",wasmDecodeError:"wasmDecodeError",wasmUseVideoRenderError:"wasmUseVideoRenderError",simdH264DecodeVideoWidthIsTooLarge:"simdH264DecodeVideoWidthIsTooLarge",simdDecodeError:"simdDecodeError",hlsError:"hlsError",webrtcError:"webrtcError",webrtcClosed:"webrtcClosed",webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:"webglAlignmentError",wasmWidthOrHeightChange:"wasmWidthOrHeightChange",mseWidthOrHeightChange:"mseWidthOrHeightChange",wcsWidthOrHeightChange:"wcsWidthOrHeightChange",widthOrHeightChange:"widthOrHeightChange",tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:"flvDemuxBufferSizeTooLarge",audioChannelError:"audioChannelError",webglContextLostError:"webglContextLostError",videoElementPlayingFailed:"videoElementPlayingFailed",videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:"decoderWorkerInitError",decoderWorkerWasmError:"decoderWorkerWasmError",videoInfoError:"videoInfoError",streamEnd:C,websocket1006Error:"websocket1006Error",delayTimeout:"delayTimeout",loadingTimeout:"loadingTimeout",networkDelayTimeout:"networkDelayTimeout",fullscreenError:"fullscreenError",aliyunRtcError:"aliyunRtcError",mseWaitVideoCanplayTimeout:"mseWaitVideoCanplayTimeout",initDecoderWorkerTimeout:"initDecoderWorkerTimeout",notSupportNewWasm:"notSupportNewWasm",playVodMp4Error:"playVodMp4Error",mp4Error:"mp4Error",...{talkStreamError:"talkStreamError",talkStreamClose:"talkStreamClose"}},P=1,$=10,R=7,O=8,W=2,M="AbortError",x=0,L="idle",U="buffering",B="complete";var j,I,z=(j=function(e){!function(){var r="undefined"!=typeof window&&void 0!==window.document?window.document:{},t=e.exports,o=function(){for(var e,t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],o=0,n=t.length,a={};o>4===$}(e)&&e[1]===x}function H(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function V(e){let r=0,t=H();return o=>{if(n=o,"[object Number]"!==Object.prototype.toString.call(n))return;var n;r+=o;const a=H(),s=a-t;s>=1e3&&(e(r/s*1e3),t=a,r=0)}}z.isEnabled,(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function q(){return"undefined"!=typeof WritableStream}function G(e){return e.ok&&e.status>=200&&e.status<=299}function J(){return function(e){let r="";if("object"==typeof e)try{r=JSON.stringify(e),r=JSON.parse(r)}catch(t){r=e}else r=e;return r}(d)}function X(e){return!0===e||"true"===e}function K(e){return!0!==e&&"true"!==e}var Z=function(e,r,t,o){return new(t||(t=Promise))((function(n,a){function s(e){try{u(o.next(e))}catch(e){a(e)}}function i(e){try{u(o.throw(e))}catch(e){a(e)}}function u(e){var r;e.done?n(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(s,i)}u((o=o.apply(e,r||[])).next())}))};const Q=Symbol(32),Y=Symbol(16),ee=Symbol(8);class re{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,r){return r&&this.consume(),this.need=e,this.flush()}read(e){return Z(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((r,t)=>{var o;this.reject=t,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,r(e)};this.demand(e,!0)||null===(o=this.pull)||void 0===o||o.call(this,e)}))}))}readU32(){return this.read(Q)}readU16(){return this.read(Y)}readU8(){return this.read(ee)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const r=this.buffer.subarray(this.consumed);let t=0;const o=e=>r.length<(t=e);if("number"==typeof this.need){if(o(this.need))return;e=r.subarray(0,t)}else if(this.need===Q){if(o(4))return;e=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this.need===Y){if(o(2))return;e=r[0]<<8|r[1]}else if(this.need===ee){if(o(1))return;e=r[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(o(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(r.subarray(0,t)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(o(this.need.byteLength))return;new Uint8Array(this.need).set(r.subarray(0,t)),e=this.need}return this.consumed+=t,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const r=this.buffer.length,t=r+e;if(t<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,t);else{const e=new Uint8Array(t);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(r,t)}return this.buffer=new Uint8Array(e),this.buffer}}re.U32=Q,re.U16=Y,re.U8=ee;class te{constructor(e){this.log=function(r){if(e._opt.debugLevel==i){const a=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n1?o-1:0),a=1;a1?t-1:0),n=1;n{delete t[e]})),void delete this.e;const o=t[e],n=[];if(o&&r)for(let e=0,t=o.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=oe.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==oe.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=oe.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==oe.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,r),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=oe.findFirstStartCode}}}}function ae(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[],i=[],u=new AbortController,d=null,x=null,j=null,I=!1,z=!1,H=[],Z=0,Q=0,Y=null,ee=null,oe=!1;const ae="audio worker";let se=()=>{const e=J();return{debug:e.debug,debugLevel:e.debugLevel,sampleRate:0,audioBufferSize:1024,videoBuffer:e.videoBuffer,isChrome:!1}},ie=function(){if(oe=!0,u)try{u.abort(),u=null,ue.debugLog(ae,"abort success")}catch(e){u=null,ue.debugLog(ae,"abort catch",e)}},ue={isDestroyed:!1,fetchStatus:L,_opt:se(),mp3Demuxer:null,init:function(){ue.debugLog(ae,"init and opt is",ue._opt);ue.stopId=setInterval((()=>{let e=(new Date).getTime();Y||(Y=e);const r=e-Y;r>100&&ue.debugWarn(ae,`loop demux diff time is ${r}`),(()=>{let e=null;if(t.length)if(e=t[0],-1===ue.getDelay(e.ts))t.shift(),ue.doDecode(e);else for(;t.length;){if(e=t[0],!(ue.getDelay(e.ts)>ue._opt.videoBuffer)){ue.delay<0&&ue.debugWarn(ae,`loop() do not decode and delay is ${ue.delay}, bufferList is ${t.length}`);break}t.shift(),ue.doDecode(e)}else-1!==ue.delay&&ue.debugLog(ae,"loop() bufferList is empty and reset delay"),ue.resetAllDelay()})(),Y=(new Date).getTime()}),10)},doDecode:function(e){e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},getDelay:function(e){if(!e)return-1;if(ue.preDelayTimestamp&&ue.preDelayTimestamp>e)return ue.preDelayTimestamp-e>1e3&&ue.debugWarn(ae,`getDelay() and preDelayTimestamp is ${ue.preDelayTimestamp} > timestamp is ${e} more than ${ue.preDelayTimestamp-e}ms`),ue.preDelayTimestamp=e,ue.delay;if(ue.firstTimestamp){if(e){const r=Date.now()-ue.startTimestamp,t=e-ue.firstTimestamp;ue.delay=r>=t?r-t:t-r}}else ue.firstTimestamp=e,ue.startTimestamp=Date.now(),ue.delay=-1;return ue.preDelayTimestamp=e,ue.delay},resetAllDelay:function(){ue.firstTimestamp=null,ue.startTimestamp=null,ue.delay=-1,ue.preDelayTimestamp=null},close:function(){if(ue.debugLog(ae,"close"),ue.isDestroyed=!0,ie(),!d||1!==d.readyState&&2!==d.readyState?d&&ue.debugLog(ae,`close() and socket.readyState is ${d.readyState}`):(oe=!0,d.close(1e3,"Client disconnecting")),d=null,ue.stopId&&(clearInterval(ue.stopId),ue.stopId=null),ue.mp3Demuxer&&(ue.mp3Demuxer.destroy(),ue.mp3Demuxer=null),ue.writableStream&&K(ue.writableStream.locked)&&ue.writableStream.close().catch((()=>{ue.debugLog("worker","close() and writableStream.close() error",e)})),ue.writableStream=null,de)try{de.clear&&de.clear(),de=null}catch(e){ue.debugWarn(ae,"close() and audioDecoder.clear error",e)}x=null,ue._opt=se(),t=[],i=[],j&&(j.close(),j=null),ue.resetAllDelay(),ue.fetchStatus=L,z=!1,H=[],Z=0,Q=0,Y=null,ee=null,postMessage({cmd:g})},fetchStream:function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];ue.debugLog(ae,"fetchStream, url is "+e,"options:",JSON.stringify(r)),x=V((e=>{postMessage({cmd:p,type:D,value:e})})),r.protocol===n?(r.isFlv&&(j=new re(ue.demuxFlv())),fetch(e,{signal:u.signal}).then((e=>{if(oe)return ue.debugLog(ae,"request abort and run res.body.cancel()"),ue.fetchStatus=L,void e.body.cancel();if(!G(e))return ue.debugWarn(ae,`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),ie(),void postMessage({cmd:p,type:F.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:p,type:T}),q())ue.writableStream=new WritableStream({write:e=>u&&u.signal&&u.signal.aborted?(ue.debugLog(ae,"writableStream write() and abortController.signal.aborted is true so return"),void(ue.fetchStatus=B)):X(oe)?(ue.debugLog(ae,"writableStream write() and requestAbort is true so return"),ue.fetchStatus=B,void ie()):void("string"!=typeof e?(ue.fetchStatus=U,x(e.byteLength),j.write(e)):ue.debugWarn(ae,`writableStream write() and value is "${e}" string so return`)),close:()=>{ue.debugLog(ae,"writableStream close()"),ue.fetchStatus=B,j&&(j.close(),j=null),ie(),postMessage({cmd:p,type:C,value:a,msg:"fetch done"})},abort:e=>{if(u&&u.signal&&u.signal.aborted)return ue.debugLog(ae,"writableStream abort() and abortController.signal.aborted is true so return"),void(ue.fetchStatus=B);j&&(j.close(),j=null),e.name!==M?(ue.debugLog(ae,`writableStream abort() and e is ${e.toString()}`),ie(),postMessage({cmd:p,type:F.fetchError,value:e.toString()})):ue.debugLog(ae,"writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ue.writableStream).catch((e=>{"AbortError"!==e.name&&ue.debugLog(ae,"writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),t=()=>{r.read().then((e=>{let{done:r,value:o}=e;return r?(ue.debugLog(ae,"fetchNext().then() and done is true"),ue.fetchStatus=B,j&&(j.close(),j=null),ie(),void postMessage({cmd:p,type:C,value:a,msg:"fetch done"})):u&&u.signal&&u.signal.aborted?(ue.debugLog(ae,"fetchNext().then() and abortController.signal.aborted is true so return"),void(ue.fetchStatus=B)):X(oe)?(ue.debugLog(ae,"fetchNext().then() and requestAbort is true so return"),ue.fetchStatus=B,void ie()):void("string"!=typeof o?(ue.fetchStatus=U,x(o.byteLength),j.write(o),t()):ue.debugWarn(ae,`fetchNext().then() and value "${o}" is string so return`))})).catch((e=>{if(u&&u.signal&&u.signal.aborted)return ue.debugLog(ae,"fetchNext().catch() and abortController.signal.aborted is true so return"),void(ue.fetchStatus=B);j&&(j.close(),j=null),e.name!==M?(ue.debugLog(ae,`fetchNext().catch() and e is ${e.toString()}`),ie(),postMessage({cmd:p,type:F.fetchError,value:e.toString()})):ue.debugLog(ae,"fetchNext().catch() and e.name is AbortError so return")}))};t()}})).catch((e=>{u&&u.signal&&u.signal.aborted?ue.debugLog(ae,"fetch().catch() and abortController.signal.aborted is true so return"):e.name!==M?(ue.debugLog(ae,`fetch().catch() and e is ${e.toString()}`),ie(),postMessage({cmd:p,type:F.fetchError,value:e.toString()}),j&&(j.close(),j=null)):ue.debugLog(ae,"fetch().catch() and e.name is AbortError so return")}))):r.protocol===o&&(r.isFlv&&(j=new re(ue.demuxFlv())),d=new WebSocket(e,t),d.binaryType="arraybuffer",d.onopen=()=>{ue.debugLog(ae,"fetchStream, WebsocketStream socket open"),postMessage({cmd:p,type:T}),postMessage({cmd:p,type:_})},d.onclose=e=>{I?ue.debugLog(ae,"fetchStream, WebsocketStream socket close and isSocketError is true , so return"):(ue.debugLog(ae,`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ue.debugError(ae,`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),X(oe)?ue.debugLog(ae,"fetchStream, WebsocketStream socket close and requestAbort is true so return"):(j&&(j.close(),j=null),postMessage({cmd:p,type:C,value:s,msg:e.code})))},d.onerror=e=>{ue.debugError(ae,"fetchStream, WebsocketStream socket error",e),I=!0,j&&(j.close(),j=null),postMessage({cmd:p,type:F.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(x(e.data.byteLength),r.isFlv?j.write(e.data):r.isG711a||r.isG711u?ue.demuxG711(e.data,r):ue.demuxM7s(e.data)):ue.debugWarn(ae,`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),r=new Uint8Array(e),t=new Uint32Array(e);for(;;){r[3]=0;const e=yield 15,o=e[4];r[0]=e[7],r[1]=e[6],r[2]=e[5];const n=t[0];r[0]=e[10],r[1]=e[9],r[2]=e[8],r[3]=e[11];let a=t[0];const s=(yield n).slice();if(o===w)ue.decode(s,{type:y,ts:a})}},decode:function(e,r){postMessage({cmd:p,type:A,value:e.byteLength}),ue.pushBuffer(e,r.ts)},setCodecAudio:function(e,r){const t=e[0]>>4,o=e[0]>>1&1;if(ee=t===$?o?16:8:0===o?8:16,de&&de.setCodec)if(N(e)||t===R||t===O||t===W){ue.debugLog(ae,`setCodecAudio: init audio codec, codeId is ${t}`);const o=t===$?e.slice(2):new Uint8Array(0);de.setCodec(t,ue._opt.sampleRate,o,ue.getBuildTime()),z=!0,t!==$&&(t===W?(ue.mp3Demuxer||(ue.mp3Demuxer=new ne(ue),ue.mp3Demuxer.on("data",((e,r)=>{de.decode(e,r)}))),ue.mp3Demuxer.dispatch(e.slice(1),r)):de.decode(e.slice(1),r));const n=Number("1")||1;setTimeout((()=>{ue.debugError(ae,"Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ue.close(),postMessage({cmd:m})}),60*n*60*1e3)}else ue.debugWarn(ae,"setCodecAudio: hasInitAudioCodec is false, codecId is ",t);else ue.debugError(ae,"setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},pushBuffer:function(e,r){N(e)?ue.decodeAudio(e,r):t.push({ts:r,payload:e,decoder:{decode:ue.decodeAudio},isIFrame:!1})},decodeAudio:function(e,r){const t=e[0]>>4;z?t===W?ue.mp3Demuxer.dispatch(e.slice(1),r):de.decode(t===$?e.slice(2):e.slice(1),r):ue.setCodecAudio(e)},demuxM7s:function(e){const r=new DataView(e),t=r.getUint32(1,!1);if(r.getUint8(0)===y)ue.decode(new Uint8Array(e,5),{type:y,ts:t})},demuxG711:function(e,r){ue.currentG711Ts||(ue.currentG711Ts=0),ue.stashBuffer||(ue.stashBuffer=new Float32Array(0));const t=new Float32Array(e.length+ue.stashBuffer.length);for(t.set(ue.stashBuffer,0),t.set(e,ue.stashBuffer.length),ue.stashBuffer=t;ue.stashBuffer.length>=160;){const e=ue.stashBuffer.slice(0,160);ue.stashBuffer=ue.stashBuffer.slice(160);let t=new Uint8Array(e.length+1);r.isG711a?(t.set([114],0),t.set(e,1)):r.isG711u&&(t.set([130],0),t.set(e,1)),ue.decodeAudio(t,ue.currentG711Ts),ue.currentG711Ts+=20}},audioInfo:function(e,r,t){postMessage({cmd:h,code:e}),postMessage({cmd:f,sampleRate:r,channels:t,depth:ee}),Q=t},pcmData:function(e,t,o){if(ue.isDestroyed)return void ue.debugLog(ae,"pcmData, decoder is destroyed and return");let n=t,a=[],s=0,u=ue._opt.audioBufferSize;for(let t=0;t<2;t++){let o=r.HEAPU32[(e>>2)+t]>>2;a[t]=r.HEAPF32.subarray(o,o+n)}if(Z){if(!(n>=(t=u-Z)))return Z+=n,i[0]=Float32Array.of(...i[0],...a[0]),void(2==Q&&(i[1]=Float32Array.of(...i[1],...a[1])));H[0]=Float32Array.of(...i[0],...a[0].subarray(0,t)),2==Q&&(H[1]=Float32Array.of(...i[1],...a[1].subarray(0,t))),postMessage({cmd:c,buffer:H,delay:ue.delay,ts:o},H.map((e=>e.buffer))),s=t,n-=t}for(Z=n;Z>=u;Z-=u)H[0]=a[0].slice(s,s+=u),2==Q&&(H[1]=a[1].slice(s-u,s)),postMessage({cmd:c,buffer:H,delay:ue.delay,ts:o},H.map((e=>e.buffer)));Z&&(i[0]=a[0].slice(s),2==Q&&(i[1]=a[1].slice(s)))},sendWebsocketMessage:function(e){d?d.readyState===P?d.send(e):ue.debugError(ae,"socket is not open"):ue.debugError(ae,"socket is null")},timeEnd:function(){ue.debugError(ae,"Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ue.close(),postMessage({cmd:m})},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ue.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ue._opt.debug&&ue.debug){for(var r=arguments.length,t=new Array(r>1?r-1:0),o=1;o1?r-1:0),o=1;o1?r-1:0),o=1;o{ae(e)}))})); +!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var r,t=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,o,n;(n=e).ready=new Promise(((e,r)=>{t=e,o=r})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var a,s,i,c=Object.assign({},n),u="./this.program",d="object"==typeof window,l="function"==typeof importScripts,p="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function h(e){return n.locateFile?n.locateFile(e,f):f+e}if(p){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href),y=m("fs"),g=m("path");f=l?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href)),a=(e,r)=>(e=Y(e)?new URL(e):g.normalize(e),y.readFileSync(e,r?void 0:"utf8")),i=e=>{var r=a(e,!0);return r.buffer||(r=new Uint8Array(r)),r},s=function(e,r,t){let o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Y(e)?new URL(e):g.normalize(e),y.readFile(e,o?void 0:"utf8",((e,n)=>{e?t(e):r(o?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(d||l)&&(l?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},l&&(i=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),s=(e,r,t)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{200==o.status||0==o.status&&o.response?r(o.response):t()},o.onerror=t,o.send(null)});var w,v,b=n.print||console.log.bind(console),E=n.printErr||console.error.bind(console);Object.assign(n,c),c=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&q("no native wasm support detected");var S,k,C,A,D,T,F,I,_=!1;function P(e,r){e||q(r)}function R(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=C=new Int16Array(e),n.HEAPU8=k=new Uint8Array(e),n.HEAPU16=A=new Uint16Array(e),n.HEAP32=D=new Int32Array(e),n.HEAPU32=T=new Uint32Array(e),n.HEAPF32=F=new Float32Array(e),n.HEAPF64=I=new Float64Array(e)}var M=[],W=[],$=[];function O(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)B(n.preRun.shift());ne(M)}function x(){n.noFSInit||Ie.init.initialized||Ie.init(),Ie.ignorePermissions=!1,ne(W)}function U(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)L(n.postRun.shift());ne($)}function B(e){M.unshift(e)}function j(e){W.unshift(e)}function L(e){$.unshift(e)}var z=0,V=null;function N(e){z++,n.monitorRunDependencies&&n.monitorRunDependencies(z)}function H(e){if(z--,n.monitorRunDependencies&&n.monitorRunDependencies(z),0==z&&V){var r=V;V=null,r()}}function q(e){n.onAbort&&n.onAbort(e),E(e="Aborted("+e+")"),_=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw o(r),r}var G,J,Q,K="data:application/octet-stream;base64,",X=e=>e.startsWith(K),Y=e=>e.startsWith("file://");function Z(e){if(e==G&&w)return new Uint8Array(w);if(i)return i(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!w&&(d||l)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>Z(e)));if(s)return new Promise(((r,t)=>{s(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>Z(e)))}function re(e,r,t){return ee(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{E(`failed to asynchronously prepare wasm: ${e}`),q(e)}))}function te(e,r,t,o){return e||"function"!=typeof WebAssembly.instantiateStreaming||X(r)||Y(r)||p||"function"!=typeof fetch?re(r,t,o):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,t).then(o,(function(e){return E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation"),re(r,t,o)}))))}function oe(){var e={a:no};function r(e,r){return ao=e.exports,v=ao.E,R(),Mr=ao.H,j(ao.F),H(),ao}if(N(),n.instantiateWasm)try{return n.instantiateWasm(e,r)}catch(e){E(`Module.instantiateWasm callback failed with error: ${e}`),o(e)}return te(w,G,e,(function(e){r(e.instance)})).catch(o),{}}n.locateFile?X(G="decoder-pro-audio.wasm")||(G=h(G)):G=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio-player.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function ae(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(lo(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var se=(e,r,t)=>{throw new ae(e).init(r,t),e},ie=e=>(D[io()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,o=e.length-1;o>=0;o--){var n=e[o];"."===n?e.splice(o,1):".."===n?(e.splice(o,1),t++):t&&(e.splice(o,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ce.isAbs(e),t="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ce.splitPath(e),t=r[0],o=r[1];return t||o?(o&&(o=o.substr(0,o.length-1)),t+o):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,r)=>ce.normalize(e+"/"+r)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(p)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}q("initRandomDevice")},de=e=>(de=ue())(e),le={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var o=t>=0?arguments[t]:Ie.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,r=ce.isAbs(o)}return(r?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=le.resolve(e).substr(1),r=le.resolve(r).substr(1);for(var o=t(e.split("/")),n=t(r.split("/")),a=Math.min(o.length,n.length),s=a,i=0;i{for(var o=r+t,n=r;e[n]&&!(n>=o);)++n;if(n-r>16&&e.buffer&&pe)return pe.decode(e.subarray(r,n));for(var a="";r>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},he=[],me=e=>{for(var r=0,t=0;t=55296&&o<=57343?(r+=4,++t):r+=3}return r},ye=(e,r,t,o)=>{if(!(o>0))return 0;for(var n=t,a=t+o-1,s=0;s=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-n};function ge(e,r,t){var o=t>0?t:me(e)+1,n=new Array(o),a=ye(e,n,0,n.length);return r&&(n.length=a),n}var we=()=>{if(!he.length){var e=null;if(p){var r=Buffer.alloc(256),t=0,o=process.stdin.fd;try{t=y.readSync(o,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;he=ge(e,!0)}return he.shift()},ve={ttys:[],init(){},shutdown(){},register(e,r){ve.ttys[e]={input:[],output:[],ops:r},Ie.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var r=ve.ttys[e.node.rdev];if(!r)throw new Ie.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,o,n){if(!e.tty||!e.tty.ops.get_char)throw new Ie.ErrnoError(60);for(var a=0,s=0;swe(),put_char(e,r){null===r||10===r?(b(fe(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(E(fe(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(E(fe(e.output,0)),e.output=[])}}},be=e=>{q()},Ee={ops_table:null,mount:e=>Ee.createNode(null,"/",16895,0),createNode(e,r,t,o){if(Ie.isBlkdev(t)||Ie.isFIFO(t))throw new Ie.ErrnoError(63);Ee.ops_table||(Ee.ops_table={dir:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,lookup:Ee.node_ops.lookup,mknod:Ee.node_ops.mknod,rename:Ee.node_ops.rename,unlink:Ee.node_ops.unlink,rmdir:Ee.node_ops.rmdir,readdir:Ee.node_ops.readdir,symlink:Ee.node_ops.symlink},stream:{llseek:Ee.stream_ops.llseek}},file:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:{llseek:Ee.stream_ops.llseek,read:Ee.stream_ops.read,write:Ee.stream_ops.write,allocate:Ee.stream_ops.allocate,mmap:Ee.stream_ops.mmap,msync:Ee.stream_ops.msync}},link:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,readlink:Ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:Ie.chrdev_stream_ops}});var n=Ie.createNode(e,r,t,o);return Ie.isDir(n.mode)?(n.node_ops=Ee.ops_table.dir.node,n.stream_ops=Ee.ops_table.dir.stream,n.contents={}):Ie.isFile(n.mode)?(n.node_ops=Ee.ops_table.file.node,n.stream_ops=Ee.ops_table.file.stream,n.usedBytes=0,n.contents=null):Ie.isLink(n.mode)?(n.node_ops=Ee.ops_table.link.node,n.stream_ops=Ee.ops_table.link.stream):Ie.isChrdev(n.mode)&&(n.node_ops=Ee.ops_table.chrdev.node,n.stream_ops=Ee.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[r]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var o=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Ie.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Ie.isDir(e.mode)?r.size=4096:Ie.isFile(e.mode)?r.size=e.usedBytes:Ie.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Ee.resizeFileStorage(e,r.size)},lookup(e,r){throw Ie.genericErrors[44]},mknod:(e,r,t,o)=>Ee.createNode(e,r,t,o),rename(e,r,t){if(Ie.isDir(e.mode)){var o;try{o=Ie.lookupNode(r,t)}catch(e){}if(o)for(var n in o.contents)throw new Ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Ie.lookupNode(e,r);for(var o in t.contents)throw new Ie.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink(e,r,t){var o=Ee.createNode(e,r,41471,0);return o.link=t,o},readlink(e){if(!Ie.isLink(e.mode))throw new Ie.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,o,n){var a=e.node.contents;if(n>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-n,o);if(s>8&&a.subarray)r.set(a.subarray(n,n+s),t);else for(var i=0;i0||t+r(Ee.stream_ops.write(e,r,0,o,t,!1),0)}},Se=(e,r,t,o)=>{var n=o?"":`al ${e}`;s(e,(t=>{P(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),n&&H()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),n&&N()},ke=(e,r,t,o,n,a)=>{Ie.createDataFile(e,r,t,o,n,a)},Ce=n.preloadPlugins||[],Ae=(e,r,t,o)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ce.forEach((a=>{n||a.canHandle(r)&&(a.handle(e,r,t,o),n=!0)})),n},De=(e,r,t,o,n,a,s,i,c,u)=>{var d=r?le.resolve(ce.join2(e,r)):e;function l(t){function l(t){u&&u(),i||ke(e,r,t,o,n,c),a&&a(),H()}Ae(t,d,l,(()=>{s&&s(),H()}))||l(t)}N(),"string"==typeof t?Se(t,(e=>l(e)),s):l(t)},Te=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r},Fe=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},Ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=le.resolve(e)))return{path:"",node:null};if(r=Object.assign({follow_mount:!0,recurse_count:0},r),r.recurse_count>8)throw new Ie.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),o=Ie.root,n="/",a=0;a40)throw new Ie.ErrnoError(32)}}return{path:n,node:o}},getPath(e){for(var r;;){if(Ie.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,o=0;o>>0)%Ie.nameTable.length},hashAddNode(e){var r=Ie.hashName(e.parent.id,e.name);e.name_next=Ie.nameTable[r],Ie.nameTable[r]=e},hashRemoveNode(e){var r=Ie.hashName(e.parent.id,e.name);if(Ie.nameTable[r]===e)Ie.nameTable[r]=e.name_next;else for(var t=Ie.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Ie.mayLookup(e);if(t)throw new Ie.ErrnoError(t,e);for(var o=Ie.hashName(e.id,r),n=Ie.nameTable[o];n;n=n.name_next){var a=n.name;if(n.parent.id===e.id&&a===r)return n}return Ie.lookup(e,r)},createNode(e,r,t,o){var n=new Ie.FSNode(e,r,t,o);return Ie.hashAddNode(n),n},destroyNode(e){Ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Ie.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=Ie.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return Ie.lookupNode(e,r),20}catch(e){}return Ie.nodePermissions(e,"wx")},mayDelete(e,r,t){var o;try{o=Ie.lookupNode(e,r)}catch(e){return e.errno}var n=Ie.nodePermissions(e,"wx");if(n)return n;if(t){if(!Ie.isDir(o.mode))return 54;if(Ie.isRoot(o)||Ie.getPath(o)===Ie.cwd())return 10}else if(Ie.isDir(o.mode))return 31;return 0},mayOpen:(e,r)=>e?Ie.isLink(e.mode)?32:Ie.isDir(e.mode)&&("r"!==Ie.flagsToPermissionString(r)||512&r)?31:Ie.nodePermissions(e,Ie.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ie.MAX_OPEN_FDS;e++)if(!Ie.streams[e])return e;throw new Ie.ErrnoError(33)},getStreamChecked(e){var r=Ie.getStream(e);if(!r)throw new Ie.ErrnoError(8);return r},getStream:e=>Ie.streams[e],createStream(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Ie.FSStream||(Ie.FSStream=function(){this.shared={}},Ie.FSStream.prototype={},Object.defineProperties(Ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ie.FSStream,e),-1==r&&(r=Ie.nextfd()),e.fd=r,Ie.streams[r]=e,e},closeStream(e){Ie.streams[e]=null},chrdev_stream_ops:{open(e){var r=Ie.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Ie.devices[e]={stream_ops:r}},getDevice:e=>Ie.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var o=t.pop();r.push(o),t.push.apply(t,o.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Ie.syncFSRequests++,Ie.syncFSRequests>1&&E(`warning: ${Ie.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Ie.getMounts(Ie.root.mount),o=0;function n(e){return Ie.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,n(e));++o>=t.length&&n(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var o,n="/"===t,a=!t;if(n&&Ie.root)throw new Ie.ErrnoError(10);if(!n&&!a){var s=Ie.lookupPath(t,{follow_mount:!1});if(t=s.path,o=s.node,Ie.isMountpoint(o))throw new Ie.ErrnoError(10);if(!Ie.isDir(o.mode))throw new Ie.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},c=e.mount(i);return c.mount=i,i.root=c,n?Ie.root=c:o&&(o.mounted=i,o.mount&&o.mount.mounts.push(i)),c},unmount(e){var r=Ie.lookupPath(e,{follow_mount:!1});if(!Ie.isMountpoint(r.node))throw new Ie.ErrnoError(28);var t=r.node,o=t.mounted,n=Ie.getMounts(o);Object.keys(Ie.nameTable).forEach((e=>{for(var r=Ie.nameTable[e];r;){var t=r.name_next;n.includes(r.mount)&&Ie.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(o);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var o=Ie.lookupPath(e,{parent:!0}).node,n=ce.basename(e);if(!n||"."===n||".."===n)throw new Ie.ErrnoError(28);var a=Ie.mayCreate(o,n);if(a)throw new Ie.ErrnoError(a);if(!o.node_ops.mknod)throw new Ie.ErrnoError(63);return o.node_ops.mknod(o,n,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Ie.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Ie.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),o="",n=0;n(void 0===t&&(t=r,r=438),r|=8192,Ie.mknod(e,r,t)),symlink(e,r){if(!le.resolve(e))throw new Ie.ErrnoError(44);var t=Ie.lookupPath(r,{parent:!0}).node;if(!t)throw new Ie.ErrnoError(44);var o=ce.basename(r),n=Ie.mayCreate(t,o);if(n)throw new Ie.ErrnoError(n);if(!t.node_ops.symlink)throw new Ie.ErrnoError(63);return t.node_ops.symlink(t,o,e)},rename(e,r){var t,o,n=ce.dirname(e),a=ce.dirname(r),s=ce.basename(e),i=ce.basename(r);if(t=Ie.lookupPath(e,{parent:!0}).node,o=Ie.lookupPath(r,{parent:!0}).node,!t||!o)throw new Ie.ErrnoError(44);if(t.mount!==o.mount)throw new Ie.ErrnoError(75);var c,u=Ie.lookupNode(t,s),d=le.relative(e,a);if("."!==d.charAt(0))throw new Ie.ErrnoError(28);if("."!==(d=le.relative(r,n)).charAt(0))throw new Ie.ErrnoError(55);try{c=Ie.lookupNode(o,i)}catch(e){}if(u!==c){var l=Ie.isDir(u.mode),p=Ie.mayDelete(t,s,l);if(p)throw new Ie.ErrnoError(p);if(p=c?Ie.mayDelete(o,i,l):Ie.mayCreate(o,i))throw new Ie.ErrnoError(p);if(!t.node_ops.rename)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(u)||c&&Ie.isMountpoint(c))throw new Ie.ErrnoError(10);if(o!==t&&(p=Ie.nodePermissions(t,"w")))throw new Ie.ErrnoError(p);Ie.hashRemoveNode(u);try{t.node_ops.rename(u,o,i)}catch(e){throw e}finally{Ie.hashAddNode(u)}}},rmdir(e){var r=Ie.lookupPath(e,{parent:!0}).node,t=ce.basename(e),o=Ie.lookupNode(r,t),n=Ie.mayDelete(r,t,!0);if(n)throw new Ie.ErrnoError(n);if(!r.node_ops.rmdir)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(o))throw new Ie.ErrnoError(10);r.node_ops.rmdir(r,t),Ie.destroyNode(o)},readdir(e){var r=Ie.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ie.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Ie.lookupPath(e,{parent:!0}).node;if(!r)throw new Ie.ErrnoError(44);var t=ce.basename(e),o=Ie.lookupNode(r,t),n=Ie.mayDelete(r,t,!1);if(n)throw new Ie.ErrnoError(n);if(!r.node_ops.unlink)throw new Ie.ErrnoError(63);if(Ie.isMountpoint(o))throw new Ie.ErrnoError(10);r.node_ops.unlink(r,t),Ie.destroyNode(o)},readlink(e){var r=Ie.lookupPath(e).node;if(!r)throw new Ie.ErrnoError(44);if(!r.node_ops.readlink)throw new Ie.ErrnoError(28);return le.resolve(Ie.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Ie.lookupPath(e,{follow:!r}).node;if(!t)throw new Ie.ErrnoError(44);if(!t.node_ops.getattr)throw new Ie.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Ie.stat(e,!0),chmod(e,r,t){var o;if(!(o="string"==typeof e?Ie.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new Ie.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&r|-4096&o.mode,timestamp:Date.now()})},lchmod(e,r){Ie.chmod(e,r,!0)},fchmod(e,r){var t=Ie.getStreamChecked(e);Ie.chmod(t.node,r)},chown(e,r,t,o){var n;if(!(n="string"==typeof e?Ie.lookupPath(e,{follow:!o}).node:e).node_ops.setattr)throw new Ie.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,r,t){Ie.chown(e,r,t,!0)},fchown(e,r,t){var o=Ie.getStreamChecked(e);Ie.chown(o.node,r,t)},truncate(e,r){if(r<0)throw new Ie.ErrnoError(28);var t;if(!(t="string"==typeof e?Ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ie.ErrnoError(63);if(Ie.isDir(t.mode))throw new Ie.ErrnoError(31);if(!Ie.isFile(t.mode))throw new Ie.ErrnoError(28);var o=Ie.nodePermissions(t,"w");if(o)throw new Ie.ErrnoError(o);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Ie.getStreamChecked(e);if(0==(2097155&t.flags))throw new Ie.ErrnoError(28);Ie.truncate(t.node,r)},utime(e,r,t){var o=Ie.lookupPath(e,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new Ie.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?Te(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=ce.normalize(e);try{o=Ie.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new Ie.ErrnoError(20)}else o=Ie.mknod(e,t,0),a=!0;if(!o)throw new Ie.ErrnoError(44);if(Ie.isChrdev(o.mode)&&(r&=-513),65536&r&&!Ie.isDir(o.mode))throw new Ie.ErrnoError(54);if(!a){var s=Ie.mayOpen(o,r);if(s)throw new Ie.ErrnoError(s)}512&r&&!a&&Ie.truncate(o,0),r&=-131713;var i=Ie.createStream({node:o,path:Ie.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(Ie.readFiles||(Ie.readFiles={}),e in Ie.readFiles||(Ie.readFiles[e]=1)),i},close(e){if(Ie.isClosed(e))throw new Ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ie.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,o,n){if(o<0||n<0)throw new Ie.ErrnoError(28);if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(1==(2097155&e.flags))throw new Ie.ErrnoError(8);if(Ie.isDir(e.node.mode))throw new Ie.ErrnoError(31);if(!e.stream_ops.read)throw new Ie.ErrnoError(28);var a=void 0!==n;if(a){if(!e.seekable)throw new Ie.ErrnoError(70)}else n=e.position;var s=e.stream_ops.read(e,r,t,o,n);return a||(e.position+=s),s},write(e,r,t,o,n,a){if(o<0||n<0)throw new Ie.ErrnoError(28);if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(0==(2097155&e.flags))throw new Ie.ErrnoError(8);if(Ie.isDir(e.node.mode))throw new Ie.ErrnoError(31);if(!e.stream_ops.write)throw new Ie.ErrnoError(28);e.seekable&&1024&e.flags&&Ie.llseek(e,0,2);var s=void 0!==n;if(s){if(!e.seekable)throw new Ie.ErrnoError(70)}else n=e.position;var i=e.stream_ops.write(e,r,t,o,n,a);return s||(e.position+=i),i},allocate(e,r,t){if(Ie.isClosed(e))throw new Ie.ErrnoError(8);if(r<0||t<=0)throw new Ie.ErrnoError(28);if(0==(2097155&e.flags))throw new Ie.ErrnoError(8);if(!Ie.isFile(e.node.mode)&&!Ie.isDir(e.node.mode))throw new Ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ie.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,o,n){if(0!=(2&o)&&0==(2&n)&&2!=(2097155&e.flags))throw new Ie.ErrnoError(2);if(1==(2097155&e.flags))throw new Ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ie.ErrnoError(43);return e.stream_ops.mmap(e,r,t,o,n)},msync:(e,r,t,o,n)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,o,n):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Ie.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,o=Ie.open(e,r.flags),n=Ie.stat(e).size,a=new Uint8Array(n);return Ie.read(o,a,0,n,0),"utf8"===r.encoding?t=fe(a,0):"binary"===r.encoding&&(t=a),Ie.close(o),t},writeFile(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.flags=t.flags||577;var o=Ie.open(e,t.flags,t.mode);if("string"==typeof r){var n=new Uint8Array(me(r)+1),a=ye(r,n,0,n.length);Ie.write(o,n,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Ie.write(o,r,0,r.byteLength,void 0,t.canOwn)}Ie.close(o)},cwd:()=>Ie.currentPath,chdir(e){var r=Ie.lookupPath(e,{follow:!0});if(null===r.node)throw new Ie.ErrnoError(44);if(!Ie.isDir(r.node.mode))throw new Ie.ErrnoError(54);var t=Ie.nodePermissions(r.node,"x");if(t)throw new Ie.ErrnoError(t);Ie.currentPath=r.path},createDefaultDirectories(){Ie.mkdir("/tmp"),Ie.mkdir("/home"),Ie.mkdir("/home/web_user")},createDefaultDevices(){Ie.mkdir("/dev"),Ie.registerDevice(Ie.makedev(1,3),{read:()=>0,write:(e,r,t,o,n)=>o}),Ie.mkdev("/dev/null",Ie.makedev(1,3)),ve.register(Ie.makedev(5,0),ve.default_tty_ops),ve.register(Ie.makedev(6,0),ve.default_tty1_ops),Ie.mkdev("/dev/tty",Ie.makedev(5,0)),Ie.mkdev("/dev/tty1",Ie.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=de(e).byteLength),e[--r]);Ie.createDevice("/dev","random",t),Ie.createDevice("/dev","urandom",t),Ie.mkdir("/dev/shm"),Ie.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ie.mkdir("/proc");var e=Ie.mkdir("/proc/self");Ie.mkdir("/proc/self/fd"),Ie.mount({mount(){var r=Ie.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,o=Ie.getStreamChecked(t),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?Ie.createDevice("/dev","stdin",n.stdin):Ie.symlink("/dev/tty","/dev/stdin"),n.stdout?Ie.createDevice("/dev","stdout",null,n.stdout):Ie.symlink("/dev/tty","/dev/stdout"),n.stderr?Ie.createDevice("/dev","stderr",null,n.stderr):Ie.symlink("/dev/tty1","/dev/stderr"),Ie.open("/dev/stdin",0),Ie.open("/dev/stdout",1),Ie.open("/dev/stderr",1)},ensureErrnoError(){Ie.ErrnoError||(Ie.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Ie.ErrnoError.prototype=new Error,Ie.ErrnoError.prototype.constructor=Ie.ErrnoError,[44].forEach((e=>{Ie.genericErrors[e]=new Ie.ErrnoError(e),Ie.genericErrors[e].stack=""})))},staticInit(){Ie.ensureErrnoError(),Ie.nameTable=new Array(4096),Ie.mount(Ee,{},"/"),Ie.createDefaultDirectories(),Ie.createDefaultDevices(),Ie.createSpecialDirectories(),Ie.filesystems={MEMFS:Ee}},init(e,r,t){Ie.init.initialized=!0,Ie.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,Ie.createStandardStreams()},quit(){Ie.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,o=Number(e.getResponseHeader("Content-length")),n=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;n||(s=o);var i=this;i.setDataGetter((e=>{var r=e*s,n=(e+1)*s-1;if(n=Math.min(n,o-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>o-1)throw new Error("only "+o+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",t,!1),o!==s&&n.setRequestHeader("Range","bytes="+e+"-"+r),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+t+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ge(n.responseText||"",!0)})(r,n)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&o||(s=o=1,o=this.getter(0).length,s=o,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!l)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var c=Ie.createFile(e,r,i,o,n);i.contents?c.contents=i.contents:i.url&&(c.contents=null,c.url=i.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function d(e,r,t,o,n){var a=e.node.contents;if(n>=a.length)return 0;var s=Math.min(a.length-n,o);if(a.slice)for(var i=0;i{var r=c.stream_ops[e];u[e]=function(){return Ie.forceLoadFile(c),r.apply(null,arguments)}})),u.read=(e,r,t,o,n)=>(Ie.forceLoadFile(c),d(e,r,t,o,n)),u.mmap=(e,r,t,o,n)=>{Ie.forceLoadFile(c);var a=be();if(!a)throw new Ie.ErrnoError(48);return d(e,S,a,r,t),{ptr:a,allocated:!0}},c.stream_ops=u,c}},_e=(e,r)=>e?fe(k,e,r):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ce.isAbs(r))return r;var o;if(o=-100===e?Ie.cwd():Pe.getStreamFromFD(e).path,0==r.length){if(!t)throw new Ie.ErrnoError(44);return o}return ce.join2(o,r)},doStat(e,r,t){try{var o=e(r)}catch(e){if(e&&e.node&&ce.normalize(r)!==ce.normalize(Ie.getPath(e.node)))return-54;throw e}D[t>>2]=o.dev,D[t+4>>2]=o.mode,T[t+8>>2]=o.nlink,D[t+12>>2]=o.uid,D[t+16>>2]=o.gid,D[t+20>>2]=o.rdev,Q=[o.size>>>0,(J=o.size,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[t+24>>2]=Q[0],D[t+28>>2]=Q[1],D[t+32>>2]=4096,D[t+36>>2]=o.blocks;var n=o.atime.getTime(),a=o.mtime.getTime(),s=o.ctime.getTime();return Q=[Math.floor(n/1e3)>>>0,(J=Math.floor(n/1e3),+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[t+40>>2]=Q[0],D[t+44>>2]=Q[1],T[t+48>>2]=n%1e3*1e3,Q=[Math.floor(a/1e3)>>>0,(J=Math.floor(a/1e3),+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[t+56>>2]=Q[0],D[t+60>>2]=Q[1],T[t+64>>2]=a%1e3*1e3,Q=[Math.floor(s/1e3)>>>0,(J=Math.floor(s/1e3),+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[t+72>>2]=Q[0],D[t+76>>2]=Q[1],T[t+80>>2]=s%1e3*1e3,Q=[o.ino>>>0,(J=o.ino,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[t+88>>2]=Q[0],D[t+92>>2]=Q[1],0},doMsync(e,r,t,o,n){if(!Ie.isFile(r.node.mode))throw new Ie.ErrnoError(43);if(2&o)return 0;var a=k.slice(e,e+t);Ie.msync(r,a,n,t,o)},varargs:void 0,get(){var e=D[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>_e(e),getStreamFromFD:e=>Ie.getStreamChecked(e)};function Re(e,r,t){Pe.varargs=t;try{var o=Pe.getStreamFromFD(e);switch(r){case 0:if((n=Pe.get())<0)return-28;for(;Ie.streams[n];)n++;return Ie.createStream(o,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return o.flags;case 4:var n=Pe.get();return o.flags|=n,0;case 5:return n=Pe.getp(),C[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ie(28),-1}}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return-e.errno}}function Me(e,r,t,o){Pe.varargs=o;try{r=Pe.getStr(r),r=Pe.calculateAt(e,r);var n=o?Pe.get():0;return Ie.open(r,t,n).fd}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return-e.errno}}var We,$e,Oe,xe=(e,r,t,o,n)=>{},Ue=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);We=e},Be=e=>{for(var r="",t=e;k[t];)r+=We[k[t++]];return r},je={},Le={},ze={},Ve=e=>{throw new $e(e)},Ne=e=>{throw new Oe(e)},He=(e,r,t)=>{function o(r){var o=t(r);o.length!==e.length&&Ne("Mismatched type converter count");for(var n=0;n{Le.hasOwnProperty(e)?n[r]=Le[e]:(a.push(e),je.hasOwnProperty(e)||(je[e]=[]),je[e].push((()=>{n[r]=Le[e],++s===a.length&&o(n)})))})),0===a.length&&o(n)};function qe(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var o=r.name;if(e||Ve(`type "${o}" must have a positive integer typeid pointer`),Le.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${o}' twice`)}if(Le[e]=r,delete ze[e],je.hasOwnProperty(e)){var n=je[e];delete je[e],n.forEach((e=>e()))}}function Ge(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return qe(e,r,t)}var Je,Qe=8,Ke=(e,r,t,o)=>{Ge(e,{name:r=Be(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:o},argPackAdvance:Qe,readValueFromPointer:function(e){return this.fromWireType(k[e])},destructorFunction:null})},Xe=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ye=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ze=!1,er=e=>{},rr=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},tr=e=>{e.count.value-=1,0===e.count.value&&rr(e)},or=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var o=or(e,r,t.baseClass);return null===o?null:t.downcast(o)},nr={},ar=()=>Object.keys(lr).length,sr=()=>{var e=[];for(var r in lr)lr.hasOwnProperty(r)&&e.push(lr[r]);return e},ir=[],cr=()=>{for(;ir.length;){var e=ir.pop();e.$$.deleteScheduled=!1,e.delete()}},ur=e=>{Je=e,ir.length&&Je&&Je(cr)},dr=()=>{n.getInheritedInstanceCount=ar,n.getLiveInheritedInstances=sr,n.flushPendingDeletes=cr,n.setDelayFunction=ur},lr={},pr=(e,r)=>{for(void 0===r&&Ve("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},fr=(e,r)=>(r=pr(e,r),lr[r]),hr=(e,r)=>(r.ptrType&&r.ptr||Ne("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&Ne("Both smartPtrType and smartPtr must be specified"),r.count={value:1},yr(Object.create(e,{$$:{value:r}})));function mr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=fr(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var o=t.clone();return this.destructor(e),o}function n(){return this.isSmartPointer?hr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):hr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(r),i=nr[s];if(!i)return n.call(this);a=this.isConst?i.constPointerType:i.pointerType;var c=or(r,this.registeredClass,a.registeredClass);return null===c?n.call(this):this.isSmartPointer?hr(a.registeredClass.instancePrototype,{ptrType:a,ptr:c,smartPtrType:this,smartPtr:e}):hr(a.registeredClass.instancePrototype,{ptrType:a,ptr:c})}var yr=e=>"undefined"==typeof FinalizationRegistry?(yr=e=>e,e):(Ze=new FinalizationRegistry((e=>{tr(e.$$)})),yr=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};Ze.register(e,t,e)}return e},er=e=>Ze.unregister(e),yr(e)),gr=()=>{Object.assign(wr.prototype,{isAliasOf(e){if(!(this instanceof wr))return!1;if(!(e instanceof wr))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var o=e.$$.ptrType.registeredClass,n=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;o.baseClass;)n=o.upcast(n),o=o.baseClass;return r===o&&t===n},clone(){if(this.$$.ptr||Ye(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=yr(Object.create(Object.getPrototypeOf(this),{$$:{value:Xe(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ye(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),er(this),tr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ye(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),ir.push(this),1===ir.length&&Je&&Je(cr),this.$$.deleteScheduled=!0,this}})};function wr(){}var vr=(e,r)=>Object.defineProperty(r,"name",{value:e}),br=(e,r,t)=>{if(void 0===e[r].overloadTable){var o=e[r];e[r]=function(){return e[r].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[arguments.length].apply(this,arguments)},e[r].overloadTable=[],e[r].overloadTable[o.argCount]=o}},Er=(e,r,t)=>{n.hasOwnProperty(e)?((void 0===t||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[t])&&Ve(`Cannot register public name '${e}' twice`),br(n,e,e),n.hasOwnProperty(t)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),n[e].overloadTable[t]=r):(n[e]=r,void 0!==t&&(n[e].numArguments=t))},Sr=48,kr=57,Cr=e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=Sr&&r<=kr?`_${e}`:e};function Ar(e,r,t,o,n,a,s,i){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=o,this.baseClass=n,this.getActualType=a,this.upcast=s,this.downcast=i,this.pureVirtualFunctions=[]}var Dr=(e,r,t)=>{for(;r!==t;)r.upcast||Ve(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function Tr(e,r){if(null===r)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;r.$$||Ve(`Cannot pass "${ct(r)}" as a ${this.name}`),r.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Dr(r.$$.ptr,t,this.registeredClass)}function Fr(e,r){var t;if(null===r)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r.$$||Ve(`Cannot pass "${ct(r)}" as a ${this.name}`),r.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var o=r.$$.ptrType.registeredClass;if(t=Dr(r.$$.ptr,o,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Ve(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var n=r.clone();t=this.rawShare(t,at.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:Ve("Unsupporting sharing policy")}return t}function Ir(e,r){if(null===r)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;r.$$||Ve(`Cannot pass "${ct(r)}" as a ${this.name}`),r.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Dr(r.$$.ptr,t,this.registeredClass)}function _r(e){return this.fromWireType(T[e>>2])}var Pr=()=>{Object.assign(Rr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Qe,readValueFromPointer:_r,deleteObject(e){null!==e&&e.delete()},fromWireType:mr})};function Rr(e,r,t,o,n,a,s,i,c,u,d){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=o,this.isSmartPointer=n,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=i,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=d,n||void 0!==r.baseClass?this.toWireType=Fr:o?(this.toWireType=Tr,this.destructorFunction=null):(this.toWireType=Ir,this.destructorFunction=null)}var Mr,Wr,$r=(e,r,t)=>{n.hasOwnProperty(e)||Ne("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==t?n[e].overloadTable[t]=r:(n[e]=r,n[e].argCount=t)},Or=(e,r,t)=>{var o=n["dynCall_"+e];return t&&t.length?o.apply(null,[r].concat(t)):o.call(null,r)},xr=[],Ur=e=>{var r=xr[e];return r||(e>=xr.length&&(xr.length=e+1),xr[e]=r=Mr.get(e)),r},Br=(e,r,t)=>e.includes("j")?Or(e,r,t):Ur(r).apply(null,t),jr=(e,r)=>{var t=[];return function(){return t.length=0,Object.assign(t,arguments),Br(e,r,t)}},Lr=(e,r)=>{var t=(e=Be(e)).includes("j")?jr(e,r):Ur(r);return"function"!=typeof t&&Ve(`unknown function pointer with signature ${e}: ${r}`),t},zr=(e,r)=>{var t=vr(r,(function(e){this.name=r,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t},Vr=e=>{var r=co(e),t=Be(r);return so(r),t},Nr=(e,r)=>{var t=[],o={};throw r.forEach((function e(r){o[r]||Le[r]||(ze[r]?ze[r].forEach(e):(t.push(r),o[r]=!0))})),new Wr(`${e}: `+t.map(Vr).join([", "]))},Hr=(e,r,t,o,n,a,s,i,c,u,d,l,p)=>{d=Be(d),a=Lr(n,a),i&&(i=Lr(s,i)),u&&(u=Lr(c,u)),p=Lr(l,p);var f=Cr(d);Er(f,(function(){Nr(`Cannot construct ${d} due to unbound types`,[o])})),He([e,r,t],o?[o]:[],(function(r){var t,n;r=r[0],n=o?(t=r.registeredClass).instancePrototype:wr.prototype;var s=vr(d,(function(){if(Object.getPrototypeOf(this)!==c)throw new $e("Use 'new' to construct "+d);if(void 0===l.constructor_body)throw new $e(d+" has no accessible constructor");var e=l.constructor_body[arguments.length];if(void 0===e)throw new $e(`Tried to invoke ctor of ${d} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(l.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(n,{constructor:{value:s}});s.prototype=c;var l=new Ar(d,s,c,p,t,a,i,u);l.baseClass&&(void 0===l.baseClass.__derivedClasses&&(l.baseClass.__derivedClasses=[]),l.baseClass.__derivedClasses.push(l));var h=new Rr(d,l,!0,!1,!1),m=new Rr(d+"*",l,!1,!1,!1),y=new Rr(d+" const*",l,!1,!0,!1);return nr[e]={pointerType:m,constPointerType:y},$r(f,s),[h,m,y]}))},qr=(e,r)=>{for(var t=[],o=0;o>2]);return t},Gr=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function Jr(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var t=vr(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var o=new t,n=e.apply(o,r);return n instanceof Object?n:o}function Qr(e,r,t,o,n,a){var s=r.length;s<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==r[1]&&null!==t,c=!1,u=1;u0?", ":"")+p),f+=(d||a?"var rv = ":"")+"invoker(fn"+(p.length>0?", ":"")+p+");\n",c)f+="runDestructors(destructors);\n";else for(u=i?1:2;u{var s=qr(r,t);n=Lr(o,n),He([],[e],(function(e){var t=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new $e(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[r-1]=()=>{Nr(`Cannot construct ${e.name} due to unbound types`,s)},He([],s,(o=>(o.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Qr(t,o,null,n,a),[]))),[]}))},Xr=e=>{const r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},Yr=(e,r,t,o,n,a,s,i,c)=>{var u=qr(t,o);r=Be(r),r=Xr(r),a=Lr(n,a),He([],[e],(function(e){var o=`${(e=e[0]).name}.${r}`;function n(){Nr(`Cannot call ${o} due to unbound types`,u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(r);var d=e.registeredClass.instancePrototype,l=d[r];return void 0===l||void 0===l.overloadTable&&l.className!==e.name&&l.argCount===t-2?(n.argCount=t-2,n.className=e.name,d[r]=n):(br(d,r,o),d[r].overloadTable[t-2]=n),He([],u,(function(n){var i=Qr(o,n,e,a,s,c);return void 0===d[r].overloadTable?(i.argCount=t-2,d[r]=i):d[r].overloadTable[t-2]=i,[]})),[]}))};function Zr(){Object.assign(et.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var r=this.freelist.pop()||this.allocated.length;return this.allocated[r]=e,r},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function et(){this.allocated=[void 0],this.freelist=[]}var rt=new et,tt=e=>{e>=rt.reserved&&0==--rt.get(e).refcount&&rt.free(e)},ot=()=>{for(var e=0,r=rt.reserved;r{rt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),rt.reserved=rt.allocated.length,n.count_emval_handles=ot},at={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),rt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return rt.allocate({refcount:1,value:e})}}};function st(e){return this.fromWireType(D[e>>2])}var it=(e,r)=>{Ge(e,{name:r=Be(r),fromWireType:e=>{var r=at.toValue(e);return tt(e),r},toWireType:(e,r)=>at.toHandle(r),argPackAdvance:Qe,readValueFromPointer:st,destructorFunction:null})},ct=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},ut=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(F[e>>2])};case 8:return function(e){return this.fromWireType(I[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},dt=(e,r,t)=>{Ge(e,{name:r=Be(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:Qe,readValueFromPointer:ut(r,t),destructorFunction:null})},lt=(e,r,t)=>{switch(r){case 1:return t?e=>S[e>>0]:e=>k[e>>0];case 2:return t?e=>C[e>>1]:e=>A[e>>1];case 4:return t?e=>D[e>>2]:e=>T[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},pt=(e,r,t,o,n)=>{r=Be(r);var a=e=>e;if(0===o){var s=32-8*t;a=e=>e<>>s}var i=r.includes("unsigned");Ge(e,{name:r,fromWireType:a,toWireType:i?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:Qe,readValueFromPointer:lt(r,t,0!==o),destructorFunction:null})},ft=(e,r,t)=>{var o=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function n(e){var r=T[e>>2],t=T[e+4>>2];return new o(S.buffer,t,r)}Ge(e,{name:t=Be(t),fromWireType:n,argPackAdvance:Qe,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},ht=(e,r,t)=>ye(e,k,r,t),mt=(e,r)=>{var t="std::string"===(r=Be(r));Ge(e,{name:r,fromWireType(e){var r,o=T[e>>2],n=e+4;if(t)for(var a=n,s=0;s<=o;++s){var i=n+s;if(s==o||0==k[i]){var c=_e(a,i-a);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),a=i+1}}else{var u=new Array(o);for(s=0;s>2]=o,t&&n)ht(r,s,o+1);else if(n)for(var i=0;i255&&(so(s),Ve("String has UTF-16 code units that do not fit in 8 bits")),k[s+i]=c}else for(i=0;i{for(var t=e,o=t>>1,n=o+r/2;!(o>=n)&&A[o];)++o;if((t=o<<1)-e>32&&yt)return yt.decode(k.subarray(e,t));for(var a="",s=0;!(s>=r/2);++s){var i=C[e+2*s>>1];if(0==i)break;a+=String.fromCharCode(i)}return a},wt=(e,r,t)=>{if(void 0===t&&(t=2147483647),t<2)return 0;for(var o=r,n=(t-=2)<2*e.length?t/2:e.length,a=0;a>1]=s,r+=2}return C[r>>1]=0,r-o},vt=e=>2*e.length,bt=(e,r)=>{for(var t=0,o="";!(t>=r/4);){var n=D[e+4*t>>2];if(0==n)break;if(++t,n>=65536){var a=n-65536;o+=String.fromCharCode(55296|a>>10,56320|1023&a)}else o+=String.fromCharCode(n)}return o},Et=(e,r,t)=>{if(void 0===t&&(t=2147483647),t<4)return 0;for(var o=r,n=o+t-4,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),D[r>>2]=s,(r+=4)+4>n)break}return D[r>>2]=0,r-o},St=e=>{for(var r=0,t=0;t=55296&&o<=57343&&++t,r+=4}return r},kt=(e,r,t)=>{var o,n,a,s,i;t=Be(t),2===r?(o=gt,n=wt,s=vt,a=()=>A,i=1):4===r&&(o=bt,n=Et,s=St,a=()=>T,i=2),Ge(e,{name:t,fromWireType:e=>{for(var t,n=T[e>>2],s=a(),c=e+4,u=0;u<=n;++u){var d=e+4+u*r;if(u==n||0==s[d>>i]){var l=o(c,d-c);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),c=d+r}}return so(e),t},toWireType:(e,o)=>{"string"!=typeof o&&Ve(`Cannot pass non-string to C++ string type ${t}`);var a=s(o),c=uo(4+a+r);return T[c>>2]=a>>i,n(o,c+4,a+r),null!==e&&e.push(so,c),c},argPackAdvance:Qe,readValueFromPointer:st,destructorFunction(e){so(e)}})},Ct=(e,r)=>{Ge(e,{isVoid:!0,name:r=Be(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},At={},Dt=e=>{var r=At[e];return void 0===r?Be(e):r},Tt=[],Ft=(e,r,t,o,n)=>(e=Tt[e])(r=at.toValue(r),r[t=Dt(t)],o,n),It=e=>{var r=Tt.length;return Tt.push(e),r},_t=(e,r)=>{var t=Le[e];return void 0===t&&Ve(r+" has unknown type "+Vr(e)),t},Pt=(e,r)=>{for(var t=new Array(e),o=0;o>2],"parameter "+o);return t},Rt=(e,r,t)=>{var o=[],n=e.toWireType(o,t);return o.length&&(T[r>>2]=at.toHandle(o)),n},Mt=(e,r,t)=>{var o=Pt(e,r),n=o.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",s=0,i=[];0===t&&i.push("obj");for(var c=["retType"],u=[n],d=0;de.name)).join(", ")}) => ${n.name}>`;return It(vr(p,l))},Wt=e=>{var r=at.toValue(e);Gr(r),tt(e)},$t=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,Ot=()=>{q("")},xt=()=>Date.now(),Ut=(e,r,t)=>k.copyWithin(e,r,r+t),Bt=e=>{q("OOM")},jt=e=>{k.length,Bt()},Lt={},zt=()=>u||"./this.program",Vt=()=>{if(!Vt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:zt()};for(var r in Lt)void 0===Lt[r]?delete e[r]:e[r]=Lt[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);Vt.strings=t}return Vt.strings},Nt=(e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);S[r>>0]=0},Ht=(e,r)=>{var t=0;return Vt().forEach(((o,n)=>{var a=r+t;T[e+4*n>>2]=a,Nt(o,a),t+=o.length+1})),0},qt=(e,r)=>{var t=Vt();T[e>>2]=t.length;var o=0;return t.forEach((e=>o+=e.length+1)),T[r>>2]=o,0};function Gt(e){try{var r=Pe.getStreamFromFD(e);return Ie.close(r),0}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return e.errno}}function Jt(e,r){try{var t=Pe.getStreamFromFD(e),o=t.tty?2:Ie.isDir(t.mode)?3:Ie.isLink(t.mode)?7:4;return S[r>>0]=o,C[r+2>>1]=0,Q=[0,(J=0,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[r+8>>2]=Q[0],D[r+12>>2]=Q[1],Q=[0,(J=0,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[r+16>>2]=Q[0],D[r+20>>2]=Q[1],0}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return e.errno}}var Qt=(e,r,t,o)=>{for(var n=0,a=0;a>2],i=T[r+4>>2];r+=8;var c=Ie.read(e,S,s,i,o);if(c<0)return-1;if(n+=c,c>2]=a,0}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return e.errno}}function Xt(e,r,t,o,n){var a=$t(r,t);try{if(isNaN(a))return 61;var s=Pe.getStreamFromFD(e);return Ie.llseek(s,a,o),Q=[s.position>>>0,(J=s.position,+Math.abs(J)>=1?J>0?+Math.floor(J/4294967296)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],D[n>>2]=Q[0],D[n+4>>2]=Q[1],s.getdents&&0===a&&0===o&&(s.getdents=null),0}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return e.errno}}var Yt=(e,r,t,o)=>{for(var n=0,a=0;a>2],i=T[r+4>>2];r+=8;var c=Ie.write(e,S,s,i,o);if(c<0)return-1;n+=c,void 0!==o&&(o+=c)}return n};function Zt(e,r,t,o){try{var n=Pe.getStreamFromFD(e),a=Yt(n,r,t);return T[o>>2]=a,0}catch(e){if(void 0===Ie||"ErrnoError"!==e.name)throw e;return e.errno}}var eo=function(e,r,t,o){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ie.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=o},ro=365,to=146;Object.defineProperties(eo.prototype,{read:{get:function(){return(this.mode&ro)===ro},set:function(e){e?this.mode|=ro:this.mode&=~ro}},write:{get:function(){return(this.mode&to)===to},set:function(e){e?this.mode|=to:this.mode&=~to}},isFolder:{get:function(){return Ie.isDir(this.mode)}},isDevice:{get:function(){return Ie.isChrdev(this.mode)}}}),Ie.FSNode=eo,Ie.createPreloadedFile=De,Ie.staticInit(),Ue(),$e=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Oe=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gr(),dr(),Pr(),Wr=n.UnboundTypeError=zr(Error,"UnboundTypeError"),Zr(),nt();var oo,no={o:se,A:Re,s:Me,q:xe,C:Ke,D:Hr,y:Kr,g:Yr,B:it,k:dt,c:pt,b:ft,l:mt,i:kt,n:Ct,f:Ft,m:tt,e:Mt,d:Wt,a:Ot,h:xt,w:Ut,r:jt,u:Ht,v:qt,j:Gt,t:Jt,z:Kt,p:Xt,x:Zt},ao=oe(),so=e=>(so=ao.G)(e),io=()=>(io=ao.I)(),co=e=>(co=ao.J)(e),uo=e=>(uo=ao.K)(e),lo=e=>(lo=ao.M)(e);function po(){function e(){oo||(oo=!0,n.calledRun=!0,_||(x(),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),U()))}z>0||(O(),z>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_viiijj=(e,r,t,o,a,s,i,c)=>(n.dynCall_viiijj=ao.N)(e,r,t,o,a,s,i,c),n.dynCall_jij=(e,r,t,o)=>(n.dynCall_jij=ao.O)(e,r,t,o),n.dynCall_jii=(e,r,t)=>(n.dynCall_jii=ao.P)(e,r,t),n.dynCall_jiji=(e,r,t,o,a)=>(n.dynCall_jiji=ao.Q)(e,r,t,o,a),V=function e(){oo||po(),oo||(V=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return po(),e.ready});function o(e,r){const t=I();return(o=function(e,r){return t[e-=392]})(e,r)}const n=o;!function(e,r){const t=o,n=e();for(;;)try{if(920953===-parseInt(t(769))/1+parseInt(t(484))/2+-parseInt(t(723))/3+-parseInt(t(728))/4*(-parseInt(t(451))/5)+-parseInt(t(644))/6*(-parseInt(t(409))/7)+-parseInt(t(711))/8*(-parseInt(t(767))/9)+parseInt(t(564))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(I);const a={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};n(763),n(752),n(692),n(504),n(745);const s={fetch:n(752),hls:n(692),websocket:"websocket",webrtc:n(504),webTransport:n(598),worker:"worker",aliyunRtc:n(745),mp4:n(597)},i={player:"player",playerAudio:n(582),playbackTF:"playbackTF",talk:n(489),playVod:n(693)},c={mp4:n(597),webm:n(646),flv:n(394),mov:n(521)},u={flv:n(394),m7s:n(446),hls:n(692),webrtc:n(504),webTransport:n(598),nakedFlow:n(833),fmp4:n(628),mpeg4:n(603),aliyunRtc:n(745),ts:"ts",g711:n(649),pcm:n(425)};n(787),n(839),n(429),n(686),n(596),n(820);const d={mse:n(755),wcs:n(770),offscreen:n(837),wasm:n(809),simd:"simd",mt:"mt",webrtc:n(504),hls:n(692),aliyunRtc:n(745)},l={canvas:"canvas",video:n(492)},p={debug:n(422),warn:n(765)},f={click:n(458),mouseDownAndUp:n(803)},h={normal:n(505),simple:n(406)},m={normal:n(505),small:n(413)},y=n(418),g=n(761);n(785),n(541);const w={playIsNotPauseOrUrlIsNull:n(525),webglAlignmentError:n(639),webglContextLostError:n(490),mediaSourceH265NotSupport:n(688),mseSourceBufferFull:n(417),mediaSourceAppendBufferError:n(810),mseSourceBufferError:n(633),mseAddSourceBufferError:n(810),mseWorkerAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:n(810),mediaSourceTsIsMaxDiff:n(701),mseWidthOrHeightChange:"流异常",mediaSourceAudioG711NotSupport:n(529),mediaSourceAudioInitTimeout:n(491),mediaSourceAudioNoDataTimeout:n(404),mediaSourceUseCanvasRenderPlayFailed:n(539),mediaSourceBufferedIsZeroError:"流异常",webcodecsH265NotSupport:n(688),webcodecsUnsupportedConfigurationError:n(810),webcodecsDecodeConfigureError:n(810),webcodecsDecodeError:n(633),webcodecsAudioInitTimeout:n(491),webcodecsAudioNoDataTimeout:n(404),wcsWidthOrHeightChange:"解码失败",wasmDecodeError:n(633),simdDecodeError:"解码失败",wasmWidthOrHeightChange:"流异常",wasmUseVideoRenderError:n(811),videoElementPlayingFailed:n(811),simdH264DecodeVideoWidthIsTooLarge:"不支持该分辨率的视频",networkDelayTimeout:"网络超时重播失败",fetchError:n(660),streamEnd:n(680),websocket1006Error:n(689),websocketError:n(660),webrtcError:n(660),hlsError:n(660),decoderWorkerInitError:n(530),decoderWorkerWasmError:n(557),videoElementPlayingFailedForWebrtc:n(811),videoInfoError:n(580),webrtcStreamH265:n(714),delayTimeout:n(733),loadingTimeout:n(699),loadingTimeoutRetryEnd:n(699),delayTimeoutRetryEnd:n(733),flvDemuxBufferSizeTooLarge:n(536),audioChannelError:n(499),aliyunRtcError:n(660),mseWaitVideoCanplayTimeout:n(701),initDecoderWorkerTimeout:"初始化解码worker超时"},v={playType:i[n(631)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:p.warn,debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:m.normal,loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:n(705),decoderOld:n(610),decoderAudio:n(707),decoderHard:"decoder-pro-hard.js",decoderHardNotWasm:n(840),wasmMp4RecorderDecoder:"jessibuca-pro-mp4-recorder-decoder.js",decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:n(415),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:h[n(505)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:a[n(752)],demuxType:u.flv,useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:d[n(809)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:c.mp4,checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:"vertical",ptzClickType:f[n(458)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:w,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:l.video,webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:n(570),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:n(570),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:n(602),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};n(738),n(621),n(632),n(526),n(683),n(805),n(791),n(650),n(402),n(819),n(665),n(500),n(772),n(419);const b={init:n(443),initVideo:n(696),render:n(445),playAudio:n(619),initAudio:n(759),kBps:n(566),decode:n(797),audioCode:n(478),audioNalu:"audioNalu",audioAACSequenceHeader:"audioAACSequenceHeader",videoCode:n(463),videoCodec:n(818),videoNalu:"videoNalu",videoPayload:"videoPayload",audioPayload:"audioPayload",wasmError:n(453),workerFetch:"workerFetch",iframeIntervalTs:n(508),isDropping:n(472),workerEnd:n(618),networkDelay:n(715),playbackStreamVideoFps:n(718),wasmWidthOrHeightChange:n(607),simdDecodeError:n(702),simdH264DecodeVideoWidthIsTooLarge:n(584),websocketOpen:n(399),closeEnd:n(434),tempStream:n(444),videoSEI:n(783),flvScriptData:n(468),aacSequenceHeader:"aacSequenceHeader",videoSequenceHeader:n(574),flvBufferData:"flvBufferData",checkFirstIFrame:"checkFirstIFrame",mseHandle:n(814),mseFirstRenderTime:"mseFirstRenderTime",mseError:n(549),notSupportNewWasm:n(834)};n(433);const E={audio:1,video:2},S={audio:8,video:9,scriptData:18},k={init:n(443),decode:n(797),audioDecode:"audioDecode",videoDecode:"videoDecode",initAudioCodec:n(617),initVideoCodec:n(583),close:n(828),updateConfig:n(540),resetDecode:n(436),clearBuffer:n(537),resetAudioDecode:n(658),resetVideoDecode:n(408),fetchStream:n(636),sendWsMessage:n(724),mseUpdateVideoTimestamp:n(469),playbackIsPause:"playbackIsPause"};n(752),n(475),n(808),n(591),n(629),n(623),n(752),n(647),n(808),n(817),n(524);const C={fullscreen:n(684),webFullscreen:"webFullscreen",decoderWorkerInit:n(553),play:n(411),playing:n(471),pause:n(802),mute:n(430),load:n(560),loading:n(799),zooming:n(579),drawingRect:n(729),drawingRectInfo:n(587),videoInfo:n(786),timeUpdate:n(512),audioInfo:n(428),log:n(554),error:n(456),kBps:n(566),timeout:n(558),delayTimeout:"delayTimeout",delayTimeoutRetryEnd:n(845),loadingTimeout:"loadingTimeout",loadingTimeoutRetryEnd:"loadingTimeoutRetryEnd",stats:"stats",performance:n(768),videoSmooth:n(507),faceDetectActive:n(396),objectDetectActive:n(522),occlusionDetectActive:n(722),imageDetectActive:n(457),record:n(567),recording:n(480),recordingTimestamp:"recordingTimestamp",recordStart:n(694),recordEnd:n(813),recordCreateError:"recordCreateError",recordBlob:n(424),recordCancel:n(545),buffer:"buffer",videoFrame:"videoFrame",videoSEI:"videoSEI",videoSEISyncPts:n(393),start:"start",metadata:"metadata",resize:n(775),volumechange:n(483),volume:"volume",destroy:n(475),beforeDestroy:"beforeDestroy",streamEnd:"streamEnd",streamRate:"streamRate",streamAbps:n(485),streamVbps:n(395),streamDts:n(651),streamSuccess:n(779),streamMessage:n(815),streamError:"streamError",streamStats:"streamStats",streamEndInner:n(572),mseSourceOpen:n(548),mseSourceClose:n(789),mseSourceended:"mseSourceended",mseSourceStartStreaming:n(792),mseSourceEndStreaming:n(612),mseSourceBufferError:"mseSourceBufferError",mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:"mseWorkerAddSourceBufferError",mseSourceBufferBusy:n(790),mseSourceBufferFull:n(847),videoWaiting:n(590),videoTimeUpdate:n(578),videoSyncAudio:"videoSyncAudio",playToRenderTimes:n(831),playbackTime:n(796),playbackTimestamp:"playbackTimestamp",playbackTimeScroll:n(616),playbackPrecision:n(673),playbackShowPrecisionChange:"playbackShowPrecisionChange",playbackJustTime:n(534),playbackStats:n(615),playbackSeek:"playbackSeek",playbackPause:n(637),playbackPauseOrResume:n(695),playbackRateChange:"playbackRateChange",playbackPreRateChange:n(400),playbackEnd:n(520),playVodStats:n(823),playVodPause:"playVodPause",playVodPauseOrResume:n(555),playVodRateChange:n(807),playVodTime:n(601),playVodTimeCache:n(481),playVodSeek:"playVodSeek",playVodSeekEnd:n(426),playVodVideoSeekingByMse:"playVodVideoSeekingByMse",playVodVideoSeekedByMse:n(551),playVodCanplay:n(559),playVodWaiting:n(547),playVodEndedAndReplay:n(661),playVodEnded:n(669),ptz:n(816),streamQualityChange:n(441),visibilityChange:n(565),netBuf:"netBuf",close:n(828),networkDelayTimeout:n(599),togglePerformancePanel:n(496),viewResizeChange:n(511),flvDemuxBufferSizeTooLarge:n(697),talkGetUserMediaSuccess:"talkGetUserMediaSuccess",talkGetUserMediaFail:n(732),talkGetUserMediaTimeout:n(675),talkStreamStart:n(501),talkStreamOpen:"talkStreamOpen",talkStreamClose:n(454),talkStreamError:n(719),talkStreamInactive:n(749),talkStreamMsg:n(437),webrtcDisconnect:n(465),webrtcFailed:n(585),webrtcClosed:n(401),webrtcChecking:"webrtcChecking",webrtcConnected:"webrtcConnected",webrtcCompleted:n(670),webrtcOnConnectionStateChange:n(450),webrtcOnIceConnectionStateChange:n(760),crashLog:n(668),focus:"focus",blur:n(573),inView:n(671),visibilityHiddenTimeout:n(829),websocketOpen:n(399),websocketClose:n(781),websocketError:n(524),websocketMessage:n(605),aiObjectDetectorInfo:"aiObjectDetectorInfo",aiFaceDetectorInfo:"aiFaceDetectorInfo",aiOcclusionDetectResult:n(586),aiImageDetectResult:n(794),playFailedAndPaused:n(717),audioResumeState:n(407),webrtcStreamH265:"webrtcStreamH265",flvMetaData:"flvMetaData",talkFailedAndStop:n(672),removeLoadingBgImage:"removeLoadingBgImage",memoryLog:"memoryLog",downloadMemoryLog:n(544),pressureObserverCpu:n(575),currentPts:n(513),online:n(727),offline:n(690),networkState:n(648),clickInitPlayer:n(774)};n(512),n(786),n(566),n(398),n(757),n(510),n(795),n(845),n(663),n(641),n(802),n(430),n(709),n(439),n(694),n(535),n(813),n(424),n(831),n(495),n(695),n(400),n(747),n(520),n(669),n(555),n(807),n(601),n(766),n(816),n(441),n(668),n(780),n(573),n(829),n(565),n(399),n(781),n(599),n(844),n(420),n(586),n(717),n(712),n(407),n(783),n(393),n(652),n(450),n(507),n(648),n(654),n(587),n(719),n(675),n(672),n(437),n(560),n(512),n(428),n(456),n(566),n(398),n(558),n(757),n(510),n(795),n(845),n(411),n(802),n(709),n(831),n(668),n(399),n(781),n(717),n(407);const A={talkStreamError:C[n(719)],talkStreamClose:C[n(454)]},D={playError:n(846),fetchError:n(591),websocketError:n(524),webcodecsH265NotSupport:n(447),webcodecsDecodeError:"webcodecsDecodeError",webcodecsUnsupportedConfigurationError:"webcodecsUnsupportedConfigurationError",webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:n(659),webcodecsAudioNoDataTimeout:n(821),mediaSourceH265NotSupport:"mediaSourceH265NotSupport",mediaSourceAudioG711NotSupport:n(552),mediaSourceAudioInitTimeout:n(776),mediaSourceAudioNoDataTimeout:n(470),mediaSourceDecoderConfigurationError:n(514),mediaSourceFull:C[n(847)],mseSourceBufferError:C.mseSourceBufferError,mseAddSourceBufferError:C[n(571)],mseWorkerAddSourceBufferError:C[n(550)],mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceTsIsMaxDiff:n(503),mediaSourceUseCanvasRenderPlayFailed:n(593),mediaSourceBufferedIsZeroError:n(778),wasmDecodeError:"wasmDecodeError",wasmUseVideoRenderError:"wasmUseVideoRenderError",simdH264DecodeVideoWidthIsTooLarge:n(584),simdDecodeError:n(702),hlsError:n(716),webrtcError:n(784),webrtcClosed:C.webrtcClosed,webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:n(589),wasmWidthOrHeightChange:n(607),mseWidthOrHeightChange:n(835),wcsWidthOrHeightChange:n(432),widthOrHeightChange:n(676),tallWebsocketClosedByError:n(826),flvDemuxBufferSizeTooLarge:C[n(697)],audioChannelError:"audioChannelError",webglContextLostError:n(655),videoElementPlayingFailed:n(423),videoElementPlayingFailedForWebrtc:n(528),decoderWorkerInitError:n(825),decoderWorkerWasmError:"decoderWorkerWasmError",videoInfoError:n(698),streamEnd:C[n(712)],websocket1006Error:n(750),delayTimeout:C.delayTimeout,loadingTimeout:C[n(757)],networkDelayTimeout:C[n(599)],fullscreenError:"fullscreenError",aliyunRtcError:"aliyunRtcError",mseWaitVideoCanplayTimeout:"mseWaitVideoCanplayTimeout",initDecoderWorkerTimeout:"initDecoderWorkerTimeout",notSupportNewWasm:"notSupportNewWasm",playVodMp4Error:n(838),mp4Error:n(800),...A};n(739),n(474),n(828),n(456);const T={connecting:0,open:1,closing:2,closed:3};n(827),n(569),n(725),n(431),n(466),n(466),n(462),n(608),n(686),n(462),n(608);const F={AAC:10,ALAW:7,MULAW:8,MP3:2};n(487),n(515),n(487),n(743),n(754),n(744),n(461),n(679),n(837),n(755),n(692),n(504),n(620),n(531),n(773),n(788),n(843),n(474),n(758),Math[n(498)](40),n(849),n(592),n(700),n(611),n(482),n(656),n(414),n(476),n(677),n(706),n(849),n(592),n(700),n(611),n(830),n(392),n(604),n(600),n(440),n(625),n(830),n(822),n(435),n(518),n(691),n(703),n(848),n(704),n(561),n(546),n(735),n(497),n(397),n(736),n(640);n(538),n(653),n(425),n(506);function I(){const e=["small","five-min","default","emptied","缓冲区已满","JessibucaPro","isTs","aiFaceDetectorInfo","play() failed because the user didn't interact with the document first","debug","videoElementPlayingFailed","recordBlob","pcm","playVodSeekEnd","tcp","audioInfo","FMP4","mute","base64","wcsWidthOrHeightChange","Invalid NAL unit size","closeEnd","leftDown","resetDecode","talkStreamMsg","AbortError","recordingTimestamp","right-up","streamQualityChange","multiDrop","init","tempStream","render","m7s","webcodecsH265NotSupport","image/jpeg","transport","webrtcOnConnectionStateChange","343555hUGIfE","Cannot call 'decode' on a closed codec","wasmError","talkStreamClose","NotAllowedError","error","imageDetectActive","click","buffereos","multiMouseup","webcodecs","H264(AVC)","videoCode","empty","webrtcDisconnect","blob","media-source","flvScriptData","mseUpdateVideoTimestamp","mediaSourceAudioNoDataTimeout","playing","isDropping","idle","open","destroy","30min","Decoder failure","audioCode","load-complete","recording","playVodTimeCache","one-hour","volumechange","2596494DBiuQw","streamAbps","playback","AAC","track","talk","webgl 上下文丢失","初始化音频解码器失败","video","multiMouseover","MEDIA_ERR_DECODE","playbackTimestamp","togglePerformancePanel","cruiseStart","ceil","音频通道错误","isWebrtcForSRS","talkStreamStart","sourceended","mediaSourceTsIsMaxDiff","webrtc","normal","opus","videoSmooth","iframeIntervalTs","stream","loadingTimeoutRetryEnd","viewResizeChange","timeUpdate","currentPts","mediaSourceDecoderConfigurationError","ALAW(g711a)","0000000000","remote-inbound-rtp","rightUp","multiDragleave","playbackEnd","mov","objectDetectActive","webrtc-failed","websocketError","播放地址不能为空","supportHls265","worklet","videoElementPlayingFailedForWebrtc","硬解码不支持G711a/u音频格式","初始化worker失败",'video/mp4; codecs="hev1.1.6.L123.b0"',"data-channel","1-1","playbackJustTime","recordCreateError","FLV待解封装buffer过大","clearBuffer","g711a","MediaSource解码使用canvas渲染失败","updateConfig","jbprovm","ttfb","multiMousemove","downloadMemoryLog","recordCancel","apertureFar","playVodWaiting","mseSourceOpen","mseError","mseWorkerAddSourceBufferError","playVodVideoSeekedByMse","mediaSourceAudioG711NotSupport","decoderWorkerInit","log","playVodPauseOrResume","multiMouseout","wasm解码失败","timeout","playVodCanplay","load","zoomNarrow","flv-script-data","audio packet","7959420eIWGhg","visibilityChange","kBps","record","speed","full","white","mseAddSourceBufferError","streamEndInner","blur","videoSequenceHeader","pressureObserverCpu","durationchange","remote-candidate","videoTimeUpdate","zooming","解析视频分辨率失败","multiSelected","playerAudio","initVideoCodec","simdH264DecodeVideoWidthIsTooLarge","webrtcFailed","aiOcclusionDetectResult","drawingRectInfo","object","webglAlignmentError","videoWaiting","fetchError","halfHour","mediaSourceUseCanvasRenderPlayFailed","multiDragstart","connecting","Webrtc","mp4","webTransport","networkDelayTimeout","left-up","playVodTime","red","mpeg4","left","websocketMessage","window","wasmWidthOrHeightChange","H265(HEVC)","inbound-rtp","decoder-pro-old.js","fiveMin","mseSourceEndStreaming","multiDblSelected","container","playbackStats","playbackTimeScroll","initAudioCodec","workerEnd","playAudio",'video/mp4; codecs="avc1.64002A"',"isMulti","local-candidate","fetchSuccess","loadedmetadata","right-down","mseDecodeError","avc","fmp4","fetchClose","load-retry","player","isM7sCrypto","解码失败","sourceclose","certificate","fetchStream","playbackPause","decoder-pro-audio-player.js","Webgl 渲染失败","wiperClose","webFullscreen","hevc","load-start","156pkbkEa","peer-connection","webm","sendMessage","networkState","g711","isMpeg4","streamDts","flvMetaData","g711u","volume","webglContextLostError","half-hour","created","resetAudioDecode","webcodecsAudioInitTimeout","请求失败","playVodEndedAndReplay","MEDIA_ERR_NETWORK","fullscreen","csrc","isWebrtcForZLM","no-audio-track","script","crashLog","playVodEnded","webrtcCompleted","inView","talkFailedAndStop","playbackPrecision","Unsupported configuration","talkGetUserMediaTimeout","widthOrHeightChange","10min","loadstart","webgl","请求结束","#FFCC00","startstreaming","widthOrHeightChangeReplayDelayTime","fullscreen$2","seeked","MPEG4","webrtc-disconnected","不支持硬解码H265","流异常结束","offline","rightDown","hls","playVod","recordStart","playbackPauseOrResume","initVideo","flvDemuxBufferSizeTooLarge","videoInfoError","加载超时重播失败","tenMin","流异常","simdDecodeError","stop","zoomExpand","decoder-pro.js","5min","decoder-pro-audio.js","global","stats","canplaythrough","8BVyvBl","streamEnd","mp3","webrtc不支持H265","networkDelay","hlsError","playFailedAndPaused","playbackStreamVideoFps","talkStreamError","webrtc-checking","streamError","occlusionDetectActive","4252830bSgqGm","sendWsMessage","download","switch-url-success","online","4dDCfwi","drawingRect","candidate-pair","subtitle-playlist","talkGetUserMediaFail","播放超时重播失败","sender","focusNear","wiperOpen","switch-url-failed","playbackForwardMaxRateDecodeIFrame","notConnect","complete","4-1","stalled","ALAW","MP3","aliyunRtc","HEVC decoding is not supported","playbackShowPrecisionChange","load-response-headers","talkStreamInactive","websocket1006Error","video decoder initialization failed","fetch","rtp","MULAW","mse","progress","loadingTimeout","closed","initAudio","webrtcOnIceConnectionStateChange","20240910","sourcebuffer-created","websocket","hls-manifest-loaded","warn","playVodSeek","14504409JfIhko","performance","1837924ePbebr","wcs","waiting","isAliyunRtc",'video/mp4;codecs="hev1.1.6.L120.90"',"clickInitPlayer","resize","mediaSourceAudioInitTimeout","sei","mediaSourceBufferedIsZeroError","streamSuccess","focus","websocketClose","The user aborted a request","videoSEI","webrtcError","/crypto/","videoInfo","M7S",'video/mp4;codecs="hev1.3.E.L120.90"',"mseSourceClose","mseSourceBufferBusy","isFmp4","mseSourceStartStreaming","multiMousedown","aiImageDetectResult","delayTimeout","playbackTime","decode","image/png","loading","mp4Error","3-1","pause","mouseDownAndUp","webrtc-connected","isFlv","remove-buffer","playVodRateChange","destroyEnd","wasm","初始化解码器失败","video自动渲染失败","loadeddata","recordEnd","mseHandle","streamMessage","ptz","buffer","videoCodec","isHls","WebTransport","webcodecsAudioNoDataTimeout","leftUp","playVodStats","subtitle-segments","decoderWorkerInitError","tallWebsocketClosedByError","buffering","close","visibilityHiddenTimeout","right","playToRenderTimes","active","nakedFlow","notSupportNewWasm","mseWidthOrHeightChange","self","offscreen","playVodMp4Error","HLS","decoder-pro-hard-not-wasm.js","jtt","endstreaming","ended","aiObjectDetectorInfo","delayTimeoutRetryEnd","playIsNotPauseOrUrlIsNull","mseSourceBufferFull","fiStop","oneHour","down","videoSEISyncPts","flv","streamVbps","faceDetectActive","fogOpen","start","websocketOpen","playbackPreRateChange","webrtcClosed","isNakedFlow","hls-level-loaded","等待音频数据超时","timeupdate","simple","audioResumeState","resetVideoDecode","108227sSyVQt","ratechange","play","metadata-parsed"];return(I=function(){return e})()}n(798),n(448),n(634),n(502),n(682),n(842),n(771),n(405),n(410),n(742),n(756),n(624),n(627),n(642),n(452),n(674),n(477),n(746);const _={abortError:n(782),abortError2:"AbortError",abort:n(438)};n(471),n(475);const P={sequenceHeader:0,nalu:1};n(464),n(841),n(427);n(486),n(474),n(456);n(667);n(538),n(753),n(427),n(516),n(765),n(527),n(667),n(832),n(681),n(613),n(581),n(493),n(556),n(460),n(793),n(543),n(594),n(519),n(442),n(801),n(741),n(533),n(614),n(492),n(582),n(752),n(394),n(638),n(824),n(764),n(403),n(562),n(412),n(542),n(630),n(643),n(568),n(479),n(748),n(777),n(666),n(806),n(459),n(762),n(737),n(726),n(731);const R={idle:n(473),connecting:n(595),buffering:n(827),error:n(456),complete:n(740)};n(662),n(494),n(751),n(563),n(421),n(455),n(730),n(635),n(664),n(532),n(609),n(622),n(645),n(577),n(517),n(734),n(509),n(488),n(449),n(467),n(626),n(721),n(713),n(720),n(804),n(687),n(523),n(657),n(799),n(471),typeof window===n(588)&&window[n(606)]===window?window:"object"==typeof self&&self[n(836)]===self?self:typeof global===n(588)&&global[n(708)]===global&&global,n(710),n(740),n(576),n(416),n(843),n(456),n(812),n(624),n(678),n(802),n(411),n(471),n(756),n(410),n(685),n(742),n(405),n(483),n(771),n(456);var M="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var W=Object.freeze({__proto__:null,commonjsGlobal:M,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:function(e,r){return e(r={exports:{}},r.exports),r.exports},getCjsExportFromNamespace:function(e){return e&&e.default||e}}),$=O;function O(e,r){var t=x();return(O=function(e,r){return t[e-=447]})(e,r)}function x(){var e=["catch","327346hKXsxZ","1986680lTmGMW","webkitfullscreenchange","undefined","change","webkitfullscreenerror","webkitCurrentFullScreenElement","fullscreenchange","addEventListener","mozCancelFullScreen","365HGGUgj","document","createCommonjsModule","length","3278048yRQbJN","removeEventListener","webkitRequestFullScreen","webkitCancelFullScreen","exitFullscreen","msFullscreenElement","off","documentElement","isEnabled","1477iUSoQw","27lobRtO","then","webkitExitFullscreen","mozFullScreenElement","fullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","bind","mozRequestFullScreen","mozfullscreenchange","webkitFullscreenElement","exports","msExitFullscreen","webkitRequestFullscreen","error","requestFullscreen","object","MSFullscreenError","fullscreenerror","mozfullscreenerror","278421bkykZk","exit","screenfull","msRequestFullscreen","1418340SkaSIM","19784MRFaao","58626DNEyWZ","request"];return(x=function(){return e})()}function U(e,r){const t=B();return(U=function(e,r){return t[e-=112]})(e,r)}function B(){const e=["5304404roebqq","readUEG","14vYNDkp","_buffer_index","min","650822RPhuyD","_current_word_bits_left","_total_bytes","4661110IMjUpV","360aGCCre","ExpGolomb: _fillCurrentWord() but no bytes available","_buffer","readSEG","9tLOsaY","_current_word","251335BVFPKA","byteLength","65mgdjUO","readByte","_fillCurrentWord","_skipLeadingZero","set","readBits","_total_bits","error","destroy","22682187rmvmUH","336066yzjGhl","268833DFUKSV"];return(B=function(){return e})()}!function(e,r){for(var t=O,o=e();;)try{if(536947===parseInt(t(490))/1+-parseInt(t(485))/2+-parseInt(t(481))/3+-parseInt(t(451))/4+parseInt(t(447))/5*(parseInt(t(487))/6)+parseInt(t(460))/7*(parseInt(t(486))/8)+parseInt(t(461))/9*(parseInt(t(491))/10))break;o.push(o.shift())}catch(e){o.push(o.shift())}}(x),W[$(449)]((function(e){var r,t,o,n,a,s;r=O,t=typeof window!==r(493)&&void 0!==window[r(448)]?window[r(448)]:{},o=r(477)!==r(493)&&e.exports,n=function(){for(var e,o=r,n=[[o(476),o(455),o(465),o(466),o(497),o(479)],[o(474),o(463),o(471),o(467),o(492),"webkitfullscreenerror"],[o(453),o(454),o(496),o(454),o(492),o(495)],[o(469),o(499),o(464),"mozFullScreenEnabled",o(470),o(480)],[o(484),o(473),o(456),"msFullscreenEnabled","MSFullscreenChange",o(478)]],a=0,s=n[o(450)],i={};a>4===F[r(444)]}(e)&&e[1]===P[r(481)]}function H(){const e=["sample_rate","warn","error","iserro","channel_config","profile: ","hasIncompleteData","20ziuSHG","readByte","byteLength","buflen","1277536EXacTu","690701halKaY","read","read_golomb","898390fXdylw","more than 2 numLayer Not Supported","287019Nxfeba","data_","Invalid sampling index: ","android","has_last_incomplete_data","eof_flag_","ext_object_type","StreamMuxConfig Missing","audioMuxVersionA is Not Supported","chan_config","Could not found ADTS syncword until payload end","current_syncword_offset_","sbr","mp4a.40.2","bufpos","push","frameLengthType = ","object_type","1750izzRtq","readBool","AAC","data","length","22182aHYJYQ","readBits","Flv: AAC invalid channel configuration","slice","other_data_present","more than 2 numSubFrames Not Supported","look","audio_object_type","aacEncoderConfigurationRecord","mp4a.40.","getLATMValue","channels","indexOf","readNextAACFrame","367434HyJNlj","88UUUzro","allStreamsSameTimeFraming zero is Not Supported","findNextSyncwordOffset","sampling_frequency","navigator","497FIvETy","firefox","sampling_freq_index","getIncompleteData","buffer",". Only frameLengthType = 0 Supported","log","228vsTbya","sampleRate: ","destroy","toLowerCase","set","sampling_index","unshift","sequenceHeader","bufoff","subarray"];return(H=function(){return e})()}L(453),L(421);L(460),L(490),L(470);L(470);function q(){const e=["14421tgeDBk","setUint32","837TyjuQv","677623akcZDb","12010rkOMnD","1404824mvYRqj","byteLength","toString","length","3185667CKFrig","54704NmzTbX","12LQpBkY","set","3798347TnWImO","1580HPAsJH","18410ZWCdtf","push","subarray"];return(q=function(){return e})()}function G(e,r){const t=q();return(G=function(e,r){return t[e-=368]})(e,r)}!function(e,r){const t=G,o=e();for(;;)try{if(780685===parseInt(t(379))/1+-parseInt(t(381))/2+parseInt(t(385))/3+-parseInt(t(372))/4*(parseInt(t(380))/5)+-parseInt(t(369))/6*(parseInt(t(371))/7)+parseInt(t(368))/8*(-parseInt(t(378))/9)+-parseInt(t(373))/10*(-parseInt(t(376))/11))break;o.push(o.shift())}catch(e){o.push(o.shift())}}(q);const J=X;function Q(){const e=X;return performance&&"function"==typeof performance[e(436)]?performance.now():Date[e(436)]()}function K(e){let r=0,t=Q();return o=>{if(!function(e){const r=J;return Object[r(634)].toString[r(566)](e)===r(399)}(o))return;r+=o;const n=Q(),a=n-t;a>=1e3&&(e(r/a*1e3),t=n,r=0)}}!function(e,r){const t=X,o=e();for(;;)try{if(216673===-parseInt(t(651))/1*(-parseInt(t(421))/2)+parseInt(t(350))/3+parseInt(t(563))/4*(parseInt(t(444))/5)+parseInt(t(368))/6*(-parseInt(t(478))/7)+-parseInt(t(570))/8+parseInt(t(653))/9*(-parseInt(t(564))/10)+-parseInt(t(446))/11*(-parseInt(t(372))/12))break;o.push(o.shift())}catch(e){o.push(o.shift())}}(re),(()=>{const e=X;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly[e(550)]){const r=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(r instanceof WebAssembly[e(434)])return new WebAssembly.Instance(r)instanceof WebAssembly[e(615)]}}catch(e){}})();J(403);J(406),J(547),J(403);function X(e,r){const t=re();return(X=function(e,r){return t[e-=348]})(e,r)}function Y(){return typeof WritableStream!==J(473)}function Z(e){const r=J;return e.ok&&e.status>=200&&e[r(513)]<=299}function ee(){return function(e){const r=J;let t="";if(typeof e===r(471))try{t=JSON[r(597)](e),t=JSON[r(492)](t)}catch(r){t=e}else t=e;return t}(v)}function re(){const e=["quality","getPropertyValue","touches","46266TpsHlN","safari","floor","scrollTop","audioWorklet","assign","href","getSeconds","QihooBrowser","setInt16","string","wow32","-webkit-user-select","Module","craNut","now","length","pageX","createBuffer","-webkit-touch-callout","function","PB/s","application/asx","5sgNpfz","round","330EzbkBi","MediaStreamTrackGenerator","webkitGetUserMedia","isConfigSupported","initEvent","100","application/vnd.apple.mpegurl","getDate","appendChild","Chrome","hostname","touchend","destination","bottom","application/360softmgrplugin","start","application/javascript","mimeTypes","onerror","touchstart","createElement","KB/s","If you want to help, upload a sample of this file to","block","VideoFrame","object","[object Exception]","undefined","fontFamily","src","[object Error]","substr","7LlToOX","win64","hev","vps","removeAttribute","line","QHBrowser","firefox","substring","WebGLRenderingContext","body","apply","video","createObjectURL","parse","random","msGetUserMedia","buffer","showModalDialog","data","connect","height","setInt8","font","moz-webgl","getHours","top","green","forEach","mouseup","subarray","chrome","strokeStyle","rect","illegal icc","status","clientX","webkit-3d","Edg","Bytes","ended","pathname","event","paused","replace","crossOrigin","requestVideoFrameCallback","save","memory","dispatchEvent","MouseEvents","drawImage","clientY","experimental-webgl","ManagedMediaSource","getUserMedia","-webkit-tap-highlight-color","restore","join","pow","protocol","high","fillText","download","MediaStream","getTime","toFixed","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","repeat",'"development"',"right","close","instantiate","getAttribute","split","webkitFullscreenElement","angle","MediaSource","hev1.1.6.L120.90","Anonymous","version","360SE","slice","canConstructInDedicatedWorker","toString","1322612qenZag","40GMeyBi","playbackRate","call","application/hwepass2001.installepass2001","-moz-user-select","type","2022808TKUYjJ","mseDecodeAudio","opacity","gpu","createImageBitmap","getFullYear","contain","removeChild","px Arial","VideoDecoder","format","VideoEncoder.isConfigSupported() result is not supported","xxxx","scrollLeft","documentElement","360EE","div","userAgent","byteLength","left","text","webgl","MULAW","toLowerCase","style","edge","push","stringify","transferControlToOffscreen","visibility","createBufferSource","setUint8","rgba(0,0,0,0)","pps","QQBrowser","set","readyState","sequenceHeader","webm","container","textAlign","demuxUseWorker","color","map","filter","Instance","PressureObserver","image","toDataURL","hev3","backgroundColor","URL","pageY","getMonth","setHours","click","setAttribute","error","port","canvas","isTypeSupported","YB/s","mousedown","setUint16","prototype","useMSE","Opera","application/mozilla-npqihooquicklogin","9999999","EB/s","supported","sps","Edge","true","[object DOMException]","addModule","min","copyright","navigator","mousemove","content","2cWTBmo","srcElement","654867zyYrWC","getUint8","document","borderColor","opera","#000","absolute","win32","WAVE","AAC","msFullscreenElement","hev2","attachShadow","clearRect","application/vnd.chromium.remoting-viewer","ALAW","getContext","indexOf","shadowRoot","not compiled with thread support","h265","data:","GB/s","test","position","dataset","1191504xYqzla","AudioData","max","innerHTML","borderWidth","100%","fmt ","keys","charCodeAt","-webkit-text-size-adjust","webgl2","xxxxxxxxxxxx4xxx","width","objectFit","setUint32","f32-planar","performance","wow64","1477506UfoPET","putImageData","fillStyle","match","93096XPGnpC","resume","display","fontSize","hash","ActiveXObject","-o-user-select","pointer-events: none !important; display: block !important","hev5","Reserved SBR extensions is not implemented",";base64","not compiled with thread support, using thread emulation","hev4","readAsArrayBuffer","getMinutes","h264","location","useWCS","isFullscreen","search","log","AudioDecoder","imageSmoothingQuality","then","revokeObjectURL","lineWidth","image/png","[object Number]","numberOfFrames","html","onload",'"production"',"none","VideoEncoder.isConfigSupported is not a function",'"2.0.0"',"Worker","ZB/s","hidden","fromCharCode","0 KB/s","user-select","imageSmoothingEnabled","charAt","RIFF","trim","data-"];return(re=function(){return e})()}function te(e){return!0===e||e===J(643)}function oe(e){return!0!==e&&"true"!==e}const ne=de;!function(e,r){const t=de,o=e();for(;;)try{if(729693===-parseInt(t(254))/1+-parseInt(t(260))/2*(parseInt(t(274))/3)+-parseInt(t(258))/4*(-parseInt(t(292))/5)+parseInt(t(279))/6*(-parseInt(t(257))/7)+parseInt(t(291))/8+-parseInt(t(280))/9+parseInt(t(295))/10)break;o.push(o.shift())}catch(e){o.push(o.shift())}}(se);var ae=function(e,r,t,o){return new(t||(t=Promise))((function(n,a){function s(e){const r=de;try{c(o[r(278)](e))}catch(e){a(e)}}function i(e){const r=de;try{c(o[r(267)](e))}catch(e){a(e)}}function c(e){const r=de;var o;e.done?n(e[r(259)]):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(s,i)}c((o=o.apply(e,r||[])).next())}))};function se(){const e=["setG","writeU8","close","1400925KxnupZ","__awaiter","Unsupported type","2784789cDzyWQ","4xNgNPn","value","120388fWfKEs","consume","writeU32","writeU16","copyWithin","U16","set","throw","malloc","number","write","length","read","buffer","51Cryrwo","return","readU8","EOF","next","6suHglY","7014942HpwPys","flush","lastReadPromise","byteOffset","demand","subarray","call","readU16","reject","consumed","resolve","6401264zZOxjh","777155MhAEtO","byteLength","need","33755920FrpNHe"];return(se=function(){return e})()}const ie=Symbol(32),ce=Symbol(16),ue=Symbol(8);function de(e,r){const t=se();return(de=function(e,r){return t[e-=253]})(e,r)}class le{constructor(e){const r=ne;this.g=e,this[r(289)]=0,e&&(this[r(294)]=e[r(278)]()[r(259)])}[ne(296)](e){const r=ne;this.g=e,this[r(284)](e[r(278)]()[r(259)],!0)}[ne(261)](){const e=ne;this[e(273)]&&this[e(289)]&&(this[e(273)][e(264)](0,this[e(289)]),this[e(273)]=this[e(273)][e(285)](0,this.buffer[e(271)]-this[e(289)]),this[e(289)]=0)}[ne(284)](e,r){const t=ne;return r&&this[t(261)](),this.need=e,this[t(281)]()}[ne(272)](e){return ae(this,void 0,void 0,(function*(){const r=de;return this[r(282)]&&(yield this[r(282)]),this[r(282)]=new Promise(((t,o)=>{const n=r;var a;this[n(288)]=o,this[n(290)]=e=>{const r=n;delete this[r(282)],delete this[r(290)],delete this.need,t(e)};this[n(284)](e,!0)||null===(a=this.pull)||void 0===a||a[n(286)](this,e)}))}))}readU32(){return this[ne(272)](ie)}[ne(287)](){return this.read(ce)}[ne(276)](){return this[ne(272)](ue)}[ne(253)](){const e=ne;var r;this.g&&this.g[e(275)](),this[e(273)]&&this.buffer[e(285)](0,0),null===(r=this[e(288)])||void 0===r||r[e(286)](this,new Error(e(277))),delete this[e(282)]}[ne(281)](){const e=ne;if(!this[e(273)]||!this[e(294)])return;let r=null;const t=this[e(273)][e(285)](this[e(289)]);let o=0;const n=r=>t[e(271)]<(o=r);if(typeof this[e(294)]===e(269)){if(n(this[e(294)]))return;r=t[e(285)](0,o)}else if(this.need===ie){if(n(4))return;r=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===ce){if(n(2))return;r=t[0]<<8|t[1]}else if(this[e(294)]===ue){if(n(1))return;r=t[0]}else if("buffer"in this.need){if(e(283)in this.need){if(n(this[e(294)][e(293)]-this[e(294)][e(283)]))return;new Uint8Array(this[e(294)][e(273)],this[e(294)][e(283)])[e(266)](t[e(285)](0,o)),r=this.need}else if(this.g)return void this.g[e(267)](new Error(e(256)))}else{if(n(this[e(294)][e(293)]))return;new Uint8Array(this[e(294)])[e(266)](t.subarray(0,o)),r=this[e(294)]}return this[e(289)]+=o,this.g?this[e(284)](this.g.next(r).value,!0):this[e(290)]&&this[e(290)](r),r}[ne(270)](e){const r=ne;if(e instanceof Uint8Array?this[r(268)](e.length).set(e):"buffer"in e?this[r(268)](e[r(293)]).set(new Uint8Array(e[r(273)],e[r(283)],e[r(293)])):this.malloc(e[r(293)])[r(266)](new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this[r(281)]()}[ne(262)](e){const r=ne;this.malloc(4)[r(266)]([e>>24&255,e>>16&255,e>>8&255,255&e]),this[r(281)]()}[ne(263)](e){const r=ne;this[r(268)](2)[r(266)]([e>>8&255,255&e]),this[r(281)]()}[ne(297)](e){const r=ne;this.malloc(1)[0]=e,this[r(281)]()}[ne(268)](e){const r=ne;if(this[r(273)]){const t=this[r(273)].length,o=t+e;if(o<=this[r(273)][r(273)][r(293)]-this.buffer[r(283)])this.buffer=new Uint8Array(this[r(273)][r(273)],this.buffer[r(283)],o);else{const e=new Uint8Array(o);e[r(266)](this[r(273)]),this[r(273)]=e}return this[r(273)].subarray(t,o)}return this[r(273)]=new Uint8Array(e),this[r(273)]}}le.U32=ie,le[ne(265)]=ce,le.U8=ue,function(e,r){const t=fe,o=e();for(;;)try{if(294534===parseInt(t(424))/1*(parseInt(t(418))/2)+parseInt(t(422))/3+parseInt(t(420))/4+-parseInt(t(423))/5+parseInt(t(417))/6*(-parseInt(t(421))/7)+parseInt(t(427))/8*(parseInt(t(433))/9)+parseInt(t(428))/10)break;o.push(o.shift())}catch(e){o.push(o.shift())}}(he);class pe{constructor(e){const r=fe;this[r(432)]=function(t){const o=r;if(e[o(430)].debugLevel==p.debug){const r=e[o(430)][o(431)]?"["+e._opt[o(431)]+"]":"";for(var n=arguments[o(425)],a=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?a-1:0),i=1;i1?o-1:0),a=1;a{delete o[e]})),void delete this.e;const n=o[e],a=[];if(n&&r)for(let e=0,o=n[t(346)];e=2&&!this[t(453)];)if(255==this[t(463)][this.parsedOffset]){if(!(!1&this.tempBuffer[this[t(475)]+1])){this[t(451)]=this.tempBuffer[this[t(475)]+1],this[t(472)]=Se[t(450)],this[t(468)]=this[t(475)],this.parsedOffset+=2,e=!0;break}this[t(475)]++}else this[t(475)]++;if(e)continue;break}if(this[t(472)]==Se[t(450)]){let e=!1;for(;this[t(463)][t(470)]-this[t(475)]>=2&&!this.isDestroyed;)if(255==this[t(463)][this.parsedOffset]){if(this[t(463)][this.parsedOffset+1]==this[t(451)]){this[t(472)]=Se[t(477)],this[t(461)]=this[t(475)],this[t(475)]+=2,e=!0;break}this.parsedOffset++}else this[t(475)]++;if(e)continue;break}if(this[t(472)]==Se[t(477)]){let e=this[t(463)][t(449)](this[t(468)],this.secondStartCodeOffset);this[t(456)](t(465),e,r),this[t(463)]=this[t(463)][t(449)](this[t(461)]),this[t(468)]=0,this[t(475)]=2,this.state=Se[t(450)]}}}}const Ce=De;function Ae(){const e=["string","byteLength","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","closeEnd"," and ok is ","loop() do not decode and delay is ","36641fDgpPv","workerFetch","fetch response status is ","fetchNext().then() and abortController.signal.aborted is true so return","fetchStream, WebsocketStream socket close and code is ","fetch done","onmessage","value","abort success","streamRate","socket is null",'fetchNext().then() and value "',"fetchNext().then() and done is true",'socket on message is string "',"7NPdWQr","stopId",'writableStream write() and value is "',"shift",'" string so return',"firstTimestamp","aborted","streamAbps","fetchStream, WebsocketStream socket open","binaryType","close","complete","error","close() and audioDecoder.clear error","subarray","stashBuffer","132966QQUPKY","websocket","AAC","slice","doDecode","audio","preDelayTimestamp","audioBufferSize","setCodecAudio","close() and socket.readyState is ","init","workerEnd","isG711a","currentG711Ts","fetchStream","buffering","write","fetch().catch() and abortController.signal.aborted is true so return","fetchStatus","pipeTo","fetchStream, WebsocketStream socket close and isSocketError is true , so return","1881567bcihQn","isDestroyed","delay","name",", bufferList is ","protocols","url","decodeAudio"," > timestamp is ","initAudio","pushBuffer","set","4dOsoJv","opt","writableStream pipeTo() and e is","fetchError","idle","isFlv","now","assign","decoder","abort","locked","HEAPF32","destroy","debugError","body","getReader","key","streamSuccess","catch","validatedFailed, please contact the author to get the correct license","MP3","pcmData, decoder is destroyed and return","dispatch","onclose","writableStream","fetchNext().catch() and e is ","setCodecAudio: init audio codec, codeId is ","_opt","mp3Demuxer","startTimestamp","sendWsMessage","1VzvjpM","debugLog","getTime","signal","updateConfig","3707538CvKOgq","192615PIMUiV","close() and writableStream.close() error","payload","code","open","sendWebsocketMessage","websocketError","ALAW",'" and return',"arraybuffer","clear","protocol","getDelay","demuxM7s","readyState","fetchNext().catch() and e.name is AbortError so return","onopen","fetchStream, WebsocketStream socket close abnormally and code is ","map","debug","parse","options:","then","resetAllDelay","debugWarn","writableStream abort() and e is "," and emit error and next abort()","writableStream write() and abortController.signal.aborted is true so return","streamEnd","Client disconnecting","websocket user aborted","push","demuxFlv","playAudio","abort catch","getUint32","buffer","fetchStream, url is ","4990512uVwCLR","140cGsCCS","data","send","fetchNext().then() and requestAbort is true so return","onerror","fetchStream, WebsocketStream socket error","AudioDecoder","length","fetch","debugLevel","sampleRate","videoBuffer","read","cmd","AbortError","websocketOpen","toString","24PvpZRY","demuxG711","decode","worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","websocket error","getUint8","924080ezEQnE","fetchStream, WebsocketStream socket close and requestAbort is true so return","isG711u"];return(Ae=function(){return e})()}function De(e,r){const t=Ae();return(De=function(e,r){return t[e-=192]})(e,r)}function Te(){const r=Ce;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=[],n=[],i=new AbortController,c=null,u=null,d=null,l=!1,p=!1,f=[],h=0,m=0,w=null,v=null,A=!1;const I="audio worker";let P=()=>{const e=De,r=ee();return{debug:r[e(357)],debugLevel:r[e(214)],sampleRate:0,audioBufferSize:1024,videoBuffer:r.videoBuffer,isChrome:!1}},M=function(){const e=De;if(A=!0,i)try{i[e(310)](),i=null,W[e(333)](I,e(246))}catch(r){i=null,W[e(333)](I,e(200),r)}},W={isDestroyed:!1,fetchStatus:R[r(305)],_opt:P(),mp3Demuxer:null,init:function(){const e=r;W.debugLog(I,"init and opt is",W._opt);W[e(253)]=setInterval((()=>{const r=e;let t=(new Date)[r(334)]();!w&&(w=t);const n=t-w;n>100&&W[r(362)](I,"loop demux diff time is "+n),(()=>{const e=De;let r=null;if(o.length)if(r=o[0],-1===W[e(350)](r.ts))o[e(255)](),W[e(272)](r);else for(;o.length;){if(r=o[0],!(W[e(350)](r.ts)>W[e(328)][e(216)])){W.delay<0&&W.debugWarn(I,e(237)+W[e(291)]+e(293)+o[e(212)]);break}o[e(255)](),W.doDecode(r)}else-1!==W[e(291)]&&W.debugLog(I,"loop() bufferList is empty and reset delay"),W[e(361)]()})(),w=(new Date).getTime()}),10)},doDecode:function(e){const t=r;e[t(309)][t(224)](e[t(340)],e.ts,e.isIFrame,e.cts)},getDelay:function(e){const t=r;if(!e)return-1;if(W[t(274)]&&W[t(274)]>e)return W[t(274)]-e>1e3&&W[t(362)](I,"getDelay() and preDelayTimestamp is "+W[t(274)]+t(297)+e+" more than "+(W[t(274)]-e)+"ms"),W[t(274)]=e,W[t(291)];if(W[t(257)]){if(e){const r=Date[t(307)]()-W.startTimestamp,o=e-W[t(257)];W[t(291)]=r>=o?r-o:o-r}}else W[t(257)]=e,W[t(330)]=Date[t(307)](),W.delay=-1;return W[t(274)]=e,W.delay},resetAllDelay:function(){const e=r;W[e(257)]=null,W[e(330)]=null,W[e(291)]=-1,W[e(274)]=null},close:function(){const t=r;if(W[t(333)](I,t(262)),W[t(290)]=!0,M(),!c||1!==c.readyState&&2!==c.readyState?c&&W.debugLog(I,t(277)+c[t(352)]):(A=!0,c[t(262)](1e3,t(195))),c=null,W[t(253)]&&(clearInterval(W[t(253)]),W[t(253)]=null),W[t(329)]&&(W[t(329)][t(313)](),W[t(329)]=null),W.writableStream&&oe(W[t(325)][t(311)])&&W[t(325)][t(262)]()[t(319)]((()=>{const r=t;W[r(333)]("worker",r(339),e)})),W[t(325)]=null,$)try{$[t(348)]&&$[t(348)](),$=null}catch(e){W.debugWarn(I,t(265),e)}u=null,W[t(328)]=P(),o=[],n=[],d&&(d.close(),d=null),W[t(361)](),W.fetchStatus=R[t(305)],p=!1,f=[],h=0,m=0,w=null,v=null,postMessage({cmd:b[t(235)]})},fetchStream:function(e,t){const o=r;let n=arguments[o(212)]>2&&void 0!==arguments[2]?arguments[2]:[];W[o(333)](I,o(203)+e,o(359),JSON.stringify(t)),u=K((e=>{const r=o;postMessage({cmd:b[r(239)],type:C[r(247)],value:e})})),t.protocol===a[o(213)]?(t[o(306)]&&(d=new le(W[o(198)]())),fetch(e,{signal:i[o(335)]})[o(360)]((e=>{const r=o;if(A)return W[r(333)](I,"request abort and run res.body.cancel()"),W.fetchStatus=R[r(305)],void e.body.cancel();if(!Z(e))return W.debugWarn(I,"fetch response status is "+e.status+r(236)+e.ok+r(192)),M(),void postMessage({cmd:b.workerFetch,type:D.fetchError,value:r(240)+e.status+r(236)+e.ok});if(postMessage({cmd:b.workerFetch,type:C[r(318)]}),Y())W[r(325)]=new WritableStream({write:e=>{const t=r;return i&&i[t(335)]&&i[t(335)][t(258)]?(W[t(333)](I,t(193)),void(W[t(286)]=R[t(263)])):te(A)?(W.debugLog(I,"writableStream write() and requestAbort is true so return"),W.fetchStatus=R[t(263)],void M()):void(typeof e!==t(232)?(W[t(286)]=R[t(283)],u(e[t(233)]),d[t(284)](e)):W.debugWarn(I,t(254)+e+t(256)))},close:()=>{const e=r;W[e(333)](I,"writableStream close()"),W[e(286)]=R[e(263)],d&&(d[e(262)](),d=null),M(),postMessage({cmd:b[e(239)],type:C[e(194)],value:s[e(213)],msg:e(243)})},abort:e=>{const t=r;if(i&&i[t(335)]&&i.signal[t(258)])return W[t(333)](I,"writableStream abort() and abortController.signal.aborted is true so return"),void(W[t(286)]=R[t(263)]);d&&(d[t(262)](),d=null),e[t(292)]!==_.abort?(W[t(333)](I,t(363)+e[t(221)]()),M(),postMessage({cmd:b[t(239)],type:D[t(304)],value:e[t(221)]()})):W[t(333)](I,"writableStream abort() and e.name is AbortError so return")}}),e[r(315)][r(287)](W[r(325)])[r(319)]((e=>{const t=r;e[t(292)]!==t(219)&&W[t(333)](I,t(303),e.name,e[t(221)]())}));else{const t=e[r(315)][r(316)](),o=()=>{const e=r;t[e(217)]()[e(360)]((r=>{const t=e;let{done:n,value:a}=r;return n?(W[t(333)](I,t(250)),W[t(286)]=R[t(263)],d&&(d[t(262)](),d=null),M(),void postMessage({cmd:b[t(239)],type:C[t(194)],value:s[t(213)],msg:t(243)})):i&&i[t(335)]&&i[t(335)][t(258)]?(W.debugLog(I,t(241)),void(W.fetchStatus=R[t(263)])):te(A)?(W[t(333)](I,t(208)),W.fetchStatus=R.complete,void M()):void(typeof a!==t(232)?(W[t(286)]=R.buffering,u(a[t(233)]),d.write(a),o()):W.debugWarn(I,t(249)+a+'" is string so return'))}))[e(319)]((r=>{const t=e;if(i&&i[t(335)]&&i[t(335)][t(258)])return W.debugLog(I,"fetchNext().catch() and abortController.signal.aborted is true so return"),void(W.fetchStatus=R[t(263)]);d&&(d[t(262)](),d=null),r[t(292)]!==_[t(310)]?(W[t(333)](I,t(326)+r[t(221)]()),M(),postMessage({cmd:b[t(239)],type:D.fetchError,value:r[t(221)]()})):W.debugLog(I,t(353))}))};o()}}))[o(319)]((e=>{const r=o;i&&i[r(335)]&&i[r(335)][r(258)]?W[r(333)](I,r(285)):e[r(292)]!==_[r(310)]?(W.debugLog(I,"fetch().catch() and e is "+e.toString()),M(),postMessage({cmd:b.workerFetch,type:D.fetchError,value:e[r(221)]()}),d&&(d.close(),d=null)):W[r(333)](I,"fetch().catch() and e.name is AbortError so return")}))):t[o(349)]===a[o(269)]&&(t[o(306)]&&(d=new le(W[o(198)]())),c=new WebSocket(e,n),c[o(261)]=o(347),c[o(354)]=()=>{const e=o;W[e(333)](I,e(260)),postMessage({cmd:b[e(239)],type:C[e(318)]}),postMessage({cmd:b.workerFetch,type:C[e(220)]})},c[o(324)]=e=>{const r=o;l?W[r(333)](I,r(288)):(W[r(333)](I,r(242)+e[r(341)]),1006===e[r(341)]&&W[r(314)](I,r(355)+e[r(341)]),te(A)?W[r(333)](I,r(230)):(d&&(d[r(262)](),d=null),postMessage({cmd:b[r(239)],type:C[r(194)],value:s[r(269)],msg:e[r(341)]})))},c[o(209)]=e=>{const r=o;W[r(314)](I,r(210),e),l=!0,d&&(d[r(262)](),d=null),postMessage({cmd:b.workerFetch,type:D[r(344)],value:e.isTrusted?r(196):r(227)})},c[o(244)]=e=>{const r=o;"string"!=typeof e[r(206)]?(u(e[r(206)].byteLength),t.isFlv?d[r(284)](e[r(206)]):t.isG711a||t[r(231)]?W[r(223)](e[r(206)],t):W[r(351)](e[r(206)])):W[r(362)](I,r(251)+e[r(206)]+r(346))})},demuxFlv:function*(){const e=r;yield 9;const t=new ArrayBuffer(4),o=new Uint8Array(t),n=new Uint32Array(t);for(;;){o[3]=0;const r=yield 15,t=r[4];o[0]=r[7],o[1]=r[6],o[2]=r[5];const a=n[0];o[0]=r[10],o[1]=r[9],o[2]=r[8],o[3]=r[11];let s=n[0];const i=(yield a)[e(271)]();if(t===S[e(273)])W[e(224)](i,{type:E[e(273)],ts:s})}},decode:function(e,t){const o=r;postMessage({cmd:b.workerFetch,type:C[o(259)],value:e[o(233)]}),W[o(299)](e,t.ts)},setCodecAudio:function(e,t){const o=r,n=e[0]>>4,a=e[0]>>1&1;if(v=n===F.AAC?a?16:8:0===a?8:16,$&&$.setCodec)if(N(e)||n===F[o(345)]||n===F.MULAW||n===F.MP3){W[o(333)](I,o(327)+n);const r=n===F[o(270)]?e[o(271)](2):new Uint8Array(0);$.setCodec(n,W[o(328)][o(215)],r,W.getBuildTime()),p=!0,n!==F[o(270)]&&(n===F[o(321)]?(!W[o(329)]&&(W[o(329)]=new ke(W),W[o(329)].on("data",((e,r)=>{$[o(224)](e,r)}))),W[o(329)][o(323)](e[o(271)](1),t)):$[o(224)](e.slice(1),t));const a=Number("1")||1;setTimeout((()=>{const e=o;W[e(314)](I,e(226)),W.close(),postMessage({cmd:b[e(279)]})}),60*a*60*1e3)}else W.debugWarn(I,"setCodecAudio: hasInitAudioCodec is false, codecId is ",n);else W[o(314)](I,o(234))},pushBuffer:function(e,t){const n=r;N(e)?W[n(296)](e,t):o[n(197)]({ts:t,payload:e,decoder:{decode:W[n(296)]},isIFrame:!1})},decodeAudio:function(e,t){const o=r,n=e[0]>>4;p?n===F[o(321)]?W[o(329)][o(323)](e[o(271)](1),t):$[o(224)](n===F[o(270)]?e[o(271)](2):e[o(271)](1),t):W[o(276)](e)},demuxM7s:function(e){const t=r,o=new DataView(e),n=o[t(201)](1,!1);if(o[t(228)](0)===E[t(273)])W[t(224)](new Uint8Array(e,5),{type:E[t(273)],ts:n})},demuxG711:function(e,t){const o=r;!W[o(281)]&&(W[o(281)]=0),!W[o(267)]&&(W[o(267)]=new Float32Array(0));const n=new Float32Array(e.length+W[o(267)][o(212)]);for(n[o(300)](W[o(267)],0),n.set(e,W.stashBuffer.length),W[o(267)]=n;W[o(267)][o(212)]>=160;){const e=W.stashBuffer[o(271)](0,160);W[o(267)]=W[o(267)][o(271)](160);let r=new Uint8Array(e[o(212)]+1);t[o(280)]?(r[o(300)]([114],0),r[o(300)](e,1)):t.isG711u&&(r[o(300)]([130],0),r.set(e,1)),W[o(296)](r,W.currentG711Ts),W[o(281)]+=20}},audioInfo:function(e,t,o){const n=r;postMessage({cmd:b.audioCode,code:e}),postMessage({cmd:b[n(298)],sampleRate:t,channels:o,depth:v}),m=o},pcmData:function(e,o,a){const s=r;if(W[s(290)])return void W[s(333)](I,s(322));let i=o,c=[],u=0,d=W[s(328)][s(275)];for(let r=0;r<2;r++){let o=t.HEAPU32[(e>>2)+r]>>2;c[r]=t[s(312)][s(266)](o,o+i)}if(h){if(!(i>=(o=d-h)))return h+=i,n[0]=Float32Array.of(...n[0],...c[0]),void(2==m&&(n[1]=Float32Array.of(...n[1],...c[1])));f[0]=Float32Array.of(...n[0],...c[0][s(266)](0,o)),2==m&&(f[1]=Float32Array.of(...n[1],...c[1][s(266)](0,o))),postMessage({cmd:b[s(199)],buffer:f,delay:W[s(291)],ts:a},f[s(356)]((e=>e.buffer))),u=o,i-=o}for(h=i;h>=d;h-=d)f[0]=c[0][s(271)](u,u+=d),2==m&&(f[1]=c[1][s(271)](u-d,u)),postMessage({cmd:b.playAudio,buffer:f,delay:W[s(291)],ts:a},f[s(356)]((e=>e[s(202)])));h&&(n[0]=c[0][s(271)](u),2==m&&(n[1]=c[1].slice(u)))},sendWebsocketMessage:function(e){const t=r;c?c[t(352)]===T[t(342)]?c[t(207)](e):W[t(314)](I,"socket is not open"):W[t(314)](I,t(248))},timeEnd:function(){const e=r;W[e(314)](I,"Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),W[e(262)](),postMessage({cmd:b[e(279)]})},getBuildTime:()=>y+"-"+g,validatedFailed(){const e=r;W.debugError(e(225),e(320))},debugLog(e){const t=r;if(W._opt[t(357)]&&W.debug){for(var o=arguments[t(212)],n=new Array(o>1?o-1:0),a=1;a1?o-1:0),a=1;a1?o-1:0),a=1;a{Te(e)}))})); diff --git a/demo/public/pro/audio/jessibuca-pro-audio-player-demo.js b/demo/public/pro/audio/jessibuca-pro-audio-player-demo.js index bb85d7fb..c1aa8be1 100644 --- a/demo/public/pro/audio/jessibuca-pro-audio-player-demo.js +++ b/demo/public/pro/audio/jessibuca-pro-audio-player-demo.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self)["jessibuca-audio-demo"]=t()}(this,(function(){"use strict";class t{on(e,t,s){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:s}),this}once(e,t,s){const i=this;function r(){i.off(e,r);for(var o=arguments.length,A=new Array(o),a=0;a1?s-1:0),r=1;r{delete s[e]})),void delete this.e;const i=s[e],r=[];if(i&&t)for(let e=0,s=i.length;e1?s-1:0),r=1;r1?s-1:0),r=1;r1?i-1:0),o=1;o{if(r=i,"[object Number]"!==Object.prototype.toString.call(r))return;var r;t+=i;const o=Se(),A=o-s;A>=1e3&&(e(t/A*1e3),s=o,t=0)}}(function(e,t){return e(t={exports:{}},t.exports),t.exports})((function(e){!function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},s=e.exports,i=function(){for(var e,s=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],i=0,r=s.length,o={};i{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();const _e='"9-13-2024"';function Te(){const e=window.navigator.userAgent.toLowerCase();return e&&/iphone|ipad|ipod|ios/.test(e)}function ve(e){return null==e}function Ie(e){return!ve(e)}const Re=()=>{const e=window.navigator.userAgent;return/MicroMessenger/i.test(e)},Pe=()=>{const e=window.navigator.userAgent;return/Chrome/i.test(e)},Le=()=>Re()&&function(){const e=window.navigator.userAgent.toLowerCase();return/android/i.test(e)}();function We(e){let t=xe(e.hasAudio)&&(e.useMSE||e.useWCS&&!e.useOffscreen)&&xe(e.demuxUseWorker);return!!(xe(t)&&e.useMSE&&e.mseDecodeAudio&&xe(e.demuxUseWorker))||(!!(xe(t)&&e.useWCS&&e.wcsDecodeAudio)||t)}function Me(e){e.close()}function Ne(){return"https:"===window.location.protocol||"localhost"===window.location.hostname}function De(e){const t=Object.prototype.toString;return function(e){switch(t.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:try{return e instanceof Error}catch(e){return!1}}}(e)?e.message:null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function Ge(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(s){t=e}else t=e;return t}(pe)}function Oe(e){return!0===e||"true"===e}function xe(e){return!0!==e&&"true"!==e}function Qe(e){return e.trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}class He{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,s,i)));e.addEventListener(t,s,i);const r=()=>{"function"==typeof e.removeEventListener&&e.removeEventListener(t,s,i)};return this.destroys.push(r),r}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}var je=e=>{e.on(ee.decoderWorkerInit,(()=>{e.debugLog("audioPlayer","listen decoderWorkerInit and set loaded true"),e.loaded=!0})),e.on(ee.play,(()=>{e.loading=!1})),e._opt.debug&&(Object.keys(ee).forEach((t=>{e.on(ee[t],(s=>{e.debugLog("audioPlayer events",ee[t],s)}))})),Object.keys(se).forEach((t=>{e.on(se[t],(s=>{e.debugLog("audioPlayer event error",se[t],s)}))})))};class Fe extends t{constructor(e){super(),this.player=e,this.playing=!1,this._requestAbort=!1,this._status=ge,this.writableStream=null,this.abortController=new AbortController,this.streamRate=Be((t=>{e.emit(ee.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("FetchStream","init")}async destroy(){return this.abort(),await this._closeWritableStream(),this.off(),this._status=ge,this.streamRate=null,this.stopStreamRateInterval(),this.player.debugLog("FetchStream","destroy"),!0}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}async _closeWritableStream(){if(this.writableStream&&xe(this.writableStream.locked))try{await this.writableStream.close(),this.writableStream=null,this.player.debugLog("FetchStream","close writableStream success")}catch(e){this.player.debugLog("FetchStream","destroy and writableStream.close()",e)}}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:s}=this.player;this.player._times.streamStart=Ee();const i=Object.assign({signal:this.abortController.signal},{headers:t.headers||{}});fetch(e,i).then((e=>{if(this._requestAbort)return this._status=ge,void e.body.cancel();if(!function(e){return e.ok&&e.status>=200&&e.status<=299}(e))return this.player.debugError("FetchStream",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),this.abort(),void this.emit(se.fetchError,`fetch response status is ${e.status} and ok is ${e.ok}`);if(this.emit(ee.streamSuccess),this.startStreamRateInterval(),"undefined"!=typeof WritableStream)this.player.debugLog("FetchStream","use WritableStream() to read stream"),this.writableStream=new WritableStream({write:e=>this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?(this.player.debugLog("FetchStream","writableStream.write() and this.abortController.signal.aborted so return"),void(this._status=ye)):Oe(this._requestAbort)?(this.player.debugLog("FetchStream","writableStream.write() and this._requestAbort is true so return"),this._status=ye,void this.abort()):"string"!=typeof e?(this._status=me,this.streamRate&&this.streamRate(e.byteLength),s.dispatch(e)):void this.player.debugWarn("FetchStream",`writableStream.write() and value is "${e}" string so return`),close:()=>{this._status=ye,s.close(),this.emit(ee.streamEnd,"fetch done")},abort:e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return this.player.debugLog("FetchStream","writableStream.abort() and this.abortController.signal.aborted so return"),void(this._status=ye);s.close();const t=e.toString();-1===t.indexOf(ne)&&-1===t.indexOf(he)&&e.name!==le&&(this.abort(),this.emit(se.fetchError,e))}}),e.body.pipeTo(this.writableStream).catch((e=>{"AbortError"!==e.name&&this.player.debugLog("FetchStream","res.body.pipeTo() error",e.name,e.toString())}));else{this.player.debugLog("FetchStream","not support WritableStream and use getReader() to read stream");const t=e.body.getReader(),i=()=>{t.read().then((e=>{let{done:t,value:r}=e;return t?(this._status=ye,s.close(),void this.emit(ee.streamEnd,"fetch done")):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?(this.player.debugLog("FetchStream","reader.read() and this.abortController.signal.aborted so return"),void(this._status=ye)):Oe(this._requestAbort)?(this.player.debugLog("FetchStream","reader.read() and this._requestAbort is true so return"),this._status=ye,void this.abort()):void("string"!=typeof r?(this._status=me,this.streamRate&&this.streamRate(r.byteLength),s.dispatch(r),i()):this.player.debugWarn("FetchStream",`reader.read() and value is "${r}" string so return`))})).catch((e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return this.player.debugLog("FetchStream","reader.read().catch() and this.abortController.signal.aborted so return"),void(this._status=ye);s.close();const t=e.toString();-1===t.indexOf(ne)&&-1===t.indexOf(he)&&e.name!==le&&(this.abort(),this.emit(se.fetchError,e))}))};i()}})).catch((e=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==e.name&&(s.close(),this.abort(),this.emit(se.fetchError,e))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null,this.player.debugLog("FetchStream","abortController.abort() success")}catch(e){this.abortController=null,this.player.debugLog("FetchStream","abortController.abort() error",e)}}getStreamType(){return h}}class Ve extends t{constructor(e){super(),this.TAG_NAME="FetchWorkerLoader",this.player=e,this.playing=!1,this.fetchWorker=null,this.workerClearTimeout=null,this.workerUrl=null,this.destroyResolve=null,this.decoderWorkerCloseTimeout=null,this.streamRate=Be((t=>{e.emit(ee.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,this._initFetchWorker(),e.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{this.fetchWorker?(this.player.debugLog(this.TAG_NAME,"send destroy"),this.fetchWorker.postMessage({cmd:Q}),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this._destroy(),setTimeout((()=>{e()}),0)}),2e3)):(this._destroy(),setTimeout((()=>{e()}),0))}))}_destroy(){this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this._stopStreamRateInterval(),this.streamRate=null,this.fetchWorker&&(this.fetchWorker.terminate(),this.fetchWorker.onmessage=null,this.fetchWorker=null),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.player.debugLog(this.TAG_NAME,"destroy")}_initFetchWorker(){const e=Qe(function(){function e(e){return!0===e||"true"===e}const t="The user aborted a request",s="AbortError",i="AbortError",r="fetch",o="destroy",A="destroyEnd",a="buffer",n="fetchError",h="fetchClose",l="fetchSuccess",u="idle",d="buffering",c="complete";let p=new class{constructor(){this._requestAbort=!1,this._status=u,this.writableStream=null,this.isChrome=!1,this.abortController=new AbortController}destroy(){var e;this.abort(),this.writableStream&&(!1===(e=this.writableStream.locked)||"false"===e)&&this.writableStream.close().catch((e=>{})),this.writableStream=null,this._status=u}fetchStream(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const A=Object.assign({signal:this.abortController.signal},{headers:o.headers||{}});fetch(r,A).then((r=>{if(this._requestAbort)return this._status=u,void r.body.cancel();if(!function(e){return e.ok&&e.status>=200&&e.status<=299}(r))return this.abort(),void postMessage({cmd:n,message:`fetch response status is ${r.status} and ok is ${r.ok}`});if(postMessage({cmd:l}),"undefined"!=typeof WritableStream)this.writableStream=new WritableStream({write:t=>{if(!(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted))return e(this._requestAbort)?(this._status=c,void this.abort()):void("string"!=typeof t&&(this._status=d,postMessage({cmd:a,buffer:t},[t.buffer])));this._status=c},close:()=>{this._status=c,postMessage({cmd:h})},abort:e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=c);const r=e.toString();-1===r.indexOf(t)&&-1===r.indexOf(s)&&e.name!==i&&(this.abort(),postMessage({cmd:n,message:e.toString()}))}}),r.body.pipeTo(this.writableStream).catch((e=>{}));else{const o=r.body.getReader(),A=()=>{o.read().then((t=>{let{done:s,value:i}=t;return s?(this._status=c,void postMessage({cmd:h})):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?void(this._status=c):e(this._requestAbort)?(this._status=c,void this.abort()):void("string"!=typeof i&&(this._status=d,postMessage({cmd:a,buffer:i},[i.buffer]),A()))})).catch((e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=c);const r=e.toString();-1===r.indexOf(t)&&-1===r.indexOf(s)&&e.name!==i&&(this.abort(),postMessage({cmd:n,message:e.toString()}))}))};A()}})).catch((e=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==e.name&&(this.abort(),postMessage({cmd:n,message:e.toString()}))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null}catch(e){this.abortController=null}}};self.onmessage=t=>{const s=t.data;switch(s.cmd){case r:p.isChrome=e(s.isChrome),p.fetchStream(s.url,JSON.parse(s.options));break;case o:p.destroy(),p=null,postMessage({cmd:A})}}}.toString()),t=new Blob([e],{type:"text/javascript"});let s=URL.createObjectURL(t);const i=new Worker(s);this.workerUrl=s,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),_),i.onmessage=e=>{const{demux:t}=this.player,s=e.data;switch(s.cmd){case j:this.streamRate&&this.streamRate(s.buffer.byteLength),t.dispatch(s.buffer);break;case U:this.emit(ee.streamSuccess),this._startStreamRateInterval();break;case V:t.close(),this.emit(ee.streamEnd,"fetch done");break;case F:t.close(),this.emit(se.fetchError,s.message);break;case H:this._destroy()}},this.fetchWorker=i}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player._times.streamStart=Ee(),this.fetchWorker.postMessage({cmd:x,url:e,isChrome:Pe(),options:JSON.stringify(t)})}getStreamType(){return h}}class Ue extends t{constructor(e){super(),this.player=e,this.socket=null,this.socketStatus=ie,this.wsUrl=null,this.requestAbort=!1,this.socketDestroyFnList=[],this.streamRate=Be((t=>{e.emit(ee.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("WebsocketStream","init")}async destroy(){this._closeWebSocket(),this.stopStreamRateInterval(),this.wsUrl=null,this.off(),this.player.debugLog("WebsocketStream","destroy")}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_createWebSocket(e){const t=this.player,{events:{proxy:s},demux:i}=t,r=e.protocols||[];this.socket=new WebSocket(this.wsUrl,r),this.socket.binaryType="arraybuffer";const o=s(this.socket,"open",(()=>{this.player.debugLog("WebsocketStream","socket open"),this.socketStatus=re,this.emit(ee.streamSuccess),this.player.emit(ee.websocketOpen),this.startStreamRateInterval()})),A=s(this.socket,"message",(e=>{"string"!=typeof e.data?(this.streamRate&&this.streamRate(e.data.byteLength),this._handleMessage(e.data)):this.player.debugWarn("WebsocketStream",`websocket handle message message is "${e.data}" string so return`)})),a=s(this.socket,"close",(e=>{if(!this.player.isDestroyedOrClosed())return Oe(this.requestAbort)?(this.requestAbort=!1,void this.player.debugLog("WebsocketStream","socket close and requestAbort is true")):void(this.socketStatus!==Ae?(this.player.debugLog("WebsocketStream",`socket close and code is ${e.code}`),1006===e.code&&this.player.debugError("WebsocketStream",`socket close abnormally and code is ${e.code}`),i.close(),this.socketStatus=oe,this.player.emit(ee.websocketClose,e.code),this.emit(ee.streamEnd,e.code)):this.player.debugLog("WebsocketStream","socket close and status is error, so return"))})),n=s(this.socket,"error",(e=>{if(this.player.isDestroyedOrClosed())return;if(Oe(this.requestAbort))return this.requestAbort=!1,void this.player.debugLog("WebsocketStream","socket close and requestAbort is true");this.player.debugError("WebsocketStream","socket error",e),this.socketStatus=Ae;const t=e.isTrusted?"websocket user aborted":"websocket error";this.emit(se.websocketError,t),i.close(),this.player.debugLog("WebsocketStream","socket error:",t)}));this.socketDestroyFnList.push(o,A,a,n)}_closeWebSocket(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState?this.socket&&this.player.debugLog("WebsocketStream",`_closeWebSocket() socket is null or socket status is ${this.socket&&this.socket.readyState}`):(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socketDestroyFnList.forEach((e=>e())),this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket=null,this.socketStatus=ie,this.streamRate=null}_handleMessage(e){const{demux:t}=this.player;t?t.dispatch(e):this.player.debugWarn("WebsocketStream","websocket handle message demux is null so return")}fetchStream(e,t){this.player._times.streamStart=Ee(),this.wsUrl=e,this._createWebSocket(t)}sendMessage(e){this.socket?this.socketStatus===re?this.socket.send(e):this.player.debugError("WebsocketStream",`websocket send message error and socket status is ${this.socketStatus}`):this.player.debugError("WebsocketStream","websocket send message socket is null")}getStreamType(){return u}}class $e extends t{constructor(e){super(),this.player=e,this.TAG_NAME="WebsocketWorkerLoader",this.wsUrl=null,this.socketStatus=ie,this.websocketWorker=null,this.workerClearTimeout=null,this.workerUrl=null,this.destroyResolve=null,this.decoderWorkerCloseTimeout=null,this.streamRate=Be((t=>{e.emit(ee.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,this._initWebsocketWorker(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{this.websocketWorker?(this.player.debugLog(this.TAG_NAME,"send destroy"),this._closeWebSocket(),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this._destroy(),e()}),2e3)):(this._destroy(),e())}))}_destroy(){this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this._stopStreamRateInterval(),this.streamRate=null,this.websocketWorker&&(this.websocketWorker.terminate(),this.websocketWorker.onmessage=null,this.websocketWorker=null),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.wsUrl=null,this.player.debugLog(this.TAG_NAME,"destroy")}_initWebsocketWorker(){const e=Qe(function(){function e(e){return!0===e||"true"===e}const t={fetch:"fetch",sendMessage:"sendMessage",destroy:"destroy",destroyEnd:"destroyEnd",buffer:"buffer",websocketError:"websocketError",websocketClose:"websocketClose",websocketOpen:"websocketOpen"};let s=new class{constructor(){this.socket=null,this.wsUrl=null,this.requestAbort=!1}destroy(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState||(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socket.onopen=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.onmessage=null,this.socket=null}fetchStream(e,t){this.wsUrl=e,this._createWebSocket(t)}sendMessage(e){this.socket&&1===this.socket.readyState&&this.socket.send(e)}_createWebSocket(e){const t=e.protocols||[];this.socket=new WebSocket(this.wsUrl,t),this.socket.binaryType="arraybuffer",this.socket.onopen=this._handleWebsocketOpen.bind(this),this.socket.onclose=this._handleWebsocketClose.bind(this),this.socket.onerror=this._handleWebsocketError.bind(this),this.socket.onmessage=this._handleWebsocketMessage.bind(this)}_handleWebsocketOpen(){postMessage({cmd:t.websocketOpen})}_handleWebsocketClose(s){e(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:t.websocketClose,code:s.code})}_handleWebsocketError(s){e(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:t.websocketError,isTrusted:s.isTrusted})}_handleWebsocketMessage(e){if("string"==typeof e.data)return;const s=new Uint8Array(e.data);postMessage({cmd:t.buffer,buffer:s},[s.buffer])}};self.onmessage=e=>{const i=e.data;switch(i.cmd){case t.fetch:s.fetchStream(i.url,i.options);break;case t.destroy:s.destroy(),s=null,postMessage({cmd:t.destroyEnd});break;case t.send:s.sendMessage(i.message)}}}.toString()),t=new Blob([e],{type:"text/javascript"});let s=URL.createObjectURL(t);const i=new Worker(s);this.workerUrl=s,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),_),i.onmessage=e=>{const{demux:t}=this.player,s=e.data;switch(s.cmd){case J:this.streamRate&&this.streamRate(s.buffer.byteLength),t.dispatch(s.buffer);break;case K:this.player.debugLog(this.TAG_NAME,"socket open"),this.socketStatus=re,this.emit(ee.streamSuccess),this.player.emit(ee.websocketOpen),this._startStreamRateInterval();break;case X:if(this.player.isDestroyedOrClosed())return;if(this.socketStatus===Ae)return void this.player.debugLog(this.TAG_NAME,"socket close and status is error, so return");this.player.debugLog(this.TAG_NAME,`socket close and code is ${s.code}`),1006===s.code&&this.player.debugError(this.TAG_NAME,`socket close abnormally and code is ${s.code}`),t.close(),this.socketStatus=oe,this.player.emit(ee.websocketClose,s.code),this.emit(ee.streamEnd,s.code);break;case Z:if(this.player.isDestroyedOrClosed())return;this.player.debugError(this.TAG_NAME,"socket error"),this.socketStatus=Ae;const e=s.isTrusted?"websocket user aborted":"websocket error";this.emit(se.websocketError,e),t.close(),this.player.debugLog(this.TAG_NAME,"socket error:",e);break;case q:this._destroy()}},this.websocketWorker=i}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_closeWebSocket(){this.websocketWorker&&this.websocketWorker.postMessage({cmd:z})}fetchStream(e,t){this.player._times.streamStart=Ee(),this.wsUrl=e,this.websocketWorker&&this.websocketWorker.postMessage({cmd:$,url:e,options:t})}sendMessage(e){this.websocketWorker&&this.websocketWorker.postMessage({cmd:Y,message:e})}getStreamType(){return u}}class Ye extends t{constructor(e){super(),this.player=e,e.debugLog("HlsStream","init")}async destroy(){return this.off(),this.player.debugLog("HlsStream","destroy"),!0}fetchStream(e){const{hlsDecoder:t,debug:s}=this.player;this.player._times.streamStart=Ee(),t.loadSource(e).then((()=>{this.player.debugLog("HlsStream","loadSource success"),this.emit(ee.streamSuccess)})).catch((e=>{this.emit(se.hlsError,e)}))}getStreamType(){return l}}class ze extends t{constructor(e){super(),this.player=e,this.webrctUrl=null,e.debugLog("WebrtcStream","init")}async destroy(){return this.webrctUrl=null,this.off(),this.player.debugLog("WebrtcStream","destroy"),!0}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{webrtc:s,debug:i}=this.player;if(this.player._times.streamStart=Ee(),this.webrctUrl=e.replace("webrtc:",window.location.protocol),this.player.isWebrtcForM7S()&&-1===this.webrctUrl.indexOf("/webrtc/play")){const t=new URL(this.webrctUrl),s="/webrtc/play"+t.pathname;this.webrctUrl=t.origin+s+t.search,this.player.debugLog("WebrtcStream",`original url is ${e}, and new url is: ${this.webrctUrl}`)}s.loadSource(this.webrctUrl,t).then((()=>{this.player.debugLog("WebrtcStream","loadSource success"),this.emit(ee.streamSuccess)})).catch((e=>{this.player.debugError("WebrtcStream","loadSource error",e),this.emit(se.webrtcError,e)}))}getStreamType(){return d}}class qe extends t{constructor(e){super(),this.player=e,this.transport=null,this.wtUrl=null,this.streamRate=Be((t=>{e.emit(ee.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("WebTransportLoader","init")}async destroy(){return this.abort(),this.off(),this.player.debugLog("WebTransportLoader","destroy"),!0}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_createWebTransport(){const e=this.player,{debug:t,events:{proxy:s},demux:i}=e;try{this.transport=new WebTransport(this.wtUrl),this.transport.ready.then((()=>{this.emit(ee.streamSuccess),this.startStreamRateInterval(),this.transport.createBidirectionalStream().then((e=>{e.readable.pipeTo(new WritableStream(i.input))}))})).catch((e=>{this.player.debugWarn("WebTransportLoader","_createWebTransport-ready",e)}))}catch(e){this.player.debugWarn("WebTransportLoader","_createWebTransport",e)}}fetchStream(e){this.player._times.streamStart=Ee(),this.wtUrl=e.replace(/^wt:/,"https:"),this._createWebTransport()}abort(){if(this.transport)try{this.transport.close(),this.transport=null}catch(e){this.transport=null}}getStreamType(){return c}}class Je extends t{constructor(e){super(),this.player=e,this.workUrl=null,e.debugLog("WorkerStream","init")}async destroy(){return this.workUrl=null,this.off(),this.player.debugLog("WorkerStream","destroy"),!0}sendMessage(e){this.player.decoderWorker.workerSendMessage(e)}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.workUrl=e,this.player._times.streamStart=Ee(),this.player.decoderWorker.workerFetchStream(e,t)}getStreamType(){const e=this.player._opt.protocol;return p+" "+(e===i?h:u)}}class Ze extends t{constructor(e){super(),this.TAG_NAME="AliyunRtcLoader",this.player=e,e.debugLog(this.TAG_NAME,"init")}async destroy(){return this.off(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}fetchStream(e){const{aliyunRtcDecoder:t}=this.player;this.player._times.streamStart=Ee(),t.loadSource(e).then((()=>{this.player.debugLog(this.TAG_NAME,"loadSource success"),this.emit(ee.streamSuccess)})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource error",e),this.emit(se.aliyunRtcError,e)}))}getStreamType(){return g}}class Xe extends t{constructor(e){super(),this.TAG_NAME="Mp4StreamLoader",this.player=e,e.debug.log(this.TAG_NAME,"init")}destroy(){this.off(),this.player.debug.log(this.TAG_NAME,"destroy")}fetchStream(e){const{mp4Decoder:t}=this.player;this.player._times.streamStart=Ee(),t.loadSource(e).then((()=>{this.player.debugLog(this.TAG_NAME,"loadSource success"),this.emit(ee.streamSuccess)})).catch((e=>{this.emit(se.playVodMp4Error,e)}))}getStreamType(){return m}}class Ke{constructor(e){return new(Ke.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){const{protocol:t,useWasm:n,playType:h,useWCS:l,useMSE:u,demuxUseWorker:d,mainThreadFetchUseWorker:c,isFmp4:p}=e;return h===w&&p?Xe:t===r?Ye:t===o?ze:t===A?qe:t===a?Ze:t===i?h===f?Je:h===y?n&&!We(e)||d?Je:c?Ve:Fe:l||u?d?Je:c?Ve:Fe:Je:t===s?h===f?Je:h===y?n&&!We(e)||d?Je:c?$e:Ue:l||u?d?Je:c?$e:Ue:Je:void 0}}class et extends t{constructor(e){super(),this.bufferList=[],this.player=e,this.$audio=null,this.scriptNode=null,this.workletProcessorNode=null,this.workletWorkerCloseTimeout=null,this.hasInitScriptNode=!1,this.audioContext=new(window.AudioContext||window.webkitAudioContext)({sampleRate:48e3}),this.gainNode=this.audioContext.createGain();const t=this.audioContext.createBufferSource();t.buffer=this.audioContext.createBuffer(1,1,22050),t.connect(this.audioContext.destination),t.noteOn?t.noteOn(0):t.start(0),this.audioBufferSourceNode=t,this.mediaStreamAudioDestinationNode=this.audioContext.createMediaStreamDestination(),this.gainNode.gain.value=0,this._prevVolume=null,this.playing=!1,this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1,this.hasAudio=!1,this.audioResumeStateTimeout=null,this.audioContextContextResumeLock=!1}async destroy(){return this.closeAudio(),this.resetInit(),this.clearAudioResumeStateTimeout(),this.audioContext&&(await this.audioContext.close(),this.audioContext=null),this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),this.hasAudio=!1,this.playing=!1,this.scriptNode&&(this.scriptNode.disconnect(),this.scriptNode.onaudioprocess=ke,this.scriptNode=null),await this._destroyWorklet(),this.workletProcessorNode&&(this.workletProcessorNode.disconnect(),this.workletProcessorNode.port.onmessage=ke,this.workletProcessorNode=null),this.audioBufferSourceNode&&(this.audioBufferSourceNode.stop(),this.audioBufferSourceNode=null),this.mediaStreamAudioDestinationNode&&(this.mediaStreamAudioDestinationNode.disconnect(),this.mediaStreamAudioDestinationNode=null),this.hasInitScriptNode=!1,this._prevVolume=null,this.audioContextContextResumeLock=!1,this.off(),!0}_destroyWorklet(){return new Promise(((e,t)=>{this.workletProcessorNode?(this.workletProcessorNode.port.postMessage({type:"destroy"}),this.workletWorkerCloseTimeout=setTimeout((()=>{this.player.debugLog(this.TAG_NAME,"send close and wait 10ms destroy directly"),this.workletWorkerCloseTimeout&&(clearTimeout(this.workletWorkerCloseTimeout),this.workletWorkerCloseTimeout=null),e()}),10)):e()}))}resetInit(){this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1}getAudioInfo(){return this.audioInfo}updateAudioInfo(e){e.encTypeCode&&(this.audioInfo.encTypeCode=e.encTypeCode,this.audioInfo.encType=ae[e.encTypeCode]),e.channels&&(this.audioInfo.channels=e.channels),e.sampleRate&&(this.audioInfo.sampleRate=e.sampleRate),e.depth&&(this.audioInfo.depth=e.depth),this.audioInfo.sampleRate&&this.audioInfo.channels&&this.audioInfo.encType&&!this.init&&(this.player.emit(ee.audioInfo,this.audioInfo),this.init=!0)}get isPlaying(){return this.playing}get isMute(){return 0===this.gainNode.gain.value||this.isStateSuspended()}get volume(){return this.gainNode.gain.value}get bufferSize(){return this.bufferList.length}get audioContextState(){let e=null;return this.audioContext&&(e=this.audioContext.state),e}initScriptNode(){}initMobileScriptNode(){}initWorkletScriptNode(){}getEngineType(){return""}mute(e){e?(this.setVolume(0),this.clear()):this.setVolume(this.player.lastVolume||.5)}setVolume(e){e=parseFloat(e).toFixed(2),isNaN(e)||(this.audioEnabled(!0),e=Ce(e,0,1),null!==this._prevVolume&&this._prevVolume===e||(null===this._prevVolume?this.player.emit(ee.mute,0===e):0===this._prevVolume&&e>0?this.player.emit(ee.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(ee.mute,!0),this.gainNode.gain.value=e,this.player.emit(ee.volumechange,this.player.volume),this.player.emit(ee.volume,this.player.volume),this._prevVolume=e))}closeAudio(){this.hasInitScriptNode&&(this.scriptNode&&this.scriptNode.disconnect(this.gainNode),this.workletProcessorNode&&this.workletProcessorNode.disconnect(this.gainNode),this.gainNode&&(this.gainNode.disconnect(this.mediaStreamAudioDestinationNode),this.$audio||this.gainNode.disconnect(this.audioContext.destination))),this.clear()}audioEnabled(e){if(e&&this.isStateSuspended()){if(this.audioContextContextResumeLock)return;this.audioContextContextResumeLock=!0,this.audioContext.resume().then((()=>{this.player.emit(ee.audioResumeState,{state:this.audioContextState,isRunning:this.isStateRunning()})})).finally((()=>{this.audioContextContextResumeLock=!1})),this.audioResumeStateTimeout=setTimeout((()=>{this.clearAudioResumeStateTimeout(),this.audioContextContextResumeLock=!1,this.isStateSuspended()&&this.player.emit(ee.audioResumeState,{state:this.audioContextState,isRunning:this.isStateRunning()})}),1e3)}}isStateRunning(){return"running"===this.audioContextState}isStateSuspended(){return"suspended"===this.audioContextState}clearAudioResumeStateTimeout(){this.audioResumeStateTimeout&&(clearTimeout(this.audioResumeStateTimeout),this.audioResumeStateTimeout=null)}clear(){this.bufferList=[]}play(e,t){}pause(){this.playing=!1}resume(){this.playing=!0}setRate(e){}getAudioBufferSize(){return 0}}class tt{constructor(e,t,s,i){this.player=e,this.audio=t,this.channel=s,this.bufferSize=i}destroy(){this.buffer=null,this.channel=null}extract(e,t){let s=this.provide(t);for(let t=0;t=A){try{for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:0;const i=2*(t=t||0);s>=0||(s=(e.length-i)/2);const r=2*s;this.ensureCapacity(s+this._frameCount);const o=this.endIndex;this.vector.set(e.subarray(i,i+r),o),this._frameCount+=s}putBuffer(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t=t||0,s>=0||(s=e.frameCount-t),this.putSamples(e.vector,e.position+t,s)}receive(e){e>=0&&!(e>this._frameCount)||(e=this.frameCount),this._frameCount-=e,this._position+=e}receiveSamples(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const s=2*t,i=this.startIndex;e.set(this._vector.subarray(i,i+s)),this.receive(t)}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const i=this.startIndex+2*t,r=2*s;e.set(this._vector.subarray(i,i+r))}ensureCapacity(){const e=parseInt(2*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0));if(this._vector.length0&&void 0!==arguments[0]?arguments[0]:0;this.ensureCapacity(this._frameCount+e)}rewind(){this._position>0&&(this._vector.set(this._vector.subarray(this.startIndex,this.endIndex)),this._position=0)}}class it{constructor(e){e?(this._inputBuffer=new st,this._outputBuffer=new st):this._inputBuffer=this._outputBuffer=null}destroy(){this.clear(),this._outputBuffer&&(this._outputBuffer.destroy(),this._outputBuffer=null),this._inputBuffer&&(this._inputBuffer.destroy(),this._inputBuffer=null)}get inputBuffer(){return this._inputBuffer}set inputBuffer(e){this._inputBuffer=e}get outputBuffer(){return this._outputBuffer}set outputBuffer(e){this._outputBuffer=e}clear(){this._inputBuffer.clear(),this._outputBuffer.clear()}}class rt extends it{constructor(e){super(e),this.reset(),this._rate=1}destroy(){super.destroy()}set rate(e){this._rate=e}reset(){this.slopeCount=0,this.prevSampleL=0,this.prevSampleR=0}clone(){const e=new rt;return e.rate=this._rate,e}process(){const e=this._inputBuffer.frameCount;this._outputBuffer.ensureAdditionalCapacity(e/this._rate+1);const t=this.transpose(e);this._inputBuffer.receive(),this._outputBuffer.put(t)}transpose(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(0===e)return 0;const t=this._inputBuffer.vector,s=this._inputBuffer.startIndex,i=this._outputBuffer.vector,r=this._outputBuffer.endIndex;let o=0,A=0;for(;this.slopeCount<1;)i[r+2*A]=(1-this.slopeCount)*this.prevSampleL+this.slopeCount*t[s],i[r+2*A+1]=(1-this.slopeCount)*this.prevSampleR+this.slopeCount*t[s+1],A+=1,this.slopeCount+=this._rate;if(this.slopeCount-=1,1!==e)e:for(;;){for(;this.slopeCount>1;)if(this.slopeCount-=1,o+=1,o>=e-1)break e;const a=s+2*o;i[r+2*A]=(1-this.slopeCount)*t[a]+this.slopeCount*t[a+2],i[r+2*A+1]=(1-this.slopeCount)*t[a+1]+this.slopeCount*t[a+3],A+=1,this.slopeCount+=this._rate}return this.prevSampleL=t[s+2*e-2],this.prevSampleR=t[s+2*e-1],A}}const ot=function(){};class At extends class{constructor(e){this._pipe=e}destroy(){}get pipe(){return this._pipe}get inputBuffer(){return this._pipe.inputBuffer}get outputBuffer(){return this._pipe.outputBuffer}fillInputBuffer(){throw new Error("fillInputBuffer() not overridden")}fillOutputBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;for(;this.outputBuffer.frameCount2&&void 0!==arguments[2]?arguments[2]:ot;super(t),this.callback=s,this.sourceSound=e,this.historyBufferSize=22050,this._sourcePosition=0,this.outputBufferPosition=0,this._position=0}destroy(){this.clear(),this.sourceSound.destroy(),this.sourceSound=null,this._sourcePosition=0,this.outputBufferPosition=0,this._position=0}get position(){return this._position}set position(e){if(e>this._position)throw new RangeError("New position may not be greater than current position");const t=this.outputBufferPosition-(this._position-e);if(t<0)throw new RangeError("New position falls outside of history buffer");this.outputBufferPosition=t,this._position=e}get sourcePosition(){return this._sourcePosition}set sourcePosition(e){this.clear(),this._sourcePosition=e}onEnd(){this.callback()}fillInputBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=new Float32Array(2*e),s=this.sourceSound.extract(t,e,this._sourcePosition);this._sourcePosition+=s,this.inputBuffer.putSamples(t,0,s)}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillOutputBuffer(this.outputBufferPosition+t);const s=Math.min(t,this.outputBuffer.frameCount-this.outputBufferPosition);this.outputBuffer.extract(e,this.outputBufferPosition,s);const i=this.outputBufferPosition+s;return this.outputBufferPosition=Math.min(this.historyBufferSize,i),this.outputBuffer.receive(Math.max(i-this.historyBufferSize,0)),this._position+=s,s}handleSampleData(e){this.extract(e.data,4096)}clear(){super.clear(),this.outputBufferPosition=0}}const at=[[124,186,248,310,372,434,496,558,620,682,744,806,868,930,992,1054,1116,1178,1240,1302,1364,1426,1488,0],[-100,-75,-50,-25,25,50,75,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-20,-15,-10,-5,5,10,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-4,-3,-2,-1,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],nt=-10/1.5;class ht extends it{constructor(e){super(e),this._quickSeek=!0,this.midBufferDirty=!1,this.midBuffer=null,this.refMidBuffer=null,this.overlapLength=0,this.autoSeqSetting=!0,this.autoSeekSetting=!0,this._tempo=1,this.setParameters(44100,0,0,8)}destroy(){this.clear(),super.destroy()}clear(){super.clear(),this.clearMidBuffer(),this.refMidBuffer=null}clearMidBuffer(){this.midBufferDirty&&(this.midBufferDirty=!1),this.midBuffer=null}setParameters(e,t,s,i){e>0&&(this.sampleRate=e),i>0&&(this.overlapMs=i),t>0?(this.sequenceMs=t,this.autoSeqSetting=!1):this.autoSeqSetting=!0,s>0?(this.seekWindowMs=s,this.autoSeekSetting=!1):this.autoSeekSetting=!0,this.calculateSequenceParameters(),this.calculateOverlapLength(this.overlapMs),this.tempo=this._tempo}set tempo(e){let t;this._tempo=e,this.calculateSequenceParameters(),this.nominalSkip=this._tempo*(this.seekWindowLength-this.overlapLength),this.skipFract=0,t=Math.floor(this.nominalSkip+.5),this.sampleReq=Math.max(t+this.overlapLength,this.seekWindowLength)+this.seekLength}get tempo(){return this._tempo}get inputChunkSize(){return this.sampleReq}get outputChunkSize(){return this.overlapLength+Math.max(0,this.seekWindowLength-2*this.overlapLength)}calculateOverlapLength(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;e=this.sampleRate*t/1e3,e=e<16?16:e,e-=e%8,this.overlapLength=e,this.refMidBuffer=new Float32Array(2*this.overlapLength),this.midBuffer=new Float32Array(2*this.overlapLength)}checkLimits(e,t,s){return es?s:e}calculateSequenceParameters(){let e,t;this.autoSeqSetting&&(e=150+-50*this._tempo,e=this.checkLimits(e,50,125),this.sequenceMs=Math.floor(e+.5)),this.autoSeekSetting&&(t=28.333333333333332+nt*this._tempo,t=this.checkLimits(t,15,25),this.seekWindowMs=Math.floor(t+.5)),this.seekWindowLength=Math.floor(this.sampleRate*this.sequenceMs/1e3),this.seekLength=Math.floor(this.sampleRate*this.seekWindowMs/1e3)}set quickSeek(e){this._quickSeek=e}clone(){const e=new ht;return e.tempo=this._tempo,e.setParameters(this.sampleRate,this.sequenceMs,this.seekWindowMs,this.overlapMs),e}seekBestOverlapPosition(){return this._quickSeek?this.seekBestOverlapPositionStereoQuick():this.seekBestOverlapPositionStereo()}seekBestOverlapPositionStereo(){let e,t,s,i=0;for(this.preCalculateCorrelationReferenceStereo(),e=0,t=Number.MIN_VALUE;it&&(t=s,e=i);return e}seekBestOverlapPositionStereoQuick(){let e,t,s,i,r,o=0;for(this.preCalculateCorrelationReferenceStereo(),t=Number.MIN_VALUE,e=0,i=0,r=0;o<4;o+=1){let A=0;for(;at[o][A]&&(r=i+at[o][A],!(r>=this.seekLength));)s=this.calculateCrossCorrelationStereo(2*r,this.refMidBuffer),s>t&&(t=s,e=r),A+=1;i=e}return e}preCalculateCorrelationReferenceStereo(){let e,t,s=0;for(;s=this.sampleReq;){e=this.seekBestOverlapPosition(),this._outputBuffer.ensureAdditionalCapacity(this.overlapLength),this.overlap(Math.floor(e)),this._outputBuffer.put(this.overlapLength),t=this.seekWindowLength-2*this.overlapLength,t>0&&this._outputBuffer.putBuffer(this._inputBuffer,e+this.overlapLength,t);const i=this._inputBuffer.startIndex+2*(e+this.seekWindowLength-this.overlapLength);this.midBuffer.set(this._inputBuffer.vector.subarray(i,i+2*this.overlapLength)),this.skipFract+=this.nominalSkip,s=Math.floor(this.skipFract),this.skipFract-=s,this._inputBuffer.receive(s)}}}const lt=function(e,t){return(e>t?e-t:t-e)>1e-10};class ut{constructor(){this.transposer=new rt(!1),this.stretch=new ht(!1),this._inputBuffer=new st,this._intermediateBuffer=new st,this._outputBuffer=new st,this._rate=0,this._tempo=0,this.virtualPitch=1,this.virtualRate=1,this.virtualTempo=1,this.calculateEffectiveRateAndTempo()}destroy(){this.clear(),this._inputBuffer.destroy(),this._intermediateBuffer.destroy(),this._outputBuffer.destroy(),this._inputBuffer=null,this._intermediateBuffer=null,this._outputBuffer=null}clear(){this.transposer.clear(),this.stretch.clear()}clone(){const e=new ut;return e.rate=this.rate,e.tempo=this.tempo,e}get rate(){return this._rate}set rate(e){this.virtualRate=e,this.calculateEffectiveRateAndTempo()}set rateChange(e){this._rate=1+.01*e}get tempo(){return this._tempo}set tempo(e){this.virtualTempo=e,this.calculateEffectiveRateAndTempo()}set tempoChange(e){this.tempo=1+.01*e}set pitch(e){this.virtualPitch=e,this.calculateEffectiveRateAndTempo()}set pitchOctaves(e){this.pitch=Math.exp(.69314718056*e),this.calculateEffectiveRateAndTempo()}set pitchSemitones(e){this.pitchOctaves=e/12}get inputBuffer(){return this._inputBuffer}get outputBuffer(){return this._outputBuffer}calculateEffectiveRateAndTempo(){const e=this._tempo,t=this._rate;this._tempo=this.virtualTempo/this.virtualPitch,this._rate=this.virtualRate*this.virtualPitch,lt(this._tempo,e)&&(this.stretch.tempo=this._tempo),lt(this._rate,t)&&(this.transposer.rate=this._rate),this._rate>1?this._outputBuffer!=this.transposer.outputBuffer&&(this.stretch.inputBuffer=this._inputBuffer,this.stretch.outputBuffer=this._intermediateBuffer,this.transposer.inputBuffer=this._intermediateBuffer,this.transposer.outputBuffer=this._outputBuffer):this._outputBuffer!=this.stretch.outputBuffer&&(this.transposer.inputBuffer=this._inputBuffer,this.transposer.outputBuffer=this._intermediateBuffer,this.stretch.inputBuffer=this._intermediateBuffer,this.stretch.outputBuffer=this._outputBuffer)}process(){this._rate>1?(this.stretch.process(),this.transposer.process()):(this.transposer.process(),this.stretch.process())}}class dt{constructor(e,t,s){this.player=e,this.audio=t,this.soundTouch=new ut,this.soundTouch.tempo=1,this.soundTouch.rate=1,this.filter=new At(s,this.soundTouch)}destroy(){this.filter&&(this.filter.destroy(),this.filter=null),this.soundTouch&&(this.soundTouch.destroy(),this.soundTouch=null)}setRate(e){e!==this.soundTouch.rate&&(this.soundTouch.tempo=e)}provide(e){let t=new Float32Array(2*e),s=this.filter.extract(t,e),i=new Float32Array(s),r=new Float32Array(s);for(let e=0;e{e()})),this.eventListenList=[]),this.$audio&&(this.$audio.pause(),this.$audio.srcObject=null,this.$audio.parentNode&&this.$audio.parentNode.removeChild(this.$audio),this.$audio=null),this.processor&&(this.processor.destroy(),this.processor=null),this.rateProcessor&&(this.rateProcessor.destroy(),this.rateProcessor=null),this.scriptNodeInterval&&(clearInterval(this.scriptNodeInterval),this.scriptNodeInterval=null),this.defaultPlaybackRate=1,this.playbackRate=1,this.scriptStartTime=0,this.audioBufferSize=0,this.engineType=de,this.player.debugLog("AudioContext","destroy"),!0}isAudioPlaying(){return this.$audio&&xe(this.$audio.paused)&&xe(this.$audio.ended)&&0!==this.$audio.playbackRate&&0!==this.$audio.readyState}_bindAudioProxy(){const{proxy:e}=this.player.events,t=e(this.$audio,"canplay",(()=>{this.player.debugLog("AudioContext","canplay"),this._delayPlay&&this._audioElementPlay()}));this.eventListenList.push(t)}_getAudioElementReadyState(){let e=0;return this.$audio&&(e=this.$audio.readyState),e}audioElementPlay(){if(this.$audio){const e=this._getAudioElementReadyState();if(this.player.debugLog("AudioContext",`play and readyState: ${e}`),!(0!==e||Re()&&Te()))return this.player.debugWarn("AudioContext","readyState is 0 and set _delayPlay to true"),void(this._delayPlay=!0);this._audioElementPlay()}}_audioElementPlay(){this.$audio&&this.$audio.play().then((()=>{this._delayPlay=!1,this.player.debugLog("AudioContext","_audioElementPlay success and volume is ",this.$audio.volume),setTimeout((()=>{this.isAudioPlaying()||(this.player.debugWarn("AudioContext","play failed and retry play"),this._audioElementPlay())}),100),this.isAudioPlaying()&&(this.player.debugLog("AudioContext","play success and remove document click event listener"),document.removeEventListener("click",this._audioElementPlay.bind(this)))})).catch((e=>{this.player.debugError("AudioContext","_audioElementPlay error",e),this.player.debugLog("AudioContext","play failed and add document click event listener"),document.addEventListener("click",this._audioElementPlay.bind(this))}))}getAudioBufferSize(){return this.audioBufferSize}get oneBufferDuration(){return this.audioBufferSize/this.audioContext.sampleRate*1e3}get isActiveEngineType(){return this.engineType===ce}getBufferListDuration(){return this.bufferList.length*this.oneBufferDuration}isMoreThanMinBufferDuration(){return this.getBufferListDuration()>=100*this.playbackRate}initProcessor(){this.processor=new tt(this.player,this,this.audioInfo.channels,this.audioBufferSize),this.rateProcessor=new dt(this.player,this,this.processor)}getAutoAudioEngineType(){let e=this.player._opt.audioEngine||de;const t=()=>{e=Le()?ce:(Te()&&this.player._opt.supportLockScreenPlayAudio||Ne()&&this.supportAudioWorklet(),de)};return this.player._opt.audioEngine?this.player._opt.audioEngine===ue&&Ne()&&this.supportAudioWorklet()?e=de:this.player._opt.audioEngine===ce?e=ce:this.player._opt.audioEngine===de?e=de:t():t(),e}getAudioBufferSizeByType(){const e=this.engineType;this.player._opt.hasVideo;const t=this.player._opt.weiXinInAndroidAudioBufferSize;return e===ue?1024:e===ce?t||4800:1024}supportAudioWorklet(){return this.audioContext&&this.audioContext.audioWorklet&&"function"==typeof this.audioContext.audioWorklet.addModule}initScriptNode(){this.playing=!0,this.hasInitScriptNode||(this.initProcessor(),this.engineType===ue?this.initWorkletScriptNode():this.engineType===ce?this.initIntervalScriptNode():this.engineType===de&&this.initProcessScriptNode(),this.audioElementPlay())}getEngineType(){return this.engineType}isPlaybackRateSpeed(){return this.playbackRate>this.defaultPlaybackRate}initProcessScriptNode(){const e=this.audioContext.createScriptProcessor(this.audioBufferSize,0,this.audioInfo.channels);e.onaudioprocess=e=>{const t=e.outputBuffer;this.handleScriptNodeCallback(t)},e.connect(this.gainNode),this.scriptNode=e,this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination),this.hasInitScriptNode=!0}initIntervalScriptNode(){this.scriptStartTime=0;const e=1e3*this.audioBufferSize/this.audioContext.sampleRate;this.scriptNodeInterval=setInterval((()=>{if(0===this.bufferList.length||xe(this.playing)||this.isMute)return void(this.playing&&xe(this.isMute)&&this.player.debugLog("AudioContext",`interval script node and bufferList is ${this.bufferList.length} or playing is ${this.playing}`));const e=this.audioContext.createBufferSource(),t=this.audioContext.createBuffer(this.audioInfo.channels,this.audioBufferSize,this.audioContext.sampleRate);this.handleScriptNodeCallback(t,(()=>{this.scriptStartTime{"init"===e.data.message?(this.audioBufferSize=e.data.audioBufferSize,this.start=e.data.start,this.channels=e.data.channels,this.state=0,this.offset=0,this.samplesArray=[]):"stop"===e.data.message?(this.state=0,this.start=!1,this.offset=0,this.samplesArray=[]):"data"===e.data.message?this.samplesArray.push(e.data.buffer):"zero"===e.data.message&&this.samplesArray.push({left:new Float32Array(this.audioBufferSize).fill(0),right:new Float32Array(this.audioBufferSize).fill(0)})}}process(e,t,s){const i=t[0][0],r=t[0][1];if(0===this.offset&&this.port.postMessage({message:"beep"}),0===this.state)this.state=1;else if(1===this.state&&this.samplesArray.length>=4)this.state=2;else if(2===this.state){const e=this.samplesArray[0];for(let t=0;t{if(this.player.isDestroyedOrClosed())return void this.player.debugLog("AudioContext","initWorkletScriptNode() player is destroyed");if(!this.audioContext)return void this.player.debugWarn("AudioContext","initWorkletScriptNode audioContext is null");let e=[1];2===this.audioInfo.channels&&(e=[1,1]);try{this.workletProcessorNode=new AudioWorkletNode(this.audioContext,"worklet-processor",{numberOfOutputs:this.audioInfo.channels,outputChannelCount:e})}catch(e){this.player.debugError("AudioContext","initWorkletScriptNode error",e),this.workletProcessorNode=null,this.tierDownToProcessScript()}this.workletProcessorNode&&(this.workletProcessorNode.connect(this.gainNode),this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination),this.hasInitScriptNode=!0,this.workletProcessorNode.port.postMessage({message:"init",audioBufferSize:this.audioBufferSize,start:!0,channels:this.audioInfo.channels}),this.workletProcessorNode.port.onmessage=e=>{this.workletProcessorNode?this.audioContext?this.handleScriptNodeCallback(this.workletProcessorNode,null,!0):this.workletProcessorNode.port.postMessage({message:"zero"}):this.player.debugError("AudioContext","workletProcessorNode is null")})})),this.clearWorkletUrlTimeout=setTimeout((()=>{URL.revokeObjectURL(this.workletUrl),this.workletUrl=null,this.clearWorkletUrlTimeout=null}),_)}tierDownToProcessScript(){this.player.debugLog("AudioContext","tierDownToProcessScript"),this.engineType=de,this.audioBufferSize=this.getAudioBufferSizeByType(),this.initProcessScriptNode(),this.audioElementPlay()}handleScriptNodeCallback(e,t){let s,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t||ke;let r=e.length;i&&(s=e,r=this.audioBufferSize);const o=this.audioInfo.channels;if(this.playing&&this.isMoreThanMinBufferDuration()){if(this.player._opt,this.player.openSyncAudioAndVideo()&&Oe(this.player.visibility)){this.calcPlaybackRateBySync();const r=this.player.getAudioSyncVideoDiff();if(r>this.player._opt.syncAudioAndVideoDiff){const A=this.player.getCurrentVideoAndAudio();return this.player.debugWarn("AudioContext",`audioSyncVideoOption more than diff :${r},\n and video is ${A.video} ,\n and audio is ${A.audio} , waiting and bufferList is ${this.bufferList.length}, fill zero`),i?s.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,o),void t()}}let A=this._provide(r);if(0===A.size)return xe(this.player.isPlaybackOnlyDecodeIFrame())&&this.player.debugWarn("AudioContext",`bufferList size is ${this.bufferList.length} outputBufferLength is ${r},and bufferItem.size is 0, fill zero`),i?s.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,o),void t();A&&A.ts&&(this.player.audioTimestamp=A.ts),i?s.port.postMessage({message:"data",buffer:A}):this.fillScriptNodeOutputBuffer(e,o,A),t()}else 0===this.bufferList.length&&this.playing&&xe(this.isMute)&&xe(this.player.isPlaybackOnlyDecodeIFrame())&&this.player.debugWarn("AudioContext",`bufferList size is 0 and outputBufferLength is ${r}, fill zero`),i?s.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,o),t()}fillScriptNodeOutputBuffer(e,t,s){if(1===t){const t=e.getChannelData(0);s?0===s.size?t.fill(0):t.set(s.left):t.fill(0)}else if(2===t){const t=e.getChannelData(0),i=e.getChannelData(1);s?0===s.size?(t.fill(0),i.fill(0)):(t.set(s.left),i.set(s.right)):(t.fill(0),i.fill(0))}}play(e,t){this.isMute||(this.hasInitScriptNode?(this.hasAudio=!0,this.player.latestAudioTimestamp=t,this.bufferList.push({buffer:e,ts:t}),xe(this.player.openSyncAudioAndVideo())&&this.calcPlaybackRateByBuffer()):this.player.debugWarn("AudioContext","play has not init script node"))}calcPlaybackRateBySync(){if(this.isMute)return;if(!this.playing)return;const e=Math.floor(2e3/this.oneBufferDuration);if(this.bufferList.length>e)return this.player.debugWarn("AudioContext",`bufferList length ${this.bufferList.length} more than ${e}, and drop`),void this.clear();const t=this.player.getAudioSyncVideoDiff();if(this.getEngineType()===ce){if(t<-this.player._opt.syncAudioAndVideoDiff){this.player.debugWarn("AudioContext",`engine active , audioSyncVideoOption ${-this.player._opt.syncAudioAndVideoDiff} less than diff :${t},\n and bufferlist is ${this.bufferList.length}`);const e=this.player.getRenderCurrentPts();for(;this.bufferList.length>0;){const t=this.bufferList[0],s=t.ts-e;if(s>-this.player._opt.syncAudioAndVideoDiff/2){this.player.audioTimestamp=t.ts,this.player.debugLog("AudioContext",`engine active , audioSyncVideoOption\n item.ts is ${t.ts} and currentVideoTimestamp is ${e}, diff is ${s} > -${this.player._opt.syncAudioAndVideoDiff/2} and end`);break}this.bufferList.shift(),this.player.audioTimestamp=t.ts}}}else{let e=this.playbackRate;t<-this.player._opt.syncAudioAndVideoDiff?e===this.defaultPlaybackRate&&(this.player.debugLog("AudioContext",`audioSyncVideoOption ${-this.player._opt.syncAudioAndVideoDiff} less than diff :${t},\n speed up, playbackRate is ${e},\n and bufferList is ${this.bufferList.length}`),e=this.defaultPlaybackRate+.2):t>-this.player._opt.syncAudioAndVideoDiff/2&&e!==this.defaultPlaybackRate&&(this.player.debugLog("AudioContext",`diff is ${t} > -${this.player._opt.syncAudioAndVideoDiff/2} and speed to 1`),e=this.defaultPlaybackRate),this.updatePlaybackRate(e)}}calcPlaybackRateByBuffer(){if(this.isMute)return;if(!this.playing)return;let e=this.playbackRate,t=1e3,s=5e3;this.isAudioPlayer&&(t=this.player._opt.videoBufferDelay,s=this.player._opt.videoBufferMax);const i=Math.floor(t/this.oneBufferDuration),r=Math.floor(s/this.oneBufferDuration);if(this.bufferList.length>r)return this.player.debugWarn("AudioContext",`bufferList length ${this.bufferList.length} more than ${r}, and drop`),void this.clear();this.getEngineType()!==ce&&(this.bufferList.length>i?(e=this.defaultPlaybackRate+.2,this.player.debugLog("AudioContext",`bufferList length ${this.bufferList.length} more than ${i}, speed up, playbackRate is ${e}`)):this.bufferList.length0?this.player.emit(ee.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(ee.mute,!0),this.$video.volume=e,this.player.emit(ee.volumechange,this.player.volume),this.player.emit(ee.volume,this.player.volume),this._prevVolume=e))}clear(){}play(e,t){const s=this.player.video.awriter;if(s)if(e.close)try{s.write(e),Me(e)}catch(e){this.player.debugError("Video","play audio error",e)}else try{const i=function(e,t){const s={...t,format:"f32-planar",data:new Float32Array(0)};if(s.numberOfFrames=e[0].length,1===e.length)s.data=new Float32Array(e[0]);else if(2===e.length){const t=new Float32Array(e[0].length+e[1].length);t.set(e[0],0),t.set(e[1],e[0].length),s.data=t}return new AudioData(s)}(e,{sampleRate:48e3,numberOfChannels:this.audioInfo.channels,timestamp:1e3*t});s.write(i),Me(i)}catch(e){this.player.debugError("Video","play audio error",e)}else this.player.debugWarn("Audio","play and this.awriter is null")}pause(){}resume(){}getEngineType(){return"audio"}isPlaybackRateSpeed(){return!1}setRate(){}initScriptNode(){}initScriptNodeDelay(){}audioEnabled(){this.mute(!1)}getAudioBufferSize(){return 2048}}class gt extends ct{constructor(e){super(e),this.delayTimeout=null,this.TAG_NAME=this.player.isPlayback()?"AudioPlaybackLoader":"AudioPlayVodLoader",this.player.isPlayback()?this.player.on(ee.playbackPause,(e=>{this.listenPlaybackPause(e)})):this.player.isPlayVod()&&this.player.on(ee.playVodPause,(e=>{this.listenPlayVodPause(e)})),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=null),await super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}listenPlaybackPause(e){e?(this.pause(),this.player.isPlayback()&&this.player.playback.isPlaybackPauseClearCache&&this.clear()):this.resume()}initScriptNodeDelay(){const e=this.player._opt.playbackDelayTime;e>0?this.delayTimeout=setTimeout((()=>{this.initScriptNode()}),e):this.initScriptNode()}setRate(e){e!==this.defaultPlaybackRate&&this.rateProcessor&&(this.player.debugLog(this.TAG_NAME,"setRate",e),this.defaultPlaybackRate=e,this.updatePlaybackRate(e))}}class mt extends ct{constructor(e){super(e),this.TAG_NAME="AudioPlayerLoader",this.isAudioPlayer=!0,this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return await super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}play(e,t){xe(this.playing)||super.play(e,t)}pause(){this.player.debugLog(this.TAG_NAME,"pause"),this.playing=!1,this.clear()}resume(){this.player.debugLog(this.TAG_NAME,"resume"),this.playing=!0}}class yt extends t{constructor(e){super(),this.TAG_NAME="AudioWebrtcPlayerLoader",this.$video=new Audio,this.player=e,this.init=!1,this._prevVolume=null,this.eventsDestroy=[],this._handleDocumentClickPlay=this._handleClickPlay.bind(this),this._initAudioEvents(),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this.resetInit(),this.off(),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this._prevVolume=null,this.$video&&(this.$video.pause(),this.$video.srcObject=null,this.$video=null),this.player.debugLog(this.TAG_NAME,"destroy"),!0}_initAudioEvents(){const{proxy:e}=this.player.events,t=e(this.$video,"timeupdate",(e=>{const t=parseInt(e.timeStamp,10);this.player.handleRender(),this.player.updateStats({ts:t})}));this.eventsDestroy.push(t)}resetInit(){this.init=!1}_handleClickPlay(){this.$video&&(this.$video.play(),document.removeEventListener("click",this._handleDocumentClickPlay))}bindStream(e){this.$video.srcObject=e,this.$video.volume=1,this.$video.play().catch((e=>{this.player.debugWarn(this.TAG_NAME,"audio play error",e),document.addEventListener("click",this._handleDocumentClickPlay)}))}getEngineType(){return"audio"}get isPlaying(){return!0}get volume(){return Oe(this.$video.muted)?0:this.$video.volume}get isMute(){return 0===this.$video.volume||Oe(this.$video.muted)}mute(e){this.setVolume(e?0:this.player.lastVolume||.5)}setVolume(e){e=parseFloat(e),isNaN(e)||null===this.$video||(this.$video.muted&&(this.$video.muted=!1),e=Ce(e,0,1),Te()&&(this.$video.muted=0===e),null!==this._prevVolume&&this._prevVolume===e||(null===this._prevVolume?this.player.emit(ee.mute,0===e):0===this._prevVolume&&e>0?this.player.emit(ee.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(ee.mute,!0),this.$video.volume=e,this.player.emit(ee.volumechange,this.player.volume),this.player.emit(ee.volume,this.player.volume),this._prevVolume=e))}pause(){}resume(){}audioEnabled(){this.mute(!1)}}class ft{constructor(e){return new(ft.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.playType===b||e.playType===w?e.useMSE&&e.mseDecodeAudio?pt:gt:e.playType===f?e.isWebrtc?yt:mt:e.isHls&&xe(e.supportHls265)||e.isWebrtc&&xe(e.isWebrtcH265)||e.useMSE&&e.mseDecodeAudio||e.isAliyunRtc||e.useWCS&&e.wcsDecodeAudio||e.useWasm&&e.wasmPlayAudioUseVideoRender?pt:ct}}const bt=()=>"wakeLock"in navigator&&-1===window.navigator.userAgent.indexOf("Samsung")&&xe(Te());class wt{constructor(e){this.player=e,this.enabled=!1,bt()?(this.player.debugLog("NoSleep","Native Wake Lock API supported."),this._wakeLock=null,this.handleVisibilityChange=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()},document.addEventListener("visibilitychange",this.handleVisibilityChange),document.addEventListener("fullscreenchange",this.handleVisibilityChange)):(this.player.debugLog("NoSleep","Native Wake Lock API not supported. so use video element."),this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm","data:video/webm;base64,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ggOtgPj//qOHggPBgPj//qOHggPVgPj//qOHggPpgPj//qOegQPvANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCA/2A+P/+o4eCBBGA+P/+o4eCBCWA+P/+o4eCBDmA+P/+o4eCBE2A+P/+o56BBFMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IEiID4//6jh4IEnID4//6jh4IEsID4//6jnoEEtwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggTEgPj//qOHggTYgPj//qOHggTsgPj//qOHggUAgPj//qOHggUUgPj//qOegQUbANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBSiA+P/+o4eCBTyA+P/+o4eCBVCA+P/+o4eCBWSA+P/+o4eCBXiA+P/+o56BBX8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IFjID4//6jh4IFoID4//6jh4IFtID4//6jh4IFyID4//6jh4IF3ID4//6jnoEF4wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggXwgPj//qOHggYEgPj//qOHggYYgPj//qOHggYsgPj//qOHggZAgPj//qOegQZHANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBlSA+P/+o4eCBmiA+P/+o4eCBnyA+P/+o4eCBpCA+P/+o4eCBqSA+P/+o56BBqsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IGuID4//6jh4IGzID4//6jh4IG4ID4//6jh4IG9ID4//6jh4IHCID4//6jnoEHDwDRAgAFEBAUYABhYL/QACIAEM1+tck+ccwAAKOHggccgPj//qOHggcwgPj//qOHggdEgPj//qOHggdYgPj//qOHggdsgPj//qOegQdzANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCB4CA+P/+o4eCB5SA+P/+o4eCB6iA+P/+o4eCB7yA+P/+o4eCB9CA+P/+o56BB9cA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IH5ID4//6jh4IH+ID4//6jh4IIDID4//6jh4IIIID4//6jh4IINID4//6jnoEIOwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgghIgPj//qOHgghcgPj//qOHgghwgPj//qOHggiEgPj//qOegQifANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCMCA+P/+o4eCCNSA+P/+o4eCCOiA+P/+o4eCCPyA+P/+o56BCQMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IJEID4//6jh4IJJID4//6jh4IJOID4//6jh4IJTID4//6jh4IJYID4//6jnoEJZwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggl0gPj//qOHggmIgPj//qOHggmcgPj//qOHggmwgPj//qOHggnEgPj//qOegQnLANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCdiA+P/+o4eCCeyA+P/+o4eCCgCA+P/+o4eCChSA+P/+o4eCCiiA+P/+o56BCi8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IKPID4//6jh4IKUID4//6jh4IKZID4//6jh4IKeID4//6jh4IKjID4//6jnoEKkwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggqggPj//qOHggq0gPj//qOHggrIgPj//qOHggrcgPj//qOHggrwgPj//qOegQr3ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCwSA+P/+o4eCCxiA+P/+o4eCCyyA+P/+o4eCC0CA+P/+o4eCC1SA+P/+o56BC1sA0QIABRAQFGAAYWC/0AAiABDNfrXJPnHMAACjh4ILaID4//6jh4ILfID4//6jh4ILkID4//6jh4ILpID4//6jh4ILuID4//6jnoELvwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggvMgPj//qOHggvggPj//qOHggv0gPj//qOHggwIgPj//qOHggwcgPj//qOegQwjANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDDCA+P/+o4eCDESA+P/+o4eCDFiA+P/+o4eCDGyA+P/+o4eCDICA+P/+o56BDIcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IMlID4//6jh4IMqID4//6jh4IMvID4//6jh4IM0ID4//6jnoEM6wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg0MgPj//qOHgg0ggPj//qOHgg00gPj//qOHgg1IgPj//qOegQ1PANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDVyA+P/+o4eCDXCA+P/+o4eCDYSA+P/+o4eCDZiA+P/+o4eCDayA+P/+o56BDbMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4INwID4//6jh4IN1ID4//6jh4IN6ID4//6jh4IN/ID4//6jh4IOEID4//6jnoEOFwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg4kgPj//qOHgg44gPj//qOHgg5MgPj//qOHgg5ggPj//qOHgg50gPj//qOegQ57ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDoiA+P/+o4eCDpyA+P/+o4eCDrCA+P/+o4eCDsSA+P/+o4eCDtiA+P/+o56BDt8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IO7ID4//6jh4IPAID4//6jh4IPFID4//6jh4IPKID4//6jh4IPPID4//6jnoEPQwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg9QgPj//qOHgg9kgPj//qOHgg94gPj//qOHgg+MgPj//qOHgg+ggPj//qOegQ+nANECAAUQEBRgAGFgv9AAIgAQzX61yT5xzAAAo4eCD7SA+P/+o4eCD8iA+P/+o4eCD9yA+P/+o4eCD/CA+P/+o4eCEASA+P/+o56BEAsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IQGID4//6jh4IQLID4//6jh4IQQID4//6jh4IQVID4//6jh4IQaID4//6jnoEQbwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghB8gPj//qOHghCQgPj//qOHghCkgPj//qOHghC4gPj//qOHghDMgPj//qOegRDTANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEOCA+P/+o4eCEPSA+P/+o4eCEQiA+P/+o56BETcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IRQ4D4//6jh4IRV4D4//6jh4IRa4D4//6jh4IRf4D4//6jh4IRk4D4//6jnoERmwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghGngPj//qOHghG7gPj//qOHghHPgPj//qOHghHjgPj//qOHghH3gPj//qOegRH/ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEguA+P/+o4eCEh+A+P/+o4eCEjOA+P/+o4eCEkeA+P/+o4eCEluA+P/+o56BEmMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4ISb4D4//6jh4ISg4D4//6jh4ISl4D4//6jh4ISq4D4//6jh4ISv4D4//6jnoESxwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghLTgPj//qOHghLngPj//qOHghL7gPj//qOHghMPgPj//qOHghMjgPj//qOegRMrANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEzeA+P/+o4eCE0uA+P/+o4eCE1+A+P/+o4eCE3OA+P/+oAEAAAAAAAAPoYeCE4cA+P/+daKDB/KBHFO7a5G7j7OBB7eK94EB8YIDX/CBDA=="),this._addSourceToVideo(this.noSleepVideo,"mp4","data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACORtZGF03gIATGF2YzU4LjM1LjEwMAACMEAOAAACcQYF//9t3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2MSByMzAyNyA0MTIxMjc3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTAgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0wIHdlaWdodHA9MCBrZXlpbnQ9MjUwIGtleWludF9taW49MTAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAADvZYiED/JigADD7JycnJycnJycnJycnJycnJycnJ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114BGCAHARggBwEYIAcBGCAHARggBwAAAAdBmjgf4BLYARggBwEYIAcBGCAHARggBwAAAAdBmlQH+AS2ARggBwEYIAcBGCAHARggBwAAAAdBmmA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZrAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0Ga4D/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbAD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbID/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBm0A/wCWwARggBwEYIAcBGCAHAAAAB0GbYD/AJbABGCAHARggBwEYIAcAAAAHQZuAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0Gb4D/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBmgA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmiA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmkA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZpgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwAAAAdBmsA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmuA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmwA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZsgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtgP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GbgD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdB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"),Object.assign(this.noSleepVideo.style,{position:"absolute",left:"-100%",top:"-100%"}),document.querySelector("body").append(this.noSleepVideo),this.handleNoSleepVideoTimeUpdate=()=>{this.noSleepVideo&&this.noSleepVideo.currentTime>4&&(this.noSleepVideo.currentTime=1)},this.noSleepVideo.addEventListener("timeupdate",this.handleNoSleepVideoTimeUpdate))}destroy(){if(this._wakeLock&&(this._wakeLock.release(),this._wakeLock=null),this.noSleepVideo){this.handleNoSleepVideoTimeUpdate&&this.noSleepVideo.removeEventListener("timeupdate",this.handleNoSleepVideoTimeUpdate);try{this.noSleepVideo.parentNode&&this.noSleepVideo.parentNode.removeChild(this.noSleepVideo)}catch(e){this.player.debugWarn("NoSleep","Failed to remove noSleepVideo element.")}this.noSleepVideo=null}this.handleVisibilityChange&&(document.removeEventListener("visibilitychange",this.handleVisibilityChange),document.removeEventListener("fullscreenchange",this.handleVisibilityChange))}_addSourceToVideo(e,t,s){var i=document.createElement("source");i.src=s,i.type=`video/${t}`,e.appendChild(i)}get isEnabled(){return this.enabled}enable(){if(bt())return navigator.wakeLock.request("screen").then((e=>{this._wakeLock=e,this.enabled=!0,this.player.debugLog("wakeLock","Wake Lock active."),this._wakeLock.addEventListener("release",(()=>{this.player.debugLog("wakeLock","Wake Lock released.")}))})).catch((e=>{throw this.enabled=!1,this.player.debugWarn("wakeLock",`${e.name}, ${e.message}`),e}));return this.noSleepVideo.play().then((e=>(this.player.debugLog("wakeLock","noSleepVideo Wake Lock active."),this.enabled=!0,e))).catch((e=>{throw this.player.debugWarn("wakeLock",`noSleepVideo ${e.name}, ${e.message}`),this.enabled=!1,e}))}disable(){bt()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):this.noSleepVideo&&this.noSleepVideo.pause(),this.enabled=!1,this.player.debugLog("wakeLock","Disabling wake lock.")}}class kt{constructor(e){this.player=e,this.TAG_NAME="decoderAudioWorker",this.destroyResolve=null,this.workerClearTimeout=null,this.workerUrl=null;let t=this.player._opt.decoder;if(this.decoderWorkerCloseTimeout=null,0===t.indexOf("http")&&this.player._opt.isDecoderUseCDN){const e=new Blob([`importScripts("${t}")`],{type:"application/javascript"});t=window.URL.createObjectURL(e),this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),_)}this.decoderWorker=new Worker(t),this._initDecoderWorker(),e.debugLog(this.TAG_NAME,`init and decoder url is ${t}`)}destroy(){return new Promise(((e,t)=>{this.player.loaded?(this.player.debugLog(this.TAG_NAME,"has loaded and post message to destroy"),this.decoderWorker?(this.decoderWorker.postMessage({cmd:N}),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0)}),2e3)):(this.player.debugWarn(this.TAG_NAME,"has loaded but decoderWorker is null and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0))):(this.player.debugLog(this.TAG_NAME,"has not loaded and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0))}))}_destroy(){this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.decoderWorker&&(this.decoderWorker.terminate(),this.decoderWorker.onerror=null,this.decoderWorker.onmessageerror=null,this.decoderWorker.onmessage=null,this.decoderWorker=null),this.player.debugLog(this.TAG_NAME,"destroy"),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null)}_initDecoderWorker(){this.player,this.decoderWorker.onerror=e=>{const t=e.filename||"",s=e.message||"",i=t&&(-1!==t.indexOf(".wasm")||-1!==t.indexOf("wasm://"));i&&-1!==s.indexOf(fe)?this.player.debugLog("decoderWorker",`onerror and ignore filename: ${t},message: ${s}`,e):(this.player.debugError("decoderWorker",`onerror filename: ${t},message: ${s}`,e),i?this.player.emitError(se.decoderWorkerWasmError,`filename: ${t},message: ${s}`):this.player.emitError(se.decoderWorkerInitError,`filename: ${t},message: ${s}`))},this.decoderWorker.onmessageerror=e=>{this.player.debugError(this.TAG_NAME,"onmessageerror",e)},this.decoderWorker.onmessage=e=>{const t=e.data;switch(t.cmd){case T:this.player.debugLog(this.TAG_NAME,"onmessage:",T),this.decoderWorker&&this._initWork(),this.player.loaded||this.player.emit(ee.load),this.player.emit(ee.decoderWorkerInit);break;case R:this.player.debugLog(this.TAG_NAME,"onmessage:",R,t.code),this.player.audio&&this.player.audio.updateAudioInfo({encTypeCode:t.code});break;case I:if(this.player.debugLog(this.TAG_NAME,"onmessage:",I,`channels:${t.channels},sampleRate:${t.sampleRate}`),t.channels>2)return this.player.emit(ee.error,se.audioChannelError),void this.player.emit(se.audioChannelError,`audio channel is ${t.channels}, max is 2`);this.player.audio&&(this.player.audio.updateAudioInfo(t),this.player.audio.initScriptNode());break;case v:if(!this.player.audio)return void this.player.debugWarn(this.TAG_NAME,"onmessage playAudio but audio is null");this.player.handleRender(),this.player.updateStats({ts:t.ts,buf:t.delay}),this.player.audio.play(t.buffer,t.ts);break;case P:t.type===ee.streamSuccess?this.player.stream?this.player.stream.emit(ee.streamSuccess):this.player.debugWarn(this.TAG_NAME,"onmessage and workerFetch response stream success but stream is null"):t.type===ee.streamRate?this.player.emit(ee.kBps,(t.value/1024).toFixed(2)):t.type===ee.streamEnd?this.player?(t.value===u&&this.player.emit(ee.websocketClose,t.msg),this.player.stream?this.player.stream.emit(ee.streamEnd,t.msg):this.player.debugWarn(this.TAG_NAME,"onmessage and workerFetch response stream end but player.stream is null")):this.player.debugWarn(this.TAG_NAME,"onmessage and workerFetch response stream end but player is null"):t.type===se.websocketError?(this.player&&this.player.stream?this.player.stream.emit(se.websocketError,t.value):this.player.debugWarn(this.TAG_NAME,"onmessage and workerFetch response websocket error but stream is null"),this.player&&this.player.emit(ee.error,se.websocketError)):t.type===se.fetchError?(this.player&&this.player.stream?this.player.stream.emit(se.fetchError,t.value):this.player.debugWarn(this.TAG_NAME,"onmessage and workerFetch response fetch error but stream is null"),this.player&&this.player.emit(ee.error,se.fetchError)):t.type===ee.streamAbps&&this.player.updateStats({abps:t.value});break;case L:this.player.debugLog(this.TAG_NAME,"onmessage:",L),this.player.destroy(),console.error("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),alert("Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"),window.location.reload();break;case W:this.player.debugLog(this.TAG_NAME,"onmessage:",W),this._destroy();break;default:this.player.debugWarn(this.TAG_NAME,"onmessage:",`unknown msg.cmd:${t.cmd}`)}}}_initWork(){const e={debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,sampleRate:this.player.audio&&this.player.audio.audioContext&&this.player.audio.audioContext.sampleRate||0,audioBufferSize:this.player.audio&&this.player.audio.getAudioBufferSize()||1024,videoBuffer:this.player._opt.videoBuffer,isChrome:Pe()};this.decoderWorker.postMessage({cmd:M,opt:JSON.stringify(e)})}updateWorkConfig(e){this.decoderWorker&&this.decoderWorker.postMessage({cmd:D,key:e.key,value:e.value})}workerFetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{_opt:s}=this.player;let i=[];t.protocols&&(i=t.protocols,delete t.protocols);const r={protocol:s.protocol,isFlv:s.isFlv,isG711a:s.isG711a,isG711u:s.isG711u};this.decoderWorker.postMessage({cmd:G,url:e,protocols:i,opt:JSON.stringify(r)})}workerSendMessage(e){this.decoderWorker.postMessage({cmd:O,message:e})}}var Et,Ct="application/json, text/javascript",St="text/html",Bt=/^(?:text|application)\/xml/i,_t=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Tt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,vt=/^\s*$/,It={},Rt={},Pt="",Lt={type:"GET",beforeSend:Wt,success:Wt,error:Wt,complete:Wt,context:null,xhr:function(){return new window.XMLHttpRequest},accepts:{json:Ct,xml:"application/xml, text/xml",html:St,text:"text/plain","*":"*/".concat("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:Wt,contentType:"application/x-www-form-urlencoded; charset=UTF-8"};function Wt(){}var Mt=function(e,t){"object"==typeof e&&(t=e,e=void 0);var s=jt({},t=t||{});for(var i in Lt)void 0===s[i]&&(s[i]=Lt[i]);try{var r={},o=new Promise((function(e,t){r.resolve=e,r.reject=t}));o.resolve=r.resolve,o.reject=r.reject,s.promise=o}catch(e){s.promise={resolve:Wt,reject:Wt}}var A=Tt.exec(window.location.href.toLowerCase())||[];s.url=((e||s.url||window.location.href)+"").replace(/#.*$/,"").replace(/^\/\//,A[1]+"//");var a=s.url;s.crossDomain||(s.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(s.url)&&RegExp.$2!==window.location.href);var n=s.dataType;if("jsonp"===n){if(!/=\?/.test(s.url)){var h=(s.jsonp||"callback")+"=?";s.url=xt(s.url,h)}return function(e){var t,s=e.jsonpCallback||"jsonp"+Ut(),i=window.document.createElement("script"),r={abort:function(){s in window&&(window[s]=Wt)}},o=window.document.getElementsByTagName("head")[0]||window.document.documentElement;function A(s){window.clearTimeout(t),r.abort(),Gt(s.type,r,s.type,e),a()}i.onerror=function(e){A(e)},window[s]=function(s){window.clearTimeout(t),Nt(s,r,e),a()},Qt(e),i.src=e.url.replace(/=\?/,"="+s),i.src=xt(i.src,"_="+(new Date).getTime()),i.async=!0,e.scriptCharset&&(i.charset=e.scriptCharset);o.insertBefore(i,o.firstChild),e.timeout>0&&(t=window.setTimeout((function(){r.abort(),Gt("timeout",r,"timeout",e),a()}),e.timeout));function a(){i.clearAttributes?i.clearAttributes():i.onload=i.onreadystatechange=i.onerror=null,i.parentNode&&i.parentNode.removeChild(i),i=null,delete window[s]}return e.promise.abort=function(){r.abort()},e.promise.xhr=r,e.promise}(s)}Qt(s);var l=s.accepts[n]||s.accepts["*"],u={};/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:window.location.protocol;var d,c=Lt.xhr();s.crossDomain||u["X-Requested-With"]||(u["X-Requested-With"]="XMLHttpRequest"),s.ifModified&&(It[a]&&(u["If-Modified-Since"]=It[a]),Rt[a]&&(u["If-None-Match"]=Rt[a])),l&&(u.Accept=l,l.indexOf(",")>-1&&(l=l.split(",",2)[0]),c.overrideMimeType&&c.overrideMimeType(l));var p=!/^(?:GET|HEAD)$/.test(s.type.toUpperCase());if((s.data&&p&&!1!==s.contentType||t.contentType)&&(u["Content-Type"]=s.contentType),!1===s.cache&&!p){var g=/([?&])_=[^&]*/;s.url=g.test(a)?a.replace(g,"$1_="+Ut()):a+(/\?/.test(a)?"&":"?")+"_="+Ut()}s.headers=jt(u,s.headers||{}),c.onreadystatechange=function(){if(4===c.readyState){var e;clearTimeout(d);var t=!1;if(c.status>=200&&c.status<300||304===c.status){if(Pt=c.getAllResponseHeaders(),s.ifModified){var i=Ot("Last-Modified");i&&(It[a]=i),(i=Ot("etag"))&&(Rt[a]=i)}n=n||function(e){return e&&(e===St?"html":e===Ct?"json":Bt.test(e)&&"xml")||"text"}(c.getResponseHeader("content-type")),e=c.responseText;try{"xml"===n?e=c.responseXML:"json"===n&&(e=vt.test(e)?null:JSON.parse(e))}catch(e){t=e}t?Gt(t,"parseerror",c,s):Nt(e,c,s)}else Gt(null,"error",c,s)}};var m=!("async"in s)||s.async;if(c.open(s.type,s.url,m,s.username,s.password),s.xhrFields)for(var y in s.xhrFields)c[y]=s.xhrFields[y];for(var y in s.mimeType&&c.overrideMimeType&&c.overrideMimeType(s.mimeType),s.headers)void 0!==s.headers[y]&&c.setRequestHeader(y,s.headers[y]+"");return!1===function(e,t){var s=t.context;if(!1===t.beforeSend.call(s,e,t))return!1}(c,s)?(c.abort(),!1):(s.timeout>0&&(d=window.setTimeout((function(){c.onreadystatechange=Wt,c.abort(),Gt(null,"timeout",c,s)}),s.timeout)),c.send(s.data?s.data:null),s.promise.abort=function(){c.abort()},s.promise)};function Nt(e,t,s){var i=s.context,r="success";s.success.call(i,e,r,t),s.promise.resolve(e,r,t),Dt(r,t,s)}function Dt(e,t,s){var i=s.context;s.complete.call(i,t,e)}function Gt(e,t,s,i){var r=i.context;i.error.call(r,s,t,e),i.promise.reject(s,t,e),Dt(t,s,i)}function Ot(e){var t;if(!Et){for(Et={};t=_t.exec(Pt);)Et[t[1].toLowerCase()]=t[2];t=Et[e.toLowerCase()]}return null===t?null:t}function xt(e,t){return(e+"&"+t).replace(/[&?]{1,2}/,"?")}function Qt(e){!Ft(e)||e.data instanceof FormData||!e.processData||(e.data=function(e,t){var s=[];return s.add=function(e,t){this.push(encodeURIComponent(e)+"="+encodeURIComponent(t))},Ht(s,e,t),s.join("&").replace("%20","+")}(e.data)),!e.data||e.type&&"GET"!==e.type.toUpperCase()||(e.url=xt(e.url,e.data))}function Ht(e,t,s,i){var r=function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t);for(var o in t){var A=t[o];i&&(o=s?i:i+"["+(r?"":o)+"]"),!i&&r?e.add(A.name,A.value):(s?r(A):Ft(A))?Ht(e,A,s,o):e.add(o,A)}}function jt(e){for(var t=Array.prototype.slice,s=t.call(arguments,1),i=0,r=s.length;ie())),this.eventsDestroy=[]),this.videoStream&&(this.videoStream.getTracks().forEach((e=>{e.stop()})),this.videoStream=null),this.rtcPeerConnectionDataChannel&&(this.rtcPeerConnectionDataChannel.onopen=ke,this.rtcPeerConnectionDataChannel.onclose=ke,this.rtcPeerConnectionDataChannel.onmessage=ke,this.rtcPeerConnectionDataChannel.close(),this.rtcPeerConnectionDataChannel=null),this.rtcPeerConnection&&(this.rtcPeerConnection.onicecandidate=ke,this.rtcPeerConnection.ontrack=ke,this.rtcPeerConnection.onconnectionstatechange=ke,this.rtcPeerConnection.ondatachannel=ke,this.rtcPeerConnection.close(),this.rtcPeerConnection=null)}_initRtcPeerConnection(){const e=new RTCPeerConnection,t=this.player;e.addTransceiver("audio",{direction:"recvonly"}),e.onsignalingstatechange=e=>{this.player.debugLog(this.TAG_NAME,"onsignalingstatechange[本地端的信号状态]",e)},e.onicegatheringstatechange=t=>{this.player.debugLog(this.TAG_NAME,"onicegatheringstatechange[ICE收集状态]",t,e.iceGatheringState)},e.onnegotiationneeded=e=>{this.player.debugLog(this.TAG_NAME,"onnegotiationneeded[通信环境发生变化]",e)},e.oniceconnectionstatechange=s=>{this.player.debugLog(this.TAG_NAME,"oniceconnectionstatechange",e.iceConnectionState);const i=e.iceConnectionState;switch(this.player.emit(ee.webrtcOnIceConnectionStateChange,i),this.isDisconnected="disconnected"===i,e.iceConnectionState){case"new":break;case"checking":t.emit(ee.webrtcChecking);break;case"closed":case"closed":t.emit(ee.webrtcClosed);break;case"failed":t.emit(ee.webrtcFailed);break;case"disconnected":t.emit(ee.webrtcDisconnect);break;case"connected":t.emit(ee.webrtcConnected);break;case"completed":t.emit(ee.webrtcCompleted)}},e.onicecandidate=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidate",e),e.candidate&&this.player.debugLog(this.TAG_NAME,"Remote ICE candidate: ",e.candidate.candidate)},e.ontrack=t=>{if(this.player.debugLog(this.TAG_NAME,"ontrack",t),"video"===t.track.kind);else if("audio"===t.track.kind){this.player.debugLog(this.TAG_NAME,"ontrack audio"),this.rtcPeerTrackAudioReceiver=e.getReceivers().find((function(e){return e.track===t.track})),this.rtcPeerTrackAudioReceiver&&this._startBandwidthEstimateInterval();let s=t.streams[0];this.videoStream=s,this.player.audio.bindStream(s)}},e.onicecandidateerror=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidateerrorr[candidate错误]",e),this.player.emitError(se.webrtcIceCandidateError,e)},e.onconnectionstatechange=s=>{switch(this.player.debugLog(this.TAG_NAME,"onconnectionstatechange[所有ICE 状态总览]",s),this.player.emit(ee.webrtcOnConnectionStateChange,e.connectionState),e.connectionState){case"new":case"connecting":case"connected":case"disconnected":break;case"failed":this.isDisconnected&&t.emit(ee.webrtcFailed)}},this.rtcPeerConnection=e}_startBandwidthEstimateInterval(){this.player.debugLog(this.TAG_NAME,"_startBandwidthEstimateInterval"),this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{this.rtcPeerTrackAudioReceiver&&this.rtcPeerTrackAudioReceiver.getStats().then((e=>{let t=0;const s={};e.forEach((e=>{if(e&&e.type===be){this.currentWebrtcStats.lastTimeStamp=e.timestamp;const i=((e.timestamp||0)-(this.prevWebrtcAudioStats.timestamp||0))/1e3,r=Number(e.bytesReceived||0)-Number(this.prevWebrtcAudioStats.bytesReceived||0),o=Math.floor(r/i);t+=o,s.abps=o,this.prevWebrtcAudioStats=e}})),this.player.updateStats(s),this.player.emit(ee.kBps,(t/1024).toFixed(2))}))}),1e3)}_stopBandwidthEstimateInterval(){this.player.debugLog(this.TAG_NAME,"_stopBandwidthEstimateInterval"),this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}async loadSource(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.rtcPeerConnection;try{const i=await s.createOffer();await s.setLocalDescription(i);const r=await this.getWebRtcRemoteSdpByPost(e,i.sdp,t);await s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:r}))}catch(e){return this.player.debugError(this.TAG_NAME,`loadSource error ${e.toString()}`,e),{code:400,message:"getWebRtcRemoteSdp response error:"+e.toString()}}return!0}async getWebRtcRemoteSdpByPost(e,t,s){return!0}}class Yt extends $t{constructor(e){super(e),this.TAG_NAME="WebRTCForZlmAudio",this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}async getWebRtcRemoteSdpByPost(e,t,s){const i=await function(e,t){return Mt({url:e,type:"POST",data:t,contentType:"text/plain;charset=utf-8",processData:!1,dataType:"json"})}(e,t);if(0!==i.code)throw new Error(i.msg);if(i.sdp)return i.sdp;throw new Error("sdp is null")}}class zt extends $t{constructor(e){super(e),this.TAG_NAME="WebRTCForOtherAudio",this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}async getWebRtcRemoteSdpByPost(e,t,s){const i=await function(e,t){return fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:t})}(e,t),r=await i.text();try{let e=JSON.parse(r);if(this.player.debugLog(this.TAG_NAME,"this is json sdp response"),0!=e.code)throw this.player.debugError(this.TAG_NAME,`response json code ${e.code}`),new Error(`response sdp json code: ${e.code}`);return e.sdp}catch(e){this.player.debugLog(this.TAG_NAME,"this is raw sdp response")}return r}}class qt extends $t{constructor(e){super(e),this.TAG_NAME="WebRTCForM7sAudio",this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}async getWebRtcRemoteSdpByPost(e,t,s){const i=await function(e,t,s){let i={"Content-Type":"application/sdp"};return s.username&&s.password&&(i.Authorization="Basic "+btoa(s.username+":"+s.password)),fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:i,body:t})}(e,t,s);return await i.text()}}class Jt extends $t{constructor(e){super(e),this.TAG_NAME="WebRTCForSRSAudio",this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}async getWebRtcRemoteSdpByPost(e,t,s){const i=await function(e,t){return fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:t})}(e,t);if(0!==i.code)throw new Error(i.msg);if(i)return i;throw new Error("sdp is null")}}class Zt extends t{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this._opt={},this.TAG_NAME="AudioPlayer";const t=Ge();this._opt=Object.assign({},t,e),this.debug=new we(this),this.debugLog(this.TAG_NAME,"init and version is",_e),this._loading=!1,this._playing=!1,this._hasLoaded=!1,this._destroyed=!1,this._closed=!1,this._checkHeartTimeout=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this._startBpsTime=null,this._stats={abps:0,ts:0,buf:0,audioBufferTs:0},this._audioTimestamp=0,this.stream=null,this._lastVolume=null,this._historyAbpsList=[],this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._tempWorkerStats=null,/(iphone|ipad|ipod|ios|android)/i.test(window.navigator.userAgent.toLowerCase())&&xe(this._opt.supportLockScreenPlayAudio&&Te())&&(this.keepScreenOn=new wt(this)),je(this),this.stream=null,this.webrtc=null,this.events=new He(this),this.decoderWorker=null,this.audio=null;try{this.debugLog(this.TAG_NAME,"_opt",JSON.stringify(this._opt))}catch(e){this.debugLog(this.TAG_NAME,"_opt",this._opt)}}async destroy(){this._destroyed=!0,this.emit("destroy"),this.off(),this.events&&(this.events.destroy(),this.events=null),this.clearCheckHeartTimeout(),this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.decoderWorker&&(await this.decoderWorker.destroy(),this.decoderWorker=null),await this._destroy()}async _destroy(){this._loading=!1,this._playing=!1,this._hasLoaded=!1,this._destroyed=!1,this._checkHeartTimeout=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this._resetStats(),this._audioTimestamp=0,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._tempWorkerStats=null,this.audio&&(await this.audio.destroy(),this.audio=null),this.webrtc&&(await this.webrtc.destroy(),this.webrtc=null),this.stream&&(await this.stream.destroy(),this.stream=null),this.debugLog(this.TAG_NAME,"destroy end"),this._opt=Ge()}_resetStats(){this._startBpsTime=null,this._playingStartTimestamp=null,this._historyAbpsList=[],this._stats={abps:0,ts:0,buf:0,audioBufferTs:0}}set loaded(e){this._hasLoaded=e}get loaded(){return this._hasLoaded}set playing(e){e&&(this.loading=!1),this.playing!==e&&(this._playing=e,this.emit(ee.playing,e),this.emit(ee.volumechange,this.volume),e?this.emit(ee.play):this.emit(ee.pause))}get playing(){return this._playing}get volume(){return this.audio&&this.audio.volume||0}set volume(e){e!==this.volume&&(this.audio?(this.audio.setVolume(e),this._lastVolume=this.volume):this.debugWarn(this.TAG_NAME,"set volume error, audio is null"))}get lastVolume(){return this._lastVolume}set loading(e){this.loading!==e&&(this._loading=e,this.emit(ee.loading,this._loading))}get loading(){return this._loading}set audioTimestamp(e){null!==e&&(this._audioTimestamp=e)}get audioTimestamp(){return this._audioTimestamp}get isDebug(){return Oe(this._opt.debug)}isDestroyed(){return this._destroyed}updateOption(e){this._opt=Object.assign({},this._opt,e)}init(){return new Promise(((e,t)=>{this.audio||(this.audio=new ft(this)),this.stream||(this.stream=new Ke(this)),this.isWebrtc()?(this.webrtc||(this._opt.isWebrtcForZLM?this.webrtc=new Yt(this):this._opt.isWebrtcForSRS?this.webrtc=new Jt(this):this._opt.isWebrtcForOthers?this.webrtc=new zt(this):this.webrtc=new qt(this),this.loaded=!0),e()):this.decoderWorker?this.loaded?e():this.once(ee.decoderWorkerInit,(()=>{this.loaded=!0,e()})):(this.decoderWorker=new kt(this),this.once(ee.decoderWorkerInit,(()=>{this.loaded=!0,e()})))}))}play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{if(!e&&!this._opt.url)return i("url is empty");this.loading=!0,this.playing=!1,this._closed=!1,this._times.playInitStart=Ee(),e||(e=this._opt.url),this._opt.url=e,this.clearCheckHeartTimeout(),this.init().then((()=>{this._times.playStart=Ee(),this._opt.isNotMute&&this.mute(!1),this.checkLoadingTimeout(),this.stream&&(this.stream.once(se.fetchError,(e=>{this.emitError(se.fetchError,e)})),this.stream.once(se.websocketError,(e=>{this.emitError(se.websocketError,e)})),this.stream.once(ee.streamEnd,(e=>{this.emit(ee.streamEnd,e)})),this.stream.once(ee.streamSuccess,(()=>{s(),this._times.streamResponse=Ee(),this.checkStatsInterval(),this.debugLog(this.TAG_NAME,"stream success and start play")})),this.stream.fetchStream(e,t))})).catch((()=>{i()}))}))}checkLoadingTimeout(){this._checkLoadingTimeout=setTimeout((()=>{this.playing?this.debugWarn(this.TAG_NAME,`checkLoadingTimeout but loading is ${this.loading} and playing is ${this.playing}`):this.isDestroyed()?this.debug&&this.debugWarn(this.TAG_NAME,"checkLoadingTimeout but player is destroyed"):(this.debugWarn(this.TAG_NAME,"checkLoadingTimeout and pause and emit loadingTimeout event"),this.emit(ee.timeout,ee.loadingTimeout),this.emit(ee.loadingTimeout))}),1e3*this._opt.loadingTimeout)}clearCheckLoadingTimeout(){this._checkLoadingTimeout&&(this.debugLog(this.TAG_NAME,"clearCheckLoadingTimeout"),clearTimeout(this._checkLoadingTimeout),this._checkLoadingTimeout=null)}checkStatsInterval(){this.debugLog(this.TAG_NAME,"checkStatsInterval"),this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}clearCheckHeartTimeout(){this.debugLog(this.TAG_NAME,"clearCheckHeartTimeout"),this._checkHeartTimeout&&(clearTimeout(this._checkHeartTimeout),this._checkHeartTimeout=null)}clearStatsInterval(){this.debugLog(this.TAG_NAME,"clearStatsInterval"),this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._startBpsTime||(this._startBpsTime=Ee()),Ie(e.ts)&&(this._stats.ts=e.ts,null===this._playingStartTimestamp&&e.ts>0&&(this._playingStartTimestamp=e.ts)),Ie(e.buf)&&(this._stats.buf=e.buf);const t=Ee(),s=t-this._startBpsTime;if(e.abps&&(this._stats.abps+=e.abps),s<1e3)return;let i=0,r=0;this.audio&&this.audio.bufferList&&(i=this.audio.bufferList.length,r=i*this.audio.oneBufferDuration),this._stats.audioBufferTs=parseInt(r,10),this.emit(ee.stats,this._stats),this.emit(ee.timeUpdate,this._stats.ts),this.updateHistoryAbpsList(this._stats.abps),this._stats.abps=0,this._startBpsTime=t}enableWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.enable()}releaseWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.disable()}pause(){return new Promise(((e,t)=>{this._closed=!0;const s=()=>{this.stream&&(this.stream.destroy(),this.stream=null),this.off(),this.clearCheckHeartTimeout(),this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.releaseWakeLock(),this._resetStats(),this.loading=!1,this.playing=!1,this.audio&&this.audio.pause(),this._audioTimestamp=0,this._hasLoaded=!1,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},je(this)};this.decoderWorker?this.decoderWorker.destroy().then((()=>{this.decoderWorker=null,s(),e()})).catch((e=>{this.debugError(this.TAG_NAME,"pause() decoderWorker destroy error",e),t(e)})):(s(),setTimeout((()=>{e()}),0))}))}handleRender(){this.isDestroyed()?this.debug&&this.debugWarn("player","handleRender but player is destroyed"):(this.loading&&(this.clearCheckLoadingTimeout(),this.emit(ee.start),this.loading=!1),this.playing||(this.playing=!0))}updateHistoryAbpsList(e){this._historyAbpsList.length>this._opt.heartTimeout&&this._historyAbpsList.shift(),this._historyAbpsList.push(e),this.isHistoryAbpsListAllZero()&&this.checkHeartTimeout$2()}isHistoryAbpsListAllZero(){let e=!0;if(this._historyAbpsList.length0){e=!1;break}return e}checkHeartTimeout$2(){if(this.playing){if(this.isDestroyed())return void(this.debug&&this.debugWarn("player","checkHeartTimeout$2 but player is destroyed"));if(xe(this.isHistoryAbpsListAllZero()))return void(this.debug&&this.debugWarn("player","checkHeartTimeout$2 but fps is not all zero"));if(xe(this.visibility)&&0!==this._stats.abps)return void(this.debug&&this.debugWarn("player",`checkHeartTimeout$2 but page is not visibility and vbps is ${this._stats.vbps}`));const e=this._historyAbpsList.join(",");this.debugWarn("player",`checkHeartTimeout$2 and\n pause and emit delayTimeout event and\n current abps is ${this._stats.abps} and\n history abpsList is ${e} and\n current visibility is ${this.visibility} and`),this.emit(ee.timeout,ee.delayTimeout),this.emit(ee.delayTimeout)}else this.debugLog("player",`checkHeartTimeout$2() playing is ${this.playing}`)}getOption(){return this._opt}getDemuxType(){let e="";return e=this.getOption().demuxType,e}getAudioEngineType(){let e="";return this.audio&&(e=this.audio.getEngineType()),e}mute(e){this.audio&&this.audio.mute(e)}isAudioMute(){let e=!0;return this.audio&&(e=this.audio.isMute),e}isAudioNotMute(){return!this.isAudioMute()}getPlayType(){return this._opt.playType}emitError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.emit(e,t),this.emit(ee.error,e,t)}openSyncAudioAndVideo(){return!1}isDestroyedOrClosed(){return this.isDestroyed()||this.isClosed()}isClosed(){return this._closed}isWebrtc(){return Oe(this._opt.isWebrtc)}isWebrtcForM7S(){return xe(this._opt.isWebrtcForZLM)&&xe(this._opt.isWebrtcForSRS)&&xe(this._opt.isWebrtcForOthers)}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i{this.isOnline()!==this.prevOnline&&(this.isOnline()?this._updateOnlineStatus():this._updateOfflineStatus())}),1e3)}_updateOnlineStatus(){this.prevOnline=this.online,this.online=!0,this.logStatus(),this.emit("online")}_updateOfflineStatus(){this.prevOnline=this.online,this.online=!1,this.logStatus(),this.emit("offline")}logStatus(){const e=this.prevOnline?"online":"offline",t=this.online?"online":"offline";this.player.debugLog(this.TAG_NAME,`prevOnline: ${this.prevOnline}, online: ${this.online}, status: ${e} -> ${t}`)}isOnline(){return void 0===navigator.onLine||navigator.onLine}isOffline(){return!this.isOnline()}}class Kt extends t{constructor(e){super(),this._opt={},this.TAG_NAME="JbProAudio",Object.keys(e).forEach((t=>{if(void 0===e[t])throw new Error(`JbPro option "${t}" can not be undefined`)}));const t=Ge();let s=Object.assign({},t,e);Ie(s.videoBuffer)&&(s.videoBuffer=1e3*Number(s.videoBuffer)),Ie(s.videoBufferDelay)&&(s.videoBufferDelay=1e3*Number(s.videoBufferDelay)),Ie(s.videoBufferMax)&&(s.videoBufferMax=1e3*Number(s.videoBufferMax)),Ie(s.timeout)&&(ve(s.loadingTimeout)&&(s.loadingTimeout=s.timeout),ve(s.heartTimeout)&&(s.heartTimeout=s.timeout)),this._opt=s,this._destroyed=!1,this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this._streamErrorReplayTimes=0,this.debug=new we(this),this.events=new He(this),this.network=new Xt(this),this._initAudioPlayer(),this._initNetwork(),this.debugLog(this.TAG_NAME,'init success and version is "9-13-2024"'),console.log('JbProAudio version is "9-13-2024"')}destroy(){return new Promise(((e,t)=>{this.debugLog(this.TAG_NAME,"destroy()"),this._destroyed=!0,this.off(),this.player?this.player.destroy().then((()=>{this.player=null,this._destroy(),e()})).catch((()=>{t()})):(this._destroy(),e())}))}_destroy(){this.events&&(this.events.destroy(),this.events=null),this.debugLog("JbPro","destroy end"),this._resetOpt(),this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this._streamErrorReplayTimes=0}_initAudioPlayer(){this.player=new Zt(this._opt),this.debugLog(this.TAG_NAME,"_initPlayer",this.player.getOption()),this._bindEvents()}_initNetwork(){this.network.on(ee.online,(()=>{if(this.emit(ee.networkState,ee.online),this.isDestroyed())this.debugLog(this.TAG_NAME,"network online but player is destroyed");else if(this._isNetworkOfflinePaused&&this._isNetworkOfflinePausedAndNextPlayConfig&&this._isNetworkOfflinePausedAndNextPlayConfig.url){const e=this._isNetworkOfflinePausedAndNextPlayConfig.url;this._streamErrorReplayTimes++;const t=this._isNetworkOfflinePausedAndNextPlayConfig.type||"unknown";this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this.debugLog(this.TAG_NAME,`${t} and network online and _streamErrorReplayTimes is ${this._streamErrorReplayTimes} and reset player and play`),this.play(e).then((()=>{this.debugLog(this.TAG_NAME,`${t} and network online and play success`)})).catch((e=>{this.emit(ee.playFailedAndPaused,se.fetchError,{},e),this.debugError(this.TAG_NAME,`${t} and network online and play error`,e.toString(),e)}))}})),this.network.on(ee.offline,(()=>{this.emit(ee.networkState,ee.offline)}))}_resetOpt(){this._opt=Ge()}_bindEvents(){Object.keys(te).forEach((e=>{this.player.on(te[e],(t=>{this.emit(e,t)}))}))}_play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;return new Promise(((r,A)=>{const a=e.split("?")[0],h=a.startsWith("http://")||a.startsWith("https://"),l=a.startsWith("ws://")||a.startsWith("wss://"),u=a.startsWith("webrtc://"),d=h||l,c=-1!==e.indexOf(".flv"),p=d&&(a.endsWith(".g711a")||a.endsWith(".g711u")),g=p&&a.endsWith(".g711a"),m=p&&a.endsWith(".g711u");let y=this._opt.isWebrtcForZLM||!1,f=this._opt.isWebrtcForSRS||!1,b=this._opt.isWebrtcForOthers||!1;u&&(-1!==e.indexOf("/index/api/webrtc")?(y=!0,f=!1,b=!1):-1!==e.indexOf("/rtc/v1/play/")&&(f=!0,y=!1,b=!1));let w=null,S=null;if(h?w=i:u?w=o:l&&(w=s),c&&!this._opt.isFlv?this._opt.isFlv=!0:!p||this._opt.isG711a||this._opt.isG711u||(this._opt.isG711a=g,this._opt.isG711u=m),this._opt.isFlv?S=k:u?S=C:l&&(S=E),!w||!S)return A(`play protocol is ${w}, demuxType is ${S}`);this.debugLog(this.TAG_NAME,`play protocol is ${n[w]}, demuxType is ${S}`);const B=()=>{this.player.once(se.fetchError,this._handleFetchError.bind(this)),this.player.once(ee.streamEnd,this._handleStreamEnd.bind(this)),this.player.once(se.websocketError,this._handleWebsocketError.bind(this)),this.player.once(se.decoderWorkerInitError,this._handleDecoderWorkerInitError.bind(this)),this.player.once(se.decoderWorkerWasmError,this._handleDecoderWorkerWasmError.bind(this)),this.player.on(ee.delayTimeout,this._handleDelayTimeout.bind(this)),this.player.on(ee.loadingTimeout,this._handleLoadingTimeout.bind(this)),this.player.play(e,t).then((()=>{r()})).catch((e=>{this.debugError(this.TAG_NAME,"hasLoaded and play error",e),this.emit(ee.crashLog,this._getCrashLog("hasLoaded and play error",e)),this.player.pause().then((()=>{A(e)})).catch((e=>{this.debugError(this.TAG_NAME,"hasLoaded and play error and next pause error",e)}))}))};u&&xe(this._opt.isWebrtcH265)?this._resetPlayer({protocol:w,demuxType:S,isWebrtc:u,isWebrtcForZLM:y,isWebrtcForSRS:f,isWebrtcForOthers:b}).then((()=>{B()})).catch((e=>{A("reset player error",e)})):(this.player.updateOption({protocol:w,demuxType:S,isFlv:this._opt.isFlv,isWebrtc:u}),B())}))}isDestroyed(){return this._destroyed}play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{if(this.isDestroyed())return i("JbPro is destroyed");if(!this.player)return i("player is null");try{this.debugLog(this.TAG_NAME,`play() ${e}`,JSON.stringify(t))}catch(s){this.debugLog(this.TAG_NAME,`play() ${e}`,t)}if(!e&&!this._opt.url)return this.emit(ee.error,se.playError),void i("url is null and this._opt.url is null");if(e){if(e=(""+e).trim(),-1===e.indexOf("http:")&&-1===e.indexOf("https:")&&-1===e.indexOf("webrtc:")&&-1===e.indexOf("ws:")&&-1===e.indexOf("wss:"))return i(`url ${e} must be "http:" or "https:" or "webrtc:" or "ws:" or "wss:" protocol`);this._opt.url=e}this.player.playing||this.player.loading?(this.debugWarn(this.TAG_NAME,`play() and player is playing ${this.player.playing} or loading ${this.player.loading} and pause to play`),this.player.pause().then((()=>{this._play(this._opt.url).then((()=>{s()})).catch((e=>{i(e)}))}))):this._play(this._opt.url,t).then((()=>{s()})).catch((e=>{i(e)}))}))}mute(){this.debugLog(this.TAG_NAME,"mute()"),this.player&&this.player.mute(!0)}cancelMute(){this.debugLog(this.TAG_NAME,"cancelMute()"),this.player&&this.player.mute(!1)}pause(){return new Promise(((e,t)=>{this.debugLog(this.TAG_NAME,"pause()"),this.player?this.player.pause().then((t=>{this._bindEvents(),e(t)})).catch((e=>{t(e)})):t("player is null")}))}setVolume(e){this.debugLog(this.TAG_NAME,`setVolume() ${e}`),this.player&&(this.player.volume=e)}getVolume(){let e=null;return this.player&&(e=this.player.volume,e=parseFloat(e).toFixed(2)),e}setTimeout(e){this.debugLog(this.TAG_NAME,`setTimeout() ${e}`),e=Number(e),this.player&&this.player.updateOption({timeout:e,loadingTimeout:e,heartTimeout:e})}audioResume(){this.debugLog(this.TAG_NAME,"audioResume()"),this.player&&this.player.audio?this.player.audio.audioEnabled(!0):this.debugWarn(this.TAG_NAME,"audioResume() player is not init")}setDebug(e){this.debugLog(this.TAG_NAME,`setDebug() ${e}`),this.player?this.player.updateOption({debug:!!e}):this.debugWarn(this.TAG_NAME,"setDebug() player is not init")}_getCrashLog(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!this.player)return;const s=this.player;let i={url:this._opt.url,playType:f,demuxType:s.getDemuxType(),audioInfo:{encType:"",sampleRate:"",channels:""},audioEngine:s.getAudioEngineType(),timestamp:Ee(),type:e,error:De(t)||e};if(s.audio){const e=s.audio.audioInfo||{};i.audioInfo={encType:e.encType||"",sampleRate:e.sampleRate||"",channels:e.channels||""}}return i}_isNeedNetworkDisconnectReplay(){return this._opt.networkDisconnectReplay&&this.network.isOffline()}_handleFetchError(e){this.isDestroyed()?this.debugLog(this.TAG_NAME,"_handleFetchError but player is destroyed"):(this.emit(ee.crashLog,this._getCrashLog(se.fetchError,e)),this.debugLog(this.TAG_NAME,"fetch error and reset player"),this.pause().then((()=>{if(this._isNeedNetworkDisconnectReplay())return this.debugLog(this.TAG_NAME,"fetch error and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:_url,type:se.fetchError});this.emit(ee.playFailedAndPaused,se.fetchError)})).catch((e=>{this.debugError(this.TAG_NAME,"fetch error and pause",e)})))}_handleStreamEnd(e){this.isDestroyed()?this.debugLog(this.TAG_NAME,"_handleStreamEnd but player is destroyed"):(this.emit(ee.crashLog,this._getCrashLog(ee.streamEnd,e)),this.debugLog(this.TAG_NAME,"streamEnd and reset player"),this.pause().then((()=>{if(this._isNeedNetworkDisconnectReplay())return this.debugLog(this.TAG_NAME,"stream End and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:_url,type:ee.streamEnd});this.emit(ee.playFailedAndPaused,ee.streamEnd)})).catch((e=>{this.emit(ee.playFailedAndPaused,se.streamEnd),this.debugError(this.TAG_NAME,"streamEnd and pause",e)})))}_handleWebsocketError(e){this.isDestroyed()?this.debugLog(this.TAG_NAME,"_handleWebsocketError but player is destroyed"):(this.emit(ee.crashLog,this._getCrashLog(se.websocketError,e)),this.debugLog(this.TAG_NAME,"websocketError and reset player"),this.pause().then((()=>{if(this._isNeedNetworkDisconnectReplay())return this.debugLog(this.TAG_NAME,"websocket Error and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:_url,type:se.websocketError});this.emit(ee.playFailedAndPaused,se.websocketError)})).catch((e=>{this.emit(ee.playFailedAndPaused,se.websocketError),this.debugError(this.TAG_NAME,"websocketError and pause",e)})))}_handleDecoderWorkerInitError(e){this.isDestroyed()?this.debugLog(this.TAG_NAME,"_handleDecoderWorkerInitError but player is destroyed"):(this.emit(ee.crashLog,this.getCrashLog(se.decoderWorkerInitError,e)),this.debugLog(this.TAG_NAME,"decoderWorkerInitError and pause player"),this._pause().then((()=>{this.emit(ee.playFailedAndPaused,se.decoderWorkerInitError)})).catch((e=>{this.emit(ee.playFailedAndPaused,se.decoderWorkerInitError),this.debugError(this.TAG_NAME,"decoderWorkerInitError and pause",e)})))}_handleDecoderWorkerWasmError(e){this.isDestroyed()?this.debugLog(this.TAG_NAME,"_handleDecoderWorkerWasmError but player is destroyed"):(this.emit(ee.crashLog,this.getCrashLog(se.decoderWorkerWasmError,e)),this.debugLog(this.TAG_NAME,"decoderWorkerWasmError and pause player"),this._pause().then((()=>{this.emit(ee.playFailedAndPaused,se.decoderWorkerWasmError)})).catch((e=>{this.emit(ee.playFailedAndPaused,se.decoderWorkerWasmError),this.debugError(this.TAG_NAME,"decoderWorkerWasmError and pause",e)})))}_handleDelayTimeout(e){this.emit(ee.crashLog,this._getCrashLog(ee.delayTimeout,e)),this.isDestroyed()?this.debugLog(this.TAG_NAME,"delay timeout but player is destroyed"):this.pause().then((()=>{if(this.player&&this.player._opt.heartTimeoutReplay&&(this._heartTimeoutReplayTimes{})).catch((e=>{this.debugError(this.TAG_NAME,"delay timeout replay error",e)}))}else this.emit(ee.playFailedAndPaused,ee.delayTimeout),this.emit(ee.delayTimeoutRetryEnd),this.debugWarn(this.TAG_NAME,`delayTimeoutRetryEnd and\n opt.heartTimeout is ${this.player&&this.player._opt.heartTimeout} and\n opt.heartTimeoutReplay is ${this.player&&this.player._opt.heartTimeoutReplay} and\n opt.heartTimeoutReplayTimes is ${this.player&&this.player._opt.heartTimeoutReplayTimes},and\n local._heartTimeoutReplayTimes is ${this._heartTimeoutReplayTimes}`)})).catch((e=>{this.emit(ee.playFailedAndPaused,ee.delayTimeout),this.debugError(this.TAG_NAME,"delay timeout and pause error",e)}))}_handleLoadingTimeout(t){this.emit(ee.crashLog,this._getCrashLog(ee.loadingTimeout,t)),this.isDestroyed()?this.debugLog(this.TAG_NAME,"loading timeout but player is destroyed"):this.pause().then((()=>{if(this.player&&this.player._opt.loadingTimeoutReplay&&(this._loadingTimeoutReplayTimes{})).catch((()=>{this.debugError(this.TAG_NAME,"loading timeout replay error",e)}))}else this.emit(ee.loadingTimeoutRetryEnd),this.emit(ee.playFailedAndPaused,ee.loadingTimeoutRetryEnd)})).catch((e=>{this.emit(ee.playFailedAndPaused,ee.loadingTimeoutRetryEnd),this.debugError(this.TAG_NAME,"loading timeout and pause error",e)}))}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i1?r-1:0),n=1;n{delete r[t]})),void delete this.e;const o=r[e],n=[];if(o&&s)for(let t=0,e=o[i(490)];t1?i-1:0),o=1;o1?r-1:0),n=1;n1?o-1:0),A=1;A32&&console[e(235)](e(236)),t<=this[e(255)]){let s=this[e(249)]>>>32-t;return this[e(249)]<<=t,this[e(255)]-=t,s}let s=this._current_word_bits_left?this[e(249)]:0;s>>>=32-this[e(255)];let i=t-this[e(255)];this[e(237)]();let r=Math[e(241)](i,this[e(255)]),o=this[e(249)]>>>32-r;return this[e(249)]<<=r,this._current_word_bits_left-=r,s=s<>>e))return this[t(249)]<<=e,this[t(255)]-=e,e;return this._fillCurrentWord(),e+this[t(246)]()}readUEG(){const t=q;let e=this[t(246)]();return this[t(234)](e+1)-1}readSEG(){let t=this[q(245)]();return 1&t?t+1>>>1:-1*(t>>>1)}}const X=$;!function(t,e){const s=$,i=t();for(;;)try{if(327232===parseInt(s(223))/1*(-parseInt(s(232))/2)+parseInt(s(196))/3*(parseInt(s(217))/4)+-parseInt(s(215))/5*(-parseInt(s(218))/6)+-parseInt(s(231))/7*(-parseInt(s(204))/8)+parseInt(s(175))/9+-parseInt(s(184))/10+parseInt(s(197))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(K);const Z=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1];function K(){const t=["other_data_present","current_syncword_offset_","readNextAACFrame","readBool","getIncompleteData","aac","more than 2 numLayer Not Supported","findNextSyncwordOffset","length","iserro","audio_object_type","frameLengthType = ","object_type","1799595wtfrKf","ext_object_type","sequenceHeader","mp4a.40.","audioMuxVersionA is Not Supported","more than 2 numSubFrames Not Supported","sampling_index","toLowerCase","bufpos","4761500xwQeLs","read","set","channel: ","Could not found ADTS syncword until payload end","android","buffer","eof_flag_","indexOf","readBits","sampling_freq_index","destroy","10377ilEvvN","3698926gLIceu","bufoff","channel_config","firefox","unshift","log","channels","32eYFhCj","readByte","sample_rate","warn","allStreamsSameTimeFraming zero is Not Supported","error","hasIncompleteData","AAC","data_","look","navigator","545130vmTuhT","chan_config","4IoaeNp","24grpcIb","mp4a.40.2","sampling_frequency","read_golomb","sbr","273827zUegVJ","buflen","slice","byteLength","has_last_incomplete_data","profile: ",". Only frameLengthType = 0 Supported","getLATMValue","656691larYBZ","4EXcuMM","aacEncoderConfigurationRecord","subarray","Flv: AAC invalid channel configuration"];return(K=function(){return t})()}X(185),X(213),X(221);X(169),X(164);function $(t,e){const s=K();return($=function(t,e){return s[t-=164]})(t,e)}X(169),X(230),X(164),X(210),X(166);function tt(t,e){const s=et();return(tt=function(t,e){return s[t-=230]})(t,e)}function et(){const t=["5CxCPue","2VzBGlX","644679BffAQj","setUint32","10iuhUWH","12YJowtF","push","toString","byteLength","subarray","659929qixJIK","3795224zAnMPY","867937IZqsvv","set","2489949nUzHxG","2588680QiOsyj","buffer","length","3331251taJyNi"];return(et=function(){return t})()}!function(t,e){const s=tt,i=t();for(;;)try{if(495835===-parseInt(s(231))/1+parseInt(s(241))/2*(parseInt(s(242))/3)+-parseInt(s(232))/4*(-parseInt(s(240))/5)+parseInt(s(245))/6*(parseInt(s(233))/7)+parseInt(s(236))/8+-parseInt(s(235))/9*(parseInt(s(244))/10)+-parseInt(s(239))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(et);const st=rt;function it(){}function rt(t,e){const s=mt();return(rt=function(t,e){return s[t-=157]})(t,e)}function ot(){const t=rt;return(new Date)[t(290)]()}function nt(t,e,s){return Math[rt(481)](Math.min(t,Math.max(e,s)),Math.min(e,s))}function At(){const t=rt;return performance&&typeof performance.now===t(441)?performance[t(302)]():Date[t(302)]()}function at(t){let e=0,s=At();return i=>{if(!function(t){const e=st;return Object.prototype[e(162)][e(258)](t)===e(397)}(i))return;e+=i;const r=At(),o=r-s;o>=1e3&&(t(e/o*1e3),s=r,e=0)}}!function(t,e){const s=rt,i=t();for(;;)try{if(481131===parseInt(s(326))/1*(parseInt(s(485))/2)+-parseInt(s(383))/3*(parseInt(s(231))/4)+-parseInt(s(356))/5*(-parseInt(s(193))/6)+-parseInt(s(177))/7+-parseInt(s(389))/8+-parseInt(s(247))/9*(parseInt(s(163))/10)+parseInt(s(220))/11*(parseInt(s(192))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mt),(()=>{const t=rt;try{if(typeof WebAssembly===t(451)&&"function"==typeof WebAssembly.instantiate){const e=new(WebAssembly[t(411)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly[t(157)]}}catch(t){}})();st(435);st(222);const ht=st(251);function ct(){const t=st,e=window[t(484)].userAgent[t(161)]();return e&&/iphone|ipad|ipod|ios/.test(e)}function ut(t){return null==t}function lt(t){return!ut(t)}st(320);const dt=()=>{const t=st,e=window[t(484)][t(384)];return/MicroMessenger/i[t(219)](e)},pt=()=>{const t=window.navigator.userAgent;return/Chrome/i.test(t)},ft=()=>dt()&&function(){const t=st,e=window[t(484)][t(384)][t(161)]();return/android/i[t(219)](e)}();function mt(){const t=["safari","save","noteOn","file","version","msFullscreenElement","-ms-user-select",";base64","port","type","touchend","2995HcmmUO","crossOrigin","memory","rgba(0,0,0,0)","Bytes","application/vnd.chromium.remoting-viewer","PressureObserver","src","onerror","visibility","length","pathname","round","data","useMSE","content","AudioData","contain","canConstructInDedicatedWorker","log","webm","TB/s","ALAW","getHours","getDate","mozGetUserMedia","application/hwepass2001.installepass2001","29199gSuiGl","userAgent","top","pointer-events: none !important; display: block !important","msGetUserMedia","charCodeAt","6143912kMgWet","pow","mediaDevices","#000","message","setUint32","pageY","data-","[object Number]","getContext","srcElement","{y}-{m}-{d} {h}:{i}:{s}","location",'video/mp4; codecs="',"getMonth","addModule","children","set","fillText","EB/s","createBuffer","application/mozilla-npqihooquicklogin","Module","toDataURL","100","destination","hasAudio","QQBrowser","documentElement","lineWidth","isConfigSupported","opacity","win32","hev1.1.6.L120.90","useWCS","mimeTypes","buffer","right","substr","f32-planar","target","win64","data:","error","strokeStyle","innerHTML",'"production"',"filter","webkitGetUserMedia","none","video","hash","function","MediaStream","NaN","backgroundColor","MB/s","image/png","mouseup","close","dataset","true","object","application/360softmgrplugin","ended","assign","strokeRect","craNut","quality","mousemove","sps","0 KB/s","setInt16","height","join","imageSmoothingEnabled","MULAW","MediaSource","left","hev4","shadowRoot","high","setAttribute","clientY","bottom","then","href","getFullYear","user-select","container","MediaStreamTrackGenerator","document","max","Firefox","fontSize","navigator","2LGRMAJ","sequenceHeader","getPropertyValue","setUint8","initEvent","isTypeSupported","min","PB/s","Instance","push","Edge","click","toLowerCase","toString","5013740MuSiTv","getUint8","-webkit-user-select","100%","apply","moz-webgl","createBufferSource","fromCharCode","protocol","canPlayType","touches","appendChild","not compiled with thread support","webkit-3d","2096570StpOjd","VideoEncoder is not supported","Opera","text","format","webkitFullscreenElement","setInt32","clientX","VideoEncoder.isConfigSupported is not a function","string","restore","stringify","borderStyle","search","floor","19471236rNiBFt","6246hKHSFZ","rect","green yuv","360SE","hostname","undefined","green","-webkit-touch-callout","imageSmoothingQuality","px Arial","split","resume","absolute","iFrame","ManagedMediaSource","width","trim","createObjectURL","createEvent","fmt ","ZB/s","Reserved SBR extensions is not implemented","ActiveXObject","firefox","dispatchEvent","subarray","test","11UURuMJ","parse",'"2.0.0"',"VideoEncoder.isConfigSupported() result is not supported","360EE","not compiled with thread support, using thread emulation","pps","body","textAlign","chrome","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","148yGspqq","keys","canvas","paused","clearRect","style","copyright","setInt8","URL","prototype","Safari","MouseEvents","xxxx","scrollLeft","getMinutes","status","9JIswdF","display","color","transferControlToOffscreen",'"9-20-2024"',"application/javascript","webgl2","getDay","html","start","revokeObjectURL","call","KB/s","toFixed","fillStyle","audioWorklet","hev","requestVideoFrameCallback","map","WAVE","validate","0 Bytes","host","block","repeat","opera","readAsArrayBuffer","fullscreenElement","mseDecodeAudio","origin","webgl","drawImage","WebGLRenderingContext","hev5","putImageData","If you want to help, upload a sample of this file to","YB/s","Edg","getParameter","borderWidth","setUint16","getAttribute","replace","getTime","h264","angle","removeChild","Worker","event","VideoFrame","download","attachShadow","https:","match","byteLength","now","img","substring","slice","setHours","indexOf","performance","-o-user-select","keyFrame","forEach","experimental-webgl","random","Chrome","hev2","onload","nLp","font","localhost",'"development"',"pageX","VideoDecoder","image","div","atob","163963SyJLRx","gpu","AudioDecoder","vps","touchmove","demuxUseWorker","edge","createTextNode","hev3","solid","charAt","result","fontFamily","-moz-user-select","WebGL2RenderingContext","application/asx","open","createElement","supported"];return(mt=function(){return t})()}function gt(t){const e=st;let s=St(t[e(415)])&&(t[e(370)]||t.useWCS&&!t.useOffscreen)&&St(t[e(331)]);return!!(St(s)&&t[e(370)]&&t[e(275)]&&St(t.demuxUseWorker))||(!!(St(s)&&t[e(423)]&&t.wcsDecodeAudio)||s)}function yt(t){const e=st;const s=t.toString()[rt(209)]().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1],i=new Blob([s],{type:e(252)});return URL[e(210)](i)}function bt(t){return yt(t)}function It(t){t.close()}function wt(){const t=st;return window[t(401)].protocol===t(299)||window[t(401)][t(197)]===t(319)}function Et(t){const e=st,s=Object[e(240)][e(162)];return function(t){switch(s[e(258)](t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:try{return t instanceof Error}catch(t){return!1}}}(t)?t[e(393)]:null==t?"":typeof t===e(451)?JSON[e(188)](t,null,2):String(t)}function kt(){return function(t){const e=st;let s="";if("object"==typeof t)try{s=JSON[e(188)](t),s=JSON[e(221)](s)}catch(e){s=t}else s=t;return s}(W)}function Ct(t){return!0===t||t===st(450)}function St(t){return!0!==t&&t!==st(450)}const Bt=vt;function vt(t,e){const s=Rt();return(vt=function(t,e){return s[t-=106]})(t,e)}!function(t,e){const s=vt,i=t();for(;;)try{if(746841===-parseInt(s(111))/1+-parseInt(s(117))/2*(-parseInt(s(123))/3)+parseInt(s(115))/4+parseInt(s(110))/5*(parseInt(s(112))/6)+-parseInt(s(114))/7*(parseInt(s(118))/8)+parseInt(s(109))/9+-parseInt(s(119))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Rt);class Tt{constructor(t){const e=vt;this[e(116)]=[],this[e(108)]=this[e(108)][e(126)](this),this[e(107)]=t}[Bt(108)](t,e,s){const i=Bt;let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)return;if(Array[i(121)](e))return e.map((e=>this.proxy(t,e,s,r)));t[i(113)](e,s,r);const o=()=>{const o=i;typeof t[o(124)]===st(441)&&t[o(124)](e,s,r)};return this[i(116)].push(o),o}[Bt(122)](){const t=Bt;this[t(107)][t(120)](t(106),t(122)),this[t(116)][t(125)]((t=>t())),this[t(116)]=[]}}function Rt(){const t=["bind","Events","master","proxy","1658061XxfQPt","513465jgeRqf","573135dcFIqy","66LKbGIy","addEventListener","2317EAomrh","2881680zdhDGI","destroys","423530JRMPzo","28352IkWmUM","1765270JEyZLo","debugLog","isArray","destroy","9QVrUNL","removeEventListener","forEach"];return(Rt=function(){return t})()}function Pt(t,e){const s=Dt();return(Pt=function(t,e){return s[t-=234]})(t,e)}function Dt(){const t=["120rYJsYr","debugLog","41573tQZhWI","126vevyGS","forEach","548892iXqLxH","2355uSfKic","audioPlayer","34SlBojg","3052jDrQAY","loaded","689656XfsGne","loading","audioPlayer event error","5774208ghwGdT","4762xvKpGM","30IATESM","2568LOThCQ","_opt","audioPlayer events","debug"];return(Dt=function(){return t})()}!function(t,e){const s=Pt,i=t();for(;;)try{if(104057===parseInt(s(247))/1*(parseInt(s(254))/2)+parseInt(s(242))/3*(-parseInt(s(248))/4)+-parseInt(s(245))/5*(-parseInt(s(235))/6)+-parseInt(s(241))/7*(-parseInt(s(239))/8)+-parseInt(s(244))/9*(-parseInt(s(234))/10)+parseInt(s(250))/11+-parseInt(s(253))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Dt);var Mt=t=>{const e=Pt,s=e(246);t.on(S.decoderWorkerInit,(()=>{const i=e;t[i(240)](s,"listen decoderWorkerInit and set loaded true"),t[i(249)]=!0})),t.on(S.play,(()=>{t[e(251)]=!1})),t[e(236)][e(238)]&&(Object.keys(S)[e(243)]((e=>{t.on(S[e],(s=>{const i=Pt;t[i(240)](i(237),S[e],s)}))})),Object.keys(T).forEach((e=>{t.on(T[e],(s=>{const i=Pt;t.debugLog(i(252),T[e],s)}))})))};const _t=Wt;function Wt(t,e){const s=Lt();return(Wt=function(t,e){return s[t-=173]})(t,e)}function Lt(){const t=["status","debugWarn","658737QaIpYR","kBps"," and emit error and next abort()","assign","_requestAbort","indexOf","fetchError","abort","reader.read() and this._requestAbort is true so return","not support WritableStream and use getReader() to read stream","headers","_times","abortError","fetch","writableStream.write() and this._requestAbort is true so return","writableStream","complete","buffering","FetchStream","getReader","idle","abortError2","AbortError","close writableStream success","1561GtnqeJ","name","startStreamRateInterval","_closeWritableStream","destroy","_status","abortController","streamRate","aborted","580688hGjwpI","debugLog","1404nxwXEL","dispatch","init","streamRateInterval","signal","cancel","string","431830WRGAhF","streamStart","17676WmzfFW","pipeTo",'" string so return',"315370FUISlQ","220lTovwm","streamEnd","then","emit","debugError","off","1dwNenv","locked","res.body.pipeTo() error","byteLength","2250KDMVdR","writableStream.write() and this.abortController.signal.aborted so return","fetch done","fetch response status is ","close","destroy and writableStream.close()","playing","catch","stopStreamRateInterval","streamSuccess","player","reader.read() and this.abortController.signal.aborted so return","abortController.abort() success","toString","getStreamType","7856FXmDdw","length",'writableStream.write() and value is "'," and ok is ","use WritableStream() to read stream","TAG_NAME","body"];return(Lt=function(){return t})()}!function(t,e){const s=Wt,i=t();for(;;)try{if(121934===parseInt(s(179))/1*(parseInt(s(249))/2)+-parseInt(s(251))/3+parseInt(s(240))/4+parseInt(s(183))/5*(parseInt(s(242))/6)+parseInt(s(231))/7*(parseInt(s(198))/8)+parseInt(s(207))/9+parseInt(s(173))/10*(-parseInt(s(254))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Lt);class Nt extends r{constructor(t){const e=Wt;super(),this[e(193)]=t,this[e(203)]=e(225),this[e(189)]=!1,this._requestAbort=!1,this[e(236)]=L[e(227)],this[e(222)]=null,this.abortController=new AbortController,this.streamRate=at((s=>{const i=e;t[i(176)](S[i(208)],(s/1024).toFixed(2))})),this[e(245)]=null,t.debugLog(this[e(203)],e(244))}async[_t(235)](){const t=_t;return this.abort(),await this[t(234)](),this[t(178)](),this[t(236)]=L[t(227)],this[t(238)]=null,this[t(191)](),this[t(193)].debugLog(this.TAG_NAME,"destroy"),!0}[_t(233)](){const t=_t;this.stopStreamRateInterval(),this[t(245)]=setInterval((()=>{const e=t;this[e(238)]&&this[e(238)](0)}),1e3)}stopStreamRateInterval(){const t=_t;this[t(245)]&&(clearInterval(this[t(245)]),this[t(245)]=null)}async[_t(234)](){const t=_t;if(this.writableStream&&St(this.writableStream[t(180)]))try{await this[t(222)].close(),this[t(222)]=null,this[t(193)][t(241)](this[t(203)],t(230))}catch(e){this[t(193)][t(241)](this[t(203)],t(188),e)}}fetchStream(t){const e=_t;let s=arguments[e(199)]>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:i}=this[e(193)];this[e(193)][e(218)][e(250)]=ot();const r=Object[e(210)]({signal:this[e(237)].signal},{headers:s[e(217)]||{}});fetch(t,r)[e(175)]((t=>{const s=e;if(this[s(211)])return this._status=L[s(227)],void t[s(204)][s(247)]();if(!function(t){const e=st;return t.ok&&t[e(246)]>=200&&t[e(246)]<=299}(t))return this[s(193)][s(177)](this[s(203)],s(186)+t[s(205)]+" and ok is "+t.ok+s(209)),this[s(214)](),void this[s(176)](T[s(213)],s(186)+t[s(205)]+s(201)+t.ok);if(this.emit(S[s(192)]),this.startStreamRateInterval(),typeof WritableStream!==st(198))this[s(193)][s(241)](this[s(203)],s(202)),this[s(222)]=new WritableStream({write:t=>{const e=s;return this[e(237)]&&this[e(237)][e(246)]&&this[e(237)][e(246)][e(239)]?(this[e(193)].debugLog(this.TAG_NAME,e(184)),void(this._status=L[e(223)])):Ct(this[e(211)])?(this[e(193)][e(241)](this[e(203)],e(221)),this[e(236)]=L.complete,void this[e(214)]()):typeof t!==e(248)?(this._status=L[e(224)],this[e(238)]&&this.streamRate(t[e(182)]),i[e(243)](t)):void this[e(193)][e(206)](this.TAG_NAME,e(200)+t+e(253))},close:()=>{const t=s;this._status=L[t(223)],i[t(187)](),this.emit(S[t(174)],"fetch done")},abort:t=>{const e=s;if(this[e(237)]&&this[e(237)][e(246)]&&this.abortController.signal.aborted)return this.player.debugLog(this[e(203)],"writableStream.abort() and this.abortController.signal.aborted so return"),void(this[e(236)]=L[e(223)]);i[e(187)]();const r=t.toString();-1===r[e(212)](M.abortError)&&-1===r[e(212)](M[e(228)])&&t.name!==M[e(214)]&&(this[e(214)](),this[e(176)](T.fetchError,t))}}),t[s(204)][s(252)](this[s(222)]).catch((t=>{const e=s;t[e(232)]!==e(229)&&this.player.debugLog(this.TAG_NAME,e(181),t[e(232)],t[e(196)]())}));else{this[s(193)][s(241)](this[s(203)],s(216));const e=t[s(204)][s(226)](),r=()=>{e.read().then((t=>{const e=Wt;let{done:s,value:o}=t;return s?(this[e(236)]=L[e(223)],i[e(187)](),void this[e(176)](S[e(174)],e(185))):this[e(237)]&&this[e(237)][e(246)]&&this.abortController[e(246)][e(239)]?(this.player[e(241)](this[e(203)],e(194)),void(this[e(236)]=L[e(223)])):Ct(this[e(211)])?(this[e(193)].debugLog(this[e(203)],e(215)),this._status=L[e(223)],void this[e(214)]()):void("string"!=typeof o?(this[e(236)]=L[e(224)],this.streamRate&&this[e(238)](o[e(182)]),i.dispatch(o),r()):this[e(193)].debugWarn(this[e(203)],'reader.read() and value is "'+o+e(253)))})).catch((t=>{const e=Wt;if(this[e(237)]&&this[e(237)].signal&&this.abortController[e(246)][e(239)])return this[e(193)].debugLog(this[e(203)],"reader.read().catch() and this.abortController.signal.aborted so return"),void(this[e(236)]=L.complete);i[e(187)]();const s=t.toString();-1===s[e(212)](M[e(219)])&&-1===s[e(212)](M[e(228)])&&t[e(232)]!==M[e(214)]&&(this[e(214)](),this[e(176)](T[e(213)],t))}))};r()}}))[e(190)]((t=>{const s=e;this[s(237)]&&this[s(237)][s(246)]&&this[s(237)][s(246)][s(239)]||t[s(232)]!==s(229)&&(i[s(187)](),this.abort(),this[s(176)](T[s(213)],t))}))}[_t(214)](){const t=_t;if(this[t(211)]=!0,this.abortController)try{this[t(237)].abort(),this[t(237)]=null,this[t(193)].debugLog(this[t(203)],t(195))}catch(e){this[t(237)]=null,this[t(193)].debugLog(this[t(203)],"abortController.abort() error",e)}}[_t(197)](){return a[_t(220)]}}function Qt(){function t(t){return!0===t||"true"===t}const e="The user aborted a request",s="AbortError",i="AbortError",r="fetch",o="destroy",n="destroyEnd",A="buffer",a="fetchError",h="fetchClose",c="fetchSuccess",u="idle",l="buffering",d="complete";let p=new class{constructor(){this._requestAbort=!1,this._status=u,this.writableStream=null,this.isChrome=!1,this.abortController=new AbortController}destroy(){var t;this.abort(),this.writableStream&&(!1===(t=this.writableStream.locked)||"false"===t)&&this.writableStream.close().catch((t=>{})),this.writableStream=null,this._status=u}fetchStream(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Object.assign({signal:this.abortController.signal},{headers:o.headers||{}});fetch(r,n).then((r=>{if(this._requestAbort)return this._status=u,void r.body.cancel();if(!function(t){return t.ok&&t.status>=200&&t.status<=299}(r))return this.abort(),void postMessage({cmd:a,message:`fetch response status is ${r.status} and ok is ${r.ok}`});if(postMessage({cmd:c}),"undefined"!=typeof WritableStream)this.writableStream=new WritableStream({write:e=>{if(!(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted))return t(this._requestAbort)?(this._status=d,void this.abort()):void("string"!=typeof e&&(this._status=l,postMessage({cmd:A,buffer:e},[e.buffer])));this._status=d},close:()=>{this._status=d,postMessage({cmd:h})},abort:t=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=d);const r=t.toString();-1===r.indexOf(e)&&-1===r.indexOf(s)&&t.name!==i&&(this.abort(),postMessage({cmd:a,message:t.toString()}))}}),r.body.pipeTo(this.writableStream).catch((t=>{}));else{const o=r.body.getReader(),n=()=>{o.read().then((e=>{let{done:s,value:i}=e;return s?(this._status=d,void postMessage({cmd:h})):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?void(this._status=d):t(this._requestAbort)?(this._status=d,void this.abort()):void("string"!=typeof i&&(this._status=l,postMessage({cmd:A,buffer:i},[i.buffer]),n()))})).catch((t=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=d);const r=t.toString();-1===r.indexOf(e)&&-1===r.indexOf(s)&&t.name!==i&&(this.abort(),postMessage({cmd:a,message:t.toString()}))}))};n()}})).catch((t=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==t.name&&(this.abort(),postMessage({cmd:a,message:t.toString()}))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null}catch(t){this.abortController=null}}};self.onmessage=e=>{const s=e.data;switch(s.cmd){case r:p.isChrome=t(s.isChrome),p.fetchStream(s.url,JSON.parse(s.options));break;case o:p.destroy(),p=null,postMessage({cmd:n})}}}function Ht(){const t=["emit","772cikrRU","3646152xAfJDF","509709csHeaE","send close but not response and destroy directly","destroy","send destroy","kBps","debugLog","off","playing","init","41335OJmwWS","onmessage","terminate","1976725rLEQOP","_stopStreamRateInterval","TAG_NAME","770wDOmkN","fetchWorker","824BIXkvp","workerClearTimeout","revokeObjectURL","postMessage","streamRateInterval","destroyResolve","workerUrl","9057704KHRubZ","URL","decoderWorkerCloseTimeout","_destroy","toFixed","29223RbGmBP","114xcRzZh","streamRate","player"];return(Ht=function(){return t})()}function Ot(t,e){const s=Ht();return(Ot=function(t,e){return s[t-=425]})(t,e)}!function(t,e){const s=Ot,i=t();for(;;)try{if(626357===-parseInt(s(443))/1*(-parseInt(s(426))/2)+-parseInt(s(445))/3+-parseInt(s(444))/4+parseInt(s(457))/5+-parseInt(s(439))/6*(-parseInt(s(454))/7)+parseInt(s(433))/8+parseInt(s(438))/9*(-parseInt(s(460))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ht);class jt extends r{constructor(t){const e=Ot;super(),this.TAG_NAME="FetchStreamWorker",this.player=t,this[e(452)]=!1,this[e(425)]=null,this[e(427)]=null,this[e(432)]=null,this[e(431)]=null,this[e(435)]=null,this[e(440)]=at((s=>{const i=e;t[i(442)](S[i(449)],(s/1024)[i(437)](2))})),this[e(430)]=null,this._initFetchWorker(),t.debugLog(this[e(459)],e(453))}destroy(){return new Promise(((t,e)=>{const s=Ot;this[s(425)]?(this[s(441)][s(450)](this[s(459)],s(448)),this[s(425)][s(429)]({cmd:k[s(447)]}),this[s(431)]=t,this[s(435)]=setTimeout((()=>{const e=s;this[e(441)].debugWarn(this[e(459)],e(446)),this.decoderWorkerCloseTimeout&&(clearTimeout(this[e(435)]),this.decoderWorkerCloseTimeout=null),this[e(436)](),setTimeout((()=>{t()}),0)}),2e3)):(this._destroy(),setTimeout((()=>{t()}),0))}))}_destroy(){const t=Ot;this[t(451)](),this[t(435)]&&(clearTimeout(this.decoderWorkerCloseTimeout),this[t(435)]=null),this[t(432)]&&(window[t(434)][t(428)](this[t(432)]),this[t(432)]=null),this[t(427)]&&(clearTimeout(this[t(427)]),this[t(427)]=null),this[t(458)](),this[t(440)]=null,this[t(425)]&&(this[t(425)][t(456)](),this[t(425)][t(455)]=null,this[t(425)]=null),this.destroyResolve&&(this[t(431)](),this[t(431)]=null),this[t(441)].debugLog(this[t(459)],t(447))}_initFetchWorker(){let t=bt(Qt);const e=new Worker(t);this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),y),e.onmessage=t=>{const{demux:e}=this.player,s=t.data;switch(s.cmd){case k.buffer:this.streamRate&&this.streamRate(s.buffer.byteLength),e.dispatch(s.buffer);break;case k.fetchSuccess:this.emit(S.streamSuccess),this._startStreamRateInterval();break;case k.fetchClose:e.close(),this.emit(S.streamEnd,"fetch done");break;case k.fetchError:e.close(),this.emit(T.fetchError,s.message);break;case k.destroyEnd:this._destroy()}},this.fetchWorker=e}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}fetchStream(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player._times.streamStart=ot(),this.fetchWorker.postMessage({cmd:k.fetch,url:t,isChrome:pt(),options:JSON.stringify(e)})}getStreamType(){return a.fetch}}function Gt(){const t=["socket close and code is ","websocket send message socket is null","kBps","websocket handle message demux is null so return","socket close and requestAbort is true","error","65383jrehec","open","code","WebsocketStream","binaryType","string","byteLength","_createWebSocket","6SfmGlN","debugWarn","toFixed","socket close abnormally and code is ","debugError","streamRate","player","socket","Client disconnecting","websocketClose","data","onclose","38955lqtPAG","612EaOSib","sendMessage","8bAUWMX","push","dispatch","websocket error",'websocket handle message message is "',"socketDestroyFnList","destroy","wsUrl","socket open","close","socket close and status is error, so return","streamSuccess","getStreamType","readyState","_closeWebSocket() socket is null or socket status is ","4400416lfJHER","streamEnd","requestAbort","websocketOpen","stopStreamRateInterval","off","websocket send message error and socket status is ","arraybuffer","startStreamRateInterval","TAG_NAME","message","websocket","1319391eXZPAR","2392115aLBMFk","843085JVyQJN","isDestroyedOrClosed","socketStatus","streamStart","_handleMessage","10gJwAJm","socket error","onopen","fetchStream","emit","websocket user aborted","isTrusted",'" string so return',"init","send","notConnect","1593357MpdgmK","socket error:","websocketError","debugLog","_closeWebSocket","streamRateInterval"];return(Gt=function(){return t})()}function Ft(t,e){const s=Gt();return(Ft=function(t,e){return s[t-=445]})(t,e)}const xt=Ft;!function(t,e){const s=Ft,i=t();for(;;)try{if(348750===parseInt(s(455))/1*(parseInt(s(463))/2)+-parseInt(s(523))/3+-parseInt(s(478))/4*(-parseInt(s(507))/5)+parseInt(s(476))/6*(-parseInt(s(475))/7)+parseInt(s(493))/8+parseInt(s(505))/9*(parseInt(s(512))/10)+parseInt(s(506))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Gt);class Yt extends r{constructor(t){const e=Ft;super(),this.player=t,this[e(502)]=e(458),this.socket=null,this[e(509)]=R[e(522)],this[e(485)]=null,this[e(495)]=!1,this[e(483)]=[],this.streamRate=at((s=>{const i=e;t[i(516)](S[i(451)],(s/1024)[i(465)](2))})),this.streamRateInterval=null,t.debugLog(this[e(502)],e(520))}async[xt(484)](){const t=xt;this[t(447)](),this.stopStreamRateInterval(),this[t(485)]=null,this[t(498)](),this[t(469)][t(446)](this[t(502)],t(484))}[xt(501)](){const t=xt;this[t(497)](),this[t(448)]=setInterval((()=>{const e=t;this[e(468)]&&this[e(468)](0)}),1e3)}[xt(497)](){const t=xt;this[t(448)]&&(clearInterval(this[t(448)]),this.streamRateInterval=null)}[xt(462)](t){const e=xt,s=this.player,{events:{proxy:i},demux:r}=s,o=t.protocols||[];this.socket=new WebSocket(this[e(485)],o),this[e(470)][e(459)]=e(500);const n=i(this.socket,e(456),(()=>{const t=e;this[t(469)].debugLog(this.TAG_NAME,t(486)),this[t(509)]=R[t(456)],this.emit(S[t(489)]),this.player[t(516)](S[t(496)]),this[t(501)]()})),A=i(this.socket,e(503),(t=>{const s=e;typeof t[s(473)]!==s(460)?(this.streamRate&&this[s(468)](t[s(473)][s(461)]),this[s(511)](t.data)):this[s(469)][s(464)](this[s(502)],s(482)+t[s(473)]+s(519))})),a=i(this.socket,e(487),(t=>{const s=e;if(!this[s(469)][s(508)]())return Ct(this[s(495)])?(this[s(495)]=!1,void this[s(469)].debugLog(this.TAG_NAME,s(453))):void(this.socketStatus!==R.error?(this[s(469)][s(446)](this[s(502)],s(449)+t[s(457)]),1006===t[s(457)]&&this[s(469)][s(467)](this.TAG_NAME,s(466)+t.code),r.close(),this[s(509)]=R[s(487)],this[s(469)][s(516)](S[s(472)],t.code),this.emit(S[s(494)],t[s(457)])):this[s(469)][s(446)](this.TAG_NAME,s(488)))})),h=i(this[e(470)],e(454),(t=>{const s=e;if(this[s(469)][s(508)]())return;if(Ct(this[s(495)]))return this.requestAbort=!1,void this.player[s(446)](this[s(502)],"socket close and requestAbort is true");this.player[s(467)](this[s(502)],s(513),t),this[s(509)]=R[s(454)];const i=t[s(518)]?s(517):s(481);this[s(516)](T[s(445)],i),r[s(487)](),this.player[s(446)](this[s(502)],s(524),i)}));this.socketDestroyFnList[e(479)](n,A,a,h)}[xt(447)](){const t=xt;!this.socket||0!==this[t(470)].readyState&&1!==this[t(470)].readyState?this.socket&&this.player[t(446)](this[t(502)],t(492)+(this[t(470)]&&this[t(470)][t(491)])):(this[t(495)]=!0,this.socket[t(487)](1e3,t(471))),this.socketDestroyFnList.forEach((t=>t())),this[t(470)][t(514)]=null,this[t(470)].onmessage=null,this[t(470)][t(474)]=null,this[t(470)].onerror=null,this.socket=null,this[t(509)]=R.notConnect,this[t(468)]=null}[xt(511)](t){const e=xt,{demux:s}=this[e(469)];s?s[e(480)](t):this[e(469)][e(464)](this.TAG_NAME,e(452))}[xt(515)](t,e){const s=xt;this[s(469)]._times[s(510)]=ot(),this[s(485)]=t,this[s(462)](e)}[xt(477)](t){const e=xt;this[e(470)]?this[e(509)]===R.open?this.socket[e(521)](t):this[e(469)][e(467)](this.TAG_NAME,e(499)+this[e(509)]):this[e(469)].debugError(this.TAG_NAME,e(450))}[xt(490)](){return a[xt(504)]}}function Vt(t,e){const s=zt();return(Vt=function(t,e){return s[t-=485]})(t,e)}function Ut(){const t=Vt;function e(t){return!0===t||t===Vt(498)}const s={fetch:"fetch",sendMessage:"sendMessage",destroy:t(526),destroyEnd:t(490),buffer:t(523),websocketError:t(493),websocketClose:t(531),websocketOpen:t(520)};class i{constructor(){const e=t;this[e(495)]=null,this[e(497)]=null,this[e(500)]=!1}[t(526)](){const e=t;this.socket&&(0===this[e(495)][e(517)]||1===this.socket[e(517)])&&(this.requestAbort=!0,this[e(495)][e(518)](1e3,e(507))),this[e(495)][e(515)]=null,this.socket.onclose=null,this[e(495)][e(527)]=null,this[e(495)][e(512)]=null,this[e(495)]=null}[t(503)](e,s){const i=t;this[i(497)]=e,this[i(510)](s)}[t(491)](e){const s=t;this[s(495)]&&1===this[s(495)].readyState&&this[s(495)][s(492)](e)}_createWebSocket(e){const s=t,i=e.protocols||[];this[s(495)]=new WebSocket(this[s(497)],i),this.socket[s(485)]="arraybuffer",this[s(495)][s(515)]=this[s(508)].bind(this),this[s(495)].onclose=this._handleWebsocketClose[s(516)](this),this[s(495)][s(527)]=this._handleWebsocketError[s(516)](this),this[s(495)][s(512)]=this[s(506)][s(516)](this)}_handleWebsocketOpen(){postMessage({cmd:s[t(520)]})}[t(519)](i){const r=t;e(this[r(500)])?this[r(500)]=!1:postMessage({cmd:s[r(531)],code:i[r(522)]})}[t(525)](i){const r=t;e(this[r(500)])?this[r(500)]=!1:postMessage({cmd:s[r(493)],isTrusted:i[r(511)]})}[t(506)](e){const i=t;if(typeof e.data===i(513))return;const r=new Uint8Array(e[i(499)]);postMessage({cmd:s[i(523)],buffer:r},[r[i(523)]])}}let r=new i;self[t(512)]=e=>{const i=t,o=e.data;switch(o[i(521)]){case s.fetch:r[i(503)](o[i(496)],o[i(501)]);break;case s.destroy:r[i(526)](),r=null,postMessage({cmd:s.destroyEnd});break;case s[i(492)]:r[i(491)](o[i(489)])}}}function zt(){const t=["_handleWebsocketClose","websocketOpen","cmd","code","buffer","516079aCrtmI","_handleWebsocketError","destroy","onerror","48136qvLKtV","6CInpEY","20072WIxJYb","websocketClose","binaryType","2739880yBfJSZ","116146NXVSkA","14012207HEjjhd","message","destroyEnd","sendMessage","send","websocketError","1529318CuskMd","socket","url","wsUrl","true","data","requestAbort","options","12APJICq","fetchStream","235XbGXWV","false","_handleWebsocketMessage","Client disconnecting","_handleWebsocketOpen","153upeEQQ","_createWebSocket","isTrusted","onmessage","string","12TJiJFH","onopen","bind","readyState","close"];return(zt=function(){return t})()}!function(t,e){const s=Vt,i=t();for(;;)try{if(439889===parseInt(s(524))/1+parseInt(s(487))/2*(-parseInt(s(529))/3)+parseInt(s(528))/4*(-parseInt(s(504))/5)+parseInt(s(514))/6*(-parseInt(s(494))/7)+parseInt(s(530))/8*(parseInt(s(509))/9)+-parseInt(s(486))/10+-parseInt(s(488))/11*(-parseInt(s(502))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(zt);const qt=Jt;function Jt(t,e){const s=Xt();return(Jt=function(t,e){return s[t-=271]})(t,e)}function Xt(){const t=["revokeObjectURL","URL","send close but not response and destroy directly","emit","3426YAAVGu","_stopStreamRateInterval","streamRateInterval","kBps","3471210uKxQMb","168zadyyo","workerUrl","player","1rSgfpz","workerClearTimeout","TAG_NAME","destroy","websocketWorker","socketStatus","669782LAytWK","wsUrl","63SkrnGF","destroyResolve","499407QWdvQZ","2521800HgjZDT","1884296HzvhMW","streamRate","_initWebsocketWorker","63765RACFxX","toFixed","decoderWorkerCloseTimeout","debugLog","_destroy","_closeWebSocket","notConnect"];return(Xt=function(){return t})()}!function(t,e){const s=Jt,i=t();for(;;)try{if(305967===-parseInt(s(274))/1*(parseInt(s(280))/2)+parseInt(s(284))/3+parseInt(s(286))/4+parseInt(s(285))/5+parseInt(s(300))/6*(-parseInt(s(282))/7)+-parseInt(s(271))/8*(parseInt(s(289))/9)+-parseInt(s(304))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xt);class Zt extends r{constructor(t){const e=Jt;super(),this[e(273)]=t,this[e(276)]="WebsocketStreamWorker",this[e(281)]=null,this[e(279)]=R[e(295)],this[e(278)]=null,this[e(275)]=null,this.workerUrl=null,this[e(283)]=null,this[e(291)]=null,this[e(287)]=at((s=>{const i=e;t[i(299)](S[i(303)],(s/1024)[i(290)](2))})),this[e(302)]=null,this[e(288)](),this[e(273)][e(292)](this[e(276)],"init")}[qt(277)](){return new Promise(((t,e)=>{const s=Jt;this[s(278)]?(this[s(273)][s(292)](this[s(276)],"send destroy"),this[s(294)](),this[s(283)]=t,this[s(291)]=setTimeout((()=>{const e=s;this.player.debugWarn(this[e(276)],e(298)),this[e(291)]&&(clearTimeout(this[e(291)]),this[e(291)]=null),this[e(293)](),t()}),2e3)):(this[s(293)](),t())}))}_destroy(){const t=qt;this.off(),this[t(291)]&&(clearTimeout(this[t(291)]),this.decoderWorkerCloseTimeout=null),this[t(272)]&&(window[t(297)][t(296)](this[t(272)]),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this[t(275)]),this[t(275)]=null),this[t(301)](),this[t(287)]=null,this[t(278)]&&(this[t(278)].terminate(),this.websocketWorker.onmessage=null,this.websocketWorker=null),this[t(283)]&&(this.destroyResolve(),this[t(283)]=null),this.wsUrl=null,this[t(273)][t(292)](this.TAG_NAME,t(277))}[qt(288)](){let t=bt(Ut);const e=new Worker(t);this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),y),e.onmessage=t=>{const{demux:e}=this.player,s=t.data;switch(s.cmd){case C.buffer:this.streamRate&&this.streamRate(s.buffer.byteLength),e.dispatch(s.buffer);break;case C.websocketOpen:this.player.debugLog(this.TAG_NAME,"socket open"),this.socketStatus=R.open,this.emit(S.streamSuccess),this.player.emit(S.websocketOpen),this._startStreamRateInterval();break;case C.websocketClose:if(this.player.isDestroyedOrClosed())return;if(this.socketStatus===R.error)return void this.player.debugLog(this.TAG_NAME,"socket close and status is error, so return");this.player.debugLog(this.TAG_NAME,`socket close and code is ${s.code}`),1006===s.code&&this.player.debugError(this.TAG_NAME,`socket close abnormally and code is ${s.code}`),e.close(),this.socketStatus=R.close,this.player.emit(S.websocketClose,s.code),this.emit(S.streamEnd,s.code);break;case C.websocketError:if(this.player.isDestroyedOrClosed())return;this.player.debugError(this.TAG_NAME,"socket error"),this.socketStatus=R.error;const t=s.isTrusted?"websocket user aborted":"websocket error";this.emit(T.websocketError,t),e.close(),this.player.debugLog(this.TAG_NAME,"socket error:",t);break;case C.destroyEnd:this._destroy()}},this.websocketWorker=e}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_closeWebSocket(){this.websocketWorker&&this.websocketWorker.postMessage({cmd:C.destroy})}fetchStream(t,e){this.player._times.streamStart=ot(),this.wsUrl=t,this.websocketWorker&&this.websocketWorker.postMessage({cmd:C.fetch,url:t,options:e})}sendMessage(t){this.websocketWorker&&this.websocketWorker.postMessage({cmd:C.sendMessage,message:t})}getStreamType(){return a.websocket}}const Kt=$t;function $t(t,e){const s=te();return($t=function(t,e){return s[t-=474]})(t,e)}function te(){const t=["debugLog","init","hls","player","38QoVneu","26865EigOTn","_times","443073YmaFRt","streamSuccess","183249jGDZdJ","1039970oYINcg","catch","6047KkVGjv","getStreamType","257082OJFMch","HlsStream","destroy","then","2419872hySzaH","4GiNAeu","off","fetchStream","610wBcEDi","emit","loadSource","hlsError","loadSource success","6nWaPFw"];return(te=function(){return t})()}!function(t,e){const s=$t,i=t();for(;;)try{if(190392===-parseInt(s(488))/1*(-parseInt(s(480))/2)+-parseInt(s(483))/3*(parseInt(s(495))/4)+-parseInt(s(486))/5*(parseInt(s(475))/6)+-parseInt(s(490))/7+parseInt(s(494))/8+-parseInt(s(481))/9*(-parseInt(s(498))/10)+-parseInt(s(485))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(te);class ee extends r{constructor(t){const e=$t;super(),this[e(479)]=t,t[e(476)](e(491),e(477))}async[Kt(492)](){const t=Kt;return this[t(496)](),this[t(479)][t(476)](t(491),t(492)),!0}[Kt(497)](t){const e=Kt,{hlsDecoder:s,debug:i}=this[e(479)];this[e(479)][e(482)].streamStart=ot(),s[e(500)](t)[e(493)]((()=>{const t=e;this[t(479)][t(476)](t(491),t(474)),this[t(499)](S[t(484)])}))[e(487)]((t=>{const s=e;this[s(499)](T[s(501)],t)}))}[Kt(489)](){return a[Kt(478)]}}const se=re;function ie(){const t=["debugLog","getStreamType","5951925thXdLh","isWebrtcForM7S","2205453qrXvzt","883816MSZdHX","335182GiJUla","8754LrfHBo","player","loadSource error","init","length","WebrtcStream","webrctUrl","webrtc","/webrtc/play","emit","5747AXQpHd","off","fetchStream","34497rCPpQU","2ZuQnZy","15803150QZVDVw","_times","location","pathname","origin","2776PCGelc","destroy","webrtcError","indexOf","replace","streamStart","then","loadSource success"];return(ie=function(){return t})()}function re(t,e){const s=ie();return(re=function(t,e){return s[t-=157]})(t,e)}!function(t,e){const s=re,i=t();for(;;)try{if(701157===-parseInt(s(171))/1*(parseInt(s(191))/2)+parseInt(s(189))/3+-parseInt(s(190))/4+-parseInt(s(187))/5+-parseInt(s(157))/6*(parseInt(s(167))/7)+-parseInt(s(177))/8*(-parseInt(s(170))/9)+parseInt(s(172))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ie);class oe extends r{constructor(t){const e=re;super(),this[e(158)]=t,this.webrctUrl=null,t[e(185)](e(162),e(160))}async[se(178)](){const t=se;return this[t(163)]=null,this[t(168)](),this[t(158)].debugLog("WebrtcStream",t(178)),!0}[se(169)](t){const e=se;let s=arguments[e(161)]>1&&void 0!==arguments[1]?arguments[1]:{};const{webrtc:i,debug:r}=this[e(158)];if(this[e(158)][e(173)][e(182)]=ot(),this.webrctUrl=t[e(181)]("webrtc:",window[e(174)].protocol),this[e(158)][e(188)]()&&-1===this[e(163)][e(180)](e(165))){const s=new URL(this[e(163)]),i="/webrtc/play"+s[e(175)];this[e(163)]=s[e(176)]+i+s.search,this[e(158)].debugLog(e(162),"original url is "+t+", and new url is: "+this.webrctUrl)}i.loadSource(this[e(163)],s)[e(183)]((()=>{const t=e;this[t(158)][t(185)](t(162),t(184)),this[t(166)](S.streamSuccess)})).catch((t=>{const s=e;this.player.debugError(s(162),s(159),t),this[s(166)](T[s(179)],t)}))}[se(186)](){return a[se(164)]}}function ne(t,e){const s=Ae();return(ne=function(t,e){return s[t-=271]})(t,e)}function Ae(){const t=["streamRateInterval","webTransport","catch","streamRate","stopStreamRateInterval","_createWebTransport","581GWGGnH","ready","4bokgos","wtUrl","534tzrzSu","startStreamRateInterval","4703445YqnrzO","debugLog","24GYXzvl","streamSuccess","abort","_times","emit","readable","2fXBSHE","transport","debugWarn","316206PdYjYj","init","https:","off","close","7123370zHIhEW","WebTransportLoader","then","input","fetchStream","3285252LfobbI","_createWebTransport-ready","4505226jZwiOk","player","2501460hBnDhW"];return(Ae=function(){return t})()}const ae=ne;!function(t,e){const s=ne,i=t();for(;;)try{if(673377===-parseInt(s(305))/1*(parseInt(s(308))/2)+parseInt(s(284))/3+-parseInt(s(293))/4*(-parseInt(s(297))/5)+-parseInt(s(295))/6*(-parseInt(s(291))/7)+-parseInt(s(299))/8*(parseInt(s(280))/9)+parseInt(s(275))/10+-parseInt(s(282))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ae);class he extends r{constructor(t){const e=ne;super(),this[e(283)]=t,this[e(306)]=null,this.wtUrl=null,this[e(288)]=at((s=>{t[e(303)](S.kBps,(s/1024).toFixed(2))})),this.streamRateInterval=null,t[e(298)](e(276),e(271))}async destroy(){const t=ne;return this.abort(),this[t(273)](),this[t(283)][t(298)](t(276),"destroy"),!0}[ae(296)](){const t=ae;this[t(289)](),this[t(285)]=setInterval((()=>{this[t(288)]&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){const t=ae;this[t(285)]&&(clearInterval(this.streamRateInterval),this[t(285)]=null)}[ae(290)](){const t=ae,e=this.player,{debug:s,events:{proxy:i},demux:r}=e;try{this[t(306)]=new WebTransport(this.wtUrl),this[t(306)][t(292)][t(277)]((()=>{const e=t;this.emit(S[e(300)]),this[e(296)](),this[e(306)].createBidirectionalStream()[e(277)]((t=>{const s=e;t[s(304)].pipeTo(new WritableStream(r[s(278)]))}))}))[t(287)]((e=>{const s=t;this[s(283)][s(307)]("WebTransportLoader",s(281),e)}))}catch(e){this[t(283)].debugWarn("WebTransportLoader",t(290),e)}}[ae(279)](t){const e=ae;this[e(283)][e(302)].streamStart=ot(),this[e(294)]=t.replace(/^wt:/,e(272)),this[e(290)]()}[ae(301)](){const t=ae;if(this.transport)try{this.transport[t(274)](),this[t(306)]=null}catch(t){this.transport=null}}getStreamType(){return a[ae(286)]}}function ce(t,e){const s=ue();return(ce=function(t,e){return s[t-=276]})(t,e)}function ue(){const t=["1678275AXGJbP","fetch","15221097LLhBhw","46698RPdgZl","workUrl","1354342HItQrD","sendMessage","getStreamType","decoderWorker","debugLog","4QGKzhJ","websocket","worker","destroy","init","3462067fgmUTx","_times","off","workerFetchStream","streamStart","4784920MbjZyx","WorkerStream","fetchStream","player","460sKdHvH","protocol","228277EtNEDP","workerSendMessage","length"];return(ue=function(){return t})()}const le=ce;!function(t,e){const s=ce,i=t();for(;;)try{if(386142===parseInt(s(277))/1+parseInt(s(285))/2+parseInt(s(280))/3*(parseInt(s(290))/4)+parseInt(s(304))/5*(parseInt(s(283))/6)+parseInt(s(295))/7+-parseInt(s(300))/8+-parseInt(s(282))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ue);class de extends r{constructor(t){const e=ce;super(),this[e(303)]=t,this[e(284)]=null,t[e(289)](e(301),e(294))}async[le(293)](){const t=le;return this.workUrl=null,this[t(297)](),this[t(303)].debugLog(t(301),t(293)),!0}[le(286)](t){const e=le;this[e(303)][e(288)][e(278)](t)}[le(302)](t){const e=le;let s=arguments[e(279)]>1&&void 0!==arguments[1]?arguments[1]:{};this[e(284)]=t,this[e(303)][e(296)][e(299)]=ot(),this[e(303)][e(288)][e(298)](t,s)}[le(287)](){const t=le,e=this[t(303)]._opt[t(276)]===n[t(281)]?a.fetch:a[t(291)];return a[t(292)]+" "+e}}function pe(){const t=["_times","334783URbfhZ","init","loadSource","612GmzBxo","aliyunRtcError","3032616qrOOBK","2463765atkDRh","debugError","2HEiKjP","debugLog","AliyunRtcLoader","emit","54103NQqZPx","32780hlDnKm","loadSource success","7897010AzAImt","4linZLU","destroy","3762WHLNsu","player","TAG_NAME","loadSource error","1372870oJDtkF","fetchStream","streamSuccess","off","getStreamType"];return(pe=function(){return t})()}const fe=me;function me(t,e){const s=pe();return(me=function(t,e){return s[t-=294]})(t,e)}!function(t,e){const s=me,i=t();for(;;)try{if(727039===-parseInt(s(298))/1*(parseInt(s(306))/2)+parseInt(s(304))/3*(parseInt(s(314))/4)+-parseInt(s(320))/5+parseInt(s(301))/6*(parseInt(s(310))/7)+parseInt(s(303))/8+parseInt(s(316))/9*(-parseInt(s(311))/10)+parseInt(s(313))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pe);class ge extends r{constructor(t){const e=me;super(),this[e(318)]=e(308),this.player=t,t[e(307)](this[e(318)],e(299))}async[fe(315)](){const t=fe;return this[t(295)](),this[t(317)][t(307)](this.TAG_NAME,t(315)),!0}[fe(321)](t){const e=fe,{aliyunRtcDecoder:s}=this[e(317)];this[e(317)][e(297)].streamStart=ot(),s[e(300)](t).then((()=>{const t=e;this[t(317)][t(307)](this[t(318)],t(312)),this[t(309)](S[t(294)])})).catch((t=>{const s=e;this[s(317)][s(305)](this.TAG_NAME,s(319),t),this[s(309)](T[s(302)],t)}))}[fe(296)](){return a.aliyunRtc}}const ye=Ie;function be(){const t=["_times","fetchStream","getStreamType","39876vcPpNr","log","player","Mp4StreamLoader","loadSource","470782SNLcvE","debugLog","destroy","playVodMp4Error","47559dYBowi","5476240qgeFvv","init","off","18780OdiAav","emit","1093880neYAdn","TAG_NAME","catch","debug","streamStart","then","678126NPlmyw"];return(be=function(){return t})()}function Ie(t,e){const s=be();return(Ie=function(t,e){return s[t-=493]})(t,e)}!function(t,e){const s=Ie,i=t();for(;;)try{if(180705===parseInt(s(503))/1+-parseInt(s(508))/2+-parseInt(s(512))/3+-parseInt(s(493))/4+-parseInt(s(516))/5+-parseInt(s(499))/6+parseInt(s(513))/7)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(be);class we extends r{constructor(t){const e=Ie;super(),this[e(494)]=e(506),this[e(505)]=t,t[e(496)][e(504)](this[e(494)],e(514))}[ye(510)](){const t=ye;this[t(515)](),this.player[t(496)].log(this[t(494)],t(510))}[ye(501)](t){const e=ye,{mp4Decoder:s}=this.player;this.player[e(500)][e(497)]=ot(),s[e(507)](t)[e(498)]((()=>{const t=e;this.player[t(509)](this[t(494)],"loadSource success"),this.emit(S.streamSuccess)}))[e(495)]((t=>{const s=e;this[s(517)](T[s(511)],t)}))}[ye(502)](){return a.mp4}}const Ee=Ce;function ke(){const t=["4qhKasQ","4359294OkaLYR","4448064rGMZiI","playVod","2144664ifGFDE","getLoaderFactory","7fnwPpV","player","2qxfCkZ","1920843fLtPyO","2854575DDtnMG","webTransport","324719ckfCNL","webrtc","aliyunRtc","playerAudio","_opt","8463560ZaqMCt"];return(ke=function(){return t})()}function Ce(t,e){const s=ke();return(Ce=function(t,e){return s[t-=133]})(t,e)}!function(t,e){const s=Ce,i=t();for(;;)try{if(368716===-parseInt(s(150))/1*(-parseInt(s(146))/2)+parseInt(s(147))/3*(-parseInt(s(138))/4)+-parseInt(s(148))/5+-parseInt(s(139))/6*(-parseInt(s(144))/7)+-parseInt(s(140))/8+parseInt(s(142))/9+parseInt(s(137))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ke);class Se{constructor(t){const e=Ce;return new(Se[e(143)](t[e(136)]))(t)}static[Ee(143)](t){const e=Ee,{protocol:s,useWasm:i,playType:r,useWCS:o,useMSE:A,demuxUseWorker:a,mainThreadFetchUseWorker:c,isFmp4:u}=t;return r===h[e(141)]&&u?we:s===n.hls?ee:s===n[e(133)]?oe:s===n[e(149)]?he:s===n[e(134)]?ge:s===n.fetch?r===h[e(135)]?de:r===h.player?i&&!gt(t)||a?de:c?jt:Nt:o||A?a?de:c?jt:Nt:de:s===n.websocket?r===h[e(135)]?de:r===h[e(145)]?i&&!gt(t)||a?de:c?Zt:Yt:o||A?a?de:c?Zt:Yt:de:void 0}}const Be=Te;function ve(){const t=["debugLog","mediaStreamAudioDestinationNode","sampleRate","isStateRunning","createBufferSource","hasInitScriptNode","audioContext","state","2458695QmPIiz","hasAudio","play","init","emit","560982BTDVVu","connect","audioContextContextResumeLock","start","clear","scriptNode","25TnxjlJ","createMediaStreamDestination","onaudioprocess","depth","send close and wait 10ms destroy directly","setVolume","value","201306WAfRJY","mute","running","AudioContext","disconnect","590UAtcJJ","noteOn","length","$audio","getAudioBufferSize","updateAudioInfo","createGain","_prevVolume","audioResumeStateTimeout","encType","56SLKaLx","destination","pause","volume","TAG_NAME","7330743ubQJxK","resetInit","initScriptNode","workletProcessorNode","bufferList","_destroyWorklet","audioEnabled","workletWorkerCloseTimeout","setRate","3091980vEtjxX","closeAudio","gainNode","destroy","bufferSize","gain","audioResumeState","getAudioInfo","resume","isStateSuspended","channels","741ieUpku","4iFFeYo","audioBufferSourceNode","audioContextState","postMessage","audioInfo","24673902jMBqej","onmessage","suspended","isPlaying","volumechange","encTypeCode","clearAudioResumeStateTimeout","getEngineType","playing","player","finally"];return(ve=function(){return t})()}function Te(t,e){const s=ve();return(Te=function(t,e){return s[t-=376]})(t,e)}!function(t,e){const s=Te,i=t();for(;;)try{if(467992===parseInt(s(418))/1*(parseInt(s(383))/2)+parseInt(s(443))/3*(-parseInt(s(419))/4)+-parseInt(s(454))/5*(parseInt(s(448))/6)+-parseInt(s(378))/7*(parseInt(s(393))/8)+-parseInt(s(398))/9+parseInt(s(407))/10+parseInt(s(424))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ve);class Re extends r{constructor(t){const e=Te;super(),this[e(402)]=[],this[e(433)]=t,this[e(386)]=null,this.scriptNode=null,this[e(401)]=null,this[e(405)]=null,this[e(440)]=!1,this[e(441)]=new(window[e(381)]||window.webkitAudioContext)({sampleRate:48e3}),this.gainNode=this[e(441)][e(389)]();const s=this.audioContext[e(439)]();s.buffer=this.audioContext.createBuffer(1,1,22050),s[e(449)](this[e(441)][e(394)]),s[e(384)]?s[e(384)](0):s[e(451)](0),this.audioBufferSourceNode=s,this[e(436)]=this[e(441)][e(455)](),this[e(409)][e(412)].value=0,this[e(390)]=null,this[e(432)]=!1,this[e(423)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this[e(446)]=!1,this[e(444)]=!1,this.audioResumeStateTimeout=null,this[e(450)]=!1}async[Be(410)](){const t=Be;return this[t(408)](),this[t(399)](),this.clearAudioResumeStateTimeout(),this[t(441)]&&(await this.audioContext.close(),this[t(441)]=null),this[t(409)]&&(this[t(409)][t(382)](),this[t(409)]=null),this[t(444)]=!1,this.playing=!1,this[t(453)]&&(this[t(453)][t(382)](),this.scriptNode[t(456)]=it,this.scriptNode=null),await this[t(403)](),this.workletProcessorNode&&(this.workletProcessorNode[t(382)](),this.workletProcessorNode.port[t(425)]=it,this[t(401)]=null),this[t(420)]&&(this[t(420)].stop(),this[t(420)]=null),this.mediaStreamAudioDestinationNode&&(this.mediaStreamAudioDestinationNode[t(382)](),this.mediaStreamAudioDestinationNode=null),this[t(440)]=!1,this._prevVolume=null,this.audioContextContextResumeLock=!1,this.off(),!0}[Be(403)](){return new Promise(((t,e)=>{const s=Te;this[s(401)]?(this[s(401)].port[s(422)]({type:s(410)}),this.workletWorkerCloseTimeout=setTimeout((()=>{const e=s;this[e(433)][e(435)](this[e(397)],e(458)),this[e(405)]&&(clearTimeout(this[e(405)]),this.workletWorkerCloseTimeout=null),t()}),10)):t()}))}[Be(399)](){this[Be(423)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1}[Be(414)](){return this[Be(423)]}[Be(388)](t){const e=Be;t[e(429)]&&(this[e(423)][e(429)]=t.encTypeCode,this[e(423)][e(392)]=P[t[e(429)]]),t.channels&&(this[e(423)][e(417)]=t[e(417)]),t[e(437)]&&(this[e(423)][e(437)]=t.sampleRate),t[e(457)]&&(this[e(423)].depth=t.depth),this[e(423)][e(437)]&&this[e(423)][e(417)]&&this.audioInfo[e(392)]&&!this[e(446)]&&(this[e(433)][e(447)](S[e(423)],this[e(423)]),this.init=!0)}get[Be(427)](){return this[Be(432)]}get isMute(){const t=Be;return 0===this[t(409)][t(412)].value||this.isStateSuspended()}get[Be(396)](){const t=Be;return this[t(409)].gain[t(377)]}get[Be(411)](){const t=Be;return this.bufferList[t(385)]}get[Be(421)](){const t=Be;let e=null;return this[t(441)]&&(e=this[t(441)][t(442)]),e}[Be(400)](){}initMobileScriptNode(){}initWorkletScriptNode(){}[Be(431)](){return""}[Be(379)](t){const e=Be;t?(this[e(376)](0),this[e(452)]()):this[e(376)](this[e(433)].lastVolume||.5)}[Be(376)](t){const e=Be;t=parseFloat(t).toFixed(2),isNaN(t)||(this[e(404)](!0),t=nt(t,0,1),null!==this[e(390)]&&this[e(390)]===t||(null===this[e(390)]?this[e(433)][e(447)](S[e(379)],0===t):0===this[e(390)]&&t>0?this.player[e(447)](S[e(379)],!1):this[e(390)]>0&&0===t&&this.player[e(447)](S.mute,!0),this[e(409)][e(412)][e(377)]=t,this[e(433)][e(447)](S[e(428)],this.player.volume),this.player[e(447)](S[e(396)],this.player.volume),this[e(390)]=t))}[Be(408)](){const t=Be;this[t(440)]&&(this.scriptNode&&this[t(453)][t(382)](this[t(409)]),this.workletProcessorNode&&this[t(401)][t(382)](this[t(409)]),this[t(409)]&&(this.gainNode[t(382)](this[t(436)]),!this[t(386)]&&this.gainNode[t(382)](this[t(441)].destination))),this[t(452)]()}[Be(404)](t){const e=Be;if(t&&this.isStateSuspended()){if(this.audioContextContextResumeLock)return;this[e(450)]=!0,this[e(441)][e(415)]().then((()=>{const t=e;this.player[t(447)](S[t(413)],{state:this.audioContextState,isRunning:this[t(438)]()})}))[e(434)]((()=>{this[e(450)]=!1})),this.audioResumeStateTimeout=setTimeout((()=>{const t=e;this[t(430)](),this[t(450)]=!1,this[t(416)]()&&this[t(433)][t(447)](S.audioResumeState,{state:this.audioContextState,isRunning:this[t(438)]()})}),1e3)}}[Be(438)](){const t=Be;return this[t(421)]===t(380)}[Be(416)](){const t=Be;return this[t(421)]===t(426)}[Be(430)](){const t=Be;this.audioResumeStateTimeout&&(clearTimeout(this[t(391)]),this[t(391)]=null)}[Be(452)](){this[Be(402)]=[]}[Be(445)](t,e){}[Be(395)](){this[Be(432)]=!1}[Be(415)](){this.playing=!0}[Be(406)](t){}[Be(387)](){return 0}}const Pe=Me;function De(){const t=["413jYVXXF","20TSELmE","bufferList","player","buffer","1405996EOXegv","debugWarn","left","44914968vRPwWB","audio","398742fQXhkG","destroy","channel","provide","length","7144330XFvxXT","10214000sfILiw","size","set","1151177VvQjBg","right","Processor","24666flsYqQ","bufferSize"];return(De=function(){return t})()}function Me(t,e){const s=De();return(Me=function(t,e){return s[t-=444]})(t,e)}!function(t,e){const s=Me,i=t();for(;;)try{if(929638===-parseInt(s(461))/1+parseInt(s(447))/2+-parseInt(s(452))/3*(parseInt(s(467))/4)+-parseInt(s(457))/5+-parseInt(s(464))/6*(parseInt(s(466))/7)+-parseInt(s(458))/8+parseInt(s(450))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(De);class _e{constructor(t,e,s,i){const r=Me;this[r(445)]=t,this[r(451)]=e,this[r(454)]=s,this.bufferSize=i}[Pe(453)](){const t=Pe;this[t(446)]=null,this[t(454)]=null}extract(t,e){const s=Pe;let i=this.provide(e);for(let e=0;e=A){try{for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:0;const r=2*(e=e||0);!(i>=0)&&(i=(t.length-r)/2);const o=2*i;this[s(332)](i+this[s(441)]);const n=this[s(366)];this[s(409)].set(t.subarray(r,r+o),n),this[s(441)]+=i}[We(327)](t,e){const s=We;let i=arguments[s(394)]>2&&void 0!==arguments[2]?arguments[2]:0;e=e||0,!(i>=0)&&(i=t[s(403)]-e),this[s(398)](t[s(409)],t.position+e,i)}[We(340)](t){const e=We;(!(t>=0)||t>this[e(441)])&&(t=this[e(403)]),this[e(441)]-=t,this._position+=t}receiveSamples(t){const e=We;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=2*s,r=this[e(339)];t[e(416)](this[e(323)].subarray(r,r+i)),this.receive(s)}[We(346)](t){const e=We;let s=arguments[e(394)]>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[e(394)]>2&&void 0!==arguments[2]?arguments[2]:0;const r=this[e(339)]+2*s,o=2*i;t[e(416)](this[e(323)][e(427)](r,r+o))}[We(332)](){const t=We;let e=arguments[t(394)]>0&&void 0!==arguments[0]?arguments[0]:0;const s=parseInt(2*e);if(this[t(323)].length0&&void 0!==arguments[0]?arguments[0]:0;this[t(332)](this[t(441)]+e)}[We(347)](){const t=We;this[t(438)]>0&&(this._vector[t(416)](this._vector.subarray(this[t(339)],this[t(366)])),this[t(438)]=0)}}class Ne{constructor(t){const e=We;t?(this._inputBuffer=new Le,this._outputBuffer=new Le):this[e(352)]=this._outputBuffer=null}[We(404)](){const t=We;this[t(330)](),this[t(433)]&&(this._outputBuffer[t(404)](),this[t(433)]=null),this[t(352)]&&(this[t(352)].destroy(),this._inputBuffer=null)}get[We(381)](){return this[We(352)]}set inputBuffer(t){this[We(352)]=t}get[We(413)](){return this[We(433)]}set[We(413)](t){this[We(433)]=t}clear(){const t=We;this[t(352)][t(330)](),this[t(433)].clear()}}class Qe extends Ne{constructor(t){const e=We;super(t),this[e(385)](),this[e(354)]=1}destroy(){super.destroy()}set rate(t){this._rate=t}reset(){const t=We;this[t(342)]=0,this[t(446)]=0,this.prevSampleR=0}[We(430)](){const t=We,e=new Qe;return e[t(440)]=this[t(354)],e}[We(418)](){const t=We,e=this._inputBuffer[t(403)];this._outputBuffer.ensureAdditionalCapacity(e/this[t(354)]+1);const s=this[t(434)](e);this[t(352)][t(340)](),this._outputBuffer[t(414)](s)}[We(434)](){const t=We;let e=arguments[t(394)]>0&&void 0!==arguments[0]?arguments[0]:0;if(0===e)return 0;const s=this[t(352)][t(409)],i=this._inputBuffer[t(339)],r=this._outputBuffer[t(409)],o=this._outputBuffer[t(366)];let n=0,A=0;for(;this[t(342)]<1;)r[o+2*A]=(1-this[t(342)])*this.prevSampleL+this[t(342)]*s[i],r[o+2*A+1]=(1-this[t(342)])*this.prevSampleR+this[t(342)]*s[i+1],A+=1,this[t(342)]+=this[t(354)];if(this[t(342)]-=1,1!==e)t:for(;;){for(;this[t(342)]>1;)if(this[t(342)]-=1,n+=1,n>=e-1)break t;const a=i+2*n;r[o+2*A]=(1-this[t(342)])*s[a]+this[t(342)]*s[a+2],r[o+2*A+1]=(1-this.slopeCount)*s[a+1]+this[t(342)]*s[a+3],A+=1,this[t(342)]+=this[t(354)]}return this[t(446)]=s[i+2*e-2],this.prevSampleR=s[i+2*e-1],A}}class He{constructor(t){this[We(379)]=t}[We(404)](){}get[We(396)](){return this._pipe}get[We(381)](){return this[We(379)].inputBuffer}get[We(413)](){const t=We;return this[t(379)][t(413)]}[We(395)](){throw new Error(We(329))}[We(397)](){const t=We;let e=arguments[t(394)]>0&&void 0!==arguments[0]?arguments[0]:0;for(;this.outputBuffer[t(403)]2&&void 0!==arguments[2]?arguments[2]:Oe;super(e),this.callback=i,this[s(386)]=t,this[s(419)]=22050,this._sourcePosition=0,this[s(437)]=0,this[s(438)]=0}[We(404)](){const t=We;this[t(330)](),this[t(386)][t(404)](),this[t(386)]=null,this[t(370)]=0,this.outputBufferPosition=0,this._position=0}get position(){return this[We(438)]}set[We(378)](t){const e=We;if(t>this[e(438)])throw new RangeError("New position may not be greater than current position");const s=this.outputBufferPosition-(this[e(438)]-t);if(s<0)throw new RangeError(e(411));this.outputBufferPosition=s,this[e(438)]=t}get[We(428)](){return this._sourcePosition}set[We(428)](t){const e=We;this[e(330)](),this[e(370)]=t}onEnd(){this[We(451)]()}[We(395)](){const t=We;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const s=new Float32Array(2*e),i=this[t(386)][t(346)](s,e,this[t(370)]);this._sourcePosition+=i,this[t(381)][t(398)](s,0,i)}extract(t){const e=We;let s=arguments[e(394)]>1&&void 0!==arguments[1]?arguments[1]:0;this[e(397)](this.outputBufferPosition+s);const i=Math.min(s,this[e(413)].frameCount-this[e(437)]);this.outputBuffer.extract(t,this.outputBufferPosition,i);const r=this.outputBufferPosition+i;return this[e(437)]=Math[e(445)](this[e(419)],r),this[e(413)][e(340)](Math[e(400)](r-this[e(419)],0)),this[e(438)]+=i,i}handleSampleData(t){const e=We;this[e(346)](t[e(399)],4096)}[We(330)](){super[We(330)](),this.outputBufferPosition=0}}function Ge(){const t=["buffer","sampleRate","seekWindowMs","off","_inputBuffer","298737xtRryF","_rate","name","receiveSamples","4417bXqinW","push","percentagePlayed","getChannelData","4814718eyBhMD","numberOfChannels","ensureAdditionalCapacity","quickSeek","_tempo","endIndex","listeners","transposer","checkLimits","_sourcePosition","node","38436yokhzr","tempo","_soundtouch","sampleReq","overlapStereo","nominalSkip","position","_pipe","formattedTimePlayed","inputBuffer","pitch","midBufferDirty","exp","reset","sourceSound","calculateEffectiveRateAndTempo","overlap","pitchOctaves","overlapMs","MIN_VALUE","virtualTempo","addEventListener","length","fillInputBuffer","pipe","fillOutputBuffer","putSamples","data","max","overlapLength","play","frameCount","destroy","stretch","inputChunkSize","170nUqJfj","setParameters","vector","filter","New position falls outside of history buffer","floor","outputBuffer","put","14597fLAlxf","set","seekBestOverlapPositionStereo","process","historyBufferSize","timePlayed","seekBestOverlapPositionStereoQuick","calculateOverlapLength","autoSeekSetting","onaudioprocess","pitchSemitones","preCalculateCorrelationReferenceStereo","subarray","sourcePosition","connect","clone","midBuffer","createScriptProcessor","_outputBuffer","transpose","clearMidBuffer","seekLength","outputBufferPosition","_position","4344BVbeKz","rate","_frameCount","autoSeqSetting","5485AhJNMc","detail","min","prevSampleL","refMidBuffer","_intermediateBuffer","calculateSequenceParameters","skipFract","callback","virtualPitch","dualChannel","_quickSeek","3473752sNKSQc","seekWindowLength","call","sequenceMs","_vector","disconnect","1HYKqkY","_filter","putBuffer","7302IgShVT","fillInputBuffer() not overridden","clear","outputChunkSize","ensureCapacity","duration","dispatchEvent","3664508CUwRHQ","rateChange","virtualRate","join","startIndex","receive","_node","slopeCount","onEnd","formattedDuration","calculateCrossCorrelationStereo","extract","rewind"];return(Ge=function(){return t})()}const Fe=[[124,186,248,310,372,434,496,558,620,682,744,806,868,930,992,1054,1116,1178,1240,1302,1364,1426,1488,0],[-100,-75,-50,-25,25,50,75,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-20,-15,-10,-5,5,10,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-4,-3,-2,-1,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],xe=-10/1.5;class Ye extends Ne{constructor(t){const e=We;super(t),this[e(318)]=!0,this[e(383)]=!1,this[e(431)]=null,this[e(447)]=null,this[e(401)]=0,this.autoSeqSetting=!0,this[e(423)]=!0,this[e(365)]=1,this[e(408)](44100,0,0,8)}[We(404)](){this[We(330)](),super.destroy()}[We(330)](){const t=We;super.clear(),this[t(435)](),this.refMidBuffer=null}[We(435)](){const t=We;this[t(383)]&&(this.midBufferDirty=!1),this[t(431)]=null}setParameters(t,e,s,i){const r=We;t>0&&(this[r(349)]=t),i>0&&(this[r(390)]=i),e>0?(this.sequenceMs=e,this[r(442)]=!1):this[r(442)]=!0,s>0?(this[r(350)]=s,this[r(423)]=!1):this[r(423)]=!0,this[r(449)](),this[r(422)](this[r(390)]),this[r(373)]=this[r(365)]}set[We(373)](t){const e=We;let s;this[e(365)]=t,this[e(449)](),this[e(377)]=this[e(365)]*(this[e(320)]-this[e(401)]),this[e(450)]=0,s=Math[e(412)](this[e(377)]+.5),this[e(375)]=Math[e(400)](s+this[e(401)],this[e(320)])+this[e(436)]}get[We(373)](){return this[We(365)]}get[We(406)](){return this.sampleReq}get[We(331)](){const t=We;return this[t(401)]+Math[t(400)](0,this.seekWindowLength-2*this[t(401)])}calculateOverlapLength(){const t=We;let e,s=arguments[t(394)]>0&&void 0!==arguments[0]?arguments[0]:0;e=this[t(349)]*s/1e3,e=e<16?16:e,e-=e%8,this[t(401)]=e,this[t(447)]=new Float32Array(2*this.overlapLength),this[t(431)]=new Float32Array(2*this[t(401)])}[We(369)](t,e,s){return ts?s:t}[We(449)](){const t=We;let e,s;this[t(442)]&&(e=150+-50*this[t(365)],e=this[t(369)](e,50,125),this.sequenceMs=Math.floor(e+.5)),this[t(423)]&&(s=28.333333333333332+xe*this[t(365)],s=this.checkLimits(s,15,25),this[t(350)]=Math[t(412)](s+.5)),this[t(320)]=Math[t(412)](this[t(349)]*this[t(322)]/1e3),this[t(436)]=Math[t(412)](this.sampleRate*this.seekWindowMs/1e3)}set[We(364)](t){this[We(318)]=t}[We(430)](){const t=We,e=new Ye;return e[t(373)]=this[t(365)],e.setParameters(this[t(349)],this[t(322)],this[t(350)],this[t(390)]),e}seekBestOverlapPosition(){const t=We;return this[t(318)]?this.seekBestOverlapPositionStereoQuick():this[t(417)]()}seekBestOverlapPositionStereo(){const t=We;let e,s,i,r=0;for(this.preCalculateCorrelationReferenceStereo(),e=0,s=Number[t(391)];rs&&(s=i,e=r);return e}[We(421)](){const t=We;let e,s,i,r,o,n=0;for(this[t(426)](),s=Number[t(391)],e=0,r=0,o=0;n<4;n+=1){let A=0;for(;Fe[n][A]&&(o=r+Fe[n][A],!(o>=this[t(436)]));)i=this[t(345)](2*o,this[t(447)]),i>s&&(s=i,e=o),A+=1;r=e}return e}[We(426)](){const t=We;let e,s,i=0;for(;i=this[t(375)];){e=this.seekBestOverlapPosition(),this[t(433)].ensureAdditionalCapacity(this[t(401)]),this[t(388)](Math[t(412)](e)),this[t(433)].put(this[t(401)]),s=this.seekWindowLength-2*this.overlapLength,s>0&&this[t(433)][t(327)](this[t(352)],e+this[t(401)],s);const r=this[t(352)].startIndex+2*(e+this[t(320)]-this.overlapLength);this[t(431)][t(416)](this._inputBuffer[t(409)][t(427)](r,r+2*this[t(401)])),this[t(450)]+=this[t(377)],i=Math[t(412)](this.skipFract),this[t(450)]-=i,this[t(352)].receive(i)}}}const Ve=function(t,e){return(t>e?t-e:e-t)>1e-10};class Ue{constructor(){const t=We;this.transposer=new Qe(!1),this[t(405)]=new Ye(!1),this._inputBuffer=new Le,this[t(448)]=new Le,this._outputBuffer=new Le,this[t(354)]=0,this._tempo=0,this.virtualPitch=1,this[t(337)]=1,this[t(392)]=1,this[t(387)]()}[We(404)](){const t=We;this.clear(),this[t(352)][t(404)](),this[t(448)][t(404)](),this[t(433)][t(404)](),this._inputBuffer=null,this[t(448)]=null,this[t(433)]=null}clear(){const t=We;this[t(368)][t(330)](),this[t(405)][t(330)]()}[We(430)](){const t=We,e=new Ue;return e[t(440)]=this[t(440)],e[t(373)]=this[t(373)],e}get[We(440)](){return this._rate}set[We(440)](t){const e=We;this[e(337)]=t,this[e(387)]()}set[We(336)](t){this[We(354)]=1+.01*t}get[We(373)](){return this[We(365)]}set[We(373)](t){this.virtualTempo=t,this.calculateEffectiveRateAndTempo()}set tempoChange(t){this[We(373)]=1+.01*t}set[We(382)](t){this[We(452)]=t,this.calculateEffectiveRateAndTempo()}set[We(389)](t){const e=We;this[e(382)]=Math[e(384)](.69314718056*t),this[e(387)]()}set pitchSemitones(t){this.pitchOctaves=t/12}get[We(381)](){return this[We(352)]}get[We(413)](){return this._outputBuffer}[We(387)](){const t=We,e=this[t(365)],s=this._rate;this[t(365)]=this[t(392)]/this[t(452)],this[t(354)]=this[t(337)]*this.virtualPitch,Ve(this[t(365)],e)&&(this[t(405)].tempo=this[t(365)]),Ve(this[t(354)],s)&&(this.transposer.rate=this._rate),this[t(354)]>1?this._outputBuffer!=this.transposer[t(413)]&&(this[t(405)][t(381)]=this[t(352)],this[t(405)][t(413)]=this[t(448)],this[t(368)][t(381)]=this[t(448)],this[t(368)][t(413)]=this[t(433)]):this[t(433)]!=this[t(405)][t(413)]&&(this[t(368)].inputBuffer=this[t(352)],this[t(368)].outputBuffer=this[t(448)],this[t(405)][t(381)]=this[t(448)],this.stretch[t(413)]=this[t(433)])}[We(418)](){const t=We;this[t(354)]>1?(this.stretch.process(),this[t(368)][t(418)]()):(this.transposer[t(418)](),this[t(405)][t(418)]())}}We(378),We(346);const ze=function(t){const e=Math.floor(t/60);return e+":"+function(t,e,s){const i=We;return s=s||"0",(t+="")[i(394)]>=e?t:new Array(e-t.length+1)[i(338)](s)+t}(parseInt(t-60*e),2)};We(404),We(344),We(380),We(359),We(371),We(382),We(425),We(440),We(429),We(324),We(351);function qe(t,e){const s=Ge();return(qe=function(t,e){return s[t-=318]})(t,e)}const Je=Ze;function Xe(){const t=["tempo","6UefAbk","audio","3808rTxKoT","34072cBjtTP","627468TSzieP","9431256jgvJgY","145qizIjs","695494tWvXhN","rate","7ZoUJEb","destroy","filter","extract","22zOhXHy","soundTouch","441ROaEjb","5895702ftpcbG","10804730xvYFBY"];return(Xe=function(){return t})()}function Ze(t,e){const s=Xe();return(Ze=function(t,e){return s[t-=469]})(t,e)}!function(t,e){const s=Ze,i=t();for(;;)try{if(570468===-parseInt(s(471))/1+parseInt(s(474))/2*(-parseInt(s(486))/3)+-parseInt(s(470))/4*(-parseInt(s(473))/5)+-parseInt(s(483))/6*(parseInt(s(476))/7)+-parseInt(s(469))/8*(parseInt(s(482))/9)+parseInt(s(484))/10+parseInt(s(480))/11*(parseInt(s(472))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xe);class Ke{constructor(t,e,s){const i=Ze;this.player=t,this[i(487)]=e,this[i(481)]=new Ue,this.soundTouch[i(485)]=1,this[i(481)][i(475)]=1,this[i(478)]=new je(s,this[i(481)])}[Je(477)](){const t=Je;this[t(478)]&&(this.filter[t(477)](),this[t(478)]=null),this[t(481)]&&(this.soundTouch[t(477)](),this[t(481)]=null)}setRate(t){const e=Je;t!==this[e(481)].rate&&(this[e(481)][e(485)]=t)}provide(t){const e=Je;let s=new Float32Array(2*t),i=this[e(478)][e(479)](s,t),r=new Float32Array(i),o=new Float32Array(i);for(let t=0;t{"init"===t.data.message?(this.audioBufferSize=t.data.audioBufferSize,this.start=t.data.start,this.channels=t.data.channels,this.state=0,this.offset=0,this.samplesArray=[]):"stop"===t.data.message?(this.state=0,this.start=!1,this.offset=0,this.samplesArray=[]):"data"===t.data.message?this.samplesArray.push(t.data.buffer):"zero"===t.data.message&&this.samplesArray.push({left:new Float32Array(this.audioBufferSize).fill(0),right:new Float32Array(this.audioBufferSize).fill(0)})}}process(t,e,s){const i=e[0][0],r=e[0][1];if(0===this.offset&&this.port.postMessage({message:"beep"}),0===this.state)this.state=1;else if(1===this.state&&this.samplesArray.length>=4)this.state=2;else if(2===this.state){const t=this.samplesArray[0];for(let e=0;e -"];return(ss=function(){return t})()}!function(t,e){const s=es,i=t();for(;;)try{if(256917===parseInt(s(394))/1*(parseInt(s(310))/2)+-parseInt(s(454))/3+parseInt(s(398))/4*(-parseInt(s(370))/5)+-parseInt(s(346))/6*(parseInt(s(333))/7)+parseInt(s(431))/8*(parseInt(s(450))/9)+-parseInt(s(301))/10+parseInt(s(297))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ss);class is extends Re{constructor(t){const e=es;super(t),this[e(449)]=e(299),this[e(391)]=1,this[e(308)]=1,this[e(284)]=null,this[e(438)]=null,this[e(336)]=null,this.engineType=this[e(357)](),this[e(389)]=this.getAudioBufferSizeByType(),this[e(377)]=null,this[e(441)]=!1,this[e(334)]=[],this[e(306)]=null,this[e(387)]=null,this[e(342)][e(292)][e(314)]&&ct()&&(this[e(377)]=document[e(296)](e(286)),Object[e(329)](this.$audio[e(315)],{position:e(402),left:e(376),top:e(376)}),t[e(458)]?t[e(458)][e(422)](this[e(377)]):document[e(437)][e(422)](this[e(377)]),this[e(330)](),this[e(342)][e(408)](e(299),"create audio element")),this[e(456)]=0,this[e(342)][e(408)](e(299),e(400),e(407)+this.engineType+e(323)+this[e(389)])}async destroy(){const t=es;return await super[t(447)](),this.workletUrl&&(URL[t(414)](this.workletUrl),this[t(306)]=null),this[t(387)]&&(clearTimeout(this[t(387)]),this.clearWorkletUrlTimeout=null),this[t(334)][t(453)]&&(this[t(334)][t(386)]((t=>{t()})),this[t(334)]=[]),this[t(377)]&&(this.$audio[t(355)](),this[t(377)][t(382)]=null,this[t(377)][t(434)]&&this.$audio[t(434)][t(309)](this[t(377)]),this[t(377)]=null),this[t(438)]&&(this[t(438)].destroy(),this.processor=null),this[t(284)]&&(this[t(284)][t(447)](),this[t(284)]=null),this[t(336)]&&(clearInterval(this[t(336)]),this[t(336)]=null),this[t(391)]=1,this[t(308)]=1,this.scriptStartTime=0,this[t(389)]=0,this[t(443)]=_[t(324)],this[t(342)].debugLog(t(299),"destroy"),!0}[ts(313)](){const t=ts;return this[t(377)]&&St(this[t(377)][t(335)])&&St(this[t(377)][t(369)])&&0!==this.$audio[t(308)]&&0!==this[t(377)][t(337)]}_bindAudioProxy(){const t=ts,{proxy:e}=this[t(342)][t(460)],s=e(this[t(377)],"canplay",(()=>{const e=t;this[e(342)].debugLog("AudioContext","canplay"),this._delayPlay&&this[e(395)]()}));this[t(334)].push(s)}[ts(411)](){const t=ts;let e=0;return this.$audio&&(e=this[t(377)][t(337)]),e}[ts(440)](){const t=ts;if(this[t(377)]){const e=this[t(411)]();if(this[t(342)].debugLog(t(299),t(351)+e),!(0!==e||dt()&&ct()))return this[t(342)].debugWarn(t(299),"readyState is 0 and set _delayPlay to true"),void(this._delayPlay=!0);this[t(395)]()}}_audioElementPlay(){const t=ts;this[t(377)]&&this[t(377)][t(358)]()[t(418)]((()=>{const e=t;this[e(441)]=!1,this[e(342)][e(408)](e(299),e(294),this[e(377)][e(403)]),setTimeout((()=>{const t=e;!this[t(313)]()&&(this[t(342)][t(326)]("AudioContext",t(432)),this[t(395)]())}),100),this[e(313)]()&&(this[e(342)][e(408)](e(299),"play success and remove document click event listener"),document[e(347)]("click",this[e(395)][e(459)](this)))}))[t(448)]((e=>{const s=t;this.player[s(446)](s(299),s(378),e),this[s(342)][s(408)](s(299),s(427)),document[s(385)](s(423),this._audioElementPlay[s(459)](this))}))}[ts(368)](){return this.audioBufferSize}get[ts(288)](){const t=ts;return this[t(389)]/this[t(380)].sampleRate*1e3}get[ts(425)](){const t=ts;return this.engineType===_[t(439)]}[ts(401)](){const t=ts;return this.bufferList[t(453)]*this[t(288)]}isMoreThanMinBufferDuration(){const t=ts;return this[t(401)]()>=100*this[t(308)]}initProcessor(){const t=ts;this[t(438)]=new _e(this[t(342)],this,this.audioInfo[t(379)],this[t(389)]),this[t(284)]=new Ke(this[t(342)],this,this[t(438)])}[ts(357)](){const t=ts;let e=this[t(342)][t(292)][t(415)]||_[t(324)];const s=()=>{const s=t;e=ft()?_[s(439)]:ct()&&this[s(342)]._opt.supportLockScreenPlayAudio?_.script:(wt()&&this[s(442)](),_[s(324)])};return this.player[t(292)][t(415)]?this[t(342)][t(292)][t(415)]===_[t(291)]&&wt()&&this.supportAudioWorklet()?e=_[t(324)]:this[t(342)][t(292)][t(415)]===_[t(439)]?e=_[t(439)]:this[t(342)][t(292)].audioEngine===_[t(324)]?e=_[t(324)]:s():s(),e}getAudioBufferSizeByType(){const t=ts,e=this[t(443)];this[t(342)][t(292)][t(350)];const s=this[t(342)][t(292)].weiXinInAndroidAudioBufferSize;return e===_.worklet?1024:e===_[t(439)]?s||4800:(t(324),1024)}[ts(442)](){const t=ts;return this[t(380)]&&this[t(380)][t(322)]&&typeof this[t(380)][t(322)][t(455)]===t(373)}[ts(289)](){const t=ts;this[t(327)]=!0,this[t(430)]||(this[t(436)](),this[t(443)]===_[t(291)]?this[t(348)]():this.engineType===_[t(439)]?this.initIntervalScriptNode():this[t(443)]===_[t(324)]&&this[t(321)](),this[t(440)]())}[ts(381)](){return this[ts(443)]}[ts(361)](){const t=ts;return this.playbackRate>this[t(391)]}initProcessScriptNode(){const t=ts,e=this[t(380)].createScriptProcessor(this.audioBufferSize,0,this.audioInfo[t(379)]);e[t(341)]=e=>{const s=t,i=e.outputBuffer;this[s(305)](i)},e[t(303)](this[t(433)]),this.scriptNode=e,this.gainNode.connect(this[t(316)]),this[t(377)]?this[t(377)][t(382)]=this[t(316)][t(300)]:this[t(433)].connect(this[t(380)].destination),this[t(430)]=!0}[ts(345)](){const t=ts;this[t(456)]=0;const e=1e3*this[t(389)]/this[t(380)][t(410)];this.scriptNodeInterval=setInterval((()=>{const e=t;if(0===this[e(343)][e(453)]||St(this.playing)||this[e(416)])return void(this.playing&&St(this[e(416)])&&this[e(342)][e(408)](e(299),e(318)+this[e(343)][e(453)]+" or playing is "+this[e(327)]));const s=this[e(380)].createBufferSource(),i=this[e(380)][e(396)](this[e(332)].channels,this.audioBufferSize,this[e(380)].sampleRate);this.handleScriptNodeCallback(i,(()=>{const t=e;this.scriptStartTime{const e=t;if(this[e(342)][e(285)]())return void this[e(342)][e(408)](e(299),e(354));if(!this.audioContext)return void this[e(342)][e(326)](e(299),e(290));let s=[1];2===this[e(332)].channels&&(s=[1,1]);try{this.workletProcessorNode=new AudioWorkletNode(this.audioContext,"worklet-processor",{numberOfOutputs:this[e(332)][e(379)],outputChannelCount:s})}catch(t){this.player[e(446)](e(299),e(338),t),this[e(362)]=null,this[e(426)]()}this[e(362)]&&(this[e(362)][e(303)](this[e(433)]),this.gainNode[e(303)](this[e(316)]),this.$audio?this[e(377)][e(382)]=this[e(316)][e(300)]:this[e(433)][e(303)](this.audioContext[e(317)]),this[e(430)]=!0,this.workletProcessorNode.port.postMessage({message:e(400),audioBufferSize:this[e(389)],start:!0,channels:this[e(332)][e(379)]}),this[e(362)][e(375)][e(435)]=t=>{const s=e;this[s(362)]?this.audioContext?this[s(305)](this[s(362)],null,!0):this[s(362)][s(375)][s(319)]({message:s(349)}):this[s(342)].debugError("AudioContext",s(420))})})),this.clearWorkletUrlTimeout=setTimeout((()=>{const e=t;URL[e(414)](this.workletUrl),this[e(306)]=null,this[e(387)]=null}),y)}[ts(426)](){const t=ts;this[t(342)].debugLog(t(299),t(426)),this[t(443)]=_[t(324)],this[t(389)]=this[t(399)](),this.initProcessScriptNode(),this.audioElementPlay()}[ts(305)](t,e){const s=ts;let i=arguments[s(453)]>2&&void 0!==arguments[2]&&arguments[2];e=e||it;let r,o=t[s(453)];i&&(r=t,o=this[s(389)]);const n=this[s(332)][s(379)];if(this[s(327)]&&this[s(424)]()){if(this[s(342)][s(292)],this.player[s(285)]())return this[s(342)][s(408)](this[s(449)],s(307)),i?r[s(375)].postMessage({message:s(349)}):this.fillScriptNodeOutputBuffer(t,n),void e();if(this[s(342)].openSyncAudioAndVideo()&&Ct(this[s(342)].visibility)){this[s(340)]();const o=this[s(342)][s(295)]();if(o>this.player[s(292)][s(363)]){const A=this[s(342)][s(339)]();return this[s(342)][s(326)]("AudioContext","audioSyncVideoOption more than diff :"+o+",\n and video is "+A[s(444)]+" ,\n and audio is "+A[s(286)]+" , waiting and bufferList is "+this[s(343)].length+", fill zero"),i?r[s(375)][s(319)]({message:s(349)}):this[s(409)](t,n),void e()}}let A=this[s(429)](o);if(0===A.size)return St(this.player[s(311)]())&&this[s(342)][s(326)](s(299),s(325)+this[s(343)][s(453)]+s(352)+o+",and bufferItem.size is 0, fill zero"),i?r[s(375)].postMessage({message:s(349)}):this[s(409)](t,n),void e();A&&A.ts&&(this[s(342)][s(461)]=A.ts),i?r[s(375)][s(319)]({message:s(353),buffer:A}):this.fillScriptNodeOutputBuffer(t,n,A),e()}else 0===this[s(343)][s(453)]&&this[s(327)]&&St(this[s(416)])&&St(this.player[s(311)]())&&this[s(342)].debugWarn("AudioContext",s(365)+o+s(293)),i?r.port[s(319)]({message:s(349)}):this[s(409)](t,n),e()}[ts(409)](t,e,s){const i=ts;if(1===e){const e=t[i(331)](0);s?0===s.size?e[i(374)](0):e[i(287)](s.left):e[i(374)](0)}else if(2===e){const e=t[i(331)](0),r=t[i(331)](1);s?0===s.size?(e[i(374)](0),r[i(374)](0)):(e[i(287)](s[i(421)]),r.set(s[i(417)])):(e[i(374)](0),r[i(374)](0))}}[ts(358)](t,e){const s=ts;this[s(416)]||(this[s(430)]?(this[s(366)]=!0,this[s(342)][s(445)]=e,this[s(343)][s(328)]({buffer:t,ts:e}),St(this[s(342)].openSyncAudioAndVideo())&&Ct(this.player[s(405)]())&&this[s(397)]()):this[s(342)][s(326)]("AudioContext",s(388)))}[ts(340)](){const t=ts;if(this.isMute)return;if(!this[t(327)])return;const e=Math.floor(2e3/this.oneBufferDuration);if(this[t(343)][t(453)]>e)return this[t(342)][t(326)](t(299),t(367)+this[t(343)][t(453)]+" more than "+e+t(371)),void this.clear();const s=this[t(342)][t(295)]();if(this[t(381)]()===_[t(439)]){if(s<-this[t(342)]._opt[t(363)]){this[t(342)][t(326)]("AudioContext","engine active , audioSyncVideoOption "+-this.player[t(292)][t(363)]+" less than diff :"+s+t(298)+this[t(343)].length);const e=this[t(342)][t(302)]();for(;this[t(343)][t(453)]>0;){const s=this.bufferList[0],i=s.ts-e;if(i>-this[t(342)][t(292)][t(363)]/2){this[t(342)][t(461)]=s.ts,this[t(342)][t(408)](t(299),t(359)+s.ts+t(364)+e+t(393)+i+t(360)+this.player[t(292)][t(363)]/2+t(451));break}this[t(343)][t(412)](),this[t(342)][t(461)]=s.ts}}}else{let e=this.playbackRate;s<-this[t(342)]._opt[t(363)]?e===this.defaultPlaybackRate&&(this[t(342)][t(408)](t(299),t(406)+-this[t(342)][t(292)].syncAudioAndVideoDiff+t(392)+s+",\n speed up, playbackRate is "+e+t(413)+this.bufferList[t(453)]),e=this[t(391)]+.2):s>-this[t(342)][t(292)][t(363)]/2&&e!==this[t(391)]&&(this.player.debugLog("AudioContext",t(304)+s+t(360)+this[t(342)][t(292)][t(363)]/2+t(356)),e=this.defaultPlaybackRate),this.updatePlaybackRate(e)}}[ts(397)](){const t=ts;if(this.isMute)return;if(!this[t(327)])return;let e=this[t(308)],s=1e3,i=5e3;this.isAudioPlayer&&(s=this.player._opt[t(452)],i=this[t(342)][t(292)][t(344)]);const r=Math[t(457)](s/this[t(288)]),o=Math[t(457)](i/this[t(288)]);if(this[t(343)][t(453)]>o)return this[t(342)][t(326)](t(299),t(367)+this[t(343)][t(453)]+" more than "+o+", and drop"),void this[t(390)]();this[t(381)]()!==_.active&&(this[t(343)][t(453)]>r?(e=this.defaultPlaybackRate+.2,this[t(342)][t(408)](t(299),t(367)+this.bufferList[t(453)]+t(383)+r+", speed up, playbackRate is "+e)):this[t(343)][t(453)]0?this[e(122)][e(124)](S[e(152)],!1):this._prevVolume>0&&0===t&&this.player[e(124)](S[e(152)],!0),this.$video.volume=t,this[e(122)][e(124)](S[e(146)],this[e(122)][e(151)]),this[e(122)][e(124)](S[e(151)],this[e(122)][e(151)]),this[e(144)]=t))}[rs(136)](){}[rs(157)](t,e){const s=rs,i=this[s(122)].video.awriter;if(i)if(t[s(119)])try{i[s(169)](t),It(t)}catch(t){this[s(122)][s(125)]("Video",s(114),t)}else try{const r=function(t,e){const s=st,i={...e,format:s(428),data:new Float32Array(0)};if(i.numberOfFrames=t[0][s(366)],1===t.length)i[s(369)]=new Float32Array(t[0]);else if(2===t[s(366)]){const e=new Float32Array(t[0][s(366)]+t[1][s(366)]);e[s(406)](t[0],0),e[s(406)](t[1],t[0].length),i[s(369)]=e}return new AudioData(i)}(t,{sampleRate:48e3,numberOfChannels:this[s(120)][s(134)],timestamp:1e3*e});i[s(169)](r),It(r)}catch(t){this[s(122)].debugError(s(148),s(114),t)}else this[s(122)].debugWarn(s(167),s(150))}[rs(166)](){}[rs(158)](){}[rs(128)](){return rs(115)}[rs(172)](){return!1}setRate(t){}[rs(164)](){}[rs(138)](){}[rs(154)](){this[rs(152)](!1)}[rs(113)](){return 2048}}function As(){const t=["_prevVolume","debugLog","volumechange","539hOfXMj","Video","_opt","play and this.awriter is null","volume","mute","hlsDecoder","audioEnabled","48SDlIVM","video","play","resume","stringify","isMute","1184140JTFdjn","depth","1288476swPZtH","initScriptNode","hlsUseCanvasRender","pause","Audio","encTypeCode","write","59732Yeiqxx","lastVolume","isPlaybackRateSpeed","644852XihLwe","getAudioBufferSize","play audio error","audio","6jAZPJi","$video","122170WDcyKK","close","audioInfo","encType","player","$videoElement","emit","debugError","init","70161MQxpMT","getEngineType","isPlaying","aliyunRtcRemoteStream","updateAudioInfo","aliyunRtcDecoder","3zeOSTi","channels","destroy","clear","207910ledpit","initScriptNodeDelay","sampleRate","resetInit","setVolume","muted","webrtcUseCanvasRender"];return(As=function(){return t})()}function as(t,e){const s=cs();return(as=function(t,e){return s[t-=458]})(t,e)}const hs=as;function cs(){const t=["playbackDelayTime","playbackPause","rateProcessor","player","listenSeeking and update audioTimestamp to","listenPlaybackPause","bind","12chGeGp","audioTimestamp","1498185eNefjq","4eyLdqD","updatePlaybackRate","debugLog","pause","destroy","resume","play","AudioPlayVodLoader","7137OFNvMy","clear","4744bchsSs","initScriptNode","isPlayback","820071KRDIrk","isPlaybackPauseClearCache","104676TaNZTV","defaultPlaybackRate","listenPlayVodPause","_opt","playVodSeek","4188660yANeUF","init","AudioPlaybackLoader","playback","delayTimeout","763518rklSAR","1665922FZdLcB","listenSeeking","isPlayVod","TAG_NAME","playVodPause","play, isSeeking, return","setRate"];return(cs=function(){return t})()}!function(t,e){const s=as,i=t();for(;;)try{if(424822===-parseInt(s(490))/1+parseInt(s(458))/2+parseInt(s(488))/3*(-parseInt(s(475))/4)+-parseInt(s(474))/5+parseInt(s(472))/6*(parseInt(s(500))/7)+parseInt(s(485))/8*(parseInt(s(483))/9)+-parseInt(s(495))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(cs);class us extends is{constructor(t){const e=as;super(t),this[e(499)]=null,this[e(461)]=this[e(468)].isPlayback()?e(497):e(482),this.player[e(487)]()?this[e(468)].on(S[e(466)],this[e(470)][e(471)](this)):this[e(468)][e(460)]()&&(this[e(468)].on(S[e(462)],this.listenPlayVodPause[e(471)](this)),this[e(468)].on(S[e(494)],this.listenSeeking[e(471)](this))),this.player.debugLog(this[e(461)],e(496))}async[hs(479)](){const t=hs;return this[t(499)]&&(clearTimeout(this[t(499)]),this[t(499)]=null),await super[t(479)](),this.player[t(477)](this[t(461)],t(479)),!0}listenPlaybackPause(t){const e=hs;t?(this[e(478)](),this[e(468)][e(487)]()&&this[e(468)][e(498)][e(489)]&&this.clear()):this[e(480)]()}[hs(492)](t){const e=hs;t?this[e(478)]():this[e(480)]()}[hs(459)](t){const e=hs;t*=1e3,this[e(468)][e(477)](this[e(461)],e(469),t),this[e(468)][e(473)]=t,this[e(484)]()}initScriptNodeDelay(){const t=hs,e=this[t(468)][t(493)][t(465)];e>0?this[t(499)]=setTimeout((()=>{this[t(486)]()}),e):this[t(486)]()}[hs(464)](t){const e=hs;t!==this[e(491)]&&this[e(467)]&&(this[e(468)][e(477)](this[e(461)],e(464),t),this[e(491)]=t,this[e(476)](t))}[hs(481)](t,e){const s=hs;this[s(468)].isPlayVod()&&this[s(468)].playVod.isSeeking()?this[s(468)][s(477)](this[s(461)],s(463)):super[s(481)](t,e)}}function ls(){var t=["22384KVxhiO","TAG_NAME","529214KbyHFp","player","debugLog","pause","playing","34490gPvpLB","destroy","1936384sdvtrB","init","794316jcvWvm","2094417OMsIsD","147YuTPvN","1417705MkWEgO","isAudioPlayer","resume","play","AudioPlayerLoader","12ELfFIM"];return(ls=function(){return t})()}var ds=ps;function ps(t,e){var s=ls();return(ps=function(t,e){return s[t-=153]})(t,e)}!function(t,e){for(var s=ps,i=t();;)try{if(230136===-parseInt(s(158))/1+parseInt(s(162))/2+parseInt(s(164))/3*(-parseInt(s(171))/4)+parseInt(s(165))/5+parseInt(s(170))/6*(-parseInt(s(153))/7)+parseInt(s(160))/8+-parseInt(s(163))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ls);class fs extends is{constructor(t){var e=ps;super(t),this.TAG_NAME=e(169),this[e(166)]=!0,this[e(154)][e(155)](this[e(172)],e(161))}async[ds(159)](){var t=ds;return await super[t(159)](),this.player[t(155)](this.TAG_NAME,t(159)),!0}[ds(168)](t,e){var s=ds;St(this.playing)||super[s(168)](t,e)}pause(){var t=ds;this[t(154)][t(155)](this[t(172)],t(156)),this[t(157)]=!1,this.clear()}resume(){var t=ds;this[t(154)][t(155)](this[t(172)],t(167)),this[t(157)]=!0}}const ms=gs;function gs(t,e){const s=ys();return(gs=function(t,e){return s[t-=244]})(t,e)}function ys(){const t=["timeStamp","emit","volumechange","events","isMute","debugWarn","_handleDocumentClickPlay","length","eventsDestroy","click","mute","audio","21846789PfeXdy","pause","off","srcObject","TAG_NAME","destroy","_prevVolume","addEventListener","timeupdate","debugLog","544764yiMswN","play","_initAudioEvents","14886fzmpMK","bindStream","setVolume","resume","forEach","muted","11886784VYjXjK","_handleClickPlay","audioEnabled","5609088ynzbdD","init","volume","audio play error","bind","708900CzrDaN","player","updateStats","getEngineType","$video","567WQzZhV","removeEventListener","resetInit","105xTJMXf","7643830sBssIJ","lastVolume"];return(ys=function(){return t})()}!function(t,e){const s=gs,i=t();for(;;)try{if(888826===-parseInt(s(292))/1+parseInt(s(245))/2*(-parseInt(s(264))/3)+-parseInt(s(254))/4+parseInt(s(268))/5+parseInt(s(259))/6*(parseInt(s(267))/7)+-parseInt(s(251))/8+parseInt(s(282))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ys);class bs extends r{constructor(t){const e=gs;super(),this.TAG_NAME="AudioWebrtcPlayerLoader",this.$video=new Audio,this[e(260)]=t,this[e(255)]=!1,this._prevVolume=null,this[e(278)]=[],this[e(276)]=this[e(252)][e(258)](this),this._initAudioEvents(),this.player[e(291)](this[e(286)],e(255))}async[ms(287)](){const t=ms;return this.resetInit(),this[t(284)](),this.eventsDestroy[t(277)]&&(this[t(278)][t(249)]((t=>t())),this[t(278)]=[]),this[t(288)]=null,this[t(263)]&&(this[t(263)].pause(),this.$video[t(285)]=null,this[t(263)]=null),this[t(260)][t(291)](this[t(286)],t(287)),!0}[ms(244)](){const t=ms,{proxy:e}=this.player[t(273)],s=e(this.$video,t(290),(e=>{const s=t,i=parseInt(e[s(270)],10);this[s(260)].handleRender(),this[s(260)][s(261)]({ts:i})}));this[t(278)].push(s)}[ms(266)](){this[ms(255)]=!1}[ms(252)](){const t=ms;this.$video&&(this[t(263)][t(293)](),document[t(265)](t(279),this[t(276)]))}[ms(246)](t){const e=ms;this[e(263)][e(285)]=t,this[e(263)][e(256)]=1,this[e(263)][e(293)]().catch((t=>{const s=e;this[s(260)][s(275)](this[s(286)],s(257),t),document[s(289)](s(279),this[s(276)])}))}[ms(262)](){return ms(281)}get isPlaying(){return!0}get[ms(256)](){const t=ms;return Ct(this[t(263)].muted)?0:this[t(263)][t(256)]}get[ms(274)](){return 0===this[ms(263)].volume||Ct(this.$video.muted)}[ms(280)](t){const e=ms;this.setVolume(t?0:this[e(260)][e(269)]||.5)}[ms(247)](t){const e=ms;t=parseFloat(t),isNaN(t)||null===this.$video||(this.$video[e(250)]&&(this[e(263)][e(250)]=!1),t=nt(t,0,1),ct()&&(this[e(263)][e(250)]=0===t),null!==this[e(288)]&&this[e(288)]===t||(null===this._prevVolume?this[e(260)][e(271)](S[e(280)],0===t):0===this[e(288)]&&t>0?this[e(260)][e(271)](S.mute,!1):this[e(288)]>0&&0===t&&this.player[e(271)](S.mute,!0),this[e(263)][e(256)]=t,this[e(260)].emit(S[e(272)],this[e(260)][e(256)]),this.player.emit(S[e(256)],this[e(260)][e(256)]),this[e(288)]=t))}[ms(283)](){}[ms(248)](){}[ms(253)](){this.mute(!1)}}function Is(){const t=["isWebrtc","1483454yVjzvx","24922700TOUdQs","useWasm","playerAudio","3467584lThFnL","279SCHjPn","185NuAacf","3076JpnyFs","useMSE","14103kgLYSg","isWebrtcH265","_opt","isHls","useWCS","wcsDecodeAudio","22NOkUKY","50606ygUTlD","playbackTF","playType","3970BuZouc","mseDecodeAudio","582jcmmsl"];return(Is=function(){return t})()}function ws(t,e){const s=Is();return(ws=function(t,e){return s[t-=250]})(t,e)}!function(t,e){const s=ws,i=t();for(;;)try{if(373637===parseInt(s(261))/1*(-parseInt(s(262))/2)+-parseInt(s(251))/3*(parseInt(s(253))/4)+parseInt(s(252))/5*(parseInt(s(267))/6)+-parseInt(s(269))/7+-parseInt(s(250))/8+parseInt(s(255))/9*(-parseInt(s(265))/10)+parseInt(s(270))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Is);class Es{constructor(t){const e=ws;return new(Es.getLoaderFactory(t[e(257)]))(t)}static getLoaderFactory(t){const e=ws;return t[e(264)]===h[e(263)]?t[e(254)]&&t[e(266)]||t[e(259)]&&t[e(260)]?ns:us:t[e(264)]===h.playVod?t.useMSE&&t[e(266)]||t[e(259)]&&t[e(260)]?ns:us:t.playType===h[e(272)]?t[e(268)]?bs:fs:t[e(258)]&&St(t.supportHls265)||t[e(268)]&&St(t[e(256)])||t.useMSE&&t[e(266)]||t.isAliyunRtc||t[e(259)]&&t[e(260)]||t[e(271)]&&t.wasmPlayAudioUseVideoRender?ns:is}}const ks=vs;!function(t,e){const s=vs,i=t();for(;;)try{if(926802===-parseInt(s(237))/1*(parseInt(s(208))/2)+-parseInt(s(181))/3*(parseInt(s(194))/4)+parseInt(s(198))/5*(-parseInt(s(197))/6)+parseInt(s(244))/7+-parseInt(s(233))/8*(parseInt(s(232))/9)+parseInt(s(186))/10*(-parseInt(s(199))/11)+parseInt(s(239))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ts);const Cs=ks(189),Ss=ks(180),Bs=()=>ks(213)in navigator&&-1===window[ks(202)][ks(212)][ks(225)]("Samsung")&&St(ct());function vs(t,e){const s=Ts();return(vs=function(t,e){return s[t-=178]})(t,e)}function Ts(){const t=["userAgent","wakeLock","playsinline","src","Disabling wake lock.","enabled","-100%","removeEventListener","_wakeLock","noSleepVideo ","parentNode","setAttribute","visibilityState","indexOf","type","player","visibilitychange","timeupdate","Native Wake Lock API supported.","style","18ZiEjpg","307480XSoDEk","NoSleep","title","release","1AtEjdx","message","59450436fHGekP","video/","request","currentTime","fullscreenchange","2346414BZiQNC","handleVisibilityChange","then","Wake Lock active.","data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACORtZGF03gIATGF2YzU4LjM1LjEwMAACMEAOAAACcQYF//9t3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2MSByMzAyNyA0MTIxMjc3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTAgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0wIHdlaWdodHA9MCBrZXlpbnQ9MjUwIGtleWludF9taW49MTAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAADvZYiED/JigADD7JycnJycnJycnJycnJycnJycnJ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114BGCAHARggBwEYIAcBGCAHARggBwAAAAdBmjgf4BLYARggBwEYIAcBGCAHARggBwAAAAdBmlQH+AS2ARggBwEYIAcBGCAHARggBwAAAAdBmmA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZrAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0Ga4D/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbAD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbID/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBm0A/wCWwARggBwEYIAcBGCAHAAAAB0GbYD/AJbABGCAHARggBwEYIAcAAAAHQZuAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0Gb4D/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBmgA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmiA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmkA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZpgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwAAAAdBmsA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmuA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmwA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZsgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtgP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GbgD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdB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","60573FHbfan","play","isEnabled","Failed to remove noSleepVideo element.","pause","40ECSXso","debugLog","noSleepVideo Wake Lock active.","data:video/webm;base64,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ggOtgPj//qOHggPBgPj//qOHggPVgPj//qOHggPpgPj//qOegQPvANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCA/2A+P/+o4eCBBGA+P/+o4eCBCWA+P/+o4eCBDmA+P/+o4eCBE2A+P/+o56BBFMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IEiID4//6jh4IEnID4//6jh4IEsID4//6jnoEEtwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggTEgPj//qOHggTYgPj//qOHggTsgPj//qOHggUAgPj//qOHggUUgPj//qOegQUbANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBSiA+P/+o4eCBTyA+P/+o4eCBVCA+P/+o4eCBWSA+P/+o4eCBXiA+P/+o56BBX8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IFjID4//6jh4IFoID4//6jh4IFtID4//6jh4IFyID4//6jh4IF3ID4//6jnoEF4wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggXwgPj//qOHggYEgPj//qOHggYYgPj//qOHggYsgPj//qOHggZAgPj//qOegQZHANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBlSA+P/+o4eCBmiA+P/+o4eCBnyA+P/+o4eCBpCA+P/+o4eCBqSA+P/+o56BBqsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IGuID4//6jh4IGzID4//6jh4IG4ID4//6jh4IG9ID4//6jh4IHCID4//6jnoEHDwDRAgAFEBAUYABhYL/QACIAEM1+tck+ccwAAKOHggccgPj//qOHggcwgPj//qOHggdEgPj//qOHggdYgPj//qOHggdsgPj//qOegQdzANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCB4CA+P/+o4eCB5SA+P/+o4eCB6iA+P/+o4eCB7yA+P/+o4eCB9CA+P/+o56BB9cA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IH5ID4//6jh4IH+ID4//6jh4IIDID4//6jh4IIIID4//6jh4IINID4//6jnoEIOwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgghIgPj//qOHgghcgPj//qOHgghwgPj//qOHggiEgPj//qOegQifANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCMCA+P/+o4eCCNSA+P/+o4eCCOiA+P/+o4eCCPyA+P/+o56BCQMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IJEID4//6jh4IJJID4//6jh4IJOID4//6jh4IJTID4//6jh4IJYID4//6jnoEJZwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggl0gPj//qOHggmIgPj//qOHggmcgPj//qOHggmwgPj//qOHggnEgPj//qOegQnLANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCdiA+P/+o4eCCeyA+P/+o4eCCgCA+P/+o4eCChSA+P/+o4eCCiiA+P/+o56BCi8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IKPID4//6jh4IKUID4//6jh4IKZID4//6jh4IKeID4//6jh4IKjID4//6jnoEKkwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggqggPj//qOHggq0gPj//qOHggrIgPj//qOHggrcgPj//qOHggrwgPj//qOegQr3ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCwSA+P/+o4eCCxiA+P/+o4eCCyyA+P/+o4eCC0CA+P/+o4eCC1SA+P/+o56BC1sA0QIABRAQFGAAYWC/0AAiABDNfrXJPnHMAACjh4ILaID4//6jh4ILfID4//6jh4ILkID4//6jh4ILpID4//6jh4ILuID4//6jnoELvwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggvMgPj//qOHggvggPj//qOHggv0gPj//qOHggwIgPj//qOHggwcgPj//qOegQwjANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDDCA+P/+o4eCDESA+P/+o4eCDFiA+P/+o4eCDGyA+P/+o4eCDICA+P/+o56BDIcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IMlID4//6jh4IMqID4//6jh4IMvID4//6jh4IM0ID4//6jnoEM6wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg0MgPj//qOHgg0ggPj//qOHgg00gPj//qOHgg1IgPj//qOegQ1PANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDVyA+P/+o4eCDXCA+P/+o4eCDYSA+P/+o4eCDZiA+P/+o4eCDayA+P/+o56BDbMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4INwID4//6jh4IN1ID4//6jh4IN6ID4//6jh4IN/ID4//6jh4IOEID4//6jnoEOFwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg4kgPj//qOHgg44gPj//qOHgg5MgPj//qOHgg5ggPj//qOHgg50gPj//qOegQ57ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDoiA+P/+o4eCDpyA+P/+o4eCDrCA+P/+o4eCDsSA+P/+o4eCDtiA+P/+o56BDt8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IO7ID4//6jh4IPAID4//6jh4IPFID4//6jh4IPKID4//6jh4IPPID4//6jnoEPQwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg9QgPj//qOHgg9kgPj//qOHgg94gPj//qOHgg+MgPj//qOHgg+ggPj//qOegQ+nANECAAUQEBRgAGFgv9AAIgAQzX61yT5xzAAAo4eCD7SA+P/+o4eCD8iA+P/+o4eCD9yA+P/+o4eCD/CA+P/+o4eCEASA+P/+o56BEAsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IQGID4//6jh4IQLID4//6jh4IQQID4//6jh4IQVID4//6jh4IQaID4//6jnoEQbwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghB8gPj//qOHghCQgPj//qOHghCkgPj//qOHghC4gPj//qOHghDMgPj//qOegRDTANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEOCA+P/+o4eCEPSA+P/+o4eCEQiA+P/+o56BETcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IRQ4D4//6jh4IRV4D4//6jh4IRa4D4//6jh4IRf4D4//6jh4IRk4D4//6jnoERmwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghGngPj//qOHghG7gPj//qOHghHPgPj//qOHghHjgPj//qOHghH3gPj//qOegRH/ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEguA+P/+o4eCEh+A+P/+o4eCEjOA+P/+o4eCEkeA+P/+o4eCEluA+P/+o56BEmMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4ISb4D4//6jh4ISg4D4//6jh4ISl4D4//6jh4ISq4D4//6jh4ISv4D4//6jnoESxwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghLTgPj//qOHghLngPj//qOHghL7gPj//qOHghMPgPj//qOHghMjgPj//qOegRMrANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEzeA+P/+o4eCE0uA+P/+o4eCE1+A+P/+o4eCE3OA+P/+oAEAAAAAAAAPoYeCE4cA+P/+daKDB/KBHFO7a5G7j7OBB7eK94EB8YIDX/CBDA==","enable","assign","screen","debugWarn","256gsQBra","destroy","handleNoSleepVideoTimeUpdate","12018kdHcvW","4610bllEHJ","1422685dqTyfb","visible","noSleepVideo","navigator","createElement","removeChild","mp4","disable","name","1258806okhDVG","catch","_addSourceToVideo","absolute"];return(Ts=function(){return t})()}class Rs{constructor(t){const e=ks;this[e(227)]=t,this[e(217)]=!1,Bs()?(this.player.debugLog(e(234),e(230)),this[e(220)]=null,this[e(245)]=()=>{const t=e;null!==this[t(220)]&&document[t(224)]===t(200)&&this[t(190)]()},document.addEventListener(e(228),this[e(245)]),document.addEventListener(e(243),this[e(245)])):(this.player[e(187)](e(234),"Native Wake Lock API not supported. so use video element."),this[e(201)]=document[e(203)]("video"),this.noSleepVideo[e(223)](e(235),"No Sleep"),this[e(201)][e(223)](e(214),""),this[e(210)](this[e(201)],"webm",Cs),this[e(210)](this.noSleepVideo,e(205),Ss),Object[e(191)](this[e(201)][e(231)],{position:e(211),left:e(218),top:e(218)}),document.querySelector("body").append(this[e(201)]),this[e(196)]=()=>{const t=e;this.noSleepVideo&&this[t(201)][t(242)]>4&&(this[t(201)][t(242)]=1)},this[e(201)].addEventListener(e(229),this[e(196)]))}[ks(195)](){const t=ks;if(this[t(220)]&&(this[t(220)][t(236)](),this._wakeLock=null),this[t(201)]){this.handleNoSleepVideoTimeUpdate&&this[t(201)][t(219)](t(229),this[t(196)]);try{this[t(201)][t(222)]&&this.noSleepVideo[t(222)][t(204)](this[t(201)])}catch(e){this[t(227)][t(193)]("NoSleep",t(184))}this[t(201)]=null}this[t(245)]&&(document[t(219)](t(228),this.handleVisibilityChange),document[t(219)](t(243),this.handleVisibilityChange))}[ks(210)](t,e,s){const i=ks;var r=document[i(203)]("source");r[i(215)]=s,r[i(226)]=i(240)+e,t.appendChild(r)}get[ks(183)](){return this[ks(217)]}enable(){const t=ks;if(Bs())return navigator[t(213)][t(241)](t(192))[t(178)]((e=>{const s=t;this[s(220)]=e,this[s(217)]=!0,this[s(227)][s(187)](s(213),s(179)),this[s(220)].addEventListener(s(236),(()=>{const t=s;this[t(227)].debugLog(t(213),"Wake Lock released.")}))}))[t(209)]((e=>{const s=t;throw this.enabled=!1,this[s(227)].debugWarn(s(213),e[s(207)]+", "+e.message),e}));return this[t(201)][t(182)]().then((e=>{const s=t;return this.player[s(187)]("wakeLock",s(188)),this[s(217)]=!0,e})).catch((e=>{const s=t;throw this.player[s(193)](s(213),s(221)+e.name+", "+e[s(238)]),this.enabled=!1,e}))}[ks(206)](){const t=ks;Bs()?(this[t(220)]&&this[t(220)][t(236)](),this[t(220)]=null):this[t(201)]&&this.noSleepVideo[t(185)](),this[t(217)]=!1,this[t(227)][t(187)](t(213),t(216))}}const Ps=Ds;function Ds(t,e){const s=Ms();return(Ds=function(t,e){return s[t-=219]})(t,e)}function Ms(){const t=["destroy","revokeObjectURL","buffer","getAudioBufferSize","key","sendWsMessage","workerClearTimeout","updateWorkConfig","debugLog","audioCode","playAudio","code","error","8534581ADFfWA","handleRender","filename: ","isG711a","application/javascript","URL","audio","isFlv","debugWarn","onerror","isG711u","isDecoderUseCDN","onmessage and workerFetch response stream end but player is null","workerFetchStream","websocketError","onerror filename: ","updateConfig","delay","websocket","protocol","cmd","fetchStream","onmessage:","updateAudioInfo","msg","_initWork","TAG_NAME","play","has loaded and post message to destroy","_destroy","send close but not response and destroy directly","24kChYrU","initScriptNode","loaded","decoderWorker","streamAbps","workerEnd","audioContext","_opt","decoderAudioWorker","52338VWeWnO","1894068iYHXNZ","load","wasm://","init","18ioycDS","init and decoder url is ","onmessage","onmessage and workerFetch response stream end but player.stream is null","has loaded but decoderWorker is null and destroy directly","initAudio","createObjectURL","player","10ZBjwWQ","protocols","videoBuffer","fetchError","indexOf","message","debugLevel","onmessageerror",", max is ","workerUrl","streamSuccess","3BWaAfs","filename","decoderWorkerInit","onmessage and workerFetch response stream success but stream is null","terminate","workerFetch","emitError","stringify","postMessage","destroyResolve","decoderWorkerCloseTimeout","stream","onmessage and workerFetch response websocket error but stream is null","data","1279580LpPwzw","_initDecoderWorker","sampleRate","10956312tdGrGD","3214589JjpAKP","5726156tXLDNG","location","closeEnd","kBps","websocketClose",",message: ","channels","emit","length","close","value","unknown msg.cmd:","onmessage playAudio but audio is null","has not loaded and destroy directly","type","workerSendMessage","Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"];return(Ms=function(){return t})()}!function(t,e){const s=Ds,i=t();for(;;)try{if(951139===parseInt(s(306))/1+parseInt(s(307))/2+parseInt(s(330))/3*(-parseInt(s(236))/4)+-parseInt(s(231))/5*(-parseInt(s(311))/6)+-parseInt(s(235))/7*(parseInt(s(297))/8)+-parseInt(s(234))/9*(-parseInt(s(319))/10)+parseInt(s(266))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ms);class _s{constructor(t){const e=Ds;this.player=t,this[e(292)]=e(305),this[e(226)]=null,this[e(259)]=null,this[e(328)]=null;let s=this.player[e(304)].decoder;if(this[e(227)]=null,0===s[e(323)]("http")&&this[e(318)]._opt[e(277)]){const t=new Blob(['importScripts("'+s+'")'],{type:e(270)});s=window[e(271)][e(317)](t),this[e(328)]=s,this.workerClearTimeout=setTimeout((()=>{const t=e;window[t(271)][t(254)](this[t(328)]),this.workerUrl=null,this[t(259)]=null}),y)}this[e(300)]=new Worker(s),this._initDecoderWorker(),t[e(261)](this[e(292)],e(312)+s)}[Ps(253)](){return new Promise(((t,e)=>{const s=Ds;this[s(318)][s(299)]?(this[s(318)][s(261)](this[s(292)],s(294)),this[s(300)]?(this.decoderWorker[s(225)]({cmd:E[s(245)]}),this.destroyResolve=t,this.decoderWorkerCloseTimeout=setTimeout((()=>{const e=s;this[e(318)].debugWarn(this[e(292)],e(296)),this._destroy(),setTimeout((()=>{t()}),0)}),2e3)):(this[s(318)].debugWarn(this[s(292)],s(315)),this._destroy(),setTimeout((()=>{t()}),0))):(this[s(318)][s(261)](this[s(292)],s(249)),this._destroy(),setTimeout((()=>{t()}),0))}))}[Ps(295)](){const t=Ps;this.decoderWorkerCloseTimeout&&(clearTimeout(this[t(227)]),this[t(227)]=null),this[t(328)]&&(window[t(271)][t(254)](this.workerUrl),this[t(328)]=null),this[t(259)]&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this[t(300)]&&(this.decoderWorker[t(221)](),this[t(300)][t(275)]=null,this[t(300)].onmessageerror=null,this.decoderWorker[t(313)]=null,this[t(300)]=null),this[t(318)][t(261)](this.TAG_NAME,t(253)),this[t(226)]&&(this.destroyResolve(),this[t(226)]=null)}[Ps(232)](){const t=Ps;this[t(318)],this.decoderWorker[t(275)]=e=>{const s=t,i=e[s(331)]||"",r=e[s(324)]||"",o=i&&(-1!==i[s(323)](".wasm")||-1!==i[s(323)](s(309)));o&&-1!==r.indexOf(N.memoryAccessOutOfBounds)?this[s(318)].debugLog("decoderWorker","onerror and ignore filename: "+i+s(241)+r,e):(this[s(318)].debugError(s(300),s(281)+i+s(241)+r,e),o?this[s(318)][s(223)](T.decoderWorkerWasmError,s(268)+i+s(241)+r):this[s(318)].emitError(T.decoderWorkerInitError,s(268)+i+",message: "+r))},this[t(300)][t(326)]=e=>{const s=t;this[s(318)].debugError(this[s(292)],s(326),e)},this[t(300)][t(313)]=e=>{const s=t,i=e[s(230)];switch(i[s(286)]){case I[s(310)]:this.player[s(261)](this.TAG_NAME,s(288),I[s(310)]),this.decoderWorker&&this[s(291)](),!this[s(318)].loaded&&this[s(318)].emit(S[s(308)]),this[s(318)][s(243)](S[s(219)]);break;case I[s(262)]:this[s(318)][s(261)](this[s(292)],s(288),I.audioCode,i[s(264)]),this.player[s(272)]&&this[s(318)][s(272)][s(289)]({encTypeCode:i.code});break;case I.initAudio:if(this[s(318)][s(261)](this[s(292)],"onmessage:",I[s(316)],"channels:"+i[s(242)]+",sampleRate:"+i[s(233)]),i[s(242)]>2)return this[s(318)][s(243)](S[s(265)],T.audioChannelError),void this.player[s(243)](T.audioChannelError,"audio channel is "+i[s(242)]+s(327)+2);this[s(318)][s(272)]&&(this[s(318)].audio[s(289)](i),this.player[s(272)][s(298)]());break;case I[s(263)]:if(!this[s(318)][s(272)])return void this[s(318)][s(274)](this[s(292)],s(248));this[s(318)][s(267)](),this[s(318)].updateStats({ts:i.ts,buf:i[s(283)]}),this[s(318)][s(272)][s(293)](i[s(255)],i.ts);break;case I[s(222)]:i[s(250)]===S[s(329)]?this.player.stream?this.player[s(228)].emit(S.streamSuccess):this.player[s(274)](this[s(292)],s(220)):i.type===S.streamRate?this.player[s(243)](S[s(239)],(i.value/1024).toFixed(2)):i[s(250)]===S.streamEnd?this[s(318)]?(i.value===a[s(284)]&&this[s(318)][s(243)](S[s(240)],i[s(290)]),this[s(318)][s(228)]?this[s(318)][s(228)][s(243)](S.streamEnd,i[s(290)]):this.player[s(274)](this.TAG_NAME,s(314))):this[s(318)].debugWarn(this.TAG_NAME,s(278)):i[s(250)]===T[s(280)]?(this.player&&this[s(318)][s(228)]?this[s(318)].stream[s(243)](T[s(280)],i[s(246)]):this[s(318)][s(274)](this[s(292)],s(229)),this[s(318)]&&this.player[s(243)](S[s(265)],T[s(280)])):i[s(250)]===T[s(322)]?(this[s(318)]&&this[s(318)][s(228)]?this[s(318)][s(228)].emit(T[s(322)],i[s(246)]):this.player[s(274)](this[s(292)],"onmessage and workerFetch response fetch error but stream is null"),this[s(318)]&&this.player[s(243)](S[s(265)],T[s(322)])):i[s(250)]===S[s(301)]&&this[s(318)].updateStats({abps:i.value});break;case I[s(302)]:this[s(318)].debugLog(this[s(292)],s(288),I[s(302)]),this[s(318)][s(253)](),console[s(265)]("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),alert(s(252)),window[s(237)].reload();break;case I[s(238)]:this[s(318)][s(261)](this[s(292)],s(288),I[s(238)]),this[s(295)]();break;default:this.player[s(274)](this[s(292)],s(288),s(247)+i[s(286)])}}}[Ps(291)](){const t=Ps,e={debug:this[t(318)]._opt.debug,debugLevel:this[t(318)]._opt[t(325)],sampleRate:this[t(318)].audio&&this.player[t(272)][t(303)]&&this[t(318)][t(272)][t(303)][t(233)]||0,audioBufferSize:this[t(318)][t(272)]&&this.player[t(272)][t(256)]()||1024,videoBuffer:this.player[t(304)][t(321)],isChrome:pt()};this.decoderWorker.postMessage({cmd:E.init,opt:JSON[t(224)](e)})}[Ps(260)](t){const e=Ps;this[e(300)]&&this[e(300)][e(225)]({cmd:E[e(282)],key:t[e(257)],value:t.value})}[Ps(279)](t){const e=Ps;let s=arguments[e(244)]>1&&void 0!==arguments[1]?arguments[1]:{};const{_opt:i}=this[e(318)];let r=[];s[e(320)]&&(r=s[e(320)],delete s[e(320)]);const o={protocol:i[e(285)],isFlv:i[e(273)],isG711a:i[e(269)],isG711u:i[e(276)]};this[e(300)][e(225)]({cmd:E[e(287)],url:t,protocols:r,opt:JSON[e(224)](o)})}[Ps(251)](t){const e=Ps;this.decoderWorker[e(225)]({cmd:E[e(258)],message:t})}}var Ws=ii;!function(t,e){for(var s=ii,i=t();;)try{if(822160===parseInt(s(288))/1*(parseInt(s(230))/2)+parseInt(s(282))/3*(parseInt(s(253))/4)+parseInt(s(192))/5*(parseInt(s(188))/6)+parseInt(s(232))/7+-parseInt(s(193))/8*(parseInt(s(269))/9)+parseInt(s(252))/10*(-parseInt(s(203))/11)+-parseInt(s(271))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(qs);var Ls,Ns=Ws(187),Qs="text/html",Hs=/^(?:text|application)\/xml/i,Os=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,js=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Gs=/^\s*$/,Fs={},xs={},Ys="",Vs={type:Ws(286),beforeSend:Us,success:Us,error:Us,complete:Us,context:null,xhr:function(){return new(window[Ws(254)])},accepts:{json:Ns,xml:Ws(216),html:Qs,text:Ws(236),"*":"*/".concat("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:Us,contentType:Ws(213)};function Us(){}var zs=function(t,e){var s=Ws;typeof t===s(204)&&(e=t,t=void 0);var i=si({},e=e||{});for(var r in Vs)void 0===i[r]&&(i[r]=Vs[r]);try{var o={},n=new Promise((function(t,e){var i=s;o[i(235)]=t,o[i(290)]=e}));n[s(235)]=o[s(235)],n[s(290)]=o[s(290)],i[s(295)]=n}catch(t){i[s(295)]={resolve:Us,reject:Us}}var A=js[s(270)](window.location[s(227)].toLowerCase())||[];i[s(263)]=((t||i[s(263)]||window[s(249)][s(227)])+"").replace(/#.*$/,"").replace(/^\/\//,A[1]+"//");var a=i[s(263)];!i[s(285)]&&(i.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(i.url)&&RegExp.$2!==window[s(249)][s(227)]);var h=i[s(267)];if(h===s(276)){if(!/=\?/[s(238)](i[s(263)])){var c=(i.jsonp||s(225))+"=?";i[s(263)]=$s(i[s(263)],c)}return function(t){var e,s=Ws,i=t.jsonpCallback||s(276)+ni(),r=window[s(255)][s(239)](s(274)),o={abort:function(){i in window&&(window[i]=Us)}},n=window[s(255)][s(237)](s(209))[0]||window.document[s(265)];function A(i){var r=s;window[r(272)](e),o.abort(),Zs(i[r(289)],o,i[r(289)],t),a()}function a(){var t=s;r.clearAttributes?r[t(250)]():r[t(275)]=r.onreadystatechange=r[t(223)]=null,r.parentNode&&r[t(280)][t(214)](r),r=null,delete window[i]}return r.onerror=function(t){A(t)},window[i]=function(s){window.clearTimeout(e),Js(s,o,t),a()},ti(t),r.src=t[s(263)][s(281)](/=\?/,"="+i),r[s(198)]=$s(r.src,"_="+(new Date)[s(279)]()),r[s(220)]=!0,t.scriptCharset&&(r[s(248)]=t.scriptCharset),n[s(246)](r,n[s(256)]),t[s(218)]>0&&(e=window[s(219)]((function(){var e=s;o.abort(),Zs(e(218),o,e(218),t),a()}),t[s(218)])),t[s(295)][s(191)]=function(){o[s(191)]()},t[s(295)][s(226)]=o,t.promise}(i)}ti(i);var u=i[s(217)][h]||i[s(217)]["*"],l={};/^([\w-]+:)\/\//[s(238)](i[s(263)])?RegExp.$1:window[s(249)][s(245)];var d,p=Vs[s(226)]();!i[s(285)]&&!l[s(208)]&&(l["X-Requested-With"]="XMLHttpRequest"),i.ifModified&&(Fs[a]&&(l["If-Modified-Since"]=Fs[a]),xs[a]&&(l["If-None-Match"]=xs[a])),u&&(l[s(261)]=u,u.indexOf(",")>-1&&(u=u[s(291)](",",2)[0]),p[s(259)]&&p[s(259)](u));var f=!/^(?:GET|HEAD)$/.test(i[s(289)].toUpperCase());if((i.data&&f&&!1!==i[s(283)]||e[s(283)])&&(l[s(196)]=i[s(283)]),!1===i.cache&&!f){var m=/([?&])_=[^&]*/;i[s(263)]=m[s(238)](a)?a[s(281)](m,s(202)+ni()):a+(/\?/[s(238)](a)?"&":"?")+"_="+ni()}i[s(287)]=si(l,i[s(287)]||{}),p[s(273)]=function(){var t,e,r=s;if(4===p[r(211)]){clearTimeout(d);var o,n=!1;if(p[r(247)]>=200&&p[r(247)]<300||304===p[r(247)]){if(Ys=p[r(222)](),i[r(201)]){var A=Ks(r(258));A&&(Fs[a]=A),(A=Ks("etag"))&&(xs[a]=A)}h=h||(t=p[r(277)]("content-type"),e=Ws,t&&(t===Qs?e(244):t===Ns?e(257):Hs[e(238)](t)&&e(210))||"text"),o=p[r(212)];try{h===r(210)?o=p[r(262)]:"json"===h&&(o=Gs[r(238)](o)?null:JSON[r(240)](o))}catch(t){n=t}n?Zs(n,r(190),p,i):Js(o,p,i)}else Zs(null,r(241),p,i)}};var g=!(s(220)in i)||i.async;if(p[s(215)](i[s(289)],i[s(263)],g,i[s(224)],i.password),i[s(260)])for(var y in i.xhrFields)p[y]=i[s(260)][y];for(var y in i[s(293)]&&p[s(259)]&&p.overrideMimeType(i[s(293)]),i[s(287)])void 0!==i[s(287)][y]&&p[s(207)](y,i[s(287)][y]+"");return!1===function(t,e){var s=e[Ws(231)];if(!1===e.beforeSend.call(s,t,e))return!1}(p,i)?(p[s(191)](),!1):(i.timeout>0&&(d=window[s(219)]((function(){var t=s;p[t(273)]=Us,p[t(191)](),Zs(null,t(218),p,i)}),i.timeout)),p[s(229)](i[s(194)]?i[s(194)]:null),i[s(295)].abort=function(){p.abort()},i[s(295)])};function qs(){var t=["overrideMimeType","xhrFields","Accept","responseXML","url","POST","documentElement","getJSON","dataType","post","99qlolHT","exec","33564984ZdMcRY","clearTimeout","onreadystatechange","script","onload","jsonp","getResponseHeader","[object Array]","getTime","parentNode","replace","3RAwRfR","contentType","toUpperCase","crossDomain","GET","headers","4567PIzMwo","type","reject","split","%20","mimeType","slice","promise","application/json, text/javascript","1289958XKohIk","push","parseerror","abort","25uZWTbB","979816nqboIX","data","prototype","Content-Type","success","src","processData","length","ifModified","$1_=","11gIcfUw","object","call","get","setRequestHeader","X-Requested-With","head","xml","readyState","responseText","application/x-www-form-urlencoded; charset=UTF-8","removeChild","open","application/xml, text/xml","accepts","timeout","setTimeout","async","toString","getAllResponseHeaders","onerror","username","callback","xhr","href","join","send","718Suihok","context","6142241YNcEjN","add","name","resolve","text/plain","getElementsByTagName","test","createElement","parse","error","function","toLowerCase","html","protocol","insertBefore","status","charset","location","clearAttributes","ajaxSetup","2365540GVvqsJ","6444248azsVFe","XMLHttpRequest","document","firstChild","json","Last-Modified"];return(qs=function(){return t})()}function Js(t,e,s){var i=Ws,r=s[i(231)],o=i(197);s[i(197)][i(205)](r,t,o,e),s[i(295)][i(235)](t,o,e),Xs(o,e,s)}function Xs(t,e,s){var i=s.context;s.complete.call(i,e,t)}function Zs(t,e,s,i){var r=Ws,o=i[r(231)];i.error[r(205)](o,s,e,t),i[r(295)][r(290)](s,e,t),Xs(e,s,i)}function Ks(t){var e,s=Ws;if(!Ls){for(Ls={};e=Os[s(270)](Ys);)Ls[e[1][s(243)]()]=e[2];e=Ls[t[s(243)]()]}return null===e?null:e}function $s(t,e){return(t+"&"+e).replace(/[&?]{1,2}/,"?")}function ti(t){var e,s,i,r,o=Ws;ri(t)&&!(t[o(194)]instanceof FormData)&&t[o(199)]&&(t[o(194)]=(e=t[o(194)],(r=[])[(i=Ws)(233)]=function(t,e){this[i(189)](encodeURIComponent(t)+"="+encodeURIComponent(e))},ei(r,e,s),r[i(228)]("&")[i(281)](i(292),"+"))),t.data&&(!t[o(289)]||t[o(289)][o(284)]()===o(286))&&(t[o(263)]=$s(t[o(263)],t[o(194)]))}function ei(t,e,s,i){var r,o,n=Ws,A=(r=e,o=Ws,Object[o(195)][o(221)].call(r)===o(278));for(var a in e){var h=e[a];i&&(a=s?i:i+"["+(A?"":a)+"]"),!i&&A?t[n(233)](h[n(234)],h.value):(s?A(h):ri(h))?ei(t,h,s,a):t.add(a,h)}}function si(t){for(var e=Ws,s=Array.prototype[e(294)],i=s[e(205)](arguments,1),r=0,o=i[e(200)];rt())),this[t(424)]=[]),this[t(449)]&&(this[t(449)][t(463)]().forEach((e=>{e[t(482)]()})),this[t(449)]=null),this[t(418)]&&(this.rtcPeerConnectionDataChannel.onopen=it,this[t(418)][t(506)]=it,this.rtcPeerConnectionDataChannel[t(432)]=it,this[t(418)][t(505)](),this[t(418)]=null),this[t(412)]&&(this.rtcPeerConnection[t(434)]=it,this[t(412)][t(420)]=it,this[t(412)][t(494)]=it,this.rtcPeerConnection.ondatachannel=it,this[t(412)][t(505)](),this[t(412)]=null)}[ci(416)](){const t=ci,e=new RTCPeerConnection,s=this[t(489)];e[t(499)](t(423),{direction:"recvonly"}),e[t(419)]=e=>{const s=t;this[s(489)][s(454)](this.TAG_NAME,"onsignalingstatechange[本地端的信号状态]",e)},e[t(431)]=s=>{const i=t;this[i(489)][i(454)](this[i(460)],i(444),s,e.iceGatheringState)},e[t(426)]=e=>{const s=t;this[s(489)][s(454)](this[s(460)],s(421),e)},e[t(476)]=i=>{const r=t;this[r(489)][r(454)](this[r(460)],r(476),e[r(457)]);const o=e[r(457)];switch(this[r(489)][r(496)](S[r(450)],o),this[r(490)]=o===r(462),e[r(457)]){case r(498):break;case"checking":s[r(496)](S[r(492)]);break;case r(440):s.emit(S[r(493)]);break;case r(503):s[r(496)](S.webrtcFailed);break;case"disconnected":s.emit(S[r(455)]);break;case r(495):s[r(496)](S[r(438)]);break;case"completed":s[r(496)](S[r(428)]);break;case r(440):s[r(496)](S[r(493)])}},e[t(434)]=e=>{const s=t;this[s(489)][s(454)](this[s(460)],s(434),e),e[s(461)]&&this.player[s(454)](this[s(460)],s(469),e[s(461)].candidate)},e.ontrack=s=>{const i=t;if(this[i(489)][i(454)](this.TAG_NAME,i(420),s),"video"===s[i(465)][i(425)]);else if(s[i(465)][i(425)]===i(423)){this[i(489)][i(454)](this.TAG_NAME,i(484)),this[i(448)]=e[i(427)]()[i(473)]((function(t){const e=i;return t[e(465)]===s[e(465)]})),this.rtcPeerTrackAudioReceiver&&this[i(504)]();let t=s[i(459)][0];this[i(449)]=t,this[i(489)].audio.bindStream(t)}},e[t(433)]=e=>{const s=t;this.player.debugLog(this[s(460)],"onicecandidateerrorr[candidate错误]",e),this[s(489)][s(453)](T[s(497)],e)},e[t(494)]=i=>{const r=t;switch(this.player.debugLog(this[r(460)],r(500),i),this[r(489)][r(496)](S[r(479)],e[r(429)]),e[r(429)]){case r(498):case r(447):case r(495):case r(462):break;case r(503):this[r(490)]&&s[r(496)](S[r(491)]);case r(440):}},this[t(412)]=e}[ci(504)](){const t=ci;this[t(489)][t(454)](this[t(460)],"_startBandwidthEstimateInterval"),this[t(464)](),this.bandwidthEstimateInterval=setInterval((()=>{const e=t;this[e(448)]&&this[e(448)][e(466)]()[e(501)]((t=>{const s=e;let i=0;const r={};t[s(445)]((t=>{const e=s;if(t&&t.type===Q){this[e(422)][e(441)]=t[e(430)];const s=((t[e(430)]||0)-(this[e(468)][e(430)]||0))/1e3,o=Number(t[e(443)]||0)-Number(this.prevWebrtcAudioStats[e(443)]||0),n=Math[e(502)](o/s);i+=n,r[e(481)]=n,this[e(468)]=t}})),this[s(489)].updateStats(r),this[s(489)][s(496)](S.kBps,(i/1024)[s(480)](2))}))}),1e3)}[ci(464)](){const t=ci;this[t(489)].debugLog(this.TAG_NAME,"_stopBandwidthEstimateInterval"),this[t(467)]&&(clearInterval(this[t(467)]),this[t(467)]=null)}async[ci(415)](t){const e=ci;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=this[e(412)];try{const r=await i.createOffer();await i[e(474)](r);const o=await this[e(414)](t,r[e(472)],s);await i[e(488)](new RTCSessionDescription({type:"answer",sdp:o}))}catch(t){return this.player[e(417)](this.TAG_NAME,e(452)+t[e(470)](),t),{code:400,message:e(458)+t[e(470)]()}}return!0}async[ci(414)](t,e,s){return!0}}const di=pi;function pi(t,e){const s=fi();return(pi=function(t,e){return s[t-=268]})(t,e)}function fi(){const t=["324nWSDRW","player","sdp is null","WebRTCForZlmAudio","sdp","460593jnLoZc","destroy","debugLog","2267734ovWTBS","14084940VDdbaV","code","10enjWOS","1768464AvRTEG","msg","78248tRkCyb","54408QVjpZC","4eEkjWr","2352445eYFMer","TAG_NAME"];return(fi=function(){return t})()}!function(t,e){const s=pi,i=t();for(;;)try{if(337096===parseInt(s(280))/1+-parseInt(s(286))/2*(parseInt(s(271))/3)+parseInt(s(272))/4*(-parseInt(s(273))/5)+-parseInt(s(268))/6+-parseInt(s(283))/7+-parseInt(s(270))/8*(parseInt(s(275))/9)+parseInt(s(284))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fi);class mi extends li{constructor(t){const e=pi;super(t),this[e(274)]=e(278),this.player[e(282)](this[e(274)],"init")}async[di(281)](){const t=di;return super[t(281)](),this[t(276)][t(282)](this[t(274)],t(281)),!0}async getWebRtcRemoteSdpByPost(t,e,s){const i=di,r=await function(t,e){const s=Ai;return zs({url:t,type:s(243),data:e,contentType:s(248),processData:!1,dataType:s(235)})}(t,e);if(0!==r[i(285)])throw new Error(r[i(269)]);if(r[i(279)])return r[i(279)];throw new Error(i(277))}}const gi=yi;function yi(t,e){const s=bi();return(yi=function(t,e){return s[t-=336]})(t,e)}function bi(){const t=["1646808fBdfrN","debugLog","190fBdmqp","1058661EJQALz","TAG_NAME","4412280rJTorq","debugError","response sdp json code: ","this is raw sdp response","WebRTCForOtherAudio","response json code ","this is json sdp response","destroy","parse","989875yMKvqs","player","43760398IzmPzv","449876JbBtyQ","3sJqggq","text","30usQvVn","476253zsWzZt","7hslutr"];return(bi=function(){return t})()}!function(t,e){const s=yi,i=t();for(;;)try{if(563149===parseInt(s(345))/1+parseInt(s(342))/2*(parseInt(s(337))/3)+parseInt(s(336))/4+-parseInt(s(356))/5*(-parseInt(s(339))/6)+-parseInt(s(341))/7*(-parseInt(s(347))/8)+-parseInt(s(340))/9*(-parseInt(s(344))/10)+-parseInt(s(358))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bi);class Ii extends li{constructor(t){const e=yi;super(t),this.TAG_NAME=e(351),this.player[e(343)](this[e(346)],"init")}async[gi(354)](){const t=gi;return super[t(354)](),this[t(357)].debugLog(this[t(346)],"destroy"),!0}async getWebRtcRemoteSdpByPost(t,e,s){const i=gi,r=await function(t,e){const s=Ai;return fetch(t,{method:"POST",mode:s(242),cache:s(233),credentials:"include",redirect:s(237),referrerPolicy:s(247),headers:{"Content-Type":s(245)},body:e})}(t,e),o=await r[i(338)]();try{let t=JSON[i(355)](o);if(this[i(357)][i(343)](this[i(346)],i(353)),0!=t.code)throw this[i(357)][i(348)](this[i(346)],i(352)+t.code),new Error(i(349)+t.code);return t.sdp}catch(t){this[i(357)].debugLog(this.TAG_NAME,i(350))}return o}}const wi=Ei;function Ei(t,e){const s=ki();return(Ei=function(t,e){return s[t-=119]})(t,e)}function ki(){const t=["1467404FMwkwP","WebRTCForM7sAudio","getWebRtcRemoteSdpByPost","5715WZUpyy","init","2809939LIKfWS","3UUTRrw","TAG_NAME","destroy","1343905DExRuQ","16qQBXkg","14zoqDis","7244ixdLqs","1368CbUYND","2291940mQqGsG","player","159006GiZRix","debugLog"];return(ki=function(){return t})()}!function(t,e){const s=Ei,i=t();for(;;)try{if(185350===parseInt(s(124))/1*(parseInt(s(122))/2)+-parseInt(s(136))/3*(-parseInt(s(130))/4)+-parseInt(s(121))/5+parseInt(s(128))/6*(-parseInt(s(123))/7)+-parseInt(s(125))/8*(-parseInt(s(133))/9)+parseInt(s(126))/10+-parseInt(s(135))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ki);class Ci extends li{constructor(t){const e=Ei;super(t),this[e(119)]=e(131),this[e(127)][e(129)](this[e(119)],e(134))}async[wi(120)](){const t=wi;return super[t(120)](),this[t(127)][t(129)](this[t(119)],t(120)),!0}async[wi(132)](t,e,s){const i=await function(t,e,s){const i=Ai;let r={"Content-Type":"application/sdp"};return s[i(241)]&&s.password&&(r.Authorization="Basic "+btoa(s[i(241)]+":"+s[i(240)])),fetch(t,{method:i(243),mode:i(242),cache:"no-cache",credentials:i(232),redirect:"follow",referrerPolicy:i(247),headers:r,body:e})}(t,e,s);return await i.text()}}function Si(t,e){const s=vi();return(Si=function(t,e){return s[t-=112]})(t,e)}const Bi=Si;function vi(){const t=["1238092yRsMPD","3JIKQMB","init","698928nCkAGg","1580684DJxvPR","player","getWebRtcRemoteSdpByPost","1325940fVtaGu","3758661nKGQWS","241840BIwCwd","sdp is null","444832xJLjPB","TAG_NAME","20IlHFji","WebRTCForSRSAudio","msg","code","destroy","10EipMgo","debugLog"];return(vi=function(){return t})()}!function(t,e){const s=Si,i=t();for(;;)try{if(374064===-parseInt(s(128))/1+parseInt(s(117))/2*(-parseInt(s(118))/3)+parseInt(s(121))/4+parseInt(s(130))/5*(parseInt(s(120))/6)+parseInt(s(124))/7+-parseInt(s(126))/8+parseInt(s(125))/9*(parseInt(s(115))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vi);class Ti extends li{constructor(t){const e=Si;super(t),this.TAG_NAME=e(131),this[e(122)][e(116)](this[e(129)],e(119))}async[Bi(114)](){const t=Bi;return super[t(114)](),this.player[t(116)](this[t(129)],t(114)),!0}async[Bi(123)](t,e,s){const i=Bi,r=await function(t,e){const s=Ai;return fetch(t,{method:s(243),mode:s(242),cache:"no-cache",credentials:s(232),redirect:"follow",referrerPolicy:s(247),headers:{"Content-Type":"application/sdp"},body:e})}(t,e);if(0!==r[i(113)])throw new Error(r[i(112)]);if(r)return r;throw new Error(i(127))}}function Ri(t,e){const s=Di();return(Ri=function(t,e){return s[t-=499]})(t,e)}const Pi=Ri;function Di(){const t=["3613926fDyBBH"," and","5TiUBcR"," and\n history abpsList is ","clearStatsInterval","decoderWorker","destroy","stringify","streamEnd","42YsfLkY","clearCheckHeartTimeout","isDebug","checkHeartTimeout$2() playing is ","decoderWorkerInit","off","isWebrtcForOthers","playType","disable","_checkStatsInterval","assign","pause","debugLog","checkHeartTimeout$2 but player is destroyed","debugWarn","handleRender but player is destroyed","isNotMute","_times","checkLoadingTimeout","websocketError","isClosed","isDestroyedOrClosed","getEngineType","length","once","_audioTimestamp","3730028RNcWBg","8410QtCLMB","setVolume","loaded","url is empty","mute","push","events","getPlayType","volumechange","playing","openSyncAudioAndVideo","loading","isAudioMute","checkLoadingTimeout but player is destroyed","start","checkHeartTimeout$2 and\n pause and emit delayTimeout event and\n current abps is ","_destroy","timeUpdate","play","checkLoadingTimeout but loading is ","vbps","url","isWebrtcForSRS","_closed","_checkHeartTimeout","playStart","demuxType","keepScreenOn","audio","checkHeartTimeout$2 but page is not visibility and vbps is ","_hasLoaded","volume","fetchError","join","bufferList","AudioPlayer","checkStatsInterval","9862BoxLUW","abps","emit","_opt","timeout","2004kvBpHx","playInitStart","audioTimestamp","_lastVolume","updateHistoryAbpsList","error","debugError","enable","_stats","visibility","streamSuccess","_playingStartTimestamp","debug","813nUxuoE","getDemuxType","init and version is","emitError","isWebrtcForM7S","_playing","loadingTimeout","_tempWorkerStats","isPlayStream","TAG_NAME","getOption","596848KCwgLH","set volume error, audio is null","lastVolume","updateStats","log","isWebrtc","_checkLoadingTimeout","isDestroyed","isWebrtcForZLM","isAudioNotMute","4239uXqnzp","init","_destroyed","buf","isHistoryAbpsListAllZero","enableWakeLock","72050uiYeTi","webrtc","catch","checkHeartTimeout$2","warn","_historyAbpsList","clearCheckLoadingTimeout","_loading","delayTimeout","_startBpsTime","checkHeartTimeout$2 but fps is not all zero","210074SsyoNr","checkLoadingTimeout and pause and emit loadingTimeout event","player","_resetStats","stream","heartTimeout"];return(Di=function(){return t})()}!function(t,e){const s=Ri,i=t();for(;;)try{if(731186===parseInt(s(502))/1+parseInt(s(581))/2*(parseInt(s(599))/3)+parseInt(s(543))/4+parseInt(s(510))/5*(-parseInt(s(508))/6)+parseInt(s(517))/7*(-parseInt(s(610))/8)+parseInt(s(620))/9*(parseInt(s(544))/10)+-parseInt(s(626))/11*(parseInt(s(586))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Di);class Mi extends r{constructor(){const t=Ri;let e=arguments[t(540)]>0&&void 0!==arguments[0]?arguments[0]:{};super(),this[t(584)]={},this[t(608)]=t(579);const s=kt();this[t(584)]=Object[t(527)]({},s,e),this[t(598)]=new O(this),this[t(529)](this.TAG_NAME,t(601),ht),this[t(633)]=!1,this._playing=!1,this._hasLoaded=!1,this._destroyed=!1,this[t(567)]=!1,this[t(568)]=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this[t(500)]=null,this[t(594)]={abps:0,ts:0,buf:0,audioBufferTs:0},this._audioTimestamp=0,this[t(506)]=null,this[t(589)]=null,this[t(631)]=[],this[t(534)]={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this[t(606)]=null,function(){const t=st;return/(iphone|ipad|ipod|ios|android)/i.test(window[t(484)][t(384)][t(161)]())}()&&St(this._opt.supportLockScreenPlayAudio&&ct())&&(this.keepScreenOn=new Rs(this)),Mt(this),this.stream=null,this[t(627)]=null,this.events=new Tt(this),this[t(513)]=null,this[t(572)]=null;try{this[t(529)](this[t(608)],t(584),JSON[t(515)](this._opt))}catch(e){this[t(529)](this[t(608)],t(584),this[t(584)])}}async[Pi(514)](){const t=Pi;this[t(622)]=!0,this[t(583)](t(514)),this[t(522)](),this[t(550)]&&(this[t(550)].destroy(),this.events=null),this[t(518)](),this[t(632)](),this[t(512)](),this.decoderWorker&&(await this[t(513)][t(514)](),this[t(513)]=null),await this[t(560)]()}async _destroy(){const t=Pi;this[t(633)]=!1,this[t(604)]=!1,this[t(574)]=!1,this[t(622)]=!1,this._checkHeartTimeout=null,this[t(616)]=null,this[t(526)]=null,this[t(505)](),this[t(542)]=0,this[t(534)]={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this[t(606)]=null,this[t(572)]&&(await this.audio.destroy(),this[t(572)]=null),this[t(627)]&&(await this.webrtc[t(514)](),this.webrtc=null),this.stream&&(await this[t(506)][t(514)](),this[t(506)]=null),this[t(529)](this[t(608)],"destroy end"),this[t(584)]=kt()}_resetStats(){const t=Pi;this[t(500)]=null,this[t(597)]=null,this[t(631)]=[],this[t(594)]={abps:0,ts:0,buf:0,audioBufferTs:0}}set[Pi(546)](t){this[Pi(574)]=t}get[Pi(546)](){return this[Pi(574)]}set[Pi(553)](t){const e=Pi;t&&(this[e(555)]=!1),this[e(553)]!==t&&(this[e(604)]=t,this.emit(S.playing,t),this[e(583)](S[e(552)],this[e(575)]),t?this[e(583)](S[e(562)]):this[e(583)](S[e(528)]))}get[Pi(553)](){return this[Pi(604)]}get[Pi(575)](){const t=Pi;return this.audio&&this[t(572)].volume||0}set[Pi(575)](t){const e=Pi;t!==this[e(575)]&&(this[e(572)]?(this.audio[e(545)](t),this[e(589)]=this[e(575)]):this[e(531)](this.TAG_NAME,e(611)))}get[Pi(612)](){return this[Pi(589)]}set[Pi(555)](t){const e=Pi;this.loading!==t&&(this[e(633)]=t,this[e(583)](S[e(555)],this[e(633)]))}get[Pi(555)](){return this[Pi(633)]}set[Pi(588)](t){null!==t&&(this[Pi(542)]=t)}get[Pi(588)](){return this[Pi(542)]}get[Pi(519)](){const t=Pi;return Ct(this[t(584)][t(598)])}isDestroyed(){return this._destroyed}updateOption(t){this[Pi(584)]=Object.assign({},this._opt,t)}[Pi(621)](){return new Promise(((t,e)=>{const s=Ri;!this[s(572)]&&(this[s(572)]=new Es(this)),!this[s(506)]&&(this[s(506)]=new Se(this)),this.isWebrtc()?(this[s(627)]||(this[s(584)][s(618)]?this[s(627)]=new mi(this):this[s(584)][s(566)]?this[s(627)]=new Ti(this):this[s(584)][s(523)]?this.webrtc=new Ii(this):this[s(627)]=new Ci(this),this[s(546)]=!0),t()):this[s(513)]?this.loaded?t():this.once(S.decoderWorkerInit,(()=>{this[s(546)]=!0,t()})):(this[s(513)]=new _s(this),this[s(541)](S[s(521)],(()=>{this[s(546)]=!0,t()})))}))}[Pi(562)](){const t=Pi;let e=arguments[t(540)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(540)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const o=t;if(!e&&!this[o(584)][o(565)])return r(o(547));this[o(555)]=!0,this[o(553)]=!1,this[o(567)]=!1,this[o(534)][o(587)]=ot(),!e&&(e=this[o(584)][o(565)]),this[o(584)].url=e,this[o(518)](),this[o(621)]().then((()=>{const t=o;this[t(534)][t(569)]=ot(),this._opt[t(533)]&&this[t(548)](!1),this.checkLoadingTimeout(),this.stream&&(this[t(506)][t(541)](T.fetchError,(e=>{const s=t;this.emitError(T[s(576)],e)})),this.stream[t(541)](T[t(536)],(e=>{const s=t;this[s(602)](T[s(536)],e)})),this.stream[t(541)](S[t(516)],(e=>{this[t(583)](S.streamEnd,e)})),this.stream.once(S[t(596)],(()=>{const e=t;i(),this._times.streamResponse=ot(),this[e(580)](),this.debugLog(this[e(608)],"stream success and start play")})),this[t(506)].fetchStream(e,s))}))[o(628)]((()=>{r()}))}))}[Pi(535)](){const t=Pi;this._checkLoadingTimeout=setTimeout((()=>{const t=Ri;this[t(553)]?this[t(531)](this[t(608)],t(563)+this[t(555)]+" and playing is "+this.playing):this[t(617)]()?this[t(598)]&&this[t(531)](this[t(608)],t(557)):(this.debugWarn(this[t(608)],t(503)),this[t(583)](S[t(585)],S[t(605)]),this[t(583)](S[t(605)]))}),1e3*this._opt[t(605)])}[Pi(632)](){const t=Pi;this._checkLoadingTimeout&&(this[t(529)](this[t(608)],t(632)),clearTimeout(this[t(616)]),this._checkLoadingTimeout=null)}[Pi(580)](){const t=Pi;this.debugLog(this[t(608)],"checkStatsInterval"),this[t(526)]=setInterval((()=>{this.updateStats()}),1e3)}[Pi(518)](){const t=Pi;this[t(529)](this[t(608)],"clearCheckHeartTimeout"),this._checkHeartTimeout&&(clearTimeout(this[t(568)]),this._checkHeartTimeout=null)}clearStatsInterval(){const t=Pi;this[t(529)](this.TAG_NAME,"clearStatsInterval"),this[t(526)]&&(clearInterval(this[t(526)]),this[t(526)]=null)}[Pi(613)](){const t=Pi;let e=arguments[t(540)]>0&&void 0!==arguments[0]?arguments[0]:{};!this._startBpsTime&&(this._startBpsTime=ot()),lt(e.ts)&&(this._stats.ts=e.ts,null===this._playingStartTimestamp&&e.ts>0&&(this._playingStartTimestamp=e.ts)),lt(e[t(623)])&&(this[t(594)][t(623)]=e.buf);const s=ot(),i=s-this[t(500)];if(e[t(582)]&&(this[t(594)][t(582)]+=e[t(582)]),i<1e3)return;let r=0,o=0;this[t(572)]&&this.audio.bufferList&&(r=this.audio[t(578)][t(540)],o=r*this.audio.oneBufferDuration),this[t(594)].audioBufferTs=parseInt(o,10),this.emit(S.stats,this[t(594)]),this[t(583)](S[t(561)],this._stats.ts),this[t(590)](this[t(594)][t(582)]),this._stats.abps=0,this[t(500)]=s}[Pi(625)](){const t=Pi;this[t(584)][t(571)]&&this[t(571)]&&this[t(571)][t(593)]()}releaseWakeLock(){const t=Pi;this[t(584)][t(571)]&&this.keepScreenOn&&this[t(571)][t(525)]()}[Pi(528)](){return new Promise(((t,e)=>{const s=Ri;this[s(567)]=!0;const i=()=>{const t=s;this[t(506)]&&(this[t(506)][t(514)](),this.stream=null),this.off(),this[t(518)](),this[t(632)](),this[t(512)](),this.releaseWakeLock(),this[t(505)](),this.loading=!1,this.playing=!1,this[t(572)]&&this[t(572)][t(528)](),this[t(542)]=0,this[t(574)]=!1,this[t(534)]={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},Mt(this)};this[s(513)]?this[s(513)][s(514)]().then((()=>{this[s(513)]=null,i(),t()}))[s(628)]((t=>{const i=s;this.debugError(this[i(608)],"pause() decoderWorker destroy error",t),e(t)})):(i(),setTimeout((()=>{t()}),0))}))}handleRender(){const t=Pi;this[t(617)]()?this[t(598)]&&this[t(531)](t(504),t(532)):(this.loading&&(this[t(632)](),this[t(583)](S[t(558)]),this.loading=!1),!this.playing&&(this[t(553)]=!0))}updateHistoryAbpsList(t){const e=Pi;this[e(631)][e(540)]>this._opt[e(507)]&&this[e(631)].shift(),this._historyAbpsList[e(549)](t),this[e(624)]()&&this.checkHeartTimeout$2()}[Pi(624)](){const t=Pi;let e=!0;if(this._historyAbpsList[t(540)]0){e=!1;break}return e}[Pi(629)](){const t=Pi;if(this.playing){if(this[t(617)]())return void(this[t(598)]&&this.debugWarn(t(504),t(530)));if(St(this[t(624)]()))return void(this[t(598)]&&this.debugWarn(t(504),t(501)));if(St(this[t(595)])&&0!==this[t(594)][t(582)])return void(this.debug&&this[t(531)](t(504),t(573)+this[t(594)][t(564)]));const e=this[t(631)][t(577)](",");this[t(531)]("player",t(559)+this[t(594)].abps+t(511)+e+" and\n current visibility is "+this[t(595)]+t(509)),this[t(583)](S[t(585)],S[t(499)]),this[t(583)](S[t(499)])}else this[t(529)](t(504),t(520)+this.playing)}[Pi(609)](){return this[Pi(584)]}[Pi(600)](){const t=Pi;let e="";return e=this[t(609)]()[t(570)],e}getAudioEngineType(){const t=Pi;let e="";return this[t(572)]&&(e=this.audio[t(539)]()),e}[Pi(548)](t){const e=Pi;this.audio&&this[e(572)].mute(t)}[Pi(556)](){const t=Pi;let e=!0;return this[t(572)]&&(e=this[t(572)].isMute),e}[Pi(619)](){return!this.isAudioMute()}[Pi(551)](){const t=Pi;return this._opt[t(524)]}emitError(t){const e=Pi;let s=arguments[e(540)]>1&&void 0!==arguments[1]?arguments[1]:"";this[e(583)](t,s),this[e(583)](S.error,t,s)}[Pi(554)](){return!1}[Pi(607)](){return!0}[Pi(538)](){const t=Pi;return this.isDestroyed()||this[t(537)]()}[Pi(537)](){return this._closed}[Pi(615)](){const t=Pi;return Ct(this[t(584)][t(615)])}[Pi(603)](){const t=Pi;return St(this[t(584)][t(618)])&&St(this[t(584)].isWebrtcForSRS)&&St(this[t(584)][t(523)])}debugLog(t){const e=Pi;if(this[e(584)][e(598)]&&this[e(598)]){for(var s=arguments[e(540)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r ","destroy","logStatus","onLine","removeEventListener","4406480dHOikz","offline","interval","_updateOnlineStatus","isOffline","emit",", online: ","prevOnline","2wBJobz","debugLog","bind","off",", status: ","addEventListener","5368398ngJdOs","602776PCwwXy","prevOnline: ","3683485ETYivY","760732LrlkVy","TAG_NAME","isOnline","player","5689470OaYylj","_startCheck","4262625vcCSEN","15QnqQdJ"];return(_i=function(){return t})()}const Wi=Li;function Li(t,e){const s=_i();return(Li=function(t,e){return s[t-=376]})(t,e)}!function(t,e){const s=Li,i=t();for(;;)try{if(488695===-parseInt(s(400))/1*(parseInt(s(410))/2)+parseInt(s(381))/3*(-parseInt(s(407))/4)+-parseInt(s(409))/5+parseInt(s(378))/6+parseInt(s(406))/7+parseInt(s(392))/8+parseInt(s(380))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(_i);class Ni extends r{constructor(t){const e=Li;super(),this[e(377)]=t,this[e(411)]="Network",this.online=this.isOnline(),this[e(399)]=this[e(385)],this[e(394)]=null,this._initListener(),this[e(377)][e(401)](this.TAG_NAME,e(382))}[Wi(388)](){const t=Wi;this[t(403)](),this[t(383)](),window[t(391)](t(385),this[t(395)]),window[t(391)](t(393),this[t(384)]),this[t(377)][t(401)](this[t(411)],t(388))}[Wi(386)](){const t=Wi;window[t(405)]("online",this[t(395)][t(402)](this)),window[t(405)](t(393),this._updateOfflineStatus.bind(this))}[Wi(383)](){const t=Wi;this[t(394)]&&(clearInterval(this[t(394)]),this[t(394)]=null)}[Wi(379)](){const t=Wi;this[t(394)]=setInterval((()=>{const e=t;this[e(376)]()!==this[e(399)]&&(this[e(376)]()?this[e(395)]():this[e(384)]())}),1e3)}[Wi(395)](){const t=Wi;this[t(399)]=this[t(385)],this[t(385)]=!0,this[t(389)](),this[t(397)]("online")}_updateOfflineStatus(){const t=Wi;this[t(399)]=this[t(385)],this.online=!1,this[t(389)](),this[t(397)](t(393))}logStatus(){const t=Wi,e=this[t(399)]?t(385):t(393),s=this[t(385)]?"online":t(393);this.player[t(401)](this[t(411)],t(408)+this[t(399)]+t(398)+this.online+t(404)+e+t(387)+s)}isOnline(){const t=Wi;return void 0===navigator[t(390)]||navigator[t(390)]}[Wi(396)](){return!this.isOnline()}}const Qi=Hi;function Hi(t,e){const s=ji();return(Hi=function(t,e){return s[t-=384]})(t,e)}!function(t,e){const s=Hi,i=t();for(;;)try{if(216270===parseInt(s(482))/1*(parseInt(s(513))/2)+parseInt(s(436))/3+parseInt(s(556))/4*(-parseInt(s(557))/5)+-parseInt(s(502))/6+-parseInt(s(509))/7*(parseInt(s(433))/8)+-parseInt(s(464))/9+parseInt(s(465))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ji);class Oi extends r{constructor(t){const e=Hi;super(),this._opt={},this[e(478)]=e(419),Object[e(393)](t)[e(458)]((s=>{const i=e;if(void 0===t[s])throw new Error(i(446)+s+i(486))}));const s=kt();let i=Object[e(391)]({},s,t);lt(i[e(475)])&&(i.videoBuffer=1e3*Number(i[e(475)])),lt(i.videoBufferDelay)&&(i[e(459)]=1e3*Number(i[e(459)])),lt(i.videoBufferMax)&&(i[e(543)]=1e3*Number(i[e(543)])),lt(i[e(430)])&&(ut(i[e(564)])&&(i[e(564)]=i[e(430)]),ut(i.heartTimeout)&&(i[e(404)]=i.timeout)),this[e(421)]=i,this._destroyed=!1,this[e(424)]=0,this._heartTimeoutReplayTimes=0,this[e(415)]=!1,this[e(425)]={},this[e(409)]=0,this[e(490)]=new O(this),this[e(466)]=new Tt(this),this[e(484)]=new Ni(this),this[e(570)](),this._initNetwork(),this[e(435)](this[e(478)],e(460)+ht),console.log(e(389)+ht)}[Qi(444)](){return new Promise(((t,e)=>{const s=Hi;this.debugLog(this.TAG_NAME,s(398)),this[s(558)]=!0,this[s(412)](),this[s(520)]?this[s(520)][s(444)]().then((()=>{const e=s;this[e(520)]=null,this[e(565)](),t()}))[s(413)]((()=>{e()})):(this._destroy(),t())}))}[Qi(565)](){const t=Qi;this.events&&(this[t(466)][t(444)](),this[t(466)]=null),this[t(435)](t(573),t(394)),this[t(417)](),this[t(424)]=0,this[t(544)]=0,this[t(415)]=!1,this[t(425)]={},this[t(409)]=0}[Qi(570)](){const t=Qi;this[t(520)]=new Mi(this[t(421)]),this[t(435)](this.TAG_NAME,"_initPlayer",this[t(520)][t(483)]()),this[t(561)]()}[Qi(555)](){const t=Qi;this[t(484)].on(S.online,(()=>{const e=t;if(this[e(392)](S[e(399)],S.online),this[e(402)]())this[e(435)](this.TAG_NAME,"network online but player is destroyed");else if(this._isNetworkOfflinePaused&&this._isNetworkOfflinePausedAndNextPlayConfig&&this[e(425)][e(479)]){const t=this._isNetworkOfflinePausedAndNextPlayConfig[e(479)];this[e(409)]++;const s=this[e(425)][e(485)]||"unknown";this[e(415)]=!1,this[e(425)]={},this[e(435)](this[e(478)],s+" and network online and _streamErrorReplayTimes is "+this[e(409)]+" and reset player and play"),this[e(559)](t)[e(566)]((()=>{const t=e;this[t(435)](this[t(478)],s+t(469))}))[e(413)]((t=>{const i=e;this.emit(S.playFailedAndPaused,T[i(474)],{},t),this[i(439)](this[i(478)],s+i(473),t[i(408)](),t)}))}})),this[t(484)].on(S.offline,(()=>{const e=t;this[e(392)](S[e(399)],S[e(548)])}))}[Qi(417)](){this[Qi(421)]=kt()}_bindEvents(){const t=Qi;Object.keys(B)[t(458)]((e=>{this[t(520)].on(B[e],(t=>{this.emit(e,t)}))}))}[Qi(511)](){const t=Qi;let e=arguments[t(385)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(385)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const o=t,a=e[o(497)]("?")[0],h=a.startsWith(o(472))||a.startsWith(o(401)),c=a.startsWith(o(397))||a[o(456)](o(406)),l=a[o(456)]("webrtc://"),d=h||c,p=-1!==e[o(560)](".flv"),f=d&&(a[o(386)](o(400))||a[o(386)](o(536))),m=f&&a.endsWith(".g711a"),g=f&&a.endsWith(".g711u");let y=this[o(421)][o(550)]||!1,b=this[o(421)].isWebrtcForSRS||!1,I=this._opt[o(403)]||!1;l&&(-1!==e[o(560)]("/index/api/webrtc")?(y=!0,b=!1,I=!1):-1!==e.indexOf(o(487))&&(b=!0,y=!1,I=!1));let w=null,E=null;if(h?w=n[o(496)]:l?w=n[o(538)]:c&&(w=n[o(431)]),p&&!this._opt.isFlv?this[o(421)][o(519)]=!0:f&&!this[o(421)][o(461)]&&!this[o(421)][o(539)]&&(this[o(421)][o(461)]=m,this[o(421)][o(539)]=g),this[o(421)][o(519)]?E=u[o(384)]:l?E=u[o(538)]:c&&(E=u.m7s),!w||!E)return r(o(507)+w+o(526)+E);this.debugLog(this[o(478)],o(507)+A[w]+o(526)+E);const k=()=>{const t=o;this[t(520)][t(481)](T[t(474)],this[t(529)][t(452)](this)),this[t(520)][t(481)](S.streamEnd,this._handleStreamEnd.bind(this)),this[t(520)][t(481)](T[t(494)],this[t(531)].bind(this)),this.player[t(481)](T[t(447)],this[t(568)][t(452)](this)),this[t(520)].once(T.decoderWorkerWasmError,this._handleDecoderWorkerWasmError[t(452)](this)),this[t(520)].on(S[t(432)],this[t(503)][t(452)](this)),this.player.on(S[t(564)],this._handleLoadingTimeout.bind(this)),this[t(520)][t(559)](e,s).then((()=>{i()}))[t(413)]((e=>{const s=t;this.debugError(this[s(478)],s(516),e),this[s(392)](S[s(505)],this[s(467)]("hasLoaded and play error",e)),this[s(520)][s(553)]()[s(566)]((()=>{r(e)}))[s(413)]((t=>{const e=s;this.debugError(this.TAG_NAME,e(506),t)}))}))};l&&St(this[o(421)][o(527)])?this[o(533)]({protocol:w,demuxType:E,isWebrtc:l,isWebrtcForZLM:y,isWebrtcForSRS:b,isWebrtcForOthers:I})[o(566)]((()=>{k()}))[o(413)]((t=>{r("reset player error",t)})):(this[o(520)][o(463)]({protocol:w,demuxType:E,isFlv:this[o(421)][o(519)],isWebrtc:l}),k())}))}[Qi(402)](){return this[Qi(558)]}[Qi(559)](){const t=Qi;let e=arguments[t(385)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(385)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const o=t;if(this.isDestroyed())return r(o(449));if(!this[o(520)])return r(o(563));try{this[o(435)](this[o(478)],o(523)+e,JSON[o(428)](s))}catch(t){this.debugLog(this[o(478)],"play() "+e,s)}if(!e&&!this[o(421)][o(479)])return this[o(392)](S.error,T[o(407)]),void r(o(395));if(e){if(e=(""+e)[o(411)](),-1===e[o(560)](o(422))&&-1===e.indexOf("https:")&&-1===e[o(560)](o(514))&&-1===e.indexOf(o(410))&&-1===e[o(560)]("wss:"))return r(o(454)+e+o(499));this[o(421)].url=e}this.player[o(450)]||this[o(520)][o(440)]?(this[o(571)](this[o(478)],"play() and player is playing "+this[o(520)][o(450)]+" or loading "+this.player[o(440)]+o(551)),this[o(520)][o(553)]()[o(566)]((()=>{const t=o;this._play(this[t(421)].url)[t(566)]((()=>{i()}))[t(413)]((t=>{r(t)}))}))):this._play(this[o(421)][o(479)],s)[o(566)]((()=>{i()}))[o(413)]((t=>{r(t)}))}))}mute(){const t=Qi;this[t(435)](this[t(478)],t(427)),this[t(520)]&&this[t(520)][t(480)](!0)}cancelMute(){const t=Qi;this[t(435)](this[t(478)],t(388)),this.player&&this[t(520)][t(480)](!1)}[Qi(553)](){return new Promise(((t,e)=>{const s=Hi;this.debugLog(this[s(478)],"pause()"),this[s(520)]?this[s(520)][s(553)]().then((e=>{this._bindEvents(),t(e)}))[s(413)]((t=>{e(t)})):e(s(563))}))}[Qi(569)](t){const e=Qi;this.debugLog(this[e(478)],e(451)+t),this[e(520)]&&(this[e(520)].volume=t)}[Qi(549)](){const t=Qi;let e=null;return this[t(520)]&&(e=this[t(520)][t(508)],e=parseFloat(e)[t(434)](2)),e}[Qi(535)](t){const e=Qi;this[e(435)](this[e(478)],e(468)+t),t=Number(t),this.player&&this[e(520)][e(463)]({timeout:t,loadingTimeout:t,heartTimeout:t})}[Qi(396)](){const t=Qi;this[t(435)](this.TAG_NAME,t(455)),this[t(520)]&&this[t(520)].audio?this[t(520)][t(567)][t(437)](!0):this[t(571)](this.TAG_NAME,t(562))}[Qi(477)](t){const e=Qi;this[e(435)](this.TAG_NAME,e(470)+t),this.player?this.player.updateOption({debug:!!t}):this[e(571)](this[e(478)],e(426))}_getCrashLog(t){const e=Qi;let s=arguments[e(385)]>1&&void 0!==arguments[1]?arguments[1]:"";if(!this[e(520)])return;const i=this.player;let r={url:this._opt[e(479)],playType:h[e(515)],demuxType:i[e(416)](),audioInfo:{encType:"",sampleRate:"",channels:""},audioEngine:i.getAudioEngineType(),timestamp:ot(),type:t,error:Et(s)||t};if(i[e(567)]){const t=i[e(567)][e(521)]||{};r[e(521)]={encType:t[e(540)]||"",sampleRate:t.sampleRate||"",channels:t[e(462)]||""}}return r}_isNeedNetworkDisconnectReplay(){const t=Qi;return this[t(421)][t(546)]&&this[t(484)][t(495)]()}[Qi(529)](t){const e=Qi;this[e(402)]()?this[e(435)](this[e(478)],"_handleFetchError but player is destroyed"):(this[e(392)](S[e(505)],this[e(467)](T[e(474)],t)),this.debugLog(this[e(478)],"fetch error and reset player"),this[e(553)]()[e(566)]((()=>{const t=e;if(this[t(423)]())return this[t(435)](this[t(478)],t(525)),this[t(415)]=!0,void(this[t(425)]={url:_url,type:T[t(474)]});this[t(392)](S.playFailedAndPaused,T[t(474)])}))[e(413)]((t=>{const s=e;this[s(439)](this[s(478)],s(471),t)})))}[Qi(448)](t){const e=Qi;this[e(402)]()?this[e(435)](this.TAG_NAME,"_handleStreamEnd but player is destroyed"):(this.emit(S.crashLog,this._getCrashLog(S[e(387)],t)),this[e(435)](this[e(478)],"streamEnd and reset player"),this[e(553)]()[e(566)]((()=>{const t=e;if(this._isNeedNetworkDisconnectReplay())return this[t(435)](this.TAG_NAME,t(390)),this[t(415)]=!0,void(this[t(425)]={url:_url,type:S[t(387)]});this[t(392)](S[t(528)],S[t(387)])}))[e(413)]((t=>{const s=e;this[s(392)](S[s(528)],T[s(387)]),this[s(439)](this.TAG_NAME,s(418),t)})))}[Qi(531)](t){const e=Qi;this[e(402)]()?this[e(435)](this[e(478)],e(443)):(this[e(392)](S.crashLog,this[e(467)](T[e(494)],t)),this.debugLog(this.TAG_NAME,e(530)),this[e(553)]().then((()=>{const t=e;if(this[t(423)]())return this[t(435)](this[t(478)],"websocket Error and network is offline and wait network online to play , so return"),this[t(415)]=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:_url,type:T[t(494)]});this[t(392)](S[t(528)],T[t(494)])})).catch((t=>{const s=e;this[s(392)](S[s(528)],T[s(494)]),this[s(439)](this.TAG_NAME,s(453),t)})))}[Qi(568)](t){const e=Qi;this[e(402)]()?this[e(435)](this.TAG_NAME,e(488)):(this[e(392)](S[e(505)],this[e(476)](T[e(447)],t)),this[e(435)](this[e(478)],e(491)),this._pause()[e(566)]((()=>{const t=e;this[t(392)](S[t(528)],T.decoderWorkerInitError)}))[e(413)]((t=>{const s=e;this[s(392)](S[s(528)],T[s(447)]),this.debugError(this[s(478)],s(414),t)})))}_handleDecoderWorkerWasmError(t){const e=Qi;this.isDestroyed()?this[e(435)](this[e(478)],e(441)):(this.emit(S.crashLog,this[e(476)](T[e(429)],t)),this.debugLog(this.TAG_NAME,e(522)),this._pause()[e(566)]((()=>{const t=e;this[t(392)](S[t(528)],T.decoderWorkerWasmError)}))[e(413)]((t=>{const s=e;this[s(392)](S.playFailedAndPaused,T[s(429)]),this[s(439)](this[s(478)],s(420),t)})))}_handleDelayTimeout(t){const e=Qi;this.emit(S[e(505)],this[e(467)](S.delayTimeout,t)),this[e(402)]()?this.debugLog(this[e(478)],"delay timeout but player is destroyed"):this[e(553)]()[e(566)]((()=>{const t=e;if(this.player&&this[t(520)][t(421)][t(445)]&&(this[t(544)]{}))[t(413)]((e=>{const s=t;this[s(439)](this[s(478)],s(537),e)}))}else this[t(392)](S[t(528)],S[t(432)]),this[t(392)](S[t(545)]),this.debugWarn(this.TAG_NAME,t(552)+(this.player&&this[t(520)][t(421)][t(404)])+t(517)+(this[t(520)]&&this[t(520)][t(421)].heartTimeoutReplay)+t(489)+(this[t(520)]&&this[t(520)]._opt[t(501)])+t(541)+this._heartTimeoutReplayTimes)})).catch((t=>{const s=e;this[s(392)](S[s(528)],S[s(432)]),this[s(439)](this.TAG_NAME,s(572),t)}))}[Qi(492)](t){const s=Qi;this[s(392)](S[s(505)],this._getCrashLog(S[s(564)],t)),this.isDestroyed()?this[s(435)](this[s(478)],s(510)):this[s(553)]()[s(566)]((()=>{const t=s;if(this[t(520)]&&this[t(520)][t(421)][t(512)]&&(this[t(424)]{}))[t(413)]((()=>{this[t(439)](this.TAG_NAME,"loading timeout replay error",e)}))}else this.emit(S[t(547)]),this.emit(S[t(528)],S[t(547)])})).catch((t=>{const e=s;this[e(392)](S[e(528)],S[e(547)]),this[e(439)](this[e(478)],e(498),t)}))}[Qi(435)](t){const e=Qi;if(this[e(421)][e(490)]&&this[e(490)]){for(var s=arguments[e(385)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};var t,i,s;(s=e).ready=new Promise(((e,r)=>{t=e,i=r})),(s=void 0!==s?s:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var n,a,o,d=Object.assign({},s),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return s.locateFile?s.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href)),n=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=n(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,s)=>{e?r(e):t(i?s.buffer:s)}))},!s.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),s.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",n=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=s.print||console.log.bind(console),w=s.printErr||console.error.bind(console);Object.assign(s,d),d=null,s.arguments&&s.arguments,s.thisProgram&&(l=s.thisProgram),s.quit&&s.quit,s.wasmBinary&&(y=s.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,B,U,x,k,T,C=!1;function D(e,t){e||j(t)}function L(){var e=v.buffer;s.HEAP8=S=new Int8Array(e),s.HEAP16=A=new Int16Array(e),s.HEAPU8=E=new Uint8Array(e),s.HEAPU16=B=new Uint16Array(e),s.HEAP32=U=new Int32Array(e),s.HEAPU32=x=new Uint32Array(e),s.HEAPF32=k=new Float32Array(e),s.HEAPF64=T=new Float64Array(e)}var F=[],I=[],P=[];function M(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)N(s.preRun.shift());se(F)}function R(){s.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,se(I)}function z(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)G(s.postRun.shift());se(P)}function N(e){F.unshift(e)}function O(e){I.unshift(e)}function G(e){P.unshift(e)}var $=0,H=null;function V(e){$++,s.monitorRunDependencies&&s.monitorRunDependencies($)}function W(e){if($--,s.monitorRunDependencies&&s.monitorRunDependencies($),0==$&&H){var t=H;H=null,t()}}function j(e){s.onAbort&&s.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:si};function t(e,t){return ni=e.exports,v=ni.E,L(),Ft=ni.H,O(ni.F),W(),ni}if(V(),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}s.locateFile?Z(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href).href;var se=e=>{for(;e.length>0;)e.shift()(s)};function ne(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){x[this.ptr+4>>2]=e},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(e){x[this.ptr+8>>2]=e},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){x[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return x[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}s.noExitRuntime;var ae=(e,t,r)=>{throw new ne(e).init(t,r),e},oe=e=>(U[oi()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var s=e[i];"."===s?e.splice(i,1):".."===s?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:Te.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),s=r(t.split("/")),n=Math.min(i.length,s.length),a=n,o=0;o{for(var i=t+r,s=t;e[s]&&!(s>=i);)++s;if(s-t>16&&e.buffer&&he)return he.decode(e.subarray(t,s));for(var n="";t>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|o)}else n+=String.fromCharCode(a)}return n},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var s=r,n=r+i-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=n)break;t[r++]=o}else if(o<=2047){if(r+1>=n)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=n)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-s};function ge(e,t,r){var i=r>0?r:me(e)+1,s=new Array(i),n=_e(e,s,0,s.length);return t&&(s.length=n),s}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,s){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var n=0,a=0;aye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var s=Te.createNode(e,t,r,i);return Te.isDir(s.mode)?(s.node_ops=we.ops_table.dir.node,s.stream_ops=we.ops_table.dir.stream,s.contents={}):Te.isFile(s.mode)?(s.node_ops=we.ops_table.file.node,s.stream_ops=we.ops_table.file.stream,s.usedBytes=0,s.contents=null):Te.isLink(s.mode)?(s.node_ops=we.ops_table.link.node,s.stream_ops=we.ops_table.link.stream):Te.isChrdev(s.mode)&&(s.node_ops=we.ops_table.chrdev.node,s.stream_ops=we.ops_table.chrdev.stream),s.timestamp=Date.now(),e&&(e.contents[t]=s,e.timestamp=s.timestamp),s},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(Te.isDir(e.mode)){var i;try{i=Te.lookupNode(t,r)}catch(e){}if(i)for(var s in i.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var i in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,s){var n=e.node.contents;if(s>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-s,i);if(a>8&&n.subarray)t.set(n.subarray(s,s+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var s=i?"":`al ${e}`;a(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),s&&W()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),s&&V()},Ee=(e,t,r,i,s,n)=>{Te.createDataFile(e,t,r,i,s,n)},Ae=s.preloadPlugins||[],Be=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var s=!1;return Ae.forEach((n=>{s||n.canHandle(t)&&(n.handle(e,t,r,i),s=!0)})),s},Ue=(e,t,r,i,s,n,a,o,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),o||Ee(e,t,r,i,s,d),n&&n(),W()}Be(r,c,u,(()=>{a&&a(),W()}))||u(r)}V(),"string"==typeof r?Se(r,(e=>u(e)),a):u(r)},xe=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},ke=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=Te.root,s="/",n=0;n40)throw new Te.ErrnoError(32)}}return{path:s,node:i}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var i=Te.hashName(e.id,t),s=Te.nameTable[i];s;s=s.name_next){var n=s.name;if(s.parent.id===e.id&&n===t)return s}return Te.lookup(e,t)},createNode(e,t,r,i){var s=new Te.FSNode(e,t,r,i);return Te.hashAddNode(s),s},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=Te.lookupNode(e,t)}catch(e){return e.errno}var s=Te.nodePermissions(e,"wx");if(s)return s;if(r){if(!Te.isDir(i.mode))return 54;if(Te.isRoot(i)||Te.getPath(i)===Te.cwd())return 10}else if(Te.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),i=0;function s(e){return Te.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,s(e));++i>=r.length&&s(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount(e,t,r){var i,s="/"===r,n=!r;if(s&&Te.root)throw new Te.ErrnoError(10);if(!s&&!n){var a=Te.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,Te.isMountpoint(i))throw new Te.ErrnoError(10);if(!Te.isDir(i.mode))throw new Te.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(o);return d.mount=o,o.root=d,s?Te.root=d:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),d},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,i=r.mounted,s=Te.getMounts(i);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;s.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=Te.lookupPath(e,{parent:!0}).node,s=de.basename(e);if(!s||"."===s||".."===s)throw new Te.ErrnoError(28);var n=Te.mayCreate(i,s);if(n)throw new Te.ErrnoError(n);if(!i.node_ops.mknod)throw new Te.ErrnoError(63);return i.node_ops.mknod(i,s,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",s=0;s(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var i=de.basename(t),s=Te.mayCreate(r,i);if(s)throw new Te.ErrnoError(s);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,s=de.dirname(e),n=de.dirname(t),a=de.basename(e),o=de.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,i=Te.lookupPath(t,{parent:!0}).node,!r||!i)throw new Te.ErrnoError(44);if(r.mount!==i.mount)throw new Te.ErrnoError(75);var d,l=Te.lookupNode(r,a),c=ue.relative(e,n);if("."!==c.charAt(0))throw new Te.ErrnoError(28);if("."!==(c=ue.relative(t,s)).charAt(0))throw new Te.ErrnoError(55);try{d=Te.lookupNode(i,o)}catch(e){}if(l!==d){var u=Te.isDir(l.mode),h=Te.mayDelete(r,a,u);if(h)throw new Te.ErrnoError(h);if(h=d?Te.mayDelete(i,o,u):Te.mayCreate(i,o))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(l)||d&&Te.isMountpoint(d))throw new Te.ErrnoError(10);if(i!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(l);try{r.node_ops.rename(l,i,o)}catch(e){throw e}finally{Te.hashAddNode(l)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=Te.lookupNode(t,r),s=Te.mayDelete(t,r,!0);if(s)throw new Te.ErrnoError(s);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(i)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=de.basename(e),i=Te.lookupNode(t,r),s=Te.mayDelete(t,r,!1);if(s)throw new Te.ErrnoError(s);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(i)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return ue.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,i){var s;if(!(s="string"==typeof e?Te.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);s.node_ops.setattr(s,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var i=Te.getStreamChecked(e);Te.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;if(!(r="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var i=Te.nodePermissions(r,"w");if(i)throw new Te.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var i=Te.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?xe(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var n=!1;if(64&t)if(i){if(128&t)throw new Te.ErrnoError(20)}else i=Te.mknod(e,r,0),n=!0;if(!i)throw new Te.ErrnoError(44);if(Te.isChrdev(i.mode)&&(t&=-513),65536&t&&!Te.isDir(i.mode))throw new Te.ErrnoError(54);if(!n){var a=Te.mayOpen(i,t);if(a)throw new Te.ErrnoError(a)}512&t&&!n&&Te.truncate(i,0),t&=-131713;var o=Te.createStream({node:i,path:Te.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!s.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),o},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,s){if(i<0||s<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var n=void 0!==s;if(n){if(!e.seekable)throw new Te.ErrnoError(70)}else s=e.position;var a=e.stream_ops.read(e,t,r,i,s);return n||(e.position+=a),a},write(e,t,r,i,s,n){if(i<0||s<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var a=void 0!==s;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else s=e.position;var o=e.stream_ops.write(e,t,r,i,s,n);return a||(e.position+=o),o},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,s){if(0!=(2&i)&&0==(2&s)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,s)},msync:(e,t,r,i,s)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,s):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=Te.open(e,t.flags),s=Te.stat(e).size,n=new Uint8Array(s);return Te.read(i,n,0,s,0),"utf8"===t.encoding?r=fe(n,0):"binary"===t.encoding&&(r=n),Te.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=Te.open(e,r.flags,r.mode);if("string"==typeof t){var s=new Uint8Array(me(t)+1),n=_e(t,s,0,s.length);Te.write(i,s,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(i,t,0,t.byteLength,void 0,r.canOwn)}Te.close(i)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,i,s)=>i}),Te.mkdev("/dev/null",Te.makedev(1,3)),ve.register(Te.makedev(5,0),ve.default_tty_ops),ve.register(Te.makedev(6,0),ve.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=Te.getStreamChecked(r),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return s.parent=s,s}},t}},{},"/proc/self/fd")},createStandardStreams(){s.stdin?Te.createDevice("/dev","stdin",s.stdin):Te.symlink("/dev/tty","/dev/stdin"),s.stdout?Te.createDevice("/dev","stdout",null,s.stdout):Te.symlink("/dev/tty","/dev/stdout"),s.stderr?Te.createDevice("/dev","stderr",null,s.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),s.stdin=e||s.stdin,s.stdout=t||s.stdout,s.stderr=r||s.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),s=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;s||(a=i);var o=this;o.setDataGetter((e=>{var t=e*a,s=(e+1)*a-1;if(s=Math.min(s,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var s=new XMLHttpRequest;if(s.open("GET",r,!1),i!==a&&s.setRequestHeader("Range","bytes="+e+"-"+t),s.responseType="arraybuffer",s.overrideMimeType&&s.overrideMimeType("text/plain; charset=x-user-defined"),s.send(null),!(s.status>=200&&s.status<300||304===s.status))throw new Error("Couldn't load "+r+". Status: "+s.status);return void 0!==s.response?new Uint8Array(s.response||[]):ge(s.responseText||"",!0)})(t,s)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var d=Te.createFile(e,t,o,i,s);o.contents?d.contents=o.contents:o.url&&(d.contents=null,d.url=o.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,s){var n=e.node.contents;if(s>=n.length)return 0;var a=Math.min(n.length-s,i);if(n.slice)for(var o=0;o{var t=d.stream_ops[e];l[e]=function(){return Te.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,s)=>(Te.forceLoadFile(d),c(e,t,r,i,s)),l.mmap=(e,t,r,i,s)=>{Te.forceLoadFile(d);var n=be();if(!n)throw new Te.ErrnoError(48);return c(e,S,n,t,r),{ptr:n,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;if(i=-100===e?Te.cwd():De.getStreamFromFD(e).path,0==t.length){if(!r)throw new Te.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(Te.getPath(e.node)))return-54;throw e}U[r>>2]=i.dev,U[r+4>>2]=i.mode,x[r+8>>2]=i.nlink,U[r+12>>2]=i.uid,U[r+16>>2]=i.gid,U[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+24>>2]=K[0],U[r+28>>2]=K[1],U[r+32>>2]=4096,U[r+36>>2]=i.blocks;var s=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+40>>2]=K[0],U[r+44>>2]=K[1],x[r+48>>2]=s%1e3*1e3,K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+56>>2]=K[0],U[r+60>>2]=K[1],x[r+64>>2]=n%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(Y=Math.floor(a/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+72>>2]=K[0],U[r+76>>2]=K[1],x[r+80>>2]=a%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+88>>2]=K[0],U[r+92>>2]=K[1],0},doMsync(e,t,r,i,s){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;var n=E.slice(e,e+r);Te.msync(t,n,s,r,i)},varargs:void 0,get(){var e=U[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Le(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((s=De.get())<0)return-28;for(;Te.streams[s];)s++;return Te.createStream(i,s).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var s=De.get();return i.flags|=s,0;case 5:return s=De.getp(),A[s+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Fe(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var s=i?De.get():0;return Te.open(t,r,s).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Ie,Pe,Me,Re=(e,t,r,i,s)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ie=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Ie[E[r++]];return t},Oe={},Ge={},$e={},He=e=>{throw new Pe(e)},Ve=e=>{throw new Me(e)},We=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Ve("Mismatched type converter count");for(var s=0;s{Ge.hasOwnProperty(e)?s[t]=Ge[e]:(n.push(e),Oe.hasOwnProperty(e)||(Oe[e]=[]),Oe[e].push((()=>{s[t]=Ge[e],++a===n.length&&i(s)})))})),0===n.length&&i(s)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Ge.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Ge[e]=t,delete $e[e],Oe.hasOwnProperty(e)){var s=Oe[e];delete Oe[e],s.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},st={},nt=()=>Object.keys(ut).length,at=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},ot=[],dt=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,ot.length&&Ye&&Ye(dt)},ct=()=>{s.getInheritedInstanceCount=nt,s.getLiveInheritedInstances=at,s.flushPendingDeletes=dt,s.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ve("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ve("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function s(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),o=st[a];if(!o)return s.call(this);n=this.isConst?o.constPointerType:o.pointerType;var d=it(t,this.registeredClass,n.registeredClass);return null===d?s.call(this):this.isSmartPointer?pt(n.registeredClass.instancePrototype,{ptrType:n,ptr:d,smartPtrType:this,smartPtr:e}):pt(n.registeredClass.instancePrototype,{ptrType:n,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,s=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)s=i.upcast(s),i=i.baseClass;return t===i&&r===s},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{s.hasOwnProperty(e)?((void 0===r||void 0!==s[e].overloadTable&&void 0!==s[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(s,e,e),s.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),s[e].overloadTable[r]=t):(s[e]=t,void 0!==r&&(s[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function Bt(e,t,r,i,s,n,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=s,this.getActualType=n,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Ut=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function xt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function kt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Ut(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var s=t.clone();r=this.rawShare(r,nr.toHandle((()=>s.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(x[e>>2])}var Dt=()=>{Object.assign(Lt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Lt(e,t,r,i,s,n,a,o,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=s,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,s||void 0!==t.baseClass?this.toWireType=kt:i?(this.toWireType=xt,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Ft,It,Pt=(e,t,r)=>{s.hasOwnProperty(e)||Ve("Replacing nonexistant public symbol"),void 0!==s[e].overloadTable&&void 0!==r?s[e].overloadTable[r]=t:(s[e]=t,s[e].argCount=r)},Mt=(e,t,r)=>{var i=s["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Ft.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),Ot=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Gt=(e,t)=>{var r=(e=Ne(e)).includes("j")?Ot(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},$t=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=di(e),r=Ne(t);return ai(t),r},Vt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Ge[t]||($e[t]?$e[t].forEach(e):(r.push(t),i[t]=!0))})),new It(`${e}: `+r.map(Ht).join([", "]))},Wt=(e,t,r,i,s,n,a,o,d,l,c,u,h)=>{c=Ne(c),n=Gt(s,n),o&&(o=Gt(a,o)),l&&(l=Gt(d,l)),h=Gt(u,h);var f=At(c);wt(f,(function(){Vt(`Cannot construct ${c} due to unbound types`,[i])})),We([e,t,r],i?[i]:[],(function(t){var r,s;t=t[0],s=i?(r=t.registeredClass).instancePrototype:yt.prototype;var a=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Pe("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Pe(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Pe(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(s,{constructor:{value:a}});a.prototype=d;var u=new Bt(c,a,d,h,r,n,o,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Lt(c,u,!0,!1,!1),m=new Lt(c+"*",u,!1,!1,!1),_=new Lt(c+" const*",u,!1,!0,!1);return st[e]={pointerType:m,constPointerType:_},Pt(f,a),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,s=e.apply(i,t);return s instanceof Object?s:i}function Kt(e,t,r,i,s,n){var a=t.length;a<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=o?1:2;l{var a=jt(t,r);s=Gt(i,s),We([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Pe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Vt(`Cannot construct ${e.name} due to unbound types`,a)},We([],a,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,s,n),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,s,n,a,o,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),n=Gt(s,n),We([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function s(){Vt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(s.argCount=r-2,s.className=e.name,c[t]=s):(bt(c,t,i),c[t].overloadTable[r-2]=s),We([],l,(function(s){var o=Kt(i,s,e,n,a,d);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,s.count_emval_handles=ir},nr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(U[e>>2])}var or=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=nr.toValue(e);return rr(e),t},toWireType:(e,t)=>nr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(k[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>B[e>>1];case 4:return r?e=>U[e>>2]:e=>x[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,s)=>{t=Ne(t);var n=e=>e;if(0===i){var a=32-8*r;n=e=>e<>>a}var o=t.includes("unsigned");qe(e,{name:t,fromWireType:n,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function s(e){var t=x[e>>2],r=x[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:s,argPackAdvance:Ke,readValueFromPointer:s},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=x[e>>2],s=e+4;if(r)for(var n=s,a=0;a<=i;++a){var o=s+a;if(a==i||0==E[o]){var d=Ce(n,o-n);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),n=o+1}}else{var l=new Array(i);for(a=0;a>2]=i,r&&s)pr(t,a,i+1);else if(s)for(var o=0;o255&&(ai(a),He("String has UTF-16 code units that do not fit in 8 bits")),E[a+o]=d}else for(o=0;o{for(var r=e,i=r>>1,s=i+t/2;!(i>=s)&&B[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;n+=String.fromCharCode(o)}return n},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,s=(r-=2)<2*e.length?r/2:e.length,n=0;n>1]=a,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var s=U[e+4*r>>2];if(0==s)break;if(++r,s>=65536){var n=s-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(s)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,s=i+r-4,n=0;n=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),U[t>>2]=a,(t+=4)+4>s)break}return U[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,s,n,a,o;r=Ne(r),2===t?(i=gr,s=yr,a=vr,n=()=>B,o=1):4===t&&(i=br,s=wr,a=Sr,n=()=>x,o=2),qe(e,{name:r,fromWireType:e=>{for(var r,s=x[e>>2],a=n(),d=e+4,l=0;l<=s;++l){var c=e+4+l*t;if(l==s||0==a[c>>o]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return ai(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var n=a(i),d=li(4+n+t);return x[d>>2]=n>>o,s(i,d+4,n+t),null!==e&&e.push(ai,d),d},argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction(e){ai(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Br={},Ur=e=>{var t=Br[e];return void 0===t?Ne(e):t},xr=[],kr=(e,t,r,i,s)=>(e=xr[e])(t=nr.toValue(t),t[r=Ur(r)],i,s),Tr=e=>{var t=xr.length;return xr.push(e),t},Cr=(e,t)=>{var r=Ge[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Lr=(e,t,r)=>{var i=[],s=e.toWireType(i,r);return i.length&&(x[t>>2]=nr.toHandle(i)),s},Fr=(e,t,r)=>{var i=Dr(e,t),s=i.shift();e--;var n="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var d=["retType"],l=[s],c=0;ce.name)).join(", ")}) => ${s.name}>`;return Tr(vt(h,u))},Ir=e=>{var t=nr.toValue(e);qt(t),rr(e)},Pr=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},Or=e=>{E.length,Nr()},Gr={},$r=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:$r()};for(var t in Gr)void 0===Gr[t]?delete e[t]:e[t]=Gr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Vr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Wr=(e,t)=>{var r=0;return Hr().forEach(((i,s)=>{var n=t+r;x[e+4*s>>2]=n,Vr(i,n),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();x[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),x[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+8>>2]=K[0],U[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+16>>2]=K[0],U[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var s=0,n=0;n>2],o=x[t+4>>2];t+=8;var d=Te.read(e,S,a,o,i);if(d<0)return-1;if(s+=d,d>2]=n,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,s){var n=Pr(t,r);try{if(isNaN(n))return 61;var a=De.getStreamFromFD(e);return Te.llseek(a,n,i),K=[a.position>>>0,(Y=a.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[s>>2]=K[0],U[s+4>>2]=K[1],a.getdents&&0===n&&0===i&&(a.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var s=0,n=0;n>2],o=x[t+4>>2];t+=8;var d=Te.write(e,S,a,o,i);if(d<0)return-1;s+=d,void 0!==i&&(i+=d)}return s};function Qr(e,t,r,i){try{var s=De.getStreamFromFD(e),n=Jr(s,t,r);return x[i>>2]=n,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=ei,Te.createPreloadedFile=Ue,Te.staticInit(),ze(),Pe=s.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=s.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),It=s.UnboundTypeError=$t(Error,"UnboundTypeError"),Qt(),sr();var ii,si={o:ae,A:Le,s:Fe,q:Re,C:Xe,D:Wt,y:Xt,g:Jt,B:or,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:kr,m:rr,e:Fr,d:Ir,a:Mr,h:Rr,w:zr,r:Or,u:Wr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},ni=ie(),ai=e=>(ai=ni.G)(e),oi=()=>(oi=ni.I)(),di=e=>(di=ni.J)(e),li=e=>(li=ni.K)(e),ci=e=>(ci=ni.M)(e);function ui(){function e(){ii||(ii=!0,s.calledRun=!0,C||(R(),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),z()))}$>0||(M(),$>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),e()}),1)):e()))}if(s.dynCall_viiijj=(e,t,r,i,n,a,o,d)=>(s.dynCall_viiijj=ni.N)(e,t,r,i,n,a,o,d),s.dynCall_jij=(e,t,r,i)=>(s.dynCall_jij=ni.O)(e,t,r,i),s.dynCall_jii=(e,t,r)=>(s.dynCall_jii=ni.P)(e,t,r),s.dynCall_jiji=(e,t,r,i,n)=>(s.dynCall_jiji=ni.Q)(e,t,r,i,n),H=function e(){ii||ui(),ii||(H=e)},s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return ui(),e.ready}),a=1e-6,o="undefined"!=typeof Float32Array?Float32Array:Array;function d(){var e=new o(16);return o!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function l(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var c,u=function(e,t,r,i,s,n,a){var o=1/(t-r),d=1/(i-s),l=1/(n-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*o,e[13]=(s+i)*d,e[14]=(a+n)*l,e[15]=1,e};function h(e,t,r){var i=new o(3);return i[0]=e,i[1]=t,i[2]=r,i}c=new o(3),o!=Float32Array&&(c[0]=0,c[1]=0,c[2]=0);var f=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},s=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const s=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,s);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:s}}(),n=p(),o=p(),c=p(),f=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const n=d();u(n,-1,1,-1,1,.1,100);const p=d();l(p);const m=d();!function(e,t,r,i){var s,n,o,d,c,u,h,f,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),s=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const Wt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],jt=Wt,qt=Wt;function Yt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Kt(e){return Xt(e)&&e[1]===kt}function Xt(e){return e[0]>>4===Ge}const Zt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Jt(e){let t=new Uint8Array(e),r=null,i=0,s=0,n=0,a=null;if(i=s=t[0]>>>3,n=(7&t[0])<<1|t[1]>>>7,n<0||n>=Zt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let o=Zt[n],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(a=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Gt.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?n>=6?(i=5,r=new Array(4),a=n-3):(i=2,r=new Array(2),a=n):-1!==l.indexOf("android")?(i=2,r=new Array(2),a=n):(i=5,a=n,r=new Array(4),n>=6?a=n-3:1===d&&(i=2,r=new Array(2),a=n)),r[0]=i<<3,r[0]|=(15&n)>>>1,r[1]=(15&n)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:o,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+s}}class Qt{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,s=(6&e[r+1])>>>1,n=1&e[r+1],a=(192&e[r+2])>>>6,o=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===n?7:9,u=l-c;r+=c;let h=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=h,0!==i&&1!==i||0!==s)continue;let f=e.subarray(r,r+u);t={},t.audio_object_type=a+1,t.sampling_freq_index=o,t.sampling_frequency=jt[o],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class er{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,s=(31&t[i+1])<<8|t[i+2];if(i+3+s>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let n=new Vt(t.subarray(i+3,i+3+s)),a=null;if(n.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+s),n.destroy();continue}a=e}else{let e=n.readBool();if(e&&n.readBool()){console.error("audioMuxVersionA is Not Supported"),n.destroy();break}if(e&&this.getLATMValue(n),!n.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),n.destroy();break}if(0!==n.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),n.destroy();break}if(0!==n.readBits(4)){console.error("more than 2 numProgram Not Supported"),n.destroy();break}if(0!==n.readBits(3)){console.error("more than 2 numLayer Not Supported"),n.destroy();break}let t=e?this.getLATMValue(n):0,r=n.readBits(5);t-=5;let i=n.readBits(4);t-=4;let s=n.readBits(4);t-=4,n.readBits(3),t-=3,t>0&&n.readBits(t);let o=n.readBits(3);if(0!==o){console.error(`frameLengthType = ${o}. Only frameLengthType = 0 Supported`),n.destroy();break}n.readByte();let d=n.readBool();if(d)if(e)this.getLATMValue(n);else{let e=0;for(;;){e<<=8;let t=n.readBool();if(e+=n.readByte(),!t)break}console.log(e)}n.readBool()&&n.readByte(),a={},a.audio_object_type=r,a.sampling_freq_index=i,a.sampling_frequency=jt[a.sampling_freq_index],a.channel_config=s,a.other_data_present=d}let o=0;for(;;){let e=n.readByte();if(o+=e,255!==e)break}let d=new Uint8Array(o);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function rr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let s,n=0;for(;n+t>>=8),n+=t,s){if(n+s>r)break;i.push(e.subarray(n,n+s)),n+=s}return i}function ir(e,t){const r=e.length;let i=t?2:1,s=0,n=0,a="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)n+=255,i++;if(n+=e[i++],5===s&&r>i+16)for(let t=0;t<16;t++)a+=e[i].toString(16),i++;return{payload:e.subarray(i),type:s,size:n,uuid:a}}function sr(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function nr(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function ar(){return(new Date).getTime()}function or(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function dr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function lr(e){let t=0,r=dr();return i=>{if(s=i,"[object Number]"!==Object.prototype.toString.call(s))return;var s;t+=i;const n=dr(),a=n-r;a>=1e3&&(e(t/a*1e3),r=n,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function cr(e){return null==e}function ur(e){return!cr(e)}function hr(e){return"function"==typeof e}function fr(e){let t=null,r=31&e[0];return r!==We&&r!==je||(t=Ne),t||(r=(126&e[0])>>1,r!==at&&r!==dt&&r!==ct||(t=Oe)),t}function pr(){return"undefined"!=typeof WritableStream}function mr(e){e.close()}function _r(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,s=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,s=2)}if(r)for(let n=s;n=1e3){e[n-1].ts-r.ts<1e3&&(i=n+1)}}}return i}function gr(e){return e.ok&&e.status>=200&&e.status<=299}function yr(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(x)}function vr(e){return e[0]>>4===Tt&&e[1]===kt}function br(e){return!0===e||"true"===e}function wr(e){return!0!==e&&"true"!==e}function Sr(){return!!(Gt.Worker&&Gt.MediaSource&&"canConstructInDedicatedWorker"in Gt.MediaSource&&!0===Gt.MediaSource.canConstructInDedicatedWorker)}function Er(e,t){const r=rr(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===et||r===rt||r===st)||wr(t)&&r===qe)&&(i=!0)})),i}var Ar=function(e,t,r,i){return new(r||(r=Promise))((function(s,n){function a(e){try{d(i.next(e))}catch(e){n(e)}}function o(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}d((i=i.apply(e,t||[])).next())}))};const Br=Symbol(32),Ur=Symbol(16),xr=Symbol(8);class kr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Ar(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(Br)}readU16(){return this.read(Ur)}readU8(){return this.read(xr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===Br){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===Ur){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===xr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}kr.U32=Br,kr.U16=Ur,kr.U8=xr;class Tr{constructor(e){this.log=function(t){if(e._opt.debugLevel==S){const n=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),s=1;s1?r-1:0),s=1;s1?i-1:0),n=1;n=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[s]=t[e],s++);return new Uint8Array(i.buffer,0,s)}static parseSPS(e){let t=Cr._ebsp2rbsp(e),r=new Vt(t);r.readByte();let i=r.readByte();r.readByte();let s=r.readByte();r.readUEG();let n=Cr.getProfileString(i),a=Cr.getLevelString(s),o=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(o=r.readUEG(),3===o&&r.readBits(1),o<=3&&(d=l[o]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==o?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,B=2*e,S=A/B}}let U=1;1===b&&1===w||(U=b/w);let x=0,k=0;if(0===o)x=1,k=2-m;else{x=3===o?1:2,k=(1===o?2:1)*(2-m)}let T=16*(f+1),C=16*(p+1)*(2-m);T-=(_+g)*x,C-=(y+v)*k;let D=Math.ceil(T*U);return r.destroy(),r=null,{profile_string:n,level_string:a,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Cr.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:B,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:T,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Cr._ebsp2rbsp(e),s=new Vt(i);s.readByte();let n=s.readByte();s.readByte();let a=s.readByte();s.readUEG();let o=Cr.getProfileString(n),d=Cr.getLevelString(a),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===n||110===n||122===n||244===n||44===n||83===n||86===n||118===n||128===n||138===n||144===n)&&(l=s.readUEG(),3===l&&s.readBits(1),l<=3&&(c=u[l]),h=s.readUEG()+8,f=s.readUEG()+8,s.readBits(1),s.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=s.readByte()<<8|s.readByte(),A=s.readByte()<<8|s.readByte())}if(s.readBool()&&s.readBool(),s.readBool()&&(s.readBits(4),s.readBool()&&s.readBits(24)),s.readBool()&&(s.readUEG(),s.readUEG()),s.readBool()){let e=s.readBits(32),t=s.readBits(32);U=s.readBool(),x=t,k=2*e,B=x/k}}let T=1;1===E&&1===A||(T=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let L=16*(_+1),F=16*(g+1)*(2-y);L-=(v+b)*C,F-=(w+S)*D;let I=Math.ceil(L*T);return s.destroy(),s=null,{codec_mimetype:r,profile_idc:n,level_idc:a,profile_string:o,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:m,chroma_format:c,chroma_format_string:Cr.getChromaFormatString(c),frame_rate:{fixed:U,fps:B,fps_den:k,fps_num:x},sar_ratio:{width:E,height:A},codec_size:{width:L,height:F},present_size:{width:I,height:F}}}static _skipScalingList(e,t){let r=8,i=8,s=0;for(let n=0;n=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Fr(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Ir(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,s=!1;const n=Cr.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(s=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=255,a[5]=225;let o=t.byteLength;a[6]=o>>>8,a[7]=255&o;let d=8;a.set(t,8),d+=o,a[d]=1;let l=r.byteLength;a[d+1]=l>>>8,a[d+2]=255&l,a.set(r,d+3),d+=3+l,s&&(a[d]=252|n.chroma_format_idc,a[d+1]=248|n.bit_depth_luma-8,a[d+2]=248|n.bit_depth_chroma-8,a[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+a.byteLength);return u.set(c,0),u.set(a,c.length),u}function Pr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Mr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Rr(e){return 31&e[0]}function zr(e){return e===Xe}function Nr(e){return!function(e){return e===We||e===je}(e)&&!zr(e)}function Or(e){return e===qe}function Gr(e){if(0===e.length)return!1;const t=Rr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],s=(128&e[r])>>>7,n=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=n,i>=Qe||0===s&&(t={type:i,data:e.subarray(r,n)})}return t}}class Hr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Vr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),s=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[s]=t[e],s++);return new Uint8Array(i.buffer,0,s)},Wr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class jr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),s=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[s]=t[e],s++);return new Uint8Array(i.buffer,0,s)}static parseVPS(e){let t=jr._ebsp2rbsp(e),r=new Vt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=jr._ebsp2rbsp(e),r=new Vt(t);r.readByte(),r.readByte();let i=0,s=0,n=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(I=t[e-1],P=i[e-1]):255===e&&(I=r.readBits(16),P=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),L=r.readBool(),L&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let s=0;s<=o;s++){let s=r.readBool();M=s;let n=!0,a=1;s||(n=r.readBool());let o=!1;if(n?r.readUEG():o=r.readBool(),o||(a=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],s=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=Vr(e),r=new Vt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),a=(e=>{let t=Vr(e),r=new Vt(t);r.readByte(),r.readByte();let i=0,s=0,n=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(I=t[e-1],P=i[e-1]):255===e&&(I=r.readBits(16),P=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),L=r.readBool(),L&&(i+=r.readUEG(),s+=r.readUEG(),n+=r.readUEG(),a+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let s=0;s<=o;s++){let s=r.readBool();M=s;let n=!1,a=1;s||(n=r.readBool());let o=!1;if(n?r.readSEG():o=r.readBool(),o||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=Vr(e),r=new Vt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),s=r.readBool(),n=1;return s&&i?n=0:s?n=3:i&&(n=2),{parallelismType:n}})(r);s=Object.assign(s,n,a,o);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&s.general_profile_space)<<6|(s.general_tier_flag?1:0)<<5|31&s.general_profile_idc,l[2]=s.general_profile_compatibility_flags_1||0,l[3]=s.general_profile_compatibility_flags_2||0,l[4]=s.general_profile_compatibility_flags_3||0,l[5]=s.general_profile_compatibility_flags_4||0,l[6]=s.general_constraint_indicator_flags_1||0,l[7]=s.general_constraint_indicator_flags_2||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s.general_constraint_indicator_flags_4||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s.min_spatial_segmentation_idc)>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s.parallelismType,l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s.bit_depth_luma_minus8,l[18]=248|7&s.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&s.constant_frame_rate)<<6|(7&s.num_temporal_layers)<<3|(s.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|at,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|dt,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|ct,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Zr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Jr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Qr(e){return(126&e[0])>>1}function ei(e){return e===ht}function ti(e){return!function(e){return e>=32&&e<=40}(e)}function ri(e){return e>=16&&e<=21}function ii(e){if(0===e.length)return!1;const t=Qr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,s=(128&e[r])>>>7,n=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=n,0===s&&(t={type:i,data:e.subarray(r,n)})}return t}}class ni{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function ai(e){return parseInt(e)===e}function oi(e){if(!ai(e.length))return!1;for(var t=0;t255)return!1;return!0}function di(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!oi(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(ai(e.length)&&oi(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function li(e){return new Uint8Array(e)}function ci(e,t,r,i,s){null==i&&null==s||(e=e.slice?e.slice(i,s):Array.prototype.slice.call(e,i,s)),t.set(e,r)}var ui,hi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},fi=(ui="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+ui[15&i])}return t.join("")}}),pi={16:10,24:12,32:14},mi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],_i=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],gi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],yi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],vi=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],bi=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],wi=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Si=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Ei=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ai=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Bi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Ui=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],xi=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ki=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Ti=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Ci(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=n[t],this._Kd[e-r][t%4]=n[t];for(var a,o=0,d=s;d>16&255]<<24^_i[a>>8&255]<<16^_i[255&a]<<8^_i[a>>24&255]^mi[o]<<24,o+=1,8!=s)for(t=1;t>8&255]<<8^_i[a>>16&255]<<16^_i[a>>24&255]<<24;for(t=s/2+1;t>2,c=d%4,this._Ke[l][c]=n[t],this._Kd[e-l][c]=n[t++],d++}for(var l=1;l>24&255]^xi[a>>16&255]^ki[a>>8&255]^Ti[255&a]},Di.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Ci(e),s=0;s<4;s++)i[s]^=this._Ke[0][s];for(var n=1;n>24&255]^vi[i[(s+1)%4]>>16&255]^bi[i[(s+2)%4]>>8&255]^wi[255&i[(s+3)%4]]^this._Ke[n][s];i=r.slice()}var a,o=li(16);for(s=0;s<4;s++)a=this._Ke[t][s],o[4*s]=255&(_i[i[s]>>24&255]^a>>24),o[4*s+1]=255&(_i[i[(s+1)%4]>>16&255]^a>>16),o[4*s+2]=255&(_i[i[(s+2)%4]>>8&255]^a>>8),o[4*s+3]=255&(_i[255&i[(s+3)%4]]^a);return o},Di.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Ci(e),s=0;s<4;s++)i[s]^=this._Kd[0][s];for(var n=1;n>24&255]^Ei[i[(s+3)%4]>>16&255]^Ai[i[(s+2)%4]>>8&255]^Bi[255&i[(s+1)%4]]^this._Kd[n][s];i=r.slice()}var a,o=li(16);for(s=0;s<4;s++)a=this._Kd[t][s],o[4*s]=255&(gi[i[s]>>24&255]^a>>24),o[4*s+1]=255&(gi[i[(s+3)%4]>>16&255]^a>>16),o[4*s+2]=255&(gi[i[(s+2)%4]>>8&255]^a>>8),o[4*s+3]=255&(gi[255&i[(s+1)%4]]^a);return o};var Li=function(e){if(!(this instanceof Li))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Di(e)};Li.prototype.encrypt=function(e){if((e=di(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=li(e.length),r=li(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Mi.prototype.setBytes=function(e){if(16!=(e=di(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Mi.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Ri=function(e,t){if(!(this instanceof Ri))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Mi||(t=new Mi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Di(e)};Ri.prototype.encrypt=function(e){for(var t=di(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-n%4*8&255;t[i+n>>>2]|=a<<24-(i+n)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=s,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-s%4*8&255;i.push((n>>>4).toString(16)),i.push((15&n).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>24-s%4*8&255;i.push(String.fromCharCode(n))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=o.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,s=i.words,n=i.sigBytes,a=this.blockSize,o=n/(4*a),d=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*a,c=e.min(4*d,n);if(d){for(var u=0;u>>2]|=e[s]<<24-s%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.WordArray,i=e.enc;function s(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535;i.push(String.fromCharCode(n))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=e.charCodeAt(s)<<16-s%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(a))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=s(e.charCodeAt(n)<<16-n%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var s=[],n=0,a=0;a>>6-a%4*2;s[n>>>2]|=o<<24-n%4*8,n++}return t.create(s,n)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var s=[],n=0;n>>2]>>>24-n%4*8&255)<<16|(t[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|t[n+2>>>2]>>>24-(n+2)%4*8&255,o=0;o<4&&n+.75*o>>6*(3-o)&63));var d=i.charAt(64);if(d)for(;s.length%4;)s.push(d);return s.join("")},parse:function(e){var t=e.length,r=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var n=0;n>>6-a%4*2;s[n>>>2]|=o<<24-n%4*8,n++}return t.create(s,n)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,s=t?this._safe_map:this._map;e.clamp();for(var n=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(r[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|r[a+2>>>2]>>>24-(a+2)%4*8&255,d=0;d<4&&a+.75*d>>6*(3-d)&63));var l=s.charAt(64);if(l)for(;n.length%4;)n.push(l);return n.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,s=t?this._safe_map:this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var a=0;a>>24)|4278255360&(s<<24|s>>>8)}var n=this._hash.words,a=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],B=e[t+14],U=e[t+15],x=n[0],k=n[1],T=n[2],C=n[3];x=l(x,k,T,C,a,7,o[0]),C=l(C,x,k,T,d,12,o[1]),T=l(T,C,x,k,f,17,o[2]),k=l(k,T,C,x,p,22,o[3]),x=l(x,k,T,C,m,7,o[4]),C=l(C,x,k,T,_,12,o[5]),T=l(T,C,x,k,g,17,o[6]),k=l(k,T,C,x,y,22,o[7]),x=l(x,k,T,C,v,7,o[8]),C=l(C,x,k,T,b,12,o[9]),T=l(T,C,x,k,w,17,o[10]),k=l(k,T,C,x,S,22,o[11]),x=l(x,k,T,C,E,7,o[12]),C=l(C,x,k,T,A,12,o[13]),T=l(T,C,x,k,B,17,o[14]),x=c(x,k=l(k,T,C,x,U,22,o[15]),T,C,d,5,o[16]),C=c(C,x,k,T,g,9,o[17]),T=c(T,C,x,k,S,14,o[18]),k=c(k,T,C,x,a,20,o[19]),x=c(x,k,T,C,_,5,o[20]),C=c(C,x,k,T,w,9,o[21]),T=c(T,C,x,k,U,14,o[22]),k=c(k,T,C,x,m,20,o[23]),x=c(x,k,T,C,b,5,o[24]),C=c(C,x,k,T,B,9,o[25]),T=c(T,C,x,k,p,14,o[26]),k=c(k,T,C,x,v,20,o[27]),x=c(x,k,T,C,A,5,o[28]),C=c(C,x,k,T,f,9,o[29]),T=c(T,C,x,k,y,14,o[30]),x=u(x,k=c(k,T,C,x,E,20,o[31]),T,C,_,4,o[32]),C=u(C,x,k,T,v,11,o[33]),T=u(T,C,x,k,S,16,o[34]),k=u(k,T,C,x,B,23,o[35]),x=u(x,k,T,C,d,4,o[36]),C=u(C,x,k,T,m,11,o[37]),T=u(T,C,x,k,y,16,o[38]),k=u(k,T,C,x,w,23,o[39]),x=u(x,k,T,C,A,4,o[40]),C=u(C,x,k,T,a,11,o[41]),T=u(T,C,x,k,p,16,o[42]),k=u(k,T,C,x,g,23,o[43]),x=u(x,k,T,C,b,4,o[44]),C=u(C,x,k,T,E,11,o[45]),T=u(T,C,x,k,U,16,o[46]),x=h(x,k=u(k,T,C,x,f,23,o[47]),T,C,a,6,o[48]),C=h(C,x,k,T,y,10,o[49]),T=h(T,C,x,k,B,15,o[50]),k=h(k,T,C,x,_,21,o[51]),x=h(x,k,T,C,E,6,o[52]),C=h(C,x,k,T,p,10,o[53]),T=h(T,C,x,k,w,15,o[54]),k=h(k,T,C,x,d,21,o[55]),x=h(x,k,T,C,v,6,o[56]),C=h(C,x,k,T,U,10,o[57]),T=h(T,C,x,k,g,15,o[58]),k=h(k,T,C,x,A,21,o[59]),x=h(x,k,T,C,m,6,o[60]),C=h(C,x,k,T,S,10,o[61]),T=h(T,C,x,k,f,15,o[62]),k=h(k,T,C,x,b,21,o[63]),n[0]=n[0]+x|0,n[1]=n[1]+k|0,n[2]=n[2]+T|0,n[3]=n[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,s=8*t.sigBytes;r[s>>>5]|=128<<24-s%32;var n=e.floor(i/4294967296),a=i;r[15+(s+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),r[14+(s+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var o=this._hash,d=o.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,s,n,a){var o=e+(t&r|~t&i)+s+a;return(o<>>32-n)+t}function c(e,t,r,i,s,n,a){var o=e+(t&i|r&~i)+s+a;return(o<>>32-n)+t}function u(e,t,r,i,s,n,a){var o=e+(t^r^i)+s+a;return(o<>>32-n)+t}function h(e,t,r,i,s,n,a){var o=e+(r^(t|~i))+s+a;return(o<>>32-n)+t}t.MD5=n._createHelper(d),t.HmacMD5=n._createHmacHelper(d)}(Math),r.MD5)})),Ht((function(e,t){var r,i,s,n,a,o,d,l;e.exports=(i=(r=l=Ni).lib,s=i.WordArray,n=i.Hasher,a=r.algo,o=[],d=a.SHA1=n.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],s=r[1],n=r[2],a=r[3],d=r[4],l=0;l<80;l++){if(l<16)o[l]=0|e[t+l];else{var c=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+o[l];u+=l<20?1518500249+(s&n|~s&a):l<40?1859775393+(s^n^a):l<60?(s&n|s&a|n&a)-1894007588:(s^n^a)-899497514,d=a,a=n,n=s<<30|s>>>2,s=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+n|0,r[3]=r[3]+a|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=n._createHelper(d),r.HmacSHA1=n._createHmacHelper(d),l.SHA1)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib,s=i.WordArray,n=i.Hasher,a=t.algo,o=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,s=0;s<64;)t(i)&&(s<8&&(o[s]=r(e.pow(i,.5))),d[s]=r(e.pow(i,1/3)),s++),i++}();var l=[],c=a.SHA256=n.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],s=r[1],n=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[f-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[f]=m+l[f-7]+g+l[f-16]}var y=i&s^i&n^s&n,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=h+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&c^~o&u)+d[f]+l[f];h=u,u=c,c=o,o=a+b|0,a=n,n=s,s=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+n|0,r[3]=r[3]+a|0,r[4]=r[4]+o|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,s=8*t.sigBytes;return r[s>>>5]|=128<<24-s%32,r[14+(s+64>>>9<<4)]=e.floor(i/4294967296),r[15+(s+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=n._createHelper(c),t.HmacSHA256=n._createHmacHelper(c)}(Math),r.SHA256)})),Ht((function(e,t){var r,i,s,n,a,o;e.exports=(i=(r=o=Ni).lib.WordArray,s=r.algo,n=s.SHA256,a=s.SHA224=n.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=n._createHelper(a),r.HmacSHA224=n._createHmacHelper(a),o.SHA224)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.Hasher,i=e.x64,s=i.Word,n=i.WordArray,a=e.algo;function o(){return s.create.apply(s,arguments)}var d=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=o()}();var c=a.SHA512=t.extend({_doReset:function(){this._hash=new n.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],s=r[1],n=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=i.high,p=i.low,m=s.high,_=s.low,g=n.high,y=n.low,v=a.high,b=a.low,w=o.high,S=o.low,E=c.high,A=c.low,B=u.high,U=u.low,x=h.high,k=h.low,T=f,C=p,D=m,L=_,F=g,I=y,P=v,M=b,R=w,z=S,N=E,O=A,G=B,$=U,H=x,V=k,W=0;W<80;W++){var j,q,Y=l[W];if(W<16)q=Y.high=0|e[t+2*W],j=Y.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[W-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,se=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),ne=l[W-7],ae=ne.high,oe=ne.low,de=l[W-16],le=de.high,ce=de.low;q=(q=(q=J+ae+((j=Q+oe)>>>0>>0?1:0))+ie+((j+=se)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),Y.high=q,Y.low=j}var ue,he=R&N^~R&G,fe=z&O^~z&$,pe=T&D^T&F^D&F,me=C&L^C&I^L&I,_e=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),ge=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[W],we=be.high,Se=be.low,Ee=H+ye+((ue=V+ve)>>>0>>0?1:0),Ae=ge+me;H=G,V=$,G=N,$=O,N=R,O=z,R=P+(Ee=(Ee=(Ee=Ee+he+((ue+=fe)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+q+((ue+=j)>>>0>>0?1:0))+((z=M+ue|0)>>>0>>0?1:0)|0,P=F,M=I,F=D,I=L,D=T,L=C,T=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=f+T+(p>>>0>>0?1:0),_=s.low=_+L,s.high=m+D+(_>>>0>>0?1:0),y=n.low=y+I,n.high=g+F+(y>>>0>>0?1:0),b=a.low=b+M,a.high=v+P+(b>>>0>>0?1:0),S=o.low=S+z,o.high=w+R+(S>>>0>>0?1:0),A=c.low=A+O,c.high=E+N+(A>>>0>>0?1:0),U=u.low=U+$,u.high=B+G+(U>>>0<$>>>0?1:0),k=h.low=k+V,h.high=x+H+(k>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),Ht((function(e,t){var r,i,s,n,a,o,d,l;e.exports=(i=(r=l=Ni).x64,s=i.Word,n=i.WordArray,a=r.algo,o=a.SHA512,d=a.SHA384=o.extend({_doReset:function(){this._hash=new n.init([new s.init(3418070365,3238371032),new s.init(1654270250,914150663),new s.init(2438529370,812702999),new s.init(355462360,4144912697),new s.init(1731405415,4290775857),new s.init(2394180231,1750603025),new s.init(3675008525,1694076839),new s.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=o._createHelper(d),r.HmacSHA384=o._createHmacHelper(d),l.SHA384)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib,s=i.WordArray,n=i.Hasher,a=t.x64.Word,o=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var s=1,n=0;n<24;n++){for(var o=0,u=0,h=0;h<7;h++){if(1&s){var f=(1<>>24)|4278255360&(n<<24|n>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(k=r[s]).high^=a,k.low^=n}for(var o=0;o<24;o++){for(var h=0;h<5;h++){for(var f=0,p=0,m=0;m<5;m++)f^=(k=r[h+5*m]).high,p^=k.low;var _=u[h];_.high=f,_.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],v=y.high,b=y.low;for(f=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(k=r[h+5*m]).high^=f,k.low^=p}for(var w=1;w<25;w++){var S=(k=r[w]).high,E=k.low,A=d[w];A<32?(f=S<>>32-A,p=E<>>32-A):(f=E<>>64-A,p=S<>>64-A);var B=u[l[w]];B.high=f,B.low=p}var U=u[0],x=r[0];for(U.high=x.high,U.low=x.low,h=0;h<5;h++)for(m=0;m<5;m++){var k=r[w=h+5*m],T=u[w],C=u[(h+1)%5+5*m],D=u[(h+2)%5+5*m];k.high=T.high^~C.high&D.high,k.low=T.low^~C.low&D.low}k=r[0];var L=c[o];k.high^=L.high,k.low^=L.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,n=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/n)*n>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,o=this.cfg.outputLength/8,d=o/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new s.init(l,o)},clone:function(){for(var e=n.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=n._createHelper(h),t.HmacSHA3=n._createHmacHelper(h)}(Math),r.SHA3)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib,s=i.WordArray,n=i.Hasher,a=t.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=s.create([0,1518500249,1859775393,2400959708,2840853838]),h=s.create([1352829926,1548603684,1836072691,2053994217,0]),f=a.RIPEMD160=n.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,s=e[i];e[i]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}var n,a,f,b,w,S,E,A,B,U,x,k=this._hash.words,T=u.words,C=h.words,D=o.words,L=d.words,F=l.words,I=c.words;for(S=n=k[0],E=a=k[1],A=f=k[2],B=b=k[3],U=w=k[4],r=0;r<80;r+=1)x=n+e[t+D[r]]|0,x+=r<16?p(a,f,b)+T[0]:r<32?m(a,f,b)+T[1]:r<48?_(a,f,b)+T[2]:r<64?g(a,f,b)+T[3]:y(a,f,b)+T[4],x=(x=v(x|=0,F[r]))+w|0,n=w,w=b,b=v(f,10),f=a,a=x,x=S+e[t+L[r]]|0,x+=r<16?y(E,A,B)+C[0]:r<32?g(E,A,B)+C[1]:r<48?_(E,A,B)+C[2]:r<64?m(E,A,B)+C[3]:p(E,A,B)+C[4],x=(x=v(x|=0,I[r]))+U|0,S=U,U=B,B=v(A,10),A=E,E=x;x=k[1]+f+B|0,k[1]=k[2]+b+U|0,k[2]=k[3]+w+S|0,k[3]=k[4]+n+E|0,k[4]=k[0]+a+A|0,k[0]=x},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var s=this._hash,n=s.words,a=0;a<5;a++){var o=n[a];n[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return s},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=n._createHelper(f),t.HmacRIPEMD160=n._createHmacHelper(f)}(),r.RIPEMD160)})),Ht((function(e,t){var r,i,s;e.exports=(i=(r=Ni).lib.Base,s=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var n=this._oKey=t.clone(),a=this._iKey=t.clone(),o=n.words,d=a.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=s.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?n.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=n.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=s.extend({cfg:s.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var s=e.createEncryptor(r,i),n=s.finalize(t),a=s.cfg;return m.create({ciphertext:n,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,s){if(i||(i=n.random(8)),s)a=l.create({keySize:t+r,hasher:s}).compute(e,i);else var a=l.create({keySize:t+r}).compute(e,i);var o=n.create(a.words.slice(t),4*r);return a.sigBytes=4*t,m.create({key:a,iv:o,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var s=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=s.iv;var n=g.encrypt.call(this,e,t,s.key,i);return n.mixIn(s),n},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var s=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=s.iv,g.decrypt.call(this,e,t,s.key,i)}})}())})),Ht((function(e,t){var r;e.exports=((r=Ni).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var s,n=this._iv;n?(s=n.slice(0),this._iv=void 0):s=this._prevBlock,i.encryptBlock(s,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var s=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,s=r.blockSize,n=this._iv,a=this._counter;n&&(a=this._counter=n.slice(0),this._iv=void 0),i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var d=0;d>>2]|=s<<24-n%4*8,e.sigBytes+=s},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.Iso10126={pad:function(e,t){var i=4*t,s=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(s-1)).concat(r.lib.WordArray.create([s<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib.CipherParams,s=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(s)},parse:function(e){var t=s.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,s=[],n=[],a=[],o=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,s[r]=p,n[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;a[r]=y<<24|y>>>8,o[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),n=this._keySchedule=[],a=0;a6&&a%r==4&&(l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[255&l]):(l=s[(l=l<<8|l>>>24)>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[255&l],l^=p[a/r|0]<<24),n[a]=n[a-r]^l);for(var o=this._invKeySchedule=[],d=0;d>>24]]^u[s[l>>>16&255]]^h[s[l>>>8&255]]^f[s[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,d,l,s)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,n),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,s,n,a,o){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^s[c>>>16&255]^n[u>>>8&255]^a[255&h]^r[f++],_=i[c>>>24]^s[u>>>16&255]^n[h>>>8&255]^a[255&l]^r[f++],g=i[u>>>24]^s[h>>>16&255]^n[l>>>8&255]^a[255&c]^r[f++],y=i[h>>>24]^s[l>>>16&255]^n[c>>>8&255]^a[255&u]^r[f++];l=m,c=_,u=g,h=y}m=(o[l>>>24]<<24|o[c>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^r[f++],_=(o[c>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&l])^r[f++],g=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[l>>>8&255]<<8|o[255&c])^r[f++],y=(o[h>>>24]<<24|o[l>>>16&255]<<16|o[c>>>8&255]<<8|o[255&u])^r[f++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib,i=t.WordArray,s=t.BlockCipher,n=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=n.DES=s.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=a[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var s=this._subKeys=[],n=0;n<16;n++){var l=s[n]=[],c=d[n];for(r=0;r<24;r++)l[r/6|0]|=t[(o[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(o[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=s[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var i=0;i<16;i++){for(var s=r[i],n=this._lBlock,a=this._rBlock,o=0,d=0;d<8;d++)o|=l[d][((a^s[d])&c[d])>>>0];this._lBlock=a,this._rBlock=n^o}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(s))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=s._createHelper(p)}(),r.TripleDES)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,s=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],s=0;s<256;s++)i[s]=s;s=0;for(var n=0;s<256;s++){var a=s%r,o=t[a>>>2]>>>24-a%4*8&255;n=(n+i[s]+o)%256;var d=i[s];i[s]=i[n],i[n]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var e=this._S,t=this._i,r=this._j,i=0,s=0;s<4;s++){r=(r+e[t=(t+1)%256])%256;var n=e[t];e[t]=e[r],e[r]=n,i|=e[(e[t]+e[r])%256]<<24-8*s}return this._i=t,this._j=r,i}e.RC4=t._createHelper(s);var a=i.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)n.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,s=[],n=[],a=[],o=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)s[r]^=i[r+4&7];if(t){var n=t.words,a=n[0],o=n[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(s[0]^=l,s[1]^=u,s[2]^=c,s[3]^=h,s[4]^=l,s[5]^=u,s[6]^=c,s[7]^=h,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8),e[t+i]^=s[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)n[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],s=65535&i,o=i>>>16,d=((s*s>>>17)+s*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(o)}(),r.Rabbit)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,s=[],n=[],a=[],o=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var s=0;s<4;s++)d.call(this);for(s=0;s<8;s++)i[s]^=r[s+4&7];if(t){var n=t.words,a=n[0],o=n[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=h,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=h,s=0;s<4;s++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8),e[t+i]^=s[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)n[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],s=65535&i,o=i>>>16,d=((s*s>>>17)+s*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(o)}(),r.RabbitLegacy)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const s=16,n=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,s=t>>8&255,n=255&t,a=e.sbox[0][r]+e.sbox[1][i];return a^=e.sbox[2][s],a+=e.sbox[3][n],a}function l(e,t,r){let i,n=t,a=r;for(let t=0;t1;--t)n^=e.pbox[t],a=d(e,n)^a,i=n,n=a,a=i;return i=n,n=a,a=i,a^=e.pbox[1],n^=e.pbox[0],{left:n,right:a}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=a[t][r]}let i=0;for(let a=0;a=r&&(i=0);let o=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let n=5;for(;ns)break;let o=e[n+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=e.slice(n+4+2,n+4+a);let s=new zi.ModeOfOperation.ctr(t,new zi.Counter(r));const o=s.decrypt(i);s=null,e.set(o,n+4+2)}n=n+4+a}return e}function $i(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let s=new zi.ModeOfOperation.ctr(t,new zi.Counter(r));const n=s.decrypt(i);return s=null,e.set(n,32),e}Ht((function(e,t){e.exports=Ni}));var Hi=Ht((function(e,t){var r,s,n,a=(r=new Date,s=4,n={setLogLevel:function(e){s=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=s&&console.debug("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=s&&console.info("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=s&&console.warn("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=s&&console.error("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},n);a.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+a.getDurationString(e.start(i))+","+a.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=a;var o=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};o.prototype.getPosition=function(){return this.position},o.prototype.getEndPosition=function(){return this.buffer.byteLength},o.prototype.getLength=function(){return this.buffer.byteLength},o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},o.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},o.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},o.prototype.readUint8=function(){return this.readAnyInt(1,!1)},o.prototype.readUint16=function(){return this.readAnyInt(2,!1)},o.prototype.readUint24=function(){return this.readAnyInt(3,!1)},o.prototype.readUint32=function(){return this.readAnyInt(4,!1)},o.prototype.readUint64=function(){return this.readAnyInt(8,!1)},o.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),s=new Uint8Array(this._buffer);new Uint8Array(i,0,s.length).set(s),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,s){var n=new Uint8Array(e,t,s),a=new Uint8Array(r,i,s);n.set(a)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rs;i--,s++){var n=t[s];t[s]=t[i],t[i]=n}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,s,n)}}t&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,s,n,o=[],d="";for(i=0,s=0,t=0;t0&&(d+=n.end-1+"]");var l=e?a.info:a.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+s+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,s=null,n=-1;for(i=!0===e?0:this.bufferIndex;i=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+n),n):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,s=void 0!==e?e:this.bufferIndex;if(r=this.buffers[s],this.buffers.length>s+1)for(t=s+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){h.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){h.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){h.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(a.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):0!==l&&o+l>e.getEndPosition()?(e.seek(o),a.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:o}:(h[c+"Box"]?i=new h[c+"Box"](l):"uuid"!==c?(a.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[n]?i=new h.UUIDBoxes[n](l):(a.warn("BoxParser","Unknown uuid type: '"+n+"'"),(i=new h.Box(c,l)).uuid=n,i.has_unparsed_data=!0),i.hdr_size=d,i.start=o,i.write===h.Box.prototype.write&&"mdat"!==i.type&&(a.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(s=e.getPosition()-(i.start+i.size))<0?(a.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-s+" bytes), seeking forward"),e.seek(i.start+i.size)):s>0&&(a.error("BoxParser","Parsing of box '"+u+"' read "+s+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:h.OK,box:i,size:i.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)a.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void a.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else a.error("av1C reserved_1 parsing problem");else a.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=s>>1&31,i.bsmod=(1&s)<<4|n>>4&15,i.acmod=n>>1&7,i.lfeon=1&n,i.num_dep_sub=a>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&a)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),s=Math.min(127&i,r.length-1);if(s?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[s]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,r,i,s;this.configurationVersion=e.readUint8(),s=e.readUint8(),this.general_profile_space=s>>6,this.general_tier_flag=(32&s)>>5,this.general_profile_idc=31&s,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),s=e.readUint8(),this.constantFrameRate=s>>6,this.numTemporalLayers=(13&s)>>3,this.temporalIdNested=(4&s)>>2,this.lengthSizeMinusOne=3&s,this.nalu_arrays=[];var n=e.readUint8();for(t=0;t>7,a.nalu_type=63&s;var o=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),a.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?a.property_index=(127&n)<<8|e.readUint8():a.property_index=127&n}}})),h.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&s,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&s,i.subsegment_duration=e.readUint32(),s=e.readUint32(),i.starts_with_SAP=s>>31&1,i.SAP_type=s>>28&7,i.SAP_delta_time=268435455&s}})),h.SingleItemTypeReferenceBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var a=i.extract_bits(1);this.ptl_sublayer_present_mask|=a<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var s=!1,n="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||s)&&(n="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+n,s=!0);t+=n}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,s=[],n=0;for(n|=this.vvcC.ptl_frame_only_constraint<<7,n|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,s.push(n),n&&(i=e),n=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",o=0,d=0;for(e=0;e<=i;++e)for(o=o<<8|s[e],d+=8;d>=5;){r+=a[o>>d-5&31],o&=(1<<(d-=5))-1}d&&(r+=a[31&(o<<=5-d)])}}t+=r}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(r?"."+r:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof h.Box||t[r]instanceof h.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var s={};this.extractedTracks.push(s),s.id=e,s.user=t,s.trak=i,i.nextSample=0,s.nb_samples=1e3,s.samples=[],r&&r.nbSamples&&(s.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&a.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,s,n,a={},o=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=null!=this.moov.mvex,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=null!=this.moov.iods,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(o+1e3*this.moov.mvhd.creation_time),a.modified=new Date(o+1e3*this.moov.mvhd.modification_time),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],e=0;e0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+n.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(n.id,n.user,n.samples),n.samples=[],n!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,s=this.getTrackById(e);s.lastValidSample||(s.lastValidSample=0);for(var n=s.lastValidSample;ne*s.timescale){l=i-1;break}t&&s.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return n=r.samples[l].offset+r.samples[l].alreadyRead,a.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+a.getDurationString(e,o)+" and offset: "+n),{offset:n,time:e/o}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,s,n=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(s=0;sthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){a=d;break}switch(a){case"Visual":if(s.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),n.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new o(t.avcDecoderConfigRecord)),n.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new o(t.hevcDecoderConfigRecord)),n.addBox(f)}break;case"Audio":s.add("smhd").set("balance",t.balance||0),n.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":s.add("hmhd");break;case"Subtitle":if(s.add("sthd"),"stpp"===t.type)n.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:s.add("nmhd")}t.description&&n.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){n.addBox(e)})),s.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=s.add("stbl");return p.add("stsd").addEntry(n),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},s={},n=this.getTrackById(e);if(null!==n){s.number=n.samples.length,s.track_id=n.tkhd.track_id,s.timescale=n.mdia.mdhd.timescale,s.description_index=i.sample_description_index?i.sample_description_index-1:0,s.description=n.mdia.minf.stbl.stsd.entries[s.description_index],s.data=t,s.size=t.byteLength,s.alreadyRead=s.size,s.duration=i.duration||1,s.cts=i.cts||0,s.dts=i.dts||0,s.is_sync=i.is_sync||!1,s.is_leading=i.is_leading||0,s.depends_on=i.depends_on||0,s.is_depended_on=i.is_depended_on||0,s.has_redundancy=i.has_redundancy||0,s.degradation_priority=i.degradation_priority||0,s.offset=0,s.subsamples=i.subsamples,n.samples.push(s),n.samples_size+=s.size,n.samples_duration+=s.duration,void 0===n.first_dts&&(n.first_dts=i.dts),this.processSamples();var a=this.createSingleSampleMoof(s);return this.addBox(a),a.computeSize(),a.trafs[0].truns[0].data_offset=a.size+8,this.add("mdat").data=new Uint8Array(t),s}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new h.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),s=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(s.first_dts||0)),i.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,s,n;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=s[a].grouping_type+"/0",(o=new l(s[a].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=o))}else for(a=0;a=2&&(d=i[a].grouping_type+"/0",o=new l(i[a].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=o))},g.setSampleGroupProperties=function(e,t,r,i){var s,n;for(s in t.sample_groups=[],i){var a;if(t.sample_groups[s]={},t.sample_groups[s].grouping_type=i[s].grouping_type,t.sample_groups[s].grouping_type_parameter=i[s].grouping_type_parameter,r>=i[s].last_sample_in_run&&(i[s].last_sample_in_run<0&&(i[s].last_sample_in_run=0),i[s].entry_index++,i[s].entry_index<=i[s].sbgp.entries.length-1&&(i[s].last_sample_in_run+=i[s].sbgp.entries[i[s].entry_index].sample_count)),i[s].entry_index<=i[s].sbgp.entries.length-1?t.sample_groups[s].group_description_index=i[s].sbgp.entries[i[s].entry_index].group_description_index:t.sample_groups[s].group_description_index=-1,0!==t.sample_groups[s].group_description_index)a=i[s].fragment_description?i[s].fragment_description:i[s].description,t.sample_groups[s].group_description_index>0?(n=t.sample_groups[s].group_description_index>65535?(t.sample_groups[s].group_description_index>>16)-1:t.sample_groups[s].group_description_index-1,a&&n>=0&&(t.sample_groups[s].description=a.entries[n])):a&&a.version>=2&&a.default_group_description_index>0&&(t.sample_groups[s].description=a.entries[a.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=n.sample_counts[b]),t>0?(e.samples[t-1].duration=n.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,U.dts=e.samples[t-1].dts+e.samples[t-1].duration):U.dts=0,a?(t>=w&&(S++,w<0&&(w=0),w+=a.sample_counts[S]),U.cts=e.samples[t].dts+a.sample_offsets[S]):U.cts=U.dts,o?(t==o.sample_numbers[E]-1?(U.is_sync=!0,E++):(U.is_sync=!1,U.degradation_priority=0),l&&l.entries[A].sample_delta+B==t+1&&(U.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta,A++)):U.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,U,U.number),U.degradation_priority=h?h.priority[t]:0,l&&l.entries[A].sample_delta+B==t&&(U.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,U,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,s,n,a,o,d,l,c,u,f,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=a,_.flags&h.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&h.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&h.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:o,p.offset=0===t&&0===r?b?w+_.data_offset:w:o,o=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var n=(r=this.stream.buffers[s]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=n)return a.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===n)return null;a.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+n+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,n),i.alreadyRead+=n,r.usedBytes+=n,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=n.ipro.protections[n.iinf.item_infos[e].protection_index-1]),n.iinf.item_infos[e].item_type?r.type=n.iinf.item_infos[e].item_type:r.type="mime",r.content_type=n.iinf.item_infos[e].content_type,r.content_encoding=n.iinf.item_infos[e].content_encoding;if(n.grpl)for(e=0;e0&&h.property_index-1-1))return null;var o=(t=this.stream.buffers[n]).byteLength-(s.offset+s.alreadyRead-t.fileStart);if(!(s.length-s.alreadyRead<=o))return a.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-t.fileStart)+" read size: "+o+" full extent size: "+s.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,s.offset+s.alreadyRead-t.fileStart,o),s.alreadyRead+=o,r.alreadyRead+=o,t.usedBytes+=o,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-t.fileStart)+" read size: "+(s.length-s.alreadyRead)+" full extent size: "+s.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,s.offset+s.alreadyRead-t.fileStart,s.length-s.alreadyRead),t.usedBytes+=s.length-s.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=s.length-s.alreadyRead,s.alreadyRead=s.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function Vi(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}Hi.Log,Hi.MP4BoxStream,Hi.DataStream,Hi.MultiBufferStream,Hi.MPEG4DescriptorParser,Hi.BoxParser,Hi.XMLSubtitlein4Parser,Hi.Textin4Parser,Hi.ISOFile,Hi.createFile;const Wi=16,ji=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],qi=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Yi(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Xi(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Zi(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function Ji(e,t){const r=31&t;return e<>>32-r}function Qi(e){return(255&ji[e>>>24&255])<<24|(255&ji[e>>>16&255])<<16|(255&ji[e>>>8&255])<<8|255&ji[255&e]}function es(e){return e^Ji(e,2)^Ji(e,10)^Ji(e,18)^Ji(e,24)}function ts(e){return e^Ji(e,13)^Ji(e,23)}function rs(e,t,r){const i=new Array(4),s=new Array(4);for(let t=0;t<4;t++)s[0]=255&e[4*t],s[1]=255&e[4*t+1],s[2]=255&e[4*t+2],s[3]=255&e[4*t+3],i[t]=s[0]<<24|s[1]<<16|s[2]<<8|s[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=es(Qi(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=es(Qi(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=es(Qi(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=es(Qi(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function is(e,t,r){const i=new Array(4),s=new Array(4);for(let t=0;t<4;t++)s[0]=255&e[0+4*t],s[1]=255&e[1+4*t],s[2]=255&e[2+4*t],s[3]=255&e[3+4*t],i[t]=s[0]<<24|s[1]<<16|s[2]<<8|s[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^qi[r+0],t[r+0]=i[0]^=ts(Qi(e)),e=i[2]^i[3]^i[0]^qi[r+1],t[r+1]=i[1]^=ts(Qi(e)),e=i[3]^i[0]^i[1]^qi[r+2],t[r+2]=i[2]^=ts(Qi(e)),e=i[0]^i[1]^i[2]^qi[r+3],t[r+3]=i[3]^=ts(Qi(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function ss(e,t,r){let{padding:i="pkcs#7",mode:s,iv:n=[],output:a="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===s&&("string"==typeof n&&(n=Yi(n)),16!==n.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Yi(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Xi(e):Yi(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=Wi-e.length%Wi;for(let r=0;r=Wi;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let n=new Uint8Array(e.slice(0,5)),a=5;for(;as){const t=new Uint8Array(n.length+e.length-a);t.set(n,0),t.set(e.slice(a),n.length),n=t;break}let l=e[a+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=ss(e.slice(a+4+u,a+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const s=new Uint8Array(u);s.set(e.slice(a+4,a+4+u),0);const o=sr(Vi(s,new Uint8Array(r))),l=new Uint8Array(n.length+o.length);l.set(n,0),l.set(o,n.length),n=l}else{const t=e.slice(a+4,a+4+d),r=new Uint8Array(n.length+4+t.length);r.set(n,0),r.set(o,n.length),r.set(t,n.length+4),n=r}a=a+4+d}return n}const os={init:0,findFirstStartCode:1,findSecondStartCode:2};class ds extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function s(){i.off(e,s);for(var n=arguments.length,a=new Array(n),o=0;o1?r-1:0),s=1;s{delete r[e]})),void delete this.e;const i=r[e],s=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=os.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==os.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=os.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==os.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=os.findFirstStartCode}}}}function ls(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let n=5;for(;ns)break;let o=e[n+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=ls(e.slice(n+4,n+4+a),t,r);e.set(i,n+4)}n=n+4+a}return e}function hs(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let s=0;return t.forEach((e=>{i.set(e,s),s+=e.byteLength})),i}class fs{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const s=()=>{hr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(s),s}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class ps{static init(){ps.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in ps.types)ps.types.hasOwnProperty(e)&&(ps.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=ps.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),s=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let n=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return ps.box(ps.types.trak,ps.tkhd(e),ps.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,s=e.presentHeight;return ps.box(ps.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static mdia(e){return ps.box(ps.types.mdia,ps.mdhd(e),ps.hdlr(e),ps.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return ps.box(ps.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?ps.constants.HDLR_AUDIO:ps.constants.HDLR_VIDEO,ps.box(ps.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?ps.box(ps.types.smhd,ps.constants.SMHD):ps.box(ps.types.vmhd,ps.constants.VMHD),ps.box(ps.types.minf,t,ps.dinf(),ps.stbl(e))}static dinf(){return ps.box(ps.types.dinf,ps.box(ps.types.dref,ps.constants.DREF))}static stbl(e){return ps.box(ps.types.stbl,ps.stsd(e),ps.box(ps.types.stts,ps.constants.STTS),ps.box(ps.types.stsc,ps.constants.STSC),ps.box(ps.types.stsz,ps.constants.STSZ),ps.box(ps.types.stco,ps.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.mp3(e)):ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.mp4a(e)):"avc"===e.videoType?ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.avc1(e)):ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return ps.box(ps.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return ps.box(ps.types.mp4a,i,ps.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return ps.box(ps.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return ps.box(ps.types.avc1,s,ps.box(ps.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return ps.box(ps.types.hvc1,s,ps.box(ps.types.hvcC,t))}static mvex(e){return ps.box(ps.types.mvex,ps.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return ps.box(ps.types.trex,r)}static moof(e,t){return ps.box(ps.types.moof,ps.mfhd(e.sequenceNumber),ps.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return ps.box(ps.types.mfhd,t)}static traf(e,t){let r=e.id,i=ps.box(ps.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),s=ps.box(ps.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),n=ps.sdtp(e),a=ps.trun(e,n.byteLength+16+16+8+16+8+8);return ps.box(ps.types.traf,i,s,a,n)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,ps.box(ps.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,s=e.size,n=e.flags,a=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n.isLeading<<2|n.dependsOn,n.isDependedOn<<6|n.hasRedundancy<<4|n.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),ps.box(ps.types.trun,r)}static mdat(e){return ps.box(ps.types.mdat,e)}}ps.init();var ms,_s=Ht((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(ms=_s)&&ms.__esModule&&Object.prototype.hasOwnProperty.call(ms,"default")&&ms.default;const gs=[44100,48e3,32e3,0],ys=[22050,24e3,16e3,0],vs=[11025,12e3,8e3,0],bs=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],ws=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Ss=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Es(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,s=(6&t[1])>>1,n=(240&t[2])>>>4,a=(12&t[2])>>>2,o=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=vs[a];break;case 2:d=ys[a];break;case 3:d=gs[a]}switch(s){case 1:n=e[s]&&t=6?(i=5,t=new Array(4),a=s-3):(i=2,t=new Array(2),a=s):-1!==o.indexOf("android")?(i=2,t=new Array(2),a=s):(i=5,a=s,t=new Array(4),s>=6?a=s-3:1===n&&(i=2,t=new Array(2),a=s)),t[0]=i<<3,t[0]|=(15&s)>>>1,t[1]=(15&s)<<7,t[1]|=(15&n)<<3,5===i&&(t[1]|=(15&a)>>>1,t[2]=(1&a)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=zs[s],this.sampling_index=s,this.channel_count=n,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Gs{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,n=8-i;if(n>=e)return r&&(this.index+=e),s>>n-e;{r&&(this.index+=n);const i=e-n;return s<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function $s(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const Hs=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Vs=new Array(2746333894,1453994832,1736282519,2993693404),Ws=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function js(e,t,r,i,s){var n=s;n=t+s>e.length&&i+s<=r.length?e.length-t:i+s>r.length&&t+s<=e.length?r.length-i:t+s<=e.length&&i+s<=r.length?s:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Ys(e,t){return t+3>>19)^(i<<23|i>>>9)}function Zs(e,t){var r=new Array(36);r[0]=Ys(t,0),r[1]=Ys(t,4),r[2]=Ys(t,8),r[3]=Ys(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^Js(r[i+1]^r[i+2]^r[i+3]^e[i]);var s=new Array(4);for(i=35;i>=32;i--)s[35-i]=r[i];var n=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function Qs(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Ks(e),s=Math.ceil(r.length/16),n=new Array(r.length),a=t.slice(),o=0;o3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let a=5;for(;an)break;let d=e[a+4],l=!1,c=2;if(i?(s&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=Qs(t,r,e.slice(a+4+c,a+4+o));e.set(i,a+4+c)}a=a+4+o}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]'),n({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn("JbPro[❌❌❌][audio wasm]:",e)}}).then((e=>{!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=[],n=[],a=null,o=null,d=null,l=null,c=null,u=null,h=!1,S=null,E=null,x=!1,Se=!1,Ee=!!br(r),qe=0,Qe=0,et=!1,rt=null,st=null,ht=null,Bt=[],Ut=null,Tt=null,Gt=0,$t=0,Ht=null,Vt=null,Wt=0,jt=0,Zt=!1,tr=!1,dr=!1,Ar=null,Br=null,Ur=!1,xr=!0,Dr=0,Vr=0,Wr=()=>{const e=yr();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(a={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){a.decoder=new VideoDecoder({output:function(e){if(hr(e.createImageBitmap))e.createImageBitmap().then((t=>{a.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:r,delay:ui.delay,ts:0},[r]),mr(e)}));else{a.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:t,delay:ui.delay,ts:0},[t]),mr(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(a.TAG_NAME,"init")},destroy(){a.reset(),a.decoder&&"closed"!==a.decoder.state&&(a.decoder.close(),a.decoder=null),ui.debugLog(a.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(a.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?mt:_t});a.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:M,code:t});const r=new Uint8Array(e);postMessage({cmd:R,buffer:r,codecId:t},[r.buffer]);let i=null,s=null;const n=e.slice(5);t===Me?(s=Lr(n),i={codec:s.codec,description:n}):t===Re&&(s=Yr(n),i={codec:s.codec,description:n}),s&&s.codecWidth&&s.codecHeight&&(i.codedHeight=s.codecHeight,i.codedWidth=s.codecWidth),a.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:T,w:s.codecWidth,h:s.codecHeight}),a.isEmitInfo=!0,a.offscreenCanvas=new OffscreenCanvas(s.codecWidth,s.codecHeight),a.offscreenCanvasCtx=a.offscreenCanvas.getContext("2d"));try{a.decoder.configure(i),a.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){a.hasInit=!1,a.isEmitInfo=!1,a.offscreenCanvas=null,a.offscreenCanvasCtx=null}});let Kr=function(){if(Ur=!0,o)try{o.abort(),o=null,ui.debugLog("worker","abort success")}catch(e){o=null,ui.debugLog("worker","abort catch",e)}},ai={TAG_NAME:"worker nakedFlow",init(){ai.lastBuf=null,ai.vps=null,ai.sps=null,ai.pps=null,ai.streamType=null,ai.localDts=0,ai.pendingUnits={},ai.isSendSeqHeader=!1,ui.debugLog(ai.TAG_NAME,"init")},destroy(){ai.lastBuf=null,ai.vps=null,ai.sps=null,ai.pps=null,ai.streamType=null,ai.localDts=0,ai.pendingUnits={},ai.isSendSeqHeader=!1,ui.debugLog(ai.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=ai.extractNALu$3(t);if(0===e.length)return void ui.debugLog(ai.TAG_NAME,"dispatch naluArray length is 0");ai.handleVideoFrames(e)}else ai.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=ai.localDts;return ai.localDts=ai.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return ai.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,s=e.byteLength,n=0,a=[];for(;i1)for(let e=0;e{const t=Rr(e);t===je||t===We?ai.handleVideoH264Nalu(e):Nr(t)&&i.push(e)})),1===i.length)ai.handleVideoH264Nalu(i[0]);else if(Gr(i)){const e=Rr(i[0]),t=Or(e);ai.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{ai.handleVideoH264Nalu(e)}))}else if(ai.streamType===Oe)if(ui._opt.nakedFlowH265DemuxUseNew){const t=ai.handleAddNaluStartCode(e),r=ai.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=Qr(e);t===ct||t===dt||t===at?ai.handleVideoH265Nalu(e):ti(t)&&i.push(e)})),1===i.length)ai.handleVideoH265Nalu(i[0]);else if(ii(i)){const e=Qr(i[0]),t=ri(e);ai.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{ai.handleVideoH265Nalu(e)}))}else Qr(e)===ct?ai.extractH265PPS(e):ai.handleVideoH265Nalu(e)},extractH264PPS(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{zr(Rr(e))?ai.extractH264SEI(e):ai.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{ei(Qr(e))?ai.extractH265SEI(e):ai.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{ai.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{ai.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=Rr(e);switch(t){case We:ai.sps=e;break;case je:ai.pps=e}if(ai.isSendSeqHeader){if(ai.sps&&ai.pps){const e=Fr({sps:ai.sps,pps:ai.pps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}if(Nr(t)){const r=Or(t),i=ai.getNaluDts(),s=Pr(e,r);ai.doDecode(s,{type:oe,ts:i,isIFrame:r,cts:0})}}else if(ai.sps&&ai.pps){ai.isSendSeqHeader=!0;const e=Fr({sps:ai.sps,pps:ai.pps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}},handleVideoH264NaluList(e,t,r){if(ai.isSendSeqHeader){const i=ai.getNaluDts(),s=Mr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),s=new Uint8Array(r.byteLength+i.byteLength);return s.set(r,0),s.set(i,r.byteLength),s})),t);ai.doDecode(s,{type:oe,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${s.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=Qr(e);switch(t){case at:ai.vps=e;break;case dt:ai.sps=e;break;case ct:ai.pps=e}if(ai.isSendSeqHeader){if(ai.vps&&ai.sps&&ai.pps){const e=Xr({vps:ai.vps,sps:ai.sps,pps:ai.pps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.vps=null,ai.sps=null,ai.pps=null}if(ti(t)){const r=ri(t),i=ai.getNaluDts(),s=Zr(e,r);ai.doDecode(s,{type:oe,ts:i,isIFrame:r,cts:0})}}else if(ai.vps&&ai.sps&&ai.pps){ai.isSendSeqHeader=!0;const e=Xr({vps:ai.vps,sps:ai.sps,pps:ai.pps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.vps=null,ai.sps=null,ai.pps=null}},handleVideoH265NaluList(e,t,r){if(ai.isSendSeqHeader){const i=ai.getNaluDts(),s=Jr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),s=new Uint8Array(r.byteLength+i.byteLength);return s.set(r,0),s.set(i,r.byteLength),s})),t);ai.doDecode(s,{type:oe,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${s.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!ai.streamVideoType)for(let t of e)if(ai.streamVideoType=fr(t),ai.streamVideoType)break;ai.streamVideoType?ai.streamVideoType===Ne?ai.handleVideoH264Frames(e):ai.streamVideoType===Oe&&ai.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,s=!1;ai.pendingUnits.units&&(t=ai.pendingUnits.units,s=ai.pendingUnits.vcl,i=ai.pendingUnits.iFrame,ai.pendingUnits={});let n={};for(let a of e){if(a.byteLength<4)continue;const e=Rr(a);let o=!1,d=e===Ke;e!==Ye&&e!==Ke||(n=ai.parseVideo264Header(a),o=!0),t.length&&s&&(n.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,s=!1),t.push(a),i=i||d,s=s||o}t.length&&(ai.pendingUnits={units:t,vcl:s,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,s=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case je:ai.pps=e;break;case We:ai.sps=e;break;case Xe:s=e}if(Nr(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!ai.isSendSeqHeader&&ai.sps&&ai.pps){ai.isSendSeqHeader=!0;const e=Ir({sps:ai.sps,pps:ai.pps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}if(ai.isSendSeqHeader){if(ai.sps&&ai.pps){const e=Ir({sps:ai.sps,pps:ai.pps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}if(i){const e=ai.getNaluDts(),t=Mr(i,r);if(ui._opt.isEmitSEI&&s){const t=ir(s,!1);postMessage({cmd:Z,buffer:t.payload,ts:e},[t.payload.buffer])}ai.doDecode(t,{type:oe,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,s=!1;ai.pendingUnits.units&&(t=ai.pendingUnits.units,s=ai.pendingUnits.vcl,i=ai.pendingUnits.iFrame,ai.pendingUnits={});let n={};for(let a of e){if(a.byteLength<4)continue;const e=Qr(a);let o=!1,d=ri(e);ti(e)&&(n=ai.parseVideo265Header(a),o=!0),t.length&&s&&(n.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,s=!1),t.push(a),i=i||d,s=s||o}t.length&&(ai.pendingUnits={units:t,vcl:s,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,s=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ct:ai.pps=e;break;case dt:ai.sps=e;break;case at:ai.vps=e;break;case pt:case ft:s=e}if(ti(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!ai.isSendSeqHeader&&ai.sps&&ai.pps&&ai.vps){ai.isSendSeqHeader=!0;const e=Xr({sps:ai.sps,pps:ai.pps,vps:ai.vps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null,ai.vps=null}if(ai.isSendSeqHeader){if(ai.sps&&ai.pps&&ai.vps){const e=Xr({sps:ai.sps,pps:ai.pps,vps:ai.vps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null,ai.vps=null}if(i){const e=ai.getNaluDts(),t=Jr(i,r);if(ui._opt.isEmitSEI&&s){const t=ir(s,!0);postMessage({cmd:Z,buffer:t.payload,ts:e},[t.payload.buffer])}ai.doDecode(t,{type:oe,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{ai.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Gs(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Gs(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},oi={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){oi.mp4Box=Hi.createFile(),oi.mp4Box.onReady=oi.onReady,oi.mp4Box.onError=oi.onError,oi.mp4Box.onSamples=oi.onSamples,ui.debugLog(oi.LOG_NAME,"init")},destroy(){oi.mp4Box&&(oi.mp4Box.stop(),oi.mp4Box.flush(),oi.mp4Box.destroy(),oi.mp4Box=null),oi.offset=0,oi.videoTrackId=null,oi.audioTrackId=null,oi.isHevc=!1,ui.debugLog(oi.LOG_NAME,"destroy")},_getSeqHeader(e){const t=oi.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Hi.DataStream(void 0,0,Hi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(oi.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),s=new Uint8Array(r.length+i.length);return s.set(r,0),s.set(i,r.length),s}return null},onReady(e){ui.debugLog(oi.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){oi.videoTrackId=t.id;const e=oi._getSeqHeader(t);e&&(ui.debugLog(oi.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),oi.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){oi.audioTrackId=r.id;const e=r.audio||{},t=qt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");oi.mp4Box.setExtractionOptions(r.id);const s=Yt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(oi.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(s,0)}oi.mp4Box.start()},onError(e){ui.debugError(oi.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===oi.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let s=null;s=oi.isHevc?Jr(t,r):Mr(t,r),ui.decode(s,{type:oe,ts:i,isIFrame:r,cts:0})}oi.mp4Box.removeUsedSamples(e)}else if(e===oi.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:ae,ts:r,isIFrame:!1,cts:0})}oi.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(oi.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=oi.offset,oi.offset+=t.byteLength,oi.mp4Box.appendBuffer(t.buffer)}},di={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);di.extractNALu(t)},destroy(){di.lastBuffer=new Uint8Array(0),di.parsedOffset=0,di.firstStartCodeOffset=0,di.secondStartCodeOffset=0,di.state="init",di.hasInitVideoCodec=!1,di.localDts=0,ui.debugLog(di.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(di.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(di.lastBuffer.length+e.length);for(t.set(di.lastBuffer,0),t.set(new Uint8Array(e),di.lastBuffer.length),di.lastBuffer=t;;){if("init"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findFirstStartCode",di.firstStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findSecondStartCode",di.secondStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===di.state){if(!(di.lastBuffer.length-di.parsedOffset>0))break;{let e,t,r=192&di.lastBuffer[di.parsedOffset];e=0==r?di.secondStartCodeOffset-14:di.secondStartCodeOffset;let i=0==(192&di.lastBuffer[di.firstStartCodeOffset+4]);if(i){if(di.firstStartCodeOffset-14<0)return void ui.debugWarn(di.LOG_NAME,"firstStartCodeOffset -14 is",di.firstStartCodeOffset-14);di.hasInitVideoCodec||(di.hasInitVideoCodec=!0,ui.debugLog(di.LOG_NAME,"setCodec"),fi.setCodec(ze,"",ui.getBuildTime())),t=di.lastBuffer.subarray(di.firstStartCodeOffset-14,e)}else t=di.lastBuffer.subarray(di.firstStartCodeOffset,e);let s=di.getNaluDts();di.hasInitVideoCodec?(postMessage({cmd:G,type:xe,value:t.byteLength}),postMessage({cmd:G,type:ke,value:s}),qe=s,fi.decode(t,i?1:0,s)):ui.debugWarn(di.LOG_NAME,"has not init video codec"),di.lastBuffer=di.lastBuffer.subarray(e),di.firstStartCodeOffset=0==r?14:0,di.parsedOffset=di.firstStartCodeOffset+4,di.state="findFirstStartCode"}}}},getNaluDts(){let e=di.localDts;return di.localDts=di.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Ns,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let s=0;s=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=hs(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let n=(31&r[1])<<8|r[2],a=(48&r[3])>>>4,o=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==n),l={},c=4;if(2==a||3==a){let e=r[4];if(e>0&&(d||3==a)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==a||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==a||3==a)if(0===n||n===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[n]===Ls){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:n,payload_unit_start_indicator:s,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[n]){let r=188-c,i=li.pmt_.pid_stream_type[n];n!==li.pmt_.common_pids.h264&&n!==li.pmt_.common_pids.h265&&n!==li.pmt_.common_pids.adts_aac&&n!==li.pmt_.common_pids.loas_aac&&n!==li.pmt_.common_pids.ac3&&n!==li.pmt_.common_pids.eac3&&n!==li.pmt_.common_pids.opus&&n!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[n]&&!0!==li.pmt_.timed_id3_pids[n]&&!0!==li.pmt_.synchronous_klv_pids[n]&&!0!==li.pmt_.asynchronous_klv_pids[n]||li.handlePESSlice(e,t+c,r,{pid:n,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let s=new Uint8Array(e,t,r),n=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let a=s[0];if(null!=n&&0!==n.total_length){let s=new Uint8Array(e,t+1,Math.min(r,a));n.slices.push(s),n.total_length+=s.byteLength,n.total_length===n.expected_length?li.emitSectionSlices(n,i):li.clearSlices(n,i)}for(let o=1+a;o=n.expected_length&&li.clearSlices(n,i),o+=d.byteLength}}else if(null!=n&&0!==n.total_length){let s=new Uint8Array(e,t,Math.min(r,n.expected_length-n.total_length));n.slices.push(s),n.total_length+=s.byteLength,n.total_length===n.expected_length?li.emitSectionSlices(n,i):n.total_length>=n.expected_length&&li.clearSlices(n,i)}},handlePESSlice(e,t,r,i){let s=new Uint8Array(e,t,r),n=s[0]<<16|s[1]<<8|s[2];s[3];let a=s[4]<<8|s[5];if(i.payload_unit_start_indicator){if(1!==n)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${n}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new Ps,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let o=li.pes_slice_queues_[i.pid];o.slices.push(s),i.payload_unit_start_indicator&&(o.expected_length=0===a?0:a+6),o.total_length+=s.byteLength,o.expected_length>0&&o.expected_length===o.total_length?li.emitPESSlices(o,i):o.expected_length>0&&o.expected_length>>6,o=t[8];2!==a&&3!==a||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,n=3===a?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+o;if(0!==s){if(s<3+o)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=s-3-o}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case As:case Bs:li.parseMP3Payload(c,r);break;case Us:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,n,e.pid,i):li.parsePESPrivateDataPayload(c,r,n,e.pid,i));break;case xs:li.parseADTSAACPayload(c,r);break;case ks:li.parseLOASAACPayload(c,r);break;case Ts:case Cs:break;case Ds:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,n,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,n,e.pid,i);break;case Fs:li.parseH264Payload(c,r,n,e.random_access_indicator);break;case Is:li.parseH265Payload(c,r,n,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Us){let r,n=6;r=0!==s?s:t.byteLength-n;let a=t.subarray(n,n+r);li.parsePESPrivateDataPayload(a,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,s=1&e[5],n=e[6];e[7];let a=null;if(1===s&&0===n)a={version_number:0,network_pid:0,program_pmt_pid:{}},a.version_number=i;else if(a=li.pat_,null==a)return;let o=r-5-4,d=-1,l=-1;for(let t=8;t<8+o;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?a.network_pid=i:(a.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===s&&0===n&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(a)}`),li.pat_=a,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],s=e[3]<<8|e[4],n=(62&e[5])>>>1,a=1&e[5],o=e[6];if(e[7],1===a&&0===o)r=li._initPmt(),r.program_number=s,r.version_number=n,li.program_pmt_map_[s]=r;else if(r=li.program_pmt_map_[s],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Xr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Ir({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let s=li.media_info_;s.hasVideo=!0,s.width=t.codecWidth,s.height=t.codecHeight,s.fps=t.frameRate.fps,s.profile=t.profile,s.level=t.level,s.refFrames=e.ref_frames,s.chromaFormat=e.chroma_format_string,s.sarNum=t.sarRatio.width,s.sarDen=t.sarRatio.height,s.videoCodec=t.codec,s.hasAudio&&s.audioCodec?s.mimeType=`video/mp2t; codecs="${s.videoCodec},${s.audioCodec}"`:s.mimeType=`video/mp2t; codecs="${s.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let s,n=new Qt(e),a=null,o=i;for(;null!=(a=n.readNextAACFrame());){r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),s=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let n={payload:i,length:i.byteLength,pts:t,dts:t,type:ae};li.audio_track_.samples.push(n),li.audio_track_.length+=i.byteLength,o+=r}n.hasIncompleteData()&&(li.aac_last_incomplete_data_=n.getIncompleteData()),s&&(li.audio_last_sample_pts_=s)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let s,n=new er(e),a=null,o=i;for(;null!=(a=n.readNextAACFrame(cr(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=a,r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),s=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let n={payload:i,length:i.byteLength,pts:t,dts:t,type:ae};li.audio_track_.samples.push(n),li.audio_track_.length+=i.byteLength,o+=r}n.hasIncompleteData()&&(li.aac_last_incomplete_data_=n.getIncompleteData()),s&&(li.audio_last_sample_pts_=s)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],s=[11025,12e3,8e3,0],n=e[1]>>>3&3,a=(6&e[1])>>1;e[2];let o=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(n){case 0:l=s[o];break;case 2:l=i[o];break;case 3:l=r[o]}switch(a){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(h)):li.detectAudioMetadataChange(h)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:ae};li.audio_track_.samples.push(f),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Os(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const s=Yt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(s,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,s){let n=new Rs;if(n.pid=i,n.stream_id=s,n.len=e.byteLength,n.data=e,null!=t){let e=Math.floor(t/li.timescale_);n.pts=e}else n.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);n.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,s){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${s}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,s){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${s}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,s){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${s}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===oe?li._doDecodeVideo({...e,payload:t}):e.type===ae&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?Jr(t,e.isIFrame):Mr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:oe,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;br(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:ae,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Sr()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new fs,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!wr(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===bt,isStateClosed:()=>ci.getState()===wt,isStateEnded:()=>ci.getState()===vt,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,Et,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,St,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,At,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(wr(ci.hasInit))if(r&&e[1]===kt){const i=15&e[0];if(i===Re&&wr(ui._opt.supportMSEDecodeHevc))return void ci.emitError(Ie.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:M,code:i});const s=new Uint8Array(e);postMessage({cmd:R,buffer:s,codecId:i},[s.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===Me?r=Lr(e.slice(5)):t===Re&&(r=qr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(Ie.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(vr(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&eA,_decodeConfigurationRecord(e,t,r,i){let s=e.slice(5),n={};if(i===Me?n=Lr(s):i===Re&&(n=Yr(s)),ci.videoInfo.width=n.codecWidth,ci.videoInfo.height=n.codecHeight,0===n.codecWidth&&0===n.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(n)),ci.emitError(Ie.mediaSourceDecoderConfigurationError,`width is ${0===n.codecWidth} and height is ${n.codecHeight}`),!1;const a={id:It,type:"video",timescale:1e3,duration:0,avcc:s,codecWidth:n.codecWidth,codecHeight:n.codecHeight,videoType:n.videoType},o=ps.generateInitSegment(a);ci.isAvc=i===Me;let d=n.codec;return ci.videoMimeType=d?`video/mp4; codecs="${n.codec}"`:ci.isAvc?gt:yt,postMessage({cmd:T,w:n.codecWidth,h:n.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(o.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,s=r===Ve,n=r===Ge;if(wr(n||s))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(Ie.mediaSourceAudioG711NotSupport),!1;const a={id:Pt,type:"audio",timescale:1e3};let o={};if(Kt(e)){if(o=Jt(e.slice(2)),!o)return!1;a.audioSampleRate=o.sampleRate,a.channelCount=o.channelCount,a.config=o.config,a.refSampleDuration=1024/a.audioSampleRate*a.timescale}else{if(!s)return!1;if(o=Es(e),!o)return!1;a.audioSampleRate=o.samplingRate,a.channelCount=o.channelCount,a.refSampleDuration=1152/a.audioSampleRate*a.timescale}a.codec=o.codec,a.duration=0;let d="mp4",l=o.codec,c=null;s&&wr(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=ps.generateInitSegment(a);let u=`${a.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),wr(ci.isAudioInitInfo)&&(Br=r===Ge?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:L,sampleRate:a.audioSampleRate,channels:a.channelCount,depth:Br}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=n,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(Ie.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,s){let n=e.slice(5),a=n.byteLength;if(0===a)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let o=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=o,d=!0);const l=o-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${o} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(ps.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=ps.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let s=new Uint8Array(i.byteLength+r.byteLength);s.set(i,0),s.set(r,i.byteLength),ci.appendBuffer(s.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${s} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=It,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=a,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=n,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),s=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(ps.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=ps.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let s=new Uint8Array(i.byteLength+r.byteLength);s.set(i,0),s.set(r,i.byteLength),ci.appendAudioBuffer(s.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Pt,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=s,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),wr(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&wr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),wr(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&wr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(Ie.mediaSourceAudioInitTimeout)}),1e3)));if(wr(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(wr(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:s,end:t})}}else n=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:s,end:t})}}else nci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&wr(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&wr(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&wr(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&wr(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(wr(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:ne,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Dt,_opt:Wr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:et,wasmDecodeDelay:qe-Qe});postMessage({cmd:G,type:Ce,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===ae)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(et=!1,ui.delay=t-r):(et=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===ae)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(et=!1,t=r-i):(et=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===oe&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===ae?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===oe&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===oe&&a.decode?a.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===s.length)return;const t=e.ts,i=s[0],n=e.type===oe&&vr(e.payload);if(wr(r))n&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${n}`),s.shift(),ui.doDecode(i));else{const r=i.ts-t,a=i.type===ae&&e.type===oe;(r<=20||a||n)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${a} and isVideoSqeHeader is ${n}`),s.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===y,t=ui._opt.playType===v,n=ui._opt.playType===b;if(ai.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=n,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),a&&ui._opt.useWCS&&ui.useOffscreen()&&a.init(),wr(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(s.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${s.length}`);if(ui.dropping){for(r=s.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${s.length}`);!r.isIFrame&&s.length;)r=s.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;s.length;)r=s.shift(),ui.doDecode(r);else if(r=s[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),s.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:H})):(s.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;s.length;){if(r=s[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${s.length}`);break}s.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();rt||(rt=e);const r=e-rt;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),rt=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(wr(ui._opt.checkFirstIFrame)&&(Ee=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:ie,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;s.length&&(e=s.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,Kr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(Ur=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&wr(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,rt=null,et=!1,qe=0,Qe=0,a&&(a.destroy&&a.destroy(),a=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Wr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),s=[],n=[],u&&(u.close(),u=null),S=null,E=null,x=!1,Se=!1,Ee=!1,Zt=!1,tr=!1,dr=!1,Ar=null,Bt=[],Gt=0,$t=0,st=null,ht=null,Ht=null,Vt=null,Br=null,Wt=0,jt=0,Ut=null,Tt=null,ui.fetchStatus=Dt,xr=!0,ai.destroy(),oi.destroy(),di.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:K})},pushBuffer:function(e,t){if(t.type===ae&&Kt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:Q,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===oe&&t.isIFrame&&vr(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ee,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:te,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===w)if(t.type===oe){const r=new Uint8Array(e).slice(5);postMessage({cmd:z,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===ae&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Xt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===oe){if(Wt>0){const e=t.ts-Vt,r=Wt+Wt/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Vt},\n diff is ${e} and preTsDuration is ${Wt} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Vt&&Vt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Vt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Vt-t.ts>A&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Vt}, options.ts is ${t.ts},\n diff is ${Vt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Vt=null,Wt=0),ui._opt.isDropSameTimestampGop&&wr(t.isIFrame)&&Ee)){const e=ui.hasIframeInBufferList(),t=wr(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),br(ui._opt.checkFirstIFrame)&&br(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:re}))))}Vt>0&&(Wt=t.ts-Vt),jt=e.byteLength,Vt=t.ts}if(Ee){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${s.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;s.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${s.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:W,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return s.forEach((t=>{t.type===oe&&(e+=1)})),e},hasIframeInBufferList:()=>s.some((e=>e.type===oe&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return s.forEach((e=>{e.type===oe&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return s.forEach((t=>{t.type===ae&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?ai.lastBuf&&(e=ai.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&oi.mp4Box&&(e=oi.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=lr((e=>{postMessage({cmd:G,type:Be,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&oi.listenMp4Box(),t.protocol===m){t.isFlv&&(u=new kr(ui.demuxFlv())),o=new AbortController;const r=Object.assign({signal:o.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(br(Ur))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Dt,void e.body.cancel();if(!gr(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),Kr(),void postMessage({cmd:G,type:Ie.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:Te}),pr())ui.writableStream=new WritableStream({write:e=>o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):br(Ur)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=Ft,void Kr()):void("string"!=typeof e?(ui.fetchStatus=Lt,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=Ft,Kr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ae,value:_,msg:"fetch done"})):postMessage({cmd:G,type:De})},abort:e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==xt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),Kr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:s}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=Ft,Kr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ae,value:_,msg:"fetch done"})):postMessage({cmd:G,type:De}))):o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):br(Ur)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=Ft,void Kr()):void("string"!=typeof s?(ui.fetchStatus=Lt,l(s.byteLength),t.isFlv?u.write(s):t.isFmp4?ui.demuxFmp4(s):t.isMpeg4?ui.demuxMpeg4(s):t.isTs?ui.demuxTs(s):t.isNakedFlow&&ui.demuxNakedFlow(s),i()):ui.debugWarn("worker",`fetchNext().then() and value "${s}" is string so return`))})).catch((e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==xt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),Kr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{o&&o.signal&&o.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==xt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),Kr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===p&&(t.isFlv&&(u=new kr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:Te}),postMessage({cmd:G,type:Fe})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):h?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),br(Ur)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ae,value:g,msg:e.code})):postMessage({cmd:G,type:De}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),h=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):br(Ur)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:G,type:Ie.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const s=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let n=r[0];const a=(yield s).slice();switch(i){case de:if(a.byteLength>0){let e=a;br(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(a)),ui.decode(e,{type:ae,ts:n})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${a.byteLength} and return`);break;case le:if(a.byteLength>=6){const e=a[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(a,n);else{const e=15&a[0];let t=a[0]>>4===Ct;const i=e===Re;if(wr(t)&&br(Er(a,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&vr(a)&&null===ui.isHevc){const e=15&a[0];ui.isHevc=e===Re,Ar=nr(a,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${Ar}`)}t&&ui.calcIframeIntervalTimestamp(n),ui.isPlayer&&ui.calcNetworkDelay(n),r[0]=a[4],r[1]=a[3],r[2]=a[2],r[3]=0;let s=r[0],o=ui.cryptoPayload(a,t);ui.decode(o,{type:oe,ts:n,isIFrame:t,cts:s})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${a.byteLength} and return`);break;case ce:postMessage({cmd:J,buffer:a},[a.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===ae?ui._opt.hasAudio&&(postMessage({cmd:G,type:Ue,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===oe&&ui._opt.hasVideo&&(postMessage({cmd:G,type:xe,value:e.byteLength}),postMessage({cmd:G,type:ke,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Gi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?en(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):as(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=us(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===Ge&&(t=$i(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,s=e[0]>>1&1;if(Br=r===Ge?s?16:8:0===s?8:16,hi&&hi.setCodec||!wr(i))if(Kt(e)||r===$e||r===He||r===Ve){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const s=r===Ge?e.slice(2):new Uint8Array(0);if(i){if(r===Ve)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");hi.sample_rate=ui._opt.sampleRate,hi.decode(e,t)}else hi.setCodec(r,ui._opt.sampleRate,s,ui.getBuildTime());r===Ge&&postMessage({cmd:P,buffer:s},[s.buffer]),Se=!0,r!==Ge&&(r===Ve?(ui.mp3Demuxer||(ui.mp3Demuxer=new ds(ui),ui.mp3Demuxer.on("data",((e,t)=>{hi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):hi.decode(e.slice(1),t));const n=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})}),60*n*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(br(r)&&br(ui._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(Se){if(Kt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?hi.decode(e,t):r===Ve?ui.mp3Demuxer.dispatch(e.slice(1),t):hi.decode(r===Ge?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(fi&&fi.setCodec||!wr(i))if(vr(e))if(r===Me||r===Re){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===Me&&ui._opt.useSIMD){const e=Lr(t);if(e.codecWidth>B||e.codecHeight>B)return postMessage({cmd:Y,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const s=new Uint8Array(e);x=!0,i?fi.decode(e,0):fi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:M,code:r}),postMessage({cmd:R,buffer:s,codecId:r},[s.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,s,n);else if(br(r))postMessage({cmd:N,payload:e,isIFrame:s,ts:t,cts:n,delay:ui.delay},[e.buffer]);else if(x)if(!Ee&&s&&(Ee=!0),Ee){if(s&&vr(e)){const t=15&e[0];let r={};t===Me?r=Lr(e.slice(5)):t===Re&&(r=qr(e)),r.codecWidth&&r.codecHeight&&S&&E&&(r.codecWidth!==S||r.codecHeight!==E)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${S}, old height is ${E},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),tr=!0,postMessage({cmd:j,value:`width: ${S}->${r.codecWidth}, height: ${E}->${r.codecHeight}`}))}if(tr)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(dr)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(vr(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${s.length}, need clear is ${e}`),e&&(s=[]),ui.isPlayer&&(ui.resetAllDelay(),br(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:H}))),br(ui._opt.checkFirstIFrame)&&wr(r)&&(Ee=!1)},dropBuffer$2:function(){if(s.length>0){let e=s.findIndex((e=>br(e.isIFrame)&&e.type===oe));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:H});const t=s.length;s=s.slice(e);const r=s.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${s.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===s.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),s=new ArrayBuffer(4),n=new Uint32Array(s);switch(i){case ae:ui.decode(new Uint8Array(e,5),{type:ae,ts:r});break;case oe:if(t.byteLength>=11){const i=new Uint8Array(e,5),s=i[0];if(ui._isEnhancedH265Header(s))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),vr(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===Re}ui.isPlayer&&ui.calcNetworkDelay(r),n[0]=i[4],n[1]=i[3],n[2]=i[2],n[3]=0;let s=n[0],a=ui.cryptoPayload(i,e);ui.decode(a,{type:oe,ts:r,isIFrame:e,cts:s})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){ai.dispatch(e)},demuxFmp4:function(e){oi.dispatch(e)},demuxMpeg4:function(e){di.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,s=15&r,n=e.slice(1,5),a=new ArrayBuffer(4),o=new Uint32Array(a),d="a"==String.fromCharCode(n[0]);if(ui.isHevc=wr(d),s===Rt){if(i===Ot){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),Ar=nr(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${Ar}`),ui.decode(i,{type:oe,ts:t,isIFrame:!0,cts:0})}}}else if(s===zt){let r=e,s=0;const n=i===Ot;n&&ui.calcIframeIntervalTimestamp(t),d||(o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0,s=o[0],r=Jr(e.slice(8),n),r=ui.cryptoPayload(r,n),ui.decode(r,{type:oe,ts:t,isIFrame:n,cts:s}))}else if(s===Nt){const r=i===Ot;r&&ui.calcIframeIntervalTimestamp(t);let s=Jr(e.slice(5),r);s=ui.cryptoPayload(s,r),ui.decode(s,{type:oe,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&Mt)===Mt},findSei:function(e,t){let r=4;ur(Ar)&&(r=Ar),rr(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===pt||r===ft),s=wr(ui.isHevc)&&r===Xe;if(i||s){const r=ir(e,ui.isHevc);postMessage({cmd:Z,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(Ee&&e>0))return;null===st?(st=e,ht=ar()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===y&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${st} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Le,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ht?Ht=e:Ht=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&br(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){wr(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),Zt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=f(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),Zt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:M,code:e}),postMessage({cmd:T,w:t,h:r}),S=t,E=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=f(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:L,sampleRate:t,channels:r,depth:Br}),$t=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=S*E*3/2;let s=e.HEAPU8.subarray(t,t+i),n=new Uint8Array(s);if(Ut=null,Qe=r,ui.useOffscreen())try{if(Zt)return;ui.webglObj.renderYUV(S,E,n);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:C,output:n,delay:ui.delay,ts:r},[n.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let s=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+s)}if(Gt){if(!(s>=(r=d-Gt)))return Gt+=s,n[0]=Float32Array.of(...n[0],...a[0]),void(2==$t&&(n[1]=Float32Array.of(...n[1],...a[1])));Bt[0]=Float32Array.of(...n[0],...a[0].subarray(0,r)),2==$t&&(Bt[1]=Float32Array.of(...n[1],...a[1].subarray(0,r))),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer))),o=r,s-=r}for(Gt=s;Gt>=d;Gt-=d)Bt[0]=a[0].slice(o,o+=d),2==$t&&(Bt[1]=a[1].slice(o-d,o)),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer)));Gt&&(n[0]=a[0].slice(o),2==$t&&(n[1]=a[1].slice(o))),a=[]},errorInfo:function(e){null===Ut&&(Ut=ar());const t=ar(),r=or(Tt>0?2*Tt:5e3,1e3,5e3),i=t-Ut;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${Tt} and diff is ${i} and maxDiff is ${r}\n and replay`),dr=!0,postMessage({cmd:q}))},sendWebsocketMessage:function(e){d?d.readyState===Pe?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})},postStreamToMain(e,t){postMessage({cmd:X,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),br(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,S=e,E=t,postMessage({cmd:T,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=f(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){$t=e,postMessage({cmd:L,sampleRate:t,channels:e,depth:Br})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let s=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+s)}if(Gt){if(!(s>=(r=d-Gt)))return Gt+=s,n[0]=Float32Array.of(...n[0],...a[0]),void(2==$t&&(n[1]=Float32Array.of(...n[1],...a[1])));Bt[0]=Float32Array.of(...n[0],...a[0].subarray(0,r)),2==$t&&(Bt[1]=Float32Array.of(...n[1],...a[1].subarray(0,r))),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer))),o=r,s-=r}for(Gt=s;Gt>=d;Gt-=d)Bt[0]=a[0].slice(o,o+=d),2==$t&&(Bt[1]=a[1].slice(o-d,o)),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer)));Gt&&(n[0]=a[0].slice(o),2==$t&&(n[1]=a[1].slice(o))),a=[]},draw:function(t,r,i,s){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const n=e.HEAPU8.subarray(r,r+Dr),a=e.HEAPU8.subarray(i,i+Vr),o=e.HEAPU8.subarray(s,s+Vr),d=new Uint8Array(Dr+Vr+Vr);if(d.set(n),d.set(a,Dr),d.set(o,Dr+Vr),Ut=null,Qe=t,ui.useOffscreen())try{if(Zt)return;ui.webglObj.renderYUV(S,E,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:C,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let hi=null;t.AudioDecoder&&(hi=new t.AudioDecoder(ui));let fi=null;e.VideoDecoder&&(fi=new e.VideoDecoder(ui)),postMessage({cmd:k}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case ue:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${ue}`,t.opt);break;case he:ui.pushBuffer(t.buffer,t.options);break;case fe:ui.decodeAudio(t.buffer,t.ts);break;case pe:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case ge:ui.clearBuffer(t.needClear);break;case ye:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case me:ui.debugLog("worker",`onmessage:${me}`,JSON.stringify(t.options)),t.options&&wr(t.options.isVideoInited)&&(xr=t.options.isVideoInited),ui.close();break;case _e:ui.debugLog("worker",`onmessage:${_e}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case ve:ui.sendWebsocketMessage(t.message);break;case be:ci.$video.currentTime=Number(t.message);break;case we:ui.updatePlaybackIsPause(t.isPause)}}}(e,e)}))})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,i;(i=e).ready=new Promise(((e,r)=>{t=e,n=r})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,o,a,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href),v=m("fs"),y=m("path");f=d?y.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href)),s=(e,t)=>(e=Z(e)?new URL(e):y.normalize(e),v.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Z(e)?new URL(e):y.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var _,g,b=i.print||console.log.bind(console),w=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(_=i.wasmBinary),"object"!=typeof WebAssembly&&q("no native wasm support detected");var S,I,A,k,E,C,x,T,D=!1;function B(e,t){e||q(t)}function U(){var e=g.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=A=new Int16Array(e),i.HEAPU8=I=new Uint8Array(e),i.HEAPU16=k=new Uint16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=x=new Float32Array(e),i.HEAPF64=T=new Float64Array(e)}var M=[],P=[],F=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(M)}function L(){i.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ie(P)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)H(i.postRun.shift());ie(F)}function z(e){M.unshift(e)}function N(e){P.unshift(e)}function H(e){F.unshift(e)}var V=0,j=null;function W(e){V++,i.monitorRunDependencies&&i.monitorRunDependencies(V)}function G(e){if(V--,i.monitorRunDependencies&&i.monitorRunDependencies(V),0==V&&j){var t=j;j=null,t()}}function q(e){i.onAbort&&i.onAbort(e),w(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var $,K,Y,X="data:application/octet-stream;base64,",J=e=>e.startsWith(X),Z=e=>e.startsWith("file://");function Q(e){if(e==$&&_)return new Uint8Array(_);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!_&&(l||d)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),q(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||Z(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return on=e.exports,g=on.E,U(),Mt=on.H,N(on.F),G(),on}if(W(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(_,$,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?J($="decoder-pro-audio.wasm")||($=p($)):$=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-audio.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(E[cn()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}q("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-i};function ye(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var _e=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},ge={ttys:[],init(){},shutdown(){},register(e,t){ge.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ge.stream_ops)},stream_ops:{open(e){var t=ge.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,o=0;o_e(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{q()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,r,n);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,n)=>we.createNode(e,t,r,n),rename(e,t,r){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var n in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=we.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,n);if(o>8&&s.subarray)t.set(s.subarray(i,i+o),r);else for(var a=0;a0||r+t(we.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;o(e,(r=>{B(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&G()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&W()},Ie=(e,t,r,n,i,s)=>{Te.createDataFile(e,t,r,n,i,s)},Ae=i.preloadPlugins||[],ke=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ae.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},Ee=(e,t,r,n,i,s,o,a,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),a||Ie(e,t,r,n,i,c),s&&s(),G()}ke(r,l,d,(()=>{o&&o(),G()}))||d(r)}W(),"string"==typeof r?Se(r,(e=>d(e)),o):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},xe=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Te.root,i="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var n=Te.hashName(e.id,t),i=Te.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Te.lookup(e,t)},createNode(e,t,r,n){var i=new Te.FSNode(e,t,r,n);return Te.hashAddNode(i),i},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,"wx");if(i)return i;if(r){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),n=0;function i(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!s){var o=Te.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(a);return c.mount=a,a.root=c,i?Te.root=c:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),c},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,n=r.mounted,i=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Te.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new Te.ErrnoError(28);var s=Te.mayCreate(n,i);if(s)throw new Te.ErrnoError(s);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var n=ce.basename(t),i=Te.mayCreate(r,n);if(i)throw new Te.ErrnoError(i);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),o=ce.basename(e),a=ce.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(t,{parent:!0}).node,!r||!n)throw new Te.ErrnoError(44);if(r.mount!==n.mount)throw new Te.ErrnoError(75);var c,u=Te.lookupNode(r,o),l=de.relative(e,s);if("."!==l.charAt(0))throw new Te.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{c=Te.lookupNode(n,a)}catch(e){}if(u!==c){var d=Te.isDir(u.mode),h=Te.mayDelete(r,o,d);if(h)throw new Te.ErrnoError(h);if(h=c?Te.mayDelete(n,a,d):Te.mayCreate(n,a))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(u)||c&&Te.isMountpoint(c))throw new Te.ErrnoError(10);if(n!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(u);try{r.node_ops.rename(u,n,a)}catch(e){throw e}finally{Te.hashAddNode(u)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(n)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(n)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return de.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var n;if(!(n="string"==typeof e?Te.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,n){var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var n=Te.getStreamChecked(e);Te.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;if(!(r="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(r,"w");if(n)throw new Te.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new Te.ErrnoError(20)}else n=Te.mknod(e,r,0),s=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(t&=-513),65536&t&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!s){var o=Te.mayOpen(n,t);if(o)throw new Te.ErrnoError(o)}512&t&&!s&&Te.truncate(n,0),t&=-131713;var a=Te.createStream({node:n,path:Te.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!i.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),a},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var o=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=o),o},write(e,t,r,n,i,s){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var a=e.stream_ops.write(e,t,r,n,i,s);return o||(e.position+=a),a},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Te.open(e,t.flags),i=Te.stat(e).size,s=new Uint8Array(i);return Te.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Te.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);Te.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(n,t,0,t.byteLength,void 0,r.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),ge.register(Te.makedev(5,0),ge.default_tty_ops),ge.register(Te.makedev(6,0),ge.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=Te.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Te.createDevice("/dev","stdin",i.stdin):Te.symlink("/dev/tty","/dev/stdin"),i.stdout?Te.createDevice("/dev","stdout",null,i.stdout):Te.symlink("/dev/tty","/dev/stdout"),i.stderr?Te.createDevice("/dev","stderr",null,i.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;i||(o=n);var a=this;a.setDataGetter((e=>{var t=e*o,i=(e+1)*o-1;if(i=Math.min(i,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==o&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ye(i.responseText||"",!0)})(t,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var c=Te.createFile(e,t,a,n,i);a.contents?c.contents=a.contents:a.url&&(c.contents=null,c.url=a.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var o=Math.min(s.length-i,n);if(s.slice)for(var a=0;a{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(Te.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{Te.forceLoadFile(c);var s=be();if(!s)throw new Te.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},De=(e,t)=>e?fe(I,e,t):"",Be={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;if(n=-100===e?Te.cwd():Be.getStreamFromFD(e).path,0==t.length){if(!r)throw new Te.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(Te.getPath(e.node)))return-54;throw e}E[r>>2]=n.dev,E[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,E[r+12>>2]=n.uid,E[r+16>>2]=n.gid,E[r+20>>2]=n.rdev,Y=[n.size>>>0,(K=n.size,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[r+24>>2]=Y[0],E[r+28>>2]=Y[1],E[r+32>>2]=4096,E[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),o=n.ctime.getTime();return Y=[Math.floor(i/1e3)>>>0,(K=Math.floor(i/1e3),+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[r+40>>2]=Y[0],E[r+44>>2]=Y[1],C[r+48>>2]=i%1e3*1e3,Y=[Math.floor(s/1e3)>>>0,(K=Math.floor(s/1e3),+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[r+56>>2]=Y[0],E[r+60>>2]=Y[1],C[r+64>>2]=s%1e3*1e3,Y=[Math.floor(o/1e3)>>>0,(K=Math.floor(o/1e3),+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[r+72>>2]=Y[0],E[r+76>>2]=Y[1],C[r+80>>2]=o%1e3*1e3,Y=[n.ino>>>0,(K=n.ino,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[r+88>>2]=Y[0],E[r+92>>2]=Y[1],0},doMsync(e,t,r,n,i){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var s=I.slice(e,e+r);Te.msync(t,s,i,r,n)},varargs:void 0,get(){var e=E[+Be.varargs>>2];return Be.varargs+=4,e},getp:()=>Be.get(),getStr:e=>De(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Ue(e,t,r){Be.varargs=r;try{var n=Be.getStreamFromFD(e);switch(t){case 0:if((i=Be.get())<0)return-28;for(;Te.streams[i];)i++;return Te.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=Be.get();return n.flags|=i,0;case 5:return i=Be.getp(),A[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Me(e,t,r,n){Be.varargs=n;try{t=Be.getStr(t),t=Be.calculateAt(e,t);var i=n?Be.get():0;return Te.open(t,r,i).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Pe,Fe,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Pe=e},ze=e=>{for(var t="",r=e;I[r];)t+=Pe[I[r++]];return t},Ne={},He={},Ve={},je=e=>{throw new Fe(e)},We=e=>{throw new Re(e)},Ge=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&We("Mismatched type converter count");for(var i=0;i{He.hasOwnProperty(e)?i[t]=He[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=He[e],++o===s.length&&n(i)})))})),0===s.length&&n(i)};function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||je(`type "${n}" must have a positive integer typeid pointer`),He.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;je(`Cannot register type '${n}' twice`)}if(He[e]=t,delete Ve[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function $e(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return qe(e,t,r)}var Ke,Ye=8,Xe=(e,t,r,n)=>{$e(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ye,readValueFromPointer:function(e){return this.fromWireType(I[e])},destructorFunction:null})},Je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ze=e=>{je(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,ot=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},at=[],ct=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Ke=e,at.length&&Ke&&Ke(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=ot,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&je("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||We("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&We("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=it[o];if(!a)return i.call(this);s=this.isConst?a.constPointerType:a.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),vt(e)),yt=()=>{Object.assign(_t.prototype,{isAliasOf(e){if(!(this instanceof _t))return!1;if(!(e instanceof _t))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&je("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&je("Object already scheduled for deletion"),at.push(this),1===at.length&&Ke&&Ke(ct),this.$$.deleteScheduled=!0,this}})};function _t(){}var gt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||je(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},wt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&je(`Cannot register public name '${e}' twice`),bt(i,e,e),i.hasOwnProperty(r)&&je(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,It=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=It?`_${e}`:e};function kt(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var Et=(e,t,r)=>{for(;t!==r;)t.upcast||je(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function xt(e,t){var r;if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=Et(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&je("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:je("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&je(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function Dt(e){return this.fromWireType(C[e>>2])}var Bt=()=>{Object.assign(Ut.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ye,readValueFromPointer:Dt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Ut(e,t,r,n,i,s,o,a,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=xt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Mt,Pt,Ft=(e,t,r)=>{i.hasOwnProperty(e)||We("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Mt.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},Ht=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&je(`unknown function pointer with signature ${e}: ${t}`),r},Vt=(e,t)=>{var r=gt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},jt=e=>{var t=un(e),r=ze(t);return an(t),r},Wt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||He[t]||(Ve[t]?Ve[t].forEach(e):(r.push(t),n[t]=!0))})),new Pt(`${e}: `+r.map(jt).join([", "]))},Gt=(e,t,r,n,i,s,o,a,c,u,l,d,h)=>{l=ze(l),s=Ht(i,s),a&&(a=Ht(o,a)),u&&(u=Ht(c,u)),h=Ht(d,h);var f=At(l);wt(f,(function(){Wt(`Cannot construct ${l} due to unbound types`,[n])})),Ge([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:_t.prototype;var o=gt(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Fe("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Fe(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Fe(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:o}});o.prototype=c;var d=new kt(l,o,c,h,r,s,a,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Ut(l,d,!0,!1,!1),m=new Ut(l+"*",d,!1,!1,!1),v=new Ut(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ft(f,o),[p,m,v]}))},qt=(e,t)=>{for(var r=[],n=0;n>2]);return r},$t=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Kt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=gt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Yt(e,t,r,n,i,s){var o=t.length;o<2&&je("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=a?1:2;u{var o=qt(t,r);i=Ht(n,i),Ge([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Fe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Wt(`Cannot construct ${e.name} due to unbound types`,o)},Ge([],o,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Yt(r,n,null,i,s),[]))),[]}))},Jt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Zt=(e,t,r,n,i,s,o,a,c)=>{var u=qt(r,n);t=ze(t),t=Jt(t),s=Ht(i,s),Ge([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Wt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(bt(l,t,n),l[t].overloadTable[r-2]=i),Ge([],u,(function(i){var a=Yt(n,i,e,s,o,c);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||je("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(E[e>>2])}var ar=(e,t)=>{$e(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ye,readValueFromPointer:or,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(x[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{$e(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ye,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>I[e>>0];case 2:return r?e=>A[e>>1]:e=>k[e>>1];case 4:return r?e=>E[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");$e(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ye,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}$e(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Ye,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,I,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));$e(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,o=0;o<=n;++o){var a=i+o;if(o==n||0==I[a]){var c=De(s,a-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=a+1}}else{var u=new Array(n);for(o=0;o>2]=n,r&&i)pr(t,o,n+1);else if(i)for(var a=0;a255&&(an(o),je("String has UTF-16 code units that do not fit in 8 bits")),I[o+a]=c}else for(a=0;a{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&k[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(I.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=A[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},_r=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return A[t>>1]=0,t-n},gr=e=>2*e.length,br=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=E[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),E[t>>2]=o,(t+=4)+4>i)break}return E[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Ir=(e,t,r)=>{var n,i,s,o,a;r=ze(r),2===t?(n=yr,i=_r,o=gr,s=()=>k,a=1):4===t&&(n=br,i=wr,o=Sr,s=()=>C,a=2),$e(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],o=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==o[l>>a]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return an(e),r},toWireType:(e,n)=>{"string"!=typeof n&&je(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),c=ln(4+s+t);return C[c>>2]=s>>a,i(n,c+4,s+t),null!==e&&e.push(an,c),c},argPackAdvance:Ye,readValueFromPointer:or,destructorFunction(e){an(e)}})},Ar=(e,t)=>{$e(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},kr={},Er=e=>{var t=kr[e];return void 0===t?ze(e):t},Cr=[],xr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=Er(r)],n,i),Tr=e=>{var t=Cr.length;return Cr.push(e),t},Dr=(e,t)=>{var r=He[e];return void 0===r&&je(t+" has unknown type "+jt(e)),r},Br=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Ur=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Mr=(e,t,r)=>{var n=Br(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return Tr(gt(h,d))},Pr=e=>{var t=sr.toValue(e);$t(t),rr(e)},Fr=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{q("")},Lr=()=>Date.now(),Or=(e,t,r)=>I.copyWithin(e,t,t+r),zr=e=>{q("OOM")},Nr=e=>{I.length,zr()},Hr={},Vr=()=>u||"./this.program",jr=()=>{if(!jr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Vr()};for(var t in Hr)void 0===Hr[t]?delete e[t]:e[t]=Hr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);jr.strings=r}return jr.strings},Wr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Gr=(e,t)=>{var r=0;return jr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,Wr(n,s),r+=n.length+1})),0},qr=(e,t)=>{var r=jr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function $r(e){try{var t=Be.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Kr(e,t){try{var r=Be.getStreamFromFD(e),n=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=n,A[t+2>>1]=0,Y=[0,(K=0,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[t+8>>2]=Y[0],E[t+12>>2]=Y[1],Y=[0,(K=0,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[t+16>>2]=Y[0],E[t+20>>2]=Y[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Yr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=Te.read(e,S,o,a,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Jr(e,t,r,n,i){var s=Fr(t,r);try{if(isNaN(s))return 61;var o=Be.getStreamFromFD(e);return Te.llseek(o,s,n),Y=[o.position>>>0,(K=o.position,+Math.abs(K)>=1?K>0?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)],E[i>>2]=Y[0],E[i+4>>2]=Y[1],o.getdents&&0===s&&0===n&&(o.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Zr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=Te.write(e,S,o,a,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Qr(e,t,r,n){try{var i=Be.getStreamFromFD(e),s=Zr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=en,Te.createPreloadedFile=Ee,Te.staticInit(),Oe(),Fe=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yt(),lt(),Bt(),Pt=i.UnboundTypeError=Vt(Error,"UnboundTypeError"),Qt(),ir();var nn,sn={o:oe,A:Ue,s:Me,q:Le,C:Xe,D:Gt,y:Xt,g:Zt,B:ar,k:lr,c:hr,b:fr,l:mr,i:Ir,n:Ar,f:xr,m:rr,e:Mr,d:Pr,a:Rr,h:Lr,w:Or,r:Nr,u:Gr,v:qr,j:$r,t:Kr,z:Xr,p:Jr,x:Qr},on=ne(),an=e=>(an=on.G)(e),cn=()=>(cn=on.I)(),un=e=>(un=on.J)(e),ln=e=>(ln=on.K)(e),dn=e=>(dn=on.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,D||(L(),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}V>0||(R(),V>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_viiijj=(e,t,r,n,s,o,a,c)=>(i.dynCall_viiijj=on.N)(e,t,r,n,s,o,a,c),i.dynCall_jij=(e,t,r,n)=>(i.dynCall_jij=on.O)(e,t,r,n),i.dynCall_jii=(e,t,r)=>(i.dynCall_jii=on.P)(e,t,r),i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=on.Q)(e,t,r,n,s),j=function e(){nn||hn(),nn||(j=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),e.ready}),o=c;function a(){var e=["27wlYqvK","9NIvyyZ","2645868hPtMbo","length","hypot","max","5876652iGrtMZ","2669535hLzztv","abs","2780300tPWaCG","42MVLSRZ","11056lxhWkb","320664LXOUYQ","random","sqrt","18688720WrXcwo"];return(a=function(){return e})()}function c(e,t){var r=a();return(c=function(e,t){return r[e-=172]})(e,t)}!function(e,t){for(var r=c,n=e();;)try{if(495576===parseInt(r(173))/1*(parseInt(r(184))/2)+parseInt(r(180))/3+parseInt(r(175))/4+-parseInt(r(182))/5+parseInt(r(179))/6+parseInt(r(183))/7*(parseInt(r(185))/8)+-parseInt(r(174))/9*(parseInt(r(172))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(a);var u=1e-6,l="undefined"!=typeof Float32Array?Float32Array:Array,d=Math[o(186)];var h=Math.PI/180;Math[o(177)]||(Math[o(177)]=function(){for(var e=o,t=0,r=arguments[e(176)];r--;)t+=arguments[r]*arguments[r];return Math[e(187)](t)});var f=Object.freeze({__proto__:null,EPSILON:u,get ARRAY_TYPE(){return l},RANDOM:d,setMatrixArrayType:function(e){l=e},toRadian:function(e){return e*h},equals:function(e,t){var r=o;return Math[r(181)](e-t)<=u*Math[r(178)](1,Math[r(181)](e),Math[r(181)](t))}});function p(){var e=new(f[m(111)])(16);return l!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function m(e,t){var r=g();return(m=function(e,t){return r[e-=103]})(e,t)}function v(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function y(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],m=t[12],v=t[13],y=t[14],_=t[15],g=r[0],b=r[1],w=r[2],S=r[3];return e[0]=g*n+b*a+w*d+S*m,e[1]=g*i+b*c+w*h+S*v,e[2]=g*s+b*u+w*f+S*y,e[3]=g*o+b*l+w*p+S*_,g=r[4],b=r[5],w=r[6],S=r[7],e[4]=g*n+b*a+w*d+S*m,e[5]=g*i+b*c+w*h+S*v,e[6]=g*s+b*u+w*f+S*y,e[7]=g*o+b*l+w*p+S*_,g=r[8],b=r[9],w=r[10],S=r[11],e[8]=g*n+b*a+w*d+S*m,e[9]=g*i+b*c+w*h+S*v,e[10]=g*s+b*u+w*f+S*y,e[11]=g*o+b*l+w*p+S*_,g=r[12],b=r[13],w=r[14],S=r[15],e[12]=g*n+b*a+w*d+S*m,e[13]=g*i+b*c+w*h+S*v,e[14]=g*s+b*u+w*f+S*y,e[15]=g*o+b*l+w*p+S*_,e}function _(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=n+n,c=i+i,u=s+s,l=n*a,d=n*c,h=n*u,f=i*c,p=i*u,m=s*u,v=o*a,y=o*c,_=o*u;return e[0]=1-(f+m),e[1]=d+_,e[2]=h-y,e[3]=0,e[4]=d-_,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=h+y,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function g(){var e=["tan","575027xemXhJ","7eOoYVw","ARRAY_TYPE","3468CFoDpB","10142yBxFWm","2540416itTwyS","sin","mat4(","1769280iOZJaT","cos","hypot","downDegrees","max","rightDegrees","600220aGVffI","EPSILON","sqrt","502590GaevyP","2720Rpmolq","9JGcbeV","abs","2AKRRWI","1244lBgJbi"];return(g=function(){return e})()}function b(e,t){var r=m,n=t[0],i=t[1],s=t[2],o=t[4],a=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(119)](n,i,s),e[1]=Math[r(119)](o,a,c),e[2]=Math[r(119)](u,l,d),e}function w(e,t,r,n,i){var s,o=1/Math[m(108)](t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=m,n=e();;)try{if(349332===parseInt(r(109))/1*(parseInt(r(106))/2)+-parseInt(r(117))/3+-parseInt(r(107))/4*(-parseInt(r(103))/5)+-parseInt(r(126))/6*(-parseInt(r(110))/7)+-parseInt(r(114))/8*(-parseInt(r(104))/9)+parseInt(r(123))/10+parseInt(r(113))/11*(-parseInt(r(112))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(g);var S=w;function I(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=(o+s)*u,e[15]=1,e}var A=I;function k(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var E=y,C=k,x=Object.freeze({__proto__:null,create:p,clone:function(e){var t=new(f[m(111)])(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,o,a,c,u,l,d,h,p,v,y){var _=new(f[m(111)])(16);return _[0]=e,_[1]=t,_[2]=r,_[3]=n,_[4]=i,_[5]=s,_[6]=o,_[7]=a,_[8]=c,_[9]=u,_[10]=l,_[11]=d,_[12]=h,_[13]=p,_[14]=v,_[15]=y,_},set:function(e,t,r,n,i,s,o,a,c,u,l,d,h,f,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=o,e[6]=a,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=h,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:v,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15],_=r*a-n*o,g=r*c-i*o,b=r*u-s*o,w=n*c-i*a,S=n*u-s*a,I=i*u-s*c,A=l*m-d*p,k=l*v-h*p,E=l*y-f*p,C=d*v-h*m,x=d*y-f*m,T=h*y-f*v,D=_*T-g*x+b*C+w*E-S*k+I*A;return D?(D=1/D,e[0]=(a*T-c*x+u*C)*D,e[1]=(i*x-n*T-s*C)*D,e[2]=(m*I-v*S+y*w)*D,e[3]=(h*S-d*I-f*w)*D,e[4]=(c*E-o*T-u*k)*D,e[5]=(r*T-i*E+s*k)*D,e[6]=(v*b-p*I-y*g)*D,e[7]=(l*I-h*b+f*g)*D,e[8]=(o*x-a*E+u*A)*D,e[9]=(n*E-r*x-s*A)*D,e[10]=(p*S-m*b+y*_)*D,e[11]=(d*b-l*S-f*_)*D,e[12]=(a*k-o*C-c*A)*D,e[13]=(r*C-n*k+i*A)*D,e[14]=(m*g-p*w-v*_)*D,e[15]=(l*w-d*g+h*_)*D,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15];return e[0]=a*(h*y-f*v)-d*(c*y-u*v)+m*(c*f-u*h),e[1]=-(n*(h*y-f*v)-d*(i*y-s*v)+m*(i*f-s*h)),e[2]=n*(c*y-u*v)-a*(i*y-s*v)+m*(i*u-s*c),e[3]=-(n*(c*f-u*h)-a*(i*f-s*h)+d*(i*u-s*c)),e[4]=-(o*(h*y-f*v)-l*(c*y-u*v)+p*(c*f-u*h)),e[5]=r*(h*y-f*v)-l*(i*y-s*v)+p*(i*f-s*h),e[6]=-(r*(c*y-u*v)-o*(i*y-s*v)+p*(i*u-s*c)),e[7]=r*(c*f-u*h)-o*(i*f-s*h)+l*(i*u-s*c),e[8]=o*(d*y-f*m)-l*(a*y-u*m)+p*(a*f-u*d),e[9]=-(r*(d*y-f*m)-l*(n*y-s*m)+p*(n*f-s*d)),e[10]=r*(a*y-u*m)-o*(n*y-s*m)+p*(n*u-s*a),e[11]=-(r*(a*f-u*d)-o*(n*f-s*d)+l*(n*u-s*a)),e[12]=-(o*(d*v-h*m)-l*(a*v-c*m)+p*(a*h-c*d)),e[13]=r*(d*v-h*m)-l*(n*v-i*m)+p*(n*h-i*d),e[14]=-(r*(a*v-c*m)-o*(n*v-i*m)+p*(n*c-i*a)),e[15]=r*(a*h-c*d)-o*(n*h-i*d)+l*(n*c-i*a),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],c=e[7],u=e[8],l=e[9],d=e[10],h=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*o-r*s)*(d*v-h*m)-(t*a-n*s)*(l*v-h*p)+(t*c-i*s)*(l*m-d*p)+(r*a-n*o)*(u*v-h*f)-(r*c-i*o)*(u*m-d*f)+(n*c-i*a)*(u*p-l*f)},multiply:y,translate:function(e,t,r){var n,i,s,o,a,c,u,l,d,h,f,p,m=r[0],v=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*y+t[12],e[13]=t[1]*m+t[5]*v+t[9]*y+t[13],e[14]=t[2]*m+t[6]*v+t[10]*y+t[14],e[15]=t[3]*m+t[7]*v+t[11]*y+t[15]):(n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=o,e[4]=a,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=h,e[10]=f,e[11]=p,e[12]=n*m+a*v+d*y+t[12],e[13]=i*m+c*v+h*y+t[13],e[14]=s*m+u*v+f*y+t[14],e[15]=o*m+l*v+p*y+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,o,a,c,u,l,d,h,p,v,y,_,g,b,w,S,I,A,k,E,C,x,T,D=m,B=n[0],U=n[1],M=n[2],P=Math[D(119)](B,U,M);return P0?(r[0]=2*(a*o+l*n+c*s-u*i)/d,r[1]=2*(c*o+l*i+u*n-a*s)/d,r[2]=2*(u*o+l*s+a*i-c*n)/d):(r[0]=2*(a*o+l*n+c*s-u*i),r[1]=2*(c*o+l*i+u*n-a*s),r[2]=2*(u*o+l*s+a*i-c*n)),_(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:b,getRotation:function(e,t){var r=m,n=new(f[r(111)])(3);b(n,t);var i=1/n[0],s=1/n[1],o=1/n[2],a=t[0]*i,c=t[1]*s,u=t[2]*o,l=t[4]*i,d=t[5]*s,h=t[6]*o,p=t[8]*i,v=t[9]*s,y=t[10]*o,_=a+d+y,g=0;return _>0?(g=2*Math.sqrt(_+1),e[3]=.25*g,e[0]=(h-v)/g,e[1]=(p-u)/g,e[2]=(c-l)/g):a>d&&a>y?(g=2*Math[r(125)](1+a-d-y),e[3]=(h-v)/g,e[0]=.25*g,e[1]=(c+l)/g,e[2]=(p+u)/g):d>y?(g=2*Math.sqrt(1+d-a-y),e[3]=(p-u)/g,e[0]=(c+l)/g,e[1]=.25*g,e[2]=(h+v)/g):(g=2*Math.sqrt(1+y-a-d),e[3]=(c-l)/g,e[0]=(p+u)/g,e[1]=(h+v)/g,e[2]=.25*g),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=t[3],c=i+i,u=s+s,l=o+o,d=i*c,h=i*u,f=i*l,p=s*u,m=s*l,v=o*l,y=a*c,_=a*u,g=a*l,b=n[0],w=n[1],S=n[2];return e[0]=(1-(p+v))*b,e[1]=(h+g)*b,e[2]=(f-_)*b,e[3]=0,e[4]=(h-g)*w,e[5]=(1-(d+v))*w,e[6]=(m+y)*w,e[7]=0,e[8]=(f+_)*S,e[9]=(m-y)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],o=t[1],a=t[2],c=t[3],u=s+s,l=o+o,d=a+a,h=s*u,f=s*l,p=s*d,m=o*l,v=o*d,y=a*d,_=c*u,g=c*l,b=c*d,w=n[0],S=n[1],I=n[2],A=i[0],k=i[1],E=i[2],C=(1-(m+y))*w,x=(f+b)*w,T=(p-g)*w,D=(f-b)*S,B=(1-(h+y))*S,U=(v+_)*S,M=(p+g)*I,P=(v-_)*I,F=(1-(h+m))*I;return e[0]=C,e[1]=x,e[2]=T,e[3]=0,e[4]=D,e[5]=B,e[6]=U,e[7]=0,e[8]=M,e[9]=P,e[10]=F,e[11]=0,e[12]=r[0]+A-(C*A+D*k+M*E),e[13]=r[1]+k-(x*A+B*k+P*E),e[14]=r[2]+E-(T*A+U*k+F*E),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=r+r,a=n+n,c=i+i,u=r*o,l=n*o,d=n*a,h=i*o,f=i*a,p=i*c,m=s*o,v=s*a,y=s*c;return e[0]=1-d-p,e[1]=l+y,e[2]=h-v,e[3]=0,e[4]=l-y,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=h+v,e[9]=f-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,o){var a=1/(r-t),c=1/(i-n),u=1/(s-o);return e[0]=2*s*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+n)*c,e[10]=(o+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*s*2*u,e[15]=0,e},perspectiveNO:w,perspective:S,perspectiveZO:function(e,t,r,n,i){var s,o=1/Math[m(108)](t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=m,s=Math.tan(t.upDegrees*Math.PI/180),o=Math[i(108)](t[i(120)]*Math.PI/180),a=Math[i(108)](t.leftDegrees*Math.PI/180),c=Math[i(108)](t[i(122)]*Math.PI/180),u=2/(a+c),l=2/(s+o);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(a-c)*u*.5,e[9]=(s-o)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:I,ortho:A,orthoZO:function(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,o,a,c,l,d,h,p,y,_=m,g=t[0],b=t[1],w=t[2],S=n[0],I=n[1],A=n[2],k=r[0],E=r[1],C=r[2];return Math[_(105)](g-k)0&&(d*=p=1/Math[i(125)](p),h*=p,f*=p);var v=u*f-l*h,y=l*d-c*f,_=c*h-u*d;return(p=v*v+y*y+_*_)>0&&(v*=p=1/Math[i(125)](p),y*=p,_*=p),e[0]=v,e[1]=y,e[2]=_,e[3]=0,e[4]=h*_-f*y,e[5]=f*v-d*_,e[6]=d*y-h*v,e[7]=0,e[8]=d,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=o,e[14]=a,e[15]=1,e},str:function(e){return m(116)+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[m(119)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:k,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=m,n=e[0],i=e[1],s=e[2],o=e[3],a=e[4],c=e[5],l=e[6],d=e[7],h=e[8],p=e[9],v=e[10],y=e[11],_=e[12],g=e[13],b=e[14],w=e[15],S=t[0],I=t[1],A=t[2],k=t[3],E=t[4],C=t[5],x=t[6],T=t[7],D=t[8],B=t[9],U=t[10],M=t[11],P=t[12],F=t[13],R=t[14],L=t[15];return Math.abs(n-S)<=f[r(124)]*Math[r(121)](1,Math.abs(n),Math[r(105)](S))&&Math.abs(i-I)<=f[r(124)]*Math[r(121)](1,Math[r(105)](i),Math[r(105)](I))&&Math[r(105)](s-A)<=f[r(124)]*Math[r(121)](1,Math[r(105)](s),Math[r(105)](A))&&Math[r(105)](o-k)<=f[r(124)]*Math[r(121)](1,Math[r(105)](o),Math.abs(k))&&Math[r(105)](a-E)<=f[r(124)]*Math.max(1,Math.abs(a),Math[r(105)](E))&&Math[r(105)](c-C)<=u*Math[r(121)](1,Math[r(105)](c),Math[r(105)](C))&&Math[r(105)](l-x)<=f[r(124)]*Math[r(121)](1,Math[r(105)](l),Math[r(105)](x))&&Math[r(105)](d-T)<=u*Math[r(121)](1,Math[r(105)](d),Math[r(105)](T))&&Math[r(105)](h-D)<=f[r(124)]*Math.max(1,Math.abs(h),Math[r(105)](D))&&Math[r(105)](p-B)<=f[r(124)]*Math[r(121)](1,Math[r(105)](p),Math[r(105)](B))&&Math[r(105)](v-U)<=f[r(124)]*Math[r(121)](1,Math[r(105)](v),Math[r(105)](U))&&Math.abs(y-M)<=f[r(124)]*Math[r(121)](1,Math.abs(y),Math[r(105)](M))&&Math.abs(_-P)<=f[r(124)]*Math.max(1,Math[r(105)](_),Math.abs(P))&&Math[r(105)](g-F)<=u*Math.max(1,Math[r(105)](g),Math[r(105)](F))&&Math[r(105)](b-R)<=u*Math[r(121)](1,Math[r(105)](b),Math[r(105)](R))&&Math[r(105)](w-L)<=u*Math[r(121)](1,Math[r(105)](w),Math.abs(L))},mul:E,sub:C});function T(){var e=F,t=new(f[e(447)])(3);return f[e(447)]!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function D(e){var t=F,r=e[0],n=e[1],i=e[2];return Math[t(456)](r,n,i)}function B(e,t,r){var n=new(f[F(447)])(3);return n[0]=e,n[1]=t,n[2]=r,n}function U(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function M(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function P(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function F(e,t){var r=N();return(F=function(e,t){return r[e-=441]})(e,t)}function R(e,t){var r=F,n=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return Math[r(456)](n,i,s)}function L(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function O(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function z(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function N(){var e=["acos","337204gfvROi","RANDOM","3MRHfeO","ARRAY_TYPE","sqrt","179188HdVyFp","1335190ltgkYp","10EhlwJq","1297100EhmGof","ceil","length","695286RQkDss","hypot","min","cos","vec3(","EPSILON","max","185838WmClEG","sin","1704136tEEJRl","floor","abs","18eZFNff","round"];return(N=function(){return e})()}!function(e,t){for(var r=F,n=e();;)try{if(141406===parseInt(r(462))/1+-parseInt(r(449))/2*(parseInt(r(446))/3)+parseInt(r(444))/4*(parseInt(r(451))/5)+parseInt(r(455))/6+-parseInt(r(452))/7+parseInt(r(464))/8+-parseInt(r(441))/9*(parseInt(r(450))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(N);var H,V=U,j=M,W=P,G=R,q=L,$=D,K=O,Y=(H=T(),function(e,t,r,n,i,s){var o,a,c=F;for(!t&&(t=3),!r&&(r=0),a=n?Math.min(n*t+r,e[c(454)]):e.length,o=r;o0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e},dot:z,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[0],a=r[1],c=r[2];return e[0]=i*c-s*a,e[1]=s*o-n*c,e[2]=n*a-i*o,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=o+n*(r[2]-o),e},hermite:function(e,t,r,n,i,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,u=o*(s-1),l=o*(3-2*s);return e[0]=t[0]*a+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*a+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*a+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var o=1-s,a=o*o,c=s*s,u=a*o,l=3*s*a,d=3*c*o,h=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*h,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*h,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*h,e},random:function(e,t){var r=F;t=t||1;var n=2*d()*Math.PI,i=2*f[r(445)]()-1,s=Math[r(448)](1-i*i)*t;return e[0]=Math[r(458)](n)*s,e[1]=Math.sin(n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],o=r[3],a=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*a-n*u,h=n*c-i*a,f=i*h-s*d,p=s*l-n*h,m=n*d-i*l,v=2*o;return l*=v,d*=v,h*=v,f*=2,p*=2,m*=2,e[0]=a+l+f,e[1]=c+d+p,e[2]=u+h+m,e},rotateX:function(e,t,r,n){var i=F,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0],o[1]=s[1]*Math[i(458)](n)-s[2]*Math[i(463)](n),o[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateY:function(e,t,r,n){var i=F,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[2]*Math[i(463)](n)+s[0]*Math[i(458)](n),o[1]=s[1],o[2]=s[2]*Math[i(458)](n)-s[0]*Math[i(463)](n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateZ:function(e,t,r,n){var i=F,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0]*Math[i(458)](n)-s[1]*Math[i(463)](n),o[1]=s[0]*Math[i(463)](n)+s[1]*Math[i(458)](n),o[2]=s[2],e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},angle:function(e,t){var r=F,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2],u=Math[r(448)](n*n+i*i+s*s)*Math[r(448)](o*o+a*a+c*c),l=u&&z(e,t)/u;return Math[r(443)](Math[r(457)](Math[r(461)](l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return F(459)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=F,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2];return Math[r(466)](n-o)<=f[r(460)]*Math[r(461)](1,Math[r(466)](n),Math[r(466)](o))&&Math.abs(i-a)<=f[r(460)]*Math[r(461)](1,Math[r(466)](i),Math[r(466)](a))&&Math.abs(s-c)<=u*Math[r(461)](1,Math[r(466)](s),Math[r(466)](c))},sub:V,mul:j,div:W,dist:G,sqrDist:q,len:$,sqrLen:K,forEach:Y});function J(e,t){var r=Z();return(J=function(e,t){return r[e-=451]})(e,t)}function Z(){var e=["267495rwIgXC","9989388YHLsTv","3087114UEvwno","1063872cIiiho","4lwCTQx","7OhCmgu","336187sZafAO","666064AMVHyk","1802910qZjzLM"];return(Z=function(){return e})()}function Q(e,t){const r=ee();return(Q=function(e,t){return r[e-=330]})(e,t)}function ee(){const e=["attribLocations","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","identity","FRAGMENT_SHADER","uniformMatrix4fv","deleteProgram","3193080UxxXHf","LINK_STATUS","attachShader","enable","texPosition","VERTEX_SHADER","ARRAY_BUFFER","getAttribLocation","bufferData","TEXTURE0","745490TqUTVP","bindBuffer","texParameteri","848645QiKGnD","createBuffer","uProjectionMatrix","getShaderParameter","UNSIGNED_BYTE","texturePosition","DEPTH_BUFFER_BIT","21gusYkx","352uSMiws","clear","CLAMP_TO_EDGE","Unable to initialize the shader program: ","586141BjewfJ","81382rgFwEv","activeTexture","LUMINANCE","COLOR_BUFFER_BIT","242277nGFdpt","getUniformLocation","createProgram","utexture","viewport","createTexture","create","uniformLocations","isyuv","texImage2D","TRIANGLES","deleteBuffer","COMPILE_STATUS","vtexture","STATIC_DRAW","indices","log","useProgram","uniform1i","concat","138LurTKR","TEXTURE_MAG_FILTER","position","slice","fromValues","TEXTURE2","lookAt","DEPTH_TEST","uViewMatrix","LINEAR","FLOAT","TEXTURE_WRAP_T","projectionMatrix","TEXTURE_MIN_FILTER","89172ncUlbr","rgbatexture","vertexAttribPointer","TEXTURE1","shaderSource","TEXTURE_2D","deleteTexture","ELEMENT_ARRAY_BUFFER","getProgramParameter","drawElements","linkProgram","4CVdxOM","modelMatrix","uTexture","clearColor","depthFunc","vTexture","enableVertexAttribArray","compileShader","vertexPosition","pixelStorei","bindTexture"];return(ee=function(){return e})()}!function(e,t){for(var r=J,n=e();;)try{if(330595===-parseInt(r(454))/1+-parseInt(r(455))/2+-parseInt(r(457))/3*(parseInt(r(452))/4)+parseInt(r(456))/5+-parseInt(r(459))/6*(parseInt(r(453))/7)+parseInt(r(451))/8+parseInt(r(458))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Z),function(e,t){const r=Q,n=e();for(;;)try{if(746487===-parseInt(r(381))/1+-parseInt(r(382))/2*(parseInt(r(376))/3)+-parseInt(r(339))/4*(-parseInt(r(369))/5)+parseInt(r(406))/6*(parseInt(r(386))/7)+parseInt(r(377))/8*(parseInt(r(420))/9)+-parseInt(r(366))/10+parseInt(r(356))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ee);var te=(e,t)=>{const r=Q,n=r(351);t&&e[r(348)](e.UNPACK_ALIGNMENT,1);const i=function(){const t=r,i=h(e[t(361)],"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),s=h(e[t(353)],n),o=e[t(388)]();return e.attachShader(o,i),e[t(358)](o,s),e[t(338)](o),e[t(336)](o,e[t(357)])?o:(console[t(402)](t(380)+e.getProgramInfoLog(o)),null)}();let s={program:i,attribLocations:{vertexPosition:e[r(363)](i,"aVertexPosition"),texturePosition:e.getAttribLocation(i,"aTexturePosition")},uniformLocations:{projectionMatrix:e[r(387)](i,r(371)),modelMatrix:e[r(387)](i,"uModelMatrix"),viewMatrix:e[r(387)](i,r(414)),rgbatexture:e.getUniformLocation(i,"rgbaTexture"),ytexture:e[r(387)](i,"yTexture"),utexture:e[r(387)](i,r(341)),vtexture:e.getUniformLocation(i,r(344)),isyuv:e.getUniformLocation(i,r(394))}},o=function(){const t=r,n=e.createBuffer();e[t(367)](e[t(362)],n);e[t(364)](e[t(362)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var i=[];i=i[t(405)]([0,1],[1,1],[1,0],[0,0]);const s=e[t(370)]();e[t(367)](e[t(362)],s),e[t(364)](e[t(362)],new Float32Array(i),e[t(400)]);const o=e[t(370)]();e[t(367)](e[t(335)],o);return e[t(364)](e[t(335)],new Uint16Array([0,1,2,0,2,3]),e[t(400)]),{position:n,texPosition:s,indices:o}}(),a=d(),c=d(),u=d(),l=d();function d(){const t=r;let n=e[t(391)]();return e[t(349)](e.TEXTURE_2D,n),e[t(368)](e[t(333)],e[t(407)],e.LINEAR),e[t(368)](e[t(333)],e[t(419)],e[t(415)]),e[t(368)](e[t(333)],e.TEXTURE_WRAP_S,e[t(379)]),e[t(368)](e[t(333)],e[t(417)],e[t(379)]),n}function h(t,n){const i=r,s=e.createShader(t);return e[i(332)](s,n),e[i(346)](s),e[i(372)](s,e[i(398)])?s:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(s)),e.deleteShader(s),null)}function f(t,n){const i=r;e[i(390)](0,0,t,n),e[i(342)](0,0,0,0),e.clearDepth(1),e[i(359)](e[i(413)]),e[i(343)](e.LEQUAL),e[i(378)](e[i(385)]|e[i(375)]);const a=p();A(a,-1,1,-1,1,.1,100);const d=x[i(392)]();x[i(352)](d);const h=p();x[i(412)](h,X[i(410)](0,0,0),B(0,0,-1),X[i(410)](0,1,0));{const t=3,r=e[i(416)],n=!1,a=0,c=0;e[i(367)](e.ARRAY_BUFFER,o[i(408)]),e[i(330)](s[i(350)][i(347)],t,r,n,a,c),e[i(345)](s[i(350)].vertexPosition)}{const t=2,r=e[i(416)],n=!1,a=0,c=0;e[i(367)](e.ARRAY_BUFFER,o[i(360)]),e[i(330)](s[i(350)][i(374)],t,r,n,a,c),e.enableVertexAttribArray(s.attribLocations.texturePosition)}e[i(383)](e[i(365)]+3),e[i(349)](e[i(333)],c),e[i(383)](e[i(365)]+4),e[i(349)](e[i(333)],u),e.activeTexture(e[i(365)]+5),e[i(349)](e[i(333)],l),e.bindBuffer(e[i(335)],o[i(401)]),e[i(403)](s.program),e.uniformMatrix4fv(s[i(393)][i(418)],!1,a),e[i(354)](s[i(393)][i(340)],!1,d),e[i(354)](s[i(393)].viewMatrix,!1,h),e.uniform1i(s[i(393)][i(421)],2),e.uniform1i(s[i(393)].ytexture,3),e.uniform1i(s.uniformLocations[i(389)],4),e.uniform1i(s[i(393)][i(399)],5),e[i(404)](s[i(393)].isyuv,1);{const t=6,r=e.UNSIGNED_SHORT,n=0;e[i(337)](e[i(396)],t,r,n)}}return{render:function(t,n,i,s,o){const a=r;e[a(383)](e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,c),e[a(395)](e[a(333)],0,e[a(384)],t,n,0,e[a(384)],e[a(373)],i),e[a(383)](e.TEXTURE1),e[a(349)](e[a(333)],u),e[a(395)](e[a(333)],0,e[a(384)],t/2,n/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,s),e[a(383)](e[a(411)]),e[a(349)](e[a(333)],l),e[a(395)](e.TEXTURE_2D,0,e[a(384)],t/2,n/2,0,e[a(384)],e.UNSIGNED_BYTE,o),f(t,n)},renderYUV:function(t,n,i){const s=r;let o=i[s(409)](0,t*n),a=i[s(409)](t*n,t*n*5/4),d=i[s(409)](t*n*5/4,t*n*3/2);e.activeTexture(e[s(365)]),e[s(349)](e[s(333)],c),e[s(395)](e[s(333)],0,e[s(384)],t,n,0,e[s(384)],e[s(373)],o),e[s(383)](e[s(331)]),e[s(349)](e[s(333)],u),e[s(395)](e[s(333)],0,e.LUMINANCE,t/2,n/2,0,e[s(384)],e[s(373)],a),e[s(383)](e.TEXTURE2),e[s(349)](e[s(333)],l),e[s(395)](e.TEXTURE_2D,0,e[s(384)],t/2,n/2,0,e[s(384)],e[s(373)],d),f(t,n)},destroy:function(){const t=r;e[t(355)](s.program),e[t(397)](o[t(408)]),e[t(397)](o.texPosition),e[t(397)](o[t(401)]),e[t(334)](a),e[t(334)](c),e.deleteTexture(u),e[t(334)](l),s=null,o=null,a=null,c=null,u=null,l=null}}};const re=be;!function(e,t){const r=be,n=e();for(;;)try{if(860346===parseInt(r(502))/1*(parseInt(r(457))/2)+parseInt(r(721))/3*(parseInt(r(428))/4)+parseInt(r(363))/5+parseInt(r(592))/6+-parseInt(r(629))/7*(-parseInt(r(748))/8)+-parseInt(r(472))/9*(parseInt(r(399))/10)+-parseInt(r(747))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ue);const ne={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};re(761),re(495),re(540),re(466),re(412),re(818);const ie={fetch:re(495),hls:re(540),websocket:re(761),webrtc:re(466),webTransport:"webTransport",worker:re(607),aliyunRtc:re(818),mp4:re(692)},se={player:re(807),playerAudio:re(624),playbackTF:re(760),talk:re(687),playVod:"playVod"},oe={mp4:re(692),webm:re(554),flv:"flv",mov:re(608)},ae={flv:re(438),m7s:re(620),hls:"hls",webrtc:re(466),webTransport:re(412),nakedFlow:re(788),fmp4:re(486),mpeg4:re(392),aliyunRtc:re(818),ts:"ts",g711:re(831),pcm:re(809)};re(672),re(550),re(654),re(612),re(507);const ce={mse:re(498),wcs:re(415),offscreen:"offscreen",wasm:"wasm",simd:re(473),mt:"mt",webrtc:re(466),hls:"hls",aliyunRtc:re(818)};function ue(){const e=["mseSourceBufferBusy","playbackRateChange","object","mp4","loadstart","decoder-pro-hard.js","clearBuffer","multiMouseout","audioPayload","wasm","mediaSourceAudioNoDataTimeout","multiSelected","playbackEnd","mediaSourceDecoderConfigurationError","multiMousemove","decoderWorkerInitError","aliyunRtcError","不支持硬解码H265","playVodSeekEnd","rightDown","10min","default","sourcebuffer-created","加载超时重播失败","sender","MEDIA_ERR_DECODE","ws1006","webrtcStreamH265","networkDelayTimeout","isFlv","g711u","ceil","25035dZMGCZ","audioInfo","subtitle-playlist","playVodWaiting","decoder-pro-audio.js","rightUp","flvMetaData","outbound-rtp","streamDts","empty","talkFailedAndStop","streamStats",'video/mp4;codecs="hev1.3.E.L120.90"',"flvDemuxBufferSizeTooLarge","MP3","connecting","播放超时重播失败","audio packet","webcodecsDecodeError","aiFaceDetectorInfo","MEDIA_ERR_ABORTED","/crypto/","stream",'video/mp4; codecs="hev1.1.6.L123.b0"',"videoSequenceHeader","webcodecsH265NotSupport","63676030uhHNsF","16MyDEGs","rtp","videoCodec","wiperOpen","#343434","flv-script-data","isAliyunRtc","recordStart","recordCancel","suspend","simdH264DecodeVideoWidthIsTooLarge","mseWaitVideoCanplayTimeout","playbackTF","websocket","alaw","playVodTimeCache","30min","webrtcOnIceConnectionStateChange","recordEnd","decoderWorkerWasmError","warn","checkFirstIFrame","zoomNarrow","audioResumeState","videoElementPlayingFailedForWebrtc","isFmp4","playbackShowPrecisionChange","webrtc-completed","playVodPauseOrResume","beforeDestroy","audioAACSequenceHeader","videoCode","playVodSeek","media-source","simdDecodeError","playVodPause","流异常结束","webgl","jtt","webrtc-checking","nakedFlow","playVodStats","destroyEnd","flvScriptData","isTs","播放地址不能为空","blur","websocketClose","websocketError","Invalid NAL unit size","playbackPrecision","playbackPause","visibilityHiddenTimeout","loadingTimeout","tallWebsocketClosedByError","audioDecode","playing","networkDelay","webrtc不支持H265","player","seeked","pcm","leftDown","load","emptied","ALAW","decoderWorkerInit","multiFullscreen","kBps","volume","aliyunRtc","log","full","talkStreamError","timeupdate","videoSmooth","crashLog","workerEnd","error","流异常","AbortError","sei-in-time","progress","g711","imageDetectActive","tcp","20240910","解码失败","udp","initAudioCodec",'video/mp4;codecs="hev1.2.4.L120.90"',"aacSequenceHeader","fogOpen","hevc","fullscreen","7373905UzrQGz","talkStreamInactive","playVodMp4Error","webrtc-connected","vertical","webrtc-closed","webrtcChecking","ratechange","red","AAC","csrc","请求失败","key","oneHour","widthOrHeightChange","jbprovm","streamEnd","ptz","webcodecsAudioNoDataTimeout","candidate-pair","canplaythrough","mseSourceOpen","wasmError","playbackPauseOrResume","videoInfo","webrtcError","script","streamMessage","right-up","mpeg4","websocketMessage","初始化解码器失败","A key frame is required after configure() or flush()","playbackTimestamp","video自动渲染失败","small","4489640ZFJAis","networkState","audioNalu","playFailedAndPaused","mseUpdateVideoTimestamp","sendMessage","playbackSeek","jbprov","left","currentPts","音频通道错误","click","audioChannelError","webTransport","H265(HEVC)","mseWidthOrHeightChange","wcs","mediaSourceH265NotSupport","MediaSource解码使用canvas渲染失败","delayTimeoutRetryEnd","mediaSourceAppendBufferError","g711a","webgl 上下文丢失","playType","JessibucaPro","cruiseStart","Webgl 渲染失败","pause","seeking","644ygkQEl","streamSuccess","mseFirstRenderTime","playVodCanplay","tempStream","faceDetectActive","等待音频数据超时","videoTimeUpdate","multiMouseup","videoDecode","flv","wcsWidthOrHeightChange","local-candidate","image/jpeg","delta","fogClose","recordCreateError","timeUpdate","isM7sCrypto","playToRenderTimes","isNakedFlow","normal","H264(AVC)","webrtcClosed","performance","initAudio","videoPayload","canplay","delayTimeout","290426OmiNKy","download","metadata-parsed","3-1","pauseAndNextPlayUseLastFrameShow","ten-min","isWebrtc","closed","right","webrtc","buffering","缓冲区已满","half-hour","receiver","aiImageDetectResult","9EvRfbZ","simd","playbackStats","loading","webglAlignmentError","webrtc-disconnected","talkStreamClose","online","iframeIntervalTs","playVodEndedAndReplay","videoSyncAudio","recordingTimestamp","removeLoadingBgImage","mp3","fmp4","destroy","remote-candidate","right-down","left-down","webrtcCompleted","avc","0000000000","certificate","fetch","self","fiveMin","mse","hls-level-loaded","start","Cannot call 'decode' on a closed codec","11nRbICC","render","webgl2","open","playbackPreRateChange","AliyunRtc","NotAllowedError","volumechange","mediaSourceUseCanvasRenderPlayFailed","MPEG4","wasmDecodeError","init","不支持该分辨率的视频","load-start","videoInfoError","focusNear","memory access out of bounds","remote-inbound-rtp","mouseDownAndUp","down","mediaSourceTsIsMaxDiff","webglContextLostError","timeout","global","idle","multiMousedown","qualitychange","talkStreamMsg","streamEndInner","initDecoderWorkerTimeout","webcodecs","halfHour","videoWaiting","decode","viewResizeChange","readystatechange","isWebrtcForSRS","ttfb","hls","playVodTime","togglePerformancePanel","resetVideoDecode","mute","wasmWidthOrHeightChange","videoFrame","complete","#000","clickInitPlayer","HLS","supportHls265","fiStop","MULAW(g711u)","webm","playbackIsPause","resize","jessibuca-pro-mp4-recorder-decoder.js","resetAudioDecode","sourceended","video","resetDecode","multiDrop","cruiseStop",'video/mp4;codecs="hev1.1.6.L120.90"',"worklet","fetchError","record","window","initVideoCodec","Decoder error","talkGetUserMediaFail","inbound-rtp","canvas","webFullscreen","playAudio","loadingTimeoutRetryEnd","remote-outbound-rtp","mp4Error","track","playIsNotPauseOrUrlIsNull","close","audioCode","wiperClose","white","sendWsMessage","blob","stalled","isHls",'video/mp4;codecs="hev1.4.10.L120.90"',"loadeddata","notSupportNewWasm","5975430BVBMXg","apertureFar","multiIndex","streamRate","playVodRateChange","FLV待解封装buffer过大","paused","initVideo","webcodecsUnsupportedConfigurationError","aiObjectDetectorInfo","网络超时重播失败","durationchange","decoder-pro-hard-not-wasm.js","codec","videoSEISyncPts","worker","mov","zooming","controlSize","mseSourceBufferError","Webrtc","isMpeg4","webrtcFailed","netBuf","hls-manifest-loaded","buffer","playVodEnded","webrtcOnConnectionStateChange","m7s","playbackTime","videoSEI","wasm解码失败","playerAudio","focusFar","sourceopen","container","drawingRectInfo","5902631ganNCr","five-min","mseSourceended","data-channel","ALAW(g711a)","widthOrHeightChangeReplayDelayTime","#FFCC00","peer-connection","playbackStreamVideoFps","mseAddSourceBufferError","load-complete","startstreaming","decoder-pro.js","play","downloadMemoryLog","recordBlob","websocketOpen","switch-url-success","talkStreamOpen","streamError","fetchStream","recording","decoder-pro-old.js","请求结束","MEDIA_ERR_NETWORK","FMP4","mseError","image/webp","apertureNear","playback","stop","aiOcclusionDetectResult","解析视频分辨率失败","ended","image/png","Decoder failure","waiting","mseWorkerAddSourceBufferError","playbackJustTime","stats","wcsDecodeError","初始化音频解码器失败","occlusionDetectActive","M7S","base64","subtitle-segments","硬解码不支持G711a/u音频格式","talkGetUserMediaTimeout","MEDIA_ERR_SRC_NOT_SUPPORTED","loadedmetadata","hlsError","multiDragenter","talkGetUserMediaSuccess","MULAW","load-retry","websocket1006Error","multiMouseover","fullscreen$2","talk","left-up"];return(ue=function(){return e})()}const le={canvas:re(573),video:re(560)},de={debug:"debug",warn:"warn"},he={click:re(410),mouseDownAndUp:re(520)},fe={normal:re(449),simple:"simple"},pe={normal:re(449),small:re(398)},me=re(423),ve=re(834),ye=36e5,_e=4080,ge=12;function be(e,t){const r=ue();return(be=function(e,t){return r[e-=358]})(e,t)}re(742),re(406),re(378);const we={playIsNotPauseOrUrlIsNull:re(793),webglAlignmentError:re(425),webglContextLostError:re(421),mediaSourceH265NotSupport:re(706),mseSourceBufferFull:re(468),mediaSourceAppendBufferError:re(394),mseSourceBufferError:"解码失败",mseAddSourceBufferError:re(394),mseWorkerAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:re(394),mediaSourceTsIsMaxDiff:re(827),mseWidthOrHeightChange:"流异常",mediaSourceAudioG711NotSupport:re(675),mediaSourceAudioInitTimeout:re(670),mediaSourceAudioNoDataTimeout:re(434),mediaSourceUseCanvasRenderPlayFailed:re(417),mediaSourceBufferedIsZeroError:"流异常",webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:re(394),webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:re(835),webcodecsAudioInitTimeout:re(670),webcodecsAudioNoDataTimeout:re(434),wcsWidthOrHeightChange:re(835),wasmDecodeError:re(835),simdDecodeError:re(835),wasmWidthOrHeightChange:re(827),wasmUseVideoRenderError:re(397),videoElementPlayingFailed:re(397),simdH264DecodeVideoWidthIsTooLarge:re(514),networkDelayTimeout:re(602),fetchError:"请求失败",streamEnd:re(652),websocket1006Error:re(784),websocketError:re(374),webrtcError:"请求失败",hlsError:re(374),decoderWorkerInitError:"初始化worker失败",decoderWorkerWasmError:re(623),videoElementPlayingFailedForWebrtc:re(397),videoInfoError:re(661),webrtcStreamH265:re(806),delayTimeout:re(737),loadingTimeout:re(712),loadingTimeoutRetryEnd:re(712),delayTimeoutRetryEnd:re(737),flvDemuxBufferSizeTooLarge:re(597),audioChannelError:re(409),aliyunRtcError:re(374),mseWaitVideoCanplayTimeout:re(827),initDecoderWorkerTimeout:"初始化解码worker超时"},Se={playType:se.player,videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:de[re(768)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:pe[re(449)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:re(641),decoderOld:re(651),decoderAudio:re(725),decoderHard:re(694),decoderHardNotWasm:re(604),wasmMp4RecorderDecoder:re(557),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:re(710),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:fe[re(449)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:ne.fetch,demuxType:ae[re(438)],useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ce[re(698)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:oe[re(692)],checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:re(367),ptzClickType:he.click,ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:we,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:le[re(560)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:re(584),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:re(584),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:re(371),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};re(422),re(446),re(551),re(461),re(634),re(610),re(594),re(718),re(773),re(613),re(448),re(588),re(463),re(538),re(754),re(792);const Ie={init:re(513),initVideo:re(599),render:re(503),playAudio:re(575),initAudio:re(453),kBps:re(816),decode:"decode",audioCode:re(582),audioNalu:re(401),audioAACSequenceHeader:re(778),videoCode:re(779),videoCodec:re(750),videoNalu:"videoNalu",videoPayload:re(454),audioPayload:re(697),wasmError:re(385),workerFetch:"workerFetch",iframeIntervalTs:re(480),isDropping:"isDropping",workerEnd:re(825),networkDelay:re(805),playbackStreamVideoFps:re(637),wasmWidthOrHeightChange:re(545),simdDecodeError:re(782),simdH264DecodeVideoWidthIsTooLarge:re(758),websocketOpen:re(645),closeEnd:"closeEnd",tempStream:re(432),videoSEI:re(622),flvScriptData:re(791),aacSequenceHeader:re(359),videoSequenceHeader:re(745),flvBufferData:"flvBufferData",checkFirstIFrame:re(769),mseHandle:"mseHandle",mseFirstRenderTime:re(430),mseError:re(655),notSupportNewWasm:re(591)};re(797);const Ae={audio:1,video:2},ke={audio:8,video:9,scriptData:18},Ee={init:re(513),decode:re(535),audioDecode:re(803),videoDecode:re(437),initAudioCodec:re(837),initVideoCodec:re(569),close:"close",updateConfig:"updateConfig",resetDecode:re(561),clearBuffer:re(695),resetAudioDecode:re(558),resetVideoDecode:re(543),fetchStream:re(649),sendWsMessage:re(585),mseUpdateVideoTimestamp:re(403),playbackIsPause:re(555)};re(790),re(617),re(566),re(404),re(796),re(795);const Ce={fullscreen:re(686),webFullscreen:re(574),decoderWorkerInit:re(814),play:re(642),playing:"playing",pause:re(426),mute:re(544),load:re(811),loading:re(475),zooming:re(609),drawingRect:"drawingRect",drawingRectInfo:re(628),videoInfo:re(387),timeUpdate:re(445),audioInfo:re(722),log:re(819),error:re(826),kBps:re(816),timeout:re(524),delayTimeout:re(456),delayTimeoutRetryEnd:re(418),loadingTimeout:re(801),loadingTimeoutRetryEnd:re(576),stats:re(668),performance:re(452),videoSmooth:"videoSmooth",faceDetectActive:re(433),objectDetectActive:"objectDetectActive",occlusionDetectActive:re(671),imageDetectActive:re(832),record:re(567),recording:re(650),recordingTimestamp:re(483),recordStart:"recordStart",recordEnd:re(766),recordCreateError:re(444),recordBlob:re(644),recordCancel:re(756),buffer:"buffer",videoFrame:re(546),videoSEI:re(622),videoSEISyncPts:re(606),start:re(500),metadata:"metadata",resize:re(556),volumechange:re(509),volume:re(817),destroy:re(487),beforeDestroy:re(777),streamEnd:re(379),streamRate:re(595),streamAbps:"streamAbps",streamVbps:"streamVbps",streamDts:re(729),streamSuccess:re(429),streamMessage:re(390),streamError:re(648),streamStats:re(732),streamEndInner:re(530),mseSourceOpen:re(384),mseSourceClose:"mseSourceClose",mseSourceended:re(631),mseSourceStartStreaming:"mseSourceStartStreaming",mseSourceEndStreaming:"mseSourceEndStreaming",mseSourceBufferError:re(611),mseAddSourceBufferError:re(638),mseWorkerAddSourceBufferError:re(666),mseSourceBufferBusy:re(689),mseSourceBufferFull:"mseSourceBufferFull",videoWaiting:re(534),videoTimeUpdate:re(435),videoSyncAudio:re(482),playToRenderTimes:re(447),playbackTime:re(621),playbackTimestamp:re(396),playbackTimeScroll:"playbackTimeScroll",playbackPrecision:re(798),playbackShowPrecisionChange:re(774),playbackJustTime:re(667),playbackStats:re(474),playbackSeek:re(405),playbackPause:re(799),playbackPauseOrResume:re(386),playbackRateChange:re(690),playbackPreRateChange:re(506),playbackEnd:"playbackEnd",playVodStats:re(789),playVodPause:re(783),playVodPauseOrResume:"playVodPauseOrResume",playVodRateChange:"playVodRateChange",playVodTime:re(541),playVodTimeCache:re(763),playVodSeek:"playVodSeek",playVodSeekEnd:"playVodSeekEnd",playVodVideoSeekingByMse:"playVodVideoSeekingByMse",playVodVideoSeekedByMse:"playVodVideoSeekedByMse",playVodCanplay:re(431),playVodWaiting:re(724),playVodEndedAndReplay:re(481),playVodEnded:re(618),ptz:re(380),streamQualityChange:"streamQualityChange",visibilityChange:"visibilityChange",netBuf:re(615),close:re(581),networkDelayTimeout:"networkDelayTimeout",togglePerformancePanel:re(542),viewResizeChange:re(536),flvDemuxBufferSizeTooLarge:re(734),talkGetUserMediaSuccess:re(681),talkGetUserMediaFail:re(571),talkGetUserMediaTimeout:re(676),talkStreamStart:"talkStreamStart",talkStreamOpen:re(647),talkStreamClose:re(478),talkStreamError:"talkStreamError",talkStreamInactive:re(364),talkStreamMsg:re(529),webrtcDisconnect:"webrtcDisconnect",webrtcFailed:re(614),webrtcClosed:"webrtcClosed",webrtcChecking:re(369),webrtcConnected:"webrtcConnected",webrtcCompleted:re(491),webrtcOnConnectionStateChange:re(619),webrtcOnIceConnectionStateChange:re(765),crashLog:re(824),focus:"focus",blur:re(794),inView:"inView",visibilityHiddenTimeout:re(800),websocketOpen:re(645),websocketClose:"websocketClose",websocketError:re(796),websocketMessage:re(393),aiObjectDetectorInfo:re(601),aiFaceDetectorInfo:re(740),aiOcclusionDetectResult:re(660),aiImageDetectResult:re(471),playFailedAndPaused:re(402),audioResumeState:re(771),webrtcStreamH265:re(716),flvMetaData:re(727),talkFailedAndStop:"talkFailedAndStop",removeLoadingBgImage:re(484),memoryLog:"memoryLog",downloadMemoryLog:re(643),pressureObserverCpu:"pressureObserverCpu",currentPts:re(408),online:re(479),offline:"offline",networkState:re(400),clickInitPlayer:re(549)};re(811),re(445),re(387),re(722),re(826),re(816),re(500),re(524),re(801),re(576),re(456),re(362),re(642),re(452),re(483),re(755),re(766),re(644),re(756),re(447),re(405),re(474),re(396),re(506),re(690),re(774),re(701),re(776),re(596),re(541),re(780),re(707),re(380),re(609),re(794),re(795),re(601),re(660),re(471),re(402),re(379),re(771),re(622),re(606),re(408),re(823),re(400),re(549),re(478),re(821),re(364),re(676),re(731),re(529),re(811),re(445),re(722),re(826),re(500),re(524),re(801),re(576),re(418),re(426),re(668),re(447),re(824),re(645),re(795),re(402);const xe={talkStreamError:Ce.talkStreamError,talkStreamClose:Ce[re(478)]},Te={playError:re(580),fetchError:re(566),websocketError:re(796),webcodecsH265NotSupport:re(746),webcodecsDecodeError:re(739),webcodecsUnsupportedConfigurationError:re(600),webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:"webcodecsAudioInitTimeout",webcodecsAudioNoDataTimeout:re(381),mediaSourceH265NotSupport:re(416),mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:"mediaSourceAudioInitTimeout",mediaSourceAudioNoDataTimeout:re(699),mediaSourceDecoderConfigurationError:re(702),mediaSourceFull:Ce.mseSourceBufferFull,mseSourceBufferError:Ce[re(611)],mseAddSourceBufferError:Ce[re(638)],mseWorkerAddSourceBufferError:Ce.mseWorkerAddSourceBufferError,mediaSourceAppendBufferError:re(419),mediaSourceTsIsMaxDiff:re(522),mediaSourceUseCanvasRenderPlayFailed:re(510),mediaSourceBufferedIsZeroError:"mediaSourceBufferedIsZeroError",wasmDecodeError:re(512),wasmUseVideoRenderError:"wasmUseVideoRenderError",simdH264DecodeVideoWidthIsTooLarge:re(758),simdDecodeError:re(782),hlsError:re(679),webrtcError:re(388),webrtcClosed:Ce[re(451)],webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:re(476),wasmWidthOrHeightChange:re(545),mseWidthOrHeightChange:re(414),wcsWidthOrHeightChange:re(439),widthOrHeightChange:re(377),tallWebsocketClosedByError:re(802),flvDemuxBufferSizeTooLarge:Ce[re(734)],audioChannelError:re(411),webglContextLostError:re(523),videoElementPlayingFailed:"videoElementPlayingFailed",videoElementPlayingFailedForWebrtc:re(772),decoderWorkerInitError:re(704),decoderWorkerWasmError:re(767),videoInfoError:re(516),streamEnd:Ce[re(379)],websocket1006Error:re(684),delayTimeout:Ce[re(456)],loadingTimeout:Ce[re(801)],networkDelayTimeout:Ce[re(717)],fullscreenError:"fullscreenError",aliyunRtcError:re(705),mseWaitVideoCanplayTimeout:re(759),initDecoderWorkerTimeout:re(531),notSupportNewWasm:re(591),playVodMp4Error:re(365),mp4Error:re(578),...xe};re(505),re(581),re(826);const De={connecting:0,open:1,closing:2,closed:3};re(467),re(820),re(673),re(586),re(458),re(450),re(511);const Be={h264:7,h265:12,mpeg4:99},Ue={h264:re(450),h265:re(413)},Me={AAC:10,ALAW:7,MULAW:8,MP3:2};re(372),re(633),re(553),re(735),re(372),re(813),re(682),re(735);const Pe={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Fe={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};re(532),re(785),re(504),re(498),re(466);const Re={key:re(375),delta:re(442)},Le={avc:'video/mp4; codecs="avc1.64002A"',hev:re(744),hev2:re(564),hev3:re(358),hev4:re(733),hev5:re(589)},Oe={ended:re(662),open:re(505),closed:re(464)};Math[re(720)](40),re(376),re(497),re(469),re(462),re(630),re(764),re(709),re(376),re(533),re(465),re(521),re(407),re(688),re(391),re(490),re(489),re(465),re(521),re(407),re(810),re(726),re(708),re(659),re(552),re(770),re(593),re(657),re(625),re(517),re(424),re(563),re(360),re(443),re(751),re(583);re(420),re(719),re(809);re(663),re(441),re(656);const ze={sourceClose:"sourceclose",sourceOpen:re(626),sourceended:re(559),startstreaming:re(640),endstreaming:"endstreaming",qualitychange:re(528)};re(665),re(370),re(830),re(678);const Ne={h264:re(492),h265:re(361)};re(395),re(501),re(664),re(570);const He={abortError:"The user aborted a request",abortError2:"AbortError",abort:re(828)};re(804),re(598),re(487);const Ve={sequenceHeader:0,nalu:1},je={keyFrame:1,interFrame:2};re(730),re(749),re(786),re(833),re(836);re(658),re(505),re(581),re(826);re(565),re(389);re(420),re(749),re(833),re(493),re(768),re(565),re(389),re(752),re(635),re(548),re(815),re(700),re(685),re(696),re(436),re(527),re(703),re(680),re(562),re(460),re(627);const We={keyFrame:1,interFrame:2};re(768),re(495),re(438),re(674),re(616),re(499),re(753),re(459),re(539),re(683),re(515),re(639),re(829),re(711),re(646),re(723),re(826);const Ge={idle:re(526),connecting:re(736),buffering:re(467),error:"error",complete:re(547)};re(741),re(653),re(714),re(677),re(738),re(508),re(518);const qe={video:1,audio:2},$e=128,Ke={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Ye={FT_KEY:16,FT_INTER:32};re(382),re(494),re(605),re(373),re(632),re(572),re(440),re(728),re(636),re(470),re(488),re(519),re(577),re(713),re(743),re(579),re(781),re(715),re(669),re(648),re(762),re(485),re(787),re(366),re(775),re(477),re(368),re(475);const Xe=typeof window===re(691)&&window[re(568)]===window?window:typeof self===re(691)&&self[re(496)]===self?self:"object"==typeof global&&global[re(525)]===global?global:void 0;re(455),re(383),re(547),re(603),re(812),re(826),re(590),re(678),re(693),re(426),re(642),re(830),re(808),re(427),re(587),re(757),re(822),re(537),re(826);var Je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ze(e,t){return e(t={exports:{}},t.exports),t.exports}var Qe=Object.freeze({__proto__:null,commonjsGlobal:Je,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:Ze,getCjsExportFromNamespace:function(e){return e&&e.default||e}});function et(e,t){var r=tt();return(et=function(e,t){return r[e-=141]})(e,t)}function tt(){var e=["mozCancelFullScreen","7177740DlNOsn","4013100HndWcH","webkitFullscreenElement","fullscreenerror","fullscreenEnabled","exit","fullscreenElement","4865165RYJBXu","msFullscreenEnabled","addEventListener","mozFullScreenElement","1240026CbHsgP","document","fullscreenchange","mozRequestFullScreen","requestFullscreen","off","exports","9616968KMtkQK","documentElement","MSFullscreenError","webkitCurrentFullScreenElement","undefined","webkitfullscreenerror","exitFullscreen","645686KMylNc","webkitCancelFullScreen","webkitRequestFullScreen","webkitfullscreenchange","then","webkitRequestFullscreen","4WhtvZD","length","screenfull","bind","change","webkitExitFullscreen","removeEventListener","webkitFullscreenEnabled","catch","MSFullscreenChange","isFullscreen","error","object","request","3152359HhYOgW","16SdaIbV"];return(tt=function(){return e})()}!function(e,t){for(var r=et,n=e();;)try{if(901536===parseInt(r(165))/1*(parseInt(r(159))/2)+parseInt(r(145))/3+-parseInt(r(183))/4+parseInt(r(141))/5+parseInt(r(182))/6+parseInt(r(179))/7*(-parseInt(r(180))/8)+-parseInt(r(152))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(tt),Ze((function(e){var t,r,n,i,s,o;t=et,r=typeof window!==t(156)&&typeof window.document!==t(156)?window[t(146)]:{},n=t(177)!==t(156)&&e[t(151)],i=function(){for(var e,n=t,i=[[n(149),"exitFullscreen","fullscreenElement",n(186),n(147),n(185)],[n(164),n(170),n(184),n(172),"webkitfullscreenchange",n(157)],[n(161),n(160),n(155),"webkitCancelFullScreen",n(162),n(157)],[n(148),n(181),n(144),"mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement",n(142),n(174),n(154)]],s=0,o=i[n(166)],a={};s32&&console.error(t(467)),e<=this[t(439)]){let r=this[t(465)]>>>32-e;return this[t(465)]<<=e,this[t(439)]-=e,r}let r=this[t(439)]?this[t(465)]:0;r>>>=32-this[t(439)];let n=e-this[t(439)];this[t(455)]();let i=Math.min(n,this._current_word_bits_left),s=this._current_word>>>32-i;return this[t(465)]<<=i,this[t(439)]-=i,r=r<>>t))return this._current_word<<=t,this[e(439)]-=t,t;return this[e(455)](),t+this[e(441)]()}[rt(440)](){const e=rt;let t=this._skipLeadingZero();return this[e(446)](t+1)-1}[rt(451)](){let e=this[rt(440)]();return 1&e?e+1>>>1:-1*(e>>>1)}}function it(){const e=["_skipLeadingZero","getUint32","673685hdWbaL","27SUuaGw","error","readBits","_buffer","_total_bits","492WLtgSG","byteLength","readSEG","6055xBycHb","_total_bytes","6083407XjaCiQ","_fillCurrentWord","445576QCsBoj","destroy","readBool","set","1366428mGsgVU","3TmgKSO","27867wdRjNp","ExpGolomb: _fillCurrentWord() but no bytes available","894GEmLBJ","_current_word","1285890lRJMcF","ExpGolomb: readBits() bits exceeded max 32bits!","readByte","buffer","_buffer_index","_current_word_bits_left","readUEG"];return(it=function(){return e})()}function st(e,t){const r=it();return(st=function(e,t){return r[e-=439]})(e,t)}const ot=ht;!function(e,t){const r=ht,n=e();for(;;)try{if(962343===parseInt(r(259))/1*(parseInt(r(253))/2)+-parseInt(r(287))/3+-parseInt(r(251))/4*(parseInt(r(283))/5)+-parseInt(r(244))/6+parseInt(r(254))/7+parseInt(r(241))/8*(-parseInt(r(291))/9)+-parseInt(r(239))/10*(-parseInt(r(288))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(vt);const at=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],ct=at,ut=at;function lt(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function dt(e){const t=ht;return ft(e)&&e[1]===Ve[t(270)]}function ht(e,t){const r=vt();return(ht=function(e,t){return r[e-=227]})(e,t)}function ft(e){const t=ht;return e[0]>>4===Me[t(278)]}const pt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function mt(e){const t=ht;let r=new Uint8Array(e),n=null,i=0,s=0,o=0,a=null;if(i=s=r[0]>>>3,o=(7&r[0])<<1|r[1]>>>7,o<0||o>=pt[t(250)])return void console.error(t(263));let c=pt[o],u=(120&r[1])>>>3;if(u<0||u>=8)return void console[t(257)](t(295));5===i&&(a=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Xe[t(286)][t(268)][t(249)]();return-1!==l[t(258)]("firefox")?o>=6?(i=5,n=new Array(4),a=o-3):(i=2,n=new Array(2),a=o):-1!==l.indexOf(t(279))?(i=2,n=new Array(2),a=o):(i=5,a=o,n=new Array(4),o>=6?a=o-3:1===u&&(i=2,n=new Array(2),a=o)),n[0]=i<<3,n[0]|=(15&o)>>>1,n[1]=(15&o)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&a)>>>1,n[2]=(1&a)<<7,n[2]|=8,n[3]=0),{audioType:t(262),config:n,sampleRate:c,channelCount:u,objectType:i,codec:t(228)+i,originalCodec:"mp4a.40."+s}}ot(293),ot(275);function vt(){const e=["hasIncompleteData","look","buffer","sbr","AAC","android","destroy","more than 2 numLayer Not Supported","push","5EApdlJ","aacEncoderConfigurationRecord","readBits","navigator","3222621omLwmA","924aJJJad","sampling_freq_index","sampling_index","9QrVsAs","profile: ","read","bufpos","Flv: AAC invalid channel configuration","current_syncword_offset_","StreamMuxConfig Missing","getIncompleteData","buflen","unshift","getLATMValue","byteLength","mp4a.40.","data_","ext_object_type","subarray","readNextAACFrame","set","chan_config","frameLengthType = ","warn","channel: ","audioMuxVersionA is Not Supported","310890rCTmnW","other_data_present","4177840VUYXcp","channel_config","iserro","288630bvZuxE","Invalid sampling index: ","readByte","sampleRate: ","sampling_frequency","toLowerCase","length","6608156GCnGae","object_type","2ItrLHf","673610VQpZuI","data","mp4a.40.2","log","indexOf","1551218DAlXzb","error","readBool","aac","Flv: AAC invalid sampling frequency index!","eof_flag_","bufoff","Could not found ADTS syncword until payload end","sample_rate","userAgent","audio_object_type","sequenceHeader","has_last_incomplete_data","more than 2 numSubFrames Not Supported","findNextSyncwordOffset"];return(vt=function(){return e})()}class yt{constructor(e){const t=ot;this.data_=e,this[t(264)]=!1,this[t(296)]=this.findNextSyncwordOffset(0),this[t(264)]&&console[t(260)](t(266))}[ot(273)](e){const t=ot;let r=e,n=this[t(229)];for(;;){if(r+7>=n[t(227)])return this[t(264)]=!0,n[t(227)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}[ot(232)](){const e=ot;let t=this[e(229)],r=null;for(;null==r&&!this[e(264)];){let n=this[e(296)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,o=1&t[n+1],a=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this.data_[e(227)]){this[e(264)]=!0,this.has_last_incomplete_data=!0;break}let d=1===o?7:9,h=l-d;n+=d;let f=this[e(273)](n+h);if(this[e(296)]=f,0!==i&&1!==i||0!==s)continue;let p=t[e(231)](n,n+h);r={},r.audio_object_type=a+1,r.sampling_freq_index=c,r[e(248)]=ct[c],r.channel_config=u,r[e(255)]=p}return r}[ot(274)](){return this.has_last_incomplete_data}getIncompleteData(){const e=ot;return this[e(271)]?this.data_[e(231)](this[e(296)]):null}}class _t{constructor(e){const t=ot;this[t(229)]=e,this[t(264)]=!1,this[t(296)]=this.findNextSyncwordOffset(0),this[t(264)]&&console.error(t(266))}[ot(273)](e){const t=ot;let r=e,n=this[t(229)];for(;;){if(r+1>=n[t(227)])return this[t(264)]=!0,n[t(227)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}[ot(301)](e){const t=ot;let r=e[t(285)](2),n=0;for(let i=0;i<=r;i++)n<<=8,n|=e[t(246)]();return n}[ot(232)](e){const t=ot;let r=this[t(229)],n=null;for(;null==n&&!this[t(264)];){let i=this[t(296)],s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this[t(229)][t(227)]){this[t(264)]=!0,this.has_last_incomplete_data=!0;break}let o=new nt(r[t(231)](i+3,i+3+s)),a=null;if(o[t(261)]()){if(null==e){console[t(236)](t(297)),this[t(296)]=this.findNextSyncwordOffset(i+3+s),o[t(280)]();continue}a=e}else{let e=o.readBool();if(e&&o[t(261)]()){console[t(260)](t(238)),o[t(280)]();break}if(e&&this[t(301)](o),!o[t(261)]()){console[t(260)]("allStreamsSameTimeFraming zero is Not Supported"),o[t(280)]();break}if(0!==o[t(285)](6)){console[t(260)](t(272)),o[t(280)]();break}if(0!==o[t(285)](4)){console[t(260)]("more than 2 numProgram Not Supported"),o[t(280)]();break}if(0!==o[t(285)](3)){console[t(260)](t(281)),o[t(280)]();break}let r=e?this[t(301)](o):0,n=o[t(285)](5);r-=5;let i=o[t(285)](4);r-=4;let s=o.readBits(4);r-=4,o[t(285)](3),r-=3,r>0&&o[t(285)](r);let c=o[t(285)](3);if(0!==c){console.error(t(235)+c+". Only frameLengthType = 0 Supported"),o[t(280)]();break}o.readByte();let u=o[t(261)]();if(u)if(e)this.getLATMValue(o);else{let e=0;for(;;){e<<=8;let r=o[t(261)]();if(e+=o[t(246)](),!r)break}console[t(257)](e)}o[t(261)]()&&o.readByte(),a={},a.audio_object_type=n,a[t(289)]=i,a.sampling_frequency=ct[a[t(289)]],a[t(242)]=s,a[t(240)]=u}let c=0;for(;;){let e=o.readByte();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function bt(e){const t=It;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e[t(440)]<4)return[];const n=e.length,i=[];let s,o=0;for(;o+r>>=8),o+=r,s){if(o+s>n)break;i[t(448)](e[t(442)](o,o+s)),o+=s}return i}function wt(e,t){const r=e[It(440)];let n=t?2:1,i=0,s=0,o="";for(;255===e[n];)i+=255,n++;for(i+=e[n++];255===e[n];)s+=255,n++;if(s+=e[n++],5===i&&r>n+16)for(let t=0;t<16;t++)o+=e[n].toString(16),n++;return{payload:e.subarray(n),type:i,size:s,uuid:o}}function St(e){const t=It,r=e[t(450)],n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i[t(451)](n,0),i[t(451)](e,4),i}function It(e,t){const r=At();return(It=function(e,t){return r[e-=437]})(e,t)}function At(){const e=["9RVZiVj","length","buffer","subarray","530726ANQCMk","shift","102553PXdPTo","43432CuOXst","setUint32","push","502128QSlsSQ","byteLength","set","815CMwcIh","248678urzCPi","3428ZVliUU","214182tgEnER"];return(At=function(){return e})()}function kt(e,t){const r=It;let n=null;return t?e[r(440)]>=28&&(n=1+(3&e[26])):e[r(440)]>=12&&(n=1+(3&e[9])),n}!function(e,t){const r=It,n=e();for(;;)try{if(100187===-parseInt(r(445))/1+parseInt(r(453))/2+-parseInt(r(449))/3+-parseInt(r(437))/4*(-parseInt(r(452))/5)+parseInt(r(438))/6+parseInt(r(443))/7+-parseInt(r(446))/8*(parseInt(r(439))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(At);const Et=Pt;function Ct(){const e=Pt;return(new Date)[e(320)]()}function xt(e,t,r){const n=Pt;return Math.max(Math[n(508)](e,Math[n(463)](t,r)),Math[n(508)](t,r))}function Tt(){const e=Pt;return performance&&"function"==typeof performance[e(342)]?performance.now():Date[e(342)]()}function Dt(e){let t=0,r=Tt();return n=>{if(!function(e){const t=Et;return Object[t(453)][t(364)][t(555)](e)===t(322)}(n))return;t+=n;const i=Tt(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=Pt,n=e();for(;;)try{if(610595===parseInt(r(569))/1+parseInt(r(534))/2+-parseInt(r(588))/3*(-parseInt(r(306))/4)+-parseInt(r(499))/5*(-parseInt(r(329))/6)+parseInt(r(356))/7+parseInt(r(439))/8*(parseInt(r(351))/9)+-parseInt(r(561))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ft),(()=>{const e=Pt;try{if(typeof WebAssembly===e(509)&&typeof WebAssembly[e(608)]===e(558)){const t=new(WebAssembly[e(538)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new(WebAssembly[e(337)])(t)instanceof WebAssembly[e(337)]}}catch(e){}})();const Bt=Et(384);Et(395);function Ut(e){return null==e}function Mt(e){return!Ut(e)}function Pt(e,t){const r=Ft();return(Pt=function(e,t){return r[e-=295]})(e,t)}function Ft(){const e=["pointer-events: none !important; display: block !important","f32-planar","start","-ms-user-select","QihooBrowser","readAsArrayBuffer","msFullscreenElement","position","performance","VideoDecoder","container","type","253104TvNoNq","touchmove","zIndex","chrome","download","contain","AAC","push","open","-webkit-text-size-adjust","div","msGetUserMedia","experimental-webgl","-webkit-touch-callout","prototype","appendChild","event","objectFit","repeat","useWCS","setInt8","VideoEncoder is not supported","#000","rgba(0,0,0,0)","max","URL","sequenceHeader","replace","img","getMinutes","ManagedMediaSource","borderColor","split","textAlign","WebGL2RenderingContext","result","color","createImageBitmap","documentElement","height","angle","image","demuxUseWorker","YB/s","xxxx","floor","drawImage","memory","hidden","getSeconds","green","If you want to help, upload a sample of this file to","canConstructInDedicatedWorker","lineWidth","getDay","ActiveXObject","safari","360","webkitGetUserMedia","trim","74825MhxwHj","NaN","userAgent","win64","clientY","craNut","close","removeChild","getHours","min","object","borderWidth","mozGetUserMedia","clientX","ALAW","line","attachShadow","mimeTypes","test","location","wcsDecodeAudio","application/vnd.apple.mpegurl","-webkit-user-select","port","not compiled with thread support","click","mseDecodeAudio","high","readyState","navigator","setUint8","-webkit-tap-highlight-color","user-select","localhost","isConfigSupported","2180074OfLqup","text","round","Safari","Module","failed to asynchronously prepare wasm","assign","webkitFullscreenElement","gpu","undefined","restore","srcElement","validate","MULAW","style","save","fontFamily","application/360softmgrplugin","canvas","supported","subarray","call","true","dispatchEvent","function","scrollLeft","MediaSource","28798840TerERX","font","keys","transferControlToOffscreen","hev","log","PB/s","getMonth","578558NarYxs","not compiled with thread support, using thread emulation","AudioDecoder","hev2","nLp","hev5","backgroundColor","KB/s","copyright","length","pps","pageY","video","isTypeSupported","h265","pathname","Anonymous","filter","mousemove","5574KwbTXj","{y}-{m}-{d} {h}:{i}:{s}","substr","strokeStyle","getImageData","error","href","right","hash","data","toFixed","mediaDevices","[object Error]","fullscreenElement","protocol","webkit-3d","mousedown","origin","createBuffer","fromCharCode","instantiate","pageX","xxxxxxxxxxxx4xxx","100","createElement","rect","insertBefore","getParameter","useMSE","solid","QQBrowser","canPlayType","isFullscreen","search","block","Firefox","src","document","244iaAOfJ","WAVE","removeAttribute","green yuv","AudioData","top","[object DOMException]","imageSmoothingEnabled","quality","data-","Worker","atob","data:","WebGLRenderingContext","getTime","opera","[object Number]","hev3","message","keyFrame","substring","apply","createObjectURL","396WdBVWL","html","resume","content","onload","crossOrigin","getContext","useOffscreen","Instance","format","join","toDataURL","charAt","now","strokeRect","moz-webgl","scrollTop","borderStyle","revokeObjectURL","innerHTML","visibility","VideoFrame","153cUJZBb","left","wow32","edge","fillStyle","1281070mRzdna","indexOf","toUpperCase","shadowRoot","touches","charCodeAt","win32","body","toString","stringify","imageSmoothingQuality","dataset","image/png","status","firefox","application/hwepass2001.installepass2001","destination","https:","setUint32","set","360SE","Reserved SBR extensions is not implemented","file","fontSize","mouseup","version","toLowerCase","forEach",'"2.0.0"',"100%","getDate","onerror","setInt16","random","sps","bottom","initEvent","host","addModule",'"development"',"setUint16","hostname","0 KB/s","slice","getPropertyValue","match","getAttribute","px 宋体","paused","byteLength","vps","pow","-moz-user-select","px Arial","application/vnd.chromium.remoting-viewer","hasAudio","setAttribute","none","opacity","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","hev1.1.6.L120.90","webgl2","noteOn","width","wow64","fillText","VideoEncoder.isConfigSupported is not a function","touchstart","createBufferSource","clearRect","avc1."];return(Ft=function(){return e})()}function Rt(e){return typeof e===Et(558)}function Lt(e){const t=Et;let r=null,n=31&e[0];return(n===Pe[t(390)]||n===Pe[t(579)])&&(r=Ue.h264),!r&&(n=(126&e[0])>>1,(n===Fe[t(406)]||n===Fe[t(390)]||n===Fe[t(579)])&&(r=Ue[t(583)])),r}function Ot(){return typeof WritableStream!==Et(543)}function zt(e){e[Et(505)]()}function Nt(e,t){const r=Et;t&&(e=e[r(586)]((e=>e[r(438)]&&e[r(438)]===t)));let n=e[0],i=null,s=1;if(e[r(578)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let o=s;o=1e3){e[o-1].ts-n.ts<1e3&&(i=o+1)}}}return i}function Ht(e){const t=Et;return e.ok&&e[t(369)]>=200&&e.status<=299}function Vt(){return function(e){const t=Et;let r="";if(typeof e===t(509))try{r=JSON[t(365)](e),r=JSON.parse(r)}catch(t){r=e}else r=e;return r}(Se)}function jt(e){const t=Et;return e[0]>>4===je[t(325)]&&e[1]===Ve[t(465)]}function Wt(e){return!0===e||"true"===e}function Gt(e){return!0!==e&&e!==Et(556)}function qt(){const e=Et;return!!(Xe[e(316)]&&Xe.MediaSource&&e(491)in Xe[e(560)]&&!0===Xe[e(560)].canConstructInDedicatedWorker)}function $t(e,t){const r=Et,n=bt(e[r(399)](5));let i=!1;return n[r(383)]((e=>{const n=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Fe.iFrame||s===Fe[n(573)]||s===Fe[n(504)])||Gt(t)&&s===Pe.iFrame)&&(i=!0)})),i}const Kt=Xt;!function(e,t){const r=Xt,n=e();for(;;)try{if(568503===parseInt(r(335))/1+-parseInt(r(361))/2*(parseInt(r(321))/3)+parseInt(r(340))/4*(parseInt(r(343))/5)+-parseInt(r(329))/6*(parseInt(r(322))/7)+parseInt(r(354))/8*(-parseInt(r(346))/9)+parseInt(r(352))/10*(parseInt(r(348))/11)+-parseInt(r(339))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(tr);var Yt=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const o=Xt;function a(e){const t=Xt;try{u(n[t(319)](e))}catch(e){s(e)}}function c(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e[Xt(336)]?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,c)}u((n=n.apply(e,t||[]))[o(319)]())}))};function Xt(e,t){const r=tr();return(Xt=function(e,t){return r[e-=316]})(e,t)}const Jt=Symbol(32),Zt=Symbol(16),Qt=Symbol(8);class er{constructor(e){const t=Kt;this.g=e,this[t(320)]=0,e&&(this[t(316)]=e[t(319)]()[t(331)])}setG(e){const t=Kt;this.g=e,this[t(318)](e.next()[t(331)],!0)}consume(){const e=Kt;this[e(357)]&&this[e(320)]&&(this[e(357)][e(327)](0,this.consumed),this.buffer=this[e(357)][e(338)](0,this.buffer[e(317)]-this[e(320)]),this[e(320)]=0)}[Kt(318)](e,t){const r=Kt;return t&&this.consume(),this[r(316)]=e,this.flush()}[Kt(345)](e){return Yt(this,void 0,void 0,(function*(){const t=Xt;return this[t(325)]&&(yield this[t(325)]),this[t(325)]=new Promise(((r,n)=>{const i=t;var s;this[i(356)]=n,this.resolve=e=>{const t=i;delete this[t(325)],delete this[t(326)],delete this[t(316)],r(e)};this[i(318)](e,!0)||null===(s=this[i(359)])||void 0===s||s[i(337)](this,e)}))}))}[Kt(342)](){return this[Kt(345)](Jt)}[Kt(332)](){return this[Kt(345)](Zt)}[Kt(334)](){return this[Kt(345)](Qt)}[Kt(347)](){const e=Kt;var t;this.g&&this.g.return(),this[e(357)]&&this[e(357)][e(338)](0,0),null===(t=this.reject)||void 0===t||t[e(337)](this,new Error(e(355))),delete this[e(325)]}[Kt(330)](){const e=Kt;if(!this[e(357)]||!this[e(316)])return;let t=null;const r=this[e(357)].subarray(this.consumed);let n=0;const i=t=>r[e(317)]<(n=t);if(typeof this[e(316)]===e(333)){if(i(this.need))return;t=r[e(338)](0,n)}else if(this[e(316)]===Jt){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(316)]===Zt){if(i(2))return;t=r[0]<<8|r[1]}else if(this[e(316)]===Qt){if(i(1))return;t=r[0]}else if("buffer"in this[e(316)]){if("byteOffset"in this[e(316)]){if(i(this.need[e(341)]-this[e(316)][e(324)]))return;new Uint8Array(this[e(316)][e(357)],this[e(316)][e(324)]).set(r[e(338)](0,n)),t=this.need}else if(this.g)return void this.g[e(358)](new Error("Unsupported type"))}else{if(i(this[e(316)][e(341)]))return;new Uint8Array(this[e(316)]).set(r.subarray(0,n)),t=this.need}return this[e(320)]+=n,this.g?this[e(318)](this.g[e(319)](t).value,!0):this[e(326)]&&this[e(326)](t),t}[Kt(351)](e){const t=Kt;if(e instanceof Uint8Array?this[t(362)](e[t(317)])[t(323)](e):t(357)in e?this[t(362)](e.byteLength)[t(323)](new Uint8Array(e.buffer,e[t(324)],e[t(341)])):this[t(362)](e[t(341)]).set(new Uint8Array(e)),!this.g&&!this[t(326)])return new Promise((e=>this.pull=e));this[t(330)]()}[Kt(353)](e){this[Kt(362)](4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}[Kt(349)](e){const t=Kt;this[t(362)](2).set([e>>8&255,255&e]),this[t(330)]()}[Kt(344)](e){const t=Kt;this.malloc(1)[0]=e,this[t(330)]()}[Kt(362)](e){const t=Kt;if(this.buffer){const r=this[t(357)][t(317)],n=r+e;if(n<=this[t(357)][t(357)][t(341)]-this.buffer[t(324)])this.buffer=new Uint8Array(this.buffer[t(357)],this[t(357)][t(324)],n);else{const e=new Uint8Array(n);e.set(this[t(357)]),this[t(357)]=e}return this[t(357)][t(338)](r,n)}return this[t(357)]=new Uint8Array(e),this[t(357)]}}function tr(){const e=["next","consumed","6aYaTwC","36274HFDOzQ","set","byteOffset","lastReadPromise","resolve","copyWithin","U32","66RQMCFs","flush","value","readU16","number","readU8","1010038JGObXS","done","call","subarray","4753824mzwXzV","939460xImPnS","byteLength","readU32","5JwomHH","writeU8","read","2502qQhzCH","close","1399574XdyEoJ","writeU16","U16","write","50QYbAxN","writeU32","21064REOtwC","EOF","reject","buffer","throw","pull","__awaiter","127442ZTHcAi","malloc","need","length","demand"];return(tr=function(){return e})()}function rr(e,t){const r=ir();return(rr=function(e,t){return r[e-=435]})(e,t)}er[Kt(328)]=Jt,er[Kt(350)]=Zt,er.U8=Qt,function(e,t){const r=rr,n=e();for(;;)try{if(526897===-parseInt(r(450))/1*(parseInt(r(444))/2)+-parseInt(r(455))/3*(parseInt(r(452))/4)+-parseInt(r(454))/5+parseInt(r(453))/6*(parseInt(r(447))/7)+parseInt(r(435))/8+parseInt(r(437))/9*(parseInt(r(445))/10)+-parseInt(r(451))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ir);class nr{constructor(e){const t=rr;this.log=function(t){const r=rr;if(e._opt.debugLevel==de[r(439)]){const o=e[r(438)][r(456)]?"["+e[r(438)].debugUuid+"]":"";for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?s-1:0),a=1;a=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(347)],0,s)}static[or(334)](e){const t=or;let r=ar._ebsp2rbsp(e),n=new nt(r);n.readByte();let i=n[t(349)]();n[t(349)]();let s=n[t(349)]();n[t(343)]();let o=ar[t(331)](i),a=ar[t(362)](s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n[t(343)](),3===c&&n[t(329)](1),c<=3&&(u=l[c]),d=n[t(343)]()+8,n[t(343)](),n[t(329)](1),n[t(355)]())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(w=r[e-1],S=i[e-1]):255===e&&(w=n.readByte()<<8|n[t(349)](),S=n[t(349)]()<<8|n[t(349)]())}if(n[t(355)]()&&n[t(355)](),n[t(355)]()&&(n[t(329)](4),n[t(355)]()&&n.readBits(24)),n[t(355)]()&&(n[t(343)](),n[t(343)]()),n.readBool()){let e=n[t(329)](32),r=n[t(329)](32);A=n[t(355)](),k=r,E=2*e,I=k/E}}let C=1;(1!==w||1!==S)&&(C=w/S);let x=0,T=0;if(0===c)x=1,T=2-v;else{x=3===c?1:2,T=(1===c?2:1)*(2-v)}let D=16*(p+1),B=16*(m+1)*(2-v);D-=(y+_)*x,B-=(g+b)*T;let U=Math.ceil(D*C);return n[t(327)](),n=null,{profile_string:o,level_string:a,bit_depth:d,ref_frames:f,chroma_format:u,chroma_format_string:ar[t(358)](u),frame_rate:{fixed:A,fps:I,fps_den:E,fps_num:k},sar_ratio:{width:w,height:S},codec_size:{width:D,height:B},present_size:{width:U,height:B}}}static[or(348)](e){const t=or;let r=e.subarray(1,4),n=t(354);for(let e=0;e<3;e++){let i=r[e].toString(16);i[t(328)]<2&&(i="0"+i),n+=i}let i=ar[t(351)](e),s=new nt(i);s[t(349)]();let o=s.readByte();s[t(349)]();let a=s[t(349)]();s.readUEG();let c=ar[t(331)](o),u=ar[t(362)](a),l=1,d=420,h=[0,420,422,444],f=8,p=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=s[t(343)](),3===l&&s[t(329)](1),l<=3&&(d=h[l]),f=s.readUEG()+8,p=s[t(343)]()+8,s[t(329)](1),s.readBool())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(A=r[e-1],k=n[e-1]):255===e&&(A=s[t(349)]()<<8|s.readByte(),k=s.readByte()<<8|s[t(349)]())}if(s.readBool()&&s[t(355)](),s[t(355)]()&&(s[t(329)](4),s[t(355)]()&&s[t(329)](24)),s[t(355)]()&&(s[t(343)](),s.readUEG()),s[t(355)]()){let e=s[t(329)](32),r=s[t(329)](32);C=s[t(355)](),x=r,T=2*e,E=x/T}}let D=1;(1!==A||1!==k)&&(D=A/k);let B=0,U=0;if(0===l)B=1,U=2-g;else{B=3===l?1:2,U=(1===l?2:1)*(2-g)}let M=16*(y+1),P=16*(_+1)*(2-g);M-=(b+w)*B,P-=(S+I)*U;let F=Math[t(350)](M*D);return s[t(327)](),s=null,{codec_mimetype:n,profile_idc:o,level_idc:a,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:ar.getChromaFormatString(d),frame_rate:{fixed:C,fps:E,fps_den:T,fps_num:x},sar_ratio:{width:A,height:k},codec_size:{width:M,height:P},present_size:{width:F,height:P}}}static[or(356)](e,t){const r=or;let n=8,i=8,s=0;for(let o=0;o=this[t(166)])return this[t(170)]=!0,0;this[t(170)]=!1,n=this[t(171)]+e>8?8-this[t(171)]:e,r<<=n,r+=this[t(165)][this.bufpos]>>8-this[t(171)]-n&255>>8-n,this[t(171)]+=n,e-=n,8==this[t(171)]&&(this[t(167)]++,this[t(171)]=0)}return r}[lr(181)](e){const t=lr;let r=this[t(167)],n=this.bufoff,i=this[t(184)](e);return this.bufpos=r,this[t(171)]=n,i}read_golomb(){const e=lr;let t;for(t=0;0===this[e(184)](1)&&!this[e(170)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(229)](n,0),i[t(229)](r.sps,4),r.sps=i}if(r[t(255)]){const e=r[t(255)].byteLength,n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(229)](n,0),i.set(r[t(255)],4),r.pps=i}return r}function br(e){const t=_r;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(213)]>>8&255,i[12]=255&r[t(213)],i[t(211)](...r,1,n[t(213)]>>8&255,255&n.byteLength,...n);return new Uint8Array(i)}function wr(e){const t=_r;let{sps:r,pps:n}=e,i=8+r.byteLength+1+2+n.byteLength,s=!1;const o=ar[t(191)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=255,a[5]=225;let c=r[t(213)];a[6]=c>>>8,a[7]=255&c;let u=8;a[t(229)](r,8),u+=c,a[u]=1;let l=n.byteLength;a[u+1]=l>>>8,a[u+2]=255&l,a[t(229)](n,u+3),u+=3+l,s&&(a[u]=252|o.chroma_format_idc,a[u+1]=248|o[t(238)]-8,a[u+2]=248|o[t(257)]-8,a[u+3]=0,u+=4);const d=[23,0,0,0,0],h=new Uint8Array(d[t(215)]+a.byteLength);return h[t(229)](d,0),h[t(229)](a,d[t(215)]),h}function Sr(e,t){const r=_r;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(213)]>>24&255,n[6]=e[r(213)]>>16&255,n[7]=e[r(213)]>>8&255,n[8]=255&e[r(213)];const i=new Uint8Array(n[r(215)]+e[r(213)]);return i.set(n,0),i[r(229)](e,n[r(215)]),i}function Ir(e,t){const r=_r;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(215)]+e[r(213)]);return i[r(229)](n,0),i[r(229)](e,n[r(215)]),i}function Ar(e){return 31&e[0]}function kr(e){return e===Pe[_r(190)]}function Er(e){return!(t=e,t===Pe[_r(228)]||t===Pe.pps||kr(e));var t}function Cr(e){return e===Pe[_r(204)]}function xr(e){const t=_r;if(0===e[t(215)])return!1;const r=Ar(e[0]);for(let n=1;n=n.byteLength)return this[t(230)]=!0,n[t(213)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[yr(233)](){const e=yr;let t=this.data,r=null;for(;null==r&&!this[e(230)];){let n=this[e(251)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,o=this[e(226)](n);this[e(251)]=o,i>=Pe.kReserved0||0===s&&(r={type:i,data:t.subarray(n,o)})}return r}}class Dr{constructor(e){const t=yr;let r=e.data[t(213)];this[t(243)]=e[t(243)],this[t(265)]=new Uint8Array(4+r),new DataView(this[t(265)][t(250)]).setUint32(0,r),this[t(265)][t(229)](e.data,4)}}const Br=Ur;function Ur(e,t){const r=Mr();return(Ur=function(e,t){return r[e-=165]})(e,t)}function Mr(){const e=["m_idx","33huLRPZ","GetBYTE","m_data","GetBit","152HCUdKz","1412feTszy","11720YrNxXv","12568456CuPset","7349363YvYjck","m_bits","m_len","13698XOyoSc","GetWord","GetUE","8907272cOSABu","7434670UGAZPn","6PViLDa","395636wgkwkL","GetSE","m_byte","m_zeros"];return(Mr=function(){return e})()}!function(e,t){const r=Ur,n=e();for(;;)try{if(912753===parseInt(r(166))/1*(-parseInt(r(165))/2)+-parseInt(r(183))/3*(parseInt(r(178))/4)+-parseInt(r(176))/5*(parseInt(r(177))/6)+parseInt(r(169))/7+parseInt(r(168))/8+parseInt(r(172))/9*(parseInt(r(167))/10)+-parseInt(r(175))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Mr);class Pr{constructor(e){const t=Ur;this[t(182)]=null,this[t(185)]=e,this.m_len=e.length,this[t(182)]=0,this[t(170)]=0,this[t(180)]=0,this[t(181)]=0}[Br(184)](){const e=Br;if(this[e(182)]>=this[e(171)])return 0;let t=this.m_data[this[e(182)]++];return 0==t?(this[e(181)]++,this[e(182)]>this.m_bits&1}[Br(173)](e){const t=Br;let r=0;for(;e>0;)r<<=1,r|=this[t(186)](),e--;return r}[Br(174)](){const e=Br;let t=0;for(;this[e(182)]>1;return!(1&e)&&(t=-t),t}}function Fr(){const e=["16402groBIh","GetUE","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","SPSParser chroma_format_idc > 3","30939612SmQJFt","_ebsp2rbsp","533583eXyPBq","4349322fKfTty","warn","byteLength","SPSParser sps_seq_parameter_set_id > 15","parseSPS","11Xwnijk","1658788dMbtcI","GetWord","buffer","SPSParser sps_max_sub_layers_minus1 > 6","10mERnVI","373458jhDoha","25bFZthc","2312TWDNHb","22267IBxjsM","153XukwXL"];return(Fr=function(){return e})()}const Rr=Lr;function Lr(e,t){const r=Fr();return(Lr=function(e,t){return r[e-=130]})(e,t)}!function(e,t){const r=Lr,n=e();for(;;)try{if(748888===parseInt(r(149))/1*(-parseInt(r(150))/2)+-parseInt(r(134))/3+-parseInt(r(140))/4+parseInt(r(146))/5*(parseInt(r(145))/6)+-parseInt(r(148))/7*(-parseInt(r(147))/8)+parseInt(r(133))/9*(parseInt(r(144))/10)+-parseInt(r(139))/11*(-parseInt(r(131))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fr);class Or{static[Rr(132)](e){const t=Rr;let r=e,n=r[t(136)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(142)],0,s)}static[Rr(138)](e){const t=Rr;let r=Or[t(132)](e);const n=new Pr(r);let i="",s="",o="",a="";n.GetWord(4);let c=n[t(141)](3);if(c>6)return console[t(135)](t(143)),!1;n[t(141)](1),n[t(141)](2),n[t(141)](1),i=n[t(141)](5),n[t(141)](32),n[t(141)](1),n[t(141)](1),n[t(141)](1),n.GetWord(1),n.GetWord(44),s=n.GetWord(8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(141)](2);for(let e=0;e15)return console.warn(t(137),d),!1;let h=n[t(151)]();return h>3?(console.warn(t(130),h),!1):(3==h&&n.GetWord(1),o=n[t(151)](),a=n.GetUE(),n[t(141)](1)&&(n[t(151)](),n[t(151)](),n.GetUE(),n[t(151)]()),n[t(151)]()!=n.GetUE()?(console[t(135)](t(152)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:o,height:a},present_size:{width:"",height:a}})}}function zr(){const e=["1389680izYjcS","4:4:4","8dgiOcV","62027LRGmwG","destroy","toFixed","4:0:0","3462392vcTNkk","push","min","readSEG","3805545WSTnXo","readByte","612oDUklT","4:2:0","23694270PugBEK","9dcaHop",".B0",".1.L","4:2:2","readUEG","327430MZzeYc","readBits","readBool","1196844TeFcvg"];return(zr=function(){return e})()}!function(e,t){const r=Vr,n=e();for(;;)try{if(918793===parseInt(r(155))/1*(parseInt(r(161))/2)+parseInt(r(158))/3+parseInt(r(159))/4+parseInt(r(145))/5+parseInt(r(147))/6*(parseInt(r(162))/7)+parseInt(r(141))/8*(-parseInt(r(150))/9)+-parseInt(r(149))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zr);const Nr=e=>{let t=e,r=t.byteLength,n=new Uint8Array(r),i=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(n[i]=t[e],i++);return new Uint8Array(n.buffer,0,i)},Hr=e=>{const t=Vr;switch(e){case 0:return t(140);case 1:return t(148);case 2:return t(153);case 3:return t(160);default:return"Unknown"}};function Vr(e,t){const r=zr();return(Vr=function(e,t){return r[e-=140]})(e,t)}const jr=Wr;function Wr(e,t){const r=Gr();return(Wr=function(e,t){return r[e-=394]})(e,t)}function Gr(){const e=["getChromaFormatString","parseVPS","4708836qBGFuX","buffer","_ebsp2rbsp","41623radnVP","4:2:2","getLevelString","Main10","readBits",".1.L","399896dGVQFU","readBool","Unknown","push","readUEG","5937738qjidoV","4:4:4","58XVrfrj","min","parsePPS","MainSP","readSEG","4:2:0","1298dMWbrH","128GEQyoa",".B0","140388PqEbmf","hvc1.","SCC","230gLfVrf","215635CJbCYP","byteLength","200421okZTip","readByte","8nmHoyv","getProfileString","toFixed"];return(Gr=function(){return e})()}!function(e,t){const r=Wr,n=e();for(;;)try{if(896691===parseInt(r(409))/1*(-parseInt(r(422))/2)+parseInt(r(406))/3+-parseInt(r(429))/4*(-parseInt(r(397))/5)+parseInt(r(420))/6+parseInt(r(415))/7*(parseInt(r(401))/8)+-parseInt(r(399))/9*(parseInt(r(396))/10)+-parseInt(r(428))/11*(parseInt(r(431))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gr);class qr{static _ebsp2rbsp(e){const t=Wr;let r=e,n=r[t(398)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(407)],0,s)}static[jr(405)](e){const t=jr;let r=qr[t(408)](e),n=new nt(r);return n[t(400)](),n[t(400)](),n[t(413)](4),n[t(413)](2),n[t(413)](6),{num_temporal_layers:n[t(413)](3)+1,temporal_id_nested:n[t(416)]()}}static parseSPS(e){const t=jr;let r=qr[t(408)](e),n=new nt(r);n[t(400)](),n[t(400)]();let i=0,s=0,o=0,a=0;n[t(413)](4);let c=n[t(413)](3);n[t(416)]();let u=n[t(413)](2),l=n[t(416)](),d=n.readBits(5),h=n.readByte(),f=n[t(400)](),p=n[t(400)](),m=n.readByte(),v=n.readByte(),y=n[t(400)](),_=n[t(400)](),g=n[t(400)](),b=n[t(400)](),w=n[t(400)](),S=n[t(400)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(413)](2);for(let e=0;e1&&n[t(426)]();for(let e=0;e0&&e<=16?(F=r[e-1],R=i[e-1]):255===e&&(F=n.readBits(16),R=n[t(413)](16))}if(n[t(416)]()&&n[t(416)](),n[t(416)]()){n[t(413)](3),n.readBool(),n.readBool()&&(n[t(400)](),n[t(400)](),n[t(400)]())}if(n[t(416)]()&&(n[t(419)](),n[t(419)]()),n[t(416)](),n[t(416)](),n.readBool(),M=n.readBool(),M&&(n.readUEG(),n[t(419)](),n.readUEG(),n[t(419)]()),n[t(416)]()){if(O=n.readBits(32),z=n.readBits(32),n.readBool()&&n[t(419)](),n.readBool()){let e=!1,r=!1,i=!1;e=n.readBool(),r=n[t(416)](),(e||r)&&(i=n[t(416)](),i&&(n[t(400)](),n[t(413)](5),n[t(416)](),n[t(413)](5)),n[t(413)](4),n.readBits(4),i&&n[t(413)](4),n[t(413)](5),n.readBits(5),n[t(413)](5));for(let s=0;s<=c;s++){let s=n.readBool();L=s;let o=!0,a=1;!s&&(o=n[t(416)]());let c=!1;if(o?n.readUEG():c=n.readBool(),!c&&(a=n[t(419)]()+1),e){for(let e=0;e>6&3,n[t(574)]=e[1]>>5&1,n[t(528)]=31&e[1],n[t(482)]=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n[t(483)]=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[t(483)]=n[t(483)]<<16|e[10]<<8|e[11],n[t(546)]=e[12],n.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],n[t(473)]=3&e[15],n[t(527)]=3&e[16],n[t(561)]=7&e[17],n[t(536)]=7&e[18],n[t(591)]=e[19]<<8|e[20],n[t(493)]=e[21]>>6&3,n[t(469)]=e[21]>>3&7,n.temporalIdNested=e[21]>>2&1,n[t(489)]=3&e[21];let i=e[22],s=e[t(516)](23);for(let e=0;e0)for(let t=r;t<8;t++)e[n(535)](2);i[n(592)]=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i[n(537)]=[],i[n(584)]=[],i[n(554)]=[],i[n(464)]=[],i[n(567)]=[];for(let t=0;t{const t=Vr;let r=Nr(e),n=new nt(r);return n[t(146)](),n[t(146)](),n[t(156)](4),n[t(156)](2),n.readBits(6),{num_temporal_layers:n[t(156)](3)+1,temporal_id_nested:n[t(157)]()}})(r),a=(e=>{const t=Vr;let r=Nr(e),n=new nt(r);n.readByte(),n[t(146)]();let i=0,s=0,o=0,a=0;n[t(156)](4);let c=n[t(156)](3);n[t(157)]();let u=n[t(156)](2),l=n.readBool(),d=n[t(156)](5),h=n[t(146)](),f=n[t(146)](),p=n[t(146)](),m=n.readByte(),v=n.readByte(),y=n.readByte(),_=n[t(146)](),g=n[t(146)](),b=n.readByte(),w=n[t(146)](),S=n[t(146)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(156)](2);for(let e=0;e1&&n[t(144)]();for(let e=0;e0&&e<16?(F=r[e-1],R=i[e-1]):255===e&&(F=n[t(156)](16),R=n.readBits(16))}if(n.readBool()&&n[t(157)](),n[t(157)]()&&(n.readBits(3),n[t(157)](),n[t(157)]()&&(n.readByte(),n[t(146)](),n[t(146)]())),n.readBool()&&(n[t(154)](),n[t(154)]()),n.readBool(),n.readBool(),n[t(157)](),M=n[t(157)](),M&&(i+=n[t(154)](),s+=n[t(154)](),o+=n[t(154)](),a+=n.readUEG()),n[t(157)]()&&(O=n[t(156)](32),z=n[t(156)](32),n[t(157)]()&&(n[t(154)](),n.readBool()))){let e=!1,r=!1,i=!1;e=n[t(157)](),r=n[t(157)](),(e||r)&&(i=n[t(157)](),i&&(n[t(146)](),n.readBits(5),n[t(157)](),n[t(156)](5)),n[t(156)](4),n[t(156)](4),i&&n.readBits(4),n[t(156)](5),n.readBits(5),n[t(156)](5));for(let s=0;s<=c;s++){let s=n[t(157)]();L=s;let o=!1,a=1;!s&&(o=n[t(157)]());let c=!1;if(o?n[t(144)]():c=n[t(157)](),!c&&(cpbcnt=n.readUEG()+1),e)for(let e=0;e{const t=Vr;let r=Nr(e),n=new nt(r);n[t(146)](),n[t(146)](),n[t(154)](),n[t(154)](),n[t(157)](),n[t(157)](),n[t(156)](3),n[t(157)](),n[t(157)](),n[t(154)](),n[t(154)](),n[t(144)](),n[t(157)](),n.readBool(),n[t(157)]()&&n[t(154)](),n[t(144)](),n[t(144)](),n[t(157)](),n.readBool(),n[t(157)](),n[t(157)]();let i=n[t(157)](),s=n[t(157)](),o=1;return s&&i?o=0:s?o=3:i&&(o=2),{parallelismType:o}})(n);s=Object[t(566)](s,o,a,c);let u=23+(5+r[t(475)])+(5+i[t(475)])+(5+n[t(475)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(487)])<<6|(s.general_tier_flag?1:0)<<5|31&s[t(528)],l[2]=s[t(575)]||0,l[3]=s[t(530)]||0,l[4]=s.general_profile_compatibility_flags_3||0,l[5]=s[t(581)]||0,l[6]=s[t(531)]||0,l[7]=s[t(594)]||0,l[8]=s[t(512)]||0,l[9]=s[t(517)]||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s[t(488)]||0,l[12]=60,l[13]=240|(3840&s.min_spatial_segmentation_idc)>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s[t(473)],l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s[t(559)],l[18]=248|7&s[t(484)],l[19]=0,l[20]=0,l[21]=(3&s[t(540)])<<6|(7&s[t(600)])<<3|(s.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|Fe[t(491)],l[24]=0,l[25]=1,l[26]=(65280&r.byteLength)>>8,l[27]=(255&r.byteLength)>>0,l[t(524)](r,28),l[23+(5+r[t(475)])+0]=128|Fe[t(526)],l[23+(5+r[t(475)])+1]=0,l[23+(5+r.byteLength)+2]=1,l[23+(5+r[t(475)])+3]=(65280&i.byteLength)>>8,l[23+(5+r[t(475)])+4]=(255&i[t(475)])>>0,l[t(524)](i,23+(5+r[t(475)])+5),l[23+(5+r[t(475)]+5+i[t(475)])+0]=128|Fe[t(480)],l[23+(5+r[t(475)]+5+i[t(475)])+1]=0,l[23+(5+r[t(475)]+5+i[t(475)])+2]=1,l[23+(5+r[t(475)]+5+i[t(475)])+3]=(65280&n[t(475)])>>8,l[23+(5+r.byteLength+5+i[t(475)])+4]=(255&n.byteLength)>>0,l[t(524)](n,23+(5+r[t(475)]+5+i[t(475)])+5);const d=[28,0,0,0,0],h=new Uint8Array(d.length+l.byteLength);return h[t(524)](d,0),h.set(l,d[t(523)]),h}function en(e,t){const r=$r;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(475)]>>24&255,n[6]=e[r(475)]>>16&255,n[7]=e.byteLength>>8&255,n[8]=255&e[r(475)];const i=new Uint8Array(n[r(523)]+e.byteLength);return i[r(524)](n,0),i.set(e,n[r(523)]),i}function tn(e,t){const r=$r;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(523)]+e.byteLength);return i[r(524)](n,0),i[r(524)](e,n[r(523)]),i}function rn(e){return(126&e[0])>>1}function nn(e){return e===Fe[$r(499)]}function sn(e){return!((t=e)>=32&&t<=40);var t}function on(e){return e>=16&&e<=21}function an(e){const t=$r;if(0===e[t(523)])return!1;const r=rn(e[0]);for(let n=1;n=n[t(475)])return this[t(564)]=!0,n[t(475)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[Kr(496)](){const e=Kr;let t=this[e(596)],r=null;for(;null==r&&!this[e(564)];){let n=this[e(507)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,o=this[e(532)](n);this.currentStartcodeOffset=o,0===s&&(r={type:i,data:t[e(552)](n,o)})}return r}}class un{constructor(e){const t=Kr;let r=e[t(596)].byteLength;this[t(519)]=e[t(519)],this[t(596)]=new Uint8Array(4+r),new DataView(this[t(596)].buffer)[t(599)](0,r),this[t(596)][t(524)](e[t(596)],4)}}function ln(){var e=["Accept","6612930wHzRfZ","error","open","application/x-www-form-urlencoded; charset=UTF-8","5554434LOgQYx","onreadystatechange","parentNode","resolve","name","text","concat","split","mimeType","3186760EwCBYa","protocol","If-Modified-Since","insertBefore","$1_=","head","getElementsByTagName","abort","indexOf","documentElement","Last-Modified","prototype","ifModified","add","context","onerror","function","location","removeChild","charset","Content-Type","status","firstChild","readyState","url","length","object","content-type","xhr","contentType","546064WrLPSV","clearTimeout","overrideMimeType","dataType","parseerror","password","test","getResponseHeader","accepts","XMLHttpRequest","setTimeout","parse","If-None-Match","complete","promise","crossDomain","etag","hasOwnProperty","27sVJBvA","json","scriptCharset","username","cache","href","script","responseText","document","getTime","X-Requested-With","489vWtimT","onload","application/json, text/javascript","toString","toLowerCase","jsonp","xml","replace","beforeSend","type","toUpperCase","timeout","getJSON","headers","push","text/plain","29100oEUvFc","value","async","6819953zjRVVC","createElement","2565764JoZlIY","join","exec","data","send","getAllResponseHeaders","reject","setRequestHeader","xhrFields","ajaxSetup","call"];return(ln=function(){return e})()}var dn=Tn;!function(e,t){for(var r=Tn,n=e();;)try{if(819212===parseInt(r(331))/1+parseInt(r(276))/2+-parseInt(r(255))/3*(parseInt(r(271))/4)+parseInt(r(288))/5+-parseInt(r(292))/6+parseInt(r(274))/7+parseInt(r(301))/8*(-parseInt(r(244))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ln);var hn,fn=dn(257),pn="text/html",mn=/^(?:text|application)\/xml/i,vn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,_n=/^\s*$/,gn={},bn={},wn="",Sn={type:"GET",beforeSend:In,success:In,error:In,complete:In,context:null,xhr:function(){return new(window[dn(340)])},accepts:{json:fn,xml:"application/xml, text/xml",html:pn,text:dn(270),"*":"*/"[dn(298)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:In,contentType:dn(291)};function In(){}var An=function(e,t){var r=dn;"object"==typeof e&&(t=e,e=void 0);var n=Mn({},t=t||{});for(var i in Sn)void 0===n[i]&&(n[i]=Sn[i]);try{var s={},o=new Promise((function(e,t){var r=Tn;s[r(295)]=e,s[r(282)]=t}));o[r(295)]=s[r(295)],o[r(282)]=s[r(282)],n[r(240)]=o}catch(e){n[r(240)]={resolve:In,reject:In}}var a=yn[r(278)](window[r(318)][r(249)][r(259)]())||[];n[r(325)]=((e||n[r(325)]||window.location[r(249)])+"").replace(/#.*$/,"")[r(262)](/^\/\//,a[1]+"//");var c=n[r(325)];!n.crossDomain&&(n[r(241)]=/^([\w-]+:)?\/\/([^\/]+)/[r(337)](n[r(325)])&&RegExp.$2!==window.location.href);var u=n[r(334)];if(u===r(260)){if(!/=\?/[r(337)](n[r(325)])){var l=(n.jsonp||"callback")+"=?";n.url=Dn(n[r(325)],l)}return function(e){var t,r=dn,n=e.jsonpCallback||r(260)+Rn(),i=window[r(252)][r(275)](r(250)),s={abort:function(){n in window&&(window[n]=In)}},o=window[r(252)][r(307)](r(306))[0]||window[r(252)][r(310)];function a(n){var i=r;window[i(332)](t),s[i(308)](),Cn(n[i(264)],s,n[i(264)],e),c()}function c(){var e=r;i.clearAttributes?i.clearAttributes():i[e(256)]=i[e(293)]=i.onerror=null,i[e(294)]&&i[e(294)][e(319)](i),i=null,delete window[n]}return i[r(316)]=function(e){a(e)},window[n]=function(n){window[r(332)](t),kn(n,s,e),c()},Bn(e),i.src=e[r(325)][r(262)](/=\?/,"="+n),i.src=Dn(i.src,"_="+(new Date).getTime()),i[r(273)]=!0,e[r(246)]&&(i[r(320)]=e[r(246)]),o[r(304)](i,o[r(323)]),e[r(266)]>0&&(t=window[r(236)]((function(){var t=r;s[t(308)](),Cn(t(266),s,t(266),e),c()}),e[r(266)])),e[r(240)][r(308)]=function(){s[r(308)]()},e[r(240)][r(329)]=s,e.promise}(n)}Bn(n);var d=n[r(339)][u]||n[r(339)]["*"],h={};/^([\w-]+:)\/\//[r(337)](n[r(325)])?RegExp.$1:window.location[r(302)];var f,p=Sn.xhr();!n.crossDomain&&!h[r(254)]&&(h[r(254)]=r(340)),n[r(313)]&&(gn[c]&&(h[r(303)]=gn[c]),bn[c]&&(h[r(238)]=bn[c])),d&&(h[r(287)]=d,d[r(309)](",")>-1&&(d=d[r(299)](",",2)[0]),p[r(333)]&&p[r(333)](d));var m=!/^(?:GET|HEAD)$/.test(n[r(264)][r(265)]());if((n[r(279)]&&m&&!1!==n[r(330)]||t[r(330)])&&(h[r(321)]=n[r(330)]),!1===n[r(248)]&&!m){var v=/([?&])_=[^&]*/;n[r(325)]=v[r(337)](c)?c.replace(v,r(305)+Rn()):c+(/\?/[r(337)](c)?"&":"?")+"_="+Rn()}n[r(268)]=Mn(h,n[r(268)]||{}),p[r(293)]=function(){var e,t,i=r;if(4===p[i(324)]){clearTimeout(f);var s,o=!1;if(p[i(322)]>=200&&p[i(322)]<300||304===p[i(322)]){if(wn=p[i(281)](),n.ifModified){var a=xn(i(311));a&&(gn[c]=a),(a=xn(i(242)))&&(bn[c]=a)}u=u||(e=p[i(338)](i(328)),t=dn,e&&(e===pn?"html":e===fn?t(245):mn[t(337)](e)&&t(261))||t(297)),s=p[i(251)];try{"xml"===u?s=p.responseXML:u===i(245)&&(s=_n[i(337)](s)?null:JSON[i(237)](s))}catch(e){o=e}o?Cn(o,i(335),p,n):kn(s,p,n)}else Cn(null,i(289),p,n)}};var y=!(r(273)in n)||n[r(273)];if(p[r(290)](n[r(264)],n.url,y,n[r(247)],n[r(336)]),n[r(284)])for(var _ in n[r(284)])p[_]=n[r(284)][_];for(var _ in n[r(300)]&&p[r(333)]&&p[r(333)](n[r(300)]),n[r(268)])void 0!==n[r(268)][_]&&p[r(283)](_,n.headers[_]+"");return!1===function(e,t){var r=dn,n=t[r(315)];if(!1===t[r(263)][r(286)](n,e,t))return!1}(p,n)?(p[r(308)](),!1):(n[r(266)]>0&&(f=window[r(236)]((function(){p.onreadystatechange=In,p.abort(),Cn(null,"timeout",p,n)}),n.timeout)),p[r(280)](n[r(279)]?n[r(279)]:null),n[r(240)][r(308)]=function(){p.abort()},n[r(240)])};function kn(e,t,r){var n=dn,i=r.context,s="success";r.success[n(286)](i,e,s,t),r[n(240)][n(295)](e,s,t),En(s,t,r)}function En(e,t,r){var n=dn,i=r[n(315)];r[n(239)][n(286)](i,t,e)}function Cn(e,t,r,n){var i=dn,s=n.context;n[i(289)].call(s,r,t,e),n[i(240)][i(282)](r,t,e),En(t,r,n)}function xn(e){var t,r=dn;if(!hn){for(hn={};t=vn.exec(wn);)hn[t[1][r(259)]()]=t[2];t=hn[e.toLowerCase()]}return null===t?null:t}function Tn(e,t){var r=ln();return(Tn=function(e,t){return r[e-=236]})(e,t)}function Dn(e,t){return(e+"&"+t)[dn(262)](/[&?]{1,2}/,"?")}function Bn(e){var t,r,n,i,s=dn;Pn(e)&&!(e.data instanceof FormData)&&e.processData&&(e[s(279)]=(t=e[s(279)],(i=[])[(n=dn)(314)]=function(e,t){this[n(269)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Un(i,t,r),i[n(277)]("&")[n(262)]("%20","+"))),e[s(279)]&&(!e[s(264)]||"GET"===e[s(264)][s(265)]())&&(e[s(325)]=Dn(e[s(325)],e[s(279)]))}function Un(e,t,r,n){var i,s,o=dn,a=(i=t,s=dn,"[object Array]"===Object.prototype[s(258)][s(286)](i));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(a?"":c)+"]"),!n&&a?e.add(u[o(296)],u[o(272)]):(r?a(u):Pn(u))?Un(e,u,r,c):e[o(314)](c,u)}}function Mn(e){for(var t=dn,r=Array[t(312)].slice,n=r[t(286)](arguments,1),i=0,s=n[t(326)];i255)return!1;return!0}function Nn(e,t){var r=Vn;if(e[r(493)]&&"Uint8Array"===e.name)return t&&(e=e.slice?e[r(517)]():Array[r(500)].slice.call(e)),e;if(Array.isArray(e)){if(!zn(e))throw new Error(r(487)+e);return new Uint8Array(e)}if(On(e.length)&&zn(e))return new Uint8Array(e);throw new Error(r(476))}function Hn(e){return new Uint8Array(e)}function Vn(e,t){var r=yi();return(Vn=function(e,t){return r[e-=468]})(e,t)}function jn(e,t,r,n,i){var s=Vn;(null!=n||null!=i)&&(e=e[s(517)]?e[s(517)](n,i):Array.prototype[s(517)][s(482)](e,n,i)),t[s(506)](e,r)}!function(e,t){for(var r=Vn,n=e();;)try{if(366748===parseInt(r(504))/1*(-parseInt(r(484))/2)+parseInt(r(490))/3*(parseInt(r(521))/4)+parseInt(r(497))/5+-parseInt(r(514))/6*(-parseInt(r(530))/7)+-parseInt(r(471))/8+parseInt(r(519))/9+-parseInt(r(473))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yi);var Wn,Gn,qn={toBytes:function(e){var t=Vn,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(512)](String[t(483)]((31&i)<<6|63&e[n+1])),n+=2):(r[t(512)](String[t(483)]((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r[t(477)]("")}},$n=(Gn=(Wn=Vn)(480),{toBytes:function(e){for(var t=Vn,r=[],n=0;n>4]+Gn[15&i])}return r[t(477)]("")}}),Kn={16:10,24:12,32:14},Yn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Xn=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Jn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Zn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Qn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ei=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],ti=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ri=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],ni=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],ii=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],si=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],oi=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ai=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ci=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],ui=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function li(e){for(var t=Vn,r=[],n=0;n>2,this[e(507)][n][r%4]=o[r],this[e(474)][t-n][r%4]=o[r];for(var a,c=0,u=s;u>16&255]<<24^Xn[a>>8&255]<<16^Xn[255&a]<<8^Xn[a>>24&255]^Yn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Xn[a>>16&255]<<16^Xn[a>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this[e(507)][l][d]=o[r],this[e(474)][t-l][d]=o[r++],u++}for(var l=1;l>24&255]^ai[a>>16&255]^ci[a>>8&255]^ui[255&a]},di[Ln(500)][Ln(501)]=function(e){var t=Ln;if(16!=e[t(502)])throw new Error(t(491));for(var r=this._Ke[t(502)]-1,n=[0,0,0,0],i=li(e),s=0;s<4;s++)i[s]^=this[t(507)][0][s];for(var o=1;o>24&255]^Qn[i[(s+1)%4]>>16&255]^ei[i[(s+2)%4]>>8&255]^ti[255&i[(s+3)%4]]^this[t(507)][o][s];i=n[t(517)]()}var a,c=Hn(16);for(s=0;s<4;s++)a=this[t(507)][r][s],c[4*s]=255&(Xn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Xn[i[(s+1)%4]>>16&255]^a>>16),c[4*s+2]=255&(Xn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Xn[255&i[(s+3)%4]]^a);return c},di[Ln(500)][Ln(508)]=function(e){var t=Ln;if(16!=e[t(502)])throw new Error(t(532));for(var r=this._Kd.length-1,n=[0,0,0,0],i=li(e),s=0;s<4;s++)i[s]^=this[t(474)][0][s];for(var o=1;o>24&255]^ni[i[(s+3)%4]>>16&255]^ii[i[(s+2)%4]>>8&255]^si[255&i[(s+1)%4]]^this[t(474)][o][s];i=n.slice()}var a,c=Hn(16);for(s=0;s<4;s++)a=this[t(474)][r][s],c[4*s]=255&(Jn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Jn[i[(s+3)%4]>>16&255]^a>>16),c[4*s+2]=255&(Jn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Jn[255&i[(s+1)%4]]^a);return c};var hi=function(e){var t=Ln;if(!(this instanceof hi))throw Error(t(528));this[t(522)]=t(498),this[t(485)]="ecb",this[t(526)]=new di(e)};hi[Ln(500)][Ln(501)]=function(e){var t=Ln;if((e=Nn(e))[t(502)]%16!=0)throw new Error(t(503));for(var r=Hn(e[t(502)]),n=Hn(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error(t(479));for(var r=15;r>=0;--r)this[t(478)][r]=e%256,e=parseInt(e/256)},vi.prototype.setBytes=function(e){var t=Ln;if(16!=(e=Nn(e,!0))[t(502)])throw new Error("invalid counter bytes size (must be 16 bytes)");this[t(478)]=e},vi[Ln(500)][Ln(468)]=function(){for(var e=Ln,t=15;t>=0;t--){if(255!==this._counter[t]){this[e(478)][t]++;break}this[e(478)][t]=0}};var _i=function(e,t){var r=Ln;if(!(this instanceof _i))throw Error(r(528));this.description=r(533),this[r(485)]=r(486),!(t instanceof vi)&&(t=new vi(t)),this[r(478)]=t,this[r(520)]=null,this[r(511)]=16,this[r(526)]=new di(e)};_i.prototype.encrypt=function(e){for(var t=Ln,r=Nn(e,!0),n=0;n16)throw new Error(t(492));for(var n=e[t(502)]-r,i=0;i>>2]>>>24-a%4*8&255;r[s+a>>>2]|=c<<24-(s+a)%4*8}else for(var u=0;u>>2]=n[u>>>2];return this[t(478)]+=o,this},clamp:function(){var t=i,r=this[t(449)],n=this.sigBytes;r[n>>>2]&=4294967295<<32-n%4*8,r[t(459)]=e[t(463)](n/4)},clone:function(){var e=i,t=u[e(453)].call(this);return t[e(449)]=this[e(449)].slice(0),t},random:function(e){for(var t=i,r=[],n=0;n>>2]>>>24-o%4*8&255;s[t(479)]((a>>>4)[t(493)](16)),s.push((15&a).toString(16))}return s.join("")},parse:function(e){for(var t=i,r=e.length,n=[],s=0;s>>3]|=parseInt(e[t(443)](s,2),16)<<24-s%8*4;return new(l[t(502)])(n,r/2)}},f=d.Latin1={stringify:function(e){for(var t=i,r=e.words,n=e[t(478)],s=[],o=0;o>>2]>>>24-o%4*8&255;s[t(479)](String[t(475)](a))}return s.join("")},parse:function(e){for(var t=i,r=e[t(459)],n=[],s=0;s>>2]|=(255&e[t(474)](s))<<24-s%4*8;return new(l[t(502)])(n,r)}},p=d[i(482)]={stringify:function(e){var t=i;try{return decodeURIComponent(escape(f[t(457)](e)))}catch(e){throw new Error(t(491))}},parse:function(e){return f[i(483)](unescape(encodeURIComponent(e)))}},m=c[i(480)]=u[i(447)]({reset:function(){var e=i;this[e(492)]=new(l[e(502)]),this._nDataBytes=0},_append:function(e){var t=i;typeof e==t(444)&&(e=p[t(483)](e)),this[t(492)][t(452)](e),this[t(503)]+=e[t(478)]},_process:function(t){var r,n=i,s=this[n(492)],o=s[n(449)],a=s[n(478)],c=this[n(486)],u=a/(4*c),d=(u=t?e[n(463)](u):e[n(448)]((0|u)-this[n(433)],0))*c,h=e[n(472)](4*d,a);if(d){for(var f=0;f>>2]|=e[o]<<24-o%4*8;n.call(this,s,i)}else n.apply(this,arguments)};i[t(291)]=r}}(),e[t(280)].WordArray},(i=xi)(293)==i(293)?e.exports=n(Si):"undefined"===i(290)&&(void 0)[i(300)]?(void 0)(["./core"],n):n(r[i(295)])}));function Ti(e,t){var r=Bi();return(Ti=function(e,t){return r[e-=320]})(e,t)}var Di=Ti;function Bi(){var e=["2CEQoXD","exports","Utf16BE","5475400gpauOE","length","116562hhyNje","function","charCodeAt","amd","80RKSERl","join","words","33RRLgIO","sigBytes","711801rcFlpQ","7CNkAGw","createCommonjsModule","Utf16","object","create","push","CryptoJS","12390111QCEJUO","fromCharCode","866848YCNVdS","./core","918763ooqlzA","commonjsGlobal","172660PSaVOD"];return(Bi=function(){return e})()}!function(e,t){for(var r=Ti,n=e();;)try{if(859114===parseInt(r(320))/1*(parseInt(r(323))/2)+parseInt(r(337))/3+-parseInt(r(332))/4*(parseInt(r(322))/5)+parseInt(r(328))/6*(parseInt(r(338))/7)+parseInt(r(347))/8+-parseInt(r(345))/9+-parseInt(r(326))/10*(-parseInt(r(335))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Bi);Qe[Di(339)]((function(e,t){var r,n,i,s=Di;r=Qe[s(321)],n=function(e){var t=s;return function(){var t=Ti,r=e,n=r.lib.WordArray,i=r.enc;function s(e){return e<<8&4278255360|e>>>8&16711935}i[t(340)]=i[t(325)]={stringify:function(e){for(var r=t,n=e[r(334)],i=e.sigBytes,s=[],o=0;o>>2]>>>16-o%4*8&65535;s[r(343)](String.fromCharCode(a))}return s[r(333)]("")},parse:function(e){for(var r=t,i=e.length,s=[],o=0;o>>1]|=e[r(330)](o)<<16-o%2*16;return n.create(s,2*i)}},i.Utf16LE={stringify:function(e){for(var r=t,n=e[r(334)],i=e[r(336)],o=[],a=0;a>>2]>>>16-a%4*8&65535);o.push(String[r(346)](c))}return o[r(333)]("")},parse:function(e){for(var r=t,i=e[r(327)],o=[],a=0;a>>1]|=s(e[r(330)](a)<<16-a%2*16);return n[r(342)](o,2*i)}}}(),e.enc[t(340)]},"object"===(i=Ti)(341)?e[i(324)]=n(Si):"undefined"===i(329)&&(void 0)[i(331)]?(void 0)([i(348)],n):n(r[i(344)])}));function Ui(){var e=["words","push","commonjsGlobal","charAt","_reverseMap","7697898qpqmIY","object","1248RVbJlG","sigBytes","exports","amd","1595118qAbpaA","327468RZwzOl","lib","28659WvhZry","3lMKnFA","17658ixIGhn","charCodeAt","191280VmgJOG","join","indexOf","253rpNcxV","length","15lwocJy","./core","_map","248ZEtwsQ","enc","clamp","function","CryptoJS","24RlwfPa","126330HpfZYA","Base64"];return(Ui=function(){return e})()}function Mi(e,t){var r=Ui();return(Mi=function(e,t){return r[e-=248]})(e,t)}!function(e,t){for(var r=Mi,n=e();;)try{if(346435===parseInt(r(258))/1*(parseInt(r(261))/2)+-parseInt(r(257))/3*(parseInt(r(269))/4)+parseInt(r(266))/5*(-parseInt(r(255))/6)+parseInt(r(254))/7+-parseInt(r(250))/8*(parseInt(r(259))/9)+-parseInt(r(275))/10*(parseInt(r(264))/11)+parseInt(r(274))/12*(parseInt(r(248))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ui);Ze((function(e,t){var r,n,i,s=Mi;r=Qe[s(279)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=Mi)(256)].WordArray,r.enc[t(276)]={stringify:function(e){var r=t,n=e[r(277)],i=e[r(251)],s=this[r(268)];e[r(271)]();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(n[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|n[a+2>>>2]>>>24-(a+2)%4*8&255,u=0;u<4&&a+.75*u>>6*(3-u)&63));var l=s[r(280)](64);if(l)for(;o[r(265)]%4;)o[r(278)](l);return o[r(262)]("")},parse:function(e){var r=t,i=e[r(265)],s=this[r(268)],o=this[r(281)];if(!o){o=this[r(281)]=[];for(var a=0;a>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n.create(o,a)}(e,i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},e[i(270)][i(276)]},(i=Mi)(249)==i(249)?e[i(252)]=n(Si):"undefined"===i(272)&&(void 0)[i(253)]?(void 0)([i(267)],n):n(r[i(273)])}));!function(e,t){for(var r=Pi,n=e();;)try{if(895305===parseInt(r(162))/1*(-parseInt(r(166))/2)+-parseInt(r(165))/3+parseInt(r(169))/4+parseInt(r(186))/5*(-parseInt(r(161))/6)+-parseInt(r(170))/7*(-parseInt(r(160))/8)+parseInt(r(167))/9*(parseInt(r(175))/10)+parseInt(r(158))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fi);Ze((function(e,t){var r,n,i;r=Je,n=function(e){var t,r,n,i=Pi;return n=(r=e)[(t=Pi)(176)].WordArray,r[t(179)][t(188)]={stringify:function(e,r){var n=t;void 0===r&&(r=!0);var i=e[n(174)],s=e[n(184)],o=r?this[n(178)]:this[n(159)];e.clamp();for(var a=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=o[n(156)](64);if(d)for(;a.length%4;)a[n(173)](d);return a[n(181)]("")},parse:function(e,r){var i=t;void 0===r&&(r=!0);var s=e[i(168)],o=r?this[i(178)]:this._map,a=this[i(185)];if(!a){a=this._reverseMap=[];for(var c=0;c>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n[s(177)](o,a)}(e,s,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:t(163)},e[i(179)].Base64url},(i=Pi)(157)==i(157)?e[i(187)]=n(Si):"undefined"===i(171)&&(void 0)[i(164)]?(void 0)([i(183)],n):n(r[i(172)])}));function Pi(e,t){var r=Fi();return(Pi=function(e,t){return r[e-=156]})(e,t)}function Fi(){var e=["length","1727140TBtAIN","11221LXwOGo","function","CryptoJS","push","words","113830qZXVve","lib","create","_safe_map","enc","charCodeAt","join","indexOf","./core","sigBytes","_reverseMap","6635WXzpib","exports","Base64url","charAt","object","7320500SWsAak","_map","4368RPwmxC","1698QXaWlU","8916YhZLqX","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","amd","3322695xWyWXX","246GEcyTX","1188RjgRXi"];return(Fi=function(){return e})()}var Ri=Oi;function Li(){var e=["486XinpUB","function","_data","sigBytes","_process","5FoFsql","abs","_hash","115308rEBTHy","22576bbVIiz","object","floor","_createHelper","./core","algo","151djkdLv","createCommonjsModule","3370lZlDhu","sin","words","220872jnJFxH","506500bjpQRV","2878014VnvWTg","HmacMD5","length","693eLlDHC","_createHmacHelper","51860cCfKXs","extend","MD5","WordArray","clone","Hasher","init","231IyBTRf","_nDataBytes","call","CryptoJS","lib"];return(Li=function(){return e})()}!function(e,t){for(var r=Oi,n=e();;)try{if(301658===parseInt(r(314))/1*(parseInt(r(316))/2)+-parseInt(r(319))/3+-parseInt(r(320))/4+-parseInt(r(304))/5*(-parseInt(r(321))/6)+parseInt(r(294))/7*(parseInt(r(308))/8)+parseInt(r(299))/9*(parseInt(r(326))/10)+-parseInt(r(324))/11*(parseInt(r(307))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Li);Qe[Ri(315)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Oi;return function(t){var r=Oi,n=e,i=n[r(298)],s=i[r(290)],o=i[r(292)],a=n[r(313)],c=[];!function(){for(var e=r,n=0;n<64;n++)c[n]=4294967296*t[e(305)](t[e(317)](n+1))|0}();var u=a.MD5=o[r(327)]({_doReset:function(){var e=r;this[e(306)]=new(s[e(293)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a=this._hash[n(318)],u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],y=e[t+4],_=e[t+5],g=e[t+6],b=e[t+7],w=e[t+8],S=e[t+9],I=e[t+10],A=e[t+11],k=e[t+12],E=e[t+13],C=e[t+14],x=e[t+15],T=a[0],D=a[1],B=a[2],U=a[3];T=l(T,D,B,U,u,7,c[0]),U=l(U,T,D,B,p,12,c[1]),B=l(B,U,T,D,m,17,c[2]),D=l(D,B,U,T,v,22,c[3]),T=l(T,D,B,U,y,7,c[4]),U=l(U,T,D,B,_,12,c[5]),B=l(B,U,T,D,g,17,c[6]),D=l(D,B,U,T,b,22,c[7]),T=l(T,D,B,U,w,7,c[8]),U=l(U,T,D,B,S,12,c[9]),B=l(B,U,T,D,I,17,c[10]),D=l(D,B,U,T,A,22,c[11]),T=l(T,D,B,U,k,7,c[12]),U=l(U,T,D,B,E,12,c[13]),B=l(B,U,T,D,C,17,c[14]),T=d(T,D=l(D,B,U,T,x,22,c[15]),B,U,p,5,c[16]),U=d(U,T,D,B,g,9,c[17]),B=d(B,U,T,D,A,14,c[18]),D=d(D,B,U,T,u,20,c[19]),T=d(T,D,B,U,_,5,c[20]),U=d(U,T,D,B,I,9,c[21]),B=d(B,U,T,D,x,14,c[22]),D=d(D,B,U,T,y,20,c[23]),T=d(T,D,B,U,S,5,c[24]),U=d(U,T,D,B,C,9,c[25]),B=d(B,U,T,D,v,14,c[26]),D=d(D,B,U,T,w,20,c[27]),T=d(T,D,B,U,E,5,c[28]),U=d(U,T,D,B,m,9,c[29]),B=d(B,U,T,D,b,14,c[30]),T=h(T,D=d(D,B,U,T,k,20,c[31]),B,U,_,4,c[32]),U=h(U,T,D,B,w,11,c[33]),B=h(B,U,T,D,A,16,c[34]),D=h(D,B,U,T,C,23,c[35]),T=h(T,D,B,U,p,4,c[36]),U=h(U,T,D,B,y,11,c[37]),B=h(B,U,T,D,b,16,c[38]),D=h(D,B,U,T,I,23,c[39]),T=h(T,D,B,U,E,4,c[40]),U=h(U,T,D,B,u,11,c[41]),B=h(B,U,T,D,v,16,c[42]),D=h(D,B,U,T,g,23,c[43]),T=h(T,D,B,U,S,4,c[44]),U=h(U,T,D,B,k,11,c[45]),B=h(B,U,T,D,x,16,c[46]),T=f(T,D=h(D,B,U,T,m,23,c[47]),B,U,u,6,c[48]),U=f(U,T,D,B,b,10,c[49]),B=f(B,U,T,D,C,15,c[50]),D=f(D,B,U,T,_,21,c[51]),T=f(T,D,B,U,k,6,c[52]),U=f(U,T,D,B,v,10,c[53]),B=f(B,U,T,D,I,15,c[54]),D=f(D,B,U,T,p,21,c[55]),T=f(T,D,B,U,w,6,c[56]),U=f(U,T,D,B,x,10,c[57]),B=f(B,U,T,D,g,15,c[58]),D=f(D,B,U,T,E,21,c[59]),T=f(T,D,B,U,y,6,c[60]),U=f(U,T,D,B,A,10,c[61]),B=f(B,U,T,D,m,15,c[62]),D=f(D,B,U,T,S,21,c[63]),a[0]=a[0]+T|0,a[1]=a[1]+D|0,a[2]=a[2]+B|0,a[3]=a[3]+U|0},_doFinalize:function(){var e=r,n=this[e(301)],i=n.words,s=8*this[e(295)],o=8*n[e(302)];i[o>>>5]|=128<<24-o%32;var a=t[e(310)](s/4294967296),c=s;i[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(o+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n[e(302)]=4*(i[e(323)]+1),this[e(303)]();for(var u=this[e(306)],l=u[e(318)],d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return u},clone:function(){var e=r,t=o[e(291)][e(296)](this);return t[e(306)]=this[e(306)][e(291)](),t}});function l(e,t,r,n,i,s,o){var a=e+(t&r|~t&n)+i+o;return(a<>>32-s)+t}function d(e,t,r,n,i,s,o){var a=e+(t&n|r&~n)+i+o;return(a<>>32-s)+t}function h(e,t,r,n,i,s,o){var a=e+(t^r^n)+i+o;return(a<>>32-s)+t}function f(e,t,r,n,i,s,o){var a=e+(r^(t|~n))+i+o;return(a<>>32-s)+t}n[r(289)]=o[r(311)](u),n[r(322)]=o[r(325)](u)}(Math),e[t(289)]},"object"===(i=Oi)(309)?e.exports=n(Si):"undefined"===i(300)&&(void 0).amd?(void 0)([i(312)],n):n(r[i(297)])}));function Oi(e,t){var r=Li();return(Oi=function(e,t){return r[e-=289]})(e,t)}function zi(e,t){var r=Ni();return(zi=function(e,t){return r[e-=212]})(e,t)}!function(e,t){for(var r=zi,n=e();;)try{if(720625===parseInt(r(222))/1+parseInt(r(242))/2+-parseInt(r(225))/3+parseInt(r(234))/4*(parseInt(r(239))/5)+-parseInt(r(220))/6+parseInt(r(216))/7*(parseInt(r(237))/8)+parseInt(r(236))/9*(-parseInt(r(230))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ni);Ze((function(e,t){var r,n,i;r=Je,n=function(e){var t,r,n,i,s,o,a,c,u=zi;return n=(r=e)[(t=zi)(213)],i=n[t(232)],s=n[t(240)],o=r[t(227)],a=[],c=o[t(229)]=s.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(243)][n(241)],s=i[0],o=i[1],c=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)a[d]=0|e[r+d];else{var h=a[d-3]^a[d-8]^a[d-14]^a[d-16];a[d]=h<<1|h>>>31}var f=(s<<5|s>>>27)+l+a[d];f+=d<20?1518500249+(o&c|~o&u):d<40?1859775393+(o^c^u):d<60?(o&c|o&u|c&u)-1894007588:(o^c^u)-899497514,l=u,u=c,c=o<<30|o>>>2,o=s,s=f}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+c|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(228)],n=r.words,i=8*this[e(212)],s=8*r[e(226)];return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math[e(231)](i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(226)]=4*n[e(215)],this[e(233)](),this[e(243)]},clone:function(){var e=t,r=s[e(218)][e(217)](this);return r._hash=this[e(243)].clone(),r}}),r[t(229)]=s[t(235)](c),r[t(214)]=s._createHmacHelper(c),e[u(229)]},(i=zi)(238)==i(238)?e[i(223)]=n(Si):"undefined"===i(219)&&(void 0).amd?(void 0)([i(221)],n):n(r[i(224)])}));function Ni(){var e=["SHA1","10qXZMGU","floor","WordArray","_process","1771372DivozJ","_createHelper","2701953VmoPbz","174872NJhpfP","object","15FYQJKD","Hasher","words","1256662grtlev","_hash","_nDataBytes","lib","HmacSHA1","length","119pjYmgz","call","clone","function","4609662DvGoDa","./core","807813NJnxqZ","exports","CryptoJS","4041471lkScen","sigBytes","algo","_data"];return(Ni=function(){return e})()}var Hi=ji;function Vi(){var e=["10KHHrJI","1687268rdVHTQ","sigBytes","2jZsLMH","call","function","./core","_createHmacHelper","_nDataBytes","1918944ObLolh","3188742OsxLny","_process","object","clone","8rARKCq","1452939oxAfqF","algo","amd","SHA256","createCommonjsModule","628032SYlZTA","WordArray","_data","_createHelper","_hash","9118890CWacfv","extend","lib","words","1881943CPgxZZ","slice"];return(Vi=function(){return e})()}function ji(e,t){var r=Vi();return(ji=function(e,t){return r[e-=234]})(e,t)}!function(e,t){for(var r=ji,n=e();;)try{if(593510===parseInt(r(236))/1+-parseInt(r(250))/2*(-parseInt(r(262))/3)+parseInt(r(248))/4*(-parseInt(r(247))/5)+-parseInt(r(257))/6+-parseInt(r(245))/7*(parseInt(r(261))/8)+parseInt(r(256))/9+parseInt(r(241))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vi);Qe[Hi(235)]((function(e,t){var r,n,i;r=Je,n=function(e){return function(t){var r=ji,n=e,i=n[r(243)],s=i[r(237)],o=i.Hasher,a=n[r(263)],c=[],u=[];!function(){function e(e){for(var r=t.sqrt(e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)e(n)&&(i<8&&(c[i]=r(t.pow(n,.5))),u[i]=r(t.pow(n,1/3)),i++),n++}();var l=[],d=a.SHA256=o[r(242)]({_doReset:function(){var e=r;this._hash=new s.init(c[e(246)](0))},_doProcessBlock:function(e,t){for(var n=r,i=this[n(240)][n(244)],s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=0;m<64;m++){if(m<16)l[m]=0|e[t+m];else{var v=l[m-15],y=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,_=l[m-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[m]=y+l[m-7]+g+l[m-16]}var b=s&o^s&a^o&a,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),S=p+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&h^~d&f)+u[m]+l[m];p=f,f=h,h=d,d=c+S|0,c=a,a=o,o=s,s=S+(w+b)|0}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0,i[5]=i[5]+h|0,i[6]=i[6]+f|0,i[7]=i[7]+p|0},_doFinalize:function(){var e=r,n=this[e(238)],i=n[e(244)],s=8*this[e(255)],o=8*n[e(249)];return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t.floor(s/4294967296),i[15+(o+64>>>9<<4)]=s,n[e(249)]=4*i.length,this[e(258)](),this[e(240)]},clone:function(){var e=r,t=o[e(260)][e(251)](this);return t[e(240)]=this[e(240)][e(260)](),t}});n[r(234)]=o[r(239)](d),n.HmacSHA256=o[r(254)](d)}(Math),e.SHA256},(i=ji)(259)==i(259)?e.exports=n(Si):"undefined"===i(252)&&(void 0)[i(264)]?(void 0)([i(253)],n):n(r.CryptoJS)}));var Wi=Gi;function Gi(e,t){var r=qi();return(Gi=function(e,t){return r[e-=101]})(e,t)}function qi(){var e=["lib","extend","CryptoJS","5631vQdVJQ","./core","19456610rVaeYJ","call","16639tzzddS","300ADwJxz","createCommonjsModule","commonjsGlobal","1153568iZWTUH","exports","sigBytes","init","_hash","SHA256","amd","SHA224","_createHelper","90702yPJEbR","HmacSHA224","1432075fMmNSD","_createHmacHelper","_doFinalize","6428925RsMyNa","458pRdMCv","./sha256","object","1544VFqpPZ"];return(qi=function(){return e})()}!function(e,t){for(var r=Gi,n=e();;)try{if(965745===-parseInt(r(129))/1+-parseInt(r(103))/2*(-parseInt(r(110))/3)+parseInt(r(118))/4+parseInt(r(115))/5*(parseInt(r(127))/6)+parseInt(r(114))/7*(-parseInt(r(106))/8)+-parseInt(r(102))/9+parseInt(r(112))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qi);Qe[Wi(116)]((function(e,t){var r,n,i,s=Wi;r=Qe[s(117)],n=function(e){var t,r,n,i,o,a,c=s;return n=(r=e)[(t=Gi)(107)].WordArray,i=r.algo,o=i[t(123)],a=i[t(125)]=o[t(108)]({_doReset:function(){var e=t;this[e(122)]=new(n[e(121)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=o[e(101)][e(113)](this);return r[e(120)]-=4,r}}),r[t(125)]=o[t(126)](a),r[t(128)]=o[t(130)](a),e[c(125)]},"object"===(i=Gi)(105)?e[i(119)]=n(Si):n(r[i(109)])}));function $i(){var e=["SHA512","WordArray","sigBytes","extend","2397irWNGl","491528lInYRG","11894787WhqRSj","algo","createCommonjsModule","6484776GeDvqX","call","./core","clone","high","low","apply","_data","create","words","length","toX32","lib","floor","18KDJNPY","261019Ebtgwz","x64","init","_nDataBytes","commonjsGlobal","_hash","584017aZqfjh","202RdpIGe","298200UjuBIv","CryptoJS","Word","object"];return($i=function(){return e})()}function Ki(e,t){var r=$i();return(Ki=function(e,t){return r[e-=274]})(e,t)}var Yi=Ki;!function(e,t){for(var r=Ki,n=e();;)try{if(482863===-parseInt(r(274))/1+-parseInt(r(281))/2*(parseInt(r(290))/3)+parseInt(r(291))/4+-parseInt(r(282))/5+parseInt(r(309))/6*(parseInt(r(280))/7)+-parseInt(r(295))/8+parseInt(r(292))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($i);Qe[Yi(294)]((function(e,t){var r,n,i,s=Yi;r=Qe[s(278)],n=function(e){var t=s;return function(){var t=Ki,r=e,n=r[t(307)].Hasher,i=r[t(275)],s=i[t(284)],o=i[t(287)],a=r[t(293)];function c(){var e=t;return s[e(303)][e(301)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=a[t(286)]=n[t(289)]({_doReset:function(){var e=t;this[e(279)]=new o.init([new(s[e(276)])(1779033703,4089235720),new(s[e(276)])(3144134277,2227873595),new(s[e(276)])(1013904242,4271175723),new(s[e(276)])(2773480762,1595750129),new(s[e(276)])(1359893119,2917565137),new s.init(2600822924,725511199),new(s[e(276)])(528734635,4215389547),new(s[e(276)])(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(279)][n(304)],s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=s[n(299)],v=s[n(300)],y=o[n(299)],_=o.low,g=a[n(299)],b=a.low,w=c.high,S=c[n(300)],I=d[n(299)],A=d[n(300)],k=h.high,E=h[n(300)],C=f.high,x=f[n(300)],T=p.high,D=p[n(300)],B=m,U=v,M=y,P=_,F=g,R=b,L=w,O=S,z=I,N=A,H=k,V=E,j=C,W=x,G=T,q=D,$=0;$<80;$++){var K,Y,X=l[$];if($<16)Y=X[n(299)]=0|e[r+2*$],K=X[n(300)]=0|e[r+2*$+1];else{var J=l[$-15],Z=J.high,Q=J[n(300)],ee=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^Z>>>7,te=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^(Q>>>7|Z<<25),re=l[$-2],ne=re[n(299)],ie=re[n(300)],se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,oe=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),ae=l[$-7],ce=ae[n(299)],ue=ae[n(300)],le=l[$-16],de=le[n(299)],he=le[n(300)];Y=(Y=(Y=ee+ce+((K=te+ue)>>>0>>0?1:0))+se+((K+=oe)>>>0>>0?1:0))+de+((K+=he)>>>0>>0?1:0),X[n(299)]=Y,X[n(300)]=K}var fe,pe=z&H^~z&j,me=N&V^~N&W,ve=B&M^B&F^M&F,ye=U&P^U&R^P&R,_e=(B>>>28|U<<4)^(B<<30|U>>>2)^(B<<25|U>>>7),ge=(U>>>28|B<<4)^(U<<30|B>>>2)^(U<<25|B>>>7),be=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),we=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),Se=u[$],Ie=Se[n(299)],Ae=Se.low,ke=G+be+((fe=q+we)>>>0>>0?1:0),Ee=ge+ye;G=j,q=W,j=H,W=V,H=z,V=N,z=L+(ke=(ke=(ke=ke+pe+((fe+=me)>>>0>>0?1:0))+Ie+((fe+=Ae)>>>0>>0?1:0))+Y+((fe+=K)>>>0>>0?1:0))+((N=O+fe|0)>>>0>>0?1:0)|0,L=F,O=R,F=M,R=P,M=B,P=U,B=ke+(_e+ve+(Ee>>>0>>0?1:0))+((U=fe+Ee|0)>>>0>>0?1:0)|0}v=s[n(300)]=v+U,s[n(299)]=m+B+(v>>>0>>0?1:0),_=o[n(300)]=_+P,o[n(299)]=y+M+(_>>>0

      >>0?1:0),b=a[n(300)]=b+R,a.high=g+F+(b>>>0>>0?1:0),S=c[n(300)]=S+O,c[n(299)]=w+L+(S>>>0>>0?1:0),A=d[n(300)]=A+N,d[n(299)]=I+z+(A>>>0>>0?1:0),E=h[n(300)]=E+V,h.high=k+H+(E>>>0>>0?1:0),x=f[n(300)]=x+W,f[n(299)]=C+j+(x>>>0>>0?1:0),D=p[n(300)]=D+q,p[n(299)]=T+G+(D>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this[e(302)],n=r.words,i=8*this[e(277)],s=8*r[e(288)];return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(308)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(288)]=4*n[e(305)],this._process(),this[e(279)][e(306)]()},clone:function(){var e=t,r=n[e(298)][e(296)](this);return r[e(279)]=this[e(279)][e(298)](),r},blockSize:32});r[t(286)]=n._createHelper(d),r.HmacSHA512=n._createHmacHelper(d)}(),e[t(286)]},(i=Ki)(285)==i(285)?e.exports=n(Si):n(r[i(283)])}));function Xi(){var e=["5301664xzSbbG","398228SCTNls","SHA384","_createHmacHelper","CryptoJS","function","SHA512","x64","extend","3UZCxzy","exports","./core","_hash","object","631288hUyVKG","algo","_doFinalize","Word","./sha512","HmacSHA384","amd","6871836dHdDaJ","5RLvuAz","_createHelper","2Uoarfx","6677426UsOAXu","sigBytes","WordArray","28258680JuFykS","init","./x64-core","6446655sFtGnr"];return(Xi=function(){return e})()}!function(e,t){for(var r=Ji,n=e();;)try{if(858626===-parseInt(r(135))/1*(parseInt(r(144))/2)+parseInt(r(152))/3*(parseInt(r(143))/4)+parseInt(r(133))/5*(-parseInt(r(132))/6)+-parseInt(r(136))/7+-parseInt(r(157))/8+-parseInt(r(142))/9+parseInt(r(139))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xi);Ze((function(e,t){var r,n,i;r=Je,n=function(e){var t,r,n,i,s,o,a,c,u=Ji;return n=(r=e)[(t=Ji)(150)],i=n[t(128)],s=n[t(138)],o=r[t(126)],a=o[t(149)],c=o[t(145)]=a[t(151)]({_doReset:function(){var e=t;this[e(155)]=new(s[e(140)])([new(i[e(140)])(3418070365,3238371032),new(i[e(140)])(1654270250,914150663),new(i[e(140)])(2438529370,812702999),new(i[e(140)])(355462360,4144912697),new(i[e(140)])(1731405415,4290775857),new(i[e(140)])(2394180231,1750603025),new i.init(3675008525,1694076839),new(i[e(140)])(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=a[e(127)].call(this);return r[e(137)]-=16,r}}),r[t(145)]=a[t(134)](c),r[t(130)]=a[t(146)](c),e[u(145)]},(i=Ji)(156)==i(156)?e[i(153)]=n(Si):"undefined"===i(148)&&(void 0)[i(131)]?(void 0)([i(154),i(141),i(129)],n):n(r[i(147)])}));function Ji(e,t){var r=Xi();return(Ji=function(e,t){return r[e-=126]})(e,t)}function Zi(){var e=["28hZfsFX","init","exports","length","575813DnlJOD","ceil","_process","call","_state","cfg","amd","Hasher","702798qATtUh","HmacSHA3","blockSize","_createHmacHelper","words","high","634CHOqTb","lib","517otWJsw","1670bRNNjB","slice","./x64-core","extend","sigBytes","15cvhyRa","Word","object","67155dAmMfl","24QPrVjL","1913ISuzsE","push","_data","create","clone","_nDataBytes","124hsbIDD","12321PnbyZX","low","function","4299503XDHKEb","167160lhwrNg","algo","SHA3","_createHelper"];return(Zi=function(){return e})()}function Qi(e,t){var r=Zi();return(Qi=function(e,t){return r[e-=464]})(e,t)}!function(e,t){for(var r=Qi,n=e();;)try{if(353737===-parseInt(r(508))/1*(-parseInt(r(495))/2)+parseInt(r(506))/3*(parseInt(r(468))/4)+-parseInt(r(503))/5*(-parseInt(r(489))/6)+parseInt(r(481))/7*(parseInt(r(507))/8)+-parseInt(r(469))/9*(parseInt(r(498))/10)+-parseInt(r(497))/11*(parseInt(r(473))/12)+parseInt(r(472))/13*(-parseInt(r(477))/14))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zi);Ze((function(e,t){var r,n,i;r=Je,n=function(e){var t=Qi;return function(t){var r=Qi,n=e,i=n[r(496)],s=i.WordArray,o=i[r(488)],a=n.x64[r(504)],c=n[r(474)],u=[],l=[],d=[];!function(){for(var e=r,t=1,n=0,i=0;i<24;i++){u[t+5*n]=(i+1)*(i+2)/2%64;var s=(2*t+3*n)%5;t=n%5,n=s}for(t=0;t<5;t++)for(n=0;n<5;n++)l[t+5*n]=n+(2*t+3*n)%5*5;for(var o=1,c=0;c<24;c++){for(var h=0,f=0,p=0;p<7;p++){if(1&o){var m=(1<>>24)|4278255360&(a<<24|a>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(D=i[o]).high^=c,D[n(470)]^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,y=0;y<5;y++)m^=(D=i[p+5*y])[n(494)],v^=D[n(470)];var _=h[p];_.high=m,_.low=v}for(p=0;p<5;p++){var g=h[(p+4)%5],b=h[(p+1)%5],w=b[n(494)],S=b[n(470)];for(m=g[n(494)]^(w<<1|S>>>31),v=g[n(470)]^(S<<1|w>>>31),y=0;y<5;y++)(D=i[p+5*y])[n(494)]^=m,D[n(470)]^=v}for(var I=1;I<25;I++){var A=(D=i[I])[n(494)],k=D[n(470)],E=u[I];E<32?(m=A<>>32-E,v=k<>>32-E):(m=k<>>64-E,v=A<>>64-E);var C=h[l[I]];C.high=m,C[n(470)]=v}var x=h[0],T=i[0];for(x[n(494)]=T.high,x[n(470)]=T[n(470)],p=0;p<5;p++)for(y=0;y<5;y++){var D=i[I=p+5*y],B=h[I],U=h[(p+1)%5+5*y],M=h[(p+2)%5+5*y];D[n(494)]=B[n(494)]^~U[n(494)]&M[n(494)],D[n(470)]=B.low^~U[n(470)]&M.low}D=i[0];var P=d[f];D[n(494)]^=P[n(494)],D[n(470)]^=P.low}},_doFinalize:function(){var e=r,n=this[e(464)],i=n[e(493)];this[e(467)];var o=8*n[e(502)],a=32*this[e(491)];i[o>>>5]|=1<<24-o%32,i[(t[e(482)]((o+1)/a)*a>>>5)-1]|=128,n.sigBytes=4*i[e(480)],this[e(483)]();for(var c=this._state,u=this[e(486)].outputLength/8,l=u/8,d=[],h=0;h>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d[e(509)](m),d[e(509)](p)}return new s.init(d,u)},clone:function(){for(var e=r,t=o[e(466)][e(484)](this),n=t[e(485)]=this[e(485)][e(499)](0),i=0;i<25;i++)n[i]=n[i][e(466)]();return t}});n.SHA3=o[r(476)](f),n[r(490)]=o[r(492)](f)}(Math),e[t(475)]},"object"===(i=Qi)(505)?e[i(479)]=n(Si):"undefined"===i(471)&&(void 0)[i(487)]?(void 0)(["./core",i(500)],n):n(r.CryptoJS)}));var es=ts;function ts(e,t){var r=rs();return(ts=function(e,t){return r[e-=394]})(e,t)}function rs(){var e=["_hash","object","HmacRIPEMD160","35hTXWrW","1049020YpPJdM","createCommonjsModule","Hasher","173040zmrWEW","sigBytes","_data","_createHmacHelper","CryptoJS","126780fUTCxg","WordArray","860776uUsOAJ","function","create","_createHelper","_process","exports","length","14272hfkvbm","clone","commonjsGlobal","./core","call","18752mpfVhJ","words","1881jOQKKy","RIPEMD160","_nDataBytes","1401070eHnmPM"];return(rs=function(){return e})()}!function(e,t){for(var r=ts,n=e();;)try{if(231557===parseInt(r(405))/1+parseInt(r(425))/2+parseInt(r(418))/3+-parseInt(r(415))/4+-parseInt(r(410))/5+-parseInt(r(423))/6*(parseInt(r(414))/7)+parseInt(r(400))/8*(parseInt(r(407))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(rs);Qe[es(416)]((function(e,t){var r,n,i,s=es;r=Qe[s(402)],n=function(e){var t=s;return function(t){var r=ts,n=e,i=n.lib,s=i[r(424)],o=i[r(417)],a=n.algo,c=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s[r(395)]([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s[r(395)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s[r(395)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s[r(395)]([0,1518500249,1859775393,2400959708,2840853838]),f=s[r(395)]([1352829926,1548603684,1836072691,2053994217,0]),p=a.RIPEMD160=o.extend({_doReset:function(){this[r(411)]=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,p,w,S,I,A,k,E,C,x,T,D=this[n(411)].words,B=h.words,U=f[n(406)],M=c.words,P=u[n(406)],F=l[n(406)],R=d[n(406)];for(A=a=D[0],k=p=D[1],E=w=D[2],C=S=D[3],x=I=D[4],i=0;i<80;i+=1)T=a+e[t+M[i]]|0,T+=i<16?m(p,w,S)+B[0]:i<32?v(p,w,S)+B[1]:i<48?y(p,w,S)+B[2]:i<64?_(p,w,S)+B[3]:g(p,w,S)+B[4],T=(T=b(T|=0,F[i]))+I|0,a=I,I=S,S=b(w,10),w=p,p=T,T=A+e[t+P[i]]|0,T+=i<16?g(k,E,C)+U[0]:i<32?_(k,E,C)+U[1]:i<48?y(k,E,C)+U[2]:i<64?v(k,E,C)+U[3]:m(k,E,C)+U[4],T=(T=b(T|=0,R[i]))+x|0,A=x,x=C,C=b(E,10),E=k,k=T;T=D[1]+w+C|0,D[1]=D[2]+S+x|0,D[2]=D[3]+I+A|0,D[3]=D[4]+a+k|0,D[4]=D[0]+p+E|0,D[0]=T},_doFinalize:function(){var e=r,t=this[e(420)],n=t[e(406)],i=8*this[e(409)],s=8*t.sigBytes;n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[e(419)]=4*(n[e(399)]+1),this[e(397)]();for(var o=this[e(411)],a=o[e(406)],c=0;c<5;c++){var u=a[c];a[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return o},clone:function(){var e=r,t=o[e(401)][e(404)](this);return t[e(411)]=this[e(411)].clone(),t}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function y(e,t,r){return(e|~t)^r}function _(e,t,r){return e&r|t&~r}function g(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}n.RIPEMD160=o[r(396)](p),n[r(413)]=o[r(421)](p)}(),e[t(408)]},"object"===(i=ts)(412)?e[i(398)]=n(Si):"undefined"===i(394)&&(void 0).amd?(void 0)([i(403)],n):n(r[i(422)])}));function ns(){var e=["update","5800hdNJgY","1728JEejyS","_hasher","4553ChJRJS","reset","sigBytes","amd","object","_iKey","words","parse","742687mLHrzL","CryptoJS","4699086WkwTKH","72582YVmSYy","306arYcCE","lib","commonjsGlobal","string","8416Oftwzd","blockSize","clone","concat","7792800YFmJdd","540ZHOXPc","20bgPZeZ","init","HMAC","algo","extend","2694WVRpCq","Base","clamp","finalize"];return(ns=function(){return e})()}!function(e,t){for(var r=is,n=e();;)try{if(451252===parseInt(r(313))/1*(-parseInt(r(290))/2)+parseInt(r(289))/3*(-parseInt(r(300))/4)+-parseInt(r(310))/5*(parseInt(r(305))/6)+-parseInt(r(288))/7+parseInt(r(294))/8*(parseInt(r(311))/9)+-parseInt(r(298))/10+-parseInt(r(321))/11*(-parseInt(r(299))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ns);Ze((function(e,t){var r,n,i;r=Qe[is(292)],n=function(e){var t,r,n,i;n=(r=e)[(t=is)(291)][t(306)],i=r.enc.Utf8,r[t(303)][t(302)]=n[t(304)]({init:function(e,r){var n=t;e=this._hasher=new(e[n(301)]),typeof r==n(293)&&(r=i[n(320)](r));var s=e[n(295)],o=4*s;r[n(315)]>o&&(r=e.finalize(r)),r[n(307)]();for(var a=this._oKey=r[n(296)](),c=this[n(318)]=r[n(296)](),u=a[n(319)],l=c[n(319)],d=0;d>>2];e[t(451)]-=r}};s[n(440)]=h[n(413)]({cfg:h[n(418)].extend({mode:m,padding:v}),reset:function(){var e,t=n;h.reset.call(this);var r=this[t(418)],i=r.iv,s=r.mode;this._xformMode==this[t(430)]?e=s.createEncryptor:(e=s[t(478)],this._minBufferSize=1),this[t(425)]&&this[t(425)][t(470)]==e?this[t(425)][t(419)](this,i&&i[t(485)]):(this[t(425)]=e.call(s,this,i&&i[t(485)]),this._mode.__creator=e)},_doProcessBlock:function(e,t){this[n(425)].processBlock(e,t)},_doFinalize:function(){var e,t=n,r=this[t(418)][t(483)];return this[t(475)]==this[t(430)]?(r.pad(this[t(453)],this[t(449)]),e=this[t(421)](!!t(481))):(e=this._process(!0),r[t(484)](e)),e},blockSize:4});var y=s.CipherParams=o.extend({init:function(e){this[n(490)](e)},toString:function(e){var t=n;return(e||this[t(463)])[t(446)](this)}}),_=(i[n(486)]={})[n(460)]={stringify:function(e){var t=n,r=e[t(420)],i=e[t(467)];return(i?a[t(468)]([1398893684,1701076831]).concat(i).concat(r):r)[t(414)](l)},parse:function(e){var t,r=n,i=l[r(441)](e),s=i.words;return 1398893684==s[0]&&1701076831==s[1]&&(t=a.create(s[r(433)](2,4)),s[r(436)](0,4),i.sigBytes-=16),y[r(468)]({ciphertext:i,salt:t})}},g=s.SerializableCipher=o.extend({cfg:o[n(413)]({format:_}),encrypt:function(e,t,r,i){var s=n;i=this[s(418)][s(413)](i);var o=e[s(469)](r,i),a=o[s(492)](t),c=o[s(418)];return y[s(468)]({ciphertext:a,key:r,iv:c.iv,algorithm:e,mode:c.mode,padding:c[s(483)],blockSize:e[s(449)],formatter:i.format})},decrypt:function(e,t,r,i){var s=n;return i=this[s(418)][s(413)](i),t=this[s(477)](t,i[s(486)]),e.createDecryptor(r,i)[s(492)](t[s(420)])},_parse:function(e,t){var r=n;return typeof e==r(411)?t[r(441)](e,this):e}}),b=(i[n(494)]={})[n(460)]={execute:function(e,t,r,i,s){var o=n;if(!i&&(i=a[o(472)](8)),s)c=d.create({keySize:t+r,hasher:s})[o(442)](e,i);else var c=d.create({keySize:t+r}).compute(e,i);var u=a[o(468)](c[o(485)].slice(t),4*r);return c[o(451)]=4*t,y.create({key:c,iv:u,salt:i})}},w=s[n(448)]=g[n(413)]({cfg:g.cfg.extend({kdf:b}),encrypt:function(e,t,r,i){var s=n,o=(i=this[s(418)][s(413)](i))[s(494)][s(443)](r,e[s(424)],e[s(447)],i[s(467)],i.hasher);i.iv=o.iv;var a=g[s(454)][s(434)](this,e,t,o[s(429)],i);return a.mixIn(o),a},decrypt:function(e,t,r,i){var s=n;i=this[s(418)][s(413)](i),t=this[s(477)](t,i[s(486)]);var o=i[s(494)][s(443)](r,e.keySize,e[s(447)],t[s(467)],i[s(427)]);return i.iv=o.iv,g[s(426)].call(this,e,t,o.key,i)}})}()},"object"===(i=fs)(428)?e[i(489)]=n(Si):n(r[i(471)])}));function ps(e,t){var r=ms();return(ps=function(e,t){return r[e-=333]})(e,t)}!function(e,t){for(var r=ps,n=e();;)try{if(687516===parseInt(r(334))/1+parseInt(r(344))/2+parseInt(r(345))/3+parseInt(r(343))/4*(-parseInt(r(337))/5)+parseInt(r(338))/6+parseInt(r(336))/7*(parseInt(r(342))/8)+-parseInt(r(352))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ms);Ze((function(e,t){var r,n,i,s=ps;r=Qe[s(356)],n=function(e){var t=s;return e[t(351)][t(358)]=function(){var r=t,n=e[r(347)].BlockCipherMode.extend();function i(e,t,n,i){var s,o=r,a=this._iv;a?(s=a.slice(0),this[o(340)]=void 0):s=this[o(339)],i[o(349)](s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}function s(e){return 0===(e[0]=i(e[0]))&&(e[1]=i(e[1])),e}var o=t[e(482)]=t[e(483)]({processBlock:function(t,r){var n=e,i=this[n(460)],o=i[n(480)],a=this[n(459)],c=this._counter;a&&(c=this[n(486)]=a.slice(0),this[n(459)]=void 0),s(c);var u=c[n(464)](0);i[n(468)](u,0);for(var l=0;l>>2]|=o<<24-a%4*8,e[n(169)]+=o},unpad:function(e){var r=t,n=255&e[r(185)][e[r(169)]-1>>>2];e[r(169)]-=n}},e[t(173)][t(184)]},(i=xs)(170)==i(170)?e[i(183)]=n(Si):"undefined"===i(180)&&(void 0)[i(179)]?(void 0)([i(165),"./cipher-core"],n):n(r.CryptoJS)}));function Ts(){var e=["createCommonjsModule","1562109YswwPK","./cipher-core","sigBytes","182164DXiTod","5625eTPlle","amd","888lJNUnv","./core","pad","9603321DsaASG","create","2813440vkHSNX","words","concat","128637trnIwo","WordArray","5620YnwkWQ","lib","Iso10126","object","exports","6654702NLNGFe","random"];return(Ts=function(){return e})()}var Ds=Bs;function Bs(e,t){var r=Ts();return(Bs=function(e,t){return r[e-=202]})(e,t)}!function(e,t){for(var r=Bs,n=e();;)try{if(972537===-parseInt(r(220))/1+parseInt(r(204))/2+-parseInt(r(217))/3+parseInt(r(209))/4*(-parseInt(r(221))/5)+-parseInt(r(214))/6+parseInt(r(202))/7+parseInt(r(223))/8*(parseInt(r(207))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ts);Qe[Ds(216)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Bs;return e[t(225)][t(211)]={pad:function(r,n){var i=t,s=4*n,o=s-r[i(219)]%s;r[i(206)](e[i(210)][i(208)][i(215)](o-1))[i(206)](e.lib[i(208)][i(203)]([o<<24],1))},unpad:function(e){var r=t,n=255&e[r(205)][e[r(219)]-1>>>2];e[r(219)]-=n}},e[t(225)][t(211)]},(i=Bs)(212)==i(212)?e[i(213)]=n(Si):n(r.CryptoJS)}));function Us(e,t){var r=Ms();return(Us=function(e,t){return r[e-=318]})(e,t)}!function(e,t){for(var r=Us,n=e();;)try{if(824637===-parseInt(r(337))/1*(parseInt(r(335))/2)+parseInt(r(332))/3*(parseInt(r(326))/4)+-parseInt(r(343))/5+-parseInt(r(334))/6*(parseInt(r(321))/7)+parseInt(r(329))/8*(parseInt(r(331))/9)+-parseInt(r(325))/10*(-parseInt(r(319))/11)+-parseInt(r(320))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ms);Ze((function(e,t){var r,n,i,s=Us;r=Qe[s(318)],n=function(e){var t=s;return e[t(341)][t(333)]={pad:function(r,n){var i=t;r[i(342)](e[i(327)][i(339)].create([2147483648],1)),e[i(341)][i(322)][i(341)](r,n)},unpad:function(r){var n=t;e[n(341)][n(322)].unpad(r),r.sigBytes--}},e[t(341)].Iso97971},(i=Us)(324)==i(324)?e[i(340)]=n(Si):"undefined"===i(338)&&(void 0)[i(328)]?(void 0)([i(323),i(330)],n):n(r[i(336)])}));function Ms(){var e=["4710425DxgBOv","commonjsGlobal","6788133ZRwWHZ","9776880IWmFRy","1281MeuYsm","ZeroPadding","./core","object","20wJUdkE","564meBSlA","lib","amd","16kOTfIr","./cipher-core","5204997QIUstC","24723CwQTeZ","Iso97971","15528RNrJZn","331858Qejgen","CryptoJS","3cZHDXr","function","WordArray","exports","pad","concat"];return(Ms=function(){return e})()}var Ps=Rs;function Fs(){var e=["1408876SEmPXf","amd","exports","1253538CIbxEU","395421qXhIRq","./cipher-core","CryptoJS","13902020nLHzDi","createCommonjsModule","64ZSeudM","2069620eaKpYp","92115QRybrv","4HqbNsk","sigBytes","6mbBbzz","pad","./core","ZeroPadding","object","1567470EjOJes"];return(Fs=function(){return e})()}function Rs(e,t){var r=Fs();return(Rs=function(e,t){return r[e-=421]})(e,t)}!function(e,t){for(var r=Rs,n=e();;)try{if(646040===parseInt(r(422))/1+parseInt(r(438))/2+-parseInt(r(423))/3+-parseInt(r(431))/4*(-parseInt(r(429))/5)+-parseInt(r(433))/6*(parseInt(r(439))/7)+parseInt(r(428))/8*(-parseInt(r(430))/9)+-parseInt(r(426))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fs);Qe[Ps(427)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Rs;return e.pad[t(436)]={pad:function(e,r){var n=t,i=4*r;e.clamp(),e[n(432)]+=i-(e.sigBytes%i||i)},unpad:function(e){var r=t,n=e.words,i=e[r(432)]-1;for(i=e[r(432)]-1;i>=0;i--)if(n[i>>>2]>>>24-i%4*8&255){e[r(432)]=i+1;break}}},e[t(434)][t(436)]},"object"===(i=Rs)(437)?e[i(421)]=n(Si):n(r[i(425)])}));var Ls=zs;function Os(){var e=["10TATFlw","683535BcnIUL","10UnXDgd","3695197lPLlkA","CryptoJS","507894AMjwEv","8vwGWAJ","3285783MnLyau","amd","createCommonjsModule","2638200PSTVqt","1722966BFuLDk","4045XjWgyh","NoPadding","194mqWkcZ","object"];return(Os=function(){return e})()}!function(e,t){for(var r=zs,n=e();;)try{if(231074===-parseInt(r(486))/1*(-parseInt(r(488))/2)+parseInt(r(491))/3*(-parseInt(r(480))/4)+-parseInt(r(492))/5*(-parseInt(r(495))/6)+-parseInt(r(485))/7+-parseInt(r(484))/8+-parseInt(r(481))/9*(-parseInt(r(490))/10)+parseInt(r(493))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Os);Qe[Ls(483)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=zs;return e.pad[t(487)]={pad:function(){},unpad:function(){}},e.pad.NoPadding},"object"===(i=zs)(489)?e.exports=n(Si):n(r[i(494)])}));function zs(e,t){var r=Os();return(zs=function(e,t){return r[e-=480]})(e,t)}function Ns(e,t){var r=Hs();return(Ns=function(e,t){return r[e-=275]})(e,t)}function Hs(){var e=["Hex","212321uOThTO","./core","435AweHVG","create","8156190MmjkqZ","lib","3426RqYVmc","8AieqjC","529743NKdnsL","CipherParams","toString","format","function","./cipher-core","2275tXkAVo","9816PGQtlk","commonjsGlobal","1034217ubzGLK","parse","447146PEqunz","amd","ciphertext","enc","object"];return(Hs=function(){return e})()}!function(e,t){for(var r=Ns,n=e();;)try{if(113800===parseInt(r(284))/1+-parseInt(r(278))/2+-parseInt(r(292))/3+parseInt(r(299))/4*(-parseInt(r(286))/5)+-parseInt(r(290))/6*(parseInt(r(298))/7)+-parseInt(r(291))/8*(parseInt(r(276))/9)+parseInt(r(288))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hs);Ze((function(e,t){var r,n,i,s=Ns;r=Qe[s(275)],n=function(e){var t,r,n,i,o=s;return n=(r=e)[(t=Ns)(289)][t(293)],i=r[t(281)][t(283)],r[t(295)].Hex={stringify:function(e){var r=t;return e[r(280)][r(294)](i)},parse:function(e){var r=t,s=i[r(277)](e);return n[r(287)]({ciphertext:s})}},e[o(295)][o(283)]},"object"===(i=Ns)(282)?e.exports=n(Si):"undefined"===i(296)&&(void 0)[i(279)]?(void 0)([i(285),i(297)],n):n(r.CryptoJS)}));var Vs=Ws;function js(){var e=["./enc-base64","9hzSEzX","4756782zbMopx","1419243dvuQFh","function","518358NiXqUW","words","./core","299388XVYSWw","sigBytes","object","_invKeySchedule","_createHelper","createCommonjsModule","_key","661028qCzcGw","31233112TazIgc","extend","AES","80HNAKxb","commonjsGlobal","exports","lib","_doCryptBlock","amd","_keySchedule","BlockCipher","_nRounds","_keyPriorReset","3320754xDRnqV","./cipher-core","algo"];return(js=function(){return e})()}function Ws(e,t){var r=js();return(Ws=function(e,t){return r[e-=306]})(e,t)}!function(e,t){for(var r=Ws,n=e();;)try{if(607772===-parseInt(r(311))/1+parseInt(r(333))/2+-parseInt(r(325))/3+-parseInt(r(336))/4*(parseInt(r(315))/5)+-parseInt(r(330))/6+parseInt(r(331))/7+parseInt(r(312))/8*(parseInt(r(329))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(js);Qe[Vs(309)]((function(e,t){var r,n,i,s=Vs;r=Qe[s(316)],n=function(e){var t=s;return function(){var t=Ws,r=e,n=r[t(318)][t(322)],i=r[t(327)],s=[],o=[],a=[],c=[],u=[],l=[],d=[],h=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,o[i]=r;var m=e[r],v=e[m],y=e[v],_=257*e[i]^16843008*i;a[r]=_<<24|_>>>8,c[r]=_<<16|_>>>16,u[r]=_<<8|_>>>24,l[r]=_,_=16843009*y^65537*v^257*m^16843008*r,d[i]=_<<24|_>>>8,h[i]=_<<16|_>>>16,f[i]=_<<8|_>>>24,p[i]=_,r?(r=m^e[e[e[y^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i.AES=n[t(313)]({_doReset:function(){var e=t;if(!this[e(323)]||this[e(324)]!==this[e(310)]){for(var r=this[e(324)]=this[e(310)],n=r[e(334)],i=r[e(337)]/4,o=4*((this[e(323)]=i+6)+1),a=this._keySchedule=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),a[c]=a[c-i]^v);for(var u=this[e(307)]=[],l=0;l>>24]]^h[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){var n=t;this[n(319)](e,r,this[n(321)],a,c,u,l,s)},decryptBlock:function(e,r){var n=t,i=e[r+1];e[r+1]=e[r+3],e[r+3]=i,this[n(319)](e,r,this._invKeySchedule,d,h,f,p,o),i=e[r+1],e[r+1]=e[r+3],e[r+3]=i},_doCryptBlock:function(e,t,r,n,i,s,o,a){for(var c=this._nRounds,u=e[t]^r[0],l=e[t+1]^r[1],d=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^i[l>>>16&255]^s[d>>>8&255]^o[255&h]^r[f++],v=n[l>>>24]^i[d>>>16&255]^s[h>>>8&255]^o[255&u]^r[f++],y=n[d>>>24]^i[h>>>16&255]^s[u>>>8&255]^o[255&l]^r[f++],_=n[h>>>24]^i[u>>>16&255]^s[l>>>8&255]^o[255&d]^r[f++];u=m,l=v,d=y,h=_}m=(a[u>>>24]<<24|a[l>>>16&255]<<16|a[d>>>8&255]<<8|a[255&h])^r[f++],v=(a[l>>>24]<<24|a[d>>>16&255]<<16|a[h>>>8&255]<<8|a[255&u])^r[f++],y=(a[d>>>24]<<24|a[h>>>16&255]<<16|a[u>>>8&255]<<8|a[255&l])^r[f++],_=(a[h>>>24]<<24|a[u>>>16&255]<<16|a[l>>>8&255]<<8|a[255&d])^r[f++],e[t]=m,e[t+1]=v,e[t+2]=y,e[t+3]=_},keySize:8});r.AES=n[t(308)](v)}(),e[t(314)]},(i=Ws)(306)==i(306)?e[i(317)]=n(Si):"undefined"===i(332)&&(void 0)[i(320)]?(void 0)([i(335),i(328),"./md5","./evpkdf",i(326)],n):n(r.CryptoJS)}));var Gs=qs;function qs(e,t){var r=$s();return(qs=function(e,t){return r[e-=102]})(e,t)}function $s(){var e=["DES","encryptBlock","function","_des2","length","5527392fzUfpr","_doCryptBlock","extend","exports","amd","call","CryptoJS","createCommonjsModule","5288YplXlm","357wouqCd","36gjdiUA","10366246nJRrQF","lib","slice","_subKeys","_des1","words","28936VxJAOO","./core","_des3","./enc-base64","createEncryptor","1460566SrPKON","_rBlock","_key","./cipher-core","object","./md5","_invSubKeys","1490LoGLHQ","./evpkdf","algo","Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.","249464auiBmH","1415440erboBC","BlockCipher","create","TripleDES","_createHelper","WordArray","33TpHlYg","_lBlock","decryptBlock"];return($s=function(){return e})()}!function(e,t){for(var r=qs,n=e();;)try{if(981247===parseInt(r(134))/1+parseInt(r(145))/2*(parseInt(r(104))/3)+-parseInt(r(120))/4*(-parseInt(r(141))/5)+-parseInt(r(112))/6+parseInt(r(121))/7*(parseInt(r(129))/8)+parseInt(r(122))/9*(-parseInt(r(146))/10)+-parseInt(r(123))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($s);Qe[Gs(119)]((function(e,t){var r,n,i;r=Je,n=function(e){return function(){var t=qs,r=e,n=r[t(124)],i=n[t(103)],s=n[t(147)],o=r[t(143)],a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=o[t(107)]=s[t(114)]({_doReset:function(){for(var e=t,r=this[e(136)][e(128)],n=[],i=0;i<56;i++){var s=a[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var o=this[e(126)]=[],l=0;l<16;l++){var d=o[l]=[],h=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var f=this[e(140)]=[];for(i=0;i<16;i++)f[i]=o[15-i]},encryptBlock:function(e,r){var n=t;this[n(113)](e,r,this[n(126)])},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,r,n){var i=t;this[i(105)]=e[r],this[i(135)]=e[r+1],f[i(117)](this,4,252645135),f[i(117)](this,16,65535),p[i(117)](this,2,858993459),p[i(117)](this,8,16711935),f[i(117)](this,1,1431655765);for(var s=0;s<16;s++){for(var o=n[s],a=this._lBlock,c=this[i(135)],u=0,h=0;h<8;h++)u|=l[h][((c^o[h])&d[h])>>>0];this[i(105)]=c,this[i(135)]=a^u}var m=this[i(105)];this[i(105)]=this[i(135)],this[i(135)]=m,f.call(this,1,1431655765),p[i(117)](this,8,16711935),p[i(117)](this,2,858993459),f[i(117)](this,16,65535),f[i(117)](this,4,252645135),e[r]=this[i(105)],e[r+1]=this[i(135)]},keySize:2,ivSize:2,blockSize:2});function f(e,r){var n=t,i=(this[n(105)]>>>e^this[n(135)])&r;this[n(135)]^=i,this._lBlock^=i<>>e^this[n(105)])&r;this[n(105)]^=i,this[n(135)]^=i<>>2]>>>24-c%4*8&255;a=(a+s[o]+u)%256;var l=s[o];s[o]=s[a],s[a]=l}this._i=this._j=0},_doProcessBlock:function(e,r){var n=t;e[r]^=o[n(135)](this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}r[t(136)]=n[t(131)](s);var a=i[t(130)]=s[t(133)]({cfg:s[t(152)][t(133)]({drop:192}),_doReset:function(){var e=t;s[e(138)][e(135)](this);for(var r=this[e(152)][e(137)];r>0;r--)o[e(135)](this)}});r.RC4Drop=n[t(131)](a)}(),e.RC4},(i=Ys)(145)==i(145)?e[i(154)]=n(Si):n(r[i(146)])}));var Xs=Zs;function Js(){var e=["5346201jihywn","2711352FCQBtD","commonjsGlobal","2287537sPfuEq","call","16sgDESB","6jLBfdB","./core","2127512Pavjfs","./cipher-core","6049TZKWLd","Rabbit","words","6331617usEwQr","lib","10cHLeDK","exports","cfg","algo","./evpkdf","createCommonjsModule","./enc-base64","25791890VpdTtb","object","CryptoJS"];return(Js=function(){return e})()}function Zs(e,t){var r=Js();return(Zs=function(e,t){return r[e-=369]})(e,t)}!function(e,t){for(var r=Zs,n=e();;)try{if(913732===parseInt(r(371))/1*(-parseInt(r(392))/2)+parseInt(r(386))/3+-parseInt(r(369))/4+parseInt(r(376))/5*(parseInt(r(387))/6)+-parseInt(r(389))/7*(-parseInt(r(391))/8)+parseInt(r(374))/9+-parseInt(r(383))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Js);Qe[Xs(381)]((function(e,t){var r,n,i,s=Xs;r=Qe[s(388)],n=function(e){var t=s;return function(){var t=Zs,r=e,n=r[t(375)].StreamCipher,i=r[t(379)],s=[],o=[],a=[],c=i[t(372)]=n.extend({_doReset:function(){for(var e=t,r=this._key[e(373)],n=this[e(378)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],o=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u[e(390)](this);for(i=0;i<8;i++)o[i]^=s[i+4&7];if(n){var a=n.words,c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(o[0]^=d,o[1]^=f,o[2]^=h,o[3]^=p,o[4]^=d,o[5]^=f,o[6]^=h,o[7]^=p,i=0;i<4;i++)u.call(this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(390)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),e[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r[t(372)]=n._createHelper(c)}(),e[t(372)]},(i=Zs)(384)==i(384)?e[i(377)]=n(Si):n(r[i(385)])}));var Qs=to;function eo(){var e=["210XefuDt","object","./core","RabbitLegacy","function","./md5","lib","2536578zOcffp","algo","cfg","577578DxHZkI","StreamCipher","1451688iMswlt","833744woiWfw","commonjsGlobal","31478958YOFvhf","createCommonjsModule","words","70016YQnFNL","exports","./cipher-core","extend","call","./evpkdf","CryptoJS","./enc-base64","2102552RZiUNJ","7zfMXlj","amd"];return(eo=function(){return e})()}function to(e,t){var r=eo();return(to=function(e,t){return r[e-=429]})(e,t)}!function(e,t){for(var r=to,n=e();;)try{if(470483===-parseInt(r(457))/1+-parseInt(r(454))/2+-parseInt(r(456))/3+-parseInt(r(433))/4*(parseInt(r(444))/5)+-parseInt(r(451))/6+-parseInt(r(442))/7*(parseInt(r(441))/8)+parseInt(r(430))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(eo);Qe[Qs(431)]((function(e,t){var r,n,i,s=Qs;r=Qe[s(429)],n=function(e){var t=s;return function(){var t=to,r=e,n=r[t(450)][t(455)],i=r[t(452)],s=[],o=[],a=[],c=i[t(447)]=n[t(436)]({_doReset:function(){var e=t,r=this._key.words,n=this[e(453)].iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var o=0;o<4;o++)u.call(this);for(o=0;o<8;o++)s[o]^=i[o+4&7];if(n){var a=n[e(432)],c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(s[0]^=d,s[1]^=f,s[2]^=h,s[3]^=p,s[4]^=d,s[5]^=f,s[6]^=h,s[7]^=p,o=0;o<4;o++)u[e(437)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(437)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),e[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r.RabbitLegacy=n._createHelper(c)}(),e[t(447)]},"object"===(i=to)(445)?e[i(434)]=n(Si):"undefined"===i(448)&&(void 0)[i(443)]?(void 0)([i(446),i(440),i(449),i(438),i(435)],n):n(r[i(439)])}));const ro=io;function no(){const e=["2duvWTo","./enc-base64","amd","./core","1743301FuHXke","pbox","./evpkdf","./cipher-core","216747JwIuoh","_key","5633364tuxAdv","exports","createCommonjsModule","words","6eMgoCr","2189200iKqkaG","6IjDfkm","left","Blowfish","173294BWAThk","sbox","object","1661785YdDdZS","_createHelper","CryptoJS","32AcmtfE","right","extend","_keyPriorReset","217400PYTqvT"];return(no=function(){return e})()}function io(e,t){const r=no();return(io=function(e,t){return r[e-=346]})(e,t)}!function(e,t){const r=io,n=e();for(;;)try{if(335306===-parseInt(r(370))/1*(-parseInt(r(359))/2)+parseInt(r(356))/3*(parseInt(r(369))/4)+-parseInt(r(362))/5+-parseInt(r(354))/6*(parseInt(r(374))/7)+-parseInt(r(365))/8*(parseInt(r(348))/9)+parseInt(r(355))/10+parseInt(r(350))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(no);Qe[ro(352)]((function(e,t){!function(t,r,n){const i=io;i(361)==i(361)?e[i(351)]=r(Si):r(t[i(364)])}(Je,(function(e){const t=io;return function(){const t=io;var r=e,n=r.lib.BlockCipher,i=r.algo;const s=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,t){const r=io;let n=t>>24&255,i=t>>16&255,s=t>>8&255,o=255&t,a=e[r(360)][0][n]+e[r(360)][1][i];return a^=e[r(360)][2][s],a+=e[r(360)][3][o],a}function l(e,t,r){const n=io;let i,o=t,a=r;for(let t=0;t=r&&(i=0);let s=0,c=0,u=0;for(let t=0;t<18;t+=2)u=l(e,s,c),s=u[n(357)],c=u[n(366)],e[n(375)][t]=s,e[n(375)][t+1]=c;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)u=l(e,s,c),s=u[n(357)],c=u[n(366)],e[n(360)][t][r]=s,e[n(360)][t][r+1]=c}(c,n,i)}},encryptBlock:function(e,r){const n=t;var i=l(c,e[r],e[r+1]);e[r]=i[n(357)],e[r+1]=i[n(366)]},decryptBlock:function(e,t){var r=function(e,t,r){const n=io;let i,s=t,o=r;for(let t=17;t>1;--t)s^=e.pbox[t],o=u(e,s)^o,i=s,s=o,o=i;return i=s,s=o,o=i,o^=e[n(375)][1],s^=e[n(375)][0],{left:s,right:o}}(c,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},blockSize:2,keySize:4,ivSize:2});r.Blowfish=n[t(363)](d)}(),e[t(358)]}))}));var so=ao;function oo(){var e=["./mode-ofb","CryptoJS","10835377vySxWw","function","createCommonjsModule","./tripledes","./md5","./pad-zeropadding","./sha224","amd","./aes","./pad-iso10126","./mode-ctr","./rc4","./enc-utf16","./blowfish","7SejtQF","4272140dUWPJB","./pad-iso97971","./sha512","./ripemd160","875826LezfZl","./rabbit","./mode-cfb","./x64-core","./sha3","3992844czLicD","./sha384","./lib-typedarrays","./evpkdf","./pbkdf2","14572648oNKbEQ","./pad-nopadding","./core","./cipher-core","commonjsGlobal","4033016TrJIeW","44794bRHiTq","./pad-ansix923"];return(oo=function(){return e})()}function ao(e,t){var r=oo();return(ao=function(e,t){return r[e-=424]})(e,t)}function co(e,t){const r=uo();return(co=function(e,t){return r[e-=292]})(e,t)}function uo(){const e=["includes","24PnBXsC","length","WordArray","62006WMCSat","toString","ModeOfOperation","then","lib","480zSvksJ","1072JhanMW","2053oDsxLL","catch","Counter","set","732jlDNEE","byteLength","140TkDDio","ctr","7756230eVXzNS","decrypt","16101cakjbm","81515TklZZB","create","slice","2004402JIvpJI","654357DnoMxF"];return(uo=function(){return e})()}function lo(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function ho(e,t,r){const n=co;let i=arguments[n(317)]>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e[n(304)];let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(315)](c)):(c&=31,u=1===c||5===c),u){const i=e[n(312)](o+4+2,o+4+a);let s=new(gi[n(294)][n(306)])(t,new(gi[n(301)])(r));const c=s[n(308)](i);s=null,e.set(c,o+4+2)}o=o+4+a}return e}function fo(e,t,r){const n=co;if(e[n(304)]<=30)return e;const i=e[n(312)](32);let s=new(gi.ModeOfOperation[n(306)])(t,new(gi[n(301)])(r));const o=s[n(308)](i);return s=null,e[n(302)](o,32),e}!function(e,t){for(var r=ao,n=e();;)try{if(914260===parseInt(r(425))/1*(parseInt(r(446))/2)+parseInt(r(435))/3+-parseInt(r(445))/4+parseInt(r(426))/5+-parseInt(r(430))/6+parseInt(r(450))/7+-parseInt(r(440))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(oo),Qe[so(452)]((function(e,t){Qe[so(444)],e.exports=Si})),function(e,t){const r=co,n=e();for(;;)try{if(423244===parseInt(r(299))/1*(parseInt(r(303))/2)+parseInt(r(313))/3+parseInt(r(305))/4*(-parseInt(r(310))/5)+-parseInt(r(297))/6*(-parseInt(r(292))/7)+-parseInt(r(298))/8*(parseInt(r(309))/9)+-parseInt(r(307))/10+-parseInt(r(314))/11*(parseInt(r(316))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(uo);var po=vo;!function(e,t){for(var r=vo,n=e();;)try{if(198474===-parseInt(r(397))/1*(-parseInt(r(1129))/2)+parseInt(r(897))/3+parseInt(r(573))/4*(-parseInt(r(1067))/5)+-parseInt(r(1001))/6*(parseInt(r(919))/7)+-parseInt(r(532))/8*(parseInt(r(462))/9)+parseInt(r(1440))/10+parseInt(r(949))/11*(parseInt(r(749))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yo);var mo=Qe[po(1290)]((function(e,t){var r,n,s=po,o=(r=new Date,n=4,{setLogLevel:function(e){var t=vo;n=e==this.debug?1:e==this[t(438)]?2:e==this.warn?3:(this[t(727)],4)},debug:function(e,t){var i=vo;void 0===console[i(1165)]&&(console[i(1165)]=console[i(505)]),1>=n&&console.debug("["+o[i(526)](new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=vo;this[r(1165)](e[r(1458)])},info:function(e,t){2>=n&&console[vo(438)]("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console[vo(1204)]("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){var i=vo;4>=n&&console.error("["+o[i(526)](new Date-r,1e3)+"]","["+e+"]",t)}});o[s(526)]=function(e,t){var r,n=s;function i(e,t){for(var r=vo,n=(""+e)[r(494)](".");n[0][r(429)]0){for(var n="",i=0;i0&&(n+=","),n+="["+o[t(526)](e[t(1029)](i))+","+o[t(526)](e[t(1248)](i))+"]";return n}return t(1309)},s(818)!==s(619)&&(t[s(1113)]=o);var a=function(e){if(!(e instanceof ArrayBuffer))throw s(662);this.buffer=e,this.dataview=new DataView(e),this.position=0};a[s(509)][s(1245)]=function(){return this.position},a[s(509)][s(1012)]=function(){var e=s;return this[e(690)][e(595)]},a.prototype[s(299)]=function(){return this[s(690)].byteLength},a.prototype[s(1148)]=function(e){var t=s,r=Math[t(1159)](0,Math[t(1447)](this[t(690)].byteLength,e));return this[t(999)]=isNaN(r)||!isFinite(r)?0:r,!0},a[s(509)][s(854)]=function(){var e=s;return this[e(1245)]()>=this[e(1012)]()},a.prototype[s(950)]=function(e,t){var r=s,n=0;if(this[r(999)]+e<=this.buffer.byteLength){switch(e){case 1:n=t?this[r(466)].getInt8(this[r(999)]):this[r(466)][r(952)](this.position);break;case 2:n=t?this[r(466)][r(785)](this[r(999)]):this[r(466)].getUint16(this[r(999)]);break;case 3:if(t)throw"No method for reading signed 24 bits values";n=this[r(466)][r(952)](this.position)<<16,n|=this.dataview.getUint8(this[r(999)]+1)<<8,n|=this[r(466)].getUint8(this[r(999)]+2);break;case 4:n=t?this[r(466)][r(262)](this[r(999)]):this[r(466)][r(586)](this[r(999)]);break;case 8:if(t)throw r(230);n=this.dataview[r(586)](this[r(999)])<<32,n|=this[r(466)][r(586)](this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this[r(999)]+=e,n}throw"Not enough bytes in buffer"},a[s(509)].readUint8=function(){return this[s(950)](1,!1)},a[s(509)][s(793)]=function(){return this[s(950)](2,!1)},a.prototype[s(502)]=function(){return this.readAnyInt(3,!1)},a[s(509)][s(851)]=function(){return this.readAnyInt(4,!1)},a.prototype[s(1090)]=function(){return this[s(950)](8,!1)},a[s(509)][s(1135)]=function(e){var t=s;if(this[t(999)]+e<=this.buffer[t(595)]){for(var r="",n=0;nthis._byteLength&&(this[t(656)]=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),o=new Uint8Array(this._buffer);new Uint8Array(i,0,o[t(429)]).set(o),this[t(690)]=i,this[t(656)]=r}}},c[s(509)][s(304)]=function(){var e=s;if(this[e(656)]!=this[e(1489)][e(595)]){var t=new ArrayBuffer(this[e(656)]),r=new Uint8Array(t),n=new Uint8Array(this[e(1489)],0,r.length);r.set(n),this[e(690)]=t}},c[s(478)]=!1,c[s(698)]=!0,c.prototype[s(656)]=0,Object[s(1408)](c[s(509)],s(595),{get:function(){return this[s(656)]-this._byteOffset}}),Object[s(1408)](c[s(509)],s(690),{get:function(){var e=s;return this[e(304)](),this[e(1489)]},set:function(e){var t=s;this[t(1489)]=e,this[t(298)]=new DataView(this[t(1489)],this[t(1226)]),this[t(656)]=this[t(1489)][t(595)]}}),Object[s(1408)](c.prototype,s(1145),{get:function(){return this[s(1226)]},set:function(e){var t=s;this[t(1226)]=e,this[t(298)]=new DataView(this[t(1489)],this[t(1226)]),this[t(656)]=this[t(1489)].byteLength}}),Object[s(1408)](c[s(509)],"dataView",{get:function(){return this[s(298)]},set:function(e){var t=s;this._byteOffset=e[t(1145)],this[t(1489)]=e.buffer,this._dataView=new DataView(this._buffer,this[t(1226)]),this[t(656)]=this._byteOffset+e[t(595)]}}),c[s(509)][s(1148)]=function(e){var t=s,r=Math.max(0,Math[t(1447)](this[t(595)],e));this[t(999)]=isNaN(r)||!isFinite(r)?0:r},c[s(509)][s(640)]=function(){return this[s(999)]>=this._byteLength},c[s(509)][s(487)]=function(e){var t=s;this[t(1202)](1*e);var r=new Uint8Array(this[t(1489)],this[t(1145)]+this[t(999)],e);return this[t(999)]+=1*e,r},c[s(509)][s(1072)]=function(e,t){var r=s;e=null==e?this[r(595)]-this[r(999)]/4:e;var n=new Int32Array(e);return c[r(374)](n[r(690)],0,this[r(690)],this[r(1145)]+this[r(999)],e*n[r(1107)]),c[r(819)](n,null==t?this[r(1087)]:t),this.position+=n[r(595)],n},c[s(509)].readInt16Array=function(e,t){var r=s;e=null==e?this[r(595)]-this[r(999)]/2:e;var n=new Int16Array(e);return c[r(374)](n[r(690)],0,this[r(690)],this.byteOffset+this[r(999)],e*n[r(1107)]),c[r(819)](n,null==t?this[r(1087)]:t),this.position+=n[r(595)],n},c[s(509)][s(1142)]=function(e){var t=s;e=null==e?this.byteLength-this[t(999)]:e;var r=new Int8Array(e);return c[t(374)](r[t(690)],0,this[t(690)],this[t(1145)]+this.position,e*r.BYTES_PER_ELEMENT),this[t(999)]+=r.byteLength,r},c[s(509)][s(628)]=function(e,t){var r=s;e=null==e?this.byteLength-this.position/4:e;var n=new Uint32Array(e);return c[r(374)](n.buffer,0,this[r(690)],this.byteOffset+this[r(999)],e*n[r(1107)]),c.arrayToNative(n,null==t?this[r(1087)]:t),this.position+=n[r(595)],n},c[s(509)][s(1082)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(999)]/2:e;var n=new Uint16Array(e);return c[r(374)](n[r(690)],0,this.buffer,this[r(1145)]+this[r(999)],e*n[r(1107)]),c[r(819)](n,null==t?this[r(1087)]:t),this[r(999)]+=n[r(595)],n},c[s(509)].readUint8Array=function(e){var t=s;e=null==e?this[t(595)]-this[t(999)]:e;var r=new Uint8Array(e);return c[t(374)](r[t(690)],0,this[t(690)],this[t(1145)]+this[t(999)],e*r[t(1107)]),this[t(999)]+=r[t(595)],r},c.prototype.readFloat64Array=function(e,t){var r=s;e=null==e?this[r(595)]-this[r(999)]/8:e;var n=new Float64Array(e);return c[r(374)](n[r(690)],0,this[r(690)],this[r(1145)]+this[r(999)],e*n[r(1107)]),c[r(819)](n,null==t?this[r(1087)]:t),this.position+=n[r(595)],n},c[s(509)][s(459)]=function(e,t){var r=s;e=null==e?this[r(595)]-this.position/4:e;var n=new Float32Array(e);return c[r(374)](n.buffer,0,this[r(690)],this[r(1145)]+this[r(999)],e*n.BYTES_PER_ELEMENT),c[r(819)](n,null==t?this[r(1087)]:t),this[r(999)]+=n[r(595)],n},c[s(509)][s(1205)]=function(e){var t=s,r=this[t(298)].getInt32(this[t(999)],null==e?this[t(1087)]:e);return this[t(999)]+=4,r},c.prototype[s(1154)]=function(e){var t=s,r=this[t(298)][t(785)](this.position,null==e?this[t(1087)]:e);return this[t(999)]+=2,r},c[s(509)][s(1010)]=function(){var e=s,t=this._dataView[e(646)](this[e(999)]);return this.position+=1,t},c[s(509)].readUint32=function(e){var t=s,r=this._dataView.getUint32(this[t(999)],null==e?this[t(1087)]:e);return this[t(999)]+=4,r},c[s(509)][s(793)]=function(e){var t=s,r=this[t(298)].getUint16(this[t(999)],null==e?this[t(1087)]:e);return this[t(999)]+=2,r},c[s(509)][s(803)]=function(){var e=s,t=this[e(298)].getUint8(this[e(999)]);return this.position+=1,t},c[s(509)][s(1117)]=function(e){var t=s,r=this[t(298)][t(560)](this[t(999)],null==e?this.endianness:e);return this[t(999)]+=4,r},c[s(509)][s(1454)]=function(e){var t=s,r=this[t(298)][t(1453)](this.position,null==e?this[t(1087)]:e);return this[t(999)]+=8,r},c[s(1087)]=new Int8Array(new Int16Array([1])[s(690)])[0]>0,c.memcpy=function(e,t,r,n,i){var s=new Uint8Array(e,t,i),o=new Uint8Array(r,n,i);s.set(o)},c[s(819)]=function(e,t){return t==this[s(1087)]?e:this.flipArrayEndianness(e)},c[s(1372)]=function(e,t){var r=s;return this[r(1087)]==t?e:this[r(1420)](e)},c[s(1420)]=function(e){for(var t=s,r=new Uint8Array(e[t(690)],e[t(1145)],e.byteLength),n=0;no;i--,o++){var a=r[o];r[o]=r[i],r[i]=a}return e},c[s(509)][s(1449)]=0,String[s(377)]=function(e){for(var t=s,r=[],n=0;n>16),this[t(219)]((65280&e)>>8),this.writeUint8(255&e)},c.prototype[s(964)]=function(e,t){var r=s,n=this[r(999)];this[r(1148)](e),this[r(789)](t),this[r(1148)](n)},c.prototype[s(947)]=function(e,t){var r=s;this[r(1202)](4*e);var n=new Int32Array(this[r(1489)],this.byteOffset+this[r(999)],e);return c.arrayToNative(n,null==t?this.endianness:t),this[r(999)]+=4*e,n},c[s(509)].mapInt16Array=function(e,t){var r=s;this[r(1202)](2*e);var n=new Int16Array(this[r(1489)],this[r(1145)]+this[r(999)],e);return c[r(819)](n,null==t?this[r(1087)]:t),this[r(999)]+=2*e,n},c.prototype[s(1313)]=function(e){var t=s;this[t(1202)](1*e);var r=new Int8Array(this[t(1489)],this[t(1145)]+this[t(999)],e);return this[t(999)]+=1*e,r},c[s(509)].mapUint32Array=function(e,t){var r=s;this[r(1202)](4*e);var n=new Uint32Array(this[r(1489)],this[r(1145)]+this.position,e);return c[r(819)](n,null==t?this[r(1087)]:t),this[r(999)]+=4*e,n},c[s(509)][s(779)]=function(e,t){var r=s;this[r(1202)](2*e);var n=new Uint16Array(this[r(1489)],this.byteOffset+this[r(999)],e);return c[r(819)](n,null==t?this[r(1087)]:t),this.position+=2*e,n},c.prototype[s(1027)]=function(e,t){var r=s;this[r(1202)](8*e);var n=new Float64Array(this[r(1489)],this[r(1145)]+this[r(999)],e);return c[r(819)](n,null==t?this[r(1087)]:t),this.position+=8*e,n},c.prototype.mapFloat32Array=function(e,t){var r=s;this[r(1202)](4*e);var n=new Float32Array(this[r(1489)],this.byteOffset+this[r(999)],e);return c.arrayToNative(n,null==t?this[r(1087)]:t),this[r(999)]+=4*e,n};var l=function(e){var t=s;this[t(1187)]=[],this[t(1417)]=-1,e&&(this[t(1395)](e),this[t(1417)]=0)};l[s(509)]=new c(new ArrayBuffer,0,c[s(478)]),l[s(509)][s(1068)]=function(){var e,t=s;return this.bufferIndex>-1||(this[t(1187)][t(429)]>0?0===(e=this[t(1187)][0]).fileStart?(this[t(690)]=e,this[t(1417)]=0,o[t(1165)](t(402),t(1237)),!0):(o.warn(t(402),t(1071)),this[t(915)](),!1):(o[t(1204)]("MultiBufferStream",t(834)),this.logBufferLevel(),!1))},ArrayBuffer[s(799)]=function(e,t){var r=s;o[r(1165)](r(277),r(1111)+(e.byteLength+t[r(595)]));var n=new Uint8Array(e[r(595)]+t[r(595)]);return n[r(1257)](new Uint8Array(e),0),n[r(1257)](new Uint8Array(t),e[r(595)]),n[r(690)]},l[s(509)].reduceBuffer=function(e,t,r){var n,i=s;return(n=new Uint8Array(r))[i(1257)](new Uint8Array(e,t,r)),n[i(690)][i(1511)]=e[i(1511)]+t,n[i(690)][i(528)]=0,n.buffer},l[s(509)].insertBuffer=function(e){for(var t=s,r=!0,n=0;ni[t(595)]){this[t(1187)].splice(n,1),n--;continue}o[t(1204)]("MultiBufferStream",t(922)+e[t(1511)]+t(1181)+e[t(595)]+t(1218))}else e[t(1511)]+e[t(595)]<=i.fileStart||(e=this[t(457)](e,0,i.fileStart-e[t(1511)])),o.debug(t(402),"Appending new buffer (fileStart: "+e[t(1511)]+t(1181)+e.byteLength+")"),this[t(1187)][t(404)](n,0,e),0===n&&(this[t(690)]=e);r=!1;break}if(e[t(1511)]0)){r=!1;break}e=this[t(457)](e,a,c)}}r&&(o[t(1165)](t(402),t(227)+e[t(1511)]+t(1181)+e[t(595)]+")"),this.buffers[t(943)](e),0===n&&(this.buffer=e))},l[s(509)].logBufferLevel=function(e){var t,r,n,i,a,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=a[c(1248)]-1+"]");var d=e?o.info:o[c(1165)];0===this[c(1187)][c(429)]?d("MultiBufferStream","No more buffer in memory"):d(c(402),""+this[c(1187)][c(429)]+c(1039)+n+"/"+i+" bytes), continuous ranges: "+l)},l.prototype[s(1296)]=function(){var e,t,r=s;for(e=0;e"+this[t(690)][t(595)]+")"),!0}return!1}return!1},l[s(509)][s(301)]=function(e,t,r){var n,i=s,a=null,c=-1;for(n=!0===e?0:this[i(1417)];n=t?(o[i(1165)](i(402),i(723)+c),c):-1:-1},l[s(509)][s(1409)]=function(e){var t,r,n,i=s,o=void 0!==e?e:this.bufferIndex;if(r=this[i(1187)][o],this[i(1187)][i(429)]>o+1)for(t=o+1;t>3;return 31===s&&i[r(691)][r(429)]>=2&&(s=32+((7&i.data[0])<<3)+((224&i[r(691)][1])>>5)),s}return null},n[e(1486)]=function(t){var r=e;n.Descriptor[r(1083)](this,4,t)},n[e(1486)][e(509)]=new(n[e(391)]),n[e(1486)].prototype.parse=function(t){var r=e;this.oti=t[r(803)](),this[r(1342)]=t[r(803)](),this[r(1359)]=0!=(this[r(1342)]>>1&1),this.streamType=this[r(1342)]>>>2,this[r(1026)]=t[r(502)](),this.maxBitrate=t[r(851)](),this[r(314)]=t.readUint32(),this.size-=13,this[r(1318)](t)},n[e(309)]=function(t){var r=e;n[r(391)][r(1083)](this,5,t)},n[e(309)][e(509)]=new(n[e(391)]),n.SLConfigDescriptor=function(t){var r=e;n[r(391)][r(1083)](this,6,t)},n[e(716)][e(509)]=new(n[e(391)]),this};s(818)!==s(619)&&(t[s(899)]=d);var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:[s(1167),s(1362),"free",s(635),s(223),s(1195)],FULL_BOXES:[s(905),"nmhd","iods",s(1013),s(962),"ipro","mere"],CONTAINER_BOXES:[[s(623),["trak",s(1450)]],[s(518)],["edts"],["mdia"],[s(456)],[s(860)],[s(567),[s(210),s(719)]],[s(350),[s(1399)]],[s(1019),[s(1442)]],[s(1442),[s(972),s(210),s(719)]],[s(944)],[s(584)],["iref"],[s(858),["tfra"]],[s(223)],[s(1080)],[s(1198)],[s(1195)],[s(283)],["sinf"],[s(407)],["schi"],["trgr"],[s(622),[s(681)]],[s(208),["ipma"]],[s(1434)],[s(927)],[s(674)],[s(312),[s(549)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;h[e(1217)][e(509)]=new h.Box,h[e(1200)][e(509)]=new h.Box,h[e(737)][e(509)]=new h.Box,h[e(903)][e(509)]=new(h[e(1217)]),h[e(449)][e(1003)]((function(t){h[e(1352)](t)})),h.FULL_BOXES[e(1003)]((function(t){h[e(1366)](t)})),h[e(1322)][e(1003)]((function(t){h[e(1231)](t[0],null,t[1])}))},Box:function(e,t,r){var n=s;this[n(830)]=e,this[n(841)]=t,this[n(498)]=r},FullBox:function(e,t,r){var n=s;h.Box[n(1083)](this,e,t,r),this[n(874)]=0,this.version=0},ContainerBox:function(e,t,r){var n=s;h[n(285)][n(1083)](this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,n){var i=s;h[i(1200)][i(1083)](this,e,t),this[i(562)]=r,this.start=n},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){var r=s;h[r(1217)][r(1083)](this,e,t)},createBoxCtor:function(e,t){var r=s;h[r(357)][r(943)](e),h[e+r(285)]=function(t){h[r(285)].call(this,e,t)},h[e+"Box"][r(509)]=new(h[r(285)]),t&&(h[e+"Box"][r(509)].parse=t)},createFullBoxCtor:function(e,t){var r=s;h[e+r(285)]=function(t){h[r(1217)].call(this,e,t)},h[e+r(285)].prototype=new h.FullBox,h[e+"Box"][r(509)][r(441)]=function(e){var n=r;this[n(337)](e),t&&t[n(1083)](this,e)}},addSubBoxArrays:function(e){if(e){this[s(1016)]=e;for(var t=e.length,r=0;rr?(o[c(727)](c(1177),"Box of type '"+f+c(477)+d+" greater than its container size "+r),{code:h[c(1185)],type:f,size:d,hdr_size:l,start:u}):0!==d&&u+d>e[c(1012)]()?(e.seek(u),o[c(438)](c(1177),"Not enough data in stream to parse the entire '"+f+"' box"),{code:h[c(1185)],type:f,size:d,hdr_size:l,start:u}):t?{code:h.OK,type:f,size:d,hdr_size:l,start:u}:(h[f+c(285)]?n=new(h[f+c(285)])(d):f!==c(498)?(o.warn(c(1177),c(933)+f+"'"),(n=new(h[c(285)])(f,d))[c(485)]=!0):h[c(264)][a]?n=new h.UUIDBoxes[a](d):(o[c(1204)](c(1177),c(280)+a+"'"),(n=new h.Box(f,d))[c(498)]=a,n[c(485)]=!0),n[c(562)]=l,n[c(1029)]=u,n[c(207)]===h.Box[c(509)][c(207)]&&n[c(830)]!==c(1167)&&(o[c(438)](c(1177),"'"+p+"' box writing not yet implemented, keeping unparsed data in memory for later write"),n.parseDataAndRewind(e)),n.parse(e),(i=e[c(1245)]()-(n[c(1029)]+n[c(841)]))<0?(o.warn(c(1177),"Parsing of box '"+p+c(1387)+-i+c(1427)),e[c(1148)](n[c(1029)]+n.size)):i>0&&(o[c(727)](c(1177),c(1320)+p+"' read "+i+c(1291)),0!==n.size&&e[c(1148)](n.start+n[c(841)])),{code:h.OK,box:n,size:n.size})},h[s(285)][s(509)][s(441)]=function(e){var t=s;this[t(830)]!=t(1167)?this[t(691)]=e[t(928)](this[t(841)]-this.hdr_size):0===this[t(841)]?e[t(1148)](e[t(1012)]()):e[t(1148)](this[t(1029)]+this.size)},h[s(285)][s(509)][s(467)]=function(e){var t=s;this.data=e[t(928)](this[t(841)]-this.hdr_size),e[t(999)]-=this.size-this[t(562)]},h[s(1217)][s(509)][s(467)]=function(e){var t=s;this[t(337)](e),this[t(691)]=e.readUint8Array(this.size-this[t(562)]),this[t(562)]-=4,e[t(999)]-=this[t(841)]-this[t(562)]},h.FullBox.prototype[s(337)]=function(e){var t=s;this.version=e[t(803)](),this.flags=e[t(502)](),this.hdr_size+=4},h[s(1217)][s(509)].parse=function(e){var t=s;this[t(337)](e),this.data=e[t(928)](this[t(841)]-this.hdr_size)},h[s(1200)][s(509)][s(441)]=function(e){for(var t,r,n=s;e[n(1245)]()>10&31,r[1]=this.language>>5&31,r[2]=31&this[t(1108)],this[t(1429)]=String[t(1215)](r[0]+96,r[1]+96,r[2]+96)},h[s(546)]=s(1030),h[s(468)]=s(693),h[s(838)]="Hint",h.SAMPLE_ENTRY_TYPE_METADATA=s(1377),h[s(331)]="Subtitle",h[s(639)]=s(832),h[s(1298)]=s(403),h[s(737)][s(509)].parseHeader=function(e){var t=s;e[t(928)](6),this.data_reference_index=e[t(793)](),this[t(562)]+=8},h[s(737)][s(509)][s(441)]=function(e){var t=s;this[t(995)](e),this[t(691)]=e[t(928)](this[t(841)]-this[t(562)])},h[s(737)].prototype[s(467)]=function(e){var t=s;this.parseHeader(e),this[t(691)]=e.readUint8Array(this[t(841)]-this[t(562)]),this[t(562)]-=8,e[t(999)]-=this.size-this[t(562)]},h[s(737)][s(509)][s(1216)]=function(e){var t=s;h.ContainerBox[t(509)][t(441)][t(1083)](this,e)},h[s(744)](h.SAMPLE_ENTRY_TYPE_HINT),h[s(744)](h[s(989)]),h[s(744)](h[s(331)]),h[s(744)](h[s(639)]),h[s(744)](h[s(1298)]),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t,r=s;this[r(995)](e),e[r(793)](),e[r(793)](),e[r(628)](3),this[r(1517)]=e[r(793)](),this[r(1460)]=e[r(793)](),this[r(1379)]=e.readUint32(),this[r(1508)]=e[r(851)](),e.readUint32(),this[r(1006)]=e[r(793)](),t=Math[r(1447)](31,e[r(803)]()),this[r(1360)]=e.readString(t),t<31&&e[r(1135)](31-t),this[r(278)]=e[r(793)](),e[r(793)](),this[r(1216)](e)})),h[s(744)](h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){var t=s;this.parseHeader(e),e[t(628)](2),this[t(480)]=e[t(793)](),this[t(386)]=e.readUint16(),e[t(793)](),e[t(793)](),this[t(1512)]=e[t(851)]()/65536,this[t(1216)](e)})),h[s(550)](h[s(546)],s(1465)),h[s(550)](h[s(546)],s(236)),h[s(550)](h[s(546)],s(427)),h[s(550)](h[s(546)],s(444)),h.createSampleEntryCtor(h[s(546)],s(344)),h[s(550)](h[s(546)],s(735)),h[s(550)](h[s(546)],s(677)),h[s(550)](h[s(546)],s(1062)),h.createSampleEntryCtor(h[s(546)],"hvt1"),h[s(550)](h[s(546)],s(1261)),h.createSampleEntryCtor(h[s(546)],s(996)),h[s(550)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1415)),h[s(550)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(678)),h[s(550)](h[s(546)],"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(582)),h.createSampleEntryCtor(h[s(546)],s(820)),h[s(550)](h[s(546)],s(1332)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(433)),h.createSampleEntryCtor(h[s(546)],s(1219)),h[s(550)](h[s(546)],s(812)),h.createSampleEntryCtor(h[s(546)],s(451)),h[s(550)](h[s(546)],s(469)),h.createSampleEntryCtor(h[s(546)],s(800)),h[s(550)](h[s(468)],s(1340)),h[s(550)](h[s(468)],"ac-3"),h[s(550)](h[s(468)],s(631)),h.createSampleEntryCtor(h[s(468)],s(862)),h[s(550)](h[s(468)],s(1490)),h[s(550)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(244)),h[s(550)](h[s(468)],s(868)),h[s(550)](h[s(468)],s(699)),h[s(550)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(713)),h[s(440)](h[s(546)],"encv"),h[s(440)](h[s(468)],s(1464)),h[s(440)](h[s(331)],s(809)),h[s(440)](h[s(639)],s(773)),h[s(440)](h[s(1298)],s(356)),h[s(440)](h[s(989)],s(326)),h[s(1352)](s(1492),(function(e){var t=s,r=16*(1+(1&(1&e.readUint8())));this[t(321)]=[];for(var n=0;n<3;n++)this[t(321)][n]=16==r?e[t(793)]():e[t(851)]()})),h.createBoxCtor(s(421),(function(e){var t=s;this.op_index=e[t(803)]()})),h[s(1366)](s(1331),(function(e){var t=s;this[t(740)]=e.readCString();var r=this[t(841)]-this[t(562)]-(this[t(740)][t(429)]+1);this.aux_subtype=e[t(928)](r)})),h[s(1352)]("av1C",(function(e){var t=s,r=e[t(803)]();if(r>>7&!1)o[t(727)]("av1C marker problem");else if(this[t(621)]=127&r,1===this[t(621)])if(r=e[t(803)](),this[t(1503)]=r>>5&7,this[t(1040)]=31&r,r=e[t(803)](),this[t(1267)]=r>>7&1,this[t(1254)]=r>>6&1,this[t(1353)]=r>>5&1,this[t(437)]=r>>4&1,this.chroma_subsampling_x=r>>3&1,this[t(308)]=r>>2&1,this[t(776)]=3&r,r=e[t(803)](),this[t(442)]=r>>5&7,0===this[t(442)]){if(this.initial_presentation_delay_present=r>>4&1,1===this.initial_presentation_delay_present)this[t(1169)]=15&r;else if(this[t(1316)]=15&r,0!==this[t(1316)])return void o[t(727)](t(405));var n=this[t(841)]-this[t(562)]-4;this.configOBUs=e.readUint8Array(n)}else o[t(727)]("av1C reserved_1 parsing problem");else o[t(727)](t(756)+this[t(621)]+t(863))})),h[s(1352)](s(1328),(function(e){var t,r,n=s;for(this[n(1004)]=e[n(803)](),this.AVCProfileIndication=e.readUint8(),this[n(1214)]=e.readUint8(),this.AVCLevelIndication=e[n(803)](),this.lengthSizeMinusOne=3&e[n(803)](),this[n(914)]=31&e[n(803)](),r=this[n(841)]-this[n(562)]-6,this[n(1194)]=[],t=0;t0&&(this.ext=e[n(928)](r))})),h.createBoxCtor(s(924),(function(e){var t=s;this[t(626)]=e[t(851)](),this[t(1423)]=e.readUint32(),this.avgBitrate=e[t(851)]()})),h.createFullBoxCtor(s(310),(function(e){var t=s,r=e[t(803)]();this[t(629)]=128==(128&r),this[t(576)]=64==(64&r),this[t(1240)]=(63&r)>>2,e[t(502)]()})),h.createBoxCtor(s(675),(function(e){var t,r=s;for(this[r(480)]=e[r(793)](),this.channel_indexes=[],this[r(574)]=[],this[r(794)]=[],t=0;t=32768&&this.component_type_urls[t(943)](e[t(1398)]())}})),h[s(1366)](s(990),(function(e){var t,r,n=s;if(t=e[n(851)](),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else(this.colour_type===t(1e3)||this.colour_type===t(1160))&&(this[t(1289)]=e[t(928)](this[t(841)]-4))})),h[s(1366)](s(650),(function(e){var t=s;this.parseLanguage(e),this[t(384)]=e[t(1398)]()})),h[s(1366)](s(973),(function(e){var t=s;0===this[t(621)]&&(this[t(712)]=e[t(1205)](),this[t(593)]=e[t(1205)](),this[t(511)]=e[t(1205)](),this.compositionStartTime=e[t(1205)](),this[t(831)]=e[t(1205)]())})),h.createFullBoxCtor(s(1421),(function(e){var t,r,n=s;if(t=e[n(851)](),this[n(1498)]=[],this.sample_offsets=[],0===this[n(621)])for(r=0;r>6,this.bsid=r>>1&31,this.bsmod=(1&r)<<2|n>>6&3,this[t(1213)]=n>>3&7,this[t(912)]=n>>2&1,this[t(1391)]=3&n|i>>5&7})),h[s(1352)]("dec3",(function(e){var t=s,r=e.readUint16();this[t(281)]=r>>3,this.num_ind_sub=7&r,this[t(706)]=[];for(var n=0;n>6,i[t(1393)]=o>>1&31,i[t(620)]=(1&o)<<4|a>>4&15,i[t(1213)]=a>>1&7,i[t(912)]=1&a,i[t(561)]=c>>1&15,i[t(561)]>0&&(i[t(1451)]=(1&c)<<8|e[t(803)]())}})),h[s(1366)]("dfLa",(function(e){var t=s,r=[],n=[t(1433),t(1324),"APPLICATION","SEEKTABLE",t(625),t(1243),t(983),t(1472)];for(this[t(337)](e);;){var i=e[t(803)](),o=Math[t(1447)](127&i,n[t(429)]-1);if(o?e[t(928)](e[t(502)]()):(e[t(928)](13),this[t(1512)]=e[t(851)]()>>12,e[t(928)](20)),r[t(943)](n[o]),128&i)break}this[t(355)]=r.length+" ("+r[t(630)](", ")+")"})),h.createBoxCtor(s(1099),(function(e){var t=s;this[t(1239)]=e[t(1090)]()})),h[s(1352)](s(594),(function(e){var t=s;this[t(1232)]=e[t(851)]()})),h[s(1352)](s(692),(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){var t=s;if(this.Version=e[t(803)](),this[t(568)]=e.readUint8(),this[t(1147)]=e.readUint16(),this[t(745)]=e[t(851)](),this[t(986)]=e[t(1154)](),this[t(376)]=e[t(803)](),0!==this[t(376)]){this[t(1294)]=e[t(803)](),this[t(1174)]=e.readUint8(),this[t(551)]=[];for(var r=0;r=4;)this[t(1385)][n]=e.readString(4),r-=4,n++})),h[s(1366)](s(1028),(function(e){var t=s;0===this[t(621)]&&(e[t(851)](),this[t(961)]=e[t(1135)](4),e.readUint32Array(3),this[t(849)]=e[t(1135)](this.size-this[t(562)]-20),"\0"===this[t(849)][this[t(849)][t(429)]-1]&&(this[t(849)]=this[t(849)][t(1258)](0,-1)))})),h.createBoxCtor(s(1086),(function(e){var t,r,n,i,o=s;this.configurationVersion=e.readUint8(),i=e[o(803)](),this[o(1457)]=i>>6,this.general_tier_flag=(32&i)>>5,this.general_profile_idc=31&i,this[o(917)]=e.readUint32(),this.general_constraint_indicator=e[o(928)](6),this[o(1392)]=e[o(803)](),this[o(1365)]=4095&e.readUint16(),this[o(590)]=3&e.readUint8(),this[o(1468)]=3&e[o(803)](),this[o(1081)]=7&e[o(803)](),this.bit_depth_chroma_minus8=7&e.readUint8(),this[o(1236)]=e[o(793)](),i=e[o(803)](),this[o(689)]=i>>6,this[o(953)]=(13&i)>>3,this[o(1276)]=(4&i)>>2,this[o(1098)]=3&i,this[o(1133)]=[];var a=e[o(803)]();for(t=0;t>7,c[o(634)]=63&i;var u=e.readUint16();for(r=0;r>4&15,this[r(759)]=15&t,t=e[r(803)](),this[r(1400)]=t>>4&15,1===this[r(621)]||2===this[r(621)]?this[r(1250)]=15&t:this.index_size=0,this[r(1077)]=[];var n=0;if(this[r(621)]<2)n=e[r(793)]();else{if(2!==this[r(621)])throw r(1336);n=e.readUint32()}for(var i=0;i>7,this[t(460)]=1&r})),h.createFullBoxCtor(s(733),(function(e){var t=s;if((0===this[t(621)]||1===this.version)&&(this[t(1054)]=e[t(793)](),this[t(1161)]=e[t(793)](),this[t(893)]=e[t(1398)](),this[t(665)]=e.readCString(),this.content_encoding=e.readCString()),1===this[t(621)])return this.extension_type=e[t(1135)](4),o[t(1204)]("BoxParser",t(1103)),void e.seek(this[t(1029)]+this.size);this.version>=2&&(2===this.version?this[t(1054)]=e.readUint16():3===this[t(621)]&&(this[t(1054)]=e[t(851)]()),this[t(1161)]=e[t(793)](),this[t(1247)]=e[t(1135)](4),this[t(893)]=e.readCString(),this[t(1247)]===t(218)?(this[t(665)]=e[t(1398)](),this[t(293)]=e[t(1398)]()):this[t(1247)]===t(1374)&&(this.item_uri_type=e[t(1398)]()))})),h[s(1366)](s(556),(function(e){var t,r,n=s;for(entry_count=e[n(851)](),this[n(1367)]=[],t=0;t>7==1,1&this[n(874)]?c[n(607)]=(127&a)<<8|e[n(803)]():c[n(607)]=127&a}}})),h[s(1366)](s(234),(function(e){var t,r,n=s;for(this[n(430)]=[];e.getPosition()>7,i.assignment_type=127&a,i[t(1279)]){case 0:i[t(290)]=e[t(1135)](4);break;case 1:i[t(290)]=e.readString(4),i[t(954)]=e[t(851)]();break;case 2:case 3:break;case 4:i[t(1008)]=e[t(851)]();break;default:o.warn(t(1177),t(1467))}}})),h[s(1352)](s(1007),(function(e){var t=s;this.layer_id=e[t(793)]()})),h[s(1352)]("maxr",(function(e){var t=s;this[t(1497)]=e.readUint32(),this[t(1196)]=e[t(851)]()})),f[s(509)][s(366)]=function(){return"("+this.x+","+this.y+")"},h[s(1352)](s(527),(function(e){var t=s;this[t(475)]=[],this[t(475)][0]=new f(e[t(793)](),e[t(793)]()),this[t(475)][1]=new f(e[t(793)](),e.readUint16()),this[t(475)][2]=new f(e.readUint16(),e.readUint16()),this[t(307)]=new f(e.readUint16(),e[t(793)]()),this[t(935)]=e[t(851)](),this.min_display_mastering_luminance=e[t(851)]()})),h[s(1366)](s(243),(function(e){var t=s;1==this[t(621)]?(this[t(1523)]=e[t(1090)](),this.modification_time=e[t(1090)](),this[t(948)]=e[t(851)](),this[t(791)]=e[t(1090)]()):(this[t(1523)]=e[t(851)](),this.modification_time=e[t(851)](),this[t(948)]=e[t(851)](),this.duration=e.readUint32()),this[t(1122)](e),e[t(793)]()})),h.createFullBoxCtor(s(435),(function(e){var t=s;1&this.flags&&(o[t(1204)]("BoxParser",t(539)),this.version=1),1==this[t(621)]?this.fragment_duration=e.readUint64():this[t(1132)]=e[t(851)]()})),h[s(1366)](s(686),(function(e){var t=s;this[t(680)]=[],h[t(1200)][t(509)].parse[t(1083)](this,e)})),h[s(1366)](s(1206),(function(e){var t=s;this[t(767)]=e[t(851)]()})),h[s(1366)](s(1386),(function(e){var t=s;this[t(1505)]=e[t(851)]()})),h.createFullBoxCtor(s(332),(function(e){var t=s;this[t(328)]=e[t(803)]()})),h[s(1366)](s(401),(function(e){var t=s;1==this[t(621)]?(this[t(1523)]=e[t(1090)](),this[t(736)]=e[t(1090)](),this[t(948)]=e.readUint32(),this.duration=e[t(1090)]()):(this[t(1523)]=e[t(851)](),this[t(736)]=e.readUint32(),this[t(948)]=e[t(851)](),this[t(791)]=e[t(851)]()),this[t(1058)]=e.readUint32(),this[t(510)]=e.readUint16()>>8,e[t(793)](),e.readUint32Array(2),this[t(1272)]=e[t(628)](9),e[t(628)](6),this[t(497)]=e[t(851)]()})),h.createBoxCtor(s(1031),(function(e){this.packetssent=e.readUint32()})),h[s(1352)]("nump",(function(e){var t=s;this[t(956)]=e[t(1090)]()})),h[s(1366)](s(743),(function(e){var t=s,r=e[t(851)]();this[t(934)]=[];for(var n=0;n0){var r=e.readUint32();this.kid=[];for(var n=0;n0&&(this[t(691)]=e[t(928)](i))})),h[s(1366)](s(1101),(function(e){var t=s;this.width=e[t(851)](),this[t(1460)]=e[t(851)]()})),h[s(1366)](s(748),(function(e){var t=s;this[t(1517)]=e[t(851)](),this[t(1460)]=e[t(851)]()})),h[s(1366)]("prof",(function(e){var t=s;this.width=e[t(851)](),this.height=e.readUint32()})),h.createContainerBoxCtor(s(827),null,[s(1101),s(1160),s(748)]),h.createBoxCtor(s(1170),(function(e){var t=s;this.descriptionformat=e[t(1135)](4),this[t(714)]=e[t(1135)](this.size-this[t(562)]-4)})),h[s(1366)]("saio",(function(e){var t=s;1&this[t(874)]&&(this[t(1283)]=e[t(851)](),this[t(1431)]=e[t(851)]());var r=e[t(851)]();this[t(741)]=[];for(var n=0;n>7,this[t(1189)]=r>>6&1,this[t(530)]&&(this[t(791)]=e[t(851)]()),this[t(1189)]&&(this[t(654)]=e.readUint8(),this[t(807)]=e[t(793)](),this[t(1236)]=e.readUint16()),this.dependency=[];for(var n=e.readUint8(),i=0;i>7,this[t(1504)]=127&r})),h[s(1100)](s(848),(function(e){var t=s;if(this.operation_point_count=e[t(793)](),this.description_length!==2+(1===this[t(1471)]?2:6*this[t(1471)])+9)o[t(1204)](t(1177),t(506)+this[t(290)]+t(1060)),this[t(691)]=e.readUint8Array(this[t(1044)]-2);else{if(1===this[t(1471)])this[t(1510)]=e.readUint16();else{this[t(1510)]=[],this.available_bitrate=[];for(var r=0;r>4,this[t(1260)]=15&r,this[t(1228)]=e.readUint8(),this[t(390)]=e[t(803)](),this[t(652)]=h[t(653)](e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this[t(390)]&&(this.constant_IV_size=e.readUint8(),this[t(1411)]=e[t(928)](this.constant_IV_size))})),h[s(1100)]("stsa",(function(e){var t=s;o[t(1204)](t(1177),t(1052)+this[t(290)]+t(273))})),h.createSampleGroupCtor("sync",(function(e){var t=s,r=e[t(803)]();this[t(1502)]=63&r})),h[s(1100)](s(642),(function(e){var t=s,r=e[t(803)]();this[t(1416)]=r>>7})),h.createSampleGroupCtor(s(555),(function(e){var t=s;o.warn(t(1177),t(1052)+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor(s(1183),(function(e){var t=s;o[t(1204)](t(1177),t(1052)+this[t(290)]+t(273))})),h.createSampleGroupCtor(s(1300),(function(e){var t=s;o[t(1204)]("BoxParser",t(1052)+this[t(290)]+t(273))})),h[s(1366)](s(719),(function(e){var t=s;this[t(290)]=e.readString(4),1===this.version?this.grouping_type_parameter=e[t(851)]():this[t(954)]=0,this.entries=[];for(var r=e.readUint32(),n=0;n>6,this[r(1059)][i]=t>>4&3,this[r(1469)][i]=t>>2&3,this[r(1413)][i]=3&t})),h.createFullBoxCtor(s(415)),h[s(1366)](s(210),(function(e){var t=s;this[t(290)]=e[t(1135)](4),o[t(1165)]("BoxParser",t(461)+this.grouping_type),1===this[t(621)]?this[t(295)]=e[t(851)]():this.default_length=0,this.version>=2&&(this[t(1428)]=e.readUint32()),this[t(548)]=[];for(var r=e[t(851)](),n=0;n>31&1,i[t(804)]=2147483647&o,i[t(835)]=e.readUint32(),o=e[t(851)](),i[t(491)]=o>>31&1,i[t(856)]=o>>28&7,i[t(1056)]=268435455&o}})),h[s(345)]=function(e,t,r,n){var i=s;h[i(285)][i(1083)](this,e,t),this[i(562)]=r,this[i(1029)]=n},h[s(345)][s(509)]=new(h[s(285)]),h.SingleItemTypeReferenceBox[s(509)][s(441)]=function(e){var t=s;this[t(1432)]=e.readUint16();var r=e[t(793)]();this[t(430)]=[];for(var n=0;n>4&15,this[n(1479)][t+1]=15&i}else if(8===this[n(992)])for(t=0;t0)for(r=0;r>4&15,this[t(784)]=15&r}this[t(1304)]=e[t(803)](),this[t(813)]=e[t(803)](),this[t(637)]=h[t(653)](e),1===this[t(1304)]&&0===this[t(813)]&&(this[t(1311)]=e[t(803)](),this[t(1233)]=e[t(928)](this[t(1311)]))})),h[s(1366)](s(1361),(function(e){var t=s;1==this[t(621)]?this[t(557)]=e[t(1090)]():this[t(557)]=e[t(851)]()})),h[s(1366)](s(1157),(function(e){var t=s,r=0;this[t(931)]=e[t(851)](),this[t(841)]-this[t(562)]>r&&this[t(874)]&h[t(837)]?(this.base_data_offset=e.readUint64(),r+=8):this.base_data_offset=0,this[t(841)]-this[t(562)]>r&&this[t(874)]&h[t(788)]?(this.default_sample_description_index=e[t(851)](),r+=4):this[t(1002)]=0,this[t(841)]-this.hdr_size>r&&this[t(874)]&h[t(313)]?(this.default_sample_duration=e[t(851)](),r+=4):this[t(455)]=0,this[t(841)]-this[t(562)]>r&&this.flags&h[t(395)]?(this[t(432)]=e[t(851)](),r+=4):this[t(432)]=0,this[t(841)]-this[t(562)]>r&&this[t(874)]&h.TFHD_FLAG_SAMPLE_FLAGS?(this[t(231)]=e.readUint32(),r+=4):this.default_sample_flags=0})),h[s(1366)](s(647),(function(e){var t=s;this.track_ID=e[t(851)](),e[t(502)]();var r=e.readUint8();this.length_size_of_traf_num=r>>4&3,this[t(754)]=r>>2&3,this[t(1474)]=3&r,this[t(548)]=[];for(var n=e[t(851)](),i=0;i>8,e.readUint16(),this[t(1272)]=e[t(1072)](9),this[t(1517)]=e[t(851)](),this[t(1460)]=e[t(851)]()})),h[s(1352)](s(378),(function(e){var t=s;this[t(1232)]=e[t(851)]()})),h[s(1352)](s(521),(function(e){this[s(1232)]=e.readUint32()})),h[s(1352)](s(694),(function(e){var t=s;this[t(1239)]=e[t(851)]()})),h[s(1352)](s(1253),(function(e){var t=s;this[t(1239)]=e[t(851)]()})),h.createBoxCtor(s(941),(function(e){var t=s;this.bytessent=e[t(1090)]()})),h[s(903)][s(509)].parse=function(e){var t=s;this.parseFullHeader(e),this.track_group_id=e[t(851)]()},h.createTrackGroupCtor(s(534)),h[s(815)]=function(e,t,r,n){var i=s;h[i(285)][i(1083)](this,e,t),this[i(562)]=r,this[i(1029)]=n},h.TrackReferenceTypeBox[s(509)]=new(h[s(285)]),h[s(815)].prototype[s(441)]=function(e){var t=s;this.track_ids=e[t(628)]((this.size-this.hdr_size)/4)},h.trefBox.prototype[s(441)]=function(e){for(var t,r,n=s;e[n(1245)]()r&&this.flags&h[t(1396)]?(this[t(251)]=e[t(1205)](),r+=4):this[t(251)]=0,this[t(841)]-this[t(562)]>r&&this[t(874)]&h.TRUN_FLAGS_FIRST_FLAG?(this[t(1485)]=e.readUint32(),r+=4):this[t(1485)]=0,this.sample_duration=[],this[t(651)]=[],this[t(343)]=[],this[t(859)]=[],this[t(841)]-this[t(562)]>r)for(var n=0;n>7&1,this[r(777)]=n>>6&1,this.block_little_endian=n>>5&1,this[r(483)]=n>>4&1,this[r(297)]=n>>3&1,this.pixel_size=e[r(851)](),this[r(783)]=e.readUint32(),this[r(997)]=e.readUint32(),this.num_tile_cols_minus_one=e[r(851)](),this[r(1235)]=e[r(851)]()}})),h[s(1366)](s(319),(function(e){var t=s;1!==this[t(874)]&&(this[t(1401)]=e[t(1398)]())})),h[s(1366)]("urn ",(function(e){var t=s;this[t(849)]=e[t(1398)](),this[t(841)]-this[t(562)]-this[t(849)][t(429)]-1>0&&(this[t(1401)]=e[t(1398)]())})),h[s(708)](s(1493),!0,!1,(function(e){var t=s;this[t(1414)]=e[t(1135)](this[t(841)]-this[t(562)])[t(383)](/&/g,"&").replace(//g,t(1462)).replace(/"/g,t(325))[t(383)](/'/g,t(951))})),h[s(708)](s(671),!0,!1,(function(e){var t=s;this[t(1150)]=h[t(653)](e);var r=e.readUint32();r>0&&(this[t(691)]=e[t(928)](r))})),h[s(708)]("a2394f525a9b4f14a2446c427c648df4",!0,!1),h[s(708)](s(1229),!0,!1,(function(e){var t=s;this.default_AlgorithmID=e[t(502)](),this[t(596)]=e[t(803)](),this[t(637)]=h[t(653)](e)})),h.createUUIDBox(s(408),!0,!1,(function(e){var t=s;this[t(870)]=e.readUint8(),this.entries=[];for(var r=0;r>4,this[r(1097)]=t>>1&7,this[r(541)]=1&t,this.colourPrimaries=e[r(803)](),this[r(738)]=e.readUint8(),this[r(327)]=e[r(803)](),this[r(852)]=e[r(793)](),this[r(1364)]=e[r(928)](this[r(852)])):(this[r(1256)]=e[r(803)](),this[r(265)]=e.readUint8(),t=e[r(803)](),this[r(1104)]=t>>4&15,this[r(1136)]=15&t,t=e.readUint8(),this[r(1097)]=t>>4&15,this[r(241)]=t>>1&7,this[r(541)]=1&t,this[r(852)]=e[r(793)](),this[r(1364)]=e.readUint8Array(this.codecIntializationDataSize))})),h[s(1352)](s(1280),(function(e){var t=s;this[t(1403)]=e.readString(this[t(841)]-this[t(562)])})),h[s(1366)](s(1066),(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){var t=vo;this[t(684)]=e.readUint8(),this[t(213)]=8},stream_read_2_bytes:function(e){var t=vo;this[t(684)]=e[t(793)](),this[t(213)]=16},extract_bits:function(e){var t=vo,r=this[t(684)]>>this[t(213)]-e&(1<1){for(i[n(489)](e),this[n(666)]=0,r=this.num_sublayers-2;r>=0;--r){var c=i[n(1137)](1);this.ptl_sublayer_present_mask|=c<1;++r)i[n(1137)](1);for(this[n(496)]=[],r=this.num_sublayers-2;r>=0;--r)this[n(666)]&1<>=1;r+=h[t(544)](i,0),r+=".",0===this[t(1086)][t(1138)]?r+="L":r+="H",r+=this[t(1086)].general_level_idc;var o=!1,a="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||o)&&(a="."+h[t(544)](this[t(1086)][t(955)][e],0)+a,o=!0);r+=a}return r},h[s(957)][s(509)].getCodec=h[s(753)][s(509)][s(1439)]=function(){var e,t=s,r=h.SampleEntry[t(509)][t(1439)][t(1083)](this);if(this[t(1066)]){r+="."+this[t(1066)][t(1436)],this[t(1066)].general_tier_flag?r+=".H":r+=".L",r+=this[t(1066)][t(1392)];var n="";if(this.vvcC[t(422)]){var i,o=[],a=0;for(a|=this[t(1066)].ptl_frame_only_constraint<<7,a|=this[t(1066)][t(1163)]<<6,e=0;e>2&63,o[t(943)](a),a&&(i=e),a=this[t(1066)][t(422)][e]>>2&3;if(void 0===i)n=".CA";else{n=".C";var c="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|o[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},h[s(1201)][s(509)][s(1439)]=function(){var e=s,t=h[e(737)][e(509)][e(1439)][e(1083)](this);if(this[e(1074)]&&this.esds[e(1343)]){var r=this[e(1074)].esd[e(245)](),n=this[e(1074)].esd.getAudioConfig();return t+"."+h.decimalToHex(r)+(n?"."+n:"")}return t},h[s(1521)][s(509)].getCodec=function(){var e=s,t=h[e(737)][e(509)].getCodec.call(this);return this[e(967)]?t+"."+this[e(967)]:t},h.vp08SampleEntry.prototype[s(1439)]=h.vp09SampleEntry[s(509)][s(1439)]=function(){var e=s,t=h.SampleEntry[e(509)][e(1439)][e(1083)](this),r=this[e(648)][e(265)];0==r&&(r="00");var n=this[e(648)][e(1104)];return 8==n&&(n="08"),t+".0"+this[e(648)][e(1256)]+"."+r+"."+n},h[s(1032)][s(509)][s(1439)]=function(){var e,t=s,r=h[t(737)].prototype[t(1439)][t(1083)](this),n=this.av1C[t(1040)];return n<10&&(n="0"+n),2===this[t(224)][t(1503)]&&1===this[t(224)][t(1254)]?e=1===this[t(224)][t(1353)]?"12":"10":this[t(224)][t(1503)]<=2&&(e=1===this.av1C[t(1254)]?"10":"08"),r+"."+this[t(224)][t(1503)]+"."+n+(this[t(224)][t(1267)]?"H":"M")+"."+e},h[s(285)].prototype[s(1482)]=function(e,t){var r=s;this[r(841)]+=8,this[r(841)]>u&&(this.size+=8),"uuid"===this[r(830)]&&(this[r(841)]+=16),o[r(1165)](r(617),r(503)+this[r(830)]+r(707)+this[r(841)]+" at position "+e[r(1245)]()+(t||"")),this[r(841)]>u?e[r(789)](1):(this[r(1153)]=e[r(1245)](),e[r(789)](this[r(841)])),e.writeString(this[r(830)],null,4),this[r(830)]===r(498)&&e[r(720)](this[r(498)]),this[r(841)]>u&&e[r(512)](this[r(841)])},h[s(1217)].prototype[s(1482)]=function(e){var t=s;this[t(841)]+=4,h[t(285)][t(509)][t(1482)].call(this,e,t(1244)+this[t(621)]+t(575)+this[t(874)]),e[t(219)](this[t(621)]),e.writeUint24(this[t(874)])},h[s(285)].prototype[s(207)]=function(e){var t=s;this[t(830)]===t(1167)?this[t(691)]&&(this[t(841)]=this[t(691)][t(429)],this[t(1482)](e),e.writeUint8Array(this[t(691)])):(this.size=this[t(691)]?this[t(691)][t(429)]:0,this.writeHeader(e),this[t(691)]&&e[t(720)](this.data))},h[s(1200)][s(509)][s(207)]=function(e){var t=s;this[t(841)]=0,this.writeHeader(e);for(var r=0;r=2&&e[n(789)](this.default_sample_description_index),e.writeUint32(this[n(548)][n(429)]),t=0;t0)for(t=0;t+1r?1:0,this[t(874)]=0,this[t(841)]=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this[t(621)]?e[t(512)](this[t(557)]):e.writeUint32(this[t(557)])},h[s(1184)].prototype.write=function(e){var t=s;this[t(621)]=0,this[t(841)]=4,this[t(874)]&h[t(837)]&&(this[t(841)]+=8),this[t(874)]&h[t(788)]&&(this[t(841)]+=4),this.flags&h[t(313)]&&(this[t(841)]+=4),this.flags&h[t(395)]&&(this.size+=4),this.flags&h[t(611)]&&(this[t(841)]+=4),this.writeHeader(e),e[t(789)](this[t(931)]),this[t(874)]&h[t(837)]&&e[t(512)](this[t(1435)]),this[t(874)]&h[t(788)]&&e[t(789)](this[t(1002)]),this.flags&h[t(313)]&&e.writeUint32(this[t(455)]),this[t(874)]&h[t(395)]&&e[t(789)](this[t(432)]),this[t(874)]&h.TFHD_FLAG_SAMPLE_FLAGS&&e[t(789)](this[t(231)])},h[s(1220)][s(509)][s(207)]=function(e){var t=s;this[t(621)]=0,this.size=80,this[t(1482)](e),e.writeUint32(this[t(1523)]),e.writeUint32(this[t(736)]),e.writeUint32(this.track_id),e[t(789)](0),e[t(789)](this.duration),e[t(789)](0),e[t(789)](0),e[t(979)](this[t(552)]),e[t(979)](this[t(1176)]),e[t(979)](this[t(510)]<<8),e.writeUint16(0),e[t(920)](this[t(1272)]),e[t(789)](this[t(1517)]),e[t(789)](this[t(1460)])},h[s(294)][s(509)][s(207)]=function(e){var t=s;this[t(621)]=0,this.flags=0,this[t(841)]=20,this[t(1482)](e),e[t(789)](this.track_id),e.writeUint32(this[t(1002)]),e[t(789)](this[t(455)]),e.writeUint32(this[t(432)]),e[t(789)](this[t(231)])},h[s(1041)][s(509)][s(207)]=function(e){var t=s;this[t(621)]=0,this.size=4,this[t(874)]&h[t(1396)]&&(this[t(841)]+=4),this[t(874)]&h[t(1426)]&&(this[t(841)]+=4),this[t(874)]&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration[t(429)]),this[t(874)]&h[t(334)]&&(this[t(841)]+=4*this[t(651)].length),this[t(874)]&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags[t(429)]),this[t(874)]&h[t(255)]&&(this[t(841)]+=4*this[t(859)][t(429)]),this[t(1482)](e),e[t(789)](this[t(883)]),this[t(874)]&h.TRUN_FLAGS_DATA_OFFSET&&(this[t(329)]=e[t(1245)](),e[t(1310)](this[t(251)])),this.flags&h[t(1426)]&&e[t(789)](this[t(1485)]);for(var r=0;r-1||e[r]instanceof h[n(285)]||t[r]instanceof h[n(285)]||void 0===e[r]||void 0===t[r]||typeof e[r]===n(1463)||"function"==typeof t[r]||e[n(1016)]&&e.subBoxNames[n(778)](r[n(1258)](0,4))>-1||t[n(1016)]&&t.subBoxNames.indexOf(r[n(1258)](0,4))>-1||r===n(691)||"start"===r||r===n(841)||r===n(1523)||r===n(736)||h[n(855)].indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){var r=s;if(!h[r(1155)](e,t))return!1;for(var n=0;n=t?e:new Array(t-e.length+1)[n(630)](r)+e}function o(e){var t=vo,r=Math[t(306)](e/3600),n=Math.floor((e-3600*r)/60),s=Math[t(306)](e-3600*r-60*n),o=Math[t(306)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(o,3)}for(var a=this[n(1139)](r),c="",u=0;u1)for(t=1;t-1&&this[t(1209)][t(404)](r,1)},_[s(509)][s(336)]=function(e,t,r){var n=s,i=this.getTrackById(e);if(i){var o={};this[n(1050)].push(o),o.id=e,o.user=t,o[n(518)]=i,i[n(1210)]=0,o.nb_samples=1e3,o[n(718)]=[],r&&r[n(836)]&&(o.nb_samples=r.nbSamples)}},_[s(509)].unsetExtractionOptions=function(e){for(var t=s,r=-1,n=0;n-1&&this[t(1050)][t(404)](r,1)},_[s(509)][s(441)]=function(){var e,t,r=s;if(!this[r(458)]||this.restoreParsePosition())for(;;){if(this[r(975)]&&this[r(975)]()){if(this[r(448)]())continue;return}if(this[r(700)]&&this[r(700)](),(e=h[r(1314)](this.stream,false))[r(1005)]===h[r(1185)]){if(this[r(253)]){if(this[r(253)](e))continue;return}return}var n;switch(n=(t=e[r(861)]).type!==r(498)?t.type:t[r(498)],this[r(680)][r(943)](t),n){case"mdat":this[r(1038)][r(943)](t);break;case"moof":this[r(796)][r(943)](t);break;case"moov":this[r(1238)]=!0,0===this.mdats[r(429)]&&(this[r(267)]=!0);default:void 0!==this[n]&&o[r(1204)](r(452),r(945)+n+r(608)),this[n]=t}this[r(603)]&&this[r(603)](t,e)}},_[s(509)][s(585)]=function(e){var t=s;if(null==e)throw t(864);if(void 0===e[t(1511)])throw t(1021);return 0===e.byteLength?(o[t(1204)](t(452),t(1459)+e[t(1511)]+")"),this[t(1120)][t(915)](),!1):(o[t(438)]("ISOFile",t(1061)+e.fileStart+")"),e[t(528)]=0,this.stream.insertBuffer(e),this[t(1120)].logBufferLevel(),!!this[t(1120)].initialized()||(o[t(1204)](t(452),"Not ready to start parsing"),!1))},_.prototype[s(682)]=function(e,t){var r,n=s;if(this[n(585)](e))return this.parse(),this[n(1238)]&&!this[n(533)]&&(this[n(533)]=!0,this[n(1363)]&&this[n(1363)]()),this[n(623)]?(!this[n(1182)]&&(this.buildSampleLists(),this[n(1182)]=!0),this[n(782)](),this[n(493)]&&!this[n(1035)]&&(this[n(1035)]=!0,this[n(493)](this[n(1149)]())),this.processSamples(t),this[n(1271)]?(r=this[n(1271)],this[n(1271)]=void 0):r=this[n(412)],this[n(1120)][n(394)]&&(r=this[n(1120)][n(394)](r))):r=this[n(412)]?this[n(412)]:0,this[n(810)]&&this[n(529)]&&!this[n(1175)]&&(this.onSidx(this.sidx),this[n(1175)]=!0),this[n(686)]&&(this[n(1234)]&&!this.itemListBuilt&&(this[n(1234)](),this[n(636)]=!0),this[n(507)]&&this[n(507)](this[n(1445)])),this.stream[n(1296)]&&(o.info(n(452),"Done processing buffer (fileStart: "+e[n(1511)]+n(1211)+r),this[n(1120)].logBufferLevel(),this[n(1120)][n(1296)](),this[n(1120)][n(915)](!0),o.info(n(452),"Sample data size in memory: "+this[n(393)]())),r},_[s(509)][s(1149)]=function(){var e,t,r,n,i,o,a=s,c={},u=new Date(a(842))[a(1023)]();if(this[a(623)])for(c[a(1522)]=!0,c[a(791)]=this[a(623)][a(401)][a(791)],c[a(948)]=this.moov.mvhd[a(948)],c[a(715)]=null!=this[a(623)][a(350)],c[a(715)]&&this[a(623)][a(350)][a(435)]&&(c[a(1132)]=this[a(623)][a(350)][a(435)].fragment_duration),c[a(267)]=this[a(267)],c[a(303)]=null!=this[a(623)][a(360)],c[a(871)]=[],c[a(871)][a(943)](this[a(1337)][a(1448)]),c[a(871)]=c[a(871)][a(799)](this[a(1337)][a(1385)]),c[a(697)]=new Date(u+1e3*this.moov.mvhd[a(1523)]),c[a(760)]=new Date(u+1e3*this.moov[a(401)][a(736)]),c.tracks=[],c[a(786)]=[],c[a(1088)]=[],c[a(966)]=[],c.metadataTracks=[],c[a(1368)]=[],c[a(471)]=[],e=0;e0?c[a(218)]+=a(514):c[a(786)]&&c[a(786)][a(429)]>0?c[a(218)]+=a(614):c.mime+=a(450),e=0;e=r[n(718)].length)&&(o.info(n(452),n(547)+i.id+n(1014)+Math[n(1159)](0,r[n(1210)]-i.nb_samples)+","+(r.nextSample-1)+"]"),o[n(438)](n(452),n(981)+this[n(393)]()),this.onSegment&&this.onSegment(i.id,i[n(1166)],i[n(501)][n(690)],r[n(1210)],e||r[n(1210)]>=r.samples[n(429)]),i[n(501)]=null,i!==this[n(1209)][t]))break}}if(null!==this[n(1179)])for(t=0;t=r[n(718)][n(429)])&&(o[n(1165)](n(452),"Sending samples on track #"+c.id+n(1020)+r[n(1210)]),this[n(1179)]&&this.onSamples(c.id,c[n(1166)],c[n(718)]),c[n(718)]=[],c!==this[n(1050)][t]))break}}}},_[s(509)][s(938)]=function(e){var t=this[s(655)](e,!0);return t.length?t[0]:null},_[s(509)][s(655)]=function(e,t){var r=[];return _[s(531)].call(this,e,r,t),r},_[s(531)]=function(e,t,r){var n=s;for(var i in this[n(830)]&&this[n(830)]==e&&t[n(943)](this),this.boxes){if(t[n(429)]&&r)return;_[n(531)][n(1083)](this.boxes[i],e,t,r)}},_.prototype[s(892)]=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},_.prototype[s(959)]=function(e,t){var r=s,n=this[r(1172)](e);return this[r(365)](n,t)},_.prototype[s(601)]=function(e,t,r){var n=s,i=0,a=this[n(1172)](e);a[n(1246)]||(a[n(1246)]=0);for(var c=a.lastValidSample;ce*i[u(948)]){d=n-1;break}t&&i[u(600)]&&(l=n)}for(t&&(d=l),e=r.samples[d][u(1076)],r.nextSample=d;r.samples[d].alreadyRead===r[u(718)][d][u(841)]&&r[u(718)][d+1];)d++;return a=r[u(718)][d][u(741)]+r[u(718)][d][u(1230)],o[u(438)](u(452),u(881)+(t?u(1456):"")+u(811)+r[u(1210)]+u(880)+r[u(436)][u(931)]+u(1064)+o[u(526)](e,c)+u(240)+a),{offset:a,time:e/c}},_.prototype[s(254)]=function(e){var t,r=s;return e[r(718)]?((t=e.samples[e.samples.length-1])[r(1076)]+t.duration)/t[r(948)]:1/0},_.prototype.seek=function(e,t){var r,n,i,a=s,c=this[a(623)],u={offset:1/0,time:1/0};if(this[a(623)]){for(i=0;ithis[a(254)](r)||((n=this[a(908)](e,t,r))[a(741)]-1){u=l;break}switch(u){case t(1030):if(o[t(246)](t(1047))[t(1257)]("graphicsmode",0).set(t(235),[0,0,0]),c[t(1257)](t(1517),r[t(1517)])[t(1257)]("height",r[t(1460)]).set("horizresolution",72<<16)[t(1257)](t(1508),72<<16)[t(1257)](t(1006),1)[t(1257)](t(1360),r[t(830)]+" Compressor")[t(1257)]("depth",24),r[t(696)]){var p=new(h[t(385)]);p.parse(new a(r[t(696)])),c.addBox(p)}else if(r[t(844)]){var m=new(h[t(1347)]);m[t(441)](new a(r[t(844)])),c.addBox(m)}break;case"Audio":o[t(246)]("smhd")[t(1257)](t(902),r[t(902)]||0),c[t(1257)](t(480),r[t(480)]||2).set("samplesize",r[t(386)]||16)[t(1257)](t(1512),r[t(1512)]||65536);break;case"Hint":o[t(246)](t(905));break;case"Subtitle":if(o[t(246)]("sthd"),r[t(830)]===t(411))c.set(t(898),r.namespace||t(757))[t(1257)](t(1193),r[t(1193)]||"")[t(1257)](t(597),r[t(597)]||"");break;case t(1377):o.add(t(1321));break;case t(832):o[t(246)](t(1321));break;default:o[t(246)]("nmhd")}r[t(925)]&&c.addBox(r[t(925)]),r[t(993)]&&r[t(993)][t(1003)]((function(e){c[t(490)](e)})),o[t(246)]("dinf")[t(246)](t(368)).addEntry((new(h[t(272)]))[t(1257)](t(874),1));var v=o[t(246)](t(567));return v.add(t(212)).addEntry(c),v[t(246)](t(1024))[t(1257)]("sample_counts",[])[t(1257)](t(977),[]),v[t(246)](t(657))[t(1257)]("first_chunk",[]).set(t(673),[])[t(1257)](t(396),[]),v[t(246)]("stco")[t(1257)](t(434),[]),v[t(246)](t(971))[t(1257)](t(1479),[]),this[t(623)][t(350)][t(246)]("trex").set(t(931),r.id).set(t(1002),r[t(1002)]||1)[t(1257)]("default_sample_duration",r.default_sample_duration||0)[t(1257)](t(432),r[t(432)]||0)[t(1257)](t(231),r.default_sample_flags||0),this[t(1351)](n),r.id}},h[s(285)][s(509)].computeSize=function(e){var t=s,r=e||new c;r[t(1087)]=c[t(478)],this[t(207)](r)},_[s(509)].addSample=function(e,t,r){var n=s,i=r||{},o={},a=this[n(1172)](e);if(null!==a){o[n(1199)]=a[n(718)][n(429)],o[n(931)]=a.tkhd.track_id,o[n(948)]=a[n(446)][n(243)][n(948)],o.description_index=i[n(396)]?i[n(396)]-1:0,o[n(925)]=a[n(446)][n(456)].stbl[n(212)].entries[o[n(1273)]],o[n(691)]=t,o[n(841)]=t[n(595)],o[n(1230)]=o.size,o.duration=i[n(791)]||1,o.cts=i.cts||0,o[n(322)]=i[n(322)]||0,o[n(600)]=i[n(600)]||!1,o[n(225)]=i[n(225)]||0,o.depends_on=i.depends_on||0,o[n(641)]=i[n(641)]||0,o[n(381)]=i[n(381)]||0,o[n(349)]=i[n(349)]||0,o[n(741)]=0,o[n(958)]=i.subsamples,a[n(718)][n(943)](o),a[n(725)]+=o[n(841)],a[n(288)]+=o.duration,void 0===a[n(857)]&&(a.first_dts=i[n(322)]),this[n(1123)]();var c=this[n(399)](o);return this[n(490)](c),c[n(479)](),c[n(289)][0].truns[0][n(251)]=c[n(841)]+8,this[n(246)](n(1167))[n(691)]=new Uint8Array(t),o}},_[s(509)][s(399)]=function(e){var t=s,r=0;r=e.is_sync?1<<25:65536;var n=new(h[t(424)]);n.add(t(1206))[t(1257)](t(767),this[t(994)]),this[t(994)]++;var i=n[t(246)]("traf"),o=this.getTrackById(e[t(931)]);return i.add(t(1157)).set(t(931),e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i[t(246)](t(1361))[t(1257)]("baseMediaDecodeTime",e.dts-(o[t(857)]||0)),i[t(246)](t(972))[t(1257)]("flags",h[t(1396)]|h[t(1369)]|h[t(334)]|h[t(1496)]|h.TRUN_FLAGS_CTS_OFFSET)[t(1257)](t(251),0).set(t(1485),0)[t(1257)]("sample_count",1)[t(1257)](t(1095),[e.duration])[t(1257)](t(651),[e[t(841)]])[t(1257)](t(343),[r])[t(1257)]("sample_composition_time_offset",[e[t(1076)]-e[t(322)]]),n},_[s(509)][s(540)]=0,_[s(509)].samplesDataSize=0,_[s(509)].resetTables=function(){var e,t,r,n,i,o,a=s;for(this[a(970)]=this[a(623)][a(401)][a(791)],this[a(623)][a(401)][a(791)]=0,e=0;e=2&&(u=i[a].grouping_type+"/0",(c=new d(i[a][l(290)],0))[l(305)]=!0,!t[l(1488)][u]&&(t[l(1488)][u]=c))}else for(a=0;a=2&&(u=n[a].grouping_type+"/0",c=new d(n[a][l(290)],0),!e[l(1488)][u]&&(e[l(1488)][u]=c))},_[s(1373)]=function(e,t,r,n){var i,o,a=s;for(i in t[a(296)]=[],n){var c;if(t[a(296)][i]={},t[a(296)][i].grouping_type=n[i].grouping_type,t.sample_groups[i].grouping_type_parameter=n[i][a(954)],r>=n[i].last_sample_in_run&&(n[i][a(918)]<0&&(n[i].last_sample_in_run=0),n[i].entry_index++,n[i][a(1514)]<=n[i][a(719)][a(548)][a(429)]-1&&(n[i][a(918)]+=n[i][a(719)][a(548)][n[i].entry_index][a(883)])),n[i][a(1514)]<=n[i][a(719)].entries.length-1?t[a(296)][i].group_description_index=n[i].sbgp[a(548)][n[i][a(1514)]][a(362)]:t[a(296)][i][a(362)]=-1,0!==t[a(296)][i].group_description_index)c=n[i].fragment_description?n[i].fragment_description:n[i].description,t[a(296)][i].group_description_index>0?(o=t[a(296)][i][a(362)]>65535?(t[a(296)][i][a(362)]>>16)-1:t.sample_groups[i][a(362)]-1,c&&o>=0&&(t[a(296)][i].description=c.entries[o])):c&&c[a(621)]>=2&&c[a(1428)]>0&&(t[a(296)][i].description=c[a(548)][c[a(1428)]-1])}},_.process_sdtp=function(e,t,r){var n=s;t&&(e?(t[n(225)]=e[n(225)][r],t[n(731)]=e.sample_depends_on[r],t.is_depended_on=e[n(1469)][r],t.has_redundancy=e[n(1413)][r]):(t[n(225)]=0,t.depends_on=0,t[n(641)]=0,t[n(381)]=0))},_.prototype.buildSampleLists=function(){var e,t,r=s;for(e=0;eb&&(w++,b<0&&(b=0),b+=o[C(1498)][w]),t>0?(e[C(718)][t-1][C(791)]=o[C(977)][w],e[C(288)]+=e[C(718)][t-1][C(791)],x[C(322)]=e[C(718)][t-1].dts+e[C(718)][t-1][C(791)]):x.dts=0,a?(t>=S&&(I++,S<0&&(S=0),S+=a[C(1498)][I]),x[C(1076)]=e[C(718)][t][C(322)]+a[C(1299)][I]):x[C(1076)]=x[C(322)],c?(t==c[C(710)][A]-1?(x.is_sync=!0,A++):(x[C(600)]=!1,x.degradation_priority=0),l&&l[C(548)][k].sample_delta+E==t+1&&(x[C(958)]=l[C(548)][k][C(958)],E+=l[C(548)][k][C(840)],k++)):x.is_sync=!0,_[C(419)](e[C(446)][C(456)][C(567)][C(1410)],x,x[C(1199)]),f?x.degradation_priority=f.priority[t]:x[C(349)]=0,l&&l[C(548)][k].sample_delta+E==t&&(x[C(958)]=l[C(548)][k][C(958)],E+=l[C(548)][k][C(840)]),(d[C(429)]>0||h.length>0)&&_[C(1373)](e,x,t,e[C(1488)])}t>0&&(e[C(718)][t-1][C(791)]=Math[C(1159)](e[C(446)].mdhd[C(791)]-e[C(718)][t-1].dts,0),e[C(288)]+=e[C(718)][t-1][C(791)])}},_.prototype[s(782)]=function(){var e,t,r,n,i,o,a,c,u,l,d,f,p,m,v,y=s;if(void 0!==this.moov)for(;this[y(540)]0&&_[y(1051)](f,d,d.sbgps,f[y(446)][y(456)].stbl[y(1326)],d[y(1326)]),t=0;t0?m.dts=f.samples[f[y(718)][y(429)]-2][y(322)]+f[y(718)][f[y(718)][y(429)]-2][y(791)]:(d.tfdt?m[y(322)]=d[y(1361)].baseMediaDecodeTime:m[y(322)]=0,f.first_traf_merged=!0),m[y(1076)]=m.dts,g[y(874)]&h[y(255)]&&(m[y(1076)]=m[y(322)]+g.sample_composition_time_offset[r]),v=a,g[y(874)]&h[y(1496)]?v=g[y(343)][r]:0===r&&g[y(874)]&h.TRUN_FLAGS_FIRST_FLAG&&(v=g[y(1485)]),m[y(600)]=!(v>>16&1),m.is_leading=v>>26&3,m[y(731)]=v>>24&3,m[y(641)]=v>>22&3,m[y(381)]=v>>20&3,m[y(349)]=65535&v;var b=!!(d.tfhd[y(874)]&h[y(837)]),w=!!(d[y(1157)][y(874)]&h[y(769)]),S=!!(g.flags&h[y(1396)]),I=0;I=b?d[y(1157)][y(1435)]:w||0===t?l[y(1029)]:c,m[y(741)]=0===t&&0===r?S?I+g[y(251)]:I:c,c=m[y(741)]+m[y(841)],(d.sbgps.length>0||d[y(1326)].length>0||f[y(446)].minf[y(567)][y(1084)][y(429)]>0||f[y(446)][y(456)][y(567)][y(1326)][y(429)]>0)&&_[y(1373)](f,m,m.number_in_traf,d[y(1488)])}}if(d[y(1164)]){f[y(1130)]=!0;var A=d[y(638)];for(t=0;t-1))return null;var u=(r=this[n(1120)][n(1187)][a])[n(595)]-(i[n(741)]+i.alreadyRead-r[n(1511)]);if(i[n(841)]-i[n(1230)]<=u)return o[n(1165)](n(452),n(536)+t+" data (alreadyRead: "+i[n(1230)]+n(431)+(i[n(741)]+i[n(1230)]-r[n(1511)])+" read size: "+(i[n(841)]-i[n(1230)])+n(605)+i[n(841)]+")"),c[n(374)](i[n(691)].buffer,i[n(1230)],r,i[n(741)]+i[n(1230)]-r[n(1511)],i.size-i[n(1230)]),r[n(528)]+=i[n(841)]-i[n(1230)],this[n(1120)].logBufferLevel(),i[n(1230)]=i[n(841)],i;if(0===u)return null;o[n(1165)](n(452),n(536)+t+n(320)+i[n(1230)]+n(431)+(i[n(741)]+i[n(1230)]-r[n(1511)])+n(1126)+u+n(605)+i[n(841)]+")"),c[n(374)](i[n(691)].buffer,i[n(1230)],r,i.offset+i.alreadyRead-r[n(1511)],u),i[n(1230)]+=u,r[n(528)]+=u,this[n(1120)][n(915)]()}},_[s(509)][s(1262)]=function(e,t){var r=s,n=e[r(718)][t];return n[r(691)]?(this[r(269)]-=n[r(841)],n[r(691)]=null,n[r(925)]=null,delete n[r(349)],delete n.depends_on,delete n[r(1273)],delete n[r(381)],delete n[r(641)],delete n[r(225)],delete n.is_sync,delete n.moof_number,delete n.number_in_traf,delete n[r(948)],delete n[r(1076)],delete n.dts,delete n[r(741)],delete n[r(841)],delete n[r(931)],delete n.duration,n.alreadyRead=0,n.size):0},_[s(509)][s(393)]=function(){return this[s(269)]},_[s(509)][s(271)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this[t(623)][t(869)][e].mdia[t(456)][t(567)][t(212)][t(548)][0][t(1439)]()}return r},_.prototype[s(351)]=function(e){var t,r=s;if(!this[r(623)]||!this.moov[r(350)])return null;for(t=0;t0&&(r[n(1269)]=c[n(1333)][n(604)][c[n(1065)][n(1307)][e].protection_index-1]),c[n(1065)][n(1307)][e][n(1247)]?r[n(830)]=c.iinf[n(1307)][e].item_type:r.type=n(218),r[n(665)]=c.iinf[n(1307)][e][n(665)],r[n(293)]=c.iinf[n(1307)][e].content_encoding;if(c[n(927)])for(e=0;e0&&p[n(607)]-1-1))return null;var l=(t=this[n(1120)][n(1187)][u]).byteLength-(a[n(741)]+a[n(1230)]-t[n(1511)]);if(!(a[n(429)]-a[n(1230)]<=l))return o[n(1165)](n(452),"Getting item #"+e+n(1480)+i+n(320)+a[n(1230)]+" offset: "+(a[n(741)]+a[n(1230)]-t[n(1511)])+" read size: "+l+n(982)+a[n(429)]+n(872)+r[n(841)]+")"),c[n(374)](r[n(691)][n(690)],r[n(1230)],t,a[n(741)]+a[n(1230)]-t[n(1511)],l),a[n(1230)]+=l,r[n(1230)]+=l,t[n(528)]+=l,this[n(1120)][n(915)](),null;o.debug(n(452),n(765)+e+n(1480)+i+n(766)+a[n(1230)]+" offset: "+(a[n(741)]+a[n(1230)]-t.fileStart)+n(1126)+(a.length-a.alreadyRead)+" full extent size: "+a[n(429)]+n(872)+r[n(841)]+")"),c[n(374)](r[n(691)][n(690)],r[n(1230)],t,a[n(741)]+a[n(1230)]-t[n(1511)],a[n(429)]-a[n(1230)]),t[n(528)]+=a[n(429)]-a[n(1230)],this[n(1120)][n(915)](),r.alreadyRead+=a[n(429)]-a[n(1230)],a[n(1230)]=a.length}}return r.alreadyRead===r.size?r:null},_[s(509)][s(570)]=function(e){var t=s,r=this[t(1077)][e];if(r.data){this.itemsDataSize-=r[t(841)],r[t(691)]=null,r[t(1230)]=0;for(var n=0;n0?this[i(623)][i(869)][e].samples[0].duration:0),t[i(943)](n)}return t},_[s(509)].getPerformanceInfo=function(){var e=s,t={};return t.moov=this[e(623)],this[e(623)]&&this[e(623)].traks&&this.moov[e(869)][e(429)]>1&&(t[e(679)]=this[e(623)][e(869)][0][e(718)][e(429)],t[e(660)]=this[e(623)][e(869)][1][e(718)][e(429)]),t},h[s(285)][s(509)][s(217)]=function(e){var t=s;this[t(841)]+=8,this[t(841)]>u&&(this.size+=8),this.type===t(498)&&(this.size+=16),e[t(505)](e[t(1079)]+"size:"+this[t(841)]),e[t(505)](e.indent+t(888)+this[t(830)])},h[s(1217)][s(509)].printHeader=function(e){var t=s;this[t(841)]+=4,h[t(285)][t(509)][t(217)][t(1083)](this,e),e[t(505)](e[t(1079)]+t(798)+this[t(621)]),e[t(505)](e[t(1079)]+t(257)+this.flags)},h.Box[s(509)][s(286)]=function(e){this[s(217)](e)},h.ContainerBox[s(509)][s(286)]=function(e){var t=s;this[t(217)](e);for(var r=0;r>8)),e[t(505)](e[t(1079)]+t(826)+this.matrix[t(630)](", ")),e.log(e[t(1079)]+"next_track_id: "+this[t(497)])},h[s(1220)].prototype[s(286)]=function(e){var t=s;h[t(1217)][t(509)][t(217)][t(1083)](this,e),e.log(e[t(1079)]+t(695)+this[t(1523)]),e[t(505)](e[t(1079)]+t(380)+this[t(736)]),e[t(505)](e[t(1079)]+t(292)+this[t(931)]),e.log(e[t(1079)]+"duration: "+this[t(791)]),e.log(e[t(1079)]+t(821)+(this[t(510)]>>8)),e.log(e[t(1079)]+t(826)+this.matrix[t(630)](", ")),e[t(505)](e.indent+"layer: "+this[t(552)]),e[t(505)](e.indent+t(670)+this[t(1176)]),e[t(505)](e[t(1079)]+"width: "+this[t(1517)]),e[t(505)](e[t(1079)]+t(1292)+this[t(1460)])};var g={};g[s(963)]=function(e,t){var r=s,n=void 0===e||e,i=new _(t);return i[r(1255)]=!n,i},"undefined"!==s(818)&&(t[s(963)]=g[s(963)])}));function vo(e,t){var r=yo();return(vo=function(e,t){return r[e-=207]})(e,t)}function yo(){var e=["component_types","sample_duration","max_pic_average_light_level","chromaSubsampling","lengthSizeMinusOne","dimm","createSampleGroupCtor","clef","slid","Cannot parse extension type","bitDepth","sample_number","wvtt","BYTES_PER_ELEMENT","language","ES_Descriptor","component_count","Trying to create a new buffer of size: ","MP4BoxStream","Log","first_traf_merged","component_bit_depth_minus_one","Removing buffer #","readFloat32","writeFloat32","TFHD_FLAG_DUR_EMPTY","stream","Not enough bytes in buffer","parseLanguage","processSamples","horizontal_justification","codec_specific_parameters"," read size: ","revokeObjectURL","num_bytes_constraint_info","199490ARernP","has_fragment_subsamples","TKHD_FLAG_IN_PREVIEW","fragment_duration","nalu_arrays","stss","readString","colorSpace","extract_bits","general_tier_flag","parseSample","tags","full_range_flag","readInt8Array","primary"," on track #","byteOffset","ASCII","PreSkip","seek","getInfo","system_id","primaryRChromaticity_y","stscBox","sizePosition","readInt16","boxEqualFields","avc3SampleEntry","tfhd","sttsBox","max","prof","item_protection_index","group_id","ptl_multilayer_enabled","subs","debug","user","mdat","default_sample_info_size","initial_presentation_delay_minus_one","rtp "," writing not yet implemented, keeping unparsed data in memory for later write","getTrackById","whitePointChromaticity_y","CoupledCount","sidxSent","alternate_group","BoxParser","resetTables","onSamples","ext"," - Length: ","sampleListBuilt","tscl","tfhdBox","ERR_NOT_ENOUGH_DATA","writeFloat32Array","buffers"," --\x3e ","avgRateFlag","co64Box","kinds","cleanApertureWidthD","schema_location","SPS","strk","bytes","principal_point_x","hinf","number","ContainerBox","mp4aSampleEntry","_realloc","pts","warn","readInt32","mfhd","properties","cleanApertureWidthN","fragmentedTracks","nextSample",") - next buffer to fetch should have a fileStart position of ","essential","acmod","profile_compatibility","fromCharCode","parseFooter","FullBox",") already appended, ignoring","avs3","tkhdBox","entity_ids","vmhdBox","writeInitializationSegment","avc1SampleEntry","component_little_endian","_byteOffset","stsg","isProtected","8974dbce7be74c5184f97148f9882554","alreadyRead","createContainerBoxCtor","time","default_constant_IV","flattenItemInfo","num_tile_rows_minus_one","avgFrameRate","Stream ready for parsing","moovStartFound","bytessent","max_ref_per_pic","string","target","CUESHEET"," v=","getPosition","lastValidSample","item_type","end","addSample","index_size","float32be"," not found in buffered data","tpay","high_bitdepth","discardMdatData","profile","set","slice","Adjusted seek position (after checking data already in buffer): ","skip_byte_block","lhe1","releaseSample","uint32le","writeInt16Array","offset_size","Creating media fragment on track #","seq_tier_0","colr","protection","entity_groups","nextSeekPosition","matrix","description_index","ptl_multilayer_enabled_flag","dtrt","temporalIdNested","float64be","File uses negative stts sample delta, using value 1 instead, sync may be lost!","assignment_type","vttC","seekLists","ftypBox","aux_info_type","itemToFragmentedTrackFile","Exporting on track #","attribute_list","num_output_samples","stshBox","ICC_profile","createCommonjsModule"," more bytes than the indicated box data size, seeking backwards","height: "," (released size: ","StreamCount","trpy","cleanBuffers","vSpacing","SAMPLE_ENTRY_TYPE_TEXT","sample_offsets","vipr","stco","num_entities_in_group","' and size ","default_isProtected","AVCProfileIndication","base_offset","item_infos","uint16be","(empty)","writeInt32","default_constant_IV_size","media_rate_integer","mapInt8Array","parseOneBox","XMLSubtitlein4Parser","reserved_2","switch_group","parseRemainingDescriptors","getChannelCount","Parsing of box '","nmhd","CONTAINER_BOXES","quat_z","PADDING","addSubBoxArrays","sgpds","wbbr","avcC",", column: ","elng","auxC","vp08","ipro"," already stored in field of this type","bad_columns","version of iloc box not supported","ftyp","stszBox","altr","mp4a","pasp","streamType","esd","sample_info_size","default_crypt_byte_block","bitrate","hvcCBox","ref_to",'" box',"equal","buildTrakSampleLists","createBoxCtor","twelve_bit","getWidth","length_size_of_traf_num","Error reading base offset size","whitePointChromaticity_x",", remaining: ","upStream","compressorname","tfdt","idat","onMoovStart","codecIntializationData","min_spatial_segmentation_idc","createFullBoxCtor","associations","hintTracks","TRUN_FLAGS_DURATION","num_sublayers","number_in_traf","nativeToEndian","setSampleGroupProperties","uri ","stcoBox","maxFALL","Metadata","matrix_coefficients","horizresolution","elngBox","pos_z","metadata","Found ","Generating initialization segment","compatible_brands","mfro","' did not read the entire indicated box data size (missing ","fieldCount","first_output_sample","ster","bit_rate_code","general_level_idc","bsid","tsyn","insertBuffer","TRUN_FLAGS_DATA_OFFSET","extent_length","readCString","trex","base_offset_size","location","float32le","text","quat_x","printRanges","AudioSampleEntry","CoLL","defineProperty","findEndContiguousBuf","sdtp","constant_IV","mapUint32Array","sample_has_redundancy","LiveServerManifest","dvhe","level_independently_decodable","bufferIndex","SampleGroup for type ","levels","flipArrayEndianness","ctts","getSampleSize","maxBitrate","moof_number","colour_primaries","TRUN_FLAGS_FIRST_FLAG"," bytes), seeking forward","default_group_description_index","languageString","fragment_description","aux_info_type_parameter","from_item_ID","STREAMINFO","ipco","base_data_offset","general_profile_idc","component_type_urls","clli","getCodec","1103610llwYqW","discard_priority","traf","Track #","init","onItem","Not enough bytes left in the parent box to parse a UUID box","min","major_brand","failurePosition","pssh","chan_loc","mapFloat32Array","getFloat64","readFloat64","props","RAP","general_profile_space","msg","Ignoring empty buffer (fileStart: ","height","component_index",">","function","enca","avc1","extent_index","Unknown leva assignement type","chroma_format_idc","sample_is_depended_on","Found box of type '","operation_point_count","RESERVED","stsh","length_size_of_sample_num","minor_version","mergeNextBuffer","leva","int8","sample_sizes"," extent #","getSampleRate","writeHeader","angle","Box of type ","first_sample_flags","DecoderConfigDescriptor","sbtt","sample_groups_info","_buffer","Opus","getText","a1lx","a5d40b30e81411ddba2f0800200c9a66","writeFloat64Array","avg_frame_rate","TRUN_FLAGS_FLAGS","period","sample_counts","createFragment","pos_y","_self","NAL_unit_type","seq_profile","num_leading_samples","_size","ntp_timestamp","alst","vertresolution","Not enough data in stream to parse the type and size of the box","target_rate_share","fileStart","samplerate","avll","entry_index","DataStream.save: Can't create object URL.","nclx","width","initialize","uint16","[row: ","stxtSampleEntry","hasMoov","creation_time","absolute_time","dynamicSize","write","iprp","horizOffD","sgpd","test","stsd","num_held_bits","Allocating sample #","sidxBox","box_record","printHeader","mime","writeUint8","itemId","findDescriptor","writeString","meco","av1C","is_leading","Unknown Sample Group type: ","Appending new buffer (fileStart: ","setUint16","ssix","No method for reading signed 64 bits values","default_sample_flags","favc","primaryGChromaticity_x","iref","opcolor","avc2","ranges","hasItem","getBuffer"," and offset: ","transferFunction","writeUCS2String","mdhd","mha1","getOTI","add","movie_duration","step_count","OCR_ES_ID","application/xml","data_offset","media_rate_fraction","processIncompleteBox","getTrackDuration","TRUN_FLAGS_CTS_OFFSET","writeFooter","flags:","descs","vide","<","fobr","getInt32","mdatBox","UUIDBoxes","level","ispe","isProgressive","chunk_run_index","samplesDataSize","prgr","getCodecs","url Box"," not fully parsed","vertical_justification","scnm","int16le","ArrayBuffer","depth","principal_point_y","Unknown uuid type: '","data_rate","int32le","strd","parseOneDescriptor","Box","print","kid","samples_duration","trafs","grouping_type","horizOffN","track_id: ","content_encoding","trexBox","default_length","sample_groups","pad_unknown","_dataView","getLength","fscod","findPosition","message_data","hasIOD","_trimAlloc","is_fragment","floor","white_point","chroma_subsampling_y","DecoderSpecificInfo","ccst","Error accessing position in the MultiBufferStream","etyp","TFHD_FLAG_SAMPLE_DUR","avgBitrate","parseUUID","absolute_duration","Unlimited box size not supported for type: '","maxCLL","url "," partial data (alreadyRead: ","layer_size","dts","setUint32","tfdtBox",""","encm","matrixCoefficients","bits_per_pixel","data_offset_position","addUsedBytes","SAMPLE_ENTRY_TYPE_SUBTITLE","mskC","hdlrBox","TRUN_FLAGS_SIZE","pdin","setExtractionOptions","parseFullHeader","stdp","avss","rapAlignement","isAudio","prdi","sample_flags","av01","SingleItemTypeReferenceBox","elst","writeStruct","num_total_samples","degradation_priority","mvex","getTrexById","encode","scheme_uri","mfhdBox","numMetadataBlocks","enct","boxCodes","scheme_version","reserved","iods","Not enough bytes left in the parent box to parse a new box","group_description_index","ols_idx","stereo_scheme","getSample","toString","clap","dref","lang","tag","_dynamicSize","channel_indexes","Track created with MP4Box.js","memcpy","irot","ChannelMappingFamily","fromCharCodeUint8","tmax"," (total: ","modification_time: ","has_redundancy"," with new size ","replace","notice","avcCBox","samplesize","duration: ","isVideo","transfer_characteristics","Per_Sample_IV_Size","Descriptor",'"; profiles="',"getAllocatedSampleDataSize","getEndFilePositionAfter","TFHD_FLAG_SAMPLE_SIZE","sample_description_index","3AVdYPo","writeType","createSingleSampleMoof","nalu","mvhd","MultiBufferStream","Text","splice","av1C reserved_2 parsing problem","parseConfig","rinf","d4807ef2ca3946958e5426cb9e46a79f","luminanceMax","mdhdBox","stpp","nextParsePosition","Adjusting box ","urn Box","senc","uint32be","trexs","drep","process_sdtp","quat_y","a1op","general_constraint_info","reference_type","moofBox","num_bad_rows","block_size","avc3","extent_offset","length","references"," offset: ","default_sample_size","vp09","chunk_offsets","mehd","tkhd","monochrome","info","Allocating item #","createEncryptedSampleEntryCtor","parse","reserved_1","setFloat64","avc4","correction_applied","mdia","bad_pixel_column","processIncompleteMdat","BASIC_BOXES",'application/mp4; codecs="',"mjp2","ISOFile","imir","component_align_size","default_sample_duration","minf","reduceBuffer","restoreParsePosition","readFloat32Array","axis","Found Sample Groups of type ","177813PHkjlH","primaryGChromaticity_y","num_bad_cols","to_item_ID","dataview","parseDataAndRewind","SAMPLE_ENTRY_TYPE_AUDIO","mjpg","num_ind_sub","otherTracks","trep","int32"," at position ","display_primaries","itemsDataSize","' has a size ","BIG_ENDIAN","computeSize","channel_count","scheme_id_uri","isSubtitle","block_reversed","emsgBox","has_unparsed_data","setInt32","mapUint8Array","Item storage with reference to other files: not supported","stream_read_1_bytes","addBox","starts_with_SAP","bg_color_rgba","onReady","split","stxt","sublayer_level_idc","next_track_id","uuid","sync_sample_numbers","uint8","segmentStream","readUint24","Writing box ","writeInt8","log","Mismatch in ","processItems","cleanApertureHeightN","prototype","volume","greatestDecodeToDisplayDelta","writeUint64","max_content_light_level",'video/mp4; codecs="',"isFragmentationInitialized","cslgBox","writeFloat64","trak","AVCLevelIndication","boxEqual","tmin","hSpacing","u16stringbe","data_reference_index","UUIDs","getDurationString","mdcv","usedBytes","onSidx","durationFlag","_sweep","152bJKRWb","moovStartSent","msrc","URL","Getting sample #","earliest_presentation_time","save","mehd box incorrectly uses flags set to 1, converting version to 1","lastMoofIndex","videoFullRangeFlag"," released samples up to ","SubtitleSampleEntry","decimalToHex","SampleEntry ","SAMPLE_ENTRY_TYPE_VISUAL","Sending fragmented data on track #","entries","tyco","createSampleEntryCtor","ChannelMapping","layer","int16","item_id","tsas","ipma","baseMediaDecodeTime","skew_factor","nb_samples","getFloat32","num_dep_sub","hdr_size","moovBox","track_ID","ipmas","scheme_type","stbl","OutputChannelCount","parsingMdat","releaseItem","int32be","entry_count","20HZelFR","channel_types"," f=","intra_pred_used","kindBox","getItem","vertOffD","schemeURI","primaryRChromaticity_x","vvs1","stz2","tref","checkBuffer","getUint32","readUint","getPrimaryItem","num_channels","parallelismType","data_format","codec","leastDecodeToDisplayDelta","dmax","byteLength","default_IV_size","auxiliary_mime_types","pixi","addTrack","is_sync","releaseUsedSamples","component_format","updateUsedBytes","protections"," full size: ","brst","property_index",", overriding previous occurrence","image_width","writeInt8Array","TFHD_FLAG_SAMPLE_FLAGS","moof_offset","crypt_byte_block",'audio/mp4; codecs="',"readInt64","truns","BoxWriter","apply","undefined","bsmod","version","udta","moov","event_duration","VORBIS_COMMENT","bufferSizeDB","lastBoxStartPosition","readUint32Array","all_ref_pics_intra","join","ac-4","displayFlags","ptl_present_flag","nalu_type","skip","itemListBuilt","default_KID","first_sample_index","SAMPLE_ENTRY_TYPE_SYSTEM","isEof","is_depended_on","tele","uncC","SingleItemTypeReferenceBoxLarge","sbpm","getInt8","tfra","vpcC","charCodeAt","cprt","sample_size","KID","parseHex16","accurateStatisticsFlag","getBoxes","_byteLength","stsc","Repositioning parser at buffer position: ","stri","moovVideoNum","minimum_bitrate","Needs an array buffer","writeUint16Array","hev1SampleEntry","content_type","ptl_sublayer_present_mask","padding_flag","style_record","unsetSegmentOptions","alternate_group: ","d08a4f1810f34a82b6c832d8aba183d3","writeCString","samples_per_chunk","j2kH","cdef","setAllUsedBytes","hvc1","vvc1","moovAudioNum","boxes","kind","appendBuffer","edts","held_bits","bad_pixels","meta","Adjusting data_offset with new value ","colour_type","constantFrameRate","buffer","data","dmed","Audio","totl","creation_time: ","avcDecoderConfigRecord","created","LITTLE_ENDIAN","mhm1","saveParsePosition","tx3g","uint32","6d1d9b0542d544e680e2141daff757b2","isMetadata","subSeqDirectionFlag","ind_subs"," of size: ","createUUIDBox","roll_distance","sample_numbers","stppSampleEntry","compositionToDTSShift","mhm2","sdptext","isFragmented","SLConfigDescriptor","ctts box uses negative values without using version 1","samples","sbgp","writeUint8Array","iso4"," box writing not yet implemented, keeping unparsed data in memory for later write","Found position in existing buffer #"," has an invalid size ","samples_size","track_width","error","Flushing remaining samples","setInt16","hvc1SampleEntry","depends_on","bit_depth_chroma_minus8","infe","TKHD_FLAG_ENABLED","dav1","modification_time","SampleEntry","transferCharacteristics","single_view_allowed","aux_type","offset","TrackReference ","padb","createMediaSampleEntryCtor","InputSampleRate","focal_length_y","payt","enof","4815288pmEkmI","ptl_num_sub_profiles",'Not enough data in stream to parse the extended size of the "',"iloc","vvi1SampleEntry","length_size_of_trun_num","dependsOn_ES_ID","av1C version ","nonamespace","Concatenating buffer for box parsing (length: ","length_size","modified","VisualSampleEntry","presentation_time_delta","emsg","extended_language","Getting item #"," data (alreadyRead: ","sequence_number","mvhdBox","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","MP4Box","cttsBox","used","encs","ref_track_id","source","chroma_sample_position","block_pad_lsb","indexOf","mapUint16Array","initializeSegmentation","Found 'mdat' end in buffered data","updateSampleLists","row_align_size","default_skip_byte_block","getInt16","audioTracks","afbr","TFHD_FLAG_SAMPLE_DESC","writeUint32","mehdBox","duration","stream_read_2_bytes","readUint16","channel_associations","tenc","moofs","float32","version:","concat","uncv","first_offset","range_size","readUint8","referenced_size","createElement","timescale: ","avgBitRate","shift","encu","sidx"," sample #","j2ki","default_Per_Sample_IV_Size","flush","TrackReferenceTypeBox","extents","sampleProcessingStarted","object","arrayToNative","vvcN","volume: ","tracks","MetadataSampleEntry","stvi","onSegment","matrix: ","tapt","sample_offset","writeUint16","type","compositionEndTime","System","pmax","No buffer to start parsing from","subsegment_duration","nbSamples","TFHD_FLAG_BASE_DATA_OFFSET","SAMPLE_ENTRY_TYPE_HINT","num_bad_pixels","sample_delta","size","1904-01-01T00:00:00Z","chunk_index","hevcDecoderConfigRecord","saiz","available_bitrate","DataStream","rash","name","setNextSeekPositionFromSample","readUint32","codecIntializationDataSize","ES_ID","isEos","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","SAP_type","first_dts","mfra","sample_composition_time_offset","dinf","box","ec-3"," not supported","Buffer must be defined and non empty","metadataTracks","destroy","dataView","mha2","traks","fragment_count","brands"," full item size: ","compositionStartTime","flags","resources","Item storage with construction_method : not supported","cmin","first_chunk","cmex"," on track ","Seeking to ","writeUint32Array","sample_count","getAudioConfig","oti","luminanceMin","unpack","type:","priority","], [","onError","getTrackSamplesInfo","item_name","bad_pixel_row","mvif","dobr","741000KxqafO","namespace","MPEG4DescriptorParser","schm","Textin4Parser","balance","TrackGroupTypeBox","graphicsmode","hmhd","segment_duration","sent","seekTrack","presentation_time","cts_shift","video","lfeon","createEntityToGroupCtor","nb_SPS_nalus","logBufferLevel","reference_ID","general_profile_compatibility","last_sample_in_run","14kpdHJI","writeInt32Array","frma","Buffer (fileStart: ","DIFF_BOXES_PROP_NAMES","btrt","description","float64","grpl","readUint8Array","documentString","pow","track_id","albc","Unknown box type: '","padbits","max_display_mastering_luminance","addEntry","sampleEntryCodes","getBox","rate: ","Position ","tpyl","seig","push","vttc","Duplicate Box of type: ","setAttribute","mapInt32Array","timescale","11kCATmD","readAnyInt","'","getUint8","numTemporalLayers","grouping_type_parameter","general_constraint_indicator","packetssent","vvc1SampleEntry","subsamples","getTrackSample","construction_method","handler","bxml","createFile","adjustUint32","value","subtitleTracks","mime_format","stop","bad_rows","initial_duration","stsz","trun","cslg","subSequenceIdentifier","hasIncompleteMdat","prol","sample_deltas","stssBox","writeInt16","getHeight","Sample data size in memory: "," full extent size: ","PICTURE","getDescriptorName","image_height","OutputGain","nb_PPS_nalus","SmDm","SAMPLE_ENTRY_TYPE_METADATA","co64","shadowed_sample_numbers","field_size","description_boxes","nextMoofNumber","parseHeader","dvh1","tile_align_size","PPS","position","rICC","1034364KnLKVv","default_sample_description_index","forEach","configurationVersion","code","frame_count","lsel","sub_track_id","sinf","readInt8","udes","getEndPosition","xml "," for samples [","iaug","subBoxNames","isHint","SampleGroupEntry","moof"," for sample ","Buffer must have a fileStart property","track_ids","getTime","stts","Error reading extent index","bufferSize","mapFloat64Array","hdlr","start","Visual","npck","av01SampleEntry","subsegments","metx","readySent","dependency","elstBox","mdats"," stored buffer(s) (","seq_level_idx_0","trunBox","TKHD_FLAG_IN_MOVIE","audio","description_length"," of size ","appendChild","vmhd","styp","bits_per_channels","extractedTracks","initSampleGroups","Sample Group type: ","document","item_ID","subtitles","SAP_delta_time","payl","rate","sample_depends_on"," sample group length","Processing buffer (fileStart: ","hev1","avc4SampleEntry",", time ","iinf","vvcC","139225MpZYxa","initialized","prft","u16string","The first buffer should have a fileStart of 0","readInt32Array","txtC","esds","layerNumber","cts","items","completeness","indent","hnti","bit_depth_luma_minus8","readUint16Array","call","sbgps","primaryBChromaticity_y","hvcC","endianness","videoTracks","click","readUint64","aebr","uint16le","pitm"];return(yo=function(){return e})()}function _o(){const e=["591470BvivEc","10nRYkdn","then","catch","instance","141jLCuvL","slice","3991616jMhCEh","debuglog","destroy","debugWarn","function","memory","instantiate","set","50546pYJQHk","TAG_NAME","object","player","Module","stack overflow","init error","not support wasm","transport","1551318SPHUNL","init","16457841LWQSRf","10tYqQOj","map","reduce","wasm not supported","reverse","3282706Oxmzxf","exports","459360AxIEWC","debugLog","length","TransportDescrambler","message","Instance","byteLength","parse"];return(_o=function(){return e})()}mo[po(1113)],mo[po(1112)],mo[po(847)],mo[po(402)],mo[po(899)],mo[po(1177)],mo[po(1315)],mo[po(901)],mo.ISOFile,mo.createFile;const go=bo;function bo(e,t){const r=_o();return(bo=function(e,t){return r[e-=337]})(e,t)}function wo(e){return e[bo(358)](((e,t)=>256*e+t))}function So(e){const t=bo,r=[101,103,119,99],n=e[t(365)]-28,i=e[t(377)](n,n+r.length);return r.every(((e,t)=>e===i[t]))}!function(e,t){const r=bo,n=e();for(;;)try{if(614992===-parseInt(r(371))/1+parseInt(r(344))/2*(-parseInt(r(376))/3)+parseInt(r(363))/4+parseInt(r(356))/5*(-parseInt(r(353))/6)+parseInt(r(361))/7+parseInt(r(378))/8+parseInt(r(355))/9*(parseInt(r(372))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_o);go(338),go(352);function Io(e,t){const r=Ao();return(Io=function(e,t){return r[e-=482]})(e,t)}function Ao(){const e=["1824DEkePY","32165FSpCgk","reduce","replace","length","2QgsDlr","102jcNBeR","9929170SbFekG","set","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","substr","padStart","795422DPTDGj","1167339TRaGgO","9RufHyj","11825286UylJER","2273912SbctAD","constructor","171525sZPkGj","byteLength"];return(Ao=function(){return e})()}function ko(){const e=Io;for(var t=arguments[e(487)],r=new Array(t),n=0;n{const n=e,s=new i((0|t.byteLength)+(0|r[n(482)]));return s[n(491)](t,0),s.set(r,0|t.byteLength),s}),new i)}!function(e,t){const r=Io,n=e();for(;;)try{if(537689===parseInt(r(495))/1+-parseInt(r(488))/2*(parseInt(r(496))/3)+parseInt(r(499))/4+-parseInt(r(501))/5*(-parseInt(r(489))/6)+parseInt(r(484))/7*(parseInt(r(483))/8)+parseInt(r(497))/9*(-parseInt(r(490))/10)+-parseInt(r(498))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ao),function(e,t){const r=Oo,n=e();for(;;)try{if(901297===parseInt(r(371))/1+parseInt(r(363))/2*(-parseInt(r(364))/3)+parseInt(r(358))/4*(parseInt(r(361))/5)+-parseInt(r(376))/6+-parseInt(r(349))/7+parseInt(r(360))/8+parseInt(r(356))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vo);const Eo=16,Co=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],xo=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function To(e){const t=Oo,r=[];for(let n=0,i=e.length;n{const r=t;return 1===(e=e[r(362)](16))[r(369)]?"0"+e:e}))[t(347)]("")}function Bo(e){const t=Oo,r=[];for(let n=0,i=e[t(369)];n>>6),r[t(351)](128|63&i);else if(i<=55295||i>=57344&&i<=65535)r.push(224|i>>>12),r[t(351)](128|i>>>6&63),r[t(351)](128|63&i);else{if(!(i>=65536&&i<=1114111))throw r[t(351)](i),new Error(t(375));n++,r[t(351)](240|i>>>18&28),r[t(351)](128|i>>>12&63),r[t(351)](128|i>>>6&63),r.push(128|63&i)}}return r}function Uo(e){const t=Oo,r=[];for(let n=0,i=e[t(369)];n=240&&e[n]<=247?(r[t(351)](String.fromCodePoint(((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r[t(351)](String[t(368)](((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r[t(351)](String.fromCodePoint(((31&e[n])<<6)+(63&e[n+1]))),n++):r.push(String.fromCodePoint(e[n]));return r.join("")}function Mo(e,t){const r=31&t;return e<>>32-r}function Po(e){return(255&Co[e>>>24&255])<<24|(255&Co[e>>>16&255])<<16|(255&Co[e>>>8&255])<<8|255&Co[255&e]}function Fo(e){return e^Mo(e,2)^Mo(e,10)^Mo(e,18)^Mo(e,24)}function Ro(e){return e^Mo(e,13)^Mo(e,23)}function Lo(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=Fo(Po(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=Fo(Po(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=Fo(Po(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=Fo(Po(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function Oo(e,t){const r=Vo();return(Oo=function(e,t){return r[e-=347]})(e,t)}function zo(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^xo[r+0],t[r+0]=n[0]^=Ro(Po(e)),e=n[2]^n[3]^n[0]^xo[r+1],t[r+1]=n[1]^=Ro(Po(e)),e=n[3]^n[0]^n[1]^xo[r+2],t[r+2]=n[2]^=Ro(Po(e)),e=n[0]^n[1]^n[2]^xo[r+3],t[r+3]=n[3]^=Ro(Po(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function No(e,t,r){const n=Oo;let{padding:i=n(350),mode:s,iv:o=[],output:a=n(357)}=arguments[n(369)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===n(354)&&(typeof o===n(357)&&(o=To(o)),16!==o[n(369)]))throw new Error(n(367));if(typeof t===n(357)&&(t=To(t)),16!==t[n(369)])throw new Error(n(372));if(e="string"==typeof e?0!==r?Bo(e):To(e):[...e],("pkcs#5"===i||i===n(350))&&0!==r){const t=Eo-e[n(369)]%Eo;for(let r=0;r=Eo;){const t=e.slice(h,h+16),i=new Array(16);if(s===n(354))for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments[r(369)]>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(365)];let o=new Uint8Array(e[r(348)](0,5)),a=5;for(;as){const t=new Uint8Array(o[r(369)]+e[r(369)]-a);t[r(355)](o,0),t[r(355)](e[r(348)](a),o[r(369)]),o=t;break}let l=e[a+4],d=!1,h=2;if(n?(i&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,d=1===l||5===l),d){const n=No(e[r(348)](a+4+h,a+4+u),t,0,{padding:r(366),output:r(374)});let i=n[n[r(369)]-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n.length-t]!==i){e=!1;break}e&&n[r(378)](n[r(369)]-i,i)}const s=new Uint8Array(h);s.set(e.slice(a+4,a+4+h),0);const c=St(ko(s,new Uint8Array(n))),l=new Uint8Array(o[r(369)]+c[r(369)]);l[r(355)](o,0),l[r(355)](c,o[r(369)]),o=l}else{const t=e[r(348)](a+4,a+4+u),n=new Uint8Array(o.length+4+t[r(369)]);n[r(355)](o,0),n[r(355)](c,o[r(369)]),n[r(355)](t,o.length+4),o=n}a=a+4+u}return o}const Wo=qo;!function(e,t){const r=qo,n=e();for(;;)try{if(444492===parseInt(r(286))/1*(parseInt(r(281))/2)+parseInt(r(275))/3*(-parseInt(r(291))/4)+-parseInt(r(284))/5+parseInt(r(287))/6*(-parseInt(r(278))/7)+parseInt(r(289))/8+parseInt(r(273))/9*(-parseInt(r(280))/10)+parseInt(r(277))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($o);class Go{on(e,t,r){const n=this.e||(this.e={});return(n[e]||(n[e]=[])).push({fn:t,ctx:r}),this}[Wo(274)](e,t,r){const n=this;function i(){const s=qo;n.off(e,i);for(var o=arguments.length,a=new Array(o),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,n=i.length;e=2&&!this[r(419)];)if(255==this.tempBuffer[this[r(401)]]){if(!(!1&this[r(406)][this[r(401)]+1])){this[r(412)]=this.tempBuffer[this.parsedOffset+1],this[r(414)]=Jo[r(416)],this[r(397)]=this[r(401)],this[r(401)]+=2,e=!0;break}this[r(401)]++}else this[r(401)]++;if(e)continue;break}if(this[r(414)]==Jo[r(416)]){let e=!1;for(;this.tempBuffer[r(418)]-this[r(401)]>=2&&!this.isDestroyed;)if(255==this[r(406)][this[r(401)]]){if(this[r(406)][this[r(401)]+1]==this[r(412)]){this[r(414)]=Jo[r(399)],this[r(404)]=this[r(401)],this[r(401)]+=2,e=!0;break}this.parsedOffset++}else this[r(401)]++;if(e)continue;break}if(this.state==Jo[r(399)]){let e=this[r(406)][r(415)](this[r(397)],this[r(404)]);this[r(424)](r(400),e,t),this[r(406)]=this[r(406)].slice(this[r(404)]),this[r(397)]=0,this.parsedOffset=2,this[r(414)]=Jo.findFirstStartCode}}}}function Qo(e,t,r){const n=ta;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(273)](c)):(c&=31,u=1===c||5===c),u){const i=Qo(e[n(274)](o+4,o+4+a),t,r);e[n(270)](i,o+4)}o=o+4+a}return e}function na(){const e=["5421770lWKdXl","21982iMCuLD","8SbZjwG","27zMoWSp","length","1119849pzfhqi","2408964ILhJjS","3892336kUWdMs","set","5kCVzCm","7941000VAlVnJ","includes","slice","5741742WvsFwq"];return(na=function(){return e})()}function ia(e,t){var r=sa();return(ia=function(e,t){return r[e-=418]})(e,t)}function sa(){var e=["21SOdeEw","40018770NcFKie","forEach","424398tVzGsP","77xwpEXB","1259987ysHTDH","1438317JAJjeF","byteLength","10230184HeLEiz","5396535xEElig","filter","length","set","2KVPUYB","534228rmySUx"];return(sa=function(){return e})()}function oa(){for(var e=ia,t=arguments[e(422)],r=new Array(t),n=0;nt+r[e(418)]),0));let s=0;return r[e(428)]((t=>{var r=e;i[r(423)](t,s),s+=t[r(418)]})),i}!function(e,t){const r=ta,n=e();for(;;)try{if(738069===-parseInt(r(278))/1*(-parseInt(r(277))/2)+parseInt(r(267))/3+-parseInt(r(268))/4+-parseInt(r(271))/5*(-parseInt(r(275))/6)+parseInt(r(269))/7+parseInt(r(272))/8+parseInt(r(279))/9*(-parseInt(r(276))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(na),function(e,t){for(var r=ia,n=e();;)try{if(700459===-parseInt(r(431))/1*(parseInt(r(424))/2)+parseInt(r(426))/3*(parseInt(r(425))/4)+-parseInt(r(420))/5+parseInt(r(429))/6*(-parseInt(r(430))/7)+-parseInt(r(419))/8+parseInt(r(432))/9+parseInt(r(427))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(sa);const aa=ca;function ca(e,t){const r=ua();return(ca=function(e,t){return r[e-=351]})(e,t)}function ua(){const e=["length","forEach","48240LuPcwb","debugLog","482635aykfTD","master","proxy","addEventListener","push","7460TGXaCq","711NixVeG","destroys","destroy","4909152MogaYp","2572076rgYEju","removeEventListener","1001pTTTUU","11146050WnPEWY","map","43635TzweKg","isArray","bind"];return(ua=function(){return e})()}!function(e,t){const r=ca,n=e();for(;;)try{if(711767===-parseInt(r(364))/1+parseInt(r(352))/2+-parseInt(r(370))/3*(-parseInt(r(369))/4)+-parseInt(r(357))/5+parseInt(r(362))/6*(-parseInt(r(354))/7)+-parseInt(r(351))/8+parseInt(r(355))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ua);class la{constructor(e){const t=ca;this[t(371)]=[],this[t(366)]=this[t(366)][t(359)](this),this[t(365)]=e}[aa(366)](e,t,r){const n=aa;let i=arguments[n(360)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array[n(358)](t))return t[n(356)]((t=>this.proxy(e,t,r,i)));e[n(367)](t,r,i);const s=()=>{const s=n;Rt(e.removeEventListener)&&e[s(353)](t,r,i)};return this.destroys[n(368)](s),s}destroy(){const e=aa;this[e(365)][e(363)]("Events",e(372)),this[e(371)][e(361)]((e=>e())),this[e(371)]=[]}}const da=ha;function ha(e,t){const r=fa();return(ha=function(e,t){return r[e-=231]})(e,t)}function fa(){const e=["flags","set","hasRedundancy","9443580ncnjUu","DREF","VMHD","avc","hvcC","mvex","788710HDcHvG","4FTWSVo","minf","3lSrGEx","moof","timescale","tkhd","box","sdtp","prototype","charCodeAt","avcc","call","videoType","trak","slice","isLeading","types","mvhd","channelCount","cts","stbl","concat","FTYP","516642xScrBn","constants","byteLength","mp3","audioSampleRate","mdhd","moov","tfdt","codecHeight","STSZ","stsd","hdlr","isNonSync","HDLR_AUDIO","mdia","stco","init","mdat","8OEVyRY","avc1","STSD_PREFIX","stts","STTS","generateInitSegment","8278470lGieKh","duration","dependsOn","stsc","dinf","dref","ftyp","HDLR_VIDEO","avcC","trun","hvc1","audio","STSC","mp4a","1643660QhOyzq",".mp3","trex","traf","mfhd","42TVzyxV","codecWidth","hasOwnProperty","1138113SbXxYQ","stsz","length","14416721bbtJFe","esds","isDependedOn","tfhd","size","type","vmhd","config"];return(fa=function(){return e})()}!function(e,t){const r=ha,n=e();for(;;)try{if(655193===-parseInt(r(273))/1+parseInt(r(293))/2*(parseInt(r(296))/3)+parseInt(r(294))/4*(parseInt(r(265))/5)+parseInt(r(270))/6*(parseInt(r(317))/7)+-parseInt(r(245))/8*(-parseInt(r(251))/9)+parseInt(r(287))/10+-parseInt(r(276))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fa);class pa{static[da(243)](){const e=da;pa.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in pa[e(310)])pa[e(310)][e(272)](t)&&(pa[e(310)][t]=[t[e(303)](0),t.charCodeAt(1),t[e(303)](2),t.charCodeAt(3)]);let t=pa[e(318)]={};t[e(316)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t[e(247)]=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(249)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(263)]=t.STCO=t[e(249)],t[e(236)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(258)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(240)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t[e(288)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(289)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[da(300)](e){const t=da;let r=8,n=null,i=Array[t(302)][t(308)][t(305)](arguments,1),s=i.length;for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n[t(285)](e,4);let o=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){const t=da;return pa[t(300)](pa[t(310)][t(307)],pa[t(299)](e),pa[t(241)](e))}static[da(299)](e){const t=da;let r=e.id,n=e[t(252)],i=e.presentWidth,s=e.presentHeight;return pa[t(300)](pa[t(310)][t(299)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static mdia(e){const t=da;return pa.box(pa[t(310)][t(241)],pa[t(232)](e),pa.hdlr(e),pa.minf(e))}static mdhd(e){const t=da;let r=e[t(298)],n=e[t(252)];return pa.box(pa[t(310)].mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static[da(238)](e){const t=da;let r=null;return r=e[t(281)]===t(262)?pa.constants.HDLR_AUDIO:pa[t(318)][t(258)],pa.box(pa.types[t(238)],r)}static minf(e){const t=da;let r=null;return r=e.type===t(262)?pa[t(300)](pa[t(310)].smhd,pa[t(318)].SMHD):pa[t(300)](pa[t(310)][t(282)],pa[t(318)][t(289)]),pa[t(300)](pa[t(310)][t(295)],r,pa[t(255)](),pa[t(314)](e))}static[da(255)](){const e=da;return pa[e(300)](pa[e(310)][e(255)],pa[e(300)](pa[e(310)][e(256)],pa[e(318)][e(288)]))}static[da(314)](e){const t=da;return pa[t(300)](pa[t(310)][t(314)],pa[t(237)](e),pa[t(300)](pa[t(310)][t(248)],pa[t(318)][t(249)]),pa.box(pa[t(310)][t(254)],pa[t(318)][t(263)]),pa.box(pa[t(310)][t(274)],pa[t(318)][t(236)]),pa[t(300)](pa[t(310)][t(242)],pa[t(318)].STCO))}static[da(237)](e){const t=da;return e[t(281)]===t(262)?e.audioType===t(320)?pa[t(300)](pa[t(310)][t(237)],pa.constants[t(247)],pa[t(320)](e)):pa.box(pa[t(310)][t(237)],pa[t(318)][t(247)],pa[t(264)](e)):e[t(306)]===t(290)?pa[t(300)](pa[t(310)][t(237)],pa[t(318)][t(247)],pa[t(246)](e)):pa.box(pa[t(310)].stsd,pa[t(318)][t(247)],pa[t(261)](e))}static mp3(e){const t=da;let r=e[t(312)],n=e[t(231)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return pa[t(300)](pa[t(310)][t(266)],i)}static[da(264)](e){const t=da;let r=e[t(312)],n=e[t(231)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return pa[t(300)](pa.types[t(264)],i,pa[t(277)](e))}static[da(277)](e){const t=da;let r=e[t(283)]||[],n=r[t(275)],i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5][t(315)]([n])[t(315)](r).concat([6,1,2]));return pa[t(300)](pa[t(310)][t(277)],i)}static[da(246)](e){const t=da;let r=e[t(304)];const n=e.codecWidth,i=e[t(235)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return pa[t(300)](pa[t(310)][t(246)],s,pa[t(300)](pa.types[t(259)],r))}static[da(261)](e){const t=da;let r=e[t(304)];const n=e[t(271)],i=e[t(235)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return pa.box(pa[t(310)][t(261)],s,pa[t(300)](pa[t(310)][t(291)],r))}static[da(292)](e){const t=da;return pa.box(pa[t(310)].mvex,pa.trex(e))}static[da(267)](e){const t=da;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return pa[t(300)](pa[t(310)][t(267)],n)}static[da(297)](e,t){const r=da;return pa[r(300)](pa[r(310)][r(297)],pa.mfhd(e.sequenceNumber),pa[r(268)](e,t))}static[da(269)](e){const t=da;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return pa[t(300)](pa[t(310)][t(269)],r)}static[da(268)](e,t){const r=da;let n=e.id,i=pa[r(300)](pa[r(310)][r(279)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=pa[r(300)](pa[r(310)][r(234)],new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),o=pa[r(301)](e),a=pa[r(260)](e,o[r(319)]+16+16+8+16+8+8);return pa[r(300)](pa.types[r(268)],i,s,a,o)}static sdtp(e){const t=da;let r=new Uint8Array(5),n=e[t(284)];return r[4]=n.isLeading<<6|n[t(253)]<<4|n[t(278)]<<2|n[t(286)],pa.box(pa[t(310)].sdtp,r)}static trun(e,t){const r=da;let n=new Uint8Array(28);t+=36,n.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e[r(252)],s=e[r(280)],o=e[r(284)],a=e[r(313)];return n[r(285)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o[r(309)]<<2|o[r(253)],o[r(278)]<<6|o[r(286)]<<4|o[r(239)],0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),pa[r(300)](pa[r(310)].trun,n)}static mdat(e){const t=da;return pa[t(300)](pa[t(310)][t(244)],e)}}pa[da(243)]();var ma=ya;function va(){var e=["4460022MdDmVT","40057164sURzHr","default","__esModule","15vyKjzR","2472390uLTlJC","2786542IODHRZ","defineProperty","11915984TjDrNW","createCommonjsModule","exports","28TlwqOR","2275672rumSKh","445482xQVUuk","unwrapExports"];return(va=function(){return e})()}function ya(e,t){var r=va();return(ya=function(e,t){return r[e-=213]})(e,t)}!function(e,t){for(var r=ya,n=e();;)try{if(932601===parseInt(r(218))/1+-parseInt(r(226))/2+parseInt(r(220))/3+-parseInt(r(217))/4*(-parseInt(r(224))/5)+parseInt(r(225))/6*(parseInt(r(216))/7)+parseInt(r(213))/8+-parseInt(r(221))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(va);var _a=Qe[ma(214)]((function(e){var t=ma;e.exports=function(e,t,r){return t in e?Object[ya(227)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e[t(215)][t(223)]=!0,e[t(215)][t(222)]=e[t(215)]}));function ga(e,t){const r=ba();return(ga=function(e,t){return r[e-=185]})(e,t)}function ba(){const e=["channel_count","185KnCusg","mp3","579anBTeJ","object_type","2271760TprTEC","5291316xpqKqn","9bJKklm","1385xfiJzh","1432kFpfcg","10172faInfu","length","sample_rate","1388zRDIbt","Invalid MP3 packet, first byte != 0xFF ","Invalid MP3 packet, header missing!","36687wIQMFX","buffer","error","561099fnfOvX","115986krNRxF"];return(ba=function(){return e})()}Qe[ma(219)](_a),function(e,t){const r=ga,n=e();for(;;)try{if(509969===parseInt(r(194))/1*(parseInt(r(199))/2)+parseInt(r(189))/3*(parseInt(r(196))/4)+parseInt(r(187))/5*(parseInt(r(185))/6)+parseInt(r(202))/7*(-parseInt(r(195))/8)+parseInt(r(193))/9*(-parseInt(r(191))/10)+-parseInt(r(205))/11+-parseInt(r(192))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ba);const wa=[44100,48e3,32e3,0],Sa=[22050,24e3,16e3,0],Ia=[11025,12e3,8e3,0],Aa=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],ka=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Ea=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Ca(e){const t=ga;if(e[t(197)]<4)return void console[t(204)](t(201));let r=new Uint8Array(e[t(203)]),n=null;if(255!==r[0])return void console[t(204)](t(200));let i=r[1]>>>3&3,s=(6&r[1])>>1,o=(240&r[2])>>>4,a=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0,d=t(188);switch(i){case 0:u=Ia[a];break;case 2:u=Sa[a];break;case 3:u=wa[a]}switch(s){case 1:o=e[s]&&t=6?(i=5,r=new Array(4),a=s-3):(i=2,r=new Array(2),a=s):-1!==c[t(278)](t(225))?(i=2,r=new Array(2),a=s):(i=5,a=s,r=new Array(4),s>=6?a=s-3:1===o&&(i=2,r=new Array(2),a=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&o)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),this[t(231)]=r,this.sampling_rate=Pa[s],this.sampling_index=s,this[t(247)]=o,this[t(262)]=i,this[t(276)]=n,this[t(228)]=t(254)+i,this.original_codec_mimetype=t(254)+n}}function Oa(){const e=["2OplsWn","16dLzIMj","readUEG","index","readUByte","305616TSPZjr","9042sxSjVj","494644aXreCD","readBoolean","skipBits","12294420vcwZSK","2436632xPSyyw","skipUEG","readBits","bitsAvailable","data","readUShort","18GHLwFv","readEG","skipEG","readUInt","452145oOFHpX","length","skipLZ","getBits","20jBCtMj","bitLength","1915EsSMkK","2262561PsizEh"];return(Oa=function(){return e})()}const za=Na;function Na(e,t){const r=Oa();return(Na=function(e,t){return r[e-=271]})(e,t)}!function(e,t){const r=Na,n=e();for(;;)try{if(308007===parseInt(r(284))/1*(-parseInt(r(277))/2)+parseInt(r(298))/3*(-parseInt(r(278))/4)+parseInt(r(275))/5*(parseInt(r(283))/6)+parseInt(r(276))/7+-parseInt(r(282))/8*(parseInt(r(294))/9)+parseInt(r(273))/10*(-parseInt(r(288))/11)+parseInt(r(287))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Oa);class Ha{constructor(e){const t=Na;this[t(292)]=e,this[t(280)]=0,this[t(274)]=8*e.byteLength}get[za(291)](){const e=za;return this[e(274)]-this[e(280)]}skipBits(e){const t=za;if(this[t(291)]1&&void 0!==arguments[1])||arguments[1];return this[t(272)](e,this[t(280)],r)}[za(272)](e,t){const r=za;let n=!(arguments[r(299)]>2&&void 0!==arguments[2])||arguments[2];if(this[r(291)]>>i,o=8-i;if(o>=e)return n&&(this[r(280)]+=e),s>>o-e;{n&&(this[r(280)]+=o);const i=e-o;return s<>>1:-1*(e>>>1)}[za(285)](){return 1===this.readBits(1)}[za(281)](){let e=arguments[za(299)]>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}[za(293)](){return this[za(290)](16)}[za(297)](){return this[za(290)](32)}}function Va(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=$a,n=e();;)try{if(467609===parseInt(r(487))/1*(parseInt(r(499))/2)+-parseInt(r(491))/3+parseInt(r(500))/4+parseInt(r(494))/5+-parseInt(r(485))/6*(parseInt(r(488))/7)+-parseInt(r(493))/8+-parseInt(r(497))/9*(-parseInt(r(489))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ec);const ja=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Wa=new Array(2746333894,1453994832,1736282519,2993693404),Ga=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function qa(e,t,r,n,i){var s=$a,o=i;o=t+i>e[s(502)]&&n+i<=r[s(502)]?e.length-t:n+i>r.length&&t+i<=e.length?r[s(502)]-n:t+i<=e[s(502)]&&n+i<=r[s(502)]?i:r[s(502)]>24&255,e>>16&255,e>>8&255,255&e)}function Ya(e,t){var r=$a;return t+3>>19)^(n<<23|n>>>9)}function Za(e,t){var r=new Array(36);r[0]=Ya(t,0),r[1]=Ya(t,4),r[2]=Ya(t,8),r[3]=Ya(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^Qa(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=$a,r=new Array(4*e[t(502)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function ec(){var e=["153eUEqMi","slice","18ItwSZH","663732eJsYUv","includes","length","data is error!","217158DyIPSn","sm4 key is error!","12023fyBnQx","63qmsDSZ","319070UqZhkj","iv is error!","1613526HGOmkr","ceil","2132944ycFKTI","3906235MhYbGo","min","log"];return(ec=function(){return e})()}function tc(e,t,r){var n=$a;if(null==e||null==e||e[n(502)]%16!=0)return console[n(496)](n(486)),null;if(null==r||null==r||r[n(502)]<=0)return console[n(496)]("cipher is error!"),null;if(null==t||null==t||t[n(502)]%16!=0)return console[n(496)](n(490)),null;for(var i=Xa(e),s=Math[n(492)](r[n(502)]/16),o=new Array(r[n(502)]),a=t.slice(),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments[n(502)]>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const o=e.byteLength;let a=5;for(;ao)break;let u=e[a+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(501)](u)):(u&=31,l=1===u||5===u),l){const n=tc(t,r,e.slice(a+4+d,a+4+c));e.set(n,a+4+d)}a=a+4+c}return e}const nc=ic;function ic(e,t){const r=sc();return(ic=function(e,t){return r[e-=469]})(e,t)}function sc(){const e=["debugLevel","simdH264DecodeVideoWidthIsTooLarge"," ,\n and diff is ","send","parseVideo265Header","audioSampleRate","vps","demuxFlv() type is audio and payload.byteLength is ","websocketOpen"," and forOldVersion is ","currentTime","videoMeta","firstRenderTime","size","close() and socket.readyState is ","profile","expected_length","_getSeqHeader"," > timestamp is ","isFmp4","video_init_segment_dispatched_","streamEndInner","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","stencil",", bufferList is ","_isEnhancedH265Header","stream_type","MP3: SamplingFrequencyIndex changed from "," isIFrame is ",'fetchNext().then() and value "',"mediaSourceAppendBufferFull","Synchronous KLV Metadata: pid="," vs start is ","fetchStream, WebsocketStream socket close and requestAbort is true so return","fetchNext().catch() and e.name is AbortError so return","assign","VideoDecoder configure error","destroy","payload_unit_start_indicator","JbPro Worker Version is ","_doDecodeVideo","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","firstAudioTime","kPESPrivateData","log","createFile","original_object_type","draw, decoder is destroyed and return","frameRate","name","updateend","asynchronous_klv_pids","listenMp4Box","isMpeg4","error","cryptoKey","getNearestTimestampMilliseconds","streamFps","mseUpdateVideoTimestamp","key","isFirefox","handle"," and nalUnitSize is ","set","pushBuffer audio ts is ","useOffscreen","fetchNext().catch() and abortController.signal.aborted is true so return","concat","payload","prevTs","suffixSei","getContextAttributes","isTrusted","stringify","fetchStream, WebsocketStream socket close and code is "," less than (or equal) preTs is "," ,new bufferList is ","abort success","dispatchAudioInitSegment","handleSectionSlice","MP3: AudioObjectType changed from ","Generated first AVCDecoderConfigurationRecord for mimeType: ","getAudioSourceBufferUpdating","isAAC","playbackForwardMaxRateDecodeIFrame","h265","audioTracks",", dts is ","_resetInIt","Opus: Channel count changed from ","onopen","AC3: BitStream Mode changed from ","audioPayload","demuxFmp4","read","video_metadata_","Client disconnecting","supportVideoFrameCallbackHandle","setCodecVideo: hasInitVideoCodec is false, codecId is ","AbortError","fetch().catch() and e is ","iFrame","media_info_","playbackCacheLoop","firstStartCodeOffset","entries","SMPTE 2038 Metadata: pid=","random_access_indicator","AC3: Channel Mode changed from ","$video","loop demux diff time is ","has_audio_","pes_slice_queues_","length","opus","sourceOpen","byteLength"," and isVideoAndNextAudio is ","isSm4Crypto","delay","hasInitVideoCodec","fileStart","getReader","preventDefault","worker"," and next dropBuffer","isEmitInfo","isPlayer","audioSourceNoDataCheckTimeout","parsePAT","parseSCTE35","presentWidth",'writableStream write() and value is "',"mseDecoder.mediaSourceBufferError is true","readNextNaluPayload","flags","clearPlaybackCacheLoop",", height: ","init and forHardDecode is ","audioSampleRateIndex",", and ts list is ","codec","pendingUnits","isWasmMp4","stopStreamRateAndStatsInterval",'" string so return',"prevPayloadBufferSize","getUint8","height",'socket on message is string "',"close() and audioDecoder.clear error","len","isNakedFlow","onOffscreenCanvasWebglContextRestored","loop() do not decode and delay is ","kLOASAAC","mseWorkerAddSourceBufferError","parsedOffset"," and ok is ","isInitSegmentDispatched","width: ","worker wcsDecoder","isM7sCrypto","buffering","writableStream pipeTo() and e is","websocket","cacheAudioTrack","loop() common dumex delay is -1 ,data.ts is","resetAllDelay","fetchStream, WebsocketStream socket open","pendingAudioRemoveRanges","delta","20391xhzOpG","mp4Box onError","discontinuity_indicator","m7sCryptoAudio","_bindMediaSourceEvents","streamRate","socket is not open","worker fmp4Demuxer","Asynchronous KLV Metadata: pid=","VideoDecoder error: ","isfms","render","HEAPU32","extractH265PPS","section_slice_queues_","request abort and run res.body.cancel()","isSendSeqHeader","isRecording","kMPEG1Audio","MP3"," and payload size is ","AAC: Channel configuration changed from ","hasPendingEos","stbl",";codecs=","\n decodeVideo dts is less than(or equal) prev dts ,\n dts is ","sampling_freq_index","tempStream","videoCodec","lastBuffer",", pts=","pes_private_data_pids","sequenceNumber","writableStream write() and requestAbort is true so return"," and bufferlist is ","onSamples","_hasPendingSegments","writableStream abort() and abortController.signal.aborted is true so return","code","bit_depth","playType","isPlayback","PACKET_TYPE_FRAMES","demuxTs","mp3","getSourceBufferUpdating","AudioDecoder"," package length is ","sequenceHeader","videoTrackId","socket is null","playbackRate","Parsed first PMT: ","audioSourceBufferCheckTimeout","isPlayUseMSE","yuvData, transferToImageBitmap error is","_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()"," and\n ts is ","parseChunks","flush","mdat","networkDelay","original_codec_mimetype","endOfStream() error","ended","is_sync",", isVideoSequenceHeader is true","decodeVideo has not init , isIframe is ","data","audio_track_"," ,\n and diff is ","playAudio","headers","url","getDelayNotUpdateDelay","nakedFlowDemuxUseNew"," and opt is","audioSequenceNumber","cacheTrack","doDecode","TAG_NAME","websocket error","setInterval()","synchronous_klv_pids","offscreenCanvasCtx","clearSlices","isKeyframe"," ,\n and now ts is ","isDropping","readNextAACFrame","initAudio","dropping","start","decodeVideo: video width or height is changed, and return","pid_stream_type","HEAPF32","ac3","parseOpusPayload","websocket user aborted","demuxM7s() type is video and arrayBuffer length is ","AAC","ms and return -1",", not 0x47","audioSourceBuffer","calcNetworkDelay, dts is ","toString","sample_rate",'" and return',"program_number",", bufferListLength is ","isVideoInited","h264 naluList.length === 0","sps",", start dts is ","mseAutoCleanupSourceBuffer","isPushDropping"," , payload is ","isStateOpen"," cacheTrack dts is ","write","emitSectionSlices","AC3: Low Frequency Effects Channel On changed from ","\n maybe trigger black screen or flower screen\n ","1228770CpgLGj","audio_object_type","playbackConfig","aborted","debug","map","removeUsedSamples","isWidthOrHeightChanged","PACKET_TYPE_FRAMESX","generateInitSegment","videoTracks"," and prevTs is ","audio_last_sample_pts_","protocols","handleVideoH265NaluList list size is ","\n isVideoSqeHeader is "," and maxDiff is ","70VSrxRG","open","useMSE","abs","emitPESSlices","mseFirstRenderTime","decodeVideo","undefined","loop() isPushDropping is true and bufferList length is ","decode data type is ","isSm4CryptoH265V2","hasIncompleteData","object_type","parseEAC3Payload","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0","file_position",",\n new width is ","fetchStream","setCodec","signal","AC3: Bit Stream Identification changed from ","\n decodeVideo: video width or height is changed,\n old width is ","calcIframeIntervalTimestamp","sourceended","parseSPS$2","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame"," an set streamFps is 25"," is not H264 or H265","decodeDiffTimestamp","opt","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","handleVideoH264Nalu","parseH264Payload","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","elementary_stream_priority_indicator","decoder","stsd","arraybuffer"," and return","options:","onReady","_hasPendingRemoveRanges","streamDts","mp4Box","webglcontextrestored","codedWidth",",\n and emit change event","isStateEnded","parseSection","transferToImageBitmap","handleOffscreenCanvasWebglContextRestored"," and is Trial Version[试用版本]","streamVideoFps","video","fetchNext().catch() and e is ",", streamAudioFps is ","demuxFlv","parsePMT: table_id ","units","isAvc","match","kH265","isCacheBeforeDecodeForFpsRender","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","AC3: Sampling Frequency changed from ","mseDecoderUseWorker","parseSMPTE2038MetadataPayload","mseError","mseSourceBufferError","level","dispatchVideoInitSegment","writableStream close()","fetchStream, WebsocketStream socket error",",\n new width is ","init","onOffscreenCanvasWebglContextLost","kEAC3","handleAddNaluStartCode","DataStream","locked","body","sm4CryptoKey","pendingRemoveRanges","handleVideoNalu","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","TAG","_opt","timeInit","playbackCacheLoop fragDuration is ","isPause","parseAsynchronousKLVMetadataPayload","decodeVideo and payload is too small , payload length is ","readUEG","chromaFormat","isDropSameTimestampGop","onSamples() trackId error","sarRatio","kSliceIDR","_decodeAudioConfigurationRecord audio codec is not support , codecId is ","MP3: Channel count changed from ","mseDecodeAudio","offscreenCanvasGL","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","chroma_format","slice","_initAudioSourceBuffer","checkStreamEnd","decodeAudio() and decoder is destroyed","expected: ","sourceClose","MediaSource","openWebglAlignment","emitError","calcNetworkDelay now dts:","dispatchAudioMediaSegment","offscreenCanvas"," and isVideoSqeHeader is ","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment"," and prev ts is ","getNaluDts","125836mPcSsq","samples","_checkTsIsMaxDiff","config"," is not corresponded to PAT!","catch","channel_count","Audio: Audio Codecs changed from ","isFlv","string","protocol","kSliceNonIDR"," and delay is ",", preTs is ","flvScriptData","cryptoIV","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ","playbackIsPause","mseDecoder.mediaSourceAddSourceBufferError is true","hvcc","updateConfig","addSourceBuffer","audioBufferSize","idle",", syncOffset = ","audioCode"," and mseDecoder.isAvc === null is ","prevAudioDts","from","audioAACSequenceHeader","fetchNext().then() and done is true","smpte2038_pids","timescale_",",\n and resetAllDelay","wasmWidthOrHeightChange","findIndex","mseDecoder.mediaSourceAppendBufferFull is true","webglcontextlost","1390980VXKnnb","getState","dts"," , message is ","demux() isIFrame is false and unit type is IDR and update to true","complete","isEmitSEI","fetch response status is ","_decodeConfigurationRecord error","isAudioInitInfo","fetch done","current_program_","hasAudio","setCodecAudio","shift","mediaSourceFull","writableStream","kMPEG2Audio","parse","findSei","sar_ratio","getAudioBufferLength","addEventListener","some",", diff is ","reduce","parseAC3Payload","pcr_pid","buffered","_onMediaSourceSourceOpen","dropBuffer$2","Webcodecs Video Decoder initSize"," and,\n options.ts is ","removeSourceBuffer","MULAW"," and emit replay","_initSourceBuffer and mseDecoder.isStateOpen is ","_decodeConfigurationRecord","appendAudioBuffer","audio_init_segment_dispatched_","_decodeVideo payload bytes is 0 and return","writableStream close() and isPlayVod is true so return","appendBuffer() player is destroyed","stopId","fps","decodeVideo is max diff , ts is "," and prevPayloadBufferSize is ","getDelay","videoBufferDelay","writableStream abort() and e is ","stop","ALAW","channel_config","1769787IOUDSH","updatePlaybackIsPause","recordType","remove"," and mseCorrectTimeDuration is ","debugError","refFrames","bit_stream_mode","avcc",",\n firstAudioTime is ","getVideoBufferLength","getIncompleteData","warn","startPlaybackCacheLoop","videoCode","hasIframeInBufferList"," to ","mdia","forEach","extractNALu() buffer error","codec_size","_clearAudioNoDataCheckTimeout","nakedFlowFps","removeSourceBuffer() sourceBuffer","loop() bufferList is empty and reset delay","slices","replace","isFirstDispatch and tsPacketSize = ","isRecordTypeFlv",",and old bufferList length is ","VideoDecoder configure has not init , isIframe is ","sendWebsocketMessage","parseVPS","loop() is dropping = false, is iFrame","ref_frames","playback and playbackIsCacheBeforeDecodeForFpsRender is true","fetchError","removeSourceBuffer() audioSourceBuffer error","8iQLKee","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","readyState","subarray","FT_KEY","mseAutoCleanupMinBackwardDuration","adts_aac","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","extractNALu","isStateClosed","mediaSourceAddSourceBufferError","prevTimestamp","LOG_NAME","_decodeVideo now time is ","profile_string","Parsed first PAT: ","setCodecVideo: init video codec , codecId is ","startStreamRateAndStatsInterval","AAC: SamplingFrequencyIndex changed from ","codedHeight","onerror","videoPayload","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","AAC: Unknown pts","indexOf","resetDelay","appendBuffer","kSliceVPS","syncOffset","Opus: SamplingFrequencyIndex changed from ","debugWarn","min","scriptData","videoInfo","sampleRate"," and emit error and next abort()","mimeType","demuxMpeg4","player","mpeg4","pushBuffer(), pushLatestDelay is ","buffer","common_pids","pat_","types","_doAppendSegments() sourceBuffer is null and wait init and return","detectVideoMetadataChange","originalCodec"," or cryptoIV.length is ","handlePESSlice: packet_start_code_prefix should be 1 but with value ","detectAudioMetadataChange","isWorkerFetch"," but isSocketError is true , so return","decodeAudio\n local dts is < 0 , ts is ","_clearAudioSourceBufferCheckTimeout","last_pcr_",",\n and mseCorrectTimeDuration is ","status","dispatchVideoMediaSegment","pushBuffer video and isIFrame is ","cmd","kSliceIDR_W_RADL",",\n diff is ","decodeAudio, decoder is destroyed and return","kSlicePPS","localDts","events","AAC: Detected pts overlapped, ","wcsDecodeAudio","ts is ","now","_decodeAudioConfigurationRecord","streamVideoType is null","cts","end","chroma_format_string","mseWidthOrHeightChange","_initSourceBuffer","getAllocatedSampleDataSize","_initAudioSourceBuffer and mseDecoder.isStateOpen is ","mediaSource is end"," ant auto wasm decode"," and packetType is ","streamStats","handleNALu","decodeVideo and payload is video sequence header so drop this frame","fetchStream, WebsocketStream on error and isDestroyed is true, so return",",\n firstRenderTime is ","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","dispatch naluArray length is 0","parseVideo264Header","_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","onmessage:","decodeVideo first frame is not iFrame","total_length","mediaSourceTsIsMaxDiff"," ts is ","setCodecAudio: mp3 is not support for old version","renderYUV","floor","pushBuffer"," and has iIframe and next decoder.dropBuffer$2()","loas_aac","kSliceSPS","has_video_","parseLOASAACPayload","setCodecAudio: hasInitAudioCodec is false, codecId is ","bit_stream_identification","fetchStream, url is ","_initPmt","flvBufferData"," next data type is ","_doCleanUpSourceBuffer","level_string","_doRemoveRanges","firstTimestamp","extractH264SEI","streamVideoType","mediaSourceAppendBufferError","codec_mimetype","decodeVideo\n local dts is < 0 , ts is ","getDelayNotUpdateDelay() and preDelayTimestamp is ","decodeNext","kADTSAAC","streamType","audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()","eac3","findSecondStartCode","isDecodeFirstIIframe","extractH265SEI","reset","KLVA",", height is ","bitDepth","updatePlaybackIsPause, isPause is ","isPlayUseMSEAndDecoderInWorker","mseCorrectTimeDuration","mediaSource","clear","findFirstStartCode","endOfStream","aac_last_incomplete_data_","timed_id3_pids",'video/mp2t; codecs="',"dispatch","videoDecode","audio_metadata_","videoMimeType"," and height is ","writableStream write() and abortController.signal.aborted is true so return","audioMimeType","parsePES: packet_start_code_prefix should be 1 but with value ","_doAppendSegments","playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is "," ,delay is ","present_size","sourceBuffer","setCodecAudio: init audio codec, codeId is ","getDelay() and preDelayTimestamp is ","pushLatestDelay","videoBuffer","streamAudioFps","demuxNakedFlow"," null","VANC","onclose","abortSourceBuffer","playbackUpdatePlaybackRate","checkFirstIFrame","_doAppendSegments() mediaSource is closed or ended and return","loas_previous_frame","768QgZCOr","audioNalu","mp3Demuxer","updating","video_track_","current_pmt_pid_","parsePMT","pendingAudioSegments","_preDoDecode","low_frequency_effects_channel_on","webgl","pps","fetch().catch() and e.name is AbortError so return","presentHeight","video_metadata_changed_","pmt_","handleVideoH265Nalu","mseDecoder.mediaSourceAppendBufferError is true",", isAacCodecPacket is true"," and decoder.delay is ","fromCharCode","fps_num","getBuildTime","sarDen","startTimestamp","h265 naluList.length === 0","mp4","avcC","decodeVideo: hasInitVideoCodec is false, codecId is ","isPlaybackCacheBeforeDecodeForFpsRender","visibility","Generated first HEVCDecoderConfigurationRecord for mimeType: ","kSliceSEI","timeInit set false , cacheTrack = {} now dts is ","fetchStatus","kMetadata","prevDts","streamSuccess","ts_packet_size","value","removeSourceBuffer() audioSourceBuffer","ms, PES pts: ","configure","onMediaSourceSourceOpen() audioSourceBuffer is null and next init","nakedFlowH265DemuxUseNew","streamEnd","fetch","parsePESPrivateDataPayload","workerEnd","secondStartCodeOffset","aac","_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","Video: Coded Resolution changed from ","webglObj","setExtractionOptions","isXorCrypto","debugLog",", need clear is ","abort catch","clearBuffer","streamAbps","meta","program_pmt_map_","kAC3",", set dropping is true","abort","isSm4Crypto opt.sm4CryptoKey is null","lastBuf","networkDelayTimeout","keyFrame","initVideo","hasInit","abortSourceBuffer() abort audioSourceBuffer","refSampleDuration","removeEventListener","pid",'video/mp4; codecs="',"yuvData, decoder is destroyed and return","isDestroyed","sarNum","ms and return ",", and hasAudio is ","onmessage","details","codecWidth","demuxFlv() type is video and payload.byteLength is ","channelCount","ec-3","cryptoPayload","isAllIframeInBufferList","eventListenList","getTime","message","streamVbps","type","decodeAudio","push","handleOffscreenCanvasWebglContextLost and next try to create webgl","channel_mode","closed","playbackTF","useWCS","parseADTSAACPayload","scte_35_pids",", stream_id=","audioTrackId","mseAutoCleanupMaxBackwardDuration","isHevc","parsePAT: table_id ","audio","duration_","getContext","aacSequenceHeader","HEAPU8","sendWsMessage"," more than ","handleVideoH265Frames","cryptoPayloadAudio","Opus","kSliceIDR_N_LP","tsPacketSize","\n and replay","readBits"," > ","hasAudioInit","mediaSource is not attached to video or mediaSource is closed"," ms",", diff time is ","demuxFlv() type is ","close() and videoDecoder.clear error","getTrackById","readUByte","drawImage",", streamFps is "," and preTsDuration is ",'" is string so return',"handleOffscreenCanvasWebglContextLost, stencil is false","_remainingPacketData","createImageBitmap","closeEnd","audioCodec","aacADTSHeader","h264","handleVideoFrames","getNotDroppingDelayTs"," and isIFrame is ","kH264","then","\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ","isTs"," and\n payloadBufferSize is ","isIFrame","code is ","duration","sync_byte = ",", new height is ","hvcC","sampling_frequency","pendingSegments","workerFetch","mediaSourceAudioG711NotSupport"," ,streamVideoFps is ","videoNalu","decodeVideo, decoder is destroyed and return","playVod","options","dispatchPESPrivateDataDescriptor","first_parse_","width",", dts="," less than bufferStartDts is ","videoSEI","preDelayTimestamp","state","isPlayVod","_decodeEnhancedH265Video",", options.ts is ","ac-3",", streamVideoFps is ","hev","2433400raOwWR","close","extractNALu$2","simdDecodeError","program_pmt_pid","offset","Generated first AudioSpecificConfig for mimeType: ","mediaSourceBufferError","prevAudioTs","timescale",",nalu type is ","mseCorrectAudioTimeDuration","isM7sCrypto cryptoKey.length is ","codecHeight","parseMP3Payload","hasVideo","pts","15649fdBrBc","pcmData, decoder is destroyed and return","calcNetworkDelay","audioChannelCount","decode","mseSourceBufferError mseDecoder.sourceBuffer"];return(sc=function(){return e})()}function oc(){var e=["32717OQBNQe","3880695vUpGyc","2187060NAkxVB","63vYkTeY","59476smAHXI","warn","1943725irKADm","3385544kDAfpx","1387140txAdKy","then","9Vcvuqz"];return(oc=function(){return e})()}!function(e,t){const r=ic,n=e();for(;;)try{if(299619===-parseInt(r(1116))/1*(parseInt(r(748))/2)+parseInt(r(482))/3+-parseInt(r(619))/4*(-parseInt(r(499))/5)+parseInt(r(657))/6+-parseInt(r(1294))/7*(parseInt(r(919))/8)+-parseInt(r(710))/9+-parseInt(r(1099))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(sc),Date.now||(Date[nc(818)]=function(){const e=nc;return(new Date)[e(1010)]()}),console[nc(1166)](nc(1161)+'"9-21-2024":'+Bt+nc(550));var ac=cc;function cc(e,t){var r=oc();return(cc=function(e,t){return r[e-=162]})(e,t)}!function(e,t){for(var r=cc,n=e();;)try{if(444447===-parseInt(r(162))/1+parseInt(r(166))/2*(parseInt(r(165))/3)+-parseInt(r(164))/4+parseInt(r(163))/5+-parseInt(r(170))/6+parseInt(r(168))/7+-parseInt(r(169))/8*(parseInt(r(172))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(oc),s({printErr:function(e){var t=cc;(function(e){const t=Et;return!(!e||-1===e.indexOf(t(523))&&-1===e[t(357)]("illegal icc")&&-1===e.indexOf(t(490))&&-1===e[t(357)](t(377)))})(e)||console[t(167)]("JbPro[❌❌❌][audio wasm]:",e)}})[ac(171)]((e=>{!function(){const e=nc;let t=arguments[e(1235)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(1235)]>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[e(1235)]>2&&void 0!==arguments[2]&&arguments[2],i=arguments[e(1235)]>3&&void 0!==arguments[3]&&arguments[3],s=[],o=[],a=null,c=null,u=null,l=null,d=null,h=null,f=!1,p=null,m=null,v=!1,y=!1,_=!!Wt(n),g=0,b=0,w=!1,S=null,I=null,A=null,k=[],E=null,C=null,x=0,T=0,D=null,B=null,U=0,M=0,P=!1,F=!1,R=!1,L=null,O=null,z=!1,N=!0,H=0,V=0,j=()=>{const t=e,r=Vt();return{debug:r.debug,debugLevel:r[t(1122)],debugUuid:r.debugUuid,useOffscreen:r[t(1187)],useWCS:r[t(1020)],useMSE:r.useMSE,videoBuffer:r.videoBuffer,videoBufferDelay:r[t(705)],openWebglAlignment:r[t(610)],playType:r.playType,hasAudio:r[t(669)],hasVideo:r[t(1114)],playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(1206)],playbackIsCacheBeforeDecodeForFpsRender:r[t(484)][t(561)],sampleRate:0,networkDelay:r[t(1355)],visibility:!0,useSIMD:r.useSIMD,isRecording:!1,recordType:r.recordType,isNakedFlow:r[t(1274)],checkFirstIFrame:r.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:r[t(1284)],m7sCryptoAudio:r.m7sCryptoAudio,cryptoKey:r[t(1177)],cryptoIV:r[t(634)],isSm4Crypto:r[t(1240)],isSm4CryptoH265V2:r[t(509)],sm4CryptoKey:r[t(580)],isXorCrypto:r[t(974)],isHls265:!1,isFlv:r[t(627)],isFmp4:r[t(1141)],isMpeg4:r[t(1175)],isTs:r.isTs,isEmitSEI:r[t(663)],isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(593)],mseDecodeAudio:r[t(599)],wcsDecodeAudio:r[t(816)],nakedFlowH265DemuxUseNew:r[t(963)],mseDecoderUseWorker:r[t(564)],mseAutoCleanupSourceBuffer:r[t(473)],mseAutoCleanupMaxBackwardDuration:r[t(1025)],mseAutoCleanupMinBackwardDuration:r[t(753)],mseCorrectTimeDuration:r[t(884)],mseCorrectAudioTimeDuration:r[t(1110)],nakedFlowDemuxUseNew:r.nakedFlowDemuxUseNew,nakedFlowFps:r[t(732)],supportMSEDecodeHevc:!1,checkStreamEnd:r[t(605)]}};"VideoEncoder"in self&&(a={TAG_NAME:e(1283),hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;a[t(534)]=new VideoDecoder({output:function(e){const r=t;if(Rt(e.createImageBitmap))e[r(1057)]()[r(1066)]((t=>{const n=r;a[n(1378)][n(1051)](t,0,0,e[n(544)],e.codedHeight);let i=a[n(614)][n(548)]();postMessage({cmd:Ie.render,buffer:i,delay:X[n(1241)],ts:0},[i]),zt(e)}));else{a[r(1378)][r(1051)](e,0,0,e[r(544)],e[r(767)]);let t=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:Ie[r(1305)],buffer:t,delay:X[r(1241)],ts:0},[t]),zt(e)}},error:function(e){const r=t;X[r(715)]("worker",r(1303),e,e[r(1399)]())}}),X[t(975)](a[t(1374)],t(573))},destroy(){const t=e;a[t(878)](),a[t(534)]&&"closed"!==a[t(534)].state&&(a[t(534)].close(),a[t(534)]=null),X[t(975)](a[t(1374)],t(1159))},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(a[i(990)]){const e=new EncodedVideoChunk({data:t[i(603)](5),timestamp:r,type:s?Re.key:Re[i(1293)]});a[i(534)][i(1120)](e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:Ie[i(724)],code:e});const r=new Uint8Array(t);postMessage({cmd:Ie[i(1322)],buffer:r,codecId:e},[r[i(789)]]);let n=null,s=null;const o=t[i(603)](5);e===Be[i(1061)]?(s=gr(o),n={codec:s[i(1263)],description:o}):e===Be[i(1207)]&&(s=Xr(o),n={codec:s[i(1263)],description:o}),s&&s.codecWidth&&s.codecHeight&&(n[i(767)]=s.codecHeight,n[i(544)]=s.codecWidth),!a[i(1248)]&&(X[i(975)]("worker",i(688)),postMessage({cmd:Ie[i(989)],w:s[i(1003)],h:s[i(1112)]}),a[i(1248)]=!0,a[i(614)]=new OffscreenCanvas(s[i(1003)],s[i(1112)]),a[i(1378)]=a[i(614)].getContext("2d"));try{a[i(534)][i(961)](n),a[i(990)]=!0}catch(e){X[i(715)](i(1246),i(1158),e[i(1332)],e,e.toString()),e.toString()}}else X[i(778)]("worker",i(740)+s+i(475)+t[1]+" so drop this frame")},reset(){const t=e;a[t(990)]=!1,a[t(1248)]=!1,a.offscreenCanvas=null,a.offscreenCanvasCtx=null}});let W=function(){const t=e;if(z=!0,c)try{c.abort(),c=null,X[t(975)](t(1246),t(1199))}catch(e){c=null,X[t(975)](t(1246),t(977),e)}},G={TAG_NAME:"worker nakedFlow",init(){const t=e;G[t(986)]=null,G[t(1128)]=null,G[t(471)]=null,G[t(930)]=null,G[t(872)]=null,G[t(813)]=0,G.pendingUnits={},G.isSendSeqHeader=!1,X[t(975)](G.TAG_NAME,t(573))},destroy(){const t=e;G[t(986)]=null,G[t(1128)]=null,G[t(471)]=null,G[t(930)]=null,G[t(872)]=null,G[t(813)]=0,G.pendingUnits={},G[t(1310)]=!1,X[t(975)](G[t(1374)],t(1159))},dispatch(t){const r=e,n=new Uint8Array(t);if(X[r(585)][r(1369)]){const e=G.extractNALu$3(n);if(0===e[r(1235)])return void X.debugLog(G.TAG_NAME,r(837));G[r(1062)](e)}else G[r(1101)](n)},getNaluDts(){const t=e,r=X[t(585)][t(732)];let n=G[t(813)];return G[t(813)]=G[t(813)]+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=X[t(585)][t(782)],n=X[t(585)][t(641)];return G[t(813)]+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,o=t[r(1238)],a=0,c=[];for(;s1)for(let e=0;e{const t=r,n=Ar(e);n===Pe[t(930)]||n===Pe[t(471)]?G[t(530)](e):Er(n)&&i[t(1015)](e)})),1===i.length)G[r(530)](i[0]);else if(xr(i)){const e=Ar(i[0]),t=Cr(e);G.handleVideoH264NaluList(i,t,e)}else i[r(728)]((e=>{G[r(530)](e)}))}else if(G[r(872)]===Ue.h265)if(X[r(585)].nakedFlowH265DemuxUseNew){const e=G[r(576)](t),n=G[r(756)](e);if(0===n[r(1235)])return void X[r(778)](r(1246),r(582),r(944));const i=[];if(n[r(728)]((e=>{const t=r,n=rn(e);n===Fe[t(930)]||n===Fe[t(471)]||n===Fe[t(1128)]?G[t(935)](e):sn(n)&&i[t(1015)](e)})),1===i[r(1235)])G[r(935)](i[0]);else if(an(i)){const e=rn(i[0]),t=on(e);G.handleVideoH265NaluList(i,t,e)}else i[r(728)]((e=>{G.handleVideoH265Nalu(e)}))}else rn(t)===Fe[r(930)]?G[r(1307)](t):G[r(935)](t)},extractH264PPS(t){const r=e,n=G[r(576)](t);G[r(756)](n).forEach((e=>{const t=r;kr(Ar(e))?G[t(864)](e):G[t(530)](e)}))},extractH265PPS(t){const r=e,n=G[r(576)](t);G.extractNALu(n)[r(728)]((e=>{const t=r;nn(rn(e))?G[t(877)](e):G.handleVideoH265Nalu(e)}))},extractH264SEI(t){const r=e,n=G[r(576)](t);G[r(756)](n)[r(728)]((e=>{G[r(530)](e)}))},extractH265SEI(t){const r=e,n=G[r(576)](t);G[r(756)](n).forEach((e=>{G[r(935)](e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t[r(1235)]+n[r(1235)]);return i[r(1185)](n),i[r(1185)](t,n.length),i},handleVideoH264Nalu(t){const r=e,n=Ar(t);switch(n){case Pe.sps:G.sps=t;break;case Pe[r(930)]:G[r(930)]=t}if(G[r(1310)]){if(G[r(471)]&&G[r(930)]){const e=br({sps:G[r(471)],pps:G[r(930)]}),t=G[r(813)];X[r(1120)](e,{type:Ae[r(552)],ts:t,isIFrame:!0,cts:0}),G.sps=null,G[r(930)]=null}if(Er(n)){const e=Cr(n),i=G[r(618)](),s=Sr(t,e);G[r(1373)](s,{type:Ae[r(552)],ts:i,isIFrame:e,cts:0})}}else if(G[r(471)]&&G[r(930)]){G[r(1310)]=!0;const e=br({sps:G.sps,pps:G[r(930)]});X.decode(e,{type:Ae[r(552)],ts:0,isIFrame:!0,cts:0}),G.sps=null,G[r(930)]=null}},handleVideoH264NaluList(t,r,n){const i=e;if(G[i(1310)]){const e=G.getNaluDts(),s=Ir(t[i(682)](((e,t)=>{const r=i,n=St(e),s=St(t),o=new Uint8Array(n[r(1238)]+s[r(1238)]);return o[r(1185)](n,0),o[r(1185)](s,n[r(1238)]),o})),r);G[i(1373)](s,{type:Ae[i(552)],ts:e,isIFrame:r,cts:0}),X.debugLog(i(1246),"handleVideoH264NaluList list size is "+t[i(1235)]+i(1341)+s[i(1238)]+i(1150)+r+i(1109)+n+i(1209)+e)}},handleVideoH265Nalu(t){const r=e,n=rn(t);switch(n){case Fe[r(1128)]:G[r(1128)]=t;break;case Fe.sps:G.sps=t;break;case Fe[r(930)]:G[r(930)]=t}if(G.isSendSeqHeader){if(G[r(1128)]&&G.sps&&G[r(930)]){const e=Qr({vps:G[r(1128)],sps:G[r(471)],pps:G.pps}),t=G[r(813)];X[r(1120)](e,{type:Ae[r(552)],ts:t,isIFrame:!0,cts:0}),G.vps=null,G[r(471)]=null,G.pps=null}if(sn(n)){const e=on(n),i=G.getNaluDts(),s=en(t,e);G[r(1373)](s,{type:Ae[r(552)],ts:i,isIFrame:e,cts:0})}}else if(G[r(1128)]&&G[r(471)]&&G[r(930)]){G.isSendSeqHeader=!0;const e=Qr({vps:G.vps,sps:G[r(471)],pps:G[r(930)]});X[r(1120)](e,{type:Ae.video,ts:0,isIFrame:!0,cts:0}),G[r(1128)]=null,G[r(471)]=null,G[r(930)]=null}},handleVideoH265NaluList(t,r,n){const i=e;if(G.isSendSeqHeader){const e=G.getNaluDts(),s=tn(t.reduce(((e,t)=>{const r=ic,n=St(e),i=St(t),s=new Uint8Array(n[r(1238)]+i[r(1238)]);return s[r(1185)](n,0),s[r(1185)](i,n[r(1238)]),s})),r);G.doDecode(s,{type:Ae[i(552)],ts:e,isIFrame:r,cts:0}),X[i(975)](i(1246),i(496)+t[i(1235)]+" package length is "+s[i(1238)]+i(1150)+r+i(1109)+n+i(1209)+e)}},doDecode(t,r){const n=e;X[n(1118)](r.ts),r[n(1070)]&&X[n(521)](r.ts),X[n(1120)](t,r)},handleVideoFrames(t){const r=e;if(!G.streamVideoType)for(let e of t)if(G[r(865)]=Lt(e),G[r(865)])break;G.streamVideoType?G[r(865)]===Ue[r(1061)]?G.handleVideoH264Frames(t):G[r(865)]===Ue[r(1207)]&&G[r(1035)](t):X.debugWarn(r(1246),r(1062),r(820))},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;G.pendingUnits[r(557)]&&(n=G.pendingUnits[r(557)],o=G.pendingUnits.vcl,s=G.pendingUnits[r(1223)],G[r(1264)]={});let a={};for(let e of t){if(e[r(1238)]<4)continue;const t=Ar(e);let c=!1,u=t===Pe[r(596)];(t===Pe[r(630)]||t===Pe[r(596)])&&(a=G[r(838)](e),c=!0),n[r(1235)]&&o&&(a[r(1304)]||!c)&&(i[r(1015)]({units:n,isIFrame:s}),n=[],s=!1,o=!1),n[r(1015)](e),s=s||u,o=o||c}n.length&&(G[r(1264)]={units:n,vcl:o,iFrame:s}),i[r(728)]((e=>{const t=r,n=e.units,i=e[t(1070)];let s=null,o=null;if(n[t(728)]((e=>{const r=t,n=31&e[0];switch(n){case Pe[r(930)]:G.pps=e;break;case Pe[r(471)]:G[r(471)]=e;break;case Pe[r(951)]:o=e}if(Er(n)){const t=St(e);if(s){const e=new Uint8Array(s[r(1238)]+t[r(1238)]);e[r(1185)](s,0),e.set(t,s.byteLength),s=e}else s=t}})),!G[t(1310)]&&G[t(471)]&&G[t(930)]){G[t(1310)]=!0;const e=wr({sps:G[t(471)],pps:G[t(930)]});X.decode(e,{type:Ae[t(552)],ts:0,isIFrame:!0,cts:0}),G[t(471)]=null,G[t(930)]=null}if(G[t(1310)]){if(G[t(471)]&&G[t(930)]){const e=wr({sps:G[t(471)],pps:G.pps}),r=G[t(813)];X.decode(e,{type:Ae.video,ts:r,isIFrame:!0,cts:0}),G[t(471)]=null,G[t(930)]=null}if(s){const e=G[t(618)](),r=Ir(s,i);if(X[t(585)][t(663)]&&o){const r=wt(o,!1);postMessage({cmd:Ie[t(1090)],buffer:r.payload,ts:e},[r[t(1190)][t(789)]])}G[t(1373)](r,{type:Ae[t(552)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;G.pendingUnits[r(557)]&&(n=G[r(1264)].units,o=G[r(1264)].vcl,s=G[r(1264)][r(1223)],G[r(1264)]={});let a={};for(let e of t){if(e[r(1238)]<4)continue;const t=rn(e);let c=!1,u=on(t);sn(t)&&(a=G[r(1126)](e),c=!0),n.length&&o&&(a[r(1304)]||!c)&&(i[r(1015)]({units:n,isIFrame:s}),n=[],s=!1,o=!1),n[r(1015)](e),s=s||u,o=o||c}n[r(1235)]&&(G.pendingUnits={units:n,vcl:o,iFrame:s}),i[r(728)]((e=>{const t=r,n=e[t(557)],i=e[t(1070)];let s=null,o=null;if(n[t(728)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Fe.pps:G[r(930)]=e;break;case Fe[r(471)]:G[r(471)]=e;break;case Fe[r(1128)]:G[r(1128)]=e;break;case Fe[r(1192)]:case Fe.prefixSei:o=e}if(sn(n)){const t=St(e);if(s){const e=new Uint8Array(s.byteLength+t.byteLength);e[r(1185)](s,0),e[r(1185)](t,s[r(1238)]),s=e}else s=t}})),!G.isSendSeqHeader&&G.sps&&G[t(930)]&&G[t(1128)]){G[t(1310)]=!0;const e=Qr({sps:G[t(471)],pps:G[t(930)],vps:G.vps});X[t(1120)](e,{type:Ae.video,ts:0,isIFrame:!0,cts:0}),G.sps=null,G[t(930)]=null,G[t(1128)]=null}if(G[t(1310)]){if(G.sps&&G[t(930)]&&G[t(1128)]){const e=Qr({sps:G[t(471)],pps:G[t(930)],vps:G.vps}),r=G.localDts;X[t(1120)](e,{type:Ae[t(552)],ts:r,isIFrame:!0,cts:0}),G[t(471)]=null,G[t(930)]=null,G[t(1128)]=null}if(s){const e=G[t(618)](),r=tn(s,i);if(X._opt.isEmitSEI&&o){const r=wt(o,!0);postMessage({cmd:Ie[t(1090)],buffer:r[t(1190)],ts:e},[r.payload[t(789)]])}G[t(1373)](r,{type:Ae[t(552)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{G[ic(582)](e)}))},parseVideo264Header(t){const r=e,n=new Ha(t);return n[r(1050)](),{isfms:0===n[r(591)](),sType:n[r(591)]()}},parseVideo265Header(t){const r=e,n=new Ha(t);return n[r(1050)](),{nalType:n.readBits(6),isfms:0===n[r(1041)](1),sType:n.readBits(3)}}},q={LOG_NAME:e(1301),mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;q.mp4Box=mo[t(1167)](),q[t(542)][t(539)]=q[t(539)],q[t(542)].onError=q.onError,q[t(542)][t(1329)]=q[t(1329)],X[t(975)](q.LOG_NAME,"init")},destroy(){const t=e;q[t(542)]&&(q[t(542)][t(707)](),q.mp4Box[t(1353)](),q[t(542)][t(1159)](),q.mp4Box=null),q[t(1104)]=0,q[t(1343)]=null,q[t(1024)]=null,q[t(1026)]=!1,X.debugLog(q[t(760)],t(1159))},_getSeqHeader(t){const r=e,n=q.mp4Box[r(1049)](t.id);for(const e of n[r(727)].minf[r(1317)][r(535)][r(1227)])if(e[r(946)]||e.hvcC){const t=new mo.DataStream(void 0,0,mo[r(577)].BIG_ENDIAN);let n=[];e[r(946)]?(e[r(946)].write(t),n=[23,0,0,0,0]):(q[r(1026)]=!0,X[r(1026)]=!0,e[r(1075)][r(478)](t),n=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),s=new Uint8Array(n[r(1235)]+i[r(1235)]);return s[r(1185)](n,0),s[r(1185)](i,n[r(1235)]),s}return null},onReady(t){const r=e;X.debugLog(q[r(760)],"onReady()");const n=t[r(492)][0],i=t[r(1208)][0];if(n){q[r(1343)]=n.id;const e=q[r(1139)](n);e&&(X.debugLog(q.LOG_NAME,"seqHeader"),X[r(505)](e,0,!0,0)),q[r(542)][r(973)](n.id)}if(i&&X[r(585)].hasAudio){q.audioTrackId=i.id;const e=i[r(1028)]||{},t=ut[r(772)](e[r(1400)]),n=i[r(1263)][r(736)]("mp4a.40.","");q[r(542)].setExtractionOptions(i.id);const s=lt({profile:parseInt(n,10),sampleRate:t,channel:e[r(625)]});X.debugLog(q[r(760)],r(1060)),X[r(1014)](s,0)}q[r(542)][r(1386)]()},onError(t){const r=e;X[r(715)](q[r(760)],r(1295),t)},onSamples(t,r,n){const i=e;if(t===q[i(1343)]){for(const e of n){const t=e[i(1362)],r=e[i(1359)],n=1e3*e[i(821)]/e[i(1108)];e[i(1072)],e.timescale,r&&X[i(521)](n);let s=null;s=q[i(1026)]?tn(t,r):Ir(t,r),X[i(1120)](s,{type:Ae[i(552)],ts:n,isIFrame:r,cts:0})}q[i(542)][i(488)](t)}else if(t===q.audioTrackId){if(X[i(585)][i(669)]){for(const e of n){const t=e[i(1362)],r=1e3*e.cts/e[i(1108)];e[i(1072)],e[i(1108)];const n=new Uint8Array(t[i(1238)]+2);n[i(1185)]([175,1],0),n[i(1185)](t,2),X.decode(n,{type:Ae[i(1028)],ts:r,isIFrame:!1,cts:0})}q[i(542)][i(488)](t)}}else X[i(778)](q[i(760)],i(594),t)},dispatch(t){const r=e;let n=new Uint8Array(t);n[r(789)][r(1243)]=q.offset,q[r(1104)]+=n[r(1238)],q[r(542)][r(774)](n[r(789)])}},$={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(573),hasInitVideoCodec:!1,localDts:0,dispatch(t){const r=e,n=new Uint8Array(t);$[r(756)](n)},destroy(){const t=e;$.lastBuffer=new Uint8Array(0),$.parsedOffset=0,$[t(1226)]=0,$[t(968)]=0,$.state=t(573),$[t(1242)]=!1,$[t(813)]=0,X.debugLog($[t(760)],"destroy")},extractNALu(t){const r=e;if(!t||t[r(1238)]<1)return void X[r(778)]($.LOG_NAME,r(729),t);const n=new Uint8Array($[r(1323)][r(1235)]+t[r(1235)]);for(n[r(1185)]($[r(1323)],0),n[r(1185)](new Uint8Array(t),$[r(1323)][r(1235)]),$.lastBuffer=n;;){if($[r(1092)]===r(573)){let e=!1;for(;$[r(1323)].length-$[r(1279)]>=4;)if(0===$[r(1323)][$[r(1279)]])if(0===$[r(1323)][$[r(1279)]+1])if(1===$[r(1323)][$[r(1279)]+2]){if(182===$[r(1323)][$.parsedOffset+3]){$[r(1092)]=r(887),$[r(1226)]=$[r(1279)],$[r(1279)]+=4,e=!0;break}$.parsedOffset++}else $[r(1279)]++;else $.parsedOffset++;else $[r(1279)]++;if(e)continue;break}if($.state===r(887)){let e=!1;for(;$[r(1323)].length-$.parsedOffset>=4;)if(0===$[r(1323)][$.parsedOffset])if(0===$.lastBuffer[$[r(1279)]+1])if(1===$[r(1323)][$[r(1279)]+2]){if(182===$[r(1323)][$[r(1279)]+3]){$[r(1092)]=r(875),$[r(968)]=$[r(1279)],$.parsedOffset+=4,e=!0;break}$.parsedOffset++}else $.parsedOffset++;else $.parsedOffset++;else $[r(1279)]++;if(e)continue;break}if("findSecondStartCode"===$[r(1092)]){if(!($[r(1323)][r(1235)]-$[r(1279)]>0))break;{let e,t=192&$[r(1323)][$[r(1279)]];e=0==t?$[r(968)]-14:$.secondStartCodeOffset;let n,i=0==(192&$[r(1323)][$[r(1226)]+4]);if(i){if($.firstStartCodeOffset-14<0)return void X.debugWarn($[r(760)],"firstStartCodeOffset -14 is",$[r(1226)]-14);!$[r(1242)]&&($[r(1242)]=!0,X.debugLog($[r(760)],r(517)),Z[r(517)](Be[r(787)],"",X.getBuildTime())),n=$[r(1323)][r(751)]($[r(1226)]-14,e)}else n=$[r(1323)][r(751)]($.firstStartCodeOffset,e);let s=$[r(618)]();$[r(1242)]?(postMessage({cmd:Ie[r(1078)],type:Ce[r(1012)],value:n.byteLength}),postMessage({cmd:Ie[r(1078)],type:Ce[r(541)],value:s}),g=s,Z.decode(n,i?1:0,s)):X[r(778)]($[r(760)],"has not init video codec"),$[r(1323)]=$.lastBuffer.subarray(e),$[r(1226)]=0==t?14:0,$[r(1279)]=$[r(1226)]+4,$[r(1092)]=r(887)}}}},getNaluDts(){const t=e;let r=$.localDts;return $.localDts=$[t(813)]+40,r}},K={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Ra,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:e(552),id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:e(1028),id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;K[t(1224)]=null,K[t(1234)]=null,K[t(1308)]=null,K[t(1217)]=null,K[t(894)]=null,K.aac_last_incomplete_data_=null,K[t(923)]=null,K[t(1363)]=null,K[t(1056)]=null,X.debugLog(K.TAG_NAME,"destroy")},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n[r(1238)]<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(779)](1e3,n.byteLength-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;K[r(1056)]&&(t=oa(K[r(1056)],t),K[r(1056)]=null);let n=t[r(789)];const i=K[r(1352)](n);i?K[r(1056)]=t[r(751)](i):t[r(1235)]>>6;e[1];let o=(31&e[1])<<8|e[2],a=(48&e[3])>>>4,c=15&e[3],u=!(!K[r(934)]||K.pmt_[r(684)]!==o),l={},d=4;if(2==a||3==a){let t=e[4];if(t>0&&(u||3==a)&&(l[r(1296)]=(128&e[5])>>>7,l.random_access_indicator=(64&e[5])>>>6,l[r(533)]=(32&e[5])>>>5,(16&e[5])>>>4)){let t=300*(e[6]<<25|e[7]<<17|e[8]<<9|e[9]<<1|e[10]>>>7)+((1&e[10])<<8|e[11]);K[r(803)]=t}if(2==a||5+t===188){n+=188,204===K[r(1039)]&&(n+=16);continue}d=5+t}if(1==a||3==a)if(0===o||o===K.current_pmt_pid_||null!=K[r(934)]&&K.pmt_[r(1388)][o]===Ta.kSCTE35){let e=188-d;K[r(1201)](t,n+d,e,{pid:o,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(1229)]})}else if(null!=K.pmt_&&null!=K[r(934)][r(1388)][o]){let e=188-d,i=K.pmt_.pid_stream_type[o];(o===K.pmt_[r(790)][r(1061)]||o===K[r(934)][r(790)].h265||o===K[r(934)][r(790)].adts_aac||o===K[r(934)][r(790)][r(850)]||o===K[r(934)][r(790)].ac3||o===K[r(934)][r(790)][r(874)]||o===K[r(934)][r(790)].opus||o===K[r(934)].common_pids[r(1338)]||!0===K[r(934)][r(1325)][o]||!0===K[r(934)].timed_id3_pids[o]||!0===K[r(934)][r(1377)][o]||!0===K[r(934)][r(1173)][o])&&K.handlePESSlice(t,n+d,e,{pid:o,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(1229)]})}n+=188,204===K[r(1039)]&&(n+=16)}return K.dispatchAudioVideoMediaSegment(),n},handleSectionSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=K[s(1308)][i[s(994)]];if(i[s(1160)]){let e=o[0];if(null!=a&&0!==a[s(842)]){let o=new Uint8Array(t,r+1,Math[s(779)](n,e));a[s(735)][s(1015)](o),a[s(842)]+=o.byteLength,a[s(842)]===a[s(1138)]?K.emitSectionSlices(a,i):K[s(1379)](a,i)}for(let c=1+e;c=a.expected_length&&K[s(1379)](a,i),c+=u.byteLength}}else if(null!=a&&0!==a[s(842)]){let e=new Uint8Array(t,r,Math.min(n,a[s(1138)]-a[s(842)]));a[s(735)][s(1015)](e),a.total_length+=e[s(1238)],a[s(842)]===a[s(1138)]?K[s(479)](a,i):a[s(842)]>=a.expected_length&&K.clearSlices(a,i)}},handlePESSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=o[0]<<16|o[1]<<8|o[2];o[3];let c=o[4]<<8|o[5];if(i[s(1160)]){if(1!==a)return void X.debugWarn(K[s(1374)],s(797)+a);let e=K[s(1234)][i[s(994)]];e&&(0===e.expected_length||e[s(1138)]===e[s(842)]?K.emitPESSlices(e,i):K[s(1379)](e,i)),K[s(1234)][i[s(994)]]=new Da,K[s(1234)][i[s(994)]].random_access_indicator=i[s(1229)]}if(null==K[s(1234)][i[s(994)]])return;let u=K.pes_slice_queues_[i[s(994)]];u[s(735)].push(o),i[s(1160)]&&(u[s(1138)]=0===c?0:c+6),u[s(842)]+=o[s(1238)],u[s(1138)]>0&&u[s(1138)]===u[s(842)]?K[s(503)](u,i):u[s(1138)]>0&&u[s(1138)]>>6,c=n[8];(2===a||3===a)&&(e=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,i=3===a?536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2:e);let u,l=9+c;if(0!==o){if(o<3+c)return void X.debugWarn(K.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");u=o-3-c}else u=n.byteLength-l;let d=n.subarray(l,l+u);switch(t[r(1148)]){case Ta[r(1312)]:case Ta[r(674)]:K[r(1113)](d,e);break;case Ta[r(1165)]:K[r(934)].common_pids[r(1236)]===t[r(994)]?K[r(1391)](d,e):K[r(934)][r(790)][r(1390)]===t[r(994)]?K[r(683)](d,e):K[r(934)][r(790)][r(874)]===t[r(994)]?K[r(512)](d,e):K[r(934)][r(1173)][t[r(994)]]?K[r(589)](d,t[r(994)],s):K.pmt_.smpte2038_pids[t[r(994)]]?K[r(565)](d,e,i,t[r(994)],s):K[r(966)](d,e,i,t[r(994)],s);break;case Ta[r(871)]:K[r(1021)](d,e);break;case Ta[r(1277)]:K[r(853)](d,e);break;case Ta[r(982)]:K[r(683)](d,e);break;case Ta[r(575)]:K[r(512)](d,e);break;case Ta[r(954)]:K[r(934)][r(890)][t[r(994)]]?K.parseTimedID3MetadataPayload(d,e,i,t[r(994)],s):K[r(934)][r(1377)][t[r(994)]]&&K.parseSynchronousKLVMetadataPayload(d,e,i,t[r(994)],s);break;case Ta[r(1065)]:K[r(531)](d,e,i,t[r(1229)]);break;case Ta[r(560)]:K.parseH265Payload(d,e,i,t.random_access_indicator)}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&t[r(1148)]===Ta[r(1165)]){let e,i=6;e=0!==o?o:n[r(1238)]-i;let a=n[r(751)](i,i+e);K[r(966)](a,void 0,void 0,t[r(994)],s)}}else X[r(715)](K.TAG_NAME,r(899)+i)},parsePAT(t){const r=e;let n=t[0];if(0!==n)return void Log.e(K[r(584)],r(1027)+n+r(623));let i=(15&t[1])<<8|t[2];t[3],t[4];let s=(62&t[5])>>>1,o=1&t[5],a=t[6];t[7];let c=null;if(1===o&&0===a)c={version_number:0,network_pid:0,program_pmt_pid:{}},c.version_number=s;else if(c=K.pat_,null==c)return;let u=i-5-4,l=-1,d=-1;for(let e=8;e<8+u;e+=4){let n=t[e]<<8|t[e+1],i=(31&t[e+2])<<8|t[e+3];0===n?c.network_pid=i:(c[r(1103)][n]=i,-1===l&&(l=n),-1===d&&(d=i))}1===o&&0===a&&(null==K[r(791)]&&X[r(975)](K[r(1374)],r(763)+JSON[r(1195)](c)),K[r(791)]=c,K.current_program_=l,K[r(924)]=d)},parsePMT(t){const r=e;let n=t[0];if(2!==n)return void X[r(715)](K[r(1374)],r(556)+n+" is not corresponded to PMT!");let i,s=(15&t[1])<<8|t[2],o=t[3]<<8|t[4],a=(62&t[5])>>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)i=K[r(857)](),i[r(1402)]=o,i.version_number=a,K[r(981)][o]=i;else if(i=K[r(981)][o],null==i)return;i[r(684)]=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],d=12+l,h=s-9-l-4;for(let e=d;e0){for(let n=e+5;n0)for(let n=e+5;n1&&(X[n(778)](K.TAG_NAME,"AAC: Detected pts overlapped, "+(n(607)+e+n(960)+s)+"ms"),s=e)}}let o,a=new yt(t),c=null,u=s;for(;null!=(c=a.readNextAACFrame());){i=1024/c[n(1076)]*1e3;const e={codec:n(969),data:c};0==K[n(696)]?(K[n(894)]={codec:"aac",audio_object_type:c[n(483)],sampling_freq_index:c[n(1320)],sampling_frequency:c.sampling_frequency,channel_config:c[n(709)]},K.dispatchAudioInitSegment(e)):K[n(798)](e)&&(K[n(613)](),K[n(1200)](e)),o=u;let t=Math.floor(u);const r=new Uint8Array(c.data[n(1235)]+2);r[n(1185)]([175,1],0),r[n(1185)](c[n(1362)],2);let s={payload:r,length:r[n(1238)],pts:t,dts:t,type:Ae[n(1028)]};K[n(1363)][n(620)][n(1015)](s),K[n(1363)][n(1235)]+=r[n(1238)],u+=i}a.hasIncompleteData()&&(K[n(889)]=a[n(721)]()),o&&(K.audio_last_sample_pts_=o)},parseLOASAACPayload(t,r){const n=e;if(K[n(852)]&&!K[n(1142)])return;if(K.aac_last_incomplete_data_){let e=new Uint8Array(t[n(1238)]+K.aac_last_incomplete_data_[n(1238)]);e[n(1185)](K.aac_last_incomplete_data_,0),e[n(1185)](t,K[n(889)].byteLength),t=e}let i,s;if(null!=r&&(s=r/K[n(651)]),K[n(894)][n(1263)]===n(969)){if(null==r&&null!=K[n(494)])i=1024/K[n(894)][n(1076)]*1e3,s=K[n(494)]+i;else if(null==r)return void X[n(778)](K[n(1374)],n(771));if(K[n(889)]&&K[n(494)]){i=1024/K[n(894)][n(1076)]*1e3;let e=K[n(494)]+i;Math[n(502)](e-s)>1&&(X[n(778)](K[n(584)],n(815)+"expected: "+e+n(960)+s+"ms"),s=e)}}let o,a=new _t(t),c=null,u=s;for(;null!=(c=a[n(1383)](Ut(K[n(918)])?void 0:K[n(918)]));){K.loas_previous_frame=c,i=1024/c[n(1076)]*1e3;const e={codec:n(969),data:c};0==K[n(696)]?(K[n(894)]={codec:n(969),audio_object_type:c[n(483)],sampling_freq_index:c[n(1320)],sampling_frequency:c.sampling_frequency,channel_config:c.channel_config},K[n(1200)](e)):K[n(798)](e)&&(K.dispatchAudioMediaSegment(),K[n(1200)](e)),o=u;let t=Math[n(847)](u);const r=new Uint8Array(c[n(1362)][n(1235)]+2);r[n(1185)]([175,1],0),r[n(1185)](c[n(1362)],2);let s={payload:r,length:r[n(1238)],pts:t,dts:t,type:Ae[n(1028)]};K[n(1363)][n(620)][n(1015)](s),K[n(1363)].length+=r[n(1238)],u+=i}a[n(510)]()&&(K[n(889)]=a[n(721)]()),o&&(K.audio_last_sample_pts_=o)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(K[n(852)]&&!K[n(1142)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],o=[11025,12e3,8e3,0],a=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,h=34;switch(n(1338),a){case 0:d=o[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:h=34,n(1235);break;case 2:h=33,n(1235);break;case 3:h=32,n(1235)}const f={};f[n(511)]=h,f[n(1400)]=d,f[n(625)]=l,f[n(1362)]=t;const p={codec:n(1338),data:f};0==K.audio_init_segment_dispatched_?(K[n(894)]={codec:n(1338),object_type:h,sample_rate:d,channel_count:l},K[n(1200)](p)):K.detectAudioMetadataChange(p)&&(K[n(613)](),K.dispatchAudioInitSegment(p));let m={payload:t,length:t.byteLength,pts:r/K.timescale_,dts:r/K.timescale_,type:Ae.audio};K[n(1363)][n(620)][n(1015)](m),K[n(1363)][n(1235)]+=t.byteLength},detectAudioMetadataChange(t){const r=e;if(t[r(1263)]!==K[r(894)][r(1263)])return X[r(975)](K[r(1374)],r(626)+(K[r(894)][r(1263)]+r(726)+t[r(1263)])),!0;if(t[r(1263)]===r(969)&&K[r(894)][r(1263)]===r(969)){const e=t[r(1362)];if(e[r(483)]!==K[r(894)][r(483)])return X[r(975)](K[r(1374)],"AAC: AudioObjectType changed from "+(K[r(894)][r(483)]+r(726)+e[r(483)])),!0;if(e[r(1320)]!==K[r(894)].sampling_freq_index)return X[r(975)](K.TAG_NAME,r(766)+(K.audio_metadata_[r(1320)]+r(726)+e[r(1320)])),!0;if(e[r(709)]!==K[r(894)][r(709)])return X[r(975)](K[r(1374)],r(1315)+(K[r(894)][r(709)]+r(726)+e[r(709)])),!0}else if(t[r(1263)]===r(1096)&&"ac-3"===K[r(894)].codec){const e=t[r(1362)];if(e[r(1076)]!==K[r(894)][r(1076)])return X[r(975)](K[r(1374)],r(563)+(K.audio_metadata_[r(1076)]+r(726)+e[r(1076)])),!0;if(e[r(855)]!==K.audio_metadata_.bit_stream_identification)return X[r(975)](K[r(1374)],r(519)+(K[r(894)][r(855)]+" to ")+e.bit_stream_identification),!0;if(e[r(717)]!==K[r(894)].bit_stream_mode)return X.debugLog(K[r(1374)],r(1213)+(K[r(894)][r(717)]+" to ")+e[r(717)]),!0;if(e[r(1017)]!==K[r(894)][r(1017)])return X[r(975)](K[r(1374)],r(1230)+(K[r(894)].channel_mode+r(726)+e[r(1017)])),!0;if(e[r(928)]!==K[r(894)][r(928)])return X[r(975)](K[r(1374)],r(480)+(K.audio_metadata_[r(928)]+r(726)+e[r(928)])),!0}else if(t[r(1263)]===r(1236)&&K[r(894)][r(1263)]===r(1236)){const e=t[r(980)];if(e[r(1400)]!==K[r(894)][r(1400)])return X.debugLog(K[r(1374)],r(777)+(K.audio_metadata_[r(1400)]+r(726)+e.sample_rate)),!0;if(e[r(625)]!==K[r(894)][r(625)])return X[r(975)](K[r(1374)],r(1211)+(K[r(894)].channel_count+r(726)+e[r(625)])),!0}else if(t[r(1263)]===r(1338)&&"mp3"===K[r(894)].codec){const e=t[r(1362)];if(e[r(511)]!==K.audio_metadata_[r(511)])return X[r(975)](K.TAG_NAME,r(1202)+(K.audio_metadata_[r(511)]+r(726)+e.object_type)),!0;if(e.sample_rate!==K[r(894)][r(1400)])return X[r(975)](K[r(1374)],r(1149)+(K[r(894)][r(1400)]+r(726)+e[r(1400)])),!0;if(e[r(625)]!==K[r(894)][r(625)])return X[r(975)](K.TAG_NAME,r(598)+(K[r(894)].channel_count+r(726)+e[r(625)])),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n[r(1013)]="audio",n.id=K[r(1363)].id,n[r(1108)]=1e3,n.duration=K[r(1029)],K[r(894)][r(1263)]===r(969)){let e=t[r(1263)]===r(969)?t.data:null,i=new La(e);n[r(1127)]=i.sampling_rate,n[r(1261)]=i.sampling_index,n.channelCount=i.channel_count,n.codec=i[r(867)],n.originalCodec=i[r(1356)],n[r(622)]=i[r(622)],n[r(992)]=1024/n[r(1127)]*n[r(1108)],r(1394);const s=lt({profile:X[r(585)][r(599)]?i[r(511)]:i[r(1168)],sampleRate:n[r(1261)],channel:n[r(1005)]});X[r(1014)](s,0)}else K[r(894)][r(1263)]===r(1096)||K[r(894)][r(1263)]===r(1006)||K[r(894)].codec===r(1236)||K[r(894)].codec===r(1338)&&(n.audioSampleRate=K.audio_metadata_[r(1400)],n[r(1005)]=K[r(894)].channel_count,n.codec=r(1338),n[r(795)]=r(1338),n[r(622)]=void 0,r(1313));0==K[r(696)]&&X.debugLog(K[r(1374)],r(1105)+n[r(1263)]),K[r(696)]=!0,K.video_metadata_changed_=!1;let i=K[r(1224)];i[r(669)]=!0,i[r(1059)]=n.originalCodec,i.audioSampleRate=n[r(1127)],i[r(1119)]=n[r(1005)],i[r(1114)]&&i[r(1322)]?i.mimeType=r(891)+i.videoCodec+","+i.audioCodec+'"':i[r(784)]=r(891)+i[r(1059)]+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s[i(994)]=t,s[i(1148)]=r,s.descriptor=n},parsePESPrivateDataPayload(t,r,n,i,s){const o=e;let a=new Ua;if(a.pid=i,a.stream_id=s,a[o(1273)]=t[o(1238)],a.data=t,null!=r){let e=Math[o(847)](r/K[o(651)]);a[o(1115)]=e}else a.nearest_pts=K[o(1178)]();if(null!=n){let e=Math.floor(n/K.timescale_);a[o(659)]=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const o=e;X[o(975)](K[o(1374)],"Timed ID3 Metadata: pid="+i+", pts="+r+", dts="+n+o(1023)+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const o=e;X[o(975)](K[o(1374)],o(1153)+i+o(1324)+r+o(1088)+n+o(1023)+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;X[i(975)](K[i(1374)],i(1302)+r+i(1023)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const o=e;X.debugLog(K.TAG_NAME,o(1228)+i+o(1324)+r+o(1088)+n+o(1023)+s)},getNearestTimestampMilliseconds(){const t=e;return null!=K[t(494)]?Math[t(847)](K[t(494)]):null!=K[t(803)]?Math[t(847)](K[t(803)]/300/K[t(651)]):void 0},_preDoDecode(){const t=e,r=K.video_track_,n=K[t(1363)];let i=r.samples;n[t(620)][t(1235)]>0&&(i=r[t(620)][t(1189)](n[t(620)]),i=i.sort(((e,r)=>{const n=t;return e[n(659)]-r[n(659)]}))),i[t(728)]((e=>{const r=t,n=new Uint8Array(e[r(1190)]);delete e[r(1190)],e[r(1013)]===Ae.video?K[r(1162)]({...e,payload:n}):e.type===Ae.audio&&K._doDecodeAudio({...e,payload:n})})),r.samples=[],r[t(1235)]=0,n[t(620)]=[],n[t(1235)]=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t.payload);let i=null;i=t.isHevc?tn(n,t.isIFrame):Ir(n,t[r(1070)]),t[r(1070)]&&X[r(521)](t[r(659)]);let s=X[r(1007)](i,t[r(1070)]);X[r(1120)](s,{type:Ae[r(552)],ts:t[r(659)],isIFrame:t[r(1070)],cts:t[r(821)]})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(1190)]);let i=n;Wt(X[r(585)][r(1297)])&&(i=X[r(1036)](n)),X[r(1120)](i,{type:Ae[r(1028)],ts:t.dts,isIFrame:!1,cts:0})}},Y=null;qt()&&(Y={TAG_NAME:"worker MediaSource",_resetInIt(){const t=e;Y[t(558)]=null,Y.isAAC=null,Y.videoInfo={},Y[t(1133)]={},Y.audioMeta={},Y[t(904)]=null,Y[t(1397)]=null,Y.hasInit=!1,Y[t(1043)]=!1,Y[t(666)]=!1,Y[t(895)]="",Y.audioMimeType="",Y.cacheTrack={},Y[t(1288)]={},Y.timeInit=!1,Y[t(1326)]=0,Y.audioSequenceNumber=0,Y[t(1134)]=null,Y[t(1164)]=null,Y[t(1152)]=!1,Y[t(866)]=!1,Y[t(758)]=!1,Y[t(1106)]=!1,Y.mediaSourceError=!1,Y[t(759)]=null,Y.decodeDiffTimestamp=null,Y[t(955)]=null,Y.prevAudioDts=null,Y[t(1268)]=0,Y[t(489)]=!1,Y[t(1191)]=null,Y.prevAudioTs=null,Y.eventListenList=[],Y[t(581)]=[],Y[t(1077)]=[],Y[t(1292)]=[],Y[t(926)]=[],Y[t(1219)]=null,Y[t(1347)]=null,Y[t(1250)]=null,Y[t(1316)]=!1,Y.$video={currentTime:0,readyState:0}},init(){const t=e;Y[t(814)]=new la,Y[t(1210)](),Y[t(885)]=new(self[t(609)]),Y.isDecodeFirstIIframe=!!Gt(X[t(585)][t(916)]),Y[t(1298)](),X[t(975)](Y[t(1374)],"init")},destroy(){const t=e;Y[t(707)](),Y[t(802)](),Y[t(1009)]&&Y[t(1009)].length&&(Y.eventListenList[t(728)]((e=>e())),Y[t(1009)]=[]),Y._resetInIt(),Y[t(885)]=null,X[t(975)](Y.TAG_NAME,"destroy")},getState(){const t=e;return Y.mediaSource&&Y[t(885)][t(750)]},isStateOpen(){const t=e;return Y[t(658)]()===Oe[t(500)]},isStateClosed(){const t=e;return Y.getState()===Oe[t(1018)]},isStateEnded(){const t=e;return Y[t(658)]()===Oe[t(1358)]},_bindMediaSourceEvents(){const t=e,{proxy:r}=Y[t(814)],n=r(Y[t(885)],ze[t(1237)],(()=>{const e=t;X.debugLog(Y[e(1374)],e(1237)),Y[e(686)]()})),i=r(Y[t(885)],ze[t(608)],(()=>{const e=t;X[e(975)](Y.TAG_NAME,e(608))})),s=r(Y[t(885)],ze[t(522)],(()=>{const e=t;X[e(975)](Y[e(1374)],e(522))}));Y[t(1009)][t(1015)](n,i,s)},_onMediaSourceSourceOpen(){const t=e;!Y[t(904)]&&(X[t(975)](Y.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),Y[t(825)]()),!Y[t(1397)]&&(X[t(975)](Y[t(1374)],t(962)),Y._initAudioSourceBuffer()),Y._hasPendingSegments()&&Y[t(900)]()},decodeVideo(t,r,n,i){const s=e;if(X[s(997)])X[s(778)](Y[s(1374)],"decodeVideo() and decoder is destroyed");else if(Gt(Y[s(990)]))if(n&&t[1]===Ve[s(1342)]){const e=15&t[0];if(e===Be.h265&&Gt(X[s(585)].supportMSEDecodeHevc))return void Y.emitError(Te.mediaSourceH265NotSupport);Y[s(781)][s(1263)]=e,postMessage({cmd:Ie[s(724)],code:e});const i=new Uint8Array(t);postMessage({cmd:Ie[s(1322)],buffer:i,codecId:e},[i[s(789)]]),Y[s(990)]=Y[s(694)](t,r,n,e)}else X[s(778)](Y[s(1374)],s(1361)+n+" , payload is "+t[1]+" so drop this frame");else if(!Y[s(876)]&&n&&(Y[s(876)]=!0),Y.isDecodeFirstIIframe){if(n&&0===t[1]){const e=15&t[0];let r={};e===Be[s(1061)]?r=gr(t.slice(5)):e===Be[s(1207)]&&(r=Yr(t));const n=Y[s(781)];n&&n[s(1087)]&&n[s(1270)]&&r&&r[s(1003)]&&r[s(1112)]&&(r.codecWidth!==n.width||r[s(1112)]!==n[s(1270)])&&(X[s(778)](Y[s(1374)],s(520)+n[s(1087)]+", old height is "+n.height+s(572)+r.codecWidth+", new height is "+r.codecHeight+",\n and emit change event"),Y[s(489)]=!0,Y.emitError(Te[s(824)],s(1282)+n.width+"->"+r.codecWidth+s(1259)+n[s(1270)]+"->"+r[s(1112)]))}if(Y.isWidthOrHeightChanged)return void X[s(778)](Y[s(1374)],s(1387));if(jt(t))return void X[s(975)](Y[s(1374)],"decodeVideo and payload is video sequence header so drop this frame");if(t[s(1238)]0&&tye},_decodeConfigurationRecord(t,r,n,i){const s=e;let o=t.slice(5),a={};if(i===Be.h264?a=gr(o):i===Be[s(1207)]&&(a=Xr(o)),Y[s(781)][s(1087)]=a.codecWidth,Y[s(781)][s(1270)]=a[s(1112)],0===a[s(1003)]&&0===a[s(1112)])return X[s(778)](Y[s(1374)],s(665),JSON[s(1195)](a)),Y[s(611)](Te.mediaSourceDecoderConfigurationError,"width is "+(0===a[s(1003)])+s(896)+a[s(1112)]),!1;const c={id:qe[s(552)],type:"video",timescale:1e3,duration:0,avcc:o,codecWidth:a[s(1003)],codecHeight:a[s(1112)],videoType:a.videoType},u=pa[s(491)](c);return Y[s(558)]=i===Be[s(1061)],a[s(1263)]?Y.videoMimeType=s(995)+a[s(1263)]+'"':Y[s(895)]=Y[s(558)]?Le.avc:Le[s(1098)],postMessage({cmd:Ie[s(989)],w:a[s(1003)],h:a.codecHeight}),Y[s(825)](),Y[s(774)](u[s(789)]),Y[s(1326)]=0,Y.cacheTrack={},Y[s(586)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,o=i===Me.MP3,a=i===Me[n(1394)];if(Gt(a||o))return X[n(778)](Y[n(1374)],n(597)+i+n(829)),Y[n(611)](Te[n(1079)]),!1;const c={id:qe[n(1028)],type:n(1028),timescale:1e3};let u={};if(dt(t)){if(u=mt(t[n(603)](2)),!u)return!1;c[n(1127)]=u[n(782)],c[n(1005)]=u.channelCount,c.config=u.config,c[n(992)]=1024/c[n(1127)]*c.timescale}else{if(!o)return!1;if(u=Ca(t),!u)return!1;c[n(1127)]=u.samplingRate,c[n(1005)]=u[n(1005)],c[n(992)]=1152/c[n(1127)]*c[n(1108)]}c[n(1263)]=u[n(1263)],c[n(1072)]=0;let l=n(945),d=u[n(1263)],h=null;o&&Gt(X[n(585)][n(1182)])?(l="mpeg",d="",h=new Uint8Array):h=pa[n(491)](c);let f=c[n(1013)]+"/"+l;return d&&d.length>0&&(f+=n(1318)+d),Gt(Y.isAudioInitInfo)&&(O=i===Me.AAC?s?16:8:0===s?8:16,postMessage({cmd:Ie.audioCode,code:i}),postMessage({cmd:Ie[n(1384)],sampleRate:c[n(1127)],channels:c.channelCount,depth:O}),Y[n(666)]=!0),Y[n(898)]=f,Y[n(1205)]=a,Y[n(604)](),Y[n(695)](h[n(789)]),!0},_initSourceBuffer(){const t=e,{proxy:r}=Y[t(814)];if(null===Y[t(904)]&&null!==Y[t(885)]&&Y[t(476)]()&&Y[t(895)]){try{X.debugLog(Y[t(1374)],t(970),Y[t(895)]),Y[t(904)]=Y[t(885)][t(640)](Y.videoMimeType)}catch(e){return X[t(715)](Y.TAG_NAME,t(1350),e[t(1332)],e[t(1399)](),e),Y[t(611)](Te[t(1278)],e[t(1332)]),void(Y[t(758)]=!0)}if(Y.sourceBuffer){const e=r(Y.sourceBuffer,"error",(e=>{const r=t;Y[r(1106)]=!0,X[r(715)](Y[r(1374)],r(1121),e,e[r(1399)]()),Y.emitError(Te[r(567)],e.code)})),n=r(Y.sourceBuffer,t(1172),(()=>{const e=t;Y[e(540)]()?Y[e(862)]():Y[e(1330)]()?Y[e(900)]():Y[e(1316)]&&(X[e(975)](Y.TAG_NAME,e(1144)),Y[e(888)]())}));Y.eventListenList.push(e,n)}}else X[t(975)](Y.TAG_NAME,t(693)+Y[t(476)]()+t(645)+(null===Y[t(558)]))},_initAudioSourceBuffer(){const t=e,{proxy:r}=Y[t(814)];if(null===Y[t(1397)]&&null!==Y[t(885)]&&Y[t(476)]()&&Y.audioMimeType){try{X[t(975)](Y[t(1374)],t(839),Y[t(898)]),Y[t(802)](),Y.audioSourceBuffer=Y.mediaSource.addSourceBuffer(Y.audioMimeType)}catch(e){return X[t(715)](Y.TAG_NAME,t(749),e[t(1332)],e[t(1399)](),e),Y.emitError(Te.mseWorkerAddSourceBufferError,e[t(1332)]),void(Y[t(758)]=!0)}if(Y[t(1397)]){const e=r(Y[t(1397)],t(1176),(e=>{const r=t;Y.mediaSourceBufferError=!0,X[r(715)](Y[r(1374)],"mseSourceBufferError mseDecoder.audioSourceBuffer",e[r(1332)],e.toString(),e),Y[r(611)](Te[r(567)],e[r(1332)])})),n=r(Y[t(1397)],t(1172),(()=>{const e=t;Y._hasPendingRemoveRanges()?Y[e(862)]():Y._hasPendingSegments()?Y[e(900)]():Y[e(1316)]&&(X[e(975)](Y.TAG_NAME,e(873)),Y[e(888)]())}));Y[t(1009)][t(1015)](e,n),null===Y[t(1250)]&&(Y.audioSourceNoDataCheckTimeout=setTimeout((()=>{const e=t;Y[e(731)](),Y[e(611)](Te.mediaSourceAudioNoDataTimeout)}),1e3))}}else X.debugLog(Y[t(1374)],t(827)+Y[t(476)]()+" and mseDecoder.audioMimeType is "+Y.audioMimeType)},_decodeVideo(t,r,n,i,s){const o=e;let a=t[o(603)](5),c=a[o(1238)];if(0===c)return void X.debugWarn(Y.TAG_NAME,o(697));let u=(new Date).getTime(),l=!1;!Y[o(759)]&&(Y[o(759)]=u,l=!0);const d=u-Y.prevTimestamp;if(Y[o(527)]=d,d>1e3&&!l&&X.isPlayer&&X[o(975)](Y.TAG_NAME,o(761)+u+" and prev time is "+Y[o(759)]+o(1046)+d+o(1045)),Y[o(1372)].id&&r>=Y.cacheTrack[o(659)]){let e=8+Y[o(1372)].size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[o(1185)](pa[o(792)][o(1354)],4),t.set(Y[o(1372)][o(1362)],8),Y[o(1372)][o(1072)]=r-Y[o(1372)].dts;let n=pa.moof(Y.cacheTrack,Y.cacheTrack.dts);Y.cacheTrack={};let i=new Uint8Array(n[o(1238)]+t[o(1238)]);i.set(n,0),i[o(1185)](t,n[o(1238)]),Y[o(774)](i.buffer)}else X[o(975)](Y.TAG_NAME,o(952)+r+", and ts is "+s+o(477)+(Y[o(1372)]&&Y[o(1372)].dts)),Y[o(586)]=!1,Y[o(1372)]={};!Y[o(1372)]&&(Y[o(1372)]={}),Y.cacheTrack.id=qe[o(552)],Y[o(1372)][o(1326)]=++Y.sequenceNumber,Y[o(1372)][o(1135)]=c,Y[o(1372)][o(659)]=r,Y[o(1372)][o(821)]=i,Y[o(1372)][o(1380)]=n,Y[o(1372)].data=a,Y[o(1372)][o(1257)]={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},Y[o(759)]=(new Date)[o(1010)]()},_decodeAudio(t,r,n){const i=e;let s=Y[i(1205)]?t.slice(2):t.slice(1),o=s.byteLength;if(Y[i(1288)].id&&r>=Y[i(1288)][i(659)]){let e=8+Y[i(1288)][i(1135)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t.set(pa[i(792)][i(1354)],4),t[i(1185)](Y[i(1288)].data,8),Y.cacheAudioTrack.duration=r-Y[i(1288)][i(659)];let n=pa.moof(Y[i(1288)],Y.cacheAudioTrack[i(659)]);Y[i(1288)]={};let s=new Uint8Array(n.byteLength+t.byteLength);s[i(1185)](n,0),s.set(t,n[i(1238)]),Y[i(695)](s.buffer)}else Y[i(1288)]={};!Y[i(1288)]&&(Y[i(1288)]={}),Y[i(1288)].id=qe.audio,Y.cacheAudioTrack[i(1326)]=++Y[i(1371)],Y[i(1288)][i(1135)]=o,Y[i(1288)][i(659)]=r,Y[i(1288)][i(821)]=0,Y[i(1288)][i(1362)]=s,Y[i(1288)][i(1257)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;X.isDestroyed?X[r(778)](Y.TAG_NAME,r(699)):Y[r(758)]?X[r(778)](Y[r(1374)],r(637)):Y[r(1152)]?X.debugWarn(Y[r(1374)],"mseDecoder.mediaSourceAppendBufferFull is true"):Y[r(866)]?X.debugWarn(Y[r(1374)],r(936)):Y[r(1106)]?X[r(778)](Y.TAG_NAME,r(1255)):(Y[r(1077)].push(t),Y.sourceBuffer&&(X[r(585)].mseAutoCleanupSourceBuffer&&Y._needCleanupSourceBuffer()&&Y[r(860)](),Gt(Y.getSourceBufferUpdating())&&Y[r(476)]()&&Gt(Y._hasPendingRemoveRanges()))?Y[r(900)]():Y[r(757)]()?(Y.mediaSourceBufferError=!0,Y[r(611)](Te[r(567)],r(1044))):Y[r(546)]()&&(Y.mediaSourceBufferError=!0,Y[r(611)](Te[r(567)],"mediaSource is end")))},appendAudioBuffer(t){const r=e;X.isDestroyed?X[r(778)](Y[r(1374)],"appendAudioBuffer() player is destroyed"):Y[r(758)]?X[r(778)](Y[r(1374)],r(637)):Y[r(1152)]?X[r(778)](Y[r(1374)],r(655)):Y[r(866)]?X.debugWarn(Y[r(1374)],r(936)):Y.mediaSourceBufferError?X.debugWarn(Y[r(1374)],r(1255)):(Y.pendingAudioSegments[r(1015)](t),Y[r(1397)]&&(X[r(585)][r(473)]&&Y._needCleanupSourceBuffer()&&Y[r(860)](),Gt(Y[r(1204)]())&&Y[r(476)]()&&Gt(Y._hasPendingRemoveRanges()))?Y[r(900)]():Y.isStateClosed()?(Y[r(1106)]=!0,Y.emitError(Te[r(567)],r(1044))):Y.isStateEnded()&&(Y[r(1106)]=!0,Y[r(611)](Te[r(567)],r(828))))},getSourceBufferUpdating(){const t=e;return Y[t(904)]&&Y[t(904)][t(922)]},getAudioSourceBufferUpdating(){const t=e;return Y.audioSourceBuffer&&Y.audioSourceBuffer[t(922)]},stop(){const t=e;Y[t(914)](),Y.removeSourceBuffer(),Y[t(888)]()},clearUpAllSourceBuffer(){const t=e;if(Y[t(904)]){const e=Y[t(904)][t(685)];for(let r=0;r0||Y.pendingAudioSegments[t(1235)]>0},getPendingSegmentsLength(){const t=e;return Y[t(1077)][t(1235)]},_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(Y.isStateClosed()||Y[t(546)]())X[t(975)](Y[t(1374)],t(917));else if(null!==Y[t(904)]){if(Y.needInitAudio()&&null===Y[t(1397)])return X[t(975)](Y[t(1374)],t(583)),void(null===Y.audioSourceBufferCheckTimeout&&(Y[t(1347)]=setTimeout((()=>{Y._clearAudioSourceBufferCheckTimeout(),Y.emitError(Te.mediaSourceAudioInitTimeout)}),1e3)));if(Gt(Y.getSourceBufferUpdating())&&Y.pendingSegments[t(1235)]>0){const e=Y.pendingSegments[t(671)]();try{Y[t(904)].appendBuffer(e)}catch(e){X[t(715)](Y[t(1374)],"mseDecoder.sourceBuffer.appendBuffer()",e[t(1332)],e),22===e[t(1332)]?(Y[t(707)](),Y.mediaSourceAppendBufferFull=!0,Y[t(611)](Te[t(672)],t(1071)+e[t(1332)]+t(660)+e[t(1011)])):11===e.code?(Y[t(707)](),Y[t(866)]=!0,Y[t(611)](Te.mediaSourceAppendBufferError,t(1071)+e[t(1332)]+" , message is "+e[t(1011)])):(Y.stop(),Y[t(1106)]=!0,Y[t(611)](Te[t(567)],t(1071)+e.code+t(660)+e[t(1011)]))}}if(Gt(Y[t(1204)]())&&Y[t(926)].length>0){const e=Y[t(926)].shift();try{Y[t(1397)][t(774)](e)}catch(e){X.debugError(Y[t(1374)],"mseDecoder.audioSourceBuffer.appendBuffer()",e[t(1332)],e),22===e.code?(Y[t(707)](),Y[t(1152)]=!0,Y[t(611)](Te.mediaSourceFull,"code is "+e[t(1332)]+t(660)+e[t(1011)])):11===e[t(1332)]?(Y[t(707)](),Y[t(866)]=!0,Y.emitError(Te.mediaSourceAppendBufferError,t(1071)+e[t(1332)]+" , message is "+e[t(1011)])):(Y.stop(),Y[t(1106)]=!0,Y.emitError(Te[t(567)],e[t(1332)],t(1071)+e[t(1332)]+t(660)+e.message))}}}else X[t(975)](Y[t(1374)],t(793))},_doCleanUpSourceBuffer(){const t=e,r=Y[t(1231)][t(1132)];if(Y[t(904)]){const e=Y[t(904)][t(685)];let n=!1;for(let i=0;i=X[t(585)].mseAutoCleanupMaxBackwardDuration){n=!0;let e=r-X[t(585)][t(753)];Y[t(581)][t(1015)]({start:s,end:e})}}else o=X[t(585)][t(1025)]){n=!0;let e=r-X[t(585)][t(753)];Y[t(1292)][t(1015)]({start:s,end:e})}}else o0||Y.pendingAudioRemoveRanges.length>0},needInitAudio(){const t=e;return X[t(585)][t(669)]&&X[t(585)][t(599)]},_doRemoveRanges(){const t=e;if(Y[t(904)]&&Gt(Y[t(1339)]())){let e=Y[t(581)];for(;e[t(1235)]&&Gt(Y[t(1339)]());){let r=e[t(671)]();try{Y.sourceBuffer[t(713)](r.start,r.end)}catch(e){X[t(778)](Y[t(1374)],"_doRemoveRanges() sourceBuffer error",e,e[t(1399)]())}}}if(Y[t(1397)]&&Gt(Y.getAudioSourceBufferUpdating())){let e=Y[t(1292)];for(;e.length&&Gt(Y[t(1204)]());){let r=e.shift();try{Y[t(1397)][t(713)](r[t(1386)],r[t(822)])}catch(e){X[t(778)](Y[t(1374)],"_doRemoveRanges() audioSourceBuffer error",e,e[t(1399)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Gt(X[t(585)][t(473)]))return!1;const r=Y[t(1231)][t(1132)];if(Y[t(904)]){let e=Y[t(904)][t(685)];if(e[t(1235)]>=1&&r-e[t(1386)](0)>=X[t(585)][t(1025)])return!0}if(Y[t(1397)]){let e=Y.audioSourceBuffer[t(685)];if(e[t(1235)]>=1&&r-e.start(0)>=X[t(585)][t(1025)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){const t=e;Y[t(1347)]&&(clearTimeout(Y.audioSourceBufferCheckTimeout),Y[t(1347)]=null)},_clearAudioNoDataCheckTimeout(){const t=e;Y.audioSourceNoDataCheckTimeout&&(clearTimeout(Y[t(1250)]),Y[t(1250)]=null)},getHandle(){const t=e;return Y.mediaSource[t(1183)]},emitError(t){const r=e;let n=arguments[r(1235)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:Ie[r(566)],value:t,msg:n})}});let X={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Ge[e(642)],_opt:j(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){const t=e;X[t(1266)](),d=setInterval((()=>{const e=t;l&&l(0);const r=JSON.stringify({demuxBufferDelay:X.getVideoBufferLength(),audioDemuxBufferDelay:X.getAudioBufferLength(),streamBufferByteLength:X.getStreamBufferLength(),netBuf:X.networkDelay||0,pushLatestDelay:X[e(907)]||0,latestDelay:X[e(1241)],isStreamTsMoreThanLocal:w,wasmDecodeDelay:g-b});postMessage({cmd:Ie[e(1078)],type:Ce[e(831)],value:r})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return X[t(585)][t(1187)]&&typeof OffscreenCanvas!=t(506)},getDelay:function(t,r){const n=e;if(!t||X[n(585)][n(1114)]&&!_)return-1;if(r===Ae[n(1028)])return X[n(1241)];if(X[n(1091)]&&X.preDelayTimestamp>t)return X[n(1091)]-t>1e3&&X[n(778)](n(1246),n(906)+X[n(1091)]+n(1140)+t+n(1034)+(X[n(1091)]-t)+n(999)+X[n(1241)]),X[n(1091)]=t,X.delay;if(X[n(863)]){if(t){const e=Date[n(818)]()-X.startTimestamp,r=t-X.firstTimestamp;e>=r?(w=!1,X[n(1241)]=e-r):(w=!0,X[n(1241)]=r-e)}}else X[n(863)]=t,X[n(943)]=Date[n(818)](),X.delay=-1;return X[n(1091)]=t,X[n(1241)]},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||X[n(585)][n(1114)]&&!_)return-1;if(r===Ae[n(1028)])return X[n(907)];if(X[n(1091)]&&X[n(1091)]-t>1e3)return X[n(778)]("worker",n(869)+X[n(1091)]+" > timestamp is "+t+n(1034)+(X[n(1091)]-t)+n(1395)),-1;if(X[n(863)]){let e=-1;if(t){const r=Date[n(818)]()-X.startTimestamp,i=t-X.firstTimestamp;r>=i?(w=!1,e=r-i):(w=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;X[t(863)]=null,X[t(943)]=null,X.delay=-1,X[t(1385)]=!1},resetAllDelay:function(){const t=e;X[t(773)](),X[t(1091)]=null},doDecode:function(t){const r=e;X[r(585)][r(663)]&&t[r(1013)]===Ae[r(552)]&&X[r(799)]&&X[r(676)](t.payload,t.ts),X.isPlayUseMSEAndDecoderInWorker()?t[r(1013)]===Ae[r(1028)]?X[r(585)][r(599)]?Y[r(1014)](t[r(1190)],t.ts):t[r(534)][r(1120)](t[r(1190)],t.ts):t[r(1013)]===Ae[r(552)]&&Y[r(505)](t[r(1190)],t.ts,t[r(1070)],t[r(821)]):X._opt[r(1020)]&&X[r(1187)]()&&t[r(1013)]===Ae.video&&a[r(1120)]?a.decode(t[r(1190)],t.ts,t[r(821)]):t[r(534)].decode(t[r(1190)],t.ts,t[r(1070)],t[r(821)])},decodeNext(t){const r=e;if(0===s[r(1235)])return;const i=t.ts,o=s[0],a=t[r(1013)]===Ae.video&&jt(t.payload);if(Gt(n))a&&(X.debugLog("worker",r(508)+t[r(1013)]+r(1351)+i+r(859)+o[r(1013)]+r(844)+o.ts+r(497)+a),s.shift(),X[r(1373)](o));else{const e=o.ts-i,n=o[r(1013)]===Ae[r(1028)]&&t[r(1013)]===Ae[r(552)];(e<=20||n||a)&&(X[r(975)](r(1246),"decode data type is "+t[r(1013)]+r(1351)+i+" next data type is "+o[r(1013)]+r(844)+o.ts+"\n diff is "+e+r(1239)+n+r(615)+a),s[r(671)](),X[r(1373)](o))}},init:function(){const t=e;X[t(975)](t(1246),t(1260)+n+t(1131)+i+t(1370),JSON[t(1195)](X._opt));const r=X[t(585)][t(1334)]===se[t(786)],o=X._opt[t(1334)]===se[t(1019)],c=X[t(585)][t(1334)]===se[t(1083)];if(G[t(573)](),X[t(1249)]=r,X[t(1335)]=o,X.isPlayVod=c,X.isPlayUseMSEAndDecoderInWorker()&&Y&&Y[t(573)](),a&&X._opt[t(1020)]&&X[t(1187)]()&&a[t(573)](),Gt(X[t(948)]())||X[t(1093)]){X[t(975)](t(1246),t(1376));const e=()=>{const e=t,n=X[e(585)].videoBuffer+X._opt[e(705)];let i=null;if(s[e(1235)]){if(X[e(474)])return void X[e(778)](e(1246),e(507)+s[e(1235)]);if(X[e(1385)]){for(i=s[e(671)](),X[e(778)](e(1246),"loop() dropBuffer is dropping and isIFrame "+i[e(1070)]+e(631)+X[e(1241)]+e(1328)+s[e(1235)]);!i[e(1070)]&&s[e(1235)];)i=s[e(671)]();const t=X.getDelayNotUpdateDelay(i.ts,i[e(1013)]);i.isIFrame&&t<=X.getNotDroppingDelayTs()&&(X[e(975)](e(1246),e(743)),X[e(1385)]=!1,X[e(1373)](i),X[e(870)](i))}else if(X[e(1335)]||X[e(1348)]()||0===X._opt[e(908)]||X[e(1093)])for(;s[e(1235)];)i=s[e(671)](),X[e(1373)](i);else if(i=s[0],-1===X[e(704)](i.ts,i[e(1013)]))X[e(975)](e(1246),e(1289),i.ts),s[e(671)](),X[e(1373)](i),X[e(870)](i);else if(X.delay>n&&r)X[e(725)]()?(X[e(975)](e(1246),"delay is "+X[e(1241)]+" > maxDelay "+n+e(983)),X.resetAllDelay(),X[e(1385)]=!0,postMessage({cmd:Ie[e(1382)]})):(s[e(671)](),X[e(1373)](i),X[e(870)](i));else for(;s[e(1235)];){if(i=s[0],!(X[e(704)](i.ts,i[e(1013)])>X[e(585)][e(908)])){X[e(1241)]<0&&X[e(778)](e(1246),e(1276)+X[e(1241)]+e(1146)+s[e(1235)]);break}s[e(671)](),X[e(1373)](i)}}else-1!==X.delay&&X[e(975)](e(1246),e(734)),X[e(1290)]()};X[t(700)]=setInterval((()=>{const r=t;let n=(new Date)[r(1010)]();!S&&(S=n);const i=n-S;i>100&&X[r(778)](r(1246),r(1232)+i),e(),S=(new Date)[r(1010)]()}),20)}else X[t(975)]("worker",t(745));if(Gt(X[t(585)].checkFirstIFrame)&&(_=!0),X[t(883)]()&&Y){const e=Y.getHandle();e&&postMessage({cmd:Ie.mseHandle,mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;X[t(1258)]();const r=()=>{let e=null;s.length&&(e=s.shift(),X.doDecode(e))};r();const n=Math.ceil(1e3/(X[t(1179)]*X[t(585)][t(1345)]));X[t(975)](t(1246),t(587)+n+t(1052)+X[t(1179)]+t(554)+X[t(909)]+t(1080)+X.streamVideoFps+" playbackRate is "+X._opt[t(1345)]),X[t(700)]=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;X[t(700)]&&(clearInterval(X[t(700)]),X[t(700)]=null)},startPlaybackCacheLoop:function(){X[e(1225)]()},close:function(){const t=e;if(X[t(975)]("worker","close"),X[t(997)]=!0,W(),!u||1!==u.readyState&&2!==u[t(750)]?u&&X[t(975)]("worker",t(1136)+u[t(750)]):(z=!0,u[t(1100)](1e3,t(1218))),u&&(u.onopen=null,u.onmessage=null,u[t(913)]=null,u[t(768)]=null),u=null,X[t(1266)](),X[t(700)]&&(clearInterval(X[t(700)]),X.stopId=null),X[t(921)]&&(X.mp3Demuxer[t(1159)](),X[t(921)]=null),X[t(673)]&&Gt(X[t(673)][t(578)])&&X[t(673)].close()[t(624)]((e=>{const r=t;X[r(975)](r(1246),"close() and writableStream.close() error",e.toString(),e)})),X[t(673)]=null,J)try{J.clear&&J[t(886)](),J=null}catch(e){X[t(975)](t(1246),t(1272),e[t(1399)](),e)}if(Z)try{Z.clear&&Z[t(886)](),Z=null}catch(e){X[t(975)](t(1246),t(1048),e[t(1399)]())}l=null,S=null,w=!1,g=0,b=0,a&&(a[t(1159)]&&a[t(1159)](),a=null),Y&&(Y.destroy(),Y=null),X[t(863)]=null,X[t(943)]=null,X[t(1355)]=0,X.streamFps=null,X[t(909)]=null,X.streamVideoFps=null,X[t(1241)]=-1,X.pushLatestDelay=-1,X[t(1091)]=null,X[t(1385)]=!1,X.isPushDropping=!1,X[t(1249)]=!0,X[t(1335)]=!1,X.isPlayVod=!1,X[t(799)]=!1,X[t(1026)]=null,X[t(585)]=j(),X.webglObj&&(X[t(972)].destroy(),X[t(614)][t(993)](t(656),X[t(574)]),X.offscreenCanvas[t(993)](t(543),X[t(1275)]),X[t(614)]=null,X[t(600)]=null,X.offscreenCanvasCtx=null),s=[],o=[],h&&(h[t(1100)](),h=null),p=null,m=null,v=!1,y=!1,_=!1,P=!1,F=!1,R=!1,L=null,k=[],x=0,T=0,I=null,A=null,D=null,B=null,O=null,U=0,M=0,E=null,C=null,X[t(953)]=Ge[t(642)],N=!0,G[t(1159)](),q[t(1159)](),$[t(1159)](),K[t(1159)](),X[t(486)]=null,X[t(585)]={},postMessage({cmd:Ie[t(1058)]})},pushBuffer:function(t,r){const i=e;if(r[i(1013)]===Ae.audio&&dt(t)){if(X[i(975)](i(1246),i(1186)+r.ts+i(937)),X[i(585)][i(738)]){const e=new Uint8Array(t);postMessage({cmd:Ie[i(1031)],buffer:e},[e[i(789)]])}X[i(1014)](t,r.ts)}else if(r[i(1013)]===Ae[i(552)]&&r[i(1070)]&&jt(t)){if(X[i(975)](i(1246),"pushBuffer video ts is "+r.ts+i(1360)),X[i(585)][i(738)]){const e=new Uint8Array(t);postMessage({cmd:Ie.videoSequenceHeader,buffer:e},[e.buffer])}X[i(505)](t,r.ts,r[i(1070)],r[i(821)])}else{if(X[i(585)][i(1311)])if(X[i(585)][i(738)]){const e=new Uint8Array(t);postMessage({cmd:Ie[i(858)],type:r[i(1013)],buffer:e,ts:r.ts},[e[i(789)]])}else if(X._opt[i(712)]===oe[i(945)])if(r[i(1013)]===Ae[i(552)]){const e=new Uint8Array(t)[i(603)](5);postMessage({cmd:Ie[i(1081)],buffer:e,isIFrame:r[i(1070)],ts:r.ts,cts:r[i(821)]},[e[i(789)]])}else if(r[i(1013)]===Ae[i(1028)]&&X._opt[i(1265)]){const e=new Uint8Array(t),n=ft(e)?e[i(603)](2):e[i(603)](1);postMessage({cmd:Ie[i(920)],buffer:n,ts:r.ts},[n[i(789)]])}if(X[i(1249)]){if(r[i(1013)]===Ae[i(552)]){if(U>0){const e=r.ts-B,t=U+U/2;e>t&&X[i(975)](i(1246),i(807)+r.isIFrame+" and\n ts is "+r.ts+i(632)+B+i(810)+e+i(1053)+U+i(498)+t+i(481))}if(null!==B&&B>=r.ts&&(X[i(778)](i(1246),"pushBuffer() and isIFrame is "+r[i(1070)]+i(689)+r.ts+i(1197)+B+i(1069)+t[i(1238)]+i(703)+M),B-r.ts>ye&&(X.debugWarn(i(1246),"pushBuffer,\n preTimestamp is "+B+i(1095)+r.ts+",\n diff is "+(B-r.ts)+i(1034)+ye+i(652)),X[i(1290)](),B=null,U=0),X._opt.isDropSameTimestampGop&&Gt(r[i(1070)])&&_)){const e=X[i(725)](),t=Gt(X.isPushDropping);return X.debugLog(i(1246),i(562)+e+" and isNotPushDropping is "+t+i(1247)),void(e&&t?X[i(687)]():(X[i(978)](!0),Wt(X._opt[i(916)])&&Wt(n)&&(X[i(883)]()?Y[i(876)]=!1:postMessage({cmd:Ie[i(916)]}))))}B>0&&(U=r.ts-B),M=t[i(1238)],B=r.ts}if(_){const e=X[i(585)].videoBuffer+X[i(585)][i(705)],t=X[i(1368)](r.ts,r.type);X[i(907)]=t,X[i(1241)]>0&&t>e&&X[i(1241)]({type:e[i(1013)],ts:e.ts})));X[i(975)]("worker",i(901)+t+i(1097)+e+i(1403)+s.length+i(1262)+JSON[i(1195)](r))}const r=X[i(678)]()>0,n=r?60:40;s.length>=n&&(X[i(778)]("worker",i(529)+s[i(1235)]+i(1034)+n+i(1e3)+r+i(525)),X[i(551)]=25,postMessage({cmd:Ie.playbackStreamVideoFps,value:X.streamVideoFps}),r?(X.streamAudioFps=25,X[i(1179)]=X[i(551)]+X[i(909)]):X[i(1179)]=X[i(551)],X[i(1225)]())}}},getVideoBufferLength(){const t=e;let r=0;return s[t(728)]((e=>{const n=t;e[n(1013)]===Ae[n(552)]&&(r+=1)})),r},hasIframeInBufferList(){const t=e;return s[t(680)]((e=>{const r=t;return e.type===Ae[r(552)]&&e.isIFrame}))},isAllIframeInBufferList(){const t=e,r=X[t(720)]();let n=0;return s[t(728)]((e=>{const r=t;e[r(1013)]===Ae[r(552)]&&e[r(1070)]&&(n+=1)})),r===n},getNotDroppingDelayTs(){const t=e;return X[t(585)][t(908)]+X[t(585)].videoBufferDelay/2},getAudioBufferLength(){let e=0;return s.forEach((t=>{t[ic(1013)]===Ae.audio&&(e+=1)})),e},getStreamBufferLength(){const t=e;let r=0;return h&&h[t(789)]&&(r=h[t(789)][t(1238)]),X[t(585)].isNakedFlow?G[t(986)]&&(r=G.lastBuf[t(1238)]):X[t(585)][t(1068)]?K[t(1056)]&&(r=K[t(1056)].byteLength):X._opt[t(1141)]&&q[t(542)]&&(r=q[t(542)][t(826)]()),r},fetchStream:function(t,r){const n=e;let i=arguments[n(1235)]>2&&void 0!==arguments[2]?arguments[2]:[];if(X[n(975)]("worker",n(856)+t,n(538),JSON.stringify(r)),X[n(799)]=!0,r[n(627)]?X[n(585)][n(627)]=!0:r[n(1141)]?X[n(585)][n(1141)]=!0:r.isMpeg4?X[n(585)].isMpeg4=!0:r.isNakedFlow?X[n(585)][n(1274)]=!0:r.isTs&&(X._opt[n(1068)]=!0),l=Dt((e=>{postMessage({cmd:Ie.workerFetch,type:Ce[n(1299)],value:e})})),X[n(573)](),X[n(765)](),r[n(1141)]&&q[n(1174)](),r[n(629)]===ne[n(965)]){r[n(627)]&&(h=new er(X[n(555)]())),c=new AbortController;const e=Object[n(1157)]({signal:c.signal},{headers:r.options&&r[n(1084)][n(1366)]||{}});fetch(t,e)[n(1066)]((e=>{const t=n;if(Wt(z))return X[t(975)](t(1246),t(1309)),X[t(953)]=Ge[t(642)],void e[t(579)].cancel();if(!Ht(e))return X[t(778)](t(1246),"fetch response status is "+e[t(805)]+t(1280)+e.ok+t(783)),W(),void postMessage({cmd:Ie[t(1078)],type:Te[t(746)],value:t(664)+e[t(805)]+" and ok is "+e.ok});if(postMessage({cmd:Ie[t(1078)],type:Ce.streamSuccess}),Ot())X[t(673)]=new WritableStream({write:e=>{const n=t;return c&&c.signal&&c[n(518)][n(485)]?(X[n(975)](n(1246),n(897)),void(X.fetchStatus=Ge[n(662)])):Wt(z)?(X.debugLog("worker",n(1327)),X.fetchStatus=Ge[n(662)],void W()):void(typeof e!==n(628)?(X[n(953)]=Ge.buffering,l(e[n(1238)]),r[n(627)]?h[n(478)](e):r[n(1141)]?X[n(1215)](e):r.isMpeg4?X[n(785)](e):r[n(1068)]?X[n(1337)](e):r[n(1274)]&&X.demuxNakedFlow(e)):X[n(778)](n(1246),n(1254)+e+n(1267)))},close:()=>{const e=t;X[e(975)]("worker",e(570)),X.fetchStatus=Ge[e(662)],W(),X[e(1093)]?X[e(975)](e(1246),e(698)):X._opt[e(605)]?(h&&(h.close(),h=null),postMessage({cmd:Ie[e(1078)],type:Ce[e(964)],value:ie.fetch,msg:e(667)})):postMessage({cmd:Ie[e(1078)],type:Ce.streamEndInner})},abort:e=>{const r=t;if(c&&c.signal&&c[r(518)][r(485)])return X[r(975)](r(1246),r(1331)),void(X[r(953)]=Ge.complete);h&&(h.close(),h=null),e[r(1171)]!==He[r(984)]?(X.debugLog(r(1246),r(706)+e[r(1399)]()),W(),postMessage({cmd:Ie.workerFetch,type:Te[r(746)],value:e[r(1399)]()})):X[r(975)](r(1246),"writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(X[t(673)])[t(624)]((e=>{const r=t;e[r(1171)]!==r(1221)&&X[r(975)](r(1246),r(1286),e[r(1171)],e[r(1399)]())}));else{const n=e[t(579)][t(1244)](),i=()=>{const e=t;n[e(1216)]()[e(1066)]((t=>{const n=e;let{done:s,value:o}=t;return s?(X[n(975)](n(1246),n(649)),X[n(953)]=Ge.complete,W(),void(X[n(585)][n(605)]?(h&&(h[n(1100)](),h=null),postMessage({cmd:Ie[n(1078)],type:Ce[n(964)],value:ie.fetch,msg:n(667)})):postMessage({cmd:Ie.workerFetch,type:Ce[n(1143)]}))):c&&c[n(518)]&&c[n(518)][n(485)]?(X[n(975)](n(1246),"fetchNext().then() and abortController.signal.aborted is true so return"),void(X.fetchStatus=Ge[n(662)])):Wt(z)?(X.debugLog("worker","fetchNext().then() and requestAbort is true so return"),X[n(953)]=Ge.complete,void W()):void(typeof o!==n(628)?(X[n(953)]=Ge[n(1285)],l(o[n(1238)]),r.isFlv?h.write(o):r[n(1141)]?X.demuxFmp4(o):r.isMpeg4?X[n(785)](o):r.isTs?X.demuxTs(o):r[n(1274)]&&X[n(910)](o),i()):X[n(778)]("worker",n(1151)+o+n(1054)))})).catch((t=>{const r=e;if(c&&c[r(518)]&&c.signal[r(485)])return X.debugLog(r(1246),r(1188)),void(X[r(953)]=Ge[r(662)]);h&&(h[r(1100)](),h=null),t.name!==He.abort?(X[r(975)](r(1246),r(553)+t[r(1399)]()),W(),postMessage({cmd:Ie.workerFetch,type:Te[r(746)],value:t.toString()})):X[r(975)](r(1246),r(1156))}))};i()}}))[n(624)]((e=>{const t=n;c&&c.signal&&c[t(518)][t(485)]?X[t(975)](t(1246),"fetch().catch() and abortController.signal.aborted is true so return"):e[t(1171)]!==He[t(984)]?(X[t(975)]("worker",t(1222)+e.toString()),W(),postMessage({cmd:Ie[t(1078)],type:Te[t(746)],value:e.toString()}),h&&(h[t(1100)](),h=null)):X[t(975)]("worker",t(931))}))}else r[n(629)]===ne[n(1287)]&&(r[n(627)]&&(h=new er(X[n(555)]())),u=new WebSocket(t,i),u.binaryType=n(536),u[n(1212)]=()=>{const e=n;X[e(975)](e(1246),e(1291)),postMessage({cmd:Ie[e(1078)],type:Ce[e(956)]}),postMessage({cmd:Ie[e(1078)],type:Ce[e(1130)]})},u[n(913)]=e=>{const t=n;X[t(997)]?X[t(975)](t(1246),t(1196)+e[t(1332)]+" and isDestroyed is true, so return"):f?X[t(975)](t(1246),t(1196)+e[t(1332)]+t(800)):(X[t(975)]("worker",t(1196)+e[t(1332)]),1006===e.code&&X[t(715)](t(1246),"fetchStream, WebsocketStream socket close abnormally and code is "+e[t(1332)]),Wt(z)?X.debugLog(t(1246),t(1155)):X[t(585)][t(605)]?(h&&(h[t(1100)](),h=null),postMessage({cmd:Ie[t(1078)],type:Ce[t(964)],value:ie[t(1287)],msg:e[t(1332)]})):postMessage({cmd:Ie[t(1078)],type:Ce[t(1143)]}))},u[n(768)]=e=>{const t=n;X[t(715)](t(1246),t(571),e,e[t(1399)]()),f=!0,h&&(h[t(1100)](),h=null),X[t(997)]?X[t(975)](t(1246),t(834)):Wt(z)?X.debugLog(t(1246),"fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:Ie[t(1078)],type:Te.websocketError,value:e[t(1194)]?t(1392):t(1375)})},u[n(1001)]=e=>{const t=n;typeof e.data!==t(628)?(l(e[t(1362)][t(1238)]),r[t(627)]?h[t(478)](e.data):r[t(1141)]?X[t(1215)](e[t(1362)]):r[t(1175)]?X.demuxMpeg4(e[t(1362)]):X._opt[t(1274)]?X.demuxNakedFlow(e[t(1362)]):X.demuxM7s(e[t(1362)])):X[t(778)](t(1246),t(1271)+e[t(1362)]+t(1401))})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let o=i[0];const a=(yield s)[t(603)]();switch(r){case ke.audio:if(a[t(1238)]>0){let e=a;Wt(X[t(585)][t(1297)])&&(e=X[t(1036)](a)),X[t(1120)](e,{type:Ae[t(1028)],ts:o})}else X[t(778)](t(1246),t(1129)+a[t(1238)]+" and return");break;case ke.video:if(a[t(1238)]>=6){const e=a[0];if(X._isEnhancedH265Header(e))X[t(1094)](a,o);else{const e=15&a[0];let r=a[0]>>4===We[t(988)];const n=e===Be.h265;if(t(1061),Gt(r)&&Wt($t(a,n))&&(X.debugLog("worker",t(661)),r=!0),r&&jt(a)&&null===X.isHevc){const e=15&a[0];X[t(1026)]=e===Be.h265,L=kt(a,X[t(1026)]),X[t(975)](t(1246),"demuxFlv() isVideoSequenceHeader is true and isHevc is "+X.isHevc+" and nalUnitSize is "+L)}r&&X.calcIframeIntervalTimestamp(o),X.isPlayer&&X.calcNetworkDelay(o),i[0]=a[4],i[1]=a[3],i[2]=a[2],i[3]=0;let s=i[0],c=X[t(1007)](a,r);X[t(1120)](c,{type:Ae[t(552)],ts:o,isIFrame:r,cts:s})}}else X[t(778)](t(1246),t(1004)+a.byteLength+t(537));break;case ke[t(780)]:postMessage({cmd:Ie[t(633)],buffer:a},[a[t(789)]]);break;default:X[t(975)](t(1246),t(1047)+r)}}},decode:function(t,r){const n=e;r[n(1013)]===Ae[n(1028)]?X[n(585)].hasAudio&&(postMessage({cmd:Ie[n(1078)],type:Ce[n(979)],value:t.byteLength}),X[n(1249)]?X[n(848)](t,{type:r[n(1013)],ts:r.ts,cts:r[n(821)]}):X[n(1335)]?X.isPlaybackOnlyDecodeIFrame()||(X[n(948)]()?X[n(848)](t,{type:r[n(1013)],ts:r.ts,cts:r[n(821)]}):X[n(848)](t,{type:r[n(1013)],ts:r.ts,cts:r.cts})):X[n(1093)]&&X.pushBuffer(t,{type:r[n(1013)],ts:r.ts,cts:r.cts})):r[n(1013)]===Ae.video&&X[n(585)][n(1114)]&&(postMessage({cmd:Ie[n(1078)],type:Ce[n(1012)],value:t[n(1238)]}),postMessage({cmd:Ie.workerFetch,type:Ce[n(541)],value:r.ts}),X.isPlayer?X.pushBuffer(t,{type:r[n(1013)],ts:r.ts,isIFrame:r[n(1070)],cts:r[n(821)]}):X[n(1335)]?X.isPlaybackOnlyDecodeIFrame()?r[n(1070)]&&X[n(848)](t,{type:r[n(1013)],ts:r.ts,cts:r.cts,isIFrame:r.isIFrame}):(X[n(948)](),X[n(848)](t,{type:r[n(1013)],ts:r.ts,cts:r.cts,isIFrame:r[n(1070)]})):X[n(1093)]&&X.pushBuffer(t,{type:r[n(1013)],ts:r.ts,cts:r[n(821)],isIFrame:r[n(1070)]}))},cryptoPayload:function(t,r){const n=e;let i=t;return X[n(585)][n(1284)]?X[n(585)][n(634)]&&X._opt[n(634)].byteLength>0&&X._opt[n(1177)]&&X[n(585)][n(1177)].byteLength>0?i=ho(t,X._opt[n(1177)],X[n(585)][n(634)],X[n(1026)]):X.debugError("worker",n(1111)+(X[n(585)][n(1177)]&&X._opt.cryptoKey[n(1238)])+n(796)+(X[n(585)][n(634)]&&X._opt[n(634)][n(1238)])+n(911)):X[n(585)][n(1240)]?X[n(585)][n(580)]?i=X[n(585)][n(634)]&&X[n(585)][n(634)][n(1238)]>0&&X[n(585)].cryptoKey&&X[n(585)][n(1177)][n(1238)]>0?rc(t,X._opt.cryptoKey,X._opt[n(634)],X[n(1026)],X[n(585)][n(509)]):jo(t,X[n(585)][n(580)],X[n(1026)],X._opt.isSm4CryptoH265V2):!X[n(585)][n(580)]&&X.debugError("worker",n(985)):X._opt[n(974)]&&(X[n(585)][n(634)]&&X[n(585)][n(634)][n(1238)]>0&&X._opt.cryptoKey&&X[n(585)][n(1177)].byteLength>0?i=ra(t,X[n(585)][n(1177)],X._opt[n(634)],X[n(1026)]):X[n(715)](n(1246),"isXorCrypto cryptoKey.length is "+(X[n(585)][n(1177)]&&X[n(585)][n(1177)][n(1238)])+n(796)+(X._opt[n(634)]&&X[n(585)][n(634)].byteLength)+n(911))),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return X._opt[r(1284)]&&(X[r(585)][r(634)]&&X[r(585)][r(634)].byteLength>0&&X._opt.cryptoKey&&X[r(585)][r(1177)].byteLength>0?t[0]>>4===Me.AAC&&(n=fo(t,X[r(585)].cryptoKey,X[r(585)][r(634)])):X.debugError("worker",r(1111)+(X._opt.cryptoKey&&X[r(585)][r(1177)].byteLength)+r(796)+(X[r(585)][r(634)]&&X._opt[r(634)][r(1238)])+r(911))),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,o=t[0]>>1&1;if(O=s===Me[n(1394)]?o?16:8:0===o?8:16,J&&J[n(517)]||!Gt(i))if(dt(t)||s===Me[n(708)]||s===Me[n(691)]||s===Me[n(1313)]){X[n(975)](n(1246),n(905)+s+" _opt.sampleRate is "+X[n(585)][n(782)]);const e=s===Me[n(1394)]?t[n(603)](2):new Uint8Array(0);if(i){if(s===Me[n(1313)])return void X[n(715)](n(1246),n(845));J[n(1400)]=X[n(585)].sampleRate,J[n(1120)](t,r)}else J[n(517)](s,X[n(585)].sampleRate,e,X[n(941)]());s===Me.AAC&&postMessage({cmd:Ie[n(648)],buffer:e},[e.buffer]),y=!0,s!==Me.AAC&&(s===Me[n(1313)]?(!X.mp3Demuxer&&(X[n(921)]=new Zo(X),X.mp3Demuxer.on(n(1362),((e,t)=>{J[n(1120)](e,t)}))),X[n(921)].dispatch(t.slice(1),r)):J.decode(t[n(603)](1),r));const o=Number("1")||1;setTimeout((()=>{const e=n;X.debugError(e(1246),"Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),X.close(),postMessage({cmd:Ie[e(967)]})}),60*o*60*1e3)}else X[n(778)](n(1246),n(854),s);else X.debugError(n(1246),n(601))},decodeAudio:function(t,r){const s=e;if(X[s(997)])X[s(975)]("worker",s(811));else if(X[s(1163)]())Y.decodeAudio(t,r);else if(Wt(n)&&Wt(X[s(585)][s(599)]))postMessage({cmd:Ie[s(1214)],payload:t,ts:r,cts:r},[t[s(789)]]);else{const e=t[0]>>4;if(y){if(dt(t))return void X[s(975)](s(1246),s(770));i?J[s(1120)](t,r):e===Me[s(1313)]?X.mp3Demuxer.dispatch(t[s(603)](1),r):J[s(1120)](e===Me[s(1394)]?t.slice(2):t[s(603)](1),r)}else X[s(670)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Z&&Z[n(517)]||!Gt(i))if(jt(t))if(s===Be[n(1061)]||s===Be[n(1207)]){X.debugLog(n(1246),n(764)+s);const e=t[n(603)](5);if(s===Be[n(1061)]&&X[n(585)].useSIMD){const t=gr(e);if(t[n(1003)]>_e||t[n(1112)]>_e)return postMessage({cmd:Ie[n(1123)],value:n(1282)+t[n(1003)]+n(1042)+_e+n(1259)+t[n(1112)]+n(1042)+_e}),void X[n(778)](n(1246),"setCodecVideo: SIMD H264 decode video width is too large, width is "+t[n(1003)]+n(880)+t[n(1112)])}const r=new Uint8Array(t);v=!0,i?Z[n(1120)](t,0):Z.setCodec(s,e,X[n(941)]()),postMessage({cmd:Ie[n(724)],code:s}),postMessage({cmd:Ie.videoCodec,buffer:r,codecId:s},[r.buffer])}else X[n(778)](n(1246),n(1220)+s+n(526));else X[n(778)](n(1246),n(947)+s+n(1064)+r+n(830)+t[1]);else X[n(715)](n(1246),n(532))},decodeVideo:function(t,r,s){const o=e;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(X.isDestroyed)X.debugLog(o(1246),o(1082));else if(X[o(883)]())Y[o(505)](t,r,s,a);else if(Wt(n))postMessage({cmd:Ie[o(769)],payload:t,isIFrame:s,ts:r,cts:a,delay:X[o(1241)]},[t.buffer]);else if(v)if(!_&&s&&(_=!0),_){if(s&&jt(t)){const e=15&t[0];let r={};e===Be[o(1061)]?r=gr(t.slice(5)):e===Be.h265&&(r=Yr(t)),r[o(1003)]&&r[o(1112)]&&p&&m&&(r[o(1003)]!==p||r[o(1112)]!==m)&&(X[o(778)](o(1246),"\n decodeVideo: video width or height is changed,\n old width is "+p+", old height is "+m+o(515)+r.codecWidth+o(1074)+r.codecHeight+o(545)),F=!0,postMessage({cmd:Ie[o(653)],value:"width: "+p+"->"+r[o(1003)]+o(1259)+m+"->"+r[o(1112)]}))}if(F)return void X[o(778)](o(1246),o(1387));if(R)return void X[o(778)](o(1246),"decodeVideo: simd decode error, and return");if(jt(t))return void X[o(975)]("worker",o(833));if(t[o(1238)]0&&void 0!==arguments[0]&&arguments[0];X.debugLog("worker","clearBuffer,bufferList length is "+s[t(1235)]+t(976)+r),r&&(s=[]),X.isPlayer&&(X[t(1290)](),Wt(X[t(585)][t(916)])&&(X[t(1385)]=!0,postMessage({cmd:Ie.isDropping}))),Wt(X[t(585)][t(916)])&&Gt(n)&&(_=!1)},dropBuffer$2:function(){const t=e;if(s.length>0){let e=s[t(654)]((e=>{const r=t;return Wt(e[r(1070)])&&e[r(1013)]===Ae[r(552)]}));if(X[t(1008)]())for(let r=0;r=X[t(1063)]()){X[t(975)](t(1246),t(755)+r+" and tempDelay is "+i+" and notDroppingDelayTs is "+X.getNotDroppingDelayTs()),e=r;break}}if(e>=0){X.isPushDropping=!0,postMessage({cmd:Ie.isDropping});const r=s.length;s=s[t(603)](e);const n=s[t(671)]();X[t(1290)](),X[t(704)](n.ts,n[t(1013)]),X[t(1373)](n),X.isPushDropping=!1,X[t(975)](t(1246),"dropBuffer$2() iFrameIndex is "+e+t(739)+r+t(1198)+s.length+" and new delay is "+X[t(1241)]+" ")}else X[t(474)]=!1}0===s.length&&(X.isPushDropping=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n.getUint32(1,!1),s=n[r(1269)](0),o=new ArrayBuffer(4),a=new Uint32Array(o);switch(s){case Ae[r(1028)]:X.decode(new Uint8Array(t,5),{type:Ae[r(1028)],ts:i});break;case Ae[r(552)]:if(n[r(1238)]>=11){const e=new Uint8Array(t,5),s=e[0];if(X[r(1147)](s))X._decodeEnhancedH265Video(e,i);else{const t=n[r(1269)](5)>>4==1;if(t&&(X.calcIframeIntervalTimestamp(i),jt(e)&&null===X[r(1026)])){const t=15&e[0];X.isHevc=t===Be.h265}X[r(1249)]&&X[r(1118)](i),a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0;let s=a[0],o=X[r(1007)](e,t);X[r(1120)](o,{type:Ae[r(552)],ts:i,isIFrame:t,cts:s})}}else X[r(778)](r(1246),r(1393)+t[r(1238)]+r(537))}},demuxNakedFlow:function(e){G.dispatch(e)},demuxFmp4:function(e){q.dispatch(e)},demuxMpeg4:function(t){$[e(892)](t)},demuxTs:function(t){K[e(892)](t)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,o=15&i,a=t[n(603)](1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[n(939)](a[0]);if(X.isHevc=Gt(l),o===Ke.PACKET_TYPE_SEQ_START){if(s===Ye.FT_KEY){const e=t.slice(5);if(l);else{const i=new Uint8Array(5+e.length);i[n(1185)]([28,0,0,0,0],0),i[n(1185)](e,5),L=kt(t,X[n(1026)]),X[n(975)](n(1246),n(635)+X[n(1026)]+n(1184)+L),X[n(1120)](i,{type:Ae.video,ts:r,isIFrame:!0,cts:0})}}}else if(o===Ke[n(1336)]){let e=t,i=0;const o=s===Ye[n(752)];o&&X.calcIframeIntervalTimestamp(r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=tn(t[n(603)](8),o),e=X[n(1007)](e,o),X[n(1120)](e,{type:Ae[n(552)],ts:r,isIFrame:o,cts:i}))}else if(o===Ke[n(490)]){const e=s===Ye.FT_KEY;e&&X[n(521)](r);let i=tn(t[n(603)](5),e);i=X[n(1007)](i,e),X[n(1120)](i,{type:Ae[n(552)],ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&$e)===$e},findSei:function(t,r){const n=e;let i=4;Mt(L)&&(i=L),bt(t[n(603)](5),i)[n(728)]((e=>{const t=n,i=X[t(1026)]?e[0]>>>1&63:31&e[0],s=X[t(1026)]&&(i===Fe.suffixSei||i===Fe.prefixSei),o=Gt(X.isHevc)&&i===Pe[t(951)];if(s||o){const n=wt(e,X[t(1026)]);postMessage({cmd:Ie[t(1090)],buffer:n[t(1190)],ts:r},[n[t(1190)][t(789)]])}}))},calcNetworkDelay:function(t){const r=e;if(!(_&&t>0))return;null===I?(I=t,A=Ct()):tn?i-n:0;X[r(1355)]=s,s>X[r(585)][r(1355)]&&X[r(585)][r(1334)]===se[r(786)]&&(X[r(778)](r(1246),r(612)+t+r(472)+I+r(1154)+n+",local diff is "+i+r(902)+s),postMessage({cmd:Ie[r(1078)],type:Ce[r(987)],value:s}))},calcIframeIntervalTimestamp:function(e){null===D?D=e:D=X[t(585)][t(1206)]&&!(X._opt[t(501)]&&X[t(585)][t(599)])},isPlayUseMSE:function(){const t=e;return X[t(1249)]&&X._opt[t(501)]&&Wt(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return X.isPlayUseMSE()&&X[t(585)].mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return X[t(883)]()&&X[t(585)][t(599)]},playbackUpdatePlaybackRate:function(){const t=e;Gt(X[t(948)]())&&X[t(978)](!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;X.debugError(r(1246),r(1016)),t.preventDefault(),P=!0,X.webglObj[r(1159)](),X[r(972)]=null,X[r(600)]=null,setTimeout((()=>{const e=r;X[e(600)]=X[e(614)][e(1030)]("webgl"),X.offscreenCanvasGL&&X[e(600)][e(1193)]()[e(1145)]?(X[e(972)]=te(X[e(600)],X[e(585)][e(610)]),P=!1):X[e(715)]("worker",e(1055))}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;X.debugLog(r(1246),r(549)),t[r(1245)]()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:Ie[i(724)],code:t}),postMessage({cmd:Ie[i(989)],w:r,h:n}),p=r,m=n,X[i(1187)]()&&(X.offscreenCanvas=new OffscreenCanvas(r,n),X.offscreenCanvasGL=X.offscreenCanvas.getContext(i(929)),X[i(972)]=te(X[i(600)],X._opt[i(610)]),X[i(614)][i(679)]("webglcontextlost",X.onOffscreenCanvasWebglContextLost,!1),X[i(614)][i(679)](i(543),X.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(t,r,n){const i=e;postMessage({cmd:Ie[i(644)],code:t}),postMessage({cmd:Ie[i(1384)],sampleRate:r,channels:n,depth:O}),T=n},yuvData:function(r,n){const i=e;if(X[i(997)])return void X[i(975)](i(1246),i(996));const s=p*m*3/2;let o=t[i(1032)][i(751)](r,r+s),a=new Uint8Array(o);if(E=null,b=n,X[i(1187)]())try{if(P)return;X.webglObj[i(846)](p,m,a);let e=X[i(614)][i(548)]();postMessage({cmd:Ie.render,buffer:e,delay:X[i(1241)],ts:n},[e])}catch(e){X[i(715)](i(1246),i(1349),e,e[i(1399)]())}else postMessage({cmd:Ie.render,output:a,delay:X.delay,ts:n},[a[i(789)]])},pcmData:function(t,n,i){const s=e;if(X[s(997)])return void X[s(975)]("worker",s(1117));let a=n,c=[],u=0,l=X[s(585)].audioBufferSize;for(let e=0;e<2;e++){let n=r[s(1306)][(t>>2)+e]>>2;c[e]=r[s(1389)][s(751)](n,n+a)}if(x){if(!(a>=(n=l-x)))return x+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==T&&(o[1]=Float32Array.of(...o[1],...c[1])));k[0]=Float32Array.of(...o[0],...c[0][s(751)](0,n)),2==T&&(k[1]=Float32Array.of(...o[1],...c[1][s(751)](0,n))),postMessage({cmd:Ie.playAudio,buffer:k,ts:i},k[s(487)]((e=>e[s(789)]))),u=n,a-=n}for(x=a;x>=l;x-=l)k[0]=c[0][s(603)](u,u+=l),2==T&&(k[1]=c[1][s(603)](u-l,u)),postMessage({cmd:Ie[s(1365)],buffer:k,ts:i},k[s(487)]((e=>e[s(789)])));x&&(o[0]=c[0][s(603)](u),2==T&&(o[1]=c[1][s(603)](u))),c=[]},errorInfo:function(t){const r=e;null===E&&(E=Ct());const n=Ct(),i=xt(C>0?2*C:5e3,1e3,5e3),s=n-E;s>i&&(X.debugWarn(r(1246),"errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is "+C+" and diff is "+s+r(498)+i+r(1040)),R=!0,postMessage({cmd:Ie[r(1102)]}))},sendWebsocketMessage:function(t){const r=e;u?u.readyState===De[r(500)]?u[r(1125)](t):X[r(715)]("worker",r(1300)):X[r(715)](r(1246),r(1344))},timeEnd(){const t=e;X.debugError(t(1246),"Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),X[t(1100)](),postMessage({cmd:Ie[t(967)]})},postStreamToMain(t,r){postMessage({cmd:Ie[e(1321)],type:r,buffer:t},[t.buffer])},updatePlaybackIsPause(t){const r=e;X[r(975)]("worker",r(882)+t),Wt(t)?X[r(1258)]():X[r(723)]()},getBuildTime:()=>me+"-"+ve,validatedFailed(){X[e(715)]("worker","validatedFailed, please contact the author to get the correct license")},debugLog(t){const r=e;if(X[r(585)][r(486)]&&X.debug){for(var n=arguments[r(1235)],i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:Ie[n(989)],w:t,h:r}),X[n(1187)]()&&(X[n(614)]=new OffscreenCanvas(t,r),X[n(600)]=X[n(614)][n(1030)](n(929)),X[n(972)]=te(X[n(600)],X._opt[n(610)]),X[n(614)][n(679)]("webglcontextlost",X[n(574)],!1),X[n(614)][n(679)]("webglcontextrestored",X[n(1275)],!1))},initAudioPlanar:function(t,r){T=t,postMessage({cmd:Ie[e(1384)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if(X.isDestroyed)return void X[s(975)](s(1246),s(1117));let a=n,c=[],u=0,l=X[s(585)][s(641)];for(let e=0;e<2;e++){let n=r[s(1306)][(t>>2)+e]>>2;c[e]=r[s(1389)][s(751)](n,n+a)}if(x){if(!(a>=(n=l-x)))return x+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==T&&(o[1]=Float32Array.of(...o[1],...c[1])));k[0]=Float32Array.of(...o[0],...c[0][s(751)](0,n)),2==T&&(k[1]=Float32Array.of(...o[1],...c[1][s(751)](0,n))),postMessage({cmd:Ie[s(1365)],buffer:k,ts:i},k[s(487)]((e=>e[s(789)]))),u=n,a-=n}for(x=a;x>=l;x-=l)k[0]=c[0][s(603)](u,u+=l),2==T&&(k[1]=c[1][s(603)](u-l,u)),postMessage({cmd:Ie[s(1365)],buffer:k,ts:i},k[s(487)]((e=>e.buffer)));x&&(o[0]=c[0][s(603)](u),2==T&&(o[1]=c[1].slice(u))),c=[]},draw:function(r,n,i,s){const o=e;if(X.isDestroyed)return void X[o(975)](o(1246),o(1169));const a=t[o(1032)][o(751)](n,n+H),c=t.HEAPU8[o(751)](i,i+V),u=t[o(1032)][o(751)](s,s+V),l=new Uint8Array(H+V+V);if(l.set(a),l[o(1185)](c,H),l[o(1185)](u,H+V),E=null,b=r,X[o(1187)]())try{if(P)return;X[o(972)][o(846)](p,m,l);let e=X[o(614)].transferToImageBitmap();postMessage({cmd:Ie[o(1305)],buffer:e,delay:X[o(1241)],ts:r},[e])}catch(e){X[o(715)](o(1246),o(1349),e,e[o(1399)]())}else postMessage({cmd:Ie[o(1305)],output:l,delay:X.delay,ts:r},[l[o(789)]])}}));let J=null;r[e(1340)]&&(J=new(r[e(1340)])(X));let Z=null;t.VideoDecoder&&(Z=new t.VideoDecoder(X)),postMessage({cmd:Ie[e(573)]}),self[e(1001)]=function(t){const r=e;let n=t.data;switch(n[r(808)]){case Ee[r(573)]:try{X[r(585)]=Object.assign(X[r(585)],JSON[r(675)](n.opt))}catch(e){}X[r(975)](r(1246),"onmessage:"+Ee[r(573)],n[r(528)]);break;case Ee.decode:X[r(848)](n.buffer,n[r(1084)]);break;case Ee.audioDecode:X.decodeAudio(n[r(789)],n.ts);break;case Ee[r(893)]:X.decodeVideo(n.buffer,n.ts,n.isIFrame);break;case Ee[r(978)]:X[r(978)](n.needClear);break;case Ee.fetchStream:X[r(516)](n[r(1367)],JSON[r(675)](n[r(528)]),n[r(495)]);break;case Ee[r(1100)]:X[r(975)]("worker",r(840)+Ee[r(1100)],JSON[r(1195)](n[r(1084)])),n.options&&Gt(n[r(1084)][r(469)])&&(N=n.options[r(469)]),X[r(1100)]();break;case Ee[r(639)]:X[r(975)]("worker",r(840)+Ee[r(639)],n[r(1181)],n[r(958)]),X._opt[n[r(1181)]]=n[r(958)],n.key===r(1345)&&(X[r(915)](),X[r(948)]()&&X[r(1225)]());break;case Ee[r(1033)]:X[r(741)](n[r(1011)]);break;case Ee[r(1180)]:Y[r(1231)][r(1132)]=Number(n[r(1011)]);break;case Ee[r(636)]:X[r(711)](n[r(588)])}}}(e,e)}))})); diff --git a/demo/public/pro/js/decoder-pro-hard-not-wasm.js b/demo/public/pro/js/decoder-pro-hard-not-wasm.js index a4544e83..ee687195 100644 --- a/demo/public/pro/js/decoder-pro-hard-not-wasm.js +++ b/demo/public/pro/js/decoder-pro-hard-not-wasm.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e),s=1e-6,a="undefined"!=typeof Float32Array?Float32Array:Array;function n(){var e=new a(16);return a!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function o(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var d,l=function(e,t,i,r,s,a,n){var o=1/(t-i),d=1/(r-s),l=1/(a-n);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+i)*o,e[13]=(s+r)*d,e[14]=(n+a)*l,e[15]=1,e};function c(e,t,i){var r=new a(3);return r[0]=e,r[1]=t,r[2]=i,r}d=new a(3),a!=Float32Array&&(d[0]=0,d[1]=0,d[2]=0);var u=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const i=function(){const t=_(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),i=_(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),r=e.createProgram();if(e.attachShader(r,t),e.attachShader(r,i),e.linkProgram(r),!e.getProgramParameter(r,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(r)),null;return r}();let r={program:i,attribLocations:{vertexPosition:e.getAttribLocation(i,"aVertexPosition"),texturePosition:e.getAttribLocation(i,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(i,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(i,"uModelMatrix"),viewMatrix:e.getUniformLocation(i,"uViewMatrix"),rgbatexture:e.getUniformLocation(i,"rgbaTexture"),ytexture:e.getUniformLocation(i,"yTexture"),utexture:e.getUniformLocation(i,"uTexture"),vtexture:e.getUniformLocation(i,"vTexture"),isyuv:e.getUniformLocation(i,"isyuv")}},a=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var i=[];i=i.concat([0,1],[1,1],[1,0],[0,0]);const r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,new Float32Array(i),e.STATIC_DRAW);const s=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,s);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:r,indices:s}}(),d=p(),u=p(),h=p(),f=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function _(t,i){const r=e.createShader(t);return e.shaderSource(r,i),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(r)),e.deleteShader(r),null)}function m(t,i){e.viewport(0,0,t,i),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const d=n();l(d,-1,1,-1,1,.1,100);const p=n();o(p);const _=n();!function(e,t,i,r){var a,n,d,l,c,u,h,f,p,_,m=t[0],g=t[1],y=t[2],b=r[0],v=r[1],S=r[2],w=i[0],A=i[1],B=i[2];Math.abs(m-w)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let i=e-this._current_word_bits_left;this._fillCurrentWord();let r=Math.min(i,this._current_word_bits_left),s=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const Vt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],$t=Vt,Wt=Vt;function Yt(e){let{profile:t,sampleRate:i,channel:r}=e;return new Uint8Array([175,0,t<<3|(14&i)>>1,(1&i)<<7|r<<3])}function qt(e){return jt(e)&&e[1]===Ut}function jt(e){return e[0]>>4===Ne}const Kt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Xt(e){let t=new Uint8Array(e),i=null,r=0,s=0,a=0,n=null;if(r=s=t[0]>>>3,a=(7&t[0])<<1|t[1]>>>7,a<0||a>=Kt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let o=Kt[a],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===r&&(n=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Nt.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?a>=6?(r=5,i=new Array(4),n=a-3):(r=2,i=new Array(2),n=a):-1!==l.indexOf("android")?(r=2,i=new Array(2),n=a):(r=5,n=a,i=new Array(4),a>=6?n=a-3:1===d&&(r=2,i=new Array(2),n=a)),i[0]=r<<3,i[0]|=(15&a)>>>1,i[1]=(15&a)<<7,i[1]|=(15&d)<<3,5===r&&(i[1]|=(15&n)>>>1,i[2]=(1&n)<<7,i[2]|=8,i[3]=0),{audioType:"aac",config:i,sampleRate:o,channelCount:d,objectType:r,codec:"mp4a.40."+r,originalCodec:"mp4a.40."+s}}class Zt{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,i=this.data_;for(;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095===(i[t+0]<<8|i[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let i=this.current_syncword_offset_,r=(8&e[i+1])>>>3,s=(6&e[i+1])>>>1,a=1&e[i+1],n=(192&e[i+2])>>>6,o=(60&e[i+2])>>>2,d=(1&e[i+2])<<2|(192&e[i+3])>>>6,l=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===a?7:9,u=l-c;i+=c;let h=this.findNextSyncwordOffset(i+u);if(this.current_syncword_offset_=h,0!==r&&1!==r||0!==s)continue;let f=e.subarray(i,i+u);t={},t.audio_object_type=n+1,t.sampling_freq_index=o,t.sampling_frequency=$t[o],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class Jt{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,i=this.data_;for(;;){if(t+1>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(695===(i[t+0]<<3|i[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),i=0;for(let r=0;r<=t;r++)i<<=8,i|=e.readByte();return i}readNextAACFrame(e){let t=this.data_,i=null;for(;null==i&&!this.eof_flag_;){let r=this.current_syncword_offset_,s=(31&t[r+1])<<8|t[r+2];if(r+3+s>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let a=new Ht(t.subarray(r+3,r+3+s)),n=null;if(a.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(r+3+s),a.destroy();continue}n=e}else{let e=a.readBool();if(e&&a.readBool()){console.error("audioMuxVersionA is Not Supported"),a.destroy();break}if(e&&this.getLATMValue(a),!a.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),a.destroy();break}if(0!==a.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),a.destroy();break}if(0!==a.readBits(4)){console.error("more than 2 numProgram Not Supported"),a.destroy();break}if(0!==a.readBits(3)){console.error("more than 2 numLayer Not Supported"),a.destroy();break}let t=e?this.getLATMValue(a):0,i=a.readBits(5);t-=5;let r=a.readBits(4);t-=4;let s=a.readBits(4);t-=4,a.readBits(3),t-=3,t>0&&a.readBits(t);let o=a.readBits(3);if(0!==o){console.error(`frameLengthType = ${o}. Only frameLengthType = 0 Supported`),a.destroy();break}a.readByte();let d=a.readBool();if(d)if(e)this.getLATMValue(a);else{let e=0;for(;;){e<<=8;let t=a.readBool();if(e+=a.readByte(),!t)break}console.log(e)}a.readBool()&&a.readByte(),n={},n.audio_object_type=i,n.sampling_freq_index=r,n.sampling_frequency=$t[n.sampling_freq_index],n.channel_config=s,n.other_data_present=d}let o=0;for(;;){let e=a.readByte();if(o+=e,255!==e)break}let d=new Uint8Array(o);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function ei(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const i=e.length,r=[];let s,a=0;for(;a+t>>=8),a+=t,s){if(a+s>i)break;r.push(e.subarray(a,a+s)),a+=s}return r}function ti(e,t){const i=e.length;let r=t?2:1,s=0,a=0,n="";for(;255===e[r];)s+=255,r++;for(s+=e[r++];255===e[r];)a+=255,r++;if(a+=e[r++],5===s&&i>r+16)for(let t=0;t<16;t++)n+=e[r].toString(16),r++;return{payload:e.subarray(r),type:s,size:a,uuid:n}}function ii(e){const t=e.byteLength,i=new Uint8Array(4);i[0]=t>>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t;const r=new Uint8Array(t+4);return r.set(i,0),r.set(e,4),r}function ri(e,t){let i=null;return t?e.length>=28&&(i=1+(3&e[26])):e.length>=12&&(i=1+(3&e[9])),i}function si(){return(new Date).getTime()}function ai(e,t,i){return Math.max(Math.min(e,Math.max(t,i)),Math.min(t,i))}function ni(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function oi(e){let t=0,i=ni();return r=>{if(s=r,"[object Number]"!==Object.prototype.toString.call(s))return;var s;t+=r;const a=ni(),n=a-i;n>=1e3&&(e(t/n*1e3),i=a,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function di(e){return null==e}function li(e){return!di(e)}function ci(e){return"function"==typeof e}function ui(e){let t=null,i=31&e[0];return i!==Ve&&i!==$e||(t=ze),t||(i=(126&e[0])>>1,i!==st&&i!==nt&&i!==dt||(t=Re)),t}function hi(){return"undefined"!=typeof WritableStream}function fi(e){e.close()}function pi(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let i=e[0],r=null,s=1;if(e.length>0){let t=e[1];t&&t.ts-i.ts>1e5&&(i=t,s=2)}if(i)for(let a=s;a=1e3){e[a-1].ts-i.ts<1e3&&(r=a+1)}}}return r}function _i(e){return e.ok&&e.status>=200&&e.status<=299}function mi(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(i){t=e}else t=e;return t}(E)}function gi(e){return e[0]>>4===xt&&e[1]===Ut}function yi(e){return!0===e||"true"===e}function bi(e){return!0!==e&&"true"!==e}function vi(){return!!(Nt.Worker&&Nt.MediaSource&&"canConstructInDedicatedWorker"in Nt.MediaSource&&!0===Nt.MediaSource.canConstructInDedicatedWorker)}function Si(e,t){const i=ei(e.slice(5));let r=!1;return i.forEach((e=>{const i=t?e[0]>>>1&63:31&e[0];(t&&(i===Je||i===et||i===it)||bi(t)&&i===We)&&(r=!0)})),r}var wi=function(e,t,i,r){return new(i||(i=Promise))((function(s,a){function n(e){try{d(r.next(e))}catch(e){a(e)}}function o(e){try{d(r.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,o)}d((r=r.apply(e,t||[])).next())}))};const Ai=Symbol(32),Bi=Symbol(16),Ei=Symbol(8);class Ui{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return wi(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,i)=>{var r;this.reject=i,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(r=this.pull)||void 0===r||r.call(this,e)}))}))}readU32(){return this.read(Ai)}readU16(){return this.read(Bi)}readU8(){return this.read(Ei)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let i=0;const r=e=>t.length<(i=e);if("number"==typeof this.need){if(r(this.need))return;e=t.subarray(0,i)}else if(this.need===Ai){if(r(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===Bi){if(r(2))return;e=t[0]<<8|t[1]}else if(this.need===Ei){if(r(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(r(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,i)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(r(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,i)),e=this.need}return this.consumed+=i,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,i=t+e;if(i<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,i);else{const e=new Uint8Array(i);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,i)}return this.buffer=new Uint8Array(e),this.buffer}}Ui.U32=Ai,Ui.U16=Bi,Ui.U8=Ei;class xi{constructor(e){this.log=function(t){if(e._opt.debugLevel==v){const a=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var i=arguments.length,r=new Array(i>1?i-1:0),s=1;s1?i-1:0),s=1;s1?r-1:0),a=1;a=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(r[s]=t[e],s++);return new Uint8Array(r.buffer,0,s)}static parseSPS(e){let t=Ti._ebsp2rbsp(e),i=new Ht(t);i.readByte();let r=i.readByte();i.readByte();let s=i.readByte();i.readUEG();let a=Ti.getProfileString(r),n=Ti.getLevelString(s),o=1,d=420,l=[0,420,422,444],c=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(o=i.readUEG(),3===o&&i.readBits(1),o<=3&&(d=l[o]),c=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool())){let e=3!==o?8:12;for(let t=0;t0&&e<16?(v=t[e-1],S=r[e-1]):255===e&&(v=i.readByte()<<8|i.readByte(),S=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){let e=i.readBits(32),t=i.readBits(32);A=i.readBool(),B=t,E=2*e,w=B/E}}let U=1;1===v&&1===S||(U=v/S);let x=0,T=0;if(0===o)x=1,T=2-_;else{x=3===o?1:2,T=(1===o?2:1)*(2-_)}let k=16*(f+1),C=16*(p+1)*(2-_);k-=(m+g)*x,C-=(y+b)*T;let L=Math.ceil(k*U);return i.destroy(),i=null,{profile_string:a,level_string:n,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Ti.getChromaFormatString(d),frame_rate:{fixed:A,fps:w,fps_den:E,fps_num:B},sar_ratio:{width:v,height:S},codec_size:{width:k,height:C},present_size:{width:L,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),i="avc1.";for(let e=0;e<3;e++){let r=t[e].toString(16);r.length<2&&(r="0"+r),i+=r}let r=Ti._ebsp2rbsp(e),s=new Ht(r);s.readByte();let a=s.readByte();s.readByte();let n=s.readByte();s.readUEG();let o=Ti.getProfileString(a),d=Ti.getLevelString(n),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(l=s.readUEG(),3===l&&s.readBits(1),l<=3&&(c=u[l]),h=s.readUEG()+8,f=s.readUEG()+8,s.readBits(1),s.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(A=t[e-1],B=i[e-1]):255===e&&(A=s.readByte()<<8|s.readByte(),B=s.readByte()<<8|s.readByte())}if(s.readBool()&&s.readBool(),s.readBool()&&(s.readBits(4),s.readBool()&&s.readBits(24)),s.readBool()&&(s.readUEG(),s.readUEG()),s.readBool()){let e=s.readBits(32),t=s.readBits(32);U=s.readBool(),x=t,T=2*e,E=x/T}}let k=1;1===A&&1===B||(k=A/B);let C=0,L=0;if(0===l)C=1,L=2-y;else{C=3===l?1:2,L=(1===l?2:1)*(2-y)}let D=16*(m+1),I=16*(g+1)*(2-y);D-=(b+v)*C,I-=(S+w)*L;let F=Math.ceil(D*k);return s.destroy(),s=null,{codec_mimetype:i,profile_idc:a,level_idc:n,profile_string:o,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:_,chroma_format:c,chroma_format_string:Ti.getChromaFormatString(c),frame_rate:{fixed:U,fps:E,fps_den:T,fps_num:x},sar_ratio:{width:A,height:B},codec_size:{width:D,height:I},present_size:{width:F,height:I}}}static _skipScalingList(e,t){let i=8,r=8,s=0;for(let a=0;a=this.buflen)return this.iserro=!0,0;this.iserro=!1,i=this.bufoff+e>8?8-this.bufoff:e,t<<=i,t+=this.buffer[this.bufpos]>>8-this.bufoff-i&255>>8-i,this.bufoff+=i,e-=i,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,i=this.bufoff,r=this.read(e);return this.bufpos=t,this.bufoff=i,r}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),r=new Uint8Array(e+4);r.set(i,0),r.set(t.sps,4),t.sps=r}if(t.pps){const e=t.pps.byteLength,i=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),r=new Uint8Array(e+4);r.set(i,0),r.set(t.pps,4),t.pps=r}return t}function Li(e){let{sps:t,pps:i}=e;const r=[23,0,0,0,0,1,66,0,30,255];r[0]=23,r[6]=t[1],r[7]=t[2],r[8]=t[3],r[10]=225,r[11]=t.byteLength>>8&255,r[12]=255&t.byteLength,r.push(...t,1,i.byteLength>>8&255,255&i.byteLength,...i);return new Uint8Array(r)}function Di(e){let{sps:t,pps:i}=e,r=8+t.byteLength+1+2+i.byteLength,s=!1;const a=Ti.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(s=!0,r+=4);let n=new Uint8Array(r);n[0]=1,n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=255,n[5]=225;let o=t.byteLength;n[6]=o>>>8,n[7]=255&o;let d=8;n.set(t,8),d+=o,n[d]=1;let l=i.byteLength;n[d+1]=l>>>8,n[d+2]=255&l,n.set(i,d+3),d+=3+l,s&&(n[d]=252|a.chroma_format_idc,n[d+1]=248|a.bit_depth_luma-8,n[d+2]=248|a.bit_depth_chroma-8,n[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+n.byteLength);return u.set(c,0),u.set(n,c.length),u}function Ii(e,t){let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e.byteLength>>24&255,i[6]=e.byteLength>>16&255,i[7]=e.byteLength>>8&255,i[8]=255&e.byteLength;const r=new Uint8Array(i.length+e.byteLength);return r.set(i,0),r.set(e,i.length),r}function Fi(e,t){let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i.length+e.byteLength);return r.set(i,0),r.set(e,i.length),r}function Pi(e){return 31&e[0]}function Mi(e){return e===je}function zi(e){return!function(e){return e===Ve||e===$e}(e)&&!Mi(e)}function Ri(e){return e===We}function Ni(e){if(0===e.length)return!1;const t=Pi(e[0]);for(let i=1;i=i.byteLength)return this.eofFlag=!0,i.byteLength;let e=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],r=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===e||1===r)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let i=this.currentStartcodeOffset;i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let r=31&e[i],s=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);this.currentStartcodeOffset=a,r>=Ze||0===s&&(t={type:r,data:e.subarray(i,a)})}return t}}class Oi{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Hi=e=>{let t=e,i=t.byteLength,r=new Uint8Array(i),s=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(r[s]=t[e],s++);return new Uint8Array(r.buffer,0,s)},Vi=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class $i{static _ebsp2rbsp(e){let t=e,i=t.byteLength,r=new Uint8Array(i),s=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(r[s]=t[e],s++);return new Uint8Array(r.buffer,0,s)}static parseVPS(e){let t=$i._ebsp2rbsp(e),i=new Ht(t);return i.readByte(),i.readByte(),i.readBits(4),i.readBits(2),i.readBits(6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}}static parseSPS(e){let t=$i._ebsp2rbsp(e),i=new Ht(t);i.readByte(),i.readByte();let r=0,s=0,a=0,n=0;i.readBits(4);let o=i.readBits(3);i.readBool();let d=i.readBits(2),l=i.readBool(),c=i.readBits(5),u=i.readByte(),h=i.readByte(),f=i.readByte(),p=i.readByte(),_=i.readByte(),m=i.readByte(),g=i.readByte(),y=i.readByte(),b=i.readByte(),v=i.readByte(),S=i.readByte(),w=[],A=[];for(let e=0;e0)for(let e=o;e<8;e++)i.readBits(2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<=16?(F=t[e-1],P=r[e-1]):255===e&&(F=i.readBits(16),P=i.readBits(16))}if(i.readBool()&&i.readBool(),i.readBool()){i.readBits(3),i.readBool(),i.readBool()&&(i.readByte(),i.readByte(),i.readByte())}if(i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool(),i.readBool(),i.readBool(),D=i.readBool(),D&&(i.readUEG(),i.readUEG(),i.readUEG(),i.readUEG()),i.readBool()){if(z=i.readBits(32),R=i.readBits(32),i.readBool()&&i.readUEG(),i.readBool()){let e=!1,t=!1,r=!1;e=i.readBool(),t=i.readBool(),(e||t)&&(r=i.readBool(),r&&(i.readByte(),i.readBits(5),i.readBool(),i.readBits(5)),i.readBits(4),i.readBits(4),r&&i.readBits(4),i.readBits(5),i.readBits(5),i.readBits(5));for(let s=0;s<=o;s++){let s=i.readBool();M=s;let a=!0,n=1;s||(a=i.readBool());let o=!1;if(a?i.readUEG():o=i.readBool(),o||(n=i.readUEG()+1),e){for(let e=0;e>6&3,i.general_tier_flag=e[1]>>5&1,i.general_profile_idc=31&e[1],i.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],i.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],i.general_constraint_indicator_flags=i.general_constraint_indicator_flags<<16|e[10]<<8|e[11],i.general_level_idc=e[12],i.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],i.parallelismType=3&e[15],i.chromaFormat=3&e[16],i.bitDepthLumaMinus8=7&e[17],i.bitDepthChromaMinus8=7&e[18],i.avgFrameRate=e[19]<<8|e[20],i.constantFrameRate=e[21]>>6&3,i.numTemporalLayers=e[21]>>3&7,i.temporalIdNested=e[21]>>2&1,i.lengthSizeMinusOne=3&e[21];let r=e[22],s=e.slice(23);for(let e=0;e0)for(let t=i;t<8;t++)e.read(2);r.sub_layer_profile_space=[],r.sub_layer_tier_flag=[],r.sub_layer_profile_idc=[],r.sub_layer_profile_compatibility_flag=[],r.sub_layer_progressive_source_flag=[],r.sub_layer_interlaced_source_flag=[],r.sub_layer_non_packed_constraint_flag=[],r.sub_layer_frame_only_constraint_flag=[],r.sub_layer_level_idc=[];for(let t=0;t{let t=Hi(e),i=new Ht(t);return i.readByte(),i.readByte(),i.readBits(4),i.readBits(2),i.readBits(6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}})(t),n=(e=>{let t=Hi(e),i=new Ht(t);i.readByte(),i.readByte();let r=0,s=0,a=0,n=0;i.readBits(4);let o=i.readBits(3);i.readBool();let d=i.readBits(2),l=i.readBool(),c=i.readBits(5),u=i.readByte(),h=i.readByte(),f=i.readByte(),p=i.readByte(),_=i.readByte(),m=i.readByte(),g=i.readByte(),y=i.readByte(),b=i.readByte(),v=i.readByte(),S=i.readByte(),w=[],A=[];for(let e=0;e0)for(let e=o;e<8;e++)i.readBits(2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<16?(F=t[e-1],P=r[e-1]):255===e&&(F=i.readBits(16),P=i.readBits(16))}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(3),i.readBool(),i.readBool()&&(i.readByte(),i.readByte(),i.readByte())),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool(),i.readBool(),i.readBool(),D=i.readBool(),D&&(r+=i.readUEG(),s+=i.readUEG(),a+=i.readUEG(),n+=i.readUEG()),i.readBool()&&(z=i.readBits(32),R=i.readBits(32),i.readBool()&&(i.readUEG(),i.readBool()))){let e=!1,t=!1,r=!1;e=i.readBool(),t=i.readBool(),(e||t)&&(r=i.readBool(),r&&(i.readByte(),i.readBits(5),i.readBool(),i.readBits(5)),i.readBits(4),i.readBits(4),r&&i.readBits(4),i.readBits(5),i.readBits(5),i.readBits(5));for(let s=0;s<=o;s++){let s=i.readBool();M=s;let a=!1,n=1;s||(a=i.readBool());let o=!1;if(a?i.readSEG():o=i.readBool(),o||(cpbcnt=i.readUEG()+1),e)for(let e=0;e{let t=Hi(e),i=new Ht(t);i.readByte(),i.readByte(),i.readUEG(),i.readUEG(),i.readBool(),i.readBool(),i.readBits(3),i.readBool(),i.readBool(),i.readUEG(),i.readUEG(),i.readSEG(),i.readBool(),i.readBool(),i.readBool()&&i.readUEG(),i.readSEG(),i.readSEG(),i.readBool(),i.readBool(),i.readBool(),i.readBool();let r=i.readBool(),s=i.readBool(),a=1;return s&&r?a=0:s?a=3:r&&(a=2),{parallelismType:a}})(i);s=Object.assign(s,a,n,o);let d=23+(5+t.byteLength)+(5+r.byteLength)+(5+i.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&s.general_profile_space)<<6|(s.general_tier_flag?1:0)<<5|31&s.general_profile_idc,l[2]=s.general_profile_compatibility_flags_1||0,l[3]=s.general_profile_compatibility_flags_2||0,l[4]=s.general_profile_compatibility_flags_3||0,l[5]=s.general_profile_compatibility_flags_4||0,l[6]=s.general_constraint_indicator_flags_1||0,l[7]=s.general_constraint_indicator_flags_2||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s.general_constraint_indicator_flags_4||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s.min_spatial_segmentation_idc)>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s.parallelismType,l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s.bit_depth_luma_minus8,l[18]=248|7&s.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&s.constant_frame_rate)<<6|(7&s.num_temporal_layers)<<3|(s.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|st,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|nt,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+r.byteLength)+0]=128|dt,l[23+(5+t.byteLength+5+r.byteLength)+1]=0,l[23+(5+t.byteLength+5+r.byteLength)+2]=1,l[23+(5+t.byteLength+5+r.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength+5+r.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength+5+r.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Ki(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e.byteLength>>24&255,i[6]=e.byteLength>>16&255,i[7]=e.byteLength>>8&255,i[8]=255&e.byteLength;const r=new Uint8Array(i.length+e.byteLength);return r.set(i,0),r.set(e,i.length),r}function Xi(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i.length+e.byteLength);return r.set(i,0),r.set(e,i.length),r}function Zi(e){return(126&e[0])>>1}function Ji(e){return e===ct}function Qi(e){return!function(e){return e>=32&&e<=40}(e)}function er(e){return e>=16&&e<=21}function tr(e){if(0===e.length)return!1;const t=Zi(e[0]);for(let i=1;i=i.byteLength)return this.eofFlag=!0,i.byteLength;let e=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],r=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===e||1===r)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let i=this.currentStartcodeOffset;i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let r=e[i]>>1&63,s=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);this.currentStartcodeOffset=a,0===s&&(t={type:r,data:e.subarray(i,a)})}return t}}class rr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function sr(e){return parseInt(e)===e}function ar(e){if(!sr(e.length))return!1;for(var t=0;t255)return!1;return!0}function nr(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!ar(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(sr(e.length)&&ar(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function or(e){return new Uint8Array(e)}function dr(e,t,i,r,s){null==r&&null==s||(e=e.slice?e.slice(r,s):Array.prototype.slice.call(e,r,s)),t.set(e,i)}var lr,cr={toBytes:function(e){var t=[],i=0;for(e=encodeURI(e);i191&&r<224?(t.push(String.fromCharCode((31&r)<<6|63&e[i+1])),i+=2):(t.push(String.fromCharCode((15&r)<<12|(63&e[i+1])<<6|63&e[i+2])),i+=3)}return t.join("")}},ur=(lr="0123456789abcdef",{toBytes:function(e){for(var t=[],i=0;i>4]+lr[15&r])}return t.join("")}}),hr={16:10,24:12,32:14},fr=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],pr=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],_r=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],mr=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],gr=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],yr=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],br=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],vr=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Sr=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],wr=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Ar=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Br=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Er=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Ur=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],xr=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Tr(e){for(var t=[],i=0;i>2,this._Ke[i][t%4]=a[t],this._Kd[e-i][t%4]=a[t];for(var n,o=0,d=s;d>16&255]<<24^pr[n>>8&255]<<16^pr[255&n]<<8^pr[n>>24&255]^fr[o]<<24,o+=1,8!=s)for(t=1;t>8&255]<<8^pr[n>>16&255]<<16^pr[n>>24&255]<<24;for(t=s/2+1;t>2,c=d%4,this._Ke[l][c]=a[t],this._Kd[e-l][c]=a[t++],d++}for(var l=1;l>24&255]^Er[n>>16&255]^Ur[n>>8&255]^xr[255&n]},kr.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,i=[0,0,0,0],r=Tr(e),s=0;s<4;s++)r[s]^=this._Ke[0][s];for(var a=1;a>24&255]^gr[r[(s+1)%4]>>16&255]^yr[r[(s+2)%4]>>8&255]^br[255&r[(s+3)%4]]^this._Ke[a][s];r=i.slice()}var n,o=or(16);for(s=0;s<4;s++)n=this._Ke[t][s],o[4*s]=255&(pr[r[s]>>24&255]^n>>24),o[4*s+1]=255&(pr[r[(s+1)%4]>>16&255]^n>>16),o[4*s+2]=255&(pr[r[(s+2)%4]>>8&255]^n>>8),o[4*s+3]=255&(pr[255&r[(s+3)%4]]^n);return o},kr.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,i=[0,0,0,0],r=Tr(e),s=0;s<4;s++)r[s]^=this._Kd[0][s];for(var a=1;a>24&255]^Sr[r[(s+3)%4]>>16&255]^wr[r[(s+2)%4]>>8&255]^Ar[255&r[(s+1)%4]]^this._Kd[a][s];r=i.slice()}var n,o=or(16);for(s=0;s<4;s++)n=this._Kd[t][s],o[4*s]=255&(_r[r[s]>>24&255]^n>>24),o[4*s+1]=255&(_r[r[(s+3)%4]>>16&255]^n>>16),o[4*s+2]=255&(_r[r[(s+2)%4]>>8&255]^n>>8),o[4*s+3]=255&(_r[255&r[(s+1)%4]]^n);return o};var Cr=function(e){if(!(this instanceof Cr))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new kr(e)};Cr.prototype.encrypt=function(e){if((e=nr(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=or(e.length),i=or(16),r=0;rNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Fr.prototype.setBytes=function(e){if(16!=(e=nr(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Fr.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Pr=function(e,t){if(!(this instanceof Pr))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Fr||(t=new Fr(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new kr(e)};Pr.prototype.encrypt=function(e){for(var t=nr(e,!0),i=0;i16)throw new Error("PKCS#7 padding byte out of range");for(var i=e.length-t,r=0;r>>2]>>>24-a%4*8&255;t[r+a>>>2]|=n<<24-(r+a)%4*8}else for(var o=0;o>>2]=i[o>>>2];return this.sigBytes+=s,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i>>2]>>>24-s%4*8&255;r.push((a>>>4).toString(16)),r.push((15&a).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new l.init(i,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],s=0;s>>2]>>>24-s%4*8&255;r.push(String.fromCharCode(a))}return r.join("")},parse:function(e){for(var t=e.length,i=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new l.init(i,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=o.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i,r=this._data,s=r.words,a=r.sigBytes,n=this.blockSize,o=a/(4*n),d=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*n,c=e.min(4*d,a);if(d){for(var u=0;u>>2]|=e[s]<<24-s%4*8;t.call(this,r,i)}else t.apply(this,arguments)};r.prototype=e}}(),i.lib.WordArray)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.WordArray,r=e.enc;function s(e){return e<<8&4278255360|e>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],s=0;s>>2]>>>16-s%4*8&65535;r.push(String.fromCharCode(a))}return r.join("")},parse:function(e){for(var i=e.length,r=[],s=0;s>>1]|=e.charCodeAt(s)<<16-s%2*16;return t.create(r,2*i)}},r.Utf16LE={stringify:function(e){for(var t=e.words,i=e.sigBytes,r=[],a=0;a>>2]>>>16-a%4*8&65535);r.push(String.fromCharCode(n))}return r.join("")},parse:function(e){for(var i=e.length,r=[],a=0;a>>1]|=s(e.charCodeAt(a)<<16-a%2*16);return t.create(r,2*i)}}}(),i.enc.Utf16)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.WordArray;function r(e,i,r){for(var s=[],a=0,n=0;n>>6-n%4*2;s[a>>>2]|=o<<24-a%4*8,a++}return t.create(s,a)}e.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,r=this._map;e.clamp();for(var s=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,o=0;o<4&&a+.75*o>>6*(3-o)&63));var d=r.charAt(64);if(d)for(;s.length%4;)s.push(d);return s.join("")},parse:function(e){var t=e.length,i=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var a=0;a>>6-n%4*2;s[a>>>2]|=o<<24-a%4*8,a++}return t.create(s,a)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var i=e.words,r=e.sigBytes,s=t?this._safe_map:this._map;e.clamp();for(var a=[],n=0;n>>2]>>>24-n%4*8&255)<<16|(i[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|i[n+2>>>2]>>>24-(n+2)%4*8&255,d=0;d<4&&n+.75*d>>6*(3-d)&63));var l=s.charAt(64);if(l)for(;a.length%4;)a.push(l);return a.join("")},parse:function(e,t){void 0===t&&(t=!0);var i=e.length,s=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var n=0;n>>24)|4278255360&(s<<24|s>>>8)}var a=this._hash.words,n=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],_=e[t+4],m=e[t+5],g=e[t+6],y=e[t+7],b=e[t+8],v=e[t+9],S=e[t+10],w=e[t+11],A=e[t+12],B=e[t+13],E=e[t+14],U=e[t+15],x=a[0],T=a[1],k=a[2],C=a[3];x=l(x,T,k,C,n,7,o[0]),C=l(C,x,T,k,d,12,o[1]),k=l(k,C,x,T,f,17,o[2]),T=l(T,k,C,x,p,22,o[3]),x=l(x,T,k,C,_,7,o[4]),C=l(C,x,T,k,m,12,o[5]),k=l(k,C,x,T,g,17,o[6]),T=l(T,k,C,x,y,22,o[7]),x=l(x,T,k,C,b,7,o[8]),C=l(C,x,T,k,v,12,o[9]),k=l(k,C,x,T,S,17,o[10]),T=l(T,k,C,x,w,22,o[11]),x=l(x,T,k,C,A,7,o[12]),C=l(C,x,T,k,B,12,o[13]),k=l(k,C,x,T,E,17,o[14]),x=c(x,T=l(T,k,C,x,U,22,o[15]),k,C,d,5,o[16]),C=c(C,x,T,k,g,9,o[17]),k=c(k,C,x,T,w,14,o[18]),T=c(T,k,C,x,n,20,o[19]),x=c(x,T,k,C,m,5,o[20]),C=c(C,x,T,k,S,9,o[21]),k=c(k,C,x,T,U,14,o[22]),T=c(T,k,C,x,_,20,o[23]),x=c(x,T,k,C,v,5,o[24]),C=c(C,x,T,k,E,9,o[25]),k=c(k,C,x,T,p,14,o[26]),T=c(T,k,C,x,b,20,o[27]),x=c(x,T,k,C,B,5,o[28]),C=c(C,x,T,k,f,9,o[29]),k=c(k,C,x,T,y,14,o[30]),x=u(x,T=c(T,k,C,x,A,20,o[31]),k,C,m,4,o[32]),C=u(C,x,T,k,b,11,o[33]),k=u(k,C,x,T,w,16,o[34]),T=u(T,k,C,x,E,23,o[35]),x=u(x,T,k,C,d,4,o[36]),C=u(C,x,T,k,_,11,o[37]),k=u(k,C,x,T,y,16,o[38]),T=u(T,k,C,x,S,23,o[39]),x=u(x,T,k,C,B,4,o[40]),C=u(C,x,T,k,n,11,o[41]),k=u(k,C,x,T,p,16,o[42]),T=u(T,k,C,x,g,23,o[43]),x=u(x,T,k,C,v,4,o[44]),C=u(C,x,T,k,A,11,o[45]),k=u(k,C,x,T,U,16,o[46]),x=h(x,T=u(T,k,C,x,f,23,o[47]),k,C,n,6,o[48]),C=h(C,x,T,k,y,10,o[49]),k=h(k,C,x,T,E,15,o[50]),T=h(T,k,C,x,m,21,o[51]),x=h(x,T,k,C,A,6,o[52]),C=h(C,x,T,k,p,10,o[53]),k=h(k,C,x,T,S,15,o[54]),T=h(T,k,C,x,d,21,o[55]),x=h(x,T,k,C,b,6,o[56]),C=h(C,x,T,k,U,10,o[57]),k=h(k,C,x,T,g,15,o[58]),T=h(T,k,C,x,B,21,o[59]),x=h(x,T,k,C,_,6,o[60]),C=h(C,x,T,k,w,10,o[61]),k=h(k,C,x,T,f,15,o[62]),T=h(T,k,C,x,v,21,o[63]),a[0]=a[0]+x|0,a[1]=a[1]+T|0,a[2]=a[2]+k|0,a[3]=a[3]+C|0},_doFinalize:function(){var t=this._data,i=t.words,r=8*this._nDataBytes,s=8*t.sigBytes;i[s>>>5]|=128<<24-s%32;var a=e.floor(r/4294967296),n=r;i[15+(s+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(s+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(i.length+1),this._process();for(var o=this._hash,d=o.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,i,r,s,a,n){var o=e+(t&i|~t&r)+s+n;return(o<>>32-a)+t}function c(e,t,i,r,s,a,n){var o=e+(t&r|i&~r)+s+n;return(o<>>32-a)+t}function u(e,t,i,r,s,a,n){var o=e+(t^i^r)+s+n;return(o<>>32-a)+t}function h(e,t,i,r,s,a,n){var o=e+(i^(t|~r))+s+n;return(o<>>32-a)+t}t.MD5=a._createHelper(d),t.HmacMD5=a._createHmacHelper(d)}(Math),i.MD5)})),Ot((function(e,t){var i,r,s,a,n,o,d,l;e.exports=(r=(i=l=zr).lib,s=r.WordArray,a=r.Hasher,n=i.algo,o=[],d=n.SHA1=a.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,r=i[0],s=i[1],a=i[2],n=i[3],d=i[4],l=0;l<80;l++){if(l<16)o[l]=0|e[t+l];else{var c=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=c<<1|c>>>31}var u=(r<<5|r>>>27)+d+o[l];u+=l<20?1518500249+(s&a|~s&n):l<40?1859775393+(s^a^n):l<60?(s&a|s&n|a&n)-1894007588:(s^a^n)-899497514,d=n,n=a,a=s<<30|s>>>2,s=r,r=u}i[0]=i[0]+r|0,i[1]=i[1]+s|0,i[2]=i[2]+a|0,i[3]=i[3]+n|0,i[4]=i[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(i/4294967296),t[15+(r+64>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),i.SHA1=a._createHelper(d),i.HmacSHA1=a._createHmacHelper(d),l.SHA1)})),Ot((function(e,t){var i;e.exports=(i=zr,function(e){var t=i,r=t.lib,s=r.WordArray,a=r.Hasher,n=t.algo,o=[],d=[];!function(){function t(t){for(var i=e.sqrt(t),r=2;r<=i;r++)if(!(t%r))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var r=2,s=0;s<64;)t(r)&&(s<8&&(o[s]=i(e.pow(r,.5))),d[s]=i(e.pow(r,1/3)),s++),r++}();var l=[],c=n.SHA256=a.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,r=i[0],s=i[1],a=i[2],n=i[3],o=i[4],c=i[5],u=i[6],h=i[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,m=l[f-2],g=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;l[f]=_+l[f-7]+g+l[f-16]}var y=r&s^r&a^s&a,b=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),v=h+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&c^~o&u)+d[f]+l[f];h=u,u=c,c=o,o=n+v|0,n=a,a=s,s=r,r=v+(b+y)|0}i[0]=i[0]+r|0,i[1]=i[1]+s|0,i[2]=i[2]+a|0,i[3]=i[3]+n|0,i[4]=i[4]+o|0,i[5]=i[5]+c|0,i[6]=i[6]+u|0,i[7]=i[7]+h|0},_doFinalize:function(){var t=this._data,i=t.words,r=8*this._nDataBytes,s=8*t.sigBytes;return i[s>>>5]|=128<<24-s%32,i[14+(s+64>>>9<<4)]=e.floor(r/4294967296),i[15+(s+64>>>9<<4)]=r,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=a._createHelper(c),t.HmacSHA256=a._createHmacHelper(c)}(Math),i.SHA256)})),Ot((function(e,t){var i,r,s,a,n,o;e.exports=(r=(i=o=zr).lib.WordArray,s=i.algo,a=s.SHA256,n=s.SHA224=a.extend({_doReset:function(){this._hash=new r.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),i.SHA224=a._createHelper(n),i.HmacSHA224=a._createHmacHelper(n),o.SHA224)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.Hasher,r=e.x64,s=r.Word,a=r.WordArray,n=e.algo;function o(){return s.create.apply(s,arguments)}var d=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=o()}();var c=n.SHA512=t.extend({_doReset:function(){this._hash=new a.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=this._hash.words,r=i[0],s=i[1],a=i[2],n=i[3],o=i[4],c=i[5],u=i[6],h=i[7],f=r.high,p=r.low,_=s.high,m=s.low,g=a.high,y=a.low,b=n.high,v=n.low,S=o.high,w=o.low,A=c.high,B=c.low,E=u.high,U=u.low,x=h.high,T=h.low,k=f,C=p,L=_,D=m,I=g,F=y,P=b,M=v,z=S,R=w,N=A,G=B,O=E,H=U,V=x,$=T,W=0;W<80;W++){var Y,q,j=l[W];if(W<16)q=j.high=0|e[t+2*W],Y=j.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[W-2],te=ee.high,ie=ee.low,re=(te>>>19|ie<<13)^(te<<3|ie>>>29)^te>>>6,se=(ie>>>19|te<<13)^(ie<<3|te>>>29)^(ie>>>6|te<<26),ae=l[W-7],ne=ae.high,oe=ae.low,de=l[W-16],le=de.high,ce=de.low;q=(q=(q=J+ne+((Y=Q+oe)>>>0>>0?1:0))+re+((Y+=se)>>>0>>0?1:0))+le+((Y+=ce)>>>0>>0?1:0),j.high=q,j.low=Y}var ue,he=z&N^~z&O,fe=R&G^~R&H,pe=k&L^k&I^L&I,_e=C&D^C&F^D&F,me=(k>>>28|C<<4)^(k<<30|C>>>2)^(k<<25|C>>>7),ge=(C>>>28|k<<4)^(C<<30|k>>>2)^(C<<25|k>>>7),ye=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=d[W],Se=ve.high,we=ve.low,Ae=V+ye+((ue=$+be)>>>0<$>>>0?1:0),Be=ge+_e;V=O,$=H,O=N,H=G,N=z,G=R,z=P+(Ae=(Ae=(Ae=Ae+he+((ue+=fe)>>>0>>0?1:0))+Se+((ue+=we)>>>0>>0?1:0))+q+((ue+=Y)>>>0>>0?1:0))+((R=M+ue|0)>>>0>>0?1:0)|0,P=I,M=F,I=L,F=D,L=k,D=C,k=Ae+(me+pe+(Be>>>0>>0?1:0))+((C=ue+Be|0)>>>0>>0?1:0)|0}p=r.low=p+C,r.high=f+k+(p>>>0>>0?1:0),m=s.low=m+D,s.high=_+L+(m>>>0>>0?1:0),y=a.low=y+F,a.high=g+I+(y>>>0>>0?1:0),v=n.low=v+M,n.high=b+P+(v>>>0>>0?1:0),w=o.low=w+R,o.high=S+z+(w>>>0>>0?1:0),B=c.low=B+G,c.high=A+N+(B>>>0>>0?1:0),U=u.low=U+H,u.high=E+O+(U>>>0>>0?1:0),T=h.low=T+$,h.high=x+V+(T>>>0<$>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(i/4294967296),t[31+(r+128>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),i.SHA512)})),Ot((function(e,t){var i,r,s,a,n,o,d,l;e.exports=(r=(i=l=zr).x64,s=r.Word,a=r.WordArray,n=i.algo,o=n.SHA512,d=n.SHA384=o.extend({_doReset:function(){this._hash=new a.init([new s.init(3418070365,3238371032),new s.init(1654270250,914150663),new s.init(2438529370,812702999),new s.init(355462360,4144912697),new s.init(1731405415,4290775857),new s.init(2394180231,1750603025),new s.init(3675008525,1694076839),new s.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),i.SHA384=o._createHelper(d),i.HmacSHA384=o._createHmacHelper(d),l.SHA384)})),Ot((function(e,t){var i;e.exports=(i=zr,function(e){var t=i,r=t.lib,s=r.WordArray,a=r.Hasher,n=t.x64.Word,o=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,i=0;i<24;i++){d[e+5*t]=(i+1)*(i+2)/2%64;var r=(2*e+3*t)%5;e=t%5,t=r}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var s=1,a=0;a<24;a++){for(var o=0,u=0,h=0;h<7;h++){if(1&s){var f=(1<>>24)|4278255360&(a<<24|a>>>8),n=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),(T=i[s]).high^=n,T.low^=a}for(var o=0;o<24;o++){for(var h=0;h<5;h++){for(var f=0,p=0,_=0;_<5;_++)f^=(T=i[h+5*_]).high,p^=T.low;var m=u[h];m.high=f,m.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],b=y.high,v=y.low;for(f=g.high^(b<<1|v>>>31),p=g.low^(v<<1|b>>>31),_=0;_<5;_++)(T=i[h+5*_]).high^=f,T.low^=p}for(var S=1;S<25;S++){var w=(T=i[S]).high,A=T.low,B=d[S];B<32?(f=w<>>32-B,p=A<>>32-B):(f=A<>>64-B,p=w<>>64-B);var E=u[l[S]];E.high=f,E.low=p}var U=u[0],x=i[0];for(U.high=x.high,U.low=x.low,h=0;h<5;h++)for(_=0;_<5;_++){var T=i[S=h+5*_],k=u[S],C=u[(h+1)%5+5*_],L=u[(h+2)%5+5*_];T.high=k.high^~C.high&L.high,T.low=k.low^~C.low&L.low}T=i[0];var D=c[o];T.high^=D.high,T.low^=D.low}},_doFinalize:function(){var t=this._data,i=t.words;this._nDataBytes;var r=8*t.sigBytes,a=32*this.blockSize;i[r>>>5]|=1<<24-r%32,i[(e.ceil((r+1)/a)*a>>>5)-1]|=128,t.sigBytes=4*i.length,this._process();for(var n=this._state,o=this.cfg.outputLength/8,d=o/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new s.init(l,o)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),i=0;i<25;i++)t[i]=t[i].clone();return e}});t.SHA3=a._createHelper(h),t.HmacSHA3=a._createHmacHelper(h)}(Math),i.SHA3)})),Ot((function(e,t){var i;e.exports=(i=zr,function(e){var t=i,r=t.lib,s=r.WordArray,a=r.Hasher,n=t.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=s.create([0,1518500249,1859775393,2400959708,2840853838]),h=s.create([1352829926,1548603684,1836072691,2053994217,0]),f=n.RIPEMD160=a.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var r=t+i,s=e[r];e[r]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}var a,n,f,v,S,w,A,B,E,U,x,T=this._hash.words,k=u.words,C=h.words,L=o.words,D=d.words,I=l.words,F=c.words;for(w=a=T[0],A=n=T[1],B=f=T[2],E=v=T[3],U=S=T[4],i=0;i<80;i+=1)x=a+e[t+L[i]]|0,x+=i<16?p(n,f,v)+k[0]:i<32?_(n,f,v)+k[1]:i<48?m(n,f,v)+k[2]:i<64?g(n,f,v)+k[3]:y(n,f,v)+k[4],x=(x=b(x|=0,I[i]))+S|0,a=S,S=v,v=b(f,10),f=n,n=x,x=w+e[t+D[i]]|0,x+=i<16?y(A,B,E)+C[0]:i<32?g(A,B,E)+C[1]:i<48?m(A,B,E)+C[2]:i<64?_(A,B,E)+C[3]:p(A,B,E)+C[4],x=(x=b(x|=0,F[i]))+U|0,w=U,U=E,E=b(B,10),B=A,A=x;x=T[1]+f+E|0,T[1]=T[2]+v+U|0,T[2]=T[3]+S+w|0,T[3]=T[4]+a+A|0,T[4]=T[0]+n+B|0,T[0]=x},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var s=this._hash,a=s.words,n=0;n<5;n++){var o=a[n];a[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return s},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,i){return e^t^i}function _(e,t,i){return e&t|~e&i}function m(e,t,i){return(e|~t)^i}function g(e,t,i){return e&i|t&~i}function y(e,t,i){return e^(t|~i)}function b(e,t){return e<>>32-t}t.RIPEMD160=a._createHelper(f),t.HmacRIPEMD160=a._createHmacHelper(f)}(),i.RIPEMD160)})),Ot((function(e,t){var i,r,s;e.exports=(r=(i=zr).lib.Base,s=i.enc.Utf8,void(i.algo.HMAC=r.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var i=e.blockSize,r=4*i;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),n=this._iKey=t.clone(),o=a.words,d=n.words,l=0;l>>2];e.sigBytes-=t}};r.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,i=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,i&&i.words):(this._mode=e.call(r,this,i&&i.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var _=r.CipherParams=s.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),m=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,i=e.salt;return(i?a.create([1398893684,1701076831]).concat(i).concat(t):t).toString(d)},parse:function(e){var t,i=d.parse(e),r=i.words;return 1398893684==r[0]&&1701076831==r[1]&&(t=a.create(r.slice(2,4)),r.splice(0,4),i.sigBytes-=16),_.create({ciphertext:i,salt:t})}},g=r.SerializableCipher=s.extend({cfg:s.extend({format:m}),encrypt:function(e,t,i,r){r=this.cfg.extend(r);var s=e.createEncryptor(i,r),a=s.finalize(t),n=s.cfg;return _.create({ciphertext:a,key:i,iv:n.iv,algorithm:e,mode:n.mode,padding:n.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,i,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(i,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,i,r,s){if(r||(r=a.random(8)),s)n=l.create({keySize:t+i,hasher:s}).compute(e,r);else var n=l.create({keySize:t+i}).compute(e,r);var o=a.create(n.words.slice(t),4*i);return n.sigBytes=4*t,_.create({key:n,iv:o,salt:r})}},b=r.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,i,r){var s=(r=this.cfg.extend(r)).kdf.execute(i,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=s.iv;var a=g.encrypt.call(this,e,t,s.key,r);return a.mixIn(s),a},decrypt:function(e,t,i,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var s=r.kdf.execute(i,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=s.iv,g.decrypt.call(this,e,t,s.key,r)}})}())})),Ot((function(e,t){var i;e.exports=((i=zr).mode.CFB=function(){var e=i.lib.BlockCipherMode.extend();function t(e,t,i,r){var s,a=this._iv;a?(s=a.slice(0),this._iv=void 0):s=this._prevBlock,r.encryptBlock(s,0);for(var n=0;n>24&255)){var t=e>>16&255,i=e>>8&255,r=255&e;255===t?(t=0,255===i?(i=0,255===r?r=0:++r):++i):++t,e=0,e+=t<<16,e+=i<<8,e+=r}else e+=1<<24;return e}function r(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var s=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,a=this._iv,n=this._counter;a&&(n=this._counter=a.slice(0),this._iv=void 0),r(n);var o=n.slice(0);i.encryptBlock(o,0);for(var d=0;d>>2]|=s<<24-a%4*8,e.sigBytes+=s},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Ansix923)})),Ot((function(e,t){var i;e.exports=((i=zr).pad.Iso10126={pad:function(e,t){var r=4*t,s=r-e.sigBytes%r;e.concat(i.lib.WordArray.random(s-1)).concat(i.lib.WordArray.create([s<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Iso10126)})),Ot((function(e,t){var i;e.exports=((i=zr).pad.Iso97971={pad:function(e,t){e.concat(i.lib.WordArray.create([2147483648],1)),i.pad.ZeroPadding.pad(e,t)},unpad:function(e){i.pad.ZeroPadding.unpad(e),e.sigBytes--}},i.pad.Iso97971)})),Ot((function(e,t){var i;e.exports=((i=zr).pad.ZeroPadding={pad:function(e,t){var i=4*t;e.clamp(),e.sigBytes+=i-(e.sigBytes%i||i)},unpad:function(e){var t=e.words,i=e.sigBytes-1;for(i=e.sigBytes-1;i>=0;i--)if(t[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},i.pad.ZeroPadding)})),Ot((function(e,t){var i;e.exports=((i=zr).pad.NoPadding={pad:function(){},unpad:function(){}},i.pad.NoPadding)})),Ot((function(e,t){var i;e.exports=(i=zr,function(e){var t=i,r=t.lib.CipherParams,s=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(s)},parse:function(e){var t=s.parse(e);return r.create({ciphertext:t})}}}(),i.format.Hex)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.BlockCipher,r=e.algo,s=[],a=[],n=[],o=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var i=0,r=0;for(t=0;t<256;t++){var p=r^r<<1^r<<2^r<<3^r<<4;p=p>>>8^255&p^99,s[i]=p,a[p]=i;var _=e[i],m=e[_],g=e[m],y=257*e[p]^16843008*p;n[i]=y<<24|y>>>8,o[i]=y<<16|y>>>16,d[i]=y<<8|y>>>24,l[i]=y,y=16843009*g^65537*m^257*_^16843008*i,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,i?(i=_^e[e[e[g^_]]],r^=e[e[r]]):i=r=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],_=r.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,i=e.sigBytes/4,r=4*((this._nRounds=i+6)+1),a=this._keySchedule=[],n=0;n6&&n%i==4&&(l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[255&l]):(l=s[(l=l<<8|l>>>24)>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[255&l],l^=p[n/i|0]<<24),a[n]=a[n-i]^l);for(var o=this._invKeySchedule=[],d=0;d>>24]]^u[s[l>>>16&255]]^h[s[l>>>8&255]]^f[s[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,n,o,d,l,s)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,a),i=e[t+1],e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,r,s,a,n,o){for(var d=this._nRounds,l=e[t]^i[0],c=e[t+1]^i[1],u=e[t+2]^i[2],h=e[t+3]^i[3],f=4,p=1;p>>24]^s[c>>>16&255]^a[u>>>8&255]^n[255&h]^i[f++],m=r[c>>>24]^s[u>>>16&255]^a[h>>>8&255]^n[255&l]^i[f++],g=r[u>>>24]^s[h>>>16&255]^a[l>>>8&255]^n[255&c]^i[f++],y=r[h>>>24]^s[l>>>16&255]^a[c>>>8&255]^n[255&u]^i[f++];l=_,c=m,u=g,h=y}_=(o[l>>>24]<<24|o[c>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^i[f++],m=(o[c>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&l])^i[f++],g=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[l>>>8&255]<<8|o[255&c])^i[f++],y=(o[h>>>24]<<24|o[l>>>16&255]<<16|o[c>>>8&255]<<8|o[255&u])^i[f++],e[t]=_,e[t+1]=m,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(_)}(),i.AES)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib,r=t.WordArray,s=t.BlockCipher,a=e.algo,n=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=a.DES=s.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;i<56;i++){var r=n[i]-1;t[i]=e[r>>>5]>>>31-r%32&1}for(var s=this._subKeys=[],a=0;a<16;a++){var l=s[a]=[],c=d[a];for(i=0;i<24;i++)l[i/6|0]|=t[(o[i]-1+c)%28]<<31-i%6,l[4+(i/6|0)]|=t[28+(o[i+24]-1+c)%28]<<31-i%6;for(l[0]=l[0]<<1|l[0]>>>31,i=1;i<7;i++)l[i]=l[i]>>>4*(i-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(i=0;i<16;i++)u[i]=s[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,i){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var r=0;r<16;r++){for(var s=i[r],a=this._lBlock,n=this._rBlock,o=0,d=0;d<8;d++)o|=l[d][((n^s[d])&c[d])>>>0];this._lBlock=n,this._rBlock=a^o}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var i=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=i,this._lBlock^=i<>>e^this._lBlock)&t;this._lBlock^=i,this._rBlock^=i<192.");var t=e.slice(0,2),i=e.length<4?e.slice(0,2):e.slice(2,4),s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(r.create(t)),this._des2=u.createEncryptor(r.create(i)),this._des3=u.createEncryptor(r.create(s))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=s._createHelper(p)}(),i.TripleDES)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.StreamCipher,r=e.algo,s=r.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,i=e.sigBytes,r=this._S=[],s=0;s<256;s++)r[s]=s;s=0;for(var a=0;s<256;s++){var n=s%i,o=t[n>>>2]>>>24-n%4*8&255;a=(a+r[s]+o)%256;var d=r[s];r[s]=r[a],r[a]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,i=this._j,r=0,s=0;s<4;s++){i=(i+e[t=(t+1)%256])%256;var a=e[t];e[t]=e[i],e[i]=a,r|=e[(e[t]+e[i])%256]<<24-8*s}return this._i=t,this._j=i,r}e.RC4=t._createHelper(s);var n=r.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});e.RC4Drop=t._createHelper(n)}(),i.RC4)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.StreamCipher,r=e.algo,s=[],a=[],n=[],o=r.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=0;i<4;i++)e[i]=16711935&(e[i]<<8|e[i]>>>24)|4278255360&(e[i]<<24|e[i]>>>8);var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,i=0;i<4;i++)d.call(this);for(i=0;i<8;i++)s[i]^=r[i+4&7];if(t){var a=t.words,n=a[0],o=a[1],l=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(s[0]^=l,s[1]^=u,s[2]^=c,s[3]^=h,s[4]^=l,s[5]^=u,s[6]^=c,s[7]^=h,i=0;i<4;i++)d.call(this)}},_doProcessBlock:function(e,t){var i=this._X;d.call(this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var r=0;r<4;r++)s[r]=16711935&(s[r]<<8|s[r]>>>24)|4278255360&(s[r]<<24|s[r]>>>8),e[t+r]^=s[r]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,i=0;i<8;i++){var r=e[i]+t[i],s=65535&r,o=r>>>16,d=((s*s>>>17)+s*o>>>15)+o*o,l=((4294901760&r)*r|0)+((65535&r)*r|0);n[i]=d^l}e[0]=n[0]+(n[7]<<16|n[7]>>>16)+(n[6]<<16|n[6]>>>16)|0,e[1]=n[1]+(n[0]<<8|n[0]>>>24)+n[7]|0,e[2]=n[2]+(n[1]<<16|n[1]>>>16)+(n[0]<<16|n[0]>>>16)|0,e[3]=n[3]+(n[2]<<8|n[2]>>>24)+n[1]|0,e[4]=n[4]+(n[3]<<16|n[3]>>>16)+(n[2]<<16|n[2]>>>16)|0,e[5]=n[5]+(n[4]<<8|n[4]>>>24)+n[3]|0,e[6]=n[6]+(n[5]<<16|n[5]>>>16)+(n[4]<<16|n[4]>>>16)|0,e[7]=n[7]+(n[6]<<8|n[6]>>>24)+n[5]|0}e.Rabbit=t._createHelper(o)}(),i.Rabbit)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.StreamCipher,r=e.algo,s=[],a=[],n=[],o=r.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var s=0;s<4;s++)d.call(this);for(s=0;s<8;s++)r[s]^=i[s+4&7];if(t){var a=t.words,n=a[0],o=a[1],l=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(r[0]^=l,r[1]^=u,r[2]^=c,r[3]^=h,r[4]^=l,r[5]^=u,r[6]^=c,r[7]^=h,s=0;s<4;s++)d.call(this)}},_doProcessBlock:function(e,t){var i=this._X;d.call(this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var r=0;r<4;r++)s[r]=16711935&(s[r]<<8|s[r]>>>24)|4278255360&(s[r]<<24|s[r]>>>8),e[t+r]^=s[r]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,i=0;i<8;i++){var r=e[i]+t[i],s=65535&r,o=r>>>16,d=((s*s>>>17)+s*o>>>15)+o*o,l=((4294901760&r)*r|0)+((65535&r)*r|0);n[i]=d^l}e[0]=n[0]+(n[7]<<16|n[7]>>>16)+(n[6]<<16|n[6]>>>16)|0,e[1]=n[1]+(n[0]<<8|n[0]>>>24)+n[7]|0,e[2]=n[2]+(n[1]<<16|n[1]>>>16)+(n[0]<<16|n[0]>>>16)|0,e[3]=n[3]+(n[2]<<8|n[2]>>>24)+n[1]|0,e[4]=n[4]+(n[3]<<16|n[3]>>>16)+(n[2]<<16|n[2]>>>16)|0,e[5]=n[5]+(n[4]<<8|n[4]>>>24)+n[3]|0,e[6]=n[6]+(n[5]<<16|n[5]>>>16)+(n[4]<<16|n[4]>>>16)|0,e[7]=n[7]+(n[6]<<8|n[6]>>>24)+n[5]|0}e.RabbitLegacy=t._createHelper(o)}(),i.RabbitLegacy)})),Ot((function(e,t){var i;e.exports=(i=zr,function(){var e=i,t=e.lib.BlockCipher,r=e.algo;const s=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],n=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function d(e,t){let i=t>>24&255,r=t>>16&255,s=t>>8&255,a=255&t,n=e.sbox[0][i]+e.sbox[1][r];return n^=e.sbox[2][s],n+=e.sbox[3][a],n}function l(e,t,i){let r,a=t,n=i;for(let t=0;t1;--t)a^=e.pbox[t],n=d(e,a)^n,r=a,a=n,n=r;return r=a,a=n,n=r,n^=e.pbox[1],a^=e.pbox[0],{left:a,right:n}}function u(e,t,i){for(let t=0;t<4;t++){e.sbox[t]=[];for(let i=0;i<256;i++)e.sbox[t][i]=n[t][i]}let r=0;for(let n=0;n=i&&(r=0);let o=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),i=new Uint8Array(i);const s=e.byteLength;let a=5;for(;as)break;let o=e[a+4],d=!1;if(r?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const r=e.slice(a+4+2,a+4+n);let s=new Mr.ModeOfOperation.ctr(t,new Mr.Counter(i));const o=s.decrypt(r);s=null,e.set(o,a+4+2)}a=a+4+n}return e}function Gr(e,t,i){if(e.byteLength<=30)return e;const r=e.slice(32);let s=new Mr.ModeOfOperation.ctr(t,new Mr.Counter(i));const a=s.decrypt(r);return s=null,e.set(a,32),e}Ot((function(e,t){e.exports=zr}));var Or=Ot((function(e,t){var r,s,a,n=(r=new Date,s=4,a={setLogLevel:function(e){s=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=s&&console.debug("["+n.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=s&&console.info("["+n.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=s&&console.warn("["+n.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=s&&console.error("["+n.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},a);n.getDurationString=function(e,t){var i;function r(e,t){for(var i=(""+e).split(".");i[0].length0){for(var i="",r=0;r0&&(i+=","),i+="["+n.getDurationString(e.start(r))+","+n.getDurationString(e.end(r))+"]";return i}return"(empty)"},t.Log=n;var o=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};o.prototype.getPosition=function(){return this.position},o.prototype.getEndPosition=function(){return this.buffer.byteLength},o.prototype.getLength=function(){return this.buffer.byteLength},o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},o.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},o.prototype.readAnyInt=function(e,t){var i=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:i=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:i=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";i=this.dataview.getUint8(this.position)<<16,i|=this.dataview.getUint8(this.position+1)<<8,i|=this.dataview.getUint8(this.position+2);break;case 4:i=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";i=this.dataview.getUint32(this.position)<<32,i|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,i}throw"Not enough bytes in buffer"},o.prototype.readUint8=function(){return this.readAnyInt(1,!1)},o.prototype.readUint16=function(){return this.readAnyInt(2,!1)},o.prototype.readUint24=function(){return this.readAnyInt(3,!1)},o.prototype.readUint32=function(){return this.readAnyInt(4,!1)},o.prototype.readUint64=function(){return this.readAnyInt(8,!1)},o.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",i=0;ithis._byteLength&&(this._byteLength=t);else{for(i<1&&(i=1);t>i;)i*=2;var r=new ArrayBuffer(i),s=new Uint8Array(this._buffer);new Uint8Array(r,0,s.length).set(s),this.buffer=r,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),i=new Uint8Array(this._buffer,0,t.length);t.set(i),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Int32Array(e);return d.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),d.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Int16Array(e);return d.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),d.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Uint32Array(e);return d.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),d.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Uint16Array(e);return d.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),d.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var i=new Float64Array(e);return d.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),d.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Float32Array(e);return d.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),d.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,i,r,s){var a=new Uint8Array(e,t,s),n=new Uint8Array(i,r,s);a.set(n)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=0;is;r--,s++){var a=t[s];t[s]=t[r],t[r]=a}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],i=0;i>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var i=this.position;this.seek(e),this.writeUint32(t),this.seek(i)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var i=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var i=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var i=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var i=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var i=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(i,null==t?this.endianness:t),this.position+=8*e,i},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var i=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,n.debug("MultiBufferStream","Stream ready for parsing"),!0):(n.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(n.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){n.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),e.byteLength),i.buffer},c.prototype.reduceBuffer=function(e,t,i){var r;return(r=new Uint8Array(i)).set(new Uint8Array(e,t,i)),r.buffer.fileStart=e.fileStart+t,r.buffer.usedBytes=0,r.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,i=0;ir.byteLength){this.buffers.splice(i,1),i--;continue}n.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=r.fileStart||(e=this.reduceBuffer(e,0,r.fileStart-e.fileStart)),n.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(i,0,e),0===i&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,s,a)}}t&&(n.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===i&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,i,r,s,a,o=[],d="";for(r=0,s=0,t=0;t0&&(d+=a.end-1+"]");var l=e?n.info:n.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+r+"/"+s+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,i){var r,s=null,a=-1;for(r=!0===e?0:this.bufferIndex;r=t?(n.debug("MultiBufferStream","Found position in existing buffer #"+a),a):-1},c.prototype.findEndContiguousBuf=function(e){var t,i,r,s=void 0!==e?e:this.bufferIndex;if(i=this.buffers[s],this.buffers.length>s+1)for(t=s+1;t>3;return 31===r&&i.data.length>=2&&(r=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),r}return null},i.DecoderConfigDescriptor=function(e){i.Descriptor.call(this,4,e)},i.DecoderConfigDescriptor.prototype=new i.Descriptor,i.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},i.DecoderSpecificInfo=function(e){i.Descriptor.call(this,5,e)},i.DecoderSpecificInfo.prototype=new i.Descriptor,i.SLConfigDescriptor=function(e){i.Descriptor.call(this,6,e)},i.SLConfigDescriptor.prototype=new i.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,i){this.type=e,this.size=t,this.uuid=i},FullBox:function(e,t,i){h.Box.call(this,e,t,i),this.flags=0,this.version=0},ContainerBox:function(e,t,i){h.Box.call(this,e,t,i),this.boxes=[]},SampleEntry:function(e,t,i,r){h.ContainerBox.call(this,e,t),this.hdr_size=i,this.start=r},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,i=0;ii?(n.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+i),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):0!==l&&o+l>e.getEndPosition()?(e.seek(o),n.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:o}:(h[c+"Box"]?r=new h[c+"Box"](l):"uuid"!==c?(n.warn("BoxParser","Unknown box type: '"+c+"'"),(r=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[a]?r=new h.UUIDBoxes[a](l):(n.warn("BoxParser","Unknown uuid type: '"+a+"'"),(r=new h.Box(c,l)).uuid=a,r.has_unparsed_data=!0),r.hdr_size=d,r.start=o,r.write===h.Box.prototype.write&&"mdat"!==r.type&&(n.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),r.parseDataAndRewind(e)),r.parse(e),(s=e.getPosition()-(r.start+r.size))<0?(n.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-s+" bytes), seeking forward"),e.seek(r.start+r.size)):s>0&&(n.error("BoxParser","Parsing of box '"+u+"' read "+s+" more bytes than the indicated box data size, seeking backwards"),0!==r.size&&e.seek(r.start+r.size)),{code:h.OK,box:r,size:r.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,i;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var i=0;i<3;i++)this.layer_size[i]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)n.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void n.error("av1C reserved_2 parsing problem");var i=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(i)}else n.error("av1C reserved_1 parsing problem");else n.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,i;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),i=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(i))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,i;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(i=0;i>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,i;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(i=0;i>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|i>>6&3,this.acmod=i>>3&7,this.lfeon=i>>2&1,this.bit_rate_code=3&i|r>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var i=0;i>6,r.bsid=s>>1&31,r.bsmod=(1&s)<<4|a>>4&15,r.acmod=a>>1&7,r.lfeon=1&a,r.num_dep_sub=n>>1&15,r.num_dep_sub>0&&(r.chan_loc=(1&n)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],i=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var r=e.readUint8(),s=Math.min(127&r,i.length-1);if(s?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(i[s]),128&r)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[i]=e.readString(4),t-=4,i++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,i,r,s;this.configurationVersion=e.readUint8(),s=e.readUint8(),this.general_profile_space=s>>6,this.general_tier_flag=(32&s)>>5,this.general_profile_idc=31&s,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),s=e.readUint8(),this.constantFrameRate=s>>6,this.numTemporalLayers=(13&s)>>3,this.temporalIdNested=(4&s)>>2,this.lengthSizeMinusOne=3&s,this.nalu_arrays=[];var a=e.readUint8();for(t=0;t>7,n.nalu_type=63&s;var o=e.readUint16();for(i=0;i>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var i=0;if(this.version<2)i=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";i=e.readUint32()}for(var r=0;r>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),n.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,i;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?n.property_index=(127&a)<<8|e.readUint8():n.property_index=127&a}}})),h.createFullBoxCtor("iref",(function(e){var t,i;for(this.references=[];e.getPosition()>7,r.assignment_type=127&s,r.assignment_type){case 0:r.grouping_type=e.readString(4);break;case 1:r.grouping_type=e.readString(4),r.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:r.sub_track_id=e.readUint32();break;default:n.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(n.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var i=0;i0){var t=e.readUint32();this.kid=[];for(var i=0;i0&&(this.data=e.readUint8Array(r))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var i=0;i>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var i=e.readUint8(),r=0;r>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)n.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){n.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){n.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){n.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){n.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),i=0;i>6,this.sample_depends_on[r]=t>>4&3,this.sample_is_depended_on[r]=t>>2&3,this.sample_has_redundancy[r]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),n.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),i=0;i>31&1,r.referenced_size=2147483647&s,r.subsegment_duration=e.readUint32(),s=e.readUint32(),r.starts_with_SAP=s>>31&1,r.SAP_type=s>>28&7,r.SAP_delta_time=268435455&s}})),h.SingleItemTypeReferenceBox=function(e,t,i,r){h.Box.call(this,e,t),this.hdr_size=i,this.start=r},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var i=0;i>4&15,this.sample_sizes[t+1]=15&r}else if(8===this.field_size)for(t=0;t0)for(i=0;i>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var i=e.readUint32(),r=0;r>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,i,r){h.Box.call(this,e,t),this.hdr_size=i,this.start=r},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,i;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var i=0;i>7&1,this.block_pad_lsb=i>>6&1,this.block_little_endian=i>>5&1,this.block_reversed=i>>4&1,this.pad_unknown=i>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,i,r={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(r.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,i=this.num_sublayers-2;i>=0;--i){var n=r.extract_bits(1);this.ptl_sublayer_present_mask|=n<1;++i)r.extract_bits(1);for(this.sublayer_level_idc=[],i=this.num_sublayers-2;i>=0;--i)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(r,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var s=!1,a="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||s)&&(a="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+a,s=!0);t+=a}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var i="";if(this.vvcC.general_constraint_info){var r,s=[],a=0;for(a|=this.vvcC.ptl_frame_only_constraint<<7,a|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,s.push(a),a&&(r=e),a=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===r)i=".CA";else{i=".C";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",o=0,d=0;for(e=0;e<=r;++e)for(o=o<<8|s[e],d+=8;d>=5;){i+=n[o>>d-5&31],o&=(1<<(d-=5))-1}d&&(i+=n[31&(o<<=5-d)])}}t+=i}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),i=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(i?"."+i:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var i=this.vpcC.bitDepth;return 8==i&&(i="08"),e+".0"+this.vpcC.profile+"."+t+"."+i},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),i=this.av1C.seq_level_idx_0;return i<10&&(i="0"+i),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+i+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),n.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[i]instanceof h.Box||t[i]instanceof h.Box||void 0===e[i]||void 0===t[i]||"function"==typeof e[i]||"function"==typeof t[i]||e.subBoxNames&&e.subBoxNames.indexOf(i.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(i.slice(0,4))>-1||"data"===i||"start"===i||"size"===i||"creation_time"===i||"modification_time"===i||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(i)>-1||e[i]===t[i]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var i=0;i1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,i){var r=this.getTrackById(e);if(r){var s={};this.extractedTracks.push(s),s.id=e,s.user=t,s.trak=r,r.nextSample=0,s.nb_samples=1e3,s.samples=[],i&&i.nbSamples&&(s.nb_samples=i.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,i=0;i-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var i;switch(i="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),i){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[i]&&n.warn("ISOFile","Duplicate Box of type: "+i+", overriding previous occurrence"),this[i]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(n.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(n.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(n.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var i;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(i=this.nextSeekPosition,this.nextSeekPosition=void 0):i=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(i=this.stream.getEndFilePositionAfter(i))):i=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(n.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+i),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),n.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),i},g.prototype.getInfo=function(){var e,t,i,r,s,a,n={},o=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(n.hasMoov=!0,n.duration=this.moov.mvhd.duration,n.timescale=this.moov.mvhd.timescale,n.isFragmented=null!=this.moov.mvex,n.isFragmented&&this.moov.mvex.mehd&&(n.fragment_duration=this.moov.mvex.mehd.fragment_duration),n.isProgressive=this.isProgressive,n.hasIOD=null!=this.moov.iods,n.brands=[],n.brands.push(this.ftyp.major_brand),n.brands=n.brands.concat(this.ftyp.compatible_brands),n.created=new Date(o+1e3*this.moov.mvhd.creation_time),n.modified=new Date(o+1e3*this.moov.mvhd.modification_time),n.tracks=[],n.audioTracks=[],n.videoTracks=[],n.subtitleTracks=[],n.metadataTracks=[],n.hintTracks=[],n.otherTracks=[],e=0;e0?n.mime+='video/mp4; codecs="':n.audioTracks&&n.audioTracks.length>0?n.mime+='audio/mp4; codecs="':n.mime+='application/mp4; codecs="',e=0;e=i.samples.length)&&(n.info("ISOFile","Sending fragmented data on track #"+r.id+" for samples ["+Math.max(0,i.nextSample-r.nb_samples)+","+(i.nextSample-1)+"]"),n.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(r.id,r.user,r.segmentStream.buffer,i.nextSample,e||i.nextSample>=i.samples.length),r.segmentStream=null,r!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=i.samples.length)&&(n.debug("ISOFile","Sending samples on track #"+a.id+" for sample "+i.nextSample),this.onSamples&&this.onSamples(a.id,a.user,a.samples),a.samples=[],a!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var i=[];return g._sweep.call(this,e,i,t),i},g._sweep=function(e,t,i){for(var r in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&i)return;g._sweep.call(this.boxes[r],e,t,i)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var i=this.getTrackById(e);return this.getSample(i,t)},g.prototype.releaseUsedSamples=function(e,t,i){var r=0,s=this.getTrackById(e);s.lastValidSample||(s.lastValidSample=0);for(var a=s.lastValidSample;ae*s.timescale){l=r-1;break}t&&s.is_sync&&(d=r)}for(t&&(l=d),e=i.samples[l].cts,i.nextSample=l;i.samples[l].alreadyRead===i.samples[l].size&&i.samples[l+1];)l++;return a=i.samples[l].offset+i.samples[l].alreadyRead,n.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+i.nextSample+" on track "+i.tkhd.track_id+", time "+n.getDurationString(e,o)+" and offset: "+a),{offset:a,time:e/o}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var i,r,s,a=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(s=0;sthis.getTrackDuration(i)||((r=this.seekTrack(e,t,i)).offset-1){n=d;break}switch(n){case"Visual":if(s.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new o(t.avcDecoderConfigRecord)),a.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new o(t.hevcDecoderConfigRecord)),a.addBox(f)}break;case"Audio":s.add("smhd").set("balance",t.balance||0),a.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":s.add("hmhd");break;case"Subtitle":if(s.add("sthd"),"stpp"===t.type)a.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:s.add("nmhd")}t.description&&a.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){a.addBox(e)})),s.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=s.add("stbl");return p.add("stsd").addEntry(a),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(i),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,i){var r=i||{},s={},a=this.getTrackById(e);if(null!==a){s.number=a.samples.length,s.track_id=a.tkhd.track_id,s.timescale=a.mdia.mdhd.timescale,s.description_index=r.sample_description_index?r.sample_description_index-1:0,s.description=a.mdia.minf.stbl.stsd.entries[s.description_index],s.data=t,s.size=t.byteLength,s.alreadyRead=s.size,s.duration=r.duration||1,s.cts=r.cts||0,s.dts=r.dts||0,s.is_sync=r.is_sync||!1,s.is_leading=r.is_leading||0,s.depends_on=r.depends_on||0,s.is_depended_on=r.is_depended_on||0,s.has_redundancy=r.has_redundancy||0,s.degradation_priority=r.degradation_priority||0,s.offset=0,s.subsamples=r.subsamples,a.samples.push(s),a.samples_size+=s.size,a.samples_duration+=s.duration,void 0===a.first_dts&&(a.first_dts=r.dts),this.processSamples();var n=this.createSingleSampleMoof(s);return this.addBox(n),n.computeSize(),n.trafs[0].truns[0].data_offset=n.size+8,this.add("mdat").data=new Uint8Array(t),s}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var i=new h.moofBox;i.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var r=i.add("traf"),s=this.getTrackById(e.track_id);return r.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),r.add("tfdt").set("baseMediaDecodeTime",e.dts-(s.first_dts||0)),r.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),i},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,i,r,s,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=s[n].grouping_type+"/0",(o=new l(s[n].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=o))}else for(n=0;n=2&&(d=r[n].grouping_type+"/0",o=new l(r[n].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=o))},g.setSampleGroupProperties=function(e,t,i,r){var s,a;for(s in t.sample_groups=[],r){var n;if(t.sample_groups[s]={},t.sample_groups[s].grouping_type=r[s].grouping_type,t.sample_groups[s].grouping_type_parameter=r[s].grouping_type_parameter,i>=r[s].last_sample_in_run&&(r[s].last_sample_in_run<0&&(r[s].last_sample_in_run=0),r[s].entry_index++,r[s].entry_index<=r[s].sbgp.entries.length-1&&(r[s].last_sample_in_run+=r[s].sbgp.entries[r[s].entry_index].sample_count)),r[s].entry_index<=r[s].sbgp.entries.length-1?t.sample_groups[s].group_description_index=r[s].sbgp.entries[r[s].entry_index].group_description_index:t.sample_groups[s].group_description_index=-1,0!==t.sample_groups[s].group_description_index)n=r[s].fragment_description?r[s].fragment_description:r[s].description,t.sample_groups[s].group_description_index>0?(a=t.sample_groups[s].group_description_index>65535?(t.sample_groups[s].group_description_index>>16)-1:t.sample_groups[s].group_description_index-1,n&&a>=0&&(t.sample_groups[s].description=n.entries[a])):n&&n.version>=2&&n.default_group_description_index>0&&(t.sample_groups[s].description=n.entries[n.default_group_description_index-1])}},g.process_sdtp=function(e,t,i){t&&(e?(t.is_leading=e.is_leading[i],t.depends_on=e.sample_depends_on[i],t.is_depended_on=e.sample_is_depended_on[i],t.has_redundancy=e.sample_has_redundancy[i]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;eb&&(v++,b<0&&(b=0),b+=a.sample_counts[v]),t>0?(e.samples[t-1].duration=a.sample_deltas[v],e.samples_duration+=e.samples[t-1].duration,U.dts=e.samples[t-1].dts+e.samples[t-1].duration):U.dts=0,n?(t>=S&&(w++,S<0&&(S=0),S+=n.sample_counts[w]),U.cts=e.samples[t].dts+n.sample_offsets[w]):U.cts=U.dts,o?(t==o.sample_numbers[A]-1?(U.is_sync=!0,A++):(U.is_sync=!1,U.degradation_priority=0),l&&l.entries[B].sample_delta+E==t+1&&(U.subsamples=l.entries[B].subsamples,E+=l.entries[B].sample_delta,B++)):U.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,U,U.number),U.degradation_priority=h?h.priority[t]:0,l&&l.entries[B].sample_delta+E==t&&(U.subsamples=l.entries[B].subsamples,E+=l.entries[B].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,U,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,i,r,s,a,n,o,d,l,c,u,f,p,_;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,m.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+m.sample_composition_time_offset[i]),_=n,m.flags&h.TRUN_FLAGS_FLAGS?_=m.sample_flags[i]:0===i&&m.flags&h.TRUN_FLAGS_FIRST_FLAG&&(_=m.first_sample_flags),p.is_sync=!(_>>16&1),p.is_leading=_>>26&3,p.depends_on=_>>24&3,p.is_depended_on=_>>22&3,p.has_redundancy=_>>20&3,p.degradation_priority=65535&_;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),b=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),v=!!(m.flags&h.TRUN_FLAGS_DATA_OFFSET),S=0;S=y?c.tfhd.base_data_offset:b||0===t?l.start:o,p.offset=0===t&&0===i?v?S+m.data_offset:S:o,o=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var w=c.first_sample_index;for(t=0;t-1))return null;var a=(i=this.stream.buffers[s]).byteLength-(r.offset+r.alreadyRead-i.fileStart);if(r.size-r.alreadyRead<=a)return n.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-i.fileStart)+" read size: "+(r.size-r.alreadyRead)+" full size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,i,r.offset+r.alreadyRead-i.fileStart,r.size-r.alreadyRead),i.usedBytes+=r.size-r.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead=r.size,r;if(0===a)return null;n.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-i.fileStart)+" read size: "+a+" full size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,i,r.offset+r.alreadyRead-i.fileStart,a),r.alreadyRead+=a,i.usedBytes+=a,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var i=e.samples[t];return i.data?(this.samplesDataSize-=i.size,i.data=null,i.description=null,delete i.degradation_priority,delete i.depends_on,delete i.description_index,delete i.has_redundancy,delete i.is_depended_on,delete i.is_leading,delete i.is_sync,delete i.moof_number,delete i.number_in_traf,delete i.timescale,delete i.cts,delete i.dts,delete i.offset,delete i.size,delete i.track_id,delete i.duration,i.alreadyRead=0,i.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(i.protection=a.ipro.protections[a.iinf.item_infos[e].protection_index-1]),a.iinf.item_infos[e].item_type?i.type=a.iinf.item_infos[e].item_type:i.type="mime",i.content_type=a.iinf.item_infos[e].content_type,i.content_encoding=a.iinf.item_infos[e].content_encoding;if(a.grpl)for(e=0;e0&&h.property_index-1-1))return null;var o=(t=this.stream.buffers[a]).byteLength-(s.offset+s.alreadyRead-t.fileStart);if(!(s.length-s.alreadyRead<=o))return n.debug("ISOFile","Getting item #"+e+" extent #"+r+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-t.fileStart)+" read size: "+o+" full extent size: "+s.length+" full item size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,t,s.offset+s.alreadyRead-t.fileStart,o),s.alreadyRead+=o,i.alreadyRead+=o,t.usedBytes+=o,this.stream.logBufferLevel(),null;n.debug("ISOFile","Getting item #"+e+" extent #"+r+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-t.fileStart)+" read size: "+(s.length-s.alreadyRead)+" full extent size: "+s.length+" full item size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,t,s.offset+s.alreadyRead-t.fileStart,s.length-s.alreadyRead),t.usedBytes+=s.length-s.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead+=s.length-s.alreadyRead,s.alreadyRead=s.length}}return i.alreadyRead===i.size?i:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var i=0;i0?this.moov.traks[e].samples[0].duration:0),t.push(r)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var i=void 0===e||e,r=new g(t);return r.discardMdatData=!i,r}};t.createFile=y.createFile}));function Hr(){for(var e=arguments.length,t=new Array(e),i=0;i{const i=new r((0|e.byteLength)+(0|t.byteLength));return i.set(e,0),i.set(t,0|e.byteLength),i}),new r)}Or.Log,Or.MP4BoxStream,Or.DataStream,Or.MultiBufferStream,Or.MPEG4DescriptorParser,Or.BoxParser,Or.XMLSubtitlein4Parser,Or.Textin4Parser,Or.ISOFile,Or.createFile;const Vr=16,$r=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Wr=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Yr(e){const t=[];for(let i=0,r=e.length;i1===(e=e.toString(16)).length?"0"+e:e)).join("")}function jr(e){const t=[];for(let i=0,r=e.length;i>>6),t.push(128|63&r);else if(r<=55295||r>=57344&&r<=65535)t.push(224|r>>>12),t.push(128|r>>>6&63),t.push(128|63&r);else{if(!(r>=65536&&r<=1114111))throw t.push(r),new Error("input is not supported");i++,t.push(240|r>>>18&28),t.push(128|r>>>12&63),t.push(128|r>>>6&63),t.push(128|63&r)}}return t}function Kr(e){const t=[];for(let i=0,r=e.length;i=240&&e[i]<=247?(t.push(String.fromCodePoint(((7&e[i])<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]))),i+=3):e[i]>=224&&e[i]<=239?(t.push(String.fromCodePoint(((15&e[i])<<12)+((63&e[i+1])<<6)+(63&e[i+2]))),i+=2):e[i]>=192&&e[i]<=223?(t.push(String.fromCodePoint(((31&e[i])<<6)+(63&e[i+1]))),i++):t.push(String.fromCodePoint(e[i]));return t.join("")}function Xr(e,t){const i=31&t;return e<>>32-i}function Zr(e){return(255&$r[e>>>24&255])<<24|(255&$r[e>>>16&255])<<16|(255&$r[e>>>8&255])<<8|255&$r[255&e]}function Jr(e){return e^Xr(e,2)^Xr(e,10)^Xr(e,18)^Xr(e,24)}function Qr(e){return e^Xr(e,13)^Xr(e,23)}function es(e,t,i){const r=new Array(4),s=new Array(4);for(let t=0;t<4;t++)s[0]=255&e[4*t],s[1]=255&e[4*t+1],s[2]=255&e[4*t+2],s[3]=255&e[4*t+3],r[t]=s[0]<<24|s[1]<<16|s[2]<<8|s[3];for(let e,t=0;t<32;t+=4)e=r[1]^r[2]^r[3]^i[t+0],r[0]^=Jr(Zr(e)),e=r[2]^r[3]^r[0]^i[t+1],r[1]^=Jr(Zr(e)),e=r[3]^r[0]^r[1]^i[t+2],r[2]^=Jr(Zr(e)),e=r[0]^r[1]^r[2]^i[t+3],r[3]^=Jr(Zr(e));for(let e=0;e<16;e+=4)t[e]=r[3-e/4]>>>24&255,t[e+1]=r[3-e/4]>>>16&255,t[e+2]=r[3-e/4]>>>8&255,t[e+3]=255&r[3-e/4]}function ts(e,t,i){const r=new Array(4),s=new Array(4);for(let t=0;t<4;t++)s[0]=255&e[0+4*t],s[1]=255&e[1+4*t],s[2]=255&e[2+4*t],s[3]=255&e[3+4*t],r[t]=s[0]<<24|s[1]<<16|s[2]<<8|s[3];r[0]^=2746333894,r[1]^=1453994832,r[2]^=1736282519,r[3]^=2993693404;for(let e,i=0;i<32;i+=4)e=r[1]^r[2]^r[3]^Wr[i+0],t[i+0]=r[0]^=Qr(Zr(e)),e=r[2]^r[3]^r[0]^Wr[i+1],t[i+1]=r[1]^=Qr(Zr(e)),e=r[3]^r[0]^r[1]^Wr[i+2],t[i+2]=r[2]^=Qr(Zr(e)),e=r[0]^r[1]^r[2]^Wr[i+3],t[i+3]=r[3]^=Qr(Zr(e));if(0===i)for(let e,i=0;i<16;i++)e=t[i],t[i]=t[31-i],t[31-i]=e}function is(e,t,i){let{padding:r="pkcs#7",mode:s,iv:a=[],output:n="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===s&&("string"==typeof a&&(a=Yr(a)),16!==a.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Yr(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==i?jr(e):Yr(e):[...e],("pkcs#5"===r||"pkcs#7"===r)&&0!==i){const t=Vr-e.length%Vr;for(let i=0;i=Vr;){const t=e.slice(u,u+16),r=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let a=new Uint8Array(e.slice(0,5)),n=5;for(;ns){const t=new Uint8Array(a.length+e.length-n);t.set(a,0),t.set(e.slice(n),a.length),a=t;break}let l=e[n+4],c=!1,u=2;if(i?(r&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const i=is(e.slice(n+4+u,n+4+d),t,0,{padding:"none",output:"array"});let r=i[i.length-1];if(r>0&&r<16){let e=!0;for(let t=1;t<=r;t++)if(i[i.length-t]!==r){e=!1;break}e&&i.splice(i.length-r,r)}const s=new Uint8Array(u);s.set(e.slice(n+4,n+4+u),0);const o=ii(Hr(s,new Uint8Array(i))),l=new Uint8Array(a.length+o.length);l.set(a,0),l.set(o,a.length),a=l}else{const t=e.slice(n+4,n+4+d),i=new Uint8Array(a.length+4+t.length);i.set(a,0),i.set(o,a.length),i.set(t,a.length+4),a=i}n=n+4+d}return a}const as={init:0,findFirstStartCode:1,findSecondStartCode:2};class ns extends class{on(e,t,i){const r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){const r=this;function s(){r.off(e,s);for(var a=arguments.length,n=new Array(a),o=0;o1?i-1:0),s=1;s{delete i[e]})),void delete this.e;const r=i[e],s=[];if(r&&t)for(let e=0,i=r.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=as.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==as.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=as.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==as.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=as.findFirstStartCode}}}}function os(e,t,i){for(let r=2;r3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let a=5;for(;as)break;let o=e[a+4],d=!1;if(r?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const r=os(e.slice(a+4,a+4+n),t,i);e.set(r,a+4)}a=a+4+n}return e}function cs(){for(var e=arguments.length,t=new Array(e),i=0;ie+t.byteLength),0));let s=0;return t.forEach((e=>{r.set(e,s),s+=e.byteLength})),r}class us{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,i,r)));e.addEventListener(t,i,r);const s=()=>{ci(e.removeEventListener)&&e.removeEventListener(t,i,r)};return this.destroys.push(s),s}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class hs{static init(){hs.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in hs.types)hs.types.hasOwnProperty(e)&&(hs.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=hs.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,r=Array.prototype.slice.call(arguments,1),s=r.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return hs.box(hs.types.trak,hs.tkhd(e),hs.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,r=e.presentWidth,s=e.presentHeight;return hs.box(hs.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,s>>>8&255,255&s,0,0]))}static mdia(e){return hs.box(hs.types.mdia,hs.mdhd(e),hs.hdlr(e),hs.minf(e))}static mdhd(e){let t=e.timescale,i=e.duration;return hs.box(hs.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?hs.constants.HDLR_AUDIO:hs.constants.HDLR_VIDEO,hs.box(hs.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?hs.box(hs.types.smhd,hs.constants.SMHD):hs.box(hs.types.vmhd,hs.constants.VMHD),hs.box(hs.types.minf,t,hs.dinf(),hs.stbl(e))}static dinf(){return hs.box(hs.types.dinf,hs.box(hs.types.dref,hs.constants.DREF))}static stbl(e){return hs.box(hs.types.stbl,hs.stsd(e),hs.box(hs.types.stts,hs.constants.STTS),hs.box(hs.types.stsc,hs.constants.STSC),hs.box(hs.types.stsz,hs.constants.STSZ),hs.box(hs.types.stco,hs.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?hs.box(hs.types.stsd,hs.constants.STSD_PREFIX,hs.mp3(e)):hs.box(hs.types.stsd,hs.constants.STSD_PREFIX,hs.mp4a(e)):"avc"===e.videoType?hs.box(hs.types.stsd,hs.constants.STSD_PREFIX,hs.avc1(e)):hs.box(hs.types.stsd,hs.constants.STSD_PREFIX,hs.hvc1(e))}static mp3(e){let t=e.channelCount,i=e.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return hs.box(hs.types[".mp3"],r)}static mp4a(e){let t=e.channelCount,i=e.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return hs.box(hs.types.mp4a,r,hs.esds(e))}static esds(e){let t=e.config||[],i=t.length,r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return hs.box(hs.types.esds,r)}static avc1(e){let t=e.avcc;const i=e.codecWidth,r=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return hs.box(hs.types.avc1,s,hs.box(hs.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,r=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return hs.box(hs.types.hvc1,s,hs.box(hs.types.hvcC,t))}static mvex(e){return hs.box(hs.types.mvex,hs.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return hs.box(hs.types.trex,i)}static moof(e,t){return hs.box(hs.types.moof,hs.mfhd(e.sequenceNumber),hs.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return hs.box(hs.types.mfhd,t)}static traf(e,t){let i=e.id,r=hs.box(hs.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=hs.box(hs.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=hs.sdtp(e),n=hs.trun(e,a.byteLength+16+16+8+16+8+8);return hs.box(hs.types.traf,r,s,n,a)}static sdtp(e){let t=new Uint8Array(5),i=e.flags;return t[4]=i.isLeading<<6|i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy,hs.box(hs.types.sdtp,t)}static trun(e,t){let i=new Uint8Array(28);t+=36,i.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let r=e.duration,s=e.size,a=e.flags,n=e.cts;return i.set([r>>>24&255,r>>>16&255,r>>>8&255,255&r,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a.isLeading<<2|a.dependsOn,a.isDependedOn<<6|a.hasRedundancy<<4|a.isNonSync,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n],12),hs.box(hs.types.trun,i)}static mdat(e){return hs.box(hs.types.mdat,e)}}hs.init();var fs,ps=Ot((function(e){e.exports=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(fs=ps)&&fs.__esModule&&Object.prototype.hasOwnProperty.call(fs,"default")&&fs.default;const _s=[44100,48e3,32e3,0],ms=[22050,24e3,16e3,0],gs=[11025,12e3,8e3,0],ys=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],bs=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],vs=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Ss(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),i=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let r=t[1]>>>3&3,s=(6&t[1])>>1,a=(240&t[2])>>>4,n=(12&t[2])>>>2,o=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(r){case 0:d=gs[n];break;case 2:d=ms[n];break;case 3:d=_s[n]}switch(s){case 1:a=e[s]&&t=6?(r=5,t=new Array(4),n=s-3):(r=2,t=new Array(2),n=s):-1!==o.indexOf("android")?(r=2,t=new Array(2),n=s):(r=5,n=s,t=new Array(4),s>=6?n=s-3:1===a&&(r=2,t=new Array(2),n=s)),t[0]=r<<3,t[0]|=(15&s)>>>1,t[1]=(15&s)<<7,t[1]|=(15&a)<<3,5===r&&(t[1]|=(15&n)>>>1,t[2]=(1&n)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=Ms[s],this.sampling_index=s,this.channel_count=a,this.object_type=r,this.original_object_type=i,this.codec_mimetype="mp4a.40."+r,this.original_codec_mimetype="mp4a.40."+i}}class Ns{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>r,a=8-r;if(a>=e)return i&&(this.index+=e),s>>a-e;{i&&(this.index+=a);const r=e-a;return s<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function Gs(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const Os=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Hs=new Array(2746333894,1453994832,1736282519,2993693404),Vs=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function $s(e,t,i,r,s){var a=s;a=t+s>e.length&&r+s<=i.length?e.length-t:r+s>i.length&&t+s<=e.length?i.length-r:t+s<=e.length&&r+s<=i.length?s:i.length>24&255,e>>16&255,e>>8&255,255&e)}function Ys(e,t){return t+3>>19)^(r<<23|r>>>9)}function Ks(e,t){var i=new Array(36);i[0]=Ys(t,0),i[1]=Ys(t,4),i[2]=Ys(t,8),i[3]=Ys(t,12);for(var r=0;r<32;r++)i[r+4]=i[r]^Xs(i[r+1]^i[r+2]^i[r+3]^e[r]);var s=new Array(4);for(r=35;r>=32;r--)s[35-r]=i[r];var a=function(e){for(var t=new Array(4*e.length),i=0;i>>30)^(r<<10|r>>>22)^(r<<18|r>>>14)^(r<<24|r>>>8)}function Zs(e,t,i){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==i||null==i||i.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var r=qs(e),s=Math.ceil(i.length/16),a=new Array(i.length),n=t.slice(),o=0;o3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),i=new Uint8Array(i);const a=e.byteLength;let n=5;for(;na)break;let d=e[n+4],l=!1,c=2;if(r?(s&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const r=Zs(t,i,e.slice(n+4+c,n+4+o));e.set(r,n+4+c)}n=n+4+o}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]'),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=[],a=[],n=null,o=null,d=null,l=null,c=null,v=null,S=!1,E=null,ve=null,Se=!1,We=!1,Ze=!!yi(i),Je=0,et=0,it=!1,ct=null,At=null,Bt=null,xt=[],Nt=null,Gt=null,Ot=0,Ht=0,Vt=null,$t=null,Kt=0,Qt=0,ni=!1,wi=!1,Ai=!1,Bi=null,Ei=null,ki=!1,Hi=!0,Vi=0,qi=0,sr=()=>{const e=mi();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(n={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){n.decoder=new VideoDecoder({output:function(e){if(ci(e.createImageBitmap))e.createImageBitmap().then((t=>{n.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let i=n.offscreenCanvas.transferToImageBitmap();postMessage({cmd:T,buffer:i,delay:ur.delay,ts:0},[i]),fi(e)}));else{n.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=n.offscreenCanvas.transferToImageBitmap();postMessage({cmd:T,buffer:t,delay:ur.delay,ts:0},[t]),fi(e)}},error:function(e){ur.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ur.debugLog(n.TAG_NAME,"init")},destroy(){n.reset(),n.decoder&&"closed"!==n.decoder.state&&(n.decoder.close(),n.decoder=null),ur.debugLog(n.TAG_NAME,"destroy")},decode:function(e,t,i){const r=e[0]>>4==1;if(n.hasInit){const i=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:r?ft:pt});n.decoder.decode(i)}else if(r&&0===e[1]){const t=15&e[0];postMessage({cmd:F,code:t});const i=new Uint8Array(e);postMessage({cmd:P,buffer:i,codecId:t},[i.buffer]);let r=null,s=null;const a=e.slice(5);t===Fe?(s=Ci(a),r={codec:s.codec,description:a}):t===Pe&&(s=Yi(a),r={codec:s.codec,description:a}),s&&s.codecWidth&&s.codecHeight&&(r.codedHeight=s.codecHeight,r.codedWidth=s.codecWidth),n.isEmitInfo||(ur.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:x,w:s.codecWidth,h:s.codecHeight}),n.isEmitInfo=!0,n.offscreenCanvas=new OffscreenCanvas(s.codecWidth,s.codecHeight),n.offscreenCanvasCtx=n.offscreenCanvas.getContext("2d"));try{n.decoder.configure(r),n.hasInit=!0}catch(e){ur.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ur.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`)},reset(){n.hasInit=!1,n.isEmitInfo=!1,n.offscreenCanvas=null,n.offscreenCanvasCtx=null}});let ar=function(){if(ki=!0,o)try{o.abort(),o=null,ur.debugLog("worker","abort success")}catch(e){o=null,ur.debugLog("worker","abort catch",e)}},nr={TAG_NAME:"worker nakedFlow",init(){nr.lastBuf=null,nr.vps=null,nr.sps=null,nr.pps=null,nr.streamType=null,nr.localDts=0,nr.pendingUnits={},nr.isSendSeqHeader=!1,ur.debugLog(nr.TAG_NAME,"init")},destroy(){nr.lastBuf=null,nr.vps=null,nr.sps=null,nr.pps=null,nr.streamType=null,nr.localDts=0,nr.pendingUnits={},nr.isSendSeqHeader=!1,ur.debugLog(nr.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ur._opt.nakedFlowDemuxUseNew){const e=nr.extractNALu$3(t);if(0===e.length)return void ur.debugLog(nr.TAG_NAME,"dispatch naluArray length is 0");nr.handleVideoFrames(e)}else nr.extractNALu$2(t)},getNaluDts(){const e=ur._opt.nakedFlowFps;let t=nr.localDts;return nr.localDts=nr.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ur._opt.sampleRate,t=ur._opt.audioBufferSize;return nr.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,i,r=0,s=e.byteLength,a=0,n=[];for(;r1)for(let e=0;e{const t=Pi(e);t===$e||t===Ve?nr.handleVideoH264Nalu(e):zi(t)&&r.push(e)})),1===r.length)nr.handleVideoH264Nalu(r[0]);else{if(Ni(r)){const e=Pi(r[0]),t=Ri(e);nr.handleVideoH264NaluList(r,t,e)}else r.forEach((e=>{nr.handleVideoH264Nalu(e)}))}}else if(nr.streamType===Re)if(ur._opt.nakedFlowH265DemuxUseNew){const t=nr.handleAddNaluStartCode(e),i=nr.extractNALu(t);if(0===i.length)return void ur.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const r=[];if(i.forEach((e=>{const t=Zi(e);t===dt||t===nt||t===st?nr.handleVideoH265Nalu(e):Qi(t)&&r.push(e)})),1===r.length)nr.handleVideoH265Nalu(r[0]);else{if(tr(r)){const e=Zi(r[0]),t=er(e);nr.handleVideoH265NaluList(r,t,e)}else r.forEach((e=>{nr.handleVideoH265Nalu(e)}))}}else{Zi(e)===dt?nr.extractH265PPS(e):nr.handleVideoH265Nalu(e)}},extractH264PPS(e){const t=nr.handleAddNaluStartCode(e);nr.extractNALu(t).forEach((e=>{Mi(Pi(e))?nr.extractH264SEI(e):nr.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=nr.handleAddNaluStartCode(e);nr.extractNALu(t).forEach((e=>{Ji(Zi(e))?nr.extractH265SEI(e):nr.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=nr.handleAddNaluStartCode(e);nr.extractNALu(t).forEach((e=>{nr.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=nr.handleAddNaluStartCode(e);nr.extractNALu(t).forEach((e=>{nr.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],i=new Uint8Array(e.length+t.length);return i.set(t),i.set(e,t.length),i},handleVideoH264Nalu(e){const t=Pi(e);switch(t){case Ve:nr.sps=e;break;case $e:nr.pps=e}if(nr.isSendSeqHeader){if(nr.sps&&nr.pps){const e=Li({sps:nr.sps,pps:nr.pps}),t=nr.localDts;ur.decode(e,{type:ae,ts:t,isIFrame:!0,cts:0}),nr.sps=null,nr.pps=null}if(zi(t)){const i=Ri(t),r=nr.getNaluDts(),s=Ii(e,i);nr.doDecode(s,{type:ae,ts:r,isIFrame:i,cts:0})}}else if(nr.sps&&nr.pps){nr.isSendSeqHeader=!0;const e=Li({sps:nr.sps,pps:nr.pps});ur.decode(e,{type:ae,ts:0,isIFrame:!0,cts:0}),nr.sps=null,nr.pps=null}},handleVideoH264NaluList(e,t,i){if(nr.isSendSeqHeader){const r=nr.getNaluDts(),s=Fi(e.reduce(((e,t)=>{const i=ii(e),r=ii(t),s=new Uint8Array(i.byteLength+r.byteLength);return s.set(i,0),s.set(r,i.byteLength),s})),t);nr.doDecode(s,{type:ae,ts:r,isIFrame:t,cts:0}),ur.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${s.byteLength} isIFrame is ${t},nalu type is ${i}, dts is ${r}`)}},handleVideoH265Nalu(e){const t=Zi(e);switch(t){case st:nr.vps=e;break;case nt:nr.sps=e;break;case dt:nr.pps=e}if(nr.isSendSeqHeader){if(nr.vps&&nr.sps&&nr.pps){const e=ji({vps:nr.vps,sps:nr.sps,pps:nr.pps}),t=nr.localDts;ur.decode(e,{type:ae,ts:t,isIFrame:!0,cts:0}),nr.vps=null,nr.sps=null,nr.pps=null}if(Qi(t)){const i=er(t),r=nr.getNaluDts(),s=Ki(e,i);nr.doDecode(s,{type:ae,ts:r,isIFrame:i,cts:0})}}else if(nr.vps&&nr.sps&&nr.pps){nr.isSendSeqHeader=!0;const e=ji({vps:nr.vps,sps:nr.sps,pps:nr.pps});ur.decode(e,{type:ae,ts:0,isIFrame:!0,cts:0}),nr.vps=null,nr.sps=null,nr.pps=null}},handleVideoH265NaluList(e,t,i){if(nr.isSendSeqHeader){const r=nr.getNaluDts(),s=Xi(e.reduce(((e,t)=>{const i=ii(e),r=ii(t),s=new Uint8Array(i.byteLength+r.byteLength);return s.set(i,0),s.set(r,i.byteLength),s})),t);nr.doDecode(s,{type:ae,ts:r,isIFrame:t,cts:0}),ur.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${s.byteLength} isIFrame is ${t},nalu type is ${i}, dts is ${r}`)}},doDecode(e,t){ur.calcNetworkDelay(t.ts),t.isIFrame&&ur.calcIframeIntervalTimestamp(t.ts),ur.decode(e,t)},handleVideoFrames(e){if(!nr.streamVideoType)for(let t of e)if(nr.streamVideoType=ui(t),nr.streamVideoType)break;nr.streamVideoType?nr.streamVideoType===ze?nr.handleVideoH264Frames(e):nr.streamVideoType===Re&&nr.handleVideoH265Frames(e):ur.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],i=[],r=!1,s=!1;nr.pendingUnits.units&&(t=nr.pendingUnits.units,s=nr.pendingUnits.vcl,r=nr.pendingUnits.iFrame,nr.pendingUnits={});let a={};for(let n of e){if(n.byteLength<4)continue;const e=Pi(n);let o=!1,d=e===qe;e!==Ye&&e!==qe||(a=nr.parseVideo264Header(n),o=!0),t.length&&s&&(a.isfms||!o)&&(i.push({units:t,isIFrame:r}),t=[],r=!1,s=!1),t.push(n),r=r||d,s=s||o}t.length&&(nr.pendingUnits={units:t,vcl:s,iFrame:r}),i.forEach((e=>{const t=e.units,i=e.isIFrame;let r=null,s=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case $e:nr.pps=e;break;case Ve:nr.sps=e;break;case je:s=e}if(zi(t)){const t=ii(e);if(r){const e=new Uint8Array(r.byteLength+t.byteLength);e.set(r,0),e.set(t,r.byteLength),r=e}else r=t}})),!nr.isSendSeqHeader&&nr.sps&&nr.pps){nr.isSendSeqHeader=!0;const e=Di({sps:nr.sps,pps:nr.pps});ur.decode(e,{type:ae,ts:0,isIFrame:!0,cts:0}),nr.sps=null,nr.pps=null}if(nr.isSendSeqHeader){if(nr.sps&&nr.pps){const e=Di({sps:nr.sps,pps:nr.pps}),t=nr.localDts;ur.decode(e,{type:ae,ts:t,isIFrame:!0,cts:0}),nr.sps=null,nr.pps=null}if(r){const e=nr.getNaluDts(),t=Fi(r,i);if(ur._opt.isEmitSEI&&s){const t=ti(s,!1);postMessage({cmd:K,buffer:t.payload,ts:e},[t.payload.buffer])}nr.doDecode(t,{type:ae,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(e){let t=[],i=[],r=!1,s=!1;nr.pendingUnits.units&&(t=nr.pendingUnits.units,s=nr.pendingUnits.vcl,r=nr.pendingUnits.iFrame,nr.pendingUnits={});let a={};for(let n of e){if(n.byteLength<4)continue;const e=Zi(n);let o=!1,d=er(e);Qi(e)&&(a=nr.parseVideo265Header(n),o=!0),t.length&&s&&(a.isfms||!o)&&(i.push({units:t,isIFrame:r}),t=[],r=!1,s=!1),t.push(n),r=r||d,s=s||o}t.length&&(nr.pendingUnits={units:t,vcl:s,iFrame:r}),i.forEach((e=>{const t=e.units,i=e.isIFrame;let r=null,s=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case dt:nr.pps=e;break;case nt:nr.sps=e;break;case st:nr.vps=e;break;case ht:case ut:s=e}if(Qi(t)){const t=ii(e);if(r){const e=new Uint8Array(r.byteLength+t.byteLength);e.set(r,0),e.set(t,r.byteLength),r=e}else r=t}})),!nr.isSendSeqHeader&&nr.sps&&nr.pps&&nr.vps){nr.isSendSeqHeader=!0;const e=ji({sps:nr.sps,pps:nr.pps,vps:nr.vps});ur.decode(e,{type:ae,ts:0,isIFrame:!0,cts:0}),nr.sps=null,nr.pps=null,nr.vps=null}if(nr.isSendSeqHeader){if(nr.sps&&nr.pps&&nr.vps){const e=ji({sps:nr.sps,pps:nr.pps,vps:nr.vps}),t=nr.localDts;ur.decode(e,{type:ae,ts:t,isIFrame:!0,cts:0}),nr.sps=null,nr.pps=null,nr.vps=null}if(r){const e=nr.getNaluDts(),t=Xi(r,i);if(ur._opt.isEmitSEI&&s){const t=ti(s,!0);postMessage({cmd:K,buffer:t.payload,ts:e},[t.payload.buffer])}nr.doDecode(t,{type:ae,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{nr.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Ns(e);t.readUByte();return{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Ns(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},or={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){or.mp4Box=Or.createFile(),or.mp4Box.onReady=or.onReady,or.mp4Box.onError=or.onError,or.mp4Box.onSamples=or.onSamples,ur.debugLog(or.LOG_NAME,"init")},destroy(){or.mp4Box&&(or.mp4Box.stop(),or.mp4Box.flush(),or.mp4Box.destroy(),or.mp4Box=null),or.offset=0,or.videoTrackId=null,or.audioTrackId=null,or.isHevc=!1,ur.debugLog(or.LOG_NAME,"destroy")},_getSeqHeader(e){const t=or.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Or.DataStream(void 0,0,Or.DataStream.BIG_ENDIAN);let i=[];e.avcC?(e.avcC.write(t),i=[23,0,0,0,0]):(or.isHevc=!0,ur.isHevc=!0,e.hvcC.write(t),i=[28,0,0,0,0]);const r=new Uint8Array(t.buffer,8),s=new Uint8Array(i.length+r.length);return s.set(i,0),s.set(r,i.length),s}return null},onReady(e){ur.debugLog(or.LOG_NAME,"onReady()");const t=e.videoTracks[0],i=e.audioTracks[0];if(t){or.videoTrackId=t.id;const e=or._getSeqHeader(t);e&&(ur.debugLog(or.LOG_NAME,"seqHeader"),ur.decodeVideo(e,0,!0,0)),or.mp4Box.setExtractionOptions(t.id)}if(i&&ur._opt.hasAudio){or.audioTrackId=i.id;const e=i.audio||{},t=Wt.indexOf(e.sample_rate),r=i.codec.replace("mp4a.40.","");or.mp4Box.setExtractionOptions(i.id);const s=Yt({profile:parseInt(r,10),sampleRate:t,channel:e.channel_count});ur.debugLog(or.LOG_NAME,"aacADTSHeader"),ur.decodeAudio(s,0)}or.mp4Box.start()},onError(e){ur.debugError(or.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,i){if(e===or.videoTrackId){for(const e of i){const t=e.data,i=e.is_sync,r=1e3*e.cts/e.timescale;e.duration,e.timescale,i&&ur.calcIframeIntervalTimestamp(r);let s=null;s=or.isHevc?Xi(t,i):Fi(t,i),ur.decode(s,{type:ae,ts:r,isIFrame:i,cts:0})}or.mp4Box.removeUsedSamples(e)}else if(e===or.audioTrackId){if(ur._opt.hasAudio){for(const e of i){const t=e.data,i=1e3*e.cts/e.timescale;e.duration,e.timescale;const r=new Uint8Array(t.byteLength+2);r.set([175,1],0),r.set(t,2),ur.decode(r,{type:se,ts:i,isIFrame:!1,cts:0})}or.mp4Box.removeUsedSamples(e)}}else ur.debugWarn(or.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=or.offset,or.offset+=t.byteLength,or.mp4Box.appendBuffer(t.buffer)}},dr={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);dr.extractNALu(t)},destroy(){dr.lastBuffer=new Uint8Array(0),dr.parsedOffset=0,dr.firstStartCodeOffset=0,dr.secondStartCodeOffset=0,dr.state="init",dr.hasInitVideoCodec=!1,dr.localDts=0,ur.debugLog(dr.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ur.debugWarn(dr.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(dr.lastBuffer.length+e.length);for(t.set(dr.lastBuffer,0),t.set(new Uint8Array(e),dr.lastBuffer.length),dr.lastBuffer=t;;){if("init"===dr.state){let e=!1;for(;dr.lastBuffer.length-dr.parsedOffset>=4;)if(0===dr.lastBuffer[dr.parsedOffset])if(0===dr.lastBuffer[dr.parsedOffset+1])if(1===dr.lastBuffer[dr.parsedOffset+2]){if(182===dr.lastBuffer[dr.parsedOffset+3]){dr.state="findFirstStartCode",dr.firstStartCodeOffset=dr.parsedOffset,dr.parsedOffset+=4,e=!0;break}dr.parsedOffset++}else dr.parsedOffset++;else dr.parsedOffset++;else dr.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===dr.state){let e=!1;for(;dr.lastBuffer.length-dr.parsedOffset>=4;)if(0===dr.lastBuffer[dr.parsedOffset])if(0===dr.lastBuffer[dr.parsedOffset+1])if(1===dr.lastBuffer[dr.parsedOffset+2]){if(182===dr.lastBuffer[dr.parsedOffset+3]){dr.state="findSecondStartCode",dr.secondStartCodeOffset=dr.parsedOffset,dr.parsedOffset+=4,e=!0;break}dr.parsedOffset++}else dr.parsedOffset++;else dr.parsedOffset++;else dr.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===dr.state){if(!(dr.lastBuffer.length-dr.parsedOffset>0))break;{let e,t,i=192&dr.lastBuffer[dr.parsedOffset];e=0==i?dr.secondStartCodeOffset-14:dr.secondStartCodeOffset;let r=0==(192&dr.lastBuffer[dr.firstStartCodeOffset+4]);if(r){if(dr.firstStartCodeOffset-14<0)return void ur.debugWarn(dr.LOG_NAME,"firstStartCodeOffset -14 is",dr.firstStartCodeOffset-14);dr.hasInitVideoCodec||(dr.hasInitVideoCodec=!0,ur.debugLog(dr.LOG_NAME,"setCodec"),fr.setCodec(Me,"",ur.getBuildTime())),t=dr.lastBuffer.subarray(dr.firstStartCodeOffset-14,e)}else t=dr.lastBuffer.subarray(dr.firstStartCodeOffset,e);let s=dr.getNaluDts();dr.hasInitVideoCodec?(postMessage({cmd:N,type:Ee,value:t.byteLength}),postMessage({cmd:N,type:Ue,value:s}),Je=s,fr.decode(t,r?1:0,s)):ur.debugWarn(dr.LOG_NAME,"has not init video codec"),dr.lastBuffer=dr.lastBuffer.subarray(e),dr.firstStartCodeOffset=0==i?14:0,dr.parsedOffset=dr.firstStartCodeOffset+4,dr.state="findFirstStartCode"}}}},getNaluDts(){let e=dr.localDts;return dr.localDts=dr.localDts+40,e}},lr={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new zs,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){lr.media_info_=null,lr.pes_slice_queues_=null,lr.section_slice_queues_=null,lr.video_metadata_=null,lr.audio_metadata_=null,lr.aac_last_incomplete_data_=null,lr.video_track_=null,lr.audio_track_=null,lr._remainingPacketData=null,ur.debugLog(lr.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),i=-1,r=188;if(t.byteLength<=3*r)return{needMoreData:!0};for(;-1===i;){let e=Math.min(1e3,t.byteLength-3*r);for(let s=0;s=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:r,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){lr._remainingPacketData&&(e=cs(lr._remainingPacketData,e),lr._remainingPacketData=null);let t=e.buffer;const i=lr.parseChunks(t);i?lr._remainingPacketData=e.subarray(i):e.length>>6;i[1];let a=(31&i[1])<<8|i[2],n=(48&i[3])>>>4,o=15&i[3],d=!(!lr.pmt_||lr.pmt_.pcr_pid!==a),l={},c=4;if(2==n||3==n){let e=i[4];if(e>0&&(d||3==n)){if(l.discontinuity_indicator=(128&i[5])>>>7,l.random_access_indicator=(64&i[5])>>>6,l.elementary_stream_priority_indicator=(32&i[5])>>>5,(16&i[5])>>>4){let e=300*(i[6]<<25|i[7]<<17|i[8]<<9|i[9]<<1|i[10]>>>7)+((1&i[10])<<8|i[11]);lr.last_pcr_=e}}if(2==n||5+e===188){t+=188,204===lr.tsPacketSize&&(t+=16);continue}c=5+e}if(1==n||3==n)if(0===a||a===lr.current_pmt_pid_||null!=lr.pmt_&&lr.pmt_.pid_stream_type[a]===Cs){let i=188-c;lr.handleSectionSlice(e,t+c,i,{pid:a,payload_unit_start_indicator:s,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}else if(null!=lr.pmt_&&null!=lr.pmt_.pid_stream_type[a]){let i=188-c,r=lr.pmt_.pid_stream_type[a];a!==lr.pmt_.common_pids.h264&&a!==lr.pmt_.common_pids.h265&&a!==lr.pmt_.common_pids.adts_aac&&a!==lr.pmt_.common_pids.loas_aac&&a!==lr.pmt_.common_pids.ac3&&a!==lr.pmt_.common_pids.eac3&&a!==lr.pmt_.common_pids.opus&&a!==lr.pmt_.common_pids.mp3&&!0!==lr.pmt_.pes_private_data_pids[a]&&!0!==lr.pmt_.timed_id3_pids[a]&&!0!==lr.pmt_.synchronous_klv_pids[a]&&!0!==lr.pmt_.asynchronous_klv_pids[a]||lr.handlePESSlice(e,t+c,i,{pid:a,stream_type:r,payload_unit_start_indicator:s,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}t+=188,204===lr.tsPacketSize&&(t+=16)}return lr.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,i,r){let s=new Uint8Array(e,t,i),a=lr.section_slice_queues_[r.pid];if(r.payload_unit_start_indicator){let n=s[0];if(null!=a&&0!==a.total_length){let s=new Uint8Array(e,t+1,Math.min(i,n));a.slices.push(s),a.total_length+=s.byteLength,a.total_length===a.expected_length?lr.emitSectionSlices(a,r):lr.clearSlices(a,r)}for(let o=1+n;o=a.expected_length&&lr.clearSlices(a,r),o+=d.byteLength}}else if(null!=a&&0!==a.total_length){let s=new Uint8Array(e,t,Math.min(i,a.expected_length-a.total_length));a.slices.push(s),a.total_length+=s.byteLength,a.total_length===a.expected_length?lr.emitSectionSlices(a,r):a.total_length>=a.expected_length&&lr.clearSlices(a,r)}},handlePESSlice(e,t,i,r){let s=new Uint8Array(e,t,i),a=s[0]<<16|s[1]<<8|s[2];s[3];let n=s[4]<<8|s[5];if(r.payload_unit_start_indicator){if(1!==a)return void ur.debugWarn(lr.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${a}`);let e=lr.pes_slice_queues_[r.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?lr.emitPESSlices(e,r):lr.clearSlices(e,r)),lr.pes_slice_queues_[r.pid]=new Is,lr.pes_slice_queues_[r.pid].random_access_indicator=r.random_access_indicator}if(null==lr.pes_slice_queues_[r.pid])return;let o=lr.pes_slice_queues_[r.pid];o.slices.push(s),r.payload_unit_start_indicator&&(o.expected_length=0===n?0:n+6),o.total_length+=s.byteLength,o.expected_length>0&&o.expected_length===o.total_length?lr.emitPESSlices(o,r):o.expected_length>0&&o.expected_length>>6,o=t[8];2!==n&&3!==n||(i=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,a=3===n?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:i);let d,l=9+o;if(0!==s){if(s<3+o)return void ur.debugWarn(lr.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=s-3-o}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case ws:case As:lr.parseMP3Payload(c,i);break;case Bs:lr.pmt_.common_pids.opus===e.pid||lr.pmt_.common_pids.ac3===e.pid||lr.pmt_.common_pids.eac3===e.pid||(lr.pmt_.asynchronous_klv_pids[e.pid]?lr.parseAsynchronousKLVMetadataPayload(c,e.pid,r):lr.pmt_.smpte2038_pids[e.pid]?lr.parseSMPTE2038MetadataPayload(c,i,a,e.pid,r):lr.parsePESPrivateDataPayload(c,i,a,e.pid,r));break;case Es:lr.parseADTSAACPayload(c,i);break;case Us:lr.parseLOASAACPayload(c,i);break;case xs:case Ts:break;case ks:lr.pmt_.timed_id3_pids[e.pid]?lr.parseTimedID3MetadataPayload(c,i,a,e.pid,r):lr.pmt_.synchronous_klv_pids[e.pid]&&lr.parseSynchronousKLVMetadataPayload(c,i,a,e.pid,r);break;case Ls:lr.parseH264Payload(c,i,a,e.random_access_indicator);break;case Ds:lr.parseH265Payload(c,i,a,e.random_access_indicator)}}else if((188===r||191===r||240===r||241===r||255===r||242===r||248===r)&&e.stream_type===Bs){let i,a=6;i=0!==s?s:t.byteLength-a;let n=t.subarray(a,a+i);lr.parsePESPrivateDataPayload(n,void 0,void 0,e.pid,r)}}else ur.debugError(lr.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${i}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(lr.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let i=(15&e[1])<<8|e[2];e[3],e[4];let r=(62&e[5])>>>1,s=1&e[5],a=e[6];e[7];let n=null;if(1===s&&0===a)n={version_number:0,network_pid:0,program_pmt_pid:{}},n.version_number=r;else if(n=lr.pat_,null==n)return;let o=i-5-4,d=-1,l=-1;for(let t=8;t<8+o;t+=4){let i=e[t]<<8|e[t+1],r=(31&e[t+2])<<8|e[t+3];0===i?n.network_pid=r:(n.program_pmt_pid[i]=r,-1===d&&(d=i),-1===l&&(l=r))}1===s&&0===a&&(null==lr.pat_&&ur.debugLog(lr.TAG_NAME,`Parsed first PAT: ${JSON.stringify(n)}`),lr.pat_=n,lr.current_program_=d,lr.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ur.debugError(lr.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let i,r=(15&e[1])<<8|e[2],s=e[3]<<8|e[4],a=(62&e[5])>>>1,n=1&e[5],o=e[6];if(e[7],1===n&&0===o)i=lr._initPmt(),i.program_number=s,i.version_number=a,lr.program_pmt_map_[s]=i;else if(i=lr.program_pmt_map_[s],null==i)return;i.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=r-9-d-4;for(let t=l;t0){for(let r=t+5;r0)for(let r=t+5;rlr.has_video_&&lr.has_audio_?lr.video_init_segment_dispatched_&&lr.audio_init_segment_dispatched_:lr.has_video_&&!lr.has_audio_?lr.video_init_segment_dispatched_:!(lr.has_video_||!lr.has_audio_)&&lr.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=lr.video_metadata_.details,t={type:"video"};t.id=lr.video_track_.id,t.timescale=1e3,t.duration=lr.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let i=t.frameRate.fps_den,r=t.frameRate.fps_num;if(t.refSampleDuration=i/r*1e3,t.codec=e.codec_mimetype,lr.video_metadata_.vps){ur.isHevc=!0;let e=lr.video_metadata_.vps.data.subarray(4),i=lr.video_metadata_.sps.data.subarray(4),r=lr.video_metadata_.pps.data.subarray(4);t.hvcc=ji({vps:e,sps:i,pps:r}),0==lr.video_init_segment_dispatched_&&ur.debugLog(lr.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ur.decodeVideo(t.hvcc,0,!0,0)}else{let e=lr.video_metadata_.sps.data.subarray(4),i=lr.video_metadata_.pps.data.subarray(4);t.avcc=Di({sps:e,pps:i}),0==lr.video_init_segment_dispatched_&&ur.debugLog(lr.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ur.decodeVideo(t.avcc,0,!0,0)}lr.video_init_segment_dispatched_=!0,lr.video_metadata_changed_=!1;let s=lr.media_info_;s.hasVideo=!0,s.width=t.codecWidth,s.height=t.codecHeight,s.fps=t.frameRate.fps,s.profile=t.profile,s.level=t.level,s.refFrames=e.ref_frames,s.chromaFormat=e.chroma_format_string,s.sarNum=t.sarRatio.width,s.sarDen=t.sarRatio.height,s.videoCodec=t.codec,s.hasAudio&&s.audioCodec?s.mimeType=`video/mp2t; codecs="${s.videoCodec},${s.audioCodec}"`:s.mimeType=`video/mp2t; codecs="${s.videoCodec}"`},dispatchVideoMediaSegment(){lr.isInitSegmentDispatched()&&lr.video_track_.length&&lr._preDoDecode()},dispatchAudioMediaSegment(){lr.isInitSegmentDispatched()&&lr.audio_track_.length&&lr._preDoDecode()},dispatchAudioVideoMediaSegment(){lr.isInitSegmentDispatched()&&(lr.audio_track_.length||lr.video_track_.length)&&lr._preDoDecode()},parseADTSAACPayload(e,t){if(lr.has_video_&&!lr.video_init_segment_dispatched_)return;if(lr.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+lr.aac_last_incomplete_data_.byteLength);t.set(lr.aac_last_incomplete_data_,0),t.set(e,lr.aac_last_incomplete_data_.byteLength),e=t}let i,r;if(null!=t&&(r=t/lr.timescale_),"aac"===lr.audio_metadata_.codec){if(null==t&&null!=lr.audio_last_sample_pts_)i=1024/lr.audio_metadata_.sampling_frequency*1e3,r=lr.audio_last_sample_pts_+i;else if(null==t)return void ur.debugWarn(lr.TAG_NAME,"AAC: Unknown pts");if(lr.aac_last_incomplete_data_&&lr.audio_last_sample_pts_){i=1024/lr.audio_metadata_.sampling_frequency*1e3;let e=lr.audio_last_sample_pts_+i;Math.abs(e-r)>1&&(ur.debugWarn(lr.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${r}ms`),r=e)}}let s,a=new Zt(e),n=null,o=r;for(;null!=(n=a.readNextAACFrame());){i=1024/n.sampling_frequency*1e3;const e={codec:"aac",data:n};0==lr.audio_init_segment_dispatched_?(lr.audio_metadata_={codec:"aac",audio_object_type:n.audio_object_type,sampling_freq_index:n.sampling_freq_index,sampling_frequency:n.sampling_frequency,channel_config:n.channel_config},lr.dispatchAudioInitSegment(e)):lr.detectAudioMetadataChange(e)&&(lr.dispatchAudioMediaSegment(),lr.dispatchAudioInitSegment(e)),s=o;let t=Math.floor(o);const r=new Uint8Array(n.data.length+2);r.set([175,1],0),r.set(n.data,2);let a={payload:r,length:r.byteLength,pts:t,dts:t,type:se};lr.audio_track_.samples.push(a),lr.audio_track_.length+=r.byteLength,o+=i}a.hasIncompleteData()&&(lr.aac_last_incomplete_data_=a.getIncompleteData()),s&&(lr.audio_last_sample_pts_=s)},parseLOASAACPayload(e,t){if(lr.has_video_&&!lr.video_init_segment_dispatched_)return;if(lr.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+lr.aac_last_incomplete_data_.byteLength);t.set(lr.aac_last_incomplete_data_,0),t.set(e,lr.aac_last_incomplete_data_.byteLength),e=t}let i,r;if(null!=t&&(r=t/lr.timescale_),"aac"===lr.audio_metadata_.codec){if(null==t&&null!=lr.audio_last_sample_pts_)i=1024/lr.audio_metadata_.sampling_frequency*1e3,r=lr.audio_last_sample_pts_+i;else if(null==t)return void ur.debugWarn(lr.TAG_NAME,"AAC: Unknown pts");if(lr.aac_last_incomplete_data_&&lr.audio_last_sample_pts_){i=1024/lr.audio_metadata_.sampling_frequency*1e3;let e=lr.audio_last_sample_pts_+i;Math.abs(e-r)>1&&(ur.debugWarn(lr.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${r}ms`),r=e)}}let s,a=new Jt(e),n=null,o=r;for(;null!=(n=a.readNextAACFrame(di(lr.loas_previous_frame)?void 0:lr.loas_previous_frame));){lr.loas_previous_frame=n,i=1024/n.sampling_frequency*1e3;const e={codec:"aac",data:n};0==lr.audio_init_segment_dispatched_?(lr.audio_metadata_={codec:"aac",audio_object_type:n.audio_object_type,sampling_freq_index:n.sampling_freq_index,sampling_frequency:n.sampling_frequency,channel_config:n.channel_config},lr.dispatchAudioInitSegment(e)):lr.detectAudioMetadataChange(e)&&(lr.dispatchAudioMediaSegment(),lr.dispatchAudioInitSegment(e)),s=o;let t=Math.floor(o);const r=new Uint8Array(n.data.length+2);r.set([175,1],0),r.set(n.data,2);let a={payload:r,length:r.byteLength,pts:t,dts:t,type:se};lr.audio_track_.samples.push(a),lr.audio_track_.length+=r.byteLength,o+=i}a.hasIncompleteData()&&(lr.aac_last_incomplete_data_=a.getIncompleteData()),s&&(lr.audio_last_sample_pts_=s)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(lr.has_video_&&!lr.video_init_segment_dispatched_)return;let i=[44100,48e3,32e3,0],r=[22050,24e3,16e3,0],s=[11025,12e3,8e3,0],a=e[1]>>>3&3,n=(6&e[1])>>1;e[2];let o=(12&e[2])>>>2,d=3!==(e[3]>>>6&3)?2:1,l=0,c=34;switch(a){case 0:l=s[o];break;case 2:l=r[o];break;case 3:l=i[o]}switch(n){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==lr.audio_init_segment_dispatched_?(lr.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},lr.dispatchAudioInitSegment(h)):lr.detectAudioMetadataChange(h)&&(lr.dispatchAudioMediaSegment(),lr.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/lr.timescale_,dts:t/lr.timescale_,type:se};lr.audio_track_.samples.push(f),lr.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==lr.audio_metadata_.codec)return ur.debugLog(lr.TAG_NAME,`Audio: Audio Codecs changed from ${lr.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===lr.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==lr.audio_metadata_.audio_object_type)return ur.debugLog(lr.TAG_NAME,`AAC: AudioObjectType changed from ${lr.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==lr.audio_metadata_.sampling_freq_index)return ur.debugLog(lr.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${lr.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==lr.audio_metadata_.channel_config)return ur.debugLog(lr.TAG_NAME,`AAC: Channel configuration changed from ${lr.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===lr.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==lr.audio_metadata_.sampling_frequency)return ur.debugLog(lr.TAG_NAME,`AC3: Sampling Frequency changed from ${lr.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==lr.audio_metadata_.bit_stream_identification)return ur.debugLog(lr.TAG_NAME,`AC3: Bit Stream Identification changed from ${lr.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==lr.audio_metadata_.bit_stream_mode)return ur.debugLog(lr.TAG_NAME,`AC3: BitStream Mode changed from ${lr.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==lr.audio_metadata_.channel_mode)return ur.debugLog(lr.TAG_NAME,`AC3: Channel Mode changed from ${lr.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==lr.audio_metadata_.low_frequency_effects_channel_on)return ur.debugLog(lr.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${lr.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===lr.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==lr.audio_metadata_.sample_rate)return ur.debugLog(lr.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${lr.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==lr.audio_metadata_.channel_count)return ur.debugLog(lr.TAG_NAME,`Opus: Channel count changed from ${lr.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===lr.audio_metadata_.codec){const t=e.data;if(t.object_type!==lr.audio_metadata_.object_type)return ur.debugLog(lr.TAG_NAME,`MP3: AudioObjectType changed from ${lr.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==lr.audio_metadata_.sample_rate)return ur.debugLog(lr.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${lr.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==lr.audio_metadata_.channel_count)return ur.debugLog(lr.TAG_NAME,`MP3: Channel count changed from ${lr.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=lr.audio_track_.id,t.timescale=1e3,t.duration=lr.duration_,"aac"===lr.audio_metadata_.codec){let i="aac"===e.codec?e.data:null,r=new Rs(i);t.audioSampleRate=r.sampling_rate,t.audioSampleRateIndex=r.sampling_index,t.channelCount=r.channel_count,t.codec=r.codec_mimetype,t.originalCodec=r.original_codec_mimetype,t.config=r.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const s=Yt({profile:ur._opt.mseDecodeAudio?r.object_type:r.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ur.decodeAudio(s,0)}else"ac-3"===lr.audio_metadata_.codec||"ec-3"===lr.audio_metadata_.codec||"opus"===lr.audio_metadata_.codec||"mp3"===lr.audio_metadata_.codec&&(t.audioSampleRate=lr.audio_metadata_.sample_rate,t.channelCount=lr.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==lr.audio_init_segment_dispatched_&&ur.debugLog(lr.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),lr.audio_init_segment_dispatched_=!0,lr.video_metadata_changed_=!1;let i=lr.media_info_;i.hasAudio=!0,i.audioCodec=t.originalCodec,i.audioSampleRate=t.audioSampleRate,i.audioChannelCount=t.channelCount,i.hasVideo&&i.videoCodec?i.mimeType=`video/mp2t; codecs="${i.videoCodec},${i.audioCodec}"`:i.mimeType=`video/mp2t; codecs="${i.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,i){},parsePESPrivateDataPayload(e,t,i,r,s){let a=new Ps;if(a.pid=r,a.stream_id=s,a.len=e.byteLength,a.data=e,null!=t){let e=Math.floor(t/lr.timescale_);a.pts=e}else a.nearest_pts=lr.getNearestTimestampMilliseconds();if(null!=i){let e=Math.floor(i/lr.timescale_);a.dts=e}},parseTimedID3MetadataPayload(e,t,i,r,s){ur.debugLog(lr.TAG_NAME,`Timed ID3 Metadata: pid=${r}, pts=${t}, dts=${i}, stream_id=${s}`)},parseSynchronousKLVMetadataPayload(e,t,i,r,s){ur.debugLog(lr.TAG_NAME,`Synchronous KLV Metadata: pid=${r}, pts=${t}, dts=${i}, stream_id=${s}`)},parseAsynchronousKLVMetadataPayload(e,t,i){ur.debugLog(lr.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${i}`)},parseSMPTE2038MetadataPayload(e,t,i,r,s){ur.debugLog(lr.TAG_NAME,`SMPTE 2038 Metadata: pid=${r}, pts=${t}, dts=${i}, stream_id=${s}`)},getNearestTimestampMilliseconds(){if(null!=lr.audio_last_sample_pts_)return Math.floor(lr.audio_last_sample_pts_);if(null!=lr.last_pcr_){return Math.floor(lr.last_pcr_/300/lr.timescale_)}},_preDoDecode(){const e=lr.video_track_,t=lr.audio_track_;let i=e.samples;t.samples.length>0&&(i=e.samples.concat(t.samples),i=i.sort(((e,t)=>e.dts-t.dts))),i.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===ae?lr._doDecodeVideo({...e,payload:t}):e.type===se&&lr._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?Xi(t,e.isIFrame):Fi(t,e.isIFrame),e.isIFrame&&ur.calcIframeIntervalTimestamp(e.dts);let r=ur.cryptoPayload(i,e.isIFrame);ur.decode(r,{type:ae,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let i=t;yi(ur._opt.m7sCryptoAudio)&&(i=ur.cryptoPayloadAudio(t)),ur.decode(i,{type:se,ts:e.dts,isIFrame:!1,cts:0})}},cr=null;vi()&&(cr={TAG_NAME:"worker MediaSource",_resetInIt(){cr.isAvc=null,cr.isAAC=null,cr.videoInfo={},cr.videoMeta={},cr.audioMeta={},cr.sourceBuffer=null,cr.audioSourceBuffer=null,cr.hasInit=!1,cr.hasAudioInit=!1,cr.isAudioInitInfo=!1,cr.videoMimeType="",cr.audioMimeType="",cr.cacheTrack={},cr.cacheAudioTrack={},cr.timeInit=!1,cr.sequenceNumber=0,cr.audioSequenceNumber=0,cr.firstRenderTime=null,cr.firstAudioTime=null,cr.mediaSourceAppendBufferFull=!1,cr.mediaSourceAppendBufferError=!1,cr.mediaSourceAddSourceBufferError=!1,cr.mediaSourceBufferError=!1,cr.mediaSourceError=!1,cr.prevTimestamp=null,cr.decodeDiffTimestamp=null,cr.prevDts=null,cr.prevAudioDts=null,cr.prevPayloadBufferSize=0,cr.isWidthOrHeightChanged=!1,cr.prevTs=null,cr.prevAudioTs=null,cr.eventListenList=[],cr.pendingRemoveRanges=[],cr.pendingSegments=[],cr.pendingAudioRemoveRanges=[],cr.pendingAudioSegments=[],cr.supportVideoFrameCallbackHandle=null,cr.audioSourceBufferCheckTimeout=null,cr.audioSourceNoDataCheckTimeout=null,cr.hasPendingEos=!1,cr.$video={currentTime:0,readyState:0}},init(){cr.events=new us,cr._resetInIt(),cr.mediaSource=new self.MediaSource,cr.isDecodeFirstIIframe=!!bi(ur._opt.checkFirstIFrame),cr._bindMediaSourceEvents(),ur.debugLog(cr.TAG_NAME,"init")},destroy(){cr.stop(),cr._clearAudioSourceBufferCheckTimeout(),cr.eventListenList&&cr.eventListenList.length&&(cr.eventListenList.forEach((e=>e())),cr.eventListenList=[]),cr._resetInIt(),cr.mediaSource=null,ur.debugLog(cr.TAG_NAME,"destroy")},getState:()=>cr.mediaSource&&cr.mediaSource.readyState,isStateOpen:()=>cr.getState()===yt,isStateClosed:()=>cr.getState()===bt,isStateEnded:()=>cr.getState()===gt,_bindMediaSourceEvents(){const{proxy:e}=cr.events,t=e(cr.mediaSource,St,(()=>{ur.debugLog(cr.TAG_NAME,"sourceOpen"),cr._onMediaSourceSourceOpen()})),i=e(cr.mediaSource,vt,(()=>{ur.debugLog(cr.TAG_NAME,"sourceClose")})),r=e(cr.mediaSource,wt,(()=>{ur.debugLog(cr.TAG_NAME,"sourceended")}));cr.eventListenList.push(t,i,r)},_onMediaSourceSourceOpen(){cr.sourceBuffer||(ur.debugLog(cr.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),cr._initSourceBuffer()),cr.audioSourceBuffer||(ur.debugLog(cr.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),cr._initAudioSourceBuffer()),cr._hasPendingSegments()&&cr._doAppendSegments()},decodeVideo(e,t,i,r){if(ur.isDestroyed)ur.debugWarn(cr.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(bi(cr.hasInit))if(i&&e[1]===Ut){const r=15&e[0];if(r===Pe&&bi(ur._opt.supportMSEDecodeHevc))return void cr.emitError(De.mediaSourceH265NotSupport);cr.videoInfo.codec=r,postMessage({cmd:F,code:r});const s=new Uint8Array(e);postMessage({cmd:P,buffer:s,codecId:r},[s.buffer]),cr.hasInit=cr._decodeConfigurationRecord(e,t,i,r)}else ur.debugWarn(cr.TAG_NAME,`decodeVideo has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`);else if(!cr.isDecodeFirstIIframe&&i&&(cr.isDecodeFirstIIframe=!0),cr.isDecodeFirstIIframe){if(i&&0===e[1]){const t=15&e[0];let i={};if(t===Fe){i=Ci(e.slice(5))}else t===Pe&&(i=Wi(e));const r=cr.videoInfo;r&&r.width&&r.height&&i&&i.codecWidth&&i.codecHeight&&(i.codecWidth!==r.width||i.codecHeight!==r.height)&&(ur.debugWarn(cr.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${r.width}, old height is ${r.height},\n new width is ${i.codecWidth}, new height is ${i.codecHeight},\n and emit change event`),cr.isWidthOrHeightChanged=!0,cr.emitError(De.mseWidthOrHeightChange,`width: ${r.width}->${i.codecWidth}, height: ${r.height}->${i.codecHeight}`))}if(cr.isWidthOrHeightChanged)return void ur.debugWarn(cr.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(gi(e))return void ur.debugLog(cr.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthcr.prevTs>0&&ew,_decodeConfigurationRecord(e,t,i,r){let s=e.slice(5),a={};if(r===Fe?a=Ci(s):r===Pe&&(a=Yi(s)),cr.videoInfo.width=a.codecWidth,cr.videoInfo.height=a.codecHeight,0===a.codecWidth&&0===a.codecHeight)return ur.debugWarn(cr.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(a)),cr.emitError(De.mediaSourceDecoderConfigurationError,`width is ${0===a.codecWidth} and height is ${a.codecHeight}`),!1;const n={id:Dt,type:"video",timescale:1e3,duration:0,avcc:s,codecWidth:a.codecWidth,codecHeight:a.codecHeight,videoType:a.videoType},o=hs.generateInitSegment(n);cr.isAvc=r===Fe;let d=a.codec;return cr.videoMimeType=d?`video/mp4; codecs="${a.codec}"`:cr.isAvc?_t:mt,postMessage({cmd:x,w:a.codecWidth,h:a.codecHeight}),cr._initSourceBuffer(),cr.appendBuffer(o.buffer),cr.sequenceNumber=0,cr.cacheTrack={},cr.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const i=e[0]>>4,r=e[0]>>1&1,s=i===He,a=i===Ne;if(bi(a||s))return ur.debugWarn(cr.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${i} ant auto wasm decode`),cr.emitError(De.mediaSourceAudioG711NotSupport),!1;const n={id:It,type:"audio",timescale:1e3};let o={};if(qt(e)){if(o=Xt(e.slice(2)),!o)return!1;n.audioSampleRate=o.sampleRate,n.channelCount=o.channelCount,n.config=o.config,n.refSampleDuration=1024/n.audioSampleRate*n.timescale}else{if(!s)return!1;if(o=Ss(e),!o)return!1;n.audioSampleRate=o.samplingRate,n.channelCount=o.channelCount,n.refSampleDuration=1152/n.audioSampleRate*n.timescale}n.codec=o.codec,n.duration=0;let d="mp4",l=o.codec,c=null;s&&bi(ur._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=hs.generateInitSegment(n);let u=`${n.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),bi(cr.isAudioInitInfo)&&(Ei=i===Ne?r?16:8:0===r?8:16,postMessage({cmd:L,code:i}),postMessage({cmd:C,sampleRate:n.audioSampleRate,channels:n.channelCount,depth:Ei}),cr.isAudioInitInfo=!0),cr.audioMimeType=u,cr.isAAC=a,cr._initAudioSourceBuffer(),cr.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=cr.events;if(null===cr.sourceBuffer&&null!==cr.mediaSource&&cr.isStateOpen()&&cr.videoMimeType){try{ur.debugLog(cr.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",cr.videoMimeType),cr.sourceBuffer=cr.mediaSource.addSourceBuffer(cr.videoMimeType)}catch(e){return ur.debugError(cr.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),cr.emitError(De.mseWorkerAddSourceBufferError,e.code),void(cr.mediaSourceAddSourceBufferError=!0)}if(cr.sourceBuffer){const t=e(cr.sourceBuffer,"error",(e=>{cr.mediaSourceBufferError=!0,ur.debugError(cr.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),cr.emitError(De.mseSourceBufferError,e.code)})),i=e(cr.sourceBuffer,"updateend",(()=>{cr._hasPendingRemoveRanges()?cr._doRemoveRanges():cr._hasPendingSegments()?cr._doAppendSegments():cr.hasPendingEos&&(ur.debugLog(cr.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),cr.endOfStream())}));cr.eventListenList.push(t,i)}}else ur.debugLog(cr.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${cr.isStateOpen()} and mseDecoder.isAvc === null is ${null===cr.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=cr.events;if(null===cr.audioSourceBuffer&&null!==cr.mediaSource&&cr.isStateOpen()&&cr.audioMimeType){try{ur.debugLog(cr.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",cr.audioMimeType),cr._clearAudioSourceBufferCheckTimeout(),cr.audioSourceBuffer=cr.mediaSource.addSourceBuffer(cr.audioMimeType)}catch(e){return ur.debugError(cr.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),cr.emitError(De.mseWorkerAddSourceBufferError,e.code),void(cr.mediaSourceAddSourceBufferError=!0)}if(cr.audioSourceBuffer){const t=e(cr.audioSourceBuffer,"error",(e=>{cr.mediaSourceBufferError=!0,ur.debugError(cr.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),cr.emitError(De.mseSourceBufferError,e.code)})),i=e(cr.audioSourceBuffer,"updateend",(()=>{cr._hasPendingRemoveRanges()?cr._doRemoveRanges():cr._hasPendingSegments()?cr._doAppendSegments():cr.hasPendingEos&&(ur.debugLog(cr.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),cr.endOfStream())}));cr.eventListenList.push(t,i),null===cr.audioSourceNoDataCheckTimeout&&(cr.audioSourceNoDataCheckTimeout=setTimeout((()=>{cr._clearAudioNoDataCheckTimeout(),cr.emitError(De.mediaSourceAudioNoDataTimeout)}),1e3))}}else ur.debugLog(cr.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${cr.isStateOpen()} and mseDecoder.audioMimeType is ${cr.audioMimeType}`)},_decodeVideo(e,t,i,r,s){let a=e.slice(5),n=a.byteLength;if(0===n)return void ur.debugWarn(cr.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let o=(new Date).getTime(),d=!1;cr.prevTimestamp||(cr.prevTimestamp=o,d=!0);const l=o-cr.prevTimestamp;if(cr.decodeDiffTimestamp=l,l>1e3&&!d&&ur.isPlayer&&ur.debugLog(cr.TAG_NAME,`_decodeVideo now time is ${o} and prev time is ${cr.prevTimestamp}, diff time is ${l} ms`),cr.cacheTrack.id&&t>=cr.cacheTrack.dts){let e=8+cr.cacheTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(hs.types.mdat,4),i.set(cr.cacheTrack.data,8),cr.cacheTrack.duration=t-cr.cacheTrack.dts;let r=hs.moof(cr.cacheTrack,cr.cacheTrack.dts);cr.cacheTrack={};let s=new Uint8Array(r.byteLength+i.byteLength);s.set(r,0),s.set(i,r.byteLength),cr.appendBuffer(s.buffer)}else ur.debugLog(cr.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${s} cacheTrack dts is ${cr.cacheTrack&&cr.cacheTrack.dts}`),cr.timeInit=!1,cr.cacheTrack={};cr.cacheTrack||(cr.cacheTrack={}),cr.cacheTrack.id=Dt,cr.cacheTrack.sequenceNumber=++cr.sequenceNumber,cr.cacheTrack.size=n,cr.cacheTrack.dts=t,cr.cacheTrack.cts=r,cr.cacheTrack.isKeyframe=i,cr.cacheTrack.data=a,cr.cacheTrack.flags={isLeading:0,dependsOn:i?2:1,isDependedOn:i?1:0,hasRedundancy:0,isNonSync:i?0:1},cr.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,i){let r=cr.isAAC?e.slice(2):e.slice(1),s=r.byteLength;if(cr.cacheAudioTrack.id&&t>=cr.cacheAudioTrack.dts){let e=8+cr.cacheAudioTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(hs.types.mdat,4),i.set(cr.cacheAudioTrack.data,8),cr.cacheAudioTrack.duration=t-cr.cacheAudioTrack.dts;let r=hs.moof(cr.cacheAudioTrack,cr.cacheAudioTrack.dts);cr.cacheAudioTrack={};let s=new Uint8Array(r.byteLength+i.byteLength);s.set(r,0),s.set(i,r.byteLength),cr.appendAudioBuffer(s.buffer)}else cr.cacheAudioTrack={};cr.cacheAudioTrack||(cr.cacheAudioTrack={}),cr.cacheAudioTrack.id=It,cr.cacheAudioTrack.sequenceNumber=++cr.audioSequenceNumber,cr.cacheAudioTrack.size=s,cr.cacheAudioTrack.dts=t,cr.cacheAudioTrack.cts=0,cr.cacheAudioTrack.data=r,cr.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ur.isDestroyed?ur.debugWarn(cr.TAG_NAME,"appendBuffer() player is destroyed"):cr.mediaSourceAddSourceBufferError?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):cr.mediaSourceAppendBufferFull?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):cr.mediaSourceAppendBufferError?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):cr.mediaSourceBufferError?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(cr.pendingSegments.push(e),cr.sourceBuffer&&(ur._opt.mseAutoCleanupSourceBuffer&&cr._needCleanupSourceBuffer()&&cr._doCleanUpSourceBuffer(),bi(cr.getSourceBufferUpdating())&&cr.isStateOpen()&&bi(cr._hasPendingRemoveRanges()))?cr._doAppendSegments():cr.isStateClosed()?(cr.mediaSourceBufferError=!0,cr.emitError(De.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):cr.isStateEnded()&&(cr.mediaSourceBufferError=!0,cr.emitError(De.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ur.isDestroyed?ur.debugWarn(cr.TAG_NAME,"appendAudioBuffer() player is destroyed"):cr.mediaSourceAddSourceBufferError?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):cr.mediaSourceAppendBufferFull?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):cr.mediaSourceAppendBufferError?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):cr.mediaSourceBufferError?ur.debugWarn(cr.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(cr.pendingAudioSegments.push(e),cr.audioSourceBuffer&&(ur._opt.mseAutoCleanupSourceBuffer&&cr._needCleanupSourceBuffer()&&cr._doCleanUpSourceBuffer(),bi(cr.getAudioSourceBufferUpdating())&&cr.isStateOpen()&&bi(cr._hasPendingRemoveRanges()))?cr._doAppendSegments():cr.isStateClosed()?(cr.mediaSourceBufferError=!0,cr.emitError(De.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):cr.isStateEnded()&&(cr.mediaSourceBufferError=!0,cr.emitError(De.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>cr.sourceBuffer&&cr.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>cr.audioSourceBuffer&&cr.audioSourceBuffer.updating,stop(){cr.abortSourceBuffer(),cr.removeSourceBuffer(),cr.endOfStream()},clearUpAllSourceBuffer(){if(cr.sourceBuffer){const e=cr.sourceBuffer.buffered;for(let t=0;tcr.pendingSegments.length>0||cr.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>cr.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(cr.isStateClosed()||cr.isStateEnded())ur.debugLog(cr.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==cr.sourceBuffer){if(cr.needInitAudio()&&null===cr.audioSourceBuffer)return ur.debugLog(cr.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===cr.audioSourceBufferCheckTimeout&&(cr.audioSourceBufferCheckTimeout=setTimeout((()=>{cr._clearAudioSourceBufferCheckTimeout(),cr.emitError(De.mediaSourceAudioInitTimeout)}),1e3)));if(bi(cr.getSourceBufferUpdating())&&cr.pendingSegments.length>0){const e=cr.pendingSegments.shift();try{cr.sourceBuffer.appendBuffer(e)}catch(e){ur.debugError(cr.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(cr.stop(),cr.mediaSourceAppendBufferFull=!0,cr.emitError(De.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(cr.stop(),cr.mediaSourceAppendBufferError=!0,cr.emitError(De.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(cr.stop(),cr.mediaSourceBufferError=!0,cr.emitError(De.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(bi(cr.getAudioSourceBufferUpdating())&&cr.pendingAudioSegments.length>0){const e=cr.pendingAudioSegments.shift();try{cr.audioSourceBuffer.appendBuffer(e)}catch(e){ur.debugError(cr.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(cr.stop(),cr.mediaSourceAppendBufferFull=!0,cr.emitError(De.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(cr.stop(),cr.mediaSourceAppendBufferError=!0,cr.emitError(De.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(cr.stop(),cr.mediaSourceBufferError=!0,cr.emitError(De.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ur.debugLog(cr.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=cr.$video.currentTime;if(cr.sourceBuffer){const t=cr.sourceBuffer.buffered;let i=!1;for(let r=0;r=ur._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let t=e-ur._opt.mseAutoCleanupMinBackwardDuration;cr.pendingRemoveRanges.push({start:s,end:t})}}else a=ur._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let t=e-ur._opt.mseAutoCleanupMinBackwardDuration;cr.pendingAudioRemoveRanges.push({start:s,end:t})}}else acr.pendingRemoveRanges.length>0||cr.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ur._opt.hasAudio&&ur._opt.mseDecodeAudio,_doRemoveRanges(){if(cr.sourceBuffer&&bi(cr.getSourceBufferUpdating())){let e=cr.pendingRemoveRanges;for(;e.length&&bi(cr.getSourceBufferUpdating());){let t=e.shift();try{cr.sourceBuffer.remove(t.start,t.end)}catch(e){ur.debugWarn(cr.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(cr.audioSourceBuffer&&bi(cr.getAudioSourceBufferUpdating())){let e=cr.pendingAudioRemoveRanges;for(;e.length&&bi(cr.getAudioSourceBufferUpdating());){let t=e.shift();try{cr.audioSourceBuffer.remove(t.start,t.end)}catch(e){ur.debugWarn(cr.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(bi(ur._opt.mseAutoCleanupSourceBuffer))return!1;const e=cr.$video.currentTime;if(cr.sourceBuffer){let t=cr.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ur._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(cr.audioSourceBuffer){let t=cr.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ur._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){cr.audioSourceBufferCheckTimeout&&(clearTimeout(cr.audioSourceBufferCheckTimeout),cr.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){cr.audioSourceNoDataCheckTimeout&&(clearTimeout(cr.audioSourceNoDataCheckTimeout),cr.audioSourceNoDataCheckTimeout=null)},getHandle:()=>cr.mediaSource.handle,emitError(e){postMessage({cmd:re,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ur={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:kt,_opt:sr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ur.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ur.getVideoBufferLength(),audioDemuxBufferDelay:ur.getAudioBufferLength(),streamBufferByteLength:ur.getStreamBufferLength(),netBuf:ur.networkDelay||0,pushLatestDelay:ur.pushLatestDelay||0,latestDelay:ur.delay,isStreamTsMoreThanLocal:it,wasmDecodeDelay:Je-et});postMessage({cmd:N,type:Te,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ur._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ur._opt.hasVideo&&!Ze)return-1;if(t===se)return ur.delay;if(ur.preDelayTimestamp&&ur.preDelayTimestamp>e)return ur.preDelayTimestamp-e>1e3&&ur.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ur.preDelayTimestamp} > timestamp is ${e} more than ${ur.preDelayTimestamp-e}ms and return ${ur.delay}`),ur.preDelayTimestamp=e,ur.delay;if(ur.firstTimestamp){if(e){const t=Date.now()-ur.startTimestamp,i=e-ur.firstTimestamp;t>=i?(it=!1,ur.delay=t-i):(it=!0,ur.delay=i-t)}}else ur.firstTimestamp=e,ur.startTimestamp=Date.now(),ur.delay=-1;return ur.preDelayTimestamp=e,ur.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ur._opt.hasVideo&&!Ze)return-1;if(t===se)return ur.pushLatestDelay;if(ur.preDelayTimestamp&&ur.preDelayTimestamp-e>1e3)return ur.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ur.preDelayTimestamp} > timestamp is ${e} more than ${ur.preDelayTimestamp-e}ms and return -1`),-1;if(ur.firstTimestamp){let t=-1;if(e){const i=Date.now()-ur.startTimestamp,r=e-ur.firstTimestamp;i>=r?(it=!1,t=i-r):(it=!0,t=r-i)}return t}return-1},resetDelay:function(){ur.firstTimestamp=null,ur.startTimestamp=null,ur.delay=-1,ur.dropping=!1},resetAllDelay:function(){ur.resetDelay(),ur.preDelayTimestamp=null},doDecode:function(e){ur._opt.isEmitSEI&&e.type===ae&&ur.isWorkerFetch&&ur.findSei(e.payload,e.ts),ur.isPlayUseMSEAndDecoderInWorker()?e.type===se?ur._opt.mseDecodeAudio?cr.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===ae&&cr.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ur._opt.useWCS&&ur.useOffscreen()&&e.type===ae&&n.decode?n.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===s.length)return;const t=e.ts,r=s[0],a=e.type===ae&&gi(e.payload);if(bi(i))a&&(ur.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${r.type} ts is ${r.ts}\n isVideoSqeHeader is ${a}`),s.shift(),ur.doDecode(r));else{const i=r.ts-t,n=r.type===se&&e.type===ae;(i<=20||n||a)&&(ur.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${r.type} ts is ${r.ts}\n diff is ${i} and isVideoAndNextAudio is ${n} and isVideoSqeHeader is ${a}`),s.shift(),ur.doDecode(r))}},init:function(){ur.debugLog("worker",`init and forHardDecode is ${i} and forOldVersion is ${r} and opt is`,JSON.stringify(ur._opt));const e=ur._opt.playType===m,t=ur._opt.playType===g,a=ur._opt.playType===y;if(nr.init(),ur.isPlayer=e,ur.isPlayback=t,ur.isPlayVod=a,ur.isPlayUseMSEAndDecoderInWorker()&&cr&&cr.init(),n&&ur._opt.useWCS&&ur.useOffscreen()&&n.init(),bi(ur.isPlaybackCacheBeforeDecodeForFpsRender())||ur.isPlayVod){ur.debugLog("worker","setInterval()");const t=()=>{const t=ur._opt.videoBuffer+ur._opt.videoBufferDelay;let i=null;if(s.length){if(ur.isPushDropping)return void ur.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${s.length}`);if(ur.dropping){for(i=s.shift(),ur.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${i.isIFrame} and delay is ${ur.delay} and bufferlist is ${s.length}`);!i.isIFrame&&s.length;)i=s.shift();const e=ur.getDelayNotUpdateDelay(i.ts,i.type);i.isIFrame&&e<=ur.getNotDroppingDelayTs()&&(ur.debugLog("worker","loop() is dropping = false, is iFrame"),ur.dropping=!1,ur.doDecode(i),ur.decodeNext(i))}else if(ur.isPlayback||ur.isPlayUseMSE()||0===ur._opt.videoBuffer||ur.isPlayVod)for(;s.length;)i=s.shift(),ur.doDecode(i);else if(i=s[0],-1===ur.getDelay(i.ts,i.type))ur.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",i.ts),s.shift(),ur.doDecode(i),ur.decodeNext(i);else if(ur.delay>t&&e)ur.hasIframeInBufferList()?(ur.debugLog("worker",`delay is ${ur.delay} > maxDelay ${t}, set dropping is true`),ur.resetAllDelay(),ur.dropping=!0,postMessage({cmd:O})):(s.shift(),ur.doDecode(i),ur.decodeNext(i));else for(;s.length;){if(i=s[0],!(ur.getDelay(i.ts,i.type)>ur._opt.videoBuffer)){ur.delay<0&&ur.debugWarn("worker",`loop() do not decode and delay is ${ur.delay}, bufferList is ${s.length}`);break}s.shift(),ur.doDecode(i)}}else-1!==ur.delay&&ur.debugLog("worker","loop() bufferList is empty and reset delay"),ur.resetAllDelay()};ur.stopId=setInterval((()=>{let e=(new Date).getTime();ct||(ct=e);const i=e-ct;i>100&&ur.debugWarn("worker",`loop demux diff time is ${i}`),t(),ct=(new Date).getTime()}),20)}else ur.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(bi(ur._opt.checkFirstIFrame)&&(Ze=!0),ur.isPlayUseMSEAndDecoderInWorker()&&cr){const e=cr.getHandle();e&&postMessage({cmd:te,mseHandle:e},[e])}},playbackCacheLoop:function(){ur.clearPlaybackCacheLoop();const e=()=>{let e=null;s.length&&(e=s.shift(),ur.doDecode(e))};e();const t=Math.ceil(1e3/(ur.streamFps*ur._opt.playbackRate));ur.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ur.streamFps}, streamAudioFps is ${ur.streamAudioFps} ,streamVideoFps is ${ur.streamVideoFps} playbackRate is ${ur._opt.playbackRate}`),ur.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ur.stopId&&(clearInterval(ur.stopId),ur.stopId=null)},startPlaybackCacheLoop:function(){ur.playbackCacheLoop()},close:function(){if(ur.debugLog("worker","close"),ur.isDestroyed=!0,ar(),!d||1!==d.readyState&&2!==d.readyState?d&&ur.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(ki=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ur.stopStreamRateAndStatsInterval(),ur.stopId&&(clearInterval(ur.stopId),ur.stopId=null),ur.mp3Demuxer&&(ur.mp3Demuxer.destroy(),ur.mp3Demuxer=null),ur.writableStream&&bi(ur.writableStream.locked)&&ur.writableStream.close().catch((e=>{ur.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ur.writableStream=null,hr)try{hr.clear&&hr.clear(),hr=null}catch(e){ur.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fr)try{fr.clear&&fr.clear(),fr=null}catch(e){ur.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,ct=null,it=!1,Je=0,et=0,n&&(n.destroy&&n.destroy(),n=null),cr&&(cr.destroy(),cr=null),ur.firstTimestamp=null,ur.startTimestamp=null,ur.networkDelay=0,ur.streamFps=null,ur.streamAudioFps=null,ur.streamVideoFps=null,ur.delay=-1,ur.pushLatestDelay=-1,ur.preDelayTimestamp=null,ur.dropping=!1,ur.isPushDropping=!1,ur.isPlayer=!0,ur.isPlayback=!1,ur.isPlayVod=!1,ur.isWorkerFetch=!1,ur.isHevc=null,ur._opt=sr(),ur.webglObj&&(ur.webglObj.destroy(),ur.offscreenCanvas.removeEventListener("webglcontextlost",ur.onOffscreenCanvasWebglContextLost),ur.offscreenCanvas.removeEventListener("webglcontextrestored",ur.onOffscreenCanvasWebglContextRestored),ur.offscreenCanvas=null,ur.offscreenCanvasGL=null,ur.offscreenCanvasCtx=null),s=[],a=[],v&&(v.close(),v=null),E=null,ve=null,Se=!1,We=!1,Ze=!1,ni=!1,wi=!1,Ai=!1,Bi=null,xt=[],Ot=0,Ht=0,At=null,Bt=null,Vt=null,$t=null,Ei=null,Kt=0,Qt=0,Nt=null,Gt=null,ur.fetchStatus=kt,Hi=!0,nr.destroy(),or.destroy(),dr.destroy(),lr.destroy(),ur.debug=null,ur._opt={},postMessage({cmd:q})},pushBuffer:function(e,t){if(t.type===se&&qt(e)){if(ur.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ur._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:Z,buffer:t},[t.buffer])}ur.decodeAudio(e,t.ts)}else if(t.type===ae&&t.isIFrame&&gi(e)){if(ur.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ur._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:J,buffer:t},[t.buffer])}ur.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ur._opt.isRecording)if(ur._opt.isRecordTypeFlv){const i=new Uint8Array(e);postMessage({cmd:Q,type:t.type,buffer:i,ts:t.ts},[i.buffer])}else if(ur._opt.recordType===b)if(t.type===ae){const i=new Uint8Array(e).slice(5);postMessage({cmd:M,buffer:i,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[i.buffer])}else if(t.type===se&&ur._opt.isWasmMp4){const i=new Uint8Array(e),r=jt(i)?i.slice(2):i.slice(1);postMessage({cmd:D,buffer:r,ts:t.ts},[r.buffer])}if(ur.isPlayer){if(t.type===ae){if(Kt>0){const e=t.ts-$t,i=Kt+Kt/2;e>i&&ur.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${$t},\n diff is ${e} and preTsDuration is ${Kt} and maxDiff is ${i}\n maybe trigger black screen or flower screen\n `)}if(null!==$t&&$t>=t.ts&&(ur.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${$t} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${Qt}`),$t-t.ts>w&&(ur.debugWarn("worker",`pushBuffer,\n preTimestamp is ${$t}, options.ts is ${t.ts},\n diff is ${$t-t.ts} more than 3600000,\n and resetAllDelay`),ur.resetAllDelay(),$t=null,Kt=0),ur._opt.isDropSameTimestampGop&&bi(t.isIFrame)&&Ze)){const e=ur.hasIframeInBufferList(),t=bi(ur.isPushDropping);return ur.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ur.dropBuffer$2():(ur.clearBuffer(!0),yi(ur._opt.checkFirstIFrame)&&yi(i)&&(ur.isPlayUseMSEAndDecoderInWorker()?cr.isDecodeFirstIIframe=!1:postMessage({cmd:ee}))))}$t>0&&(Kt=t.ts-$t),Qt=e.byteLength,$t=t.ts}if(Ze){const e=ur._opt.videoBuffer+ur._opt.videoBufferDelay,i=ur.getDelayNotUpdateDelay(t.ts,t.type);ur.pushLatestDelay=i,ur.delay>0&&i>e&&ur.delay({type:e.type,ts:e.ts})));ur.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${s.length}, and ts list is ${JSON.stringify(i)}`)}const i=ur.getAudioBufferLength()>0,r=i?60:40;s.length>=r&&(ur.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${s.length} more than ${r}, and hasAudio is ${i} an set streamFps is 25`),ur.streamVideoFps=25,postMessage({cmd:V,value:ur.streamVideoFps}),i?(ur.streamAudioFps=25,ur.streamFps=ur.streamVideoFps+ur.streamAudioFps):ur.streamFps=ur.streamVideoFps,ur.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return s.forEach((t=>{t.type===ae&&(e+=1)})),e},hasIframeInBufferList:()=>s.some((e=>e.type===ae&&e.isIFrame)),isAllIframeInBufferList(){const e=ur.getVideoBufferLength();let t=0;return s.forEach((e=>{e.type===ae&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ur._opt.videoBuffer+ur._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return s.forEach((t=>{t.type===se&&(e+=1)})),e},getStreamBufferLength(){let e=0;return v&&v.buffer&&(e=v.buffer.byteLength),ur._opt.isNakedFlow?nr.lastBuf&&(e=nr.lastBuf.byteLength):ur._opt.isTs?lr._remainingPacketData&&(e=lr._remainingPacketData.byteLength):ur._opt.isFmp4&&or.mp4Box&&(e=or.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ur.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ur.isWorkerFetch=!0,t.isFlv?ur._opt.isFlv=!0:t.isFmp4?ur._opt.isFmp4=!0:t.isMpeg4?ur._opt.isMpeg4=!0:t.isNakedFlow?ur._opt.isNakedFlow=!0:t.isTs&&(ur._opt.isTs=!0),l=oi((e=>{postMessage({cmd:N,type:Ae,value:e})})),ur.init(),ur.startStreamRateAndStatsInterval(),t.isFmp4&&or.listenMp4Box(),t.protocol===f){t.isFlv&&(v=new Ui(ur.demuxFlv())),o=new AbortController;const i=Object.assign({signal:o.signal},{headers:t.options&&t.options.headers||{}});fetch(e,i).then((e=>{if(yi(ki))return ur.debugLog("worker","request abort and run res.body.cancel()"),ur.fetchStatus=kt,void e.body.cancel();if(!_i(e))return ur.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),ar(),void postMessage({cmd:N,type:De.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:N,type:xe}),hi())ur.writableStream=new WritableStream({write:e=>o&&o.signal&&o.signal.aborted?(ur.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ur.fetchStatus=Lt)):yi(ki)?(ur.debugLog("worker","writableStream write() and requestAbort is true so return"),ur.fetchStatus=Lt,void ar()):void("string"!=typeof e?(ur.fetchStatus=Ct,l(e.byteLength),t.isFlv?v.write(e):t.isFmp4?ur.demuxFmp4(e):t.isMpeg4?ur.demuxMpeg4(e):t.isTs?ur.demuxTs(e):t.isNakedFlow&&ur.demuxNakedFlow(e)):ur.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ur.debugLog("worker","writableStream close()"),ur.fetchStatus=Lt,ar(),ur.isPlayVod?ur.debugLog("worker","writableStream close() and isPlayVod is true so return"):ur._opt.checkStreamEnd?(v&&(v.close(),v=null),postMessage({cmd:N,type:we,value:p,msg:"fetch done"})):postMessage({cmd:N,type:ke})},abort:e=>{if(o&&o.signal&&o.signal.aborted)return ur.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ur.fetchStatus=Lt);v&&(v.close(),v=null),e.name!==Et?(ur.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),ar(),postMessage({cmd:N,type:De.fetchError,value:e.toString()})):ur.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ur.writableStream).catch((e=>{"AbortError"!==e.name&&ur.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const i=e.body.getReader(),r=()=>{i.read().then((e=>{let{done:i,value:s}=e;return i?(ur.debugLog("worker","fetchNext().then() and done is true"),ur.fetchStatus=Lt,ar(),void(ur._opt.checkStreamEnd?(v&&(v.close(),v=null),postMessage({cmd:N,type:we,value:p,msg:"fetch done"})):postMessage({cmd:N,type:ke}))):o&&o.signal&&o.signal.aborted?(ur.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ur.fetchStatus=Lt)):yi(ki)?(ur.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ur.fetchStatus=Lt,void ar()):void("string"!=typeof s?(ur.fetchStatus=Ct,l(s.byteLength),t.isFlv?v.write(s):t.isFmp4?ur.demuxFmp4(s):t.isMpeg4?ur.demuxMpeg4(s):t.isTs?ur.demuxTs(s):t.isNakedFlow&&ur.demuxNakedFlow(s),r()):ur.debugWarn("worker",`fetchNext().then() and value "${s}" is string so return`))})).catch((e=>{if(o&&o.signal&&o.signal.aborted)return ur.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ur.fetchStatus=Lt);v&&(v.close(),v=null),e.name!==Et?(ur.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),ar(),postMessage({cmd:N,type:De.fetchError,value:e.toString()})):ur.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};r()}})).catch((e=>{o&&o.signal&&o.signal.aborted?ur.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==Et?(ur.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),ar(),postMessage({cmd:N,type:De.fetchError,value:e.toString()}),v&&(v.close(),v=null)):ur.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===h&&(t.isFlv&&(v=new Ui(ur.demuxFlv())),d=new WebSocket(e,i),d.binaryType="arraybuffer",d.onopen=()=>{ur.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:N,type:xe}),postMessage({cmd:N,type:Le})},d.onclose=e=>{ur.isDestroyed?ur.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):S?ur.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ur.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ur.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),yi(ki)?ur.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ur._opt.checkStreamEnd?(v&&(v.close(),v=null),postMessage({cmd:N,type:we,value:_,msg:e.code})):postMessage({cmd:N,type:ke}))},d.onerror=e=>{ur.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),S=!0,v&&(v.close(),v=null),ur.isDestroyed?ur.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):yi(ki)?ur.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:N,type:De.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?v.write(e.data):t.isFmp4?ur.demuxFmp4(e.data):t.isMpeg4?ur.demuxMpeg4(e.data):ur._opt.isNakedFlow?ur.demuxNakedFlow(e.data):ur.demuxM7s(e.data)):ur.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),i=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,r=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const s=i[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let a=i[0];const n=(yield s).slice();switch(r){case ne:if(n.byteLength>0){let e=n;yi(ur._opt.m7sCryptoAudio)&&(e=ur.cryptoPayloadAudio(n)),ur.decode(e,{type:se,ts:a})}else ur.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${n.byteLength} and return`);break;case oe:if(n.byteLength>=6){const e=n[0];if(ur._isEnhancedH265Header(e))ur._decodeEnhancedH265Video(n,a);else{const e=15&n[0];let t=n[0]>>4===Tt;const r=e===Pe;if(bi(t)&&yi(Si(n,r))&&(ur.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&gi(n)&&null===ur.isHevc){const e=15&n[0];ur.isHevc=e===Pe,Bi=ri(n,ur.isHevc),ur.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ur.isHevc} and nalUnitSize is ${Bi}`)}t&&ur.calcIframeIntervalTimestamp(a),ur.isPlayer&&ur.calcNetworkDelay(a),i[0]=n[4],i[1]=n[3],i[2]=n[2],i[3]=0;let s=i[0],o=ur.cryptoPayload(n,t);ur.decode(o,{type:ae,ts:a,isIFrame:t,cts:s})}}else ur.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${n.byteLength} and return`);break;case de:postMessage({cmd:X,buffer:n},[n.buffer]);break;default:ur.debugLog("worker",`demuxFlv() type is ${r}`)}}},decode:function(e,t){t.type===se?ur._opt.hasAudio&&(postMessage({cmd:N,type:Be,value:e.byteLength}),ur.isPlayer?ur.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ur.isPlayback?ur.isPlaybackOnlyDecodeIFrame()||(ur.isPlaybackCacheBeforeDecodeForFpsRender(),ur.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ur.isPlayVod&&ur.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===ae&&ur._opt.hasVideo&&(postMessage({cmd:N,type:Ee,value:e.byteLength}),postMessage({cmd:N,type:Ue,value:t.ts}),ur.isPlayer?ur.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ur.isPlayback?ur.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ur.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ur.isPlaybackCacheBeforeDecodeForFpsRender(),ur.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ur.isPlayVod&&ur.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let i=e;return ur._opt.isM7sCrypto?ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength>0&&ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength>0?i=Nr(e,ur._opt.cryptoKey,ur._opt.cryptoIV,ur.isHevc):ur.debugError("worker",`isM7sCrypto cryptoKey.length is ${ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength} or cryptoIV.length is ${ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength} null`):ur._opt.isSm4Crypto?ur._opt.sm4CryptoKey?i=ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength>0&&ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength>0?Js(e,ur._opt.cryptoKey,ur._opt.cryptoIV,ur.isHevc,ur._opt.isSm4CryptoH265V2):ss(e,ur._opt.sm4CryptoKey,ur.isHevc,ur._opt.isSm4CryptoH265V2):ur._opt.sm4CryptoKey||ur.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ur._opt.isXorCrypto&&(ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength>0&&ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength>0?i=ls(e,ur._opt.cryptoKey,ur._opt.cryptoIV,ur.isHevc):ur.debugError("worker",`isXorCrypto cryptoKey.length is ${ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength} or cryptoIV.length is ${ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength} null`)),i},cryptoPayloadAudio:function(e){let t=e;if(ur._opt.isM7sCrypto)if(ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength>0&&ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength>0){e[0]>>4===Ne&&(t=Gr(e,ur._opt.cryptoKey,ur._opt.cryptoIV))}else ur.debugError("worker",`isM7sCrypto cryptoKey.length is ${ur._opt.cryptoKey&&ur._opt.cryptoKey.byteLength} or cryptoIV.length is ${ur._opt.cryptoIV&&ur._opt.cryptoIV.byteLength} null`);return t},setCodecAudio:function(e,t){const i=e[0]>>4,s=e[0]>>1&1;if(Ei=i===Ne?s?16:8:0===s?8:16,hr&&hr.setCodec||!bi(r))if(qt(e)||i===Ge||i===Oe||i===He){ur.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${i} _opt.sampleRate is ${ur._opt.sampleRate}`);const s=i===Ne?e.slice(2):new Uint8Array(0);if(r){if(i===He)return void ur.debugError("worker","setCodecAudio: mp3 is not support for old version");hr.sample_rate=ur._opt.sampleRate,hr.decode(e,t)}else hr.setCodec(i,ur._opt.sampleRate,s,ur.getBuildTime());i===Ne&&postMessage({cmd:I,buffer:s},[s.buffer]),We=!0,i!==Ne&&(i===He?(ur.mp3Demuxer||(ur.mp3Demuxer=new ns(ur),ur.mp3Demuxer.on("data",((e,t)=>{hr.decode(e,t)}))),ur.mp3Demuxer.dispatch(e.slice(1),t)):hr.decode(e.slice(1),t));const a=Number("1")||1;setTimeout((()=>{ur.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ur.close(),postMessage({cmd:H})}),60*a*60*1e3)}else ur.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",i);else ur.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ur.isDestroyed)ur.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ur.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())cr.decodeAudio(e,t);else if(yi(i)&&yi(ur._opt.mseDecodeAudio))postMessage({cmd:R,payload:e,ts:t,cts:t},[e.buffer]);else{const i=e[0]>>4;if(We){if(qt(e))return void ur.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");r?hr.decode(e,t):i===He?ur.mp3Demuxer.dispatch(e.slice(1),t):hr.decode(i===Ne?e.slice(2):e.slice(1),t)}else ur.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const i=15&e[0];if(fr&&fr.setCodec||!bi(r))if(gi(e))if(i===Fe||i===Pe){ur.debugLog("worker",`setCodecVideo: init video codec , codecId is ${i}`);const t=e.slice(5);if(i===Fe&&ur._opt.useSIMD){const e=Ci(t);if(e.codecWidth>A||e.codecHeight>A)return postMessage({cmd:Y,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ur.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const s=new Uint8Array(e);Se=!0,r?fr.decode(e,0):fr.setCodec(i,t,ur.getBuildTime()),postMessage({cmd:F,code:i}),postMessage({cmd:P,buffer:s,codecId:i},[s.buffer])}else ur.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${i} is not H264 or H265`);else ur.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${i} and isIFrame is ${t} and packetType is ${e[1]}`);else ur.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,s){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ur.isDestroyed)ur.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ur.isPlayUseMSEAndDecoderInWorker())cr.decodeVideo(e,t,s,a);else if(yi(i))postMessage({cmd:z,payload:e,isIFrame:s,ts:t,cts:a,delay:ur.delay},[e.buffer]);else if(Se)if(!Ze&&s&&(Ze=!0),Ze){if(s&&gi(e)){const t=15&e[0];let i={};if(t===Fe){i=Ci(e.slice(5))}else t===Pe&&(i=Wi(e));i.codecWidth&&i.codecHeight&&E&&ve&&(i.codecWidth!==E||i.codecHeight!==ve)&&(ur.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${E}, old height is ${ve},\n new width is ${i.codecWidth}, new height is ${i.codecHeight},\n and emit change event`),wi=!0,postMessage({cmd:$,value:`width: ${E}->${i.codecWidth}, height: ${ve}->${i.codecHeight}`}))}if(wi)return void ur.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(Ai)return void ur.debugWarn("worker","decodeVideo: simd decode error, and return");if(gi(e))return void ur.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ur.debugLog("worker",`clearBuffer,bufferList length is ${s.length}, need clear is ${e}`),e&&(s=[]),ur.isPlayer&&(ur.resetAllDelay(),yi(ur._opt.checkFirstIFrame)&&(ur.dropping=!0,postMessage({cmd:O}))),yi(ur._opt.checkFirstIFrame)&&bi(i)&&(Ze=!1)},dropBuffer$2:function(){if(s.length>0){let e=s.findIndex((e=>yi(e.isIFrame)&&e.type===ae));if(ur.isAllIframeInBufferList())for(let t=0;t=ur.getNotDroppingDelayTs()){ur.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${r} and notDroppingDelayTs is ${ur.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ur.isPushDropping=!0,postMessage({cmd:O});const t=s.length;s=s.slice(e);const i=s.shift();ur.resetAllDelay(),ur.getDelay(i.ts,i.type),ur.doDecode(i),ur.isPushDropping=!1,ur.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${s.length} and new delay is ${ur.delay} `)}else ur.isPushDropping=!1}0===s.length&&(ur.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),i=t.getUint32(1,!1),r=t.getUint8(0),s=new ArrayBuffer(4),a=new Uint32Array(s);switch(r){case se:ur.decode(new Uint8Array(e,5),{type:se,ts:i});break;case ae:if(t.byteLength>=11){const r=new Uint8Array(e,5),s=r[0];if(ur._isEnhancedH265Header(s))ur._decodeEnhancedH265Video(r,i);else{const e=t.getUint8(5)>>4==1;if(e&&(ur.calcIframeIntervalTimestamp(i),gi(r)&&null===ur.isHevc)){const e=15&r[0];ur.isHevc=e===Pe}ur.isPlayer&&ur.calcNetworkDelay(i),a[0]=r[4],a[1]=r[3],a[2]=r[2],a[3]=0;let s=a[0],n=ur.cryptoPayload(r,e);ur.decode(n,{type:ae,ts:i,isIFrame:e,cts:s})}}else ur.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){nr.dispatch(e)},demuxFmp4:function(e){or.dispatch(e)},demuxMpeg4:function(e){dr.dispatch(e)},demuxTs:function(e){lr.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const i=e[0],r=48&i,s=15&i,a=e.slice(1,5),n=new ArrayBuffer(4),o=new Uint32Array(n),d="a"==String.fromCharCode(a[0]);if(ur.isHevc=bi(d),s===Pt){if(r===Rt){const i=e.slice(5);if(d);else{const r=new Uint8Array(5+i.length);r.set([28,0,0,0,0],0),r.set(i,5),Bi=ri(e,ur.isHevc),ur.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ur.isHevc} and nalUnitSize is ${Bi}`),ur.decode(r,{type:ae,ts:t,isIFrame:!0,cts:0})}}}else if(s===Mt){let i=e,s=0;const a=r===Rt;if(a&&ur.calcIframeIntervalTimestamp(t),d);else{o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0,s=o[0];i=Xi(e.slice(8),a),i=ur.cryptoPayload(i,a),ur.decode(i,{type:ae,ts:t,isIFrame:a,cts:s})}}else if(s===zt){const i=r===Rt;i&&ur.calcIframeIntervalTimestamp(t);let s=Xi(e.slice(5),i);s=ur.cryptoPayload(s,i),ur.decode(s,{type:ae,ts:t,isIFrame:i,cts:0})}},_isEnhancedH265Header:function(e){return(e&Ft)===Ft},findSei:function(e,t){let i=4;li(Bi)&&(i=Bi);ei(e.slice(5),i).forEach((e=>{const i=ur.isHevc?e[0]>>>1&63:31&e[0],r=ur.isHevc&&(i===ht||i===ut),s=bi(ur.isHevc)&&i===je;if(r||s){const i=ti(e,ur.isHevc);postMessage({cmd:K,buffer:i.payload,ts:t},[i.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(Ze&&e>0))return;null===At?(At=e,Bt=si()):et?i-t:0;ur.networkDelay=r,r>ur._opt.networkDelay&&ur._opt.playType===m&&(ur.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${At} vs start is ${t},local diff is ${i} ,delay is ${r}`),postMessage({cmd:N,type:Ce,value:r}))},calcIframeIntervalTimestamp:function(e){null===Vt?Vt=e:Vt=ur._opt.playbackForwardMaxRateDecodeIFrame&&!(ur._opt.useMSE&&ur._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ur.isPlayer&&ur._opt.useMSE&&yi(i)},isPlayUseMSEAndDecoderInWorker:function(){return ur.isPlayUseMSE()&&ur._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ur.isPlayUseMSEAndDecoderInWorker()&&ur._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){bi(ur.isPlaybackCacheBeforeDecodeForFpsRender())&&ur.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ur.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),ni=!0,ur.webglObj.destroy(),ur.webglObj=null,ur.offscreenCanvasGL=null,setTimeout((()=>{ur.offscreenCanvasGL=ur.offscreenCanvas.getContext("webgl"),ur.offscreenCanvasGL&&ur.offscreenCanvasGL.getContextAttributes().stencil?(ur.webglObj=u(ur.offscreenCanvasGL,ur._opt.openWebglAlignment),ni=!1):ur.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ur.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,i){postMessage({cmd:F,code:e}),postMessage({cmd:x,w:t,h:i}),E=t,ve=i,ur.useOffscreen()&&(ur.offscreenCanvas=new OffscreenCanvas(t,i),ur.offscreenCanvasGL=ur.offscreenCanvas.getContext("webgl"),ur.webglObj=u(ur.offscreenCanvasGL,ur._opt.openWebglAlignment),ur.offscreenCanvas.addEventListener("webglcontextlost",ur.onOffscreenCanvasWebglContextLost,!1),ur.offscreenCanvas.addEventListener("webglcontextrestored",ur.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,i){postMessage({cmd:L,code:e}),postMessage({cmd:C,sampleRate:t,channels:i,depth:Ei}),Ht=i},yuvData:function(t,i){if(ur.isDestroyed)return void ur.debugLog("worker","yuvData, decoder is destroyed and return");const r=E*ve*3/2;let s=e.HEAPU8.subarray(t,t+r),a=new Uint8Array(s);if(Nt=null,et=i,ur.useOffscreen())try{if(ni)return;ur.webglObj.renderYUV(E,ve,a);let e=ur.offscreenCanvas.transferToImageBitmap();postMessage({cmd:T,buffer:e,delay:ur.delay,ts:i},[e])}catch(e){ur.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:T,output:a,delay:ur.delay,ts:i},[a.buffer])},pcmData:function(e,i,r){if(ur.isDestroyed)return void ur.debugLog("worker","pcmData, decoder is destroyed and return");let s=i,n=[],o=0,d=ur._opt.audioBufferSize;for(let i=0;i<2;i++){let r=t.HEAPU32[(e>>2)+i]>>2;n[i]=t.HEAPF32.subarray(r,r+s)}if(Ot){if(!(s>=(i=d-Ot)))return Ot+=s,a[0]=Float32Array.of(...a[0],...n[0]),void(2==Ht&&(a[1]=Float32Array.of(...a[1],...n[1])));xt[0]=Float32Array.of(...a[0],...n[0].subarray(0,i)),2==Ht&&(xt[1]=Float32Array.of(...a[1],...n[1].subarray(0,i))),postMessage({cmd:k,buffer:xt,ts:r},xt.map((e=>e.buffer))),o=i,s-=i}for(Ot=s;Ot>=d;Ot-=d)xt[0]=n[0].slice(o,o+=d),2==Ht&&(xt[1]=n[1].slice(o-d,o)),postMessage({cmd:k,buffer:xt,ts:r},xt.map((e=>e.buffer)));Ot&&(a[0]=n[0].slice(o),2==Ht&&(a[1]=n[1].slice(o))),n=[]},errorInfo:function(e){null===Nt&&(Nt=si());const t=si(),i=ai(Gt>0?2*Gt:5e3,1e3,5e3),r=t-Nt;r>i&&(ur.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${Gt} and diff is ${r} and maxDiff is ${i}\n and replay`),Ai=!0,postMessage({cmd:W}))},sendWebsocketMessage:function(e){d?d.readyState===Ie?d.send(e):ur.debugError("worker","socket is not open"):ur.debugError("worker","socket is null")},timeEnd(){ur.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ur.close(),postMessage({cmd:H})},postStreamToMain(e,t){postMessage({cmd:j,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ur.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),yi(e)?ur.clearPlaybackCacheLoop():ur.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ur.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ur._opt.debug&&ur.debug){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r>2,E=e,ve=t,postMessage({cmd:x,w:e,h:t}),ur.useOffscreen()&&(ur.offscreenCanvas=new OffscreenCanvas(e,t),ur.offscreenCanvasGL=ur.offscreenCanvas.getContext("webgl"),ur.webglObj=u(ur.offscreenCanvasGL,ur._opt.openWebglAlignment),ur.offscreenCanvas.addEventListener("webglcontextlost",ur.onOffscreenCanvasWebglContextLost,!1),ur.offscreenCanvas.addEventListener("webglcontextrestored",ur.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){Ht=e,postMessage({cmd:C,sampleRate:t,channels:e,depth:Ei})},playAudioPlanar:function(e,i,r){if(ur.isDestroyed)return void ur.debugLog("worker","pcmData, decoder is destroyed and return");let s=i,n=[],o=0,d=ur._opt.audioBufferSize;for(let i=0;i<2;i++){let r=t.HEAPU32[(e>>2)+i]>>2;n[i]=t.HEAPF32.subarray(r,r+s)}if(Ot){if(!(s>=(i=d-Ot)))return Ot+=s,a[0]=Float32Array.of(...a[0],...n[0]),void(2==Ht&&(a[1]=Float32Array.of(...a[1],...n[1])));xt[0]=Float32Array.of(...a[0],...n[0].subarray(0,i)),2==Ht&&(xt[1]=Float32Array.of(...a[1],...n[1].subarray(0,i))),postMessage({cmd:k,buffer:xt,ts:r},xt.map((e=>e.buffer))),o=i,s-=i}for(Ot=s;Ot>=d;Ot-=d)xt[0]=n[0].slice(o,o+=d),2==Ht&&(xt[1]=n[1].slice(o-d,o)),postMessage({cmd:k,buffer:xt,ts:r},xt.map((e=>e.buffer)));Ot&&(a[0]=n[0].slice(o),2==Ht&&(a[1]=n[1].slice(o))),n=[]},draw:function(t,i,r,s){if(ur.isDestroyed)return void ur.debugLog("worker","draw, decoder is destroyed and return");const a=e.HEAPU8.subarray(i,i+Vi),n=e.HEAPU8.subarray(r,r+qi),o=e.HEAPU8.subarray(s,s+qi),d=new Uint8Array(Vi+qi+qi);if(d.set(a),d.set(n,Vi),d.set(o,Vi+qi),Nt=null,et=t,ur.useOffscreen())try{if(ni)return;ur.webglObj.renderYUV(E,ve,d);let e=ur.offscreenCanvas.transferToImageBitmap();postMessage({cmd:T,buffer:e,delay:ur.delay,ts:t},[e])}catch(e){ur.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:T,output:d,delay:ur.delay,ts:t},[d.buffer])}}));let hr=null;t.AudioDecoder&&(hr=new t.AudioDecoder(ur));let fr=null;e.VideoDecoder&&(fr=new e.VideoDecoder(ur)),postMessage({cmd:U}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case le:try{ur._opt=Object.assign(ur._opt,JSON.parse(t.opt))}catch(e){}ur.debugLog("worker",`onmessage:${le}`,t.opt);break;case ce:ur.pushBuffer(t.buffer,t.options);break;case ue:ur.decodeAudio(t.buffer,t.ts);break;case he:ur.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case _e:ur.clearBuffer(t.needClear);break;case me:ur.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case fe:ur.debugLog("worker",`onmessage:${fe}`,JSON.stringify(t.options)),t.options&&bi(t.options.isVideoInited)&&(Hi=t.options.isVideoInited),ur.close();break;case pe:ur.debugLog("worker",`onmessage:${pe}`,t.key,t.value),ur._opt[t.key]=t.value,"playbackRate"===t.key&&(ur.playbackUpdatePlaybackRate(),ur.isPlaybackCacheBeforeDecodeForFpsRender()&&ur.playbackCacheLoop());break;case ge:ur.sendWebsocketMessage(t.message);break;case ye:cr.$video.currentTime=Number(t.message);break;case be:ur.updatePlaybackIsPause(t.isPause)}}}({},{},!0)})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e),n=u;function s(){var e=["8nHcVTJ","sqrt","3785089bBXyrc","1GhoABq","824150nEPvhT","hypot","4668NKgZDQ","6581100ewOFHj","4628871Oehqaf","5731pfXSAZ","random","2670FqLcsR","6036RHknun","length","4STiEWt","abs","1678221ASjWva"];return(s=function(){return e})()}!function(e,t){for(var r=u,i=e();;)try{if(337735===parseInt(r(462))/1*(-parseInt(r(463))/2)+-parseInt(r(458))/3*(parseInt(r(456))/4)+-parseInt(r(470))/5*(-parseInt(r(465))/6)+parseInt(r(461))/7*(-parseInt(r(459))/8)+parseInt(r(467))/9+parseInt(r(466))/10+parseInt(r(468))/11*(parseInt(r(471))/12))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(s);var a=1e-6,o="undefined"!=typeof Float32Array?Float32Array:Array,c=Math[n(469)];function u(e,t){var r=s();return(u=function(e,t){return r[e-=455]})(e,t)}var l=Math.PI/180;Math[n(464)]||(Math[n(464)]=function(){for(var e=n,t=0,r=arguments[e(455)];r--;)t+=arguments[r]*arguments[r];return Math[e(460)](t)});var h=Object.freeze({__proto__:null,EPSILON:a,get ARRAY_TYPE(){return o},RANDOM:c,setMatrixArrayType:function(e){o=e},toRadian:function(e){return e*l},equals:function(e,t){var r=n;return Math.abs(e-t)<=a*Math.max(1,Math[r(457)](e),Math[r(457)](t))}});function d(){var e=p,t=new(h[e(410)])(16);return h[e(410)]!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function f(){var e=["rightDegrees","EPSILON","sin","ARRAY_TYPE","6bSIqUN","upDegrees","197501JcJXxj","hypot","108MWSXLc","1071495dXWARO","max","14NrLZJJ","151943oOngqZ","tan","1601096SjXKib","sqrt","abs","66344NoFwgP","cos","leftDegrees","755642IPtrAz","131605rXoNRS","350eELxuc"];return(f=function(){return e})()}function p(e,t){var r=f();return(p=function(e,t){return r[e-=395]})(e,t)}function m(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function v(e,t,r){var i=t[0],n=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],m=t[12],v=t[13],_=t[14],y=t[15],g=r[0],b=r[1],S=r[2],I=r[3];return e[0]=g*i+b*o+S*h+I*m,e[1]=g*n+b*c+S*d+I*v,e[2]=g*s+b*u+S*f+I*_,e[3]=g*a+b*l+S*p+I*y,g=r[4],b=r[5],S=r[6],I=r[7],e[4]=g*i+b*o+S*h+I*m,e[5]=g*n+b*c+S*d+I*v,e[6]=g*s+b*u+S*f+I*_,e[7]=g*a+b*l+S*p+I*y,g=r[8],b=r[9],S=r[10],I=r[11],e[8]=g*i+b*o+S*h+I*m,e[9]=g*n+b*c+S*d+I*v,e[10]=g*s+b*u+S*f+I*_,e[11]=g*a+b*l+S*p+I*y,g=r[12],b=r[13],S=r[14],I=r[15],e[12]=g*i+b*o+S*h+I*m,e[13]=g*n+b*c+S*d+I*v,e[14]=g*s+b*u+S*f+I*_,e[15]=g*a+b*l+S*p+I*y,e}function _(e,t,r){var i=t[0],n=t[1],s=t[2],a=t[3],o=i+i,c=n+n,u=s+s,l=i*o,h=i*c,d=i*u,f=n*c,p=n*u,m=s*u,v=a*o,_=a*c,y=a*u;return e[0]=1-(f+m),e[1]=h+y,e[2]=d-_,e[3]=0,e[4]=h-y,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=d+_,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function y(e,t){var r=p,i=t[0],n=t[1],s=t[2],a=t[4],o=t[5],c=t[6],u=t[8],l=t[9],h=t[10];return e[0]=Math[r(414)](i,n,s),e[1]=Math[r(414)](a,o,c),e[2]=Math[r(414)](u,l,h),e}function g(e,t,r,i,n){var s,a=1/Math[p(397)](t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(s=1/(i-n),e[10]=(n+i)*s,e[14]=2*n*i*s):(e[10]=-1,e[14]=-2*i),e}!function(e,t){for(var r=p,i=e();;)try{if(251254===parseInt(r(413))/1+parseInt(r(404))/2+parseInt(r(411))/3*(-parseInt(r(401))/4)+-parseInt(r(405))/5*(-parseInt(r(415))/6)+-parseInt(r(395))/7*(parseInt(r(398))/8)+parseInt(r(416))/9+parseInt(r(406))/10*(-parseInt(r(396))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(f);var b=g;function S(e,t,r,i,n,s,a){var o=1/(t-r),c=1/(i-n),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*o,e[13]=(n+i)*c,e[14]=(a+s)*u,e[15]=1,e}var I=S;function w(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var A=v,k=w,x=Object.freeze({__proto__:null,create:d,clone:function(e){var t=new o(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,i,n,s,a,o,c,u,l,d,f,m,v,_){var y=new(h[p(410)])(16);return y[0]=e,y[1]=t,y[2]=r,y[3]=i,y[4]=n,y[5]=s,y[6]=a,y[7]=o,y[8]=c,y[9]=u,y[10]=l,y[11]=d,y[12]=f,y[13]=m,y[14]=v,y[15]=_,y},set:function(e,t,r,i,n,s,a,o,c,u,l,h,d,f,p,m,v){return e[0]=t,e[1]=r,e[2]=i,e[3]=n,e[4]=s,e[5]=a,e[6]=o,e[7]=c,e[8]=u,e[9]=l,e[10]=h,e[11]=d,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:m,transpose:function(e,t){if(e===t){var r=t[1],i=t[2],n=t[3],s=t[6],a=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=s,e[11]=t[14],e[12]=n,e[13]=a,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],i=t[1],n=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],h=t[9],d=t[10],f=t[11],p=t[12],m=t[13],v=t[14],_=t[15],y=r*o-i*a,g=r*c-n*a,b=r*u-s*a,S=i*c-n*o,I=i*u-s*o,w=n*u-s*c,A=l*m-h*p,k=l*v-d*p,x=l*_-f*p,E=h*v-d*m,C=h*_-f*m,B=d*_-f*v,D=y*B-g*C+b*E+S*x-I*k+w*A;return D?(D=1/D,e[0]=(o*B-c*C+u*E)*D,e[1]=(n*C-i*B-s*E)*D,e[2]=(m*w-v*I+_*S)*D,e[3]=(d*I-h*w-f*S)*D,e[4]=(c*x-a*B-u*k)*D,e[5]=(r*B-n*x+s*k)*D,e[6]=(v*b-p*w-_*g)*D,e[7]=(l*w-d*b+f*g)*D,e[8]=(a*C-o*x+u*A)*D,e[9]=(i*x-r*C-s*A)*D,e[10]=(p*I-m*b+_*y)*D,e[11]=(h*b-l*I-f*y)*D,e[12]=(o*k-a*E-c*A)*D,e[13]=(r*E-i*k+n*A)*D,e[14]=(m*g-p*S-v*y)*D,e[15]=(l*S-h*g+d*y)*D,e):null},adjoint:function(e,t){var r=t[0],i=t[1],n=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],h=t[9],d=t[10],f=t[11],p=t[12],m=t[13],v=t[14],_=t[15];return e[0]=o*(d*_-f*v)-h*(c*_-u*v)+m*(c*f-u*d),e[1]=-(i*(d*_-f*v)-h*(n*_-s*v)+m*(n*f-s*d)),e[2]=i*(c*_-u*v)-o*(n*_-s*v)+m*(n*u-s*c),e[3]=-(i*(c*f-u*d)-o*(n*f-s*d)+h*(n*u-s*c)),e[4]=-(a*(d*_-f*v)-l*(c*_-u*v)+p*(c*f-u*d)),e[5]=r*(d*_-f*v)-l*(n*_-s*v)+p*(n*f-s*d),e[6]=-(r*(c*_-u*v)-a*(n*_-s*v)+p*(n*u-s*c)),e[7]=r*(c*f-u*d)-a*(n*f-s*d)+l*(n*u-s*c),e[8]=a*(h*_-f*m)-l*(o*_-u*m)+p*(o*f-u*h),e[9]=-(r*(h*_-f*m)-l*(i*_-s*m)+p*(i*f-s*h)),e[10]=r*(o*_-u*m)-a*(i*_-s*m)+p*(i*u-s*o),e[11]=-(r*(o*f-u*h)-a*(i*f-s*h)+l*(i*u-s*o)),e[12]=-(a*(h*v-d*m)-l*(o*v-c*m)+p*(o*d-c*h)),e[13]=r*(h*v-d*m)-l*(i*v-n*m)+p*(i*d-n*h),e[14]=-(r*(o*v-c*m)-a*(i*v-n*m)+p*(i*c-n*o)),e[15]=r*(o*d-c*h)-a*(i*d-n*h)+l*(i*c-n*o),e},determinant:function(e){var t=e[0],r=e[1],i=e[2],n=e[3],s=e[4],a=e[5],o=e[6],c=e[7],u=e[8],l=e[9],h=e[10],d=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*a-r*s)*(h*v-d*m)-(t*o-i*s)*(l*v-d*p)+(t*c-n*s)*(l*m-h*p)+(r*o-i*a)*(u*v-d*f)-(r*c-n*a)*(u*m-h*f)+(i*c-n*o)*(u*p-l*f)},multiply:v,translate:function(e,t,r){var i,n,s,a,o,c,u,l,h,d,f,p,m=r[0],v=r[1],_=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*_+t[12],e[13]=t[1]*m+t[5]*v+t[9]*_+t[13],e[14]=t[2]*m+t[6]*v+t[10]*_+t[14],e[15]=t[3]*m+t[7]*v+t[11]*_+t[15]):(i=t[0],n=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],h=t[8],d=t[9],f=t[10],p=t[11],e[0]=i,e[1]=n,e[2]=s,e[3]=a,e[4]=o,e[5]=c,e[6]=u,e[7]=l,e[8]=h,e[9]=d,e[10]=f,e[11]=p,e[12]=i*m+o*v+h*_+t[12],e[13]=n*m+c*v+d*_+t[13],e[14]=s*m+u*v+f*_+t[14],e[15]=a*m+l*v+p*_+t[15]),e},scale:function(e,t,r){var i=r[0],n=r[1],s=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,i){var n,s,o,c,u,l,h,d,f,m,v,_,y,g,b,S,I,w,A,k,x,E,C,B,D=p,M=i[0],T=i[1],U=i[2],F=Math[D(414)](M,T,U);return F0?(r[0]=2*(o*a+l*i+c*s-u*n)/d,r[1]=2*(c*a+l*n+u*i-o*s)/d,r[2]=2*(u*a+l*s+o*n-c*i)/d):(r[0]=2*(o*a+l*i+c*s-u*n),r[1]=2*(c*a+l*n+u*i-o*s),r[2]=2*(u*a+l*s+o*n-c*i)),_(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:y,getRotation:function(e,t){var r=p,i=new o(3);y(i,t);var n=1/i[0],s=1/i[1],a=1/i[2],c=t[0]*n,u=t[1]*s,l=t[2]*a,h=t[4]*n,d=t[5]*s,f=t[6]*a,m=t[8]*n,v=t[9]*s,_=t[10]*a,g=c+d+_,b=0;return g>0?(b=2*Math[r(399)](g+1),e[3]=.25*b,e[0]=(f-v)/b,e[1]=(m-l)/b,e[2]=(u-h)/b):c>d&&c>_?(b=2*Math[r(399)](1+c-d-_),e[3]=(f-v)/b,e[0]=.25*b,e[1]=(u+h)/b,e[2]=(m+l)/b):d>_?(b=2*Math[r(399)](1+d-c-_),e[3]=(m-l)/b,e[0]=(u+h)/b,e[1]=.25*b,e[2]=(f+v)/b):(b=2*Math[r(399)](1+_-c-d),e[3]=(u-h)/b,e[0]=(m+l)/b,e[1]=(f+v)/b,e[2]=.25*b),e},fromRotationTranslationScale:function(e,t,r,i){var n=t[0],s=t[1],a=t[2],o=t[3],c=n+n,u=s+s,l=a+a,h=n*c,d=n*u,f=n*l,p=s*u,m=s*l,v=a*l,_=o*c,y=o*u,g=o*l,b=i[0],S=i[1],I=i[2];return e[0]=(1-(p+v))*b,e[1]=(d+g)*b,e[2]=(f-y)*b,e[3]=0,e[4]=(d-g)*S,e[5]=(1-(h+v))*S,e[6]=(m+_)*S,e[7]=0,e[8]=(f+y)*I,e[9]=(m-_)*I,e[10]=(1-(h+p))*I,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,i,n){var s=t[0],a=t[1],o=t[2],c=t[3],u=s+s,l=a+a,h=o+o,d=s*u,f=s*l,p=s*h,m=a*l,v=a*h,_=o*h,y=c*u,g=c*l,b=c*h,S=i[0],I=i[1],w=i[2],A=n[0],k=n[1],x=n[2],E=(1-(m+_))*S,C=(f+b)*S,B=(p-g)*S,D=(f-b)*I,M=(1-(d+_))*I,T=(v+y)*I,U=(p+g)*w,F=(v-y)*w,P=(1-(d+m))*w;return e[0]=E,e[1]=C,e[2]=B,e[3]=0,e[4]=D,e[5]=M,e[6]=T,e[7]=0,e[8]=U,e[9]=F,e[10]=P,e[11]=0,e[12]=r[0]+A-(E*A+D*k+U*x),e[13]=r[1]+k-(C*A+M*k+F*x),e[14]=r[2]+x-(B*A+T*k+P*x),e[15]=1,e},fromQuat:function(e,t){var r=t[0],i=t[1],n=t[2],s=t[3],a=r+r,o=i+i,c=n+n,u=r*a,l=i*a,h=i*o,d=n*a,f=n*o,p=n*c,m=s*a,v=s*o,_=s*c;return e[0]=1-h-p,e[1]=l+_,e[2]=d-v,e[3]=0,e[4]=l-_,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=d+v,e[9]=f-m,e[10]=1-u-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,i,n,s,a){var o=1/(r-t),c=1/(n-i),u=1/(s-a);return e[0]=2*s*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(n+i)*c,e[10]=(a+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*s*2*u,e[15]=0,e},perspectiveNO:g,perspective:b,perspectiveZO:function(e,t,r,i,n){var s,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(s=1/(i-n),e[10]=n*s,e[14]=n*i*s):(e[10]=-1,e[14]=-i),e},perspectiveFromFieldOfView:function(e,t,r,i){var n=p,s=Math[n(397)](t[n(412)]*Math.PI/180),a=Math[n(397)](t.downDegrees*Math.PI/180),o=Math[n(397)](t[n(403)]*Math.PI/180),c=Math[n(397)](t[n(407)]*Math.PI/180),u=2/(o+c),l=2/(s+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(o-c)*u*.5,e[9]=(s-a)*l*.5,e[10]=i/(r-i),e[11]=-1,e[12]=0,e[13]=0,e[14]=i*r/(r-i),e[15]=0,e},orthoNO:S,ortho:I,orthoZO:function(e,t,r,i,n,s,a){var o=1/(t-r),c=1/(i-n),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*o,e[13]=(n+i)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,i){var n,s,a,o,c,u,l,d,f,v,_=p,y=t[0],g=t[1],b=t[2],S=i[0],I=i[1],w=i[2],A=r[0],k=r[1],x=r[2];return Math[_(400)](y-A)0&&(h*=m=1/Math.sqrt(m),d*=m,f*=m);var v=u*f-l*d,_=l*h-c*f,y=c*d-u*h;return(m=v*v+_*_+y*y)>0&&(v*=m=1/Math[n(399)](m),_*=m,y*=m),e[0]=v,e[1]=_,e[2]=y,e[3]=0,e[4]=d*y-f*_,e[5]=f*v-h*y,e[6]=h*_-d*v,e[7]=0,e[8]=h,e[9]=d,e[10]=f,e[11]=0,e[12]=s,e[13]=a,e[14]=o,e[15]=1,e},str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[p(414)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:w,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,i){return e[0]=t[0]+r[0]*i,e[1]=t[1]+r[1]*i,e[2]=t[2]+r[2]*i,e[3]=t[3]+r[3]*i,e[4]=t[4]+r[4]*i,e[5]=t[5]+r[5]*i,e[6]=t[6]+r[6]*i,e[7]=t[7]+r[7]*i,e[8]=t[8]+r[8]*i,e[9]=t[9]+r[9]*i,e[10]=t[10]+r[10]*i,e[11]=t[11]+r[11]*i,e[12]=t[12]+r[12]*i,e[13]=t[13]+r[13]*i,e[14]=t[14]+r[14]*i,e[15]=t[15]+r[15]*i,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=p,i=e[0],n=e[1],s=e[2],o=e[3],c=e[4],u=e[5],l=e[6],d=e[7],f=e[8],m=e[9],v=e[10],_=e[11],y=e[12],g=e[13],b=e[14],S=e[15],I=t[0],w=t[1],A=t[2],k=t[3],x=t[4],E=t[5],C=t[6],B=t[7],D=t[8],M=t[9],T=t[10],U=t[11],F=t[12],P=t[13],R=t[14],L=t[15];return Math[r(400)](i-I)<=h[r(408)]*Math.max(1,Math[r(400)](i),Math[r(400)](I))&&Math[r(400)](n-w)<=h[r(408)]*Math[r(417)](1,Math[r(400)](n),Math[r(400)](w))&&Math.abs(s-A)<=h[r(408)]*Math[r(417)](1,Math[r(400)](s),Math.abs(A))&&Math[r(400)](o-k)<=h[r(408)]*Math[r(417)](1,Math[r(400)](o),Math[r(400)](k))&&Math.abs(c-x)<=h[r(408)]*Math.max(1,Math[r(400)](c),Math[r(400)](x))&&Math[r(400)](u-E)<=h[r(408)]*Math[r(417)](1,Math.abs(u),Math.abs(E))&&Math.abs(l-C)<=h[r(408)]*Math.max(1,Math[r(400)](l),Math[r(400)](C))&&Math[r(400)](d-B)<=a*Math[r(417)](1,Math[r(400)](d),Math[r(400)](B))&&Math[r(400)](f-D)<=h[r(408)]*Math[r(417)](1,Math[r(400)](f),Math[r(400)](D))&&Math[r(400)](m-M)<=h[r(408)]*Math.max(1,Math.abs(m),Math[r(400)](M))&&Math[r(400)](v-T)<=a*Math[r(417)](1,Math[r(400)](v),Math[r(400)](T))&&Math[r(400)](_-U)<=h[r(408)]*Math[r(417)](1,Math[r(400)](_),Math[r(400)](U))&&Math.abs(y-F)<=h[r(408)]*Math[r(417)](1,Math[r(400)](y),Math.abs(F))&&Math[r(400)](g-P)<=h[r(408)]*Math[r(417)](1,Math.abs(g),Math[r(400)](P))&&Math[r(400)](b-R)<=h[r(408)]*Math[r(417)](1,Math.abs(b),Math[r(400)](R))&&Math[r(400)](S-L)<=h[r(408)]*Math.max(1,Math.abs(S),Math[r(400)](L))},mul:A,sub:k});function E(){var e=D,t=new(h[e(312)])(3);return h[e(312)]!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function C(e){var t=D,r=e[0],i=e[1],n=e[2];return Math[t(293)](r,i,n)}function B(e,t,r){var i=new(h[D(312)])(3);return i[0]=e,i[1]=t,i[2]=r,i}function D(e,t){var r=F();return(D=function(e,t){return r[e-=290]})(e,t)}function M(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function T(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function U(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function F(){var e=["2470824gcFoSS","sqrt","cos","hypot","2393174FmmoaX","max","min","floor","602012JtHiBv","5488155yYXfQc","582342AagNAT","round","1415636WASKDF","ceil","RANDOM","3jtcbxW","abs","7YkWytE","vec3(","length","EPSILON","sin","ARRAY_TYPE","7674552jdJUOs","acos"];return(F=function(){return e})()}function P(e,t){var r=D,i=t[0]-e[0],n=t[1]-e[1],s=t[2]-e[2];return Math[r(293)](i,n,s)}function R(e,t){var r=t[0]-e[0],i=t[1]-e[1],n=t[2]-e[2];return r*r+i*i+n*n}function L(e){var t=e[0],r=e[1],i=e[2];return t*t+r*r+i*i}function z(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}!function(e,t){for(var r=D,i=e();;)try{if(632693===-parseInt(r(298))/1+parseInt(r(294))/2+parseInt(r(305))/3*(parseInt(r(302))/4)+-parseInt(r(299))/5+-parseInt(r(300))/6*(-parseInt(r(307))/7)+parseInt(r(313))/8+-parseInt(r(290))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(F);var N,O=M,H=T,V=U,G=P,W=R,j=C,q=L,K=(N=E(),function(e,t,r,i,n,s){var a,o,c=D;for(!t&&(t=3),!r&&(r=0),o=i?Math[c(296)](i*t+r,e[c(309)]):e.length,a=r;a0&&(a=1/Math[r(291)](a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},dot:z,cross:function(e,t,r){var i=t[0],n=t[1],s=t[2],a=r[0],o=r[1],c=r[2];return e[0]=n*c-s*o,e[1]=s*a-i*c,e[2]=i*o-n*a,e},lerp:function(e,t,r,i){var n=t[0],s=t[1],a=t[2];return e[0]=n+i*(r[0]-n),e[1]=s+i*(r[1]-s),e[2]=a+i*(r[2]-a),e},hermite:function(e,t,r,i,n,s){var a=s*s,o=a*(2*s-3)+1,c=a*(s-2)+s,u=a*(s-1),l=a*(3-2*s);return e[0]=t[0]*o+r[0]*c+i[0]*u+n[0]*l,e[1]=t[1]*o+r[1]*c+i[1]*u+n[1]*l,e[2]=t[2]*o+r[2]*c+i[2]*u+n[2]*l,e},bezier:function(e,t,r,i,n,s){var a=1-s,o=a*a,c=s*s,u=o*a,l=3*s*o,h=3*c*a,d=c*s;return e[0]=t[0]*u+r[0]*l+i[0]*h+n[0]*d,e[1]=t[1]*u+r[1]*l+i[1]*h+n[1]*d,e[2]=t[2]*u+r[2]*l+i[2]*h+n[2]*d,e},random:function(e,t){var r=D;t=t||1;var i=2*h[r(304)]()*Math.PI,n=2*h[r(304)]()-1,s=Math[r(291)](1-n*n)*t;return e[0]=Math.cos(i)*s,e[1]=Math[r(311)](i)*s,e[2]=n*t,e},transformMat4:function(e,t,r){var i=t[0],n=t[1],s=t[2],a=r[3]*i+r[7]*n+r[11]*s+r[15];return a=a||1,e[0]=(r[0]*i+r[4]*n+r[8]*s+r[12])/a,e[1]=(r[1]*i+r[5]*n+r[9]*s+r[13])/a,e[2]=(r[2]*i+r[6]*n+r[10]*s+r[14])/a,e},transformMat3:function(e,t,r){var i=t[0],n=t[1],s=t[2];return e[0]=i*r[0]+n*r[3]+s*r[6],e[1]=i*r[1]+n*r[4]+s*r[7],e[2]=i*r[2]+n*r[5]+s*r[8],e},transformQuat:function(e,t,r){var i=r[0],n=r[1],s=r[2],a=r[3],o=t[0],c=t[1],u=t[2],l=n*u-s*c,h=s*o-i*u,d=i*c-n*o,f=n*d-s*h,p=s*l-i*d,m=i*h-n*l,v=2*a;return l*=v,h*=v,d*=v,f*=2,p*=2,m*=2,e[0]=o+l+f,e[1]=c+h+p,e[2]=u+d+m,e},rotateX:function(e,t,r,i){var n=D,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0],a[1]=s[1]*Math[n(292)](i)-s[2]*Math[n(311)](i),a[2]=s[1]*Math[n(311)](i)+s[2]*Math[n(292)](i),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateY:function(e,t,r,i){var n=D,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[2]*Math.sin(i)+s[0]*Math.cos(i),a[1]=s[1],a[2]=s[2]*Math.cos(i)-s[0]*Math[n(311)](i),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateZ:function(e,t,r,i){var n=D,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0]*Math.cos(i)-s[1]*Math[n(311)](i),a[1]=s[0]*Math[n(311)](i)+s[1]*Math[n(292)](i),a[2]=s[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},angle:function(e,t){var r=D,i=e[0],n=e[1],s=e[2],a=t[0],o=t[1],c=t[2],u=Math[r(291)](i*i+n*n+s*s)*Math.sqrt(a*a+o*o+c*c),l=u&&z(e,t)/u;return Math[r(314)](Math.min(Math[r(295)](l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return D(308)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=D,i=e[0],n=e[1],s=e[2],o=t[0],c=t[1],u=t[2];return Math[r(306)](i-o)<=a*Math[r(295)](1,Math[r(306)](i),Math[r(306)](o))&&Math[r(306)](n-c)<=h[r(310)]*Math[r(295)](1,Math[r(306)](n),Math[r(306)](c))&&Math[r(306)](s-u)<=h[r(310)]*Math[r(295)](1,Math[r(306)](s),Math.abs(u))},sub:O,mul:H,div:V,dist:G,sqrDist:W,len:j,sqrLen:q,forEach:K});function X(){var e=["6215272uugSBT","7175772ZWVOUM","3290334vRIcro","820304NonmeU","1911357CZASpm","571225VckbzB","28yDBabu","2wmUpnx","2254353hyrBHp"];return(X=function(){return e})()}function J(e,t){var r=X();return(J=function(e,t){return r[e-=354]})(e,t)}function Z(e,t){const r=$();return(Z=function(e,t){return r[e-=200]})(e,t)}!function(e,t){for(var r=J,i=e();;)try{if(430311===-parseInt(r(362))/1+parseInt(r(357))/2*(parseInt(r(358))/3)+-parseInt(r(356))/4*(parseInt(r(355))/5)+-parseInt(r(361))/6+parseInt(r(354))/7+parseInt(r(359))/8+parseInt(r(360))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(X),function(e,t){const r=Z,i=e();for(;;)try{if(610394===parseInt(r(250))/1+-parseInt(r(227))/2*(-parseInt(r(215))/3)+parseInt(r(256))/4*(parseInt(r(221))/5)+parseInt(r(228))/6*(-parseInt(r(242))/7)+-parseInt(r(267))/8+parseInt(r(253))/9*(-parseInt(r(298))/10)+parseInt(r(273))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}($);var Q=(e,t)=>{const r=Z,i=r(249);t&&e[r(268)](e[r(282)],1);const n=function(){const t=r,n=f(e[t(296)],"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),s=f(e[t(263)],i),a=e[t(277)]();return e[t(288)](a,n),e[t(288)](a,s),e[t(214)](a),e[t(216)](a,e[t(284)])?a:(console[t(285)](t(274)+e[t(223)](a)),null)}();let s={program:n,attribLocations:{vertexPosition:e[r(291)](n,"aVertexPosition"),texturePosition:e[r(291)](n,r(235))},uniformLocations:{projectionMatrix:e[r(297)](n,r(255)),modelMatrix:e[r(297)](n,r(234)),viewMatrix:e[r(297)](n,r(254)),rgbatexture:e[r(297)](n,"rgbaTexture"),ytexture:e[r(297)](n,r(280)),utexture:e[r(297)](n,r(257)),vtexture:e[r(297)](n,r(217)),isyuv:e[r(297)](n,r(211))}},a=function(){const t=r,i=e[t(283)]();e[t(260)](e[t(224)],i);e[t(204)](e[t(224)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e[t(200)]);var n=[];n=n.concat([0,1],[1,1],[1,0],[0,0]);const s=e[t(283)]();e.bindBuffer(e.ARRAY_BUFFER,s),e[t(204)](e[t(224)],new Float32Array(n),e[t(200)]);const a=e.createBuffer();e[t(260)](e.ELEMENT_ARRAY_BUFFER,a);return e[t(204)](e[t(251)],new Uint16Array([0,1,2,0,2,3]),e[t(200)]),{position:i,texPosition:s,indices:a}}(),o=h(),c=h(),u=h(),l=h();function h(){const t=r;let i=e.createTexture();return e.bindTexture(e.TEXTURE_2D,i),e.texParameteri(e[t(281)],e[t(294)],e.LINEAR),e.texParameteri(e[t(281)],e[t(243)],e[t(271)]),e[t(244)](e.TEXTURE_2D,e[t(229)],e.CLAMP_TO_EDGE),e.texParameteri(e[t(281)],e[t(272)],e[t(240)]),i}function f(t,i){const n=r,s=e[n(241)](t);return e[n(261)](s,i),e[n(262)](s),e.getShaderParameter(s,e.COMPILE_STATUS)?s:(console[n(285)](n(252)+e[n(213)](s)),e[n(208)](s),null)}function p(t,i){const n=r;e[n(293)](0,0,t,i),e[n(207)](0,0,0,0),e[n(286)](1),e[n(269)](e[n(265)]),e[n(258)](e[n(266)]),e[n(222)](e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const o=d();I(o,-1,1,-1,1,.1,100);const h=x[n(225)]();x[n(201)](h);const f=x[n(225)]();x[n(278)](f,B(0,0,0),Y[n(226)](0,0,-1),B(0,1,0));{const t=3,r=e[n(210)],i=!1,o=0,c=0;e[n(260)](e.ARRAY_BUFFER,a[n(295)]),e[n(279)](s[n(233)][n(259)],t,r,i,o,c),e[n(218)](s[n(233)][n(259)])}{const t=2,r=e[n(210)],i=!1,o=0,c=0;e[n(260)](e[n(224)],a.texPosition),e[n(279)](s.attribLocations.texturePosition,t,r,i,o,c),e.enableVertexAttribArray(s[n(233)][n(236)])}e[n(237)](e[n(287)]+3),e[n(219)](e[n(281)],c),e[n(237)](e.TEXTURE0+4),e[n(219)](e.TEXTURE_2D,u),e[n(237)](e[n(287)]+5),e[n(219)](e[n(281)],l),e[n(260)](e[n(251)],a[n(209)]),e.useProgram(s[n(205)]),e[n(270)](s[n(239)][n(203)],!1,o),e.uniformMatrix4fv(s[n(239)][n(247)],!1,h),e.uniformMatrix4fv(s[n(239)][n(289)],!1,f),e[n(230)](s.uniformLocations[n(248)],2),e.uniform1i(s[n(239)][n(275)],3),e[n(230)](s.uniformLocations[n(292)],4),e[n(230)](s[n(239)][n(231)],5),e[n(230)](s[n(239)][n(211)],1);{const t=6,r=e[n(232)],i=0;e.drawElements(e.TRIANGLES,t,r,i)}}return{render:function(t,i,n,s,a){const o=r;e[o(237)](e[o(287)]),e.bindTexture(e.TEXTURE_2D,c),e[o(220)](e.TEXTURE_2D,0,e[o(202)],t,i,0,e.LUMINANCE,e[o(212)],n),e[o(237)](e[o(276)]),e[o(219)](e[o(281)],u),e[o(220)](e.TEXTURE_2D,0,e[o(202)],t/2,i/2,0,e[o(202)],e.UNSIGNED_BYTE,s),e[o(237)](e[o(264)]),e[o(219)](e[o(281)],l),e.texImage2D(e.TEXTURE_2D,0,e[o(202)],t/2,i/2,0,e[o(202)],e[o(212)],a),p(t,i)},renderYUV:function(t,i,n){const s=r;let a=n[s(238)](0,t*i),o=n[s(238)](t*i,t*i*5/4),h=n.slice(t*i*5/4,t*i*3/2);e.activeTexture(e[s(287)]),e[s(219)](e[s(281)],c),e[s(220)](e[s(281)],0,e[s(202)],t,i,0,e[s(202)],e[s(212)],a),e[s(237)](e[s(276)]),e.bindTexture(e[s(281)],u),e[s(220)](e[s(281)],0,e[s(202)],t/2,i/2,0,e[s(202)],e.UNSIGNED_BYTE,o),e.activeTexture(e[s(264)]),e[s(219)](e[s(281)],l),e[s(220)](e[s(281)],0,e[s(202)],t/2,i/2,0,e[s(202)],e[s(212)],h),p(t,i)},destroy:function(){const t=r;e[t(245)](s[t(205)]),e[t(290)](a[t(295)]),e[t(290)](a[t(246)]),e[t(290)](a.indices),e.deleteTexture(o),e[t(206)](c),e[t(206)](u),e.deleteTexture(l),s=null,a=null,o=null,c=null,u=null,l=null}}};function $(){const e=["createBuffer","LINK_STATUS","log","clearDepth","TEXTURE0","attachShader","viewMatrix","deleteBuffer","getAttribLocation","utexture","viewport","TEXTURE_MAG_FILTER","position","VERTEX_SHADER","getUniformLocation","160wmdNRh","STATIC_DRAW","identity","LUMINANCE","projectionMatrix","bufferData","program","deleteTexture","clearColor","deleteShader","indices","FLOAT","isyuv","UNSIGNED_BYTE","getShaderInfoLog","linkProgram","4299sOMLIL","getProgramParameter","vTexture","enableVertexAttribArray","bindTexture","texImage2D","13795seKfub","clear","getProgramInfoLog","ARRAY_BUFFER","create","fromValues","970JNHkkM","21060Hastnx","TEXTURE_WRAP_S","uniform1i","vtexture","UNSIGNED_SHORT","attribLocations","uModelMatrix","aTexturePosition","texturePosition","activeTexture","slice","uniformLocations","CLAMP_TO_EDGE","createShader","35XHNiWY","TEXTURE_MIN_FILTER","texParameteri","deleteProgram","texPosition","modelMatrix","rgbatexture","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","55303bXqSxA","ELEMENT_ARRAY_BUFFER","An error occurred compiling the shaders: ","553005VFuHQf","uViewMatrix","uProjectionMatrix","580mHlkUB","uTexture","depthFunc","vertexPosition","bindBuffer","shaderSource","compileShader","FRAGMENT_SHADER","TEXTURE2","DEPTH_TEST","LEQUAL","5082632UigUZK","pixelStorei","enable","uniformMatrix4fv","LINEAR","TEXTURE_WRAP_T","12056330RnAOYf","Unable to initialize the shader program: ","ytexture","TEXTURE1","createProgram","lookAt","vertexAttribPointer","yTexture","TEXTURE_2D","UNPACK_ALIGNMENT"];return($=function(){return e})()}const ee=_e;!function(e,t){const r=_e,i=e();for(;;)try{if(540023===-parseInt(r(540))/1+-parseInt(r(858))/2*(parseInt(r(565))/3)+-parseInt(r(611))/4+parseInt(r(719))/5+parseInt(r(412))/6+-parseInt(r(710))/7*(-parseInt(r(562))/8)+-parseInt(r(848))/9*(parseInt(r(753))/10))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ue);const te={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};ee(679),ee(413),ee(433),ee(730);const re={fetch:ee(604),hls:ee(413),websocket:ee(679),webrtc:ee(433),webTransport:ee(857),worker:"worker",aliyunRtc:ee(730),mp4:ee(790)},ie={player:ee(728),playerAudio:ee(432),playbackTF:ee(772),talk:ee(470),playVod:ee(563)},ne={mp4:ee(790),webm:"webm",flv:"flv",mov:ee(647)},se="flv";ee(564),ee(413),ee(433),ee(857),ee(813),ee(758),ee(453),ee(730),ee(471),ee(614);ee(532),ee(867),ee(756),ee(527),ee(741),ee(779);const ae={mse:"mse",wcs:"wcs",offscreen:ee(625),wasm:"wasm",simd:ee(824),mt:"mt",webrtc:ee(433),hls:"hls",aliyunRtc:"aliyunRtc"},oe={canvas:ee(534),video:ee(523)},ce={debug:"debug",warn:ee(630)},ue="click",le=(ee(557),{normal:ee(666),simple:ee(645)}),he={normal:ee(666),small:ee(539)},de=ee(589),fe=ee(755),pe=36e5,me=4080,ve=12;ee(695),ee(693),ee(868);function _e(e,t){const r=Ue();return(_e=function(e,t){return r[e-=412]})(e,t)}const ye={playIsNotPauseOrUrlIsNull:ee(601),webglAlignmentError:ee(840),webglContextLostError:ee(475),mediaSourceH265NotSupport:"不支持硬解码H265",mseSourceBufferFull:ee(556),mediaSourceAppendBufferError:"初始化解码器失败",mseSourceBufferError:ee(657),mseAddSourceBufferError:ee(469),mseWorkerAddSourceBufferError:ee(469),mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:"流异常",mediaSourceAudioG711NotSupport:ee(474),mediaSourceAudioInitTimeout:ee(817),mediaSourceAudioNoDataTimeout:"等待音频数据超时",mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",mediaSourceBufferedIsZeroError:ee(699),webcodecsH265NotSupport:ee(427),webcodecsUnsupportedConfigurationError:ee(469),webcodecsDecodeConfigureError:ee(469),webcodecsDecodeError:"解码失败",webcodecsAudioInitTimeout:ee(817),webcodecsAudioNoDataTimeout:ee(609),wcsWidthOrHeightChange:ee(657),wasmDecodeError:"解码失败",simdDecodeError:ee(657),wasmWidthOrHeightChange:"流异常",wasmUseVideoRenderError:"video自动渲染失败",videoElementPlayingFailed:ee(649),simdH264DecodeVideoWidthIsTooLarge:ee(671),networkDelayTimeout:ee(766),fetchError:ee(617),streamEnd:ee(486),websocket1006Error:"流异常结束",websocketError:ee(617),webrtcError:ee(617),hlsError:"请求失败",decoderWorkerInitError:ee(865),decoderWorkerWasmError:ee(706),videoElementPlayingFailedForWebrtc:ee(649),videoInfoError:ee(588),webrtcStreamH265:"webrtc不支持H265",delayTimeout:"播放超时重播失败",loadingTimeout:ee(833),loadingTimeoutRetryEnd:ee(833),delayTimeoutRetryEnd:ee(778),flvDemuxBufferSizeTooLarge:ee(850),audioChannelError:ee(843),aliyunRtcError:ee(617),mseWaitVideoCanplayTimeout:ee(699),initDecoderWorkerTimeout:"初始化解码worker超时"},ge={playType:ie[ee(728)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:ce[ee(630)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:he[ee(666)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:ee(472),decoderOld:ee(574),decoderAudio:ee(597),decoderHard:ee(643),decoderHardNotWasm:ee(701),wasmMp4RecorderDecoder:"jessibuca-pro-mp4-recorder-decoder.js",decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:ee(687),aspectRatio:ee(607),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:le[ee(666)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:te[ee(604)],demuxType:se,useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ae[ee(807)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:ne[ee(790)],checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:ee(463),ptzClickType:ue,ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:ye,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:oe[ee(523)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:ee(480),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:"white",opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:ee(452),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};ee(504),ee(793),ee(435),ee(550),ee(616),ee(536),ee(811),ee(820),ee(688),ee(788),ee(799),ee(675);const be={init:ee(638),initVideo:ee(606),render:ee(805),playAudio:ee(718),initAudio:ee(826),kBps:ee(476),decode:ee(578),audioCode:ee(725),audioNalu:ee(667),audioAACSequenceHeader:ee(507),videoCode:"videoCode",videoCodec:"videoCodec",videoNalu:ee(610),videoPayload:ee(825),audioPayload:"audioPayload",wasmError:ee(852),workerFetch:"workerFetch",iframeIntervalTs:ee(460),isDropping:ee(592),workerEnd:"workerEnd",networkDelay:ee(599),playbackStreamVideoFps:ee(689),wasmWidthOrHeightChange:ee(782),simdDecodeError:ee(493),simdH264DecodeVideoWidthIsTooLarge:"simdH264DecodeVideoWidthIsTooLarge",websocketOpen:"websocketOpen",closeEnd:"closeEnd",tempStream:"tempStream",videoSEI:ee(669),flvScriptData:ee(774),aacSequenceHeader:ee(722),videoSequenceHeader:ee(732),flvBufferData:ee(443),checkFirstIFrame:"checkFirstIFrame",mseHandle:"mseHandle",mseFirstRenderTime:"mseFirstRenderTime",mseError:ee(603),notSupportNewWasm:ee(605)},Se={audio:1,video:2},Ie={audio:8,video:9,scriptData:18},we={init:ee(638),decode:ee(578),audioDecode:ee(809),videoDecode:ee(724),initAudioCodec:ee(798),initVideoCodec:"initVideoCodec",close:ee(784),updateConfig:"updateConfig",resetDecode:ee(594),clearBuffer:ee(573),resetAudioDecode:"resetAudioDecode",resetVideoDecode:ee(759),fetchStream:"fetchStream",sendWsMessage:ee(681),mseUpdateVideoTimestamp:"mseUpdateVideoTimestamp",playbackIsPause:ee(496)};ee(604),ee(742),ee(428),ee(517),ee(449),ee(723),ee(520),ee(604),ee(742),ee(428),ee(596);const Ae={fullscreen:ee(708),webFullscreen:ee(549),decoderWorkerInit:ee(672),play:"play",playing:ee(828),pause:ee(704),mute:ee(851),load:ee(731),loading:ee(502),zooming:ee(438),drawingRect:ee(419),drawingRectInfo:ee(581),videoInfo:ee(677),timeUpdate:ee(416),audioInfo:"audioInfo",log:ee(571),error:ee(457),kBps:ee(476),timeout:ee(561),delayTimeout:"delayTimeout",delayTimeoutRetryEnd:"delayTimeoutRetryEnd",loadingTimeout:ee(622),loadingTimeoutRetryEnd:ee(673),stats:"stats",performance:ee(554),videoSmooth:ee(768),faceDetectActive:ee(763),objectDetectActive:ee(747),occlusionDetectActive:ee(490),imageDetectActive:"imageDetectActive",record:ee(500),recording:ee(769),recordingTimestamp:ee(593),recordStart:ee(576),recordEnd:ee(773),recordCreateError:"recordCreateError",recordBlob:"recordBlob",recordCancel:ee(740),buffer:ee(517),videoFrame:"videoFrame",videoSEI:"videoSEI",videoSEISyncPts:"videoSEISyncPts",start:ee(501),metadata:ee(458),resize:ee(849),volumechange:ee(808),volume:"volume",destroy:ee(742),beforeDestroy:ee(678),streamEnd:ee(584),streamRate:ee(804),streamAbps:"streamAbps",streamVbps:ee(700),streamDts:ee(827),streamSuccess:ee(674),streamMessage:ee(789),streamError:"streamError",streamStats:ee(466),streamEndInner:"streamEndInner",mseSourceOpen:ee(726),mseSourceClose:"mseSourceClose",mseSourceended:ee(495),mseSourceStartStreaming:ee(664),mseSourceEndStreaming:"mseSourceEndStreaming",mseSourceBufferError:ee(462),mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:"mseWorkerAddSourceBufferError",mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:ee(711),videoWaiting:ee(541),videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:ee(806),playToRenderTimes:"playToRenderTimes",playbackTime:ee(846),playbackTimestamp:ee(777),playbackTimeScroll:ee(631),playbackPrecision:ee(464),playbackShowPrecisionChange:ee(555),playbackJustTime:"playbackJustTime",playbackStats:"playbackStats",playbackSeek:ee(455),playbackPause:"playbackPause",playbackPauseOrResume:ee(600),playbackRateChange:"playbackRateChange",playbackPreRateChange:ee(754),playbackEnd:ee(478),playVodStats:ee(543),playVodPause:ee(690),playVodPauseOrResume:ee(682),playVodRateChange:ee(644),playVodTime:"playVodTime",playVodTimeCache:ee(587),playVodSeek:ee(814),playVodSeekEnd:"playVodSeekEnd",playVodVideoSeekingByMse:ee(838),playVodVideoSeekedByMse:"playVodVideoSeekedByMse",playVodCanplay:ee(602),playVodWaiting:"playVodWaiting",playVodEndedAndReplay:ee(738),playVodEnded:"playVodEnded",ptz:"ptz",streamQualityChange:"streamQualityChange",visibilityChange:"visibilityChange",netBuf:ee(525),close:ee(784),networkDelayTimeout:ee(519),togglePerformancePanel:ee(847),viewResizeChange:ee(770),flvDemuxBufferSizeTooLarge:ee(580),talkGetUserMediaSuccess:ee(566),talkGetUserMediaFail:ee(783),talkGetUserMediaTimeout:ee(567),talkStreamStart:ee(767),talkStreamOpen:ee(707),talkStreamClose:"talkStreamClose",talkStreamError:ee(454),talkStreamInactive:"talkStreamInactive",talkStreamMsg:"talkStreamMsg",webrtcDisconnect:ee(823),webrtcFailed:ee(830),webrtcClosed:ee(548),webrtcChecking:ee(508),webrtcConnected:ee(514),webrtcCompleted:ee(648),webrtcOnConnectionStateChange:ee(869),webrtcOnIceConnectionStateChange:ee(608),crashLog:ee(841),focus:ee(426),blur:ee(492),inView:ee(792),visibilityHiddenTimeout:"visibilityHiddenTimeout",websocketOpen:ee(712),websocketClose:ee(596),websocketError:"websocketError",websocketMessage:ee(441),aiObjectDetectorInfo:ee(552),aiFaceDetectorInfo:"aiFaceDetectorInfo",aiOcclusionDetectResult:ee(844),aiImageDetectResult:"aiImageDetectResult",playFailedAndPaused:"playFailedAndPaused",audioResumeState:ee(547),webrtcStreamH265:ee(558),flvMetaData:"flvMetaData",talkFailedAndStop:ee(575),removeLoadingBgImage:"removeLoadingBgImage",memoryLog:ee(720),downloadMemoryLog:ee(533),pressureObserverCpu:"pressureObserverCpu",currentPts:ee(639),online:"online",offline:ee(749),networkState:ee(780),clickInitPlayer:ee(694)};ee(731),ee(416),ee(677),ee(442),ee(457),ee(476),ee(501),ee(561),ee(622),ee(673),ee(692),ee(487),ee(549),ee(531),ee(704),ee(851),ee(473),ee(554),ee(593),ee(773),ee(455),ee(612),ee(777),ee(600),ee(582),ee(555),ee(478),ee(682),ee(832),ee(814),ee(425),ee(845),ee(438),ee(841),ee(426),ee(492),ee(733),ee(712),ee(596),ee(552),ee(715),ee(844),ee(794),ee(640),ee(584),ee(547),ee(669),ee(553),ee(810),ee(869),ee(608),ee(639),ee(768),ee(780),ee(545),ee(581),ee(620),ee(454),ee(567),ee(489),ee(731),ee(416),ee(442),ee(457),ee(476),ee(501),ee(561),ee(622),ee(673),ee(692),ee(531),ee(704),ee(851),ee(473),ee(579),ee(640),ee(547);const ke={talkStreamError:Ae[ee(454)],talkStreamClose:Ae.talkStreamClose},xe={playError:ee(744),fetchError:ee(449),websocketError:ee(577),webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsDecodeError:"webcodecsDecodeError",webcodecsUnsupportedConfigurationError:ee(450),webcodecsDecodeConfigureError:ee(652),webcodecsAudioInitTimeout:ee(829),webcodecsAudioNoDataTimeout:ee(482),mediaSourceH265NotSupport:ee(618),mediaSourceAudioG711NotSupport:ee(743),mediaSourceAudioInitTimeout:ee(623),mediaSourceAudioNoDataTimeout:"mediaSourceAudioNoDataTimeout",mediaSourceDecoderConfigurationError:ee(676),mediaSourceFull:Ae.mseSourceBufferFull,mseSourceBufferError:Ae[ee(462)],mseAddSourceBufferError:Ae[ee(535)],mseWorkerAddSourceBufferError:Ae[ee(626)],mediaSourceAppendBufferError:ee(444),mediaSourceTsIsMaxDiff:"mediaSourceTsIsMaxDiff",mediaSourceUseCanvasRenderPlayFailed:ee(512),mediaSourceBufferedIsZeroError:ee(862),wasmDecodeError:ee(795),wasmUseVideoRenderError:ee(641),simdH264DecodeVideoWidthIsTooLarge:ee(537),simdDecodeError:"simdDecodeError",hlsError:ee(836),webrtcError:ee(776),webrtcClosed:Ae[ee(548)],webrtcIceCandidateError:ee(542),webglAlignmentError:ee(760),wasmWidthOrHeightChange:ee(782),mseWidthOrHeightChange:ee(698),wcsWidthOrHeightChange:"wcsWidthOrHeightChange",widthOrHeightChange:"widthOrHeightChange",tallWebsocketClosedByError:ee(721),flvDemuxBufferSizeTooLarge:Ae.flvDemuxBufferSizeTooLarge,audioChannelError:ee(637),webglContextLostError:ee(653),videoElementPlayingFailed:ee(651),videoElementPlayingFailedForWebrtc:ee(621),decoderWorkerInitError:"decoderWorkerInitError",decoderWorkerWasmError:ee(516),videoInfoError:"videoInfoError",streamEnd:Ae[ee(584)],websocket1006Error:ee(636),delayTimeout:Ae.delayTimeout,loadingTimeout:Ae[ee(622)],networkDelayTimeout:Ae[ee(519)],fullscreenError:ee(570),aliyunRtcError:ee(628),mseWaitVideoCanplayTimeout:"mseWaitVideoCanplayTimeout",initDecoderWorkerTimeout:ee(481),notSupportNewWasm:ee(605),playVodMp4Error:ee(762),mp4Error:ee(518),...ke};ee(781),ee(457);const Ee={connecting:0,open:1,closing:2,closed:3};ee(654),ee(424),ee(624),ee(544),ee(624),ee(446),ee(691);const Ce={h264:7,h265:12,mpeg4:99},Be={h264:"H264(AVC)",h265:ee(691)},De={AAC:10,ALAW:7,MULAW:8,MP3:2};ee(497),ee(510),ee(787),ee(530),ee(705),ee(510);const Me={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Te={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};function Ue(){const e=["image/jpeg","sendWsMessage","playVodPauseOrResume","playback","halfHour","stream-parsed","apertureFar","none","isMpeg4","playbackStreamVideoFps","playVodPause","H265(HEVC)","delayTimeoutRetryEnd","jbprov","clickInitPlayer","/crypto/","mseDecodeError","buffereos","mseWidthOrHeightChange","流异常","streamVbps","decoder-pro-hard-not-wasm.js","connecting","half-hour","pause","MULAW","wasm解码失败","talkStreamOpen","fullscreen$2","left","7KOnaXO","mseSourceBufferFull","websocketOpen","hevc","switch-url-failed","aiFaceDetectorInfo","fiveMin","multiDragenter","playAudio","5293405QajKti","memoryLog","tallWebsocketClosedByError","aacSequenceHeader","fetchClose","videoDecode","audioCode","mseSourceOpen","loadeddata","player","focusNear","aliyunRtc","load","videoSequenceHeader","visibilityChange","demuxed-track","fogClose","multiDblSelected",'video/mp4;codecs="hev1.1.6.L120.90"',"playVodEndedAndReplay","leftDown","recordCancel","WebTransport","destroy","mediaSourceAudioG711NotSupport","playIsNotPauseOrUrlIsNull","webrtc-failed","tcp","objectDetectActive","mp3","offline","A key frame is required after configure() or flush()","flv-script-data","udp","187960puDAKS","playbackPreRateChange","20240910","FMP4","leftUp","fmp4","resetVideoDecode","webglAlignmentError","stalled","playVodMp4Error","faceDetectActive","MEDIA_ERR_ABORTED","image/webp","网络超时重播失败","talkStreamStart","videoSmooth","recording","viewResizeChange","message","playbackTF","recordEnd","flvScriptData","zoomExpand","webrtcError","playbackTimestamp","播放超时重播失败","AliyunRtc","networkState","open","wasmWidthOrHeightChange","talkGetUserMediaFail","close","sei","window","AAC","isHls","streamMessage","mp4","sourceended","inView","playbackForwardMaxRateDecodeIFrame","aiImageDetectResult","wasmDecodeError","emptied","paused","initAudioCodec","isWebrtcForZLM","multiDragstart","active","sourcebuffer-created","webgl","streamRate","render","videoSyncAudio","wasm","volumechange","audioDecode","flvMetaData","isFlv","jtt","nakedFlow","playVodSeek","self","canplay","初始化音频解码器失败","10min","audio packet","isFmp4","complete","csrc","webrtcDisconnect","simd","videoPayload","initAudio","streamDts","playing","webcodecsAudioInitTimeout","webrtcFailed","Decoder error","playVodTime","加载超时重播失败","4-1","startstreaming","hlsError","webrtc-disconnected","playVodVideoSeekingByMse","oneHour","Webgl 渲染失败","crashLog","ulaw","音频通道错误","aiOcclusionDetectResult","streamQualityChange","playbackTime","togglePerformancePanel","459IvvdzJ","resize","FLV待解封装buffer过大","mute","wasmError","inbound-rtp","hls-manifest-loaded","down","avc","webTransport","2sBasrH","container","candidate-pair","codec","mediaSourceBufferedIsZeroError","switch-url-success","The user aborted a request","初始化worker失败","script","HLS","jbprovm","webrtcOnConnectionStateChange","right","4371174cnObeI","hls","canplaythrough","zoomNarrow","timeUpdate","decoder-pro-audio-player.js","AbortError","drawingRect","MEDIA_ERR_DECODE","receiver","loadedmetadata","sender","full","playVodSeekEnd","focus","不支持硬解码H265","destroyEnd","#000","left-down","remove-buffer","playerAudio","webrtc","object","isMulti","load-retry","multiSelected","zooming","ten-min","endstreaming","websocketMessage","audioInfo","flvBufferData","mediaSourceAppendBufferError","seeking","H264(AVC)","mse","apertureNear","fetchError","webcodecsUnsupportedConfigurationError","timeupdate","red","mpeg4","talkStreamError","playbackSeek","closed","error","metadata","fiStop","iframeIntervalTs","one-hour","mseSourceBufferError","vertical","playbackPrecision",'video/mp4;codecs="hev1.3.E.L120.90"',"streamStats","five-min","transport","初始化解码器失败","talk","g711","decoder-pro.js","stats","硬解码不支持G711a/u音频格式","webgl 上下文丢失","kBps","remote-candidate","playbackEnd","g711u","white","initDecoderWorkerTimeout","webcodecsAudioNoDataTimeout","load-complete","3-1","webrtc-checking","请求结束","fullscreen","play() failed because the user didn't interact with the document first","talkStreamMsg","occlusionDetectActive","hls-level-loaded","blur","simdDecodeError","subtitle-segments","mseSourceended","playbackIsPause","MULAW(g711u)","load-start","image/png","record","start","loading","qualitychange","playType","sourceopen","suspend","audioAACSequenceHeader","webrtcChecking","multiDragleave","MP3","focusFar","mediaSourceUseCanvasRenderPlayFailed","opus","webrtcConnected","track","decoderWorkerWasmError","buffer","mp4Error","networkDelayTimeout","fetchSuccess","progress","Cannot call 'decode' on a closed codec","video","sei-in-time","netBuf","load-response-headers","Webrtc","local-candidate","no-audio-track","ALAW","play","M7S","downloadMemoryLog","canvas","mseAddSourceBufferError","controlSize","simdH264DecodeVideoWidthIsTooLarge","fogOpen","small","80930NjIpTA","videoWaiting","webrtcIceCandidateError","playVodStats","blob","volume","Unsupported configuration","audioResumeState","webrtcClosed","webFullscreen","pauseAndNextPlayUseLastFrameShow","worklet","aiObjectDetectorInfo","videoSEISyncPts","performance","playbackShowPrecisionChange","缓冲区已满","mouseDownAndUp","webrtcStreamH265","webrtc-connected","multiMouseout","timeout","8471624UbIGJY","playVod","m7s","826221tvdaaj","talkGetUserMediaSuccess","talkGetUserMediaTimeout","g711a","0000000000","fullscreenError","log","sourceclose","clearBuffer","decoder-pro-old.js","talkFailedAndStop","recordStart","websocketError","decode","playToRenderTimes","flvDemuxBufferSizeTooLarge","drawingRectInfo","playbackRateChange","alaw","streamEnd","global","ceil","playVodTimeCache","解析视频分辨率失败","JessibucaPro","multiMousedown","multiMouseup","isDropping","recordingTimestamp","resetDecode","durationchange","websocketClose","decoder-pro-audio.js","Decoding error","networkDelay","playbackPauseOrResume","播放地址不能为空","playVodCanplay","mseError","fetch","notSupportNewWasm","initVideo","default","webrtcOnIceConnectionStateChange","等待音频数据超时","videoNalu","3964828oqdTDf","playbackStats","key","pcm","wiperClose","widthOrHeightChangeReplayDelayTime","请求失败","mediaSourceH265NotSupport","certificate","talkStreamClose","videoElementPlayingFailedForWebrtc","loadingTimeout","mediaSourceAudioInitTimeout","download","offscreen","mseWorkerAddSourceBufferError","created","aliyunRtcError","ttfb","warn","playbackTimeScroll","idle","delta","NotAllowedError","cruiseStop","websocket1006Error","audioChannelError","init","currentPts","playFailedAndPaused","wasmUseVideoRenderError","media-source","decoder-pro-hard.js","playVodRateChange","simple","5min","mov","webrtcCompleted","video自动渲染失败","readystatechange","videoElementPlayingFailed","webcodecsDecodeConfigureError","webglContextLostError","buffering","remote-outbound-rtp","rtp","解码失败","multiMouseover","cruiseStart","MEDIA_ERR_NETWORK",'video/mp4;codecs="hev1.4.10.L120.90"',"waiting","ended","mseSourceStartStreaming","empty","normal","audioNalu","wcsDecodeError","videoSEI","right-up","不支持该分辨率的视频","decoderWorkerInit","loadingTimeoutRetryEnd","streamSuccess","isWebrtcForOthers","mediaSourceDecoderConfigurationError","videoInfo","beforeDestroy","websocket"];return(Ue=function(){return e})()}ee(803),ee(625),ee(447),ee(433);const Fe={key:ee(613),delta:ee(633)},Pe='video/mp4; codecs="avc1.64002A"',Re='video/mp4; codecs="hev1.1.6.L123.b0"',Le=(ee(737),ee(465),ee(661),{ended:ee(663),open:ee(781),closed:ee(456)});Math[ee(586)](40),ee(839),ee(684),ee(716),ee(461),ee(703),ee(439),ee(467),ee(818),ee(646),ee(839),ee(684),ee(716),ee(870),ee(855),ee(709),ee(670),ee(430),ee(870),ee(855),ee(709),ee(757),ee(739),ee(459),ee(775),ee(415),ee(686),ee(448),ee(511),ee(729),ee(659),ee(635),ee(538),ee(735),ee(615);ee(568),ee(479),ee(513);ee(499),ee(680),ee(765);const ze={sourceClose:ee(572),sourceOpen:ee(505),sourceended:ee(791),startstreaming:ee(835),endstreaming:ee(440),qualitychange:ee(503)};ee(816),ee(662),ee(451),ee(761),ee(422);const Ne={h264:ee(856),h265:ee(713)};ee(750),ee(522),ee(546),ee(598),ee(831);const Oe={abortError:ee(864),abortError2:ee(418),abort:ee(418)};ee(502),ee(797),ee(742);const He={sequenceHeader:0,nalu:1},Ve={keyFrame:1,interFrame:2};ee(665),ee(656),ee(812),ee(746),ee(752);ee(683),ee(781),ee(457),ee(771);ee(551),ee(866);ee(568),ee(656),ee(746),ee(569),ee(630),ee(551),ee(551),ee(866),ee(801),ee(429),ee(736),ee(437),ee(658),ee(560),ee(591),ee(590),ee(800),ee(717),ee(509),ee(484),ee(834),ee(859);const Ge={keyFrame:1,interFrame:2};ee(432),ee(604),ee(417),ee(494),ee(854),ee(491),ee(734),ee(751),ee(629),ee(436),ee(498),ee(483),ee(526),ee(785),ee(524),ee(529),ee(431),ee(697),ee(802),ee(714),ee(863),ee(685),ee(457);const We={idle:ee(632),connecting:ee(702),buffering:ee(654),error:"error",complete:ee(821)};ee(764),ee(660),ee(420),ee(819),ee(488),ee(634);const je={video:1,audio:2},qe=128,Ke={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Ye={FT_KEY:16,FT_INTER:32};ee(860),ee(619),ee(861),ee(822),ee(853),ee(528),ee(421),ee(477),ee(655),ee(423),ee(515),ee(468),ee(642),ee(696),ee(668),ee(842),ee(583),ee(748),ee(485),ee(559),ee(837),ee(745),ee(627),ee(502),ee(828);const Xe=typeof window===ee(434)&&window[ee(786)]===window?window:typeof self===ee(434)&&self[ee(815)]===self?self:typeof global===ee(434)&&global[ee(585)]===global?global:void 0;ee(816),ee(414),ee(821),ee(595),ee(796),ee(663),ee(457),ee(727),ee(704),ee(531),ee(828),ee(521),ee(445),ee(761),ee(506),ee(451),ee(808),ee(650),ee(457);var Je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Qe(e,t){return e(t={exports:{}},t.exports),t.exports}var $e=Object.freeze({__proto__:null,commonjsGlobal:Je,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:Ze,createCommonjsModule:Qe,getCjsExportFromNamespace:function(e){return e&&e.default||e}}),et=tt;function tt(e,t){var r=rt();return(tt=function(e,t){return r[e-=418]})(e,t)}function rt(){var e=["1308846TgBfZo","undefined","defineProperties","isEnabled","createCommonjsModule","request","webkitRequestFullScreen","14179830NjCmaS","error","msFullscreenEnabled","screenfull","webkitExitFullscreen","object","mozCancelFullScreen","addEventListener","MSFullscreenError","off","catch","then","fullscreenerror","length","webkitFullscreenElement","fullscreenEnabled","webkitfullscreenerror","requestFullscreen","mozRequestFullScreen","isFullscreen","1646540iVXMUU","webkitfullscreenchange","removeEventListener","88bwHgKR","msExitFullscreen","mozfullscreenerror","fullscreenElement","webkitRequestFullscreen","144ZmsXNb","exitFullscreen","859888VHTnyR","exports","bind","fullscreenchange","exit","1287618aPMYfx","msFullscreenElement","webkitFullscreenEnabled","3356588SMUOnc","25wCmkwF","webkitCancelFullScreen","documentElement","change","2427VuvjDa"];return(rt=function(){return e})()}function it(){const e=["byteLength","_buffer_index","_total_bytes","buffer","ExpGolomb: readBits() bits exceeded max 32bits!","958853Rnwvmj","7634120dmVRMY","_total_bits","_current_word","_buffer","_current_word_bits_left","subarray","2477388ObxsMc","1106976uBTfjF","1857XUJsvz","destroy","5RPNNyE","2142imyIQz","readUEG","ExpGolomb: _fillCurrentWord() but no bytes available","set","getUint32","_skipLeadingZero","3845700TRXeOr","4793005aWIIMZ","error","min","readSEG","readBits","readByte","_fillCurrentWord"];return(it=function(){return e})()}!function(e,t){for(var r=tt,i=e();;)try{if(970616===-parseInt(r(466))/1+-parseInt(r(460))/2+parseInt(r(465))/3*(-parseInt(r(445))/4)+-parseInt(r(461))/5*(-parseInt(r(457))/6)+-parseInt(r(442))/7+parseInt(r(452))/8*(parseInt(r(450))/9)+parseInt(r(422))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(rt),$e[et(419)]((function(e){var t,r,i,n,s,a;t=tt,r="undefined"!=typeof window&&typeof window.document!==t(467)?window.document:{},i="undefined"!==t(427)&&e[t(453)],n=function(){for(var e,i=t,n=[[i(439),i(451),"fullscreenElement","fullscreenEnabled",i(455),i(434)],[i(449),i(426),i(436),i(459),i(443),i(438)],[i(421),i(462),"webkitCurrentFullScreenElement",i(462),i(443),i(438)],[i(440),i(428),"mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange",i(447)],["msRequestFullscreen",i(446),i(458),i(424),"MSFullscreenChange",i(430)]],s=0,a=n[i(435)],o={};s32&&console.error(t(221)),e<=this._current_word_bits_left){let r=this._current_word>>>32-e;return this._current_word<<=e,this[t(227)]-=e,r}let r=this[t(227)]?this[t(225)]:0;r>>>=32-this[t(227)];let i=e-this._current_word_bits_left;this[t(216)]();let n=Math.min(i,this._current_word_bits_left),s=this[t(225)]>>>32-n;return this[t(225)]<<=n,this[t(227)]-=n,r=r<>>t))return this._current_word<<=t,this[e(227)]-=t,t;return this[e(216)](),t+this[e(239)]()}[nt(235)](){let e=this[nt(239)]();return this.readBits(e+1)-1}[nt(244)](){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const ot=vt;!function(e,t){const r=vt,i=e();for(;;)try{if(706742===-parseInt(r(158))/1+-parseInt(r(167))/2*(parseInt(r(150))/3)+-parseInt(r(151))/4+parseInt(r(169))/5+parseInt(r(136))/6*(-parseInt(r(157))/7)+parseInt(r(195))/8*(-parseInt(r(193))/9)+parseInt(r(156))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(_t);const ct=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],ut=ct,lt=ct;function ht(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function dt(e){const t=vt;return ft(e)&&e[1]===He[t(162)]}function ft(e){const t=vt;return e[0]>>4===De[t(139)]}const pt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function mt(e){const t=vt;let r=new Uint8Array(e),i=null,n=0,s=0,a=0,o=null;if(n=s=r[0]>>>3,a=(7&r[0])<<1|r[1]>>>7,a<0||a>=pt[t(134)])return void console.error(t(179));let c=pt[a],u=(120&r[1])>>>3;if(u<0||u>=8)return void console[t(137)](t(202));5===n&&(o=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Xe[t(161)][t(192)].toLowerCase();return-1!==l[t(149)](t(173))?a>=6?(n=5,i=new Array(4),o=a-3):(n=2,i=new Array(2),o=a):-1!==l.indexOf(t(180))?(n=2,i=new Array(2),o=a):(n=5,o=a,i=new Array(4),a>=6?o=a-3:1===u&&(n=2,i=new Array(2),o=a)),i[0]=n<<3,i[0]|=(15&a)>>>1,i[1]=(15&a)<<7,i[1]|=(15&u)<<3,5===n&&(i[1]|=(15&o)>>>1,i[2]=(1&o)<<7,i[2]|=8,i[3]=0),{audioType:t(182),config:i,sampleRate:c,channelCount:u,objectType:n,codec:"mp4a.40."+n,originalCodec:t(154)+s}}ot(187),ot(188),ot(176);function vt(e,t){const r=_t();return(vt=function(e,t){return r[e-=129]})(e,t)}function _t(){const e=["error","subarray","frameLengthType = ","indexOf","339USbAcE","3301500SuQiao","sampleRate: ","readNextAACFrame","mp4a.40.","other_data_present","40792930AqCQVh","7cxnErV","1247238pBzLQS","findNextSyncwordOffset","StreamMuxConfig Missing","navigator","sequenceHeader","warn","readByte","audioMuxVersionA is Not Supported","getIncompleteData","4552tqSLnJ","chan_config","2343515DSqGrR","more than 2 numLayer Not Supported","current_syncword_offset_","profile: ","firefox","audio_object_type","object_type","read_golomb","hasIncompleteData","destroy","Flv: AAC invalid sampling frequency index!","android","data","aac","ext_object_type","readBits","channel_config","sampling_index","read","look","aacEncoderConfigurationRecord","Could not found ADTS syncword until payload end","iserro","userAgent","945774NXSwPQ","buflen","88sCZwol","mp4a.40.2","eof_flag_","bufpos","has_last_incomplete_data","sbr","buffer","Flv: AAC invalid channel configuration","unshift","sampling_freq_index","set","channels","getLATMValue","byteLength","length","slice","2133042jCjdjv","log","readBool","AAC","sample_rate","channel: ","bufoff","data_","sampling_frequency","Invalid sampling index: "];return(_t=function(){return e})()}class yt{constructor(e){const t=ot;this[t(143)]=e,this.eof_flag_=!1,this[t(171)]=this.findNextSyncwordOffset(0),this[t(197)]&&console[t(146)](t(190))}findNextSyncwordOffset(e){const t=ot;let r=e,i=this[t(143)];for(;;){if(r+7>=i[t(133)])return this[t(197)]=!0,i[t(133)];if(4095===(i[r+0]<<8|i[r+1])>>>4)return r;r++}}[ot(153)](){const e=ot;let t=this[e(143)],r=null;for(;null==r&&!this[e(197)];){let i=this[e(171)],n=(8&t[i+1])>>>3,s=(6&t[i+1])>>>1,a=1&t[i+1],o=(192&t[i+2])>>>6,c=(60&t[i+2])>>>2,u=(1&t[i+2])<<2|(192&t[i+3])>>>6,l=(3&t[i+3])<<11|t[i+4]<<3|(224&t[i+5])>>>5;if(t[i+6],i+l>this.data_[e(133)]){this[e(197)]=!0,this[e(199)]=!0;break}let h=1===a?7:9,d=l-h;i+=h;let f=this[e(159)](i+d);if(this.current_syncword_offset_=f,0!==n&&1!==n||0!==s)continue;let p=t[e(147)](i,i+d);r={},r[e(174)]=o+1,r[e(129)]=c,r[e(144)]=ut[c],r[e(185)]=u,r[e(181)]=p}return r}[ot(177)](){return this[ot(199)]}[ot(166)](){const e=ot;return this[e(199)]?this[e(143)][e(147)](this[e(171)]):null}}class gt{constructor(e){const t=ot;this.data_=e,this[t(197)]=!1,this[t(171)]=this.findNextSyncwordOffset(0),this[t(197)]&&console[t(146)](t(190))}[ot(159)](e){const t=ot;let r=e,i=this[t(143)];for(;;){if(r+1>=i[t(133)])return this[t(197)]=!0,i.byteLength;if(695===(i[r+0]<<3|i[r+1]>>>5))return r;r++}}[ot(132)](e){const t=ot;let r=e[t(184)](2),i=0;for(let n=0;n<=r;n++)i<<=8,i|=e[t(164)]();return i}[ot(153)](e){const t=ot;let r=this[t(143)],i=null;for(;null==i&&!this[t(197)];){let n=this[t(171)],s=(31&r[n+1])<<8|r[n+2];if(n+3+s>=this[t(143)].byteLength){this[t(197)]=!0,this[t(199)]=!0;break}let a=new at(r[t(147)](n+3,n+3+s)),o=null;if(a[t(138)]()){if(null==e){console[t(163)](t(160)),this[t(171)]=this[t(159)](n+3+s),a[t(178)]();continue}o=e}else{let e=a[t(138)]();if(e&&a[t(138)]()){console[t(146)](t(165)),a.destroy();break}if(e&&this[t(132)](a),!a[t(138)]()){console[t(146)]("allStreamsSameTimeFraming zero is Not Supported"),a.destroy();break}if(0!==a[t(184)](6)){console[t(146)]("more than 2 numSubFrames Not Supported"),a[t(178)]();break}if(0!==a[t(184)](4)){console[t(146)]("more than 2 numProgram Not Supported"),a.destroy();break}if(0!==a[t(184)](3)){console[t(146)](t(170)),a[t(178)]();break}let r=e?this[t(132)](a):0,i=a[t(184)](5);r-=5;let n=a.readBits(4);r-=4;let s=a[t(184)](4);r-=4,a[t(184)](3),r-=3,r>0&&a[t(184)](r);let c=a.readBits(3);if(0!==c){console[t(146)](t(148)+c+". Only frameLengthType = 0 Supported"),a.destroy();break}a.readByte();let u=a[t(138)]();if(u)if(e)this.getLATMValue(a);else{let e=0;for(;;){e<<=8;let r=a[t(138)]();if(e+=a[t(164)](),!r)break}console[t(137)](e)}a[t(138)]()&&a[t(164)](),o={},o[t(174)]=i,o[t(129)]=n,o[t(144)]=ut[o[t(129)]],o[t(185)]=s,o[t(155)]=u}let c=0;for(;;){let e=a[t(164)]();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function It(e){const t=bt;let r=arguments[t(460)]>1&&void 0!==arguments[1]?arguments[1]:4;if(e[t(460)]<4)return[];const i=e[t(460)],n=[];let s,a=0;for(;a+r>>=8),a+=r,s){if(a+s>i)break;n[t(461)](e.subarray(a,a+s)),a+=s}return n}function wt(e,t){const r=bt,i=e[r(460)];let n=t?2:1,s=0,a=0,o="";for(;255===e[n];)s+=255,n++;for(s+=e[n++];255===e[n];)a+=255,n++;if(a+=e[n++],5===s&&i>n+16)for(let t=0;t<16;t++)o+=e[n][r(471)](16),n++;return{payload:e.subarray(n),type:s,size:a,uuid:o}}function At(e){const t=e[bt(466)],r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function kt(e,t){let r=null;return t?e[bt(460)]>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function xt(){const e=["608359IvtoQG","byteLength","758792yAlqgf","set","81FDnPHn","127392LytPTW","toString","4052058kjmiqx","209692qIzFCd","subarray","18NSOgvt","85WxKddj","length","push","17535510hwWFQM","5739426VOzQaZ","setUint32"];return(xt=function(){return e})()}!function(e,t){const r=bt,i=e();for(;;)try{if(482352===parseInt(r(465))/1+-parseInt(r(456))/2*(parseInt(r(458))/3)+parseInt(r(470))/4*(-parseInt(r(459))/5)+-parseInt(r(472))/6+parseInt(r(463))/7+parseInt(r(467))/8*(-parseInt(r(469))/9)+parseInt(r(462))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(xt);const Et=Ct;function Ct(e,t){const r=Mt();return(Ct=function(e,t){return r[e-=375]})(e,t)}function Bt(){return(new Date).getTime()}function Dt(e,t,r){const i=Ct;return Math[i(637)](Math[i(568)](e,Math[i(637)](t,r)),Math.min(t,r))}function Mt(){const e=["setInt32","836456gfdmdk","VideoDecoder","image/png","getSeconds","overflow","data-","[object Exception]","application/mozilla-npqihooquicklogin","localhost","moz-webgl",'"9-21-2024"',"borderStyle","getPropertyValue","join","not compiled with thread support","pageY","line","hasAudio","ManagedMediaSource","target","body","AAC",'"production"',"memory","atob","strokeRect","useOffscreen","18iBofYC","xxxxxxxxxxxx4xxx","px Arial","Edge","getUserMedia","getAttribute","apply","opacity","navigator","content","39613833QNLZkP","xxxx","numberOfFrames","GB/s","host","Reserved SBR extensions is not implemented","backgroundColor","#000","experimental-webgl","angle","sequenceHeader","paused","ALAW","pointer-events: none !important; display: block !important","slice","now","QihooBrowser","iFrame","lineWidth","-webkit-user-select","string","fromCharCode","AudioData","EB/s","wcsDecodeAudio","initEvent","object","instantiate","3021208yCwwzx","WebGLRenderingContext","ended","not compiled with thread support, using thread emulation","visibility","100%","none","function","toFixed","h265","origin","borderWidth","absolute","innerHTML","then","split","sps","Edg","100","insertBefore","style","event","getMinutes","toDataURL","open","canPlayType","toString","touches","user-select","QQBrowser","useWCS","video","map","revokeObjectURL","clientX","msFullscreenElement","canvas","parse","pow","assign","firefox","mediaDevices","documentElement","dispatchEvent","MediaSource","imageSmoothingQuality","2187565KgnpRS","setInt16","NaN","floor","rgba(0,0,0,0)","shadowRoot","test","application/vnd.chromium.remoting-viewer","destination","9999999","fillText","createObjectURL","save","getDate","addModule","prototype","removeAttribute","div","fontSize","VideoEncoder is not supported","createEvent","supported","opera","imageSmoothingEnabled","mousedown","mouseup","scrollLeft","nLp","format","push","WAVE","block","mozGetUserMedia","createElement","width","Firefox","crossOrigin","height","clientY",'"development"',"MULAW","isTypeSupported","srcElement","keyFrame","setUint8","scrollTop","toLowerCase","error","webkit-3d","gpu","keys","fmt ","application/vnd.apple.mpegurl","setUint16","min","onerror","isFullscreen","fillStyle","MB/s","click","setHours","appendChild","webgl2","360EE","WebGL2RenderingContext","font","audioWorklet","connect","left","canConstructInDedicatedWorker","2791038MkpTER","win32","avc1.","file","charAt","VideoEncoder.isConfigSupported() result is not supported","{y}-{m}-{d} {h}:{i}:{s}","getHours","useMSE","drawImage","substring","Bytes","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","h264","KB/s","TB/s","0 KB/s","setUint32","length","isConfigSupported","right","display","mimeTypes","getImageData","readAsArrayBuffer","data","close","1XfObmx","text","-webkit-touch-callout","win64","hev3","ZB/s","webm",'video/mp4; codecs="',"undefined","color","quality","failed to asynchronously prepare wasm","top",'"2.0.0"',"round","Safari","children","pps","demuxUseWorker","high","-ms-user-select","wow32","search","protocol","filter","MediaStream","max","pageX","VideoFrame","getParameter","bottom","dataset","YB/s","setAttribute","touchend","download","showModalDialog","forEach","Opera","type","green","attachShadow","VideoEncoder.isConfigSupported is not a function","Instance","pathname","data:","498792XQUvEZ","PB/s","1164318HnmkRY","f32-planar","touchmove","set","log","PressureObserver","illegal icc","href","webkitGetUserMedia","application/asx","360SE","wow64","indexOf","vps","onload","URL","createTextNode","performance","If you want to help, upload a sample of this file to","hev4","textAlign","Module","toUpperCase","contain","replace","document","fontFamily","charCodeAt","getUint8","resume","location","message","-o-user-select","position","-webkit-tap-highlight-color","getContext","safari","chrome","subarray","userAgent","hev5","match","img","true","byteLength","QHBrowser","container","AudioDecoder","repeat","random","https:","src","trim","result","webgl","image","start","stringify","touchstart","rect","solid","fullscreenElement","copyright"];return(Mt=function(){return e})()}function Tt(){const e=Ct;return performance&&typeof performance.now===e(475)?performance[e(455)]():Date.now()}function Ut(e){let t=0,r=Tt();return i=>{if(!function(e){const t=Et;return"[object Number]"===Object[t(529)][t(494)].call(e)}(i))return;t+=i;const n=Tt(),s=n-r;s>=1e3&&(e(t/s*1e3),r=n,t=0)}}!function(e,t){const r=Ct,i=e();for(;;)try{if(787890===parseInt(r(611))/1*(-parseInt(r(659))/2)+-parseInt(r(584))/3+-parseInt(r(468))/4+parseInt(r(514))/5*(-parseInt(r(430))/6)+parseInt(r(657))/7+-parseInt(r(403))/8+parseInt(r(440))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Mt),(()=>{const e=Ct;try{if(typeof WebAssembly===e(466)&&typeof WebAssembly[e(467)]===e(475)){const t=new(WebAssembly[e(680)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly[e(680)])return new(WebAssembly[e(654)])(t)instanceof WebAssembly[e(654)]}}catch(e){}})();Et(425);const Ft=Et(624),Pt=Et(413);Et(553),Et(425);function Rt(e){return null==e}function Lt(e){return!Rt(e)}function zt(e){return typeof e===Et(475)}function Nt(e){const t=Et;let r=null,i=31&e[0];return(i===Me[t(484)]||i===Me[t(628)])&&(r=Be[t(597)]),!r&&(i=(126&e[0])>>1,(i===Te[t(672)]||i===Te[t(484)]||i===Te[t(628)])&&(r=Be[t(477)])),r}function Ot(){return typeof WritableStream!==Et(619)}function Ht(e){e[Et(610)]()}function Vt(e,t){const r=Et;t&&(e=e[r(635)]((e=>e[r(650)]&&e.type===t)));let i=e[0],n=null,s=1;if(e.length>0){let t=e[1];t&&t.ts-i.ts>1e5&&(i=t,s=2)}if(i)for(let a=s;a=1e3){e[a-1].ts-i.ts<1e3&&(n=a+1)}}}return n}function Gt(e){return e.ok&&e.status>=200&&e.status<=299}function Wt(){return function(e){const t=Et;let r="";if("object"==typeof e)try{r=JSON[t(396)](e),r=JSON[t(505)](r)}catch(t){r=e}else r=e;return r}(ge)}function jt(e){const t=Et;return e[0]>>4===Ve[t(557)]&&e[1]===He[t(450)]}function qt(e){return!0===e||e===Et(382)}function Kt(e){return!0!==e&&"true"!==e}function Yt(){const e=Et;return!!(Xe.Worker&&Xe[e(512)]&&"canConstructInDedicatedWorker"in Xe[e(512)]&&!0===Xe[e(512)][e(583)])}function Xt(e,t){const r=Et,i=It(e[r(454)](5));let n=!1;return i[r(648)]((e=>{const i=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Te[i(457)]||s===Te[i(541)]||s===Te.craNut)||Kt(t)&&s===Me[i(457)])&&(n=!0)})),n}const Jt=Qt;!function(e,t){const r=Qt,i=e();for(;;)try{if(266355===-parseInt(r(249))/1+parseInt(r(251))/2*(parseInt(r(245))/3)+-parseInt(r(223))/4+-parseInt(r(269))/5+parseInt(r(237))/6+-parseInt(r(253))/7*(parseInt(r(267))/8)+parseInt(r(229))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}($t);var Zt=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){const a=Qt;function o(e){const t=Qt;try{u(i[t(250)](e))}catch(e){s(e)}}function c(e){try{u(i.throw(e))}catch(e){s(e)}}function u(e){const t=Qt;var i;e[t(248)]?n(e[t(262)]):(i=e[t(262)],i instanceof r?i:new r((function(e){e(i)})))[t(222)](o,c)}u((i=i[a(233)](e,t||[]))[a(250)]())}))};function Qt(e,t){const r=$t();return(Qt=function(e,t){return r[e-=222]})(e,t)}function $t(){const e=["copyWithin","21OeZjMF","return","U32","done","253239JMGFaM","next","148078PMbknf","reject","30443tAolxG","subarray","read","U16","close","readU32","pull","readU8","consume","value","buffer","byteLength","__awaiter","need","368wsNxoG","set","969280PEsbjh","then","6576RHbkVh","length","resolve","flush","write","EOF","2229021PzbKcf","writeU16","malloc","call","apply","number","throw","lastReadPromise","895236NMWCIM","setG","demand","consumed","Unsupported type","writeU8","byteOffset"];return($t=function(){return e})()}const er=Symbol(32),tr=Symbol(16),rr=Symbol(8);class ir{constructor(e){const t=Jt;this.g=e,this[t(240)]=0,e&&(this[t(266)]=e[t(250)]()[t(262)])}[Jt(238)](e){const t=Jt;this.g=e,this[t(239)](e[t(250)]().value,!0)}[Jt(261)](){const e=Jt;this[e(263)]&&this.consumed&&(this[e(263)][e(244)](0,this[e(240)]),this[e(263)]=this[e(263)][e(254)](0,this[e(263)][e(224)]-this[e(240)]),this[e(240)]=0)}demand(e,t){const r=Jt;return t&&this[r(261)](),this[r(266)]=e,this[r(226)]()}[Jt(255)](e){return Zt(this,void 0,void 0,(function*(){const t=Qt;return this[t(236)]&&(yield this[t(236)]),this[t(236)]=new Promise(((r,i)=>{const n=t;var s;this[n(252)]=i,this[n(225)]=e=>{const t=n;delete this[t(236)],delete this[t(225)],delete this[t(266)],r(e)};this.demand(e,!0)||null===(s=this[n(259)])||void 0===s||s[n(232)](this,e)}))}))}[Jt(258)](){return this.read(er)}readU16(){return this.read(tr)}[Jt(260)](){return this.read(rr)}[Jt(257)](){const e=Jt;var t;this.g&&this.g[e(246)](),this[e(263)]&&this[e(263)].subarray(0,0),null===(t=this[e(252)])||void 0===t||t[e(232)](this,new Error(e(228))),delete this[e(236)]}[Jt(226)](){const e=Jt;if(!this[e(263)]||!this[e(266)])return;let t=null;const r=this.buffer[e(254)](this[e(240)]);let i=0;const n=t=>r[e(224)]<(i=t);if(typeof this[e(266)]===e(234)){if(n(this[e(266)]))return;t=r.subarray(0,i)}else if(this.need===er){if(n(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(266)]===tr){if(n(2))return;t=r[0]<<8|r[1]}else if(this.need===rr){if(n(1))return;t=r[0]}else if(e(263)in this.need){if(e(243)in this.need){if(n(this[e(266)].byteLength-this[e(266)][e(243)]))return;new Uint8Array(this[e(266)][e(263)],this[e(266)][e(243)])[e(268)](r[e(254)](0,i)),t=this.need}else if(this.g)return void this.g[e(235)](new Error(e(241)))}else{if(n(this.need[e(264)]))return;new Uint8Array(this.need)[e(268)](r[e(254)](0,i)),t=this[e(266)]}return this.consumed+=i,this.g?this[e(239)](this.g[e(250)](t)[e(262)],!0):this.resolve&&this[e(225)](t),t}[Jt(227)](e){const t=Jt;if(e instanceof Uint8Array?this.malloc(e[t(224)])[t(268)](e):t(263)in e?this[t(231)](e[t(264)])[t(268)](new Uint8Array(e.buffer,e.byteOffset,e[t(264)])):this[t(231)](e[t(264)]).set(new Uint8Array(e)),!this.g&&!this[t(225)])return new Promise((e=>this[t(259)]=e));this[t(226)]()}writeU32(e){const t=Jt;this.malloc(4)[t(268)]([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(226)]()}[Jt(230)](e){const t=Jt;this[t(231)](2).set([e>>8&255,255&e]),this[t(226)]()}[Jt(242)](e){const t=Jt;this[t(231)](1)[0]=e,this[t(226)]()}[Jt(231)](e){const t=Jt;if(this[t(263)]){const r=this[t(263)][t(224)],i=r+e;if(i<=this[t(263)][t(263)][t(264)]-this[t(263)][t(243)])this[t(263)]=new Uint8Array(this[t(263)][t(263)],this[t(263)][t(243)],i);else{const e=new Uint8Array(i);e[t(268)](this.buffer),this[t(263)]=e}return this[t(263)][t(254)](r,i)}return this[t(263)]=new Uint8Array(e),this[t(263)]}}function nr(){const e=["[❌❌❌][","log","140NoJyts","JbPro","10rYgfLM","debug","2808624kJEAUV","error","[✅✅✅][","2320474dBSTdI","371569CJKpVH","warn","debugUuid","1440776SOUvJZ","debugLevel","length","7774832rmvnvf","_opt","450OqERUB","[❗❗❗][","9hWlluu","27468WnPGyS","590677ExZzAt"];return(nr=function(){return e})()}function sr(e,t){const r=nr();return(sr=function(e,t){return r[e-=467]})(e,t)}ir[Jt(247)]=er,ir[Jt(256)]=tr,ir.U8=rr,function(e,t){const r=sr,i=e();for(;;)try{if(580732===-parseInt(r(471))/1+parseInt(r(481))/2+parseInt(r(478))/3+parseInt(r(485))/4*(-parseInt(r(476))/5)+-parseInt(r(467))/6*(-parseInt(r(470))/7)+-parseInt(r(488))/8*(parseInt(r(469))/9)+parseInt(r(474))/10*(parseInt(r(482))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(nr);class ar{constructor(e){const t=sr;this.log=function(t){const r=sr;if(e[r(489)][r(486)]==ce[r(477)]){const a=e._opt[r(484)]?"["+e._opt.debugUuid+"]":"";for(var i=arguments.length,n=new Array(i>1?i-1:0),s=1;s1?n-1:0),a=1;a1?s-1:0),o=1;o=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(n[s]=r[e],s++);return new Uint8Array(n[t(462)],0,s)}static[or(464)](e){const t=or;let r=lr[t(443)](e),i=new at(r);i.readByte();let n=i[t(477)]();i[t(477)]();let s=i[t(477)]();i[t(455)]();let a=lr.getProfileString(n),o=lr[t(473)](s),c=1,u=420,l=[0,420,422,444],h=8;if((100===n||110===n||122===n||244===n||44===n||83===n||86===n||118===n||128===n||138===n||144===n)&&(c=i[t(455)](),3===c&&i[t(467)](1),c<=3&&(u=l[c]),h=i[t(455)]()+8,i[t(455)](),i[t(467)](1),i.readBool())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(S=r[e-1],I=n[e-1]):255===e&&(S=i[t(477)]()<<8|i[t(477)](),I=i[t(477)]()<<8|i[t(477)]())}if(i.readBool()&&i[t(461)](),i[t(461)]()&&(i.readBits(4),i[t(461)]()&&i[t(467)](24)),i[t(461)]()&&(i.readUEG(),i[t(455)]()),i[t(461)]()){let e=i[t(467)](32),r=i[t(467)](32);A=i[t(461)](),k=r,x=2*e,w=k/x}}let E=1;(1!==S||1!==I)&&(E=S/I);let C=0,B=0;if(0===c)C=1,B=2-v;else{C=3===c?1:2,B=(1===c?2:1)*(2-v)}let D=16*(p+1),M=16*(m+1)*(2-v);D-=(_+y)*C,M-=(g+b)*B;let T=Math[t(441)](D*E);return i[t(447)](),i=null,{profile_string:a,level_string:o,bit_depth:h,ref_frames:f,chroma_format:u,chroma_format_string:lr[t(457)](u),frame_rate:{fixed:A,fps:w,fps_den:x,fps_num:k},sar_ratio:{width:S,height:I},codec_size:{width:D,height:M},present_size:{width:T,height:M}}}static parseSPS$2(e){const t=or;let r=e.subarray(1,4),i=t(475);for(let e=0;e<3;e++){let n=r[e][t(454)](16);n[t(472)]<2&&(n="0"+n),i+=n}let n=lr[t(443)](e),s=new at(n);s.readByte();let a=s[t(477)]();s.readByte();let o=s[t(477)]();s.readUEG();let c=lr[t(471)](a),u=lr[t(473)](o),l=1,h=420,d=[0,420,422,444],f=8,p=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(l=s[t(455)](),3===l&&s.readBits(1),l<=3&&(h=d[l]),f=s[t(455)]()+8,p=s.readUEG()+8,s.readBits(1),s[t(461)]())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(A=r[e-1],k=i[e-1]):255===e&&(A=s.readByte()<<8|s.readByte(),k=s[t(477)]()<<8|s[t(477)]())}if(s[t(461)]()&&s.readBool(),s[t(461)]()&&(s[t(467)](4),s[t(461)]()&&s[t(467)](24)),s[t(461)]()&&(s[t(455)](),s[t(455)]()),s[t(461)]()){let e=s.readBits(32),r=s[t(467)](32);E=s[t(461)](),C=r,B=2*e,x=C/B}}let D=1;(1!==A||1!==k)&&(D=A/k);let M=0,T=0;if(0===l)M=1,T=2-g;else{M=3===l?1:2,T=(1===l?2:1)*(2-g)}let U=16*(_+1),F=16*(y+1)*(2-g);U-=(b+S)*M,F-=(I+w)*T;let P=Math[t(441)](U*D);return s[t(447)](),s=null,{codec_mimetype:i,profile_idc:a,level_idc:o,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:h,chroma_format_string:lr[t(457)](h),frame_rate:{fixed:E,fps:x,fps_den:B,fps_num:C},sar_ratio:{width:A,height:k},codec_size:{width:U,height:F},present_size:{width:P,height:F}}}static[or(458)](e,t){const r=or;let i=8,n=8,s=0;for(let a=0;a=this.buflen)return this[t(385)]=!0,0;this[t(385)]=!1,i=this.bufoff+e>8?8-this[t(393)]:e,r<<=i,r+=this[t(394)][this[t(378)]]>>8-this[t(393)]-i&255>>8-i,this.bufoff+=i,e-=i,8==this[t(393)]&&(this[t(378)]++,this[t(393)]=0)}return r}[dr(388)](e){const t=dr;let r=this.bufpos,i=this.bufoff,n=this[t(377)](e);return this[t(378)]=r,this[t(393)]=i,n}[dr(382)](){const e=dr;let t;for(t=0;0===this.read(1)&&!this[e(385)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),n=new Uint8Array(e+4);n[t(399)](i,0),n[t(399)](r[t(402)],4),r.sps=n}if(r[t(390)]){const e=r[t(390)][t(438)],i=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),n=new Uint8Array(e+4);n.set(i,0),n[t(399)](r[t(390)],4),r.pps=n}return r}function br(e,t){const r=Tr();return(br=function(e,t){return r[e-=366]})(e,t)}function Sr(e){const t=br;let{sps:r,pps:i}=e;const n=[23,0,0,0,0,1,66,0,30,255];n[0]=23,n[6]=r[1],n[7]=r[2],n[8]=r[3],n[10]=225,n[11]=r[t(438)]>>8&255,n[12]=255&r[t(438)],n[t(418)](...r,1,i[t(438)]>>8&255,255&i[t(438)],...i);return new Uint8Array(n)}function Ir(e){const t=br;let{sps:r,pps:i}=e,n=8+r[t(438)]+1+2+i[t(438)],s=!1;const a=lr[t(416)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,n+=4);let o=new Uint8Array(n);o[0]=1,o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=255,o[5]=225;let c=r[t(438)];o[6]=c>>>8,o[7]=255&c;let u=8;o[t(399)](r,8),u+=c,o[u]=1;let l=i[t(438)];o[u+1]=l>>>8,o[u+2]=255&l,o[t(399)](i,u+3),u+=3+l,s&&(o[u]=252|a[t(397)],o[u+1]=248|a[t(371)]-8,o[u+2]=248|a[t(436)]-8,o[u+3]=0,u+=4);const h=[23,0,0,0,0],d=new Uint8Array(h[t(426)]+o[t(438)]);return d[t(399)](h,0),d[t(399)](o,h[t(426)]),d}function wr(e,t){const r=br;let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e[r(438)]>>24&255,i[6]=e[r(438)]>>16&255,i[7]=e[r(438)]>>8&255,i[8]=255&e[r(438)];const n=new Uint8Array(i[r(426)]+e.byteLength);return n[r(399)](i,0),n.set(e,i[r(426)]),n}function Ar(e,t){const r=br;let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const n=new Uint8Array(i[r(426)]+e[r(438)]);return n[r(399)](i,0),n.set(e,i[r(426)]),n}function kr(e){return 31&e[0]}function xr(e){return e===Me[br(405)]}function Er(e){return!function(e){const t=br;return e===Me[t(402)]||e===Me[t(390)]}(e)&&!xr(e)}function Cr(e){return e===Me[br(383)]}function Br(e){if(0===e[br(426)])return!1;const t=kr(e[0]);for(let r=1;r=i[t(438)])return this[t(388)]=!0,i[t(438)];let e=i[r+0]<<24|i[r+1]<<16|i[r+2]<<8|i[r+3],n=i[r+0]<<16|i[r+1]<<8|i[r+2];if(1===e||1===n)return r;r++}}[yr(404)](){const e=yr;let t=this[e(389)],r=null;for(;null==r&&!this[e(388)];){let i=this[e(373)];i+=1===(t[i]<<24|t[i+1]<<16|t[i+2]<<8|t[i+3])?4:3;let n=31&t[i],s=(128&t[i])>>>7,a=this.findNextStartCodeOffset(i);this[e(373)]=a,n>=Me[e(429)]||0===s&&(r={type:n,data:t.subarray(i,a)})}return r}}class Mr{constructor(e){const t=yr;let r=e[t(389)][t(438)];this[t(448)]=e[t(448)],this[t(389)]=new Uint8Array(4+r),new DataView(this.data[t(444)])[t(392)](0,r),this.data[t(399)](e.data,4)}}function Tr(){const e=["7725RfBtuC","readBool","kReserved0","5bgXLbh","setInt16","present_size","806404UjFCJi","codec","skipUEG","bit_depth_chroma","67770360uPtBbN","byteLength","avc_ref_frames","Invalid AVCDecoderConfigurationRecord version !== 1 || avcProfile === 0","Could not find H264 startcode until payload end!","fps_den","nb_sps","buffer","compat","timescale","884Eqggnb","type","readBits","fps_num","readUByte","toString","skipBits","width","20VADPUV","level_string","codecWidth","bit_depth_luma","frame_rate","currentStartcodeOffset","Strange AVCDecoderConfigurationRecord: PPS Count = ","Strange NaluLengthSizeMinusOne: ","getUint16","chromaFormat","presentHeight","avc1.","h264","bit_depth","presentWidth","iFrame","Invalid AVCDecoderConfigurationRecord: No PPS'","videoType","sarRatio","frameRate","eofFlag","data","pps","3KmxsuV","setUint32","subarray","codecHeight","getUint8","kSliceNonIDR","chroma_format_idc","9887647HsgcFO","set","ceil","profile","sps","8940582cokUos","readNextNaluPayload","kSliceSEI","height","skipScalingList","8lEXvUo","sar_ratio","read","codec_size","12895497qxRkdE","avcc","4518871RbfCMR","bitDepth","parseSPS$2","read_golomb","push","error","fixed","refSampleDuration","shift","readUEG","level","findNextStartCodeOffset","length"];return(Tr=function(){return e})()}const Ur=Pr;function Fr(){const e=["m_len","211195IWJvey","468984tjNyEq","m_byte","481209OJNccn","m_zeros","GetUE","GetSE","m_idx","2QzuvPm","m_data","1322668wwEfcU","GetBit","8RBHYad","GetBYTE","405940pgAzpv","GetWord","m_bits","1801954ONvzuu","length","6356241tYjkjQ"];return(Fr=function(){return e})()}function Pr(e,t){const r=Fr();return(Pr=function(e,t){return r[e-=338]})(e,t)}!function(e,t){const r=Pr,i=e();for(;;)try{if(165928===parseInt(r(342))/1+-parseInt(r(350))/2*(parseInt(r(345))/3)+-parseInt(r(352))/4+-parseInt(r(356))/5+parseInt(r(343))/6+-parseInt(r(338))/7*(parseInt(r(354))/8)+parseInt(r(340))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Fr);class Rr{constructor(e){const t=Pr;this[t(349)]=null,this[t(351)]=e,this[t(341)]=e[t(339)],this[t(349)]=0,this[t(358)]=0,this[t(344)]=0,this.m_zeros=0}[Ur(355)](){const e=Ur;if(this[e(349)]>=this.m_len)return 0;let t=this[e(351)][this[e(349)]++];return 0==t?(this[e(346)]++,this.m_idx>this[e(358)]&1}[Ur(357)](e){const t=Ur;let r=0;for(;e>0;)r<<=1,r|=this[t(353)](),e--;return r}[Ur(347)](){const e=Ur;let t=0;for(;this[e(349)]>1;return!(1&e)&&(t=-t),t}}function Lr(){const e=["GetWord","665064ntJNsp","warn","1652889lKMvRy","1616620cREmZF","2650EOiUmt","10xFGKnO","175lDqEov","GetUE","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","SPSParser chroma_format_idc > 3","SPSParser sps_seq_parameter_set_id > 15","3491316KvAXXL","parseSPS","_ebsp2rbsp","1590104giEYVb","buffer","91722mhbKoU","byteLength","SPSParser sps_max_sub_layers_minus1 > 6","3760pwTznm"];return(Lr=function(){return e})()}const zr=Nr;function Nr(e,t){const r=Lr();return(Nr=function(e,t){return r[e-=424]})(e,t)}!function(e,t){const r=Nr,i=e();for(;;)try{if(617225===parseInt(r(435))/1+parseInt(r(438))/2+-parseInt(r(437))/3+parseInt(r(433))/4*(-parseInt(r(439))/5)+parseInt(r(430))/6*(parseInt(r(441))/7)+parseInt(r(428))/8+-parseInt(r(425))/9*(parseInt(r(440))/10))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Lr);class Or{static[zr(427)](e){const t=zr;let r=e,i=r[t(431)],n=new Uint8Array(i),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(n[s]=r[e],s++);return new Uint8Array(n[t(429)],0,s)}static[zr(426)](e){const t=zr;let r=Or[t(427)](e);const i=new Rr(r);let n="",s="",a="",o="";i.GetWord(4);let c=i[t(434)](3);if(c>6)return console[t(436)](t(432)),!1;i[t(434)](1),i[t(434)](2),i[t(434)](1),n=i[t(434)](5),i[t(434)](32),i.GetWord(1),i.GetWord(1),i[t(434)](1),i.GetWord(1),i[t(434)](44),s=i.GetWord(8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)i[t(434)](2);for(let e=0;e15)return console[t(436)](t(424),h),!1;let d=i[t(442)]();return d>3?(console.warn(t(444),d),!1):(3==d&&i.GetWord(1),a=i[t(442)](),o=i[t(442)](),i[t(434)](1)&&(i[t(442)](),i[t(442)](),i[t(442)](),i[t(442)]()),i[t(442)]()!=i[t(442)]()?(console[t(436)](t(443)),!1):{profile_string:n,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:a,height:o},present_size:{width:"",height:o}})}}!function(e,t){const r=Gr,i=e();for(;;)try{if(404007===-parseInt(r(166))/1*(-parseInt(r(184))/2)+-parseInt(r(183))/3+parseInt(r(172))/4*(parseInt(r(164))/5)+parseInt(r(175))/6+-parseInt(r(180))/7*(parseInt(r(167))/8)+parseInt(r(185))/9*(-parseInt(r(174))/10)+parseInt(r(168))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Wr);const Hr=e=>{let t=e,r=t[Gr(177)],i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},Vr=e=>{const t=Gr;switch(e){case 0:return t(181);case 1:return t(178);case 2:return t(187);case 3:return t(186);default:return t(182)}};function Gr(e,t){const r=Wr();return(Gr=function(e,t){return r[e-=163]})(e,t)}function Wr(){const e=["destroy","1735epXCQX","readBits","3jQeDFk","24xASGfq","27918Zllzek","readByte","toFixed","push","244SfobXo","hvc1.","30rkcauG","4676220shBblL","readSEG","byteLength","4:2:0","min","893655hsjkxL","4:0:0","Unknown","104127QiwpgX","471556gXhgtV","2066094QynJhL","4:4:4","4:2:2","readUEG","readBool"];return(Wr=function(){return e})()}const jr=Kr;function qr(){const e=["readByte","parseSPS","825867eJdYEL","7fJtUys","toFixed","SCC","getChromaFormatString","5949160viQclx",".1.L","Rext","Main","byteLength","_ebsp2rbsp","3338192SehvDg","readSEG","destroy","Unknown","readBool","8OFITzt","readUEG","4571847MCgTXX","60BfcUte","4:0:0","4:2:0","72796TgKKHm","15WuELDs","push","getProfileString","min","parseVPS","parsePPS","readBits","459234peGBKu","MainSP","4:4:4","60910Ocrdpc",".B0","getLevelString"];return(qr=function(){return e})()}function Kr(e,t){const r=qr();return(Kr=function(e,t){return r[e-=488]})(e,t)}!function(e,t){const r=Kr,i=e();for(;;)try{if(445888===parseInt(r(510))/1+parseInt(r(505))/2*(parseInt(r(495))/3)+-parseInt(r(494))/4*(parseInt(r(491))/5)+parseInt(r(502))/6*(parseInt(r(511))/7)+parseInt(r(488))/8*(parseInt(r(490))/9)+-parseInt(r(515))/10+-parseInt(r(521))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(qr);class Yr{static[jr(520)](e){let t=e,r=t[jr(519)],i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static[jr(499)](e){const t=jr;let r=Yr[t(520)](e),i=new at(r);return i[t(508)](),i[t(508)](),i.readBits(4),i[t(501)](2),i[t(501)](6),{num_temporal_layers:i[t(501)](3)+1,temporal_id_nested:i[t(525)]()}}static[jr(509)](e){const t=jr;let r=Yr[t(520)](e),i=new at(r);i[t(508)](),i[t(508)]();let n=0,s=0,a=0,o=0;i.readBits(4);let c=i[t(501)](3);i[t(525)]();let u=i.readBits(2),l=i.readBool(),h=i.readBits(5),d=i.readByte(),f=i[t(508)](),p=i[t(508)](),m=i.readByte(),v=i[t(508)](),_=i.readByte(),y=i[t(508)](),g=i[t(508)](),b=i[t(508)](),S=i[t(508)](),I=i[t(508)](),w=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)i[t(501)](2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<=16?(P=r[e-1],R=n[e-1]):255===e&&(P=i[t(501)](16),R=i[t(501)](16))}if(i[t(525)]()&&i[t(525)](),i.readBool()){i.readBits(3),i.readBool(),i[t(525)]()&&(i[t(508)](),i[t(508)](),i[t(508)]())}if(i.readBool()&&(i[t(489)](),i[t(489)]()),i[t(525)](),i[t(525)](),i[t(525)](),U=i[t(525)](),U&&(i[t(489)](),i[t(489)](),i[t(489)](),i.readUEG()),i[t(525)]()){if(z=i[t(501)](32),N=i[t(501)](32),i[t(525)]()&&i[t(489)](),i[t(525)]()){let e=!1,r=!1,n=!1;e=i[t(525)](),r=i[t(525)](),(e||r)&&(n=i[t(525)](),n&&(i[t(508)](),i[t(501)](5),i[t(525)](),i[t(501)](5)),i[t(501)](4),i.readBits(4),n&&i[t(501)](4),i[t(501)](5),i[t(501)](5),i[t(501)](5));for(let s=0;s<=c;s++){let s=i[t(525)]();L=s;let a=!0,o=1;!s&&(a=i[t(525)]());let c=!1;if(a?i[t(489)]():c=i.readBool(),!c&&(o=i.readUEG()+1),e){for(let e=0;e>6&3,i[t(251)]=e[1]>>5&1,i[t(255)]=31&e[1],i[t(311)]=e[2]<<24|e[3]<<16|e[4]<<8|e[5],i[t(288)]=e[6]<<24|e[7]<<16|e[8]<<8|e[9],i[t(288)]=i.general_constraint_indicator_flags<<16|e[10]<<8|e[11],i.general_level_idc=e[12],i[t(259)]=(15&e[13])<<8|e[14],i.parallelismType=3&e[15],i[t(294)]=3&e[16],i[t(192)]=7&e[17],i[t(292)]=7&e[18],i[t(304)]=e[19]<<8|e[20],i[t(289)]=e[21]>>6&3,i[t(214)]=e[21]>>3&7,i.temporalIdNested=e[21]>>2&1,i[t(321)]=3&e[21];let n=e[22],s=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e[i(278)](2);n[i(300)]=[],n[i(237)]=[],n[i(290)]=[],n[i(265)]=[],n[i(295)]=[],n[i(313)]=[],n[i(219)]=[],n[i(232)]=[],n.sub_layer_level_idc=[];for(let t=0;t{const t=Gr;let r=Hr(e),i=new at(r);return i[t(169)](),i.readByte(),i[t(165)](4),i[t(165)](2),i[t(165)](6),{num_temporal_layers:i[t(165)](3)+1,temporal_id_nested:i[t(189)]()}})(r),o=(e=>{const t=Gr;let r=Hr(e),i=new at(r);i[t(169)](),i.readByte();let n=0,s=0,a=0,o=0;i[t(165)](4);let c=i.readBits(3);i[t(189)]();let u=i[t(165)](2),l=i[t(189)](),h=i[t(165)](5),d=i[t(169)](),f=i[t(169)](),p=i.readByte(),m=i[t(169)](),v=i[t(169)](),_=i.readByte(),y=i[t(169)](),g=i[t(169)](),b=i[t(169)](),S=i[t(169)](),I=i.readByte(),w=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)i[t(165)](2);for(let e=0;e1&&i[t(176)]();for(let e=0;e0&&e<16?(P=r[e-1],R=n[e-1]):255===e&&(P=i[t(165)](16),R=i.readBits(16))}if(i[t(189)]()&&i.readBool(),i[t(189)]()&&(i.readBits(3),i[t(189)](),i[t(189)]()&&(i[t(169)](),i[t(169)](),i.readByte())),i[t(189)]()&&(i[t(188)](),i[t(188)]()),i.readBool(),i.readBool(),i[t(189)](),U=i.readBool(),U&&(n+=i[t(188)](),s+=i.readUEG(),a+=i[t(188)](),o+=i[t(188)]()),i[t(189)]()&&(z=i[t(165)](32),N=i[t(165)](32),i.readBool()&&(i.readUEG(),i.readBool()))){let e=!1,r=!1,n=!1;e=i.readBool(),r=i.readBool(),(e||r)&&(n=i[t(189)](),n&&(i[t(169)](),i[t(165)](5),i[t(189)](),i[t(165)](5)),i.readBits(4),i[t(165)](4),n&&i.readBits(4),i[t(165)](5),i[t(165)](5),i[t(165)](5));for(let s=0;s<=c;s++){let s=i[t(189)]();L=s;let a=!1,o=1;!s&&(a=i[t(189)]());let c=!1;if(a?i.readSEG():c=i[t(189)](),!c&&(cpbcnt=i[t(188)]()+1),e)for(let e=0;e{const t=Gr;let r=Hr(e),i=new at(r);i[t(169)](),i.readByte(),i[t(188)](),i[t(188)](),i.readBool(),i.readBool(),i.readBits(3),i.readBool(),i[t(189)](),i[t(188)](),i[t(188)](),i[t(176)](),i[t(189)](),i[t(189)](),i[t(189)]()&&i[t(188)](),i[t(176)](),i[t(176)](),i[t(189)](),i[t(189)](),i[t(189)](),i.readBool();let n=i[t(189)](),s=i[t(189)](),a=1;return s&&n?a=0:s?a=3:n&&(a=2),{parallelismType:a}})(i);s=Object[t(317)](s,a,o,c);let u=23+(5+r[t(325)])+(5+n[t(325)])+(5+i.byteLength),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(324)])<<6|(s[t(251)]?1:0)<<5|31&s[t(255)],l[2]=s[t(258)]||0,l[3]=s[t(208)]||0,l[4]=s[t(202)]||0,l[5]=s.general_profile_compatibility_flags_4||0,l[6]=s[t(282)]||0,l[7]=s.general_constraint_indicator_flags_2||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s[t(196)]||0,l[10]=s[t(297)]||0,l[11]=s[t(305)]||0,l[12]=60,l[13]=240|(3840&s[t(259)])>>8,l[14]=255&s[t(259)],l[15]=252|3&s.parallelismType,l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s[t(245)],l[18]=248|7&s[t(312)],l[19]=0,l[20]=0,l[21]=(3&s[t(246)])<<6|(7&s.num_temporal_layers)<<3|(s[t(197)]?1:0)<<2|3,l[22]=3,l[23]=128|Te.vps,l[24]=0,l[25]=1,l[26]=(65280&r.byteLength)>>8,l[27]=(255&r[t(325)])>>0,l.set(r,28),l[23+(5+r[t(325)])+0]=128|Te[t(200)],l[23+(5+r[t(325)])+1]=0,l[23+(5+r[t(325)])+2]=1,l[23+(5+r.byteLength)+3]=(65280&n[t(325)])>>8,l[23+(5+r[t(325)])+4]=(255&n.byteLength)>>0,l[t(267)](n,23+(5+r.byteLength)+5),l[23+(5+r[t(325)]+5+n[t(325)])+0]=128|Te[t(225)],l[23+(5+r[t(325)]+5+n[t(325)])+1]=0,l[23+(5+r[t(325)]+5+n[t(325)])+2]=1,l[23+(5+r[t(325)]+5+n[t(325)])+3]=(65280&i[t(325)])>>8,l[23+(5+r[t(325)]+5+n[t(325)])+4]=(255&i[t(325)])>>0,l[t(267)](i,23+(5+r[t(325)]+5+n[t(325)])+5);const h=[28,0,0,0,0],d=new Uint8Array(h.length+l.byteLength);return d[t(267)](h,0),d.set(l,h[t(230)]),d}function ei(e,t){const r=ai;let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e[r(325)]>>24&255,i[6]=e[r(325)]>>16&255,i[7]=e[r(325)]>>8&255,i[8]=255&e.byteLength;const n=new Uint8Array(i[r(230)]+e[r(325)]);return n.set(i,0),n[r(267)](e,i[r(230)]),n}function ti(e,t){const r=ai;let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const n=new Uint8Array(i[r(230)]+e[r(325)]);return n[r(267)](i,0),n[r(267)](e,i.length),n}function ri(e){return(126&e[0])>>1}function ii(e){return e===Te[ai(302)]}function ni(e){return!((t=e)>=32&&t<=40);var t}function si(e){return e>=16&&e<=21}function ai(e,t){const r=ui();return(ai=function(e,t){return r[e-=189]})(e,t)}function oi(e){const t=ai;if(0===e[t(230)])return!1;const r=ri(e[0]);for(let i=1;i=i[t(325)])return this[t(233)]=!0,i[t(325)];let e=i[r+0]<<24|i[r+1]<<16|i[r+2]<<8|i[r+3],n=i[r+0]<<16|i[r+1]<<8|i[r+2];if(1===e||1===n)return r;r++}}[Xr(284)](){const e=Xr;let t=this[e(307)],r=null;for(;null==r&&!this[e(233)];){let i=this[e(224)];i+=1===(t[i]<<24|t[i+1]<<16|t[i+2]<<8|t[i+3])?4:3;let n=t[i]>>1&63,s=(128&t[i])>>>7,a=this[e(227)](i);this[e(224)]=a,0===s&&(r={type:n,data:t[e(273)](i,a)})}return r}}function ui(){const e=["codecHeight","frame_rate","frameRate","sps_max_sub_layers_minus1","subarray","parseHEVCDecoderVPSAndSPSAndPPS and pps tag is ","refSampleDuration","chroma_format_idc","presentHeight","read"," < 23","parseHEVCDecoderConfigurationRecord$3","slice","general_constraint_indicator_flags_1","chromaFormatIdc","readNextNaluPayload","profile_compatibility_flags","parseHEVCDecoderVPSAndSPSAndPPS and vpsTag is ","profile","general_constraint_indicator_flags","constantFrameRate","sub_layer_profile_idc","profile_string","bitDepthChromaMinus8","readBits","chromaFormat","sub_layer_progressive_source_flag","level_string","general_constraint_indicator_flags_5","h265","parseHEVCDecoderVPSAndSPSAndPPS and sps tag is ","sub_layer_profile_space","tier_flag","sei","sps_video_parameter_set_id","avgFrameRate","general_constraint_indicator_flags_6","codecWidth","data",", hevcProfile is ","sar_ratio","configurationVersion","general_profile_compatibility_flags","bit_depth_chroma_minus8","sub_layer_interlaced_source_flag","setInt16","8gVnTNZ","conf_win_left_offset","assign","generalTierFlag","getUint16","readUByte","lengthSizeMinusOne","level_idc","look","general_profile_space","byteLength","877671dCNlHV","arrayBuffer.length ","codec_mimetype","separate_colour_plane_flag","height","presentWidth","sub_layer_profile_present_flag","conf_win_bottom_offset","bitDepthLumaMinus8","2sLvcMZ","codec_size","push","general_constraint_indicator_flags_4","temporal_id_nested","2396376gDQKAC","from","sps","chroma_format","general_profile_compatibility_flags_3","Could not find H265 startcode until payload end!","bit_depth","parseSPS","conformance_window_flag","sub_layer_level_idc","general_profile_compatibility_flags_2"," < 22","error","buffer","general_level_idc","getUint8","numTemporalLayers","timescale","pic_height_in_luma_samples","Invalid HEVCDecoderConfigurationRecord,version is ","temporalIdNested","sub_layer_non_packed_constraint_flag","fps_num","sub_layer_level_present_flag","3110954HcqsfI","readUEG","currentStartcodeOffset","pps","setUint32","findNextStartCodeOffset","Invalid HEVCDecoderConfigurationRecord, lack of data! ","width","length","read_golomb","sub_layer_frame_only_constraint_flag","eofFlag","pic_width_in_luma_samples","generalLevelIdc","codec","sub_layer_tier_flag","general_progressive_source_flag","2105310XKFuzk","generalProfileSpace","generalProfileCompatibilityFlags","profile_idc","685492ViLYKO","max","bit_depth_luma_minus8","constant_frame_rate","2219196APWUhv","parseHEVCDecoderConfigurationRecord$2","type","hev1.1.6.L93.B0","general_tier_flag","level","vps","warn","general_profile_idc","125746XLxGRf","general_non_packed_constraint_flag","general_profile_compatibility_flags_1","min_spatial_segmentation_idc","present_size","psps","conf_win_right_offset","bitDepth","generalProfileIdc","sub_layer_profile_compatibility_flag","fps_den","set","Invalid HEVCDecoderConfigurationRecord, Strange NaluLengthSizeMinusOne: "];return(ui=function(){return e})()}class li{constructor(e){const t=Xr;let r=e.data[t(325)];this[t(249)]=e[t(249)],this[t(307)]=new Uint8Array(4+r),new DataView(this[t(307)].buffer)[t(226)](0,r),this[t(307)].set(e[t(307)],4)}}var hi=Ri;!function(e,t){for(var r=Ri,i=e();;)try{if(382671===-parseInt(r(588))/1+parseInt(r(580))/2*(parseInt(r(499))/3)+-parseInt(r(576))/4+parseInt(r(585))/5+parseInt(r(569))/6*(parseInt(r(590))/7)+-parseInt(r(519))/8*(-parseInt(r(546))/9)+parseInt(r(505))/10*(-parseInt(r(544))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Li);var di,fi=hi(557),pi=hi(520),mi=/^(?:text|application)\/xml/i,vi=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,_i=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,yi=/^\s*$/,gi={},bi={},Si="",Ii={type:hi(509),beforeSend:wi,success:wi,error:wi,complete:wi,context:null,xhr:function(){return new window.XMLHttpRequest},accepts:{json:fi,xml:"application/xml, text/xml",html:pi,text:hi(536),"*":"*/"[hi(524)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:wi,contentType:hi(522)};function wi(){}var Ai=function(e,t){var r=hi;"object"==typeof e&&(t=e,e=void 0);var i=Ti({},t=t||{});for(var n in Ii)void 0===i[n]&&(i[n]=Ii[n]);try{var s={},a=new Promise((function(e,t){s.resolve=e,s.reject=t}));a[r(568)]=s[r(568)],a.reject=s[r(573)],i[r(552)]=a}catch(e){i[r(552)]={resolve:wi,reject:wi}}var o=_i[r(540)](window[r(571)][r(497)][r(551)]())||[];i[r(521)]=((e||i[r(521)]||window[r(571)][r(497)])+"").replace(/#.*$/,"")[r(566)](/^\/\//,o[1]+"//");var c=i.url;!i[r(587)]&&(i[r(587)]=/^([\w-]+:)?\/\/([^\/]+)/.test(i[r(521)])&&RegExp.$2!==window.location[r(497)]);var u=i[r(558)];if(u===r(511)){if(!/=\?/[r(583)](i.url)){var l=(i[r(511)]||r(578))+"=?";i.url=Bi(i[r(521)],l)}return function(e){var t,r=hi,i=e.jsonpCallback||r(511)+Pi(),n=window.document.createElement(r(584)),s={abort:function(){i in window&&(window[i]=wi)}},a=window[r(492)][r(556)](r(535))[0]||window[r(492)].documentElement;function o(i){var n=r;window[n(533)](t),s.abort(),Ei(i[n(554)],s,i[n(554)],e),c()}function c(){var e=r;n[e(516)]?n[e(516)]():n[e(539)]=n[e(579)]=n.onerror=null,n[e(581)]&&n[e(581)][e(532)](n),n=null,delete window[i]}return n[r(547)]=function(e){o(e)},window[i]=function(i){window[r(533)](t),ki(i,s,e),c()},Di(e),n[r(526)]=e.url[r(566)](/=\?/,"="+i),n.src=Bi(n[r(526)],"_="+(new Date).getTime()),n[r(506)]=!0,e[r(538)]&&(n[r(514)]=e[r(538)]),a.insertBefore(n,a.firstChild),e[r(542)]>0&&(t=window[r(549)]((function(){var t=r;s[t(559)](),Ei(t(542),s,"timeout",e),c()}),e[r(542)])),e[r(552)].abort=function(){s[r(559)]()},e.promise.xhr=s,e[r(552)]}(i)}Di(i);var h=i[r(564)][u]||i[r(564)]["*"],d={};/^([\w-]+:)\/\//[r(583)](i[r(521)])?RegExp.$1:window[r(571)][r(582)];var f,p=Ii.xhr();!i[r(587)]&&!d[r(591)]&&(d["X-Requested-With"]=r(507)),i.ifModified&&(gi[c]&&(d["If-Modified-Since"]=gi[c]),bi[c]&&(d[r(494)]=bi[c])),h&&(d.Accept=h,h.indexOf(",")>-1&&(h=h.split(",",2)[0]),p[r(528)]&&p[r(528)](h));var m=!/^(?:GET|HEAD)$/[r(583)](i[r(554)][r(572)]());if((i[r(577)]&&m&&!1!==i.contentType||t[r(510)])&&(d["Content-Type"]=i[r(510)]),!1===i[r(541)]&&!m){var v=/([?&])_=[^&]*/;i[r(521)]=v[r(583)](c)?c.replace(v,r(500)+Pi()):c+(/\?/.test(c)?"&":"?")+"_="+Pi()}i.headers=Ti(d,i[r(525)]||{}),p[r(579)]=function(){var e,t,n=r;if(4===p.readyState){clearTimeout(f);var s,a=!1;if(p[n(504)]>=200&&p[n(504)]<300||304===p[n(504)]){if(Si=p[n(548)](),i[n(513)]){var o=Ci("Last-Modified");o&&(gi[c]=o),(o=Ci(n(496)))&&(bi[c]=o)}u=u||(e=p[n(501)](n(493)),t=hi,e&&(e===pi?"html":e===fi?t(570):mi.test(e)&&t(529))||"text"),s=p.responseText;try{u===n(529)?s=p[n(589)]:"json"===u&&(s=yi[n(583)](s)?null:JSON[n(555)](s))}catch(e){a=e}a?Ei(a,"parseerror",p,i):ki(s,p,i)}else Ei(null,n(495),p,i)}};var _=!(r(506)in i)||i[r(506)];if(p[r(527)](i.type,i[r(521)],_,i[r(574)],i[r(550)]),i[r(563)])for(var y in i[r(563)])p[y]=i.xhrFields[y];for(var y in i.mimeType&&p[r(528)]&&p[r(528)](i[r(523)]),i[r(525)])void 0!==i[r(525)][y]&&p[r(530)](y,i[r(525)][y]+"");return!1===function(e,t){var r=hi,i=t[r(534)];if(!1===t[r(543)].call(i,e,t))return!1}(p,i)?(p[r(559)](),!1):(i.timeout>0&&(f=window[r(549)]((function(){var e=r;p[e(579)]=wi,p[e(559)](),Ei(null,e(542),p,i)}),i[r(542)])),p[r(517)](i[r(577)]?i[r(577)]:null),i.promise.abort=function(){p[r(559)]()},i[r(552)])};function ki(e,t,r){var i=hi,n=r[i(534)],s=i(503);r.success[i(512)](n,e,s,t),r.promise[i(568)](e,s,t),xi(s,t,r)}function xi(e,t,r){var i=hi,n=r[i(534)];r[i(575)][i(512)](n,t,e)}function Ei(e,t,r,i){var n=hi,s=i[n(534)];i[n(495)][n(512)](s,r,t,e),i[n(552)][n(573)](r,t,e),xi(t,r,i)}function Ci(e){var t,r=hi;if(!di){for(di={};t=vi[r(540)](Si);)di[t[1][r(551)]()]=t[2];t=di[e.toLowerCase()]}return null===t?null:t}function Bi(e,t){return(e+"&"+t)[hi(566)](/[&?]{1,2}/,"?")}function Di(e){var t,r,i,n,s=hi;Ui(e)&&!(e[s(577)]instanceof FormData)&&e.processData&&(e[s(577)]=(t=e[s(577)],(n=[])[(i=hi)(508)]=function(e,t){this.push(encodeURIComponent(e)+"="+encodeURIComponent(t))},Mi(n,t,r),n[i(515)]("&")[i(566)]("%20","+"))),e[s(577)]&&(!e[s(554)]||e[s(554)][s(572)]()===s(509))&&(e[s(521)]=Bi(e[s(521)],e[s(577)]))}function Mi(e,t,r,i){var n,s,a=hi,o=(n=t,s=hi,Object[s(565)][s(502)][s(512)](n)===s(567));for(var c in t){var u=t[c];i&&(c=r?i:i+"["+(o?"":c)+"]"),!i&&o?e[a(508)](u[a(562)],u[a(560)]):(r?o(u):Ui(u))?Mi(e,u,r,c):e[a(508)](c,u)}}function Ti(e){for(var t=hi,r=Array.prototype[t(518)],i=r[t(512)](arguments,1),n=0,s=i[t(537)];n255)return!1;return!0}function Hi(e,t){var r=pn;if(e[r(495)]&&e[r(469)]===r(462))return t&&(e=e[r(487)]?e[r(487)]():Array[r(476)].slice.call(e)),e;if(Array[r(483)](e)){if(!Oi(e))throw new Error(r(454)+e);return new Uint8Array(e)}if(Ni(e[r(490)])&&Oi(e))return new Uint8Array(e);throw new Error(r(443))}function Vi(e){return new Uint8Array(e)}function Gi(e,t,r,i,n){var s=pn;(null!=i||null!=n)&&(e=e[s(487)]?e.slice(i,n):Array[s(476)][s(487)][s(492)](e,i,n)),t.set(e,r)}!function(e,t){for(var r=pn,i=e();;)try{if(722477===-parseInt(r(482))/1*(parseInt(r(491))/2)+-parseInt(r(488))/3*(parseInt(r(470))/4)+parseInt(r(473))/5*(-parseInt(r(439))/6)+-parseInt(r(467))/7+-parseInt(r(486))/8+parseInt(r(468))/9*(parseInt(r(445))/10)+parseInt(r(458))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(mn);var Wi,ji,qi={toBytes:function(e){var t=pn,r=[],i=0;for(e=encodeURI(e);i191&&n<224?(r.push(String.fromCharCode((31&n)<<6|63&e[i+1])),i+=2):(r[t(480)](String[t(479)]((15&n)<<12|(63&e[i+1])<<6|63&e[i+2])),i+=3)}return r[t(474)]("")}},Ki=(ji=(Wi=pn)(463),{toBytes:function(e){for(var t=pn,r=[],i=0;i>4]+ji[15&n])}return r[t(474)]("")}}),Yi={16:10,24:12,32:14},Xi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Ji=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Zi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Qi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],$i=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],en=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],tn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],rn=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],nn=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],sn=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],an=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],on=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],cn=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],un=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],ln=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function hn(e){for(var t=pn,r=[],i=0;i>2,this[e(459)][i][r%4]=a[r],this._Kd[t-i][r%4]=a[r];for(var o,c=0,u=s;u>16&255]<<24^Ji[o>>8&255]<<16^Ji[255&o]<<8^Ji[o>>24&255]^Xi[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Ji[o>>16&255]<<16^Ji[o>>24&255]<<24;for(r=s/2+1;r>2,h=u%4,this[e(459)][l][h]=a[r],this._Kd[t-l][h]=a[r++],u++}for(var l=1;l>24&255]^cn[o>>16&255]^un[o>>8&255]^ln[255&o]},dn[zi(476)][zi(444)]=function(e){var t=zi;if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var r=this[t(459)][t(490)]-1,i=[0,0,0,0],n=hn(e),s=0;s<4;s++)n[s]^=this[t(459)][0][s];for(var a=1;a>24&255]^$i[n[(s+1)%4]>>16&255]^en[n[(s+2)%4]>>8&255]^tn[255&n[(s+3)%4]]^this[t(459)][a][s];n=i[t(487)]()}var o,c=Vi(16);for(s=0;s<4;s++)o=this[t(459)][r][s],c[4*s]=255&(Ji[n[s]>>24&255]^o>>24),c[4*s+1]=255&(Ji[n[(s+1)%4]>>16&255]^o>>16),c[4*s+2]=255&(Ji[n[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(Ji[255&n[(s+3)%4]]^o);return c},dn[zi(476)][zi(477)]=function(e){var t=zi;if(16!=e.length)throw new Error(t(451));for(var r=this[t(438)].length-1,i=[0,0,0,0],n=hn(e),s=0;s<4;s++)n[s]^=this._Kd[0][s];for(var a=1;a>24&255]^nn[n[(s+3)%4]>>16&255]^sn[n[(s+2)%4]>>8&255]^an[255&n[(s+1)%4]]^this[t(438)][a][s];n=i[t(487)]()}var o,c=Vi(16);for(s=0;s<4;s++)o=this._Kd[r][s],c[4*s]=255&(Zi[n[s]>>24&255]^o>>24),c[4*s+1]=255&(Zi[n[(s+3)%4]>>16&255]^o>>16),c[4*s+2]=255&(Zi[n[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(Zi[255&n[(s+1)%4]]^o);return c};var fn=function(e){var t=zi;if(!(this instanceof fn))throw Error("AES must be instanitated with `new`");this[t(472)]=t(446),this[t(469)]=t(456),this[t(466)]=new dn(e)};function pn(e,t){var r=mn();return(pn=function(e,t){return r[e-=433]})(e,t)}function mn(){var e=["encrypt","30wRKZjs","Electronic Code Block","invalid initialation vector size (must be 16 bytes)","PKCS#7 padding byte out of range","_shiftRegister","invalid counter bytes size (must be 16 bytes)","invalid ciphertext size (must be 16 bytes)","setBytes","Counter","Array contains invalid value: ","substr","ecb","increment","51213448HKtaAL","_Ke","_prepare","integer value out of safe range","Uint8Array","0123456789abcdef","ofb","setValue","_aes","7617638yNDnZD","1652643Ueklsq","name","1872060GMiYDg","PKCS#7 invalid length","description","890jqWExy","join","PKCS#7 invalid padding byte","prototype","decrypt","Counter must be instanitated with `new`","fromCharCode","push","invalid initialation vector size (must be 16 size)","29FFKWLx","isArray","invalid ciphertext size (must be segmentSize bytes)","invalid ciphertext size (must be multiple of 16 bytes)","3578144rnRCZl","slice","6tcZWyg","_remainingCounterIndex","length","58580fuzNaz","call","charCodeAt","segmentSize","buffer","invalid key size (must be 16, 24 or 32 bytes)","_lastCipherblock","AES must be instanitated with `new`","cfb","Cipher Feedback","MAX_SAFE_INTEGER","Cipher Block Chaining","_counter","_lastPrecipher","Output Feedback","_lastPrecipherIndex","_Kd","39210xEFVyj","key","_remainingCounter","invalid counter value (must be an integer)","unsupported array-like object"];return(mn=function(){return e})()}fn[zi(476)][zi(444)]=function(e){var t=zi;if((e=Hi(e))[t(490)]%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var r=Vi(e[t(490)]),i=Vi(16),n=0;nNumber[t(501)])throw new Error(t(461));for(var r=15;r>=0;--r)this._counter[r]=e%256,e=parseInt(e/256)},gn.prototype[zi(452)]=function(e){var t=zi;if(16!=(e=Hi(e,!0))[t(490)])throw new Error(t(450));this[t(434)]=e},gn[zi(476)].increment=function(){for(var e=zi,t=15;t>=0;t--){if(255!==this[e(434)][t]){this[e(434)][t]++;break}this[e(434)][t]=0}};var bn=function(e,t){var r=zi;if(!(this instanceof bn))throw Error(r(498));this[r(472)]=r(453),this.name="ctr",!(t instanceof gn)&&(t=new gn(t)),this[r(434)]=t,this[r(441)]=null,this._remainingCounterIndex=16,this[r(466)]=new dn(e)};bn[zi(476)][zi(444)]=function(e){for(var t=zi,r=Hi(e,!0),i=0;i16)throw new Error(t(448));for(var i=e[t(490)]-r,n=0;n>>2]>>>24-o%4*8&255;r[s+o>>>2]|=c<<24-(s+o)%4*8}else for(var u=0;u>>2]=i[u>>>2];return this[t(357)]+=a,this},clamp:function(){var t=n,r=this[t(301)],i=this[t(357)];r[i>>>2]&=4294967295<<32-i%4*8,r[t(343)]=e.ceil(i/4)},clone:function(){var e=n,t=u[e(339)][e(294)](this);return t[e(301)]=this[e(301)].slice(0),t},random:function(e){for(var t=n,r=[],i=0;i>>2]>>>24-a%4*8&255;s[t(300)]((o>>>4).toString(16)),s[t(300)]((15&o)[t(331)](16))}return s[t(350)]("")},parse:function(e){for(var t=n,r=e[t(343)],i=[],s=0;s>>3]|=parseInt(e[t(336)](s,2),16)<<24-s%8*4;return new l.init(i,r/2)}},f=h[n(309)]={stringify:function(e){for(var t=n,r=e[t(301)],i=e[t(357)],s=[],a=0;a>>2]>>>24-a%4*8&255;s[t(300)](String.fromCharCode(o))}return s[t(350)]("")},parse:function(e){for(var t=n,r=e[t(343)],i=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new(l[t(355)])(i,r)}},p=h[n(334)]={stringify:function(e){var t=n;try{return decodeURIComponent(escape(f[t(296)](e)))}catch(e){throw new Error(t(352))}},parse:function(e){return f[n(312)](unescape(encodeURIComponent(e)))}},m=c[n(302)]=u[n(332)]({reset:function(){var e=n;this[e(335)]=new(l[e(355)]),this._nDataBytes=0},_append:function(e){var t=n;"string"==typeof e&&(e=p.parse(e)),this[t(335)][t(338)](e),this._nDataBytes+=e[t(357)]},_process:function(t){var r,i=n,s=this[i(335)],a=s[i(301)],o=s.sigBytes,c=this[i(356)],u=o/(4*c),h=(u=t?e[i(320)](u):e[i(324)]((0|u)-this[i(328)],0))*c,d=e[i(316)](4*h,o);if(h){for(var f=0;f>>2]|=e[a]<<24-a%4*8;i[r(211)](this,s,n)}else i.apply(this,arguments)};n[t(220)]=r}}(),e[t(204)][t(216)]},(n=Bn)(208)==n(208)?e[n(209)]=i(An):"undefined"===n(206)&&(void 0)[n(201)]?(void 0)([n(207)],i):i(r[n(219)])}));function Dn(){var e=["words","WordArray","342XBnoJt","lib","function","object","8mHUkpv","2122530CRgHvl","fromCharCode","length","commonjsGlobal","charCodeAt","enc","./core","478090ebsYaB","Utf16LE","2986467EptHxx","63IaIYbx","2463960zrfeLe","sigBytes","join","create","256188MFqnCJ","Utf16BE","27769oTKDxi","686REEdjj","16lRRlew","Utf16","5rUFNdN","push","exports","CryptoJS"];return(Dn=function(){return e})()}function Mn(e,t){var r=Dn();return(Mn=function(e,t){return r[e-=139]})(e,t)}!function(e,t){for(var r=Mn,i=e();;)try{if(229490===-parseInt(r(170))/1*(-parseInt(r(161))/2)+parseInt(r(158))/3*(-parseInt(r(162))/4)+parseInt(r(164))/5*(-parseInt(r(143))/6)+-parseInt(r(160))/7*(parseInt(r(142))/8)+parseInt(r(153))/9*(parseInt(r(150))/10)+parseInt(r(152))/11+parseInt(r(154))/12)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Dn);Qe((function(e,t){var r,i,n,s=Mn;r=$e[s(146)],i=function(e){var t=s;return function(){var t=Mn,r=e,i=r[t(139)][t(169)],n=r[t(148)];function s(e){return e<<8&4278255360|e>>>8&16711935}n[t(163)]=n[t(159)]={stringify:function(e){for(var r=t,i=e[r(168)],n=e[r(155)],s=[],a=0;a>>2]>>>16-a%4*8&65535;s[r(165)](String[r(144)](o))}return s.join("")},parse:function(e){for(var r=t,n=e[r(145)],s=[],a=0;a>>1]|=e[r(147)](a)<<16-a%2*16;return i[r(157)](s,2*n)}},n[t(151)]={stringify:function(e){for(var r=t,i=e[r(168)],n=e[r(155)],a=[],o=0;o>>2]>>>16-o%4*8&65535);a.push(String[r(144)](c))}return a[r(156)]("")},parse:function(e){for(var r=t,n=e[r(145)],a=[],o=0;o>>1]|=s(e[r(147)](o)<<16-o%2*16);return i[r(157)](a,2*n)}}}(),e[t(148)][t(163)]},(n=Mn)(141)==n(141)?e[n(166)]=i(An):"undefined"===n(140)&&(void 0).amd?(void 0)([n(149)],i):i(r[n(167)])}));var Tn=Un;function Un(e,t){var r=Fn();return(Un=function(e,t){return r[e-=437]})(e,t)}!function(e,t){for(var r=Un,i=e();;)try{if(147208===parseInt(r(441))/1*(-parseInt(r(444))/2)+parseInt(r(457))/3+-parseInt(r(447))/4+parseInt(r(446))/5+parseInt(r(448))/6*(parseInt(r(452))/7)+parseInt(r(437))/8+parseInt(r(460))/9*(-parseInt(r(461))/10))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Fn);$e[Tn(463)]((function(e,t){var r,i,n;r=Je,i=function(e){var t,r,i,n=Un;return i=(r=e)[(t=Un)(439)][t(440)],r[t(450)].Base64={stringify:function(e){var r=t,i=e[r(454)],n=e[r(466)],s=this[r(465)];e[r(459)]();for(var a=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(i[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|i[o+2>>>2]>>>24-(o+2)%4*8&255,u=0;u<4&&o+.75*u>>6*(3-u)&63));var l=s.charAt(64);if(l)for(;a.length%4;)a[r(464)](l);return a.join("")},parse:function(e){var r=t,n=e[r(442)],s=this[r(465)],a=this[r(456)];if(!a){a=this._reverseMap=[];for(var o=0;o>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return i[s(438)](a,o)}(e,n,a)},_map:t(443)},e[n(450)].Base64},"object"===(n=Un)(458)?e[n(445)]=i(An):"undefined"===n(449)&&(void 0)[n(455)]?(void 0)([n(451)],i):i(r.CryptoJS)}));function Fn(){var e=["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","2cXejpo","exports","1251280tKpUsZ","882260kbAFrd","17718iaFeCu","function","enc","./core","203giDBFd","charCodeAt","words","amd","_reverseMap","657165jeNdtL","object","clamp","19521pcHDRN","350VRIhMl","charAt","createCommonjsModule","push","_map","sigBytes","570088EZmToY","create","lib","WordArray","182521UWVNkX","length"];return(Fn=function(){return e})()}var Pn=Rn;function Rn(e,t){var r=Ln();return(Rn=function(e,t){return r[e-=404]})(e,t)}!function(e,t){for(var r=Rn,i=e();;)try{if(408223===-parseInt(r(427))/1+-parseInt(r(433))/2*(parseInt(r(412))/3)+-parseInt(r(420))/4*(-parseInt(r(423))/5)+-parseInt(r(426))/6+parseInt(r(409))/7+parseInt(r(413))/8+-parseInt(r(436))/9*(-parseInt(r(430))/10))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ln);$e[Pn(434)]((function(e,t){var r,i,n,s=Pn;r=$e[s(415)],i=function(e){var t,r,i,n=s;return t=Rn,i=(r=e).lib[t(428)],r[t(418)][t(421)]={stringify:function(e,r){var i=t;void 0===r&&(r=!0);var n=e[i(437)],s=e[i(405)],a=r?this[i(410)]:this[i(431)];e[i(408)]();for(var o=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(n[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|n[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var h=a[i(407)](64);if(h)for(;o[i(417)]%4;)o[i(414)](h);return o[i(406)]("")},parse:function(e,r){var n=t;void 0===r&&(r=!0);var s=e.length,a=r?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this[n(411)]=[];for(var c=0;c>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return i[s(404)](a,o)}(e,s,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:t(435)},e.enc[n(421)]},(n=Rn)(425)==n(425)?e.exports=i(An):"undefined"===n(422)&&(void 0)[n(416)]?(void 0)([n(424)],i):i(r[n(432)])}));function Ln(){var e=["sigBytes","join","charAt","clamp","2336523gPDnLT","_safe_map","_reverseMap","3VSkpVa","2657088zfVdan","push","commonjsGlobal","amd","length","enc","indexOf","16lHMRpD","Base64url","function","38965WmcihK","./core","object","2507028SXpAor","10284BUzQSM","WordArray","charCodeAt","980vctMZP","_map","CryptoJS","1343992qlqsyd","createCommonjsModule","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","74502XbAlKm","words","create"];return(Ln=function(){return e})()}function zn(){var e=["WordArray","call","words","402zMfXuf","CryptoJS","amd","floor","12DjvpJA","109640JhVlVv","Hasher","_nDataBytes","4210131qWBOkU","_hash","sin","_createHelper","clone","72ennKkl","init","14284VFRLBs","object","_createHmacHelper","18YDWNDx","function","HmacMD5","8rGarLP","algo","commonjsGlobal","length","6481552zwNvPY","MD5","6987299KbZSUq","81185QfbfIC","_process","_data","extend","lib","./core","4674480NnaQvv","exports"];return(zn=function(){return e})()}function Nn(e,t){var r=zn();return(Nn=function(e,t){return r[e-=152]})(e,t)}!function(e,t){for(var r=Nn,i=e();;)try{if(778819===parseInt(r(181))/1*(-parseInt(r(179))/2)+parseInt(r(174))/3+parseInt(r(171))/4+parseInt(r(155))/5*(parseInt(r(166))/6)+parseInt(r(152))/7*(-parseInt(r(187))/8)+parseInt(r(184))/9*(-parseInt(r(161))/10)+parseInt(r(154))/11*(parseInt(r(170))/12))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(zn);Qe((function(e,t){var r,i,n,s=Nn;r=$e[s(189)],i=function(e){var t=s;return function(t){var r=Nn,i=e,n=i[r(159)],s=n[r(163)],a=n[r(172)],o=i[r(188)],c=[];!function(){for(var e=r,i=0;i<64;i++)c[i]=4294967296*t.abs(t[e(176)](i+1))|0}();var u=o[r(153)]=a[r(158)]({_doReset:function(){var e=r;this._hash=new(s[e(180)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var i=r,n=0;n<16;n++){var s=t+n,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o=this[i(175)][i(165)],u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],_=e[t+4],y=e[t+5],g=e[t+6],b=e[t+7],S=e[t+8],I=e[t+9],w=e[t+10],A=e[t+11],k=e[t+12],x=e[t+13],E=e[t+14],C=e[t+15],B=o[0],D=o[1],M=o[2],T=o[3];B=l(B,D,M,T,u,7,c[0]),T=l(T,B,D,M,p,12,c[1]),M=l(M,T,B,D,m,17,c[2]),D=l(D,M,T,B,v,22,c[3]),B=l(B,D,M,T,_,7,c[4]),T=l(T,B,D,M,y,12,c[5]),M=l(M,T,B,D,g,17,c[6]),D=l(D,M,T,B,b,22,c[7]),B=l(B,D,M,T,S,7,c[8]),T=l(T,B,D,M,I,12,c[9]),M=l(M,T,B,D,w,17,c[10]),D=l(D,M,T,B,A,22,c[11]),B=l(B,D,M,T,k,7,c[12]),T=l(T,B,D,M,x,12,c[13]),M=l(M,T,B,D,E,17,c[14]),B=h(B,D=l(D,M,T,B,C,22,c[15]),M,T,p,5,c[16]),T=h(T,B,D,M,g,9,c[17]),M=h(M,T,B,D,A,14,c[18]),D=h(D,M,T,B,u,20,c[19]),B=h(B,D,M,T,y,5,c[20]),T=h(T,B,D,M,w,9,c[21]),M=h(M,T,B,D,C,14,c[22]),D=h(D,M,T,B,_,20,c[23]),B=h(B,D,M,T,I,5,c[24]),T=h(T,B,D,M,E,9,c[25]),M=h(M,T,B,D,v,14,c[26]),D=h(D,M,T,B,S,20,c[27]),B=h(B,D,M,T,x,5,c[28]),T=h(T,B,D,M,m,9,c[29]),M=h(M,T,B,D,b,14,c[30]),B=d(B,D=h(D,M,T,B,k,20,c[31]),M,T,y,4,c[32]),T=d(T,B,D,M,S,11,c[33]),M=d(M,T,B,D,A,16,c[34]),D=d(D,M,T,B,E,23,c[35]),B=d(B,D,M,T,p,4,c[36]),T=d(T,B,D,M,_,11,c[37]),M=d(M,T,B,D,b,16,c[38]),D=d(D,M,T,B,w,23,c[39]),B=d(B,D,M,T,x,4,c[40]),T=d(T,B,D,M,u,11,c[41]),M=d(M,T,B,D,v,16,c[42]),D=d(D,M,T,B,g,23,c[43]),B=d(B,D,M,T,I,4,c[44]),T=d(T,B,D,M,k,11,c[45]),M=d(M,T,B,D,C,16,c[46]),B=f(B,D=d(D,M,T,B,m,23,c[47]),M,T,u,6,c[48]),T=f(T,B,D,M,b,10,c[49]),M=f(M,T,B,D,E,15,c[50]),D=f(D,M,T,B,y,21,c[51]),B=f(B,D,M,T,k,6,c[52]),T=f(T,B,D,M,v,10,c[53]),M=f(M,T,B,D,w,15,c[54]),D=f(D,M,T,B,p,21,c[55]),B=f(B,D,M,T,S,6,c[56]),T=f(T,B,D,M,C,10,c[57]),M=f(M,T,B,D,g,15,c[58]),D=f(D,M,T,B,x,21,c[59]),B=f(B,D,M,T,_,6,c[60]),T=f(T,B,D,M,A,10,c[61]),M=f(M,T,B,D,m,15,c[62]),D=f(D,M,T,B,I,21,c[63]),o[0]=o[0]+B|0,o[1]=o[1]+D|0,o[2]=o[2]+M|0,o[3]=o[3]+T|0},_doFinalize:function(){var e=r,i=this[e(157)],n=i[e(165)],s=8*this[e(173)],a=8*i.sigBytes;n[a>>>5]|=128<<24-a%32;var o=t[e(169)](s/4294967296),c=s;n[15+(a+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(a+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),i.sigBytes=4*(n[e(190)]+1),this[e(156)]();for(var u=this[e(175)],l=u[e(165)],h=0;h<4;h++){var d=l[h];l[h]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8)}return u},clone:function(){var e=r,t=a[e(178)][e(164)](this);return t[e(175)]=this._hash[e(178)](),t}});function l(e,t,r,i,n,s,a){var o=e+(t&r|~t&i)+n+a;return(o<>>32-s)+t}function h(e,t,r,i,n,s,a){var o=e+(t&i|r&~i)+n+a;return(o<>>32-s)+t}function d(e,t,r,i,n,s,a){var o=e+(t^r^i)+n+a;return(o<>>32-s)+t}function f(e,t,r,i,n,s,a){var o=e+(r^(t|~i))+n+a;return(o<>>32-s)+t}i[r(153)]=a[r(177)](u),i[r(186)]=a[r(183)](u)}(Math),e[t(153)]},(n=Nn)(182)==n(182)?e[n(162)]=i(An):"undefined"===n(185)&&(void 0)[n(168)]?(void 0)([n(160)],i):i(r[n(167)])}));var On=Vn;!function(e,t){for(var r=Vn,i=e();;)try{if(107150===parseInt(r(247))/1+parseInt(r(234))/2+-parseInt(r(258))/3*(parseInt(r(235))/4)+parseInt(r(237))/5+parseInt(r(249))/6*(-parseInt(r(243))/7)+parseInt(r(230))/8*(-parseInt(r(240))/9)+parseInt(r(238))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Hn);$e[On(231)]((function(e,t){var r,i,n,s=On;r=$e[s(232)],i=function(e){var t,r,i,n,a,o,c,u,l=s;return i=(r=e)[(t=Vn)(248)],n=i[t(228)],a=i[t(255)],o=r[t(227)],c=[],u=o[t(259)]=a[t(254)]({_doReset:function(){var e=t;this[e(250)]=new(n[e(261)])([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var i=t,n=this[i(250)][i(241)],s=n[0],a=n[1],o=n[2],u=n[3],l=n[4],h=0;h<80;h++){if(h<16)c[h]=0|e[r+h];else{var d=c[h-3]^c[h-8]^c[h-14]^c[h-16];c[h]=d<<1|d>>>31}var f=(s<<5|s>>>27)+l+c[h];f+=h<20?1518500249+(a&o|~a&u):h<40?1859775393+(a^o^u):h<60?(a&o|a&u|o&u)-1894007588:(a^o^u)-899497514,l=u,u=o,o=a<<30|a>>>2,a=s,s=f}n[0]=n[0]+s|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+u|0,n[4]=n[4]+l|0},_doFinalize:function(){var e=t,r=this[e(251)],i=r[e(241)],n=8*this._nDataBytes,s=8*r[e(260)];return i[s>>>5]|=128<<24-s%32,i[14+(s+64>>>9<<4)]=Math.floor(n/4294967296),i[15+(s+64>>>9<<4)]=n,r[e(260)]=4*i[e(229)],this[e(246)](),this[e(250)]},clone:function(){var e=t,r=a[e(236)][e(252)](this);return r[e(250)]=this[e(250)].clone(),r}}),r[t(259)]=a[t(253)](u),r.HmacSHA1=a[t(233)](u),e[l(259)]},(n=Vn)(242)==n(242)?e[n(239)]=i(An):"undefined"===n(257)&&(void 0)[n(256)]?(void 0)([n(245)],i):i(r[n(244)])}));function Hn(){var e=["_createHelper","extend","Hasher","amd","function","64689hdthpz","SHA1","sigBytes","init","algo","WordArray","length","568klZfel","createCommonjsModule","commonjsGlobal","_createHmacHelper","80446xgFVpC","24wSMrmm","clone","67115QYHGjL","1570930iFcGOJ","exports","1413fNxEzv","words","object","1358rpMEXK","CryptoJS","./core","_process","64484xXzXeZ","lib","852JvKJlq","_hash","_data","call"];return(Hn=function(){return e})()}function Vn(e,t){var r=Hn();return(Vn=function(e,t){return r[e-=227]})(e,t)}var Gn=jn;!function(e,t){for(var r=jn,i=e();;)try{if(385394===-parseInt(r(283))/1+parseInt(r(276))/2+-parseInt(r(285))/3*(-parseInt(r(291))/4)+parseInt(r(266))/5*(parseInt(r(268))/6)+-parseInt(r(271))/7+-parseInt(r(278))/8*(-parseInt(r(288))/9)+parseInt(r(279))/10*(-parseInt(r(297))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Wn);$e[Gn(290)]((function(e,t){var r,i,n;r=$e[Gn(267)],i=function(e){return function(t){var r=jn,i=e,n=i[r(270)],s=n[r(273)],a=n[r(281)],o=i[r(286)],c=[],u=[];!function(){var e=r;function i(e){for(var r=t[jn(296)](e),i=2;i<=r;i++)if(!(e%i))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,a=0;a<64;)i(s)&&(a<8&&(c[a]=n(t.pow(s,.5))),u[a]=n(t[e(293)](s,1/3)),a++),s++}();var l=[],h=o[r(295)]=a[r(289)]({_doReset:function(){var e=r;this[e(275)]=new s.init(c[e(261)](0))},_doProcessBlock:function(e,t){for(var i=r,n=this._hash[i(269)],s=n[0],a=n[1],o=n[2],c=n[3],h=n[4],d=n[5],f=n[6],p=n[7],m=0;m<64;m++){if(m<16)l[m]=0|e[t+m];else{var v=l[m-15],_=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,y=l[m-2],g=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[m]=_+l[m-7]+g+l[m-16]}var b=s&a^s&o^a&o,S=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),I=p+((h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25))+(h&d^~h&f)+u[m]+l[m];p=f,f=d,d=h,h=c+I|0,c=o,o=a,a=s,s=I+(S+b)|0}n[0]=n[0]+s|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+c|0,n[4]=n[4]+h|0,n[5]=n[5]+d|0,n[6]=n[6]+f|0,n[7]=n[7]+p|0},_doFinalize:function(){var e=r,i=this[e(280)],n=i[e(269)],s=8*this[e(265)],a=8*i[e(284)];return n[a>>>5]|=128<<24-a%32,n[14+(a+64>>>9<<4)]=t[e(287)](s/4294967296),n[15+(a+64>>>9<<4)]=s,i[e(284)]=4*n[e(294)],this[e(262)](),this[e(275)]},clone:function(){var e=r,t=a[e(263)][e(298)](this);return t[e(275)]=this._hash[e(263)](),t}});i.SHA256=a[r(277)](h),i[r(292)]=a._createHmacHelper(h)}(Math),e.SHA256},(n=jn)(282)==n(282)?e.exports=i(An):"undefined"===n(264)&&(void 0)[n(274)]?(void 0)([n(272)],i):i(r.CryptoJS)}));function Wn(){var e=["WordArray","amd","_hash","870126rVtkpR","_createHelper","104ToRUoX","519070Apabtu","_data","Hasher","object","212727qLOEtd","sigBytes","3yRWOrZ","algo","floor","257949dukvEt","extend","createCommonjsModule","2640784EAzaXl","HmacSHA256","pow","length","SHA256","sqrt","231vpsNWX","call","slice","_process","clone","function","_nDataBytes","3300285SHyoHd","commonjsGlobal","6AVTGOH","words","lib","3078187weEAoE","./core"];return(Wn=function(){return e})()}function jn(e,t){var r=Wn();return(jn=function(e,t){return r[e-=261]})(e,t)}var qn=Yn;function Kn(){var e=["35829cAaEEH","amd","./sha256","696vDSICp","WordArray","./core","2332SmWgYx","2373455VxzViA","3565GhwiSX","_createHmacHelper","init","8326znEfKl","3FsyYoq","function","1476056FbxnLL","CryptoJS","_doFinalize","3174COjMkp","79238cgLYgf","commonjsGlobal","createCommonjsModule","call","49180taejny","algo","object","HmacSHA224","SHA224","sigBytes"];return(Kn=function(){return e})()}function Yn(e,t){var r=Kn();return(Yn=function(e,t){return r[e-=205]})(e,t)}!function(e,t){for(var r=Yn,i=e();;)try{if(301096===-parseInt(r(212))/1+-parseInt(r(219))/2*(parseInt(r(213))/3)+parseInt(r(215))/4+-parseInt(r(209))/5*(parseInt(r(218))/6)+-parseInt(r(208))/7+parseInt(r(232))/8*(-parseInt(r(229))/9)+parseInt(r(223))/10*(parseInt(r(207))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Kn);$e[qn(221)]((function(e,t){var r,i,n,s=qn;r=$e[s(220)],i=function(e){var t,r,i,n,a,o,c=s;return t=Yn,i=(r=e).lib[t(205)],n=r[t(224)],a=n.SHA256,o=n.SHA224=a.extend({_doReset:function(){var e=t;this._hash=new(i[e(211)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=a[e(217)][e(222)](this);return r[e(228)]-=4,r}}),r[t(227)]=a._createHelper(o),r[t(226)]=a[t(210)](o),e[c(227)]},(n=Yn)(225)==n(225)?e.exports=i(An):"undefined"===n(214)&&(void 0)[n(230)]?(void 0)([n(206),n(231)],i):i(r[n(216)])}));function Xn(){var e=["commonjsGlobal","CryptoJS","object","call","function","_nDataBytes","high","init","length","exports","1864rOSIqz","2219630EFKVqY","4109Voybix","Word","69261CnETth","x64","toX32","low","675162tHWmmF","HmacSHA512","_hash","sigBytes","SHA512","Hasher","clone","_createHmacHelper","4dTMCoy","./x64-core","apply","./core","words","92461GTJJWM","_createHelper","37325KhGRKD","amd","_process","create","extend","algo","318663mRKdtz","4vxpGGt","_data","WordArray"];return(Xn=function(){return e})()}!function(e,t){for(var r=Jn,i=e();;)try{if(106558===-parseInt(r(167))/1*(-parseInt(r(162))/2)+-parseInt(r(150))/3+parseInt(r(133))/4*(parseInt(r(169))/5)+-parseInt(r(154))/6+-parseInt(r(148))/7*(parseInt(r(146))/8)+-parseInt(r(132))/9+parseInt(r(147))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Xn);Qe((function(e,t){var r,i,n;r=$e[Jn(136)],i=function(e){return function(){var t=Jn,r=e,i=r.lib[t(159)],n=r[t(151)],s=n[t(149)],a=n[t(135)],o=r[t(131)];function c(){var e=t;return s[e(172)][e(164)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var h=o.SHA512=i[t(130)]({_doReset:function(){var e=t;this[e(156)]=new(a[e(143)])([new s.init(1779033703,4089235720),new(s[e(143)])(3144134277,2227873595),new(s[e(143)])(1013904242,4271175723),new(s[e(143)])(2773480762,1595750129),new(s[e(143)])(1359893119,2917565137),new(s[e(143)])(2600822924,725511199),new(s[e(143)])(528734635,4215389547),new(s[e(143)])(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var i=t,n=this[i(156)][i(166)],s=n[0],a=n[1],o=n[2],c=n[3],h=n[4],d=n[5],f=n[6],p=n[7],m=s[i(142)],v=s[i(153)],_=a.high,y=a[i(153)],g=o[i(142)],b=o.low,S=c.high,I=c.low,w=h[i(142)],A=h[i(153)],k=d[i(142)],x=d[i(153)],E=f[i(142)],C=f[i(153)],B=p[i(142)],D=p.low,M=m,T=v,U=_,F=y,P=g,R=b,L=S,z=I,N=w,O=A,H=k,V=x,G=E,W=C,j=B,q=D,K=0;K<80;K++){var Y,X,J=l[K];if(K<16)X=J.high=0|e[r+2*K],Y=J[i(153)]=0|e[r+2*K+1];else{var Z=l[K-15],Q=Z[i(142)],$=Z[i(153)],ee=(Q>>>1|$<<31)^(Q>>>8|$<<24)^Q>>>7,te=($>>>1|Q<<31)^($>>>8|Q<<24)^($>>>7|Q<<25),re=l[K-2],ie=re[i(142)],ne=re.low,se=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^ie>>>6,ae=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^(ne>>>6|ie<<26),oe=l[K-7],ce=oe.high,ue=oe[i(153)],le=l[K-16],he=le.high,de=le[i(153)];X=(X=(X=ee+ce+((Y=te+ue)>>>0>>0?1:0))+se+((Y+=ae)>>>0>>0?1:0))+he+((Y+=de)>>>0>>0?1:0),J[i(142)]=X,J[i(153)]=Y}var fe,pe=N&H^~N&G,me=O&V^~O&W,ve=M&U^M&P^U&P,_e=T&F^T&R^F&R,ye=(M>>>28|T<<4)^(M<<30|T>>>2)^(M<<25|T>>>7),ge=(T>>>28|M<<4)^(T<<30|M>>>2)^(T<<25|M>>>7),be=(N>>>14|O<<18)^(N>>>18|O<<14)^(N<<23|O>>>9),Se=(O>>>14|N<<18)^(O>>>18|N<<14)^(O<<23|N>>>9),Ie=u[K],we=Ie.high,Ae=Ie[i(153)],ke=j+be+((fe=q+Se)>>>0>>0?1:0),xe=ge+_e;j=G,q=W,G=H,W=V,H=N,V=O,N=L+(ke=(ke=(ke=ke+pe+((fe+=me)>>>0>>0?1:0))+we+((fe+=Ae)>>>0>>0?1:0))+X+((fe+=Y)>>>0>>0?1:0))+((O=z+fe|0)>>>0>>0?1:0)|0,L=P,z=R,P=U,R=F,U=M,F=T,M=ke+(ye+ve+(xe>>>0>>0?1:0))+((T=fe+xe|0)>>>0>>0?1:0)|0}v=s[i(153)]=v+T,s[i(142)]=m+M+(v>>>0>>0?1:0),y=a[i(153)]=y+F,a[i(142)]=_+U+(y>>>0>>0?1:0),b=o.low=b+R,o.high=g+P+(b>>>0>>0?1:0),I=c[i(153)]=I+z,c[i(142)]=S+L+(I>>>0>>0?1:0),A=h.low=A+O,h[i(142)]=w+N+(A>>>0>>0?1:0),x=d[i(153)]=x+V,d[i(142)]=k+H+(x>>>0>>0?1:0),C=f[i(153)]=C+W,f[i(142)]=E+G+(C>>>0>>0?1:0),D=p.low=D+q,p[i(142)]=B+j+(D>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this[e(134)],i=r[e(166)],n=8*this[e(141)],s=8*r[e(157)];return i[s>>>5]|=128<<24-s%32,i[30+(s+128>>>10<<5)]=Math.floor(n/4294967296),i[31+(s+128>>>10<<5)]=n,r[e(157)]=4*i[e(144)],this[e(171)](),this._hash[e(152)]()},clone:function(){var e=t,r=i[e(160)][e(139)](this);return r[e(156)]=this[e(156)][e(160)](),r},blockSize:32});r[t(158)]=i[t(168)](h),r[t(155)]=i[t(161)](h)}(),e.SHA512},(n=Jn)(138)==n(138)?e[n(145)]=i(An):"undefined"===n(140)&&(void 0)[n(170)]?(void 0)([n(165),n(163)],i):i(r[n(137)])}));function Jn(e,t){var r=Xn();return(Jn=function(e,t){return r[e-=130]})(e,t)}var Zn=Qn;function Qn(e,t){var r=$n();return(Qn=function(e,t){return r[e-=481]})(e,t)}function $n(){var e=["createCommonjsModule","4tfoBwk","_createHmacHelper","amd","6fgMpSD","sigBytes","SHA384","exports","function","625962uEeZhr","7dWhlhv","./x64-core","x64","94604aGVERn","4679632PpyVNU","31023228TFfPdX","object","HmacSHA384","8772401MrdeUu","512388WSkUTl","6508885QJOOMi","80DqAqGY","_doFinalize","init","_hash","./sha512","WordArray","39ySSCdn","call","extend","./core"];return($n=function(){return e})()}!function(e,t){for(var r=Qn,i=e();;)try{if(943888===-parseInt(r(504))/1*(-parseInt(r(481))/2)+-parseInt(r(499))/3*(-parseInt(r(485))/4)+parseInt(r(492))/5*(parseInt(r(507))/6)+-parseInt(r(482))/7*(parseInt(r(486))/8)+parseInt(r(491))/9*(parseInt(r(493))/10)+parseInt(r(490))/11+-parseInt(r(487))/12)break;i.push(i.shift())}catch(e){i.push(i.shift())}}($n);$e[Zn(503)]((function(e,t){var r,i,n;r=Je,i=function(e){var t,r,i,n,s,a,o,c,u=Qn;return i=(r=e)[(t=Qn)(484)],n=i.Word,s=i[t(498)],a=r.algo,o=a.SHA512,c=a[t(509)]=o[t(501)]({_doReset:function(){var e=t;this[e(496)]=new(s[e(495)])([new n.init(3418070365,3238371032),new(n[e(495)])(1654270250,914150663),new(n[e(495)])(2438529370,812702999),new(n[e(495)])(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new(n[e(495)])(3675008525,1694076839),new(n[e(495)])(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=o[e(494)][e(500)](this);return r[e(508)]-=16,r}}),r.SHA384=o._createHelper(c),r[t(489)]=o[t(505)](c),e[u(509)]},(n=Qn)(488)==n(488)?e[n(510)]=i(An):"undefined"===n(511)&&(void 0)[n(506)]?(void 0)([n(502),n(483),n(497)],i):i(r.CryptoJS)}));var es=rs;!function(e,t){for(var r=rs,i=e();;)try{if(704671===parseInt(r(168))/1*(-parseInt(r(174))/2)+parseInt(r(157))/3+parseInt(r(147))/4+-parseInt(r(173))/5*(-parseInt(r(165))/6)+parseInt(r(171))/7*(parseInt(r(161))/8)+parseInt(r(166))/9+-parseInt(r(153))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ts);$e[es(170)]((function(e,t){var r,i,n,s=es;r=$e[s(169)],i=function(e){var t=s;return function(t){var r=rs,i=e,n=i.lib,s=n[r(155)],a=n[r(148)],o=i[r(159)][r(164)],c=i[r(140)],u=[],l=[],h=[];!function(){for(var e=1,t=0,r=0;r<24;r++){u[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,s=0;s<24;s++){for(var a=0,c=0,d=0;d<7;d++){if(1&n){var f=(1<>>24)|4278255360&(o<<24|o>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(D=n[a])[i(172)]^=c,D[i(156)]^=o}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,_=0;_<5;_++)m^=(D=n[p+5*_])[i(172)],v^=D[i(156)];var y=d[p];y[i(172)]=m,y[i(156)]=v}for(p=0;p<5;p++){var g=d[(p+4)%5],b=d[(p+1)%5],S=b[i(172)],I=b[i(156)];for(m=g[i(172)]^(S<<1|I>>>31),v=g[i(156)]^(I<<1|S>>>31),_=0;_<5;_++)(D=n[p+5*_])[i(172)]^=m,D.low^=v}for(var w=1;w<25;w++){var A=(D=n[w]).high,k=D[i(156)],x=u[w];x<32?(m=A<>>32-x,v=k<>>32-x):(m=k<>>64-x,v=A<>>64-x);var E=d[l[w]];E.high=m,E[i(156)]=v}var C=d[0],B=n[0];for(C.high=B.high,C[i(156)]=B[i(156)],p=0;p<5;p++)for(_=0;_<5;_++){var D=n[w=p+5*_],M=d[w],T=d[(p+1)%5+5*_],U=d[(p+2)%5+5*_];D[i(172)]=M[i(172)]^~T.high&U[i(172)],D[i(156)]=M.low^~T[i(156)]&U.low}D=n[0];var F=h[f];D[i(172)]^=F.high,D[i(156)]^=F[i(156)]}},_doFinalize:function(){var e=r,i=this._data,n=i[e(145)];this[e(154)];var a=8*i[e(160)],o=32*this[e(177)];n[a>>>5]|=1<<24-a%32,n[(t[e(178)]((a+1)/o)*o>>>5)-1]|=128,i[e(160)]=4*n[e(162)],this[e(175)]();for(var c=this[e(179)],u=this.cfg.outputLength/8,l=u/8,h=[],d=0;d>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),h.push(m),h[e(143)](p)}return new(s[e(163)])(h,u)},clone:function(){for(var e=r,t=a[e(180)][e(158)](this),i=t._state=this[e(179)].slice(0),n=0;n<25;n++)i[n]=i[n].clone();return t}});i[r(144)]=a[r(151)](f),i[r(152)]=a._createHmacHelper(f)}(Math),e[t(144)]},(n=rs)(167)==n(167)?e.exports=i(An):i(r[n(149)])}));function ts(){var e=["10130877ZTOpRT","object","2228jhCXOo","commonjsGlobal","createCommonjsModule","13937JQbOvb","high","769195fMvDkq","978ZzWVBN","_process","outputLength","blockSize","ceil","_state","clone","algo","./core","cfg","push","SHA3","words","extend","2243620YkVIlV","Hasher","CryptoJS","create","_createHelper","HmacSHA3","13689200wwhPxQ","_nDataBytes","WordArray","low","2252211wqzAXB","call","x64","sigBytes","1680EOKdHE","length","init","Word","12XOfJZQ"];return(ts=function(){return e})()}function rs(e,t){var r=ts();return(rs=function(e,t){return r[e-=140]})(e,t)}var is=ns;function ns(e,t){var r=ss();return(ns=function(e,t){return r[e-=498]})(e,t)}!function(e,t){for(var r=ns,i=e();;)try{if(393213===parseInt(r(511))/1*(-parseInt(r(507))/2)+-parseInt(r(524))/3*(parseInt(r(513))/4)+-parseInt(r(515))/5*(parseInt(r(502))/6)+-parseInt(r(510))/7*(-parseInt(r(504))/8)+parseInt(r(514))/9*(parseInt(r(500))/10)+parseInt(r(529))/11+-parseInt(r(505))/12*(-parseInt(r(501))/13))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ss);$e[is(509)]((function(e,t){var r,i;e[ns(525)]=(r=An,i=ns,function(e){var t=ns,i=r,n=i[t(521)],s=n[t(526)],a=n[t(506)],o=i.algo,c=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s[t(530)]([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s[t(530)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),h=s[t(530)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=s[t(530)]([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),p=o[t(522)]=a[t(499)]({_doReset:function(){var e=t;this[e(512)]=s[e(530)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var i=t,n=0;n<16;n++){var s=r+n,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o,p,S,I,w,A,k,x,E,C,B,D=this._hash[i(527)],M=d[i(527)],T=f.words,U=c[i(527)],F=u[i(527)],P=l[i(527)],R=h[i(527)];for(A=o=D[0],k=p=D[1],x=S=D[2],E=I=D[3],C=w=D[4],n=0;n<80;n+=1)B=o+e[r+U[n]]|0,B+=n<16?m(p,S,I)+M[0]:n<32?v(p,S,I)+M[1]:n<48?_(p,S,I)+M[2]:n<64?y(p,S,I)+M[3]:g(p,S,I)+M[4],B=(B=b(B|=0,P[n]))+w|0,o=w,w=I,I=b(S,10),S=p,p=B,B=A+e[r+F[n]]|0,B+=n<16?g(k,x,E)+T[0]:n<32?y(k,x,E)+T[1]:n<48?_(k,x,E)+T[2]:n<64?v(k,x,E)+T[3]:m(k,x,E)+T[4],B=(B=b(B|=0,R[n]))+C|0,A=C,C=E,E=b(x,10),x=k,k=B;B=D[1]+S+E|0,D[1]=D[2]+I+C|0,D[2]=D[3]+w+A|0,D[3]=D[4]+o+k|0,D[4]=D[0]+p+x|0,D[0]=B},_doFinalize:function(){var e=t,r=this[e(516)],i=r.words,n=8*this._nDataBytes,s=8*r[e(517)];i[s>>>5]|=128<<24-s%32,i[14+(s+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),r[e(517)]=4*(i[e(498)]+1),this[e(528)]();for(var a=this[e(512)],o=a[e(527)],c=0;c<5;c++){var u=o[c];o[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=t,r=a[e(508)].call(this);return r[e(512)]=this[e(512)][e(508)](),r}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function y(e,t,r){return e&r|t&~r}function g(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}i[t(522)]=a[t(503)](p),i[t(523)]=a[t(531)](p)}(),r[i(522)])}));function ss(){var e=["lib","RIPEMD160","HmacRIPEMD160","869355aSaPFY","exports","WordArray","words","_process","5079283YZbals","create","_createHmacHelper","length","extend","20XogBXm","3991HsgkBt","78XQBdjS","_createHelper","1016mMiSzv","180iYCRuC","Hasher","2byjigY","clone","createCommonjsModule","20531vhBSnr","65413JZaLnc","_hash","8NAqaEp","2279358KpHzbm","118145PaStIy","_data","sigBytes","./core","amd","function"];return(ss=function(){return e})()}function as(e,t){var r=os();return(as=function(e,t){return r[e-=105]})(e,t)}function os(){var e=["45836XtFiMK","5GIBfez","_hasher","parse","38810CDeESD","function","clone","update","25477430hpUYVb","CryptoJS","init","1907190iwQxVv","1013348YMrZvT","_iKey","blockSize","commonjsGlobal","string","amd","enc","873aHgbHh","12GkDNsq","finalize","exports","sigBytes","19PYatIi","concat","1743EgPjzN","6KDuwSp","createCommonjsModule","reset","algo","_oKey","1865664QIZYAo","words","clamp","object"];return(os=function(){return e})()}var cs=as;!function(e,t){for(var r=as,i=e();;)try{if(446235===-parseInt(r(121))/1*(parseInt(r(133))/2)+-parseInt(r(124))/3*(parseInt(r(109))/4)+-parseInt(r(134))/5*(parseInt(r(108))/6)+-parseInt(r(123))/7+-parseInt(r(129))/8+-parseInt(r(116))/9*(parseInt(r(137))/10)+parseInt(r(105))/11*(parseInt(r(117))/12))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(os);$e[cs(125)]((function(e,t){var r,i,n;r=$e[cs(112)],i=function(e){var t,r,i,n;t=as,i=(r=e).lib.Base,n=r[t(115)].Utf8,r[t(127)].HMAC=i.extend({init:function(e,r){var i=t;e=this[i(135)]=new(e[i(107)]),typeof r==i(113)&&(r=n[i(136)](r));var s=e[i(111)],a=4*s;r[i(120)]>a&&(r=e[i(118)](r)),r[i(131)]();for(var o=this[i(128)]=r.clone(),c=this[i(110)]=r[i(139)](),u=o[i(130)],l=c[i(130)],h=0;h>>2];e.sigBytes-=r}};s[i(426)]=d[i(447)]({cfg:d.cfg.extend({mode:m,padding:v}),reset:function(){var e,t=i;d.reset.call(this);var r=this[t(453)],n=r.iv,s=r[t(445)];this[t(423)]==this[t(462)]?e=s[t(405)]:(e=s.createDecryptor,this._minBufferSize=1),this[t(449)]&&this._mode[t(418)]==e?this[t(449)][t(411)](this,n&&n.words):(this[t(449)]=e[t(457)](s,this,n&&n[t(396)]),this._mode[t(418)]=e)},_doProcessBlock:function(e,t){var r=i;this[r(449)][r(393)](e,t)},_doFinalize:function(){var e,t=i,r=this[t(453)][t(400)];return this._xformMode==this[t(462)]?(r.pad(this._data,this[t(441)]),e=this[t(456)](!!t(413))):(e=this[t(456)](!!t(413)),r[t(428)](e)),e},blockSize:4});var _=s[i(384)]=a.extend({init:function(e){this[i(388)](e)},toString:function(e){var t=i;return(e||this[t(415)])[t(385)](this)}}),y=(n[i(439)]={})[i(406)]={stringify:function(e){var t=i,r=e.ciphertext,n=e[t(454)];return(n?o[t(443)]([1398893684,1701076831]).concat(n)[t(397)](r):r)[t(429)](l)},parse:function(e){var t,r=i,n=l[r(402)](e),s=n[r(396)];return 1398893684==s[0]&&1701076831==s[1]&&(t=o[r(443)](s[r(390)](2,4)),s[r(465)](0,4),n[r(427)]-=16),_[r(443)]({ciphertext:n,salt:t})}},g=s[i(433)]=a[i(447)]({cfg:a.extend({format:y}),encrypt:function(e,t,r,n){var s=i;n=this[s(453)][s(447)](n);var a=e[s(405)](r,n),o=a[s(434)](t),c=a[s(453)];return _[s(443)]({ciphertext:o,key:r,iv:c.iv,algorithm:e,mode:c[s(445)],padding:c[s(400)],blockSize:e[s(441)],formatter:n[s(439)]})},decrypt:function(e,t,r,n){var s=i;return n=this[s(453)].extend(n),t=this[s(414)](t,n[s(439)]),e[s(377)](r,n)[s(434)](t[s(381)])},_parse:function(e,t){var r=i;return typeof e==r(461)?t[r(402)](e,this):e}}),b=(n[i(435)]={})[i(406)]={execute:function(e,t,r,n,s){var a=i;if(!n&&(n=o[a(410)](8)),s)c=h[a(443)]({keySize:t+r,hasher:s})[a(391)](e,n);else var c=h[a(443)]({keySize:t+r})[a(391)](e,n);var u=o.create(c.words[a(390)](t),4*r);return c[a(427)]=4*t,_[a(443)]({key:c,iv:u,salt:n})}},S=s[i(422)]=g[i(447)]({cfg:g.cfg.extend({kdf:b}),encrypt:function(e,t,r,n){var s=i,a=(n=this[s(453)][s(447)](n))[s(435)][s(425)](r,e.keySize,e[s(394)],n[s(454)],n[s(398)]);n.iv=a.iv;var o=g[s(383)][s(457)](this,e,t,a.key,n);return o[s(388)](a),o},decrypt:function(e,t,r,n){var s=i;n=this[s(453)][s(447)](n),t=this[s(414)](t,n[s(439)]);var a=n[s(435)].execute(r,e[s(392)],e[s(394)],t[s(454)],n[s(398)]);return n.iv=a.iv,g[s(403)][s(457)](this,e,t,a[s(448)],n)}})}()},(n=vs)(440)==n(440)?e[n(460)]=i(An):"undefined"===n(401)&&(void 0).amd?(void 0)([n(432),n(389)],i):i(r[n(409)])}));function ys(){var e=["CryptoJS","Encryptor","call","amd","lib","./cipher-core","3324kRzfvW","CFB","mode","2650540ZnuFcw","9puDkSJ","4045qJxXqj","1618440dNUatd","1688796vIhWMf","2409DNwGgg","2555193enSBWB","slice","encryptBlock","blockSize","extend","exports","./core","21bkfknX","function","object","commonjsGlobal","_prevBlock","19590kizvWo","138444xqkkuy","Decryptor","_iv","_cipher"];return(ys=function(){return e})()}function gs(e,t){var r=ys();return(gs=function(e,t){return r[e-=351]})(e,t)}!function(e,t){for(var r=gs,i=e();;)try{if(465598===-parseInt(r(375))/1*(-parseInt(r(361))/2)+parseInt(r(380))/3+parseInt(r(374))/4+parseInt(r(376))/5*(-parseInt(r(371))/6)+parseInt(r(355))/7*(-parseInt(r(377))/8)+-parseInt(r(378))/9+-parseInt(r(360))/10*(parseInt(r(379))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ys);Qe((function(e,t){var r,i,n,s=gs;r=$e[s(358)],i=function(e){var t=s;return e[t(373)][t(372)]=function(){var r=t,i=e[r(369)].BlockCipherMode[r(352)]();function n(e,t,i,n){var s,a=r,o=this[a(363)];o?(s=o[a(381)](0),this[a(363)]=void 0):s=this[a(359)],n[a(382)](s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}var s=i[r(480)]=i[r(495)]({processBlock:function(e,t){var i,s=r,a=this[s(471)],o=a[s(497)],c=this[s(494)],u=this[s(496)];c&&(u=this._counter=c[s(493)](0),this._iv=void 0),0===((i=u)[0]=n(i[0]))&&(i[1]=n(i[1]));var l=u[s(493)](0);a[s(476)](l,0);for(var h=0;h>>2]|=a<<24-o%4*8,e[i(274)]+=a},unpad:function(e){var r=255&e[t(252)][e.sigBytes-1>>>2];e.sigBytes-=r}},e.pad[t(255)]},"object"===(n=Ts)(271)?e[n(260)]=i(An):"undefined"===n(259)&&(void 0)[n(261)]?(void 0)([n(256),n(263)],i):i(r.CryptoJS)}));function Fs(e,t){var r=Ps();return(Fs=function(e,t){return r[e-=114]})(e,t)}!function(e,t){for(var r=Fs,i=e();;)try{if(217869===-parseInt(r(139))/1*(parseInt(r(125))/2)+-parseInt(r(135))/3*(-parseInt(r(138))/4)+parseInt(r(141))/5*(-parseInt(r(128))/6)+-parseInt(r(133))/7*(-parseInt(r(121))/8)+parseInt(r(127))/9*(parseInt(r(122))/10)+-parseInt(r(120))/11+-parseInt(r(117))/12*(-parseInt(r(136))/13))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ps);Qe((function(e,t){var r,i,n,s=Fs;r=$e[s(130)],i=function(e){var t=s;return e.pad[t(119)]={pad:function(r,i){var n=t,s=4*i,a=s-r[n(114)]%s;r.concat(e[n(116)].WordArray[n(132)](a-1))[n(131)](e[n(116)][n(123)][n(115)]([a<<24],1))},unpad:function(e){var r=t,i=255&e[r(124)][e[r(114)]-1>>>2];e[r(114)]-=i}},e[t(134)][t(119)]},(n=Fs)(129)==n(129)?e.exports=i(An):"undefined"===n(140)&&(void 0)[n(137)]?(void 0)([n(118),"./cipher-core"],i):i(r[n(126)])}));function Ps(){var e=["concat","random","7oYrstc","pad","3xrwOFV","1220193MCqFVL","amd","739672xeEbUB","6016oHzjtw","function","20GPRgjm","sigBytes","create","lib","36dxmPCb","./core","Iso10126","4069120jtcWuT","3288008ibcIdl","10EEfOEA","WordArray","words","82qsjgXt","CryptoJS","2068695PDreZQ","409368lfIbWD","object","commonjsGlobal"];return(Ps=function(){return e})()}function Rs(e,t){var r=zs();return(Rs=function(e,t){return r[e-=315]})(e,t)}var Ls=Rs;!function(e,t){for(var r=Rs,i=e();;)try{if(512751===-parseInt(r(315))/1*(-parseInt(r(325))/2)+parseInt(r(323))/3*(parseInt(r(336))/4)+parseInt(r(332))/5*(parseInt(r(319))/6)+-parseInt(r(321))/7*(-parseInt(r(337))/8)+parseInt(r(327))/9*(parseInt(r(334))/10)+-parseInt(r(316))/11*(-parseInt(r(342))/12)+-parseInt(r(320))/13)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(zs);$e[Ls(333)]((function(e,t){var r,i,n;r=Je,i=function(e){var t=Rs;return e[t(318)][t(329)]={pad:function(r,i){var n=t;r.concat(e[n(341)].WordArray[n(326)]([2147483648],1)),e[n(318)][n(338)][n(318)](r,i)},unpad:function(r){var i=t;e[i(318)][i(338)][i(328)](r),r[i(339)]--}},e[t(318)][t(329)]},(n=Rs)(331)==n(331)?e[n(335)]=i(An):"undefined"===n(324)&&(void 0)[n(322)]?(void 0)([n(330),n(317)],i):i(r[n(340)])}));function zs(){var e=["6iqgOyx","function","38LbeUhQ","create","441pQsBSI","unpad","Iso97971","./core","object","317940pXvfkh","createCommonjsModule","34910fotnDU","exports","430044KsiYsW","1616nFcwal","ZeroPadding","sigBytes","CryptoJS","lib","480xrTBmY","27796fpktzu","145904OvKjpf","./cipher-core","pad","54JZtIsU","23949276myMrMD","11711tOSHQc","amd"];return(zs=function(){return e})()}var Ns=Hs;function Os(){var e=["object","clamp","amd","./core","ZeroPadding","CryptoJS","sigBytes","commonjsGlobal","words","createCommonjsModule","161388gXeHuP","2081200sJmJdO","155hpjWOv","50182rCGXMH","./cipher-core","78294ypzuKa","72YufMHK","6261102kfMySE","537817uljkcM","10DMxIpn","94812JqZpOi"];return(Os=function(){return e})()}function Hs(e,t){var r=Os();return(Hs=function(e,t){return r[e-=425]})(e,t)}!function(e,t){for(var r=Hs,i=e();;)try{if(368453===parseInt(r(426))/1+parseInt(r(432))/2*(parseInt(r(433))/3)+-parseInt(r(444))/4+-parseInt(r(425))/5*(-parseInt(r(428))/6)+parseInt(r(431))/7*(-parseInt(r(429))/8)+parseInt(r(430))/9+-parseInt(r(445))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Os);$e[Ns(443)]((function(e,t){var r,i,n,s=Ns;r=$e[s(441)],i=function(e){var t=s;return e.pad[t(438)]={pad:function(e,r){var i=t,n=4*r;e[i(435)](),e.sigBytes+=n-(e[i(440)]%n||n)},unpad:function(e){var r=t,i=e[r(442)],n=e.sigBytes-1;for(n=e.sigBytes-1;n>=0;n--)if(i[n>>>2]>>>24-n%4*8&255){e[r(440)]=n+1;break}}},e.pad[t(438)]},"object"===(n=Hs)(434)?e.exports=i(An):i(r[n(439)])}));var Vs=Gs;function Gs(e,t){var r=Ws();return(Gs=function(e,t){return r[e-=209]})(e,t)}!function(e,t){for(var r=Gs,i=e();;)try{if(281353===parseInt(r(216))/1*(-parseInt(r(227))/2)+-parseInt(r(224))/3+parseInt(r(223))/4*(parseInt(r(222))/5)+parseInt(r(214))/6*(-parseInt(r(213))/7)+-parseInt(r(225))/8+parseInt(r(221))/9+parseInt(r(226))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ws);$e[Vs(219)]((function(e,t){var r,i,n;r=Je,i=function(e){var t=Gs;return e[t(220)].NoPadding={pad:function(){},unpad:function(){}},e.pad[t(218)]},(n=Gs)(210)==n(210)?e.exports=i(An):"undefined"===n(211)&&(void 0)[n(209)]?(void 0)([n(215),n(217)],i):i(r[n(212)])}));function Ws(){var e=["function","CryptoJS","7bwfyak","1185606kZrWUO","./core","63809FrFOON","./cipher-core","NoPadding","createCommonjsModule","pad","3792564BBFaUY","3945IEKvWy","2572EeIgoB","1554705UbEvRK","411312iQhdbe","3751160qShpCY","8KvTAvI","amd","object"];return(Ws=function(){return e})()}var js=Ks;!function(e,t){for(var r=Ks,i=e();;)try{if(829220===parseInt(r(290))/1*(parseInt(r(308))/2)+-parseInt(r(297))/3*(-parseInt(r(291))/4)+parseInt(r(288))/5*(-parseInt(r(289))/6)+parseInt(r(292))/7*(-parseInt(r(301))/8)+-parseInt(r(307))/9*(parseInt(r(298))/10)+parseInt(r(304))/11+parseInt(r(299))/12)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(qs);$e[js(310)]((function(e,t){var r,i,n;r=Je,i=function(e){var t,r,i,n,s=Ks;return i=(r=e)[(t=Ks)(300)][t(294)],n=r[t(302)].Hex,r[t(306)][t(309)]={stringify:function(e){var r=t;return e[r(296)][r(295)](n)},parse:function(e){var r=t,s=n[r(305)](e);return i[r(303)]({ciphertext:s})}},e[s(306)][s(309)]},(n=Ks)(285)==n(285)?e.exports=i(An):i(r[n(311)])}));function qs(){var e=["57337MBoiTM","amd","CipherParams","toString","ciphertext","1111377aezhCk","2190Foufdr","13937796JNfEdW","lib","888grhnfe","enc","create","6779465HifioW","parse","format","40509YzDsuW","885798DhhxZK","Hex","createCommonjsModule","CryptoJS","object","./core","./cipher-core","627345ucssFI","36HKlNEB","3cGXtTs","4rkwbjC"];return(qs=function(){return e})()}function Ks(e,t){var r=qs();return(Ks=function(e,t){return r[e-=285]})(e,t)}function Ys(){var e=["object","174320mAYjnv","./cipher-core","_keySchedule","sigBytes","./core","_createHelper","./evpkdf","commonjsGlobal","algo","_key","function","181539kOKHpO","4kYLUJv","AES","2255436rsYaIV","429981tEFdbZ","_keyPriorReset","exports","extend","BlockCipher","16zPKrCj","2041155ezqDkz","253559TBjYAs","462AvWRMf","_invKeySchedule","_nRounds","./md5","4aFlaSk","99722opBfdh","_doCryptBlock"];return(Ys=function(){return e})()}!function(e,t){for(var r=Xs,i=e();;)try{if(367121===parseInt(r(219))/1*(parseInt(r(224))/2)+-parseInt(r(212))/3+-parseInt(r(209))/4*(-parseInt(r(218))/5)+parseInt(r(211))/6+-parseInt(r(225))/7*(parseInt(r(217))/8)+-parseInt(r(208))/9+parseInt(r(197))/10*(-parseInt(r(220))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ys);Qe((function(e,t){var r,i,n,s=Xs;r=$e[s(204)],i=function(e){var t=s;return function(){var t=Xs,r=e,i=r.lib[t(216)],n=r[t(205)],s=[],a=[],o=[],c=[],u=[],l=[],h=[],d=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var n=i^i<<1^i<<2^i<<3^i<<4;n=n>>>8^255&n^99,s[r]=n,a[n]=r;var m=e[r],v=e[m],_=e[v],y=257*e[n]^16843008*n;o[r]=y<<24|y>>>8,c[r]=y<<16|y>>>16,u[r]=y<<8|y>>>24,l[r]=y,y=16843009*_^65537*v^257*m^16843008*r,h[n]=y<<24|y>>>8,d[n]=y<<16|y>>>16,f[n]=y<<8|y>>>24,p[n]=y,r?(r=m^e[e[e[_^m]]],i^=e[e[i]]):r=i=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=n.AES=i[t(215)]({_doReset:function(){var e=t;if(!this._nRounds||this[e(213)]!==this[e(206)]){for(var r=this[e(213)]=this._key,i=r.words,n=r[e(200)]/4,a=4*((this[e(222)]=n+6)+1),o=this[e(199)]=[],c=0;c6&&c%n==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/n|0]<<24),o[c]=o[c-n]^v);for(var u=this[e(221)]=[],l=0;l>>24]]^d[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){var i=t;this[i(226)](e,r,this[i(199)],o,c,u,l,s)},decryptBlock:function(e,r){var i=t,n=e[r+1];e[r+1]=e[r+3],e[r+3]=n,this[i(226)](e,r,this._invKeySchedule,h,d,f,p,a),n=e[r+1],e[r+1]=e[r+3],e[r+3]=n},_doCryptBlock:function(e,r,i,n,s,a,o,c){for(var u=this[t(222)],l=e[r]^i[0],h=e[r+1]^i[1],d=e[r+2]^i[2],f=e[r+3]^i[3],p=4,m=1;m>>24]^s[h>>>16&255]^a[d>>>8&255]^o[255&f]^i[p++],_=n[h>>>24]^s[d>>>16&255]^a[f>>>8&255]^o[255&l]^i[p++],y=n[d>>>24]^s[f>>>16&255]^a[l>>>8&255]^o[255&h]^i[p++],g=n[f>>>24]^s[l>>>16&255]^a[h>>>8&255]^o[255&d]^i[p++];l=v,h=_,d=y,f=g}v=(c[l>>>24]<<24|c[h>>>16&255]<<16|c[d>>>8&255]<<8|c[255&f])^i[p++],_=(c[h>>>24]<<24|c[d>>>16&255]<<16|c[f>>>8&255]<<8|c[255&l])^i[p++],y=(c[d>>>24]<<24|c[f>>>16&255]<<16|c[l>>>8&255]<<8|c[255&h])^i[p++],g=(c[f>>>24]<<24|c[l>>>16&255]<<16|c[h>>>8&255]<<8|c[255&d])^i[p++],e[r]=v,e[r+1]=_,e[r+2]=y,e[r+3]=g},keySize:8});r[t(210)]=i[t(202)](v)}(),e[t(210)]},"object"===(n=Xs)(227)?e[n(214)]=i(An):"undefined"===n(207)&&(void 0).amd?(void 0)([n(201),"./enc-base64",n(223),n(203),n(198)],i):i(r.CryptoJS)}));function Xs(e,t){var r=Ys();return(Xs=function(e,t){return r[e-=197]})(e,t)}!function(e,t){for(var r=Js,i=e();;)try{if(861549===parseInt(r(161))/1*(-parseInt(r(180))/2)+-parseInt(r(162))/3*(-parseInt(r(163))/4)+-parseInt(r(198))/5+parseInt(r(176))/6*(parseInt(r(186))/7)+parseInt(r(195))/8+parseInt(r(202))/9*(-parseInt(r(185))/10)+parseInt(r(171))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Zs);Qe((function(e,t){var r,i,n;r=Je,i=function(e){var t=Js;return function(){var t=Js,r=e,i=r.lib,n=i[t(190)],s=i[t(187)],a=r[t(173)],o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=a[t(183)]=s[t(181)]({_doReset:function(){for(var e=t,r=this[e(196)][e(174)],i=[],n=0;n<56;n++){var s=o[n]-1;i[n]=r[s>>>5]>>>31-s%32&1}for(var a=this[e(169)]=[],l=0;l<16;l++){var h=a[l]=[],d=u[l];for(n=0;n<24;n++)h[n/6|0]|=i[(c[n]-1+d)%28]<<31-n%6,h[4+(n/6|0)]|=i[28+(c[n+24]-1+d)%28]<<31-n%6;for(h[0]=h[0]<<1|h[0]>>>31,n=1;n<7;n++)h[n]=h[n]>>>4*(n-1)+3;h[7]=h[7]<<5|h[7]>>>27}var f=this._invSubKeys=[];for(n=0;n<16;n++)f[n]=a[15-n]},encryptBlock:function(e,r){var i=t;this[i(194)](e,r,this[i(169)])},decryptBlock:function(e,r){var i=t;this[i(194)](e,r,this[i(184)])},_doCryptBlock:function(e,r,i){var n=t;this._lBlock=e[r],this[n(193)]=e[r+1],f[n(200)](this,4,252645135),f[n(200)](this,16,65535),p[n(200)](this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var s=0;s<16;s++){for(var a=i[s],o=this[n(172)],c=this._rBlock,u=0,d=0;d<8;d++)u|=l[d][((c^a[d])&h[d])>>>0];this._lBlock=c,this[n(193)]=o^u}var m=this[n(172)];this._lBlock=this[n(193)],this[n(193)]=m,f[n(200)](this,1,1431655765),p[n(200)](this,8,16711935),p[n(200)](this,2,858993459),f[n(200)](this,16,65535),f[n(200)](this,4,252645135),e[r]=this[n(172)],e[r+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,r){var i=t,n=(this[i(172)]>>>e^this[i(193)])&r;this._rBlock^=n,this._lBlock^=n<>>e^this[i(172)])&r;this[i(172)]^=n,this[i(193)]^=n<192.","_des1","_subKeys","./enc-base64","10771376WTdzut","_lBlock","algo","words","CryptoJS","1132542xvsGnt","decryptBlock","_des3","TripleDES","6UWNwWJ","extend","create","DES","_invSubKeys","9478730VOXcFb","49DwScBY","BlockCipher","slice","exports","WordArray"];return(Zs=function(){return e})()}var Qs=$s;function $s(e,t){var r=ea();return($s=function(e,t){return r[e-=494]})(e,t)}!function(e,t){for(var r=$s,i=e();;)try{if(541488===parseInt(r(512))/1+parseInt(r(509))/2+parseInt(r(498))/3*(-parseInt(r(514))/4)+-parseInt(r(524))/5*(-parseInt(r(494))/6)+parseInt(r(501))/7*(-parseInt(r(497))/8)+parseInt(r(504))/9*(-parseInt(r(519))/10)+parseInt(r(503))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ea);$e[Qs(522)]((function(e,t){var r,i,n;r=Je,i=function(e){return function(){var t=$s,r=e,i=r[t(523)][t(505)],n=r[t(495)],s=n[t(518)]=i[t(510)]({_doReset:function(){for(var e=t,r=this._key,i=r[e(515)],n=r.sigBytes,s=this._S=[],a=0;a<256;a++)s[a]=a;a=0;for(var o=0;a<256;a++){var c=a%n,u=i[c>>>2]>>>24-c%4*8&255;o=(o+s[a]+u)%256;var l=s[a];s[a]=s[o],s[o]=l}this._i=this._j=0},_doProcessBlock:function(e,r){var i=t;e[r]^=a[i(496)](this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}r[t(518)]=i[t(499)](s);var o=n.RC4Drop=s[t(510)]({cfg:s.cfg[t(510)]({drop:192}),_doReset:function(){var e=t;s[e(502)][e(496)](this);for(var r=this[e(516)][e(507)];r>0;r--)a[e(496)](this)}});r[t(517)]=i._createHelper(o)}(),e.RC4},(n=$s)(500)==n(500)?e[n(513)]=i(An):i(r.CryptoJS)}));function ea(){var e=["1596016sncXoq","393222hDYurL","_createHelper","object","35HsvOGM","_doReset","6541898GGLSPk","9260469BoovRU","StreamCipher","./cipher-core","drop","./evpkdf","2111070QbqRhL","extend","amd","960279YyAbbD","exports","4hIxLmR","words","cfg","RC4Drop","RC4","10eoHOnz","./core","./enc-base64","createCommonjsModule","lib","442405OgWrWU","6QXAsDg","algo","call"];return(ea=function(){return e})()}var ta=ia;function ra(){var e=["6076658FkwoTC","5454840YaOIgm","extend","commonjsGlobal","93vFWKcV","1143canJOt","72256Mbimts","cfg","4950940MyGofc","_key","function","_createHelper","words","606gLwBYn","./enc-base64","2532XJASUH","algo","./cipher-core","128296jlCUyl","4330rhKliR","createCommonjsModule","call","23078zWFEYb","exports","object","Rabbit","lib","./evpkdf","StreamCipher"];return(ra=function(){return e})()}function ia(e,t){var r=ra();return(ia=function(e,t){return r[e-=314]})(e,t)}!function(e,t){for(var r=ia,i=e();;)try{if(737226===parseInt(r(342))/1*(parseInt(r(315))/2)+-parseInt(r(333))/3*(-parseInt(r(318))/4)+parseInt(r(337))/5+parseInt(r(330))/6+-parseInt(r(329))/7+-parseInt(r(335))/8*(parseInt(r(334))/9)+-parseInt(r(319))/10*(parseInt(r(322))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ra);$e[ta(320)]((function(e,t){var r,i,n;r=$e[ta(332)],i=function(e){return function(){var t=ia,r=e,i=r[t(326)][t(328)],n=r[t(316)],s=[],a=[],o=[],c=n[t(325)]=i[t(331)]({_doReset:function(){for(var e=t,r=this[e(338)][e(341)],i=this[e(336)].iv,n=0;n<4;n++)r[n]=16711935&(r[n]<<8|r[n]>>>24)|4278255360&(r[n]<<24|r[n]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],a=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,n=0;n<4;n++)u.call(this);for(n=0;n<8;n++)a[n]^=s[n+4&7];if(i){var o=i.words,c=o[0],l=o[1],h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),d=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=h>>>16|4294901760&d,p=d<<16|65535&h;for(a[0]^=h,a[1]^=f,a[2]^=d,a[3]^=p,a[4]^=h,a[5]^=f,a[6]^=d,a[7]^=p,n=0;n<4;n++)u[e(321)](this)}},_doProcessBlock:function(e,t){var r=this._X;u.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8),e[t+i]^=s[i]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,s=i>>>16,c=((n*n>>>17)+n*s>>>15)+s*s,u=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r[t(325)]=i[t(340)](c)}(),e.Rabbit},(n=ia)(324)==n(324)?e[n(323)]=i(An):"undefined"===n(339)&&(void 0).amd?(void 0)(["./core",n(314),"./md5",n(327),n(317)],i):i(r.CryptoJS)}));function na(e,t){var r=sa();return(na=function(e,t){return r[e-=208]})(e,t)}function sa(){var e=["RabbitLegacy","call","18730206nsgZRW","words","function","algo","404658dfioNY","987905ZZqYRi","_createHelper","144269pjHwSI","832470krPdSj","./evpkdf","540830vszBKq","./md5","12GGOGzK","28PahUGw","./enc-base64","_key","5160080xZmBKj","10PurSTq","./cipher-core","commonjsGlobal","cfg","144cacznk","object"];return(sa=function(){return e})()}!function(e,t){for(var r=na,i=e();;)try{if(565850===-parseInt(r(223))/1*(-parseInt(r(208))/2)+-parseInt(r(220))/3*(-parseInt(r(228))/4)+-parseInt(r(221))/5+parseInt(r(224))/6*(-parseInt(r(229))/7)+-parseInt(r(232))/8+parseInt(r(212))/9*(-parseInt(r(226))/10)+parseInt(r(216))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(sa);Qe((function(e,t){var r,i,n,s=na;r=$e[s(210)],i=function(e){var t=s;return function(){var t=na,r=e,i=r.lib.StreamCipher,n=r[t(219)],s=[],a=[],o=[],c=n.RabbitLegacy=i.extend({_doReset:function(){var e=t,r=this[e(231)].words,i=this[e(211)].iv,n=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var a=0;a<4;a++)u.call(this);for(a=0;a<8;a++)s[a]^=n[a+4&7];if(i){var o=i[e(217)],c=o[0],l=o[1],h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),d=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=h>>>16|4294901760&d,p=d<<16|65535&h;for(s[0]^=h,s[1]^=f,s[2]^=d,s[3]^=p,s[4]^=h,s[5]^=f,s[6]^=d,s[7]^=p,a=0;a<4;a++)u[e(215)](this)}},_doProcessBlock:function(e,t){var r=this._X;u.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8),e[t+i]^=s[i]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,s=i>>>16,c=((n*n>>>17)+n*s>>>15)+s*s,u=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r[t(214)]=i[t(222)](c)}(),e[t(214)]},(n=na)(213)==n(213)?e.exports=i(An):"undefined"===n(218)&&(void 0).amd?(void 0)(["./core",n(230),n(227),n(225),n(209)],i):i(r.CryptoJS)}));const aa=oa;function oa(e,t){const r=ca();return(oa=function(e,t){return r[e-=447]})(e,t)}!function(e,t){const r=oa,i=e();for(;;)try{if(650439===-parseInt(r(462))/1*(-parseInt(r(478))/2)+parseInt(r(476))/3*(-parseInt(r(468))/4)+parseInt(r(457))/5*(parseInt(r(464))/6)+parseInt(r(473))/7+parseInt(r(479))/8+-parseInt(r(475))/9+-parseInt(r(451))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ca);$e[aa(471)]((function(e,t){const r=aa;!function(t,r,i){const n=oa;n(458)==n(458)?e[n(461)]=r(An):"undefined"===n(480)&&(void 0)[n(474)]?(void 0)([n(447),n(452),n(453),n(470),"./cipher-core"],r):r(t[n(459)])}($e[r(456)],(function(e){const t=r;return function(){const t=oa;var r=e,i=r[t(465)].BlockCipher,n=r[t(450)];const s=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const i=t;let n=r>>24&255,s=r>>16&255,a=r>>8&255,o=255&r,c=e.sbox[0][n]+e[i(455)][1][s];return c^=e[i(455)][2][a],c+=e[i(455)][3][o],c}function l(e,r,i){const n=t;let a,o=r,c=i;for(let t=0;t=i&&(s=0);let c=0,u=0,h=0;for(let t=0;t<18;t+=2)h=l(e,c,u),c=h[n(460)],u=h.right,e.pbox[t]=c,e[n(477)][t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)h=l(e,c,u),c=h[n(460)],u=h[n(463)],e.sbox[t][r]=c,e[n(455)][t][r+1]=u}(c,i,n)}},encryptBlock:function(e,r){const i=t;var n=l(c,e[r],e[r+1]);e[r]=n[i(460)],e[r+1]=n[i(463)]},decryptBlock:function(e,r){const i=t;var n=function(e,r,i){const n=t;let s,a=r,o=i;for(let t=17;t>1;--t)a^=e[n(477)][t],o=u(e,a)^o,s=a,a=o,o=s;return s=a,a=o,o=s,o^=e.pbox[1],a^=e[n(477)][0],{left:a,right:o}}(c,e[r],e[r+1]);e[r]=n[i(460)],e[r+1]=n[i(463)]},blockSize:2,keySize:4,ivSize:2});r[t(454)]=i[t(466)](h)}(),e[t(454)]}))}));function ca(){const e=["function","./core","_keyPriorReset","sigBytes","algo","15175160WxUxlY","./enc-base64","./md5","Blowfish","sbox","commonjsGlobal","11325TyRGDU","object","CryptoJS","left","exports","43LcOGDb","right","2172hmbWoA","lib","_createHelper","words","580aGzpEI","extend","./evpkdf","createCommonjsModule","_key","7887754miepgg","amd","9605259XwOwcy","6567yGhFTd","pbox","20788QCcNEt","9271336xCgzVM"];return(ca=function(){return e})()}function ua(e,t){var r=la();return(ua=function(e,t){return r[e-=316]})(e,t)}function la(){var e=["65MSfvop","./mode-ofb","object","2501154ioBPwl","./rabbit-legacy","188308NWiVfs","1794042ZgwMrl","./mode-ecb","amd","./sha384","./blowfish","./core","./rc4","CryptoJS","./pad-zeropadding","./enc-base64","./lib-typedarrays","./sha1","./pad-ansix923","./hmac","function","1274472fdEmCW","./evpkdf","./sha3","./enc-utf16","./pbkdf2","./aes","./enc-base64url","./pad-iso97971","1941864lDXqer","./sha224","./ripemd160","./sha512","21mKPCYa","480846LeRWog","./pad-nopadding","./tripledes","1640402IUbCZy","./mode-ctr-gladman","commonjsGlobal"];return(la=function(){return e})()}function ha(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function da(e,t,r){const i=pa;let n=arguments[i(348)]>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let a=5;for(;as)break;let c=e[a+4],u=!1;if(n?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][i(362)](c)):(c&=31,u=1===c||5===c),u){const n=e[i(363)](a+4+2,a+4+o);let s=new(Sn[i(354)][i(340)])(t,new(Sn[i(358)])(r));const c=s.decrypt(n);s=null,e[i(355)](c,a+4+2)}a=a+4+o}return e}function fa(e,t,r){const i=pa;if(e[i(356)]<=30)return e;const n=e[i(363)](32);let s=new(Sn[i(354)][i(340)])(t,new(Sn[i(358)])(r));const a=s[i(357)](n);return s=null,e[i(355)](a,32),e}function pa(e,t){const r=ma();return(pa=function(e,t){return r[e-=340]})(e,t)}function ma(){const e=["length","35966010DsHFoD","create","1274681WwUmgs","2780PsAOdV","749TRhZiI","ModeOfOperation","set","byteLength","decrypt","Counter","lib","584yQDrjv","catch","includes","slice","toString","ctr","51396OPrWDf","146691SKCfJn","4119965hTxWkz","get","4578988yDULqu","WordArray","1833jnOlRk"];return(ma=function(){return e})()}!function(e,t){for(var r=ua,i=e();;)try{if(498584===parseInt(r(329))/1+parseInt(r(332))/2+-parseInt(r(324))/3+parseInt(r(340))/4*(-parseInt(r(335))/5)+-parseInt(r(341))/6+parseInt(r(328))/7*(parseInt(r(316))/8)+parseInt(r(338))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(la),Qe((function(e,t){var r,i,n;r=$e[ua(334)],i=function(e){return e},(n=ua)(337)==n(337)?e.exports=An:"undefined"===n(355)&&(void 0)[n(343)]?(void 0)([n(346),"./x64-core",n(351),n(319),n(350),n(322),"./md5",n(352),"./sha256",n(325),n(327),n(344),n(318),n(326),n(354),n(320),n(317),"./cipher-core","./mode-cfb","./mode-ctr",n(333),n(336),n(342),n(353),"./pad-iso10126",n(323),n(349),n(330),"./format-hex",n(321),n(331),n(347),"./rabbit",n(339),n(345)],i):r[n(348)]=r.CryptoJS})),function(e,t){const r=pa,i=e();for(;;)try{if(954513===parseInt(r(351))/1+parseInt(r(352))/2*(parseInt(r(347))/3)+parseInt(r(345))/4+-parseInt(r(343))/5+parseInt(r(341))/6*(parseInt(r(353))/7)+-parseInt(r(360))/8*(-parseInt(r(342))/9)+-parseInt(r(349))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ma);var va=ya;!function(e,t){for(var r=ya,i=e();;)try{if(924864===parseInt(r(219))/1+-parseInt(r(814))/2+parseInt(r(413))/3+parseInt(r(1433))/4+parseInt(r(678))/5*(parseInt(r(331))/6)+-parseInt(r(1125))/7+-parseInt(r(567))/8)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ga);var _a=$e[va(1243)]((function(e,t){var r,n,s=va,a=(r=new Date,n=4,{setLogLevel:function(e){var t=ya;n=e==this[t(701)]?1:e==this[t(850)]?2:e==this[t(488)]?3:(this[t(627)],4)},debug:function(e,t){var i=ya;void 0===console[i(701)]&&(console[i(701)]=console[i(532)]),1>=n&&console[i(701)]("["+a[i(834)](new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=ya;this[r(701)](e[r(543)])},info:function(e,t){var i=ya;2>=n&&console[i(850)]("["+a[i(834)](new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){var i=ya;3>=n&&console.warn("["+a[i(834)](new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){var i=ya;4>=n&&console[i(627)]("["+a[i(834)](new Date-r,1e3)+"]","["+e+"]",t)}});a[s(834)]=function(e,t){var r,i=s;function n(e,t){for(var r=ya,i=(""+e)[r(325)](".");i[0].length0){for(var i="",n=0;n0&&(i+=","),i+="["+a[t(834)](e[t(278)](n))+","+a[t(834)](e[t(599)](n))+"]";return i}return t(284)},s(613)!==s(1389)&&(t.Log=a);var o=function(e){var t=s;if(!(e instanceof ArrayBuffer))throw t(1460);this[t(545)]=e,this[t(223)]=new DataView(e),this[t(248)]=0};o[s(1284)][s(346)]=function(){return this[s(248)]},o[s(1284)][s(299)]=function(){return this[s(545)].byteLength},o[s(1284)].getLength=function(){var e=s;return this.buffer[e(1174)]},o.prototype[s(1491)]=function(e){var t=s,r=Math.max(0,Math.min(this.buffer[t(1174)],e));return this[t(248)]=isNaN(r)||!isFinite(r)?0:r,!0},o.prototype[s(1453)]=function(){return this.getPosition()>=this.getEndPosition()},o[s(1284)][s(703)]=function(e,t){var r=s,i=0;if(this.position+e<=this[r(545)][r(1174)]){switch(e){case 1:i=t?this.dataview[r(1018)](this[r(248)]):this[r(223)].getUint8(this[r(248)]);break;case 2:i=t?this[r(223)][r(489)](this[r(248)]):this.dataview[r(945)](this[r(248)]);break;case 3:if(t)throw r(1251);i=this.dataview.getUint8(this[r(248)])<<16,i|=this[r(223)].getUint8(this[r(248)]+1)<<8,i|=this[r(223)][r(453)](this[r(248)]+2);break;case 4:i=t?this[r(223)][r(1083)](this[r(248)]):this[r(223)].getUint32(this[r(248)]);break;case 8:if(t)throw r(881);i=this[r(223)][r(1275)](this[r(248)])<<32,i|=this[r(223)][r(1275)](this[r(248)]+4);break;default:throw r(1330)+e}return this[r(248)]+=e,i}throw"Not enough bytes in buffer"},o[s(1284)][s(715)]=function(){return this[s(703)](1,!1)},o.prototype[s(1308)]=function(){return this[s(703)](2,!1)},o[s(1284)].readUint24=function(){return this[s(703)](3,!1)},o[s(1284)].readUint32=function(){return this[s(703)](4,!1)},o[s(1284)][s(1376)]=function(){return this[s(703)](8,!1)},o[s(1284)][s(608)]=function(e){var t=s;if(this[t(248)]+e<=this[t(545)][t(1174)]){for(var r="",i=0;ithis[t(345)]&&(this._byteLength=r);else{for(i<1&&(i=1);r>i;)i*=2;var n=new ArrayBuffer(i),a=new Uint8Array(this[t(738)]);new Uint8Array(n,0,a[t(1504)])[t(1257)](a),this[t(545)]=n,this._byteLength=r}}},c[s(1284)][s(1459)]=function(){var e=s;if(this._byteLength!=this[e(738)][e(1174)]){var t=new ArrayBuffer(this[e(345)]),r=new Uint8Array(t),i=new Uint8Array(this[e(738)],0,r.length);r[e(1257)](i),this[e(545)]=t}},c[s(1001)]=!1,c.LITTLE_ENDIAN=!0,c[s(1284)][s(345)]=0,Object[s(1252)](c[s(1284)],s(1174),{get:function(){var e=s;return this[e(345)]-this[e(1222)]}}),Object.defineProperty(c.prototype,s(545),{get:function(){var e=s;return this._trimAlloc(),this[e(738)]},set:function(e){var t=s;this._buffer=e,this._dataView=new DataView(this[t(738)],this[t(1222)]),this._byteLength=this._buffer.byteLength}}),Object[s(1252)](c[s(1284)],s(993),{get:function(){return this[s(1222)]},set:function(e){var t=s;this._byteOffset=e,this[t(1500)]=new DataView(this[t(738)],this[t(1222)]),this[t(345)]=this[t(738)].byteLength}}),Object[s(1252)](c[s(1284)],s(332),{get:function(){return this._dataView},set:function(e){var t=s;this._byteOffset=e[t(993)],this._buffer=e[t(545)],this[t(1500)]=new DataView(this[t(738)],this._byteOffset),this[t(345)]=this._byteOffset+e.byteLength}}),c.prototype[s(1491)]=function(e){var t=s,r=Math.max(0,Math[t(893)](this[t(1174)],e));this[t(248)]=isNaN(r)||!isFinite(r)?0:r},c[s(1284)][s(875)]=function(){var e=s;return this[e(248)]>=this[e(345)]},c[s(1284)][s(1219)]=function(e){var t=s;this[t(316)](1*e);var r=new Uint8Array(this[t(738)],this[t(993)]+this[t(248)],e);return this.position+=1*e,r},c[s(1284)][s(464)]=function(e,t){var r=s;e=null==e?this[r(1174)]-this[r(248)]/4:e;var i=new Int32Array(e);return c[r(1427)](i[r(545)],0,this.buffer,this[r(993)]+this[r(248)],e*i[r(440)]),c[r(1329)](i,null==t?this[r(251)]:t),this.position+=i[r(1174)],i},c[s(1284)][s(575)]=function(e,t){var r=s;e=null==e?this.byteLength-this.position/2:e;var i=new Int16Array(e);return c.memcpy(i[r(545)],0,this.buffer,this.byteOffset+this[r(248)],e*i[r(440)]),c[r(1329)](i,null==t?this[r(251)]:t),this[r(248)]+=i[r(1174)],i},c[s(1284)][s(1381)]=function(e){var t=s;e=null==e?this[t(1174)]-this[t(248)]:e;var r=new Int8Array(e);return c.memcpy(r.buffer,0,this[t(545)],this[t(993)]+this.position,e*r[t(440)]),this[t(248)]+=r[t(1174)],r},c[s(1284)].readUint32Array=function(e,t){var r=s;e=null==e?this[r(1174)]-this.position/4:e;var i=new Uint32Array(e);return c[r(1427)](i[r(545)],0,this.buffer,this.byteOffset+this[r(248)],e*i[r(440)]),c.arrayToNative(i,null==t?this[r(251)]:t),this[r(248)]+=i[r(1174)],i},c[s(1284)][s(470)]=function(e,t){var r=s;e=null==e?this[r(1174)]-this[r(248)]/2:e;var i=new Uint16Array(e);return c[r(1427)](i[r(545)],0,this[r(545)],this.byteOffset+this[r(248)],e*i[r(440)]),c[r(1329)](i,null==t?this[r(251)]:t),this[r(248)]+=i[r(1174)],i},c.prototype[s(739)]=function(e){var t=s;e=null==e?this[t(1174)]-this.position:e;var r=new Uint8Array(e);return c[t(1427)](r[t(545)],0,this[t(545)],this[t(993)]+this.position,e*r[t(440)]),this[t(248)]+=r[t(1174)],r},c[s(1284)][s(444)]=function(e,t){var r=s;e=null==e?this[r(1174)]-this[r(248)]/8:e;var i=new Float64Array(e);return c[r(1427)](i[r(545)],0,this.buffer,this[r(993)]+this.position,e*i[r(440)]),c[r(1329)](i,null==t?this[r(251)]:t),this[r(248)]+=i[r(1174)],i},c[s(1284)].readFloat32Array=function(e,t){var r=s;e=null==e?this[r(1174)]-this[r(248)]/4:e;var i=new Float32Array(e);return c.memcpy(i.buffer,0,this[r(545)],this.byteOffset+this[r(248)],e*i[r(440)]),c[r(1329)](i,null==t?this[r(251)]:t),this[r(248)]+=i.byteLength,i},c[s(1284)][s(1343)]=function(e){var t=s,r=this[t(1500)][t(1083)](this[t(248)],null==e?this.endianness:e);return this.position+=4,r},c[s(1284)].readInt16=function(e){var t=s,r=this._dataView[t(489)](this[t(248)],null==e?this[t(251)]:e);return this[t(248)]+=2,r},c[s(1284)][s(643)]=function(){var e=s,t=this[e(1500)][e(1018)](this.position);return this[e(248)]+=1,t},c[s(1284)][s(818)]=function(e){var t=s,r=this._dataView[t(1275)](this[t(248)],null==e?this[t(251)]:e);return this[t(248)]+=4,r},c[s(1284)][s(1308)]=function(e){var t=s,r=this._dataView[t(945)](this[t(248)],null==e?this.endianness:e);return this[t(248)]+=2,r},c[s(1284)].readUint8=function(){var e=s,t=this[e(1500)][e(453)](this.position);return this[e(248)]+=1,t},c[s(1284)].readFloat32=function(e){var t=s,r=this[t(1500)][t(375)](this[t(248)],null==e?this[t(251)]:e);return this[t(248)]+=4,r},c[s(1284)].readFloat64=function(e){var t=s,r=this._dataView[t(847)](this[t(248)],null==e?this[t(251)]:e);return this[t(248)]+=8,r},c[s(251)]=new Int8Array(new Int16Array([1])[s(545)])[0]>0,c[s(1427)]=function(e,t,r,i,n){var a=s,o=new Uint8Array(e,t,n),c=new Uint8Array(r,i,n);o[a(1257)](c)},c[s(1329)]=function(e,t){return t==this[s(251)]?e:this.flipArrayEndianness(e)},c[s(1120)]=function(e,t){var r=s;return this[r(251)]==t?e:this[r(972)](e)},c[s(972)]=function(e){for(var t=s,r=new Uint8Array(e[t(545)],e[t(993)],e.byteLength),i=0;ia;n--,a++){var o=r[a];r[a]=r[n],r[n]=o}return e},c[s(1284)].failurePosition=0,String[s(718)]=function(e){for(var t=s,r=[],i=0;i>16),this.writeUint8((65280&e)>>8),this[t(431)](255&e)},c[s(1284)][s(598)]=function(e,t){var r=s,i=this[r(248)];this[r(1491)](e),this[r(1458)](t),this.seek(i)},c[s(1284)].mapInt32Array=function(e,t){var r=s;this[r(316)](4*e);var i=new Int32Array(this[r(738)],this[r(993)]+this[r(248)],e);return c.arrayToNative(i,null==t?this[r(251)]:t),this[r(248)]+=4*e,i},c[s(1284)][s(1213)]=function(e,t){var r=s;this[r(316)](2*e);var i=new Int16Array(this[r(738)],this[r(993)]+this[r(248)],e);return c.arrayToNative(i,null==t?this.endianness:t),this[r(248)]+=2*e,i},c[s(1284)][s(1375)]=function(e){var t=s;this._realloc(1*e);var r=new Int8Array(this[t(738)],this[t(993)]+this[t(248)],e);return this.position+=1*e,r},c.prototype[s(778)]=function(e,t){var r=s;this[r(316)](4*e);var i=new Uint32Array(this[r(738)],this[r(993)]+this[r(248)],e);return c.arrayToNative(i,null==t?this[r(251)]:t),this.position+=4*e,i},c.prototype[s(947)]=function(e,t){var r=s;this[r(316)](2*e);var i=new Uint16Array(this[r(738)],this[r(993)]+this[r(248)],e);return c[r(1329)](i,null==t?this[r(251)]:t),this[r(248)]+=2*e,i},c[s(1284)].mapFloat64Array=function(e,t){var r=s;this[r(316)](8*e);var i=new Float64Array(this._buffer,this.byteOffset+this[r(248)],e);return c[r(1329)](i,null==t?this.endianness:t),this.position+=8*e,i},c[s(1284)][s(240)]=function(e,t){var r=s;this[r(316)](4*e);var i=new Float32Array(this[r(738)],this[r(993)]+this[r(248)],e);return c.arrayToNative(i,null==t?this[r(251)]:t),this[r(248)]+=4*e,i};var l=function(e){var t=s;this[t(590)]=[],this.bufferIndex=-1,e&&(this[t(381)](e),this[t(231)]=0)};l[s(1284)]=new c(new ArrayBuffer,0,c[s(1001)]),l[s(1284)][s(550)]=function(){var e,t=s;return this[t(231)]>-1||(this[t(590)][t(1504)]>0?0===(e=this[t(590)][0]).fileStart?(this[t(545)]=e,this.bufferIndex=0,a.debug(t(1022),t(1268)),!0):(a[t(488)]("MultiBufferStream",t(1350)),this[t(356)](),!1):(a[t(488)](t(1022),"No buffer to start parsing from"),this[t(356)](),!1))},ArrayBuffer[s(1421)]=function(e,t){var r=s;a.debug("ArrayBuffer",r(406)+(e[r(1174)]+t[r(1174)]));var i=new Uint8Array(e[r(1174)]+t[r(1174)]);return i[r(1257)](new Uint8Array(e),0),i[r(1257)](new Uint8Array(t),e.byteLength),i.buffer},l[s(1284)][s(876)]=function(e,t,r){var i,n=s;return(i=new Uint8Array(r))[n(1257)](new Uint8Array(e,t,r)),i[n(545)][n(1248)]=e[n(1248)]+t,i[n(545)][n(1431)]=0,i[n(545)]},l[s(1284)][s(381)]=function(e){for(var t=s,r=!0,i=0;in[t(1174)]){this[t(590)][t(1495)](i,1),i--;continue}a[t(488)](t(1022),t(1263)+e[t(1248)]+t(671)+e[t(1174)]+t(412))}else e.fileStart+e[t(1174)]<=n[t(1248)]||(e=this.reduceBuffer(e,0,n.fileStart-e.fileStart)),a[t(701)]("MultiBufferStream",t(781)+e[t(1248)]+t(671)+e[t(1174)]+")"),this[t(590)][t(1495)](i,0,e),0===i&&(this[t(545)]=e);r=!1;break}if(e[t(1248)]0)){r=!1;break}e=this[t(876)](e,o,c)}}r&&(a[t(701)]("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+t(671)+e.byteLength+")"),this[t(590)][t(916)](e),0===i&&(this[t(545)]=e))},l[s(1284)].logBufferLevel=function(e){var t,r,i,n,o,c=s,u=[],l="";for(i=0,n=0,t=0;t0&&(l+=o[c(599)]-1+"]");var h=e?a[c(850)]:a[c(701)];0===this[c(590)][c(1504)]?h("MultiBufferStream",c(1133)):h("MultiBufferStream",""+this[c(590)].length+c(335)+i+"/"+n+c(780)+l)},l[s(1284)].cleanBuffers=function(){var e,t,r=s;for(e=0;e"+this[t(545)].byteLength+")"),!0}return!1}return!1},l.prototype[s(1286)]=function(e,t,r){var i,n=s,o=null,c=-1;for(i=!0===e?0:this[n(231)];i=t?(a.debug(n(1022),"Found position in existing buffer #"+c),c):-1:-1},l[s(1284)].findEndContiguousBuf=function(e){var t,r,i,n=s,a=void 0!==e?e:this.bufferIndex;if(r=this.buffers[a],this.buffers[n(1504)]>a+1)for(t=a+1;t>3;return 31===s&&n[r(221)][r(1504)]>=2&&(s=32+((7&n.data[0])<<3)+((224&n.data[1])>>5)),s}return null},i.DecoderConfigDescriptor=function(t){var r=e;i.Descriptor[r(1027)](this,4,t)},i.DecoderConfigDescriptor.prototype=new(i[e(438)]),i.DecoderConfigDescriptor[e(1284)][e(1206)]=function(t){var r=e;this.oti=t[r(715)](),this[r(898)]=t[r(715)](),this[r(816)]=0!=(this[r(898)]>>1&1),this[r(898)]=this.streamType>>>2,this[r(676)]=t[r(322)](),this[r(812)]=t[r(818)](),this[r(426)]=t[r(818)](),this.size-=13,this[r(432)](t)},i[e(206)]=function(t){var r=e;i[r(438)][r(1027)](this,5,t)},i[e(206)][e(1284)]=new i.Descriptor,i[e(856)]=function(t){var r=e;i[r(438)][r(1027)](this,6,t)},i[e(856)][e(1284)]=new(i[e(438)]),this};t[s(409)]=h;var d={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:[s(794),s(554),s(473),"skip","meco",s(710)],FULL_BOXES:[s(1403),"nmhd",s(1056),s(321),s(1058),"ipro",s(1436)],CONTAINER_BOXES:[[s(1031),["trak",s(629)]],[s(1371)],[s(1116)],["mdia"],[s(1034)],["dinf"],[s(1408),[s(492),s(987)]],[s(1259),["trex"]],[s(659),[s(1006)]],[s(1006),["trun",s(492),s(987)]],[s(280)],["tref"],["iref"],["mfra",[s(350)]],[s(462)],[s(1004)],[s(697)],[s(710)],["strd"],[s(943)],["rinf"],["schi"],[s(1231)],["udta",["kind"]],[s(354),[s(1207)]],[s(557)],[s(973)],[s(509)],[s(1344),["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;d[e(950)][e(1284)]=new d.Box,d[e(745)].prototype=new d.Box,d[e(1442)][e(1284)]=new(d[e(1011)]),d[e(415)][e(1284)]=new(d[e(950)]),d[e(888)][e(388)]((function(t){d[e(1229)](t)})),d[e(365)][e(388)]((function(t){d[e(764)](t)})),d[e(1377)][e(388)]((function(t){d[e(657)](t[0],null,t[1])}))},Box:function(e,t,r){var i=s;this[i(1461)]=e,this[i(371)]=t,this[i(329)]=r},FullBox:function(e,t,r){var i=s;d.Box[i(1027)](this,e,t,r),this[i(891)]=0,this[i(1028)]=0},ContainerBox:function(e,t,r){var i=s;d.Box[i(1027)](this,e,t,r),this[i(652)]=[]},SampleEntry:function(e,t,r,i){var n=s;d[n(745)].call(this,e,t),this[n(868)]=r,this[n(278)]=i},SampleGroupEntry:function(e){this[s(716)]=e},TrackGroupTypeBox:function(e,t){var r=s;d[r(950)][r(1027)](this,e,t)},createBoxCtor:function(e,t){var r=s;d[r(1167)][r(916)](e),d[e+"Box"]=function(t){d[r(1011)].call(this,e,t)},d[e+r(1011)][r(1284)]=new(d[r(1011)]),t&&(d[e+r(1011)][r(1284)].parse=t)},createFullBoxCtor:function(e,t){var r=s;d[e+r(1011)]=function(t){d[r(950)].call(this,e,t)},d[e+r(1011)].prototype=new(d[r(950)]),d[e+r(1011)][r(1284)].parse=function(e){var i=r;this[i(1374)](e),t&&t[i(1027)](this,e)}},addSubBoxArrays:function(e){var t=s;if(e){this.subBoxNames=e;for(var r=e[t(1504)],i=0;ir?(a[c(627)]("BoxParser",c(630)+f+"' has a size "+h+" greater than its container size "+r),{code:d[c(1336)],type:f,size:h,hdr_size:l,start:u}):0!==h&&u+h>e[c(299)]()?(e.seek(u),a.info(c(1270),c(1404)+f+c(1175)),{code:d[c(1336)],type:f,size:h,hdr_size:l,start:u}):t?{code:d.OK,type:f,size:h,hdr_size:l,start:u}:(d[f+c(1011)]?i=new(d[f+c(1011)])(h):f!==c(329)?(a.warn("BoxParser",c(577)+f+"'"),(i=new d.Box(f,h))[c(1138)]=!0):d[c(1269)][o]?i=new(d[c(1269)][o])(h):(a[c(488)](c(1270),c(1271)+o+"'"),(i=new(d[c(1011)])(f,h))[c(329)]=o,i[c(1138)]=!0),i[c(868)]=l,i[c(278)]=u,i[c(1098)]===d[c(1011)][c(1284)].write&&"mdat"!==i[c(1461)]&&(a[c(850)](c(1270),"'"+p+c(614)),i[c(286)](e)),i[c(1206)](e),(n=e.getPosition()-(i[c(278)]+i.size))<0?(a[c(488)](c(1270),"Parsing of box '"+p+c(1220)+-n+c(498)),e[c(1491)](i[c(278)]+i[c(371)])):n>0&&(a[c(627)]("BoxParser",c(1235)+p+c(971)+n+c(709)),0!==i[c(371)]&&e[c(1491)](i[c(278)]+i[c(371)])),{code:d.OK,box:i,size:i[c(371)]})},d[s(1011)][s(1284)][s(1206)]=function(e){var t=s;this[t(1461)]!=t(794)?this[t(221)]=e.readUint8Array(this[t(371)]-this[t(868)]):0===this[t(371)]?e[t(1491)](e[t(299)]()):e.seek(this[t(278)]+this.size)},d.Box.prototype[s(286)]=function(e){var t=s;this[t(221)]=e[t(739)](this[t(371)]-this[t(868)]),e[t(248)]-=this[t(371)]-this.hdr_size},d[s(950)][s(1284)][s(286)]=function(e){var t=s;this[t(1374)](e),this[t(221)]=e[t(739)](this[t(371)]-this.hdr_size),this.hdr_size-=4,e[t(248)]-=this[t(371)]-this[t(868)]},d.FullBox.prototype[s(1374)]=function(e){var t=s;this.version=e.readUint8(),this[t(891)]=e[t(322)](),this[t(868)]+=4},d[s(950)][s(1284)].parse=function(e){var t=s;this[t(1374)](e),this[t(221)]=e[t(739)](this[t(371)]-this[t(868)])},d.ContainerBox.prototype[s(1206)]=function(e){for(var t,r,i=s;e.getPosition()>10&31,r[1]=this[t(841)]>>5&31,r[2]=31&this[t(841)],this[t(1017)]=String[t(1349)](r[0]+96,r[1]+96,r[2]+96)},d[s(252)]=s(392),d[s(1301)]=s(220),d[s(1247)]=s(874),d[s(647)]="Metadata",d[s(255)]="Subtitle",d[s(990)]=s(342),d[s(1151)]=s(765),d[s(1442)][s(1284)][s(948)]=function(e){var t=s;e[t(739)](6),this[t(213)]=e.readUint16(),this[t(868)]+=8},d[s(1442)][s(1284)].parse=function(e){var t=s;this[t(948)](e),this[t(221)]=e[t(739)](this.size-this[t(868)])},d[s(1442)].prototype.parseDataAndRewind=function(e){var t=s;this[t(948)](e),this[t(221)]=e[t(739)](this[t(371)]-this.hdr_size),this[t(868)]-=8,e[t(248)]-=this[t(371)]-this[t(868)]},d[s(1442)].prototype.parseFooter=function(e){var t=s;d[t(745)].prototype[t(1206)][t(1027)](this,e)},d[s(386)](d[s(1247)]),d.createMediaSampleEntryCtor(d[s(647)]),d[s(386)](d[s(255)]),d[s(386)](d.SAMPLE_ENTRY_TYPE_SYSTEM),d.createMediaSampleEntryCtor(d[s(1151)]),d[s(386)](d[s(252)],(function(e){var t,r=s;this.parseHeader(e),e[r(1308)](),e.readUint16(),e[r(1312)](3),this[r(859)]=e[r(1308)](),this[r(1236)]=e[r(1308)](),this[r(1049)]=e[r(818)](),this[r(1432)]=e[r(818)](),e[r(818)](),this[r(1290)]=e.readUint16(),t=Math[r(893)](31,e[r(715)]()),this[r(995)]=e[r(608)](t),t<31&&e[r(608)](31-t),this.depth=e[r(1308)](),e.readUint16(),this[r(1182)](e)})),d[s(386)](d[s(1301)],(function(e){var t=s;this.parseHeader(e),e[t(1312)](2),this[t(230)]=e[t(1308)](),this[t(717)]=e[t(1308)](),e.readUint16(),e[t(1308)](),this[t(672)]=e.readUint32()/65536,this.parseFooter(e)})),d.createSampleEntryCtor(d[s(252)],"avc1"),d[s(1035)](d.SAMPLE_ENTRY_TYPE_VISUAL,s(774)),d[s(1035)](d[s(252)],"avc3"),d[s(1035)](d.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),d[s(1035)](d.SAMPLE_ENTRY_TYPE_VISUAL,s(771)),d[s(1035)](d[s(252)],s(835)),d[s(1035)](d[s(252)],s(1086)),d[s(1035)](d[s(252)],s(607)),d[s(1035)](d[s(252)],"hvt1"),d[s(1035)](d[s(252)],s(262)),d[s(1035)](d[s(252)],s(445)),d[s(1035)](d.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),d[s(1035)](d[s(252)],s(735)),d[s(1035)](d[s(252)],s(1123)),d[s(1035)](d[s(252)],s(310)),d[s(1035)](d[s(252)],s(355)),d.createSampleEntryCtor(d[s(252)],"vp08"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_VISUAL,s(403)),d.createSampleEntryCtor(d[s(252)],s(1392)),d[s(1035)](d[s(252)],s(1298)),d[s(1035)](d.SAMPLE_ENTRY_TYPE_VISUAL,s(594)),d.createSampleEntryCtor(d[s(252)],s(419)),d[s(1035)](d[s(252)],s(293)),d[s(1035)](d[s(1301)],"mp4a"),d[s(1035)](d[s(1301)],"ac-3"),d[s(1035)](d[s(1301)],"ac-4"),d.createSampleEntryCtor(d[s(1301)],"ec-3"),d[s(1035)](d[s(1301)],"Opus"),d[s(1035)](d[s(1301)],s(1465)),d[s(1035)](d[s(1301)],s(1426)),d[s(1035)](d[s(1301)],"mhm1"),d.createSampleEntryCtor(d.SAMPLE_ENTRY_TYPE_AUDIO,s(1409)),d[s(414)](d[s(252)],s(1379)),d[s(414)](d.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),d[s(414)](d[s(255)],s(981)),d[s(414)](d[s(990)],"encs"),d[s(414)](d[s(1151)],s(930)),d[s(414)](d[s(647)],s(1119)),d[s(1229)](s(369),(function(e){var t=s,r=16*(1+(1&(1&e[t(715)]())));this[t(1319)]=[];for(var i=0;i<3;i++)16==r?this.layer_size[i]=e.readUint16():this[t(1319)][i]=e[t(818)]()})),d[s(1229)](s(999),(function(e){var t=s;this[t(304)]=e[t(715)]()})),d[s(764)](s(1511),(function(e){var t=s;this[t(535)]=e[t(459)]();var r=this[t(371)]-this[t(868)]-(this.aux_type.length+1);this[t(601)]=e[t(739)](r)})),d.createBoxCtor(s(1306),(function(e){var t=s,r=e[t(715)]();if(r>>7&!1)a[t(627)](t(533));else if(this[t(1028)]=127&r,1===this[t(1028)])if(r=e[t(715)](),this[t(1117)]=r>>5&7,this[t(512)]=31&r,r=e.readUint8(),this[t(1359)]=r>>7&1,this[t(886)]=r>>6&1,this[t(1335)]=r>>5&1,this[t(1147)]=r>>4&1,this[t(845)]=r>>3&1,this.chroma_subsampling_y=r>>2&1,this[t(1223)]=3&r,r=e.readUint8(),this[t(1057)]=r>>5&7,0===this[t(1057)]){if(this[t(646)]=r>>4&1,1===this[t(646)])this[t(349)]=15&r;else if(this[t(1043)]=15&r,0!==this.reserved_2)return void a[t(627)](t(661));var i=this[t(371)]-this[t(868)]-4;this[t(1503)]=e[t(739)](i)}else a[t(627)](t(1390));else a[t(627)](t(547)+this[t(1028)]+t(581))})),d.createBoxCtor(s(754),(function(e){var t,r,i=s;for(this.configurationVersion=e[i(715)](),this.AVCProfileIndication=e[i(715)](),this[i(1476)]=e[i(715)](),this[i(1452)]=e[i(715)](),this[i(1137)]=3&e.readUint8(),this[i(1002)]=31&e[i(715)](),r=this[i(371)]-this.hdr_size-6,this[i(1486)]=[],t=0;t0&&(this[i(542)]=e.readUint8Array(r))})),d[s(1229)](s(1055),(function(e){var t=s;this.bufferSizeDB=e[t(818)](),this[t(812)]=e[t(818)](),this[t(426)]=e.readUint32()})),d[s(764)](s(563),(function(e){var t=s,r=e.readUint8();this[t(879)]=128==(128&r),this[t(1228)]=64==(64&r),this[t(884)]=(63&r)>>2,e[t(322)]()})),d[s(1229)](s(1155),(function(e){var t,r=s;for(this[r(230)]=e[r(1308)](),this[r(520)]=[],this[r(259)]=[],this[r(471)]=[],t=0;t=32768&&this[t(292)][t(916)](e[t(459)]())}})),d[s(764)]("co64",(function(e){var t,r,i=s;if(t=e[i(818)](),this[i(679)]=[],0===this.version)for(r=0;r>7}else(this[t(1067)]===t(1218)||"prof"===this[t(1067)])&&(this.ICC_profile=e[t(739)](this[t(371)]-4))})),d[s(764)](s(621),(function(e){var t=s;this[t(737)](e),this[t(250)]=e[t(459)]()})),d[s(764)](s(276),(function(e){var t=s;0===this[t(1028)]&&(this[t(1400)]=e[t(1343)](),this[t(283)]=e[t(1343)](),this.greatestDecodeToDisplayDelta=e[t(1343)](),this[t(1441)]=e.readInt32(),this[t(564)]=e[t(1343)]())})),d[s(764)](s(660),(function(e){var t,r,i=s;if(t=e[i(818)](),this.sample_counts=[],this.sample_offsets=[],0===this[i(1028)])for(r=0;r>6,this[t(1473)]=r>>1&31,this[t(955)]=(1&r)<<2|i>>6&3,this.acmod=i>>3&7,this[t(785)]=i>>2&1,this[t(1065)]=3&i|n>>5&7})),d[s(1229)]("dec3",(function(e){var t=s,r=e.readUint16();this[t(1327)]=r>>3,this[t(1069)]=7&r,this[t(1305)]=[];for(var i=0;i>6,n[t(1473)]=a>>1&31,n.bsmod=(1&a)<<4|o>>4&15,n[t(1265)]=o>>1&7,n.lfeon=1&o,n[t(261)]=c>>1&15,n[t(261)]>0&&(n[t(1161)]=(1&c)<<8|e.readUint8())}})),d.createFullBoxCtor(s(1499),(function(e){var t=s,r=[],i=[t(1172),"PADDING","APPLICATION",t(505),t(640),"CUESHEET","PICTURE",t(786)];for(this.parseFullHeader(e);;){var n=e[t(715)](),a=Math.min(127&n,i[t(1504)]-1);if(a?e.readUint8Array(e.readUint24()):(e[t(739)](13),this[t(672)]=e[t(818)]()>>12,e.readUint8Array(20)),r[t(916)](i[a]),128&n)break}this[t(730)]=r[t(1504)]+" ("+r[t(631)](", ")+")"})),d[s(1229)]("dimm",(function(e){var t=s;this[t(544)]=e[t(1376)]()})),d[s(1229)](s(315),(function(e){var t=s;this[t(1416)]=e[t(818)]()})),d[s(1229)](s(714),(function(e){var t=s;this[t(544)]=e[t(1376)]()})),d.createBoxCtor(s(741),(function(e){var t=s;if(this[t(905)]=e[t(715)](),this[t(1480)]=e.readUint8(),this[t(1064)]=e[t(1308)](),this[t(604)]=e[t(818)](),this[t(620)]=e[t(1071)](),this.ChannelMappingFamily=e[t(715)](),0!==this[t(528)]){this[t(753)]=e[t(715)](),this[t(455)]=e[t(715)](),this[t(917)]=[];for(var r=0;r=4;)this[t(497)][i]=e[t(608)](4),r-=4,i++})),d[s(764)]("hdlr",(function(e){var t=s;0===this[t(1028)]&&(e[t(818)](),this[t(803)]=e.readString(4),e[t(1312)](3),this[t(551)]=e[t(608)](this[t(371)]-this[t(868)]-20),"\0"===this[t(551)][this.name[t(1504)]-1]&&(this[t(551)]=this.name[t(592)](0,-1)))})),d[s(1229)](s(279),(function(e){var t,r,i,n,a=s;this[a(523)]=e[a(715)](),n=e[a(715)](),this[a(1068)]=n>>6,this[a(536)]=(32&n)>>5,this[a(1130)]=31&n,this[a(632)]=e[a(818)](),this.general_constraint_indicator=e[a(739)](6),this[a(638)]=e[a(715)](),this[a(317)]=4095&e[a(1308)](),this[a(965)]=3&e[a(715)](),this[a(249)]=3&e[a(715)](),this.bit_depth_luma_minus8=7&e[a(715)](),this[a(491)]=7&e.readUint8(),this[a(1399)]=e[a(1308)](),n=e[a(715)](),this[a(839)]=n>>6,this[a(799)]=(13&n)>>3,this[a(668)]=(4&n)>>2,this[a(1137)]=3&n,this.nalu_arrays=[];var o=e[a(715)]();for(t=0;t>7,c[a(1194)]=63&n;var u=e.readUint16();for(r=0;r>4&15,this[r(291)]=15&t,t=e[r(715)](),this.base_offset_size=t>>4&15,1===this[r(1028)]||2===this.version?this.index_size=15&t:this[r(568)]=0,this[r(808)]=[];var i=0;if(this[r(1028)]<2)i=e[r(1308)]();else{if(2!==this[r(1028)])throw r(878);i=e[r(818)]()}for(var n=0;n>7,this.axis=1&r})),d[s(764)](s(836),(function(e){var t=s;if((0===this.version||1===this[t(1028)])&&(this[t(517)]=e[t(1308)](),this[t(708)]=e[t(1308)](),this.item_name=e[t(459)](),this[t(454)]=e[t(459)](),this[t(1189)]=e.readCString()),1===this[t(1028)])return this.extension_type=e[t(608)](4),a[t(488)](t(1270),t(1332)),void e[t(1491)](this[t(278)]+this[t(371)]);this[t(1028)]>=2&&(2===this[t(1028)]?this[t(517)]=e[t(1308)]():3===this[t(1028)]&&(this[t(517)]=e[t(818)]()),this[t(708)]=e.readUint16(),this[t(1413)]=e[t(608)](4),this.item_name=e.readCString(),this[t(1413)]===t(1025)?(this[t(454)]=e[t(459)](),this[t(1189)]=e[t(459)]()):this.item_type===t(526)&&(this[t(343)]=e[t(459)]()))})),d[s(764)](s(1207),(function(e){var t,r,i=s;for(entry_count=e[i(818)](),this[i(1112)]=[],t=0;t>7==1,1&this[i(891)]?c[i(1150)]=(127&o)<<8|e[i(715)]():c[i(1150)]=127&o}}})),d.createFullBoxCtor("iref",(function(e){var t,r,i=s;for(this.references=[];e[i(346)]()>7,n.assignment_type=127&o,n[t(807)]){case 0:n[t(716)]=e.readString(4);break;case 1:n[t(716)]=e[t(608)](4),n.grouping_type_parameter=e[t(818)]();break;case 2:case 3:break;case 4:n[t(1505)]=e.readUint32();break;default:a[t(488)](t(1270),"Unknown leva assignement type")}}})),d.createBoxCtor(s(811),(function(e){var t=s;this[t(372)]=e[t(1308)]()})),d[s(1229)](s(909),(function(e){var t=s;this.period=e.readUint32(),this[t(467)]=e[t(818)]()})),f.prototype[s(1146)]=function(){return"("+this.x+","+this.y+")"},d[s(1229)](s(1506),(function(e){var t=s;this.display_primaries=[],this[t(838)][0]=new f(e.readUint16(),e[t(1308)]()),this[t(838)][1]=new f(e[t(1308)](),e[t(1308)]()),this[t(838)][2]=new f(e[t(1308)](),e.readUint16()),this[t(1466)]=new f(e.readUint16(),e[t(1308)]()),this[t(729)]=e[t(818)](),this[t(1192)]=e[t(818)]()})),d.createFullBoxCtor("mdhd",(function(e){var t=s;1==this[t(1028)]?(this[t(1153)]=e[t(1376)](),this[t(1391)]=e.readUint64(),this.timescale=e[t(818)](),this.duration=e[t(1376)]()):(this.creation_time=e[t(818)](),this[t(1391)]=e[t(818)](),this[t(662)]=e[t(818)](),this[t(1168)]=e[t(818)]()),this[t(737)](e),e.readUint16()})),d.createFullBoxCtor("mehd",(function(e){var t=s;1&this[t(891)]&&(a[t(488)](t(1270),"mehd box incorrectly uses flags set to 1, converting version to 1"),this[t(1028)]=1),1==this[t(1028)]?this[t(1439)]=e[t(1376)]():this[t(1439)]=e.readUint32()})),d[s(764)](s(1316),(function(e){var t=s;this.boxes=[],d[t(745)].prototype[t(1206)][t(1027)](this,e)})),d.createFullBoxCtor(s(1097),(function(e){var t=s;this[t(1444)]=e[t(818)]()})),d[s(764)]("mfro",(function(e){var t=s;this[t(673)]=e[t(818)]()})),d[s(764)](s(508),(function(e){var t=s;this[t(732)]=e[t(715)]()})),d[s(764)](s(439),(function(e){var t=s;1==this.version?(this.creation_time=e[t(1376)](),this[t(1391)]=e[t(1376)](),this[t(662)]=e[t(818)](),this[t(1168)]=e[t(1376)]()):(this[t(1153)]=e[t(818)](),this[t(1391)]=e[t(818)](),this[t(662)]=e.readUint32(),this[t(1168)]=e[t(818)]()),this[t(1102)]=e[t(818)](),this.volume=e[t(1308)]()>>8,e[t(1308)](),e[t(1312)](2),this[t(1253)]=e[t(1312)](9),e[t(1312)](6),this[t(1311)]=e[t(818)]()})),d[s(1229)](s(1244),(function(e){this.packetssent=e.readUint32()})),d[s(1229)](s(297),(function(e){this.packetssent=e.readUint64()})),d[s(764)](s(366),(function(e){var t=s,r=e[t(818)]();this[t(1180)]=[];for(var i=0;i0){var r=e[t(818)]();this[t(967)]=[];for(var i=0;i0&&(this[t(221)]=e[t(739)](n))})),d[s(764)]("clef",(function(e){var t=s;this[t(859)]=e[t(818)](),this.height=e[t(818)]()})),d[s(764)](s(685),(function(e){var t=s;this[t(859)]=e[t(818)](),this.height=e[t(818)]()})),d[s(764)](s(1100),(function(e){var t=s;this.width=e[t(818)](),this[t(1236)]=e[t(818)]()})),d.createContainerBoxCtor("tapt",null,[s(926),s(1100),"enof"]),d.createBoxCtor(s(1090),(function(e){var t=s;this[t(1360)]=e[t(608)](4),this[t(237)]=e[t(608)](this[t(371)]-this[t(868)]-4)})),d[s(764)]("saio",(function(e){var t=s;1&this[t(891)]&&(this.aux_info_type=e[t(818)](),this[t(1498)]=e[t(818)]());var r=e.readUint32();this[t(301)]=[];for(var i=0;i>7,this[t(541)]=r>>6&1,this[t(1430)]&&(this[t(1168)]=e[t(818)]()),this.avgRateFlag&&(this.accurateStatisticsFlag=e[t(715)](),this[t(309)]=e[t(1308)](),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var i=e[t(715)](),n=0;n>7,this[t(1249)]=127&r})),d[s(890)]("rash",(function(e){var t=s;if(this[t(479)]=e[t(1308)](),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a[t(488)](t(1270),t(1209)+this[t(716)]+t(726)),this[t(221)]=e[t(739)](this[t(969)]-2);else{if(1===this.operation_point_count)this[t(326)]=e[t(1308)]();else{this[t(326)]=[],this[t(940)]=[];for(var r=0;r>4,this.skip_byte_block=15&r,this.isProtected=e.readUint8(),this[t(1315)]=e[t(715)](),this[t(500)]=d.parseHex16(e),this[t(1080)]=0,this[t(813)]=0,1===this[t(389)]&&0===this.Per_Sample_IV_Size&&(this[t(1080)]=e[t(715)](),this[t(813)]=e[t(739)](this[t(1080)]))})),d[s(890)]("stsa",(function(e){var t=s;a[t(488)](t(1270),t(1402)+this[t(716)]+" not fully parsed")})),d[s(890)](s(430),(function(e){var t=e[s(715)]();this.NAL_unit_type=63&t})),d[s(890)](s(1145),(function(e){var t=e[s(715)]();this.level_independently_decodable=t>>7})),d[s(890)](s(244),(function(e){var t=s;a[t(488)](t(1270),"Sample Group type: "+this.grouping_type+" not fully parsed")})),d.createSampleGroupCtor(s(233),(function(e){var t=s;a[t(488)]("BoxParser",t(1402)+this[t(716)]+t(1152))})),d[s(890)](s(358),(function(e){var t=s;a.warn(t(1270),t(1402)+this[t(716)]+t(1152))})),d[s(764)]("sbgp",(function(e){var t=s;this[t(716)]=e[t(608)](4),1===this[t(1028)]?this[t(1254)]=e[t(818)]():this[t(1254)]=0,this[t(1510)]=[];for(var r=e[t(818)](),i=0;i>6,this[r(308)][n]=t>>4&3,this[r(1368)][n]=t>>2&3,this.sample_has_redundancy[n]=3&t})),d.createFullBoxCtor(s(361)),d[s(764)](s(492),(function(e){var t=s;this.grouping_type=e[t(608)](4),a[t(701)](t(1270),t(549)+this[t(716)]),1===this[t(1028)]?this[t(1274)]=e[t(818)]():this[t(1274)]=0,this.version>=2&&(this[t(623)]=e.readUint32()),this[t(1510)]=[];for(var r=e.readUint32(),i=0;i>31&1,n[t(323)]=2147483647&a,n[t(824)]=e[t(818)](),a=e[t(818)](),n[t(214)]=a>>31&1,n[t(1103)]=a>>28&7,n[t(239)]=268435455&a}})),d[s(980)]=function(e,t,r,i){var n=s;d.Box.call(this,e,t),this[n(868)]=r,this[n(278)]=i},d[s(980)][s(1284)]=new(d[s(1011)]),d.SingleItemTypeReferenceBox[s(1284)][s(1206)]=function(e){var t=s;this[t(1093)]=e.readUint16();var r=e[t(1308)]();this[t(570)]=[];for(var i=0;i>4&15,this[i(1272)][t+1]=15&n}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this[t(1232)]=15&r}this[t(1478)]=e[t(715)](),this[t(382)]=e[t(715)](),this[t(815)]=d[t(1121)](e),1===this.default_isProtected&&0===this[t(382)]&&(this[t(411)]=e[t(715)](),this.default_constant_IV=e.readUint8Array(this[t(411)]))})),d[s(764)](s(779),(function(e){var t=s;1==this[t(1028)]?this.baseMediaDecodeTime=e.readUint64():this[t(870)]=e.readUint32()})),d.createFullBoxCtor("tfhd",(function(e){var t=s,r=0;this.track_id=e[t(818)](),this[t(371)]-this[t(868)]>r&&this[t(891)]&d[t(829)]?(this[t(1425)]=e[t(1376)](),r+=8):this[t(1425)]=0,this.size-this[t(868)]>r&&this[t(891)]&d[t(894)]?(this[t(1045)]=e[t(818)](),r+=4):this[t(1045)]=0,this[t(371)]-this[t(868)]>r&&this[t(891)]&d[t(1110)]?(this[t(773)]=e[t(818)](),r+=4):this.default_sample_duration=0,this.size-this[t(868)]>r&&this[t(891)]&d.TFHD_FLAG_SAMPLE_SIZE?(this[t(1487)]=e[t(818)](),r+=4):this.default_sample_size=0,this[t(371)]-this.hdr_size>r&&this[t(891)]&d[t(968)]?(this[t(558)]=e.readUint32(),r+=4):this[t(558)]=0})),d[s(764)](s(350),(function(e){var t=s;this[t(1075)]=e[t(818)](),e[t(322)]();var r=e[t(715)]();this[t(1038)]=r>>4&3,this[t(1195)]=r>>2&3,this[t(1369)]=3&r,this.entries=[];for(var i=e[t(818)](),n=0;n>8,e[t(1308)](),this[t(1253)]=e.readInt32Array(9),this[t(859)]=e[t(818)](),this[t(1236)]=e[t(818)]()})),d[s(1229)]("tmax",(function(e){var t=s;this.time=e[t(818)]()})),d[s(1229)](s(1414),(function(e){var t=s;this.time=e[t(818)]()})),d[s(1229)](s(1211),(function(e){var t=s;this[t(544)]=e[t(818)]()})),d.createBoxCtor(s(862),(function(e){var t=s;this[t(544)]=e[t(818)]()})),d[s(1229)]("tpyl",(function(e){var t=s;this[t(544)]=e[t(1376)]()})),d[s(415)][s(1284)][s(1206)]=function(e){var t=s;this[t(1374)](e),this[t(1345)]=e[t(818)]()},d[s(906)]("msrc"),d[s(606)]=function(e,t,r,i){var n=s;d.Box.call(this,e,t),this[n(868)]=r,this.start=i},d.TrackReferenceTypeBox[s(1284)]=new(d[s(1011)]),d[s(606)].prototype[s(1206)]=function(e){var t=s;this[t(296)]=e[t(1312)]((this[t(371)]-this[t(868)])/4)},d[s(720)][s(1284)][s(1206)]=function(e){for(var t,r,i=s;e.getPosition()r&&this[t(891)]&d[t(939)]?(this[t(1226)]=e[t(1343)](),r+=4):this.data_offset=0,this[t(371)]-this[t(868)]>r&&this[t(891)]&d[t(1446)]?(this[t(1095)]=e[t(818)](),r+=4):this[t(1095)]=0,this[t(846)]=[],this[t(1084)]=[],this.sample_flags=[],this[t(305)]=[],this[t(371)]-this[t(868)]>r)for(var i=0;i>7&1,this[r(311)]=i>>6&1,this[r(639)]=i>>5&1,this[r(268)]=i>>4&1,this[r(1214)]=i>>3&1,this.pixel_size=e[r(818)](),this[r(370)]=e.readUint32(),this[r(208)]=e[r(818)](),this[r(519)]=e[r(818)](),this[r(695)]=e[r(818)]()}})),d[s(764)](s(377),(function(e){var t=s;1!==this[t(891)]&&(this[t(663)]=e[t(459)]())})),d.createFullBoxCtor("urn ",(function(e){var t=s;this[t(551)]=e.readCString(),this[t(371)]-this[t(868)]-this[t(551)][t(1504)]-1>0&&(this[t(663)]=e[t(459)]())})),d.createUUIDBox(s(1493),!0,!1,(function(e){var t=s;this[t(1477)]=e[t(608)](this[t(371)]-this[t(868)])[t(1415)](/&/g,t(437))[t(1415)](//g,t(752))[t(1415)](/"/g,t(929))[t(1415)](/'/g,"'")})),d.createUUIDBox(s(364),!0,!1,(function(e){var t=s;this[t(472)]=d[t(1121)](e);var r=e[t(818)]();r>0&&(this[t(221)]=e[t(739)](r))})),d.createUUIDBox(s(384),!0,!1),d[s(1420)](s(1178),!0,!1,(function(e){var t=s;this[t(938)]=e[t(322)](),this[t(1062)]=e[t(715)](),this[t(815)]=d[t(1121)](e)})),d[s(1420)]("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){var t=s;this[t(209)]=e.readUint8(),this.entries=[];for(var r=0;r>4,this[r(1448)]=t>>1&7,this[r(1435)]=1&t,this[r(820)]=e.readUint8(),this[r(698)]=e.readUint8(),this[r(910)]=e[r(715)](),this[r(1293)]=e.readUint16(),this.codecIntializationData=e[r(739)](this[r(1293)])):(this[r(493)]=e.readUint8(),this[r(1396)]=e[r(715)](),t=e[r(715)](),this[r(1302)]=t>>4&15,this[r(1340)]=15&t,t=e[r(715)](),this[r(1448)]=t>>4&15,this[r(373)]=t>>1&7,this[r(1435)]=1&t,this[r(1293)]=e[r(1308)](),this[r(858)]=e[r(739)](this.codecIntializationDataSize))})),d[s(1229)](s(405),(function(e){var t=s;this[t(1021)]=e[t(608)](this[t(371)]-this.hdr_size)})),d[s(764)](s(854),(function(e){var t,r,i=s,n={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this[ya(227)]=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){var t=ya;this[t(227)]=e.readUint16(),this[t(912)]=16},extract_bits:function(e){var t=ya,r=this[t(227)]>>this[t(912)]-e&(1<1){for(n[i(746)](e),this[i(1356)]=0,r=this[i(1158)]-2;r>=0;--r){var c=n[i(1385)](1);this[i(1356)]|=c<1;++r)n.extract_bits(1);for(this[i(966)]=[],r=this[i(1158)]-2;r>=0;--r)this[i(1356)]&1<>=1;r+=d[t(232)](n,0),r+=".",0===this.hvcC[t(536)]?r+="L":r+="H",r+=this[t(279)][t(638)];var a=!1,o="";for(e=5;e>=0;e--)(this[t(279)][t(1059)][e]||a)&&(o="."+d[t(232)](this[t(279)][t(1059)][e],0)+o,a=!0);r+=o}return r},d[s(530)][s(1284)][s(920)]=d[s(1193)].prototype[s(920)]=function(){var e,t=s,r=d[t(1442)][t(1284)][t(920)][t(1027)](this);if(this[t(854)]){r+="."+this.vvcC[t(1130)],this[t(854)][t(536)]?r+=".H":r+=".L",r+=this[t(854)][t(638)];var i="";if(this[t(854)].general_constraint_info){var n,a=[],o=0;for(o|=this.vvcC[t(616)]<<7,o|=this[t(854)].ptl_multilayer_enabled<<6,e=0;e>2&63,a.push(o),o&&(n=e),o=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===n)i=t(1443);else{i=".C";var c=t(596),u=0,l=0;for(e=0;e<=n;++e)for(u=u<<8|a[e],l+=8;l>=5;){i+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(i+=c[31&(u<<=5-l)])}}r+=i}return r},d[s(353)][s(1284)].getCodec=function(){var e=s,t=d[e(1442)][e(1284)][e(920)][e(1027)](this);if(this[e(1429)]&&this[e(1429)][e(1437)]){var r=this[e(1429)][e(1437)][e(1489)](),i=this.esds[e(1437)].getAudioConfig();return t+"."+d[e(232)](r)+(i?"."+i:"")}return t},d[s(641)].prototype[s(920)]=function(){var e=s,t=d[e(1442)][e(1284)][e(920)][e(1027)](this);return this[e(380)]?t+"."+this[e(380)]:t},d[s(1165)][s(1284)][s(920)]=d.vp09SampleEntry[s(1284)].getCodec=function(){var e=s,t=d.SampleEntry[e(1284)][e(920)][e(1027)](this),r=this[e(271)].level;0==r&&(r="00");var i=this[e(271)].bitDepth;return 8==i&&(i="08"),t+".0"+this.vpcC[e(493)]+"."+r+"."+i},d.av01SampleEntry.prototype[s(920)]=function(){var e,t=s,r=d.SampleEntry[t(1284)][t(920)][t(1027)](this),i=this[t(1306)][t(512)];return i<10&&(i="0"+i),2===this[t(1306)][t(1117)]&&1===this[t(1306)][t(886)]?e=1===this[t(1306)].twelve_bit?"12":"10":this[t(1306)][t(1117)]<=2&&(e=1===this[t(1306)].high_bitdepth?"10":"08"),r+"."+this[t(1306)].seq_profile+"."+i+(this[t(1306)][t(1359)]?"H":"M")+"."+e},d.Box[s(1284)][s(574)]=function(e,t){var r=s;this[r(371)]+=8,this.size>u&&(this[r(371)]+=8),this[r(1461)]===r(329)&&(this[r(371)]+=16),a[r(701)](r(975),r(1109)+this[r(1461)]+r(885)+this[r(371)]+r(896)+e[r(346)]()+(t||"")),this[r(371)]>u?e[r(1458)](1):(this.sizePosition=e.getPosition(),e[r(1458)](this.size)),e[r(690)](this[r(1461)],null,4),this[r(1461)]===r(329)&&e.writeUint8Array(this.uuid),this.size>u&&e.writeUint64(this[r(371)])},d[s(950)].prototype.writeHeader=function(e){var t=s;this.size+=4,d[t(1011)][t(1284)][t(574)][t(1027)](this,e,t(658)+this[t(1028)]+t(669)+this[t(891)]),e.writeUint8(this.version),e.writeUint24(this[t(891)])},d[s(1011)][s(1284)].write=function(e){var t=s;this[t(1461)]===t(794)?this[t(221)]&&(this.size=this[t(221)].length,this[t(574)](e),e[t(303)](this[t(221)])):(this[t(371)]=this[t(221)]?this.data[t(1504)]:0,this[t(574)](e),this[t(221)]&&e[t(303)](this[t(221)]))},d.ContainerBox[s(1284)][s(1098)]=function(e){var t=s;this.size=0,this[t(574)](e);for(var r=0;r=2&&e[i(1458)](this[i(1045)]),e[i(1458)](this[i(1510)][i(1504)]),t=0;t0)for(t=0;t+1r?1:0,this.flags=0,this[t(371)]=4,1===this[t(1028)]&&(this[t(371)]+=4),this[t(574)](e),1===this[t(1028)]?e.writeUint64(this[t(870)]):e.writeUint32(this.baseMediaDecodeTime)},d[s(979)][s(1284)][s(1098)]=function(e){var t=s;this.version=0,this.size=4,this[t(891)]&d[t(829)]&&(this.size+=8),this.flags&d.TFHD_FLAG_SAMPLE_DESC&&(this[t(371)]+=4),this[t(891)]&d.TFHD_FLAG_SAMPLE_DUR&&(this[t(371)]+=4),this[t(891)]&d[t(501)]&&(this[t(371)]+=4),this[t(891)]&d[t(968)]&&(this[t(371)]+=4),this[t(574)](e),e[t(1458)](this[t(1157)]),this[t(891)]&d[t(829)]&&e[t(324)](this[t(1425)]),this[t(891)]&d[t(894)]&&e[t(1458)](this[t(1045)]),this[t(891)]&d[t(1110)]&&e.writeUint32(this[t(773)]),this.flags&d[t(501)]&&e[t(1458)](this[t(1487)]),this.flags&d[t(968)]&&e[t(1458)](this[t(558)])},d[s(918)][s(1284)][s(1098)]=function(e){var t=s;this[t(1028)]=0,this.size=80,this[t(574)](e),e[t(1458)](this[t(1153)]),e[t(1458)](this[t(1391)]),e[t(1458)](this.track_id),e[t(1458)](0),e[t(1458)](this.duration),e[t(1458)](0),e[t(1458)](0),e[t(1215)](this[t(1445)]),e[t(1215)](this[t(319)]),e[t(1215)](this[t(202)]<<8),e[t(339)](0),e.writeInt32Array(this[t(1253)]),e[t(1458)](this[t(859)]),e[t(1458)](this[t(1236)])},d[s(513)][s(1284)].write=function(e){var t=s;this[t(1028)]=0,this[t(891)]=0,this[t(371)]=20,this[t(574)](e),e[t(1458)](this[t(1157)]),e[t(1458)](this[t(1045)]),e.writeUint32(this.default_sample_duration),e[t(1458)](this[t(1487)]),e.writeUint32(this[t(558)])},d[s(849)][s(1284)][s(1098)]=function(e){var t=s;this[t(1028)]=0,this[t(371)]=4,this.flags&d[t(939)]&&(this[t(371)]+=4),this[t(891)]&d[t(1446)]&&(this.size+=4),this[t(891)]&d.TRUN_FLAGS_DURATION&&(this.size+=4*this[t(846)][t(1504)]),this[t(891)]&d.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size[t(1504)]),this[t(891)]&d[t(1383)]&&(this[t(371)]+=4*this.sample_flags[t(1504)]),this[t(891)]&d[t(395)]&&(this.size+=4*this[t(305)][t(1504)]),this.writeHeader(e),e[t(1458)](this[t(1170)]),this.flags&d[t(939)]&&(this.data_offset_position=e[t(346)](),e.writeInt32(this.data_offset)),this[t(891)]&d[t(1446)]&&e[t(1458)](this.first_sample_flags);for(var r=0;r-1||e[r]instanceof d[i(1011)]||t[r]instanceof d[i(1011)]||typeof e[r]===i(1389)||typeof t[r]===i(1389)||"function"==typeof e[r]||typeof t[r]===i(1333)||e[i(579)]&&e[i(579)][i(821)](r.slice(0,4))>-1||t[i(579)]&&t[i(579)].indexOf(r[i(592)](0,4))>-1||r===i(221)||"start"===r||r===i(371)||r===i(1153)||r===i(1391)||d[i(463)][i(821)](r)>-1||e[r]===t[r]))return!1;return!0},d[s(1073)]=function(e,t){var r=s;if(!d[r(1401)](e,t))return!1;for(var i=0;i=t?e:new Array(t-e[i(1504)]+1)[i(631)](r)+e}function a(e){var t=ya,r=Math[t(1313)](e/3600),i=Math[t(1313)]((e-3600*r)/60),s=Math.floor(e-3600*r-60*i),a=Math.floor(1e3*(e-3600*r-60*i-s));return n(r,2)+":"+n(i,2)+":"+n(s,2)+"."+n(a,3)}for(var o=this[i(424)](r),c="",u=0;u1)for(t=1;t-1&&this[t(485)][t(1495)](r,1)},y.prototype[s(810)]=function(e,t,r){var i=s,n=this[i(1418)](e);if(n){var a={};this[i(460)][i(916)](a),a.id=e,a[i(784)]=t,a.trak=n,n[i(693)]=0,a[i(964)]=1e3,a[i(383)]=[],r&&r.nbSamples&&(a[i(964)]=r.nbSamples)}},y[s(1284)][s(553)]=function(e){for(var t=s,r=-1,i=0;i-1&&this.extractedTracks[t(1495)](r,1)},y[s(1284)][s(1206)]=function(){var e,t,r=s;if(!this[r(1186)]||this[r(1186)]())for(;;){if(this.hasIncompleteMdat&&this[r(572)]()){if(this[r(865)]())continue;return}if(this[r(222)]&&this[r(222)](),(e=d.parseOneBox(this.stream,false))[r(481)]===d[r(1336)]){if(this[r(832)]){if(this[r(832)](e))continue;return}return}var i;switch(i=(t=e[r(588)])[r(1461)]!==r(329)?t[r(1461)]:t.uuid,this.boxes[r(916)](t),i){case r(794):this[r(892)][r(916)](t);break;case r(659):this[r(788)].push(t);break;case r(1031):this[r(833)]=!0,0===this[r(892)][r(1504)]&&(this.isProgressive=!0);default:void 0!==this[i]&&a[r(488)](r(946),r(334)+i+r(1085)),this[i]=t}this[r(655)]&&this[r(655)](t,e)}},y[s(1284)].checkBuffer=function(e){var t=s;if(null==e)throw"Buffer must be defined and non empty";if(void 0===e[t(1248)])throw t(680);return 0===e[t(1174)]?(a.warn(t(946),t(1295)+e[t(1248)]+")"),this[t(825)][t(356)](),!1):(a[t(850)](t(946),"Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this[t(825)].insertBuffer(e),this[t(825)].logBufferLevel(),!!this[t(825)][t(550)]()||(a.warn("ISOFile",t(393)),!1))},y[s(1284)][s(451)]=function(e,t){var r,i=s;if(this[i(986)](e))return this[i(1206)](),this[i(833)]&&!this[i(1136)]&&(this[i(1136)]=!0,this.onMoovStart&&this[i(1164)]()),this[i(1031)]?(!this.sampleListBuilt&&(this[i(848)](),this[i(800)]=!0),this[i(1422)](),this[i(318)]&&!this.readySent&&(this[i(212)]=!0,this[i(318)](this.getInfo())),this[i(571)](t),this[i(962)]?(r=this[i(962)],this[i(962)]=void 0):r=this.nextParsePosition,this[i(825)][i(234)]&&(r=this[i(825)].getEndFilePositionAfter(r))):r=this.nextParsePosition?this[i(527)]:0,this[i(700)]&&this[i(628)]&&!this[i(747)]&&(this.onSidx(this[i(700)]),this.sidxSent=!0),this[i(1316)]&&(this[i(1047)]&&!this[i(336)]&&(this[i(1047)](),this[i(336)]=!0),this.processItems&&this[i(749)](this[i(420)])),this[i(825)][i(573)]&&(a.info(i(946),i(404)+e.fileStart+i(1245)+r),this[i(825)][i(356)](),this.stream[i(573)](),this[i(825)][i(356)](!0),a[i(850)]("ISOFile",i(1501)+this[i(984)]())),r},y[s(1284)].getInfo=function(){var e,t,r,i,n,a,o=s,c={},u=new Date("1904-01-01T00:00:00Z")[o(914)]();if(this[o(1031)])for(c[o(503)]=!0,c[o(1168)]=this[o(1031)][o(439)][o(1168)],c[o(662)]=this.moov[o(439)][o(662)],c[o(1240)]=null!=this[o(1031)].mvex,c[o(1240)]&&this[o(1031)].mvex.mehd&&(c[o(1439)]=this[o(1031)][o(1259)].mehd[o(1439)]),c.isProgressive=this[o(949)],c.hasIOD=null!=this.moov.iods,c[o(869)]=[],c[o(869)].push(this.ftyp[o(1388)]),c.brands=c[o(869)][o(1421)](this[o(681)][o(497)]),c[o(1113)]=new Date(u+1e3*this[o(1031)][o(439)][o(1153)]),c[o(1455)]=new Date(u+1e3*this[o(1031)][o(439)][o(1391)]),c[o(418)]=[],c.audioTracks=[],c.videoTracks=[],c[o(760)]=[],c.metadataTracks=[],c[o(478)]=[],c[o(559)]=[],e=0;e0?c[o(1025)]+=o(840):c[o(1488)]&&c[o(1488)][o(1504)]>0?c.mime+=o(782):c[o(1025)]+=o(915),e=0;e=r[i(383)][i(1504)])&&(a[i(850)](i(946),i(242)+n.id+i(218)+Math[i(677)](0,r[i(693)]-n[i(964)])+","+(r[i(693)]-1)+"]"),a.info(i(946),i(1501)+this[i(984)]()),this[i(767)]&&this.onSegment(n.id,n[i(784)],n[i(1355)][i(545)],r.nextSample,e||r[i(693)]>=r.samples[i(1504)]),n.segmentStream=null,n!==this[i(485)][t]))break}}if(null!==this[i(985)])for(t=0;t=r[i(383)][i(1504)])&&(a[i(701)](i(946),i(1449)+c.id+i(1212)+r[i(693)]),this[i(985)]&&this[i(985)](c.id,c.user,c[i(383)]),c[i(383)]=[],c!==this[i(460)][t]))break}}}},y.prototype[s(736)]=function(e){var t=this[s(1456)](e,!0);return t.length?t[0]:null},y[s(1284)].getBoxes=function(e,t){var r=s,i=[];return y[r(1163)][r(1027)](this,e,i,t),i},y[s(1163)]=function(e,t,r){var i=s;for(var n in this.type&&this[i(1461)]==e&&t[i(916)](this),this[i(652)]){if(t[i(1504)]&&r)return;y[i(1163)][i(1027)](this[i(652)][n],e,t,r)}},y[s(1284)][s(873)]=function(e){var t=s,r=this[t(1418)](e);return r?r[t(383)]:void 0},y[s(1284)][s(1176)]=function(e,t){var r=s,i=this[r(1418)](e);return this[r(1149)](i,t)},y[s(1284)][s(1099)]=function(e,t,r){var i=s,n=0,o=this.getTrackById(e);o[i(257)]||(o[i(257)]=0);for(var c=o[i(257)];ce*n[u(662)]){h=i-1;break}t&&n[u(853)]&&(l=i)}for(t&&(h=l),e=r.samples[h].cts,r.nextSample=h;r[u(383)][h][u(281)]===r[u(383)][h][u(371)]&&r.samples[h+1];)h++;return o=r[u(383)][h][u(301)]+r[u(383)][h][u(281)],a[u(850)](u(946),"Seeking to "+(t?u(795):"")+" sample #"+r[u(693)]+u(1216)+r[u(937)].track_id+u(1309)+a[u(834)](e,c)+" and offset: "+o),{offset:o,time:e/c}},y[s(1284)][s(396)]=function(e){var t,r=s;return e.samples?((t=e[r(383)][e[r(383)][r(1504)]-1])[r(401)]+t.duration)/t[r(662)]:1/0},y[s(1284)][s(1491)]=function(e,t){var r,i,n,o=s,c=this.moov,u={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis[o(396)](r)||((i=this[o(1342)](e,t,r))[o(301)]-1){u=l;break}switch(u){case"Visual":if(a[t(656)](t(1131))[t(1257)]("graphicsmode",0)[t(1257)]("opcolor",[0,0,0]),c[t(1257)](t(859),r[t(859)])[t(1257)](t(1236),r.height)[t(1257)](t(1049),72<<16)[t(1257)](t(1432),72<<16)[t(1257)](t(1290),1).set("compressorname",r[t(1461)]+t(1074)).set(t(360),24),r[t(1054)]){var p=new(d[t(1373)]);p.parse(new o(r.avcDecoderConfigRecord)),c[t(1208)](p)}else if(r[t(994)]){var m=new(d[t(897)]);m[t(1206)](new o(r[t(994)])),c.addBox(m)}break;case"Audio":a[t(656)](t(1406))[t(1257)]("balance",r[t(1341)]||0),c.set(t(230),r.channel_count||2)[t(1257)](t(717),r[t(717)]||16)[t(1257)](t(672),r[t(672)]||65536);break;case t(874):a.add(t(1403));break;case"Subtitle":if(a.add(t(770)),"stpp"===r[t(1461)])c[t(1257)](t(1007),r[t(1007)]||t(465)).set(t(1072),r[t(1072)]||"")[t(1257)](t(1171),r[t(1171)]||"");break;case t(496):case t(342):default:a[t(656)](t(1162))}r[t(1292)]&&c.addBox(r[t(1292)]),r[t(706)]&&r[t(706)].forEach((function(e){c[t(1208)](e)})),a[t(656)]("dinf")[t(656)]("dref")[t(1196)]((new(d[t(1440)]))[t(1257)](t(891),1));var v=a[t(656)]("stbl");return v.add(t(1105))[t(1196)](c),v[t(656)](t(1060))[t(1257)](t(1283),[])[t(1257)]("sample_deltas",[]),v[t(656)]("stsc")[t(1257)](t(1003),[])[t(1257)]("samples_per_chunk",[]).set(t(1009),[]),v[t(656)]("stco")[t(1257)](t(679),[]),v[t(656)]("stsz")[t(1257)](t(1272),[]),this[t(1031)][t(1259)].add(t(622)).set(t(1157),r.id)[t(1257)](t(1045),r[t(1045)]||1)[t(1257)](t(773),r.default_sample_duration||0).set(t(1487),r[t(1487)]||0)[t(1257)]("default_sample_flags",r[t(558)]||0),this.buildTrakSampleLists(i),r.id}},d[s(1011)].prototype[s(635)]=function(e){var t=s,r=e||new c;r.endianness=c[t(1001)],this[t(1098)](r)},y[s(1284)][s(587)]=function(e,t,r){var i=s,n=r||{},a={},o=this.getTrackById(e);if(null!==o){a[i(796)]=o[i(383)][i(1504)],a[i(1157)]=o[i(937)].track_id,a[i(662)]=o.mdia[i(483)][i(662)],a.description_index=n[i(1009)]?n[i(1009)]-1:0,a[i(1292)]=o.mdia.minf.stbl[i(1105)].entries[a[i(546)]],a.data=t,a[i(371)]=t[i(1174)],a[i(281)]=a.size,a.duration=n[i(1168)]||1,a[i(401)]=n.cts||0,a[i(1217)]=n[i(1217)]||0,a[i(853)]=n.is_sync||!1,a[i(1126)]=n[i(1126)]||0,a[i(1082)]=n[i(1082)]||0,a[i(423)]=n[i(423)]||0,a[i(682)]=n[i(682)]||0,a[i(883)]=n[i(883)]||0,a[i(301)]=0,a[i(203)]=n[i(203)],o[i(383)][i(916)](a),o[i(247)]+=a[i(371)],o[i(1032)]+=a[i(1168)],void 0===o[i(822)]&&(o[i(822)]=n[i(1217)]),this[i(571)]();var c=this[i(285)](a);return this[i(1208)](c),c.computeSize(),c[i(860)][0].truns[0][i(1226)]=c.size+8,this[i(656)](i(794))[i(221)]=new Uint8Array(t),a}},y[s(1284)].createSingleSampleMoof=function(e){var t=s,r=0;r=e[t(853)]?1<<25:65536;var i=new(d[t(823)]);i[t(656)](t(1097))[t(1257)]("sequence_number",this[t(959)]),this[t(959)]++;var n=i[t(656)](t(1006)),a=this[t(1418)](e[t(1157)]);return n[t(656)](t(367))[t(1257)](t(1157),e[t(1157)]).set(t(891),d[t(775)]),n[t(656)](t(779)).set(t(870),e[t(1217)]-(a[t(822)]||0)),n[t(656)](t(634))[t(1257)](t(891),d[t(939)]|d[t(1490)]|d[t(1077)]|d[t(1383)]|d.TRUN_FLAGS_CTS_OFFSET)[t(1257)](t(1226),0).set(t(1095),0).set(t(1170),1)[t(1257)]("sample_duration",[e[t(1168)]])[t(1257)](t(1084),[e[t(371)]]).set(t(1434),[r])[t(1257)](t(305),[e[t(401)]-e.dts]),i},y[s(1284)][s(913)]=0,y[s(1284)][s(207)]=0,y[s(1284)].resetTables=function(){var e,t,r,i,n,a,o=s;for(this[o(376)]=this[o(1031)][o(439)][o(1168)],this[o(1031)][o(439)][o(1168)]=0,e=0;e=2&&(u=n[o][l(716)]+"/0",(c=new h(n[o][l(716)],0))[l(486)]=!0,!t[l(790)][u]&&(t[l(790)][u]=c))}else for(o=0;o=2&&(u=i[o][l(716)]+"/0",c=new h(i[o].grouping_type,0),!e.sample_groups_info[u]&&(e[l(790)][u]=c))},y[s(689)]=function(e,t,r,i){var n,a,o=s;for(n in t[o(1482)]=[],i){var c;if(t[o(1482)][n]={},t[o(1482)][n][o(716)]=i[n].grouping_type,t[o(1482)][n][o(1254)]=i[n][o(1254)],r>=i[n][o(683)]&&(i[n][o(683)]<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n][o(461)]<=i[n][o(987)][o(1510)][o(1504)]-1&&(i[n].last_sample_in_run+=i[n][o(987)].entries[i[n][o(461)]][o(1170)])),i[n][o(461)]<=i[n][o(987)][o(1510)][o(1504)]-1?t[o(1482)][n].group_description_index=i[n][o(987)][o(1510)][i[n][o(461)]][o(1310)]:t[o(1482)][n][o(1310)]=-1,0!==t[o(1482)][n].group_description_index)c=i[n][o(944)]?i[n][o(944)]:i[n][o(1292)],t.sample_groups[n].group_description_index>0?(a=t[o(1482)][n][o(1310)]>65535?(t[o(1482)][n][o(1310)]>>16)-1:t.sample_groups[n][o(1310)]-1,c&&a>=0&&(t.sample_groups[n].description=c[o(1510)][a])):c&&c[o(1028)]>=2&&c.default_group_description_index>0&&(t[o(1482)][n][o(1292)]=c[o(1510)][c.default_group_description_index-1])}},y[s(1190)]=function(e,t,r){var i=s;t&&(e?(t[i(1126)]=e[i(1126)][r],t[i(1082)]=e[i(308)][r],t[i(423)]=e.sample_is_depended_on[r],t[i(682)]=e[i(852)][r]):(t.is_leading=0,t.depends_on=0,t[i(423)]=0,t[i(682)]=0))},y[s(1284)][s(848)]=function(){var e,t,r=s;for(e=0;eb&&(S++,b<0&&(b=0),b+=a[E(1283)][S]),t>0?(e[E(383)][t-1].duration=a[E(537)][S],e.samples_duration+=e[E(383)][t-1][E(1168)],C[E(1217)]=e.samples[t-1].dts+e.samples[t-1][E(1168)]):C[E(1217)]=0,o?(t>=I&&(w++,I<0&&(I=0),I+=o.sample_counts[w]),C[E(401)]=e[E(383)][t][E(1217)]+o[E(566)][w]):C.cts=C[E(1217)],c?(t==c[E(1462)][A]-1?(C[E(853)]=!0,A++):(C.is_sync=!1,C.degradation_priority=0),l&&l[E(1510)][k][E(751)]+x==t+1&&(C[E(203)]=l.entries[k][E(203)],x+=l.entries[k][E(751)],k++)):C[E(853)]=!0,y.process_sdtp(e[E(1261)][E(1034)][E(1408)].sdtp,C,C[E(796)]),f?C[E(883)]=f.priority[t]:C.degradation_priority=0,l&&l.entries[k][E(751)]+x==t&&(C[E(203)]=l.entries[k].subsamples,x+=l.entries[k][E(751)]),(h[E(1504)]>0||d[E(1504)]>0)&&y[E(689)](e,C,t,e[E(790)])}t>0&&(e.samples[t-1][E(1168)]=Math.max(e[E(1261)][E(483)][E(1168)]-e[E(383)][t-1].dts,0),e[E(1032)]+=e[E(383)][t-1][E(1168)])}},y[s(1284)].updateSampleLists=function(){var e,t,r,i,n,a,o,c,u,l,h,f,p,m,v,_=s;if(void 0!==this[_(1031)])for(;this.lastMoofIndex0&&y[_(1288)](f,h,h[_(548)],f[_(1261)][_(1034)][_(1408)].sgpds,h[_(927)]),t=0;t0?m[_(1217)]=f[_(383)][f.samples.length-2][_(1217)]+f[_(383)][f[_(383)][_(1504)]-2][_(1168)]:(h.tfdt?m[_(1217)]=h[_(779)][_(870)]:m[_(1217)]=0,f[_(756)]=!0),m.cts=m[_(1217)],g.flags&d[_(395)]&&(m[_(401)]=m[_(1217)]+g[_(305)][r]),v=o,g[_(891)]&d[_(1383)]?v=g[_(1434)][r]:0===r&&g.flags&d[_(1446)]&&(v=g[_(1095)]),m[_(853)]=!(v>>16&1),m[_(1126)]=v>>26&3,m[_(1082)]=v>>24&3,m[_(423)]=v>>22&3,m[_(682)]=v>>20&3,m[_(883)]=65535&v;var b=!!(h[_(367)][_(891)]&d[_(829)]),S=!!(h.tfhd[_(891)]&d[_(775)]),I=!!(g[_(891)]&d.TRUN_FLAGS_DATA_OFFSET),w=0;w=b?h[_(367)].base_data_offset:S?l[_(278)]:0===t?l.start:c,0===t&&0===r?I?m.offset=w+g.data_offset:m[_(301)]=w:m[_(301)]=c,c=m.offset+m[_(371)],(h.sbgps[_(1504)]>0||h[_(927)][_(1504)]>0||f[_(1261)].minf[_(1408)][_(548)].length>0||f.mdia[_(1034)][_(1408)][_(927)].length>0)&&y[_(689)](f,m,m[_(1351)],h[_(790)])}}if(h[_(1177)]){f.has_fragment_subsamples=!0;var A=h[_(435)];for(t=0;t-1))return null;var u=(r=this[i(825)][i(590)][o]).byteLength-(n[i(301)]+n.alreadyRead-r[i(1248)]);if(n[i(371)]-n[i(281)]<=u)return a.debug(i(946),"Getting sample #"+t+i(562)+n[i(281)]+i(357)+(n[i(301)]+n[i(281)]-r[i(1248)])+" read size: "+(n[i(371)]-n[i(281)])+i(605)+n[i(371)]+")"),c.memcpy(n[i(221)].buffer,n.alreadyRead,r,n.offset+n[i(281)]-r[i(1248)],n.size-n[i(281)]),r[i(1431)]+=n[i(371)]-n.alreadyRead,this[i(825)].logBufferLevel(),n[i(281)]=n.size,n;if(0===u)return null;a[i(701)]("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+n[i(281)]+i(357)+(n[i(301)]+n[i(281)]-r[i(1248)])+" read size: "+u+i(605)+n[i(371)]+")"),c[i(1427)](n[i(221)][i(545)],n[i(281)],r,n[i(301)]+n[i(281)]-r[i(1248)],u),n[i(281)]+=u,r[i(1431)]+=u,this[i(825)][i(356)]()}},y[s(1284)][s(1107)]=function(e,t){var r=s,i=e[r(383)][t];return i[r(221)]?(this.samplesDataSize-=i.size,i[r(221)]=null,i[r(1292)]=null,delete i[r(883)],delete i[r(1082)],delete i[r(546)],delete i[r(682)],delete i[r(423)],delete i.is_leading,delete i[r(853)],delete i.moof_number,delete i.number_in_traf,delete i[r(662)],delete i[r(401)],delete i[r(1217)],delete i[r(301)],delete i[r(371)],delete i[r(1157)],delete i.duration,i[r(281)]=0,i[r(371)]):0},y[s(1284)][s(984)]=function(){return this[s(207)]},y.prototype[s(1256)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this.moov[t(1139)][e][t(1261)][t(1034)][t(1408)][t(1105)][t(1510)][0].getCodec()}return r},y[s(1284)][s(1314)]=function(e){var t,r=s;if(!this[r(1031)]||!this[r(1031)][r(1259)])return null;for(t=0;t0&&(r[i(1334)]=c.ipro[i(769)][c.iinf[i(1015)][e].protection_index-1]),c[i(1267)][i(1015)][e][i(1413)]?r[i(1461)]=c[i(1267)].item_infos[e][i(1413)]:r.type=i(1025),r.content_type=c[i(1267)][i(1015)][e][i(454)],r.content_encoding=c.iinf[i(1015)][e][i(1189)];if(c[i(973)])for(e=0;e0&&p[i(1150)]-1-1))return null;var l=(t=this[i(825)].buffers[u]).byteLength-(o[i(301)]+o.alreadyRead-t[i(1248)]);if(!(o[i(1504)]-o[i(281)]<=l))return a[i(701)](i(946),i(762)+e+i(907)+n+" partial data (alreadyRead: "+o[i(281)]+" offset: "+(o[i(301)]+o[i(281)]-t[i(1248)])+" read size: "+l+i(1088)+o[i(1504)]+" full item size: "+r[i(371)]+")"),c[i(1427)](r.data[i(545)],r[i(281)],t,o[i(301)]+o[i(281)]-t.fileStart,l),o.alreadyRead+=l,r[i(281)]+=l,t[i(1431)]+=l,this.stream[i(356)](),null;a.debug(i(946),i(762)+e+i(907)+n+" data (alreadyRead: "+o.alreadyRead+i(357)+(o[i(301)]+o[i(281)]-t.fileStart)+i(619)+(o.length-o[i(281)])+" full extent size: "+o[i(1504)]+" full item size: "+r[i(371)]+")"),c[i(1427)](r[i(221)][i(545)],r[i(281)],t,o[i(301)]+o[i(281)]-t[i(1248)],o.length-o.alreadyRead),t[i(1431)]+=o[i(1504)]-o[i(281)],this.stream.logBufferLevel(),r[i(281)]+=o[i(1504)]-o[i(281)],o.alreadyRead=o[i(1504)]}}return r.alreadyRead===r[i(371)]?r:null},y[s(1284)][s(798)]=function(e){var t=s,r=this[t(808)][e];if(r[t(221)]){this[t(1287)]-=r[t(371)],r[t(221)]=null,r.alreadyRead=0;for(var i=0;i0?this[n(1031)][n(1139)][e][n(383)][0].duration:0),t[n(916)](i)}return t},y[s(1284)][s(1386)]=function(){var e=s,t={};return t[e(1031)]=this.moov,this[e(1031)]&&this.moov.traks&&this.moov[e(1139)][e(1504)]>1&&(t.moovAudioNum=this.moov[e(1139)][0].samples[e(1504)],t[e(362)]=this[e(1031)][e(1139)][1][e(383)][e(1504)]),t},d[s(1011)][s(1284)][s(449)]=function(e){var t=s;this[t(371)]+=8,this[t(371)]>u&&(this.size+=8),this[t(1461)]===t(329)&&(this[t(371)]+=16),e.log(e.indent+t(1322)+this.size),e[t(532)](e[t(1198)]+"type:"+this[t(1461)])},d.FullBox[s(1284)].printHeader=function(e){var t=s;this[t(371)]+=4,d[t(1011)][t(1284)].printHeader[t(1027)](this,e),e[t(532)](e[t(1198)]+"version:"+this[t(1028)]),e[t(532)](e[t(1198)]+t(928)+this[t(891)])},d[s(1011)][s(1284)][s(1260)]=function(e){this[s(449)](e)},d[s(745)][s(1284)][s(1260)]=function(e){var t=s;this[t(449)](e);for(var r=0;r>8)),e[t(532)](e[t(1198)]+t(963)+this[t(1253)][t(631)](", ")),e[t(532)](e.indent+t(1438)+this[t(1311)])},d[s(918)][s(1284)][s(1260)]=function(e){var t=s;d.FullBox[t(1284)][t(449)][t(1027)](this,e),e[t(532)](e[t(1198)]+t(518)+this[t(1153)]),e[t(532)](e[t(1198)]+t(789)+this[t(1391)]),e[t(532)](e[t(1198)]+t(924)+this[t(1157)]),e[t(532)](e[t(1198)]+"duration: "+this.duration),e[t(532)](e[t(1198)]+"volume: "+(this.volume>>8)),e[t(532)](e[t(1198)]+t(963)+this[t(1253)].join(", ")),e[t(532)](e[t(1198)]+t(475)+this.layer),e.log(e[t(1198)]+t(911)+this[t(319)]),e[t(532)](e[t(1198)]+t(624)+this[t(859)]),e[t(532)](e[t(1198)]+t(597)+this.height)};var g={createFile:function(e,t){var r=s,i=void 0===e||e,n=new y(t);return n[r(347)]=!i,n}};"object"!==s(1389)&&(t.createFile=g.createFile)}));function ya(e,t){var r=ga();return(ya=function(e,t){return r[e-=202]})(e,t)}function ga(){var e=["length_size_of_sample_num","ster","trak","dependsOn_ES_ID","avcCBox","parseFullHeader","mapInt8Array","readUint64","CONTAINER_BOXES","[row: ","encv","ispe","readInt8Array","setFloat32","TRUN_FLAGS_FLAGS","flush","extract_bits","getPerformanceInfo","dtrt","major_brand","undefined","av1C reserved_1 parsing problem","modification_time","avs3","primaryBChromaticity_y","oti","brst","level","documentString","Allocating item #","avgFrameRate","compositionToDTSShift","boxEqualFields","Sample Group type: ","hmhd","Not enough data in stream to parse the entire '","descs","smhd","stsz","stbl","mhm2","fiel","stss","urn Box","item_type","tmin","replace","time","udta","getTrackById","appendChild","createUUIDBox","concat","updateSampleLists","quat_z","absolute_time","base_data_offset","mha2","memcpy","Not enough bytes left in the parent box to parse a UUID box","esds","durationFlag","usedBytes","vertresolution","5811036UXNrvP","sample_flags","videoFullRangeFlag","mere","esd","next_track_id: ","fragment_duration","url Box","compositionStartTime","SampleEntry",".CA","sequence_number","layer","TRUN_FLAGS_FIRST_FLAG","emsg","chromaSubsampling","Sending samples on track #","bad_columns","LITTLE_ENDIAN","AVCLevelIndication","isEos","bit_depth_minus8","modified","getBoxes","Found ","writeUint32","_trimAlloc","Needs an array buffer","type","sample_numbers","subSeqDirectionFlag","Track created with MP4Box.js","mha1","white_point","sampleEntryCodes","DIFF_BOXES_PROP_NAMES","DataStream","ipmas","initialize","maxCLL","bsid","elng","frma","profile_compatibility","LiveServerManifest","default_isProtected","horizOffN","OutputChannelCount","fobr","sample_groups","No sample in track, cannot seek! Using time ","to_item_ID","XMLSubtitlein4Parser","SPS","default_sample_size","audioTracks","getOTI","TRUN_FLAGS_DURATION","seek","prgr","a5d40b30e81411ddba2f0800200c9a66","setFloat64","splice","save","reference_type","aux_info_type_parameter","dfLa","_dataView","Sample data size in memory: ","AVCProfileIndication","configOBUs","length","sub_track_id","mdcv",'" box',", column: ","num_total_samples","entries","auxC","Expected 'infe' box, got ","volume","subsamples","readInt64","volume: ","DecoderSpecificInfo","samplesDataSize","tile_align_size","fragment_count","ols_idx","AudioSampleEntry","readySent","data_reference_index","starts_with_SAP","rtpmap_string","avg_frame_rate","avc3SampleEntry"," for samples [","923239GBgguo","Audio","data","saveParsePosition","dataview","cttsBox","ptl_num_sub_profiles","setAttribute","held_bits","ES_Descriptor","extents","channel_count","bufferIndex","decimalToHex","tscl","getEndFilePositionAfter","event_duration","trun_number","sdptext"," writing not yet implemented, keeping unparsed data in memory for later write","SAP_delta_time","mapFloat32Array","accurateStatisticsFlag","Sending fragmented data on track #","shadowed_sample_numbers","tsas","vvnC","num_bad_pixels","samples_size","position","chroma_format_idc","notice","endianness","SAMPLE_ENTRY_TYPE_VISUAL","kindBox","cleanApertureHeightD","SAMPLE_ENTRY_TYPE_SUBTITLE","metadataTracks","lastValidSample","getWidth","channel_types","kind","num_dep_sub","lhe1","ptl_present_flag","avc2SampleEntry","udes","num_entities_in_group","getHeight","block_reversed","discard_priority","padding_flag","vpcC","box_record","getSampleSize","isMetadata","num_bytes_constraint_info","cslg","Error reading base offset size","start","hvcC","vttc","alreadyRead","priority","leastDecodeToDisplayDelta","(empty)","createSingleSampleMoof","parseDataAndRewind","stxt","No segmentation callback set!","audio"," already stored in field of this type","length_size","component_type_urls","uncv","int16le","samples_per_chunk","track_ids","nump","txtC","getEndPosition","int16","offset","field_size","writeUint8Array","op_index","sample_composition_time_offset","wbbr","dynamicSize","sample_depends_on","avgBitRate","vvs1","block_pad_lsb","tsyn","itemId","Adjusting data_offset with new value ","dmax","_realloc","min_spatial_segmentation_idc","onReady","alternate_group","SampleGroup for type ","xml ","readUint24","referenced_size","writeUint64","split","target_rate_share","Error in length field in stz2 box","stri","uuid","float64","3282iYTNAR","dataView","stsh","Duplicate Box of type: "," stored buffer(s) (","itemListBuilt","isVideo","media_rate_fraction","writeUint16","whitePointChromaticity_x","mehd","System","item_uri_type"," (too small to be a box)","_byteLength","getPosition","discardMdatData","Generating initialization segment","initial_presentation_delay_minus_one","tfra","setInt32","primaryGChromaticity_x","mp4aSampleEntry","iprp","vvcN","logBufferLevel"," offset: ","vipr","avc4SampleEntry","depth","senc","moovVideoNum","hev1SampleEntry","d08a4f1810f34a82b6c832d8aba183d3","FULL_BOXES","padb","tfhd","primaryRChromaticity_y","a1lx","row_align_size","size","layer_id","transferFunction","charCodeAt","getFloat32","initial_duration","url ","presentation_time","greatestDecodeToDisplayDelta","mime_format","insertBuffer","default_Per_Sample_IV_Size","samples","a2394f525a9b4f14a2446c427c648df4","unpack","createMediaSampleEntryCtor","parseConfig","forEach","isProtected","stz2","moovBox","Visual","Not ready to start parsing","writeFloat32Array","TRUN_FLAGS_CTS_OFFSET","getTrackDuration","horizOffD",'"; profiles="',"tag","vertical_justification","cts","int16be","vp09","Done processing buffer (fileStart: ","vttC","Trying to create a new buffer of size: ","media_time","setUint8","MPEG4DescriptorParser","sttsBox","default_constant_IV_size",") already appended, ignoring","1113744HXqVjn","createEncryptedSampleEntryCtor","TrackGroupTypeBox","decode","OCR_ES_ID","tracks","mjpg","onItem","sample_number","apply","is_depended_on","parseSample","principal_point_x","avgBitrate"," sample #","Concatenating buffer for box parsing (length: ","float32","sync","writeUint8","parseRemainingDescriptors","Unlimited box size not supported for type: '","getSampleRate","first_sample_index","schm","&","Descriptor","mvhd","BYTES_PER_ELEMENT","tref","mett","6d1d9b0542d544e680e2141daff757b2","readFloat64Array","dvh1","kinds","stream_read_2_bytes",'Not enough data in stream to parse the extended size of the "',"printHeader","default_crypt_byte_block","appendBuffer","href","getUint8","content_type","CoupledCount","float64le","cslgBox","albc","readCString","extractedTracks","entry_index","meco","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","readInt32Array","nonamespace","cmin","bytes","base_offset_size","TrackReference ","readUint16Array","channel_associations","system_id","free"," not found in buffered data","layer: ","avc1SampleEntry","cleanApertureWidthN","hintTracks","operation_point_count","Item storage with reference to other files: not supported","code","stssBox","mdhd","uint32be","fragmentedTracks","is_fragment","writeType","warn","getInt16","vide","bit_depth_chroma_minus8","sgpd","profile","pdin","component_count","Metadata","compatible_brands"," bytes), seeking forward","parseOneDescriptor","KID","TFHD_FLAG_SAMPLE_SIZE","u16stringbe","hasMoov","sizePosition","SEEKTABLE","Allocating sample #","quat_x","mskC","j2kH","int32","uint32le","seq_level_idx_0","trexBox","co64","target","prft","item_ID","creation_time: ","num_tile_cols_minus_one","channel_indexes","scheme_version","int32be","configurationVersion","URL","iref","uri ","nextParsePosition","ChannelMappingFamily","dref","vvc1SampleEntry","mergeNextBuffer","log","av1C marker problem","seekPoints","aux_type","general_tier_flag","sample_deltas","uint32","metx","writeInt32","avgRateFlag","ext","msg","bytessent","buffer","description_index","av1C version ","sbgps","Found Sample Groups of type ","initialized","name","cleanApertureHeightN","unsetExtractionOptions","idat","cleanApertureWidthD","first_offset","ipco","default_sample_flags","otherTracks","trpy","sent"," data (alreadyRead: ","ccst","compositionEndTime","elst","sample_offsets","20130552FQgowW","index_size","TKHD_FLAG_IN_PREVIEW","references","processSamples","hasIncompleteMdat","cleanBuffers","writeHeader","readInt16Array","string","Unknown box type: '","ref_to","subBoxNames","createEntityToGroupCtor"," not supported","ptl_multilayer_enabled_flag","u16string","hSpacing","scnm","moof_number","addSample","box","general_sub_profile_idc","buffers","nb_PPS_nalus","slice","parseUUID","mjp2"," (total: ","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","height: ","adjustUint32","end","body","aux_subtype","Textin4Parser","nalu_arrays","InputSampleRate"," full size: ","TrackReferenceTypeBox","hev1","readString","clli","pitm","ranges","attribute_list","object","' box writing not yet implemented, keeping unparsed data in memory for later write","test","ptl_frame_only_constraint","sidxBox","payt"," read size: ","OutputGain","cprt","trex","default_group_description_index","width: ","CoLL","irot","error","onSidx","pssh","Box of type '","join","general_profile_compatibility","message_data","trun","computeSize","interleave_type","construction_method","general_level_idc","block_little_endian","VORBIS_COMMENT","stxtSampleEntry","Track #","readInt8","UUIDs","fr-FR","initial_presentation_delay_present","SAMPLE_ENTRY_TYPE_METADATA","DecoderConfigDescriptor","num_output_samples","bad_pixels","group_id","boxes","stpp","initial_delay","updateUsedBytes","add","createContainerBoxCtor"," v=","moof","ctts","av1C reserved_2 parsing problem","timescale","location","value","drep","setUint32","findDescriptor","temporalIdNested"," f=","sbpm"," - Length: ","samplerate","_size","getItem","horizontal_justification","bufferSize","max","11600roCtXp","chunk_offsets","Buffer must have a fileStart property","ftyp","has_redundancy","last_sample_in_run","sample_rate","enof","sbgpBox","data_format","writeUint24","setSampleGroupProperties","writeString","constant_frame_rate","segment_duration","nextSample"," has an invalid size ","num_tile_rows_minus_one","Position ","hinf","transferCharacteristics","pixi","sidx","debug","Not enough data in stream to parse the type and size of the box","readAnyInt","File uses negative stts sample delta, using value 1 instead, sync may be lost!","Unknown sample entry type: ","description_boxes","opcolor","item_protection_index"," more bytes than the indicated box data size, seeking backwards","strk","movie_duration","pow","Error reading extent index","dmed","readUint8","grouping_type","samplesize","fromCharCodeUint8","trep","trefBox","component_align_size","mapInt32Array","minor_version","Descriptor ","correction_applied"," sample group length","addUsedBytes","block_size","max_display_mastering_luminance","numMetadataBlocks","PPS","bits_per_pixel","createFragment","iloc","vvc1","getBox","parseLanguage","_buffer","readUint8Array","image_height","dOps","Exporting on track #","max_picture_height"," (released size: ","ContainerBox","stream_read_1_bytes","sidxSent","component_little_endian","processItems","DataStream.save: Can't create object URL.","sample_delta",">","StreamCount","avcC","leva","first_traf_merged","slid","stop","reserved","subtitleTracks","hdlr","Getting item #","click","createFullBoxCtor","Text","uint16le","onSegment","mehdBox","protections","sthd","av01","cmex","default_sample_duration","avc2","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","aux_info_type","item_count","mapUint32Array","tfdt"," bytes), continuous ranges: ","Appending new buffer (fileStart: ",'audio/mp4; codecs="',"getChannelCount","user","lfeon","RESERVED","scheme_type","moofs","modification_time: ","sample_groups_info","tsel","tyco","addSubBoxArrays","mdat","RAP","number","used","releaseItem","numTemporalLayers","sampleListBuilt","entry_count","hvc1SampleEntry","handler","tfdtBox","writeUint32Array","properties","assignment_type","items","image_width","setExtractionOptions","lsel","maxBitrate","constant_IV","808266iCKTNO","default_KID","upStream","roll","readUint32","codec","colourPrimaries","indexOf","first_dts","moofBox","subsegment_duration","stream","metadata","truns","bits_per_channels","TFHD_FLAG_BASE_DATA_OFFSET","vSpacing","bad_pixel_row","processIncompleteBox","moovStartFound","getDurationString","dav1","infe","videoTracks","display_primaries","constantFrameRate",'video/mp4; codecs="',"language","elstBox","ftypBox","destroy","chroma_subsampling_x","sample_duration","getFloat64","buildSampleLists","trunBox","info","float64be","sample_has_redundancy","is_sync","vvcC","sampleProcessingStarted","SLConfigDescriptor","TKHD_FLAG_IN_MOVIE","codecIntializationData","width","trafs","Creating media fragment on track #","tpay","isSubtitle","setUint16","processIncompleteMdat","item_name","SampleGroupEntry","hdr_size","brands","baseMediaDecodeTime","angle","props","getTrackSamplesInfo","Hint","isEof","reduceBuffer","fscod","version of iloc box not supported","all_ref_pics_intra","completeness","No method for reading signed 64 bits values","luminanceMax","degradation_priority","max_ref_per_pic"," of size: ","high_bitdepth","chunk_index","BASIC_BOXES","Flushing remaining samples","createSampleGroupCtor","flags","mdats","min","TFHD_FLAG_SAMPLE_DESC","parsingMdat"," at position ","hvcCBox","streamType","protection_index","component_types","extent_offset","pasp","vertOffN","writeInitializationSegment","Version","createTrackGroupCtor"," extent #","codec_specific_parameters","maxr","matrixCoefficients","alternate_group: ","num_held_bits","lastMoofIndex","getTime",'application/mp4; codecs="',"push","ChannelMapping","tkhdBox","writeInt8","getCodec","track_height","base_offset","single_view_allowed","track_id: ","step_count","clef","sgpds","flags:",""","enct","seig","principal_point_y","stsg","download","writeFloat32","full_range_flag","tkhd","default_AlgorithmID","TRUN_FLAGS_DATA_OFFSET","available_bitrate","sample_info_size","tags","sinf","fragment_description","getUint16","ISOFile","mapUint16Array","parseHeader","isProgressive","FullBox","addTrack","createObjectURL","hasItem","writeFooter","bsmod","mvhdBox","cmpd","uint16","nextMoofNumber","drefBox","<","nextSeekPosition","matrix: ","nb_samples","parallelismType","sublayer_level_idc","kid","TFHD_FLAG_SAMPLE_FLAGS","description_length","removeUsedSamples","' read ","flipArrayEndianness","grpl","TFHD_FLAG_DUR_EMPTY","BoxWriter","findEndContiguousBuf","substring","offset_size","tfhdBox","SingleItemTypeReferenceBox","encu","], [","default_sample_info_size","getAllocatedSampleDataSize","onSamples","checkBuffer","sbgp","itemToFragmentedTrackFile","_self","SAMPLE_ENTRY_TYPE_SYSTEM","chunk_run_index","getBuffer","byteOffset","hevcDecoderConfigRecord","compressorname","altr","prdi","max_picture_width","a1op","fieldOrdering","BIG_ENDIAN","nb_SPS_nalus","first_chunk","hnti"," and offset: ","traf","namespace","nbSamples","sample_description_index","num_bad_cols","Box","crypt_byte_block","schemeURI"," box writing not yet implemented, keeping unparsed data in memory for later write","item_infos","writeFloat64Array","languageString","getInt8","stszBox","stshBox","text","MultiBufferStream","graphicsmode","SingleItemTypeReferenceBoxLarge","mime","saiz","call","version","source","scheme_id_uri","moov","samples_duration","resources","minf","createSampleEntryCtor","component_index","Found 'mdat' end in buffered data","length_size_of_traf_num","ASCII","stsc","general_constraint_info","movie_timescale","reserved_2","Not enough bytes in buffer","default_sample_description_index","essential","flattenItemInfo","smhdBox","horizresolution","isFragmentationInitialized","Log","cts_shift","style_record","avcDecoderConfigRecord","btrt","iods","reserved_1","bxml","general_constraint_indicator","stts"," needs a buffer with a fileStart position of ","default_IV_size","styp","PreSkip","bit_rate_code","isAudio","colour_type","general_profile_space","num_ind_sub","tx3g","readInt16","schema_location","boxEqual"," Compressor","track_ID","mdatBox","TRUN_FLAGS_SIZE","trexs","primaryBChromaticity_x","constant_IV_size","Box of type ","depends_on","getInt32","sample_size",", overriding previous occurrence","hvc1","Item storage with construction_method : not supported"," full extent size: ","earliest_presentation_time","rtp ","skew_factor","extent_index","from_item_ID","ES_ID","first_sample_flags","elngBox","mfhd","write","releaseUsedSamples","prof","entity_ids","rate","SAP_type","subsegments","stsd","item_id","releaseSample","timescale: ","Writing box ","TFHD_FLAG_SAMPLE_DUR","init","associations","created","roll_distance","parseOneBox","edts","seq_profile","bitrate","encm","nativeToEndian","parseHex16","Unknown Sample Group type: ","vvi1","tenc","1196790UUXBkd","is_leading","writeFloat64","emsgBox","Seeking at time ","general_profile_idc","vmhd","dac3","No more buffer in memory","rate: ","stereo_indication_type","moovStartSent","lengthSizeMinusOne","has_unparsed_data","traks","num_channels","video","layerNumber","quat_y","ssix","tele","toString","monochrome","getPrimaryItem","getSample","property_index","SAMPLE_ENTRY_TYPE_TEXT"," not fully parsed","creation_time","MP4BoxStream","cdef","bad_pixel_column","track_id","num_sublayers","minimum_bitrate","ctts box uses negative values without using version 1","chan_loc","nmhd","_sweep","onMoovStart","vp08SampleEntry","reference_ID","boxCodes","duration","dobr","sample_count","auxiliary_mime_types","STREAMINFO","buildTrakSampleLists","byteLength","' box","getTrackSample","subs","8974dbce7be74c5184f97148f9882554"," --\x3e ","padbits","setNextSeekPositionFromSample","parseFooter","ntp_timestamp","SmDm","sdtp","restoreParsePosition","nalu","int8","content_encoding","process_sdtp","SampleEntry ","min_display_mastering_luminance","vvi1SampleEntry","nalu_type","length_size_of_trun_num","addEntry","max_pic_average_light_level","indent","sample_offset","Found box of type '","entity_groups","extended_language","isHint","levels","Adjusted seek position (after checking data already in buffer): ","parse","ipma","addBox","Mismatch in ","presentation_time_delta","totl"," for sample ","mapInt16Array","pad_unknown","writeInt16"," on track ","dts","rICC","mapUint8Array","' did not read the entire indicated box data size (missing ","mfhdBox","_byteOffset","chroma_sample_position","sdp ","Adjusting box ","data_offset","pano","intra_pred_used","createBoxCtor","lang","trgr","default_skip_byte_block","displayFlags","dependency","Parsing of box '","height","clap","mdhdBox","afbr","isFragmented","Removing buffer #","absolute_duration","createCommonjsModule","npck",") - next buffer to fetch should have a fileStart position of ","stscBox","SAMPLE_ENTRY_TYPE_HINT","fileStart","num_leading_samples","sync_sample_numbers","No method for reading signed 24 bits values","defineProperty","matrix","grouping_type_parameter","stco","getCodecs","set","transfer_characteristics","mvex","print","mdia","aebr","Buffer (fileStart: ","writeStruct","acmod","writeCString","iinf","Stream ready for parsing","UUIDBoxes","BoxParser","Unknown uuid type: '","sample_sizes","readUint","default_length","getUint32","avc1","printRanges","equal"," with new size ","payl","setInt16","revokeObjectURL","sample_counts","prototype","ref_track_id","findPosition","itemsDataSize","initSampleGroups","traf_number","frame_count","u16stringle","description","codecIntializationDataSize","switch_group","Ignoring empty buffer (fileStart: ","luminanceMin","first_output_sample","j2ki","moof_offset","Error accessing position in the MultiBufferStream","SAMPLE_ENTRY_TYPE_AUDIO","bitDepth","lastBoxStartPosition","hdlrBox","ind_subs","av1C","discardable","readUint16",", time ","group_description_index","next_track_id","readUint32Array","floor","getTrexById","Per_Sample_IV_Size","meta","extent_length","writeUCS2String","layer_size","VisualSampleEntry","writeUint16Array","size:"," of size ","MP4Box","stdp","maximum_bitrate","data_rate","writeInt16Array","arrayToNative","readInt method not implemented for size: ","getText","Cannot parse extension type","function","protection","twelve_bit","ERR_NOT_ENOUGH_DATA","uncC","_dynamicSize","num_bad_rows","colorSpace","balance","seekTrack","readInt32","etyp","track_group_id","duration: ","stcoBox","onError","fromCharCode","The first buffer should have a fileStart of 0","number_in_traf","wvtt","colour_primaries","media_rate_integer","segmentStream","ptl_sublayer_present_mask","Not enough bytes left in the parent box to parse a new box","getLength","seq_tier_0","descriptionformat","pmax","setInt8","alst","rapAlignement","iaug","iso4","component_bit_depth_minus_one","sample_is_depended_on"];return(ga=function(){return e})()}function ba(){const e=["4175394GQyKTo","92955FWLFrp","debuglog","reverse","TAG_NAME","destroy","168QTgHPB","length","buffer","message","1838792KcfzDG","instance","byteLength","function","set","slice","instantiate","8050310lMMfVz","catch","parse","Memory","then","player","1574428xlQytd","init","1pXjLcx","9YTUFll","Instance","transport","1681332ibIAez","exports","every","6630800DoapOE","debugLog","not support wasm","21QYTeRR","object","init error","debugWarn","stack overflow","Module","memory"];return(ba=function(){return e})()}_a[va(1051)],_a[va(1154)],_a[va(1469)],_a[va(1022)],_a[va(409)],_a[va(1270)],_a[va(1485)],_a.Textin4Parser,_a[va(946)],_a.createFile;const Sa=wa;function Ia(e){return e.reduce(((e,t)=>256*e+t))}function wa(e,t){const r=ba();return(wa=function(e,t){return r[e-=184]})(e,t)}function Aa(e){const t=wa,r=[101,103,119,99],i=e[t(185)]-28,n=e[t(193)](i,i+r.length);return r[t(209)](((e,t)=>e===n[t]))}!function(e,t){const r=wa,i=e();for(;;)try{if(406591===parseInt(r(203))/1*(-parseInt(r(201))/2)+parseInt(r(207))/3+parseInt(r(184))/4*(-parseInt(r(221))/5)+parseInt(r(220))/6+-parseInt(r(213))/7*(parseInt(r(188))/8)+-parseInt(r(204))/9*(-parseInt(r(195))/10)+parseInt(r(210))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ba);Sa(225),Sa(206);function ka(e,t){const r=Ea();return(ka=function(e,t){return r[e-=234]})(e,t)}function xa(){const e=ka;for(var t=arguments.length,r=new Array(t),i=0;i{const i=e,s=new n((0|t[i(255)])+(0|r[i(255)]));return s[i(237)](t,0),s[i(237)](r,0|t.byteLength),s}),new n)}function Ea(){const e=["2928615ryEDxU","32295yoyzdt","12701070PHPpyN","39832VgKbZL","3340690tIrKnv","6GhrjeG","padStart","substr","length","770npzWXt","504vXrqIJ","toString","11JcyoqD","replace","constructor","716IrrNsS","10611564fBfeqW","byteLength","error","1236QAgqgl","reduce","set"];return(Ea=function(){return e})()}!function(e,t){const r=ka,i=e();for(;;)try{if(792685===parseInt(r(253))/1*(-parseInt(r(235))/2)+-parseInt(r(239))/3*(parseInt(r(248))/4)+parseInt(r(238))/5*(-parseInt(r(243))/6)+parseInt(r(247))/7*(parseInt(r(241))/8)+parseInt(r(240))/9+parseInt(r(242))/10*(parseInt(r(250))/11)+parseInt(r(254))/12)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ea),function(e,t){const r=Ra,i=e();for(;;)try{if(101114===parseInt(r(299))/1+parseInt(r(283))/2+parseInt(r(284))/3+parseInt(r(305))/4*(parseInt(r(293))/5)+-parseInt(r(312))/6*(parseInt(r(303))/7)+-parseInt(r(294))/8+-parseInt(r(304))/9*(parseInt(r(308))/10))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Wa);const Ca=16,Ba=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Da=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Ma(e){const t=Ra,r=[];for(let i=0,n=e[t(298)];i{const t=Ra;return 1===(e=e[t(311)](16))[t(298)]?"0"+e:e})).join("")}function Ua(e){const t=Ra,r=[];for(let i=0,n=e.length;i>>6),r[t(302)](128|63&n);else if(n<=55295||n>=57344&&n<=65535)r.push(224|n>>>12),r.push(128|n>>>6&63),r.push(128|63&n);else{if(!(n>=65536&&n<=1114111))throw r[t(302)](n),new Error(t(310));i++,r[t(302)](240|n>>>18&28),r[t(302)](128|n>>>12&63),r.push(128|n>>>6&63),r[t(302)](128|63&n)}}return r}function Fa(e){const t=Ra,r=[];for(let i=0,n=e[t(298)];i=240&&e[i]<=247?(r.push(String[t(306)](((7&e[i])<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]))),i+=3):e[i]>=224&&e[i]<=239?(r[t(302)](String[t(306)](((15&e[i])<<12)+((63&e[i+1])<<6)+(63&e[i+2]))),i+=2):e[i]>=192&&e[i]<=223?(r[t(302)](String.fromCodePoint(((31&e[i])<<6)+(63&e[i+1]))),i++):r.push(String[t(306)](e[i]));return r[t(290)]("")}function Pa(e,t){const r=31&t;return e<>>32-r}function Ra(e,t){const r=Wa();return(Ra=function(e,t){return r[e-=283]})(e,t)}function La(e){return(255&Ba[e>>>24&255])<<24|(255&Ba[e>>>16&255])<<16|(255&Ba[e>>>8&255])<<8|255&Ba[255&e]}function za(e){return e^Pa(e,2)^Pa(e,10)^Pa(e,18)^Pa(e,24)}function Na(e){return e^Pa(e,13)^Pa(e,23)}function Oa(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=za(La(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=za(La(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=za(La(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=za(La(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function Ha(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^Da[r+0],t[r+0]=i[0]^=Na(La(e)),e=i[2]^i[3]^i[0]^Da[r+1],t[r+1]=i[1]^=Na(La(e)),e=i[3]^i[0]^i[1]^Da[r+2],t[r+2]=i[2]^=Na(La(e)),e=i[0]^i[1]^i[2]^Da[r+3],t[r+3]=i[3]^=Na(La(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function Va(e,t,r){const i=Ra;let{padding:n=i(291),mode:s,iv:a=[],output:o=i(301)}=arguments[i(298)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===i(288)&&(typeof a===i(301)&&(a=Ma(a)),16!==a[i(298)]))throw new Error(i(300));if(typeof t===i(301)&&(t=Ma(t)),16!==t[i(298)])throw new Error("key is invalid");if(e=typeof e===i(301)?0!==r?Ua(e):Ma(e):[...e],(n===i(286)||n===i(291))&&0!==r){const t=Ca-e.length%Ca;for(let r=0;r=Ca;){const t=e[i(289)](d,d+16),n=new Array(16);if(s===i(288))for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],n=arguments[r(298)]>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(297)];let a=new Uint8Array(e[r(289)](0,5)),o=5;for(;os){const t=new Uint8Array(a[r(298)]+e[r(298)]-o);t[r(295)](a,0),t[r(295)](e.slice(o),a.length),a=t;break}let l=e[o+4],h=!1,d=2;if(i?(n&&(d=3),l=l>>>1&63,h=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(309)](l)):(l&=31,h=1===l||5===l),h){const i=Va(e[r(289)](o+4+d,o+4+u),t,0,{padding:r(296),output:r(285)});let n=i[i.length-1];if(n>0&&n<16){let e=!0;for(let t=1;t<=n;t++)if(i[i[r(298)]-t]!==n){e=!1;break}e&&i.splice(i.length-n,n)}const s=new Uint8Array(d);s[r(295)](e[r(289)](o+4,o+4+d),0);const c=At(xa(s,new Uint8Array(i))),l=new Uint8Array(a[r(298)]+c[r(298)]);l[r(295)](a,0),l[r(295)](c,a[r(298)]),a=l}else{const t=e[r(289)](o+4,o+4+u),i=new Uint8Array(a[r(298)]+4+t[r(298)]);i[r(295)](a,0),i.set(c,a[r(298)]),i[r(295)](t,a[r(298)]+4),a=i}o=o+4+u}return a}function qa(e,t){const r=Ka();return(qa=function(e,t){return r[e-=324]})(e,t)}function Ka(){const e=["emit","13194fDlZWI","push","450340waJKcZ","4745905RaKMjK","off","apply","13494310CNrpKo","forEach","9SJtzzP","length","ctx","4XnqpIi","1220174PeMtbB","1689435JyIqlw","slice","1631hssXWc","8799416QlxJnH"];return(Ka=function(){return e})()}const Ya=qa;!function(e,t){const r=qa,i=e();for(;;)try{if(584412===-parseInt(r(341))/1+parseInt(r(333))/2+-parseInt(r(334))/3+-parseInt(r(332))/4*(parseInt(r(324))/5)+parseInt(r(339))/6*(-parseInt(r(336))/7)+parseInt(r(337))/8+parseInt(r(329))/9*(parseInt(r(327))/10))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Ka);class Xa{on(e,t,r){const i=qa,n=this.e||(this.e={});return(n[e]||(n[e]=[]))[i(340)]({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){const s=qa;i[s(325)](e,n);for(var a=arguments[s(330)],o=new Array(a),c=0;c1?i-1:0),s=1;s{delete i[e]})),void delete this.e;const n=i[e],s=[];if(n&&t)for(let e=0,i=n[r(330)];e=2&&!this.isDestroyed;)if(255==this[r(212)][this.parsedOffset]){if(!(!1&this[r(212)][this[r(238)]+1])){this[r(209)]=this[r(212)][this[r(238)]+1],this[r(220)]=$a[r(224)],this.fisrtStartCodeOffset=this[r(238)],this[r(238)]+=2,e=!0;break}this[r(238)]++}else this[r(238)]++;if(e)continue;break}if(this.state==$a[r(224)]){let e=!1;for(;this[r(212)][r(213)]-this.parsedOffset>=2&&!this[r(223)];)if(255==this[r(212)][this[r(238)]]){if(this[r(212)][this[r(238)]+1]==this.versionLayer){this[r(220)]=$a.findSecondStartCode,this.secondStartCodeOffset=this[r(238)],this[r(238)]+=2,e=!0;break}this[r(238)]++}else this[r(238)]++;if(e)continue;break}if(this[r(220)]==$a.findSecondStartCode){let e=this[r(212)][r(215)](this.fisrtStartCodeOffset,this[r(234)]);this[r(232)](r(233),e,t),this[r(212)]=this[r(212)].slice(this[r(234)]),this[r(214)]=0,this[r(238)]=2,this[r(220)]=$a[r(224)]}}}}function to(e,t){const r=so();return(to=function(e,t){return r[e-=413]})(e,t)}function ro(e,t,r){const i=to;for(let n=2;n3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let a=5;for(;as)break;let c=e[a+4],u=!1;if(n?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(c)):(c&=31,u=1===c||5===c),u){const n=ro(e.slice(a+4,a+4+o),t,r);e[i(421)](n,a+4)}a=a+4+o}return e}function so(){const e=["set","21664QaBtEh","112CZTLcp","length","12471840ZEoxtt","1452207cxCWEs","396024gfXTlR","896955QaaGJy","8436960nnNiOH","670KhwuUm","slice","1621251vBqCqq","2dEGUkN"];return(so=function(){return e})()}function ao(){for(var e=oo,t=arguments[e(305)],r=new Array(t),i=0;ie+t.byteLength),0));let s=0;return r[e(314)]((t=>{var r=e;n[r(321)](t,s),s+=t[r(317)]})),n}function oo(e,t){var r=co();return(oo=function(e,t){return r[e-=305]})(e,t)}function co(){var e=["4178009ICbChR","17jwpTTr","246FemDzS","4aUtYcv","171NqGdqt","forEach","488031moKiLP","28141692HmpXBs","byteLength","10ZLPFGu","81560xGRYZf","799211DJjoAA","set","length","reduce","21880yXnpkU","110210YTkyQM"];return(co=function(){return e})()}!function(e,t){const r=to,i=e();for(;;)try{if(812857===-parseInt(r(415))/1*(parseInt(r(420))/2)+parseInt(r(413))/3+parseInt(r(422))/4*(-parseInt(r(417))/5)+-parseInt(r(414))/6*(-parseInt(r(423))/7)+parseInt(r(425))/8+parseInt(r(419))/9+-parseInt(r(416))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(so),function(e,t){for(var r=oo,i=e();;)try{if(593225===-parseInt(r(310))/1*(parseInt(r(319))/2)+parseInt(r(315))/3*(parseInt(r(312))/4)+parseInt(r(308))/5*(-parseInt(r(311))/6)+parseInt(r(320))/7+-parseInt(r(307))/8*(parseInt(r(313))/9)+parseInt(r(318))/10*(-parseInt(r(309))/11)+parseInt(r(316))/12)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(co);const uo=ho;function lo(){const e=["22qIrBRt","proxy","1464197QwinRd","addEventListener","235464UdAUCK","1087443aEiRMI","bind","master","12011jVODrk","404772SJwFHD","destroys","map","isArray","15OCezAo","232332qKvMuk","destroy","removeEventListener","forEach","264396fpZohc"];return(lo=function(){return e})()}function ho(e,t){const r=lo();return(ho=function(e,t){return r[e-=277]})(e,t)}!function(e,t){const r=ho,i=e();for(;;)try{if(106175===parseInt(r(294))/1*(parseInt(r(286))/2)+-parseInt(r(295))/3+-parseInt(r(285))/4+parseInt(r(280))/5*(parseInt(r(281))/6)+parseInt(r(288))/7+-parseInt(r(290))/8+-parseInt(r(291))/9)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(lo);class fo{constructor(e){const t=ho;this[t(277)]=[],this.proxy=this[t(287)][t(292)](this),this[t(293)]=e}proxy(e,t,r){const i=ho;let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array[i(279)](t))return t[i(278)]((t=>this[i(287)](e,t,r,n)));e[i(289)](t,r,n);const s=()=>{const s=i;zt(e[s(283)])&&e[s(283)](t,r,n)};return this[i(277)].push(s),s}[uo(282)](){const e=uo;this.master.debugLog("Events",e(282)),this[e(277)][e(284)]((e=>e())),this[e(277)]=[]}}const po=vo;function mo(){const e=["isDependedOn","dependsOn","flags","7329966rolVHW","presentHeight","cts","HDLR_AUDIO","minf","mdat","box","stco","SMHD","vmhd","41394CqKKHK","mvhd","STTS","tfhd","byteLength","hasRedundancy","length","audio","3324tvXhid","audioType","dref","call","timescale","45VjTqvb","mp4a","set","avc","duration","mdia","3195190TvFOBm","dinf","485908zcDbhf","type","sequenceNumber","STSD_PREFIX","STSC","size","moof","hvc1","stsz","725PoqvpZ","moov","avc1","HDLR_VIDEO","mfhd","FTYP","tkhd","mp3","concat","trex","presentWidth","hdlr","mvex",".mp3","isNonSync","init","sdtp","videoType","codecHeight","stbl","60536795bsEyBx","types","constants","4wgSEwc","ftyp","9031456MFvhvk","esds","generateInitSegment","hasOwnProperty","trak","VMHD","stsd","slice","codecWidth","mdhd","charCodeAt","channelCount","trun","audioSampleRate","STCO","traf","3844qoeJfg","DREF"];return(mo=function(){return e})()}function vo(e,t){const r=mo();return(vo=function(e,t){return r[e-=429]})(e,t)}!function(e,t){const r=vo,i=e();for(;;)try{if(822297===parseInt(r(485))/1*(-parseInt(r(453))/2)+-parseInt(r(440))/3*(-parseInt(r(503))/4)+-parseInt(r(462))/5*(parseInt(r(432))/6)+-parseInt(r(508))/7+-parseInt(r(487))/8+parseInt(r(445))/9*(-parseInt(r(451))/10)+parseInt(r(482))/11)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(mo);class _o{static init(){const e=vo;_o.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in _o[e(483)])_o.types[e(490)](t)&&(_o[e(483)][t]=[t.charCodeAt(0),t[e(497)](1),t[e(497)](2),t[e(497)](3)]);let t=_o[e(484)]={};t[e(467)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(434)]=new Uint8Array([0,0,0,0,0,0,0,0]),t.STSC=t.STCO=t.STTS,t.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(465)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(511)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t[e(504)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t[e(430)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(492)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[po(514)](e){const t=po;let r=8,i=null,n=Array.prototype[t(494)][t(443)](arguments,1),s=n[t(438)];for(let e=0;e>>24&255,i[1]=r>>>16&255,i[2]=r>>>8&255,i[3]=255&r,i[t(447)](e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static[po(491)](e){const t=po;return _o[t(514)](_o.types[t(491)],_o[t(468)](e),_o[t(450)](e))}static[po(468)](e){const t=po;let r=e.id,i=e[t(449)],n=e[t(472)],s=e[t(509)];return _o[t(514)](_o[t(483)][t(468)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,n>>>8&255,255&n,0,0,s>>>8&255,255&s,0,0]))}static[po(450)](e){const t=po;return _o.box(_o[t(483)][t(450)],_o.mdhd(e),_o[t(473)](e),_o[t(512)](e))}static[po(496)](e){const t=po;let r=e[t(444)],i=e.duration;return _o[t(514)](_o.types[t(496)],new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){const t=po;let r=null;return r=e.type===t(439)?_o[t(484)][t(511)]:_o[t(484)][t(465)],_o[t(514)](_o[t(483)][t(473)],r)}static minf(e){const t=po;let r=null;return r=e[t(454)]===t(439)?_o[t(514)](_o.types.smhd,_o[t(484)][t(430)]):_o[t(514)](_o[t(483)][t(431)],_o[t(484)][t(492)]),_o[t(514)](_o[t(483)][t(512)],r,_o[t(452)](),_o[t(481)](e))}static[po(452)](){const e=po;return _o[e(514)](_o.types[e(452)],_o[e(514)](_o[e(483)][e(442)],_o[e(484)].DREF))}static[po(481)](e){const t=po;return _o[t(514)](_o.types[t(481)],_o[t(493)](e),_o[t(514)](_o[t(483)].stts,_o.constants[t(434)]),_o[t(514)](_o[t(483)].stsc,_o[t(484)][t(457)]),_o.box(_o[t(483)][t(461)],_o.constants.STSZ),_o[t(514)](_o.types[t(429)],_o.constants[t(501)]))}static stsd(e){const t=po;return"audio"===e[t(454)]?e[t(441)]===t(469)?_o[t(514)](_o[t(483)][t(493)],_o[t(484)][t(456)],_o[t(469)](e)):_o[t(514)](_o[t(483)][t(493)],_o[t(484)][t(456)],_o.mp4a(e)):e[t(479)]===t(448)?_o[t(514)](_o[t(483)][t(493)],_o[t(484)][t(456)],_o[t(464)](e)):_o[t(514)](_o[t(483)][t(493)],_o.constants[t(456)],_o.hvc1(e))}static[po(469)](e){const t=po;let r=e[t(498)],i=e[t(500)],n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return _o[t(514)](_o[t(483)][t(475)],n)}static[po(446)](e){const t=po;let r=e[t(498)],i=e[t(500)],n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return _o.box(_o.types[t(446)],n,_o[t(488)](e))}static[po(488)](e){const t=po;let r=e.config||[],i=r[t(438)],n=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i])[t(470)](r).concat([6,1,2]));return _o[t(514)](_o[t(483)][t(488)],n)}static[po(464)](e){const t=po;let r=e.avcc;const i=e[t(495)],n=e[t(480)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,n>>>8&255,255&n,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _o[t(514)](_o[t(483)][t(464)],s,_o.box(_o[t(483)].avcC,r))}static hvc1(e){const t=po;let r=e.avcc;const i=e[t(495)],n=e[t(480)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,n>>>8&255,255&n,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _o[t(514)](_o[t(483)][t(460)],s,_o[t(514)](_o[t(483)].hvcC,r))}static[po(474)](e){const t=po;return _o.box(_o[t(483)][t(474)],_o[t(471)](e))}static[po(471)](e){const t=po;let r=e.id,i=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return _o[t(514)](_o[t(483)][t(471)],i)}static[po(459)](e,t){const r=po;return _o.box(_o[r(483)][r(459)],_o[r(466)](e[r(455)]),_o[r(502)](e,t))}static[po(466)](e){const t=po;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return _o[t(514)](_o.types.mfhd,r)}static traf(e,t){const r=po;let i=e.id,n=_o[r(514)](_o[r(483)][r(435)],new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=_o[r(514)](_o.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=_o[r(478)](e),o=_o[r(499)](e,a[r(436)]+16+16+8+16+8+8);return _o[r(514)](_o.types[r(502)],n,s,o,a)}static sdtp(e){const t=po;let r=new Uint8Array(5),i=e.flags;return r[4]=i.isLeading<<6|i[t(506)]<<4|i[t(505)]<<2|i[t(437)],_o[t(514)](_o[t(483)][t(478)],r)}static trun(e,t){const r=po;let i=new Uint8Array(28);t+=36,i[r(447)]([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let n=e[r(449)],s=e[r(458)],a=e[r(507)],o=e[r(510)];return i[r(447)]([n>>>24&255,n>>>16&255,n>>>8&255,255&n,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a.isLeading<<2|a.dependsOn,a[r(505)]<<6|a[r(437)]<<4|a[r(476)],0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),_o[r(514)](_o[r(483)][r(499)],i)}static[po(513)](e){const t=po;return _o.box(_o[t(483)][t(513)],e)}}function yo(e,t){var r=go();return(yo=function(e,t){return r[e-=482]})(e,t)}function go(){var e=["5wpXlZo","3114387VepHLm","2802qusZyJ","121086yarnYV","defineProperty","2417130OrLzXs","__esModule","1608TKzROL","8YHhXdN","5070WmiYcE","exports","2540628pJHjco","948410RMJzGj"];return(go=function(){return e})()}function bo(){const e=["35WKamYf","6153070mCqofB","5392pMKwXK","8775963xyDHzR","object_type","329012RffrPL","6yjloiO","length","87SlJCka","564970vANWgm","error","885588IiTcet","4797024OxqdJw","80gTqiQZ","Invalid MP3 packet, header missing!","data","Invalid MP3 packet, first byte != 0xFF ","mp3"];return(bo=function(){return e})()}_o[po(477)](),function(e,t){for(var r=yo,i=e();;)try{if(242739===parseInt(r(492))/1+-parseInt(r(482))/2+parseInt(r(485))/3*(parseInt(r(490))/4)+-parseInt(r(483))/5*(-parseInt(r(494))/6)+parseInt(r(486))/7+parseInt(r(491))/8*(-parseInt(r(484))/9)+parseInt(r(488))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(go),Ze(Qe((function(e){var t=yo;e.exports=function(e,t,r){return t in e?Object[yo(487)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports[t(489)]=!0,e[t(493)].default=e.exports}))),function(e,t){const r=Eo,i=e();for(;;)try{if(543042===-parseInt(r(346))/1+parseInt(r(357))/2*(-parseInt(r(345))/3)+parseInt(r(360))/4*(parseInt(r(355))/5)+parseInt(r(361))/6*(parseInt(r(356))/7)+-parseInt(r(349))/8+parseInt(r(358))/9+-parseInt(r(350))/10*(parseInt(r(348))/11))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(bo);const So=[44100,48e3,32e3,0],Io=[22050,24e3,16e3,0],wo=[11025,12e3,8e3,0],Ao=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],ko=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],xo=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Eo(e,t){const r=bo();return(Eo=function(e,t){return r[e-=344]})(e,t)}function Co(e){const t=Eo;if(e[t(344)]<4)return void console[t(347)](t(351));let r=new Uint8Array(e.buffer),i=null;if(255!==r[0])return void console[t(347)](t(353));let n=r[1]>>>3&3,s=(6&r[1])>>1,a=(240&r[2])>>>4,o=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0,h=t(354);switch(n){case 0:u=wo[o];break;case 2:u=Io[o];break;case 3:u=So[o]}switch(s){case 1:a=e[n]&&t=6?(n=5,r=new Array(4),o=s-3):(n=2,r=new Array(2),o=s):-1!==c[t(273)](t(275))?(n=2,r=new Array(2),o=s):(n=5,o=s,r=new Array(4),s>=6?o=s-3:1===a&&(n=2,r=new Array(2),o=s)),r[0]=n<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&a)<<3,5===n&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),this[t(268)]=r,this.sampling_rate=Fo[s],this[t(263)]=s,this[t(258)]=a,this[t(250)]=n,this[t(264)]=i,this[t(247)]=t(223)+n,this[t(269)]=t(223)+i}}function zo(){const e=["length","1582jkTeuj","stream_id","level","sarDen","videoDataRate","sarNum","width","3383520cIKcGZ","pid","metadata","random_access_indicator","fps","12712410FhyiTI","audioSampleRate","dts","9xncbkB","audio_object_type","hasKeyframesIndex","times","codec_mimetype","chromaFormat","toLowerCase","object_type","profile","414994ENwPAb","audioChannelCount","hasAudio","audioCodec","height","1298608mVXkbF","channel_count","keyframesIndex","isComplete","segments","slices","sampling_index","original_object_type","1209738ZepANn","1015672PQdoiu","435zdQukO","config","original_codec_mimetype","data","hasVideo","userAgent","indexOf","videoCodec","android","getNearestKeyframe","_search","nearest_pts","sampling_freq_index","5osmqZz","pts","mimeType","mp4a.40.","refFrames","len","expected_length"];return(zo=function(){return e})()}const No=Ho;function Oo(){const e=["15PboOTi","readUInt","index","bitLength","2Jzkaku","skipLZ","5163579leNnjH","skipUEG","getBits","77YhxhNo","93DriVYg","8736EbyMSV","readBits","readUEG","readBoolean","63188GcyhwN","byteLength","bitsAvailable","4633836TtPhPs","readEG","730554OQOgmG","263230qfVRDW","length","skipBits","304118ztoWYa","13uemzEv","3176hVkSRy"];return(Oo=function(){return e})()}function Ho(e,t){const r=Oo();return(Ho=function(e,t){return r[e-=223]})(e,t)}!function(e,t){const r=Ho,i=e();for(;;)try{if(291807===-parseInt(r(243))/1*(-parseInt(r(236))/2)+parseInt(r(249))/3*(parseInt(r(227))/4)+parseInt(r(239))/5*(parseInt(r(232))/6)+-parseInt(r(223))/7*(parseInt(r(238))/8)+-parseInt(r(245))/9+-parseInt(r(233))/10*(parseInt(r(248))/11)+-parseInt(r(230))/12*(-parseInt(r(237))/13))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(Oo);class Vo{constructor(e){const t=Ho;this.data=e,this[t(241)]=0,this[t(242)]=8*e[t(228)]}get[No(229)](){const e=No;return this[e(242)]-this[e(241)]}[No(235)](e){const t=No;if(this[t(229)]1&&void 0!==arguments[1])||arguments[1];return this[t(247)](e,this[t(241)],r)}[No(247)](e,t){const r=No;let i=!(arguments[r(234)]>2&&void 0!==arguments[2])||arguments[2];if(this[r(229)]>>n,a=8-n;if(a>=e)return i&&(this[r(241)]+=e),s>>a-e;{i&&(this[r(241)]+=a);const n=e-a;return s<>>1:-1*(e>>>1)}[No(226)](){return 1===this[No(224)](1)}readUByte(){const e=No;let t=arguments[e(234)]>0&&void 0!==arguments[0]?arguments[0]:1;return this[e(224)](8*t)}readUShort(){return this.readBits(16)}[No(240)](){return this[No(224)](32)}}function Go(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=tc,i=e();;)try{if(414573===-parseInt(r(310))/1+-parseInt(r(309))/2+parseInt(r(318))/3+-parseInt(r(321))/4+-parseInt(r(307))/5+parseInt(r(320))/6+parseInt(r(311))/7*(parseInt(r(306))/8))break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ec);const Wo=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),jo=new Array(2746333894,1453994832,1736282519,2993693404),qo=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Ko(e,t,r,i,n){var s=tc,a=n;a=t+n>e[s(316)]&&i+n<=r[s(316)]?e.length-t:i+n>r[s(316)]&&t+n<=e[s(316)]?r[s(316)]-i:t+n<=e[s(316)]&&i+n<=r.length?n:r[s(316)]>24&255,e>>16&255,e>>8&255,255&e)}function Xo(e,t){var r=tc;return t+3>>19)^(i<<23|i>>>9)}function Qo(e,t){var r=new Array(36);r[0]=Xo(t,0),r[1]=Xo(t,4),r[2]=Xo(t,8),r[3]=Xo(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^$o(r[i+1]^r[i+2]^r[i+3]^e[i]);var n=new Array(4);for(i=35;i>=32;i--)n[35-i]=r[i];return function(e){for(var t=tc,r=new Array(4*e.length),i=0;i>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function ec(){var e=["21343tHpWrD","data is error!","ceil","cipher is error!","iv is error!","length","set","3534Yxezis","slice","4151604aOTTPw","536004TQrCaL","includes","byteLength","sm4 key is error!","min","2336NQmhXA","2741405EdfXLt","log","493336NAwyOM","239897eFDwKq"];return(ec=function(){return e})()}function tc(e,t){var r=ec();return(tc=function(e,t){return r[e-=305]})(e,t)}function rc(e,t,r){var i=tc;if(null==e||null==e||e[i(316)]%16!=0)return console[i(308)](i(324)),null;if(null==r||null==r||r[i(316)]<=0)return console[i(308)](i(314)),null;if(null==t||null==t||t[i(316)]%16!=0)return console[i(308)](i(315)),null;for(var n=Jo(e),s=Math[i(313)](r[i(316)]/16),a=new Array(r.length),o=t[i(319)](),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const a=e[i(323)];let o=5;for(;oa)break;let u=e[o+4],l=!1,h=2;if(n?(s&&(h=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][i(322)](u)):(u&=31,l=1===u||5===u),l){const n=rc(t,r,e[i(319)](o+4+h,o+4+c));e[i(317)](n,o+4+h)}o=o+4+c}return e}function nc(e,t){const r=ac();return(nc=function(e,t){return r[e-=344]})(e,t)}const sc=nc;function ac(){const e=["dropBuffer$2","from","playbackRate","playbackCacheLoop","isStateClosed","nakedFlowFps","_doDecodeVideo","initAudio","checkStreamEnd",", start dts is ","closed","slice"," and isVideoAndNextAudio is "," and tempDelay is ","isPlaybackCacheBeforeDecodeForFpsRender","video_track_"," ,\n and now ts is ","DataStream","getAudioBufferLength","_checkTsIsMaxDiff","webgl","HEAPU32","loop demux diff time is ","_doAppendSegments","FT_KEY","websocket","mp4",",and old bufferList length is ","fetch done","clearPlaybackCacheLoop","handleVideoNalu",", need clear is ",", diff is ","_needCleanupSourceBuffer","decodeNext","updating","firstTimestamp","pes_private_data_pids","parsePAT: table_id ","onMediaSourceSourceOpen() sourceBuffer is null and next init","writableStream","findSecondStartCode","channel_count","audioMeta","worker fmp4Demuxer","handleVideoH265Frames","getAudioSourceBufferUpdating","isMpeg4"," and,\n options.ts is "," null","opt"," and nalUnitSize is ","removeSourceBuffer","map","websocketError","parsePMT","pat_",";codecs=","firstRenderTime","emitPESSlices","startPlaybackCacheLoop","getNearestTimestampMilliseconds","present_size","aac"," and mseCorrectTimeDuration is ","status"," an set streamFps is 25","abort","prevAudioTs","events","remove","audioAACSequenceHeader","pushBuffer","timescale_","kSliceSPS","errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ","audioMimeType","isXorCrypto cryptoKey.length is ","readNextAACFrame","decodeVideo first frame is not iFrame","decodeVideo and payload is too small , payload length is ","eventListenList","code"," and opt is","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","payload","Synchronous KLV Metadata: pid="," and\n ts is ","AAC: AudioObjectType changed from ","\n diff is ","resetAllDelay","demuxNakedFlow","pts","audio_object_type","mp3Demuxer","createImageBitmap","isFmp4",", dts=","getDelay() and preDelayTimestamp is ","dispatch","probe","avcC","kLOASAAC","mediaSourceTsIsMaxDiff"," ts is ","videoBufferDelay",", pts=","hasVideo","MediaSource","fetch response status is ","kH265","\n maybe trigger black screen or flower screen\n "," cacheTrack dts is ","yuvData, decoder is destroyed and return","video_metadata_","HEAPU8","vps","decodeAudio",",nalu type is ","openWebglAlignment","_doDecodeAudio","_remainingPacketData","sampleRate","concat","_hasPendingSegments","kSCTE35","close() and audioDecoder.clear error","dispatchVideoInitSegment","parseTimedID3MetadataPayload","_decodeEnhancedH265Video","playbackForwardMaxRateDecodeIFrame","codecWidth","debugLog","isSm4Crypto","mediaSourceFull","stbl","isNakedFlow","5283904LyukEZ"," and next dropBuffer","handleOffscreenCanvasWebglContextRestored","ALAW",", and ts list is ","playbackIsPause","decodeVideo is max diff , ts is ",", and hasAudio is ","data","descriptor"," and ok is ","videoMeta","mediaSourceAudioInitTimeout"," and forOldVersion is ","onOffscreenCanvasWebglContextRestored","name","mediaSourceAppendBufferFull","program_pmt_pid","nakedFlowDemuxUseNew","common_pids","bit_depth","object_type"," vs start is ","\n decodeVideo dts is less than(or equal) prev dts ,\n dts is "," and notDroppingDelayTs is ","player","getSourceBufferUpdating","locked","min","sarNum","demuxFlv() type is audio and payload.byteLength is ",'" string so return'," and isIFrame is ","current_program_","codec_size","Not Supported Opus channel count.","websocket error","catch","initVideo","state"," less than bufferStartDts is ","entries","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","mseDecoder.sourceBuffer.appendBuffer()","isDropSameTimestampGop","isAudioInitInfo","transferToImageBitmap","aacADTSHeader","mpeg4","isXorCrypto","start","prevDts"," playbackRate is ","ec-3","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame","media_info_"," and isDestroyed is true, so return","endOfStream()","audioSourceBuffer","cancel","isFirstDispatch and tsPacketSize = ","pendingAudioSegments","loop() bufferList is empty and reset delay"," and isIframe is ","ID3 ","AudioDecoder","AC3: BitStream Mode changed from ","handleVideoH265Nalu","forEach","channel_config","stencil",",\n and mseCorrectTimeDuration is ","channel_mode",'socket on message is string "',"handleVideoFrames","pendingRemoveRanges","error","getTrackById","message","347476iYqaoo","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","decodeVideo() and decoder is destroyed","streamFps","parsePES: packet_start_code_prefix should be 1 but with value ","audioBufferSize","pcr_pid","has_audio_","_doCleanUpSourceBuffer","original_codec_mimetype","decodeDiffTimestamp","hvcc","file_position","secondStartCodeOffset","buffering","onSamples() trackId error","Video: Present resolution width changed from ","getDelayNotUpdateDelay() and preDelayTimestamp is ","isStateEnded","mediaSourceBufferError","onReady","preventDefault","Malformed PES: PES_packet_length < 3 + PES_header_data_length","timed_id3_pids","mdat",", streamVideoFps is ","getAllocatedSampleDataSize","onerror","vcl","end","kEAC3","_hasPendingRemoveRanges","offset","cacheAudioTrack","codec_mimetype","sample_rate","\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ","videoSEI","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","TAG","readyState","body","TAG_NAME","isDropping","suffixSei","pushBuffer(), pushLatestDelay is ","12oGsytW","key","sort","stsd","h265 naluList.length === 0","playbackTF","first_parse_",", stream_id=","isPlaybackOnlyDecodeIFrame","getVideoBufferLength","kSliceIDR_W_RADL","ts_packet_size","calcNetworkDelay","profile_string"," _opt.sampleRate is ","handle"," and maxDiff is ","codedWidth","mediaSourceAppendBufferError","parseAsynchronousKLVMetadataPayload","websocket user aborted","sourceClose","hvcC","updateend","fetchStream, WebsocketStream socket close and code is ","minf","audioPayload","_decodeAudio","pendingAudioRemoveRanges","byteLength","fileStart","demuxFlv() isVideoSequenceHeader is true and isHevc is ","detectVideoMetadataChange","duration_","pmt_"," but isSocketError is true , so return","random_access_indicator","hasPendingEos","is_sync","streamVbps","setCodecAudio","sampling_frequency","ms and return ","pid_stream_type",",\n new width is ","1353176mZUHAf","hasAudio","useWCS","currentTime","ref_frames","dispatchAudioVideoMediaSegment","keyFrame","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"," and diff is ","audioDecode","mseAutoCleanupSourceBuffer","PACKET_TYPE_FRAMES","getState","complete","removeSourceBuffer() audioSourceBuffer error","_decodeConfigurationRecord error"," package length is ","_doRemoveRanges() sourceBuffer error","floor","startTimestamp","width","parse","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0","pendingUnits"," > timestamp is ","webglcontextlost","codec","sourceOpen","videoDecode","value",", and ts is ","cryptoPayloadAudio","mseHandle","samplingRate","audio_track_","iFrame","detectAudioMetadataChange","Audio: Audio Codecs changed from ","samples","level","fetchStatus","offscreenCanvasGL",", streamFps is ","kADTSAAC","sampling_freq_index","webglObj","cacheTrack","Asynchronous KLV Metadata: pid=","dropBuffer$2() iFrameIndex is ",", options.ts is ","tempStream","audioNalu","AAC: Unknown pts","decode","_decodeAudioConfigurationRecord","needClear","video","abort catch","firstAudioTime is ",", streamAudioFps is ","fetchStream, WebsocketStream on error and requestAbort is true so return","loop() is dropping = false, is iFrame","mp4a.40.","mseSourceBufferError mseDecoder.audioSourceBuffer","isWorkerFetch","parsePPS","bitDepth","networkDelayTimeout","bit_stream_mode","cts","profile","stop","isPause","getBuildTime","supportMSEDecodeHevc","_doRemoveRanges","streamType","payload_unit_start_indicator","2833610VEdXgB","h264","streamAudioFps","dispatchAudioInitSegment","recordType","streamVideoFps","getTime","string","mpeg","pipeTo"," ant auto wasm decode","firstStartCodeOffset -14 is","audio_init_segment_dispatched_","request abort and run res.body.cancel()","cryptoKey","getNotDroppingDelayTs","mseDecodeAudio","streamSuccess"," isIFrame is ","worker","prevTimestamp","mseDecoder.mediaSourceBufferError is true","stopId","draw, decoder is destroyed and return","init and forHardDecode is ","isRecording","kSliceVPS","_initAudioSourceBuffer","generateInitSegment","stopStreamRateAndStatsInterval","_doAppendSegments() mediaSource is closed or ended and return","audioCode","getUint8","onmessage:","chromaFormat","removeUsedSamples","debugLevel","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ","frame_rate","fetch","playType","meta","slices","VideoEncoder"," more than ","removeEventListener","mediaSourceAddSourceBufferError","fetchNext().catch() and e.name is AbortError so return","then","parseH264Payload","abortSourceBuffer() abort sourceBuffer","fetchStream, WebsocketStream socket open","kMetadata","demuxFlv() type is video and payload.byteLength is "," and mseDecoder.audioMimeType is ","some"," and is Trial Version[试用版本]","streamVideoType","videoTrackId","1527337KytNLw",", set dropping is true","playbackUpdatePlaybackRate","decoder","isPlayback","loop() isPushDropping is true and bufferList length is ","startStreamRateAndStatsInterval","stream_id","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","renderYUV","getDelayNotUpdateDelay","videoInfo",'writableStream write() and value is "',"isDecodeFirstIIframe","demux() isIFrame is false and unit type is IDR and update to true","fromCharCode","prevAudioDts","KLVA","low_frequency_effects_channel_on","ts is ","isEmitInfo","kMPEG1Audio","duration","render","LOG_NAME","sendWebsocketMessage","delay","originalCodec","emitError"," and mseDecoder.isAvc === null is ","mediaSource","replace","ms, PES pts: ","kMPEG2Audio","aac_last_incomplete_data_","demuxFlv","prevTs","offscreenCanvasCtx","scte_35_pids","ended","isAAC","videoBuffer","videoTracks","isPlayUseMSE","assign","Parsed first PMT: ","decodeVideo: video width or height is changed, and return","video_metadata_changed_","_initSourceBuffer","parseSynchronousKLVMetadataPayload","mseUpdateVideoTimestamp","fps_den","fetchError","parseAC3Payload",",\n firstRenderTime is ",'video/mp4; codecs="',"decodeVideo and payload is video sequence header so drop this frame","HEAPF32","open","has_video_","set","workerEnd","fetchNext().then() and requestAbort is true so return","aborted","drawImage","mseDecoderUseWorker","isEmitSEI","onmessage","stringify"," and packetType is "," and prev dts is ",",\n and emit change event","isPushDropping"," or cryptoIV.length is ","VideoDecoder configure error"," and\n ts is ","sync_offset","reduce","Video: Coded Resolution changed from ","audioTrackId","timeInit","onopen","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","m7sCryptoAudio","width is "," and emit error and next abort()","handleNALu","listenMp4Box","audioSourceNoDataCheckTimeout","subarray","pushBuffer,\n preTimestamp is ","mseDecoder.mediaSourceAddSourceBufferError is true","kAC3","writableStream abort() and abortController.signal.aborted is true so return","supportVideoFrameCallbackHandle","abs",", isVideoSequenceHeader is true","timescale","clear","getStreamBufferLength","ac-3","isPlayVod","$video",", dts is ","kSliceCRA_NUT","isM7sCrypto","pushLatestDelay","_initAudioSourceBuffer and mseDecoder.isStateOpen is ","sm4CryptoKey","onError",",\n and resetAllDelay","hasAudioInit","debugWarn","isRecordTypeFlv","avcc","calcIframeIntervalTimestamp","version_number","bit_stream_identification","audioSampleRate","mseAutoCleanupMaxBackwardDuration","firstStartCodeOffset","kSliceSEI","close() and socket.readyState is "," and\n payloadBufferSize is ","sequenceHeader","kSliceNonIDR","decodeVideo: simd decode error, and return","_initPmt","log","delay is ","streamEnd","debug","loop() common dumex delay is -1 ,data.ts is",",\n and prevPayloadBufferSize is ","loas_previous_frame","fetch().catch() and e is ","mseSourceBufferError mseDecoder.sourceBuffer","pcmData, decoder is destroyed and return","len","isAvc","fps_num","kSliceIDR_N_LP","playAudio","worker MediaSource","flush","fetchNext().then() and done is true","\n decodeVideo: video width or height is changed,\n old width is ","socket is not open","last_pcr_","sps","nakedFlowH265DemuxUseNew","writableStream close()","_decodeVideo","details","audio","syncOffset","MULAW","undefined",", height: ","isSm4CryptoH265V2","MP3","offscreenCanvas","mediaSourceDecoderConfigurationError","cmd","protocol","adts_aac","init","AAC: Channel configuration changed from ","extractNALu","isHevc","removeSourceBuffer() audioSourceBuffer","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","codecHeight","_bindMediaSourceEvents","getNaluDts","hasIframeInBufferList","decodeAudio() and decoder is destroyed","options:","decodeAudio, decoder is destroyed and return","readUByte","Client disconnecting","h264 naluList.length === 0","match","writableStream pipeTo() and e is","onSamples"," and preTsDuration is ","demuxTs","handleAddNaluStartCode","videoMimeType","simdH264DecodeVideoWidthIsTooLarge","isPlayUseMSEAndDecoderInWorker"," and prevTs is ","sequenceNumber","setCodecAudio: mp3 is not support for old version"," and delay is ","handleVideoH264Nalu",'video/mp2t; codecs="',"audio_metadata_","eac3","arraybuffer",", old height is ",", height is ","\n isVideoSqeHeader is ","AAC: SamplingFrequencyIndex changed from ","webglcontextrestored","config","videoPayload","onclose","timeInit set false , cacheTrack = {} now dts is ","needInitAudio","dispatchVideoMediaSegment","ceil","configure","demuxFmp4","setExtractionOptions","prefixSei","playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ",",\n firstAudioTime is "," ,new bufferList is ","getDelay","extractNALu$3"," and return","mp4Box","videoCode","setCodecAudio: hasInitAudioCodec is false, codecId is ","send","program_pmt_map_","close() and videoDecoder.clear error","mseFirstRenderTime","AAC: Detected pts overlapped, ","loas_aac","_clearAudioSourceBufferCheckTimeout"," so drop this frame","kSlicePPS","frameRate","setCodecVideo: hasInitVideoCodec is false, codecId is ","workerFetch","asynchronous_klv_pids","mseDecoder.audioSourceBuffer.appendBuffer()","mseCorrectTimeDuration","preDelayTimestamp","expected_length","worker wcsDecoder","size","kH264","isVideoInited","pps","dispatchAudioMediaSegment","checkFirstIFrame","fetchNext().catch() and e is ","parseOpusPayload","useMSE","isStateOpen","sampling_rate","scriptData","AC3: Bit Stream Identification changed from ","sourceBuffer"," ,\n and diff is ","AbortError","videoNalu","video_init_segment_dispatched_","useSIMD"," and prevPayloadBufferSize is ","getIncompleteData","1172346KqkCPs","level_string","parseSPS","isWasmMp4","Timed ID3 Metadata: pid="," is not corresponded to PAT!","useOffscreen","MP3: SamplingFrequencyIndex changed from ","_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()","pes_slice_queues_","parseLOASAACPayload","mseCorrectAudioTimeDuration","now","visibility","networkDelay","_preDoDecode","shift","parsedOffset","isSendSeqHeader","loop() dropBuffer is dropping and isIFrame ","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","resetDelay","parseEAC3Payload","mediaSource is end","readUEG","isFirefox","stream_type","cryptoPayload","isIFrame","VideoDecoder","Generated first HEVCDecoderConfigurationRecord for mimeType: ","debugError","sync_byte = ","_isEnhancedH265Header","program_number","simdDecodeError","cryptoIV",", diff time is "," and prev ts is ","addEventListener"," next data type is ","clearBuffer","MP3: AudioObjectType changed from "," less than (or equal) preTs is ","presentWidth"," to "," is not corresponded to PMT!","opus"," , payload is ","pendingSegments","fetchStream, url is ","isFlv","section_slice_queues_","close() and writableStream.close() error",", bufferListLength is ","handleVideoH264NaluList","channelCount","audioCodec","onMediaSourceSourceOpen() audioSourceBuffer is null and next init","idle","handleSectionSlice","videoSequenceHeader","parseVideo265Header","buffered","isInitSegmentDispatched",",\n and emit change event","mseWorkerAddSourceBufferError","appendBuffer","demuxM7s() type is video and arrayBuffer length is ","isfms","sarRatio","audioChannelCount",", bufferList is ","isTrusted","onReady()"," ,streamVideoFps is ","updateConfig","kPESPrivateData","readBits","push","types"," and payload size is ","audioSequenceNumber","localDts","units","decodeVideo: hasInitVideoCodec is false, codecId is ",", isAacCodecPacket is true",",\n diff is ","isDestroyed","decodeAudio first frame is not iFrame","lastBuffer","_resetInIt","writableStream close() and isPlayVod is true so return","mp4Box onError","mseSourceBufferError","buffer","playbackStreamVideoFps","setCodecAudio: init audio codec, codeId is "," , message is ","codedHeight","mimeType","length","hasInit","audioTracks",", new height is "," and new delay is ","iframeIntervalTs","writableStream write() and requestAbort is true so return"," ,delay is ","onOffscreenCanvasWebglContextLost","flvScriptData",",local diff is ","expected: "," ,\n and now ts is ","width: ","yuvData, transferToImageBitmap error is","AAC","endOfStream","handleVideoH265NaluList list size is ","Generated first AudioSpecificConfig for mimeType: ","read",'fetchNext().then() and value "',"getContext","prevPayloadBufferSize","write","_clearAudioNoDataCheckTimeout","Generated first AVCDecoderConfigurationRecord for mimeType: ","Video: Codec mimeType changed from ","code is ","worker mpeg4Demuxer","Webcodecs Video Decoder initSize","extractH265SEI","signal","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","worker nakedFlow","findFirstStartCode","isTs","readNextNaluPayload","fetchStream, WebsocketStream socket error","hasInitVideoCodec",'" is string so return',"audioSampleRateIndex","h265","synchronous_klv_pids","ac3","28148DRKfXH"," and prev time is ","handleVideoH265NaluList","isPlayer","playbackCacheLoop fragDuration is ","decodeVideo","mseAutoCleanupMinBackwardDuration","streamDts","abortSourceBuffer() abort audioSourceBuffer","streamEndInner","clearSlices","parseSection","sourceended","streamVideoType is null","playbackIsCacheBeforeDecodeForFpsRender"," and decoder.delay is ","dts","type","firstRenderTime is ","appendAudioBuffer","fps","binaryType","headers",'" and return',"elementary_stream_priority_indicator","mp3","decode data type is ","_decodeVideo payload bytes is 0 and return","refSampleDuration","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","toString","lastBuf","destroy","fetchStream, WebsocketStream socket close abnormally and code is ","emitSectionSlices","updatePlaybackIsPause","abortSourceBuffer","closeEnd"," and bufferlist is ","findIndex","hasIncompleteData","height","pid","PACKET_TYPE_SEQ_START","kSliceIDR","setCodec","audio_last_sample_pts_","options","handlePESSlice: packet_start_code_prefix should be 1 but with value ","SMPTE 2038 Metadata: pid=","flags","total_length","isKeyframe","_opt","decodeVideo, decoder is destroyed and return","mediaSourceAudioG711NotSupport","mediaSource is not attached to video or mediaSource is closed","moof","audioSourceBufferCheckTimeout","fetchStream","mseDecoder.mediaSourceAppendBufferFull is true","close","seqHeader","isSm4Crypto opt.sm4CryptoKey is null","_onMediaSourceSourceOpen","extractH264SEI","doDecode","mediaSourceAudioNoDataTimeout","Opus: SamplingFrequencyIndex changed from ","playVod","isWidthOrHeightChanged","\n decodeVideo: video width or height is changed,\n old width is ","demuxM7s",", not 0x47","tsPacketSize","_decodeAudioConfigurationRecord audio codec is not support , codecId is ","dropping","videoCodec","pushBuffer() and isIFrame is ","firstAudioTime","handlePESSlice","AC3: Low Frequency Effects Channel On changed from ","streamAbps","parsePESPrivateDataPayload","isCacheBeforeDecodeForFpsRender"];return(ac=function(){return e})()}function oc(e,t){var r=cc();return(oc=function(e,t){return r[e-=116]})(e,t)}function cc(){var e=["3SlMJTS","2134764ifcGtD","707631UEMkbs","21aflDmj","3249500DhFYJA","3104975UXngkc","1019238UZFQXQ","890680xBoCWq","1226880SibPbh","4EtCtak"];return(cc=function(){return e})()}!function(e,t){const r=nc,i=e();for(;;)try{if(397249===parseInt(r(1050))/1+-parseInt(r(1141))/2+parseInt(r(604))/3+-parseInt(r(749))/4+parseInt(r(1219))/5+parseInt(r(1096))/6*(parseInt(r(1278))/7)+-parseInt(r(971))/8)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(ac),Date[sc(616)]||(Date[sc(616)]=function(){const e=sc;return(new Date)[e(1225)]()}),console.log("JbPro Worker Version is "+Pt+":"+Ft+sc(1275)),function(e,t){for(var r=oc,i=e();;)try{if(493649===parseInt(r(120))/1+parseInt(r(125))/2*(-parseInt(r(118))/3)+parseInt(r(117))/4*(-parseInt(r(123))/5)+-parseInt(r(124))/6+parseInt(r(121))/7*(parseInt(r(116))/8)+parseInt(r(119))/9+parseInt(r(122))/10)break;i.push(i.shift())}catch(e){i.push(i.shift())}}(cc),function(){const e=sc;let t=arguments[e(705)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(705)]>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments[e(705)]>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=[],a=[],o=null,c=null,u=null,l=null,h=null,d=null,f=!1,p=null,m=null,v=!1,_=!1,y=!!qt(i),g=0,b=0,S=!1,I=null,w=null,A=null,k=[],x=null,E=null,C=0,B=0,D=null,M=null,T=0,U=0,F=!1,P=!1,R=!1,L=null,z=null,N=!1,O=!0,H=0,V=0,G=()=>{const t=e,r=Wt();return{debug:r[t(471)],debugLevel:r[t(1255)],debugUuid:r.debugUuid,useOffscreen:r.useOffscreen,useWCS:r[t(1143)],useMSE:r.useMSE,videoBuffer:r.videoBuffer,videoBufferDelay:r.videoBufferDelay,openWebglAlignment:r[t(953)],playType:r[t(1259)],hasAudio:r[t(1142)],hasVideo:r[t(941)],playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(964)],playbackIsCacheBeforeDecodeForFpsRender:r.playbackConfig[t(833)],sampleRate:0,networkDelay:r.networkDelay,visibility:!0,useSIMD:r[t(601)],isRecording:!1,recordType:r[t(1223)],isNakedFlow:r[t(970)],checkFirstIFrame:r[t(588)],audioBufferSize:1024,isM7sCrypto:r[t(445)],m7sCryptoAudio:r[t(423)],cryptoKey:r.cryptoKey,cryptoIV:r[t(640)],isSm4Crypto:r.isSm4Crypto,isSm4CryptoH265V2:r[t(499)],sm4CryptoKey:r[t(448)],isXorCrypto:r.isXorCrypto,isHls265:!1,isFlv:r[t(655)],isFmp4:r[t(930)],isMpeg4:r.isMpeg4,isTs:r[t(740)],isEmitSEI:r[t(406)],isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(1015)],mseDecodeAudio:r[t(1235)],wcsDecodeAudio:r.wcsDecodeAudio,nakedFlowH265DemuxUseNew:r[t(490)],mseDecoderUseWorker:r.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:r[t(1151)],mseAutoCleanupMaxBackwardDuration:r[t(459)],mseAutoCleanupMinBackwardDuration:r[t(755)],mseCorrectTimeDuration:r[t(579)],mseCorrectAudioTimeDuration:r[t(615)],nakedFlowDemuxUseNew:r[t(989)],nakedFlowFps:r[t(839)],supportMSEDecodeHevc:!1,checkStreamEnd:r[t(842)]}};e(1262)in self&&(o={TAG_NAME:e(582),hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;o[t(1281)]=new VideoDecoder({output:function(e){const r=t;if(zt(e[r(929)]))e[r(929)]()[r(1267)]((t=>{const i=r;o[i(377)].drawImage(t,0,0,e[i(1113)],e[i(703)]);let n=o[i(501)].transferToImageBitmap();postMessage({cmd:be[i(363)],buffer:n,delay:J[i(366)],ts:0},[n]),Ht(e)}));else{o[r(377)][r(404)](e,0,0,e[r(1113)],e[r(703)]);let t=o[r(501)][r(1017)]();postMessage({cmd:be[r(363)],buffer:t,delay:J.delay,ts:0},[t]),Ht(e)}},error:function(e){const r=t;J.debugError(r(1238),"VideoDecoder error: ",e,e[r(779)]())}}),J[t(966)](o[t(1092)],t(506))},destroy(){const t=e;o.reset(),o[t(1281)]&&o[t(1281)][t(1010)]!==t(844)&&(o[t(1281)][t(810)](),o[t(1281)]=null),J.debugLog(o[t(1092)],t(781))},decode:function(t,r,i){const n=e,s=t[0]>>4==1;if(o[n(706)]){const e=new EncodedVideoChunk({data:t[n(845)](5),timestamp:r,type:s?Fe[n(1097)]:Fe.delta});o[n(1281)][n(1194)](e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:be[n(563)],code:e});const r=new Uint8Array(t);postMessage({cmd:be[n(826)],buffer:r,codecId:e},[r[n(699)]]);let i=null,s=null;const a=t[n(845)](5);e===Ce.h264?(s=gr(a),i={codec:s.codec,description:a}):e===Ce[n(746)]&&(s=Zr(a),i={codec:s.codec,description:a}),s&&s[n(965)]&&s.codecHeight&&(i[n(703)]=s[n(512)],i[n(1113)]=s[n(965)]),!o[n(360)]&&(J[n(966)](n(1238),n(734)),postMessage({cmd:be[n(1009)],w:s[n(965)],h:s[n(512)]}),o[n(360)]=!0,o[n(501)]=new OffscreenCanvas(s[n(965)],s.codecHeight),o.offscreenCanvasCtx=o.offscreenCanvas.getContext("2d"));try{o[n(1281)][n(552)](i),o.hasInit=!0}catch(e){J[n(635)](n(1238),n(414),e[n(916)],e,e[n(779)]()),e[n(779)]()}}else J.debugWarn(n(1238),"VideoDecoder configure has not init , isIframe is "+s+n(652)+t[1]+" so drop this frame")},reset(){const t=e;o[t(706)]=!1,o[t(360)]=!1,o[t(501)]=null,o[t(377)]=null}});let W=function(){const t=e;if(N=!0,c)try{c[t(901)](),c=null,J[t(966)](t(1238),"abort success")}catch(e){c=null,J.debugLog(t(1238),t(1198),e)}},j={TAG_NAME:e(738),init(){const t=e;j[t(780)]=null,j[t(950)]=null,j[t(489)]=null,j[t(586)]=null,j[t(1217)]=null,j[t(687)]=0,j[t(1164)]={},j.isSendSeqHeader=!1,J[t(966)](j.TAG_NAME,t(506))},destroy(){const t=e;j[t(780)]=null,j[t(950)]=null,j[t(489)]=null,j[t(586)]=null,j[t(1217)]=null,j[t(687)]=0,j[t(1164)]={},j[t(622)]=!1,J[t(966)](j.TAG_NAME,t(781))},dispatch(t){const r=e,i=new Uint8Array(t);if(J[r(802)][r(989)]){const e=j[r(560)](i);if(0===e[r(705)])return void J[r(966)](j[r(1092)],"dispatch naluArray length is 0");j.handleVideoFrames(e)}else j.extractNALu$2(i)},getNaluDts(){const t=e,r=J[t(802)][t(839)];let i=j[t(687)];return j.localDts=j[t(687)]+parseInt(1e3/r,10),i},getNaluAudioDts(){const t=e,r=J[t(802)][t(956)],i=J[t(802)][t(1055)];return j[t(687)]+parseInt(i/r*1e3)},extractNALu(t){const r=e;let i,n,s=0,a=t.byteLength,o=0,c=[];for(;s1)for(let e=0;e{const t=r,i=kr(e);i===Me[t(586)]||i===Me[t(489)]?j[t(535)](e):Er(i)&&n[t(683)](e)})),1===n.length)j[r(535)](n[0]);else{if(Br(n)){const e=kr(n[0]),t=Cr(e);j[r(659)](n,t,e)}else n[r(1039)]((e=>{j.handleVideoH264Nalu(e)}))}}else if(j[r(1217)]===Be[r(746)])if(J[r(802)].nakedFlowH265DemuxUseNew){const e=j[r(527)](t),i=j[r(508)](e);if(0===i[r(705)])return void J[r(452)](r(1238),r(864),r(1100));const n=[];if(i.forEach((e=>{const t=r,i=ri(e);i===Te[t(586)]||i===Te[t(489)]||i===Te.vps?j[t(1038)](e):ni(i)&&n[t(683)](e)})),1===n.length)j[r(1038)](n[0]);else{if(oi(n)){const e=ri(n[0]),t=si(e);j[r(751)](n,t,e)}else n.forEach((e=>{j[r(1038)](e)}))}}else{ri(t)===Te[r(586)]?j.extractH265PPS(t):j[r(1038)](t)}},extractH264PPS(t){const r=e,i=j[r(527)](t);j.extractNALu(i)[r(1039)]((e=>{const t=r;xr(kr(e))?j[t(814)](e):j[t(535)](e)}))},extractH265PPS(t){const r=e,i=j.handleAddNaluStartCode(t);j[r(508)](i)[r(1039)]((e=>{const t=r;ii(ri(e))?j[t(735)](e):j.handleVideoH265Nalu(e)}))},extractH264SEI(t){const r=e,i=j.handleAddNaluStartCode(t);j[r(508)](i)[r(1039)]((e=>{j[r(535)](e)}))},extractH265SEI(t){const r=e,i=j.handleAddNaluStartCode(t);j[r(508)](i)[r(1039)]((e=>{j[r(1038)](e)}))},handleAddNaluStartCode(t){const r=e,i=[0,0,0,1],n=new Uint8Array(t[r(705)]+i[r(705)]);return n[r(400)](i),n[r(400)](t,i.length),n},handleVideoH264Nalu(t){const r=e,i=kr(t);switch(i){case Me.sps:j[r(489)]=t;break;case Me[r(586)]:j.pps=t}if(j[r(622)]){if(j[r(489)]&&j[r(586)]){const e=Sr({sps:j[r(489)],pps:j[r(586)]}),t=j[r(687)];J[r(1194)](e,{type:Se[r(1197)],ts:t,isIFrame:!0,cts:0}),j[r(489)]=null,j[r(586)]=null}if(Er(i)){const e=Cr(i),n=j[r(514)](),s=wr(t,e);j[r(815)](s,{type:Se.video,ts:n,isIFrame:e,cts:0})}}else if(j[r(489)]&&j[r(586)]){j[r(622)]=!0;const e=Sr({sps:j[r(489)],pps:j[r(586)]});J[r(1194)](e,{type:Se[r(1197)],ts:0,isIFrame:!0,cts:0}),j[r(489)]=null,j.pps=null}},handleVideoH264NaluList(t,r,i){const n=e;if(j.isSendSeqHeader){const e=j.getNaluDts(),s=Ar(t[n(417)](((e,t)=>{const r=n,i=At(e),s=At(t),a=new Uint8Array(i.byteLength+s.byteLength);return a.set(i,0),a[r(400)](s,i[r(1125)]),a})),r);j.doDecode(s,{type:Se[n(1197)],ts:e,isIFrame:r,cts:0}),J[n(966)](n(1238),"handleVideoH264NaluList list size is "+t.length+n(1157)+s[n(1125)]+n(1237)+r+",nalu type is "+i+n(443)+e)}},handleVideoH265Nalu(t){const r=e,i=ri(t);switch(i){case Te[r(950)]:j[r(950)]=t;break;case Te[r(489)]:j[r(489)]=t;break;case Te[r(586)]:j[r(586)]=t}if(j[r(622)]){if(j[r(950)]&&j[r(489)]&&j[r(586)]){const e=$r({vps:j[r(950)],sps:j[r(489)],pps:j[r(586)]}),t=j.localDts;J[r(1194)](e,{type:Se[r(1197)],ts:t,isIFrame:!0,cts:0}),j.vps=null,j.sps=null,j[r(586)]=null}if(ni(i)){const e=si(i),n=j[r(514)](),s=ei(t,e);j[r(815)](s,{type:Se[r(1197)],ts:n,isIFrame:e,cts:0})}}else if(j[r(950)]&&j.sps&&j[r(586)]){j.isSendSeqHeader=!0;const e=$r({vps:j[r(950)],sps:j[r(489)],pps:j[r(586)]});J[r(1194)](e,{type:Se[r(1197)],ts:0,isIFrame:!0,cts:0}),j[r(950)]=null,j[r(489)]=null,j[r(586)]=null}},handleVideoH265NaluList(t,r,i){const n=e;if(j.isSendSeqHeader){const e=j.getNaluDts(),s=ti(t[n(417)](((e,t)=>{const r=n,i=At(e),s=At(t),a=new Uint8Array(i.byteLength+s[r(1125)]);return a.set(i,0),a[r(400)](s,i.byteLength),a})),r);j.doDecode(s,{type:Se.video,ts:e,isIFrame:r,cts:0}),J.debugLog(n(1238),n(722)+t[n(705)]+n(1157)+s[n(1125)]+" isIFrame is "+r+n(952)+i+n(443)+e)}},doDecode(t,r){const i=e;J[i(1108)](r.ts),r.isIFrame&&J[i(455)](r.ts),J[i(1194)](t,r)},handleVideoFrames(t){const r=e;if(!j[r(1276)])for(let e of t)if(j[r(1276)]=Nt(e),j.streamVideoType)break;j[r(1276)]?j[r(1276)]===Be[r(1220)]?j.handleVideoH264Frames(t):j.streamVideoType===Be[r(746)]&&j[r(879)](t):J[r(452)](r(1238),r(1045),r(762))},handleVideoH264Frames(t){const r=e;let i=[],n=[],s=!1,a=!1;j[r(1164)][r(688)]&&(i=j.pendingUnits.units,a=j.pendingUnits[r(1078)],s=j[r(1164)][r(1176)],j.pendingUnits={});let o={};for(let e of t){if(e.byteLength<4)continue;const t=kr(e);let c=!1,u=t===Me.kSliceIDR;(t===Me[r(465)]||t===Me[r(793)])&&(o=j.parseVideo264Header(e),c=!0),i[r(705)]&&a&&(o[r(673)]||!c)&&(n[r(683)]({units:i,isIFrame:s}),i=[],s=!1,a=!1),i[r(683)](e),s=s||u,a=a||c}i.length&&(j[r(1164)]={units:i,vcl:a,iFrame:s}),n.forEach((e=>{const t=r,i=e[t(688)],n=e.isIFrame;let s=null,a=null;if(i[t(1039)]((e=>{const r=t,i=31&e[0];switch(i){case Me[r(586)]:j[r(586)]=e;break;case Me[r(489)]:j.sps=e;break;case Me[r(461)]:a=e}if(Er(i)){const t=At(e);if(s){const e=new Uint8Array(s[r(1125)]+t[r(1125)]);e[r(400)](s,0),e[r(400)](t,s.byteLength),s=e}else s=t}})),!j.isSendSeqHeader&&j[t(489)]&&j.pps){j.isSendSeqHeader=!0;const e=Ir({sps:j[t(489)],pps:j[t(586)]});J[t(1194)](e,{type:Se[t(1197)],ts:0,isIFrame:!0,cts:0}),j[t(489)]=null,j.pps=null}if(j[t(622)]){if(j[t(489)]&&j.pps){const e=Ir({sps:j[t(489)],pps:j[t(586)]}),r=j[t(687)];J[t(1194)](e,{type:Se[t(1197)],ts:r,isIFrame:!0,cts:0}),j[t(489)]=null,j[t(586)]=null}if(s){const e=j.getNaluDts(),r=Ar(s,n);if(J[t(802)][t(406)]&&a){const r=wt(a,!1);postMessage({cmd:be[t(1087)],buffer:r.payload,ts:e},[r[t(919)][t(699)]])}j[t(815)](r,{type:Se[t(1197)],ts:e,isIFrame:n,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let i=[],n=[],s=!1,a=!1;j[r(1164)].units&&(i=j.pendingUnits[r(688)],a=j[r(1164)][r(1078)],s=j.pendingUnits[r(1176)],j[r(1164)]={});let o={};for(let e of t){if(e.byteLength<4)continue;const t=ri(e);let c=!1,u=si(t);ni(t)&&(o=j[r(666)](e),c=!0),i[r(705)]&&a&&(o[r(673)]||!c)&&(n.push({units:i,isIFrame:s}),i=[],s=!1,a=!1),i[r(683)](e),s=s||u,a=a||c}i.length&&(j[r(1164)]={units:i,vcl:a,iFrame:s}),n[r(1039)]((e=>{const t=r,i=e[t(688)],n=e.isIFrame;let s=null,a=null;if(i[t(1039)]((e=>{const r=t,i=e[0]>>>1&63;switch(i){case Te.pps:j[r(586)]=e;break;case Te[r(489)]:j[r(489)]=e;break;case Te.vps:j[r(950)]=e;break;case Te[r(1094)]:case Te[r(555)]:a=e}if(ni(i)){const t=At(e);if(s){const e=new Uint8Array(s.byteLength+t[r(1125)]);e.set(s,0),e[r(400)](t,s.byteLength),s=e}else s=t}})),!j.isSendSeqHeader&&j[t(489)]&&j[t(586)]&&j[t(950)]){j.isSendSeqHeader=!0;const e=$r({sps:j[t(489)],pps:j[t(586)],vps:j[t(950)]});J[t(1194)](e,{type:Se[t(1197)],ts:0,isIFrame:!0,cts:0}),j[t(489)]=null,j[t(586)]=null,j[t(950)]=null}if(j[t(622)]){if(j[t(489)]&&j[t(586)]&&j.vps){const e=$r({sps:j[t(489)],pps:j[t(586)],vps:j[t(950)]}),r=j.localDts;J.decode(e,{type:Se[t(1197)],ts:r,isIFrame:!0,cts:0}),j[t(489)]=null,j[t(586)]=null,j[t(950)]=null}if(s){const e=j[t(514)](),r=ti(s,n);if(J[t(802)][t(406)]&&a){const r=wt(a,!0);postMessage({cmd:be.videoSEI,buffer:r[t(919)],ts:e},[r[t(919)][t(699)]])}j.doDecode(r,{type:Se.video,ts:e,isIFrame:n,cts:0})}}}))},handleVideoH265Frames_1(t){const r=e;t[r(1039)]((e=>{j[r(864)](e)}))},parseVideo264Header(t){const r=e,i=new Vo(t);i[r(519)]();return{isfms:0===i.readUEG(),sType:i[r(628)]()}},parseVideo265Header(t){const r=e,i=new Vo(t);return i[r(519)](),{nalType:i.readBits(6),isfms:0===i[r(682)](1),sType:i[r(682)](3)}}},q={LOG_NAME:e(878),mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;q[t(562)]=_a.createFile(),q.mp4Box[t(1070)]=q[t(1070)],q[t(562)][t(449)]=q[t(449)],q[t(562)][t(524)]=q.onSamples,J[t(966)](q.LOG_NAME,t(506))},destroy(){const t=e;q.mp4Box&&(q[t(562)][t(1212)](),q.mp4Box[t(484)](),q[t(562)][t(781)](),q[t(562)]=null),q[t(1082)]=0,q[t(1277)]=null,q[t(419)]=null,q[t(509)]=!1,J[t(966)](q[t(364)],"destroy")},_getSeqHeader(t){const r=e,i=q[r(562)][r(1048)](t.id);for(const e of i.mdia[r(1121)][r(969)][r(1099)][r(1012)])if(e.avcC||e[r(1118)]){const t=new(_a[r(851)])(void 0,0,_a[r(851)].BIG_ENDIAN);let i=[];e.avcC?(e[r(935)].write(t),i=[23,0,0,0,0]):(q[r(509)]=!0,J[r(509)]=!0,e[r(1118)][r(728)](t),i=[28,0,0,0,0]);const n=new Uint8Array(t[r(699)],8),s=new Uint8Array(i[r(705)]+n[r(705)]);return s[r(400)](i,0),s[r(400)](n,i[r(705)]),s}return null},onReady(t){const r=e;J.debugLog(q[r(364)],r(678));const i=t[r(382)][0],n=t[r(707)][0];if(i){q[r(1277)]=i.id;const e=q._getSeqHeader(i);e&&(J[r(966)](q[r(364)],r(811)),J[r(754)](e,0,!0,0)),q[r(562)][r(554)](i.id)}if(n&&J[r(802)].hasAudio){q.audioTrackId=n.id;const e=n[r(494)]||{},t=lt.indexOf(e[r(1085)]),i=n.codec[r(371)](r(1203),"");q[r(562)].setExtractionOptions(n.id);const s=ht({profile:parseInt(i,10),sampleRate:t,channel:e[r(876)]});J[r(966)](q[r(364)],r(1018)),J.decodeAudio(s,0)}q[r(562)][r(1021)]()},onError(t){const r=e;J[r(635)](q[r(364)],r(697),t)},onSamples(t,r,i){const n=e;if(t===q.videoTrackId){for(const e of i){const t=e[n(979)],r=e[n(1134)],i=1e3*e[n(1210)]/e[n(437)];e.duration,e[n(437)],r&&J[n(455)](i);let s=null;s=q[n(509)]?ti(t,r):Ar(t,r),J[n(1194)](s,{type:Se[n(1197)],ts:i,isIFrame:r,cts:0})}q[n(562)][n(1254)](t)}else if(t===q[n(419)]){if(J[n(802)][n(1142)]){for(const e of i){const t=e.data,r=1e3*e[n(1210)]/e[n(437)];e[n(362)],e[n(437)];const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),J[n(1194)](i,{type:Se.audio,ts:r,isIFrame:!1,cts:0})}q[n(562)][n(1254)](t)}}else J[n(452)](q[n(364)],n(1065),t)},dispatch(t){const r=e;let i=new Uint8Array(t);i[r(699)][r(1126)]=q[r(1082)],q[r(1082)]+=i[r(1125)],q.mp4Box[r(671)](i[r(699)])}},K={LOG_NAME:e(733),lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(506),hasInitVideoCodec:!1,localDts:0,dispatch(t){const r=e,i=new Uint8Array(t);K[r(508)](i)},destroy(){const t=e;K[t(694)]=new Uint8Array(0),K[t(621)]=0,K.firstStartCodeOffset=0,K[t(1063)]=0,K[t(1010)]="init",K[t(743)]=!1,K[t(687)]=0,J.debugLog(K.LOG_NAME,t(781))},extractNALu(t){const r=e;if(!t||t.byteLength<1)return void J.debugWarn(K[r(364)],"extractNALu() buffer error",t);const i=new Uint8Array(K[r(694)][r(705)]+t[r(705)]);for(i[r(400)](K[r(694)],0),i[r(400)](new Uint8Array(t),K[r(694)][r(705)]),K[r(694)]=i;;){if(K.state===r(506)){let e=!1;for(;K.lastBuffer.length-K[r(621)]>=4;)if(0===K.lastBuffer[K.parsedOffset])if(0===K.lastBuffer[K[r(621)]+1])if(1===K[r(694)][K[r(621)]+2]){if(182===K.lastBuffer[K[r(621)]+3]){K[r(1010)]=r(739),K[r(460)]=K[r(621)],K.parsedOffset+=4,e=!0;break}K[r(621)]++}else K[r(621)]++;else K.parsedOffset++;else K[r(621)]++;if(e)continue;break}if(K[r(1010)]===r(739)){let e=!1;for(;K[r(694)][r(705)]-K.parsedOffset>=4;)if(0===K.lastBuffer[K.parsedOffset])if(0===K[r(694)][K[r(621)]+1])if(1===K[r(694)][K[r(621)]+2]){if(182===K.lastBuffer[K[r(621)]+3]){K[r(1010)]="findSecondStartCode",K[r(1063)]=K[r(621)],K.parsedOffset+=4,e=!0;break}K[r(621)]++}else K[r(621)]++;else K[r(621)]++;else K[r(621)]++;if(e)continue;break}if(K[r(1010)]===r(875)){if(!(K[r(694)][r(705)]-K.parsedOffset>0))break;{let e,t=192&K[r(694)][K[r(621)]];e=0==t?K[r(1063)]-14:K[r(1063)];let i,n=0==(192&K[r(694)][K[r(460)]+4]);if(n){if(K[r(460)]-14<0)return void J[r(452)](K[r(364)],r(1230),K[r(460)]-14);!K[r(743)]&&(K[r(743)]=!0,J.debugLog(K.LOG_NAME,r(794)),$[r(794)](Ce[r(1019)],"",J[r(1214)]())),i=K[r(694)].subarray(K[r(460)]-14,e)}else i=K[r(694)][r(429)](K[r(460)],e);let s=K[r(514)]();K[r(743)]?(postMessage({cmd:be.workerFetch,type:Ae[r(1135)],value:i[r(1125)]}),postMessage({cmd:be[r(576)],type:Ae[r(756)],value:s}),g=s,$[r(1194)](i,n?1:0,s)):J[r(452)](K[r(364)],"has not init video codec"),K[r(694)]=K.lastBuffer[r(429)](e),K[r(460)]=0==t?14:0,K[r(621)]=K[r(460)]+4,K.state=r(739)}}}},getNaluDts(){const t=e;let r=K[t(687)];return K[t(687)]=K[t(687)]+40,r}},Y={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Po,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:e(1197),id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;Y[t(1026)]=null,Y[t(613)]=null,Y[t(656)]=null,Y.video_metadata_=null,Y[t(537)]=null,Y[t(374)]=null,Y[t(849)]=null,Y.audio_track_=null,Y._remainingPacketData=null,J[t(966)](Y[t(1092)],t(781))},probe(t){const r=e;let i=new Uint8Array(t),n=-1,s=188;if(i[r(1125)]<=3*s)return{needMoreData:!0};for(;-1===n;){let e=Math[r(999)](1e3,i[r(1125)]-3*s);for(let t=0;t=4&&(n-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:n})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;Y._remainingPacketData&&(t=ao(Y._remainingPacketData,t),Y._remainingPacketData=null);let i=t.buffer;const n=Y.parseChunks(i);n?Y[r(955)]=t[r(429)](n):t.length>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)n=Y[r(467)](),n[r(638)]=a,n[r(456)]=o,Y[r(566)][a]=n;else if(n=Y[r(566)][a],null==n)return;n.pcr_pid=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],h=12+l,d=s-9-l-4;for(let e=h;e0){for(let i=e+5;i0)for(let i=e+5;i1&&(J[i(452)](Y[i(1092)],i(569)+(i(716)+e+i(372)+s+"ms")),s=e)}}let a,o=new yt(t),c=null,u=s;for(;null!=(c=o[i(912)]());){n=1024/c.sampling_frequency*1e3;const e={codec:i(897),data:c};0==Y.audio_init_segment_dispatched_?(Y[i(537)]={codec:i(897),audio_object_type:c[i(927)],sampling_freq_index:c[i(1185)],sampling_frequency:c.sampling_frequency,channel_config:c.channel_config},Y[i(1222)](e)):Y[i(1177)](e)&&(Y.dispatchAudioMediaSegment(),Y[i(1222)](e)),a=u;let t=Math[i(1159)](u);const r=new Uint8Array(c[i(979)][i(705)]+2);r[i(400)]([175,1],0),r[i(400)](c[i(979)],2);let s={payload:r,length:r.byteLength,pts:t,dts:t,type:Se[i(494)]};Y[i(1175)][i(1179)][i(683)](s),Y[i(1175)][i(705)]+=r[i(1125)],u+=n}o[i(789)]()&&(Y.aac_last_incomplete_data_=o[i(603)]()),a&&(Y[i(795)]=a)},parseLOASAACPayload(t,r){const i=e;if(Y[i(399)]&&!Y[i(600)])return;if(Y[i(374)]){let e=new Uint8Array(t[i(1125)]+Y.aac_last_incomplete_data_[i(1125)]);e[i(400)](Y[i(374)],0),e[i(400)](t,Y[i(374)][i(1125)]),t=e}let n,s;if(null!=r&&(s=r/Y[i(907)]),Y[i(537)][i(1167)]===i(897)){if(null==r&&null!=Y[i(795)])n=1024/Y.audio_metadata_[i(1137)]*1e3,s=Y.audio_last_sample_pts_+n;else if(null==r)return void J.debugWarn(Y[i(1092)],i(1193));if(Y.aac_last_incomplete_data_&&Y[i(795)]){n=1024/Y[i(537)][i(1137)]*1e3;let e=Y.audio_last_sample_pts_+n;Math.abs(e-s)>1&&(J[i(452)](Y[i(1089)],"AAC: Detected pts overlapped, "+(i(716)+e+i(372)+s)+"ms"),s=e)}}let a,o=new gt(t),c=null,u=s;for(;null!=(c=o[i(912)](Rt(Y[i(474)])?void 0:Y[i(474)]));){Y[i(474)]=c,n=1024/c[i(1137)]*1e3;const e={codec:"aac",data:c};0==Y[i(1231)]?(Y[i(537)]={codec:i(897),audio_object_type:c[i(927)],sampling_freq_index:c[i(1185)],sampling_frequency:c[i(1137)],channel_config:c.channel_config},Y[i(1222)](e)):Y[i(1177)](e)&&(Y.dispatchAudioMediaSegment(),Y.dispatchAudioInitSegment(e)),a=u;let t=Math[i(1159)](u);const r=new Uint8Array(c[i(979)][i(705)]+2);r[i(400)]([175,1],0),r.set(c.data,2);let s={payload:r,length:r[i(1125)],pts:t,dts:t,type:Se[i(494)]};Y[i(1175)][i(1179)][i(683)](s),Y[i(1175)][i(705)]+=r[i(1125)],u+=n}o[i(789)]()&&(Y[i(374)]=o.getIncompleteData()),a&&(Y[i(795)]=a)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const i=e;if(Y[i(399)]&&!Y.video_init_segment_dispatched_)return;let n=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],a=[11025,12e3,8e3,0],o=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!==(t[3]>>>6&3)?2:1,h=0,d=34;switch(i(774),o){case 0:h=a[u];break;case 2:h=s[u];break;case 3:h=n[u]}switch(c){case 1:d=34,i(705);break;case 2:d=33,i(705);break;case 3:d=32,i(705)}const f={};f.object_type=d,f.sample_rate=h,f[i(876)]=l,f[i(979)]=t;const p={codec:i(774),data:f};0==Y[i(1231)]?(Y[i(537)]={codec:i(774),object_type:d,sample_rate:h,channel_count:l},Y[i(1222)](p)):Y[i(1177)](p)&&(Y[i(587)](),Y.dispatchAudioInitSegment(p));let m={payload:t,length:t[i(1125)],pts:r/Y[i(907)],dts:r/Y[i(907)],type:Se.audio};Y.audio_track_[i(1179)][i(683)](m),Y.audio_track_[i(705)]+=t[i(1125)]},detectAudioMetadataChange(t){const r=e;if(t.codec!==Y[r(537)][r(1167)])return J.debugLog(Y[r(1092)],r(1178)+(Y[r(537)][r(1167)]+r(649)+t[r(1167)])),!0;if(t[r(1167)]===r(897)&&"aac"===Y.audio_metadata_[r(1167)]){const e=t[r(979)];if(e[r(927)]!==Y[r(537)].audio_object_type)return J[r(966)](Y[r(1092)],r(922)+(Y[r(537)][r(927)]+r(649)+e[r(927)])),!0;if(e[r(1185)]!==Y[r(537)][r(1185)])return J.debugLog(Y[r(1092)],r(543)+(Y[r(537)].sampling_freq_index+r(649)+e.sampling_freq_index)),!0;if(e.channel_config!==Y[r(537)].channel_config)return J[r(966)](Y.TAG_NAME,r(507)+(Y[r(537)][r(1040)]+" to ")+e[r(1040)]),!0}else if(t[r(1167)]===r(440)&&Y[r(537)][r(1167)]===r(440)){const e=t[r(979)];if(e[r(1137)]!==Y[r(537)][r(1137)])return J[r(966)](Y[r(1092)],"AC3: Sampling Frequency changed from "+Y[r(537)].sampling_frequency+" to "+e[r(1137)]),!0;if(e[r(457)]!==Y[r(537)][r(457)])return J[r(966)](Y[r(1092)],r(595)+(Y[r(537)][r(457)]+r(649)+e[r(457)])),!0;if(e.bit_stream_mode!==Y[r(537)][r(1209)])return J[r(966)](Y[r(1092)],r(1037)+(Y[r(537)][r(1209)]+r(649)+e.bit_stream_mode)),!0;if(e[r(1043)]!==Y[r(537)][r(1043)])return J[r(966)](Y.TAG_NAME,"AC3: Channel Mode changed from "+(Y[r(537)][r(1043)]+r(649)+e[r(1043)])),!0;if(e[r(358)]!==Y[r(537)][r(358)])return J[r(966)](Y[r(1092)],r(830)+(Y[r(537)][r(358)]+" to ")+e[r(358)]),!0}else if(t[r(1167)]===r(651)&&Y.audio_metadata_.codec===r(651)){const e=t[r(1260)];if(e[r(1085)]!==Y.audio_metadata_[r(1085)])return J.debugLog(Y.TAG_NAME,r(817)+(Y[r(537)].sample_rate+r(649)+e[r(1085)])),!0;if(e.channel_count!==Y[r(537)][r(876)])return J[r(966)](Y[r(1092)],"Opus: Channel count changed from "+Y[r(537)][r(876)]+" to "+e[r(876)]),!0}else if("mp3"===t[r(1167)]&&Y[r(537)][r(1167)]===r(774)){const e=t[r(979)];if(e[r(992)]!==Y.audio_metadata_[r(992)])return J[r(966)](Y[r(1092)],r(646)+(Y.audio_metadata_[r(992)]+r(649)+e.object_type)),!0;if(e[r(1085)]!==Y[r(537)][r(1085)])return J[r(966)](Y.TAG_NAME,r(611)+(Y.audio_metadata_.sample_rate+r(649)+e[r(1085)])),!0;if(e[r(876)]!==Y[r(537)][r(876)])return J[r(966)](Y[r(1092)],"MP3: Channel count changed from "+(Y[r(537)].channel_count+r(649)+e[r(876)])),!0}return!1},dispatchAudioInitSegment(t){const r=e;let i={};if(i[r(766)]="audio",i.id=Y[r(1175)].id,i[r(437)]=1e3,i[r(362)]=Y[r(1129)],Y[r(537)].codec===r(897)){let e=t.codec===r(897)?t[r(979)]:null,n=new Lo(e);i.audioSampleRate=n[r(593)],i[r(745)]=n.sampling_index,i[r(660)]=n[r(876)],i[r(1167)]=n[r(1084)],i[r(367)]=n[r(1059)],i[r(545)]=n.config,i[r(777)]=1024/i[r(458)]*i[r(437)],r(720);const s=ht({profile:J._opt[r(1235)]?n[r(992)]:n.original_object_type,sampleRate:i.audioSampleRateIndex,channel:i.channelCount});J.decodeAudio(s,0)}else Y.audio_metadata_[r(1167)]===r(440)||Y[r(537)][r(1167)]===r(1024)||"opus"===Y[r(537)].codec||Y[r(537)][r(1167)]===r(774)&&(i[r(458)]=Y.audio_metadata_[r(1085)],i[r(660)]=Y.audio_metadata_[r(876)],i.codec=r(774),i[r(367)]=r(774),i[r(545)]=void 0,r(500));0==Y[r(1231)]&&J[r(966)](Y[r(1092)],r(723)+i[r(1167)]),Y[r(1231)]=!0,Y[r(387)]=!1;let n=Y[r(1026)];n.hasAudio=!0,n.audioCodec=i.originalCodec,n[r(458)]=i[r(458)],n[r(675)]=i[r(660)],n[r(941)]&&n.videoCodec?n[r(704)]=r(536)+n[r(826)]+","+n.audioCodec+'"':n[r(704)]=r(536)+n[r(661)]+'"'},dispatchPESPrivateDataDescriptor(t,r,i){const n=e;let s={};s.pid=t,s[n(630)]=r,s[n(980)]=i},parsePESPrivateDataPayload(t,r,i,n,s){const a=e;let o=new Uo;if(o[a(791)]=n,o[a(347)]=s,o[a(478)]=t[a(1125)],o[a(979)]=t,null!=r){let e=Math[a(1159)](r/Y[a(907)]);o[a(926)]=e}else o.nearest_pts=Y[a(895)]();if(null!=i){let e=Math[a(1159)](i/Y[a(907)]);o[a(765)]=e}},parseTimedID3MetadataPayload(t,r,i,n,s){const a=e;J[a(966)](Y[a(1092)],a(608)+n+a(940)+r+", dts="+i+", stream_id="+s)},parseSynchronousKLVMetadataPayload(t,r,i,n,s){const a=e;J[a(966)](Y[a(1092)],a(920)+n+a(940)+r+a(931)+i+", stream_id="+s)},parseAsynchronousKLVMetadataPayload(t,r,i){const n=e;J.debugLog(Y[n(1092)],n(1188)+r+", stream_id="+i)},parseSMPTE2038MetadataPayload(t,r,i,n,s){const a=e;J[a(966)](Y[a(1092)],a(798)+n+a(940)+r+a(931)+i+a(1103)+s)},getNearestTimestampMilliseconds(){const t=e;if(null!=Y[t(795)])return Math[t(1159)](Y.audio_last_sample_pts_);if(null!=Y[t(488)]){return Math[t(1159)](Y.last_pcr_/300/Y[t(907)])}},_preDoDecode(){const t=e,r=Y[t(849)],i=Y[t(1175)];let n=r[t(1179)];i[t(1179)][t(705)]>0&&(n=r[t(1179)][t(957)](i[t(1179)]),n=n[t(1098)](((e,r)=>e[t(765)]-r.dts))),n[t(1039)]((e=>{const r=t,i=new Uint8Array(e.payload);delete e[r(919)],e[r(766)]===Se.video?Y[r(840)]({...e,payload:i}):e.type===Se[r(494)]&&Y[r(954)]({...e,payload:i})})),r[t(1179)]=[],r[t(705)]=0,i[t(1179)]=[],i[t(705)]=0},_doDecodeVideo(t){const r=e,i=new Uint8Array(t[r(919)]);let n=null;n=t[r(509)]?ti(i,t[r(632)]):Ar(i,t.isIFrame),t.isIFrame&&J[r(455)](t.dts);let s=J[r(631)](n,t[r(632)]);J[r(1194)](s,{type:Se.video,ts:t[r(765)],isIFrame:t[r(632)],cts:t[r(1210)]})},_doDecodeAudio(t){const r=e,i=new Uint8Array(t[r(919)]);let n=i;qt(J[r(802)][r(423)])&&(n=J[r(1172)](i)),J.decode(n,{type:Se.audio,ts:t[r(765)],isIFrame:!1,cts:0})}},X=null;Yt()&&(X={TAG_NAME:e(483),_resetInIt(){const t=e;X[t(479)]=null,X[t(380)]=null,X[t(351)]={},X[t(982)]={},X[t(877)]={},X.sourceBuffer=null,X[t(1029)]=null,X[t(706)]=!1,X[t(451)]=!1,X[t(1016)]=!1,X[t(528)]="",X[t(910)]="",X[t(1187)]={},X[t(1083)]={},X[t(420)]=!1,X[t(532)]=0,X[t(686)]=0,X.firstRenderTime=null,X.firstAudioTime=null,X[t(987)]=!1,X[t(1114)]=!1,X[t(1265)]=!1,X[t(1069)]=!1,X.mediaSourceError=!1,X[t(1239)]=null,X[t(1060)]=null,X[t(1022)]=null,X[t(356)]=null,X.prevPayloadBufferSize=0,X[t(819)]=!1,X[t(376)]=null,X[t(902)]=null,X[t(915)]=[],X[t(1046)]=[],X[t(653)]=[],X[t(1124)]=[],X[t(1032)]=[],X[t(434)]=null,X[t(807)]=null,X[t(428)]=null,X[t(1133)]=!1,X[t(442)]={currentTime:0,readyState:0}},init(){const t=e;X[t(903)]=new fo,X._resetInIt(),X.mediaSource=new(self[t(942)]),X.isDecodeFirstIIframe=!!Kt(J[t(802)][t(588)]),X[t(513)](),J.debugLog(X[t(1092)],t(506))},destroy(){const t=e;X[t(1212)](),X[t(571)](),X[t(915)]&&X[t(915)][t(705)]&&(X[t(915)][t(1039)]((e=>e())),X.eventListenList=[]),X[t(695)](),X[t(370)]=null,J[t(966)](X.TAG_NAME,t(781))},getState(){const t=e;return X[t(370)]&&X[t(370)].readyState},isStateOpen(){const t=e;return X[t(1153)]()===Le[t(398)]},isStateClosed(){const t=e;return X.getState()===Le[t(844)]},isStateEnded(){const t=e;return X[t(1153)]()===Le[t(379)]},_bindMediaSourceEvents(){const t=e,{proxy:r}=X[t(903)],i=r(X[t(370)],ze[t(1168)],(()=>{const e=t;J[e(966)](X[e(1092)],e(1168)),X[e(813)]()})),n=r(X[t(370)],ze[t(1117)],(()=>{const e=t;J[e(966)](X[e(1092)],"sourceClose")})),s=r(X.mediaSource,ze[t(761)],(()=>{const e=t;J[e(966)](X[e(1092)],e(761))}));X[t(915)][t(683)](i,n,s)},_onMediaSourceSourceOpen(){const t=e;!X[t(596)]&&(J[t(966)](X[t(1092)],t(873)),X[t(388)]()),!X[t(1029)]&&(J[t(966)](X.TAG_NAME,t(662)),X[t(1246)]()),X[t(958)]()&&X[t(857)]()},decodeVideo(t,r,i,n){const s=e;if(J[s(692)])J[s(452)](X[s(1092)],s(1052));else if(Kt(X[s(706)]))if(i&&t[1]===He[s(464)]){const e=15&t[0];if(e===Ce[s(746)]&&Kt(J[s(802)][s(1215)]))return void X[s(368)](xe.mediaSourceH265NotSupport);X[s(351)][s(1167)]=e,postMessage({cmd:be[s(563)],code:e});const n=new Uint8Array(t);postMessage({cmd:be.videoCodec,buffer:n,codecId:e},[n[s(699)]]),X.hasInit=X._decodeConfigurationRecord(t,r,i,e)}else J[s(452)](X[s(1092)],"decodeVideo has not init , isIframe is "+i+" , payload is "+t[1]+s(572));else if(!X.isDecodeFirstIIframe&&i&&(X[s(353)]=!0),X.isDecodeFirstIIframe){if(i&&0===t[1]){const e=15&t[0];let r={};if(e===Ce.h264){r=gr(t[s(845)](5))}else e===Ce.h265&&(r=Jr(t));const i=X[s(351)];i&&i.width&&i[s(790)]&&r&&r[s(965)]&&r[s(512)]&&(r.codecWidth!==i[s(1161)]||r.codecHeight!==i[s(790)])&&(J[s(452)](X[s(1092)],s(820)+i[s(1161)]+s(540)+i[s(790)]+s(1140)+r[s(965)]+s(708)+r[s(512)]+s(669)),X[s(819)]=!0,X[s(368)](xe.mseWidthOrHeightChange,s(718)+i[s(1161)]+"->"+r.codecWidth+", height: "+i.height+"->"+r.codecHeight))}if(X[s(819)])return void J[s(452)](X.TAG_NAME,s(386));if(jt(t))return void J[s(966)](X.TAG_NAME,s(396));if(t[s(1125)]0&&tpe},_decodeConfigurationRecord(t,r,i,n){const s=e;let a=t[s(845)](5),o={};if(n===Ce.h264?o=gr(a):n===Ce[s(746)]&&(o=Zr(a)),X.videoInfo[s(1161)]=o[s(965)],X[s(351)].height=o[s(512)],0===o[s(965)]&&0===o[s(512)])return J.debugWarn(X[s(1092)],s(1156),JSON[s(408)](o)),X[s(368)](xe[s(502)],s(424)+(0===o[s(965)])+" and height is "+o[s(512)]),!1;const c={id:je[s(1197)],type:s(1197),timescale:1e3,duration:0,avcc:a,codecWidth:o.codecWidth,codecHeight:o.codecHeight,videoType:o.videoType},u=_o[s(1247)](c);X[s(479)]=n===Ce.h264;let l=o.codec;return X[s(528)]=l?s(395)+o[s(1167)]+'"':X[s(479)]?Pe:Re,postMessage({cmd:be[s(1009)],w:o.codecWidth,h:o[s(512)]}),X[s(388)](),X[s(671)](u[s(699)]),X.sequenceNumber=0,X[s(1187)]={},X[s(420)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const i=e,n=t[0]>>4,s=t[0]>>1&1,a=n===De.MP3,o=n===De[i(720)];if(Kt(o||a))return J.debugWarn(X[i(1092)],i(824)+n+i(1229)),X.emitError(xe[i(804)]),!1;const c={id:je.audio,type:i(494),timescale:1e3};let u={};if(dt(t)){if(u=mt(t[i(845)](2)),!u)return!1;c[i(458)]=u[i(956)],c.channelCount=u[i(660)],c[i(545)]=u[i(545)],c[i(777)]=1024/c[i(458)]*c[i(437)]}else{if(!a)return!1;if(u=Co(t),!u)return!1;c[i(458)]=u[i(1174)],c[i(660)]=u[i(660)],c[i(777)]=1152/c.audioSampleRate*c[i(437)]}c[i(1167)]=u[i(1167)],c[i(362)]=0;let l=i(860),h=u[i(1167)],d=null;a&&Kt(J._opt[i(629)])?(l=i(1227),h="",d=new Uint8Array):d=_o[i(1247)](c);let f=c[i(766)]+"/"+l;return h&&h[i(705)]>0&&(f+=i(891)+h),Kt(X.isAudioInitInfo)&&(z=n===De.AAC?s?16:8:0===s?8:16,postMessage({cmd:be[i(1250)],code:n}),postMessage({cmd:be[i(841)],sampleRate:c[i(458)],channels:c[i(660)],depth:z}),X[i(1016)]=!0),X[i(910)]=f,X[i(380)]=o,X._initAudioSourceBuffer(),X[i(768)](d[i(699)]),!0},_initSourceBuffer(){const t=e,{proxy:r}=X[t(903)];if(null===X[t(596)]&&null!==X[t(370)]&&X[t(592)]()&&X.videoMimeType){try{J.debugLog(X.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",X.videoMimeType),X[t(596)]=X[t(370)].addSourceBuffer(X[t(528)])}catch(e){return J[t(635)](X[t(1092)],t(612),e[t(916)],e[t(779)](),e),X.emitError(xe.mseWorkerAddSourceBufferError,e.code),void(X.mediaSourceAddSourceBufferError=!0)}if(X.sourceBuffer){const e=r(X[t(596)],t(1047),(e=>{const r=t;X.mediaSourceBufferError=!0,J[r(635)](X.TAG_NAME,r(476),e,e[r(779)]()),X.emitError(xe[r(698)],e[r(916)])})),i=r(X[t(596)],t(1119),(()=>{const e=t;X[e(1081)]()?X[e(1216)]():X[e(958)]()?X._doAppendSegments():X.hasPendingEos&&(J.debugLog(X[e(1092)],e(1051)),X[e(721)]())}));X[t(915)].push(e,i)}}else J[t(966)](X[t(1092)],"_initSourceBuffer and mseDecoder.isStateOpen is "+X[t(592)]()+t(369)+(null===X[t(479)]))},_initAudioSourceBuffer(){const t=e,{proxy:r}=X.events;if(null===X[t(1029)]&&null!==X[t(370)]&&X.isStateOpen()&&X.audioMimeType){try{J[t(966)](X[t(1092)],"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",X[t(910)]),X[t(571)](),X[t(1029)]=X.mediaSource.addSourceBuffer(X.audioMimeType)}catch(e){return J.debugError(X[t(1092)],t(918),e.code,e.toString(),e),X[t(368)](xe[t(670)],e[t(916)]),void(X[t(1265)]=!0)}if(X[t(1029)]){const e=r(X[t(1029)],"error",(e=>{const r=t;X[r(1069)]=!0,J.debugError(X[r(1092)],r(1204),e[r(916)],e[r(779)](),e),X[r(368)](xe.mseSourceBufferError,e[r(916)])})),i=r(X.audioSourceBuffer,t(1119),(()=>{const e=t;X._hasPendingRemoveRanges()?X[e(1216)]():X._hasPendingSegments()?X[e(857)]():X.hasPendingEos&&(J[e(966)](X.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),X[e(721)]())}));X.eventListenList[t(683)](e,i),null===X[t(428)]&&(X[t(428)]=setTimeout((()=>{const e=t;X._clearAudioNoDataCheckTimeout(),X[e(368)](xe[e(816)])}),1e3))}}else J[t(966)](X[t(1092)],t(447)+X[t(592)]()+t(1273)+X[t(910)])},_decodeVideo(t,r,i,n,s){const a=e;let o=t[a(845)](5),c=o.byteLength;if(0===c)return void J[a(452)](X[a(1092)],a(776));let u=(new Date)[a(1225)](),l=!1;!X[a(1239)]&&(X.prevTimestamp=u,l=!0);const h=u-X[a(1239)];if(X.decodeDiffTimestamp=h,h>1e3&&!l&&J.isPlayer&&J[a(966)](X[a(1092)],"_decodeVideo now time is "+u+a(750)+X[a(1239)]+a(641)+h+" ms"),X.cacheTrack.id&&r>=X.cacheTrack[a(765)]){let e=8+X.cacheTrack[a(583)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[a(400)](_o.types[a(1074)],4),t[a(400)](X[a(1187)][a(979)],8),X.cacheTrack.duration=r-X[a(1187)][a(765)];let i=_o[a(806)](X.cacheTrack,X[a(1187)][a(765)]);X[a(1187)]={};let n=new Uint8Array(i.byteLength+t[a(1125)]);n[a(400)](i,0),n.set(t,i[a(1125)]),X[a(671)](n[a(699)])}else J[a(966)](X.TAG_NAME,a(548)+r+a(1171)+s+a(946)+(X[a(1187)]&&X.cacheTrack[a(765)])),X[a(420)]=!1,X.cacheTrack={};!X[a(1187)]&&(X[a(1187)]={}),X.cacheTrack.id=je[a(1197)],X[a(1187)].sequenceNumber=++X[a(532)],X[a(1187)].size=c,X[a(1187)][a(765)]=r,X.cacheTrack[a(1210)]=n,X[a(1187)][a(801)]=i,X[a(1187)][a(979)]=o,X[a(1187)][a(799)]={isLeading:0,dependsOn:i?2:1,isDependedOn:i?1:0,hasRedundancy:0,isNonSync:i?0:1},X[a(1239)]=(new Date)[a(1225)]()},_decodeAudio(t,r,i){const n=e;let s=X[n(380)]?t.slice(2):t.slice(1),a=s[n(1125)];if(X[n(1083)].id&&r>=X[n(1083)][n(765)]){let e=8+X.cacheAudioTrack.size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[n(400)](_o[n(684)][n(1074)],4),t[n(400)](X[n(1083)].data,8),X.cacheAudioTrack[n(362)]=r-X[n(1083)][n(765)];let i=_o.moof(X[n(1083)],X.cacheAudioTrack[n(765)]);X.cacheAudioTrack={};let s=new Uint8Array(i.byteLength+t[n(1125)]);s[n(400)](i,0),s.set(t,i[n(1125)]),X[n(768)](s[n(699)])}else X[n(1083)]={};!X[n(1083)]&&(X[n(1083)]={}),X[n(1083)].id=je[n(494)],X[n(1083)][n(532)]=++X[n(686)],X.cacheAudioTrack.size=a,X[n(1083)][n(765)]=r,X[n(1083)][n(1210)]=0,X.cacheAudioTrack.data=s,X.cacheAudioTrack[n(799)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;J[r(692)]?J.debugWarn(X[r(1092)],"appendBuffer() player is destroyed"):X[r(1265)]?J.debugWarn(X[r(1092)],r(431)):X[r(987)]?J[r(452)](X[r(1092)],r(809)):X[r(1114)]?J[r(452)](X[r(1092)],"mseDecoder.mediaSourceAppendBufferError is true"):X.mediaSourceBufferError?J[r(452)](X[r(1092)],r(1240)):(X[r(653)][r(683)](t),X[r(596)]&&(J[r(802)][r(1151)]&&X[r(867)]()&&X._doCleanUpSourceBuffer(),Kt(X[r(997)]())&&X.isStateOpen()&&Kt(X._hasPendingRemoveRanges()))?X[r(857)]():X[r(838)]()?(X[r(1069)]=!0,X.emitError(xe.mseSourceBufferError,r(805))):X[r(1068)]()&&(X[r(1069)]=!0,X.emitError(xe.mseSourceBufferError,r(627))))},appendAudioBuffer(t){const r=e;J[r(692)]?J.debugWarn(X.TAG_NAME,"appendAudioBuffer() player is destroyed"):X[r(1265)]?J.debugWarn(X[r(1092)],r(431)):X[r(987)]?J[r(452)](X.TAG_NAME,r(809)):X[r(1114)]?J[r(452)](X[r(1092)],"mseDecoder.mediaSourceAppendBufferError is true"):X[r(1069)]?J[r(452)](X[r(1092)],"mseDecoder.mediaSourceBufferError is true"):(X[r(1032)].push(t),X[r(1029)]&&(J._opt.mseAutoCleanupSourceBuffer&&X[r(867)]()&&X[r(1058)](),Kt(X[r(880)]())&&X[r(592)]()&&Kt(X._hasPendingRemoveRanges()))?X[r(857)]():X.isStateClosed()?(X.mediaSourceBufferError=!0,X[r(368)](xe.mseSourceBufferError,r(805))):X[r(1068)]()&&(X[r(1069)]=!0,X[r(368)](xe.mseSourceBufferError,r(627))))},getSourceBufferUpdating:()=>X.sourceBuffer&&X.sourceBuffer.updating,getAudioSourceBufferUpdating(){const t=e;return X.audioSourceBuffer&&X[t(1029)][t(869)]},stop(){const t=e;X[t(785)](),X[t(886)](),X[t(721)]()},clearUpAllSourceBuffer(){const t=e;if(X[t(596)]){const e=X[t(596)][t(667)];for(let r=0;r0||X[t(1032)][t(705)]>0},getPendingSegmentsLength(){const t=e;return X[t(653)][t(705)]},_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(X[t(838)]()||X[t(1068)]())J[t(966)](X[t(1092)],t(1249));else if(null!==X[t(596)]){if(X[t(549)]()&&null===X[t(1029)])return J[t(966)](X[t(1092)],t(737)),void(null===X[t(807)]&&(X.audioSourceBufferCheckTimeout=setTimeout((()=>{const e=t;X[e(571)](),X[e(368)](xe[e(983)])}),1e3)));if(Kt(X[t(997)]())&&X[t(653)][t(705)]>0){const e=X.pendingSegments.shift();try{X.sourceBuffer.appendBuffer(e)}catch(e){J[t(635)](X.TAG_NAME,t(1014),e[t(916)],e),22===e[t(916)]?(X[t(1212)](),X[t(987)]=!0,X.emitError(xe[t(968)],t(732)+e[t(916)]+t(702)+e[t(1049)])):11===e.code?(X[t(1212)](),X.mediaSourceAppendBufferError=!0,X[t(368)](xe[t(1114)],t(732)+e[t(916)]+t(702)+e[t(1049)])):(X.stop(),X[t(1069)]=!0,X[t(368)](xe.mseSourceBufferError,t(732)+e[t(916)]+t(702)+e[t(1049)]))}}if(Kt(X[t(880)]())&&X[t(1032)][t(705)]>0){const e=X[t(1032)].shift();try{X[t(1029)][t(671)](e)}catch(e){J.debugError(X[t(1092)],t(578),e[t(916)],e),22===e.code?(X[t(1212)](),X.mediaSourceAppendBufferFull=!0,X[t(368)](xe[t(968)],t(732)+e.code+t(702)+e[t(1049)])):11===e[t(916)]?(X[t(1212)](),X[t(1114)]=!0,X[t(368)](xe[t(1114)],"code is "+e[t(916)]+t(702)+e[t(1049)])):(X[t(1212)](),X[t(1069)]=!0,X[t(368)](xe.mseSourceBufferError,e.code,t(732)+e[t(916)]+" , message is "+e[t(1049)]))}}}else J[t(966)](X[t(1092)],"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const t=e,r=X.$video[t(1144)];if(X[t(596)]){const e=X[t(596)][t(667)];let i=!1;for(let n=0;n=J._opt[t(459)]){i=!0;let e=r-J._opt[t(755)];X.pendingRemoveRanges[t(683)]({start:s,end:e})}}else a=J[t(802)][t(459)]){i=!0;let e=r-J[t(802)].mseAutoCleanupMinBackwardDuration;X[t(1124)][t(683)]({start:s,end:e})}}else a0||X[t(1124)].length>0},needInitAudio(){const t=e;return J[t(802)][t(1142)]&&J[t(802)][t(1235)]},_doRemoveRanges(){const t=e;if(X[t(596)]&&Kt(X[t(997)]())){let e=X[t(1046)];for(;e[t(705)]&&Kt(X[t(997)]());){let r=e[t(620)]();try{X[t(596)][t(904)](r.start,r[t(1079)])}catch(e){J[t(452)](X.TAG_NAME,t(1158),e,e[t(779)]())}}}if(X[t(1029)]&&Kt(X[t(880)]())){let e=X[t(1124)];for(;e.length&&Kt(X.getAudioSourceBufferUpdating());){let r=e[t(620)]();try{X[t(1029)][t(904)](r[t(1021)],r[t(1079)])}catch(e){J[t(452)](X.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Kt(J[t(802)][t(1151)]))return!1;const r=X.$video[t(1144)];if(X[t(596)]){let e=X[t(596)].buffered;if(e[t(705)]>=1&&r-e[t(1021)](0)>=J._opt[t(459)])return!0}if(X[t(1029)]){let e=X[t(1029)][t(667)];if(e[t(705)]>=1&&r-e[t(1021)](0)>=J._opt[t(459)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){X[e(807)]&&(clearTimeout(X.audioSourceBufferCheckTimeout),X.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){const t=e;X[t(428)]&&(clearTimeout(X.audioSourceNoDataCheckTimeout),X[t(428)]=null)},getHandle(){const t=e;return X[t(370)][t(1111)]},emitError(t){let r=arguments[e(705)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:be.mseError,value:t,msg:r})}});let J={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:We[e(663)],_opt:G(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){const t=e;J[t(1248)](),h=setInterval((()=>{const e=t;l&&l(0);const r=JSON.stringify({demuxBufferDelay:J[e(1105)](),audioDemuxBufferDelay:J[e(852)](),streamBufferByteLength:J[e(439)](),netBuf:J[e(618)]||0,pushLatestDelay:J.pushLatestDelay||0,latestDelay:J[e(366)],isStreamTsMoreThanLocal:S,wasmDecodeDelay:g-b});postMessage({cmd:be.workerFetch,type:Ae.streamStats,value:r})}),1e3)},stopStreamRateAndStatsInterval:function(){h&&(clearInterval(h),h=null)},useOffscreen:function(){const t=e;return J[t(802)][t(610)]&&typeof OffscreenCanvas!=t(497)},getDelay:function(t,r){const i=e;if(!t||J[i(802)][i(941)]&&!y)return-1;if(r===Se.audio)return J[i(366)];if(J[i(580)]&&J[i(580)]>t)return J.preDelayTimestamp-t>1e3&&J[i(452)](i(1238),i(932)+J[i(580)]+i(1165)+t+i(1263)+(J[i(580)]-t)+i(1138)+J[i(366)]),J[i(580)]=t,J[i(366)];if(J[i(870)]){if(t){const e=Date[i(616)]()-J.startTimestamp,r=t-J.firstTimestamp;e>=r?(S=!1,J.delay=e-r):(S=!0,J[i(366)]=r-e)}}else J[i(870)]=t,J[i(1160)]=Date[i(616)](),J[i(366)]=-1;return J[i(580)]=t,J.delay},getDelayNotUpdateDelay:function(t,r){const i=e;if(!t||J[i(802)][i(941)]&&!y)return-1;if(r===Se[i(494)])return J.pushLatestDelay;if(J[i(580)]&&J[i(580)]-t>1e3)return J.debugWarn(i(1238),i(1067)+J[i(580)]+" > timestamp is "+t+" more than "+(J[i(580)]-t)+"ms and return -1"),-1;if(J[i(870)]){let e=-1;if(t){const r=Date.now()-J[i(1160)],n=t-J[i(870)];r>=n?(S=!1,e=r-n):(S=!0,e=n-r)}return e}return-1},resetDelay:function(){const t=e;J[t(870)]=null,J[t(1160)]=null,J[t(366)]=-1,J[t(825)]=!1},resetAllDelay:function(){const t=e;J[t(625)](),J[t(580)]=null},doDecode:function(t){const r=e;J[r(802)].isEmitSEI&&t[r(766)]===Se.video&&J[r(1205)]&&J.findSei(t.payload,t.ts),J[r(530)]()?t[r(766)]===Se[r(494)]?J._opt[r(1235)]?X[r(951)](t[r(919)],t.ts):t.decoder[r(1194)](t[r(919)],t.ts):t[r(766)]===Se[r(1197)]&&X[r(754)](t[r(919)],t.ts,t[r(632)],t[r(1210)]):J[r(802)][r(1143)]&&J[r(610)]()&&t.type===Se.video&&o[r(1194)]?o[r(1194)](t[r(919)],t.ts,t.cts):t.decoder[r(1194)](t[r(919)],t.ts,t[r(632)],t[r(1210)])},decodeNext(t){const r=e;if(0===s.length)return;const n=t.ts,a=s[0],o=t[r(766)]===Se.video&&jt(t.payload);if(Kt(i))o&&(J[r(966)](r(1238),r(775)+t[r(766)]+r(415)+n+r(644)+a[r(766)]+r(938)+a.ts+r(542)+o),s.shift(),J[r(815)](a));else{const e=a.ts-n,i=a[r(766)]===Se[r(494)]&&t[r(766)]===Se[r(1197)];(e<=20||i||o)&&(J[r(966)](r(1238),"decode data type is "+t[r(766)]+" and\n ts is "+n+r(644)+a[r(766)]+r(938)+a.ts+r(923)+e+r(846)+i+" and isVideoSqeHeader is "+o),s[r(620)](),J[r(815)](a))}},init:function(){const t=e;J[t(966)](t(1238),t(1243)+i+t(984)+n+t(917),JSON[t(408)](J._opt));const r=J._opt[t(1259)]===ie[t(996)],a=J[t(802)][t(1259)]===ie[t(1101)],c=J[t(802)][t(1259)]===ie[t(818)];if(j.init(),J[t(752)]=r,J.isPlayback=a,J[t(441)]=c,J[t(530)]()&&X&&X[t(506)](),o&&J[t(802)][t(1143)]&&J.useOffscreen()&&o[t(506)](),Kt(J.isPlaybackCacheBeforeDecodeForFpsRender())||J[t(441)]){J.debugLog(t(1238),"setInterval()");const e=()=>{const e=t,i=J[e(802)][e(381)]+J[e(802)][e(939)];let n=null;if(s.length){if(J[e(412)])return void J[e(452)](e(1238),e(345)+s[e(705)]);if(J[e(825)]){for(n=s[e(620)](),J.debugWarn(e(1238),e(623)+n[e(632)]+e(534)+J[e(366)]+e(787)+s[e(705)]);!n.isIFrame&&s[e(705)];)n=s.shift();const t=J[e(350)](n.ts,n.type);n[e(632)]&&t<=J[e(1234)]()&&(J[e(966)](e(1238),e(1202)),J[e(825)]=!1,J.doDecode(n),J[e(868)](n))}else if(J.isPlayback||J[e(383)]()||0===J[e(802)][e(381)]||J[e(441)])for(;s[e(705)];)n=s[e(620)](),J.doDecode(n);else if(n=s[0],-1===J[e(559)](n.ts,n.type))J[e(966)]("worker",e(472),n.ts),s[e(620)](),J.doDecode(n),J[e(868)](n);else if(J[e(366)]>i&&r)J[e(515)]()?(J[e(966)](e(1238),e(469)+J[e(366)]+" > maxDelay "+i+e(1279)),J.resetAllDelay(),J[e(825)]=!0,postMessage({cmd:be[e(1093)]})):(s[e(620)](),J[e(815)](n),J.decodeNext(n));else for(;s[e(705)];){if(n=s[0],!(J[e(559)](n.ts,n.type)>J[e(802)][e(381)])){J.delay<0&&J[e(452)](e(1238),"loop() do not decode and delay is "+J[e(366)]+e(676)+s[e(705)]);break}s[e(620)](),J[e(815)](n)}}else-1!==J.delay&&J[e(966)](e(1238),e(1033)),J[e(924)]()};J[t(1241)]=setInterval((()=>{const r=t;let i=(new Date).getTime();!I&&(I=i);const n=i-I;n>100&&J[r(452)](r(1238),r(856)+n),e(),I=(new Date).getTime()}),20)}else J[t(966)]("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Kt(J[t(802)][t(588)])&&(y=!0),J[t(530)]()&&X){const e=X.getHandle();e&&postMessage({cmd:be[t(1173)],mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;J[t(863)]();const r=()=>{const e=t;let r=null;s.length&&(r=s.shift(),J[e(815)](r))};r();const i=Math[t(551)](1e3/(J[t(1053)]*J._opt.playbackRate));J[t(966)](t(1238),t(753)+i+t(1183)+J[t(1053)]+t(1200)+J[t(1221)]+t(679)+J[t(1224)]+t(1023)+J[t(802)][t(836)]),J.stopId=setInterval(r,i)},clearPlaybackCacheLoop:function(){const t=e;J.stopId&&(clearInterval(J.stopId),J[t(1241)]=null)},startPlaybackCacheLoop:function(){J[e(837)]()},close:function(){const t=e;if(J[t(966)](t(1238),t(810)),J.isDestroyed=!0,W(),!u||1!==u[t(1090)]&&2!==u.readyState?u&&J[t(966)]("worker",t(462)+u[t(1090)]):(N=!0,u.close(1e3,t(520))),u&&(u[t(421)]=null,u.onmessage=null,u[t(547)]=null,u[t(1077)]=null),u=null,J[t(1248)](),J[t(1241)]&&(clearInterval(J[t(1241)]),J[t(1241)]=null),J[t(928)]&&(J[t(928)].destroy(),J[t(928)]=null),J[t(874)]&&Kt(J[t(874)][t(998)])&&J[t(874)][t(810)]()[t(1008)]((e=>{const r=t;J[r(966)](r(1238),r(657),e[r(779)](),e)})),J.writableStream=null,Z)try{Z[t(438)]&&Z[t(438)](),Z=null}catch(e){J[t(966)](t(1238),t(960),e[t(779)](),e)}if($)try{$[t(438)]&&$.clear(),$=null}catch(e){J[t(966)](t(1238),t(567),e.toString())}l=null,I=null,S=!1,g=0,b=0,o&&(o.destroy&&o[t(781)](),o=null),X&&(X[t(781)](),X=null),J.firstTimestamp=null,J.startTimestamp=null,J[t(618)]=0,J[t(1053)]=null,J[t(1221)]=null,J.streamVideoFps=null,J.delay=-1,J[t(446)]=-1,J[t(580)]=null,J.dropping=!1,J[t(412)]=!1,J[t(752)]=!0,J[t(344)]=!1,J[t(441)]=!1,J[t(1205)]=!1,J[t(509)]=null,J._opt=G(),J[t(1186)]&&(J[t(1186)][t(781)](),J[t(501)][t(1264)](t(1166),J.onOffscreenCanvasWebglContextLost),J[t(501)][t(1264)]("webglcontextrestored",J[t(985)]),J[t(501)]=null,J[t(1182)]=null,J[t(377)]=null),s=[],a=[],d&&(d[t(810)](),d=null),p=null,m=null,v=!1,_=!1,y=!1,F=!1,P=!1,R=!1,L=null,k=[],C=0,B=0,w=null,A=null,D=null,M=null,z=null,T=0,U=0,x=null,E=null,J.fetchStatus=We[t(663)],O=!0,j[t(781)](),q[t(781)](),K[t(781)](),Y[t(781)](),J.debug=null,J[t(802)]={},postMessage({cmd:be[t(786)]})},pushBuffer:function(t,r){const n=e;if(r[n(766)]===Se[n(494)]&&dt(t)){if(J[n(966)](n(1238),"pushBuffer audio ts is "+r.ts+n(690)),J[n(802)][n(453)]){const e=new Uint8Array(t);postMessage({cmd:be.aacSequenceHeader,buffer:e},[e[n(699)]])}J[n(951)](t,r.ts)}else if(r[n(766)]===Se.video&&r[n(632)]&&jt(t)){if(J.debugLog(n(1238),"pushBuffer video ts is "+r.ts+n(436)),J[n(802)].isRecordTypeFlv){const e=new Uint8Array(t);postMessage({cmd:be[n(665)],buffer:e},[e[n(699)]])}J[n(754)](t,r.ts,r.isIFrame,r[n(1210)])}else{if(J[n(802)][n(1244)])if(J[n(802)][n(453)]){const e=new Uint8Array(t);postMessage({cmd:be.flvBufferData,type:r[n(766)],buffer:e,ts:r.ts},[e[n(699)]])}else if(J[n(802)].recordType===ne[n(860)])if(r[n(766)]===Se[n(1197)]){const e=new Uint8Array(t)[n(845)](5);postMessage({cmd:be[n(599)],buffer:e,isIFrame:r.isIFrame,ts:r.ts,cts:r[n(1210)]},[e[n(699)]])}else if(r.type===Se.audio&&J[n(802)][n(607)]){const e=new Uint8Array(t),i=ft(e)?e.slice(2):e[n(845)](1);postMessage({cmd:be[n(1192)],buffer:i,ts:r.ts},[i[n(699)]])}if(J[n(752)]){if(r[n(766)]===Se[n(1197)]){if(T>0){const e=r.ts-M,t=T+T/2;e>t&&J[n(966)](n(1238),"pushBuffer video and isIFrame is "+r[n(632)]+n(921)+r.ts+", preTs is "+M+n(691)+e+n(525)+T+n(1112)+t+n(945))}if(null!==M&&M>=r.ts&&(J.debugWarn(n(1238),n(827)+r.isIFrame+n(882)+r.ts+n(647)+M+n(463)+t[n(1125)]+n(602)+U),M-r.ts>pe&&(J.debugWarn(n(1238),n(430)+M+n(1190)+r.ts+n(691)+(M-r.ts)+n(1263)+pe+n(450)),J.resetAllDelay(),M=null,T=0),J._opt[n(1015)]&&Kt(r.isIFrame)&&y)){const e=J[n(515)](),t=Kt(J[n(412)]);return J[n(966)](n(1238),n(1013)+e+" and isNotPushDropping is "+t+n(972)),void(e&&t?J[n(834)]():(J.clearBuffer(!0),qt(J[n(802)][n(588)])&&qt(i)&&(J.isPlayUseMSEAndDecoderInWorker()?X.isDecodeFirstIIframe=!1:postMessage({cmd:be.checkFirstIFrame}))))}M>0&&(T=r.ts-M),U=t.byteLength,M=r.ts}if(y){const e=J[n(802)][n(381)]+J[n(802)][n(939)],t=J.getDelayNotUpdateDelay(r.ts,r.type);J.pushLatestDelay=t,J.delay>0&&t>e&&J[n(366)]({type:e[n(766)],ts:e.ts})));J[n(966)](n(1238),n(556)+t+n(1075)+e+n(658)+s[n(705)]+n(975)+JSON[n(408)](r))}const r=J[n(852)]()>0,i=r?60:40;s[n(705)]>=i&&(J.debugWarn(n(1238),n(422)+s[n(705)]+n(1263)+i+n(978)+r+n(900)),J[n(1224)]=25,postMessage({cmd:be[n(700)],value:J.streamVideoFps}),r?(J.streamAudioFps=25,J[n(1053)]=J[n(1224)]+J.streamAudioFps):J[n(1053)]=J[n(1224)],J[n(837)]())}}},getVideoBufferLength(){let e=0;return s.forEach((t=>{t.type===Se.video&&(e+=1)})),e},hasIframeInBufferList(){const t=e;return s[t(1274)]((e=>{const r=t;return e[r(766)]===Se[r(1197)]&&e[r(632)]}))},isAllIframeInBufferList(){const t=e,r=J[t(1105)]();let i=0;return s[t(1039)]((e=>{const r=t;e.type===Se.video&&e[r(632)]&&(i+=1)})),r===i},getNotDroppingDelayTs(){const t=e;return J[t(802)].videoBuffer+J[t(802)][t(939)]/2},getAudioBufferLength(){const t=e;let r=0;return s[t(1039)]((e=>{e[t(766)]===Se.audio&&(r+=1)})),r},getStreamBufferLength(){const t=e;let r=0;return d&&d[t(699)]&&(r=d[t(699)][t(1125)]),J._opt[t(970)]?j.lastBuf&&(r=j.lastBuf.byteLength):J[t(802)][t(740)]?Y[t(955)]&&(r=Y[t(955)][t(1125)]):J[t(802)][t(930)]&&q[t(562)]&&(r=q[t(562)][t(1076)]()),r},fetchStream:function(t,r){const i=e;let n=arguments[i(705)]>2&&void 0!==arguments[2]?arguments[2]:[];if(J.debugLog(i(1238),i(654)+t,i(517),JSON[i(408)](r)),J.isWorkerFetch=!0,r[i(655)]?J[i(802)][i(655)]=!0:r[i(930)]?J[i(802)][i(930)]=!0:r[i(881)]?J[i(802)][i(881)]=!0:r[i(970)]?J[i(802)][i(970)]=!0:r.isTs&&(J[i(802)][i(740)]=!0),l=Ut((e=>{postMessage({cmd:be[i(576)],type:Ae.streamRate,value:e})})),J.init(),J[i(346)](),r[i(930)]&&q[i(427)](),r[i(504)]===te[i(1258)]){r.isFlv&&(d=new ir(J[i(375)]())),c=new AbortController;const e=Object[i(384)]({signal:c[i(736)]},{headers:r.options&&r[i(796)][i(771)]||{}});fetch(t,e)[i(1267)]((e=>{const t=i;if(qt(N))return J[t(966)](t(1238),t(1232)),J.fetchStatus=We[t(663)],void e[t(1091)][t(1030)]();if(!Gt(e))return J[t(452)]("worker",t(943)+e[t(899)]+t(981)+e.ok+t(425)),W(),void postMessage({cmd:be[t(576)],type:xe[t(392)],value:"fetch response status is "+e[t(899)]+t(981)+e.ok});if(postMessage({cmd:be.workerFetch,type:Ae.streamSuccess}),Ot())J.writableStream=new WritableStream({write:e=>{const i=t;return c&&c.signal&&c.signal[i(403)]?(J.debugLog(i(1238),"writableStream write() and abortController.signal.aborted is true so return"),void(J.fetchStatus=We[i(1154)])):qt(N)?(J.debugLog("worker",i(711)),J.fetchStatus=We[i(1154)],void W()):void(typeof e!==i(1226)?(J.fetchStatus=We[i(1064)],l(e[i(1125)]),r[i(655)]?d.write(e):r[i(930)]?J.demuxFmp4(e):r[i(881)]?J.demuxMpeg4(e):r[i(740)]?J[i(526)](e):r[i(970)]&&J[i(925)](e)):J.debugWarn("worker",i(352)+e+i(1002)))},close:()=>{const e=t;J[e(966)](e(1238),e(491)),J[e(1181)]=We[e(1154)],W(),J[e(441)]?J.debugLog("worker",e(696)):J[e(802)][e(842)]?(d&&(d[e(810)](),d=null),postMessage({cmd:be.workerFetch,type:Ae[e(470)],value:re.fetch,msg:e(862)})):postMessage({cmd:be[e(576)],type:Ae[e(758)]})},abort:e=>{const r=t;if(c&&c[r(736)]&&c.signal.aborted)return J[r(966)](r(1238),r(433)),void(J[r(1181)]=We[r(1154)]);d&&(d.close(),d=null),e.name!==Oe[r(901)]?(J[r(966)](r(1238),"writableStream abort() and e is "+e[r(779)]()),W(),postMessage({cmd:be[r(576)],type:xe[r(392)],value:e[r(779)]()})):J[r(966)](r(1238),"writableStream abort() and e.name is AbortError so return")}}),e[t(1091)][t(1228)](J[t(874)])[t(1008)]((e=>{const r=t;e[r(986)]!==r(598)&&J.debugLog(r(1238),r(523),e[r(986)],e[r(779)]())}));else{const i=e[t(1091)].getReader(),n=()=>{const e=t;i[e(724)]()[e(1267)]((t=>{const i=e;let{done:s,value:a}=t;return s?(J.debugLog("worker",i(485)),J[i(1181)]=We[i(1154)],W(),void(J[i(802)].checkStreamEnd?(d&&(d[i(810)](),d=null),postMessage({cmd:be[i(576)],type:Ae[i(470)],value:re[i(1258)],msg:i(862)})):postMessage({cmd:be[i(576)],type:Ae[i(758)]}))):c&&c[i(736)]&&c.signal[i(403)]?(J[i(966)](i(1238),"fetchNext().then() and abortController.signal.aborted is true so return"),void(J.fetchStatus=We[i(1154)])):qt(N)?(J[i(966)]("worker",i(402)),J[i(1181)]=We[i(1154)],void W()):void(typeof a!==i(1226)?(J[i(1181)]=We[i(1064)],l(a.byteLength),r.isFlv?d[i(728)](a):r.isFmp4?J[i(553)](a):r[i(881)]?J.demuxMpeg4(a):r[i(740)]?J[i(526)](a):r.isNakedFlow&&J[i(925)](a),n()):J[i(452)](i(1238),i(725)+a+i(744)))})).catch((t=>{const r=e;if(c&&c[r(736)]&&c[r(736)][r(403)])return J[r(966)](r(1238),"fetchNext().catch() and abortController.signal.aborted is true so return"),void(J.fetchStatus=We[r(1154)]);d&&(d.close(),d=null),t[r(986)]!==Oe.abort?(J.debugLog(r(1238),r(589)+t[r(779)]()),W(),postMessage({cmd:be.workerFetch,type:xe[r(392)],value:t[r(779)]()})):J.debugLog(r(1238),r(1266))}))};n()}}))[i(1008)]((e=>{const t=i;c&&c.signal&&c.signal[t(403)]?J[t(966)](t(1238),"fetch().catch() and abortController.signal.aborted is true so return"):e[t(986)]!==Oe.abort?(J[t(966)](t(1238),t(475)+e.toString()),W(),postMessage({cmd:be[t(576)],type:xe[t(392)],value:e.toString()}),d&&(d[t(810)](),d=null)):J[t(966)]("worker","fetch().catch() and e.name is AbortError so return")}))}else r[i(504)]===te[i(859)]&&(r[i(655)]&&(d=new ir(J[i(375)]())),u=new WebSocket(t,n),u[i(770)]=i(539),u[i(421)]=()=>{const e=i;J[e(966)]("worker",e(1270)),postMessage({cmd:be[e(576)],type:Ae[e(1236)]}),postMessage({cmd:be[e(576)],type:Ae.websocketOpen})},u[i(547)]=e=>{const t=i;J[t(692)]?J[t(966)](t(1238),t(1120)+e.code+t(1027)):f?J[t(966)](t(1238),"fetchStream, WebsocketStream socket close and code is "+e[t(916)]+t(1131)):(J.debugLog(t(1238),t(1120)+e[t(916)]),1006===e[t(916)]&&J[t(635)](t(1238),t(782)+e[t(916)]),qt(N)?J.debugLog(t(1238),"fetchStream, WebsocketStream socket close and requestAbort is true so return"):J[t(802)][t(842)]?(d&&(d[t(810)](),d=null),postMessage({cmd:be[t(576)],type:Ae[t(470)],value:re.websocket,msg:e[t(916)]})):postMessage({cmd:be.workerFetch,type:Ae[t(758)]}))},u[i(1077)]=e=>{const t=i;J[t(635)](t(1238),t(742),e,e[t(779)]()),f=!0,d&&(d[t(810)](),d=null),J.isDestroyed?J[t(966)]("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):qt(N)?J.debugLog(t(1238),t(1201)):postMessage({cmd:be.workerFetch,type:xe[t(888)],value:e[t(677)]?t(1116):t(1007)})},u.onmessage=e=>{const t=i;typeof e[t(979)]!==t(1226)?(l(e[t(979)].byteLength),r[t(655)]?d[t(728)](e[t(979)]):r[t(930)]?J[t(553)](e[t(979)]):r[t(881)]?J.demuxMpeg4(e[t(979)]):J[t(802)][t(970)]?J[t(925)](e[t(979)]):J[t(821)](e[t(979)])):J.debugWarn(t(1238),t(1044)+e[t(979)]+t(772))})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),i=new Uint8Array(r),n=new Uint32Array(r);for(;;){i[3]=0;const e=yield 15,r=e[4];i[0]=e[7],i[1]=e[6],i[2]=e[5];const s=n[0];i[0]=e[10],i[1]=e[9],i[2]=e[8],i[3]=e[11];let a=n[0];const o=(yield s).slice();switch(r){case Ie[t(494)]:if(o.byteLength>0){let e=o;qt(J._opt[t(423)])&&(e=J[t(1172)](o)),J[t(1194)](e,{type:Se[t(494)],ts:a})}else J[t(452)](t(1238),t(1001)+o[t(1125)]+" and return");break;case Ie.video:if(o.byteLength>=6){const e=o[0];if(J._isEnhancedH265Header(e))J[t(963)](o,a);else{const e=15&o[0];let r=o[0]>>4===Ge[t(1147)];const i=e===Ce.h265;if(t(1220),Kt(r)&&qt(Xt(o,i))&&(J[t(966)](t(1238),t(354)),r=!0),r&&jt(o)&&null===J.isHevc){const e=15&o[0];J[t(509)]=e===Ce.h265,L=kt(o,J[t(509)]),J[t(966)](t(1238),t(1127)+J[t(509)]+t(885)+L)}r&&J[t(455)](a),J.isPlayer&&J[t(1108)](a),n[0]=o[4],n[1]=o[3],n[2]=o[2],n[3]=0;let s=n[0],c=J[t(631)](o,r);J[t(1194)](c,{type:Se.video,ts:a,isIFrame:r,cts:s})}}else J[t(452)](t(1238),t(1272)+o[t(1125)]+" and return");break;case Ie[t(594)]:postMessage({cmd:be[t(714)],buffer:o},[o[t(699)]]);break;default:J[t(966)](t(1238),"demuxFlv() type is "+r)}}},decode:function(t,r){const i=e;r.type===Se[i(494)]?J[i(802)][i(1142)]&&(postMessage({cmd:be[i(576)],type:Ae[i(831)],value:t.byteLength}),J[i(752)]?J.pushBuffer(t,{type:r[i(766)],ts:r.ts,cts:r[i(1210)]}):J[i(344)]?J[i(1104)]()||(J[i(848)]()?J[i(906)](t,{type:r[i(766)],ts:r.ts,cts:r.cts}):J[i(906)](t,{type:r[i(766)],ts:r.ts,cts:r[i(1210)]})):J[i(441)]&&J[i(906)](t,{type:r[i(766)],ts:r.ts,cts:r[i(1210)]})):r.type===Se[i(1197)]&&J[i(802)].hasVideo&&(postMessage({cmd:be[i(576)],type:Ae.streamVbps,value:t[i(1125)]}),postMessage({cmd:be.workerFetch,type:Ae[i(756)],value:r.ts}),J[i(752)]?J[i(906)](t,{type:r[i(766)],ts:r.ts,isIFrame:r[i(632)],cts:r[i(1210)]}):J[i(344)]?J[i(1104)]()?r.isIFrame&&J[i(906)](t,{type:r[i(766)],ts:r.ts,cts:r[i(1210)],isIFrame:r[i(632)]}):J.isPlaybackCacheBeforeDecodeForFpsRender()?J.pushBuffer(t,{type:r.type,ts:r.ts,cts:r[i(1210)],isIFrame:r[i(632)]}):J[i(906)](t,{type:r[i(766)],ts:r.ts,cts:r[i(1210)],isIFrame:r[i(632)]}):J[i(441)]&&J[i(906)](t,{type:r[i(766)],ts:r.ts,cts:r.cts,isIFrame:r[i(632)]}))},cryptoPayload:function(t,r){const i=e;let n=t;return J[i(802)][i(445)]?J[i(802)].cryptoIV&&J[i(802)].cryptoIV[i(1125)]>0&&J[i(802)][i(1233)]&&J[i(802)].cryptoKey[i(1125)]>0?n=da(t,J[i(802)][i(1233)],J[i(802)].cryptoIV,J[i(509)]):J.debugError(i(1238),"isM7sCrypto cryptoKey.length is "+(J[i(802)].cryptoKey&&J[i(802)].cryptoKey[i(1125)])+" or cryptoIV.length is "+(J._opt[i(640)]&&J[i(802)][i(640)].byteLength)+i(883)):J[i(802)][i(967)]?J[i(802)][i(448)]?n=J[i(802)][i(640)]&&J[i(802)][i(640)].byteLength>0&&J[i(802)].cryptoKey&&J[i(802)][i(1233)][i(1125)]>0?ic(t,J[i(802)].cryptoKey,J._opt[i(640)],J[i(509)],J[i(802)][i(499)]):ja(t,J[i(802)].sm4CryptoKey,J[i(509)],J[i(802)].isSm4CryptoH265V2):!J[i(802)].sm4CryptoKey&&J[i(635)](i(1238),i(812)):J[i(802)][i(1020)]&&(J[i(802)][i(640)]&&J[i(802)].cryptoIV[i(1125)]>0&&J[i(802)][i(1233)]&&J[i(802)][i(1233)][i(1125)]>0?n=no(t,J._opt[i(1233)],J[i(802)][i(640)],J[i(509)]):J[i(635)]("worker",i(911)+(J[i(802)].cryptoKey&&J[i(802)][i(1233)][i(1125)])+i(413)+(J[i(802)][i(640)]&&J[i(802)][i(640)][i(1125)])+i(883))),n},cryptoPayloadAudio:function(t){const r=e;let i=t;if(J[r(802)][r(445)])if(J[r(802)].cryptoIV&&J[r(802)].cryptoIV[r(1125)]>0&&J[r(802)].cryptoKey&&J[r(802)][r(1233)][r(1125)]>0){t[0]>>4===De.AAC&&(i=fa(t,J[r(802)].cryptoKey,J[r(802)][r(640)]))}else J[r(635)]("worker","isM7sCrypto cryptoKey.length is "+(J._opt[r(1233)]&&J[r(802)][r(1233)][r(1125)])+r(413)+(J[r(802)][r(640)]&&J[r(802)][r(640)][r(1125)])+r(883));return i},setCodecAudio:function(t,r){const i=e,s=t[0]>>4,a=t[0]>>1&1;if(z=s===De[i(720)]?a?16:8:0===a?8:16,Z&&Z.setCodec||!Kt(n))if(dt(t)||s===De[i(974)]||s===De[i(496)]||s===De[i(500)]){J[i(966)](i(1238),i(701)+s+i(1110)+J[i(802)].sampleRate);const e=s===De.AAC?t[i(845)](2):new Uint8Array(0);if(n){if(s===De[i(500)])return void J.debugError("worker",i(533));Z[i(1085)]=J[i(802)][i(956)],Z[i(1194)](t,r)}else Z[i(794)](s,J[i(802)][i(956)],e,J[i(1214)]());s===De[i(720)]&&postMessage({cmd:be[i(905)],buffer:e},[e[i(699)]]),_=!0,s!==De.AAC&&(s===De[i(500)]?(!J[i(928)]&&(J[i(928)]=new eo(J),J[i(928)].on("data",((e,t)=>{Z[i(1194)](e,t)}))),J.mp3Demuxer[i(933)](t[i(845)](1),r)):Z[i(1194)](t[i(845)](1),r));const a=Number("1")||1;setTimeout((()=>{const e=i;J[e(635)](e(1238),e(1148)),J[e(810)](),postMessage({cmd:be.workerEnd})}),60*a*60*1e3)}else J.debugWarn(i(1238),i(564),s);else J.debugError(i(1238),i(624))},decodeAudio:function(t,r){const s=e;if(J.isDestroyed)J[s(966)](s(1238),s(518));else if(J.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())X[s(951)](t,r);else if(qt(i)&&qt(J[s(802)][s(1235)]))postMessage({cmd:be[s(1122)],payload:t,ts:r,cts:r},[t.buffer]);else{const e=t[0]>>4;if(_){if(dt(t))return void J[s(966)](s(1238),s(348));n?Z[s(1194)](t,r):e===De.MP3?J[s(928)][s(933)](t.slice(1),r):Z.decode(e===De[s(720)]?t[s(845)](2):t[s(845)](1),r)}else J[s(1136)](t,r)}},setCodecVideo:function(t,r){const i=e,s=15&t[0];if($&&$[i(794)]||!Kt(n))if(jt(t))if(s===Ce[i(1220)]||s===Ce[i(746)]){J.debugLog(i(1238),"setCodecVideo: init video codec , codecId is "+s);const e=t[i(845)](5);if(s===Ce[i(1220)]&&J._opt[i(601)]){const t=gr(e);if(t[i(965)]>me||t[i(512)]>me)return postMessage({cmd:be[i(529)],value:i(718)+t.codecWidth+" > "+me+i(498)+t[i(512)]+" > "+me}),void J[i(452)]("worker","setCodecVideo: SIMD H264 decode video width is too large, width is "+t[i(965)]+i(541)+t[i(512)])}const r=new Uint8Array(t);v=!0,n?$[i(1194)](t,0):$.setCodec(s,e,J[i(1214)]()),postMessage({cmd:be[i(563)],code:s}),postMessage({cmd:be[i(826)],buffer:r,codecId:s},[r.buffer])}else J[i(452)]("worker",i(575)+s+" is not H264 or H265");else J[i(452)](i(1238),i(689)+s+i(1003)+r+i(409)+t[1]);else J[i(635)](i(1238),i(1088))},decodeVideo:function(t,r,s){const a=e;let o=arguments[a(705)]>3&&void 0!==arguments[3]?arguments[3]:0;if(J[a(692)])J[a(966)](a(1238),a(803));else if(J[a(530)]())X[a(754)](t,r,s,o);else if(qt(i))postMessage({cmd:be[a(546)],payload:t,isIFrame:s,ts:r,cts:o,delay:J.delay},[t.buffer]);else if(v)if(!y&&s&&(y=!0),y){if(s&&jt(t)){const e=15&t[0];let r={};if(e===Ce[a(1220)]){r=gr(t[a(845)](5))}else e===Ce[a(746)]&&(r=Jr(t));r.codecWidth&&r[a(512)]&&p&&m&&(r[a(965)]!==p||r[a(512)]!==m)&&(J.debugWarn(a(1238),a(486)+p+a(540)+m+",\n new width is "+r.codecWidth+a(708)+r[a(512)]+a(411)),P=!0,postMessage({cmd:be.wasmWidthOrHeightChange,value:"width: "+p+"->"+r[a(965)]+a(498)+m+"->"+r[a(512)]}))}if(P)return void J[a(452)](a(1238),a(386));if(R)return void J[a(452)](a(1238),a(466));if(jt(t))return void J[a(966)](a(1238),"decodeVideo and payload is video sequence header so drop this frame");if(t.byteLength0&&void 0!==arguments[0]&&arguments[0];J.debugLog(t(1238),"clearBuffer,bufferList length is "+s[t(705)]+t(865)+r),r&&(s=[]),J[t(752)]&&(J[t(924)](),qt(J[t(802)].checkFirstIFrame)&&(J.dropping=!0,postMessage({cmd:be[t(1093)]}))),qt(J._opt[t(588)])&&Kt(i)&&(y=!1)},dropBuffer$2:function(){const t=e;if(s[t(705)]>0){let e=s[t(788)]((e=>{const r=t;return qt(e[r(632)])&&e[r(766)]===Se[r(1197)]}));if(J.isAllIframeInBufferList())for(let r=0;r=J[t(1234)]()){J[t(966)](t(1238),"dropBuffer$2() isAllIframeInBufferList() is true, and index is "+r+t(847)+n+t(995)+J[t(1234)]()),e=r;break}}if(e>=0){J[t(412)]=!0,postMessage({cmd:be[t(1093)]});const r=s[t(705)];s=s[t(845)](e);const i=s.shift();J[t(924)](),J[t(559)](i.ts,i.type),J[t(815)](i),J[t(412)]=!1,J[t(966)](t(1238),t(1189)+e+t(861)+r+t(558)+s[t(705)]+t(709)+J[t(366)]+" ")}else J[t(412)]=!1}0===s[t(705)]&&(J.isPushDropping=!1)},demuxM7s:function(t){const r=e,i=new DataView(t),n=i.getUint32(1,!1),s=i[r(1251)](0),a=new ArrayBuffer(4),o=new Uint32Array(a);switch(s){case Se.audio:J[r(1194)](new Uint8Array(t,5),{type:Se[r(494)],ts:n});break;case Se[r(1197)]:if(i[r(1125)]>=11){const e=new Uint8Array(t,5),s=e[0];if(J[r(637)](s))J[r(963)](e,n);else{const t=i.getUint8(5)>>4==1;if(t&&(J.calcIframeIntervalTimestamp(n),jt(e)&&null===J[r(509)])){const t=15&e[0];J[r(509)]=t===Ce.h265}J.isPlayer&&J[r(1108)](n),o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0;let s=o[0],a=J[r(631)](e,t);J[r(1194)](a,{type:Se[r(1197)],ts:n,isIFrame:t,cts:s})}}else J[r(452)]("worker",r(672)+t[r(1125)]+r(561))}},demuxNakedFlow:function(t){j[e(933)](t)},demuxFmp4:function(e){q.dispatch(e)},demuxMpeg4:function(t){K[e(933)](t)},demuxTs:function(t){Y[e(933)](t)},_decodeEnhancedH265Video:function(t,r){const i=e,n=t[0],s=48&n,a=15&n,o=t[i(845)](1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[i(355)](o[0]);if(J[i(509)]=Kt(l),a===Ke[i(792)]){if(s===Ye[i(858)]){const e=t[i(845)](5);if(l);else{const n=new Uint8Array(5+e.length);n.set([28,0,0,0,0],0),n[i(400)](e,5),L=kt(t,J.isHevc),J[i(966)](i(1238),i(1256)+J[i(509)]+" and nalUnitSize is "+L),J[i(1194)](n,{type:Se[i(1197)],ts:r,isIFrame:!0,cts:0})}}}else if(a===Ke[i(1152)]){let e=t,n=0;const a=s===Ye.FT_KEY;if(a&&J[i(455)](r),l);else{u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,n=u[0];e=ti(t[i(845)](8),a),e=J[i(631)](e,a),J[i(1194)](e,{type:Se[i(1197)],ts:r,isIFrame:a,cts:n})}}else if(a===Ke.PACKET_TYPE_FRAMESX){const e=s===Ye.FT_KEY;e&&J.calcIframeIntervalTimestamp(r);let n=ti(t[i(845)](5),e);n=J.cryptoPayload(n,e),J.decode(n,{type:Se[i(1197)],ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&qe)===qe},findSei:function(t,r){const i=e;let n=4;Lt(L)&&(n=L);It(t[i(845)](5),n)[i(1039)]((e=>{const t=i,n=J[t(509)]?e[0]>>>1&63:31&e[0],s=J[t(509)]&&(n===Te[t(1094)]||n===Te.prefixSei),a=Kt(J[t(509)])&&n===Me[t(461)];if(s||a){const i=wt(e,J[t(509)]);postMessage({cmd:be[t(1087)],buffer:i[t(919)],ts:r},[i.payload[t(699)]])}}))},calcNetworkDelay:function(t){const r=e;if(!(y&&t>0))return;null===w?(w=t,A=Bt()):ti?n-i:0;J[r(618)]=s,s>J._opt[r(618)]&&J._opt[r(1259)]===ie[r(996)]&&(J[r(452)](r(1238),"calcNetworkDelay now dts:"+t+r(843)+w+r(993)+i+r(715)+n+r(712)+s),postMessage({cmd:be[r(576)],type:Ae[r(1208)],value:s}))},calcIframeIntervalTimestamp:function(t){null===D?D=t:D=J._opt[t(964)]&&!(J[t(802)][t(591)]&&J[t(802)][t(1235)])},isPlayUseMSE:function(){const t=e;return J.isPlayer&&J[t(802)][t(591)]&&qt(i)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return J[t(383)]()&&J[t(802)][t(405)]},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return J[t(530)]()&&J[t(802)][t(1235)]},playbackUpdatePlaybackRate:function(){Kt(J[e(848)]())&&J.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;J[r(635)]("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),t.preventDefault(),F=!0,J[r(1186)][r(781)](),J[r(1186)]=null,J[r(1182)]=null,setTimeout((()=>{const e=r;J[e(1182)]=J[e(501)][e(726)]("webgl"),J[e(1182)]&&J.offscreenCanvasGL.getContextAttributes()[e(1041)]?(J[e(1186)]=Q(J[e(1182)],J._opt[e(953)]),F=!1):J[e(635)](e(1238),"handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;J[r(966)](r(1238),r(973)),t[r(1071)]()},videoInfo:function(t,r,i){const n=e;postMessage({cmd:be[n(563)],code:t}),postMessage({cmd:be[n(1009)],w:r,h:i}),p=r,m=i,J.useOffscreen()&&(J[n(501)]=new OffscreenCanvas(r,i),J[n(1182)]=J.offscreenCanvas[n(726)](n(854)),J[n(1186)]=Q(J[n(1182)],J[n(802)][n(953)]),J[n(501)][n(643)](n(1166),J.onOffscreenCanvasWebglContextLost,!1),J[n(501)].addEventListener(n(544),J.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(t,r,i){const n=e;postMessage({cmd:be[n(1250)],code:t}),postMessage({cmd:be[n(841)],sampleRate:r,channels:i,depth:z}),B=i},yuvData:function(r,i){const n=e;if(J[n(692)])return void J.debugLog(n(1238),n(947));const s=p*m*3/2;let a=t[n(949)][n(429)](r,r+s),o=new Uint8Array(a);if(x=null,b=i,J.useOffscreen())try{if(F)return;J[n(1186)][n(349)](p,m,o);let e=J.offscreenCanvas[n(1017)]();postMessage({cmd:be[n(363)],buffer:e,delay:J[n(366)],ts:i},[e])}catch(e){J[n(635)]("worker",n(719),e,e[n(779)]())}else postMessage({cmd:be.render,output:o,delay:J[n(366)],ts:i},[o[n(699)]])},pcmData:function(t,i,n){const s=e;if(J.isDestroyed)return void J[s(966)]("worker","pcmData, decoder is destroyed and return");let o=i,c=[],u=0,l=J[s(802)][s(1055)];for(let e=0;e<2;e++){let i=r[s(855)][(t>>2)+e]>>2;c[e]=r[s(397)][s(429)](i,i+o)}if(C){if(!(o>=(i=l-C)))return C+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==B&&(a[1]=Float32Array.of(...a[1],...c[1])));k[0]=Float32Array.of(...a[0],...c[0][s(429)](0,i)),2==B&&(k[1]=Float32Array.of(...a[1],...c[1][s(429)](0,i))),postMessage({cmd:be[s(482)],buffer:k,ts:n},k.map((e=>e[s(699)]))),u=i,o-=i}for(C=o;C>=l;C-=l)k[0]=c[0].slice(u,u+=l),2==B&&(k[1]=c[1].slice(u-l,u)),postMessage({cmd:be[s(482)],buffer:k,ts:n},k[s(887)]((e=>e.buffer)));C&&(a[0]=c[0][s(845)](u),2==B&&(a[1]=c[1][s(845)](u))),c=[]},errorInfo:function(t){const r=e;null===x&&(x=Bt());const i=Bt(),n=Dt(E>0?2*E:5e3,1e3,5e3),s=i-x;s>n&&(J[r(452)](r(1238),r(909)+E+r(1149)+s+r(1112)+n+"\n and replay"),R=!0,postMessage({cmd:be[r(639)]}))},sendWebsocketMessage:function(t){const r=e;u?u[r(1090)]===Ee[r(398)]?u[r(565)](t):J[r(635)](r(1238),r(487)):J.debugError(r(1238),"socket is null")},timeEnd(){const t=e;J[t(635)]("worker",t(1148)),J[t(810)](),postMessage({cmd:be[t(401)]})},postStreamToMain(t,r){const i=e;postMessage({cmd:be[i(1191)],type:r,buffer:t},[t[i(699)]])},updatePlaybackIsPause(t){const r=e;J.debugLog(r(1238),"updatePlaybackIsPause, isPause is "+t),qt(t)?J[r(863)]():J[r(894)]()},getBuildTime:()=>de+"-"+fe,validatedFailed(){const t=e;J[t(635)](t(1238),"validatedFailed, please contact the author to get the correct license")},debugLog(t){const r=e;if(J._opt[r(471)]&&J[r(471)]){for(var i=arguments[r(705)],n=new Array(i>1?i-1:0),s=1;s1?i-1:0),s=1;s1?i-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:be.initVideo,w:t,h:r}),J[i(610)]()&&(J[i(501)]=new OffscreenCanvas(t,r),J[i(1182)]=J[i(501)].getContext(i(854)),J[i(1186)]=Q(J[i(1182)],J[i(802)][i(953)]),J.offscreenCanvas[i(643)](i(1166),J[i(713)],!1),J[i(501)].addEventListener(i(544),J[i(985)],!1))},initAudioPlanar:function(t,r){B=t,postMessage({cmd:be[e(841)],sampleRate:r,channels:t,depth:z})},playAudioPlanar:function(t,i,n){const s=e;if(J[s(692)])return void J[s(966)]("worker",s(477));let o=i,c=[],u=0,l=J._opt[s(1055)];for(let e=0;e<2;e++){let i=r.HEAPU32[(t>>2)+e]>>2;c[e]=r[s(397)][s(429)](i,i+o)}if(C){if(!(o>=(i=l-C)))return C+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==B&&(a[1]=Float32Array.of(...a[1],...c[1])));k[0]=Float32Array.of(...a[0],...c[0][s(429)](0,i)),2==B&&(k[1]=Float32Array.of(...a[1],...c[1][s(429)](0,i))),postMessage({cmd:be[s(482)],buffer:k,ts:n},k[s(887)]((e=>e[s(699)]))),u=i,o-=i}for(C=o;C>=l;C-=l)k[0]=c[0][s(845)](u,u+=l),2==B&&(k[1]=c[1].slice(u-l,u)),postMessage({cmd:be[s(482)],buffer:k,ts:n},k.map((e=>e[s(699)])));C&&(a[0]=c[0][s(845)](u),2==B&&(a[1]=c[1].slice(u))),c=[]},draw:function(r,i,n,s){const a=e;if(J[a(692)])return void J.debugLog(a(1238),a(1242));const o=t[a(949)][a(429)](i,i+H),c=t[a(949)].subarray(n,n+V),u=t[a(949)][a(429)](s,s+V),l=new Uint8Array(H+V+V);if(l[a(400)](o),l[a(400)](c,H),l[a(400)](u,H+V),x=null,b=r,J[a(610)]())try{if(F)return;J[a(1186)].renderYUV(p,m,l);let e=J[a(501)][a(1017)]();postMessage({cmd:be[a(363)],buffer:e,delay:J[a(366)],ts:r},[e])}catch(e){J[a(635)](a(1238),a(719),e,e[a(779)]())}else postMessage({cmd:be[a(363)],output:l,delay:J[a(366)],ts:r},[l[a(699)]])}}));let Z=null;r[e(1036)]&&(Z=new(r[e(1036)])(J));let $=null;t[e(633)]&&($=new t.VideoDecoder(J)),postMessage({cmd:be.init}),self[e(407)]=function(t){const r=e;let i=t[r(979)];switch(i[r(503)]){case we[r(506)]:try{J[r(802)]=Object[r(384)](J[r(802)],JSON.parse(i.opt))}catch(e){}J[r(966)](r(1238),r(1252)+we[r(506)],i[r(884)]);break;case we[r(1194)]:J[r(906)](i[r(699)],i[r(796)]);break;case we[r(1150)]:J[r(951)](i[r(699)],i.ts);break;case we[r(1169)]:J[r(754)](i.buffer,i.ts,i[r(632)]);break;case we[r(645)]:J[r(645)](i[r(1196)]);break;case we[r(808)]:J[r(808)](i.url,JSON[r(1162)](i.opt),i.protocols);break;case we[r(810)]:J[r(966)]("worker",r(1252)+we[r(810)],JSON[r(408)](i[r(796)])),i[r(796)]&&Kt(i.options[r(585)])&&(O=i[r(796)][r(585)]),J[r(810)]();break;case we.updateConfig:J[r(966)](r(1238),r(1252)+we[r(680)],i[r(1097)],i[r(1170)]),J._opt[i.key]=i.value,i[r(1097)]===r(836)&&(J[r(1280)](),J.isPlaybackCacheBeforeDecodeForFpsRender()&&J[r(837)]());break;case we.sendWsMessage:J[r(365)](i.message);break;case we[r(390)]:X.$video[r(1144)]=Number(i.message);break;case we[r(976)]:J[r(784)](i[r(1213)])}}}({},{},!0)})); diff --git a/demo/public/pro/js/decoder-pro-hard.js b/demo/public/pro/js/decoder-pro-hard.js index 781e7abc..592c8e85 100644 --- a/demo/public/pro/js/decoder-pro-hard.js +++ b/demo/public/pro/js/decoder-pro-hard.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,s=t(e),n=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,i,s;(s=e).ready=new Promise(((e,r)=>{t=e,i=r})),(s=void 0!==s?s:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var n,a,o,d=Object.assign({},s),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return s.locateFile?s.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href)),n=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=n(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,s)=>{e?r(e):t(i?s.buffer:s)}))},!s.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),s.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",n=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=s.print||console.log.bind(console),w=s.printErr||console.error.bind(console);Object.assign(s,d),d=null,s.arguments&&s.arguments,s.thisProgram&&(l=s.thisProgram),s.quit&&s.quit,s.wasmBinary&&(y=s.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,B,U,x,k,T,C=!1;function D(e,t){e||j(t)}function L(){var e=v.buffer;s.HEAP8=S=new Int8Array(e),s.HEAP16=A=new Int16Array(e),s.HEAPU8=E=new Uint8Array(e),s.HEAPU16=B=new Uint16Array(e),s.HEAP32=U=new Int32Array(e),s.HEAPU32=x=new Uint32Array(e),s.HEAPF32=k=new Float32Array(e),s.HEAPF64=T=new Float64Array(e)}var F=[],I=[],P=[];function M(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)N(s.preRun.shift());se(F)}function R(){s.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,se(I)}function z(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)G(s.postRun.shift());se(P)}function N(e){F.unshift(e)}function O(e){I.unshift(e)}function G(e){P.unshift(e)}var $=0,H=null;function V(e){$++,s.monitorRunDependencies&&s.monitorRunDependencies($)}function W(e){if($--,s.monitorRunDependencies&&s.monitorRunDependencies($),0==$&&H){var t=H;H=null,t()}}function j(e){s.onAbort&&s.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:si};function t(e,t){return ni=e.exports,v=ni.E,L(),Ft=ni.H,O(ni.F),W(),ni}if(V(),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}s.locateFile?Z(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href).href;var se=e=>{for(;e.length>0;)e.shift()(s)};function ne(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){x[this.ptr+4>>2]=e},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(e){x[this.ptr+8>>2]=e},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){x[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return x[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}s.noExitRuntime;var ae=(e,t,r)=>{throw new ne(e).init(t,r),e},oe=e=>(U[oi()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var s=e[i];"."===s?e.splice(i,1):".."===s?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:Te.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),s=r(t.split("/")),n=Math.min(i.length,s.length),a=n,o=0;o{for(var i=t+r,s=t;e[s]&&!(s>=i);)++s;if(s-t>16&&e.buffer&&he)return he.decode(e.subarray(t,s));for(var n="";t>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|o)}else n+=String.fromCharCode(a)}return n},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var s=r,n=r+i-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=n)break;t[r++]=o}else if(o<=2047){if(r+1>=n)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=n)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=n)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-s};function ge(e,t,r){var i=r>0?r:me(e)+1,s=new Array(i),n=_e(e,s,0,s.length);return t&&(s.length=n),s}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,s){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var n=0,a=0;aye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var s=Te.createNode(e,t,r,i);return Te.isDir(s.mode)?(s.node_ops=we.ops_table.dir.node,s.stream_ops=we.ops_table.dir.stream,s.contents={}):Te.isFile(s.mode)?(s.node_ops=we.ops_table.file.node,s.stream_ops=we.ops_table.file.stream,s.usedBytes=0,s.contents=null):Te.isLink(s.mode)?(s.node_ops=we.ops_table.link.node,s.stream_ops=we.ops_table.link.stream):Te.isChrdev(s.mode)&&(s.node_ops=we.ops_table.chrdev.node,s.stream_ops=we.ops_table.chrdev.stream),s.timestamp=Date.now(),e&&(e.contents[t]=s,e.timestamp=s.timestamp),s},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(Te.isDir(e.mode)){var i;try{i=Te.lookupNode(t,r)}catch(e){}if(i)for(var s in i.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var i in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,s){var n=e.node.contents;if(s>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-s,i);if(a>8&&n.subarray)t.set(n.subarray(s,s+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var s=i?"":`al ${e}`;a(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),s&&W()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),s&&V()},Ee=(e,t,r,i,s,n)=>{Te.createDataFile(e,t,r,i,s,n)},Ae=s.preloadPlugins||[],Be=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var s=!1;return Ae.forEach((n=>{s||n.canHandle(t)&&(n.handle(e,t,r,i),s=!0)})),s},Ue=(e,t,r,i,s,n,a,o,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),o||Ee(e,t,r,i,s,d),n&&n(),W()}Be(r,c,u,(()=>{a&&a(),W()}))||u(r)}V(),"string"==typeof r?Se(r,(e=>u(e)),a):u(r)},xe=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},ke=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=Te.root,s="/",n=0;n40)throw new Te.ErrnoError(32)}}return{path:s,node:i}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var i=Te.hashName(e.id,t),s=Te.nameTable[i];s;s=s.name_next){var n=s.name;if(s.parent.id===e.id&&n===t)return s}return Te.lookup(e,t)},createNode(e,t,r,i){var s=new Te.FSNode(e,t,r,i);return Te.hashAddNode(s),s},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=Te.lookupNode(e,t)}catch(e){return e.errno}var s=Te.nodePermissions(e,"wx");if(s)return s;if(r){if(!Te.isDir(i.mode))return 54;if(Te.isRoot(i)||Te.getPath(i)===Te.cwd())return 10}else if(Te.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),i=0;function s(e){return Te.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,s(e));++i>=r.length&&s(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount(e,t,r){var i,s="/"===r,n=!r;if(s&&Te.root)throw new Te.ErrnoError(10);if(!s&&!n){var a=Te.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,Te.isMountpoint(i))throw new Te.ErrnoError(10);if(!Te.isDir(i.mode))throw new Te.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(o);return d.mount=o,o.root=d,s?Te.root=d:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),d},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,i=r.mounted,s=Te.getMounts(i);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;s.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=Te.lookupPath(e,{parent:!0}).node,s=de.basename(e);if(!s||"."===s||".."===s)throw new Te.ErrnoError(28);var n=Te.mayCreate(i,s);if(n)throw new Te.ErrnoError(n);if(!i.node_ops.mknod)throw new Te.ErrnoError(63);return i.node_ops.mknod(i,s,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",s=0;s(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var i=de.basename(t),s=Te.mayCreate(r,i);if(s)throw new Te.ErrnoError(s);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,s=de.dirname(e),n=de.dirname(t),a=de.basename(e),o=de.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,i=Te.lookupPath(t,{parent:!0}).node,!r||!i)throw new Te.ErrnoError(44);if(r.mount!==i.mount)throw new Te.ErrnoError(75);var d,l=Te.lookupNode(r,a),c=ue.relative(e,n);if("."!==c.charAt(0))throw new Te.ErrnoError(28);if("."!==(c=ue.relative(t,s)).charAt(0))throw new Te.ErrnoError(55);try{d=Te.lookupNode(i,o)}catch(e){}if(l!==d){var u=Te.isDir(l.mode),h=Te.mayDelete(r,a,u);if(h)throw new Te.ErrnoError(h);if(h=d?Te.mayDelete(i,o,u):Te.mayCreate(i,o))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(l)||d&&Te.isMountpoint(d))throw new Te.ErrnoError(10);if(i!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(l);try{r.node_ops.rename(l,i,o)}catch(e){throw e}finally{Te.hashAddNode(l)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=Te.lookupNode(t,r),s=Te.mayDelete(t,r,!0);if(s)throw new Te.ErrnoError(s);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(i)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=de.basename(e),i=Te.lookupNode(t,r),s=Te.mayDelete(t,r,!1);if(s)throw new Te.ErrnoError(s);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(i)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return ue.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,i){var s;if(!(s="string"==typeof e?Te.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);s.node_ops.setattr(s,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var i=Te.getStreamChecked(e);Te.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;if(!(r="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var i=Te.nodePermissions(r,"w");if(i)throw new Te.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var i=Te.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?xe(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var n=!1;if(64&t)if(i){if(128&t)throw new Te.ErrnoError(20)}else i=Te.mknod(e,r,0),n=!0;if(!i)throw new Te.ErrnoError(44);if(Te.isChrdev(i.mode)&&(t&=-513),65536&t&&!Te.isDir(i.mode))throw new Te.ErrnoError(54);if(!n){var a=Te.mayOpen(i,t);if(a)throw new Te.ErrnoError(a)}512&t&&!n&&Te.truncate(i,0),t&=-131713;var o=Te.createStream({node:i,path:Te.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!s.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),o},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,s){if(i<0||s<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var n=void 0!==s;if(n){if(!e.seekable)throw new Te.ErrnoError(70)}else s=e.position;var a=e.stream_ops.read(e,t,r,i,s);return n||(e.position+=a),a},write(e,t,r,i,s,n){if(i<0||s<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var a=void 0!==s;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else s=e.position;var o=e.stream_ops.write(e,t,r,i,s,n);return a||(e.position+=o),o},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,s){if(0!=(2&i)&&0==(2&s)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,s)},msync:(e,t,r,i,s)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,s):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=Te.open(e,t.flags),s=Te.stat(e).size,n=new Uint8Array(s);return Te.read(i,n,0,s,0),"utf8"===t.encoding?r=fe(n,0):"binary"===t.encoding&&(r=n),Te.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=Te.open(e,r.flags,r.mode);if("string"==typeof t){var s=new Uint8Array(me(t)+1),n=_e(t,s,0,s.length);Te.write(i,s,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(i,t,0,t.byteLength,void 0,r.canOwn)}Te.close(i)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,i,s)=>i}),Te.mkdev("/dev/null",Te.makedev(1,3)),ve.register(Te.makedev(5,0),ve.default_tty_ops),ve.register(Te.makedev(6,0),ve.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=Te.getStreamChecked(r),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return s.parent=s,s}},t}},{},"/proc/self/fd")},createStandardStreams(){s.stdin?Te.createDevice("/dev","stdin",s.stdin):Te.symlink("/dev/tty","/dev/stdin"),s.stdout?Te.createDevice("/dev","stdout",null,s.stdout):Te.symlink("/dev/tty","/dev/stdout"),s.stderr?Te.createDevice("/dev","stderr",null,s.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),s.stdin=e||s.stdin,s.stdout=t||s.stdout,s.stderr=r||s.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),s=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;s||(a=i);var o=this;o.setDataGetter((e=>{var t=e*a,s=(e+1)*a-1;if(s=Math.min(s,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var s=new XMLHttpRequest;if(s.open("GET",r,!1),i!==a&&s.setRequestHeader("Range","bytes="+e+"-"+t),s.responseType="arraybuffer",s.overrideMimeType&&s.overrideMimeType("text/plain; charset=x-user-defined"),s.send(null),!(s.status>=200&&s.status<300||304===s.status))throw new Error("Couldn't load "+r+". Status: "+s.status);return void 0!==s.response?new Uint8Array(s.response||[]):ge(s.responseText||"",!0)})(t,s)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var d=Te.createFile(e,t,o,i,s);o.contents?d.contents=o.contents:o.url&&(d.contents=null,d.url=o.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,s){var n=e.node.contents;if(s>=n.length)return 0;var a=Math.min(n.length-s,i);if(n.slice)for(var o=0;o{var t=d.stream_ops[e];l[e]=function(){return Te.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,s)=>(Te.forceLoadFile(d),c(e,t,r,i,s)),l.mmap=(e,t,r,i,s)=>{Te.forceLoadFile(d);var n=be();if(!n)throw new Te.ErrnoError(48);return c(e,S,n,t,r),{ptr:n,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;if(i=-100===e?Te.cwd():De.getStreamFromFD(e).path,0==t.length){if(!r)throw new Te.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(Te.getPath(e.node)))return-54;throw e}U[r>>2]=i.dev,U[r+4>>2]=i.mode,x[r+8>>2]=i.nlink,U[r+12>>2]=i.uid,U[r+16>>2]=i.gid,U[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+24>>2]=K[0],U[r+28>>2]=K[1],U[r+32>>2]=4096,U[r+36>>2]=i.blocks;var s=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+40>>2]=K[0],U[r+44>>2]=K[1],x[r+48>>2]=s%1e3*1e3,K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+56>>2]=K[0],U[r+60>>2]=K[1],x[r+64>>2]=n%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(Y=Math.floor(a/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+72>>2]=K[0],U[r+76>>2]=K[1],x[r+80>>2]=a%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+88>>2]=K[0],U[r+92>>2]=K[1],0},doMsync(e,t,r,i,s){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;var n=E.slice(e,e+r);Te.msync(t,n,s,r,i)},varargs:void 0,get(){var e=U[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Le(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((s=De.get())<0)return-28;for(;Te.streams[s];)s++;return Te.createStream(i,s).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var s=De.get();return i.flags|=s,0;case 5:return s=De.getp(),A[s+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Fe(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var s=i?De.get():0;return Te.open(t,r,s).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Ie,Pe,Me,Re=(e,t,r,i,s)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ie=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Ie[E[r++]];return t},Oe={},Ge={},$e={},He=e=>{throw new Pe(e)},Ve=e=>{throw new Me(e)},We=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Ve("Mismatched type converter count");for(var s=0;s{Ge.hasOwnProperty(e)?s[t]=Ge[e]:(n.push(e),Oe.hasOwnProperty(e)||(Oe[e]=[]),Oe[e].push((()=>{s[t]=Ge[e],++a===n.length&&i(s)})))})),0===n.length&&i(s)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Ge.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Ge[e]=t,delete $e[e],Oe.hasOwnProperty(e)){var s=Oe[e];delete Oe[e],s.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},st={},nt=()=>Object.keys(ut).length,at=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},ot=[],dt=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,ot.length&&Ye&&Ye(dt)},ct=()=>{s.getInheritedInstanceCount=nt,s.getLiveInheritedInstances=at,s.flushPendingDeletes=dt,s.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ve("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ve("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function s(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),o=st[a];if(!o)return s.call(this);n=this.isConst?o.constPointerType:o.pointerType;var d=it(t,this.registeredClass,n.registeredClass);return null===d?s.call(this):this.isSmartPointer?pt(n.registeredClass.instancePrototype,{ptrType:n,ptr:d,smartPtrType:this,smartPtr:e}):pt(n.registeredClass.instancePrototype,{ptrType:n,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,s=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)s=i.upcast(s),i=i.baseClass;return t===i&&r===s},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{s.hasOwnProperty(e)?((void 0===r||void 0!==s[e].overloadTable&&void 0!==s[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(s,e,e),s.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),s[e].overloadTable[r]=t):(s[e]=t,void 0!==r&&(s[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function Bt(e,t,r,i,s,n,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=s,this.getActualType=n,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Ut=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function xt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function kt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Ut(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var s=t.clone();r=this.rawShare(r,nr.toHandle((()=>s.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(x[e>>2])}var Dt=()=>{Object.assign(Lt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Lt(e,t,r,i,s,n,a,o,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=s,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,s||void 0!==t.baseClass?this.toWireType=kt:i?(this.toWireType=xt,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Ft,It,Pt=(e,t,r)=>{s.hasOwnProperty(e)||Ve("Replacing nonexistant public symbol"),void 0!==s[e].overloadTable&&void 0!==r?s[e].overloadTable[r]=t:(s[e]=t,s[e].argCount=r)},Mt=(e,t,r)=>{var i=s["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Ft.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),Ot=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Gt=(e,t)=>{var r=(e=Ne(e)).includes("j")?Ot(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},$t=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=di(e),r=Ne(t);return ai(t),r},Vt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Ge[t]||($e[t]?$e[t].forEach(e):(r.push(t),i[t]=!0))})),new It(`${e}: `+r.map(Ht).join([", "]))},Wt=(e,t,r,i,s,n,a,o,d,l,c,u,h)=>{c=Ne(c),n=Gt(s,n),o&&(o=Gt(a,o)),l&&(l=Gt(d,l)),h=Gt(u,h);var f=At(c);wt(f,(function(){Vt(`Cannot construct ${c} due to unbound types`,[i])})),We([e,t,r],i?[i]:[],(function(t){var r,s;t=t[0],s=i?(r=t.registeredClass).instancePrototype:yt.prototype;var a=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Pe("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Pe(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Pe(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(s,{constructor:{value:a}});a.prototype=d;var u=new Bt(c,a,d,h,r,n,o,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Lt(c,u,!0,!1,!1),m=new Lt(c+"*",u,!1,!1,!1),_=new Lt(c+" const*",u,!1,!0,!1);return st[e]={pointerType:m,constPointerType:_},Pt(f,a),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,s=e.apply(i,t);return s instanceof Object?s:i}function Kt(e,t,r,i,s,n){var a=t.length;a<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=o?1:2;l{var a=jt(t,r);s=Gt(i,s),We([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Pe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Vt(`Cannot construct ${e.name} due to unbound types`,a)},We([],a,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,s,n),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,s,n,a,o,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),n=Gt(s,n),We([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function s(){Vt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(s.argCount=r-2,s.className=e.name,c[t]=s):(bt(c,t,i),c[t].overloadTable[r-2]=s),We([],l,(function(s){var o=Kt(i,s,e,n,a,d);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,s.count_emval_handles=ir},nr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(U[e>>2])}var or=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=nr.toValue(e);return rr(e),t},toWireType:(e,t)=>nr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(k[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>B[e>>1];case 4:return r?e=>U[e>>2]:e=>x[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,s)=>{t=Ne(t);var n=e=>e;if(0===i){var a=32-8*r;n=e=>e<>>a}var o=t.includes("unsigned");qe(e,{name:t,fromWireType:n,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function s(e){var t=x[e>>2],r=x[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:s,argPackAdvance:Ke,readValueFromPointer:s},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=x[e>>2],s=e+4;if(r)for(var n=s,a=0;a<=i;++a){var o=s+a;if(a==i||0==E[o]){var d=Ce(n,o-n);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),n=o+1}}else{var l=new Array(i);for(a=0;a>2]=i,r&&s)pr(t,a,i+1);else if(s)for(var o=0;o255&&(ai(a),He("String has UTF-16 code units that do not fit in 8 bits")),E[a+o]=d}else for(o=0;o{for(var r=e,i=r>>1,s=i+t/2;!(i>=s)&&B[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;n+=String.fromCharCode(o)}return n},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,s=(r-=2)<2*e.length?r/2:e.length,n=0;n>1]=a,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var s=U[e+4*r>>2];if(0==s)break;if(++r,s>=65536){var n=s-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(s)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,s=i+r-4,n=0;n=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),U[t>>2]=a,(t+=4)+4>s)break}return U[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,s,n,a,o;r=Ne(r),2===t?(i=gr,s=yr,a=vr,n=()=>B,o=1):4===t&&(i=br,s=wr,a=Sr,n=()=>x,o=2),qe(e,{name:r,fromWireType:e=>{for(var r,s=x[e>>2],a=n(),d=e+4,l=0;l<=s;++l){var c=e+4+l*t;if(l==s||0==a[c>>o]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return ai(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var n=a(i),d=li(4+n+t);return x[d>>2]=n>>o,s(i,d+4,n+t),null!==e&&e.push(ai,d),d},argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction(e){ai(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Br={},Ur=e=>{var t=Br[e];return void 0===t?Ne(e):t},xr=[],kr=(e,t,r,i,s)=>(e=xr[e])(t=nr.toValue(t),t[r=Ur(r)],i,s),Tr=e=>{var t=xr.length;return xr.push(e),t},Cr=(e,t)=>{var r=Ge[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Lr=(e,t,r)=>{var i=[],s=e.toWireType(i,r);return i.length&&(x[t>>2]=nr.toHandle(i)),s},Fr=(e,t,r)=>{var i=Dr(e,t),s=i.shift();e--;var n="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var d=["retType"],l=[s],c=0;ce.name)).join(", ")}) => ${s.name}>`;return Tr(vt(h,u))},Ir=e=>{var t=nr.toValue(e);qt(t),rr(e)},Pr=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},Or=e=>{E.length,Nr()},Gr={},$r=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:$r()};for(var t in Gr)void 0===Gr[t]?delete e[t]:e[t]=Gr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Vr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Wr=(e,t)=>{var r=0;return Hr().forEach(((i,s)=>{var n=t+r;x[e+4*s>>2]=n,Vr(i,n),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();x[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),x[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+8>>2]=K[0],U[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+16>>2]=K[0],U[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var s=0,n=0;n>2],o=x[t+4>>2];t+=8;var d=Te.read(e,S,a,o,i);if(d<0)return-1;if(s+=d,d>2]=n,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,s){var n=Pr(t,r);try{if(isNaN(n))return 61;var a=De.getStreamFromFD(e);return Te.llseek(a,n,i),K=[a.position>>>0,(Y=a.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[s>>2]=K[0],U[s+4>>2]=K[1],a.getdents&&0===n&&0===i&&(a.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var s=0,n=0;n>2],o=x[t+4>>2];t+=8;var d=Te.write(e,S,a,o,i);if(d<0)return-1;s+=d,void 0!==i&&(i+=d)}return s};function Qr(e,t,r,i){try{var s=De.getStreamFromFD(e),n=Jr(s,t,r);return x[i>>2]=n,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=ei,Te.createPreloadedFile=Ue,Te.staticInit(),ze(),Pe=s.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=s.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),It=s.UnboundTypeError=$t(Error,"UnboundTypeError"),Qt(),sr();var ii,si={o:ae,A:Le,s:Fe,q:Re,C:Xe,D:Wt,y:Xt,g:Jt,B:or,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:kr,m:rr,e:Fr,d:Ir,a:Mr,h:Rr,w:zr,r:Or,u:Wr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},ni=ie(),ai=e=>(ai=ni.G)(e),oi=()=>(oi=ni.I)(),di=e=>(di=ni.J)(e),li=e=>(li=ni.K)(e),ci=e=>(ci=ni.M)(e);function ui(){function e(){ii||(ii=!0,s.calledRun=!0,C||(R(),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),z()))}$>0||(M(),$>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),e()}),1)):e()))}if(s.dynCall_viiijj=(e,t,r,i,n,a,o,d)=>(s.dynCall_viiijj=ni.N)(e,t,r,i,n,a,o,d),s.dynCall_jij=(e,t,r,i)=>(s.dynCall_jij=ni.O)(e,t,r,i),s.dynCall_jii=(e,t,r)=>(s.dynCall_jii=ni.P)(e,t,r),s.dynCall_jiji=(e,t,r,i,n)=>(s.dynCall_jiji=ni.Q)(e,t,r,i,n),H=function e(){ii||ui(),ii||(H=e)},s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return ui(),e.ready}),a=1e-6,o="undefined"!=typeof Float32Array?Float32Array:Array;function d(){var e=new o(16);return o!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function l(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var c,u=function(e,t,r,i,s,n,a){var o=1/(t-r),d=1/(i-s),l=1/(n-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*o,e[13]=(s+i)*d,e[14]=(a+n)*l,e[15]=1,e};function h(e,t,r){var i=new o(3);return i[0]=e,i[1]=t,i[2]=r,i}c=new o(3),o!=Float32Array&&(c[0]=0,c[1]=0,c[2]=0);var f=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},s=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const s=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,s);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:s}}(),n=p(),o=p(),c=p(),f=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const n=d();u(n,-1,1,-1,1,.1,100);const p=d();l(p);const m=d();!function(e,t,r,i){var s,n,o,d,c,u,h,f,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),s=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const Wt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],jt=Wt,qt=Wt;function Yt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Kt(e){return Xt(e)&&e[1]===kt}function Xt(e){return e[0]>>4===Ge}const Zt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Jt(e){let t=new Uint8Array(e),r=null,i=0,s=0,n=0,a=null;if(i=s=t[0]>>>3,n=(7&t[0])<<1|t[1]>>>7,n<0||n>=Zt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let o=Zt[n],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(a=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Gt.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?n>=6?(i=5,r=new Array(4),a=n-3):(i=2,r=new Array(2),a=n):-1!==l.indexOf("android")?(i=2,r=new Array(2),a=n):(i=5,a=n,r=new Array(4),n>=6?a=n-3:1===d&&(i=2,r=new Array(2),a=n)),r[0]=i<<3,r[0]|=(15&n)>>>1,r[1]=(15&n)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:o,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+s}}class Qt{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,s=(6&e[r+1])>>>1,n=1&e[r+1],a=(192&e[r+2])>>>6,o=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===n?7:9,u=l-c;r+=c;let h=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=h,0!==i&&1!==i||0!==s)continue;let f=e.subarray(r,r+u);t={},t.audio_object_type=a+1,t.sampling_freq_index=o,t.sampling_frequency=jt[o],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class er{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,s=(31&t[i+1])<<8|t[i+2];if(i+3+s>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let n=new Vt(t.subarray(i+3,i+3+s)),a=null;if(n.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+s),n.destroy();continue}a=e}else{let e=n.readBool();if(e&&n.readBool()){console.error("audioMuxVersionA is Not Supported"),n.destroy();break}if(e&&this.getLATMValue(n),!n.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),n.destroy();break}if(0!==n.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),n.destroy();break}if(0!==n.readBits(4)){console.error("more than 2 numProgram Not Supported"),n.destroy();break}if(0!==n.readBits(3)){console.error("more than 2 numLayer Not Supported"),n.destroy();break}let t=e?this.getLATMValue(n):0,r=n.readBits(5);t-=5;let i=n.readBits(4);t-=4;let s=n.readBits(4);t-=4,n.readBits(3),t-=3,t>0&&n.readBits(t);let o=n.readBits(3);if(0!==o){console.error(`frameLengthType = ${o}. Only frameLengthType = 0 Supported`),n.destroy();break}n.readByte();let d=n.readBool();if(d)if(e)this.getLATMValue(n);else{let e=0;for(;;){e<<=8;let t=n.readBool();if(e+=n.readByte(),!t)break}console.log(e)}n.readBool()&&n.readByte(),a={},a.audio_object_type=r,a.sampling_freq_index=i,a.sampling_frequency=jt[a.sampling_freq_index],a.channel_config=s,a.other_data_present=d}let o=0;for(;;){let e=n.readByte();if(o+=e,255!==e)break}let d=new Uint8Array(o);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function rr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let s,n=0;for(;n+t>>=8),n+=t,s){if(n+s>r)break;i.push(e.subarray(n,n+s)),n+=s}return i}function ir(e,t){const r=e.length;let i=t?2:1,s=0,n=0,a="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)n+=255,i++;if(n+=e[i++],5===s&&r>i+16)for(let t=0;t<16;t++)a+=e[i].toString(16),i++;return{payload:e.subarray(i),type:s,size:n,uuid:a}}function sr(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function nr(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function ar(){return(new Date).getTime()}function or(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function dr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function lr(e){let t=0,r=dr();return i=>{if(s=i,"[object Number]"!==Object.prototype.toString.call(s))return;var s;t+=i;const n=dr(),a=n-r;a>=1e3&&(e(t/a*1e3),r=n,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function cr(e){return null==e}function ur(e){return!cr(e)}function hr(e){return"function"==typeof e}function fr(e){let t=null,r=31&e[0];return r!==We&&r!==je||(t=Ne),t||(r=(126&e[0])>>1,r!==at&&r!==dt&&r!==ct||(t=Oe)),t}function pr(){return"undefined"!=typeof WritableStream}function mr(e){e.close()}function _r(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,s=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,s=2)}if(r)for(let n=s;n=1e3){e[n-1].ts-r.ts<1e3&&(i=n+1)}}}return i}function gr(e){return e.ok&&e.status>=200&&e.status<=299}function yr(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(x)}function vr(e){return e[0]>>4===Tt&&e[1]===kt}function br(e){return!0===e||"true"===e}function wr(e){return!0!==e&&"true"!==e}function Sr(){return!!(Gt.Worker&&Gt.MediaSource&&"canConstructInDedicatedWorker"in Gt.MediaSource&&!0===Gt.MediaSource.canConstructInDedicatedWorker)}function Er(e,t){const r=rr(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===et||r===rt||r===st)||wr(t)&&r===qe)&&(i=!0)})),i}var Ar=function(e,t,r,i){return new(r||(r=Promise))((function(s,n){function a(e){try{d(i.next(e))}catch(e){n(e)}}function o(e){try{d(i.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}d((i=i.apply(e,t||[])).next())}))};const Br=Symbol(32),Ur=Symbol(16),xr=Symbol(8);class kr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Ar(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(Br)}readU16(){return this.read(Ur)}readU8(){return this.read(xr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===Br){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===Ur){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===xr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}kr.U32=Br,kr.U16=Ur,kr.U8=xr;class Tr{constructor(e){this.log=function(t){if(e._opt.debugLevel==S){const n=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),s=1;s1?r-1:0),s=1;s1?i-1:0),n=1;n=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[s]=t[e],s++);return new Uint8Array(i.buffer,0,s)}static parseSPS(e){let t=Cr._ebsp2rbsp(e),r=new Vt(t);r.readByte();let i=r.readByte();r.readByte();let s=r.readByte();r.readUEG();let n=Cr.getProfileString(i),a=Cr.getLevelString(s),o=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(o=r.readUEG(),3===o&&r.readBits(1),o<=3&&(d=l[o]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==o?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,B=2*e,S=A/B}}let U=1;1===b&&1===w||(U=b/w);let x=0,k=0;if(0===o)x=1,k=2-m;else{x=3===o?1:2,k=(1===o?2:1)*(2-m)}let T=16*(f+1),C=16*(p+1)*(2-m);T-=(_+g)*x,C-=(y+v)*k;let D=Math.ceil(T*U);return r.destroy(),r=null,{profile_string:n,level_string:a,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Cr.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:B,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:T,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Cr._ebsp2rbsp(e),s=new Vt(i);s.readByte();let n=s.readByte();s.readByte();let a=s.readByte();s.readUEG();let o=Cr.getProfileString(n),d=Cr.getLevelString(a),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===n||110===n||122===n||244===n||44===n||83===n||86===n||118===n||128===n||138===n||144===n)&&(l=s.readUEG(),3===l&&s.readBits(1),l<=3&&(c=u[l]),h=s.readUEG()+8,f=s.readUEG()+8,s.readBits(1),s.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=s.readByte()<<8|s.readByte(),A=s.readByte()<<8|s.readByte())}if(s.readBool()&&s.readBool(),s.readBool()&&(s.readBits(4),s.readBool()&&s.readBits(24)),s.readBool()&&(s.readUEG(),s.readUEG()),s.readBool()){let e=s.readBits(32),t=s.readBits(32);U=s.readBool(),x=t,k=2*e,B=x/k}}let T=1;1===E&&1===A||(T=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let L=16*(_+1),F=16*(g+1)*(2-y);L-=(v+b)*C,F-=(w+S)*D;let I=Math.ceil(L*T);return s.destroy(),s=null,{codec_mimetype:r,profile_idc:n,level_idc:a,profile_string:o,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:m,chroma_format:c,chroma_format_string:Cr.getChromaFormatString(c),frame_rate:{fixed:U,fps:B,fps_den:k,fps_num:x},sar_ratio:{width:E,height:A},codec_size:{width:L,height:F},present_size:{width:I,height:F}}}static _skipScalingList(e,t){let r=8,i=8,s=0;for(let n=0;n=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Fr(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Ir(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,s=!1;const n=Cr.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(s=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=255,a[5]=225;let o=t.byteLength;a[6]=o>>>8,a[7]=255&o;let d=8;a.set(t,8),d+=o,a[d]=1;let l=r.byteLength;a[d+1]=l>>>8,a[d+2]=255&l,a.set(r,d+3),d+=3+l,s&&(a[d]=252|n.chroma_format_idc,a[d+1]=248|n.bit_depth_luma-8,a[d+2]=248|n.bit_depth_chroma-8,a[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+a.byteLength);return u.set(c,0),u.set(a,c.length),u}function Pr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Mr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Rr(e){return 31&e[0]}function zr(e){return e===Xe}function Nr(e){return!function(e){return e===We||e===je}(e)&&!zr(e)}function Or(e){return e===qe}function Gr(e){if(0===e.length)return!1;const t=Rr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],s=(128&e[r])>>>7,n=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=n,i>=Qe||0===s&&(t={type:i,data:e.subarray(r,n)})}return t}}class Hr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Vr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),s=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[s]=t[e],s++);return new Uint8Array(i.buffer,0,s)},Wr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class jr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),s=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[s]=t[e],s++);return new Uint8Array(i.buffer,0,s)}static parseVPS(e){let t=jr._ebsp2rbsp(e),r=new Vt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=jr._ebsp2rbsp(e),r=new Vt(t);r.readByte(),r.readByte();let i=0,s=0,n=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(I=t[e-1],P=i[e-1]):255===e&&(I=r.readBits(16),P=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),L=r.readBool(),L&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let s=0;s<=o;s++){let s=r.readBool();M=s;let n=!0,a=1;s||(n=r.readBool());let o=!1;if(n?r.readUEG():o=r.readBool(),o||(a=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],s=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=Vr(e),r=new Vt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),a=(e=>{let t=Vr(e),r=new Vt(t);r.readByte(),r.readByte();let i=0,s=0,n=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(I=t[e-1],P=i[e-1]):255===e&&(I=r.readBits(16),P=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),L=r.readBool(),L&&(i+=r.readUEG(),s+=r.readUEG(),n+=r.readUEG(),a+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let s=0;s<=o;s++){let s=r.readBool();M=s;let n=!1,a=1;s||(n=r.readBool());let o=!1;if(n?r.readSEG():o=r.readBool(),o||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=Vr(e),r=new Vt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),s=r.readBool(),n=1;return s&&i?n=0:s?n=3:i&&(n=2),{parallelismType:n}})(r);s=Object.assign(s,n,a,o);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&s.general_profile_space)<<6|(s.general_tier_flag?1:0)<<5|31&s.general_profile_idc,l[2]=s.general_profile_compatibility_flags_1||0,l[3]=s.general_profile_compatibility_flags_2||0,l[4]=s.general_profile_compatibility_flags_3||0,l[5]=s.general_profile_compatibility_flags_4||0,l[6]=s.general_constraint_indicator_flags_1||0,l[7]=s.general_constraint_indicator_flags_2||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s.general_constraint_indicator_flags_4||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s.min_spatial_segmentation_idc)>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s.parallelismType,l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s.bit_depth_luma_minus8,l[18]=248|7&s.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&s.constant_frame_rate)<<6|(7&s.num_temporal_layers)<<3|(s.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|at,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|dt,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|ct,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Zr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Jr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Qr(e){return(126&e[0])>>1}function ei(e){return e===ht}function ti(e){return!function(e){return e>=32&&e<=40}(e)}function ri(e){return e>=16&&e<=21}function ii(e){if(0===e.length)return!1;const t=Qr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,s=(128&e[r])>>>7,n=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=n,0===s&&(t={type:i,data:e.subarray(r,n)})}return t}}class ni{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function ai(e){return parseInt(e)===e}function oi(e){if(!ai(e.length))return!1;for(var t=0;t255)return!1;return!0}function di(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!oi(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(ai(e.length)&&oi(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function li(e){return new Uint8Array(e)}function ci(e,t,r,i,s){null==i&&null==s||(e=e.slice?e.slice(i,s):Array.prototype.slice.call(e,i,s)),t.set(e,r)}var ui,hi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},fi=(ui="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+ui[15&i])}return t.join("")}}),pi={16:10,24:12,32:14},mi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],_i=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],gi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],yi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],vi=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],bi=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],wi=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Si=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Ei=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ai=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Bi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Ui=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],xi=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ki=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Ti=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Ci(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=n[t],this._Kd[e-r][t%4]=n[t];for(var a,o=0,d=s;d>16&255]<<24^_i[a>>8&255]<<16^_i[255&a]<<8^_i[a>>24&255]^mi[o]<<24,o+=1,8!=s)for(t=1;t>8&255]<<8^_i[a>>16&255]<<16^_i[a>>24&255]<<24;for(t=s/2+1;t>2,c=d%4,this._Ke[l][c]=n[t],this._Kd[e-l][c]=n[t++],d++}for(var l=1;l>24&255]^xi[a>>16&255]^ki[a>>8&255]^Ti[255&a]},Di.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Ci(e),s=0;s<4;s++)i[s]^=this._Ke[0][s];for(var n=1;n>24&255]^vi[i[(s+1)%4]>>16&255]^bi[i[(s+2)%4]>>8&255]^wi[255&i[(s+3)%4]]^this._Ke[n][s];i=r.slice()}var a,o=li(16);for(s=0;s<4;s++)a=this._Ke[t][s],o[4*s]=255&(_i[i[s]>>24&255]^a>>24),o[4*s+1]=255&(_i[i[(s+1)%4]>>16&255]^a>>16),o[4*s+2]=255&(_i[i[(s+2)%4]>>8&255]^a>>8),o[4*s+3]=255&(_i[255&i[(s+3)%4]]^a);return o},Di.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Ci(e),s=0;s<4;s++)i[s]^=this._Kd[0][s];for(var n=1;n>24&255]^Ei[i[(s+3)%4]>>16&255]^Ai[i[(s+2)%4]>>8&255]^Bi[255&i[(s+1)%4]]^this._Kd[n][s];i=r.slice()}var a,o=li(16);for(s=0;s<4;s++)a=this._Kd[t][s],o[4*s]=255&(gi[i[s]>>24&255]^a>>24),o[4*s+1]=255&(gi[i[(s+3)%4]>>16&255]^a>>16),o[4*s+2]=255&(gi[i[(s+2)%4]>>8&255]^a>>8),o[4*s+3]=255&(gi[255&i[(s+1)%4]]^a);return o};var Li=function(e){if(!(this instanceof Li))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Di(e)};Li.prototype.encrypt=function(e){if((e=di(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=li(e.length),r=li(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Mi.prototype.setBytes=function(e){if(16!=(e=di(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Mi.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Ri=function(e,t){if(!(this instanceof Ri))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Mi||(t=new Mi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Di(e)};Ri.prototype.encrypt=function(e){for(var t=di(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-n%4*8&255;t[i+n>>>2]|=a<<24-(i+n)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=s,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-s%4*8&255;i.push((n>>>4).toString(16)),i.push((15&n).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>24-s%4*8&255;i.push(String.fromCharCode(n))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=o.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,s=i.words,n=i.sigBytes,a=this.blockSize,o=n/(4*a),d=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*a,c=e.min(4*d,n);if(d){for(var u=0;u>>2]|=e[s]<<24-s%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.WordArray,i=e.enc;function s(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535;i.push(String.fromCharCode(n))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=e.charCodeAt(s)<<16-s%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535);i.push(String.fromCharCode(a))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=s(e.charCodeAt(n)<<16-n%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var s=[],n=0,a=0;a>>6-a%4*2;s[n>>>2]|=o<<24-n%4*8,n++}return t.create(s,n)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var s=[],n=0;n>>2]>>>24-n%4*8&255)<<16|(t[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|t[n+2>>>2]>>>24-(n+2)%4*8&255,o=0;o<4&&n+.75*o>>6*(3-o)&63));var d=i.charAt(64);if(d)for(;s.length%4;)s.push(d);return s.join("")},parse:function(e){var t=e.length,r=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var n=0;n>>6-a%4*2;s[n>>>2]|=o<<24-n%4*8,n++}return t.create(s,n)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,s=t?this._safe_map:this._map;e.clamp();for(var n=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(r[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|r[a+2>>>2]>>>24-(a+2)%4*8&255,d=0;d<4&&a+.75*d>>6*(3-d)&63));var l=s.charAt(64);if(l)for(;n.length%4;)n.push(l);return n.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,s=t?this._safe_map:this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var a=0;a>>24)|4278255360&(s<<24|s>>>8)}var n=this._hash.words,a=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],B=e[t+14],U=e[t+15],x=n[0],k=n[1],T=n[2],C=n[3];x=l(x,k,T,C,a,7,o[0]),C=l(C,x,k,T,d,12,o[1]),T=l(T,C,x,k,f,17,o[2]),k=l(k,T,C,x,p,22,o[3]),x=l(x,k,T,C,m,7,o[4]),C=l(C,x,k,T,_,12,o[5]),T=l(T,C,x,k,g,17,o[6]),k=l(k,T,C,x,y,22,o[7]),x=l(x,k,T,C,v,7,o[8]),C=l(C,x,k,T,b,12,o[9]),T=l(T,C,x,k,w,17,o[10]),k=l(k,T,C,x,S,22,o[11]),x=l(x,k,T,C,E,7,o[12]),C=l(C,x,k,T,A,12,o[13]),T=l(T,C,x,k,B,17,o[14]),x=c(x,k=l(k,T,C,x,U,22,o[15]),T,C,d,5,o[16]),C=c(C,x,k,T,g,9,o[17]),T=c(T,C,x,k,S,14,o[18]),k=c(k,T,C,x,a,20,o[19]),x=c(x,k,T,C,_,5,o[20]),C=c(C,x,k,T,w,9,o[21]),T=c(T,C,x,k,U,14,o[22]),k=c(k,T,C,x,m,20,o[23]),x=c(x,k,T,C,b,5,o[24]),C=c(C,x,k,T,B,9,o[25]),T=c(T,C,x,k,p,14,o[26]),k=c(k,T,C,x,v,20,o[27]),x=c(x,k,T,C,A,5,o[28]),C=c(C,x,k,T,f,9,o[29]),T=c(T,C,x,k,y,14,o[30]),x=u(x,k=c(k,T,C,x,E,20,o[31]),T,C,_,4,o[32]),C=u(C,x,k,T,v,11,o[33]),T=u(T,C,x,k,S,16,o[34]),k=u(k,T,C,x,B,23,o[35]),x=u(x,k,T,C,d,4,o[36]),C=u(C,x,k,T,m,11,o[37]),T=u(T,C,x,k,y,16,o[38]),k=u(k,T,C,x,w,23,o[39]),x=u(x,k,T,C,A,4,o[40]),C=u(C,x,k,T,a,11,o[41]),T=u(T,C,x,k,p,16,o[42]),k=u(k,T,C,x,g,23,o[43]),x=u(x,k,T,C,b,4,o[44]),C=u(C,x,k,T,E,11,o[45]),T=u(T,C,x,k,U,16,o[46]),x=h(x,k=u(k,T,C,x,f,23,o[47]),T,C,a,6,o[48]),C=h(C,x,k,T,y,10,o[49]),T=h(T,C,x,k,B,15,o[50]),k=h(k,T,C,x,_,21,o[51]),x=h(x,k,T,C,E,6,o[52]),C=h(C,x,k,T,p,10,o[53]),T=h(T,C,x,k,w,15,o[54]),k=h(k,T,C,x,d,21,o[55]),x=h(x,k,T,C,v,6,o[56]),C=h(C,x,k,T,U,10,o[57]),T=h(T,C,x,k,g,15,o[58]),k=h(k,T,C,x,A,21,o[59]),x=h(x,k,T,C,m,6,o[60]),C=h(C,x,k,T,S,10,o[61]),T=h(T,C,x,k,f,15,o[62]),k=h(k,T,C,x,b,21,o[63]),n[0]=n[0]+x|0,n[1]=n[1]+k|0,n[2]=n[2]+T|0,n[3]=n[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,s=8*t.sigBytes;r[s>>>5]|=128<<24-s%32;var n=e.floor(i/4294967296),a=i;r[15+(s+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),r[14+(s+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var o=this._hash,d=o.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,s,n,a){var o=e+(t&r|~t&i)+s+a;return(o<>>32-n)+t}function c(e,t,r,i,s,n,a){var o=e+(t&i|r&~i)+s+a;return(o<>>32-n)+t}function u(e,t,r,i,s,n,a){var o=e+(t^r^i)+s+a;return(o<>>32-n)+t}function h(e,t,r,i,s,n,a){var o=e+(r^(t|~i))+s+a;return(o<>>32-n)+t}t.MD5=n._createHelper(d),t.HmacMD5=n._createHmacHelper(d)}(Math),r.MD5)})),Ht((function(e,t){var r,i,s,n,a,o,d,l;e.exports=(i=(r=l=Ni).lib,s=i.WordArray,n=i.Hasher,a=r.algo,o=[],d=a.SHA1=n.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],s=r[1],n=r[2],a=r[3],d=r[4],l=0;l<80;l++){if(l<16)o[l]=0|e[t+l];else{var c=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+o[l];u+=l<20?1518500249+(s&n|~s&a):l<40?1859775393+(s^n^a):l<60?(s&n|s&a|n&a)-1894007588:(s^n^a)-899497514,d=a,a=n,n=s<<30|s>>>2,s=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+n|0,r[3]=r[3]+a|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=n._createHelper(d),r.HmacSHA1=n._createHmacHelper(d),l.SHA1)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib,s=i.WordArray,n=i.Hasher,a=t.algo,o=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,s=0;s<64;)t(i)&&(s<8&&(o[s]=r(e.pow(i,.5))),d[s]=r(e.pow(i,1/3)),s++),i++}();var l=[],c=a.SHA256=n.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],s=r[1],n=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[f-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[f]=m+l[f-7]+g+l[f-16]}var y=i&s^i&n^s&n,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=h+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&c^~o&u)+d[f]+l[f];h=u,u=c,c=o,o=a+b|0,a=n,n=s,s=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+s|0,r[2]=r[2]+n|0,r[3]=r[3]+a|0,r[4]=r[4]+o|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,s=8*t.sigBytes;return r[s>>>5]|=128<<24-s%32,r[14+(s+64>>>9<<4)]=e.floor(i/4294967296),r[15+(s+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=n._createHelper(c),t.HmacSHA256=n._createHmacHelper(c)}(Math),r.SHA256)})),Ht((function(e,t){var r,i,s,n,a,o;e.exports=(i=(r=o=Ni).lib.WordArray,s=r.algo,n=s.SHA256,a=s.SHA224=n.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=n._createHelper(a),r.HmacSHA224=n._createHmacHelper(a),o.SHA224)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.Hasher,i=e.x64,s=i.Word,n=i.WordArray,a=e.algo;function o(){return s.create.apply(s,arguments)}var d=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=o()}();var c=a.SHA512=t.extend({_doReset:function(){this._hash=new n.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],s=r[1],n=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=i.high,p=i.low,m=s.high,_=s.low,g=n.high,y=n.low,v=a.high,b=a.low,w=o.high,S=o.low,E=c.high,A=c.low,B=u.high,U=u.low,x=h.high,k=h.low,T=f,C=p,D=m,L=_,F=g,I=y,P=v,M=b,R=w,z=S,N=E,O=A,G=B,$=U,H=x,V=k,W=0;W<80;W++){var j,q,Y=l[W];if(W<16)q=Y.high=0|e[t+2*W],j=Y.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[W-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,se=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),ne=l[W-7],ae=ne.high,oe=ne.low,de=l[W-16],le=de.high,ce=de.low;q=(q=(q=J+ae+((j=Q+oe)>>>0>>0?1:0))+ie+((j+=se)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),Y.high=q,Y.low=j}var ue,he=R&N^~R&G,fe=z&O^~z&$,pe=T&D^T&F^D&F,me=C&L^C&I^L&I,_e=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),ge=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[W],we=be.high,Se=be.low,Ee=H+ye+((ue=V+ve)>>>0>>0?1:0),Ae=ge+me;H=G,V=$,G=N,$=O,N=R,O=z,R=P+(Ee=(Ee=(Ee=Ee+he+((ue+=fe)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+q+((ue+=j)>>>0>>0?1:0))+((z=M+ue|0)>>>0>>0?1:0)|0,P=F,M=I,F=D,I=L,D=T,L=C,T=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=f+T+(p>>>0>>0?1:0),_=s.low=_+L,s.high=m+D+(_>>>0>>0?1:0),y=n.low=y+I,n.high=g+F+(y>>>0>>0?1:0),b=a.low=b+M,a.high=v+P+(b>>>0>>0?1:0),S=o.low=S+z,o.high=w+R+(S>>>0>>0?1:0),A=c.low=A+O,c.high=E+N+(A>>>0>>0?1:0),U=u.low=U+$,u.high=B+G+(U>>>0<$>>>0?1:0),k=h.low=k+V,h.high=x+H+(k>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),Ht((function(e,t){var r,i,s,n,a,o,d,l;e.exports=(i=(r=l=Ni).x64,s=i.Word,n=i.WordArray,a=r.algo,o=a.SHA512,d=a.SHA384=o.extend({_doReset:function(){this._hash=new n.init([new s.init(3418070365,3238371032),new s.init(1654270250,914150663),new s.init(2438529370,812702999),new s.init(355462360,4144912697),new s.init(1731405415,4290775857),new s.init(2394180231,1750603025),new s.init(3675008525,1694076839),new s.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=o._createHelper(d),r.HmacSHA384=o._createHmacHelper(d),l.SHA384)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib,s=i.WordArray,n=i.Hasher,a=t.x64.Word,o=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var s=1,n=0;n<24;n++){for(var o=0,u=0,h=0;h<7;h++){if(1&s){var f=(1<>>24)|4278255360&(n<<24|n>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(k=r[s]).high^=a,k.low^=n}for(var o=0;o<24;o++){for(var h=0;h<5;h++){for(var f=0,p=0,m=0;m<5;m++)f^=(k=r[h+5*m]).high,p^=k.low;var _=u[h];_.high=f,_.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],v=y.high,b=y.low;for(f=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(k=r[h+5*m]).high^=f,k.low^=p}for(var w=1;w<25;w++){var S=(k=r[w]).high,E=k.low,A=d[w];A<32?(f=S<>>32-A,p=E<>>32-A):(f=E<>>64-A,p=S<>>64-A);var B=u[l[w]];B.high=f,B.low=p}var U=u[0],x=r[0];for(U.high=x.high,U.low=x.low,h=0;h<5;h++)for(m=0;m<5;m++){var k=r[w=h+5*m],T=u[w],C=u[(h+1)%5+5*m],D=u[(h+2)%5+5*m];k.high=T.high^~C.high&D.high,k.low=T.low^~C.low&D.low}k=r[0];var L=c[o];k.high^=L.high,k.low^=L.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,n=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/n)*n>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,o=this.cfg.outputLength/8,d=o/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new s.init(l,o)},clone:function(){for(var e=n.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=n._createHelper(h),t.HmacSHA3=n._createHmacHelper(h)}(Math),r.SHA3)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib,s=i.WordArray,n=i.Hasher,a=t.algo,o=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=s.create([0,1518500249,1859775393,2400959708,2840853838]),h=s.create([1352829926,1548603684,1836072691,2053994217,0]),f=a.RIPEMD160=n.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,s=e[i];e[i]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}var n,a,f,b,w,S,E,A,B,U,x,k=this._hash.words,T=u.words,C=h.words,D=o.words,L=d.words,F=l.words,I=c.words;for(S=n=k[0],E=a=k[1],A=f=k[2],B=b=k[3],U=w=k[4],r=0;r<80;r+=1)x=n+e[t+D[r]]|0,x+=r<16?p(a,f,b)+T[0]:r<32?m(a,f,b)+T[1]:r<48?_(a,f,b)+T[2]:r<64?g(a,f,b)+T[3]:y(a,f,b)+T[4],x=(x=v(x|=0,F[r]))+w|0,n=w,w=b,b=v(f,10),f=a,a=x,x=S+e[t+L[r]]|0,x+=r<16?y(E,A,B)+C[0]:r<32?g(E,A,B)+C[1]:r<48?_(E,A,B)+C[2]:r<64?m(E,A,B)+C[3]:p(E,A,B)+C[4],x=(x=v(x|=0,I[r]))+U|0,S=U,U=B,B=v(A,10),A=E,E=x;x=k[1]+f+B|0,k[1]=k[2]+b+U|0,k[2]=k[3]+w+S|0,k[3]=k[4]+n+E|0,k[4]=k[0]+a+A|0,k[0]=x},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var s=this._hash,n=s.words,a=0;a<5;a++){var o=n[a];n[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return s},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=n._createHelper(f),t.HmacRIPEMD160=n._createHmacHelper(f)}(),r.RIPEMD160)})),Ht((function(e,t){var r,i,s;e.exports=(i=(r=Ni).lib.Base,s=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var n=this._oKey=t.clone(),a=this._iKey=t.clone(),o=n.words,d=a.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=s.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?n.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=n.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=s.extend({cfg:s.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var s=e.createEncryptor(r,i),n=s.finalize(t),a=s.cfg;return m.create({ciphertext:n,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,s){if(i||(i=n.random(8)),s)a=l.create({keySize:t+r,hasher:s}).compute(e,i);else var a=l.create({keySize:t+r}).compute(e,i);var o=n.create(a.words.slice(t),4*r);return a.sigBytes=4*t,m.create({key:a,iv:o,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var s=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=s.iv;var n=g.encrypt.call(this,e,t,s.key,i);return n.mixIn(s),n},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var s=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=s.iv,g.decrypt.call(this,e,t,s.key,i)}})}())})),Ht((function(e,t){var r;e.exports=((r=Ni).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var s,n=this._iv;n?(s=n.slice(0),this._iv=void 0):s=this._prevBlock,i.encryptBlock(s,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var s=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,s=r.blockSize,n=this._iv,a=this._counter;n&&(a=this._counter=n.slice(0),this._iv=void 0),i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var d=0;d>>2]|=s<<24-n%4*8,e.sigBytes+=s},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.Iso10126={pad:function(e,t){var i=4*t,s=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(s-1)).concat(r.lib.WordArray.create([s<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Ht((function(e,t){var r;e.exports=((r=Ni).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(e){var t=r,i=t.lib.CipherParams,s=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(s)},parse:function(e){var t=s.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,s=[],n=[],a=[],o=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,s[r]=p,n[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;a[r]=y<<24|y>>>8,o[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),n=this._keySchedule=[],a=0;a6&&a%r==4&&(l=s[l>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[255&l]):(l=s[(l=l<<8|l>>>24)>>>24]<<24|s[l>>>16&255]<<16|s[l>>>8&255]<<8|s[255&l],l^=p[a/r|0]<<24),n[a]=n[a-r]^l);for(var o=this._invKeySchedule=[],d=0;d>>24]]^u[s[l>>>16&255]]^h[s[l>>>8&255]]^f[s[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,d,l,s)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,n),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,s,n,a,o){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^s[c>>>16&255]^n[u>>>8&255]^a[255&h]^r[f++],_=i[c>>>24]^s[u>>>16&255]^n[h>>>8&255]^a[255&l]^r[f++],g=i[u>>>24]^s[h>>>16&255]^n[l>>>8&255]^a[255&c]^r[f++],y=i[h>>>24]^s[l>>>16&255]^n[c>>>8&255]^a[255&u]^r[f++];l=m,c=_,u=g,h=y}m=(o[l>>>24]<<24|o[c>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^r[f++],_=(o[c>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&l])^r[f++],g=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[l>>>8&255]<<8|o[255&c])^r[f++],y=(o[h>>>24]<<24|o[l>>>16&255]<<16|o[c>>>8&255]<<8|o[255&u])^r[f++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib,i=t.WordArray,s=t.BlockCipher,n=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=n.DES=s.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=a[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var s=this._subKeys=[],n=0;n<16;n++){var l=s[n]=[],c=d[n];for(r=0;r<24;r++)l[r/6|0]|=t[(o[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(o[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=s[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var i=0;i<16;i++){for(var s=r[i],n=this._lBlock,a=this._rBlock,o=0,d=0;d<8;d++)o|=l[d][((a^s[d])&c[d])>>>0];this._lBlock=a,this._rBlock=n^o}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),s=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(s))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=s._createHelper(p)}(),r.TripleDES)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,s=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],s=0;s<256;s++)i[s]=s;s=0;for(var n=0;s<256;s++){var a=s%r,o=t[a>>>2]>>>24-a%4*8&255;n=(n+i[s]+o)%256;var d=i[s];i[s]=i[n],i[n]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var e=this._S,t=this._i,r=this._j,i=0,s=0;s<4;s++){r=(r+e[t=(t+1)%256])%256;var n=e[t];e[t]=e[r],e[r]=n,i|=e[(e[t]+e[r])%256]<<24-8*s}return this._i=t,this._j=r,i}e.RC4=t._createHelper(s);var a=i.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)n.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,s=[],n=[],a=[],o=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)s[r]^=i[r+4&7];if(t){var n=t.words,a=n[0],o=n[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(s[0]^=l,s[1]^=u,s[2]^=c,s[3]^=h,s[4]^=l,s[5]^=u,s[6]^=c,s[7]^=h,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8),e[t+i]^=s[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)n[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],s=65535&i,o=i>>>16,d=((s*s>>>17)+s*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(o)}(),r.Rabbit)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,s=[],n=[],a=[],o=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var s=0;s<4;s++)d.call(this);for(s=0;s<8;s++)i[s]^=r[s+4&7];if(t){var n=t.words,a=n[0],o=n[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=h,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=h,s=0;s<4;s++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)s[i]=16711935&(s[i]<<8|s[i]>>>24)|4278255360&(s[i]<<24|s[i]>>>8),e[t+i]^=s[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)n[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],s=65535&i,o=i>>>16,d=((s*s>>>17)+s*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(o)}(),r.RabbitLegacy)})),Ht((function(e,t){var r;e.exports=(r=Ni,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const s=16,n=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,s=t>>8&255,n=255&t,a=e.sbox[0][r]+e.sbox[1][i];return a^=e.sbox[2][s],a+=e.sbox[3][n],a}function l(e,t,r){let i,n=t,a=r;for(let t=0;t1;--t)n^=e.pbox[t],a=d(e,n)^a,i=n,n=a,a=i;return i=n,n=a,a=i,a^=e.pbox[1],n^=e.pbox[0],{left:n,right:a}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=a[t][r]}let i=0;for(let a=0;a=r&&(i=0);let o=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let n=5;for(;ns)break;let o=e[n+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=e.slice(n+4+2,n+4+a);let s=new zi.ModeOfOperation.ctr(t,new zi.Counter(r));const o=s.decrypt(i);s=null,e.set(o,n+4+2)}n=n+4+a}return e}function $i(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let s=new zi.ModeOfOperation.ctr(t,new zi.Counter(r));const n=s.decrypt(i);return s=null,e.set(n,32),e}Ht((function(e,t){e.exports=Ni}));var Hi=Ht((function(e,t){var r,s,n,a=(r=new Date,s=4,n={setLogLevel:function(e){s=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=s&&console.debug("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=s&&console.info("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=s&&console.warn("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=s&&console.error("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},n);a.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+a.getDurationString(e.start(i))+","+a.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=a;var o=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};o.prototype.getPosition=function(){return this.position},o.prototype.getEndPosition=function(){return this.buffer.byteLength},o.prototype.getLength=function(){return this.buffer.byteLength},o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},o.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},o.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},o.prototype.readUint8=function(){return this.readAnyInt(1,!1)},o.prototype.readUint16=function(){return this.readAnyInt(2,!1)},o.prototype.readUint24=function(){return this.readAnyInt(3,!1)},o.prototype.readUint32=function(){return this.readAnyInt(4,!1)},o.prototype.readUint64=function(){return this.readAnyInt(8,!1)},o.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),s=new Uint8Array(this._buffer);new Uint8Array(i,0,s.length).set(s),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,s){var n=new Uint8Array(e,t,s),a=new Uint8Array(r,i,s);n.set(a)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rs;i--,s++){var n=t[s];t[s]=t[i],t[i]=n}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,s,n)}}t&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,s,n,o=[],d="";for(i=0,s=0,t=0;t0&&(d+=n.end-1+"]");var l=e?a.info:a.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+s+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,s=null,n=-1;for(i=!0===e?0:this.bufferIndex;i=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+n),n):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,s=void 0!==e?e:this.bufferIndex;if(r=this.buffers[s],this.buffers.length>s+1)for(t=s+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){h.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){h.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){h.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(a.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):0!==l&&o+l>e.getEndPosition()?(e.seek(o),a.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:o}:(h[c+"Box"]?i=new h[c+"Box"](l):"uuid"!==c?(a.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[n]?i=new h.UUIDBoxes[n](l):(a.warn("BoxParser","Unknown uuid type: '"+n+"'"),(i=new h.Box(c,l)).uuid=n,i.has_unparsed_data=!0),i.hdr_size=d,i.start=o,i.write===h.Box.prototype.write&&"mdat"!==i.type&&(a.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(s=e.getPosition()-(i.start+i.size))<0?(a.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-s+" bytes), seeking forward"),e.seek(i.start+i.size)):s>0&&(a.error("BoxParser","Parsing of box '"+u+"' read "+s+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:h.OK,box:i,size:i.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)a.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void a.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else a.error("av1C reserved_1 parsing problem");else a.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=s>>1&31,i.bsmod=(1&s)<<4|n>>4&15,i.acmod=n>>1&7,i.lfeon=1&n,i.num_dep_sub=a>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&a)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),s=Math.min(127&i,r.length-1);if(s?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[s]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,r,i,s;this.configurationVersion=e.readUint8(),s=e.readUint8(),this.general_profile_space=s>>6,this.general_tier_flag=(32&s)>>5,this.general_profile_idc=31&s,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),s=e.readUint8(),this.constantFrameRate=s>>6,this.numTemporalLayers=(13&s)>>3,this.temporalIdNested=(4&s)>>2,this.lengthSizeMinusOne=3&s,this.nalu_arrays=[];var n=e.readUint8();for(t=0;t>7,a.nalu_type=63&s;var o=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),a.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?a.property_index=(127&n)<<8|e.readUint8():a.property_index=127&n}}})),h.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&s,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&s,i.subsegment_duration=e.readUint32(),s=e.readUint32(),i.starts_with_SAP=s>>31&1,i.SAP_type=s>>28&7,i.SAP_delta_time=268435455&s}})),h.SingleItemTypeReferenceBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var a=i.extract_bits(1);this.ptl_sublayer_present_mask|=a<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var s=!1,n="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||s)&&(n="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+n,s=!0);t+=n}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,s=[],n=0;for(n|=this.vvcC.ptl_frame_only_constraint<<7,n|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,s.push(n),n&&(i=e),n=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",o=0,d=0;for(e=0;e<=i;++e)for(o=o<<8|s[e],d+=8;d>=5;){r+=a[o>>d-5&31],o&=(1<<(d-=5))-1}d&&(r+=a[31&(o<<=5-d)])}}t+=r}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(r?"."+r:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof h.Box||t[r]instanceof h.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var s={};this.extractedTracks.push(s),s.id=e,s.user=t,s.trak=i,i.nextSample=0,s.nb_samples=1e3,s.samples=[],r&&r.nbSamples&&(s.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&a.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,s,n,a={},o=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=null!=this.moov.mvex,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=null!=this.moov.iods,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(o+1e3*this.moov.mvhd.creation_time),a.modified=new Date(o+1e3*this.moov.mvhd.modification_time),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],e=0;e0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+n.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(n.id,n.user,n.samples),n.samples=[],n!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,s=this.getTrackById(e);s.lastValidSample||(s.lastValidSample=0);for(var n=s.lastValidSample;ne*s.timescale){l=i-1;break}t&&s.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return n=r.samples[l].offset+r.samples[l].alreadyRead,a.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+a.getDurationString(e,o)+" and offset: "+n),{offset:n,time:e/o}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,s,n=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(s=0;sthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){a=d;break}switch(a){case"Visual":if(s.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),n.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new o(t.avcDecoderConfigRecord)),n.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new o(t.hevcDecoderConfigRecord)),n.addBox(f)}break;case"Audio":s.add("smhd").set("balance",t.balance||0),n.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":s.add("hmhd");break;case"Subtitle":if(s.add("sthd"),"stpp"===t.type)n.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:s.add("nmhd")}t.description&&n.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){n.addBox(e)})),s.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=s.add("stbl");return p.add("stsd").addEntry(n),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},s={},n=this.getTrackById(e);if(null!==n){s.number=n.samples.length,s.track_id=n.tkhd.track_id,s.timescale=n.mdia.mdhd.timescale,s.description_index=i.sample_description_index?i.sample_description_index-1:0,s.description=n.mdia.minf.stbl.stsd.entries[s.description_index],s.data=t,s.size=t.byteLength,s.alreadyRead=s.size,s.duration=i.duration||1,s.cts=i.cts||0,s.dts=i.dts||0,s.is_sync=i.is_sync||!1,s.is_leading=i.is_leading||0,s.depends_on=i.depends_on||0,s.is_depended_on=i.is_depended_on||0,s.has_redundancy=i.has_redundancy||0,s.degradation_priority=i.degradation_priority||0,s.offset=0,s.subsamples=i.subsamples,n.samples.push(s),n.samples_size+=s.size,n.samples_duration+=s.duration,void 0===n.first_dts&&(n.first_dts=i.dts),this.processSamples();var a=this.createSingleSampleMoof(s);return this.addBox(a),a.computeSize(),a.trafs[0].truns[0].data_offset=a.size+8,this.add("mdat").data=new Uint8Array(t),s}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new h.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),s=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(s.first_dts||0)),i.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,s,n;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=s[a].grouping_type+"/0",(o=new l(s[a].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=o))}else for(a=0;a=2&&(d=i[a].grouping_type+"/0",o=new l(i[a].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=o))},g.setSampleGroupProperties=function(e,t,r,i){var s,n;for(s in t.sample_groups=[],i){var a;if(t.sample_groups[s]={},t.sample_groups[s].grouping_type=i[s].grouping_type,t.sample_groups[s].grouping_type_parameter=i[s].grouping_type_parameter,r>=i[s].last_sample_in_run&&(i[s].last_sample_in_run<0&&(i[s].last_sample_in_run=0),i[s].entry_index++,i[s].entry_index<=i[s].sbgp.entries.length-1&&(i[s].last_sample_in_run+=i[s].sbgp.entries[i[s].entry_index].sample_count)),i[s].entry_index<=i[s].sbgp.entries.length-1?t.sample_groups[s].group_description_index=i[s].sbgp.entries[i[s].entry_index].group_description_index:t.sample_groups[s].group_description_index=-1,0!==t.sample_groups[s].group_description_index)a=i[s].fragment_description?i[s].fragment_description:i[s].description,t.sample_groups[s].group_description_index>0?(n=t.sample_groups[s].group_description_index>65535?(t.sample_groups[s].group_description_index>>16)-1:t.sample_groups[s].group_description_index-1,a&&n>=0&&(t.sample_groups[s].description=a.entries[n])):a&&a.version>=2&&a.default_group_description_index>0&&(t.sample_groups[s].description=a.entries[a.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=n.sample_counts[b]),t>0?(e.samples[t-1].duration=n.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,U.dts=e.samples[t-1].dts+e.samples[t-1].duration):U.dts=0,a?(t>=w&&(S++,w<0&&(w=0),w+=a.sample_counts[S]),U.cts=e.samples[t].dts+a.sample_offsets[S]):U.cts=U.dts,o?(t==o.sample_numbers[E]-1?(U.is_sync=!0,E++):(U.is_sync=!1,U.degradation_priority=0),l&&l.entries[A].sample_delta+B==t+1&&(U.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta,A++)):U.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,U,U.number),U.degradation_priority=h?h.priority[t]:0,l&&l.entries[A].sample_delta+B==t&&(U.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,U,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,s,n,a,o,d,l,c,u,f,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=a,_.flags&h.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&h.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&h.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:o,p.offset=0===t&&0===r?b?w+_.data_offset:w:o,o=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var n=(r=this.stream.buffers[s]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=n)return a.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===n)return null;a.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+n+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,n),i.alreadyRead+=n,r.usedBytes+=n,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=n.ipro.protections[n.iinf.item_infos[e].protection_index-1]),n.iinf.item_infos[e].item_type?r.type=n.iinf.item_infos[e].item_type:r.type="mime",r.content_type=n.iinf.item_infos[e].content_type,r.content_encoding=n.iinf.item_infos[e].content_encoding;if(n.grpl)for(e=0;e0&&h.property_index-1-1))return null;var o=(t=this.stream.buffers[n]).byteLength-(s.offset+s.alreadyRead-t.fileStart);if(!(s.length-s.alreadyRead<=o))return a.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-t.fileStart)+" read size: "+o+" full extent size: "+s.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,s.offset+s.alreadyRead-t.fileStart,o),s.alreadyRead+=o,r.alreadyRead+=o,t.usedBytes+=o,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-t.fileStart)+" read size: "+(s.length-s.alreadyRead)+" full extent size: "+s.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,s.offset+s.alreadyRead-t.fileStart,s.length-s.alreadyRead),t.usedBytes+=s.length-s.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=s.length-s.alreadyRead,s.alreadyRead=s.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function Vi(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}Hi.Log,Hi.MP4BoxStream,Hi.DataStream,Hi.MultiBufferStream,Hi.MPEG4DescriptorParser,Hi.BoxParser,Hi.XMLSubtitlein4Parser,Hi.Textin4Parser,Hi.ISOFile,Hi.createFile;const Wi=16,ji=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],qi=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Yi(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Xi(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Zi(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function Ji(e,t){const r=31&t;return e<>>32-r}function Qi(e){return(255&ji[e>>>24&255])<<24|(255&ji[e>>>16&255])<<16|(255&ji[e>>>8&255])<<8|255&ji[255&e]}function es(e){return e^Ji(e,2)^Ji(e,10)^Ji(e,18)^Ji(e,24)}function ts(e){return e^Ji(e,13)^Ji(e,23)}function rs(e,t,r){const i=new Array(4),s=new Array(4);for(let t=0;t<4;t++)s[0]=255&e[4*t],s[1]=255&e[4*t+1],s[2]=255&e[4*t+2],s[3]=255&e[4*t+3],i[t]=s[0]<<24|s[1]<<16|s[2]<<8|s[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=es(Qi(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=es(Qi(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=es(Qi(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=es(Qi(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function is(e,t,r){const i=new Array(4),s=new Array(4);for(let t=0;t<4;t++)s[0]=255&e[0+4*t],s[1]=255&e[1+4*t],s[2]=255&e[2+4*t],s[3]=255&e[3+4*t],i[t]=s[0]<<24|s[1]<<16|s[2]<<8|s[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^qi[r+0],t[r+0]=i[0]^=ts(Qi(e)),e=i[2]^i[3]^i[0]^qi[r+1],t[r+1]=i[1]^=ts(Qi(e)),e=i[3]^i[0]^i[1]^qi[r+2],t[r+2]=i[2]^=ts(Qi(e)),e=i[0]^i[1]^i[2]^qi[r+3],t[r+3]=i[3]^=ts(Qi(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function ss(e,t,r){let{padding:i="pkcs#7",mode:s,iv:n=[],output:a="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===s&&("string"==typeof n&&(n=Yi(n)),16!==n.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Yi(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Xi(e):Yi(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=Wi-e.length%Wi;for(let r=0;r=Wi;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let n=new Uint8Array(e.slice(0,5)),a=5;for(;as){const t=new Uint8Array(n.length+e.length-a);t.set(n,0),t.set(e.slice(a),n.length),n=t;break}let l=e[a+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=ss(e.slice(a+4+u,a+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const s=new Uint8Array(u);s.set(e.slice(a+4,a+4+u),0);const o=sr(Vi(s,new Uint8Array(r))),l=new Uint8Array(n.length+o.length);l.set(n,0),l.set(o,n.length),n=l}else{const t=e.slice(a+4,a+4+d),r=new Uint8Array(n.length+4+t.length);r.set(n,0),r.set(o,n.length),r.set(t,n.length+4),n=r}a=a+4+d}return n}const os={init:0,findFirstStartCode:1,findSecondStartCode:2};class ds extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function s(){i.off(e,s);for(var n=arguments.length,a=new Array(n),o=0;o1?r-1:0),s=1;s{delete r[e]})),void delete this.e;const i=r[e],s=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=os.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==os.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=os.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==os.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=os.findFirstStartCode}}}}function ls(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let n=5;for(;ns)break;let o=e[n+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=ls(e.slice(n+4,n+4+a),t,r);e.set(i,n+4)}n=n+4+a}return e}function hs(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let s=0;return t.forEach((e=>{i.set(e,s),s+=e.byteLength})),i}class fs{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const s=()=>{hr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(s),s}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class ps{static init(){ps.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in ps.types)ps.types.hasOwnProperty(e)&&(ps.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=ps.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),s=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let n=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return ps.box(ps.types.trak,ps.tkhd(e),ps.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,s=e.presentHeight;return ps.box(ps.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static mdia(e){return ps.box(ps.types.mdia,ps.mdhd(e),ps.hdlr(e),ps.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return ps.box(ps.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?ps.constants.HDLR_AUDIO:ps.constants.HDLR_VIDEO,ps.box(ps.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?ps.box(ps.types.smhd,ps.constants.SMHD):ps.box(ps.types.vmhd,ps.constants.VMHD),ps.box(ps.types.minf,t,ps.dinf(),ps.stbl(e))}static dinf(){return ps.box(ps.types.dinf,ps.box(ps.types.dref,ps.constants.DREF))}static stbl(e){return ps.box(ps.types.stbl,ps.stsd(e),ps.box(ps.types.stts,ps.constants.STTS),ps.box(ps.types.stsc,ps.constants.STSC),ps.box(ps.types.stsz,ps.constants.STSZ),ps.box(ps.types.stco,ps.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.mp3(e)):ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.mp4a(e)):"avc"===e.videoType?ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.avc1(e)):ps.box(ps.types.stsd,ps.constants.STSD_PREFIX,ps.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return ps.box(ps.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return ps.box(ps.types.mp4a,i,ps.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return ps.box(ps.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return ps.box(ps.types.avc1,s,ps.box(ps.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return ps.box(ps.types.hvc1,s,ps.box(ps.types.hvcC,t))}static mvex(e){return ps.box(ps.types.mvex,ps.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return ps.box(ps.types.trex,r)}static moof(e,t){return ps.box(ps.types.moof,ps.mfhd(e.sequenceNumber),ps.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return ps.box(ps.types.mfhd,t)}static traf(e,t){let r=e.id,i=ps.box(ps.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),s=ps.box(ps.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),n=ps.sdtp(e),a=ps.trun(e,n.byteLength+16+16+8+16+8+8);return ps.box(ps.types.traf,i,s,a,n)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,ps.box(ps.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,s=e.size,n=e.flags,a=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n.isLeading<<2|n.dependsOn,n.isDependedOn<<6|n.hasRedundancy<<4|n.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),ps.box(ps.types.trun,r)}static mdat(e){return ps.box(ps.types.mdat,e)}}ps.init();var ms,_s=Ht((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(ms=_s)&&ms.__esModule&&Object.prototype.hasOwnProperty.call(ms,"default")&&ms.default;const gs=[44100,48e3,32e3,0],ys=[22050,24e3,16e3,0],vs=[11025,12e3,8e3,0],bs=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],ws=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Ss=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Es(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,s=(6&t[1])>>1,n=(240&t[2])>>>4,a=(12&t[2])>>>2,o=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=vs[a];break;case 2:d=ys[a];break;case 3:d=gs[a]}switch(s){case 1:n=e[s]&&t=6?(i=5,t=new Array(4),a=s-3):(i=2,t=new Array(2),a=s):-1!==o.indexOf("android")?(i=2,t=new Array(2),a=s):(i=5,a=s,t=new Array(4),s>=6?a=s-3:1===n&&(i=2,t=new Array(2),a=s)),t[0]=i<<3,t[0]|=(15&s)>>>1,t[1]=(15&s)<<7,t[1]|=(15&n)<<3,5===i&&(t[1]|=(15&a)>>>1,t[2]=(1&a)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=zs[s],this.sampling_index=s,this.channel_count=n,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Gs{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,n=8-i;if(n>=e)return r&&(this.index+=e),s>>n-e;{r&&(this.index+=n);const i=e-n;return s<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function $s(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const Hs=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Vs=new Array(2746333894,1453994832,1736282519,2993693404),Ws=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function js(e,t,r,i,s){var n=s;n=t+s>e.length&&i+s<=r.length?e.length-t:i+s>r.length&&t+s<=e.length?r.length-i:t+s<=e.length&&i+s<=r.length?s:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Ys(e,t){return t+3>>19)^(i<<23|i>>>9)}function Zs(e,t){var r=new Array(36);r[0]=Ys(t,0),r[1]=Ys(t,4),r[2]=Ys(t,8),r[3]=Ys(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^Js(r[i+1]^r[i+2]^r[i+3]^e[i]);var s=new Array(4);for(i=35;i>=32;i--)s[35-i]=r[i];var n=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function Qs(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Ks(e),s=Math.ceil(r.length/16),n=new Array(r.length),a=t.slice(),o=0;o3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let a=5;for(;an)break;let d=e[a+4],l=!1,c=2;if(i?(s&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=Qs(t,r,e.slice(a+4+c,a+4+o));e.set(i,a+4+c)}a=a+4+o}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]'),n({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn("JbPro[❌❌❌][audio wasm]:",e)}}).then((e=>{!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=[],n=[],a=null,o=null,d=null,l=null,c=null,u=null,h=!1,S=null,E=null,x=!1,Se=!1,Ee=!!br(r),qe=0,Qe=0,et=!1,rt=null,st=null,ht=null,Bt=[],Ut=null,Tt=null,Gt=0,$t=0,Ht=null,Vt=null,Wt=0,jt=0,Zt=!1,tr=!1,dr=!1,Ar=null,Br=null,Ur=!1,xr=!0,Dr=0,Vr=0,Wr=()=>{const e=yr();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(a={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){a.decoder=new VideoDecoder({output:function(e){if(hr(e.createImageBitmap))e.createImageBitmap().then((t=>{a.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:r,delay:ui.delay,ts:0},[r]),mr(e)}));else{a.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:t,delay:ui.delay,ts:0},[t]),mr(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(a.TAG_NAME,"init")},destroy(){a.reset(),a.decoder&&"closed"!==a.decoder.state&&(a.decoder.close(),a.decoder=null),ui.debugLog(a.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(a.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?mt:_t});a.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:M,code:t});const r=new Uint8Array(e);postMessage({cmd:R,buffer:r,codecId:t},[r.buffer]);let i=null,s=null;const n=e.slice(5);t===Me?(s=Lr(n),i={codec:s.codec,description:n}):t===Re&&(s=Yr(n),i={codec:s.codec,description:n}),s&&s.codecWidth&&s.codecHeight&&(i.codedHeight=s.codecHeight,i.codedWidth=s.codecWidth),a.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:T,w:s.codecWidth,h:s.codecHeight}),a.isEmitInfo=!0,a.offscreenCanvas=new OffscreenCanvas(s.codecWidth,s.codecHeight),a.offscreenCanvasCtx=a.offscreenCanvas.getContext("2d"));try{a.decoder.configure(i),a.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){a.hasInit=!1,a.isEmitInfo=!1,a.offscreenCanvas=null,a.offscreenCanvasCtx=null}});let Kr=function(){if(Ur=!0,o)try{o.abort(),o=null,ui.debugLog("worker","abort success")}catch(e){o=null,ui.debugLog("worker","abort catch",e)}},ai={TAG_NAME:"worker nakedFlow",init(){ai.lastBuf=null,ai.vps=null,ai.sps=null,ai.pps=null,ai.streamType=null,ai.localDts=0,ai.pendingUnits={},ai.isSendSeqHeader=!1,ui.debugLog(ai.TAG_NAME,"init")},destroy(){ai.lastBuf=null,ai.vps=null,ai.sps=null,ai.pps=null,ai.streamType=null,ai.localDts=0,ai.pendingUnits={},ai.isSendSeqHeader=!1,ui.debugLog(ai.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=ai.extractNALu$3(t);if(0===e.length)return void ui.debugLog(ai.TAG_NAME,"dispatch naluArray length is 0");ai.handleVideoFrames(e)}else ai.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=ai.localDts;return ai.localDts=ai.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return ai.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,s=e.byteLength,n=0,a=[];for(;i1)for(let e=0;e{const t=Rr(e);t===je||t===We?ai.handleVideoH264Nalu(e):Nr(t)&&i.push(e)})),1===i.length)ai.handleVideoH264Nalu(i[0]);else if(Gr(i)){const e=Rr(i[0]),t=Or(e);ai.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{ai.handleVideoH264Nalu(e)}))}else if(ai.streamType===Oe)if(ui._opt.nakedFlowH265DemuxUseNew){const t=ai.handleAddNaluStartCode(e),r=ai.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=Qr(e);t===ct||t===dt||t===at?ai.handleVideoH265Nalu(e):ti(t)&&i.push(e)})),1===i.length)ai.handleVideoH265Nalu(i[0]);else if(ii(i)){const e=Qr(i[0]),t=ri(e);ai.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{ai.handleVideoH265Nalu(e)}))}else Qr(e)===ct?ai.extractH265PPS(e):ai.handleVideoH265Nalu(e)},extractH264PPS(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{zr(Rr(e))?ai.extractH264SEI(e):ai.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{ei(Qr(e))?ai.extractH265SEI(e):ai.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{ai.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=ai.handleAddNaluStartCode(e);ai.extractNALu(t).forEach((e=>{ai.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=Rr(e);switch(t){case We:ai.sps=e;break;case je:ai.pps=e}if(ai.isSendSeqHeader){if(ai.sps&&ai.pps){const e=Fr({sps:ai.sps,pps:ai.pps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}if(Nr(t)){const r=Or(t),i=ai.getNaluDts(),s=Pr(e,r);ai.doDecode(s,{type:oe,ts:i,isIFrame:r,cts:0})}}else if(ai.sps&&ai.pps){ai.isSendSeqHeader=!0;const e=Fr({sps:ai.sps,pps:ai.pps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}},handleVideoH264NaluList(e,t,r){if(ai.isSendSeqHeader){const i=ai.getNaluDts(),s=Mr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),s=new Uint8Array(r.byteLength+i.byteLength);return s.set(r,0),s.set(i,r.byteLength),s})),t);ai.doDecode(s,{type:oe,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${s.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=Qr(e);switch(t){case at:ai.vps=e;break;case dt:ai.sps=e;break;case ct:ai.pps=e}if(ai.isSendSeqHeader){if(ai.vps&&ai.sps&&ai.pps){const e=Xr({vps:ai.vps,sps:ai.sps,pps:ai.pps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.vps=null,ai.sps=null,ai.pps=null}if(ti(t)){const r=ri(t),i=ai.getNaluDts(),s=Zr(e,r);ai.doDecode(s,{type:oe,ts:i,isIFrame:r,cts:0})}}else if(ai.vps&&ai.sps&&ai.pps){ai.isSendSeqHeader=!0;const e=Xr({vps:ai.vps,sps:ai.sps,pps:ai.pps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.vps=null,ai.sps=null,ai.pps=null}},handleVideoH265NaluList(e,t,r){if(ai.isSendSeqHeader){const i=ai.getNaluDts(),s=Jr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),s=new Uint8Array(r.byteLength+i.byteLength);return s.set(r,0),s.set(i,r.byteLength),s})),t);ai.doDecode(s,{type:oe,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${s.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!ai.streamVideoType)for(let t of e)if(ai.streamVideoType=fr(t),ai.streamVideoType)break;ai.streamVideoType?ai.streamVideoType===Ne?ai.handleVideoH264Frames(e):ai.streamVideoType===Oe&&ai.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,s=!1;ai.pendingUnits.units&&(t=ai.pendingUnits.units,s=ai.pendingUnits.vcl,i=ai.pendingUnits.iFrame,ai.pendingUnits={});let n={};for(let a of e){if(a.byteLength<4)continue;const e=Rr(a);let o=!1,d=e===Ke;e!==Ye&&e!==Ke||(n=ai.parseVideo264Header(a),o=!0),t.length&&s&&(n.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,s=!1),t.push(a),i=i||d,s=s||o}t.length&&(ai.pendingUnits={units:t,vcl:s,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,s=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case je:ai.pps=e;break;case We:ai.sps=e;break;case Xe:s=e}if(Nr(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!ai.isSendSeqHeader&&ai.sps&&ai.pps){ai.isSendSeqHeader=!0;const e=Ir({sps:ai.sps,pps:ai.pps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}if(ai.isSendSeqHeader){if(ai.sps&&ai.pps){const e=Ir({sps:ai.sps,pps:ai.pps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null}if(i){const e=ai.getNaluDts(),t=Mr(i,r);if(ui._opt.isEmitSEI&&s){const t=ir(s,!1);postMessage({cmd:Z,buffer:t.payload,ts:e},[t.payload.buffer])}ai.doDecode(t,{type:oe,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,s=!1;ai.pendingUnits.units&&(t=ai.pendingUnits.units,s=ai.pendingUnits.vcl,i=ai.pendingUnits.iFrame,ai.pendingUnits={});let n={};for(let a of e){if(a.byteLength<4)continue;const e=Qr(a);let o=!1,d=ri(e);ti(e)&&(n=ai.parseVideo265Header(a),o=!0),t.length&&s&&(n.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,s=!1),t.push(a),i=i||d,s=s||o}t.length&&(ai.pendingUnits={units:t,vcl:s,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,s=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ct:ai.pps=e;break;case dt:ai.sps=e;break;case at:ai.vps=e;break;case pt:case ft:s=e}if(ti(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!ai.isSendSeqHeader&&ai.sps&&ai.pps&&ai.vps){ai.isSendSeqHeader=!0;const e=Xr({sps:ai.sps,pps:ai.pps,vps:ai.vps});ui.decode(e,{type:oe,ts:0,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null,ai.vps=null}if(ai.isSendSeqHeader){if(ai.sps&&ai.pps&&ai.vps){const e=Xr({sps:ai.sps,pps:ai.pps,vps:ai.vps}),t=ai.localDts;ui.decode(e,{type:oe,ts:t,isIFrame:!0,cts:0}),ai.sps=null,ai.pps=null,ai.vps=null}if(i){const e=ai.getNaluDts(),t=Jr(i,r);if(ui._opt.isEmitSEI&&s){const t=ir(s,!0);postMessage({cmd:Z,buffer:t.payload,ts:e},[t.payload.buffer])}ai.doDecode(t,{type:oe,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{ai.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Gs(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Gs(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},oi={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){oi.mp4Box=Hi.createFile(),oi.mp4Box.onReady=oi.onReady,oi.mp4Box.onError=oi.onError,oi.mp4Box.onSamples=oi.onSamples,ui.debugLog(oi.LOG_NAME,"init")},destroy(){oi.mp4Box&&(oi.mp4Box.stop(),oi.mp4Box.flush(),oi.mp4Box.destroy(),oi.mp4Box=null),oi.offset=0,oi.videoTrackId=null,oi.audioTrackId=null,oi.isHevc=!1,ui.debugLog(oi.LOG_NAME,"destroy")},_getSeqHeader(e){const t=oi.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Hi.DataStream(void 0,0,Hi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(oi.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),s=new Uint8Array(r.length+i.length);return s.set(r,0),s.set(i,r.length),s}return null},onReady(e){ui.debugLog(oi.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){oi.videoTrackId=t.id;const e=oi._getSeqHeader(t);e&&(ui.debugLog(oi.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),oi.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){oi.audioTrackId=r.id;const e=r.audio||{},t=qt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");oi.mp4Box.setExtractionOptions(r.id);const s=Yt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(oi.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(s,0)}oi.mp4Box.start()},onError(e){ui.debugError(oi.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===oi.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let s=null;s=oi.isHevc?Jr(t,r):Mr(t,r),ui.decode(s,{type:oe,ts:i,isIFrame:r,cts:0})}oi.mp4Box.removeUsedSamples(e)}else if(e===oi.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:ae,ts:r,isIFrame:!1,cts:0})}oi.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(oi.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=oi.offset,oi.offset+=t.byteLength,oi.mp4Box.appendBuffer(t.buffer)}},di={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);di.extractNALu(t)},destroy(){di.lastBuffer=new Uint8Array(0),di.parsedOffset=0,di.firstStartCodeOffset=0,di.secondStartCodeOffset=0,di.state="init",di.hasInitVideoCodec=!1,di.localDts=0,ui.debugLog(di.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(di.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(di.lastBuffer.length+e.length);for(t.set(di.lastBuffer,0),t.set(new Uint8Array(e),di.lastBuffer.length),di.lastBuffer=t;;){if("init"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findFirstStartCode",di.firstStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findSecondStartCode",di.secondStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===di.state){if(!(di.lastBuffer.length-di.parsedOffset>0))break;{let e,t,r=192&di.lastBuffer[di.parsedOffset];e=0==r?di.secondStartCodeOffset-14:di.secondStartCodeOffset;let i=0==(192&di.lastBuffer[di.firstStartCodeOffset+4]);if(i){if(di.firstStartCodeOffset-14<0)return void ui.debugWarn(di.LOG_NAME,"firstStartCodeOffset -14 is",di.firstStartCodeOffset-14);di.hasInitVideoCodec||(di.hasInitVideoCodec=!0,ui.debugLog(di.LOG_NAME,"setCodec"),fi.setCodec(ze,"",ui.getBuildTime())),t=di.lastBuffer.subarray(di.firstStartCodeOffset-14,e)}else t=di.lastBuffer.subarray(di.firstStartCodeOffset,e);let s=di.getNaluDts();di.hasInitVideoCodec?(postMessage({cmd:G,type:xe,value:t.byteLength}),postMessage({cmd:G,type:ke,value:s}),qe=s,fi.decode(t,i?1:0,s)):ui.debugWarn(di.LOG_NAME,"has not init video codec"),di.lastBuffer=di.lastBuffer.subarray(e),di.firstStartCodeOffset=0==r?14:0,di.parsedOffset=di.firstStartCodeOffset+4,di.state="findFirstStartCode"}}}},getNaluDts(){let e=di.localDts;return di.localDts=di.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Ns,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let s=0;s=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=hs(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let n=(31&r[1])<<8|r[2],a=(48&r[3])>>>4,o=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==n),l={},c=4;if(2==a||3==a){let e=r[4];if(e>0&&(d||3==a)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==a||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==a||3==a)if(0===n||n===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[n]===Ls){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:n,payload_unit_start_indicator:s,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[n]){let r=188-c,i=li.pmt_.pid_stream_type[n];n!==li.pmt_.common_pids.h264&&n!==li.pmt_.common_pids.h265&&n!==li.pmt_.common_pids.adts_aac&&n!==li.pmt_.common_pids.loas_aac&&n!==li.pmt_.common_pids.ac3&&n!==li.pmt_.common_pids.eac3&&n!==li.pmt_.common_pids.opus&&n!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[n]&&!0!==li.pmt_.timed_id3_pids[n]&&!0!==li.pmt_.synchronous_klv_pids[n]&&!0!==li.pmt_.asynchronous_klv_pids[n]||li.handlePESSlice(e,t+c,r,{pid:n,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let s=new Uint8Array(e,t,r),n=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let a=s[0];if(null!=n&&0!==n.total_length){let s=new Uint8Array(e,t+1,Math.min(r,a));n.slices.push(s),n.total_length+=s.byteLength,n.total_length===n.expected_length?li.emitSectionSlices(n,i):li.clearSlices(n,i)}for(let o=1+a;o=n.expected_length&&li.clearSlices(n,i),o+=d.byteLength}}else if(null!=n&&0!==n.total_length){let s=new Uint8Array(e,t,Math.min(r,n.expected_length-n.total_length));n.slices.push(s),n.total_length+=s.byteLength,n.total_length===n.expected_length?li.emitSectionSlices(n,i):n.total_length>=n.expected_length&&li.clearSlices(n,i)}},handlePESSlice(e,t,r,i){let s=new Uint8Array(e,t,r),n=s[0]<<16|s[1]<<8|s[2];s[3];let a=s[4]<<8|s[5];if(i.payload_unit_start_indicator){if(1!==n)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${n}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new Ps,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let o=li.pes_slice_queues_[i.pid];o.slices.push(s),i.payload_unit_start_indicator&&(o.expected_length=0===a?0:a+6),o.total_length+=s.byteLength,o.expected_length>0&&o.expected_length===o.total_length?li.emitPESSlices(o,i):o.expected_length>0&&o.expected_length>>6,o=t[8];2!==a&&3!==a||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,n=3===a?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+o;if(0!==s){if(s<3+o)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=s-3-o}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case As:case Bs:li.parseMP3Payload(c,r);break;case Us:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,n,e.pid,i):li.parsePESPrivateDataPayload(c,r,n,e.pid,i));break;case xs:li.parseADTSAACPayload(c,r);break;case ks:li.parseLOASAACPayload(c,r);break;case Ts:case Cs:break;case Ds:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,n,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,n,e.pid,i);break;case Fs:li.parseH264Payload(c,r,n,e.random_access_indicator);break;case Is:li.parseH265Payload(c,r,n,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Us){let r,n=6;r=0!==s?s:t.byteLength-n;let a=t.subarray(n,n+r);li.parsePESPrivateDataPayload(a,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,s=1&e[5],n=e[6];e[7];let a=null;if(1===s&&0===n)a={version_number:0,network_pid:0,program_pmt_pid:{}},a.version_number=i;else if(a=li.pat_,null==a)return;let o=r-5-4,d=-1,l=-1;for(let t=8;t<8+o;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?a.network_pid=i:(a.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===s&&0===n&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(a)}`),li.pat_=a,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],s=e[3]<<8|e[4],n=(62&e[5])>>>1,a=1&e[5],o=e[6];if(e[7],1===a&&0===o)r=li._initPmt(),r.program_number=s,r.version_number=n,li.program_pmt_map_[s]=r;else if(r=li.program_pmt_map_[s],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Xr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Ir({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let s=li.media_info_;s.hasVideo=!0,s.width=t.codecWidth,s.height=t.codecHeight,s.fps=t.frameRate.fps,s.profile=t.profile,s.level=t.level,s.refFrames=e.ref_frames,s.chromaFormat=e.chroma_format_string,s.sarNum=t.sarRatio.width,s.sarDen=t.sarRatio.height,s.videoCodec=t.codec,s.hasAudio&&s.audioCodec?s.mimeType=`video/mp2t; codecs="${s.videoCodec},${s.audioCodec}"`:s.mimeType=`video/mp2t; codecs="${s.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let s,n=new Qt(e),a=null,o=i;for(;null!=(a=n.readNextAACFrame());){r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),s=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let n={payload:i,length:i.byteLength,pts:t,dts:t,type:ae};li.audio_track_.samples.push(n),li.audio_track_.length+=i.byteLength,o+=r}n.hasIncompleteData()&&(li.aac_last_incomplete_data_=n.getIncompleteData()),s&&(li.audio_last_sample_pts_=s)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let s,n=new er(e),a=null,o=i;for(;null!=(a=n.readNextAACFrame(cr(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=a,r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),s=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let n={payload:i,length:i.byteLength,pts:t,dts:t,type:ae};li.audio_track_.samples.push(n),li.audio_track_.length+=i.byteLength,o+=r}n.hasIncompleteData()&&(li.aac_last_incomplete_data_=n.getIncompleteData()),s&&(li.audio_last_sample_pts_=s)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],s=[11025,12e3,8e3,0],n=e[1]>>>3&3,a=(6&e[1])>>1;e[2];let o=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(n){case 0:l=s[o];break;case 2:l=i[o];break;case 3:l=r[o]}switch(a){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(h)):li.detectAudioMetadataChange(h)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:ae};li.audio_track_.samples.push(f),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Os(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const s=Yt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(s,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,s){let n=new Rs;if(n.pid=i,n.stream_id=s,n.len=e.byteLength,n.data=e,null!=t){let e=Math.floor(t/li.timescale_);n.pts=e}else n.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);n.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,s){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${s}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,s){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${s}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,s){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${s}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===oe?li._doDecodeVideo({...e,payload:t}):e.type===ae&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?Jr(t,e.isIFrame):Mr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:oe,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;br(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:ae,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Sr()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new fs,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!wr(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===bt,isStateClosed:()=>ci.getState()===wt,isStateEnded:()=>ci.getState()===vt,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,Et,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,St,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,At,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(wr(ci.hasInit))if(r&&e[1]===kt){const i=15&e[0];if(i===Re&&wr(ui._opt.supportMSEDecodeHevc))return void ci.emitError(Ie.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:M,code:i});const s=new Uint8Array(e);postMessage({cmd:R,buffer:s,codecId:i},[s.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===Me?r=Lr(e.slice(5)):t===Re&&(r=qr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(Ie.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(vr(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&eA,_decodeConfigurationRecord(e,t,r,i){let s=e.slice(5),n={};if(i===Me?n=Lr(s):i===Re&&(n=Yr(s)),ci.videoInfo.width=n.codecWidth,ci.videoInfo.height=n.codecHeight,0===n.codecWidth&&0===n.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(n)),ci.emitError(Ie.mediaSourceDecoderConfigurationError,`width is ${0===n.codecWidth} and height is ${n.codecHeight}`),!1;const a={id:It,type:"video",timescale:1e3,duration:0,avcc:s,codecWidth:n.codecWidth,codecHeight:n.codecHeight,videoType:n.videoType},o=ps.generateInitSegment(a);ci.isAvc=i===Me;let d=n.codec;return ci.videoMimeType=d?`video/mp4; codecs="${n.codec}"`:ci.isAvc?gt:yt,postMessage({cmd:T,w:n.codecWidth,h:n.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(o.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,s=r===Ve,n=r===Ge;if(wr(n||s))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(Ie.mediaSourceAudioG711NotSupport),!1;const a={id:Pt,type:"audio",timescale:1e3};let o={};if(Kt(e)){if(o=Jt(e.slice(2)),!o)return!1;a.audioSampleRate=o.sampleRate,a.channelCount=o.channelCount,a.config=o.config,a.refSampleDuration=1024/a.audioSampleRate*a.timescale}else{if(!s)return!1;if(o=Es(e),!o)return!1;a.audioSampleRate=o.samplingRate,a.channelCount=o.channelCount,a.refSampleDuration=1152/a.audioSampleRate*a.timescale}a.codec=o.codec,a.duration=0;let d="mp4",l=o.codec,c=null;s&&wr(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=ps.generateInitSegment(a);let u=`${a.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),wr(ci.isAudioInitInfo)&&(Br=r===Ge?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:L,sampleRate:a.audioSampleRate,channels:a.channelCount,depth:Br}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=n,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(Ie.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,s){let n=e.slice(5),a=n.byteLength;if(0===a)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let o=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=o,d=!0);const l=o-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${o} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(ps.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=ps.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let s=new Uint8Array(i.byteLength+r.byteLength);s.set(i,0),s.set(r,i.byteLength),ci.appendBuffer(s.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${s} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=It,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=a,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=n,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),s=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(ps.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=ps.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let s=new Uint8Array(i.byteLength+r.byteLength);s.set(i,0),s.set(r,i.byteLength),ci.appendAudioBuffer(s.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Pt,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=s,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),wr(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&wr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),wr(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&wr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(Ie.mediaSourceAudioInitTimeout)}),1e3)));if(wr(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(wr(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:s,end:t})}}else n=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:s,end:t})}}else nci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&wr(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&wr(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&wr(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&wr(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(wr(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:ne,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Dt,_opt:Wr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:et,wasmDecodeDelay:qe-Qe});postMessage({cmd:G,type:Ce,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===ae)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(et=!1,ui.delay=t-r):(et=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===ae)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(et=!1,t=r-i):(et=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===oe&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===ae?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===oe&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===oe&&a.decode?a.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===s.length)return;const t=e.ts,i=s[0],n=e.type===oe&&vr(e.payload);if(wr(r))n&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${n}`),s.shift(),ui.doDecode(i));else{const r=i.ts-t,a=i.type===ae&&e.type===oe;(r<=20||a||n)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${a} and isVideoSqeHeader is ${n}`),s.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===y,t=ui._opt.playType===v,n=ui._opt.playType===b;if(ai.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=n,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),a&&ui._opt.useWCS&&ui.useOffscreen()&&a.init(),wr(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(s.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${s.length}`);if(ui.dropping){for(r=s.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${s.length}`);!r.isIFrame&&s.length;)r=s.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;s.length;)r=s.shift(),ui.doDecode(r);else if(r=s[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),s.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:H})):(s.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;s.length;){if(r=s[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${s.length}`);break}s.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();rt||(rt=e);const r=e-rt;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),rt=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(wr(ui._opt.checkFirstIFrame)&&(Ee=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:ie,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;s.length&&(e=s.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,Kr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(Ur=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&wr(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,rt=null,et=!1,qe=0,Qe=0,a&&(a.destroy&&a.destroy(),a=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Wr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),s=[],n=[],u&&(u.close(),u=null),S=null,E=null,x=!1,Se=!1,Ee=!1,Zt=!1,tr=!1,dr=!1,Ar=null,Bt=[],Gt=0,$t=0,st=null,ht=null,Ht=null,Vt=null,Br=null,Wt=0,jt=0,Ut=null,Tt=null,ui.fetchStatus=Dt,xr=!0,ai.destroy(),oi.destroy(),di.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:K})},pushBuffer:function(e,t){if(t.type===ae&&Kt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:Q,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===oe&&t.isIFrame&&vr(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ee,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:te,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===w)if(t.type===oe){const r=new Uint8Array(e).slice(5);postMessage({cmd:z,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===ae&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Xt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===oe){if(Wt>0){const e=t.ts-Vt,r=Wt+Wt/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Vt},\n diff is ${e} and preTsDuration is ${Wt} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Vt&&Vt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Vt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Vt-t.ts>A&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Vt}, options.ts is ${t.ts},\n diff is ${Vt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Vt=null,Wt=0),ui._opt.isDropSameTimestampGop&&wr(t.isIFrame)&&Ee)){const e=ui.hasIframeInBufferList(),t=wr(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),br(ui._opt.checkFirstIFrame)&&br(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:re}))))}Vt>0&&(Wt=t.ts-Vt),jt=e.byteLength,Vt=t.ts}if(Ee){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${s.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;s.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${s.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:W,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return s.forEach((t=>{t.type===oe&&(e+=1)})),e},hasIframeInBufferList:()=>s.some((e=>e.type===oe&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return s.forEach((e=>{e.type===oe&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return s.forEach((t=>{t.type===ae&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?ai.lastBuf&&(e=ai.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&oi.mp4Box&&(e=oi.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=lr((e=>{postMessage({cmd:G,type:Be,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&oi.listenMp4Box(),t.protocol===m){t.isFlv&&(u=new kr(ui.demuxFlv())),o=new AbortController;const r=Object.assign({signal:o.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(br(Ur))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Dt,void e.body.cancel();if(!gr(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),Kr(),void postMessage({cmd:G,type:Ie.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:Te}),pr())ui.writableStream=new WritableStream({write:e=>o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):br(Ur)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=Ft,void Kr()):void("string"!=typeof e?(ui.fetchStatus=Lt,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=Ft,Kr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ae,value:_,msg:"fetch done"})):postMessage({cmd:G,type:De})},abort:e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==xt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),Kr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:s}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=Ft,Kr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ae,value:_,msg:"fetch done"})):postMessage({cmd:G,type:De}))):o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):br(Ur)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=Ft,void Kr()):void("string"!=typeof s?(ui.fetchStatus=Lt,l(s.byteLength),t.isFlv?u.write(s):t.isFmp4?ui.demuxFmp4(s):t.isMpeg4?ui.demuxMpeg4(s):t.isTs?ui.demuxTs(s):t.isNakedFlow&&ui.demuxNakedFlow(s),i()):ui.debugWarn("worker",`fetchNext().then() and value "${s}" is string so return`))})).catch((e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==xt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),Kr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{o&&o.signal&&o.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==xt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),Kr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===p&&(t.isFlv&&(u=new kr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:Te}),postMessage({cmd:G,type:Fe})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):h?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),br(Ur)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ae,value:g,msg:e.code})):postMessage({cmd:G,type:De}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),h=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):br(Ur)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:G,type:Ie.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const s=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let n=r[0];const a=(yield s).slice();switch(i){case de:if(a.byteLength>0){let e=a;br(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(a)),ui.decode(e,{type:ae,ts:n})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${a.byteLength} and return`);break;case le:if(a.byteLength>=6){const e=a[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(a,n);else{const e=15&a[0];let t=a[0]>>4===Ct;const i=e===Re;if(wr(t)&&br(Er(a,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&vr(a)&&null===ui.isHevc){const e=15&a[0];ui.isHevc=e===Re,Ar=nr(a,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${Ar}`)}t&&ui.calcIframeIntervalTimestamp(n),ui.isPlayer&&ui.calcNetworkDelay(n),r[0]=a[4],r[1]=a[3],r[2]=a[2],r[3]=0;let s=r[0],o=ui.cryptoPayload(a,t);ui.decode(o,{type:oe,ts:n,isIFrame:t,cts:s})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${a.byteLength} and return`);break;case ce:postMessage({cmd:J,buffer:a},[a.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===ae?ui._opt.hasAudio&&(postMessage({cmd:G,type:Ue,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===oe&&ui._opt.hasVideo&&(postMessage({cmd:G,type:xe,value:e.byteLength}),postMessage({cmd:G,type:ke,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Gi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?en(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):as(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=us(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===Ge&&(t=$i(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,s=e[0]>>1&1;if(Br=r===Ge?s?16:8:0===s?8:16,hi&&hi.setCodec||!wr(i))if(Kt(e)||r===$e||r===He||r===Ve){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const s=r===Ge?e.slice(2):new Uint8Array(0);if(i){if(r===Ve)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");hi.sample_rate=ui._opt.sampleRate,hi.decode(e,t)}else hi.setCodec(r,ui._opt.sampleRate,s,ui.getBuildTime());r===Ge&&postMessage({cmd:P,buffer:s},[s.buffer]),Se=!0,r!==Ge&&(r===Ve?(ui.mp3Demuxer||(ui.mp3Demuxer=new ds(ui),ui.mp3Demuxer.on("data",((e,t)=>{hi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):hi.decode(e.slice(1),t));const n=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})}),60*n*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(br(r)&&br(ui._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(Se){if(Kt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?hi.decode(e,t):r===Ve?ui.mp3Demuxer.dispatch(e.slice(1),t):hi.decode(r===Ge?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(fi&&fi.setCodec||!wr(i))if(vr(e))if(r===Me||r===Re){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===Me&&ui._opt.useSIMD){const e=Lr(t);if(e.codecWidth>B||e.codecHeight>B)return postMessage({cmd:Y,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const s=new Uint8Array(e);x=!0,i?fi.decode(e,0):fi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:M,code:r}),postMessage({cmd:R,buffer:s,codecId:r},[s.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,s,n);else if(br(r))postMessage({cmd:N,payload:e,isIFrame:s,ts:t,cts:n,delay:ui.delay},[e.buffer]);else if(x)if(!Ee&&s&&(Ee=!0),Ee){if(s&&vr(e)){const t=15&e[0];let r={};t===Me?r=Lr(e.slice(5)):t===Re&&(r=qr(e)),r.codecWidth&&r.codecHeight&&S&&E&&(r.codecWidth!==S||r.codecHeight!==E)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${S}, old height is ${E},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),tr=!0,postMessage({cmd:j,value:`width: ${S}->${r.codecWidth}, height: ${E}->${r.codecHeight}`}))}if(tr)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(dr)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(vr(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${s.length}, need clear is ${e}`),e&&(s=[]),ui.isPlayer&&(ui.resetAllDelay(),br(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:H}))),br(ui._opt.checkFirstIFrame)&&wr(r)&&(Ee=!1)},dropBuffer$2:function(){if(s.length>0){let e=s.findIndex((e=>br(e.isIFrame)&&e.type===oe));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:H});const t=s.length;s=s.slice(e);const r=s.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${s.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===s.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),s=new ArrayBuffer(4),n=new Uint32Array(s);switch(i){case ae:ui.decode(new Uint8Array(e,5),{type:ae,ts:r});break;case oe:if(t.byteLength>=11){const i=new Uint8Array(e,5),s=i[0];if(ui._isEnhancedH265Header(s))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),vr(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===Re}ui.isPlayer&&ui.calcNetworkDelay(r),n[0]=i[4],n[1]=i[3],n[2]=i[2],n[3]=0;let s=n[0],a=ui.cryptoPayload(i,e);ui.decode(a,{type:oe,ts:r,isIFrame:e,cts:s})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){ai.dispatch(e)},demuxFmp4:function(e){oi.dispatch(e)},demuxMpeg4:function(e){di.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,s=15&r,n=e.slice(1,5),a=new ArrayBuffer(4),o=new Uint32Array(a),d="a"==String.fromCharCode(n[0]);if(ui.isHevc=wr(d),s===Rt){if(i===Ot){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),Ar=nr(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${Ar}`),ui.decode(i,{type:oe,ts:t,isIFrame:!0,cts:0})}}}else if(s===zt){let r=e,s=0;const n=i===Ot;n&&ui.calcIframeIntervalTimestamp(t),d||(o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0,s=o[0],r=Jr(e.slice(8),n),r=ui.cryptoPayload(r,n),ui.decode(r,{type:oe,ts:t,isIFrame:n,cts:s}))}else if(s===Nt){const r=i===Ot;r&&ui.calcIframeIntervalTimestamp(t);let s=Jr(e.slice(5),r);s=ui.cryptoPayload(s,r),ui.decode(s,{type:oe,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&Mt)===Mt},findSei:function(e,t){let r=4;ur(Ar)&&(r=Ar),rr(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===pt||r===ft),s=wr(ui.isHevc)&&r===Xe;if(i||s){const r=ir(e,ui.isHevc);postMessage({cmd:Z,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(Ee&&e>0))return;null===st?(st=e,ht=ar()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===y&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${st} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Le,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ht?Ht=e:Ht=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&br(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){wr(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),Zt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=f(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),Zt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:M,code:e}),postMessage({cmd:T,w:t,h:r}),S=t,E=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=f(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:L,sampleRate:t,channels:r,depth:Br}),$t=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=S*E*3/2;let s=e.HEAPU8.subarray(t,t+i),n=new Uint8Array(s);if(Ut=null,Qe=r,ui.useOffscreen())try{if(Zt)return;ui.webglObj.renderYUV(S,E,n);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:C,output:n,delay:ui.delay,ts:r},[n.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let s=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+s)}if(Gt){if(!(s>=(r=d-Gt)))return Gt+=s,n[0]=Float32Array.of(...n[0],...a[0]),void(2==$t&&(n[1]=Float32Array.of(...n[1],...a[1])));Bt[0]=Float32Array.of(...n[0],...a[0].subarray(0,r)),2==$t&&(Bt[1]=Float32Array.of(...n[1],...a[1].subarray(0,r))),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer))),o=r,s-=r}for(Gt=s;Gt>=d;Gt-=d)Bt[0]=a[0].slice(o,o+=d),2==$t&&(Bt[1]=a[1].slice(o-d,o)),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer)));Gt&&(n[0]=a[0].slice(o),2==$t&&(n[1]=a[1].slice(o))),a=[]},errorInfo:function(e){null===Ut&&(Ut=ar());const t=ar(),r=or(Tt>0?2*Tt:5e3,1e3,5e3),i=t-Ut;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${Tt} and diff is ${i} and maxDiff is ${r}\n and replay`),dr=!0,postMessage({cmd:q}))},sendWebsocketMessage:function(e){d?d.readyState===Pe?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})},postStreamToMain(e,t){postMessage({cmd:X,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),br(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,S=e,E=t,postMessage({cmd:T,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=f(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){$t=e,postMessage({cmd:L,sampleRate:t,channels:e,depth:Br})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let s=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+s)}if(Gt){if(!(s>=(r=d-Gt)))return Gt+=s,n[0]=Float32Array.of(...n[0],...a[0]),void(2==$t&&(n[1]=Float32Array.of(...n[1],...a[1])));Bt[0]=Float32Array.of(...n[0],...a[0].subarray(0,r)),2==$t&&(Bt[1]=Float32Array.of(...n[1],...a[1].subarray(0,r))),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer))),o=r,s-=r}for(Gt=s;Gt>=d;Gt-=d)Bt[0]=a[0].slice(o,o+=d),2==$t&&(Bt[1]=a[1].slice(o-d,o)),postMessage({cmd:D,buffer:Bt,ts:i},Bt.map((e=>e.buffer)));Gt&&(n[0]=a[0].slice(o),2==$t&&(n[1]=a[1].slice(o))),a=[]},draw:function(t,r,i,s){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const n=e.HEAPU8.subarray(r,r+Dr),a=e.HEAPU8.subarray(i,i+Vr),o=e.HEAPU8.subarray(s,s+Vr),d=new Uint8Array(Dr+Vr+Vr);if(d.set(n),d.set(a,Dr),d.set(o,Dr+Vr),Ut=null,Qe=t,ui.useOffscreen())try{if(Zt)return;ui.webglObj.renderYUV(S,E,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:C,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:C,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let hi=null;t.AudioDecoder&&(hi=new t.AudioDecoder(ui));let fi=null;e.VideoDecoder&&(fi=new e.VideoDecoder(ui)),postMessage({cmd:k}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case ue:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${ue}`,t.opt);break;case he:ui.pushBuffer(t.buffer,t.options);break;case fe:ui.decodeAudio(t.buffer,t.ts);break;case pe:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case ge:ui.clearBuffer(t.needClear);break;case ye:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case me:ui.debugLog("worker",`onmessage:${me}`,JSON.stringify(t.options)),t.options&&wr(t.options.isVideoInited)&&(xr=t.options.isVideoInited),ui.close();break;case _e:ui.debugLog("worker",`onmessage:${_e}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case ve:ui.sendWebsocketMessage(t.message);break;case be:ci.$video.currentTime=Number(t.message);break;case we:ui.updatePlaybackIsPause(t.isPause)}}}(e,e,!0)}))})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,i;(i=e).ready=new Promise(((e,r)=>{t=e,n=r})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,a,o,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href),v=m("fs"),_=m("path");f=d?_.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href)),s=(e,t)=>(e=Q(e)?new URL(e):_.normalize(e),v.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Q(e)?new URL(e):_.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var y,g,b=i.print||console.log.bind(console),w=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(y=i.wasmBinary),"object"!=typeof WebAssembly&&q("no native wasm support detected");var S,I,A,E,k,C,x,T,D=!1;function B(e,t){e||q(t)}function M(){var e=g.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=A=new Int16Array(e),i.HEAPU8=I=new Uint8Array(e),i.HEAPU16=E=new Uint16Array(e),i.HEAP32=k=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=x=new Float32Array(e),i.HEAPF64=T=new Float64Array(e)}var U=[],P=[],F=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(U)}function L(){i.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ie(P)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)H(i.postRun.shift());ie(F)}function z(e){U.unshift(e)}function N(e){P.unshift(e)}function H(e){F.unshift(e)}var V=0,j=null;function G(e){V++,i.monitorRunDependencies&&i.monitorRunDependencies(V)}function W(e){if(V--,i.monitorRunDependencies&&i.monitorRunDependencies(V),0==V&&j){var t=j;j=null,t()}}function q(e){i.onAbort&&i.onAbort(e),w(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var $,Y,K,X="data:application/octet-stream;base64,",J=e=>e.startsWith(X),Q=e=>e.startsWith("file://");function Z(e){if(e==$&&y)return new Uint8Array(y);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(l||d)){if("function"==typeof fetch&&!Q(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Z(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Z(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),q(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||Q(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return an=e.exports,g=an.E,M(),Ut=an.H,N(an.F),W(),an}if(G(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(y,$,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?J($="decoder-pro-audio.wasm")||($=p($)):$=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-hard.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var ae=(e,t,r)=>{throw new se(e).init(t,r),e},oe=e=>(k[cn()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}q("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),a=s,o=0;o{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-i};function _e(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=_e(e,!0)}return pe.shift()},ge={ttys:[],init(){},shutdown(){},register(e,t){ge.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ge.stream_ops)},stream_ops:{open(e){var t=ge.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,a=0;aye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{q()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,r,n);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,n)=>we.createNode(e,t,r,n),rename(e,t,r){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var n in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=we.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-i,n);if(a>8&&s.subarray)t.set(s.subarray(i,i+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;a(e,(r=>{B(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&W()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&G()},Ie=(e,t,r,n,i,s)=>{Te.createDataFile(e,t,r,n,i,s)},Ae=i.preloadPlugins||[],Ee=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ae.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},ke=(e,t,r,n,i,s,a,o,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),o||Ie(e,t,r,n,i,c),s&&s(),W()}Ee(r,l,d,(()=>{a&&a(),W()}))||d(r)}G(),"string"==typeof r?Se(r,(e=>d(e)),a):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},xe=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Te.root,i="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var n=Te.hashName(e.id,t),i=Te.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Te.lookup(e,t)},createNode(e,t,r,n){var i=new Te.FSNode(e,t,r,n);return Te.hashAddNode(i),i},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,"wx");if(i)return i;if(r){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),n=0;function i(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!s){var a=Te.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(o);return c.mount=o,o.root=c,i?Te.root=c:n&&(n.mounted=o,n.mount&&n.mount.mounts.push(o)),c},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,n=r.mounted,i=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Te.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new Te.ErrnoError(28);var s=Te.mayCreate(n,i);if(s)throw new Te.ErrnoError(s);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var n=ce.basename(t),i=Te.mayCreate(r,n);if(i)throw new Te.ErrnoError(i);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),a=ce.basename(e),o=ce.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(t,{parent:!0}).node,!r||!n)throw new Te.ErrnoError(44);if(r.mount!==n.mount)throw new Te.ErrnoError(75);var c,u=Te.lookupNode(r,a),l=de.relative(e,s);if("."!==l.charAt(0))throw new Te.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{c=Te.lookupNode(n,o)}catch(e){}if(u!==c){var d=Te.isDir(u.mode),h=Te.mayDelete(r,a,d);if(h)throw new Te.ErrnoError(h);if(h=c?Te.mayDelete(n,o,d):Te.mayCreate(n,o))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(u)||c&&Te.isMountpoint(c))throw new Te.ErrnoError(10);if(n!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(u);try{r.node_ops.rename(u,n,o)}catch(e){throw e}finally{Te.hashAddNode(u)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(n)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(n)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return de.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var n;if(!(n="string"==typeof e?Te.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,n){var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var n=Te.getStreamChecked(e);Te.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;if(!(r="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(r,"w");if(n)throw new Te.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new Te.ErrnoError(20)}else n=Te.mknod(e,r,0),s=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(t&=-513),65536&t&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!s){var a=Te.mayOpen(n,t);if(a)throw new Te.ErrnoError(a)}512&t&&!s&&Te.truncate(n,0),t&=-131713;var o=Te.createStream({node:n,path:Te.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!i.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),o},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var a=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=a),a},write(e,t,r,n,i,s){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var a=void 0!==i;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,r,n,i,s);return a||(e.position+=o),o},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Te.open(e,t.flags),i=Te.stat(e).size,s=new Uint8Array(i);return Te.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Te.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);Te.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(n,t,0,t.byteLength,void 0,r.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),ge.register(Te.makedev(5,0),ge.default_tty_ops),ge.register(Te.makedev(6,0),ge.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=Te.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Te.createDevice("/dev","stdin",i.stdin):Te.symlink("/dev/tty","/dev/stdin"),i.stdout?Te.createDevice("/dev","stdout",null,i.stdout):Te.symlink("/dev/tty","/dev/stdout"),i.stderr?Te.createDevice("/dev","stderr",null,i.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;i||(a=n);var o=this;o.setDataGetter((e=>{var t=e*a,i=(e+1)*a-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==a&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):_e(i.responseText||"",!0)})(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!s&&n||(a=n=1,n=this.getter(0).length,a=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var c=Te.createFile(e,t,o,n,i);o.contents?c.contents=o.contents:o.url&&(c.contents=null,c.url=o.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var a=Math.min(s.length-i,n);if(s.slice)for(var o=0;o{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(Te.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{Te.forceLoadFile(c);var s=be();if(!s)throw new Te.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},De=(e,t)=>e?fe(I,e,t):"",Be={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;if(n=-100===e?Te.cwd():Be.getStreamFromFD(e).path,0==t.length){if(!r)throw new Te.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(Te.getPath(e.node)))return-54;throw e}k[r>>2]=n.dev,k[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,k[r+12>>2]=n.uid,k[r+16>>2]=n.gid,k[r+20>>2]=n.rdev,K=[n.size>>>0,(Y=n.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+24>>2]=K[0],k[r+28>>2]=K[1],k[r+32>>2]=4096,k[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),a=n.ctime.getTime();return K=[Math.floor(i/1e3)>>>0,(Y=Math.floor(i/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+40>>2]=K[0],k[r+44>>2]=K[1],C[r+48>>2]=i%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+56>>2]=K[0],k[r+60>>2]=K[1],C[r+64>>2]=s%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(Y=Math.floor(a/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+72>>2]=K[0],k[r+76>>2]=K[1],C[r+80>>2]=a%1e3*1e3,K=[n.ino>>>0,(Y=n.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+88>>2]=K[0],k[r+92>>2]=K[1],0},doMsync(e,t,r,n,i){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var s=I.slice(e,e+r);Te.msync(t,s,i,r,n)},varargs:void 0,get(){var e=k[+Be.varargs>>2];return Be.varargs+=4,e},getp:()=>Be.get(),getStr:e=>De(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Me(e,t,r){Be.varargs=r;try{var n=Be.getStreamFromFD(e);switch(t){case 0:if((i=Be.get())<0)return-28;for(;Te.streams[i];)i++;return Te.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=Be.get();return n.flags|=i,0;case 5:return i=Be.getp(),A[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Ue(e,t,r,n){Be.varargs=n;try{t=Be.getStr(t),t=Be.calculateAt(e,t);var i=n?Be.get():0;return Te.open(t,r,i).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Pe,Fe,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Pe=e},ze=e=>{for(var t="",r=e;I[r];)t+=Pe[I[r++]];return t},Ne={},He={},Ve={},je=e=>{throw new Fe(e)},Ge=e=>{throw new Re(e)},We=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Ge("Mismatched type converter count");for(var i=0;i{He.hasOwnProperty(e)?i[t]=He[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=He[e],++a===s.length&&n(i)})))})),0===s.length&&n(i)};function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||je(`type "${n}" must have a positive integer typeid pointer`),He.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;je(`Cannot register type '${n}' twice`)}if(He[e]=t,delete Ve[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function $e(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return qe(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,n)=>{$e(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(I[e])},destructorFunction:null})},Je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Qe=e=>{je(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ze=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,at=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},ot=[],ct=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Ye=e,ot.length&&Ye&&Ye(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=at,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&je("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ge("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ge("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=it[a];if(!o)return i.call(this);s=this.isConst?o.constPointerType:o.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Ze=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Ze.register(e,r,e)}return e},et=e=>Ze.unregister(e),vt(e)),_t=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Qe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&je("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&je("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Ye&&Ye(ct),this.$$.deleteScheduled=!0,this}})};function yt(){}var gt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||je(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},wt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&je(`Cannot register public name '${e}' twice`),bt(i,e,e),i.hasOwnProperty(r)&&je(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,It=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=It?`_${e}`:e};function Et(e,t,r,n,i,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var kt=(e,t,r)=>{for(;t!==r;)t.upcast||je(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return kt(t.$$.ptr,r,this.registeredClass)}function xt(e,t){var r;if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=kt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&je("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:je("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&je(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return kt(t.$$.ptr,r,this.registeredClass)}function Dt(e){return this.fromWireType(C[e>>2])}var Bt=()=>{Object.assign(Mt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Dt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Mt(e,t,r,n,i,s,a,o,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=xt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Ut,Pt,Ft=(e,t,r)=>{i.hasOwnProperty(e)||Ge("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Ut.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},Ht=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&je(`unknown function pointer with signature ${e}: ${t}`),r},Vt=(e,t)=>{var r=gt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},jt=e=>{var t=un(e),r=ze(t);return on(t),r},Gt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||He[t]||(Ve[t]?Ve[t].forEach(e):(r.push(t),n[t]=!0))})),new Pt(`${e}: `+r.map(jt).join([", "]))},Wt=(e,t,r,n,i,s,a,o,c,u,l,d,h)=>{l=ze(l),s=Ht(i,s),o&&(o=Ht(a,o)),u&&(u=Ht(c,u)),h=Ht(d,h);var f=At(l);wt(f,(function(){Gt(`Cannot construct ${l} due to unbound types`,[n])})),We([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:yt.prototype;var a=gt(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Fe("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Fe(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Fe(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:a}});a.prototype=c;var d=new Et(l,a,c,h,r,s,o,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Mt(l,d,!0,!1,!1),m=new Mt(l+"*",d,!1,!1,!1),v=new Mt(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ft(f,a),[p,m,v]}))},qt=(e,t)=>{for(var r=[],n=0;n>2]);return r},$t=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=gt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Kt(e,t,r,n,i,s){var a=t.length;a<2&&je("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=o?1:2;u{var a=qt(t,r);i=Ht(n,i),We([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Fe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Gt(`Cannot construct ${e.name} due to unbound types`,a)},We([],a,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,n,null,i,s),[]))),[]}))},Jt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Qt=(e,t,r,n,i,s,a,o,c)=>{var u=qt(r,n);t=ze(t),t=Jt(t),s=Ht(i,s),We([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Gt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(bt(l,t,n),l[t].overloadTable[r-2]=i),We([],u,(function(i){var o=Kt(n,i,e,s,a,c);return void 0===l[t].overloadTable?(o.argCount=r-2,l[t]=o):l[t].overloadTable[r-2]=o,[]})),[]}))};function Zt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||je("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(k[e>>2])}var or=(e,t)=>{$e(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(x[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{$e(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>I[e>>0];case 2:return r?e=>A[e>>1]:e=>E[e>>1];case 4:return r?e=>k[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");$e(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}$e(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Ke,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,I,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));$e(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,a=0;a<=n;++a){var o=i+a;if(a==n||0==I[o]){var c=De(s,o-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=o+1}}else{var u=new Array(n);for(a=0;a>2]=n,r&&i)pr(t,a,n+1);else if(i)for(var o=0;o255&&(on(a),je("String has UTF-16 code units that do not fit in 8 bits")),I[a+o]=c}else for(o=0;o{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&E[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(I.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return A[t>>1]=0,t-n},gr=e=>2*e.length,br=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=k[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),k[t>>2]=a,(t+=4)+4>i)break}return k[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Ir=(e,t,r)=>{var n,i,s,a,o;r=ze(r),2===t?(n=_r,i=yr,a=gr,s=()=>E,o=1):4===t&&(n=br,i=wr,a=Sr,s=()=>C,o=2),$e(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],a=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==a[l>>o]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return on(e),r},toWireType:(e,n)=>{"string"!=typeof n&&je(`Cannot pass non-string to C++ string type ${r}`);var s=a(n),c=ln(4+s+t);return C[c>>2]=s>>o,i(n,c+4,s+t),null!==e&&e.push(on,c),c},argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction(e){on(e)}})},Ar=(e,t)=>{$e(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Er={},kr=e=>{var t=Er[e];return void 0===t?ze(e):t},Cr=[],xr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=kr(r)],n,i),Tr=e=>{var t=Cr.length;return Cr.push(e),t},Dr=(e,t)=>{var r=He[e];return void 0===r&&je(t+" has unknown type "+jt(e)),r},Br=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Mr=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Ur=(e,t,r)=>{var n=Br(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return Tr(gt(h,d))},Pr=e=>{var t=sr.toValue(e);$t(t),rr(e)},Fr=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{q("")},Lr=()=>Date.now(),Or=(e,t,r)=>I.copyWithin(e,t,t+r),zr=e=>{q("OOM")},Nr=e=>{I.length,zr()},Hr={},Vr=()=>u||"./this.program",jr=()=>{if(!jr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Vr()};for(var t in Hr)void 0===Hr[t]?delete e[t]:e[t]=Hr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);jr.strings=r}return jr.strings},Gr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Wr=(e,t)=>{var r=0;return jr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,Gr(n,s),r+=n.length+1})),0},qr=(e,t)=>{var r=jr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function $r(e){try{var t=Be.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=Be.getStreamFromFD(e),n=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=n,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[t+8>>2]=K[0],k[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[t+16>>2]=K[0],k[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=C[t+4>>2];t+=8;var c=Te.read(e,S,a,o,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Jr(e,t,r,n,i){var s=Fr(t,r);try{if(isNaN(s))return 61;var a=Be.getStreamFromFD(e);return Te.llseek(a,s,n),K=[a.position>>>0,(Y=a.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[i>>2]=K[0],k[i+4>>2]=K[1],a.getdents&&0===s&&0===n&&(a.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Qr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=C[t+4>>2];t+=8;var c=Te.write(e,S,a,o,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Zr(e,t,r,n){try{var i=Be.getStreamFromFD(e),s=Qr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=en,Te.createPreloadedFile=ke,Te.staticInit(),Oe(),Fe=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},_t(),lt(),Bt(),Pt=i.UnboundTypeError=Vt(Error,"UnboundTypeError"),Zt(),ir();var nn,sn={o:ae,A:Me,s:Ue,q:Le,C:Xe,D:Wt,y:Xt,g:Qt,B:or,k:lr,c:hr,b:fr,l:mr,i:Ir,n:Ar,f:xr,m:rr,e:Ur,d:Pr,a:Rr,h:Lr,w:Or,r:Nr,u:Wr,v:qr,j:$r,t:Yr,z:Xr,p:Jr,x:Zr},an=ne(),on=e=>(on=an.G)(e),cn=()=>(cn=an.I)(),un=e=>(un=an.J)(e),ln=e=>(ln=an.K)(e),dn=e=>(dn=an.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,D||(L(),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}V>0||(R(),V>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_viiijj=(e,t,r,n,s,a,o,c)=>(i.dynCall_viiijj=an.N)(e,t,r,n,s,a,o,c),i.dynCall_jij=(e,t,r,n)=>(i.dynCall_jij=an.O)(e,t,r,n),i.dynCall_jii=(e,t,r)=>(i.dynCall_jii=an.P)(e,t,r),i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=an.Q)(e,t,r,n,s),j=function e(){nn||hn(),nn||(j=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),e.ready}),a=h;function o(){var e=["222899dBWFAs","5515853gxuePo","undefined","426388tZSXPw","abs","990612MiOgZs","max","hypot","237006vfktls","1850232fAndkG","length","random","sqrt","168730wqyIyE"];return(o=function(){return e})()}!function(e,t){for(var r=h,n=e();;)try{if(178419===-parseInt(r(349))/1+-parseInt(r(352))/2+-parseInt(r(357))/3+parseInt(r(354))/4+-parseInt(r(348))/5+-parseInt(r(344))/6+parseInt(r(350))/7)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(o);var c=1e-6,u=typeof Float32Array!==a(351)?Float32Array:Array,l=Math[a(346)];var d=Math.PI/180;function h(e,t){var r=o();return(h=function(e,t){return r[e-=344]})(e,t)}Math[a(356)]||(Math[a(356)]=function(){for(var e=a,t=0,r=arguments[e(345)];r--;)t+=arguments[r]*arguments[r];return Math[e(347)](t)});var f=Object.freeze({__proto__:null,EPSILON:c,get ARRAY_TYPE(){return u},RANDOM:l,setMatrixArrayType:function(e){u=e},toRadian:function(e){return e*d},equals:function(e,t){var r=a;return Math[r(353)](e-t)<=c*Math[r(355)](1,Math[r(353)](e),Math[r(353)](t))}});function p(){var e=y,t=new(f[e(128)])(16);return f[e(128)]!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function m(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function v(e,t,r){var n=t[0],i=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],m=t[12],v=t[13],_=t[14],y=t[15],g=r[0],b=r[1],w=r[2],S=r[3];return e[0]=g*n+b*o+w*d+S*m,e[1]=g*i+b*c+w*h+S*v,e[2]=g*s+b*u+w*f+S*_,e[3]=g*a+b*l+w*p+S*y,g=r[4],b=r[5],w=r[6],S=r[7],e[4]=g*n+b*o+w*d+S*m,e[5]=g*i+b*c+w*h+S*v,e[6]=g*s+b*u+w*f+S*_,e[7]=g*a+b*l+w*p+S*y,g=r[8],b=r[9],w=r[10],S=r[11],e[8]=g*n+b*o+w*d+S*m,e[9]=g*i+b*c+w*h+S*v,e[10]=g*s+b*u+w*f+S*_,e[11]=g*a+b*l+w*p+S*y,g=r[12],b=r[13],w=r[14],S=r[15],e[12]=g*n+b*o+w*d+S*m,e[13]=g*i+b*c+w*h+S*v,e[14]=g*s+b*u+w*f+S*_,e[15]=g*a+b*l+w*p+S*y,e}function _(e,t,r){var n=t[0],i=t[1],s=t[2],a=t[3],o=n+n,c=i+i,u=s+s,l=n*o,d=n*c,h=n*u,f=i*c,p=i*u,m=s*u,v=a*o,_=a*c,y=a*u;return e[0]=1-(f+m),e[1]=d+y,e[2]=h-_,e[3]=0,e[4]=d-y,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=h+_,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function y(e,t){var r=k();return(y=function(e,t){return r[e-=116]})(e,t)}function g(e,t){var r=y,n=t[0],i=t[1],s=t[2],a=t[4],o=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(130)](n,i,s),e[1]=Math.hypot(a,o,c),e[2]=Math[r(130)](u,l,d),e}function b(e,t,r,n,i){var s,a=1/Math[y(125)](t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=y,n=e();;)try{if(607357===parseInt(r(118))/1*(-parseInt(r(124))/2)+-parseInt(r(136))/3*(-parseInt(r(135))/4)+-parseInt(r(116))/5+-parseInt(r(127))/6*(parseInt(r(134))/7)+-parseInt(r(119))/8*(parseInt(r(138))/9)+-parseInt(r(117))/10*(parseInt(r(139))/11)+parseInt(r(131))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(k);var w=b;function S(e,t,r,n,i,s,a){var o=1/(t-r),c=1/(n-i),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*o,e[13]=(i+n)*c,e[14]=(a+s)*u,e[15]=1,e}var I=S;function A(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var E=v;function k(){var e=["282jxywnQ","ARRAY_TYPE","max","hypot","45310008HASpsu","sqrt","rightDegrees","115325DOTPyV","2048752OrcDLd","6zcIVuY","EPSILON","999JwfEPL","1111lLXJtu","5152805jgzBwo","99740JyvDtt","166606CMHcDr","39464fjCxSv","cos","abs","downDegrees","upDegrees","10hvnaUe","tan","sin"];return(k=function(){return e})()}var C=A,x=Object.freeze({__proto__:null,create:p,clone:function(e){var t=new(f[y(128)])(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,a,o,c,u,l,d,h,p,m,v){var _=new(f[y(128)])(16);return _[0]=e,_[1]=t,_[2]=r,_[3]=n,_[4]=i,_[5]=s,_[6]=a,_[7]=o,_[8]=c,_[9]=u,_[10]=l,_[11]=d,_[12]=h,_[13]=p,_[14]=m,_[15]=v,_},set:function(e,t,r,n,i,s,a,o,c,u,l,d,h,f,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=a,e[6]=o,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=h,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:m,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],a=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=a,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],_=t[15],y=r*o-n*a,g=r*c-i*a,b=r*u-s*a,w=n*c-i*o,S=n*u-s*o,I=i*u-s*c,A=l*m-d*p,E=l*v-h*p,k=l*_-f*p,C=d*v-h*m,x=d*_-f*m,T=h*_-f*v,D=y*T-g*x+b*C+w*k-S*E+I*A;return D?(D=1/D,e[0]=(o*T-c*x+u*C)*D,e[1]=(i*x-n*T-s*C)*D,e[2]=(m*I-v*S+_*w)*D,e[3]=(h*S-d*I-f*w)*D,e[4]=(c*k-a*T-u*E)*D,e[5]=(r*T-i*k+s*E)*D,e[6]=(v*b-p*I-_*g)*D,e[7]=(l*I-h*b+f*g)*D,e[8]=(a*x-o*k+u*A)*D,e[9]=(n*k-r*x-s*A)*D,e[10]=(p*S-m*b+_*y)*D,e[11]=(d*b-l*S-f*y)*D,e[12]=(o*E-a*C-c*A)*D,e[13]=(r*C-n*E+i*A)*D,e[14]=(m*g-p*w-v*y)*D,e[15]=(l*w-d*g+h*y)*D,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],_=t[15];return e[0]=o*(h*_-f*v)-d*(c*_-u*v)+m*(c*f-u*h),e[1]=-(n*(h*_-f*v)-d*(i*_-s*v)+m*(i*f-s*h)),e[2]=n*(c*_-u*v)-o*(i*_-s*v)+m*(i*u-s*c),e[3]=-(n*(c*f-u*h)-o*(i*f-s*h)+d*(i*u-s*c)),e[4]=-(a*(h*_-f*v)-l*(c*_-u*v)+p*(c*f-u*h)),e[5]=r*(h*_-f*v)-l*(i*_-s*v)+p*(i*f-s*h),e[6]=-(r*(c*_-u*v)-a*(i*_-s*v)+p*(i*u-s*c)),e[7]=r*(c*f-u*h)-a*(i*f-s*h)+l*(i*u-s*c),e[8]=a*(d*_-f*m)-l*(o*_-u*m)+p*(o*f-u*d),e[9]=-(r*(d*_-f*m)-l*(n*_-s*m)+p*(n*f-s*d)),e[10]=r*(o*_-u*m)-a*(n*_-s*m)+p*(n*u-s*o),e[11]=-(r*(o*f-u*d)-a*(n*f-s*d)+l*(n*u-s*o)),e[12]=-(a*(d*v-h*m)-l*(o*v-c*m)+p*(o*h-c*d)),e[13]=r*(d*v-h*m)-l*(n*v-i*m)+p*(n*h-i*d),e[14]=-(r*(o*v-c*m)-a*(n*v-i*m)+p*(n*c-i*o)),e[15]=r*(o*h-c*d)-a*(n*h-i*d)+l*(n*c-i*o),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],a=e[5],o=e[6],c=e[7],u=e[8],l=e[9],d=e[10],h=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*a-r*s)*(d*v-h*m)-(t*o-n*s)*(l*v-h*p)+(t*c-i*s)*(l*m-d*p)+(r*o-n*a)*(u*v-h*f)-(r*c-i*a)*(u*m-d*f)+(n*c-i*o)*(u*p-l*f)},multiply:v,translate:function(e,t,r){var n,i,s,a,o,c,u,l,d,h,f,p,m=r[0],v=r[1],_=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*_+t[12],e[13]=t[1]*m+t[5]*v+t[9]*_+t[13],e[14]=t[2]*m+t[6]*v+t[10]*_+t[14],e[15]=t[3]*m+t[7]*v+t[11]*_+t[15]):(n=t[0],i=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=a,e[4]=o,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=h,e[10]=f,e[11]=p,e[12]=n*m+o*v+d*_+t[12],e[13]=i*m+c*v+h*_+t[13],e[14]=s*m+u*v+f*_+t[14],e[15]=a*m+l*v+p*_+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,a,o,c,u,l,d,h,p,m,v,_,g,b,w,S,I,A,E,k,C,x,T,D=y,B=n[0],M=n[1],U=n[2],P=Math[D(130)](B,M,U);return P0?(r[0]=2*(o*a+l*n+c*s-u*i)/d,r[1]=2*(c*a+l*i+u*n-o*s)/d,r[2]=2*(u*a+l*s+o*i-c*n)/d):(r[0]=2*(o*a+l*n+c*s-u*i),r[1]=2*(c*a+l*i+u*n-o*s),r[2]=2*(u*a+l*s+o*i-c*n)),_(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:g,getRotation:function(e,t){var r=y,n=new(f[r(128)])(3);g(n,t);var i=1/n[0],s=1/n[1],a=1/n[2],o=t[0]*i,c=t[1]*s,u=t[2]*a,l=t[4]*i,d=t[5]*s,h=t[6]*a,p=t[8]*i,m=t[9]*s,v=t[10]*a,_=o+d+v,b=0;return _>0?(b=2*Math[r(132)](_+1),e[3]=.25*b,e[0]=(h-m)/b,e[1]=(p-u)/b,e[2]=(c-l)/b):o>d&&o>v?(b=2*Math[r(132)](1+o-d-v),e[3]=(h-m)/b,e[0]=.25*b,e[1]=(c+l)/b,e[2]=(p+u)/b):d>v?(b=2*Math[r(132)](1+d-o-v),e[3]=(p-u)/b,e[0]=(c+l)/b,e[1]=.25*b,e[2]=(h+m)/b):(b=2*Math[r(132)](1+v-o-d),e[3]=(c-l)/b,e[0]=(p+u)/b,e[1]=(h+m)/b,e[2]=.25*b),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],a=t[2],o=t[3],c=i+i,u=s+s,l=a+a,d=i*c,h=i*u,f=i*l,p=s*u,m=s*l,v=a*l,_=o*c,y=o*u,g=o*l,b=n[0],w=n[1],S=n[2];return e[0]=(1-(p+v))*b,e[1]=(h+g)*b,e[2]=(f-y)*b,e[3]=0,e[4]=(h-g)*w,e[5]=(1-(d+v))*w,e[6]=(m+_)*w,e[7]=0,e[8]=(f+y)*S,e[9]=(m-_)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],a=t[1],o=t[2],c=t[3],u=s+s,l=a+a,d=o+o,h=s*u,f=s*l,p=s*d,m=a*l,v=a*d,_=o*d,y=c*u,g=c*l,b=c*d,w=n[0],S=n[1],I=n[2],A=i[0],E=i[1],k=i[2],C=(1-(m+_))*w,x=(f+b)*w,T=(p-g)*w,D=(f-b)*S,B=(1-(h+_))*S,M=(v+y)*S,U=(p+g)*I,P=(v-y)*I,F=(1-(h+m))*I;return e[0]=C,e[1]=x,e[2]=T,e[3]=0,e[4]=D,e[5]=B,e[6]=M,e[7]=0,e[8]=U,e[9]=P,e[10]=F,e[11]=0,e[12]=r[0]+A-(C*A+D*E+U*k),e[13]=r[1]+E-(x*A+B*E+P*k),e[14]=r[2]+k-(T*A+M*E+F*k),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=r+r,o=n+n,c=i+i,u=r*a,l=n*a,d=n*o,h=i*a,f=i*o,p=i*c,m=s*a,v=s*o,_=s*c;return e[0]=1-d-p,e[1]=l+_,e[2]=h-v,e[3]=0,e[4]=l-_,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=h+v,e[9]=f-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,a){var o=1/(r-t),c=1/(i-n),u=1/(s-a);return e[0]=2*s*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(i+n)*c,e[10]=(a+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*s*2*u,e[15]=0,e},perspectiveNO:b,perspective:w,perspectiveZO:function(e,t,r,n,i){var s,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=y,s=Math[i(125)](t[i(123)]*Math.PI/180),a=Math.tan(t[i(122)]*Math.PI/180),o=Math[i(125)](t.leftDegrees*Math.PI/180),c=Math.tan(t[i(133)]*Math.PI/180),u=2/(o+c),l=2/(s+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(o-c)*u*.5,e[9]=(s-a)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:S,ortho:I,orthoZO:function(e,t,r,n,i,s,a){var o=1/(t-r),c=1/(n-i),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*o,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,a,o,u,l,d,h,p,v,_=y,g=t[0],b=t[1],w=t[2],S=n[0],I=n[1],A=n[2],E=r[0],k=r[1],C=r[2];return Math[_(121)](g-E)0&&(d*=p=1/Math.sqrt(p),h*=p,f*=p);var m=u*f-l*h,v=l*d-c*f,_=c*h-u*d;return(p=m*m+v*v+_*_)>0&&(m*=p=1/Math[i(132)](p),v*=p,_*=p),e[0]=m,e[1]=v,e[2]=_,e[3]=0,e[4]=h*_-f*v,e[5]=f*m-d*_,e[6]=d*v-h*m,e[7]=0,e[8]=d,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=a,e[14]=o,e[15]=1,e},str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[y(130)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:A,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=y,n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],u=e[5],l=e[6],d=e[7],h=e[8],p=e[9],m=e[10],v=e[11],_=e[12],g=e[13],b=e[14],w=e[15],S=t[0],I=t[1],A=t[2],E=t[3],k=t[4],C=t[5],x=t[6],T=t[7],D=t[8],B=t[9],M=t[10],U=t[11],P=t[12],F=t[13],R=t[14],L=t[15];return Math.abs(n-S)<=c*Math[r(129)](1,Math[r(121)](n),Math[r(121)](S))&&Math[r(121)](i-I)<=f[r(137)]*Math.max(1,Math[r(121)](i),Math.abs(I))&&Math[r(121)](s-A)<=f[r(137)]*Math[r(129)](1,Math[r(121)](s),Math.abs(A))&&Math[r(121)](a-E)<=f[r(137)]*Math[r(129)](1,Math.abs(a),Math[r(121)](E))&&Math[r(121)](o-k)<=f[r(137)]*Math.max(1,Math.abs(o),Math.abs(k))&&Math[r(121)](u-C)<=f[r(137)]*Math.max(1,Math[r(121)](u),Math[r(121)](C))&&Math[r(121)](l-x)<=f[r(137)]*Math[r(129)](1,Math[r(121)](l),Math.abs(x))&&Math[r(121)](d-T)<=c*Math[r(129)](1,Math[r(121)](d),Math[r(121)](T))&&Math[r(121)](h-D)<=f[r(137)]*Math[r(129)](1,Math[r(121)](h),Math[r(121)](D))&&Math.abs(p-B)<=f[r(137)]*Math[r(129)](1,Math.abs(p),Math[r(121)](B))&&Math[r(121)](m-M)<=f[r(137)]*Math[r(129)](1,Math[r(121)](m),Math[r(121)](M))&&Math.abs(v-U)<=f[r(137)]*Math[r(129)](1,Math.abs(v),Math[r(121)](U))&&Math[r(121)](_-P)<=c*Math[r(129)](1,Math.abs(_),Math[r(121)](P))&&Math[r(121)](g-F)<=c*Math[r(129)](1,Math[r(121)](g),Math.abs(F))&&Math[r(121)](b-R)<=f[r(137)]*Math[r(129)](1,Math.abs(b),Math[r(121)](R))&&Math[r(121)](w-L)<=f[r(137)]*Math[r(129)](1,Math.abs(w),Math[r(121)](L))},mul:E,sub:C});function T(){var e=O,t=new(f[e(421)])(3);return f[e(421)]!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function D(e){var t=O,r=e[0],n=e[1],i=e[2];return Math[t(431)](r,n,i)}function B(e,t,r){var n=new(f[O(421)])(3);return n[0]=e,n[1]=t,n[2]=r,n}function M(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function U(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function P(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function F(e,t){var r=O,n=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return Math[r(431)](n,i,s)}function R(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function L(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function O(e,t){var r=N();return(O=function(e,t){return r[e-=418]})(e,t)}function z(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function N(){var e=["445340ossuoN","floor","vec3(","round","ARRAY_TYPE","min","6038742MPwhxX","20104209UrYeme","EPSILON","5ZBhcIl","max","642396OVcLUw","ceil","cos","hypot","sin","sqrt","1079632UVrhWn","length","RANDOM","2898988gjPsdI","83562zLUOoV","acos","abs","54DxiOKW"];return(N=function(){return e})()}!function(e,t){for(var r=O,n=e();;)try{if(628971===-parseInt(r(428))/1+parseInt(r(441))/2*(-parseInt(r(438))/3)+-parseInt(r(437))/4*(-parseInt(r(426))/5)+-parseInt(r(423))/6+-parseInt(r(442))/7+parseInt(r(434))/8+parseInt(r(424))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(N);var H,V=M,j=U,G=P,W=F,q=R,$=D,Y=L,K=(H=T(),function(e,t,r,n,i,s){var a,o,c=O;for(!t&&(t=3),!r&&(r=0),o=n?Math[c(422)](n*t+r,e[c(435)]):e[c(435)],a=r;a0&&(a=1/Math[r(433)](a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},dot:z,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],a=r[0],o=r[1],c=r[2];return e[0]=i*c-s*o,e[1]=s*a-n*c,e[2]=n*o-i*a,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],a=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=a+n*(r[2]-a),e},hermite:function(e,t,r,n,i,s){var a=s*s,o=a*(2*s-3)+1,c=a*(s-2)+s,u=a*(s-1),l=a*(3-2*s);return e[0]=t[0]*o+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*o+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*o+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var a=1-s,o=a*a,c=s*s,u=o*a,l=3*s*o,d=3*c*a,h=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*h,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*h,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*h,e},random:function(e,t){var r=O;t=t||1;var n=2*f[r(436)]()*Math.PI,i=2*f[r(436)]()-1,s=Math[r(433)](1-i*i)*t;return e[0]=Math.cos(n)*s,e[1]=Math[r(432)](n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return a=a||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/a,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/a,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/a,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],a=r[3],o=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*o-n*u,h=n*c-i*o,f=i*h-s*d,p=s*l-n*h,m=n*d-i*l,v=2*a;return l*=v,d*=v,h*=v,f*=2,p*=2,m*=2,e[0]=o+l+f,e[1]=c+d+p,e[2]=u+h+m,e},rotateX:function(e,t,r,n){var i=O,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0],a[1]=s[1]*Math[i(430)](n)-s[2]*Math.sin(n),a[2]=s[1]*Math.sin(n)+s[2]*Math[i(430)](n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateY:function(e,t,r,n){var i=O,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[2]*Math[i(432)](n)+s[0]*Math.cos(n),a[1]=s[1],a[2]=s[2]*Math[i(430)](n)-s[0]*Math[i(432)](n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateZ:function(e,t,r,n){var i=O,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0]*Math[i(430)](n)-s[1]*Math[i(432)](n),a[1]=s[0]*Math[i(432)](n)+s[1]*Math.cos(n),a[2]=s[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},angle:function(e,t){var r=O,n=e[0],i=e[1],s=e[2],a=t[0],o=t[1],c=t[2],u=Math[r(433)](n*n+i*i+s*s)*Math[r(433)](a*a+o*o+c*c),l=u&&z(e,t)/u;return Math[r(439)](Math.min(Math[r(427)](l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return O(419)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=O,n=e[0],i=e[1],s=e[2],a=t[0],o=t[1],u=t[2];return Math[r(440)](n-a)<=f[r(425)]*Math.max(1,Math.abs(n),Math[r(440)](a))&&Math[r(440)](i-o)<=c*Math[r(427)](1,Math[r(440)](i),Math[r(440)](o))&&Math.abs(s-u)<=f[r(425)]*Math[r(427)](1,Math[r(440)](s),Math[r(440)](u))},sub:V,mul:j,div:G,dist:W,sqrDist:q,len:$,sqrLen:Y,forEach:K});function J(e,t){var r=Q();return(J=function(e,t){return r[e-=367]})(e,t)}function Q(){var e=["895888yqwTjo","1828452FlMLat","123795DpBXvv","1321331HcPilF","8157594iSDVoe","8848773lanlcg","310CkUqMD","7YtKrQr","8SnYdUJ","2823900urTTId","120qaaFJb"];return(Q=function(){return e})()}function Z(e,t){const r=te();return(Z=function(e,t){return r[e-=418]})(e,t)}!function(e,t){for(var r=J,n=e();;)try{if(916915===-parseInt(r(369))/1+parseInt(r(368))/2+parseInt(r(370))/3*(-parseInt(r(367))/4)+-parseInt(r(377))/5+-parseInt(r(372))/6*(-parseInt(r(375))/7)+parseInt(r(376))/8*(-parseInt(r(373))/9)+parseInt(r(374))/10*(parseInt(r(371))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Q),function(e,t){const r=Z,n=e();for(;;)try{if(934917===-parseInt(r(440))/1+parseInt(r(509))/2+-parseInt(r(448))/3+parseInt(r(479))/4*(-parseInt(r(434))/5)+parseInt(r(470))/6+-parseInt(r(498))/7*(-parseInt(r(490))/8)+-parseInt(r(469))/9*(parseInt(r(433))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(te);var ee=(e,t)=>{const r=Z,n=r(489),i=r(458);t&&e[r(506)](e[r(497)],1);const s=function(){const t=r,s=f(e[t(474)],n),a=f(e.FRAGMENT_SHADER,i),o=e[t(494)]();return e[t(446)](o,s),e.attachShader(o,a),e.linkProgram(o),e[t(511)](o,e[t(454)])?o:(console[t(452)](t(515)+e[t(456)](o)),null)}();let a={program:s,attribLocations:{vertexPosition:e[r(471)](s,"aVertexPosition"),texturePosition:e[r(471)](s,"aTexturePosition")},uniformLocations:{projectionMatrix:e[r(492)](s,"uProjectionMatrix"),modelMatrix:e[r(492)](s,r(459)),viewMatrix:e[r(492)](s,r(485)),rgbatexture:e[r(492)](s,r(443)),ytexture:e[r(492)](s,"yTexture"),utexture:e[r(492)](s,r(461)),vtexture:e[r(492)](s,"vTexture"),isyuv:e[r(492)](s,r(463))}},o=function(){const t=r,n=e[t(455)]();e.bindBuffer(e[t(507)],n);e[t(510)](e[t(507)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e[t(436)]);var i=[];i=i[t(453)]([0,1],[1,1],[1,0],[0,0]);const s=e[t(455)]();e.bindBuffer(e[t(507)],s),e[t(510)](e[t(507)],new Float32Array(i),e[t(436)]);const a=e[t(455)]();e[t(476)](e.ELEMENT_ARRAY_BUFFER,a);return e[t(510)](e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:n,texPosition:s,indices:a}}(),c=h(),u=h(),l=h(),d=h();function h(){const t=r;let n=e[t(472)]();return e[t(483)](e[t(468)],n),e[t(477)](e[t(468)],e[t(421)],e[t(449)]),e[t(477)](e[t(468)],e[t(466)],e[t(449)]),e[t(477)](e[t(468)],e[t(447)],e[t(442)]),e[t(477)](e[t(468)],e[t(508)],e.CLAMP_TO_EDGE),n}function f(t,n){const i=r,s=e[i(488)](t);return e.shaderSource(s,n),e[i(431)](s),e[i(439)](s,e[i(491)])?s:(console.log(i(435)+e[i(430)](s)),e[i(505)](s),null)}function m(t,n){const i=r;e[i(425)](0,0,t,n),e[i(429)](0,0,0,0),e[i(460)](1),e[i(503)](e[i(513)]),e[i(441)](e[i(467)]),e[i(451)](e[i(445)]|e[i(423)]);const s=x[i(481)]();I(s,-1,1,-1,1,.1,100);const c=p();x[i(495)](c);const h=x[i(481)]();x[i(457)](h,B(0,0,0),B(0,0,-1),X[i(427)](0,1,0));{const t=3,r=e[i(514)],n=!1,s=0,c=0;e.bindBuffer(e.ARRAY_BUFFER,o[i(499)]),e[i(504)](a[i(487)][i(464)],t,r,n,s,c),e.enableVertexAttribArray(a[i(487)][i(464)])}{const t=2,r=e[i(514)],n=!1,s=0,c=0;e[i(476)](e[i(507)],o[i(473)]),e.vertexAttribPointer(a.attribLocations[i(428)],t,r,n,s,c),e[i(450)](a[i(487)][i(428)])}e[i(502)](e[i(420)]+3),e.bindTexture(e[i(468)],u),e[i(502)](e[i(420)]+4),e.bindTexture(e.TEXTURE_2D,l),e.activeTexture(e[i(420)]+5),e[i(483)](e.TEXTURE_2D,d),e.bindBuffer(e[i(480)],o[i(418)]),e[i(500)](a[i(419)]),e[i(437)](a.uniformLocations[i(486)],!1,s),e[i(437)](a[i(432)][i(465)],!1,c),e.uniformMatrix4fv(a[i(432)][i(462)],!1,h),e.uniform1i(a.uniformLocations[i(426)],2),e[i(422)](a[i(432)].ytexture,3),e[i(422)](a.uniformLocations.utexture,4),e.uniform1i(a[i(432)][i(482)],5),e[i(422)](a.uniformLocations[i(463)],1);{const t=6,r=e[i(493)],n=0;e.drawElements(e[i(496)],t,r,n)}}return{render:function(t,n,i,s,a){const o=r;e[o(502)](e[o(420)]),e[o(483)](e.TEXTURE_2D,u),e.texImage2D(e[o(468)],0,e[o(484)],t,n,0,e[o(484)],e.UNSIGNED_BYTE,i),e[o(502)](e[o(438)]),e[o(483)](e[o(468)],l),e[o(475)](e.TEXTURE_2D,0,e[o(484)],t/2,n/2,0,e[o(484)],e[o(478)],s),e[o(502)](e[o(424)]),e[o(483)](e[o(468)],d),e[o(475)](e.TEXTURE_2D,0,e.LUMINANCE,t/2,n/2,0,e[o(484)],e[o(478)],a),m(t,n)},renderYUV:function(t,n,i){const s=r;let a=i[s(444)](0,t*n),o=i[s(444)](t*n,t*n*5/4),c=i[s(444)](t*n*5/4,t*n*3/2);e[s(502)](e.TEXTURE0),e[s(483)](e.TEXTURE_2D,u),e[s(475)](e.TEXTURE_2D,0,e[s(484)],t,n,0,e[s(484)],e[s(478)],a),e[s(502)](e[s(438)]),e[s(483)](e[s(468)],l),e[s(475)](e[s(468)],0,e[s(484)],t/2,n/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e[s(502)](e[s(424)]),e[s(483)](e[s(468)],d),e[s(475)](e.TEXTURE_2D,0,e[s(484)],t/2,n/2,0,e[s(484)],e.UNSIGNED_BYTE,c),m(t,n)},destroy:function(){const t=r;e.deleteProgram(a.program),e[t(501)](o[t(499)]),e[t(501)](o.texPosition),e[t(501)](o.indices),e[t(512)](c),e[t(512)](u),e[t(512)](l),e[t(512)](d),a=null,o=null,c=null,u=null,l=null,d=null}}};function te(){const e=["LINEAR","enableVertexAttribArray","clear","log","concat","LINK_STATUS","createBuffer","getProgramInfoLog","lookAt","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","uModelMatrix","clearDepth","uTexture","viewMatrix","isyuv","vertexPosition","modelMatrix","TEXTURE_MIN_FILTER","LEQUAL","TEXTURE_2D","9pTWzCZ","10714758zWPrtd","getAttribLocation","createTexture","texPosition","VERTEX_SHADER","texImage2D","bindBuffer","texParameteri","UNSIGNED_BYTE","2004VDvKZv","ELEMENT_ARRAY_BUFFER","create","vtexture","bindTexture","LUMINANCE","uViewMatrix","projectionMatrix","attribLocations","createShader","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","152ZWeTya","COMPILE_STATUS","getUniformLocation","UNSIGNED_SHORT","createProgram","identity","TRIANGLES","UNPACK_ALIGNMENT","427595vnbWZI","position","useProgram","deleteBuffer","activeTexture","enable","vertexAttribPointer","deleteShader","pixelStorei","ARRAY_BUFFER","TEXTURE_WRAP_T","991602fTKuOS","bufferData","getProgramParameter","deleteTexture","DEPTH_TEST","FLOAT","Unable to initialize the shader program: ","indices","program","TEXTURE0","TEXTURE_MAG_FILTER","uniform1i","DEPTH_BUFFER_BIT","TEXTURE2","viewport","rgbatexture","fromValues","texturePosition","clearColor","getShaderInfoLog","compileShader","uniformLocations","2191210vXMzYk","8995ZyIaGl","An error occurred compiling the shaders: ","STATIC_DRAW","uniformMatrix4fv","TEXTURE1","getShaderParameter","376254ixZYvD","depthFunc","CLAMP_TO_EDGE","rgbaTexture","slice","COLOR_BUFFER_BIT","attachShader","TEXTURE_WRAP_S","3031854FEAovs"];return(te=function(){return e})()}const re=Ke;!function(e,t){const r=Ke,n=e();for(;;)try{if(949753===-parseInt(r(926))/1+-parseInt(r(639))/2+parseInt(r(710))/3+parseInt(r(619))/4*(-parseInt(r(892))/5)+parseInt(r(624))/6*(parseInt(r(573))/7)+-parseInt(r(915))/8+parseInt(r(857))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(de);const ne={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};re(908),re(823),re(888),re(584);const ie={fetch:"fetch",hls:re(823),websocket:re(908),webrtc:re(787),webTransport:"webTransport",worker:"worker",aliyunRtc:re(584),mp4:re(817)},se={player:re(838),playerAudio:re(844),playbackTF:re(707),talk:"talk",playVod:"playVod"},ae={mp4:re(817),webm:re(565),flv:re(578),mov:re(537)},oe={flv:re(578),m7s:re(563),hls:re(823),webrtc:"webrtc",webTransport:re(888),nakedFlow:re(887),fmp4:re(842),mpeg4:re(862),aliyunRtc:re(584),ts:"ts",g711:re(748),pcm:"pcm"};re(598),re(890),re(601),re(698),re(834),re(613),re(658);const ce={mse:re(637),wcs:re(805),offscreen:re(872),wasm:re(693),simd:"simd",mt:"mt",webrtc:re(787),hls:re(823),aliyunRtc:"aliyunRtc"},ue={canvas:re(785),video:re(735)},le={debug:re(711),warn:re(914)};function de(){const e=["message","2917570iivaOX","websocketMessage","webrtcDisconnect","playbackJustTime","local-candidate","tcp","progress","streamEnd","talkStreamError","global","mseSourceended","simdDecodeError","videoSmooth","webrtcConnected","multiDragstart","playVodTimeCache","downloadMemoryLog","mseWidthOrHeightChange","white","WebTransport","streamStats","receiver","playbackPauseOrResume","zoomExpand","multiMouseup","播放超时重播失败","mseWaitVideoCanplayTimeout","ceil","subtitle-segments","webrtcClosed","playVodStats","mouseDownAndUp","videoElementPlayingFailed","sourceopen","A key frame is required after configure() or flush()","load","webcodecsH265NotSupport","decoder-pro.js","webglAlignmentError","硬解码不支持G711a/u音频格式","multiMousemove","simple","talkStreamInactive","videoElementPlayingFailedForWebrtc","videoSyncAudio",'video/mp4;codecs="hev1.2.4.L120.90"',"hls-level-loaded","audio packet","left-down","#FFCC00","不支持硬解码H265","mseDecodeError","Cannot call 'decode' on a closed codec","playVodSeek","wasm","volume","hls-manifest-loaded","isAliyunRtc","load-complete","FMP4","sender","mseSourceStartStreaming","normal","left","load-start","streamSuccess","playing","mseUpdateVideoTimestamp","playbackTF","playbackPrecision","请求结束","2590548yNJcOq","debug","metadata-parsed","multiMousedown","请求失败","videoSEI","crashLog","vertical","MEDIA_ERR_DECODE","right-down","removeLoadingBgImage","speed","audioResumeState","#343434","talkStreamClose","udp","fogOpen","paused","connecting",'video/mp4; codecs="avc1.64002A"',"inbound-rtp","playVodPauseOrResume","webrtc-failed","Decoder error","inView","video","delayTimeout","30min","playbackShowPrecisionChange","visibilityChange","small","loadingTimeout","qualitychange","talkStreamOpen","解码失败","webrtcCompleted","mediaSourceDecoderConfigurationError","talkFailedAndStop","g711","viewResizeChange","stats","click","mediaSourceAppendBufferError","outbound-rtp","closed","Webgl 渲染失败","不支持该分辨率的视频","delta","suspend","sei-in-time","MP3","volumechange","videoInfo","loadingTimeoutRetryEnd","MEDIA_ERR_SRC_NOT_SUPPORTED","jtt","videoInfoError","decode","leftDown","workerFetch","script","half-hour","record","H264(AVC)","fetchSuccess","isMulti","memory access out of bounds","webcodecsDecodeConfigureError","oneHour","mseSourceOpen","aliyunRtcError","fullscreen$2","MEDIA_ERR_NETWORK","stream-parsed","fetchError","canvas","playVodVideoSeekingByMse","webrtc","audioInfo","mediaSourceH265NotSupport","notSupportNewWasm","recordingTimestamp","kBps","流异常","no-audio-track","cruiseStart","wasmUseVideoRenderError","mseError","decoderWorkerWasmError","seeked","demuxed-track","offline","pressureObserverCpu","occlusionDetectActive","等待音频数据超时","wcs","default","ws1006","tempStream","Invalid NAL unit size","aiOcclusionDetectResult","mseSourceBufferBusy","multiMouseover","closeEnd","playbackRateChange","playbackSeek","mediaSourceAudioNoDataTimeout","mp4","video decoder initialization failed","audioDecode","certificate","render","initAudioCodec","hls","playbackTimestamp","3-1","g711a","playbackEnd","webrtcStreamH265","webrtcFailed","decoder-pro-audio.js","playFailedAndPaused","networkDelayTimeout","faceDetectActive","MPEG4","avc","1-1","canplay","player","初始化解码worker超时","缓冲区已满","focusFar","fmp4","sendMessage","playerAudio","loading","mseWorkerAddSourceBufferError","container","worklet","audioCode","playAudio","isWebrtcForOthers","image/webp","playbackForwardMaxRateDecodeIFrame","播放地址不能为空","fullscreen","ptz","29456163rngaIv","switch-url-success","fiStop","AbortError","initDecoderWorkerTimeout","mpeg4","destroy","webrtc-checking","playVodEnded","wasm解码失败","alaw","videoPayload","timeUpdate","audioPayload","streamQualityChange","offscreen","right-up","jessibuca-pro-mp4-recorder-decoder.js","blur","websocketOpen","flv-script-data","buffer","drawingRect","data-channel","webrtcChecking","down","beforeDestroy","mute","aiFaceDetectorInfo","visibilityHiddenTimeout","nakedFlow","webTransport","playVodPause","M7S","multiDrop","50DVPDEA","webrtc-disconnected","Decoding error","Unsupported configuration","playVodMp4Error",'video/mp4;codecs="hev1.3.E.L120.90"',"transport","g711u","red","supportHls265","20240910","playbackStats","buffereos","初始化音频解码器失败","websocketError","candidate-pair","websocket","playbackTime","isWebrtcForZLM","webcodecs","webrtcOnIceConnectionStateChange","talkStreamStart","warn","4103944voiEvj","object",'video/mp4;codecs="hev1.4.10.L120.90"',"wcsWidthOrHeightChange","ten-min","image/png","NotAllowedError","remote-outbound-rtp","5min","video自动渲染失败","fetchClose","1154527EDexjl","webcodecsAudioInitTimeout","音频通道错误","subtitle-playlist","webcodecsDecodeError","multiSelected","currentPts","clickInitPlayer","blob","webFullscreen","webgl","streamRate","active","wiperOpen","initVideo","networkState","pause","recordStart","decoder-pro-old.js","stalled","初始化解码器失败","fogClose","MediaSource解码使用canvas渲染失败","#000","metadata","加载超时重播失败","hevc","MULAW(g711u)","readystatechange","stream","flvScriptData","created","tenMin","multiDblSelected","10min","resize","tallWebsocketClosedByError","fullscreenError","网络超时重播失败","init","websocket1006Error","webgl2","sourcebuffer-created","startstreaming","close","mseSourceBufferFull","ulaw","ratechange","focusNear","playVodWaiting","decoderWorkerInit","sei","loadstart","ended","emptied","empty","fiveMin","widthOrHeightChangeReplayDelayTime","playVodSeekEnd","peer-connection","remote-candidate","flvDemuxBufferSizeTooLarge","talkGetUserMediaSuccess","focus","streamDts","zooming","mseFirstRenderTime","playbackStreamVideoFps","open","audioAACSequenceHeader","loadedmetadata","3-4","updateConfig","mediaSourceUseCanvasRenderPlayFailed","initVideoCodec","playbackPreRateChange","audioNalu","mediaSourceTsIsMaxDiff","right","mov","playbackIsPause","decoder-pro-hard.js","drawingRectInfo","ALAW(g711a)","image/jpeg","delayTimeoutRetryEnd","初始化worker失败","websocketClose","wcsDecodeError","timeupdate","HEVC decoding is not supported","imageDetectActive","waiting","mseSourceBufferError","recordCreateError","streamEndInner","JessibucaPro","canplaythrough","log","playVodEndedAndReplay","videoDecode","decoder-pro-audio-player.js","4-1","netBuf","networkDelay","m7s","webcodecsAudioNoDataTimeout","webm","rightUp","playVodVideoSeekedByMse","initAudio","download","multiFullscreen","stop","AAC","5355vaihGp","destroyEnd","apertureNear","playVodTime","csrc","flv","rtp","FLV待解封装buffer过大","decoderWorkerInitError","memoryLog","remove-buffer","aliyunRtc","videoWaiting","videoSequenceHeader","playToRenderTimes","talkStreamMsg","multiDragleave","isM7sCrypto","play","wasmDecodeError","ttfb","resetVideoDecode","ALAW","videoFrame","webrtcOnConnectionStateChange","FLV",'video/mp4;codecs="hev1.1.6.L120.90"',"resetAudioDecode","HLS","buffering","loadeddata","key","webcodecsUnsupportedConfigurationError","complete","flvMetaData","wasmError","simdH264DecodeVideoWidthIsTooLarge","mediaSourceAudioInitTimeout","durationchange","fetch","Webrtc","playback","aiObjectDetectorInfo","sourceended","timeout","aiImageDetectResult","370844WxZkTs","mseAddSourceBufferError","start","halfHour","base64","6798DozCnd","webrtc-completed","recording","webrtc-closed","recordBlob","load-response-headers","error","cruiseStop","H265(HEVC)","apertureFar","idle","online","objectDetectActive","mse"];return(de=function(){return e})()}const he={click:re(751),mouseDownAndUp:re(670)},fe={normal:re(701),simple:re(680)},pe={normal:re(701),small:re(740)},me=re(554),ve=re(902),_e=36e5,ye=4080,ge=12,be={playIsNotPauseOrUrlIsNull:re(854),webglAlignmentError:re(755),webglContextLostError:"webgl 上下文丢失",mediaSourceH265NotSupport:"不支持硬解码H265",mseSourceBufferFull:re(840),mediaSourceAppendBufferError:"初始化解码器失败",mseSourceBufferError:re(744),mseAddSourceBufferError:re(946),mseWorkerAddSourceBufferError:re(946),mediaSourceDecoderConfigurationError:re(946),mediaSourceTsIsMaxDiff:re(793),mseWidthOrHeightChange:re(793),mediaSourceAudioG711NotSupport:re(678),mediaSourceAudioInitTimeout:"初始化音频解码器失败",mediaSourceAudioNoDataTimeout:"等待音频数据超时",mediaSourceUseCanvasRenderPlayFailed:re(948),mediaSourceBufferedIsZeroError:re(793),webcodecsH265NotSupport:re(689),webcodecsUnsupportedConfigurationError:re(946),webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:re(744),webcodecsAudioInitTimeout:re(905),webcodecsAudioNoDataTimeout:re(804),wcsWidthOrHeightChange:"解码失败",wasmDecodeError:re(744),simdDecodeError:"解码失败",wasmWidthOrHeightChange:re(793),wasmUseVideoRenderError:"video自动渲染失败",videoElementPlayingFailed:re(924),simdH264DecodeVideoWidthIsTooLarge:re(756),networkDelayTimeout:re(496),fetchError:re(714),streamEnd:re(709),websocket1006Error:"流异常结束",websocketError:re(714),webrtcError:re(714),hlsError:re(714),decoderWorkerInitError:re(544),decoderWorkerWasmError:re(866),videoElementPlayingFailedForWebrtc:"video自动渲染失败",videoInfoError:"解析视频分辨率失败",webrtcStreamH265:"webrtc不支持H265",delayTimeout:re(664),loadingTimeout:"加载超时重播失败",loadingTimeoutRetryEnd:re(951),delayTimeoutRetryEnd:"播放超时重播失败",flvDemuxBufferSizeTooLarge:re(580),audioChannelError:re(928),aliyunRtcError:re(714),mseWaitVideoCanplayTimeout:re(793),initDecoderWorkerTimeout:re(839)},we={playType:se[re(838)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:le.warn,debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:pe.normal,loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:re(676),decoderOld:re(944),decoderAudio:re(830),decoderHard:re(539),decoderHardNotWasm:"decoder-pro-hard-not-wasm.js",wasmMp4RecorderDecoder:re(874),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:re(806),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:fe[re(701)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:ne[re(612)],demuxType:oe[re(578)],useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ce.wasm,autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:ae[re(817)],checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:re(717),ptzClickType:he[re(751)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:be,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:ue[re(735)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:"white",opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:re(657),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:re(900),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};re(853),re(775),re(590),re(901),re(515),re(910),re(851),re(696);const Se={init:re(497),initVideo:re(940),render:re(821),playAudio:re(850),initAudio:re(568),kBps:re(792),decode:re(767),audioCode:re(849),audioNalu:re(534),audioAACSequenceHeader:re(527),videoCode:"videoCode",videoCodec:"videoCodec",videoNalu:"videoNalu",videoPayload:re(868),audioPayload:re(870),wasmError:re(608),workerFetch:re(769),iframeIntervalTs:"iframeIntervalTs",isDropping:"isDropping",workerEnd:"workerEnd",networkDelay:re(562),playbackStreamVideoFps:re(525),wasmWidthOrHeightChange:"wasmWidthOrHeightChange",simdDecodeError:re(650),simdH264DecodeVideoWidthIsTooLarge:re(609),websocketOpen:re(876),closeEnd:re(813),tempStream:re(808),videoSEI:re(715),flvScriptData:re(488),aacSequenceHeader:"aacSequenceHeader",videoSequenceHeader:re(586),flvBufferData:"flvBufferData",checkFirstIFrame:"checkFirstIFrame",mseHandle:"mseHandle",mseFirstRenderTime:re(524),mseError:re(797),notSupportNewWasm:"notSupportNewWasm"};re(809);const Ie={audio:1,video:2},Ae={audio:8,video:9,scriptData:18},Ee={init:"init",decode:re(767),audioDecode:re(819),videoDecode:re(558),initAudioCodec:re(822),initVideoCodec:re(532),close:"close",updateConfig:re(530),resetDecode:"resetDecode",clearBuffer:"clearBuffer",resetAudioDecode:re(600),resetVideoDecode:re(594),fetchStream:"fetchStream",sendWsMessage:"sendWsMessage",mseUpdateVideoTimestamp:re(706),playbackIsPause:re(538)};re(612),re(863),re(878),re(925),re(774),re(843),re(863),re(574),re(878),re(906),re(545);const ke={fullscreen:re(781),webFullscreen:re(935),decoderWorkerInit:re(508),play:"play",playing:re(705),pause:re(942),mute:re(884),load:re(674),loading:"loading",zooming:re(523),drawingRect:re(879),drawingRectInfo:re(540),videoInfo:re(762),timeUpdate:re(869),audioInfo:re(788),log:re(556),error:re(630),kBps:re(792),timeout:re(617),delayTimeout:re(736),delayTimeoutRetryEnd:re(543),loadingTimeout:re(741),loadingTimeoutRetryEnd:"loadingTimeoutRetryEnd",stats:"stats",performance:"performance",videoSmooth:"videoSmooth",faceDetectActive:re(833),objectDetectActive:re(636),occlusionDetectActive:re(803),imageDetectActive:re(549),record:re(772),recording:re(626),recordingTimestamp:re(791),recordStart:re(943),recordEnd:"recordEnd",recordCreateError:re(552),recordBlob:re(628),recordCancel:"recordCancel",buffer:re(878),videoFrame:re(596),videoSEI:re(715),videoSEISyncPts:"videoSEISyncPts",start:re(621),metadata:re(950),resize:re(493),volumechange:re(761),volume:re(694),destroy:re(863),beforeDestroy:re(883),streamEnd:re(646),streamRate:re(937),streamAbps:"streamAbps",streamVbps:"streamVbps",streamDts:re(522),streamSuccess:re(704),streamMessage:"streamMessage",streamError:"streamError",streamStats:re(659),streamEndInner:re(553),mseSourceOpen:re(779),mseSourceClose:"mseSourceClose",mseSourceended:re(649),mseSourceStartStreaming:re(700),mseSourceEndStreaming:"mseSourceEndStreaming",mseSourceBufferError:re(551),mseAddSourceBufferError:re(620),mseWorkerAddSourceBufferError:re(846),mseSourceBufferBusy:re(811),mseSourceBufferFull:re(503),videoWaiting:re(585),videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:re(683),playToRenderTimes:re(587),playbackTime:re(909),playbackTimestamp:re(824),playbackTimeScroll:"playbackTimeScroll",playbackPrecision:re(708),playbackShowPrecisionChange:re(738),playbackJustTime:re(642),playbackStats:re(903),playbackSeek:"playbackSeek",playbackPause:"playbackPause",playbackPauseOrResume:re(661),playbackRateChange:re(814),playbackPreRateChange:re(533),playbackEnd:re(827),playVodStats:re(669),playVodPause:re(889),playVodPauseOrResume:re(731),playVodRateChange:"playVodRateChange",playVodTime:re(576),playVodTimeCache:re(654),playVodSeek:re(692),playVodSeekEnd:re(516),playVodVideoSeekingByMse:re(786),playVodVideoSeekedByMse:re(567),playVodCanplay:"playVodCanplay",playVodWaiting:re(507),playVodEndedAndReplay:re(557),playVodEnded:re(865),ptz:re(856),streamQualityChange:re(871),visibilityChange:re(739),netBuf:re(561),close:re(502),networkDelayTimeout:re(832),togglePerformancePanel:"togglePerformancePanel",viewResizeChange:re(749),flvDemuxBufferSizeTooLarge:re(519),talkGetUserMediaSuccess:re(520),talkGetUserMediaFail:"talkGetUserMediaFail",talkGetUserMediaTimeout:"talkGetUserMediaTimeout",talkStreamStart:re(913),talkStreamOpen:re(743),talkStreamClose:"talkStreamClose",talkStreamError:re(647),talkStreamInactive:"talkStreamInactive",talkStreamMsg:re(588),webrtcDisconnect:re(641),webrtcFailed:re(829),webrtcClosed:"webrtcClosed",webrtcChecking:re(881),webrtcConnected:re(652),webrtcCompleted:re(745),webrtcOnConnectionStateChange:re(597),webrtcOnIceConnectionStateChange:"webrtcOnIceConnectionStateChange",crashLog:re(716),focus:re(521),blur:re(875),inView:re(734),visibilityHiddenTimeout:re(886),websocketOpen:re(876),websocketClose:re(545),websocketError:re(906),websocketMessage:re(640),aiObjectDetectorInfo:"aiObjectDetectorInfo",aiFaceDetectorInfo:"aiFaceDetectorInfo",aiOcclusionDetectResult:re(810),aiImageDetectResult:re(618),playFailedAndPaused:re(831),audioResumeState:"audioResumeState",webrtcStreamH265:re(828),flvMetaData:re(607),talkFailedAndStop:"talkFailedAndStop",removeLoadingBgImage:re(720),memoryLog:re(582),downloadMemoryLog:re(655),pressureObserverCpu:re(802),currentPts:re(932),online:re(635),offline:re(801),networkState:re(941),clickInitPlayer:"clickInitPlayer"};re(674),re(869),re(762),re(788),re(630),re(792),re(621),re(617),re(741),re(763),re(736),re(543),re(855),re(935),re(591),re(942),re(750),re(791),re(943),re(552),re(628),re(815),re(903),re(824),re(661),re(814),re(738),re(827),re(731),re(576),re(692),re(516),re(856),re(871),re(521),re(886),re(739),re(876),re(545),re(832),re(615),re(885),re(810),re(618),re(646),re(722),re(715),re(607),re(912),re(651),re(941),re(694),re(540),re(933),re(724),re(647),re(681),re(747),re(588),re(674),re(869),re(788),re(630),re(792),re(617),re(763),re(543),re(591),re(942),re(587),re(716),re(876),re(545),re(831),re(722);const Ce={talkStreamError:ke.talkStreamError,talkStreamClose:ke[re(724)]},xe={playError:"playIsNotPauseOrUrlIsNull",fetchError:re(784),websocketError:re(906),webcodecsH265NotSupport:re(675),webcodecsDecodeError:re(930),webcodecsUnsupportedConfigurationError:re(605),webcodecsDecodeConfigureError:re(777),webcodecsAudioInitTimeout:re(927),webcodecsAudioNoDataTimeout:re(564),mediaSourceH265NotSupport:re(789),mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:re(610),mediaSourceAudioNoDataTimeout:re(816),mediaSourceDecoderConfigurationError:re(746),mediaSourceFull:ke.mseSourceBufferFull,mseSourceBufferError:ke.mseSourceBufferError,mseAddSourceBufferError:ke[re(620)],mseWorkerAddSourceBufferError:ke[re(846)],mediaSourceAppendBufferError:re(752),mediaSourceTsIsMaxDiff:re(535),mediaSourceUseCanvasRenderPlayFailed:re(531),mediaSourceBufferedIsZeroError:"mediaSourceBufferedIsZeroError",wasmDecodeError:re(592),wasmUseVideoRenderError:re(796),simdH264DecodeVideoWidthIsTooLarge:re(609),simdDecodeError:re(650),hlsError:"hlsError",webrtcError:"webrtcError",webrtcClosed:ke[re(668)],webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:re(677),wasmWidthOrHeightChange:"wasmWidthOrHeightChange",mseWidthOrHeightChange:re(656),wcsWidthOrHeightChange:re(918),widthOrHeightChange:"widthOrHeightChange",tallWebsocketClosedByError:re(494),flvDemuxBufferSizeTooLarge:ke.flvDemuxBufferSizeTooLarge,audioChannelError:"audioChannelError",webglContextLostError:"webglContextLostError",videoElementPlayingFailed:re(671),videoElementPlayingFailedForWebrtc:re(682),decoderWorkerInitError:re(581),decoderWorkerWasmError:re(798),videoInfoError:re(766),streamEnd:ke[re(646)],websocket1006Error:re(498),delayTimeout:ke[re(736)],loadingTimeout:ke[re(741)],networkDelayTimeout:ke.networkDelayTimeout,fullscreenError:re(495),aliyunRtcError:re(780),mseWaitVideoCanplayTimeout:re(665),initDecoderWorkerTimeout:re(861),notSupportNewWasm:re(790),playVodMp4Error:re(896),mp4Error:"mp4Error",...Ce};re(526),re(502);const Te=1;re(513),re(569),re(623),re(569),re(934),re(773),re(632),re(834);const De={h264:7,h265:12,mpeg4:99},Be={h264:"H264(AVC)",h265:re(632)},Me={AAC:10,ALAW:7,MULAW:8,MP3:2};re(541),re(485),re(572),re(595),re(760);const Ue={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Pe={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};re(911),re(936),re(499),re(872),re(637),re(823),re(787);const Fe={key:re(604),delta:re(757)},Re={avc:re(729),hev:'video/mp4; codecs="hev1.1.6.L123.b0"',hev2:re(599),hev3:re(684),hev4:re(897),hev5:re(917)},Le={ended:re(511),open:re(526),closed:re(754)};Math[re(666)](40),re(778),re(622),re(490),re(514),re(771),re(919),re(737),re(492),re(923),re(778),re(622),re(490),re(514),re(882),re(873),re(687),re(719),re(536),re(882),re(702),re(768),re(566),re(571),re(859),re(662),re(633),re(575),re(841),re(506),re(795),re(631),re(726),re(947),re(939);re(826),re(899);re(920),re(542),re(852);const Oe={sourceClose:"sourceclose",sourceOpen:re(672),sourceended:re(616),startstreaming:re(501),endstreaming:"endstreaming",qualitychange:re(742)};re(837),re(550),re(547),re(645),re(528);const ze={h264:re(835),h265:re(952)};re(673),re(691),re(895),re(894),re(733),re(548);const Ne={abortError:"The user aborted a request",abortError2:re(860),abort:re(860)};re(845),re(727),re(863);const He={sequenceHeader:0,nalu:1},Ve=1;re(513),re(579),re(765),re(725);re(614),re(526),re(638);re(848),re(770);re(826),re(579),re(644),re(914),re(848),re(848),re(770),re(938),re(723),re(688),re(949),re(570),re(491),re(931),re(812),re(663),re(713),re(679),re(653),re(589),re(891),re(825),re(560),re(836),re(529),re(847),re(735);const je={keyFrame:1,interFrame:2};re(914),re(612),re(578),re(559),re(667),re(695),re(685),re(800),re(877),re(712),re(593),re(703),re(721),re(697),re(629),re(509),re(759),re(794),re(583),re(904),re(500),re(858),re(929),re(783),re(630);const Ge={idle:re(634),connecting:re(728),buffering:re(602),error:re(630),complete:re(606)};re(782),re(718),re(764),re(818),re(686),re(921),re(776);const We={video:1,audio:2},qe=128,$e={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Ye={FT_KEY:16,FT_INTER:32};function Ke(e,t){const r=de();return(Ke=function(e,t){return r[e-=485]})(e,t)}re(907),re(820),re(577),re(880),re(730),re(643),re(753),re(517),re(660),re(518),re(922),re(699),re(487),re(898),re(807),re(690),re(546),re(504),re(867),re(864),re(625),re(893),re(732),re(627),re(489),re(845),re(705);const Xe=typeof window===re(916)&&window.window===window?window:typeof self===re(916)&&self.self===self?self:typeof global===re(916)&&global[re(648)]===global?global:void 0;re(837),re(555),re(606),re(611),re(512),re(511),re(630),re(603),re(510),re(942),re(591),re(705),re(505),re(799),re(945),re(758),re(547),re(761),re(550),re(486),re(630);var Je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Qe(e,t){return e(t={exports:{}},t.exports),t.exports}var Ze=Object.freeze({__proto__:null,commonjsGlobal:Je,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:Qe,getCjsExportFromNamespace:function(e){return e&&e.default||e}});function et(){var e=["then","msRequestFullscreen","webkitCancelFullScreen","addEventListener","4801945sZjOgO","133935LiePsN","change","request","fullscreenchange","error","msFullscreenEnabled","MSFullscreenChange","defineProperties","webkitFullscreenElement","mozFullScreenElement","webkitfullscreenerror","mozfullscreenerror","webkitfullscreenchange","MSFullscreenError","isEnabled","webkitRequestFullScreen","length","msExitFullscreen","18280328yxIYyo","webkitRequestFullscreen","mozFullScreenEnabled","1219880uMKRyx","fullscreenerror","3032ArrMKg","14098gBuLlW","24197SQNKLO","mozCancelFullScreen","fullscreenEnabled","documentElement","exit","document","bind","9507048alowib","catch","removeEventListener","requestFullscreen","webkitCurrentFullScreenElement","screenfull","10JfqIyG","off","117YtEIrW","exitFullscreen","object","52xpAuSr","mozRequestFullScreen","isFullscreen","fullscreenElement","undefined","exports","mozfullscreenchange"];return(et=function(){return e})()}var tt=rt;function rt(e,t){var r=et();return(rt=function(e,t){return r[e-=302]})(e,t)}function nt(){const e=["10JotbkE","getUint32","917pWQzSX","497222VZSzII","min","subarray","_total_bytes","2047698YVPFQk","12664VYifmY","_skipLeadingZero","_buffer","readSEG","5VvjOkR","1527543ONlTKG","_current_word","buffer","readBits","_buffer_index","163378dyaLIJ","117948IuJMcj","51087PTqjeM","_fillCurrentWord","44QoboGs","readByte","error","ExpGolomb: readBits() bits exceeded max 32bits!","readUEG","319LTcaTW","_current_word_bits_left","byteLength"];return(nt=function(){return e})()}!function(e,t){for(var r=rt,n=e();;)try{if(916561===parseInt(r(307))/1*(parseInt(r(320))/2)+-parseInt(r(337))/3*(-parseInt(r(325))/4)+parseInt(r(336))/5+-parseInt(r(314))/6+-parseInt(r(306))/7*(-parseInt(r(305))/8)+-parseInt(r(322))/9*(parseInt(r(303))/10)+parseInt(r(355))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(et),Qe((function(e){var t,r,n,i,s,a;t=rt,r=typeof window!==t(329)&&typeof window[t(312)]!==t(329)?window.document:{},n=t(324)!==t(329)&&e[t(330)],i=function(){for(var e,n=t,i=[[n(317),"exitFullscreen",n(328),n(309),"fullscreenchange","fullscreenerror"],[n(356),"webkitExitFullscreen",n(345),"webkitFullscreenEnabled",n(349),n(347)],[n(352),n(334),n(318),n(334),"webkitfullscreenchange",n(347)],[n(326),n(308),n(346),n(302),n(331),n(348)],[n(333),n(354),"msFullscreenElement",n(342),n(343),n(350)]],s=0,a=i[n(353)],o={};s32&&console.error(t(270)),e<=this[t(273)]){let r=this[t(259)]>>>32-e;return this[t(259)]<<=e,this[t(273)]-=e,r}let r=this[t(273)]?this[t(259)]:0;r>>>=32-this[t(273)];let n=e-this[t(273)];this[t(266)]();let i=Math[t(279)](n,this[t(273)]),s=this[t(259)]>>>32-i;return this[t(259)]<<=i,this[t(273)]-=i,r=r<>>t))return this._current_word<<=t,this[e(273)]-=t,t;return this[e(266)](),t+this[e(254)]()}readUEG(){const e=it;let t=this[e(254)]();return this[e(261)](t+1)-1}[it(256)](){let e=this[it(271)]();return 1&e?e+1>>>1:-1*(e>>>1)}}const ot=pt;!function(e,t){const r=pt,n=e();for(;;)try{if(508855===-parseInt(r(355))/1+-parseInt(r(324))/2+parseInt(r(339))/3*(-parseInt(r(323))/4)+-parseInt(r(297))/5*(-parseInt(r(350))/6)+-parseInt(r(345))/7*(parseInt(r(331))/8)+-parseInt(r(294))/9*(-parseInt(r(334))/10)+parseInt(r(348))/11*(parseInt(r(333))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mt);const ct=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],ut=ct,lt=ct;function dt(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function ht(e){const t=pt;return ft(e)&&e[1]===He[t(341)]}function ft(e){const t=pt;return e[0]>>4===Me[t(332)]}function pt(e,t){const r=mt();return(pt=function(e,t){return r[e-=292]})(e,t)}function mt(){const e=["678799rWUWXM","android","282054NDamGF","userAgent","Flv: AAC invalid sampling frequency index!","eof_flag_","push","863299poOzHM","allStreamsSameTimeFraming zero is Not Supported","channels","mp4a.40.","readBool","sampling_index","destroy","buflen","byteLength","getLATMValue","aac","91467gsTDuK","has_last_incomplete_data","chan_config","50bzZuXS","subarray","channel_config","more than 2 numSubFrames Not Supported","sample_rate","readByte","sampling_freq_index","hasIncompleteData","bufpos","set","sampleRate: ","object_type","readNextAACFrame","sampling_frequency",". Only frameLengthType = 0 Supported","current_syncword_offset_","Invalid sampling index: ","buffer","bufoff","findNextSyncwordOffset","log","Could not found ADTS syncword until payload end","data_","error","toLowerCase","Flv: AAC invalid channel configuration","4yEqeyW","165206doDgfa","sbr","getIncompleteData","readBits","iserro","audioMuxVersionA is Not Supported","read","4604288ttJlaM","AAC","240ZVmodo","380yOTlbL","channel: ","navigator","frameLengthType = ","indexOf","180513ZrNFmo","aacEncoderConfigurationRecord","sequenceHeader","data","length","audio_object_type","7eXMhrU","profile: ","slice"];return(mt=function(){return e})()}const vt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function _t(e){const t=pt;let r=new Uint8Array(e),n=null,i=0,s=0,a=0,o=null;if(i=s=r[0]>>>3,a=(7&r[0])<<1|r[1]>>>7,a<0||a>=vt[t(343)])return void console[t(320)](t(352));let c=vt[a],u=(120&r[1])>>>3;if(u<0||u>=8)return void console[t(317)](t(322));5===i&&(o=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Xe[t(336)][t(351)][t(321)]();return-1!==l[t(338)]("firefox")?a>=6?(i=5,n=new Array(4),o=a-3):(i=2,n=new Array(2),o=a):-1!==l[t(338)](t(349))?(i=2,n=new Array(2),o=a):(i=5,o=a,n=new Array(4),a>=6?o=a-3:1===u&&(i=2,n=new Array(2),o=a)),n[0]=i<<3,n[0]|=(15&a)>>>1,n[1]=(15&a)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&o)>>>1,n[2]=(1&o)<<7,n[2]|=8,n[3]=0),{audioType:t(293),config:n,sampleRate:c,channelCount:u,objectType:i,codec:"mp4a.40."+i,originalCodec:t(358)+s}}ot(330);class yt{constructor(e){const t=ot;this[t(319)]=e,this.eof_flag_=!1,this[t(312)]=this[t(316)](0),this[t(353)]&&console[t(320)](t(318))}findNextSyncwordOffset(e){const t=ot;let r=e,n=this[t(319)];for(;;){if(r+7>=n[t(363)])return this[t(353)]=!0,n[t(363)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}readNextAACFrame(){const e=ot;let t=this.data_,r=null;for(;null==r&&!this[e(353)];){let n=this[e(312)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,a=1&t[n+1],o=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this[e(319)].byteLength){this[e(353)]=!0,this[e(295)]=!0;break}let d=1===a?7:9,h=l-d;n+=d;let f=this[e(316)](n+h);if(this[e(312)]=f,0!==i&&1!==i||0!==s)continue;let p=t[e(298)](n,n+h);r={},r[e(344)]=o+1,r[e(303)]=c,r[e(310)]=ut[c],r[e(299)]=u,r[e(342)]=p}return r}[ot(304)](){return this.has_last_incomplete_data}getIncompleteData(){const e=ot;return this[e(295)]?this.data_[e(298)](this[e(312)]):null}}class gt{constructor(e){const t=ot;this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this[t(316)](0),this[t(353)]&&console[t(320)](t(318))}[ot(316)](e){const t=ot;let r=e,n=this[t(319)];for(;;){if(r+1>=n.byteLength)return this[t(353)]=!0,n[t(363)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}getLATMValue(e){let t=e[ot(327)](2),r=0;for(let n=0;n<=t;n++)r<<=8,r|=e.readByte();return r}[ot(309)](e){const t=ot;let r=this[t(319)],n=null;for(;null==n&&!this.eof_flag_;){let i=this[t(312)],s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this[t(319)][t(363)]){this[t(353)]=!0,this[t(295)]=!0;break}let a=new at(r.subarray(i+3,i+3+s)),o=null;if(a.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this[t(312)]=this[t(316)](i+3+s),a[t(361)]();continue}o=e}else{let e=a[t(359)]();if(e&&a[t(359)]()){console.error(t(329)),a[t(361)]();break}if(e&&this[t(292)](a),!a[t(359)]()){console.error(t(356)),a[t(361)]();break}if(0!==a[t(327)](6)){console[t(320)](t(300)),a[t(361)]();break}if(0!==a.readBits(4)){console[t(320)]("more than 2 numProgram Not Supported"),a.destroy();break}if(0!==a.readBits(3)){console[t(320)]("more than 2 numLayer Not Supported"),a[t(361)]();break}let r=e?this.getLATMValue(a):0,n=a[t(327)](5);r-=5;let i=a[t(327)](4);r-=4;let s=a[t(327)](4);r-=4,a[t(327)](3),r-=3,r>0&&a[t(327)](r);let c=a[t(327)](3);if(0!==c){console[t(320)](t(337)+c+t(311)),a[t(361)]();break}a[t(302)]();let u=a[t(359)]();if(u)if(e)this[t(292)](a);else{let e=0;for(;;){e<<=8;let r=a[t(359)]();if(e+=a[t(302)](),!r)break}console[t(317)](e)}a.readBool()&&a[t(302)](),o={},o[t(344)]=n,o[t(303)]=i,o[t(310)]=ut[o.sampling_freq_index],o[t(299)]=s,o.other_data_present=u}let c=0;for(;;){let e=a.readByte();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function It(e){const t=wt;let r=arguments[t(136)]>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const n=e[t(136)],i=[];let s,a=0;for(;a+r>>=8),a+=r,s){if(a+s>n)break;i.push(e.subarray(a,a+s)),a+=s}return i}function At(e,t){const r=wt,n=e[r(136)];let i=t?2:1,s=0,a=0,o="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)a+=255,i++;if(a+=e[i++],5===s&&n>i+16)for(let t=0;t<16;t++)o+=e[i].toString(16),i++;return{payload:e[r(148)](i),type:s,size:a,uuid:o}}function Et(e){const t=wt,r=e[t(145)],n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i[t(147)](n,0),i[t(147)](e,4),i}function kt(e,t){const r=wt;let n=null;return t?e[r(136)]>=28&&(n=1+(3&e[26])):e[r(136)]>=12&&(n=1+(3&e[9])),n}!function(e,t){const r=wt,n=e();for(;;)try{if(472684===parseInt(r(146))/1+parseInt(r(137))/2*(parseInt(r(139))/3)+parseInt(r(150))/4*(parseInt(r(141))/5)+-parseInt(r(153))/6*(-parseInt(r(140))/7)+parseInt(r(144))/8+-parseInt(r(143))/9+-parseInt(r(142))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bt);const Ct=Lt;function xt(){const e=Lt;return(new Date)[e(437)]()}function Tt(e,t,r){const n=Lt;return Math[n(259)](Math.min(e,Math[n(259)](t,r)),Math.min(t,r))}function Dt(){const e=Lt;return performance&&typeof performance[e(305)]===e(390)?performance[e(305)]():Date[e(305)]()}function Bt(e){let t=0,r=Dt();return n=>{if(!function(e){const t=Ct;return Object[t(331)][t(145)][t(293)](e)===t(256)}(n))return;t+=n;const i=Dt(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=Lt,n=e();for(;;)try{if(303511===-parseInt(r(287))/1+parseInt(r(178))/2*(parseInt(r(408))/3)+-parseInt(r(239))/4*(-parseInt(r(413))/5)+-parseInt(r(372))/6*(-parseInt(r(192))/7)+parseInt(r(299))/8+parseInt(r(400))/9*(parseInt(r(231))/10)+-parseInt(r(280))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Rt),(()=>{const e=Lt;try{if(typeof WebAssembly===e(115)&&typeof WebAssembly[e(418)]===e(390)){const t=new(WebAssembly[e(409)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly[e(409)])return new(WebAssembly[e(407)])(t)instanceof WebAssembly[e(407)]}}catch(e){}})(),Ct(113);const Mt=Ct(427),Ut=Ct(355);function Pt(e){return null==e}function Ft(e){return!Pt(e)}function Rt(){const e=["MediaStreamTrackGenerator","mimeTypes","event","call","{y}-{m}-{d} {h}:{i}:{s}","user-select","forEach","strokeStyle","shadowRoot","1076696FqzEFT","borderColor","transferControlToOffscreen","connect","firefox","none","now","slice","webgl2","search","application/asx","px Arial","wow64","repeat","getUint8","test","gpu","requestVideoFrameCallback","pps","version","experimental-webgl","fillText","type","buffer","src","insertBefore","length","mseDecodeAudio","div","[object Error]","canConstructInDedicatedWorker","setUint16","prototype","useOffscreen","-webkit-user-select","webkitFullscreenElement","useMSE","parse","numberOfFrames","charAt","getUserMedia","PressureObserver","chrome","right","f32-planar","setAttribute","userAgent","absolute","angle","split","click","subarray","toFixed","VideoFrame","borderStyle","audioWorklet",'"9-21-2024"',"top","createEvent","Opera","URL","push","round","demuxUseWorker","360","save","edge","mozGetUserMedia","strokeRect","NaN","getDay","100%","px 宋体","6wTMbLp","charCodeAt","illegal icc","KB/s","MULAW","message","showModalDialog","getImageData","https:","green yuv","playbackRate","replace","createImageBitmap","fontFamily","undefined","hev","indexOf","crossOrigin","function","AudioData","application/360softmgrplugin","textAlign","initEvent","performance","localhost","error","destination","join","3700467latwVn","100","image/png","scrollLeft","-webkit-touch-callout","hostname","pathname","Instance","17262HRRjMq","Module","QihooBrowser","-moz-user-select","wow32","115860gMJMWK","backgroundColor","toLowerCase","AudioDecoder","[object Exception]","instantiate","xxxx","QQBrowser","image","setUint32","application/mozilla-npqihooquicklogin","close","setInt32","filter",'"2.0.0"',"fontSize","img","result","file","document","pointer-events: none !important; display: block !important","0 KB/s","match","360SE","getTime","msFullscreenElement","PB/s","string","VideoDecoder","Safari","VideoEncoder.isConfigSupported() result is not supported","webkit-3d","byteLength","navigator","getSeconds","innerHTML",'"production"',"9999999","object","touchmove","msGetUserMedia","YB/s","win32",'video/mp4; codecs="',"imageSmoothingEnabled","open","not compiled with thread support","MediaSource","substring","onerror","location","video","If you want to help, upload a sample of this file to","data","rgba(0,0,0,0)","setInt16","supported","target","canvas","width","lineWidth","assign","mousedown","Anonymous","dispatchEvent","not compiled with thread support, using thread emulation","quality","application/javascript","toString","height","revokeObjectURL","ended","documentElement","ALAW","dataset","setUint8","vps","nLp","fillStyle","xxxxxxxxxxxx4xxx","readyState","getParameter","onload","failed to asynchronously prepare wasm","application/hwepass2001.installepass2001","ManagedMediaSource","setHours","content","html","getDate","getContext","imageSmoothingQuality","createBufferSource","srcElement","avc1.","getFullYear","MouseEvents","protocol","format","[object DOMException]","touchstart","204UjHBPS","Bytes","ZB/s","floor","mouseup","data-","objectFit","addModule","line","resume","hev3","left","Chrome","download","436583NrxeUc","atob","webgl","webkitGetUserMedia","webm","scrollTop","zIndex","validate","Edge","toDataURL","createObjectURL","360EE","-o-user-select","clearRect","href","WebGLRenderingContext","visibility","fmt ","high","Firefox","restore","hev2","wcsDecodeAudio","pageY","display","attachShadow","sps","hash","-webkit-tap-highlight-color","body","green","fullscreenElement","appendChild","contain","data:","drawImage","set","getMinutes","readAsArrayBuffer","10YMEqnB","h264","hasAudio","substr","EB/s","createBuffer","log","font","8LfYTyY","getAttribute","clientX","pageX","pow","-webkit-text-size-adjust","h265","solid","color","isFullscreen","hev5","opacity","min","ActiveXObject","map","text","Reserved SBR extensions is not implemented","[object Number]","iFrame","apply","max","moz-webgl","stringify","toUpperCase","style","start","memory","bottom","MB/s","random","borderWidth","status","isTypeSupported","removeAttribute","mediaDevices","origin","hev4","true","application/vnd.apple.mpegurl","paused","position","6496820EQNDKR","createElement","then","AAC","noteOn","removeChild","getMonth","347240NNhfjS","rect","fromCharCode"];return(Rt=function(){return e})()}function Lt(e,t){const r=Rt();return(Lt=function(e,t){return r[e-=105]})(e,t)}function Ot(e){return typeof e===Ct(390)}function zt(e){const t=Ct;let r=null,n=31&e[0];return(n===Ue[t(218)]||n===Ue[t(317)])&&(r=Be[t(232)]),!r&&(n=(126&e[0])>>1,(n===Pe[t(153)]||n===Pe.sps||n===Pe[t(317)])&&(r=Be[t(245)])),r}function Nt(){return typeof WritableStream!==Ct(386)}function Ht(e){e[Ct(424)]()}function Vt(e,t){const r=Ct;t&&(e=e[r(426)]((e=>e[r(321)]&&e[r(321)]===t)));let n=e[0],i=null,s=1;if(e[r(325)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let a=s;a=1e3){e[a-1].ts-n.ts<1e3&&(i=a+1)}}}return i}function jt(e){const t=Ct;return e.ok&&e.status>=200&&e[t(270)]<=299}function Gt(){return function(e){const t=Ct;let r="";if("object"==typeof e)try{r=JSON[t(261)](e),r=JSON[t(336)](r)}catch(t){r=e}else r=e;return r}(we)}function Wt(e){return e[0]>>4===Ve&&e[1]===He.sequenceHeader}function qt(e){return!0===e||e===Ct(276)}function $t(e){return!0!==e&&e!==Ct(276)}function Yt(){const e=Ct;return!!(Xe.Worker&&Xe[e(124)]&&"canConstructInDedicatedWorker"in Xe[e(124)]&&!0===Xe[e(124)][e(329)])}function Kt(e,t){const r=It(e.slice(5));let n=!1;return r.forEach((e=>{const r=Lt,i=t?e[0]>>>1&63:31&e[0];(t&&(i===Pe[r(257)]||i===Pe[r(154)]||i===Pe.craNut)||$t(t)&&i===Ue[r(257)])&&(n=!0)})),n}function Xt(e,t){const r=Jt();return(Xt=function(e,t){return r[e-=238]})(e,t)}function Jt(){const e=["need","writeU32","resolve","1002117ZxaGEa","EOF","throw","flush","reject","then","lastReadPromise","180732jLGasS","set","Unsupported type","consumed","buffer","done","read","__awaiter","readU8","3689250Rqijmm","25495ovrzfd","value","writeU8","consume","demand","58VNQTBd","13407201mretdD","close","return","number","length","U16","byteOffset","byteLength","7IafiqO","subarray","write","pull","malloc","5302256JtSOgI","next","writeU16","readU16","copyWithin","apply","377996hyjbpB"];return(Jt=function(){return e})()}const Qt=Xt;!function(e,t){const r=Xt,n=e();for(;;)try{if(380636===parseInt(r(276))/1*(parseInt(r(281))/2)+-parseInt(r(259))/3+parseInt(r(255))/4+parseInt(r(275))/5+-parseInt(r(266))/6+-parseInt(r(244))/7*(-parseInt(r(249))/8)+-parseInt(r(282))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Jt);var Zt=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const a=Xt;function o(e){const t=Xt;try{u(n[t(250)](e))}catch(e){s(e)}}function c(e){const t=Xt;try{u(n[t(261)](e))}catch(e){s(e)}}function u(e){const t=Xt;var n;e[t(271)]?i(e[t(277)]):(n=e[t(277)],n instanceof r?n:new r((function(e){e(n)})))[t(264)](o,c)}u((n=n[a(254)](e,t||[]))[a(250)]())}))};const er=Symbol(32),tr=Symbol(16),rr=Symbol(8);class nr{constructor(e){const t=Qt;this.g=e,this[t(269)]=0,e&&(this[t(256)]=e.next().value)}setG(e){const t=Qt;this.g=e,this[t(280)](e.next()[t(277)],!0)}[Qt(279)](){const e=Qt;this.buffer&&this[e(269)]&&(this[e(270)][e(253)](0,this[e(269)]),this[e(270)]=this[e(270)][e(245)](0,this[e(270)][e(240)]-this[e(269)]),this[e(269)]=0)}[Qt(280)](e,t){const r=Qt;return t&&this[r(279)](),this[r(256)]=e,this[r(262)]()}[Qt(272)](e){return Zt(this,void 0,void 0,(function*(){const t=Xt;return this[t(265)]&&(yield this[t(265)]),this[t(265)]=new Promise(((r,n)=>{const i=t;var s;this[i(263)]=n,this.resolve=e=>{const t=i;delete this.lastReadPromise,delete this[t(258)],delete this[t(256)],r(e)};this[i(280)](e,!0)||null===(s=this[i(247)])||void 0===s||s.call(this,e)}))}))}readU32(){return this.read(er)}[Qt(252)](){return this.read(tr)}[Qt(274)](){return this[Qt(272)](rr)}[Qt(283)](){const e=Qt;var t;this.g&&this.g[e(238)](),this[e(270)]&&this.buffer[e(245)](0,0),null===(t=this.reject)||void 0===t||t.call(this,new Error(e(260))),delete this.lastReadPromise}[Qt(262)](){const e=Qt;if(!this[e(270)]||!this.need)return;let t=null;const r=this.buffer[e(245)](this[e(269)]);let n=0;const i=t=>r[e(240)]<(n=t);if(typeof this[e(256)]===e(239)){if(i(this[e(256)]))return;t=r[e(245)](0,n)}else if(this[e(256)]===er){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this.need===tr){if(i(2))return;t=r[0]<<8|r[1]}else if(this[e(256)]===rr){if(i(1))return;t=r[0]}else if(e(270)in this.need){if(e(242)in this.need){if(i(this[e(256)][e(243)]-this[e(256)][e(242)]))return;new Uint8Array(this[e(256)].buffer,this.need[e(242)])[e(267)](r.subarray(0,n)),t=this.need}else if(this.g)return void this.g[e(261)](new Error(e(268)))}else{if(i(this[e(256)][e(243)]))return;new Uint8Array(this[e(256)])[e(267)](r[e(245)](0,n)),t=this[e(256)]}return this[e(269)]+=n,this.g?this[e(280)](this.g.next(t)[e(277)],!0):this[e(258)]&&this.resolve(t),t}[Qt(246)](e){const t=Qt;if(e instanceof Uint8Array?this[t(248)](e.length)[t(267)](e):t(270)in e?this[t(248)](e[t(243)])[t(267)](new Uint8Array(e.buffer,e[t(242)],e[t(243)])):this[t(248)](e[t(243)])[t(267)](new Uint8Array(e)),!this.g&&!this[t(258)])return new Promise((e=>this[t(247)]=e));this[t(262)]()}[Qt(257)](e){const t=Qt;this[t(248)](4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(262)]()}[Qt(251)](e){const t=Qt;this[t(248)](2)[t(267)]([e>>8&255,255&e]),this.flush()}[Qt(278)](e){this.malloc(1)[0]=e,this.flush()}malloc(e){const t=Qt;if(this[t(270)]){const r=this.buffer[t(240)],n=r+e;if(n<=this[t(270)][t(270)].byteLength-this[t(270)][t(242)])this[t(270)]=new Uint8Array(this[t(270)][t(270)],this.buffer[t(242)],n);else{const e=new Uint8Array(n);e.set(this[t(270)]),this[t(270)]=e}return this[t(270)].subarray(r,n)}return this[t(270)]=new Uint8Array(e),this.buffer}}function ir(){const e=["70274gfTdkd","_opt","JbPro","[❌❌❌][","24bIXmxc","10912640FxALDO","13027mabXFd","debugLevel","3483490gxQOhS","33JehFfm","[✅✅✅][","1024980TDrjKk","log","error","27YPEPRN","length","warn","debugUuid","5055351IiZFQI","debug","5502KtoXbm","4DhKunv","13623060jhyasp"];return(ir=function(){return e})()}function sr(e,t){const r=ir();return(sr=function(e,t){return r[e-=248]})(e,t)}nr.U32=er,nr[Qt(241)]=tr,nr.U8=rr,function(e,t){const r=sr,n=e();for(;;)try{if(943214===-parseInt(r(262))/1*(-parseInt(r(266))/2)+parseInt(r(257))/3*(parseInt(r(260))/4)+-parseInt(r(250))/5+-parseInt(r(259))/6*(-parseInt(r(268))/7)+parseInt(r(267))/8+-parseInt(r(253))/9*(parseInt(r(270))/10)+parseInt(r(248))/11*(-parseInt(r(261))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ir);class ar{constructor(e){const t=sr;this[t(251)]=function(r){const n=t;if(e._opt[n(269)]==le[n(258)]){const t=e[n(263)][n(256)]?"["+e[n(263)][n(256)]+"]":"";for(var i=arguments[n(254)],s=new Array(i>1?i-1:0),a=1;a1?i-1:0),a=1;a1?s-1:0),o=1;o=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(496)],0,s)}static parseSPS(e){const t=or;let r=cr._ebsp2rbsp(e),n=new at(r);n[t(517)]();let i=n[t(517)]();n[t(517)]();let s=n[t(517)]();n.readUEG();let a=cr[t(500)](i),o=cr.getLevelString(s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n[t(505)](),3===c&&n[t(488)](1),c<=3&&(u=l[c]),d=n.readUEG()+8,n.readUEG(),n[t(488)](1),n[t(489)]())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(w=r[e-1],S=i[e-1]):255===e&&(w=n.readByte()<<8|n[t(517)](),S=n.readByte()<<8|n[t(517)]())}if(n.readBool()&&n[t(489)](),n[t(489)]()&&(n[t(488)](4),n[t(489)]()&&n.readBits(24)),n[t(489)]()&&(n[t(505)](),n.readUEG()),n.readBool()){let e=n[t(488)](32),r=n[t(488)](32);A=n[t(489)](),E=r,k=2*e,I=E/k}}let C=1;(1!==w||1!==S)&&(C=w/S);let x=0,T=0;if(0===c)x=1,T=2-v;else{x=3===c?1:2,T=(1===c?2:1)*(2-v)}let D=16*(p+1),B=16*(m+1)*(2-v);D-=(_+y)*x,B-=(g+b)*T;let M=Math.ceil(D*C);return n[t(515)](),n=null,{profile_string:a,level_string:o,bit_depth:d,ref_frames:f,chroma_format:u,chroma_format_string:cr[t(513)](u),frame_rate:{fixed:A,fps:I,fps_den:k,fps_num:E},sar_ratio:{width:w,height:S},codec_size:{width:D,height:B},present_size:{width:M,height:B}}}static[or(511)](e){const t=or;let r=e[t(494)](1,4),n=t(487);for(let e=0;e<3;e++){let i=r[e][t(481)](16);i[t(504)]<2&&(i="0"+i),n+=i}let i=cr[t(506)](e),s=new at(i);s[t(517)]();let a=s[t(517)]();s.readByte();let o=s[t(517)]();s[t(505)]();let c=cr[t(500)](a),u=cr[t(490)](o),l=1,d=420,h=[0,420,422,444],f=8,p=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(l=s.readUEG(),3===l&&s[t(488)](1),l<=3&&(d=h[l]),f=s[t(505)]()+8,p=s[t(505)]()+8,s[t(488)](1),s[t(489)]())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(A=r[e-1],E=n[e-1]):255===e&&(A=s.readByte()<<8|s[t(517)](),E=s.readByte()<<8|s[t(517)]())}if(s[t(489)]()&&s[t(489)](),s[t(489)]()&&(s[t(488)](4),s[t(489)]()&&s[t(488)](24)),s[t(489)]()&&(s[t(505)](),s.readUEG()),s.readBool()){let e=s.readBits(32),r=s[t(488)](32);C=s[t(489)](),x=r,T=2*e,k=x/T}}let D=1;(1!==A||1!==E)&&(D=A/E);let B=0,M=0;if(0===l)B=1,M=2-g;else{B=3===l?1:2,M=(1===l?2:1)*(2-g)}let U=16*(_+1),P=16*(y+1)*(2-g);U-=(b+w)*B,P-=(S+I)*M;let F=Math[t(499)](U*D);return s[t(515)](),s=null,{codec_mimetype:n,profile_idc:a,level_idc:o,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:cr[t(513)](d),frame_rate:{fixed:C,fps:k,fps_den:T,fps_num:x},sar_ratio:{width:A,height:E},codec_size:{width:U,height:P},present_size:{width:F,height:P}}}static[or(483)](e,t){let r=8,n=8,i=0;for(let s=0;s=this[t(493)])return this[t(508)]=!0,0;this[t(508)]=!1,n=this.bufoff+e>8?8-this[t(499)]:e,r<<=n,r+=this.buffer[this.bufpos]>>8-this[t(499)]-n&255>>8-n,this[t(499)]+=n,e-=n,8==this.bufoff&&(this.bufpos++,this[t(499)]=0)}return r}[dr(492)](e){const t=dr;let r=this[t(489)],n=this[t(499)],i=this[t(500)](e);return this.bufpos=r,this[t(499)]=n,i}[dr(494)](){const e=dr;let t;for(t=0;0===this[e(500)](1)&&!this[e(508)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(362)](n,0),i[t(362)](r[t(386)],4),r.sps=i}if(r[t(417)]){const e=r[t(417)][t(394)],n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(n,0),i[t(362)](r[t(417)],4),r[t(417)]=i}return r}function br(e,t){const r=xr();return(br=function(e,t){return r[e-=346]})(e,t)}function wr(e){const t=br;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(394)]>>8&255,i[12]=255&r[t(394)],i[t(357)](...r,1,n[t(394)]>>8&255,255&n[t(394)],...n);return new Uint8Array(i)}function Sr(e){const t=br;let{sps:r,pps:n}=e,i=8+r.byteLength+1+2+n[t(394)],s=!1;const a=cr[t(378)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let o=new Uint8Array(i);o[0]=1,o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=255,o[5]=225;let c=r[t(394)];o[6]=c>>>8,o[7]=255&c;let u=8;o[t(362)](r,8),u+=c,o[u]=1;let l=n[t(394)];o[u+1]=l>>>8,o[u+2]=255&l,o[t(362)](n,u+3),u+=3+l,s&&(o[u]=252|a.chroma_format_idc,o[u+1]=248|a[t(406)]-8,o[u+2]=248|a[t(392)]-8,o[u+3]=0,u+=4);const d=[23,0,0,0,0],h=new Uint8Array(d[t(375)]+o[t(394)]);return h[t(362)](d,0),h[t(362)](o,d[t(375)]),h}function Ir(e,t){const r=br;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(394)]>>24&255,n[6]=e.byteLength>>16&255,n[7]=e.byteLength>>8&255,n[8]=255&e[r(394)];const i=new Uint8Array(n.length+e[r(394)]);return i[r(362)](n,0),i[r(362)](e,n[r(375)]),i}function Ar(e,t){const r=br;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(375)]+e[r(394)]);return i[r(362)](n,0),i[r(362)](e,n.length),i}function Er(e){return 31&e[0]}function kr(e){return e===Ue.kSliceSEI}function Cr(e){return!function(e){const t=br;return e===Ue[t(386)]||e===Ue[t(417)]}(e)&&!kr(e)}function xr(){const e=["chroma_format","kSliceNonIDR","skipBits","refSampleDuration","avc1.","8GcQigZ","length","level","compat","parseSPS$2","ceil","nalu","Strange AVCDecoderConfigurationRecord: PPS Count = ","profile","codec","presentHeight","width","sps","7226CykxwX","sar_ratio"," Strange AVCDecoderConfigurationRecord: SPS Count = ","buffer","1240758pjhAOJ","bit_depth_chroma","Invalid AVCDecoderConfigurationRecord: No PPS'","byteLength","setUint32","Could not find H264 startcode until payload end!","596435pSItrg","read_golomb","timescale","codecWidth","readUByte","126130vCKjeJ","440KUAuhS","sarRatio","skipScalingList","bit_depth_luma","fps_num","Strange NaluLengthSizeMinusOne: ","codec_size","read","present_size","fixed","70nsTftZ","error","iFrame","h264","pps","data","4WwyELk","eofFlag","nb_sps","codecHeight","frame_rate","2788525jOaWRZ","fps_den","readBits","30fsBktZ","shift","bit_depth","toString","currentStartcodeOffset","readBool","frameRate","profile_string","27847236EwlDMn","readUEG","subarray","Invalid AVCDecoderConfigurationRecord: No SPS","parseSPS","1717272ifsRCZ","Invalid AVCDecoderConfigurationRecord, lack of data!","findNextStartCodeOffset","push","videoType","presentWidth","skipUEG","level_string","set","type","height","getUint16","getUint8","avc_ref_frames","kReserved0"];return(xr=function(){return e})()}function Tr(e){return e===Ue[br(415)]}function Dr(e){const t=br;if(0===e[t(375)])return!1;const r=Er(e[0]);for(let n=1;n=n[t(394)])return this[t(420)]=!0,n[t(394)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}readNextNaluPayload(){const e=yr;let t=this[e(418)],r=null;for(;null==r&&!this[e(420)];){let n=this[e(431)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,a=this[e(356)](n);this.currentStartcodeOffset=a,i>=Ue[e(368)]||0===s&&(r={type:i,data:t.subarray(n,a)})}return r}}class Mr{constructor(e){const t=yr;let r=e[t(418)].byteLength;this[t(363)]=e[t(363)],this[t(418)]=new Uint8Array(4+r),new DataView(this[t(418)][t(390)])[t(395)](0,r),this[t(418)][t(362)](e.data,4)}}const Ur=Pr;function Pr(e,t){const r=Fr();return(Pr=function(e,t){return r[e-=467]})(e,t)}function Fr(){const e=["m_byte","20DWhmLn","GetUE","m_zeros","2653176CEgjlg","m_idx","m_len","m_bits","GetBYTE","600680PgKhsd","342zhTUph","GetSE","13503UqdOkI","m_data","3582sHxCjA","497807fcYgNa","14173687mhUQKi","6533808kxGyAo","GetWord","4120KKMrEb","GetBit","3wZOIRc"];return(Fr=function(){return e})()}!function(e,t){const r=Pr,n=e();for(;;)try{if(786015===parseInt(r(467))/1+-parseInt(r(478))/2*(-parseInt(r(473))/3)+parseInt(r(483))/4*(parseInt(r(475))/5)+parseInt(r(488))/6*(-parseInt(r(486))/7)+parseInt(r(469))/8+-parseInt(r(484))/9*(parseInt(r(471))/10)+-parseInt(r(468))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fr);class Rr{constructor(e){const t=Pr;this[t(479)]=null,this[t(487)]=e,this[t(480)]=e.length,this[t(479)]=0,this.m_bits=0,this[t(474)]=0,this[t(477)]=0}[Ur(482)](){const e=Ur;if(this.m_idx>=this[e(480)])return 0;let t=this.m_data[this.m_idx++];return 0==t?(this.m_zeros++,this.m_idx>this[e(481)]&1}[Ur(470)](e){const t=Ur;let r=0;for(;e>0;)r<<=1,r|=this[t(472)](),e--;return r}[Ur(476)](){const e=Ur;let t=0;for(;this[e(479)]>1;return!(1&e)&&(t=-t),t}}const Lr=Nr;!function(e,t){const r=Nr,n=e();for(;;)try{if(439392===-parseInt(r(223))/1+parseInt(r(216))/2+parseInt(r(230))/3+parseInt(r(226))/4+parseInt(r(229))/5+parseInt(r(227))/6+-parseInt(r(218))/7)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zr);class Or{static[Lr(219)](e){let t=e,r=t[Lr(222)],n=new Uint8Array(r),i=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(n[i]=t[e],i++);return new Uint8Array(n.buffer,0,i)}static[Lr(225)](e){const t=Lr;let r=Or[t(219)](e);const n=new Rr(r);let i="",s="",a="",o="";n.GetWord(4);let c=n[t(228)](3);if(c>6)return console[t(221)](t(215)),!1;n.GetWord(1),n[t(228)](2),n.GetWord(1),i=n.GetWord(5),n.GetWord(32),n[t(228)](1),n.GetWord(1),n.GetWord(1),n.GetWord(1),n[t(228)](44),s=n[t(228)](8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(228)](2);for(let e=0;e15)return console.warn("SPSParser sps_seq_parameter_set_id > 15",d),!1;let h=n[t(220)]();return h>3?(console[t(221)](t(224),h),!1):(3==h&&n[t(228)](1),a=n[t(220)](),o=n[t(220)](),n[t(228)](1)&&(n[t(220)](),n.GetUE(),n[t(220)](),n[t(220)]()),n[t(220)]()!=n[t(220)]()?(console[t(221)](t(217)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:a,height:o},present_size:{width:"",height:o}})}}function zr(){const e=["_ebsp2rbsp","GetUE","warn","byteLength","196648FAKiyE","SPSParser chroma_format_idc > 3","parseSPS","2338552ASEhVH","3893304aPlQAL","GetWord","3206625aWVbHH","1120788OVcoIJ","SPSParser sps_max_sub_layers_minus1 > 6","554474EJCewx","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","13227480fYgZPJ"];return(zr=function(){return e})()}function Nr(e,t){const r=zr();return(Nr=function(e,t){return r[e-=215]})(e,t)}function Hr(){const e=["readByte","6FiASve","hvc1.","readSEG",".B0","109920nbxBAZ","4:2:2","5628945LssFoS","push","readBits","byteLength","Unknown","19792AbtZrg","1738SrHXGe","4:2:0","4:4:4","3906YvSczr","2049416uLQHYr","2791296hieooG","readUEG",".1.L","readBool","10jZPElV","4:0:0","481245DMpaAd","toFixed","713144KvaOIu"];return(Hr=function(){return e})()}function Vr(e,t){const r=Hr();return(Vr=function(e,t){return r[e-=185]})(e,t)}!function(e,t){const r=Vr,n=e();for(;;)try{if(630858===parseInt(r(186))/1+parseInt(r(188))/2*(parseInt(r(190))/3)+parseInt(r(206))/4+-parseInt(r(211))/5*(-parseInt(r(207))/6)+parseInt(r(196))/7+-parseInt(r(201))/8*(parseInt(r(205))/9)+-parseInt(r(194))/10*(parseInt(r(202))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hr);const jr=e=>{let t=e,r=t[Vr(199)],n=new Uint8Array(r),i=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(n[i]=t[e],i++);return new Uint8Array(n.buffer,0,i)},Gr=e=>{const t=Vr;switch(e){case 0:return t(185);case 1:return t(203);case 2:return t(195);case 3:return t(204);default:return t(200)}},Wr=$r;function qr(){const e=["9oyFNkU","push","readBits","readByte","1729012HiqNyC","27609kESMfA","Rext","4:0:0","8578510nGIIrX","getChromaFormatString","parsePPS","Unknown","_ebsp2rbsp",".B0","destroy","Main","readUEG","201018ESBKDX","460581ZHTROE","parseSPS","buffer","parseVPS","4:2:0","3141144aAyXYW","10vjzkNI","4:2:2","42gkMfsD","readBool","19858795dudmub","getLevelString","Main10","readSEG","min","getProfileString","hvc1.","MainSP","7pnqQSk"];return(qr=function(){return e})()}function $r(e,t){const r=qr();return($r=function(e,t){return r[e-=374]})(e,t)}!function(e,t){const r=$r,n=e();for(;;)try{if(457164===parseInt(r(379))/1*(parseInt(r(400))/2)+parseInt(r(392))/3+parseInt(r(378))/4*(-parseInt(r(398))/5)+-parseInt(r(391))/6*(-parseInt(r(410))/7)+-parseInt(r(397))/8+-parseInt(r(374))/9*(parseInt(r(382))/10)+parseInt(r(402))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qr);class Yr{static _ebsp2rbsp(e){const t=$r;let r=e,n=r.byteLength,i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(394)],0,s)}static[Wr(395)](e){const t=Wr;let r=Yr[t(386)](e),n=new at(r);return n[t(377)](),n[t(377)](),n.readBits(4),n[t(376)](2),n[t(376)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n[t(401)]()}}static[Wr(393)](e){const t=Wr;let r=Yr[t(386)](e),n=new at(r);n.readByte(),n.readByte();let i=0,s=0,a=0,o=0;n[t(376)](4);let c=n.readBits(3);n[t(401)]();let u=n.readBits(2),l=n.readBool(),d=n[t(376)](5),h=n[t(377)](),f=n.readByte(),p=n[t(377)](),m=n[t(377)](),v=n[t(377)](),_=n[t(377)](),y=n.readByte(),g=n[t(377)](),b=n[t(377)](),w=n.readByte(),S=n[t(377)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(376)](2);for(let e=0;e1&&n[t(405)]();for(let e=0;e0&&e<=16?(F=r[e-1],R=i[e-1]):255===e&&(F=n[t(376)](16),R=n[t(376)](16))}if(n[t(401)]()&&n[t(401)](),n.readBool()){n.readBits(3),n[t(401)](),n.readBool()&&(n[t(377)](),n[t(377)](),n.readByte())}if(n[t(401)]()&&(n[t(390)](),n[t(390)]()),n[t(401)](),n.readBool(),n[t(401)](),U=n[t(401)](),U&&(n[t(390)](),n[t(390)](),n[t(390)](),n[t(390)]()),n.readBool()){if(O=n[t(376)](32),z=n[t(376)](32),n[t(401)]()&&n[t(390)](),n[t(401)]()){let e=!1,r=!1,i=!1;e=n[t(401)](),r=n[t(401)](),(e||r)&&(i=n[t(401)](),i&&(n[t(377)](),n[t(376)](5),n.readBool(),n[t(376)](5)),n.readBits(4),n.readBits(4),i&&n[t(376)](4),n[t(376)](5),n[t(376)](5),n[t(376)](5));for(let s=0;s<=c;s++){let s=n.readBool();L=s;let a=!0,o=1;!s&&(a=n[t(401)]());let c=!1;if(a?n[t(390)]():c=n.readBool(),!c&&(o=n.readUEG()+1),e){for(let e=0;e>6&3,n[t(507)]=e[1]>>5&1,n.general_profile_idc=31&e[1],n[t(418)]=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n[t(502)]=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n.general_constraint_indicator_flags=n[t(502)]<<16|e[10]<<8|e[11],n[t(529)]=e[12],n[t(473)]=(15&e[13])<<8|e[14],n[t(413)]=3&e[15],n[t(445)]=3&e[16],n[t(407)]=7&e[17],n[t(506)]=7&e[18],n[t(503)]=e[19]<<8|e[20],n[t(438)]=e[21]>>6&3,n[t(482)]=e[21]>>3&7,n.temporalIdNested=e[21]>>2&1,n[t(444)]=3&e[21];let i=e[22],s=e[t(516)](23);for(let e=0;e0)for(let t=r;t<8;t++)e[n(488)](2);i[n(476)]=[],i[n(471)]=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i[n(511)]=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i[n(481)]=[],i[n(437)]=[];for(let t=0;t{const t=Vr;let r=jr(e),n=new at(r);return n.readByte(),n[t(189)](),n[t(198)](4),n.readBits(2),n[t(198)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n[t(210)]()}})(r),o=(e=>{const t=Vr;let r=jr(e),n=new at(r);n[t(189)](),n[t(189)]();let i=0,s=0,a=0,o=0;n.readBits(4);let c=n.readBits(3);n[t(210)]();let u=n[t(198)](2),l=n[t(210)](),d=n[t(198)](5),h=n.readByte(),f=n[t(189)](),p=n[t(189)](),m=n[t(189)](),v=n[t(189)](),_=n[t(189)](),y=n[t(189)](),g=n[t(189)](),b=n[t(189)](),w=n[t(189)](),S=n[t(189)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(198)](2);for(let e=0;e1&&n[t(192)]();for(let e=0;e0&&e<16?(F=r[e-1],R=i[e-1]):255===e&&(F=n.readBits(16),R=n[t(198)](16))}if(n[t(210)]()&&n.readBool(),n[t(210)]()&&(n[t(198)](3),n[t(210)](),n[t(210)]()&&(n[t(189)](),n[t(189)](),n[t(189)]())),n[t(210)]()&&(n[t(208)](),n[t(208)]()),n[t(210)](),n.readBool(),n[t(210)](),U=n[t(210)](),U&&(i+=n[t(208)](),s+=n.readUEG(),a+=n.readUEG(),o+=n[t(208)]()),n[t(210)]()&&(O=n[t(198)](32),z=n.readBits(32),n[t(210)]()&&(n[t(208)](),n[t(210)]()))){let e=!1,r=!1,i=!1;e=n[t(210)](),r=n[t(210)](),(e||r)&&(i=n[t(210)](),i&&(n[t(189)](),n[t(198)](5),n[t(210)](),n[t(198)](5)),n[t(198)](4),n[t(198)](4),i&&n.readBits(4),n.readBits(5),n[t(198)](5),n[t(198)](5));for(let s=0;s<=c;s++){let s=n.readBool();L=s;let a=!1,o=1;!s&&(a=n[t(210)]());let c=!1;if(a?n.readSEG():c=n.readBool(),!c&&(cpbcnt=n.readUEG()+1),e)for(let e=0;e{const t=Vr;let r=jr(e),n=new at(r);n[t(189)](),n[t(189)](),n.readUEG(),n[t(208)](),n[t(210)](),n[t(210)](),n[t(198)](3),n[t(210)](),n[t(210)](),n[t(208)](),n.readUEG(),n[t(192)](),n[t(210)](),n.readBool(),n.readBool()&&n[t(208)](),n.readSEG(),n[t(192)](),n[t(210)](),n[t(210)](),n[t(210)](),n[t(210)]();let i=n[t(210)](),s=n.readBool(),a=1;return s&&i?a=0:s?a=3:i&&(a=2),{parallelismType:a}})(n);s=Object[t(519)](s,a,o,c);let u=23+(5+r[t(509)])+(5+i[t(509)])+(5+n[t(509)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(390)])<<6|(s[t(507)]?1:0)<<5|31&s[t(422)],l[2]=s[t(472)]||0,l[3]=s.general_profile_compatibility_flags_2||0,l[4]=s[t(515)]||0,l[5]=s[t(436)]||0,l[6]=s[t(523)]||0,l[7]=s[t(457)]||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s[t(495)]||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s[t(473)])>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s.parallelismType,l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s[t(520)],l[18]=248|7&s[t(462)],l[19]=0,l[20]=0,l[21]=(3&s.constant_frame_rate)<<6|(7&s[t(409)])<<3|(s[t(468)]?1:0)<<2|3,l[22]=3,l[23]=128|Pe.vps,l[24]=0,l[25]=1,l[26]=(65280&r[t(509)])>>8,l[27]=(255&r[t(509)])>>0,l[t(427)](r,28),l[23+(5+r[t(509)])+0]=128|Pe[t(501)],l[23+(5+r.byteLength)+1]=0,l[23+(5+r[t(509)])+2]=1,l[23+(5+r[t(509)])+3]=(65280&i[t(509)])>>8,l[23+(5+r[t(509)])+4]=(255&i.byteLength)>>0,l[t(427)](i,23+(5+r.byteLength)+5),l[23+(5+r.byteLength+5+i[t(509)])+0]=128|Pe.pps,l[23+(5+r[t(509)]+5+i[t(509)])+1]=0,l[23+(5+r[t(509)]+5+i[t(509)])+2]=1,l[23+(5+r[t(509)]+5+i.byteLength)+3]=(65280&n[t(509)])>>8,l[23+(5+r.byteLength+5+i.byteLength)+4]=(255&n[t(509)])>>0,l[t(427)](n,23+(5+r[t(509)]+5+i[t(509)])+5);const d=[28,0,0,0,0],h=new Uint8Array(d[t(416)]+l.byteLength);return h.set(d,0),h[t(427)](l,d.length),h}function en(e,t){const r=an;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(509)]>>24&255,n[6]=e[r(509)]>>16&255,n[7]=e[r(509)]>>8&255,n[8]=255&e[r(509)];const i=new Uint8Array(n[r(416)]+e[r(509)]);return i[r(427)](n,0),i[r(427)](e,n[r(416)]),i}function tn(e,t){const r=an;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(416)]+e[r(509)]);return i[r(427)](n,0),i.set(e,n.length),i}function rn(e){return(126&e[0])>>1}function nn(e){return e===Pe[an(500)]}function sn(e){return!((t=e)>=32&&t<=40);var t}function an(e,t){const r=on();return(an=function(e,t){return r[e-=389]})(e,t)}function on(){const e=["sub_layer_profile_space","data"," < 23","buffer","pps","sub_layer_frame_only_constraint_flag","numTemporalLayers","pic_height_in_luma_samples","bit_depth","1370782GTHrpe","parseHEVCDecoderVPSAndSPSAndPPS and pps tag is ","general_frame_only_constraint_flag","read","parseHEVCDecoderVPSAndSPSAndPPS and sps tag is ","eofFlag","look","parseHEVCDecoderVPSAndSPSAndPPS and vpsTag is ","readUEG","Invalid HEVCDecoderConfigurationRecord, lack of data! ","general_constraint_indicator_flags_4","sub_layer_profile_compatibility_flag","generalProfileCompatibilityFlags","hev1.1.6.L93.B0","codec_mimetype","sei","sps","general_constraint_indicator_flags","avgFrameRate","30nwBQcv","error","bitDepthChromaMinus8","general_tier_flag","separate_colour_plane_flag","byteLength","fps_num","sub_layer_progressive_source_flag","generalProfileIdc","954870GdMfQj","profile_tier_level","general_profile_compatibility_flags_3","slice","23631fEJhFf","pic_width_in_luma_samples","assign","bit_depth_luma_minus8","tier_flag","width","general_constraint_indicator_flags_1","profile_compatibility_flags","chromaFormatIdc","sps_max_sub_layers_minus1","generalProfileSpace","sub_layer_profile_present_flag","general_level_idc","codecHeight","conf_win_right_offset","max","general_profile_space","conf_win_left_offset","Invalid HEVCDecoderConfigurationRecord,version is ","1596969VaqXCW","sub_layer_level_present_flag","readBits","type","psps","hvcc","getUint8","temporalIdNested","codec","sub_layer_interlaced_source_flag","Could not find H265 startcode until payload end!","conf_win_bottom_offset","level_string","from","bitDepthLumaMinus8","present_size","num_temporal_layers","read_golomb","currentStartcodeOffset","parseSPS","parallelismType","general_progressive_source_flag","frame_rate","length","3647075xCnQlD","general_profile_compatibility_flags","warn","parseHEVCDecoderConfigurationRecord$2",", hevcProfile is ","general_profile_idc","configurationVersion","level_idc","subarray","level","set","push","parseHEVCDecoderConfigurationRecord$3","188PAWFFI","profile_idc","setInt16","presentHeight","presentWidth","getUint16","general_profile_compatibility_flags_4","sub_layer_level_idc","constantFrameRate","codecWidth","conformance_window_flag","readUByte","generalTierFlag","generalLevelIdc","lengthSizeMinusOne","chromaFormat","51990800iTVKCQ","sps_video_parameter_set_id","344TakTEP","conf_win_top_offset","sar_ratio","frameRate","readNextNaluPayload","Invalid HEVCDecoderConfigurationRecord, Strange NaluLengthSizeMinusOne: ","arrayBuffer.length ","h265","335691NixtZD","general_constraint_indicator_flags_2","timescale","fps_den"," < 22","bitDepth","bit_depth_chroma_minus8","chroma_format_idc","general_interlaced_source_flag","sps_temporal_id_nesting_flag","findNextStartCodeOffset","vps","temporal_id_nested","profile_string","height","sub_layer_tier_flag","general_profile_compatibility_flags_1","min_spatial_segmentation_idc","codec_size","profile"];return(on=function(){return e})()}function cn(e){return e>=16&&e<=21}function un(e){const t=an;if(0===e[t(416)])return!1;const r=rn(e[0]);for(let n=1;n=n[t(509)])return this[t(490)]=!0,n.byteLength;let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[Kr(452)](){const e=Kr;let t=this.data,r=null;for(;null==r&&!this[e(490)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,a=this[e(466)](n);this[e(411)]=a,0===s&&(r={type:i,data:t.subarray(n,a)})}return r}}class dn{constructor(e){const t=Kr;let r=e[t(477)].byteLength;this[t(396)]=e[t(396)],this.data=new Uint8Array(4+r),new DataView(this[t(477)][t(479)]).setUint32(0,r),this[t(477)][t(427)](e[t(477)],4)}}var hn=Pn;!function(e,t){for(var r=Pn,n=e();;)try{if(929087===parseInt(r(346))/1*(-parseInt(r(404))/2)+parseInt(r(418))/3+parseInt(r(373))/4+-parseInt(r(412))/5+parseInt(r(403))/6+-parseInt(r(406))/7*(-parseInt(r(398))/8)+-parseInt(r(402))/9*(-parseInt(r(401))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Rn);var fn,pn=hn(366),mn="text/html",vn=/^(?:text|application)\/xml/i,_n=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,gn=/^\s*$/,bn={},wn={},Sn="",In={type:hn(351),beforeSend:An,success:An,error:An,complete:An,context:null,xhr:function(){return new(window[hn(369)])},accepts:{json:pn,xml:"application/xml, text/xml",html:mn,text:hn(411),"*":"*/"[hn(337)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:An,contentType:"application/x-www-form-urlencoded; charset=UTF-8"};function An(){}var En=function(e,t){var r=hn;typeof e===r(428)&&(t=e,e=void 0);var n=Un({},t=t||{});for(var i in In)void 0===n[i]&&(n[i]=In[i]);try{var s={},a=new Promise((function(e,t){var n=r;s[n(421)]=e,s[n(343)]=t}));a[r(421)]=s[r(421)],a[r(343)]=s[r(343)],n[r(359)]=a}catch(e){n[r(359)]={resolve:An,reject:An}}var o=yn[r(353)](window.location[r(430)][r(381)]())||[];n[r(361)]=((e||n[r(361)]||window[r(345)][r(430)])+"").replace(/#.*$/,"").replace(/^\/\//,o[1]+"//");var c=n[r(361)];!n[r(347)]&&(n[r(347)]=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!==window[r(345)][r(430)]);var u=n[r(364)];if(u===r(420)){if(!/=\?/.test(n.url)){var l=(n[r(420)]||r(355))+"=?";n[r(361)]=Dn(n[r(361)],l)}return function(e){var t,r=hn,n=e[r(429)]||"jsonp"+On(),i=window[r(405)][r(385)]("script"),s={abort:function(){n in window&&(window[n]=An)}},a=window[r(405)].getElementsByTagName("head")[0]||window[r(405)].documentElement;function o(n){var i=r;window[i(422)](t),s[i(434)](),xn(n[i(344)],s,n[i(344)],e),c()}function c(){var e=r;i.clearAttributes?i[e(414)]():i.onload=i[e(427)]=i[e(397)]=null,i[e(415)]&&i[e(415)].removeChild(i),i=null,delete window[n]}return i[r(397)]=function(e){o(e)},window[n]=function(n){window[r(422)](t),kn(n,s,e),c()},Bn(e),i[r(356)]=e[r(361)][r(335)](/=\?/,"="+n),i[r(356)]=Dn(i[r(356)],"_="+(new Date)[r(416)]()),i[r(390)]=!0,e[r(348)]&&(i[r(389)]=e[r(348)]),a.insertBefore(i,a[r(371)]),e.timeout>0&&(t=window[r(399)]((function(){var t=r;s[t(434)](),xn("timeout",s,t(423),e),c()}),e.timeout)),e[r(359)].abort=function(){s.abort()},e.promise.xhr=s,e[r(359)]}(n)}Bn(n);var d=n.accepts[u]||n[r(374)]["*"],h={};/^([\w-]+:)\/\//[r(395)](n[r(361)])?RegExp.$1:window[r(345)].protocol;var f,p=In[r(365)]();!n.crossDomain&&!h[r(377)]&&(h["X-Requested-With"]="XMLHttpRequest"),n.ifModified&&(bn[c]&&(h[r(375)]=bn[c]),wn[c]&&(h[r(436)]=wn[c])),d&&(h[r(336)]=d,d.indexOf(",")>-1&&(d=d[r(379)](",",2)[0]),p.overrideMimeType&&p[r(400)](d));var m=!/^(?:GET|HEAD)$/.test(n[r(344)][r(382)]());if((n[r(341)]&&m&&!1!==n.contentType||t[r(349)])&&(h[r(435)]=n.contentType),!1===n[r(340)]&&!m){var v=/([?&])_=[^&]*/;n.url=v[r(395)](c)?c[r(335)](v,r(358)+On()):c+(/\?/[r(395)](c)?"&":"?")+"_="+On()}n[r(392)]=Un(h,n[r(392)]||{}),p[r(427)]=function(){var e,t,i=r;if(4===p.readyState){clearTimeout(f);var s,a=!1;if(p[i(431)]>=200&&p[i(431)]<300||304===p.status){if(Sn=p.getAllResponseHeaders(),n[i(394)]){var o=Tn(i(425));o&&(bn[c]=o),(o=Tn(i(367)))&&(wn[c]=o)}u=u||(e=p[i(362)](i(350)),t=hn,e&&(e===mn?"html":e===pn?t(433):vn[t(395)](e)&&t(393))||t(386)),s=p.responseText;try{"xml"===u?s=p.responseXML:u===i(433)&&(s=gn.test(s)?null:JSON[i(419)](s))}catch(e){a=e}a?xn(a,i(368),p,n):kn(s,p,n)}else xn(null,i(408),p,n)}};var _=!(r(390)in n)||n.async;if(p[r(407)](n[r(344)],n[r(361)],_,n[r(376)],n[r(432)]),n[r(426)])for(var y in n[r(426)])p[y]=n[r(426)][y];for(var y in n[r(363)]&&p[r(400)]&&p[r(400)](n[r(363)]),n[r(392)])void 0!==n[r(392)][y]&&p[r(424)](y,n[r(392)][y]+"");return!1===function(e,t){var r=hn,n=t[r(352)];if(!1===t.beforeSend[r(417)](n,e,t))return!1}(p,n)?(p[r(434)](),!1):(n[r(423)]>0&&(f=window[r(399)]((function(){var e=r;p[e(427)]=An,p[e(434)](),xn(null,e(423),p,n)}),n[r(423)])),p[r(383)](n.data?n[r(341)]:null),n[r(359)][r(434)]=function(){p[r(434)]()},n[r(359)])};function kn(e,t,r){var n=hn,i=r[n(352)],s="success";r[n(339)][n(417)](i,e,s,t),r[n(359)][n(421)](e,s,t),Cn(s,t,r)}function Cn(e,t,r){var n=hn,i=r[n(352)];r[n(413)].call(i,t,e)}function xn(e,t,r,n){var i=hn,s=n.context;n[i(408)].call(s,r,t,e),n[i(359)][i(343)](r,t,e),Cn(t,r,n)}function Tn(e){var t,r=hn;if(!fn){for(fn={};t=_n[r(353)](Sn);)fn[t[1].toLowerCase()]=t[2];t=fn[e[r(381)]()]}return null===t?null:t}function Dn(e,t){return(e+"&"+t)[hn(335)](/[&?]{1,2}/,"?")}function Bn(e){var t,r,n,i,s=hn;Fn(e)&&!(e[s(341)]instanceof FormData)&&e[s(388)]&&(e.data=(t=e[s(341)],n=hn,(i=[]).add=function(e,t){this[Pn(391)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Mn(i,t,r),i[n(384)]("&")[n(335)](n(338),"+"))),e.data&&(!e[s(344)]||e.type[s(382)]()===s(351))&&(e[s(361)]=Dn(e[s(361)],e[s(341)]))}function Mn(e,t,r,n){var i,s,a=hn,o=(i=t,s=hn,"[object Array]"===Object[s(409)][s(410)].call(i));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(o?"":c)+"]"),!n&&o?e.add(u[a(380)],u[a(342)]):(r?o(u):Fn(u))?Mn(e,u,r,c):e.add(c,u)}}function Un(e){for(var t=hn,r=Array[t(409)][t(360)],n=r.call(arguments,1),i=0,s=n[t(372)];i255)return!1;return!0}function Vn(e,t){var r=vi;if(e[r(324)]&&e[r(328)]===r(338))return t&&(e=e[r(334)]?e[r(334)]():Array[r(374)][r(334)][r(367)](e)),e;if(Array[r(318)](e)){if(!Hn(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(Nn(e[r(353)])&&Hn(e))return new Uint8Array(e);throw new Error(r(360))}function jn(e){return new Uint8Array(e)}function Gn(e,t,r,n,i){var s=vi;(null!=n||null!=i)&&(e=e.slice?e[s(334)](n,i):Array[s(374)][s(334)][s(367)](e,n,i)),t[s(329)](e,r)}!function(e,t){for(var r=vi,n=e();;)try{if(289494===-parseInt(r(355))/1*(-parseInt(r(322))/2)+parseInt(r(339))/3+parseInt(r(332))/4+-parseInt(r(357))/5+-parseInt(r(347))/6+-parseInt(r(320))/7*(-parseInt(r(325))/8)+-parseInt(r(366))/9*(parseInt(r(331))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(gi);var Wn,qn,$n={toBytes:function(e){var t=vi,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(371)](String.fromCharCode((31&i)<<6|63&e[n+1])),n+=2):(r[t(371)](String.fromCharCode((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r[t(364)]("")}},Yn=(qn=(Wn=vi)(336),{toBytes:function(e){for(var t=vi,r=[],n=0;n>4]+qn[15&i])}return r.join("")}}),Kn={16:10,24:12,32:14},Xn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Jn=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Qn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Zn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],ei=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ti=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],ri=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ni=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],ii=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],si=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],ai=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],oi=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ci=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ui=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],li=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function di(e){for(var t=vi,r=[],n=0;n>2,this[e(363)][n][r%4]=a[r],this[e(314)][t-n][r%4]=a[r];for(var o,c=0,u=s;u>16&255]<<24^Jn[o>>8&255]<<16^Jn[255&o]<<8^Jn[o>>24&255]^Xn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Jn[o>>16&255]<<16^Jn[o>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this[e(363)][l][d]=a[r],this[e(314)][t-l][d]=a[r++],u++}for(var l=1;l>24&255]^ci[o>>16&255]^ui[o>>8&255]^li[255&o]},hi[zn(374)].encrypt=function(e){var t=zn;if(16!=e.length)throw new Error(t(330));for(var r=this[t(363)][t(353)]-1,n=[0,0,0,0],i=di(e),s=0;s<4;s++)i[s]^=this._Ke[0][s];for(var a=1;a>24&255]^ei[i[(s+1)%4]>>16&255]^ti[i[(s+2)%4]>>8&255]^ri[255&i[(s+3)%4]]^this[t(363)][a][s];i=n[t(334)]()}var o,c=jn(16);for(s=0;s<4;s++)o=this[t(363)][r][s],c[4*s]=255&(Jn[i[s]>>24&255]^o>>24),c[4*s+1]=255&(Jn[i[(s+1)%4]>>16&255]^o>>16),c[4*s+2]=255&(Jn[i[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(Jn[255&i[(s+3)%4]]^o);return c},hi[zn(374)].decrypt=function(e){var t=zn;if(16!=e[t(353)])throw new Error(t(346));for(var r=this._Kd[t(353)]-1,n=[0,0,0,0],i=di(e),s=0;s<4;s++)i[s]^=this._Kd[0][s];for(var a=1;a>24&255]^ii[i[(s+3)%4]>>16&255]^si[i[(s+2)%4]>>8&255]^ai[255&i[(s+1)%4]]^this[t(314)][a][s];i=n[t(334)]()}var o,c=jn(16);for(s=0;s<4;s++)o=this[t(314)][r][s],c[4*s]=255&(Qn[i[s]>>24&255]^o>>24),c[4*s+1]=255&(Qn[i[(s+3)%4]>>16&255]^o>>16),c[4*s+2]=255&(Qn[i[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(Qn[255&i[(s+1)%4]]^o);return c};var fi=function(e){var t=zn;if(!(this instanceof fi))throw Error(t(375));this.description="Electronic Code Block",this.name=t(335),this._aes=new hi(e)};fi.prototype[zn(341)]=function(e){var t=zn;if((e=Vn(e))[t(353)]%16!=0)throw new Error(t(359));for(var r=jn(e[t(353)]),n=jn(16),i=0;iNumber[t(340)])throw new Error(t(372));for(var r=15;r>=0;--r)this[t(345)][r]=e%256,e=parseInt(e/256)},yi.prototype[zn(373)]=function(e){var t=zn;if(16!=(e=Vn(e,!0))[t(353)])throw new Error("invalid counter bytes size (must be 16 bytes)");this[t(345)]=e},yi[zn(374)][zn(311)]=function(){for(var e=zn,t=15;t>=0;t--){if(255!==this[e(345)][t]){this[e(345)][t]++;break}this[e(345)][t]=0}};var bi=function(e,t){var r=zn;if(!(this instanceof bi))throw Error("AES must be instanitated with `new`");this[r(365)]=r(352),this[r(328)]=r(349),!(t instanceof yi)&&(t=new yi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this[r(317)]=new hi(e)};bi[zn(374)][zn(341)]=function(e){for(var t=zn,r=Vn(e,!0),n=0;n16)throw new Error("PKCS#7 padding byte out of range");for(var n=e.length-r,i=0;i>>2]>>>24-o%4*8&255;r[s+o>>>2]|=c<<24-(s+o)%4*8}else for(var u=0;u>>2]=n[u>>>2];return this[t(407)]+=a,this},clamp:function(){var t=i,r=this[t(381)],n=this.sigBytes;r[n>>>2]&=4294967295<<32-n%4*8,r[t(396)]=e[t(438)](n/4)},clone:function(){var e=i,t=u.clone.call(this);return t[e(381)]=this.words[e(391)](0),t},random:function(e){for(var t=i,r=[],n=0;n>>2]>>>24-a%4*8&255;s.push((o>>>4)[t(401)](16)),s.push((15&o)[t(401)](16))}return s[t(412)]("")},parse:function(e){for(var t=i,r=e.length,n=[],s=0;s>>3]|=parseInt(e[t(413)](s,2),16)<<24-s%8*4;return new(l[t(434)])(n,r/2)}},f=d.Latin1={stringify:function(e){for(var t=i,r=e[t(381)],n=e[t(407)],s=[],a=0;a>>2]>>>24-a%4*8&255;s[t(435)](String[t(439)](o))}return s.join("")},parse:function(e){for(var t=i,r=e[t(396)],n=[],s=0;s>>2]|=(255&e[t(430)](s))<<24-s%4*8;return new(l[t(434)])(n,r)}},p=d[i(379)]={stringify:function(e){var t=i;try{return decodeURIComponent(escape(f.stringify(e)))}catch(e){throw new Error(t(429))}},parse:function(e){return f[i(408)](unescape(encodeURIComponent(e)))}},m=c.BufferedBlockAlgorithm=u[i(432)]({reset:function(){var e=i;this[e(378)]=new(l[e(434)]),this[e(397)]=0},_append:function(e){var t=i;typeof e==t(436)&&(e=p[t(408)](e)),this._data[t(409)](e),this[t(397)]+=e[t(407)]},_process:function(t){var r,n=i,s=this[n(378)],a=s[n(381)],o=s[n(407)],c=this[n(385)],u=o/(4*c),d=(u=t?e[n(438)](u):e[n(422)]((0|u)-this[n(389)],0))*c,h=e[n(402)](4*d,o);if(d){for(var f=0;f>>2]|=e[a]<<24-a%4*8;n[r(499)](this,s,i)}else n[r(496)](this,arguments)};i[t(505)]=r}}(),e.lib[t(500)]},(i=Ti)(488)==i(488)?e[i(486)]=n(Ai):n(r[i(487)])}));function Di(){var e=["739625UsHbtb","2biDXNm","229869nkOVCl","apply","createCommonjsModule","340043thPqqK","call","WordArray","35rbxbQd","52729bySIZl","565881cQmeVd","208REYZla","prototype","240zjZcNo","4NSWbqM","byteLength","./core","10pTLikv","exports","CryptoJS","object","397836xGBRAg","307212HdvmCS","function","amd"];return(Di=function(){return e})()}var Bi=Mi;function Mi(e,t){var r=Ui();return(Mi=function(e,t){return r[e-=474]})(e,t)}!function(e,t){for(var r=Mi,n=e();;)try{if(685055===parseInt(r(475))/1+-parseInt(r(494))/2*(parseInt(r(499))/3)+parseInt(r(485))/4+parseInt(r(474))/5+-parseInt(r(497))/6+parseInt(r(498))/7*(parseInt(r(484))/8)+parseInt(r(503))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ui);Ze[Bi(487)]((function(e,t){var r,n,i,s=Bi;r=Ze[s(482)],n=function(e){var t=s;return function(){var t=Mi,r=e,n=r[t(490)][t(489)],i=r[t(476)];function s(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i[t(502)]={stringify:function(e){for(var r=t,n=e.words,i=e[r(481)],s=[],a=0;a>>2]>>>16-a%4*8&65535;s[r(488)](String[r(486)](o))}return s[r(495)]("")},parse:function(e){for(var r=t,i=e[r(480)],s=[],a=0;a>>1]|=e.charCodeAt(a)<<16-a%2*16;return n[r(492)](s,2*i)}},i[t(501)]={stringify:function(e){for(var r=t,n=e[r(478)],i=e[r(481)],a=[],o=0;o>>2]>>>16-o%4*8&65535);a.push(String.fromCharCode(c))}return a[r(495)]("")},parse:function(e){for(var r=t,i=e[r(480)],a=[],o=0;o>>1]|=s(e[r(491)](o)<<16-o%2*16);return n.create(a,2*i)}}}(),e[t(476)][t(500)]},(i=Mi)(479)==i(479)?e[i(493)]=n(Ai):"undefined"===i(477)&&(void 0)[i(483)]?(void 0)(["./core"],n):n(r[i(496)])}));function Ui(){var e=["charCodeAt","create","exports","272VfyfbV","join","CryptoJS","5547006BsDFgK","1530214MFZgvK","23676PhQzUE","Utf16","Utf16LE","Utf16BE","4988160SYnqFH","2814490IzdLbx","988435oQWKWf","enc","function","words","object","length","sigBytes","commonjsGlobal","amd","16RLayYZ","560364gePVZi","fromCharCode","createCommonjsModule","push","WordArray","lib"];return(Ui=function(){return e})()}var Pi=Ri;function Fi(){var e=["7173990igTOZw","object","words","createCommonjsModule","length","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","5sFulyb","728700GwyUzw","charCodeAt","4287144qktRLu","9sdwRVK","_reverseMap","indexOf","WordArray","amd","3351761JTVYNN","sigBytes","function","7229622cblCje","push","lib","commonjsGlobal","152198kwUHkj","Base64","charAt","create","./core","join","3584584ejtQXo","enc","clamp","_map"];return(Fi=function(){return e})()}!function(e,t){for(var r=Ri,n=e();;)try{if(694060===parseInt(r(367))/1+parseInt(r(350))/2*(parseInt(r(370))/3)+parseInt(r(369))/4+parseInt(r(366))/5*(-parseInt(r(346))/6)+-parseInt(r(343))/7+-parseInt(r(356))/8+parseInt(r(360))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fi);Ze[Pi(363)]((function(e,t){var r,n,i,s=Pi;r=Ze[s(349)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=Ri)(348)][t(341)],r[t(357)][t(351)]={stringify:function(e){var r=t,n=e[r(362)],i=e[r(344)],s=this[r(359)];e[r(358)]();for(var a=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(n[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|n[o+2>>>2]>>>24-(o+2)%4*8&255,u=0;u<4&&o+.75*u>>6*(3-u)&63));var l=s.charAt(64);if(l)for(;a[r(364)]%4;)a[r(347)](l);return a[r(355)]("")},parse:function(e){var r=t,i=e[r(364)],s=this._map,a=this[r(371)];if(!a){a=this._reverseMap=[];for(var o=0;o>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return n[s(353)](a,o)}(e,i,a)},_map:t(365)},e[i(357)][i(351)]},(i=Ri)(361)==i(361)?e.exports=n(Ai):"undefined"===i(345)&&(void 0)[i(342)]?(void 0)([i(354)],n):n(r.CryptoJS)}));function Ri(e,t){var r=Fi();return(Ri=function(e,t){return r[e-=341]})(e,t)}function Li(e,t){var r=Oi();return(Li=function(e,t){return r[e-=473]})(e,t)}function Oi(){var e=["function","CryptoJS","7559605iyuIdA","_map","16vjrNCZ","charAt","amd","1197490fUvdir","282225xluOFj","charCodeAt","commonjsGlobal","_reverseMap","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","1358924zGLTaU","words","push","Base64url","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","609108seeCpa","lib","clamp","_safe_map","length","6ymwBcX","3433364wyzTlC","object","enc","./core","sigBytes","135uTcewo","indexOf","1109150moZJvs","WordArray","join"];return(Oi=function(){return e})()}!function(e,t){for(var r=Li,n=e();;)try{if(800326===parseInt(r(506))/1+parseInt(r(477))/2+parseInt(r(482))/3+-parseInt(r(488))/4+parseInt(r(500))/5*(-parseInt(r(487))/6)+-parseInt(r(505))/7*(-parseInt(r(502))/8)+-parseInt(r(493))/9*(-parseInt(r(495))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Oi);Qe((function(e,t){var r,n,i,s=Li;r=Ze[s(474)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=Li)(483)][t(496)],r[t(490)][t(480)]={stringify:function(e,r){var n=t;void 0===r&&(r=!0);var i=e[n(478)],s=e[n(492)],a=r?this._safe_map:this[n(501)];e[n(484)]();for(var o=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=a.charAt(64);if(d)for(;o[n(486)]%4;)o[n(479)](d);return o[n(497)]("")},parse:function(e,r){var i=t;void 0===r&&(r=!0);var s=e[i(486)],a=r?this[i(485)]:this._map,o=this[i(475)];if(!o){o=this._reverseMap=[];for(var c=0;c>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return n.create(a,o)}(e,s,o)},_map:t(476),_safe_map:t(481)},e.enc[i(480)]},(i=Li)(489)==i(489)?e.exports=n(Ai):"undefined"===i(498)&&(void 0)[i(504)]?(void 0)([i(491)],n):n(r[i(499)])}));var zi=Ni;function Ni(e,t){var r=Hi();return(Ni=function(e,t){return r[e-=156]})(e,t)}function Hi(){var e=["24YzZPYQ","createCommonjsModule","words","clone","sin","MD5","971595rRDtgv","call","155666lJOLQN","lib","exports","193459VaDmLf","229824ttkOfC","abs","_data","HmacMD5","amd","sigBytes","_createHelper","commonjsGlobal","floor","_hash","CryptoJS","length","init","object","5201zmxfGU","3544WIKwzd","function","algo","5475114pBPcMA","Hasher","4169052zoXRrl","_process","extend"];return(Hi=function(){return e})()}!function(e,t){for(var r=Ni,n=e();;)try{if(751910===-parseInt(r(181))/1+parseInt(r(178))/2*(-parseInt(r(170))/3)+parseInt(r(182))/4+-parseInt(r(176))/5+parseInt(r(165))/6+parseInt(r(161))/7*(parseInt(r(162))/8)+parseInt(r(167))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hi);Ze[zi(171)]((function(e,t){var r,n,i,s=zi;r=Ze[s(189)],n=function(e){var t=s;return function(t){var r=Ni,n=e,i=n[r(179)],s=i.WordArray,a=i[r(166)],o=n[r(164)],c=[];!function(){for(var e=r,n=0;n<64;n++)c[n]=4294967296*t[e(183)](t[e(174)](n+1))|0}();var u=o[r(175)]=a[r(169)]({_doReset:function(){var e=r;this._hash=new(s[e(159)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o=this._hash[n(172)],u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],_=e[t+4],y=e[t+5],g=e[t+6],b=e[t+7],w=e[t+8],S=e[t+9],I=e[t+10],A=e[t+11],E=e[t+12],k=e[t+13],C=e[t+14],x=e[t+15],T=o[0],D=o[1],B=o[2],M=o[3];T=l(T,D,B,M,u,7,c[0]),M=l(M,T,D,B,p,12,c[1]),B=l(B,M,T,D,m,17,c[2]),D=l(D,B,M,T,v,22,c[3]),T=l(T,D,B,M,_,7,c[4]),M=l(M,T,D,B,y,12,c[5]),B=l(B,M,T,D,g,17,c[6]),D=l(D,B,M,T,b,22,c[7]),T=l(T,D,B,M,w,7,c[8]),M=l(M,T,D,B,S,12,c[9]),B=l(B,M,T,D,I,17,c[10]),D=l(D,B,M,T,A,22,c[11]),T=l(T,D,B,M,E,7,c[12]),M=l(M,T,D,B,k,12,c[13]),B=l(B,M,T,D,C,17,c[14]),T=d(T,D=l(D,B,M,T,x,22,c[15]),B,M,p,5,c[16]),M=d(M,T,D,B,g,9,c[17]),B=d(B,M,T,D,A,14,c[18]),D=d(D,B,M,T,u,20,c[19]),T=d(T,D,B,M,y,5,c[20]),M=d(M,T,D,B,I,9,c[21]),B=d(B,M,T,D,x,14,c[22]),D=d(D,B,M,T,_,20,c[23]),T=d(T,D,B,M,S,5,c[24]),M=d(M,T,D,B,C,9,c[25]),B=d(B,M,T,D,v,14,c[26]),D=d(D,B,M,T,w,20,c[27]),T=d(T,D,B,M,k,5,c[28]),M=d(M,T,D,B,m,9,c[29]),B=d(B,M,T,D,b,14,c[30]),T=h(T,D=d(D,B,M,T,E,20,c[31]),B,M,y,4,c[32]),M=h(M,T,D,B,w,11,c[33]),B=h(B,M,T,D,A,16,c[34]),D=h(D,B,M,T,C,23,c[35]),T=h(T,D,B,M,p,4,c[36]),M=h(M,T,D,B,_,11,c[37]),B=h(B,M,T,D,b,16,c[38]),D=h(D,B,M,T,I,23,c[39]),T=h(T,D,B,M,k,4,c[40]),M=h(M,T,D,B,u,11,c[41]),B=h(B,M,T,D,v,16,c[42]),D=h(D,B,M,T,g,23,c[43]),T=h(T,D,B,M,S,4,c[44]),M=h(M,T,D,B,E,11,c[45]),B=h(B,M,T,D,x,16,c[46]),T=f(T,D=h(D,B,M,T,m,23,c[47]),B,M,u,6,c[48]),M=f(M,T,D,B,b,10,c[49]),B=f(B,M,T,D,C,15,c[50]),D=f(D,B,M,T,y,21,c[51]),T=f(T,D,B,M,E,6,c[52]),M=f(M,T,D,B,v,10,c[53]),B=f(B,M,T,D,I,15,c[54]),D=f(D,B,M,T,p,21,c[55]),T=f(T,D,B,M,w,6,c[56]),M=f(M,T,D,B,x,10,c[57]),B=f(B,M,T,D,g,15,c[58]),D=f(D,B,M,T,k,21,c[59]),T=f(T,D,B,M,_,6,c[60]),M=f(M,T,D,B,A,10,c[61]),B=f(B,M,T,D,m,15,c[62]),D=f(D,B,M,T,S,21,c[63]),o[0]=o[0]+T|0,o[1]=o[1]+D|0,o[2]=o[2]+B|0,o[3]=o[3]+M|0},_doFinalize:function(){var e=r,n=this[e(184)],i=n.words,s=8*this._nDataBytes,a=8*n[e(187)];i[a>>>5]|=128<<24-a%32;var o=t[e(190)](s/4294967296),c=s;i[15+(a+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),i[14+(a+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n[e(187)]=4*(i[e(158)]+1),this[e(168)]();for(var u=this._hash,l=u[e(172)],d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return u},clone:function(){var e=r,t=a[e(173)][e(177)](this);return t[e(156)]=this[e(156)][e(173)](),t}});function l(e,t,r,n,i,s,a){var o=e+(t&r|~t&n)+i+a;return(o<>>32-s)+t}function d(e,t,r,n,i,s,a){var o=e+(t&n|r&~n)+i+a;return(o<>>32-s)+t}function h(e,t,r,n,i,s,a){var o=e+(t^r^n)+i+a;return(o<>>32-s)+t}function f(e,t,r,n,i,s,a){var o=e+(r^(t|~n))+i+a;return(o<>>32-s)+t}n[r(175)]=a[r(188)](u),n[r(185)]=a._createHmacHelper(u)}(Math),e[t(175)]},(i=Ni)(160)==i(160)?e[i(180)]=n(Ai):"undefined"===i(163)&&(void 0)[i(186)]?(void 0)(["./core"],n):n(r[i(157)])}));!function(e,t){for(var r=ji,n=e();;)try{if(863818===-parseInt(r(401))/1*(-parseInt(r(399))/2)+parseInt(r(392))/3*(parseInt(r(418))/4)+-parseInt(r(400))/5*(-parseInt(r(402))/6)+parseInt(r(421))/7+parseInt(r(424))/8+parseInt(r(390))/9*(parseInt(r(396))/10)+parseInt(r(398))/11*(-parseInt(r(408))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vi);Qe((function(e,t){var r,n,i;r=Je,n=function(e){return n=(r=e)[(t=ji)(409)],i=n[t(394)],s=n[t(407)],a=r[t(413)],o=[],c=a[t(419)]=s[t(415)]({_doReset:function(){var e=t;this[e(417)]=new(i[e(406)])([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this._hash[n(422)],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)o[d]=0|e[r+d];else{var h=o[d-3]^o[d-8]^o[d-14]^o[d-16];o[d]=h<<1|h>>>31}var f=(s<<5|s>>>27)+l+o[d];f+=d<20?1518500249+(a&c|~a&u):d<40?1859775393+(a^c^u):d<60?(a&c|a&u|c&u)-1894007588:(a^c^u)-899497514,l=u,u=c,c=a<<30|a>>>2,a=s,s=f}i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+c|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(395)],n=r[e(422)],i=8*this[e(414)],s=8*r.sigBytes;return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math[e(391)](i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(404)]=4*n[e(393)],this._process(),this._hash},clone:function(){var e=t,r=s[e(410)][e(416)](this);return r[e(417)]=this[e(417)].clone(),r}}),r.SHA1=s[t(411)](c),r[t(397)]=s._createHmacHelper(c),e.SHA1;var t,r,n,i,s,a,o,c},(i=ji)(412)==i(412)?e[i(403)]=n(Ai):"undefined"===i(405)&&(void 0)[i(423)]?(void 0)(["./core"],n):n(r[i(420)])}));function Vi(){var e=["sigBytes","function","init","Hasher","17807076jYKUap","lib","clone","_createHelper","object","algo","_nDataBytes","extend","call","_hash","444qUjdCT","SHA1","CryptoJS","11763591eVWwGe","words","amd","5151016Yxujeo","462285qtReOE","floor","3777BITXYA","length","WordArray","_data","160TRfdON","HmacSHA1","33JirHHa","162706UccCuA","5lJfiAE","7RBjtTW","8760822aDXaQB","exports"];return(Vi=function(){return e})()}function ji(e,t){var r=Vi();return(ji=function(e,t){return r[e-=390]})(e,t)}var Gi=Wi;function Wi(e,t){var r=qi();return(Wi=function(e,t){return r[e-=202]})(e,t)}!function(e,t){for(var r=Wi,n=e();;)try{if(731722===-parseInt(r(211))/1+parseInt(r(204))/2+parseInt(r(219))/3+-parseInt(r(217))/4*(-parseInt(r(232))/5)+parseInt(r(228))/6*(-parseInt(r(213))/7)+-parseInt(r(206))/8+parseInt(r(209))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qi);Ze[Gi(222)]((function(e,t){var r,n,i;r=Ze[Gi(208)],n=function(e){return function(t){var r=Wi,n=e,i=n[r(218)],s=i[r(233)],a=i.Hasher,o=n.algo,c=[],u=[];!function(){var e=r;function n(e){for(var r=t[Wi(221)](e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var s=2,a=0;a<64;)n(s)&&(a<8&&(c[a]=i(t[e(230)](s,.5))),u[a]=i(t[e(230)](s,1/3)),a++),s++}();var l=[],d=o.SHA256=a[r(227)]({_doReset:function(){var e=r;this[e(226)]=new s.init(c[e(210)](0))},_doProcessBlock:function(e,t){for(var n=r,i=this._hash[n(225)],s=i[0],a=i[1],o=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=0;m<64;m++){if(m<16)l[m]=0|e[t+m];else{var v=l[m-15],_=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,y=l[m-2],g=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[m]=_+l[m-7]+g+l[m-16]}var b=s&a^s&o^a&o,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),S=p+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&h^~d&f)+u[m]+l[m];p=f,f=h,h=d,d=c+S|0,c=o,o=a,a=s,s=S+(w+b)|0}i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+o|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0,i[5]=i[5]+h|0,i[6]=i[6]+f|0,i[7]=i[7]+p|0},_doFinalize:function(){var e=r,n=this[e(216)],i=n.words,s=8*this._nDataBytes,a=8*n[e(205)];return i[a>>>5]|=128<<24-a%32,i[14+(a+64>>>9<<4)]=t[e(207)](s/4294967296),i[15+(a+64>>>9<<4)]=s,n[e(205)]=4*i.length,this[e(203)](),this._hash},clone:function(){var e=r,t=a.clone[e(214)](this);return t[e(226)]=this[e(226)][e(229)](),t}});n.SHA256=a[r(202)](d),n[r(231)]=a[r(220)](d)}(Math),e.SHA256},(i=Wi)(224)==i(224)?e[i(215)]=n(Ai):"undefined"===i(223)&&(void 0)[i(212)]?(void 0)(["./core"],n):n(r.CryptoJS)}));function qi(){var e=["commonjsGlobal","15306075JjIWsd","slice","1439738dDUpqD","amd","378msOtNV","call","exports","_data","726008tYrxQn","lib","1098375ArEcCd","_createHmacHelper","sqrt","createCommonjsModule","function","object","words","_hash","extend","33498DGZmLA","clone","pow","HmacSHA256","30cyqJhb","WordArray","_createHelper","_process","345058RMfzaG","sigBytes","6843192zwFUVO","floor"];return(qi=function(){return e})()}var $i=Ki;function Yi(){var e=["WordArray","commonjsGlobal","./sha256","2486lwDkJU","_createHelper","1803EeLjrE","createCommonjsModule","SHA224","HmacSHA224","exports","./core","function","3902647qMGjoC","260BnIIRr","6UpIHeD","amd","_createHmacHelper","object","_doFinalize","4089960eqwljd","2163316eydgFw","CryptoJS","728911TESBJH","extend","4214224kKxTTO","262278VgTRnH","init"];return(Yi=function(){return e})()}!function(e,t){for(var r=Ki,n=e();;)try{if(410356===parseInt(r(336))/1+-parseInt(r(344))/2*(-parseInt(r(346))/3)+parseInt(r(334))/4+-parseInt(r(333))/5+parseInt(r(328))/6*(-parseInt(r(326))/7)+parseInt(r(338))/8+-parseInt(r(339))/9*(parseInt(r(327))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Yi);Ze[$i(347)]((function(e,t){var r,n,i,s=$i;r=Ze[s(342)],n=function(e){var t,r,n,i,a,o,c=s;return t=Ki,n=(r=e).lib[t(341)],i=r.algo,a=i.SHA256,o=i[t(348)]=a[t(337)]({_doReset:function(){var e=t;this._hash=new(n[e(340)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a[t(332)].call(this);return e.sigBytes-=4,e}}),r[t(348)]=a[t(345)](o),r[t(349)]=a[t(330)](o),e[c(348)]},(i=Ki)(331)==i(331)?e[i(350)]=n(Ai):"undefined"===i(352)&&(void 0)[i(329)]?(void 0)([i(351),i(343)],n):n(r[i(335)])}));function Ki(e,t){var r=Yi();return(Ki=function(e,t){return r[e-=326]})(e,t)}var Xi=Ji;function Ji(e,t){var r=Qi();return(Ji=function(e,t){return r[e-=118]})(e,t)}function Qi(){var e=["x64","clone","sigBytes","45ZMAOzl","5ozWsXQ","commonjsGlobal","HmacSHA512","./core","apply","WordArray","high","amd","1580880UxtXcF","words","6ENQQGc","8sprXTl","1167103tdCQjG","extend","_hash","createCommonjsModule","init","_createHmacHelper","exports","floor","247108GwVqnn","SHA512","low","function","471402xYsoBZ","225684pDxZYk","_process","./x64-core","object","algo","_nDataBytes","Hasher","176uvjBGY","length","16040iNzEfm","34433lnTWWF","toX32"];return(Qi=function(){return e})()}!function(e,t){for(var r=Ji,n=e();;)try{if(106724===parseInt(r(147))/1*(-parseInt(r(123))/2)+-parseInt(r(136))/3+-parseInt(r(132))/4*(-parseInt(r(153))/5)+-parseInt(r(122))/6*(parseInt(r(124))/7)+parseInt(r(120))/8+-parseInt(r(152))/9*(-parseInt(r(146))/10)+parseInt(r(144))/11*(parseInt(r(137))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qi);Ze[Xi(127)]((function(e,t){var r,n,i,s=Xi;r=Ze[s(154)],n=function(e){var t=s;return function(){var t=Ji,r=e,n=r.lib[t(143)],i=r[t(149)],s=i.Word,a=i[t(158)],o=r[t(141)];function c(){var e=t;return s.create[e(157)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=o[t(133)]=n[t(125)]({_doReset:function(){var e=t;this[e(126)]=new(a[e(128)])([new(s[e(128)])(1779033703,4089235720),new(s[e(128)])(3144134277,2227873595),new(s[e(128)])(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new(s[e(128)])(528734635,4215389547),new(s[e(128)])(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(126)][n(121)],s=i[0],a=i[1],o=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=s[n(118)],v=s.low,_=a[n(118)],y=a.low,g=o.high,b=o[n(134)],w=c[n(118)],S=c[n(134)],I=d.high,A=d[n(134)],E=h[n(118)],k=h[n(134)],C=f[n(118)],x=f.low,T=p.high,D=p[n(134)],B=m,M=v,U=_,P=y,F=g,R=b,L=w,O=S,z=I,N=A,H=E,V=k,j=C,G=x,W=T,q=D,$=0;$<80;$++){var Y,K,X=l[$];if($<16)K=X.high=0|e[r+2*$],Y=X[n(134)]=0|e[r+2*$+1];else{var J=l[$-15],Q=J[n(118)],Z=J[n(134)],ee=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^Q>>>7,te=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^(Z>>>7|Q<<25),re=l[$-2],ne=re.high,ie=re.low,se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,ae=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),oe=l[$-7],ce=oe[n(118)],ue=oe[n(134)],le=l[$-16],de=le[n(118)],he=le[n(134)];K=(K=(K=ee+ce+((Y=te+ue)>>>0>>0?1:0))+se+((Y+=ae)>>>0>>0?1:0))+de+((Y+=he)>>>0>>0?1:0),X[n(118)]=K,X[n(134)]=Y}var fe,pe=z&H^~z&j,me=N&V^~N&G,ve=B&U^B&F^U&F,_e=M&P^M&R^P&R,ye=(B>>>28|M<<4)^(B<<30|M>>>2)^(B<<25|M>>>7),ge=(M>>>28|B<<4)^(M<<30|B>>>2)^(M<<25|B>>>7),be=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),we=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),Se=u[$],Ie=Se.high,Ae=Se[n(134)],Ee=W+be+((fe=q+we)>>>0>>0?1:0),ke=ge+_e;W=j,q=G,j=H,G=V,H=z,V=N,z=L+(Ee=(Ee=(Ee=Ee+pe+((fe+=me)>>>0>>0?1:0))+Ie+((fe+=Ae)>>>0>>0?1:0))+K+((fe+=Y)>>>0>>0?1:0))+((N=O+fe|0)>>>0>>0?1:0)|0,L=F,O=R,F=U,R=P,U=B,P=M,B=Ee+(ye+ve+(ke>>>0>>0?1:0))+((M=fe+ke|0)>>>0>>0?1:0)|0}v=s[n(134)]=v+M,s[n(118)]=m+B+(v>>>0>>0?1:0),y=a[n(134)]=y+P,a[n(118)]=_+U+(y>>>0

      >>0?1:0),b=o[n(134)]=b+R,o[n(118)]=g+F+(b>>>0>>0?1:0),S=c[n(134)]=S+O,c[n(118)]=w+L+(S>>>0>>0?1:0),A=d[n(134)]=A+N,d[n(118)]=I+z+(A>>>0>>0?1:0),k=h[n(134)]=k+V,h.high=E+H+(k>>>0>>0?1:0),x=f[n(134)]=x+G,f[n(118)]=C+j+(x>>>0>>0?1:0),D=p[n(134)]=D+q,p.high=T+W+(D>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this._data,n=r[e(121)],i=8*this[e(142)],s=8*r.sigBytes;return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(131)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(151)]=4*n[e(145)],this[e(138)](),this[e(126)][e(148)]()},clone:function(){var e=t,r=n[e(150)].call(this);return r._hash=this[e(126)][e(150)](),r},blockSize:32});r[t(133)]=n._createHelper(d),r[t(155)]=n[t(129)](d)}(),e[t(133)]},(i=Ji)(140)==i(140)?e[i(130)]=n(Ai):"undefined"===i(135)&&(void 0)[i(119)]?(void 0)([i(156),i(139)],n):n(r.CryptoJS)}));function Zi(e,t){var r=ts();return(Zi=function(e,t){return r[e-=407]})(e,t)}var es=Zi;function ts(){var e=["10XofySx","object","626908axVAsd","HmacSHA384","SHA384","_doFinalize","./x64-core","96eIsYdv","639648MijyTu","Word","_createHelper","x64","createCommonjsModule","sigBytes","730433yhrbOo","WordArray","init","3AEshPE","./sha512","_hash","commonjsGlobal","660360DKJuQU","110238KNZhpp","extend","70hUfLSR","algo","CryptoJS","4ZcgJNY","16172YWxBRV","exports","18SxeVBX","function","841594fvUUXr"];return(ts=function(){return e})()}!function(e,t){for(var r=Zi,n=e();;)try{if(188689===-parseInt(r(410))/1+parseInt(r(417))/2*(parseInt(r(432))/3)+parseInt(r(409))/4*(parseInt(r(436))/5)+parseInt(r(437))/6*(parseInt(r(439))/7)+-parseInt(r(423))/8*(-parseInt(r(412))/9)+-parseInt(r(415))/10*(parseInt(r(429))/11)+parseInt(r(422))/12*(-parseInt(r(414))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ts);Ze[es(427)]((function(e,t){var r,n,i,s=es;r=Ze[s(435)],n=function(e){var t,r,n,i,a,o,c,u,l=s;return n=(r=e)[(t=Zi)(426)],i=n[t(424)],a=n[t(430)],o=r[t(407)],c=o.SHA512,u=o[t(419)]=c[t(438)]({_doReset:function(){var e=t;this[e(434)]=new(a[e(431)])([new(i[e(431)])(3418070365,3238371032),new(i[e(431)])(1654270250,914150663),new(i[e(431)])(2438529370,812702999),new(i[e(431)])(355462360,4144912697),new(i[e(431)])(1731405415,4290775857),new(i[e(431)])(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=c[e(420)].call(this);return r[e(428)]-=16,r}}),r.SHA384=c[t(425)](u),r[t(418)]=c._createHmacHelper(u),e[l(419)]},"object"===(i=Zi)(416)?e[i(411)]=n(Ai):"undefined"===i(413)&&(void 0).amd?(void 0)(["./core",i(421),i(433)],n):n(r[i(408)])}));var rs=is;function ns(){var e=["22WXLahC","3264303dbqZKQ","Word","x64","./core","308kYGCLQ","low","880YUfjhd","./x64-core","HmacSHA3","_createHmacHelper","4419276MXpgei","call","push","74vQhCaG","98622OqbpHM","_state","extend","object","1810170eqpCUo","cfg","2886814AyxtOS","12kbpOno","17155vOQhkM","high","blockSize","create","sigBytes","function","createCommonjsModule","SHA3","lib","_process","slice","clone","Hasher","33569QmaLUS","_data","init","commonjsGlobal","outputLength"];return(ns=function(){return e})()}function is(e,t){var r=ns();return(is=function(e,t){return r[e-=285]})(e,t)}!function(e,t){for(var r=is,n=e();;)try{if(647222===parseInt(r(305))/1*(-parseInt(r(324))/2)+parseInt(r(311))/3+parseInt(r(315))/4*(parseInt(r(292))/5)+parseInt(r(291))/6*(parseInt(r(290))/7)+parseInt(r(317))/8*(-parseInt(r(325))/9)+parseInt(r(288))/10+-parseInt(r(310))/11*(-parseInt(r(321))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ns);Ze[rs(298)]((function(e,t){var r,n,i;r=Ze[rs(308)],n=function(e){return function(t){var r=is,n=e,i=n[r(300)],s=i.WordArray,a=i[r(304)],o=n[r(313)][r(312)],c=n.algo,u=[],l=[],d=[];!function(){for(var e=r,t=1,n=0,i=0;i<24;i++){u[t+5*n]=(i+1)*(i+2)/2%64;var s=(2*t+3*n)%5;t=n%5,n=s}for(t=0;t<5;t++)for(n=0;n<5;n++)l[t+5*n]=n+(2*t+3*n)%5*5;for(var a=1,c=0;c<24;c++){for(var h=0,f=0,p=0;p<7;p++){if(1&a){var m=(1<>>24)|4278255360&(o<<24|o>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(D=i[a])[n(293)]^=c,D[n(316)]^=o}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,_=0;_<5;_++)m^=(D=i[p+5*_])[n(293)],v^=D.low;var y=h[p];y.high=m,y[n(316)]=v}for(p=0;p<5;p++){var g=h[(p+4)%5],b=h[(p+1)%5],w=b[n(293)],S=b[n(316)];for(m=g[n(293)]^(w<<1|S>>>31),v=g[n(316)]^(S<<1|w>>>31),_=0;_<5;_++)(D=i[p+5*_])[n(293)]^=m,D[n(316)]^=v}for(var I=1;I<25;I++){var A=(D=i[I])[n(293)],E=D.low,k=u[I];k<32?(m=A<>>32-k,v=E<>>32-k):(m=E<>>64-k,v=A<>>64-k);var C=h[l[I]];C.high=m,C[n(316)]=v}var x=h[0],T=i[0];for(x[n(293)]=T[n(293)],x[n(316)]=T[n(316)],p=0;p<5;p++)for(_=0;_<5;_++){var D=i[I=p+5*_],B=h[I],M=h[(p+1)%5+5*_],U=h[(p+2)%5+5*_];D.high=B[n(293)]^~M[n(293)]&U.high,D[n(316)]=B.low^~M[n(316)]&U.low}D=i[0];var P=d[f];D[n(293)]^=P[n(293)],D.low^=P[n(316)]}},_doFinalize:function(){var e=r,n=this[e(306)],i=n.words;this._nDataBytes;var a=8*n[e(296)],o=32*this.blockSize;i[a>>>5]|=1<<24-a%32,i[(t.ceil((a+1)/o)*o>>>5)-1]|=128,n[e(296)]=4*i.length,this[e(301)]();for(var c=this[e(285)],u=this[e(289)][e(309)]/8,l=u/8,d=[],h=0;h>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d[e(323)](m),d[e(323)](p)}return new s.init(d,u)},clone:function(){for(var e=r,t=a[e(303)][e(322)](this),n=t[e(285)]=this[e(285)][e(302)](0),i=0;i<25;i++)n[i]=n[i].clone();return t}});n[r(299)]=a._createHelper(f),n[r(319)]=a[r(320)](f)}(Math),e.SHA3},(i=is)(287)==i(287)?e.exports=n(Ai):"undefined"===i(297)&&(void 0).amd?(void 0)([i(314),i(318)],n):n(r.CryptoJS)}));var ss=os;function as(){var e=["call","lib","3050862qLlbfg","415971MkgPih","1679216FJYaaW","Hasher","amd","WordArray","function","4990599ThcolC","5pwqbwF","create","clone","_hash","76083oWZrKx","RIPEMD160","algo","extend","_createHelper","createCommonjsModule","_nDataBytes","429228PXSmzV","sigBytes","160pFoIzz","./core","_process","HmacRIPEMD160","commonjsGlobal","length","words","_createHmacHelper","264634AyrYRS","object"];return(as=function(){return e})()}function os(e,t){var r=as();return(os=function(e,t){return r[e-=137]})(e,t)}!function(e,t){for(var r=os,n=e();;)try{if(285226===-parseInt(r(148))/1+parseInt(r(143))/2+parseInt(r(166))/3+-parseInt(r(149))/4+-parseInt(r(155))/5*(-parseInt(r(147))/6)+parseInt(r(159))/7*(-parseInt(r(168))/8)+parseInt(r(154))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(as);Ze[ss(164)]((function(e,t){var r,n,i,s=ss;r=Ze[s(139)],n=function(e){var t=s;return function(t){var r=os,n=e,i=n[r(146)],s=i[r(152)],a=i[r(150)],o=n[r(161)],c=s[r(156)]([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s[r(156)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s[r(156)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s[r(156)]([0,1518500249,1859775393,2400959708,2840853838]),f=s[r(156)]([1352829926,1548603684,1836072691,2053994217,0]),p=o[r(160)]=a[r(162)]({_doReset:function(){var e=r;this._hash=s[e(156)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o,p,w,S,I,A,E,k,C,x,T,D=this[n(158)][n(141)],B=h.words,M=f.words,U=c.words,P=u[n(141)],F=l[n(141)],R=d[n(141)];for(A=o=D[0],E=p=D[1],k=w=D[2],C=S=D[3],x=I=D[4],i=0;i<80;i+=1)T=o+e[t+U[i]]|0,T+=i<16?m(p,w,S)+B[0]:i<32?v(p,w,S)+B[1]:i<48?_(p,w,S)+B[2]:i<64?y(p,w,S)+B[3]:g(p,w,S)+B[4],T=(T=b(T|=0,F[i]))+I|0,o=I,I=S,S=b(w,10),w=p,p=T,T=A+e[t+P[i]]|0,T+=i<16?g(E,k,C)+M[0]:i<32?y(E,k,C)+M[1]:i<48?_(E,k,C)+M[2]:i<64?v(E,k,C)+M[3]:m(E,k,C)+M[4],T=(T=b(T|=0,R[i]))+x|0,A=x,x=C,C=b(k,10),k=E,E=T;T=D[1]+w+C|0,D[1]=D[2]+S+x|0,D[2]=D[3]+I+A|0,D[3]=D[4]+o+E|0,D[4]=D[0]+p+k|0,D[0]=T},_doFinalize:function(){var e=r,t=this._data,n=t[e(141)],i=8*this[e(165)],s=8*t.sigBytes;n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[e(167)]=4*(n[e(140)]+1),this[e(137)]();for(var a=this[e(158)],o=a[e(141)],c=0;c<5;c++){var u=o[c];o[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=r,t=a[e(157)][e(145)](this);return t[e(158)]=this._hash[e(157)](),t}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function y(e,t,r){return e&r|t&~r}function g(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}n[r(160)]=a[r(163)](p),n[r(138)]=a[r(142)](p)}(),e[t(160)]},"object"===(i=os)(144)?e.exports=n(Ai):"undefined"===i(153)&&(void 0)[i(151)]?(void 0)([i(169)],n):n(r.CryptoJS)}));var cs=ls;function us(){var e=["45055QEEVJQ","_iKey","finalize","_hasher","_oKey","function","Utf8","reset","837146DnMOTr","exports","update","./core","11626137PElzLr","string","HMAC","createCommonjsModule","concat","3924888bOYisA","Base","object","clamp","init","words","clone","lib","347847eUGYom","extend","sigBytes","601944OeyFFk","parse","5016520hNsaqe","commonjsGlobal","2LNMJzm","222pYsyty","algo"];return(us=function(){return e})()}function ls(e,t){var r=us();return(ls=function(e,t){return r[e-=455]})(e,t)}!function(e,t){for(var r=ls,n=e();;)try{if(505354===-parseInt(r(484))/1*(parseInt(r(473))/2)+parseInt(r(466))/3+parseInt(r(458))/4+-parseInt(r(476))/5*(parseInt(r(474))/6)+-parseInt(r(469))/7+-parseInt(r(471))/8+parseInt(r(488))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(us);Ze[cs(456)]((function(e,t){var r,n,i;r=Ze[cs(472)],n=function(e){var t,r,n,i;n=(r=e)[(t=ls)(465)][t(459)],i=r.enc[t(482)],r[t(475)][t(455)]=n[t(467)]({init:function(e,r){var n=t;e=this[n(479)]=new(e[n(462)]),typeof r==n(489)&&(r=i[n(470)](r));var s=e.blockSize,a=4*s;r[n(468)]>a&&(r=e.finalize(r)),r[n(461)]();for(var o=this[n(480)]=r[n(464)](),c=this._iKey=r.clone(),u=o[n(463)],l=c[n(463)],d=0;d>>2];e[t(150)]-=r}};s[n(162)]=h.extend({cfg:h.cfg.extend({mode:m,padding:v}),reset:function(){var e,t=n;h[t(174)][t(178)](this);var r=this[t(116)],i=r.iv,s=r[t(131)];this._xformMode==this[t(114)]?e=s.createEncryptor:(e=s[t(190)],this[t(154)]=1),this[t(177)]&&this[t(177)].__creator==e?this._mode[t(160)](this,i&&i[t(156)]):(this._mode=e[t(178)](s,this,i&&i[t(156)]),this[t(177)][t(171)]=e)},_doProcessBlock:function(e,t){this[n(177)].processBlock(e,t)},_doFinalize:function(){var e,t=n,r=this[t(116)][t(152)];return this[t(129)]==this[t(114)]?(r.pad(this[t(144)],this[t(137)]),e=this[t(180)](!!t(161))):(e=this[t(180)](!!t(161)),r[t(167)](e)),e},blockSize:4});var _=s[n(175)]=a[n(141)]({init:function(e){this[n(121)](e)},toString:function(e){return(e||this[n(118)]).stringify(this)}}),y=(i[n(173)]={})[n(169)]={stringify:function(e){var t=n,r=e[t(186)],i=e[t(143)];return(i?o.create([1398893684,1701076831])[t(184)](i).concat(r):r)[t(109)](l)},parse:function(e){var t,r=n,i=l.parse(e),s=i[r(156)];return 1398893684==s[0]&&1701076831==s[1]&&(t=o.create(s[r(128)](2,4)),s[r(132)](0,4),i[r(150)]-=16),_.create({ciphertext:i,salt:t})}},g=s.SerializableCipher=a[n(141)]({cfg:a[n(141)]({format:y}),encrypt:function(e,t,r,i){var s=n;i=this[s(116)][s(141)](i);var a=e[s(146)](r,i),o=a[s(113)](t),c=a[s(116)];return _[s(159)]({ciphertext:o,key:r,iv:c.iv,algorithm:e,mode:c[s(131)],padding:c[s(152)],blockSize:e[s(137)],formatter:i[s(173)]})},decrypt:function(e,t,r,i){var s=n;return i=this[s(116)][s(141)](i),t=this._parse(t,i.format),e[s(190)](r,i).finalize(t[s(186)])},_parse:function(e,t){return"string"==typeof e?t[n(163)](e,this):e}}),b=(i.kdf={})[n(169)]={execute:function(e,t,r,i,s){var a=n;if(!i&&(i=o[a(192)](8)),s)c=d.create({keySize:t+r,hasher:s}).compute(e,i);else var c=d[a(159)]({keySize:t+r})[a(140)](e,i);var u=o[a(159)](c[a(156)][a(128)](t),4*r);return c[a(150)]=4*t,_[a(159)]({key:c,iv:u,salt:i})}},w=s[n(166)]=g[n(141)]({cfg:g[n(116)].extend({kdf:b}),encrypt:function(e,t,r,i){var s=n,a=(i=this.cfg[s(141)](i))[s(196)].execute(r,e[s(172)],e[s(155)],i.salt,i[s(151)]);i.iv=a.iv;var o=g[s(138)][s(178)](this,e,t,a[s(149)],i);return o[s(121)](a),o},decrypt:function(e,t,r,i){var s=n;i=this.cfg.extend(i),t=this[s(139)](t,i[s(173)]);var a=i[s(196)].execute(r,e[s(172)],e[s(155)],t[s(143)],i[s(151)]);return i.iv=a.iv,g[s(188)][s(178)](this,e,t,a.key,i)}})}()},"object"===(i=ys)(158)?e[i(164)]=n(Ai):"undefined"===i(136)&&(void 0)[i(124)]?(void 0)(["./core","./evpkdf"],n):n(r[i(123)])}));function gs(){var e=["concat","Pkcs7","ciphertext","_append","decrypt","899516FlypqH","createDecryptor","3463168JBMzPK","random","7325FCFOto","CBC","BufferedBlockAlgorithm","kdf","toString","_doFinalize","Utf8","3142185hgtiuN","finalize","_ENC_XFORM_MODE","createCommonjsModule","cfg","3664031yWSGCk","formatter","_prevBlock","pad","mixIn","6XugLqE","CryptoJS","amd","EvpKDF","_key","string","slice","_xformMode","12820fsnWro","mode","splice","3aUNLuA","encryptBlock","commonjsGlobal","function","blockSize","encrypt","_parse","compute","extend","Cipher","salt","_data","_iv","createEncryptor","Base64","1492Hnitmx","key","sigBytes","hasher","padding","3285UKNNaH","_minBufferSize","ivSize","words","_DEC_XFORM_MODE","object","create","init","flush","BlockCipher","parse","exports","22142219lWINLW","PasswordBasedCipher","unpad","push","OpenSSL","lib","__creator","keySize","format","reset","CipherParams","Decryptor","_mode","call","WordArray","_process","decryptBlock","_cipher","Base"];return(gs=function(){return e})()}function bs(e,t){var r=Ss();return(bs=function(e,t){return r[e-=295]})(e,t)}var ws=bs;function Ss(){var e=["170FeSuAJ","lib","3280UVLfZf","slice","_cipher","91jhwNXE","Encryptor","blockSize","1144686MYcjhv","2619144PZXnVT","CryptoJS","createCommonjsModule","commonjsGlobal","705033OoCxhO","CFB","BlockCipherMode","374734kZFRpQ","./cipher-core","2705eSPOHu","_prevBlock","extend","encryptBlock","function","amd","object","call","282376UHhuqO","mode","368423SxkGly","2cfUdGj","_iv"];return(Ss=function(){return e})()}!function(e,t){for(var r=bs,n=e();;)try{if(233263===-parseInt(r(295))/1*(parseInt(r(308))/2)+parseInt(r(318))/3+-parseInt(r(312))/4*(parseInt(r(297))/5)+-parseInt(r(319))/6+-parseInt(r(315))/7*(-parseInt(r(305))/8)+parseInt(r(323))/9+parseInt(r(310))/10*(parseInt(r(307))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ss);Ze[ws(321)]((function(e,t){var r,n,i,s=ws;r=Ze[s(322)],n=function(e){var t=s;return e[t(306)][t(324)]=function(){var r=t,n=e[r(311)][r(325)][r(299)]();function i(e,t,n,i){var s,a=r,o=this[a(309)];o?(s=o[a(313)](0),this[a(309)]=void 0):s=this[a(298)],i[a(300)](s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var s=n[r(327)]=n[r(319)]({processBlock:function(e,t){var n,s=r,a=this[s(322)],o=a[s(313)],c=this._iv,u=this._counter;c&&(u=this[s(311)]=c[s(308)](0),this[s(305)]=void 0),0===((n=u)[0]=i(n[0]))&&(n[1]=i(n[1]));var l=u[s(308)](0);a[s(326)](l,0);for(var d=0;d>>2]|=a<<24-o%4*8,e[n(325)]+=a},unpad:function(e){var r=t,n=255&e.words[e.sigBytes-1>>>2];e[r(325)]-=n}},e[t(322)].Ansix923},(i=Ps)(330)==i(330)?e[i(324)]=n(Ai):n(r.CryptoJS)}));function Fs(){var e=["clamp","7882350xPxloC","amd","21398lfZTQB","8166416pNztDq","createCommonjsModule","pad","12NzpLbn","exports","sigBytes","5316570JNBHgp","64497xiMoEk","188KcNWJP","2933uwqkmR","object","./core","25958229apYIhO","AnsiX923","12174qMvKKW","9ApBtLU","85BJMdhq"];return(Fs=function(){return e})()}function Rs(){var e=["35124mkEIwh","pad","./cipher-core","36SQgJdY","concat","object","amd","1576088mQEPQN","sigBytes","./core","1547WReSds","35558bMjuxz","16vYLeDP","6884vIzFxS","4980635wemVVn","3359040uuxEao","exports","13668523phesib","1743QriDaS","lib","CryptoJS","function"];return(Rs=function(){return e})()}!function(e,t){for(var r=Ls,n=e();;)try{if(886851===-parseInt(r(180))/1*(parseInt(r(179))/2)+parseInt(r(186))/3*(-parseInt(r(181))/4)+parseInt(r(182))/5+parseInt(r(190))/6*(parseInt(r(178))/7)+parseInt(r(175))/8*(parseInt(r(171))/9)+parseInt(r(183))/10+-parseInt(r(185))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Rs);Qe((function(e,t){var r,n,i;r=Je,n=function(e){var t=Ls;return e.pad.Iso10126={pad:function(t,r){var n=Ls,i=4*r,s=i-t[n(176)]%i;t[n(172)](e[n(187)].WordArray.random(s-1))[n(172)](e[n(187)].WordArray.create([s<<24],1))},unpad:function(e){var t=Ls,r=255&e.words[e.sigBytes-1>>>2];e[t(176)]-=r}},e[t(191)].Iso10126},"object"===(i=Ls)(173)?e[i(184)]=n(Ai):"undefined"===i(189)&&(void 0)[i(174)]?(void 0)([i(177),i(170)],n):n(r[i(188)])}));function Ls(e,t){var r=Rs();return(Ls=function(e,t){return r[e-=170]})(e,t)}var Os=Ns;function zs(){var e=["create","function","WordArray","354DmYMMR","9690010tJUmRW","1167kYqIBe","3963lwgjaT","sigBytes","lib","CryptoJS","./core","pad","11075746VtoXDz","createCommonjsModule","210bpCJXG","concat","object","10647927myDinw","exports","3772EZelND","./cipher-core","5xYtLbf","327016YuyJjU","amd","393354idgYxO"];return(zs=function(){return e})()}!function(e,t){for(var r=Ns,n=e();;)try{if(702591===-parseInt(r(183))/1*(-parseInt(r(180))/2)+parseInt(r(182))/3*(-parseInt(r(196))/4)+-parseInt(r(198))/5*(parseInt(r(201))/6)+parseInt(r(191))/7*(parseInt(r(199))/8)+parseInt(r(194))/9+-parseInt(r(181))/10+-parseInt(r(189))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zs);Ze[Os(190)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Ns;return e.pad.Iso97971={pad:function(t,r){var n=Ns;t[n(192)](e[n(185)][n(179)][n(202)]([2147483648],1)),e.pad.ZeroPadding[n(188)](t,r)},unpad:function(t){var r=Ns;e[r(188)].ZeroPadding.unpad(t),t[r(184)]--}},e[t(188)].Iso97971},(i=Ns)(193)==i(193)?e[i(195)]=n(Ai):"undefined"===i(178)&&(void 0)[i(200)]?(void 0)([i(187),i(197)],n):n(r[i(186)])}));function Ns(e,t){var r=zs();return(Ns=function(e,t){return r[e-=178]})(e,t)}function Hs(e,t){var r=Vs();return(Hs=function(e,t){return r[e-=112]})(e,t)}function Vs(){var e=["sigBytes","CryptoJS","28202wIzVUx","5654295FJJkLJ","36850390vxwGzt","pad","2718345ngwZMc","function","2051UEBzGL","15420arbKhM","957492LNkJOq","15VBzoQW","exports","10943168MuASgN","createCommonjsModule","ZeroPadding","object","words","clamp","22LYfGDd","./cipher-core","amd"];return(Vs=function(){return e})()}var js=Hs;!function(e,t){for(var r=Hs,n=e();;)try{if(813652===parseInt(r(116))/1*(-parseInt(r(121))/2)+parseInt(r(125))/3+-parseInt(r(129))/4*(parseInt(r(130))/5)+-parseInt(r(128))/6*(parseInt(r(127))/7)+-parseInt(r(132))/8+-parseInt(r(122))/9+parseInt(r(123))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vs);Ze[js(133)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Hs;return e.pad[t(112)]={pad:function(e,r){var n=t,i=4*r;e[n(115)](),e[n(119)]+=i-(e[n(119)]%i||i)},unpad:function(e){var r=t,n=e[r(114)],i=e[r(119)]-1;for(i=e[r(119)]-1;i>=0;i--)if(n[i>>>2]>>>24-i%4*8&255){e[r(119)]=i+1;break}}},e[t(124)][t(112)]},"object"===(i=Hs)(113)?e[i(131)]=n(Ai):"undefined"===i(126)&&(void 0)[i(118)]?(void 0)(["./core",i(117)],n):n(r[i(120)])}));var Gs=Ws;!function(e,t){for(var r=Ws,n=e();;)try{if(578954===parseInt(r(449))/1+-parseInt(r(445))/2+parseInt(r(437))/3*(parseInt(r(455))/4)+parseInt(r(448))/5+-parseInt(r(444))/6+parseInt(r(450))/7*(-parseInt(r(454))/8)+parseInt(r(439))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qs);Ze[Gs(441)]((function(e,t){var r,n,i,s=Gs;r=Ze[s(451)],n=function(e){var t=s;return e.pad.NoPadding={pad:function(){},unpad:function(){}},e[t(440)][t(452)]},(i=Ws)(447)==i(447)?e.exports=n(Ai):"undefined"===i(442)&&(void 0)[i(443)]?(void 0)([i(453),i(438)],n):n(r[i(446)])}));function Ws(e,t){var r=qs();return(Ws=function(e,t){return r[e-=437]})(e,t)}function qs(){var e=["87656SRixSq","27844GUSGdV","195NoKQTi","./cipher-core","17332785cSsxaN","pad","createCommonjsModule","function","amd","6218130oqEMHb","1899080AJRfbA","CryptoJS","object","583590sbZyQC","1088802sOVZQO","651JjdkDO","commonjsGlobal","NoPadding","./core"];return(qs=function(){return e})()}var $s=Ks;function Ys(){var e=["format","object","commonjsGlobal","5192vLDpib","170zicfUD","create","1241898kUmhje","17rxJdfK","70aTethE","CipherParams","createCommonjsModule","./core","191439sTOqma","Hex","toString","104VYZyko","./cipher-core","amd","121450iRVlCz","CryptoJS","1126GngDzI","726495CeFAhN","ciphertext","3080220muaAPC","function","exports"];return(Ys=function(){return e})()}function Ks(e,t){var r=Ys();return(Ks=function(e,t){return r[e-=447]})(e,t)}!function(e,t){for(var r=Ks,n=e();;)try{if(239880===parseInt(r(448))/1*(-parseInt(r(461))/2)+-parseInt(r(462))/3+-parseInt(r(470))/4*(-parseInt(r(471))/5)+-parseInt(r(447))/6+parseInt(r(459))/7*(parseInt(r(456))/8)+parseInt(r(453))/9*(parseInt(r(449))/10)+parseInt(r(464))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ys);Ze[$s(451)]((function(e,t){var r,n,i,s=$s;r=Ze[s(469)],n=function(e){var t,r,n,i,a=s;return t=Ks,n=(r=e).lib[t(450)],i=r.enc.Hex,r[t(467)].Hex={stringify:function(e){var r=t;return e[r(463)][r(455)](i)},parse:function(e){var r=t,s=i.parse(e);return n[r(472)]({ciphertext:s})}},e[a(467)][a(454)]},(i=Ks)(468)==i(468)?e[i(466)]=n(Ai):"undefined"===i(465)&&(void 0)[i(458)]?(void 0)([i(452),i(457)],n):n(r[i(460)])}));var Xs=Qs;function Js(){var e=["_keySchedule","_key","sigBytes","1869504LHeYRm","commonjsGlobal","210GgpLUm","exports","1831705NRDXkc","_keyPriorReset","AES","88713PxxWAR","85262wDPPZu","function","./cipher-core","149284nqesIm","algo","30QTMuXr","CryptoJS","_doCryptBlock","54461ZWFHsj","_createHelper","_invKeySchedule","8tWYhZy","object","amd","164129kpBDeN","words","_nRounds","./enc-base64","BlockCipher","createCommonjsModule","296pMyBRs","./md5"];return(Js=function(){return e})()}function Qs(e,t){var r=Js();return(Qs=function(e,t){return r[e-=203]})(e,t)}!function(e,t){for(var r=Qs,n=e();;)try{if(200958===parseInt(r(204))/1*(-parseInt(r(215))/2)+parseInt(r(209))/3*(-parseInt(r(207))/4)+parseInt(r(233))/5+parseInt(r(229))/6+-parseInt(r(218))/7+parseInt(r(224))/8*(parseInt(r(203))/9)+parseInt(r(231))/10*(-parseInt(r(212))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Js);Ze[Xs(223)]((function(e,t){var r,n,i,s=Xs;r=Ze[s(230)],n=function(e){var t=s;return function(){var t=Qs,r=e,n=r.lib[t(222)],i=r[t(208)],s=[],a=[],o=[],c=[],u=[],l=[],d=[],h=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,a[i]=r;var m=e[r],v=e[m],_=e[v],y=257*e[i]^16843008*i;o[r]=y<<24|y>>>8,c[r]=y<<16|y>>>16,u[r]=y<<8|y>>>24,l[r]=y,y=16843009*_^65537*v^257*m^16843008*r,d[i]=y<<24|y>>>8,h[i]=y<<16|y>>>16,f[i]=y<<8|y>>>24,p[i]=y,r?(r=m^e[e[e[_^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i[t(235)]=n.extend({_doReset:function(){var e=t;if(!this[e(220)]||this[e(234)]!==this._key){for(var r=this[e(234)]=this[e(227)],n=r[e(219)],i=r[e(228)]/4,a=4*((this[e(220)]=i+6)+1),o=this[e(226)]=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),o[c]=o[c-i]^v);for(var u=this[e(214)]=[],l=0;l>>24]]^h[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){this[t(211)](e,r,this._keySchedule,o,c,u,l,s)},decryptBlock:function(e,r){var n=t,i=e[r+1];e[r+1]=e[r+3],e[r+3]=i,this[n(211)](e,r,this[n(214)],d,h,f,p,a),i=e[r+1],e[r+1]=e[r+3],e[r+3]=i},_doCryptBlock:function(e,r,n,i,s,a,o,c){for(var u=this[t(220)],l=e[r]^n[0],d=e[r+1]^n[1],h=e[r+2]^n[2],f=e[r+3]^n[3],p=4,m=1;m>>24]^s[d>>>16&255]^a[h>>>8&255]^o[255&f]^n[p++],_=i[d>>>24]^s[h>>>16&255]^a[f>>>8&255]^o[255&l]^n[p++],y=i[h>>>24]^s[f>>>16&255]^a[l>>>8&255]^o[255&d]^n[p++],g=i[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^o[255&h]^n[p++];l=v,d=_,h=y,f=g}v=(c[l>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&f])^n[p++],_=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[f>>>8&255]<<8|c[255&l])^n[p++],y=(c[h>>>24]<<24|c[f>>>16&255]<<16|c[l>>>8&255]<<8|c[255&d])^n[p++],g=(c[f>>>24]<<24|c[l>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^n[p++],e[r]=v,e[r+1]=_,e[r+2]=y,e[r+3]=g},keySize:8});r.AES=n[t(213)](v)}(),e[t(235)]},(i=Qs)(216)==i(216)?e[i(232)]=n(Ai):"undefined"===i(205)&&(void 0)[i(217)]?(void 0)(["./core",i(221),i(225),"./evpkdf",i(206)],n):n(r[i(210)])}));var Zs=ta;function ea(){var e=["3244754xYnvJK","./cipher-core","BlockCipher","_doCryptBlock","commonjsGlobal","encryptBlock","_key","slice","./enc-base64","length","./md5","4415054wPicab","amd","_invSubKeys","words","object","7666549CCVJgb","_des3","DES","call","_des1","extend","./core","createEncryptor","algo","8xCtSHu","5221941gTyaPr","create","9293688KHWmjP","lib","5844240GbJYGe","function","4qxsRmz","1cvNCeD","Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.","exports","1949555zsBSDx","_subKeys","createCommonjsModule","_des2","decryptBlock","18ePalVD","TripleDES","_rBlock","_lBlock"];return(ea=function(){return e})()}function ta(e,t){var r=ea();return(ta=function(e,t){return r[e-=189]})(e,t)}!function(e,t){for(var r=ta,n=e();;)try{if(998628===-parseInt(r(204))/1*(parseInt(r(216))/2)+-parseInt(r(197))/3*(-parseInt(r(203))/4)+parseInt(r(207))/5*(parseInt(r(212))/6)+-parseInt(r(227))/7*(-parseInt(r(196))/8)+-parseInt(r(199))/9+-parseInt(r(201))/10+parseInt(r(232))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ea);Ze[Zs(209)]((function(e,t){var r,n,i,s=Zs;r=Ze[s(220)],n=function(e){var t=s;return function(){var t=ta,r=e,n=r[t(200)],i=n.WordArray,s=n[t(218)],a=r[t(195)],o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=a[t(189)]=s.extend({_doReset:function(){for(var e=t,r=this[e(222)][e(230)],n=[],i=0;i<56;i++){var s=o[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var a=this[e(208)]=[],l=0;l<16;l++){var d=a[l]=[],h=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var f=this[e(229)]=[];for(i=0;i<16;i++)f[i]=a[15-i]},encryptBlock:function(e,r){var n=t;this._doCryptBlock(e,r,this[n(208)])},decryptBlock:function(e,r){this[t(219)](e,r,this._invSubKeys)},_doCryptBlock:function(e,r,n){var i=t;this[i(215)]=e[r],this._rBlock=e[r+1],f[i(190)](this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p[i(190)](this,8,16711935),f.call(this,1,1431655765);for(var s=0;s<16;s++){for(var a=n[s],o=this._lBlock,c=this[i(214)],u=0,h=0;h<8;h++)u|=l[h][((c^a[h])&d[h])>>>0];this[i(215)]=c,this[i(214)]=o^u}var m=this[i(215)];this[i(215)]=this[i(214)],this[i(214)]=m,f[i(190)](this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f[i(190)](this,16,65535),f.call(this,4,252645135),e[r]=this[i(215)],e[r+1]=this[i(214)]},keySize:2,ivSize:2,blockSize:2});function f(e,r){var n=t,i=(this._lBlock>>>e^this._rBlock)&r;this._rBlock^=i,this[n(215)]^=i<>>e^this[n(215)])&r;this[n(215)]^=i,this[n(214)]^=i<>>2]>>>24-c%4*8&255;o=(o+s[a]+u)%256;var l=s[a];s[a]=s[o],s[o]=l}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}r[t(421)]=n[t(426)](s);var o=i[t(413)]=s[t(423)]({cfg:s[t(414)].extend({drop:192}),_doReset:function(){var e=t;s[e(425)][e(422)](this);for(var r=this[e(414)][e(408)];r>0;r--)a[e(422)](this)}});r[t(413)]=n[t(426)](o)}(),e.RC4},"object"===(i=ia)(410)?e[i(409)]=n(Ai):"undefined"===i(428)&&(void 0)[i(418)]?(void 0)(["./core","./enc-base64","./md5",i(429),i(412)],n):n(r[i(432)])}));function ia(e,t){var r=na();return(ia=function(e,t){return r[e-=408]})(e,t)}var sa=aa;function aa(e,t){var r=oa();return(aa=function(e,t){return r[e-=334]})(e,t)}function oa(){var e=["./core","./enc-base64","CryptoJS","76405BsZpaF","4388118aNTeUF","lib","./md5","algo","3ESpXnt","6143220elpbKM","1702724BjCQUR","StreamCipher","cfg","24ezzmsw","exports","call","amd","./cipher-core","./evpkdf","commonjsGlobal","object","words","63152gsQkUr","4909302QnRUbG","createCommonjsModule","2VKlLci","5017944nnvHib","Rabbit"];return(oa=function(){return e})()}!function(e,t){for(var r=aa,n=e();;)try{if(329336===parseInt(r(339))/1*(-parseInt(r(342))/2)+parseInt(r(353))/3*(parseInt(r(355))/4)+parseInt(r(348))/5*(parseInt(r(358))/6)+-parseInt(r(349))/7+-parseInt(r(343))/8+parseInt(r(340))/9+parseInt(r(354))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(oa);Ze[sa(341)]((function(e,t){var r,n,i;r=Ze[sa(336)],n=function(e){return function(){var t=aa,r=e,n=r[t(350)][t(356)],i=r[t(352)],s=[],a=[],o=[],c=i[t(344)]=n.extend({_doReset:function(){for(var e=t,r=this._key[e(338)],n=this[e(357)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],a=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u[e(360)](this);for(i=0;i<8;i++)a[i]^=s[i+4&7];if(n){var o=n.words,c=o[0],l=o[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(a[0]^=d,a[1]^=f,a[2]^=h,a[3]^=p,a[4]^=d,a[5]^=f,a[6]^=h,a[7]^=p,i=0;i<4;i++)u[e(360)](this)}},_doProcessBlock:function(e,t){var r=this._X;u.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)s[n]=16711935&(s[n]<<8|s[n]>>>24)|4278255360&(s[n]<<24|s[n]>>>8),e[t+n]^=s[n]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r[t(344)]=n._createHelper(c)}(),e.Rabbit},(i=aa)(337)==i(337)?e[i(359)]=n(Ai):n(r[i(347)])}));var ca=ua;function ua(e,t){var r=la();return(ua=function(e,t){return r[e-=164]})(e,t)}function la(){var e=["call","RabbitLegacy","2305195jNdmvL","5164080VPhTVf","CryptoJS","./enc-base64","createCommonjsModule","function","4133672lfjGBk","./core","358428DgFNtF","5284380izERdc","object","./md5","57IgHyBB","StreamCipher","words","./cipher-core","algo","3550393qJryon","lib","extend","exports","amd","129934VpUmhH","commonjsGlobal","cfg"];return(la=function(){return e})()}!function(e,t){for(var r=ua,n=e();;)try{if(715475===parseInt(r(175))/1+-parseInt(r(189))/2*(parseInt(r(179))/3)+parseInt(r(173))/4+-parseInt(r(167))/5+parseInt(r(176))/6+-parseInt(r(184))/7+parseInt(r(168))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(la);Ze[ca(171)]((function(e,t){var r,n,i,s=ca;r=Ze[s(190)],n=function(e){var t=s;return function(){var t=ua,r=e,n=r[t(185)][t(180)],i=r[t(183)],s=[],a=[],o=[],c=i[t(166)]=n[t(186)]({_doReset:function(){var e=t,r=this._key[e(181)],n=this[e(164)].iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var a=0;a<4;a++)u.call(this);for(a=0;a<8;a++)s[a]^=i[a+4&7];if(n){var o=n[e(181)],c=o[0],l=o[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(s[0]^=d,s[1]^=f,s[2]^=h,s[3]^=p,s[4]^=d,s[5]^=f,s[6]^=h,s[7]^=p,a=0;a<4;a++)u[e(165)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(165)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var a=0;a<4;a++)s[a]=16711935&(s[a]<<8|s[a]>>>24)|4278255360&(s[a]<<24|s[a]>>>8),e[r+a]^=s[a]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r.RabbitLegacy=n._createHelper(c)}(),e[t(166)]},(i=ua)(177)==i(177)?e[i(187)]=n(Ai):"undefined"===i(172)&&(void 0)[i(188)]?(void 0)([i(174),i(170),i(178),"./evpkdf",i(182)],n):n(r[i(169)])}));function da(e,t){const r=ha();return(da=function(e,t){return r[e-=213]})(e,t)}function ha(){const e=["_createHelper","./evpkdf","exports","Blowfish","2043ZmjdFt","1578668WmNyEf","object","./md5","pbox","_key","words","358185mXjDuZ","2235440MJAsTl","./cipher-core","CryptoJS","sbox","990930CeBgjQ","BlockCipher","function","81708BkXvPD","./enc-base64","right","70552LgrbpQ","4qddXwE","117YBzCFB","414uOaZUo"];return(ha=function(){return e})()}!function(e,t){const r=da,n=e();for(;;)try{if(150886===parseInt(r(226))/1+parseInt(r(232))/2*(-parseInt(r(237))/3)+-parseInt(r(230))/4*(parseInt(r(218))/5)+parseInt(r(223))/6+parseInt(r(238))/7+parseInt(r(229))/8*(parseInt(r(231))/9)+-parseInt(r(219))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ha);Qe((function(e,t){!function(t,r,n){const i=da;i(213)==i(213)?e[i(235)]=r(Ai):"undefined"===i(225)&&(void 0).amd?(void 0)(["./core",i(227),i(214),i(234),i(220)],r):r(t[i(221)])}(Je,(function(e){const t=da;return function(){const t=da;var r=e,n=r.lib[t(224)],i=r.algo;const s=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const n=t;let i=r>>24&255,s=r>>16&255,a=r>>8&255,o=255&r,c=e.sbox[0][i]+e[n(222)][1][s];return c^=e.sbox[2][a],c+=e[n(222)][3][o],c}function l(e,r,n){const i=t;let a,o=r,c=n;for(let t=0;t=n&&(s=0);let c=0,u=0,d=0;for(let t=0;t<18;t+=2)d=l(e,c,u),c=d.left,u=d.right,e[i(215)][t]=c,e.pbox[t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)d=l(e,c,u),c=d.left,u=d[i(228)],e[i(222)][t][r]=c,e[i(222)][t][r+1]=u}(c,n,i)}},encryptBlock:function(e,r){const n=t;var i=l(c,e[r],e[r+1]);e[r]=i.left,e[r+1]=i[n(228)]},decryptBlock:function(e,t){var r=function(e,t,r){let n,i=t,s=r;for(let t=17;t>1;--t)i^=e.pbox[t],s=u(e,i)^s,n=i,i=s,s=n;return n=i,i=s,s=n,s^=e.pbox[1],i^=e.pbox[0],{left:i,right:s}}(c,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},blockSize:2,keySize:4,ivSize:2});r[t(236)]=n[t(233)](d)}(),e[t(236)]}))}));var fa=pa;function pa(e,t){var r=ma();return(pa=function(e,t){return r[e-=166]})(e,t)}function ma(){var e=["42012XJppcy","./sha256","./sha384","./core","./hmac","918UCcLtr","./enc-utf16","./rabbit","991974DKVRlk","16396128fiJkBr","./evpkdf","./mode-cfb","370uoZDGe","./pad-zeropadding","CryptoJS","./mode-ofb","./rabbit-legacy","./cipher-core","./x64-core","./pad-ansix923","exports","11hPuQnr","./rc4","amd","./sha1","createCommonjsModule","8646294hooHZQ","./pad-iso10126","object","./sha3","./mode-ctr","936CRwcjq","./enc-base64","./enc-base64url","./mode-ctr-gladman","897297dmKgXe","./pbkdf2","./md5","12952370gfswSb","function","7DERECO","./sha224","./aes","./blowfish","2TKKgmU"];return(ma=function(){return e})()}function va(e,t){const r=ba();return(va=function(e,t){return r[e-=213]})(e,t)}function _a(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function ya(e,t,r){const n=va;let i=arguments[n(222)]>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e[n(224)];let a=5;for(;as)break;let c=e[a+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(235)](c)):(c&=31,u=1===c||5===c),u){const i=e[n(213)](a+4+2,a+4+o);let s=new(wi[n(229)].ctr)(t,new(wi[n(226)])(r));const c=s[n(220)](i);s=null,e[n(223)](c,a+4+2)}a=a+4+o}return e}function ga(e,t,r){const n=va;if(e[n(224)]<=30)return e;const i=e[n(213)](32);let s=new(wi[n(229)][n(217)])(t,new(wi[n(226)])(r));const a=s[n(220)](i);return s=null,e.set(a,32),e}function ba(){const e=["ModeOfOperation","1JZMslz","WordArray","674289HQdQDN","75090wAhora","787382dYlpOk","includes","get","lib","slice","3zbenPO","2595920oIXgHB","then","ctr","toString","create","decrypt","8838PjGhpQ","length","set","byteLength","29470ooAyfq","Counter","7424175vMOOVB","10419072uoTSfi"];return(ba=function(){return e})()}!function(e,t){for(var r=pa,n=e();;)try{if(986371===-parseInt(r(191))/1+parseInt(r(182))/2*(-parseInt(r(173))/3)+parseInt(r(183))/4*(parseInt(r(195))/5)+-parseInt(r(209))/6*(-parseInt(r(178))/7)+-parseInt(r(169))/8*(parseInt(r(188))/9)+-parseInt(r(176))/10*(parseInt(r(204))/11)+parseInt(r(192))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ma),Ze[fa(208)]((function(e,t){var r,n,i;r=Je,n=function(e){return e},(i=pa)(166)==i(166)?e[i(203)]=Ai:"undefined"===i(177)&&(void 0)[i(206)]?(void 0)([i(186),i(201),"./lib-typedarrays",i(189),i(170),i(171),i(175),i(207),i(184),i(179),"./sha512",i(185),i(167),"./ripemd160",i(187),i(174),i(193),i(200),i(194),i(168),i(172),i(198),"./mode-ecb",i(202),i(210),"./pad-iso97971",i(196),"./pad-nopadding","./format-hex",i(180),"./tripledes",i(205),i(190),i(199),i(181)],n):r[i(197)]=r[i(197)]})),function(e,t){const r=va,n=e();for(;;)try{if(827094===-parseInt(r(230))/1*(-parseInt(r(234))/2)+parseInt(r(214))/3*(parseInt(r(215))/4)+parseInt(r(227))/5+-parseInt(r(233))/6+-parseInt(r(232))/7+parseInt(r(228))/8+parseInt(r(221))/9*(-parseInt(r(225))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ba);var wa=Aa;!function(e,t){for(var r=Aa,n=e();;)try{if(217827===-parseInt(r(1220))/1+parseInt(r(1514))/2+-parseInt(r(1002))/3*(parseInt(r(449))/4)+parseInt(r(1452))/5*(parseInt(r(1408))/6)+-parseInt(r(694))/7*(parseInt(r(939))/8)+-parseInt(r(617))/9+-parseInt(r(1403))/10*(-parseInt(r(932))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ia);var Sa=Ze[wa(997)]((function(e,t){var r,n,s=wa,a=(r=new Date,n=4,{setLogLevel:function(e){var t=Aa;n=e==this[t(699)]?1:e==this[t(613)]?2:e==this[t(1396)]?3:(this[t(973)],4)},debug:function(e,t){var i=Aa;void 0===console.debug&&(console[i(699)]=console[i(745)]),1>=n&&console[i(699)]("["+a[i(1102)](new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=Aa;this.debug(e[r(656)])},info:function(e,t){var i=Aa;2>=n&&console[i(613)]("["+a[i(1102)](new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){var i=Aa;3>=n&&console[i(1396)]("["+a[i(1102)](new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){var i=Aa;4>=n&&console[i(973)]("["+a[i(1102)](new Date-r,1e3)+"]","["+e+"]",t)}});a[s(1102)]=function(e,t){var r,n=s;function i(e,t){for(var r=(""+e)[Aa(549)](".");r[0].length0){for(var n="",i=0;i0&&(n+=","),n+="["+a[t(1102)](e[t(1206)](i))+","+a[t(1102)](e[t(1334)](i))+"]";return n}return t(1531)},s(1149)!==s(1321)&&(t[s(508)]=a);var o=function(e){var t=s;if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this[t(509)]=new DataView(e),this[t(1208)]=0};o[s(1244)].getPosition=function(){return this[s(1208)]},o[s(1244)][s(550)]=function(){var e=s;return this[e(873)][e(1246)]},o[s(1244)].getLength=function(){var e=s;return this[e(873)][e(1246)]},o[s(1244)][s(1490)]=function(e){var t=s,r=Math.max(0,Math[t(1688)](this.buffer[t(1246)],e));return this[t(1208)]=isNaN(r)||!isFinite(r)?0:r,!0},o[s(1244)][s(1362)]=function(){var e=s;return this.getPosition()>=this[e(550)]()},o[s(1244)][s(505)]=function(e,t){var r=s,n=0;if(this[r(1208)]+e<=this[r(873)].byteLength){switch(e){case 1:n=t?this[r(509)].getInt8(this[r(1208)]):this.dataview.getUint8(this[r(1208)]);break;case 2:n=t?this[r(509)][r(800)](this.position):this[r(509)][r(966)](this[r(1208)]);break;case 3:if(t)throw"No method for reading signed 24 bits values";n=this.dataview[r(1356)](this[r(1208)])<<16,n|=this[r(509)].getUint8(this.position+1)<<8,n|=this[r(509)][r(1356)](this[r(1208)]+2);break;case 4:n=t?this[r(509)].getInt32(this.position):this[r(509)].getUint32(this[r(1208)]);break;case 8:if(t)throw r(1607);n=this[r(509)][r(580)](this[r(1208)])<<32,n|=this.dataview[r(580)](this[r(1208)]+4);break;default:throw"readInt method not implemented for size: "+e}return this[r(1208)]+=e,n}throw r(458)},o.prototype[s(1174)]=function(){return this[s(505)](1,!1)},o[s(1244)].readUint16=function(){return this[s(505)](2,!1)},o[s(1244)][s(1164)]=function(){return this[s(505)](3,!1)},o.prototype[s(1650)]=function(){return this[s(505)](4,!1)},o[s(1244)].readUint64=function(){return this.readAnyInt(8,!1)},o[s(1244)][s(987)]=function(e){var t=s;if(this[t(1208)]+e<=this[t(873)][t(1246)]){for(var r="",n=0;nthis[t(715)]&&(this._byteLength=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),a=new Uint8Array(this[t(1152)]);new Uint8Array(i,0,a[t(1346)])[t(1037)](a),this[t(873)]=i,this._byteLength=r}}},c[s(1244)][s(1390)]=function(){var e=s;if(this[e(715)]!=this[e(1152)][e(1246)]){var t=new ArrayBuffer(this[e(715)]),r=new Uint8Array(t),n=new Uint8Array(this[e(1152)],0,r[e(1346)]);r.set(n),this[e(873)]=t}},c[s(1233)]=!1,c[s(1229)]=!0,c[s(1244)][s(715)]=0,Object[s(734)](c.prototype,s(1246),{get:function(){var e=s;return this[e(715)]-this[e(1693)]}}),Object[s(734)](c[s(1244)],s(873),{get:function(){return this[s(1390)](),this._buffer},set:function(e){var t=s;this._buffer=e,this[t(1507)]=new DataView(this[t(1152)],this[t(1693)]),this._byteLength=this._buffer.byteLength}}),Object[s(734)](c.prototype,s(701),{get:function(){return this[s(1693)]},set:function(e){var t=s;this._byteOffset=e,this[t(1507)]=new DataView(this._buffer,this[t(1693)]),this._byteLength=this[t(1152)][t(1246)]}}),Object[s(734)](c.prototype,s(512),{get:function(){return this[s(1507)]},set:function(e){var t=s;this[t(1693)]=e[t(701)],this[t(1152)]=e[t(873)],this[t(1507)]=new DataView(this[t(1152)],this[t(1693)]),this[t(715)]=this[t(1693)]+e[t(1246)]}}),c[s(1244)][s(1490)]=function(e){var t=s,r=Math[t(1061)](0,Math[t(1688)](this[t(1246)],e));this[t(1208)]=isNaN(r)||!isFinite(r)?0:r},c[s(1244)][s(618)]=function(){var e=s;return this.position>=this[e(715)]},c.prototype[s(1459)]=function(e){var t=s;this[t(1407)](1*e);var r=new Uint8Array(this._buffer,this[t(701)]+this[t(1208)],e);return this[t(1208)]+=1*e,r},c.prototype[s(925)]=function(e,t){var r=s;e=null==e?this[r(1246)]-this[r(1208)]/4:e;var n=new Int32Array(e);return c[r(1575)](n.buffer,0,this[r(873)],this[r(701)]+this[r(1208)],e*n[r(1577)]),c[r(1187)](n,null==t?this[r(838)]:t),this[r(1208)]+=n[r(1246)],n},c.prototype[s(1588)]=function(e,t){var r=s;e=null==e?this[r(1246)]-this[r(1208)]/2:e;var n=new Int16Array(e);return c.memcpy(n[r(873)],0,this[r(873)],this[r(701)]+this[r(1208)],e*n[r(1577)]),c[r(1187)](n,null==t?this[r(838)]:t),this[r(1208)]+=n[r(1246)],n},c[s(1244)][s(491)]=function(e){var t=s;e=null==e?this.byteLength-this[t(1208)]:e;var r=new Int8Array(e);return c.memcpy(r[t(873)],0,this[t(873)],this[t(701)]+this[t(1208)],e*r.BYTES_PER_ELEMENT),this[t(1208)]+=r[t(1246)],r},c[s(1244)][s(443)]=function(e,t){var r=s;e=null==e?this[r(1246)]-this[r(1208)]/4:e;var n=new Uint32Array(e);return c[r(1575)](n[r(873)],0,this[r(873)],this[r(701)]+this[r(1208)],e*n[r(1577)]),c[r(1187)](n,null==t?this.endianness:t),this[r(1208)]+=n[r(1246)],n},c[s(1244)][s(1145)]=function(e,t){var r=s;e=null==e?this[r(1246)]-this[r(1208)]/2:e;var n=new Uint16Array(e);return c[r(1575)](n.buffer,0,this[r(873)],this[r(701)]+this[r(1208)],e*n[r(1577)]),c[r(1187)](n,null==t?this.endianness:t),this.position+=n.byteLength,n},c[s(1244)][s(926)]=function(e){var t=s;e=null==e?this[t(1246)]-this[t(1208)]:e;var r=new Uint8Array(e);return c[t(1575)](r[t(873)],0,this[t(873)],this.byteOffset+this.position,e*r[t(1577)]),this[t(1208)]+=r.byteLength,r},c.prototype[s(1610)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(1208)]/8:e;var n=new Float64Array(e);return c[r(1575)](n[r(873)],0,this[r(873)],this[r(701)]+this[r(1208)],e*n[r(1577)]),c[r(1187)](n,null==t?this[r(838)]:t),this.position+=n[r(1246)],n},c[s(1244)][s(1371)]=function(e,t){var r=s;e=null==e?this[r(1246)]-this.position/4:e;var n=new Float32Array(e);return c[r(1575)](n[r(873)],0,this[r(873)],this[r(701)]+this[r(1208)],e*n[r(1577)]),c[r(1187)](n,null==t?this.endianness:t),this[r(1208)]+=n[r(1246)],n},c[s(1244)][s(1595)]=function(e){var t=s,r=this[t(1507)][t(1561)](this[t(1208)],null==e?this.endianness:e);return this.position+=4,r},c[s(1244)][s(1481)]=function(e){var t=s,r=this[t(1507)][t(800)](this[t(1208)],null==e?this.endianness:e);return this[t(1208)]+=2,r},c[s(1244)][s(665)]=function(){var e=s,t=this._dataView[e(1213)](this[e(1208)]);return this[e(1208)]+=1,t},c[s(1244)][s(1650)]=function(e){var t=s,r=this[t(1507)][t(580)](this[t(1208)],null==e?this[t(838)]:e);return this[t(1208)]+=4,r},c[s(1244)][s(730)]=function(e){var t=s,r=this._dataView[t(966)](this.position,null==e?this[t(838)]:e);return this[t(1208)]+=2,r},c[s(1244)].readUint8=function(){var e=s,t=this._dataView[e(1356)](this[e(1208)]);return this[e(1208)]+=1,t},c.prototype[s(776)]=function(e){var t=s,r=this[t(1507)][t(1631)](this[t(1208)],null==e?this.endianness:e);return this[t(1208)]+=4,r},c[s(1244)][s(1471)]=function(e){var t=s,r=this[t(1507)][t(1472)](this[t(1208)],null==e?this.endianness:e);return this[t(1208)]+=8,r},c[s(838)]=new Int8Array(new Int16Array([1]).buffer)[0]>0,c[s(1575)]=function(e,t,r,n,i){var a=s,o=new Uint8Array(e,t,i),c=new Uint8Array(r,n,i);o[a(1037)](c)},c[s(1187)]=function(e,t){var r=s;return t==this[r(838)]?e:this[r(1227)](e)},c[s(1225)]=function(e,t){var r=s;return this[r(838)]==t?e:this[r(1227)](e)},c.flipArrayEndianness=function(e){for(var t=s,r=new Uint8Array(e[t(873)],e[t(701)],e.byteLength),n=0;na;i--,a++){var o=r[a];r[a]=r[i],r[i]=o}return e},c[s(1244)][s(937)]=0,String.fromCharCodeUint8=function(e){for(var t=s,r=[],n=0;n>16),this[t(1398)]((65280&e)>>8),this[t(1398)](255&e)},c[s(1244)].adjustUint32=function(e,t){var r=s,n=this[r(1208)];this[r(1490)](e),this.writeUint32(t),this[r(1490)](n)},c[s(1244)][s(1386)]=function(e,t){var r=s;this[r(1407)](4*e);var n=new Int32Array(this._buffer,this.byteOffset+this[r(1208)],e);return c[r(1187)](n,null==t?this[r(838)]:t),this.position+=4*e,n},c.prototype[s(1069)]=function(e,t){var r=s;this._realloc(2*e);var n=new Int16Array(this[r(1152)],this[r(701)]+this.position,e);return c[r(1187)](n,null==t?this[r(838)]:t),this[r(1208)]+=2*e,n},c.prototype[s(778)]=function(e){var t=s;this[t(1407)](1*e);var r=new Int8Array(this._buffer,this[t(701)]+this[t(1208)],e);return this[t(1208)]+=1*e,r},c[s(1244)][s(1569)]=function(e,t){var r=s;this[r(1407)](4*e);var n=new Uint32Array(this[r(1152)],this[r(701)]+this.position,e);return c[r(1187)](n,null==t?this.endianness:t),this.position+=4*e,n},c[s(1244)].mapUint16Array=function(e,t){var r=s;this[r(1407)](2*e);var n=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return c[r(1187)](n,null==t?this[r(838)]:t),this[r(1208)]+=2*e,n},c[s(1244)].mapFloat64Array=function(e,t){var r=s;this._realloc(8*e);var n=new Float64Array(this[r(1152)],this.byteOffset+this.position,e);return c[r(1187)](n,null==t?this[r(838)]:t),this.position+=8*e,n},c[s(1244)].mapFloat32Array=function(e,t){var r=s;this._realloc(4*e);var n=new Float32Array(this[r(1152)],this[r(701)]+this.position,e);return c[r(1187)](n,null==t?this[r(838)]:t),this[r(1208)]+=4*e,n};var l=function(e){var t=s;this[t(1235)]=[],this[t(1250)]=-1,e&&(this[t(1627)](e),this[t(1250)]=0)};l.prototype=new c(new ArrayBuffer,0,c[s(1233)]),l[s(1244)][s(779)]=function(){var e,t=s;return this[t(1250)]>-1||(this[t(1235)][t(1346)]>0?0===(e=this.buffers[0])[t(999)]?(this.buffer=e,this[t(1250)]=0,a[t(699)]("MultiBufferStream",t(1186)),!0):(a[t(1396)]("MultiBufferStream",t(408)),this[t(1431)](),!1):(a[t(1396)]("MultiBufferStream",t(954)),this.logBufferLevel(),!1))},ArrayBuffer[s(1613)]=function(e,t){var r=s;a[r(699)](r(1676),r(1272)+(e[r(1246)]+t[r(1246)]));var n=new Uint8Array(e.byteLength+t[r(1246)]);return n[r(1037)](new Uint8Array(e),0),n[r(1037)](new Uint8Array(t),e[r(1246)]),n[r(873)]},l[s(1244)][s(1485)]=function(e,t,r){var n,i=s;return(n=new Uint8Array(r))[i(1037)](new Uint8Array(e,t,r)),n.buffer[i(999)]=e.fileStart+t,n[i(873)][i(1280)]=0,n[i(873)]},l[s(1244)][s(1627)]=function(e){for(var t=s,r=!0,n=0;ni[t(1246)]){this[t(1235)].splice(n,1),n--;continue}a[t(1396)]("MultiBufferStream",t(620)+e[t(999)]+t(772)+e[t(1246)]+t(1574))}else e[t(999)]+e[t(1246)]<=i.fileStart||(e=this.reduceBuffer(e,0,i[t(999)]-e.fileStart)),a[t(699)](t(1698),"Appending new buffer (fileStart: "+e.fileStart+t(772)+e[t(1246)]+")"),this[t(1235)][t(957)](n,0,e),0===n&&(this[t(873)]=e);r=!1;break}if(e[t(999)]0)){r=!1;break}e=this.reduceBuffer(e,o,c)}}r&&(a[t(699)]("MultiBufferStream",t(1104)+e[t(999)]+t(772)+e[t(1246)]+")"),this.buffers[t(448)](e),0===n&&(this[t(873)]=e))},l[s(1244)][s(1431)]=function(e){var t,r,n,i,o,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=o[c(1334)]-1+"]");var d=e?a.info:a.debug;0===this[c(1235)][c(1346)]?d("MultiBufferStream","No more buffer in memory"):d("MultiBufferStream",""+this[c(1235)].length+c(976)+n+"/"+i+c(1291)+l)},l[s(1244)][s(747)]=function(){var e,t,r=s;for(e=0;e"+this[t(873)].byteLength+")"),!0}return!1}return!1},l[s(1244)][s(484)]=function(e,t,r){var n,i=s,o=null,c=-1;for(n=!0===e?0:this.bufferIndex;n=t?(a[i(699)](i(1698),i(611)+c),c):-1:-1},l[s(1244)][s(735)]=function(e){var t,r,n,i=s,a=void 0!==e?e:this[i(1250)];if(r=this[i(1235)][a],this.buffers[i(1346)]>a+1)for(t=a+1;t>3;return 31===s&&i[r(862)][r(1346)]>=2&&(s=32+((7&i[r(862)][0])<<3)+((224&i[r(862)][1])>>5)),s}return null},n.DecoderConfigDescriptor=function(t){var r=e;n[r(1367)][r(1041)](this,4,t)},n.DecoderConfigDescriptor[e(1244)]=new(n[e(1367)]),n[e(1295)][e(1244)][e(953)]=function(t){var r=e;this[r(1325)]=t.readUint8(),this[r(539)]=t[r(1174)](),this.upStream=0!=(this[r(539)]>>1&1),this[r(539)]=this[r(539)]>>>2,this[r(1168)]=t[r(1164)](),this.maxBitrate=t.readUint32(),this[r(1435)]=t[r(1650)](),this[r(1137)]-=13,this[r(1327)](t)},n[e(1094)]=function(t){var r=e;n[r(1367)][r(1041)](this,5,t)},n[e(1094)][e(1244)]=new(n[e(1367)]),n[e(1045)]=function(t){var r=e;n[r(1367)][r(1041)](this,6,t)},n.SLConfigDescriptor.prototype=new(n[e(1367)]),this};s(1149)!==s(1321)&&(t.MPEG4DescriptorParser=d);var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat",s(1131),"skip",s(1482),s(1177)],FULL_BOXES:[s(1665),s(409),s(736),s(1153),"bxml",s(988),s(1620)],CONTAINER_BOXES:[[s(685),[s(1509),"pssh"]],[s(1509)],[s(1370)],[s(833)],[s(1013)],[s(462)],[s(1167),[s(1123),"sbgp"]],[s(1684),["trex"]],["moof",["traf"]],[s(1077),["trun",s(1123),s(1683)]],[s(1039)],["tref"],[s(565)],[s(1437),["tfra"]],[s(1482)],[s(728)],[s(1428)],["strk"],[s(1108)],[s(430)],[s(791)],[s(1135)],[s(842)],[s(798),[s(457)]],[s(614),[s(961)]],[s(817)],[s(1275)],[s(852)],[s(812),[s(1617)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;h.FullBox[e(1244)]=new(h[e(1011)]),h[e(1031)].prototype=new(h[e(1011)]),h[e(1136)][e(1244)]=new h.Box,h[e(416)][e(1244)]=new(h[e(693)]),h[e(1042)][e(722)]((function(t){h[e(1262)](t)})),h[e(936)][e(722)]((function(t){h[e(681)](t)})),h[e(543)][e(722)]((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){var n=s;this[n(1231)]=e,this[n(1137)]=t,this[n(896)]=r},FullBox:function(e,t,r){var n=s;h.Box.call(this,e,t,r),this[n(1089)]=0,this[n(437)]=0},ContainerBox:function(e,t,r){var n=s;h.Box[n(1041)](this,e,t,r),this[n(422)]=[]},SampleEntry:function(e,t,r,n){var i=s;h[i(1031)][i(1041)](this,e,t),this[i(671)]=r,this[i(1206)]=n},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){var r=s;h[r(693)][r(1041)](this,e,t)},createBoxCtor:function(e,t){var r=s;h.boxCodes.push(e),h[e+r(1011)]=function(t){var n=r;h[n(1011)][n(1041)](this,e,t)},h[e+r(1011)].prototype=new(h[r(1011)]),t&&(h[e+r(1011)][r(1244)][r(953)]=t)},createFullBoxCtor:function(e,t){var r=s;h[e+r(1011)]=function(t){var n=r;h[n(693)][n(1041)](this,e,t)},h[e+r(1011)][r(1244)]=new(h[r(693)]),h[e+r(1011)][r(1244)].parse=function(e){var n=r;this.parseFullHeader(e),t&&t[n(1041)](this,e)}},addSubBoxArrays:function(e){var t=s;if(e){this[t(1151)]=e;for(var r=e[t(1346)],n=0;nr?(a[c(973)](c(600),c(704)+f+c(846)+d+c(861)+r),{code:h[c(1628)],type:f,size:d,hdr_size:l,start:u}):0!==d&&u+d>e.getEndPosition()?(e[c(1490)](u),a.info(c(600),c(753)+f+c(945)),{code:h[c(1628)],type:f,size:d,hdr_size:l,start:u}):t?{code:h.OK,type:f,size:d,hdr_size:l,start:u}:(h[f+"Box"]?n=new(h[f+c(1011)])(d):f!==c(896)?(a.warn(c(600),c(1601)+f+"'"),(n=new(h[c(1011)])(f,d))[c(1675)]=!0):h[c(516)][o]?n=new(h[c(516)][o])(d):(a[c(1396)](c(600),"Unknown uuid type: '"+o+"'"),(n=new(h[c(1011)])(f,d))[c(896)]=o,n.has_unparsed_data=!0),n[c(671)]=l,n.start=u,n[c(1593)]===h[c(1011)][c(1244)][c(1593)]&&"mdat"!==n[c(1231)]&&(a.info(c(600),"'"+p+c(1261)),n[c(623)](e)),n[c(953)](e),(i=e[c(933)]()-(n[c(1206)]+n[c(1137)]))<0?(a.warn(c(600),c(723)+p+c(622)+-i+c(1612)),e[c(1490)](n.start+n[c(1137)])):i>0&&(a.error("BoxParser",c(723)+p+"' read "+i+c(947)),0!==n[c(1137)]&&e.seek(n[c(1206)]+n[c(1137)])),{code:h.OK,box:n,size:n[c(1137)]})},h.Box[s(1244)][s(953)]=function(e){var t=s;this[t(1231)]!=t(1692)?this[t(862)]=e.readUint8Array(this[t(1137)]-this[t(671)]):0===this[t(1137)]?e[t(1490)](e.getEndPosition()):e[t(1490)](this.start+this[t(1137)])},h[s(1011)][s(1244)].parseDataAndRewind=function(e){var t=s;this[t(862)]=e[t(926)](this.size-this.hdr_size),e[t(1208)]-=this[t(1137)]-this[t(671)]},h[s(693)][s(1244)][s(623)]=function(e){var t=s;this[t(1540)](e),this[t(862)]=e.readUint8Array(this[t(1137)]-this[t(671)]),this[t(671)]-=4,e[t(1208)]-=this[t(1137)]-this.hdr_size},h.FullBox[s(1244)][s(1540)]=function(e){var t=s;this.version=e[t(1174)](),this[t(1089)]=e.readUint24(),this[t(671)]+=4},h.FullBox[s(1244)][s(953)]=function(e){var t=s;this[t(1540)](e),this[t(862)]=e[t(926)](this[t(1137)]-this.hdr_size)},h[s(1031)].prototype[s(953)]=function(e){for(var t,r,n=s;e.getPosition()>10&31,r[1]=this.language>>5&31,r[2]=31&this.language,this[t(725)]=String[t(985)](r[0]+96,r[1]+96,r[2]+96)},h[s(1352)]=s(1130),h[s(1564)]="Audio",h.SAMPLE_ENTRY_TYPE_HINT=s(1670),h[s(560)]=s(1341),h.SAMPLE_ENTRY_TYPE_SUBTITLE=s(1389),h[s(604)]=s(1073),h.SAMPLE_ENTRY_TYPE_TEXT="Text",h[s(1136)][s(1244)].parseHeader=function(e){var t=s;e[t(926)](6),this[t(435)]=e.readUint16(),this.hdr_size+=8},h.SampleEntry[s(1244)][s(953)]=function(e){var t=s;this[t(705)](e),this[t(862)]=e[t(926)](this[t(1137)]-this[t(671)])},h.SampleEntry[s(1244)][s(623)]=function(e){var t=s;this[t(705)](e),this.data=e[t(926)](this[t(1137)]-this[t(671)]),this[t(671)]-=8,e[t(1208)]-=this[t(1137)]-this[t(671)]},h[s(1136)][s(1244)][s(1632)]=function(e){var t=s;h[t(1031)][t(1244)][t(953)][t(1041)](this,e)},h[s(964)](h[s(1043)]),h[s(964)](h[s(560)]),h[s(964)](h[s(1625)]),h.createMediaSampleEntryCtor(h[s(604)]),h[s(964)](h[s(1550)]),h[s(964)](h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t,r=s;this[r(705)](e),e[r(730)](),e[r(730)](),e[r(443)](3),this[r(1036)]=e[r(730)](),this.height=e[r(730)](),this[r(593)]=e.readUint32(),this[r(1338)]=e.readUint32(),e.readUint32(),this[r(1166)]=e[r(730)](),t=Math[r(1688)](31,e.readUint8()),this[r(1053)]=e.readString(t),t<31&&e.readString(31-t),this[r(675)]=e[r(730)](),e[r(730)](),this.parseFooter(e)})),h[s(964)](h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){var t=s;this[t(705)](e),e.readUint32Array(2),this[t(1383)]=e[t(730)](),this.samplesize=e.readUint16(),e.readUint16(),e[t(730)](),this[t(1410)]=e[t(1650)]()/65536,this[t(1632)](e)})),h[s(1306)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1245)),h[s(1306)](h[s(1352)],s(940)),h[s(1306)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(691)),h[s(1306)](h[s(1352)],s(492)),h.createSampleEntryCtor(h[s(1352)],s(1197)),h[s(1306)](h[s(1352)],"dav1"),h[s(1306)](h[s(1352)],"hvc1"),h[s(1306)](h[s(1352)],s(700)),h.createSampleEntryCtor(h[s(1352)],s(1358)),h[s(1306)](h[s(1352)],"lhe1"),h[s(1306)](h[s(1352)],"dvh1"),h[s(1306)](h[s(1352)],"dvhe"),h[s(1306)](h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h[s(1352)],s(1642)),h[s(1306)](h[s(1352)],s(1345)),h[s(1306)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1101)),h[s(1306)](h[s(1352)],s(994)),h[s(1306)](h[s(1352)],"vp09"),h.createSampleEntryCtor(h[s(1352)],s(651)),h[s(1306)](h[s(1352)],s(1331)),h[s(1306)](h[s(1352)],s(1653)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h[s(1306)](h[s(1352)],s(1086)),h[s(1306)](h[s(1564)],s(1691)),h.createSampleEntryCtor(h[s(1564)],s(1502)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,s(1296)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,s(1461)),h[s(1306)](h[s(1564)],s(590)),h[s(1306)](h[s(1564)],s(1680)),h.createSampleEntryCtor(h[s(1564)],"mha2"),h[s(1306)](h[s(1564)],s(576)),h[s(1306)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(1598)),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(1443)),h.createEncryptedSampleEntryCtor(h[s(1564)],"enca"),h[s(570)](h[s(1625)],s(1655)),h[s(570)](h[s(604)],s(1050)),h[s(570)](h[s(1550)],s(949)),h[s(570)](h[s(560)],s(1427)),h.createBoxCtor(s(1586),(function(e){var t=s,r=16*(1+(1&(1&e[t(1174)]())));this[t(737)]=[];for(var n=0;n<3;n++)16==r?this[t(737)][n]=e.readUint16():this.layer_size[n]=e[t(1650)]()})),h[s(1262)](s(967),(function(e){var t=s;this[t(1175)]=e[t(1174)]()})),h[s(681)](s(1299),(function(e){var t=s;this.aux_type=e[t(703)]();var r=this.size-this[t(671)]-(this[t(1030)][t(1346)]+1);this[t(669)]=e[t(926)](r)})),h[s(1262)](s(1397),(function(e){var t=s,r=e[t(1174)]();if(r>>7&!1)a.error(t(1242));else if(this[t(437)]=127&r,1===this[t(437)])if(r=e[t(1174)](),this[t(536)]=r>>5&7,this[t(1419)]=31&r,r=e[t(1174)](),this[t(872)]=r>>7&1,this[t(1274)]=r>>6&1,this.twelve_bit=r>>5&1,this[t(1422)]=r>>4&1,this.chroma_subsampling_x=r>>3&1,this[t(1414)]=r>>2&1,this[t(1622)]=3&r,r=e[t(1174)](),this[t(1559)]=r>>5&7,0===this[t(1559)]){if(this.initial_presentation_delay_present=r>>4&1,1===this[t(657)])this[t(875)]=15&r;else if(this[t(1626)]=15&r,0!==this.reserved_2)return void a[t(973)](t(1424));var n=this[t(1137)]-this[t(671)]-4;this[t(1609)]=e[t(926)](n)}else a.error(t(749));else a[t(973)]("av1C version "+this.version+t(740))})),h[s(1262)](s(488),(function(e){var t,r,n=s;for(this[n(1361)]=e[n(1174)](),this[n(897)]=e.readUint8(),this.profile_compatibility=e[n(1174)](),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e[n(1174)](),this[n(1314)]=31&e.readUint8(),r=this[n(1137)]-this[n(671)]-6,this[n(1007)]=[],t=0;t0&&(this[n(666)]=e[n(926)](r))})),h[s(1262)](s(847),(function(e){var t=s;this[t(1079)]=e.readUint32(),this[t(721)]=e.readUint32(),this[t(1435)]=e.readUint32()})),h[s(681)](s(844),(function(e){var t=s,r=e[t(1174)]();this[t(850)]=128==(128&r),this[t(1590)]=64==(64&r),this[t(899)]=(63&r)>>2,e[t(1164)]()})),h[s(1262)](s(534),(function(e){var t,r=s;for(this[r(1383)]=e[r(730)](),this.channel_indexes=[],this.channel_types=[],this[r(1539)]=[],t=0;t=32768&&this[t(955)][t(448)](e.readCString())}})),h[s(681)](s(528),(function(e){var t,r,n=s;if(t=e[n(1650)](),this[n(711)]=[],0===this[n(437)])for(r=0;r>7}else this.colour_type===t(702)?this[t(1060)]=e[t(926)](this[t(1137)]-4):"prof"===this[t(990)]&&(this.ICC_profile=e[t(926)](this[t(1137)]-4))})),h[s(681)]("cprt",(function(e){var t=s;this[t(630)](e),this[t(952)]=e[t(703)]()})),h[s(681)](s(1196),(function(e){var t=s;0===this[t(437)]&&(this[t(687)]=e[t(1595)](),this[t(993)]=e[t(1595)](),this[t(1181)]=e.readInt32(),this[t(1317)]=e[t(1595)](),this.compositionEndTime=e[t(1595)]())})),h[s(681)]("ctts",(function(e){var t,r,n=s;if(t=e[n(1650)](),this[n(1538)]=[],this[n(810)]=[],0===this[n(437)])for(r=0;r>6,this.bsid=r>>1&31,this[t(547)]=(1&r)<<2|n>>6&3,this[t(918)]=n>>3&7,this[t(591)]=n>>2&1,this[t(1477)]=3&n|i>>5&7})),h.createBoxCtor(s(881),(function(e){var t=s,r=e[t(730)]();this[t(1212)]=r>>3,this.num_ind_sub=7&r,this[t(1333)]=[];for(var n=0;n>6,i[t(1017)]=a>>1&31,i[t(547)]=(1&a)<<4|o>>4&15,i[t(918)]=o>>1&7,i[t(591)]=1&o,i[t(1224)]=c>>1&15,i[t(1224)]>0&&(i[t(1146)]=(1&c)<<8|e[t(1174)]())}})),h[s(681)](s(478),(function(e){var t=s,r=[],n=["STREAMINFO",t(1677),t(1310),t(495),t(1654),t(592),t(433),t(1127)];for(this.parseFullHeader(e);;){var i=e[t(1174)](),a=Math.min(127&i,n[t(1346)]-1);if(a?e.readUint8Array(e.readUint24()):(e[t(926)](13),this[t(1410)]=e[t(1650)]()>>12,e[t(926)](20)),r[t(448)](n[a]),128&i)break}this[t(588)]=r[t(1346)]+" ("+r[t(921)](", ")+")"})),h[s(1262)](s(1551),(function(e){var t=s;this[t(552)]=e[t(1119)]()})),h.createBoxCtor(s(1445),(function(e){var t=s;this[t(574)]=e[t(1650)]()})),h.createBoxCtor(s(513),(function(e){var t=s;this[t(552)]=e[t(1119)]()})),h[s(1262)]("dOps",(function(e){var t=s;if(this[t(447)]=e[t(1174)](),this[t(919)]=e[t(1174)](),this[t(905)]=e[t(730)](),this[t(803)]=e[t(1650)](),this[t(410)]=e.readInt16(),this.ChannelMappingFamily=e[t(1174)](),0!==this[t(768)]){this[t(1519)]=e.readUint8(),this[t(625)]=e.readUint8(),this[t(659)]=[];for(var r=0;r=4;)this[t(696)][n]=e[t(987)](4),r-=4,n++})),h[s(681)](s(1658),(function(e){var t=s;0===this.version&&(e[t(1650)](),this.handler=e[t(987)](4),e[t(443)](3),this.name=e[t(987)](this[t(1137)]-this.hdr_size-20),"\0"===this[t(1555)][this[t(1555)][t(1346)]-1]&&(this[t(1555)]=this[t(1555)].slice(0,-1)))})),h[s(1262)](s(1552),(function(e){var t,r,n,i,a=s;this[a(1361)]=e.readUint8(),i=e[a(1174)](),this[a(446)]=i>>6,this[a(804)]=(32&i)>>5,this[a(726)]=31&i,this[a(839)]=e[a(1650)](),this[a(1326)]=e[a(926)](6),this[a(489)]=e[a(1174)](),this[a(470)]=4095&e[a(730)](),this[a(741)]=3&e[a(1174)](),this.chroma_format_idc=3&e[a(1174)](),this[a(1454)]=7&e[a(1174)](),this[a(1528)]=7&e[a(1174)](),this[a(1412)]=e.readUint16(),i=e[a(1174)](),this[a(834)]=i>>6,this[a(672)]=(13&i)>>3,this[a(1008)]=(4&i)>>2,this[a(1278)]=3&i,this[a(589)]=[];var o=e[a(1174)]();for(t=0;t>7,c.nalu_type=63&i;var u=e.readUint16();for(r=0;r>4&15,this[r(752)]=15&t,t=e[r(1174)](),this[r(1492)]=t>>4&15,1===this[r(437)]||2===this[r(437)]?this[r(1226)]=15&t:this[r(1226)]=0,this[r(667)]=[];var n=0;if(this[r(437)]<2)n=e[r(730)]();else{if(2!==this[r(437)])throw"version of iloc box not supported";n=e[r(1650)]()}for(var i=0;i>7,this[t(769)]=1&r})),h.createFullBoxCtor(s(1249),(function(e){var t=s;if((0===this.version||1===this[t(437)])&&(this[t(958)]=e.readUint16(),this[t(710)]=e[t(730)](),this[t(1222)]=e.readCString(),this[t(1006)]=e.readCString(),this[t(944)]=e[t(703)]()),1===this.version)return this[t(1400)]=e[t(987)](4),a.warn(t(600),t(767)),void e[t(1490)](this.start+this.size);this[t(437)]>=2&&(2===this[t(437)]?this.item_ID=e[t(730)]():3===this[t(437)]&&(this.item_ID=e.readUint32()),this.item_protection_index=e[t(730)](),this.item_type=e[t(987)](4),this.item_name=e[t(703)](),"mime"===this[t(1535)]?(this[t(1006)]=e[t(703)](),this[t(944)]=e[t(703)]()):"uri "===this[t(1535)]&&(this.item_uri_type=e[t(703)]()))})),h[s(681)]("ipma",(function(e){var t,r,n=s;for(entry_count=e.readUint32(),this[n(1640)]=[],t=0;t>7==1,1&this[n(1089)]?c[n(1645)]=(127&o)<<8|e[n(1174)]():c[n(1645)]=127&o}}})),h[s(681)]("iref",(function(e){var t,r,n=s;for(this[n(929)]=[];e[n(933)]()>7,i.assignment_type=127&o,i[t(780)]){case 0:i[t(818)]=e[t(987)](4);break;case 1:i[t(818)]=e[t(987)](4),i[t(1508)]=e[t(1650)]();break;case 2:case 3:break;case 4:i[t(787)]=e.readUint32();break;default:a[t(1396)](t(600),t(1562))}}})),h[s(1262)]("lsel",(function(e){var t=s;this[t(754)]=e[t(730)]()})),h[s(1262)](s(914),(function(e){var t=s;this[t(1587)]=e[t(1650)](),this.bytes=e.readUint32()})),f[s(1244)][s(1091)]=function(){return"("+this.x+","+this.y+")"},h[s(1262)](s(853),(function(e){var t=s;this[t(764)]=[],this[t(764)][0]=new f(e[t(730)](),e[t(730)]()),this[t(764)][1]=new f(e[t(730)](),e[t(730)]()),this[t(764)][2]=new f(e[t(730)](),e.readUint16()),this[t(770)]=new f(e[t(730)](),e[t(730)]()),this[t(898)]=e[t(1650)](),this.min_display_mastering_luminance=e.readUint32()})),h[s(681)](s(1629),(function(e){var t=s;1==this.version?(this.creation_time=e.readUint64(),this[t(892)]=e[t(1119)](),this[t(1439)]=e[t(1650)](),this[t(1536)]=e.readUint64()):(this.creation_time=e[t(1650)](),this[t(892)]=e[t(1650)](),this.timescale=e[t(1650)](),this[t(1536)]=e[t(1650)]()),this[t(630)](e),e[t(730)]()})),h[s(681)](s(916),(function(e){var t=s;1&this.flags&&(a[t(1396)](t(600),t(1157)),this.version=1),1==this[t(437)]?this[t(1578)]=e[t(1119)]():this[t(1578)]=e[t(1650)]()})),h[s(681)](s(643),(function(e){var t=s;this[t(422)]=[],h[t(1031)][t(1244)][t(953)].call(this,e)})),h[s(681)](s(1106),(function(e){var t=s;this[t(1353)]=e[t(1650)]()})),h.createFullBoxCtor("mfro",(function(e){var t=s;this[t(1301)]=e[t(1650)]()})),h[s(681)]("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor(s(986),(function(e){var t=s;1==this.version?(this[t(567)]=e[t(1119)](),this[t(892)]=e[t(1119)](),this[t(1439)]=e[t(1650)](),this[t(1536)]=e[t(1119)]()):(this[t(567)]=e.readUint32(),this.modification_time=e[t(1650)](),this.timescale=e.readUint32(),this[t(1536)]=e[t(1650)]()),this.rate=e[t(1650)](),this.volume=e.readUint16()>>8,e[t(730)](),e.readUint32Array(2),this[t(979)]=e[t(443)](9),e.readUint32Array(6),this[t(775)]=e[t(1650)]()})),h.createBoxCtor(s(1114),(function(e){var t=s;this[t(1468)]=e[t(1650)]()})),h[s(1262)](s(1583),(function(e){var t=s;this[t(1468)]=e[t(1119)]()})),h[s(681)](s(1034),(function(e){var t=s,r=e[t(1650)]();this[t(531)]=[];for(var n=0;n0){var r=e[t(1650)]();this[t(1393)]=[];for(var n=0;n0&&(this[t(862)]=e[t(926)](i))})),h[s(681)](s(456),(function(e){var t=s;this[t(1036)]=e[t(1650)](),this[t(578)]=e.readUint32()})),h.createFullBoxCtor(s(1621),(function(e){var t=s;this.width=e[t(1650)](),this[t(578)]=e[t(1650)]()})),h[s(681)](s(1210),(function(e){var t=s;this[t(1036)]=e[t(1650)](),this.height=e[t(1650)]()})),h[s(676)](s(418),null,[s(456),s(1210),s(1621)]),h.createBoxCtor(s(830),(function(e){var t=s;this[t(663)]=e[t(987)](4),this[t(1388)]=e[t(987)](this[t(1137)]-this[t(671)]-4)})),h[s(681)](s(472),(function(e){var t=s;1&this[t(1089)]&&(this.aux_info_type=e[t(1650)](),this[t(856)]=e[t(1650)]());var r=e[t(1650)]();this[t(1096)]=[];for(var n=0;n>7,this[t(535)]=r>>6&1,this[t(808)]&&(this[t(1536)]=e[t(1650)]()),this.avgRateFlag&&(this[t(1071)]=e.readUint8(),this[t(1686)]=e[t(730)](),this[t(1412)]=e.readUint16()),this[t(998)]=[];for(var n=e[t(1174)](),i=0;i>7,this.num_leading_samples=127&t})),h[s(1543)](s(1348),(function(e){var t=s;if(this[t(1075)]=e[t(730)](),this.description_length!==2+(1===this.operation_point_count?2:6*this[t(1075)])+9)a.warn("BoxParser",t(1025)+this[t(818)]+t(1438)),this.data=e[t(926)](this.description_length-2);else{if(1===this.operation_point_count)this[t(1163)]=e.readUint16();else{this.target_rate_share=[],this[t(1340)]=[];for(var r=0;r>4,this.skip_byte_block=15&r,this.isProtected=e.readUint8(),this[t(1679)]=e.readUint8(),this.KID=h[t(806)](e),this[t(1276)]=0,this[t(805)]=0,1===this[t(1083)]&&0===this[t(1679)]&&(this[t(1276)]=e[t(1174)](),this[t(805)]=e.readUint8Array(this[t(1276)]))})),h[s(1543)]("stsa",(function(e){var t=s;a[t(1396)](t(600),t(1097)+this[t(818)]+t(1195))})),h[s(1543)]("sync",(function(e){var t=s,r=e[t(1174)]();this[t(706)]=63&r})),h[s(1543)]("tele",(function(e){var t=s,r=e.readUint8();this[t(515)]=r>>7})),h.createSampleGroupCtor(s(573),(function(e){var t=s;a[t(1396)]("BoxParser",t(1097)+this[t(818)]+t(1195))})),h.createSampleGroupCtor("tscl",(function(e){var t=s;a[t(1396)](t(600),t(1097)+this[t(818)]+t(1195))})),h[s(1543)](s(1067),(function(e){var t=s;a.warn(t(600),t(1097)+this[t(818)]+t(1195))})),h.createFullBoxCtor(s(1683),(function(e){var t=s;this[t(818)]=e[t(987)](4),1===this[t(437)]?this.grouping_type_parameter=e[t(1650)]():this[t(1508)]=0,this.entries=[];for(var r=e[t(1650)](),n=0;n>6,this.sample_depends_on[i]=t>>4&3,this[r(865)][i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h[s(681)](s(1495)),h[s(681)](s(1123),(function(e){var t=s;this[t(818)]=e[t(987)](4),a[t(699)](t(600),t(1415)+this[t(818)]),1===this[t(437)]?this.default_length=e[t(1650)]():this[t(1143)]=0,this[t(437)]>=2&&(this[t(893)]=e[t(1650)]()),this[t(807)]=[];for(var r=e[t(1650)](),n=0;n>31&1,i[t(519)]=2147483647&a,i.subsegment_duration=e[t(1650)](),a=e[t(1650)](),i.starts_with_SAP=a>>31&1,i[t(476)]=a>>28&7,i[t(841)]=268435455&a}})),h[s(1462)]=function(e,t,r,n){var i=s;h[i(1011)][i(1041)](this,e,t),this[i(671)]=r,this[i(1206)]=n},h[s(1462)][s(1244)]=new(h[s(1011)]),h[s(1462)][s(1244)].parse=function(e){var t=s;this[t(1084)]=e[t(730)]();var r=e[t(730)]();this.references=[];for(var n=0;n>4&15,this.sample_sizes[t+1]=15&i}else if(8===this[n(809)])for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&r}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e[t(1174)](),this[t(788)]=h[t(806)](e),1===this[t(1005)]&&0===this[t(1512)]&&(this[t(464)]=e.readUint8(),this.default_constant_IV=e[t(926)](this[t(464)]))})),h[s(681)](s(1392),(function(e){var t=s;1==this[t(437)]?this[t(1520)]=e.readUint64():this[t(1520)]=e[t(1650)]()})),h[s(681)](s(481),(function(e){var t=s,r=0;this[t(610)]=e[t(1650)](),this[t(1137)]-this.hdr_size>r&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this[t(1479)]=e.readUint64(),r+=8):this[t(1479)]=0,this.size-this.hdr_size>r&&this[t(1089)]&h[t(1134)]?(this.default_sample_description_index=e[t(1650)](),r+=4):this.default_sample_description_index=0,this[t(1137)]-this[t(671)]>r&&this.flags&h[t(633)]?(this[t(1522)]=e.readUint32(),r+=4):this.default_sample_duration=0,this[t(1137)]-this.hdr_size>r&&this.flags&h[t(668)]?(this[t(568)]=e[t(1650)](),r+=4):this[t(568)]=0,this[t(1137)]-this[t(671)]>r&&this[t(1089)]&h[t(1255)]?(this.default_sample_flags=e.readUint32(),r+=4):this[t(917)]=0})),h.createFullBoxCtor(s(739),(function(e){var t=s;this[t(984)]=e[t(1650)](),e[t(1164)]();var r=e.readUint8();this.length_size_of_traf_num=r>>4&3,this.length_size_of_trun_num=r>>2&3,this[t(960)]=3&r,this[t(807)]=[];for(var n=e[t(1650)](),i=0;i>8,e.readUint16(),this[t(979)]=e[t(925)](9),this.width=e[t(1650)](),this[t(578)]=e.readUint32()})),h[s(1262)]("tmax",(function(e){var t=s;this.time=e[t(1650)]()})),h[s(1262)]("tmin",(function(e){var t=s;this[t(574)]=e[t(1650)]()})),h.createBoxCtor(s(485),(function(e){this[s(552)]=e.readUint32()})),h[s(1262)](s(982),(function(e){var t=s;this[t(552)]=e[t(1650)]()})),h[s(1262)](s(521),(function(e){var t=s;this[t(552)]=e[t(1119)]()})),h[s(416)].prototype[s(953)]=function(e){var t=s;this[t(1540)](e),this[t(1292)]=e[t(1650)]()},h.createTrackGroupCtor(s(980)),h[s(1487)]=function(e,t,r,n){var i=s;h[i(1011)][i(1041)](this,e,t),this[i(671)]=r,this[i(1206)]=n},h[s(1487)][s(1244)]=new(h[s(1011)]),h.TrackReferenceTypeBox[s(1244)][s(953)]=function(e){var t=s;this[t(1085)]=e[t(443)]((this[t(1137)]-this[t(671)])/4)},h[s(1697)][s(1244)][s(953)]=function(e){for(var t,r,n=s;e[n(933)]()r&&this[t(1089)]&h[t(1082)]?(this[t(1336)]=e[t(1595)](),r+=4):this[t(1336)]=0,this.size-this.hdr_size>r&&this[t(1089)]&h[t(525)]?(this[t(450)]=e[t(1650)](),r+=4):this[t(450)]=0,this[t(1065)]=[],this[t(1183)]=[],this.sample_flags=[],this[t(544)]=[],this[t(1137)]-this[t(671)]>r)for(var n=0;n>7&1,this[r(1173)]=n>>6&1,this[r(1525)]=n>>5&1,this.block_reversed=n>>4&1,this[r(503)]=n>>3&1,this[r(1584)]=e[r(1650)](),this[r(763)]=e[r(1650)](),this[r(719)]=e[r(1650)](),this.num_tile_cols_minus_one=e.readUint32(),this[r(532)]=e[r(1650)]()}})),h[s(681)]("url ",(function(e){var t=s;1!==this.flags&&(this[t(1624)]=e[t(703)]())})),h[s(681)](s(1636),(function(e){var t=s;this[t(1555)]=e.readCString(),this[t(1137)]-this[t(671)]-this.name[t(1346)]-1>0&&(this[t(1624)]=e.readCString())})),h.createUUIDBox(s(1615),!0,!1,(function(e){var t=s;this[t(1433)]=e[t(987)](this[t(1137)]-this[t(671)])[t(1365)](/&/g,"&")[t(1365)](//g,t(864)).replace(/"/g,""")[t(1365)](/'/g,t(858))})),h[s(1328)]("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){var t=s;this[t(951)]=h[t(806)](e);var r=e[t(1650)]();r>0&&(this[t(862)]=e[t(926)](r))})),h.createUUIDBox(s(1188),!0,!1),h[s(1328)](s(1465),!0,!1,(function(e){var t=s;this.default_AlgorithmID=e.readUint24(),this[t(1572)]=e[t(1174)](),this[t(788)]=h[t(806)](e)})),h[s(1328)](s(1545),!0,!1,(function(e){var t=s;this[t(1524)]=e[t(1174)](),this[t(807)]=[];for(var r=0;r>4,this[r(414)]=t>>1&7,this[r(690)]=1&t,this.colourPrimaries=e.readUint8(),this[r(1608)]=e[r(1174)](),this[r(1542)]=e[r(1174)](),this[r(1264)]=e.readUint16(),this[r(647)]=e[r(926)](this[r(1264)])):(this[r(624)]=e[r(1174)](),this[r(742)]=e[r(1174)](),t=e[r(1174)](),this[r(1311)]=t>>4&15,this[r(1028)]=15&t,t=e.readUint8(),this[r(414)]=t>>4&15,this[r(707)]=t>>1&7,this[r(690)]=1&t,this[r(1264)]=e[r(730)](),this[r(647)]=e.readUint8Array(this[r(1264)]))})),h[s(1262)](s(1248),(function(e){var t=s;this[t(1202)]=e[t(987)](this.size-this[t(671)])})),h.createFullBoxCtor(s(1117),(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){var t=Aa;this[t(431)]=e.readUint8(),this[t(1211)]=8},stream_read_2_bytes:function(e){var t=Aa;this[t(431)]=e[t(730)](),this.num_held_bits=16},extract_bits:function(e){var t=Aa,r=this[t(431)]>>this[t(1211)]-e&(1<1){for(i[n(848)](e),this[n(424)]=0,r=this.num_sublayers-2;r>=0;--r){var c=i.extract_bits(1);this[n(424)]|=c<1;++r)i[n(1529)](1);for(this[n(911)]=[],r=this[n(1062)]-2;r>=0;--r)this[n(424)]&1<>=1;r+=h[t(962)](i,0),r+=".",0===this.hvcC.general_tier_flag?r+="L":r+="H",r+=this[t(1552)][t(489)];var a=!1,o="";for(e=5;e>=0;e--)(this[t(1552)][t(1326)][e]||a)&&(o="."+h[t(962)](this.hvcC[t(1326)][e],0)+o,a=!0);r+=o}return r},h[s(1161)][s(1244)].getCodec=h[s(828)][s(1244)].getCodec=function(){var e,t=s,r=h[t(1136)][t(1244)][t(1450)][t(1041)](this);if(this[t(1117)]){r+="."+this[t(1117)][t(726)],this[t(1117)][t(804)]?r+=".H":r+=".L",r+=this.vvcC[t(489)];var n="";if(this[t(1117)][t(425)]){var i,a=[],o=0;for(o|=this.vvcC.ptl_frame_only_constraint<<7,o|=this[t(1117)][t(1699)]<<6,e=0;e>2&63,a.push(o),o&&(i=e),o=this.vvcC[t(425)][e]>>2&3;if(void 0===i)n=t(1018);else{n=".C";var c="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|a[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},h.mp4aSampleEntry[s(1244)].getCodec=function(){var e=s,t=h[e(1136)][e(1244)][e(1450)][e(1041)](this);if(this[e(1258)]&&this[e(1258)][e(855)]){var r=this[e(1258)][e(855)].getOTI(),n=this[e(1258)][e(855)].getAudioConfig();return t+"."+h[e(962)](r)+(n?"."+n:"")}return t},h[s(562)][s(1244)][s(1450)]=function(){var e=s,t=h[e(1136)][e(1244)][e(1450)][e(1041)](this);return this[e(972)]?t+"."+this[e(972)]:t},h[s(1662)][s(1244)][s(1450)]=h[s(465)].prototype[s(1450)]=function(){var e=s,t=h[e(1136)][e(1244)][e(1450)][e(1041)](this),r=this.vpcC.level;0==r&&(r="00");var n=this[e(759)][e(1311)];return 8==n&&(n="08"),t+".0"+this.vpcC[e(624)]+"."+r+"."+n},h[s(880)][s(1244)].getCodec=function(){var e,t=s,r=h[t(1136)].prototype[t(1450)][t(1041)](this),n=this[t(1397)][t(1419)];return n<10&&(n="0"+n),2===this[t(1397)].seq_profile&&1===this[t(1397)][t(1274)]?e=1===this[t(1397)][t(757)]?"12":"10":this[t(1397)][t(536)]<=2&&(e=1===this[t(1397)][t(1274)]?"10":"08"),r+"."+this[t(1397)].seq_profile+"."+n+(this[t(1397)].seq_tier_0?"H":"M")+"."+e},h.Box[s(1244)][s(1335)]=function(e,t){var r=s;this.size+=8,this[r(1137)]>u&&(this[r(1137)]+=8),"uuid"===this[r(1231)]&&(this[r(1137)]+=16),a[r(699)](r(606),"Writing box "+this[r(1231)]+" of size: "+this[r(1137)]+r(510)+e[r(933)]()+(t||"")),this[r(1137)]>u?e[r(493)](1):(this[r(1378)]=e[r(933)](),e[r(493)](this[r(1137)])),e[r(1568)](this[r(1231)],null,4),this.type===r(896)&&e[r(1499)](this[r(896)]),this.size>u&&e.writeUint64(this[r(1137)])},h.FullBox.prototype.writeHeader=function(e){var t=s;this[t(1137)]+=4,h[t(1011)][t(1244)][t(1335)][t(1041)](this,e,t(427)+this[t(437)]+t(1054)+this[t(1089)]),e[t(1398)](this[t(437)]),e[t(601)](this.flags)},h[s(1011)][s(1244)][s(1593)]=function(e){var t=s;this[t(1231)]===t(1692)?this[t(862)]&&(this[t(1137)]=this.data.length,this[t(1335)](e),e.writeUint8Array(this.data)):(this[t(1137)]=this[t(862)]?this[t(862)][t(1346)]:0,this[t(1335)](e),this[t(862)]&&e[t(1499)](this[t(862)]))},h[s(1031)].prototype[s(1593)]=function(e){var t=s;this.size=0,this.writeHeader(e);for(var r=0;r=2&&e.writeUint32(this[n(1669)]),e[n(493)](this[n(807)][n(1346)]),t=0;t0)for(t=0;t+1r?1:0,this[t(1089)]=0,this[t(1137)]=4,1===this[t(437)]&&(this.size+=4),this[t(1335)](e),1===this[t(437)]?e[t(1380)](this[t(1520)]):e[t(493)](this[t(1520)])},h[s(1221)][s(1244)][s(1593)]=function(e){var t=s;this[t(437)]=0,this[t(1137)]=4,this[t(1089)]&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this[t(1137)]+=8),this.flags&h[t(1134)]&&(this.size+=4),this.flags&h[t(633)]&&(this[t(1137)]+=4),this[t(1089)]&h[t(668)]&&(this[t(1137)]+=4),this[t(1089)]&h[t(1255)]&&(this[t(1137)]+=4),this[t(1335)](e),e[t(493)](this.track_id),this[t(1089)]&h[t(1406)]&&e[t(1380)](this[t(1479)]),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this[t(1669)]),this[t(1089)]&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this[t(1522)]),this[t(1089)]&h[t(668)]&&e[t(493)](this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e[t(493)](this[t(917)])},h[s(941)][s(1244)][s(1593)]=function(e){var t=s;this[t(437)]=0,this.size=80,this[t(1335)](e),e[t(493)](this[t(567)]),e.writeUint32(this[t(892)]),e[t(493)](this[t(610)]),e[t(493)](0),e[t(493)](this[t(1536)]),e.writeUint32(0),e.writeUint32(0),e[t(826)](this[t(605)]),e[t(826)](this[t(680)]),e[t(826)](this[t(1150)]<<8),e[t(1527)](0),e[t(439)](this.matrix),e.writeUint32(this[t(1036)]),e[t(493)](this[t(578)])},h[s(793)][s(1244)][s(1593)]=function(e){var t=s;this[t(437)]=0,this[t(1089)]=0,this.size=20,this[t(1335)](e),e[t(493)](this[t(610)]),e.writeUint32(this.default_sample_description_index),e[t(493)](this[t(1522)]),e[t(493)](this.default_sample_size),e[t(493)](this[t(917)])},h[s(563)][s(1244)].write=function(e){var t=s;this[t(437)]=0,this.size=4,this[t(1089)]&h[t(1082)]&&(this[t(1137)]+=4),this[t(1089)]&h[t(525)]&&(this[t(1137)]+=4),this[t(1089)]&h[t(1281)]&&(this[t(1137)]+=4*this[t(1065)][t(1346)]),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this[t(1183)][t(1346)]),this[t(1089)]&h[t(1241)]&&(this.size+=4*this[t(1238)][t(1346)]),this[t(1089)]&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset[t(1346)]),this[t(1335)](e),e[t(493)](this[t(692)]),this[t(1089)]&h[t(1082)]&&(this[t(454)]=e[t(933)](),e[t(1643)](this[t(1336)])),this.flags&h[t(525)]&&e.writeUint32(this[t(450)]);for(var r=0;r-1||e[r]instanceof h[n(1011)]||t[r]instanceof h[n(1011)]||void 0===e[r]||typeof t[r]===n(1321)||"function"==typeof e[r]||"function"==typeof t[r]||e[n(1151)]&&e[n(1151)][n(1409)](r.slice(0,4))>-1||t[n(1151)]&&t[n(1151)][n(1409)](r[n(1139)](0,4))>-1||r===n(862)||r===n(1206)||"size"===r||r===n(567)||r===n(892)||h[n(473)][n(1409)](r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){var r=s;if(!h[r(1247)](e,t))return!1;for(var n=0;n=t?e:new Array(t-e[n(1346)]+1)[n(921)](r)+e}function a(e){var t=Aa,r=Math[t(697)](e/3600),n=Math[t(697)]((e-3600*r)/60),s=Math[t(697)](e-3600*r-60*n),a=Math[t(697)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(a,3)}for(var o=this.parseSample(r),c="",u=0;u1)for(t=1;t-1&&this.fragmentedTracks[t(957)](r,1)},y[s(1244)][s(1526)]=function(e,t,r){var n=s,i=this[n(634)](e);if(i){var a={};this[n(1360)][n(448)](a),a.id=e,a[n(1049)]=t,a[n(1509)]=i,i[n(792)]=0,a[n(786)]=1e3,a[n(992)]=[],r&&r.nbSamples&&(a.nb_samples=r[n(894)])}},y.prototype[s(1309)]=function(e){for(var t=s,r=-1,n=0;n-1&&this[t(1360)][t(957)](r,1)},y[s(1244)][s(953)]=function(){var e,t,r=s;if(!this[r(748)]||this[r(748)]())for(;;){if(this.hasIncompleteMdat&&this[r(995)]()){if(this[r(1059)]())continue;return}if(this.saveParsePosition&&this[r(1570)](),(e=h[r(524)](this[r(1484)],false))[r(1649)]===h[r(1628)]){if(this[r(1440)]){if(this[r(1440)](e))continue;return}return}var n;switch(n=(t=e.box)[r(1231)]!==r(896)?t[r(1231)]:t[r(896)],this[r(422)][r(448)](t),n){case r(1692):this[r(1521)][r(448)](t);break;case r(1051):this[r(859)][r(448)](t);break;case r(685):this[r(1279)]=!0,0===this.mdats.length&&(this[r(900)]=!0);default:void 0!==this[n]&&a[r(1396)](r(417),r(1413)+n+r(585)),this[n]=t}this[r(695)]&&this[r(695)](t,e)}},y[s(1244)][s(561)]=function(e){var t=s;if(null==e)throw t(1192);if(void 0===e[t(999)])throw"Buffer must have a fileStart property";return 0===e.byteLength?(a[t(1396)]("ISOFile",t(889)+e[t(999)]+")"),this.stream[t(1431)](),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e[t(1280)]=0,this[t(1484)][t(1627)](e),this[t(1484)].logBufferLevel(),!!this.stream[t(779)]()||(a.warn("ISOFile",t(548)),!1))},y[s(1244)][s(551)]=function(e,t){var r,n=s;if(this[n(561)](e))return this[n(953)](),this[n(1279)]&&!this[n(907)]&&(this.moovStartSent=!0,this.onMoovStart&&this[n(602)]()),this[n(685)]?(!this[n(1530)]&&(this[n(1016)](),this[n(1530)]=!0),this[n(1243)](),this.onReady&&!this[n(1373)]&&(this[n(1373)]=!0,this[n(1582)](this[n(750)]())),this[n(774)](t),this.nextSeekPosition?(r=this[n(1602)],this[n(1602)]=void 0):r=this[n(1046)],this[n(1484)][n(1605)]&&(r=this.stream[n(1605)](r))):r=this[n(1046)]?this.nextParsePosition:0,this.sidx&&this[n(1121)]&&!this[n(1707)]&&(this.onSidx(this[n(596)]),this[n(1707)]=!0),this[n(643)]&&(this.flattenItemInfo&&!this.itemListBuilt&&(this[n(935)](),this[n(1347)]=!0),this[n(1606)]&&this[n(1606)](this.onItem)),this.stream[n(747)]&&(a.info(n(417),n(530)+e[n(999)]+n(1592)+r),this[n(1484)][n(1431)](),this.stream[n(747)](),this[n(1484)].logBufferLevel(!0),a[n(613)](n(417),n(497)+this[n(942)]())),r},y[s(1244)][s(750)]=function(){var e,t,r,n,i,a,o=s,c={},u=new Date(o(1014))[o(1148)]();if(this[o(685)])for(c[o(1012)]=!0,c.duration=this.moov[o(986)][o(1536)],c.timescale=this[o(685)].mvhd.timescale,c[o(1689)]=null!=this.moov[o(1684)],c[o(1689)]&&this.moov[o(1684)][o(916)]&&(c[o(1578)]=this[o(685)].mvex[o(916)].fragment_duration),c.isProgressive=this.isProgressive,c.hasIOD=null!=this.moov[o(736)],c[o(587)]=[],c[o(587)][o(448)](this[o(815)][o(1128)]),c[o(587)]=c[o(587)][o(1613)](this[o(815)][o(696)]),c.created=new Date(u+1e3*this.moov[o(986)].creation_time),c[o(1176)]=new Date(u+1e3*this.moov.mvhd.modification_time),c[o(790)]=[],c[o(559)]=[],c[o(1366)]=[],c[o(1308)]=[],c[o(765)]=[],c[o(1474)]=[],c[o(1200)]=[],e=0;e0?c[o(1385)]+='video/mp4; codecs="':c[o(559)]&&c[o(559)][o(1346)]>0?c[o(1385)]+=o(843):c[o(1385)]+=o(1709),e=0;e=r[n(992)][n(1346)])&&(a[n(613)](n(417),n(974)+i.id+n(609)+Math[n(1061)](0,r[n(792)]-i.nb_samples)+","+(r.nextSample-1)+"]"),a[n(613)](n(417),"Sample data size in memory: "+this[n(942)]()),this[n(1585)]&&this[n(1585)](i.id,i[n(1049)],i.segmentStream.buffer,r[n(792)],e||r[n(792)]>=r[n(992)][n(1346)]),i[n(1604)]=null,i!==this.fragmentedTracks[t]))break}}if(null!==this[n(1547)])for(t=0;t=r[n(992)].length)&&(a.debug(n(417),n(1456)+c.id+" for sample "+r[n(792)]),this[n(1547)]&&this.onSamples(c.id,c[n(1049)],c[n(992)]),c[n(992)]=[],c!==this[n(1360)][t]))break}}}},y.prototype[s(1573)]=function(e){var t=s,r=this.getBoxes(e,!0);return r[t(1346)]?r[0]:null},y[s(1244)].getBoxes=function(e,t){var r=s,n=[];return y[r(1560)][r(1041)](this,e,n,t),n},y[s(1560)]=function(e,t,r){var n=s;for(var i in this[n(1231)]&&this[n(1231)]==e&&t[n(448)](this),this[n(422)]){if(t[n(1346)]&&r)return;y[n(1560)].call(this[n(422)][i],e,t,r)}},y[s(1244)][s(1204)]=function(e){var t=s,r=this.getTrackById(e);return r?r[t(992)]:void 0},y[s(1244)][s(652)]=function(e,t){var r=this[s(634)](e);return this.getSample(r,t)},y[s(1244)][s(538)]=function(e,t,r){var n=s,i=0,o=this.getTrackById(e);o[n(1330)]||(o[n(1330)]=0);for(var c=o[n(1330)];ce*i[u(1439)]){d=n-1;break}t&&i[u(943)]&&(l=n)}for(t&&(d=l),e=r[u(992)][d].cts,r[u(792)]=d;r[u(992)][d][u(1700)]===r[u(992)][d][u(1137)]&&r[u(992)][d+1];)d++;return o=r[u(992)][d][u(1096)]+r[u(992)][d].alreadyRead,a[u(613)](u(417),u(1420)+(t?u(1359):"")+u(1473)+r.nextSample+u(1040)+r.tkhd.track_id+u(1661)+a[u(1102)](e,c)+u(474)+o),{offset:o,time:e/c}},y[s(1244)][s(522)]=function(e){var t,r=s;return e[r(992)]?((t=e[r(992)][e[r(992)][r(1346)]-1])[r(1705)]+t.duration)/t[r(1439)]:1/0},y[s(1244)][s(1490)]=function(e,t){var r,n,i,o=s,c=this[o(685)],u={offset:1/0,time:1/0};if(this[o(685)]){for(i=0;ithis[o(522)](r)||((n=this[o(487)](e,t,r))[o(1096)]-1){u=l;break}switch(u){case t(1130):if(a[t(724)](t(644))[t(1037)](t(831),0)[t(1037)](t(1671),[0,0,0]),c[t(1037)](t(1036),r.width)[t(1037)](t(578),r[t(578)])[t(1037)]("horizresolution",72<<16)[t(1037)](t(1338),72<<16)[t(1037)]("frame_count",1)[t(1037)]("compressorname",r[t(1231)]+" Compressor").set("depth",24),r[t(1523)]){var p=new h.avcCBox;p[t(953)](new o(r.avcDecoderConfigRecord)),c[t(546)](p)}else if(r.hevcDecoderConfigRecord){var m=new h.hvcCBox;m[t(953)](new o(r.hevcDecoderConfigRecord)),c[t(546)](m)}break;case t(1426):a[t(724)](t(1052))[t(1037)]("balance",r.balance||0),c[t(1037)]("channel_count",r[t(1383)]||2).set("samplesize",r[t(1656)]||16).set("samplerate",r.samplerate||65536);break;case t(1670):a[t(724)](t(1665));break;case t(1389):if(a.add("sthd"),"stpp"===r[t(1231)])c.set(t(1253),r[t(1253)]||t(1489))[t(1037)]("schema_location",r[t(1678)]||"")[t(1037)](t(1147),r[t(1147)]||"");break;case t(1341):default:a[t(724)](t(409))}r[t(1667)]&&c[t(546)](r[t(1667)]),r[t(1483)]&&r[t(1483)][t(722)]((function(e){c.addBox(e)})),a.add(t(462)).add(t(1416))[t(555)]((new(h[t(440)]))[t(1037)](t(1089),1));var v=a[t(724)](t(1167));return v.add(t(1674))[t(555)](c),v.add(t(1710)).set(t(1538),[])[t(1037)](t(432),[]),v[t(724)]("stsc")[t(1037)](t(821),[])[t(1037)](t(1313),[])[t(1037)](t(571),[]),v[t(724)](t(688))[t(1037)](t(711),[]),v[t(724)](t(1566))[t(1037)](t(785),[]),this[t(685)].mvex[t(724)](t(968))[t(1037)](t(610),r.id)[t(1037)](t(1669),r[t(1669)]||1).set(t(1522),r[t(1522)]||0)[t(1037)](t(568),r.default_sample_size||0)[t(1037)](t(917),r[t(917)]||0),this[t(1271)](n),r.id}},h[s(1011)][s(1244)][s(469)]=function(e){var t=s,r=e||new c;r.endianness=c[t(1233)],this[t(1593)](r)},y.prototype[s(906)]=function(e,t,r){var n=s,i=r||{},a={},o=this[n(634)](e);if(null!==o){a.number=o[n(992)].length,a[n(610)]=o[n(1704)][n(610)],a[n(1439)]=o[n(833)][n(1629)][n(1439)],a.description_index=i[n(571)]?i[n(571)]-1:0,a[n(1667)]=o.mdia.minf[n(1167)][n(1674)][n(807)][a[n(1701)]],a[n(862)]=t,a.size=t[n(1246)],a[n(1700)]=a.size,a.duration=i[n(1536)]||1,a[n(1705)]=i[n(1705)]||0,a[n(890)]=i[n(890)]||0,a[n(943)]=i[n(943)]||!1,a[n(1142)]=i[n(1142)]||0,a[n(820)]=i.depends_on||0,a[n(1207)]=i[n(1207)]||0,a[n(645)]=i[n(645)]||0,a[n(558)]=i[n(558)]||0,a.offset=0,a.subsamples=i[n(837)],o[n(992)].push(a),o[n(1344)]+=a[n(1137)],o[n(607)]+=a.duration,void 0===o.first_dts&&(o[n(854)]=i.dts),this.processSamples();var c=this[n(1619)](a);return this[n(546)](c),c[n(469)](),c.trafs[0].truns[0].data_offset=c.size+8,this.add(n(1692)).data=new Uint8Array(t),a}},y.prototype.createSingleSampleMoof=function(e){var t=s,r=0;r=e.is_sync?1<<25:65536;var n=new(h[t(965)]);n.add(t(1106))[t(1037)](t(1353),this.nextMoofNumber),this.nextMoofNumber++;var i=n[t(724)]("traf"),a=this[t(634)](e[t(610)]);return i[t(724)](t(481))[t(1037)](t(610),e[t(610)])[t(1037)](t(1089),h[t(789)]),i[t(724)](t(1392))[t(1037)](t(1520),e[t(890)]-(a.first_dts||0)),i[t(724)]("trun").set(t(1089),h[t(1082)]|h.TRUN_FLAGS_DURATION|h[t(597)]|h[t(1241)]|h.TRUN_FLAGS_CTS_OFFSET)[t(1037)](t(1336),0).set(t(450),0).set(t(692),1)[t(1037)](t(1065),[e.duration])[t(1037)](t(1183),[e[t(1137)]])[t(1037)](t(1238),[r]).set("sample_composition_time_offset",[e[t(1705)]-e[t(890)]]),n},y.prototype[s(950)]=0,y[s(1244)].samplesDataSize=0,y.prototype[s(1488)]=function(){var e,t,r,n,i,a,o=s;for(this.initial_duration=this[o(685)][o(986)][o(1536)],this.moov[o(986)][o(1536)]=0,e=0;e=2&&(u=i[o][l(818)]+"/0",(c=new d(i[o].grouping_type,0))[l(1305)]=!0,!t[l(1511)][u]&&(t[l(1511)][u]=c))}else for(o=0;o=2&&(u=n[o][l(818)]+"/0",c=new d(n[o][l(818)],0),!e[l(1511)][u]&&(e[l(1511)][u]=c))},y[s(1293)]=function(e,t,r,n){var i,a,o=s;for(i in t[o(1391)]=[],n){var c;if(t[o(1391)][i]={},t.sample_groups[i][o(818)]=n[i][o(818)],t.sample_groups[i][o(1508)]=n[i][o(1508)],r>=n[i][o(1402)]&&(n[i][o(1402)]<0&&(n[i][o(1402)]=0),n[i].entry_index++,n[i][o(1109)]<=n[i][o(1683)][o(807)].length-1&&(n[i][o(1402)]+=n[i][o(1683)][o(807)][n[i][o(1109)]].sample_count)),n[i].entry_index<=n[i].sbgp[o(807)][o(1346)]-1?t[o(1391)][i][o(959)]=n[i][o(1683)][o(807)][n[i][o(1109)]][o(959)]:t[o(1391)][i][o(959)]=-1,0!==t.sample_groups[i][o(959)])c=n[i][o(1232)]?n[i][o(1232)]:n[i][o(1667)],t.sample_groups[i][o(959)]>0?(a=t[o(1391)][i][o(959)]>65535?(t.sample_groups[i][o(959)]>>16)-1:t[o(1391)][i][o(959)]-1,c&&a>=0&&(t[o(1391)][i][o(1667)]=c[o(807)][a])):c&&c[o(437)]>=2&&c[o(893)]>0&&(t[o(1391)][i].description=c[o(807)][c[o(893)]-1])}},y[s(1138)]=function(e,t,r){var n=s;t&&(e?(t[n(1142)]=e[n(1142)][r],t[n(820)]=e[n(415)][r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e[n(1703)][r]):(t[n(1142)]=0,t[n(820)]=0,t[n(1207)]=0,t.has_redundancy=0))},y[s(1244)][s(1016)]=function(){var e,t,r=s;for(e=0;eb&&(w++,b<0&&(b=0),b+=a[C(1538)][w]),t>0?(e[C(992)][t-1][C(1536)]=a[C(432)][w],e[C(607)]+=e[C(992)][t-1][C(1536)],x.dts=e[C(992)][t-1][C(890)]+e[C(992)][t-1][C(1536)]):x.dts=0,o?(t>=S&&(I++,S<0&&(S=0),S+=o[C(1538)][I]),x[C(1705)]=e[C(992)][t].dts+o[C(810)][I]):x[C(1705)]=x[C(890)],c?(t==c[C(1510)][A]-1?(x[C(943)]=!0,A++):(x[C(943)]=!1,x[C(558)]=0),l&&l[C(807)][E].sample_delta+k==t+1&&(x[C(837)]=l[C(807)][E].subsamples,k+=l[C(807)][E][C(1191)],E++)):x[C(943)]=!0,y[C(1138)](e[C(833)].minf.stbl.sdtp,x,x[C(1180)]),x[C(558)]=f?f[C(660)][t]:0,l&&l[C(807)][E][C(1191)]+k==t&&(x[C(837)]=l.entries[E][C(837)],k+=l[C(807)][E][C(1191)]),(d.length>0||h[C(1346)]>0)&&y[C(1293)](e,x,t,e[C(1511)])}t>0&&(e.samples[t-1][C(1536)]=Math[C(1061)](e[C(833)][C(1629)].duration-e[C(992)][t-1][C(890)],0),e[C(607)]+=e[C(992)][t-1][C(1536)])}},y[s(1244)].updateSampleLists=function(){var e,t,r,n,i,a,o,c,u,l,d,f,p,m,v,_=s;if(void 0!==this[_(685)])for(;this[_(950)]0&&y[_(1652)](f,d,d.sbgps,f[_(833)][_(1013)][_(1167)][_(1254)],d[_(1254)]),t=0;t0?m[_(890)]=f[_(992)][f[_(992)].length-2].dts+f[_(992)][f[_(992)].length-2][_(1536)]:(d.tfdt?m[_(890)]=d[_(1392)][_(1520)]:m[_(890)]=0,f[_(857)]=!0),m.cts=m.dts,g[_(1089)]&h.TRUN_FLAGS_CTS_OFFSET&&(m[_(1705)]=m[_(890)]+g[_(544)][r]),v=o,g[_(1089)]&h[_(1241)]?v=g[_(1238)][r]:0===r&&g[_(1089)]&h[_(525)]&&(v=g[_(450)]),m[_(943)]=!(v>>16&1),m[_(1142)]=v>>26&3,m[_(820)]=v>>24&3,m[_(1207)]=v>>22&3,m[_(645)]=v>>20&3,m.degradation_priority=65535&v;var b=!!(d[_(481)][_(1089)]&h[_(1406)]),w=!!(d[_(481)][_(1089)]&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),S=!!(g[_(1089)]&h[_(1082)]),I=0;I=b?d.tfhd[_(1479)]:w?l.start:0===t?l[_(1206)]:c,m[_(1096)]=0===t&&0===r?S?I+g.data_offset:I:c,c=m[_(1096)]+m.size,(d[_(566)][_(1346)]>0||d.sgpds.length>0||f.mdia[_(1013)][_(1167)][_(566)].length>0||f.mdia[_(1013)][_(1167)].sgpds[_(1346)]>0)&&y[_(1293)](f,m,m[_(1457)],d[_(1511)])}}if(d[_(1332)]){f.has_fragment_subsamples=!0;var A=d.first_sample_index;for(t=0;t-1))return null;var u=(r=this[n(1484)][n(1235)][o])[n(1246)]-(i.offset+i[n(1700)]-r[n(999)]);if(i.size-i[n(1700)]<=u)return a[n(699)](n(417),"Getting sample #"+t+" data (alreadyRead: "+i[n(1700)]+n(1171)+(i[n(1096)]+i[n(1700)]-r[n(999)])+" read size: "+(i.size-i[n(1700)])+n(784)+i[n(1137)]+")"),c[n(1575)](i.data[n(873)],i[n(1700)],r,i.offset+i[n(1700)]-r[n(999)],i.size-i.alreadyRead),r[n(1280)]+=i[n(1137)]-i[n(1700)],this.stream[n(1431)](),i[n(1700)]=i.size,i;if(0===u)return null;a[n(699)]("ISOFile",n(1290)+t+" partial data (alreadyRead: "+i[n(1700)]+" offset: "+(i[n(1096)]+i[n(1700)]-r[n(999)])+n(946)+u+" full size: "+i[n(1137)]+")"),c[n(1575)](i[n(862)][n(873)],i[n(1700)],r,i[n(1096)]+i.alreadyRead-r[n(999)],u),i[n(1700)]+=u,r.usedBytes+=u,this.stream.logBufferLevel()}},y[s(1244)].releaseSample=function(e,t){var r=s,n=e[r(992)][t];return n[r(862)]?(this[r(1090)]-=n[r(1137)],n.data=null,n[r(1667)]=null,delete n[r(558)],delete n[r(820)],delete n.description_index,delete n[r(645)],delete n[r(1207)],delete n[r(1142)],delete n.is_sync,delete n[r(832)],delete n[r(1457)],delete n.timescale,delete n[r(1705)],delete n[r(890)],delete n[r(1096)],delete n[r(1137)],delete n[r(610)],delete n[r(1536)],n.alreadyRead=0,n.size):0},y[s(1244)][s(942)]=function(){return this[s(1090)]},y[s(1244)][s(971)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this.moov[t(720)][e].mdia.minf[t(1167)][t(1674)].entries[0][t(1450)]()}return r},y.prototype[s(866)]=function(e){var t,r=s;if(!this[r(685)]||!this[r(685)][r(1684)])return null;for(t=0;t0&&(r.protection=c[n(988)][n(1020)][c[n(732)][n(1379)][e][n(1223)]-1]),c[n(732)][n(1379)][e][n(1535)]?r.type=c[n(732)].item_infos[e][n(1535)]:r[n(1231)]="mime",r[n(1006)]=c[n(732)][n(1379)][e][n(1006)],r.content_encoding=c[n(732)][n(1379)][e][n(944)];if(c[n(1275)])for(e=0;e0&&p[n(1645)]-1-1))return null;var l=(t=this[n(1484)][n(1235)][u]).byteLength-(o.offset+o[n(1700)]-t[n(999)]);if(!(o[n(1346)]-o.alreadyRead<=l))return a[n(699)](n(417),n(642)+e+n(1377)+i+" partial data (alreadyRead: "+o[n(1700)]+n(1171)+(o[n(1096)]+o[n(1700)]-t[n(999)])+n(946)+l+n(1694)+o[n(1346)]+n(1303)+r.size+")"),c[n(1575)](r[n(862)][n(873)],r.alreadyRead,t,o[n(1096)]+o.alreadyRead-t[n(999)],l),o[n(1700)]+=l,r[n(1700)]+=l,t.usedBytes+=l,this[n(1484)].logBufferLevel(),null;a[n(699)](n(417),n(642)+e+" extent #"+i+n(1099)+o[n(1700)]+n(1171)+(o.offset+o[n(1700)]-t[n(999)])+n(946)+(o[n(1346)]-o[n(1700)])+n(1694)+o[n(1346)]+" full item size: "+r[n(1137)]+")"),c.memcpy(r[n(862)][n(873)],r[n(1700)],t,o.offset+o[n(1700)]-t[n(999)],o[n(1346)]-o[n(1700)]),t[n(1280)]+=o.length-o[n(1700)],this[n(1484)][n(1431)](),r.alreadyRead+=o[n(1346)]-o.alreadyRead,o.alreadyRead=o.length}}return r.alreadyRead===r[n(1137)]?r:null},y[s(1244)][s(1203)]=function(e){var t=s,r=this[t(667)][e];if(r[t(862)]){this.itemsDataSize-=r[t(1137)],r.data=null,r[t(1700)]=0;for(var n=0;n0?this[i(685)][i(720)][e][i(992)][0][i(1536)]:0),t[i(448)](n)}return t},y[s(1244)][s(708)]=function(){var e=s,t={};return t[e(685)]=this.moov,this.moov&&this[e(685)].traks&&this[e(685)][e(720)].length>1&&(t[e(1579)]=this[e(685)].traks[0][e(992)][e(1346)],t[e(1544)]=this[e(685)].traks[1][e(992)].length),t},h[s(1011)][s(1244)][s(1646)]=function(e){var t=s;this[t(1137)]+=8,this[t(1137)]>u&&(this[t(1137)]+=8),this[t(1231)]===t(896)&&(this[t(1137)]+=16),e[t(745)](e[t(482)]+t(802)+this[t(1137)]),e[t(745)](e[t(482)]+"type:"+this.type)},h.FullBox[s(1244)][s(1646)]=function(e){var t=s;this[t(1137)]+=4,h[t(1011)][t(1244)][t(1646)][t(1041)](this,e),e[t(745)](e[t(482)]+"version:"+this[t(437)]),e.log(e.indent+t(653)+this[t(1089)])},h[s(1011)][s(1244)].print=function(e){this[s(1646)](e)},h[s(1031)][s(1244)].print=function(e){var t=s;this[t(1646)](e);for(var r=0;r>8)),e[t(745)](e[t(482)]+t(1259)+this[t(979)][t(921)](", ")),e.log(e[t(482)]+t(886)+this[t(775)])},h.tkhdBox[s(1244)][s(584)]=function(e){var t=s;h[t(693)][t(1244)].printHeader[t(1041)](this,e),e[t(745)](e.indent+"creation_time: "+this[t(567)]),e[t(745)](e[t(482)]+t(977)+this[t(892)]),e.log(e[t(482)]+"track_id: "+this[t(610)]),e[t(745)](e[t(482)]+t(1277)+this[t(1536)]),e[t(745)](e.indent+t(582)+(this[t(1150)]>>8)),e[t(745)](e[t(482)]+"matrix: "+this[t(979)][t(921)](", ")),e.log(e[t(482)]+"layer: "+this[t(605)]),e[t(745)](e[t(482)]+t(423)+this.alternate_group),e.log(e[t(482)]+"width: "+this[t(1036)]),e[t(745)](e.indent+t(1009)+this[t(578)])};var g={};g[s(453)]=function(e,t){var r=s,n=void 0===e||e,i=new y(t);return i[r(598)]=!n,i},s(1149)!==s(1321)&&(t[s(453)]=g[s(453)])}));function Ia(){var e=["int16le","TRUN_FLAGS_FLAGS","av1C marker problem","updateSampleLists","prototype","avc1","byteLength","boxEqualFields","vttC","infe","bufferIndex"," --\x3e ","stsg","namespace","sgpds","TFHD_FLAG_SAMPLE_FLAGS","version of iloc box not supported","hasItem","esds","matrix: ","TRUN_FLAGS_CTS_OFFSET","' box writing not yet implemented, keeping unparsed data in memory for later write","createBoxCtor"," writing not yet implemented, keeping unparsed data in memory for later write","codecIntializationDataSize","Flushing remaining samples","Concatenating buffer for box parsing (length: ","switch_group","lastBoxStartPosition","stcoBox","padding_flag","buildTrakSampleLists","Trying to create a new buffer of size: ","writeFloat32Array","high_bitdepth","grpl","constant_IV_size","duration: ","lengthSizeMinusOne","moovStartFound","usedBytes","TRUN_FLAGS_DURATION","extended_language","vertOffD"," not found in buffered data","cleanApertureHeightN","attribute_list","writeUint32Array","reference_type","sampling_type","Getting sample #"," bytes), continuous ranges: ","track_group_id","setSampleGroupProperties","Expected 'infe' box, got ","DecoderConfigDescriptor","ac-4","addTrack","imir","auxC","Creating media fragment on track #","_size","string"," full item size: ","vertical_justification","is_fragment","createSampleEntryCtor","parseOneDescriptor","subtitleTracks","unsetExtractionOptions","APPLICATION","bitDepth","trun","samples_per_chunk","nb_SPS_nalus","focal_length_y","float64le","compositionStartTime","smhdBox","num_ind_sub","cleanApertureHeightD","undefined","elstBox","getOTI","Textin4Parser","oti","general_constraint_indicator","parseRemainingDescriptors","createUUIDBox","entity_ids","lastValidSample","j2ki","subs","ind_subs","end","writeHeader","data_offset","sgpdBox","vertresolution","int16","available_bitrate","Metadata","getMetaHandler","uint32le","samples_size","vvs1","length","itemListBuilt","rash","rapAlignement","isHint","language","SAMPLE_ENTRY_TYPE_VISUAL","sequence_number","horizOffD","earliest_presentation_time","getUint8","focal_length_x","hvt1","RAP","extractedTracks","configurationVersion","isEos","trexs","cmin","replace","videoTracks","Descriptor"," with new size ","parseFromString","edts","readFloat32Array","avc3SampleEntry","readySent","], [","avc2SampleEntry","profile_compatibility"," extent #","sizePosition","item_infos","writeUint64","block_size","adjustUint32","channel_count","charCodeAt","mime","mapInt32Array","num_entities_in_group","sdptext","Subtitle","_trimAlloc","sample_groups","tfdt","kid","pmax","box_record","warn","av1C","writeUint8","sent","extension_type","construction_method","last_sample_in_run","36110EhAvzm","hSpacing","segment_duration","TFHD_FLAG_BASE_DATA_OFFSET","_realloc","6eEqQrg","indexOf","samplerate","writeUint16Array","avgFrameRate","Duplicate Box of type: ","chroma_subsampling_y","Found Sample Groups of type ","dref","discard_priority","codec","seq_level_idx_0","Seeking to ","payt","monochrome"," (total: ","av1C reserved_2 parsing problem","seekPoints","Audio","encm","hinf","component_count","cmpd","logBufferLevel"," for sample ","LiveServerManifest","edits","avgBitrate","avg_frame_rate","mfra"," sample group length","timescale","processIncompleteBox","prft","styp","encv","Allocating item #","dmax","movie_duration","addSubBoxArrays","writeCString","AVCLevelIndication","getCodec","sampleEntryCodes","1371190xyTIMQ","txtC","bit_depth_luma_minus8","metx","Sending samples on track #","number_in_traf","colour_primaries","mapUint8Array","whitePointChromaticity_x","ec-3","SingleItemTypeReferenceBox","_self","num_bytes_constraint_info","8974dbce7be74c5184f97148f9882554","MP4BoxStream","leva","packetssent","click","quat_x","readFloat64","getFloat64"," sample #","hintTracks","clli","hvcCBox","bit_rate_code","crypt_byte_block","base_data_offset","first_output_sample","readInt16","meco","description_boxes","stream","reduceBuffer","encode","TrackReferenceTypeBox","resetTables","nonamespace","seek","writeType","base_offset_size","sbgpBox","ftypBox","senc","avc4SampleEntry","fiel","sampleProcessingStarted","writeUint8Array","writeUCS2String","vertOffN","ac-3","elng","extent_index","num_bad_pixels","timescale: ","_dataView","grouping_type_parameter","trak","sample_numbers","sample_groups_info","default_Per_Sample_IV_Size","rate","721922NxeIcE","ispe","itemsDataSize","ranges","stssBox","StreamCount","baseMediaDecodeTime","mdats","default_sample_duration","avcDecoderConfigRecord","fragment_count","block_little_endian","setExtractionOptions","writeUint16","bit_depth_chroma_minus8","extract_bits","sampleListBuilt","(empty)","tsyn","writeInt16Array","int8","item_type","duration","dynamicSize","sample_counts","channel_associations","parseFullHeader","float64be","matrixCoefficients","createSampleGroupCtor","moovVideoNum","d4807ef2ca3946958e5426cb9e46a79f","getDescriptorName","onSamples","isAudio","uint16le","SAMPLE_ENTRY_TYPE_TEXT","dimm","hvcC","entity_groups","num_total_samples","name","initial_delay","stscBox","revokeObjectURL","reserved_1","_sweep","getInt32","Unknown leva assignement type","cleanApertureWidthN","SAMPLE_ENTRY_TYPE_AUDIO","[row: ","stsz","pts","writeString","mapUint32Array","saveParsePosition","aux_info_type","default_IV_size","getBox",") already appended, ignoring","memcpy","moovBox","BYTES_PER_ELEMENT","fragment_duration","moovAudioNum","roll_distance","save","onReady","nump","pixel_size","onSegment","a1lx","period","readInt16Array","getLength","intra_pred_used","audio",") - next buffer to fetch should have a fileStart position of ","write","to_item_ID","readInt32","luminanceMax","No segmentation callback set!","mhm2","Not enough bytes left in the parent box to parse a UUID box","_dynamicSize","Unknown box type: '","nextSeekPosition","SmDm","segmentStream","getEndFilePositionAfter","processItems","No method for reading signed 64 bits values","transferCharacteristics","configOBUs","readFloat64Array","truns"," bytes), seeking forward","concat","u16string","a5d40b30e81411ddba2f0800200c9a66","image_width","tyco","getHeight","createSingleSampleMoof","mere","enof","chroma_sample_position","getBuffer","location","SAMPLE_ENTRY_TYPE_SUBTITLE","reserved_2","insertBuffer","ERR_NOT_ENOUGH_DATA","mdhd","iloc","getFloat32","parseFooter","minor_version","channel_indexes","setUint16","urn ","mdatBox","layerNumber","length_size_of_traf_num","associations","saiz","vvi1","writeInt32","mett","property_index","printHeader","File uses negative stts sample delta, using value 1 instead, sync may be lost!","fr-FR","code","readUint32"," (released size: ","initSampleGroups","mjp2","VORBIS_COMMENT","encu","samplesize","media_duration","hdlr","VisualSampleEntry","component_index",", time ","vp08SampleEntry","download","pos_y","hmhd","config","description","ptl_frame_only_constraint_flag","default_sample_description_index","Hint","opcolor","uint16be",", size ","stsd","has_unparsed_data","ArrayBuffer","PADDING","schema_location","Per_Sample_IV_Size","mha1","properties","getSampleSize","sbgp","mvex","ASCII","avgBitRate","mvhdBox","min","isFragmented","clap","mp4a","mdat","_byteOffset"," full extent size: ","maxFALL","item_count","trefBox","MultiBufferStream","ptl_multilayer_enabled","alreadyRead","description_index","bad_rows","sample_has_redundancy","tkhd","cts","Unlimited box size not supported for type: '","sidxSent","float32be",'application/mp4; codecs="',"stts","lang","kindBox","codec_specific_parameters","The first buffer should have a fileStart of 0","nmhd","OutputGain","uint8",'Not enough data in stream to parse the extended size of the "',"horizOffN","chromaSubsampling","sample_depends_on","TrackGroupTypeBox","ISOFile","tapt","vSpacing","discardable","ES_ID","boxes","alternate_group: ","ptl_sublayer_present_mask","general_constraint_info","cleanApertureWidthD"," v=","nalu_type",", column: ","sinf","held_bits","sample_deltas","PICTURE","writeFloat64Array","data_reference_index"," of size ","version","PPS","writeInt32Array","url Box","writeInt8","6d1d9b0542d544e680e2141daff757b2","readUint32Array","shift","style_record","general_profile_space","Version","push","581716KArwyg","first_sample_flags","mergeNextBuffer","emsg","createFile","data_offset_position","sdtp","clef","kind","Not enough bytes in buffer","prol","reference_ID","printRanges","dinf","subsegments","default_constant_IV_size","vp09SampleEntry","Item storage with construction_method : not supported","TrackReference ","OCR_ES_ID","computeSize","min_spatial_segmentation_idc","length_size_of_trun_num","saio","DIFF_PRIMITIVE_ARRAY_PROP_NAMES"," and offset: ","TKHD_FLAG_IN_MOVIE","SAP_type","Box of type ","dfLa","flush","subSeqDirectionFlag","tfhd","indent","bad_pixel_row","findPosition","totl","group_id","seekTrack","avcC","general_level_idc","chunk_index","readInt8Array","avc4","writeUint32","ipmas","SEEKTABLE","Unknown sample entry type: ","Sample data size in memory: ","avcCBox","component_align_size","isMetadata","readUint","Error accessing position in the MultiBufferStream","pad_unknown","getPrimaryItem","readAnyInt","handler","writeStruct","Log","dataview"," at position ","scheme_type","dataView","dmed","XMLSubtitlein4Parser","level_independently_decodable","UUIDBoxes","irot","URL","referenced_size","completeness","tpyl","getTrackDuration","createObjectURL","parseOneBox","TRUN_FLAGS_FIRST_FLAG","destroy","num_output_samples","co64","base_offset","Done processing buffer (fileStart: ","padbits","num_tile_rows_minus_one","absolute_duration","cdef","avgRateFlag","seq_profile","urn Box","releaseUsedSamples","streamType","findDescriptor","data_format","vide","CONTAINER_BOXES","sample_composition_time_offset"," on track #","addBox","bsmod","Not ready to start parsing","split","getEndPosition","appendBuffer","bytessent","TKHD_FLAG_IN_PREVIEW","whitePointChromaticity_y","addEntry","track_width","equal","degradation_priority","audioTracks","SAMPLE_ENTRY_TYPE_METADATA","checkBuffer","stxtSampleEntry","trunBox","scheme_version","iref","sbgps","creation_time","default_sample_size","transfer_characteristics","createEncryptedSampleEntryCtor","sample_description_index","boxEqual","tsas","time","schemeURI","mhm1","primary","height","step_count","getUint32","stsdBox","volume: ","Error reading base offset size","print",", overriding previous occurrence","constant_frame_rate","brands","numMetadataBlocks","nalu_arrays","Opus","lfeon","CUESHEET","horizresolution","fromCharCodeUint8","stereo_indication_type","sidx","TRUN_FLAGS_SIZE","discardMdatData","setInt8","BoxParser","writeUint24","onMoovStart","sthd","SAMPLE_ENTRY_TYPE_SYSTEM","layer","BoxWriter","samples_duration","default_sample_info_size"," for samples [","track_id","Found position in existing buffer #","component_bit_depth_minus_one","info","iprp","pano","pasp","3716190vgEaff","isEof","created","Buffer (fileStart: ","schm","' did not read the entire indicated box data size (missing ","parseDataAndRewind","profile","CoupledCount","sync_sample_numbers","sample_offset","ctts box uses negative values without using version 1","sample_info_size","parseLanguage","colr","props","TFHD_FLAG_SAMPLE_DUR","getTrackById","num_bad_cols","chunk_run_index","MP4Box","itemId","SampleGroup for type ","tag","chroma_format_idc","Getting item #","meta","vmhd","has_redundancy","hdlrBox","codecIntializationData","SampleGroupEntry","absolute_time","primaryGChromaticity_y","avs3","getTrackSample","flags:","component_format","parsingMdat","msg","initial_presentation_delay_present","description_length","ChannelMapping","priority","getItem","setFloat64","descriptionformat","starts_with_SAP","readInt8","ext","items","TFHD_FLAG_SAMPLE_SIZE","aux_subtype","getText","hdr_size","numTemporalLayers","sbpm","writeInt8Array","depth","createContainerBoxCtor","int32le"," box writing not yet implemented, keeping unparsed data in memory for later write","extents","alternate_group","createFullBoxCtor","first_sample_index","substring","extent_offset","moov","principal_point_x","compositionToDTSShift","stco","stxt","videoFullRangeFlag","avc3","sample_count","FullBox","4781ZXpclt","updateUsedBytes","compatible_brands","floor","bits_per_channels","debug","hev1","byteOffset","rICC","readCString","Box of type '","parseHeader","NAL_unit_type","transferFunction","getPerformanceInfo","sample_rate","item_protection_index","chunk_offsets","test","image_height","co64Box","_byteLength","cslgBox","rap ","payl","tile_align_size","traks","maxBitrate","forEach","Parsing of box '","add","languageString","general_profile_idc","Error reading extent index","hnti","tref","readUint16","stop","iinf","setNextSeekPositionFromSample","defineProperty","findEndContiguousBuf","iods","layer_size","parseUUID","tfra"," not supported","parallelismType","level","single_view_allowed","ptl_present_flag","log","fieldOrdering","cleanBuffers","restoreParsePosition","av1C reserved_1 parsing problem","getInfo","Adjusting box ","length_size","Not enough data in stream to parse the entire '","layer_id"," has an invalid size ","box","twelve_bit","media_rate_integer","vpcC","tags","Removing buffer #","removeUsedSamples","row_align_size","display_primaries","metadataTracks","uint32","Cannot parse extension type","ChannelMappingFamily","axis","white_point","maxCLL"," - Length: ","' and size ","processSamples","next_track_id","readFloat32","DIFF_BOXES_PROP_NAMES","mapInt8Array","initialized","assignment_type","prdi","appendChild","Allocating sample #"," full size: ","sample_sizes","nb_samples","sub_track_id","default_KID","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","tracks","rinf","nextSample","trexBox","Found 'mdat' end in buffered data","media_time","sttsBox","entry_count","udta","first_offset","getInt16","No sample in track, cannot seek! Using time ","size:","InputSampleRate","general_tier_flag","constant_IV","parseHex16","entries","durationFlag","field_size","sample_offsets","ES_Descriptor","etyp","ref_to","track_height","ftyp","kinds","ipco","grouping_type","initializeSegmentation","depends_on","first_chunk","<","channel_types","int32be","favc","writeInt16","cts_shift","vvi1SampleEntry","stsc","rtp ","graphicsmode","moof_number","mdia","constantFrameRate","stppSampleEntry","max_picture_height","subsamples","endianness","general_profile_compatibility","movie_timescale","SAP_delta_time","trgr",'audio/mp4; codecs="',"ccst","trpy","' has a size ","btrt","stream_read_1_bytes","bad_pixels","all_ref_pics_intra","float32le","j2kH","mdcv","first_dts","esd","aux_info_type_parameter","first_traf_merged","'","moofs","mfhdBox"," greater than its container size ","data","createEntityToGroupCtor",">","sample_is_depended_on","getTrexById","writeFooter","range_size","CoLL","getSampleRate","reserved","seq_tier_0","buffer","afbr","initial_presentation_delay_minus_one","descs","scheme_id_uri","ctts","trep","av01SampleEntry","dec3","general_sub_profile_idc","dependsOn_ES_ID","trafs","setUint32","next_track_id: ","setInt16","Item storage with reference to other files: not supported","Ignoring empty buffer (fileStart: ","dts","value","modification_time","default_group_description_index","nbSamples","correction_applied","uuid","AVCProfileIndication","max_display_mastering_luminance","max_ref_per_pic","isProgressive","init","extent_length","essential","emsgBox","PreSkip","addSample","moovStartSent","isSubtitle","pow","stz2","sublayer_level_idc","elst","aebr","maxr","primaryBChromaticity_x","mehd","default_sample_flags","acmod","OutputChannelCount","mapFloat32Array","join","writeFloat32","bitrate","Not enough data in stream to parse the type and size of the box","readInt32Array","readUint8Array","parseSample","source","references","stss","frma","2343IXOzmN","getPosition","sbtt","flattenItemInfo","FULL_BOXES","failurePosition","maximum_bitrate","4664EmxgnE","avc2","tkhdBox","getAllocatedSampleDataSize","is_sync","content_encoding","' box"," read size: "," more bytes than the indicated box data size, seeking backwards","metadata","enct","lastMoofIndex","system_id","notice","parse","No buffer to start parsing from","component_type_urls","DataStream","splice","item_ID","group_description_index","length_size_of_sample_num","ipma","decimalToHex","dtrt","createMediaSampleEntryCtor","moofBox","getUint16","a1op","trex","initialize","SingleItemTypeReferenceBoxLarge","getCodecs","mime_format","error","Sending fragmented data on track #","stpp"," stored buffer(s) (","modification_time: ","albc","matrix","msrc","MPEG4DescriptorParser","tpay","Seeking at time ","track_ID","fromCharCode","mvhd","readString","ipro","fscod","colour_type","fieldCount","samples","leastDecodeToDisplayDelta","vp08","hasIncompleteMdat","slid","createCommonjsModule","dependency","fileStart",'" box',"seig","3vrhLNw","TKHD_FLAG_ENABLED","getAudioConfig","default_isProtected","content_type","SPS","temporalIdNested","height: ","application/xml","Box","hasMoov","minf","1904-01-01T00:00:00Z","bytes","buildSampleLists","bsid",".CA","max_content_light_level","protections","scheme_uri","luminanceMin","roll","addUsedBytes","Mismatch in ","mapFloat64Array","mehdBox","colorSpace","Adjusted seek position (after checking data already in buffer): ","aux_type","ContainerBox","event_duration","Adjusting data_offset with new value ","padb","createElement","width","set","principal_point_y","vttc"," on track ","call","BASIC_BOXES","SAMPLE_ENTRY_TYPE_HINT","setAttribute","SLConfigDescriptor","nextParsePosition","setAllUsedBytes","quat_y","user","encs","moof","smhd","compressorname"," f=","apply","message_data","isFragmentationInitialized","target","processIncompleteMdat","ICC_profile","max","num_sublayers","default_crypt_byte_block","trun_number","sample_duration","isVideo","vipr",", remaining: ","mapInt16Array","createFragment","accurateStatisticsFlag","setSegmentOptions","System","nb_PPS_nalus","operation_point_count","stszBox","traf","documentString","bufferSizeDB","balance","creation_time: ","TRUN_FLAGS_DATA_OFFSET","isProtected","from_item_ID","track_ids","uncv","prgr","u16stringbe","flags","samplesDataSize","toString","fobr","max_pic_average_light_level","DecoderSpecificInfo","tx3g","offset","Sample Group type: ","max_picture_width"," data (alreadyRead: ","video","vvcN","getDurationString","bad_pixel_column","Appending new buffer (fileStart: ","releaseSample","mfhd","readInt64","strd","entry_index","nclx","offset_size","nextMoofNumber","cstring","npck","float32","sample_number","vvcC","stream_read_2_bytes","readUint64","wvtt","onSidx","getWidth","sgpd","setFloat32","tsel","unpack","RESERVED","major_brand","presentation_time_delta","Visual","free","getSample","writeFloat64","TFHD_FLAG_SAMPLE_DESC","schi","SampleEntry","size","process_sdtp","slice","pos_x","Found box of type '","is_leading","default_length","minimum_bitrate","readUint16Array","chan_loc","auxiliary_mime_types","getTime","object","volume","subBoxNames","_buffer","xml ","hvc1SampleEntry","pixi","interleave_type","mehd box incorrectly uses flags set to 1, converting version to 1","angle","used","onError","vvc1SampleEntry","SubtitleSampleEntry","target_rate_share","readUint24","levels","frame_count","stbl","bufferSize","alst","num_channels"," offset: ","stdp","block_pad_lsb","readUint8","op_index","modified","strk"," (too small to be a box)","dobr","number","greatestDecodeToDisplayDelta","skew_factor","sample_size","media_rate_fraction","pitm","Stream ready for parsing","arrayToNative","a2394f525a9b4f14a2446c427c648df4","bg_color_rgba","Cannot seek: moov not received!","sample_delta","Buffer must be defined and non empty","document","num_bad_rows"," not fully parsed","cslg","av01","getChannelCount","fragmentedTracks","otherTracks","AudioSampleEntry","text","releaseItem","getTrackSamplesInfo","uncC","start","is_depended_on","position","cttsBox","prof","num_held_bits","data_rate","getInt8","iso4","rate: ","float64","shadowed_sample_numbers","nalu","avss","229987rrtujT","tfhdBox","item_name","protection_index","num_dep_sub","nativeToEndian","index_size","flipArrayEndianness","displayFlags","LITTLE_ENDIAN","Track created with MP4Box.js","type","fragment_description","BIG_ENDIAN","decode","buffers","unsetSegmentOptions","item_id","sample_flags","cmex"];return(Ia=function(){return e})()}function Aa(e,t){var r=Ia();return(Aa=function(e,t){return r[e-=405]})(e,t)}Sa[wa(508)],Sa.MP4BoxStream,Sa[wa(956)],Sa[wa(1698)],Sa[wa(981)],Sa.BoxParser,Sa[wa(514)],Sa[wa(1324)],Sa[wa(417)],Sa.createFile;const Ea=ka;function ka(e,t){const r=Ca();return(ka=function(e,t){return r[e-=392]})(e,t)}function Ca(){const e=["3115390IfmGgV","init","instance","slice","parse","12301hbBVMj","599560xsIuIL","6wZebTh","debuglog","Memory","init error","function","Instance","debugWarn","stack overflow","player","Module","reverse","9DfIhuT","byteLength","66268JbhknK","object","destroy","4326047FZJpxI","27EXSgxI","reduce","buffer","length","395970bkQtiv","32QunQVe","debugLog","every","TAG_NAME","871381eUQdhX","wasm not supported","exports","instantiate"];return(Ca=function(){return e})()}!function(e,t){const r=ka,n=e();for(;;)try{if(162757===-parseInt(r(417))/1*(parseInt(r(404))/2)+-parseInt(r(399))/3*(-parseInt(r(395))/4)+parseInt(r(403))/5+parseInt(r(419))/6*(parseInt(r(408))/7)+parseInt(r(418))/8*(-parseInt(r(393))/9)+-parseInt(r(412))/10+parseInt(r(398))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ca);Ea(397);function xa(){const e=Ta;for(var t=arguments[e(368)],r=new Array(t),n=0;n{const n=e,s=new i((0|t[n(358)])+(0|r[n(358)]));return s[n(357)](t,0),s[n(357)](r,0|t.byteLength),s}),new i)}function Ta(e,t){const r=Da();return(Ta=function(e,t){return r[e-=349]})(e,t)}function Da(){const e=["2551878VVrtjj","1747208GStiMC","set","byteLength","1379272oZQdUZ","toString","16280091HNBwSs","reduce","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","2757200GdFAHT","constructor","10mpxYwd","replace","length","1492JWtALc","error","padStart","751548Vxdnqn","7OQBcfz","373pyioKL"];return(Da=function(){return e})()}!function(e,t){const r=Ta,n=e();for(;;)try{if(296669===parseInt(r(354))/1*(parseInt(r(349))/2)+-parseInt(r(352))/3+-parseInt(r(359))/4+-parseInt(r(364))/5+-parseInt(r(355))/6+parseInt(r(353))/7*(-parseInt(r(356))/8)+-parseInt(r(361))/9*(-parseInt(r(366))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Da),function(e,t){const r=Wa,n=e();for(;;)try{if(688517===-parseInt(r(153))/1+-parseInt(r(148))/2*(parseInt(r(176))/3)+-parseInt(r(175))/4*(parseInt(r(168))/5)+parseInt(r(149))/6+parseInt(r(167))/7*(-parseInt(r(145))/8)+-parseInt(r(147))/9*(parseInt(r(150))/10)+parseInt(r(178))/11*(parseInt(r(157))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}($a);const Ba=16,Ma=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Ua=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Pa(e){const t=Wa,r=[];for(let n=0,i=e[t(169)];n{const r=t;return 1===(e=e[r(172)](16))[r(169)]?"0"+e:e}))[t(161)]("")}function Ra(e){const t=Wa,r=[];for(let n=0,i=e[t(169)];n>>6),r[t(159)](128|63&i);else if(i<=55295||i>=57344&&i<=65535)r[t(159)](224|i>>>12),r[t(159)](128|i>>>6&63),r[t(159)](128|63&i);else{if(!(i>=65536&&i<=1114111))throw r[t(159)](i),new Error(t(160));n++,r.push(240|i>>>18&28),r[t(159)](128|i>>>12&63),r[t(159)](128|i>>>6&63),r.push(128|63&i)}}return r}function La(e){const t=Wa,r=[];for(let n=0,i=e[t(169)];n=240&&e[n]<=247?(r[t(159)](String[t(174)](((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r.push(String[t(174)](((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r[t(159)](String[t(174)](((31&e[n])<<6)+(63&e[n+1]))),n++):r.push(String.fromCodePoint(e[n]));return r.join("")}function Oa(e,t){const r=31&t;return e<>>32-r}function za(e){return(255&Ma[e>>>24&255])<<24|(255&Ma[e>>>16&255])<<16|(255&Ma[e>>>8&255])<<8|255&Ma[255&e]}function Na(e){return e^Oa(e,2)^Oa(e,10)^Oa(e,18)^Oa(e,24)}function Ha(e){return e^Oa(e,13)^Oa(e,23)}function Va(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=Na(za(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=Na(za(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=Na(za(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=Na(za(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function ja(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^Ua[r+0],t[r+0]=n[0]^=Ha(za(e)),e=n[2]^n[3]^n[0]^Ua[r+1],t[r+1]=n[1]^=Ha(za(e)),e=n[3]^n[0]^n[1]^Ua[r+2],t[r+2]=n[2]^=Ha(za(e)),e=n[0]^n[1]^n[2]^Ua[r+3],t[r+3]=n[3]^=Ha(za(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function Ga(e,t,r){const n=Wa;let{padding:i=n(171),mode:s,iv:a=[],output:o=n(158)}=arguments[n(169)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===n(152)&&(typeof a===n(158)&&(a=Pa(a)),16!==a[n(169)]))throw new Error(n(173));if(typeof t===n(158)&&(t=Pa(t)),16!==t[n(169)])throw new Error(n(163));if(e=typeof e===n(158)?0!==r?Ra(e):Pa(e):[...e],("pkcs#5"===i||i===n(171))&&0!==r){const t=Ba-e[n(169)]%Ba;for(let r=0;r=Ba;){const t=e.slice(h,h+16),i=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments[r(169)]>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(162)];let a=new Uint8Array(e[r(170)](0,5)),o=5;for(;os){const t=new Uint8Array(a[r(169)]+e[r(169)]-o);t[r(146)](a,0),t[r(146)](e[r(170)](o),a[r(169)]),a=t;break}let l=e[o+4],d=!1,h=2;if(n?(i&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(156)](l)):(l&=31,d=1===l||5===l),d){const n=Ga(e.slice(o+4+h,o+4+u),t,0,{padding:r(166),output:r(179)});let i=n[n[r(169)]-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n[r(169)]-t]!==i){e=!1;break}e&&n[r(164)](n[r(169)]-i,i)}const s=new Uint8Array(h);s[r(146)](e[r(170)](o+4,o+4+h),0);const c=Et(xa(s,new Uint8Array(n))),l=new Uint8Array(a.length+c[r(169)]);l[r(146)](a,0),l[r(146)](c,a.length),a=l}else{const t=e.slice(o+4,o+4+u),n=new Uint8Array(a[r(169)]+4+t[r(169)]);n[r(146)](a,0),n[r(146)](c,a[r(169)]),n.set(t,a[r(169)]+4),a=n}o=o+4+u}return a}function Ka(){const e=["1685926OYFLAr","ctx","length","43487988rgRxCY","27502mJfJFJ","emit","keys","4orQdph","slice","apply","once","forEach","push","3180024QsSpNK","136866itIrDe","61LOUeMB","35tHBbXr","5716460EqAJqZ","3278658pdwNNU","27UJdBib","10PjOGiU"];return(Ka=function(){return e})()}function Xa(e,t){const r=Ka();return(Xa=function(e,t){return r[e-=344]})(e,t)}const Ja=Xa;!function(e,t){const r=Xa,n=e();for(;;)try{if(682710===-parseInt(r(364))/1*(-parseInt(r(353))/2)+-parseInt(r(346))/3*(-parseInt(r(356))/4)+parseInt(r(345))/5+-parseInt(r(363))/6*(parseInt(r(344))/7)+-parseInt(r(362))/8*(-parseInt(r(347))/9)+parseInt(r(348))/10*(parseInt(r(349))/11)+-parseInt(r(352))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ka);class Qa{on(e,t,r){const n=Xa,i=this.e||(this.e={});return(i[e]||(i[e]=[]))[n(361)]({fn:t,ctx:r}),this}[Ja(359)](e,t,r){const n=this;function i(){const s=Xa;n.off(e,i);for(var a=arguments[s(351)],o=new Array(a),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,n=i[r(351)];e=2&&!this[r(332)];)if(255==this[r(330)][this.parsedOffset]){if(!(!1&this.tempBuffer[this[r(320)]+1])){this[r(318)]=this[r(330)][this[r(320)]+1],this.state=ro[r(321)],this[r(319)]=this[r(320)],this[r(320)]+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this[r(340)]==ro[r(321)]){let e=!1;for(;this[r(330)].length-this[r(320)]>=2&&!this.isDestroyed;)if(255==this[r(330)][this[r(320)]]){if(this.tempBuffer[this[r(320)]+1]==this[r(318)]){this[r(340)]=ro[r(325)],this[r(339)]=this[r(320)],this[r(320)]+=2,e=!0;break}this.parsedOffset++}else this[r(320)]++;if(e)continue;break}if(this[r(340)]==ro.findSecondStartCode){let e=this[r(330)][r(326)](this[r(319)],this[r(339)]);this[r(328)](r(345),e,t),this.tempBuffer=this.tempBuffer[r(326)](this[r(339)]),this[r(319)]=0,this[r(320)]=2,this[r(340)]=ro[r(321)]}}}}function io(){const e=["15910434KudQPb","2JZpyLn","5036fkJTsf","2798202GWMuys","4823552UhGYWJ","byteLength","1595952OLZeRp","4048597TvuNVW","includes","235smSSzY","length","10139922Jqjwtb","slice"];return(io=function(){return e})()}function so(e,t){const r=io();return(so=function(e,t){return r[e-=174]})(e,t)}function ao(e,t,r){const n=so;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e[n(176)];let a=5;for(;as)break;let c=e[a+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(179)](c)):(c&=31,u=1===c||5===c),u){const i=ao(e[n(183)](a+4,a+4+o),t,r);e.set(i,a+4)}a=a+4+o}return e}function uo(e,t){var r=lo();return(uo=function(e,t){return r[e-=352]})(e,t)}function lo(){var e=["713162imMrjO","775728OONjcG","99869PAHxmf","6ylnhME","byteLength","set","60709cNPUYg","5824264pXqOlC","1237816ipXVvd","reduce","2wMokWH","3511555qKqzFo","2490vsUSoW","192BNwWZI","length","filter","forEach"];return(lo=function(){return e})()}function ho(){for(var e=uo,t=arguments[e(356)],r=new Array(t),n=0;ne+t.byteLength),0));let s=0;return r[e(358)]((t=>{var r=e;i[r(364)](t,s),s+=t[r(363)]})),i}!function(e,t){const r=so,n=e();for(;;)try{if(894527===parseInt(r(177))/1*(-parseInt(r(185))/2)+-parseInt(r(174))/3+parseInt(r(186))/4*(-parseInt(r(180))/5)+parseInt(r(182))/6+-parseInt(r(178))/7+parseInt(r(175))/8+parseInt(r(184))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(io),function(e,t){for(var r=uo,n=e();;)try{if(392369===-parseInt(r(352))/1*(parseInt(r(359))/2)+-parseInt(r(362))/3*(-parseInt(r(367))/4)+-parseInt(r(353))/5+parseInt(r(355))/6*(parseInt(r(361))/7)+-parseInt(r(366))/8+parseInt(r(360))/9+parseInt(r(354))/10*(parseInt(r(365))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(lo);const fo=mo;function po(){const e=["11860376SetSKL","5310907rdjgKN","proxy","destroys","33805820wyXKsC","removeEventListener","2283avvCFa","Events","map","5659533TNUvmL","bind","addEventListener","length","10049604GcNYLP","2BOSrjm","forEach","destroy","468354wtmaRm","5080vryMcB","5auvlUx","debugLog","master"];return(po=function(){return e})()}function mo(e,t){const r=po();return(mo=function(e,t){return r[e-=375]})(e,t)}!function(e,t){const r=mo,n=e();for(;;)try{if(851081===parseInt(r(376))/1*(-parseInt(r(379))/2)+-parseInt(r(390))/3*(-parseInt(r(380))/4)+parseInt(r(381))/5*(-parseInt(r(375))/6)+parseInt(r(385))/7+-parseInt(r(384))/8+-parseInt(r(393))/9+parseInt(r(388))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(po);class vo{constructor(e){const t=mo;this[t(387)]=[],this[t(386)]=this[t(386)][t(394)](this),this[t(383)]=e}[fo(386)](e,t,r){const n=fo;let i=arguments[n(396)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t[n(392)]((t=>this[n(386)](e,t,r,i)));e[n(395)](t,r,i);const s=()=>{const s=n;Ot(e[s(389)])&&e[s(389)](t,r,i)};return this.destroys.push(s),s}destroy(){const e=fo;this[e(383)][e(382)](e(391),e(378)),this[e(387)][e(377)]((e=>e())),this[e(387)]=[]}}const _o=bo;function yo(){const e=["codecHeight","hdlr","dinf","trex","101890lFBzkZ","mp3","mvhd","duration","hvcC","hvc1","stts","presentHeight","prototype","avcC","avc","STSD_PREFIX","minf","audioSampleRate","avcc","set","tkhd","smhd","trak","stsd","presentWidth","HDLR_AUDIO","21633399tItwYV","codecWidth","STTS","9780056jGRmib","6QYXdjq","tfhd","avc1","SMHD","FTYP","isNonSync","mdhd","DREF","audioType","charCodeAt","10113378PonvIS","stsc","STCO","isDependedOn","STSZ","577562TSLHRB","videoType","dref","moof","concat","init","ftyp","stbl","type","isLeading","audio","dependsOn","sequenceNumber",".mp3","box","mp4a","sdtp","mdia","channelCount","esds","hasOwnProperty","cts","generateInitSegment","mfhd","trun","moov","stco","mdat","length","1446722yHqEAj","stsz","types","7777616lYdXHD","STSC","constants","HDLR_VIDEO","size","VMHD","call","byteLength","traf","332KdjWRT","mvex"];return(yo=function(){return e})()}!function(e,t){const r=bo,n=e();for(;;)try{if(933465===parseInt(r(407))/1+-parseInt(r(378))/2*(parseInt(r(451))/3)+-parseInt(r(419))/4*(parseInt(r(425))/5)+parseInt(r(373))/6+-parseInt(r(410))/7+-parseInt(r(450))/8+parseInt(r(447))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yo);class go{static init(){const e=bo;go[e(409)]={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in go[e(409)])go[e(409)][e(398)](t)&&(go[e(409)][t]=[t[e(372)](0),t[e(372)](1),t[e(372)](2),t[e(372)](3)]);let t=go[e(412)]={};t[e(455)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t[e(436)]=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(449)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(411)]=t[e(375)]=t[e(449)],t[e(377)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(413)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(446)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t[e(370)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t[e(454)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(415)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[_o(392)](e){const t=_o;let r=8,n=null,i=Array[t(433)].slice[t(416)](arguments,1),s=i[t(406)];for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n[t(440)](e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){const t=_o;return go[t(392)](go[t(409)][t(443)],go.tkhd(e),go[t(395)](e))}static[_o(441)](e){const t=_o;let r=e.id,n=e[t(428)],i=e[t(445)],s=e[t(432)];return go[t(392)](go.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static[_o(395)](e){const t=_o;return go[t(392)](go[t(409)][t(395)],go[t(369)](e),go[t(422)](e),go[t(437)](e))}static[_o(369)](e){const t=_o;let r=e.timescale,n=e.duration;return go.box(go[t(409)].mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static[_o(422)](e){const t=_o;let r=null;return r=e[t(386)]===t(388)?go[t(412)][t(446)]:go[t(412)].HDLR_VIDEO,go[t(392)](go[t(409)][t(422)],r)}static minf(e){const t=_o;let r=null;return r=e.type===t(388)?go[t(392)](go[t(409)][t(442)],go[t(412)][t(454)]):go.box(go[t(409)].vmhd,go.constants.VMHD),go[t(392)](go.types[t(437)],r,go.dinf(),go[t(385)](e))}static[_o(423)](){const e=_o;return go[e(392)](go[e(409)][e(423)],go[e(392)](go[e(409)][e(380)],go[e(412)].DREF))}static stbl(e){const t=_o;return go[t(392)](go[t(409)].stbl,go[t(444)](e),go[t(392)](go.types[t(431)],go[t(412)][t(449)]),go[t(392)](go[t(409)][t(374)],go[t(412)][t(411)]),go[t(392)](go[t(409)][t(408)],go[t(412)][t(377)]),go[t(392)](go[t(409)][t(404)],go[t(412)][t(375)]))}static[_o(444)](e){const t=_o;return"audio"===e.type?e[t(371)]===t(426)?go[t(392)](go.types[t(444)],go[t(412)].STSD_PREFIX,go[t(426)](e)):go[t(392)](go[t(409)][t(444)],go[t(412)][t(436)],go.mp4a(e)):e[t(379)]===t(435)?go[t(392)](go[t(409)][t(444)],go.constants[t(436)],go[t(453)](e)):go.box(go[t(409)][t(444)],go.constants[t(436)],go[t(430)](e))}static mp3(e){const t=_o;let r=e[t(396)],n=e[t(438)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return go.box(go[t(409)][t(391)],i)}static[_o(393)](e){const t=_o;let r=e[t(396)],n=e[t(438)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return go[t(392)](go[t(409)].mp4a,i,go[t(397)](e))}static[_o(397)](e){const t=_o;let r=e.config||[],n=r.length,i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5][t(382)]([n])[t(382)](r)[t(382)]([6,1,2]));return go[t(392)](go[t(409)][t(397)],i)}static avc1(e){const t=_o;let r=e[t(439)];const n=e[t(448)],i=e[t(421)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return go[t(392)](go[t(409)][t(453)],s,go.box(go[t(409)][t(434)],r))}static[_o(430)](e){const t=_o;let r=e[t(439)];const n=e[t(448)],i=e[t(421)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return go.box(go[t(409)].hvc1,s,go[t(392)](go[t(409)][t(429)],r))}static[_o(420)](e){const t=_o;return go[t(392)](go.types[t(420)],go[t(424)](e))}static[_o(424)](e){const t=_o;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return go[t(392)](go[t(409)][t(424)],n)}static moof(e,t){const r=_o;return go[r(392)](go[r(409)][r(381)],go[r(401)](e[r(390)]),go[r(418)](e,t))}static mfhd(e){const t=_o;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return go.box(go[t(409)].mfhd,r)}static[_o(418)](e,t){const r=_o;let n=e.id,i=go[r(392)](go[r(409)][r(452)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=go[r(392)](go[r(409)].tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=go[r(394)](e),o=go.trun(e,a[r(417)]+16+16+8+16+8+8);return go.box(go[r(409)][r(418)],i,s,o,a)}static[_o(394)](e){const t=_o;let r=new Uint8Array(5),n=e.flags;return r[4]=n.isLeading<<6|n[t(389)]<<4|n[t(376)]<<2|n.hasRedundancy,go[t(392)](go[t(409)][t(394)],r)}static[_o(402)](e,t){const r=_o;let n=new Uint8Array(28);t+=36,n[r(440)]([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e[r(428)],s=e[r(414)],a=e.flags,o=e[r(399)];return n[r(440)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a[r(387)]<<2|a[r(389)],a[r(376)]<<6|a.hasRedundancy<<4|a[r(456)],0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),go.box(go.types[r(402)],n)}static[_o(405)](e){const t=_o;return go[t(392)](go[t(409)][t(405)],e)}}function bo(e,t){const r=yo();return(bo=function(e,t){return r[e-=369]})(e,t)}go[_o(383)]();var wo=Ao;function So(){var e=["10637bqNpYH","5786168fYbrgw","exports","8236qsihrq","955374PFcfVK","createCommonjsModule","3054033GaVusa","default","__esModule","126850qbjhVU","unwrapExports","7fUekRU","544610pwrDZL","226syoxLQ","232pLllOC","36zHzdPT","32976HAmZtj"];return(So=function(){return e})()}!function(e,t){for(var r=Ao,n=e();;)try{if(752315===-parseInt(r(355))/1*(-parseInt(r(348))/2)+-parseInt(r(358))/3+parseInt(r(349))/4*(-parseInt(r(344))/5)+parseInt(r(356))/6+-parseInt(r(346))/7*(parseInt(r(353))/8)+parseInt(r(350))/9*(parseInt(r(347))/10)+-parseInt(r(352))/11*(-parseInt(r(351))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(So);var Io=Ze[wo(357)]((function(e){var t=wo;e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e[t(354)][t(343)]=!0,e[t(354)][t(342)]=e[t(354)]}));function Ao(e,t){var r=So();return(Ao=function(e,t){return r[e-=342]})(e,t)}function Eo(e,t){const r=ko();return(Eo=function(e,t){return r[e-=331]})(e,t)}function ko(){const e=["buffer","sample_rate","error","2045412GAzZOA","196740fQperZ","105756oTDqWo","3528455XSnwDi","length","3286122NDUtOZ","4iMGlIg","mp3","Invalid MP3 packet, header missing!","22896768ajybrH","280514qVkazE"];return(ko=function(){return e})()}Ze[wo(345)](Io),function(e,t){const r=Eo,n=e();for(;;)try{if(605025===-parseInt(r(340))/1+-parseInt(r(335))/2+-parseInt(r(339))/3+parseInt(r(331))/4*(-parseInt(r(342))/5)+-parseInt(r(344))/6+parseInt(r(341))/7+parseInt(r(334))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ko);const Co=[44100,48e3,32e3,0],xo=[22050,24e3,16e3,0],To=[11025,12e3,8e3,0],Do=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Bo=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Mo=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Uo(e){const t=Eo;if(e[t(343)]<4)return void console[t(338)](t(333));let r=new Uint8Array(e[t(336)]),n=null;if(255!==r[0])return void console[t(338)]("Invalid MP3 packet, first byte != 0xFF ");let i=r[1]>>>3&3,s=(6&r[1])>>1,a=(240&r[2])>>>4,o=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0;switch(i){case 0:u=To[o];break;case 2:u=xo[o];break;case 3:u=Co[o]}switch(s){case 1:a=e[s]&&t=6?(i=5,r=new Array(4),o=s-3):(i=2,r=new Array(2),o=s):-1!==c[t(263)](t(248))?(i=2,r=new Array(2),o=s):(i=5,o=s,r=new Array(4),s>=6?o=s-3:1===a&&(i=2,r=new Array(2),o=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&a)<<3,5===i&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),this.config=r,this[t(262)]=Ho[s],this[t(291)]=s,this.channel_count=a,this[t(231)]=i,this.original_object_type=n,this[t(255)]=t(238)+i,this[t(272)]=t(238)+n}}const Go=Wo;function Wo(e,t){const r=qo();return(Wo=function(e,t){return r[e-=381]})(e,t)}function qo(){const e=["3842VYORvD","6ciMwSE","7901970Ehznwk","readUShort","1215246icptgK","getBits","450OoIAZn","skipBits","readUEG","data","9QyEJkO","readBoolean","5230275xjlvFD","bitsAvailable","skipLZ","1541996KBawLx","readEG","readUInt","skipEG","length","470477sjHPmr","byteLength","index","skipUEG","readUByte","readBits","2874920vziZTC","bitLength"];return(qo=function(){return e})()}!function(e,t){const r=Wo,n=e();for(;;)try{if(712315===parseInt(r(395))/1+-parseInt(r(391))/2*(parseInt(r(397))/3)+-parseInt(r(406))/4+-parseInt(r(403))/5*(parseInt(r(392))/6)+parseInt(r(383))/7+parseInt(r(389))/8+parseInt(r(401))/9*(parseInt(r(393))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qo);class $o{constructor(e){const t=Wo;this[t(400)]=e,this[t(385)]=0,this[t(390)]=8*e[t(384)]}get[Go(404)](){return this.bitLength-this.index}[Go(398)](e){const t=Go;if(this[t(404)]1&&void 0!==arguments[1])||arguments[1];return this[t(396)](e,this[t(385)],r)}getBits(e,t){const r=Go;let n=!(arguments[r(382)]>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,a=8-i;if(a>=e)return n&&(this[r(385)]+=e),s>>a-e;{n&&(this[r(385)]+=a);const i=e-a;return s<>>1:-1*(e>>>1)}[Go(402)](){return 1===this.readBits(1)}[Go(387)](){const e=Go;let t=arguments[e(382)]>0&&void 0!==arguments[0]?arguments[0]:1;return this[e(388)](8*t)}[Go(394)](){return this[Go(388)](16)}[Go(408)](){return this[Go(388)](32)}}function Yo(){var e=["length","1567650JMgzYM","iv is error!","171lZsdCv","397470wjXUJB","sm4 key is error!","1978784SpDHlb","includes","205dsVSLU","log","1MeVzur","44358KgigSn","2361660wgfuZy","890076HJDxQW","ceil","slice","data is error!","6275192qmogPp","byteLength","min","set"];return(Yo=function(){return e})()}function Ko(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=ec,n=e();;)try{if(785258===parseInt(r(287))/1*(parseInt(r(304))/2)+-parseInt(r(290))/3+parseInt(r(289))/4+-parseInt(r(306))/5*(parseInt(r(288))/6)+-parseInt(r(299))/7+parseInt(r(294))/8+parseInt(r(301))/9*(-parseInt(r(302))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Yo);const Xo=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Jo=new Array(2746333894,1453994832,1736282519,2993693404),Qo=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Zo(e,t,r,n,i){var s=ec,a=i;a=t+i>e[s(298)]&&n+i<=r[s(298)]?e.length-t:n+i>r[s(298)]&&t+i<=e.length?r[s(298)]-n:t+i<=e[s(298)]&&n+i<=r.length?i:r.length>24&255,e>>16&255,e>>8&255,255&e)}function rc(e,t){var r=ec;return t+3>>19)^(n<<23|n>>>9)}function sc(e,t){var r=new Array(36);r[0]=rc(t,0),r[1]=rc(t,4),r[2]=rc(t,8),r[3]=rc(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^ac(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=ec,r=new Array(4*e[t(298)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function oc(e,t,r){var n=ec;if(null==e||null==e||e.length%16!=0)return console[n(307)](n(303)),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t[n(298)]%16!=0)return console.log(n(300)),null;for(var i=nc(e),s=Math.ceil(r[n(298)]/16),a=new Array(r.length),o=t[n(292)](),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const a=e[n(295)];let o=5;for(;oa)break;let u=e[o+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(305)](u)):(u&=31,l=1===u||5===u),l){const i=oc(t,r,e[n(292)](o+4+d,o+4+c));e[n(297)](i,o+4+d)}o=o+4+c}return e}const uc=dc;function lc(){const e=["audio","onReady","isAllIframeInBufferList","handleVideoH264Nalu","webglcontextlost","audio_track_","decodeDiffTimestamp","webgl","prevPayloadBufferSize",",\n firstAudioTime is ","sarRatio","AAC: Detected pts overlapped, ","_initPmt","timescale","chroma_format_string","codec_mimetype","98508LuKmmh","writableStream abort() and e.name is AbortError so return","dispatchAudioInitSegment","websocket","flvScriptData","websocket user aborted","mpeg","original_codec_mimetype","toString"," and preTsDuration is ","stringify","getNotDroppingDelayTs","\n decodeVideo dts is less than(or equal) prev dts ,\n dts is ","opt","length","JbPro Worker Version is "," and emit error and next abort()","debugLevel","cts","loas_previous_frame","debugError","pid_stream_type","videoBuffer","prefixSei","prevDts","bitDepth","Audio: Audio Codecs changed from ","removeSourceBuffer","PACKET_TYPE_FRAMESX","isDecodeFirstIIframe","demuxFlv","kSliceSEI","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment"," and mseDecoder.isAvc === null is ","wcsDecodeAudio","entries","hvcC","demuxFmp4","set","string",",\n and emit change event","handleOffscreenCanvasWebglContextRestored",", and ts is ","763335SwLkHL","worker mpeg4Demuxer","_initAudioSourceBuffer",",nalu type is ","headers","draw, decoder is destroyed and return","BIG_ENDIAN"," next data type is ",", stream_id="," and bufferlist is ","program_number","onOffscreenCanvasWebglContextLost","replace","isPlayer","stream_type","stopStreamRateAndStatsInterval","extractH264SEI","getTrackById","setCodecAudio: init audio codec, codeId is ","mediaSource is not attached to video or mediaSource is closed","detectVideoMetadataChange","dispatchVideoMediaSegment","isAAC","videoCode","slices","audioSourceBufferCheckTimeout","ended"," , message is ","mseError","decoder","abortSourceBuffer() abort sourceBuffer","expected_length","isPlayback","initAudio","audioSourceBuffer","simdDecodeError","writableStream","removeSourceBuffer() audioSourceBuffer","handleVideoNalu","remove","nearest_pts","events","fetch done",", syncOffset = ",",\n and prevPayloadBufferSize is ","isSm4Crypto","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is "," and delay is ","videoTrackId","pcmData, decoder is destroyed and return","fetchError","parsePMT","aborted","isDropSameTimestampGop","mseDecoder.audioSourceBuffer.appendBuffer()","sample_rate","ceil","sequenceHeader","playAudio","getAudioBufferLength","end","handleVideoH264Frames"," ,delay is ","updating","audioChannelCount","kSliceSPS","handleOffscreenCanvasWebglContextLost and next try to create webgl"," and is Trial Version[试用版本]","reduce","fetchNext().catch() and e.name is AbortError so return","level_string","_checkTsIsMaxDiff","findIndex","h265 naluList.length === 0","init","VideoDecoder configure has not init , isIframe is ","cancel","parseAC3Payload","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame","mediaSourceBufferError","mseCorrectTimeDuration","AudioDecoder",'socket on message is string "',"samples","total_length","removeSourceBuffer() sourceBuffer","extractH265SEI","webglcontextrestored","samplingRate","protocol","_bindMediaSourceEvents","decodeNext","$video","removeSourceBuffer() audioSourceBuffer error","videoMimeType","channel_mode","parsePES: packet_start_code_prefix should be 1 but with value ","close","_needCleanupSourceBuffer"," and prevPayloadBufferSize is ","decodeVideo() and decoder is destroyed","start","extractNALu","MULAW","kSCTE35","indexOf","_doAppendSegments() sourceBuffer is null and wait init and return","stsd","mseSourceBufferError","parseH264Payload","decodeAudio first frame is not iFrame","_preDoDecode",", and ts list is ","parseSynchronousKLVMetadataPayload","code is ","dispatch","handleVideoH265Frames","seqHeader","mimeType","message","openWebglAlignment","stop"," vs start is ","isIFrame","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","clear"," ms"," cacheTrack dts is ","HEAPU8","_doDecodeAudio","videoBufferDelay","onSamples","pes_private_data_pids","syncOffset","currentTime","kSlicePPS","isKeyframe","delay","decodeAudio","fetchStream, url is ","aac_last_incomplete_data_","fileStart","TAG","abort catch","parseTimedID3MetadataPayload","video_metadata_","wasmWidthOrHeightChange","appendBuffer","loas_aac","fps_num","fetchStream","clearBuffer","firstRenderTime is ","tsPacketSize","open","firstAudioTime","codec_size","dispatchAudioVideoMediaSegment","slice","extractNALu$2","isSm4CryptoH265V2","MediaSource","kEAC3"," ,new bufferList is ","assign","push","streamVideoFps","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","isHevc","Parsed first PMT: ","loop() do not decode and delay is ","sourceOpen"," ant auto wasm decode","streamDts","getBuildTime","request abort and run res.body.cancel()","listenMp4Box","pmt_","updatePlaybackIsPause, isPause is ","preventDefault","ac-3","mseCorrectAudioTimeDuration","hasInitVideoCodec","secondStartCodeOffset","AAC: Unknown pts"," and\n ts is ","playbackRate",", isAacCodecPacket is true","videoSequenceHeader"," and height is ","ec-3","removeEventListener","_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()","VANC","fps","needInitAudio","kSliceNonIDR","smpte2038_pids","shift","handlePESSlice: packet_start_code_prefix should be 1 but with value ","decodeVideo: simd decode error, and return","current_pmt_pid_","_resetInIt","pendingSegments","_decodeAudioConfigurationRecord"," so drop this frame"," and decoder.delay is ","cacheTrack","sar_ratio","clearPlaybackCacheLoop","codec","chroma_format","original_object_type"," and forOldVersion is ","timed_id3_pids","sps","mseWorkerAddSourceBufferError","readyState","calcNetworkDelay","loop() isPushDropping is true and bufferList length is ","sort","isXorCrypto","payload_unit_start_indicator"," ,streamVideoFps is ","decodeAudio\n local dts is < 0 , ts is ","sendWebsocketMessage","code","sampling_frequency"," and payload size is "," and prev ts is ","isDestroyed","TAG_NAME","subarray","_hasPendingRemoveRanges",", not 0x47",",\n and emit change event","h265","codecHeight","webglObj","onSamples() trackId error",", start dts is ","abs",",and old bufferList length is ","setCodecVideo: hasInitVideoCodec is false, codecId is ","setCodecAudio: mp3 is not support for old version","nakedFlowFps","audioBufferSize","playbackConfig","getTime","playbackIsCacheBeforeDecodeForFpsRender","websocketOpen","updateConfig","is_sync","parsePES","decodeVideo first frame is not iFrame","isAvc","audioCode","ts_packet_size","concat","buffered","fetchNext().then() and requestAbort is true so return","fetchStatus","setExtractionOptions",", and hasAudio is ","nakedFlowH265DemuxUseNew","stream_id",", preTs is ","checkFirstIFrame","generateInitSegment","getNearestTimestampMilliseconds","Video: Coded Resolution changed from ","complete","lastBuf"," and isVideoSqeHeader is ","present_size"," and return","asynchronous_klv_pids","decodeVideo is max diff , ts is ","program_pmt_map_",";codecs=","isFmp4","demuxMpeg4","isFlv","demuxTs","debug",", old height is ","mseDecodeAudio"," , payload is "," and tempDelay is ","mediaSourceAudioInitTimeout",'writableStream write() and value is "',"mediaSourceAudioNoDataTimeout","eventListenList","read","streamAbps","stencil","\n isVideoSqeHeader is ","isPlayUseMSEAndDecoderInWorker","frame_rate","setInterval()","onError","has_video_","Opus: SamplingFrequencyIndex changed from ","dispatch naluArray length is 0","_clearAudioNoDataCheckTimeout","streamEnd","_doAppendSegments","audio_init_segment_dispatched_","media_info_","audioSampleRate","parseSPS$2","codedHeight","isTs","\n and replay","random_access_indicator","abortSourceBuffer","firstStartCodeOffset","protocols","profile","playbackCacheLoop","cacheAudioTrack","6506705VRatHD","onopen","renderYUV","parseVideo265Header","parsePPS","isSm4Crypto opt.sm4CryptoKey is null","mseDecoder.mediaSourceAddSourceBufferError is true"," and isIFrame is ","playbackTF","parsePMT: table_id ","dispatchAudioMediaSegment","isPlaybackOnlyDecodeIFrame","units","PACKET_TYPE_SEQ_START","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","networkDelay","status","AAC","write","cryptoIV","workerFetch","width","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","DataStream","initVideo","hasAudio","fetchStream, WebsocketStream socket close and code is ","first_parse_","pes_slice_queues_","current_program_","startTimestamp"," and isDestroyed is true, so return","sync_byte = "," > timestamp is ","writableStream abort() and abortController.signal.aborted is true so return","getSourceBufferUpdating","_clearAudioSourceBufferCheckTimeout","aacSequenceHeader","cryptoKey"," and emit replay","isM7sCrypto",", height: ","firstAudioTime is ","clearSlices","codedWidth","mediaSourceH265NotSupport","kPESPrivateData","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","streamVideoType","fps_den","adts_aac","presentWidth","_doRemoveRanges","endOfStream()"," ,\n and diff is ","mp3Demuxer","mseDecoder.mediaSourceAppendBufferFull is true","sm4CryptoKey"," and mseCorrectTimeDuration is ","close() and writableStream.close() error","floor","isStateEnded","then","mediaSourceTsIsMaxDiff","closeEnd","pushBuffer(), pushLatestDelay is ","sampling_rate","_doAppendSegments() mediaSource is closed or ended and return","mediaSourceAudioG711NotSupport","isRecording","sampling_freq_index","sampleRate","video_track_","demuxFlv() type is video and payload.byteLength is ","Parsed first PAT: ","value","aacADTSHeader","decodeAudio, decoder is destroyed and return","delta","isPlayUseMSE","worker","fetchNext().then() and done is true","mseDecoder.mediaSourceAppendBufferError is true","probe","stbl","pendingAudioSegments","parseVPS","_decodeConfigurationRecord","_doDecodeVideo","kLOASAAC","duration_","audioSampleRateIndex","findSecondStartCode","getUint8","object_type"," and prevTs is ","supportVideoFrameCallbackHandle","Video: Present resolution width changed from ","offscreenCanvasCtx","Generated first AVCDecoderConfigurationRecord for mimeType: ","log","forEach","mdat","AAC: Channel configuration changed from ","prevAudioTs","isMpeg4","ts is ","prevTs",", dts is ","dispatchVideoInitSegment","audio_metadata_","refSampleDuration","error","isWidthOrHeightChanged","yuvData, transferToImageBitmap error is"," and isVideoAndNextAudio is ","parsePAT: table_id ","calcNetworkDelay, dts is ","fetchStream, WebsocketStream socket error","readNextAACFrame","streamAudioFps","removeSourceBuffer() sourceBuffer error","MP3","send","mp4","Not Supported Opus channel count.","dropping","debugLog","closed",", diff time is ",", bufferListLength is ","payload","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","fetchStream, WebsocketStream socket close and requestAbort is true so return"," and prev dts is ","updateend","isAudioInitInfo","sourceClose","playVod","pushLatestDelay","AAC: SamplingFrequencyIndex changed from ","supportMSEDecodeHevc","4733696PEuFtP","readUByte",'video/mp2t; codecs="',"localDts","timescale_","_remainingPacketData","writableStream close() and isPlayVod is true so return","has not init video codec"," and firstRenderTime is ","ac3","init and forHardDecode is ","HEAPF32","presentHeight","playType","MP3: SamplingFrequencyIndex changed from ","pts","firstTimestamp","AC3: Bit Stream Identification changed from "," and nalUnitSize is ","getHandle","getContext","endOfStream","parsePESPrivateDataPayload","parseVideo264Header","isDropping","hasVideo","type","video_init_segment_dispatched_","kSliceIDR","cmd","audioSequenceNumber","mseAutoCleanupMinBackwardDuration","getState","offscreenCanvasGL","width: ","videoTracks","mseFirstRenderTime","data","minf","abortSourceBuffer() abort audioSourceBuffer"," ,\n and now ts is ","demuxNakedFlow"," and next dropBuffer","isFirefox","mp4Box onError","_decodeVideo now time is ","firstRenderTime","isStateOpen","level","audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()","synchronous_klv_pids","streamSuccess","fromCharCode","decodeAudio() and decoder is destroyed","playbackUpdatePlaybackRate","_doCleanUpSourceBuffer","_isEnhancedH265Header","getIncompleteData","timeInit set false , cacheTrack = {} now dts is ","suffixSei","profile_string",",\n and resetAllDelay","dispatchPESPrivateDataDescriptor","KLVA","isSendSeqHeader","AC3: Channel Mode changed from ","fetchStream, WebsocketStream on error and requestAbort is true so return","offscreenCanvas","fetchStream, WebsocketStream socket open","audioCodec","decodeVideo and payload is too small , payload length is ","version_number","pushBuffer audio ts is ","handleVideoH264NaluList","hvcc","offset","setCodecAudio","kH264","streamVbps","streamType","opus","679gpQIVR","sourceBuffer","onmessage","h264","match","parseEAC3Payload","isRecordTypeFlv","getAllocatedSampleDataSize","startPlaybackCacheLoop","handleVideoH264NaluList list size is ","addEventListener","types","audioSourceNoDataCheckTimeout","isPause","demuxM7s() type is video and arrayBuffer length is ","kAC3","details","yuvData, decoder is destroyed and return","parsedOffset","20858048cYtCka",", diff is ","useMSE","demuxFlv() type is audio and payload.byteLength is ","videoInfo","parseADTSAACPayload","videoSEI","simdH264DecodeVideoWidthIsTooLarge","body","doDecode","moof","audioNalu","addSourceBuffer","discontinuity_indicator","map","expected: ","pps","writableStream write() and requestAbort is true so return","decodeVideo: video width or height is changed, and return","meta","demux() isIFrame is false and unit type is IDR and update to true","catch","prevTimestamp","network_pid","fetch().catch() and e is "," more than ","mediaSourceDecoderConfigurationError","state","pushBuffer video and isIFrame is ","fetch().catch() and abortController.signal.aborted is true so return","streamRate","loop demux diff time is ","isWorkerFetch"," > maxDelay ","loop() dropBuffer is dropping and isIFrame ","mseHandle","VideoEncoder","pendingRemoveRanges","isfms","pid","setCodec","kMPEG1Audio","useWCS","mseAutoCleanupMaxBackwardDuration","fetch","playbackCacheLoop fragDuration is ","vcl","onMediaSourceSourceOpen() sourceBuffer is null and next init",", dts=","worker MediaSource","mediaSource"," and maxDiff is ","abort","mseWidthOrHeightChange","dropBuffer$2","calcNetworkDelay now dts:","SMPTE 2038 Metadata: pid=","mp4a.40.","section_slice_queues_","last_pcr_","mediaSourceAppendBufferError","size","Opus","\n decodeVideo: video width or height is changed,\n old width is ","appendBuffer() player is destroyed","parseSection","handlePESSlice","useOffscreen","fetchNext().catch() and abortController.signal.aborted is true so return","visibility","prevAudioDts","handleVideoH265Nalu","cryptoPayloadAudio","videoDecode","HEAPU32","onOffscreenCanvasWebglContextRestored","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","decode","AC3: BitStream Mode changed from ","getContextAttributes","FT_KEY"," an set streamFps is 25","setCodecVideo: init video codec , codecId is ","scte_35_pids","videoMeta","isPlaybackCacheBeforeDecodeForFpsRender","sync_offset","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","locked","getNaluDts","sampling_index","_opt","sequenceNumber","onerror"," and\n ts is ","transferToImageBitmap","hasAudioInit","options","bit_stream_mode","findFirstStartCode","streamFps","checkStreamEnd"," isIFrame is ","refFrames","hasPendingEos","_decodeEnhancedH265Video","getDelay"," and notDroppingDelayTs is ","Webcodecs Video Decoder initSize","handle","_decodeAudio","isNakedFlow","updatePlaybackIsPause","ms and return "," ,\n and diff is ","loop() common dumex delay is -1 ,data.ts is","startStreamRateAndStatsInterval"," ts is ","mseDecoderUseWorker",", isVideoSequenceHeader is true","timeInit","mp4Box","decodeVideo","audio_object_type","needClear",",\n new width is ",", pts=",", options.ts is ","fetchNext().catch() and e is ","LOG_NAME","kADTSAAC","setCodecVideo","appendAudioBuffer"," playbackRate is ","codecWidth","dropBuffer$2() iFrameIndex is ","close() and socket.readyState is ","readBits","fetchNext().then() and abortController.signal.aborted is true so return",",\n diff is ","pat_","_initSourceBuffer","avcC","delay is ","detectAudioMetadataChange","signal","isPushDropping","hasInit","debugUuid","findSei"," is not H264 or H265","isEmitSEI","Malformed PES: PES_packet_length < 3 + PES_header_data_length","clearBuffer,bufferList length is ","videoNalu","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0","isTrusted","bit_stream_identification","Timed ID3 Metadata: pid=","frameRate","socket is null","_getSeqHeader",",local diff is ","eac3","avc","useSIMD","playbackStreamVideoFps","mediaSourceAddSourceBufferError","channel_config","handleAddNaluStartCode"," > ","channelCount","hasIframeInBufferList","decode data type is "," null","stopId","byteLength","program_pmt_pid","aac","audioMeta","video_metadata_changed_","streamEndInner","originalCodec","isWasmMp4","flags",", new height is ","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","flush","vps"," but isSocketError is true , so return","parse","player","common_pids","low_frequency_effects_channel_on","config","tempStream","mediaSourceError","_initSourceBuffer and mseDecoder.isStateOpen is ","decodeVideo: hasInitVideoCodec is false, codecId is ","audioMimeType","streamVideoType is null","AbortError","idle","min","isEmitInfo","debugWarn"," and isNotPushDropping is ","render","socket is not open","h264 naluList.length === 0","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","video","m7sCryptoAudio"," is not corresponded to PAT!"," and packetType is ","getAudioSourceBufferUpdating"," to ","lastBuffer","keyFrame"," and diff is ","handleVideoH265NaluList list size is "," less than bufferStartDts is ","mediaSourceFull","from","fetch response status is ","getUint32","buffering","mediaSource is end","isPlayVod","decodeVideo\n local dts is < 0 , ts is ","isVideoInited","ID3 ","mseDecoder.mediaSourceBufferError is true","sarDen","sendWsMessage","audio_last_sample_pts_","writableStream write() and abortController.signal.aborted is true so return","getDelayNotUpdateDelay() and preDelayTimestamp is ","nakedFlowDemuxUseNew","parseH265Payload"," package length is ","validatedFailed, please contact the author to get the correct license"," and prev time is ","Client disconnecting","hasIncompleteData","974484htyhQP","websocketError","onmessage:"," is not corresponded to PMT!","mdia","now","cryptoPayload","_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","pendingAudioRemoveRanges","writableStream pipeTo() and e is","close() and audioDecoder.clear error","pendingUnits","drawImage","endOfStream() error","height","duration","resetAllDelay","avcc","mseAutoCleanupSourceBuffer","getDelayNotUpdateDelay","kH265","buffer","mpeg4","isStateClosed","decodeVideo, decoder is destroyed and return","videoType","audioAACSequenceHeader","iFrame","emitSectionSlices","kSliceCRA_NUT","mseUpdateVideoTimestamp","createFile"," ,\n and now ts is ","audioTracks","chromaFormat","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","file_position","isInitSegmentDispatched","_doRemoveRanges() audioSourceBuffer error","mp3","_hasPendingSegments","has_audio_"," or cryptoIV.length is ",",\n firstRenderTime is ","channel_count","name","url","mediaSourceAppendBufferFull","Generated first AudioSpecificConfig for mimeType: ","preDelayTimestamp","1469766mnUDnx",", streamAudioFps is ","recordType","worker nakedFlow"," and ok is ","key","close() and videoDecoder.clear error","emitPESSlices","elementary_stream_priority_indicator","destroy","handleVideoFrames","videoCodec","emitError","playbackForwardMaxRateDecodeIFrame","pushBuffer","videoPayload","kMetadata","_doRemoveRanges() sourceBuffer error","workerEnd","audioTrackId","readNextNaluPayload","kSliceIDR_N_LP","setCodecAudio: hasInitAudioCodec is false, codecId is ","demuxFlv() type is ","ms, PES pts: ","calcIframeIntervalTimestamp","VideoDecoder",", set dropping is true"," _opt.sampleRate is ","isCacheBeforeDecodeForFpsRender","dts","MP3: Channel count changed from ",'fetchNext().then() and value "',"parseSMPTE2038MetadataPayload"];return(lc=function(){return e})()}function dc(e,t){const r=lc();return(dc=function(e,t){return r[e-=359]})(e,t)}!function(e,t){const r=dc,n=e();for(;;)try{if(805770===parseInt(r(895))/1+parseInt(r(845))/2+-parseInt(r(988))/3+-parseInt(r(500))/4+parseInt(r(1309))/5+parseInt(r(945))/6*(parseInt(r(581))/7)+-parseInt(r(600))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(lc),Date[uc(850)]||(Date.now=function(){const e=uc;return(new Date)[e(1236)]()}),console.log(uc(960)+Ut+":"+Mt+uc(1055));var hc=pc;function fc(){var e=["4194352ERhLmS","then","7noLpVj","JbPro[❌❌❌][audio wasm]:","547540MwpGLM","366KxCpPQ","14155dqdBRH","216188BvSBJG","4640lBVRpa","3527622DGpjgf","7308884TQaOEQ","9yOcPsy","609vQBFDn"];return(fc=function(){return e})()}function pc(e,t){var r=fc();return(pc=function(e,t){return r[e-=103]})(e,t)}!function(e,t){for(var r=pc,n=e();;)try{if(400897===parseInt(r(111))/1*(parseInt(r(103))/2)+parseInt(r(108))/3*(parseInt(r(104))/4)+parseInt(r(115))/5*(-parseInt(r(114))/6)+-parseInt(r(105))/7+parseInt(r(109))/8*(-parseInt(r(107))/9)+-parseInt(r(113))/10+parseInt(r(106))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fc),s({printErr:function(e){var t=pc;(function(e){const t=Ct;return!(!e||-1===e[t(388)](t(123))&&-1===e[t(388)](t(374))&&-1===e.indexOf(t(129))&&-1===e[t(388)](t(255)))})(e)||console.warn(t(112),e)}})[hc(110)]((e=>{!function(){const e=uc;let t=arguments[e(959)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(959)]>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments[e(959)]>3&&void 0!==arguments[3]&&arguments[3],s=[],a=[],o=null,c=null,u=null,l=null,d=null,h=null,f=!1,p=null,m=null,v=!1,_=!1,y=!!qt(n),g=0,b=0,w=!1,S=null,I=null,A=null,E=[],k=null,C=null,x=0,T=0,D=null,B=null,M=0,U=0,P=!1,F=!1,R=!1,L=null,O=null,z=!1,N=!0,H=0,V=0,j=()=>{const t=e,r=Gt();return{debug:r[t(1272)],debugLevel:r[t(962)],debugUuid:r[t(748)],useOffscreen:r.useOffscreen,useWCS:r.useWCS,useMSE:r[t(602)],videoBuffer:r[t(967)],videoBufferDelay:r.videoBufferDelay,openWebglAlignment:r[t(1108)],playType:r[t(513)],hasAudio:r[t(382)],hasVideo:r.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(908)],playbackIsCacheBeforeDecodeForFpsRender:r[t(1235)][t(924)],sampleRate:0,networkDelay:r.networkDelay,visibility:!0,useSIMD:r.useSIMD,isRecording:!1,recordType:r[t(897)],isNakedFlow:r[t(711)],checkFirstIFrame:r[t(1255)],audioBufferSize:1024,isM7sCrypto:r[t(397)],m7sCryptoAudio:r.m7sCryptoAudio,cryptoKey:r[t(395)],cryptoIV:r.cryptoIV,isSm4Crypto:r[t(1033)],isSm4CryptoH265V2:r.isSm4CryptoH265V2,sm4CryptoKey:r[t(414)],isXorCrypto:r[t(1209)],isHls265:!1,isFlv:r[t(1270)],isFmp4:r[t(1268)],isMpeg4:r[t(462)],isTs:r.isTs,isEmitSEI:r[t(751)],isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(1041)],mseDecodeAudio:r[t(1274)],wcsDecodeAudio:r[t(979)],nakedFlowH265DemuxUseNew:r[t(1252)],mseDecoderUseWorker:r[t(718)],mseAutoCleanupSourceBuffer:r[t(863)],mseAutoCleanupMaxBackwardDuration:r[t(643)],mseAutoCleanupMinBackwardDuration:r[t(531)],mseCorrectTimeDuration:r[t(1068)],mseCorrectAudioTimeDuration:r[t(1169)],nakedFlowDemuxUseNew:r[t(838)],nakedFlowFps:r[t(1233)],supportMSEDecodeHevc:!1,checkStreamEnd:r[t(701)]}};e(636)in self&&(o={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;o[t(1017)]=new VideoDecoder({output:function(e){const r=t;if(Ot(e.createImageBitmap))e.createImageBitmap()[r(419)]((t=>{const n=r;o[n(455)].drawImage(t,0,0,e[n(401)],e[n(1299)]);let i=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:Se[n(807)],buffer:i,delay:X[n(1125)],ts:0},[i]),Ht(e)}));else{o[r(455)][r(857)](e,0,0,e[r(401)],e.codedHeight);let t=o.offscreenCanvas[r(695)]();postMessage({cmd:Se[r(807)],buffer:t,delay:X.delay,ts:0},[t]),Ht(e)}},error:function(e){const r=t;X[r(965)](r(437),"VideoDecoder error: ",e,e.toString())}}),X[t(484)](o[t(1219)],t(1062))},destroy(){const t=e;o.reset(),o[t(1017)]&&o[t(1017)][t(627)]!==t(485)&&(o[t(1017)][t(1085)](),o[t(1017)]=null),X[t(484)](o[t(1219)],"destroy")},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(o[i(747)]){const e=new EncodedVideoChunk({data:t.slice(5),timestamp:r,type:s?Fe.key:Fe[i(435)]});o.decoder[i(677)](e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:Se.videoCode,code:e});const r=new Uint8Array(t);postMessage({cmd:Se[i(906)],buffer:r,codecId:e},[r[i(866)]]);let n=null,s=null;const a=t[i(1146)](5);e===De[i(584)]?(s=gr(a),n={codec:s.codec,description:a}):e===De[i(1224)]&&(s=Jr(a),n={codec:s[i(1198)],description:a}),s&&s[i(734)]&&s[i(1225)]&&(n[i(1299)]=s[i(1225)],n[i(401)]=s[i(734)]),!o[i(804)]&&(X[i(484)]("worker",i(708)),postMessage({cmd:Se.initVideo,w:s[i(734)],h:s[i(1225)]}),o[i(804)]=!0,o[i(567)]=new OffscreenCanvas(s[i(734)],s[i(1225)]),o.offscreenCanvasCtx=o[i(567)][i(520)]("2d"));try{o[i(1017)].configure(n),o[i(747)]=!0}catch(e){X[i(965)]("worker","VideoDecoder configure error",e[i(1214)],e,e.toString()),e[i(953)]()}}else X[i(805)](i(437),i(1063)+s+i(1275)+t[1]+i(1193))},reset(){const t=e;o.hasInit=!1,o.isEmitInfo=!1,o[t(567)]=null,o[t(455)]=null}});let G=function(){const t=e;if(z=!0,c)try{c.abort(),c=null,X[t(484)](t(437),"abort success")}catch(e){c=null,X[t(484)]("worker",t(1131),e)}},W={TAG_NAME:e(898),init(){const t=e;W.lastBuf=null,W.vps=null,W[t(1203)]=null,W.pps=null,W[t(579)]=null,W[t(503)]=0,W[t(856)]={},W.isSendSeqHeader=!1,X[t(484)](W[t(1219)],"init")},destroy(){const t=e;W[t(1260)]=null,W[t(788)]=null,W[t(1203)]=null,W[t(616)]=null,W[t(579)]=null,W[t(503)]=0,W.pendingUnits={},W[t(564)]=!1,X[t(484)](W.TAG_NAME,t(904))},dispatch(t){const r=e,n=new Uint8Array(t);if(X._opt[r(838)]){const e=W.extractNALu$3(n);if(0===e[r(959)])return void X[r(484)](W[r(1219)],r(1291));W[r(905)](e)}else W[r(1147)](n)},getNaluDts(){const t=e,r=X[t(691)][t(1233)];let n=W[t(503)];return W[t(503)]=W[t(503)]+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=X._opt[t(428)],n=X[t(691)][t(1234)];return W.localDts+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,a=t[r(776)],o=0,c=[];for(;s1)for(let e=0;e{const t=r,n=Er(e);n===Ue[t(616)]||n===Ue[t(1203)]?W[t(932)](e):Cr(n)&&i.push(e)})),1===i.length)W[r(932)](i[0]);else if(Dr(i)){const e=Er(i[0]),t=Tr(e);W[r(573)](i,t,e)}else i.forEach((e=>{W[r(932)](e)}))}else if(W[r(579)]===Be[r(1224)])if(X[r(691)][r(1252)]){const e=W[r(769)](t),n=W[r(1090)](e);if(0===n[r(959)])return void X[r(805)]("worker",r(1026),r(1061));const i=[];if(n[r(458)]((e=>{const t=r,n=rn(e);n===Pe[t(616)]||n===Pe.sps||n===Pe[t(788)]?W[t(671)](e):sn(n)&&i[t(1153)](e)})),1===i[r(959)])W[r(671)](i[0]);else if(un(i)){const e=rn(i[0]),t=cn(e);W.handleVideoH265NaluList(i,t,e)}else i[r(458)]((e=>{W[r(671)](e)}))}else rn(t)===Pe.pps?W.extractH265PPS(t):W[r(671)](t)},extractH264PPS(t){const r=e,n=W.handleAddNaluStartCode(t);W[r(1090)](n).forEach((e=>{const t=r;kr(Er(e))?W[t(1004)](e):W[t(932)](e)}))},extractH265PPS(t){const r=e,n=W[r(769)](t);W.extractNALu(n).forEach((e=>{const t=r;nn(rn(e))?W[t(1074)](e):W[t(671)](e)}))},extractH264SEI(t){const r=e,n=W[r(769)](t);W[r(1090)](n)[r(458)]((e=>{W[r(932)](e)}))},extractH265SEI(t){const r=e,n=W[r(769)](t);W[r(1090)](n)[r(458)]((e=>{W[r(671)](e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t[r(959)]+n.length);return i[r(983)](n),i[r(983)](t,n[r(959)]),i},handleVideoH264Nalu(t){const r=e,n=Er(t);switch(n){case Ue[r(1203)]:W[r(1203)]=t;break;case Ue[r(616)]:W[r(616)]=t}if(W[r(564)]){if(W[r(1203)]&&W[r(616)]){const e=wr({sps:W[r(1203)],pps:W.pps}),t=W[r(503)];X[r(677)](e,{type:Ie[r(811)],ts:t,isIFrame:!0,cts:0}),W[r(1203)]=null,W[r(616)]=null}if(Cr(n)){const e=Tr(n),i=W[r(689)](),s=Ir(t,e);W.doDecode(s,{type:Ie[r(811)],ts:i,isIFrame:e,cts:0})}}else if(W[r(1203)]&&W[r(616)]){W.isSendSeqHeader=!0;const e=wr({sps:W[r(1203)],pps:W[r(616)]});X[r(677)](e,{type:Ie.video,ts:0,isIFrame:!0,cts:0}),W.sps=null,W[r(616)]=null}},handleVideoH264NaluList(t,r,n){const i=e;if(W[i(564)]){const e=W[i(689)](),s=Ar(t[i(1056)](((e,t)=>{const r=i,n=Et(e),s=Et(t),a=new Uint8Array(n[r(776)]+s.byteLength);return a[r(983)](n,0),a[r(983)](s,n[r(776)]),a})),r);W[i(609)](s,{type:Ie.video,ts:e,isIFrame:r,cts:0}),X[i(484)](i(437),i(590)+t[i(959)]+" package length is "+s[i(776)]+i(702)+r+",nalu type is "+n+", dts is "+e)}},handleVideoH265Nalu(t){const r=e,n=rn(t);switch(n){case Pe[r(788)]:W.vps=t;break;case Pe[r(1203)]:W[r(1203)]=t;break;case Pe.pps:W[r(616)]=t}if(W[r(564)]){if(W[r(788)]&&W[r(1203)]&&W[r(616)]){const e=Zr({vps:W[r(788)],sps:W[r(1203)],pps:W[r(616)]}),t=W.localDts;X[r(677)](e,{type:Ie.video,ts:t,isIFrame:!0,cts:0}),W[r(788)]=null,W[r(1203)]=null,W[r(616)]=null}if(sn(n)){const e=cn(n),i=W.getNaluDts(),s=en(t,e);W[r(609)](s,{type:Ie[r(811)],ts:i,isIFrame:e,cts:0})}}else if(W[r(788)]&&W.sps&&W[r(616)]){W.isSendSeqHeader=!0;const e=Zr({vps:W.vps,sps:W.sps,pps:W[r(616)]});X[r(677)](e,{type:Ie[r(811)],ts:0,isIFrame:!0,cts:0}),W.vps=null,W[r(1203)]=null,W.pps=null}},handleVideoH265NaluList(t,r,n){const i=e;if(W.isSendSeqHeader){const e=W.getNaluDts(),s=tn(t[i(1056)](((e,t)=>{const r=i,n=Et(e),s=Et(t),a=new Uint8Array(n[r(776)]+s[r(776)]);return a[r(983)](n,0),a[r(983)](s,n[r(776)]),a})),r);W[i(609)](s,{type:Ie.video,ts:e,isIFrame:r,cts:0}),X[i(484)](i(437),i(820)+t.length+i(840)+s[i(776)]+i(702)+r+i(991)+n+i(465)+e)}},doDecode(t,r){const n=e;X[n(1206)](r.ts),r[n(1111)]&&X[n(920)](r.ts),X[n(677)](t,r)},handleVideoFrames(t){const r=e;if(!W[r(405)])for(let e of t)if(W[r(405)]=zt(e),W[r(405)])break;W.streamVideoType?W[r(405)]===Be[r(584)]?W[r(1049)](t):W.streamVideoType===Be[r(1224)]&&W[r(1104)](t):X.debugWarn(r(437),r(905),r(800))},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,a=!1;W[r(856)][r(369)]&&(n=W[r(856)][r(369)],a=W.pendingUnits[r(646)],s=W[r(856)][r(872)],W[r(856)]={});let o={};for(let e of t){if(e.byteLength<4)continue;const t=Er(e);let c=!1,u=t===Ue.kSliceIDR;(t===Ue[r(1184)]||t===Ue[r(528)])&&(o=W[r(523)](e),c=!0),n[r(959)]&&a&&(o.isfms||!c)&&(i.push({units:n,isIFrame:s}),n=[],s=!1,a=!1),n[r(1153)](e),s=s||u,a=a||c}n[r(959)]&&(W[r(856)]={units:n,vcl:a,iFrame:s}),i[r(458)]((e=>{const t=r,n=e[t(369)],i=e[t(1111)];let s=null,a=null;if(n[t(458)]((e=>{const r=t,n=31&e[0];switch(n){case Ue[r(616)]:W[r(616)]=e;break;case Ue.sps:W[r(1203)]=e;break;case Ue[r(976)]:a=e}if(Cr(n)){const t=Et(e);if(s){const e=new Uint8Array(s[r(776)]+t.byteLength);e[r(983)](s,0),e[r(983)](t,s[r(776)]),s=e}else s=t}})),!W[t(564)]&&W[t(1203)]&&W[t(616)]){W[t(564)]=!0;const e=Sr({sps:W[t(1203)],pps:W[t(616)]});X.decode(e,{type:Ie[t(811)],ts:0,isIFrame:!0,cts:0}),W[t(1203)]=null,W[t(616)]=null}if(W[t(564)]){if(W[t(1203)]&&W[t(616)]){const e=Sr({sps:W[t(1203)],pps:W[t(616)]}),r=W[t(503)];X[t(677)](e,{type:Ie[t(811)],ts:r,isIFrame:!0,cts:0}),W.sps=null,W[t(616)]=null}if(s){const e=W[t(689)](),r=Ar(s,i);if(X[t(691)][t(751)]&&a){const r=At(a,!1);postMessage({cmd:Se.videoSEI,buffer:r.payload,ts:e},[r[t(488)][t(866)]])}W[t(609)](r,{type:Ie.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,a=!1;W[r(856)][r(369)]&&(n=W[r(856)][r(369)],a=W[r(856)][r(646)],s=W[r(856)].iFrame,W[r(856)]={});let o={};for(let e of t){if(e[r(776)]<4)continue;const t=rn(e);let c=!1,u=cn(t);sn(t)&&(o=W[r(360)](e),c=!0),n[r(959)]&&a&&(o[r(638)]||!c)&&(i.push({units:n,isIFrame:s}),n=[],s=!1,a=!1),n.push(e),s=s||u,a=a||c}n[r(959)]&&(W.pendingUnits={units:n,vcl:a,iFrame:s}),i.forEach((e=>{const t=r,n=e[t(369)],i=e[t(1111)];let s=null,a=null;if(n[t(458)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Pe[r(616)]:W.pps=e;break;case Pe[r(1203)]:W.sps=e;break;case Pe[r(788)]:W.vps=e;break;case Pe[r(559)]:case Pe.prefixSei:a=e}if(sn(n)){const t=Et(e);if(s){const e=new Uint8Array(s[r(776)]+t[r(776)]);e[r(983)](s,0),e[r(983)](t,s[r(776)]),s=e}else s=t}})),!W.isSendSeqHeader&&W[t(1203)]&&W[t(616)]&&W.vps){W[t(564)]=!0;const e=Zr({sps:W[t(1203)],pps:W[t(616)],vps:W[t(788)]});X.decode(e,{type:Ie[t(811)],ts:0,isIFrame:!0,cts:0}),W[t(1203)]=null,W[t(616)]=null,W[t(788)]=null}if(W[t(564)]){if(W.sps&&W.pps&&W.vps){const e=Zr({sps:W[t(1203)],pps:W[t(616)],vps:W[t(788)]}),r=W[t(503)];X.decode(e,{type:Ie[t(811)],ts:r,isIFrame:!0,cts:0}),W[t(1203)]=null,W[t(616)]=null,W.vps=null}if(s){const e=W[t(689)](),r=tn(s,i);if(X[t(691)][t(751)]&&a){const r=At(a,!0);postMessage({cmd:Se[t(606)],buffer:r[t(488)],ts:e},[r[t(488)][t(866)]])}W.doDecode(r,{type:Ie.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{W.handleVideoNalu(e)}))},parseVideo264Header(t){const r=e,n=new $o(t);return n[r(501)](),{isfms:0===n.readUEG(),sType:n.readUEG()}},parseVideo265Header(t){const r=e,n=new $o(t);return n[r(501)](),{nalType:n[r(737)](6),isfms:0===n[r(737)](1),sType:n[r(737)](3)}}},q={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;q.mp4Box=Sa[t(876)](),q.mp4Box[t(930)]=q[t(930)],q[t(721)][t(1288)]=q.onError,q[t(721)][t(1119)]=q.onSamples,X.debugLog(q[t(729)],t(1062))},destroy(){const t=e;q.mp4Box&&(q[t(721)][t(1109)](),q[t(721)][t(787)](),q[t(721)][t(904)](),q[t(721)]=null),q[t(575)]=0,q[t(1036)]=null,q[t(914)]=null,q[t(1156)]=!1,X.debugLog(q.LOG_NAME,t(904))},_getSeqHeader(t){const r=e,n=q[r(721)][r(1005)](t.id);for(const e of n[r(849)][r(538)][r(441)][r(1095)][r(980)])if(e[r(742)]||e[r(981)]){const t=new Sa.DataStream(void 0,0,Sa[r(380)][r(994)]);let n=[];e.avcC?(e[r(742)].write(t),n=[23,0,0,0,0]):(q[r(1156)]=!0,X[r(1156)]=!0,e[r(981)].write(t),n=[28,0,0,0,0]);const i=new Uint8Array(t[r(866)],8),s=new Uint8Array(n.length+i.length);return s.set(n,0),s.set(i,n[r(959)]),s}return null},onReady(t){const r=e;X[r(484)](q.LOG_NAME,"onReady()");const n=t[r(535)][0],i=t[r(878)][0];if(n){q[r(1036)]=n.id;const e=q[r(761)](n);e&&(X[r(484)](q.LOG_NAME,r(1105)),X[r(722)](e,0,!0,0)),q[r(721)][r(1250)](n.id)}if(i&&X[r(691)][r(382)]){q[r(914)]=i.id;const e=i.audio||{},t=lt[r(1093)](e.sample_rate),n=i[r(1198)][r(1e3)](r(657),"");q[r(721)][r(1250)](i.id);const s=dt({profile:parseInt(n,10),sampleRate:t,channel:e.channel_count});X.debugLog(q[r(729)],r(433)),X[r(1126)](s,0)}q[r(721)][r(1089)]()},onError(t){const r=e;X.debugError(q[r(729)],r(544),t)},onSamples(t,r,n){const i=e;if(t===q[i(1036)]){for(const e of n){const t=e[i(537)],r=e[i(1240)],n=1e3*e.cts/e[i(942)];e.duration,e[i(942)],r&&X[i(920)](n);let s=null;s=q[i(1156)]?tn(t,r):Ar(t,r),X[i(677)](s,{type:Ie[i(811)],ts:n,isIFrame:r,cts:0})}q.mp4Box.removeUsedSamples(t)}else if(t===q.audioTrackId){if(X._opt[i(382)]){for(const e of n){const t=e.data,r=1e3*e[i(963)]/e.timescale;e.duration,e[i(942)];const n=new Uint8Array(t[i(776)]+2);n[i(983)]([175,1],0),n[i(983)](t,2),X[i(677)](n,{type:Ie.audio,ts:r,isIFrame:!1,cts:0})}q[i(721)].removeUsedSamples(t)}}else X.debugWarn(q.LOG_NAME,i(1227),t)},dispatch(t){const r=e;let n=new Uint8Array(t);n[r(866)][r(1129)]=q.offset,q.offset+=n.byteLength,q.mp4Box[r(1135)](n[r(866)])}},$={LOG_NAME:e(989),lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(1062),hasInitVideoCodec:!1,localDts:0,dispatch(t){const r=e,n=new Uint8Array(t);$[r(1090)](n)},destroy(){const t=e;$[t(817)]=new Uint8Array(0),$[t(599)]=0,$[t(1304)]=0,$[t(1171)]=0,$[t(627)]=t(1062),$.hasInitVideoCodec=!1,$.localDts=0,X.debugLog($.LOG_NAME,t(904))},extractNALu(t){const r=e;if(!t||t[r(776)]<1)return void X[r(805)]($[r(729)],"extractNALu() buffer error",t);const n=new Uint8Array($.lastBuffer[r(959)]+t[r(959)]);for(n[r(983)]($[r(817)],0),n[r(983)](new Uint8Array(t),$.lastBuffer[r(959)]),$[r(817)]=n;;){if($[r(627)]===r(1062)){let e=!1;for(;$[r(817)][r(959)]-$[r(599)]>=4;)if(0===$[r(817)][$[r(599)]])if(0===$[r(817)][$[r(599)]+1])if(1===$.lastBuffer[$.parsedOffset+2]){if(182===$[r(817)][$.parsedOffset+3]){$[r(627)]=r(699),$.firstStartCodeOffset=$[r(599)],$[r(599)]+=4,e=!0;break}$[r(599)]++}else $[r(599)]++;else $[r(599)]++;else $[r(599)]++;if(e)continue;break}if("findFirstStartCode"===$.state){let e=!1;for(;$[r(817)][r(959)]-$[r(599)]>=4;)if(0===$[r(817)][$[r(599)]])if(0===$[r(817)][$[r(599)]+1])if(1===$[r(817)][$[r(599)]+2]){if(182===$.lastBuffer[$[r(599)]+3]){$[r(627)]=r(449),$[r(1171)]=$[r(599)],$[r(599)]+=4,e=!0;break}$[r(599)]++}else $[r(599)]++;else $[r(599)]++;else $[r(599)]++;if(e)continue;break}if($[r(627)]===r(449)){if(!($[r(817)][r(959)]-$[r(599)]>0))break;{let e,t=192&$[r(817)][$[r(599)]];e=0==t?$[r(1171)]-14:$[r(1171)];let n,i=0==(192&$[r(817)][$[r(1304)]+4]);if(i){if($.firstStartCodeOffset-14<0)return void X[r(805)]($.LOG_NAME,"firstStartCodeOffset -14 is",$[r(1304)]-14);!$[r(1170)]&&($[r(1170)]=!0,X[r(484)]($[r(729)],r(640)),Q.setCodec(De[r(867)],"",X.getBuildTime())),n=$[r(817)].subarray($[r(1304)]-14,e)}else n=$.lastBuffer[r(1220)]($[r(1304)],e);let s=$[r(689)]();$[r(1170)]?(postMessage({cmd:Se[r(377)],type:ke[r(578)],value:n[r(776)]}),postMessage({cmd:Se[r(377)],type:ke[r(1161)],value:s}),g=s,Q[r(677)](n,i?1:0,s)):X[r(805)]($.LOG_NAME,r(507)),$[r(817)]=$.lastBuffer[r(1220)](e),$.firstStartCodeOffset=0==t?14:0,$[r(599)]=$[r(1304)]+4,$[r(627)]="findFirstStartCode"}}}},getNaluDts(){const t=e;let r=$.localDts;return $[t(503)]=$.localDts+40,r}},Y={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Vo,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:e(929),id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;Y.media_info_=null,Y[t(385)]=null,Y[t(658)]=null,Y[t(1133)]=null,Y[t(467)]=null,Y[t(1128)]=null,Y[t(429)]=null,Y.audio_track_=null,Y._remainingPacketData=null,X.debugLog(Y[t(1219)],t(904))},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n[r(776)]<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(803)](1e3,n.byteLength-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;Y[r(505)]&&(t=ho(Y[r(505)],t),Y[r(505)]=null);let n=t[r(866)];const i=Y.parseChunks(n);i?Y._remainingPacketData=t[r(1220)](i):t[r(959)]1&&(X[n(805)](Y[n(1219)],n(940)+"expected: "+e+n(919)+s+"ms"),s=e)}}let a,o=new yt(t),c=null,u=s;for(;null!=(c=o[n(476)]());){i=1024/c.sampling_frequency*1e3;const e={codec:n(778),data:c};0==Y[n(1295)]?(Y[n(467)]={codec:n(778),audio_object_type:c.audio_object_type,sampling_freq_index:c.sampling_freq_index,sampling_frequency:c[n(1215)],channel_config:c[n(768)]},Y.dispatchAudioInitSegment(e)):Y[n(744)](e)&&(Y[n(367)](),Y[n(947)](e)),a=u;let t=Math[n(417)](u);const r=new Uint8Array(c[n(537)].length+2);r[n(983)]([175,1],0),r[n(983)](c.data,2);let s={payload:r,length:r[n(776)],pts:t,dts:t,type:Ie[n(929)]};Y[n(934)][n(1071)][n(1153)](s),Y[n(934)][n(959)]+=r[n(776)],u+=i}o.hasIncompleteData()&&(Y[n(1128)]=o[n(557)]()),a&&(Y[n(835)]=a)},parseLOASAACPayload(t,r){const n=e;if(Y.has_video_&&!Y.video_init_segment_dispatched_)return;if(Y[n(1128)]){let e=new Uint8Array(t[n(776)]+Y[n(1128)][n(776)]);e[n(983)](Y[n(1128)],0),e.set(t,Y.aac_last_incomplete_data_.byteLength),t=e}let i,s;if(null!=r&&(s=r/Y.timescale_),Y[n(467)][n(1198)]===n(778)){if(null==r&&null!=Y[n(835)])i=1024/Y[n(467)][n(1215)]*1e3,s=Y[n(835)]+i;else if(null==r)return void X.debugWarn(Y.TAG_NAME,"AAC: Unknown pts");if(Y.aac_last_incomplete_data_&&Y.audio_last_sample_pts_){i=1024/Y[n(467)].sampling_frequency*1e3;let e=Y.audio_last_sample_pts_+i;Math[n(1229)](e-s)>1&&(X.debugWarn(Y[n(1130)],n(940)+(n(615)+e+n(919)+s+"ms")),s=e)}}let a,o=new gt(t),c=null,u=s;for(;null!=(c=o[n(476)](Pt(Y[n(964)])?void 0:Y[n(964)]));){Y[n(964)]=c,i=1024/c.sampling_frequency*1e3;const e={codec:n(778),data:c};0==Y[n(1295)]?(Y[n(467)]={codec:n(778),audio_object_type:c[n(723)],sampling_freq_index:c[n(427)],sampling_frequency:c[n(1215)],channel_config:c[n(768)]},Y[n(947)](e)):Y[n(744)](e)&&(Y.dispatchAudioMediaSegment(),Y[n(947)](e)),a=u;let t=Math[n(417)](u);const r=new Uint8Array(c[n(537)][n(959)]+2);r[n(983)]([175,1],0),r[n(983)](c[n(537)],2);let s={payload:r,length:r[n(776)],pts:t,dts:t,type:Ie[n(929)]};Y.audio_track_[n(1071)][n(1153)](s),Y[n(934)][n(959)]+=r[n(776)],u+=i}o[n(844)]()&&(Y[n(1128)]=o[n(557)]()),a&&(Y[n(835)]=a)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(Y[n(1289)]&&!Y[n(527)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],a=[11025,12e3,8e3,0],o=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,h=34;switch(n(884),o){case 0:d=a[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:h=34,n(959);break;case 2:h=33,n(959);break;case 3:h=32,n(959)}const f={};f[n(451)]=h,f[n(1043)]=d,f[n(889)]=l,f.data=t;const p={codec:n(884),data:f};0==Y[n(1295)]?(Y.audio_metadata_={codec:n(884),object_type:h,sample_rate:d,channel_count:l},Y.dispatchAudioInitSegment(p)):Y.detectAudioMetadataChange(p)&&(Y[n(367)](),Y.dispatchAudioInitSegment(p));let m={payload:t,length:t[n(776)],pts:r/Y[n(504)],dts:r/Y[n(504)],type:Ie[n(929)]};Y[n(934)].samples[n(1153)](m),Y[n(934)].length+=t[n(776)]},detectAudioMetadataChange(t){const r=e;if(t[r(1198)]!==Y[r(467)][r(1198)])return X.debugLog(Y[r(1219)],r(971)+(Y[r(467)][r(1198)]+r(816)+t.codec)),!0;if("aac"===t[r(1198)]&&Y[r(467)][r(1198)]===r(778)){const e=t[r(537)];if(e[r(723)]!==Y.audio_metadata_[r(723)])return X[r(484)](Y[r(1219)],"AAC: AudioObjectType changed from "+(Y[r(467)].audio_object_type+r(816)+e.audio_object_type)),!0;if(e[r(427)]!==Y[r(467)][r(427)])return X[r(484)](Y[r(1219)],r(498)+(Y[r(467)][r(427)]+r(816)+e[r(427)])),!0;if(e.channel_config!==Y[r(467)][r(768)])return X[r(484)](Y[r(1219)],r(460)+(Y[r(467)][r(768)]+r(816)+e[r(768)])),!0}else if(t[r(1198)]===r(1168)&&Y.audio_metadata_[r(1198)]===r(1168)){const e=t.data;if(e[r(1215)]!==Y[r(467)][r(1215)])return X[r(484)](Y[r(1219)],"AC3: Sampling Frequency changed from "+(Y[r(467)][r(1215)]+r(816)+e[r(1215)])),!0;if(e[r(757)]!==Y[r(467)].bit_stream_identification)return X[r(484)](Y[r(1219)],r(517)+(Y[r(467)][r(757)]+" to ")+e[r(757)]),!0;if(e[r(698)]!==Y[r(467)][r(698)])return X[r(484)](Y.TAG_NAME,r(678)+(Y.audio_metadata_[r(698)]+r(816)+e[r(698)])),!0;if(e[r(1083)]!==Y[r(467)][r(1083)])return X[r(484)](Y.TAG_NAME,r(565)+(Y[r(467)][r(1083)]+r(816)+e[r(1083)])),!0;if(e.low_frequency_effects_channel_on!==Y[r(467)][r(793)])return X[r(484)](Y[r(1219)],"AC3: Low Frequency Effects Channel On changed from "+(Y.audio_metadata_[r(793)]+r(816)+e[r(793)])),!0}else if(t[r(1198)]===r(580)&&Y[r(467)].codec===r(580)){const e=t[r(619)];if(e[r(1043)]!==Y[r(467)][r(1043)])return X[r(484)](Y[r(1219)],r(1290)+(Y.audio_metadata_[r(1043)]+r(816)+e[r(1043)])),!0;if(e[r(889)]!==Y[r(467)].channel_count)return X[r(484)](Y[r(1219)],"Opus: Channel count changed from "+(Y.audio_metadata_[r(889)]+r(816)+e.channel_count)),!0}else if(t[r(1198)]===r(884)&&Y[r(467)][r(1198)]===r(884)){const e=t[r(537)];if(e.object_type!==Y.audio_metadata_[r(451)])return X[r(484)](Y[r(1219)],"MP3: AudioObjectType changed from "+(Y[r(467)].object_type+r(816)+e.object_type)),!0;if(e[r(1043)]!==Y[r(467)][r(1043)])return X[r(484)](Y[r(1219)],r(514)+(Y[r(467)][r(1043)]+r(816)+e.sample_rate)),!0;if(e.channel_count!==Y[r(467)][r(889)])return X[r(484)](Y[r(1219)],r(926)+(Y[r(467)][r(889)]+" to ")+e[r(889)]),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n[r(526)]=r(929),n.id=Y[r(934)].id,n[r(942)]=1e3,n[r(860)]=Y[r(447)],"aac"===Y[r(467)].codec){let e="aac"===t.codec?t[r(537)]:null,i=new jo(e);n[r(1297)]=i[r(423)],n[r(448)]=i[r(690)],n.channelCount=i[r(889)],n[r(1198)]=i.codec_mimetype,n[r(782)]=i[r(952)],n.config=i[r(794)],n[r(468)]=1024/n.audioSampleRate*n[r(942)],r(374);const s=dt({profile:X[r(691)][r(1274)]?i[r(451)]:i[r(1200)],sampleRate:n[r(448)],channel:n[r(771)]});X[r(1126)](s,0)}else Y.audio_metadata_[r(1198)]===r(1168)||Y.audio_metadata_[r(1198)]===r(1178)||Y[r(467)][r(1198)]===r(580)||Y[r(467)][r(1198)]===r(884)&&(n[r(1297)]=Y[r(467)][r(1043)],n[r(771)]=Y[r(467)][r(889)],n.codec=r(884),n.originalCodec="mp3",n.config=void 0);0==Y[r(1295)]&&X[r(484)](Y[r(1219)],r(893)+n.codec),Y[r(1295)]=!0,Y[r(780)]=!1;let i=Y.media_info_;i[r(382)]=!0,i.audioCodec=n[r(782)],i[r(1297)]=n.audioSampleRate,i[r(1052)]=n.channelCount,i[r(525)]&&i.videoCodec?i.mimeType='video/mp2t; codecs="'+i[r(906)]+","+i.audioCodec+'"':i[r(1106)]=r(502)+i.audioCodec+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s[i(639)]=t,s[i(1002)]=r,s.descriptor=n},parsePESPrivateDataPayload(t,r,n,i,s){const a=e;let o=new zo;if(o[a(639)]=i,o[a(1253)]=s,o.len=t[a(776)],o[a(537)]=t,null!=r){let e=Math[a(417)](r/Y[a(504)]);o[a(515)]=e}else o[a(1028)]=Y[a(1257)]();if(null!=n){let e=Math[a(417)](n/Y[a(504)]);o[a(925)]=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const a=e;X[a(484)](Y[a(1219)],a(758)+i+a(726)+r+a(648)+n+a(996)+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const a=e;X[a(484)](Y.TAG_NAME,"Synchronous KLV Metadata: pid="+i+", pts="+r+a(648)+n+a(996)+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;X[i(484)](Y[i(1219)],"Asynchronous KLV Metadata: pid="+r+i(996)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const a=e;X.debugLog(Y[a(1219)],a(656)+i+a(726)+r+", dts="+n+a(996)+s)},getNearestTimestampMilliseconds(){const t=e;return null!=Y[t(835)]?Math[t(417)](Y.audio_last_sample_pts_):null!=Y[t(659)]?Math[t(417)](Y[t(659)]/300/Y.timescale_):void 0},_preDoDecode(){const t=e,r=Y[t(429)],n=Y[t(934)];let i=r.samples;n[t(1071)][t(959)]>0&&(i=r[t(1071)][t(1246)](n[t(1071)]),i=i[t(1208)](((e,r)=>{const n=t;return e[n(925)]-r[n(925)]}))),i[t(458)]((e=>{const r=t,n=new Uint8Array(e.payload);delete e[r(488)],e[r(526)]===Ie[r(811)]?Y[r(445)]({...e,payload:n}):e.type===Ie[r(929)]&&Y[r(1117)]({...e,payload:n})})),r[t(1071)]=[],r[t(959)]=0,n[t(1071)]=[],n[t(959)]=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t[r(488)]);let i=null;i=t[r(1156)]?tn(n,t[r(1111)]):Ar(n,t[r(1111)]),t[r(1111)]&&X[r(920)](t.dts);let s=X[r(851)](i,t.isIFrame);X[r(677)](s,{type:Ie[r(811)],ts:t[r(925)],isIFrame:t[r(1111)],cts:t.cts})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(488)]);let i=n;qt(X[r(691)][r(812)])&&(i=X[r(672)](n)),X[r(677)](i,{type:Ie.audio,ts:t[r(925)],isIFrame:!1,cts:0})}},K=null;Yt()&&(K={TAG_NAME:e(649),_resetInIt(){const t=e;K.isAvc=null,K[t(1010)]=null,K[t(604)]={},K[t(684)]={},K[t(779)]={},K[t(582)]=null,K[t(1022)]=null,K.hasInit=!1,K[t(696)]=!1,K.isAudioInitInfo=!1,K.videoMimeType="",K[t(799)]="",K.cacheTrack={},K[t(1308)]={},K.timeInit=!1,K[t(692)]=0,K[t(530)]=0,K[t(546)]=null,K.firstAudioTime=null,K.mediaSourceAppendBufferFull=!1,K[t(660)]=!1,K[t(767)]=!1,K.mediaSourceBufferError=!1,K[t(796)]=!1,K[t(622)]=null,K[t(935)]=null,K[t(969)]=null,K[t(670)]=null,K.prevPayloadBufferSize=0,K[t(470)]=!1,K[t(464)]=null,K.prevAudioTs=null,K.eventListenList=[],K.pendingRemoveRanges=[],K[t(1191)]=[],K.pendingAudioRemoveRanges=[],K.pendingAudioSegments=[],K[t(453)]=null,K[t(1013)]=null,K.audioSourceNoDataCheckTimeout=null,K[t(704)]=!1,K[t(1080)]={currentTime:0,readyState:0}},init(){const t=e;K.events=new vo,K._resetInIt(),K[t(650)]=new(self[t(1149)]),K[t(974)]=!!$t(X[t(691)][t(1255)]),K[t(1078)](),X[t(484)](K[t(1219)],"init")},destroy(){const t=e;K[t(1109)](),K[t(393)](),K[t(1280)]&&K[t(1280)][t(959)]&&(K[t(1280)][t(458)]((e=>e())),K.eventListenList=[]),K[t(1190)](),K[t(650)]=null,X[t(484)](K.TAG_NAME,t(904))},getState(){const t=e;return K[t(650)]&&K[t(650)][t(1205)]},isStateOpen(){const t=e;return K[t(532)]()===Le[t(1142)]},isStateClosed:()=>K.getState()===Le.closed,isStateEnded(){const t=e;return K[t(532)]()===Le[t(1014)]},_bindMediaSourceEvents(){const t=e,{proxy:r}=K[t(1029)],n=r(K.mediaSource,Oe[t(1159)],(()=>{const e=t;X[e(484)](K[e(1219)],e(1159)),K._onMediaSourceSourceOpen()})),i=r(K[t(650)],Oe[t(495)],(()=>{const e=t;X[e(484)](K[e(1219)],"sourceClose")})),s=r(K[t(650)],Oe.sourceended,(()=>{X[t(484)](K.TAG_NAME,"sourceended")}));K[t(1280)][t(1153)](n,i,s)},_onMediaSourceSourceOpen(){const t=e;!K[t(582)]&&(X[t(484)](K[t(1219)],t(647)),K._initSourceBuffer()),!K[t(1022)]&&(X[t(484)](K.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),K[t(990)]()),K[t(885)]()&&K[t(1294)]()},decodeVideo(t,r,n,i){const s=e;if(X[s(1218)])X[s(805)](K[s(1219)],s(1088));else if($t(K[s(747)]))if(n&&t[1]===He[s(1045)]){const e=15&t[0];if(e===De[s(1224)]&&$t(X[s(691)][s(499)]))return void K[s(907)](xe[s(402)]);K[s(604)][s(1198)]=e,postMessage({cmd:Se[s(1011)],code:e});const i=new Uint8Array(t);postMessage({cmd:Se[s(906)],buffer:i,codecId:e},[i[s(866)]]),K[s(747)]=K[s(444)](t,r,n,e)}else X[s(805)](K[s(1219)],"decodeVideo has not init , isIframe is "+n+s(1275)+t[1]+" so drop this frame");else if(!K[s(974)]&&n&&(K[s(974)]=!0),K[s(974)]){if(n&&0===t[1]){const e=15&t[0];let r={};e===De[s(584)]?r=gr(t[s(1146)](5)):e===De[s(1224)]&&(r=Xr(t));const n=K[s(604)];n&&n[s(378)]&&n[s(859)]&&r&&r.codecWidth&&r[s(1225)]&&(r[s(734)]!==n[s(378)]||r[s(1225)]!==n[s(859)])&&(X[s(805)](K[s(1219)],s(663)+n[s(378)]+s(1273)+n[s(859)]+s(725)+r.codecWidth+", new height is "+r[s(1225)]+s(985)),K.isWidthOrHeightChanged=!0,K[s(907)](xe[s(653)],s(534)+n[s(378)]+"->"+r[s(734)]+s(398)+n[s(859)]+"->"+r[s(1225)]))}if(K[s(470)])return void X[s(805)](K[s(1219)],s(618));if(Wt(t))return void X.debugLog(K[s(1219)],"decodeVideo and payload is video sequence header so drop this frame");if(t[s(776)]K[e(464)]>0&&t_e,_decodeConfigurationRecord(t,r,n,i){const s=e;let a=t[s(1146)](5),o={};if(i===De[s(584)]?o=gr(a):i===De[s(1224)]&&(o=Jr(a)),K[s(604)][s(378)]=o.codecWidth,K.videoInfo.height=o[s(1225)],0===o[s(734)]&&0===o[s(1225)])return X[s(805)](K.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(o)),K[s(907)](xe[s(626)],"width is "+(0===o[s(734)])+s(1177)+o[s(1225)]),!1;const c={id:We[s(811)],type:s(811),timescale:1e3,duration:0,avcc:a,codecWidth:o[s(734)],codecHeight:o[s(1225)],videoType:o[s(870)]},u=go[s(1256)](c);K[s(1243)]=i===De[s(584)];let l=o[s(1198)];return K[s(1082)]=l?'video/mp4; codecs="'+o.codec+'"':K[s(1243)]?Re[s(764)]:Re.hev,postMessage({cmd:Se[s(381)],w:o[s(734)],h:o.codecHeight}),K[s(741)](),K[s(1135)](u[s(866)]),K[s(692)]=0,K[s(1195)]={},K[s(720)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,a=i===Me.MP3,o=i===Me.AAC;if($t(o||a))return X[n(805)](K[n(1219)],"_decodeAudioConfigurationRecord audio codec is not support , codecId is "+i+n(1160)),K[n(907)](xe[n(425)]),!1;const c={id:We[n(929)],type:n(929),timescale:1e3};let u={};if(ht(t)){if(u=_t(t[n(1146)](2)),!u)return!1;c[n(1297)]=u[n(428)],c[n(771)]=u[n(771)],c[n(794)]=u[n(794)],c[n(468)]=1024/c[n(1297)]*c[n(942)]}else{if(!a)return!1;if(u=Uo(t),!u)return!1;c.audioSampleRate=u[n(1076)],c[n(771)]=u[n(771)],c[n(468)]=1152/c[n(1297)]*c[n(942)]}c[n(1198)]=u[n(1198)],c[n(860)]=0;let l=n(481),d=u[n(1198)],h=null;a&&$t(X[n(691)][n(543)])?(l=n(951),d="",h=new Uint8Array):h=go[n(1256)](c);let f=c[n(526)]+"/"+l;return d&&d[n(959)]>0&&(f+=n(1267)+d),$t(K[n(494)])&&(O=i===Me[n(374)]?s?16:8:0===s?8:16,postMessage({cmd:Se.audioCode,code:i}),postMessage({cmd:Se[n(1021)],sampleRate:c.audioSampleRate,channels:c[n(771)],depth:O}),K[n(494)]=!0),K[n(799)]=f,K[n(1010)]=o,K[n(990)](),K[n(732)](h[n(866)]),!0},_initSourceBuffer(){const t=e,{proxy:r}=K[t(1029)];if(null===K[t(582)]&&null!==K[t(650)]&&K[t(547)]()&&K[t(1082)]){try{X[t(484)](K[t(1219)],t(852),K[t(1082)]),K[t(582)]=K[t(650)][t(612)](K.videoMimeType)}catch(e){return X.debugError(K[t(1219)],t(1180),e[t(1214)],e.toString(),e),K[t(907)](xe[t(1204)],e[t(1214)]),void(K[t(767)]=!0)}if(K[t(582)]){const e=r(K[t(582)],t(469),(e=>{const r=t;K[r(1067)]=!0,X[r(965)](K.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),K.emitError(xe[r(1096)],e[r(1214)])})),n=r(K[t(582)],t(493),(()=>{const e=t;K._hasPendingRemoveRanges()?K._doRemoveRanges():K[e(885)]()?K._doAppendSegments():K.hasPendingEos&&(X[e(484)](K[e(1219)],e(379)),K[e(521)]())}));K.eventListenList[t(1153)](e,n)}}else X[t(484)](K.TAG_NAME,t(797)+K[t(547)]()+t(978)+(null===K[t(1243)]))},_initAudioSourceBuffer(){const t=e,{proxy:r}=K[t(1029)];if(null===K[t(1022)]&&null!==K[t(650)]&&K[t(547)]()&&K[t(799)]){try{X[t(484)](K[t(1219)],"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",K[t(799)]),K[t(393)](),K[t(1022)]=K.mediaSource[t(612)](K[t(799)])}catch(e){return X[t(965)](K.TAG_NAME,t(404),e[t(1214)],e[t(953)](),e),K[t(907)](xe[t(1204)],e[t(1214)]),void(K[t(767)]=!0)}if(K[t(1022)]){const e=r(K[t(1022)],t(469),(e=>{const r=t;K[r(1067)]=!0,X[r(965)](K[r(1219)],"mseSourceBufferError mseDecoder.audioSourceBuffer",e[r(1214)],e[r(953)](),e),K.emitError(xe[r(1096)],e[r(1214)])})),n=r(K[t(1022)],"updateend",(()=>{const e=t;K[e(1221)]()?K[e(409)]():K[e(885)]()?K[e(1294)]():K[e(704)]&&(X.debugLog(K[e(1219)],e(549)),K[e(521)]())}));K[t(1280)].push(e,n),null===K.audioSourceNoDataCheckTimeout&&(K.audioSourceNoDataCheckTimeout=setTimeout((()=>{const e=t;K[e(1292)](),K[e(907)](xe[e(1279)])}),1e3))}}else X[t(484)](K[t(1219)],"_initAudioSourceBuffer and mseDecoder.isStateOpen is "+K[t(547)]()+" and mseDecoder.audioMimeType is "+K[t(799)])},_decodeVideo(t,r,n,i,s){const a=e;let o=t[a(1146)](5),c=o[a(776)];if(0===c)return void X[a(805)](K[a(1219)],"_decodeVideo payload bytes is 0 and return");let u=(new Date)[a(1236)](),l=!1;!K[a(622)]&&(K[a(622)]=u,l=!0);const d=u-K[a(622)];if(K.decodeDiffTimestamp=d,d>1e3&&!l&&X[a(1001)]&&X.debugLog(K[a(1219)],a(545)+u+a(842)+K.prevTimestamp+a(486)+d+a(1114)),K.cacheTrack.id&&r>=K.cacheTrack.dts){let e=8+K.cacheTrack.size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[a(983)](go[a(592)].mdat,4),t[a(983)](K.cacheTrack.data,8),K.cacheTrack[a(860)]=r-K.cacheTrack[a(925)];let n=go[a(610)](K[a(1195)],K[a(1195)].dts);K[a(1195)]={};let i=new Uint8Array(n[a(776)]+t[a(776)]);i.set(n,0),i[a(983)](t,n[a(776)]),K[a(1135)](i[a(866)])}else X[a(484)](K[a(1219)],a(558)+r+a(987)+s+a(1115)+(K[a(1195)]&&K[a(1195)][a(925)])),K[a(720)]=!1,K[a(1195)]={};!K[a(1195)]&&(K[a(1195)]={}),K[a(1195)].id=We[a(811)],K[a(1195)][a(692)]=++K[a(692)],K[a(1195)][a(661)]=c,K.cacheTrack.dts=r,K[a(1195)].cts=i,K[a(1195)][a(1124)]=n,K[a(1195)].data=o,K[a(1195)][a(784)]={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},K[a(622)]=(new Date)[a(1236)]()},_decodeAudio(t,r,n){const i=e;let s=K[i(1010)]?t[i(1146)](2):t.slice(1),a=s.byteLength;if(K[i(1308)].id&&r>=K[i(1308)][i(925)]){let e=8+K[i(1308)][i(661)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[i(983)](go[i(592)][i(459)],4),t[i(983)](K[i(1308)][i(537)],8),K[i(1308)].duration=r-K[i(1308)][i(925)];let n=go.moof(K[i(1308)],K[i(1308)][i(925)]);K.cacheAudioTrack={};let s=new Uint8Array(n[i(776)]+t[i(776)]);s.set(n,0),s.set(t,n[i(776)]),K[i(732)](s[i(866)])}else K[i(1308)]={};!K[i(1308)]&&(K[i(1308)]={}),K.cacheAudioTrack.id=We[i(929)],K.cacheAudioTrack[i(692)]=++K.audioSequenceNumber,K[i(1308)][i(661)]=a,K[i(1308)][i(925)]=r,K[i(1308)].cts=0,K.cacheAudioTrack.data=s,K[i(1308)][i(784)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;X[r(1218)]?X[r(805)](K[r(1219)],r(664)):K.mediaSourceAddSourceBufferError?X[r(805)](K[r(1219)],r(363)):K[r(892)]?X[r(805)](K[r(1219)],r(413)):K[r(660)]?X.debugWarn(K[r(1219)],r(439)):K[r(1067)]?X[r(805)](K[r(1219)],r(832)):(K.pendingSegments.push(t),K[r(582)]&&(X[r(691)][r(863)]&&K[r(1086)]()&&K[r(555)](),$t(K[r(392)]())&&K[r(547)]()&&$t(K._hasPendingRemoveRanges()))?K[r(1294)]():K[r(868)]()?(K[r(1067)]=!0,K[r(907)](xe[r(1096)],"mediaSource is not attached to video or mediaSource is closed")):K.isStateEnded()&&(K[r(1067)]=!0,K[r(907)](xe[r(1096)],r(827))))},appendAudioBuffer(t){const r=e;X.isDestroyed?X[r(805)](K[r(1219)],"appendAudioBuffer() player is destroyed"):K[r(767)]?X.debugWarn(K[r(1219)],"mseDecoder.mediaSourceAddSourceBufferError is true"):K[r(892)]?X[r(805)](K[r(1219)],"mseDecoder.mediaSourceAppendBufferFull is true"):K.mediaSourceAppendBufferError?X[r(805)](K[r(1219)],r(439)):K[r(1067)]?X[r(805)](K[r(1219)],"mseDecoder.mediaSourceBufferError is true"):(K.pendingAudioSegments[r(1153)](t),K[r(1022)]&&(X[r(691)][r(863)]&&K[r(1086)]()&&K[r(555)](),$t(K[r(815)]())&&K[r(547)]()&&$t(K[r(1221)]()))?K[r(1294)]():K.isStateClosed()?(K[r(1067)]=!0,K[r(907)](xe[r(1096)],r(1007))):K[r(418)]()&&(K.mediaSourceBufferError=!0,K.emitError(xe.mseSourceBufferError,r(827))))},getSourceBufferUpdating(){const t=e;return K[t(582)]&&K[t(582)][t(1051)]},getAudioSourceBufferUpdating(){const t=e;return K[t(1022)]&&K[t(1022)][t(1051)]},stop(){const t=e;K[t(1303)](),K[t(972)](),K[t(521)]()},clearUpAllSourceBuffer(){const t=e;if(K[t(582)]){const e=K.sourceBuffer[t(1247)];for(let r=0;r0||K[t(442)].length>0},getPendingSegmentsLength(){const t=e;return K[t(1191)][t(959)]},_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(K[t(868)]()||K[t(418)]())X[t(484)](K[t(1219)],t(424));else if(null!==K[t(582)]){if(K[t(1183)]()&&null===K[t(1022)])return X[t(484)](K[t(1219)],t(371)),void(null===K[t(1013)]&&(K[t(1013)]=setTimeout((()=>{const e=t;K[e(393)](),K[e(907)](xe[e(1277)])}),1e3)));if($t(K.getSourceBufferUpdating())&&K[t(1191)][t(959)]>0){const e=K[t(1191)][t(1186)]();try{K.sourceBuffer[t(1135)](e)}catch(e){X[t(965)](K.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e[t(1214)],e),22===e[t(1214)]?(K[t(1109)](),K[t(892)]=!0,K.emitError(xe[t(822)],t(1102)+e[t(1214)]+t(1015)+e[t(1107)])):11===e[t(1214)]?(K[t(1109)](),K.mediaSourceAppendBufferError=!0,K[t(907)](xe[t(660)],t(1102)+e[t(1214)]+" , message is "+e.message)):(K[t(1109)](),K[t(1067)]=!0,K[t(907)](xe[t(1096)],t(1102)+e.code+t(1015)+e[t(1107)]))}}if($t(K[t(815)]())&&K[t(442)][t(959)]>0){const e=K[t(442)][t(1186)]();try{K[t(1022)][t(1135)](e)}catch(e){X[t(965)](K[t(1219)],t(1042),e[t(1214)],e),22===e[t(1214)]?(K[t(1109)](),K[t(892)]=!0,K.emitError(xe[t(822)],t(1102)+e[t(1214)]+t(1015)+e.message)):11===e[t(1214)]?(K[t(1109)](),K[t(660)]=!0,K[t(907)](xe[t(660)],t(1102)+e[t(1214)]+t(1015)+e[t(1107)])):(K.stop(),K[t(1067)]=!0,K[t(907)](xe[t(1096)],e[t(1214)],"code is "+e[t(1214)]+" , message is "+e.message))}}}else X[t(484)](K[t(1219)],t(1094))},_doCleanUpSourceBuffer(){const t=e,r=K[t(1080)][t(1122)];if(K[t(582)]){const e=K[t(582)][t(1247)];let n=!1;for(let i=0;i=X[t(691)][t(643)]){n=!0;let e=r-X[t(691)][t(531)];K[t(637)].push({start:s,end:e})}}else a=X[t(691)].mseAutoCleanupMaxBackwardDuration){n=!0;let e=r-X[t(691)][t(531)];K[t(853)][t(1153)]({start:s,end:e})}}else a0||K.pendingAudioRemoveRanges[t(959)]>0},needInitAudio(){const t=e;return X[t(691)].hasAudio&&X[t(691)].mseDecodeAudio},_doRemoveRanges(){const t=e;if(K[t(582)]&&$t(K.getSourceBufferUpdating())){let e=K.pendingRemoveRanges;for(;e[t(959)]&&$t(K[t(392)]());){let r=e[t(1186)]();try{K[t(582)][t(1027)](r[t(1089)],r[t(1048)])}catch(e){X[t(805)](K[t(1219)],t(912),e,e[t(953)]())}}}if(K[t(1022)]&&$t(K[t(815)]())){let e=K[t(853)];for(;e[t(959)]&&$t(K[t(815)]());){let r=e[t(1186)]();try{K[t(1022)][t(1027)](r.start,r[t(1048)])}catch(e){X[t(805)](K[t(1219)],t(883),e,e[t(953)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if($t(X[t(691)][t(863)]))return!1;const r=K[t(1080)].currentTime;if(K[t(582)]){let e=K.sourceBuffer.buffered;if(e[t(959)]>=1&&r-e[t(1089)](0)>=X[t(691)][t(643)])return!0}if(K[t(1022)]){let e=K[t(1022)][t(1247)];if(e.length>=1&&r-e.start(0)>=X[t(691)][t(643)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){const t=e;K.audioSourceBufferCheckTimeout&&(clearTimeout(K[t(1013)]),K[t(1013)]=null)},_clearAudioNoDataCheckTimeout(){const t=e;K.audioSourceNoDataCheckTimeout&&(clearTimeout(K[t(593)]),K[t(593)]=null)},getHandle(){const t=e;return K[t(650)][t(709)]},emitError(t){const r=e;let n=arguments[r(959)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:Se[r(1016)],value:t,msg:n})}});let X={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Ge[e(802)],_opt:j(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){X.stopStreamRateAndStatsInterval(),d=setInterval((()=>{const e=dc;l&&l(0);const t=JSON.stringify({demuxBufferDelay:X.getVideoBufferLength(),audioDemuxBufferDelay:X[e(1047)](),streamBufferByteLength:X.getStreamBufferLength(),netBuf:X.networkDelay||0,pushLatestDelay:X[e(497)]||0,latestDelay:X[e(1125)],isStreamTsMoreThanLocal:w,wasmDecodeDelay:g-b});postMessage({cmd:Se[e(377)],type:ke.streamStats,value:t})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return X._opt[t(667)]&&"undefined"!=typeof OffscreenCanvas},getDelay:function(t,r){const n=e;if(!t||X[n(691)].hasVideo&&!y)return-1;if(r===Ie.audio)return X[n(1125)];if(X[n(894)]&&X.preDelayTimestamp>t)return X[n(894)]-t>1e3&&X[n(805)]("worker","getDelay() and preDelayTimestamp is "+X[n(894)]+n(390)+t+n(625)+(X[n(894)]-t)+n(713)+X.delay),X[n(894)]=t,X[n(1125)];if(X.firstTimestamp){if(t){const e=Date[n(850)]()-X[n(387)],r=t-X[n(516)];e>=r?(w=!1,X[n(1125)]=e-r):(w=!0,X[n(1125)]=r-e)}}else X.firstTimestamp=t,X[n(387)]=Date[n(850)](),X[n(1125)]=-1;return X[n(894)]=t,X[n(1125)]},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||X[n(691)][n(525)]&&!y)return-1;if(r===Ie[n(929)])return X[n(497)];if(X.preDelayTimestamp&&X[n(894)]-t>1e3)return X.debugWarn("worker",n(837)+X[n(894)]+n(390)+t+n(625)+(X[n(894)]-t)+"ms and return -1"),-1;if(X[n(516)]){let e=-1;if(t){const r=Date[n(850)]()-X[n(387)],i=t-X.firstTimestamp;r>=i?(w=!1,e=r-i):(w=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;X.firstTimestamp=null,X[t(387)]=null,X[t(1125)]=-1,X[t(483)]=!1},resetAllDelay:function(){X.resetDelay(),X.preDelayTimestamp=null},doDecode:function(t){const r=e;X[r(691)][r(751)]&&t.type===Ie[r(811)]&&X[r(632)]&&X[r(749)](t.payload,t.ts),X[r(1285)]()?t[r(526)]===Ie[r(929)]?X[r(691)].mseDecodeAudio?K[r(1126)](t[r(488)],t.ts):t[r(1017)][r(677)](t[r(488)],t.ts):t[r(526)]===Ie[r(811)]&&K[r(722)](t[r(488)],t.ts,t[r(1111)],t.cts):X[r(691)][r(642)]&&X[r(667)]()&&t[r(526)]===Ie[r(811)]&&o[r(677)]?o[r(677)](t[r(488)],t.ts,t[r(963)]):t[r(1017)].decode(t.payload,t.ts,t[r(1111)],t[r(963)])},decodeNext(t){const r=e;if(0===s.length)return;const i=t.ts,a=s[0],o=t[r(526)]===Ie[r(811)]&&Wt(t[r(488)]);if($t(n))o&&(X[r(484)]("worker","decode data type is "+t[r(526)]+r(694)+i+r(995)+a[r(526)]+r(717)+a.ts+r(1284)+o),s[r(1186)](),X[r(609)](a));else{const e=a.ts-i,n=a.type===Ie[r(929)]&&t[r(526)]===Ie.video;(e<=20||n||o)&&(X[r(484)]("worker",r(773)+t.type+r(694)+i+r(995)+a[r(526)]+r(717)+a.ts+"\n diff is "+e+r(472)+n+r(1261)+o),s.shift(),X[r(609)](a))}},init:function(){const t=e;X[t(484)](t(437),t(510)+n+t(1201)+i+" and opt is",JSON[t(955)](X._opt));const r=X[t(691)][t(513)]===se[t(791)],a=X[t(691)][t(513)]===se[t(365)],c=X._opt[t(513)]===se[t(496)];if(W[t(1062)](),X[t(1001)]=r,X.isPlayback=a,X.isPlayVod=c,X[t(1285)]()&&K&&K[t(1062)](),o&&X[t(691)][t(642)]&&X[t(667)]()&&o[t(1062)](),$t(X.isPlaybackCacheBeforeDecodeForFpsRender())||X[t(828)]){X[t(484)](t(437),t(1287));const e=()=>{const e=t,n=X[e(691)][e(967)]+X[e(691)][e(1118)];let i=null;if(s[e(959)]){if(X[e(746)])return void X[e(805)](e(437),e(1207)+s[e(959)]);if(X[e(483)]){for(i=s[e(1186)](),X.debugWarn(e(437),e(634)+i[e(1111)]+e(1035)+X[e(1125)]+e(997)+s[e(959)]);!i[e(1111)]&&s[e(959)];)i=s.shift();const t=X.getDelayNotUpdateDelay(i.ts,i[e(526)]);i[e(1111)]&&t<=X[e(956)]()&&(X.debugLog("worker","loop() is dropping = false, is iFrame"),X[e(483)]=!1,X[e(609)](i),X[e(1079)](i))}else if(X.isPlayback||X[e(436)]()||0===X[e(691)][e(967)]||X[e(828)])for(;s[e(959)];)i=s[e(1186)](),X.doDecode(i);else if(i=s[0],-1===X[e(706)](i.ts,i.type))X.debugLog("worker",e(715),i.ts),s.shift(),X[e(609)](i),X[e(1079)](i);else if(X.delay>n&&r)X.hasIframeInBufferList()?(X[e(484)](e(437),e(743)+X[e(1125)]+e(633)+n+e(922)),X[e(861)](),X[e(483)]=!0,postMessage({cmd:Se[e(524)]})):(s.shift(),X[e(609)](i),X[e(1079)](i));else for(;s[e(959)];){if(i=s[0],!(X[e(706)](i.ts,i[e(526)])>X[e(691)][e(967)])){X[e(1125)]<0&&X[e(805)](e(437),e(1158)+X[e(1125)]+", bufferList is "+s.length);break}s[e(1186)](),X[e(609)](i)}}else-1!==X[e(1125)]&&X[e(484)](e(437),"loop() bufferList is empty and reset delay"),X[e(861)]()};X[t(775)]=setInterval((()=>{const r=t;let n=(new Date).getTime();!S&&(S=n);const i=n-S;i>100&&X[r(805)](r(437),r(631)+i),e(),S=(new Date).getTime()}),20)}else X[t(484)](t(437),"playback and playbackIsCacheBeforeDecodeForFpsRender is true");if($t(X[t(691)].checkFirstIFrame)&&(y=!0),X[t(1285)]()&&K){const e=K[t(519)]();e&&postMessage({cmd:Se[t(635)],mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;X[t(1197)]();const r=()=>{const e=t;let r=null;s[e(959)]&&(r=s[e(1186)](),X.doDecode(r))};r();const n=Math[t(1044)](1e3/(X.streamFps*X[t(691)].playbackRate));X.debugLog(t(437),t(645)+n+", streamFps is "+X.streamFps+t(896)+X[t(477)]+t(1211)+X[t(1154)]+t(733)+X._opt[t(1174)]),X[t(775)]=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;X[t(775)]&&(clearInterval(X[t(775)]),X[t(775)]=null)},startPlaybackCacheLoop:function(){X[e(1307)]()},close:function(){const t=e;if(X[t(484)](t(437),t(1085)),X[t(1218)]=!0,G(),!u||1!==u[t(1205)]&&2!==u[t(1205)]?u&&X[t(484)](t(437),t(736)+u[t(1205)]):(z=!0,u[t(1085)](1e3,t(843))),u&&(u[t(1310)]=null,u[t(583)]=null,u.onclose=null,u[t(693)]=null),u=null,X[t(1003)](),X[t(775)]&&(clearInterval(X[t(775)]),X[t(775)]=null),X.mp3Demuxer&&(X[t(412)][t(904)](),X[t(412)]=null),X[t(1024)]&&$t(X[t(1024)][t(688)])&&X.writableStream.close()[t(621)]((e=>{const r=t;X[r(484)](r(437),r(416),e[r(953)](),e)})),X[t(1024)]=null,J)try{J[t(1113)]&&J[t(1113)](),J=null}catch(e){X.debugLog("worker",t(855),e[t(953)](),e)}if(Q)try{Q[t(1113)]&&Q[t(1113)](),Q=null}catch(e){X.debugLog(t(437),t(901),e[t(953)]())}l=null,S=null,w=!1,g=0,b=0,o&&(o.destroy&&o[t(904)](),o=null),K&&(K[t(904)](),K=null),X[t(516)]=null,X[t(387)]=null,X[t(372)]=0,X[t(700)]=null,X.streamAudioFps=null,X[t(1154)]=null,X[t(1125)]=-1,X[t(497)]=-1,X[t(894)]=null,X[t(483)]=!1,X.isPushDropping=!1,X[t(1001)]=!0,X[t(1020)]=!1,X[t(828)]=!1,X[t(632)]=!1,X.isHevc=null,X[t(691)]=j(),X[t(1226)]&&(X.webglObj[t(904)](),X.offscreenCanvas[t(1179)]("webglcontextlost",X[t(999)]),X[t(567)][t(1179)](t(1075),X[t(675)]),X[t(567)]=null,X[t(533)]=null,X.offscreenCanvasCtx=null),s=[],a=[],h&&(h[t(1085)](),h=null),p=null,m=null,v=!1,_=!1,y=!1,P=!1,F=!1,R=!1,L=null,E=[],x=0,T=0,I=null,A=null,D=null,B=null,O=null,M=0,U=0,k=null,C=null,X[t(1249)]=Ge[t(802)],N=!0,W.destroy(),q.destroy(),$.destroy(),Y.destroy(),X[t(1272)]=null,X[t(691)]={},postMessage({cmd:Se[t(421)]})},pushBuffer:function(t,r){const i=e;if(r[i(526)]===Ie[i(929)]&&ht(t)){if(X[i(484)](i(437),i(572)+r.ts+i(1175)),X._opt[i(587)]){const e=new Uint8Array(t);postMessage({cmd:Se[i(394)],buffer:e},[e[i(866)]])}X.decodeAudio(t,r.ts)}else if(r[i(526)]===Ie[i(811)]&&r.isIFrame&&Wt(t)){if(X[i(484)](i(437),"pushBuffer video ts is "+r.ts+i(719)),X._opt.isRecordTypeFlv){const e=new Uint8Array(t);postMessage({cmd:Se[i(1176)],buffer:e},[e.buffer])}X[i(722)](t,r.ts,r[i(1111)],r.cts)}else{if(X[i(691)][i(426)])if(X[i(691)][i(587)]){const e=new Uint8Array(t);postMessage({cmd:Se.flvBufferData,type:r[i(526)],buffer:e,ts:r.ts},[e.buffer])}else if(X[i(691)][i(897)]===ae.mp4)if(r[i(526)]===Ie[i(811)]){const e=new Uint8Array(t)[i(1146)](5);postMessage({cmd:Se[i(754)],buffer:e,isIFrame:r[i(1111)],ts:r.ts,cts:r[i(963)]},[e[i(866)]])}else if(r.type===Ie[i(929)]&&X[i(691)][i(783)]){const e=new Uint8Array(t),n=ft(e)?e[i(1146)](2):e.slice(1);postMessage({cmd:Se[i(611)],buffer:n,ts:r.ts},[n.buffer])}if(X[i(1001)]){if(r.type===Ie[i(811)]){if(M>0){const e=r.ts-B,t=M+M/2;e>t&&X.debugLog(i(437),i(628)+r[i(1111)]+i(1173)+r.ts+i(1254)+B+i(739)+e+i(954)+M+i(651)+t+"\n maybe trigger black screen or flower screen\n ")}if(null!==B&&B>=r.ts&&(X[i(805)]("worker","pushBuffer() and isIFrame is "+r[i(1111)]+" and,\n options.ts is "+r.ts+" less than (or equal) preTs is "+B+" and\n payloadBufferSize is "+t[i(776)]+i(1087)+U),B-r.ts>_e&&(X.debugWarn(i(437),"pushBuffer,\n preTimestamp is "+B+i(727)+r.ts+i(739)+(B-r.ts)+" more than "+_e+i(561)),X[i(861)](),B=null,M=0),X[i(691)][i(1041)]&&$t(r[i(1111)])&&y)){const e=X[i(772)](),t=$t(X[i(746)]);return X.debugLog(i(437),i(676)+e+i(806)+t+i(542)),void(e&&t?X[i(654)]():(X[i(1139)](!0),qt(X[i(691)].checkFirstIFrame)&&qt(n)&&(X.isPlayUseMSEAndDecoderInWorker()?K[i(974)]=!1:postMessage({cmd:Se[i(1255)]}))))}B>0&&(M=r.ts-B),U=t.byteLength,B=r.ts}if(y){const e=X[i(691)][i(967)]+X[i(691)].videoBufferDelay,t=X[i(864)](r.ts,r[i(526)]);X[i(497)]=t,X[i(1125)]>0&&t>e&&X.delay({type:e[i(526)],ts:e.ts})));X[i(484)](i(437),"playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is "+t+", streamVideoFps is "+e+i(487)+s[i(959)]+i(1100)+JSON[i(955)](r))}const r=X[i(1047)]()>0,n=r?60:40;s[i(959)]>=n&&(X[i(805)](i(437),i(880)+s.length+i(625)+n+i(1251)+r+i(681)),X[i(1154)]=25,postMessage({cmd:Se[i(766)],value:X.streamVideoFps}),r?(X[i(477)]=25,X[i(700)]=X[i(1154)]+X[i(477)]):X[i(700)]=X[i(1154)],X.playbackCacheLoop())}}},getVideoBufferLength(){const t=e;let r=0;return s[t(458)]((e=>{const n=t;e[n(526)]===Ie[n(811)]&&(r+=1)})),r},hasIframeInBufferList:()=>s.some((e=>{const t=dc;return e[t(526)]===Ie.video&&e[t(1111)]})),isAllIframeInBufferList(){const e=X.getVideoBufferLength();let t=0;return s.forEach((e=>{const r=dc;e[r(526)]===Ie.video&&e[r(1111)]&&(t+=1)})),e===t},getNotDroppingDelayTs(){const t=e;return X[t(691)][t(967)]+X[t(691)].videoBufferDelay/2},getAudioBufferLength(){const t=e;let r=0;return s[t(458)]((e=>{e[t(526)]===Ie.audio&&(r+=1)})),r},getStreamBufferLength(){const t=e;let r=0;return h&&h[t(866)]&&(r=h[t(866)][t(776)]),X._opt[t(711)]?W[t(1260)]&&(r=W[t(1260)][t(776)]):X[t(691)][t(1300)]?Y[t(505)]&&(r=Y[t(505)][t(776)]):X._opt[t(1268)]&&q[t(721)]&&(r=q[t(721)][t(588)]()),r},fetchStream:function(t,r){const n=e;let i=arguments[n(959)]>2&&void 0!==arguments[2]?arguments[2]:[];if(X.debugLog(n(437),n(1127)+t,"options:",JSON.stringify(r)),X[n(632)]=!0,r.isFlv?X[n(691)][n(1270)]=!0:r[n(1268)]?X[n(691)][n(1268)]=!0:r.isMpeg4?X[n(691)][n(462)]=!0:r[n(711)]?X._opt[n(711)]=!0:r.isTs&&(X[n(691)][n(1300)]=!0),l=Bt((e=>{const t=n;postMessage({cmd:Se[t(377)],type:ke[t(630)],value:e})})),X[n(1062)](),X[n(716)](),r[n(1268)]&&q[n(1164)](),r.protocol===ne[n(644)]){r[n(1270)]&&(h=new nr(X[n(975)]())),c=new AbortController;const e=Object[n(1152)]({signal:c[n(745)]},{headers:r[n(697)]&&r.options[n(992)]||{}});fetch(t,e)[n(419)]((e=>{const t=n;if(qt(z))return X[t(484)](t(437),t(1163)),X[t(1249)]=Ge.idle,void e[t(608)][t(1064)]();if(!jt(e))return X[t(805)](t(437),t(824)+e[t(373)]+t(899)+e.ok+t(961)),G(),void postMessage({cmd:Se[t(377)],type:xe[t(1038)],value:t(824)+e[t(373)]+" and ok is "+e.ok});if(postMessage({cmd:Se[t(377)],type:ke.streamSuccess}),Nt())X[t(1024)]=new WritableStream({write:e=>{const n=t;return c&&c[n(745)]&&c[n(745)][n(1040)]?(X.debugLog("worker",n(836)),void(X[n(1249)]=Ge[n(1259)])):qt(z)?(X.debugLog(n(437),n(617)),X.fetchStatus=Ge[n(1259)],void G()):void(typeof e!==n(984)?(X[n(1249)]=Ge[n(826)],l(e.byteLength),r[n(1270)]?h[n(375)](e):r[n(1268)]?X[n(982)](e):r[n(462)]?X[n(1269)](e):r.isTs?X.demuxTs(e):r.isNakedFlow&&X[n(541)](e)):X[n(805)](n(437),n(1278)+e+'" string so return'))},close:()=>{const e=t;X[e(484)]("worker","writableStream close()"),X[e(1249)]=Ge[e(1259)],G(),X.isPlayVod?X[e(484)](e(437),e(506)):X[e(691)][e(701)]?(h&&(h.close(),h=null),postMessage({cmd:Se[e(377)],type:ke[e(1293)],value:ie[e(644)],msg:e(1030)})):postMessage({cmd:Se.workerFetch,type:ke[e(781)]})},abort:e=>{const r=t;if(c&&c.signal&&c.signal[r(1040)])return X.debugLog(r(437),r(391)),void(X[r(1249)]=Ge[r(1259)]);h&&(h.close(),h=null),e.name!==Ne.abort?(X[r(484)](r(437),"writableStream abort() and e is "+e.toString()),G(),postMessage({cmd:Se[r(377)],type:xe[r(1038)],value:e[r(953)]()})):X[r(484)](r(437),r(946))}}),e[t(608)].pipeTo(X[t(1024)])[t(621)]((e=>{const r=t;e[r(890)]!==r(801)&&X[r(484)]("worker",r(854),e[r(890)],e.toString())}));else{const n=e[t(608)].getReader(),i=()=>{const e=t;n[e(1281)]()[e(419)]((t=>{const n=e;let{done:s,value:a}=t;return s?(X[n(484)]("worker",n(438)),X.fetchStatus=Ge[n(1259)],G(),void(X[n(691)][n(701)]?(h&&(h[n(1085)](),h=null),postMessage({cmd:Se.workerFetch,type:ke[n(1293)],value:ie.fetch,msg:n(1030)})):postMessage({cmd:Se.workerFetch,type:ke.streamEndInner}))):c&&c.signal&&c[n(745)].aborted?(X.debugLog(n(437),n(738)),void(X[n(1249)]=Ge[n(1259)])):qt(z)?(X[n(484)](n(437),n(1248)),X[n(1249)]=Ge[n(1259)],void G()):void(typeof a!==n(984)?(X[n(1249)]=Ge[n(826)],l(a[n(776)]),r.isFlv?h.write(a):r.isFmp4?X.demuxFmp4(a):r[n(462)]?X.demuxMpeg4(a):r[n(1300)]?X[n(1271)](a):r[n(711)]&&X.demuxNakedFlow(a),i()):X[n(805)](n(437),n(927)+a+'" is string so return'))}))[e(621)]((t=>{const r=e;if(c&&c[r(745)]&&c.signal[r(1040)])return X.debugLog(r(437),r(668)),void(X[r(1249)]=Ge[r(1259)]);h&&(h[r(1085)](),h=null),t[r(890)]!==Ne[r(652)]?(X[r(484)]("worker",r(728)+t[r(953)]()),G(),postMessage({cmd:Se[r(377)],type:xe.fetchError,value:t[r(953)]()})):X[r(484)](r(437),r(1057))}))};i()}}))[n(621)]((e=>{const t=n;c&&c[t(745)]&&c[t(745)][t(1040)]?X[t(484)]("worker",t(629)):e[t(890)]!==Ne[t(652)]?(X[t(484)]("worker",t(624)+e[t(953)]()),G(),postMessage({cmd:Se[t(377)],type:xe[t(1038)],value:e[t(953)]()}),h&&(h[t(1085)](),h=null)):X.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else r[n(1077)]===ne[n(948)]&&(r.isFlv&&(h=new nr(X[n(975)]())),u=new WebSocket(t,i),u.binaryType="arraybuffer",u[n(1310)]=()=>{const e=n;X[e(484)]("worker",e(568)),postMessage({cmd:Se.workerFetch,type:ke[e(551)]}),postMessage({cmd:Se[e(377)],type:ke[e(1238)]})},u.onclose=e=>{const t=n;X.isDestroyed?X.debugLog(t(437),t(383)+e.code+t(388)):f?X[t(484)](t(437),"fetchStream, WebsocketStream socket close and code is "+e[t(1214)]+t(789)):(X[t(484)]("worker",t(383)+e[t(1214)]),1006===e[t(1214)]&&X.debugError(t(437),"fetchStream, WebsocketStream socket close abnormally and code is "+e[t(1214)]),qt(z)?X[t(484)](t(437),t(491)):X[t(691)][t(701)]?(h&&(h.close(),h=null),postMessage({cmd:Se[t(377)],type:ke[t(1293)],value:ie[t(948)],msg:e[t(1214)]})):postMessage({cmd:Se[t(377)],type:ke[t(781)]}))},u[n(693)]=e=>{const t=n;X[t(965)](t(437),t(475),e,e[t(953)]()),f=!0,h&&(h[t(1085)](),h=null),X[t(1218)]?X[t(484)](t(437),"fetchStream, WebsocketStream on error and isDestroyed is true, so return"):qt(z)?X[t(484)]("worker",t(566)):postMessage({cmd:Se.workerFetch,type:xe[t(846)],value:e[t(756)]?t(950):"websocket error"})},u.onmessage=e=>{const t=n;"string"!=typeof e[t(537)]?(l(e[t(537)][t(776)]),r[t(1270)]?h[t(375)](e[t(537)]):r[t(1268)]?X[t(982)](e.data):r[t(462)]?X.demuxMpeg4(e[t(537)]):X[t(691)][t(711)]?X[t(541)](e[t(537)]):X.demuxM7s(e[t(537)])):X[t(805)]("worker",t(1070)+e[t(537)]+'" and return')})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let a=i[0];const o=(yield s)[t(1146)]();switch(r){case Ae[t(929)]:if(o[t(776)]>0){let e=o;qt(X._opt.m7sCryptoAudio)&&(e=X.cryptoPayloadAudio(o)),X[t(677)](e,{type:Ie[t(929)],ts:a})}else X[t(805)]("worker",t(603)+o.byteLength+t(1263));break;case Ae[t(811)]:if(o[t(776)]>=6){const e=o[0];if(X._isEnhancedH265Header(e))X[t(705)](o,a);else{const e=15&o[0];let r=o[0]>>4===je[t(818)];const n=e===De.h265;if(t(584),$t(r)&&qt(Kt(o,n))&&(X[t(484)]("worker",t(620)),r=!0),r&&Wt(o)&&null===X[t(1156)]){const e=15&o[0];X[t(1156)]=e===De[t(1224)],L=kt(o,X[t(1156)]),X.debugLog("worker","demuxFlv() isVideoSequenceHeader is true and isHevc is "+X[t(1156)]+t(518)+L)}r&&X[t(920)](a),X[t(1001)]&&X[t(1206)](a),i[0]=o[4],i[1]=o[3],i[2]=o[2],i[3]=0;let s=i[0],c=X.cryptoPayload(o,r);X[t(677)](c,{type:Ie[t(811)],ts:a,isIFrame:r,cts:s})}}else X[t(805)]("worker",t(430)+o[t(776)]+t(1263));break;case Ae.scriptData:postMessage({cmd:Se[t(949)],buffer:o},[o[t(866)]]);break;default:X[t(484)](t(437),t(918)+r)}}},decode:function(t,r){const n=e;r[n(526)]===Ie[n(929)]?X[n(691)][n(382)]&&(postMessage({cmd:Se[n(377)],type:ke[n(1282)],value:t[n(776)]}),X[n(1001)]?X[n(909)](t,{type:r.type,ts:r.ts,cts:r.cts}):X[n(1020)]?X[n(368)]()||(X.isPlaybackCacheBeforeDecodeForFpsRender()?X[n(909)](t,{type:r.type,ts:r.ts,cts:r[n(963)]}):X[n(909)](t,{type:r[n(526)],ts:r.ts,cts:r[n(963)]})):X.isPlayVod&&X[n(909)](t,{type:r[n(526)],ts:r.ts,cts:r[n(963)]})):r[n(526)]===Ie[n(811)]&&X[n(691)][n(525)]&&(postMessage({cmd:Se[n(377)],type:ke[n(578)],value:t[n(776)]}),postMessage({cmd:Se[n(377)],type:ke[n(1161)],value:r.ts}),X[n(1001)]?X[n(909)](t,{type:r[n(526)],ts:r.ts,isIFrame:r[n(1111)],cts:r[n(963)]}):X.isPlayback?X[n(368)]()?r[n(1111)]&&X[n(909)](t,{type:r.type,ts:r.ts,cts:r.cts,isIFrame:r[n(1111)]}):X[n(685)]()?X[n(909)](t,{type:r.type,ts:r.ts,cts:r[n(963)],isIFrame:r.isIFrame}):X[n(909)](t,{type:r[n(526)],ts:r.ts,cts:r[n(963)],isIFrame:r[n(1111)]}):X[n(828)]&&X.pushBuffer(t,{type:r[n(526)],ts:r.ts,cts:r[n(963)],isIFrame:r.isIFrame}))},cryptoPayload:function(t,r){const n=e;let i=t;return X[n(691)][n(397)]?X[n(691)].cryptoIV&&X._opt.cryptoIV[n(776)]>0&&X._opt[n(395)]&&X[n(691)].cryptoKey[n(776)]>0?i=ya(t,X._opt[n(395)],X[n(691)][n(376)],X[n(1156)]):X.debugError(n(437),"isM7sCrypto cryptoKey.length is "+(X[n(691)][n(395)]&&X[n(691)].cryptoKey[n(776)])+n(887)+(X[n(691)][n(376)]&&X[n(691)].cryptoIV[n(776)])+n(774)):X._opt[n(1033)]?X[n(691)][n(414)]?i=X[n(691)][n(376)]&&X[n(691)][n(376)][n(776)]>0&&X[n(691)][n(395)]&&X._opt.cryptoKey[n(776)]>0?cc(t,X[n(691)][n(395)],X[n(691)][n(376)],X[n(1156)],X._opt[n(1148)]):Ya(t,X[n(691)].sm4CryptoKey,X.isHevc,X._opt[n(1148)]):!X[n(691)][n(414)]&&X[n(965)](n(437),n(362)):X[n(691)][n(1209)]&&(X._opt[n(376)]&&X[n(691)].cryptoIV[n(776)]>0&&X._opt[n(395)]&&X[n(691)].cryptoKey[n(776)]>0?i=co(t,X[n(691)].cryptoKey,X[n(691)][n(376)],X[n(1156)]):X[n(965)](n(437),"isXorCrypto cryptoKey.length is "+(X[n(691)].cryptoKey&&X[n(691)][n(395)].byteLength)+n(887)+(X[n(691)][n(376)]&&X[n(691)][n(376)].byteLength)+n(774))),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return X[r(691)][r(397)]&&(X[r(691)].cryptoIV&&X[r(691)][r(376)][r(776)]>0&&X[r(691)][r(395)]&&X._opt[r(395)][r(776)]>0?t[0]>>4===Me.AAC&&(n=ga(t,X[r(691)][r(395)],X[r(691)][r(376)])):X[r(965)](r(437),"isM7sCrypto cryptoKey.length is "+(X[r(691)][r(395)]&&X[r(691)].cryptoKey[r(776)])+r(887)+(X[r(691)][r(376)]&&X[r(691)].cryptoIV[r(776)])+r(774))),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,a=t[0]>>1&1;if(O=s===Me.AAC?a?16:8:0===a?8:16,J&&J[n(640)]||!$t(i))if(ht(t)||s===Me.ALAW||s===Me[n(1091)]||s===Me[n(479)]){X[n(484)](n(437),n(1006)+s+n(923)+X._opt.sampleRate);const e=s===Me[n(374)]?t[n(1146)](2):new Uint8Array(0);if(i){if(s===Me[n(479)])return void X[n(965)]("worker",n(1232));J[n(1043)]=X[n(691)][n(428)],J.decode(t,r)}else J.setCodec(s,X[n(691)].sampleRate,e,X[n(1162)]());s===Me[n(374)]&&postMessage({cmd:Se[n(871)],buffer:e},[e[n(866)]]),_=!0,s!==Me[n(374)]&&(s===Me.MP3?(!X[n(412)]&&(X[n(412)]=new no(X),X[n(412)].on("data",((e,t)=>{J[n(677)](e,t)}))),X[n(412)][n(1103)](t[n(1146)](1),r)):J.decode(t[n(1146)](1),r));const a=Number("1")||1;setTimeout((()=>{const e=n;X[e(965)](e(437),e(687)),X.close(),postMessage({cmd:Se[e(913)]})}),60*a*60*1e3)}else X[n(805)](n(437),n(917),s);else X[n(965)](n(437),n(489))},decodeAudio:function(t,r){const s=e;if(X[s(1218)])X[s(484)](s(437),s(434));else if(X[s(1155)]())K[s(1126)](t,r);else if(qt(n)&&qt(X._opt[s(1274)]))postMessage({cmd:Se.audioPayload,payload:t,ts:r,cts:r},[t[s(866)]]);else{const e=t[0]>>4;if(_){if(ht(t))return void X[s(484)](s(437),s(490));i?J.decode(t,r):e===Me.MP3?X[s(412)][s(1103)](t.slice(1),r):J[s(677)](e===Me[s(374)]?t[s(1146)](2):t[s(1146)](1),r)}else X[s(576)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Q&&Q.setCodec||!$t(i))if(Wt(t))if(s===De[n(584)]||s===De[n(1224)]){X[n(484)](n(437),n(682)+s);const e=t[n(1146)](5);if(s===De.h264&&X[n(691)][n(765)]){const t=gr(e);if(t[n(734)]>ye||t[n(1225)]>ye)return postMessage({cmd:Se[n(607)],value:n(534)+t.codecWidth+n(770)+ye+n(398)+t.codecHeight+n(770)+ye}),void X[n(805)]("worker","setCodecVideo: SIMD H264 decode video width is too large, width is "+t[n(734)]+", height is "+t[n(1225)])}const r=new Uint8Array(t);v=!0,i?Q[n(677)](t,0):Q.setCodec(s,e,X[n(1162)]()),postMessage({cmd:Se[n(1011)],code:s}),postMessage({cmd:Se[n(906)],buffer:r,codecId:s},[r.buffer])}else X[n(805)](n(437),n(1231)+s+n(750));else X[n(805)](n(437),n(798)+s+n(364)+r+n(814)+t[1]);else X.debugError(n(437),n(786))},decodeVideo:function(t,r,s){const a=e;let o=arguments[a(959)]>3&&void 0!==arguments[3]?arguments[3]:0;if(X[a(1218)])X[a(484)](a(437),a(869));else if(X[a(1285)]())K.decodeVideo(t,r,s,o);else if(qt(n))postMessage({cmd:Se[a(910)],payload:t,isIFrame:s,ts:r,cts:o,delay:X.delay},[t[a(866)]]);else if(v)if(!y&&s&&(y=!0),y){if(s&&Wt(t)){const e=15&t[0];let r={};e===De.h264?r=gr(t.slice(5)):e===De[a(1224)]&&(r=Xr(t)),r[a(734)]&&r[a(1225)]&&p&&m&&(r[a(734)]!==p||r.codecHeight!==m)&&(X[a(805)]("worker","\n decodeVideo: video width or height is changed,\n old width is "+p+", old height is "+m+",\n new width is "+r[a(734)]+a(785)+r[a(1225)]+a(1223)),F=!0,postMessage({cmd:Se[a(1134)],value:a(534)+p+"->"+r[a(734)]+a(398)+m+"->"+r.codecHeight}))}if(F)return void X.debugWarn("worker",a(618));if(R)return void X.debugWarn(a(437),a(1188));if(Wt(t))return void X[a(484)](a(437),"decodeVideo and payload is video sequence header so drop this frame");if(t[a(776)]0&&void 0!==arguments[0]&&arguments[0];X.debugLog(t(437),t(753)+s[t(959)]+", need clear is "+r),r&&(s=[]),X[t(1001)]&&(X.resetAllDelay(),qt(X[t(691)].checkFirstIFrame)&&(X[t(483)]=!0,postMessage({cmd:Se[t(524)]}))),qt(X[t(691)][t(1255)])&&$t(n)&&(y=!1)},dropBuffer$2:function(){const t=e;if(s[t(959)]>0){let e=s[t(1060)]((e=>{const r=t;return qt(e[r(1111)])&&e[r(526)]===Ie.video}));if(X[t(931)]())for(let r=0;r=X[t(956)]()){X[t(484)](t(437),t(1112)+r+t(1276)+i+t(707)+X.getNotDroppingDelayTs()),e=r;break}}if(e>=0){X[t(746)]=!0,postMessage({cmd:Se[t(524)]});const r=s.length;s=s[t(1146)](e);const n=s[t(1186)]();X.resetAllDelay(),X.getDelay(n.ts,n[t(526)]),X[t(609)](n),X[t(746)]=!1,X[t(484)](t(437),t(735)+e+t(1230)+r+t(1151)+s[t(959)]+" and new delay is "+X[t(1125)]+" ")}else X[t(746)]=!1}0===s[t(959)]&&(X[t(746)]=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n[r(825)](1,!1),s=n[r(450)](0),a=new ArrayBuffer(4),o=new Uint32Array(a);switch(s){case Ie[r(929)]:X.decode(new Uint8Array(t,5),{type:Ie.audio,ts:i});break;case Ie.video:if(n[r(776)]>=11){const e=new Uint8Array(t,5),s=e[0];if(X[r(556)](s))X._decodeEnhancedH265Video(e,i);else{const t=n[r(450)](5)>>4==1;if(t&&(X[r(920)](i),Wt(e)&&null===X[r(1156)])){const t=15&e[0];X.isHevc=t===De[r(1224)]}X[r(1001)]&&X[r(1206)](i),o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0;let s=o[0],a=X[r(851)](e,t);X.decode(a,{type:Ie[r(811)],ts:i,isIFrame:t,cts:s})}}else X[r(805)](r(437),r(595)+t[r(776)]+r(1263))}},demuxNakedFlow:function(t){W[e(1103)](t)},demuxFmp4:function(e){q.dispatch(e)},demuxMpeg4:function(e){$.dispatch(e)},demuxTs:function(t){Y[e(1103)](t)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,a=15&i,o=t[n(1146)](1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[n(552)](o[0]);if(X[n(1156)]=$t(l),a===$e[n(370)]){if(s===Ye[n(680)]){const e=t[n(1146)](5);if(l);else{const i=new Uint8Array(5+e.length);i[n(983)]([28,0,0,0,0],0),i[n(983)](e,5),L=kt(t,X[n(1156)]),X[n(484)](n(437),n(1034)+X.isHevc+n(518)+L),X.decode(i,{type:Ie[n(811)],ts:r,isIFrame:!0,cts:0})}}}else if(a===$e.PACKET_TYPE_FRAMES){let e=t,i=0;const a=s===Ye[n(680)];a&&X[n(920)](r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=tn(t.slice(8),a),e=X[n(851)](e,a),X.decode(e,{type:Ie.video,ts:r,isIFrame:a,cts:i}))}else if(a===$e[n(973)]){const e=s===Ye[n(680)];e&&X[n(920)](r);let i=tn(t[n(1146)](5),e);i=X[n(851)](i,e),X[n(677)](i,{type:Ie[n(811)],ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&qe)===qe},findSei:function(t,r){const n=e;let i=4;Ft(L)&&(i=L),It(t[n(1146)](5),i)[n(458)]((e=>{const t=n,i=X.isHevc?e[0]>>>1&63:31&e[0],s=X[t(1156)]&&(i===Pe[t(559)]||i===Pe[t(968)]),a=$t(X.isHevc)&&i===Ue[t(976)];if(s||a){const n=At(e,X[t(1156)]);postMessage({cmd:Se[t(606)],buffer:n[t(488)],ts:r},[n.payload[t(866)]])}}))},calcNetworkDelay:function(t){const r=e;if(!(y&&t>0))return;null===I?(I=t,A=xt()):tn?i-n:0;X.networkDelay=s,s>X[r(691)][r(372)]&&X._opt[r(513)]===se[r(791)]&&(X[r(805)](r(437),r(655)+t+r(1228)+I+r(1110)+n+r(762)+i+r(1050)+s),postMessage({cmd:Se[r(377)],type:ke.networkDelayTimeout,value:s}))},calcIframeIntervalTimestamp:function(e){null===D?D=e:D=X[t(691)].playbackForwardMaxRateDecodeIFrame&&!(X._opt[t(602)]&&X[t(691)][t(1274)])},isPlayUseMSE:function(){const t=e;return X[t(1001)]&&X[t(691)][t(602)]&&qt(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return X[t(436)]()&&X[t(691)][t(718)]},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return X.isPlayUseMSEAndDecoderInWorker()&&X._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){const t=e;$t(X[t(685)]())&&X[t(1139)](!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;X.debugError(r(437),r(1054)),t[r(1167)](),P=!0,X[r(1226)][r(904)](),X[r(1226)]=null,X[r(533)]=null,setTimeout((()=>{const e=r;X[e(533)]=X[e(567)][e(520)](e(936)),X[e(533)]&&X.offscreenCanvasGL[e(679)]()[e(1283)]?(X[e(1226)]=ee(X[e(533)],X[e(691)][e(1108)]),P=!1):X[e(965)](e(437),"handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;X[r(484)](r(437),r(986)),t.preventDefault()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:Se[i(1011)],code:t}),postMessage({cmd:Se[i(381)],w:r,h:n}),p=r,m=n,X[i(667)]()&&(X[i(567)]=new OffscreenCanvas(r,n),X[i(533)]=X[i(567)][i(520)]("webgl"),X[i(1226)]=ee(X[i(533)],X[i(691)][i(1108)]),X[i(567)][i(591)](i(933),X.onOffscreenCanvasWebglContextLost,!1),X.offscreenCanvas[i(591)](i(1075),X.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(t,r,n){const i=e;postMessage({cmd:Se[i(1244)],code:t}),postMessage({cmd:Se[i(1021)],sampleRate:r,channels:n,depth:O}),T=n},yuvData:function(r,n){const i=e;if(X[i(1218)])return void X[i(484)](i(437),i(598));const s=p*m*3/2;let a=t[i(1116)][i(1220)](r,r+s),o=new Uint8Array(a);if(k=null,b=n,X.useOffscreen())try{if(P)return;X[i(1226)][i(359)](p,m,o);let e=X.offscreenCanvas[i(695)]();postMessage({cmd:Se[i(807)],buffer:e,delay:X[i(1125)],ts:n},[e])}catch(e){X[i(965)](i(437),i(471),e,e.toString())}else postMessage({cmd:Se[i(807)],output:o,delay:X.delay,ts:n},[o[i(866)]])},pcmData:function(t,n,i){const s=e;if(X.isDestroyed)return void X.debugLog("worker","pcmData, decoder is destroyed and return");let o=n,c=[],u=0,l=X[s(691)][s(1234)];for(let e=0;e<2;e++){let n=r.HEAPU32[(t>>2)+e]>>2;c[e]=r[s(511)][s(1220)](n,n+o)}if(x){if(!(o>=(n=l-x)))return x+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==T&&(a[1]=Float32Array.of(...a[1],...c[1])));E[0]=Float32Array.of(...a[0],...c[0][s(1220)](0,n)),2==T&&(E[1]=Float32Array.of(...a[1],...c[1].subarray(0,n))),postMessage({cmd:Se[s(1046)],buffer:E,ts:i},E[s(614)]((e=>e[s(866)]))),u=n,o-=n}for(x=o;x>=l;x-=l)E[0]=c[0][s(1146)](u,u+=l),2==T&&(E[1]=c[1][s(1146)](u-l,u)),postMessage({cmd:Se[s(1046)],buffer:E,ts:i},E.map((e=>e.buffer)));x&&(a[0]=c[0].slice(u),2==T&&(a[1]=c[1][s(1146)](u))),c=[]},errorInfo:function(t){const r=e;null===k&&(k=xt());const n=xt(),i=Tt(C>0?2*C:5e3,1e3,5e3),s=n-k;s>i&&(X.debugWarn(r(437),"errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is "+C+r(819)+s+r(651)+i+r(1301)),R=!0,postMessage({cmd:Se[r(1023)]}))},sendWebsocketMessage:function(t){const r=e;u?u[r(1205)]===Te?u[r(480)](t):X[r(965)](r(437),r(808)):X.debugError("worker",r(760))},timeEnd(){const t=e;X[t(965)]("worker",t(687)),X[t(1085)](),postMessage({cmd:Se[t(913)]})},postStreamToMain(t,r){const n=e;postMessage({cmd:Se[n(795)],type:r,buffer:t},[t[n(866)]])},updatePlaybackIsPause(t){const r=e;X[r(484)](r(437),r(1166)+t),qt(t)?X[r(1197)]():X[r(589)]()},getBuildTime:()=>me+"-"+ve,validatedFailed(){const t=e;X.debugError(t(437),t(841))},debugLog(t){const r=e;if(X._opt[r(1272)]&&X[r(1272)]){for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:Se[n(381)],w:t,h:r}),X[n(667)]()&&(X[n(567)]=new OffscreenCanvas(t,r),X[n(533)]=X[n(567)][n(520)](n(936)),X[n(1226)]=ee(X.offscreenCanvasGL,X[n(691)][n(1108)]),X[n(567)].addEventListener("webglcontextlost",X.onOffscreenCanvasWebglContextLost,!1),X[n(567)][n(591)](n(1075),X.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(t,r){T=t,postMessage({cmd:Se[e(1021)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if(X[s(1218)])return void X[s(484)](s(437),s(1037));let o=n,c=[],u=0,l=X[s(691)][s(1234)];for(let e=0;e<2;e++){let n=r[s(674)][(t>>2)+e]>>2;c[e]=r.HEAPF32.subarray(n,n+o)}if(x){if(!(o>=(n=l-x)))return x+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==T&&(a[1]=Float32Array.of(...a[1],...c[1])));E[0]=Float32Array.of(...a[0],...c[0].subarray(0,n)),2==T&&(E[1]=Float32Array.of(...a[1],...c[1][s(1220)](0,n))),postMessage({cmd:Se[s(1046)],buffer:E,ts:i},E.map((e=>e.buffer))),u=n,o-=n}for(x=o;x>=l;x-=l)E[0]=c[0][s(1146)](u,u+=l),2==T&&(E[1]=c[1][s(1146)](u-l,u)),postMessage({cmd:Se[s(1046)],buffer:E,ts:i},E.map((e=>e[s(866)])));x&&(a[0]=c[0][s(1146)](u),2==T&&(a[1]=c[1][s(1146)](u))),c=[]},draw:function(r,n,i,s){const a=e;if(X.isDestroyed)return void X.debugLog(a(437),a(993));const o=t.HEAPU8[a(1220)](n,n+H),c=t[a(1116)][a(1220)](i,i+V),u=t[a(1116)].subarray(s,s+V),l=new Uint8Array(H+V+V);if(l[a(983)](o),l.set(c,H),l[a(983)](u,H+V),k=null,b=r,X[a(667)]())try{if(P)return;X[a(1226)][a(359)](p,m,l);let e=X[a(567)][a(695)]();postMessage({cmd:Se[a(807)],buffer:e,delay:X[a(1125)],ts:r},[e])}catch(e){X[a(965)](a(437),a(471),e,e[a(953)]())}else postMessage({cmd:Se.render,output:l,delay:X[a(1125)],ts:r},[l[a(866)]])}}));let J=null;r[e(1069)]&&(J=new(r[e(1069)])(X));let Q=null;t.VideoDecoder&&(Q=new(t[e(921)])(X)),postMessage({cmd:Se[e(1062)]}),self[e(583)]=function(t){const r=e;let n=t[r(537)];switch(n[r(529)]){case Ee[r(1062)]:try{X[r(691)]=Object[r(1152)](X._opt,JSON[r(790)](n[r(958)]))}catch(e){}X[r(484)](r(437),"onmessage:"+Ee[r(1062)],n[r(958)]);break;case Ee[r(677)]:X[r(909)](n[r(866)],n[r(697)]);break;case Ee.audioDecode:X[r(1126)](n[r(866)],n.ts);break;case Ee[r(673)]:X[r(722)](n[r(866)],n.ts,n.isIFrame);break;case Ee.clearBuffer:X[r(1139)](n[r(724)]);break;case Ee[r(1138)]:X[r(1138)](n[r(891)],JSON[r(790)](n[r(958)]),n[r(1305)]);break;case Ee[r(1085)]:X.debugLog(r(437),r(847)+Ee.close,JSON[r(955)](n[r(697)])),n[r(697)]&&$t(n[r(697)][r(830)])&&(N=n[r(697)].isVideoInited),X[r(1085)]();break;case Ee.updateConfig:X.debugLog(r(437),r(847)+Ee[r(1239)],n[r(900)],n[r(432)]),X[r(691)][n[r(900)]]=n.value,n[r(900)]===r(1174)&&(X[r(554)](),X[r(685)]()&&X[r(1307)]());break;case Ee[r(834)]:X[r(1213)](n[r(1107)]);break;case Ee[r(875)]:K[r(1080)][r(1122)]=Number(n[r(1107)]);break;case Ee.playbackIsPause:X[r(712)](n[r(594)])}}}(e,e,!0)}))})); diff --git a/demo/public/pro/js/decoder-pro-mt.js b/demo/public/pro/js/decoder-pro-mt.js index 1bca987f..4af204eb 100644 --- a/demo/public/pro/js/decoder-pro-mt.js +++ b/demo/public/pro/js/decoder-pro-mt.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,i,n;(n=e).ready=new Promise(((e,r)=>{t=e,i=r})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-mt-worker.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_MT_WORKER_WASM_URL&&""!=JESSIBUCA_PRO_MT_WORKER_WASM_URL?JESSIBUCA_PRO_MT_WORKER_WASM_URL:e};var s,o,a,d=Object.assign({},n),l="./this.program",c=(e,t)=>{throw t},u="object"==typeof window,h="function"==typeof importScripts,f="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,p=n.ENVIRONMENT_IS_PTHREAD||!1,m="";function _(e){return n.locateFile?n.locateFile(e,m):m+e}if(f){const{createRequire:e}=await import("module");var g=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href),y=g("fs"),v=g("path");let t;m=h?v.dirname(m)+"/":g("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href)),s=(e,t)=>(e=se(e)?new URL(e):v.normalize(e),y.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=se(e)?new URL(e):v.normalize(e),y.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),c=(e,t)=>{throw process.exitCode=e,t},n.inspect=()=>"[Emscripten Module object]";try{t=g("worker_threads")}catch(e){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),e}global.Worker=t.Worker}else(u||h)&&(h?m=self.location.href:"undefined"!=typeof document&&document.currentScript&&(m=document.currentScript.src),r&&(m=r),m=0!==m.indexOf("blob:")?m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):"",f||(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},h&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)}));f&&"undefined"==typeof performance&&(global.performance=g("perf_hooks").performance);var b=console.log.bind(console),w=console.error.bind(console);f&&(b=function(){for(var e=arguments.length,t=new Array(e),r=0;re.startsWith(ie),se=e=>e.startsWith("file://");function oe(e){if(e==ee&&S)return new Uint8Array(S);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ae(e){if(!S&&(u||h)){if("function"==typeof fetch&&!se(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>oe(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>oe(e)))}function de(e,t,r){return ae(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{B(`failed to asynchronously prepare wasm: ${e}`),Q(e)}))}function le(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||ne(t)||se(t)||f||"function"!=typeof fetch?de(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return B(`wasm streaming compile failed: ${e}`),B("falling back to ArrayBuffer instantiation"),de(t,r,i)}))))}function ce(){var e={a:Yi};function t(e,t){return Ki=e.exports,st(Ki.W),et=Ki.Z,q(Ki.R),A=t,J(),Ki}if(Z(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){B(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return le(S,ee,e,(function(e){t(e.instance,e.module)})).catch(i),{}}function ue(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?ne(ee="decoder-pro-mt-worker.wasm")||(ee=_(ee)):ee=new URL("decoder-pro-mt-worker.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href).href;var he=e=>{e.terminate(),e.onmessage=e=>{}},fe=e=>{var t=Xe.pthreads[e];delete Xe.pthreads[e],he(t),sn(e),Xe.runningWorkers.splice(Xe.runningWorkers.indexOf(t),1),t.pthread_ptr=0},pe=e=>{Xe.pthreads[e].postMessage({cmd:"cancel"})},me=e=>{var t=Xe.pthreads[e];Xe.returnWorkerToPool(t)},_e=e=>{var t=Xe.getNewWorker();if(!t)return 6;Xe.runningWorkers.push(t),Xe.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var r={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return f&&t.unref(),t.postMessage(r,e.transferList),0},ge=0,ye=()=>nt||ge>0,ve={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ve.isAbs(e),r="/"===e.substr(-1);return(e=ve.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ve.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ve.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ve.normalize(e.join("/"))},join2:(e,t)=>ve.normalize(e+"/"+t)},be=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>(e.set(crypto.getRandomValues(new Uint8Array(e.byteLength))),e);if(f)try{var e=g("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}Q("initRandomDevice")},we=e=>(we=be())(e),Se={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:$e.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=ve.isAbs(i)}return(t?"/":"")+(e=ve.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=Se.resolve(e).substr(1),t=Se.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&Ee)return Ee.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,n):e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},xe=[],Be=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},Ue=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n};function ke(e,t,r){var i=r>0?r:Be(e)+1,n=new Array(i),s=Ue(e,n,0,n.length);return t&&(n.length=s),n}var Te=()=>{if(!xe.length){var e=null;if(f){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=y.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;xe=ke(e,!0)}return xe.shift()},Ce={ttys:[],init(){},shutdown(){},register(e,t){Ce.ttys[e]={input:[],output:[],ops:t},$e.registerDevice(e,Ce.stream_ops)},stream_ops:{open(e){var t=Ce.ttys[e.node.rdev];if(!t)throw new $e.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new $e.ErrnoError(60);for(var s=0,o=0;oTe(),put_char(e,t){null===t||10===t?(x(Ae(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(x(Ae(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(B(Ae(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(B(Ae(e.output,0)),e.output=[])}}},De=e=>{Q()},Pe={ops_table:null,mount:e=>Pe.createNode(null,"/",16895,0),createNode(e,t,r,i){if($e.isBlkdev(r)||$e.isFIFO(r))throw new $e.ErrnoError(63);Pe.ops_table||(Pe.ops_table={dir:{node:{getattr:Pe.node_ops.getattr,setattr:Pe.node_ops.setattr,lookup:Pe.node_ops.lookup,mknod:Pe.node_ops.mknod,rename:Pe.node_ops.rename,unlink:Pe.node_ops.unlink,rmdir:Pe.node_ops.rmdir,readdir:Pe.node_ops.readdir,symlink:Pe.node_ops.symlink},stream:{llseek:Pe.stream_ops.llseek}},file:{node:{getattr:Pe.node_ops.getattr,setattr:Pe.node_ops.setattr},stream:{llseek:Pe.stream_ops.llseek,read:Pe.stream_ops.read,write:Pe.stream_ops.write,allocate:Pe.stream_ops.allocate,mmap:Pe.stream_ops.mmap,msync:Pe.stream_ops.msync}},link:{node:{getattr:Pe.node_ops.getattr,setattr:Pe.node_ops.setattr,readlink:Pe.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Pe.node_ops.getattr,setattr:Pe.node_ops.setattr},stream:$e.chrdev_stream_ops}});var n=$e.createNode(e,t,r,i);return $e.isDir(n.mode)?(n.node_ops=Pe.ops_table.dir.node,n.stream_ops=Pe.ops_table.dir.stream,n.contents={}):$e.isFile(n.mode)?(n.node_ops=Pe.ops_table.file.node,n.stream_ops=Pe.ops_table.file.stream,n.usedBytes=0,n.contents=null):$e.isLink(n.mode)?(n.node_ops=Pe.ops_table.link.node,n.stream_ops=Pe.ops_table.link.stream):$e.isChrdev(n.mode)&&(n.node_ops=Pe.ops_table.chrdev.node,n.stream_ops=Pe.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=$e.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,$e.isDir(e.mode)?t.size=4096:$e.isFile(e.mode)?t.size=e.usedBytes:$e.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Pe.resizeFileStorage(e,t.size)},lookup(e,t){throw $e.genericErrors[44]},mknod:(e,t,r,i)=>Pe.createNode(e,t,r,i),rename(e,t,r){if($e.isDir(e.mode)){var i;try{i=$e.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new $e.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=$e.lookupNode(e,t);for(var i in r.contents)throw new $e.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=Pe.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!$e.isLink(e.mode))throw new $e.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-n,i);if(o>8&&s.subarray)t.set(s.subarray(n,n+o),r);else for(var a=0;a0||r+t(Pe.stream_ops.write(e,t,0,i,r,!1),0)}},Le=(e,t,r,i)=>{var n=i?"":`al ${e}`;o(e,(r=>{R(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),n&&J()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&Z()},Fe=(e,t,r,i,n,s)=>{$e.createDataFile(e,t,r,i,n,s)},Ie=n.preloadPlugins||[],Me=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ie.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,i),n=!0)})),n},Re=(e,t,r,i,n,s,o,a,d,l)=>{var c=t?Se.resolve(ve.join2(e,t)):e;function u(r){function u(r){l&&l(),a||Fe(e,t,r,i,n,d),s&&s(),J()}Me(r,c,u,(()=>{o&&o(),J()}))||u(r)}Z(),"string"==typeof r?Le(r,(e=>u(e)),o):u(r)},ze=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},Ne=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},$e={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Se.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new $e.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=$e.root,n="/",s=0;s40)throw new $e.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if($e.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%$e.nameTable.length},hashAddNode(e){var t=$e.hashName(e.parent.id,e.name);e.name_next=$e.nameTable[t],$e.nameTable[t]=e},hashRemoveNode(e){var t=$e.hashName(e.parent.id,e.name);if($e.nameTable[t]===e)$e.nameTable[t]=e.name_next;else for(var r=$e.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=$e.mayLookup(e);if(r)throw new $e.ErrnoError(r,e);for(var i=$e.hashName(e.id,t),n=$e.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return $e.lookup(e,t)},createNode(e,t,r,i){var n=new $e.FSNode(e,t,r,i);return $e.hashAddNode(n),n},destroyNode(e){$e.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>$e.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=$e.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return $e.lookupNode(e,t),20}catch(e){}return $e.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=$e.lookupNode(e,t)}catch(e){return e.errno}var n=$e.nodePermissions(e,"wx");if(n)return n;if(r){if(!$e.isDir(i.mode))return 54;if($e.isRoot(i)||$e.getPath(i)===$e.cwd())return 10}else if($e.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?$e.isLink(e.mode)?32:$e.isDir(e.mode)&&("r"!==$e.flagsToPermissionString(t)||512&t)?31:$e.nodePermissions(e,$e.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=$e.MAX_OPEN_FDS;e++)if(!$e.streams[e])return e;throw new $e.ErrnoError(33)},getStreamChecked(e){var t=$e.getStream(e);if(!t)throw new $e.ErrnoError(8);return t},getStream:e=>$e.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return $e.FSStream||($e.FSStream=function(){this.shared={}},$e.FSStream.prototype={},Object.defineProperties($e.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new $e.FSStream,e),-1==t&&(t=$e.nextfd()),e.fd=t,$e.streams[t]=e,e},closeStream(e){$e.streams[e]=null},chrdev_stream_ops:{open(e){var t=$e.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new $e.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){$e.devices[e]={stream_ops:t}},getDevice:e=>$e.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),$e.syncFSRequests++,$e.syncFSRequests>1&&B(`warning: ${$e.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=$e.getMounts($e.root.mount),i=0;function n(e){return $e.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&$e.root)throw new $e.ErrnoError(10);if(!n&&!s){var o=$e.lookupPath(r,{follow_mount:!1});if(r=o.path,i=o.node,$e.isMountpoint(i))throw new $e.ErrnoError(10);if(!$e.isDir(i.mode))throw new $e.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?$e.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount(e){var t=$e.lookupPath(e,{follow_mount:!1});if(!$e.isMountpoint(t.node))throw new $e.ErrnoError(28);var r=t.node,i=r.mounted,n=$e.getMounts(i);Object.keys($e.nameTable).forEach((e=>{for(var t=$e.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&$e.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=$e.lookupPath(e,{parent:!0}).node,n=ve.basename(e);if(!n||"."===n||".."===n)throw new $e.ErrnoError(28);var s=$e.mayCreate(i,n);if(s)throw new $e.ErrnoError(s);if(!i.node_ops.mknod)throw new $e.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,$e.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,$e.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,$e.mknod(e,t,r)),symlink(e,t){if(!Se.resolve(e))throw new $e.ErrnoError(44);var r=$e.lookupPath(t,{parent:!0}).node;if(!r)throw new $e.ErrnoError(44);var i=ve.basename(t),n=$e.mayCreate(r,i);if(n)throw new $e.ErrnoError(n);if(!r.node_ops.symlink)throw new $e.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n=ve.dirname(e),s=ve.dirname(t),o=ve.basename(e),a=ve.basename(t);if(r=$e.lookupPath(e,{parent:!0}).node,i=$e.lookupPath(t,{parent:!0}).node,!r||!i)throw new $e.ErrnoError(44);if(r.mount!==i.mount)throw new $e.ErrnoError(75);var d,l=$e.lookupNode(r,o),c=Se.relative(e,s);if("."!==c.charAt(0))throw new $e.ErrnoError(28);if("."!==(c=Se.relative(t,n)).charAt(0))throw new $e.ErrnoError(55);try{d=$e.lookupNode(i,a)}catch(e){}if(l!==d){var u=$e.isDir(l.mode),h=$e.mayDelete(r,o,u);if(h)throw new $e.ErrnoError(h);if(h=d?$e.mayDelete(i,a,u):$e.mayCreate(i,a))throw new $e.ErrnoError(h);if(!r.node_ops.rename)throw new $e.ErrnoError(63);if($e.isMountpoint(l)||d&&$e.isMountpoint(d))throw new $e.ErrnoError(10);if(i!==r&&(h=$e.nodePermissions(r,"w")))throw new $e.ErrnoError(h);$e.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{$e.hashAddNode(l)}}},rmdir(e){var t=$e.lookupPath(e,{parent:!0}).node,r=ve.basename(e),i=$e.lookupNode(t,r),n=$e.mayDelete(t,r,!0);if(n)throw new $e.ErrnoError(n);if(!t.node_ops.rmdir)throw new $e.ErrnoError(63);if($e.isMountpoint(i))throw new $e.ErrnoError(10);t.node_ops.rmdir(t,r),$e.destroyNode(i)},readdir(e){var t=$e.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new $e.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=$e.lookupPath(e,{parent:!0}).node;if(!t)throw new $e.ErrnoError(44);var r=ve.basename(e),i=$e.lookupNode(t,r),n=$e.mayDelete(t,r,!1);if(n)throw new $e.ErrnoError(n);if(!t.node_ops.unlink)throw new $e.ErrnoError(63);if($e.isMountpoint(i))throw new $e.ErrnoError(10);t.node_ops.unlink(t,r),$e.destroyNode(i)},readlink(e){var t=$e.lookupPath(e).node;if(!t)throw new $e.ErrnoError(44);if(!t.node_ops.readlink)throw new $e.ErrnoError(28);return Se.resolve($e.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=$e.lookupPath(e,{follow:!t}).node;if(!r)throw new $e.ErrnoError(44);if(!r.node_ops.getattr)throw new $e.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>$e.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?$e.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new $e.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){$e.chmod(e,t,!0)},fchmod(e,t){var r=$e.getStreamChecked(e);$e.chmod(r.node,t)},chown(e,t,r,i){var n;if(!(n="string"==typeof e?$e.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new $e.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){$e.chown(e,t,r,!0)},fchown(e,t,r){var i=$e.getStreamChecked(e);$e.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new $e.ErrnoError(28);var r;if(!(r="string"==typeof e?$e.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new $e.ErrnoError(63);if($e.isDir(r.mode))throw new $e.ErrnoError(31);if(!$e.isFile(r.mode))throw new $e.ErrnoError(28);var i=$e.nodePermissions(r,"w");if(i)throw new $e.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=$e.getStreamChecked(e);if(0==(2097155&r.flags))throw new $e.ErrnoError(28);$e.truncate(r.node,t)},utime(e,t,r){var i=$e.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new $e.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?ze(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=ve.normalize(e);try{i=$e.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(i){if(128&t)throw new $e.ErrnoError(20)}else i=$e.mknod(e,r,0),s=!0;if(!i)throw new $e.ErrnoError(44);if($e.isChrdev(i.mode)&&(t&=-513),65536&t&&!$e.isDir(i.mode))throw new $e.ErrnoError(54);if(!s){var o=$e.mayOpen(i,t);if(o)throw new $e.ErrnoError(o)}512&t&&!s&&$e.truncate(i,0),t&=-131713;var a=$e.createStream({node:i,path:$e.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!n.logReadFiles||1&t||($e.readFiles||($e.readFiles={}),e in $e.readFiles||($e.readFiles[e]=1)),a},close(e){if($e.isClosed(e))throw new $e.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{$e.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if($e.isClosed(e))throw new $e.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new $e.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new $e.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new $e.ErrnoError(28);if($e.isClosed(e))throw new $e.ErrnoError(8);if(1==(2097155&e.flags))throw new $e.ErrnoError(8);if($e.isDir(e.node.mode))throw new $e.ErrnoError(31);if(!e.stream_ops.read)throw new $e.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new $e.ErrnoError(70)}else n=e.position;var o=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=o),o},write(e,t,r,i,n,s){if(i<0||n<0)throw new $e.ErrnoError(28);if($e.isClosed(e))throw new $e.ErrnoError(8);if(0==(2097155&e.flags))throw new $e.ErrnoError(8);if($e.isDir(e.node.mode))throw new $e.ErrnoError(31);if(!e.stream_ops.write)throw new $e.ErrnoError(28);e.seekable&&1024&e.flags&&$e.llseek(e,0,2);var o=void 0!==n;if(o){if(!e.seekable)throw new $e.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,s);return o||(e.position+=a),a},allocate(e,t,r){if($e.isClosed(e))throw new $e.ErrnoError(8);if(t<0||r<=0)throw new $e.ErrnoError(28);if(0==(2097155&e.flags))throw new $e.ErrnoError(8);if(!$e.isFile(e.node.mode)&&!$e.isDir(e.node.mode))throw new $e.ErrnoError(43);if(!e.stream_ops.allocate)throw new $e.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new $e.ErrnoError(2);if(1==(2097155&e.flags))throw new $e.ErrnoError(2);if(!e.stream_ops.mmap)throw new $e.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new $e.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=$e.open(e,t.flags),n=$e.stat(e).size,s=new Uint8Array(n);return $e.read(i,s,0,n,0),"utf8"===t.encoding?r=Ae(s,0):"binary"===t.encoding&&(r=s),$e.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=$e.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(Be(t)+1),s=Ue(t,n,0,n.length);$e.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");$e.write(i,t,0,t.byteLength,void 0,r.canOwn)}$e.close(i)},cwd:()=>$e.currentPath,chdir(e){var t=$e.lookupPath(e,{follow:!0});if(null===t.node)throw new $e.ErrnoError(44);if(!$e.isDir(t.node.mode))throw new $e.ErrnoError(54);var r=$e.nodePermissions(t.node,"x");if(r)throw new $e.ErrnoError(r);$e.currentPath=t.path},createDefaultDirectories(){$e.mkdir("/tmp"),$e.mkdir("/home"),$e.mkdir("/home/web_user")},createDefaultDevices(){$e.mkdir("/dev"),$e.registerDevice($e.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),$e.mkdev("/dev/null",$e.makedev(1,3)),Ce.register($e.makedev(5,0),Ce.default_tty_ops),Ce.register($e.makedev(6,0),Ce.default_tty1_ops),$e.mkdev("/dev/tty",$e.makedev(5,0)),$e.mkdev("/dev/tty1",$e.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=we(e).byteLength),e[--t]);$e.createDevice("/dev","random",r),$e.createDevice("/dev","urandom",r),$e.mkdir("/dev/shm"),$e.mkdir("/dev/shm/tmp")},createSpecialDirectories(){$e.mkdir("/proc");var e=$e.mkdir("/proc/self");$e.mkdir("/proc/self/fd"),$e.mount({mount(){var t=$e.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=$e.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?$e.createDevice("/dev","stdin",n.stdin):$e.symlink("/dev/tty","/dev/stdin"),n.stdout?$e.createDevice("/dev","stdout",null,n.stdout):$e.symlink("/dev/tty","/dev/stdout"),n.stderr?$e.createDevice("/dev","stderr",null,n.stderr):$e.symlink("/dev/tty1","/dev/stderr"),$e.open("/dev/stdin",0),$e.open("/dev/stdout",1),$e.open("/dev/stderr",1)},ensureErrnoError(){$e.ErrnoError||($e.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},$e.ErrnoError.prototype=new Error,$e.ErrnoError.prototype.constructor=$e.ErrnoError,[44].forEach((e=>{$e.genericErrors[e]=new $e.ErrnoError(e),$e.genericErrors[e].stack=""})))},staticInit(){$e.ensureErrnoError(),$e.nameTable=new Array(4096),$e.mount(Pe,{},"/"),$e.createDefaultDirectories(),$e.createDefaultDevices(),$e.createSpecialDirectories(),$e.filesystems={MEMFS:Pe}},init(e,t,r){$e.init.initialized=!0,$e.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,$e.createStandardStreams()},quit(){$e.init.initialized=!1;for(var e=0;e<$e.streams.length;e++){var t=$e.streams[e];t&&$e.close(t)}},findObject(e,t){var r=$e.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(i=$e.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=$e.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=ve.basename(e),i=$e.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,i){e="string"==typeof e?e:$e.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var o=ve.join2(e,s);try{$e.mkdir(o)}catch(e){}e=o}}return o},createFile(e,t,r,i,n){var s=ve.join2("string"==typeof e?e:$e.getPath(e),t),o=Ne(i,n);return $e.create(s,o)},createDataFile(e,t,r,i,n,s){var o=t;e&&(e="string"==typeof e?e:$e.getPath(e),o=t?ve.join2(e,t):e);var a=Ne(i,n),d=$e.create(o,a);if(r){if("string"==typeof r){for(var l=new Array(r.length),c=0,u=r.length;cthis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;n||(o=i);var a=this;a.setDataGetter((e=>{var t=e*o,n=(e+1)*o-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==o&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ke(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&i||(o=i=1,i=this.getter(0).length,o=i,x("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!h)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var d=$e.createFile(e,t,a,i,n);a.contents?d.contents=a.contents:a.url&&(d.contents=null,d.url=a.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var o=Math.min(s.length-n,i);if(s.slice)for(var a=0;a{var t=d.stream_ops[e];l[e]=function(){return $e.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>($e.forceLoadFile(d),c(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{$e.forceLoadFile(d);var s=De();if(!s)throw new $e.ErrnoError(48);return c(e,k,s,t,r),{ptr:s,allocated:!0}},d.stream_ops=l,d}},Oe=(e,t)=>e?Ae(T,e,t):"",Ge={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ve.isAbs(t))return t;var i;if(i=-100===e?$e.cwd():Ge.getStreamFromFD(e).path,0==t.length){if(!r)throw new $e.ErrnoError(44);return i}return ve.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&ve.normalize(t)!==ve.normalize($e.getPath(e.node)))return-54;throw e}P[r>>2]=i.dev,P[r+4>>2]=i.mode,L[r+8>>2]=i.nlink,P[r+12>>2]=i.uid,P[r+16>>2]=i.gid,P[r+20>>2]=i.rdev,re=[i.size>>>0,(te=i.size,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[r+24>>2]=re[0],P[r+28>>2]=re[1],P[r+32>>2]=4096,P[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),o=i.ctime.getTime();return re=[Math.floor(n/1e3)>>>0,(te=Math.floor(n/1e3),+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[r+40>>2]=re[0],P[r+44>>2]=re[1],L[r+48>>2]=n%1e3*1e3,re=[Math.floor(s/1e3)>>>0,(te=Math.floor(s/1e3),+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[r+56>>2]=re[0],P[r+60>>2]=re[1],L[r+64>>2]=s%1e3*1e3,re=[Math.floor(o/1e3)>>>0,(te=Math.floor(o/1e3),+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[r+72>>2]=re[0],P[r+76>>2]=re[1],L[r+80>>2]=o%1e3*1e3,re=[i.ino>>>0,(te=i.ino,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[r+88>>2]=re[0],P[r+92>>2]=re[1],0},doMsync(e,t,r,i,n){if(!$e.isFile(t.node.mode))throw new $e.ErrnoError(43);if(2&i)return 0;var s=T.slice(e,e+r);$e.msync(t,s,n,r,i)},varargs:void 0,get(){var e=P[+Ge.varargs>>2];return Ge.varargs+=4,e},getp:()=>Ge.get(),getStr:e=>Oe(e),getStreamFromFD:e=>$e.getStreamChecked(e)},He=e=>{var t=ln(),r=e();return cn(t),r},We=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Ve=function(e,t){var r=arguments.length-2,i=arguments;return He((()=>{for(var n=r,s=un(8*n),o=s>>3,a=0;a{if(U=e,p)throw Qe(e),"unwind";je(e)},Ye=qe,Ke=e=>{if(e instanceof ue||"unwind"==e)return U;c(1,e)},Xe={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){p?Xe.initWorker():Xe.initMainThread()},initMainThread(){j((()=>{Z(),Xe.loadWasmModuleToAllWorkers((()=>J()))}))},initWorker(){nt=!1},setExitStatus:e=>{U=e},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var e of Xe.runningWorkers)he(e);for(var e of Xe.unusedWorkers)he(e);Xe.unusedWorkers=[],Xe.runningWorkers=[],Xe.pthreads=[]},returnWorkerToPool:e=>{var t=e.pthread_ptr;delete Xe.pthreads[t],Xe.unusedWorkers.push(e),Xe.runningWorkers.splice(Xe.runningWorkers.indexOf(e),1),e.pthread_ptr=0,sn(t)},receiveObjectTransfer(e){},threadInitTLS(){Xe.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=r=>{var i=r.data,s=i.cmd;if(i.targetThread&&i.targetThread!=Ji()){var o=Xe.pthreads[i.targetThread];o?o.postMessage(i,i.transferList):B(`Internal error! Worker sent a message "${s}" to target pthread ${i.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===s?ai():"spawnThread"===s?_e(i):"cleanupThread"===s?me(i.thread):"killThread"===s?fe(i.thread):"cancelThread"===s?pe(i.thread):"loaded"===s?(e.loaded=!0,t(e)):"alert"===s?alert(`Thread ${i.threadId}: ${i.text}`):"setimmediate"===i.target?e.postMessage(i):"callHandler"===s?n[i.handler](...i.args):s&&B(`worker sent an unknown command ${s}`)},e.onerror=e=>{throw B(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},f&&(e.on("message",(t=>e.onmessage({data:t}))),e.on("error",(t=>e.onerror(t))));var r=[];for(var i of["onExit","onAbort","print","printErr"])n.hasOwnProperty(i)&&r.push(i);e.postMessage({cmd:"load",handlers:r,urlOrBlob:n.mainScriptUrlOrBlob,wasmMemory:E,wasmModule:A})})),loadWasmModuleToAllWorkers(e){e()},allocateUnusedWorker(){var e;if(n.locateFile){var t=_("decoder-pro-mt-worker.worker.js");e=new Worker(t,{type:"module"})}else e=new Worker(new URL("decoder-pro-mt-worker.worker.js","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href),{type:"module"});Xe.unusedWorkers.push(e)},getNewWorker:()=>(0==Xe.unusedWorkers.length&&(Xe.allocateUnusedWorker(),Xe.loadWasmModuleToWorker(Xe.unusedWorkers[0])),Xe.unusedWorkers.pop())};n.PThread=Xe;var Ze=e=>{for(;e.length>0;)e.shift()(n)},Je=()=>{var e=Ji(),t=L[e+52>>2],r=L[e+56>>2];dn(t,t-r),cn(t)};function Qe(e){if(p)return Ve(1,0,e);Ye(e)}n.establishStackSpace=Je;var et,tt=[],rt=e=>{var t=tt[e];return t||(e>=tt.length&&(tt.length=e+1),tt[e]=t=et.get(e)),t},it=(e,t)=>{!function(e){ye()?Xe.setExitStatus(e):on(e)}(rt(e)(t))};n.invokeEntryPoint=it;var nt=n.noExitRuntime||!0,st=e=>{Xe.tlsInitFunctions.push(e)},ot=(e,t,r,i)=>{Q(`Assertion failed: ${Oe(e)}, at: `+[t?Oe(t):"unknown filename",r,i?Oe(i):"unknown function"])};function at(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){L[this.ptr+4>>2]=e},this.get_type=function(){return L[this.ptr+4>>2]},this.set_destructor=function(e){L[this.ptr+8>>2]=e},this.get_destructor=function(){return L[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,k[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=k[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,k[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=k[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){L[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return L[this.ptr+16>>2]},this.get_exception_ptr=function(){if(hn(this.get_type()))return L[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var dt=(e,t,r)=>{throw new at(e).init(t,r),e},lt=e=>{tn(e,!h,1,!u,65536,!1),Xe.threadInitTLS()},ct=e=>{p?postMessage({cmd:"cleanupThread",thread:e}):me(e)};function ut(e,t,r,i){return p?Ve(2,1,e,t,r,i):ht(e,t,r,i)}var ht=(e,t,r,i)=>{if("undefined"==typeof SharedArrayBuffer)return B("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var n=[];if(p&&0===n.length)return ut(e,t,r,i);var s={startRoutine:r,pthread_ptr:e,arg:i,transferList:n};return p?(s.cmd="spawnThread",postMessage(s,n),0):_e(s)},ft=e=>(P[Qi()>>2]=e,e);function pt(e,t,r){if(p)return Ve(3,1,e,t,r);Ge.varargs=r;try{var i=Ge.getStreamFromFD(e);switch(t){case 0:if((n=Ge.get())<0)return-28;for(;$e.streams[n];)n++;return $e.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=Ge.get();return i.flags|=n,0;case 5:return n=Ge.getp(),C[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ft(28),-1}}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return-e.errno}}function mt(e,t,r,i){if(p)return Ve(4,1,e,t,r,i);Ge.varargs=i;try{t=Ge.getStr(t),t=Ge.calculateAt(e,t);var n=i?Ge.get():0;return $e.open(t,r,n).fd}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return-e.errno}}var _t,gt,yt,vt=(e,t,r,i,n)=>{},bt=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);_t=e},wt=e=>{for(var t="",r=e;T[r];)t+=_t[T[r++]];return t},St={},Et={},At={},xt=e=>{throw new gt(e)},Bt=e=>{throw new yt(e)},Ut=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Bt("Mismatched type converter count");for(var n=0;n{Et.hasOwnProperty(e)?n[t]=Et[e]:(s.push(e),St.hasOwnProperty(e)||(St[e]=[]),St[e].push((()=>{n[t]=Et[e],++o===s.length&&i(n)})))})),0===s.length&&i(n)};function kt(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||xt(`type "${i}" must have a positive integer typeid pointer`),Et.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;xt(`Cannot register type '${i}' twice`)}if(Et[e]=t,delete At[e],St.hasOwnProperty(e)){var n=St[e];delete St[e],n.forEach((e=>e()))}}function Tt(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return kt(e,t,r)}var Ct,Dt=8,Pt=(e,t,r,i)=>{Tt(e,{name:t=wt(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Dt,readValueFromPointer:function(e){return this.fromWireType(T[e])},destructorFunction:null})},Lt=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ft=e=>{xt(e.$$.ptrType.registeredClass.name+" instance already deleted")},It=!1,Mt=e=>{},Rt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},zt=e=>{e.count.value-=1,0===e.count.value&&Rt(e)},Nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=Nt(e,t,r.baseClass);return null===i?null:r.downcast(i)},$t={},Ot=()=>Object.keys(qt).length,Gt=()=>{var e=[];for(var t in qt)qt.hasOwnProperty(t)&&e.push(qt[t]);return e},Ht=[],Wt=()=>{for(;Ht.length;){var e=Ht.pop();e.$$.deleteScheduled=!1,e.delete()}},Vt=e=>{Ct=e,Ht.length&&Ct&&Ct(Wt)},jt=()=>{n.getInheritedInstanceCount=Ot,n.getLiveInheritedInstances=Gt,n.flushPendingDeletes=Wt,n.setDelayFunction=Vt},qt={},Yt=(e,t)=>{for(void 0===t&&xt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},Kt=(e,t)=>(t=Yt(e,t),qt[t]),Xt=(e,t)=>(t.ptrType&&t.ptr||Bt("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Bt("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Jt(Object.create(e,{$$:{value:t}})));function Zt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Kt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?Xt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Xt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=$t[o];if(!a)return n.call(this);s=this.isConst?a.constPointerType:a.pointerType;var d=Nt(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?Xt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):Xt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var Jt=e=>"undefined"==typeof FinalizationRegistry?(Jt=e=>e,e):(It=new FinalizationRegistry((e=>{zt(e.$$)})),Jt=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};It.register(e,r,e)}return e},Mt=e=>It.unregister(e),Jt(e)),Qt=()=>{Object.assign(er.prototype,{isAliasOf(e){if(!(this instanceof er))return!1;if(!(e instanceof er))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||Ft(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Jt(Object.create(Object.getPrototypeOf(this),{$$:{value:Lt(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ft(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&xt("Object already scheduled for deletion"),Mt(this),zt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ft(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&xt("Object already scheduled for deletion"),Ht.push(this),1===Ht.length&&Ct&&Ct(Wt),this.$$.deleteScheduled=!0,this}})};function er(){}var tr=(e,t)=>Object.defineProperty(t,"name",{value:e}),rr=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||xt(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},ir=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&xt(`Cannot register public name '${e}' twice`),rr(n,e,e),n.hasOwnProperty(r)&&xt(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},nr=48,sr=57,or=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=nr&&t<=sr?`_${e}`:e};function ar(e,t,r,i,n,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var dr=(e,t,r)=>{for(;t!==r;)t.upcast||xt(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function lr(e,t){if(null===t)return this.isReference&&xt(`null is not a valid ${this.name}`),0;t.$$||xt(`Cannot pass "${Or(t)}" as a ${this.name}`),t.$$.ptr||xt(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return dr(t.$$.ptr,r,this.registeredClass)}function cr(e,t){var r;if(null===t)return this.isReference&&xt(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||xt(`Cannot pass "${Or(t)}" as a ${this.name}`),t.$$.ptr||xt(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&xt(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=dr(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&xt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:xt(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,zr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:xt("Unsupporting sharing policy")}return r}function ur(e,t){if(null===t)return this.isReference&&xt(`null is not a valid ${this.name}`),0;t.$$||xt(`Cannot pass "${Or(t)}" as a ${this.name}`),t.$$.ptr||xt(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&xt(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return dr(t.$$.ptr,r,this.registeredClass)}function hr(e){return this.fromWireType(L[e>>2])}var fr=()=>{Object.assign(pr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Dt,readValueFromPointer:hr,deleteObject(e){null!==e&&e.delete()},fromWireType:Zt})};function pr(e,t,r,i,n,s,o,a,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=cr:i?(this.toWireType=lr,this.destructorFunction=null):(this.toWireType=ur,this.destructorFunction=null)}var mr,_r=(e,t,r)=>{n.hasOwnProperty(e)||Bt("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},gr=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},yr=(e,t,r)=>e.includes("j")?gr(e,t,r):rt(t).apply(null,r),vr=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),yr(e,t,r)}},br=(e,t)=>{var r=(e=wt(e)).includes("j")?vr(e,t):rt(t);return"function"!=typeof r&&xt(`unknown function pointer with signature ${e}: ${t}`),r},wr=(e,t)=>{var r=tr(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Sr=e=>{var t=en(e),r=wt(t);return Xi(t),r},Er=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Et[t]||(At[t]?At[t].forEach(e):(r.push(t),i[t]=!0))})),new mr(`${e}: `+r.map(Sr).join([", "]))},Ar=(e,t,r,i,n,s,o,a,d,l,c,u,h)=>{c=wt(c),s=br(n,s),a&&(a=br(o,a)),l&&(l=br(d,l)),h=br(u,h);var f=or(c);ir(f,(function(){Er(`Cannot construct ${c} due to unbound types`,[i])})),Ut([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:er.prototype;var o=tr(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new gt("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new gt(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new gt(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:o}});o.prototype=d;var u=new ar(c,o,d,h,r,s,a,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new pr(c,u,!0,!1,!1),m=new pr(c+"*",u,!1,!1,!1),_=new pr(c+" const*",u,!1,!0,!1);return $t[e]={pointerType:m,constPointerType:_},_r(f,o),[p,m,_]}))},xr=(e,t)=>{for(var r=[],i=0;i>2]);return r},Br=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Ur(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=tr(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function kr(e,t,r,i,n,s){var o=t.length;o<2&&xt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=a?1:2;l{var o=xr(t,r);n=br(i,n),Ut([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new gt(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Er(`Cannot construct ${e.name} due to unbound types`,o)},Ut([],o,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=kr(r,i,null,n,s),[]))),[]}))},Cr=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Dr=(e,t,r,i,n,s,o,a,d)=>{var l=xr(r,i);t=wt(t),t=Cr(t),s=br(n,s),Ut([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Er(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(rr(c,t,i),c[t].overloadTable[r-2]=n),Ut([],l,(function(n){var a=kr(i,n,e,s,o,d);return void 0===c[t].overloadTable?(a.argCount=r-2,c[t]=a):c[t].overloadTable[r-2]=a,[]})),[]}))};function Pr(){Object.assign(Lr.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function Lr(){this.allocated=[void 0],this.freelist=[]}var Fr=new Lr,Ir=e=>{e>=Fr.reserved&&0==--Fr.get(e).refcount&&Fr.free(e)},Mr=()=>{for(var e=0,t=Fr.reserved;t{Fr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Fr.reserved=Fr.allocated.length,n.count_emval_handles=Mr},zr={toValue:e=>(e||xt("Cannot use deleted val. handle = "+e),Fr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Fr.allocate({refcount:1,value:e})}}};function Nr(e){return this.fromWireType(P[e>>2])}var $r=(e,t)=>{Tt(e,{name:t=wt(t),fromWireType:e=>{var t=zr.toValue(e);return Ir(e),t},toWireType:(e,t)=>zr.toHandle(t),argPackAdvance:Dt,readValueFromPointer:Nr,destructorFunction:null})},Or=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Gr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(F[e>>2])};case 8:return function(e){return this.fromWireType(I[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Hr=(e,t,r)=>{Tt(e,{name:t=wt(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Dt,readValueFromPointer:Gr(t,r),destructorFunction:null})},Wr=(e,t,r)=>{switch(t){case 1:return r?e=>k[e>>0]:e=>T[e>>0];case 2:return r?e=>C[e>>1]:e=>D[e>>1];case 4:return r?e=>P[e>>2]:e=>L[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Vr=(e,t,r,i,n)=>{t=wt(t);var s=e=>e;if(0===i){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");Tt(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Dt,readValueFromPointer:Wr(t,r,0!==i),destructorFunction:null})},jr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=L[e>>2],r=L[e+4>>2];return new i(k.buffer,r,t)}Tt(e,{name:r=wt(r),fromWireType:n,argPackAdvance:Dt,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},qr=(e,t,r)=>Ue(e,T,t,r),Yr=(e,t)=>{var r="std::string"===(t=wt(t));Tt(e,{name:t,fromWireType(e){var t,i=L[e>>2],n=e+4;if(r)for(var s=n,o=0;o<=i;++o){var a=n+o;if(o==i||0==T[a]){var d=Oe(s,a-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=a+1}}else{var l=new Array(i);for(o=0;o>2]=i,r&&n)qr(t,o,i+1);else if(n)for(var a=0;a255&&(Xi(o),xt("String has UTF-16 code units that do not fit in 8 bits")),T[o+a]=d}else for(a=0;a{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&D[i];)++i;if((r=i<<1)-e>32&&Kr)return Kr.decode(T.slice(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=C[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},Zr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return C[t>>1]=0,t-i},Jr=e=>2*e.length,Qr=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=P[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},ei=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),P[t>>2]=o,(t+=4)+4>n)break}return P[t>>2]=0,t-i},ti=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},ri=(e,t,r)=>{var i,n,s,o,a;r=wt(r),2===t?(i=Xr,n=Zr,o=Jr,s=()=>D,a=1):4===t&&(i=Qr,n=ei,o=ti,s=()=>L,a=2),Tt(e,{name:r,fromWireType:e=>{for(var r,n=L[e>>2],o=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==o[c>>a]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return Xi(e),r},toWireType:(e,i)=>{"string"!=typeof i&&xt(`Cannot pass non-string to C++ string type ${r}`);var s=o(i),d=Zi(4+s+t);return L[d>>2]=s>>a,n(i,d+4,s+t),null!==e&&e.push(Xi,d),d},argPackAdvance:Dt,readValueFromPointer:Nr,destructorFunction(e){Xi(e)}})},ii=(e,t)=>{Tt(e,{isVoid:!0,name:t=wt(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},ni=()=>{if(!ye())try{p?on(U):Ye(U)}catch(e){Ke(e)}},si=e=>{if(!M)try{e(),ni()}catch(e){Ke(e)}},oi=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(P,e>>2,e).value.then(ai);var t=e+128;Atomics.store(P,t>>2,1)}};n.__emscripten_thread_mailbox_await=oi;var ai=()=>{var e=Ji();e&&(oi(e),si(an))};n.checkMailbox=ai;var di,li=(e,t,r)=>{if(e==t)setTimeout((()=>ai()));else if(p)postMessage({targetThread:e,cmd:"checkMailbox"});else{var i=Xe.pthreads[e];if(!i)return;i.postMessage({cmd:"checkMailbox"})}},ci=[],ui=(e,t,r,i)=>{ci.length=r;for(var n=i>>3,s=0;s{f&&Xe.pthreads[e].ref()},fi={},pi=e=>{var t=fi[e];return void 0===t?wt(e):t},mi=[],_i=(e,t,r,i,n)=>(e=mi[e])(t=zr.toValue(t),t[r=pi(r)],i,n),gi=e=>{var t=mi.length;return mi.push(e),t},yi=(e,t)=>{var r=Et[e];return void 0===r&&xt(t+" has unknown type "+Sr(e)),r},vi=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},bi=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(L[t>>2]=zr.toHandle(i)),n},wi=(e,t,r)=>{var i=vi(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return gi(tr(h,u))},Si=e=>{var t=zr.toValue(e);Br(t),Ir(e)},Ei=()=>{Q("")},Ai=()=>{},xi=()=>Date.now(),Bi=()=>{ge+=1},Ui=()=>{throw Bi(),"unwind"};di=()=>performance.timeOrigin+performance.now();var ki=()=>f?g("os").cpus().length:navigator.hardwareConcurrency,Ti=e=>{Q("OOM")},Ci=e=>{T.length,Ti()},Di={},Pi=()=>l||"./this.program",Li=()=>{if(!Li.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Pi()};for(var t in Di)void 0===Di[t]?delete e[t]:e[t]=Di[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Li.strings=r}return Li.strings},Fi=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);k[t>>0]=0},Ii=function(e,t){if(p)return Ve(5,1,e,t);var r=0;return Li().forEach(((i,n)=>{var s=t+r;L[e+4*n>>2]=s,Fi(i,s),r+=i.length+1})),0},Mi=function(e,t){if(p)return Ve(6,1,e,t);var r=Li();L[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),L[t>>2]=i,0};function Ri(e){if(p)return Ve(7,1,e);try{var t=Ge.getStreamFromFD(e);return $e.close(t),0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}}function zi(e,t){if(p)return Ve(8,1,e,t);try{var r=Ge.getStreamFromFD(e),i=r.tty?2:$e.isDir(r.mode)?3:$e.isLink(r.mode)?7:4;return k[t>>0]=i,C[t+2>>1]=0,re=[0,(te=0,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[t+8>>2]=re[0],P[t+12>>2]=re[1],re=[0,(te=0,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[t+16>>2]=re[0],P[t+20>>2]=re[1],0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}}var Ni=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=L[t+4>>2];t+=8;var d=$e.read(e,k,o,a,i);if(d<0)return-1;if(n+=d,d>2]=s,0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}}function Oi(e,t,r,i,n){if(p)return Ve(10,1,e,t,r,i,n);var s=We(t,r);try{if(isNaN(s))return 61;var o=Ge.getStreamFromFD(e);return $e.llseek(o,s,i),re=[o.position>>>0,(te=o.position,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],P[n>>2]=re[0],P[n+4>>2]=re[1],o.getdents&&0===s&&0===i&&(o.getdents=null),0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}}var Gi=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=L[t+4>>2];t+=8;var d=$e.write(e,k,o,a,i);if(d<0)return-1;n+=d,void 0!==i&&(i+=d)}return n};function Hi(e,t,r,i){if(p)return Ve(11,1,e,t,r,i);try{var n=Ge.getStreamFromFD(e),s=Gi(n,t,r);return L[i>>2]=s,0}catch(e){if(void 0===$e||"ErrnoError"!==e.name)throw e;return e.errno}}Xe.init();var Wi=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=$e.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},Vi=365,ji=146;Object.defineProperties(Wi.prototype,{read:{get:function(){return(this.mode&Vi)===Vi},set:function(e){e?this.mode|=Vi:this.mode&=~Vi}},write:{get:function(){return(this.mode&ji)===ji},set:function(e){e?this.mode|=ji:this.mode&=~ji}},isFolder:{get:function(){return $e.isDir(this.mode)}},isDevice:{get:function(){return $e.isChrdev(this.mode)}}}),$e.FSNode=Wi,$e.createPreloadedFile=Re,$e.staticInit(),bt(),gt=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},yt=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Qt(),jt(),fr(),mr=n.UnboundTypeError=wr(Error,"UnboundTypeError"),Pr(),Rr();var qi=[je,Qe,ut,pt,mt,Ii,Mi,Ri,zi,$i,Oi,Hi],Yi={f:ot,s:dt,E:lt,m:ct,z:ht,N:pt,B:mt,u:vt,P:Pt,M:Ar,D:Tr,j:Dr,O:$r,p:Hr,d:Vr,c:jr,q:Yr,l:ri,Q:ii,w:li,A:ui,C:oi,J:hi,i:_i,r:Ir,h:wi,g:Si,b:Ei,n:Ai,k:xi,I:Ui,e:di,x:ki,v:Ci,G:Ii,H:Mi,y:Ye,o:Ri,F:zi,L:$i,t:Oi,K:Hi,a:E||n.wasmMemory},Ki=ce(),Xi=e=>(Xi=Ki.S)(e),Zi=e=>(Zi=Ki.T)(e),Ji=n._pthread_self=()=>(Ji=n._pthread_self=Ki.U)(),Qi=()=>(Qi=Ki.V)();n.__emscripten_tls_init=()=>(n.__emscripten_tls_init=Ki.W)();var en=e=>(en=Ki.X)(e);n.__embind_initialize_bindings=()=>(n.__embind_initialize_bindings=Ki.Y)();var tn=n.__emscripten_thread_init=(e,t,r,i,s,o)=>(tn=n.__emscripten_thread_init=Ki._)(e,t,r,i,s,o);n.__emscripten_thread_crashed=()=>(n.__emscripten_thread_crashed=Ki.$)();var rn,nn=(e,t,r,i)=>(nn=Ki.aa)(e,t,r,i),sn=e=>(sn=Ki.ba)(e),on=n.__emscripten_thread_exit=e=>(on=n.__emscripten_thread_exit=Ki.ca)(e),an=()=>(an=Ki.da)(),dn=(e,t)=>(dn=Ki.ea)(e,t),ln=()=>(ln=Ki.fa)(),cn=e=>(cn=Ki.ga)(e),un=e=>(un=Ki.ha)(e),hn=e=>(hn=Ki.ia)(e);function fn(){if(!(K>0)){if(p)return t(n),W(),void startWorker(n);H(),K>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e())}function e(){rn||(rn=!0,n.calledRun=!0,M||(W(),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),V()))}}if(n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=Ki.ja)(e,t,r,i,s),n._ff_h264_cabac_tables=98917,n.wasmMemory=E,n.keepRuntimeAlive=ye,n.ExitStatus=ue,n.PThread=Xe,X=function e(){rn||fn(),rn||(X=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return fn(),e.ready}),o=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,i,n;(n=t).ready=new Promise(((e,t)=>{r=e,i=t})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,o,a,d=Object.assign({},n),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return n.locateFile?n.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href)),s=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=n.print||console.log.bind(console),w=n.printErr||console.error.bind(console);Object.assign(n,d),d=null,n.arguments&&n.arguments,n.thisProgram&&(l=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(y=n.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,x,B,U,k,T,C=!1;function D(e,t){e||j(t)}function P(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=A=new Int16Array(e),n.HEAPU8=E=new Uint8Array(e),n.HEAPU16=x=new Uint16Array(e),n.HEAP32=B=new Int32Array(e),n.HEAPU32=U=new Uint32Array(e),n.HEAPF32=k=new Float32Array(e),n.HEAPF64=T=new Float64Array(e)}var L=[],F=[],I=[];function M(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)N(n.preRun.shift());ne(L)}function R(){n.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ne(F)}function z(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)O(n.postRun.shift());ne(I)}function N(e){L.unshift(e)}function $(e){F.unshift(e)}function O(e){I.unshift(e)}var G=0,H=null;function W(e){G++,n.monitorRunDependencies&&n.monitorRunDependencies(G)}function V(e){if(G--,n.monitorRunDependencies&&n.monitorRunDependencies(G),0==G&&H){var t=H;H=null,t()}}function j(e){n.onAbort&&n.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:ni};function t(e,t){return si=e.exports,v=si.E,P(),Lt=si.H,$(si.F),V(),si}if(W(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}n.locateFile?Z(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){U[this.ptr+4>>2]=e},this.get_type=function(){return U[this.ptr+4>>2]},this.set_destructor=function(e){U[this.ptr+8>>2]=e},this.get_destructor=function(){return U[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){U[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return U[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return U[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(B[ai()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:Te.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&he)return he.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n};function ge(e,t,r){var i=r>0?r:me(e)+1,n=new Array(i),s=_e(e,n,0,n.length);return t&&(n.length=s),n}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,o=0;oye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var n=Te.createNode(e,t,r,i);return Te.isDir(n.mode)?(n.node_ops=we.ops_table.dir.node,n.stream_ops=we.ops_table.dir.stream,n.contents={}):Te.isFile(n.mode)?(n.node_ops=we.ops_table.file.node,n.stream_ops=we.ops_table.file.stream,n.usedBytes=0,n.contents=null):Te.isLink(n.mode)?(n.node_ops=we.ops_table.link.node,n.stream_ops=we.ops_table.link.stream):Te.isChrdev(n.mode)&&(n.node_ops=we.ops_table.chrdev.node,n.stream_ops=we.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(Te.isDir(e.mode)){var i;try{i=Te.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var i in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-n,i);if(o>8&&s.subarray)t.set(s.subarray(n,n+o),r);else for(var a=0;a0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var n=i?"":`al ${e}`;o(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),n&&V()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&W()},Ee=(e,t,r,i,n,s)=>{Te.createDataFile(e,t,r,i,n,s)},Ae=n.preloadPlugins||[],xe=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ae.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,i),n=!0)})),n},Be=(e,t,r,i,n,s,o,a,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),a||Ee(e,t,r,i,n,d),s&&s(),V()}xe(r,c,u,(()=>{o&&o(),V()}))||u(r)}W(),"string"==typeof r?Se(r,(e=>u(e)),o):u(r)},Ue=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},ke=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=Te.root,n="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var i=Te.hashName(e.id,t),n=Te.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Te.lookup(e,t)},createNode(e,t,r,i){var n=new Te.FSNode(e,t,r,i);return Te.hashAddNode(n),n},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{Te.lookupNode(e,t);return 20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=Te.lookupNode(e,t)}catch(e){return e.errno}var n=Te.nodePermissions(e,"wx");if(n)return n;if(r){if(!Te.isDir(i.mode))return 54;if(Te.isRoot(i)||Te.getPath(i)===Te.cwd())return 10}else if(Te.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),i=0;function n(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&Te.root)throw new Te.ErrnoError(10);if(!n&&!s){var o=Te.lookupPath(r,{follow_mount:!1});if(r=o.path,i=o.node,Te.isMountpoint(i))throw new Te.ErrnoError(10);if(!Te.isDir(i.mode))throw new Te.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?Te.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,i=r.mounted,n=Te.getMounts(i);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=Te.lookupPath(e,{parent:!0}).node,n=de.basename(e);if(!n||"."===n||".."===n)throw new Te.ErrnoError(28);var s=Te.mayCreate(i,n);if(s)throw new Te.ErrnoError(s);if(!i.node_ops.mknod)throw new Te.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var i=de.basename(t),n=Te.mayCreate(r,i);if(n)throw new Te.ErrnoError(n);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n=de.dirname(e),s=de.dirname(t),o=de.basename(e),a=de.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,i=Te.lookupPath(t,{parent:!0}).node,!r||!i)throw new Te.ErrnoError(44);if(r.mount!==i.mount)throw new Te.ErrnoError(75);var d,l=Te.lookupNode(r,o),c=ue.relative(e,s);if("."!==c.charAt(0))throw new Te.ErrnoError(28);if("."!==(c=ue.relative(t,n)).charAt(0))throw new Te.ErrnoError(55);try{d=Te.lookupNode(i,a)}catch(e){}if(l!==d){var u=Te.isDir(l.mode),h=Te.mayDelete(r,o,u);if(h)throw new Te.ErrnoError(h);if(h=d?Te.mayDelete(i,a,u):Te.mayCreate(i,a))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(l)||d&&Te.isMountpoint(d))throw new Te.ErrnoError(10);if(i!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{Te.hashAddNode(l)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=Te.lookupNode(t,r),n=Te.mayDelete(t,r,!0);if(n)throw new Te.ErrnoError(n);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(i)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=de.basename(e),i=Te.lookupNode(t,r),n=Te.mayDelete(t,r,!1);if(n)throw new Te.ErrnoError(n);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(i)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return ue.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var i;"string"==typeof e?i=Te.lookupPath(e,{follow:!r}).node:i=e;if(!i.node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,i){var n;"string"==typeof e?n=Te.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var i=Te.getStreamChecked(e);Te.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;"string"==typeof e?r=Te.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var i=Te.nodePermissions(r,"w");if(i)throw new Te.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var i=Te.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ue(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(i){if(128&t)throw new Te.ErrnoError(20)}else i=Te.mknod(e,r,0),s=!0;if(!i)throw new Te.ErrnoError(44);if(Te.isChrdev(i.mode)&&(t&=-513),65536&t&&!Te.isDir(i.mode))throw new Te.ErrnoError(54);if(!s){var o=Te.mayOpen(i,t);if(o)throw new Te.ErrnoError(o)}512&t&&!s&&Te.truncate(i,0),t&=-131713;var a=Te.createStream({node:i,path:Te.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!n.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),a},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else n=e.position;var o=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=o),o},write(e,t,r,i,n,s){if(i<0||n<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var o=void 0!==n;if(o){if(!e.seekable)throw new Te.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,s);return o||(e.position+=a),a},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=Te.open(e,t.flags),n=Te.stat(e).size,s=new Uint8Array(n);return Te.read(i,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=Te.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(me(t)+1),s=_e(t,n,0,n.length);Te.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(i,t,0,t.byteLength,void 0,r.canOwn)}Te.close(i)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),Te.mkdev("/dev/null",Te.makedev(1,3)),ve.register(Te.makedev(5,0),ve.default_tty_ops),ve.register(Te.makedev(6,0),ve.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=Te.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?Te.createDevice("/dev","stdin",n.stdin):Te.symlink("/dev/tty","/dev/stdin"),n.stdout?Te.createDevice("/dev","stdout",null,n.stdout):Te.symlink("/dev/tty","/dev/stdout"),n.stderr?Te.createDevice("/dev","stderr",null,n.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;n||(o=i);var a=this;a.setDataGetter((e=>{var t=e*o,n=(e+1)*o-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==o&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ge(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&i||(o=i=1,i=this.getter(0).length,o=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var d=Te.createFile(e,t,a,i,n);a.contents?d.contents=a.contents:a.url&&(d.contents=null,d.url=a.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var o=Math.min(s.length-n,i);if(s.slice)for(var a=0;a{var t=d.stream_ops[e];l[e]=function(){return Te.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(Te.forceLoadFile(d),c(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{Te.forceLoadFile(d);var s=be();if(!s)throw new Te.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;-100===e?i=Te.cwd():i=De.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new Te.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(Te.getPath(e.node)))return-54;throw e}B[r>>2]=i.dev,B[r+4>>2]=i.mode,U[r+8>>2]=i.nlink,B[r+12>>2]=i.uid,B[r+16>>2]=i.gid,B[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+24>>2]=K[0],B[r+28>>2]=K[1],B[r+32>>2]=4096,B[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),o=i.ctime.getTime();return K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+40>>2]=K[0],B[r+44>>2]=K[1],U[r+48>>2]=n%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+56>>2]=K[0],B[r+60>>2]=K[1],U[r+64>>2]=s%1e3*1e3,K=[Math.floor(o/1e3)>>>0,(Y=Math.floor(o/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+72>>2]=K[0],B[r+76>>2]=K[1],U[r+80>>2]=o%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+88>>2]=K[0],B[r+92>>2]=K[1],0},doMsync(e,t,r,i,n){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);Te.msync(t,s,n,r,i)},varargs:void 0,get(){var e=B[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Pe(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((n=De.get())<0)return-28;for(;Te.streams[n];)n++;return Te.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=De.get();return i.flags|=n,0;case 5:n=De.getp();return A[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Le(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var n=i?De.get():0;return Te.open(t,r,n).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ie,Me,Re=(e,t,r,i,n)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},$e={},Oe={},Ge={},He=e=>{throw new Ie(e)},We=e=>{throw new Me(e)},Ve=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&We("Mismatched type converter count");for(var n=0;n{Oe.hasOwnProperty(e)?n[t]=Oe[e]:(s.push(e),$e.hasOwnProperty(e)||($e[e]=[]),$e[e].push((()=>{n[t]=Oe[e],++o===s.length&&i(n)})))})),0===s.length&&i(n)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Oe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Oe[e]=t,delete Ge[e],$e.hasOwnProperty(e)){var n=$e[e];delete $e[e],n.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},nt={},st=()=>Object.keys(ut).length,ot=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},at=[],dt=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,at.length&&Ye&&Ye(dt)},ct=()=>{n.getInheritedInstanceCount=st,n.getLiveInheritedInstances=ot,n.flushPendingDeletes=dt,n.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||We("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&We("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=nt[o];if(!a)return n.call(this);s=this.isConst?a.constPointerType:a.pointerType;var d=it(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),at.push(this),1===at.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(n,e,e),n.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function xt(e,t,r,i,n,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var Bt=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ut(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Bt(t.$$.ptr,r,this.registeredClass)}function kt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Bt(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,sr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Bt(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(U[e>>2])}var Dt=()=>{Object.assign(Pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Pt(e,t,r,i,n,s,o,a,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=kt:i?(this.toWireType=Ut,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Lt,Ft,It=(e,t,r)=>{n.hasOwnProperty(e)||We("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Mt=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Lt.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),$t=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Ot=(e,t)=>{var r=(e=Ne(e)).includes("j")?$t(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},Gt=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=di(e),r=Ne(t);return oi(t),r},Wt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Oe[t]||(Ge[t]?Ge[t].forEach(e):(r.push(t),i[t]=!0))})),new Ft(`${e}: `+r.map(Ht).join([", "]))},Vt=(e,t,r,i,n,s,o,a,d,l,c,u,h)=>{c=Ne(c),s=Ot(n,s),a&&(a=Ot(o,a)),l&&(l=Ot(d,l)),h=Ot(u,h);var f=At(c);wt(f,(function(){Wt(`Cannot construct ${c} due to unbound types`,[i])})),Ve([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:yt.prototype;var o=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Ie("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Ie(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Ie(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:o}});o.prototype=d;var u=new xt(c,o,d,h,r,s,a,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Pt(c,u,!0,!1,!1),m=new Pt(c+"*",u,!1,!1,!1),_=new Pt(c+" const*",u,!1,!0,!1);return nt[e]={pointerType:m,constPointerType:_},It(f,o),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Kt(e,t,r,i,n,s){var o=t.length;o<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=a?1:2;l{var o=jt(t,r);n=Ot(i,n),Ve([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ie(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Wt(`Cannot construct ${e.name} due to unbound types`,o)},Ve([],o,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,n,s),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,n,s,o,a,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),s=Ot(n,s),Ve([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Wt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(bt(c,t,i),c[t].overloadTable[r-2]=n),Ve([],l,(function(n){var a=Kt(i,n,e,s,o,d);return void 0===c[t].overloadTable?(a.argCount=r-2,c[t]=a):c[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,n.count_emval_handles=ir},sr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(B[e>>2])}var ar=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:or,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(k[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>x[e>>1];case 4:return r?e=>B[e>>2]:e=>U[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,n)=>{t=Ne(t);var s=e=>e;if(0===i){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=U[e>>2],r=U[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:Ke,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=U[e>>2],n=e+4;if(r)for(var s=n,o=0;o<=i;++o){var a=n+o;if(o==i||0==E[a]){var d=Ce(s,a-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=a+1}}else{var l=new Array(i);for(o=0;o>2]=i,r&&n)pr(t,o,i+1);else if(n)for(var a=0;a255&&(oi(o),He("String has UTF-16 code units that do not fit in 8 bits")),E[o+a]=d}else for(a=0;a{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&x[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=A[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=B[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s);if(B[t>>2]=o,(t+=4)+4>n)break}return B[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,n,s,o,a;r=Ne(r),2===t?(i=gr,n=yr,o=vr,s=()=>x,a=1):4===t&&(i=br,n=wr,o=Sr,s=()=>U,a=2),qe(e,{name:r,fromWireType:e=>{for(var r,n=U[e>>2],o=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==o[c>>a]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return oi(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var s=o(i),d=li(4+s+t);return U[d>>2]=s>>a,n(i,d+4,s+t),null!==e&&e.push(oi,d),d},argPackAdvance:Ke,readValueFromPointer:or,destructorFunction(e){oi(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},xr={},Br=e=>{var t=xr[e];return void 0===t?Ne(e):t},Ur=[],kr=(e,t,r,i,n)=>(e=Ur[e])(t=sr.toValue(t),t[r=Br(r)],i,n),Tr=e=>{var t=Ur.length;return Ur.push(e),t},Cr=(e,t)=>{var r=Oe[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Pr=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(U[t>>2]=sr.toHandle(i)),n},Lr=(e,t,r)=>{var i=Dr(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return Tr(vt(h,u))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ir=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},$r=e=>{E.length,Nr()},Or={},Gr=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Gr()};for(var t in Or)void 0===Or[t]?delete e[t]:e[t]=Or[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Wr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Vr=(e,t)=>{var r=0;return Hr().forEach(((i,n)=>{var s=t+r;U[e+4*n>>2]=s,Wr(i,s),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();U[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),U[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[t+8>>2]=K[0],B[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[t+16>>2]=K[0],B[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=U[t+4>>2];t+=8;var d=Te.read(e,S,o,a,i);if(d<0)return-1;if(n+=d,d>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,n){var s=Ir(t,r);try{if(isNaN(s))return 61;var o=De.getStreamFromFD(e);return Te.llseek(o,s,i),K=[o.position>>>0,(Y=o.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[n>>2]=K[0],B[n+4>>2]=K[1],o.getdents&&0===s&&0===i&&(o.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=U[t+4>>2];t+=8;var d=Te.write(e,S,o,a,i);if(d<0)return-1;n+=d,void 0!==i&&(i+=d)}return n};function Qr(e,t,r,i){try{var n=De.getStreamFromFD(e),s=Jr(n,t,r);return U[i>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=ei,Te.createPreloadedFile=Be,Te.staticInit(),ze(),Ie=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),Ft=n.UnboundTypeError=Gt(Error,"UnboundTypeError"),Qt(),nr();var ii,ni={o:oe,A:Pe,s:Le,q:Re,C:Xe,D:Vt,y:Xt,g:Jt,B:ar,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:kr,m:rr,e:Lr,d:Fr,a:Mr,h:Rr,w:zr,r:$r,u:Vr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},si=ie(),oi=e=>(oi=si.G)(e),ai=()=>(ai=si.I)(),di=e=>(di=si.J)(e),li=e=>(li=si.K)(e),ci=e=>(ci=si.M)(e);function ui(){function e(){ii||(ii=!0,n.calledRun=!0,C||(R(),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),z()))}G>0||(M(),G>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_viiijj=(e,t,r,i,s,o,a,d)=>(n.dynCall_viiijj=si.N)(e,t,r,i,s,o,a,d),n.dynCall_jij=(e,t,r,i)=>(n.dynCall_jij=si.O)(e,t,r,i),n.dynCall_jii=(e,t,r)=>(n.dynCall_jii=si.P)(e,t,r),n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=si.Q)(e,t,r,i,s),H=function e(){ii||ui(),ii||(H=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return ui(),t.ready}})(),a=1e-6,d="undefined"!=typeof Float32Array?Float32Array:Array;function l(){var e=new d(16);return d!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function c(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var u,h=function(e,t,r,i,n,s,o){var a=1/(t-r),d=1/(i-n),l=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*a,e[13]=(n+i)*d,e[14]=(o+s)*l,e[15]=1,e};function f(e,t,r){var i=new d(3);return i[0]=e,i[1]=t,i[2]=r,i}u=new d(3),d!=Float32Array&&(u[0]=0,u[1]=0,u[2]=0);var p=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},n=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const n=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:n}}(),s=p(),o=p(),d=p(),u=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const s=l();h(s,-1,1,-1,1,.1,100);const p=l();c(p);const m=l();!function(e,t,r,i){var n,s,o,d,l,u,h,f,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),n=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const qt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],Yt=qt,Kt=qt;function Xt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Zt(e){return Jt(e)&&e[1]===Ct}function Jt(e){return e[0]>>4===He}const Qt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function er(e){let t=new Uint8Array(e),r=null,i=0,n=0,s=0,o=null;if(i=n=t[0]>>>3,s=(7&t[0])<<1|t[1]>>>7,s<0||s>=Qt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let a=Qt[s],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(o=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Ht.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?s>=6?(i=5,r=new Array(4),o=s-3):(i=2,r=new Array(2),o=s):-1!==l.indexOf("android")?(i=2,r=new Array(2),o=s):(i=5,o=s,r=new Array(4),s>=6?o=s-3:1===d&&(i=2,r=new Array(2),o=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:a,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+n}}class tr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,n=(6&e[r+1])>>>1,s=1&e[r+1],o=(192&e[r+2])>>>6,a=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===s?7:9,u=l-c;r+=c;let h=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=h,0!==i&&1!==i||0!==n)continue;let f=e.subarray(r,r+u);t={},t.audio_object_type=o+1,t.sampling_freq_index=a,t.sampling_frequency=Yt[a],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class rr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,n=(31&t[i+1])<<8|t[i+2];if(i+3+n>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let s=new jt(t.subarray(i+3,i+3+n)),o=null;if(s.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n),s.destroy();continue}o=e}else{let e=s.readBool();if(e&&s.readBool()){console.error("audioMuxVersionA is Not Supported"),s.destroy();break}if(e&&this.getLATMValue(s),!s.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),s.destroy();break}if(0!==s.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),s.destroy();break}if(0!==s.readBits(4)){console.error("more than 2 numProgram Not Supported"),s.destroy();break}if(0!==s.readBits(3)){console.error("more than 2 numLayer Not Supported"),s.destroy();break}let t=e?this.getLATMValue(s):0,r=s.readBits(5);t-=5;let i=s.readBits(4);t-=4;let n=s.readBits(4);t-=4,s.readBits(3),t-=3,t>0&&s.readBits(t);let a=s.readBits(3);if(0!==a){console.error(`frameLengthType = ${a}. Only frameLengthType = 0 Supported`),s.destroy();break}s.readByte();let d=s.readBool();if(d)if(e)this.getLATMValue(s);else{let e=0;for(;;){e<<=8;let t=s.readBool();if(e+=s.readByte(),!t)break}console.log(e)}s.readBool()&&s.readByte(),o={},o.audio_object_type=r,o.sampling_freq_index=i,o.sampling_frequency=Yt[o.sampling_freq_index],o.channel_config=n,o.other_data_present=d}let a=0;for(;;){let e=s.readByte();if(a+=e,255!==e)break}let d=new Uint8Array(a);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function nr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let n,s=0;for(;s+t>>=8),s+=t,n){if(s+n>r)break;i.push(e.subarray(s,s+n)),s+=n}return i}function sr(e,t){const r=e.length;let i=t?2:1,n=0,s=0,o="";for(;255===e[i];)n+=255,i++;for(n+=e[i++];255===e[i];)s+=255,i++;if(s+=e[i++],5===n&&r>i+16)for(let t=0;t<16;t++)o+=e[i].toString(16),i++;return{payload:e.subarray(i),type:n,size:s,uuid:o}}function or(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function ar(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function dr(){return(new Date).getTime()}function lr(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function cr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function ur(e){let t=0,r=cr();return i=>{if(n=i,"[object Number]"!==Object.prototype.toString.call(n))return;var n;t+=i;const s=cr(),o=s-r;o>=1e3&&(e(t/o*1e3),r=s,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function hr(e){return null==e}function fr(e){return!hr(e)}function pr(e){return"function"==typeof e}function mr(e){let t=null,r=31&e[0];return r!==qe&&r!==Ye||(t=Oe),t||(r=(126&e[0])>>1,r!==dt&&r!==ct&&r!==ht||(t=Ge)),t}function _r(){return"undefined"!=typeof WritableStream}function gr(e){e.close()}function yr(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,n=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,n=2)}if(r)for(let s=n;s=1e3){e[s-1].ts-r.ts<1e3&&(i=s+1)}}}return i}function vr(e){return e.ok&&e.status>=200&&e.status<=299}function br(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(k)}function wr(e){return e[0]>>4===Dt&&e[1]===Ct}function Sr(e){return!0===e||"true"===e}function Er(e){return!0!==e&&"true"!==e}function Ar(){return!!(Ht.Worker&&Ht.MediaSource&&"canConstructInDedicatedWorker"in Ht.MediaSource&&!0===Ht.MediaSource.canConstructInDedicatedWorker)}function xr(e,t){const r=nr(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===rt||r===nt||r===ot)||Er(t)&&r===Ke)&&(i=!0)})),i}var Br=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{d(i.next(e))}catch(e){s(e)}}function a(e){try{d(i.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}d((i=i.apply(e,t||[])).next())}))};const Ur=Symbol(32),kr=Symbol(16),Tr=Symbol(8);class Cr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Br(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(Ur)}readU16(){return this.read(kr)}readU8(){return this.read(Tr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===Ur){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===kr){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===Tr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}Cr.U32=Ur,Cr.U16=kr,Cr.U8=Tr;class Dr{constructor(e){this.log=function(t){if(e._opt.debugLevel==E){const s=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n1?r-1:0),n=1;n1?i-1:0),s=1;s=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseSPS(e){let t=Pr._ebsp2rbsp(e),r=new jt(t);r.readByte();let i=r.readByte();r.readByte();let n=r.readByte();r.readUEG();let s=Pr.getProfileString(i),o=Pr.getLevelString(n),a=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(a=r.readUEG(),3===a&&r.readBits(1),a<=3&&(d=l[a]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==a?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,x=2*e,S=A/x}}let B=1;1===b&&1===w||(B=b/w);let U=0,k=0;if(0===a)U=1,k=2-m;else{U=3===a?1:2,k=(1===a?2:1)*(2-m)}let T=16*(f+1),C=16*(p+1)*(2-m);T-=(_+g)*U,C-=(y+v)*k;let D=Math.ceil(T*B);return r.destroy(),r=null,{profile_string:s,level_string:o,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Pr.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:x,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:T,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Pr._ebsp2rbsp(e),n=new jt(i);n.readByte();let s=n.readByte();n.readByte();let o=n.readByte();n.readUEG();let a=Pr.getProfileString(s),d=Pr.getLevelString(o),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(l=n.readUEG(),3===l&&n.readBits(1),l<=3&&(c=u[l]),h=n.readUEG()+8,f=n.readUEG()+8,n.readBits(1),n.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=n.readByte()<<8|n.readByte(),A=n.readByte()<<8|n.readByte())}if(n.readBool()&&n.readBool(),n.readBool()&&(n.readBits(4),n.readBool()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n.readUEG()),n.readBool()){let e=n.readBits(32),t=n.readBits(32);B=n.readBool(),U=t,k=2*e,x=U/k}}let T=1;1===E&&1===A||(T=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let P=16*(_+1),L=16*(g+1)*(2-y);P-=(v+b)*C,L-=(w+S)*D;let F=Math.ceil(P*T);return n.destroy(),n=null,{codec_mimetype:r,profile_idc:s,level_idc:o,profile_string:a,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:m,chroma_format:c,chroma_format_string:Pr.getChromaFormatString(c),frame_rate:{fixed:B,fps:x,fps_den:k,fps_num:U},sar_ratio:{width:E,height:A},codec_size:{width:P,height:L},present_size:{width:F,height:L}}}static _skipScalingList(e,t){let r=8,i=8,n=0;for(let s=0;s=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Ir(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Mr(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,n=!1;const s=Pr.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(n=!0,i+=4);let o=new Uint8Array(i);o[0]=1,o[1]=t[1],o[2]=t[2],o[3]=t[3],o[4]=255,o[5]=225;let a=t.byteLength;o[6]=a>>>8,o[7]=255&a;let d=8;o.set(t,8),d+=a,o[d]=1;let l=r.byteLength;o[d+1]=l>>>8,o[d+2]=255&l,o.set(r,d+3),d+=3+l,n&&(o[d]=252|s.chroma_format_idc,o[d+1]=248|s.bit_depth_luma-8,o[d+2]=248|s.bit_depth_chroma-8,o[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+o.byteLength);return u.set(c,0),u.set(o,c.length),u}function Rr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function zr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Nr(e){return 31&e[0]}function $r(e){return e===Je}function Or(e){return!function(e){return e===qe||e===Ye}(e)&&!$r(e)}function Gr(e){return e===Ke}function Hr(e){if(0===e.length)return!1;const t=Nr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,i>=tt||0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class Vr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const jr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},qr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class Yr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseVPS(e){let t=Yr._ebsp2rbsp(e),r=new jt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=Yr._ebsp2rbsp(e),r=new jt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,o=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let s=!0,o=1;n||(s=r.readBool());let a=!1;if(s?r.readUEG():a=r.readBool(),a||(o=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],n=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=jr(e),r=new jt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),o=(e=>{let t=jr(e),r=new jt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,o=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(i+=r.readUEG(),n+=r.readUEG(),s+=r.readUEG(),o+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let s=!1,o=1;n||(s=r.readBool());let a=!1;if(s?r.readSEG():a=r.readBool(),a||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=jr(e),r=new jt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),s=1;return n&&i?s=0:n?s=3:i&&(s=2),{parallelismType:s}})(r);n=Object.assign(n,s,o,a);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,l[2]=n.general_profile_compatibility_flags_1||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n.general_profile_compatibility_flags_3||0,l[5]=n.general_profile_compatibility_flags_4||0,l[6]=n.general_constraint_indicator_flags_1||0,l[7]=n.general_constraint_indicator_flags_2||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n.general_constraint_indicator_flags_4||0,l[10]=n.general_constraint_indicator_flags_5||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,l[14]=255&n.min_spatial_segmentation_idc,l[15]=252|3&n.parallelismType,l[16]=252|3&n.chroma_format_idc,l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|dt,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|ct,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|ht,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Qr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ei(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ti(e){return(126&e[0])>>1}function ri(e){return e===pt}function ii(e){return!function(e){return e>=32&&e<=40}(e)}function ni(e){return e>=16&&e<=21}function si(e){if(0===e.length)return!1;const t=ti(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class ai{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function di(e){return parseInt(e)===e}function li(e){if(!di(e.length))return!1;for(var t=0;t255)return!1;return!0}function ci(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!li(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(di(e.length)&&li(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function ui(e){return new Uint8Array(e)}function hi(e,t,r,i,n){null==i&&null==n||(e=e.slice?e.slice(i,n):Array.prototype.slice.call(e,i,n)),t.set(e,r)}var fi,pi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},mi=(fi="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+fi[15&i])}return t.join("")}}),_i={16:10,24:12,32:14},gi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],yi=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],vi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],bi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],wi=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Si=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Ei=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Ai=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],xi=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Bi=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Ui=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ki=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Ti=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Ci=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Di=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Pi(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=s[t],this._Kd[e-r][t%4]=s[t];for(var o,a=0,d=n;d>16&255]<<24^yi[o>>8&255]<<16^yi[255&o]<<8^yi[o>>24&255]^gi[a]<<24,a+=1,8!=n)for(t=1;t>8&255]<<8^yi[o>>16&255]<<16^yi[o>>24&255]<<24;for(t=n/2+1;t>2,c=d%4,this._Ke[l][c]=s[t],this._Kd[e-l][c]=s[t++],d++}for(var l=1;l>24&255]^Ti[o>>16&255]^Ci[o>>8&255]^Di[255&o]},Li.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Pi(e),n=0;n<4;n++)i[n]^=this._Ke[0][n];for(var s=1;s>24&255]^wi[i[(n+1)%4]>>16&255]^Si[i[(n+2)%4]>>8&255]^Ei[255&i[(n+3)%4]]^this._Ke[s][n];i=r.slice()}var o,a=ui(16);for(n=0;n<4;n++)o=this._Ke[t][n],a[4*n]=255&(yi[i[n]>>24&255]^o>>24),a[4*n+1]=255&(yi[i[(n+1)%4]>>16&255]^o>>16),a[4*n+2]=255&(yi[i[(n+2)%4]>>8&255]^o>>8),a[4*n+3]=255&(yi[255&i[(n+3)%4]]^o);return a},Li.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Pi(e),n=0;n<4;n++)i[n]^=this._Kd[0][n];for(var s=1;s>24&255]^xi[i[(n+3)%4]>>16&255]^Bi[i[(n+2)%4]>>8&255]^Ui[255&i[(n+1)%4]]^this._Kd[s][n];i=r.slice()}var o,a=ui(16);for(n=0;n<4;n++)o=this._Kd[t][n],a[4*n]=255&(vi[i[n]>>24&255]^o>>24),a[4*n+1]=255&(vi[i[(n+3)%4]>>16&255]^o>>16),a[4*n+2]=255&(vi[i[(n+2)%4]>>8&255]^o>>8),a[4*n+3]=255&(vi[255&i[(n+1)%4]]^o);return a};var Fi=function(e){if(!(this instanceof Fi))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Li(e)};Fi.prototype.encrypt=function(e){if((e=ci(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=ui(e.length),r=ui(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},zi.prototype.setBytes=function(e){if(16!=(e=ci(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},zi.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Ni=function(e,t){if(!(this instanceof Ni))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof zi||(t=new zi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Li(e)};Ni.prototype.encrypt=function(e){for(var t=ci(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-s%4*8&255;t[i+s>>>2]|=o<<24-(i+s)%4*8}else for(var a=0;a>>2]=r[a>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=a.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,s=i.sigBytes,o=this.blockSize,a=s/(4*o),d=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,c=e.min(4*d,s);if(d){for(var u=0;u>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.WordArray,i=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535);i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=n(e.charCodeAt(s)<<16-s%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],s=0,o=0;o>>6-o%4*2;n[s>>>2]|=a<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var n=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(t[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|t[s+2>>>2]>>>24-(s+2)%4*8&255,a=0;a<4&&s+.75*a>>6*(3-a)&63));var d=i.charAt(64);if(d)for(;n.length%4;)n.push(d);return n.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-o%4*2;n[s>>>2]|=a<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var s=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,d=0;d<4&&o+.75*d>>6*(3-d)&63));var l=n.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var o=0;o>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words,o=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],x=e[t+14],B=e[t+15],U=s[0],k=s[1],T=s[2],C=s[3];U=l(U,k,T,C,o,7,a[0]),C=l(C,U,k,T,d,12,a[1]),T=l(T,C,U,k,f,17,a[2]),k=l(k,T,C,U,p,22,a[3]),U=l(U,k,T,C,m,7,a[4]),C=l(C,U,k,T,_,12,a[5]),T=l(T,C,U,k,g,17,a[6]),k=l(k,T,C,U,y,22,a[7]),U=l(U,k,T,C,v,7,a[8]),C=l(C,U,k,T,b,12,a[9]),T=l(T,C,U,k,w,17,a[10]),k=l(k,T,C,U,S,22,a[11]),U=l(U,k,T,C,E,7,a[12]),C=l(C,U,k,T,A,12,a[13]),T=l(T,C,U,k,x,17,a[14]),U=c(U,k=l(k,T,C,U,B,22,a[15]),T,C,d,5,a[16]),C=c(C,U,k,T,g,9,a[17]),T=c(T,C,U,k,S,14,a[18]),k=c(k,T,C,U,o,20,a[19]),U=c(U,k,T,C,_,5,a[20]),C=c(C,U,k,T,w,9,a[21]),T=c(T,C,U,k,B,14,a[22]),k=c(k,T,C,U,m,20,a[23]),U=c(U,k,T,C,b,5,a[24]),C=c(C,U,k,T,x,9,a[25]),T=c(T,C,U,k,p,14,a[26]),k=c(k,T,C,U,v,20,a[27]),U=c(U,k,T,C,A,5,a[28]),C=c(C,U,k,T,f,9,a[29]),T=c(T,C,U,k,y,14,a[30]),U=u(U,k=c(k,T,C,U,E,20,a[31]),T,C,_,4,a[32]),C=u(C,U,k,T,v,11,a[33]),T=u(T,C,U,k,S,16,a[34]),k=u(k,T,C,U,x,23,a[35]),U=u(U,k,T,C,d,4,a[36]),C=u(C,U,k,T,m,11,a[37]),T=u(T,C,U,k,y,16,a[38]),k=u(k,T,C,U,w,23,a[39]),U=u(U,k,T,C,A,4,a[40]),C=u(C,U,k,T,o,11,a[41]),T=u(T,C,U,k,p,16,a[42]),k=u(k,T,C,U,g,23,a[43]),U=u(U,k,T,C,b,4,a[44]),C=u(C,U,k,T,E,11,a[45]),T=u(T,C,U,k,B,16,a[46]),U=h(U,k=u(k,T,C,U,f,23,a[47]),T,C,o,6,a[48]),C=h(C,U,k,T,y,10,a[49]),T=h(T,C,U,k,x,15,a[50]),k=h(k,T,C,U,_,21,a[51]),U=h(U,k,T,C,E,6,a[52]),C=h(C,U,k,T,p,10,a[53]),T=h(T,C,U,k,w,15,a[54]),k=h(k,T,C,U,d,21,a[55]),U=h(U,k,T,C,v,6,a[56]),C=h(C,U,k,T,B,10,a[57]),T=h(T,C,U,k,g,15,a[58]),k=h(k,T,C,U,A,21,a[59]),U=h(U,k,T,C,m,6,a[60]),C=h(C,U,k,T,S,10,a[61]),T=h(T,C,U,k,f,15,a[62]),k=h(k,T,C,U,b,21,a[63]),s[0]=s[0]+U|0,s[1]=s[1]+k|0,s[2]=s[2]+T|0,s[3]=s[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296),o=i;r[15+(n+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),r[14+(n+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,d=a.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return a},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,n,s,o){var a=e+(t&r|~t&i)+n+o;return(a<>>32-s)+t}function c(e,t,r,i,n,s,o){var a=e+(t&i|r&~i)+n+o;return(a<>>32-s)+t}function u(e,t,r,i,n,s,o){var a=e+(t^r^i)+n+o;return(a<>>32-s)+t}function h(e,t,r,i,n,s,o){var a=e+(r^(t|~i))+n+o;return(a<>>32-s)+t}t.MD5=s._createHelper(d),t.HmacMD5=s._createHmacHelper(d)}(Math),r.MD5)})),Vt((function(e,t){var r,i,n,s,o,a,d,l;e.exports=(i=(r=l=Oi).lib,n=i.WordArray,s=i.Hasher,o=r.algo,a=[],d=o.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],d=r[4],l=0;l<80;l++){if(l<16)a[l]=0|e[t+l];else{var c=a[l-3]^a[l-8]^a[l-14]^a[l-16];a[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+a[l];u+=l<20?1518500249+(n&s|~n&o):l<40?1859775393+(n^s^o):l<60?(n&s|n&o|s&o)-1894007588:(n^s^o)-899497514,d=o,o=s,s=n<<30|n>>>2,n=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=s._createHelper(d),r.HmacSHA1=s._createHmacHelper(d),l.SHA1)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.algo,a=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,n=0;n<64;)t(i)&&(n<8&&(a[n]=r(e.pow(i,.5))),d[n]=r(e.pow(i,1/3)),n++),i++}();var l=[],c=o.SHA256=s.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],a=r[4],c=r[5],u=r[6],h=r[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[f-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[f]=m+l[f-7]+g+l[f-16]}var y=i&n^i&s^n&s,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=h+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&c^~a&u)+d[f]+l[f];h=u,u=c,c=a,a=o+b|0,o=s,s=n,n=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+a|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(i/4294967296),r[15+(n+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=s._createHelper(c),t.HmacSHA256=s._createHmacHelper(c)}(Math),r.SHA256)})),Vt((function(e,t){var r,i,n,s,o,a;e.exports=(i=(r=a=Oi).lib.WordArray,n=r.algo,s=n.SHA256,o=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=s._createHelper(o),r.HmacSHA224=s._createHmacHelper(o),a.SHA224)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.Hasher,i=e.x64,n=i.Word,s=i.WordArray,o=e.algo;function a(){return n.create.apply(n,arguments)}var d=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var c=o.SHA512=t.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],a=r[4],c=r[5],u=r[6],h=r[7],f=i.high,p=i.low,m=n.high,_=n.low,g=s.high,y=s.low,v=o.high,b=o.low,w=a.high,S=a.low,E=c.high,A=c.low,x=u.high,B=u.low,U=h.high,k=h.low,T=f,C=p,D=m,P=_,L=g,F=y,I=v,M=b,R=w,z=S,N=E,$=A,O=x,G=B,H=U,W=k,V=0;V<80;V++){var j,q,Y=l[V];if(V<16)q=Y.high=0|e[t+2*V],j=Y.low=0|e[t+2*V+1];else{var K=l[V-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[V-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),se=l[V-7],oe=se.high,ae=se.low,de=l[V-16],le=de.high,ce=de.low;q=(q=(q=J+oe+((j=Q+ae)>>>0>>0?1:0))+ie+((j+=ne)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),Y.high=q,Y.low=j}var ue,he=R&N^~R&O,fe=z&$^~z&G,pe=T&D^T&L^D&L,me=C&P^C&F^P&F,_e=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),ge=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[V],we=be.high,Se=be.low,Ee=H+ye+((ue=W+ve)>>>0>>0?1:0),Ae=ge+me;H=O,W=G,O=N,G=$,N=R,$=z,R=I+(Ee=(Ee=(Ee=Ee+he+((ue+=fe)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+q+((ue+=j)>>>0>>0?1:0))+((z=M+ue|0)>>>0>>0?1:0)|0,I=L,M=F,L=D,F=P,D=T,P=C,T=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=f+T+(p>>>0>>0?1:0),_=n.low=_+P,n.high=m+D+(_>>>0

      >>0?1:0),y=s.low=y+F,s.high=g+L+(y>>>0>>0?1:0),b=o.low=b+M,o.high=v+I+(b>>>0>>0?1:0),S=a.low=S+z,a.high=w+R+(S>>>0>>0?1:0),A=c.low=A+$,c.high=E+N+(A>>>0<$>>>0?1:0),B=u.low=B+G,u.high=x+O+(B>>>0>>0?1:0),k=h.low=k+W,h.high=U+H+(k>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),Vt((function(e,t){var r,i,n,s,o,a,d,l;e.exports=(i=(r=l=Oi).x64,n=i.Word,s=i.WordArray,o=r.algo,a=o.SHA512,d=o.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=a._createHelper(d),r.HmacSHA384=a._createHmacHelper(d),l.SHA384)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.x64.Word,a=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,s=0;s<24;s++){for(var a=0,u=0,h=0;h<7;h++){if(1&n){var f=(1<>>24)|4278255360&(s<<24|s>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),(k=r[n]).high^=o,k.low^=s}for(var a=0;a<24;a++){for(var h=0;h<5;h++){for(var f=0,p=0,m=0;m<5;m++)f^=(k=r[h+5*m]).high,p^=k.low;var _=u[h];_.high=f,_.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],v=y.high,b=y.low;for(f=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(k=r[h+5*m]).high^=f,k.low^=p}for(var w=1;w<25;w++){var S=(k=r[w]).high,E=k.low,A=d[w];A<32?(f=S<>>32-A,p=E<>>32-A):(f=E<>>64-A,p=S<>>64-A);var x=u[l[w]];x.high=f,x.low=p}var B=u[0],U=r[0];for(B.high=U.high,B.low=U.low,h=0;h<5;h++)for(m=0;m<5;m++){var k=r[w=h+5*m],T=u[w],C=u[(h+1)%5+5*m],D=u[(h+2)%5+5*m];k.high=T.high^~C.high&D.high,k.low=T.low^~C.low&D.low}k=r[0];var P=c[a];k.high^=P.high,k.low^=P.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,s=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/s)*s>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var o=this._state,a=this.cfg.outputLength/8,d=a/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new n.init(l,a)},clone:function(){for(var e=s.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=s._createHelper(h),t.HmacSHA3=s._createHmacHelper(h)}(Math),r.SHA3)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.algo,a=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),h=n.create([1352829926,1548603684,1836072691,2053994217,0]),f=o.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s,o,f,b,w,S,E,A,x,B,U,k=this._hash.words,T=u.words,C=h.words,D=a.words,P=d.words,L=l.words,F=c.words;for(S=s=k[0],E=o=k[1],A=f=k[2],x=b=k[3],B=w=k[4],r=0;r<80;r+=1)U=s+e[t+D[r]]|0,U+=r<16?p(o,f,b)+T[0]:r<32?m(o,f,b)+T[1]:r<48?_(o,f,b)+T[2]:r<64?g(o,f,b)+T[3]:y(o,f,b)+T[4],U=(U=v(U|=0,L[r]))+w|0,s=w,w=b,b=v(f,10),f=o,o=U,U=S+e[t+P[r]]|0,U+=r<16?y(E,A,x)+C[0]:r<32?g(E,A,x)+C[1]:r<48?_(E,A,x)+C[2]:r<64?m(E,A,x)+C[3]:p(E,A,x)+C[4],U=(U=v(U|=0,F[r]))+B|0,S=B,B=x,x=v(A,10),A=E,E=U;U=k[1]+f+x|0,k[1]=k[2]+b+B|0,k[2]=k[3]+w+S|0,k[3]=k[4]+s+E|0,k[4]=k[0]+o+A|0,k[0]=U},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,s=n.words,o=0;o<5;o++){var a=s[o];s[o]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return n},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=s._createHelper(f),t.HmacRIPEMD160=s._createHmacHelper(f)}(),r.RIPEMD160)})),Vt((function(e,t){var r,i,n;e.exports=(i=(r=Oi).lib.Base,n=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var s=this._oKey=t.clone(),o=this._iKey=t.clone(),a=s.words,d=o.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?s.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=s.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),s=n.finalize(t),o=n.cfg;return m.create({ciphertext:s,key:r,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=s.random(8)),n)o=l.create({keySize:t+r,hasher:n}).compute(e,i);else var o=l.create({keySize:t+r}).compute(e,i);var a=s.create(o.words.slice(t),4*r);return o.sigBytes=4*t,m.create({key:o,iv:a,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var s=g.encrypt.call(this,e,t,n.key,i);return s.mixIn(n),s},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,g.decrypt.call(this,e,t,n.key,i)}})}())})),Vt((function(e,t){var r;e.exports=((r=Oi).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,s=this._iv;s?(n=s.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var o=0;o>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var n=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,s=this._iv,o=this._counter;s&&(o=this._counter=s.slice(0),this._iv=void 0),i(o);var a=o.slice(0);r.encryptBlock(a,0);for(var d=0;d>>2]|=n<<24-s%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Vt((function(e,t){var r;e.exports=((r=Oi).pad.Iso10126={pad:function(e,t){var i=4*t,n=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(n-1)).concat(r.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Vt((function(e,t){var r;e.exports=((r=Oi).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Vt((function(e,t){var r;e.exports=((r=Oi).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Vt((function(e,t){var r;e.exports=((r=Oi).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib.CipherParams,n=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){var t=n.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,n=[],s=[],o=[],a=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,n[r]=p,s[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;o[r]=y<<24|y>>>8,a[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),s=this._keySchedule=[],o=0;o6&&o%r==4&&(l=n[l>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l]):(l=n[(l=l<<8|l>>>24)>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l],l^=p[o/r|0]<<24),s[o]=s[o-r]^l);for(var a=this._invKeySchedule=[],d=0;d>>24]]^u[n[l>>>16&255]]^h[n[l>>>8&255]]^f[n[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,a,d,l,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,s),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,n,s,o,a){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^n[c>>>16&255]^s[u>>>8&255]^o[255&h]^r[f++],_=i[c>>>24]^n[u>>>16&255]^s[h>>>8&255]^o[255&l]^r[f++],g=i[u>>>24]^n[h>>>16&255]^s[l>>>8&255]^o[255&c]^r[f++],y=i[h>>>24]^n[l>>>16&255]^s[c>>>8&255]^o[255&u]^r[f++];l=m,c=_,u=g,h=y}m=(a[l>>>24]<<24|a[c>>>16&255]<<16|a[u>>>8&255]<<8|a[255&h])^r[f++],_=(a[c>>>24]<<24|a[u>>>16&255]<<16|a[h>>>8&255]<<8|a[255&l])^r[f++],g=(a[u>>>24]<<24|a[h>>>16&255]<<16|a[l>>>8&255]<<8|a[255&c])^r[f++],y=(a[h>>>24]<<24|a[l>>>16&255]<<16|a[c>>>8&255]<<8|a[255&u])^r[f++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib,i=t.WordArray,n=t.BlockCipher,s=e.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=s.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=o[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],s=0;s<16;s++){var l=n[s]=[],c=d[s];for(r=0;r<24;r++)l[r/6|0]|=t[(a[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(a[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],s=this._lBlock,o=this._rBlock,a=0,d=0;d<8;d++)a|=l[d][((o^n[d])&c[d])>>>0];this._lBlock=o,this._rBlock=s^a}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),r.TripleDES)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var s=0;n<256;n++){var o=n%r,a=t[o>>>2]>>>24-o%4*8&255;s=(s+i[n]+a)%256;var d=i[n];i[n]=i[s],i[s]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=s.call(this)},keySize:8,ivSize:0});function s(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var o=i.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)s.call(this)}});e.RC4Drop=t._createHelper(o)}(),r.RC4)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],o=[],a=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var s=t.words,o=s[0],a=s[1],l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(n[0]^=l,n[1]^=u,n[2]^=c,n[3]^=h,n[4]^=l,n[5]^=u,n[6]^=c,n[7]^=h,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=d^l}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=t._createHelper(a)}(),r.Rabbit)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],o=[],a=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var n=0;n<4;n++)d.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var s=t.words,o=s[0],a=s[1],l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=h,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=h,n=0;n<4;n++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=d^l}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=t._createHelper(a)}(),r.RabbitLegacy)})),Vt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const n=16,s=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var a={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,n=t>>8&255,s=255&t,o=e.sbox[0][r]+e.sbox[1][i];return o^=e.sbox[2][n],o+=e.sbox[3][s],o}function l(e,t,r){let i,s=t,o=r;for(let t=0;t1;--t)s^=e.pbox[t],o=d(e,s)^o,i=s,s=o,o=i;return i=s,s=o,o=i,o^=e.pbox[1],s^=e.pbox[0],{left:s,right:o}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=o[t][r]}let i=0;for(let o=0;o=r&&(i=0);let a=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let s=5;for(;sn)break;let a=e[s+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=e.slice(s+4+2,s+4+o);let n=new $i.ModeOfOperation.ctr(t,new $i.Counter(r));const a=n.decrypt(i);n=null,e.set(a,s+4+2)}s=s+4+o}return e}function Wi(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let n=new $i.ModeOfOperation.ctr(t,new $i.Counter(r));const s=n.decrypt(i);return n=null,e.set(s,32),e}Vt((function(e,t){e.exports=Oi}));var Vi=Vt((function(e,t){var r,n,s,o=(r=new Date,n=4,s={setLogLevel:function(e){n=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=n&&console.info("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console.warn("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},s);o.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+o.getDurationString(e.start(i))+","+o.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=o;var a=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};a.prototype.getPosition=function(){return this.position},a.prototype.getEndPosition=function(){return this.buffer.byteLength},a.prototype.getLength=function(){return this.buffer.byteLength},a.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},a.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},a.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},a.prototype.readUint8=function(){return this.readAnyInt(1,!1)},a.prototype.readUint16=function(){return this.readAnyInt(2,!1)},a.prototype.readUint24=function(){return this.readAnyInt(3,!1)},a.prototype.readUint32=function(){return this.readAnyInt(4,!1)},a.prototype.readUint64=function(){return this.readAnyInt(8,!1)},a.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(i,0,n.length).set(n),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,n){var s=new Uint8Array(e,t,n),o=new Uint8Array(r,i,n);s.set(o)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rn;i--,n++){var s=t[n];t[n]=t[i],t[i]=s}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,o.debug("MultiBufferStream","Stream ready for parsing"),!0):(o.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){o.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}o.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,n,s)}}t&&(o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,n,s,a=[],d="";for(i=0,n=0,t=0;t0&&(d+=s.end-1+"]");var l=e?o.info:o.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+n+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,n=null,s=-1;for(i=!0===e?0:this.bufferIndex;i=t?(o.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,n=void 0!==e?e:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(t=n+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){h.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){h.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){h.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(o.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:a}):0!==l&&a+l>e.getEndPosition()?(e.seek(a),o.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:a}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:a}:(h[c+"Box"]?i=new h[c+"Box"](l):"uuid"!==c?(o.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[s]?i=new h.UUIDBoxes[s](l):(o.warn("BoxParser","Unknown uuid type: '"+s+"'"),(i=new h.Box(c,l)).uuid=s,i.has_unparsed_data=!0),i.hdr_size=d,i.start=a,i.write===h.Box.prototype.write&&"mdat"!==i.type&&(o.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(n=e.getPosition()-(i.start+i.size))<0?(o.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),e.seek(i.start+i.size)):n>0&&(o.error("BoxParser","Parsing of box '"+u+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:h.OK,box:i,size:i.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)o.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void o.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else o.error("av1C reserved_1 parsing problem");else o.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=n>>1&31,i.bsmod=(1&n)<<4|s>>4&15,i.acmod=s>>1&7,i.lfeon=1&s,i.num_dep_sub=o>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&o)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),n=Math.min(127&i,r.length-1);if(n?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[n]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,r,i,n;this.configurationVersion=e.readUint8(),n=e.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),n=e.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var s=e.readUint8();for(t=0;t>7,o.nalu_type=63&n;var a=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),o.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?o.property_index=(127&s)<<8|e.readUint8():o.property_index=127&s}}})),h.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&n,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:o.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(o.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)o.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),o.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&n,i.subsegment_duration=e.readUint32(),n=e.readUint32(),i.starts_with_SAP=n>>31&1,i.SAP_type=n>>28&7,i.SAP_delta_time=268435455&n}})),h.SingleItemTypeReferenceBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var o=i.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var n=!1,s="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||n)&&(s="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+s,n=!0);t+=s}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,n=[],s=0;for(s|=this.vvcC.ptl_frame_only_constraint<<7,s|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,n.push(s),s&&(i=e),s=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",a=0,d=0;for(e=0;e<=i;++e)for(a=a<<8|n[e],d+=8;d>=5;){r+=o[a>>d-5&31],a&=(1<<(d-=5))-1}d&&(r+=o[31&(a<<=5-d)])}}t+=r}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(r?"."+r:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),o.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof h.Box||t[r]instanceof h.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.extractedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&o.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(o.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(o.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(o.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(o.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,n,s,o={},a=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(a+1e3*this.moov.mvhd.creation_time),o.modified=new Date(a+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],e=0;e0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(o.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(o.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var s=n.lastValidSample;se*n.timescale){l=i-1;break}t&&n.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return s=r.samples[l].offset+r.samples[l].alreadyRead,o.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+o.getDurationString(e,a)+" and offset: "+s),{offset:s,time:e/a}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,n,s=this.moov,a={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){o=d;break}switch(o){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),s.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new a(t.avcDecoderConfigRecord)),s.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new a(t.hevcDecoderConfigRecord)),s.addBox(f)}break;case"Audio":n.add("smhd").set("balance",t.balance||0),s.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":if(n.add("sthd"),"stpp"===t.type)s.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:n.add("nmhd")}t.description&&s.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){s.addBox(e)})),n.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=n.add("stbl");return p.add("stsd").addEntry(s),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},n={},s=this.getTrackById(e);if(null!==s){n.number=s.samples.length,n.track_id=s.tkhd.track_id,n.timescale=s.mdia.mdhd.timescale,n.description_index=i.sample_description_index?i.sample_description_index-1:0,n.description=s.mdia.minf.stbl.stsd.entries[n.description_index],n.data=t,n.size=t.byteLength,n.alreadyRead=n.size,n.duration=i.duration||1,n.cts=i.cts||0,n.dts=i.dts||0,n.is_sync=i.is_sync||!1,n.is_leading=i.is_leading||0,n.depends_on=i.depends_on||0,n.is_depended_on=i.is_depended_on||0,n.has_redundancy=i.has_redundancy||0,n.degradation_priority=i.degradation_priority||0,n.offset=0,n.subsamples=i.subsamples,s.samples.push(n),s.samples_size+=n.size,s.samples_duration+=n.duration,void 0===s.first_dts&&(s.first_dts=i.dts),this.processSamples();var o=this.createSingleSampleMoof(n);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(t),n}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new h.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),n=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(n.first_dts||0)),i.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,n,s;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=n[o].grouping_type+"/0",(a=new l(n[o].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=a))}else for(o=0;o=2&&(d=i[o].grouping_type+"/0",a=new l(i[o].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=a))},g.setSampleGroupProperties=function(e,t,r,i){var n,s;for(n in t.sample_groups=[],i){var o;if(t.sample_groups[n]={},t.sample_groups[n].grouping_type=i[n].grouping_type,t.sample_groups[n].grouping_type_parameter=i[n].grouping_type_parameter,r>=i[n].last_sample_in_run&&(i[n].last_sample_in_run<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n].entry_index<=i[n].sbgp.entries.length-1&&(i[n].last_sample_in_run+=i[n].sbgp.entries[i[n].entry_index].sample_count)),i[n].entry_index<=i[n].sbgp.entries.length-1?t.sample_groups[n].group_description_index=i[n].sbgp.entries[i[n].entry_index].group_description_index:t.sample_groups[n].group_description_index=-1,0!==t.sample_groups[n].group_description_index)o=i[n].fragment_description?i[n].fragment_description:i[n].description,t.sample_groups[n].group_description_index>0?(s=t.sample_groups[n].group_description_index>65535?(t.sample_groups[n].group_description_index>>16)-1:t.sample_groups[n].group_description_index-1,o&&s>=0&&(t.sample_groups[n].description=o.entries[s])):o&&o.version>=2&&o.default_group_description_index>0&&(t.sample_groups[n].description=o.entries[o.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=s.sample_counts[b]),t>0?(e.samples[t-1].duration=s.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,B.dts=e.samples[t-1].dts+e.samples[t-1].duration):B.dts=0,o?(t>=w&&(S++,w<0&&(w=0),w+=o.sample_counts[S]),B.cts=e.samples[t].dts+o.sample_offsets[S]):B.cts=B.dts,a?(t==a.sample_numbers[E]-1?(B.is_sync=!0,E++):(B.is_sync=!1,B.degradation_priority=0),l&&l.entries[A].sample_delta+x==t+1&&(B.subsamples=l.entries[A].subsamples,x+=l.entries[A].sample_delta,A++)):B.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,B,B.number),B.degradation_priority=h?h.priority[t]:0,l&&l.entries[A].sample_delta+x==t&&(B.subsamples=l.entries[A].subsamples,x+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,B,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,n,s,o,a,d,l,c,u,f,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=o,_.flags&h.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&h.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&h.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:a,p.offset=0===t&&0===r?b?w+_.data_offset:w:a,a=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var s=(r=this.stream.buffers[n]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=s)return o.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===s)return null;o.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+s+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,s),i.alreadyRead+=s,r.usedBytes+=s,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=s.ipro.protections[s.iinf.item_infos[e].protection_index-1]),s.iinf.item_infos[e].item_type?r.type=s.iinf.item_infos[e].item_type:r.type="mime",r.content_type=s.iinf.item_infos[e].content_type,r.content_encoding=s.iinf.item_infos[e].content_encoding;if(s.grpl)for(e=0;e0&&h.property_index-1-1))return null;var a=(t=this.stream.buffers[s]).byteLength-(n.offset+n.alreadyRead-t.fileStart);if(!(n.length-n.alreadyRead<=a))return o.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+a+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,a),n.alreadyRead+=a,r.alreadyRead+=a,t.usedBytes+=a,this.stream.logBufferLevel(),null;o.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,n.length-n.alreadyRead),t.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function ji(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}Vi.Log,Vi.MP4BoxStream,Vi.DataStream,Vi.MultiBufferStream,Vi.MPEG4DescriptorParser,Vi.BoxParser,Vi.XMLSubtitlein4Parser,Vi.Textin4Parser,Vi.ISOFile,Vi.createFile;const qi=16,Yi=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Ki=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Xi(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Ji(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Qi(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function en(e,t){const r=31&t;return e<>>32-r}function tn(e){return(255&Yi[e>>>24&255])<<24|(255&Yi[e>>>16&255])<<16|(255&Yi[e>>>8&255])<<8|255&Yi[255&e]}function rn(e){return e^en(e,2)^en(e,10)^en(e,18)^en(e,24)}function nn(e){return e^en(e,13)^en(e,23)}function sn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=rn(tn(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=rn(tn(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=rn(tn(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=rn(tn(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function on(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^Ki[r+0],t[r+0]=i[0]^=nn(tn(e)),e=i[2]^i[3]^i[0]^Ki[r+1],t[r+1]=i[1]^=nn(tn(e)),e=i[3]^i[0]^i[1]^Ki[r+2],t[r+2]=i[2]^=nn(tn(e)),e=i[0]^i[1]^i[2]^Ki[r+3],t[r+3]=i[3]^=nn(tn(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function an(e,t,r){let{padding:i="pkcs#7",mode:n,iv:s=[],output:o="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===n&&("string"==typeof s&&(s=Xi(s)),16!==s.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Xi(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Ji(e):Xi(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=qi-e.length%qi;for(let r=0;r=qi;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===n)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=new Uint8Array(e.slice(0,5)),o=5;for(;on){const t=new Uint8Array(s.length+e.length-o);t.set(s,0),t.set(e.slice(o),s.length),s=t;break}let l=e[o+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=an(e.slice(o+4+u,o+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const n=new Uint8Array(u);n.set(e.slice(o+4,o+4+u),0);const a=or(ji(n,new Uint8Array(r))),l=new Uint8Array(s.length+a.length);l.set(s,0),l.set(a,s.length),s=l}else{const t=e.slice(o+4,o+4+d),r=new Uint8Array(s.length+4+t.length);r.set(s,0),r.set(a,s.length),r.set(t,s.length+4),s=r}o=o+4+d}return s}const cn={init:0,findFirstStartCode:1,findSecondStartCode:2};class un extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){i.off(e,n);for(var s=arguments.length,o=new Array(s),a=0;a1?r-1:0),n=1;n{delete r[e]})),void delete this.e;const i=r[e],n=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=cn.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==cn.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=cn.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==cn.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=cn.findFirstStartCode}}}}function hn(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=5;for(;sn)break;let a=e[s+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=hn(e.slice(s+4,s+4+o),t,r);e.set(i,s+4)}s=s+4+o}return e}function mn(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.byteLength})),i}class _n{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const n=()=>{pr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(n),n}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class gn{static init(){gn.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in gn.types)gn.types.hasOwnProperty(e)&&(gn.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=gn.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),n=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return gn.box(gn.types.trak,gn.tkhd(e),gn.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,n=e.presentHeight;return gn.box(gn.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,n>>>8&255,255&n,0,0]))}static mdia(e){return gn.box(gn.types.mdia,gn.mdhd(e),gn.hdlr(e),gn.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return gn.box(gn.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?gn.constants.HDLR_AUDIO:gn.constants.HDLR_VIDEO,gn.box(gn.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?gn.box(gn.types.smhd,gn.constants.SMHD):gn.box(gn.types.vmhd,gn.constants.VMHD),gn.box(gn.types.minf,t,gn.dinf(),gn.stbl(e))}static dinf(){return gn.box(gn.types.dinf,gn.box(gn.types.dref,gn.constants.DREF))}static stbl(e){return gn.box(gn.types.stbl,gn.stsd(e),gn.box(gn.types.stts,gn.constants.STTS),gn.box(gn.types.stsc,gn.constants.STSC),gn.box(gn.types.stsz,gn.constants.STSZ),gn.box(gn.types.stco,gn.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.mp3(e)):gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.mp4a(e)):"avc"===e.videoType?gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.avc1(e)):gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return gn.box(gn.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return gn.box(gn.types.mp4a,i,gn.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return gn.box(gn.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return gn.box(gn.types.avc1,n,gn.box(gn.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return gn.box(gn.types.hvc1,n,gn.box(gn.types.hvcC,t))}static mvex(e){return gn.box(gn.types.mvex,gn.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return gn.box(gn.types.trex,r)}static moof(e,t){return gn.box(gn.types.moof,gn.mfhd(e.sequenceNumber),gn.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return gn.box(gn.types.mfhd,t)}static traf(e,t){let r=e.id,i=gn.box(gn.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),n=gn.box(gn.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=gn.sdtp(e),o=gn.trun(e,s.byteLength+16+16+8+16+8+8);return gn.box(gn.types.traf,i,n,o,s)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,gn.box(gn.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,n=e.size,s=e.flags,o=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),gn.box(gn.types.trun,r)}static mdat(e){return gn.box(gn.types.mdat,e)}}gn.init();var yn,vn=Vt((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(yn=vn)&&yn.__esModule&&Object.prototype.hasOwnProperty.call(yn,"default")&&yn.default;const bn=[44100,48e3,32e3,0],wn=[22050,24e3,16e3,0],Sn=[11025,12e3,8e3,0],En=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],An=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],xn=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Bn(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,n=(6&t[1])>>1,s=(240&t[2])>>>4,o=(12&t[2])>>>2,a=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=Sn[o];break;case 2:d=wn[o];break;case 3:d=bn[o]}switch(n){case 1:s=e[n]&&t=6?(i=5,t=new Array(4),o=n-3):(i=2,t=new Array(2),o=n):-1!==a.indexOf("android")?(i=2,t=new Array(2),o=n):(i=5,o=n,t=new Array(4),n>=6?o=n-3:1===s&&(i=2,t=new Array(2),o=n)),t[0]=i<<3,t[0]|=(15&n)>>>1,t[1]=(15&n)<<7,t[1]|=(15&s)<<3,5===i&&(t[1]|=(15&o)>>>1,t[2]=(1&o)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=On[n],this.sampling_index=n,this.channel_count=s,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Wn{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,s=8-i;if(s>=e)return r&&(this.index+=e),n>>s-e;{r&&(this.index+=s);const i=e-s;return n<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function Vn(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const jn=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),qn=new Array(2746333894,1453994832,1736282519,2993693404),Yn=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Kn(e,t,r,i,n){var s=n;s=t+n>e.length&&i+n<=r.length?e.length-t:i+n>r.length&&t+n<=e.length?r.length-i:t+n<=e.length&&i+n<=r.length?n:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Zn(e,t){return t+3>>19)^(i<<23|i>>>9)}function es(e,t){var r=new Array(36);r[0]=Zn(t,0),r[1]=Zn(t,4),r[2]=Zn(t,8),r[3]=Zn(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^ts(r[i+1]^r[i+2]^r[i+3]^e[i]);var n=new Array(4);for(i=35;i>=32;i--)n[35-i]=r[i];var s=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function rs(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Jn(e),n=Math.ceil(r.length/16),s=new Array(r.length),o=t.slice(),a=0;a3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let o=5;for(;os)break;let d=e[o+4],l=!1,c=2;if(i?(n&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=rs(t,r,e.slice(o+4+c,o+4+a));e.set(i,o+4+c)}o=o+4+a}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]');const ns=[];ns.push(o({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn("JbPro[❌❌❌][audio wasm]:",e)}}),s({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support, using thread emulation"))})(e)||(console.warn("JbPro[❌❌❌][video wasm]:",e),Er(function(e){let t=!0;return e&&-1!==e.indexOf("failed to asynchronously prepare wasm")&&(t=!1),t}(e))&&postMessage({cmd:ae}))}})),Promise.all(ns).then((e=>{const t=e[0];!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=[],s=[],o=null,a=null,d=null,l=null,c=null,u=null,h=!1,f=null,E=null,A=!1,k=!1,ae=!!Sr(r),Ae=0,xe=0,Ke=!1,tt=null,rt=null,nt=null,ot=[],pt=null,Ut=null,kt=0,Dt=0,Ht=null,Wt=null,Vt=0,jt=0,qt=!1,Yt=!1,Qt=!1,ir=null,cr=null,Br=!1,Ur=!0,kr=0,Tr=0,Lr=()=>{const e=br();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(o={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){o.decoder=new VideoDecoder({output:function(e){if(pr(e.createImageBitmap))e.createImageBitmap().then((t=>{o.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:r,delay:ui.delay,ts:0},[r]),gr(e)}));else{o.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:t,delay:ui.delay,ts:0},[t]),gr(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(o.TAG_NAME,"init")},destroy(){o.reset(),o.decoder&&"closed"!==o.decoder.state&&(o.decoder.close(),o.decoder=null),ui.debugLog(o.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(o.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?gt:yt});o.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:R,code:t});const r=new Uint8Array(e);postMessage({cmd:z,buffer:r,codecId:t},[r.buffer]);let i=null,n=null;const s=e.slice(5);t===ze?(n=Fr(s),i={codec:n.codec,description:s}):t===Ne&&(n=Xr(s),i={codec:n.codec,description:s}),n&&n.codecWidth&&n.codecHeight&&(i.codedHeight=n.codecHeight,i.codedWidth=n.codecWidth),o.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:C,w:n.codecWidth,h:n.codecHeight}),o.isEmitInfo=!0,o.offscreenCanvas=new OffscreenCanvas(n.codecWidth,n.codecHeight),o.offscreenCanvasCtx=o.offscreenCanvas.getContext("2d"));try{o.decoder.configure(i),o.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){o.hasInit=!1,o.isEmitInfo=!1,o.offscreenCanvas=null,o.offscreenCanvasCtx=null}});let jr=function(){if(Br=!0,a)try{a.abort(),a=null,ui.debugLog("worker","abort success")}catch(e){a=null,ui.debugLog("worker","abort catch",e)}},qr={TAG_NAME:"worker nakedFlow",init(){qr.lastBuf=null,qr.vps=null,qr.sps=null,qr.pps=null,qr.streamType=null,qr.localDts=0,qr.pendingUnits={},qr.isSendSeqHeader=!1,ui.debugLog(qr.TAG_NAME,"init")},destroy(){qr.lastBuf=null,qr.vps=null,qr.sps=null,qr.pps=null,qr.streamType=null,qr.localDts=0,qr.pendingUnits={},qr.isSendSeqHeader=!1,ui.debugLog(qr.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=qr.extractNALu$3(t);if(0===e.length)return void ui.debugLog(qr.TAG_NAME,"dispatch naluArray length is 0");qr.handleVideoFrames(e)}else qr.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=qr.localDts;return qr.localDts=qr.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return qr.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,n=e.byteLength,s=0,o=[];for(;i1)for(let e=0;e{const t=Nr(e);t===Ye||t===qe?qr.handleVideoH264Nalu(e):Or(t)&&i.push(e)})),1===i.length)qr.handleVideoH264Nalu(i[0]);else if(Hr(i)){const e=Nr(i[0]),t=Gr(e);qr.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{qr.handleVideoH264Nalu(e)}))}else if(qr.streamType===Ge)if(ui._opt.nakedFlowH265DemuxUseNew){const t=qr.handleAddNaluStartCode(e),r=qr.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=ti(e);t===ht||t===ct||t===dt?qr.handleVideoH265Nalu(e):ii(t)&&i.push(e)})),1===i.length)qr.handleVideoH265Nalu(i[0]);else if(si(i)){const e=ti(i[0]),t=ni(e);qr.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{qr.handleVideoH265Nalu(e)}))}else ti(e)===ht?qr.extractH265PPS(e):qr.handleVideoH265Nalu(e)},extractH264PPS(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{$r(Nr(e))?qr.extractH264SEI(e):qr.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{ri(ti(e))?qr.extractH265SEI(e):qr.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{qr.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{qr.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=Nr(e);switch(t){case qe:qr.sps=e;break;case Ye:qr.pps=e}if(qr.isSendSeqHeader){if(qr.sps&&qr.pps){const e=Ir({sps:qr.sps,pps:qr.pps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}if(Or(t)){const r=Gr(t),i=qr.getNaluDts(),n=Rr(e,r);qr.doDecode(n,{type:le,ts:i,isIFrame:r,cts:0})}}else if(qr.sps&&qr.pps){qr.isSendSeqHeader=!0;const e=Ir({sps:qr.sps,pps:qr.pps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}},handleVideoH264NaluList(e,t,r){if(qr.isSendSeqHeader){const i=qr.getNaluDts(),n=zr(e.reduce(((e,t)=>{const r=or(e),i=or(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);qr.doDecode(n,{type:le,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=ti(e);switch(t){case dt:qr.vps=e;break;case ct:qr.sps=e;break;case ht:qr.pps=e}if(qr.isSendSeqHeader){if(qr.vps&&qr.sps&&qr.pps){const e=Jr({vps:qr.vps,sps:qr.sps,pps:qr.pps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.vps=null,qr.sps=null,qr.pps=null}if(ii(t)){const r=ni(t),i=qr.getNaluDts(),n=Qr(e,r);qr.doDecode(n,{type:le,ts:i,isIFrame:r,cts:0})}}else if(qr.vps&&qr.sps&&qr.pps){qr.isSendSeqHeader=!0;const e=Jr({vps:qr.vps,sps:qr.sps,pps:qr.pps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.vps=null,qr.sps=null,qr.pps=null}},handleVideoH265NaluList(e,t,r){if(qr.isSendSeqHeader){const i=qr.getNaluDts(),n=ei(e.reduce(((e,t)=>{const r=or(e),i=or(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);qr.doDecode(n,{type:le,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!qr.streamVideoType)for(let t of e)if(qr.streamVideoType=mr(t),qr.streamVideoType)break;qr.streamVideoType?qr.streamVideoType===Oe?qr.handleVideoH264Frames(e):qr.streamVideoType===Ge&&qr.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,n=!1;qr.pendingUnits.units&&(t=qr.pendingUnits.units,n=qr.pendingUnits.vcl,i=qr.pendingUnits.iFrame,qr.pendingUnits={});let s={};for(let o of e){if(o.byteLength<4)continue;const e=Nr(o);let a=!1,d=e===Ze;e!==Xe&&e!==Ze||(s=qr.parseVideo264Header(o),a=!0),t.length&&n&&(s.isfms||!a)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(o),i=i||d,n=n||a}t.length&&(qr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case Ye:qr.pps=e;break;case qe:qr.sps=e;break;case Je:n=e}if(Or(t)){const t=or(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!qr.isSendSeqHeader&&qr.sps&&qr.pps){qr.isSendSeqHeader=!0;const e=Mr({sps:qr.sps,pps:qr.pps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}if(qr.isSendSeqHeader){if(qr.sps&&qr.pps){const e=Mr({sps:qr.sps,pps:qr.pps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}if(i){const e=qr.getNaluDts(),t=zr(i,r);if(ui._opt.isEmitSEI&&n){const t=sr(n,!1);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}qr.doDecode(t,{type:le,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,n=!1;qr.pendingUnits.units&&(t=qr.pendingUnits.units,n=qr.pendingUnits.vcl,i=qr.pendingUnits.iFrame,qr.pendingUnits={});let s={};for(let o of e){if(o.byteLength<4)continue;const e=ti(o);let a=!1,d=ni(e);ii(e)&&(s=qr.parseVideo265Header(o),a=!0),t.length&&n&&(s.isfms||!a)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(o),i=i||d,n=n||a}t.length&&(qr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ht:qr.pps=e;break;case ct:qr.sps=e;break;case dt:qr.vps=e;break;case _t:case mt:n=e}if(ii(t)){const t=or(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!qr.isSendSeqHeader&&qr.sps&&qr.pps&&qr.vps){qr.isSendSeqHeader=!0;const e=Jr({sps:qr.sps,pps:qr.pps,vps:qr.vps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null,qr.vps=null}if(qr.isSendSeqHeader){if(qr.sps&&qr.pps&&qr.vps){const e=Jr({sps:qr.sps,pps:qr.pps,vps:qr.vps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null,qr.vps=null}if(i){const e=qr.getNaluDts(),t=ei(i,r);if(ui._opt.isEmitSEI&&n){const t=sr(n,!0);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}qr.doDecode(t,{type:le,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{qr.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Wn(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Wn(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},Zr={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){Zr.mp4Box=Vi.createFile(),Zr.mp4Box.onReady=Zr.onReady,Zr.mp4Box.onError=Zr.onError,Zr.mp4Box.onSamples=Zr.onSamples,ui.debugLog(Zr.LOG_NAME,"init")},destroy(){Zr.mp4Box&&(Zr.mp4Box.stop(),Zr.mp4Box.flush(),Zr.mp4Box.destroy(),Zr.mp4Box=null),Zr.offset=0,Zr.videoTrackId=null,Zr.audioTrackId=null,Zr.isHevc=!1,ui.debugLog(Zr.LOG_NAME,"destroy")},_getSeqHeader(e){const t=Zr.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Vi.DataStream(void 0,0,Vi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(Zr.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),n=new Uint8Array(r.length+i.length);return n.set(r,0),n.set(i,r.length),n}return null},onReady(e){ui.debugLog(Zr.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){Zr.videoTrackId=t.id;const e=Zr._getSeqHeader(t);e&&(ui.debugLog(Zr.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),Zr.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){Zr.audioTrackId=r.id;const e=r.audio||{},t=Kt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");Zr.mp4Box.setExtractionOptions(r.id);const n=Xt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(Zr.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(n,0)}Zr.mp4Box.start()},onError(e){ui.debugError(Zr.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===Zr.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let n=null;n=Zr.isHevc?ei(t,r):zr(t,r),ui.decode(n,{type:le,ts:i,isIFrame:r,cts:0})}Zr.mp4Box.removeUsedSamples(e)}else if(e===Zr.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:de,ts:r,isIFrame:!1,cts:0})}Zr.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(Zr.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=Zr.offset,Zr.offset+=t.byteLength,Zr.mp4Box.appendBuffer(t.buffer)}},di={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);di.extractNALu(t)},destroy(){di.lastBuffer=new Uint8Array(0),di.parsedOffset=0,di.firstStartCodeOffset=0,di.secondStartCodeOffset=0,di.state="init",di.hasInitVideoCodec=!1,di.localDts=0,ui.debugLog(di.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(di.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(di.lastBuffer.length+e.length);for(t.set(di.lastBuffer,0),t.set(new Uint8Array(e),di.lastBuffer.length),di.lastBuffer=t;;){if("init"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findFirstStartCode",di.firstStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findSecondStartCode",di.secondStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===di.state){if(!(di.lastBuffer.length-di.parsedOffset>0))break;{let e,t,r=192&di.lastBuffer[di.parsedOffset];e=0==r?di.secondStartCodeOffset-14:di.secondStartCodeOffset;let i=0==(192&di.lastBuffer[di.firstStartCodeOffset+4]);if(i){if(di.firstStartCodeOffset-14<0)return void ui.debugWarn(di.LOG_NAME,"firstStartCodeOffset -14 is",di.firstStartCodeOffset-14);di.hasInitVideoCodec||(di.hasInitVideoCodec=!0,ui.debugLog(di.LOG_NAME,"setCodec"),fi.setCodec($e,"",ui.getBuildTime())),t=di.lastBuffer.subarray(di.firstStartCodeOffset-14,e)}else t=di.lastBuffer.subarray(di.firstStartCodeOffset,e);let n=di.getNaluDts();di.hasInitVideoCodec?(postMessage({cmd:G,type:Te,value:t.byteLength}),postMessage({cmd:G,type:Ce,value:n}),Ae=n,fi.decode(t,i?1:0,n)):ui.debugWarn(di.LOG_NAME,"has not init video codec"),di.lastBuffer=di.lastBuffer.subarray(e),di.firstStartCodeOffset=0==r?14:0,di.parsedOffset=di.firstStartCodeOffset+4,di.state="findFirstStartCode"}}}},getNaluDts(){let e=di.localDts;return di.localDts=di.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Gn,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let n=0;n=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=mn(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let s=(31&r[1])<<8|r[2],o=(48&r[3])>>>4,a=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==s),l={},c=4;if(2==o||3==o){let e=r[4];if(e>0&&(d||3==o)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==o||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==o||3==o)if(0===s||s===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[s]===In){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:s,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[s]){let r=188-c,i=li.pmt_.pid_stream_type[s];s!==li.pmt_.common_pids.h264&&s!==li.pmt_.common_pids.h265&&s!==li.pmt_.common_pids.adts_aac&&s!==li.pmt_.common_pids.loas_aac&&s!==li.pmt_.common_pids.ac3&&s!==li.pmt_.common_pids.eac3&&s!==li.pmt_.common_pids.opus&&s!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[s]&&!0!==li.pmt_.timed_id3_pids[s]&&!0!==li.pmt_.synchronous_klv_pids[s]&&!0!==li.pmt_.asynchronous_klv_pids[s]||li.handlePESSlice(e,t+c,r,{pid:s,stream_type:i,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let o=n[0];if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t+1,Math.min(r,o));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):li.clearSlices(s,i)}for(let a=1+o;a=s.expected_length&&li.clearSlices(s,i),a+=d.byteLength}}else if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t,Math.min(r,s.expected_length-s.total_length));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):s.total_length>=s.expected_length&&li.clearSlices(s,i)}},handlePESSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=n[0]<<16|n[1]<<8|n[2];n[3];let o=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==s)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${s}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new zn,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let a=li.pes_slice_queues_[i.pid];a.slices.push(n),i.payload_unit_start_indicator&&(a.expected_length=0===o?0:o+6),a.total_length+=n.byteLength,a.expected_length>0&&a.expected_length===a.total_length?li.emitPESSlices(a,i):a.expected_length>0&&a.expected_length>>6,a=t[8];2!==o&&3!==o||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,s=3===o?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+a;if(0!==n){if(n<3+a)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=n-3-a}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case Un:case kn:li.parseMP3Payload(c,r);break;case Tn:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,s,e.pid,i):li.parsePESPrivateDataPayload(c,r,s,e.pid,i));break;case Cn:li.parseADTSAACPayload(c,r);break;case Dn:li.parseLOASAACPayload(c,r);break;case Pn:case Ln:break;case Fn:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,s,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,s,e.pid,i);break;case Mn:li.parseH264Payload(c,r,s,e.random_access_indicator);break;case Rn:li.parseH265Payload(c,r,s,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Tn){let r,s=6;r=0!==n?n:t.byteLength-s;let o=t.subarray(s,s+r);li.parsePESPrivateDataPayload(o,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,n=1&e[5],s=e[6];e[7];let o=null;if(1===n&&0===s)o={version_number:0,network_pid:0,program_pmt_pid:{}},o.version_number=i;else if(o=li.pat_,null==o)return;let a=r-5-4,d=-1,l=-1;for(let t=8;t<8+a;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?o.network_pid=i:(o.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===n&&0===s&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(o)}`),li.pat_=o,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],s=(62&e[5])>>>1,o=1&e[5],a=e[6];if(e[7],1===o&&0===a)r=li._initPmt(),r.program_number=n,r.version_number=s,li.program_pmt_map_[n]=r;else if(r=li.program_pmt_map_[n],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Jr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Mr({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let n=li.media_info_;n.hasVideo=!0,n.width=t.codecWidth,n.height=t.codecHeight,n.fps=t.frameRate.fps,n.profile=t.profile,n.level=t.level,n.refFrames=e.ref_frames,n.chromaFormat=e.chroma_format_string,n.sarNum=t.sarRatio.width,n.sarDen=t.sarRatio.height,n.videoCodec=t.codec,n.hasAudio&&n.audioCodec?n.mimeType=`video/mp2t; codecs="${n.videoCodec},${n.audioCodec}"`:n.mimeType=`video/mp2t; codecs="${n.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new tr(e),o=null,a=i;for(;null!=(o=s.readNextAACFrame());){r=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(o.data.length+2);i.set([175,1],0),i.set(o.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:de};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,a+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new rr(e),o=null,a=i;for(;null!=(o=s.readNextAACFrame(hr(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=o,r=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(o.data.length+2);i.set([175,1],0),i.set(o.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:de};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,a+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],s=e[1]>>>3&3,o=(6&e[1])>>1;e[2];let a=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(s){case 0:l=n[a];break;case 2:l=i[a];break;case 3:l=r[a]}switch(o){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(h)):li.detectAudioMetadataChange(h)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:de};li.audio_track_.samples.push(f),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Hn(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const n=Xt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(n,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,n){let s=new $n;if(s.pid=i,s.stream_id=n,s.len=e.byteLength,s.data=e,null!=t){let e=Math.floor(t/li.timescale_);s.pts=e}else s.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);s.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===le?li._doDecodeVideo({...e,payload:t}):e.type===de&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?ei(t,e.isIFrame):zr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:le,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;Sr(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:de,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Ar()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new _n,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!Er(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===St,isStateClosed:()=>ci.getState()===Et,isStateEnded:()=>ci.getState()===wt,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,xt,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,At,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,Bt,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(Er(ci.hasInit))if(r&&e[1]===Ct){const i=15&e[0];if(i===Ne&&Er(ui._opt.supportMSEDecodeHevc))return void ci.emitError(Me.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:R,code:i});const n=new Uint8Array(e);postMessage({cmd:z,buffer:n,codecId:i},[n.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===ze?r=Fr(e.slice(5)):t===Ne&&(r=Kr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(Me.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(wr(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&ex,_decodeConfigurationRecord(e,t,r,i){let n=e.slice(5),s={};if(i===ze?s=Fr(n):i===Ne&&(s=Xr(n)),ci.videoInfo.width=s.codecWidth,ci.videoInfo.height=s.codecHeight,0===s.codecWidth&&0===s.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(s)),ci.emitError(Me.mediaSourceDecoderConfigurationError,`width is ${0===s.codecWidth} and height is ${s.codecHeight}`),!1;const o={id:Mt,type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},a=gn.generateInitSegment(o);ci.isAvc=i===ze;let d=s.codec;return ci.videoMimeType=d?`video/mp4; codecs="${s.codec}"`:ci.isAvc?vt:bt,postMessage({cmd:C,w:s.codecWidth,h:s.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(a.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,n=r===je,s=r===He;if(Er(s||n))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(Me.mediaSourceAudioG711NotSupport),!1;const o={id:Rt,type:"audio",timescale:1e3};let a={};if(Zt(e)){if(a=er(e.slice(2)),!a)return!1;o.audioSampleRate=a.sampleRate,o.channelCount=a.channelCount,o.config=a.config,o.refSampleDuration=1024/o.audioSampleRate*o.timescale}else{if(!n)return!1;if(a=Bn(e),!a)return!1;o.audioSampleRate=a.samplingRate,o.channelCount=a.channelCount,o.refSampleDuration=1152/o.audioSampleRate*o.timescale}o.codec=a.codec,o.duration=0;let d="mp4",l=a.codec,c=null;n&&Er(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=gn.generateInitSegment(o);let u=`${o.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),Er(ci.isAudioInitInfo)&&(cr=r===He?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:L,sampleRate:o.audioSampleRate,channels:o.channelCount,depth:cr}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=s,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Me.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(Me.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Me.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(Me.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(Me.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,n){let s=e.slice(5),o=s.byteLength;if(0===o)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let a=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=a,d=!0);const l=a-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${a} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(gn.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=gn.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendBuffer(n.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${n} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=Mt,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=o,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=s,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),n=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(gn.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=gn.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendAudioBuffer(n.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Rt,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=n,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Er(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&Er(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Er(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&Er(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(Me.mediaSourceAudioInitTimeout)}),1e3)));if(Er(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Me.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Me.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(Er(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Me.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Me.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:n,end:t})}}else s=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:n,end:t})}}else sci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&Er(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&Er(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&Er(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&Er(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(Er(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:oe,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Lt,_opt:Lr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:Ke,wasmDecodeDelay:Ae-xe});postMessage({cmd:G,type:Pe,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!ae)return-1;if(t===de)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(Ke=!1,ui.delay=t-r):(Ke=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!ae)return-1;if(t===de)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(Ke=!1,t=r-i):(Ke=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===le&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===de?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===le&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===le&&o.decode?o.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===n.length)return;const t=e.ts,i=n[0],s=e.type===le&&wr(e.payload);if(Er(r))s&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i));else{const r=i.ts-t,o=i.type===de&&e.type===le;(r<=20||o||s)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${o} and isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===v,t=ui._opt.playType===b,s=ui._opt.playType===w;if(qr.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=s,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),o&&ui._opt.useWCS&&ui.useOffscreen()&&o.init(),Er(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(n.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${n.length}`);if(ui.dropping){for(r=n.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${n.length}`);!r.isIFrame&&n.length;)r=n.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;n.length;)r=n.shift(),ui.doDecode(r);else if(r=n[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),n.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:W})):(n.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;n.length;){if(r=n[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${n.length}`);break}n.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();tt||(tt=e);const r=e-tt;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),tt=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Er(ui._opt.checkFirstIFrame)&&(ae=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:ne,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;n.length&&(e=n.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,jr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(Br=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&Er(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,tt=null,Ke=!1,Ae=0,xe=0,o&&(o.destroy&&o.destroy(),o=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Lr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),n=[],s=[],u&&(u.close(),u=null),f=null,E=null,A=!1,k=!1,ae=!1,qt=!1,Yt=!1,Qt=!1,ir=null,ot=[],kt=0,Dt=0,rt=null,nt=null,Ht=null,Wt=null,cr=null,Vt=0,jt=0,pt=null,Ut=null,ui.fetchStatus=Lt,Ur=!0,qr.destroy(),Zr.destroy(),di.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:X})},pushBuffer:function(e,t){if(t.type===de&&Zt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ee,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===le&&t.isIFrame&&wr(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:te,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:re,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===S)if(t.type===le){const r=new Uint8Array(e).slice(5);postMessage({cmd:N,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===de&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Jt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===le){if(Vt>0){const e=t.ts-Wt,r=Vt+Vt/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Wt},\n diff is ${e} and preTsDuration is ${Vt} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Wt&&Wt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Wt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Wt-t.ts>x&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Wt}, options.ts is ${t.ts},\n diff is ${Wt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Wt=null,Vt=0),ui._opt.isDropSameTimestampGop&&Er(t.isIFrame)&&ae)){const e=ui.hasIframeInBufferList(),t=Er(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),Sr(ui._opt.checkFirstIFrame)&&Sr(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:ie}))))}Wt>0&&(Vt=t.ts-Wt),jt=e.byteLength,Wt=t.ts}if(ae){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${n.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;n.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${n.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:j,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return n.forEach((t=>{t.type===le&&(e+=1)})),e},hasIframeInBufferList:()=>n.some((e=>e.type===le&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return n.forEach((e=>{e.type===le&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return n.forEach((t=>{t.type===de&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?qr.lastBuf&&(e=qr.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&Zr.mp4Box&&(e=Zr.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=ur((e=>{postMessage({cmd:G,type:Ue,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&Zr.listenMp4Box(),t.protocol===_){t.isFlv&&(u=new Cr(ui.demuxFlv())),a=new AbortController;const r=Object.assign({signal:a.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(Sr(Br))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Lt,void e.body.cancel();if(!vr(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),jr(),void postMessage({cmd:G,type:Me.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:De}),_r())ui.writableStream=new WritableStream({write:e=>a&&a.signal&&a.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It)):Sr(Br)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=It,void jr()):void("string"!=typeof e?(ui.fetchStatus=Ft,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=It,jr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Be,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Le})},abort:e=>{if(a&&a.signal&&a.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Me.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:n}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=It,jr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Be,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Le}))):a&&a.signal&&a.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It)):Sr(Br)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=It,void jr()):void("string"!=typeof n?(ui.fetchStatus=Ft,l(n.byteLength),t.isFlv?u.write(n):t.isFmp4?ui.demuxFmp4(n):t.isMpeg4?ui.demuxMpeg4(n):t.isTs?ui.demuxTs(n):t.isNakedFlow&&ui.demuxNakedFlow(n),i()):ui.debugWarn("worker",`fetchNext().then() and value "${n}" is string so return`))})).catch((e=>{if(a&&a.signal&&a.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Me.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{a&&a.signal&&a.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==Tt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Me.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===m&&(t.isFlv&&(u=new Cr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:De}),postMessage({cmd:G,type:Ie})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):h?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),Sr(Br)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Be,value:y,msg:e.code})):postMessage({cmd:G,type:Le}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),h=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):Sr(Br)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:G,type:Me.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const n=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let s=r[0];const o=(yield n).slice();switch(i){case ce:if(o.byteLength>0){let e=o;Sr(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(o)),ui.decode(e,{type:de,ts:s})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${o.byteLength} and return`);break;case ue:if(o.byteLength>=6){const e=o[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(o,s);else{const e=15&o[0];let t=o[0]>>4===Pt;const i=e===Ne;if(Er(t)&&Sr(xr(o,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&wr(o)&&null===ui.isHevc){const e=15&o[0];ui.isHevc=e===Ne,ir=ar(o,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${ir}`)}t&&ui.calcIframeIntervalTimestamp(s),ui.isPlayer&&ui.calcNetworkDelay(s),r[0]=o[4],r[1]=o[3],r[2]=o[2],r[3]=0;let n=r[0],a=ui.cryptoPayload(o,t);ui.decode(a,{type:le,ts:s,isIFrame:t,cts:n})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${o.byteLength} and return`);break;case he:postMessage({cmd:Q,buffer:o},[o.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===de?ui._opt.hasAudio&&(postMessage({cmd:G,type:ke,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===le&&ui._opt.hasVideo&&(postMessage({cmd:G,type:Te,value:e.byteLength}),postMessage({cmd:G,type:Ce,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Hi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?is(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):ln(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=pn(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===He&&(t=Wi(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,n=e[0]>>1&1;if(cr=r===He?n?16:8:0===n?8:16,hi&&hi.setCodec||!Er(i))if(Zt(e)||r===We||r===Ve||r===je){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const n=r===He?e.slice(2):new Uint8Array(0);if(i){if(r===je)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");hi.sample_rate=ui._opt.sampleRate,hi.decode(e,t)}else hi.setCodec(r,ui._opt.sampleRate,n,ui.getBuildTime());r===He&&postMessage({cmd:M,buffer:n},[n.buffer]),k=!0,r!==He&&(r===je?(ui.mp3Demuxer||(ui.mp3Demuxer=new un(ui),ui.mp3Demuxer.on("data",((e,t)=>{hi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):hi.decode(e.slice(1),t));const s=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})}),60*s*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(Sr(r)&&Sr(ui._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(k){if(Zt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?hi.decode(e,t):r===je?ui.mp3Demuxer.dispatch(e.slice(1),t):hi.decode(r===He?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(fi&&fi.setCodec||!Er(i))if(wr(e))if(r===ze||r===Ne){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===ze&&ui._opt.useSIMD){const e=Fr(t);if(e.codecWidth>B||e.codecHeight>B)return postMessage({cmd:K,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const n=new Uint8Array(e);A=!0,i?fi.decode(e,0):fi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:R,code:r}),postMessage({cmd:z,buffer:n,codecId:r},[n.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,n){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,n,s);else if(Sr(r))postMessage({cmd:$,payload:e,isIFrame:n,ts:t,cts:s,delay:ui.delay},[e.buffer]);else if(A)if(!ae&&n&&(ae=!0),ae){if(n&&wr(e)){const t=15&e[0];let r={};t===ze?r=Fr(e.slice(5)):t===Ne&&(r=Kr(e)),r.codecWidth&&r.codecHeight&&f&&E&&(r.codecWidth!==f||r.codecHeight!==E)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${f}, old height is ${E},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),Yt=!0,postMessage({cmd:q,value:`width: ${f}->${r.codecWidth}, height: ${E}->${r.codecHeight}`}))}if(Yt)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(Qt)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(wr(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${n.length}, need clear is ${e}`),e&&(n=[]),ui.isPlayer&&(ui.resetAllDelay(),Sr(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:W}))),Sr(ui._opt.checkFirstIFrame)&&Er(r)&&(ae=!1)},dropBuffer$2:function(){if(n.length>0){let e=n.findIndex((e=>Sr(e.isIFrame)&&e.type===le));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:W});const t=n.length;n=n.slice(e);const r=n.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${n.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===n.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),n=new ArrayBuffer(4),s=new Uint32Array(n);switch(i){case de:ui.decode(new Uint8Array(e,5),{type:de,ts:r});break;case le:if(t.byteLength>=11){const i=new Uint8Array(e,5),n=i[0];if(ui._isEnhancedH265Header(n))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),wr(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===Ne}ui.isPlayer&&ui.calcNetworkDelay(r),s[0]=i[4],s[1]=i[3],s[2]=i[2],s[3]=0;let n=s[0],o=ui.cryptoPayload(i,e);ui.decode(o,{type:le,ts:r,isIFrame:e,cts:n})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){qr.dispatch(e)},demuxFmp4:function(e){Zr.dispatch(e)},demuxMpeg4:function(e){di.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,n=15&r,s=e.slice(1,5),o=new ArrayBuffer(4),a=new Uint32Array(o),d="a"==String.fromCharCode(s[0]);if(ui.isHevc=Er(d),n===Nt){if(i===Gt){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),ir=ar(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${ir}`),ui.decode(i,{type:le,ts:t,isIFrame:!0,cts:0})}}}else if(n===$t){let r=e,n=0;const s=i===Gt;s&&ui.calcIframeIntervalTimestamp(t),d||(a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0,n=a[0],r=ei(e.slice(8),s),r=ui.cryptoPayload(r,s),ui.decode(r,{type:le,ts:t,isIFrame:s,cts:n}))}else if(n===Ot){const r=i===Gt;r&&ui.calcIframeIntervalTimestamp(t);let n=ei(e.slice(5),r);n=ui.cryptoPayload(n,r),ui.decode(n,{type:le,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&zt)===zt},findSei:function(e,t){let r=4;fr(ir)&&(r=ir),nr(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===_t||r===mt),n=Er(ui.isHevc)&&r===Je;if(i||n){const r=sr(e,ui.isHevc);postMessage({cmd:J,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(ae&&e>0))return;null===rt?(rt=e,nt=dr()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===v&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${rt} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Fe,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ht?Ht=e:Ht=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&Sr(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){Er(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),qt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),qt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:R,code:e}),postMessage({cmd:C,w:t,h:r}),f=t,E=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:L,sampleRate:t,channels:r,depth:cr}),Dt=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=f*E*3/2;let n=e.HEAPU8.subarray(t,t+i),s=new Uint8Array(n);if(pt=null,xe=r,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,s);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:s,delay:ui.delay,ts:r},[s.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,o=[],a=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;o[r]=t.HEAPF32.subarray(i,i+n)}if(kt){if(!(n>=(r=d-kt)))return kt+=n,s[0]=Float32Array.of(...s[0],...o[0]),void(2==Dt&&(s[1]=Float32Array.of(...s[1],...o[1])));ot[0]=Float32Array.of(...s[0],...o[0].subarray(0,r)),2==Dt&&(ot[1]=Float32Array.of(...s[1],...o[1].subarray(0,r))),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer))),a=r,n-=r}for(kt=n;kt>=d;kt-=d)ot[0]=o[0].slice(a,a+=d),2==Dt&&(ot[1]=o[1].slice(a-d,a)),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer)));kt&&(s[0]=o[0].slice(a),2==Dt&&(s[1]=o[1].slice(a))),o=[]},errorInfo:function(e){null===pt&&(pt=dr());const t=dr(),r=lr(Ut>0?2*Ut:5e3,1e3,5e3),i=t-pt;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${Ut} and diff is ${i} and maxDiff is ${r}\n and replay`),Qt=!0,postMessage({cmd:Y}))},sendWebsocketMessage:function(e){d?d.readyState===Re?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})},postStreamToMain(e,t){postMessage({cmd:Z,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),Sr(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,f=e,E=t,postMessage({cmd:C,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){Dt=e,postMessage({cmd:L,sampleRate:t,channels:e,depth:cr})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,o=[],a=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;o[r]=t.HEAPF32.subarray(i,i+n)}if(kt){if(!(n>=(r=d-kt)))return kt+=n,s[0]=Float32Array.of(...s[0],...o[0]),void(2==Dt&&(s[1]=Float32Array.of(...s[1],...o[1])));ot[0]=Float32Array.of(...s[0],...o[0].subarray(0,r)),2==Dt&&(ot[1]=Float32Array.of(...s[1],...o[1].subarray(0,r))),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer))),a=r,n-=r}for(kt=n;kt>=d;kt-=d)ot[0]=o[0].slice(a,a+=d),2==Dt&&(ot[1]=o[1].slice(a-d,a)),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer)));kt&&(s[0]=o[0].slice(a),2==Dt&&(s[1]=o[1].slice(a))),o=[]},draw:function(t,r,i,n){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const s=e.HEAPU8.subarray(r,r+kr),o=e.HEAPU8.subarray(i,i+Tr),a=e.HEAPU8.subarray(n,n+Tr),d=new Uint8Array(kr+Tr+Tr);if(d.set(s),d.set(o,kr),d.set(a,kr+Tr),pt=null,xe=t,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let hi=null;t.AudioDecoder&&(hi=new t.AudioDecoder(ui));let fi=null;e.VideoDecoder&&(fi=new e.VideoDecoder(ui)),postMessage({cmd:T}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case fe:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${fe}`,t.opt);break;case pe:ui.pushBuffer(t.buffer,t.options);break;case me:ui.decodeAudio(t.buffer,t.ts);break;case _e:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case ve:ui.clearBuffer(t.needClear);break;case be:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case ge:ui.debugLog("worker",`onmessage:${ge}`,JSON.stringify(t.options)),t.options&&Er(t.options.isVideoInited)&&(Ur=t.options.isVideoInited),ui.close();break;case ye:ui.debugLog("worker",`onmessage:${ye}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case we:ui.sendWebsocketMessage(t.message);break;case Se:ci.$video.currentTime=Number(t.message);break;case Ee:ui.updatePlaybackIsPause(t.isPause)}}}(e[1],t)}))})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,i;(i=e).ready=new Promise(((e,r)=>{t=e,n=r})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-mt-worker.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_MT_WORKER_WASM_URL&&""!=JESSIBUCA_PRO_MT_WORKER_WASM_URL?JESSIBUCA_PRO_MT_WORKER_WASM_URL:e};var s,o,a,c=Object.assign({},i),u="./this.program",l=(e,t)=>{throw t},d="object"==typeof window,h="function"==typeof importScripts,f="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,p=i.ENVIRONMENT_IS_PTHREAD||!1,m="";function v(e){return i.locateFile?i.locateFile(e,m):m+e}if(f){const{createRequire:e}=await import("module");var y=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href),g=y("fs"),_=y("path");let t;m=h?_.dirname(m)+"/":y("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href)),s=(e,t)=>(e=se(e)?new URL(e):_.normalize(e),g.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=se(e)?new URL(e):_.normalize(e),g.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),l=(e,t)=>{throw process.exitCode=e,t},i.inspect=()=>"[Emscripten Module object]";try{t=y("worker_threads")}catch(e){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),e}global.Worker=t.Worker}else(d||h)&&(h?m=self.location.href:"undefined"!=typeof document&&document.currentScript&&(m=document.currentScript.src),r&&(m=r),m=0!==m.indexOf("blob:")?m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):"",f||(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},h&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)}));f&&"undefined"==typeof performance&&(global.performance=y("perf_hooks").performance);var w=console.log.bind(console),b=console.error.bind(console);f&&(w=function(){for(var e=arguments.length,t=new Array(e),r=0;re.startsWith(ne),se=e=>e.startsWith("file://");function oe(e){if(e==ee&&S)return new Uint8Array(S);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ae(e){if(!S&&(d||h)){if("function"==typeof fetch&&!se(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>oe(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>oe(e)))}function ce(e,t,r){return ae(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{A(`failed to asynchronously prepare wasm: ${e}`),Q(e)}))}function ue(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||ie(t)||se(t)||f||"function"!=typeof fetch?ce(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return A(`wasm streaming compile failed: ${e}`),A("falling back to ArrayBuffer instantiation"),ce(t,r,n)}))))}function le(){var e={a:Kn};function t(e,t){return Xn=e.exports,st(Xn.W),et=Xn.Z,q(Xn.R),k=t,Z(),Xn}if(J(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){A(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return ue(S,ee,e,(function(e){t(e.instance,e.module)})).catch(n),{}}function de(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}i.locateFile?ie(ee="decoder-pro-mt-worker.wasm")||(ee=v(ee)):ee=new URL("decoder-pro-mt-worker.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href).href;var he=e=>{e.terminate(),e.onmessage=e=>{}},fe=e=>{var t=Xe.pthreads[e];delete Xe.pthreads[e],he(t),si(e),Xe.runningWorkers.splice(Xe.runningWorkers.indexOf(t),1),t.pthread_ptr=0},pe=e=>{Xe.pthreads[e].postMessage({cmd:"cancel"})},me=e=>{var t=Xe.pthreads[e];Xe.returnWorkerToPool(t)},ve=e=>{var t=Xe.getNewWorker();if(!t)return 6;Xe.runningWorkers.push(t),Xe.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var r={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return f&&t.unref(),t.postMessage(r,e.transferList),0},ye=0,ge=()=>it||ye>0,_e={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=_e.isAbs(e),r="/"===e.substr(-1);return(e=_e.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=_e.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=_e.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return _e.normalize(e.join("/"))},join2:(e,t)=>_e.normalize(e+"/"+t)},we=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>(e.set(crypto.getRandomValues(new Uint8Array(e.byteLength))),e);if(f)try{var e=y("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}Q("initRandomDevice")},be=e=>(be=we())(e),Se={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Ne.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=_e.isAbs(n)}return(t?"/":"")+(e=_e.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=Se.resolve(e).substr(1),t=Se.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&Ee)return Ee.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},Ie=[],Ae=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},Ce=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-i};function Te(e,t,r){var n=r>0?r:Ae(e)+1,i=new Array(n),s=Ce(e,i,0,i.length);return t&&(i.length=s),i}var xe=()=>{if(!Ie.length){var e=null;if(f){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=g.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;Ie=Te(e,!0)}return Ie.shift()},De={ttys:[],init(){},shutdown(){},register(e,t){De.ttys[e]={input:[],output:[],ops:t},Ne.registerDevice(e,De.stream_ops)},stream_ops:{open(e){var t=De.ttys[e.node.rdev];if(!t)throw new Ne.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new Ne.ErrnoError(60);for(var s=0,o=0;oxe(),put_char(e,t){null===t||10===t?(I(ke(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(I(ke(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(A(ke(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(A(ke(e.output,0)),e.output=[])}}},Pe=e=>{Q()},Be={ops_table:null,mount:e=>Be.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Ne.isBlkdev(r)||Ne.isFIFO(r))throw new Ne.ErrnoError(63);Be.ops_table||(Be.ops_table={dir:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr,lookup:Be.node_ops.lookup,mknod:Be.node_ops.mknod,rename:Be.node_ops.rename,unlink:Be.node_ops.unlink,rmdir:Be.node_ops.rmdir,readdir:Be.node_ops.readdir,symlink:Be.node_ops.symlink},stream:{llseek:Be.stream_ops.llseek}},file:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr},stream:{llseek:Be.stream_ops.llseek,read:Be.stream_ops.read,write:Be.stream_ops.write,allocate:Be.stream_ops.allocate,mmap:Be.stream_ops.mmap,msync:Be.stream_ops.msync}},link:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr,readlink:Be.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr},stream:Ne.chrdev_stream_ops}});var i=Ne.createNode(e,t,r,n);return Ne.isDir(i.mode)?(i.node_ops=Be.ops_table.dir.node,i.stream_ops=Be.ops_table.dir.stream,i.contents={}):Ne.isFile(i.mode)?(i.node_ops=Be.ops_table.file.node,i.stream_ops=Be.ops_table.file.stream,i.usedBytes=0,i.contents=null):Ne.isLink(i.mode)?(i.node_ops=Be.ops_table.link.node,i.stream_ops=Be.ops_table.link.stream):Ne.isChrdev(i.mode)&&(i.node_ops=Be.ops_table.chrdev.node,i.stream_ops=Be.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Ne.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Ne.isDir(e.mode)?t.size=4096:Ne.isFile(e.mode)?t.size=e.usedBytes:Ne.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Be.resizeFileStorage(e,t.size)},lookup(e,t){throw Ne.genericErrors[44]},mknod:(e,t,r,n)=>Be.createNode(e,t,r,n),rename(e,t,r){if(Ne.isDir(e.mode)){var n;try{n=Ne.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Ne.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Ne.lookupNode(e,t);for(var n in r.contents)throw new Ne.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=Be.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Ne.isLink(e.mode))throw new Ne.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,n);if(o>8&&s.subarray)t.set(s.subarray(i,i+o),r);else for(var a=0;a0||r+t(Be.stream_ops.write(e,t,0,n,r,!1),0)}},Me=(e,t,r,n)=>{var i=n?"":`al ${e}`;o(e,(r=>{L(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&Z()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&J()},Fe=(e,t,r,n,i,s)=>{Ne.createDataFile(e,t,r,n,i,s)},Ue=i.preloadPlugins||[],Re=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ue.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},Le=(e,t,r,n,i,s,o,a,c,u)=>{var l=t?Se.resolve(_e.join2(e,t)):e;function d(r){function d(r){u&&u(),a||Fe(e,t,r,n,i,c),s&&s(),Z()}Re(r,l,d,(()=>{o&&o(),Z()}))||d(r)}J(),"string"==typeof r?Me(r,(e=>d(e)),o):d(r)},Oe=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},ze=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Ne={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Se.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Ne.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Ne.root,i="/",s=0;s40)throw new Ne.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(Ne.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%Ne.nameTable.length},hashAddNode(e){var t=Ne.hashName(e.parent.id,e.name);e.name_next=Ne.nameTable[t],Ne.nameTable[t]=e},hashRemoveNode(e){var t=Ne.hashName(e.parent.id,e.name);if(Ne.nameTable[t]===e)Ne.nameTable[t]=e.name_next;else for(var r=Ne.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Ne.mayLookup(e);if(r)throw new Ne.ErrnoError(r,e);for(var n=Ne.hashName(e.id,t),i=Ne.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Ne.lookup(e,t)},createNode(e,t,r,n){var i=new Ne.FSNode(e,t,r,n);return Ne.hashAddNode(i),i},destroyNode(e){Ne.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Ne.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Ne.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Ne.lookupNode(e,t),20}catch(e){}return Ne.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Ne.lookupNode(e,t)}catch(e){return e.errno}var i=Ne.nodePermissions(e,"wx");if(i)return i;if(r){if(!Ne.isDir(n.mode))return 54;if(Ne.isRoot(n)||Ne.getPath(n)===Ne.cwd())return 10}else if(Ne.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Ne.isLink(e.mode)?32:Ne.isDir(e.mode)&&("r"!==Ne.flagsToPermissionString(t)||512&t)?31:Ne.nodePermissions(e,Ne.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ne.MAX_OPEN_FDS;e++)if(!Ne.streams[e])return e;throw new Ne.ErrnoError(33)},getStreamChecked(e){var t=Ne.getStream(e);if(!t)throw new Ne.ErrnoError(8);return t},getStream:e=>Ne.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Ne.FSStream||(Ne.FSStream=function(){this.shared={}},Ne.FSStream.prototype={},Object.defineProperties(Ne.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ne.FSStream,e),-1==t&&(t=Ne.nextfd()),e.fd=t,Ne.streams[t]=e,e},closeStream(e){Ne.streams[e]=null},chrdev_stream_ops:{open(e){var t=Ne.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Ne.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Ne.devices[e]={stream_ops:t}},getDevice:e=>Ne.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Ne.syncFSRequests++,Ne.syncFSRequests>1&&A(`warning: ${Ne.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Ne.getMounts(Ne.root.mount),n=0;function i(e){return Ne.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&Ne.root)throw new Ne.ErrnoError(10);if(!i&&!s){var o=Ne.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,Ne.isMountpoint(n))throw new Ne.ErrnoError(10);if(!Ne.isDir(n.mode))throw new Ne.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(a);return c.mount=a,a.root=c,i?Ne.root=c:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),c},unmount(e){var t=Ne.lookupPath(e,{follow_mount:!1});if(!Ne.isMountpoint(t.node))throw new Ne.ErrnoError(28);var r=t.node,n=r.mounted,i=Ne.getMounts(n);Object.keys(Ne.nameTable).forEach((e=>{for(var t=Ne.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Ne.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Ne.lookupPath(e,{parent:!0}).node,i=_e.basename(e);if(!i||"."===i||".."===i)throw new Ne.ErrnoError(28);var s=Ne.mayCreate(n,i);if(s)throw new Ne.ErrnoError(s);if(!n.node_ops.mknod)throw new Ne.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Ne.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Ne.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Ne.mknod(e,t,r)),symlink(e,t){if(!Se.resolve(e))throw new Ne.ErrnoError(44);var r=Ne.lookupPath(t,{parent:!0}).node;if(!r)throw new Ne.ErrnoError(44);var n=_e.basename(t),i=Ne.mayCreate(r,n);if(i)throw new Ne.ErrnoError(i);if(!r.node_ops.symlink)throw new Ne.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=_e.dirname(e),s=_e.dirname(t),o=_e.basename(e),a=_e.basename(t);if(r=Ne.lookupPath(e,{parent:!0}).node,n=Ne.lookupPath(t,{parent:!0}).node,!r||!n)throw new Ne.ErrnoError(44);if(r.mount!==n.mount)throw new Ne.ErrnoError(75);var c,u=Ne.lookupNode(r,o),l=Se.relative(e,s);if("."!==l.charAt(0))throw new Ne.ErrnoError(28);if("."!==(l=Se.relative(t,i)).charAt(0))throw new Ne.ErrnoError(55);try{c=Ne.lookupNode(n,a)}catch(e){}if(u!==c){var d=Ne.isDir(u.mode),h=Ne.mayDelete(r,o,d);if(h)throw new Ne.ErrnoError(h);if(h=c?Ne.mayDelete(n,a,d):Ne.mayCreate(n,a))throw new Ne.ErrnoError(h);if(!r.node_ops.rename)throw new Ne.ErrnoError(63);if(Ne.isMountpoint(u)||c&&Ne.isMountpoint(c))throw new Ne.ErrnoError(10);if(n!==r&&(h=Ne.nodePermissions(r,"w")))throw new Ne.ErrnoError(h);Ne.hashRemoveNode(u);try{r.node_ops.rename(u,n,a)}catch(e){throw e}finally{Ne.hashAddNode(u)}}},rmdir(e){var t=Ne.lookupPath(e,{parent:!0}).node,r=_e.basename(e),n=Ne.lookupNode(t,r),i=Ne.mayDelete(t,r,!0);if(i)throw new Ne.ErrnoError(i);if(!t.node_ops.rmdir)throw new Ne.ErrnoError(63);if(Ne.isMountpoint(n))throw new Ne.ErrnoError(10);t.node_ops.rmdir(t,r),Ne.destroyNode(n)},readdir(e){var t=Ne.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Ne.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Ne.lookupPath(e,{parent:!0}).node;if(!t)throw new Ne.ErrnoError(44);var r=_e.basename(e),n=Ne.lookupNode(t,r),i=Ne.mayDelete(t,r,!1);if(i)throw new Ne.ErrnoError(i);if(!t.node_ops.unlink)throw new Ne.ErrnoError(63);if(Ne.isMountpoint(n))throw new Ne.ErrnoError(10);t.node_ops.unlink(t,r),Ne.destroyNode(n)},readlink(e){var t=Ne.lookupPath(e).node;if(!t)throw new Ne.ErrnoError(44);if(!t.node_ops.readlink)throw new Ne.ErrnoError(28);return Se.resolve(Ne.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Ne.lookupPath(e,{follow:!t}).node;if(!r)throw new Ne.ErrnoError(44);if(!r.node_ops.getattr)throw new Ne.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Ne.stat(e,!0),chmod(e,t,r){var n;if(!(n="string"==typeof e?Ne.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Ne.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){Ne.chmod(e,t,!0)},fchmod(e,t){var r=Ne.getStreamChecked(e);Ne.chmod(r.node,t)},chown(e,t,r,n){var i;if(!(i="string"==typeof e?Ne.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Ne.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){Ne.chown(e,t,r,!0)},fchown(e,t,r){var n=Ne.getStreamChecked(e);Ne.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new Ne.ErrnoError(28);var r;if(!(r="string"==typeof e?Ne.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ne.ErrnoError(63);if(Ne.isDir(r.mode))throw new Ne.ErrnoError(31);if(!Ne.isFile(r.mode))throw new Ne.ErrnoError(28);var n=Ne.nodePermissions(r,"w");if(n)throw new Ne.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Ne.getStreamChecked(e);if(0==(2097155&r.flags))throw new Ne.ErrnoError(28);Ne.truncate(r.node,t)},utime(e,t,r){var n=Ne.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Ne.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Oe(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=_e.normalize(e);try{n=Ne.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new Ne.ErrnoError(20)}else n=Ne.mknod(e,r,0),s=!0;if(!n)throw new Ne.ErrnoError(44);if(Ne.isChrdev(n.mode)&&(t&=-513),65536&t&&!Ne.isDir(n.mode))throw new Ne.ErrnoError(54);if(!s){var o=Ne.mayOpen(n,t);if(o)throw new Ne.ErrnoError(o)}512&t&&!s&&Ne.truncate(n,0),t&=-131713;var a=Ne.createStream({node:n,path:Ne.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!i.logReadFiles||1&t||(Ne.readFiles||(Ne.readFiles={}),e in Ne.readFiles||(Ne.readFiles[e]=1)),a},close(e){if(Ne.isClosed(e))throw new Ne.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ne.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Ne.isClosed(e))throw new Ne.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ne.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Ne.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new Ne.ErrnoError(28);if(Ne.isClosed(e))throw new Ne.ErrnoError(8);if(1==(2097155&e.flags))throw new Ne.ErrnoError(8);if(Ne.isDir(e.node.mode))throw new Ne.ErrnoError(31);if(!e.stream_ops.read)throw new Ne.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Ne.ErrnoError(70)}else i=e.position;var o=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=o),o},write(e,t,r,n,i,s){if(n<0||i<0)throw new Ne.ErrnoError(28);if(Ne.isClosed(e))throw new Ne.ErrnoError(8);if(0==(2097155&e.flags))throw new Ne.ErrnoError(8);if(Ne.isDir(e.node.mode))throw new Ne.ErrnoError(31);if(!e.stream_ops.write)throw new Ne.ErrnoError(28);e.seekable&&1024&e.flags&&Ne.llseek(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new Ne.ErrnoError(70)}else i=e.position;var a=e.stream_ops.write(e,t,r,n,i,s);return o||(e.position+=a),a},allocate(e,t,r){if(Ne.isClosed(e))throw new Ne.ErrnoError(8);if(t<0||r<=0)throw new Ne.ErrnoError(28);if(0==(2097155&e.flags))throw new Ne.ErrnoError(8);if(!Ne.isFile(e.node.mode)&&!Ne.isDir(e.node.mode))throw new Ne.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ne.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new Ne.ErrnoError(2);if(1==(2097155&e.flags))throw new Ne.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ne.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Ne.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Ne.open(e,t.flags),i=Ne.stat(e).size,s=new Uint8Array(i);return Ne.read(n,s,0,i,0),"utf8"===t.encoding?r=ke(s,0):"binary"===t.encoding&&(r=s),Ne.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Ne.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(Ae(t)+1),s=Ce(t,i,0,i.length);Ne.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Ne.write(n,t,0,t.byteLength,void 0,r.canOwn)}Ne.close(n)},cwd:()=>Ne.currentPath,chdir(e){var t=Ne.lookupPath(e,{follow:!0});if(null===t.node)throw new Ne.ErrnoError(44);if(!Ne.isDir(t.node.mode))throw new Ne.ErrnoError(54);var r=Ne.nodePermissions(t.node,"x");if(r)throw new Ne.ErrnoError(r);Ne.currentPath=t.path},createDefaultDirectories(){Ne.mkdir("/tmp"),Ne.mkdir("/home"),Ne.mkdir("/home/web_user")},createDefaultDevices(){Ne.mkdir("/dev"),Ne.registerDevice(Ne.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Ne.mkdev("/dev/null",Ne.makedev(1,3)),De.register(Ne.makedev(5,0),De.default_tty_ops),De.register(Ne.makedev(6,0),De.default_tty1_ops),Ne.mkdev("/dev/tty",Ne.makedev(5,0)),Ne.mkdev("/dev/tty1",Ne.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=be(e).byteLength),e[--t]);Ne.createDevice("/dev","random",r),Ne.createDevice("/dev","urandom",r),Ne.mkdir("/dev/shm"),Ne.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ne.mkdir("/proc");var e=Ne.mkdir("/proc/self");Ne.mkdir("/proc/self/fd"),Ne.mount({mount(){var t=Ne.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=Ne.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Ne.createDevice("/dev","stdin",i.stdin):Ne.symlink("/dev/tty","/dev/stdin"),i.stdout?Ne.createDevice("/dev","stdout",null,i.stdout):Ne.symlink("/dev/tty","/dev/stdout"),i.stderr?Ne.createDevice("/dev","stderr",null,i.stderr):Ne.symlink("/dev/tty1","/dev/stderr"),Ne.open("/dev/stdin",0),Ne.open("/dev/stdout",1),Ne.open("/dev/stderr",1)},ensureErrnoError(){Ne.ErrnoError||(Ne.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Ne.ErrnoError.prototype=new Error,Ne.ErrnoError.prototype.constructor=Ne.ErrnoError,[44].forEach((e=>{Ne.genericErrors[e]=new Ne.ErrnoError(e),Ne.genericErrors[e].stack=""})))},staticInit(){Ne.ensureErrnoError(),Ne.nameTable=new Array(4096),Ne.mount(Be,{},"/"),Ne.createDefaultDirectories(),Ne.createDefaultDevices(),Ne.createSpecialDirectories(),Ne.filesystems={MEMFS:Be}},init(e,t,r){Ne.init.initialized=!0,Ne.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,Ne.createStandardStreams()},quit(){Ne.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;i||(o=n);var a=this;a.setDataGetter((e=>{var t=e*o,i=(e+1)*o-1;if(i=Math.min(i,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==o&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Te(i.responseText||"",!0)})(t,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,I("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!h)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var c=Ne.createFile(e,t,a,n,i);a.contents?c.contents=a.contents:a.url&&(c.contents=null,c.url=a.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var o=Math.min(s.length-i,n);if(s.slice)for(var a=0;a{var t=c.stream_ops[e];u[e]=function(){return Ne.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(Ne.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{Ne.forceLoadFile(c);var s=Pe();if(!s)throw new Ne.ErrnoError(48);return l(e,T,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},je=(e,t)=>e?ke(x,e,t):"",He={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(_e.isAbs(t))return t;var n;if(n=-100===e?Ne.cwd():He.getStreamFromFD(e).path,0==t.length){if(!r)throw new Ne.ErrnoError(44);return n}return _e.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&_e.normalize(t)!==_e.normalize(Ne.getPath(e.node)))return-54;throw e}B[r>>2]=n.dev,B[r+4>>2]=n.mode,M[r+8>>2]=n.nlink,B[r+12>>2]=n.uid,B[r+16>>2]=n.gid,B[r+20>>2]=n.rdev,re=[n.size>>>0,(te=n.size,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[r+24>>2]=re[0],B[r+28>>2]=re[1],B[r+32>>2]=4096,B[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),o=n.ctime.getTime();return re=[Math.floor(i/1e3)>>>0,(te=Math.floor(i/1e3),+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[r+40>>2]=re[0],B[r+44>>2]=re[1],M[r+48>>2]=i%1e3*1e3,re=[Math.floor(s/1e3)>>>0,(te=Math.floor(s/1e3),+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[r+56>>2]=re[0],B[r+60>>2]=re[1],M[r+64>>2]=s%1e3*1e3,re=[Math.floor(o/1e3)>>>0,(te=Math.floor(o/1e3),+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[r+72>>2]=re[0],B[r+76>>2]=re[1],M[r+80>>2]=o%1e3*1e3,re=[n.ino>>>0,(te=n.ino,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[r+88>>2]=re[0],B[r+92>>2]=re[1],0},doMsync(e,t,r,n,i){if(!Ne.isFile(t.node.mode))throw new Ne.ErrnoError(43);if(2&n)return 0;var s=x.slice(e,e+r);Ne.msync(t,s,i,r,n)},varargs:void 0,get(){var e=B[+He.varargs>>2];return He.varargs+=4,e},getp:()=>He.get(),getStr:e=>je(e),getStreamFromFD:e=>Ne.getStreamChecked(e)},We=e=>{var t=ui(),r=e();return li(t),r},Ve=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,$e=function(e,t){var r=arguments.length-2,n=arguments;return We((()=>{for(var i=r,s=di(8*i),o=s>>3,a=0;a{if(C=e,p)throw Qe(e),"unwind";Ge(e)},Ye=qe,Ke=e=>{if(e instanceof de||"unwind"==e)return C;l(1,e)},Xe={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){p?Xe.initWorker():Xe.initMainThread()},initMainThread(){G((()=>{J(),Xe.loadWasmModuleToAllWorkers((()=>Z()))}))},initWorker(){it=!1},setExitStatus:e=>{C=e},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var e of Xe.runningWorkers)he(e);for(var e of Xe.unusedWorkers)he(e);Xe.unusedWorkers=[],Xe.runningWorkers=[],Xe.pthreads=[]},returnWorkerToPool:e=>{var t=e.pthread_ptr;delete Xe.pthreads[t],Xe.unusedWorkers.push(e),Xe.runningWorkers.splice(Xe.runningWorkers.indexOf(e),1),e.pthread_ptr=0,si(t)},receiveObjectTransfer(e){},threadInitTLS(){Xe.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=r=>{var n=r.data,s=n.cmd;if(n.targetThread&&n.targetThread!=Qn()){var o=Xe.pthreads[n.targetThread];o?o.postMessage(n,n.transferList):A(`Internal error! Worker sent a message "${s}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===s?cn():"spawnThread"===s?ve(n):"cleanupThread"===s?me(n.thread):"killThread"===s?fe(n.thread):"cancelThread"===s?pe(n.thread):"loaded"===s?(e.loaded=!0,t(e)):"alert"===s?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?e.postMessage(n):"callHandler"===s?i[n.handler](...n.args):s&&A(`worker sent an unknown command ${s}`)},e.onerror=e=>{throw A(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},f&&(e.on("message",(t=>e.onmessage({data:t}))),e.on("error",(t=>e.onerror(t))));var r=[];for(var n of["onExit","onAbort","print","printErr"])i.hasOwnProperty(n)&&r.push(n);e.postMessage({cmd:"load",handlers:r,urlOrBlob:i.mainScriptUrlOrBlob,wasmMemory:E,wasmModule:k})})),loadWasmModuleToAllWorkers(e){e()},allocateUnusedWorker(){var e;if(i.locateFile){var t=v("decoder-pro-mt-worker.worker.js");e=new Worker(t,{type:"module"})}else e=new Worker(new URL("decoder-pro-mt-worker.worker.js","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href),{type:"module"});Xe.unusedWorkers.push(e)},getNewWorker:()=>(0==Xe.unusedWorkers.length&&(Xe.allocateUnusedWorker(),Xe.loadWasmModuleToWorker(Xe.unusedWorkers[0])),Xe.unusedWorkers.pop())};i.PThread=Xe;var Je=e=>{for(;e.length>0;)e.shift()(i)},Ze=()=>{var e=Qn(),t=M[e+52>>2],r=M[e+56>>2];ci(t,t-r),li(t)};function Qe(e){if(p)return $e(1,0,e);Ye(e)}i.establishStackSpace=Ze;var et,tt=[],rt=e=>{var t=tt[e];return t||(e>=tt.length&&(tt.length=e+1),tt[e]=t=et.get(e)),t},nt=(e,t)=>{!function(e){ge()?Xe.setExitStatus(e):oi(e)}(rt(e)(t))};i.invokeEntryPoint=nt;var it=i.noExitRuntime||!0,st=e=>{Xe.tlsInitFunctions.push(e)},ot=(e,t,r,n)=>{Q(`Assertion failed: ${je(e)}, at: `+[t?je(t):"unknown filename",r,n?je(n):"unknown function"])};function at(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){M[this.ptr+4>>2]=e},this.get_type=function(){return M[this.ptr+4>>2]},this.set_destructor=function(e){M[this.ptr+8>>2]=e},this.get_destructor=function(){return M[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,T[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=T[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,T[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=T[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){M[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return M[this.ptr+16>>2]},this.get_exception_ptr=function(){if(hi(this.get_type()))return M[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var ct=(e,t,r)=>{throw new at(e).init(t,r),e},ut=e=>{ri(e,!h,1,!d,65536,!1),Xe.threadInitTLS()},lt=e=>{p?postMessage({cmd:"cleanupThread",thread:e}):me(e)};function dt(e,t,r,n){return p?$e(2,1,e,t,r,n):ht(e,t,r,n)}var ht=(e,t,r,n)=>{if("undefined"==typeof SharedArrayBuffer)return A("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var i=[];if(p&&0===i.length)return dt(e,t,r,n);var s={startRoutine:r,pthread_ptr:e,arg:n,transferList:i};return p?(s.cmd="spawnThread",postMessage(s,i),0):ve(s)},ft=e=>(B[ei()>>2]=e,e);function pt(e,t,r){if(p)return $e(3,1,e,t,r);He.varargs=r;try{var n=He.getStreamFromFD(e);switch(t){case 0:if((i=He.get())<0)return-28;for(;Ne.streams[i];)i++;return Ne.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=He.get();return n.flags|=i,0;case 5:return i=He.getp(),D[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ft(28),-1}}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return-e.errno}}function mt(e,t,r,n){if(p)return $e(4,1,e,t,r,n);He.varargs=n;try{t=He.getStr(t),t=He.calculateAt(e,t);var i=n?He.get():0;return Ne.open(t,r,i).fd}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return-e.errno}}var vt,yt,gt,_t=(e,t,r,n,i)=>{},wt=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);vt=e},bt=e=>{for(var t="",r=e;x[r];)t+=vt[x[r++]];return t},St={},Et={},kt={},It=e=>{throw new yt(e)},At=e=>{throw new gt(e)},Ct=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&At("Mismatched type converter count");for(var i=0;i{Et.hasOwnProperty(e)?i[t]=Et[e]:(s.push(e),St.hasOwnProperty(e)||(St[e]=[]),St[e].push((()=>{i[t]=Et[e],++o===s.length&&n(i)})))})),0===s.length&&n(i)};function Tt(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||It(`type "${n}" must have a positive integer typeid pointer`),Et.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;It(`Cannot register type '${n}' twice`)}if(Et[e]=t,delete kt[e],St.hasOwnProperty(e)){var i=St[e];delete St[e],i.forEach((e=>e()))}}function xt(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Tt(e,t,r)}var Dt,Pt=8,Bt=(e,t,r,n)=>{xt(e,{name:t=bt(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Pt,readValueFromPointer:function(e){return this.fromWireType(x[e])},destructorFunction:null})},Mt=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ft=e=>{It(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ut=!1,Rt=e=>{},Lt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},Ot=e=>{e.count.value-=1,0===e.count.value&&Lt(e)},zt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=zt(e,t,r.baseClass);return null===n?null:r.downcast(n)},Nt={},jt=()=>Object.keys(qt).length,Ht=()=>{var e=[];for(var t in qt)qt.hasOwnProperty(t)&&e.push(qt[t]);return e},Wt=[],Vt=()=>{for(;Wt.length;){var e=Wt.pop();e.$$.deleteScheduled=!1,e.delete()}},$t=e=>{Dt=e,Wt.length&&Dt&&Dt(Vt)},Gt=()=>{i.getInheritedInstanceCount=jt,i.getLiveInheritedInstances=Ht,i.flushPendingDeletes=Vt,i.setDelayFunction=$t},qt={},Yt=(e,t)=>{for(void 0===t&&It("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},Kt=(e,t)=>(t=Yt(e,t),qt[t]),Xt=(e,t)=>(t.ptrType&&t.ptr||At("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&At("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Zt(Object.create(e,{$$:{value:t}})));function Jt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Kt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?Xt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Xt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=Nt[o];if(!a)return i.call(this);s=this.isConst?a.constPointerType:a.pointerType;var c=zt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?Xt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):Xt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var Zt=e=>"undefined"==typeof FinalizationRegistry?(Zt=e=>e,e):(Ut=new FinalizationRegistry((e=>{Ot(e.$$)})),Zt=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Ut.register(e,r,e)}return e},Rt=e=>Ut.unregister(e),Zt(e)),Qt=()=>{Object.assign(er.prototype,{isAliasOf(e){if(!(this instanceof er))return!1;if(!(e instanceof er))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Ft(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Zt(Object.create(Object.getPrototypeOf(this),{$$:{value:Mt(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ft(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&It("Object already scheduled for deletion"),Rt(this),Ot(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ft(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&It("Object already scheduled for deletion"),Wt.push(this),1===Wt.length&&Dt&&Dt(Vt),this.$$.deleteScheduled=!0,this}})};function er(){}var tr=(e,t)=>Object.defineProperty(t,"name",{value:e}),rr=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||It(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},nr=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&It(`Cannot register public name '${e}' twice`),rr(i,e,e),i.hasOwnProperty(r)&&It(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},ir=48,sr=57,or=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=ir&&t<=sr?`_${e}`:e};function ar(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var cr=(e,t,r)=>{for(;t!==r;)t.upcast||It(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function ur(e,t){if(null===t)return this.isReference&&It(`null is not a valid ${this.name}`),0;t.$$||It(`Cannot pass "${jr(t)}" as a ${this.name}`),t.$$.ptr||It(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return cr(t.$$.ptr,r,this.registeredClass)}function lr(e,t){var r;if(null===t)return this.isReference&&It(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||It(`Cannot pass "${jr(t)}" as a ${this.name}`),t.$$.ptr||It(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&It(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=cr(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&It("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:It(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,Or.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:It("Unsupporting sharing policy")}return r}function dr(e,t){if(null===t)return this.isReference&&It(`null is not a valid ${this.name}`),0;t.$$||It(`Cannot pass "${jr(t)}" as a ${this.name}`),t.$$.ptr||It(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&It(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return cr(t.$$.ptr,r,this.registeredClass)}function hr(e){return this.fromWireType(M[e>>2])}var fr=()=>{Object.assign(pr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Pt,readValueFromPointer:hr,deleteObject(e){null!==e&&e.delete()},fromWireType:Jt})};function pr(e,t,r,n,i,s,o,a,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=lr:n?(this.toWireType=ur,this.destructorFunction=null):(this.toWireType=dr,this.destructorFunction=null)}var mr,vr=(e,t,r)=>{i.hasOwnProperty(e)||At("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},yr=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},gr=(e,t,r)=>e.includes("j")?yr(e,t,r):rt(t).apply(null,r),_r=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),gr(e,t,r)}},wr=(e,t)=>{var r=(e=bt(e)).includes("j")?_r(e,t):rt(t);return"function"!=typeof r&&It(`unknown function pointer with signature ${e}: ${t}`),r},br=(e,t)=>{var r=tr(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Sr=e=>{var t=ti(e),r=bt(t);return Jn(t),r},Er=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||Et[t]||(kt[t]?kt[t].forEach(e):(r.push(t),n[t]=!0))})),new mr(`${e}: `+r.map(Sr).join([", "]))},kr=(e,t,r,n,i,s,o,a,c,u,l,d,h)=>{l=bt(l),s=wr(i,s),a&&(a=wr(o,a)),u&&(u=wr(c,u)),h=wr(d,h);var f=or(l);nr(f,(function(){Er(`Cannot construct ${l} due to unbound types`,[n])})),Ct([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:er.prototype;var o=tr(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new yt("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new yt(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new yt(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:o}});o.prototype=c;var d=new ar(l,o,c,h,r,s,a,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new pr(l,d,!0,!1,!1),m=new pr(l+"*",d,!1,!1,!1),v=new pr(l+" const*",d,!1,!0,!1);return Nt[e]={pointerType:m,constPointerType:v},vr(f,o),[p,m,v]}))},Ir=(e,t)=>{for(var r=[],n=0;n>2]);return r},Ar=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Cr(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=tr(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Tr(e,t,r,n,i,s){var o=t.length;o<2&&It("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=a?1:2;u{var o=Ir(t,r);i=wr(n,i),Ct([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new yt(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Er(`Cannot construct ${e.name} due to unbound types`,o)},Ct([],o,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Tr(r,n,null,i,s),[]))),[]}))},Dr=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Pr=(e,t,r,n,i,s,o,a,c)=>{var u=Ir(r,n);t=bt(t),t=Dr(t),s=wr(i,s),Ct([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Er(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(rr(l,t,n),l[t].overloadTable[r-2]=i),Ct([],u,(function(i){var a=Tr(n,i,e,s,o,c);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))};function Br(){Object.assign(Mr.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function Mr(){this.allocated=[void 0],this.freelist=[]}var Fr=new Mr,Ur=e=>{e>=Fr.reserved&&0==--Fr.get(e).refcount&&Fr.free(e)},Rr=()=>{for(var e=0,t=Fr.reserved;t{Fr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Fr.reserved=Fr.allocated.length,i.count_emval_handles=Rr},Or={toValue:e=>(e||It("Cannot use deleted val. handle = "+e),Fr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Fr.allocate({refcount:1,value:e})}}};function zr(e){return this.fromWireType(B[e>>2])}var Nr=(e,t)=>{xt(e,{name:t=bt(t),fromWireType:e=>{var t=Or.toValue(e);return Ur(e),t},toWireType:(e,t)=>Or.toHandle(t),argPackAdvance:Pt,readValueFromPointer:zr,destructorFunction:null})},jr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Hr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(F[e>>2])};case 8:return function(e){return this.fromWireType(U[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Wr=(e,t,r)=>{xt(e,{name:t=bt(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Pt,readValueFromPointer:Hr(t,r),destructorFunction:null})},Vr=(e,t,r)=>{switch(t){case 1:return r?e=>T[e>>0]:e=>x[e>>0];case 2:return r?e=>D[e>>1]:e=>P[e>>1];case 4:return r?e=>B[e>>2]:e=>M[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},$r=(e,t,r,n,i)=>{t=bt(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");xt(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Pt,readValueFromPointer:Vr(t,r,0!==n),destructorFunction:null})},Gr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=M[e>>2],r=M[e+4>>2];return new n(T.buffer,r,t)}xt(e,{name:r=bt(r),fromWireType:i,argPackAdvance:Pt,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},qr=(e,t,r)=>Ce(e,x,t,r),Yr=(e,t)=>{var r="std::string"===(t=bt(t));xt(e,{name:t,fromWireType(e){var t,n=M[e>>2],i=e+4;if(r)for(var s=i,o=0;o<=n;++o){var a=i+o;if(o==n||0==x[a]){var c=je(s,a-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=a+1}}else{var u=new Array(n);for(o=0;o>2]=n,r&&i)qr(t,o,n+1);else if(i)for(var a=0;a255&&(Jn(o),It("String has UTF-16 code units that do not fit in 8 bits")),x[o+a]=c}else for(a=0;a{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&P[n];)++n;if((r=n<<1)-e>32&&Kr)return Kr.decode(x.slice(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=D[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},Jr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return D[t>>1]=0,t-n},Zr=e=>2*e.length,Qr=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=B[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},en=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),B[t>>2]=o,(t+=4)+4>i)break}return B[t>>2]=0,t-n},tn=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},rn=(e,t,r)=>{var n,i,s,o,a;r=bt(r),2===t?(n=Xr,i=Jr,o=Zr,s=()=>P,a=1):4===t&&(n=Qr,i=en,o=tn,s=()=>M,a=2),xt(e,{name:r,fromWireType:e=>{for(var r,i=M[e>>2],o=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==o[l>>a]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return Jn(e),r},toWireType:(e,n)=>{"string"!=typeof n&&It(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),c=Zn(4+s+t);return M[c>>2]=s>>a,i(n,c+4,s+t),null!==e&&e.push(Jn,c),c},argPackAdvance:Pt,readValueFromPointer:zr,destructorFunction(e){Jn(e)}})},nn=(e,t)=>{xt(e,{isVoid:!0,name:t=bt(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},sn=()=>{if(!ge())try{p?oi(C):Ye(C)}catch(e){Ke(e)}},on=e=>{if(!R)try{e(),sn()}catch(e){Ke(e)}},an=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(B,e>>2,e).value.then(cn);var t=e+128;Atomics.store(B,t>>2,1)}};i.__emscripten_thread_mailbox_await=an;var cn=()=>{var e=Qn();e&&(an(e),on(ai))};i.checkMailbox=cn;var un,ln=(e,t,r)=>{if(e==t)setTimeout((()=>cn()));else if(p)postMessage({targetThread:e,cmd:"checkMailbox"});else{var n=Xe.pthreads[e];if(!n)return;n.postMessage({cmd:"checkMailbox"})}},dn=[],hn=(e,t,r,n)=>{dn.length=r;for(var i=n>>3,s=0;s{f&&Xe.pthreads[e].ref()},pn={},mn=e=>{var t=pn[e];return void 0===t?bt(e):t},vn=[],yn=(e,t,r,n,i)=>(e=vn[e])(t=Or.toValue(t),t[r=mn(r)],n,i),gn=e=>{var t=vn.length;return vn.push(e),t},_n=(e,t)=>{var r=Et[e];return void 0===r&&It(t+" has unknown type "+Sr(e)),r},wn=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},bn=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(M[t>>2]=Or.toHandle(n)),i},Sn=(e,t,r)=>{var n=wn(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return gn(tr(h,d))},En=e=>{var t=Or.toValue(e);Ar(t),Ur(e)},kn=()=>{Q("")},In=()=>{},An=()=>Date.now(),Cn=()=>{ye+=1},Tn=()=>{throw Cn(),"unwind"};un=()=>performance.timeOrigin+performance.now();var xn=()=>f?y("os").cpus().length:navigator.hardwareConcurrency,Dn=e=>{Q("OOM")},Pn=e=>{x.length,Dn()},Bn={},Mn=()=>u||"./this.program",Fn=()=>{if(!Fn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Mn()};for(var t in Bn)void 0===Bn[t]?delete e[t]:e[t]=Bn[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Fn.strings=r}return Fn.strings},Un=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);T[t>>0]=0},Rn=function(e,t){if(p)return $e(5,1,e,t);var r=0;return Fn().forEach(((n,i)=>{var s=t+r;M[e+4*i>>2]=s,Un(n,s),r+=n.length+1})),0},Ln=function(e,t){if(p)return $e(6,1,e,t);var r=Fn();M[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),M[t>>2]=n,0};function On(e){if(p)return $e(7,1,e);try{var t=He.getStreamFromFD(e);return Ne.close(t),0}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return e.errno}}function zn(e,t){if(p)return $e(8,1,e,t);try{var r=He.getStreamFromFD(e),n=r.tty?2:Ne.isDir(r.mode)?3:Ne.isLink(r.mode)?7:4;return T[t>>0]=n,D[t+2>>1]=0,re=[0,(te=0,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[t+8>>2]=re[0],B[t+12>>2]=re[1],re=[0,(te=0,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[t+16>>2]=re[0],B[t+20>>2]=re[1],0}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return e.errno}}var Nn=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=M[t+4>>2];t+=8;var c=Ne.read(e,T,o,a,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return e.errno}}function Hn(e,t,r,n,i){if(p)return $e(10,1,e,t,r,n,i);var s=Ve(t,r);try{if(isNaN(s))return 61;var o=He.getStreamFromFD(e);return Ne.llseek(o,s,n),re=[o.position>>>0,(te=o.position,+Math.abs(te)>=1?te>0?+Math.floor(te/4294967296)>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],B[i>>2]=re[0],B[i+4>>2]=re[1],o.getdents&&0===s&&0===n&&(o.getdents=null),0}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return e.errno}}var Wn=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=M[t+4>>2];t+=8;var c=Ne.write(e,T,o,a,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Vn(e,t,r,n){if(p)return $e(11,1,e,t,r,n);try{var i=He.getStreamFromFD(e),s=Wn(i,t,r);return M[n>>2]=s,0}catch(e){if(void 0===Ne||"ErrnoError"!==e.name)throw e;return e.errno}}Xe.init();var $n=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ne.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},Gn=365,qn=146;Object.defineProperties($n.prototype,{read:{get:function(){return(this.mode&Gn)===Gn},set:function(e){e?this.mode|=Gn:this.mode&=~Gn}},write:{get:function(){return(this.mode&qn)===qn},set:function(e){e?this.mode|=qn:this.mode&=~qn}},isFolder:{get:function(){return Ne.isDir(this.mode)}},isDevice:{get:function(){return Ne.isChrdev(this.mode)}}}),Ne.FSNode=$n,Ne.createPreloadedFile=Le,Ne.staticInit(),wt(),yt=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},gt=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Qt(),Gt(),fr(),mr=i.UnboundTypeError=br(Error,"UnboundTypeError"),Br(),Lr();var Yn=[Ge,Qe,dt,pt,mt,Rn,Ln,On,zn,jn,Hn,Vn],Kn={f:ot,s:ct,E:ut,m:lt,z:ht,N:pt,B:mt,u:_t,P:Bt,M:kr,D:xr,j:Pr,O:Nr,p:Wr,d:$r,c:Gr,q:Yr,l:rn,Q:nn,w:ln,A:hn,C:an,J:fn,i:yn,r:Ur,h:Sn,g:En,b:kn,n:In,k:An,I:Tn,e:un,x:xn,v:Pn,G:Rn,H:Ln,y:Ye,o:On,F:zn,L:jn,t:Hn,K:Vn,a:E||i.wasmMemory},Xn=le(),Jn=e=>(Jn=Xn.S)(e),Zn=e=>(Zn=Xn.T)(e),Qn=i._pthread_self=()=>(Qn=i._pthread_self=Xn.U)(),ei=()=>(ei=Xn.V)();i.__emscripten_tls_init=()=>(i.__emscripten_tls_init=Xn.W)();var ti=e=>(ti=Xn.X)(e);i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=Xn.Y)();var ri=i.__emscripten_thread_init=(e,t,r,n,s,o)=>(ri=i.__emscripten_thread_init=Xn._)(e,t,r,n,s,o);i.__emscripten_thread_crashed=()=>(i.__emscripten_thread_crashed=Xn.$)();var ni,ii=(e,t,r,n)=>(ii=Xn.aa)(e,t,r,n),si=e=>(si=Xn.ba)(e),oi=i.__emscripten_thread_exit=e=>(oi=i.__emscripten_thread_exit=Xn.ca)(e),ai=()=>(ai=Xn.da)(),ci=(e,t)=>(ci=Xn.ea)(e,t),ui=()=>(ui=Xn.fa)(),li=e=>(li=Xn.ga)(e),di=e=>(di=Xn.ha)(e),hi=e=>(hi=Xn.ia)(e);function fi(){if(!(K>0)){if(p)return t(i),V(),void startWorker(i);W(),K>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e())}function e(){ni||(ni=!0,i.calledRun=!0,R||(V(),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),$()))}}if(i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=Xn.ja)(e,t,r,n,s),i._ff_h264_cabac_tables=98917,i.wasmMemory=E,i.keepRuntimeAlive=ge,i.ExitStatus=de,i.PThread=Xe,X=function e(){ni||fi(),ni||(X=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return fi(),e.ready}),o=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,n,i;(i=t).ready=new Promise(((e,t)=>{r=e,n=t})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,o,a,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href),v=m("fs"),y=m("path");f=d?y.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href)),s=(e,t)=>(e=Z(e)?new URL(e):y.normalize(e),v.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Z(e)?new URL(e):y.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var g,_,w=i.print||console.log.bind(console),b=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(g=i.wasmBinary),"object"!=typeof WebAssembly&&G("no native wasm support detected");var S,E,k,I,A,C,T,x,D=!1;function P(e,t){e||G(t)}function B(){var e=_.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=k=new Int16Array(e),i.HEAPU8=E=new Uint8Array(e),i.HEAPU16=I=new Uint16Array(e),i.HEAP32=A=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=T=new Float32Array(e),i.HEAPF64=x=new Float64Array(e)}var M=[],F=[],U=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(M)}function L(){i.noFSInit||xe.init.initialized||xe.init(),xe.ignorePermissions=!1,ie(F)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)j(i.postRun.shift());ie(U)}function z(e){M.unshift(e)}function N(e){F.unshift(e)}function j(e){U.unshift(e)}var H=0,W=null;function V(e){H++,i.monitorRunDependencies&&i.monitorRunDependencies(H)}function $(e){if(H--,i.monitorRunDependencies&&i.monitorRunDependencies(H),0==H&&W){var t=W;W=null,t()}}function G(e){i.onAbort&&i.onAbort(e),b(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var q,Y,K,X="data:application/octet-stream;base64,",J=e=>e.startsWith(X),Z=e=>e.startsWith("file://");function Q(e){if(e==q&&g)return new Uint8Array(g);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!g&&(l||d)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{b(`failed to asynchronously prepare wasm: ${e}`),G(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||Z(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return b(`wasm streaming compile failed: ${e}`),b("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return on=e.exports,_=on.E,B(),Mt=on.H,N(on.F),$(),on}if(V(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){b(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(g,q,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?J(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-mt.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(A[cn()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}G("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:xe.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-i};function ye(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var ge=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},_e={ttys:[],init(){},shutdown(){},register(e,t){_e.ttys[e]={input:[],output:[],ops:t},xe.registerDevice(e,_e.stream_ops)},stream_ops:{open(e){var t=_e.ttys[e.node.rdev];if(!t)throw new xe.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new xe.ErrnoError(60);for(var s=0,o=0;oge(),put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])}}},we=e=>{G()},be={ops_table:null,mount:e=>be.createNode(null,"/",16895,0),createNode(e,t,r,n){if(xe.isBlkdev(r)||xe.isFIFO(r))throw new xe.ErrnoError(63);be.ops_table||(be.ops_table={dir:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,lookup:be.node_ops.lookup,mknod:be.node_ops.mknod,rename:be.node_ops.rename,unlink:be.node_ops.unlink,rmdir:be.node_ops.rmdir,readdir:be.node_ops.readdir,symlink:be.node_ops.symlink},stream:{llseek:be.stream_ops.llseek}},file:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:{llseek:be.stream_ops.llseek,read:be.stream_ops.read,write:be.stream_ops.write,allocate:be.stream_ops.allocate,mmap:be.stream_ops.mmap,msync:be.stream_ops.msync}},link:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr,readlink:be.node_ops.readlink},stream:{}},chrdev:{node:{getattr:be.node_ops.getattr,setattr:be.node_ops.setattr},stream:xe.chrdev_stream_ops}});var i=xe.createNode(e,t,r,n);return xe.isDir(i.mode)?(i.node_ops=be.ops_table.dir.node,i.stream_ops=be.ops_table.dir.stream,i.contents={}):xe.isFile(i.mode)?(i.node_ops=be.ops_table.file.node,i.stream_ops=be.ops_table.file.stream,i.usedBytes=0,i.contents=null):xe.isLink(i.mode)?(i.node_ops=be.ops_table.link.node,i.stream_ops=be.ops_table.link.stream):xe.isChrdev(i.mode)&&(i.node_ops=be.ops_table.chrdev.node,i.stream_ops=be.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=xe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,xe.isDir(e.mode)?t.size=4096:xe.isFile(e.mode)?t.size=e.usedBytes:xe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&be.resizeFileStorage(e,t.size)},lookup(e,t){throw xe.genericErrors[44]},mknod:(e,t,r,n)=>be.createNode(e,t,r,n),rename(e,t,r){if(xe.isDir(e.mode)){var n;try{n=xe.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new xe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=xe.lookupNode(e,t);for(var n in r.contents)throw new xe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=be.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!xe.isLink(e.mode))throw new xe.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,n);if(o>8&&s.subarray)t.set(s.subarray(i,i+o),r);else for(var a=0;a0||r+t(be.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;o(e,(r=>{P(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&$()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&V()},Ee=(e,t,r,n,i,s)=>{xe.createDataFile(e,t,r,n,i,s)},ke=i.preloadPlugins||[],Ie=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return ke.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},Ae=(e,t,r,n,i,s,o,a,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),a||Ee(e,t,r,n,i,c),s&&s(),$()}Ie(r,l,d,(()=>{o&&o(),$()}))||d(r)}V(),"string"==typeof r?Se(r,(e=>d(e)),o):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},Te=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new xe.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=xe.root,i="/",s=0;s40)throw new xe.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(xe.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%xe.nameTable.length},hashAddNode(e){var t=xe.hashName(e.parent.id,e.name);e.name_next=xe.nameTable[t],xe.nameTable[t]=e},hashRemoveNode(e){var t=xe.hashName(e.parent.id,e.name);if(xe.nameTable[t]===e)xe.nameTable[t]=e.name_next;else for(var r=xe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=xe.mayLookup(e);if(r)throw new xe.ErrnoError(r,e);for(var n=xe.hashName(e.id,t),i=xe.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return xe.lookup(e,t)},createNode(e,t,r,n){var i=new xe.FSNode(e,t,r,n);return xe.hashAddNode(i),i},destroyNode(e){xe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>xe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=xe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{xe.lookupNode(e,t);return 20}catch(e){}return xe.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=xe.lookupNode(e,t)}catch(e){return e.errno}var i=xe.nodePermissions(e,"wx");if(i)return i;if(r){if(!xe.isDir(n.mode))return 54;if(xe.isRoot(n)||xe.getPath(n)===xe.cwd())return 10}else if(xe.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?xe.isLink(e.mode)?32:xe.isDir(e.mode)&&("r"!==xe.flagsToPermissionString(t)||512&t)?31:xe.nodePermissions(e,xe.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=xe.MAX_OPEN_FDS;e++)if(!xe.streams[e])return e;throw new xe.ErrnoError(33)},getStreamChecked(e){var t=xe.getStream(e);if(!t)throw new xe.ErrnoError(8);return t},getStream:e=>xe.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return xe.FSStream||(xe.FSStream=function(){this.shared={}},xe.FSStream.prototype={},Object.defineProperties(xe.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new xe.FSStream,e),-1==t&&(t=xe.nextfd()),e.fd=t,xe.streams[t]=e,e},closeStream(e){xe.streams[e]=null},chrdev_stream_ops:{open(e){var t=xe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new xe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){xe.devices[e]={stream_ops:t}},getDevice:e=>xe.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&b(`warning: ${xe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=xe.getMounts(xe.root.mount),n=0;function i(e){return xe.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&xe.root)throw new xe.ErrnoError(10);if(!i&&!s){var o=xe.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,xe.isMountpoint(n))throw new xe.ErrnoError(10);if(!xe.isDir(n.mode))throw new xe.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(a);return c.mount=a,a.root=c,i?xe.root=c:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),c},unmount(e){var t=xe.lookupPath(e,{follow_mount:!1});if(!xe.isMountpoint(t.node))throw new xe.ErrnoError(28);var r=t.node,n=r.mounted,i=xe.getMounts(n);Object.keys(xe.nameTable).forEach((e=>{for(var t=xe.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&xe.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=xe.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new xe.ErrnoError(28);var s=xe.mayCreate(n,i);if(s)throw new xe.ErrnoError(s);if(!n.node_ops.mknod)throw new xe.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,xe.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,xe.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,xe.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new xe.ErrnoError(44);var r=xe.lookupPath(t,{parent:!0}).node;if(!r)throw new xe.ErrnoError(44);var n=ce.basename(t),i=xe.mayCreate(r,n);if(i)throw new xe.ErrnoError(i);if(!r.node_ops.symlink)throw new xe.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),o=ce.basename(e),a=ce.basename(t);if(r=xe.lookupPath(e,{parent:!0}).node,n=xe.lookupPath(t,{parent:!0}).node,!r||!n)throw new xe.ErrnoError(44);if(r.mount!==n.mount)throw new xe.ErrnoError(75);var c,u=xe.lookupNode(r,o),l=de.relative(e,s);if("."!==l.charAt(0))throw new xe.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new xe.ErrnoError(55);try{c=xe.lookupNode(n,a)}catch(e){}if(u!==c){var d=xe.isDir(u.mode),h=xe.mayDelete(r,o,d);if(h)throw new xe.ErrnoError(h);if(h=c?xe.mayDelete(n,a,d):xe.mayCreate(n,a))throw new xe.ErrnoError(h);if(!r.node_ops.rename)throw new xe.ErrnoError(63);if(xe.isMountpoint(u)||c&&xe.isMountpoint(c))throw new xe.ErrnoError(10);if(n!==r&&(h=xe.nodePermissions(r,"w")))throw new xe.ErrnoError(h);xe.hashRemoveNode(u);try{r.node_ops.rename(u,n,a)}catch(e){throw e}finally{xe.hashAddNode(u)}}},rmdir(e){var t=xe.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=xe.lookupNode(t,r),i=xe.mayDelete(t,r,!0);if(i)throw new xe.ErrnoError(i);if(!t.node_ops.rmdir)throw new xe.ErrnoError(63);if(xe.isMountpoint(n))throw new xe.ErrnoError(10);t.node_ops.rmdir(t,r),xe.destroyNode(n)},readdir(e){var t=xe.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new xe.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=xe.lookupPath(e,{parent:!0}).node;if(!t)throw new xe.ErrnoError(44);var r=ce.basename(e),n=xe.lookupNode(t,r),i=xe.mayDelete(t,r,!1);if(i)throw new xe.ErrnoError(i);if(!t.node_ops.unlink)throw new xe.ErrnoError(63);if(xe.isMountpoint(n))throw new xe.ErrnoError(10);t.node_ops.unlink(t,r),xe.destroyNode(n)},readlink(e){var t=xe.lookupPath(e).node;if(!t)throw new xe.ErrnoError(44);if(!t.node_ops.readlink)throw new xe.ErrnoError(28);return de.resolve(xe.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=xe.lookupPath(e,{follow:!t}).node;if(!r)throw new xe.ErrnoError(44);if(!r.node_ops.getattr)throw new xe.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>xe.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=xe.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new xe.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){xe.chmod(e,t,!0)},fchmod(e,t){var r=xe.getStreamChecked(e);xe.chmod(r.node,t)},chown(e,t,r,n){var i;"string"==typeof e?i=xe.lookupPath(e,{follow:!n}).node:i=e;if(!i.node_ops.setattr)throw new xe.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){xe.chown(e,t,r,!0)},fchown(e,t,r){var n=xe.getStreamChecked(e);xe.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new xe.ErrnoError(28);var r;"string"==typeof e?r=xe.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new xe.ErrnoError(63);if(xe.isDir(r.mode))throw new xe.ErrnoError(31);if(!xe.isFile(r.mode))throw new xe.ErrnoError(28);var n=xe.nodePermissions(r,"w");if(n)throw new xe.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=xe.getStreamChecked(e);if(0==(2097155&r.flags))throw new xe.ErrnoError(28);xe.truncate(r.node,t)},utime(e,t,r){var n=xe.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new xe.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=xe.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new xe.ErrnoError(20)}else n=xe.mknod(e,r,0),s=!0;if(!n)throw new xe.ErrnoError(44);if(xe.isChrdev(n.mode)&&(t&=-513),65536&t&&!xe.isDir(n.mode))throw new xe.ErrnoError(54);if(!s){var o=xe.mayOpen(n,t);if(o)throw new xe.ErrnoError(o)}512&t&&!s&&xe.truncate(n,0),t&=-131713;var a=xe.createStream({node:n,path:xe.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!i.logReadFiles||1&t||(xe.readFiles||(xe.readFiles={}),e in xe.readFiles||(xe.readFiles[e]=1)),a},close(e){if(xe.isClosed(e))throw new xe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{xe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new xe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new xe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(1==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.read)throw new xe.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var o=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=o),o},write(e,t,r,n,i,s){if(n<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.write)throw new xe.ErrnoError(28);e.seekable&&1024&e.flags&&xe.llseek(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var a=e.stream_ops.write(e,t,r,n,i,s);return o||(e.position+=a),a},allocate(e,t,r){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(t<0||r<=0)throw new xe.ErrnoError(28);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(!xe.isFile(e.node.mode)&&!xe.isDir(e.node.mode))throw new xe.ErrnoError(43);if(!e.stream_ops.allocate)throw new xe.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new xe.ErrnoError(2);if(1==(2097155&e.flags))throw new xe.ErrnoError(2);if(!e.stream_ops.mmap)throw new xe.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new xe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=xe.open(e,t.flags),i=xe.stat(e).size,s=new Uint8Array(i);return xe.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),xe.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=xe.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);xe.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");xe.write(n,t,0,t.byteLength,void 0,r.canOwn)}xe.close(n)},cwd:()=>xe.currentPath,chdir(e){var t=xe.lookupPath(e,{follow:!0});if(null===t.node)throw new xe.ErrnoError(44);if(!xe.isDir(t.node.mode))throw new xe.ErrnoError(54);var r=xe.nodePermissions(t.node,"x");if(r)throw new xe.ErrnoError(r);xe.currentPath=t.path},createDefaultDirectories(){xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices(){xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),xe.mkdev("/dev/null",xe.makedev(1,3)),_e.register(xe.makedev(5,0),_e.default_tty_ops),_e.register(xe.makedev(6,0),_e.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);xe.createDevice("/dev","random",r),xe.createDevice("/dev","urandom",r),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){xe.mkdir("/proc");var e=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount(){var t=xe.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=xe.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?xe.createDevice("/dev","stdin",i.stdin):xe.symlink("/dev/tty","/dev/stdin"),i.stdout?xe.createDevice("/dev","stdout",null,i.stdout):xe.symlink("/dev/tty","/dev/stdout"),i.stderr?xe.createDevice("/dev","stderr",null,i.stderr):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},ensureErrnoError(){xe.ErrnoError||(xe.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},xe.ErrnoError.prototype=new Error,xe.ErrnoError.prototype.constructor=xe.ErrnoError,[44].forEach((e=>{xe.genericErrors[e]=new xe.ErrnoError(e),xe.genericErrors[e].stack=""})))},staticInit(){xe.ensureErrnoError(),xe.nameTable=new Array(4096),xe.mount(be,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:be}},init(e,t,r){xe.init.initialized=!0,xe.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,xe.createStandardStreams()},quit(){xe.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;i||(o=n);var a=this;a.setDataGetter((e=>{var t=e*o,i=(e+1)*o-1;if(i=Math.min(i,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==o&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ye(i.responseText||"",!0)})(t,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,w("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var c=xe.createFile(e,t,a,n,i);a.contents?c.contents=a.contents:a.url&&(c.contents=null,c.url=a.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var o=Math.min(s.length-i,n);if(s.slice)for(var a=0;a{var t=c.stream_ops[e];u[e]=function(){return xe.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(xe.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{xe.forceLoadFile(c);var s=we();if(!s)throw new xe.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},De=(e,t)=>e?fe(E,e,t):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;-100===e?n=xe.cwd():n=Pe.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new xe.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(xe.getPath(e.node)))return-54;throw e}A[r>>2]=n.dev,A[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,A[r+12>>2]=n.uid,A[r+16>>2]=n.gid,A[r+20>>2]=n.rdev,K=[n.size>>>0,(Y=n.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[r+24>>2]=K[0],A[r+28>>2]=K[1],A[r+32>>2]=4096,A[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),o=n.ctime.getTime();return K=[Math.floor(i/1e3)>>>0,(Y=Math.floor(i/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[r+40>>2]=K[0],A[r+44>>2]=K[1],C[r+48>>2]=i%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[r+56>>2]=K[0],A[r+60>>2]=K[1],C[r+64>>2]=s%1e3*1e3,K=[Math.floor(o/1e3)>>>0,(Y=Math.floor(o/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[r+72>>2]=K[0],A[r+76>>2]=K[1],C[r+80>>2]=o%1e3*1e3,K=[n.ino>>>0,(Y=n.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[r+88>>2]=K[0],A[r+92>>2]=K[1],0},doMsync(e,t,r,n,i){if(!xe.isFile(t.node.mode))throw new xe.ErrnoError(43);if(2&n)return 0;var s=E.slice(e,e+r);xe.msync(t,s,i,r,n)},varargs:void 0,get(){var e=A[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>De(e),getStreamFromFD:e=>xe.getStreamChecked(e)};function Be(e,t,r){Pe.varargs=r;try{var n=Pe.getStreamFromFD(e);switch(t){case 0:if((i=Pe.get())<0)return-28;for(;xe.streams[i];)i++;return xe.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=Pe.get();return n.flags|=i,0;case 5:i=Pe.getp();return k[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}}function Me(e,t,r,n){Pe.varargs=n;try{t=Pe.getStr(t),t=Pe.calculateAt(e,t);var i=n?Pe.get():0;return xe.open(t,r,i).fd}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ue,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},ze=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},Ne={},je={},He={},We=e=>{throw new Ue(e)},Ve=e=>{throw new Re(e)},$e=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Ve("Mismatched type converter count");for(var i=0;i{je.hasOwnProperty(e)?i[t]=je[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=je[e],++o===s.length&&n(i)})))})),0===s.length&&n(i)};function Ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||We(`type "${n}" must have a positive integer typeid pointer`),je.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;We(`Cannot register type '${n}' twice`)}if(je[e]=t,delete He[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Ge(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,n)=>{qe(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ze=e=>{We(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,ot=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},at=[],ct=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Ye=e,at.length&&Ye&&Ye(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=ot,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&We("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ve("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Ve("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=it[o];if(!a)return i.call(this);s=this.isConst?a.constPointerType:a.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),vt(e)),yt=()=>{Object.assign(gt.prototype,{isAliasOf(e){if(!(this instanceof gt))return!1;if(!(e instanceof gt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&We("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&We("Object already scheduled for deletion"),at.push(this),1===at.length&&Ye&&Ye(ct),this.$$.deleteScheduled=!0,this}})};function gt(){}var _t=(e,t)=>Object.defineProperty(t,"name",{value:e}),wt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||We(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},bt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&We(`Cannot register public name '${e}' twice`),wt(i,e,e),i.hasOwnProperty(r)&&We(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,Et=57,kt=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function It(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var At=(e,t,r)=>{for(;t!==r;)t.upcast||We(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&We(`null is not a valid ${this.name}`),0;t.$$||We(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||We(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return At(t.$$.ptr,r,this.registeredClass)}function Tt(e,t){var r;if(null===t)return this.isReference&&We(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||We(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||We(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&We(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=At(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&We("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:We(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:We("Unsupporting sharing policy")}return r}function xt(e,t){if(null===t)return this.isReference&&We(`null is not a valid ${this.name}`),0;t.$$||We(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||We(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&We(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return At(t.$$.ptr,r,this.registeredClass)}function Dt(e){return this.fromWireType(C[e>>2])}var Pt=()=>{Object.assign(Bt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Dt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Bt(e,t,r,n,i,s,o,a,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=Tt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=xt,this.destructorFunction=null)}var Mt,Ft,Ut=(e,t,r)=>{i.hasOwnProperty(e)||Ve("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Mt.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},jt=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&We(`unknown function pointer with signature ${e}: ${t}`),r},Ht=(e,t)=>{var r=_t(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Wt=e=>{var t=un(e),r=ze(t);return an(t),r},Vt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||je[t]||(He[t]?He[t].forEach(e):(r.push(t),n[t]=!0))})),new Ft(`${e}: `+r.map(Wt).join([", "]))},$t=(e,t,r,n,i,s,o,a,c,u,l,d,h)=>{l=ze(l),s=jt(i,s),a&&(a=jt(o,a)),u&&(u=jt(c,u)),h=jt(d,h);var f=kt(l);bt(f,(function(){Vt(`Cannot construct ${l} due to unbound types`,[n])})),$e([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:gt.prototype;var o=_t(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Ue("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Ue(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Ue(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:o}});o.prototype=c;var d=new It(l,o,c,h,r,s,a,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Bt(l,d,!0,!1,!1),m=new Bt(l+"*",d,!1,!1,!1),v=new Bt(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ut(f,o),[p,m,v]}))},Gt=(e,t)=>{for(var r=[],n=0;n>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=_t(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Kt(e,t,r,n,i,s){var o=t.length;o<2&&We("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=a?1:2;u{var o=Gt(t,r);i=jt(n,i),$e([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ue(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Vt(`Cannot construct ${e.name} due to unbound types`,o)},$e([],o,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,n,null,i,s),[]))),[]}))},Jt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Zt=(e,t,r,n,i,s,o,a,c)=>{var u=Gt(r,n);t=ze(t),t=Jt(t),s=jt(i,s),$e([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Vt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(wt(l,t,n),l[t].overloadTable[r-2]=i),$e([],u,(function(i){var a=Kt(n,i,e,s,o,c);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||We("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(A[e>>2])}var ar=(e,t)=>{qe(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:or,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(x[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{qe(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>k[e>>1]:e=>I[e>>1];case 4:return r?e=>A[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}qe(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Ke,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));qe(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,o=0;o<=n;++o){var a=i+o;if(o==n||0==E[a]){var c=De(s,a-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=a+1}}else{var u=new Array(n);for(o=0;o>2]=n,r&&i)pr(t,o,n+1);else if(i)for(var a=0;a255&&(an(o),We("String has UTF-16 code units that do not fit in 8 bits")),E[o+a]=c}else for(a=0;a{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&I[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(E.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=k[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},gr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return k[t>>1]=0,t-n},_r=e=>2*e.length,wr=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=A[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},br=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s);if(A[t>>2]=o,(t+=4)+4>i)break}return A[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var n,i,s,o,a;r=ze(r),2===t?(n=yr,i=gr,o=_r,s=()=>I,a=1):4===t&&(n=wr,i=br,o=Sr,s=()=>C,a=2),qe(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],o=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==o[l>>a]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return an(e),r},toWireType:(e,n)=>{"string"!=typeof n&&We(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),c=ln(4+s+t);return C[c>>2]=s>>a,i(n,c+4,s+t),null!==e&&e.push(an,c),c},argPackAdvance:Ke,readValueFromPointer:or,destructorFunction(e){an(e)}})},kr=(e,t)=>{qe(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Ir={},Ar=e=>{var t=Ir[e];return void 0===t?ze(e):t},Cr=[],Tr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=Ar(r)],n,i),xr=e=>{var t=Cr.length;return Cr.push(e),t},Dr=(e,t)=>{var r=je[e];return void 0===r&&We(t+" has unknown type "+Wt(e)),r},Pr=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Br=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Mr=(e,t,r)=>{var n=Pr(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return xr(_t(h,d))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ur=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{G("")},Lr=()=>Date.now(),Or=(e,t,r)=>E.copyWithin(e,t,t+r),zr=e=>{G("OOM")},Nr=e=>{E.length,zr()},jr={},Hr=()=>u||"./this.program",Wr=()=>{if(!Wr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Hr()};for(var t in jr)void 0===jr[t]?delete e[t]:e[t]=jr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Wr.strings=r}return Wr.strings},Vr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},$r=(e,t)=>{var r=0;return Wr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,Vr(n,s),r+=n.length+1})),0},Gr=(e,t)=>{var r=Wr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function qr(e){try{var t=Pe.getStreamFromFD(e);return xe.close(t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=Pe.getStreamFromFD(e),n=r.tty?2:xe.isDir(r.mode)?3:xe.isLink(r.mode)?7:4;return S[t>>0]=n,k[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[t+8>>2]=K[0],A[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[t+16>>2]=K[0],A[t+20>>2]=K[1],0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=xe.read(e,S,o,a,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}function Jr(e,t,r,n,i){var s=Ur(t,r);try{if(isNaN(s))return 61;var o=Pe.getStreamFromFD(e);return xe.llseek(o,s,n),K=[o.position>>>0,(Y=o.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],A[i>>2]=K[0],A[i+4>>2]=K[1],o.getdents&&0===s&&0===n&&(o.getdents=null),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}var Zr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=xe.write(e,S,o,a,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Qr(e,t,r,n){try{var i=Pe.getStreamFromFD(e),s=Zr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=xe.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return xe.isDir(this.mode)}},isDevice:{get:function(){return xe.isChrdev(this.mode)}}}),xe.FSNode=en,xe.createPreloadedFile=Ae,xe.staticInit(),Oe(),Ue=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yt(),lt(),Pt(),Ft=i.UnboundTypeError=Ht(Error,"UnboundTypeError"),Qt(),ir();var nn,sn={o:oe,A:Be,s:Me,q:Le,C:Xe,D:$t,y:Xt,g:Zt,B:ar,k:lr,c:hr,b:fr,l:mr,i:Er,n:kr,f:Tr,m:rr,e:Mr,d:Fr,a:Rr,h:Lr,w:Or,r:Nr,u:$r,v:Gr,j:qr,t:Yr,z:Xr,p:Jr,x:Qr},on=ne(),an=e=>(an=on.G)(e),cn=()=>(cn=on.I)(),un=e=>(un=on.J)(e),ln=e=>(ln=on.K)(e),dn=e=>(dn=on.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,D||(L(),r(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}H>0||(R(),H>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_viiijj=(e,t,r,n,s,o,a,c)=>(i.dynCall_viiijj=on.N)(e,t,r,n,s,o,a,c),i.dynCall_jij=(e,t,r,n)=>(i.dynCall_jij=on.O)(e,t,r,n),i.dynCall_jii=(e,t,r)=>(i.dynCall_jii=on.P)(e,t,r),i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=on.Q)(e,t,r,n,s),W=function e(){nn||hn(),nn||(W=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),t.ready}})(),a=f;!function(e,t){for(var r=f,n=e();;)try{if(123525===parseInt(r(229))/1*(parseInt(r(224))/2)+-parseInt(r(228))/3*(-parseInt(r(226))/4)+parseInt(r(230))/5*(parseInt(r(222))/6)+-parseInt(r(233))/7+parseInt(r(227))/8+-parseInt(r(234))/9+-parseInt(r(221))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(h);var c=1e-6,u=typeof Float32Array!==a(223)?Float32Array:Array,l=Math.random;var d=Math.PI/180;function h(){var e=["2016729wHsnRk","hypot","1645480zHarzD","6hgvuJv","undefined","4JiHcAx","abs","51820MTgYrJ","1362336DPObSy","45hmruVC","105052qidyQv","383540DpEeNG","max","sqrt","974925nIwoTp"];return(h=function(){return e})()}function f(e,t){var r=h();return(f=function(e,t){return r[e-=220]})(e,t)}Math.hypot||(Math[a(220)]=function(){for(var e=a,t=0,r=arguments.length;r--;)t+=arguments[r]*arguments[r];return Math[e(232)](t)});var p=Object.freeze({__proto__:null,EPSILON:c,get ARRAY_TYPE(){return u},RANDOM:l,setMatrixArrayType:function(e){u=e},toRadian:function(e){return e*d},equals:function(e,t){var r=a;return Math[r(225)](e-t)<=c*Math[r(231)](1,Math[r(225)](e),Math[r(225)](t))}});function m(){var e=new u(16);return u!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function v(e,t){var r=b();return(v=function(e,t){return r[e-=499]})(e,t)}function y(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function g(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],m=t[12],v=t[13],y=t[14],g=t[15],_=r[0],w=r[1],b=r[2],S=r[3];return e[0]=_*n+w*a+b*d+S*m,e[1]=_*i+w*c+b*h+S*v,e[2]=_*s+w*u+b*f+S*y,e[3]=_*o+w*l+b*p+S*g,_=r[4],w=r[5],b=r[6],S=r[7],e[4]=_*n+w*a+b*d+S*m,e[5]=_*i+w*c+b*h+S*v,e[6]=_*s+w*u+b*f+S*y,e[7]=_*o+w*l+b*p+S*g,_=r[8],w=r[9],b=r[10],S=r[11],e[8]=_*n+w*a+b*d+S*m,e[9]=_*i+w*c+b*h+S*v,e[10]=_*s+w*u+b*f+S*y,e[11]=_*o+w*l+b*p+S*g,_=r[12],w=r[13],b=r[14],S=r[15],e[12]=_*n+w*a+b*d+S*m,e[13]=_*i+w*c+b*h+S*v,e[14]=_*s+w*u+b*f+S*y,e[15]=_*o+w*l+b*p+S*g,e}function _(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=n+n,c=i+i,u=s+s,l=n*a,d=n*c,h=n*u,f=i*c,p=i*u,m=s*u,v=o*a,y=o*c,g=o*u;return e[0]=1-(f+m),e[1]=d+g,e[2]=h-y,e[3]=0,e[4]=d-g,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=h+y,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function w(e,t){var r=v,n=t[0],i=t[1],s=t[2],o=t[4],a=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(519)](n,i,s),e[1]=Math[r(519)](o,a,c),e[2]=Math[r(519)](u,l,d),e}function b(){var e=["sqrt","4285908lsyrOG","12eXZGSZ","10lSAdUy","EPSILON","5703072OWFErC","51013qujKfG","29591045zcDfjG","hypot","sin","downDegrees","410hOwEOB","mat4(","1716183uBQzjK","ARRAY_TYPE","4UvHDhI","abs","1552944xOYcgr","tan","max","cos","33606kdGbbs","upDegrees","7lUGKEx"];return(b=function(){return e})()}function S(e,t,r,n,i){var s,o=1/Math.tan(t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=v,n=e();;)try{if(758707===-parseInt(r(517))/1*(-parseInt(r(502))/2)+-parseInt(r(504))/3+-parseInt(r(512))/4+parseInt(r(522))/5*(parseInt(r(508))/6)+-parseInt(r(510))/7*(parseInt(r(516))/8)+-parseInt(r(500))/9*(parseInt(r(514))/10)+-parseInt(r(518))/11*(-parseInt(r(513))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(b);var E=S;function k(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=(o+s)*u,e[15]=1,e}var I=k;function A(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var C=g,T=A,x=Object.freeze({__proto__:null,create:m,clone:function(e){var t=new(p[v(501)])(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,o,a,c,l,d,h,f,p,m,v){var y=new u(16);return y[0]=e,y[1]=t,y[2]=r,y[3]=n,y[4]=i,y[5]=s,y[6]=o,y[7]=a,y[8]=c,y[9]=l,y[10]=d,y[11]=h,y[12]=f,y[13]=p,y[14]=m,y[15]=v,y},set:function(e,t,r,n,i,s,o,a,c,u,l,d,h,f,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=o,e[6]=a,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=h,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:y,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15],g=r*a-n*o,_=r*c-i*o,w=r*u-s*o,b=n*c-i*a,S=n*u-s*a,E=i*u-s*c,k=l*m-d*p,I=l*v-h*p,A=l*y-f*p,C=d*v-h*m,T=d*y-f*m,x=h*y-f*v,D=g*x-_*T+w*C+b*A-S*I+E*k;return D?(D=1/D,e[0]=(a*x-c*T+u*C)*D,e[1]=(i*T-n*x-s*C)*D,e[2]=(m*E-v*S+y*b)*D,e[3]=(h*S-d*E-f*b)*D,e[4]=(c*A-o*x-u*I)*D,e[5]=(r*x-i*A+s*I)*D,e[6]=(v*w-p*E-y*_)*D,e[7]=(l*E-h*w+f*_)*D,e[8]=(o*T-a*A+u*k)*D,e[9]=(n*A-r*T-s*k)*D,e[10]=(p*S-m*w+y*g)*D,e[11]=(d*w-l*S-f*g)*D,e[12]=(a*I-o*C-c*k)*D,e[13]=(r*C-n*I+i*k)*D,e[14]=(m*_-p*b-v*g)*D,e[15]=(l*b-d*_+h*g)*D,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15];return e[0]=a*(h*y-f*v)-d*(c*y-u*v)+m*(c*f-u*h),e[1]=-(n*(h*y-f*v)-d*(i*y-s*v)+m*(i*f-s*h)),e[2]=n*(c*y-u*v)-a*(i*y-s*v)+m*(i*u-s*c),e[3]=-(n*(c*f-u*h)-a*(i*f-s*h)+d*(i*u-s*c)),e[4]=-(o*(h*y-f*v)-l*(c*y-u*v)+p*(c*f-u*h)),e[5]=r*(h*y-f*v)-l*(i*y-s*v)+p*(i*f-s*h),e[6]=-(r*(c*y-u*v)-o*(i*y-s*v)+p*(i*u-s*c)),e[7]=r*(c*f-u*h)-o*(i*f-s*h)+l*(i*u-s*c),e[8]=o*(d*y-f*m)-l*(a*y-u*m)+p*(a*f-u*d),e[9]=-(r*(d*y-f*m)-l*(n*y-s*m)+p*(n*f-s*d)),e[10]=r*(a*y-u*m)-o*(n*y-s*m)+p*(n*u-s*a),e[11]=-(r*(a*f-u*d)-o*(n*f-s*d)+l*(n*u-s*a)),e[12]=-(o*(d*v-h*m)-l*(a*v-c*m)+p*(a*h-c*d)),e[13]=r*(d*v-h*m)-l*(n*v-i*m)+p*(n*h-i*d),e[14]=-(r*(a*v-c*m)-o*(n*v-i*m)+p*(n*c-i*a)),e[15]=r*(a*h-c*d)-o*(n*h-i*d)+l*(n*c-i*a),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],c=e[7],u=e[8],l=e[9],d=e[10],h=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*o-r*s)*(d*v-h*m)-(t*a-n*s)*(l*v-h*p)+(t*c-i*s)*(l*m-d*p)+(r*a-n*o)*(u*v-h*f)-(r*c-i*o)*(u*m-d*f)+(n*c-i*a)*(u*p-l*f)},multiply:g,translate:function(e,t,r){var n,i,s,o,a,c,u,l,d,h,f,p,m=r[0],v=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*y+t[12],e[13]=t[1]*m+t[5]*v+t[9]*y+t[13],e[14]=t[2]*m+t[6]*v+t[10]*y+t[14],e[15]=t[3]*m+t[7]*v+t[11]*y+t[15]):(n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=o,e[4]=a,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=h,e[10]=f,e[11]=p,e[12]=n*m+a*v+d*y+t[12],e[13]=i*m+c*v+h*y+t[13],e[14]=s*m+u*v+f*y+t[14],e[15]=o*m+l*v+p*y+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,o,a,c,u,l,d,h,f,m,y,g,_,w,b,S,E,k,I,A,C,T,x,D=v,P=n[0],B=n[1],M=n[2],F=Math.hypot(P,B,M);return F0?(r[0]=2*(a*o+d*n+c*s-l*i)/h,r[1]=2*(c*o+d*i+l*n-a*s)/h,r[2]=2*(l*o+d*s+a*i-c*n)/h):(r[0]=2*(a*o+d*n+c*s-l*i),r[1]=2*(c*o+d*i+l*n-a*s),r[2]=2*(l*o+d*s+a*i-c*n)),_(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:w,getRotation:function(e,t){var r=v,n=new u(3);w(n,t);var i=1/n[0],s=1/n[1],o=1/n[2],a=t[0]*i,c=t[1]*s,l=t[2]*o,d=t[4]*i,h=t[5]*s,f=t[6]*o,p=t[8]*i,m=t[9]*s,y=t[10]*o,g=a+h+y,_=0;return g>0?(_=2*Math.sqrt(g+1),e[3]=.25*_,e[0]=(f-m)/_,e[1]=(p-l)/_,e[2]=(c-d)/_):a>h&&a>y?(_=2*Math[r(511)](1+a-h-y),e[3]=(f-m)/_,e[0]=.25*_,e[1]=(c+d)/_,e[2]=(p+l)/_):h>y?(_=2*Math[r(511)](1+h-a-y),e[3]=(p-l)/_,e[0]=(c+d)/_,e[1]=.25*_,e[2]=(f+m)/_):(_=2*Math[r(511)](1+y-a-h),e[3]=(c-d)/_,e[0]=(p+l)/_,e[1]=(f+m)/_,e[2]=.25*_),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=t[3],c=i+i,u=s+s,l=o+o,d=i*c,h=i*u,f=i*l,p=s*u,m=s*l,v=o*l,y=a*c,g=a*u,_=a*l,w=n[0],b=n[1],S=n[2];return e[0]=(1-(p+v))*w,e[1]=(h+_)*w,e[2]=(f-g)*w,e[3]=0,e[4]=(h-_)*b,e[5]=(1-(d+v))*b,e[6]=(m+y)*b,e[7]=0,e[8]=(f+g)*S,e[9]=(m-y)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],o=t[1],a=t[2],c=t[3],u=s+s,l=o+o,d=a+a,h=s*u,f=s*l,p=s*d,m=o*l,v=o*d,y=a*d,g=c*u,_=c*l,w=c*d,b=n[0],S=n[1],E=n[2],k=i[0],I=i[1],A=i[2],C=(1-(m+y))*b,T=(f+w)*b,x=(p-_)*b,D=(f-w)*S,P=(1-(h+y))*S,B=(v+g)*S,M=(p+_)*E,F=(v-g)*E,U=(1-(h+m))*E;return e[0]=C,e[1]=T,e[2]=x,e[3]=0,e[4]=D,e[5]=P,e[6]=B,e[7]=0,e[8]=M,e[9]=F,e[10]=U,e[11]=0,e[12]=r[0]+k-(C*k+D*I+M*A),e[13]=r[1]+I-(T*k+P*I+F*A),e[14]=r[2]+A-(x*k+B*I+U*A),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=r+r,a=n+n,c=i+i,u=r*o,l=n*o,d=n*a,h=i*o,f=i*a,p=i*c,m=s*o,v=s*a,y=s*c;return e[0]=1-d-p,e[1]=l+y,e[2]=h-v,e[3]=0,e[4]=l-y,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=h+v,e[9]=f-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,o){var a=1/(r-t),c=1/(i-n),u=1/(s-o);return e[0]=2*s*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+n)*c,e[10]=(o+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*s*2*u,e[15]=0,e},perspectiveNO:S,perspective:E,perspectiveZO:function(e,t,r,n,i){var s,o=1/Math[v(505)](t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=v,s=Math[i(505)](t[i(509)]*Math.PI/180),o=Math[i(505)](t[i(521)]*Math.PI/180),a=Math[i(505)](t.leftDegrees*Math.PI/180),c=Math.tan(t.rightDegrees*Math.PI/180),u=2/(a+c),l=2/(s+o);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(a-c)*u*.5,e[9]=(s-o)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:k,ortho:I,orthoZO:function(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,o,a,u,l,d,h,f,m,g=v,_=t[0],w=t[1],b=t[2],S=n[0],E=n[1],k=n[2],I=r[0],A=r[1],C=r[2];return Math[g(503)](_-I)0&&(d*=p=1/Math.sqrt(p),h*=p,f*=p);var m=u*f-l*h,y=l*d-c*f,g=c*h-u*d;return(p=m*m+y*y+g*g)>0&&(m*=p=1/Math[i(511)](p),y*=p,g*=p),e[0]=m,e[1]=y,e[2]=g,e[3]=0,e[4]=h*g-f*y,e[5]=f*m-d*g,e[6]=d*y-h*m,e[7]=0,e[8]=d,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=o,e[14]=a,e[15]=1,e},str:function(e){return v(499)+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[v(519)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:A,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=v,n=e[0],i=e[1],s=e[2],o=e[3],a=e[4],u=e[5],l=e[6],d=e[7],h=e[8],f=e[9],m=e[10],y=e[11],g=e[12],_=e[13],w=e[14],b=e[15],S=t[0],E=t[1],k=t[2],I=t[3],A=t[4],C=t[5],T=t[6],x=t[7],D=t[8],P=t[9],B=t[10],M=t[11],F=t[12],U=t[13],R=t[14],L=t[15];return Math.abs(n-S)<=p[r(515)]*Math[r(506)](1,Math[r(503)](n),Math[r(503)](S))&&Math[r(503)](i-E)<=p[r(515)]*Math.max(1,Math[r(503)](i),Math[r(503)](E))&&Math[r(503)](s-k)<=p[r(515)]*Math[r(506)](1,Math.abs(s),Math[r(503)](k))&&Math.abs(o-I)<=p[r(515)]*Math[r(506)](1,Math[r(503)](o),Math.abs(I))&&Math[r(503)](a-A)<=p[r(515)]*Math[r(506)](1,Math[r(503)](a),Math.abs(A))&&Math.abs(u-C)<=p[r(515)]*Math[r(506)](1,Math[r(503)](u),Math[r(503)](C))&&Math[r(503)](l-T)<=p[r(515)]*Math[r(506)](1,Math[r(503)](l),Math.abs(T))&&Math[r(503)](d-x)<=c*Math.max(1,Math[r(503)](d),Math[r(503)](x))&&Math[r(503)](h-D)<=c*Math[r(506)](1,Math.abs(h),Math[r(503)](D))&&Math.abs(f-P)<=c*Math[r(506)](1,Math[r(503)](f),Math[r(503)](P))&&Math[r(503)](m-B)<=p[r(515)]*Math[r(506)](1,Math[r(503)](m),Math[r(503)](B))&&Math.abs(y-M)<=p[r(515)]*Math.max(1,Math[r(503)](y),Math[r(503)](M))&&Math[r(503)](g-F)<=c*Math[r(506)](1,Math.abs(g),Math[r(503)](F))&&Math[r(503)](_-U)<=c*Math[r(506)](1,Math[r(503)](_),Math[r(503)](U))&&Math[r(503)](w-R)<=p[r(515)]*Math[r(506)](1,Math[r(503)](w),Math[r(503)](R))&&Math.abs(b-L)<=p[r(515)]*Math[r(506)](1,Math[r(503)](b),Math[r(503)](L))},mul:C,sub:T});function D(){var e=new(p[$(249)])(3);return u!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function P(e){var t=$,r=e[0],n=e[1],i=e[2];return Math[t(251)](r,n,i)}function B(e,t,r){var n=new(p[$(249)])(3);return n[0]=e,n[1]=t,n[2]=r,n}function M(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function F(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function U(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function R(e,t){var r=$,n=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return Math[r(251)](n,i,s)}function L(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function O(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function z(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function N(){var e=["ceil","min","floor","sin","388200KOCied","1886zWMrqs","abs","cos","max","5058hGdAhi","4322796FKtaFl","15608mSFUuF","3988512IYltab","454IHHbGL","EPSILON","2700492RpnBgC","acos","ARRAY_TYPE","round","hypot","sqrt","RANDOM","length","2168600LYXOaK"];return(N=function(){return e})()}!function(e,t){for(var r=$,n=e();;)try{if(513642===parseInt(r(261))/1*(parseInt(r(269))/2)+-parseInt(r(271))/3+parseInt(r(268))/4+-parseInt(r(260))/5+-parseInt(r(266))/6+-parseInt(r(255))/7+parseInt(r(267))/8*(parseInt(r(265))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(N);var j=M,H=F,W=U,V=R;function $(e,t){var r=N();return($=function(e,t){return r[e-=248]})(e,t)}var G,q=L,Y=P,K=O,X=(G=D(),function(e,t,r,n,i,s){var o,a,c=$;for(!t&&(t=3),!r&&(r=0),a=n?Math[c(257)](n*t+r,e[c(254)]):e[c(254)],o=r;o0&&(o=1/Math[r(252)](o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e},dot:z,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[0],a=r[1],c=r[2];return e[0]=i*c-s*a,e[1]=s*o-n*c,e[2]=n*a-i*o,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=o+n*(r[2]-o),e},hermite:function(e,t,r,n,i,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,u=o*(s-1),l=o*(3-2*s);return e[0]=t[0]*a+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*a+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*a+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var o=1-s,a=o*o,c=s*s,u=a*o,l=3*s*a,d=3*c*o,h=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*h,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*h,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*h,e},random:function(e,t){var r=$;t=t||1;var n=2*p[r(253)]()*Math.PI,i=2*p[r(253)]()-1,s=Math[r(252)](1-i*i)*t;return e[0]=Math[r(263)](n)*s,e[1]=Math.sin(n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],o=r[3],a=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*a-n*u,h=n*c-i*a,f=i*h-s*d,p=s*l-n*h,m=n*d-i*l,v=2*o;return l*=v,d*=v,h*=v,f*=2,p*=2,m*=2,e[0]=a+l+f,e[1]=c+d+p,e[2]=u+h+m,e},rotateX:function(e,t,r,n){var i=$,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0],o[1]=s[1]*Math[i(263)](n)-s[2]*Math[i(259)](n),o[2]=s[1]*Math[i(259)](n)+s[2]*Math[i(263)](n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateY:function(e,t,r,n){var i=$,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[2]*Math[i(259)](n)+s[0]*Math[i(263)](n),o[1]=s[1],o[2]=s[2]*Math[i(263)](n)-s[0]*Math.sin(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateZ:function(e,t,r,n){var i=$,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0]*Math.cos(n)-s[1]*Math[i(259)](n),o[1]=s[0]*Math[i(259)](n)+s[1]*Math[i(263)](n),o[2]=s[2],e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},angle:function(e,t){var r=$,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2],u=Math.sqrt(n*n+i*i+s*s)*Math.sqrt(o*o+a*a+c*c),l=u&&z(e,t)/u;return Math[r(248)](Math.min(Math[r(264)](l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=$,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2];return Math[r(262)](n-o)<=p[r(270)]*Math[r(264)](1,Math[r(262)](n),Math[r(262)](o))&&Math.abs(i-a)<=p[r(270)]*Math[r(264)](1,Math[r(262)](i),Math.abs(a))&&Math[r(262)](s-c)<=p[r(270)]*Math.max(1,Math[r(262)](s),Math[r(262)](c))},sub:j,mul:H,div:W,dist:V,sqrDist:q,len:Y,sqrLen:K,forEach:X});function Z(){var e=["354WVdsZJ","29330ROvDJl","1654326vbQGXT","1616955kjrTjr","24IULsXe","5198RFyugS","5126cLjuxB","3594234hYYMbN","20304720VZlJtd","4ITbkmw","5zYcQWF","51924wcqYOA"];return(Z=function(){return e})()}function Q(e,t){var r=Z();return(Q=function(e,t){return r[e-=168]})(e,t)}function ee(){const e=["TRIANGLES","enableVertexAttribArray","rgbaTexture","LUMINANCE","deleteBuffer","compileShader","uTexture","texParameteri","utexture","rgbatexture","slice","bindBuffer","texPosition","TEXTURE0","ELEMENT_ARRAY_BUFFER","getAttribLocation","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","TEXTURE_WRAP_S","uProjectionMatrix","projectionMatrix","bufferData","uniformLocations","vtexture","1930lqNwBI","position","STATIC_DRAW","CLAMP_TO_EDGE","TEXTURE_2D","getProgramInfoLog","TEXTURE2","aVertexPosition","uniformMatrix4fv","546446sEGhpP","deleteShader","linkProgram","activeTexture","getShaderParameter","bindTexture","8672013wZyeCM","4izxEXO","indices","270ksMsOp","TEXTURE_MIN_FILTER","TEXTURE_MAG_FILTER","UNPACK_ALIGNMENT","lookAt","isyuv","concat","identity","FLOAT","uniform1i","An error occurred compiling the shaders: ","clearDepth","shaderSource","fromValues","ARRAY_BUFFER","vertexPosition","attachShader","142816QQMKSV","80wkfBJi","createTexture","TEXTURE1","createProgram","program","vertexAttribPointer","deleteTexture","viewport","62705OHmzSb","COLOR_BUFFER_BIT","viewMatrix","getProgramParameter","texImage2D","UNSIGNED_SHORT","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","yTexture","getShaderInfoLog","getUniformLocation","UNSIGNED_BYTE","Unable to initialize the shader program: ","LINK_STATUS","createBuffer","ortho","uViewMatrix","LINEAR","2680902qOPznt","depthFunc","createShader","create","log","enable","attribLocations","pixelStorei","2079wbEXsI","286769PbjeJW","deleteProgram"];return(ee=function(){return e})()}function te(e,t){const r=ee();return(te=function(e,t){return r[e-=173]})(e,t)}!function(e,t){for(var r=Q,n=e();;)try{if(735669===-parseInt(r(175))/1*(-parseInt(r(168))/2)+-parseInt(r(178))/3*(parseInt(r(172))/4)+parseInt(r(173))/5*(-parseInt(r(174))/6)+-parseInt(r(170))/7+parseInt(r(179))/8*(parseInt(r(177))/9)+parseInt(r(176))/10*(-parseInt(r(169))/11)+parseInt(r(171))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Z),function(e,t){const r=te,n=e();for(;;)try{if(608851===parseInt(r(185))/1*(-parseInt(r(178))/2)+parseInt(r(230))/3+parseInt(r(204))/4+parseInt(r(213))/5*(-parseInt(r(187))/6)+-parseInt(r(239))/7*(-parseInt(r(205))/8)+parseInt(r(184))/9+-parseInt(r(264))/10*(parseInt(r(238))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ee);var re=(e,t)=>{const r=te,n=r(257),i=r(219);t&&e[r(237)](e[r(190)],1);const s=function(){const t=r,s=f(e.VERTEX_SHADER,n),o=f(e.FRAGMENT_SHADER,i),a=e[t(208)]();return e[t(203)](a,s),e.attachShader(a,o),e[t(180)](a),e[t(216)](a,e[t(225)])?a:(console[t(234)](t(224)+e[t(174)](a)),null)}();let o={program:s,attribLocations:{vertexPosition:e[r(256)](s,r(176)),texturePosition:e[r(256)](s,"aTexturePosition")},uniformLocations:{projectionMatrix:e[r(222)](s,r(259)),modelMatrix:e[r(222)](s,"uModelMatrix"),viewMatrix:e[r(222)](s,r(228)),rgbatexture:e.getUniformLocation(s,r(243)),ytexture:e.getUniformLocation(s,r(220)),utexture:e[r(222)](s,r(247)),vtexture:e[r(222)](s,"vTexture"),isyuv:e[r(222)](s,r(192))}},a=function(){const t=r,n=e[t(226)]();e[t(252)](e.ARRAY_BUFFER,n);e[t(261)](e[t(201)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e[t(266)]);var i=[];i=i[t(193)]([0,1],[1,1],[1,0],[0,0]);const s=e[t(226)]();e[t(252)](e.ARRAY_BUFFER,s),e[t(261)](e[t(201)],new Float32Array(i),e.STATIC_DRAW);const o=e[t(226)]();e.bindBuffer(e[t(255)],o);return e[t(261)](e[t(255)],new Uint16Array([0,1,2,0,2,3]),e[t(266)]),{position:n,texPosition:s,indices:o}}(),c=h(),u=h(),l=h(),d=h();function h(){const t=r;let n=e[t(206)]();return e.bindTexture(e[t(173)],n),e.texParameteri(e[t(173)],e[t(189)],e.LINEAR),e[t(248)](e.TEXTURE_2D,e[t(188)],e[t(229)]),e.texParameteri(e[t(173)],e[t(258)],e[t(267)]),e[t(248)](e[t(173)],e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),n}function f(t,n){const i=r,s=e[i(232)](t);return e[i(199)](s,n),e[i(246)](s),e[i(182)](s,e.COMPILE_STATUS)?s:(console[i(234)](i(197)+e[i(221)](s)),e[i(179)](s),null)}function p(t,n){const i=r;e[i(212)](0,0,t,n),e.clearColor(0,0,0,0),e[i(198)](1),e[i(235)](e.DEPTH_TEST),e[i(231)](e.LEQUAL),e.clear(e[i(214)]|e.DEPTH_BUFFER_BIT);const s=m();x[i(227)](s,-1,1,-1,1,.1,100);const c=x[i(233)]();x[i(194)](c);const h=m();x[i(191)](h,J[i(200)](0,0,0),B(0,0,-1),B(0,1,0));{const t=3,r=e[i(195)],n=!1,s=0,c=0;e[i(252)](e[i(201)],a[i(265)]),e[i(210)](o.attribLocations[i(202)],t,r,n,s,c),e[i(242)](o[i(236)][i(202)])}{const t=2,r=e.FLOAT,n=!1,s=0,c=0;e.bindBuffer(e[i(201)],a.texPosition),e[i(210)](o.attribLocations.texturePosition,t,r,n,s,c),e[i(242)](o.attribLocations.texturePosition)}e.activeTexture(e[i(254)]+3),e[i(183)](e[i(173)],u),e[i(181)](e[i(254)]+4),e.bindTexture(e[i(173)],l),e[i(181)](e[i(254)]+5),e[i(183)](e[i(173)],d),e[i(252)](e[i(255)],a.indices),e.useProgram(o[i(209)]),e.uniformMatrix4fv(o.uniformLocations[i(260)],!1,s),e[i(177)](o[i(262)].modelMatrix,!1,c),e[i(177)](o[i(262)][i(215)],!1,h),e[i(196)](o[i(262)][i(250)],2),e[i(196)](o[i(262)].ytexture,3),e.uniform1i(o[i(262)][i(249)],4),e[i(196)](o.uniformLocations[i(263)],5),e.uniform1i(o.uniformLocations[i(192)],1);{const t=6,r=e[i(218)],n=0;e.drawElements(e[i(241)],t,r,n)}}return{render:function(t,n,i,s,o){const a=r;e[a(181)](e[a(254)]),e[a(183)](e[a(173)],u),e[a(217)](e[a(173)],0,e[a(244)],t,n,0,e[a(244)],e.UNSIGNED_BYTE,i),e[a(181)](e.TEXTURE1),e[a(183)](e.TEXTURE_2D,l),e[a(217)](e.TEXTURE_2D,0,e[a(244)],t/2,n/2,0,e[a(244)],e[a(223)],s),e[a(181)](e[a(175)]),e.bindTexture(e[a(173)],d),e.texImage2D(e[a(173)],0,e[a(244)],t/2,n/2,0,e[a(244)],e[a(223)],o),p(t,n)},renderYUV:function(t,n,i){const s=r;let o=i.slice(0,t*n),a=i[s(251)](t*n,t*n*5/4),c=i[s(251)](t*n*5/4,t*n*3/2);e[s(181)](e[s(254)]),e[s(183)](e[s(173)],u),e[s(217)](e.TEXTURE_2D,0,e[s(244)],t,n,0,e[s(244)],e[s(223)],o),e[s(181)](e[s(207)]),e.bindTexture(e[s(173)],l),e.texImage2D(e[s(173)],0,e.LUMINANCE,t/2,n/2,0,e[s(244)],e[s(223)],a),e[s(181)](e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,d),e[s(217)](e[s(173)],0,e[s(244)],t/2,n/2,0,e[s(244)],e[s(223)],c),p(t,n)},destroy:function(){const t=r;e[t(240)](o[t(209)]),e.deleteBuffer(a[t(265)]),e[t(245)](a[t(253)]),e[t(245)](a[t(186)]),e[t(211)](c),e.deleteTexture(u),e[t(211)](l),e[t(211)](d),o=null,a=null,c=null,u=null,l=null,d=null}}};const ne=je;!function(e,t){const r=je,n=e();for(;;)try{if(845375===-parseInt(r(783))/1+parseInt(r(575))/2+-parseInt(r(594))/3+-parseInt(r(646))/4*(parseInt(r(662))/5)+-parseInt(r(617))/6*(parseInt(r(360))/7)+-parseInt(r(690))/8+parseInt(r(658))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fe);const ie={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};ne(589),ne(666),ne(485),ne(814),ne(653);const se={fetch:"fetch",hls:ne(485),websocket:ne(589),webrtc:ne(814),webTransport:ne(346),worker:ne(498),aliyunRtc:ne(653),mp4:ne(616)},oe={player:ne(766),playerAudio:"playerAudio",playbackTF:ne(377),talk:ne(455),playVod:ne(697)},ae={mp4:"mp4",webm:ne(549),flv:ne(778),mov:ne(425)},ce={flv:ne(778),m7s:ne(369),hls:"hls",webrtc:ne(814),webTransport:ne(346),nakedFlow:ne(538),fmp4:ne(543),mpeg4:ne(539),aliyunRtc:ne(653),ts:"ts",g711:ne(396),pcm:"pcm"};ne(636),ne(595),ne(600),ne(362);const ue={mse:ne(721),wcs:"wcs",offscreen:ne(554),wasm:ne(725),simd:"simd",mt:"mt",webrtc:ne(814),hls:"hls",aliyunRtc:"aliyunRtc"},le={canvas:"canvas",video:ne(528)},de={debug:ne(366),warn:ne(384)},he={click:ne(668),mouseDownAndUp:ne(345)},fe={normal:"normal",simple:ne(615)},pe={normal:"normal",small:ne(669)},me=ne(744),ve=36e5,ye=4080,ge=12;ne(777),ne(566);const _e={playIsNotPauseOrUrlIsNull:ne(382),webglAlignmentError:ne(522),webglContextLostError:ne(542),mediaSourceH265NotSupport:"不支持硬解码H265",mseSourceBufferFull:"缓冲区已满",mediaSourceAppendBufferError:ne(385),mseSourceBufferError:ne(607),mseAddSourceBufferError:"初始化解码器失败",mseWorkerAddSourceBufferError:ne(385),mediaSourceDecoderConfigurationError:ne(385),mediaSourceTsIsMaxDiff:ne(599),mseWidthOrHeightChange:ne(599),mediaSourceAudioG711NotSupport:ne(762),mediaSourceAudioInitTimeout:ne(547),mediaSourceAudioNoDataTimeout:ne(449),mediaSourceUseCanvasRenderPlayFailed:ne(693),mediaSourceBufferedIsZeroError:ne(599),webcodecsH265NotSupport:ne(505),webcodecsUnsupportedConfigurationError:"初始化解码器失败",webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:ne(607),webcodecsAudioInitTimeout:ne(547),webcodecsAudioNoDataTimeout:ne(449),wcsWidthOrHeightChange:ne(607),wasmDecodeError:ne(607),simdDecodeError:ne(607),wasmWidthOrHeightChange:ne(599),wasmUseVideoRenderError:ne(461),videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:ne(374),networkDelayTimeout:"网络超时重播失败",fetchError:ne(747),streamEnd:ne(735),websocket1006Error:"流异常结束",websocketError:"请求失败",webrtcError:"请求失败",hlsError:"请求失败",decoderWorkerInitError:ne(464),decoderWorkerWasmError:ne(573),videoElementPlayingFailedForWebrtc:ne(461),videoInfoError:ne(731),webrtcStreamH265:"webrtc不支持H265",delayTimeout:ne(745),loadingTimeout:ne(757),loadingTimeoutRetryEnd:ne(757),delayTimeoutRetryEnd:ne(745),flvDemuxBufferSizeTooLarge:ne(815),audioChannelError:ne(713),aliyunRtcError:ne(747),mseWaitVideoCanplayTimeout:ne(599),initDecoderWorkerTimeout:ne(403)},we={playType:oe.player,videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:de[ne(384)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:pe[ne(447)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:ne(441),decoderOld:ne(524),decoderAudio:"decoder-pro-audio.js",decoderHard:"decoder-pro-hard.js",decoderHardNotWasm:ne(418),wasmMp4RecorderDecoder:ne(518),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:ne(611),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:fe[ne(447)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:ie.fetch,demuxType:ce[ne(778)],useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ue[ne(725)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:ae.mp4,checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:ne(347),ptzClickType:he[ne(668)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:_e,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:le[ne(528)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:ne(577),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:ne(577),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:ne(394),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};ne(484),ne(592),ne(376),ne(451),ne(635),ne(614),ne(442),ne(643),ne(443),ne(724),ne(723),ne(644),ne(427),ne(363);const be={init:ne(499),initVideo:ne(491),render:ne(819),playAudio:ne(453),initAudio:ne(779),kBps:ne(387),decode:ne(601),audioCode:ne(708),audioNalu:ne(383),audioAACSequenceHeader:ne(795),videoCode:"videoCode",videoCodec:ne(520),videoNalu:ne(808),videoPayload:ne(670),audioPayload:ne(515),wasmError:ne(512),workerFetch:ne(471),iframeIntervalTs:ne(364),isDropping:ne(811),workerEnd:ne(749),networkDelay:ne(750),playbackStreamVideoFps:ne(423),wasmWidthOrHeightChange:ne(677),simdDecodeError:ne(567),simdH264DecodeVideoWidthIsTooLarge:ne(593),websocketOpen:ne(730),closeEnd:ne(733),tempStream:ne(621),videoSEI:ne(558),flvScriptData:"flvScriptData",aacSequenceHeader:ne(759),videoSequenceHeader:ne(796),flvBufferData:ne(398),checkFirstIFrame:ne(400),mseHandle:"mseHandle",mseFirstRenderTime:ne(663),mseError:"mseError",notSupportNewWasm:ne(703)};ne(637);const Se={audio:1,video:2},Ee={audio:8,video:9,scriptData:18},ke={init:ne(499),decode:ne(601),audioDecode:"audioDecode",videoDecode:ne(700),initAudioCodec:ne(406),initVideoCodec:ne(465),close:ne(475),updateConfig:ne(705),resetDecode:ne(413),clearBuffer:ne(580),resetAudioDecode:ne(715),resetVideoDecode:ne(805),fetchStream:ne(685),sendWsMessage:ne(367),mseUpdateVideoTimestamp:"mseUpdateVideoTimestamp",playbackIsPause:ne(727)};ne(533),ne(649),ne(434),ne(709),ne(448),ne(463),ne(533),ne(424),ne(458);const Ie={fullscreen:"fullscreen$2",webFullscreen:ne(519),decoderWorkerInit:ne(660),play:ne(407),playing:ne(395),pause:ne(717),mute:ne(352),load:ne(581),loading:ne(397),zooming:ne(628),drawingRect:"drawingRect",drawingRectInfo:"drawingRectInfo",videoInfo:ne(716),timeUpdate:ne(460),audioInfo:ne(379),log:ne(414),error:ne(787),kBps:ne(387),timeout:ne(788),delayTimeout:ne(459),delayTimeoutRetryEnd:ne(790),loadingTimeout:"loadingTimeout",loadingTimeoutRetryEnd:ne(612),stats:ne(673),performance:"performance",videoSmooth:ne(430),faceDetectActive:ne(652),objectDetectActive:ne(486),occlusionDetectActive:ne(760),imageDetectActive:"imageDetectActive",record:"record",recording:"recording",recordingTimestamp:ne(694),recordStart:"recordStart",recordEnd:ne(489),recordCreateError:"recordCreateError",recordBlob:ne(782),recordCancel:ne(391),buffer:ne(775),videoFrame:"videoFrame",videoSEI:ne(558),videoSEISyncPts:"videoSEISyncPts",start:"start",metadata:ne(569),resize:"resize",volumechange:ne(683),volume:ne(576),destroy:"destroy",beforeDestroy:ne(557),streamEnd:"streamEnd",streamRate:"streamRate",streamAbps:ne(821),streamVbps:ne(687),streamDts:ne(415),streamSuccess:ne(553),streamMessage:ne(506),streamError:ne(770),streamStats:ne(550),streamEndInner:ne(490),mseSourceOpen:ne(816),mseSourceClose:ne(692),mseSourceended:ne(478),mseSourceStartStreaming:ne(695),mseSourceEndStreaming:ne(598),mseSourceBufferError:ne(758),mseAddSourceBufferError:ne(752),mseWorkerAddSourceBufferError:"mseWorkerAddSourceBufferError",mseSourceBufferBusy:ne(618),mseSourceBufferFull:ne(431),videoWaiting:ne(765),videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:ne(399),playToRenderTimes:ne(823),playbackTime:ne(625),playbackTimestamp:ne(516),playbackTimeScroll:ne(813),playbackPrecision:ne(743),playbackShowPrecisionChange:ne(445),playbackJustTime:ne(502),playbackStats:ne(602),playbackSeek:"playbackSeek",playbackPause:"playbackPause",playbackPauseOrResume:"playbackPauseOrResume",playbackRateChange:ne(444),playbackPreRateChange:ne(597),playbackEnd:ne(361),playVodStats:"playVodStats",playVodPause:"playVodPause",playVodPauseOrResume:"playVodPauseOrResume",playVodRateChange:"playVodRateChange",playVodTime:ne(436),playVodTimeCache:ne(772),playVodSeek:"playVodSeek",playVodSeekEnd:ne(541),playVodVideoSeekingByMse:ne(392),playVodVideoSeekedByMse:"playVodVideoSeekedByMse",playVodCanplay:ne(348),playVodWaiting:"playVodWaiting",playVodEndedAndReplay:ne(678),playVodEnded:ne(545),ptz:ne(483),streamQualityChange:ne(420),visibilityChange:ne(741),netBuf:ne(632),close:ne(475),networkDelayTimeout:ne(764),togglePerformancePanel:ne(472),viewResizeChange:ne(639),flvDemuxBufferSizeTooLarge:ne(809),talkGetUserMediaSuccess:ne(726),talkGetUserMediaFail:ne(622),talkGetUserMediaTimeout:"talkGetUserMediaTimeout",talkStreamStart:"talkStreamStart",talkStreamOpen:ne(408),talkStreamClose:ne(737),talkStreamError:ne(679),talkStreamInactive:ne(568),talkStreamMsg:"talkStreamMsg",webrtcDisconnect:ne(521),webrtcFailed:ne(738),webrtcClosed:"webrtcClosed",webrtcChecking:ne(691),webrtcConnected:ne(648),webrtcCompleted:ne(555),webrtcOnConnectionStateChange:ne(634),webrtcOnIceConnectionStateChange:ne(651),crashLog:ne(513),focus:"focus",blur:ne(630),inView:ne(608),visibilityHiddenTimeout:ne(409),websocketOpen:ne(730),websocketClose:ne(458),websocketError:ne(424),websocketMessage:ne(381),aiObjectDetectorInfo:ne(446),aiFaceDetectorInfo:ne(754),aiOcclusionDetectResult:"aiOcclusionDetectResult",aiImageDetectResult:ne(410),playFailedAndPaused:ne(656),audioResumeState:ne(480),webrtcStreamH265:"webrtcStreamH265",flvMetaData:"flvMetaData",talkFailedAndStop:"talkFailedAndStop",removeLoadingBgImage:"removeLoadingBgImage",memoryLog:ne(590),downloadMemoryLog:ne(544),pressureObserverCpu:ne(661),currentPts:ne(386),online:ne(493),offline:ne(457),networkState:ne(349),clickInitPlayer:ne(428)};ne(581),ne(460),ne(716),ne(379),ne(787),ne(387),ne(788),ne(426),ne(459),ne(500),ne(519),ne(717),ne(673),ne(664),ne(479),ne(489),ne(782),ne(391),ne(823),ne(620),ne(516),ne(654),ne(597),ne(545),ne(494),ne(436),ne(351),ne(541),ne(420),ne(628),ne(513),ne(797),ne(630),ne(409),ne(741),ne(730),ne(764),ne(754),ne(578),ne(410),ne(656),ne(355),ne(480),ne(558),ne(803),ne(634),ne(386),ne(576),ne(428),ne(737),ne(679),ne(568),ne(372),ne(807),ne(581),ne(379),ne(787),ne(387),ne(556),ne(426),ne(612),ne(459),ne(407),ne(717),ne(352),ne(673),ne(823),ne(730),ne(656);const Ae={talkStreamError:Ie[ne(679)],talkStreamClose:Ie[ne(737)]},Ce={playError:"playIsNotPauseOrUrlIsNull",fetchError:ne(649),websocketError:ne(424),webcodecsH265NotSupport:ne(552),webcodecsDecodeError:"webcodecsDecodeError",webcodecsUnsupportedConfigurationError:ne(540),webcodecsDecodeConfigureError:ne(784),webcodecsAudioInitTimeout:"webcodecsAudioInitTimeout",webcodecsAudioNoDataTimeout:ne(699),mediaSourceH265NotSupport:ne(806),mediaSourceAudioG711NotSupport:ne(780),mediaSourceAudioInitTimeout:ne(696),mediaSourceAudioNoDataTimeout:ne(437),mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:Ie[ne(431)],mseSourceBufferError:Ie[ne(758)],mseAddSourceBufferError:Ie[ne(752)],mseWorkerAddSourceBufferError:Ie.mseWorkerAddSourceBufferError,mediaSourceAppendBufferError:ne(563),mediaSourceTsIsMaxDiff:ne(609),mediaSourceUseCanvasRenderPlayFailed:ne(354),mediaSourceBufferedIsZeroError:"mediaSourceBufferedIsZeroError",wasmDecodeError:ne(728),wasmUseVideoRenderError:ne(802),simdH264DecodeVideoWidthIsTooLarge:ne(593),simdDecodeError:"simdDecodeError",hlsError:"hlsError",webrtcError:ne(531),webrtcClosed:Ie[ne(610)],webrtcIceCandidateError:ne(626),webglAlignmentError:ne(768),wasmWidthOrHeightChange:ne(677),mseWidthOrHeightChange:ne(356),wcsWidthOrHeightChange:ne(517),widthOrHeightChange:ne(736),tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:Ie[ne(809)],audioChannelError:ne(586),webglContextLostError:ne(711),videoElementPlayingFailed:"videoElementPlayingFailed",videoElementPlayingFailedForWebrtc:ne(587),decoderWorkerInitError:ne(624),decoderWorkerWasmError:ne(640),videoInfoError:ne(357),streamEnd:Ie.streamEnd,websocket1006Error:ne(753),delayTimeout:Ie[ne(459)],loadingTimeout:Ie[ne(426)],networkDelayTimeout:Ie[ne(764)],fullscreenError:ne(794),aliyunRtcError:"aliyunRtcError",mseWaitVideoCanplayTimeout:ne(800),initDecoderWorkerTimeout:ne(514),notSupportNewWasm:ne(703),playVodMp4Error:ne(810),mp4Error:ne(701),...Ae};ne(429),ne(475),ne(787);const Te={connecting:0,open:1,closing:2,closed:3};ne(368),ne(546),ne(565),ne(546),ne(527),ne(707);const xe={h264:7,h265:12,mpeg4:99},De={h264:"H264(AVC)",h265:"H265(HEVC)"},Pe={AAC:10,ALAW:7,MULAW:8,MP3:2};ne(681),ne(438),ne(681),ne(675),ne(503);const Be={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Me={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};function Fe(){const e=["fiveMin","decoder-pro-hard-not-wasm.js","receiver","streamQualityChange","image/webp","multiMousedown","playbackStreamVideoFps","websocketError","mov","loadingTimeout","isAliyunRtc","clickInitPlayer","notConnect","videoSmooth","mseSourceBufferFull","ttfb","left","fetchClose","down","playVodTime","mediaSourceAudioNoDataTimeout","MP3","demuxed-track","leftDown","decoder-pro.js","isFlv","isMpeg4","playbackRateChange","playbackShowPrecisionChange","aiObjectDetectorInfo","normal","sendMessage","等待音频数据超时",'video/mp4; codecs="hev1.1.6.L123.b0"',"pauseAndNextPlayUseLastFrameShow","#343434","playAudio","multiDragstart","talk","buffereos","offline","websocketClose","delayTimeout","timeUpdate","video自动渲染失败","multiMouseover","destroy","初始化worker失败","initVideoCodec","paused","avc","AbortError","sei-in-time","right-up","workerFetch","togglePerformancePanel","subtitle-segments","multiMouseup","close","4-1","candidate-pair","mseSourceended","recordCreateError","audioResumeState","cruiseStop","image/jpeg","ptz","playType","hls","objectDetectActive",'video/mp4;codecs="hev1.1.6.L120.90"',"focusNear","recordEnd","streamEndInner","initVideo","sei","online","playVodPauseOrResume","created","rtp","Cannot call 'decode' on a closed codec","worker","init","fullscreen","A key frame is required after configure() or flush()","playbackJustTime","MULAW","loadeddata","不支持硬解码H265","streamMessage","sourceopen","active","remote-inbound-rtp","progress","webrtc-disconnected","wasmError","crashLog","initDecoderWorkerTimeout","audioPayload","playbackTimestamp","wcsWidthOrHeightChange","jessibuca-pro-mp4-recorder-decoder.js","webFullscreen","videoCodec","webrtcDisconnect","Webgl 渲染失败","sourcebuffer-created","decoder-pro-old.js","remove-buffer","webrtc-closed","H264(AVC)","video","emptied","left-down","webrtcError","seeking","destroyEnd","MEDIA_ERR_SRC_NOT_SUPPORTED","stop",'video/mp4;codecs="hev1.4.10.L120.90"',"fiStop","nakedFlow","mpeg4","webcodecsUnsupportedConfigurationError","playVodSeekEnd","webgl 上下文丢失","fmp4","downloadMemoryLog","playVodEnded","download","初始化音频解码器失败","jtt","webm","streamStats","multiSelected","webcodecsH265NotSupport","streamSuccess","offscreen","webrtcCompleted","start","beforeDestroy","videoSEI","flv-script-data","worklet","subtitle-playlist","sourceclose","mediaSourceAppendBufferError","left-up","base64","jbprovm","simdDecodeError","talkStreamInactive","metadata","video decoder initialization failed","stalled","Decoding error","wasm解码失败","global","863054fgSadQ","volume","white","aiOcclusionDetectResult","ten-min","clearBuffer","load","script","open","hls-manifest-loaded","container","audioChannelError","videoElementPlayingFailedForWebrtc","metadata-parsed","websocket","memoryLog","durationchange","playbackForwardMaxRateDecodeIFrame","simdH264DecodeVideoWidthIsTooLarge","940392BNSkIZ","HLS","memory access out of bounds","playbackPreRateChange","mseSourceEndStreaming","流异常","FMP4","decode","playbackStats","alaw","decoder-pro-audio-player.js","halfHour","loadedmetadata","解码失败","inView","mediaSourceTsIsMaxDiff","webrtcClosed","default","loadingTimeoutRetryEnd","udp","controlSize","simple","mp4","108YftNhP","mseSourceBufferBusy","stream","playbackSeek","tempStream","talkGetUserMediaFail","remote-outbound-rtp","decoderWorkerInitError","playbackTime","webrtcIceCandidateError","apertureNear","zooming","seeked","blur","csrc","netBuf","1-1","webrtcOnConnectionStateChange","widthOrHeightChangeReplayDelayTime","M7S","Invalid NAL unit size","NotAllowedError","viewResizeChange","decoderWorkerWasmError","loadstart","certificate","isFmp4","isWebrtcForOthers","wiperOpen","132sSYYKo","load-response-headers","webrtcConnected","fetchError","The user aborted a request","webrtcOnIceConnectionStateChange","faceDetectActive","aliyunRtc","playbackPauseOrResume","0000000000","playFailedAndPaused","inbound-rtp","27718848PSSYQB","qualitychange","decoderWorkerInit","pressureObserverCpu","7840vBWkKX","mseFirstRenderTime","performance","five-min","fetch","webrtc-connected","click","small","videoPayload","ws1006","speed","stats","mseDecodeError","ALAW","load-start","wasmWidthOrHeightChange","playVodEndedAndReplay","talkStreamError","key","AAC","opus","volumechange","self","fetchStream","endstreaming","streamVbps","readystatechange","multiDragenter","1913872MmZAKi","webrtcChecking","mseSourceClose","MediaSource解码使用canvas渲染失败","recordingTimestamp","mseSourceStartStreaming","mediaSourceAudioInitTimeout","playVod","pcm","webcodecsAudioNoDataTimeout","videoDecode","mp4Error","play() failed because the user didn't interact with the document first","notSupportNewWasm","#FFCC00","updateConfig","closed","H265(HEVC)","audioCode","fetchSuccess","right","webglContextLostError","fogClose","音频通道错误",'video/mp4; codecs="avc1.64002A"',"resetAudioDecode","videoInfo","pause","g711u",'video/mp4;codecs="hev1.2.4.L120.90"',"MEDIA_ERR_ABORTED","mse","HEVC decoding is not supported","isWebrtc","isHls","wasm","talkGetUserMediaSuccess","playbackIsPause","wasmDecodeError","leftUp","websocketOpen","解析视频分辨率失败","rightDown","closeEnd","waiting","请求结束","widthOrHeightChange","talkStreamClose","webrtcFailed","tenMin","mp3","visibilityChange","complete","playbackPrecision","20240910","播放超时重播失败","oneHour","请求失败","peer-connection","workerEnd","networkDelay","ceil","mseAddSourceBufferError","websocket1006Error","aiFaceDetectorInfo","no-audio-track","one-hour","加载超时重播失败","mseSourceBufferError","aacSequenceHeader","occlusionDetectActive","message","硬解码不支持G711a/u音频格式","media-source","networkDelayTimeout","videoWaiting","player","load-retry","webglAlignmentError","canplaythrough","streamError","ended","playVodTimeCache","multiMouseout","multiDrop","buffer","multiFullscreen","/crypto/","flv","initAudio","mediaSourceAudioG711NotSupport","webcodecs","recordBlob","1414662HgdDAr","webcodecsDecodeConfigureError","data-channel","ratechange","error","timeout","multiMousemove","delayTimeoutRetryEnd","delta","30min","audio packet","fullscreenError","audioAACSequenceHeader","videoSequenceHeader","focus","buffering","zoomNarrow","mseWaitVideoCanplayTimeout","codec","wasmUseVideoRenderError","videoSEISyncPts","apertureFar","resetVideoDecode","mediaSourceH265NotSupport","talkStreamMsg","videoNalu","flvDemuxBufferSizeTooLarge","playVodMp4Error","isDropping","startstreaming","playbackTimeScroll","webrtc","FLV待解封装buffer过大","mseSourceOpen","Decoder failure","multiDragleave","render","idle","streamAbps","rightUp","playToRenderTimes","mouseDownAndUp","webTransport","vertical","playVodCanplay","networkState","sender","playVodSeek","mute","webgl2","mediaSourceUseCanvasRenderPlayFailed","streamEnd","mseWidthOrHeightChange","videoInfoError","zoomExpand","webrtc-checking","251580JJiBcV","playbackEnd","WebTransport","isTs","iframeIntervalTs","canplay","debug","sendWsMessage","empty","m7s","tcp","transport","talkGetUserMediaTimeout","object","不支持该分辨率的视频","playerAudio","isMulti","playbackTF","connecting","audioInfo","switch-url-success","websocketMessage","播放地址不能为空","audioNalu","warn","初始化解码器失败","currentPts","kBps","Unsupported configuration","10min","half-hour","recordCancel","playVodVideoSeekingByMse","image/png","red","playing","g711","loading","flvBufferData","videoSyncAudio","checkFirstIFrame","suspend","remote-candidate","初始化解码worker超时","window","timeupdate","initAudioCodec","play","talkStreamOpen","visibilityHiddenTimeout","aiImageDetectResult","g711a","stream-parsed","resetDecode","log","streamDts","webgl"];return(Fe=function(){return e})()}ne(781),ne(416),ne(353),ne(554),ne(721),ne(485),ne(814);const Ue={key:ne(680),delta:ne(791)},Re={avc:ne(714),hev:ne(450),hev2:ne(487),hev3:ne(719),hev4:'video/mp4;codecs="hev1.3.E.L120.90"',hev5:ne(536)},Le={ended:ne(771),open:ne(583),closed:ne(706)};Math[ne(751)](40),ne(746),ne(417),ne(756),ne(390),ne(579),ne(665),ne(792),ne(389),ne(746),ne(605),ne(739),ne(417),ne(710),ne(435),ne(433),ne(564),ne(470),ne(530),ne(435),ne(729),ne(440),ne(822),ne(732),ne(535),ne(537),ne(358),ne(799),ne(804),ne(627),ne(488),ne(481),ne(712),ne(645);ne(411),ne(718),ne(698),ne(682);ne(393),ne(482),ne(421);const Oe={sourceClose:ne(562),sourceOpen:ne(507),sourceended:"sourceended",startstreaming:ne(812),endstreaming:ne(686),qualitychange:ne(659)};ne(365),ne(734),ne(405),ne(786),ne(510),ne(606);const ze={h264:ne(467),h265:"hevc"};ne(501),ne(497),ne(388),ne(817),ne(572),ne(722);const Ne={abortError:ne(650),abortError2:ne(468),abort:ne(468)};function je(e,t){const r=Fe();return(je=function(e,t){return r[e-=345]})(e,t)}ne(397),ne(395),ne(466),ne(463);const He={sequenceHeader:0,nalu:1},We=1;ne(368),ne(496),ne(548),ne(370),ne(613);ne(619),ne(787),ne(761);ne(560),ne(582);ne(411),ne(496),ne(370),ne(655),ne(560),ne(560),ne(508),ne(452),ne(704),ne(776),ne(551),ne(462),ne(773),ne(474),ne(422),ne(789),ne(454),ne(689),ne(818),ne(774),ne(476),ne(633),ne(585);const Ve={keyFrame:1,interFrame:2};ne(375),ne(778),ne(604),ne(473),ne(584),ne(439),ne(559),ne(588),ne(432),ne(767),ne(676),ne(672),ne(647),ne(492),ne(469),ne(755),ne(525),ne(456),ne(523),ne(380),ne(561),ne(412),ne(787);const $e={idle:ne(820),connecting:ne(378),buffering:ne(798),error:ne(787),complete:ne(742)};ne(720),ne(534),ne(570),ne(793),ne(702),ne(638),ne(596);const Ge={video:1,audio:2},qe=128,Ye={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Ke={FT_KEY:16,FT_INTER:32};ne(477),ne(642),ne(801),ne(631),ne(785),ne(657),ne(748),ne(419),ne(402),ne(509),ne(623),ne(350),ne(371),ne(763),ne(671),ne(674),ne(603),ne(740),ne(359),ne(667),ne(511),ne(526),ne(495),ne(395);const Xe=typeof window===ne(373)&&window[ne(404)]===window?window:typeof self===ne(373)&&self[ne(684)]===self?self:typeof global===ne(373)&&global[ne(574)]===global?global:void 0;ne(365),ne(769),ne(742),ne(591),ne(529),ne(787),ne(504),ne(606),ne(641),ne(717),ne(407),ne(395),ne(629),ne(532),ne(571),ne(401),ne(405),ne(734),ne(688);var Je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ze(e,t){return e(t={exports:{}},t.exports),t.exports}var Qe=Object.freeze({__proto__:null,commonjsGlobal:Je,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:Ze,getCjsExportFromNamespace:function(e){return e&&e.default||e}});function et(e,t){var r=tt();return(et=function(e,t){return r[e-=283]})(e,t)}function tt(){var e=["length","3928338NjpURf","5CCilIp","catch","exitFullscreen","64370hXwWuW","webkitCurrentFullScreenElement","1957172eARIhQ","webkitFullscreenElement","6293jRIUQF","request","msFullscreenElement","2248GteaHA","webkitCancelFullScreen","webkitfullscreenchange","off","mozFullScreenElement","isFullscreen","addEventListener","exit","1309xHKsLO","undefined","6UWQZDS","then","MSFullscreenError","MSFullscreenChange","requestFullscreen","webkitRequestFullScreen","error","screenfull","mozfullscreenerror","msExitFullscreen","webkitExitFullscreen","mozfullscreenchange","webkitfullscreenerror","msFullscreenEnabled","object","981GmoiAU","65748OsmHuo","change","424947BcWhtw","6671fWSdQK","fullscreenEnabled","removeEventListener","msRequestFullscreen","webkitFullscreenEnabled","exports","bind","mozFullScreenEnabled","fullscreenchange","document","mozRequestFullScreen","webkitRequestFullscreen"];return(tt=function(){return e})()}!function(e,t){for(var r=et,n=e();;)try{if(395351===-parseInt(r(310))/1+parseInt(r(323))/2*(-parseInt(r(288))/3)+parseInt(r(308))/4*(parseInt(r(303))/5)+parseInt(r(302))/6+parseInt(r(289))/7*(-parseInt(r(313))/8)+-parseInt(r(285))/9*(parseInt(r(306))/10)+parseInt(r(321))/11*(parseInt(r(286))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(tt),Ze((function(e){var t,r,n,i,s,o;t=et,r=typeof window!==t(322)&&typeof window[t(298)]!==t(322)?window[t(298)]:{},n=t(284)!==t(322)&&e[t(294)],i=function(){for(var e,n=t,i=[["requestFullscreen","exitFullscreen","fullscreenElement",n(290),"fullscreenchange","fullscreenerror"],[n(300),n(333),n(309),n(293),n(315),"webkitfullscreenerror"],[n(328),n(314),n(307),n(314),n(315),n(335)],[n(299),"mozCancelFullScreen",n(317),n(296),n(334),n(331)],[n(292),n(332),n(312),n(283),n(326),n(325)]],s=0,o=i[n(301)],a={};s32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let r=this._current_word>>>32-e;return this[t(412)]<<=e,this[t(431)]-=e,r}let r=this[t(431)]?this[t(412)]:0;r>>>=32-this[t(431)];let n=e-this[t(431)];this[t(427)]();let i=Math[t(407)](n,this._current_word_bits_left),s=this[t(412)]>>>32-i;return this[t(412)]<<=i,this[t(431)]-=i,r=r<>>t))return this[e(412)]<<=t,this[e(431)]-=t,t;return this._fillCurrentWord(),t+this[e(433)]()}[rt(425)](){const e=rt;let t=this[e(433)]();return this[e(422)](t+1)-1}[rt(432)](){let e=this[rt(425)]();return 1&e?e+1>>>1:-1*(e>>>1)}}function it(e,t){const r=st();return(it=function(e,t){return r[e-=405]})(e,t)}function st(){const e=["1548314opyaxb","_buffer","_current_word_bits_left","readSEG","_skipLeadingZero","3873444NXxjfH","_total_bits","min","1340EMKhOB","108ujAjHL","7631710FLZeoP","ExpGolomb: _fillCurrentWord() but no bytes available","_current_word","3281532wBetJq","_buffer_index","byteLength","_total_bytes","275037AHpPCX","384kSuwon","error","15265dpNGnz","destroy","readBits","getUint32","readBool","readUEG","2043mznJGV","_fillCurrentWord","buffer"];return(st=function(){return e})()}const ot=ft;!function(e,t){const r=ft,n=e();for(;;)try{if(498883===-parseInt(r(469))/1+-parseInt(r(409))/2*(-parseInt(r(468))/3)+-parseInt(r(465))/4*(-parseInt(r(411))/5)+-parseInt(r(446))/6*(-parseInt(r(448))/7)+parseInt(r(415))/8*(parseInt(r(414))/9)+parseInt(r(444))/10+parseInt(r(413))/11*(-parseInt(r(432))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yt);const at=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],ct=at,ut=at;function lt(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function dt(e){return ht(e)&&e[1]===He.sequenceHeader}function ht(e){const t=ft;return e[0]>>4===Pe[t(425)]}function ft(e,t){const r=yt();return(ft=function(e,t){return r[e-=404]})(e,t)}const pt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function mt(e){const t=ft;let r=new Uint8Array(e),n=null,i=0,s=0,o=0,a=null;if(i=s=r[0]>>>3,o=(7&r[0])<<1|r[1]>>>7,o<0||o>=pt[t(426)])return void console.error("Flv: AAC invalid sampling frequency index!");let c=pt[o],u=(120&r[1])>>>3;if(u<0||u>=8)return void console.log(t(410));5===i&&(a=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Xe[t(428)][t(452)][t(458)]();return-1!==l[t(454)](t(405))?o>=6?(i=5,n=new Array(4),a=o-3):(i=2,n=new Array(2),a=o):-1!==l.indexOf(t(461))?(i=2,n=new Array(2),a=o):(i=5,a=o,n=new Array(4),o>=6?a=o-3:1===u&&(i=2,n=new Array(2),a=o)),n[0]=i<<3,n[0]|=(15&o)>>>1,n[1]=(15&o)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&a)>>>1,n[2]=(1&a)<<7,n[2]|=8,n[3]=0),{audioType:t(430),config:n,sampleRate:c,channelCount:u,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+s}}ot(474),ot(466);class vt{constructor(e){const t=ot;this[t(417)]=e,this[t(457)]=!1,this[t(407)]=this[t(440)](0),this[t(457)]&&console[t(460)](t(434))}[ot(440)](e){const t=ot;let r=e,n=this[t(417)];for(;;){if(r+7>=n[t(435)])return this[t(457)]=!0,n[t(435)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}[ot(459)](){const e=ot;let t=this[e(417)],r=null;for(;null==r&&!this.eof_flag_;){let n=this[e(407)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,o=1&t[n+1],a=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this.data_[e(435)]){this[e(457)]=!0,this[e(480)]=!0;break}let d=1===o?7:9,h=l-d;n+=d;let f=this[e(440)](n+h);if(this.current_syncword_offset_=f,0!==i&&1!==i||0!==s)continue;let p=t[e(476)](n,n+h);r={},r[e(422)]=a+1,r.sampling_freq_index=c,r[e(445)]=ct[c],r[e(456)]=u,r[e(433)]=p}return r}[ot(424)](){return this[ot(480)]}[ot(481)](){const e=ot;return this.has_last_incomplete_data?this[e(417)][e(476)](this[e(407)]):null}}function yt(){const e=["has_last_incomplete_data","getIncompleteData","buflen","read","firefox","sampling_index","current_syncword_offset_","readBits","52138cGdUUl","Flv: AAC invalid channel configuration","3164555jVdfdM",". Only frameLengthType = 0 Supported","534281aazYaH","25749Jmcffw","1680LsJFnk","bufpos","data_","StreamMuxConfig Missing","frameLengthType = ","slice","more than 2 numSubFrames Not Supported","audio_object_type","sbr","hasIncompleteData","AAC","length","sampleRate: ","navigator","set","aac","allStreamsSameTimeFraming zero is Not Supported","252qBeLjT","data","Could not found ADTS syncword until payload end","byteLength","unshift","channel: ","ext_object_type","readBool","findNextSyncwordOffset","other_data_present","readByte","iserro","899300cLZWZT","sampling_frequency","6942iuOies","log","4529hDBKWc","aacEncoderConfigurationRecord","destroy","more than 2 numLayer Not Supported","userAgent","sampling_freq_index","indexOf","audioMuxVersionA is Not Supported","channel_config","eof_flag_","toLowerCase","readNextAACFrame","error","android","bufoff","channels","push","4PyYkXp","read_golomb","more than 2 numProgram Not Supported","21ynfpbf","735839ntwQOk","Invalid sampling index: ","warn","chan_config","object_type","look","profile: ","subarray","sample_rate","getLATMValue","mp4a.40.2"];return(yt=function(){return e})()}class gt{constructor(e){const t=ot;this[t(417)]=e,this[t(457)]=!1,this.current_syncword_offset_=this[t(440)](0),this[t(457)]&&console[t(460)](t(434))}findNextSyncwordOffset(e){const t=ot;let r=e,n=this[t(417)];for(;;){if(r+1>=n[t(435)])return this[t(457)]=!0,n[t(435)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}[ot(478)](e){const t=ot;let r=e[t(408)](2),n=0;for(let i=0;i<=r;i++)n<<=8,n|=e[t(442)]();return n}readNextAACFrame(e){const t=ot;let r=this.data_,n=null;for(;null==n&&!this[t(457)];){let i=this[t(407)],s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this[t(417)][t(435)]){this[t(457)]=!0,this[t(480)]=!0;break}let o=new nt(r.subarray(i+3,i+3+s)),a=null;if(o[t(439)]()){if(null==e){console[t(471)](t(418)),this[t(407)]=this[t(440)](i+3+s),o[t(450)]();continue}a=e}else{let e=o[t(439)]();if(e&&o[t(439)]()){console.error(t(455)),o.destroy();break}if(e&&this.getLATMValue(o),!o[t(439)]()){console.error(t(431)),o[t(450)]();break}if(0!==o[t(408)](6)){console.error(t(421)),o.destroy();break}if(0!==o[t(408)](4)){console[t(460)](t(467)),o[t(450)]();break}if(0!==o.readBits(3)){console[t(460)](t(451)),o[t(450)]();break}let r=e?this[t(478)](o):0,n=o[t(408)](5);r-=5;let i=o[t(408)](4);r-=4;let s=o[t(408)](4);r-=4,o[t(408)](3),r-=3,r>0&&o[t(408)](r);let c=o[t(408)](3);if(0!==c){console.error(t(419)+c+t(412)),o.destroy();break}o.readByte();let u=o[t(439)]();if(u)if(e)this[t(478)](o);else{let e=0;for(;;){e<<=8;let r=o.readBool();if(e+=o[t(442)](),!r)break}console[t(447)](e)}o.readBool()&&o.readByte(),a={},a[t(422)]=n,a[t(453)]=i,a[t(445)]=ct[a.sampling_freq_index],a[t(456)]=s,a[t(441)]=u}let c=0;for(;;){let e=o[t(442)]();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function bt(e){const t=kt;let r=arguments[t(304)]>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const n=e[t(304)],i=[];let s,o=0;for(;o+r>>=8),o+=r,s){if(o+s>n)break;i[t(297)](e[t(294)](o,o+s)),o+=s}return i}function St(e,t){const r=kt,n=e[r(304)];let i=t?2:1,s=0,o=0,a="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)o+=255,i++;if(o+=e[i++],5===s&&n>i+16)for(let t=0;t<16;t++)a+=e[i][r(290)](16),i++;return{payload:e[r(294)](i),type:s,size:o,uuid:a}}function Et(e){const t=kt,r=e[t(293)],n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i.set(n,0),i[t(305)](e,4),i}function kt(e,t){const r=_t();return(kt=function(e,t){return r[e-=288]})(e,t)}function It(e,t){const r=kt;let n=null;return t?e.length>=28&&(n=1+(3&e[26])):e[r(304)]>=12&&(n=1+(3&e[9])),n}!function(e,t){const r=kt,n=e();for(;;)try{if(436450===parseInt(r(301))/1*(parseInt(r(303))/2)+-parseInt(r(302))/3+parseInt(r(289))/4+parseInt(r(299))/5*(-parseInt(r(292))/6)+-parseInt(r(295))/7*(parseInt(r(296))/8)+-parseInt(r(300))/9+-parseInt(r(298))/10*(-parseInt(r(291))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_t);const At=Ct;function Ct(e,t){const r=Ft();return(Ct=function(e,t){return r[e-=436]})(e,t)}function Tt(){const e=Ct;return(new Date)[e(765)]()}function xt(e,t,r){return Math[Ct(732)](Math.min(e,Math.max(t,r)),Math.min(t,r))}function Dt(){const e=Ct;return performance&&"function"==typeof performance[e(533)]?performance[e(533)]():Date[e(533)]()}function Pt(e){let t=0,r=Dt();return n=>{if(!function(e){const t=At;return Object.prototype[t(664)][t(478)](e)===t(455)}(n))return;t+=n;const i=Dt(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=Ct,n=e();for(;;)try{if(438171===parseInt(r(751))/1+parseInt(r(469))/2+-parseInt(r(505))/3+-parseInt(r(487))/4+parseInt(r(569))/5+-parseInt(r(641))/6+parseInt(r(733))/7*(parseInt(r(756))/8))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ft),(()=>{const e=Ct;try{if(typeof WebAssembly===e(610)&&typeof WebAssembly[e(486)]===e(673)){const t=new(WebAssembly[e(530)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly[e(627)]}}catch(e){}})();At(665);const Bt=At(653),Mt=At(519);At(617),At(665);function Ft(){const e=["0 KB/s","replace","application/javascript","hev","then","strokeStyle","gpu","none","webgl2","getMinutes","navigator","overflow","fromCharCode","PB/s","QihooBrowser","286914odDVew","start","hasAudio","vps","video","ended",'video/mp4; codecs="',"message","NaN","data-","href","rect","display","RIFF",'"9-21-2024"',"pow","Firefox","drawImage","fullscreenElement","width","-moz-user-select","attachShadow","9999999","type","h265","Module","Safari","setUint8","now","string","createEvent","backgroundColor","textAlign","Bytes","green","setUint32","readAsArrayBuffer","result","hostname","MediaStreamTrackGenerator","prototype","dataset","playbackRate","pageX","data:","floor","hev1.1.6.L120.90","keys","f32-planar","left",";base64","random","apply","stringify","toDataURL","fontSize","angle","join","WAVE","Edge","undefined","getUint8","split","click","807185zSTqPE","nLp","true","webkit-3d","wcsDecodeAudio","text","validate","KB/s","match","isConfigSupported","insertBefore","If you want to help, upload a sample of this file to","destination","createBufferSource","pointer-events: none !important; display: block !important","lineWidth","mouseup","filter","edge","pathname","GB/s","mediaDevices","img","useMSE","noteOn","-webkit-touch-callout","not compiled with thread support, using thread emulation","not compiled with thread support","position","getUserMedia","mousedown","createImageBitmap","EB/s","webm","illegal icc","borderWidth","log","AudioDecoder","top","useWCS","[object Exception]","object","AAC","application/asx","fillStyle","image","high","version",'"development"',"close","error","protocol","mimeTypes","clientX","createObjectURL","createElement","Anonymous","charCodeAt","Instance","https:","forEach","format","canPlayType","clientY","length","touchmove","transferControlToOffscreen","download","experimental-webgl","status","VideoDecoder","msGetUserMedia","4673742huuKtU","file","[object DOMException]","paused","ALAW","ZB/s","MediaStream","onerror","substr","win64","opera","appendChild",'"2.0.0"',"quality","application/vnd.chromium.remoting-viewer","fontFamily","canConstructInDedicatedWorker","YB/s","body","getPropertyValue","removeChild","origin","trim","toString",'"production"',"performance","getMonth","100","hev4","px Arial","360SE","addModule","function","#000","getAttribute","connect","touchstart","VideoFrame","touchend","parse","assign","createBuffer","moz-webgl","test","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","userAgent","audioWorklet","wow32","safari","hev3","QQBrowser","line","isTypeSupported","ManagedMediaSource","WebGLRenderingContext","mozGetUserMedia","touches","demuxUseWorker","-ms-user-select","fmt ","charAt","100%","getContext","event","slice","content","VideoEncoder.isConfigSupported is not a function","buffer","supported","set","avc1.","children","VideoEncoder.isConfigSupported() result is not supported","application/mozilla-npqihooquicklogin","height","URL","{y}-{m}-{d} {h}:{i}:{s}","getParameter","VideoEncoder is not supported","memory","sps","-webkit-tap-highlight-color","getHours","hev5","imageSmoothingEnabled","requestVideoFrameCallback","green yuv","clearRect","TB/s","getFullYear","showModalDialog","max","6258098vQnvBA","scrollTop","setInt32","scrollLeft","opacity","wow64","toFixed","numberOfFrames","src","search","hev2","MB/s","html","application/hwepass2001.installepass2001","mseDecodeAudio","bottom","-webkit-user-select","fillText","640370BNeQSk","absolute","webkitGetUserMedia","hash","revokeObjectURL","8bjBeoZ","Opera","documentElement","MediaSource","visibility","imageSmoothingQuality","application/vnd.apple.mpegurl","MULAW","style","getTime","font","Reserved SBR extensions is not implemented","objectFit","webkitFullscreenElement","canvas","createTextNode","right","atob","document","mousemove","Worker","subarray","msFullscreenElement","open","360","restore","PressureObserver","data","innerHTML","isFullscreen","indexOf","color","pageY","div","MouseEvents","location","save","toLowerCase","QHBrowser","[object Number]","iFrame","setAttribute","repeat","contain","setUint16","shadowRoot","360EE","rgba(0,0,0,0)","ActiveXObject","borderStyle","round","failed to asynchronously prepare wasm","0 Bytes","582578lJRhWj","onload","sequenceHeader","setHours","setInt16","substring","chrome","byteLength","port","call","application/360softmgrplugin","-webkit-text-size-adjust","AudioData","xxxx","getDate","min","webgl","instantiate","2697376cFIPZy","localhost","dispatchEvent"];return(Ft=function(){return e})()}function Ut(e){return null==e}function Rt(e){return!Ut(e)}function Lt(e){return typeof e===At(673)}function Ot(e){const t=At;let r=null,n=31&e[0];return(n===Be[t(721)]||n===Be.pps)&&(r=De.h264),!r&&(n=(126&e[0])>>1,(n===Me[t(508)]||n===Me.sps||n===Me.pps)&&(r=De[t(529)])),r}function zt(){return typeof WritableStream!==At(565)}function Nt(e){e[At(618)]()}function jt(e,t){const r=At;t&&(e=e[r(586)]((e=>e[r(528)]&&e[r(528)]===t)));let n=e[0],i=null,s=1;if(e[r(633)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let o=s;o=1e3){e[o-1].ts-n.ts<1e3&&(i=o+1)}}}return i}function Ht(e){const t=At;return e.ok&&e[t(638)]>=200&&e.status<=299}function Wt(){return function(e){const t=At;let r="";if("object"==typeof e)try{r=JSON[t(558)](e),r=JSON[t(680)](r)}catch(t){r=e}else r=e;return r}(we)}function Vt(e){const t=At;return e[0]>>4===We&&e[1]===He[t(471)]}function $t(e){return!0===e||e===At(571)}function Gt(e){return!0!==e&&e!==At(571)}function qt(){const e=At;return!!(Xe[e(436)]&&Xe[e(759)]&&e(657)in Xe[e(759)]&&!0===Xe[e(759)].canConstructInDedicatedWorker)}function Yt(e,t){const r=At,n=bt(e[r(705)](5));let i=!1;return n.forEach((e=>{const n=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Me[n(456)]||s===Me[n(570)]||s===Me.craNut)||Gt(t)&&s===Be[n(456)])&&(i=!0)})),i}const Kt=Xt;function Xt(e,t){const r=Jt();return(Xt=function(e,t){return r[e-=189]})(e,t)}function Jt(){const e=["copyWithin","read","pull","flush","writeU8","done","readU32","60728OAliSL","19523360irtyoX","12jLIFdC","EOF","U32","value","then","lastReadPromise","return","write","next","2611342aIgAWt","readU8","886518pyZUDE","U16","reject","length","writeU16","set","demand","throw","57YRUFim","540200NXJWxo","consumed","4305411auOSex","byteLength","apply","call","49MyDBIC","malloc","927605Ocsctq","readU16","subarray","close","need","resolve","consume","byteOffset","buffer"];return(Jt=function(){return e})()}!function(e,t){const r=Xt,n=e();for(;;)try{if(867979===parseInt(r(205))/1+-parseInt(r(203))/2+-parseInt(r(213))/3*(parseInt(r(192))/4)+-parseInt(r(222))/5*(parseInt(r(194))/6)+parseInt(r(220))/7*(parseInt(r(214))/8)+-parseInt(r(216))/9+parseInt(r(193))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Jt);var Zt=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const o=Xt;function a(e){const t=Xt;try{u(n[t(202)](e))}catch(e){s(e)}}function c(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){const t=Xt;var n;e[t(190)]?i(e[t(197)]):(n=e[t(197)],n instanceof r?n:new r((function(e){e(n)})))[t(198)](a,c)}u((n=n[o(218)](e,t||[]))[o(202)]())}))};const Qt=Symbol(32),er=Symbol(16),tr=Symbol(8);class rr{constructor(e){const t=Xt;this.g=e,this[t(215)]=0,e&&(this[t(226)]=e[t(202)]()[t(197)])}setG(e){const t=Xt;this.g=e,this[t(211)](e.next()[t(197)],!0)}[Kt(228)](){const e=Kt;this.buffer&&this[e(215)]&&(this[e(230)][e(231)](0,this[e(215)]),this[e(230)]=this[e(230)].subarray(0,this.buffer.length-this[e(215)]),this.consumed=0)}[Kt(211)](e,t){const r=Kt;return t&&this.consume(),this[r(226)]=e,this[r(234)]()}read(e){return Zt(this,void 0,void 0,(function*(){const t=Xt;return this[t(199)]&&(yield this[t(199)]),this[t(199)]=new Promise(((r,n)=>{const i=t;var s;this[i(207)]=n,this[i(227)]=e=>{const t=i;delete this[t(199)],delete this[t(227)],delete this[t(226)],r(e)};this.demand(e,!0)||null===(s=this[i(233)])||void 0===s||s[i(219)](this,e)}))}))}[Kt(191)](){return this[Kt(232)](Qt)}[Kt(223)](){return this[Kt(232)](er)}[Kt(204)](){return this.read(tr)}[Kt(225)](){const e=Kt;var t;this.g&&this.g[e(200)](),this[e(230)]&&this[e(230)][e(224)](0,0),null===(t=this[e(207)])||void 0===t||t[e(219)](this,new Error(e(195))),delete this[e(199)]}[Kt(234)](){const e=Kt;if(!this[e(230)]||!this.need)return;let t=null;const r=this.buffer[e(224)](this[e(215)]);let n=0;const i=t=>r[e(208)]<(n=t);if("number"==typeof this[e(226)]){if(i(this[e(226)]))return;t=r[e(224)](0,n)}else if(this[e(226)]===Qt){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(226)]===er){if(i(2))return;t=r[0]<<8|r[1]}else if(this[e(226)]===tr){if(i(1))return;t=r[0]}else if("buffer"in this.need){if(e(229)in this[e(226)]){if(i(this[e(226)][e(217)]-this.need[e(229)]))return;new Uint8Array(this[e(226)][e(230)],this.need[e(229)])[e(210)](r[e(224)](0,n)),t=this[e(226)]}else if(this.g)return void this.g[e(212)](new Error("Unsupported type"))}else{if(i(this[e(226)].byteLength))return;new Uint8Array(this[e(226)])[e(210)](r[e(224)](0,n)),t=this[e(226)]}return this[e(215)]+=n,this.g?this.demand(this.g[e(202)](t).value,!0):this.resolve&&this[e(227)](t),t}[Kt(201)](e){const t=Kt;if(e instanceof Uint8Array?this[t(221)](e[t(208)])[t(210)](e):t(230)in e?this[t(221)](e[t(217)])[t(210)](new Uint8Array(e[t(230)],e.byteOffset,e[t(217)])):this[t(221)](e[t(217)])[t(210)](new Uint8Array(e)),!this.g&&!this[t(227)])return new Promise((e=>this[t(233)]=e));this[t(234)]()}writeU32(e){const t=Kt;this.malloc(4)[t(210)]([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(234)]()}[Kt(209)](e){const t=Kt;this[t(221)](2)[t(210)]([e>>8&255,255&e]),this[t(234)]()}[Kt(189)](e){const t=Kt;this[t(221)](1)[0]=e,this[t(234)]()}[Kt(221)](e){const t=Kt;if(this[t(230)]){const r=this.buffer.length,n=r+e;if(n<=this[t(230)][t(230)][t(217)]-this[t(230)][t(229)])this[t(230)]=new Uint8Array(this.buffer[t(230)],this[t(230)][t(229)],n);else{const e=new Uint8Array(n);e.set(this[t(230)]),this[t(230)]=e}return this[t(230)][t(224)](r,n)}return this[t(230)]=new Uint8Array(e),this[t(230)]}}function nr(e,t){const r=ir();return(nr=function(e,t){return r[e-=489]})(e,t)}function ir(){const e=["3SVsezx","7571284EnXMkC","268MsSLMd","90zpImHx","JbPro","log","9040115NjEmVd","error","4017684GxhvxN","[❗❗❗][","304339fdtTti","57311496rjMlmF","debugLevel","_opt","104LLvMsk","[✅✅✅][","1444977uYKgzw","debugUuid","debug","length","11068mVxLeS"];return(ir=function(){return e})()}rr[Kt(196)]=Qt,rr[Kt(206)]=er,rr.U8=tr,function(e,t){const r=nr,n=e();for(;;)try{if(962434===-parseInt(r(496))/1*(parseInt(r(499))/2)+-parseInt(r(497))/3*(parseInt(r(498))/4)+parseInt(r(503))/5+-parseInt(r(505))/6+-parseInt(r(507))/7*(parseInt(r(490))/8)+parseInt(r(492))/9*(-parseInt(r(500))/10)+parseInt(r(508))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ir);class sr{constructor(e){this.log=function(t){const r=nr;if(e._opt.debugLevel==de[r(494)]){const o=e[r(489)][r(493)]?"["+e[r(489)].debugUuid+"]":"";for(var n=arguments[r(495)],i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?i-1:0),o=1;o=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(250)],0,s)}static[or(218)](e){const t=or;let r=cr[t(248)](e),n=new nt(r);n[t(243)]();let i=n[t(243)]();n.readByte();let s=n[t(243)]();n[t(219)]();let o=cr[t(235)](i),a=cr.getLevelString(s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n.readUEG(),3===c&&n[t(249)](1),c<=3&&(u=l[c]),d=n[t(219)]()+8,n.readUEG(),n[t(249)](1),n[t(242)]())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(b=r[e-1],S=i[e-1]):255===e&&(b=n[t(243)]()<<8|n[t(243)](),S=n[t(243)]()<<8|n[t(243)]())}if(n[t(242)]()&&n.readBool(),n[t(242)]()&&(n[t(249)](4),n[t(242)]()&&n[t(249)](24)),n[t(242)]()&&(n[t(219)](),n.readUEG()),n[t(242)]()){let e=n[t(249)](32),r=n[t(249)](32);k=n[t(242)](),I=r,A=2*e,E=I/A}}let C=1;(1!==b||1!==S)&&(C=b/S);let T=0,x=0;if(0===c)T=1,x=2-v;else{T=3===c?1:2,x=(1===c?2:1)*(2-v)}let D=16*(p+1),P=16*(m+1)*(2-v);D-=(y+g)*T,P-=(_+w)*x;let B=Math.ceil(D*C);return n[t(245)](),n=null,{profile_string:o,level_string:a,bit_depth:d,ref_frames:f,chroma_format:u,chroma_format_string:cr[t(231)](u),frame_rate:{fixed:k,fps:E,fps_den:A,fps_num:I},sar_ratio:{width:b,height:S},codec_size:{width:D,height:P},present_size:{width:B,height:P}}}static[or(232)](e){const t=or;let r=e[t(229)](1,4),n="avc1.";for(let e=0;e<3;e++){let i=r[e][t(239)](16);i[t(224)]<2&&(i="0"+i),n+=i}let i=cr[t(248)](e),s=new nt(i);s[t(243)]();let o=s.readByte();s.readByte();let a=s[t(243)]();s[t(219)]();let c=cr[t(235)](o),u=cr.getLevelString(a),l=1,d=420,h=[0,420,422,444],f=8,p=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=s[t(219)](),3===l&&s.readBits(1),l<=3&&(d=h[l]),f=s.readUEG()+8,p=s[t(219)]()+8,s[t(249)](1),s.readBool())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(k=r[e-1],I=n[e-1]):255===e&&(k=s[t(243)]()<<8|s.readByte(),I=s.readByte()<<8|s[t(243)]())}if(s.readBool()&&s[t(242)](),s[t(242)]()&&(s[t(249)](4),s[t(242)]()&&s[t(249)](24)),s[t(242)]()&&(s.readUEG(),s[t(219)]()),s[t(242)]()){let e=s[t(249)](32),r=s[t(249)](32);C=s[t(242)](),T=r,x=2*e,A=T/x}}let D=1;(1!==k||1!==I)&&(D=k/I);let P=0,B=0;if(0===l)P=1,B=2-_;else{P=3===l?1:2,B=(1===l?2:1)*(2-_)}let M=16*(y+1),F=16*(g+1)*(2-_);M-=(w+b)*P,F-=(S+E)*B;let U=Math[t(226)](M*D);return s[t(245)](),s=null,{codec_mimetype:n,profile_idc:o,level_idc:a,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:cr[t(231)](d),frame_rate:{fixed:C,fps:A,fps_den:x,fps_num:T},sar_ratio:{width:k,height:I},codec_size:{width:M,height:F},present_size:{width:U,height:F}}}static[or(244)](e,t){const r=or;let n=8,i=8,s=0;for(let o=0;o=this[t(434)])return this[t(428)]=!0,0;this[t(428)]=!1,n=this[t(433)]+e>8?8-this[t(433)]:e,r<<=n,r+=this.buffer[this[t(430)]]>>8-this[t(433)]-n&255>>8-n,this.bufoff+=n,e-=n,8==this[t(433)]&&(this.bufpos++,this.bufoff=0)}return r}[lr(426)](e){const t=lr;let r=this[t(430)],n=this[t(433)],i=this[t(422)](e);return this.bufpos=r,this.bufoff=n,i}read_golomb(){const e=lr;let t;for(t=0;0===this.read(1)&&!this[e(428)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(369)](n,0),i[t(369)](r[t(316)],4),r[t(316)]=i}if(r[t(356)]){const e=r.pps[t(330)],n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(n,0),i[t(369)](r[t(356)],4),r[t(356)]=i}return r}function wr(e){const t=gr;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(330)]>>8&255,i[12]=255&r[t(330)],i[t(294)](...r,1,n[t(330)]>>8&255,255&n[t(330)],...n);return new Uint8Array(i)}function br(e){const t=gr;let{sps:r,pps:n}=e,i=8+r[t(330)]+1+2+n[t(330)],s=!1;const o=cr[t(350)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=255,a[5]=225;let c=r.byteLength;a[6]=c>>>8,a[7]=255&c;let u=8;a[t(369)](r,8),u+=c,a[u]=1;let l=n[t(330)];a[u+1]=l>>>8,a[u+2]=255&l,a[t(369)](n,u+3),u+=3+l,s&&(a[u]=252|o.chroma_format_idc,a[u+1]=248|o[t(315)]-8,a[u+2]=248|o[t(339)]-8,a[u+3]=0,u+=4);const d=[23,0,0,0,0],h=new Uint8Array(d[t(332)]+a.byteLength);return h[t(369)](d,0),h.set(a,d.length),h}function Sr(e,t){const r=gr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(330)]>>24&255,n[6]=e[r(330)]>>16&255,n[7]=e.byteLength>>8&255,n[8]=255&e[r(330)];const i=new Uint8Array(n.length+e.byteLength);return i[r(369)](n,0),i[r(369)](e,n[r(332)]),i}function Er(e,t){const r=gr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n.length+e.byteLength);return i[r(369)](n,0),i.set(e,n[r(332)]),i}function kr(e){return 31&e[0]}function Ir(){const e=["findNextStartCodeOffset","nb_sps","iFrame","read_golomb","fixed","readBits","eofFlag","push","722650sSLNzt","714903bYkNpK","timescale","compat","3628LeCSEy","343191QckrlR","codec_size","chroma_format","readBool","toString","readUByte","avc1.","15IxgFTQ","refSampleDuration","present_size","skipScalingList","Invalid AVCDecoderConfigurationRecord, lack of data!","Invalid AVCDecoderConfigurationRecord: No PPS'"," Strange AVCDecoderConfigurationRecord: SPS Count = ","setInt16","bit_depth_luma","sps","read","level","h264","bitDepth","setUint32","Strange NaluLengthSizeMinusOne: ","shift","kReserved0","subarray","getUint16","6283387aFjtWc","skipUEG","skipBits","byteLength","codec","length","getUint8","codecHeight","buffer","width","height","presentHeight","bit_depth_chroma","codecWidth","profile_string","fps_den","27FxhDJE","frame_rate","profile","presentWidth","parseSPS","16WaLTuN","762078JQtPmb","parseSPS$2","frameRate","readNextNaluPayload","videoType","Invalid AVCDecoderConfigurationRecord version !== 1 || avcProfile === 0","fps_num","pps","currentStartcodeOffset","sarRatio","Invalid AVCDecoderConfigurationRecord: No SPS","error","Could not find H264 startcode until payload end!","readUEG","avcc","level_string","chromaFormat","348QJYVVE","sar_ratio","data","set","103724TyXYxN"];return(Ir=function(){return e})()}function Ar(e){return e===Be.kSliceSEI}function Cr(e){return!function(e){const t=gr;return e===Be[t(316)]||e===Be[t(356)]}(e)&&!Ar(e)}function Tr(e){return e===Be[gr(373)]}function xr(e){if(0===e.length)return!1;const t=kr(e[0]);for(let r=1;r=n.byteLength)return this[t(377)]=!0,n.byteLength;let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[yr(352)](){const e=yr;let t=this[e(368)],r=null;for(;null==r&&!this[e(377)];){let n=this[e(357)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,o=this.findNextStartCodeOffset(n);this[e(357)]=o,i>=Be[e(324)]||0===s&&(r={type:i,data:t[e(325)](n,o)})}return r}}class Pr{constructor(e){const t=yr;let r=e[t(368)][t(330)];this.type=e.type,this[t(368)]=new Uint8Array(4+r),new DataView(this[t(368)][t(335)])[t(321)](0,r),this[t(368)][t(369)](e[t(368)],4)}}function Br(){const e=["m_zeros","m_byte","196883HPcwid","1194264nlVGmv","895992pCfIkG","m_len","m_bits","GetBit","GetUE","m_idx","1333786YixpfS","m_data","GetSE","2967210TEYRUc","32DMmLje","164927CRbHPD","GetBYTE","449550xWXeWJ","GetWord"];return(Br=function(){return e})()}const Mr=Fr;function Fr(e,t){const r=Br();return(Fr=function(e,t){return r[e-=352]})(e,t)}!function(e,t){const r=Fr,n=e();for(;;)try{if(371649===-parseInt(r(364))/1+parseInt(r(353))/2+-parseInt(r(366))/3+-parseInt(r(365))/4+-parseInt(r(360))/5+parseInt(r(356))/6+-parseInt(r(358))/7*(-parseInt(r(357))/8))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Br);class Ur{constructor(e){const t=Fr;this[t(352)]=null,this[t(354)]=e,this[t(367)]=e.length,this[t(352)]=0,this[t(368)]=0,this[t(363)]=0,this.m_zeros=0}[Mr(359)](){const e=Mr;if(this[e(352)]>=this.m_len)return 0;let t=this[e(354)][this[e(352)]++];return 0==t?(this[e(362)]++,this.m_idx>this[e(368)]&1}[Mr(361)](e){let t=0;for(;e>0;)t<<=1,t|=this.GetBit(),e--;return t}GetUE(){const e=Mr;let t=0;for(;this[e(352)]>1;return!(1&e)&&(t=-t),t}}const Rr=Lr;function Lr(e,t){const r=Or();return(Lr=function(e,t){return r[e-=488]})(e,t)}function Or(){const e=["15VXdLDi","_ebsp2rbsp","GetWord","1409664MIjMjL","562034WZWVKC","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","buffer","warn","488924awWAlN","479041SzJIip","8NpyOAA","SPSParser sps_seq_parameter_set_id > 15","384167WUSVnY","GetUE","310grMggJ","SPSParser chroma_format_idc > 3","12598110HUxiWi","parseSPS","35xixzbU","1297724iUjJvA"];return(Or=function(){return e})()}!function(e,t){const r=Lr,n=e();for(;;)try{if(842881===-parseInt(r(493))/1+parseInt(r(503))/2+parseInt(r(504))/3*(-parseInt(r(492))/4)+-parseInt(r(502))/5*(parseInt(r(507))/6)+parseInt(r(496))/7*(-parseInt(r(494))/8)+parseInt(r(500))/9+parseInt(r(498))/10*(parseInt(r(488))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Or);class zr{static _ebsp2rbsp(e){const t=Lr;let r=e,n=r.byteLength,i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(490)],0,s)}static[Rr(501)](e){const t=Rr;let r=zr[t(505)](e);const n=new Ur(r);let i="",s="",o="",a="";n[t(506)](4);let c=n[t(506)](3);if(c>6)return console[t(491)]("SPSParser sps_max_sub_layers_minus1 > 6"),!1;n[t(506)](1),n.GetWord(2),n[t(506)](1),i=n[t(506)](5),n[t(506)](32),n[t(506)](1),n[t(506)](1),n[t(506)](1),n[t(506)](1),n[t(506)](44),s=n[t(506)](8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n.GetWord(2);for(let e=0;e15)return console[t(491)](t(495),d),!1;let h=n[t(497)]();return h>3?(console[t(491)](t(499),h),!1):(3==h&&n.GetWord(1),o=n[t(497)](),a=n[t(497)](),n[t(506)](1)&&(n[t(497)](),n[t(497)](),n[t(497)](),n[t(497)]()),n.GetUE()!=n[t(497)]()?(console[t(491)](t(489)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:o,height:a},present_size:{width:"",height:a}})}}function Nr(e,t){const r=Wr();return(Nr=function(e,t){return r[e-=297]})(e,t)}!function(e,t){const r=Nr,n=e();for(;;)try{if(577384===parseInt(r(302))/1+-parseInt(r(300))/2+-parseInt(r(311))/3+parseInt(r(310))/4*(parseInt(r(303))/5)+-parseInt(r(307))/6+parseInt(r(304))/7*(parseInt(r(301))/8)+parseInt(r(316))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Wr);const jr=e=>{const t=Nr;let r=e,n=r[t(312)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(319)],0,s)},Hr=e=>{const t=Nr;switch(e){case 0:return t(309);case 1:return t(313);case 2:return"4:2:2";case 3:return t(317);default:return t(305)}};function Wr(){const e=["4:0:0","1624HibsFP","2623029dFLoUy","byteLength","4:2:0",".B0","readByte","10166022qDTfEZ","4:4:4","push","buffer","toFixed",".1.L","readSEG","readBits","1508040uYyVee","88aupQUm","446978FxgObB","10405LTrGOC","505309siXcFV","Unknown","readBool","6058392zrcaIy","readUEG"];return(Wr=function(){return e})()}const Vr=$r;function $r(e,t){const r=Gr();return($r=function(e,t){return r[e-=395]})(e,t)}function Gr(){const e=["12pBIROK","readBool","Main","parseVPS","toFixed","3189108hjelaa","SCC","getProfileString","3175325STQadm","4:0:0","getChromaFormatString","readBits","_ebsp2rbsp","parsePPS","min","12758994JRrrVa","4:2:0","Unknown","MainSP","1818746JGpQDs","getLevelString",".B0","push","readSEG","readUEG","parseSPS","Rext","8peqmUl","5952996LFRRzC","1pUwUZf","4:2:2","readByte","559443cUdjXn","6649430seGxLP"];return(Gr=function(){return e})()}!function(e,t){const r=$r,n=e();for(;;)try{if(718948===-parseInt(r(421))/1*(parseInt(r(411))/2)+parseInt(r(424))/3*(parseInt(r(426))/4)+parseInt(r(400))/5+parseInt(r(397))/6+-parseInt(r(420))/7+-parseInt(r(419))/8*(-parseInt(r(407))/9)+-parseInt(r(425))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gr);class qr{static[Vr(404)](e){let t=e,r=t.byteLength,n=new Uint8Array(r),i=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(n[i]=t[e],i++);return new Uint8Array(n.buffer,0,i)}static[Vr(395)](e){const t=Vr;let r=qr[t(404)](e),n=new nt(r);return n[t(423)](),n[t(423)](),n[t(403)](4),n[t(403)](2),n[t(403)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n[t(427)]()}}static[Vr(417)](e){const t=Vr;let r=qr[t(404)](e),n=new nt(r);n[t(423)](),n.readByte();let i=0,s=0,o=0,a=0;n[t(403)](4);let c=n[t(403)](3);n[t(427)]();let u=n[t(403)](2),l=n.readBool(),d=n[t(403)](5),h=n[t(423)](),f=n.readByte(),p=n[t(423)](),m=n[t(423)](),v=n.readByte(),y=n[t(423)](),g=n[t(423)](),_=n[t(423)](),w=n[t(423)](),b=n[t(423)](),S=n[t(423)](),E=[],k=[];for(let e=0;e0)for(let e=c;e<8;e++)n.readBits(2);for(let e=0;e1&&n[t(415)]();for(let e=0;e0&&e<=16?(U=r[e-1],R=i[e-1]):255===e&&(U=n[t(403)](16),R=n[t(403)](16))}if(n[t(427)]()&&n[t(427)](),n[t(427)]()){n[t(403)](3),n.readBool(),n.readBool()&&(n.readByte(),n.readByte(),n[t(423)]())}if(n.readBool()&&(n[t(416)](),n[t(416)]()),n[t(427)](),n[t(427)](),n[t(427)](),M=n[t(427)](),M&&(n[t(416)](),n[t(416)](),n[t(416)](),n[t(416)]()),n[t(427)]()){if(O=n[t(403)](32),z=n[t(403)](32),n[t(427)]()&&n[t(416)](),n[t(427)]()){let e=!1,r=!1,i=!1;e=n[t(427)](),r=n.readBool(),(e||r)&&(i=n[t(427)](),i&&(n[t(423)](),n.readBits(5),n.readBool(),n[t(403)](5)),n[t(403)](4),n[t(403)](4),i&&n[t(403)](4),n.readBits(5),n[t(403)](5),n.readBits(5));for(let s=0;s<=c;s++){let s=n[t(427)]();L=s;let o=!0,a=1;!s&&(o=n.readBool());let c=!1;if(o?n[t(416)]():c=n.readBool(),!c&&(a=n[t(416)]()+1),e){for(let e=0;e>6&3,n[t(318)]=e[1]>>5&1,n[t(191)]=31&e[1],n.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[t(186)]=n.general_constraint_indicator_flags<<16|e[10]<<8|e[11],n.general_level_idc=e[12],n.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],n[t(200)]=3&e[15],n[t(276)]=3&e[16],n[t(218)]=7&e[17],n.bitDepthChromaMinus8=7&e[18],n[t(321)]=e[19]<<8|e[20],n[t(221)]=e[21]>>6&3,n[t(299)]=e[21]>>3&7,n.temporalIdNested=e[21]>>2&1,n[t(310)]=3&e[21];let i=e[22],s=e[t(267)](23);for(let e=0;e0)for(let t=r;t<8;t++)e[n(278)](2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i[n(315)]=[],i[n(282)]=[],i[n(201)]=[],i[n(229)]=[],i.sub_layer_non_packed_constraint_flag=[],i[n(272)]=[],i[n(198)]=[];for(let t=0;t{const t=Nr;let r=jr(e),n=new nt(r);return n[t(315)](),n.readByte(),n[t(299)](4),n.readBits(2),n[t(299)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n.readBool()}})(r),a=(e=>{const t=Nr;let r=jr(e),n=new nt(r);n.readByte(),n.readByte();let i=0,s=0,o=0,a=0;n[t(299)](4);let c=n[t(299)](3);n.readBool();let u=n[t(299)](2),l=n[t(306)](),d=n.readBits(5),h=n[t(315)](),f=n[t(315)](),p=n[t(315)](),m=n[t(315)](),v=n.readByte(),y=n[t(315)](),g=n[t(315)](),_=n[t(315)](),w=n.readByte(),b=n[t(315)](),S=n[t(315)](),E=[],k=[];for(let e=0;e0)for(let e=c;e<8;e++)n.readBits(2);for(let e=0;e1&&n.readSEG();for(let e=0;e0&&e<16?(U=r[e-1],R=i[e-1]):255===e&&(U=n[t(299)](16),R=n[t(299)](16))}if(n.readBool()&&n.readBool(),n[t(306)]()&&(n[t(299)](3),n[t(306)](),n[t(306)]()&&(n[t(315)](),n.readByte(),n[t(315)]())),n[t(306)]()&&(n.readUEG(),n.readUEG()),n[t(306)](),n[t(306)](),n[t(306)](),M=n.readBool(),M&&(i+=n[t(308)](),s+=n.readUEG(),o+=n[t(308)](),a+=n[t(308)]()),n.readBool()&&(O=n[t(299)](32),z=n[t(299)](32),n[t(306)]()&&(n[t(308)](),n[t(306)]()))){let e=!1,r=!1,i=!1;e=n.readBool(),r=n[t(306)](),(e||r)&&(i=n[t(306)](),i&&(n[t(315)](),n[t(299)](5),n[t(306)](),n.readBits(5)),n[t(299)](4),n[t(299)](4),i&&n[t(299)](4),n[t(299)](5),n.readBits(5),n[t(299)](5));for(let s=0;s<=c;s++){let s=n[t(306)]();L=s;let o=!1,a=1;!s&&(o=n[t(306)]());let c=!1;if(o?n[t(298)]():c=n[t(306)](),!c&&(cpbcnt=n[t(308)]()+1),e)for(let e=0;e{const t=Nr;let r=jr(e),n=new nt(r);n[t(315)](),n[t(315)](),n[t(308)](),n[t(308)](),n[t(306)](),n[t(306)](),n[t(299)](3),n[t(306)](),n.readBool(),n[t(308)](),n[t(308)](),n[t(298)](),n[t(306)](),n[t(306)](),n.readBool()&&n.readUEG(),n[t(298)](),n.readSEG(),n[t(306)](),n[t(306)](),n[t(306)](),n[t(306)]();let i=n[t(306)](),s=n[t(306)](),o=1;return s&&i?o=0:s?o=3:i&&(o=2),{parallelismType:o}})(n);s=Object[t(287)](s,o,a,c);let u=23+(5+r.byteLength)+(5+i[t(266)])+(5+n[t(266)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(258)])<<6|(s.general_tier_flag?1:0)<<5|31&s[t(191)],l[2]=s[t(237)]||0,l[3]=s[t(306)]||0,l[4]=s[t(193)]||0,l[5]=s[t(231)]||0,l[6]=s[t(307)]||0,l[7]=s[t(288)]||0,l[8]=s[t(257)]||0,l[9]=s[t(294)]||0,l[10]=s[t(210)]||0,l[11]=s[t(263)]||0,l[12]=60,l[13]=240|(3840&s[t(196)])>>8,l[14]=255&s[t(196)],l[15]=252|3&s[t(200)],l[16]=252|3&s[t(185)],l[17]=248|7&s.bit_depth_luma_minus8,l[18]=248|7&s[t(225)],l[19]=0,l[20]=0,l[21]=(3&s[t(240)])<<6|(7&s[t(226)])<<3|(s[t(207)]?1:0)<<2|3,l[22]=3,l[23]=128|Me.vps,l[24]=0,l[25]=1,l[26]=(65280&r.byteLength)>>8,l[27]=(255&r[t(266)])>>0,l[t(187)](r,28),l[23+(5+r.byteLength)+0]=128|Me[t(293)],l[23+(5+r[t(266)])+1]=0,l[23+(5+r[t(266)])+2]=1,l[23+(5+r.byteLength)+3]=(65280&i[t(266)])>>8,l[23+(5+r[t(266)])+4]=(255&i.byteLength)>>0,l[t(187)](i,23+(5+r[t(266)])+5),l[23+(5+r[t(266)]+5+i[t(266)])+0]=128|Me[t(238)],l[23+(5+r[t(266)]+5+i.byteLength)+1]=0,l[23+(5+r[t(266)]+5+i[t(266)])+2]=1,l[23+(5+r[t(266)]+5+i[t(266)])+3]=(65280&n[t(266)])>>8,l[23+(5+r[t(266)]+5+i[t(266)])+4]=(255&n.byteLength)>>0,l[t(187)](n,23+(5+r[t(266)]+5+i.byteLength)+5);const d=[28,0,0,0,0],h=new Uint8Array(d[t(290)]+l[t(266)]);return h[t(187)](d,0),h[t(187)](l,d.length),h}function tn(e,t){const r=Kr;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(266)]>>24&255,n[6]=e[r(266)]>>16&255,n[7]=e.byteLength>>8&255,n[8]=255&e[r(266)];const i=new Uint8Array(n[r(290)]+e[r(266)]);return i[r(187)](n,0),i[r(187)](e,n[r(290)]),i}function rn(e,t){const r=Kr;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n.length+e[r(266)]);return i.set(n,0),i[r(187)](e,n.length),i}function nn(e){return(126&e[0])>>1}function sn(e){return e===Me[Kr(232)]}function on(e){return!((t=e)>=32&&t<=40);var t}function an(e){return e>=16&&e<=21}function cn(e){const t=Kr;if(0===e.length)return!1;const r=nn(e[0]);for(let n=1;n=n[t(266)])return this[t(264)]=!0,n[t(266)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[Yr(295)](){const e=Yr;let t=this[e(323)],r=null;for(;null==r&&!this[e(264)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,o=this.findNextStartCodeOffset(n);this[e(195)]=o,0===s&&(r={type:i,data:t[e(179)](n,o)})}return r}}class ln{constructor(e){const t=Yr;let r=e.data.byteLength;this.type=e[t(208)],this.data=new Uint8Array(4+r),new DataView(this[t(323)][t(305)])[t(234)](0,r),this.data[t(187)](e[t(323)],4)}}var dn=An;!function(e,t){for(var r=An,n=e();;)try{if(544282===-parseInt(r(501))/1*(-parseInt(r(561))/2)+-parseInt(r(542))/3*(-parseInt(r(492))/4)+-parseInt(r(514))/5+-parseInt(r(534))/6*(-parseInt(r(528))/7)+-parseInt(r(515))/8+parseInt(r(511))/9+-parseInt(r(573))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(In);var hn,fn="application/json, text/javascript",pn="text/html",mn=/^(?:text|application)\/xml/i,vn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,gn=/^\s*$/,_n={},wn={},bn="",Sn={type:"GET",beforeSend:En,success:En,error:En,complete:En,context:null,xhr:function(){return new(window[An(551)])},accepts:{json:fn,xml:dn(554),html:pn,text:dn(500),"*":"*/".concat("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:En,contentType:dn(505)};function En(){}var kn=function(e,t){var r=dn;"object"==typeof e&&(t=e,e=void 0);var n=Fn({},t=t||{});for(var i in Sn)void 0===n[i]&&(n[i]=Sn[i]);try{var s={},o=new Promise((function(e,t){var r=An;s[r(539)]=e,s[r(560)]=t}));o.resolve=s.resolve,o[r(560)]=s[r(560)],n.promise=o}catch(e){n[r(487)]={resolve:En,reject:En}}var a=yn.exec(window[r(547)][r(545)].toLowerCase())||[];n.url=((e||n[r(552)]||window[r(547)][r(545)])+"")[r(550)](/#.*$/,"")[r(550)](/^\/\//,a[1]+"//");var c=n[r(552)];!n[r(537)]&&(n[r(537)]=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!==window[r(547)][r(545)]);var u=n.dataType;if("jsonp"===u){if(!/=\?/[r(540)](n.url)){var l=(n[r(512)]||r(526))+"=?";n.url=Pn(n[r(552)],l)}return function(e){var t,r=dn,n=e[r(502)]||r(512)+Ln(),i=window[r(564)][r(580)](r(527)),s={abort:function(){n in window&&(window[n]=En)}},o=window[r(564)][r(485)](r(533))[0]||window.document[r(543)];function a(n){var i=r;window[i(548)](t),s[i(577)](),xn(n[i(569)],s,n[i(569)],e),c()}function c(){var e=r;i[e(575)]?i.clearAttributes():i.onload=i[e(494)]=i[e(549)]=null,i.parentNode&&i[e(576)][e(510)](i),i=null,delete window[n]}return i[r(549)]=function(e){a(e)},window[n]=function(n){window[r(548)](t),Cn(n,s,e),c()},Bn(e),i[r(567)]=e[r(552)][r(550)](/=\?/,"="+n),i.src=Pn(i[r(567)],"_="+(new Date)[r(525)]()),i.async=!0,e[r(495)]&&(i.charset=e[r(495)]),o[r(562)](i,o[r(570)]),e[r(522)]>0&&(t=window[r(498)]((function(){var t=r;s[t(577)](),xn(t(522),s,t(522),e),c()}),e[r(522)])),e[r(487)][r(577)]=function(){s[r(577)]()},e[r(487)][r(538)]=s,e[r(487)]}(n)}Bn(n);var d=n.accepts[u]||n[r(566)]["*"],h={};/^([\w-]+:)\/\//[r(540)](n[r(552)])?RegExp.$1:window.location[r(478)];var f,p=Sn[r(538)]();!n[r(537)]&&!h["X-Requested-With"]&&(h[r(578)]=r(551)),n.ifModified&&(_n[c]&&(h[r(523)]=_n[c]),wn[c]&&(h[r(568)]=wn[c])),d&&(h[r(479)]=d,d.indexOf(",")>-1&&(d=d[r(482)](",",2)[0]),p[r(571)]&&p[r(571)](d));var m=!/^(?:GET|HEAD)$/.test(n[r(569)][r(546)]());if((n.data&&m&&!1!==n.contentType||t[r(565)])&&(h[r(513)]=n[r(565)]),!1===n.cache&&!m){var v=/([?&])_=[^&]*/;n[r(552)]=v[r(540)](c)?c.replace(v,r(493)+Ln()):c+(/\?/[r(540)](c)?"&":"?")+"_="+Ln()}n[r(553)]=Fn(h,n[r(553)]||{}),p[r(494)]=function(){var e,t,i=r;if(4===p[i(483)]){clearTimeout(f);var s,o=!1;if(p[i(499)]>=200&&p[i(499)]<300||304===p[i(499)]){if(bn=p[i(484)](),n[i(563)]){var a=Dn("Last-Modified");a&&(_n[c]=a),(a=Dn("etag"))&&(wn[c]=a)}u=u||(e=p[i(496)]("content-type"),t=dn,e&&(e===pn?"html":e===fn?t(559):mn[t(540)](e)&&"xml")||"text"),s=p.responseText;try{u===i(555)?s=p[i(508)]:"json"===u&&(s=gn[i(540)](s)?null:JSON[i(557)](s))}catch(e){o=e}o?xn(o,i(480),p,n):Cn(s,p,n)}else xn(null,i(489),p,n)}};var y=!(r(520)in n)||n.async;if(p[r(532)](n[r(569)],n[r(552)],y,n[r(488)],n[r(524)]),n.xhrFields)for(var g in n[r(503)])p[g]=n.xhrFields[g];for(var g in n[r(486)]&&p[r(571)]&&p[r(571)](n.mimeType),n[r(553)])void 0!==n[r(553)][g]&&p[r(518)](g,n[r(553)][g]+"");return!1===function(e,t){var r=dn,n=t[r(497)];if(!1===t[r(530)][r(516)](n,e,t))return!1}(p,n)?(p[r(577)](),!1):(n[r(522)]>0&&(f=window[r(498)]((function(){p.onreadystatechange=En,p.abort(),xn(null,"timeout",p,n)}),n[r(522)])),p.send(n[r(481)]?n[r(481)]:null),n[r(487)][r(577)]=function(){p.abort()},n[r(487)])};function In(){var e=["username","error","POST","prototype","96000GrnMen","$1_=","onreadystatechange","scriptCharset","getResponseHeader","context","setTimeout","status","text/plain","193366fftlOT","jsonpCallback","xhrFields","post","application/x-www-form-urlencoded; charset=UTF-8","getJSON","success","responseXML","push","removeChild","5832864nKjhvY","jsonp","Content-Type","301665XiRPIC","3110064MOmZsW","call","value","setRequestHeader","get","async","add","timeout","If-Modified-Since","password","getTime","callback","script","595yaUaOW","GET","beforeSend","complete","open","head","6642VfCoRw","toLowerCase","slice","crossDomain","xhr","resolve","test","function","57csgqCA","documentElement","exec","href","toUpperCase","location","clearTimeout","onerror","replace","XMLHttpRequest","url","headers","application/xml, text/xml","xml","toString","parse","length","json","reject","2xfkziI","insertBefore","ifModified","document","contentType","accepts","src","If-None-Match","type","firstChild","overrideMimeType","object","3981840IVtsOP","%20","clearAttributes","parentNode","abort","X-Requested-With","[object Array]","createElement","protocol","Accept","parseerror","data","split","readyState","getAllResponseHeaders","getElementsByTagName","mimeType","promise"];return(In=function(){return e})()}function An(e,t){var r=In();return(An=function(e,t){return r[e-=478]})(e,t)}function Cn(e,t,r){var n=dn,i=r[n(497)],s=n(507);r[n(507)][n(516)](i,e,s,t),r[n(487)][n(539)](e,s,t),Tn(s,t,r)}function Tn(e,t,r){var n=dn,i=r.context;r[n(531)][n(516)](i,t,e)}function xn(e,t,r,n){var i=dn,s=n[i(497)];n[i(489)][i(516)](s,r,t,e),n.promise.reject(r,t,e),Tn(t,r,n)}function Dn(e){var t,r=dn;if(!hn){for(hn={};t=vn[r(544)](bn);)hn[t[1][r(535)]()]=t[2];t=hn[e[r(535)]()]}return null===t?null:t}function Pn(e,t){return(e+"&"+t).replace(/[&?]{1,2}/,"?")}function Bn(e){var t,r,n,i,s=dn;Un(e)&&!(e[s(481)]instanceof FormData)&&e.processData&&(e[s(481)]=(t=e[s(481)],n=dn,(i=[]).add=function(e,t){this[An(509)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Mn(i,t,r),i.join("&")[n(550)](n(574),"+"))),e[s(481)]&&(!e[s(569)]||e[s(569)].toUpperCase()===s(529))&&(e[s(552)]=Pn(e[s(552)],e[s(481)]))}function Mn(e,t,r,n){var i,s,o=dn,a=(i=t,s=dn,Object.prototype[s(556)][s(516)](i)===s(579));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(a?"":c)+"]"),!n&&a?e[o(521)](u.name,u[o(517)]):(r?a(u):Un(u))?Mn(e,u,r,c):e[o(521)](c,u)}}function Fn(e){for(var t=dn,r=Array[t(491)][t(536)],n=r[t(516)](arguments,1),i=0,s=n[t(558)];i255)return!1;return!0}function Hn(e,t){var r=vi;if(e.buffer&&e[r(329)]===r(363))return t&&(e=e[r(348)]?e[r(348)]():Array.prototype[r(348)][r(360)](e)),e;if(Array.isArray(e)){if(!jn(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(zn(e.length)&&jn(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function Wn(e){return new Uint8Array(e)}function Vn(e,t,r,n,i){var s=vi;(null!=n||null!=i)&&(e=e.slice?e[s(348)](n,i):Array[s(334)][s(348)][s(360)](e,n,i)),t[s(341)](e,r)}!function(e,t){for(var r=vi,n=e();;)try{if(245158===parseInt(r(389))/1*(-parseInt(r(336))/2)+parseInt(r(353))/3+-parseInt(r(358))/4+-parseInt(r(338))/5+-parseInt(r(370))/6*(-parseInt(r(352))/7)+parseInt(r(388))/8*(parseInt(r(331))/9)+parseInt(r(344))/10*(parseInt(r(327))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Nn);var $n,Gn,qn={toBytes:function(e){var t=vi,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(356)](String[t(376)]((31&i)<<6|63&e[n+1])),n+=2):(r[t(356)](String.fromCharCode((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r[t(385)]("")}},Yn=(Gn=($n=vi)(351),{toBytes:function(e){for(var t=vi,r=[],n=0;n>4]+Gn[15&i])}return r[t(385)]("")}}),Kn={16:10,24:12,32:14},Xn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Jn=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Zn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Qn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],ei=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ti=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],ri=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ni=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],ii=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],si=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],oi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ai=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ci=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ui=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],li=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function di(e){for(var t=vi,r=[],n=0;n>2,this[e(342)][n][r%4]=o[r],this[e(343)][t-n][r%4]=o[r];for(var a,c=0,u=s;u>16&255]<<24^Jn[a>>8&255]<<16^Jn[255&a]<<8^Jn[a>>24&255]^Xn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Jn[a>>16&255]<<16^Jn[a>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this[e(342)][l][d]=o[r],this[e(343)][t-l][d]=o[r++],u++}for(var l=1;l>24&255]^ci[a>>16&255]^ui[a>>8&255]^li[255&a]},hi[On(334)].encrypt=function(e){var t=On;if(16!=e.length)throw new Error(t(382));for(var r=this[t(342)][t(337)]-1,n=[0,0,0,0],i=di(e),s=0;s<4;s++)i[s]^=this[t(342)][0][s];for(var o=1;o>24&255]^ei[i[(s+1)%4]>>16&255]^ti[i[(s+2)%4]>>8&255]^ri[255&i[(s+3)%4]]^this[t(342)][o][s];i=n[t(348)]()}var a,c=Wn(16);for(s=0;s<4;s++)a=this[t(342)][r][s],c[4*s]=255&(Jn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Jn[i[(s+1)%4]>>16&255]^a>>16),c[4*s+2]=255&(Jn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Jn[255&i[(s+3)%4]]^a);return c},hi[On(334)][On(383)]=function(e){var t=On;if(16!=e[t(337)])throw new Error(t(324));for(var r=this[t(343)][t(337)]-1,n=[0,0,0,0],i=di(e),s=0;s<4;s++)i[s]^=this[t(343)][0][s];for(var o=1;o>24&255]^ii[i[(s+3)%4]>>16&255]^si[i[(s+2)%4]>>8&255]^oi[255&i[(s+1)%4]]^this[t(343)][o][s];i=n.slice()}var a,c=Wn(16);for(s=0;s<4;s++)a=this._Kd[r][s],c[4*s]=255&(Zn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Zn[i[(s+3)%4]>>16&255]^a>>16),c[4*s+2]=255&(Zn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Zn[255&i[(s+1)%4]]^a);return c};var fi=function(e){var t=On;if(!(this instanceof fi))throw Error("AES must be instanitated with `new`");this.description=t(347),this[t(329)]="ecb",this[t(373)]=new hi(e)};fi[On(334)][On(387)]=function(e){var t=On;if((e=Hn(e))[t(337)]%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var r=Wn(e[t(337)]),n=Wn(16),i=0;iNumber[t(335)])throw new Error("integer value out of safe range");for(var r=15;r>=0;--r)this[t(364)][r]=e%256,e=parseInt(e/256)},gi[On(334)].setBytes=function(e){var t=On;if(16!=(e=Hn(e,!0))[t(337)])throw new Error(t(365));this._counter=e},gi[On(334)][On(386)]=function(){for(var e=On,t=15;t>=0;t--){if(255!==this[e(364)][t]){this[e(364)][t]++;break}this[e(364)][t]=0}};var _i=function(e,t){var r=On;if(!(this instanceof _i))throw Error("AES must be instanitated with `new`");this[r(328)]="Counter",this[r(329)]="ctr",!(t instanceof gi)&&(t=new gi(t)),this[r(364)]=t,this[r(361)]=null,this[r(362)]=16,this._aes=new hi(e)};_i[On(334)].encrypt=function(e){for(var t=On,r=Hn(e,!0),n=0;n16)throw new Error(t(339));for(var n=e[t(337)]-r,i=0;i>>2]>>>24-a%4*8&255;r[s+a>>>2]|=c<<24-(s+a)%4*8}else for(var u=0;u>>2]=n[u>>>2];return this.sigBytes+=o,this},clamp:function(){var t=i,r=this[t(211)],n=this[t(186)];r[n>>>2]&=4294967295<<32-n%4*8,r.length=e.ceil(n/4)},clone:function(){var e=i,t=u[e(146)].call(this);return t[e(211)]=this[e(211)][e(152)](0),t},random:function(e){for(var t=i,r=[],n=0;n>>2]>>>24-o%4*8&255;s[t(190)]((a>>>4)[t(206)](16)),s.push((15&a)[t(206)](16))}return s[t(175)]("")},parse:function(e){for(var t=i,r=e[t(156)],n=[],s=0;s>>3]|=parseInt(e[t(180)](s,2),16)<<24-s%8*4;return new l.init(n,r/2)}},f=d.Latin1={stringify:function(e){for(var t=i,r=e.words,n=e[t(186)],s=[],o=0;o>>2]>>>24-o%4*8&255;s[t(190)](String[t(165)](a))}return s[t(175)]("")},parse:function(e){for(var t=i,r=e[t(156)],n=[],s=0;s>>2]|=(255&e[t(177)](s))<<24-s%4*8;return new(l[t(197)])(n,r)}},p=d[i(200)]={stringify:function(e){var t=i;try{return decodeURIComponent(escape(f[t(193)](e)))}catch(e){throw new Error(t(150))}},parse:function(e){return f[i(170)](unescape(encodeURIComponent(e)))}},m=c[i(148)]=u[i(147)]({reset:function(){var e=i;this._data=new(l[e(197)]),this[e(171)]=0},_append:function(e){var t=i;typeof e==t(198)&&(e=p[t(170)](e)),this[t(174)][t(166)](e),this._nDataBytes+=e[t(186)]},_process:function(t){var r,n=i,s=this._data,o=s.words,a=s.sigBytes,c=this[n(194)],u=a/(4*c),d=(u=t?e[n(168)](u):e.max((0|u)-this[n(203)],0))*c,h=e[n(145)](4*d,a);if(d){for(var f=0;f>>2]|=e[o]<<24-o%4*8;n[r(327)](this,s,i)}else n[r(328)](this,arguments)};i.prototype=r}}(),e[t(343)][t(335)]},"object"===(i=Ti)(337)?e[i(341)]=n(Ei):"undefined"===i(344)&&(void 0)[i(339)]?(void 0)([i(334)],n):n(r[i(331)])}));var Di=Pi;function Pi(e,t){var r=Bi();return(Pi=function(e,t){return r[e-=281]})(e,t)}function Bi(){var e=["Utf16LE","Utf16BE","4274970KmVdyy","392433rFAYEG","commonjsGlobal","join","1325145ACmnzs","39431bjyfOS","9zGKcwK","charCodeAt","1392CsOcab","7620Ddetdn","33665247INaOsi","./core","amd","function","9952680HLgDYK","exports","1784PqXWQx","WordArray","createCommonjsModule","length","create","lib","push","sigBytes","words","Utf16","enc","fromCharCode","8TsdTkZ","object"];return(Bi=function(){return e})()}!function(e,t){for(var r=Pi,n=e();;)try{if(897110===-parseInt(r(302))/1+parseInt(r(294))/2*(-parseInt(r(299))/3)+-parseInt(r(282))/4*(parseInt(r(307))/5)+-parseInt(r(306))/6*(parseInt(r(303))/7)+parseInt(r(312))/8*(parseInt(r(304))/9)+parseInt(r(298))/10+parseInt(r(308))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Bi);Qe[Di(284)]((function(e,t){var r,n,i,s=Di;r=Qe[s(300)],n=function(e){var t=s;return function(){var t=Pi,r=e,n=r[t(287)][t(283)],i=r[t(292)];function s(e){return e<<8&4278255360|e>>>8&16711935}i[t(291)]=i[t(297)]={stringify:function(e){for(var r=t,n=e[r(290)],i=e[r(289)],s=[],o=0;o>>2]>>>16-o%4*8&65535;s[r(288)](String[r(293)](a))}return s[r(301)]("")},parse:function(e){for(var r=t,i=e.length,s=[],o=0;o>>1]|=e[r(305)](o)<<16-o%2*16;return n[r(286)](s,2*i)}},i[t(296)]={stringify:function(e){for(var r=t,n=e[r(290)],i=e[r(289)],o=[],a=0;a>>2]>>>16-a%4*8&65535);o[r(288)](String[r(293)](c))}return o[r(301)]("")},parse:function(e){for(var r=t,i=e[r(285)],o=[],a=0;a>>1]|=s(e[r(305)](a)<<16-a%2*16);return n[r(286)](o,2*i)}}}(),e[t(292)].Utf16},(i=Pi)(295)==i(295)?e[i(281)]=n(Ei):"undefined"===i(311)&&(void 0)[i(310)]?(void 0)([i(309)],n):n(r.CryptoJS)}));var Mi=Fi;!function(e,t){for(var r=Fi,n=e();;)try{if(332147===-parseInt(r(135))/1+-parseInt(r(131))/2*(-parseInt(r(149))/3)+parseInt(r(148))/4+-parseInt(r(154))/5*(parseInt(r(155))/6)+-parseInt(r(145))/7+parseInt(r(139))/8*(-parseInt(r(150))/9)+parseInt(r(126))/10*(-parseInt(r(132))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ui);Qe[Mi(134)]((function(e,t){var r,n,i,s=Mi;r=Qe[s(129)],n=function(e){var t,r,n,i=s;return t=Fi,n=(r=e).lib[t(141)],r[t(140)][t(142)]={stringify:function(e){var r=t,n=e.words,i=e.sigBytes,s=this._map;e.clamp();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(n[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|n[a+2>>>2]>>>24-(a+2)%4*8&255,u=0;u<4&&a+.75*u>>6*(3-u)&63));var l=s[r(137)](64);if(l)for(;o[r(144)]%4;)o[r(130)](l);return o[r(136)]("")},parse:function(e){var r=t,i=e[r(144)],s=this[r(143)],o=this[r(151)];if(!o){o=this[r(151)]=[];for(var a=0;a>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n[s(152)](o,a)}(e,i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},e[i(140)][i(142)]},(i=Fi)(153)==i(153)?e[i(133)]=n(Ei):"undefined"===i(127)&&(void 0)[i(138)]?(void 0)([i(146)],n):n(r[i(147)])}));function Fi(e,t){var r=Ui();return(Fi=function(e,t){return r[e-=126]})(e,t)}function Ui(){var e=["8412KrmhhW","380840yNYWii","function","charCodeAt","commonjsGlobal","push","12QXSlRV","55jLVcyz","exports","createCommonjsModule","29617mqzfWq","join","charAt","amd","200cIWthT","enc","WordArray","Base64","_map","length","1490272QppDgP","./core","CryptoJS","2621716WnyNmw","181860rpoPVK","4653gqcXFf","_reverseMap","create","object","860HWzOdu"];return(Ui=function(){return e})()}function Ri(){var e=["clamp","amd","2114982cNOQmz","length","push","function","27vpdXAl","_map","exports","charCodeAt","createCommonjsModule","charAt","21953dAiGqV","1166784rfeKOY","WordArray","8748050ThFnxX","2966376afNBRr","enc","./core","CryptoJS","Base64url","6SibGdM","6862255QTscgN","3120420XJBGOb","join","indexOf","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","commonjsGlobal","6PAafUv","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","_reverseMap","words","sigBytes","lib"];return(Ri=function(){return e})()}var Li=Oi;function Oi(e,t){var r=Ri();return(Oi=function(e,t){return r[e-=244]})(e,t)}!function(e,t){for(var r=Oi,n=e();;)try{if(691600===-parseInt(r(268))/1*(parseInt(r(277))/2)+-parseInt(r(258))/3+parseInt(r(245))/4+-parseInt(r(244))/5+-parseInt(r(250))/6*(parseInt(r(272))/7)+-parseInt(r(269))/8+-parseInt(r(262))/9*(-parseInt(r(271))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ri);Qe[Li(266)]((function(e,t){var r,n,i=Li;Qe[i(249)],e[Oi(264)]=(r=Ei,n=i,function(){var e=Oi,t=r,n=t[e(255)][e(270)];function i(t,r,i){for(var s=e,o=[],a=0,c=0;c>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n.create(o,a)}t[e(273)].Base64url={stringify:function(t,r){var n=e;void 0===r&&(r=!0);var i=t[n(253)],s=t[n(254)],o=r?this._safe_map:this._map;t[n(256)]();for(var a=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=o.charAt(64);if(d)for(;a[n(259)]%4;)a[n(260)](d);return a[n(246)]("")},parse:function(t,r){var n=e;void 0===r&&(r=!0);var s=t[n(259)],o=r?this._safe_map:this[n(263)],a=this[n(252)];if(!a){a=this[n(252)]=[];for(var c=0;c>>24)|4278255360&(o<<24|o>>>8)}var a=this[n(454)][n(471)],u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],y=e[t+4],g=e[t+5],_=e[t+6],w=e[t+7],b=e[t+8],S=e[t+9],E=e[t+10],k=e[t+11],I=e[t+12],A=e[t+13],C=e[t+14],T=e[t+15],x=a[0],D=a[1],P=a[2],B=a[3];x=l(x,D,P,B,u,7,c[0]),B=l(B,x,D,P,p,12,c[1]),P=l(P,B,x,D,m,17,c[2]),D=l(D,P,B,x,v,22,c[3]),x=l(x,D,P,B,y,7,c[4]),B=l(B,x,D,P,g,12,c[5]),P=l(P,B,x,D,_,17,c[6]),D=l(D,P,B,x,w,22,c[7]),x=l(x,D,P,B,b,7,c[8]),B=l(B,x,D,P,S,12,c[9]),P=l(P,B,x,D,E,17,c[10]),D=l(D,P,B,x,k,22,c[11]),x=l(x,D,P,B,I,7,c[12]),B=l(B,x,D,P,A,12,c[13]),P=l(P,B,x,D,C,17,c[14]),x=d(x,D=l(D,P,B,x,T,22,c[15]),P,B,p,5,c[16]),B=d(B,x,D,P,_,9,c[17]),P=d(P,B,x,D,k,14,c[18]),D=d(D,P,B,x,u,20,c[19]),x=d(x,D,P,B,g,5,c[20]),B=d(B,x,D,P,E,9,c[21]),P=d(P,B,x,D,T,14,c[22]),D=d(D,P,B,x,y,20,c[23]),x=d(x,D,P,B,S,5,c[24]),B=d(B,x,D,P,C,9,c[25]),P=d(P,B,x,D,v,14,c[26]),D=d(D,P,B,x,b,20,c[27]),x=d(x,D,P,B,A,5,c[28]),B=d(B,x,D,P,m,9,c[29]),P=d(P,B,x,D,w,14,c[30]),x=h(x,D=d(D,P,B,x,I,20,c[31]),P,B,g,4,c[32]),B=h(B,x,D,P,b,11,c[33]),P=h(P,B,x,D,k,16,c[34]),D=h(D,P,B,x,C,23,c[35]),x=h(x,D,P,B,p,4,c[36]),B=h(B,x,D,P,y,11,c[37]),P=h(P,B,x,D,w,16,c[38]),D=h(D,P,B,x,E,23,c[39]),x=h(x,D,P,B,A,4,c[40]),B=h(B,x,D,P,u,11,c[41]),P=h(P,B,x,D,v,16,c[42]),D=h(D,P,B,x,_,23,c[43]),x=h(x,D,P,B,S,4,c[44]),B=h(B,x,D,P,I,11,c[45]),P=h(P,B,x,D,T,16,c[46]),x=f(x,D=h(D,P,B,x,m,23,c[47]),P,B,u,6,c[48]),B=f(B,x,D,P,w,10,c[49]),P=f(P,B,x,D,C,15,c[50]),D=f(D,P,B,x,g,21,c[51]),x=f(x,D,P,B,I,6,c[52]),B=f(B,x,D,P,v,10,c[53]),P=f(P,B,x,D,E,15,c[54]),D=f(D,P,B,x,p,21,c[55]),x=f(x,D,P,B,b,6,c[56]),B=f(B,x,D,P,T,10,c[57]),P=f(P,B,x,D,_,15,c[58]),D=f(D,P,B,x,A,21,c[59]),x=f(x,D,P,B,y,6,c[60]),B=f(B,x,D,P,k,10,c[61]),P=f(P,B,x,D,m,15,c[62]),D=f(D,P,B,x,S,21,c[63]),a[0]=a[0]+x|0,a[1]=a[1]+D|0,a[2]=a[2]+P|0,a[3]=a[3]+B|0},_doFinalize:function(){var e=r,n=this[e(449)],i=n.words,s=8*this[e(470)],o=8*n[e(439)];i[o>>>5]|=128<<24-o%32;var a=t.floor(s/4294967296),c=s;i[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(o+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n[e(439)]=4*(i[e(455)]+1),this[e(458)]();for(var u=this[e(454)],l=u.words,d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return u},clone:function(){var e=r,t=o[e(462)].call(this);return t[e(454)]=this[e(454)][e(462)](),t}});function l(e,t,r,n,i,s,o){var a=e+(t&r|~t&n)+i+o;return(a<>>32-s)+t}function d(e,t,r,n,i,s,o){var a=e+(t&n|r&~n)+i+o;return(a<>>32-s)+t}function h(e,t,r,n,i,s,o){var a=e+(t^r^n)+i+o;return(a<>>32-s)+t}function f(e,t,r,n,i,s,o){var a=e+(r^(t|~n))+i+o;return(a<>>32-s)+t}n[r(467)]=o[r(466)](u),n[r(469)]=o[r(443)](u)}(Math),e[t(467)]},(i=ji)(442)==i(442)?e[i(446)]=n(Ei):n(r[i(451)])}));function Hi(e,t){var r=Wi();return(Hi=function(e,t){return r[e-=443]})(e,t)}function Wi(){var e=["SHA1","485pMJQEZ","algo","amd","call","floor","1976766GXttpS","227286IOkgqp","clone","2633484QQkdFT","words","sigBytes","_data","1669328ltrUAp","_hash","object","extend","function","652020WJqDZq","WordArray","_nDataBytes","length","commonjsGlobal","892HnDVuG","797716ZuQSjr","init"];return(Wi=function(){return e})()}!function(e,t){for(var r=Hi,n=e();;)try{if(205366===-parseInt(r(459))/1+parseInt(r(450))/2+parseInt(r(444))/3+parseInt(r(449))/4*(-parseInt(r(453))/5)+-parseInt(r(458))/6+parseInt(r(461))/7+-parseInt(r(465))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Wi);Ze((function(e,t){var r,n,i,s=Hi;r=Qe[s(448)],n=function(e){var t,r,n,i,o,a,c,u,l=s;return t=Hi,n=(r=e).lib,i=n[t(445)],o=n.Hasher,a=r[t(454)],c=[],u=a[t(452)]=o[t(468)]({_doReset:function(){var e=t;this._hash=new(i[e(451)])([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(466)][n(462)],s=i[0],o=i[1],a=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)c[d]=0|e[r+d];else{var h=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=h<<1|h>>>31}var f=(s<<5|s>>>27)+l+c[d];f+=d<20?1518500249+(o&a|~o&u):d<40?1859775393+(o^a^u):d<60?(o&a|o&u|a&u)-1894007588:(o^a^u)-899497514,l=u,u=a,a=o<<30|o>>>2,o=s,s=f}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(464)],n=r[e(462)],i=8*this[e(446)],s=8*r[e(463)];return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math[e(457)](i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(463)]=4*n[e(447)],this._process(),this._hash},clone:function(){var e=t,r=o[e(460)][e(456)](this);return r[e(466)]=this[e(466)][e(460)](),r}}),r[t(452)]=o._createHelper(u),r.HmacSHA1=o._createHmacHelper(u),e[l(452)]},(i=Hi)(467)==i(467)?e.exports=n(Ei):"undefined"===i(443)&&(void 0)[i(455)]?(void 0)(["./core"],n):n(r.CryptoJS)}));var Vi=Gi;function $i(){var e=["slice","sigBytes","_hash","7WlMKCo","_createHelper","_data","extend","4687524RVYhkk","Hasher","WordArray","./core","506262TgDuKz","_nDataBytes","length","88525HhYAvu","function","object","call","exports","1183374YLZKCd","init","floor","createCommonjsModule","2308596SUNVtN","148QmfScd","sqrt","1601796gYKVkr","words","SHA256","8182688xkvHzx"];return($i=function(){return e})()}function Gi(e,t){var r=$i();return(Gi=function(e,t){return r[e-=481]})(e,t)}!function(e,t){for(var r=Gi,n=e();;)try{if(731032===parseInt(r(507))/1+parseInt(r(481))/2+-parseInt(r(484))/3+parseInt(r(482))/4*(-parseInt(r(502))/5)+parseInt(r(499))/6*(parseInt(r(491))/7)+-parseInt(r(487))/8+parseInt(r(495))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($i);Qe[Vi(510)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Gi;return function(t){var r=Gi,n=e,i=n.lib,s=i[r(497)],o=i[r(496)],a=n.algo,c=[],u=[];!function(){function e(e){for(var r=t[Gi(483)](e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)e(n)&&(i<8&&(c[i]=r(t.pow(n,.5))),u[i]=r(t.pow(n,1/3)),i++),n++}();var l=[],d=a[r(486)]=o[r(494)]({_doReset:function(){var e=r;this[e(490)]=new(s[e(508)])(c[e(488)](0))},_doProcessBlock:function(e,t){for(var n=this[r(490)].words,i=n[0],s=n[1],o=n[2],a=n[3],c=n[4],d=n[5],h=n[6],f=n[7],p=0;p<64;p++){if(p<16)l[p]=0|e[t+p];else{var m=l[p-15],v=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,y=l[p-2],g=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[p]=v+l[p-7]+g+l[p-16]}var _=i&s^i&o^s&o,w=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=f+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&d^~c&h)+u[p]+l[p];f=h,h=d,d=c,c=a+b|0,a=o,o=s,s=i,i=b+(w+_)|0}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+o|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0,n[5]=n[5]+d|0,n[6]=n[6]+h|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=r,n=this[e(493)],i=n[e(485)],s=8*this[e(500)],o=8*n[e(489)];return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t[e(509)](s/4294967296),i[15+(o+64>>>9<<4)]=s,n[e(489)]=4*i[e(501)],this._process(),this[e(490)]},clone:function(){var e=r,t=o.clone[e(505)](this);return t[e(490)]=this[e(490)].clone(),t}});n[r(486)]=o[r(492)](d),n.HmacSHA256=o._createHmacHelper(d)}(Math),e[t(486)]},(i=Gi)(504)==i(504)?e[i(506)]=n(Ei):"undefined"===i(503)&&(void 0).amd?(void 0)([i(498)],n):n(r.CryptoJS)}));var qi=Ki;function Yi(){var e=["lib","call","./core","SHA224","11nFRWel","_createHelper","18MPlmWs","2272AdnRTQ","./sha256","_createHmacHelper","function","SHA256","13736076RsVZCf","182907lhkvNX","51BwvoEc","2416910PcbBXP","amd","39qLDQYl","8FkTnKw","init","_doFinalize","commonjsGlobal","createCommonjsModule","12879290QRMgzt","exports","_hash","13537664PYecrU","object","sigBytes","172924TGQWaK","algo","362yWHxPd"];return(Yi=function(){return e})()}!function(e,t){for(var r=Ki,n=e();;)try{if(993832===parseInt(r(261))/1*(parseInt(r(253))/2)+-parseInt(r(236))/3*(parseInt(r(251))/4)+-parseInt(r(237))/5*(parseInt(r(260))/6)+-parseInt(r(248))/7+parseInt(r(240))/8*(-parseInt(r(235))/9)+parseInt(r(245))/10*(parseInt(r(258))/11)+-parseInt(r(234))/12*(-parseInt(r(239))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Yi);Qe[qi(244)]((function(e,t){var r,n,i,s=qi;r=Qe[s(243)],n=function(e){var t,r,n,i,o,a,c=s;return n=(r=e)[(t=Ki)(254)].WordArray,i=r[t(252)],o=i[t(233)],a=i.SHA224=o.extend({_doReset:function(){var e=t;this[e(247)]=new(n[e(241)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=o[e(242)][e(255)](this);return r[e(250)]-=4,r}}),r.SHA224=o[t(259)](a),r.HmacSHA224=o[t(263)](a),e[c(257)]},(i=Ki)(249)==i(249)?e[i(246)]=n(Ei):"undefined"===i(232)&&(void 0)[i(238)]?(void 0)([i(256),i(262)],n):n(r.CryptoJS)}));function Ki(e,t){var r=Yi();return(Ki=function(e,t){return r[e-=232]})(e,t)}var Xi=Ji;!function(e,t){for(var r=Ji,n=e();;)try{if(690039===parseInt(r(439))/1*(-parseInt(r(406))/2)+parseInt(r(438))/3*(-parseInt(r(435))/4)+-parseInt(r(423))/5*(-parseInt(r(427))/6)+-parseInt(r(400))/7+parseInt(r(433))/8+-parseInt(r(429))/9+parseInt(r(422))/10*(parseInt(r(425))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zi);Qe[Xi(415)]((function(e,t){var r,n,i,s=Xi;r=Qe[s(398)],n=function(e){var t=s;return function(){var t=Ji,r=e,n=r[t(424)][t(431)],i=r[t(416)],s=i[t(418)],o=i[t(401)],a=r[t(436)];function c(){var e=t;return s[e(426)][e(399)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=a.SHA512=n[t(413)]({_doReset:function(){var e=t;this._hash=new(o[e(402)])([new(s[e(402)])(1779033703,4089235720),new(s[e(402)])(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new(s[e(402)])(1359893119,2917565137),new(s[e(402)])(2600822924,725511199),new(s[e(402)])(528734635,4215389547),new(s[e(402)])(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this._hash[n(428)],s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=s[n(404)],v=s.low,y=o.high,g=o[n(408)],_=a[n(404)],w=a[n(408)],b=c[n(404)],S=c[n(408)],E=d[n(404)],k=d[n(408)],I=h.high,A=h[n(408)],C=f.high,T=f.low,x=p.high,D=p.low,P=m,B=v,M=y,F=g,U=_,R=w,L=b,O=S,z=E,N=k,j=I,H=A,W=C,V=T,$=x,G=D,q=0;q<80;q++){var Y,K,X=l[q];if(q<16)K=X[n(404)]=0|e[r+2*q],Y=X.low=0|e[r+2*q+1];else{var J=l[q-15],Z=J[n(404)],Q=J[n(408)],ee=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^Z>>>7,te=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^(Q>>>7|Z<<25),re=l[q-2],ne=re[n(404)],ie=re[n(408)],se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,oe=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),ae=l[q-7],ce=ae[n(404)],ue=ae.low,le=l[q-16],de=le.high,he=le[n(408)];K=(K=(K=ee+ce+((Y=te+ue)>>>0>>0?1:0))+se+((Y+=oe)>>>0>>0?1:0))+de+((Y+=he)>>>0>>0?1:0),X[n(404)]=K,X[n(408)]=Y}var fe,pe=z&j^~z&W,me=N&H^~N&V,ve=P&M^P&U^M&U,ye=B&F^B&R^F&R,ge=(P>>>28|B<<4)^(P<<30|B>>>2)^(P<<25|B>>>7),_e=(B>>>28|P<<4)^(B<<30|P>>>2)^(B<<25|P>>>7),we=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),be=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),Se=u[q],Ee=Se.high,ke=Se.low,Ie=$+we+((fe=G+be)>>>0>>0?1:0),Ae=_e+ye;$=W,G=V,W=j,V=H,j=z,H=N,z=L+(Ie=(Ie=(Ie=Ie+pe+((fe+=me)>>>0>>0?1:0))+Ee+((fe+=ke)>>>0>>0?1:0))+K+((fe+=Y)>>>0>>0?1:0))+((N=O+fe|0)>>>0>>0?1:0)|0,L=U,O=R,U=M,R=F,M=P,F=B,P=Ie+(ge+ve+(Ae>>>0<_e>>>0?1:0))+((B=fe+Ae|0)>>>0>>0?1:0)|0}v=s[n(408)]=v+B,s.high=m+P+(v>>>0>>0?1:0),g=o[n(408)]=g+F,o[n(404)]=y+M+(g>>>0>>0?1:0),w=a[n(408)]=w+R,a[n(404)]=_+U+(w>>>0>>0?1:0),S=c[n(408)]=S+O,c[n(404)]=b+L+(S>>>0>>0?1:0),k=d[n(408)]=k+N,d.high=E+z+(k>>>0>>0?1:0),A=h[n(408)]=A+H,h[n(404)]=I+j+(A>>>0>>0?1:0),T=f[n(408)]=T+V,f[n(404)]=C+W+(T>>>0>>0?1:0),D=p[n(408)]=D+G,p[n(404)]=x+$+(D>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this[e(405)],n=r[e(428)],i=8*this[e(417)],s=8*r.sigBytes;return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(414)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(421)]=4*n.length,this[e(441)](),this._hash.toX32()},clone:function(){var e=t,r=n[e(403)][e(409)](this);return r[e(412)]=this[e(412)][e(403)](),r},blockSize:32});r[t(430)]=n[t(437)](d),r[t(407)]=n[t(434)](d)}(),e[t(430)]},(i=Ji)(420)==i(420)?e[i(411)]=n(Ei):"undefined"===i(432)&&(void 0)[i(440)]?(void 0)([i(410),i(419)],n):n(r.CryptoJS)}));function Ji(e,t){var r=Zi();return(Ji=function(e,t){return r[e-=398]})(e,t)}function Zi(){var e=["algo","_createHelper","21yLbfmV","1ymbfmm","amd","_process","commonjsGlobal","apply","2365797suEdgL","WordArray","init","clone","high","_data","2476202ZRfPwx","HmacSHA512","low","call","./core","exports","_hash","extend","floor","createCommonjsModule","x64","_nDataBytes","Word","./x64-core","object","sigBytes","150SJitDw","2143745uVUBkL","lib","1956097yqYepD","create","6vuWVgz","words","6675192QbQihB","SHA512","Hasher","function","3687984fjRrvC","_createHmacHelper","313916kDZjwC"];return(Zi=function(){return e})()}var Qi=es;function es(e,t){var r=ts();return(es=function(e,t){return r[e-=141]})(e,t)}function ts(){var e=["x64","WordArray","_hash","object","3996769bzdKLe","algo","createCommonjsModule","161875qeQTgn","exports","1654520nzGFzn","init","./core","CryptoJS","186wGLnkV","./sha512","88422jwClGf","SHA384","call","816570OMPUnP","HmacSHA384","_createHelper","_doFinalize","./x64-core","4884327qvvbEk","_createHmacHelper","12334824Pgsgsd","6kyttjN","amd"];return(ts=function(){return e})()}!function(e,t){for(var r=es,n=e();;)try{if(808658===parseInt(r(166))/1+parseInt(r(141))/2*(parseInt(r(149))/3)+parseInt(r(160))/4+parseInt(r(158))/5*(parseInt(r(164))/6)+parseInt(r(155))/7+-parseInt(r(148))/8+-parseInt(r(146))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ts);Qe[Qi(157)]((function(e,t){var r,n,i;r=Je,n=function(e){var t,r,n,i,s,o,a,c,u=es;return n=(r=e)[(t=es)(151)],i=n.Word,s=n[t(152)],o=r[t(156)],a=o.SHA512,c=o.SHA384=a.extend({_doReset:function(){var e=t;this[e(153)]=new(s[e(161)])([new(i[e(161)])(3418070365,3238371032),new(i[e(161)])(1654270250,914150663),new(i[e(161)])(2438529370,812702999),new(i[e(161)])(355462360,4144912697),new(i[e(161)])(1731405415,4290775857),new i.init(2394180231,1750603025),new(i[e(161)])(3675008525,1694076839),new(i[e(161)])(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=a[e(144)][e(168)](this);return r.sigBytes-=16,r}}),r[t(167)]=a[t(143)](c),r[t(142)]=a[t(147)](c),e[u(167)]},(i=es)(154)==i(154)?e[i(159)]=n(Ei):n(r[i(163)])}));var rs=is;function ns(){var e=["function","outputLength","SHA3","cfg","ceil","./x64-core","1297936ipgLiq","683414VYLtSw","slice","call","words","_state","init","algo","1980747gCWfxg","clone","createCommonjsModule","commonjsGlobal","207587PYnjoi","push","length","Word","sigBytes","102fLVZLb","56oYQlPE","x64","blockSize","low","WordArray","exports","134010UlPvjg","Hasher","amd","_nDataBytes","./core","object","create","high","6OgzyDq","_data","9255520GHksqO","346952tcQQYJ"];return(ns=function(){return e})()}!function(e,t){for(var r=is,n=e();;)try{if(417731===parseInt(r(427))/1+-parseInt(r(416))/2+parseInt(r(405))/3*(parseInt(r(415))/4)+parseInt(r(439))/5*(-parseInt(r(432))/6)+-parseInt(r(433))/7*(parseInt(r(408))/8)+-parseInt(r(423))/9+parseInt(r(407))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ns);Qe[rs(425)]((function(e,t){var r,n,i,s=rs;r=Qe[s(426)],n=function(e){var t=s;return function(t){var r=is,n=e,i=n.lib,s=i[r(437)],o=i[r(440)],a=n[r(434)][r(430)],c=n[r(422)],u=[],l=[],d=[];!function(){for(var e=r,t=1,n=0,i=0;i<24;i++){u[t+5*n]=(i+1)*(i+2)/2%64;var s=(2*t+3*n)%5;t=n%5,n=s}for(t=0;t<5;t++)for(n=0;n<5;n++)l[t+5*n]=n+(2*t+3*n)%5*5;for(var o=1,c=0;c<24;c++){for(var h=0,f=0,p=0;p<7;p++){if(1&o){var m=(1<>>24)|4278255360&(a<<24|a>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(D=i[o])[n(404)]^=c,D[n(436)]^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,y=0;y<5;y++)m^=(D=i[p+5*y])[n(404)],v^=D[n(436)];var g=h[p];g[n(404)]=m,g.low=v}for(p=0;p<5;p++){var _=h[(p+4)%5],w=h[(p+1)%5],b=w[n(404)],S=w[n(436)];for(m=_[n(404)]^(b<<1|S>>>31),v=_[n(436)]^(S<<1|b>>>31),y=0;y<5;y++)(D=i[p+5*y])[n(404)]^=m,D[n(436)]^=v}for(var E=1;E<25;E++){var k=(D=i[E])[n(404)],I=D[n(436)],A=u[E];A<32?(m=k<>>32-A,v=I<>>32-A):(m=I<>>64-A,v=k<>>64-A);var C=h[l[E]];C[n(404)]=m,C.low=v}var T=h[0],x=i[0];for(T[n(404)]=x[n(404)],T[n(436)]=x[n(436)],p=0;p<5;p++)for(y=0;y<5;y++){var D=i[E=p+5*y],P=h[E],B=h[(p+1)%5+5*y],M=h[(p+2)%5+5*y];D.high=P[n(404)]^~B.high&M[n(404)],D[n(436)]=P[n(436)]^~B[n(436)]&M[n(436)]}D=i[0];var F=d[f];D[n(404)]^=F[n(404)],D[n(436)]^=F[n(436)]}},_doFinalize:function(){var e=r,n=this[e(406)],i=n[e(419)];this[e(442)];var o=8*n.sigBytes,a=32*this[e(435)];i[o>>>5]|=1<<24-o%32,i[(t[e(413)]((o+1)/a)*a>>>5)-1]|=128,n[e(431)]=4*i[e(429)],this._process();for(var c=this._state,u=this[e(412)][e(410)]/8,l=u/8,d=[],h=0;h>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d[e(428)](m),d[e(428)](p)}return new(s[e(421)])(d,u)},clone:function(){for(var e=r,t=o[e(424)][e(418)](this),n=t[e(420)]=this[e(420)][e(417)](0),i=0;i<25;i++)n[i]=n[i][e(424)]();return t}});n[r(411)]=o._createHelper(f),n.HmacSHA3=o._createHmacHelper(f)}(Math),e[t(411)]},(i=is)(444)==i(444)?e[i(438)]=n(Ei):"undefined"===i(409)&&(void 0)[i(441)]?(void 0)([i(443),i(414)],n):n(r.CryptoJS)}));function is(e,t){var r=ns();return(is=function(e,t){return r[e-=403]})(e,t)}var ss=as;function os(){var e=["4457189SYQBJx","114888aOSYJo","words","call","6958595CYHCCq","108942FHXWLF","create","2932540LCkVDi","_createHmacHelper","./core","_hash","commonjsGlobal","clone","algo","createCommonjsModule","_data","6GuOalQ","CryptoJS","_nDataBytes","RIPEMD160","_process","lib","8780NIOlpP","28aEAFvd","extend","HmacRIPEMD160","length","Hasher","68BfbPEB","sigBytes","12zHWgzc","210829ZDZtbZ","amd","297hVXQkA","object"];return(os=function(){return e})()}!function(e,t){for(var r=as,n=e();;)try{if(511092===parseInt(r(355))/1+-parseInt(r(347))/2*(-parseInt(r(364))/3)+parseInt(r(352))/4*(-parseInt(r(346))/5)+parseInt(r(340))/6*(parseInt(r(363))/7)+parseInt(r(360))/8*(-parseInt(r(357))/9)+-parseInt(r(366))/10+parseInt(r(359))/11*(-parseInt(r(354))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(os);Qe[ss(373)]((function(e,t){var r,n,i;r=Qe[ss(370)],n=function(e){return function(t){var r=as,n=e,i=n[r(345)],s=i.WordArray,o=i[r(351)],a=n[r(372)],c=s[r(365)]([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s[r(365)]([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s[r(365)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s[r(365)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s[r(365)]([0,1518500249,1859775393,2400959708,2840853838]),f=s[r(365)]([1352829926,1548603684,1836072691,2053994217,0]),p=a[r(343)]=o[r(348)]({_doReset:function(){var e=r;this[e(369)]=s[e(365)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,p,b,S,E,k,I,A,C,T,x,D=this[n(369)][n(361)],P=h[n(361)],B=f[n(361)],M=c.words,F=u[n(361)],U=l[n(361)],R=d[n(361)];for(k=a=D[0],I=p=D[1],A=b=D[2],C=S=D[3],T=E=D[4],i=0;i<80;i+=1)x=a+e[t+M[i]]|0,x+=i<16?m(p,b,S)+P[0]:i<32?v(p,b,S)+P[1]:i<48?y(p,b,S)+P[2]:i<64?g(p,b,S)+P[3]:_(p,b,S)+P[4],x=(x=w(x|=0,U[i]))+E|0,a=E,E=S,S=w(b,10),b=p,p=x,x=k+e[t+F[i]]|0,x+=i<16?_(I,A,C)+B[0]:i<32?g(I,A,C)+B[1]:i<48?y(I,A,C)+B[2]:i<64?v(I,A,C)+B[3]:m(I,A,C)+B[4],x=(x=w(x|=0,R[i]))+T|0,k=T,T=C,C=w(A,10),A=I,I=x;x=D[1]+b+C|0,D[1]=D[2]+S+T|0,D[2]=D[3]+E+k|0,D[3]=D[4]+a+I|0,D[4]=D[0]+p+A|0,D[0]=x},_doFinalize:function(){var e=r,t=this[e(374)],n=t[e(361)],i=8*this[e(342)],s=8*t[e(353)];n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[e(353)]=4*(n[e(350)]+1),this[e(344)]();for(var o=this[e(369)],a=o[e(361)],c=0;c<5;c++){var u=a[c];a[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return o},clone:function(){var e=r,t=o[e(371)][e(362)](this);return t._hash=this[e(369)][e(371)](),t}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function y(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function w(e,t){return e<>>32-t}n[r(343)]=o._createHelper(p),n[r(349)]=o[r(367)](p)}(),e.RIPEMD160},"object"===(i=as)(358)?e.exports=n(Ei):n(r[i(341)])}));function as(e,t){var r=os();return(as=function(e,t){return r[e-=340]})(e,t)}var cs=ls;function us(){var e=["finalize","object","sigBytes","createCommonjsModule","CryptoJS","HMAC","68736616bmcrhA","exports","blockSize","5502SjQzJb","clone","2XSAWsP","lib","2189qmTYvk","2403751dXhyrv","2825532dECKkP","_iKey","words","./core","_hasher","48dLONEr","664BLfpTr","function","12ukQIyk","clamp","9416510OvVDbr","63788bciFRP","concat","62570iMYtBN","extend","enc","commonjsGlobal","init","algo","Base","18ZiDyEv","reset"];return(us=function(){return e})()}!function(e,t){for(var r=ls,n=e();;)try{if(995536===parseInt(r(290))/1*(-parseInt(r(312))/2)+parseInt(r(310))/3*(parseInt(r(285))/4)+parseInt(r(289))/5+-parseInt(r(299))/6*(-parseInt(r(315))/7)+-parseInt(r(284))/8*(-parseInt(r(316))/9)+-parseInt(r(292))/10*(-parseInt(r(314))/11)+parseInt(r(287))/12*(-parseInt(r(307))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(us);Qe[cs(304)]((function(e,t){var r,n,i;r=Qe[cs(295)],n=function(e){var t,r,n,i;n=(r=e)[(t=ls)(313)][t(298)],i=r[t(294)].Utf8,r[t(297)][t(306)]=n[t(293)]({init:function(e,r){var n=t;e=this[n(283)]=new(e[n(296)]),"string"==typeof r&&(r=i.parse(r));var s=e[n(309)],o=4*s;r.sigBytes>o&&(r=e[n(301)](r)),r[n(288)]();for(var a=this._oKey=r[n(311)](),c=this[n(317)]=r.clone(),u=a[n(318)],l=c[n(318)],d=0;d>>2];e.sigBytes-=n}};s[t(374)]=h[t(350)]({cfg:h.cfg[t(350)]({mode:m,padding:v}),reset:function(){var e,r=t;h[r(331)][r(298)](this);var n=this[r(355)],i=n.iv,s=n[r(309)];this[r(372)]==this[r(326)]?e=s.createEncryptor:(e=s[r(336)],this._minBufferSize=1),this._mode&&this[r(311)][r(357)]==e?this._mode.init(this,i&&i.words):(this[r(311)]=e[r(298)](s,this,i&&i[r(377)]),this[r(311)][r(357)]=e)},_doProcessBlock:function(e,r){var n=t;this._mode[n(310)](e,r)},_doFinalize:function(){var e,r=t,n=this[r(355)][r(363)];return this[r(372)]==this[r(326)]?(n[r(365)](this[r(359)],this.blockSize),e=this._process(!0)):(e=this[r(319)](!!r(358)),n[r(341)](e)),e},blockSize:4});var y=s[t(327)]=o[t(350)]({init:function(e){this[t(307)](e)},toString:function(e){var r=t;return(e||this[r(292)])[r(376)](this)}}),g=(i[t(335)]={})[t(378)]={stringify:function(e){var r=t,n=e[r(316)],i=e[r(308)];return(i?a[r(320)]([1398893684,1701076831])[r(290)](i).concat(n):n)[r(344)](l)},parse:function(e){var r,n=t,i=l[n(321)](e),s=i[n(377)];return 1398893684==s[0]&&1701076831==s[1]&&(r=a[n(320)](s.slice(2,4)),s[n(329)](0,4),i[n(356)]-=16),y.create({ciphertext:i,salt:r})}},_=s.SerializableCipher=o.extend({cfg:o[t(350)]({format:g}),encrypt:function(e,r,n,i){var s=t;i=this.cfg.extend(i);var o=e[s(342)](n,i),a=o[s(318)](r),c=o[s(355)];return y.create({ciphertext:a,key:n,iv:c.iv,algorithm:e,mode:c[s(309)],padding:c[s(363)],blockSize:e[s(330)],formatter:i[s(335)]})},decrypt:function(e,r,n,i){var s=t;return i=this[s(355)][s(350)](i),r=this[s(338)](r,i.format),e[s(336)](n,i)[s(318)](r[s(316)])},_parse:function(e,r){var n=t;return typeof e==n(371)?r[n(321)](e,this):e}}),w=(i[t(354)]={})[t(378)]={execute:function(e,r,n,i,s){var o=t;if(!i&&(i=a.random(8)),s)c=d[o(320)]({keySize:r+n,hasher:s})[o(304)](e,i);else var c=d[o(320)]({keySize:r+n}).compute(e,i);var u=a.create(c[o(377)][o(296)](r),4*n);return c[o(356)]=4*r,y[o(320)]({key:c,iv:u,salt:i})}},b=s[t(368)]=_[t(350)]({cfg:_[t(355)][t(350)]({kdf:w}),encrypt:function(e,r,n,i){var s=t,o=(i=this[s(355)][s(350)](i))[s(354)][s(348)](n,e.keySize,e[s(349)],i.salt,i[s(301)]);i.iv=o.iv;var a=_[s(362)].call(this,e,r,o[s(297)],i);return a[s(307)](o),a},decrypt:function(e,r,n,i){var s=t;i=this.cfg[s(350)](i),r=this[s(338)](r,i[s(335)]);var o=i[s(354)].execute(n,e.keySize,e[s(349)],r[s(308)],i[s(301)]);return i.iv=o.iv,_[s(339)][s(298)](this,e,r,o.key,i)}})}())}));function gs(e,t){var r=_s();return(gs=function(e,t){return r[e-=401]})(e,t)}function _s(){var e=["1705960uCeURt","_cipher","function","85gIOECL","mode","33346929mojGnl","lib","call","31064bFcTMC","72uQVSRH","148384cAldIJ","516246WigEYO","commonjsGlobal","3451560zMFuzo","slice","blockSize","CryptoJS","_prevBlock","CFB","308QjgcpX","_iv","874706MVSBGg","encryptBlock","258nndRMI","extend","./core"];return(_s=function(){return e})()}!function(e,t){for(var r=gs,n=e();;)try{if(735530===parseInt(r(409))/1+-parseInt(r(422))/2*(-parseInt(r(411))/3)+-parseInt(r(401))/4+-parseInt(r(417))/5*(parseInt(r(425))/6)+parseInt(r(407))/7*(-parseInt(r(424))/8)+parseInt(r(423))/9*(-parseInt(r(414))/10)+parseInt(r(419))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_s);Ze((function(e,t){var r,n,i=gs;Qe[i(426)],e.exports=((r=Ei)[(n=i)(418)][n(406)]=function(){var e=n,t=r[e(420)].BlockCipherMode[e(412)]();function i(t,r,n,i){var s,o=e,a=this[o(408)];a?(s=a.slice(0),this[o(408)]=void 0):s=this[o(405)],i[o(410)](s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var s=n[r(426)]=n[r(429)]({processBlock:function(e,t){var n,s=r,o=this[s(431)],a=o.blockSize,c=this[s(412)],u=this[s(416)];c&&(u=this._counter=c[s(422)](0),this[s(412)]=void 0),0===((n=u)[0]=i(n[0]))&&(n[1]=i(n[1]));var l=u[s(422)](0);o.encryptBlock(l,0);for(var d=0;d>>2]|=o<<24-a%4*8,e[n(437)]+=o},unpad:function(e){var r=255&e[t(430)][e.sigBytes-1>>>2];e.sigBytes-=r}},e.pad[t(429)]},"object"===(i=Ms)(444)?e.exports=n(Ei):"undefined"===i(423)&&(void 0)[i(436)]?(void 0)([i(441),i(425)],n):n(r[i(433)])}));function Fs(e,t){var r=Us();return(Fs=function(e,t){return r[e-=149]})(e,t)}function Us(){var e=["function","CryptoJS","commonjsGlobal","699184OVddjs","10826650gSlWJs","sigBytes","./cipher-core","1742WOTMJX","lib","141717zwqZue","2024opGtgt","6XuUjqc","concat","amd","6579PURmIQ","16577462aWciNC","pad","object","227zKFrMb","5nGyZAb","./core","exports","8525447CGFUpg","WordArray","create","random","words"];return(Us=function(){return e})()}!function(e,t){for(var r=Fs,n=e();;)try{if(653213===parseInt(r(174))/1*(-parseInt(r(163))/2)+parseInt(r(165))/3+-parseInt(r(159))/4*(parseInt(r(175))/5)+-parseInt(r(167))/6*(-parseInt(r(151))/7)+-parseInt(r(166))/8*(-parseInt(r(170))/9)+parseInt(r(160))/10+-parseInt(r(171))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Us);Ze((function(e,t){var r,n,i,s=Fs;r=Qe[s(158)],n=function(e){var t=s;return e[t(172)].Iso10126={pad:function(r,n){var i=t,s=4*n,o=s-r.sigBytes%s;r.concat(e[i(164)][i(152)][i(154)](o-1))[i(168)](e.lib[i(152)][i(153)]([o<<24],1))},unpad:function(e){var r=t,n=255&e[r(155)][e[r(161)]-1>>>2];e[r(161)]-=n}},e.pad.Iso10126},(i=Fs)(173)==i(173)?e[i(150)]=n(Ei):"undefined"===i(156)&&(void 0)[i(169)]?(void 0)([i(149),i(162)],n):n(r[i(157)])}));function Rs(e,t){var r=Ls();return(Rs=function(e,t){return r[e-=427]})(e,t)}!function(e,t){for(var r=Rs,n=e();;)try{if(300754===parseInt(r(431))/1*(-parseInt(r(443))/2)+parseInt(r(441))/3+-parseInt(r(432))/4+parseInt(r(444))/5+parseInt(r(434))/6*(-parseInt(r(427))/7)+-parseInt(r(439))/8*(parseInt(r(438))/9)+parseInt(r(428))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ls);Ze((function(e,t){var r,n,i,s=Rs;r=Qe[s(442)],n=function(e){var t=s;return e[t(445)][t(448)]={pad:function(r,n){var i=t;r[i(446)](e[i(436)][i(433)][i(440)]([2147483648],1)),e.pad.ZeroPadding.pad(r,n)},unpad:function(r){var n=t;e.pad[n(429)][n(449)](r),r[n(447)]--}},e[t(445)][t(448)]},(i=Rs)(450)==i(450)?e.exports=n(Ei):"undefined"===i(437)&&(void 0)[i(430)]?(void 0)([i(435),"./cipher-core"],n):n(r.CryptoJS)}));function Ls(){var e=["create","450060TOBdOp","commonjsGlobal","16978yPIFvq","1934655AFoOoC","pad","concat","sigBytes","Iso97971","unpad","object","22435IMlQGC","8081050yQVGCc","ZeroPadding","amd","65XleQJF","166552tdwQCU","WordArray","342loryZK","./core","lib","function","9AimxLE","2145552WuLQsr"];return(Ls=function(){return e})()}var Os=Ns;function zs(){var e=["pad","834579wXTqcH","./cipher-core","16bEIBqB","sigBytes","82348oJpTVF","createCommonjsModule","411200leyvVf","clamp","476420RqqxOq","570465yLMPch","1565zVkBHw","3606EYwaXG","ZeroPadding","commonjsGlobal","807DHniDq","CryptoJS","amd","words","exports","object","18ELBCyz"];return(zs=function(){return e})()}function Ns(e,t){var r=zs();return(Ns=function(e,t){return r[e-=356]})(e,t)}!function(e,t){for(var r=Ns,n=e();;)try{if(106937===-parseInt(r(360))/1*(parseInt(r(370))/2)+-parseInt(r(366))/3*(-parseInt(r(372))/4)+-parseInt(r(356))/5*(parseInt(r(357))/6)+parseInt(r(377))/7+parseInt(r(374))/8+parseInt(r(368))/9+-parseInt(r(376))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zs);Qe[Os(373)]((function(e,t){var r,n,i,s=Os;r=Qe[s(359)],n=function(e){var t=s;return e[t(367)].ZeroPadding={pad:function(e,r){var n=t,i=4*r;e[n(375)](),e[n(371)]+=i-(e[n(371)]%i||i)},unpad:function(e){var r=t,n=e[r(363)],i=e[r(371)]-1;for(i=e[r(371)]-1;i>=0;i--)if(n[i>>>2]>>>24-i%4*8&255){e[r(371)]=i+1;break}}},e[t(367)][t(358)]},(i=Ns)(365)==i(365)?e[i(364)]=n(Ei):n(r[i(361)])}));var js=Ws;function Hs(){var e=["1145333YzGWiG","./cipher-core","342970etnPAd","113TFNzYY","exports","15672dAgThI","2678432kxCmXH","object","pad","function","createCommonjsModule","2173383HpWUgx","NoPadding","1322xwFmYp","2007730xXmEPI","111AYyuXZ","6rMHmOl","CryptoJS"];return(Hs=function(){return e})()}function Ws(e,t){var r=Hs();return(Ws=function(e,t){return r[e-=115]})(e,t)}!function(e,t){for(var r=Ws,n=e();;)try{if(272754===-parseInt(r(124))/1*(parseInt(r(116))/2)+-parseInt(r(118))/3*(-parseInt(r(126))/4)+-parseInt(r(123))/5+-parseInt(r(119))/6*(-parseInt(r(121))/7)+-parseInt(r(127))/8+parseInt(r(132))/9+parseInt(r(117))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hs);Qe[js(131)]((function(e,t){var r,n,i;r=Je,n=function(e){var t=Ws;return e[t(129)][t(115)]={pad:function(){},unpad:function(){}},e.pad.NoPadding},"object"===(i=Ws)(128)?e[i(125)]=n(Ei):"undefined"===i(130)&&(void 0).amd?(void 0)(["./core",i(122)],n):n(r[i(120)])}));var Vs=$s;function $s(e,t){var r=Gs();return($s=function(e,t){return r[e-=323]})(e,t)}function Gs(){var e=["ciphertext","parse","2310756cClawP","./core","createCommonjsModule","amd","6TYipiM","lib","CipherParams","5aKdVDb","4664840ehOBvw","exports","object","Hex","9iiJNHe","commonjsGlobal","4223933IXSJXP","./cipher-core","1361knxFLm","function","CryptoJS","11308341rYLlrS","2013896RgcFDj","381510BsQOGm","226hONzsw","format"];return(Gs=function(){return e})()}!function(e,t){for(var r=$s,n=e();;)try{if(342633===-parseInt(r(343))/1*(-parseInt(r(323))/2)+parseInt(r(348))/3+-parseInt(r(327))/4*(parseInt(r(334))/5)+parseInt(r(331))/6*(-parseInt(r(341))/7)+-parseInt(r(347))/8+parseInt(r(339))/9*(parseInt(r(335))/10)+parseInt(r(346))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gs);Qe[Vs(329)]((function(e,t){var r,n,i,s=Vs;r=Qe[s(340)],n=function(e){var t,r,n,i,o=s;return n=(r=e)[(t=$s)(332)][t(333)],i=r.enc.Hex,r[t(324)][t(338)]={stringify:function(e){return e[t(325)].toString(i)},parse:function(e){var r=i[t(326)](e);return n.create({ciphertext:r})}},e[o(324)][o(338)]},(i=$s)(337)==i(337)?e[i(336)]=n(Ei):"undefined"===i(344)&&(void 0)[i(330)]?(void 0)([i(328),i(342)],n):n(r[i(345)])}));var qs=Ks;function Ys(){var e=["BlockCipher","13449DWEgAA","amd","12HgIYFd","8519632ATsprp","./md5","algo","sigBytes","object","createCommonjsModule","AES","5090334pZZOdy","_key","function","181521bAlzal","4100369hTOBhh","./cipher-core","310AfNFJw","_doCryptBlock","_invKeySchedule","exports","CryptoJS","commonjsGlobal","_nRounds","./enc-base64","654201RpqCgu","lib","5955400sTptQl","extend","_keyPriorReset","5cPjfOZ","44SCdRjp","2fgacrO"];return(Ys=function(){return e})()}function Ks(e,t){var r=Ys();return(Ks=function(e,t){return r[e-=278]})(e,t)}!function(e,t){for(var r=Ks,n=e();;)try{if(452806===parseInt(r(287))/1*(-parseInt(r(294))/2)+parseInt(r(296))/3*(-parseInt(r(293))/4)+parseInt(r(292))/5*(parseInt(r(306))/6)+-parseInt(r(310))/7+parseInt(r(289))/8+-parseInt(r(309))/9*(parseInt(r(279))/10)+parseInt(r(299))/11*(parseInt(r(298))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ys);Qe[qs(304)]((function(e,t){var r,n,i,s=qs;r=Qe[s(284)],n=function(e){var t=s;return function(){var t=Ks,r=e,n=r[t(288)][t(295)],i=r[t(301)],s=[],o=[],a=[],c=[],u=[],l=[],d=[],h=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,o[i]=r;var m=e[r],v=e[m],y=e[v],g=257*e[i]^16843008*i;a[r]=g<<24|g>>>8,c[r]=g<<16|g>>>16,u[r]=g<<8|g>>>24,l[r]=g,g=16843009*y^65537*v^257*m^16843008*r,d[i]=g<<24|g>>>8,h[i]=g<<16|g>>>16,f[i]=g<<8|g>>>24,p[i]=g,r?(r=m^e[e[e[y^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i.AES=n[t(290)]({_doReset:function(){var e=t;if(!this._nRounds||this._keyPriorReset!==this[e(307)]){for(var r=this[e(291)]=this[e(307)],n=r.words,i=r[e(302)]/4,o=4*((this[e(285)]=i+6)+1),a=this._keySchedule=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),a[c]=a[c-i]^v);for(var u=this[e(281)]=[],l=0;l>>24]]^h[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){this[t(280)](e,r,this._keySchedule,a,c,u,l,s)},decryptBlock:function(e,r){var n=t,i=e[r+1];e[r+1]=e[r+3],e[r+3]=i,this[n(280)](e,r,this._invKeySchedule,d,h,f,p,o),i=e[r+1],e[r+1]=e[r+3],e[r+3]=i},_doCryptBlock:function(e,r,n,i,s,o,a,c){for(var u=this[t(285)],l=e[r]^n[0],d=e[r+1]^n[1],h=e[r+2]^n[2],f=e[r+3]^n[3],p=4,m=1;m>>24]^s[d>>>16&255]^o[h>>>8&255]^a[255&f]^n[p++],y=i[d>>>24]^s[h>>>16&255]^o[f>>>8&255]^a[255&l]^n[p++],g=i[h>>>24]^s[f>>>16&255]^o[l>>>8&255]^a[255&d]^n[p++],_=i[f>>>24]^s[l>>>16&255]^o[d>>>8&255]^a[255&h]^n[p++];l=v,d=y,h=g,f=_}v=(c[l>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&f])^n[p++],y=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[f>>>8&255]<<8|c[255&l])^n[p++],g=(c[h>>>24]<<24|c[f>>>16&255]<<16|c[l>>>8&255]<<8|c[255&d])^n[p++],_=(c[f>>>24]<<24|c[l>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^n[p++],e[r]=v,e[r+1]=y,e[r+2]=g,e[r+3]=_},keySize:8});r[t(305)]=n._createHelper(v)}(),e[t(305)]},"object"===(i=Ks)(303)?e[i(282)]=n(Ei):"undefined"===i(308)&&(void 0)[i(297)]?(void 0)(["./core",i(286),i(300),"./evpkdf",i(278)],n):n(r[i(283)])}));var Xs=Js;!function(e,t){for(var r=Js,n=e();;)try{if(666492===parseInt(r(441))/1+parseInt(r(479))/2*(-parseInt(r(469))/3)+parseInt(r(440))/4*(parseInt(r(459))/5)+parseInt(r(450))/6+-parseInt(r(462))/7+-parseInt(r(443))/8*(-parseInt(r(465))/9)+-parseInt(r(445))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zs);Qe[Xs(463)]((function(e,t){var r,n,i,s=Xs;r=Qe[s(442)],n=function(e){var t=s;return function(){var t=Js,r=e,n=r[t(466)],i=n[t(457)],s=n[t(461)],o=r.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=o.DES=s[t(482)]({_doReset:function(){for(var e=t,r=this[e(478)][e(476)],n=[],i=0;i<56;i++){var s=a[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var o=this[e(451)]=[],l=0;l<16;l++){var d=o[l]=[],h=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var f=this._invSubKeys=[];for(i=0;i<16;i++)f[i]=o[15-i]},encryptBlock:function(e,r){var n=t;this[n(464)](e,r,this[n(451)])},decryptBlock:function(e,r){var n=t;this[n(464)](e,r,this[n(480)])},_doCryptBlock:function(e,r,n){var i=t;this[i(468)]=e[r],this[i(454)]=e[r+1],f[i(473)](this,4,252645135),f.call(this,16,65535),p[i(473)](this,2,858993459),p[i(473)](this,8,16711935),f[i(473)](this,1,1431655765);for(var s=0;s<16;s++){for(var o=n[s],a=this[i(468)],c=this[i(454)],u=0,h=0;h<8;h++)u|=l[h][((c^o[h])&d[h])>>>0];this._lBlock=c,this[i(454)]=a^u}var m=this._lBlock;this[i(468)]=this._rBlock,this._rBlock=m,f[i(473)](this,1,1431655765),p[i(473)](this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f[i(473)](this,4,252645135),e[r]=this[i(468)],e[r+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,r){var n=t,i=(this[n(468)]>>>e^this[n(454)])&r;this[n(454)]^=i,this._lBlock^=i<>>e^this._lBlock)&r;this[n(468)]^=i,this._rBlock^=i<192.","BlockCipher","1842183NGtipg","createCommonjsModule","_doCryptBlock","243AqRnWk","lib","_des3","_lBlock","371166YCRYMP","encryptBlock"];return(Zs=function(){return e})()}function Qs(e,t){var r=eo();return(Qs=function(e,t){return r[e-=126]})(e,t)}function eo(){var e=["21KkHGoq","18hCvicD","exports","call","./md5","_key","cfg","StreamCipher","object","6387888OftzPE","232684wYqXZI","1507542ZhzRAd","words","_doReset","extend","lib","commonjsGlobal","_createHelper","230HZyudi","amd","./enc-base64","1107315oLaPJp","RC4","sigBytes","789144PqHtpn","2069725WBvKoh","CryptoJS","RC4Drop","function","./core","algo","4rzVQKE","2968635tGiJka"];return(eo=function(){return e})()}!function(e,t){for(var r=Qs,n=e();;)try{if(808234===parseInt(r(129))/1*(parseInt(r(150))/2)+parseInt(r(151))/3+-parseInt(r(128))/4+-parseInt(r(144))/5+parseInt(r(130))/6*(-parseInt(r(152))/7)+parseInt(r(143))/8*(-parseInt(r(153))/9)+parseInt(r(137))/10*(parseInt(r(140))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(eo);Ze((function(e,t){var r,n,i,s=Qs;r=Qe[s(135)],n=function(e){var t=s;return function(){var t=Qs,r=e,n=r[t(134)][t(126)],i=r[t(149)],s=i[t(141)]=n[t(133)]({_doReset:function(){for(var e=t,r=this[e(157)],n=r[e(131)],i=r[e(142)],s=this._S=[],o=0;o<256;o++)s[o]=o;o=0;for(var a=0;o<256;o++){var c=o%i,u=n[c>>>2]>>>24-c%4*8&255;a=(a+s[o]+u)%256;var l=s[o];s[o]=s[a],s[a]=l}this._i=this._j=0},_doProcessBlock:function(e,r){var n=t;e[r]^=o[n(155)](this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}r.RC4=n[t(136)](s);var a=i[t(146)]=s[t(133)]({cfg:s[t(158)][t(133)]({drop:192}),_doReset:function(){var e=t;s[e(132)][e(155)](this);for(var r=this[e(158)].drop;r>0;r--)o[e(155)](this)}});r[t(146)]=n._createHelper(a)}(),e[t(141)]},"object"===(i=Qs)(127)?e[i(154)]=n(Ei):"undefined"===i(147)&&(void 0)[i(138)]?(void 0)([i(148),i(139),i(156),"./evpkdf","./cipher-core"],n):n(r[i(145)])}));var to=ro;function ro(e,t){var r=no();return(ro=function(e,t){return r[e-=178]})(e,t)}function no(){var e=["createCommonjsModule","./core","11XNZEKR","./evpkdf","10386TqWUSb","extend","./cipher-core","cfg","10061080FALZvm","commonjsGlobal","call","CryptoJS","777270WCkoZC","_key","function","algo","6EPdlsd","8efaPBK","3589740UBiAur","exports","6434953hTRkeA","object","words","StreamCipher","2519334XrhmhL","_createHelper","336KYBstr","Rabbit","3261900AHbSwB","lib","./md5","./enc-base64"];return(no=function(){return e})()}!function(e,t){for(var r=ro,n=e();;)try{if(486278===parseInt(r(203))/1+parseInt(r(185))/2*(-parseInt(r(195))/3)+parseInt(r(187))/4+-parseInt(r(209))/5+-parseInt(r(207))/6*(-parseInt(r(179))/7)+parseInt(r(208))/8*(parseInt(r(183))/9)+-parseInt(r(199))/10*(parseInt(r(193))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(no);Qe[to(191)]((function(e,t){var r,n,i;r=Qe[to(200)],n=function(e){return function(){var t=ro,r=e,n=r[t(188)][t(182)],i=r[t(206)],s=[],o=[],a=[],c=i.Rabbit=n[t(196)]({_doReset:function(){for(var e=t,r=this[e(204)][e(181)],n=this[e(198)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],o=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u.call(this);for(i=0;i<8;i++)o[i]^=s[i+4&7];if(n){var a=n[e(181)],c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(o[0]^=d,o[1]^=f,o[2]^=h,o[3]^=p,o[4]^=d,o[5]^=f,o[6]^=h,o[7]^=p,i=0;i<4;i++)u[e(201)](this)}},_doProcessBlock:function(e,t){var r=this._X;u.call(this),s[0]=r[0]^r[5]>>>16^r[3]<<16,s[1]=r[2]^r[7]>>>16^r[5]<<16,s[2]=r[4]^r[1]>>>16^r[7]<<16,s[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)s[n]=16711935&(s[n]<<8|s[n]>>>24)|4278255360&(s[n]<<24|s[n]>>>8),e[t+n]^=s[n]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r[t(186)]=n[t(184)](c)}(),e.Rabbit},(i=ro)(180)==i(180)?e[i(178)]=n(Ei):"undefined"===i(205)&&(void 0).amd?(void 0)([i(192),i(190),i(189),i(194),i(197)],n):n(r[i(202)])}));function io(){var e=["function","./core","51076XlsGcy","RabbitLegacy","words","lib","algo","./enc-base64","27155KchbdT","amd","528uAmAkK","_key","3401608sejNuV","1169ukwmyS","2309994FCBEXe","_createHelper","519798tbOVwA","CryptoJS","22206mhjNMv","./md5","StreamCipher","call","14305932QzGFZD","object","exports","./cipher-core","cfg"];return(io=function(){return e})()}!function(e,t){for(var r=so,n=e();;)try{if(600590===-parseInt(r(477))/1+-parseInt(r(463))/2+-parseInt(r(475))/3+parseInt(r(471))/4*(-parseInt(r(469))/5)+parseInt(r(452))/6*(parseInt(r(474))/7)+parseInt(r(473))/8+parseInt(r(456))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(io);Ze((function(e,t){var r,n,i;r=Je,n=function(e){var t=so;return function(){var t=so,r=e,n=r[t(466)][t(454)],i=r[t(467)],s=[],o=[],a=[],c=i[t(464)]=n.extend({_doReset:function(){var e=t,r=this[e(472)][e(465)],n=this[e(460)].iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var o=0;o<4;o++)u[e(455)](this);for(o=0;o<8;o++)s[o]^=i[o+4&7];if(n){var a=n[e(465)],c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(s[0]^=d,s[1]^=f,s[2]^=h,s[3]^=p,s[4]^=d,s[5]^=f,s[6]^=h,s[7]^=p,o=0;o<4;o++)u[e(455)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(455)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),e[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r[t(464)]=n[t(476)](c)}(),e[t(464)]},"object"===(i=so)(457)?e[i(458)]=n(Ei):"undefined"===i(461)&&(void 0)[i(470)]?(void 0)([i(462),i(468),i(453),"./evpkdf",i(459)],n):n(r[i(451)])}));function so(e,t){var r=io();return(so=function(e,t){return r[e-=451]})(e,t)}function oo(e,t){const r=ao();return(oo=function(e,t){return r[e-=223]})(e,t)}!function(e,t){const r=oo,n=e();for(;;)try{if(191684===parseInt(r(253))/1*(parseInt(r(227))/2)+parseInt(r(231))/3*(-parseInt(r(252))/4)+parseInt(r(254))/5*(-parseInt(r(251))/6)+parseInt(r(248))/7*(parseInt(r(255))/8)+-parseInt(r(233))/9+parseInt(r(230))/10+-parseInt(r(250))/11*(-parseInt(r(247))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ao);Ze((function(e,t){const r=oo;!function(t,r,n){const i=oo;"object"===i(223)?e[i(228)]=r(Ei):"undefined"===i(236)&&(void 0)[i(241)]?(void 0)(["./core",i(238),i(243),i(240),i(234)],r):r(t.CryptoJS)}(Qe[r(235)],(function(e){const t=r;return function(){const t=oo;var r=e,n=r[t(249)][t(237)],i=r.algo;const s=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const n=t;let i=r>>24&255,s=r>>16&255,o=r>>8&255,a=255&r,c=e.sbox[0][i]+e.sbox[1][s];return c^=e.sbox[2][o],c+=e[n(246)][3][a],c}function l(e,r,n){const i=t;let o,a=r,c=n;for(let t=0;t=n&&(s=0);let c=0,u=0,d=0;for(let t=0;t<18;t+=2)d=l(e,c,u),c=d[i(256)],u=d[i(244)],e.pbox[t]=c,e[i(225)][t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)d=l(e,c,u),c=d[i(256)],u=d[i(244)],e[i(246)][t][r]=c,e[i(246)][t][r+1]=u}(c,n,i)}},encryptBlock:function(e,t){var r=l(c,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},decryptBlock:function(e,r){const n=t;var i=function(e,r,n){const i=t;let s,o=r,a=n;for(let t=17;t>1;--t)o^=e[i(225)][t],a=u(e,o)^a,s=o,o=a,a=s;return s=o,o=a,a=s,a^=e.pbox[1],o^=e[i(225)][0],{left:o,right:a}}(c,e[r],e[r+1]);e[r]=i[n(256)],e[r+1]=i.right},blockSize:2,keySize:4,ivSize:2});r[t(232)]=n[t(229)](d)}(),e[t(232)]}))}));function ao(){const e=["_keyPriorReset","./evpkdf","amd","_key","./md5","right","extend","sbox","48bnBUlS","1471274ymGmMA","lib","660792AxuutQ","6akYWtB","4bPawte","5760almDlo","1676695reHvTL","8SZXhwp","left","object","words","pbox","sigBytes","92YHxObo","exports","_createHelper","2244370sgDWiP","281511bSvrdm","Blowfish","2871063jDocbn","./cipher-core","commonjsGlobal","function","BlockCipher","./enc-base64"];return(ao=function(){return e})()}function co(e,t){var r=uo();return(co=function(e,t){return r[e-=398]})(e,t)}function uo(){var e=["3335308NXuXwf","88XuwbRr","./core","./x64-core","object","./sha3","./mode-ctr","./md5","307647pZJfNw","690870MLNQEA","./evpkdf","./mode-cfb","./mode-ctr-gladman","2093214TacBbd","7wWfJne","./sha1","./sha224","./pad-iso10126","./format-hex","amd","./sha384","./mode-ofb","4OJAiUa","commonjsGlobal","5378718vycWfe","./blowfish","1130265IqsyNq","276466QJTKyz","./enc-base64url","./cipher-core","./rabbit","function","exports","./hmac","./sha256","./pad-zeropadding","./pad-ansix923","./ripemd160","./sha512","./lib-typedarrays","CryptoJS","./pad-iso97971","./enc-base64","./rc4","./pad-nopadding","152KTwbgk"];return(uo=function(){return e})()}function lo(e,t){const r=mo();return(lo=function(e,t){return r[e-=278]})(e,t)}function ho(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function fo(e,t,r){const n=lo;let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e[n(298)];let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(296)](c)):(c&=31,u=1===c||5===c),u){const i=e[n(284)](o+4+2,o+4+a);let s=new(wi[n(280)][n(301)])(t,new wi.Counter(r));const c=s[n(278)](i);s=null,e.set(c,o+4+2)}o=o+4+a}return e}function po(e,t,r){const n=lo;if(e[n(298)]<=30)return e;const i=e[n(284)](32);let s=new(wi[n(280)][n(301)])(t,new(wi[n(294)])(r));const o=s.decrypt(i);return s=null,e[n(292)](o,32),e}function mo(){const e=["toString","ctr","decrypt","12KABogi","ModeOfOperation","11940525sNdeSF","2jXvaoL","WordArray","slice","1035442FtJSQU","length","875685jhzeoA","14japteC","949536zBZcUB","3761292RdeSQW","6744782LQZFZS","set","30kYfvmf","Counter","create","includes","catch","byteLength","1124276OaoDPi"];return(mo=function(){return e})()}!function(e,t){for(var r=co,n=e();;)try{if(994444===parseInt(r(436))/1*(-parseInt(r(441))/2)+parseInt(r(438))/3+parseInt(r(414))/4+-parseInt(r(440))/5+parseInt(r(427))/6*(parseInt(r(428))/7)+parseInt(r(413))/8*(-parseInt(r(422))/9)+-parseInt(r(423))/10*(parseInt(r(415))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(uo),Ze((function(e,t){var r,n,i;r=Qe[co(437)],n=function(e){return e},"object"===(i=co)(418)?e[i(400)]=Ei:"undefined"===i(399)&&(void 0)[i(433)]?(void 0)([i(416),i(417),i(407),"./enc-utf16",i(410),i(442),i(421),i(429),i(402),i(430),i(406),i(434),i(419),i(405),i(401),"./pbkdf2",i(424),i(443),i(425),i(420),i(426),i(435),"./mode-ecb",i(404),i(431),i(409),i(403),i(412),i(432),"./aes","./tripledes",i(411),i(398),"./rabbit-legacy",i(439)],n):r[i(408)]=r[i(408)]})),function(e,t){const r=lo,n=e();for(;;)try{if(886282===parseInt(r(285))/1*(-parseInt(r(282))/2)+-parseInt(r(279))/3*(-parseInt(r(299))/4)+parseInt(r(287))/5+parseInt(r(290))/6*(parseInt(r(288))/7)+-parseInt(r(289))/8+parseInt(r(281))/9+parseInt(r(293))/10*(-parseInt(r(291))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mo);var vo=_o;!function(e,t){for(var r=_o,n=e();;)try{if(911926===-parseInt(r(471))/1*(-parseInt(r(269))/2)+parseInt(r(813))/3+-parseInt(r(422))/4+-parseInt(r(792))/5+parseInt(r(883))/6+-parseInt(r(1306))/7+parseInt(r(1029))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(go);var yo=Qe[vo(995)]((function(e,t){var r,n,s=vo,o=(r=new Date,n=4,{setLogLevel:function(e){var t=_o;n=e==this[t(814)]?1:e==this[t(1134)]?2:e==this.warn?3:(this[t(208)],4)},debug:function(e,t){var i=_o;void 0===console[i(814)]&&(console[i(814)]=console[i(250)]),1>=n&&console[i(814)]("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=_o;this[r(814)](e[r(1061)])},info:function(e,t){var i=_o;2>=n&&console[i(1134)]("["+o[i(427)](new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){var i=_o;3>=n&&console[i(846)]("["+o[i(427)](new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){var i=_o;4>=n&&console[i(208)]("["+o[i(427)](new Date-r,1e3)+"]","["+e+"]",t)}});o.getDurationString=function(e,t){var r,n=_o;function i(e,t){for(var r=_o,n=(""+e).split(".");n[0].length0){for(var n="",i=0;i0&&(n+=","),n+="["+o.getDurationString(e[t(919)](i))+","+o.getDurationString(e[t(411)](i))+"]";return n}return t(1263)},s(476)!==s(498)&&(t.Log=o);var a=function(e){var t=s;if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this[t(1293)]=0};a[s(265)].getPosition=function(){return this[s(1293)]},a[s(265)][s(201)]=function(){var e=s;return this[e(562)][e(219)]},a[s(265)].getLength=function(){var e=s;return this[e(562)][e(219)]},a[s(265)][s(1332)]=function(e){var t=s,r=Math.max(0,Math[t(304)](this[t(562)][t(219)],e));return this.position=isNaN(r)||!isFinite(r)?0:r,!0},a[s(265)][s(1446)]=function(){var e=s;return this.getPosition()>=this[e(201)]()},a.prototype[s(793)]=function(e,t){var r=s,n=0;if(this[r(1293)]+e<=this[r(562)][r(219)]){switch(e){case 1:n=t?this[r(464)][r(347)](this.position):this.dataview[r(1231)](this[r(1293)]);break;case 2:n=t?this[r(464)][r(572)](this.position):this.dataview[r(376)](this.position);break;case 3:if(t)throw r(234);n=this.dataview.getUint8(this.position)<<16,n|=this[r(464)][r(1231)](this[r(1293)]+1)<<8,n|=this[r(464)][r(1231)](this.position+2);break;case 4:n=t?this[r(464)].getInt32(this.position):this[r(464)][r(542)](this.position);break;case 8:if(t)throw r(1359);n=this.dataview.getUint32(this[r(1293)])<<32,n|=this[r(464)].getUint32(this[r(1293)]+4);break;default:throw r(1259)+e}return this[r(1293)]+=e,n}throw r(687)},a[s(265)][s(988)]=function(){return this[s(793)](1,!1)},a[s(265)].readUint16=function(){return this[s(793)](2,!1)},a[s(265)][s(998)]=function(){return this[s(793)](3,!1)},a[s(265)][s(453)]=function(){return this[s(793)](4,!1)},a.prototype[s(1109)]=function(){return this[s(793)](8,!1)},a.prototype[s(723)]=function(e){var t=s;if(this[t(1293)]+e<=this.buffer.byteLength){for(var r="",n=0;nthis._byteLength&&(this[t(661)]=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),o=new Uint8Array(this._buffer);new Uint8Array(i,0,o[t(1093)])[t(1300)](o),this.buffer=i,this[t(661)]=r}}},c[s(265)][s(483)]=function(){var e=s;if(this._byteLength!=this._buffer[e(219)]){var t=new ArrayBuffer(this._byteLength),r=new Uint8Array(t),n=new Uint8Array(this[e(1010)],0,r[e(1093)]);r[e(1300)](n),this[e(562)]=t}},c[s(961)]=!1,c[s(690)]=!0,c[s(265)][s(661)]=0,Object[s(952)](c[s(265)],s(219),{get:function(){var e=s;return this[e(661)]-this[e(379)]}}),Object.defineProperty(c[s(265)],s(562),{get:function(){var e=s;return this[e(483)](),this[e(1010)]},set:function(e){var t=s;this[t(1010)]=e,this._dataView=new DataView(this._buffer,this._byteOffset),this[t(661)]=this[t(1010)][t(219)]}}),Object.defineProperty(c[s(265)],s(217),{get:function(){return this[s(379)]},set:function(e){var t=s;this._byteOffset=e,this[t(508)]=new DataView(this._buffer,this._byteOffset),this[t(661)]=this[t(1010)][t(219)]}}),Object[s(952)](c[s(265)],s(196),{get:function(){return this._dataView},set:function(e){var t=s;this[t(379)]=e[t(217)],this[t(1010)]=e[t(562)],this[t(508)]=new DataView(this[t(1010)],this[t(379)]),this[t(661)]=this[t(379)]+e[t(219)]}}),c[s(265)][s(1332)]=function(e){var t=s,r=Math[t(1113)](0,Math[t(304)](this.byteLength,e));this[t(1293)]=isNaN(r)||!isFinite(r)?0:r},c[s(265)].isEof=function(){return this[s(1293)]>=this._byteLength},c[s(265)][s(1213)]=function(e){var t=s;this[t(1390)](1*e);var r=new Uint8Array(this[t(1010)],this[t(217)]+this[t(1293)],e);return this[t(1293)]+=1*e,r},c.prototype[s(232)]=function(e,t){var r=s;e=null==e?this[r(219)]-this[r(1293)]/4:e;var n=new Int32Array(e);return c.memcpy(n.buffer,0,this[r(562)],this[r(217)]+this.position,e*n[r(1289)]),c.arrayToNative(n,null==t?this[r(593)]:t),this[r(1293)]+=n[r(219)],n},c[s(265)][s(1212)]=function(e,t){var r=s;e=null==e?this[r(219)]-this[r(1293)]/2:e;var n=new Int16Array(e);return c[r(571)](n[r(562)],0,this[r(562)],this[r(217)]+this[r(1293)],e*n[r(1289)]),c.arrayToNative(n,null==t?this.endianness:t),this[r(1293)]+=n[r(219)],n},c[s(265)][s(1325)]=function(e){var t=s;e=null==e?this[t(219)]-this[t(1293)]:e;var r=new Int8Array(e);return c[t(571)](r[t(562)],0,this.buffer,this.byteOffset+this[t(1293)],e*r[t(1289)]),this[t(1293)]+=r.byteLength,r},c[s(265)][s(503)]=function(e,t){var r=s;e=null==e?this[r(219)]-this[r(1293)]/4:e;var n=new Uint32Array(e);return c[r(571)](n.buffer,0,this.buffer,this[r(217)]+this[r(1293)],e*n[r(1289)]),c.arrayToNative(n,null==t?this.endianness:t),this.position+=n.byteLength,n},c[s(265)][s(472)]=function(e,t){var r=s;e=null==e?this[r(219)]-this.position/2:e;var n=new Uint16Array(e);return c[r(571)](n[r(562)],0,this[r(562)],this[r(217)]+this[r(1293)],e*n[r(1289)]),c.arrayToNative(n,null==t?this[r(593)]:t),this.position+=n[r(219)],n},c.prototype[s(240)]=function(e){var t=s;e=null==e?this.byteLength-this[t(1293)]:e;var r=new Uint8Array(e);return c[t(571)](r[t(562)],0,this[t(562)],this[t(217)]+this.position,e*r[t(1289)]),this[t(1293)]+=r.byteLength,r},c[s(265)].readFloat64Array=function(e,t){var r=s;e=null==e?this[r(219)]-this.position/8:e;var n=new Float64Array(e);return c[r(571)](n[r(562)],0,this.buffer,this.byteOffset+this[r(1293)],e*n[r(1289)]),c[r(1038)](n,null==t?this[r(593)]:t),this[r(1293)]+=n[r(219)],n},c.prototype[s(894)]=function(e,t){var r=s;e=null==e?this[r(219)]-this[r(1293)]/4:e;var n=new Float32Array(e);return c[r(571)](n[r(562)],0,this[r(562)],this[r(217)]+this.position,e*n.BYTES_PER_ELEMENT),c.arrayToNative(n,null==t?this[r(593)]:t),this[r(1293)]+=n[r(219)],n},c[s(265)][s(1338)]=function(e){var t=s,r=this._dataView[t(719)](this[t(1293)],null==e?this[t(593)]:e);return this.position+=4,r},c.prototype[s(930)]=function(e){var t=s,r=this[t(508)].getInt16(this[t(1293)],null==e?this[t(593)]:e);return this[t(1293)]+=2,r},c.prototype[s(935)]=function(){var e=s,t=this[e(508)][e(347)](this[e(1293)]);return this[e(1293)]+=1,t},c.prototype.readUint32=function(e){var t=s,r=this._dataView[t(542)](this[t(1293)],null==e?this[t(593)]:e);return this[t(1293)]+=4,r},c[s(265)].readUint16=function(e){var t=s,r=this._dataView[t(376)](this[t(1293)],null==e?this[t(593)]:e);return this[t(1293)]+=2,r},c.prototype[s(988)]=function(){var e=s,t=this[e(508)][e(1231)](this.position);return this[e(1293)]+=1,t},c[s(265)][s(1447)]=function(e){var t=s,r=this[t(508)][t(681)](this[t(1293)],null==e?this[t(593)]:e);return this[t(1293)]+=4,r},c.prototype.readFloat64=function(e){var t=s,r=this[t(508)].getFloat64(this[t(1293)],null==e?this[t(593)]:e);return this[t(1293)]+=8,r},c.endianness=new Int8Array(new Int16Array([1])[s(562)])[0]>0,c[s(571)]=function(e,t,r,n,i){var o=s,a=new Uint8Array(e,t,i),c=new Uint8Array(r,n,i);a[o(1300)](c)},c[s(1038)]=function(e,t){var r=s;return t==this[r(593)]?e:this[r(1452)](e)},c[s(645)]=function(e,t){var r=s;return this[r(593)]==t?e:this[r(1452)](e)},c[s(1452)]=function(e){for(var t=s,r=new Uint8Array(e.buffer,e[t(217)],e[t(219)]),n=0;no;i--,o++){var a=r[o];r[o]=r[i],r[i]=a}return e},c[s(265)][s(1319)]=0,String.fromCharCodeUint8=function(e){for(var t=s,r=[],n=0;n>16),this[t(749)]((65280&e)>>8),this[t(749)](255&e)},c.prototype[s(343)]=function(e,t){var r=s,n=this[r(1293)];this[r(1332)](e),this[r(651)](t),this.seek(n)},c[s(265)].mapInt32Array=function(e,t){var r=s;this[r(1390)](4*e);var n=new Int32Array(this[r(1010)],this[r(217)]+this.position,e);return c[r(1038)](n,null==t?this.endianness:t),this[r(1293)]+=4*e,n},c.prototype[s(513)]=function(e,t){var r=s;this._realloc(2*e);var n=new Int16Array(this[r(1010)],this[r(217)]+this[r(1293)],e);return c[r(1038)](n,null==t?this.endianness:t),this[r(1293)]+=2*e,n},c[s(265)][s(703)]=function(e){var t=s;this[t(1390)](1*e);var r=new Int8Array(this._buffer,this[t(217)]+this[t(1293)],e);return this.position+=1*e,r},c[s(265)][s(963)]=function(e,t){var r=s;this._realloc(4*e);var n=new Uint32Array(this[r(1010)],this.byteOffset+this[r(1293)],e);return c[r(1038)](n,null==t?this[r(593)]:t),this[r(1293)]+=4*e,n},c[s(265)][s(731)]=function(e,t){var r=s;this[r(1390)](2*e);var n=new Uint16Array(this[r(1010)],this.byteOffset+this[r(1293)],e);return c[r(1038)](n,null==t?this.endianness:t),this[r(1293)]+=2*e,n},c[s(265)][s(444)]=function(e,t){var r=s;this[r(1390)](8*e);var n=new Float64Array(this[r(1010)],this[r(217)]+this.position,e);return c[r(1038)](n,null==t?this[r(593)]:t),this[r(1293)]+=8*e,n},c.prototype[s(1053)]=function(e,t){var r=s;this._realloc(4*e);var n=new Float32Array(this[r(1010)],this.byteOffset+this[r(1293)],e);return c[r(1038)](n,null==t?this[r(593)]:t),this[r(1293)]+=4*e,n};var l=function(e){var t=s;this[t(563)]=[],this[t(294)]=-1,e&&(this[t(1284)](e),this[t(294)]=0)};l.prototype=new c(new ArrayBuffer,0,c.BIG_ENDIAN),l[s(265)][s(1074)]=function(){var e,t=s;return this[t(294)]>-1||(this[t(563)][t(1093)]>0?0===(e=this[t(563)][0]).fileStart?(this[t(562)]=e,this[t(294)]=0,o[t(814)]("MultiBufferStream",t(346)),!0):(o[t(846)](t(327),t(1243)),this[t(964)](),!1):(o.warn(t(327),t(1173)),this[t(964)](),!1))},ArrayBuffer[s(730)]=function(e,t){var r=s;o[r(814)](r(806),r(1314)+(e[r(219)]+t[r(219)]));var n=new Uint8Array(e[r(219)]+t.byteLength);return n.set(new Uint8Array(e),0),n[r(1300)](new Uint8Array(t),e[r(219)]),n[r(562)]},l[s(265)][s(1402)]=function(e,t,r){var n,i=s;return(n=new Uint8Array(r)).set(new Uint8Array(e,t,r)),n[i(562)][i(233)]=e[i(233)]+t,n[i(562)][i(1194)]=0,n.buffer},l[s(265)][s(1284)]=function(e){for(var t=s,r=!0,n=0;ni[t(219)]){this[t(563)][t(975)](n,1),n--;continue}o[t(846)](t(327),t(879)+e[t(233)]+t(736)+e[t(219)]+t(943))}else e[t(233)]+e.byteLength<=i[t(233)]||(e=this[t(1402)](e,0,i.fileStart-e.fileStart)),o[t(814)](t(327),t(166)+e[t(233)]+t(736)+e[t(219)]+")"),this[t(563)][t(975)](n,0,e),0===n&&(this[t(562)]=e);r=!1;break}if(e[t(233)]0)){r=!1;break}e=this.reduceBuffer(e,a,c)}}r&&(o[t(814)](t(327),t(166)+e[t(233)]+t(736)+e.byteLength+")"),this[t(563)].push(e),0===n&&(this[t(562)]=e))},l[s(265)][s(964)]=function(e){var t,r,n,i,a,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=a[c(411)]-1+"]");var d=e?o.info:o.debug;0===this.buffers[c(1093)]?d("MultiBufferStream",c(1055)):d("MultiBufferStream",""+this[c(563)][c(1093)]+c(1199)+n+"/"+i+c(580)+l)},l[s(265)][s(549)]=function(){var e,t,r=s;for(e=0;e"+this[t(562)][t(219)]+")"),!0}return!1}return!1},l.prototype[s(236)]=function(e,t,r){var n,i=s,a=null,c=-1;for(n=!0===e?0:this.bufferIndex;n=t?(o[i(814)]("MultiBufferStream",i(685)+c),c):-1:-1},l[s(265)][s(807)]=function(e){var t,r,n,i=s,o=void 0!==e?e:this[i(294)];if(r=this[i(563)][o],this[i(563)][i(1093)]>o+1)for(t=o+1;t>3;return 31===s&&i[r(691)][r(1093)]>=2&&(s=32+((7&i[r(691)][0])<<3)+((224&i[r(691)][1])>>5)),s}return null},n[e(1208)]=function(t){n[e(334)].call(this,4,t)},n.DecoderConfigDescriptor[e(265)]=new(n[e(334)]),n[e(1208)][e(265)][e(522)]=function(t){var r=e;this.oti=t.readUint8(),this.streamType=t.readUint8(),this[r(837)]=0!=(this[r(1144)]>>1&1),this[r(1144)]=this[r(1144)]>>>2,this[r(1242)]=t.readUint24(),this[r(1100)]=t.readUint32(),this[r(1025)]=t[r(453)](),this[r(326)]-=13,this[r(1389)](t)},n.DecoderSpecificInfo=function(t){var r=e;n[r(334)][r(465)](this,5,t)},n[e(459)][e(265)]=new(n[e(334)]),n[e(959)]=function(t){var r=e;n.Descriptor[r(465)](this,6,t)},n[e(959)].prototype=new n.Descriptor,this};s(476)!==s(498)&&(t[s(184)]=d);var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat",s(1002),s(818),s(318),"meco","strk"],FULL_BOXES:[s(696),s(421),s(1056),s(1277),s(1020),s(655),s(636)],CONTAINER_BOXES:[[s(541),["trak","pssh"]],[s(871)],[s(446)],["mdia"],[s(1445)],["dinf"],["stbl",[s(727),s(886)]],[s(978),[s(944)]],["moof",[s(821)]],["traf",["trun","sgpd",s(886)]],[s(1351)],["tref"],["iref"],["mfra",[s(175)]],[s(1182)],[s(1287)],[s(283)],[s(1391)],[s(442)],["sinf"],["rinf"],[s(1151)],[s(419)],[s(536),[s(938)]],["iprp",[s(904)]],["ipco"],["grpl"],[s(824)],[s(974),["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;h[e(1138)][e(265)]=new h.Box,h.ContainerBox.prototype=new h.Box,h[e(435)][e(265)]=new(h[e(626)]),h[e(670)][e(265)]=new h.FullBox,h[e(1385)][e(486)]((function(e){h.createBoxCtor(e)})),h[e(521)][e(486)]((function(t){h[e(1436)](t)})),h[e(551)].forEach((function(t){h[e(652)](t[0],null,t[1])}))},Box:function(e,t,r){this[s(1255)]=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){var n=s;h[n(626)][n(465)](this,e,t,r),this[n(485)]=0,this[n(977)]=0},ContainerBox:function(e,t,r){var n=s;h[n(626)][n(465)](this,e,t,r),this[n(734)]=[]},SampleEntry:function(e,t,r,n){var i=s;h[i(475)][i(465)](this,e,t),this.hdr_size=r,this.start=n},SampleGroupEntry:function(e){this[s(445)]=e},TrackGroupTypeBox:function(e,t){var r=s;h.FullBox[r(465)](this,e,t)},createBoxCtor:function(e,t){var r=s;h[r(1190)][r(742)](e),h[e+"Box"]=function(t){var n=r;h.Box[n(465)](this,e,t)},h[e+r(626)][r(265)]=new(h[r(626)]),t&&(h[e+r(626)][r(265)][r(522)]=t)},createFullBoxCtor:function(e,t){var r=s;h[e+"Box"]=function(t){var r=_o;h[r(1138)][r(465)](this,e,t)},h[e+r(626)][r(265)]=new(h[r(1138)]),h[e+r(626)].prototype[r(522)]=function(e){var n=r;this.parseFullHeader(e),t&&t[n(465)](this,e)}},addSubBoxArrays:function(e){if(e){this[s(431)]=e;for(var t=e.length,r=0;rr?(o[c(208)](c(1005),c(1082)+f+c(832)+d+c(278)+r),{code:h[c(558)],type:f,size:d,hdr_size:l,start:u}):0!==d&&u+d>e.getEndPosition()?(e[c(1332)](u),o[c(1134)](c(1005),c(1448)+f+c(169)),{code:h[c(558)],type:f,size:d,hdr_size:l,start:u}):t?{code:h.OK,type:f,size:d,hdr_size:l,start:u}:(h[f+"Box"]?n=new(h[f+c(626)])(d):"uuid"!==f?(o.warn(c(1005),"Unknown box type: '"+f+"'"),(n=new(h[c(626)])(f,d))[c(272)]=!0):h[c(1050)][a]?n=new(h[c(1050)][a])(d):(o.warn(c(1005),c(841)+a+"'"),(n=new(h[c(626)])(f,d))[c(1161)]=a,n[c(272)]=!0),n.hdr_size=l,n[c(919)]=u,n.write===h[c(626)].prototype[c(927)]&&n[c(1255)]!==c(356)&&(o[c(1134)](c(1005),"'"+p+c(1361)),n.parseDataAndRewind(e)),n.parse(e),(i=e[c(920)]()-(n[c(919)]+n[c(326)]))<0?(o[c(846)]("BoxParser",c(530)+p+"' did not read the entire indicated box data size (missing "+-i+" bytes), seeking forward"),e[c(1332)](n[c(919)]+n.size)):i>0&&(o.error(c(1005),c(530)+p+c(844)+i+c(176)),0!==n[c(326)]&&e[c(1332)](n[c(919)]+n.size)),{code:h.OK,box:n,size:n[c(326)]})},h[s(626)][s(265)][s(522)]=function(e){var t=s;"mdat"!=this[t(1255)]?this[t(691)]=e.readUint8Array(this[t(326)]-this[t(1307)]):0===this[t(326)]?e[t(1332)](e[t(201)]()):e[t(1332)](this[t(919)]+this[t(326)])},h.Box[s(265)][s(1366)]=function(e){var t=s;this.data=e[t(240)](this[t(326)]-this[t(1307)]),e[t(1293)]-=this[t(326)]-this[t(1307)]},h[s(1138)][s(265)][s(1366)]=function(e){var t=s;this[t(905)](e),this[t(691)]=e[t(240)](this.size-this[t(1307)]),this[t(1307)]-=4,e[t(1293)]-=this[t(326)]-this[t(1307)]},h.FullBox[s(265)][s(905)]=function(e){var t=s;this[t(977)]=e[t(988)](),this[t(485)]=e.readUint24(),this[t(1307)]+=4},h[s(1138)][s(265)][s(522)]=function(e){var t=s;this[t(905)](e),this[t(691)]=e[t(240)](this.size-this[t(1307)])},h[s(475)][s(265)][s(522)]=function(e){for(var t,r,n=s;e[n(920)]()>10&31,r[1]=this[t(553)]>>5&31,r[2]=31&this[t(553)],this[t(1297)]=String.fromCharCode(r[0]+96,r[1]+96,r[2]+96)},h[s(1008)]=s(358),h[s(1386)]=s(473),h[s(597)]=s(389),h[s(640)]=s(834),h[s(902)]=s(1416),h[s(360)]=s(907),h[s(732)]="Text",h[s(435)].prototype.parseHeader=function(e){var t=s;e[t(240)](6),this[t(162)]=e[t(519)](),this[t(1307)]+=8},h[s(435)][s(265)][s(522)]=function(e){var t=s;this[t(155)](e),this[t(691)]=e.readUint8Array(this[t(326)]-this[t(1307)])},h[s(435)][s(265)][s(1366)]=function(e){var t=s;this[t(155)](e),this[t(691)]=e[t(240)](this[t(326)]-this[t(1307)]),this[t(1307)]-=8,e[t(1293)]-=this[t(326)]-this.hdr_size},h[s(435)][s(265)].parseFooter=function(e){var t=s;h[t(475)][t(265)].parse[t(465)](this,e)},h[s(684)](h[s(597)]),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h[s(684)](h[s(902)]),h[s(684)](h[s(360)]),h[s(684)](h[s(732)]),h[s(684)](h[s(1008)],(function(e){var t,r=s;this[r(155)](e),e[r(519)](),e[r(519)](),e[r(503)](3),this.width=e[r(519)](),this[r(941)]=e[r(519)](),this.horizresolution=e[r(453)](),this[r(665)]=e[r(453)](),e[r(453)](),this[r(197)]=e.readUint16(),t=Math.min(31,e[r(988)]()),this[r(638)]=e[r(723)](t),t<31&&e.readString(31-t),this[r(520)]=e[r(519)](),e[r(519)](),this[r(646)](e)})),h[s(684)](h[s(1386)],(function(e){var t=s;this[t(155)](e),e[t(503)](2),this.channel_count=e.readUint16(),this[t(315)]=e[t(519)](),e.readUint16(),e[t(519)](),this.samplerate=e.readUint32()/65536,this[t(646)](e)})),h.createSampleEntryCtor(h[s(1008)],s(610)),h[s(1396)](h[s(1008)],"avc2"),h[s(1396)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(527)),h[s(1396)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1341)),h.createSampleEntryCtor(h[s(1008)],s(981)),h[s(1396)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(223)),h[s(1396)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1157)),h[s(1396)](h[s(1008)],s(756)),h[s(1396)](h[s(1008)],"hvt1"),h[s(1396)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(717)),h.createSampleEntryCtor(h[s(1008)],s(1394)),h[s(1396)](h[s(1008)],"dvhe"),h[s(1396)](h[s(1008)],"vvc1"),h[s(1396)](h[s(1008)],s(241)),h[s(1396)](h[s(1008)],s(381)),h[s(1396)](h[s(1008)],s(1395)),h[s(1396)](h[s(1008)],s(256)),h.createSampleEntryCtor(h[s(1008)],"vp09"),h.createSampleEntryCtor(h[s(1008)],s(1317)),h[s(1396)](h[s(1008)],s(390)),h[s(1396)](h[s(1008)],"mjp2"),h.createSampleEntryCtor(h[s(1008)],s(628)),h[s(1396)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1252)),h[s(1396)](h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h[s(1386)],s(781)),h[s(1396)](h[s(1386)],s(957)),h[s(1396)](h[s(1386)],s(710)),h[s(1396)](h[s(1386)],s(1240)),h[s(1396)](h[s(1386)],"mha1"),h.createSampleEntryCtor(h[s(1386)],"mha2"),h[s(1396)](h[s(1386)],s(1039)),h.createSampleEntryCtor(h[s(1386)],s(1066)),h.createEncryptedSampleEntryCtor(h[s(1008)],s(1021)),h[s(1023)](h[s(1386)],s(370)),h[s(1023)](h[s(902)],s(1353)),h[s(1023)](h[s(360)],s(1170)),h.createEncryptedSampleEntryCtor(h[s(732)],s(839)),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,s(1011)),h[s(758)](s(794),(function(e){var t=s,r=16*(1+(1&(1&e[t(988)]())));this.layer_size=[];for(var n=0;n<3;n++)this[t(1220)][n]=16==r?e[t(519)]():e.readUint32()})),h.createBoxCtor(s(708),(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor(s(1116),(function(e){var t=s;this[t(300)]=e[t(264)]();var r=this[t(326)]-this[t(1307)]-(this.aux_type[t(1093)]+1);this[t(1254)]=e[t(240)](r)})),h[s(758)]("av1C",(function(e){var t=s,r=e[t(988)]();if(r>>7&!1)o.error(t(1336));else if(this.version=127&r,1===this.version)if(r=e[t(988)](),this[t(585)]=r>>5&7,this[t(1429)]=31&r,r=e[t(988)](),this[t(516)]=r>>7&1,this[t(1449)]=r>>6&1,this[t(180)]=r>>5&1,this[t(815)]=r>>4&1,this[t(809)]=r>>3&1,this[t(859)]=r>>2&1,this[t(1424)]=3&r,r=e[t(988)](),this.reserved_1=r>>5&7,0===this[t(609)]){if(this.initial_presentation_delay_present=r>>4&1,1===this[t(1450)])this.initial_presentation_delay_minus_one=15&r;else if(this[t(915)]=15&r,0!==this[t(915)])return void o[t(208)]("av1C reserved_2 parsing problem");var n=this[t(326)]-this[t(1307)]-4;this[t(897)]=e[t(240)](n)}else o[t(208)](t(493));else o.error(t(1168)+this.version+t(1451))})),h[s(758)](s(733),(function(e){var t,r,n=s;for(this[n(1185)]=e[n(988)](),this[n(763)]=e[n(988)](),this.profile_compatibility=e[n(988)](),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e[n(988)](),this[n(766)]=31&e[n(988)](),r=this[n(326)]-this[n(1307)]-6,this.SPS=[],t=0;t0&&(this[n(1327)]=e[n(240)](r))})),h[s(758)](s(631),(function(e){var t=s;this[t(698)]=e[t(453)](),this[t(1100)]=e[t(453)](),this[t(1025)]=e[t(453)]()})),h[s(1436)](s(1455),(function(e){var t=s,r=e[t(988)]();this.all_ref_pics_intra=128==(128&r),this.intra_pred_used=64==(64&r),this[t(1309)]=(63&r)>>2,e[t(998)]()})),h[s(758)](s(332),(function(e){var t,r=s;for(this.channel_count=e[r(519)](),this[r(436)]=[],this[r(950)]=[],this[r(1375)]=[],t=0;t=32768&&this[t(888)][t(742)](e[t(264)]())}})),h[s(1436)](s(1120),(function(e){var t,r,n=s;if(t=e[n(453)](),this[n(1177)]=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this[t(744)]=e[t(240)](this.size-4))})),h[s(1436)](s(1012),(function(e){var t=s;this[t(1052)](e),this[t(375)]=e[t(264)]()})),h[s(1436)](s(490),(function(e){var t=s;0===this.version&&(this[t(1191)]=e[t(1338)](),this[t(299)]=e[t(1338)](),this[t(1337)]=e[t(1338)](),this[t(183)]=e.readInt32(),this.compositionEndTime=e[t(1338)]())})),h[s(1436)](s(511),(function(e){var t,r,n=s;if(t=e.readUint32(),this[n(1367)]=[],this[n(1090)]=[],0===this.version)for(r=0;r>6,this.bsid=r>>1&31,this[t(953)]=(1&r)<<2|n>>6&3,this[t(1076)]=n>>3&7,this[t(329)]=n>>2&1,this.bit_rate_code=3&n|i>>5&7})),h[s(758)](s(439),(function(e){var t=s,r=e.readUint16();this[t(925)]=r>>3,this.num_ind_sub=7&r,this[t(428)]=[];for(var n=0;n>6,i.bsid=o>>1&31,i[t(953)]=(1&o)<<4|a>>4&15,i[t(1076)]=a>>1&7,i[t(329)]=1&a,i.num_dep_sub=c>>1&15,i[t(1239)]>0&&(i[t(509)]=(1&c)<<8|e[t(988)]())}})),h.createFullBoxCtor(s(1156),(function(e){var t=s,r=[],n=[t(408),t(221),t(932),t(843),"VORBIS_COMMENT",t(590),t(903),t(971)];for(this.parseFullHeader(e);;){var i=e[t(988)](),o=Math[t(304)](127&i,n[t(1093)]-1);if(o?e[t(240)](e.readUint24()):(e[t(240)](13),this[t(1358)]=e[t(453)]()>>12,e[t(240)](20)),r[t(742)](n[o]),128&i)break}this[t(1371)]=r[t(1093)]+" ("+r[t(1425)](", ")+")"})),h.createBoxCtor(s(1062),(function(e){this[s(1184)]=e.readUint64()})),h[s(758)](s(504),(function(e){this[s(1069)]=e.readUint32()})),h.createBoxCtor(s(693),(function(e){this[s(1184)]=e.readUint64()})),h[s(758)](s(506),(function(e){var t=s;if(this[t(909)]=e[t(988)](),this[t(707)]=e[t(988)](),this[t(849)]=e.readUint16(),this[t(1364)]=e.readUint32(),this.OutputGain=e[t(930)](),this.ChannelMappingFamily=e[t(988)](),0!==this[t(497)]){this[t(392)]=e[t(988)](),this[t(501)]=e.readUint8(),this[t(616)]=[];for(var r=0;r=4;)this[t(342)][n]=e[t(723)](4),r-=4,n++})),h[s(1436)](s(1079),(function(e){var t=s;0===this[t(977)]&&(e[t(453)](),this.handler=e[t(723)](4),e[t(503)](3),this[t(1223)]=e.readString(this[t(326)]-this[t(1307)]-20),"\0"===this[t(1223)][this[t(1223)][t(1093)]-1]&&(this[t(1223)]=this[t(1223)][t(1152)](0,-1)))})),h.createBoxCtor(s(1048),(function(e){var t,r,n,i,o=s;this[o(1185)]=e[o(988)](),i=e[o(988)](),this.general_profile_space=i>>6,this.general_tier_flag=(32&i)>>5,this[o(1148)]=31&i,this[o(931)]=e.readUint32(),this.general_constraint_indicator=e[o(240)](6),this[o(800)]=e[o(988)](),this.min_spatial_segmentation_idc=4095&e[o(519)](),this.parallelismType=3&e[o(988)](),this.chroma_format_idc=3&e.readUint8(),this[o(359)]=7&e[o(988)](),this[o(1299)]=7&e[o(988)](),this[o(785)]=e[o(519)](),i=e.readUint8(),this[o(1228)]=i>>6,this[o(870)]=(13&i)>>3,this[o(374)]=(4&i)>>2,this[o(893)]=3&i,this.nalu_arrays=[];var a=e[o(988)]();for(t=0;t>7,c[o(1257)]=63&i;var u=e.readUint16();for(r=0;r>4&15,this[r(617)]=15&t,t=e[r(988)](),this.base_offset_size=t>>4&15,1===this[r(977)]||2===this.version?this[r(906)]=15&t:this[r(906)]=0,this.items=[];var n=0;if(this.version<2)n=e[r(519)]();else{if(2!==this.version)throw r(1111);n=e[r(453)]()}for(var i=0;i>7,this[t(280)]=1&r})),h[s(1436)]("infe",(function(e){var t=s;if((0===this[t(977)]||1===this[t(977)])&&(this.item_ID=e.readUint16(),this[t(296)]=e[t(519)](),this[t(714)]=e.readCString(),this.content_type=e.readCString(),this[t(608)]=e[t(264)]()),1===this.version)return this[t(1004)]=e[t(723)](4),o[t(846)](t(1005),t(784)),void e[t(1332)](this[t(919)]+this.size);this.version>=2&&(2===this[t(977)]?this[t(1189)]=e[t(519)]():3===this[t(977)]&&(this[t(1189)]=e[t(453)]()),this[t(296)]=e[t(519)](),this[t(951)]=e[t(723)](4),this[t(714)]=e[t(264)](),"mime"===this.item_type?(this.content_type=e[t(264)](),this[t(608)]=e[t(264)]()):this[t(951)]===t(862)&&(this.item_uri_type=e[t(264)]()))})),h[s(1436)]("ipma",(function(e){var t,r,n=s;for(entry_count=e[n(453)](),this.associations=[],t=0;t>7==1,1&this.flags?c[n(1176)]=(127&a)<<8|e[n(988)]():c[n(1176)]=127&a}}})),h.createFullBoxCtor("iref",(function(e){var t,r,n=s;for(this[n(921)]=[];e.getPosition()>7,i[t(1117)]=127&a,i[t(1117)]){case 0:i.grouping_type=e[t(723)](4);break;case 1:i[t(445)]=e[t(723)](4),i[t(1346)]=e[t(453)]();break;case 2:case 3:break;case 4:i[t(171)]=e.readUint32();break;default:o.warn("BoxParser",t(456))}}})),h[s(758)]("lsel",(function(e){var t=s;this.layer_id=e[t(519)]()})),h[s(758)](s(402),(function(e){var t=s;this.period=e[t(453)](),this[t(853)]=e.readUint32()})),f[s(265)][s(1051)]=function(){return"("+this.x+","+this.y+")"},h[s(758)](s(1063),(function(e){var t=s;this[t(546)]=[],this[t(546)][0]=new f(e.readUint16(),e[t(519)]()),this.display_primaries[1]=new f(e[t(519)](),e[t(519)]()),this[t(546)][2]=new f(e[t(519)](),e[t(519)]()),this[t(740)]=new f(e[t(519)](),e[t(519)]()),this.max_display_mastering_luminance=e[t(453)](),this[t(396)]=e[t(453)]()})),h[s(1436)]("mdhd",(function(e){var t=s;1==this[t(977)]?(this.creation_time=e[t(1109)](),this[t(1139)]=e[t(1109)](),this.timescale=e[t(453)](),this[t(1381)]=e[t(1109)]()):(this[t(305)]=e[t(453)](),this[t(1139)]=e[t(453)](),this[t(1131)]=e.readUint32(),this[t(1381)]=e[t(453)]()),this[t(1052)](e),e[t(519)]()})),h.createFullBoxCtor(s(1141),(function(e){var t=s;1&this[t(485)]&&(o[t(846)](t(1005),"mehd box incorrectly uses flags set to 1, converting version to 1"),this[t(977)]=1),1==this[t(977)]?this[t(845)]=e[t(1109)]():this[t(845)]=e[t(453)]()})),h.createFullBoxCtor(s(1037),(function(e){var t=s;this.boxes=[],h[t(475)].prototype[t(522)].call(this,e)})),h[s(1436)](s(518),(function(e){var t=s;this.sequence_number=e[t(453)]()})),h[s(1436)](s(514),(function(e){var t=s;this[t(579)]=e[t(453)]()})),h.createFullBoxCtor(s(350),(function(e){var t=s;this[t(1340)]=e[t(988)]()})),h[s(1436)](s(1159),(function(e){var t=s;1==this.version?(this[t(305)]=e[t(1109)](),this[t(1139)]=e[t(1109)](),this.timescale=e.readUint32(),this.duration=e[t(1109)]()):(this[t(305)]=e[t(453)](),this[t(1139)]=e[t(453)](),this[t(1131)]=e[t(453)](),this[t(1381)]=e[t(453)]()),this[t(1404)]=e[t(453)](),this[t(908)]=e.readUint16()>>8,e[t(519)](),e[t(503)](2),this[t(1250)]=e.readUint32Array(9),e[t(503)](6),this[t(1413)]=e[t(453)]()})),h[s(758)](s(178),(function(e){this.packetssent=e.readUint32()})),h[s(758)](s(253),(function(e){var t=s;this.packetssent=e[t(1109)]()})),h[s(1436)]("padb",(function(e){var t=s,r=e.readUint32();this[t(156)]=[];for(var n=0;n0){var r=e[t(453)]();this[t(457)]=[];for(var n=0;n0&&(this[t(691)]=e[t(240)](i))})),h[s(1436)](s(1434),(function(e){var t=s;this.width=e[t(453)](),this.height=e[t(453)]()})),h[s(1436)](s(399),(function(e){var t=s;this[t(190)]=e.readUint32(),this[t(941)]=e[t(453)]()})),h[s(1436)](s(1169),(function(e){var t=s;this[t(190)]=e[t(453)](),this[t(941)]=e[t(453)]()})),h.createContainerBoxCtor(s(1291),null,[s(1434),"prof",s(399)]),h[s(758)](s(295),(function(e){var t=s;this.descriptionformat=e[t(723)](4),this[t(1086)]=e[t(723)](this[t(326)]-this[t(1307)]-4)})),h[s(1436)](s(160),(function(e){var t=s;1&this[t(485)]&&(this[t(1362)]=e[t(453)](),this[t(468)]=e.readUint32());var r=e.readUint32();this.offset=[];for(var n=0;n>7,this[t(1036)]=r>>6&1,this[t(1373)]&&(this[t(1381)]=e[t(453)]()),this.avgRateFlag&&(this[t(1280)]=e[t(988)](),this[t(383)]=e[t(519)](),this.avgFrameRate=e.readUint16()),this[t(496)]=[];for(var n=e[t(988)](),i=0;i>7,this.num_leading_samples=127&r})),h.createSampleGroupCtor(s(266),(function(e){var t=s;if(this.operation_point_count=e[t(519)](),this[t(297)]!==2+(1===this[t(611)]?2:6*this[t(611)])+9)o[t(846)](t(1005),t(479)+this[t(445)]+t(164)),this.data=e[t(240)](this.description_length-2);else{if(1===this[t(611)])this.target_rate_share=e[t(519)]();else{this[t(282)]=[],this[t(1043)]=[];for(var r=0;r>4,this[t(874)]=15&r,this[t(306)]=e[t(988)](),this[t(605)]=e.readUint8(),this[t(600)]=h[t(277)](e),this.constant_IV_size=0,this[t(840)]=0,1===this[t(306)]&&0===this[t(605)]&&(this[t(1019)]=e[t(988)](),this[t(840)]=e[t(240)](this[t(1019)]))})),h[s(437)](s(1323),(function(e){var t=s;o.warn(t(1005),t(678)+this[t(445)]+t(955))})),h[s(437)]("sync",(function(e){var t=s,r=e[t(988)]();this[t(673)]=63&r})),h.createSampleGroupCtor("tele",(function(e){var t=e[s(988)]();this.level_independently_decodable=t>>7})),h[s(437)]("tsas",(function(e){var t=s;o[t(846)]("BoxParser","Sample Group type: "+this[t(445)]+" not fully parsed")})),h[s(437)](s(441),(function(e){var t=s;o[t(846)]("BoxParser",t(678)+this[t(445)]+t(955))})),h[s(437)](s(566),(function(e){var t=s;o[t(846)](t(1005),t(678)+this[t(445)]+" not fully parsed")})),h[s(1436)](s(886),(function(e){var t=s;this[t(445)]=e.readString(4),1===this[t(977)]?this[t(1346)]=e[t(453)]():this.grouping_type_parameter=0,this[t(368)]=[];for(var r=e.readUint32(),n=0;n>6,this[r(933)][i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this[r(210)][i]=3&t})),h.createFullBoxCtor(s(1283)),h[s(1436)](s(727),(function(e){var t=s;this[t(445)]=e[t(723)](4),o.debug(t(1005),t(1219)+this.grouping_type),1===this.version?this[t(737)]=e.readUint32():this.default_length=0,this[t(977)]>=2&&(this.default_group_description_index=e.readUint32()),this[t(368)]=[];for(var r=e[t(453)](),n=0;n>31&1,i[t(672)]=2147483647&o,i.subsegment_duration=e[t(453)](),o=e[t(453)](),i.starts_with_SAP=o>>31&1,i.SAP_type=o>>28&7,i[t(239)]=268435455&o}})),h.SingleItemTypeReferenceBox=function(e,t,r,n){var i=s;h[i(626)].call(this,e,t),this[i(1307)]=r,this[i(919)]=n},h.SingleItemTypeReferenceBox[s(265)]=new h.Box,h.SingleItemTypeReferenceBox.prototype[s(522)]=function(e){var t=s;this[t(204)]=e.readUint16();var r=e[t(519)]();this[t(921)]=[];for(var n=0;n>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this[t(1192)]=15&r}this.default_isProtected=e[t(988)](),this.default_Per_Sample_IV_Size=e[t(988)](),this[t(1318)]=h[t(277)](e),1===this[t(494)]&&0===this[t(1276)]&&(this.default_constant_IV_size=e.readUint8(),this[t(1155)]=e[t(240)](this[t(340)]))})),h[s(1436)]("tfdt",(function(e){var t=s;1==this[t(977)]?this[t(1095)]=e.readUint64():this.baseMediaDecodeTime=e[t(453)]()})),h[s(1436)](s(371),(function(e){var t=s,r=0;this[t(525)]=e[t(453)](),this[t(326)]-this[t(1307)]>r&&this[t(485)]&h[t(1158)]?(this[t(1244)]=e.readUint64(),r+=8):this[t(1244)]=0,this[t(326)]-this[t(1307)]>r&&this.flags&h[t(711)]?(this[t(251)]=e[t(453)](),r+=4):this[t(251)]=0,this[t(326)]-this[t(1307)]>r&&this.flags&h[t(1165)]?(this[t(451)]=e[t(453)](),r+=4):this[t(451)]=0,this.size-this.hdr_size>r&&this[t(485)]&h.TFHD_FLAG_SAMPLE_SIZE?(this[t(1147)]=e[t(453)](),r+=4):this[t(1147)]=0,this[t(326)]-this[t(1307)]>r&&this[t(485)]&h[t(999)]?(this.default_sample_flags=e.readUint32(),r+=4):this.default_sample_flags=0})),h[s(1436)](s(175),(function(e){var t=s;this.track_ID=e[t(453)](),e[t(998)]();var r=e[t(988)]();this[t(1081)]=r>>4&3,this.length_size_of_trun_num=r>>2&3,this.length_size_of_sample_num=3&r,this[t(368)]=[];for(var n=e[t(453)](),i=0;i>8,e[t(519)](),this[t(1250)]=e[t(232)](9),this[t(190)]=e.readUint32(),this[t(941)]=e[t(453)]()})),h[s(758)](s(1196),(function(e){var t=s;this.time=e[t(453)]()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h[s(758)](s(835),(function(e){var t=s;this.bytessent=e[t(453)]()})),h.createBoxCtor(s(991),(function(e){var t=s;this[t(1184)]=e[t(453)]()})),h[s(758)]("tpyl",(function(e){var t=s;this[t(1184)]=e[t(1109)]()})),h.TrackGroupTypeBox[s(265)][s(522)]=function(e){var t=s;this[t(905)](e),this[t(1188)]=e.readUint32()},h[s(1044)](s(1401)),h[s(695)]=function(e,t,r,n){var i=s;h[i(626)].call(this,e,t),this[i(1307)]=r,this[i(919)]=n},h.TrackReferenceTypeBox.prototype=new(h[s(626)]),h[s(695)][s(265)][s(522)]=function(e){var t=s;this[t(1226)]=e[t(503)]((this[t(326)]-this[t(1307)])/4)},h[s(560)].prototype[s(522)]=function(e){for(var t,r,n=s;e[n(920)]()r&&this[t(485)]&h[t(1217)]?(this[t(1272)]=e[t(1338)](),r+=4):this[t(1272)]=0,this[t(326)]-this[t(1307)]>r&&this.flags&h[t(1180)]?(this[t(880)]=e[t(453)](),r+=4):this[t(880)]=0,this[t(170)]=[],this.sample_size=[],this[t(1064)]=[],this[t(259)]=[],this.size-this[t(1307)]>r)for(var n=0;n>7&1,this.block_pad_lsb=n>>6&1,this[r(1015)]=n>>5&1,this[r(1430)]=n>>4&1,this.pad_unknown=n>>3&1,this.pixel_size=e[r(453)](),this[r(918)]=e[r(453)](),this[r(417)]=e[r(453)](),this[r(302)]=e[r(453)](),this[r(526)]=e[r(453)]()}})),h.createFullBoxCtor(s(1273),(function(e){var t=s;1!==this.flags&&(this.location=e[t(264)]())})),h[s(1436)](s(181),(function(e){var t=s;this.name=e[t(264)](),this[t(326)]-this[t(1307)]-this[t(1223)][t(1093)]-1>0&&(this[t(647)]=e.readCString())})),h[s(499)](s(263),!0,!1,(function(e){var t=s;this[t(1130)]=e[t(723)](this[t(326)]-this[t(1307)])[t(1384)](/&/g,t(960))[t(1384)](//g,">")[t(1384)](/"/g,""").replace(/'/g,t(739))})),h[s(499)](s(876),!0,!1,(function(e){var t=s;this.system_id=h[t(277)](e);var r=e[t(453)]();r>0&&(this[t(691)]=e[t(240)](r))})),h[s(499)](s(1046),!0,!1),h[s(499)](s(654),!0,!1,(function(e){var t=s;this[t(836)]=e.readUint24(),this.default_IV_size=e.readUint8(),this[t(1318)]=h[t(277)](e)})),h[s(499)](s(1166),!0,!1,(function(e){var t=s;this[t(1230)]=e[t(988)](),this[t(368)]=[];for(var r=0;r>4,this[r(333)]=t>>1&7,this[r(866)]=1&t,this.colourPrimaries=e[r(988)](),this[r(403)]=e.readUint8(),this.matrixCoefficients=e[r(988)](),this[r(882)]=e[r(519)](),this[r(165)]=e.readUint8Array(this.codecIntializationDataSize)):(this[r(1126)]=e[r(988)](),this[r(686)]=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this[r(633)]=15&t,t=e[r(988)](),this[r(333)]=t>>4&15,this[r(900)]=t>>1&7,this.videoFullRangeFlag=1&t,this[r(882)]=e[r(519)](),this.codecIntializationData=e[r(240)](this[r(882)]))})),h[s(758)]("vttC",(function(e){var t=s;this.text=e[t(723)](this[t(326)]-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){var t=_o;this[t(1348)]=e.readUint8(),this[t(363)]=8},stream_read_2_bytes:function(e){var t=_o;this[t(1348)]=e[t(519)](),this[t(363)]=16},extract_bits:function(e){var t=_o,r=this[t(1348)]>>this[t(363)]-e&(1<1){for(i[n(1410)](e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var c=i.extract_bits(1);this[n(1110)]|=c<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;r+=h[t(581)](i,0),r+=".",0===this[t(1048)][t(669)]?r+="L":r+="H",r+=this[t(1048)][t(800)];var o=!1,a="";for(e=5;e>=0;e--)(this[t(1048)][t(1246)][e]||o)&&(a="."+h.decimalToHex(this[t(1048)][t(1246)][e],0)+a,o=!0);r+=a}return r},h.vvc1SampleEntry[s(265)].getCodec=h.vvi1SampleEntry[s(265)].getCodec=function(){var e,t=s,r=h[t(435)][t(265)][t(680)][t(465)](this);if(this[t(1091)]){r+="."+this[t(1091)].general_profile_idc,this[t(1091)][t(669)]?r+=".H":r+=".L",r+=this[t(1091)][t(800)];var n="";if(this[t(1091)].general_constraint_info){var i,o=[],a=0;for(a|=this[t(1091)][t(387)]<<7,a|=this[t(1091)][t(1443)]<<6,e=0;e>2&63,o.push(a),a&&(i=e),a=this[t(1091)][t(331)][e]>>2&3;if(void 0===i)n=t(477);else{n=".C";var c=t(1067),u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|o[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},h[s(554)][s(265)][s(680)]=function(){var e=s,t=h.SampleEntry[e(265)][e(680)][e(465)](this);if(this[e(438)]&&this.esds.esd){var r=this[e(438)][e(225)][e(281)](),n=this[e(438)][e(225)][e(816)]();return t+"."+h[e(581)](r)+(n?"."+n:"")}return t},h.stxtSampleEntry[s(265)][s(680)]=function(){var e=s,t=h[e(435)][e(265)][e(680)][e(465)](this);return this[e(1331)]?t+"."+this[e(1331)]:t},h[s(352)].prototype.getCodec=h[s(1045)][s(265)][s(680)]=function(){var e=s,t=h[e(435)][e(265)][e(680)][e(465)](this),r=this.vpcC[e(686)];0==r&&(r="00");var n=this[e(762)].bitDepth;return 8==n&&(n="08"),t+".0"+this[e(762)][e(1126)]+"."+r+"."+n},h.av01SampleEntry[s(265)][s(680)]=function(){var e,t=s,r=h[t(435)][t(265)].getCodec[t(465)](this),n=this[t(313)][t(1429)];return n<10&&(n="0"+n),2===this[t(313)].seq_profile&&1===this.av1C[t(1449)]?e=1===this[t(313)][t(180)]?"12":"10":this[t(313)][t(585)]<=2&&(e=1===this.av1C[t(1449)]?"10":"08"),r+"."+this.av1C[t(585)]+"."+n+(this.av1C.seq_tier_0?"H":"M")+"."+e},h[s(626)][s(265)][s(247)]=function(e,t){var r=s;this.size+=8,this[r(326)]>u&&(this.size+=8),"uuid"===this.type&&(this[r(326)]+=16),o[r(814)](r(1218),r(369)+this[r(1255)]+" of size: "+this.size+r(1345)+e[r(920)]()+(t||"")),this.size>u?e[r(651)](1):(this[r(1377)]=e[r(920)](),e[r(651)](this[r(326)])),e[r(829)](this[r(1255)],null,4),this[r(1255)]===r(1161)&&e[r(319)](this[r(1161)]),this.size>u&&e.writeUint64(this.size)},h[s(1138)].prototype[s(247)]=function(e){var t=s;this.size+=4,h[t(626)][t(265)][t(247)][t(465)](this,e,t(179)+this.version+t(1200)+this.flags),e[t(749)](this[t(977)]),e[t(725)](this[t(485)])},h.Box[s(265)].write=function(e){var t=s;this[t(1255)]===t(356)?this.data&&(this[t(326)]=this.data[t(1093)],this[t(247)](e),e[t(319)](this.data)):(this[t(326)]=this[t(691)]?this[t(691)][t(1093)]:0,this[t(247)](e),this[t(691)]&&e[t(319)](this[t(691)]))},h.ContainerBox[s(265)][s(927)]=function(e){var t=s;this[t(326)]=0,this.writeHeader(e);for(var r=0;r=2&&e[n(651)](this[n(251)]),e[n(651)](this[n(368)][n(1093)]),t=0;t0)for(t=0;t+1r?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this[t(247)](e),1===this.version?e[t(979)](this[t(1095)]):e[t(651)](this.baseMediaDecodeTime)},h.tfhdBox[s(265)][s(927)]=function(e){var t=s;this[t(977)]=0,this[t(326)]=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this[t(326)]+=8),this[t(485)]&h.TFHD_FLAG_SAMPLE_DESC&&(this[t(326)]+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this[t(326)]+=4),this[t(485)]&h[t(1412)]&&(this[t(326)]+=4),this[t(485)]&h[t(999)]&&(this[t(326)]+=4),this[t(247)](e),e[t(651)](this[t(525)]),this[t(485)]&h[t(1158)]&&e[t(979)](this.base_data_offset),this[t(485)]&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this[t(251)]),this[t(485)]&h[t(1165)]&&e[t(651)](this.default_sample_duration),this[t(485)]&h.TFHD_FLAG_SAMPLE_SIZE&&e[t(651)](this[t(1147)]),this[t(485)]&h[t(999)]&&e.writeUint32(this.default_sample_flags)},h[s(1408)][s(265)].write=function(e){var t=s;this[t(977)]=0,this[t(326)]=80,this[t(247)](e),e[t(651)](this[t(305)]),e[t(651)](this[t(1139)]),e[t(651)](this[t(525)]),e.writeUint32(0),e[t(651)](this[t(1381)]),e[t(651)](0),e[t(651)](0),e[t(990)](this[t(635)]),e[t(990)](this[t(842)]),e[t(990)](this.volume<<8),e[t(460)](0),e[t(865)](this[t(1250)]),e[t(651)](this.width),e.writeUint32(this[t(941)])},h[s(622)][s(265)][s(927)]=function(e){var t=s;this[t(977)]=0,this[t(485)]=0,this.size=20,this.writeHeader(e),e[t(651)](this.track_id),e[t(651)](this[t(251)]),e[t(651)](this[t(451)]),e[t(651)](this.default_sample_size),e[t(651)](this.default_sample_flags)},h[s(863)][s(265)].write=function(e){var t=s;this[t(977)]=0,this[t(326)]=4,this[t(485)]&h[t(1217)]&&(this[t(326)]+=4),this.flags&h[t(1180)]&&(this[t(326)]+=4),this.flags&h[t(721)]&&(this[t(326)]+=4*this[t(170)][t(1093)]),this[t(485)]&h[t(544)]&&(this[t(326)]+=4*this[t(722)][t(1093)]),this[t(485)]&h[t(615)]&&(this[t(326)]+=4*this.sample_flags[t(1093)]),this.flags&h[t(1142)]&&(this.size+=4*this[t(259)].length),this[t(247)](e),e.writeUint32(this[t(362)]),this[t(485)]&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e[t(920)](),e[t(1222)](this[t(1272)])),this.flags&h[t(1180)]&&e[t(651)](this[t(880)]);for(var r=0;r-1||e[r]instanceof h[n(626)]||t[r]instanceof h[n(626)]||typeof e[r]===n(498)||typeof t[r]===n(498)||typeof e[r]===n(195)||"function"==typeof t[r]||e[n(431)]&&e[n(431)].indexOf(r[n(1152)](0,4))>-1||t[n(431)]&&t[n(431)][n(1201)](r[n(1152)](0,4))>-1||r===n(691)||r===n(919)||r===n(326)||r===n(305)||"modification_time"===r||h[n(1441)][n(1201)](r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){var r=s;if(!h[r(517)](e,t))return!1;for(var n=0;n=t?e:new Array(t-e[n(1093)]+1)[n(1425)](r)+e}function o(e){var t=_o,r=Math[t(213)](e/3600),n=Math[t(213)]((e-3600*r)/60),s=Math[t(213)](e-3600*r-60*n),o=Math[t(213)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(o,3)}for(var a=this[n(404)](r),c="",u=0;u1)for(t=1;t-1&&this[t(668)].splice(r,1)},g[s(265)][s(1003)]=function(e,t,r){var n=s,i=this[n(310)](e);if(i){var o={};this[n(752)][n(742)](o),o.id=e,o[n(398)]=t,o[n(871)]=i,i[n(384)]=0,o[n(1103)]=1e3,o.samples=[],r&&r[n(1187)]&&(o[n(1103)]=r[n(1187)])}},g[s(265)].unsetExtractionOptions=function(e){for(var t=s,r=-1,n=0;n-1&&this[t(752)][t(975)](r,1)},g[s(265)][s(522)]=function(){var e,t,r=s;if(!this[r(928)]||this[r(928)]())for(;;){if(this[r(1286)]&&this[r(1286)]()){if(this[r(413)]())continue;return}if(this[r(989)]&&this[r(989)](),(e=h.parseOneBox(this.stream,false))[r(415)]===h[r(558)]){if(this[r(1321)]){if(this[r(1321)](e))continue;return}return}var n;switch(n="uuid"!==(t=e[r(1437)])[r(1255)]?t.type:t[r(1161)],this[r(734)][r(742)](t),n){case r(356):this[r(1123)][r(742)](t);break;case r(1205):this[r(1108)][r(742)](t);break;case r(541):this[r(713)]=!0,0===this[r(1123)].length&&(this[r(1426)]=!0);default:void 0!==this[n]&&o[r(846)](r(715),r(764)+n+r(316)),this[n]=t}this[r(789)]&&this[r(789)](t,e)}},g[s(265)][s(996)]=function(e){var t=s;if(null==e)throw t(449);if(void 0===e.fileStart)throw t(1097);return 0===e[t(219)]?(o[t(846)](t(715),t(612)+e[t(233)]+")"),this.stream.logBufferLevel(),!1):(o[t(1134)]("ISOFile",t(1369)+e[t(233)]+")"),e[t(1194)]=0,this[t(298)].insertBuffer(e),this.stream[t(964)](),!!this[t(298)].initialized()||(o.warn(t(715),t(1431)),!1))},g[s(265)][s(1072)]=function(e,t){var r,n=s;if(this[n(996)](e))return this[n(522)](),this[n(713)]&&!this[n(704)]&&(this[n(704)]=!0,this.onMoovStart&&this[n(587)]()),this[n(541)]?(!this.sampleListBuilt&&(this.buildSampleLists(),this.sampleListBuilt=!0),this[n(426)](),this.onReady&&!this[n(182)]&&(this[n(182)]=!0,this[n(892)](this[n(741)]())),this[n(774)](t),this[n(1149)]?(r=this[n(1149)],this.nextSeekPosition=void 0):r=this[n(1150)],this.stream[n(412)]&&(r=this.stream[n(412)](r))):r=this.nextParsePosition?this[n(1150)]:0,this[n(537)]&&this[n(1140)]&&!this[n(776)]&&(this[n(1140)](this[n(537)]),this[n(776)]=!0),this[n(1037)]&&(this[n(312)]&&!this[n(1258)]&&(this[n(312)](),this[n(1258)]=!0),this[n(1363)]&&this[n(1363)](this[n(1310)])),this[n(298)][n(549)]&&(o[n(1134)](n(715),n(728)+e[n(233)]+n(320)+r),this[n(298)][n(964)](),this[n(298)][n(549)](),this[n(298)][n(964)](!0),o[n(1134)](n(715),n(1087)+this[n(653)]())),r},g[s(265)][s(741)]=function(){var e,t,r,n,i,o,a=s,c={},u=new Date(a(507))[a(1146)]();if(this[a(541)])for(c[a(434)]=!0,c[a(1381)]=this[a(541)][a(1159)][a(1381)],c[a(1131)]=this[a(541)][a(1159)][a(1131)],c[a(970)]=null!=this[a(541)][a(978)],c[a(970)]&&this[a(541)][a(978)][a(1141)]&&(c[a(845)]=this.moov[a(978)][a(1141)][a(845)]),c[a(1426)]=this[a(1426)],c[a(218)]=null!=this[a(541)][a(1056)],c[a(1178)]=[],c.brands.push(this[a(895)][a(1421)]),c.brands=c[a(1178)].concat(this[a(895)][a(342)]),c[a(788)]=new Date(u+1e3*this[a(541)][a(1159)][a(305)]),c[a(1312)]=new Date(u+1e3*this[a(541)][a(1159)].modification_time),c.tracks=[],c[a(620)]=[],c[a(923)]=[],c.subtitleTracks=[],c[a(614)]=[],c[a(424)]=[],c[a(1163)]=[],e=0;e0?c[a(875)]+=a(550):c[a(620)]&&c[a(620)].length>0?c[a(875)]+=a(1174):c[a(875)]+=a(1121),e=0;e=r.samples[n(1093)])&&(o[n(1134)]("ISOFile","Sending fragmented data on track #"+i.id+n(873)+Math.max(0,r[n(384)]-i.nb_samples)+","+(r[n(384)]-1)+"]"),o[n(1134)](n(715),n(1087)+this[n(653)]()),this[n(400)]&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r[n(384)],e||r[n(384)]>=r[n(1125)].length),i[n(286)]=null,i!==this[n(668)][t]))break}}if(null!==this[n(163)])for(t=0;t=r.samples[n(1093)])&&(o[n(814)]("ISOFile",n(852)+c.id+" for sample "+r[n(384)]),this[n(163)]&&this.onSamples(c.id,c[n(398)],c[n(1125)]),c.samples=[],c!==this[n(752)][t]))break}}}},g.prototype[s(409)]=function(e){var t=s,r=this[t(1145)](e,!0);return r[t(1093)]?r[0]:null},g[s(265)][s(1145)]=function(e,t){var r=s,n=[];return g[r(528)][r(465)](this,e,n,t),n},g[s(528)]=function(e,t,r){var n=s;for(var i in this.type&&this.type==e&&t.push(this),this[n(734)]){if(t[n(1093)]&&r)return;g[n(528)].call(this[n(734)][i],e,t,r)}},g[s(265)][s(976)]=function(e){var t=s,r=this[t(310)](e);return r?r[t(1125)]:void 0},g[s(265)][s(765)]=function(e,t){var r=this[s(310)](e);return this.getSample(r,t)},g[s(265)][s(220)]=function(e,t,r){var n=s,i=0,a=this[n(310)](e);a[n(214)]||(a[n(214)]=0);for(var c=a[n(214)];ce*i.timescale){d=n-1;break}t&&i.is_sync&&(l=n)}for(t&&(d=l),e=r[u(1125)][d].cts,r[u(384)]=d;r.samples[d].alreadyRead===r[u(1125)][d][u(326)]&&r[u(1125)][d+1];)d++;return a=r.samples[d][u(500)]+r[u(1125)][d][u(1105)],o[u(1134)](u(715),u(1374)+(t?"RAP":"")+u(1251)+r[u(384)]+" on track "+r.tkhd[u(525)]+u(1245)+o[u(427)](e,c)+u(1339)+a),{offset:a,time:e/c}},g.prototype.getTrackDuration=function(e){var t,r=s;return e[r(1125)]?((t=e.samples[e.samples.length-1])[r(393)]+t[r(1381)])/t[r(1131)]:1/0},g[s(265)].seek=function(e,t){var r,n,i,a=s,c=this[a(541)],u={offset:1/0,time:1/0};if(this[a(541)]){for(i=0;ithis[a(1221)](r)||((n=this[a(924)](e,t,r))[a(500)]-1){u=l;break}switch(u){case t(358):if(o[t(1183)](t(910))[t(1300)](t(341),0).set(t(769),[0,0,0]),c.set(t(190),r[t(190)])[t(1300)](t(941),r[t(941)]).set(t(705),72<<16).set(t(665),72<<16)[t(1300)](t(197),1)[t(1300)](t(638),r[t(1255)]+t(1326))[t(1300)](t(520),24),r[t(1329)]){var p=new(h[t(452)]);p[t(522)](new a(r[t(1329)])),c.addBox(p)}else if(r.hevcDecoderConfigRecord){var m=new(h[t(828)]);m[t(522)](new a(r[t(798)])),c.addBox(m)}break;case t(473):o[t(1183)]("smhd").set(t(414),r[t(414)]||0),c.set(t(1247),r[t(1247)]||2)[t(1300)](t(315),r[t(315)]||16)[t(1300)]("samplerate",r[t(1358)]||65536);break;case t(389):o.add(t(696));break;case"Subtitle":if(o[t(1183)](t(1405)),r[t(1255)]===t(206))c[t(1300)](t(1018),r.namespace||t(1225))[t(1300)](t(450),r.schema_location||"").set(t(676),r[t(676)]||"");break;case t(834):o[t(1183)]("nmhd");break;default:o[t(1183)](t(421))}r[t(619)]&&c.addBox(r[t(619)]),r[t(896)]&&r.description_boxes[t(486)]((function(e){c.addBox(e)})),o[t(1183)]("dinf")[t(1183)](t(1114)).addEntry((new(h[t(667)]))[t(1300)](t(485),1));var v=o[t(1183)]("stbl");return v[t(1183)](t(1311)).addEntry(c),v[t(1183)](t(429)).set("sample_counts",[]).set(t(755),[]),v[t(1183)]("stsc")[t(1300)](t(820),[])[t(1300)]("samples_per_chunk",[])[t(1300)](t(934),[]),v.add(t(1427))[t(1300)](t(1177),[]),v[t(1183)](t(1181)).set(t(1041),[]),this[t(541)][t(978)][t(1183)](t(944))[t(1300)](t(525),r.id)[t(1300)](t(251),r[t(251)]||1).set(t(451),r.default_sample_duration||0)[t(1300)](t(1147),r[t(1147)]||0)[t(1300)](t(850),r.default_sample_flags||0),this[t(354)](n),r.id}},h[s(626)][s(265)][s(1454)]=function(e){var t=s,r=e||new c;r.endianness=c[t(961)],this[t(927)](r)},g[s(265)][s(1089)]=function(e,t,r){var n=s,i=r||{},o={},a=this.getTrackById(e);if(null!==a){o[n(803)]=a[n(1125)][n(1093)],o[n(525)]=a[n(729)][n(525)],o.timescale=a[n(1372)][n(512)][n(1131)],o[n(759)]=i[n(934)]?i[n(934)]-1:0,o[n(619)]=a[n(1372)][n(1445)][n(1160)][n(1311)][n(368)][o[n(759)]],o.data=t,o[n(326)]=t.byteLength,o[n(1105)]=o[n(326)],o[n(1381)]=i[n(1381)]||1,o[n(393)]=i.cts||0,o[n(1094)]=i[n(1094)]||0,o.is_sync=i[n(1204)]||!1,o[n(458)]=i[n(458)]||0,o.depends_on=i.depends_on||0,o[n(644)]=i[n(644)]||0,o.has_redundancy=i[n(1400)]||0,o[n(775)]=i[n(775)]||0,o[n(500)]=0,o[n(357)]=i[n(357)],a[n(1125)][n(742)](o),a[n(535)]+=o.size,a[n(339)]+=o[n(1381)],void 0===a.first_dts&&(a.first_dts=i[n(1094)]),this[n(774)]();var c=this[n(548)](o);return this[n(1162)](c),c.computeSize(),c[n(338)][0][n(255)][0][n(1272)]=c.size+8,this.add(n(356))[n(691)]=new Uint8Array(t),o}},g[s(265)][s(548)]=function(e){var t=s,r=0;r=e[t(1204)]?1<<25:65536;var n=new h.moofBox;n[t(1183)](t(518))[t(1300)](t(778),this[t(1260)]),this[t(1260)]++;var i=n.add("traf"),o=this[t(310)](e[t(525)]);return i[t(1183)](t(371)).set(t(525),e.track_id)[t(1300)](t(485),h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i[t(1183)]("tfdt")[t(1300)](t(1095),e[t(1094)]-(o[t(260)]||0)),i.add(t(570))[t(1300)]("flags",h[t(1217)]|h.TRUN_FLAGS_DURATION|h[t(544)]|h[t(615)]|h[t(1142)]).set(t(1272),0)[t(1300)](t(880),0)[t(1300)](t(362),1)[t(1300)]("sample_duration",[e[t(1381)]])[t(1300)](t(722),[e[t(326)]])[t(1300)](t(1064),[r])[t(1300)](t(259),[e.cts-e[t(1094)]]),n},g.prototype[s(1137)]=0,g[s(265)][s(624)]=0,g[s(265)].resetTables=function(){var e,t,r,n,i,o,a=s;for(this[a(1440)]=this[a(541)][a(1159)][a(1381)],this[a(541)].mvhd[a(1381)]=0,e=0;e=2&&(u=i[a][l(445)]+"/0",(c=new d(i[a][l(445)],0))[l(1433)]=!0,!t[l(983)][u]&&(t[l(983)][u]=c))}else for(a=0;a=2&&(u=n[a][l(445)]+"/0",c=new d(n[a][l(445)],0),!e.sample_groups_info[u]&&(e[l(983)][u]=c))},g.setSampleGroupProperties=function(e,t,r,n){var i,o,a=s;for(i in t[a(480)]=[],n){var c;if(t[a(480)][i]={},t.sample_groups[i][a(445)]=n[i][a(445)],t[a(480)][i][a(1346)]=n[i].grouping_type_parameter,r>=n[i][a(1193)]&&(n[i].last_sample_in_run<0&&(n[i].last_sample_in_run=0),n[i][a(986)]++,n[i][a(986)]<=n[i][a(886)][a(368)][a(1093)]-1&&(n[i].last_sample_in_run+=n[i][a(886)][a(368)][n[i][a(986)]].sample_count)),n[i][a(986)]<=n[i].sbgp[a(368)][a(1093)]-1?t[a(480)][i][a(1355)]=n[i][a(886)][a(368)][n[i][a(986)]].group_description_index:t[a(480)][i][a(1355)]=-1,0!==t[a(480)][i][a(1355)])c=n[i].fragment_description?n[i].fragment_description:n[i][a(619)],t.sample_groups[i].group_description_index>0?(o=t.sample_groups[i][a(1355)]>65535?(t[a(480)][i][a(1355)]>>16)-1:t[a(480)][i][a(1355)]-1,c&&o>=0&&(t[a(480)][i][a(619)]=c.entries[o])):c&&c[a(977)]>=2&&c[a(174)]>0&&(t.sample_groups[i].description=c[a(368)][c[a(174)]-1])}},g[s(679)]=function(e,t,r){var n=s;t&&(e?(t.is_leading=e[n(458)][r],t[n(847)]=e[n(933)][r],t.is_depended_on=e[n(574)][r],t.has_redundancy=e[n(210)][r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t[n(1400)]=0))},g[s(265)][s(455)]=function(){var e,t,r=s;for(e=0;ew&&(b++,w<0&&(w=0),w+=o[C(1367)][b]),t>0?(e[C(1125)][t-1][C(1381)]=o[C(755)][b],e.samples_duration+=e[C(1125)][t-1][C(1381)],T[C(1094)]=e[C(1125)][t-1][C(1094)]+e[C(1125)][t-1].duration):T[C(1094)]=0,a?(t>=S&&(E++,S<0&&(S=0),S+=a[C(1367)][E]),T.cts=e.samples[t].dts+a.sample_offsets[E]):T.cts=T[C(1094)],c?(t==c[C(808)][k]-1?(T[C(1204)]=!0,k++):(T.is_sync=!1,T[C(775)]=0),l&&l[C(368)][I][C(257)]+A==t+1&&(T[C(357)]=l[C(368)][I][C(357)],A+=l.entries[I].sample_delta,I++)):T[C(1204)]=!0,g[C(679)](e[C(1372)][C(1445)][C(1160)][C(1376)],T,T[C(803)]),f?T.degradation_priority=f[C(303)][t]:T[C(775)]=0,l&&l.entries[I].sample_delta+A==t&&(T[C(357)]=l.entries[I].subsamples,A+=l[C(368)][I][C(257)]),(d[C(1093)]>0||h[C(1093)]>0)&&g[C(177)](e,T,t,e[C(983)])}t>0&&(e[C(1125)][t-1][C(1381)]=Math[C(1113)](e[C(1372)][C(512)][C(1381)]-e[C(1125)][t-1][C(1094)],0),e[C(339)]+=e.samples[t-1][C(1381)])}},g[s(265)][s(426)]=function(){var e,t,r,n,i,o,a,c,u,l,d,f,p,m,v,y=s;if(void 0!==this[y(541)])for(;this[y(1137)]0&&g.initSampleGroups(f,d,d[y(649)],f[y(1372)][y(1445)].stbl[y(1049)],d[y(1049)]),t=0;t0?m[y(1094)]=f[y(1125)][f[y(1125)].length-2][y(1094)]+f[y(1125)][f[y(1125)].length-2][y(1381)]:(d[y(1343)]?m.dts=d[y(1343)][y(1095)]:m[y(1094)]=0,f[y(469)]=!0),m[y(393)]=m[y(1094)],_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(m[y(393)]=m[y(1094)]+_[y(259)][r]),v=a,_[y(485)]&h.TRUN_FLAGS_FLAGS?v=_[y(1064)][r]:0===r&&_[y(485)]&h[y(1180)]&&(v=_[y(880)]),m[y(1204)]=!(v>>16&1),m.is_leading=v>>26&3,m[y(847)]=v>>24&3,m[y(644)]=v>>22&3,m.has_redundancy=v>>20&3,m[y(775)]=65535&v;var w=!!(d[y(371)][y(485)]&h.TFHD_FLAG_BASE_DATA_OFFSET),b=!!(d[y(371)][y(485)]&h[y(881)]),S=!!(_[y(485)]&h[y(1217)]),E=0;E=w?d.tfhd[y(1244)]:b||0===t?l[y(919)]:c,m[y(500)]=0===t&&0===r?S?E+_.data_offset:E:c,c=m[y(500)]+m.size,(d.sbgps[y(1093)]>0||d.sgpds[y(1093)]>0||f[y(1372)][y(1445)].stbl[y(649)][y(1093)]>0||f[y(1372)].minf.stbl[y(1049)].length>0)&&g[y(177)](f,m,m.number_in_traf,d.sample_groups_info)}}if(d[y(291)]){f.has_fragment_subsamples=!0;var k=d[y(1034)];for(t=0;t-1))return null;var u=(r=this[n(298)].buffers[a])[n(219)]-(i[n(500)]+i[n(1105)]-r[n(233)]);if(i[n(326)]-i.alreadyRead<=u)return o[n(814)](n(715),n(607)+t+n(235)+i[n(1105)]+n(702)+(i[n(500)]+i[n(1105)]-r[n(233)])+n(967)+(i[n(326)]-i[n(1105)])+n(982)+i.size+")"),c[n(571)](i[n(691)][n(562)],i[n(1105)],r,i[n(500)]+i.alreadyRead-r.fileStart,i[n(326)]-i[n(1105)]),r.usedBytes+=i[n(326)]-i[n(1105)],this[n(298)][n(964)](),i[n(1105)]=i[n(326)],i;if(0===u)return null;o[n(814)](n(715),n(607)+t+n(1122)+i[n(1105)]+n(702)+(i[n(500)]+i[n(1105)]-r[n(233)])+" read size: "+u+" full size: "+i[n(326)]+")"),c[n(571)](i[n(691)][n(562)],i[n(1105)],r,i[n(500)]+i[n(1105)]-r.fileStart,u),i[n(1105)]+=u,r[n(1194)]+=u,this[n(298)][n(964)]()}},g[s(265)][s(589)]=function(e,t){var r=s,n=e[r(1125)][t];return n[r(691)]?(this[r(624)]-=n[r(326)],n[r(691)]=null,n[r(619)]=null,delete n[r(775)],delete n.depends_on,delete n[r(759)],delete n[r(1400)],delete n[r(644)],delete n[r(458)],delete n[r(1204)],delete n[r(366)],delete n[r(1e3)],delete n[r(1131)],delete n.cts,delete n.dts,delete n[r(500)],delete n[r(326)],delete n[r(525)],delete n[r(1381)],n[r(1105)]=0,n[r(326)]):0},g[s(265)][s(653)]=function(){return this[s(624)]},g[s(265)][s(586)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this[t(541)].traks[e][t(1372)].minf[t(1160)][t(1311)][t(368)][0][t(680)]()}return r},g[s(265)].getTrexById=function(e){var t,r=s;if(!this[r(541)]||!this[r(541)][r(978)])return null;for(t=0;t0&&(r[n(559)]=c.ipro[n(922)][c[n(856)][n(750)][e][n(276)]-1]),c[n(856)][n(750)][e].item_type?r[n(1255)]=c.iinf.item_infos[e][n(951)]:r[n(1255)]=n(875),r.content_type=c.iinf[n(750)][e][n(805)],r.content_encoding=c[n(856)][n(750)][e][n(608)];if(c[n(285)])for(e=0;e0&&p[n(1176)]-1-1))return null;var l=(t=this[n(298)][n(563)][u])[n(219)]-(a[n(500)]+a[n(1105)]-t[n(233)]);if(!(a[n(1093)]-a[n(1105)]<=l))return o[n(814)]("ISOFile",n(799)+e+" extent #"+i+" partial data (alreadyRead: "+a[n(1105)]+" offset: "+(a[n(500)]+a[n(1105)]-t[n(233)])+n(967)+l+n(1118)+a[n(1093)]+n(639)+r[n(326)]+")"),c.memcpy(r[n(691)][n(562)],r.alreadyRead,t,a[n(500)]+a.alreadyRead-t.fileStart,l),a[n(1105)]+=l,r.alreadyRead+=l,t[n(1194)]+=l,this[n(298)].logBufferLevel(),null;o[n(814)]("ISOFile",n(799)+e+n(985)+i+n(235)+a[n(1105)]+" offset: "+(a.offset+a[n(1105)]-t.fileStart)+n(967)+(a[n(1093)]-a[n(1105)])+n(1118)+a[n(1093)]+n(639)+r[n(326)]+")"),c[n(571)](r.data[n(562)],r[n(1105)],t,a.offset+a.alreadyRead-t[n(233)],a[n(1093)]-a.alreadyRead),t[n(1194)]+=a[n(1093)]-a[n(1105)],this[n(298)].logBufferLevel(),r.alreadyRead+=a[n(1093)]-a[n(1105)],a.alreadyRead=a[n(1093)]}}return r.alreadyRead===r.size?r:null},g[s(265)].releaseItem=function(e){var t=s,r=this[t(462)][e];if(r[t(691)]){this[t(157)]-=r.size,r[t(691)]=null,r[t(1105)]=0;for(var n=0;n0?this[i(541)].traks[e][i(1125)][0][i(1381)]:0),t[i(742)](n)}return t},g[s(265)][s(648)]=function(){var e=s,t={};return t[e(541)]=this[e(541)],this[e(541)]&&this[e(541)][e(1143)]&&this.moov.traks[e(1093)]>1&&(t.moovAudioNum=this.moov[e(1143)][0][e(1125)].length,t[e(632)]=this.moov[e(1143)][1][e(1125)][e(1093)]),t},h[s(626)].prototype.printHeader=function(e){var t=s;this[t(326)]+=8,this[t(326)]>u&&(this[t(326)]+=8),this.type===t(1161)&&(this[t(326)]+=16),e.log(e[t(394)]+t(969)+this[t(326)]),e[t(250)](e[t(394)]+"type:"+this[t(1255)])},h[s(1138)][s(265)].printHeader=function(e){var t=s;this[t(326)]+=4,h.Box[t(265)][t(248)][t(465)](this,e),e[t(250)](e[t(394)]+t(243)+this[t(977)]),e[t(250)](e[t(394)]+"flags:"+this.flags)},h[s(626)].prototype[s(355)]=function(e){this[s(248)](e)},h[s(475)][s(265)][s(355)]=function(e){var t=s;this[t(248)](e);for(var r=0;r>8)),e[t(250)](e[t(394)]+t(745)+this[t(1250)].join(", ")),e[t(250)](e.indent+t(547)+this.next_track_id)},h.tkhdBox[s(265)][s(355)]=function(e){var t=s;h[t(1138)][t(265)][t(248)][t(465)](this,e),e[t(250)](e[t(394)]+t(1153)+this.creation_time),e[t(250)](e[t(394)]+t(418)+this[t(1139)]),e.log(e[t(394)]+"track_id: "+this[t(525)]),e.log(e[t(394)]+t(709)+this.duration),e.log(e[t(394)]+t(1296)+(this[t(908)]>>8)),e.log(e.indent+t(745)+this[t(1250)][t(1425)](", ")),e.log(e[t(394)]+t(1382)+this[t(635)]),e.log(e.indent+t(1342)+this[t(842)]),e[t(250)](e.indent+t(466)+this.width),e.log(e[t(394)]+t(1399)+this.height)};var _={};_[s(1106)]=function(e,t){var r=s,n=void 0===e||e,i=new g(t);return i[r(1415)]=!n,i},t[s(1106)]=_.createFile}));function go(){var e=["processIncompleteBox","edits","stsa","getLength","readInt8Array"," Compressor","ext","max_pic_average_light_level","avcDecoderConfigRecord","setAttribute","mime_format","seek","timescale: ","writeInitializationSegment"," needs a buffer with a fileStart position of ","av1C marker problem","greatestDecodeToDisplayDelta","readInt32"," and offset: ","bits_per_pixel","avc4","alternate_group: ","tfdt","XMLSubtitlein4Parser"," at position ","grouping_type_parameter","iprp","held_bits","length_size_of_trun_num","min_spatial_segmentation_idc","vttc","codec","encu","unsetSegmentOptions","group_description_index","pixi","TrackReference ","samplerate","No method for reading signed 64 bits values","sample_offset","' box writing not yet implemented, keeping unparsed data in memory for later write","aux_info_type","processItems","InputSampleRate","parseOneBox","parseDataAndRewind","sample_counts","component_bit_depth_minus_one","Processing buffer (fileStart: ","initial_delay","numMetadataBlocks","mdia","durationFlag","Seeking to ","channel_associations","sdtp","sizePosition","readUint","maxFALL","Not enough bytes left in the parent box to parse a new box","duration","layer: ","sampleListBuilt","replace","BASIC_BOXES","SAMPLE_ENTRY_TYPE_AUDIO","SampleGroup for type ","dac3","parseRemainingDescriptors","_realloc","strk","chunk_run_index","cleanApertureHeightD","dvh1","vvcN","createSampleEntryCtor","stssBox","TFHD_FLAG_DUR_EMPTY","height: ","has_redundancy","msrc","reduceBuffer","field_size","rate","sthd","[row: ","PPS","tkhdBox","SAP_type","stream_read_1_bytes","Seeking at time ","TFHD_FLAG_SAMPLE_SIZE","next_track_id","extent_index","discardMdatData","Subtitle","mergeNextBuffer","stri","traf_number","seekLists","major_brand"," (total: ","general_profile_space","chroma_sample_position","join","isProgressive","stco","int16be","seq_level_idx_0","block_reversed","Not ready to start parsing","subSequenceIdentifier","is_fragment","clef","block_size","createFullBoxCtor","box","video","cslgBox","initial_duration","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","initializeSegmentation","ptl_multilayer_enabled","substring","minf","isEos","readFloat32","Not enough data in stream to parse the entire '","high_bitdepth","initial_presentation_delay_present"," not supported","flipArrayEndianness","chunk_index","computeSize","ccst","fr-FR","kinds","bits_per_channels","config","parseHeader","padbits","itemsDataSize","writeFloat64Array"," already stored in field of this type","saio","stsc","data_reference_index","onSamples"," sample group length","codecIntializationData","Appending new buffer (fileStart: ","stcoBox","bit_depth_minus8","' box","sample_duration","sub_track_id","value","afbr","default_group_description_index","tfra"," more bytes than the indicated box data size, seeking backwards","setSampleGroupProperties","npck"," v=","twelve_bit","urn ","readySent","compositionStartTime","MPEG4DescriptorParser"," of size ","fragment_description","isAudio","shadowed_sample_numbers","Expected 'infe' box, got ","width","fieldCount","levels","getTrexById","samples_per_chunk","function","dataView","frame_count","], [","Removing buffer #","int32be","getEndPosition","num_bytes_constraint_info","sbgpBox","from_item_ID","mdhdBox","stpp","ptl_present_flag","error","wvtt","sample_has_redundancy","onError","reference_type","floor","lastValidSample"," --\x3e ","media_duration","byteOffset","hasIOD","byteLength","releaseUsedSamples","PADDING","writeFloat64","dav1","fscod","esd","component_index","tsel","frma","Adjusted seek position (after checking data already in buffer): ","correction_applied","setSegmentOptions","readInt32Array","fileStart","No method for reading signed 24 bits values"," data (alreadyRead: ","findPosition","uint16","stsh","SAP_delta_time","readUint8Array","vvi1","sync_sample_numbers","version:","schemeURI","luminanceMin","fiel","writeHeader","printHeader","roll_distance","log","default_sample_description_index","elst","nump","apply","truns","vp08","sample_delta","uncC","sample_composition_time_offset","first_dts","getSampleSize","hSpacing","a5d40b30e81411ddba2f0800200c9a66","readCString","prototype","rash","dependsOn_ES_ID",", size ","220neDiwt","parseOneDescriptor","absolute_duration","has_unparsed_data","string","co64Box","cleanApertureWidthD","protection_index","parseHex16"," greater than its container size ","ptl_num_sub_profiles","axis","getOTI","target_rate_share","hinf","iso4","grpl","segmentStream","SingleItemTypeReferenceBox","maxCLL","reference_ID","infe","subs","wbbr","Cannot seek: moov not received!","bufferIndex","rtp ","item_protection_index","description_length","stream","leastDecodeToDisplayDelta","aux_type","Found ","num_tile_cols_minus_one","priority","min","creation_time","isProtected","createObjectURL","prft","slid","getTrackById"," not found in buffered data","flattenItemInfo","av1C","subsegment_duration","samplesize",", overriding previous occurrence","cleanApertureHeightN","skip","writeUint8Array",") - next buffer to fetch should have a fileStart position of ","float32le","stream_read_2_bytes","itemId","construction_method","test","size","MultiBufferStream","metx","lfeon","stsdBox","general_constraint_info","cdef","chromaSubsampling","Descriptor","trpy","sublayer_level_idc","subtitleTracks","trafs","samples_duration","default_constant_IV_size","graphicsmode","compatible_brands","adjustUint32","first_offset","parallelismType","Stream ready for parsing","getInt8","media_rate_fraction","stszBox","mskC","setFloat64","vp08SampleEntry","rapAlignement","buildTrakSampleLists","print","mdat","subsamples","Visual","bit_depth_luma_minus8","SAMPLE_ENTRY_TYPE_SYSTEM","Found 'mdat' end in buffered data","sample_count","num_held_bits","avss","sidxBox","moof_number","prol","entries","Writing box ","enca","tfhd","stereo_scheme","colour_type","temporalIdNested","notice","getUint16","payl","elngBox","_byteOffset","smhdBox","vvs1","length_size_of_sample_num","avgBitRate","nextSample","CoLL","getMetaHandler","ptl_frame_only_constraint","text","Hint","j2ki","body","StreamCount","cts","indent","sbtt","min_display_mastering_luminance","base_offset","user","enof","onSegment","item_id","maxr","transferCharacteristics","parseSample","movie_duration","principal_point_x","transfer_characteristics","STREAMINFO","getBox","setUint8","end","getEndFilePositionAfter","processIncompleteMdat","balance","code","int32","tile_align_size","modification_time: ","trgr"," has an invalid size ","nmhd","4660864MhhrXo","createFragment","hintTracks","MP4BoxStream","updateSampleLists","getDurationString","ind_subs","stts","float32","subBoxNames","ftypBox","parsingMdat","hasMoov","SampleEntry","channel_indexes","createSampleGroupCtor","esds","dec3","addTrack","tscl","strd","boxEqual","mapFloat64Array","grouping_type","edts","sdp ","media_rate_integer","Buffer must be defined and non empty","schema_location","default_sample_duration","avcCBox","readUint32","track_width","buildSampleLists","Unknown leva assignement type","kid","is_leading","DecoderSpecificInfo","writeUint16","entry_count","items","writeFooter","dataview","call","width: ","getPrimaryItem","aux_info_type_parameter","first_traf_merged","scnm","9242Dpwsbe","readUint16Array","Audio","No sample in track, cannot seek! Using time ","ContainerBox","object",".CA","lastBoxStartPosition","Mismatch in ","sample_groups","isSubtitle","subsegments","_trimAlloc","ssix","flags","forEach","imir","setNextSeekPositionFromSample","No segmentation callback set!","cslg","item_count","float64be","av1C reserved_1 parsing problem","default_isProtected","uint32","dependency","ChannelMappingFamily","undefined","createUUIDBox","offset","CoupledCount",", remaining: ","readUint32Array","dmax","oti","dOps","1904-01-01T00:00:00Z","_dataView","chan_loc","box_record","ctts","mdhd","mapInt16Array","mfro","Log","seq_tier_0","boxEqualFields","mfhd","readUint16","depth","FULL_BOXES","parse","switch_group","UUIDs","track_id","num_tile_rows_minus_one","avc3","_sweep","stsg","Parsing of box '","Unknown sample entry type: ","num_bad_pixels","tfdtBox","payloadID","samples_size","udta","sidx","num_channels","download","pts","moov","getUint32","step_count","TRUN_FLAGS_SIZE","TKHD_FLAG_IN_MOVIE","display_primaries","next_track_id: ","createSingleSampleMoof","cleanBuffers",'video/mp4; codecs="',"CONTAINER_BOXES","writeCString","language","mp4aSampleEntry","writeFloat32Array","max_content_light_level","mvhdBox","ERR_NOT_ENOUGH_DATA","protection","trefBox","stppSampleEntry","buffer","buffers","reserved","moovBox","vipr","writeUint32Array","stss","angle","trun","memcpy","getInt16","fieldOrdering","sample_is_depended_on","ref_to","tags","trep","u16stringle","_size"," bytes), continuous ranges: ","decimalToHex","hev1SampleEntry","subtitles"," box writing not yet implemented, keeping unparsed data in memory for later write","seq_profile","getCodecs","onMoovStart","getItem","releaseSample","CUESHEET","urn Box","equal","endianness","scheme_id_uri","TKHD_FLAG_ENABLED","component_count","SAMPLE_ENTRY_TYPE_HINT","vmhdBox","target","KID","num_leading_samples_known","initSampleGroups","ntp_timestamp","writeUCS2String","Per_Sample_IV_Size"," with new size ","Getting sample #","content_encoding","reserved_1","avc1","operation_point_count","Ignoring empty buffer (fileStart: ","discardable","metadataTracks","TRUN_FLAGS_FLAGS","ChannelMapping","length_size","ranges","description","audioTracks","Position ","trexBox","num_ind_sub","samplesDataSize"," (released size: ","Box","hasItem","mjpg","Error reading extent index","cttsBox","btrt","moovVideoNum","colorSpace","clap","layer","mere","event_duration","compressorname"," full item size: ","SAMPLE_ENTRY_TYPE_METADATA","Item storage with reference to other files: not supported","setFloat32","initialize","is_depended_on","nativeToEndian","parseFooter","location","getPerformanceInfo","sbgps","getSample","writeUint32","createContainerBoxCtor","getAllocatedSampleDataSize","8974dbce7be74c5184f97148f9882554","ipro","earliest_presentation_time","absolute_time","Track created with MP4Box.js","getHeight","pdin","_byteLength","extract_bits","bitrate","extents","vertresolution","primaryGChromaticity_y","url Box","fragmentedTracks","general_tier_flag","TrackGroupTypeBox","ES_Descriptor","referenced_size","NAL_unit_type","bitDepth","num_bad_rows","auxiliary_mime_types","uint8","Sample Group type: ","process_sdtp","getCodec","getFloat32","charCodeAt","emsg","createMediaSampleEntryCtor","Found position in existing buffer #","level","Not enough bytes in buffer","URL","mapInt32Array","LITTLE_ENDIAN","data","mvif","dmed","bad_columns","TrackReferenceTypeBox","hmhd","maximum_bitrate","bufferSizeDB","' and size ","Exporting on track #","component_format"," offset: ","mapInt8Array","moovStartSent","horizresolution","to_item_ID","OutputChannelCount","a1op","duration: ","ec-3","TFHD_FLAG_SAMPLE_DESC","horizOffN","moovStartFound","item_name","ISOFile","avc1SampleEntry","lhe1","entity_groups","getInt32",'"; profiles="',"TRUN_FLAGS_DURATION","sample_size","readString","elstBox","writeUint24","DataStream","sgpd","Done processing buffer (fileStart: ","tkhd","concat","mapUint16Array","SAMPLE_ENTRY_TYPE_TEXT","avcC","boxes","bad_pixels"," - Length: ","default_length","setInt32","'","white_point","getInfo","push","cstring","ICC_profile","matrix: ","revokeObjectURL","shift","u16stringbe","writeUint8","item_infos","writeInt16Array","extractedTracks","sample_info_size","ispe","sample_deltas","hev1","entity_ids","createBoxCtor","description_index","vSpacing","cts_shift","vpcC","AVCProfileIndication","Duplicate Box of type: ","getTrackSample","nb_SPS_nalus","sampleProcessingStarted","OCR_ES_ID","opcolor","decode","writeType","nalu_arrays","bg_color_rgba","processSamples","degradation_priority","sidxSent","descs","sequence_number","fobr","component_types","ac-3","tracks","destroy","Cannot parse extension type","avgFrameRate","saiz","Creating media fragment on track #","created","updateUsedBytes","6d1d9b0542d544e680e2141daff757b2","scif","3953550SxRUov","readAnyInt","a1lx","num_entities_in_group","setUint32","sttsBox","hevcDecoderConfigRecord","Getting item #","general_level_idc","getWidth","nb_PPS_nalus","number","sgpdBox","content_type","ArrayBuffer","findEndContiguousBuf","sample_numbers","chroma_subsampling_x","style_record","readInt64","writeInt8","724377qIJQyH","debug","monochrome","getAudioConfig","int16le","free","clli","first_chunk","traf","associations","init","j2kH","Unknown Sample Group type: ","iloc","document","hvcCBox","writeString","udes","segment_duration","' has a size ","Item storage with construction_method : not supported","Metadata","totl","default_AlgorithmID","upStream","isMetadata","enct","constant_IV","Unknown uuid type: '","alternate_group","SEEKTABLE","' read ","fragment_duration","warn","depends_on","metadata","PreSkip","default_sample_flags","track_ID","Sending samples on track #","bytes","writeInt8Array","Allocating item #","iinf","compositionEndTime","aebr","chroma_subsampling_y","eqiv","minimum_bitrate","uri ","trunBox","resetTables","writeInt32Array","videoFullRangeFlag","props","<","quat_z","numTemporalLayers","trak","payt"," for samples [","skip_byte_block","mime","d08a4f1810f34a82b6c832d8aba183d3","_self","pitm","Buffer (fileStart: ","first_sample_flags","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","codecIntializationDataSize","10130670GebBAW","image_height","extent_length","sbgp","nalu","component_type_urls","interleave_type","sent","bad_pixel_row","onReady","lengthSizeMinusOne","readFloat32Array","ftyp","description_boxes","configOBUs","max_picture_width","parseConfig","transferFunction","printRanges","SAMPLE_ENTRY_TYPE_SUBTITLE","PICTURE","ipma","parseFullHeader","index_size","System","volume","Version","vmhd","extent_offset","system_id","subSeqDirectionFlag","Not enough bytes left in the parent box to parse a UUID box","reserved_2","essential","pow","row_align_size","start","getPosition","references","protections","videoTracks","seekTrack","data_rate","attribute_list","write","restoreParsePosition","save","readInt16","general_profile_compatibility","APPLICATION","sample_depends_on","sample_description_index","readInt8","DIFF_BOXES_PROP_NAMES","moof_offset","kind","getText","Adjusting data_offset with new value ","height","num_sublayers",") already appended, ignoring","trex","mfhdBox","message_data","addSubBoxArrays",", column: ","iaug","channel_types","item_type","defineProperty","bsmod","SingleItemTypeReferenceBoxLarge"," not fully parsed","quat_x","ac-4","AudioSampleEntry","SLConfigDescriptor","&","BIG_ENDIAN","codec_specific_parameters","mapUint32Array","logBufferLevel","ipco","primaryBChromaticity_y"," read size: ","writeFloat32","size:","isFragmented","RESERVED","elng","completeness","etyp","splice","getTrackSamplesInfo","version","mvex","writeUint64","encode","av01"," full size: ","sample_groups_info","bad_rows"," extent #","entry_index","tref","readUint8","saveParsePosition","writeInt16","tpay","isHint","sampleEntryCodes","trexs","createCommonjsModule","checkBuffer","presentation_time_delta","readUint24","TFHD_FLAG_SAMPLE_FLAGS","number_in_traf","Error accessing position in the MultiBufferStream","idat","setExtractionOptions","extension_type","BoxParser","brst","stop","SAMPLE_ENTRY_TYPE_VISUAL","int32le","_buffer","encm","cprt","parseFromString","extended_language","block_little_endian","audio","application/xml","namespace","constant_IV_size","bxml","encv","focal_length_y","createEncryptedSampleEntryCtor","favc","avgBitrate","presentation_time","dynamicSize","int16","10019192xxvZtc","setInt8","vertOffD","irot","prgr","first_sample_index","sample_number","avgRateFlag","meta","arrayToNative","mhm1","component_little_endian","sample_sizes","getBuffer","available_bitrate","createTrackGroupCtor","vp09SampleEntry","a2394f525a9b4f14a2446c427c648df4","hvc1SampleEntry","hvcC","sgpds","UUIDBoxes","toString","parseLanguage","mapFloat32Array","writeStruct","No more buffer in memory","iods","createEntityToGroupCtor","ipmas","tag","properties","msg","dimm","mdcv","sample_flags","SampleEntry ","mhm2","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","media_time","time","isVideo","unpack","appendBuffer","Error reading base offset size","initialized"," on track #","acmod","href","removeUsedSamples","hdlr","whitePointChromaticity_x","length_size_of_traf_num","Box of type '",'Not enough data in stream to parse the extended size of the "',"pos_y","group_id","sdptext","Sample data size in memory: ","stz2","addSample","sample_offsets","vvcC","drep","length","dts","baseMediaDecodeTime","SPS","Buffer must have a fileStart property","pos_z","minor_version","maxBitrate","colr","chroma_format_idc","nb_samples","Error in length field in stz2 box","alreadyRead","createFile","scheme_version","moofs","readUint64","ptl_sublayer_present_mask","version of iloc box not supported","uint16be","max","dref","vertical_justification","auxC","assignment_type"," full extent size: ","scheme_uri","co64",'application/mp4; codecs="'," partial data (alreadyRead: ","mdats","findDescriptor","samples","profile","getSampleRate","tyco","range_size","LiveServerManifest","timescale","layerNumber","VisualSampleEntry","info","stdp"," for sample ","lastMoofIndex","FullBox","modification_time","onSidx","mehd","TRUN_FLAGS_CTS_OFFSET","traks","streamType","getBoxes","getTime","default_sample_size","general_profile_idc","nextSeekPosition","nextParsePosition","schi","slice","creation_time: ","num_total_samples","default_constant_IV","dfLa","hvc1","TFHD_FLAG_BASE_DATA_OFFSET","mvhd","stbl","uuid","addBox","otherTracks","SmDm","TFHD_FLAG_SAMPLE_DUR","d4807ef2ca3946958e5426cb9e46a79f","avc2SampleEntry","av1C version ","prof","encs","default_sample_info_size","_dynamicSize","No buffer to start parsing from",'audio/mp4; codecs="',"ster","property_index","chunk_offsets","brands","addUsedBytes","TRUN_FLAGS_FIRST_FLAG","stsz","meco","add","bytessent","configurationVersion","parseUUID","nbSamples","track_group_id","item_ID","boxCodes","compositionToDTSShift","default_skip_byte_block","last_sample_in_run","usedBytes","uint16le","tmax","mehdBox","ASCII"," stored buffer(s) ("," f=","indexOf","und","component_align_size","is_sync","moof","cmex","addEntry","DecoderConfigDescriptor","principal_point_y","Box of type ","default_crypt_byte_block","readInt16Array","mapUint8Array","pos_x","Found box of type '","Adjusting box ","TRUN_FLAGS_DATA_OFFSET","BoxWriter","Found Sample Groups of type ","layer_size","getTrackDuration","writeInt32","name","smhd","nonamespace","track_ids","SampleGroupEntry","constantFrameRate","primaryRChromaticity_y","fragment_count","getUint8","Textin4Parser","rtpmap_string","whitePointChromaticity_y","avc4SampleEntry","used","styp",'" box',"num_dep_sub","Opus","ctts box uses negative values without using version 1","bufferSize","The first buffer should have a fileStart of 0","base_data_offset",", time ","general_constraint_indicator","channel_count","AVCLevelIndication","setAllUsedBytes","matrix"," sample #","uncv","hdlrBox","aux_subtype","type","getChannelCount","nalu_type","itemListBuilt","readInt method not implemented for size: ","nextMoofNumber","image_width","MetadataSampleEntry","(empty)","offset_size","starts_with_SAP","nclx","dtrt","txtC","bad_pixel_column","scheme_type","setInt16","data_offset","url ","isFragmentationInitialized","roll","default_Per_Sample_IV_Size","xml ","cmin","File uses negative stts sample delta, using value 1 instead, sync may be lost!","accurateStatisticsFlag","stshBox","documentString","senc","insertBuffer","handler","hasIncompleteMdat","hnti","max_picture_height","BYTES_PER_ELEMENT","primaryRChromaticity_x","tapt","rap ","position","resources","cleanApertureWidthN","volume: ","languageString","num_output_samples","bit_depth_chroma_minus8","set","fromCharCodeUint8","stscBox","track_height","split","TKHD_FLAG_IN_PREVIEW","9317497ScFLGJ","hdr_size","dinf","max_ref_per_pic","onItem","stsd","modified","rate: ","Trying to create a new buffer of size: ","MP4Box","iref","avs3","default_KID","failurePosition","alst"];return(go=function(){return e})()}function _o(e,t){var r=go();return(_o=function(e,t){return r[e-=151]})(e,t)}yo[vo(515)],yo[vo(425)],yo[vo(726)],yo[vo(327)],yo[vo(184)],yo[vo(1005)],yo[vo(1344)],yo[vo(1232)],yo.ISOFile,yo[vo(1106)];const wo=ko;function bo(e){return e[ko(223)](((e,t)=>256*e+t))}function So(e){const t=ko,r=[101,103,119,99],n=e.length-28,i=e[t(233)](n,n+r[t(232)]);return r[t(245)](((e,t)=>e===i[t]))}!function(e,t){const r=ko,n=e();for(;;)try{if(722016===-parseInt(r(255))/1*(parseInt(r(229))/2)+-parseInt(r(221))/3*(-parseInt(r(243))/4)+parseInt(r(241))/5+-parseInt(r(242))/6+-parseInt(r(239))/7+parseInt(r(253))/8+parseInt(r(251))/9*(parseInt(r(228))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Eo);wo(238),wo(227);function Eo(){const e=["8667128Vtlrvp","init","556167JYxUOh","player","catch","TransportDescrambler","not support wasm","Instance","init error","87tUqLAC","Memory","reduce","parse","instance","exports","transport","11089750bVLTCQ","4FvIybO","debugWarn","Module","length","slice","function","byteLength","buffer","map","destroy","5311670RSQxUJ","message","461070WyPAXr","3361734TzayTw","119844vwgKOs","TAG_NAME","every","instantiate","object","stack overflow","debuglog","memory","9pOSCcy","reverse"];return(Eo=function(){return e})()}function ko(e,t){const r=Eo();return(ko=function(e,t){return r[e-=219]})(e,t)}function Io(){const e=Co;for(var t=arguments[e(186)],r=new Array(t),n=0;n{const n=e,s=new i((0|t[n(187)])+(0|r.byteLength));return s[n(196)](t,0),s[n(196)](r,0|t[n(187)]),s}),new i)}function Ao(){const e=["length","byteLength","28TaMvZK","18847166rwNYjo","20BBsWxD","21SNZqqQ","444Hixmsf","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","1976tuzmtj","constructor","set","toString","47597KKBsmx","substr","252352vjTYUw","1520330uXcFDY","321560JYEYdc","padStart","9BUNVYA","516TeWBoR","765942XIPueT","replace"];return(Ao=function(){return e})()}function Co(e,t){const r=Ao();return(Co=function(e,t){return r[e-=183]})(e,t)}!function(e,t){const r=Co,n=e();for(;;)try{if(304924===parseInt(r(194))/1*(-parseInt(r(183))/2)+parseInt(r(191))/3*(-parseInt(r(202))/4)+-parseInt(r(190))/5*(parseInt(r(184))/6)+-parseInt(r(188))/7*(-parseInt(r(200))/8)+parseInt(r(204))/9*(parseInt(r(201))/10)+-parseInt(r(198))/11*(-parseInt(r(192))/12)+parseInt(r(189))/13)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ao),function(e,t){const r=zo,n=e();for(;;)try{if(910599===-parseInt(r(437))/1+-parseInt(r(451))/2+parseInt(r(432))/3+parseInt(r(450))/4+-parseInt(r(444))/5+-parseInt(r(452))/6+parseInt(r(446))/7)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vo);const To=16,xo=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Do=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Po(e){const t=zo,r=[];for(let n=0,i=e[t(448)];n{const r=t;return 1===(e=e[r(428)](16))[r(448)]?"0"+e:e})).join("")}function Mo(e){const t=zo,r=[];for(let n=0,i=e.length;n>>6),r[t(426)](128|63&i);else if(i<=55295||i>=57344&&i<=65535)r[t(426)](224|i>>>12),r.push(128|i>>>6&63),r[t(426)](128|63&i);else{if(!(i>=65536&&i<=1114111))throw r[t(426)](i),new Error(t(440));n++,r.push(240|i>>>18&28),r[t(426)](128|i>>>12&63),r[t(426)](128|i>>>6&63),r[t(426)](128|63&i)}}return r}function Fo(e){const t=zo,r=[];for(let n=0,i=e[t(448)];n=240&&e[n]<=247?(r[t(426)](String[t(436)](((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r[t(426)](String.fromCodePoint(((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r[t(426)](String[t(436)](((31&e[n])<<6)+(63&e[n+1]))),n++):r[t(426)](String[t(436)](e[n]));return r[t(434)]("")}function Uo(e,t){const r=31&t;return e<>>32-r}function Ro(e){return(255&xo[e>>>24&255])<<24|(255&xo[e>>>16&255])<<16|(255&xo[e>>>8&255])<<8|255&xo[255&e]}function Lo(e){return e^Uo(e,2)^Uo(e,10)^Uo(e,18)^Uo(e,24)}function Oo(e){return e^Uo(e,13)^Uo(e,23)}function zo(e,t){const r=Vo();return(zo=function(e,t){return r[e-=426]})(e,t)}function No(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=Lo(Ro(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=Lo(Ro(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=Lo(Ro(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=Lo(Ro(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function jo(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^Do[r+0],t[r+0]=n[0]^=Oo(Ro(e)),e=n[2]^n[3]^n[0]^Do[r+1],t[r+1]=n[1]^=Oo(Ro(e)),e=n[3]^n[0]^n[1]^Do[r+2],t[r+2]=n[2]^=Oo(Ro(e)),e=n[0]^n[1]^n[2]^Do[r+3],t[r+3]=n[3]^=Oo(Ro(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function Ho(e,t,r){const n=zo;let{padding:i=n(438),mode:s,iv:o=[],output:a=n(445)}=arguments[n(448)]>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===s&&(typeof o===n(445)&&(o=Po(o)),16!==o[n(448)]))throw new Error(n(430));if("string"==typeof t&&(t=Po(t)),16!==t[n(448)])throw new Error(n(454));if(e=typeof e===n(445)?0!==r?Mo(e):Po(e):[...e],(i===n(443)||i===n(438))&&0!==r){const t=To-e[n(448)]%To;for(let r=0;r=To;){const t=e[n(453)](h,h+16),i=new Array(16);if(s===n(441))for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments[r(448)]>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(427)];let o=new Uint8Array(e[r(453)](0,5)),a=5;for(;as){const t=new Uint8Array(o[r(448)]+e[r(448)]-a);t[r(449)](o,0),t.set(e[r(453)](a),o[r(448)]),o=t;break}let l=e[a+4],d=!1,h=2;if(n?(i&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(447)](l)):(l&=31,d=1===l||5===l),d){const n=Ho(e.slice(a+4+h,a+4+u),t,0,{padding:"none",output:r(431)});let i=n[n[r(448)]-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n[r(448)]-t]!==i){e=!1;break}e&&n[r(439)](n[r(448)]-i,i)}const s=new Uint8Array(h);s[r(449)](e.slice(a+4,a+4+h),0);const c=Et(Io(s,new Uint8Array(n))),l=new Uint8Array(o[r(448)]+c[r(448)]);l[r(449)](o,0),l[r(449)](c,o[r(448)]),o=l}else{const t=e[r(453)](a+4,a+4+u),n=new Uint8Array(o[r(448)]+4+t[r(448)]);n[r(449)](o,0),n[r(449)](c,o[r(448)]),n[r(449)](t,o[r(448)]+4),o=n}a=a+4+u}return o}const Go=Yo;function qo(){const e=["4374DYvQHA","180442WZbOCW","108PKxIqO","153896YNxKTG","push","apply","5444400jlGRGB","forEach","340807VWLQlt","slice","10OlNUvY","923808VaTzgb","emit","once","length","28JYKPQS","off","1770727ReZImC","ctx"];return(qo=function(){return e})()}function Yo(e,t){const r=qo();return(Yo=function(e,t){return r[e-=241]})(e,t)}!function(e,t){const r=Yo,n=e();for(;;)try{if(182613===parseInt(r(250))/1+parseInt(r(243))/2+parseInt(r(242))/3*(parseInt(r(257))/4)+parseInt(r(252))/5*(parseInt(r(253))/6)+-parseInt(r(259))/7+-parseInt(r(245))/8*(-parseInt(r(244))/9)+-parseInt(r(248))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qo);class Ko{on(e,t,r){const n=Yo,i=this.e||(this.e={});return(i[e]||(i[e]=[]))[n(246)]({fn:t,ctx:r}),this}[Go(255)](e,t,r){const n=this;function i(){const s=Yo;n[s(258)](e,i);for(var o=arguments[s(256)],a=new Array(o),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this[r(384)];)if(255==this.tempBuffer[this[r(380)]]){if(!(!1&this.tempBuffer[this[r(380)]+1])){this[r(374)]=this.tempBuffer[this[r(380)]+1],this.state=Zo[r(387)],this[r(365)]=this[r(380)],this[r(380)]+=2,e=!0;break}this[r(380)]++}else this[r(380)]++;if(e)continue;break}if(this[r(367)]==Zo.findFirstStartCode){let e=!1;for(;this[r(370)][r(379)]-this[r(380)]>=2&&!this.isDestroyed;)if(255==this[r(370)][this[r(380)]]){if(this[r(370)][this[r(380)]+1]==this[r(374)]){this[r(367)]=Zo[r(383)],this[r(361)]=this[r(380)],this.parsedOffset+=2,e=!0;break}this[r(380)]++}else this[r(380)]++;if(e)continue;break}if(this[r(367)]==Zo.findSecondStartCode){let e=this[r(370)][r(376)](this[r(365)],this[r(361)]);this.emit(r(389),e,t),this.tempBuffer=this.tempBuffer[r(376)](this[r(361)]),this[r(365)]=0,this[r(380)]=2,this.state=Zo[r(387)]}}}}function ta(e,t,r){const n=ra;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(331)](c)):(c&=31,u=1===c||5===c),u){const i=ta(e[n(333)](o+4,o+4+a),t,r);e[n(322)](i,o+4)}o=o+4+a}return e}function oa(){for(var e=aa,t=arguments.length,r=new Array(t),n=0;nt+r[e(462)]),0));let s=0;return r[e(459)]((t=>{var r=e;i[r(458)](t,s),s+=t[r(462)]})),i}function aa(e,t){var r=ca();return(aa=function(e,t){return r[e-=449]})(e,t)}function ca(){var e=["20xoFFpP","433086VhzxLU","642AmRumA","18WYJxIP","4583048SsRgYA","102iUdscd","filter","2388500SVpAEW","set","forEach","267687OkHkIM","9804nbUbfG","byteLength","reduce","384332UJZZsD","6913159ZRQWEs"];return(ca=function(){return e})()}!function(e,t){const r=ra,n=e();for(;;)try{if(507908===parseInt(r(324))/1*(parseInt(r(328))/2)+parseInt(r(326))/3*(-parseInt(r(327))/4)+-parseInt(r(325))/5+-parseInt(r(332))/6+-parseInt(r(329))/7+parseInt(r(330))/8+parseInt(r(334))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ia),function(e,t){for(var r=aa,n=e();;)try{if(659896===parseInt(r(464))/1+-parseInt(r(451))/2+-parseInt(r(452))/3*(parseInt(r(461))/4)+parseInt(r(457))/5+parseInt(r(455))/6*(parseInt(r(460))/7)+parseInt(r(454))/8*(parseInt(r(453))/9)+parseInt(r(450))/10*(-parseInt(r(449))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ca);const ua=la;function la(e,t){const r=da();return(la=function(e,t){return r[e-=469]})(e,t)}function da(){const e=["addEventListener","Events","master","40hUmKxn","destroys","removeEventListener","794668PNQsfd","push","313nuJUkH","proxy","110072ZZMAZR","8vNxeBn","1134678XzFAzT","isArray","forEach","2758460eATIYS","2226updemV","2265120ysFejA","destroy","62145vBMELI","debugLog"];return(da=function(){return e})()}!function(e,t){const r=la,n=e();for(;;)try{if(209042===-parseInt(r(474))/1*(-parseInt(r(482))/2)+-parseInt(r(478))/3+parseInt(r(476))/4*(parseInt(r(469))/5)+-parseInt(r(483))/6+parseInt(r(472))/7+parseInt(r(477))/8*(parseInt(r(485))/9)+parseInt(r(481))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(da);class ha{constructor(e){const t=la;this[t(470)]=[],this[t(475)]=this[t(475)].bind(this),this[t(489)]=e}proxy(e,t,r){const n=la;let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array[n(479)](t))return t.map((t=>this[n(475)](e,t,r,i)));e[n(487)](t,r,i);const s=()=>{const s=n;Lt(e[s(471)])&&e[s(471)](t,r,i)};return this[n(470)][n(473)](s),s}[ua(484)](){const e=ua;this[e(489)][e(486)](e(488),e(484)),this[e(470)][e(480)]((e=>e())),this[e(470)]=[]}}const fa=ma;function pa(){const e=["hdlr","set",".mp3","sdtp","trak","tfhd","trun","STSC","trex","VMHD","videoType","dependsOn","audioType","sequenceNumber","1750147uPPmQt","box","5601CDMPIm","FTYP","STCO","vmhd","minf","mvhd","audio","generateInitSegment","byteLength","avcc","HDLR_AUDIO","timescale","isLeading","mvex","cts","1732jgWBXM","188685xYHGZq","hvc1","1270zDvFkG","slice","esds","flags","1720232lErxTY","stts","mfhd","hvcC","stsc","types","avc","avcC","init","stco","mdia","mp3","codecHeight","4035085PdYemj","STSZ","hasRedundancy","mdat","type","prototype","mdhd","dinf","tkhd","SMHD","STSD_PREFIX","STTS","duration","4682766ZWlaob","hasOwnProperty","stsd","codecWidth","stbl","moov","mp4a","DREF","isNonSync","charCodeAt","concat","789990UXNZuy","constants","call","audioSampleRate","avc1","moof","traf","24ryVZqd","isDependedOn","channelCount"];return(pa=function(){return e})()}function ma(e,t){const r=pa();return(ma=function(e,t){return r[e-=430]})(e,t)}!function(e,t){const r=ma,n=e();for(;;)try{if(572581===parseInt(r(451))/1+parseInt(r(499))/2+-parseInt(r(477))/3*(-parseInt(r(492))/4)+parseInt(r(512))/5+-parseInt(r(440))/6+-parseInt(r(475))/7*(-parseInt(r(458))/8)+parseInt(r(493))/9*(-parseInt(r(495))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pa);class va{static[fa(507)](){const e=fa;va[e(504)]={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in va.types)va[e(504)][e(441)](t)&&(va[e(504)][t]=[t[e(449)](0),t[e(449)](1),t[e(449)](2),t.charCodeAt(3)]);let t=va[e(452)]={};t[e(478)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t[e(437)]=new Uint8Array([0,0,0,0,0,0,0,1]),t.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(468)]=t.STCO=t[e(438)],t.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(487)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[fa(476)](e){const t=fa;let r=8,n=null,i=Array[t(432)][t(496)][t(453)](arguments,1),s=i.length;for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n[t(462)](e,4);let o=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static[fa(465)](e){const t=fa;return va.box(va[t(504)][t(465)],va[t(435)](e),va[t(509)](e))}static[fa(435)](e){const t=fa;let r=e.id,n=e[t(439)],i=e.presentWidth,s=e.presentHeight;return va[t(476)](va[t(504)][t(435)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static[fa(509)](e){const t=fa;return va.box(va[t(504)][t(509)],va[t(433)](e),va.hdlr(e),va[t(481)](e))}static mdhd(e){const t=fa;let r=e[t(488)],n=e[t(439)];return va[t(476)](va[t(504)].mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static[fa(461)](e){const t=fa;let r=null;return r=e[t(431)]===t(483)?va.constants[t(487)]:va[t(452)].HDLR_VIDEO,va[t(476)](va.types[t(461)],r)}static[fa(481)](e){const t=fa;let r=null;return r="audio"===e[t(431)]?va[t(476)](va[t(504)].smhd,va[t(452)][t(436)]):va[t(476)](va[t(504)][t(480)],va.constants[t(470)]),va[t(476)](va[t(504)][t(481)],r,va[t(434)](),va.stbl(e))}static[fa(434)](){const e=fa;return va.box(va[e(504)][e(434)],va[e(476)](va[e(504)].dref,va[e(452)][e(447)]))}static[fa(444)](e){const t=fa;return va[t(476)](va[t(504)][t(444)],va[t(442)](e),va[t(476)](va[t(504)][t(500)],va[t(452)][t(438)]),va[t(476)](va[t(504)][t(503)],va[t(452)][t(468)]),va[t(476)](va[t(504)].stsz,va[t(452)][t(513)]),va[t(476)](va.types[t(508)],va[t(452)][t(479)]))}static[fa(442)](e){const t=fa;return e.type===t(483)?"mp3"===e[t(473)]?va[t(476)](va[t(504)][t(442)],va.constants[t(437)],va[t(510)](e)):va[t(476)](va[t(504)][t(442)],va[t(452)][t(437)],va[t(446)](e)):e[t(471)]===t(505)?va[t(476)](va[t(504)][t(442)],va[t(452)][t(437)],va[t(455)](e)):va[t(476)](va[t(504)][t(442)],va[t(452)][t(437)],va[t(494)](e))}static mp3(e){const t=fa;let r=e.channelCount,n=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return va[t(476)](va.types[t(463)],i)}static[fa(446)](e){const t=fa;let r=e[t(460)],n=e[t(454)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return va[t(476)](va[t(504)][t(446)],i,va[t(497)](e))}static[fa(497)](e){const t=fa;let r=e.config||[],n=r.length,i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n])[t(450)](r)[t(450)]([6,1,2]));return va.box(va[t(504)].esds,i)}static[fa(455)](e){const t=fa;let r=e[t(486)];const n=e.codecWidth,i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return va[t(476)](va[t(504)][t(455)],s,va[t(476)](va.types[t(506)],r))}static[fa(494)](e){const t=fa;let r=e[t(486)];const n=e[t(443)],i=e[t(511)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return va[t(476)](va.types[t(494)],s,va[t(476)](va[t(504)][t(502)],r))}static[fa(490)](e){const t=fa;return va.box(va[t(504)][t(490)],va[t(469)](e))}static[fa(469)](e){const t=fa;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return va[t(476)](va.types[t(469)],n)}static[fa(456)](e,t){const r=fa;return va[r(476)](va[r(504)][r(456)],va[r(501)](e[r(474)]),va[r(457)](e,t))}static mfhd(e){const t=fa;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return va[t(476)](va.types[t(501)],r)}static[fa(457)](e,t){const r=fa;let n=e.id,i=va[r(476)](va[r(504)][r(466)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=va[r(476)](va[r(504)].tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),o=va.sdtp(e),a=va.trun(e,o.byteLength+16+16+8+16+8+8);return va.box(va[r(504)].traf,i,s,a,o)}static[fa(464)](e){const t=fa;let r=new Uint8Array(5),n=e.flags;return r[4]=n[t(489)]<<6|n[t(472)]<<4|n[t(459)]<<2|n[t(514)],va[t(476)](va[t(504)][t(464)],r)}static trun(e,t){const r=fa;let n=new Uint8Array(28);t+=36,n[r(462)]([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e[r(439)],s=e.size,o=e[r(498)],a=e[r(491)];return n[r(462)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o[r(489)]<<2|o[r(472)],o[r(459)]<<6|o[r(514)]<<4|o[r(448)],0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),va.box(va[r(504)][r(467)],n)}static[fa(430)](e){const t=fa;return va[t(476)](va[t(504)][t(430)],e)}}va.init();var ya=ga;function ga(e,t){var r=wa();return(ga=function(e,t){return r[e-=415]})(e,t)}!function(e,t){for(var r=ga,n=e();;)try{if(645534===parseInt(r(416))/1*(parseInt(r(422))/2)+parseInt(r(428))/3*(-parseInt(r(418))/4)+parseInt(r(419))/5+-parseInt(r(427))/6+parseInt(r(417))/7+-parseInt(r(425))/8*(-parseInt(r(415))/9)+-parseInt(r(421))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(wa);var _a=Qe[ya(424)]((function(e){var t=ya;e.exports=function(e,t,r){return t in e?Object[ga(430)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports[t(420)]=!0,e[t(429)][t(423)]=e[t(429)]}));function wa(){var e=["11520460mwiTcO","542770ZtjHrC","default","createCommonjsModule","5205304ySfPAw","unwrapExports","5323380jRqqlh","1467smmvnP","exports","defineProperty","9uyynwn","1AIkWSE","8484735ZaTPoW","228IfBfYH","2892650CYVyuM","__esModule"];return(wa=function(){return e})()}function ba(){const e=["mp3","77iRmEAE","10278228ivrMyN","383218qZwWYb","440543NcVSdB","2FQnzEY","error","464625szETtC","20pUDqdp","channel_count","length","6LQxnJs","162328LHigSH","Invalid MP3 packet, header missing!","3953385tVHtrX","4EDOyoT","sample_rate","1138731lQVONu"];return(ba=function(){return e})()}function Sa(e,t){const r=ba();return(Sa=function(e,t){return r[e-=228]})(e,t)}Qe[ya(426)](_a),function(e,t){const r=Sa,n=e();for(;;)try{if(229214===-parseInt(r(228))/1*(parseInt(r(229))/2)+parseInt(r(241))/3*(-parseInt(r(239))/4)+-parseInt(r(231))/5*(parseInt(r(235))/6)+parseInt(r(243))/7*(-parseInt(r(236))/8)+parseInt(r(238))/9+-parseInt(r(232))/10*(-parseInt(r(245))/11)+parseInt(r(244))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ba);const Ea=[44100,48e3,32e3,0],ka=[22050,24e3,16e3,0],Ia=[11025,12e3,8e3,0],Aa=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Ca=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Ta=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function xa(e){const t=Sa;if(e[t(234)]<4)return void console[t(230)](t(237));let r=new Uint8Array(e.buffer),n=null;if(255!==r[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=r[1]>>>3&3,s=(6&r[1])>>1,o=(240&r[2])>>>4,a=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0,d=t(242);switch(i){case 0:u=Ia[a];break;case 2:u=ka[a];break;case 3:u=Ea[a]}switch(s){case 1:o=e[s]&&t=6?(i=5,r=new Array(4),a=s-3):(i=2,r=new Array(2),a=s):-1!==c[t(404)](t(382))?(i=2,r=new Array(2),a=s):(i=5,a=s,r=new Array(4),s>=6?a=s-3:1===o&&(i=2,r=new Array(2),a=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&o)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),this.config=r,this[t(363)]=Ra[s],this[t(387)]=s,this[t(410)]=o,this.object_type=i,this.original_object_type=n,this[t(418)]=t(371)+i,this[t(376)]="mp4a.40."+n}}function za(){const e=["total_length","slices","refFrames","55wxBTJj","data","isComplete","mp4a.40.","expected_length","audioSampleRate","level","width","original_codec_mimetype","chromaFormat","videoDataRate","3169887QGSxqp","3368068OTklmZ","hasVideo","android","audioChannelCount","mimeType","profile","duration","sampling_index","471506HwoRvQ","isSeekable","userAgent","toLowerCase","keyframesIndex","audio_object_type","stream_id","fps","121626TSIYIs","segments","nearest_pts","metadata","pid","987550VaafuW","firefox","channel_config","indexOf","140ppzZCm","_search","floor","times","3326931dKTOxA","channel_count","audioDataRate","len","3967285tUMtTU","sarDen","hasKeyframesIndex","height","hasAudio","codec_mimetype","getNearestKeyframe","sarNum","dts","24yeyedv","4riqsHs","pts","audioCodec","videoCodec","sampling_rate","sampling_freq_index"];return(za=function(){return e})()}const Na=Ha;function ja(){const e=["bitsAvailable","readUInt","readUShort","1571395Rxnsex","data","867853bvvnRe","skipUEG","readBoolean","9xOyyxZ","1134122ZQStUu","length","readBits","bitLength","919191xmaBWe","getBits","875079ylcYdU","24oXfhOT","skipBits","readUByte","readEG","26694CmCSVs","index","skipLZ","60qqybHU","50plThtU","2561048IsQunu"];return(ja=function(){return e})()}function Ha(e,t){const r=ja();return(Ha=function(e,t){return r[e-=206]})(e,t)}!function(e,t){const r=Ha,n=e();for(;;)try{if(951350===-parseInt(r(212))/1*(-parseInt(r(224))/2)+-parseInt(r(217))/3+-parseInt(r(229))/4+parseInt(r(207))/5+parseInt(r(227))/6*(parseInt(r(209))/7)+parseInt(r(220))/8*(-parseInt(r(219))/9)+parseInt(r(228))/10*(parseInt(r(213))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ja);class Wa{constructor(e){const t=Ha;this.data=e,this[t(225)]=0,this.bitLength=8*e.byteLength}get[Na(230)](){const e=Na;return this[e(216)]-this[e(225)]}[Na(221)](e){const t=Na;if(this[t(230)]1&&void 0!==arguments[1])||arguments[1];return this[t(218)](e,this[t(225)],r)}[Na(218)](e,t){const r=Na;let n=!(arguments[r(214)]>2&&void 0!==arguments[2])||arguments[2];if(this[r(230)]>>i,o=8-i;if(o>=e)return n&&(this[r(225)]+=e),s>>o-e;{n&&(this[r(225)]+=o);const i=e-o;return s<>>1:-1*(e>>>1)}[Na(211)](){return 1===this.readBits(1)}[Na(222)](){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this[Na(215)](8*e)}[Na(206)](){return this[Na(215)](16)}[Na(231)](){return this[Na(215)](32)}}function Va(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=Ka,n=e();;)try{if(770668===-parseInt(r(443))/1+parseInt(r(447))/2*(parseInt(r(446))/3)+parseInt(r(440))/4+parseInt(r(437))/5+parseInt(r(435))/6*(parseInt(r(433))/7)+parseInt(r(444))/8+parseInt(r(451))/9*(-parseInt(r(448))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ja);const $a=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Ga=new Array(2746333894,1453994832,1736282519,2993693404),qa=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Ya(e,t,r,n,i){var s=Ka,o=i;o=t+i>e[s(441)]&&n+i<=r[s(441)]?e.length-t:n+i>r[s(441)]&&t+i<=e[s(441)]?r[s(441)]-n:t+i<=e.length&&n+i<=r[s(441)]?i:r[s(441)]>24&255,e>>16&255,e>>8&255,255&e)}function Ja(){var e=["ceil","slice","3486472NyLEtY","length","log","339002WvutEC","9102432nBUGYS","cipher is error!","21558PxVipU","410iXnSQx","26430IeKgWE","sm4 key is error!","data is error!","10719VFItEn","byteLength","set","184555HwgMLW","iv is error!","30zIOCkU","min","3215530cfPeqq"];return(Ja=function(){return e})()}function Za(e,t){var r=Ka;return t+3>>19)^(n<<23|n>>>9)}function tc(e,t){var r=new Array(36);r[0]=Za(t,0),r[1]=Za(t,4),r[2]=Za(t,8),r[3]=Za(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^rc(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=Ka,r=new Array(4*e[t(441)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function nc(e,t,r){var n=Ka;if(null==e||null==e||e[n(441)]%16!=0)return console[n(442)](n(449)),null;if(null==r||null==r||r[n(441)]<=0)return console[n(442)](n(445)),null;if(null==t||null==t||t[n(441)]%16!=0)return console.log(n(434)),null;for(var i=Qa(e),s=Math[n(438)](r[n(441)]/16),o=new Array(r[n(441)]),a=t[n(439)](),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments[n(441)]>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const o=e[n(452)];let a=5;for(;ao)break;let u=e[a+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(u)):(u&=31,l=1===u||5===u),l){const i=nc(t,r,e.slice(a+4+d,a+4+c));e[n(453)](i,a+4+d)}a=a+4+c}return e}const sc=oc;function oc(e,t){const r=ac();return(oc=function(e,t){return r[e-=144]})(e,t)}function ac(){const e=["onMediaSourceSourceOpen() audioSourceBuffer is null and next init","scte_35_pids","keyFrame","isRecordTypeFlv","parseSCTE35","timescale","LOG_NAME","AC3: Bit Stream Identification changed from ","decodeVideo is max diff , ts is ","stopId","audio_object_type",", diff time is ","fetchStream, WebsocketStream socket close abnormally and code is ","getHandle","channel_mode","handlePESSlice: packet_start_code_prefix should be 1 but with value ",",nalu type is ","codedWidth","isTs","details","fetchNext().catch() and e is ","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","minf","setCodecVideo: SIMD H264 decode video width is too large, width is ","readNextNaluPayload","kADTSAAC","7QMIyls","isEmitInfo"," and mseDecoder.audioMimeType is ","mediaSource",'video/mp4; codecs="',"playbackForwardMaxRateDecodeIFrame","isSm4Crypto","audioCodec","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ","fetchStream, WebsocketStream socket close and requestAbort is true so return","getAllocatedSampleDataSize","webglObj","803672dImitP","mimeType","_decodeEnhancedH265Video","audioSampleRate","sequenceHeader","code is ","VideoDecoder","onerror","h264","sampleRate","slices","219VMhXBQ",",\n firstAudioTime is ","parseLOASAACPayload","loas_previous_frame","handleSectionSlice","videoBufferDelay","videoTrackId","mediaSourceAppendBufferFull","visibility","total_length","getDelay() and preDelayTimestamp is ","setCodecAudio","calcIframeIntervalTimestamp","aac","isSm4Crypto opt.sm4CryptoKey is null","log","timed_id3_pids","videoPayload","sar_ratio"," ts is ","audioTracks","tsPacketSize","kAC3","pushBuffer video ts is ","decodeVideo","mediaSourceAudioG711NotSupport","getState","preDelayTimestamp","mseCorrectAudioTimeDuration","_doDecodeVideo","getTrackById","channel_count","draw, decoder is destroyed and return","complete","calcNetworkDelay","supportVideoFrameCallbackHandle","parseH264Payload","pushLatestDelay","readyState","kSliceSEI","parseVideo264Header","mseDecoderUseWorker","websocket error",",\n new width is ","match","code","mediaSourceFull"," and mseCorrectTimeDuration is ","debugLevel","emitSectionSlices","streamFps"," ,new bufferList is ","isStateOpen","MP3: SamplingFrequencyIndex changed from ","audioMimeType","options:","isKeyframe","useOffscreen","kSCTE35","mseDecoder.audioSourceBuffer.appendBuffer()","delay","destroy","pendingRemoveRanges","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","hasVideo","Video: Coded Resolution changed from ","mseError"," vs start is ","parsePMT: table_id "," ,streamVideoFps is ","resetAllDelay","binaryType","debugLog",'video/mp2t; codecs="',"handleVideoH265Frames","validatedFailed, please contact the author to get the correct license","hvcc"," and return","first_parse_","audio_init_segment_dispatched_","kSliceIDR_N_LP","sm4CryptoKey","readBits","fps","channel_config","videoSequenceHeader","parseOpusPayload","idle","pendingUnits","audioCode","timeInit","VideoDecoder configure has not init , isIframe is ","onSamples() trackId error","arraybuffer","h265 naluList.length === 0","video_metadata_changed_","calcNetworkDelay, dts is "," ,\n and now ts is ","flush",", bufferListLength is "," , message is "," and\n ts is ","Opus: Channel count changed from ","playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ","streamVbps","stream_type",", dts is ","stopStreamRateAndStatsInterval","$video","audioSequenceNumber","DataStream"," and tempDelay is ","adts_aac","sampling_freq_index","setCodecVideo: hasInitVideoCodec is false, codecId is ","detectAudioMetadataChange","BIG_ENDIAN","h264 naluList.length === 0","_doRemoveRanges","getContext","onopen","isWidthOrHeightChanged","audioSourceNoDataCheckTimeout"," and preTsDuration is ","stream_id","kMPEG2Audio","writableStream write() and abortController.signal.aborted is true so return","secondStartCodeOffset","extractNALu$3","aborted"," and firstRenderTime is ","worker fmp4Demuxer",", preTs is ","mseCorrectTimeDuration","pes_private_data_pids","warn",", and ts is ","parseVideo265Header","getStreamBufferLength","presentHeight","isAAC","getUint32","kMetadata","hasIncompleteData","onmessage:","generateInitSegment","parseSynchronousKLVMetadataPayload","215820iawQbC","AC3: BitStream Mode changed from ","videoNalu","getDelay","Webcodecs Video Decoder initSize","worker nakedFlow","removeUsedSamples","isCacheBeforeDecodeForFpsRender","opt","Timed ID3 Metadata: pid="," package length is ","AC3: Low Frequency Effects Channel On changed from ","Parsed first PMT: ","playbackStreamVideoFps","buffering","handlePESSlice","pushBuffer","emitError","nakedFlowFps","mediaSourceBufferError","isAudioInitInfo","delta","audioPayload","mp4","dropBuffer$2() iFrameIndex is ","yuvData, transferToImageBitmap error is","_decodeConfigurationRecord error",", options.ts is ",'" and return',"fetchNext().catch() and abortController.signal.aborted is true so return","decodeNext","parseAC3Payload","aac_last_incomplete_data_","sampling_frequency","websocket","width is ","video_track_","playbackCacheLoop fragDuration is ","playVod","isEmitSEI","_decodeVideo","\n maybe trigger black screen or flower screen\n ","SMPTE 2038 Metadata: pid=","types","program_pmt_map_","mdia","streamEndInner","demuxTs","video_init_segment_dispatched_","isM7sCrypto","isAvc","closed"," and diff is ","catch"," and decoder.delay is ","now","duration_","useMSE","readNextAACFrame","fetchStatus","mediaSource is not attached to video or mediaSource is closed","mediaSourceError"," and nalUnitSize is ","mseSourceBufferError","dispatch","streamVideoFps","isVideoInited","synchronous_klv_pids","sync_offset","streamVideoType is null","endOfStream() has pending eos","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","ID3 ","level_string","dispatchAudioVideoMediaSegment","initAudio","preventDefault","playAudio","playbackTF","setCodecAudio: mp3 is not support for old version","ended","setExtractionOptions","_initSourceBuffer and mseDecoder.isStateOpen is ","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","decodeAudio, decoder is destroyed and return"," to ","prevAudioDts",",\n new width is ","push","videoCode","protocol"," and isVideoSqeHeader is ","JbPro Worker Version is ","hasIframeInBufferList","playback and playbackIsCacheBeforeDecodeForFpsRender is true"," and notDroppingDelayTs is ","isDecodeFirstIIframe","TAG","MP3: Channel count changed from ","iframeIntervalTs","hasInit","ac3","pid","getReader","byteLength","AAC: Detected pts overlapped, ","videoSEI","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0"," and prevTs is ","firstAudioTime","prevPayloadBufferSize","parsePESPrivateDataPayload","has_audio_","needClear","aacSequenceHeader","_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()","networkDelayTimeout","flags","videoMeta","hasAudio","isHevc","hasInitVideoCodec","audioSourceBufferCheckTimeout"," and maxDiff is ","handleOffscreenCanvasWebglContextLost, stencil is false","parseSMPTE2038MetadataPayload","writableStream abort() and e.name is AbortError so return","findSecondStartCode","decodeVideo, decoder is destroyed and return","2325660WmVNck","open","doDecode",",and old bufferList length is ","Malformed PES: PES_packet_length < 3 + PES_header_data_length","decoder","isPlayVod","_clearAudioSourceBufferCheckTimeout","getUint8",", set dropping is true","Asynchronous KLV Metadata: pid=","ms, PES pts: ","2724dNqDaL","moof","signal","m7sCryptoAudio","isInitSegmentDispatched","isXorCrypto","removeSourceBuffer() sourceBuffer","status","audioAACSequenceHeader","min","streamType","video_metadata_","length","kPESPrivateData","videoType","demuxMpeg4","_needCleanupSourceBuffer","fetch().catch() and abortController.signal.aborted is true so return","_decodeAudioConfigurationRecord audio codec is not support , codecId is ","updateConfig","h265","mp4Box","parsePES","mediaSourceDecoderConfigurationError","channelCount","low_frequency_effects_channel_on","frameRate","body","isIFrame","playbackConfig","shift"," or cryptoIV.length is ","appendBuffer","fetch done","sarRatio","isPlayer","error","request abort and run res.body.cancel()","getContextAttributes","decodeAudio\n local dts is < 0 , ts is ","kLOASAAC",", stream_id=","AAC: Unknown pts","value","updateend","render","getDelayNotUpdateDelay() and preDelayTimestamp is ","mseAutoCleanupSourceBuffer","slice","prefixSei","detectVideoMetadataChange","size"," and delay is ","offset",",\n and emit change event","mediaSourceH265NotSupport","_doCleanUpSourceBuffer","last_pcr_","66cXWbSo","mseAutoCleanupMaxBackwardDuration","events","removeSourceBuffer","state","payload_unit_start_indicator","startPlaybackCacheLoop","videoMimeType","setInterval()","firstStartCodeOffset","_hasPendingRemoveRanges","checkStreamEnd","extractNALu","suffixSei","parsedOffset","_decodeAudio",", new height is ","bit_stream_mode","_decodeConfigurationRecord"," is not corresponded to PAT!","webgl","useSIMD","_clearAudioNoDataCheckTimeout"," > ","2itqJos","getAudioBufferLength","init and forHardDecode is ","drawImage","AAC","stsd","isPlayUseMSE","_preDoDecode","readUEG","Opus: SamplingFrequencyIndex changed from ","abort"," and next dropBuffer",'writableStream write() and value is "',"handleVideoNalu","firstTimestamp","from","syncOffset","onReady","pid_stream_type","decodeAudio() and decoder is destroyed","\n and replay","VANC","stop","writableStream write() and requestAbort is true so return","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","pushBuffer,\n preTimestamp is ","expected_length","checkFirstIFrame","codec_size","pat_","loop() common dumex delay is -1 ,data.ts is","pts","cryptoPayloadAudio","mseDecodeAudio","_hasPendingSegments","avcC","isStateEnded","_initAudioSourceBuffer and mseDecoder.isStateOpen is ","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","hasPendingEos","pushBuffer video and isIFrame is ","831126UxykMM","calcNetworkDelay now dts:"," and is Trial Version[试用版本]","updatePlaybackIsPause, isPause is ","fetch response status is "," and payload size is ","parseSPS$2","firstAudioTime is ","lastBuffer","cacheAudioTrack","sort"," and forOldVersion is ","fetchStream","duration"," and prev dts is "," and height is ","getNotDroppingDelayTs","ms and return ","original_codec_mimetype","prevTs","firstRenderTime is ","clearPlaybackCacheLoop","decodeVideo: simd decode error, and return","nakedFlowDemuxUseNew","units"," > timestamp is ","extractH265PPS",";codecs=","buffered","parseEAC3Payload","Parsed first PAT: ",",\n firstRenderTime is ","HEAPU8","dts","videoBuffer"," _opt.sampleRate is ",", isVideoSequenceHeader is true","dispatchAudioInitSegment","networkDelay","video","webglcontextrestored","opus","fetch","decodeVideo\n local dts is < 0 , ts is ","ALAW","isDropping","chroma_format","isPlayUseMSEAndDecoderInWorker","tempStream"," but isSocketError is true , so return","read",'" is string so return',"decodeVideo has not init , isIframe is ","codecWidth","flvScriptData","parse","string"," and\n ts is ","mediaSource is end","message","avc","simdDecodeError","fetchStream, WebsocketStream on error and isDestroyed is true, so return","assign"," , payload is ","mseAutoCleanupMinBackwardDuration","onmessage","_decodeAudioConfigurationRecord","HEAPU32","audioNalu","kSliceIDR_W_RADL","concat",",\n and emit change event","firstRenderTime","subarray",", height is ","localDts","debugError","transferToImageBitmap","setCodecVideo: init video codec , codecId is ","pps","common_pids",'" string so return',"kSlicePPS"," less than (or equal) preTs is ","AAC: SamplingFrequencyIndex changed from "," and ok is ","worker","remove","isM7sCrypto cryptoKey.length is ","refFrames","fetchError","offscreenCanvas","MULAW","appendAudioBuffer","isPlayback","addEventListener","stringify","loop() do not decode and delay is ","smpte2038_pids",", diff is ","sarNum","pcr_pid","bitDepth","webglcontextlost","decode","original_object_type","playType","decodeVideo() and decoder is destroyed","lastBuf","loop() bufferList is empty and reset delay","onReady()","decodeVideo and payload is too small , payload length is ","vcl","AC3: Channel Mode changed from ","endOfStream()","ceil","endOfStream","setCodec","level","getAudioSourceBufferUpdating","mp4Box onError","audioTrackId",", pts=","_isEnhancedH265Header","hev","decodeAudio","width: ","HEAPF32","parseH265Payload","key","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","socket is null","mseDecoder.mediaSourceAppendBufferFull is true","getVideoBufferLength","decodeAudio first frame is not iFrame","renderYUV","pendingAudioRemoveRanges","type","extractNALu$2","startStreamRateAndStatsInterval","reset","data","removeEventListener","buffer","playbackRate"," > maxDelay ","mediaSourceAddSourceBufferError","sendWebsocketMessage","clearBuffer","workerEnd","iFrame","streamDts","writableStream"," ,\n and now ts is ","version_number","pes_slice_queues_","parseADTSAACPayload","Video: Codec mimeType changed from ","AAC: AudioObjectType changed from ","_doRemoveRanges() sourceBuffer error","handleNALu","audioBufferSize","height","findFirstStartCode","toString","config","Opus","ms and return -1","network_pid","mseDecoder.mediaSourceBufferError is true","len","\n diff is ",", old height is ","audioChannelCount","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","offscreenCanvasGL","player","isTrusted","pendingAudioSegments","sample_rate","isDropSameTimestampGop","_remainingPacketData","mp3Demuxer","handleAddNaluStartCode","streamEnd","onSamples"," and prev ts is ","isPushDropping","useWCS","demuxM7s","mpeg4","currentTime","parseMP3Payload","removeSourceBuffer() audioSourceBuffer","initVideo","audio_metadata_","_checkTsIsMaxDiff"," and emit replay","PACKET_TYPE_FRAMES","Audio: Audio Codecs changed from ","debug","worker MediaSource","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","firstStartCodeOffset -14 is","_decodeVideo payload bytes is 0 and return","mseWorkerAddSourceBufferError","ref_frames","errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ","fetchStream, WebsocketStream socket open","FT_KEY","onMediaSourceSourceOpen() sourceBuffer is null and next init","current_pmt_pid_","sync_byte = ","kSliceNonIDR","handleVideoH264NaluList","random_access_indicator","loas_aac","parseTimedID3MetadataPayload","stencil","fetchNext().then() and requestAbort is true so return","videoInfo"," and isDestroyed is true, so return","VideoDecoder error: ","PACKET_TYPE_SEQ_START","websocketError","_initPmt",", need clear is ","audioSampleRateIndex","parsePAT: table_id "," and isIFrame is ","fetch().catch() and e is ","prevAudioTs","isWasmMp4"," is not H264 or H265","file_position","isPlaybackCacheBeforeDecodeForFpsRender","avcc","probe","eac3","websocket user aborted"," ,delay is ","url","\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ","handleVideoH264NaluList list size is ","decodeVideo: video width or height is changed, and return","object_type","parseVPS","_getSeqHeader","listenMp4Box","options","pushBuffer() and isIFrame is ","samplingRate","init","audio_last_sample_pts_","cancel","map","worker mpeg4Demuxer","decode data type is ","handle","mseUpdateVideoTimestamp","createFile","parsePPS","hasAudioInit","has not init video codec","eventListenList","emitPESSlices","expected: ","kH265","presentWidth","isWorkerFetch","fetchStream, WebsocketStream socket close and code is ","onOffscreenCanvasWebglContextLost",'socket on message is string "',"fetchNext().then() and done is true","abs","set","isFirstDispatch and tsPacketSize = ","MP3","_resetInIt","_initAudioSourceBuffer","kSliceCRA_NUT","sequenceNumber","writableStream pipeTo() and e is","isDestroyed","sourceended","indexOf","mediaSourceAppendBufferError","openWebglAlignment","handleVideoH265Nalu","mseSourceBufferError mseDecoder.audioSourceBuffer","cryptoPayload","removeSourceBuffer() sourceBuffer error","present_size","close","pcmData, decoder is destroyed and return","handleVideoH264Nalu","program_pmt_pid","decodeVideo first frame is not iFrame","findSei",", and ts list is ","cts","loop() isPushDropping is true and bufferList length is ","workerFetch","end","ac-3","updatePlaybackIsPause","parseSPS"," and has iIframe and next decoder.dropBuffer$2()","mseDecoder.sourceBuffer.appendBuffer()","Video: Present resolution width changed from ","offscreenCanvasCtx",",\n diff is ","streamAbps","streamRate"," is not corresponded to PMT!","payload","getDelayNotUpdateDelay","has_video_","fetchStream, WebsocketStream socket error","current_program_","Generated first AVCDecoderConfigurationRecord for mimeType: ","onclose","getBuildTime","setCodecAudio: hasInitAudioCodec is false, codecId is ","dropBuffer$2","streamAudioFps","loop demux diff time is "," and prevPayloadBufferSize is ","sourceOpen","recordType",",\n and prevPayloadBufferSize is ","some","parsePES: packet_start_code_prefix should be 1 but with value ","mseSourceBufferError mseDecoder.sourceBuffer","dropping","demuxFmp4","needInitAudio","_doAppendSegments","isStateClosed","descriptor","mp3","vps","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","close() and writableStream.close() error","onOffscreenCanvasWebglContextRestored"," and emit error and next abort()","1138240QXxguM"," and bufferlist is ","floor","meta","sps","pushBuffer audio ts is ","playbackIsPause","refSampleDuration","fromCharCode","videoCodec","configure","demuxNakedFlow","fetchNext().then() and abortController.signal.aborted is true so return","kSliceIDR","kEAC3","hvcC","profile_string"," and mseDecoder.isAvc === null is ","audio"," more than ","audioSourceBuffer",", height: ","originalCodec","demuxFlv","sendWsMessage","decodeDiffTimestamp","_doRemoveRanges() audioSourceBuffer error","aacADTSHeader","audioDecode",",\n and mseCorrectTimeDuration is ","ts is ","audio_track_","streamSuccess","abortSourceBuffer() abort sourceBuffer","worker TsLoaderV2","_opt","TAG_NAME","isFmp4","765684IVBTJc","getIncompleteData","sourceClose","kH264","dispatchVideoMediaSegment","debugUuid","prevDts"," isIFrame is ","samples","codec_mimetype","frame_rate","send","\n isVideoSqeHeader is ","getNearestTimestampMilliseconds",", bufferList is ","mseFirstRenderTime","cryptoIV","sourceBuffer","program_number","updating","mediaSourceAudioNoDataTimeout","media_info_","9urROwL","sampling_index","nearest_pts","createImageBitmap"," and prev time is ","KLVA","then","readUByte","ec-3","isSendSeqHeader","pmt_","width","seqHeader","pendingSegments","asynchronous_klv_pids","streamVideoType","_onMediaSourceSourceOpen","codecHeight","mseDecoder.mediaSourceAddSourceBufferError is true","Client disconnecting"," ant auto wasm decode","isMpeg4","dispatchAudioMediaSegment","timescale_","nakedFlowH265DemuxUseNew"," next data type is ","start","setCodecAudio: init audio codec, codeId is ","section_slice_queues_"," less than bufferStartDts is ","_doDecodeAudio","headers"," ms","write","decodeVideo and payload is video sequence header so drop this frame","demuxM7s() type is video and arrayBuffer length is ","dispatchVideoInitSegment","flvBufferData","AC3: Sampling Frequency changed from ","onError","abortSourceBuffer","scriptData","mp4a.40.","clearSlices","writableStream abort() and e is ","AudioDecoder","kMPEG1Audio","isPlaybackOnlyDecodeIFrame","getNaluDts"," and\n payloadBufferSize is ","fileStart","getSourceBufferUpdating","demux() isIFrame is false and unit type is IDR and update to true","getTime","codedHeight","mediaSourceAudioInitTimeout"," null",", dts=",", isAacCodecPacket is true","bit_stream_identification","addSourceBuffer"," an set streamFps is 25","isSm4CryptoH265V2","removeSourceBuffer() audioSourceBuffer error","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","mseDecoder.mediaSourceAppendBufferError is true","prevTimestamp","name","chromaFormat","playbackCacheLoop","isFlv",", and hasAudio is ","isNakedFlow","startTimestamp","cryptoKey","clear","cacheTrack","setCodecVideo","forEach","codec","fetchNext().catch() and e.name is AbortError so return","debugWarn"];return(ac=function(){return e})()}function cc(e,t){const r=uc();return(cc=function(e,t){return r[e-=209]})(e,t)}function uc(){const e=["57185jillpu","613372uufDdJ","11158SJpNSw","498cfWdIA","979ygKrAY","199026hrQPHU","warn","9IXrerm","JbPro[❌❌❌][audio wasm]:","290hFfEnX","24996PDZWKK","437412yreQXZ","797296svSCSw","872gTMnmj","JbPro[❌❌❌][video wasm]:","then","all"];return(uc=function(){return e})()}!function(e,t){const r=oc,n=e();for(;;)try{if(126589===parseInt(r(1057))/1*(parseInt(r(834))/2)+parseInt(r(687))/3*(parseInt(r(975))/4)+-parseInt(r(496))/5+parseInt(r(149))/6+parseInt(r(664))/7*(parseInt(r(676))/8)+-parseInt(r(556))/9*(-parseInt(r(963))/10)+parseInt(r(1033))/11*(-parseInt(r(534))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ac),Date[sc(889)]||(Date[sc(889)]=function(){const e=sc;return(new Date)[e(609)]()}),console[sc(702)](sc(926)+Mt+":"+Bt+sc(151));const lc=cc;!function(e,t){const r=cc,n=e();for(;;)try{if(540317===-parseInt(r(225))/1+parseInt(r(224))/2+parseInt(r(220))/3*(-parseInt(r(214))/4)+parseInt(r(213))/5*(parseInt(r(216))/6)+parseInt(r(215))/7*(parseInt(r(209))/8)+-parseInt(r(218))/9*(-parseInt(r(222))/10)+-parseInt(r(217))/11*(parseInt(r(223))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(uc);const dc=[];dc.push(o({printErr:function(e){const t=cc;(function(e){const t=At;return!(!e||-1===e[t(446)](t(596))&&-1===e[t(446)](t(603))&&-1===e.indexOf(t(580))&&-1===e[t(446)](t(767)))})(e)||console[t(219)](t(221),e)}}),s({printErr:function(e){const t=cc;(function(e){const t=At;return!(!e||-1===e[t(446)](t(595)))})(e)||(console.warn(t(210),e),Gt(function(e){const t=At;let r=!0;return e&&-1!==e.indexOf(t(467))&&(r=!1),r}(e))&&postMessage({cmd:be.notSupportNewWasm}))}})),Promise[lc(212)](dc)[lc(211)]((e=>{const t=e[0];!function(){const e=sc;let t=arguments[e(987)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(987)]>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments[e(987)]>3&&void 0!==arguments[3]&&arguments[3],s=[],o=[],a=null,c=null,u=null,l=null,d=null,h=null,f=!1,p=null,m=null,v=!1,y=!1,g=!!$t(n),_=0,w=0,b=!1,S=null,E=null,k=null,I=[],A=null,C=null,T=0,x=0,D=null,P=null,B=0,M=0,F=!1,U=!1,R=!1,L=null,O=null,z=!1,N=!0,j=0,H=0,W=()=>{const t=e,r=Wt();return{debug:r.debug,debugLevel:r[t(735)],debugUuid:r[t(539)],useOffscreen:r[t(744)],useWCS:r.useWCS,useMSE:r[t(891)],videoBuffer:r.videoBuffer,videoBufferDelay:r[t(692)],openWebglAlignment:r[t(437)],playType:r[t(256)],hasAudio:r.hasAudio,hasVideo:r[t(751)],playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(669)],playbackIsCacheBeforeDecodeForFpsRender:r[t(1004)][t(841)],sampleRate:0,networkDelay:r[t(187)],visibility:!0,useSIMD:r[t(1054)],isRecording:!1,recordType:r[t(479)],isNakedFlow:r.isNakedFlow,checkFirstIFrame:r[t(1084)],audioBufferSize:1024,isM7sCrypto:r.isM7sCrypto,m7sCryptoAudio:r.m7sCryptoAudio,cryptoKey:r[t(630)],cryptoIV:r[t(550)],isSm4Crypto:r.isSm4Crypto,isSm4CryptoH265V2:r[t(618)],sm4CryptoKey:r[t(768)],isXorCrypto:r[t(980)],isHls265:!1,isFlv:r[t(626)],isFmp4:r[t(533)],isMpeg4:r[t(577)],isTs:r[t(656)],isEmitSEI:r.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(330)],mseDecodeAudio:r[t(1090)],wcsDecodeAudio:r.wcsDecodeAudio,nakedFlowH265DemuxUseNew:r[t(580)],mseDecoderUseWorker:r[t(728)],mseAutoCleanupSourceBuffer:r[t(1022)],mseAutoCleanupMaxBackwardDuration:r[t(1034)],mseAutoCleanupMinBackwardDuration:r[t(214)],mseCorrectTimeDuration:r[t(820)],mseCorrectAudioTimeDuration:r[t(715)],nakedFlowDemuxUseNew:r[t(172)],nakedFlowFps:r[t(852)],supportMSEDecodeHevc:!1,checkStreamEnd:r[t(1044)]}};"VideoEncoder"in self&&(a={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;a[t(968)]=new VideoDecoder({output:function(e){const r=t;if(Lt(e[r(559)]))e[r(559)]()[r(562)]((t=>{const n=r;a.offscreenCanvasCtx[n(1060)](t,0,0,e.codedWidth,e.codedHeight);let i=a[n(241)][n(227)]();postMessage({cmd:be[n(1020)],buffer:i,delay:X[n(747)],ts:0},[i]),Nt(e)}));else{a[r(460)].drawImage(e,0,0,e[r(655)],e.codedHeight);let t=a[r(241)][r(227)]();postMessage({cmd:be[r(1020)],buffer:t,delay:X[r(747)],ts:0},[t]),Nt(e)}},error:function(e){const r=t;X[r(226)](r(236),r(372),e,e[r(314)]())}}),X[t(759)](a[t(532)],"init")},destroy(){const t=e;a[t(290)](),a.decoder&&a[t(968)][t(1037)]!==t(885)&&(a[t(968)][t(443)](),a[t(968)]=null),X[t(759)](a[t(532)],t(748))},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(a.hasInit){const e=new EncodedVideoChunk({data:t[i(1023)](5),timestamp:r,type:s?Ue.key:Ue[i(855)]});a[i(968)].decode(e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:be.videoCode,code:e});const r=new Uint8Array(t);postMessage({cmd:be[i(505)],buffer:r,codecId:e},[r.buffer]);let n=null,s=null;const o=t[i(1023)](5);e===xe.h264?(s=_r(o),n={codec:s[i(635)],description:o}):e===xe[i(995)]&&(s=Zr(o),n={codec:s[i(635)],description:o}),s&&s.codecWidth&&s[i(573)]&&(n[i(610)]=s[i(573)],n[i(655)]=s.codecWidth),!a[i(665)]&&(X[i(759)]("worker",i(838)),postMessage({cmd:be.initVideo,w:s[i(202)],h:s.codecHeight}),a.isEmitInfo=!0,a[i(241)]=new OffscreenCanvas(s[i(202)],s[i(573)]),a[i(460)]=a[i(241)][i(806)]("2d"));try{a[i(968)][i(506)](n),a[i(934)]=!0}catch(e){X.debugError(i(236),"VideoDecoder configure error",e.code,e,e[i(314)]()),e.toString()}}else X[i(637)](i(236),i(778)+s+i(213)+t[1]+" so drop this frame")},reset(){const t=e;a.hasInit=!1,a[t(665)]=!1,a.offscreenCanvas=null,a[t(460)]=null}});let V=function(){const t=e;if(z=!0,c)try{c[t(1067)](),c=null,X.debugLog(t(236),"abort success")}catch(e){c=null,X[t(759)](t(236),"abort catch",e)}},$={TAG_NAME:e(839),init(){const t=e;$[t(258)]=null,$[t(491)]=null,$[t(500)]=null,$[t(229)]=null,$[t(985)]=null,$[t(225)]=0,$[t(775)]={},$.isSendSeqHeader=!1,X[t(759)]($[t(532)],"init")},destroy(){const t=e;$[t(258)]=null,$.vps=null,$[t(500)]=null,$[t(229)]=null,$[t(985)]=null,$[t(225)]=0,$[t(775)]={},$[t(565)]=!1,X[t(759)]($.TAG_NAME,"destroy")},dispatch(t){const r=e,n=new Uint8Array(t);if(X._opt[r(172)]){const e=$[r(815)](n);if(0===e[r(987)])return void X.debugLog($[r(532)],"dispatch naluArray length is 0");$.handleVideoFrames(e)}else $[r(288)](n)},getNaluDts(){const t=e,r=X[t(531)][t(852)];let n=$[t(225)];return $[t(225)]=$[t(225)]+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=X._opt[t(685)],n=X._opt[t(311)];return $[t(225)]+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,o=t[r(938)],a=0,c=[];for(;s1)for(let e=0;e{const t=r,n=kr(e);n===Be[t(229)]||n===Be[t(500)]?$[t(445)](e):Cr(n)&&i.push(e)})),1===i.length)$[r(445)](i[0]);else if(xr(i)){const e=kr(i[0]),t=Tr(e);$[r(364)](i,t,e)}else i[r(634)]((e=>{$[r(445)](e)}))}else if($.streamType===De[r(995)])if(X[r(531)].nakedFlowH265DemuxUseNew){const e=$[r(333)](t),n=$.extractNALu(e);if(0===n.length)return void X[r(637)](r(236),r(1070),r(781));const i=[];if(n.forEach((e=>{const t=r,n=nn(e);n===Me[t(229)]||n===Me[t(500)]||n===Me[t(491)]?$[t(438)](e):on(n)&&i[t(922)](e)})),1===i.length)$[r(438)](i[0]);else if(cn(i)){const e=nn(i[0]),t=an(e);$.handleVideoH265NaluList(i,t,e)}else i[r(634)]((e=>{$[r(438)](e)}))}else nn(t)===Me[r(229)]?$[r(175)](t):$.handleVideoH265Nalu(t)},extractH264PPS(t){const r=e,n=$[r(333)](t);$.extractNALu(n).forEach((e=>{const t=r;Ar(kr(e))?$.extractH264SEI(e):$[t(445)](e)}))},extractH265PPS(t){const r=e,n=$[r(333)](t);$.extractNALu(n)[r(634)]((e=>{sn(nn(e))?$.extractH265SEI(e):$.handleVideoH265Nalu(e)}))},extractH264SEI(t){const r=e,n=$[r(333)](t);$[r(1045)](n).forEach((e=>{$[r(445)](e)}))},extractH265SEI(t){const r=e,n=$.handleAddNaluStartCode(t);$[r(1045)](n).forEach((e=>{$[r(438)](e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t.length+n[r(987)]);return i[r(425)](n),i.set(t,n.length),i},handleVideoH264Nalu(t){const r=e,n=kr(t);switch(n){case Be[r(500)]:$[r(500)]=t;break;case Be[r(229)]:$.pps=t}if($[r(565)]){if($[r(500)]&&$[r(229)]){const e=wr({sps:$.sps,pps:$.pps}),t=$.localDts;X[r(254)](e,{type:Se[r(188)],ts:t,isIFrame:!0,cts:0}),$[r(500)]=null,$.pps=null}if(Cr(n)){const e=Tr(n),i=$[r(604)](),s=Sr(t,e);$[r(965)](s,{type:Se[r(188)],ts:i,isIFrame:e,cts:0})}}else if($[r(500)]&&$[r(229)]){$.isSendSeqHeader=!0;const e=wr({sps:$[r(500)],pps:$[r(229)]});X.decode(e,{type:Se[r(188)],ts:0,isIFrame:!0,cts:0}),$[r(500)]=null,$[r(229)]=null}},handleVideoH264NaluList(t,r,n){const i=e;if($.isSendSeqHeader){const e=$[i(604)](),s=Er(t.reduce(((e,t)=>{const r=i,n=Et(e),s=Et(t),o=new Uint8Array(n.byteLength+s[r(938)]);return o[r(425)](n,0),o[r(425)](s,n[r(938)]),o})),r);$[i(965)](s,{type:Se[i(188)],ts:e,isIFrame:r,cts:0}),X[i(759)](i(236),i(393)+t[i(987)]+i(844)+s[i(938)]+i(541)+r+",nalu type is "+n+i(793)+e)}},handleVideoH265Nalu(t){const r=e,n=nn(t);switch(n){case Me[r(491)]:$.vps=t;break;case Me[r(500)]:$[r(500)]=t;break;case Me[r(229)]:$[r(229)]=t}if($[r(565)]){if($[r(491)]&&$[r(500)]&&$.pps){const e=en({vps:$[r(491)],sps:$[r(500)],pps:$[r(229)]}),t=$[r(225)];X[r(254)](e,{type:Se[r(188)],ts:t,isIFrame:!0,cts:0}),$[r(491)]=null,$[r(500)]=null,$.pps=null}if(on(n)){const e=an(n),i=$[r(604)](),s=tn(t,e);$[r(965)](s,{type:Se.video,ts:i,isIFrame:e,cts:0})}}else if($[r(491)]&&$.sps&&$[r(229)]){$[r(565)]=!0;const e=en({vps:$[r(491)],sps:$[r(500)],pps:$[r(229)]});X[r(254)](e,{type:Se[r(188)],ts:0,isIFrame:!0,cts:0}),$[r(491)]=null,$[r(500)]=null,$[r(229)]=null}},handleVideoH265NaluList(t,r,n){const i=e;if($.isSendSeqHeader){const e=$[i(604)](),s=rn(t.reduce(((e,t)=>{const r=i,n=Et(e),s=Et(t),o=new Uint8Array(n[r(938)]+s.byteLength);return o.set(n,0),o[r(425)](s,n.byteLength),o})),r);$[i(965)](s,{type:Se[i(188)],ts:e,isIFrame:r,cts:0}),X[i(759)](i(236),"handleVideoH265NaluList list size is "+t[i(987)]+i(844)+s[i(938)]+i(541)+r+i(654)+n+", dts is "+e)}},doDecode(t,r){const n=e;X.calcNetworkDelay(r.ts),r[n(1003)]&&X[n(699)](r.ts),X[n(254)](t,r)},handleVideoFrames(t){const r=e;if(!$.streamVideoType)for(let e of t)if($[r(571)]=Ot(e),$[r(571)])break;$[r(571)]?$[r(571)]===De[r(684)]?$.handleVideoH264Frames(t):$[r(571)]===De.h265&&$[r(761)](t):X[r(637)](r(236),"handleVideoFrames",r(903))},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;$[r(775)][r(173)]&&(n=$.pendingUnits.units,o=$[r(775)][r(262)],s=$[r(775)][r(300)],$[r(775)]={});let a={};for(let e of t){if(e.byteLength<4)continue;const t=kr(e);let c=!1,u=t===Be[r(509)];(t===Be[r(363)]||t===Be.kSliceIDR)&&(a=$[r(727)](e),c=!0),n.length&&o&&(a.isfms||!c)&&(i.push({units:n,isIFrame:s}),n=[],s=!1,o=!1),n[r(922)](e),s=s||u,o=o||c}n[r(987)]&&($.pendingUnits={units:n,vcl:o,iFrame:s}),i[r(634)]((e=>{const t=r,n=e[t(173)],i=e[t(1003)];let s=null,o=null;if(n.forEach((e=>{const r=t,n=31&e[0];switch(n){case Be.pps:$[r(229)]=e;break;case Be.sps:$[r(500)]=e;break;case Be[r(726)]:o=e}if(Cr(n)){const t=Et(e);if(s){const e=new Uint8Array(s[r(938)]+t[r(938)]);e[r(425)](s,0),e.set(t,s[r(938)]),s=e}else s=t}})),!$[t(565)]&&$[t(500)]&&$[t(229)]){$.isSendSeqHeader=!0;const e=br({sps:$[t(500)],pps:$[t(229)]});X[t(254)](e,{type:Se[t(188)],ts:0,isIFrame:!0,cts:0}),$[t(500)]=null,$[t(229)]=null}if($[t(565)]){if($[t(500)]&&$.pps){const e=br({sps:$[t(500)],pps:$[t(229)]}),r=$.localDts;X[t(254)](e,{type:Se[t(188)],ts:r,isIFrame:!0,cts:0}),$.sps=null,$[t(229)]=null}if(s){const e=$.getNaluDts(),r=Er(s,i);if(X[t(531)][t(873)]&&o){const r=St(o,!1);postMessage({cmd:be[t(940)],buffer:r.payload,ts:e},[r.payload[t(293)]])}$.doDecode(r,{type:Se.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;$[r(775)][r(173)]&&(n=$[r(775)].units,o=$[r(775)].vcl,s=$[r(775)][r(300)],$[r(775)]={});let a={};for(let e of t){if(e[r(938)]<4)continue;const t=nn(e);let c=!1,u=an(t);on(t)&&(a=$[r(824)](e),c=!0),n[r(987)]&&o&&(a.isfms||!c)&&(i[r(922)]({units:n,isIFrame:s}),n=[],s=!1,o=!1),n[r(922)](e),s=s||u,o=o||c}n[r(987)]&&($[r(775)]={units:n,vcl:o,iFrame:s}),i.forEach((e=>{const t=r,n=e[t(173)],i=e[t(1003)];let s=null,o=null;if(n[t(634)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Me[r(229)]:$.pps=e;break;case Me[r(500)]:$[r(500)]=e;break;case Me.vps:$[r(491)]=e;break;case Me[r(1046)]:case Me.prefixSei:o=e}if(on(n)){const t=Et(e);if(s){const e=new Uint8Array(s[r(938)]+t[r(938)]);e[r(425)](s,0),e[r(425)](t,s.byteLength),s=e}else s=t}})),!$.isSendSeqHeader&&$[t(500)]&&$[t(229)]&&$[t(491)]){$[t(565)]=!0;const e=en({sps:$[t(500)],pps:$[t(229)],vps:$[t(491)]});X[t(254)](e,{type:Se[t(188)],ts:0,isIFrame:!0,cts:0}),$[t(500)]=null,$[t(229)]=null,$[t(491)]=null}if($[t(565)]){if($.sps&&$[t(229)]&&$[t(491)]){const e=en({sps:$[t(500)],pps:$[t(229)],vps:$[t(491)]}),r=$[t(225)];X.decode(e,{type:Se[t(188)],ts:r,isIFrame:!0,cts:0}),$.sps=null,$[t(229)]=null,$[t(491)]=null}if(s){const e=$[t(604)](),r=rn(s,i);if(X[t(531)][t(873)]&&o){const r=St(o,!0);postMessage({cmd:be[t(940)],buffer:r[t(465)],ts:e},[r[t(465)].buffer])}$.doDecode(r,{type:Se[t(188)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{$[oc(1070)](e)}))},parseVideo264Header(t){const r=e,n=new Wa(t);return n[r(563)](),{isfms:0===n[r(1065)](),sType:n[r(1065)]()}},parseVideo265Header(t){const r=e,n=new Wa(t);return n[r(563)](),{nalType:n.readBits(6),isfms:0===n[r(769)](1),sType:n[r(769)](3)}}},G={LOG_NAME:e(818),mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;G[t(996)]=yo[t(410)](),G[t(996)].onReady=G[t(1074)],G[t(996)].onError=G[t(595)],G.mp4Box.onSamples=G[t(335)],X[t(759)](G[t(644)],t(402))},destroy(){const t=e;G[t(996)]&&(G[t(996)][t(1079)](),G[t(996)][t(785)](),G[t(996)][t(748)](),G.mp4Box=null),G[t(1028)]=0,G[t(693)]=null,G[t(271)]=null,G.isHevc=!1,X[t(759)](G[t(644)],"destroy")},_getSeqHeader(t){const r=e,n=G[r(996)][r(717)](t.id);for(const e of n[r(879)][r(660)].stbl[r(1062)].entries)if(e[r(1092)]||e[r(511)]){const t=new(yo[r(797)])(void 0,0,yo[r(797)][r(803)]);let n=[];e[r(1092)]?(e[r(1092)][r(589)](t),n=[23,0,0,0,0]):(G[r(954)]=!0,X[r(954)]=!0,e[r(511)][r(589)](t),n=[28,0,0,0,0]);const i=new Uint8Array(t[r(293)],8),s=new Uint8Array(n[r(987)]+i[r(987)]);return s[r(425)](n,0),s[r(425)](i,n[r(987)]),s}return null},onReady(t){const r=e;X[r(759)](G[r(644)],r(260));const n=t.videoTracks[0],i=t[r(707)][0];if(n){G[r(693)]=n.id;const e=G[r(397)](n);e&&(X.debugLog(G.LOG_NAME,r(568)),X.decodeVideo(e,0,!0,0)),G[r(996)][r(915)](n.id)}if(i&&X[r(531)][r(953)]){G[r(271)]=i.id;const e=i[r(514)]||{},t=ut[r(435)](e[r(329)]),n=i[r(635)].replace(r(598),"");G.mp4Box[r(915)](i.id);const s=lt({profile:parseInt(n,10),sampleRate:t,channel:e[r(718)]});X[r(759)](G[r(644)],r(523)),X[r(275)](s,0)}G[r(996)][r(582)]()},onError(t){const r=e;X[r(226)](G[r(644)],r(270),t)},onSamples(t,r,n){const i=e;if(t===G[i(693)]){for(const e of n){const t=e[i(291)],r=e.is_sync,n=1e3*e.cts/e[i(643)];e[i(162)],e[i(643)],r&&X[i(699)](n);let s=null;s=G[i(954)]?rn(t,r):Er(t,r),X[i(254)](s,{type:Se[i(188)],ts:n,isIFrame:r,cts:0})}G.mp4Box[i(840)](t)}else if(t===G[i(271)]){if(X[i(531)][i(953)]){for(const e of n){const t=e.data,r=1e3*e.cts/e[i(643)];e[i(162)],e[i(643)];const n=new Uint8Array(t.byteLength+2);n[i(425)]([175,1],0),n[i(425)](t,2),X[i(254)](n,{type:Se.audio,ts:r,isIFrame:!1,cts:0})}G[i(996)][i(840)](t)}}else X[i(637)](G[i(644)],i(779),t)},dispatch(t){const r=e;let n=new Uint8Array(t);n[r(293)][r(606)]=G[r(1028)],G[r(1028)]+=n[r(938)],G[r(996)][r(1007)](n[r(293)])}},q={LOG_NAME:e(406),lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(402),hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);q.extractNALu(t)},destroy(){const t=e;q[t(157)]=new Uint8Array(0),q[t(1047)]=0,q[t(1042)]=0,q[t(814)]=0,q[t(1037)]=t(402),q[t(955)]=!1,q[t(225)]=0,X[t(759)](q[t(644)],"destroy")},extractNALu(t){const r=e;if(!t||t[r(938)]<1)return void X[r(637)](q.LOG_NAME,"extractNALu() buffer error",t);const n=new Uint8Array(q[r(157)].length+t[r(987)]);for(n[r(425)](q[r(157)],0),n[r(425)](new Uint8Array(t),q[r(157)][r(987)]),q[r(157)]=n;;){if("init"===q[r(1037)]){let e=!1;for(;q[r(157)].length-q[r(1047)]>=4;)if(0===q[r(157)][q.parsedOffset])if(0===q[r(157)][q.parsedOffset+1])if(1===q[r(157)][q[r(1047)]+2]){if(182===q[r(157)][q[r(1047)]+3]){q.state=r(313),q[r(1042)]=q.parsedOffset,q[r(1047)]+=4,e=!0;break}q[r(1047)]++}else q[r(1047)]++;else q.parsedOffset++;else q[r(1047)]++;if(e)continue;break}if(q[r(1037)]===r(313)){let e=!1;for(;q.lastBuffer.length-q[r(1047)]>=4;)if(0===q[r(157)][q.parsedOffset])if(0===q[r(157)][q[r(1047)]+1])if(1===q[r(157)][q[r(1047)]+2]){if(182===q[r(157)][q[r(1047)]+3]){q[r(1037)]=r(961),q[r(814)]=q[r(1047)],q[r(1047)]+=4,e=!0;break}q[r(1047)]++}else q.parsedOffset++;else q[r(1047)]++;else q.parsedOffset++;if(e)continue;break}if(q.state===r(961)){if(!(q[r(157)][r(987)]-q[r(1047)]>0))break;{let e,t=192&q[r(157)][q[r(1047)]];e=0==t?q[r(814)]-14:q.secondStartCodeOffset;let n,i=0==(192&q[r(157)][q.firstStartCodeOffset+4]);if(i){if(q[r(1042)]-14<0)return void X[r(637)](q[r(644)],r(353),q[r(1042)]-14);!q.hasInitVideoCodec&&(q[r(955)]=!0,X[r(759)](q[r(644)],r(267)),Z[r(267)](xe[r(340)],"",X.getBuildTime())),n=q[r(157)].subarray(q[r(1042)]-14,e)}else n=q.lastBuffer[r(223)](q[r(1042)],e);let s=q[r(604)]();q[r(955)]?(postMessage({cmd:be[r(452)],type:Ie[r(791)],value:n.byteLength}),postMessage({cmd:be[r(452)],type:Ie[r(301)],value:s}),_=s,Z[r(254)](n,i?1:0,s)):X[r(637)](q[r(644)],r(413)),q[r(157)]=q[r(157)].subarray(e),0==t?q.firstStartCodeOffset=14:q[r(1042)]=0,q[r(1047)]=q[r(1042)]+4,q[r(1037)]=r(313)}}}},getNaluDts(){const t=e;let r=q.localDts;return q[t(225)]=q[t(225)]+40,r}},Y={TAG_NAME:e(530),first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new La,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:e(514),id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;Y.media_info_=null,Y[t(305)]=null,Y[t(584)]=null,Y[t(986)]=null,Y.audio_metadata_=null,Y[t(866)]=null,Y[t(870)]=null,Y[t(527)]=null,Y[t(331)]=null,X[t(759)](Y[t(532)],"destroy")},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n.byteLength<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(984)](1e3,n.byteLength-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;Y._remainingPacketData&&(t=oa(Y[r(331)],t),Y._remainingPacketData=null);let n=t.buffer;const i=Y.parseChunks(n);i?Y[r(331)]=t[r(223)](i):t[r(987)]>>6;e[1];let o=(31&e[1])<<8|e[2],a=(48&e[3])>>>4,c=15&e[3],u=!(!Y[r(566)]||Y[r(566)][r(251)]!==o),l={},d=4;if(2==a||3==a){let t=e[4];if(t>0&&(u||3==a)&&(l.discontinuity_indicator=(128&e[5])>>>7,l[r(365)]=(64&e[5])>>>6,l.elementary_stream_priority_indicator=(32&e[5])>>>5,(16&e[5])>>>4)){let t=300*(e[6]<<25|e[7]<<17|e[8]<<9|e[9]<<1|e[10]>>>7)+((1&e[10])<<8|e[11]);Y[r(1032)]=t}if(2==a||5+t===188){n+=188,204===Y[r(708)]&&(n+=16);continue}d=5+t}if(1==a||3==a)if(0===o||o===Y[r(361)]||null!=Y[r(566)]&&Y[r(566)][r(1075)][o]===Ba[r(745)]){let e=188-d;Y[r(691)](t,n+d,e,{pid:o,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(365)]})}else if(null!=Y[r(566)]&&null!=Y[r(566)][r(1075)][o]){let e=188-d,i=Y[r(566)][r(1075)][o];(o===Y.pmt_[r(230)][r(684)]||o===Y[r(566)][r(230)].h265||o===Y[r(566)][r(230)][r(799)]||o===Y[r(566)][r(230)][r(366)]||o===Y[r(566)].common_pids.ac3||o===Y.pmt_[r(230)][r(388)]||o===Y[r(566)][r(230)][r(190)]||o===Y[r(566)][r(230)][r(490)]||!0===Y[r(566)][r(821)][o]||!0===Y.pmt_[r(703)][o]||!0===Y[r(566)][r(901)][o]||!0===Y.pmt_.asynchronous_klv_pids[o])&&Y[r(849)](t,n+d,e,{pid:o,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(365)]})}n+=188,204===Y[r(708)]&&(n+=16)}return Y[r(908)](),n},handleSectionSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=Y.section_slice_queues_[i[s(936)]];if(i[s(1038)]){let e=o[0];if(null!=a&&0!==a[s(696)]){let o=new Uint8Array(t,r+1,Math[s(984)](n,e));a[s(686)].push(o),a.total_length+=o[s(938)],a.total_length===a.expected_length?Y[s(736)](a,i):Y[s(599)](a,i)}for(let c=1+e;c=a[s(1083)]&&Y.clearSlices(a,i),c+=u[s(938)]}}else if(null!=a&&0!==a[s(696)]){let e=new Uint8Array(t,r,Math[s(984)](n,a.expected_length-a[s(696)]));a[s(686)].push(e),a[s(696)]+=e[s(938)],a.total_length===a[s(1083)]?Y[s(736)](a,i):a[s(696)]>=a[s(1083)]&&Y[s(599)](a,i)}},handlePESSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=o[0]<<16|o[1]<<8|o[2];o[3];let c=o[4]<<8|o[5];if(i.payload_unit_start_indicator){if(1!==a)return void X[s(637)](Y.TAG_NAME,s(653)+a);let e=Y.pes_slice_queues_[i.pid];e&&(0===e[s(1083)]||e[s(1083)]===e[s(696)]?Y[s(415)](e,i):Y[s(599)](e,i)),Y[s(305)][i[s(936)]]=new Ma,Y[s(305)][i[s(936)]][s(365)]=i.random_access_indicator}if(null==Y[s(305)][i.pid])return;let u=Y[s(305)][i[s(936)]];u[s(686)][s(922)](o),i.payload_unit_start_indicator&&(u.expected_length=0===c?0:c+6),u.total_length+=o.byteLength,u[s(1083)]>0&&u.expected_length===u[s(696)]?Y[s(415)](u,i):u[s(1083)]>0&&u[s(1083)]>>6,c=n[8];(2===a||3===a)&&(e=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,i=3===a?536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2:e);let u,l=9+c;if(0!==o){if(o<3+c)return void X.debugWarn(Y[r(532)],r(967));u=o-3-c}else u=n[r(938)]-l;let d=n[r(223)](l,l+u);switch(t.stream_type){case Ba[r(602)]:case Ba.kMPEG2Audio:Y[r(342)](d,e);break;case Ba[r(988)]:Y[r(566)].common_pids.opus===t.pid?Y[r(773)](d,e):Y[r(566)][r(230)][r(935)]===t[r(936)]?Y[r(865)](d,e):Y.pmt_[r(230)][r(388)]===t[r(936)]?Y[r(178)](d,e):Y.pmt_[r(570)][t[r(936)]]?Y.parseAsynchronousKLVMetadataPayload(d,t[r(936)],s):Y.pmt_[r(248)][t[r(936)]]?Y[r(959)](d,e,i,t.pid,s):Y.parsePESPrivateDataPayload(d,e,i,t[r(936)],s);break;case Ba[r(663)]:Y[r(306)](d,e);break;case Ba[r(1015)]:Y[r(689)](d,e);break;case Ba[r(709)]:Y[r(865)](d,e);break;case Ba[r(510)]:Y.parseEAC3Payload(d,e);break;case Ba[r(829)]:Y[r(566)][r(703)][t[r(936)]]?Y[r(367)](d,e,i,t[r(936)],s):Y[r(566)].synchronous_klv_pids[t[r(936)]]&&Y[r(833)](d,e,i,t[r(936)],s);break;case Ba[r(537)]:Y[r(723)](d,e,i,t[r(365)]);break;case Ba[r(417)]:Y[r(278)](d,e,i,t[r(365)])}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&t[r(792)]===Ba[r(988)]){let e,i=6;e=0!==o?o:n[r(938)]-i;let a=n[r(223)](i,i+e);Y[r(945)](a,void 0,void 0,t.pid,s)}}else X[r(226)](Y[r(532)],r(482)+i)},parsePAT(t){const r=e;let n=t[0];if(0!==n)return void Log.e(Y.TAG,r(378)+n+r(1052));let i=(15&t[1])<<8|t[2];t[3],t[4];let s=(62&t[5])>>>1,o=1&t[5],a=t[6];t[7];let c=null;if(1===o&&0===a)c={version_number:0,network_pid:0,program_pmt_pid:{}},c[r(304)]=s;else if(c=Y[r(1086)],null==c)return;let u=i-5-4,l=-1,d=-1;for(let e=8;e<8+u;e+=4){let n=t[e]<<8|t[e+1],i=(31&t[e+2])<<8|t[e+3];0===n?c[r(318)]=i:(c[r(446)][n]=i,-1===l&&(l=n),-1===d&&(d=i))}1===o&&0===a&&(null==Y[r(1086)]&&X[r(759)](Y[r(532)],r(179)+JSON[r(246)](c)),Y[r(1086)]=c,Y[r(469)]=l,Y[r(361)]=d)},parsePMT(t){const r=e;let n=t[0];if(2!==n)return void X.debugError(Y[r(532)],r(755)+n+r(464));let i,s=(15&t[1])<<8|t[2],o=t[3]<<8|t[4],a=(62&t[5])>>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)i=Y[r(375)](),i[r(552)]=o,i[r(304)]=a,Y[r(878)][o]=i;else if(i=Y[r(878)][o],null==i)return;i[r(251)]=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],d=12+l,h=s-9-l-4;for(let e=d;e0){for(let n=e+5;n0)for(let n=e+5;n1&&(X[n(637)](Y[n(532)],"AAC: Detected pts overlapped, "+(n(416)+e+n(974)+s)+"ms"),s=e)}}let o,a=new vt(t),c=null,u=s;for(;null!=(c=a[n(892)]());){i=1024/c[n(867)]*1e3;const e={codec:n(700),data:c};0==Y[n(766)]?(Y[n(345)]={codec:n(700),audio_object_type:c.audio_object_type,sampling_freq_index:c[n(800)],sampling_frequency:c[n(867)],channel_config:c[n(771)]},Y[n(186)](e)):Y[n(802)](e)&&(Y[n(578)](),Y[n(186)](e)),o=u;let t=Math[n(498)](u);const r=new Uint8Array(c[n(291)][n(987)]+2);r.set([175,1],0),r[n(425)](c[n(291)],2);let s={payload:r,length:r[n(938)],pts:t,dts:t,type:Se[n(514)]};Y[n(527)].samples[n(922)](s),Y[n(527)][n(987)]+=r.byteLength,u+=i}a[n(830)]()&&(Y.aac_last_incomplete_data_=a[n(535)]()),o&&(Y[n(403)]=o)},parseLOASAACPayload(t,r){const n=e;if(Y.has_video_&&!Y[n(882)])return;if(Y[n(866)]){let e=new Uint8Array(t.byteLength+Y[n(866)][n(938)]);e[n(425)](Y[n(866)],0),e[n(425)](t,Y[n(866)].byteLength),t=e}let i,s;if(null!=r&&(s=r/Y[n(579)]),"aac"===Y[n(345)][n(635)]){if(null==r&&null!=Y[n(403)])i=1024/Y[n(345)][n(867)]*1e3,s=Y[n(403)]+i;else if(null==r)return void X[n(637)](Y[n(532)],n(1017));if(Y[n(866)]&&Y.audio_last_sample_pts_){i=1024/Y[n(345)].sampling_frequency*1e3;let e=Y[n(403)]+i;Math[n(424)](e-s)>1&&(X[n(637)](Y[n(931)],n(939)+(n(416)+e+n(974)+s+"ms")),s=e)}}let o,a=new gt(t),c=null,u=s;for(;null!=(c=a[n(892)](Ut(Y.loas_previous_frame)?void 0:Y[n(690)]));){Y[n(690)]=c,i=1024/c[n(867)]*1e3;const e={codec:n(700),data:c};0==Y[n(766)]?(Y[n(345)]={codec:n(700),audio_object_type:c[n(648)],sampling_freq_index:c.sampling_freq_index,sampling_frequency:c[n(867)],channel_config:c[n(771)]},Y[n(186)](e)):Y[n(802)](e)&&(Y[n(578)](),Y[n(186)](e)),o=u;let t=Math[n(498)](u);const r=new Uint8Array(c[n(291)][n(987)]+2);r[n(425)]([175,1],0),r[n(425)](c[n(291)],2);let s={payload:r,length:r[n(938)],pts:t,dts:t,type:Se[n(514)]};Y[n(527)].samples[n(922)](s),Y[n(527)][n(987)]+=r[n(938)],u+=i}a.hasIncompleteData()&&(Y[n(866)]=a[n(535)]()),o&&(Y[n(403)]=o)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(Y.has_video_&&!Y[n(882)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],o=[11025,12e3,8e3,0],a=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,h=34;switch(a){case 0:d=o[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:h=34,n(987);break;case 2:h=33,n(987);break;case 3:h=32,n(987)}const f={};f[n(395)]=h,f[n(329)]=d,f[n(718)]=l,f[n(291)]=t;const p={codec:n(490),data:f};0==Y[n(766)]?(Y[n(345)]={codec:n(490),object_type:h,sample_rate:d,channel_count:l},Y[n(186)](p)):Y[n(802)](p)&&(Y[n(578)](),Y[n(186)](p));let m={payload:t,length:t.byteLength,pts:r/Y[n(579)],dts:r/Y.timescale_,type:Se[n(514)]};Y.audio_track_.samples.push(m),Y.audio_track_[n(987)]+=t[n(938)]},detectAudioMetadataChange(t){const r=e;if(t.codec!==Y[r(345)][r(635)])return X.debugLog(Y[r(532)],r(349)+(Y[r(345)].codec+" to ")+t[r(635)]),!0;if(t[r(635)]===r(700)&&Y.audio_metadata_[r(635)]===r(700)){const e=t[r(291)];if(e[r(648)]!==Y.audio_metadata_[r(648)])return X[r(759)](Y[r(532)],r(308)+(Y[r(345)][r(648)]+r(919)+e.audio_object_type)),!0;if(e[r(800)]!==Y[r(345)][r(800)])return X[r(759)](Y[r(532)],r(234)+(Y[r(345)][r(800)]+r(919)+e[r(800)])),!0;if(e[r(771)]!==Y.audio_metadata_[r(771)])return X[r(759)](Y[r(532)],"AAC: Channel configuration changed from "+Y[r(345)][r(771)]+" to "+e[r(771)]),!0}else if(t[r(635)]===r(454)&&Y[r(345)][r(635)]===r(454)){const e=t[r(291)];if(e[r(867)]!==Y.audio_metadata_[r(867)])return X[r(759)](Y[r(532)],r(594)+(Y[r(345)][r(867)]+r(919)+e[r(867)])),!0;if(e.bit_stream_identification!==Y[r(345)][r(615)])return X[r(759)](Y.TAG_NAME,r(645)+(Y[r(345)][r(615)]+r(919)+e.bit_stream_identification)),!0;if(e[r(1050)]!==Y[r(345)][r(1050)])return X.debugLog(Y.TAG_NAME,r(835)+(Y[r(345)][r(1050)]+r(919)+e[r(1050)])),!0;if(e[r(652)]!==Y[r(345)][r(652)])return X[r(759)](Y[r(532)],r(263)+(Y[r(345)].channel_mode+r(919)+e[r(652)])),!0;if(e[r(1e3)]!==Y[r(345)].low_frequency_effects_channel_on)return X[r(759)](Y[r(532)],r(845)+(Y[r(345)][r(1e3)]+r(919)+e[r(1e3)])),!0}else if("opus"===t.codec&&Y.audio_metadata_[r(635)]===r(190)){const e=t[r(499)];if(e[r(329)]!==Y.audio_metadata_[r(329)])return X[r(759)](Y.TAG_NAME,r(1066)+(Y[r(345)].sample_rate+r(919)+e[r(329)])),!0;if(e.channel_count!==Y[r(345)][r(718)])return X[r(759)](Y.TAG_NAME,r(789)+(Y[r(345)][r(718)]+r(919)+e[r(718)])),!0}else if(t[r(635)]===r(490)&&Y[r(345)][r(635)]===r(490)){const e=t[r(291)];if(e[r(395)]!==Y[r(345)][r(395)])return X[r(759)](Y[r(532)],"MP3: AudioObjectType changed from "+Y.audio_metadata_.object_type+" to "+e[r(395)]),!0;if(e[r(329)]!==Y[r(345)].sample_rate)return X[r(759)](Y[r(532)],r(740)+(Y[r(345)][r(329)]+r(919)+e[r(329)])),!0;if(e[r(718)]!==Y[r(345)][r(718)])return X[r(759)](Y.TAG_NAME,r(932)+(Y.audio_metadata_.channel_count+r(919)+e[r(718)])),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n[r(287)]="audio",n.id=Y[r(527)].id,n[r(643)]=1e3,n[r(162)]=Y[r(890)],Y[r(345)][r(635)]===r(700)){let e=t[r(635)]===r(700)?t.data:null,i=new Oa(e);n[r(679)]=i.sampling_rate,n.audioSampleRateIndex=i[r(557)],n[r(999)]=i[r(718)],n[r(635)]=i[r(543)],n.originalCodec=i[r(167)],n[r(315)]=i[r(315)],n[r(503)]=1024/n[r(679)]*n[r(643)],r(1061);const s=lt({profile:X[r(531)].mseDecodeAudio?i.object_type:i[r(255)],sampleRate:n[r(377)],channel:n[r(999)]});X[r(275)](s,0)}else Y[r(345)].codec===r(454)||Y[r(345)].codec===r(564)||Y.audio_metadata_[r(635)]===r(190)||Y[r(345)][r(635)]===r(490)&&(n[r(679)]=Y[r(345)][r(329)],n[r(999)]=Y[r(345)][r(718)],n[r(635)]=r(490),n.originalCodec=r(490),n[r(315)]=void 0);0==Y[r(766)]&&X.debugLog(Y[r(532)],"Generated first AudioSpecificConfig for mimeType: "+n[r(635)]),Y.audio_init_segment_dispatched_=!0,Y[r(782)]=!1;let i=Y[r(555)];i[r(953)]=!0,i.audioCodec=n[r(518)],i[r(679)]=n.audioSampleRate,i[r(323)]=n.channelCount,i[r(751)]&&i[r(505)]?i[r(677)]='video/mp2t; codecs="'+i[r(505)]+","+i.audioCodec+'"':i[r(677)]=r(760)+i.audioCodec+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s[i(936)]=t,s[i(792)]=r,s[i(489)]=n},parsePESPrivateDataPayload(t,r,n,i,s){const o=e;let a=new Ua;if(a.pid=i,a[o(811)]=s,a[o(320)]=t[o(938)],a[o(291)]=t,null!=r){let e=Math[o(498)](r/Y[o(579)]);a[o(1088)]=e}else a[o(558)]=Y[o(547)]();if(null!=n){let e=Math[o(498)](n/Y[o(579)]);a[o(182)]=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const o=e;X[o(759)](Y[o(532)],o(843)+i+o(272)+r+o(613)+n+", stream_id="+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const o=e;X[o(759)](Y.TAG_NAME,"Synchronous KLV Metadata: pid="+i+o(272)+r+o(613)+n+", stream_id="+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;X[i(759)](Y[i(532)],i(973)+r+i(1016)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const o=e;X[o(759)](Y[o(532)],o(876)+i+o(272)+r+o(613)+n+o(1016)+s)},getNearestTimestampMilliseconds(){const t=e;return null!=Y.audio_last_sample_pts_?Math[t(498)](Y.audio_last_sample_pts_):null!=Y.last_pcr_?Math[t(498)](Y[t(1032)]/300/Y[t(579)]):void 0},_preDoDecode(){const t=e,r=Y[t(870)],n=Y[t(527)];let i=r.samples;n[t(542)][t(987)]>0&&(i=r.samples[t(220)](n.samples),i=i[t(159)](((e,r)=>{const n=t;return e.dts-r[n(182)]}))),i[t(634)]((e=>{const r=t,n=new Uint8Array(e[r(465)]);delete e[r(465)],e[r(287)]===Se[r(188)]?Y[r(716)]({...e,payload:n}):e.type===Se[r(514)]&&Y[r(586)]({...e,payload:n})})),r[t(542)]=[],r[t(987)]=0,n[t(542)]=[],n[t(987)]=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t[r(465)]);let i=null;i=t[r(954)]?rn(n,t[r(1003)]):Er(n,t[r(1003)]),t.isIFrame&&X.calcIframeIntervalTimestamp(t[r(182)]);let s=X[r(440)](i,t[r(1003)]);X[r(254)](s,{type:Se.video,ts:t[r(182)],isIFrame:t[r(1003)],cts:t[r(450)]})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(465)]);let i=n;$t(X[r(531)][r(978)])&&(i=X[r(1089)](n)),X[r(254)](i,{type:Se[r(514)],ts:t[r(182)],isIFrame:!1,cts:0})}},K=null;qt()&&(K={TAG_NAME:e(351),_resetInIt(){const t=e;K[t(884)]=null,K[t(827)]=null,K[t(370)]={},K[t(952)]={},K.audioMeta={},K[t(551)]=null,K[t(516)]=null,K[t(934)]=!1,K[t(412)]=!1,K[t(854)]=!1,K.videoMimeType="",K[t(741)]="",K.cacheTrack={},K[t(158)]={},K[t(777)]=!1,K[t(431)]=0,K[t(796)]=0,K.firstRenderTime=null,K.firstAudioTime=null,K[t(694)]=!1,K[t(436)]=!1,K[t(296)]=!1,K[t(853)]=!1,K[t(895)]=!1,K[t(622)]=null,K[t(521)]=null,K[t(540)]=null,K[t(920)]=null,K[t(944)]=0,K[t(808)]=!1,K[t(168)]=null,K[t(381)]=null,K.eventListenList=[],K[t(749)]=[],K[t(569)]=[],K[t(286)]=[],K.pendingAudioSegments=[],K[t(722)]=null,K.audioSourceBufferCheckTimeout=null,K.audioSourceNoDataCheckTimeout=null,K[t(147)]=!1,K.$video={currentTime:0,readyState:0}},init(){const t=e;K[t(1035)]=new ha,K._resetInIt(),K[t(667)]=new self.MediaSource,K[t(930)]=!!Gt(X._opt[t(1084)]),K._bindMediaSourceEvents(),X.debugLog(K.TAG_NAME,"init")},destroy(){const t=e;K[t(1079)](),K[t(970)](),K[t(414)]&&K.eventListenList[t(987)]&&(K.eventListenList.forEach((e=>e())),K[t(414)]=[]),K[t(428)](),K[t(667)]=null,X[t(759)](K.TAG_NAME,t(748))},getState(){const t=e;return K[t(667)]&&K[t(667)][t(725)]},isStateOpen(){const t=e;return K.getState()===Le[t(964)]},isStateClosed:()=>K[e(713)]()===Le.closed,isStateEnded(){const t=e;return K[t(713)]()===Le[t(914)]},_bindMediaSourceEvents(){const t=e,{proxy:r}=K[t(1035)],n=r(K.mediaSource,Oe.sourceOpen,(()=>{const e=t;X[e(759)](K[e(532)],e(478)),K[e(572)]()})),i=r(K.mediaSource,Oe[t(536)],(()=>{const e=t;X[e(759)](K[e(532)],e(536))})),s=r(K.mediaSource,Oe[t(434)],(()=>{const e=t;X[e(759)](K[e(532)],"sourceended")}));K[t(414)][t(922)](n,i,s)},_onMediaSourceSourceOpen(){const t=e;!K[t(551)]&&(X[t(759)](K[t(532)],t(360)),K._initSourceBuffer()),!K[t(516)]&&(X.debugLog(K.TAG_NAME,t(638)),K[t(429)]()),K[t(1091)]()&&K[t(487)]()},decodeVideo(t,r,n,i){const s=e;if(X[s(433)])X[s(637)](K[s(532)],s(257));else if(Gt(K[s(934)]))if(n&&t[1]===He[s(680)]){const e=15&t[0];if(e===xe[s(995)]&&Gt(X[s(531)].supportMSEDecodeHevc))return void K[s(851)](Ce[s(1030)]);K[s(370)][s(635)]=e,postMessage({cmd:be[s(923)],code:e});const i=new Uint8Array(t);postMessage({cmd:be.videoCodec,buffer:i,codecId:e},[i[s(293)]]),K[s(934)]=K[s(1051)](t,r,n,e)}else X[s(637)](K[s(532)],s(201)+n+s(213)+t[1]+" so drop this frame");else if(!K[s(930)]&&n&&(K[s(930)]=!0),K.isDecodeFirstIIframe){if(n&&0===t[1]){const e=15&t[0];let r={};e===xe[s(684)]?r=_r(t[s(1023)](5)):e===xe[s(995)]&&(r=Jr(t));const n=K[s(370)];n&&n[s(567)]&&n[s(312)]&&r&&r[s(202)]&&r.codecHeight&&(r[s(202)]!==n.width||r[s(573)]!==n.height)&&(X[s(637)](K[s(532)],"\n decodeVideo: video width or height is changed,\n old width is "+n.width+", old height is "+n[s(312)]+s(921)+r.codecWidth+", new height is "+r[s(573)]+s(221)),K[s(808)]=!0,K.emitError(Ce.mseWidthOrHeightChange,s(276)+n[s(567)]+"->"+r[s(202)]+s(517)+n[s(312)]+"->"+r[s(573)]))}if(K.isWidthOrHeightChanged)return void X.debugWarn(K.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(Vt(t))return void X[s(759)](K[s(532)],s(590));if(t[s(938)]0&&tve},_decodeConfigurationRecord(t,r,n,i){const s=e;let o=t[s(1023)](5),a={};if(i===xe.h264?a=_r(o):i===xe[s(995)]&&(a=Zr(o)),K.videoInfo[s(567)]=a[s(202)],K[s(370)][s(312)]=a[s(573)],0===a[s(202)]&&0===a[s(573)])return X.debugWarn(K[s(532)],s(860),JSON[s(246)](a)),K.emitError(Ce[s(998)],s(869)+(0===a[s(202)])+s(164)+a[s(573)]),!1;const c={id:Ge[s(188)],type:"video",timescale:1e3,duration:0,avcc:o,codecWidth:a[s(202)],codecHeight:a.codecHeight,videoType:a[s(989)]},u=va[s(832)](c);return K[s(884)]=i===xe.h264,a.codec?K[s(1040)]=s(668)+a.codec+'"':K.videoMimeType=K[s(884)]?Re[s(209)]:Re[s(274)],postMessage({cmd:be[s(344)],w:a.codecWidth,h:a.codecHeight}),K._initSourceBuffer(),K[s(1007)](u[s(293)]),K.sequenceNumber=0,K[s(632)]={},K[s(777)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,o=i===Pe.MP3,a=i===Pe.AAC;if(Gt(a||o))return X[n(637)](K[n(532)],n(993)+i+n(576)),K.emitError(Ce[n(712)]),!1;const c={id:Ge[n(514)],type:n(514),timescale:1e3};let u={};if(dt(t)){if(u=mt(t[n(1023)](2)),!u)return!1;c[n(679)]=u.sampleRate,c[n(999)]=u[n(999)],c[n(315)]=u[n(315)],c[n(503)]=1024/c[n(679)]*c[n(643)]}else{if(!o)return!1;if(u=xa(t),!u)return!1;c.audioSampleRate=u[n(401)],c[n(999)]=u[n(999)],c[n(503)]=1152/c[n(679)]*c[n(643)]}c[n(635)]=u[n(635)],c[n(162)]=0;let l=n(857),d=u[n(635)],h=null;o&&Gt(X[n(531)].isFirefox)?(l="mpeg",d="",h=new Uint8Array):h=va[n(832)](c);let f=c[n(287)]+"/"+l;return d&&d.length>0&&(f+=n(176)+d),Gt(K.isAudioInitInfo)&&(O=i===Pe[n(1061)]?s?16:8:0===s?8:16,postMessage({cmd:be[n(776)],code:i}),postMessage({cmd:be[n(909)],sampleRate:c[n(679)],channels:c[n(999)],depth:O}),K[n(854)]=!0),K[n(741)]=f,K.isAAC=a,K[n(429)](),K[n(243)](h.buffer),!0},_initSourceBuffer(){const t=e,{proxy:r}=K.events;if(null===K[t(551)]&&null!==K[t(667)]&&K.isStateOpen()&&K[t(1040)]){try{X[t(759)](K[t(532)],"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",K[t(1040)]),K[t(551)]=K[t(667)].addSourceBuffer(K[t(1040)])}catch(e){return X[t(226)](K[t(532)],t(949),e.code,e[t(314)](),e),K[t(851)](Ce[t(355)],e.code),void(K[t(296)]=!0)}if(K.sourceBuffer){const e=r(K.sourceBuffer,t(1011),(e=>{const r=t;K[r(853)]=!0,X.debugError(K[r(532)],r(483),e,e[r(314)]()),K[r(851)](Ce[r(897)],e[r(732)])})),n=r(K[t(551)],t(1019),(()=>{const e=t;K[e(1043)]()?K._doRemoveRanges():K[e(1091)]()?K._doAppendSegments():K.hasPendingEos&&(X[e(759)](K[e(532)],e(352)),K[e(266)]())}));K[t(414)][t(922)](e,n)}}else X.debugLog(K[t(532)],t(916)+K.isStateOpen()+t(513)+(null===K[t(884)]))},_initAudioSourceBuffer(){const t=e,{proxy:r}=K[t(1035)];if(null===K.audioSourceBuffer&&null!==K[t(667)]&&K[t(739)]()&&K[t(741)]){try{X[t(759)](K[t(532)],"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",K[t(741)]),K[t(970)](),K[t(516)]=K[t(667)][t(616)](K[t(741)])}catch(e){return X[t(226)](K[t(532)],t(917),e[t(732)],e[t(314)](),e),K[t(851)](Ce[t(355)],e[t(732)]),void(K[t(296)]=!0)}if(K[t(516)]){const e=r(K[t(516)],"error",(e=>{const r=t;K[r(853)]=!0,X.debugError(K[r(532)],r(439),e[r(732)],e.toString(),e),K[r(851)](Ce[r(897)],e[r(732)])})),n=r(K.audioSourceBuffer,"updateend",(()=>{const e=t;K._hasPendingRemoveRanges()?K._doRemoveRanges():K[e(1091)]()?K[e(487)]():K[e(147)]&&(X.debugLog(K[e(532)],"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),K.endOfStream())}));K[t(414)].push(e,n),null===K[t(809)]&&(K[t(809)]=setTimeout((()=>{const e=t;K[e(1055)](),K.emitError(Ce[e(554)])}),1e3))}}else X[t(759)](K[t(532)],t(145)+K[t(739)]()+t(666)+K.audioMimeType)},_decodeVideo(t,r,n,i,s){const o=e;let a=t[o(1023)](5),c=a[o(938)];if(0===c)return void X[o(637)](K.TAG_NAME,o(354));let u=(new Date)[o(609)](),l=!1;!K[o(622)]&&(K[o(622)]=u,l=!0);const d=u-K.prevTimestamp;if(K[o(521)]=d,d>1e3&&!l&&X[o(1010)]&&X.debugLog(K[o(532)],"_decodeVideo now time is "+u+o(560)+K[o(622)]+o(649)+d+o(588)),K[o(632)].id&&r>=K[o(632)][o(182)]){let e=8+K[o(632)][o(1026)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[o(425)](va[o(877)].mdat,4),t.set(K.cacheTrack[o(291)],8),K[o(632)].duration=r-K[o(632)][o(182)];let n=va[o(976)](K.cacheTrack,K.cacheTrack[o(182)]);K[o(632)]={};let i=new Uint8Array(n[o(938)]+t[o(938)]);i[o(425)](n,0),i[o(425)](t,n.byteLength),K[o(1007)](i[o(293)])}else X[o(759)](K[o(532)],"timeInit set false , cacheTrack = {} now dts is "+r+o(823)+s+" cacheTrack dts is "+(K.cacheTrack&&K[o(632)][o(182)])),K[o(777)]=!1,K[o(632)]={};!K.cacheTrack&&(K.cacheTrack={}),K[o(632)].id=Ge[o(188)],K[o(632)][o(431)]=++K[o(431)],K[o(632)][o(1026)]=c,K[o(632)].dts=r,K.cacheTrack[o(450)]=i,K[o(632)][o(743)]=n,K[o(632)][o(291)]=a,K[o(632)][o(951)]={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},K[o(622)]=(new Date).getTime()},_decodeAudio(t,r,n){const i=e;let s=K[i(827)]?t[i(1023)](2):t[i(1023)](1),o=s[i(938)];if(K.cacheAudioTrack.id&&r>=K[i(158)][i(182)]){let e=8+K[i(158)][i(1026)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[i(425)](va.types.mdat,4),t[i(425)](K[i(158)][i(291)],8),K[i(158)][i(162)]=r-K.cacheAudioTrack[i(182)];let n=va.moof(K.cacheAudioTrack,K.cacheAudioTrack.dts);K[i(158)]={};let s=new Uint8Array(n[i(938)]+t[i(938)]);s[i(425)](n,0),s.set(t,n[i(938)]),K[i(243)](s[i(293)])}else K.cacheAudioTrack={};!K.cacheAudioTrack&&(K[i(158)]={}),K[i(158)].id=Ge[i(514)],K[i(158)][i(431)]=++K[i(796)],K[i(158)][i(1026)]=o,K[i(158)][i(182)]=r,K[i(158)][i(450)]=0,K.cacheAudioTrack[i(291)]=s,K[i(158)][i(951)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;X[r(433)]?X[r(637)](K[r(532)],"appendBuffer() player is destroyed"):K[r(296)]?X[r(637)](K[r(532)],"mseDecoder.mediaSourceAddSourceBufferError is true"):K[r(694)]?X[r(637)](K[r(532)],"mseDecoder.mediaSourceAppendBufferFull is true"):K[r(436)]?X[r(637)](K[r(532)],r(621)):K[r(853)]?X[r(637)](K[r(532)],"mseDecoder.mediaSourceBufferError is true"):(K[r(569)][r(922)](t),K[r(551)]&&(X[r(531)][r(1022)]&&K._needCleanupSourceBuffer()&&K[r(1031)](),Gt(K[r(607)]())&&K[r(739)]()&&Gt(K[r(1043)]()))?K[r(487)]():K.isStateClosed()?(K[r(853)]=!0,K[r(851)](Ce[r(897)],r(894))):K.isStateEnded()&&(K.mediaSourceBufferError=!0,K[r(851)](Ce[r(897)],r(207))))},appendAudioBuffer(t){const r=e;X[r(433)]?X[r(637)](K[r(532)],"appendAudioBuffer() player is destroyed"):K[r(296)]?X.debugWarn(K.TAG_NAME,r(574)):K[r(694)]?X.debugWarn(K[r(532)],r(282)):K[r(436)]?X[r(637)](K[r(532)],"mseDecoder.mediaSourceAppendBufferError is true"):K[r(853)]?X[r(637)](K[r(532)],r(319)):(K[r(328)].push(t),K[r(516)]&&(X[r(531)][r(1022)]&&K[r(991)]()&&K[r(1031)](),Gt(K[r(269)]())&&K[r(739)]()&&Gt(K[r(1043)]()))?K[r(487)]():K[r(488)]()?(K[r(853)]=!0,K[r(851)](Ce[r(897)],r(894))):K.isStateEnded()&&(K[r(853)]=!0,K[r(851)](Ce.mseSourceBufferError,r(207))))},getSourceBufferUpdating:()=>K[e(551)]&&K.sourceBuffer.updating,getAudioSourceBufferUpdating(){const t=e;return K[t(516)]&&K[t(516)][t(553)]},stop(){const t=e;K[t(596)](),K[t(1036)](),K[t(266)]()},clearUpAllSourceBuffer(){const t=e;if(K[t(551)]){const e=K[t(551)][t(177)];for(let r=0;r0||K.pendingAudioSegments[t(987)]>0},getPendingSegmentsLength:()=>K[e(569)].length,_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(K[t(488)]()||K[t(144)]())X[t(759)](K[t(532)],"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==K[t(551)]){if(K[t(486)]()&&null===K[t(516)])return X.debugLog(K[t(532)],t(1081)),void(null===K[t(956)]&&(K[t(956)]=setTimeout((()=>{const e=t;K[e(970)](),K[e(851)](Ce[e(611)])}),1e3)));if(Gt(K.getSourceBufferUpdating())&&K.pendingSegments[t(987)]>0){const e=K[t(569)][t(1005)]();try{K.sourceBuffer[t(1007)](e)}catch(e){X.debugError(K[t(532)],t(458),e[t(732)],e),22===e.code?(K[t(1079)](),K[t(694)]=!0,K[t(851)](Ce[t(733)],"code is "+e[t(732)]+" , message is "+e[t(208)])):11===e.code?(K[t(1079)](),K[t(436)]=!0,K[t(851)](Ce[t(436)],t(681)+e[t(732)]+t(787)+e[t(208)])):(K[t(1079)](),K[t(853)]=!0,K[t(851)](Ce[t(897)],t(681)+e[t(732)]+t(787)+e[t(208)]))}}if(Gt(K.getAudioSourceBufferUpdating())&&K.pendingAudioSegments.length>0){const e=K[t(328)][t(1005)]();try{K[t(516)][t(1007)](e)}catch(e){X[t(226)](K[t(532)],t(746),e[t(732)],e),22===e[t(732)]?(K[t(1079)](),K.mediaSourceAppendBufferFull=!0,K[t(851)](Ce[t(733)],"code is "+e[t(732)]+t(787)+e[t(208)])):11===e[t(732)]?(K[t(1079)](),K.mediaSourceAppendBufferError=!0,K[t(851)](Ce.mediaSourceAppendBufferError,t(681)+e[t(732)]+t(787)+e[t(208)])):(K[t(1079)](),K[t(853)]=!0,K[t(851)](Ce.mseSourceBufferError,e[t(732)],t(681)+e.code+t(787)+e[t(208)]))}}}else X[t(759)](K[t(532)],"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const t=e,r=K[t(795)][t(341)];if(K[t(551)]){const e=K[t(551)][t(177)];let n=!1;for(let i=0;i=X[t(531)][t(1034)]){n=!0;let e=r-X[t(531)].mseAutoCleanupMinBackwardDuration;K[t(749)].push({start:s,end:e})}}else o=X._opt[t(1034)]){n=!0;let e=r-X[t(531)].mseAutoCleanupMinBackwardDuration;K[t(286)][t(922)]({start:s,end:e})}}else o0||K[t(286)][t(987)]>0},needInitAudio(){const t=e;return X[t(531)].hasAudio&&X._opt[t(1090)]},_doRemoveRanges(){const t=e;if(K[t(551)]&&Gt(K.getSourceBufferUpdating())){let e=K[t(749)];for(;e[t(987)]&&Gt(K.getSourceBufferUpdating());){let r=e.shift();try{K[t(551)][t(237)](r[t(582)],r.end)}catch(e){X[t(637)](K[t(532)],t(309),e,e[t(314)]())}}}if(K.audioSourceBuffer&&Gt(K.getAudioSourceBufferUpdating())){let e=K.pendingAudioRemoveRanges;for(;e[t(987)]&&Gt(K[t(269)]());){let r=e.shift();try{K.audioSourceBuffer.remove(r.start,r[t(453)])}catch(e){X.debugWarn(K.TAG_NAME,t(522),e,e[t(314)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Gt(X[t(531)].mseAutoCleanupSourceBuffer))return!1;const r=K[t(795)].currentTime;if(K[t(551)]){let e=K[t(551)][t(177)];if(e[t(987)]>=1&&r-e[t(582)](0)>=X._opt[t(1034)])return!0}if(K[t(516)]){let e=K.audioSourceBuffer[t(177)];if(e[t(987)]>=1&&r-e[t(582)](0)>=X[t(531)].mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){const t=e;K[t(956)]&&(clearTimeout(K[t(956)]),K[t(956)]=null)},_clearAudioNoDataCheckTimeout(){const t=e;K.audioSourceNoDataCheckTimeout&&(clearTimeout(K[t(809)]),K[t(809)]=null)},getHandle(){const t=e;return K[t(667)][t(408)]},emitError(t){const r=e;let n=arguments[r(987)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:be[r(753)],value:t,msg:n})}});let X={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:$e[e(774)],_opt:W(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){const t=e;X[t(794)](),d=setInterval((()=>{const e=t;l&&l(0);const r=JSON[e(246)]({demuxBufferDelay:X[e(283)](),audioDemuxBufferDelay:X.getAudioBufferLength(),streamBufferByteLength:X[e(825)](),netBuf:X.networkDelay||0,pushLatestDelay:X[e(724)]||0,latestDelay:X[e(747)],isStreamTsMoreThanLocal:b,wasmDecodeDelay:_-w});postMessage({cmd:be.workerFetch,type:Ie.streamStats,value:r})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return X[t(531)][t(744)]&&"undefined"!=typeof OffscreenCanvas},getDelay:function(t,r){const n=e;if(!t||X[n(531)][n(751)]&&!g)return-1;if(r===Se[n(514)])return X.delay;if(X[n(714)]&&X.preDelayTimestamp>t)return X[n(714)]-t>1e3&&X[n(637)]("worker",n(697)+X[n(714)]+n(174)+t+n(515)+(X[n(714)]-t)+n(166)+X[n(747)]),X.preDelayTimestamp=t,X[n(747)];if(X[n(1071)]){if(t){const e=Date.now()-X[n(629)],r=t-X[n(1071)];e>=r?(b=!1,X[n(747)]=e-r):(b=!0,X[n(747)]=r-e)}}else X[n(1071)]=t,X[n(629)]=Date.now(),X[n(747)]=-1;return X[n(714)]=t,X[n(747)]},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||X._opt.hasVideo&&!g)return-1;if(r===Se[n(514)])return X[n(724)];if(X[n(714)]&&X[n(714)]-t>1e3)return X[n(637)]("worker",n(1021)+X[n(714)]+n(174)+t+" more than "+(X.preDelayTimestamp-t)+n(317)),-1;if(X.firstTimestamp){let e=-1;if(t){const r=Date[n(889)]()-X[n(629)],i=t-X[n(1071)];r>=i?(b=!1,e=r-i):(b=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;X[t(1071)]=null,X[t(629)]=null,X[t(747)]=-1,X[t(484)]=!1},resetAllDelay:function(){const t=e;X.resetDelay(),X[t(714)]=null},doDecode:function(t){const r=e;X._opt[r(873)]&&t[r(287)]===Se[r(188)]&&X[r(419)]&&X[r(448)](t[r(465)],t.ts),X[r(196)]()?t.type===Se.audio?X[r(531)].mseDecodeAudio?K[r(275)](t[r(465)],t.ts):t[r(968)][r(254)](t[r(465)],t.ts):t[r(287)]===Se[r(188)]&&K[r(711)](t[r(465)],t.ts,t.isIFrame,t[r(450)]):X[r(531)][r(338)]&&X.useOffscreen()&&t[r(287)]===Se[r(188)]&&a.decode?a[r(254)](t[r(465)],t.ts,t[r(450)]):t[r(968)][r(254)](t[r(465)],t.ts,t[r(1003)],t.cts)},decodeNext(t){const r=e;if(0===s[r(987)])return;const i=t.ts,o=s[0],a=t[r(287)]===Se.video&&Vt(t[r(465)]);if(Gt(n))a&&(X[r(759)]("worker",r(407)+t.type+" and\n ts is "+i+r(581)+o.type+r(706)+o.ts+r(546)+a),s[r(1005)](),X.doDecode(o));else{const e=o.ts-i,n=o.type===Se[r(514)]&&t[r(287)]===Se.video;(e<=20||n||a)&&(X[r(759)](r(236),r(407)+t[r(287)]+r(788)+i+r(581)+o[r(287)]+r(706)+o.ts+r(321)+e+" and isVideoAndNextAudio is "+n+r(925)+a),s.shift(),X[r(965)](o))}},init:function(){const t=e;X[t(759)](t(236),t(1059)+n+t(160)+i+" and opt is",JSON[t(246)](X[t(531)]));const r=X[t(531)].playType===oe.player,o=X[t(531)][t(256)]===oe[t(912)],c=X[t(531)][t(256)]===oe[t(872)];if($.init(),X.isPlayer=r,X.isPlayback=o,X[t(969)]=c,X[t(196)]()&&K&&K[t(402)](),a&&X[t(531)][t(338)]&&X[t(744)]()&&a.init(),Gt(X[t(385)]())||X.isPlayVod){X.debugLog(t(236),t(1041));const e=()=>{const e=t,n=X[e(531)][e(183)]+X[e(531)][e(692)];let i=null;if(s[e(987)]){if(X[e(337)])return void X[e(637)](e(236),e(451)+s[e(987)]);if(X[e(484)]){for(i=s[e(1005)](),X[e(637)](e(236),"loop() dropBuffer is dropping and isIFrame "+i.isIFrame+e(1027)+X.delay+e(497)+s[e(987)]);!i.isIFrame&&s.length;)i=s.shift();const t=X[e(466)](i.ts,i[e(287)]);i[e(1003)]&&t<=X[e(165)]()&&(X[e(759)](e(236),"loop() is dropping = false, is iFrame"),X[e(484)]=!1,X[e(965)](i),X[e(864)](i))}else if(X[e(244)]||X[e(1063)]()||0===X[e(531)][e(183)]||X[e(969)])for(;s[e(987)];)i=s[e(1005)](),X[e(965)](i);else if(i=s[0],-1===X[e(837)](i.ts,i[e(287)]))X[e(759)](e(236),e(1087),i.ts),s.shift(),X[e(965)](i),X[e(864)](i);else if(X.delay>n&&r)X[e(927)]()?(X.debugLog("worker","delay is "+X[e(747)]+e(295)+n+e(972)),X[e(757)](),X[e(484)]=!0,postMessage({cmd:be.isDropping})):(s[e(1005)](),X[e(965)](i),X[e(864)](i));else for(;s[e(987)];){if(i=s[0],!(X[e(837)](i.ts,i[e(287)])>X._opt[e(183)])){X.delay<0&&X[e(637)](e(236),e(247)+X[e(747)]+e(548)+s.length);break}s[e(1005)](),X[e(965)](i)}}else-1!==X[e(747)]&&X[e(759)]("worker",e(259)),X[e(757)]()};X[t(647)]=setInterval((()=>{const r=t;let n=(new Date).getTime();!S&&(S=n);const i=n-S;i>100&&X[r(637)](r(236),r(476)+i),e(),S=(new Date).getTime()}),20)}else X[t(759)](t(236),t(928));if(Gt(X[t(531)][t(1084)])&&(g=!0),X.isPlayUseMSEAndDecoderInWorker()&&K){const e=K[t(651)]();e&&postMessage({cmd:be.mseHandle,mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;X[t(170)]();const r=()=>{const e=t;let r=null;s[e(987)]&&(r=s[e(1005)](),X[e(965)](r))};r();const n=Math[t(265)](1e3/(X[t(737)]*X._opt[t(294)]));X[t(759)](t(236),t(871)+n+", streamFps is "+X[t(737)]+", streamAudioFps is "+X[t(475)]+t(756)+X.streamVideoFps+" playbackRate is "+X[t(531)][t(294)]),X.stopId=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;X[t(647)]&&(clearInterval(X[t(647)]),X[t(647)]=null)},startPlaybackCacheLoop:function(){X[e(625)]()},close:function(){const t=e;if(X[t(759)](t(236),t(443)),X[t(433)]=!0,V(),!u||1!==u.readyState&&2!==u.readyState?u&&X[t(759)](t(236),"close() and socket.readyState is "+u[t(725)]):(z=!0,u[t(443)](1e3,t(575))),u&&(u[t(807)]=null,u[t(215)]=null,u[t(471)]=null,u[t(683)]=null),u=null,X.stopStreamRateAndStatsInterval(),X[t(647)]&&(clearInterval(X[t(647)]),X[t(647)]=null),X[t(332)]&&(X[t(332)].destroy(),X[t(332)]=null),X[t(302)]&&Gt(X[t(302)].locked)&&X[t(302)][t(443)]().catch((e=>{const r=t;X.debugLog("worker",r(493),e[r(314)](),e)})),X[t(302)]=null,J)try{J[t(631)]&&J.clear(),J=null}catch(e){X[t(759)]("worker","close() and audioDecoder.clear error",e[t(314)](),e)}if(Z)try{Z[t(631)]&&Z[t(631)](),Z=null}catch(e){X[t(759)](t(236),"close() and videoDecoder.clear error",e[t(314)]())}l=null,S=null,b=!1,_=0,w=0,a&&(a[t(748)]&&a[t(748)](),a=null),K&&(K[t(748)](),K=null),X[t(1071)]=null,X[t(629)]=null,X[t(187)]=0,X[t(737)]=null,X[t(475)]=null,X.streamVideoFps=null,X[t(747)]=-1,X.pushLatestDelay=-1,X[t(714)]=null,X.dropping=!1,X.isPushDropping=!1,X[t(1010)]=!0,X.isPlayback=!1,X[t(969)]=!1,X.isWorkerFetch=!1,X[t(954)]=null,X[t(531)]=W(),X.webglObj&&(X.webglObj[t(748)](),X[t(241)][t(292)]("webglcontextlost",X[t(421)]),X.offscreenCanvas[t(292)](t(189),X[t(494)]),X[t(241)]=null,X[t(325)]=null,X[t(460)]=null),s=[],o=[],h&&(h[t(443)](),h=null),p=null,m=null,v=!1,y=!1,g=!1,F=!1,U=!1,R=!1,L=null,I=[],T=0,x=0,E=null,k=null,D=null,P=null,O=null,B=0,M=0,A=null,C=null,X.fetchStatus=$e[t(774)],N=!0,$[t(748)](),G[t(748)](),q.destroy(),Y[t(748)](),X[t(350)]=null,X[t(531)]={},postMessage({cmd:be.closeEnd})},pushBuffer:function(t,r){const i=e;if(r[i(287)]===Se.audio&&dt(t)){if(X[i(759)](i(236),i(501)+r.ts+i(614)),X._opt[i(641)]){const e=new Uint8Array(t);postMessage({cmd:be[i(948)],buffer:e},[e[i(293)]])}X.decodeAudio(t,r.ts)}else if(r[i(287)]===Se[i(188)]&&r.isIFrame&&Vt(t)){if(X.debugLog(i(236),i(710)+r.ts+i(185)),X._opt[i(641)]){const e=new Uint8Array(t);postMessage({cmd:be[i(772)],buffer:e},[e[i(293)]])}X[i(711)](t,r.ts,r[i(1003)],r[i(450)])}else{if(X[i(531)].isRecording)if(X._opt[i(641)]){const e=new Uint8Array(t);postMessage({cmd:be[i(593)],type:r[i(287)],buffer:e,ts:r.ts},[e[i(293)]])}else if(X[i(531)][i(479)]===ae[i(857)])if(r[i(287)]===Se.video){const e=new Uint8Array(t)[i(1023)](5);postMessage({cmd:be[i(836)],buffer:e,isIFrame:r[i(1003)],ts:r.ts,cts:r[i(450)]},[e[i(293)]])}else if(r[i(287)]===Se[i(514)]&&X[i(531)][i(382)]){const e=new Uint8Array(t),n=ht(e)?e[i(1023)](2):e.slice(1);postMessage({cmd:be[i(218)],buffer:n,ts:r.ts},[n[i(293)]])}if(X[i(1010)]){if(r.type===Se[i(188)]){if(B>0){const e=r.ts-P,t=B+B/2;e>t&&X.debugLog(i(236),i(148)+r[i(1003)]+i(206)+r.ts+i(819)+P+i(461)+e+i(810)+B+i(957)+t+i(875))}if(null!==P&&P>=r.ts&&(X[i(637)](i(236),i(400)+r[i(1003)]+" and,\n options.ts is "+r.ts+i(233)+P+i(605)+t[i(938)]+i(477)+M),P-r.ts>ve&&(X[i(637)](i(236),i(1082)+P+i(861)+r.ts+",\n diff is "+(P-r.ts)+i(515)+"3600000,\n and resetAllDelay"),X.resetAllDelay(),P=null,B=0),X._opt[i(330)]&&Gt(r.isIFrame)&&g)){const e=X.hasIframeInBufferList(),t=Gt(X[i(337)]);return X[i(759)](i(236),i(750)+e+" and isNotPushDropping is "+t+i(1068)),void(e&&t?X[i(474)]():(X[i(298)](!0),$t(X[i(531)].checkFirstIFrame)&&$t(n)&&(X[i(196)]()?K[i(930)]=!1:postMessage({cmd:be.checkFirstIFrame}))))}P>0&&(B=r.ts-P),M=t[i(938)],P=r.ts}if(g){const e=X[i(531)][i(183)]+X[i(531)].videoBufferDelay,t=X[i(466)](r.ts,r.type);X[i(724)]=t,X[i(747)]>0&&t>e&&X.delay({type:e.type,ts:e.ts})));X.debugLog(i(236),i(790)+t+", streamVideoFps is "+e+i(786)+s.length+i(449)+JSON[i(246)](r))}const r=X[i(1058)]()>0,n=r?60:40;s[i(987)]>=n&&(X[i(637)](i(236),i(280)+s[i(987)]+i(515)+n+i(627)+r+i(617)),X.streamVideoFps=25,postMessage({cmd:be[i(847)],value:X[i(899)]}),r?(X.streamAudioFps=25,X.streamFps=X[i(899)]+X[i(475)]):X.streamFps=X.streamVideoFps,X[i(625)]())}}},getVideoBufferLength(){const t=e;let r=0;return s[t(634)]((e=>{e[t(287)]===Se.video&&(r+=1)})),r},hasIframeInBufferList(){const t=e;return s[t(481)]((e=>{const r=t;return e[r(287)]===Se[r(188)]&&e[r(1003)]}))},isAllIframeInBufferList(){const t=e,r=X[t(283)]();let n=0;return s[t(634)]((e=>{const r=t;e[r(287)]===Se.video&&e[r(1003)]&&(n+=1)})),r===n},getNotDroppingDelayTs(){const t=e;return X[t(531)][t(183)]+X[t(531)][t(692)]/2},getAudioBufferLength(){let e=0;return s.forEach((t=>{t[oc(287)]===Se.audio&&(e+=1)})),e},getStreamBufferLength(){const t=e;let r=0;return h&&h.buffer&&(r=h[t(293)][t(938)]),X[t(531)][t(628)]?$[t(258)]&&(r=$[t(258)][t(938)]):X._opt[t(656)]?Y[t(331)]&&(r=Y._remainingPacketData[t(938)]):X[t(531)].isFmp4&&G.mp4Box&&(r=G[t(996)][t(674)]()),r},fetchStream:function(t,r){const n=e;let i=arguments[n(987)]>2&&void 0!==arguments[2]?arguments[2]:[];if(X[n(759)](n(236),"fetchStream, url is "+t,n(742),JSON.stringify(r)),X[n(419)]=!0,r.isFlv?X[n(531)][n(626)]=!0:r[n(533)]?X[n(531)][n(533)]=!0:r[n(577)]?X._opt[n(577)]=!0:r[n(628)]?X[n(531)][n(628)]=!0:r[n(656)]&&(X[n(531)].isTs=!0),l=Pt((e=>{const t=n;postMessage({cmd:be[t(452)],type:Ie[t(463)],value:e})})),X[n(402)](),X[n(289)](),r[n(533)]&&G[n(398)](),r[n(924)]===ie[n(191)]){r[n(626)]&&(h=new rr(X[n(519)]())),c=new AbortController;const e=Object.assign({signal:c[n(977)]},{headers:r[n(399)]&&r[n(399)][n(587)]||{}});fetch(t,e)[n(562)]((e=>{const t=n;if($t(z))return X[t(759)](t(236),t(1012)),X.fetchStatus=$e[t(774)],void e[t(1002)][t(404)]();if(!Ht(e))return X.debugWarn(t(236),"fetch response status is "+e[t(982)]+" and ok is "+e.ok+t(495)),V(),void postMessage({cmd:be[t(452)],type:Ce.fetchError,value:t(153)+e.status+t(235)+e.ok});if(postMessage({cmd:be[t(452)],type:Ie.streamSuccess}),zt())X[t(302)]=new WritableStream({write:e=>{const n=t;return c&&c[n(977)]&&c[n(977)][n(816)]?(X[n(759)](n(236),n(813)),void(X[n(893)]=$e.complete)):$t(z)?(X.debugLog(n(236),n(1080)),X.fetchStatus=$e[n(720)],void V()):void(typeof e!==n(205)?(X[n(893)]=$e[n(848)],l(e[n(938)]),r[n(626)]?h[n(589)](e):r[n(533)]?X.demuxFmp4(e):r[n(577)]?X[n(990)](e):r[n(656)]?X[n(881)](e):r[n(628)]&&X.demuxNakedFlow(e)):X[n(637)]("worker",n(1069)+e+n(231)))},close:()=>{const e=t;X[e(759)](e(236),"writableStream close()"),X.fetchStatus=$e[e(720)],V(),X[e(969)]?X[e(759)](e(236),"writableStream close() and isPlayVod is true so return"):X[e(531)][e(1044)]?(h&&(h[e(443)](),h=null),postMessage({cmd:be.workerFetch,type:Ie[e(334)],value:se[e(191)],msg:e(1008)})):postMessage({cmd:be[e(452)],type:Ie.streamEndInner})},abort:e=>{const r=t;if(c&&c[r(977)]&&c[r(977)][r(816)])return X[r(759)](r(236),"writableStream abort() and abortController.signal.aborted is true so return"),void(X[r(893)]=$e[r(720)]);h&&(h[r(443)](),h=null),e[r(623)]!==Ne[r(1067)]?(X[r(759)]("worker",r(600)+e[r(314)]()),V(),postMessage({cmd:be[r(452)],type:Ce[r(240)],value:e[r(314)]()})):X[r(759)](r(236),r(960))}}),e.body.pipeTo(X[t(302)]).catch((e=>{const r=t;"AbortError"!==e[r(623)]&&X[r(759)](r(236),r(432),e[r(623)],e[r(314)]())}));else{const n=e.body[t(937)](),i=()=>{const e=t;n[e(199)]()[e(562)]((t=>{const n=e;let{done:s,value:o}=t;return s?(X[n(759)](n(236),n(423)),X[n(893)]=$e[n(720)],V(),void(X._opt[n(1044)]?(h&&(h[n(443)](),h=null),postMessage({cmd:be[n(452)],type:Ie.streamEnd,value:se[n(191)],msg:n(1008)})):postMessage({cmd:be[n(452)],type:Ie[n(880)]}))):c&&c.signal&&c.signal.aborted?(X[n(759)]("worker",n(508)),void(X[n(893)]=$e[n(720)])):$t(z)?(X[n(759)](n(236),n(369)),X[n(893)]=$e[n(720)],void V()):void(typeof o!==n(205)?(X[n(893)]=$e.buffering,l(o[n(938)]),r.isFlv?h[n(589)](o):r.isFmp4?X[n(485)](o):r[n(577)]?X[n(990)](o):r[n(656)]?X[n(881)](o):r[n(628)]&&X[n(507)](o),i()):X[n(637)](n(236),'fetchNext().then() and value "'+o+n(200)))}))[e(887)]((t=>{const r=e;if(c&&c[r(977)]&&c[r(977)][r(816)])return X[r(759)](r(236),r(863)),void(X.fetchStatus=$e[r(720)]);h&&(h[r(443)](),h=null),t[r(623)]!==Ne[r(1067)]?(X[r(759)](r(236),r(658)+t[r(314)]()),V(),postMessage({cmd:be.workerFetch,type:Ce[r(240)],value:t[r(314)]()})):X.debugLog(r(236),r(636))}))};i()}})).catch((e=>{const t=n;c&&c.signal&&c[t(977)][t(816)]?X.debugLog("worker",t(992)):e[t(623)]!==Ne.abort?(X[t(759)](t(236),t(380)+e[t(314)]()),V(),postMessage({cmd:be.workerFetch,type:Ce[t(240)],value:e.toString()}),h&&(h[t(443)](),h=null)):X[t(759)](t(236),"fetch().catch() and e.name is AbortError so return")}))}else r[n(924)]===ie.websocket&&(r[n(626)]&&(h=new rr(X.demuxFlv())),u=new WebSocket(t,i),u[n(758)]=n(780),u[n(807)]=()=>{const e=n;X.debugLog("worker",e(358)),postMessage({cmd:be[e(452)],type:Ie[e(528)]}),postMessage({cmd:be.workerFetch,type:Ie.websocketOpen})},u.onclose=e=>{const t=n;X[t(433)]?X[t(759)]("worker",t(420)+e[t(732)]+t(371)):f?X[t(759)](t(236),t(420)+e.code+t(198)):(X.debugLog("worker",t(420)+e[t(732)]),1006===e[t(732)]&&X[t(226)](t(236),t(650)+e[t(732)]),$t(z)?X[t(759)](t(236),t(673)):X[t(531)].checkStreamEnd?(h&&(h[t(443)](),h=null),postMessage({cmd:be[t(452)],type:Ie.streamEnd,value:se[t(868)],msg:e[t(732)]})):postMessage({cmd:be[t(452)],type:Ie[t(880)]}))},u[n(683)]=e=>{const t=n;X[t(226)](t(236),t(468),e,e[t(314)]()),f=!0,h&&(h.close(),h=null),X.isDestroyed?X.debugLog(t(236),t(211)):$t(z)?X[t(759)]("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:be.workerFetch,type:Ce[t(374)],value:e[t(327)]?t(389):t(729)})},u.onmessage=e=>{const t=n;typeof e[t(291)]!==t(205)?(l(e.data.byteLength),r[t(626)]?h[t(589)](e.data):r[t(533)]?X[t(485)](e[t(291)]):r.isMpeg4?X.demuxMpeg4(e[t(291)]):X[t(531)].isNakedFlow?X[t(507)](e[t(291)]):X[t(339)](e[t(291)])):X.debugWarn("worker",t(422)+e.data+t(862))})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let o=i[0];const a=(yield s)[t(1023)]();switch(r){case Ee.audio:if(a[t(938)]>0){let e=a;$t(X[t(531)][t(978)])&&(e=X[t(1089)](a)),X[t(254)](e,{type:Se[t(514)],ts:o})}else X[t(637)](t(236),"demuxFlv() type is audio and payload.byteLength is "+a.byteLength+" and return");break;case Ee.video:if(a.byteLength>=6){const e=a[0];if(X[t(273)](e))X[t(678)](a,o);else{const e=15&a[0];let r=a[0]>>4===Ve[t(640)];const n=e===xe[t(995)];if(t(684),Gt(r)&&$t(Yt(a,n))&&(X[t(759)]("worker",t(608)),r=!0),r&&Vt(a)&&null===X[t(954)]){const e=15&a[0];X[t(954)]=e===xe[t(995)],L=It(a,X[t(954)]),X[t(759)]("worker","demuxFlv() isVideoSequenceHeader is true and isHevc is "+X.isHevc+t(896)+L)}r&&X[t(699)](o),X[t(1010)]&&X[t(721)](o),i[0]=a[4],i[1]=a[3],i[2]=a[2],i[3]=0;let s=i[0],c=X[t(440)](a,r);X[t(254)](c,{type:Se[t(188)],ts:o,isIFrame:r,cts:s})}}else X[t(637)]("worker","demuxFlv() type is video and payload.byteLength is "+a[t(938)]+t(764));break;case Ee[t(597)]:postMessage({cmd:be[t(203)],buffer:a},[a[t(293)]]);break;default:X[t(759)](t(236),"demuxFlv() type is "+r)}}},decode:function(t,r){const n=e;r[n(287)]===Se[n(514)]?X._opt.hasAudio&&(postMessage({cmd:be.workerFetch,type:Ie[n(462)],value:t[n(938)]}),X[n(1010)]?X.pushBuffer(t,{type:r[n(287)],ts:r.ts,cts:r.cts}):X[n(244)]?X.isPlaybackOnlyDecodeIFrame()||(X[n(385)](),X[n(850)](t,{type:r[n(287)],ts:r.ts,cts:r.cts})):X[n(969)]&&X[n(850)](t,{type:r[n(287)],ts:r.ts,cts:r[n(450)]})):r[n(287)]===Se.video&&X._opt[n(751)]&&(postMessage({cmd:be[n(452)],type:Ie[n(791)],value:t.byteLength}),postMessage({cmd:be[n(452)],type:Ie[n(301)],value:r.ts}),X[n(1010)]?X.pushBuffer(t,{type:r.type,ts:r.ts,isIFrame:r[n(1003)],cts:r.cts}):X[n(244)]?X[n(603)]()?r.isIFrame&&X[n(850)](t,{type:r[n(287)],ts:r.ts,cts:r[n(450)],isIFrame:r[n(1003)]}):X[n(385)]()?X[n(850)](t,{type:r[n(287)],ts:r.ts,cts:r.cts,isIFrame:r[n(1003)]}):X.pushBuffer(t,{type:r[n(287)],ts:r.ts,cts:r[n(450)],isIFrame:r.isIFrame}):X[n(969)]&&X.pushBuffer(t,{type:r[n(287)],ts:r.ts,cts:r.cts,isIFrame:r[n(1003)]}))},cryptoPayload:function(t,r){const n=e;let i=t;return X[n(531)].isM7sCrypto?X._opt[n(550)]&&X[n(531)][n(550)].byteLength>0&&X[n(531)][n(630)]&&X._opt[n(630)][n(938)]>0?i=fo(t,X[n(531)].cryptoKey,X._opt.cryptoIV,X[n(954)]):X[n(226)](n(236),n(238)+(X[n(531)].cryptoKey&&X[n(531)][n(630)].byteLength)+n(1006)+(X[n(531)][n(550)]&&X[n(531)].cryptoIV[n(938)])+n(612)):X._opt[n(670)]?X[n(531)][n(768)]?i=X[n(531)][n(550)]&&X[n(531)][n(550)][n(938)]>0&&X[n(531)][n(630)]&&X._opt[n(630)][n(938)]>0?ic(t,X._opt[n(630)],X[n(531)][n(550)],X.isHevc,X[n(531)][n(618)]):$o(t,X[n(531)][n(768)],X[n(954)],X._opt[n(618)]):!X[n(531)][n(768)]&&X[n(226)](n(236),n(701)):X[n(531)][n(980)]&&(X[n(531)].cryptoIV&&X[n(531)].cryptoIV[n(938)]>0&&X[n(531)][n(630)]&&X._opt.cryptoKey[n(938)]>0?i=sa(t,X._opt[n(630)],X[n(531)][n(550)],X[n(954)]):X[n(226)]("worker","isXorCrypto cryptoKey.length is "+(X[n(531)][n(630)]&&X[n(531)][n(630)].byteLength)+n(1006)+(X[n(531)][n(550)]&&X[n(531)][n(550)][n(938)])+" null")),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return X[r(531)][r(883)]&&(X._opt[r(550)]&&X._opt[r(550)].byteLength>0&&X._opt[r(630)]&&X[r(531)][r(630)][r(938)]>0?t[0]>>4===Pe[r(1061)]&&(n=po(t,X[r(531)][r(630)],X._opt[r(550)])):X[r(226)](r(236),"isM7sCrypto cryptoKey.length is "+(X[r(531)][r(630)]&&X[r(531)][r(630)][r(938)])+r(1006)+(X[r(531)][r(550)]&&X._opt[r(550)][r(938)])+r(612))),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,o=t[0]>>1&1;if(O=s===Pe[n(1061)]?o?16:8:0===o?8:16,J&&J[n(267)]||!Gt(i))if(dt(t)||s===Pe[n(193)]||s===Pe[n(242)]||s===Pe.MP3){X.debugLog(n(236),n(583)+s+n(184)+X[n(531)][n(685)]);const e=s===Pe[n(1061)]?t.slice(2):new Uint8Array(0);if(i){if(s===Pe[n(427)])return void X.debugError(n(236),n(913));J.sample_rate=X[n(531)].sampleRate,J[n(254)](t,r)}else J[n(267)](s,X._opt[n(685)],e,X[n(472)]());s===Pe[n(1061)]&&postMessage({cmd:be[n(983)],buffer:e},[e.buffer]),y=!0,s!==Pe[n(1061)]&&(s===Pe[n(427)]?(!X.mp3Demuxer&&(X[n(332)]=new ea(X),X[n(332)].on(n(291),((e,t)=>{J[n(254)](e,t)}))),X[n(332)][n(898)](t[n(1023)](1),r)):J[n(254)](t[n(1023)](1),r));const o=Number("1")||1;setTimeout((()=>{const e=n;X.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),X[e(443)](),postMessage({cmd:be[e(299)]})}),60*o*60*1e3)}else X[n(637)](n(236),n(473),s);else X[n(226)](n(236),"setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(t,r){const s=e;if(X[s(433)])X[s(759)](s(236),s(918));else if(X[s(146)]())K[s(275)](t,r);else if($t(n)&&$t(X[s(531)][s(1090)]))postMessage({cmd:be[s(856)],payload:t,ts:r,cts:r},[t.buffer]);else{const e=t[0]>>4;if(y){if(dt(t))return void X[s(759)](s(236),s(659));i?J.decode(t,r):e===Pe[s(427)]?X[s(332)][s(898)](t[s(1023)](1),r):J[s(254)](e===Pe.AAC?t[s(1023)](2):t.slice(1),r)}else X[s(698)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Z&&Z[n(267)]||!Gt(i))if(Vt(t))if(s===xe[n(684)]||s===xe.h265){X.debugLog(n(236),n(228)+s);const e=t[n(1023)](5);if(s===xe[n(684)]&&X[n(531)][n(1054)]){const t=_r(e);if(t.codecWidth>ye||t[n(573)]>ye)return postMessage({cmd:be.simdH264DecodeVideoWidthIsTooLarge,value:n(276)+t[n(202)]+n(1056)+ye+n(517)+t[n(573)]+n(1056)+ye}),void X[n(637)](n(236),n(661)+t[n(202)]+n(224)+t[n(573)])}const r=new Uint8Array(t);v=!0,i?Z[n(254)](t,0):Z[n(267)](s,e,X.getBuildTime()),postMessage({cmd:be[n(923)],code:s}),postMessage({cmd:be[n(505)],buffer:r,codecId:s},[r[n(293)]])}else X[n(637)]("worker",n(801)+s+n(383));else X[n(637)](n(236),"decodeVideo: hasInitVideoCodec is false, codecId is "+s+n(379)+r+" and packetType is "+t[1]);else X[n(226)](n(236),n(324))},decodeVideo:function(t,r,s){const o=e;let a=arguments[o(987)]>3&&void 0!==arguments[3]?arguments[3]:0;if(X[o(433)])X[o(759)](o(236),o(962));else if(X[o(196)]())K[o(711)](t,r,s,a);else if($t(n))postMessage({cmd:be[o(704)],payload:t,isIFrame:s,ts:r,cts:a,delay:X.delay},[t[o(293)]]);else if(v)if(!g&&s&&(g=!0),g){if(s&&Vt(t)){const e=15&t[0];let r={};e===xe[o(684)]?r=_r(t.slice(5)):e===xe.h265&&(r=Jr(t)),r[o(202)]&&r.codecHeight&&p&&m&&(r[o(202)]!==p||r[o(573)]!==m)&&(X.debugWarn("worker","\n decodeVideo: video width or height is changed,\n old width is "+p+o(322)+m+o(730)+r[o(202)]+o(1049)+r[o(573)]+o(1029)),U=!0,postMessage({cmd:be.wasmWidthOrHeightChange,value:o(276)+p+"->"+r.codecWidth+o(517)+m+"->"+r[o(573)]}))}if(U)return void X[o(637)](o(236),o(394));if(R)return void X[o(637)](o(236),o(171));if(Vt(t))return void X[o(759)](o(236),"decodeVideo and payload is video sequence header so drop this frame");if(t[o(938)]0&&void 0!==arguments[0]&&arguments[0];X.debugLog(t(236),"clearBuffer,bufferList length is "+s[t(987)]+t(376)+r),r&&(s=[]),X[t(1010)]&&(X[t(757)](),$t(X[t(531)][t(1084)])&&(X[t(484)]=!0,postMessage({cmd:be[t(194)]}))),$t(X[t(531)][t(1084)])&&Gt(n)&&(g=!1)},dropBuffer$2:function(){const t=e;if(s.length>0){let e=s.findIndex((e=>{const t=oc;return $t(e[t(1003)])&&e[t(287)]===Se[t(188)]}));if(X.isAllIframeInBufferList())for(let r=0;r=X[t(165)]()){X[t(759)]("worker",t(492)+r+t(798)+i+t(929)+X.getNotDroppingDelayTs()),e=r;break}}if(e>=0){X[t(337)]=!0,postMessage({cmd:be[t(194)]});const r=s.length;s=s.slice(e);const n=s[t(1005)]();X[t(757)](),X.getDelay(n.ts,n.type),X[t(965)](n),X[t(337)]=!1,X[t(759)](t(236),t(858)+e+t(966)+r+t(738)+s[t(987)]+" and new delay is "+X[t(747)]+" ")}else X[t(337)]=!1}0===s[t(987)]&&(X[t(337)]=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n[r(828)](1,!1),s=n[r(971)](0),o=new ArrayBuffer(4),a=new Uint32Array(o);switch(s){case Se[r(514)]:X.decode(new Uint8Array(t,5),{type:Se[r(514)],ts:i});break;case Se[r(188)]:if(n[r(938)]>=11){const e=new Uint8Array(t,5),s=e[0];if(X[r(273)](s))X[r(678)](e,i);else{const t=n[r(971)](5)>>4==1;if(t&&(X.calcIframeIntervalTimestamp(i),Vt(e)&&null===X[r(954)])){const t=15&e[0];X[r(954)]=t===xe.h265}X.isPlayer&&X[r(721)](i),a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0;let s=a[0],o=X[r(440)](e,t);X[r(254)](o,{type:Se[r(188)],ts:i,isIFrame:t,cts:s})}}else X.debugWarn(r(236),r(591)+t[r(938)]+r(764))}},demuxNakedFlow:function(e){$.dispatch(e)},demuxFmp4:function(t){G[e(898)](t)},demuxMpeg4:function(t){q[e(898)](t)},demuxTs:function(t){Y[e(898)](t)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,o=15&i,a=t[n(1023)](1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[n(504)](a[0]);if(X[n(954)]=Gt(l),o===Ye[n(373)]){if(s===Ke[n(359)]){const e=t[n(1023)](5);if(l);else{const i=new Uint8Array(5+e[n(987)]);i[n(425)]([28,0,0,0,0],0),i[n(425)](e,5),L=It(t,X[n(954)]),X.debugLog("worker",n(672)+X.isHevc+n(896)+L),X[n(254)](i,{type:Se[n(188)],ts:r,isIFrame:!0,cts:0})}}}else if(o===Ye[n(348)]){let e=t,i=0;const o=s===Ke[n(359)];o&&X[n(699)](r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=rn(t[n(1023)](8),o),e=X.cryptoPayload(e,o),X[n(254)](e,{type:Se[n(188)],ts:r,isIFrame:o,cts:i}))}else if(o===Ye.PACKET_TYPE_FRAMESX){const e=s===Ke[n(359)];e&&X[n(699)](r);let i=rn(t[n(1023)](5),e);i=X[n(440)](i,e),X[n(254)](i,{type:Se.video,ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&qe)===qe},findSei:function(t,r){const n=e;let i=4;Rt(L)&&(i=L),bt(t[n(1023)](5),i).forEach((e=>{const t=n,i=X[t(954)]?e[0]>>>1&63:31&e[0],s=X.isHevc&&(i===Me[t(1046)]||i===Me[t(1024)]),o=Gt(X.isHevc)&&i===Be[t(726)];if(s||o){const n=St(e,X[t(954)]);postMessage({cmd:be[t(940)],buffer:n[t(465)],ts:r},[n.payload[t(293)]])}}))},calcNetworkDelay:function(t){const r=e;if(!(g&&t>0))return;null===E?(E=t,k=Tt()):tn?i-n:0;X[r(187)]=s,s>X[r(531)][r(187)]&&X[r(531)][r(256)]===oe[r(326)]&&(X.debugWarn(r(236),r(150)+t+", start dts is "+E+r(754)+n+",local diff is "+i+r(390)+s),postMessage({cmd:be[r(452)],type:Ie[r(950)],value:s}))},calcIframeIntervalTimestamp:function(t){null===D?D=t:D=X._opt[t(669)]&&!(X[t(531)][t(891)]&&X[t(531)][t(1090)])},isPlayUseMSE:function(){return X[e(1010)]&&X._opt.useMSE&&$t(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return X[t(1063)]()&&X[t(531)][t(728)]},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return X.isPlayUseMSEAndDecoderInWorker()&&X._opt[t(1090)]},playbackUpdatePlaybackRate:function(){const t=e;Gt(X[t(385)]())&&X[t(298)](!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;X[r(226)](r(236),"handleOffscreenCanvasWebglContextLost and next try to create webgl"),t[r(910)](),F=!0,X[r(675)][r(748)](),X[r(675)]=null,X[r(325)]=null,setTimeout((()=>{const e=r;X.offscreenCanvasGL=X[e(241)][e(806)](e(1053)),X[e(325)]&&X[e(325)][e(1013)]()[e(368)]?(X[e(675)]=re(X[e(325)],X[e(531)][e(437)]),F=!1):X[e(226)](e(236),e(958))}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;X[r(759)]("worker","handleOffscreenCanvasWebglContextRestored"),t[r(910)]()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:be[i(923)],code:t}),postMessage({cmd:be.initVideo,w:r,h:n}),p=r,m=n,X[i(744)]()&&(X[i(241)]=new OffscreenCanvas(r,n),X[i(325)]=X.offscreenCanvas.getContext("webgl"),X[i(675)]=re(X[i(325)],X[i(531)].openWebglAlignment),X[i(241)][i(245)](i(253),X[i(421)],!1),X[i(241)].addEventListener(i(189),X.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(t,r,n){const i=e;postMessage({cmd:be[i(776)],code:t}),postMessage({cmd:be[i(909)],sampleRate:r,channels:n,depth:O}),x=n},yuvData:function(r,n){const i=e;if(X.isDestroyed)return void X.debugLog(i(236),"yuvData, decoder is destroyed and return");const s=p*m*3/2;let o=t[i(181)][i(223)](r,r+s),a=new Uint8Array(o);if(A=null,w=n,X[i(744)]())try{if(F)return;X[i(675)][i(285)](p,m,a);let e=X[i(241)][i(227)]();postMessage({cmd:be[i(1020)],buffer:e,delay:X[i(747)],ts:n},[e])}catch(e){X[i(226)](i(236),i(859),e,e[i(314)]())}else postMessage({cmd:be[i(1020)],output:a,delay:X[i(747)],ts:n},[a[i(293)]])},pcmData:function(t,n,i){const s=e;if(X[s(433)])return void X[s(759)](s(236),s(444));let a=n,c=[],u=0,l=X[s(531)].audioBufferSize;for(let e=0;e<2;e++){let n=r[s(217)][(t>>2)+e]>>2;c[e]=r[s(277)][s(223)](n,n+a)}if(T){if(!(a>=(n=l-T)))return T+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==x&&(o[1]=Float32Array.of(...o[1],...c[1])));I[0]=Float32Array.of(...o[0],...c[0][s(223)](0,n)),2==x&&(I[1]=Float32Array.of(...o[1],...c[1][s(223)](0,n))),postMessage({cmd:be[s(911)],buffer:I,ts:i},I[s(405)]((e=>e[s(293)]))),u=n,a-=n}for(T=a;T>=l;T-=l)I[0]=c[0][s(1023)](u,u+=l),2==x&&(I[1]=c[1][s(1023)](u-l,u)),postMessage({cmd:be.playAudio,buffer:I,ts:i},I[s(405)]((e=>e[s(293)])));T&&(o[0]=c[0].slice(u),2==x&&(o[1]=c[1][s(1023)](u))),c=[]},errorInfo:function(t){const r=e;null===A&&(A=Tt());const n=Tt(),i=xt(C>0?2*C:5e3,1e3,5e3),s=n-A;s>i&&(X[r(637)](r(236),r(357)+C+r(886)+s+" and maxDiff is "+i+r(1077)),R=!0,postMessage({cmd:be[r(210)]}))},sendWebsocketMessage:function(t){const r=e;u?u.readyState===Te[r(964)]?u[r(545)](t):X[r(226)]("worker","socket is not open"):X[r(226)](r(236),r(281))},timeEnd(){const t=e;X[t(226)](t(236),t(620)),X[t(443)](),postMessage({cmd:be[t(299)]})},postStreamToMain(t,r){postMessage({cmd:be[e(197)],type:r,buffer:t},[t.buffer])},updatePlaybackIsPause(t){const r=e;X[r(759)](r(236),r(152)+t),$t(t)?X[r(170)]():X[r(1039)]()},getBuildTime:()=>"JessibucaPro-"+me,validatedFailed(){const t=e;X.debugError(t(236),t(762))},debugLog(t){const r=e;if(X._opt[r(350)]&&X[r(350)]){for(var n=arguments[r(987)],i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:be.initVideo,w:t,h:r}),X.useOffscreen()&&(X[n(241)]=new OffscreenCanvas(t,r),X[n(325)]=X[n(241)][n(806)](n(1053)),X[n(675)]=re(X.offscreenCanvasGL,X[n(531)].openWebglAlignment),X[n(241)][n(245)](n(253),X.onOffscreenCanvasWebglContextLost,!1),X.offscreenCanvas[n(245)](n(189),X[n(494)],!1))},initAudioPlanar:function(t,r){x=t,postMessage({cmd:be[e(909)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if(X[s(433)])return void X.debugLog("worker","pcmData, decoder is destroyed and return");let a=n,c=[],u=0,l=X._opt[s(311)];for(let e=0;e<2;e++){let n=r[s(217)][(t>>2)+e]>>2;c[e]=r[s(277)][s(223)](n,n+a)}if(T){if(!(a>=(n=l-T)))return T+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==x&&(o[1]=Float32Array.of(...o[1],...c[1])));I[0]=Float32Array.of(...o[0],...c[0][s(223)](0,n)),2==x&&(I[1]=Float32Array.of(...o[1],...c[1][s(223)](0,n))),postMessage({cmd:be[s(911)],buffer:I,ts:i},I[s(405)]((e=>e[s(293)]))),u=n,a-=n}for(T=a;T>=l;T-=l)I[0]=c[0].slice(u,u+=l),2==x&&(I[1]=c[1].slice(u-l,u)),postMessage({cmd:be[s(911)],buffer:I,ts:i},I.map((e=>e.buffer)));T&&(o[0]=c[0][s(1023)](u),2==x&&(o[1]=c[1].slice(u))),c=[]},draw:function(r,n,i,s){const o=e;if(X.isDestroyed)return void X[o(759)]("worker",o(719));const a=t[o(181)].subarray(n,n+j),c=t[o(181)].subarray(i,i+H),u=t[o(181)][o(223)](s,s+H),l=new Uint8Array(j+H+H);if(l[o(425)](a),l[o(425)](c,j),l[o(425)](u,j+H),A=null,w=r,X[o(744)]())try{if(F)return;X.webglObj[o(285)](p,m,l);let e=X[o(241)][o(227)]();postMessage({cmd:be.render,buffer:e,delay:X[o(747)],ts:r},[e])}catch(e){X[o(226)](o(236),o(859),e,e.toString())}else postMessage({cmd:be.render,output:l,delay:X[o(747)],ts:r},[l[o(293)]])}}));let J=null;r[e(601)]&&(J=new(r[e(601)])(X));let Z=null;t[e(682)]&&(Z=new(t[e(682)])(X)),postMessage({cmd:be[e(402)]}),self[e(215)]=function(t){const r=e;let n=t[r(291)];switch(n.cmd){case ke.init:try{X._opt=Object[r(212)](X[r(531)],JSON[r(204)](n.opt))}catch(e){}X[r(759)](r(236),r(831)+ke[r(402)],n[r(842)]);break;case ke[r(254)]:X[r(850)](n.buffer,n[r(399)]);break;case ke[r(524)]:X.decodeAudio(n[r(293)],n.ts);break;case ke.videoDecode:X[r(711)](n.buffer,n.ts,n[r(1003)]);break;case ke[r(298)]:X[r(298)](n[r(947)]);break;case ke[r(161)]:X[r(161)](n[r(391)],JSON[r(204)](n[r(842)]),n.protocols);break;case ke[r(443)]:X[r(759)]("worker",r(831)+ke[r(443)],JSON[r(246)](n.options)),n[r(399)]&&Gt(n[r(399)].isVideoInited)&&(N=n[r(399)][r(900)]),X[r(443)]();break;case ke[r(994)]:X[r(759)](r(236),r(831)+ke[r(994)],n[r(279)],n[r(1018)]),X[r(531)][n.key]=n[r(1018)],"playbackRate"===n[r(279)]&&(X.playbackUpdatePlaybackRate(),X[r(385)]()&&X[r(625)]());break;case ke[r(520)]:X[r(297)](n[r(208)]);break;case ke[r(409)]:K.$video[r(341)]=Number(n[r(208)]);break;case ke[r(502)]:X[r(455)](n.isPause)}}}(e[1],t)}))})); diff --git a/demo/public/pro/js/decoder-pro-old.js b/demo/public/pro/js/decoder-pro-old.js index bee9088f..1feb8bce 100644 --- a/demo/public/pro/js/decoder-pro-old.js +++ b/demo/public/pro/js/decoder-pro-old.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("path"),require("fs"),require("crypto")):"function"==typeof define&&define.amd?define(["path","fs","crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).path,e.fs,e.crypto$1)}(this,(function(e,t,r){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=n(e),o=n(t),a=n(r),d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e,t){return e(t={exports:{}},t.exports),t.exports}var c=l((function(e){var t=void 0!==t?t:{},r=(t={locateFile:function(e){return"decoder-pro-old.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_OLD_WASM_URL&&""!=JESSIBUCA_PRO_OLD_WASM_URL?JESSIBUCA_PRO_OLD_WASM_URL:e},printErr:function(e){(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented")&&-1===e.indexOf("not compiled with thread support, using thread emulation"))&&console.warn("JbPro[❌❌❌][old wasm]:",e)}},Object.assign({},t)),i="./this.program",n="object"==typeof window,d="function"==typeof importScripts,l="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,c=!n&&!l&&!d;if(t.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var u,f,h,p,m,_,g="";if(l){if("object"!=typeof process)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");g=d?s.default.dirname(g)+"/":__dirname+"/",_=()=>{m||(p=o.default,m=s.default)},u=function(e,t){return _(),e=m.normalize(e),p.readFileSync(e,t?void 0:"utf8")},h=e=>{var t=u(e,!0);return t.buffer||(t=new Uint8Array(t)),k(t.buffer),t},f=(e,t,r)=>{_(),e=m.normalize(e),p.readFile(e,(function(e,i){e?r(e):t(i.buffer)}))},process.argv.length>1&&(i=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),e.exports=t,process.on("uncaughtException",(function(e){if(!(e instanceof Br))throw e})),process.on("unhandledRejection",(function(e){throw e})),t.inspect=function(){return"[Emscripten Module object]"}}else if(c){if("object"==typeof process||"object"==typeof window||"function"==typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");"undefined"!=typeof read&&(u=function(e){return read(e)}),h=function(e){let t;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(t=read(e,"binary"),k("object"==typeof t),t)},f=function(e,t,r){setTimeout((()=>t(h(e))),0)},"undefined"!=typeof scriptArgs&&scriptArgs,"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)}else{if(!n&&!d)throw new Error("environment detection error");if(d?g=self.location.href:"undefined"!=typeof document&&document.currentScript&&(g=document.currentScript.src),g=0!==g.indexOf("blob:")?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");u=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(h=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)}}var y,v,b,w=t.print||console.log.bind(console),S=t.printErr||console.warn.bind(console);function E(e){E.shown||(E.shown={}),E.shown[e]||(E.shown[e]=1,S(e))}function A(e,r){Object.getOwnPropertyDescriptor(t,e)||Object.defineProperty(t,e,{configurable:!0,get:function(){_e("Module."+e+" has been replaced with plain "+r+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function B(e,t){var r="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";return t&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),r}function x(e,r){Object.getOwnPropertyDescriptor(t,e)||Object.defineProperty(t,e,{configurable:!0,get:function(){_e(B(e,r))}})}function U(e,r){Object.getOwnPropertyDescriptor(t,e)||(t[e]=()=>_e(B(e,r)))}Object.assign(t,r),r=null,y="fetchSettings",Object.getOwnPropertyDescriptor(t,y)&&_e("`Module."+y+"` was supplied but `"+y+"` not included in INCOMING_MODULE_JS_API"),t.arguments&&t.arguments,A("arguments","arguments_"),t.thisProgram&&(i=t.thisProgram),A("thisProgram","thisProgram"),t.quit&&t.quit,A("quit","quit_"),k(void 0===t.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),k(void 0===t.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),k(void 0===t.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),k(void 0===t.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),k(void 0===t.read,"Module.read option was removed (modify read_ in JS)"),k(void 0===t.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),k(void 0===t.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),k(void 0===t.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),k(void 0===t.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),A("read","read_"),A("readAsync","readAsync"),A("readBinary","readBinary"),A("setWindowTitle","setWindowTitle"),k(!c,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."),t.wasmBinary&&(v=t.wasmBinary),A("wasmBinary","wasmBinary"),t.noExitRuntime,A("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&_e("no native wasm support detected");var T=!1;function k(e,t){e||_e("Assertion failed"+(t?": "+t:""))}var C="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function D(e,t,r){for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&C)return C.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s}function L(e,t){return e?D(N,e,t):""}function I(e,t,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;a>1114111&&E("Invalid Unicode code point 0x"+a.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n}function F(e,t,r){return k("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),I(e,N,t,r)}function P(e){for(var t=0,r=0;r=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++r)),i<=127?++t:t+=i<=2047?2:i<=65535?3:4}return t}var M,R,N,z,O,G,H,$,V,W="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function j(e,t){k(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&O[i];)++i;if((r=i<<1)-e>32&&W)return W.decode(N.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=z[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s}function Y(e,t,r){if(k(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),k("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return z[t>>1]=0,t-i}function q(e){return 2*e.length}function K(e,t){k(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,i="";!(r>=t/4);){var n=G[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i}function X(e,t,r){if(k(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),k("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s);if(G[t>>2]=o,(t+=4)+4>n)break}return G[t>>2]=0,t-i}function J(e){for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t}function Z(e){var t=P(e)+1,r=_r(t);return r&&I(e,R,r,t),r}function Q(e){M=e,t.HEAP8=R=new Int8Array(e),t.HEAP16=z=new Int16Array(e),t.HEAP32=G=new Int32Array(e),t.HEAPU8=N=new Uint8Array(e),t.HEAPU16=O=new Uint16Array(e),t.HEAPU32=H=new Uint32Array(e),t.HEAPF32=$=new Float32Array(e),t.HEAPF64=V=new Float64Array(e)}var ee=5242880;t.TOTAL_STACK&&k(ee===t.TOTAL_STACK,"the stack size can no longer be determined at runtime");var te,re=t.INITIAL_MEMORY||67108864;function ie(){var e=Ar();k(0==(3&e)),G[e>>2]=34821223,G[e+4>>2]=2310721022,G[0]=1668509029}function ne(){if(!T){var e=Ar(),t=H[e>>2],r=H[e+4>>2];34821223==t&&2310721022==r||_e("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" 0x"+t.toString(16)),1668509029!==G[0]&&_e("Runtime error: The application has corrupted its heap memory area (address zero)!")}}A("INITIAL_MEMORY","INITIAL_MEMORY"),k(re>=ee,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+re+"! (TOTAL_STACK="+"5242880)"),k("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),k(!t.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),k(67108864==re,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var se=[],oe=[],ae=[],de=!1;k(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var le=0,ce=null,ue=null,fe={};function he(e){for(var t=e;;){if(!fe[e])return e;e=t+Math.random()}}function pe(e){le++,t.monitorRunDependencies&&t.monitorRunDependencies(le),e?(k(!fe[e]),fe[e]=1,null===ce&&"undefined"!=typeof setInterval&&(ce=setInterval((function(){if(T)return clearInterval(ce),void(ce=null);var e=!1;for(var t in fe)e||(e=!0,S("still waiting on run dependencies:")),S("dependency: "+t);e&&S("(end of list)")}),1e4))):S("warning: run dependency added without ID")}function me(e){if(le--,t.monitorRunDependencies&&t.monitorRunDependencies(le),e?(k(fe[e]),delete fe[e]):S("warning: run dependency removed without ID"),0==le&&(null!==ce&&(clearInterval(ce),ce=null),ue)){var r=ue;ue=null,r()}}function _e(e){throw t.onAbort&&t.onAbort(e),S(e="Aborted("+e+")"),T=!0,new WebAssembly.RuntimeError(e)}var ge,ye,ve;function be(e){return e.startsWith("data:application/octet-stream;base64,")}function we(e){return e.startsWith("file://")}function Se(e,r){return function(){var i=e,n=r;return r||(n=t.asm),k(de,"native function `"+i+"` called before runtime initialization"),n[e]||k(n[e],"exported native function `"+i+"` not found"),n[e].apply(null,arguments)}}function Ee(e){try{if(e==ge&&v)return new Uint8Array(v);if(h)return h(e);throw"both async and sync fetching of the wasm failed"}catch(e){_e(e)}}function Ae(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var i=r.func;"number"==typeof i?void 0===r.arg?xe(i)():xe(i)(r.arg):i(void 0===r.arg?null:r.arg)}else r(t)}}function Be(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t,r=(t=e,E("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),t);return e===r?e:r+" ["+e+"]"}))}function xe(e){return te.get(e)}function Ue(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}be(ge="decoder-pro-old.wasm")||(ge=function(e){return t.locateFile?t.locateFile(e,g):g+e}(ge));var Te={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=Te.isAbs(e),r="/"===e.substr(-1);return(e=Te.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=Te.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=Te.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return Te.normalize(e.join("/"))},join2:(e,t)=>Te.normalize(e+"/"+t)};var ke={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:Pe.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=Te.isAbs(i)}return(t?"/":"")+(e=Te.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ke.resolve(e).substr(1),t=ke.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?r.slice(0,i).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=hr(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(w(D(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(w(D(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(S(D(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(S(D(e.output,0)),e.output=[])}}};function De(e){e=function(e,t){return k(t,"alignment argument is required"),Math.ceil(e/t)*t}(e,65536);var t=wr(65536,e);return t?(function(e,t){N.fill(0,e,e+t)}(t,e),t):0}var Le={ops_table:null,mount:function(e){return Le.createNode(null,"/",16895,0)},createNode:function(e,t,r,i){if(Pe.isBlkdev(r)||Pe.isFIFO(r))throw new Pe.ErrnoError(63);Le.ops_table||(Le.ops_table={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:Pe.chrdev_stream_ops}});var n=Pe.createNode(e,t,r,i);return Pe.isDir(n.mode)?(n.node_ops=Le.ops_table.dir.node,n.stream_ops=Le.ops_table.dir.stream,n.contents={}):Pe.isFile(n.mode)?(n.node_ops=Le.ops_table.file.node,n.stream_ops=Le.ops_table.file.stream,n.usedBytes=0,n.contents=null):Pe.isLink(n.mode)?(n.node_ops=Le.ops_table.link.node,n.stream_ops=Le.ops_table.link.stream):Pe.isChrdev(n.mode)&&(n.node_ops=Le.ops_table.chrdev.node,n.stream_ops=Le.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Pe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Pe.isDir(e.mode)?t.size=4096:Pe.isFile(e.mode)?t.size=e.usedBytes:Pe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Le.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Pe.genericErrors[44]},mknod:function(e,t,r,i){return Le.createNode(e,t,r,i)},rename:function(e,t,r){if(Pe.isDir(e.mode)){var i;try{i=Pe.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new Pe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=Pe.lookupNode(e,t);for(var i in r.contents)throw new Pe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var i=Le.createNode(e,t,41471,0);return i.link=r,i},readlink:function(e){if(!Pe.isLink(e.mode))throw new Pe.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-n,i);if(k(o>=0),o>8&&s.subarray)t.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ke.resolve(Pe.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};if(t=Object.assign(r,t),t.recurse_count>8)throw new Pe.ErrnoError(32);for(var i=Te.normalizeArray(e.split("/").filter((e=>!!e)),!1),n=Pe.root,s="/",o=0;o40)throw new Pe.ErrnoError(32)}}return{path:s,node:n}},getPath:e=>{for(var t;;){if(Pe.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i>>0)%Pe.nameTable.length},hashAddNode:e=>{var t=Pe.hashName(e.parent.id,e.name);e.name_next=Pe.nameTable[t],Pe.nameTable[t]=e},hashRemoveNode:e=>{var t=Pe.hashName(e.parent.id,e.name);if(Pe.nameTable[t]===e)Pe.nameTable[t]=e.name_next;else for(var r=Pe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=Pe.mayLookup(e);if(r)throw new Pe.ErrnoError(r,e);for(var i=Pe.hashName(e.id,t),n=Pe.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Pe.lookup(e,t)},createNode:(e,t,r,i)=>{k("object"==typeof e);var n=new Pe.FSNode(e,t,r,i);return Pe.hashAddNode(n),n},destroyNode:e=>{Pe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=Pe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Pe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=Pe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{Pe.lookupNode(e,t);return 20}catch(e){}return Pe.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=Pe.lookupNode(e,t)}catch(e){return e.errno}var n=Pe.nodePermissions(e,"wx");if(n)return n;if(r){if(!Pe.isDir(i.mode))return 54;if(Pe.isRoot(i)||Pe.getPath(i)===Pe.cwd())return 10}else if(Pe.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?Pe.isLink(e.mode)?32:Pe.isDir(e.mode)&&("r"!==Pe.flagsToPermissionString(t)||512&t)?31:Pe.nodePermissions(e,Pe.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pe.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!Pe.streams[r])return r;throw new Pe.ErrnoError(33)},getStream:e=>Pe.streams[e],createStream:(e,t,r)=>{Pe.FSStream||(Pe.FSStream=function(){this.shared={}},Pe.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get function(){return this.shared.position},set:function(e){this.shared.position=e}}}),e=Object.assign(new Pe.FSStream,e);var i=Pe.nextfd(t,r);return e.fd=i,Pe.streams[i]=e,e},closeStream:e=>{Pe.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Pe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Pe.devices[e]={stream_ops:t}},getDevice:e=>Pe.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),Pe.syncFSRequests++,Pe.syncFSRequests>1&&S("warning: "+Pe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=Pe.getMounts(Pe.root.mount),i=0;function n(e){return k(Pe.syncFSRequests>0),Pe.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount:(e,t,r)=>{if("string"==typeof e)throw e;var i,n="/"===r,s=!r;if(n&&Pe.root)throw new Pe.ErrnoError(10);if(!n&&!s){var o=Pe.lookupPath(r,{follow_mount:!1});if(r=o.path,i=o.node,Pe.isMountpoint(i))throw new Pe.ErrnoError(10);if(!Pe.isDir(i.mode))throw new Pe.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?Pe.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount:e=>{var t=Pe.lookupPath(e,{follow_mount:!1});if(!Pe.isMountpoint(t.node))throw new Pe.ErrnoError(28);var r=t.node,i=r.mounted,n=Pe.getMounts(i);Object.keys(Pe.nameTable).forEach((e=>{for(var t=Pe.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Pe.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);k(-1!==s),r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=Pe.lookupPath(e,{parent:!0}).node,n=Te.basename(e);if(!n||"."===n||".."===n)throw new Pe.ErrnoError(28);var s=Pe.mayCreate(i,n);if(s)throw new Pe.ErrnoError(s);if(!i.node_ops.mknod)throw new Pe.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Pe.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Pe.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,Pe.mknod(e,t,r)),symlink:(e,t)=>{if(!ke.resolve(e))throw new Pe.ErrnoError(44);var r=Pe.lookupPath(t,{parent:!0}).node;if(!r)throw new Pe.ErrnoError(44);var i=Te.basename(t),n=Pe.mayCreate(r,i);if(n)throw new Pe.ErrnoError(n);if(!r.node_ops.symlink)throw new Pe.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,n=Te.dirname(e),s=Te.dirname(t),o=Te.basename(e),a=Te.basename(t);if(r=Pe.lookupPath(e,{parent:!0}).node,i=Pe.lookupPath(t,{parent:!0}).node,!r||!i)throw new Pe.ErrnoError(44);if(r.mount!==i.mount)throw new Pe.ErrnoError(75);var d,l=Pe.lookupNode(r,o),c=ke.relative(e,s);if("."!==c.charAt(0))throw new Pe.ErrnoError(28);if("."!==(c=ke.relative(t,n)).charAt(0))throw new Pe.ErrnoError(55);try{d=Pe.lookupNode(i,a)}catch(e){}if(l!==d){var u=Pe.isDir(l.mode),f=Pe.mayDelete(r,o,u);if(f)throw new Pe.ErrnoError(f);if(f=d?Pe.mayDelete(i,a,u):Pe.mayCreate(i,a))throw new Pe.ErrnoError(f);if(!r.node_ops.rename)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(l)||d&&Pe.isMountpoint(d))throw new Pe.ErrnoError(10);if(i!==r&&(f=Pe.nodePermissions(r,"w")))throw new Pe.ErrnoError(f);Pe.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{Pe.hashAddNode(l)}}},rmdir:e=>{var t=Pe.lookupPath(e,{parent:!0}).node,r=Te.basename(e),i=Pe.lookupNode(t,r),n=Pe.mayDelete(t,r,!0);if(n)throw new Pe.ErrnoError(n);if(!t.node_ops.rmdir)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(i))throw new Pe.ErrnoError(10);t.node_ops.rmdir(t,r),Pe.destroyNode(i)},readdir:e=>{var t=Pe.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Pe.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Pe.lookupPath(e,{parent:!0}).node;if(!t)throw new Pe.ErrnoError(44);var r=Te.basename(e),i=Pe.lookupNode(t,r),n=Pe.mayDelete(t,r,!1);if(n)throw new Pe.ErrnoError(n);if(!t.node_ops.unlink)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(i))throw new Pe.ErrnoError(10);t.node_ops.unlink(t,r),Pe.destroyNode(i)},readlink:e=>{var t=Pe.lookupPath(e).node;if(!t)throw new Pe.ErrnoError(44);if(!t.node_ops.readlink)throw new Pe.ErrnoError(28);return ke.resolve(Pe.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=Pe.lookupPath(e,{follow:!t}).node;if(!r)throw new Pe.ErrnoError(44);if(!r.node_ops.getattr)throw new Pe.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Pe.stat(e,!0),chmod:(e,t,r)=>{var i;"string"==typeof e?i=Pe.lookupPath(e,{follow:!r}).node:i=e;if(!i.node_ops.setattr)throw new Pe.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Pe.chmod(e,t,!0)},fchmod:(e,t)=>{var r=Pe.getStream(e);if(!r)throw new Pe.ErrnoError(8);Pe.chmod(r.node,t)},chown:(e,t,r,i)=>{var n;"string"==typeof e?n=Pe.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new Pe.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown:(e,t,r)=>{Pe.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=Pe.getStream(e);if(!i)throw new Pe.ErrnoError(8);Pe.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new Pe.ErrnoError(28);var r;"string"==typeof e?r=Pe.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new Pe.ErrnoError(63);if(Pe.isDir(r.mode))throw new Pe.ErrnoError(31);if(!Pe.isFile(r.mode))throw new Pe.ErrnoError(28);var i=Pe.nodePermissions(r,"w");if(i)throw new Pe.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=Pe.getStream(e);if(!r)throw new Pe.ErrnoError(8);if(0==(2097155&r.flags))throw new Pe.ErrnoError(28);Pe.truncate(r.node,t)},utime:(e,t,r)=>{var i=Pe.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,r,i,n,s)=>{if(""===e)throw new Pe.ErrnoError(44);var o;if(i=void 0===i?438:i,i=64&(r="string"==typeof r?Pe.modeStringToFlags(r):r)?4095&i|32768:0,"object"==typeof e)o=e;else{e=Te.normalize(e);try{o=Pe.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new Pe.ErrnoError(20)}else o=Pe.mknod(e,i,0),a=!0;if(!o)throw new Pe.ErrnoError(44);if(Pe.isChrdev(o.mode)&&(r&=-513),65536&r&&!Pe.isDir(o.mode))throw new Pe.ErrnoError(54);if(!a){var d=Pe.mayOpen(o,r);if(d)throw new Pe.ErrnoError(d)}512&r&&Pe.truncate(o,0),r&=-131713;var l=Pe.createStream({node:o,path:Pe.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1},n,s);return l.stream_ops.open&&l.stream_ops.open(l),!t.logReadFiles||1&r||(Pe.readFiles||(Pe.readFiles={}),e in Pe.readFiles||(Pe.readFiles[e]=1)),l},close:e=>{if(Pe.isClosed(e))throw new Pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Pe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Pe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,n)=>{if(i<0||n<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(1==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.read)throw new Pe.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Pe.ErrnoError(70)}else n=e.position;var o=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=o),o},write:(e,t,r,i,n,s)=>{if(i<0||n<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(0==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.write)throw new Pe.ErrnoError(28);e.seekable&&1024&e.flags&&Pe.llseek(e,0,2);var o=void 0!==n;if(o){if(!e.seekable)throw new Pe.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,s);return o||(e.position+=a),a},allocate:(e,t,r)=>{if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(t<0||r<=0)throw new Pe.ErrnoError(28);if(0==(2097155&e.flags))throw new Pe.ErrnoError(8);if(!Pe.isFile(e.node.mode)&&!Pe.isDir(e.node.mode))throw new Pe.ErrnoError(43);if(!e.stream_ops.allocate)throw new Pe.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,n,s)=>{if(0!=(2&n)&&0==(2&s)&&2!=(2097155&e.flags))throw new Pe.ErrnoError(2);if(1==(2097155&e.flags))throw new Pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Pe.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n,s)},msync:(e,t,r,i,n)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new Pe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,i=Pe.open(e,t.flags),n=Pe.stat(e),s=n.size,o=new Uint8Array(s);return Pe.read(i,o,0,s,0),"utf8"===t.encoding?r=D(o,0):"binary"===t.encoding&&(r=o),Pe.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=Pe.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(P(t)+1),s=I(t,n,0,n.length);Pe.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Pe.write(i,t,0,t.byteLength,void 0,r.canOwn)}Pe.close(i)},cwd:()=>Pe.currentPath,chdir:e=>{var t=Pe.lookupPath(e,{follow:!0});if(null===t.node)throw new Pe.ErrnoError(44);if(!Pe.isDir(t.node.mode))throw new Pe.ErrnoError(54);var r=Pe.nodePermissions(t.node,"x");if(r)throw new Pe.ErrnoError(r);Pe.currentPath=t.path},createDefaultDirectories:()=>{Pe.mkdir("/tmp"),Pe.mkdir("/home"),Pe.mkdir("/home/web_user")},createDefaultDevices:()=>{Pe.mkdir("/dev"),Pe.registerDevice(Pe.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),Pe.mkdev("/dev/null",Pe.makedev(1,3)),Ce.register(Pe.makedev(5,0),Ce.default_tty_ops),Ce.register(Pe.makedev(6,0),Ce.default_tty1_ops),Pe.mkdev("/dev/tty",Pe.makedev(5,0)),Pe.mkdev("/dev/tty1",Pe.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(l)try{var t=a.default;return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){_e("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}();Pe.createDevice("/dev","random",e),Pe.createDevice("/dev","urandom",e),Pe.mkdir("/dev/shm"),Pe.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Pe.mkdir("/proc");var e=Pe.mkdir("/proc/self");Pe.mkdir("/proc/self/fd"),Pe.mount({mount:()=>{var t=Pe.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=Pe.getStream(r);if(!i)throw new Pe.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{t.stdin?Pe.createDevice("/dev","stdin",t.stdin):Pe.symlink("/dev/tty","/dev/stdin"),t.stdout?Pe.createDevice("/dev","stdout",null,t.stdout):Pe.symlink("/dev/tty","/dev/stdout"),t.stderr?Pe.createDevice("/dev","stderr",null,t.stderr):Pe.symlink("/dev/tty1","/dev/stderr");var e=Pe.open("/dev/stdin",0),r=Pe.open("/dev/stdout",1),i=Pe.open("/dev/stderr",1);k(0===e.fd,"invalid handle for stdin ("+e.fd+")"),k(1===r.fd,"invalid handle for stdout ("+r.fd+")"),k(2===i.fd,"invalid handle for stderr ("+i.fd+")")},ensureErrnoError:()=>{Pe.ErrnoError||(Pe.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,Fe)if(Fe[t]===e){this.code=t;break}},this.setErrno(e),this.message=Ie[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Be(this.stack))},Pe.ErrnoError.prototype=new Error,Pe.ErrnoError.prototype.constructor=Pe.ErrnoError,[44].forEach((e=>{Pe.genericErrors[e]=new Pe.ErrnoError(e),Pe.genericErrors[e].stack=""})))},staticInit:()=>{Pe.ensureErrnoError(),Pe.nameTable=new Array(4096),Pe.mount(Le,{},"/"),Pe.createDefaultDirectories(),Pe.createDefaultDevices(),Pe.createSpecialDirectories(),Pe.filesystems={MEMFS:Le}},init:(e,r,i)=>{k(!Pe.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Pe.init.initialized=!0,Pe.ensureErrnoError(),t.stdin=e||t.stdin,t.stdout=r||t.stdout,t.stderr=i||t.stderr,Pe.createStandardStreams()},quit:()=>{Pe.init.initialized=!1,br();for(var e=0;e{var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:(e,t)=>{var r=Pe.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=Pe.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=Pe.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=Te.basename(e),i=Pe.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(e){r.error=e.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:Pe.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var o=Te.join2(e,s);try{Pe.mkdir(o)}catch(e){}e=o}}return o},createFile:(e,t,r,i,n)=>{var s=Te.join2("string"==typeof e?e:Pe.getPath(e),t),o=Pe.getMode(i,n);return Pe.create(s,o)},createDataFile:(e,t,r,i,n,s)=>{var o=t;e&&(e="string"==typeof e?e:Pe.getPath(e),o=t?Te.join2(e,t):e);var a=Pe.getMode(i,n),d=Pe.create(o,a);if(r){if("string"==typeof r){for(var l=new Array(r.length),c=0,u=r.length;c{var n=Te.join2("string"==typeof e?e:Pe.getPath(e),t),s=Pe.getMode(!!r,!!i);Pe.createDevice.major||(Pe.createDevice.major=64);var o=Pe.makedev(Pe.createDevice.major++,0);return Pe.registerDevice(o,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,n,s)=>{for(var o=0,a=0;a{for(var o=0;o{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!u)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=hr(u(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Pe.ErrnoError(29)}},createLazyFile:(e,t,r,i,n)=>{function s(){this.lengthKnown=!1,this.chunks=[]}if(s.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;n||(o=i);var a=this;a.setDataGetter((e=>{var t=e*o,n=(e+1)*o-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==o&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):hr(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&i||(o=i=1,i=this.getter(0).length,o=i,w("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var l=Pe.createFile(e,t,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={};return Object.keys(l.stream_ops).forEach((e=>{var t=l.stream_ops[e];c[e]=function(){return Pe.forceLoadFile(l),t.apply(null,arguments)}})),c.read=(e,t,r,i,n)=>{Pe.forceLoadFile(l);var s=e.node.contents;if(n>=s.length)return 0;var o=Math.min(s.length-n,i);if(k(o>=0),s.slice)for(var a=0;a{var c=t?ke.resolve(Te.join2(e,t)):e,u=he("cp "+c);function h(r){function f(r){l&&l(),a||Pe.createDataFile(e,t,r,i,n,d),s&&s(),me(u)}Browser.handledByPreloadPlugin(r,c,f,(()=>{o&&o(),me(u)}))||f(r)}pe(u),"string"==typeof r?function(e,t,r,i){var n=i?"":he("al "+e);f(e,(function(r){k(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),n&&me(n)}),(function(t){if(!r)throw'Loading data file "'+e+'" failed.';r()})),n&&pe(n)}(r,(e=>h(e)),o):h(r)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var i=Pe.indexedDB();try{var n=i.open(Pe.DB_NAME(),Pe.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=()=>{w("creating db"),n.result.createObjectStore(Pe.DB_STORE_NAME)},n.onsuccess=()=>{var i=n.result.transaction([Pe.DB_STORE_NAME],"readwrite"),s=i.objectStore(Pe.DB_STORE_NAME),o=0,a=0,d=e.length;function l(){0==a?t():r()}e.forEach((e=>{var t=s.put(Pe.analyzePath(e).object.contents,e);t.onsuccess=()=>{++o+a==d&&l()},t.onerror=()=>{a++,o+a==d&&l()}})),i.onerror=r},n.onerror=r},loadFilesFromDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var i=Pe.indexedDB();try{var n=i.open(Pe.DB_NAME(),Pe.DB_VERSION)}catch(e){return r(e)}n.onupgradeneeded=r,n.onsuccess=()=>{var i=n.result;try{var s=i.transaction([Pe.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var o=s.objectStore(Pe.DB_STORE_NAME),a=0,d=0,l=e.length;function c(){0==d?t():r()}e.forEach((e=>{var t=o.get(e);t.onsuccess=()=>{Pe.analyzePath(e).exists&&Pe.unlink(e),Pe.createDataFile(Te.dirname(e),Te.basename(e),t.result,!0,!0,!0),++a+d==l&&c()},t.onerror=()=>{d++,a+d==l&&c()}})),s.onerror=r},n.onerror=r},absolutePath:()=>{_e("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{_e("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{_e("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{_e("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{_e("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{_e("FS.standardizePath has been removed; use PATH.normalize instead")}},Me={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(Te.isAbs(t))return t;var i;if(-100===e)i=Pe.cwd();else{var n=Pe.getStream(e);if(!n)throw new Pe.ErrnoError(8);i=n.path}if(0==t.length){if(!r)throw new Pe.ErrnoError(44);return i}return Te.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&Te.normalize(t)!==Te.normalize(Pe.getPath(e.node)))return-54;throw e}return G[r>>2]=i.dev,G[r+4>>2]=0,G[r+8>>2]=i.ino,G[r+12>>2]=i.mode,G[r+16>>2]=i.nlink,G[r+20>>2]=i.uid,G[r+24>>2]=i.gid,G[r+28>>2]=i.rdev,G[r+32>>2]=0,ve=[i.size>>>0,(ye=i.size,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],G[r+40>>2]=ve[0],G[r+44>>2]=ve[1],G[r+48>>2]=4096,G[r+52>>2]=i.blocks,G[r+56>>2]=i.atime.getTime()/1e3|0,G[r+60>>2]=0,G[r+64>>2]=i.mtime.getTime()/1e3|0,G[r+68>>2]=0,G[r+72>>2]=i.ctime.getTime()/1e3|0,G[r+76>>2]=0,ve=[i.ino>>>0,(ye=i.ino,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],G[r+80>>2]=ve[0],G[r+84>>2]=ve[1],0},doMsync:function(e,t,r,i,n){var s=N.slice(e,e+r);Pe.msync(t,s,n,r,i)},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Pe.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var i=Pe.readlink(e),n=Math.min(r,P(i)),s=R[t+n];return F(i,t,r+1),R[t+n]=s,n},doAccess:function(e,t){if(-8&t)return-28;var r=Pe.lookupPath(e,{follow:!0}).node;if(!r)return-44;var i="";return 4&t&&(i+="r"),2&t&&(i+="w"),1&t&&(i+="x"),i&&Pe.nodePermissions(r,i)?-2:0},doReadv:function(e,t,r,i){for(var n=0,s=0;s>2],a=G[t+4>>2];t+=8;var d=Pe.read(e,R,o,a,i);if(d<0)return-1;if(n+=d,d>2],a=G[t+4>>2];t+=8;var d=Pe.write(e,R,o,a,i);if(d<0)return-1;n+=d}return n},varargs:void 0,get:function(){return k(null!=Me.varargs),Me.varargs+=4,G[Me.varargs-4>>2]},getStr:function(e){return L(e)},getStreamFromFD:function(e){var t=Pe.getStream(e);if(!t)throw new Pe.ErrnoError(8);return t}};function Re(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Ne=void 0;function ze(e){for(var t="",r=e;N[r];)t+=Ne[N[r++]];return t}var Oe={},Ge={},He={};function $e(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function Ve(e,t){return e=$e(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function We(e,t){var r=Ve(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var je=void 0;function Ye(e){throw new je(e)}var qe=void 0;function Ke(e){throw new qe(e)}function Xe(e,t,r){function i(t){var i=r(t);i.length!==e.length&&Ke("Mismatched type converter count");for(var n=0;n{Ge.hasOwnProperty(e)?n[t]=Ge[e]:(s.push(e),Oe.hasOwnProperty(e)||(Oe[e]=[]),Oe[e].push((()=>{n[t]=Ge[e],++o===s.length&&i(n)})))})),0===s.length&&i(n)}function Je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||Ye('type "'+i+'" must have a positive integer typeid pointer'),Ge.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ye("Cannot register type '"+i+"' twice")}if(Ge[e]=t,delete He[e],Oe.hasOwnProperty(e)){var n=Oe[e];delete Oe[e],n.forEach((e=>e()))}}function Ze(e){if(!(this instanceof bt))return!1;if(!(e instanceof bt))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n}function Qe(e){Ye(e.$$.ptrType.registeredClass.name+" instance already deleted")}var et=!1;function tt(e){}function rt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function it(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)}var nt={};function st(){return Object.keys(ut).length}function ot(){var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e}var at=[];function dt(){for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}}var lt=void 0;function ct(e){lt=e,at.length&<&<(dt)}var ut={};function ft(e,t){return t=function(e,t){for(void 0===t&&Ye("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),ut[t]}function ht(e,t){return t.ptrType&&t.ptr||Ke("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Ke("Both smartPtrType and smartPtr must be specified"),t.count={value:1},mt(Object.create(e,{$$:{value:t}}))}function pt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?ht(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ht(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=nt[o];if(!a)return n.call(this);s=this.isConst?a.constPointerType:a.pointerType;var d=it(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?ht(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):ht(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}function mt(e){return"undefined"==typeof FinalizationRegistry?(mt=e=>e,e):(et=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),rt(e.$$)})),mt=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t},i=t.ptrType.registeredClass;r.leakWarning=new Error("Embind found a leaked C++ instance "+i.name+" <0x"+t.ptr.toString(16)+">.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(r.leakWarning,pt),et.register(e,r,e)}return e},tt=e=>et.unregister(e),mt(e))}function _t(){if(this.$$.ptr||Qe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=mt(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function gt(){this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),tt(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function yt(){return!this.$$.ptr}function vt(){return this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),at.push(this),1===at.length&<&<(dt),this.$$.deleteScheduled=!0,this}function bt(){}function wt(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ye("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function St(e,t,r,i,n,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}function Et(e,t,r){for(;t!==r;)t.upcast||Ye("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function At(e,t){if(null===t)return this.isReference&&Ye("null is not a valid "+this.name),0;t.$$||Ye('Cannot pass "'+qt(t)+'" as a '+this.name),t.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function Bt(e,t){var r;if(null===t)return this.isReference&&Ye("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ye('Cannot pass "'+qt(t)+'" as a '+this.name),t.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Ye("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(r=Et(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ye("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,Yt.toHandle((function(){n.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ye("Unsupporting sharing policy")}return r}function xt(e,t){if(null===t)return this.isReference&&Ye("null is not a valid "+this.name),0;t.$$||Ye('Cannot pass "'+qt(t)+'" as a '+this.name),t.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Ye("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function Ut(e){return this.fromWireType(H[e>>2])}function Tt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function kt(e){this.rawDestructor&&this.rawDestructor(e)}function Ct(e){null!==e&&e.delete()}function Dt(e,t,r,i,n,s,o,a,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=Bt:i?(this.toWireType=At,this.destructorFunction=null):(this.toWireType=xt,this.destructorFunction=null)}function Lt(e,r,i){return e.includes("j")?function(e,r,i){k("dynCall_"+e in t,"bad function pointer type - no table for sig '"+e+"'"),i&&i.length?k(i.length===e.substring(1).replace(/j/g,"--").length):k(1==e.length);var n=t["dynCall_"+e];return i&&i.length?n.apply(null,[r].concat(i)):n.call(null,r)}(e,r,i):(k(xe(r),"missing table entry in dynCall: "+r),xe(r).apply(null,i))}function It(e,t){var r=(e=ze(e)).includes("j")?function(e,t){k(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){return r.length=0,Object.assign(r,arguments),Lt(e,t,r)}}(e,t):xe(t);return"function"!=typeof r&&Ye("unknown function pointer with signature "+e+": "+t),r}var Ft=void 0;function Pt(e){var t=vr(e),r=ze(t);return mr(t),r}function Mt(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||Ge[t]||(He[t]?He[t].forEach(e):(r.push(t),i[t]=!0))})),new Ft(e+": "+r.map(Pt).join([", "]))}function Rt(e,t){for(var r=[],i=0;i>2)+i]);return r}function Nt(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function zt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var r=Ve(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Ot(e,t,r,i,n){var s=t.length;s<2&&Ye("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,a=!1,d=1;d0?", ":"")+u),f+=(l?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",a)f+="runDestructors(destructors);\n";else for(d=o?1:2;d4&&0==--$t[e].refcount&&($t[e]=void 0,Ht.push(e))}function Wt(){for(var e=0,t=5;t<$t.length;++t)void 0!==$t[t]&&++e;return e}function jt(){for(var e=5;e<$t.length;++e)if(void 0!==$t[e])return $t[e];return null}var Yt={toValue:e=>(e||Ye("Cannot use deleted val. handle = "+e),$t[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Ht.length?Ht.pop():$t.length;return $t[t]={refcount:1,value:e},t}}};function qt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Kt(e,t){switch(t){case 2:return function(e){return this.fromWireType($[e>>2])};case 3:return function(e){return this.fromWireType(V[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Xt(e,t,r){switch(t){case 0:return r?function(e){return R[e]}:function(e){return N[e]};case 1:return r?function(e){return z[e>>1]}:function(e){return O[e>>1]};case 2:return r?function(e){return G[e>>2]}:function(e){return H[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jt(e,t){var r=Ge[e];return void 0===r&&Ye(t+" has unknown type "+Pt(e)),r}var Zt={};var Qt=[];var er=[];function tr(e,t){return k(t===(0|t)),(e>>>0)+4294967296*t}function rr(e,t){if(e<=0)return e;var r=t<=32?Math.abs(1<=r&&(t<=32||e>r)&&(e=-2*r+e),e}function ir(e,t){return e>=0?e:t<=32?2*Math.abs(1<>3]),i+=8):"i64"==e?(t=[G[i>>2],G[i+4>>2]],i+=8):(k(0==(3&i)),e="i32",t=G[i>>2],i+=4),t}for(var s,o,a,d,l,c,u=[];;){var f=r;if(0===(s=R[r>>0]))break;if(o=R[r+1>>0],37==s){var h=!1,p=!1,m=!1,_=!1,g=!1;e:for(;;){switch(o){case 43:h=!0;break;case 45:p=!0;break;case 35:m=!0;break;case 48:if(_)break e;_=!0;break;case 32:g=!0;break;default:break e}r++,o=R[r+1>>0]}var y=0;if(42==o)y=n("i32"),r++,o=R[r+1>>0];else for(;o>=48&&o<=57;)y=10*y+(o-48),r++,o=R[r+1>>0];var v,b=!1,w=-1;if(46==o){if(w=0,b=!0,r++,42==(o=R[r+1>>0]))w=n("i32"),r++;else for(;;){var S=R[r+1>>0];if(S<48||S>57)break;w=10*w+(S-48),r++}o=R[r+1>>0]}switch(w<0&&(w=6,b=!1),String.fromCharCode(o)){case"h":104==R[r+2>>0]?(r++,v=1):v=2;break;case"l":108==R[r+2>>0]?(r++,v=8):v=4;break;case"L":case"q":case"j":v=8;break;case"z":case"t":case"I":v=4;break;default:v=null}switch(v&&r++,o=R[r+1>>0],String.fromCharCode(o)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var E=100==o||105==o;if(a=n("i"+8*(v=v||4)),8==v&&(a=117==o?(l=a[0],c=a[1],(l>>>0)+4294967296*(c>>>0)):tr(a[0],a[1])),v<=4)a=(E?rr:ir)(a&Math.pow(256,v)-1,8*v);var A=Math.abs(a),B="";if(100==o||105==o)T=rr(a,8*v).toString(10);else if(117==o)T=ir(a,8*v).toString(10),a=Math.abs(a);else if(111==o)T=(m?"0":"")+A.toString(8);else if(120==o||88==o){if(B=m&&0!=a?"0x":"",a<0){a=-a,T=(A-1).toString(16);for(var x=[],U=0;U=0&&(h?B="+"+B:g&&(B=" "+B)),"-"==T.charAt(0)&&(B="-"+B,T=T.substr(1));B.length+T.lengthL&&L>=-4?(o=(103==o?"f":"F").charCodeAt(0),w-=L+1):(o=(103==o?"e":"E").charCodeAt(0),w--),D=Math.min(w,20)}101==o||69==o?(T=a.toExponential(D),/[eE][-+]\d$/.test(T)&&(T=T.slice(0,-1)+"0"+T.slice(-1))):102!=o&&70!=o||(T=a.toFixed(D),0===a&&((d=a)<0||0===d&&1/d==-1/0)&&(T="-"+T));var I=T.split("e");if(C&&!m)for(;I[0].length>1&&I[0].includes(".")&&("0"==I[0].slice(-1)||"."==I[0].slice(-1));)I[0]=I[0].slice(0,-1);else for(m&&-1==T.indexOf(".")&&(I[0]+=".");w>D++;)I[0]+="0";T=I[0]+(I.length>1?"e"+I[1]:""),69==o&&(T=T.toUpperCase()),a>=0&&(h?T="+"+T:g&&(T=" "+T))}else T=(a<0?"-":"")+"inf",_=!1;for(;T.length>0]);else u=u.concat(hr("(null)".substr(0,P),!0));if(p)for(;P0;)u.push(32);p||u.push(n("i8"));break;case"n":var M=n("i32*");G[M>>2]=u.length;break;case"%":u.push(s);break;default:for(U=f;U>0])}r+=2}else u.push(s),r+=1}return u}function sr(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];e.callee.toString();var t=e.callee.name,r="(",i=!0;for(var n in e){var s=e[n];i||(r+=", "),i=!1,r+="number"==typeof s||"string"==typeof s?s:"("+typeof s+")"}r+=")";var o=e.callee.caller;return i&&(r=""),[e=o?o.arguments:[],t,r]}function or(e,t){24&e&&(t=t.replace(/\s+$/,""),t+=(t.length>0?"\n":"")+function(e){var t=Ue(),r=t.lastIndexOf("_emscripten_log"),i=t.lastIndexOf("_emscripten_get_callstack"),n=t.indexOf("\n",Math.max(r,i))+1;t=t.slice(n),32&e&&E("EM_LOG_DEMANGLE is deprecated; ignoring"),8&e&&"undefined"==typeof emscripten_source_map&&(E('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var s=null;if(128&e)for(s=sr(arguments);s[1].includes("_emscripten_");)s=sr(s[0]);var o=t.split("\n");t="";var a=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),d=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var c in o){var u=o[c],f="",h="",p=0,m=0,_=l.exec(u);if(_&&5==_.length)f=_[1],h=_[2],p=_[3],m=_[4];else{if((_=a.exec(u))||(_=d.exec(u)),!(_&&_.length>=4)){t+=u+"\n";continue}f=_[1],h=_[2],p=_[3],m=0|_[4]}var g=!1;if(8&e){var y=emscripten_source_map.originalPositionFor({line:p,column:m});(g=y&&y.source)&&(64&e&&(y.source=y.source.substring(y.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=" at "+f+" ("+y.source+":"+y.line+":"+y.column+")\n")}(16&e||!g)&&(64&e&&(h=h.substring(h.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(g?" = "+f:" at "+f)+" ("+h+":"+p+":"+m+")\n"),128&e&&s[0]&&(s[1]==f&&s[2].length>0&&(t=t.replace(/\s+$/,""),t+=" with values: "+s[1]+s[2]+"\n"),s=sr(s[0]))}return t.replace(/\s+$/,"")}(e)),1&e?4&e?console.error(t):2&e?console.warn(t):512&e?console.info(t):256&e?console.debug(t):console.log(t):6&e?S(t):w(t)}function ar(e){try{return b.grow(e-M.byteLength+65535>>>16),Q(b.buffer),1}catch(t){S("emscripten_realloc_buffer: Attempted to grow heap from "+M.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}var dr={};function lr(){if(!lr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:i||"./this.program"};for(var t in dr)void 0===dr[t]?delete e[t]:e[t]=dr[t];var r=[];for(var t in e)r.push(t+"="+e[t]);lr.strings=r}return lr.strings}var cr=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Pe.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ur=365,fr=146;function hr(e,t,r){var i=r>0?r:P(e)+1,n=new Array(i),s=I(e,n,0,n.length);return t&&(n.length=s),n}Object.defineProperties(cr.prototype,{read:{get:function(){return(this.mode&ur)===ur},set:function(e){e?this.mode|=ur:this.mode&=-366}},write:{get:function(){return(this.mode&fr)===fr},set:function(e){e?this.mode|=fr:this.mode&=-147}},isFolder:{get:function(){return Pe.isDir(this.mode)}},isDevice:{get:function(){return Pe.isChrdev(this.mode)}}}),Pe.FSNode=cr,Pe.staticInit(),Fe={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ne=e}(),je=t.BindingError=We(Error,"BindingError"),qe=t.InternalError=We(Error,"InternalError"),bt.prototype.isAliasOf=Ze,bt.prototype.clone=_t,bt.prototype.delete=gt,bt.prototype.isDeleted=yt,bt.prototype.deleteLater=vt,t.getInheritedInstanceCount=st,t.getLiveInheritedInstances=ot,t.flushPendingDeletes=dt,t.setDelayFunction=ct,Dt.prototype.getPointee=Tt,Dt.prototype.destructor=kt,Dt.prototype.argPackAdvance=8,Dt.prototype.readValueFromPointer=Ut,Dt.prototype.deleteObject=Ct,Dt.prototype.fromWireType=pt,Ft=t.UnboundTypeError=We(Error,"UnboundTypeError"),t.count_emval_handles=Wt,t.get_first_emval=jt;var pr={__syscall_fcntl64:function(e,t,r){Me.varargs=r;try{var i=Me.getStreamFromFD(e);switch(t){case 0:return(n=Me.get())<0?-28:Pe.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=Me.get();return i.flags|=n,0;case 5:n=Me.get();return z[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return s=28,G[yr()>>2]=s,-1}}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return-e.errno}var s},__syscall_openat:function(e,t,r,i){Me.varargs=i;try{t=Me.getStr(t),t=Me.calculateAt(e,t);var n=i?Me.get():0;return Pe.open(t,r,n).fd}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return-e.errno}},_embind_register_bigint:function(e,t,r,i,n){},_embind_register_bool:function(e,t,r,i,n){var s=Re(r);Je(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:n},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=R;else if(2===r)i=z;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=G}return this.fromWireType(i[e>>s])},destructorFunction:null})},_embind_register_class:function(e,r,i,n,s,o,a,d,l,c,u,f,h){u=ze(u),o=It(s,o),d&&(d=It(a,d)),c&&(c=It(l,c)),h=It(f,h);var p=$e(u);!function(e,r,i){t.hasOwnProperty(e)?((void 0===i||void 0!==t[e].overloadTable&&void 0!==t[e].overloadTable[i])&&Ye("Cannot register public name '"+e+"' twice"),wt(t,e,e),t.hasOwnProperty(i)&&Ye("Cannot register multiple overloads of a function with the same number of arguments ("+i+")!"),t[e].overloadTable[i]=r):(t[e]=r,void 0!==i&&(t[e].numArguments=i))}(p,(function(){Mt("Cannot construct "+u+" due to unbound types",[n])})),Xe([e,r,i],n?[n]:[],(function(r){var i,s;r=r[0],s=n?(i=r.registeredClass).instancePrototype:bt.prototype;var a=Ve(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new je("Use 'new' to construct "+u);if(void 0===f.constructor_body)throw new je(u+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new je("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(s,{constructor:{value:a}});a.prototype=l;var f=new St(u,a,l,h,i,o,d,c),m=new Dt(u,f,!0,!1,!1),_=new Dt(u+"*",f,!1,!1,!1),g=new Dt(u+" const*",f,!1,!0,!1);return nt[e]={pointerType:_,constPointerType:g},function(e,r,i){t.hasOwnProperty(e)||Ke("Replacing nonexistant public symbol"),void 0!==t[e].overloadTable&&void 0!==i?t[e].overloadTable[i]=r:(t[e]=r,t[e].argCount=i)}(p,a),[m,_,g]}))},_embind_register_class_constructor:function(e,t,r,i,n,s){k(t>0);var o=Rt(t,r);n=It(i,n),Xe([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new je("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{Mt("Cannot construct "+e.name+" due to unbound types",o)},Xe([],o,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ot(r,i,null,n,s),[]})),[]}))},_embind_register_class_function:function(e,t,r,i,n,s,o,a){var d=Rt(r,i);t=ze(t),s=It(n,s),Xe([],[e],(function(e){var i=(e=e[0]).name+"."+t;function n(){Mt("Cannot call "+i+" due to unbound types",d)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,c=l[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===r-2?(n.argCount=r-2,n.className=e.name,l[t]=n):(wt(l,t,i),l[t].overloadTable[r-2]=n),Xe([],d,(function(n){var a=Ot(i,n,e,s,o);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))},_embind_register_class_property:function(e,t,r,i,n,s,o,a,d,l){t=ze(t),n=It(i,n),Xe([],[e],(function(e){var i=(e=e[0]).name+"."+t,c={get:function(){Mt("Cannot access "+i+" due to unbound types",[r,o])},enumerable:!0,configurable:!0};return c.set=d?()=>{Mt("Cannot access "+i+" due to unbound types",[r,o])}:e=>{Ye(i+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,c),Xe([],d?[r,o]:[r],(function(r){var o=r[0],c={get:function(){var t=Gt(this,e,i+" getter");return o.fromWireType(n(s,t))},enumerable:!0};if(d){d=It(a,d);var u=r[1];c.set=function(t){var r=Gt(this,e,i+" setter"),n=[];d(l,r,u.toWireType(n,t)),Nt(n)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,c),[]})),[]}))},_embind_register_emval:function(e,t){Je(e,{name:t=ze(t),fromWireType:function(e){var t=Yt.toValue(e);return Vt(e),t},toWireType:function(e,t){return Yt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Ut,destructorFunction:null})},_embind_register_float:function(e,t,r){var i=Re(r);Je(e,{name:t=ze(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+qt(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:Kt(t,i),destructorFunction:null})},_embind_register_integer:function(e,t,r,i,n){t=ze(t),-1===n&&(n=4294967295);var s=Re(r),o=e=>e;if(0===i){var a=32-8*r;o=e=>e<>>a}var d=t.includes("unsigned"),l=(e,r)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+qt(e)+'" to '+r);if(en)throw new TypeError('Passing a number "'+qt(e)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+i+", "+n+"]!")};Je(e,{name:t,fromWireType:o,toWireType:d?function(e,t){return l(t,this.name),t>>>0}:function(e,t){return l(t,this.name),t},argPackAdvance:8,readValueFromPointer:Xt(t,s,0!==i),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=H,r=t[e>>=2],n=t[e+1];return new i(M,n,r)}Je(e,{name:r=ze(r),fromWireType:n,argPackAdvance:8,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var r="std::string"===(t=ze(t));Je(e,{name:t,fromWireType:function(e){var t,i=H[e>>2];if(r)for(var n=e+4,s=0;s<=i;++s){var o=e+4+s;if(s==i||0==N[o]){var a=L(n,o-n);void 0===t?t=a:(t+=String.fromCharCode(0),t+=a),n=o+1}}else{var d=new Array(i);for(s=0;sP(t):()=>t.length)(),s=_r(4+n+1);if(H[s>>2]=n,r&&i)F(t,s+4,n+1);else if(i)for(var o=0;o255&&(mr(s),Ye("String has UTF-16 code units that do not fit in 8 bits")),N[s+4+o]=a}else for(o=0;oO,a=1):4===t&&(i=K,n=X,o=J,s=()=>H,a=2),Je(e,{name:r,fromWireType:function(e){for(var r,n=H[e>>2],o=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==o[c>>a]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return mr(e),r},toWireType:function(e,i){"string"!=typeof i&&Ye("Cannot pass non-string to C++ string type "+r);var s=o(i),d=_r(4+s+t);return H[d>>2]=s>>a,n(i,d+4,s+t),null!==e&&e.push(mr,d),d},argPackAdvance:8,readValueFromPointer:Ut,destructorFunction:function(e){mr(e)}})},_embind_register_void:function(e,t){Je(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emscripten_date_now:function(){return Date.now()},_emval_as:function(e,t,r){e=Yt.toValue(e),t=Jt(t,"emval::as");var i=[],n=Yt.toHandle(i);return G[r>>2]=n,t.toWireType(i,e)},_emval_call_void_method:function(e,t,r,i){var n,s;(e=Qt[e])(t=Yt.toValue(t),r=void 0===(s=Zt[n=r])?ze(n):s,null,i)},_emval_decref:Vt,_emval_get_method_caller:function(e,t){var r=function(e,t){for(var r=new Array(e),i=0;i>2)+i],"parameter "+i);return r}(e,t),i=r[0],n=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",s=er[n];if(void 0!==s)return s;for(var o=["retType"],a=[i],d="",l=0;l4&&($t[e].refcount+=1)},_emval_run_destructors:function(e){Nt(Yt.toValue(e)),Vt(e)},_emval_take_value:function(e,t){var r=(e=Jt(e,"_emval_take_value")).readValueFromPointer(t);return Yt.toHandle(r)},_gmtime_js:function(e,t){var r=new Date(1e3*G[e>>2]);G[t>>2]=r.getUTCSeconds(),G[t+4>>2]=r.getUTCMinutes(),G[t+8>>2]=r.getUTCHours(),G[t+12>>2]=r.getUTCDate(),G[t+16>>2]=r.getUTCMonth(),G[t+20>>2]=r.getUTCFullYear()-1900,G[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/864e5|0;G[t+28>>2]=n},_localtime_js:function(e,t){var r=new Date(1e3*G[e>>2]);G[t>>2]=r.getSeconds(),G[t+4>>2]=r.getMinutes(),G[t+8>>2]=r.getHours(),G[t+12>>2]=r.getDate(),G[t+16>>2]=r.getMonth(),G[t+20>>2]=r.getFullYear()-1900,G[t+24>>2]=r.getDay();var i=new Date(r.getFullYear(),0,1),n=(r.getTime()-i.getTime())/864e5|0;G[t+28>>2]=n,G[t+36>>2]=-60*r.getTimezoneOffset();var s=new Date(r.getFullYear(),6,1).getTimezoneOffset(),o=i.getTimezoneOffset(),a=0|(s!=o&&r.getTimezoneOffset()==Math.min(o,s));G[t+32>>2]=a},_mktime_js:function(e){var t=new Date(G[e+20>>2]+1900,G[e+16>>2],G[e+12>>2],G[e+8>>2],G[e+4>>2],G[e>>2],0),r=G[e+32>>2],i=t.getTimezoneOffset(),n=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),o=n.getTimezoneOffset(),a=Math.min(o,s);if(r<0)G[e+32>>2]=Number(s!=o&&a==i);else if(r>0!=(a==i)){var d=Math.max(o,s),l=r>0?a:d;t.setTime(t.getTime()+6e4*(l-i))}G[e+24>>2]=t.getDay();var c=(t.getTime()-n.getTime())/864e5|0;return G[e+28>>2]=c,G[e>>2]=t.getSeconds(),G[e+4>>2]=t.getMinutes(),G[e+8>>2]=t.getHours(),G[e+12>>2]=t.getDate(),G[e+16>>2]=t.getMonth(),t.getTime()/1e3|0},_tzset_js:function e(t,r,i){e.called||(e.called=!0,function(e,t,r){var i=(new Date).getFullYear(),n=new Date(i,0,1),s=new Date(i,6,1),o=n.getTimezoneOffset(),a=s.getTimezoneOffset(),d=Math.max(o,a);function l(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}G[e>>2]=60*d,G[t>>2]=Number(o!=a);var c=l(n),u=l(s),f=Z(c),h=Z(u);a>2]=f,G[r+4>>2]=h):(G[r>>2]=h,G[r+4>>2]=f)}(t,r,i))},abort:function(){_e("native code called abort()")},emscripten_log:function(e,t,r){or(e,D(nr(t,r),0))},emscripten_resize_heap:function(e){var t=N.length;k((e>>>=0)>t);var r,i,n=2147483648;if(e>n)return S("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+"2147483648 bytes!"),!1;for(var s=1;s<=4;s*=2){var o=t*(1+.2/s);o=Math.min(o,e+100663296);var a=Math.min(n,(r=Math.max(e,o))+((i=65536)-r%i)%i);if(ar(a))return!0}return S("Failed to grow the heap from "+t+" bytes to "+a+" bytes, not enough memory!"),!1},environ_get:function(e,t){var r=0;return lr().forEach((function(i,n){var s=t+r;G[e+4*n>>2]=s,function(e,t,r){for(var i=0;i>0]=e.charCodeAt(i);r||(R[t>>0]=0)}(i,s),r+=i.length+1})),0},environ_sizes_get:function(e,t){var r=lr();G[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),G[t>>2]=i,0},fd_close:function(e){try{var t=Me.getStreamFromFD(e);return Pe.close(t),0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_fdstat_get:function(e,t){try{var r=Me.getStreamFromFD(e),i=r.tty?2:Pe.isDir(r.mode)?3:Pe.isLink(r.mode)?7:4;return R[t>>0]=i,0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_read:function(e,t,r,i){try{var n=Me.getStreamFromFD(e),s=Me.doReadv(n,t,r);return G[i>>2]=s,0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_seek:function(e,t,r,i,n){try{var s=Me.getStreamFromFD(e),o=4294967296*r+(t>>>0),a=9007199254740992;return o<=-a||o>=a?-61:(Pe.llseek(s,o,i),ve=[s.position>>>0,(ye=s.position,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],G[n>>2]=ve[0],G[n+4>>2]=ve[1],s.getdents&&0===o&&0===i&&(s.getdents=null),0)}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_write:function(e,t,r,i){try{var n=Me.getStreamFromFD(e),s=Me.doWritev(n,t,r);return G[i>>2]=s,0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},setTempRet0:function(e){}};!function(){var e={env:pr,wasi_snapshot_preview1:pr};function r(e,r){var i,n=e.exports;t.asm=n,k(b=t.asm.memory,"memory not found in wasm exports"),Q(b.buffer),k(te=t.asm.__indirect_function_table,"table not found in wasm exports"),i=t.asm.__wasm_call_ctors,oe.unshift(i),me("wasm-instantiate")}pe("wasm-instantiate");var i=t;function s(e){k(t===i,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),i=null,r(e.instance)}function o(t){return function(){if(!v&&(n||d)){if("function"==typeof fetch&&!we(ge))return fetch(ge,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ge+"'";return e.arrayBuffer()})).catch((function(){return Ee(ge)}));if(f)return new Promise((function(e,t){f(ge,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return Ee(ge)}))}().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){S("failed to asynchronously prepare wasm: "+e),we(ge)&&S("warning: Loading from a file URI ("+ge+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),_e(e)}))}if(t.instantiateWasm)try{return t.instantiateWasm(e,r)}catch(e){return S("Module.instantiateWasm callback failed with error: "+e),!1}v||"function"!=typeof WebAssembly.instantiateStreaming||be(ge)||we(ge)||"function"!=typeof fetch?o(s):fetch(ge,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(s,(function(e){return S("wasm streaming compile failed: "+e),S("falling back to ArrayBuffer instantiation"),o(s)}))}))}(),t.___wasm_call_ctors=Se("__wasm_call_ctors");var mr=t._free=Se("free"),_r=t._malloc=Se("malloc"),gr=t._strlen=Se("strlen"),yr=t.___errno_location=Se("__errno_location"),vr=t.___getTypeName=Se("__getTypeName");t.___embind_register_native_and_builtin_types=Se("__embind_register_native_and_builtin_types");var br=t.___stdio_exit=Se("__stdio_exit"),wr=t._emscripten_builtin_memalign=Se("emscripten_builtin_memalign"),Sr=t._emscripten_stack_init=function(){return(Sr=t._emscripten_stack_init=t.asm.emscripten_stack_init).apply(null,arguments)};t._emscripten_stack_get_free=function(){return(t._emscripten_stack_get_free=t.asm.emscripten_stack_get_free).apply(null,arguments)},t._emscripten_stack_get_base=function(){return(t._emscripten_stack_get_base=t.asm.emscripten_stack_get_base).apply(null,arguments)};var Er,Ar=t._emscripten_stack_get_end=function(){return(Ar=t._emscripten_stack_get_end=t.asm.emscripten_stack_get_end).apply(null,arguments)};function Br(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function xr(e){function r(){Er||(Er=!0,t.calledRun=!0,T||(ne(),k(!de),de=!0,t.noFSInit||Pe.init.initialized||Pe.init(),Pe.ignorePermissions=!1,Ae(oe),t.onRuntimeInitialized&&t.onRuntimeInitialized(),k(!t._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(ne(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)e=t.postRun.shift(),ae.unshift(e);var e;Ae(ae)}()))}le>0||(Sr(),ie(),function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)e=t.preRun.shift(),se.unshift(e);var e;Ae(se)}(),le>0||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),r()}),1)):r(),ne()))}if(t.stackSave=Se("stackSave"),t.stackRestore=Se("stackRestore"),t.stackAlloc=Se("stackAlloc"),t.dynCall_ijiii=Se("dynCall_ijiii"),t.dynCall_viiijj=Se("dynCall_viiijj"),t.dynCall_jij=Se("dynCall_jij"),t.dynCall_jii=Se("dynCall_jii"),t.dynCall_jiji=Se("dynCall_jiji"),t._ff_h264_cabac_tables=112940,U("intArrayFromString",!1),U("intArrayToString",!1),U("ccall",!1),U("cwrap",!1),U("setValue",!1),U("getValue",!1),U("allocate",!1),U("UTF8ArrayToString",!1),U("UTF8ToString",!1),U("stringToUTF8Array",!1),U("stringToUTF8",!1),U("lengthBytesUTF8",!1),U("stackTrace",!1),U("addOnPreRun",!1),U("addOnInit",!1),U("addOnPreMain",!1),U("addOnExit",!1),U("addOnPostRun",!1),U("writeStringToMemory",!1),U("writeArrayToMemory",!1),U("writeAsciiToMemory",!1),U("addRunDependency",!0),U("removeRunDependency",!0),U("FS_createFolder",!1),U("FS_createPath",!0),U("FS_createDataFile",!0),U("FS_createPreloadedFile",!0),U("FS_createLazyFile",!0),U("FS_createLink",!1),U("FS_createDevice",!0),U("FS_unlink",!0),U("getLEB",!1),U("getFunctionTables",!1),U("alignFunctionTables",!1),U("registerFunctions",!1),U("addFunction",!1),U("removeFunction",!1),U("prettyPrint",!1),U("dynCall",!1),U("getCompilerSetting",!1),U("print",!1),U("printErr",!1),U("getTempRet0",!1),U("setTempRet0",!1),U("callMain",!1),U("abort",!1),U("keepRuntimeAlive",!1),U("ptrToString",!1),U("zeroMemory",!1),U("stringToNewUTF8",!1),U("emscripten_realloc_buffer",!1),U("ENV",!1),U("ERRNO_CODES",!1),U("ERRNO_MESSAGES",!1),U("setErrNo",!1),U("inetPton4",!1),U("inetNtop4",!1),U("inetPton6",!1),U("inetNtop6",!1),U("readSockaddr",!1),U("writeSockaddr",!1),U("DNS",!1),U("getHostByName",!1),U("Protocols",!1),U("Sockets",!1),U("getRandomDevice",!1),U("traverseStack",!1),U("UNWIND_CACHE",!1),U("convertPCtoSourceLocation",!1),U("readAsmConstArgsArray",!1),U("readAsmConstArgs",!1),U("mainThreadEM_ASM",!1),U("jstoi_q",!1),U("jstoi_s",!1),U("getExecutableName",!1),U("listenOnce",!1),U("autoResumeAudioContext",!1),U("dynCallLegacy",!1),U("getDynCaller",!1),U("dynCall",!1),U("setWasmTableEntry",!1),U("getWasmTableEntry",!1),U("handleException",!1),U("runtimeKeepalivePush",!1),U("runtimeKeepalivePop",!1),U("callUserCallback",!1),U("maybeExit",!1),U("safeSetTimeout",!1),U("asmjsMangle",!1),U("asyncLoad",!1),U("alignMemory",!1),U("mmapAlloc",!1),U("reallyNegative",!1),U("unSign",!1),U("reSign",!1),U("formatString",!1),U("PATH",!1),U("PATH_FS",!1),U("SYSCALLS",!1),U("getSocketFromFD",!1),U("getSocketAddress",!1),U("JSEvents",!1),U("registerKeyEventCallback",!1),U("specialHTMLTargets",!1),U("maybeCStringToJsString",!1),U("findEventTarget",!1),U("findCanvasEventTarget",!1),U("getBoundingClientRect",!1),U("fillMouseEventData",!1),U("registerMouseEventCallback",!1),U("registerWheelEventCallback",!1),U("registerUiEventCallback",!1),U("registerFocusEventCallback",!1),U("fillDeviceOrientationEventData",!1),U("registerDeviceOrientationEventCallback",!1),U("fillDeviceMotionEventData",!1),U("registerDeviceMotionEventCallback",!1),U("screenOrientation",!1),U("fillOrientationChangeEventData",!1),U("registerOrientationChangeEventCallback",!1),U("fillFullscreenChangeEventData",!1),U("registerFullscreenChangeEventCallback",!1),U("registerRestoreOldStyle",!1),U("hideEverythingExceptGivenElement",!1),U("restoreHiddenElements",!1),U("setLetterbox",!1),U("currentFullscreenStrategy",!1),U("restoreOldWindowedStyle",!1),U("softFullscreenResizeWebGLRenderTarget",!1),U("doRequestFullscreen",!1),U("fillPointerlockChangeEventData",!1),U("registerPointerlockChangeEventCallback",!1),U("registerPointerlockErrorEventCallback",!1),U("requestPointerLock",!1),U("fillVisibilityChangeEventData",!1),U("registerVisibilityChangeEventCallback",!1),U("registerTouchEventCallback",!1),U("fillGamepadEventData",!1),U("registerGamepadEventCallback",!1),U("registerBeforeUnloadEventCallback",!1),U("fillBatteryEventData",!1),U("battery",!1),U("registerBatteryEventCallback",!1),U("setCanvasElementSize",!1),U("getCanvasElementSize",!1),U("demangle",!1),U("demangleAll",!1),U("jsStackTrace",!1),U("stackTrace",!1),U("getEnvStrings",!1),U("checkWasiClock",!1),U("writeI53ToI64",!1),U("writeI53ToI64Clamped",!1),U("writeI53ToI64Signaling",!1),U("writeI53ToU64Clamped",!1),U("writeI53ToU64Signaling",!1),U("readI53FromI64",!1),U("readI53FromU64",!1),U("convertI32PairToI53",!1),U("convertU32PairToI53",!1),U("dlopenMissingError",!1),U("setImmediateWrapped",!1),U("clearImmediateWrapped",!1),U("polyfillSetImmediate",!1),U("uncaughtExceptionCount",!1),U("exceptionLast",!1),U("exceptionCaught",!1),U("ExceptionInfo",!1),U("exception_addRef",!1),U("exception_decRef",!1),U("Browser",!1),U("setMainLoop",!1),U("wget",!1),U("FS",!1),U("MEMFS",!1),U("TTY",!1),U("PIPEFS",!1),U("SOCKFS",!1),U("_setNetworkCallback",!1),U("tempFixedLengthArray",!1),U("miniTempWebGLFloatBuffers",!1),U("heapObjectForWebGLType",!1),U("heapAccessShiftForWebGLHeap",!1),U("GL",!1),U("emscriptenWebGLGet",!1),U("computeUnpackAlignedImageSize",!1),U("emscriptenWebGLGetTexPixelData",!1),U("emscriptenWebGLGetUniform",!1),U("webglGetUniformLocation",!1),U("webglPrepareUniformLocationsBeforeFirstUse",!1),U("webglGetLeftBracePos",!1),U("emscriptenWebGLGetVertexAttrib",!1),U("writeGLArray",!1),U("AL",!1),U("SDL_unicode",!1),U("SDL_ttfContext",!1),U("SDL_audio",!1),U("SDL",!1),U("SDL_gfx",!1),U("GLUT",!1),U("EGL",!1),U("GLFW_Window",!1),U("GLFW",!1),U("GLEW",!1),U("IDBStore",!1),U("runAndAbortIfError",!1),U("InternalError",!1),U("BindingError",!1),U("UnboundTypeError",!1),U("PureVirtualError",!1),U("init_embind",!1),U("throwInternalError",!1),U("throwBindingError",!1),U("throwUnboundTypeError",!1),U("ensureOverloadTable",!1),U("exposePublicSymbol",!1),U("replacePublicSymbol",!1),U("extendError",!1),U("createNamedFunction",!1),U("registeredInstances",!1),U("getBasestPointer",!1),U("registerInheritedInstance",!1),U("unregisterInheritedInstance",!1),U("getInheritedInstance",!1),U("getInheritedInstanceCount",!1),U("getLiveInheritedInstances",!1),U("registeredTypes",!1),U("awaitingDependencies",!1),U("typeDependencies",!1),U("registeredPointers",!1),U("registerType",!1),U("whenDependentTypesAreResolved",!1),U("embind_charCodes",!1),U("embind_init_charCodes",!1),U("readLatin1String",!1),U("getTypeName",!1),U("heap32VectorToArray",!1),U("requireRegisteredType",!1),U("getShiftFromSize",!1),U("integerReadValueFromPointer",!1),U("enumReadValueFromPointer",!1),U("floatReadValueFromPointer",!1),U("simpleReadValueFromPointer",!1),U("runDestructors",!1),U("new_",!1),U("craftInvokerFunction",!1),U("embind__requireFunction",!1),U("tupleRegistrations",!1),U("structRegistrations",!1),U("genericPointerToWireType",!1),U("constNoSmartPtrRawPointerToWireType",!1),U("nonConstNoSmartPtrRawPointerToWireType",!1),U("init_RegisteredPointer",!1),U("RegisteredPointer",!1),U("RegisteredPointer_getPointee",!1),U("RegisteredPointer_destructor",!1),U("RegisteredPointer_deleteObject",!1),U("RegisteredPointer_fromWireType",!1),U("runDestructor",!1),U("releaseClassHandle",!1),U("finalizationRegistry",!1),U("detachFinalizer_deps",!1),U("detachFinalizer",!1),U("attachFinalizer",!1),U("makeClassHandle",!1),U("init_ClassHandle",!1),U("ClassHandle",!1),U("ClassHandle_isAliasOf",!1),U("throwInstanceAlreadyDeleted",!1),U("ClassHandle_clone",!1),U("ClassHandle_delete",!1),U("deletionQueue",!1),U("ClassHandle_isDeleted",!1),U("ClassHandle_deleteLater",!1),U("flushPendingDeletes",!1),U("delayFunction",!1),U("setDelayFunction",!1),U("RegisteredClass",!1),U("shallowCopyInternalPointer",!1),U("downcastPointer",!1),U("upcastPointer",!1),U("validateThis",!1),U("char_0",!1),U("char_9",!1),U("makeLegalFunctionName",!1),U("emval_handle_array",!1),U("emval_free_list",!1),U("emval_symbols",!1),U("init_emval",!1),U("count_emval_handles",!1),U("get_first_emval",!1),U("getStringOrSymbol",!1),U("Emval",!1),U("emval_newers",!1),U("craftEmvalAllocator",!1),U("emval_get_global",!1),U("emval_methodCallers",!1),U("emval_registeredMethods",!1),U("warnOnce",!1),U("stackSave",!1),U("stackRestore",!1),U("stackAlloc",!1),U("AsciiToString",!1),U("stringToAscii",!1),U("UTF16ToString",!1),U("stringToUTF16",!1),U("lengthBytesUTF16",!1),U("UTF32ToString",!1),U("stringToUTF32",!1),U("lengthBytesUTF32",!1),U("allocateUTF8",!1),U("allocateUTF8OnStack",!1),t.writeStackCookie=ie,t.checkStackCookie=ne,x("ALLOC_NORMAL",!1),x("ALLOC_STACK",!1),ue=function e(){Er||xr(),Er||(ue=e)},t.run=xr,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();xr(),e.exports=t})),u=1e-6,f="undefined"!=typeof Float32Array?Float32Array:Array;function h(){var e=new f(16);return f!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function p(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var m,_=function(e,t,r,i,n,s,o){var a=1/(t-r),d=1/(i-n),l=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*a,e[13]=(n+i)*d,e[14]=(o+s)*l,e[15]=1,e};function g(e,t,r){var i=new f(3);return i[0]=e,i[1]=t,i[2]=r,i}m=new f(3),f!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0);var y=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=c(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=c(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},n=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const n=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:n}}(),s=l(),o=l(),a=l(),d=l();function l(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function c(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function f(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const s=h();_(s,-1,1,-1,1,.1,100);const l=h();p(l);const c=h();!function(e,t,r,i){var n,s,o,a,d,l,c,f,h,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),n=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const qt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],Kt=qt,Xt=qt;function Jt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Zt(e){return Qt(e)&&e[1]===It}function Qt(e){return e[0]>>4===je}const er=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function tr(e){let t=new Uint8Array(e),r=null,i=0,n=0,s=0,o=null;if(i=n=t[0]>>>3,s=(7&t[0])<<1|t[1]>>>7,s<0||s>=er.length)return void console.error("Flv: AAC invalid sampling frequency index!");let a=er[s],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(o=(7&t[1])<<1|t[2]>>>7,t[2]);let l=jt.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?s>=6?(i=5,r=new Array(4),o=s-3):(i=2,r=new Array(2),o=s):-1!==l.indexOf("android")?(i=2,r=new Array(2),o=s):(i=5,o=s,r=new Array(4),s>=6?o=s-3:1===d&&(i=2,r=new Array(2),o=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:a,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+n}}class rr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,n=(6&e[r+1])>>>1,s=1&e[r+1],o=(192&e[r+2])>>>6,a=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===s?7:9,u=l-c;r+=c;let f=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=f,0!==i&&1!==i||0!==n)continue;let h=e.subarray(r,r+u);t={},t.audio_object_type=o+1,t.sampling_freq_index=a,t.sampling_frequency=Kt[a],t.channel_config=d,t.data=h}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class ir{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,n=(31&t[i+1])<<8|t[i+2];if(i+3+n>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let s=new Yt(t.subarray(i+3,i+3+n)),o=null;if(s.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n),s.destroy();continue}o=e}else{let e=s.readBool();if(e&&s.readBool()){console.error("audioMuxVersionA is Not Supported"),s.destroy();break}if(e&&this.getLATMValue(s),!s.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),s.destroy();break}if(0!==s.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),s.destroy();break}if(0!==s.readBits(4)){console.error("more than 2 numProgram Not Supported"),s.destroy();break}if(0!==s.readBits(3)){console.error("more than 2 numLayer Not Supported"),s.destroy();break}let t=e?this.getLATMValue(s):0,r=s.readBits(5);t-=5;let i=s.readBits(4);t-=4;let n=s.readBits(4);t-=4,s.readBits(3),t-=3,t>0&&s.readBits(t);let a=s.readBits(3);if(0!==a){console.error(`frameLengthType = ${a}. Only frameLengthType = 0 Supported`),s.destroy();break}s.readByte();let d=s.readBool();if(d)if(e)this.getLATMValue(s);else{let e=0;for(;;){e<<=8;let t=s.readBool();if(e+=s.readByte(),!t)break}console.log(e)}s.readBool()&&s.readByte(),o={},o.audio_object_type=r,o.sampling_freq_index=i,o.sampling_frequency=Kt[o.sampling_freq_index],o.channel_config=n,o.other_data_present=d}let a=0;for(;;){let e=s.readByte();if(a+=e,255!==e)break}let d=new Uint8Array(a);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function sr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let n,s=0;for(;s+t>>=8),s+=t,n){if(s+n>r)break;i.push(e.subarray(s,s+n)),s+=n}return i}function or(e,t){const r=e.length;let i=t?2:1,n=0,s=0,o="";for(;255===e[i];)n+=255,i++;for(n+=e[i++];255===e[i];)s+=255,i++;if(s+=e[i++],5===n&&r>i+16)for(let t=0;t<16;t++)o+=e[i].toString(16),i++;return{payload:e.subarray(i),type:n,size:s,uuid:o}}function ar(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function dr(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function lr(){return(new Date).getTime()}function cr(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function ur(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function fr(e){let t=0,r=ur();return i=>{if(n=i,"[object Number]"!==Object.prototype.toString.call(n))return;var n;t+=i;const s=ur(),o=s-r;o>=1e3&&(e(t/o*1e3),r=s,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function hr(e){return null==e}function pr(e){return!hr(e)}function mr(e){return"function"==typeof e}function _r(e){let t=null,r=31&e[0];return r!==Xe&&r!==Je||(t=Ve),t||(r=(126&e[0])>>1,r!==ut&&r!==ht&&r!==mt||(t=We)),t}function gr(){return"undefined"!=typeof WritableStream}function yr(e){e.close()}function vr(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,n=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,n=2)}if(r)for(let s=n;s=1e3){e[s-1].ts-r.ts<1e3&&(i=s+1)}}}return i}function br(e){return e.ok&&e.status>=200&&e.status<=299}function wr(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(L)}function Sr(e){return e[0]>>4===Ft&&e[1]===It}function Er(e){return!0===e||"true"===e}function Ar(e){return!0!==e&&"true"!==e}function Br(){return!!(jt.Worker&&jt.MediaSource&&"canConstructInDedicatedWorker"in jt.MediaSource&&!0===jt.MediaSource.canConstructInDedicatedWorker)}function xr(e,t){const r=sr(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===st||r===at||r===lt)||Ar(t)&&r===Ze)&&(i=!0)})),i}var Ur=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{d(i.next(e))}catch(e){s(e)}}function a(e){try{d(i.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}d((i=i.apply(e,t||[])).next())}))};const Tr=Symbol(32),kr=Symbol(16),Cr=Symbol(8);class Dr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Ur(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(Tr)}readU16(){return this.read(kr)}readU8(){return this.read(Cr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===Tr){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===kr){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===Cr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}Dr.U32=Tr,Dr.U16=kr,Dr.U8=Cr;class Lr{constructor(e){this.log=function(t){if(e._opt.debugLevel==U){const s=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n1?r-1:0),n=1;n1?i-1:0),s=1;s=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseSPS(e){let t=Ir._ebsp2rbsp(e),r=new Yt(t);r.readByte();let i=r.readByte();r.readByte();let n=r.readByte();r.readUEG();let s=Ir.getProfileString(i),o=Ir.getLevelString(n),a=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(a=r.readUEG(),3===a&&r.readBits(1),a<=3&&(d=l[a]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==a?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,B=2*e,S=A/B}}let x=1;1===b&&1===w||(x=b/w);let U=0,T=0;if(0===a)U=1,T=2-m;else{U=3===a?1:2,T=(1===a?2:1)*(2-m)}let k=16*(h+1),C=16*(p+1)*(2-m);k-=(_+g)*U,C-=(y+v)*T;let D=Math.ceil(k*x);return r.destroy(),r=null,{profile_string:s,level_string:o,bit_depth:c,ref_frames:f,chroma_format:d,chroma_format_string:Ir.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:B,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:k,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Ir._ebsp2rbsp(e),n=new Yt(i);n.readByte();let s=n.readByte();n.readByte();let o=n.readByte();n.readUEG();let a=Ir.getProfileString(s),d=Ir.getLevelString(o),l=1,c=420,u=[0,420,422,444],f=8,h=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(l=n.readUEG(),3===l&&n.readBits(1),l<=3&&(c=u[l]),f=n.readUEG()+8,h=n.readUEG()+8,n.readBits(1),n.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=n.readByte()<<8|n.readByte(),A=n.readByte()<<8|n.readByte())}if(n.readBool()&&n.readBool(),n.readBool()&&(n.readBits(4),n.readBool()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n.readUEG()),n.readBool()){let e=n.readBits(32),t=n.readBits(32);x=n.readBool(),U=t,T=2*e,B=U/T}}let k=1;1===E&&1===A||(k=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let L=16*(_+1),I=16*(g+1)*(2-y);L-=(v+b)*C,I-=(w+S)*D;let F=Math.ceil(L*k);return n.destroy(),n=null,{codec_mimetype:r,profile_idc:s,level_idc:o,profile_string:a,level_string:d,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:h,ref_frames:m,chroma_format:c,chroma_format_string:Ir.getChromaFormatString(c),frame_rate:{fixed:x,fps:B,fps_den:T,fps_num:U},sar_ratio:{width:E,height:A},codec_size:{width:L,height:I},present_size:{width:F,height:I}}}static _skipScalingList(e,t){let r=8,i=8,n=0;for(let s=0;s=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Mr(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Rr(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,n=!1;const s=Ir.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(n=!0,i+=4);let o=new Uint8Array(i);o[0]=1,o[1]=t[1],o[2]=t[2],o[3]=t[3],o[4]=255,o[5]=225;let a=t.byteLength;o[6]=a>>>8,o[7]=255&a;let d=8;o.set(t,8),d+=a,o[d]=1;let l=r.byteLength;o[d+1]=l>>>8,o[d+2]=255&l,o.set(r,d+3),d+=3+l,n&&(o[d]=252|s.chroma_format_idc,o[d+1]=248|s.bit_depth_luma-8,o[d+2]=248|s.bit_depth_chroma-8,o[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+o.byteLength);return u.set(c,0),u.set(o,c.length),u}function Nr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function zr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Or(e){return 31&e[0]}function Gr(e){return e===tt}function Hr(e){return!function(e){return e===Xe||e===Je}(e)&&!Gr(e)}function $r(e){return e===Ze}function Vr(e){if(0===e.length)return!1;const t=Or(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,i>=nt||0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class jr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Yr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},qr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class Kr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseVPS(e){let t=Kr._ebsp2rbsp(e),r=new Yt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=Kr._ebsp2rbsp(e),r=new Yt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,o=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),f=r.readByte(),h=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(F=t[e-1],P=i[e-1]):255===e&&(F=r.readBits(16),P=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),L=r.readBool(),L&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),N=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let s=!0,o=1;n||(s=r.readBool());let a=!1;if(s?r.readUEG():a=r.readBool(),a||(o=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],n=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=Yr(e),r=new Yt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),o=(e=>{let t=Yr(e),r=new Yt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,o=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),f=r.readByte(),h=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(F=t[e-1],P=i[e-1]):255===e&&(F=r.readBits(16),P=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),L=r.readBool(),L&&(i+=r.readUEG(),n+=r.readUEG(),s+=r.readUEG(),o+=r.readUEG()),r.readBool()&&(R=r.readBits(32),N=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let s=!1,o=1;n||(s=r.readBool());let a=!1;if(s?r.readSEG():a=r.readBool(),a||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=Yr(e),r=new Yt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),s=1;return n&&i?s=0:n?s=3:i&&(s=2),{parallelismType:s}})(r);n=Object.assign(n,s,o,a);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,l[2]=n.general_profile_compatibility_flags_1||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n.general_profile_compatibility_flags_3||0,l[5]=n.general_profile_compatibility_flags_4||0,l[6]=n.general_constraint_indicator_flags_1||0,l[7]=n.general_constraint_indicator_flags_2||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n.general_constraint_indicator_flags_4||0,l[10]=n.general_constraint_indicator_flags_5||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,l[14]=255&n.min_spatial_segmentation_idc,l[15]=252|3&n.parallelismType,l[16]=252|3&n.chroma_format_idc,l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|ut,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|ht,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|mt,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function ei(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ti(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ri(e){return(126&e[0])>>1}function ii(e){return e===gt}function ni(e){return!function(e){return e>=32&&e<=40}(e)}function si(e){return e>=16&&e<=21}function oi(e){if(0===e.length)return!1;const t=ri(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class di{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function li(e){return parseInt(e)===e}function ci(e){if(!li(e.length))return!1;for(var t=0;t255)return!1;return!0}function ui(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!ci(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(li(e.length)&&ci(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function fi(e){return new Uint8Array(e)}function hi(e,t,r,i,n){null==i&&null==n||(e=e.slice?e.slice(i,n):Array.prototype.slice.call(e,i,n)),t.set(e,r)}var pi,mi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},_i=(pi="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+pi[15&i])}return t.join("")}}),gi={16:10,24:12,32:14},yi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],vi=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],bi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],wi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Si=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Ei=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Ai=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Bi=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],xi=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ui=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Ti=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ki=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Ci=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Di=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Li=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Ii(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=s[t],this._Kd[e-r][t%4]=s[t];for(var o,a=0,d=n;d>16&255]<<24^vi[o>>8&255]<<16^vi[255&o]<<8^vi[o>>24&255]^yi[a]<<24,a+=1,8!=n)for(t=1;t>8&255]<<8^vi[o>>16&255]<<16^vi[o>>24&255]<<24;for(t=n/2+1;t>2,c=d%4,this._Ke[l][c]=s[t],this._Kd[e-l][c]=s[t++],d++}for(var l=1;l>24&255]^Ci[o>>16&255]^Di[o>>8&255]^Li[255&o]},Fi.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Ii(e),n=0;n<4;n++)i[n]^=this._Ke[0][n];for(var s=1;s>24&255]^Si[i[(n+1)%4]>>16&255]^Ei[i[(n+2)%4]>>8&255]^Ai[255&i[(n+3)%4]]^this._Ke[s][n];i=r.slice()}var o,a=fi(16);for(n=0;n<4;n++)o=this._Ke[t][n],a[4*n]=255&(vi[i[n]>>24&255]^o>>24),a[4*n+1]=255&(vi[i[(n+1)%4]>>16&255]^o>>16),a[4*n+2]=255&(vi[i[(n+2)%4]>>8&255]^o>>8),a[4*n+3]=255&(vi[255&i[(n+3)%4]]^o);return a},Fi.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Ii(e),n=0;n<4;n++)i[n]^=this._Kd[0][n];for(var s=1;s>24&255]^xi[i[(n+3)%4]>>16&255]^Ui[i[(n+2)%4]>>8&255]^Ti[255&i[(n+1)%4]]^this._Kd[s][n];i=r.slice()}var o,a=fi(16);for(n=0;n<4;n++)o=this._Kd[t][n],a[4*n]=255&(bi[i[n]>>24&255]^o>>24),a[4*n+1]=255&(bi[i[(n+3)%4]>>16&255]^o>>16),a[4*n+2]=255&(bi[i[(n+2)%4]>>8&255]^o>>8),a[4*n+3]=255&(bi[255&i[(n+1)%4]]^o);return a};var Pi=function(e){if(!(this instanceof Pi))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Fi(e)};Pi.prototype.encrypt=function(e){if((e=ui(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=fi(e.length),r=fi(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},zi.prototype.setBytes=function(e){if(16!=(e=ui(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},zi.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Oi=function(e,t){if(!(this instanceof Oi))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof zi||(t=new zi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Fi(e)};Oi.prototype.encrypt=function(e){for(var t=ui(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-s%4*8&255;t[i+s>>>2]|=o<<24-(i+s)%4*8}else for(var a=0;a>>2]=r[a>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new c.init(r,t/2)}},h=u.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new c.init(r,t)}},p=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},m=o.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,s=i.sigBytes,o=this.blockSize,a=s/(4*o),d=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,l=e.min(4*d,s);if(d){for(var u=0;u>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.WordArray,i=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535);i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=n(e.charCodeAt(s)<<16-s%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],s=0,o=0;o>>6-o%4*2;n[s>>>2]|=a<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var n=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(t[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|t[s+2>>>2]>>>24-(s+2)%4*8&255,a=0;a<4&&s+.75*a>>6*(3-a)&63));var d=i.charAt(64);if(d)for(;n.length%4;)n.push(d);return n.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-o%4*2;n[s>>>2]|=a<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var s=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,d=0;d<4&&o+.75*d>>6*(3-d)&63));var l=n.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var o=0;o>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words,o=e[t+0],d=e[t+1],h=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],B=e[t+14],x=e[t+15],U=s[0],T=s[1],k=s[2],C=s[3];U=l(U,T,k,C,o,7,a[0]),C=l(C,U,T,k,d,12,a[1]),k=l(k,C,U,T,h,17,a[2]),T=l(T,k,C,U,p,22,a[3]),U=l(U,T,k,C,m,7,a[4]),C=l(C,U,T,k,_,12,a[5]),k=l(k,C,U,T,g,17,a[6]),T=l(T,k,C,U,y,22,a[7]),U=l(U,T,k,C,v,7,a[8]),C=l(C,U,T,k,b,12,a[9]),k=l(k,C,U,T,w,17,a[10]),T=l(T,k,C,U,S,22,a[11]),U=l(U,T,k,C,E,7,a[12]),C=l(C,U,T,k,A,12,a[13]),k=l(k,C,U,T,B,17,a[14]),U=c(U,T=l(T,k,C,U,x,22,a[15]),k,C,d,5,a[16]),C=c(C,U,T,k,g,9,a[17]),k=c(k,C,U,T,S,14,a[18]),T=c(T,k,C,U,o,20,a[19]),U=c(U,T,k,C,_,5,a[20]),C=c(C,U,T,k,w,9,a[21]),k=c(k,C,U,T,x,14,a[22]),T=c(T,k,C,U,m,20,a[23]),U=c(U,T,k,C,b,5,a[24]),C=c(C,U,T,k,B,9,a[25]),k=c(k,C,U,T,p,14,a[26]),T=c(T,k,C,U,v,20,a[27]),U=c(U,T,k,C,A,5,a[28]),C=c(C,U,T,k,h,9,a[29]),k=c(k,C,U,T,y,14,a[30]),U=u(U,T=c(T,k,C,U,E,20,a[31]),k,C,_,4,a[32]),C=u(C,U,T,k,v,11,a[33]),k=u(k,C,U,T,S,16,a[34]),T=u(T,k,C,U,B,23,a[35]),U=u(U,T,k,C,d,4,a[36]),C=u(C,U,T,k,m,11,a[37]),k=u(k,C,U,T,y,16,a[38]),T=u(T,k,C,U,w,23,a[39]),U=u(U,T,k,C,A,4,a[40]),C=u(C,U,T,k,o,11,a[41]),k=u(k,C,U,T,p,16,a[42]),T=u(T,k,C,U,g,23,a[43]),U=u(U,T,k,C,b,4,a[44]),C=u(C,U,T,k,E,11,a[45]),k=u(k,C,U,T,x,16,a[46]),U=f(U,T=u(T,k,C,U,h,23,a[47]),k,C,o,6,a[48]),C=f(C,U,T,k,y,10,a[49]),k=f(k,C,U,T,B,15,a[50]),T=f(T,k,C,U,_,21,a[51]),U=f(U,T,k,C,E,6,a[52]),C=f(C,U,T,k,p,10,a[53]),k=f(k,C,U,T,w,15,a[54]),T=f(T,k,C,U,d,21,a[55]),U=f(U,T,k,C,v,6,a[56]),C=f(C,U,T,k,x,10,a[57]),k=f(k,C,U,T,g,15,a[58]),T=f(T,k,C,U,A,21,a[59]),U=f(U,T,k,C,m,6,a[60]),C=f(C,U,T,k,S,10,a[61]),k=f(k,C,U,T,h,15,a[62]),T=f(T,k,C,U,b,21,a[63]),s[0]=s[0]+U|0,s[1]=s[1]+T|0,s[2]=s[2]+k|0,s[3]=s[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296),o=i;r[15+(n+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),r[14+(n+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,d=a.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return a},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,n,s,o){var a=e+(t&r|~t&i)+n+o;return(a<>>32-s)+t}function c(e,t,r,i,n,s,o){var a=e+(t&i|r&~i)+n+o;return(a<>>32-s)+t}function u(e,t,r,i,n,s,o){var a=e+(t^r^i)+n+o;return(a<>>32-s)+t}function f(e,t,r,i,n,s,o){var a=e+(r^(t|~i))+n+o;return(a<>>32-s)+t}t.MD5=s._createHelper(d),t.HmacMD5=s._createHmacHelper(d)}(Math),r.MD5)})),l((function(e,t){var r,i,n,s,o,a,d,l;e.exports=(i=(r=l=Hi).lib,n=i.WordArray,s=i.Hasher,o=r.algo,a=[],d=o.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],d=r[4],l=0;l<80;l++){if(l<16)a[l]=0|e[t+l];else{var c=a[l-3]^a[l-8]^a[l-14]^a[l-16];a[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+a[l];u+=l<20?1518500249+(n&s|~n&o):l<40?1859775393+(n^s^o):l<60?(n&s|n&o|s&o)-1894007588:(n^s^o)-899497514,d=o,o=s,s=n<<30|n>>>2,n=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=s._createHelper(d),r.HmacSHA1=s._createHmacHelper(d),l.SHA1)})),l((function(e,t){var r;e.exports=(r=Hi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.algo,a=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,n=0;n<64;)t(i)&&(n<8&&(a[n]=r(e.pow(i,.5))),d[n]=r(e.pow(i,1/3)),n++),i++}();var l=[],c=o.SHA256=s.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],a=r[4],c=r[5],u=r[6],f=r[7],h=0;h<64;h++){if(h<16)l[h]=0|e[t+h];else{var p=l[h-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[h-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[h]=m+l[h-7]+g+l[h-16]}var y=i&n^i&s^n&s,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&c^~a&u)+d[h]+l[h];f=u,u=c,c=a,a=o+b|0,o=s,s=n,n=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+a|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(i/4294967296),r[15+(n+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=s._createHelper(c),t.HmacSHA256=s._createHmacHelper(c)}(Math),r.SHA256)})),l((function(e,t){var r,i,n,s,o,a;e.exports=(i=(r=a=Hi).lib.WordArray,n=r.algo,s=n.SHA256,o=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=s._createHelper(o),r.HmacSHA224=s._createHmacHelper(o),a.SHA224)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.Hasher,i=e.x64,n=i.Word,s=i.WordArray,o=e.algo;function a(){return n.create.apply(n,arguments)}var d=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var c=o.SHA512=t.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],a=r[4],c=r[5],u=r[6],f=r[7],h=i.high,p=i.low,m=n.high,_=n.low,g=s.high,y=s.low,v=o.high,b=o.low,w=a.high,S=a.low,E=c.high,A=c.low,B=u.high,x=u.low,U=f.high,T=f.low,k=h,C=p,D=m,L=_,I=g,F=y,P=v,M=b,R=w,N=S,z=E,O=A,G=B,H=x,$=U,V=T,W=0;W<80;W++){var j,Y,q=l[W];if(W<16)Y=q.high=0|e[t+2*W],j=q.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,J=K.low,Z=(X>>>1|J<<31)^(X>>>8|J<<24)^X>>>7,Q=(J>>>1|X<<31)^(J>>>8|X<<24)^(J>>>7|X<<25),ee=l[W-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),se=l[W-7],oe=se.high,ae=se.low,de=l[W-16],le=de.high,ce=de.low;Y=(Y=(Y=Z+oe+((j=Q+ae)>>>0>>0?1:0))+ie+((j+=ne)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),q.high=Y,q.low=j}var ue,fe=R&z^~R&G,he=N&O^~N&H,pe=k&D^k&I^D&I,me=C&L^C&F^L&F,_e=(k>>>28|C<<4)^(k<<30|C>>>2)^(k<<25|C>>>7),ge=(C>>>28|k<<4)^(C<<30|k>>>2)^(C<<25|k>>>7),ye=(R>>>14|N<<18)^(R>>>18|N<<14)^(R<<23|N>>>9),ve=(N>>>14|R<<18)^(N>>>18|R<<14)^(N<<23|R>>>9),be=d[W],we=be.high,Se=be.low,Ee=$+ye+((ue=V+ve)>>>0>>0?1:0),Ae=ge+me;$=G,V=H,G=z,H=O,z=R,O=N,R=P+(Ee=(Ee=(Ee=Ee+fe+((ue+=he)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+Y+((ue+=j)>>>0>>0?1:0))+((N=M+ue|0)>>>0>>0?1:0)|0,P=I,M=F,I=D,F=L,D=k,L=C,k=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=h+k+(p>>>0>>0?1:0),_=n.low=_+L,n.high=m+D+(_>>>0>>0?1:0),y=s.low=y+F,s.high=g+I+(y>>>0>>0?1:0),b=o.low=b+M,o.high=v+P+(b>>>0>>0?1:0),S=a.low=S+N,a.high=w+R+(S>>>0>>0?1:0),A=c.low=A+O,c.high=E+z+(A>>>0>>0?1:0),x=u.low=x+H,u.high=B+G+(x>>>0>>0?1:0),T=f.low=T+V,f.high=U+$+(T>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),l((function(e,t){var r,i,n,s,o,a,d,l;e.exports=(i=(r=l=Hi).x64,n=i.Word,s=i.WordArray,o=r.algo,a=o.SHA512,d=o.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=a._createHelper(d),r.HmacSHA384=a._createHmacHelper(d),l.SHA384)})),l((function(e,t){var r;e.exports=(r=Hi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.x64.Word,a=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,s=0;s<24;s++){for(var a=0,u=0,f=0;f<7;f++){if(1&n){var h=(1<>>24)|4278255360&(s<<24|s>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),(T=r[n]).high^=o,T.low^=s}for(var a=0;a<24;a++){for(var f=0;f<5;f++){for(var h=0,p=0,m=0;m<5;m++)h^=(T=r[f+5*m]).high,p^=T.low;var _=u[f];_.high=h,_.low=p}for(f=0;f<5;f++){var g=u[(f+4)%5],y=u[(f+1)%5],v=y.high,b=y.low;for(h=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(T=r[f+5*m]).high^=h,T.low^=p}for(var w=1;w<25;w++){var S=(T=r[w]).high,E=T.low,A=d[w];A<32?(h=S<>>32-A,p=E<>>32-A):(h=E<>>64-A,p=S<>>64-A);var B=u[l[w]];B.high=h,B.low=p}var x=u[0],U=r[0];for(x.high=U.high,x.low=U.low,f=0;f<5;f++)for(m=0;m<5;m++){var T=r[w=f+5*m],k=u[w],C=u[(f+1)%5+5*m],D=u[(f+2)%5+5*m];T.high=k.high^~C.high&D.high,T.low=k.low^~C.low&D.low}T=r[0];var L=c[a];T.high^=L.high,T.low^=L.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,s=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/s)*s>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var o=this._state,a=this.cfg.outputLength/8,d=a/8,l=[],c=0;c>>24)|4278255360&(f<<24|f>>>8),h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),l.push(h),l.push(f)}return new n.init(l,a)},clone:function(){for(var e=s.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=s._createHelper(f),t.HmacSHA3=s._createHmacHelper(f)}(Math),r.SHA3)})),l((function(e,t){var r;e.exports=(r=Hi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.algo,a=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),f=n.create([1352829926,1548603684,1836072691,2053994217,0]),h=o.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s,o,h,b,w,S,E,A,B,x,U,T=this._hash.words,k=u.words,C=f.words,D=a.words,L=d.words,I=l.words,F=c.words;for(S=s=T[0],E=o=T[1],A=h=T[2],B=b=T[3],x=w=T[4],r=0;r<80;r+=1)U=s+e[t+D[r]]|0,U+=r<16?p(o,h,b)+k[0]:r<32?m(o,h,b)+k[1]:r<48?_(o,h,b)+k[2]:r<64?g(o,h,b)+k[3]:y(o,h,b)+k[4],U=(U=v(U|=0,I[r]))+w|0,s=w,w=b,b=v(h,10),h=o,o=U,U=S+e[t+L[r]]|0,U+=r<16?y(E,A,B)+C[0]:r<32?g(E,A,B)+C[1]:r<48?_(E,A,B)+C[2]:r<64?m(E,A,B)+C[3]:p(E,A,B)+C[4],U=(U=v(U|=0,F[r]))+x|0,S=x,x=B,B=v(A,10),A=E,E=U;U=T[1]+h+B|0,T[1]=T[2]+b+x|0,T[2]=T[3]+w+S|0,T[3]=T[4]+s+E|0,T[4]=T[0]+o+A|0,T[0]=U},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,s=n.words,o=0;o<5;o++){var a=s[o];s[o]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return n},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=s._createHelper(h),t.HmacRIPEMD160=s._createHmacHelper(h)}(),r.RIPEMD160)})),l((function(e,t){var r,i,n;e.exports=(i=(r=Hi).lib.Base,n=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var s=this._oKey=t.clone(),o=this._iKey=t.clone(),a=s.words,d=o.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:h,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?s.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=s.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),s=n.finalize(t),o=n.cfg;return m.create({ciphertext:s,key:r,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=s.random(8)),n)o=l.create({keySize:t+r,hasher:n}).compute(e,i);else var o=l.create({keySize:t+r}).compute(e,i);var a=s.create(o.words.slice(t),4*r);return o.sigBytes=4*t,m.create({key:o,iv:a,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var s=g.encrypt.call(this,e,t,n.key,i);return s.mixIn(n),s},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,g.decrypt.call(this,e,t,n.key,i)}})}())})),l((function(e,t){var r;e.exports=((r=Hi).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,s=this._iv;s?(n=s.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var o=0;o>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var n=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,s=this._iv,o=this._counter;s&&(o=this._counter=s.slice(0),this._iv=void 0),i(o);var a=o.slice(0);r.encryptBlock(a,0);for(var d=0;d>>2]|=n<<24-s%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),l((function(e,t){var r;e.exports=((r=Hi).pad.Iso10126={pad:function(e,t){var i=4*t,n=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(n-1)).concat(r.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),l((function(e,t){var r;e.exports=((r=Hi).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),l((function(e,t){var r;e.exports=((r=Hi).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),l((function(e,t){var r;e.exports=((r=Hi).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),l((function(e,t){var r;e.exports=(r=Hi,function(e){var t=r,i=t.lib.CipherParams,n=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){var t=n.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,n=[],s=[],o=[],a=[],d=[],l=[],c=[],u=[],f=[],h=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,n[r]=p,s[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;o[r]=y<<24|y>>>8,a[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,f[p]=y<<8|y>>>24,h[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),s=this._keySchedule=[],o=0;o6&&o%r==4&&(l=n[l>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l]):(l=n[(l=l<<8|l>>>24)>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l],l^=p[o/r|0]<<24),s[o]=s[o-r]^l);for(var a=this._invKeySchedule=[],d=0;d>>24]]^u[n[l>>>16&255]]^f[n[l>>>8&255]]^h[n[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,a,d,l,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,f,h,s),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,n,s,o,a){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],f=e[t+3]^r[3],h=4,p=1;p>>24]^n[c>>>16&255]^s[u>>>8&255]^o[255&f]^r[h++],_=i[c>>>24]^n[u>>>16&255]^s[f>>>8&255]^o[255&l]^r[h++],g=i[u>>>24]^n[f>>>16&255]^s[l>>>8&255]^o[255&c]^r[h++],y=i[f>>>24]^n[l>>>16&255]^s[c>>>8&255]^o[255&u]^r[h++];l=m,c=_,u=g,f=y}m=(a[l>>>24]<<24|a[c>>>16&255]<<16|a[u>>>8&255]<<8|a[255&f])^r[h++],_=(a[c>>>24]<<24|a[u>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^r[h++],g=(a[u>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&c])^r[h++],y=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[c>>>8&255]<<8|a[255&u])^r[h++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib,i=t.WordArray,n=t.BlockCipher,s=e.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=s.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=o[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],s=0;s<16;s++){var l=n[s]=[],c=d[s];for(r=0;r<24;r++)l[r/6|0]|=t[(a[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(a[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),h.call(this,2,858993459),h.call(this,8,16711935),f.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],s=this._lBlock,o=this._rBlock,a=0,d=0;d<8;d++)a|=l[d][((o^n[d])&c[d])>>>0];this._lBlock=o,this._rBlock=s^a}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,f.call(this,1,1431655765),h.call(this,8,16711935),h.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),r.TripleDES)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var s=0;n<256;n++){var o=n%r,a=t[o>>>2]>>>24-o%4*8&255;s=(s+i[n]+a)%256;var d=i[n];i[n]=i[s],i[s]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=s.call(this)},keySize:8,ivSize:0});function s(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var o=i.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)s.call(this)}});e.RC4Drop=t._createHelper(o)}(),r.RC4)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],o=[],a=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var s=t.words,o=s[0],a=s[1],l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&c,f=c<<16|65535&l;for(n[0]^=l,n[1]^=u,n[2]^=c,n[3]^=f,n[4]^=l,n[5]^=u,n[6]^=c,n[7]^=f,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=d^l}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=t._createHelper(a)}(),r.Rabbit)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],o=[],a=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var n=0;n<4;n++)d.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var s=t.words,o=s[0],a=s[1],l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&c,f=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=f,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=f,n=0;n<4;n++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=d^l}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=t._createHelper(a)}(),r.RabbitLegacy)})),l((function(e,t){var r;e.exports=(r=Hi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const n=16,s=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var a={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,n=t>>8&255,s=255&t,o=e.sbox[0][r]+e.sbox[1][i];return o^=e.sbox[2][n],o+=e.sbox[3][s],o}function l(e,t,r){let i,s=t,o=r;for(let t=0;t1;--t)s^=e.pbox[t],o=d(e,s)^o,i=s,s=o,o=i;return i=s,s=o,o=i,o^=e.pbox[1],s^=e.pbox[0],{left:s,right:o}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=o[t][r]}let i=0;for(let o=0;o=r&&(i=0);let a=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let s=5;for(;sn)break;let a=e[s+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=e.slice(s+4+2,s+4+o);let n=new Gi.ModeOfOperation.ctr(t,new Gi.Counter(r));const a=n.decrypt(i);n=null,e.set(a,s+4+2)}s=s+4+o}return e}function Wi(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let n=new Gi.ModeOfOperation.ctr(t,new Gi.Counter(r));const s=n.decrypt(i);return n=null,e.set(s,32),e}l((function(e,t){e.exports=Hi}));var ji=l((function(e,t){var r,n,s,o=(r=new Date,n=4,s={setLogLevel:function(e){n=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=n&&console.info("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console.warn("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},s);o.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+o.getDurationString(e.start(i))+","+o.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=o;var a=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};a.prototype.getPosition=function(){return this.position},a.prototype.getEndPosition=function(){return this.buffer.byteLength},a.prototype.getLength=function(){return this.buffer.byteLength},a.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},a.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},a.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},a.prototype.readUint8=function(){return this.readAnyInt(1,!1)},a.prototype.readUint16=function(){return this.readAnyInt(2,!1)},a.prototype.readUint24=function(){return this.readAnyInt(3,!1)},a.prototype.readUint32=function(){return this.readAnyInt(4,!1)},a.prototype.readUint64=function(){return this.readAnyInt(8,!1)},a.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(i,0,n.length).set(n),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,n){var s=new Uint8Array(e,t,n),o=new Uint8Array(r,i,n);s.set(o)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rn;i--,n++){var s=t[n];t[n]=t[i],t[i]=s}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,o.debug("MultiBufferStream","Stream ready for parsing"),!0):(o.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){o.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}o.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,n,s)}}t&&(o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,n,s,a=[],d="";for(i=0,n=0,t=0;t0&&(d+=s.end-1+"]");var l=e?o.info:o.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+n+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,n=null,s=-1;for(i=!0===e?0:this.bufferIndex;i=t?(o.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,n=void 0!==e?e:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(t=n+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var f={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){f.FullBox.prototype=new f.Box,f.ContainerBox.prototype=new f.Box,f.SampleEntry.prototype=new f.Box,f.TrackGroupTypeBox.prototype=new f.FullBox,f.BASIC_BOXES.forEach((function(e){f.createBoxCtor(e)})),f.FULL_BOXES.forEach((function(e){f.createFullBoxCtor(e)})),f.CONTAINER_BOXES.forEach((function(e){f.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){f.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){f.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){f.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){f.FullBox.call(this,e,t)},createBoxCtor:function(e,t){f.boxCodes.push(e),f[e+"Box"]=function(t){f.Box.call(this,e,t)},f[e+"Box"].prototype=new f.Box,t&&(f[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){f[e+"Box"]=function(t){f.FullBox.call(this,e,t)},f[e+"Box"].prototype=new f.FullBox,f[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(o.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:f.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:a}):0!==l&&a+l>e.getEndPosition()?(e.seek(a),o.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:f.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:a}):t?{code:f.OK,type:c,size:l,hdr_size:d,start:a}:(f[c+"Box"]?i=new f[c+"Box"](l):"uuid"!==c?(o.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new f.Box(c,l)).has_unparsed_data=!0):f.UUIDBoxes[s]?i=new f.UUIDBoxes[s](l):(o.warn("BoxParser","Unknown uuid type: '"+s+"'"),(i=new f.Box(c,l)).uuid=s,i.has_unparsed_data=!0),i.hdr_size=d,i.start=a,i.write===f.Box.prototype.write&&"mdat"!==i.type&&(o.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(n=e.getPosition()-(i.start+i.size))<0?(o.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),e.seek(i.start+i.size)):n>0&&(o.error("BoxParser","Parsing of box '"+u+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:f.OK,box:i,size:i.size})},f.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},f.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},f.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},f.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},f.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},f.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},f.SAMPLE_ENTRY_TYPE_VISUAL="Visual",f.SAMPLE_ENTRY_TYPE_AUDIO="Audio",f.SAMPLE_ENTRY_TYPE_HINT="Hint",f.SAMPLE_ENTRY_TYPE_METADATA="Metadata",f.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",f.SAMPLE_ENTRY_TYPE_SYSTEM="System",f.SAMPLE_ENTRY_TYPE_TEXT="Text",f.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},f.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},f.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},f.SampleEntry.prototype.parseFooter=function(e){f.ContainerBox.prototype.parse.call(this,e)},f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_HINT),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SYSTEM),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_TEXT),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),f.createMediaSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_TEXT,"enct"),f.createEncryptedSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_METADATA,"encm"),f.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),f.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),f.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),f.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)o.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void o.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else o.error("av1C reserved_1 parsing problem");else o.error("av1C version "+this.version+" not supported")})),f.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),f.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),f.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),f.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),f.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),f.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),f.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),f.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),f.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=n>>1&31,i.bsmod=(1&n)<<4|s>>4&15,i.acmod=s>>1&7,i.lfeon=1&s,i.num_dep_sub=o>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&o)<<8|e.readUint8())}})),f.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),n=Math.min(127&i,r.length-1);if(n?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[n]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),f.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),f.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),f.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),f.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),f.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),f.createBoxCtor("hvcC",(function(e){var t,r,i,n;this.configurationVersion=e.readUint8(),n=e.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),n=e.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var s=e.readUint8();for(t=0;t>7,o.nalu_type=63&n;var a=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),f.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),o.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),f.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?o.property_index=(127&s)<<8|e.readUint8():o.property_index=127&s}}})),f.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&n,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:o.warn("BoxParser","Unknown leva assignement type")}}})),f.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),f.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),h.prototype.toString=function(){return"("+this.x+","+this.y+")"},f.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new h(e.readUint16(),e.readUint16()),this.display_primaries[1]=new h(e.readUint16(),e.readUint16()),this.display_primaries[2]=new h(e.readUint16(),e.readUint16()),this.white_point=new h(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),f.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),f.createFullBoxCtor("mehd",(function(e){1&this.flags&&(o.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),f.createFullBoxCtor("meta",(function(e){this.boxes=[],f.ContainerBox.prototype.parse.call(this,e)})),f.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),f.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),f.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),f.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),f.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),f.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),f.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),f.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),f.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),f.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),f.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),f.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),f.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),f.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)o.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=f.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),f.createSampleGroupCtor("stsa",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),f.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),f.createSampleGroupCtor("tsas",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("tscl",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createSampleGroupCtor("vipr",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),f.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),f.createFullBoxCtor("senc"),f.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),o.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&n,i.subsegment_duration=e.readUint32(),n=e.readUint32(),i.starts_with_SAP=n>>31&1,i.SAP_type=n>>28&7,i.SAP_delta_time=268435455&n}})),f.SingleItemTypeReferenceBox=function(e,t,r,i){f.Box.call(this,e,t),this.hdr_size=r,this.start=i},f.SingleItemTypeReferenceBox.prototype=new f.Box,f.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=f.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),f.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),f.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&f.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),f.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),f.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),f.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),f.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),f.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),f.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),f.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},f.createTrackGroupCtor("msrc"),f.TrackReferenceTypeBox=function(e,t,r,i){f.Box.call(this,e,t),this.hdr_size=r,this.start=i},f.TrackReferenceTypeBox.prototype=new f.Box,f.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},f.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&f.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&f.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),f.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),f.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),f.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),f.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=f.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),f.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),f.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=f.parseHex16(e)})),f.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),f.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),f.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var o=i.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=f.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var n=!1,s="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||n)&&(s="."+f.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+s,n=!0);t+=s}return t},f.vvc1SampleEntry.prototype.getCodec=f.vvi1SampleEntry.prototype.getCodec=function(){var e,t=f.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,n=[],s=0;for(s|=this.vvcC.ptl_frame_only_constraint<<7,s|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,n.push(s),s&&(i=e),s=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",a=0,d=0;for(e=0;e<=i;++e)for(a=a<<8|n[e],d+=8;d>=5;){r+=o[a>>d-5&31],a&=(1<<(d-=5))-1}d&&(r+=o[31&(a<<=5-d)])}}t+=r}return t},f.mp4aSampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+f.decimalToHex(t)+(r?"."+r:"")}return e},f.stxtSampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},f.vp08SampleEntry.prototype.getCodec=f.vp09SampleEntry.prototype.getCodec=function(){var e=f.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},f.av01SampleEntry.prototype.getCodec=function(){var e,t=f.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},f.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),o.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},f.FullBox.prototype.writeHeader=function(e){this.size+=4,f.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},f.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},f.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},f.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&f.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&f.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&f.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&f.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&f.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&f.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&f.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},f.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},f.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},f.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&f.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&f.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&f.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&f.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof f.Box||t[r]instanceof f.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||f.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},f.boxEqual=function(e,t){if(!f.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.extractedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=f.parseOneBox(this.stream,false)).code===f.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&o.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(o.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(o.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(o.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(o.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,n,s,o={},a=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(a+1e3*this.moov.mvhd.creation_time),o.modified=new Date(a+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],e=0;e0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(o.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(o.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var s=n.lastValidSample;se*n.timescale){l=i-1;break}t&&n.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return s=r.samples[l].offset+r.samples[l].alreadyRead,o.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+o.getDurationString(e,a)+" and offset: "+s),{offset:s,time:e/a}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,n,s=this.moov,a={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){o=d;break}switch(o){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),s.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new f.avcCBox;u.parse(new a(t.avcDecoderConfigRecord)),s.addBox(u)}else if(t.hevcDecoderConfigRecord){var h=new f.hvcCBox;h.parse(new a(t.hevcDecoderConfigRecord)),s.addBox(h)}break;case"Audio":n.add("smhd").set("balance",t.balance||0),s.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":if(n.add("sthd"),"stpp"===t.type)s.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:n.add("nmhd")}t.description&&s.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){s.addBox(e)})),n.add("dinf").add("dref").addEntry((new f["url Box"]).set("flags",1));var p=n.add("stbl");return p.add("stsd").addEntry(s),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},f.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},n={},s=this.getTrackById(e);if(null!==s){n.number=s.samples.length,n.track_id=s.tkhd.track_id,n.timescale=s.mdia.mdhd.timescale,n.description_index=i.sample_description_index?i.sample_description_index-1:0,n.description=s.mdia.minf.stbl.stsd.entries[n.description_index],n.data=t,n.size=t.byteLength,n.alreadyRead=n.size,n.duration=i.duration||1,n.cts=i.cts||0,n.dts=i.dts||0,n.is_sync=i.is_sync||!1,n.is_leading=i.is_leading||0,n.depends_on=i.depends_on||0,n.is_depended_on=i.is_depended_on||0,n.has_redundancy=i.has_redundancy||0,n.degradation_priority=i.degradation_priority||0,n.offset=0,n.subsamples=i.subsamples,s.samples.push(n),s.samples_size+=n.size,s.samples_duration+=n.duration,void 0===s.first_dts&&(s.first_dts=i.dts),this.processSamples();var o=this.createSingleSampleMoof(n);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(t),n}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new f.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),n=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(n.first_dts||0)),i.add("trun").set("flags",f.TRUN_FLAGS_DATA_OFFSET|f.TRUN_FLAGS_DURATION|f.TRUN_FLAGS_SIZE|f.TRUN_FLAGS_FLAGS|f.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,n,s;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=n[o].grouping_type+"/0",(a=new l(n[o].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=a))}else for(o=0;o=2&&(d=i[o].grouping_type+"/0",a=new l(i[o].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=a))},g.setSampleGroupProperties=function(e,t,r,i){var n,s;for(n in t.sample_groups=[],i){var o;if(t.sample_groups[n]={},t.sample_groups[n].grouping_type=i[n].grouping_type,t.sample_groups[n].grouping_type_parameter=i[n].grouping_type_parameter,r>=i[n].last_sample_in_run&&(i[n].last_sample_in_run<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n].entry_index<=i[n].sbgp.entries.length-1&&(i[n].last_sample_in_run+=i[n].sbgp.entries[i[n].entry_index].sample_count)),i[n].entry_index<=i[n].sbgp.entries.length-1?t.sample_groups[n].group_description_index=i[n].sbgp.entries[i[n].entry_index].group_description_index:t.sample_groups[n].group_description_index=-1,0!==t.sample_groups[n].group_description_index)o=i[n].fragment_description?i[n].fragment_description:i[n].description,t.sample_groups[n].group_description_index>0?(s=t.sample_groups[n].group_description_index>65535?(t.sample_groups[n].group_description_index>>16)-1:t.sample_groups[n].group_description_index-1,o&&s>=0&&(t.sample_groups[n].description=o.entries[s])):o&&o.version>=2&&o.default_group_description_index>0&&(t.sample_groups[n].description=o.entries[o.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=s.sample_counts[b]),t>0?(e.samples[t-1].duration=s.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,x.dts=e.samples[t-1].dts+e.samples[t-1].duration):x.dts=0,o?(t>=w&&(S++,w<0&&(w=0),w+=o.sample_counts[S]),x.cts=e.samples[t].dts+o.sample_offsets[S]):x.cts=x.dts,a?(t==a.sample_numbers[E]-1?(x.is_sync=!0,E++):(x.is_sync=!1,x.degradation_priority=0),l&&l.entries[A].sample_delta+B==t+1&&(x.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta,A++)):x.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,x,x.number),x.degradation_priority=f?f.priority[t]:0,l&&l.entries[A].sample_delta+B==t&&(x.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,x,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,n,s,o,a,d,l,c,u,h,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&f.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=o,_.flags&f.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&f.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&f.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&f.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:a,p.offset=0===t&&0===r?b?w+_.data_offset:w:a,a=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var s=(r=this.stream.buffers[n]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=s)return o.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===s)return null;o.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+s+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,s),i.alreadyRead+=s,r.usedBytes+=s,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=s.ipro.protections[s.iinf.item_infos[e].protection_index-1]),s.iinf.item_infos[e].item_type?r.type=s.iinf.item_infos[e].item_type:r.type="mime",r.content_type=s.iinf.item_infos[e].content_type,r.content_encoding=s.iinf.item_infos[e].content_encoding;if(s.grpl)for(e=0;e0&&f.property_index-1-1))return null;var a=(t=this.stream.buffers[s]).byteLength-(n.offset+n.alreadyRead-t.fileStart);if(!(n.length-n.alreadyRead<=a))return o.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+a+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,a),n.alreadyRead+=a,r.alreadyRead+=a,t.usedBytes+=a,this.stream.logBufferLevel(),null;o.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,n.length-n.alreadyRead),t.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},f.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},f.FullBox.prototype.printHeader=function(e){this.size+=4,f.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},f.Box.prototype.print=function(e){this.printHeader(e)},f.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},f.tkhdBox.prototype.print=function(e){f.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function Yi(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}ji.Log,ji.MP4BoxStream,ji.DataStream,ji.MultiBufferStream,ji.MPEG4DescriptorParser,ji.BoxParser,ji.XMLSubtitlein4Parser,ji.Textin4Parser,ji.ISOFile,ji.createFile;const qi=16,Ki=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Xi=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Ji(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Qi(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function en(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function tn(e,t){const r=31&t;return e<>>32-r}function rn(e){return(255&Ki[e>>>24&255])<<24|(255&Ki[e>>>16&255])<<16|(255&Ki[e>>>8&255])<<8|255&Ki[255&e]}function nn(e){return e^tn(e,2)^tn(e,10)^tn(e,18)^tn(e,24)}function sn(e){return e^tn(e,13)^tn(e,23)}function on(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=nn(rn(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=nn(rn(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=nn(rn(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=nn(rn(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function an(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^Xi[r+0],t[r+0]=i[0]^=sn(rn(e)),e=i[2]^i[3]^i[0]^Xi[r+1],t[r+1]=i[1]^=sn(rn(e)),e=i[3]^i[0]^i[1]^Xi[r+2],t[r+2]=i[2]^=sn(rn(e)),e=i[0]^i[1]^i[2]^Xi[r+3],t[r+3]=i[3]^=sn(rn(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function dn(e,t,r){let{padding:i="pkcs#7",mode:n,iv:s=[],output:o="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===n&&("string"==typeof s&&(s=Ji(s)),16!==s.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Ji(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Qi(e):Ji(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=qi-e.length%qi;for(let r=0;r=qi;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===n)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=new Uint8Array(e.slice(0,5)),o=5;for(;on){const t=new Uint8Array(s.length+e.length-o);t.set(s,0),t.set(e.slice(o),s.length),s=t;break}let l=e[o+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=dn(e.slice(o+4+u,o+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const n=new Uint8Array(u);n.set(e.slice(o+4,o+4+u),0);const a=ar(Yi(n,new Uint8Array(r))),l=new Uint8Array(s.length+a.length);l.set(s,0),l.set(a,s.length),s=l}else{const t=e.slice(o+4,o+4+d),r=new Uint8Array(s.length+4+t.length);r.set(s,0),r.set(a,s.length),r.set(t,s.length+4),s=r}o=o+4+d}return s}const un={init:0,findFirstStartCode:1,findSecondStartCode:2};class fn extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){i.off(e,n);for(var s=arguments.length,o=new Array(s),a=0;a1?r-1:0),n=1;n{delete r[e]})),void delete this.e;const i=r[e],n=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=un.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==un.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=un.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==un.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=un.findFirstStartCode}}}}function hn(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=5;for(;sn)break;let a=e[s+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=hn(e.slice(s+4,s+4+o),t,r);e.set(i,s+4)}s=s+4+o}return e}function _n(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.byteLength})),i}class gn{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const n=()=>{mr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(n),n}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class yn{static init(){yn.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in yn.types)yn.types.hasOwnProperty(e)&&(yn.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=yn.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),n=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return yn.box(yn.types.trak,yn.tkhd(e),yn.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,n=e.presentHeight;return yn.box(yn.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,n>>>8&255,255&n,0,0]))}static mdia(e){return yn.box(yn.types.mdia,yn.mdhd(e),yn.hdlr(e),yn.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return yn.box(yn.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?yn.constants.HDLR_AUDIO:yn.constants.HDLR_VIDEO,yn.box(yn.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?yn.box(yn.types.smhd,yn.constants.SMHD):yn.box(yn.types.vmhd,yn.constants.VMHD),yn.box(yn.types.minf,t,yn.dinf(),yn.stbl(e))}static dinf(){return yn.box(yn.types.dinf,yn.box(yn.types.dref,yn.constants.DREF))}static stbl(e){return yn.box(yn.types.stbl,yn.stsd(e),yn.box(yn.types.stts,yn.constants.STTS),yn.box(yn.types.stsc,yn.constants.STSC),yn.box(yn.types.stsz,yn.constants.STSZ),yn.box(yn.types.stco,yn.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?yn.box(yn.types.stsd,yn.constants.STSD_PREFIX,yn.mp3(e)):yn.box(yn.types.stsd,yn.constants.STSD_PREFIX,yn.mp4a(e)):"avc"===e.videoType?yn.box(yn.types.stsd,yn.constants.STSD_PREFIX,yn.avc1(e)):yn.box(yn.types.stsd,yn.constants.STSD_PREFIX,yn.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return yn.box(yn.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return yn.box(yn.types.mp4a,i,yn.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return yn.box(yn.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return yn.box(yn.types.avc1,n,yn.box(yn.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return yn.box(yn.types.hvc1,n,yn.box(yn.types.hvcC,t))}static mvex(e){return yn.box(yn.types.mvex,yn.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return yn.box(yn.types.trex,r)}static moof(e,t){return yn.box(yn.types.moof,yn.mfhd(e.sequenceNumber),yn.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return yn.box(yn.types.mfhd,t)}static traf(e,t){let r=e.id,i=yn.box(yn.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),n=yn.box(yn.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=yn.sdtp(e),o=yn.trun(e,s.byteLength+16+16+8+16+8+8);return yn.box(yn.types.traf,i,n,o,s)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,yn.box(yn.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,n=e.size,s=e.flags,o=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),yn.box(yn.types.trun,r)}static mdat(e){return yn.box(yn.types.mdat,e)}}yn.init();var vn,bn=l((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(vn=bn)&&vn.__esModule&&Object.prototype.hasOwnProperty.call(vn,"default")&&vn.default;const wn=[44100,48e3,32e3,0],Sn=[22050,24e3,16e3,0],En=[11025,12e3,8e3,0],An=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Bn=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],xn=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Un(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,n=(6&t[1])>>1,s=(240&t[2])>>>4,o=(12&t[2])>>>2,a=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=En[o];break;case 2:d=Sn[o];break;case 3:d=wn[o]}switch(n){case 1:s=e[n]&&t=6?(i=5,t=new Array(4),o=n-3):(i=2,t=new Array(2),o=n):-1!==a.indexOf("android")?(i=2,t=new Array(2),o=n):(i=5,o=n,t=new Array(4),n>=6?o=n-3:1===s&&(i=2,t=new Array(2),o=n)),t[0]=i<<3,t[0]|=(15&n)>>>1,t[1]=(15&n)<<7,t[1]|=(15&s)<<3,5===i&&(t[1]|=(15&o)>>>1,t[2]=(1&o)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=Hn[n],this.sampling_index=n,this.channel_count=s,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Wn{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,s=8-i;if(s>=e)return r&&(this.index+=e),n>>s-e;{r&&(this.index+=s);const i=e-s;return n<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function jn(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const Yn=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),qn=new Array(2746333894,1453994832,1736282519,2993693404),Kn=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Xn(e,t,r,i,n){var s=n;s=t+n>e.length&&i+n<=r.length?e.length-t:i+n>r.length&&t+n<=e.length?r.length-i:t+n<=e.length&&i+n<=r.length?n:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Zn(e,t){return t+3>>19)^(i<<23|i>>>9)}function ts(e,t){var r=new Array(36);r[0]=Zn(t,0),r[1]=Zn(t,4),r[2]=Zn(t,8),r[3]=Zn(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^rs(r[i+1]^r[i+2]^r[i+3]^e[i]);var n=new Array(4);for(i=35;i>=32;i--)n[35-i]=r[i];var s=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function is(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Qn(e),n=Math.ceil(r.length/16),s=new Array(r.length),o=t.slice(),a=0;a3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let o=5;for(;os)break;let d=e[o+4],l=!1,c=2;if(i?(n&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=is(t,r,e.slice(o+4+c,o+4+a));e.set(i,o+4+c)}o=o+4+a}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]'),c.postRun=function(){!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=[],s=[],o=null,a=null,d=null,l=null,c=null,u=null,f=!1,h=null,p=null,m=!1,_=!1,g=!!Er(r),U=0,T=0,L=!1,Ue=null,Te=null,Ze=null,nt=[],st=null,at=null,lt=0,gt=0,Ct=null,Dt=null,Ft=0,jt=0,Yt=!1,qt=!1,Kt=!1,er=null,nr=null,ur=!1,Ur=!0,Tr=0,kr=0,Cr=()=>{const e=wr();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(o={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){o.decoder=new VideoDecoder({output:function(e){if(mr(e.createImageBitmap))e.createImageBitmap().then((t=>{o.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:P,buffer:r,delay:ui.delay,ts:0},[r]),yr(e)}));else{o.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:P,buffer:t,delay:ui.delay,ts:0},[t]),yr(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(o.TAG_NAME,"init")},destroy(){o.reset(),o.decoder&&"closed"!==o.decoder.state&&(o.decoder.close(),o.decoder=null),ui.debugLog(o.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(o.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?bt:wt});o.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:G,code:t});const r=new Uint8Array(e);postMessage({cmd:H,buffer:r,codecId:t},[r.buffer]);let i=null,n=null;const s=e.slice(5);t===Ge?(n=Pr(s),i={codec:n.codec,description:s}):t===He&&(n=Jr(s),i={codec:n.codec,description:s}),n&&n.codecWidth&&n.codecHeight&&(i.codedHeight=n.codecHeight,i.codedWidth=n.codecWidth),o.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:F,w:n.codecWidth,h:n.codecHeight}),o.isEmitInfo=!0,o.offscreenCanvas=new OffscreenCanvas(n.codecWidth,n.codecHeight),o.offscreenCanvasCtx=o.offscreenCanvas.getContext("2d"));try{o.decoder.configure(i),o.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){o.hasInit=!1,o.isEmitInfo=!1,o.offscreenCanvas=null,o.offscreenCanvasCtx=null}});let Fr=function(){if(ur=!0,a)try{a.abort(),a=null,ui.debugLog("worker","abort success")}catch(e){a=null,ui.debugLog("worker","abort catch",e)}},Yr={TAG_NAME:"worker nakedFlow",init(){Yr.lastBuf=null,Yr.vps=null,Yr.sps=null,Yr.pps=null,Yr.streamType=null,Yr.localDts=0,Yr.pendingUnits={},Yr.isSendSeqHeader=!1,ui.debugLog(Yr.TAG_NAME,"init")},destroy(){Yr.lastBuf=null,Yr.vps=null,Yr.sps=null,Yr.pps=null,Yr.streamType=null,Yr.localDts=0,Yr.pendingUnits={},Yr.isSendSeqHeader=!1,ui.debugLog(Yr.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=Yr.extractNALu$3(t);if(0===e.length)return void ui.debugLog(Yr.TAG_NAME,"dispatch naluArray length is 0");Yr.handleVideoFrames(e)}else Yr.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=Yr.localDts;return Yr.localDts=Yr.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return Yr.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,n=e.byteLength,s=0,o=[];for(;i1)for(let e=0;e{const t=Or(e);t===Je||t===Xe?Yr.handleVideoH264Nalu(e):Hr(t)&&i.push(e)})),1===i.length)Yr.handleVideoH264Nalu(i[0]);else if(Vr(i)){const e=Or(i[0]),t=$r(e);Yr.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{Yr.handleVideoH264Nalu(e)}))}else if(Yr.streamType===We)if(ui._opt.nakedFlowH265DemuxUseNew){const t=Yr.handleAddNaluStartCode(e),r=Yr.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=ri(e);t===mt||t===ht||t===ut?Yr.handleVideoH265Nalu(e):ni(t)&&i.push(e)})),1===i.length)Yr.handleVideoH265Nalu(i[0]);else if(oi(i)){const e=ri(i[0]),t=si(e);Yr.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{Yr.handleVideoH265Nalu(e)}))}else ri(e)===mt?Yr.extractH265PPS(e):Yr.handleVideoH265Nalu(e)},extractH264PPS(e){const t=Yr.handleAddNaluStartCode(e);Yr.extractNALu(t).forEach((e=>{Gr(Or(e))?Yr.extractH264SEI(e):Yr.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=Yr.handleAddNaluStartCode(e);Yr.extractNALu(t).forEach((e=>{ii(ri(e))?Yr.extractH265SEI(e):Yr.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=Yr.handleAddNaluStartCode(e);Yr.extractNALu(t).forEach((e=>{Yr.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=Yr.handleAddNaluStartCode(e);Yr.extractNALu(t).forEach((e=>{Yr.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=Or(e);switch(t){case Xe:Yr.sps=e;break;case Je:Yr.pps=e}if(Yr.isSendSeqHeader){if(Yr.sps&&Yr.pps){const e=Mr({sps:Yr.sps,pps:Yr.pps}),t=Yr.localDts;ui.decode(e,{type:fe,ts:t,isIFrame:!0,cts:0}),Yr.sps=null,Yr.pps=null}if(Hr(t)){const r=$r(t),i=Yr.getNaluDts(),n=Nr(e,r);Yr.doDecode(n,{type:fe,ts:i,isIFrame:r,cts:0})}}else if(Yr.sps&&Yr.pps){Yr.isSendSeqHeader=!0;const e=Mr({sps:Yr.sps,pps:Yr.pps});ui.decode(e,{type:fe,ts:0,isIFrame:!0,cts:0}),Yr.sps=null,Yr.pps=null}},handleVideoH264NaluList(e,t,r){if(Yr.isSendSeqHeader){const i=Yr.getNaluDts(),n=zr(e.reduce(((e,t)=>{const r=ar(e),i=ar(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Yr.doDecode(n,{type:fe,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=ri(e);switch(t){case ut:Yr.vps=e;break;case ht:Yr.sps=e;break;case mt:Yr.pps=e}if(Yr.isSendSeqHeader){if(Yr.vps&&Yr.sps&&Yr.pps){const e=Qr({vps:Yr.vps,sps:Yr.sps,pps:Yr.pps}),t=Yr.localDts;ui.decode(e,{type:fe,ts:t,isIFrame:!0,cts:0}),Yr.vps=null,Yr.sps=null,Yr.pps=null}if(ni(t)){const r=si(t),i=Yr.getNaluDts(),n=ei(e,r);Yr.doDecode(n,{type:fe,ts:i,isIFrame:r,cts:0})}}else if(Yr.vps&&Yr.sps&&Yr.pps){Yr.isSendSeqHeader=!0;const e=Qr({vps:Yr.vps,sps:Yr.sps,pps:Yr.pps});ui.decode(e,{type:fe,ts:0,isIFrame:!0,cts:0}),Yr.vps=null,Yr.sps=null,Yr.pps=null}},handleVideoH265NaluList(e,t,r){if(Yr.isSendSeqHeader){const i=Yr.getNaluDts(),n=ti(e.reduce(((e,t)=>{const r=ar(e),i=ar(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Yr.doDecode(n,{type:fe,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!Yr.streamVideoType)for(let t of e)if(Yr.streamVideoType=_r(t),Yr.streamVideoType)break;Yr.streamVideoType?Yr.streamVideoType===Ve?Yr.handleVideoH264Frames(e):Yr.streamVideoType===We&&Yr.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,n=!1;Yr.pendingUnits.units&&(t=Yr.pendingUnits.units,n=Yr.pendingUnits.vcl,i=Yr.pendingUnits.iFrame,Yr.pendingUnits={});let s={};for(let o of e){if(o.byteLength<4)continue;const e=Or(o);let a=!1,d=e===et;e!==Qe&&e!==et||(s=Yr.parseVideo264Header(o),a=!0),t.length&&n&&(s.isfms||!a)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(o),i=i||d,n=n||a}t.length&&(Yr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case Je:Yr.pps=e;break;case Xe:Yr.sps=e;break;case tt:n=e}if(Hr(t)){const t=ar(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!Yr.isSendSeqHeader&&Yr.sps&&Yr.pps){Yr.isSendSeqHeader=!0;const e=Rr({sps:Yr.sps,pps:Yr.pps});ui.decode(e,{type:fe,ts:0,isIFrame:!0,cts:0}),Yr.sps=null,Yr.pps=null}if(Yr.isSendSeqHeader){if(Yr.sps&&Yr.pps){const e=Rr({sps:Yr.sps,pps:Yr.pps}),t=Yr.localDts;ui.decode(e,{type:fe,ts:t,isIFrame:!0,cts:0}),Yr.sps=null,Yr.pps=null}if(i){const e=Yr.getNaluDts(),t=zr(i,r);if(ui._opt.isEmitSEI&&n){const t=or(n,!1);postMessage({cmd:re,buffer:t.payload,ts:e},[t.payload.buffer])}Yr.doDecode(t,{type:fe,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,n=!1;Yr.pendingUnits.units&&(t=Yr.pendingUnits.units,n=Yr.pendingUnits.vcl,i=Yr.pendingUnits.iFrame,Yr.pendingUnits={});let s={};for(let o of e){if(o.byteLength<4)continue;const e=ri(o);let a=!1,d=si(e);ni(e)&&(s=Yr.parseVideo265Header(o),a=!0),t.length&&n&&(s.isfms||!a)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(o),i=i||d,n=n||a}t.length&&(Yr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case mt:Yr.pps=e;break;case ht:Yr.sps=e;break;case ut:Yr.vps=e;break;case vt:case yt:n=e}if(ni(t)){const t=ar(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!Yr.isSendSeqHeader&&Yr.sps&&Yr.pps&&Yr.vps){Yr.isSendSeqHeader=!0;const e=Qr({sps:Yr.sps,pps:Yr.pps,vps:Yr.vps});ui.decode(e,{type:fe,ts:0,isIFrame:!0,cts:0}),Yr.sps=null,Yr.pps=null,Yr.vps=null}if(Yr.isSendSeqHeader){if(Yr.sps&&Yr.pps&&Yr.vps){const e=Qr({sps:Yr.sps,pps:Yr.pps,vps:Yr.vps}),t=Yr.localDts;ui.decode(e,{type:fe,ts:t,isIFrame:!0,cts:0}),Yr.sps=null,Yr.pps=null,Yr.vps=null}if(i){const e=Yr.getNaluDts(),t=ti(i,r);if(ui._opt.isEmitSEI&&n){const t=or(n,!0);postMessage({cmd:re,buffer:t.payload,ts:e},[t.payload.buffer])}Yr.doDecode(t,{type:fe,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{Yr.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Wn(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Wn(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},qr={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){qr.mp4Box=ji.createFile(),qr.mp4Box.onReady=qr.onReady,qr.mp4Box.onError=qr.onError,qr.mp4Box.onSamples=qr.onSamples,ui.debugLog(qr.LOG_NAME,"init")},destroy(){qr.mp4Box&&(qr.mp4Box.stop(),qr.mp4Box.flush(),qr.mp4Box.destroy(),qr.mp4Box=null),qr.offset=0,qr.videoTrackId=null,qr.audioTrackId=null,qr.isHevc=!1,ui.debugLog(qr.LOG_NAME,"destroy")},_getSeqHeader(e){const t=qr.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new ji.DataStream(void 0,0,ji.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(qr.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),n=new Uint8Array(r.length+i.length);return n.set(r,0),n.set(i,r.length),n}return null},onReady(e){ui.debugLog(qr.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){qr.videoTrackId=t.id;const e=qr._getSeqHeader(t);e&&(ui.debugLog(qr.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),qr.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){qr.audioTrackId=r.id;const e=r.audio||{},t=Xt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");qr.mp4Box.setExtractionOptions(r.id);const n=Jt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(qr.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(n,0)}qr.mp4Box.start()},onError(e){ui.debugError(qr.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===qr.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let n=null;n=qr.isHevc?ti(t,r):zr(t,r),ui.decode(n,{type:fe,ts:i,isIFrame:r,cts:0})}qr.mp4Box.removeUsedSamples(e)}else if(e===qr.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:ue,ts:r,isIFrame:!1,cts:0})}qr.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(qr.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=qr.offset,qr.offset+=t.byteLength,qr.mp4Box.appendBuffer(t.buffer)}},Zr={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);Zr.extractNALu(t)},destroy(){Zr.lastBuffer=new Uint8Array(0),Zr.parsedOffset=0,Zr.firstStartCodeOffset=0,Zr.secondStartCodeOffset=0,Zr.state="init",Zr.hasInitVideoCodec=!1,Zr.localDts=0,ui.debugLog(Zr.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(Zr.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(Zr.lastBuffer.length+e.length);for(t.set(Zr.lastBuffer,0),t.set(new Uint8Array(e),Zr.lastBuffer.length),Zr.lastBuffer=t;;){if("init"===Zr.state){let e=!1;for(;Zr.lastBuffer.length-Zr.parsedOffset>=4;)if(0===Zr.lastBuffer[Zr.parsedOffset])if(0===Zr.lastBuffer[Zr.parsedOffset+1])if(1===Zr.lastBuffer[Zr.parsedOffset+2]){if(182===Zr.lastBuffer[Zr.parsedOffset+3]){Zr.state="findFirstStartCode",Zr.firstStartCodeOffset=Zr.parsedOffset,Zr.parsedOffset+=4,e=!0;break}Zr.parsedOffset++}else Zr.parsedOffset++;else Zr.parsedOffset++;else Zr.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===Zr.state){let e=!1;for(;Zr.lastBuffer.length-Zr.parsedOffset>=4;)if(0===Zr.lastBuffer[Zr.parsedOffset])if(0===Zr.lastBuffer[Zr.parsedOffset+1])if(1===Zr.lastBuffer[Zr.parsedOffset+2]){if(182===Zr.lastBuffer[Zr.parsedOffset+3]){Zr.state="findSecondStartCode",Zr.secondStartCodeOffset=Zr.parsedOffset,Zr.parsedOffset+=4,e=!0;break}Zr.parsedOffset++}else Zr.parsedOffset++;else Zr.parsedOffset++;else Zr.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===Zr.state){if(!(Zr.lastBuffer.length-Zr.parsedOffset>0))break;{let e,t,r=192&Zr.lastBuffer[Zr.parsedOffset];e=0==r?Zr.secondStartCodeOffset-14:Zr.secondStartCodeOffset;let i=0==(192&Zr.lastBuffer[Zr.firstStartCodeOffset+4]);if(i){if(Zr.firstStartCodeOffset-14<0)return void ui.debugWarn(Zr.LOG_NAME,"firstStartCodeOffset -14 is",Zr.firstStartCodeOffset-14);Zr.hasInitVideoCodec||(Zr.hasInitVideoCodec=!0,ui.debugLog(Zr.LOG_NAME,"setCodec"),hi.setCodec($e,"",ui.getBuildTime())),t=Zr.lastBuffer.subarray(Zr.firstStartCodeOffset-14,e)}else t=Zr.lastBuffer.subarray(Zr.firstStartCodeOffset,e);let n=Zr.getNaluDts();Zr.hasInitVideoCodec?(postMessage({cmd:j,type:Le,value:t.byteLength}),postMessage({cmd:j,type:Ie,value:n}),U=n,hi.decode(t,i?1:0,n)):ui.debugWarn(Zr.LOG_NAME,"has not init video codec"),Zr.lastBuffer=Zr.lastBuffer.subarray(e),Zr.firstStartCodeOffset=0==r?14:0,Zr.parsedOffset=Zr.firstStartCodeOffset+4,Zr.state="findFirstStartCode"}}}},getNaluDts(){let e=Zr.localDts;return Zr.localDts=Zr.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new $n,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let n=0;n=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=_n(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let s=(31&r[1])<<8|r[2],o=(48&r[3])>>>4,a=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==s),l={},c=4;if(2==o||3==o){let e=r[4];if(e>0&&(d||3==o)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==o||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==o||3==o)if(0===s||s===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[s]===Mn){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:s,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[s]){let r=188-c,i=li.pmt_.pid_stream_type[s];s!==li.pmt_.common_pids.h264&&s!==li.pmt_.common_pids.h265&&s!==li.pmt_.common_pids.adts_aac&&s!==li.pmt_.common_pids.loas_aac&&s!==li.pmt_.common_pids.ac3&&s!==li.pmt_.common_pids.eac3&&s!==li.pmt_.common_pids.opus&&s!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[s]&&!0!==li.pmt_.timed_id3_pids[s]&&!0!==li.pmt_.synchronous_klv_pids[s]&&!0!==li.pmt_.asynchronous_klv_pids[s]||li.handlePESSlice(e,t+c,r,{pid:s,stream_type:i,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let o=n[0];if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t+1,Math.min(r,o));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):li.clearSlices(s,i)}for(let a=1+o;a=s.expected_length&&li.clearSlices(s,i),a+=d.byteLength}}else if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t,Math.min(r,s.expected_length-s.total_length));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):s.total_length>=s.expected_length&&li.clearSlices(s,i)}},handlePESSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=n[0]<<16|n[1]<<8|n[2];n[3];let o=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==s)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${s}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new zn,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let a=li.pes_slice_queues_[i.pid];a.slices.push(n),i.payload_unit_start_indicator&&(a.expected_length=0===o?0:o+6),a.total_length+=n.byteLength,a.expected_length>0&&a.expected_length===a.total_length?li.emitPESSlices(a,i):a.expected_length>0&&a.expected_length>>6,a=t[8];2!==o&&3!==o||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,s=3===o?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+a;if(0!==n){if(n<3+a)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=n-3-a}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case Tn:case kn:li.parseMP3Payload(c,r);break;case Cn:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,s,e.pid,i):li.parsePESPrivateDataPayload(c,r,s,e.pid,i));break;case Dn:li.parseADTSAACPayload(c,r);break;case Ln:li.parseLOASAACPayload(c,r);break;case In:case Fn:break;case Pn:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,s,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,s,e.pid,i);break;case Rn:li.parseH264Payload(c,r,s,e.random_access_indicator);break;case Nn:li.parseH265Payload(c,r,s,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Cn){let r,s=6;r=0!==n?n:t.byteLength-s;let o=t.subarray(s,s+r);li.parsePESPrivateDataPayload(o,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,n=1&e[5],s=e[6];e[7];let o=null;if(1===n&&0===s)o={version_number:0,network_pid:0,program_pmt_pid:{}},o.version_number=i;else if(o=li.pat_,null==o)return;let a=r-5-4,d=-1,l=-1;for(let t=8;t<8+a;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?o.network_pid=i:(o.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===n&&0===s&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(o)}`),li.pat_=o,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],s=(62&e[5])>>>1,o=1&e[5],a=e[6];if(e[7],1===o&&0===a)r=li._initPmt(),r.program_number=n,r.version_number=s,li.program_pmt_map_[n]=r;else if(r=li.program_pmt_map_[n],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Qr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Rr({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let n=li.media_info_;n.hasVideo=!0,n.width=t.codecWidth,n.height=t.codecHeight,n.fps=t.frameRate.fps,n.profile=t.profile,n.level=t.level,n.refFrames=e.ref_frames,n.chromaFormat=e.chroma_format_string,n.sarNum=t.sarRatio.width,n.sarDen=t.sarRatio.height,n.videoCodec=t.codec,n.hasAudio&&n.audioCodec?n.mimeType=`video/mp2t; codecs="${n.videoCodec},${n.audioCodec}"`:n.mimeType=`video/mp2t; codecs="${n.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new rr(e),o=null,a=i;for(;null!=(o=s.readNextAACFrame());){r=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(o.data.length+2);i.set([175,1],0),i.set(o.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:ue};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,a+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new ir(e),o=null,a=i;for(;null!=(o=s.readNextAACFrame(hr(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=o,r=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(o.data.length+2);i.set([175,1],0),i.set(o.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:ue};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,a+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],s=e[1]>>>3&3,o=(6&e[1])>>1;e[2];let a=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(s){case 0:l=n[a];break;case 2:l=i[a];break;case 3:l=r[a]}switch(o){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const f={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(f)):li.detectAudioMetadataChange(f)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(f));let h={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:ue};li.audio_track_.samples.push(h),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Vn(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const n=Jt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(n,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,n){let s=new Gn;if(s.pid=i,s.stream_id=n,s.len=e.byteLength,s.data=e,null!=t){let e=Math.floor(t/li.timescale_);s.pts=e}else s.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);s.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===fe?li._doDecodeVideo({...e,payload:t}):e.type===ue&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?ti(t,e.isIFrame):zr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:fe,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;Er(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:ue,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Br()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new gn,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!Ar(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===Bt,isStateClosed:()=>ci.getState()===xt,isStateEnded:()=>ci.getState()===At,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,Tt,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,Ut,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,kt,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(Ar(ci.hasInit))if(r&&e[1]===It){const i=15&e[0];if(i===He&&Ar(ui._opt.supportMSEDecodeHevc))return void ci.emitError(ze.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:G,code:i});const n=new Uint8Array(e);postMessage({cmd:H,buffer:n,codecId:i},[n.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===Ge?r=Pr(e.slice(5)):t===He&&(r=Xr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(ze.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(Sr(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&ek,_decodeConfigurationRecord(e,t,r,i){let n=e.slice(5),s={};if(i===Ge?s=Pr(n):i===He&&(s=Jr(n)),ci.videoInfo.width=s.codecWidth,ci.videoInfo.height=s.codecHeight,0===s.codecWidth&&0===s.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(s)),ci.emitError(ze.mediaSourceDecoderConfigurationError,`width is ${0===s.codecWidth} and height is ${s.codecHeight}`),!1;const o={id:zt,type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},a=yn.generateInitSegment(o);ci.isAvc=i===Ge;let d=s.codec;return ci.videoMimeType=d?`video/mp4; codecs="${s.codec}"`:ci.isAvc?St:Et,postMessage({cmd:F,w:s.codecWidth,h:s.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(a.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,n=r===Ke,s=r===je;if(Ar(s||n))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(ze.mediaSourceAudioG711NotSupport),!1;const o={id:Ot,type:"audio",timescale:1e3};let a={};if(Zt(e)){if(a=tr(e.slice(2)),!a)return!1;o.audioSampleRate=a.sampleRate,o.channelCount=a.channelCount,o.config=a.config,o.refSampleDuration=1024/o.audioSampleRate*o.timescale}else{if(!n)return!1;if(a=Un(e),!a)return!1;o.audioSampleRate=a.samplingRate,o.channelCount=a.channelCount,o.refSampleDuration=1152/o.audioSampleRate*o.timescale}o.codec=a.codec,o.duration=0;let d="mp4",l=a.codec,c=null;n&&Ar(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=yn.generateInitSegment(o);let u=`${o.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),Ar(ci.isAudioInitInfo)&&(nr=r===je?i?16:8:0===i?8:16,postMessage({cmd:N,code:r}),postMessage({cmd:R,sampleRate:o.audioSampleRate,channels:o.channelCount,depth:nr}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=s,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(ze.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(ze.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(ze.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(ze.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(ze.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,n){let s=e.slice(5),o=s.byteLength;if(0===o)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let a=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=a,d=!0);const l=a-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${a} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(yn.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=yn.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendBuffer(n.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${n} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=zt,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=o,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=s,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),n=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(yn.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=yn.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendAudioBuffer(n.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Ot,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=n,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Ar(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&Ar(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(ze.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(ze.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Ar(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&Ar(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(ze.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(ze.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(ze.mediaSourceAudioInitTimeout)}),1e3)));if(Ar(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(ze.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(ze.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(ze.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(Ar(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(ze.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(ze.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(ze.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:n,end:t})}}else s=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:n,end:t})}}else sci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&Ar(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&Ar(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&Ar(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&Ar(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(Ar(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:ce,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Mt,_opt:Cr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:L,wasmDecodeDelay:U-T});postMessage({cmd:j,type:Pe,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!g)return-1;if(t===ue)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(L=!1,ui.delay=t-r):(L=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!g)return-1;if(t===ue)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(L=!1,t=r-i):(L=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===fe&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===ue?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===fe&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===fe&&o.decode?o.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===n.length)return;const t=e.ts,i=n[0],s=e.type===fe&&Sr(e.payload);if(Ar(r))s&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i));else{const r=i.ts-t,o=i.type===ue&&e.type===fe;(r<=20||o||s)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${o} and isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===E,t=ui._opt.playType===A,s=ui._opt.playType===B;if(Yr.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=s,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),o&&ui._opt.useWCS&&ui.useOffscreen()&&o.init(),Ar(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(n.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${n.length}`);if(ui.dropping){for(r=n.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${n.length}`);!r.isIFrame&&n.length;)r=n.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;n.length;)r=n.shift(),ui.doDecode(r);else if(r=n[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),n.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:q})):(n.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;n.length;){if(r=n[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${n.length}`);break}n.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();Ue||(Ue=e);const r=e-Ue;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),Ue=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Ar(ui._opt.checkFirstIFrame)&&(g=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:de,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;n.length&&(e=n.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,Fr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(ur=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&Ar(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,Ue=null,L=!1,U=0,T=0,o&&(o.destroy&&o.destroy(),o=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Cr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),n=[],s=[],u&&(u.close(),u=null),h=null,p=null,m=!1,_=!1,g=!1,Yt=!1,qt=!1,Kt=!1,er=null,nt=[],lt=0,gt=0,Te=null,Ze=null,Ct=null,Dt=null,nr=null,Ft=0,jt=0,st=null,at=null,ui.fetchStatus=Mt,Ur=!0,Yr.destroy(),qr.destroy(),Zr.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:ee})},pushBuffer:function(e,t){if(t.type===ue&&Zt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ne,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===fe&&t.isIFrame&&Sr(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:se,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:oe,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===x)if(t.type===fe){const r=new Uint8Array(e).slice(5);postMessage({cmd:$,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===ue&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Qt(r)?r.slice(2):r.slice(1);postMessage({cmd:z,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===fe){if(Ft>0){const e=t.ts-Dt,r=Ft+Ft/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Dt},\n diff is ${e} and preTsDuration is ${Ft} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Dt&&Dt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Dt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Dt-t.ts>k&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Dt}, options.ts is ${t.ts},\n diff is ${Dt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Dt=null,Ft=0),ui._opt.isDropSameTimestampGop&&Ar(t.isIFrame)&&g)){const e=ui.hasIframeInBufferList(),t=Ar(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),Er(ui._opt.checkFirstIFrame)&&Er(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:ae}))))}Dt>0&&(Ft=t.ts-Dt),jt=e.byteLength,Dt=t.ts}if(g){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${n.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;n.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${n.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:X,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return n.forEach((t=>{t.type===fe&&(e+=1)})),e},hasIframeInBufferList:()=>n.some((e=>e.type===fe&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return n.forEach((e=>{e.type===fe&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return n.forEach((t=>{t.type===ue&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?Yr.lastBuf&&(e=Yr.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&qr.mp4Box&&(e=qr.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=fr((e=>{postMessage({cmd:j,type:Ce,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&qr.listenMp4Box(),t.protocol===b){t.isFlv&&(u=new Dr(ui.demuxFlv())),a=new AbortController;const r=Object.assign({signal:a.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(Er(ur))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Mt,void e.body.cancel();if(!br(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),Fr(),void postMessage({cmd:j,type:ze.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:j,type:Fe}),gr())ui.writableStream=new WritableStream({write:e=>a&&a.signal&&a.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Nt)):Er(ur)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=Nt,void Fr()):void("string"!=typeof e?(ui.fetchStatus=Rt,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=Nt,Fr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:j,type:ke,value:w,msg:"fetch done"})):postMessage({cmd:j,type:Me})},abort:e=>{if(a&&a.signal&&a.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Nt);u&&(u.close(),u=null),e.name!==Lt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),Fr(),postMessage({cmd:j,type:ze.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:n}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=Nt,Fr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:j,type:ke,value:w,msg:"fetch done"})):postMessage({cmd:j,type:Me}))):a&&a.signal&&a.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Nt)):Er(ur)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=Nt,void Fr()):void("string"!=typeof n?(ui.fetchStatus=Rt,l(n.byteLength),t.isFlv?u.write(n):t.isFmp4?ui.demuxFmp4(n):t.isMpeg4?ui.demuxMpeg4(n):t.isTs?ui.demuxTs(n):t.isNakedFlow&&ui.demuxNakedFlow(n),i()):ui.debugWarn("worker",`fetchNext().then() and value "${n}" is string so return`))})).catch((e=>{if(a&&a.signal&&a.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Nt);u&&(u.close(),u=null),e.name!==Lt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),Fr(),postMessage({cmd:j,type:ze.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{a&&a.signal&&a.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==Lt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),Fr(),postMessage({cmd:j,type:ze.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===v&&(t.isFlv&&(u=new Dr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:j,type:Fe}),postMessage({cmd:j,type:Ne})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):f?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),Er(ur)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:j,type:ke,value:S,msg:e.code})):postMessage({cmd:j,type:Me}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),f=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):Er(ur)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:j,type:ze.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const n=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let s=r[0];const o=(yield n).slice();switch(i){case he:if(o.byteLength>0){let e=o;Er(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(o)),ui.decode(e,{type:ue,ts:s})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${o.byteLength} and return`);break;case pe:if(o.byteLength>=6){const e=o[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(o,s);else{const e=15&o[0];let t=o[0]>>4===Pt;const i=e===He;if(Ar(t)&&Er(xr(o,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&Sr(o)&&null===ui.isHevc){const e=15&o[0];ui.isHevc=e===He,er=dr(o,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${er}`)}t&&ui.calcIframeIntervalTimestamp(s),ui.isPlayer&&ui.calcNetworkDelay(s),r[0]=o[4],r[1]=o[3],r[2]=o[2],r[3]=0;let n=r[0],a=ui.cryptoPayload(o,t);ui.decode(a,{type:fe,ts:s,isIFrame:t,cts:n})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${o.byteLength} and return`);break;case me:postMessage({cmd:ie,buffer:o},[o.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===ue?ui._opt.hasAudio&&(postMessage({cmd:j,type:De,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===fe&&ui._opt.hasVideo&&(postMessage({cmd:j,type:Le,value:e.byteLength}),postMessage({cmd:j,type:Ie,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Vi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?ns(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):cn(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=mn(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===je&&(t=Wi(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,n=e[0]>>1&1;if(nr=r===je?n?16:8:0===n?8:16,fi&&fi.setCodec||!Ar(i))if(Zt(e)||r===Ye||r===qe||r===Ke){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const n=r===je?e.slice(2):new Uint8Array(0);if(i){if(r===Ke)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");fi.sample_rate=ui._opt.sampleRate,fi.decode(e,t)}else fi.setCodec(r,ui._opt.sampleRate,n,ui.getBuildTime());r===je&&postMessage({cmd:O,buffer:n},[n.buffer]),_=!0,r!==je&&(r===Ke?(ui.mp3Demuxer||(ui.mp3Demuxer=new fn(ui),ui.mp3Demuxer.on("data",((e,t)=>{fi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):fi.decode(e.slice(1),t));const s=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:K})}),60*s*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(Er(r)&&Er(ui._opt.mseDecodeAudio))postMessage({cmd:W,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(_){if(Zt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?fi.decode(e,t):r===Ke?ui.mp3Demuxer.dispatch(e.slice(1),t):fi.decode(r===je?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(hi&&hi.setCodec||!Ar(i))if(Sr(e))if(r===Ge||r===He){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===Ge&&ui._opt.useSIMD){const e=Pr(t);if(e.codecWidth>C||e.codecHeight>C)return postMessage({cmd:Q,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const n=new Uint8Array(e);m=!0,i?hi.decode(e,0):hi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:G,code:r}),postMessage({cmd:H,buffer:n,codecId:r},[n.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,n){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,n,s);else if(Er(r))postMessage({cmd:V,payload:e,isIFrame:n,ts:t,cts:s,delay:ui.delay},[e.buffer]);else if(m)if(!g&&n&&(g=!0),g){if(n&&Sr(e)){const t=15&e[0];let r={};t===Ge?r=Pr(e.slice(5)):t===He&&(r=Xr(e)),r.codecWidth&&r.codecHeight&&h&&p&&(r.codecWidth!==h||r.codecHeight!==p)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${h}, old height is ${p},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),qt=!0,postMessage({cmd:J,value:`width: ${h}->${r.codecWidth}, height: ${p}->${r.codecHeight}`}))}if(qt)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(Kt)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(Sr(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${n.length}, need clear is ${e}`),e&&(n=[]),ui.isPlayer&&(ui.resetAllDelay(),Er(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:q}))),Er(ui._opt.checkFirstIFrame)&&Ar(r)&&(g=!1)},dropBuffer$2:function(){if(n.length>0){let e=n.findIndex((e=>Er(e.isIFrame)&&e.type===fe));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:q});const t=n.length;n=n.slice(e);const r=n.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${n.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===n.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),n=new ArrayBuffer(4),s=new Uint32Array(n);switch(i){case ue:ui.decode(new Uint8Array(e,5),{type:ue,ts:r});break;case fe:if(t.byteLength>=11){const i=new Uint8Array(e,5),n=i[0];if(ui._isEnhancedH265Header(n))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),Sr(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===He}ui.isPlayer&&ui.calcNetworkDelay(r),s[0]=i[4],s[1]=i[3],s[2]=i[2],s[3]=0;let n=s[0],o=ui.cryptoPayload(i,e);ui.decode(o,{type:fe,ts:r,isIFrame:e,cts:n})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){Yr.dispatch(e)},demuxFmp4:function(e){qr.dispatch(e)},demuxMpeg4:function(e){Zr.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,n=15&r,s=e.slice(1,5),o=new ArrayBuffer(4),a=new Uint32Array(o),d="a"==String.fromCharCode(s[0]);if(ui.isHevc=Ar(d),n===Ht){if(i===Wt){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),er=dr(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${er}`),ui.decode(i,{type:fe,ts:t,isIFrame:!0,cts:0})}}}else if(n===$t){let r=e,n=0;const s=i===Wt;s&&ui.calcIframeIntervalTimestamp(t),d||(a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0,n=a[0],r=ti(e.slice(8),s),r=ui.cryptoPayload(r,s),ui.decode(r,{type:fe,ts:t,isIFrame:s,cts:n}))}else if(n===Vt){const r=i===Wt;r&&ui.calcIframeIntervalTimestamp(t);let n=ti(e.slice(5),r);n=ui.cryptoPayload(n,r),ui.decode(n,{type:fe,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&Gt)===Gt},findSei:function(e,t){let r=4;pr(er)&&(r=er),sr(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===vt||r===yt),n=Ar(ui.isHevc)&&r===tt;if(i||n){const r=or(e,ui.isHevc);postMessage({cmd:re,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(g&&e>0))return;null===Te?(Te=e,Ze=lr()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===E&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${Te} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:j,type:Re,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ct?Ct=e:Ct=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&Er(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){Ar(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),Yt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=y(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),Yt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:G,code:e}),postMessage({cmd:F,w:t,h:r}),h=t,p=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=y(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:N,code:e}),postMessage({cmd:R,sampleRate:t,channels:r,depth:nr}),gt=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=h*p*3/2;let n=e.HEAPU8.subarray(t,t+i),s=new Uint8Array(n);if(st=null,T=r,ui.useOffscreen())try{if(Yt)return;ui.webglObj.renderYUV(h,p,s);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:P,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:P,output:s,delay:ui.delay,ts:r},[s.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,o=[],a=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;o[r]=t.HEAPF32.subarray(i,i+n)}if(lt){if(!(n>=(r=d-lt)))return lt+=n,s[0]=Float32Array.of(...s[0],...o[0]),void(2==gt&&(s[1]=Float32Array.of(...s[1],...o[1])));nt[0]=Float32Array.of(...s[0],...o[0].subarray(0,r)),2==gt&&(nt[1]=Float32Array.of(...s[1],...o[1].subarray(0,r))),postMessage({cmd:M,buffer:nt,ts:i},nt.map((e=>e.buffer))),a=r,n-=r}for(lt=n;lt>=d;lt-=d)nt[0]=o[0].slice(a,a+=d),2==gt&&(nt[1]=o[1].slice(a-d,a)),postMessage({cmd:M,buffer:nt,ts:i},nt.map((e=>e.buffer)));lt&&(s[0]=o[0].slice(a),2==gt&&(s[1]=o[1].slice(a))),o=[]},errorInfo:function(e){null===st&&(st=lr());const t=lr(),r=cr(at>0?2*at:5e3,1e3,5e3),i=t-st;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${at} and diff is ${i} and maxDiff is ${r}\n and replay`),Kt=!0,postMessage({cmd:Z}))},sendWebsocketMessage:function(e){d?d.readyState===Oe?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:K})},postStreamToMain(e,t){postMessage({cmd:te,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),Er(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,h=e,p=t,postMessage({cmd:F,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=y(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){gt=e,postMessage({cmd:R,sampleRate:t,channels:e,depth:nr})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,o=[],a=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;o[r]=t.HEAPF32.subarray(i,i+n)}if(lt){if(!(n>=(r=d-lt)))return lt+=n,s[0]=Float32Array.of(...s[0],...o[0]),void(2==gt&&(s[1]=Float32Array.of(...s[1],...o[1])));nt[0]=Float32Array.of(...s[0],...o[0].subarray(0,r)),2==gt&&(nt[1]=Float32Array.of(...s[1],...o[1].subarray(0,r))),postMessage({cmd:M,buffer:nt,ts:i},nt.map((e=>e.buffer))),a=r,n-=r}for(lt=n;lt>=d;lt-=d)nt[0]=o[0].slice(a,a+=d),2==gt&&(nt[1]=o[1].slice(a-d,a)),postMessage({cmd:M,buffer:nt,ts:i},nt.map((e=>e.buffer)));lt&&(s[0]=o[0].slice(a),2==gt&&(s[1]=o[1].slice(a))),o=[]},draw:function(t,r,i,n){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const s=e.HEAPU8.subarray(r,r+Tr),o=e.HEAPU8.subarray(i,i+kr),a=e.HEAPU8.subarray(n,n+kr),d=new Uint8Array(Tr+kr+kr);if(d.set(s),d.set(o,Tr),d.set(a,Tr+kr),st=null,T=t,ui.useOffscreen())try{if(Yt)return;ui.webglObj.renderYUV(h,p,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:P,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:P,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let fi=null;t.AudioDecoder&&(fi=new t.AudioDecoder(ui));let hi=null;e.VideoDecoder&&(hi=new e.VideoDecoder(ui)),postMessage({cmd:I}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case _e:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${_e}`,t.opt);break;case ge:ui.pushBuffer(t.buffer,t.options);break;case ye:ui.decodeAudio(t.buffer,t.ts);break;case ve:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case Se:ui.clearBuffer(t.needClear);break;case Ee:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case be:ui.debugLog("worker",`onmessage:${be}`,JSON.stringify(t.options)),t.options&&Ar(t.options.isVideoInited)&&(Ur=t.options.isVideoInited),ui.close();break;case we:ui.debugLog("worker",`onmessage:${we}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case Ae:ui.sendWebsocketMessage(t.message);break;case Be:ci.$video.currentTime=Number(t.message);break;case xe:ui.updatePlaybackIsPause(t.isPause)}}}(c,c,!1,!0)}})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("path"),require("fs"),require("crypto")):"function"==typeof define&&define.amd?define(["path","fs","crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).path,e.fs,e.crypto$1)}(this,(function(e,t,r){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=n(e),o=n(t),a=n(r),c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function u(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function l(e,t){return e(t={exports:{}},t.exports),t.exports}var d=Object.freeze({__proto__:null,commonjsGlobal:c,commonjsRequire:u,unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:l,getCjsExportFromNamespace:function(e){return e&&e.default||e}}),f=l((function(e){var t=void 0!==t?t:{},r=(t={locateFile:function(e){return"decoder-pro-old.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_OLD_WASM_URL&&""!=JESSIBUCA_PRO_OLD_WASM_URL?JESSIBUCA_PRO_OLD_WASM_URL:e},printErr:function(e){(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented")&&-1===e.indexOf("not compiled with thread support, using thread emulation"))&&console.warn("JbPro[❌❌❌][old wasm]:",e)}},Object.assign({},t)),n="./this.program",i="object"==typeof window,c="function"==typeof importScripts,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,l=!i&&!u&&!c;if(t.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var d,f,h,p,m,v,g="";if(u){if("object"!=typeof process)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");g=c?s.default.dirname(g)+"/":__dirname+"/",v=()=>{m||(p=o.default,m=s.default)},d=function(e,t){return v(),e=m.normalize(e),p.readFileSync(e,t?void 0:"utf8")},h=e=>{var t=d(e,!0);return t.buffer||(t=new Uint8Array(t)),x(t.buffer),t},f=(e,t,r)=>{v(),e=m.normalize(e),p.readFile(e,(function(e,n){e?r(e):t(n.buffer)}))},process.argv.length>1&&(n=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),e.exports=t,process.on("uncaughtException",(function(e){if(!(e instanceof Ar))throw e})),process.on("unhandledRejection",(function(e){throw e})),t.inspect=function(){return"[Emscripten Module object]"}}else if(l){if("object"==typeof process||"object"==typeof window||"function"==typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");"undefined"!=typeof read&&(d=function(e){return read(e)}),h=function(e){let t;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(t=read(e,"binary"),x("object"==typeof t),t)},f=function(e,t,r){setTimeout((()=>t(h(e))),0)},"undefined"!=typeof scriptArgs&&scriptArgs,"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)}else{if(!i&&!c)throw new Error("environment detection error");if(c?g=self.location.href:"undefined"!=typeof document&&document.currentScript&&(g=document.currentScript.src),g=0!==g.indexOf("blob:")?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},c&&(h=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)}}var y,_,b,w=t.print||console.log.bind(console),S=t.printErr||console.warn.bind(console);function I(e){I.shown||(I.shown={}),I.shown[e]||(I.shown[e]=1,S(e))}function E(e,r){Object.getOwnPropertyDescriptor(t,e)||Object.defineProperty(t,e,{configurable:!0,get:function(){ve("Module."+e+" has been replaced with plain "+r+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function A(e,t){var r="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";return t&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),r}function k(e,r){Object.getOwnPropertyDescriptor(t,e)||Object.defineProperty(t,e,{configurable:!0,get:function(){ve(A(e,r))}})}function C(e,r){Object.getOwnPropertyDescriptor(t,e)||(t[e]=()=>ve(A(e,r)))}Object.assign(t,r),r=null,y="fetchSettings",Object.getOwnPropertyDescriptor(t,y)&&ve("`Module."+y+"` was supplied but `"+y+"` not included in INCOMING_MODULE_JS_API"),t.arguments&&t.arguments,E("arguments","arguments_"),t.thisProgram&&(n=t.thisProgram),E("thisProgram","thisProgram"),t.quit&&t.quit,E("quit","quit_"),x(void 0===t.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),x(void 0===t.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),x(void 0===t.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),x(void 0===t.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),x(void 0===t.read,"Module.read option was removed (modify read_ in JS)"),x(void 0===t.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),x(void 0===t.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),x(void 0===t.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),x(void 0===t.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),E("read","read_"),E("readAsync","readAsync"),E("readBinary","readBinary"),E("setWindowTitle","setWindowTitle"),x(!l,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."),t.wasmBinary&&(_=t.wasmBinary),E("wasmBinary","wasmBinary"),t.noExitRuntime,E("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&ve("no native wasm support detected");var T=!1;function x(e,t){e||ve("Assertion failed"+(t?": "+t:""))}var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function M(e,t,r){for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&D)return D.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s}function B(e,t){return e?M(O,e,t):""}function U(e,t,r,n){if(!(n>0))return 0;for(var i=r,s=r+n-1,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;a>1114111&&I("Invalid Unicode code point 0x"+a.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-i}function F(e,t,r){return x("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),U(e,O,t,r)}function P(e){for(var t=0,r=0;r=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}var R,L,O,N,z,H,V,G,j,W="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function q(e,t){x(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&z[n];)++n;if((r=n<<1)-e>32&&W)return W.decode(O.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=N[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s}function Y(e,t,r){if(x(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),x("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return N[t>>1]=0,t-n}function K(e){return 2*e.length}function X(e,t){x(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var i=H[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n}function $(e,t,r){if(x(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),x("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s);if(H[t>>2]=o,(t+=4)+4>i)break}return H[t>>2]=0,t-n}function J(e){for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t}function Z(e){var t=P(e)+1,r=vr(t);return r&&U(e,L,r,t),r}function Q(e){R=e,t.HEAP8=L=new Int8Array(e),t.HEAP16=N=new Int16Array(e),t.HEAP32=H=new Int32Array(e),t.HEAPU8=O=new Uint8Array(e),t.HEAPU16=z=new Uint16Array(e),t.HEAPU32=V=new Uint32Array(e),t.HEAPF32=G=new Float32Array(e),t.HEAPF64=j=new Float64Array(e)}var ee=5242880;t.TOTAL_STACK&&x(ee===t.TOTAL_STACK,"the stack size can no longer be determined at runtime");var te,re=t.INITIAL_MEMORY||67108864;function ne(){var e=Er();x(0==(3&e)),H[e>>2]=34821223,H[e+4>>2]=2310721022,H[0]=1668509029}function ie(){if(!T){var e=Er(),t=V[e>>2],r=V[e+4>>2];34821223==t&&2310721022==r||ve("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" 0x"+t.toString(16)),1668509029!==H[0]&&ve("Runtime error: The application has corrupted its heap memory area (address zero)!")}}E("INITIAL_MEMORY","INITIAL_MEMORY"),x(re>=ee,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+re+"! (TOTAL_STACK="+"5242880)"),x("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),x(!t.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),x(67108864==re,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var se=[],oe=[],ae=[],ce=!1;x(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),x(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),x(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),x(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var ue=0,le=null,de=null,fe={};function he(e){for(var t=e;;){if(!fe[e])return e;e=t+Math.random()}}function pe(e){ue++,t.monitorRunDependencies&&t.monitorRunDependencies(ue),e?(x(!fe[e]),fe[e]=1,null===le&&"undefined"!=typeof setInterval&&(le=setInterval((function(){if(T)return clearInterval(le),void(le=null);var e=!1;for(var t in fe)e||(e=!0,S("still waiting on run dependencies:")),S("dependency: "+t);e&&S("(end of list)")}),1e4))):S("warning: run dependency added without ID")}function me(e){if(ue--,t.monitorRunDependencies&&t.monitorRunDependencies(ue),e?(x(fe[e]),delete fe[e]):S("warning: run dependency removed without ID"),0==ue&&(null!==le&&(clearInterval(le),le=null),de)){var r=de;de=null,r()}}function ve(e){throw t.onAbort&&t.onAbort(e),S(e="Aborted("+e+")"),T=!0,new WebAssembly.RuntimeError(e)}var ge,ye,_e;function be(e){return e.startsWith("data:application/octet-stream;base64,")}function we(e){return e.startsWith("file://")}function Se(e,r){return function(){var n=e,i=r;return r||(i=t.asm),x(ce,"native function `"+n+"` called before runtime initialization"),i[e]||x(i[e],"exported native function `"+n+"` not found"),i[e].apply(null,arguments)}}function Ie(e){try{if(e==ge&&_)return new Uint8Array(_);if(h)return h(e);throw"both async and sync fetching of the wasm failed"}catch(e){ve(e)}}function Ee(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?ke(n)():ke(n)(r.arg):n(void 0===r.arg?null:r.arg)}else r(t)}}function Ae(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t,r=(t=e,I("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),t);return e===r?e:r+" ["+e+"]"}))}function ke(e){return te.get(e)}function Ce(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}be(ge="decoder-pro-old.wasm")||(ge=function(e){return t.locateFile?t.locateFile(e,g):g+e}(ge));var Te={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=Te.isAbs(e),r="/"===e.substr(-1);return(e=Te.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=Te.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=Te.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return Te.normalize(e.join("/"))},join2:(e,t)=>Te.normalize(e+"/"+t)};var xe={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Pe.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=Te.isAbs(n)}return(t?"/":"")+(e=Te.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=xe.resolve(e).substr(1),t=xe.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a0?r.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=hr(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(w(M(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(w(M(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(S(M(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(S(M(e.output,0)),e.output=[])}}};function Me(e){e=function(e,t){return x(t,"alignment argument is required"),Math.ceil(e/t)*t}(e,65536);var t=wr(65536,e);return t?(function(e,t){O.fill(0,e,e+t)}(t,e),t):0}var Be={ops_table:null,mount:function(e){return Be.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(Pe.isBlkdev(r)||Pe.isFIFO(r))throw new Pe.ErrnoError(63);Be.ops_table||(Be.ops_table={dir:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr,lookup:Be.node_ops.lookup,mknod:Be.node_ops.mknod,rename:Be.node_ops.rename,unlink:Be.node_ops.unlink,rmdir:Be.node_ops.rmdir,readdir:Be.node_ops.readdir,symlink:Be.node_ops.symlink},stream:{llseek:Be.stream_ops.llseek}},file:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr},stream:{llseek:Be.stream_ops.llseek,read:Be.stream_ops.read,write:Be.stream_ops.write,allocate:Be.stream_ops.allocate,mmap:Be.stream_ops.mmap,msync:Be.stream_ops.msync}},link:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr,readlink:Be.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Be.node_ops.getattr,setattr:Be.node_ops.setattr},stream:Pe.chrdev_stream_ops}});var i=Pe.createNode(e,t,r,n);return Pe.isDir(i.mode)?(i.node_ops=Be.ops_table.dir.node,i.stream_ops=Be.ops_table.dir.stream,i.contents={}):Pe.isFile(i.mode)?(i.node_ops=Be.ops_table.file.node,i.stream_ops=Be.ops_table.file.stream,i.usedBytes=0,i.contents=null):Pe.isLink(i.mode)?(i.node_ops=Be.ops_table.link.node,i.stream_ops=Be.ops_table.link.stream):Pe.isChrdev(i.mode)&&(i.node_ops=Be.ops_table.chrdev.node,i.stream_ops=Be.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Pe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Pe.isDir(e.mode)?t.size=4096:Pe.isFile(e.mode)?t.size=e.usedBytes:Pe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Be.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Pe.genericErrors[44]},mknod:function(e,t,r,n){return Be.createNode(e,t,r,n)},rename:function(e,t,r){if(Pe.isDir(e.mode)){var n;try{n=Pe.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Pe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=Pe.lookupNode(e,t);for(var n in r.contents)throw new Pe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=Be.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!Pe.isLink(e.mode))throw new Pe.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,n);if(x(o>=0),o>8&&s.subarray)t.set(s.subarray(i,i+o),r);else for(var a=0;a0||n+r1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=xe.resolve(Pe.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};if(t=Object.assign(r,t),t.recurse_count>8)throw new Pe.ErrnoError(32);for(var n=Te.normalizeArray(e.split("/").filter((e=>!!e)),!1),i=Pe.root,s="/",o=0;o40)throw new Pe.ErrnoError(32)}}return{path:s,node:i}},getPath:e=>{for(var t;;){if(Pe.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,n=0;n>>0)%Pe.nameTable.length},hashAddNode:e=>{var t=Pe.hashName(e.parent.id,e.name);e.name_next=Pe.nameTable[t],Pe.nameTable[t]=e},hashRemoveNode:e=>{var t=Pe.hashName(e.parent.id,e.name);if(Pe.nameTable[t]===e)Pe.nameTable[t]=e.name_next;else for(var r=Pe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=Pe.mayLookup(e);if(r)throw new Pe.ErrnoError(r,e);for(var n=Pe.hashName(e.id,t),i=Pe.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Pe.lookup(e,t)},createNode:(e,t,r,n)=>{x("object"==typeof e);var i=new Pe.FSNode(e,t,r,n);return Pe.hashAddNode(i),i},destroyNode:e=>{Pe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=Pe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Pe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=Pe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{Pe.lookupNode(e,t);return 20}catch(e){}return Pe.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var n;try{n=Pe.lookupNode(e,t)}catch(e){return e.errno}var i=Pe.nodePermissions(e,"wx");if(i)return i;if(r){if(!Pe.isDir(n.mode))return 54;if(Pe.isRoot(n)||Pe.getPath(n)===Pe.cwd())return 10}else if(Pe.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Pe.isLink(e.mode)?32:Pe.isDir(e.mode)&&("r"!==Pe.flagsToPermissionString(t)||512&t)?31:Pe.nodePermissions(e,Pe.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pe.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!Pe.streams[r])return r;throw new Pe.ErrnoError(33)},getStream:e=>Pe.streams[e],createStream:(e,t,r)=>{Pe.FSStream||(Pe.FSStream=function(){this.shared={}},Pe.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get function(){return this.shared.position},set:function(e){this.shared.position=e}}}),e=Object.assign(new Pe.FSStream,e);var n=Pe.nextfd(t,r);return e.fd=n,Pe.streams[n]=e,e},closeStream:e=>{Pe.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=Pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new Pe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{Pe.devices[e]={stream_ops:t}},getDevice:e=>Pe.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),Pe.syncFSRequests++,Pe.syncFSRequests>1&&S("warning: "+Pe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=Pe.getMounts(Pe.root.mount),n=0;function i(e){return x(Pe.syncFSRequests>0),Pe.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount:(e,t,r)=>{if("string"==typeof e)throw e;var n,i="/"===r,s=!r;if(i&&Pe.root)throw new Pe.ErrnoError(10);if(!i&&!s){var o=Pe.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,Pe.isMountpoint(n))throw new Pe.ErrnoError(10);if(!Pe.isDir(n.mode))throw new Pe.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(a);return c.mount=a,a.root=c,i?Pe.root=c:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),c},unmount:e=>{var t=Pe.lookupPath(e,{follow_mount:!1});if(!Pe.isMountpoint(t.node))throw new Pe.ErrnoError(28);var r=t.node,n=r.mounted,i=Pe.getMounts(n);Object.keys(Pe.nameTable).forEach((e=>{for(var t=Pe.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Pe.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);x(-1!==s),r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var n=Pe.lookupPath(e,{parent:!0}).node,i=Te.basename(e);if(!i||"."===i||".."===i)throw new Pe.ErrnoError(28);var s=Pe.mayCreate(n,i);if(s)throw new Pe.ErrnoError(s);if(!n.node_ops.mknod)throw new Pe.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Pe.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Pe.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Pe.mknod(e,t,r)),symlink:(e,t)=>{if(!xe.resolve(e))throw new Pe.ErrnoError(44);var r=Pe.lookupPath(t,{parent:!0}).node;if(!r)throw new Pe.ErrnoError(44);var n=Te.basename(t),i=Pe.mayCreate(r,n);if(i)throw new Pe.ErrnoError(i);if(!r.node_ops.symlink)throw new Pe.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:(e,t)=>{var r,n,i=Te.dirname(e),s=Te.dirname(t),o=Te.basename(e),a=Te.basename(t);if(r=Pe.lookupPath(e,{parent:!0}).node,n=Pe.lookupPath(t,{parent:!0}).node,!r||!n)throw new Pe.ErrnoError(44);if(r.mount!==n.mount)throw new Pe.ErrnoError(75);var c,u=Pe.lookupNode(r,o),l=xe.relative(e,s);if("."!==l.charAt(0))throw new Pe.ErrnoError(28);if("."!==(l=xe.relative(t,i)).charAt(0))throw new Pe.ErrnoError(55);try{c=Pe.lookupNode(n,a)}catch(e){}if(u!==c){var d=Pe.isDir(u.mode),f=Pe.mayDelete(r,o,d);if(f)throw new Pe.ErrnoError(f);if(f=c?Pe.mayDelete(n,a,d):Pe.mayCreate(n,a))throw new Pe.ErrnoError(f);if(!r.node_ops.rename)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(u)||c&&Pe.isMountpoint(c))throw new Pe.ErrnoError(10);if(n!==r&&(f=Pe.nodePermissions(r,"w")))throw new Pe.ErrnoError(f);Pe.hashRemoveNode(u);try{r.node_ops.rename(u,n,a)}catch(e){throw e}finally{Pe.hashAddNode(u)}}},rmdir:e=>{var t=Pe.lookupPath(e,{parent:!0}).node,r=Te.basename(e),n=Pe.lookupNode(t,r),i=Pe.mayDelete(t,r,!0);if(i)throw new Pe.ErrnoError(i);if(!t.node_ops.rmdir)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);t.node_ops.rmdir(t,r),Pe.destroyNode(n)},readdir:e=>{var t=Pe.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Pe.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=Pe.lookupPath(e,{parent:!0}).node;if(!t)throw new Pe.ErrnoError(44);var r=Te.basename(e),n=Pe.lookupNode(t,r),i=Pe.mayDelete(t,r,!1);if(i)throw new Pe.ErrnoError(i);if(!t.node_ops.unlink)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);t.node_ops.unlink(t,r),Pe.destroyNode(n)},readlink:e=>{var t=Pe.lookupPath(e).node;if(!t)throw new Pe.ErrnoError(44);if(!t.node_ops.readlink)throw new Pe.ErrnoError(28);return xe.resolve(Pe.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=Pe.lookupPath(e,{follow:!t}).node;if(!r)throw new Pe.ErrnoError(44);if(!r.node_ops.getattr)throw new Pe.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Pe.stat(e,!0),chmod:(e,t,r)=>{var n;"string"==typeof e?n=Pe.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new Pe.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,t)=>{Pe.chmod(e,t,!0)},fchmod:(e,t)=>{var r=Pe.getStream(e);if(!r)throw new Pe.ErrnoError(8);Pe.chmod(r.node,t)},chown:(e,t,r,n)=>{var i;"string"==typeof e?i=Pe.lookupPath(e,{follow:!n}).node:i=e;if(!i.node_ops.setattr)throw new Pe.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown:(e,t,r)=>{Pe.chown(e,t,r,!0)},fchown:(e,t,r)=>{var n=Pe.getStream(e);if(!n)throw new Pe.ErrnoError(8);Pe.chown(n.node,t,r)},truncate:(e,t)=>{if(t<0)throw new Pe.ErrnoError(28);var r;"string"==typeof e?r=Pe.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new Pe.ErrnoError(63);if(Pe.isDir(r.mode))throw new Pe.ErrnoError(31);if(!Pe.isFile(r.mode))throw new Pe.ErrnoError(28);var n=Pe.nodePermissions(r,"w");if(n)throw new Pe.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=Pe.getStream(e);if(!r)throw new Pe.ErrnoError(8);if(0==(2097155&r.flags))throw new Pe.ErrnoError(28);Pe.truncate(r.node,t)},utime:(e,t,r)=>{var n=Pe.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:(e,r,n,i,s)=>{if(""===e)throw new Pe.ErrnoError(44);var o;if(n=void 0===n?438:n,n=64&(r="string"==typeof r?Pe.modeStringToFlags(r):r)?4095&n|32768:0,"object"==typeof e)o=e;else{e=Te.normalize(e);try{o=Pe.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new Pe.ErrnoError(20)}else o=Pe.mknod(e,n,0),a=!0;if(!o)throw new Pe.ErrnoError(44);if(Pe.isChrdev(o.mode)&&(r&=-513),65536&r&&!Pe.isDir(o.mode))throw new Pe.ErrnoError(54);if(!a){var c=Pe.mayOpen(o,r);if(c)throw new Pe.ErrnoError(c)}512&r&&Pe.truncate(o,0),r&=-131713;var u=Pe.createStream({node:o,path:Pe.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1},i,s);return u.stream_ops.open&&u.stream_ops.open(u),!t.logReadFiles||1&r||(Pe.readFiles||(Pe.readFiles={}),e in Pe.readFiles||(Pe.readFiles[e]=1)),u},close:e=>{if(Pe.isClosed(e))throw new Pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Pe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Pe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,n,i)=>{if(n<0||i<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(1==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.read)throw new Pe.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Pe.ErrnoError(70)}else i=e.position;var o=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=o),o},write:(e,t,r,n,i,s)=>{if(n<0||i<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(0==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.write)throw new Pe.ErrnoError(28);e.seekable&&1024&e.flags&&Pe.llseek(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new Pe.ErrnoError(70)}else i=e.position;var a=e.stream_ops.write(e,t,r,n,i,s);return o||(e.position+=a),a},allocate:(e,t,r)=>{if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(t<0||r<=0)throw new Pe.ErrnoError(28);if(0==(2097155&e.flags))throw new Pe.ErrnoError(8);if(!Pe.isFile(e.node.mode)&&!Pe.isDir(e.node.mode))throw new Pe.ErrnoError(43);if(!e.stream_ops.allocate)throw new Pe.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,n,i,s)=>{if(0!=(2&i)&&0==(2&s)&&2!=(2097155&e.flags))throw new Pe.ErrnoError(2);if(1==(2097155&e.flags))throw new Pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Pe.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i,s)},msync:(e,t,r,n,i)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new Pe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,n=Pe.open(e,t.flags),i=Pe.stat(e),s=i.size,o=new Uint8Array(s);return Pe.read(n,o,0,s,0),"utf8"===t.encoding?r=M(o,0):"binary"===t.encoding&&(r=o),Pe.close(n),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Pe.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(P(t)+1),s=U(t,i,0,i.length);Pe.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Pe.write(n,t,0,t.byteLength,void 0,r.canOwn)}Pe.close(n)},cwd:()=>Pe.currentPath,chdir:e=>{var t=Pe.lookupPath(e,{follow:!0});if(null===t.node)throw new Pe.ErrnoError(44);if(!Pe.isDir(t.node.mode))throw new Pe.ErrnoError(54);var r=Pe.nodePermissions(t.node,"x");if(r)throw new Pe.ErrnoError(r);Pe.currentPath=t.path},createDefaultDirectories:()=>{Pe.mkdir("/tmp"),Pe.mkdir("/home"),Pe.mkdir("/home/web_user")},createDefaultDevices:()=>{Pe.mkdir("/dev"),Pe.registerDevice(Pe.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Pe.mkdev("/dev/null",Pe.makedev(1,3)),De.register(Pe.makedev(5,0),De.default_tty_ops),De.register(Pe.makedev(6,0),De.default_tty1_ops),Pe.mkdev("/dev/tty",Pe.makedev(5,0)),Pe.mkdev("/dev/tty1",Pe.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(u)try{var t=a.default;return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){ve("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}();Pe.createDevice("/dev","random",e),Pe.createDevice("/dev","urandom",e),Pe.mkdir("/dev/shm"),Pe.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Pe.mkdir("/proc");var e=Pe.mkdir("/proc/self");Pe.mkdir("/proc/self/fd"),Pe.mount({mount:()=>{var t=Pe.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,n=Pe.getStream(r);if(!n)throw new Pe.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{t.stdin?Pe.createDevice("/dev","stdin",t.stdin):Pe.symlink("/dev/tty","/dev/stdin"),t.stdout?Pe.createDevice("/dev","stdout",null,t.stdout):Pe.symlink("/dev/tty","/dev/stdout"),t.stderr?Pe.createDevice("/dev","stderr",null,t.stderr):Pe.symlink("/dev/tty1","/dev/stderr");var e=Pe.open("/dev/stdin",0),r=Pe.open("/dev/stdout",1),n=Pe.open("/dev/stderr",1);x(0===e.fd,"invalid handle for stdin ("+e.fd+")"),x(1===r.fd,"invalid handle for stdout ("+r.fd+")"),x(2===n.fd,"invalid handle for stderr ("+n.fd+")")},ensureErrnoError:()=>{Pe.ErrnoError||(Pe.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,Fe)if(Fe[t]===e){this.code=t;break}},this.setErrno(e),this.message=Ue[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Ae(this.stack))},Pe.ErrnoError.prototype=new Error,Pe.ErrnoError.prototype.constructor=Pe.ErrnoError,[44].forEach((e=>{Pe.genericErrors[e]=new Pe.ErrnoError(e),Pe.genericErrors[e].stack=""})))},staticInit:()=>{Pe.ensureErrnoError(),Pe.nameTable=new Array(4096),Pe.mount(Be,{},"/"),Pe.createDefaultDirectories(),Pe.createDefaultDevices(),Pe.createSpecialDirectories(),Pe.filesystems={MEMFS:Be}},init:(e,r,n)=>{x(!Pe.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Pe.init.initialized=!0,Pe.ensureErrnoError(),t.stdin=e||t.stdin,t.stdout=r||t.stdout,t.stderr=n||t.stderr,Pe.createStandardStreams()},quit:()=>{Pe.init.initialized=!1,br();for(var e=0;e{var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:(e,t)=>{var r=Pe.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(n=Pe.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Pe.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=Te.basename(e),n=Pe.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:(e,t,r,n)=>{e="string"==typeof e?e:Pe.getPath(e);for(var i=t.split("/").reverse();i.length;){var s=i.pop();if(s){var o=Te.join2(e,s);try{Pe.mkdir(o)}catch(e){}e=o}}return o},createFile:(e,t,r,n,i)=>{var s=Te.join2("string"==typeof e?e:Pe.getPath(e),t),o=Pe.getMode(n,i);return Pe.create(s,o)},createDataFile:(e,t,r,n,i,s)=>{var o=t;e&&(e="string"==typeof e?e:Pe.getPath(e),o=t?Te.join2(e,t):e);var a=Pe.getMode(n,i),c=Pe.create(o,a);if(r){if("string"==typeof r){for(var u=new Array(r.length),l=0,d=r.length;l{var i=Te.join2("string"==typeof e?e:Pe.getPath(e),t),s=Pe.getMode(!!r,!!n);Pe.createDevice.major||(Pe.createDevice.major=64);var o=Pe.makedev(Pe.createDevice.major++,0);return Pe.registerDevice(o,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,t,n,i,s)=>{for(var o=0,a=0;a{for(var o=0;o{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!d)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=hr(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Pe.ErrnoError(29)}},createLazyFile:(e,t,r,n,i)=>{function s(){this.lengthKnown=!1,this.chunks=[]}if(s.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;i||(o=n);var a=this;a.setDataGetter((e=>{var t=e*o,i=(e+1)*o-1;if(i=Math.min(i,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==o&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):hr(i.responseText||"",!0)})(t,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,w("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!c)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var u=Pe.createFile(e,t,a,n,i);a.contents?u.contents=a.contents:a.url&&(u.contents=null,u.url=a.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};return Object.keys(u.stream_ops).forEach((e=>{var t=u.stream_ops[e];l[e]=function(){return Pe.forceLoadFile(u),t.apply(null,arguments)}})),l.read=(e,t,r,n,i)=>{Pe.forceLoadFile(u);var s=e.node.contents;if(i>=s.length)return 0;var o=Math.min(s.length-i,n);if(x(o>=0),s.slice)for(var a=0;a{var l=t?xe.resolve(Te.join2(e,t)):e,d=he("cp "+l);function h(r){function f(r){u&&u(),a||Pe.createDataFile(e,t,r,n,i,c),s&&s(),me(d)}Browser.handledByPreloadPlugin(r,l,f,(()=>{o&&o(),me(d)}))||f(r)}pe(d),"string"==typeof r?function(e,t,r,n){var i=n?"":he("al "+e);f(e,(function(r){x(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),i&&me(i)}),(function(t){if(!r)throw'Loading data file "'+e+'" failed.';r()})),i&&pe(i)}(r,(e=>h(e)),o):h(r)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var n=Pe.indexedDB();try{var i=n.open(Pe.DB_NAME(),Pe.DB_VERSION)}catch(e){return r(e)}i.onupgradeneeded=()=>{w("creating db"),i.result.createObjectStore(Pe.DB_STORE_NAME)},i.onsuccess=()=>{var n=i.result.transaction([Pe.DB_STORE_NAME],"readwrite"),s=n.objectStore(Pe.DB_STORE_NAME),o=0,a=0,c=e.length;function u(){0==a?t():r()}e.forEach((e=>{var t=s.put(Pe.analyzePath(e).object.contents,e);t.onsuccess=()=>{++o+a==c&&u()},t.onerror=()=>{a++,o+a==c&&u()}})),n.onerror=r},i.onerror=r},loadFilesFromDB:(e,t,r)=>{t=t||(()=>{}),r=r||(()=>{});var n=Pe.indexedDB();try{var i=n.open(Pe.DB_NAME(),Pe.DB_VERSION)}catch(e){return r(e)}i.onupgradeneeded=r,i.onsuccess=()=>{var n=i.result;try{var s=n.transaction([Pe.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var o=s.objectStore(Pe.DB_STORE_NAME),a=0,c=0,u=e.length;function l(){0==c?t():r()}e.forEach((e=>{var t=o.get(e);t.onsuccess=()=>{Pe.analyzePath(e).exists&&Pe.unlink(e),Pe.createDataFile(Te.dirname(e),Te.basename(e),t.result,!0,!0,!0),++a+c==u&&l()},t.onerror=()=>{c++,a+c==u&&l()}})),s.onerror=r},i.onerror=r},absolutePath:()=>{ve("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{ve("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{ve("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{ve("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{ve("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{ve("FS.standardizePath has been removed; use PATH.normalize instead")}},Re={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(Te.isAbs(t))return t;var n;if(-100===e)n=Pe.cwd();else{var i=Pe.getStream(e);if(!i)throw new Pe.ErrnoError(8);n=i.path}if(0==t.length){if(!r)throw new Pe.ErrnoError(44);return n}return Te.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&Te.normalize(t)!==Te.normalize(Pe.getPath(e.node)))return-54;throw e}return H[r>>2]=n.dev,H[r+4>>2]=0,H[r+8>>2]=n.ino,H[r+12>>2]=n.mode,H[r+16>>2]=n.nlink,H[r+20>>2]=n.uid,H[r+24>>2]=n.gid,H[r+28>>2]=n.rdev,H[r+32>>2]=0,_e=[n.size>>>0,(ye=n.size,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[r+40>>2]=_e[0],H[r+44>>2]=_e[1],H[r+48>>2]=4096,H[r+52>>2]=n.blocks,H[r+56>>2]=n.atime.getTime()/1e3|0,H[r+60>>2]=0,H[r+64>>2]=n.mtime.getTime()/1e3|0,H[r+68>>2]=0,H[r+72>>2]=n.ctime.getTime()/1e3|0,H[r+76>>2]=0,_e=[n.ino>>>0,(ye=n.ino,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[r+80>>2]=_e[0],H[r+84>>2]=_e[1],0},doMsync:function(e,t,r,n,i){var s=O.slice(e,e+r);Pe.msync(t,s,i,r,n)},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Pe.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=Pe.readlink(e),i=Math.min(r,P(n)),s=L[t+i];return F(n,t,r+1),L[t+i]=s,i},doAccess:function(e,t){if(-8&t)return-28;var r=Pe.lookupPath(e,{follow:!0}).node;if(!r)return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&Pe.nodePermissions(r,n)?-2:0},doReadv:function(e,t,r,n){for(var i=0,s=0;s>2],a=H[t+4>>2];t+=8;var c=Pe.read(e,L,o,a,n);if(c<0)return-1;if(i+=c,c>2],a=H[t+4>>2];t+=8;var c=Pe.write(e,L,o,a,n);if(c<0)return-1;i+=c}return i},varargs:void 0,get:function(){return x(null!=Re.varargs),Re.varargs+=4,H[Re.varargs-4>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Pe.getStream(e);if(!t)throw new Pe.ErrnoError(8);return t}};function Le(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Oe=void 0;function Ne(e){for(var t="",r=e;O[r];)t+=Oe[O[r++]];return t}var ze={},He={},Ve={};function Ge(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function je(e,t){return e=Ge(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function We(e,t){var r=je(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var qe=void 0;function Ye(e){throw new qe(e)}var Ke=void 0;function Xe(e){throw new Ke(e)}function $e(e,t,r){function n(t){var n=r(t);n.length!==e.length&&Xe("Mismatched type converter count");for(var i=0;i{He.hasOwnProperty(e)?i[t]=He[e]:(s.push(e),ze.hasOwnProperty(e)||(ze[e]=[]),ze[e].push((()=>{i[t]=He[e],++o===s.length&&n(i)})))})),0===s.length&&n(i)}function Je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||Ye('type "'+n+'" must have a positive integer typeid pointer'),He.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ye("Cannot register type '"+n+"' twice")}if(He[e]=t,delete Ve[e],ze.hasOwnProperty(e)){var i=ze[e];delete ze[e],i.forEach((e=>e()))}}function Ze(e){if(!(this instanceof bt))return!1;if(!(e instanceof bt))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i}function Qe(e){Ye(e.$$.ptrType.registeredClass.name+" instance already deleted")}var et=!1;function tt(e){}function rt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function nt(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)}var it={};function st(){return Object.keys(dt).length}function ot(){var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e}var at=[];function ct(){for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}}var ut=void 0;function lt(e){ut=e,at.length&&ut&&ut(ct)}var dt={};function ft(e,t){return t=function(e,t){for(void 0===t&&Ye("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),dt[t]}function ht(e,t){return t.ptrType&&t.ptr||Xe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Xe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},mt(Object.create(e,{$$:{value:t}}))}function pt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?ht(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ht(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=it[o];if(!a)return i.call(this);s=this.isConst?a.constPointerType:a.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?ht(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):ht(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}function mt(e){return"undefined"==typeof FinalizationRegistry?(mt=e=>e,e):(et=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),rt(e.$$)})),mt=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t},n=t.ptrType.registeredClass;r.leakWarning=new Error("Embind found a leaked C++ instance "+n.name+" <0x"+t.ptr.toString(16)+">.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(r.leakWarning,pt),et.register(e,r,e)}return e},tt=e=>et.unregister(e),mt(e))}function vt(){if(this.$$.ptr||Qe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=mt(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function gt(){this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),tt(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function yt(){return!this.$$.ptr}function _t(){return this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),at.push(this),1===at.length&&ut&&ut(ct),this.$$.deleteScheduled=!0,this}function bt(){}function wt(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ye("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function St(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}function It(e,t,r){for(;t!==r;)t.upcast||Ye("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Et(e,t){if(null===t)return this.isReference&&Ye("null is not a valid "+this.name),0;t.$$||Ye('Cannot pass "'+Kt(t)+'" as a '+this.name),t.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return It(t.$$.ptr,r,this.registeredClass)}function At(e,t){var r;if(null===t)return this.isReference&&Ye("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ye('Cannot pass "'+Kt(t)+'" as a '+this.name),t.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Ye("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;if(r=It(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ye("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,Yt.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ye("Unsupporting sharing policy")}return r}function kt(e,t){if(null===t)return this.isReference&&Ye("null is not a valid "+this.name),0;t.$$||Ye('Cannot pass "'+Kt(t)+'" as a '+this.name),t.$$.ptr||Ye("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Ye("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return It(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(V[e>>2])}function Tt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function xt(e){this.rawDestructor&&this.rawDestructor(e)}function Dt(e){null!==e&&e.delete()}function Mt(e,t,r,n,i,s,o,a,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=At:n?(this.toWireType=Et,this.destructorFunction=null):(this.toWireType=kt,this.destructorFunction=null)}function Bt(e,r,n){return e.includes("j")?function(e,r,n){x("dynCall_"+e in t,"bad function pointer type - no table for sig '"+e+"'"),n&&n.length?x(n.length===e.substring(1).replace(/j/g,"--").length):x(1==e.length);var i=t["dynCall_"+e];return n&&n.length?i.apply(null,[r].concat(n)):i.call(null,r)}(e,r,n):(x(ke(r),"missing table entry in dynCall: "+r),ke(r).apply(null,n))}function Ut(e,t){var r=(e=Ne(e)).includes("j")?function(e,t){x(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){return r.length=0,Object.assign(r,arguments),Bt(e,t,r)}}(e,t):ke(t);return"function"!=typeof r&&Ye("unknown function pointer with signature "+e+": "+t),r}var Ft=void 0;function Pt(e){var t=_r(e),r=Ne(t);return mr(t),r}function Rt(e,t){var r=[],n={};throw t.forEach((function e(t){n[t]||He[t]||(Ve[t]?Ve[t].forEach(e):(r.push(t),n[t]=!0))})),new Ft(e+": "+r.map(Pt).join([", "]))}function Lt(e,t){for(var r=[],n=0;n>2)+n]);return r}function Ot(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Nt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var r=je(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function zt(e,t,r,n,i){var s=t.length;s<2&&Ye("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,a=!1,c=1;c0?", ":"")+d),f+=(u?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",a)f+="runDestructors(destructors);\n";else for(c=o?1:2;c4&&0==--Gt[e].refcount&&(Gt[e]=void 0,Vt.push(e))}function Wt(){for(var e=0,t=5;t(e||Ye("Cannot use deleted val. handle = "+e),Gt[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Vt.length?Vt.pop():Gt.length;return Gt[t]={refcount:1,value:e},t}}};function Kt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function Xt(e,t){switch(t){case 2:return function(e){return this.fromWireType(G[e>>2])};case 3:return function(e){return this.fromWireType(j[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function $t(e,t,r){switch(t){case 0:return r?function(e){return L[e]}:function(e){return O[e]};case 1:return r?function(e){return N[e>>1]}:function(e){return z[e>>1]};case 2:return r?function(e){return H[e>>2]}:function(e){return V[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jt(e,t){var r=He[e];return void 0===r&&Ye(t+" has unknown type "+Pt(e)),r}var Zt={};var Qt=[];var er=[];function tr(e,t){return x(t===(0|t)),(e>>>0)+4294967296*t}function rr(e,t){if(e<=0)return e;var r=t<=32?Math.abs(1<=r&&(t<=32||e>r)&&(e=-2*r+e),e}function nr(e,t){return e>=0?e:t<=32?2*Math.abs(1<>3]),n+=8):"i64"==e?(t=[H[n>>2],H[n+4>>2]],n+=8):(x(0==(3&n)),e="i32",t=H[n>>2],n+=4),t}for(var s,o,a,c,u,l,d=[];;){var f=r;if(0===(s=L[r>>0]))break;if(o=L[r+1>>0],37==s){var h=!1,p=!1,m=!1,v=!1,g=!1;e:for(;;){switch(o){case 43:h=!0;break;case 45:p=!0;break;case 35:m=!0;break;case 48:if(v)break e;v=!0;break;case 32:g=!0;break;default:break e}r++,o=L[r+1>>0]}var y=0;if(42==o)y=i("i32"),r++,o=L[r+1>>0];else for(;o>=48&&o<=57;)y=10*y+(o-48),r++,o=L[r+1>>0];var _,b=!1,w=-1;if(46==o){if(w=0,b=!0,r++,42==(o=L[r+1>>0]))w=i("i32"),r++;else for(;;){var S=L[r+1>>0];if(S<48||S>57)break;w=10*w+(S-48),r++}o=L[r+1>>0]}switch(w<0&&(w=6,b=!1),String.fromCharCode(o)){case"h":104==L[r+2>>0]?(r++,_=1):_=2;break;case"l":108==L[r+2>>0]?(r++,_=8):_=4;break;case"L":case"q":case"j":_=8;break;case"z":case"t":case"I":_=4;break;default:_=null}switch(_&&r++,o=L[r+1>>0],String.fromCharCode(o)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var I=100==o||105==o;if(a=i("i"+8*(_=_||4)),8==_&&(a=117==o?(u=a[0],l=a[1],(u>>>0)+4294967296*(l>>>0)):tr(a[0],a[1])),_<=4)a=(I?rr:nr)(a&Math.pow(256,_)-1,8*_);var E=Math.abs(a),A="";if(100==o||105==o)T=rr(a,8*_).toString(10);else if(117==o)T=nr(a,8*_).toString(10),a=Math.abs(a);else if(111==o)T=(m?"0":"")+E.toString(8);else if(120==o||88==o){if(A=m&&0!=a?"0x":"",a<0){a=-a,T=(E-1).toString(16);for(var k=[],C=0;C=0&&(h?A="+"+A:g&&(A=" "+A)),"-"==T.charAt(0)&&(A="-"+A,T=T.substr(1));A.length+T.lengthB&&B>=-4?(o=(103==o?"f":"F").charCodeAt(0),w-=B+1):(o=(103==o?"e":"E").charCodeAt(0),w--),M=Math.min(w,20)}101==o||69==o?(T=a.toExponential(M),/[eE][-+]\d$/.test(T)&&(T=T.slice(0,-1)+"0"+T.slice(-1))):102!=o&&70!=o||(T=a.toFixed(M),0===a&&((c=a)<0||0===c&&1/c==-1/0)&&(T="-"+T));var U=T.split("e");if(D&&!m)for(;U[0].length>1&&U[0].includes(".")&&("0"==U[0].slice(-1)||"."==U[0].slice(-1));)U[0]=U[0].slice(0,-1);else for(m&&-1==T.indexOf(".")&&(U[0]+=".");w>M++;)U[0]+="0";T=U[0]+(U.length>1?"e"+U[1]:""),69==o&&(T=T.toUpperCase()),a>=0&&(h?T="+"+T:g&&(T=" "+T))}else T=(a<0?"-":"")+"inf",v=!1;for(;T.length>0]);else d=d.concat(hr("(null)".substr(0,P),!0));if(p)for(;P0;)d.push(32);p||d.push(i("i8"));break;case"n":var R=i("i32*");H[R>>2]=d.length;break;case"%":d.push(s);break;default:for(C=f;C>0])}r+=2}else d.push(s),r+=1}return d}function sr(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];e.callee.toString();var t=e.callee.name,r="(",n=!0;for(var i in e){var s=e[i];n||(r+=", "),n=!1,r+="number"==typeof s||"string"==typeof s?s:"("+typeof s+")"}r+=")";var o=e.callee.caller;return n&&(r=""),[e=o?o.arguments:[],t,r]}function or(e,t){24&e&&(t=t.replace(/\s+$/,""),t+=(t.length>0?"\n":"")+function(e){var t=Ce(),r=t.lastIndexOf("_emscripten_log"),n=t.lastIndexOf("_emscripten_get_callstack"),i=t.indexOf("\n",Math.max(r,n))+1;t=t.slice(i),32&e&&I("EM_LOG_DEMANGLE is deprecated; ignoring"),8&e&&"undefined"==typeof emscripten_source_map&&(I('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var s=null;if(128&e)for(s=sr(arguments);s[1].includes("_emscripten_");)s=sr(s[0]);var o=t.split("\n");t="";var a=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),c=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),u=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in o){var d=o[l],f="",h="",p=0,m=0,v=u.exec(d);if(v&&5==v.length)f=v[1],h=v[2],p=v[3],m=v[4];else{if((v=a.exec(d))||(v=c.exec(d)),!(v&&v.length>=4)){t+=d+"\n";continue}f=v[1],h=v[2],p=v[3],m=0|v[4]}var g=!1;if(8&e){var y=emscripten_source_map.originalPositionFor({line:p,column:m});(g=y&&y.source)&&(64&e&&(y.source=y.source.substring(y.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=" at "+f+" ("+y.source+":"+y.line+":"+y.column+")\n")}(16&e||!g)&&(64&e&&(h=h.substring(h.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(g?" = "+f:" at "+f)+" ("+h+":"+p+":"+m+")\n"),128&e&&s[0]&&(s[1]==f&&s[2].length>0&&(t=t.replace(/\s+$/,""),t+=" with values: "+s[1]+s[2]+"\n"),s=sr(s[0]))}return t.replace(/\s+$/,"")}(e)),1&e?4&e?console.error(t):2&e?console.warn(t):512&e?console.info(t):256&e?console.debug(t):console.log(t):6&e?S(t):w(t)}function ar(e){try{return b.grow(e-R.byteLength+65535>>>16),Q(b.buffer),1}catch(t){S("emscripten_realloc_buffer: Attempted to grow heap from "+R.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}var cr={};function ur(){if(!ur.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:n||"./this.program"};for(var t in cr)void 0===cr[t]?delete e[t]:e[t]=cr[t];var r=[];for(var t in e)r.push(t+"="+e[t]);ur.strings=r}return ur.strings}var lr=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Pe.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},dr=365,fr=146;function hr(e,t,r){var n=r>0?r:P(e)+1,i=new Array(n),s=U(e,i,0,i.length);return t&&(i.length=s),i}Object.defineProperties(lr.prototype,{read:{get:function(){return(this.mode&dr)===dr},set:function(e){e?this.mode|=dr:this.mode&=-366}},write:{get:function(){return(this.mode&fr)===fr},set:function(e){e?this.mode|=fr:this.mode&=-147}},isFolder:{get:function(){return Pe.isDir(this.mode)}},isDevice:{get:function(){return Pe.isChrdev(this.mode)}}}),Pe.FSNode=lr,Pe.staticInit(),Fe={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Oe=e}(),qe=t.BindingError=We(Error,"BindingError"),Ke=t.InternalError=We(Error,"InternalError"),bt.prototype.isAliasOf=Ze,bt.prototype.clone=vt,bt.prototype.delete=gt,bt.prototype.isDeleted=yt,bt.prototype.deleteLater=_t,t.getInheritedInstanceCount=st,t.getLiveInheritedInstances=ot,t.flushPendingDeletes=ct,t.setDelayFunction=lt,Mt.prototype.getPointee=Tt,Mt.prototype.destructor=xt,Mt.prototype.argPackAdvance=8,Mt.prototype.readValueFromPointer=Ct,Mt.prototype.deleteObject=Dt,Mt.prototype.fromWireType=pt,Ft=t.UnboundTypeError=We(Error,"UnboundTypeError"),t.count_emval_handles=Wt,t.get_first_emval=qt;var pr={__syscall_fcntl64:function(e,t,r){Re.varargs=r;try{var n=Re.getStreamFromFD(e);switch(t){case 0:return(i=Re.get())<0?-28:Pe.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=Re.get();return n.flags|=i,0;case 5:i=Re.get();return N[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return s=28,H[yr()>>2]=s,-1}}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return-e.errno}var s},__syscall_openat:function(e,t,r,n){Re.varargs=n;try{t=Re.getStr(t),t=Re.calculateAt(e,t);var i=n?Re.get():0;return Pe.open(t,r,i).fd}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return-e.errno}},_embind_register_bigint:function(e,t,r,n,i){},_embind_register_bool:function(e,t,r,n,i){var s=Le(r);Je(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:i},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=L;else if(2===r)n=N;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);n=H}return this.fromWireType(n[e>>s])},destructorFunction:null})},_embind_register_class:function(e,r,n,i,s,o,a,c,u,l,d,f,h){d=Ne(d),o=Ut(s,o),c&&(c=Ut(a,c)),l&&(l=Ut(u,l)),h=Ut(f,h);var p=Ge(d);!function(e,r,n){t.hasOwnProperty(e)?((void 0===n||void 0!==t[e].overloadTable&&void 0!==t[e].overloadTable[n])&&Ye("Cannot register public name '"+e+"' twice"),wt(t,e,e),t.hasOwnProperty(n)&&Ye("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),t[e].overloadTable[n]=r):(t[e]=r,void 0!==n&&(t[e].numArguments=n))}(p,(function(){Rt("Cannot construct "+d+" due to unbound types",[i])})),$e([e,r,n],i?[i]:[],(function(r){var n,s;r=r[0],s=i?(n=r.registeredClass).instancePrototype:bt.prototype;var a=je(p,(function(){if(Object.getPrototypeOf(this)!==u)throw new qe("Use 'new' to construct "+d);if(void 0===f.constructor_body)throw new qe(d+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new qe("Tried to invoke ctor of "+d+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),u=Object.create(s,{constructor:{value:a}});a.prototype=u;var f=new St(d,a,u,h,n,o,c,l),m=new Mt(d,f,!0,!1,!1),v=new Mt(d+"*",f,!1,!1,!1),g=new Mt(d+" const*",f,!1,!0,!1);return it[e]={pointerType:v,constPointerType:g},function(e,r,n){t.hasOwnProperty(e)||Xe("Replacing nonexistant public symbol"),void 0!==t[e].overloadTable&&void 0!==n?t[e].overloadTable[n]=r:(t[e]=r,t[e].argCount=n)}(p,a),[m,v,g]}))},_embind_register_class_constructor:function(e,t,r,n,i,s){x(t>0);var o=Lt(t,r);i=Ut(n,i),$e([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new qe("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{Rt("Cannot construct "+e.name+" due to unbound types",o)},$e([],o,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=zt(r,n,null,i,s),[]})),[]}))},_embind_register_class_function:function(e,t,r,n,i,s,o,a){var c=Lt(r,n);t=Ne(t),s=Ut(i,s),$e([],[e],(function(e){var n=(e=e[0]).name+"."+t;function i(){Rt("Cannot call "+n+" due to unbound types",c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,l=u[t];return void 0===l||void 0===l.overloadTable&&l.className!==e.name&&l.argCount===r-2?(i.argCount=r-2,i.className=e.name,u[t]=i):(wt(u,t,n),u[t].overloadTable[r-2]=i),$e([],c,(function(i){var a=zt(n,i,e,s,o);return void 0===u[t].overloadTable?(a.argCount=r-2,u[t]=a):u[t].overloadTable[r-2]=a,[]})),[]}))},_embind_register_class_property:function(e,t,r,n,i,s,o,a,c,u){t=Ne(t),i=Ut(n,i),$e([],[e],(function(e){var n=(e=e[0]).name+"."+t,l={get:function(){Rt("Cannot access "+n+" due to unbound types",[r,o])},enumerable:!0,configurable:!0};return l.set=c?()=>{Rt("Cannot access "+n+" due to unbound types",[r,o])}:e=>{Ye(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,l),$e([],c?[r,o]:[r],(function(r){var o=r[0],l={get:function(){var t=Ht(this,e,n+" getter");return o.fromWireType(i(s,t))},enumerable:!0};if(c){c=Ut(a,c);var d=r[1];l.set=function(t){var r=Ht(this,e,n+" setter"),i=[];c(u,r,d.toWireType(i,t)),Ot(i)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,l),[]})),[]}))},_embind_register_emval:function(e,t){Je(e,{name:t=Ne(t),fromWireType:function(e){var t=Yt.toValue(e);return jt(e),t},toWireType:function(e,t){return Yt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Ct,destructorFunction:null})},_embind_register_float:function(e,t,r){var n=Le(r);Je(e,{name:t=Ne(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+Kt(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:Xt(t,n),destructorFunction:null})},_embind_register_integer:function(e,t,r,n,i){t=Ne(t),-1===i&&(i=4294967295);var s=Le(r),o=e=>e;if(0===n){var a=32-8*r;o=e=>e<>>a}var c=t.includes("unsigned"),u=(e,r)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+Kt(e)+'" to '+r);if(ei)throw new TypeError('Passing a number "'+Kt(e)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+i+"]!")};Je(e,{name:t,fromWireType:o,toWireType:c?function(e,t){return u(t,this.name),t>>>0}:function(e,t){return u(t,this.name),t},argPackAdvance:8,readValueFromPointer:$t(t,s,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=V,r=t[e>>=2],i=t[e+1];return new n(R,i,r)}Je(e,{name:r=Ne(r),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var r="std::string"===(t=Ne(t));Je(e,{name:t,fromWireType:function(e){var t,n=V[e>>2];if(r)for(var i=e+4,s=0;s<=n;++s){var o=e+4+s;if(s==n||0==O[o]){var a=B(i,o-i);void 0===t?t=a:(t+=String.fromCharCode(0),t+=a),i=o+1}}else{var c=new Array(n);for(s=0;sP(t):()=>t.length)(),s=vr(4+i+1);if(V[s>>2]=i,r&&n)F(t,s+4,i+1);else if(n)for(var o=0;o255&&(mr(s),Ye("String has UTF-16 code units that do not fit in 8 bits")),O[s+4+o]=a}else for(o=0;oz,a=1):4===t&&(n=X,i=$,o=J,s=()=>V,a=2),Je(e,{name:r,fromWireType:function(e){for(var r,i=V[e>>2],o=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==o[l>>a]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return mr(e),r},toWireType:function(e,n){"string"!=typeof n&&Ye("Cannot pass non-string to C++ string type "+r);var s=o(n),c=vr(4+s+t);return V[c>>2]=s>>a,i(n,c+4,s+t),null!==e&&e.push(mr,c),c},argPackAdvance:8,readValueFromPointer:Ct,destructorFunction:function(e){mr(e)}})},_embind_register_void:function(e,t){Je(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emscripten_date_now:function(){return Date.now()},_emval_as:function(e,t,r){e=Yt.toValue(e),t=Jt(t,"emval::as");var n=[],i=Yt.toHandle(n);return H[r>>2]=i,t.toWireType(n,e)},_emval_call_void_method:function(e,t,r,n){var i,s;(e=Qt[e])(t=Yt.toValue(t),r=void 0===(s=Zt[i=r])?Ne(i):s,null,n)},_emval_decref:jt,_emval_get_method_caller:function(e,t){var r=function(e,t){for(var r=new Array(e),n=0;n>2)+n],"parameter "+n);return r}(e,t),n=r[0],i=n.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",s=er[i];if(void 0!==s)return s;for(var o=["retType"],a=[n],c="",u=0;u4&&(Gt[e].refcount+=1)},_emval_run_destructors:function(e){Ot(Yt.toValue(e)),jt(e)},_emval_take_value:function(e,t){var r=(e=Jt(e,"_emval_take_value")).readValueFromPointer(t);return Yt.toHandle(r)},_gmtime_js:function(e,t){var r=new Date(1e3*H[e>>2]);H[t>>2]=r.getUTCSeconds(),H[t+4>>2]=r.getUTCMinutes(),H[t+8>>2]=r.getUTCHours(),H[t+12>>2]=r.getUTCDate(),H[t+16>>2]=r.getUTCMonth(),H[t+20>>2]=r.getUTCFullYear()-1900,H[t+24>>2]=r.getUTCDay();var n=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),i=(r.getTime()-n)/864e5|0;H[t+28>>2]=i},_localtime_js:function(e,t){var r=new Date(1e3*H[e>>2]);H[t>>2]=r.getSeconds(),H[t+4>>2]=r.getMinutes(),H[t+8>>2]=r.getHours(),H[t+12>>2]=r.getDate(),H[t+16>>2]=r.getMonth(),H[t+20>>2]=r.getFullYear()-1900,H[t+24>>2]=r.getDay();var n=new Date(r.getFullYear(),0,1),i=(r.getTime()-n.getTime())/864e5|0;H[t+28>>2]=i,H[t+36>>2]=-60*r.getTimezoneOffset();var s=new Date(r.getFullYear(),6,1).getTimezoneOffset(),o=n.getTimezoneOffset(),a=0|(s!=o&&r.getTimezoneOffset()==Math.min(o,s));H[t+32>>2]=a},_mktime_js:function(e){var t=new Date(H[e+20>>2]+1900,H[e+16>>2],H[e+12>>2],H[e+8>>2],H[e+4>>2],H[e>>2],0),r=H[e+32>>2],n=t.getTimezoneOffset(),i=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),o=i.getTimezoneOffset(),a=Math.min(o,s);if(r<0)H[e+32>>2]=Number(s!=o&&a==n);else if(r>0!=(a==n)){var c=Math.max(o,s),u=r>0?a:c;t.setTime(t.getTime()+6e4*(u-n))}H[e+24>>2]=t.getDay();var l=(t.getTime()-i.getTime())/864e5|0;return H[e+28>>2]=l,H[e>>2]=t.getSeconds(),H[e+4>>2]=t.getMinutes(),H[e+8>>2]=t.getHours(),H[e+12>>2]=t.getDate(),H[e+16>>2]=t.getMonth(),t.getTime()/1e3|0},_tzset_js:function e(t,r,n){e.called||(e.called=!0,function(e,t,r){var n=(new Date).getFullYear(),i=new Date(n,0,1),s=new Date(n,6,1),o=i.getTimezoneOffset(),a=s.getTimezoneOffset(),c=Math.max(o,a);function u(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}H[e>>2]=60*c,H[t>>2]=Number(o!=a);var l=u(i),d=u(s),f=Z(l),h=Z(d);a>2]=f,H[r+4>>2]=h):(H[r>>2]=h,H[r+4>>2]=f)}(t,r,n))},abort:function(){ve("native code called abort()")},emscripten_log:function(e,t,r){or(e,M(ir(t,r),0))},emscripten_resize_heap:function(e){var t=O.length;x((e>>>=0)>t);var r,n,i=2147483648;if(e>i)return S("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+"2147483648 bytes!"),!1;for(var s=1;s<=4;s*=2){var o=t*(1+.2/s);o=Math.min(o,e+100663296);var a=Math.min(i,(r=Math.max(e,o))+((n=65536)-r%n)%n);if(ar(a))return!0}return S("Failed to grow the heap from "+t+" bytes to "+a+" bytes, not enough memory!"),!1},environ_get:function(e,t){var r=0;return ur().forEach((function(n,i){var s=t+r;H[e+4*i>>2]=s,function(e,t,r){for(var n=0;n>0]=e.charCodeAt(n);r||(L[t>>0]=0)}(n,s),r+=n.length+1})),0},environ_sizes_get:function(e,t){var r=ur();H[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),H[t>>2]=n,0},fd_close:function(e){try{var t=Re.getStreamFromFD(e);return Pe.close(t),0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_fdstat_get:function(e,t){try{var r=Re.getStreamFromFD(e),n=r.tty?2:Pe.isDir(r.mode)?3:Pe.isLink(r.mode)?7:4;return L[t>>0]=n,0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_read:function(e,t,r,n){try{var i=Re.getStreamFromFD(e),s=Re.doReadv(i,t,r);return H[n>>2]=s,0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_seek:function(e,t,r,n,i){try{var s=Re.getStreamFromFD(e),o=4294967296*r+(t>>>0),a=9007199254740992;return o<=-a||o>=a?-61:(Pe.llseek(s,o,n),_e=[s.position>>>0,(ye=s.position,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],H[i>>2]=_e[0],H[i+4>>2]=_e[1],s.getdents&&0===o&&0===n&&(s.getdents=null),0)}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},fd_write:function(e,t,r,n){try{var i=Re.getStreamFromFD(e),s=Re.doWritev(i,t,r);return H[n>>2]=s,0}catch(e){if(void 0===Pe||!(e instanceof Pe.ErrnoError))throw e;return e.errno}},setTempRet0:function(e){}};!function(){var e={env:pr,wasi_snapshot_preview1:pr};function r(e,r){var n,i=e.exports;t.asm=i,x(b=t.asm.memory,"memory not found in wasm exports"),Q(b.buffer),x(te=t.asm.__indirect_function_table,"table not found in wasm exports"),n=t.asm.__wasm_call_ctors,oe.unshift(n),me("wasm-instantiate")}pe("wasm-instantiate");var n=t;function s(e){x(t===n,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),n=null,r(e.instance)}function o(t){return function(){if(!_&&(i||c)){if("function"==typeof fetch&&!we(ge))return fetch(ge,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ge+"'";return e.arrayBuffer()})).catch((function(){return Ie(ge)}));if(f)return new Promise((function(e,t){f(ge,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return Ie(ge)}))}().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){S("failed to asynchronously prepare wasm: "+e),we(ge)&&S("warning: Loading from a file URI ("+ge+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),ve(e)}))}if(t.instantiateWasm)try{return t.instantiateWasm(e,r)}catch(e){return S("Module.instantiateWasm callback failed with error: "+e),!1}_||"function"!=typeof WebAssembly.instantiateStreaming||be(ge)||we(ge)||"function"!=typeof fetch?o(s):fetch(ge,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(s,(function(e){return S("wasm streaming compile failed: "+e),S("falling back to ArrayBuffer instantiation"),o(s)}))}))}(),t.___wasm_call_ctors=Se("__wasm_call_ctors");var mr=t._free=Se("free"),vr=t._malloc=Se("malloc"),gr=t._strlen=Se("strlen"),yr=t.___errno_location=Se("__errno_location"),_r=t.___getTypeName=Se("__getTypeName");t.___embind_register_native_and_builtin_types=Se("__embind_register_native_and_builtin_types");var br=t.___stdio_exit=Se("__stdio_exit"),wr=t._emscripten_builtin_memalign=Se("emscripten_builtin_memalign"),Sr=t._emscripten_stack_init=function(){return(Sr=t._emscripten_stack_init=t.asm.emscripten_stack_init).apply(null,arguments)};t._emscripten_stack_get_free=function(){return(t._emscripten_stack_get_free=t.asm.emscripten_stack_get_free).apply(null,arguments)},t._emscripten_stack_get_base=function(){return(t._emscripten_stack_get_base=t.asm.emscripten_stack_get_base).apply(null,arguments)};var Ir,Er=t._emscripten_stack_get_end=function(){return(Er=t._emscripten_stack_get_end=t.asm.emscripten_stack_get_end).apply(null,arguments)};function Ar(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function kr(e){function r(){Ir||(Ir=!0,t.calledRun=!0,T||(ie(),x(!ce),ce=!0,t.noFSInit||Pe.init.initialized||Pe.init(),Pe.ignorePermissions=!1,Ee(oe),t.onRuntimeInitialized&&t.onRuntimeInitialized(),x(!t._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(ie(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)e=t.postRun.shift(),ae.unshift(e);var e;Ee(ae)}()))}ue>0||(Sr(),ne(),function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)e=t.preRun.shift(),se.unshift(e);var e;Ee(se)}(),ue>0||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),r()}),1)):r(),ie()))}if(t.stackSave=Se("stackSave"),t.stackRestore=Se("stackRestore"),t.stackAlloc=Se("stackAlloc"),t.dynCall_ijiii=Se("dynCall_ijiii"),t.dynCall_viiijj=Se("dynCall_viiijj"),t.dynCall_jij=Se("dynCall_jij"),t.dynCall_jii=Se("dynCall_jii"),t.dynCall_jiji=Se("dynCall_jiji"),t._ff_h264_cabac_tables=112940,C("intArrayFromString",!1),C("intArrayToString",!1),C("ccall",!1),C("cwrap",!1),C("setValue",!1),C("getValue",!1),C("allocate",!1),C("UTF8ArrayToString",!1),C("UTF8ToString",!1),C("stringToUTF8Array",!1),C("stringToUTF8",!1),C("lengthBytesUTF8",!1),C("stackTrace",!1),C("addOnPreRun",!1),C("addOnInit",!1),C("addOnPreMain",!1),C("addOnExit",!1),C("addOnPostRun",!1),C("writeStringToMemory",!1),C("writeArrayToMemory",!1),C("writeAsciiToMemory",!1),C("addRunDependency",!0),C("removeRunDependency",!0),C("FS_createFolder",!1),C("FS_createPath",!0),C("FS_createDataFile",!0),C("FS_createPreloadedFile",!0),C("FS_createLazyFile",!0),C("FS_createLink",!1),C("FS_createDevice",!0),C("FS_unlink",!0),C("getLEB",!1),C("getFunctionTables",!1),C("alignFunctionTables",!1),C("registerFunctions",!1),C("addFunction",!1),C("removeFunction",!1),C("prettyPrint",!1),C("dynCall",!1),C("getCompilerSetting",!1),C("print",!1),C("printErr",!1),C("getTempRet0",!1),C("setTempRet0",!1),C("callMain",!1),C("abort",!1),C("keepRuntimeAlive",!1),C("ptrToString",!1),C("zeroMemory",!1),C("stringToNewUTF8",!1),C("emscripten_realloc_buffer",!1),C("ENV",!1),C("ERRNO_CODES",!1),C("ERRNO_MESSAGES",!1),C("setErrNo",!1),C("inetPton4",!1),C("inetNtop4",!1),C("inetPton6",!1),C("inetNtop6",!1),C("readSockaddr",!1),C("writeSockaddr",!1),C("DNS",!1),C("getHostByName",!1),C("Protocols",!1),C("Sockets",!1),C("getRandomDevice",!1),C("traverseStack",!1),C("UNWIND_CACHE",!1),C("convertPCtoSourceLocation",!1),C("readAsmConstArgsArray",!1),C("readAsmConstArgs",!1),C("mainThreadEM_ASM",!1),C("jstoi_q",!1),C("jstoi_s",!1),C("getExecutableName",!1),C("listenOnce",!1),C("autoResumeAudioContext",!1),C("dynCallLegacy",!1),C("getDynCaller",!1),C("dynCall",!1),C("setWasmTableEntry",!1),C("getWasmTableEntry",!1),C("handleException",!1),C("runtimeKeepalivePush",!1),C("runtimeKeepalivePop",!1),C("callUserCallback",!1),C("maybeExit",!1),C("safeSetTimeout",!1),C("asmjsMangle",!1),C("asyncLoad",!1),C("alignMemory",!1),C("mmapAlloc",!1),C("reallyNegative",!1),C("unSign",!1),C("reSign",!1),C("formatString",!1),C("PATH",!1),C("PATH_FS",!1),C("SYSCALLS",!1),C("getSocketFromFD",!1),C("getSocketAddress",!1),C("JSEvents",!1),C("registerKeyEventCallback",!1),C("specialHTMLTargets",!1),C("maybeCStringToJsString",!1),C("findEventTarget",!1),C("findCanvasEventTarget",!1),C("getBoundingClientRect",!1),C("fillMouseEventData",!1),C("registerMouseEventCallback",!1),C("registerWheelEventCallback",!1),C("registerUiEventCallback",!1),C("registerFocusEventCallback",!1),C("fillDeviceOrientationEventData",!1),C("registerDeviceOrientationEventCallback",!1),C("fillDeviceMotionEventData",!1),C("registerDeviceMotionEventCallback",!1),C("screenOrientation",!1),C("fillOrientationChangeEventData",!1),C("registerOrientationChangeEventCallback",!1),C("fillFullscreenChangeEventData",!1),C("registerFullscreenChangeEventCallback",!1),C("registerRestoreOldStyle",!1),C("hideEverythingExceptGivenElement",!1),C("restoreHiddenElements",!1),C("setLetterbox",!1),C("currentFullscreenStrategy",!1),C("restoreOldWindowedStyle",!1),C("softFullscreenResizeWebGLRenderTarget",!1),C("doRequestFullscreen",!1),C("fillPointerlockChangeEventData",!1),C("registerPointerlockChangeEventCallback",!1),C("registerPointerlockErrorEventCallback",!1),C("requestPointerLock",!1),C("fillVisibilityChangeEventData",!1),C("registerVisibilityChangeEventCallback",!1),C("registerTouchEventCallback",!1),C("fillGamepadEventData",!1),C("registerGamepadEventCallback",!1),C("registerBeforeUnloadEventCallback",!1),C("fillBatteryEventData",!1),C("battery",!1),C("registerBatteryEventCallback",!1),C("setCanvasElementSize",!1),C("getCanvasElementSize",!1),C("demangle",!1),C("demangleAll",!1),C("jsStackTrace",!1),C("stackTrace",!1),C("getEnvStrings",!1),C("checkWasiClock",!1),C("writeI53ToI64",!1),C("writeI53ToI64Clamped",!1),C("writeI53ToI64Signaling",!1),C("writeI53ToU64Clamped",!1),C("writeI53ToU64Signaling",!1),C("readI53FromI64",!1),C("readI53FromU64",!1),C("convertI32PairToI53",!1),C("convertU32PairToI53",!1),C("dlopenMissingError",!1),C("setImmediateWrapped",!1),C("clearImmediateWrapped",!1),C("polyfillSetImmediate",!1),C("uncaughtExceptionCount",!1),C("exceptionLast",!1),C("exceptionCaught",!1),C("ExceptionInfo",!1),C("exception_addRef",!1),C("exception_decRef",!1),C("Browser",!1),C("setMainLoop",!1),C("wget",!1),C("FS",!1),C("MEMFS",!1),C("TTY",!1),C("PIPEFS",!1),C("SOCKFS",!1),C("_setNetworkCallback",!1),C("tempFixedLengthArray",!1),C("miniTempWebGLFloatBuffers",!1),C("heapObjectForWebGLType",!1),C("heapAccessShiftForWebGLHeap",!1),C("GL",!1),C("emscriptenWebGLGet",!1),C("computeUnpackAlignedImageSize",!1),C("emscriptenWebGLGetTexPixelData",!1),C("emscriptenWebGLGetUniform",!1),C("webglGetUniformLocation",!1),C("webglPrepareUniformLocationsBeforeFirstUse",!1),C("webglGetLeftBracePos",!1),C("emscriptenWebGLGetVertexAttrib",!1),C("writeGLArray",!1),C("AL",!1),C("SDL_unicode",!1),C("SDL_ttfContext",!1),C("SDL_audio",!1),C("SDL",!1),C("SDL_gfx",!1),C("GLUT",!1),C("EGL",!1),C("GLFW_Window",!1),C("GLFW",!1),C("GLEW",!1),C("IDBStore",!1),C("runAndAbortIfError",!1),C("InternalError",!1),C("BindingError",!1),C("UnboundTypeError",!1),C("PureVirtualError",!1),C("init_embind",!1),C("throwInternalError",!1),C("throwBindingError",!1),C("throwUnboundTypeError",!1),C("ensureOverloadTable",!1),C("exposePublicSymbol",!1),C("replacePublicSymbol",!1),C("extendError",!1),C("createNamedFunction",!1),C("registeredInstances",!1),C("getBasestPointer",!1),C("registerInheritedInstance",!1),C("unregisterInheritedInstance",!1),C("getInheritedInstance",!1),C("getInheritedInstanceCount",!1),C("getLiveInheritedInstances",!1),C("registeredTypes",!1),C("awaitingDependencies",!1),C("typeDependencies",!1),C("registeredPointers",!1),C("registerType",!1),C("whenDependentTypesAreResolved",!1),C("embind_charCodes",!1),C("embind_init_charCodes",!1),C("readLatin1String",!1),C("getTypeName",!1),C("heap32VectorToArray",!1),C("requireRegisteredType",!1),C("getShiftFromSize",!1),C("integerReadValueFromPointer",!1),C("enumReadValueFromPointer",!1),C("floatReadValueFromPointer",!1),C("simpleReadValueFromPointer",!1),C("runDestructors",!1),C("new_",!1),C("craftInvokerFunction",!1),C("embind__requireFunction",!1),C("tupleRegistrations",!1),C("structRegistrations",!1),C("genericPointerToWireType",!1),C("constNoSmartPtrRawPointerToWireType",!1),C("nonConstNoSmartPtrRawPointerToWireType",!1),C("init_RegisteredPointer",!1),C("RegisteredPointer",!1),C("RegisteredPointer_getPointee",!1),C("RegisteredPointer_destructor",!1),C("RegisteredPointer_deleteObject",!1),C("RegisteredPointer_fromWireType",!1),C("runDestructor",!1),C("releaseClassHandle",!1),C("finalizationRegistry",!1),C("detachFinalizer_deps",!1),C("detachFinalizer",!1),C("attachFinalizer",!1),C("makeClassHandle",!1),C("init_ClassHandle",!1),C("ClassHandle",!1),C("ClassHandle_isAliasOf",!1),C("throwInstanceAlreadyDeleted",!1),C("ClassHandle_clone",!1),C("ClassHandle_delete",!1),C("deletionQueue",!1),C("ClassHandle_isDeleted",!1),C("ClassHandle_deleteLater",!1),C("flushPendingDeletes",!1),C("delayFunction",!1),C("setDelayFunction",!1),C("RegisteredClass",!1),C("shallowCopyInternalPointer",!1),C("downcastPointer",!1),C("upcastPointer",!1),C("validateThis",!1),C("char_0",!1),C("char_9",!1),C("makeLegalFunctionName",!1),C("emval_handle_array",!1),C("emval_free_list",!1),C("emval_symbols",!1),C("init_emval",!1),C("count_emval_handles",!1),C("get_first_emval",!1),C("getStringOrSymbol",!1),C("Emval",!1),C("emval_newers",!1),C("craftEmvalAllocator",!1),C("emval_get_global",!1),C("emval_methodCallers",!1),C("emval_registeredMethods",!1),C("warnOnce",!1),C("stackSave",!1),C("stackRestore",!1),C("stackAlloc",!1),C("AsciiToString",!1),C("stringToAscii",!1),C("UTF16ToString",!1),C("stringToUTF16",!1),C("lengthBytesUTF16",!1),C("UTF32ToString",!1),C("stringToUTF32",!1),C("lengthBytesUTF32",!1),C("allocateUTF8",!1),C("allocateUTF8OnStack",!1),t.writeStackCookie=ne,t.checkStackCookie=ie,k("ALLOC_NORMAL",!1),k("ALLOC_STACK",!1),de=function e(){Ir||kr(),Ir||(de=e)},t.run=kr,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();kr(),e.exports=t})),h=p;function p(e,t){var r=_();return(p=function(e,t){return r[e-=475]})(e,t)}!function(e,t){for(var r=p,n=e();;)try{if(494539===-parseInt(r(485))/1*(-parseInt(r(477))/2)+-parseInt(r(482))/3+-parseInt(r(478))/4*(-parseInt(r(475))/5)+parseInt(r(483))/6+parseInt(r(487))/7*(parseInt(r(484))/8)+parseInt(r(479))/9*(parseInt(r(488))/10)+parseInt(r(490))/11*(-parseInt(r(489))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_);var m=1e-6,v=typeof Float32Array!==h(480)?Float32Array:Array,g=Math.random;var y=Math.PI/180;function _(){var e=["3396664DlQGMo","74411IkSFpn","length","7rsZQUk","6458820KONesa","3372JDYcyd","39787fKgtDF","sqrt","43310amJEUf","abs","14akFGbG","256BKivLc","9tUlGlC","undefined","hypot","2327151iScdeK","845538hbhKLJ"];return(_=function(){return e})()}Math.hypot||(Math[h(481)]=function(){for(var e=h,t=0,r=arguments[e(486)];r--;)t+=arguments[r]*arguments[r];return Math[e(491)](t)});var b=Object.freeze({__proto__:null,EPSILON:m,get ARRAY_TYPE(){return v},RANDOM:g,setMatrixArrayType:function(e){v=e},toRadian:function(e){return e*y},equals:function(e,t){var r=h;return Math[r(476)](e-t)<=m*Math.max(1,Math[r(476)](e),Math[r(476)](t))}});function w(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function S(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],f=t[9],h=t[10],p=t[11],m=t[12],v=t[13],g=t[14],y=t[15],_=r[0],b=r[1],w=r[2],S=r[3];return e[0]=_*n+b*a+w*d+S*m,e[1]=_*i+b*c+w*f+S*v,e[2]=_*s+b*u+w*h+S*g,e[3]=_*o+b*l+w*p+S*y,_=r[4],b=r[5],w=r[6],S=r[7],e[4]=_*n+b*a+w*d+S*m,e[5]=_*i+b*c+w*f+S*v,e[6]=_*s+b*u+w*h+S*g,e[7]=_*o+b*l+w*p+S*y,_=r[8],b=r[9],w=r[10],S=r[11],e[8]=_*n+b*a+w*d+S*m,e[9]=_*i+b*c+w*f+S*v,e[10]=_*s+b*u+w*h+S*g,e[11]=_*o+b*l+w*p+S*y,_=r[12],b=r[13],w=r[14],S=r[15],e[12]=_*n+b*a+w*d+S*m,e[13]=_*i+b*c+w*f+S*v,e[14]=_*s+b*u+w*h+S*g,e[15]=_*o+b*l+w*p+S*y,e}function I(){var e=["sqrt","leftDegrees","sin","661908DRTSbl","EPSILON","408582bnregD","1274661GhuukG","6116348ScHSdy","hypot","cos","28IPvJTT","mat4(","max","upDegrees","abs","611424aAHSKq","tan","24DfZzse","ARRAY_TYPE","downDegrees","7201220rvKToy","4087890Fbpkko"];return(I=function(){return e})()}function E(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=n+n,c=i+i,u=s+s,l=n*a,d=n*c,f=n*u,h=i*c,p=i*u,m=s*u,v=o*a,g=o*c,y=o*u;return e[0]=1-(h+m),e[1]=d+y,e[2]=f-g,e[3]=0,e[4]=d-y,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=f+g,e[9]=p-v,e[10]=1-(l+h),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function A(e,t){var r=D,n=t[0],i=t[1],s=t[2],o=t[4],a=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(459)](n,i,s),e[1]=Math[r(459)](o,a,c),e[2]=Math[r(459)](u,l,d),e}function k(e,t,r,n,i){var s,o=1/Math[D(445)](t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=D,n=e();;)try{if(774601===-parseInt(r(444))/1+-parseInt(r(456))/2+-parseInt(r(450))/3+parseInt(r(458))/4+parseInt(r(449))/5+parseInt(r(454))/6*(-parseInt(r(439))/7)+-parseInt(r(446))/8*(-parseInt(r(457))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(I);var C=k;function T(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=(o+s)*u,e[15]=1,e}var x=T;function D(e,t){var r=I();return(D=function(e,t){return r[e-=438]})(e,t)}function M(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var B=S,U=M,F=Object.freeze({__proto__:null,create:function(){var e=D,t=new(b[e(447)])(16);return b[e(447)]!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},clone:function(e){var t=new v(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,o,a,c,u,l,d,f,h,p,m){var v=new(b[D(447)])(16);return v[0]=e,v[1]=t,v[2]=r,v[3]=n,v[4]=i,v[5]=s,v[6]=o,v[7]=a,v[8]=c,v[9]=u,v[10]=l,v[11]=d,v[12]=f,v[13]=h,v[14]=p,v[15]=m,v},set:function(e,t,r,n,i,s,o,a,c,u,l,d,f,h,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=o,e[6]=a,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=f,e[12]=h,e[13]=p,e[14]=m,e[15]=v,e},identity:w,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],f=t[10],h=t[11],p=t[12],m=t[13],v=t[14],g=t[15],y=r*a-n*o,_=r*c-i*o,b=r*u-s*o,w=n*c-i*a,S=n*u-s*a,I=i*u-s*c,E=l*m-d*p,A=l*v-f*p,k=l*g-h*p,C=d*v-f*m,T=d*g-h*m,x=f*g-h*v,D=y*x-_*T+b*C+w*k-S*A+I*E;return D?(D=1/D,e[0]=(a*x-c*T+u*C)*D,e[1]=(i*T-n*x-s*C)*D,e[2]=(m*I-v*S+g*w)*D,e[3]=(f*S-d*I-h*w)*D,e[4]=(c*k-o*x-u*A)*D,e[5]=(r*x-i*k+s*A)*D,e[6]=(v*b-p*I-g*_)*D,e[7]=(l*I-f*b+h*_)*D,e[8]=(o*T-a*k+u*E)*D,e[9]=(n*k-r*T-s*E)*D,e[10]=(p*S-m*b+g*y)*D,e[11]=(d*b-l*S-h*y)*D,e[12]=(a*A-o*C-c*E)*D,e[13]=(r*C-n*A+i*E)*D,e[14]=(m*_-p*w-v*y)*D,e[15]=(l*w-d*_+f*y)*D,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],f=t[10],h=t[11],p=t[12],m=t[13],v=t[14],g=t[15];return e[0]=a*(f*g-h*v)-d*(c*g-u*v)+m*(c*h-u*f),e[1]=-(n*(f*g-h*v)-d*(i*g-s*v)+m*(i*h-s*f)),e[2]=n*(c*g-u*v)-a*(i*g-s*v)+m*(i*u-s*c),e[3]=-(n*(c*h-u*f)-a*(i*h-s*f)+d*(i*u-s*c)),e[4]=-(o*(f*g-h*v)-l*(c*g-u*v)+p*(c*h-u*f)),e[5]=r*(f*g-h*v)-l*(i*g-s*v)+p*(i*h-s*f),e[6]=-(r*(c*g-u*v)-o*(i*g-s*v)+p*(i*u-s*c)),e[7]=r*(c*h-u*f)-o*(i*h-s*f)+l*(i*u-s*c),e[8]=o*(d*g-h*m)-l*(a*g-u*m)+p*(a*h-u*d),e[9]=-(r*(d*g-h*m)-l*(n*g-s*m)+p*(n*h-s*d)),e[10]=r*(a*g-u*m)-o*(n*g-s*m)+p*(n*u-s*a),e[11]=-(r*(a*h-u*d)-o*(n*h-s*d)+l*(n*u-s*a)),e[12]=-(o*(d*v-f*m)-l*(a*v-c*m)+p*(a*f-c*d)),e[13]=r*(d*v-f*m)-l*(n*v-i*m)+p*(n*f-i*d),e[14]=-(r*(a*v-c*m)-o*(n*v-i*m)+p*(n*c-i*a)),e[15]=r*(a*f-c*d)-o*(n*f-i*d)+l*(n*c-i*a),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],c=e[7],u=e[8],l=e[9],d=e[10],f=e[11],h=e[12],p=e[13],m=e[14],v=e[15];return(t*o-r*s)*(d*v-f*m)-(t*a-n*s)*(l*v-f*p)+(t*c-i*s)*(l*m-d*p)+(r*a-n*o)*(u*v-f*h)-(r*c-i*o)*(u*m-d*h)+(n*c-i*a)*(u*p-l*h)},multiply:S,translate:function(e,t,r){var n,i,s,o,a,c,u,l,d,f,h,p,m=r[0],v=r[1],g=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*g+t[12],e[13]=t[1]*m+t[5]*v+t[9]*g+t[13],e[14]=t[2]*m+t[6]*v+t[10]*g+t[14],e[15]=t[3]*m+t[7]*v+t[11]*g+t[15]):(n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],f=t[9],h=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=o,e[4]=a,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=f,e[10]=h,e[11]=p,e[12]=n*m+a*v+d*g+t[12],e[13]=i*m+c*v+f*g+t[13],e[14]=s*m+u*v+h*g+t[14],e[15]=o*m+l*v+p*g+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,o,a,c,u,l,d,f,h,p,v,g,y,_,b,w,S,I,E,A,k,C,T,x=D,M=n[0],B=n[1],U=n[2],F=Math.hypot(M,B,U);return F0?(r[0]=2*(a*o+l*n+c*s-u*i)/d,r[1]=2*(c*o+l*i+u*n-a*s)/d,r[2]=2*(u*o+l*s+a*i-c*n)/d):(r[0]=2*(a*o+l*n+c*s-u*i),r[1]=2*(c*o+l*i+u*n-a*s),r[2]=2*(u*o+l*s+a*i-c*n)),E(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:A,getRotation:function(e,t){var r=D,n=new v(3);A(n,t);var i=1/n[0],s=1/n[1],o=1/n[2],a=t[0]*i,c=t[1]*s,u=t[2]*o,l=t[4]*i,d=t[5]*s,f=t[6]*o,h=t[8]*i,p=t[9]*s,m=t[10]*o,g=a+d+m,y=0;return g>0?(y=2*Math[r(451)](g+1),e[3]=.25*y,e[0]=(f-p)/y,e[1]=(h-u)/y,e[2]=(c-l)/y):a>d&&a>m?(y=2*Math[r(451)](1+a-d-m),e[3]=(f-p)/y,e[0]=.25*y,e[1]=(c+l)/y,e[2]=(h+u)/y):d>m?(y=2*Math[r(451)](1+d-a-m),e[3]=(h-u)/y,e[0]=(c+l)/y,e[1]=.25*y,e[2]=(f+p)/y):(y=2*Math[r(451)](1+m-a-d),e[3]=(c-l)/y,e[0]=(h+u)/y,e[1]=(f+p)/y,e[2]=.25*y),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=t[3],c=i+i,u=s+s,l=o+o,d=i*c,f=i*u,h=i*l,p=s*u,m=s*l,v=o*l,g=a*c,y=a*u,_=a*l,b=n[0],w=n[1],S=n[2];return e[0]=(1-(p+v))*b,e[1]=(f+_)*b,e[2]=(h-y)*b,e[3]=0,e[4]=(f-_)*w,e[5]=(1-(d+v))*w,e[6]=(m+g)*w,e[7]=0,e[8]=(h+y)*S,e[9]=(m-g)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],o=t[1],a=t[2],c=t[3],u=s+s,l=o+o,d=a+a,f=s*u,h=s*l,p=s*d,m=o*l,v=o*d,g=a*d,y=c*u,_=c*l,b=c*d,w=n[0],S=n[1],I=n[2],E=i[0],A=i[1],k=i[2],C=(1-(m+g))*w,T=(h+b)*w,x=(p-_)*w,D=(h-b)*S,M=(1-(f+g))*S,B=(v+y)*S,U=(p+_)*I,F=(v-y)*I,P=(1-(f+m))*I;return e[0]=C,e[1]=T,e[2]=x,e[3]=0,e[4]=D,e[5]=M,e[6]=B,e[7]=0,e[8]=U,e[9]=F,e[10]=P,e[11]=0,e[12]=r[0]+E-(C*E+D*A+U*k),e[13]=r[1]+A-(T*E+M*A+F*k),e[14]=r[2]+k-(x*E+B*A+P*k),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=r+r,a=n+n,c=i+i,u=r*o,l=n*o,d=n*a,f=i*o,h=i*a,p=i*c,m=s*o,v=s*a,g=s*c;return e[0]=1-d-p,e[1]=l+g,e[2]=f-v,e[3]=0,e[4]=l-g,e[5]=1-u-p,e[6]=h+m,e[7]=0,e[8]=f+v,e[9]=h-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,o){var a=1/(r-t),c=1/(i-n),u=1/(s-o);return e[0]=2*s*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+n)*c,e[10]=(o+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*s*2*u,e[15]=0,e},perspectiveNO:k,perspective:C,perspectiveZO:function(e,t,r,n,i){var s,o=1/Math[D(445)](t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=D,s=Math[i(445)](t[i(442)]*Math.PI/180),o=Math.tan(t[i(448)]*Math.PI/180),a=Math[i(445)](t[i(452)]*Math.PI/180),c=Math[i(445)](t.rightDegrees*Math.PI/180),u=2/(a+c),l=2/(s+o);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(a-c)*u*.5,e[9]=(s-o)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:T,ortho:x,orthoZO:function(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,o,a,c,u,l,d,f,h,p=D,v=t[0],g=t[1],y=t[2],_=n[0],S=n[1],I=n[2],E=r[0],A=r[1],k=r[2];return Math[p(443)](v-E)0&&(d*=p=1/Math.sqrt(p),f*=p,h*=p);var m=u*h-l*f,v=l*d-c*h,g=c*f-u*d;return(p=m*m+v*v+g*g)>0&&(m*=p=1/Math[i(451)](p),v*=p,g*=p),e[0]=m,e[1]=v,e[2]=g,e[3]=0,e[4]=f*g-h*v,e[5]=h*m-d*g,e[6]=d*v-f*m,e[7]=0,e[8]=d,e[9]=f,e[10]=h,e[11]=0,e[12]=s,e[13]=o,e[14]=a,e[15]=1,e},str:function(e){return D(440)+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[D(459)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:M,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=D,n=e[0],i=e[1],s=e[2],o=e[3],a=e[4],c=e[5],u=e[6],l=e[7],d=e[8],f=e[9],h=e[10],p=e[11],v=e[12],g=e[13],y=e[14],_=e[15],w=t[0],S=t[1],I=t[2],E=t[3],A=t[4],k=t[5],C=t[6],T=t[7],x=t[8],M=t[9],B=t[10],U=t[11],F=t[12],P=t[13],R=t[14],L=t[15];return Math[r(443)](n-w)<=b[r(455)]*Math[r(441)](1,Math[r(443)](n),Math.abs(w))&&Math[r(443)](i-S)<=m*Math[r(441)](1,Math[r(443)](i),Math[r(443)](S))&&Math[r(443)](s-I)<=b[r(455)]*Math.max(1,Math.abs(s),Math.abs(I))&&Math[r(443)](o-E)<=b[r(455)]*Math.max(1,Math[r(443)](o),Math[r(443)](E))&&Math.abs(a-A)<=b[r(455)]*Math[r(441)](1,Math.abs(a),Math[r(443)](A))&&Math.abs(c-k)<=b[r(455)]*Math[r(441)](1,Math[r(443)](c),Math[r(443)](k))&&Math[r(443)](u-C)<=b[r(455)]*Math[r(441)](1,Math[r(443)](u),Math[r(443)](C))&&Math.abs(l-T)<=b[r(455)]*Math[r(441)](1,Math[r(443)](l),Math[r(443)](T))&&Math.abs(d-x)<=m*Math[r(441)](1,Math.abs(d),Math.abs(x))&&Math[r(443)](f-M)<=b[r(455)]*Math[r(441)](1,Math[r(443)](f),Math.abs(M))&&Math[r(443)](h-B)<=b[r(455)]*Math[r(441)](1,Math[r(443)](h),Math[r(443)](B))&&Math[r(443)](p-U)<=b[r(455)]*Math.max(1,Math[r(443)](p),Math[r(443)](U))&&Math[r(443)](v-F)<=b[r(455)]*Math[r(441)](1,Math[r(443)](v),Math[r(443)](F))&&Math[r(443)](g-P)<=b[r(455)]*Math[r(441)](1,Math[r(443)](g),Math[r(443)](P))&&Math[r(443)](y-R)<=b[r(455)]*Math[r(441)](1,Math[r(443)](y),Math[r(443)](R))&&Math[r(443)](_-L)<=b[r(455)]*Math.max(1,Math[r(443)](_),Math[r(443)](L))},mul:B,sub:U});function P(){var e=new(b[R(221)])(3);return v!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function R(e,t){var r=H();return(R=function(e,t){return r[e-=216]})(e,t)}function L(e){var t=R,r=e[0],n=e[1],i=e[2];return Math[t(216)](r,n,i)}function O(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function N(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function z(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function H(){var e=["6447SXboDe","RANDOM","11skdmza","round","ceil","227ntWnov","2200010YoZbFU","93200jKBRWf","184bxaqRC","abs","cos","132MLvTpe","1888oPmiGU","acos","562367yqSxyo","sin","floor","min","sqrt","84tAlVvw","4710TwncqE","hypot","685hRMrzU","max","vec3(","EPSILON","ARRAY_TYPE","1858437iISNsI","length"];return(H=function(){return e})()}function V(e,t){var r=R,n=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return Math[r(216)](n,i,s)}function G(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function j(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function W(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}!function(e,t){for(var r=R,n=e();;)try{if(115152===parseInt(r(229))/1*(parseInt(r(236))/2)+-parseInt(r(224))/3*(-parseInt(r(232))/4)+-parseInt(r(217))/5*(parseInt(r(244))/6)+-parseInt(r(243))/7*(parseInt(r(231))/8)+-parseInt(r(222))/9+parseInt(r(230))/10*(-parseInt(r(226))/11)+-parseInt(r(235))/12*(-parseInt(r(238))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(H);var q,Y=O,K=N,X=z,$=V,J=G,Z=L,Q=j,ee=(q=P(),function(e,t,r,n,i,s){var o,a,c=R;for(!t&&(t=3),!r&&(r=0),a=n?Math.min(n*t+r,e[c(223)]):e.length,o=r;o0&&(o=1/Math[r(242)](o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e},dot:W,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[0],a=r[1],c=r[2];return e[0]=i*c-s*a,e[1]=s*o-n*c,e[2]=n*a-i*o,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=o+n*(r[2]-o),e},hermite:function(e,t,r,n,i,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,u=o*(s-1),l=o*(3-2*s);return e[0]=t[0]*a+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*a+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*a+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var o=1-s,a=o*o,c=s*s,u=a*o,l=3*s*a,d=3*c*o,f=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*f,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*f,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*f,e},random:function(e,t){var r=R;t=t||1;var n=2*b[r(225)]()*Math.PI,i=2*b[r(225)]()-1,s=Math.sqrt(1-i*i)*t;return e[0]=Math.cos(n)*s,e[1]=Math.sin(n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],o=r[3],a=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*a-n*u,f=n*c-i*a,h=i*f-s*d,p=s*l-n*f,m=n*d-i*l,v=2*o;return l*=v,d*=v,f*=v,h*=2,p*=2,m*=2,e[0]=a+l+h,e[1]=c+d+p,e[2]=u+f+m,e},rotateX:function(e,t,r,n){var i=R,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0],o[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),o[2]=s[1]*Math[i(239)](n)+s[2]*Math.cos(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateY:function(e,t,r,n){var i=R,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[2]*Math[i(239)](n)+s[0]*Math[i(234)](n),o[1]=s[1],o[2]=s[2]*Math[i(234)](n)-s[0]*Math.sin(n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateZ:function(e,t,r,n){var i=R,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0]*Math[i(234)](n)-s[1]*Math[i(239)](n),o[1]=s[0]*Math[i(239)](n)+s[1]*Math[i(234)](n),o[2]=s[2],e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},angle:function(e,t){var r=R,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2],u=Math[r(242)](n*n+i*i+s*s)*Math[r(242)](o*o+a*a+c*c),l=u&&W(e,t)/u;return Math[r(237)](Math[r(241)](Math.max(l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return R(219)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=R,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2];return Math[r(233)](n-o)<=b[r(220)]*Math[r(218)](1,Math.abs(n),Math[r(233)](o))&&Math[r(233)](i-a)<=b[r(220)]*Math[r(218)](1,Math[r(233)](i),Math[r(233)](a))&&Math[r(233)](s-c)<=m*Math[r(218)](1,Math.abs(s),Math[r(233)](c))},sub:Y,mul:K,div:X,dist:$,sqrDist:J,len:Z,sqrLen:Q,forEach:ee});function re(){var e=["6284716dMSUjR","230UvzBdw","7FXBioZ","530708WFBIXE","5972464rDFWXd","25698244LWNiyK","2647380uUNVAI","180445hDvrNH","1QvPHLH","294MofDDb","754155PJLJnH"];return(re=function(){return e})()}function ne(e,t){var r=re();return(ne=function(e,t){return r[e-=173]})(e,t)}function ie(e,t){const r=se();return(ie=function(e,t){return r[e-=296]})(e,t)}function se(){const e=["createBuffer","uniform1i","createShader","aTexturePosition","uniformMatrix4fv","LINEAR","ortho","vertexPosition","STATIC_DRAW","slice","deleteBuffer","modelMatrix","TEXTURE1","enableVertexAttribArray","TEXTURE_MIN_FILTER","indices","concat","UNPACK_ALIGNMENT","TRIANGLES","UNSIGNED_BYTE","ARRAY_BUFFER","createProgram","TEXTURE_WRAP_S","drawElements","utexture","vtexture","getUniformLocation","pixelStorei","viewport","texturePosition","DEPTH_TEST","bindTexture","8335551wqAcNT","COLOR_BUFFER_BIT","viewMatrix","bindBuffer","deleteShader","getProgramParameter","getAttribLocation","ytexture","8227272UoeWCs","897214licqOu","uProjectionMatrix","createTexture","uniformLocations","DEPTH_BUFFER_BIT","rgbaTexture","position","clear","texImage2D","165PVReZX","shaderSource","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","compileShader","bufferData","TEXTURE_2D","useProgram","attribLocations","clearColor","create","lookAt","getShaderParameter","depthFunc","vertexAttribPointer","activeTexture","CLAMP_TO_EDGE","uViewMatrix","uTexture","aVertexPosition","log","TEXTURE_MAG_FILTER","fromValues","rgbatexture","159399RgGSZS","linkProgram","isyuv","texParameteri","13121776eexoFm","texPosition","Unable to initialize the shader program: ","deleteTexture","TEXTURE2","FLOAT","attachShader","program","LINK_STATUS","LUMINANCE","40576815uyfiNR","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","LEQUAL","clearDepth","TEXTURE0","95868MVnAiX","ELEMENT_ARRAY_BUFFER","TEXTURE_WRAP_T","vTexture","3ukUpEP","getShaderInfoLog","An error occurred compiling the shaders: ","projectionMatrix"];return(se=function(){return e})()}!function(e,t){for(var r=ne,n=e();;)try{if(970423===-parseInt(r(178))/1*(-parseInt(r(173))/2)+parseInt(r(176))/3+parseInt(r(181))/4+-parseInt(r(177))/5*(-parseInt(r(179))/6)+parseInt(r(183))/7*(parseInt(r(174))/8)+parseInt(r(180))/9*(-parseInt(r(182))/10)+-parseInt(r(175))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(re),function(e,t){const r=ie,n=e();for(;;)try{if(858867===parseInt(r(352))/1*(-parseInt(r(297))/2)+-parseInt(r(329))/3+parseInt(r(348))/4*(-parseInt(r(306))/5)+parseInt(r(296))/6+-parseInt(r(388))/7+-parseInt(r(333))/8+parseInt(r(343))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(se);var oe=(e,t)=>{const r=ie,n=r(344),i=r(308);t&&e[r(383)](e[r(373)],1);const s=function(){const t=r,s=h(e.VERTEX_SHADER,n),o=h(e.FRAGMENT_SHADER,i),a=e[t(377)]();return e[t(339)](a,s),e[t(339)](a,o),e[t(330)](a),e[t(393)](a,e[t(341)])?a:(console[t(325)](t(335)+e.getProgramInfoLog(a)),null)}();let o={program:s,attribLocations:{vertexPosition:e[r(394)](s,r(324)),texturePosition:e[r(394)](s,r(359))},uniformLocations:{projectionMatrix:e[r(382)](s,r(298)),modelMatrix:e.getUniformLocation(s,"uModelMatrix"),viewMatrix:e[r(382)](s,r(322)),rgbatexture:e.getUniformLocation(s,r(302)),ytexture:e.getUniformLocation(s,"yTexture"),utexture:e.getUniformLocation(s,r(323)),vtexture:e[r(382)](s,r(351)),isyuv:e[r(382)](s,r(331))}},a=function(){const t=r,n=e[t(356)]();e[t(391)](e[t(376)],n);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e[t(364)]);var i=[];i=i[t(372)]([0,1],[1,1],[1,0],[0,0]);const s=e.createBuffer();e.bindBuffer(e[t(376)],s),e[t(310)](e.ARRAY_BUFFER,new Float32Array(i),e[t(364)]);const o=e[t(356)]();e[t(391)](e[t(349)],o);return e[t(310)](e[t(349)],new Uint16Array([0,1,2,0,2,3]),e[t(364)]),{position:n,texPosition:s,indices:o}}(),c=f(),u=f(),l=f(),d=f();function f(){const t=r;let n=e[t(299)]();return e.bindTexture(e.TEXTURE_2D,n),e[t(332)](e[t(311)],e[t(326)],e[t(361)]),e[t(332)](e.TEXTURE_2D,e[t(370)],e[t(361)]),e[t(332)](e[t(311)],e[t(378)],e[t(321)]),e[t(332)](e.TEXTURE_2D,e[t(350)],e.CLAMP_TO_EDGE),n}function h(t,n){const i=r,s=e[i(358)](t);return e[i(307)](s,n),e[i(309)](s),e[i(317)](s,e.COMPILE_STATUS)?s:(console[i(325)](i(354)+e[i(353)](s)),e[i(392)](s),null)}function p(t,n){const i=r;e[i(384)](0,0,t,n),e[i(314)](0,0,0,0),e[i(346)](1),e.enable(e[i(386)]),e[i(318)](e[i(345)]),e[i(304)](e[i(389)]|e[i(301)]);const s=F[i(315)]();F[i(362)](s,-1,1,-1,1,.1,100);const c=F[i(315)]();w(c);const f=F[i(315)]();F[i(316)](f,te[i(327)](0,0,0),te[i(327)](0,0,-1),te[i(327)](0,1,0));{const t=3,r=e[i(338)],n=!1,s=0,c=0;e[i(391)](e[i(376)],a[i(303)]),e[i(319)](o[i(313)][i(363)],t,r,n,s,c),e[i(369)](o.attribLocations[i(363)])}{const t=2,r=e[i(338)],n=!1,s=0,c=0;e[i(391)](e[i(376)],a[i(334)]),e[i(319)](o.attribLocations[i(385)],t,r,n,s,c),e.enableVertexAttribArray(o[i(313)][i(385)])}e[i(320)](e[i(347)]+3),e[i(387)](e[i(311)],u),e[i(320)](e[i(347)]+4),e[i(387)](e[i(311)],l),e.activeTexture(e[i(347)]+5),e[i(387)](e[i(311)],d),e[i(391)](e[i(349)],a.indices),e[i(312)](o[i(340)]),e.uniformMatrix4fv(o.uniformLocations[i(355)],!1,s),e[i(360)](o.uniformLocations[i(367)],!1,c),e[i(360)](o[i(300)][i(390)],!1,f),e[i(357)](o[i(300)][i(328)],2),e[i(357)](o[i(300)][i(395)],3),e[i(357)](o[i(300)][i(380)],4),e.uniform1i(o[i(300)][i(381)],5),e[i(357)](o[i(300)][i(331)],1);{const t=6,r=e.UNSIGNED_SHORT,n=0;e[i(379)](e[i(374)],t,r,n)}}return{render:function(t,n,i,s,o){const a=r;e[a(320)](e[a(347)]),e.bindTexture(e[a(311)],u),e[a(305)](e[a(311)],0,e[a(342)],t,n,0,e[a(342)],e[a(375)],i),e.activeTexture(e[a(368)]),e.bindTexture(e[a(311)],l),e[a(305)](e[a(311)],0,e[a(342)],t/2,n/2,0,e[a(342)],e[a(375)],s),e[a(320)](e[a(337)]),e[a(387)](e.TEXTURE_2D,d),e[a(305)](e.TEXTURE_2D,0,e[a(342)],t/2,n/2,0,e[a(342)],e[a(375)],o),p(t,n)},renderYUV:function(t,n,i){const s=r;let o=i[s(365)](0,t*n),a=i[s(365)](t*n,t*n*5/4),c=i[s(365)](t*n*5/4,t*n*3/2);e.activeTexture(e.TEXTURE0),e[s(387)](e[s(311)],u),e[s(305)](e[s(311)],0,e.LUMINANCE,t,n,0,e[s(342)],e[s(375)],o),e[s(320)](e.TEXTURE1),e[s(387)](e[s(311)],l),e.texImage2D(e[s(311)],0,e[s(342)],t/2,n/2,0,e[s(342)],e.UNSIGNED_BYTE,a),e.activeTexture(e[s(337)]),e.bindTexture(e[s(311)],d),e[s(305)](e[s(311)],0,e[s(342)],t/2,n/2,0,e[s(342)],e.UNSIGNED_BYTE,c),p(t,n)},destroy:function(){const t=r;e.deleteProgram(o.program),e.deleteBuffer(a[t(303)]),e[t(366)](a[t(334)]),e.deleteBuffer(a[t(371)]),e.deleteTexture(c),e[t(336)](u),e[t(336)](l),e[t(336)](d),o=null,a=null,c=null,u=null,l=null,d=null}}};const ae=ue;!function(e,t){const r=ue,n=e();for(;;)try{if(384369===-parseInt(r(500))/1*(-parseInt(r(467))/2)+parseInt(r(575))/3+-parseInt(r(364))/4+parseInt(r(453))/5+-parseInt(r(657))/6+-parseInt(r(627))/7+parseInt(r(380))/8*(-parseInt(r(368))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(We);const ce={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};function ue(e,t){const r=We();return(ue=function(e,t){return r[e-=195]})(e,t)}ae(293),ae(359),ae(514),ae(644),ae(458);const le={fetch:ae(293),hls:ae(359),websocket:ae(411),webrtc:ae(514),webTransport:ae(644),worker:ae(273),aliyunRtc:"aliyunRtc",mp4:ae(195)},de={player:ae(379),playerAudio:"playerAudio",playbackTF:ae(650),talk:ae(629),playVod:ae(638)},fe={mp4:"mp4",webm:"webm",flv:ae(403),mov:"mov"},he={flv:ae(403),m7s:ae(410),hls:ae(359),webrtc:ae(514),webTransport:ae(644),nakedFlow:"nakedFlow",fmp4:ae(432),mpeg4:ae(655),aliyunRtc:ae(458),ts:"ts",g711:ae(485),pcm:"pcm"};ae(591),ae(628),ae(388),ae(398),ae(207);const pe={mse:ae(312),wcs:ae(435),offscreen:ae(362),wasm:"wasm",simd:ae(439),mt:"mt",webrtc:ae(514),hls:ae(359),aliyunRtc:ae(458)},me={canvas:ae(530),video:ae(632)},ve={debug:"debug",warn:ae(208)},ge={click:"click",mouseDownAndUp:ae(440)},ye={normal:ae(624),simple:ae(449)},_e={normal:ae(624),small:"small"},be=ae(588),we=ae(428),Se=36e5,Ie=4080,Ee=12;ae(593),ae(546);const Ae={playIsNotPauseOrUrlIsNull:ae(236),webglAlignmentError:ae(307),webglContextLostError:ae(409),mediaSourceH265NotSupport:ae(470),mseSourceBufferFull:ae(518),mediaSourceAppendBufferError:ae(415),mseSourceBufferError:"解码失败",mseAddSourceBufferError:ae(415),mseWorkerAddSourceBufferError:ae(415),mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:ae(479),mediaSourceAudioG711NotSupport:"硬解码不支持G711a/u音频格式",mediaSourceAudioInitTimeout:ae(442),mediaSourceAudioNoDataTimeout:ae(506),mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",mediaSourceBufferedIsZeroError:ae(479),webcodecsH265NotSupport:ae(470),webcodecsUnsupportedConfigurationError:ae(415),webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:ae(344),webcodecsAudioInitTimeout:ae(442),webcodecsAudioNoDataTimeout:ae(506),wcsWidthOrHeightChange:"解码失败",wasmDecodeError:ae(344),simdDecodeError:ae(344),wasmWidthOrHeightChange:ae(479),wasmUseVideoRenderError:ae(331),videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:ae(371),networkDelayTimeout:ae(261),fetchError:ae(370),streamEnd:ae(418),websocket1006Error:ae(616),websocketError:"请求失败",webrtcError:"请求失败",hlsError:ae(370),decoderWorkerInitError:"初始化worker失败",decoderWorkerWasmError:ae(351),videoElementPlayingFailedForWebrtc:ae(331),videoInfoError:ae(542),webrtcStreamH265:ae(416),delayTimeout:"播放超时重播失败",loadingTimeout:ae(321),loadingTimeoutRetryEnd:ae(321),delayTimeoutRetryEnd:"播放超时重播失败",flvDemuxBufferSizeTooLarge:ae(308),audioChannelError:ae(595),aliyunRtcError:ae(370),mseWaitVideoCanplayTimeout:ae(479),initDecoderWorkerTimeout:ae(660)},ke={playType:de[ae(379)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:ve[ae(208)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:_e[ae(624)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:"decoder-pro.js",decoderOld:ae(450),decoderAudio:ae(337),decoderHard:ae(438),decoderHardNotWasm:ae(604),wasmMp4RecorderDecoder:ae(614),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:ae(336),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:ye.normal,duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:ce[ae(293)],demuxType:he[ae(403)],useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:pe[ae(498)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:fe.mp4,checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:ae(240),ptzClickType:ge[ae(469)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:Ae,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:me.video,webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:"white",opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:ae(206),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:ae(247),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};ae(608),ae(610),ae(480),ae(224),ae(383),ae(242),ae(451),ae(464),ae(661),ae(358),ae(577),ae(515),ae(547),ae(658),ae(490),ae(395),ae(636);const Ce={init:ae(201),initVideo:ae(553),render:ae(433),playAudio:ae(594),initAudio:ae(549),kBps:"kBps",decode:ae(263),audioCode:ae(551),audioNalu:ae(541),audioAACSequenceHeader:ae(522),videoCode:"videoCode",videoCodec:ae(478),videoNalu:"videoNalu",videoPayload:ae(407),audioPayload:ae(249),wasmError:ae(495),workerFetch:ae(623),iframeIntervalTs:ae(523),isDropping:ae(516),workerEnd:ae(528),networkDelay:"networkDelay",playbackStreamVideoFps:ae(552),wasmWidthOrHeightChange:ae(426),simdDecodeError:ae(586),simdH264DecodeVideoWidthIsTooLarge:ae(401),websocketOpen:ae(520),closeEnd:"closeEnd",tempStream:ae(212),videoSEI:ae(557),flvScriptData:"flvScriptData",aacSequenceHeader:ae(488),videoSequenceHeader:"videoSequenceHeader",flvBufferData:ae(462),checkFirstIFrame:ae(521),mseHandle:"mseHandle",mseFirstRenderTime:ae(289),mseError:"mseError",notSupportNewWasm:ae(531)};ae(555);const Te={audio:1,video:2},xe={audio:8,video:9,scriptData:18},De={init:ae(201),decode:ae(263),audioDecode:ae(421),videoDecode:ae(434),initAudioCodec:ae(283),initVideoCodec:ae(250),close:ae(648),updateConfig:ae(349),resetDecode:ae(404),clearBuffer:"clearBuffer",resetAudioDecode:ae(496),resetVideoDecode:ae(252),fetchStream:ae(481),sendWsMessage:ae(420),mseUpdateVideoTimestamp:ae(350),playbackIsPause:ae(239)};ae(293),ae(535),ae(483),ae(278),ae(601),ae(532),ae(429),ae(535),ae(278),ae(654),ae(520);const Me={fullscreen:ae(425),webFullscreen:ae(459),decoderWorkerInit:ae(229),play:ae(306),playing:ae(476),pause:ae(436),mute:ae(326),load:"load",loading:"loading",zooming:ae(653),drawingRect:ae(499),drawingRectInfo:ae(341),videoInfo:ae(199),timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:ae(203),error:ae(437),kBps:ae(259),timeout:ae(597),delayTimeout:ae(288),delayTimeoutRetryEnd:ae(622),loadingTimeout:ae(645),loadingTimeoutRetryEnd:ae(640),stats:"stats",performance:"performance",videoSmooth:ae(391),faceDetectActive:ae(613),objectDetectActive:ae(402),occlusionDetectActive:ae(568),imageDetectActive:ae(558),record:ae(517),recording:"recording",recordingTimestamp:ae(324),recordStart:ae(509),recordEnd:ae(314),recordCreateError:ae(566),recordBlob:ae(408),recordCancel:ae(559),buffer:ae(278),videoFrame:ae(548),videoSEI:ae(557),videoSEISyncPts:ae(304),start:ae(569),metadata:ae(543),resize:ae(651),volumechange:ae(580),volume:ae(647),destroy:"destroy",beforeDestroy:"beforeDestroy",streamEnd:ae(322),streamRate:ae(235),streamAbps:ae(489),streamVbps:ae(550),streamDts:ae(291),streamSuccess:"streamSuccess",streamMessage:ae(537),streamError:"streamError",streamStats:ae(355),streamEndInner:"streamEndInner",mseSourceOpen:ae(431),mseSourceClose:ae(512),mseSourceended:"mseSourceended",mseSourceStartStreaming:ae(649),mseSourceEndStreaming:ae(334),mseSourceBufferError:ae(374),mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:"mseWorkerAddSourceBufferError",mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:ae(396),videoWaiting:ae(387),videoTimeUpdate:ae(352),videoSyncAudio:ae(427),playToRenderTimes:ae(471),playbackTime:ae(279),playbackTimestamp:ae(641),playbackTimeScroll:ae(538),playbackPrecision:ae(276),playbackShowPrecisionChange:"playbackShowPrecisionChange",playbackJustTime:ae(605),playbackStats:ae(405),playbackSeek:"playbackSeek",playbackPause:ae(486),playbackPauseOrResume:"playbackPauseOrResume",playbackRateChange:"playbackRateChange",playbackPreRateChange:"playbackPreRateChange",playbackEnd:"playbackEnd",playVodStats:ae(301),playVodPause:ae(241),playVodPauseOrResume:"playVodPauseOrResume",playVodRateChange:ae(447),playVodTime:ae(215),playVodTimeCache:ae(231),playVodSeek:"playVodSeek",playVodSeekEnd:ae(329),playVodVideoSeekingByMse:ae(572),playVodVideoSeekedByMse:ae(536),playVodCanplay:ae(406),playVodWaiting:ae(545),playVodEndedAndReplay:ae(574),playVodEnded:ae(285),ptz:ae(313),streamQualityChange:ae(228),visibilityChange:"visibilityChange",netBuf:ae(465),close:ae(648),networkDelayTimeout:"networkDelayTimeout",togglePerformancePanel:ae(430),viewResizeChange:ae(635),flvDemuxBufferSizeTooLarge:ae(342),talkGetUserMediaSuccess:"talkGetUserMediaSuccess",talkGetUserMediaFail:ae(294),talkGetUserMediaTimeout:ae(454),talkStreamStart:ae(298),talkStreamOpen:ae(280),talkStreamClose:ae(251),talkStreamError:"talkStreamError",talkStreamInactive:ae(560),talkStreamMsg:"talkStreamMsg",webrtcDisconnect:ae(584),webrtcFailed:ae(305),webrtcClosed:ae(303),webrtcChecking:"webrtcChecking",webrtcConnected:"webrtcConnected",webrtcCompleted:ae(211),webrtcOnConnectionStateChange:"webrtcOnConnectionStateChange",webrtcOnIceConnectionStateChange:ae(277),crashLog:ae(274),focus:ae(419),blur:ae(492),inView:ae(412),visibilityHiddenTimeout:ae(468),websocketOpen:ae(520),websocketClose:"websocketClose",websocketError:ae(654),websocketMessage:"websocketMessage",aiObjectDetectorInfo:ae(385),aiFaceDetectorInfo:"aiFaceDetectorInfo",aiOcclusionDetectResult:ae(389),aiImageDetectResult:"aiImageDetectResult",playFailedAndPaused:ae(540),audioResumeState:ae(562),webrtcStreamH265:ae(214),flvMetaData:"flvMetaData",talkFailedAndStop:ae(227),removeLoadingBgImage:ae(445),memoryLog:ae(369),downloadMemoryLog:ae(319),pressureObserverCpu:"pressureObserverCpu",currentPts:ae(637),online:ae(346),offline:"offline",networkState:ae(287),clickInitPlayer:"clickInitPlayer"};ae(578),ae(437),ae(597),ae(640),ae(332),ae(459),ae(436),ae(326),ae(571),ae(324),ae(509),ae(566),ae(314),ae(408),ae(471),ae(656),ae(405),ae(641),ae(348),ae(609),ae(260),ae(390),ae(258),ae(447),ae(215),ae(618),ae(329),ae(228),ae(274),ae(419),ae(492),ae(468),ae(520),ae(256),ae(424),ae(385),ae(389),ae(297),ae(540),ae(562),ae(557),ae(304),ae(223),ae(268),ae(277),ae(637),ae(287),ae(647),ae(226),ae(251),ae(245),ae(560),ae(454),ae(590),ae(527),ae(437),ae(259),ae(569),ae(597),ae(645),ae(640),ae(622),ae(306),ae(436),ae(326),ae(471),ae(520),ae(256),ae(540),ae(562);const Be={talkStreamError:Me.talkStreamError,talkStreamClose:Me.talkStreamClose},Ue={playError:ae(606),fetchError:ae(601),websocketError:ae(654),webcodecsH265NotSupport:ae(266),webcodecsDecodeError:ae(400),webcodecsUnsupportedConfigurationError:"webcodecsUnsupportedConfigurationError",webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:ae(399),webcodecsAudioNoDataTimeout:ae(443),mediaSourceH265NotSupport:ae(423),mediaSourceAudioG711NotSupport:ae(265),mediaSourceAudioInitTimeout:ae(213),mediaSourceAudioNoDataTimeout:ae(413),mediaSourceDecoderConfigurationError:ae(339),mediaSourceFull:Me.mseSourceBufferFull,mseSourceBufferError:Me[ae(374)],mseAddSourceBufferError:Me[ae(217)],mseWorkerAddSourceBufferError:Me[ae(262)],mediaSourceAppendBufferError:ae(257),mediaSourceTsIsMaxDiff:"mediaSourceTsIsMaxDiff",mediaSourceUseCanvasRenderPlayFailed:ae(210),mediaSourceBufferedIsZeroError:ae(507),wasmDecodeError:"wasmDecodeError",wasmUseVideoRenderError:ae(343),simdH264DecodeVideoWidthIsTooLarge:ae(401),simdDecodeError:"simdDecodeError",hlsError:"hlsError",webrtcError:ae(544),webrtcClosed:Me.webrtcClosed,webrtcIceCandidateError:ae(286),webglAlignmentError:ae(232),wasmWidthOrHeightChange:"wasmWidthOrHeightChange",mseWidthOrHeightChange:ae(493),wcsWidthOrHeightChange:ae(338),widthOrHeightChange:ae(611),tallWebsocketClosedByError:ae(617),flvDemuxBufferSizeTooLarge:Me.flvDemuxBufferSizeTooLarge,audioChannelError:ae(315),webglContextLostError:ae(491),videoElementPlayingFailed:ae(563),videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:ae(564),decoderWorkerWasmError:"decoderWorkerWasmError",videoInfoError:ae(200),streamEnd:Me[ae(322)],websocket1006Error:ae(234),delayTimeout:Me[ae(288)],loadingTimeout:Me[ae(645)],networkDelayTimeout:Me[ae(424)],fullscreenError:ae(309),aliyunRtcError:ae(267),mseWaitVideoCanplayTimeout:ae(473),initDecoderWorkerTimeout:ae(570),notSupportNewWasm:ae(531),playVodMp4Error:"playVodMp4Error",mp4Error:ae(345),...Be};ae(501),ae(375),ae(648),ae(437);const Fe={connecting:0,open:1,closing:2,closed:3};ae(275),ae(372),ae(642),ae(642),ae(446),ae(519),ae(388);const Pe={h264:7,h265:12,mpeg4:99},Re={h264:ae(446),h265:"H265(HEVC)"},Le={AAC:10,ALAW:7,MULAW:8,MP3:2};ae(466),ae(625),ae(646),ae(631),ae(524),ae(646);const Oe={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Ne={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};ae(526),ae(477),ae(312),ae(514);const ze={key:ae(510),delta:ae(353)},He={avc:'video/mp4; codecs="avc1.64002A"',hev:ae(220),hev2:ae(237),hev3:ae(630),hev4:'video/mp4;codecs="hev1.3.E.L120.90"',hev5:ae(196)},Ve={ended:ae(393),open:"open",closed:ae(366)};Math[ae(296)](40),ae(620),ae(205),ae(310),ae(487),ae(340),ae(377),ae(621),ae(534),ae(205),ae(567),ae(615),ae(511),ae(587),ae(567),ae(615),ae(327),ae(565),ae(204),ae(243),ae(202),ae(363),ae(225),ae(394),ae(356),ae(244),ae(325);ae(218),ae(504),ae(596);ae(475),ae(639);const Ge={sourceClose:ae(573),sourceOpen:ae(585),sourceended:ae(463),startstreaming:"startstreaming",endstreaming:ae(376),qualitychange:"qualitychange"};ae(197),ae(603),ae(290),ae(255),ae(381);const je={h264:ae(230),h265:ae(589)};function We(){const e=["不支持该分辨率的视频","download","message","mseSourceBufferError","open","endstreaming","10min","4-1","player","136oHyUwC","loadedmetadata","MEDIA_ERR_DECODE","pauseAndNextPlayUseLastFrameShow","ulaw","aiObjectDetectorInfo","1-1","videoWaiting","MPEG4","aiOcclusionDetectResult","playbackEnd","videoSmooth","webrtc-disconnected","ended","cruiseStart","isAliyunRtc","mseSourceBufferFull","playerAudio","Webrtc","webcodecsAudioInitTimeout","webcodecsDecodeError","simdH264DecodeVideoWidthIsTooLarge","objectDetectActive","flv","resetDecode","playbackStats","playVodCanplay","videoPayload","recordBlob","webgl 上下文丢失","m7s","websocket","inView","mediaSourceAudioNoDataTimeout","ttfb","初始化解码器失败","webrtc不支持H265","hls-manifest-loaded","请求结束","focus","sendWsMessage","audioDecode","flv-script-data","mediaSourceH265NotSupport","networkDelayTimeout","fullscreen$2","wasmWidthOrHeightChange","videoSyncAudio","20240910","fetchSuccess","togglePerformancePanel","mseSourceOpen","fmp4","render","videoDecode","wcs","pause","error","decoder-pro-hard.js","simd","mouseDownAndUp","subtitle-segments","初始化音频解码器失败","webcodecsAudioNoDataTimeout","sender","removeLoadingBgImage","H264(AVC)","playVodRateChange","#343434","simple","decoder-pro-old.js","multiIndex","waiting","2597900YGHlfc","talkGetUserMediaTimeout","object","jtt","stream","aliyunRtc","webFullscreen","active","audio packet","flvBufferData","sourceended","isFlv","netBuf","ALAW(g711a)","68462QfODXZ","visibilityHiddenTimeout","click","不支持硬解码H265","playToRenderTimes","loadstart","mseWaitVideoCanplayTimeout","certificate","image/jpeg","playing","webgpu","videoCodec","流异常","isM7sCrypto","fetchStream","webrtc-checking","destroyEnd","remote-inbound-rtp","g711","playbackPause","five-min","aacSequenceHeader","streamAbps","isWebrtcForOthers","webglContextLostError","blur","mseWidthOrHeightChange","multiMouseup","wasmError","resetAudioDecode","multiDrop","wasm","drawingRect","3CZEPir","notConnect","tcp","0000000000","g711u","multiDragenter","等待音频数据超时","mediaSourceBufferedIsZeroError","peer-connection","recordStart","key","left-up","mseSourceClose","track","webrtc","isHls","isDropping","record","缓冲区已满","H265(HEVC)","websocketOpen","checkFirstIFrame","audioAACSequenceHeader","iframeIntervalTs","MULAW","multiDragstart","webcodecs","timeUpdate","workerEnd","hls-level-loaded","canvas","notSupportNewWasm","fetchClose","inbound-rtp","tenMin","destroy","playVodVideoSeekedByMse","streamMessage","playbackTimeScroll","metadata-parsed","playFailedAndPaused","audioNalu","解析视频分辨率失败","metadata","webrtcError","playVodWaiting","jbprovm","isWebrtcForZLM","videoFrame","initAudio","streamVbps","audioCode","playbackStreamVideoFps","initVideo","rtp","Invalid NAL unit size","mp3","videoSEI","imageDetectActive","recordCancel","talkStreamInactive","script","audioResumeState","videoElementPlayingFailed","decoderWorkerInitError","rightDown","recordCreateError","right","occlusionDetectActive","start","initDecoderWorkerTimeout","performance","playVodVideoSeekingByMse","sourceclose","playVodEndedAndReplay","1653975qfDhWV","3-4","isNakedFlow","audioInfo","loading","volumechange","multiDragleave","NotAllowedError","play() failed because the user didn't interact with the document first","webrtcDisconnect","sourceopen","simdDecodeError","right-down","JessibucaPro","hevc","talkStreamMsg","FLV","emptied","jbprov","playAudio","音频通道错误","pcm","timeout","ratechange","udp","A key frame is required after configure() or flush()","fetchError","HEVC decoding is not supported","timeupdate","decoder-pro-hard-not-wasm.js","playbackJustTime","playIsNotPauseOrUrlIsNull","load-retry","playbackForwardMaxRateDecodeIFrame","playbackPreRateChange","isMulti","widthOrHeightChange","self","faceDetectActive","jessibuca-pro-mp4-recorder-decoder.js","down","流异常结束","tallWebsocketClosedByError","playVodSeek","webrtc-completed","halfHour","5min","delayTimeoutRetryEnd","workerFetch","normal","MULAW(g711u)","sei","1224293jxzVVw","M7S","talk",'video/mp4;codecs="hev1.2.4.L120.90"',"AAC","video","seeking","worklet","viewResizeChange","isTs","currentPts","playVod","image/webp","loadingTimeoutRetryEnd","playbackTimestamp","blob","complete","webTransport","loadingTimeout","MP3","volume","close","mseSourceStartStreaming","playbackTF","resize","playback","zooming","websocketError","mpeg4","playbackSeek","209106lrESFG","isWebrtcForSRS","canplaythrough","初始化解码worker超时","isFmp4","mp4",'video/mp4;codecs="hev1.4.10.L120.90"',"canplay","mseDecodeError","videoInfo","videoInfoError","init","zoomNarrow","log","stop","fiveMin","white","AliyunRtc","warn","switch-url-failed","mediaSourceUseCanvasRenderPlayFailed","webrtcCompleted","tempStream","mediaSourceAudioInitTimeout","webrtcStreamH265","playVodTime","remote-outbound-rtp","mseAddSourceBufferError","g711a","sourcebuffer-created",'video/mp4; codecs="hev1.1.6.L123.b0"',"created","multiSelected","flvMetaData","supportHls265","focusFar","clickInitPlayer","talkFailedAndStop","streamQualityChange","decoderWorkerInit","avc","playVodTimeCache","webglAlignmentError","webrtc-connected","websocket1006Error","streamRate","播放地址不能为空",'video/mp4;codecs="hev1.1.6.L120.90"',"transport","playbackIsPause","vertical","playVodPause","widthOrHeightChangeReplayDelayTime","zoomExpand","fogClose","talkStreamError","codec","red","multiMousedown","audioPayload","initVideoCodec","talkStreamClose","resetVideoDecode","outbound-rtp","multiMouseout","progress","websocketClose","mediaSourceAppendBufferError","playVodPauseOrResume","kBps","playbackShowPrecisionChange","网络超时重播失败","mseWorkerAddSourceBufferError","decode","load-complete","mediaSourceAudioG711NotSupport","webcodecsH265NotSupport","aliyunRtcError","webrtcOnConnectionStateChange","Cannot call 'decode' on a closed codec","seeked","buffereos","load-start","worker","crashLog","buffering","playbackPrecision","webrtcOnIceConnectionStateChange","buffer","playbackTime","talkStreamOpen","multiMouseover","memory access out of bounds","initAudioCodec","window","playVodEnded","webrtcIceCandidateError","networkState","delayTimeout","mseFirstRenderTime","stalled","streamDts","global","fetch","talkGetUserMediaFail","paused","ceil","aiImageDetectResult","talkStreamStart","#000","streamError","playVodStats","Decoder failure","webrtcClosed","videoSEISyncPts","webrtcFailed","play","Webgl 渲染失败","FLV待解封装buffer过大","fullscreenError","half-hour","container","mse","ptz","recordEnd","audioChannelError","data-channel","sei-in-time","MEDIA_ERR_NETWORK","downloadMemoryLog","load-response-headers","加载超时重播失败","streamEnd","connecting","recordingTimestamp","wiperClose","mute","rightUp","ws1006","playVodSeekEnd","csrc","video自动渲染失败","fullscreen","loadeddata","mseSourceEndStreaming","AbortError","default","decoder-pro-audio.js","wcsWidthOrHeightChange","mediaSourceDecoderConfigurationError","30min","drawingRectInfo","flvDemuxBufferSizeTooLarge","wasmUseVideoRenderError","解码失败","mp4Error","online","#FFCC00","playbackPauseOrResume","updateConfig","mseUpdateVideoTimestamp","wasm解码失败","videoTimeUpdate","delta","candidate-pair","streamStats","fogOpen","The user aborted a request","isMpeg4","hls","Decoder error","webrtc-failed","offscreen","apertureFar","1167832VGhZOH","readystatechange","closed","multiDblSelected","152217TMAHSp","memoryLog","请求失败"];return(We=function(){return e})()}ae(600),ae(269),ae(302),ae(360),ae(602);const qe={abortError:ae(357),abortError2:ae(335),abort:ae(335)};ae(579),ae(476),ae(295),ae(535);const Ye={sequenceHeader:0,nalu:1},Ke={keyFrame:1,interFrame:2};ae(456),ae(502),ae(599);ae(457),ae(652),ae(375),ae(648),ae(437),ae(373);ae(634),ae(561);ae(218),ae(554),ae(502),ae(503),ae(634),ae(634),ae(561),ae(460),ae(448),ae(347),ae(299),ae(367),ae(222),ae(281),ae(254),ae(494),ae(248),ae(525),ae(505),ae(581),ae(497),ae(378),ae(386),ae(576),ae(311);const Xe={keyFrame:1,interFrame:2};ae(397),ae(208),ae(403),ae(441),ae(417),ae(529),ae(422),ae(539),ae(414),ae(607),ae(272),ae(264),ae(320),ae(626),ae(317),ae(271),ae(219),ae(209),ae(437);const $e={idle:"idle",connecting:ae(323),buffering:ae(275),error:"error",complete:ae(643)};ae(318),ae(382),ae(461),ae(583),ae(582),ae(282);const Je={video:1,audio:2},Ze=128,Qe={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},et={FT_KEY:16,FT_INTER:32};ae(354),ae(474),ae(246),ae(330),ae(316),ae(533),ae(253),ae(508),ae(484),ae(216),ae(444),ae(457),ae(513),ae(238),ae(328),ae(198),ae(300),ae(384),ae(556),ae(482),ae(233),ae(619),ae(392),ae(361),ae(221),ae(579),ae(476);const tt=typeof window===ae(455)&&window[ae(284)]===window?window:typeof self===ae(455)&&self[ae(612)]===self?self:typeof global===ae(455)&&global[ae(292)]===global?global:void 0;ae(197),ae(659),ae(643),ae(592),ae(437),ae(333),ae(381),ae(472),ae(306),ae(476),ae(255),ae(598),ae(270),ae(633),ae(290),ae(603),ae(580),ae(452),ae(365),ae(437);var rt=nt;function nt(e,t){var r=it();return(nt=function(e,t){return r[e-=398]})(e,t)}function it(){var e=["1479558xPGlWu","42HZLhpM","webkitFullscreenElement","createCommonjsModule","221189MsDHWU","56bYCsVw","isEnabled","webkitCurrentFullScreenElement","undefined","msRequestFullscreen","object","webkitfullscreenerror","728154dGaMBy","fullscreenEnabled","isFullscreen","webkitfullscreenchange","change","fullscreenElement","exit","webkitFullscreenEnabled","addEventListener","error","length","msFullscreenElement","396820UbFiNT","then","webkitRequestFullscreen","request","49985wurbVi","45018KYaMjy","off","MSFullscreenChange","mozfullscreenchange","976rvkVsm","fullscreenerror","defineProperties","screenfull","exports","bind","556150pYcJwK","mozFullScreenElement","msFullscreenEnabled","document","fullscreenchange","mozFullScreenEnabled","catch","exitFullscreen","webkitExitFullscreen","MSFullscreenError","webkitCancelFullScreen"];return(it=function(){return e})()}function st(e,t){const r=at();return(st=function(e,t){return r[e-=446]})(e,t)}!function(e,t){for(var r=nt,n=e();;)try{if(532438===-parseInt(r(446))/1+parseInt(r(431))/2+parseInt(r(442))/3+parseInt(r(447))/4*(parseInt(r(420))/5)+parseInt(r(443))/6*(-parseInt(r(404))/7)+parseInt(r(425))/8*(parseInt(r(421))/9)+-parseInt(r(416))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(it),d[rt(445)]((function(e){var t,r,n,i,s,o;t=nt,r="undefined"!=typeof window&&void 0!==window[t(434)]?window[t(434)]:{},n=t(402)!==t(400)&&e.exports,i=function(){for(var e,n=t,i=[["requestFullscreen",n(438),n(409),n(405),n(435),n(426)],[n(418),n(439),n(444),n(411),"webkitfullscreenchange",n(403)],["webkitRequestFullScreen",n(441),n(399),n(441),n(407),n(403)],["mozRequestFullScreen","mozCancelFullScreen",n(432),n(436),n(424),"mozfullscreenerror"],[n(401),"msExitFullscreen",n(415),n(433),n(423),n(440)]],s=0,o=i[n(414)],a={};s32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this[t(452)]){let r=this[t(470)]>>>32-e;return this[t(470)]<<=e,this._current_word_bits_left-=e,r}let r=this[t(452)]?this[t(470)]:0;r>>>=32-this[t(452)];let n=e-this[t(452)];this[t(464)]();let i=Math[t(468)](n,this[t(452)]),s=this._current_word>>>32-i;return this[t(470)]<<=i,this[t(452)]-=i,r=r<>>t))return this[e(470)]<<=t,this[e(452)]-=t,t;return this[e(464)](),t+this[e(450)]()}[ot(454)](){const e=ot;let t=this._skipLeadingZero();return this[e(466)](t+1)-1}[ot(460)](){let e=this[ot(454)]();return 1&e?e+1>>>1:-1*(e>>>1)}}const ut=_t;!function(e,t){const r=_t,n=e();for(;;)try{if(418086===-parseInt(r(464))/1+parseInt(r(476))/2+-parseInt(r(462))/3+-parseInt(r(492))/4+-parseInt(r(521))/5*(-parseInt(r(488))/6)+parseInt(r(487))/7*(parseInt(r(479))/8)+parseInt(r(513))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mt);const lt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],dt=lt,ft=lt;function ht(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function pt(e){return vt(e)&&e[1]===Ye.sequenceHeader}function mt(){const e=["indexOf","look","getLATMValue","hasIncompleteData","read_golomb","subarray","audioMuxVersionA is Not Supported","iserro","503703dayESe","read","findNextSyncwordOffset","object_type","navigator","sampleRate: ","frameLengthType = ","current_syncword_offset_","73135boktpx","Could not found ADTS syncword until payload end","chan_config","toLowerCase","data_","sample_rate","sbr","Flv: AAC invalid sampling frequency index!","2257044EHfMCb","push","482635hpfzAD",". Only frameLengthType = 0 Supported","mp4a.40.","channel: ","more than 2 numLayer Not Supported","readNextAACFrame","getIncompleteData","destroy","buffer","eof_flag_","readBits","aac","1174730ODAEvt","byteLength","audio_object_type","8Brvzok","error","data","more than 2 numProgram Not Supported","readByte","channels","StreamMuxConfig Missing","other_data_present","5602751zADIsS","90vKjSzO","aacEncoderConfigurationRecord","Flv: AAC invalid channel configuration","length","40244tNtmpk","sampling_frequency","warn","bufpos","mp4a.40.2","sampling_freq_index","ext_object_type","sampling_index","readBool","has_last_incomplete_data","channel_config","bufoff","unshift"];return(mt=function(){return e})()}function vt(e){return e[0]>>4===Le.AAC}const gt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function yt(e){const t=_t;let r=new Uint8Array(e),n=null,i=0,s=0,o=0,a=null;if(i=s=r[0]>>>3,o=(7&r[0])<<1|r[1]>>>7,o<0||o>=gt[t(491)])return void console.error(t(461));let c=gt[o],u=(120&r[1])>>>3;if(u<0||u>=8)return void console.log(t(490));5===i&&(a=(7&r[1])<<1|r[2]>>>7,r[2]);let l=tt[t(517)].userAgent[t(524)]();return-1!==l.indexOf("firefox")?o>=6?(i=5,n=new Array(4),a=o-3):(i=2,n=new Array(2),a=o):-1!==l[t(505)]("android")?(i=2,n=new Array(2),a=o):(i=5,a=o,n=new Array(4),o>=6?a=o-3:1===u&&(i=2,n=new Array(2),a=o)),n[0]=i<<3,n[0]|=(15&o)>>>1,n[1]=(15&o)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&a)>>>1,n[2]=(1&a)<<7,n[2]|=8,n[3]=0),{audioType:t(475),config:n,sampleRate:c,channelCount:u,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+s}}ut(506),ut(509);function _t(e,t){const r=mt();return(_t=function(e,t){return r[e-=460]})(e,t)}class bt{constructor(e){const t=ut;this[t(525)]=e,this[t(473)]=!1,this[t(520)]=this[t(515)](0),this[t(473)]&&console[t(480)]("Could not found ADTS syncword until payload end")}[ut(515)](e){const t=ut;let r=e,n=this[t(525)];for(;;){if(r+7>=n[t(477)])return this[t(473)]=!0,n[t(477)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}[ut(469)](){const e=ut;let t=this.data_,r=null;for(;null==r&&!this[e(473)];){let n=this[e(520)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,o=1&t[n+1],a=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this[e(525)][e(477)]){this[e(473)]=!0,this[e(501)]=!0;break}let d=1===o?7:9,f=l-d;n+=d;let h=this[e(515)](n+f);if(this[e(520)]=h,0!==i&&1!==i||0!==s)continue;let p=t[e(510)](n,n+f);r={},r.audio_object_type=a+1,r.sampling_freq_index=c,r.sampling_frequency=dt[c],r.channel_config=u,r.data=p}return r}[ut(508)](){return this[ut(501)]}[ut(470)](){const e=ut;return this[e(501)]?this[e(525)][e(510)](this.current_syncword_offset_):null}}class wt{constructor(e){const t=ut;this[t(525)]=e,this[t(473)]=!1,this.current_syncword_offset_=this[t(515)](0),this[t(473)]&&console.error(t(522))}findNextSyncwordOffset(e){const t=ut;let r=e,n=this.data_;for(;;){if(r+1>=n[t(477)])return this[t(473)]=!0,n[t(477)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}[ut(507)](e){const t=ut;let r=e.readBits(2),n=0;for(let i=0;i<=r;i++)n<<=8,n|=e[t(483)]();return n}readNextAACFrame(e){const t=ut;let r=this[t(525)],n=null;for(;null==n&&!this[t(473)];){let i=this.current_syncword_offset_,s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this.data_[t(477)]){this[t(473)]=!0,this[t(501)]=!0;break}let o=new ct(r.subarray(i+3,i+3+s)),a=null;if(o[t(500)]()){if(null==e){console[t(494)](t(485)),this[t(520)]=this.findNextSyncwordOffset(i+3+s),o[t(471)]();continue}a=e}else{let e=o.readBool();if(e&&o[t(500)]()){console[t(480)](t(511)),o.destroy();break}if(e&&this[t(507)](o),!o[t(500)]()){console[t(480)]("allStreamsSameTimeFraming zero is Not Supported"),o[t(471)]();break}if(0!==o[t(474)](6)){console[t(480)]("more than 2 numSubFrames Not Supported"),o[t(471)]();break}if(0!==o[t(474)](4)){console[t(480)](t(482)),o[t(471)]();break}if(0!==o[t(474)](3)){console.error(t(468)),o.destroy();break}let r=e?this[t(507)](o):0,n=o.readBits(5);r-=5;let i=o[t(474)](4);r-=4;let s=o[t(474)](4);r-=4,o.readBits(3),r-=3,r>0&&o.readBits(r);let c=o[t(474)](3);if(0!==c){console[t(480)](t(519)+c+t(465)),o.destroy();break}o[t(483)]();let u=o.readBool();if(u)if(e)this[t(507)](o);else{let e=0;for(;;){e<<=8;let r=o.readBool();if(e+=o[t(483)](),!r)break}console.log(e)}o[t(500)]()&&o[t(483)](),a={},a[t(478)]=n,a.sampling_freq_index=i,a[t(493)]=dt[a.sampling_freq_index],a.channel_config=s,a[t(486)]=u}let c=0;for(;;){let e=o.readByte();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function It(e){const t=kt;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const n=e[t(303)],i=[];let s,o=0;for(;o+r>>=8),o+=r,s){if(o+s>n)break;i.push(e.subarray(o,o+s)),o+=s}return i}function Et(e,t){const r=kt,n=e[r(303)];let i=t?2:1,s=0,o=0,a="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)o+=255,i++;if(o+=e[i++],5===s&&n>i+16)for(let t=0;t<16;t++)a+=e[i][r(296)](16),i++;return{payload:e[r(292)](i),type:s,size:o,uuid:a}}function At(e){const t=kt,r=e[t(288)],n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i[t(297)](n,0),i.set(e,4),i}function kt(e,t){const r=Ct();return(kt=function(e,t){return r[e-=286]})(e,t)}function Ct(){const e=["shift","length","2647404ALxFTw","207197EEzKGv","buffer","byteLength","5888930viKvxs","1294YJUJRp","8YjXwYD","subarray","1929JZqMtI","setUint32","860335dQzbsb","toString","set","8pxzXXF","155286HfmiEH","push","2240644wKnQvt"];return(Ct=function(){return e})()}function Tt(e,t){const r=kt;let n=null;return t?e[r(303)]>=28&&(n=1+(3&e[26])):e[r(303)]>=12&&(n=1+(3&e[9])),n}!function(e,t){const r=kt,n=e();for(;;)try{if(209908===-parseInt(r(286))/1+-parseInt(r(290))/2*(parseInt(r(293))/3)+parseInt(r(291))/4*(-parseInt(r(295))/5)+-parseInt(r(299))/6+parseInt(r(301))/7+parseInt(r(298))/8*(parseInt(r(304))/9)+parseInt(r(289))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ct);const xt=Dt;function Dt(e,t){const r=Gt();return(Dt=function(e,t){return r[e-=250]})(e,t)}function Mt(){return(new Date).getTime()}function Bt(e,t,r){const n=Dt;return Math[n(266)](Math[n(420)](e,Math.max(t,r)),Math[n(420)](t,r))}function Ut(){const e=Dt;return performance&&typeof performance[e(544)]===e(505)?performance[e(544)]():Date[e(544)]()}function Ft(e){let t=0,r=Ut();return n=>{if(!function(e){const t=xt;return Object[t(536)][t(314)][t(400)](e)===t(560)}(n))return;t+=n;const i=Ut(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=Dt,n=e();for(;;)try{if(783861===-parseInt(r(349))/1+parseInt(r(340))/2*(-parseInt(r(303))/3)+parseInt(r(300))/4*(-parseInt(r(347))/5)+parseInt(r(404))/6*(-parseInt(r(324))/7)+-parseInt(r(550))/8*(parseInt(r(406))/9)+-parseInt(r(573))/10*(parseInt(r(473))/11)+parseInt(r(380))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gt),(()=>{const e=Dt;try{if(typeof WebAssembly===e(291)&&typeof WebAssembly[e(559)]===e(505)){const t=new(WebAssembly[e(299)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new(WebAssembly[e(456)])(t)instanceof WebAssembly[e(456)]}}catch(e){}})();xt(296),xt(304);function Pt(e){return null==e}function Rt(e){return!Pt(e)}function Lt(e){return typeof e===xt(505)}function Ot(e){const t=xt;let r=null,n=31&e[0];return(n===Oe[t(333)]||n===Oe.pps)&&(r=Re.h264),!r&&(n=(126&e[0])>>1,(n===Ne.vps||n===Ne[t(333)]||n===Ne[t(354)])&&(r=Re[t(336)])),r}function Nt(){return typeof WritableStream!==xt(366)}function zt(e){e[xt(351)]()}function Ht(e,t){const r=xt;t&&(e=e.filter((e=>e[r(263)]&&e[r(263)]===t)));let n=e[0],i=null,s=1;if(e[r(306)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let o=s;o=1e3){e[o-1].ts-n.ts<1e3&&(i=o+1)}}}return i}function Vt(e){const t=xt;return e.ok&&e[t(271)]>=200&&e[t(271)]<=299}function Gt(){const e=["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","setInt8","repeat","wow32","line","10571eNhkfy","font","apply","playbackRate","scrollLeft","pathname","mousedown","100","documentElement","px 宋体","quality","join","rect","sequenceHeader","buffer","KB/s","URL","getContext","parse","opacity","hostname","VideoEncoder is not supported","mediaDevices",'video/mp4; codecs="',"requestVideoFrameCallback","TB/s","setUint8","image","data","div","Edge","application/vnd.apple.mpegurl","function","video","not compiled with thread support, using thread emulation","test","replace","appendChild","application/hwepass2001.installepass2001","mousemove","host","VideoFrame","setInt32","VideoEncoder.isConfigSupported() result is not supported","getHours","touchmove","WebGLRenderingContext","html","overflow","getMinutes","Edg","ZB/s","hev5","hev3","0 Bytes","MediaStream","VideoDecoder","webkitGetUserMedia","onerror","xxxxxxxxxxxx4xxx","application/asx","not compiled with thread support","Anonymous","prototype","indexOf","application/mozilla-npqihooquicklogin","noteOn","toFixed","QQBrowser","-webkit-tap-highlight-color","getAttribute","now","webgl2","webkit-3d","experimental-webgl","origin","hasAudio","40mLbUOV","px Arial","createTextNode","protocol","start","download","text","container","fontSize","instantiate","[object Number]","width","-ms-user-select","format","EB/s","opera","MediaStreamTrackGenerator","getDay","If you want to help, upload a sample of this file to","fillStyle","green yuv","numberOfFrames","assign","15170kPWFsc","illegal icc","data-","trim","touches","style","MULAW","substr","msFullscreenElement","AudioData","RIFF","imageSmoothingEnabled","360","borderColor","useMSE","memory","fmt ","pow","scrollTop","hash","performance","type","rgba(0,0,0,0)","100%","max","file","subarray","AudioDecoder","createEvent","status","application/vnd.chromium.remoting-viewer","craNut","high","MediaSource","demuxUseWorker","navigator","charCodeAt","keyFrame","isConfigSupported","#000","result","QHBrowser","forEach","hev4","win64","[object Exception]","mseDecodeAudio","body","crossOrigin","object","bottom","putImageData","firefox","innerHTML",'"development"',"shadowRoot","getPropertyValue","Module","6125316EMzAnf","children","block","1749CsPhzM",'"production"',"textAlign","length","createImageBitmap","fullscreenElement","image/png","canPlayType","[object Error]","version","attachShadow","toString","createElement","safari","pageX","map","left","getUint8","webkitFullscreenElement","webgl","byteLength","11494SkwwqK","GB/s","src","supported","open","event","green","random","ActiveXObject","sps","round","https:","h265","stringify","fromCharCode","avc1.","3118XTSwnq","clientX","split","canConstructInDedicatedWorker","chrome","message","ALAW","5sTIenL","-webkit-text-size-adjust","1361989VIADkE","ManagedMediaSource","close","borderStyle","MB/s","pps","getSeconds","ended","href","match","keys","PB/s","showModalDialog","document","dispatchEvent","isTypeSupported","{y}-{m}-{d} {h}:{i}:{s}","undefined","hev1.1.6.L120.90","initEvent","[object DOMException]","insertBefore","getMonth","iFrame","slice","toLowerCase","right","dataset","hev","set","target","96367920sAsXzN","copyright","content","onload","error","WAVE","useOffscreen","localhost","borderWidth","click","log","destination","save","createObjectURL","floor","true","data:","height","msGetUserMedia","fontFamily","call","mimeTypes","atob","9999999","1836oVyBrZ","lineWidth","2671731rgidco","360EE","-o-user-select","setUint16","removeAttribute","port","PressureObserver","restore","webm","getParameter","revokeObjectURL","location","-webkit-user-select","search","min","setUint32","transferControlToOffscreen","application/javascript","string","contain","backgroundColor","solid","pointer-events: none !important; display: block !important","srcElement","application/360softmgrplugin","filter","-webkit-touch-callout","clientY","readAsArrayBuffer","fillText","push","Firefox","0 KB/s","imageSmoothingQuality","getFullYear","validate","userAgent","win32","xxxx","clearRect","canvas","top","audioWorklet","paused","drawImage","toDataURL","setAttribute","moz-webgl","Bytes","connect","Instance","touchstart","isFullscreen","substring","color","Opera","charAt","hev2","none","Reserved SBR extensions is not implemented","readyState","addModule"];return(Gt=function(){return e})()}function jt(){return function(e){const t=xt;let r="";if(typeof e===t(291))try{r=JSON[t(337)](e),r=JSON[t(491)](r)}catch(t){r=e}else r=e;return r}(ke)}function Wt(e){const t=xt;return e[0]>>4===Ke[t(279)]&&e[1]===Ye[t(486)]}function qt(e){return!0===e||e===xt(395)}function Yt(e){return!0!==e&&e!==xt(395)}function Kt(){const e=xt;return!!(tt.Worker&&tt.MediaSource&&e(343)in tt.MediaSource&&!0===tt[e(275)][e(343)])}function Xt(e,t){const r=xt,n=It(e[r(373)](5));let i=!1;return n[r(284)]((e=>{const n=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Ne.iFrame||s===Ne.nLp||s===Ne[n(273)])||Yt(t)&&s===Oe[n(372)])&&(i=!0)})),i}function $t(e,t){const r=nr();return($t=function(e,t){return r[e-=354]})(e,t)}const Jt=$t;!function(e,t){const r=$t,n=e();for(;;)try{if(498957===-parseInt(r(393))/1*(parseInt(r(396))/2)+parseInt(r(366))/3*(-parseInt(r(361))/4)+parseInt(r(367))/5+-parseInt(r(382))/6+-parseInt(r(357))/7+-parseInt(r(378))/8*(parseInt(r(371))/9)+-parseInt(r(386))/10*(-parseInt(r(390))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(nr);var Zt=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const o=$t;function a(e){const t=$t;try{u(n[t(392)](e))}catch(e){s(e)}}function c(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){const t=$t;var n;e.done?i(e[t(358)]):(n=e[t(358)],n instanceof r?n:new r((function(e){e(n)}))).then(a,c)}u((n=n[o(354)](e,t||[]))[o(392)]())}))};const Qt=Symbol(32),er=Symbol(16),tr=Symbol(8);class rr{constructor(e){const t=Jt;this.g=e,this[t(364)]=0,e&&(this.need=e.next()[t(358)])}setG(e){const t=Jt;this.g=e,this[t(375)](e[t(392)]()[t(358)],!0)}consume(){const e=Jt;this[e(355)]&&this.consumed&&(this[e(355)][e(370)](0,this[e(364)]),this[e(355)]=this[e(355)][e(380)](0,this[e(355)][e(368)]-this.consumed),this[e(364)]=0)}demand(e,t){const r=Jt;return t&&this.consume(),this.need=e,this[r(369)]()}[Jt(374)](e){return Zt(this,void 0,void 0,(function*(){const t=$t;return this[t(365)]&&(yield this[t(365)]),this[t(365)]=new Promise(((r,n)=>{const i=t;var s;this[i(381)]=n,this[i(387)]=e=>{const t=i;delete this.lastReadPromise,delete this.resolve,delete this[t(388)],r(e)};this[i(375)](e,!0)||null===(s=this[i(391)])||void 0===s||s.call(this,e)}))}))}[Jt(389)](){return this.read(Qt)}[Jt(383)](){return this[Jt(374)](er)}readU8(){return this[Jt(374)](tr)}[Jt(377)](){const e=Jt;var t;this.g&&this.g[e(363)](),this[e(355)]&&this[e(355)][e(380)](0,0),null===(t=this[e(381)])||void 0===t||t[e(359)](this,new Error("EOF")),delete this[e(365)]}[Jt(369)](){const e=Jt;if(!this[e(355)]||!this[e(388)])return;let t=null;const r=this.buffer.subarray(this.consumed);let n=0;const i=t=>r[e(368)]<(n=t);if("number"==typeof this[e(388)]){if(i(this[e(388)]))return;t=r[e(380)](0,n)}else if(this[e(388)]===Qt){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(388)]===er){if(i(2))return;t=r[0]<<8|r[1]}else if(this.need===tr){if(i(1))return;t=r[0]}else if(e(355)in this[e(388)]){if(e(385)in this.need){if(i(this[e(388)][e(362)]-this[e(388)][e(385)]))return;new Uint8Array(this[e(388)][e(355)],this[e(388)][e(385)]).set(r[e(380)](0,n)),t=this.need}else if(this.g)return void this.g[e(394)](new Error(e(360)))}else{if(i(this[e(388)][e(362)]))return;new Uint8Array(this[e(388)])[e(372)](r[e(380)](0,n)),t=this[e(388)]}return this[e(364)]+=n,this.g?this[e(375)](this.g[e(392)](t)[e(358)],!0):this.resolve&&this[e(387)](t),t}[Jt(376)](e){const t=Jt;if(e instanceof Uint8Array?this[t(356)](e[t(368)])[t(372)](e):t(355)in e?this.malloc(e[t(362)])[t(372)](new Uint8Array(e[t(355)],e.byteOffset,e.byteLength)):this.malloc(e[t(362)]).set(new Uint8Array(e)),!this.g&&!this[t(387)])return new Promise((e=>this[t(391)]=e));this.flush()}writeU32(e){const t=Jt;this[t(356)](4)[t(372)]([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(369)]()}[Jt(373)](e){const t=Jt;this[t(356)](2)[t(372)]([e>>8&255,255&e]),this[t(369)]()}[Jt(379)](e){const t=Jt;this[t(356)](1)[0]=e,this[t(369)]()}[Jt(356)](e){const t=Jt;if(this[t(355)]){const r=this[t(355)][t(368)],n=r+e;if(n<=this[t(355)][t(355)].byteLength-this[t(355)][t(385)])this.buffer=new Uint8Array(this.buffer[t(355)],this[t(355)][t(385)],n);else{const e=new Uint8Array(n);e.set(this[t(355)]),this[t(355)]=e}return this[t(355)][t(380)](r,n)}return this[t(355)]=new Uint8Array(e),this[t(355)]}}function nr(){const e=["writeU8","subarray","reject","2065536CEOnmq","readU16","U32","byteOffset","523180ZgciGS","resolve","need","readU32","418gxvEtJ","pull","next","44059UwraVi","throw","__awaiter","28HyUEpn","apply","buffer","malloc","4259668WVAzqG","value","call","Unsupported type","4sSyUJL","byteLength","return","consumed","lastReadPromise","2024853wpYezd","4105100OwnHAf","length","flush","copyWithin","295155hRHFrG","set","writeU16","read","demand","write","close","16BNsupL"];return(nr=function(){return e})()}function ir(){const e=["2629176fYzIHh","27693nHnRDu","[✅✅✅][","4581624KNKLnM","48723410mtmtnL","error","debugUuid","2LXGXTC","[❌❌❌][","JbPro","debugLevel","warn","3688GlJoAs","5312804KalFEX","[❗❗❗][","length","debug","6904210hctJNh","_opt","log","4LBYjPd","649654mdEcNY"];return(ir=function(){return e})()}function sr(e,t){const r=ir();return(sr=function(e,t){return r[e-=189]})(e,t)}rr[Jt(384)]=Qt,rr.U16=er,rr.U8=tr,function(e,t){const r=sr,n=e();for(;;)try{if(777164===parseInt(r(194))/1*(-parseInt(r(208))/2)+parseInt(r(209))/3+-parseInt(r(207))/4*(parseInt(r(204))/5)+-parseInt(r(190))/6+-parseInt(r(200))/7+-parseInt(r(199))/8*(parseInt(r(210))/9)+parseInt(r(191))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ir);class or{constructor(e){const t=sr;this[t(206)]=function(r){const n=t;if(e[n(205)].debugLevel==ve[n(203)]){const t=e[n(205)][n(193)]?"["+e[n(205)][n(193)]+"]":"";for(var i=arguments[n(202)],s=new Array(i>1?i-1:0),o=1;o1?i-1:0),o=1;o1?s-1:0),a=1;a=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(n[i]=t[e],i++);return new Uint8Array(n.buffer,0,i)}static parseSPS(e){const t=ar;let r=lr[t(234)](e),n=new ct(r);n[t(244)]();let i=n.readByte();n[t(244)]();let s=n[t(244)]();n[t(245)]();let o=lr[t(233)](i),a=lr[t(255)](s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n[t(245)](),3===c&&n.readBits(1),c<=3&&(u=l[c]),d=n[t(245)]()+8,n.readUEG(),n.readBits(1),n[t(241)]())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(w=r[e-1],S=i[e-1]):255===e&&(w=n[t(244)]()<<8|n[t(244)](),S=n[t(244)]()<<8|n.readByte())}if(n[t(241)]()&&n[t(241)](),n[t(241)]()&&(n[t(239)](4),n[t(241)]()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n[t(245)]()),n[t(241)]()){let e=n[t(239)](32),r=n[t(239)](32);E=n[t(241)](),A=r,k=2*e,I=A/k}}let C=1;(1!==w||1!==S)&&(C=w/S);let T=0,x=0;if(0===c)T=1,x=2-v;else{T=3===c?1:2,x=(1===c?2:1)*(2-v)}let D=16*(p+1),M=16*(m+1)*(2-v);D-=(g+y)*T,M-=(_+b)*x;let B=Math[t(253)](D*C);return n[t(257)](),n=null,{profile_string:o,level_string:a,bit_depth:d,ref_frames:h,chroma_format:u,chroma_format_string:lr[t(258)](u),frame_rate:{fixed:E,fps:I,fps_den:k,fps_num:A},sar_ratio:{width:w,height:S},codec_size:{width:D,height:M},present_size:{width:B,height:M}}}static[ar(248)](e){const t=ar;let r=e.subarray(1,4),n=t(229);for(let e=0;e<3;e++){let i=r[e].toString(16);i[t(230)]<2&&(i="0"+i),n+=i}let i=lr[t(234)](e),s=new ct(i);s[t(244)]();let o=s[t(244)]();s[t(244)]();let a=s.readByte();s[t(245)]();let c=lr[t(233)](o),u=lr[t(255)](a),l=1,d=420,f=[0,420,422,444],h=8,p=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=s[t(245)](),3===l&&s[t(239)](1),l<=3&&(d=f[l]),h=s.readUEG()+8,p=s.readUEG()+8,s[t(239)](1),s[t(241)]())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(E=r[e-1],A=n[e-1]):255===e&&(E=s[t(244)]()<<8|s.readByte(),A=s[t(244)]()<<8|s[t(244)]())}if(s.readBool()&&s.readBool(),s.readBool()&&(s[t(239)](4),s[t(241)]()&&s[t(239)](24)),s[t(241)]()&&(s[t(245)](),s.readUEG()),s[t(241)]()){let e=s[t(239)](32),r=s.readBits(32);C=s[t(241)](),T=r,x=2*e,k=T/x}}let D=1;(1!==E||1!==A)&&(D=E/A);let M=0,B=0;if(0===l)M=1,B=2-_;else{M=3===l?1:2,B=(1===l?2:1)*(2-_)}let U=16*(g+1),F=16*(y+1)*(2-_);U-=(b+w)*M,F-=(S+I)*B;let P=Math[t(253)](U*D);return s[t(257)](),s=null,{codec_mimetype:n,profile_idc:o,level_idc:a,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:lr[t(258)](d),frame_rate:{fixed:C,fps:k,fps_den:x,fps_num:T},sar_ratio:{width:E,height:A},codec_size:{width:U,height:F},present_size:{width:P,height:F}}}static[ar(261)](e,t){const r=ar;let n=8,i=8,s=0;for(let o=0;o=this.buflen)return this.iserro=!0,0;this[t(391)]=!1,n=this[t(402)]+e>8?8-this.bufoff:e,r<<=n,r+=this[t(399)][this[t(405)]]>>8-this[t(402)]-n&255>>8-n,this.bufoff+=n,e-=n,8==this[t(402)]&&(this[t(405)]++,this.bufoff=0)}return r}look(e){const t=dr;let r=this[t(405)],n=this.bufoff,i=this[t(395)](e);return this[t(405)]=r,this[t(402)]=n,i}[dr(406)](){const e=dr;let t;for(t=0;0===this[e(395)](1)&&!this[e(391)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(n,0),i[t(268)](r[t(276)],4),r[t(276)]=i}if(r.pps){const e=r[t(269)].byteLength,n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(n,0),i[t(268)](r[t(269)],4),r[t(269)]=i}return r}function br(){const e=["refSampleDuration","timescale","Invalid AVCDecoderConfigurationRecord version !== 1 || avcProfile === 0","codecHeight","subarray","presentHeight","Invalid AVCDecoderConfigurationRecord: No PPS'","kSliceSEI","sarRatio","1551xaQJLF","skipUEG","shift","profile_string","skipBits","getUint8","read_golomb","fixed","kReserved0","error","codec_size","1279448hBPjIX","length","1059ZNefIf","level_string","readNextNaluPayload","chromaFormat","readBits","compat","4340IDMgFZ","2034238taIQJi","set","pps","Invalid AVCDecoderConfigurationRecord, lack of data!","codec","readUByte","nalu","7307346EdIBJW","present_size","sps","read","readBool","readUEG","data","setInt16","eofFlag","toString","bit_depth_chroma","chroma_format_idc","height","profile","35pMnOII","Strange AVCDecoderConfigurationRecord: PPS Count = ","videoType","parseSPS$2","bitDepth","parseSPS","fps_den","h264","sar_ratio","findNextStartCodeOffset","width","1882605eEeRoA","1vJhzOi","getUint16","level","iFrame","bit_depth_luma","type","codecWidth","212616ThwMFu","fps_num","ceil","buffer","frameRate","Could not find H264 startcode until payload end!","avc_ref_frames","99QfRUGA","nb_sps","byteLength","frame_rate","kSliceNonIDR","bit_depth","avc1.","push","chroma_format","589610cyikkg","presentWidth","skipScalingList","currentStartcodeOffset"," Strange AVCDecoderConfigurationRecord: SPS Count = "];return(br=function(){return e})()}function wr(e,t){const r=br();return(wr=function(e,t){return r[e-=240]})(e,t)}function Sr(e){const t=wr;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(316)]>>8&255,i[12]=255&r[t(316)],i[t(321)](...r,1,n[t(316)]>>8&255,255&n.byteLength,...n);return new Uint8Array(i)}function Ir(e){const t=wr;let{sps:r,pps:n}=e,i=8+r[t(316)]+1+2+n[t(316)],s=!1;const o=lr.parseSPS$2(r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=255,a[5]=225;let c=r[t(316)];a[6]=c>>>8,a[7]=255&c;let u=8;a[t(268)](r,8),u+=c,a[u]=1;let l=n[t(316)];a[u+1]=l>>>8,a[u+2]=255&l,a[t(268)](n,u+3),u+=3+l,s&&(a[u]=252|o[t(285)],a[u+1]=248|o[t(304)]-8,a[u+2]=248|o[t(284)]-8,a[u+3]=0,u+=4);const d=[23,0,0,0,0],f=new Uint8Array(d[t(259)]+a[t(316)]);return f.set(d,0),f[t(268)](a,d.length),f}function Er(e,t){const r=wr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(316)]>>24&255,n[6]=e[r(316)]>>16&255,n[7]=e[r(316)]>>8&255,n[8]=255&e.byteLength;const i=new Uint8Array(n[r(259)]+e[r(316)]);return i[r(268)](n,0),i.set(e,n[r(259)]),i}function Ar(e,t){const r=wr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n.length+e[r(316)]);return i[r(268)](n,0),i.set(e,n[r(259)]),i}function kr(e){return 31&e[0]}function Cr(e){return e===Oe[wr(245)]}function Tr(e){return!(t=e,t===Oe.sps||t===Oe[wr(269)]||Cr(e));var t}function xr(e){return e===Oe[wr(303)]}function Dr(e){const t=wr;if(0===e.length)return!1;const r=kr(e[0]);for(let n=1;n=n.byteLength)return this[t(282)]=!0,n.byteLength;let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[yr(262)](){const e=yr;let t=this[e(280)],r=null;for(;null==r&&!this[e(282)];){let n=this[e(326)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,o=this.findNextStartCodeOffset(n);this.currentStartcodeOffset=o,i>=Oe[e(255)]||0===s&&(r={type:i,data:t[e(242)](n,o)})}return r}}class Br{constructor(e){const t=yr;let r=e[t(280)][t(316)];this.type=e[t(305)],this[t(280)]=new Uint8Array(4+r),new DataView(this[t(280)].buffer).setUint32(0,r),this.data[t(268)](e[t(280)],4)}}const Ur=Fr;function Fr(e,t){const r=Pr();return(Fr=function(e,t){return r[e-=395]})(e,t)}function Pr(){const e=["11wwloMR","m_zeros","m_len","28ccQHYi","GetBit","m_bits","246837vxejdH","GetSE","4183065ymaNkS","2pKBAEN","520192oscIyB","GetBYTE","m_byte","219340udfPYj","10113780DZCyvT","length","9aHCUJF","931TwLxTT","m_data","524449DObduq","GetWord","33402Dqttyn","m_idx","GetUE"];return(Pr=function(){return e})()}!function(e,t){const r=Fr,n=e();for(;;)try{if(453151===-parseInt(r(399))/1*(-parseInt(r(413))/2)+-parseInt(r(410))/3*(-parseInt(r(407))/4)+-parseInt(r(412))/5+parseInt(r(401))/6*(-parseInt(r(397))/7)+parseInt(r(414))/8+parseInt(r(396))/9*(parseInt(r(417))/10)+parseInt(r(404))/11*(parseInt(r(418))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Pr);class Rr{constructor(e){const t=Fr;this[t(402)]=null,this.m_data=e,this[t(406)]=e[t(395)],this[t(402)]=0,this[t(409)]=0,this.m_byte=0,this[t(405)]=0}[Ur(415)](){const e=Ur;if(this[e(402)]>=this[e(406)])return 0;let t=this[e(398)][this[e(402)]++];return 0==t?(this[e(405)]++,this[e(402)]>this.m_bits&1}[Ur(400)](e){const t=Ur;let r=0;for(;e>0;)r<<=1,r|=this[t(408)](),e--;return r}[Ur(403)](){const e=Ur;let t=0;for(;this[e(402)]>1;return!(1&e)&&(t=-t),t}}const Lr=Or;function Or(e,t){const r=Nr();return(Or=function(e,t){return r[e-=369]})(e,t)}function Nr(){const e=["182829IxsIfL","warn","8646KxjdnA","2141619YVGilN","SPSParser sps_max_sub_layers_minus1 > 6","730094oyJkND","parseSPS","byteLength","_ebsp2rbsp","SPSParser sps_seq_parameter_set_id > 15","1196064uOVkHT","72IEreYd","3453064EcYtct","4123OpKyyD","GetWord","SPSParser chroma_format_idc > 3","buffer","GetUE","1293645foYtws","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8"];return(Nr=function(){return e})()}!function(e,t){const r=Or,n=e();for(;;)try{if(608683===parseInt(r(375))/1+parseInt(r(380))/2+-parseInt(r(378))/3+parseInt(r(387))/4+parseInt(r(373))/5+-parseInt(r(377))/6*(-parseInt(r(388))/7)+parseInt(r(386))/8*(-parseInt(r(385))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Nr);class zr{static[Lr(383)](e){const t=Lr;let r=e,n=r[t(382)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(371)],0,s)}static[Lr(381)](e){const t=Lr;let r=zr[t(383)](e);const n=new Rr(r);let i="",s="",o="",a="";n[t(369)](4);let c=n.GetWord(3);if(c>6)return console[t(376)](t(379)),!1;n[t(369)](1),n[t(369)](2),n.GetWord(1),i=n[t(369)](5),n[t(369)](32),n[t(369)](1),n[t(369)](1),n[t(369)](1),n[t(369)](1),n.GetWord(44),s=n[t(369)](8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(369)](2);for(let e=0;e15)return console[t(376)](t(384),d),!1;let f=n[t(372)]();return f>3?(console[t(376)](t(370),f),!1):(3==f&&n.GetWord(1),o=n.GetUE(),a=n.GetUE(),n.GetWord(1)&&(n[t(372)](),n[t(372)](),n[t(372)](),n[t(372)]()),n[t(372)]()!=n[t(372)]()?(console[t(376)](t(374)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:o,height:a},present_size:{width:"",height:a}})}}function Hr(e,t){const r=jr();return(Hr=function(e,t){return r[e-=137]})(e,t)}!function(e,t){const r=Hr,n=e();for(;;)try{if(159841===parseInt(r(162))/1+parseInt(r(143))/2*(-parseInt(r(138))/3)+parseInt(r(159))/4*(-parseInt(r(140))/5)+-parseInt(r(148))/6*(-parseInt(r(151))/7)+parseInt(r(146))/8*(parseInt(r(144))/9)+parseInt(r(142))/10*(-parseInt(r(163))/11)+parseInt(r(157))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(jr);const Vr=e=>{const t=Hr;let r=e,n=r[t(149)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(152)],0,s)},Gr=e=>{const t=Hr;switch(e){case 0:return t(139);case 1:return t(155);case 2:return t(161);case 3:return"4:4:4";default:return t(153)}};function jr(){const e=["Unknown","readUEG","4:2:0","readBits","5013540dhicVR","toFixed","92BjtkLA","readBool","4:2:2","21176DzHqRm","1745128nlJzBF","readByte","readSEG","18rptjSm","4:0:0","36935hTKqEO","min","10GiTeOZ","62248eklMzd","39465aDSrnt",".B0","392nVgFBZ","push","63894NuQkOR","byteLength","destroy","14xkSnKw","buffer"];return(jr=function(){return e})()}const Wr=Yr;!function(e,t){const r=Yr,n=e();for(;;)try{if(569520===parseInt(r(257))/1*(parseInt(r(282))/2)+-parseInt(r(250))/3+parseInt(r(263))/4+parseInt(r(259))/5+-parseInt(r(272))/6*(parseInt(r(270))/7)+parseInt(r(261))/8+parseInt(r(267))/9*(parseInt(r(260))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Kr);class qr{static[Wr(248)](e){const t=Wr;let r=e,n=r[t(249)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(281)],0,s)}static[Wr(256)](e){const t=Wr;let r=qr[t(248)](e),n=new ct(r);return n[t(254)](),n[t(254)](),n[t(258)](4),n.readBits(2),n[t(258)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n[t(266)]()}}static[Wr(283)](e){const t=Wr;let r=qr._ebsp2rbsp(e),n=new ct(r);n[t(254)](),n.readByte();let i=0,s=0,o=0,a=0;n.readBits(4);let c=n[t(258)](3);n[t(266)]();let u=n[t(258)](2),l=n.readBool(),d=n[t(258)](5),f=n[t(254)](),h=n[t(254)](),p=n[t(254)](),m=n[t(254)](),v=n[t(254)](),g=n[t(254)](),y=n[t(254)](),_=n.readByte(),b=n.readByte(),w=n.readByte(),S=n[t(254)](),I=[],E=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(258)](2);for(let e=0;e1&&n[t(255)]();for(let e=0;e0&&e<=16?(P=r[e-1],R=i[e-1]):255===e&&(P=n[t(258)](16),R=n[t(258)](16))}if(n[t(266)]()&&n.readBool(),n[t(266)]()){n[t(258)](3),n[t(266)](),n[t(266)]()&&(n[t(254)](),n[t(254)](),n[t(254)]())}if(n.readBool()&&(n[t(280)](),n[t(280)]()),n[t(266)](),n.readBool(),n[t(266)](),U=n[t(266)](),U&&(n[t(280)](),n[t(280)](),n[t(280)](),n[t(280)]()),n[t(266)]()){if(O=n.readBits(32),N=n[t(258)](32),n[t(266)]()&&n[t(280)](),n.readBool()){let e=!1,r=!1,i=!1;e=n[t(266)](),r=n.readBool(),(e||r)&&(i=n[t(266)](),i&&(n[t(254)](),n[t(258)](5),n[t(266)](),n[t(258)](5)),n[t(258)](4),n[t(258)](4),i&&n[t(258)](4),n[t(258)](5),n.readBits(5),n[t(258)](5));for(let s=0;s<=c;s++){let s=n[t(266)]();L=s;let o=!0,a=1;!s&&(o=n.readBool());let c=!1;if(o?n[t(280)]():c=n[t(266)](),!c&&(a=n.readUEG()+1),e){for(let e=0;e>6&3,n[t(196)]=e[1]>>5&1,n[t(163)]=31&e[1],n.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n[t(245)]=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[t(245)]=n.general_constraint_indicator_flags<<16|e[10]<<8|e[11],n[t(277)]=e[12],n.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],n[t(190)]=3&e[15],n[t(189)]=3&e[16],n[t(185)]=7&e[17],n.bitDepthChromaMinus8=7&e[18],n[t(188)]=e[19]<<8|e[20],n.constantFrameRate=e[21]>>6&3,n.numTemporalLayers=e[21]>>3&7,n[t(232)]=e[21]>>2&1,n[t(210)]=3&e[21];let i=e[22],s=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e[n(226)](2);i[n(258)]=[],i[n(225)]=[],i.sub_layer_profile_idc=[],i[n(221)]=[],i[n(216)]=[],i[n(164)]=[],i[n(269)]=[],i[n(286)]=[],i.sub_layer_level_idc=[];for(let t=0;t{const t=Hr;let r=Vr(e),n=new ct(r);return n[t(164)](),n.readByte(),n[t(156)](4),n.readBits(2),n[t(156)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n[t(160)]()}})(r),a=(e=>{const t=Hr;let r=Vr(e),n=new ct(r);n[t(164)](),n[t(164)]();let i=0,s=0,o=0,a=0;n[t(156)](4);let c=n[t(156)](3);n.readBool();let u=n[t(156)](2),l=n.readBool(),d=n[t(156)](5),f=n.readByte(),h=n.readByte(),p=n[t(164)](),m=n[t(164)](),v=n[t(164)](),g=n.readByte(),y=n[t(164)](),_=n[t(164)](),b=n[t(164)](),w=n[t(164)](),S=n[t(164)](),I=[],E=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(156)](2);for(let e=0;e1&&n[t(137)]();for(let e=0;e0&&e<16?(P=r[e-1],R=i[e-1]):255===e&&(P=n[t(156)](16),R=n[t(156)](16))}if(n[t(160)]()&&n[t(160)](),n[t(160)]()&&(n[t(156)](3),n[t(160)](),n.readBool()&&(n[t(164)](),n[t(164)](),n[t(164)]())),n.readBool()&&(n.readUEG(),n[t(154)]()),n[t(160)](),n[t(160)](),n[t(160)](),U=n[t(160)](),U&&(i+=n[t(154)](),s+=n[t(154)](),o+=n[t(154)](),a+=n[t(154)]()),n[t(160)]()&&(O=n[t(156)](32),N=n[t(156)](32),n[t(160)]()&&(n[t(154)](),n.readBool()))){let e=!1,r=!1,i=!1;e=n[t(160)](),r=n[t(160)](),(e||r)&&(i=n[t(160)](),i&&(n[t(164)](),n[t(156)](5),n[t(160)](),n[t(156)](5)),n[t(156)](4),n[t(156)](4),i&&n[t(156)](4),n.readBits(5),n[t(156)](5),n[t(156)](5));for(let s=0;s<=c;s++){let s=n[t(160)]();L=s;let o=!1,a=1;!s&&(o=n.readBool());let c=!1;if(o?n.readSEG():c=n[t(160)](),!c&&(cpbcnt=n[t(154)]()+1),e)for(let e=0;e{const t=Hr;let r=Vr(e),n=new ct(r);n.readByte(),n[t(164)](),n[t(154)](),n[t(154)](),n[t(160)](),n.readBool(),n[t(156)](3),n[t(160)](),n[t(160)](),n[t(154)](),n[t(154)](),n[t(137)](),n[t(160)](),n[t(160)](),n[t(160)]()&&n[t(154)](),n.readSEG(),n[t(137)](),n[t(160)](),n[t(160)](),n.readBool(),n.readBool();let i=n[t(160)](),s=n[t(160)](),o=1;return s&&i?o=0:s?o=3:i&&(o=2),{parallelismType:o}})(n);s=Object[t(173)](s,o,a,c);let u=23+(5+r[t(184)])+(5+i[t(184)])+(5+n[t(184)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(214)])<<6|(s[t(196)]?1:0)<<5|31&s[t(163)],l[2]=s[t(257)]||0,l[3]=s[t(260)]||0,l[4]=s[t(259)]||0,l[5]=s[t(201)]||0,l[6]=s.general_constraint_indicator_flags_1||0,l[7]=s[t(228)]||0,l[8]=s[t(160)]||0,l[9]=s[t(252)]||0,l[10]=s[t(250)]||0,l[11]=s[t(181)]||0,l[12]=60,l[13]=240|(3840&s.min_spatial_segmentation_idc)>>8,l[14]=255&s[t(294)],l[15]=252|3&s[t(190)],l[16]=252|3&s[t(267)],l[17]=248|7&s[t(162)],l[18]=248|7&s[t(253)],l[19]=0,l[20]=0,l[21]=(3&s[t(158)])<<6|(7&s[t(279)])<<3|(s.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|Ne[t(268)],l[24]=0,l[25]=1,l[26]=(65280&r[t(184)])>>8,l[27]=(255&r[t(184)])>>0,l.set(r,28),l[23+(5+r.byteLength)+0]=128|Ne[t(236)],l[23+(5+r.byteLength)+1]=0,l[23+(5+r[t(184)])+2]=1,l[23+(5+r.byteLength)+3]=(65280&i[t(184)])>>8,l[23+(5+r[t(184)])+4]=(255&i[t(184)])>>0,l[t(156)](i,23+(5+r[t(184)])+5),l[23+(5+r[t(184)]+5+i[t(184)])+0]=128|Ne.pps,l[23+(5+r[t(184)]+5+i[t(184)])+1]=0,l[23+(5+r[t(184)]+5+i[t(184)])+2]=1,l[23+(5+r[t(184)]+5+i[t(184)])+3]=(65280&n[t(184)])>>8,l[23+(5+r[t(184)]+5+i.byteLength)+4]=(255&n.byteLength)>>0,l[t(156)](n,23+(5+r[t(184)]+5+i.byteLength)+5);const d=[28,0,0,0,0],f=new Uint8Array(d[t(218)]+l.byteLength);return f[t(156)](d,0),f[t(156)](l,d[t(218)]),f}function tn(e,t){const r=cn;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(184)]>>24&255,n[6]=e.byteLength>>16&255,n[7]=e[r(184)]>>8&255,n[8]=255&e.byteLength;const i=new Uint8Array(n[r(218)]+e.byteLength);return i[r(156)](n,0),i[r(156)](e,n[r(218)]),i}function rn(e,t){const r=cn;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(218)]+e[r(184)]);return i[r(156)](n,0),i[r(156)](e,n.length),i}function nn(e){return(126&e[0])>>1}function sn(e){return e===Ne[cn(263)]}function on(e){return!((t=e)>=32&&t<=40);var t}function an(e){return e>=16&&e<=21}function cn(e,t){const r=Zr();return(cn=function(e,t){return r[e-=154]})(e,t)}function un(e){const t=cn;if(0===e[t(218)])return!1;const r=nn(e[0]);for(let n=1;n=n[t(184)])return this.eofFlag=!0,n.byteLength;let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[Xr(274)](){const e=Xr;let t=this.data,r=null;for(;null==r&&!this.eofFlag;){let n=this[e(238)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,o=this[e(251)](n);this.currentStartcodeOffset=o,0===s&&(r={type:i,data:t[e(154)](n,o)})}return r}}class dn{constructor(e){const t=Xr;let r=e[t(223)][t(184)];this.type=e[t(203)],this[t(223)]=new Uint8Array(4+r),new DataView(this[t(223)].buffer)[t(292)](0,r),this[t(223)][t(156)](e.data,4)}}var fn=An;!function(e,t){for(var r=An,n=e();;)try{if(231023===parseInt(r(297))/1*(parseInt(r(327))/2)+parseInt(r(320))/3+-parseInt(r(330))/4*(-parseInt(r(277))/5)+parseInt(r(236))/6*(parseInt(r(247))/7)+parseInt(r(221))/8+parseInt(r(223))/9+-parseInt(r(279))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Un);var hn,pn="application/json, text/javascript",mn="text/html",vn=/^(?:text|application)\/xml/i,gn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,_n=/^\s*$/,bn={},wn={},Sn="",In={type:fn(321),beforeSend:En,success:En,error:En,complete:En,context:null,xhr:function(){return new window.XMLHttpRequest},accepts:{json:pn,xml:fn(240),html:mn,text:fn(255),"*":"*/"[fn(311)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:En,contentType:fn(268)};function En(){}function An(e,t){var r=Un();return(An=function(e,t){return r[e-=221]})(e,t)}var kn=function(e,t){var r=fn;typeof e===r(310)&&(t=e,e=void 0);var n=Pn({},t=t||{});for(var i in In)void 0===n[i]&&(n[i]=In[i]);try{var s={},o=new Promise((function(e,t){var n=r;s.resolve=e,s[n(245)]=t}));o[r(270)]=s[r(270)],o[r(245)]=s.reject,n.promise=o}catch(e){n[r(286)]={resolve:En,reject:En}}var a=yn[r(250)](window[r(308)][r(229)][r(312)]())||[];n[r(299)]=((e||n.url||window[r(308)].href)+"")[r(295)](/#.*$/,"")[r(295)](/^\/\//,a[1]+"//");var c=n[r(299)];!n.crossDomain&&(n[r(243)]=/^([\w-]+:)?\/\/([^\/]+)/.test(n[r(299)])&&RegExp.$2!==window[r(308)][r(229)]);var u=n[r(318)];if("jsonp"===u){if(!/=\?/.test(n[r(299)])){var l=(n[r(264)]||"callback")+"=?";n.url=Mn(n[r(299)],l)}return function(e){var t,r=fn,n=e[r(289)]||r(264)+On(),i=window[r(266)][r(298)](r(233)),s={abort:function(){n in window&&(window[n]=En)}},o=window[r(266)][r(302)](r(280))[0]||window[r(266)][r(326)];function a(n){var i=r;window[i(256)](t),s[i(237)](),xn(n[i(291)],s,n.type,e),c()}function c(){var e=r;i[e(290)]?i[e(290)]():i[e(269)]=i[e(288)]=i.onerror=null,i[e(227)]&&i.parentNode[e(304)](i),i=null,delete window[n]}return i[r(275)]=function(e){a(e)},window[n]=function(n){window[r(256)](t),Cn(n,s,e),c()},Bn(e),i[r(317)]=e[r(299)][r(295)](/=\?/,"="+n),i[r(317)]=Mn(i.src,"_="+(new Date)[r(222)]()),i[r(251)]=!0,e[r(319)]&&(i[r(225)]=e[r(319)]),o[r(234)](i,o[r(244)]),e[r(272)]>0&&(t=window[r(232)]((function(){var t=r;s[t(237)](),xn("timeout",s,t(272),e),c()}),e.timeout)),e[r(286)][r(237)]=function(){s.abort()},e.promise.xhr=s,e[r(286)]}(n)}Bn(n);var d=n[r(265)][u]||n[r(265)]["*"],f={};/^([\w-]+:)\/\//[r(296)](n.url)?RegExp.$1:window[r(308)][r(267)];var h,p=In[r(248)]();!n[r(243)]&&!f[r(314)]&&(f["X-Requested-With"]=r(258)),n[r(271)]&&(bn[c]&&(f[r(325)]=bn[c]),wn[c]&&(f["If-None-Match"]=wn[c])),d&&(f[r(281)]=d,d[r(253)](",")>-1&&(d=d[r(287)](",",2)[0]),p[r(228)]&&p.overrideMimeType(d));var m=!/^(?:GET|HEAD)$/[r(296)](n.type.toUpperCase());if((n.data&&m&&!1!==n[r(263)]||t[r(263)])&&(f[r(292)]=n[r(263)]),!1===n[r(315)]&&!m){var v=/([?&])_=[^&]*/;n.url=v[r(296)](c)?c[r(295)](v,r(230)+On()):c+(/\?/[r(296)](c)?"&":"?")+"_="+On()}n.headers=Pn(f,n.headers||{}),p[r(288)]=function(){var e,t,i=r;if(4===p[i(235)]){clearTimeout(h);var s,o=!1;if(p[i(301)]>=200&&p[i(301)]<300||304===p[i(301)]){if(Sn=p[i(282)](),n[i(271)]){var a=Dn(i(259));a&&(bn[c]=a),(a=Dn(i(249)))&&(wn[c]=a)}u=u||(e=p[i(329)](i(224)),t=fn,e&&(e===mn?t(307):e===pn?"json":vn[t(296)](e)&&t(283))||"text"),s=p.responseText;try{"xml"===u?s=p[i(257)]:u===i(239)&&(s=_n[i(296)](s)?null:JSON[i(305)](s))}catch(e){o=e}o?xn(o,"parseerror",p,n):Cn(s,p,n)}else xn(null,"error",p,n)}};var g=!("async"in n)||n[r(251)];if(p.open(n[r(291)],n[r(299)],g,n[r(242)],n[r(254)]),n[r(328)])for(var y in n[r(328)])p[y]=n[r(328)][y];for(var y in n[r(246)]&&p.overrideMimeType&&p.overrideMimeType(n[r(246)]),n[r(231)])void 0!==n[r(231)][y]&&p[r(306)](y,n[r(231)][y]+"");return!1===function(e,t){var r=fn,n=t[r(303)];if(!1===t[r(293)][r(274)](n,e,t))return!1}(p,n)?(p[r(237)](),!1):(n[r(272)]>0&&(h=window[r(232)]((function(){var e=r;p.onreadystatechange=En,p.abort(),xn(null,e(272),p,n)}),n[r(272)])),p[r(324)](n[r(300)]?n.data:null),n[r(286)][r(237)]=function(){p[r(237)]()},n[r(286)])};function Cn(e,t,r){var n=fn,i=r.context,s="success";r[n(285)].call(i,e,s,t),r.promise[n(270)](e,s,t),Tn(s,t,r)}function Tn(e,t,r){var n=fn,i=r[n(303)];r[n(323)].call(i,t,e)}function xn(e,t,r,n){var i=fn,s=n[i(303)];n.error[i(274)](s,r,t,e),n[i(286)].reject(r,t,e),Tn(t,r,n)}function Dn(e){var t,r=fn;if(!hn){for(hn={};t=gn.exec(Sn);)hn[t[1][r(312)]()]=t[2];t=hn[e[r(312)]()]}return null===t?null:t}function Mn(e,t){return(e+"&"+t)[fn(295)](/[&?]{1,2}/,"?")}function Bn(e){var t,r,n,i,s=fn;Rn(e)&&!(e[s(300)]instanceof FormData)&&e[s(313)]&&(e[s(300)]=(t=e.data,(i=[])[(n=fn)(284)]=function(e,t){this[n(252)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Fn(i,t,r),i[n(261)]("&")[n(295)](n(241),"+"))),e[s(300)]&&(!e[s(291)]||e[s(291)][s(316)]()===s(321))&&(e[s(299)]=Mn(e[s(299)],e[s(300)]))}function Un(){var e=["url","data","status","getElementsByTagName","context","removeChild","parse","setRequestHeader","html","location","[object Array]","object","concat","toLowerCase","processData","X-Requested-With","cache","toUpperCase","src","dataType","scriptCharset","481203ipPPuc","GET","post","complete","send","If-Modified-Since","documentElement","6eTrjoT","xhrFields","getResponseHeader","905540vpMjya","2108928RGHnyQ","getTime","1003896rTfyVg","content-type","charset","ajaxSetup","parentNode","overrideMimeType","href","$1_=","headers","setTimeout","script","insertBefore","readyState","10014vUgpoY","abort","prototype","json","application/xml, text/xml","%20","username","crossDomain","firstChild","reject","mimeType","1344ClfUNk","xhr","etag","exec","async","push","indexOf","password","text/plain","clearTimeout","responseXML","XMLHttpRequest","Last-Modified","value","join","name","contentType","jsonp","accepts","document","protocol","application/x-www-form-urlencoded; charset=UTF-8","onload","resolve","ifModified","timeout","getJSON","call","onerror","length","5iDaGRi","POST","11929600BJrEWS","head","Accept","getAllResponseHeaders","xml","add","success","promise","split","onreadystatechange","jsonpCallback","clearAttributes","type","Content-Type","beforeSend","function","replace","test","113863ULYjPI","createElement"];return(Un=function(){return e})()}function Fn(e,t,r,n){var i,s,o=fn,a=(i=t,s=fn,Object[s(238)].toString[s(274)](i)===s(309));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(a?"":c)+"]"),!n&&a?e[o(284)](u[o(262)],u[o(260)]):(r?a(u):Rn(u))?Fn(e,u,r,c):e[o(284)](c,u)}}function Pn(e){for(var t=fn,r=Array[t(238)].slice,n=r[t(274)](arguments,1),i=0,s=n[t(276)];i255)return!1;return!0}function Gn(e,t){var r=mi;if(e[r(515)]&&e.name===r(506))return t&&(e=e.slice?e[r(480)]():Array[r(520)].slice[r(508)](e)),e;if(Array[r(496)](e)){if(!Vn(e))throw new Error(r(495)+e);return new Uint8Array(e)}if(Hn(e[r(481)])&&Vn(e))return new Uint8Array(e);throw new Error(r(514))}function jn(e){return new Uint8Array(e)}function Wn(e,t,r,n,i){var s=mi;(null!=n||null!=i)&&(e=e[s(480)]?e[s(480)](n,i):Array[s(520)][s(480)].call(e,n,i)),t[s(483)](e,r)}!function(e,t){for(var r=mi,n=e();;)try{if(966119===-parseInt(r(528))/1*(parseInt(r(523))/2)+parseInt(r(513))/3+parseInt(r(534))/4*(-parseInt(r(533))/5)+-parseInt(r(503))/6*(parseInt(r(538))/7)+parseInt(r(525))/8+parseInt(r(527))/9*(parseInt(r(529))/10)+parseInt(r(509))/11*(-parseInt(r(475))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zn);var qn,Yn,Kn={toBytes:function(e){var t=mi,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(521)](String.fromCharCode((31&i)<<6|63&e[n+1])),n+=2):(r[t(521)](String.fromCharCode((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r[t(504)]("")}},Xn=(Yn=(qn=mi)(486),{toBytes:function(e){for(var t=mi,r=[],n=0;n>4]+Yn[15&i])}return r.join("")}}),$n={16:10,24:12,32:14},Jn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Zn=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Qn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],ei=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],ti=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ri=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],ni=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ii=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],si=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],oi=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],ai=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ci=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ui=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],li=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],di=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function fi(e){for(var t=mi,r=[],n=0;n>2,this._Ke[n][r%4]=o[r],this[e(494)][t-n][r%4]=o[r];for(var a,c=0,u=s;u>16&255]<<24^Zn[a>>8&255]<<16^Zn[255&a]<<8^Zn[a>>24&255]^Jn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Zn[a>>16&255]<<16^Zn[a>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this._Ke[l][d]=o[r],this._Kd[t-l][d]=o[r++],u++}for(var l=1;l>24&255]^ui[a>>16&255]^li[a>>8&255]^di[255&a]},hi[Nn(520)][Nn(491)]=function(e){var t=Nn;if(16!=e[t(481)])throw new Error(t(492));for(var r=this[t(501)][t(481)]-1,n=[0,0,0,0],i=fi(e),s=0;s<4;s++)i[s]^=this[t(501)][0][s];for(var o=1;o>24&255]^ti[i[(s+1)%4]>>16&255]^ri[i[(s+2)%4]>>8&255]^ni[255&i[(s+3)%4]]^this[t(501)][o][s];i=n.slice()}var a,c=jn(16);for(s=0;s<4;s++)a=this._Ke[r][s],c[4*s]=255&(Zn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Zn[i[(s+1)%4]>>16&255]^a>>16),c[4*s+2]=255&(Zn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Zn[255&i[(s+3)%4]]^a);return c},hi[Nn(520)][Nn(512)]=function(e){var t=Nn;if(16!=e[t(481)])throw new Error(t(537));for(var r=this._Kd.length-1,n=[0,0,0,0],i=fi(e),s=0;s<4;s++)i[s]^=this[t(494)][0][s];for(var o=1;o>24&255]^si[i[(s+3)%4]>>16&255]^oi[i[(s+2)%4]>>8&255]^ai[255&i[(s+1)%4]]^this[t(494)][o][s];i=n[t(480)]()}var a,c=jn(16);for(s=0;s<4;s++)a=this[t(494)][r][s],c[4*s]=255&(Qn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Qn[i[(s+3)%4]>>16&255]^a>>16),c[4*s+2]=255&(Qn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Qn[255&i[(s+1)%4]]^a);return c};var pi=function(e){var t=Nn;if(!(this instanceof pi))throw Error(t(498));this[t(510)]=t(505),this[t(493)]="ecb",this[t(536)]=new hi(e)};function mi(e,t){var r=zn();return(mi=function(e,t){return r[e-=472]})(e,t)}pi[Nn(520)][Nn(491)]=function(e){var t=Nn;if((e=Gn(e))[t(481)]%16!=0)throw new Error(t(519));for(var r=jn(e[t(481)]),n=jn(16),i=0;iNumber[t(487)])throw new Error(t(488));for(var r=15;r>=0;--r)this[t(489)][r]=e%256,e=parseInt(e/256)},_i[Nn(520)][Nn(517)]=function(e){var t=Nn;if(16!=(e=Gn(e,!0))[t(481)])throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},_i[Nn(520)][Nn(490)]=function(){for(var e=Nn,t=15;t>=0;t--){if(255!==this[e(489)][t]){this[e(489)][t]++;break}this[e(489)][t]=0}};var bi=function(e,t){var r=Nn;if(!(this instanceof bi))throw Error(r(498));this[r(510)]=r(474),this[r(493)]="ctr",!(t instanceof _i)&&(t=new _i(t)),this[r(489)]=t,this[r(535)]=null,this[r(484)]=16,this._aes=new hi(e)};bi[Nn(520)][Nn(491)]=function(e){for(var t=Nn,r=Gn(e,!0),n=0;n16)throw new Error(t(472));for(var n=e[t(481)]-r,i=0;i>>2]>>>24-a%4*8&255;r[s+a>>>2]|=c<<24-(s+a)%4*8}else for(var u=0;u>>2]=i[u>>>2];return this.sigBytes+=o,this},clamp:function(){var t=n,r=this[t(343)],i=this[t(388)];r[i>>>2]&=4294967295<<32-i%4*8,r[t(355)]=e[t(376)](i/4)},clone:function(){var e=n,t=u.clone[e(353)](this);return t[e(343)]=this[e(343)][e(408)](0),t},random:function(e){for(var t=n,r=[],s=0;s>>2]>>>24-o%4*8&255;s[t(363)]((a>>>4)[t(396)](16)),s[t(363)]((15&a).toString(16))}return s[t(398)]("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new l.init(r,t/2)}},p=f[n(414)]={stringify:function(e){for(var t=n,r=e[t(343)],i=e[t(388)],s=[],o=0;o>>2]>>>24-o%4*8&255;s[t(363)](String[t(386)](a))}return s[t(398)]("")},parse:function(e){for(var t=n,r=e[t(355)],i=[],s=0;s>>2]|=(255&e[t(413)](s))<<24-s%4*8;return new(l[t(381)])(i,r)}},m=f[n(361)]={stringify:function(e){var t=n;try{return decodeURIComponent(escape(p[t(377)](e)))}catch(e){throw new Error(t(350))}},parse:function(e){return p.parse(unescape(encodeURIComponent(e)))}},v=c[n(347)]=u[n(356)]({reset:function(){var e=n;this[e(341)]=new(l[e(381)]),this[e(351)]=0},_append:function(e){var t=n;"string"==typeof e&&(e=m[t(405)](e)),this[t(341)][t(368)](e),this[t(351)]+=e[t(388)]},_process:function(t){var r,i=n,s=this[i(341)],o=s.words,a=s.sigBytes,c=this[i(372)],u=a/(4*c),d=(u=t?e.ceil(u):e.max((0|u)-this[i(357)],0))*c,f=e[i(403)](4*d,a);if(d){for(var h=0;h>>2]|=e[o]<<24-o%4*8;n[r(206)](this,s,i)}else n.apply(this,arguments)};i[t(226)]=r}}(),e.lib.WordArray},(i=Ci)(225)==i(225)?e[i(205)]=n(Ii):n(r[i(214)])}));function Ti(){var e=["371YchWVs","11865cRCxwg","byteOffset","7127064ZAafAN","undefined","object","prototype","1055eqgLjX","12ELYbeI","function","exports","call","346281uQvYXX","init","12059510WcdepH","25314dPJDxA","206qKQlBT","WordArray","./core","CryptoJS","200168dKmcVV","commonjsGlobal","amd","37523563RauqBv","lib"];return(Ti=function(){return e})()}var xi=Mi;function Di(){var e=["fromCharCode","232836oBSXNp","17796WMqLtv","CryptoJS","amd","enc","./core","create","154HKIkXR","767304FDwAqW","7429930vsJNDh","Utf16","length","push","join","59211haVXmO","words","lib","object","53496pVAwrZ","39064itaKLv","WordArray","createCommonjsModule","200rcCELY","commonjsGlobal","14jiyDpw","Utf16LE"];return(Di=function(){return e})()}function Mi(e,t){var r=Di();return(Mi=function(e,t){return r[e-=439]})(e,t)}!function(e,t){for(var r=Mi,n=e();;)try{if(206005===-parseInt(r(441))/1*(parseInt(r(464))/2)+-parseInt(r(454))/3+-parseInt(r(440))/4+-parseInt(r(462))/5*(parseInt(r(458))/6)+-parseInt(r(447))/7*(-parseInt(r(459))/8)+-parseInt(r(448))/9+parseInt(r(449))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Di);d[xi(461)]((function(e,t){var r,n,i,s=xi;r=d[s(463)],n=function(e){var t=s;return function(){var t=Mi,r=e,n=r[t(456)][t(460)],i=r[t(444)];function s(e){return e<<8&4278255360|e>>>8&16711935}i[t(450)]=i.Utf16BE={stringify:function(e){for(var r=t,n=e[r(455)],i=e.sigBytes,s=[],o=0;o>>2]>>>16-o%4*8&65535;s[r(452)](String[r(439)](a))}return s[r(453)]("")},parse:function(e){for(var r=e[t(451)],i=[],s=0;s>>1]|=e.charCodeAt(s)<<16-s%2*16;return n.create(i,2*r)}},i[t(465)]={stringify:function(e){for(var r=t,n=e[r(455)],i=e.sigBytes,o=[],a=0;a>>2]>>>16-a%4*8&65535);o[r(452)](String[r(439)](c))}return o[r(453)]("")},parse:function(e){for(var r=t,i=e[r(451)],o=[],a=0;a>>1]|=s(e.charCodeAt(a)<<16-a%2*16);return n[r(446)](o,2*i)}}}(),e[t(444)].Utf16},(i=Mi)(457)==i(457)?e.exports=n(Ii):n(r[i(442)])}));function Bi(e,t){var r=Ui();return(Bi=function(e,t){return r[e-=473]})(e,t)}function Ui(){var e=["CryptoJS","_reverseMap","7dCqLwp","1674080bMubKz","130KbtRfv","WordArray","amd","Base64","clamp","create","2OpdmtH","24kAuCXO","charAt","commonjsGlobal","push","createCommonjsModule","sigBytes","exports","join","321849yFCFqT","6TVpSbd","enc","585145sGwSaZ","_map","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","object","charCodeAt","192709yfLzBk","lib","52323rZeIZQ","93158xCMWwI","words","41928nLIxtQ","function","indexOf","length"];return(Ui=function(){return e})()}var Fi=Bi;!function(e,t){for(var r=Bi,n=e();;)try{if(138517===parseInt(r(497))/1*(parseInt(r(481))/2)+-parseInt(r(480))/3*(-parseInt(r(498))/4)+-parseInt(r(473))/5*(parseInt(r(507))/6)+-parseInt(r(489))/7*(parseInt(r(490))/8)+parseInt(r(506))/9+-parseInt(r(491))/10*(-parseInt(r(478))/11)+parseInt(r(483))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ui);d[Fi(502)]((function(e,t){var r,n,i,s=Fi;r=d[s(500)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=Bi)(479)][t(492)],r.enc[t(494)]={stringify:function(e){var r=t,n=e[r(482)],i=e[r(503)],s=this[r(474)];e[r(495)]();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(n[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|n[a+2>>>2]>>>24-(a+2)%4*8&255,u=0;u<4&&a+.75*u>>6*(3-u)&63));var l=s[r(499)](64);if(l)for(;o.length%4;)o[r(501)](l);return o[r(505)]("")},parse:function(e){var r=t,i=e[r(486)],s=this[r(474)],o=this[r(488)];if(!o){o=this[r(488)]=[];for(var a=0;a>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n[s(496)](o,a)}(e,i,o)},_map:t(475)},e[i(508)][i(494)]},"object"===(i=Bi)(476)?e[i(504)]=n(Ii):"undefined"===i(484)&&(void 0)[i(493)]?(void 0)(["./core"],n):n(r[i(487)])}));var Pi=Li;function Ri(){var e=["function","1EAHsoX","78708XxGxLB","1204242isDIyo","481262bvMPTG","_reverseMap","length","CryptoJS","charAt","charCodeAt","commonjsGlobal","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","_safe_map","73108wHqVGK","indexOf","105853gTuOks","Base64url","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","sigBytes","_map","16IPWmPe","object","exports","./core","push","enc","amd","821630GlybpZ","createCommonjsModule","690ppgWOD","3470220mJbifr","12jLKGtU","clamp"];return(Ri=function(){return e})()}function Li(e,t){var r=Ri();return(Li=function(e,t){return r[e-=437]})(e,t)}!function(e,t){for(var r=Li,n=e();;)try{if(209817===-parseInt(r(454))/1*(parseInt(r(457))/2)+parseInt(r(456))/3+parseInt(r(455))/4+-parseInt(r(447))/5*(-parseInt(r(451))/6)+parseInt(r(466))/7*(-parseInt(r(440))/8)+parseInt(r(450))/9+-parseInt(r(449))/10*(parseInt(r(468))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ri);d[Pi(448)]((function(e,t){var r,n,i,s=Pi;r=d[s(463)],n=function(e){var t,r,n,i=s;return t=Li,n=(r=e).lib.WordArray,r[t(445)][t(469)]={stringify:function(e,r){var n=t;void 0===r&&(r=!0);var i=e.words,s=e[n(438)],o=r?this._safe_map:this[n(439)];e[n(452)]();for(var a=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=o[n(461)](64);if(d)for(;a[n(459)]%4;)a.push(d);return a.join("")},parse:function(e,r){var i=t;void 0===r&&(r=!0);var s=e[i(459)],o=r?this[i(465)]:this[i(439)],a=this._reverseMap;if(!a){a=this[i(458)]=[];for(var c=0;c>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n.create(o,a)}(e,s,a)},_map:t(464),_safe_map:t(437)},e[i(445)][i(469)]},"object"===(i=Li)(441)?e[i(442)]=n(Ii):"undefined"===i(453)&&(void 0)[i(446)]?(void 0)([i(443)],n):n(r[i(460)])}));var Oi=Ni;!function(e,t){for(var r=Ni,n=e();;)try{if(249862===-parseInt(r(142))/1*(-parseInt(r(133))/2)+-parseInt(r(155))/3+parseInt(r(152))/4*(parseInt(r(150))/5)+parseInt(r(127))/6*(parseInt(r(144))/7)+-parseInt(r(146))/8+parseInt(r(140))/9*(parseInt(r(149))/10)+-parseInt(r(128))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zi);d[Oi(151)]((function(e,t){var r,n,i,s=Oi;r=d[s(126)],n=function(e){var t=s;return function(t){var r=Ni,n=e,i=n.lib,s=i.WordArray,o=i[r(147)],a=n[r(134)],c=[];!function(){for(var e=0;e<64;e++)c[e]=4294967296*t.abs(t.sin(e+1))|0}();var u=a[r(136)]=o[r(138)]({_doReset:function(){var e=r;this[e(153)]=new(s[e(132)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a=this[n(153)].words,u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],g=e[t+4],y=e[t+5],_=e[t+6],b=e[t+7],w=e[t+8],S=e[t+9],I=e[t+10],E=e[t+11],A=e[t+12],k=e[t+13],C=e[t+14],T=e[t+15],x=a[0],D=a[1],M=a[2],B=a[3];x=l(x,D,M,B,u,7,c[0]),B=l(B,x,D,M,p,12,c[1]),M=l(M,B,x,D,m,17,c[2]),D=l(D,M,B,x,v,22,c[3]),x=l(x,D,M,B,g,7,c[4]),B=l(B,x,D,M,y,12,c[5]),M=l(M,B,x,D,_,17,c[6]),D=l(D,M,B,x,b,22,c[7]),x=l(x,D,M,B,w,7,c[8]),B=l(B,x,D,M,S,12,c[9]),M=l(M,B,x,D,I,17,c[10]),D=l(D,M,B,x,E,22,c[11]),x=l(x,D,M,B,A,7,c[12]),B=l(B,x,D,M,k,12,c[13]),M=l(M,B,x,D,C,17,c[14]),x=d(x,D=l(D,M,B,x,T,22,c[15]),M,B,p,5,c[16]),B=d(B,x,D,M,_,9,c[17]),M=d(M,B,x,D,E,14,c[18]),D=d(D,M,B,x,u,20,c[19]),x=d(x,D,M,B,y,5,c[20]),B=d(B,x,D,M,I,9,c[21]),M=d(M,B,x,D,T,14,c[22]),D=d(D,M,B,x,g,20,c[23]),x=d(x,D,M,B,S,5,c[24]),B=d(B,x,D,M,C,9,c[25]),M=d(M,B,x,D,v,14,c[26]),D=d(D,M,B,x,w,20,c[27]),x=d(x,D,M,B,k,5,c[28]),B=d(B,x,D,M,m,9,c[29]),M=d(M,B,x,D,b,14,c[30]),x=f(x,D=d(D,M,B,x,A,20,c[31]),M,B,y,4,c[32]),B=f(B,x,D,M,w,11,c[33]),M=f(M,B,x,D,E,16,c[34]),D=f(D,M,B,x,C,23,c[35]),x=f(x,D,M,B,p,4,c[36]),B=f(B,x,D,M,g,11,c[37]),M=f(M,B,x,D,b,16,c[38]),D=f(D,M,B,x,I,23,c[39]),x=f(x,D,M,B,k,4,c[40]),B=f(B,x,D,M,u,11,c[41]),M=f(M,B,x,D,v,16,c[42]),D=f(D,M,B,x,_,23,c[43]),x=f(x,D,M,B,S,4,c[44]),B=f(B,x,D,M,A,11,c[45]),M=f(M,B,x,D,T,16,c[46]),x=h(x,D=f(D,M,B,x,m,23,c[47]),M,B,u,6,c[48]),B=h(B,x,D,M,b,10,c[49]),M=h(M,B,x,D,C,15,c[50]),D=h(D,M,B,x,y,21,c[51]),x=h(x,D,M,B,A,6,c[52]),B=h(B,x,D,M,v,10,c[53]),M=h(M,B,x,D,I,15,c[54]),D=h(D,M,B,x,p,21,c[55]),x=h(x,D,M,B,w,6,c[56]),B=h(B,x,D,M,T,10,c[57]),M=h(M,B,x,D,_,15,c[58]),D=h(D,M,B,x,k,21,c[59]),x=h(x,D,M,B,g,6,c[60]),B=h(B,x,D,M,E,10,c[61]),M=h(M,B,x,D,m,15,c[62]),D=h(D,M,B,x,S,21,c[63]),a[0]=a[0]+x|0,a[1]=a[1]+D|0,a[2]=a[2]+M|0,a[3]=a[3]+B|0},_doFinalize:function(){var e=r,n=this._data,i=n.words,s=8*this[e(137)],o=8*n[e(130)];i[o>>>5]|=128<<24-o%32;var a=t[e(156)](s/4294967296),c=s;i[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(o+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n.sigBytes=4*(i[e(143)]+1),this[e(145)]();for(var u=this[e(153)],l=u.words,d=0;d<4;d++){var f=l[d];l[d]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8)}return u},clone:function(){var e=r,t=o[e(154)].call(this);return t._hash=this[e(153)][e(154)](),t}});function l(e,t,r,n,i,s,o){var a=e+(t&r|~t&n)+i+o;return(a<>>32-s)+t}function d(e,t,r,n,i,s,o){var a=e+(t&n|r&~n)+i+o;return(a<>>32-s)+t}function f(e,t,r,n,i,s,o){var a=e+(t^r^n)+i+o;return(a<>>32-s)+t}function h(e,t,r,n,i,s,o){var a=e+(r^(t|~n))+i+o;return(a<>>32-s)+t}n.MD5=o[r(131)](u),n.HmacMD5=o[r(135)](u)}(Math),e[t(136)]},"object"===(i=Ni)(141)?e.exports=n(Ii):n(r[i(129)])}));function Ni(e,t){var r=zi();return(Ni=function(e,t){return r[e-=126]})(e,t)}function zi(){var e=["object","1XJfAou","length","5698RkbfMV","_process","2459152toFoTH","Hasher","amd","1009870TKQksP","1145835QeoWSA","createCommonjsModule","8ptSqLd","_hash","clone","423471nYaUWb","floor","commonjsGlobal","1494idbcEC","1565806hIZdgm","CryptoJS","sigBytes","_createHelper","init","157504jQDvBK","algo","_createHmacHelper","MD5","_nDataBytes","extend","./core","9TQUJyZ"];return(zi=function(){return e})()}var Hi=Vi;function Vi(e,t){var r=Gi();return(Vi=function(e,t){return r[e-=385]})(e,t)}function Gi(){var e=["CryptoJS","extend","lib","_nDataBytes","702928VRPpZn","162iDoziR","SHA1","floor","26669wKVZPB","_process","102YvtNyk","_createHelper","sigBytes","call","HmacSHA1","1430394mcIzzC","WordArray","clone","Hasher","_data","6996740mVdOVv","init","commonjsGlobal","words","createCommonjsModule","function","2382796FDtIUp","object","19766960dDbDnl","exports","4423143UTmaVm","algo","21MVwrWz","_hash"];return(Gi=function(){return e})()}!function(e,t){for(var r=Vi,n=e();;)try{if(920546===-parseInt(r(417))/1*(-parseInt(r(385))/2)+parseInt(r(405))/3+parseInt(r(401))/4+-parseInt(r(395))/5+-parseInt(r(390))/6*(parseInt(r(407))/7)+parseInt(r(413))/8*(parseInt(r(414))/9)+-parseInt(r(403))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gi);d[Hi(399)]((function(e,t){var r,n,i,s=Hi;r=d[s(397)],n=function(e){var t,r,n,i,o,a,c,u,l=s;return n=(r=e)[(t=Vi)(411)],i=n[t(391)],o=n[t(393)],a=r[t(406)],c=[],u=a[t(415)]=o[t(410)]({_doReset:function(){var e=t;this[e(408)]=new(i[e(396)])([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(408)][n(398)],s=i[0],o=i[1],a=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)c[d]=0|e[r+d];else{var f=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=f<<1|f>>>31}var h=(s<<5|s>>>27)+l+c[d];h+=d<20?1518500249+(o&a|~o&u):d<40?1859775393+(o^a^u):d<60?(o&a|o&u|a&u)-1894007588:(o^a^u)-899497514,l=u,u=a,a=o<<30|o>>>2,o=s,s=h}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(394)],n=r.words,i=8*this[e(412)],s=8*r[e(387)];return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math[e(416)](i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(387)]=4*n.length,this[e(418)](),this[e(408)]},clone:function(){var e=t,r=o[e(392)][e(388)](this);return r[e(408)]=this[e(408)][e(392)](),r}}),r[t(415)]=o[t(386)](u),r[t(389)]=o._createHmacHelper(u),e[l(415)]},(i=Vi)(402)==i(402)?e[i(404)]=n(Ii):"undefined"===i(400)&&(void 0).amd?(void 0)(["./core"],n):n(r[i(409)])}));var ji=qi;function Wi(){var e=["141644DrfFHr","1909824QEGeRv","length","_createHmacHelper","init","createCommonjsModule","HmacSHA256","89641icDYWZ","CryptoJS","call","Hasher","_hash","SHA256","6SAdkHq","algo","2291192sgeyrY","_data","floor","lib","words","_nDataBytes","slice","4yMaCTZ","exports","sigBytes","pow","./core","sqrt","1744135EVigFk","commonjsGlobal","1446021ilMtOo","function","10158970cCulVj","clone","15kQzZAo"];return(Wi=function(){return e})()}!function(e,t){for(var r=qi,n=e();;)try{if(201073===-parseInt(r(490))/1+-parseInt(r(483))/2*(parseInt(r(482))/3)+-parseInt(r(470))/4*(-parseInt(r(476))/5)+parseInt(r(461))/6*(-parseInt(r(484))/7)+-parseInt(r(463))/8+-parseInt(r(478))/9+parseInt(r(480))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Wi);d[ji(488)]((function(e,t){var r,n,i=ji;d[i(477)],e[qi(471)]=(r=Ii,n=i,function(e){var t=qi,n=r,i=n[t(466)],s=i.WordArray,o=i[t(493)],a=n[t(462)],c=[],u=[];!function(){var r=t;function n(t){for(var r=e[qi(475)](t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var s=2,o=0;o<64;)n(s)&&(o<8&&(c[o]=i(e[r(473)](s,.5))),u[o]=i(e[r(473)](s,1/3)),o++),s++}();var l=[],d=a[t(460)]=o.extend({_doReset:function(){var e=t;this[e(494)]=new(s[e(487)])(c[e(469)](0))},_doProcessBlock:function(e,r){for(var n=t,i=this[n(494)][n(467)],s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],f=i[5],h=i[6],p=i[7],m=0;m<64;m++){if(m<16)l[m]=0|e[r+m];else{var v=l[m-15],g=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,y=l[m-2],_=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[m]=g+l[m-7]+_+l[m-16]}var b=s&o^s&a^o&a,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),S=p+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&f^~d&h)+u[m]+l[m];p=h,h=f,f=d,d=c+S|0,c=a,a=o,o=s,s=S+(w+b)|0}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0,i[5]=i[5]+f|0,i[6]=i[6]+h|0,i[7]=i[7]+p|0},_doFinalize:function(){var r=t,n=this[r(464)],i=n[r(467)],s=8*this[r(468)],o=8*n[r(472)];return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=e[r(465)](s/4294967296),i[15+(o+64>>>9<<4)]=s,n[r(472)]=4*i[r(485)],this._process(),this[r(494)]},clone:function(){var e=t,r=o[e(481)][e(492)](this);return r._hash=this[e(494)][e(481)](),r}});n.SHA256=o._createHelper(d),n[t(489)]=o[t(486)](d)}(Math),r[n(460)])}));function qi(e,t){var r=Wi();return(qi=function(e,t){return r[e-=460]})(e,t)}var Yi=Ki;function Ki(e,t){var r=Xi();return(Ki=function(e,t){return r[e-=253]})(e,t)}function Xi(){var e=["sigBytes","SHA224","206908zUNYcy","1321607eYFQuk","WordArray","SHA256","init","object","_createHelper","exports","8880hcwVXd","algo","259819uKMNFo","call","amd","5064kpKeui","505pTuRpw","687837UxZvqa","_createHmacHelper","createCommonjsModule","./sha256","2QMIowJ","_doFinalize","./core","3015QQEirR","8HOvUxa","lib","6969259CvMvrF"];return(Xi=function(){return e})()}!function(e,t){for(var r=Ki,n=e();;)try{if(150265===-parseInt(r(275))/1+parseInt(r(256))/2*(parseInt(r(280))/3)+-parseInt(r(265))/4+parseInt(r(279))/5*(parseInt(r(278))/6)+-parseInt(r(266))/7*(parseInt(r(260))/8)+-parseInt(r(259))/9*(parseInt(r(273))/10)+parseInt(r(262))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xi);d[Yi(254)]((function(e,t){var r,n,i;r=c,n=function(e){return n=(r=e)[(t=Ki)(261)][t(267)],i=r[t(274)],s=i[t(268)],o=i.SHA224=s.extend({_doReset:function(){var e=t;this._hash=new(n[e(269)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=s[e(257)][e(276)](this);return r[e(263)]-=4,r}}),r[t(264)]=s[t(271)](o),r.HmacSHA224=s[t(253)](o),e.SHA224;var t,r,n,i,s,o},(i=Ki)(270)==i(270)?e[i(272)]=n(Ii):n(r.CryptoJS)}));function $i(e,t){var r=Ji();return($i=function(e,t){return r[e-=478]})(e,t)}!function(e,t){for(var r=$i,n=e();;)try{if(408483===-parseInt(r(517))/1*(-parseInt(r(478))/2)+-parseInt(r(482))/3+-parseInt(r(505))/4*(parseInt(r(481))/5)+-parseInt(r(490))/6*(parseInt(r(486))/7)+parseInt(r(480))/8*(-parseInt(r(492))/9)+-parseInt(r(509))/10+parseInt(r(508))/11*(parseInt(r(484))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ji);l((function(e,t){var r,n,i;r=d[$i(487)],n=function(e){return function(){var t=$i,r=e,n=r.lib[t(488)],i=r[t(498)],s=i.Word,o=i[t(497)],a=r[t(515)];function c(){var e=t;return s[e(518)][e(504)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=a[t(479)]=n.extend({_doReset:function(){var e=t;this[e(512)]=new o.init([new(s[e(483)])(1779033703,4089235720),new s.init(3144134277,2227873595),new(s[e(483)])(1013904242,4271175723),new(s[e(483)])(2773480762,1595750129),new(s[e(483)])(1359893119,2917565137),new(s[e(483)])(2600822924,725511199),new(s[e(483)])(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this._hash.words,s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],f=i[5],h=i[6],p=i[7],m=s[n(516)],v=s[n(513)],g=o.high,y=o[n(513)],_=a[n(516)],b=a[n(513)],w=c.high,S=c[n(513)],I=d[n(516)],E=d[n(513)],A=f[n(516)],k=f[n(513)],C=h.high,T=h.low,x=p[n(516)],D=p[n(513)],M=m,B=v,U=g,F=y,P=_,R=b,L=w,O=S,N=I,z=E,H=A,V=k,G=C,j=T,W=x,q=D,Y=0;Y<80;Y++){var K,X,$=l[Y];if(Y<16)X=$.high=0|e[r+2*Y],K=$[n(513)]=0|e[r+2*Y+1];else{var J=l[Y-15],Z=J[n(516)],Q=J[n(513)],ee=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^Z>>>7,te=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^(Q>>>7|Z<<25),re=l[Y-2],ne=re.high,ie=re[n(513)],se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,oe=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),ae=l[Y-7],ce=ae[n(516)],ue=ae[n(513)],le=l[Y-16],de=le[n(516)],fe=le[n(513)];X=(X=(X=ee+ce+((K=te+ue)>>>0>>0?1:0))+se+((K+=oe)>>>0>>0?1:0))+de+((K+=fe)>>>0>>0?1:0),$[n(516)]=X,$[n(513)]=K}var he,pe=N&H^~N&G,me=z&V^~z&j,ve=M&U^M&P^U&P,ge=B&F^B&R^F&R,ye=(M>>>28|B<<4)^(M<<30|B>>>2)^(M<<25|B>>>7),_e=(B>>>28|M<<4)^(B<<30|M>>>2)^(B<<25|M>>>7),be=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),we=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),Se=u[Y],Ie=Se[n(516)],Ee=Se[n(513)],Ae=W+be+((he=q+we)>>>0>>0?1:0),ke=_e+ge;W=G,q=j,G=H,j=V,H=N,V=z,N=L+(Ae=(Ae=(Ae=Ae+pe+((he+=me)>>>0>>0?1:0))+Ie+((he+=Ee)>>>0>>0?1:0))+X+((he+=K)>>>0>>0?1:0))+((z=O+he|0)>>>0>>0?1:0)|0,L=P,O=R,P=U,R=F,U=M,F=B,M=Ae+(ye+ve+(ke>>>0<_e>>>0?1:0))+((B=he+ke|0)>>>0>>0?1:0)|0}v=s[n(513)]=v+B,s.high=m+M+(v>>>0>>0?1:0),y=o[n(513)]=y+F,o[n(516)]=g+U+(y>>>0>>0?1:0),b=a[n(513)]=b+R,a.high=_+P+(b>>>0>>0?1:0),S=c[n(513)]=S+O,c[n(516)]=w+L+(S>>>0>>0?1:0),E=d[n(513)]=E+z,d[n(516)]=I+N+(E>>>0>>0?1:0),k=f[n(513)]=k+V,f[n(516)]=A+H+(k>>>0>>0?1:0),T=h[n(513)]=T+j,h.high=C+G+(T>>>0>>0?1:0),D=p[n(513)]=D+q,p[n(516)]=x+W+(D>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this._data,n=r[e(500)],i=8*this._nDataBytes,s=8*r.sigBytes;return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(514)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(494)]=4*n.length,this[e(501)](),this[e(512)][e(510)]()},clone:function(){var e=t,r=n[e(496)][e(495)](this);return r[e(512)]=this[e(512)][e(496)](),r},blockSize:32});r.SHA512=n[t(499)](d),r[t(506)]=n[t(502)](d)}(),e.SHA512},(i=$i)(489)==i(489)?e[i(493)]=n(Ii):"undefined"===i(507)&&(void 0)[i(503)]?(void 0)([i(485),i(511)],n):n(r[i(491)])}));function Ji(){var e=["exports","sigBytes","call","clone","WordArray","x64","_createHelper","words","_process","_createHmacHelper","amd","apply","395968vqZIBr","HmacSHA512","function","352uAJcQk","4301590dErRrv","toX32","./x64-core","_hash","low","floor","algo","high","109ajKuti","create","3302wHoXRp","SHA512","454368DZEtbP","20DKlNTl","2237646OeKUjZ","init","825780FngiHu","./core","53067MBaQRr","commonjsGlobal","Hasher","object","138lGsDfx","CryptoJS","36uiozls"];return(Ji=function(){return e})()}var Zi=es;function Qi(){var e=["2457592pHHyMW","./sha512","876430pPSPZW","createCommonjsModule","Word","4TUCWvj","commonjsGlobal","./x64-core","197gsDamF","exports","init","call","algo","SHA384","_createHmacHelper","1567884pOdUXw","object","5018zMACtk","x64","./core","1393810TFlrlh","extend","WordArray","_createHelper","2772665gaWWov","18LbCUWV","CryptoJS","10matwNd","amd","958974pUpSta"];return(Qi=function(){return e})()}function es(e,t){var r=Qi();return(es=function(e,t){return r[e-=252]})(e,t)}!function(e,t){for(var r=es,n=e();;)try{if(331623===parseInt(r(277))/1*(parseInt(r(256))/2)+parseInt(r(254))/3*(-parseInt(r(274))/4)+parseInt(r(266))/5*(parseInt(r(268))/6)+parseInt(r(263))/7+-parseInt(r(269))/8+-parseInt(r(264))/9*(parseInt(r(271))/10)+parseInt(r(259))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qi);d[Zi(272)]((function(e,t){var r,n,i;r=d[Zi(275)],n=function(e){return n=(r=e)[(t=es)(257)],i=n[t(273)],s=n[t(261)],o=r[t(281)],a=o.SHA512,c=o.SHA384=a[t(260)]({_doReset:function(){var e=t;this._hash=new s.init([new(i[e(279)])(3418070365,3238371032),new(i[e(279)])(1654270250,914150663),new(i[e(279)])(2438529370,812702999),new i.init(355462360,4144912697),new(i[e(279)])(1731405415,4290775857),new i.init(2394180231,1750603025),new(i[e(279)])(3675008525,1694076839),new(i[e(279)])(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=a._doFinalize[e(280)](this);return r.sigBytes-=16,r}}),r[t(252)]=a[t(262)](c),r.HmacSHA384=a[t(253)](c),e.SHA384;var t,r,n,i,s,o,a,c},(i=es)(255)==i(255)?e[i(278)]=n(Ii):n(r[i(265)])}));var ts=rs;function rs(e,t){var r=ns();return(rs=function(e,t){return r[e-=468]})(e,t)}function ns(){var e=["CryptoJS","15NTsqYo","11199678BAHiZf","algo","createCommonjsModule","2666688mKeLgN","blockSize","Word","cfg","amd","exports","ceil","lib","call","WordArray","low","1284EsmRmQ","96344bUGojM","x64","383198nBGhSj","commonjsGlobal","init","create","push","outputLength","object","_state","Hasher","function","high","19925PNaIFG","clone","SHA3","words","sigBytes","_createHelper","extend","7720326ssFhKt","764132gHYWOy"];return(ns=function(){return e})()}!function(e,t){for(var r=rs,n=e();;)try{if(862153===-parseInt(r(492))/1+-parseInt(r(473))/2+-parseInt(r(494))/3*(parseInt(r(471))/4)+-parseInt(r(484))/5*(parseInt(r(470))/6)+parseInt(r(495))/7+parseInt(r(498))/8+parseInt(r(491))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ns);d[ts(497)]((function(e,t){var r,n,i,s=ts;r=d[s(474)],n=function(e){var t=s;return function(t){var r=rs,n=e,i=n[r(505)],s=i[r(468)],o=i[r(481)],a=n[r(472)][r(500)],c=n[r(496)],u=[],l=[],d=[];!function(){for(var e=r,t=1,n=0,i=0;i<24;i++){u[t+5*n]=(i+1)*(i+2)/2%64;var s=(2*t+3*n)%5;t=n%5,n=s}for(t=0;t<5;t++)for(n=0;n<5;n++)l[t+5*n]=n+(2*t+3*n)%5*5;for(var o=1,c=0;c<24;c++){for(var f=0,h=0,p=0;p<7;p++){if(1&o){var m=(1<>>24)|4278255360&(a<<24|a>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(D=i[o]).high^=c,D.low^=a}for(var h=0;h<24;h++){for(var p=0;p<5;p++){for(var m=0,v=0,g=0;g<5;g++)m^=(D=i[p+5*g])[n(483)],v^=D.low;var y=f[p];y[n(483)]=m,y[n(469)]=v}for(p=0;p<5;p++){var _=f[(p+4)%5],b=f[(p+1)%5],w=b[n(483)],S=b[n(469)];for(m=_[n(483)]^(w<<1|S>>>31),v=_[n(469)]^(S<<1|w>>>31),g=0;g<5;g++)(D=i[p+5*g])[n(483)]^=m,D[n(469)]^=v}for(var I=1;I<25;I++){var E=(D=i[I]).high,A=D[n(469)],k=u[I];k<32?(m=E<>>32-k,v=A<>>32-k):(m=A<>>64-k,v=E<>>64-k);var C=f[l[I]];C[n(483)]=m,C.low=v}var T=f[0],x=i[0];for(T[n(483)]=x[n(483)],T[n(469)]=x[n(469)],p=0;p<5;p++)for(g=0;g<5;g++){var D=i[I=p+5*g],M=f[I],B=f[(p+1)%5+5*g],U=f[(p+2)%5+5*g];D[n(483)]=M[n(483)]^~B[n(483)]&U[n(483)],D[n(469)]=M.low^~B[n(469)]&U[n(469)]}D=i[0];var F=d[h];D[n(483)]^=F[n(483)],D.low^=F[n(469)]}},_doFinalize:function(){var e=r,n=this._data,i=n[e(487)];this._nDataBytes;var o=8*n.sigBytes,a=32*this[e(499)];i[o>>>5]|=1<<24-o%32,i[(t[e(504)]((o+1)/a)*a>>>5)-1]|=128,n[e(488)]=4*i.length,this._process();for(var c=this[e(480)],u=this[e(501)].outputLength/8,l=u/8,d=[],f=0;f>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d[e(477)](m),d[e(477)](p)}return new(s[e(475)])(d,u)},clone:function(){for(var e=r,t=o[e(485)][e(506)](this),n=t[e(480)]=this[e(480)].slice(0),i=0;i<25;i++)n[i]=n[i][e(485)]();return t}});n.SHA3=o[r(489)](h),n.HmacSHA3=o._createHmacHelper(h)}(Math),e[t(486)]},(i=rs)(479)==i(479)?e[i(503)]=n(Ii):"undefined"===i(482)&&(void 0)[i(502)]?(void 0)(["./core","./x64-core"],n):n(r[i(493)])}));var is=ss;function ss(e,t){var r=os();return(ss=function(e,t){return r[e-=290]})(e,t)}function os(){var e=["call","_data","RIPEMD160","length","amd","_process","./core","128304jNNdRf","_createHmacHelper","10946swLxWY","object","Hasher","words","lib","9yAoRKU","1071510UqnMnQ","_hash","20fzRzwF","sigBytes","exports","838470RdFGmQ","536kCExMH","_createHelper","extend","createCommonjsModule","28WHlipS","clone","3135ShNdoI","740715PstKoS","create","534414MLUmYZ","function"];return(os=function(){return e})()}!function(e,t){for(var r=ss,n=e();;)try{if(106219===-parseInt(r(297))/1*(-parseInt(r(321))/2)+-parseInt(r(307))/3*(parseInt(r(301))/4)+parseInt(r(308))/5+-parseInt(r(310))/6+-parseInt(r(305))/7*(-parseInt(r(319))/8)+parseInt(r(294))/9*(-parseInt(r(300))/10)+parseInt(r(295))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(os);d[is(304)]((function(e,t){var r,n,i;r=c,n=function(e){var t=ss;return function(t){var r=ss,n=e,i=n[r(293)],s=i.WordArray,o=i[r(291)],a=n.algo,c=s[r(309)]([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s[r(309)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s[r(309)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),f=s[r(309)]([0,1518500249,1859775393,2400959708,2840853838]),h=s[r(309)]([1352829926,1548603684,1836072691,2053994217,0]),p=a[r(314)]=o[r(303)]({_doReset:function(){var e=r;this._hash=s[e(309)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,p,w,S,I,E,A,k,C,T,x,D=this[n(296)][n(292)],M=f[n(292)],B=h[n(292)],U=c[n(292)],F=u[n(292)],P=l[n(292)],R=d[n(292)];for(E=a=D[0],A=p=D[1],k=w=D[2],C=S=D[3],T=I=D[4],i=0;i<80;i+=1)x=a+e[t+U[i]]|0,x+=i<16?m(p,w,S)+M[0]:i<32?v(p,w,S)+M[1]:i<48?g(p,w,S)+M[2]:i<64?y(p,w,S)+M[3]:_(p,w,S)+M[4],x=(x=b(x|=0,P[i]))+I|0,a=I,I=S,S=b(w,10),w=p,p=x,x=E+e[t+F[i]]|0,x+=i<16?_(A,k,C)+B[0]:i<32?y(A,k,C)+B[1]:i<48?g(A,k,C)+B[2]:i<64?v(A,k,C)+B[3]:m(A,k,C)+B[4],x=(x=b(x|=0,R[i]))+T|0,E=T,T=C,C=b(k,10),k=A,A=x;x=D[1]+w+C|0,D[1]=D[2]+S+T|0,D[2]=D[3]+I+E|0,D[3]=D[4]+a+A|0,D[4]=D[0]+p+k|0,D[0]=x},_doFinalize:function(){var e=r,t=this[e(313)],n=t[e(292)],i=8*this._nDataBytes,s=8*t[e(298)];n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n[e(315)]+1),this[e(317)]();for(var o=this[e(296)],a=o.words,c=0;c<5;c++){var u=a[c];a[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return o},clone:function(){var e=r,t=o[e(306)][e(312)](this);return t[e(296)]=this[e(296)].clone(),t}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function g(e,t,r){return(e|~t)^r}function y(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}n.RIPEMD160=o[r(302)](p),n.HmacRIPEMD160=o[r(320)](p)}(),e[t(314)]},"object"===(i=ss)(290)?e[i(299)]=n(Ii):"undefined"===i(311)&&(void 0)[i(316)]?(void 0)([i(318)],n):n(r.CryptoJS)}));var as=us;function cs(){var e=["CryptoJS","concat","4697424DNQMeG","Utf8","createCommonjsModule","470372gyLrkl","1520142MISnvN","algo","_iKey","update","2213795QxUBxt","_hasher","4542188uUWnaM","clone","1601436oYmyar","1yxYAXz","sigBytes","finalize","clamp","string","init","blockSize","14757624EDqajD","amd","4wODkcO","reset","exports","_oKey","words"];return(cs=function(){return e})()}function us(e,t){var r=cs();return(us=function(e,t){return r[e-=461]})(e,t)}!function(e,t){for(var r=us,n=e();;)try{if(435909===-parseInt(r(468))/1*(-parseInt(r(487))/2)+parseInt(r(488))/3*(parseInt(r(477))/4)+-parseInt(r(463))/5+-parseInt(r(467))/6+-parseInt(r(465))/7+-parseInt(r(484))/8+parseInt(r(475))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(cs);d[as(486)]((function(e,t){var r,n,i,s;e[us(479)]=(r=us,i=(n=Ii).lib.Base,s=n.enc[r(485)],void(n[r(489)].HMAC=i.extend({init:function(e,t){var n=r;e=this[n(464)]=new(e[n(473)]),typeof t==n(472)&&(t=s.parse(t));var i=e[n(474)],o=4*i;t[n(469)]>o&&(t=e[n(470)](t)),t[n(471)]();for(var a=this[n(480)]=t[n(466)](),c=this[n(461)]=t[n(466)](),u=a[n(481)],l=c[n(481)],d=0;d>>2];e[t(389)]-=r}};s[n(386)]=f[n(308)]({cfg:f[n(377)][n(308)]({mode:m,padding:v}),reset:function(){var e,t=n;f.reset[t(367)](this);var r=this[t(377)],i=r.iv,s=r.mode;this[t(363)]==this[t(387)]?e=s.createEncryptor:(e=s[t(366)],this._minBufferSize=1),this[t(384)]&&this[t(384)][t(369)]==e?this[t(384)].init(this,i&&i.words):(this[t(384)]=e[t(367)](s,this,i&&i[t(362)]),this._mode[t(369)]=e)},_doProcessBlock:function(e,t){var r=n;this[r(384)][r(388)](e,t)},_doFinalize:function(){var e,t=n,r=this.cfg[t(324)];return this[t(363)]==this[t(387)]?(r[t(354)](this._data,this.blockSize),e=this._process(!!t(385))):(e=this[t(357)](!!t(385)),r[t(375)](e)),e},blockSize:4});var g=s.CipherParams=o.extend({init:function(e){this[n(342)](e)},toString:function(e){var t=n;return(e||this[t(325)])[t(326)](this)}}),y=(i[n(330)]={}).OpenSSL={stringify:function(e){var t=n,r=e[t(344)],i=e[t(376)];return(i?a[t(307)]([1398893684,1701076831])[t(312)](i)[t(312)](r):r)[t(313)](l)},parse:function(e){var t,r=n,i=l[r(371)](e),s=i.words;return 1398893684==s[0]&&1701076831==s[1]&&(t=a[r(307)](s[r(355)](2,4)),s[r(348)](0,4),i[r(389)]-=16),g[r(307)]({ciphertext:i,salt:t})}},_=s.SerializableCipher=o[n(308)]({cfg:o[n(308)]({format:y}),encrypt:function(e,t,r,i){var s=n;i=this[s(377)][s(308)](i);var o=e.createEncryptor(r,i),a=o.finalize(t),c=o[s(377)];return g.create({ciphertext:a,key:r,iv:c.iv,algorithm:e,mode:c.mode,padding:c[s(324)],blockSize:e[s(320)],formatter:i.format})},decrypt:function(e,t,r,i){var s=n;return i=this[s(377)][s(308)](i),t=this[s(360)](t,i[s(330)]),e[s(366)](r,i)[s(394)](t[s(344)])},_parse:function(e,t){var r=n;return typeof e==r(332)?t[r(371)](e,this):e}}),b=(i.kdf={})[n(318)]={execute:function(e,t,r,i,s){var o=n;if(!i&&(i=a[o(351)](8)),s)c=d[o(307)]({keySize:t+r,hasher:s})[o(393)](e,i);else var c=d.create({keySize:t+r}).compute(e,i);var u=a[o(307)](c[o(362)][o(355)](t),4*r);return c[o(389)]=4*t,g[o(307)]({key:c,iv:u,salt:i})}},w=s[n(353)]=_.extend({cfg:_[n(377)][n(308)]({kdf:b}),encrypt:function(e,t,r,i){var s=n,o=(i=this.cfg[s(308)](i))[s(391)][s(329)](r,e[s(317)],e[s(336)],i.salt,i[s(343)]);i.iv=o.iv;var a=_[s(347)].call(this,e,t,o[s(338)],i);return a[s(342)](o),a},decrypt:function(e,t,r,i){var s=n;i=this.cfg.extend(i),t=this[s(360)](t,i[s(330)]);var o=i[s(391)][s(329)](r,e[s(317)],e[s(336)],t[s(376)],i.hasher);return i.iv=o.iv,_[s(333)].call(this,e,t,o.key,i)}})}()},(i=vs)(310)==i(310)?e[i(358)]=n(Ii):"undefined"===i(314)&&(void 0)[i(356)]?(void 0)([i(352),i(315)],n):n(r.CryptoJS)}));var _s=bs;function bs(e,t){var r=ws();return(bs=function(e,t){return r[e-=466]})(e,t)}!function(e,t){for(var r=bs,n=e();;)try{if(175643===-parseInt(r(485))/1*(parseInt(r(466))/2)+-parseInt(r(497))/3*(-parseInt(r(498))/4)+parseInt(r(482))/5+parseInt(r(475))/6+-parseInt(r(467))/7*(-parseInt(r(494))/8)+parseInt(r(484))/9*(parseInt(r(496))/10)+parseInt(r(493))/11*(-parseInt(r(472))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ws);d[_s(479)]((function(e,t){var r,n,i,s=_s;r=d[s(499)],n=function(e){var t=s;return e[t(487)][t(468)]=function(){var r=t,n=e[r(476)][r(490)][r(478)]();function i(e,t,n,i){var s,o=r,a=this[o(474)];a?(s=a[o(471)](0),this._iv=void 0):s=this[o(491)],i[o(488)](s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var s=n[r(256)]=n[r(263)]({processBlock:function(e,t){var n,s=r,o=this[s(244)],a=o[s(257)],c=this[s(242)],u=this._counter;c&&(u=this[s(248)]=c[s(252)](0),this._iv=void 0),0===((n=u)[0]=i(n[0]))&&(n[1]=i(n[1]));var l=u[s(252)](0);o[s(260)](l,0);for(var d=0;d>>2]|=s<<24-o%4*8,e[r(256)]+=s},unpad:function(e){var t=Fs,r=255&e[t(269)][e.sigBytes-1>>>2];e[t(256)]-=r}},e[t(270)][t(261)]},"object"===(i=Fs)(255)?e[i(267)]=n(Ii):"undefined"===i(258)&&(void 0).amd?(void 0)([i(257),i(274)],n):n(r.CryptoJS)}));function Ps(){var e=["exports","4078575UIfdMk","words","pad","184mOnDAF","commonjsGlobal","1465916snGmqm","./cipher-core","10kftvmv","createCommonjsModule","object","sigBytes","./core","function","7175322UIXkpo","76447jLeNUg","Ansix923","291YJPPEq","516310LOLtVU","3761500PMsgnp","clamp","15188ZmLPkW"];return(Ps=function(){return e})()}var Rs=Ls;function Ls(e,t){var r=Os();return(Ls=function(e,t){return r[e-=366]})(e,t)}function Os(){var e=["createCommonjsModule","2093562hwMYHX","110460mfvLMB","2cUlFod","Iso10126","1325092LBcQbU","./cipher-core","11507916JizzOh","20pULagT","pad","1668726vPLjdL","words","create","./core","exports","44319IEaTrK","amd","WordArray","sigBytes","concat","lib","random","10186248NcTNRW","6170CjXNIw","9JdKkEC"];return(Os=function(){return e})()}!function(e,t){for(var r=Ls,n=e();;)try{if(944617===parseInt(r(373))/1*(parseInt(r(371))/2)+parseInt(r(378))/3+parseInt(r(370))/4+parseInt(r(376))/5*(-parseInt(r(369))/6)+parseInt(r(375))/7+-parseInt(r(390))/8*(-parseInt(r(367))/9)+parseInt(r(366))/10*(-parseInt(r(383))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Os);d[Rs(368)]((function(e,t){var r,n;e[Ls(382)]=((r=Ii)[(n=Ls)(377)][n(372)]={pad:function(e,t){var i=n,s=4*t,o=s-e[i(386)]%s;e.concat(r[i(388)][i(385)][i(389)](o-1))[i(387)](r[i(388)][i(385)][i(380)]([o<<24],1))},unpad:function(e){var t=n,r=255&e[t(379)][e[t(386)]-1>>>2];e[t(386)]-=r}},r.pad[n(372)])}));function Ns(e,t){var r=Hs();return(Ns=function(e,t){return r[e-=389]})(e,t)}var zs=Ns;!function(e,t){for(var r=Ns,n=e();;)try{if(733462===-parseInt(r(412))/1*(parseInt(r(395))/2)+-parseInt(r(403))/3*(parseInt(r(389))/4)+-parseInt(r(407))/5+parseInt(r(394))/6*(parseInt(r(397))/7)+parseInt(r(400))/8*(-parseInt(r(414))/9)+-parseInt(r(406))/10+-parseInt(r(396))/11*(-parseInt(r(411))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hs);d[zs(402)]((function(e,t){var r,n,i,s=zs;r=d[s(413)],n=function(e){var t=s;return e[t(410)][t(399)]={pad:function(r,n){var i=t;r.concat(e[i(390)][i(398)].create([2147483648],1)),e[i(410)].ZeroPadding.pad(r,n)},unpad:function(r){var n=t;e.pad[n(401)][n(409)](r),r[n(393)]--}},e.pad.Iso97971},(i=Ns)(405)==i(405)?e[i(392)]=n(Ii):"undefined"===i(408)&&(void 0).amd?(void 0)([i(391),"./cipher-core"],n):n(r[i(404)])}));function Hs(){var e=["function","unpad","pad","24OPBNbf","4DDYGbq","commonjsGlobal","3357RCZxig","56BCCZLY","lib","./core","exports","sigBytes","558sltsZL","614904qtArJc","21263858jftFOm","20951KtDFGM","WordArray","Iso97971","4840UQTyQe","ZeroPadding","createCommonjsModule","128778MUNBoQ","CryptoJS","object","12780330hVBbxn","382865iLsuaD"];return(Hs=function(){return e})()}function Vs(){var e=["amd","./core","2dlRaJi","1900776HlcQue","exports","13344iNLOhi","clamp","CryptoJS","sigBytes","544723aZsogv","object","245bpnkZf","commonjsGlobal","words","function","2683836sRZyFI","4691819nBakDT","2419392nYzBBo","10fLySZE","./cipher-core","2597Fqwhmw","38874MJOHnx","pad","ZeroPadding"];return(Vs=function(){return e})()}function Gs(e,t){var r=Vs();return(Gs=function(e,t){return r[e-=253]})(e,t)}!function(e,t){for(var r=Gs,n=e();;)try{if(332373===parseInt(r(261))/1*(parseInt(r(254))/2)+-parseInt(r(255))/3+-parseInt(r(269))/4+parseInt(r(263))/5*(-parseInt(r(273))/6)+-parseInt(r(272))/7*(-parseInt(r(257))/8)+parseInt(r(267))/9+parseInt(r(270))/10*(parseInt(r(268))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vs);l((function(e,t){var r,n,i,s=Gs;r=d[s(264)],n=function(e){var t=s;return e[t(274)][t(275)]={pad:function(e,r){var n=t,i=4*r;e[n(258)](),e[n(260)]+=i-(e[n(260)]%i||i)},unpad:function(e){var r=t,n=e[r(265)],i=e[r(260)]-1;for(i=e[r(260)]-1;i>=0;i--)if(n[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},e.pad.ZeroPadding},(i=Gs)(262)==i(262)?e[i(256)]=n(Ii):"undefined"===i(266)&&(void 0)[i(276)]?(void 0)([i(253),i(271)],n):n(r[i(259)])}));var js=qs;function Ws(){var e=["./cipher-core","exports","amd","985385XqRuOT","1240023JRBZgK","36hJpEEs","2750811wMalUP","688996FxJlHu","./core","commonjsGlobal","6koqXMo","NoPadding","CryptoJS","9691929HEtVbw","6527HLKTSx","createCommonjsModule","1877128RWosOj","pad","object"];return(Ws=function(){return e})()}function qs(e,t){var r=Ws();return(qs=function(e,t){return r[e-=306]})(e,t)}!function(e,t){for(var r=qs,n=e();;)try{if(253368===-parseInt(r(312))/1*(-parseInt(r(322))/2)+-parseInt(r(321))/3+-parseInt(r(324))/4+parseInt(r(320))/5*(-parseInt(r(308))/6)+-parseInt(r(323))/7+parseInt(r(314))/8+parseInt(r(311))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ws);d[js(313)]((function(e,t){var r,n,i,s=js;r=d[s(307)],n=function(e){var t=s;return e[t(315)][t(309)]={pad:function(){},unpad:function(){}},e[t(315)][t(309)]},(i=qs)(316)==i(316)?e[i(318)]=n(Ii):n(r[i(310)])}));var Ys=Xs;!function(e,t){for(var r=Xs,n=e();;)try{if(356220===-parseInt(r(380))/1+parseInt(r(365))/2+parseInt(r(359))/3*(parseInt(r(378))/4)+-parseInt(r(361))/5*(parseInt(r(368))/6)+parseInt(r(376))/7+-parseInt(r(367))/8+parseInt(r(364))/9*(-parseInt(r(370))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ks);d[Ys(377)]((function(e,t){var r,n,i,s=Ys;r=d[s(379)],n=function(e){var t,r,n,i,o=s;return t=Xs,n=(r=e).lib.CipherParams,i=r.enc.Hex,r[t(366)].Hex={stringify:function(e){var r=t;return e[r(372)][r(369)](i)},parse:function(e){var r=t,s=i[r(371)](e);return n[r(373)]({ciphertext:s})}},e[o(366)].Hex},"object"===(i=Xs)(362)?e[i(375)]=n(Ii):"undefined"===i(363)&&(void 0).amd?(void 0)(["./core",i(374)],n):n(r[i(360)])}));function Ks(){var e=["./cipher-core","exports","3282979gYHmgO","createCommonjsModule","12yKkwWT","commonjsGlobal","343013BqdjYj","285537IUTbGq","CryptoJS","85jyXwDT","object","function","9yAskBZ","1075742bVNSmw","format","1927408QNcHHH","14010vihXHI","toString","3125510wwXZkl","parse","ciphertext","create"];return(Ks=function(){return e})()}function Xs(e,t){var r=Ks();return(Xs=function(e,t){return r[e-=359]})(e,t)}var $s=Js;function Js(e,t){var r=Zs();return(Js=function(e,t){return r[e-=139]})(e,t)}function Zs(){var e=["727734zrXxEi","commonjsGlobal","3172744dKasBd","12520ojRaeC","createCommonjsModule","6LmWNeK","BlockCipher","2lIdlmL","_doCryptBlock","./core","object","_nRounds","amd","_keyPriorReset","_keySchedule","666UcxTwo","67156iauEfm","extend","./cipher-core","sigBytes","exports","1277718AsuisA","_key","algo","_invKeySchedule","./enc-base64","2038368LzrcKT","CryptoJS","AES","991910SnQLqt"];return(Zs=function(){return e})()}!function(e,t){for(var r=Js,n=e();;)try{if(262053===-parseInt(r(146))/1*(parseInt(r(167))/2)+parseInt(r(151))/3+parseInt(r(156))/4+-parseInt(r(159))/5+-parseInt(r(165))/6*(parseInt(r(160))/7)+-parseInt(r(162))/8+-parseInt(r(145))/9*(-parseInt(r(163))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zs);d[$s(164)]((function(e,t){var r,n,i;r=d[$s(161)],n=function(e){return function(){var t=Js,r=e,n=r.lib[t(166)],i=r[t(153)],s=[],o=[],a=[],c=[],u=[],l=[],d=[],f=[],h=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,o[i]=r;var m=e[r],v=e[m],g=e[v],y=257*e[i]^16843008*i;a[r]=y<<24|y>>>8,c[r]=y<<16|y>>>16,u[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*v^257*m^16843008*r,d[i]=y<<24|y>>>8,f[i]=y<<16|y>>>16,h[i]=y<<8|y>>>24,p[i]=y,r?(r=m^e[e[e[g^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i[t(158)]=n[t(147)]({_doReset:function(){var e=t;if(!this[e(141)]||this[e(143)]!==this[e(152)]){for(var r=this._keyPriorReset=this[e(152)],n=r.words,i=r[e(149)]/4,o=4*((this._nRounds=i+6)+1),a=this._keySchedule=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),a[c]=a[c-i]^v);for(var u=this._invKeySchedule=[],l=0;l>>24]]^f[s[v>>>16&255]]^h[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){var n=t;this[n(168)](e,r,this[n(144)],a,c,u,l,s)},decryptBlock:function(e,r){var n=t,i=e[r+1];e[r+1]=e[r+3],e[r+3]=i,this[n(168)](e,r,this[n(154)],d,f,h,p,o),i=e[r+1],e[r+1]=e[r+3],e[r+3]=i},_doCryptBlock:function(e,r,n,i,s,o,a,c){for(var u=this[t(141)],l=e[r]^n[0],d=e[r+1]^n[1],f=e[r+2]^n[2],h=e[r+3]^n[3],p=4,m=1;m>>24]^s[d>>>16&255]^o[f>>>8&255]^a[255&h]^n[p++],g=i[d>>>24]^s[f>>>16&255]^o[h>>>8&255]^a[255&l]^n[p++],y=i[f>>>24]^s[h>>>16&255]^o[l>>>8&255]^a[255&d]^n[p++],_=i[h>>>24]^s[l>>>16&255]^o[d>>>8&255]^a[255&f]^n[p++];l=v,d=g,f=y,h=_}v=(c[l>>>24]<<24|c[d>>>16&255]<<16|c[f>>>8&255]<<8|c[255&h])^n[p++],g=(c[d>>>24]<<24|c[f>>>16&255]<<16|c[h>>>8&255]<<8|c[255&l])^n[p++],y=(c[f>>>24]<<24|c[h>>>16&255]<<16|c[l>>>8&255]<<8|c[255&d])^n[p++],_=(c[h>>>24]<<24|c[l>>>16&255]<<16|c[d>>>8&255]<<8|c[255&f])^n[p++],e[r]=v,e[r+1]=g,e[r+2]=y,e[r+3]=_},keySize:8});r.AES=n._createHelper(v)}(),e.AES},(i=Js)(140)==i(140)?e[i(150)]=n(Ii):n(r[i(157)])}));function Qs(e,t){var r=eo();return(Qs=function(e,t){return r[e-=165]})(e,t)}function eo(){var e=["_rBlock","encryptBlock","13655600mzqAay","create","BlockCipher","552uMntjD","_doCryptBlock","Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.","83696QApCyq","./core","_des1","commonjsGlobal","object","slice","12908nXXuwR","TripleDES","createEncryptor","3111366RxkHAQ","function","./enc-base64","length","decryptBlock","_des2","_lBlock","_invSubKeys","_subKeys","call","algo","amd","words","_des3","./cipher-core","DES","_createHelper","5EsOkwv","2330964dRqgmE","./md5","exports","1150004ikpkLY","_key","661772SGFTmk","6QIawZz","extend"];return(eo=function(){return e})()}!function(e,t){for(var r=Qs,n=e();;)try{if(300347===parseInt(r(175))/1+parseInt(r(207))/2+parseInt(r(165))/3*(-parseInt(r(205))/4)+parseInt(r(201))/5*(-parseInt(r(184))/6)+-parseInt(r(181))/7*(parseInt(r(172))/8)+-parseInt(r(202))/9+parseInt(r(169))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(eo);l((function(e,t){var r,n,i;r=d[Qs(178)],n=function(e){return function(){var t=Qs,r=e,n=r.lib,i=n.WordArray,s=n[t(171)],o=r[t(194)],a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],f=o[t(199)]=s[t(166)]({_doReset:function(){for(var e=t,r=this[e(206)][e(196)],n=[],i=0;i<56;i++){var s=a[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var o=this[e(192)]=[],l=0;l<16;l++){var d=o[l]=[],f=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+f)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+f)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var h=this[e(191)]=[];for(i=0;i<16;i++)h[i]=o[15-i]},encryptBlock:function(e,r){var n=t;this[n(173)](e,r,this[n(192)])},decryptBlock:function(e,r){var n=t;this[n(173)](e,r,this[n(191)])},_doCryptBlock:function(e,r,n){var i=t;this._lBlock=e[r],this[i(167)]=e[r+1],h.call(this,4,252645135),h[i(193)](this,16,65535),p[i(193)](this,2,858993459),p[i(193)](this,8,16711935),h[i(193)](this,1,1431655765);for(var s=0;s<16;s++){for(var o=n[s],a=this[i(190)],c=this._rBlock,u=0,f=0;f<8;f++)u|=l[f][((c^o[f])&d[f])>>>0];this[i(190)]=c,this._rBlock=a^u}var m=this[i(190)];this[i(190)]=this[i(167)],this._rBlock=m,h[i(193)](this,1,1431655765),p[i(193)](this,8,16711935),p[i(193)](this,2,858993459),h.call(this,16,65535),h[i(193)](this,4,252645135),e[r]=this._lBlock,e[r+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,r){var n=t,i=(this._lBlock>>>e^this[n(167)])&r;this._rBlock^=i,this._lBlock^=i<>>e^this[n(190)])&r;this[n(190)]^=i,this[n(167)]^=i<>>2]>>>24-c%4*8&255;a=(a+s[o]+u)%256;var l=s[o];s[o]=s[a],s[a]=l}this._i=this._j=0},_doProcessBlock:function(e,r){var n=t;e[r]^=o[n(177)](this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}r.RC4=n[t(155)](s);var a=i.RC4Drop=s[t(163)]({cfg:s.cfg[t(163)]({drop:192}),_doReset:function(){var e=t;s[e(154)][e(177)](this);for(var r=this[e(173)][e(159)];r>0;r--)o[e(177)](this)}});r[t(151)]=n[t(155)](a)}(),e.RC4},(i=ro)(167)==i(167)?e[i(171)]=n(Ii):"undefined"===i(150)&&(void 0).amd?(void 0)([i(162),i(168),i(160),"./evpkdf",i(164)],n):n(r[i(169)])}));var io=oo;function so(){var e=["852136alFFhx","function","189uEtdZf","816423YvAgOP","_key","call","commonjsGlobal","./evpkdf","1680084vdlWFf","608260SmUyBM","92145pjVouc","amd","./cipher-core","_createHelper","StreamCipher","cfg","42maTlas","algo","4eQQIrI","153241ubdRUu","Rabbit","words","object","./md5","CryptoJS","4753800qAiWzp","extend","createCommonjsModule"];return(so=function(){return e})()}function oo(e,t){var r=so();return(oo=function(e,t){return r[e-=286]})(e,t)}!function(e,t){for(var r=oo,n=e();;)try{if(314792===-parseInt(r(303))/1+parseInt(r(312))/2+parseInt(r(287))/3*(-parseInt(r(302))/4)+-parseInt(r(294))/5*(parseInt(r(300))/6)+-parseInt(r(292))/7+-parseInt(r(309))/8+-parseInt(r(286))/9*(-parseInt(r(293))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(so);d[io(311)]((function(e,t){var r,n,i,s=io;r=d[s(290)],n=function(e){var t=s;return function(){var t=oo,r=e,n=r.lib[t(298)],i=r[t(301)],s=[],o=[],a=[],c=i.Rabbit=n[t(310)]({_doReset:function(){for(var e=t,r=this[e(288)][e(305)],n=this[e(299)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],o=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u[e(289)](this);for(i=0;i<8;i++)o[i]^=s[i+4&7];if(n){var a=n[e(305)],c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),f=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),h=d>>>16|4294901760&f,p=f<<16|65535&d;for(o[0]^=d,o[1]^=h,o[2]^=f,o[3]^=p,o[4]^=d,o[5]^=h,o[6]^=f,o[7]^=p,i=0;i<4;i++)u[e(289)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(289)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),e[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r.Rabbit=n[t(297)](c)}(),e[t(304)]},"object"===(i=oo)(306)?e.exports=n(Ii):"undefined"===i(313)&&(void 0)[i(295)]?(void 0)(["./core","./enc-base64",i(307),i(291),i(296)],n):n(r[i(308)])}));function ao(){var e=["createCommonjsModule","65QCheSF","14245008lguMnJ","CryptoJS","12427151ksWopj","./md5","exports","2GrwEfI","445116oygjcB","9KEhMbO","26570MGotMA","function","cfg","./enc-base64","192yflsRO","1441978jEmJZm","144263njgmPF","words","object","commonjsGlobal","extend","StreamCipher","976863YNLDEh","_key","RabbitLegacy","./core","call"];return(ao=function(){return e})()}var co=uo;function uo(e,t){var r=ao();return(uo=function(e,t){return r[e-=348]})(e,t)}!function(e,t){for(var r=uo,n=e();;)try{if(977446===parseInt(r(369))/1*(parseInt(r(350))/2)+-parseInt(r(357))/3+parseInt(r(370))/4*(-parseInt(r(363))/5)+parseInt(r(349))/6*(parseInt(r(351))/7)+parseInt(r(364))/8+parseInt(r(371))/9*(-parseInt(r(372))/10)+-parseInt(r(366))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ao);d[co(362)]((function(e,t){var r,n,i;r=d[co(354)],n=function(e){return function(){var t=uo,r=e,n=r.lib[t(356)],i=r.algo,s=[],o=[],a=[],c=i[t(359)]=n[t(355)]({_doReset:function(){var e=t,r=this[e(358)].words,n=this[e(374)].iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var o=0;o<4;o++)u[e(361)](this);for(o=0;o<8;o++)s[o]^=i[o+4&7];if(n){var a=n[e(352)],c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),f=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),h=d>>>16|4294901760&f,p=f<<16|65535&d;for(s[0]^=d,s[1]^=h,s[2]^=f,s[3]^=p,s[4]^=d,s[5]^=h,s[6]^=f,s[7]^=p,o=0;o<4;o++)u[e(361)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(361)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),e[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r[t(359)]=n._createHelper(c)}(),e.RabbitLegacy},(i=uo)(353)==i(353)?e[i(368)]=n(Ii):"undefined"===i(373)&&(void 0).amd?(void 0)([i(360),i(348),i(367),"./evpkdf","./cipher-core"],n):n(r[i(365)])}));const lo=ho;function fo(){const e=["358854NaXZFV","_createHelper","right","words","CryptoJS","sigBytes","345GMnTwa","_keyPriorReset","20271770NuIbZR","left","./md5","exports","extend","sbox","84HstpZI","9mfskXn","amd","object","commonjsGlobal","6613795ZVUEfS","./core","./cipher-core","pbox","44406COEWjq","23088cIjvVh","algo","Blowfish","8963480uYXcVx","_key","BlockCipher","createCommonjsModule","function","543296JdSCKM"];return(fo=function(){return e})()}function ho(e,t){const r=fo();return(ho=function(e,t){return r[e-=494]})(e,t)}!function(e,t){const r=ho,n=e();for(;;)try{if(759419===parseInt(r(504))/1+parseInt(r(513))/2+-parseInt(r(520))/3*(parseInt(r(505))/4)+-parseInt(r(500))/5+-parseInt(r(514))/6*(parseInt(r(495))/7)+parseInt(r(508))/8+-parseInt(r(496))/9*(-parseInt(r(522))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fo);d[lo(511)]((function(e,t){const r=lo;!function(t,r,n){const i=ho;i(498)==i(498)?e[i(525)]=r(Ii):"undefined"===i(512)&&(void 0)[i(497)]?(void 0)([i(501),"./enc-base64",i(524),"./evpkdf",i(502)],r):r(t[i(518)])}(d[r(499)],(function(e){const t=r;return function(){const t=ho;var r=e,n=r.lib[t(510)],i=r[t(506)];const s=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const n=t;let i=r>>24&255,s=r>>16&255,o=r>>8&255,a=255&r,c=e[n(494)][0][i]+e[n(494)][1][s];return c^=e[n(494)][2][o],c+=e[n(494)][3][a],c}function l(e,r,n){const i=t;let o,a=r,c=n;for(let t=0;t=n&&(s=0);let c=0,u=0,d=0;for(let t=0;t<18;t+=2)d=l(e,c,u),c=d.left,u=d[i(516)],e.pbox[t]=c,e.pbox[t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)d=l(e,c,u),c=d[i(523)],u=d[i(516)],e[i(494)][t][r]=c,e.sbox[t][r+1]=u}(c,n,i)}},encryptBlock:function(e,r){const n=t;var i=l(c,e[r],e[r+1]);e[r]=i[n(523)],e[r+1]=i[n(516)]},decryptBlock:function(e,r){const n=t;var i=function(e,r,n){const i=t;let s,o=r,a=n;for(let t=17;t>1;--t)o^=e[i(503)][t],a=u(e,o)^a,s=o,o=a,a=s;return s=o,o=a,a=s,a^=e.pbox[1],o^=e.pbox[0],{left:o,right:a}}(c,e[r],e[r+1]);e[r]=i[n(523)],e[r+1]=i[n(516)]},blockSize:2,keySize:4,ivSize:2});r[t(507)]=n[t(515)](d)}(),e[t(507)]}))}));var po=mo;function mo(e,t){var r=vo();return(mo=function(e,t){return r[e-=434]})(e,t)}function vo(){var e=["./tripledes","1019109jFUxUG","CryptoJS","3211869ZDrTlW","./md5","./sha256","./ripemd160","./mode-ecb","./sha1","./pad-iso10126","./sha384","./lib-typedarrays","./aes","object","48ipLnIT","./core","./pad-nopadding","526072RUpcWx","exports","./pbkdf2","./mode-ctr-gladman","9qEvWns","./mode-ofb","325570NXYioR","./sha3","./evpkdf","./format-hex","function","./enc-base64","5271256VYHbWY","./rabbit","./pad-iso97971","./sha512","./cipher-core","693458eFfkVV","./mode-cfb","createCommonjsModule","./rabbit-legacy","./mode-ctr","./rc4","4331696mSRoHQ","./pad-zeropadding"];return(vo=function(){return e})()}function go(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function yo(){const e=["ctr","13274tQdMxj","WordArray","117013NRGCps","decrypt","toString","includes","740135wNCVRp","3730UFwzUt","byteLength","10ZQLLPS","ModeOfOperation","134252ppPhNl","6zuYGKu","length","get","catch","14YNLjZE","1234830tYAxCq","564584CFlptJ","234dsvcvB","Counter","then","slice","set"];return(yo=function(){return e})()}function _o(e,t,r){const n=wo;let i=arguments[n(162)]>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e[n(157)];let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(179)](c)):(c&=31,u=1===c||5===c),u){const i=e[n(171)](o+4+2,o+4+a);let s=new(wi[n(159)][n(173)])(t,new wi.Counter(r));const c=s[n(177)](i);s=null,e[n(172)](c,o+4+2)}o=o+4+a}return e}function bo(e,t,r){const n=wo;if(e[n(157)]<=30)return e;const i=e[n(171)](32);let s=new(wi.ModeOfOperation[n(173)])(t,new(wi[n(169)])(r));const o=s[n(177)](i);return s=null,e[n(172)](o,32),e}function wo(e,t){const r=yo();return(wo=function(e,t){return r[e-=156]})(e,t)}!function(e,t){for(var r=mo,n=e();;)try{if(781427===-parseInt(r(449))/1+parseInt(r(466))/2+parseInt(r(435))/3+-parseInt(r(461))/4+-parseInt(r(455))/5*(-parseInt(r(446))/6)+parseInt(r(475))/7+parseInt(r(472))/8*(parseInt(r(453))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(vo),d[po(468)]((function(e,t){var r,n,i;r=c,n=function(e){return e},"object"===(i=mo)(445)?e[i(450)]=Ii:"undefined"===i(459)&&(void 0).amd?(void 0)([i(447),"./x64-core",i(443),"./enc-utf16",i(460),"./enc-base64url",i(436),i(440),i(437),"./sha224",i(464),i(442),i(456),i(438),"./hmac",i(451),i(457),i(465),i(467),i(470),i(452),i(454),i(439),"./pad-ansix923",i(441),i(463),i(473),i(448),i(458),i(444),i(474),i(471),i(462),i(469),"./blowfish"],n):r.CryptoJS=r[i(434)]})),function(e,t){const r=wo,n=e();for(;;)try{if(118499===-parseInt(r(176))/1+-parseInt(r(174))/2*(-parseInt(r(161))/3)+parseInt(r(160))/4*(-parseInt(r(158))/5)+parseInt(r(166))/6+-parseInt(r(165))/7*(-parseInt(r(167))/8)+parseInt(r(168))/9*(parseInt(r(156))/10)+-parseInt(r(180))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yo);var So=Ao;!function(e,t){for(var r=Ao,n=e();;)try{if(949056===-parseInt(r(1364))/1+parseInt(r(1070))/2+-parseInt(r(944))/3*(-parseInt(r(1113))/4)+parseInt(r(1087))/5+parseInt(r(1438))/6+parseInt(r(1007))/7*(parseInt(r(913))/8)+-parseInt(r(638))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Eo);var Io=d[So(1129)]((function(e,t){var r,n,s=So,o=(r=new Date,n=4,{setLogLevel:function(e){var t=Ao;n=e==this.debug?1:e==this[t(608)]?2:e==this[t(616)]?3:(this[t(1013)],4)},debug:function(e,t){var i=Ao;void 0===console[i(1578)]&&(console.debug=console[i(697)]),1>=n&&console[i(1578)]("["+o[i(1432)](new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=Ao;this.debug(e[r(1495)])},info:function(e,t){2>=n&&console.info("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console[Ao(616)]("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){var i=Ao;4>=n&&console[i(1013)]("["+o[i(1432)](new Date-r,1e3)+"]","["+e+"]",t)}});o.getDurationString=function(e,t){var r,n=Ao;function i(e,t){for(var r=Ao,n=(""+e)[r(470)](".");n[0][r(1533)]0){for(var n="",i=0;i0&&(n+=","),n+="["+o[t(1432)](e[t(443)](i))+","+o.getDurationString(e[t(766)](i))+"]";return n}return"(empty)"},s(1167)!==s(1610)&&(t.Log=o);var a=function(e){var t=s;if(!(e instanceof ArrayBuffer))throw t(1424);this.buffer=e,this[t(449)]=new DataView(e),this.position=0};a[s(836)][s(856)]=function(){return this[s(1180)]},a.prototype.getEndPosition=function(){var e=s;return this[e(1532)][e(1313)]},a[s(836)][s(574)]=function(){var e=s;return this[e(1532)][e(1313)]},a[s(836)][s(1355)]=function(e){var t=Math[s(806)](0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},a.prototype[s(439)]=function(){var e=s;return this[e(856)]()>=this[e(937)]()},a[s(836)].readAnyInt=function(e,t){var r=s,n=0;if(this[r(1180)]+e<=this[r(1532)][r(1313)]){switch(e){case 1:n=t?this[r(449)].getInt8(this[r(1180)]):this[r(449)].getUint8(this[r(1180)]);break;case 2:n=t?this[r(449)].getInt16(this[r(1180)]):this[r(449)].getUint16(this[r(1180)]);break;case 3:if(t)throw r(1542);n=this.dataview[r(500)](this[r(1180)])<<16,n|=this[r(449)][r(500)](this[r(1180)]+1)<<8,n|=this[r(449)][r(500)](this[r(1180)]+2);break;case 4:n=t?this[r(449)][r(719)](this[r(1180)]):this[r(449)][r(979)](this[r(1180)]);break;case 8:if(t)throw r(1077);n=this[r(449)][r(979)](this.position)<<32,n|=this[r(449)][r(979)](this[r(1180)]+4);break;default:throw r(1116)+e}return this[r(1180)]+=e,n}throw r(1414)},a[s(836)][s(526)]=function(){return this[s(1474)](1,!1)},a.prototype[s(1097)]=function(){return this[s(1474)](2,!1)},a[s(836)][s(544)]=function(){return this[s(1474)](3,!1)},a[s(836)][s(397)]=function(){return this[s(1474)](4,!1)},a[s(836)][s(375)]=function(){return this[s(1474)](8,!1)},a[s(836)].readString=function(e){var t=s;if(this[t(1180)]+e<=this[t(1532)][t(1313)]){for(var r="",n=0;nthis[t(1420)]&&(this[t(1420)]=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),o=new Uint8Array(this[t(822)]);new Uint8Array(i,0,o[t(1533)])[t(427)](o),this[t(1532)]=i,this[t(1420)]=r}}},c[s(836)][s(1052)]=function(){var e=s;if(this._byteLength!=this[e(822)].byteLength){var t=new ArrayBuffer(this[e(1420)]),r=new Uint8Array(t),n=new Uint8Array(this._buffer,0,r[e(1533)]);r[e(427)](n),this[e(1532)]=t}},c[s(665)]=!1,c.LITTLE_ENDIAN=!0,c[s(836)][s(1420)]=0,Object[s(1325)](c.prototype,s(1313),{get:function(){var e=s;return this[e(1420)]-this[e(366)]}}),Object[s(1325)](c[s(836)],s(1532),{get:function(){var e=s;return this._trimAlloc(),this[e(822)]},set:function(e){var t=s;this._buffer=e,this[t(506)]=new DataView(this[t(822)],this[t(366)]),this._byteLength=this[t(822)][t(1313)]}}),Object.defineProperty(c[s(836)],"byteOffset",{get:function(){return this[s(366)]},set:function(e){var t=s;this[t(366)]=e,this._dataView=new DataView(this._buffer,this[t(366)]),this[t(1420)]=this[t(822)][t(1313)]}}),Object[s(1325)](c[s(836)],s(883),{get:function(){return this[s(506)]},set:function(e){var t=s;this._byteOffset=e.byteOffset,this[t(822)]=e.buffer,this[t(506)]=new DataView(this[t(822)],this._byteOffset),this[t(1420)]=this[t(366)]+e[t(1313)]}}),c[s(836)][s(1355)]=function(e){var t=s,r=Math.max(0,Math[t(770)](this[t(1313)],e));this[t(1180)]=isNaN(r)||!isFinite(r)?0:r},c[s(836)][s(387)]=function(){return this[s(1180)]>=this._byteLength},c[s(836)].mapUint8Array=function(e){var t=s;this[t(1639)](1*e);var r=new Uint8Array(this[t(822)],this[t(978)]+this[t(1180)],e);return this[t(1180)]+=1*e,r},c[s(836)].readInt32Array=function(e,t){var r=s;e=null==e?this[r(1313)]-this[r(1180)]/4:e;var n=new Int32Array(e);return c[r(1331)](n[r(1532)],0,this[r(1532)],this[r(978)]+this[r(1180)],e*n[r(858)]),c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=n[r(1313)],n},c[s(836)].readInt16Array=function(e,t){var r=s;e=null==e?this.byteLength-this[r(1180)]/2:e;var n=new Int16Array(e);return c[r(1331)](n.buffer,0,this[r(1532)],this.byteOffset+this.position,e*n.BYTES_PER_ELEMENT),c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=n[r(1313)],n},c[s(836)][s(1020)]=function(e){var t=s;e=null==e?this[t(1313)]-this[t(1180)]:e;var r=new Int8Array(e);return c[t(1331)](r[t(1532)],0,this[t(1532)],this[t(978)]+this.position,e*r[t(858)]),this.position+=r.byteLength,r},c[s(836)].readUint32Array=function(e,t){var r=s;e=null==e?this[r(1313)]-this[r(1180)]/4:e;var n=new Uint32Array(e);return c[r(1331)](n[r(1532)],0,this[r(1532)],this[r(978)]+this[r(1180)],e*n[r(858)]),c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=n[r(1313)],n},c[s(836)].readUint16Array=function(e,t){var r=s;e=null==e?this[r(1313)]-this[r(1180)]/2:e;var n=new Uint16Array(e);return c[r(1331)](n.buffer,0,this[r(1532)],this.byteOffset+this[r(1180)],e*n[r(858)]),c.arrayToNative(n,null==t?this.endianness:t),this[r(1180)]+=n[r(1313)],n},c[s(836)][s(408)]=function(e){var t=s;e=null==e?this[t(1313)]-this.position:e;var r=new Uint8Array(e);return c[t(1331)](r[t(1532)],0,this[t(1532)],this[t(978)]+this[t(1180)],e*r[t(858)]),this[t(1180)]+=r.byteLength,r},c[s(836)][s(730)]=function(e,t){var r=s;e=null==e?this[r(1313)]-this.position/8:e;var n=new Float64Array(e);return c[r(1331)](n.buffer,0,this[r(1532)],this[r(978)]+this.position,e*n[r(858)]),c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=n.byteLength,n},c[s(836)][s(997)]=function(e,t){var r=s;e=null==e?this[r(1313)]-this.position/4:e;var n=new Float32Array(e);return c.memcpy(n[r(1532)],0,this[r(1532)],this[r(978)]+this[r(1180)],e*n[r(858)]),c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=n[r(1313)],n},c.prototype[s(783)]=function(e){var t=s,r=this._dataView[t(719)](this[t(1180)],null==e?this[t(1123)]:e);return this[t(1180)]+=4,r},c.prototype[s(456)]=function(e){var t=s,r=this[t(506)].getInt16(this.position,null==e?this[t(1123)]:e);return this[t(1180)]+=2,r},c[s(836)][s(591)]=function(){var e=s,t=this[e(506)].getInt8(this[e(1180)]);return this[e(1180)]+=1,t},c[s(836)][s(397)]=function(e){var t=s,r=this[t(506)][t(979)](this[t(1180)],null==e?this.endianness:e);return this[t(1180)]+=4,r},c[s(836)][s(1097)]=function(e){var t=s,r=this[t(506)][t(1148)](this[t(1180)],null==e?this[t(1123)]:e);return this[t(1180)]+=2,r},c[s(836)][s(526)]=function(){var e=s,t=this[e(506)].getUint8(this.position);return this[e(1180)]+=1,t},c.prototype[s(1136)]=function(e){var t=s,r=this[t(506)][t(474)](this[t(1180)],null==e?this[t(1123)]:e);return this.position+=4,r},c[s(836)].readFloat64=function(e){var t=s,r=this._dataView[t(842)](this[t(1180)],null==e?this[t(1123)]:e);return this[t(1180)]+=8,r},c[s(1123)]=new Int8Array(new Int16Array([1])[s(1532)])[0]>0,c[s(1331)]=function(e,t,r,n,i){var o=s,a=new Uint8Array(e,t,i),c=new Uint8Array(r,n,i);a[o(427)](c)},c.arrayToNative=function(e,t){var r=s;return t==this[r(1123)]?e:this[r(1014)](e)},c.nativeToEndian=function(e,t){return this[s(1123)]==t?e:this.flipArrayEndianness(e)},c.flipArrayEndianness=function(e){for(var t=s,r=new Uint8Array(e.buffer,e[t(978)],e[t(1313)]),n=0;no;i--,o++){var a=r[o];r[o]=r[i],r[i]=a}return e},c.prototype[s(469)]=0,String[s(399)]=function(e){for(var t=s,r=[],n=0;n>16),this[t(1381)]((65280&e)>>8),this[t(1381)](255&e)},c[s(836)][s(1516)]=function(e,t){var r=s,n=this.position;this.seek(e),this.writeUint32(t),this[r(1355)](n)},c.prototype.mapInt32Array=function(e,t){var r=s;this[r(1639)](4*e);var n=new Int32Array(this[r(822)],this[r(978)]+this.position,e);return c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=4*e,n},c[s(836)][s(504)]=function(e,t){var r=s;this[r(1639)](2*e);var n=new Int16Array(this[r(822)],this[r(978)]+this[r(1180)],e);return c[r(542)](n,null==t?this.endianness:t),this[r(1180)]+=2*e,n},c[s(836)][s(599)]=function(e){var t=s;this[t(1639)](1*e);var r=new Int8Array(this[t(822)],this[t(978)]+this[t(1180)],e);return this[t(1180)]+=1*e,r},c.prototype[s(1107)]=function(e,t){var r=s;this._realloc(4*e);var n=new Uint32Array(this[r(822)],this[r(978)]+this.position,e);return c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=4*e,n},c[s(836)].mapUint16Array=function(e,t){var r=s;this[r(1639)](2*e);var n=new Uint16Array(this[r(822)],this.byteOffset+this[r(1180)],e);return c.arrayToNative(n,null==t?this.endianness:t),this[r(1180)]+=2*e,n},c[s(836)].mapFloat64Array=function(e,t){var r=s;this[r(1639)](8*e);var n=new Float64Array(this._buffer,this[r(978)]+this.position,e);return c[r(542)](n,null==t?this.endianness:t),this.position+=8*e,n},c.prototype[s(373)]=function(e,t){var r=s;this[r(1639)](4*e);var n=new Float32Array(this[r(822)],this[r(978)]+this[r(1180)],e);return c[r(542)](n,null==t?this[r(1123)]:t),this[r(1180)]+=4*e,n};var l=function(e){var t=s;this[t(721)]=[],this[t(756)]=-1,e&&(this[t(1576)](e),this.bufferIndex=0)};l[s(836)]=new c(new ArrayBuffer,0,c[s(665)]),l[s(836)][s(899)]=function(){var e,t=s;return this[t(756)]>-1||(this[t(721)][t(1533)]>0?0===(e=this.buffers[0])[t(1086)]?(this.buffer=e,this[t(756)]=0,o[t(1578)]("MultiBufferStream",t(473)),!0):(o[t(616)]("MultiBufferStream","The first buffer should have a fileStart of 0"),this[t(838)](),!1):(o[t(616)](t(790),t(1188)),this.logBufferLevel(),!1))},ArrayBuffer[s(1115)]=function(e,t){var r=s;o[r(1578)](r(513),"Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var n=new Uint8Array(e[r(1313)]+t[r(1313)]);return n[r(427)](new Uint8Array(e),0),n[r(427)](new Uint8Array(t),e[r(1313)]),n[r(1532)]},l[s(836)][s(859)]=function(e,t,r){var n,i=s;return(n=new Uint8Array(r))[i(427)](new Uint8Array(e,t,r)),n.buffer[i(1086)]=e[i(1086)]+t,n[i(1532)][i(745)]=0,n[i(1532)]},l[s(836)][s(1576)]=function(e){for(var t=s,r=!0,n=0;ni[t(1313)]){this[t(721)][t(985)](n,1),n--;continue}o[t(616)](t(790),"Buffer (fileStart: "+e[t(1086)]+" - Length: "+e[t(1313)]+t(1593))}else e[t(1086)]+e[t(1313)]<=i[t(1086)]||(e=this[t(859)](e,0,i[t(1086)]-e[t(1086)])),o[t(1578)](t(790),"Appending new buffer (fileStart: "+e.fileStart+t(1274)+e[t(1313)]+")"),this[t(721)][t(985)](n,0,e),0===n&&(this[t(1532)]=e);r=!1;break}if(e.fileStart0)){r=!1;break}e=this.reduceBuffer(e,a,c)}}r&&(o[t(1578)](t(790),t(1210)+e[t(1086)]+" - Length: "+e[t(1313)]+")"),this.buffers.push(e),0===n&&(this[t(1532)]=e))},l[s(836)][s(838)]=function(e){var t,r,n,i,a,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=a[c(766)]-1+"]");var d=e?o[c(608)]:o.debug;0===this[c(721)][c(1533)]?d(c(790),c(1401)):d(c(790),this[c(721)][c(1533)]+" stored buffer(s) ("+n+"/"+i+" bytes), continuous ranges: "+l)},l[s(836)].cleanBuffers=function(){var e,t,r=s;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},l[s(836)][s(1040)]=function(e,t,r){var n,i=s,a=null,c=-1;for(n=!0===e?0:this[i(756)];n=t?(o.debug(i(790),i(592)+c),c):-1:-1},l.prototype.findEndContiguousBuf=function(e){var t,r,n,i=s,o=void 0!==e?e:this[i(756)];if(r=this.buffers[o],this[i(721)][i(1533)]>o+1)for(t=o+1;t>3;return 31===s&&i.data[r(1533)]>=2&&(s=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),s}return null},n.DecoderConfigDescriptor=function(t){var r=e;n[r(931)][r(518)](this,4,t)},n[e(437)][e(836)]=new n.Descriptor,n[e(437)].prototype[e(360)]=function(t){var r=e;this[r(1175)]=t[r(526)](),this[r(1554)]=t.readUint8(),this[r(738)]=0!=(this[r(1554)]>>1&1),this[r(1554)]=this[r(1554)]>>>2,this[r(434)]=t[r(544)](),this[r(578)]=t[r(397)](),this[r(1561)]=t[r(397)](),this[r(975)]-=13,this[r(1135)](t)},n.DecoderSpecificInfo=function(t){var r=e;n[r(931)][r(518)](this,5,t)},n[e(1238)][e(836)]=new(n[e(931)]),n[e(1515)]=function(t){var r=e;n[r(931)][r(518)](this,6,t)},n[e(1515)][e(836)]=new(n[e(931)]),this};s(1167)!==s(1610)&&(t[s(857)]=d);var f={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:[s(394),s(1619),s(1239),"skip",s(1206),"strk"],FULL_BOXES:[s(1583),s(1132),s(805),"xml ",s(1008),s(499),s(739)],CONTAINER_BOXES:[["moov",[s(1336),s(1220)]],["trak"],[s(778)],[s(1609)],["minf"],[s(717)],[s(1466),["sgpd","sbgp"]],[s(445),[s(896)]],[s(1120),[s(1214)]],[s(1214),[s(955),"sgpd",s(1241)]],[s(1003)],[s(1415)],["iref"],[s(1482),[s(1501)]],["meco"],[s(728)],[s(725)],[s(536)],[s(444)],["sinf"],[s(780)],[s(1368)],[s(829)],[s(1413),[s(1484)]],["iprp",["ipma"]],[s(477)],[s(664)],[s(1293)],["etyp",[s(1344)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;f[e(452)][e(836)]=new f.Box,f[e(388)].prototype=new f.Box,f[e(1379)][e(836)]=new(f[e(1159)]),f.TrackGroupTypeBox[e(836)]=new(f[e(452)]),f[e(369)][e(1358)]((function(t){f[e(647)](t)})),f.FULL_BOXES[e(1358)]((function(e){f.createFullBoxCtor(e)})),f.CONTAINER_BOXES[e(1358)]((function(t){f[e(1083)](t[0],null,t[1])}))},Box:function(e,t,r){var n=s;this.type=e,this[n(975)]=t,this[n(793)]=r},FullBox:function(e,t,r){var n=s;f[n(1159)][n(518)](this,e,t,r),this[n(1522)]=0,this[n(459)]=0},ContainerBox:function(e,t,r){var n=s;f.Box[n(518)](this,e,t,r),this[n(1557)]=[]},SampleEntry:function(e,t,r,n){var i=s;f[i(388)][i(518)](this,e,t),this.hdr_size=r,this[i(443)]=n},SampleGroupEntry:function(e){this[s(546)]=e},TrackGroupTypeBox:function(e,t){var r=s;f[r(452)][r(518)](this,e,t)},createBoxCtor:function(e,t){var r=s;f[r(696)][r(458)](e),f[e+r(1159)]=function(t){f[r(1159)].call(this,e,t)},f[e+"Box"][r(836)]=new(f[r(1159)]),t&&(f[e+r(1159)][r(836)].parse=t)},createFullBoxCtor:function(e,t){var r=s;f[e+r(1159)]=function(t){var n=r;f[n(452)][n(518)](this,e,t)},f[e+r(1159)][r(836)]=new(f[r(452)]),f[e+"Box"][r(836)][r(360)]=function(e){var n=r;this[n(639)](e),t&&t[n(518)](this,e)}},addSubBoxArrays:function(e){var t=s;if(e){this[t(877)]=e;for(var r=e[t(1533)],n=0;nr?(o.error(c(1397),"Box of type '"+h+c(1389)+d+c(410)+r),{code:f[c(1535)],type:h,size:d,hdr_size:l,start:u}):0!==d&&u+d>e[c(937)]()?(e[c(1355)](u),o[c(608)](c(1397),c(1221)+h+"' box"),{code:f[c(1535)],type:h,size:d,hdr_size:l,start:u}):t?{code:f.OK,type:h,size:d,hdr_size:l,start:u}:(f[h+"Box"]?n=new(f[h+c(1159)])(d):h!==c(793)?(o.warn(c(1397),c(1144)+h+"'"),(n=new(f[c(1159)])(h,d)).has_unparsed_data=!0):f[c(1608)][a]?n=new f.UUIDBoxes[a](d):(o[c(616)]("BoxParser",c(1140)+a+"'"),(n=new(f[c(1159)])(h,d))[c(793)]=a,n[c(1240)]=!0),n[c(708)]=l,n.start=u,n[c(1257)]===f.Box[c(836)][c(1257)]&&n[c(716)]!==c(394)&&(o[c(608)](c(1397),"'"+p+c(1620)),n[c(1071)](e)),n[c(360)](e),(i=e[c(856)]()-(n.start+n[c(975)]))<0?(o[c(616)](c(1397),c(1613)+p+c(1635)+-i+c(389)),e[c(1355)](n.start+n[c(975)])):i>0&&(o[c(1013)](c(1397),c(1613)+p+c(1237)+i+c(709)),0!==n[c(975)]&&e.seek(n.start+n.size)),{code:f.OK,box:n,size:n[c(975)]})},f[s(1159)][s(836)][s(360)]=function(e){var t=s;this[t(716)]!=t(394)?this.data=e[t(408)](this[t(975)]-this[t(708)]):0===this.size?e[t(1355)](e[t(937)]()):e.seek(this[t(443)]+this[t(975)])},f.Box[s(836)].parseDataAndRewind=function(e){var t=s;this[t(359)]=e.readUint8Array(this[t(975)]-this[t(708)]),e.position-=this[t(975)]-this[t(708)]},f[s(452)].prototype.parseDataAndRewind=function(e){var t=s;this[t(639)](e),this.data=e[t(408)](this[t(975)]-this[t(708)]),this.hdr_size-=4,e[t(1180)]-=this.size-this[t(708)]},f[s(452)].prototype[s(639)]=function(e){var t=s;this[t(459)]=e[t(526)](),this[t(1522)]=e.readUint24(),this[t(708)]+=4},f[s(452)][s(836)][s(360)]=function(e){var t=s;this[t(639)](e),this[t(359)]=e[t(408)](this.size-this[t(708)])},f[s(388)][s(836)][s(360)]=function(e){for(var t,r,n=s;e[n(856)]()>10&31,r[1]=this[t(726)]>>5&31,r[2]=31&this[t(726)],this[t(1103)]=String[t(1584)](r[0]+96,r[1]+96,r[2]+96)},f.SAMPLE_ENTRY_TYPE_VISUAL=s(1468),f[s(844)]=s(911),f[s(645)]=s(436),f[s(902)]=s(798),f.SAMPLE_ENTRY_TYPE_SUBTITLE=s(796),f[s(705)]=s(384),f[s(641)]=s(699),f[s(1379)][s(836)][s(1e3)]=function(e){var t=s;e[t(408)](6),this.data_reference_index=e[t(1097)](),this[t(708)]+=8},f[s(1379)].prototype[s(360)]=function(e){var t=s;this.parseHeader(e),this.data=e[t(408)](this[t(975)]-this[t(708)])},f[s(1379)][s(836)][s(1071)]=function(e){var t=s;this[t(1e3)](e),this[t(359)]=e[t(408)](this[t(975)]-this.hdr_size),this[t(708)]-=8,e.position-=this[t(975)]-this[t(708)]},f[s(1379)][s(836)].parseFooter=function(e){var t=s;f[t(388)][t(836)][t(360)].call(this,e)},f.createMediaSampleEntryCtor(f[s(645)]),f.createMediaSampleEntryCtor(f[s(902)]),f.createMediaSampleEntryCtor(f[s(524)]),f.createMediaSampleEntryCtor(f[s(705)]),f[s(569)](f[s(641)]),f[s(569)](f[s(1589)],(function(e){var t,r=s;this[r(1e3)](e),e.readUint16(),e.readUint16(),e[r(533)](3),this[r(982)]=e[r(1097)](),this.height=e[r(1097)](),this[r(677)]=e[r(397)](),this[r(1601)]=e[r(397)](),e[r(397)](),this[r(1146)]=e[r(1097)](),t=Math.min(31,e.readUint8()),this.compressorname=e[r(1492)](t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e[r(1097)](),this[r(744)](e)})),f[s(569)](f[s(844)],(function(e){var t=s;this.parseHeader(e),e[t(533)](2),this[t(357)]=e[t(1097)](),this[t(413)]=e[t(1097)](),e.readUint16(),e[t(1097)](),this[t(1104)]=e[t(397)]()/65536,this[t(744)](e)})),f[s(1574)](f[s(1589)],s(368)),f[s(1574)](f.SAMPLE_ENTRY_TYPE_VISUAL,s(386)),f[s(1574)](f[s(1589)],"avc3"),f.createSampleEntryCtor(f[s(1589)],s(372)),f.createSampleEntryCtor(f[s(1589)],s(1623)),f[s(1574)](f[s(1589)],s(453)),f.createSampleEntryCtor(f[s(1589)],s(385)),f[s(1574)](f[s(1589)],s(512)),f[s(1574)](f.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),f[s(1574)](f[s(1589)],s(1538)),f.createSampleEntryCtor(f[s(1589)],s(1332)),f[s(1574)](f[s(1589)],s(521)),f[s(1574)](f[s(1589)],s(1416)),f.createSampleEntryCtor(f[s(1589)],"vvi1"),f[s(1574)](f.SAMPLE_ENTRY_TYPE_VISUAL,s(892)),f[s(1574)](f[s(1589)],s(1202)),f[s(1574)](f[s(1589)],s(1242)),f[s(1574)](f[s(1589)],s(1217)),f[s(1574)](f[s(1589)],"avs3"),f[s(1574)](f[s(1589)],s(961)),f[s(1574)](f.SAMPLE_ENTRY_TYPE_VISUAL,s(1006)),f[s(1574)](f[s(1589)],"mjpg"),f.createSampleEntryCtor(f[s(1589)],"uncv"),f.createSampleEntryCtor(f.SAMPLE_ENTRY_TYPE_AUDIO,s(1541)),f[s(1574)](f[s(844)],s(1599)),f[s(1574)](f[s(844)],s(1026)),f[s(1574)](f[s(844)],s(1058)),f[s(1574)](f[s(844)],"Opus"),f[s(1574)](f[s(844)],"mha1"),f[s(1574)](f[s(844)],s(1198)),f[s(1574)](f.SAMPLE_ENTRY_TYPE_AUDIO,s(464)),f[s(1574)](f[s(844)],s(819)),f[s(484)](f[s(1589)],"encv"),f.createEncryptedSampleEntryCtor(f[s(844)],s(1032)),f[s(484)](f[s(524)],"encu"),f[s(484)](f.SAMPLE_ENTRY_TYPE_SYSTEM,s(1246)),f[s(484)](f[s(641)],s(1280)),f[s(484)](f.SAMPLE_ENTRY_TYPE_METADATA,s(1019)),f.createBoxCtor("a1lx",(function(e){var t=s,r=16*(1+(1&(1&e[t(526)]())));this[t(1053)]=[];for(var n=0;n<3;n++)16==r?this[t(1053)][n]=e[t(1097)]():this.layer_size[n]=e[t(397)]()})),f[s(647)](s(1194),(function(e){var t=s;this[t(713)]=e[t(526)]()})),f[s(768)](s(603),(function(e){var t=s;this[t(803)]=e[t(1162)]();var r=this[t(975)]-this[t(708)]-(this[t(803)][t(1533)]+1);this[t(1054)]=e.readUint8Array(r)})),f[s(647)]("av1C",(function(e){var t=s,r=e[t(526)]();if(r>>7&!1)o[t(1013)](t(1598));else if(this.version=127&r,1===this[t(459)])if(r=e.readUint8(),this[t(909)]=r>>5&7,this[t(1143)]=31&r,r=e[t(526)](),this.seq_tier_0=r>>7&1,this.high_bitdepth=r>>6&1,this[t(1555)]=r>>5&1,this[t(782)]=r>>4&1,this[t(1409)]=r>>3&1,this[t(903)]=r>>2&1,this[t(1184)]=3&r,r=e[t(526)](),this[t(833)]=r>>5&7,0===this[t(833)]){if(this[t(1398)]=r>>4&1,1===this[t(1398)])this[t(1096)]=15&r;else if(this[t(1564)]=15&r,0!==this[t(1564)])return void o[t(1013)](t(890));var n=this[t(975)]-this.hdr_size-4;this.configOBUs=e[t(408)](n)}else o[t(1013)](t(1421));else o.error("av1C version "+this.version+t(1047))})),f[s(647)]("avcC",(function(e){var t,r,n=s;for(this.configurationVersion=e[n(526)](),this.AVCProfileIndication=e[n(526)](),this[n(1377)]=e.readUint8(),this[n(588)]=e[n(526)](),this[n(522)]=3&e.readUint8(),this[n(547)]=31&e[n(526)](),r=this[n(975)]-this[n(708)]-6,this[n(471)]=[],t=0;t0&&(this[n(620)]=e[n(408)](r))})),f[s(647)](s(1307),(function(e){var t=s;this[t(1326)]=e[t(397)](),this[t(578)]=e.readUint32(),this[t(1561)]=e[t(397)]()})),f[s(768)](s(494),(function(e){var t=s,r=e.readUint8();this.all_ref_pics_intra=128==(128&r),this[t(622)]=64==(64&r),this.max_ref_per_pic=(63&r)>>2,e[t(544)]()})),f[s(647)](s(964),(function(e){var t,r=s;for(this.channel_count=e[r(1097)](),this[r(1405)]=[],this[r(529)]=[],this.channel_associations=[],t=0;t=32768&&this[t(409)][t(458)](e.readCString())}})),f[s(768)](s(1449),(function(e){var t,r,n=s;if(t=e.readUint32(),this.chunk_offsets=[],0===this[n(459)])for(r=0;r>7}else this[t(1600)]===t(1254)?this.ICC_profile=e.readUint8Array(this.size-4):"prof"===this[t(1600)]&&(this.ICC_profile=e.readUint8Array(this[t(975)]-4))})),f[s(768)](s(904),(function(e){var t=s;this.parseLanguage(e),this[t(380)]=e[t(1162)]()})),f.createFullBoxCtor(s(416),(function(e){var t=s;0===this[t(459)]&&(this[t(1258)]=e[t(783)](),this[t(1055)]=e[t(783)](),this[t(1591)]=e[t(783)](),this[t(1299)]=e[t(783)](),this.compositionEndTime=e[t(783)]())})),f.createFullBoxCtor(s(605),(function(e){var t,r,n=s;if(t=e.readUint32(),this[n(983)]=[],this[n(383)]=[],0===this[n(459)])for(r=0;r>6,this.bsid=r>>1&31,this[t(1043)]=(1&r)<<2|n>>6&3,this[t(942)]=n>>3&7,this[t(1615)]=n>>2&1,this[t(1291)]=3&n|i>>5&7})),f.createBoxCtor(s(1517),(function(e){var t=s,r=e[t(1097)]();this[t(657)]=r>>3,this.num_ind_sub=7&r,this.ind_subs=[];for(var n=0;n>6,i.bsid=o>>1&31,i[t(1043)]=(1&o)<<4|a>>4&15,i[t(942)]=a>>1&7,i[t(1615)]=1&a,i[t(589)]=c>>1&15,i[t(589)]>0&&(i[t(400)]=(1&c)<<8|e.readUint8())}})),f.createFullBoxCtor("dfLa",(function(e){var t=s,r=[],n=[t(1285),"PADDING","APPLICATION","SEEKTABLE",t(649),"CUESHEET",t(1453),t(565)];for(this.parseFullHeader(e);;){var i=e.readUint8(),o=Math[t(770)](127&i,n[t(1533)]-1);if(o?e.readUint8Array(e[t(544)]()):(e[t(408)](13),this[t(1104)]=e[t(397)]()>>12,e[t(408)](20)),r[t(458)](n[o]),128&i)break}this[t(650)]=r[t(1533)]+" ("+r[t(1436)](", ")+")"})),f[s(647)](s(1044),(function(e){this[s(828)]=e.readUint64()})),f[s(647)](s(1183),(function(e){var t=s;this[t(606)]=e[t(397)]()})),f[s(647)](s(1509),(function(e){this[s(828)]=e.readUint64()})),f[s(647)]("dOps",(function(e){var t=s;if(this[t(1602)]=e[t(526)](),this.OutputChannelCount=e.readUint8(),this[t(682)]=e[t(1097)](),this[t(889)]=e.readUint32(),this[t(809)]=e.readInt16(),this[t(1472)]=e[t(526)](),0!==this[t(1472)]){this.StreamCount=e.readUint8(),this[t(462)]=e[t(526)](),this[t(669)]=[];for(var r=0;r=4;)this.compatible_brands[n]=e[t(1492)](4),r-=4,n++})),f[s(768)](s(624),(function(e){var t=s;0===this[t(459)]&&(e[t(397)](),this[t(1588)]=e[t(1492)](4),e[t(533)](3),this.name=e.readString(this.size-this[t(708)]-20),"\0"===this[t(1478)][this[t(1478)][t(1533)]-1]&&(this[t(1478)]=this[t(1478)][t(426)](0,-1)))})),f[s(647)](s(704),(function(e){var t,r,n,i,o=s;this[o(690)]=e[o(526)](),i=e.readUint8(),this.general_profile_space=i>>6,this[o(1477)]=(32&i)>>5,this[o(1075)]=31&i,this[o(968)]=e[o(397)](),this[o(532)]=e[o(408)](6),this[o(1371)]=e.readUint8(),this[o(539)]=4095&e.readUint16(),this.parallelismType=3&e[o(526)](),this[o(720)]=3&e[o(526)](),this[o(1550)]=7&e[o(526)](),this[o(1536)]=7&e.readUint8(),this[o(1604)]=e.readUint16(),i=e[o(526)](),this[o(527)]=i>>6,this[o(1577)]=(13&i)>>3,this.temporalIdNested=(4&i)>>2,this[o(522)]=3&i,this[o(698)]=[];var a=e.readUint8();for(t=0;t>7,c[o(771)]=63&i;var u=e[o(1097)]();for(r=0;r>4&15,this[r(652)]=15&t,t=e[r(526)](),this[r(528)]=t>>4&15,1===this[r(459)]||2===this.version?this[r(655)]=15&t:this[r(655)]=0,this[r(1376)]=[];var n=0;if(this[r(459)]<2)n=e.readUint16();else{if(2!==this[r(459)])throw r(1628);n=e[r(397)]()}for(var i=0;i>7,this.axis=1&r})),f[s(768)](s(1073),(function(e){var t=s;if((0===this[t(459)]||1===this[t(459)])&&(this[t(363)]=e[t(1097)](),this[t(390)]=e.readUint16(),this.item_name=e[t(1162)](),this[t(1546)]=e.readCString(),this[t(1493)]=e.readCString()),1===this[t(459)])return this[t(1176)]=e[t(1492)](4),o[t(616)](t(1397),t(681)),void e.seek(this[t(443)]+this[t(975)]);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this[t(459)]&&(this[t(363)]=e.readUint32()),this[t(390)]=e[t(1097)](),this.item_type=e[t(1492)](4),this.item_name=e[t(1162)](),this[t(1378)]===t(1117)?(this[t(1546)]=e[t(1162)](),this[t(1493)]=e[t(1162)]()):this[t(1378)]===t(1638)&&(this[t(815)]=e.readCString()))})),f[s(768)](s(1367),(function(e){var t,r,n=s;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this[n(1522)]?c[n(1320)]=(127&a)<<8|e[n(526)]():c[n(1320)]=127&a}}})),f[s(768)](s(454),(function(e){var t,r,n=s;for(this.references=[];e[n(856)]()>7,i[t(686)]=127&a,i[t(686)]){case 0:i[t(546)]=e[t(1492)](4);break;case 1:i.grouping_type=e.readString(4),i[t(999)]=e[t(397)]();break;case 2:case 3:break;case 4:i[t(1507)]=e[t(397)]();break;default:o[t(616)](t(1397),t(817))}}})),f[s(647)](s(1024),(function(e){var t=s;this.layer_id=e[t(1097)]()})),f.createBoxCtor(s(461),(function(e){var t=s;this.period=e[t(397)](),this[t(1359)]=e.readUint32()})),h.prototype[s(1435)]=function(){return"("+this.x+","+this.y+")"},f[s(647)]("mdcv",(function(e){var t=s;this[t(861)]=[],this[t(861)][0]=new h(e[t(1097)](),e[t(1097)]()),this.display_primaries[1]=new h(e[t(1097)](),e.readUint16()),this.display_primaries[2]=new h(e.readUint16(),e[t(1097)]()),this.white_point=new h(e[t(1097)](),e[t(1097)]()),this[t(379)]=e[t(397)](),this[t(1418)]=e.readUint32()})),f[s(768)](s(794),(function(e){var t=s;1==this[t(459)]?(this.creation_time=e[t(375)](),this[t(870)]=e[t(375)](),this.timescale=e[t(397)](),this[t(584)]=e[t(375)]()):(this.creation_time=e[t(397)](),this[t(870)]=e[t(397)](),this.timescale=e[t(397)](),this[t(584)]=e.readUint32()),this[t(831)](e),e[t(1097)]()})),f.createFullBoxCtor(s(1572),(function(e){var t=s;1&this[t(1522)]&&(o[t(616)](t(1397),t(455)),this[t(459)]=1),1==this[t(459)]?this.fragment_duration=e.readUint64():this[t(1149)]=e.readUint32()})),f[s(768)](s(422),(function(e){var t=s;this[t(1557)]=[],f[t(388)][t(836)].parse[t(518)](this,e)})),f[s(768)](s(1072),(function(e){var t=s;this[t(425)]=e[t(397)]()})),f[s(768)]("mfro",(function(e){var t=s;this[t(1281)]=e[t(397)]()})),f[s(768)](s(510),(function(e){this.bits_per_pixel=e.readUint8()})),f.createFullBoxCtor("mvhd",(function(e){var t=s;1==this[t(459)]?(this[t(432)]=e.readUint64(),this[t(870)]=e[t(375)](),this[t(583)]=e[t(397)](),this[t(584)]=e[t(375)]()):(this[t(432)]=e[t(397)](),this[t(870)]=e[t(397)](),this[t(583)]=e.readUint32(),this.duration=e[t(397)]()),this[t(1082)]=e[t(397)](),this[t(1553)]=e[t(1097)]()>>8,e[t(1097)](),e[t(533)](2),this.matrix=e[t(533)](9),e[t(533)](6),this.next_track_id=e.readUint32()})),f[s(647)]("npck",(function(e){var t=s;this[t(601)]=e[t(397)]()})),f[s(647)]("nump",(function(e){var t=s;this.packetssent=e[t(375)]()})),f.createFullBoxCtor("padb",(function(e){var t=s,r=e[t(397)]();this[t(1324)]=[];for(var n=0;n0){var r=e[t(397)]();this[t(1151)]=[];for(var n=0;n0&&(this.data=e[t(408)](i))})),f[s(768)]("clef",(function(e){var t=s;this[t(982)]=e[t(397)](),this[t(1031)]=e[t(397)]()})),f[s(768)](s(813),(function(e){var t=s;this.width=e[t(397)](),this[t(1031)]=e.readUint32()})),f[s(768)]("prof",(function(e){var t=s;this.width=e[t(397)](),this[t(1031)]=e.readUint32()})),f[s(1083)](s(1100),null,["clef",s(1084),s(813)]),f[s(647)](s(1166),(function(e){var t=s;this.descriptionformat=e[t(1492)](4),this[t(1475)]=e[t(1492)](this[t(975)]-this[t(708)]-4)})),f[s(768)]("saio",(function(e){var t=s;1&this[t(1522)]&&(this[t(919)]=e.readUint32(),this[t(1431)]=e.readUint32());var r=e[t(397)]();this[t(880)]=[];for(var n=0;n>7,this[t(1064)]=r>>6&1,this[t(556)]&&(this[t(584)]=e.readUint32()),this[t(1064)]&&(this[t(1603)]=e[t(526)](),this.avgBitRate=e[t(1097)](),this[t(1604)]=e[t(1097)]()),this.dependency=[];for(var n=e[t(526)](),i=0;i>7,this[t(1338)]=127&r})),f[s(804)](s(672),(function(e){var t=s;if(this[t(901)]=e[t(1097)](),this[t(816)]!==2+(1===this.operation_point_count?2:6*this[t(901)])+9)o[t(616)](t(1397),t(1264)+this[t(546)]+" sample group length"),this[t(359)]=e[t(408)](this[t(816)]-2);else{if(1===this[t(901)])this[t(421)]=e[t(1097)]();else{this[t(421)]=[],this[t(1400)]=[];for(var r=0;r>4,this.skip_byte_block=15&r,this.isProtected=e[t(526)](),this.Per_Sample_IV_Size=e[t(526)](),this[t(1341)]=f[t(759)](e),this.constant_IV_size=0,this[t(865)]=0,1===this.isProtected&&0===this[t(715)]&&(this[t(1372)]=e[t(526)](),this[t(865)]=e[t(408)](this.constant_IV_size))})),f[s(804)](s(729),(function(e){var t=s;o.warn(t(1397),t(998)+this[t(546)]+t(1342))})),f[s(804)](s(428),(function(e){var t=s,r=e[t(526)]();this[t(830)]=63&r})),f[s(804)](s(1023),(function(e){var t=s,r=e.readUint8();this[t(1586)]=r>>7})),f.createSampleGroupCtor("tsas",(function(e){var t=s;o[t(616)](t(1397),t(998)+this[t(546)]+t(1342))})),f[s(804)](s(869),(function(e){var t=s;o[t(616)]("BoxParser","Sample Group type: "+this[t(546)]+" not fully parsed")})),f[s(804)]("vipr",(function(e){var t=s;o[t(616)](t(1397),t(998)+this.grouping_type+t(1342))})),f.createFullBoxCtor(s(1241),(function(e){var t=s;this.grouping_type=e[t(1492)](4),1===this.version?this.grouping_type_parameter=e[t(397)]():this[t(999)]=0,this.entries=[];for(var r=e.readUint32(),n=0;n>6,this[r(635)][i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this[r(1606)][i]=3&t})),f[s(768)](s(1005)),f[s(768)](s(703),(function(e){var t=s;this.grouping_type=e.readString(4),o.debug("BoxParser",t(863)+this[t(546)]),1===this.version?this[t(808)]=e[t(397)]():this[t(808)]=0,this[t(459)]>=2&&(this[t(1640)]=e.readUint32()),this.entries=[];for(var r=e[t(397)](),n=0;n>31&1,i[t(784)]=2147483647&o,i[t(1544)]=e.readUint32(),o=e[t(397)](),i[t(1483)]=o>>31&1,i[t(467)]=o>>28&7,i[t(693)]=268435455&o}})),f[s(1566)]=function(e,t,r,n){var i=s;f[i(1159)][i(518)](this,e,t),this[i(708)]=r,this[i(443)]=n},f.SingleItemTypeReferenceBox[s(836)]=new(f[s(1159)]),f[s(1566)].prototype[s(360)]=function(e){var t=s;this[t(1049)]=e.readUint16();var r=e[t(1097)]();this[t(1004)]=[];for(var n=0;n>4&15,this.sample_sizes[t+1]=15&i}else if(8===this[n(723)])for(t=0;t0)for(r=0;r>4&15,this[t(1109)]=15&r}this[t(1408)]=e.readUint8(),this[t(1459)]=e[t(526)](),this[t(1614)]=f[t(759)](e),1===this[t(1408)]&&0===this.default_Per_Sample_IV_Size&&(this[t(391)]=e.readUint8(),this[t(430)]=e[t(408)](this[t(391)]))})),f[s(768)]("tfdt",(function(e){var t=s;1==this.version?this[t(1351)]=e[t(375)]():this[t(1351)]=e.readUint32()})),f[s(768)](s(604),(function(e){var t=s,r=0;this.track_id=e.readUint32(),this[t(975)]-this[t(708)]>r&&this[t(1522)]&f[t(632)]?(this[t(1211)]=e[t(375)](),r+=8):this[t(1211)]=0,this[t(975)]-this[t(708)]>r&&this[t(1522)]&f[t(881)]?(this[t(1465)]=e[t(397)](),r+=4):this[t(1465)]=0,this[t(975)]-this.hdr_size>r&&this[t(1522)]&f[t(854)]?(this.default_sample_duration=e[t(397)](),r+=4):this[t(1197)]=0,this[t(975)]-this[t(708)]>r&&this[t(1522)]&f[t(689)]?(this[t(1192)]=e[t(397)](),r+=4):this[t(1192)]=0,this[t(975)]-this[t(708)]>r&&this[t(1522)]&f[t(898)]?(this.default_sample_flags=e.readUint32(),r+=4):this[t(611)]=0})),f[s(768)](s(1501),(function(e){var t=s;this[t(907)]=e[t(397)](),e[t(544)]();var r=e[t(526)]();this[t(1434)]=r>>4&3,this.length_size_of_trun_num=r>>2&3,this[t(576)]=3&r,this[t(875)]=[];for(var n=e.readUint32(),i=0;i>8,e[t(1097)](),this.matrix=e[t(483)](9),this[t(982)]=e.readUint32(),this[t(1031)]=e.readUint32()})),f.createBoxCtor(s(1112),(function(e){var t=s;this[t(606)]=e[t(397)]()})),f[s(647)](s(457),(function(e){var t=s;this[t(606)]=e[t(397)]()})),f[s(647)]("totl",(function(e){this[s(828)]=e.readUint32()})),f[s(647)](s(965),(function(e){var t=s;this[t(828)]=e[t(397)]()})),f[s(647)]("tpyl",(function(e){this.bytessent=e.readUint64()})),f[s(1494)][s(836)].parse=function(e){var t=s;this[t(639)](e),this[t(364)]=e[t(397)]()},f[s(1302)](s(447)),f[s(1357)]=function(e,t,r,n){var i=s;f[i(1159)][i(518)](this,e,t),this.hdr_size=r,this.start=n},f[s(1357)][s(836)]=new(f[s(1159)]),f[s(1357)][s(836)][s(360)]=function(e){var t=s;this[t(488)]=e[t(533)]((this[t(975)]-this[t(708)])/4)},f[s(630)].prototype.parse=function(e){for(var t,r,n=s;e[n(856)]()r&&this[t(1522)]&f.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),r+=4):this.data_offset=0,this[t(975)]-this.hdr_size>r&&this[t(1522)]&f[t(441)]?(this[t(1017)]=e[t(397)](),r+=4):this.first_sample_flags=0,this[t(1350)]=[],this.sample_size=[],this[t(617)]=[],this[t(684)]=[],this.size-this[t(708)]>r)for(var n=0;n>7&1,this[r(1467)]=n>>6&1,this.block_little_endian=n>>5&1,this[r(581)]=n>>4&1,this[r(1362)]=n>>3&1,this[r(1178)]=e[r(397)](),this[r(1641)]=e[r(397)](),this[r(661)]=e[r(397)](),this[r(1065)]=e.readUint32(),this[r(631)]=e[r(397)]()}})),f[s(768)](s(490),(function(e){var t=s;1!==this.flags&&(this[t(788)]=e[t(1162)]())})),f[s(768)](s(835),(function(e){var t=s;this[t(1478)]=e[t(1162)](),this[t(975)]-this[t(708)]-this[t(1478)].length-1>0&&(this[t(788)]=e.readCString())})),f[s(509)](s(1158),!0,!1,(function(e){var t=s;this[t(1530)]=e[t(1492)](this[t(975)]-this[t(708)]).replace(/&/g,"&")[t(871)](//g,">").replace(/"/g,t(737))[t(871)](/'/g,"'")})),f.createUUIDBox(s(618),!0,!1,(function(e){var t=s;this[t(695)]=f[t(759)](e);var r=e.readUint32();r>0&&(this[t(359)]=e.readUint8Array(r))})),f[s(509)]("a2394f525a9b4f14a2446c427c648df4",!0,!1),f[s(509)](s(963),!0,!1,(function(e){var t=s;this.default_AlgorithmID=e[t(544)](),this[t(1219)]=e[t(526)](),this[t(1614)]=f[t(759)](e)})),f[s(509)]("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){var t=s;this.fragment_count=e[t(526)](),this[t(875)]=[];for(var r=0;r>4,this[r(1062)]=t>>1&7,this.videoFullRangeFlag=1&t,this[r(810)]=e.readUint8(),this[r(1161)]=e[r(526)](),this[r(1288)]=e[r(526)](),this[r(431)]=e[r(1097)](),this[r(626)]=e[r(408)](this[r(431)])):(this.profile=e[r(526)](),this[r(1526)]=e[r(526)](),t=e.readUint8(),this[r(1558)]=t>>4&15,this[r(893)]=15&t,t=e[r(526)](),this[r(1062)]=t>>4&15,this.transferFunction=t>>1&7,this[r(1361)]=1&t,this[r(431)]=e[r(1097)](),this[r(626)]=e[r(408)](this[r(431)]))})),f[s(647)](s(876),(function(e){var t=s;this[t(1502)]=e[t(1492)](this[t(975)]-this.hdr_size)})),f[s(768)](s(1171),(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){var t=Ao;this.held_bits=e[t(526)](),this.num_held_bits=8},stream_read_2_bytes:function(e){var t=Ao;this[t(1624)]=e[t(1097)](),this[t(1152)]=16},extract_bits:function(e){var t=Ao,r=this.held_bits>>this.num_held_bits-e&(1<1){for(i[n(1306)](e),this[n(629)]=0,r=this[n(1551)]-2;r>=0;--r){var c=i.extract_bits(1);this.ptl_sublayer_present_mask|=c<1;++r)i[n(598)](1);for(this.sublayer_level_idc=[],r=this[n(1551)]-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;r+=f[t(516)](i,0),r+=".",0===this[t(704)].general_tier_flag?r+="L":r+="H",r+=this[t(704)].general_level_idc;var o=!1,a="";for(e=5;e>=0;e--)(this[t(704)].general_constraint_indicator[e]||o)&&(a="."+f[t(516)](this[t(704)].general_constraint_indicator[e],0)+a,o=!0);r+=a}return r},f[s(1091)][s(836)][s(1110)]=f[s(615)][s(836)][s(1110)]=function(){var e,t=s,r=f[t(1379)].prototype.getCodec[t(518)](this);if(this[t(1171)]){r+="."+this[t(1171)][t(1075)],this[t(1171)][t(1477)]?r+=".H":r+=".L",r+=this[t(1171)][t(1371)];var n="";if(this[t(1171)][t(1562)]){var i,o=[],a=0;for(a|=this[t(1171)][t(648)]<<7,a|=this[t(1171)][t(1402)]<<6,e=0;e>2&63,o[t(458)](a),a&&(i=e),a=this[t(1171)][t(1562)][e]>>2&3;if(void 0===i)n=t(1508);else{n=".C";var c=t(597),u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|o[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},f[s(1038)][s(836)].getCodec=function(){var e=s,t=f[e(1379)][e(836)][e(1110)][e(518)](this);if(this[e(420)]&&this.esds[e(671)]){var r=this[e(420)].esd[e(754)](),n=this[e(420)].esd[e(1462)]();return t+"."+f[e(516)](r)+(n?"."+n:"")}return t},f[s(540)][s(836)][s(1110)]=function(){var e=s,t=f.SampleEntry[e(836)][e(1110)][e(518)](this);return this[e(1226)]?t+"."+this[e(1226)]:t},f[s(718)][s(836)][s(1110)]=f.vp09SampleEntry[s(836)][s(1110)]=function(){var e=s,t=f.SampleEntry[e(836)][e(1110)].call(this),r=this[e(612)][e(1526)];0==r&&(r="00");var n=this[e(612)][e(1558)];return 8==n&&(n="08"),t+".0"+this[e(612)][e(1203)]+"."+r+"."+n},f[s(1270)][s(836)][s(1110)]=function(){var e,t=s,r=f[t(1379)][t(836)].getCodec[t(518)](this),n=this.av1C.seq_level_idx_0;return n<10&&(n="0"+n),2===this[t(1094)][t(909)]&&1===this.av1C[t(791)]?e=1===this[t(1094)][t(1555)]?"12":"10":this[t(1094)].seq_profile<=2&&(e=1===this[t(1094)].high_bitdepth?"10":"08"),r+"."+this.av1C.seq_profile+"."+n+(this[t(1094)][t(423)]?"H":"M")+"."+e},f[s(1159)][s(836)][s(1095)]=function(e,t){var r=s;this[r(975)]+=8,this[r(975)]>u&&(this[r(975)]+=8),this[r(716)]===r(793)&&(this[r(975)]+=16),o[r(1578)](r(1142),"Writing box "+this[r(716)]+r(843)+this[r(975)]+r(1163)+e.getPosition()+(t||"")),this[r(975)]>u?e[r(1277)](1):(this[r(1181)]=e[r(856)](),e[r(1277)](this[r(975)])),e[r(1022)](this[r(716)],null,4),this.type===r(793)&&e[r(755)](this.uuid),this[r(975)]>u&&e.writeUint64(this[r(975)])},f[s(452)][s(836)][s(1095)]=function(e){var t=s;this[t(975)]+=4,f.Box[t(836)][t(1095)][t(518)](this,e,t(841)+this[t(459)]+t(823)+this.flags),e[t(1381)](this[t(459)]),e[t(1642)](this[t(1522)])},f.Box[s(836)][s(1257)]=function(e){var t=s;this[t(716)]===t(394)?this[t(359)]&&(this[t(975)]=this[t(359)][t(1533)],this[t(1095)](e),e.writeUint8Array(this[t(359)])):(this.size=this.data?this[t(359)][t(1533)]:0,this[t(1095)](e),this[t(359)]&&e[t(755)](this.data))},f[s(388)][s(836)].write=function(e){var t=s;this.size=0,this[t(1095)](e);for(var r=0;r=2&&e[n(1277)](this.default_sample_description_index),e[n(1277)](this[n(875)].length),t=0;t0)for(t=0;t+1r?1:0,this[t(1522)]=0,this[t(975)]=4,1===this[t(459)]&&(this[t(975)]+=4),this[t(1095)](e),1===this[t(459)]?e[t(1155)](this[t(1351)]):e.writeUint32(this[t(1351)])},f.tfhdBox[s(836)][s(1257)]=function(e){var t=s;this[t(459)]=0,this[t(975)]=4,this.flags&f[t(632)]&&(this[t(975)]+=8),this[t(1522)]&f[t(881)]&&(this[t(975)]+=4),this[t(1522)]&f[t(854)]&&(this[t(975)]+=4),this[t(1522)]&f.TFHD_FLAG_SAMPLE_SIZE&&(this[t(975)]+=4),this[t(1522)]&f[t(898)]&&(this[t(975)]+=4),this[t(1095)](e),e[t(1277)](this[t(1101)]),this[t(1522)]&f[t(632)]&&e[t(1155)](this[t(1211)]),this[t(1522)]&f[t(881)]&&e[t(1277)](this[t(1465)]),this[t(1522)]&f.TFHD_FLAG_SAMPLE_DUR&&e[t(1277)](this.default_sample_duration),this[t(1522)]&f[t(689)]&&e[t(1277)](this[t(1192)]),this[t(1522)]&f[t(898)]&&e.writeUint32(this[t(611)])},f[s(1234)].prototype[s(1257)]=function(e){var t=s;this.version=0,this[t(975)]=80,this[t(1095)](e),e[t(1277)](this.creation_time),e[t(1277)](this[t(870)]),e.writeUint32(this[t(1101)]),e[t(1277)](0),e[t(1277)](this.duration),e[t(1277)](0),e[t(1277)](0),e[t(786)](this[t(969)]),e[t(786)](this[t(486)]),e[t(786)](this.volume<<8),e[t(377)](0),e[t(1279)](this[t(935)]),e[t(1277)](this[t(982)]),e[t(1277)](this.height)},f[s(1579)].prototype[s(1257)]=function(e){var t=s;this[t(459)]=0,this.flags=0,this.size=20,this[t(1095)](e),e[t(1277)](this[t(1101)]),e.writeUint32(this[t(1465)]),e[t(1277)](this.default_sample_duration),e.writeUint32(this[t(1192)]),e[t(1277)](this[t(611)])},f[s(1617)][s(836)][s(1257)]=function(e){var t=s;this[t(459)]=0,this[t(975)]=4,this.flags&f.TRUN_FLAGS_DATA_OFFSET&&(this[t(975)]+=4),this[t(1522)]&f.TRUN_FLAGS_FIRST_FLAG&&(this[t(975)]+=4),this[t(1522)]&f.TRUN_FLAGS_DURATION&&(this[t(975)]+=4*this[t(1350)][t(1533)]),this[t(1522)]&f[t(687)]&&(this[t(975)]+=4*this[t(1139)][t(1533)]),this[t(1522)]&f[t(936)]&&(this[t(975)]+=4*this[t(617)].length),this[t(1522)]&f[t(382)]&&(this.size+=4*this[t(684)].length),this.writeHeader(e),e[t(1277)](this[t(1582)]),this[t(1522)]&f[t(1253)]&&(this[t(1488)]=e.getPosition(),e[t(1255)](this[t(943)])),this.flags&f.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this[t(1017)]);for(var r=0;r-1||e[r]instanceof f[n(1159)]||t[r]instanceof f[n(1159)]||typeof e[r]===n(1610)||void 0===t[r]||"function"==typeof e[r]||typeof t[r]===n(914)||e.subBoxNames&&e[n(877)][n(534)](r.slice(0,4))>-1||t.subBoxNames&&t[n(877)].indexOf(r[n(426)](0,4))>-1||r===n(359)||r===n(443)||r===n(975)||r===n(432)||r===n(870)||f[n(475)][n(534)](r)>-1||e[r]===t[r]))return!1;return!0},f[s(1470)]=function(e,t){var r=s;if(!f[r(834)](e,t))return!1;for(var n=0;n=t?e:new Array(t-e[n(1533)]+1)[n(1436)](r)+e}function o(e){var t=Ao,r=Math[t(1637)](e/3600),n=Math.floor((e-3600*r)/60),s=Math.floor(e-3600*r-60*n),o=Math[t(1637)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(o,3)}for(var a=this[n(908)](r),c="",u=0;u1)for(t=1;t-1&&this[t(1081)][t(985)](r,1)},y.prototype[s(403)]=function(e,t,r){var n=s,i=this[n(789)](e);if(i){var o={};this[n(667)][n(458)](o),o.id=e,o[n(1352)]=t,o[n(1336)]=i,i.nextSample=0,o[n(523)]=1e3,o[n(847)]=[],r&&r[n(850)]&&(o[n(523)]=r[n(850)])}},y.prototype[s(460)]=function(e){for(var t=s,r=-1,n=0;n-1&&this.extractedTracks[t(985)](r,1)},y[s(836)].parse=function(){var e,t,r=s;if(!this[r(633)]||this[r(633)]())for(;;){if(this[r(1504)]&&this[r(1504)]()){if(this[r(451)]())continue;return}if(this[r(1030)]&&this[r(1030)](),(e=f[r(1170)](this[r(1490)],false)).code===f.ERR_NOT_ENOUGH_DATA){if(this[r(1605)]){if(this[r(1605)](e))continue;return}return}var n;switch(n=(t=e.box).type!==r(793)?t[r(716)]:t[r(793)],this[r(1557)].push(t),n){case"mdat":this[r(476)][r(458)](t);break;case r(1120):this[r(559)].push(t);break;case r(951):this[r(378)]=!0,0===this[r(476)][r(1533)]&&(this[r(1297)]=!0);default:void 0!==this[n]&&o[r(616)]("ISOFile",r(1048)+n+r(361)),this[n]=t}this[r(433)]&&this[r(433)](t,e)}},y.prototype[s(884)]=function(e){var t=s;if(null==e)throw"Buffer must be defined and non empty";if(void 0===e[t(1086)])throw t(1056);return 0===e[t(1313)]?(o[t(616)](t(656),t(419)+e.fileStart+")"),this[t(1490)][t(838)](),!1):(o[t(608)](t(656),t(1406)+e.fileStart+")"),e[t(745)]=0,this.stream[t(1576)](e),this.stream[t(838)](),!!this[t(1490)][t(899)]()||(o[t(616)](t(656),"Not ready to start parsing"),!1))},y[s(836)][s(773)]=function(e,t){var r,n=s;if(this[n(884)](e))return this[n(360)](),this[n(378)]&&!this.moovStartSent&&(this[n(934)]=!0,this[n(1223)]&&this.onMoovStart()),this[n(951)]?(!this.sampleListBuilt&&(this[n(976)](),this[n(1524)]=!0),this.updateSampleLists(),this.onReady&&!this[n(519)]&&(this.readySent=!0,this.onReady(this[n(814)]())),this[n(414)](t),this[n(607)]?(r=this[n(607)],this[n(607)]=void 0):r=this[n(554)],this.stream[n(915)]&&(r=this[n(1490)][n(915)](r))):r=this[n(554)]?this[n(554)]:0,this[n(1200)]&&this[n(1259)]&&!this[n(1437)]&&(this[n(1259)](this[n(1200)]),this[n(1437)]=!0),this[n(422)]&&(this[n(840)]&&!this[n(764)]&&(this[n(840)](),this.itemListBuilt=!0),this[n(393)]&&this.processItems(this.onItem)),this[n(1490)][n(1063)]&&(o[n(608)]("ISOFile",n(974)+e[n(1086)]+n(415)+r),this.stream[n(838)](),this[n(1490)][n(1063)](),this[n(1490)][n(838)](!0),o[n(608)](n(656),n(1625)+this[n(971)]())),r},y[s(836)][s(814)]=function(){var e,t,r,n,i,o,a=s,c={},u=new Date("1904-01-01T00:00:00Z").getTime();if(this[a(951)])for(c[a(772)]=!0,c[a(584)]=this[a(951)].mvhd.duration,c[a(583)]=this[a(951)][a(1570)][a(583)],c[a(1111)]=null!=this.moov.mvex,c[a(1111)]&&this[a(951)].mvex[a(1572)]&&(c.fragment_duration=this[a(951)][a(445)][a(1572)][a(1149)]),c[a(1297)]=this.isProgressive,c[a(895)]=null!=this[a(951)][a(805)],c.brands=[],c.brands[a(458)](this[a(712)][a(497)]),c[a(1137)]=c.brands[a(1115)](this.ftyp.compatible_brands),c.created=new Date(u+1e3*this.moov.mvhd.creation_time),c[a(940)]=new Date(u+1e3*this[a(951)][a(1570)][a(870)]),c[a(1537)]=[],c[a(1552)]=[],c[a(405)]=[],c[a(492)]=[],c[a(1275)]=[],c.hintTracks=[],c[a(966)]=[],e=0;e0?c[a(1117)]+=a(853):c[a(1552)]&&c[a(1552)][a(1533)]>0?c.mime+='audio/mp4; codecs="':c[a(1117)]+=a(1563),e=0;e=r[n(847)][n(1533)])&&(o[n(608)](n(656),n(988)+i.id+n(921)+Math[n(806)](0,r.nextSample-i.nb_samples)+","+(r[n(623)]-1)+"]"),o[n(608)](n(656),n(1625)+this[n(971)]()),this[n(1105)]&&this[n(1105)](i.id,i[n(1352)],i.segmentStream[n(1532)],r[n(623)],e||r.nextSample>=r[n(847)][n(1533)]),i.segmentStream=null,i!==this[n(1081)][t]))break}}if(null!==this[n(1636)])for(t=0;t=r[n(847)][n(1533)])&&(o[n(1578)](n(656),n(1127)+c.id+" for sample "+r[n(623)]),this.onSamples&&this[n(1636)](c.id,c[n(1352)],c.samples),c[n(847)]=[],c!==this[n(667)][t]))break}}}},y[s(836)][s(939)]=function(e){var t=s,r=this[t(1256)](e,!0);return r[t(1533)]?r[0]:null},y.prototype.getBoxes=function(e,t){var r=s,n=[];return y[r(1633)][r(518)](this,e,n,t),n},y[s(1633)]=function(e,t,r){var n=s;for(var i in this.type&&this[n(716)]==e&&t[n(458)](this),this.boxes){if(t[n(1533)]&&r)return;y[n(1633)][n(518)](this[n(1557)][i],e,t,r)}},y[s(836)][s(1312)]=function(e){var t=s,r=this[t(789)](e);return r?r[t(847)]:void 0},y[s(836)][s(702)]=function(e,t){var r=s,n=this[r(789)](e);return this[r(785)](n,t)},y[s(836)][s(1260)]=function(e,t,r){var n=s,i=0,a=this[n(789)](e);a[n(1229)]||(a.lastValidSample=0);for(var c=a[n(1229)];ce*i[u(583)]){d=n-1;break}t&&i.is_sync&&(l=n)}for(t&&(d=l),e=r[u(847)][d][u(1425)],r[u(623)]=d;r[u(847)][d][u(381)]===r[u(847)][d][u(975)]&&r[u(847)][d+1];)d++;return a=r[u(847)][d][u(880)]+r[u(847)][d][u(381)],o[u(608)](u(656),u(407)+(t?u(1147):"")+u(545)+r[u(623)]+" on track "+r[u(572)][u(1101)]+u(1243)+o[u(1432)](e,c)+u(1454)+a),{offset:a,time:e/c}},y[s(836)][s(370)]=function(e){var t,r=s;return e[r(847)]?((t=e.samples[e[r(847)].length-1]).cts+t.duration)/t[r(583)]:1/0},y[s(836)][s(1355)]=function(e,t){var r,n,i,a=s,c=this.moov,u={offset:1/0,time:1/0};if(this[a(951)]){for(i=0;ithis[a(370)](r)||((n=this[a(1231)](e,t,r)).offset-1){u=l;break}switch(u){case t(1468):if(o[t(1585)](t(1370))[t(427)]("graphicsmode",0)[t(427)](t(1525),[0,0,0]),c[t(427)](t(982),r.width)[t(427)](t(1031),r[t(1031)]).set(t(677),72<<16)[t(427)](t(1601),72<<16).set(t(1146),1)[t(427)]("compressorname",r.type+t(1160))[t(427)](t(1616),24),r[t(928)]){var p=new(f[t(1441)]);p[t(360)](new a(r.avcDecoderConfigRecord)),c[t(946)](p)}else if(r[t(1266)]){var m=new(f[t(435)]);m.parse(new a(r[t(1266)])),c[t(946)](m)}break;case t(911):o[t(1585)](t(683))[t(427)](t(1230),r[t(1230)]||0),c[t(427)]("channel_count",r.channel_count||2)[t(427)](t(413),r[t(413)]||16).set(t(1104),r[t(1104)]||65536);break;case t(436):o.add("hmhd");break;case t(796):if(o.add(t(970)),r[t(716)]===t(552))c.set(t(900),r.namespace||t(1309)).set(t(1426),r[t(1426)]||"")[t(427)]("auxiliary_mime_types",r[t(571)]||"");break;case"Metadata":o[t(1585)](t(1132));break;case t(384):o[t(1585)]("nmhd");break;default:o.add("nmhd")}r[t(579)]&&c.addBox(r.description),r.description_boxes&&r.description_boxes[t(1358)]((function(e){c[t(946)](e)})),o[t(1585)](t(717)).add(t(735))[t(1469)]((new(f[t(530)]))[t(427)](t(1522),1));var v=o.add(t(1466));return v[t(1585)](t(996))[t(1469)](c),v[t(1585)]("stts")[t(427)]("sample_counts",[])[t(427)](t(395),[]),v[t(1585)](t(1244))[t(427)](t(429),[])[t(427)](t(1252),[]).set("sample_description_index",[]),v[t(1585)](t(885))[t(427)](t(550),[]),v[t(1585)](t(1287))[t(427)](t(1491),[]),this[t(951)][t(445)].add(t(896))[t(427)](t(1101),r.id)[t(427)](t(1465),r[t(1465)]||1).set(t(1197),r.default_sample_duration||0).set(t(1192),r[t(1192)]||0)[t(427)](t(611),r[t(611)]||0),this.buildTrakSampleLists(n),r.id}},f[s(1159)].prototype[s(676)]=function(e){var t=s,r=e||new c;r[t(1123)]=c[t(665)],this.write(r)},y[s(836)].addSample=function(e,t,r){var n=s,i=r||{},o={},a=this.getTrackById(e);if(null!==a){o.number=a.samples[n(1533)],o[n(1101)]=a[n(572)][n(1101)],o[n(583)]=a[n(1609)].mdhd[n(583)],o[n(1481)]=i[n(1294)]?i[n(1294)]-1:0,o[n(579)]=a[n(1609)].minf[n(1466)][n(996)][n(875)][o[n(1481)]],o.data=t,o[n(975)]=t[n(1313)],o.alreadyRead=o[n(975)],o[n(584)]=i[n(584)]||1,o[n(1425)]=i[n(1425)]||0,o[n(418)]=i[n(418)]||0,o.is_sync=i[n(568)]||!1,o[n(1433)]=i[n(1433)]||0,o[n(549)]=i[n(549)]||0,o[n(799)]=i[n(799)]||0,o[n(401)]=i[n(401)]||0,o[n(1204)]=i[n(1204)]||0,o.offset=0,o[n(724)]=i.subsamples,a.samples.push(o),a[n(1124)]+=o.size,a.samples_duration+=o[n(584)],void 0===a[n(926)]&&(a.first_dts=i.dts),this[n(414)]();var c=this.createSingleSampleMoof(o);return this[n(946)](c),c[n(676)](),c[n(777)][0].truns[0][n(943)]=c[n(975)]+8,this.add(n(394))[n(359)]=new Uint8Array(t),o}},y.prototype[s(1319)]=function(e){var t=s,r=0;r=e[t(568)]?1<<25:65536;var n=new(f[t(1074)]);n[t(1585)](t(1072))[t(427)](t(425),this[t(1567)]),this[t(1567)]++;var i=n[t(1585)](t(1214)),o=this[t(789)](e[t(1101)]);return i[t(1585)](t(604))[t(427)](t(1101),e[t(1101)])[t(427)]("flags",f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i[t(1585)](t(1463)).set(t(1351),e[t(418)]-(o[t(926)]||0)),i.add(t(955)).set(t(1522),f[t(1253)]|f[t(1386)]|f[t(687)]|f.TRUN_FLAGS_FLAGS|f.TRUN_FLAGS_CTS_OFFSET)[t(427)](t(943),0)[t(427)]("first_sample_flags",0)[t(427)](t(1582),1).set("sample_duration",[e.duration]).set("sample_size",[e.size])[t(427)](t(617),[r])[t(427)](t(684),[e[t(1425)]-e[t(418)]]),n},y[s(836)].lastMoofIndex=0,y[s(836)][s(1002)]=0,y[s(836)][s(587)]=function(){var e,t,r,n,i,o,a=s;for(this[a(398)]=this.moov[a(1570)][a(584)],this[a(951)][a(1570)][a(584)]=0,e=0;e=2&&(u=i[a][l(546)]+"/0",(c=new d(i[a].grouping_type,0))[l(642)]=!0,!t[l(1412)][u]&&(t.sample_groups_info[u]=c))}else for(a=0;a=2&&(u=n[a].grouping_type+"/0",c=new d(n[a][l(546)],0),!e[l(1412)][u]&&(e[l(1412)][u]=c))},y[s(912)]=function(e,t,r,n){var i,o,a=s;for(i in t[a(674)]=[],n){var c;if(t.sample_groups[i]={},t[a(674)][i][a(546)]=n[i][a(546)],t[a(674)][i].grouping_type_parameter=n[i][a(999)],r>=n[i].last_sample_in_run&&(n[i][a(1303)]<0&&(n[i][a(1303)]=0),n[i][a(543)]++,n[i][a(543)]<=n[i][a(1241)][a(875)][a(1533)]-1&&(n[i][a(1303)]+=n[i][a(1241)][a(875)][n[i].entry_index][a(1582)])),n[i].entry_index<=n[i][a(1241)][a(875)][a(1533)]-1?t[a(674)][i].group_description_index=n[i][a(1241)][a(875)][n[i].entry_index][a(365)]:t[a(674)][i][a(365)]=-1,0!==t[a(674)][i].group_description_index)c=n[i][a(1322)]?n[i][a(1322)]:n[i].description,t[a(674)][i][a(365)]>0?(o=t[a(674)][i][a(365)]>65535?(t[a(674)][i][a(365)]>>16)-1:t.sample_groups[i][a(365)]-1,c&&o>=0&&(t.sample_groups[i][a(579)]=c[a(875)][o])):c&&c.version>=2&&c[a(1640)]>0&&(t[a(674)][i][a(579)]=c[a(875)][c[a(1640)]-1])}},y[s(1403)]=function(e,t,r){var n=s;t&&(e?(t[n(1433)]=e[n(1433)][r],t[n(549)]=e.sample_depends_on[r],t[n(799)]=e[n(668)][r],t[n(401)]=e[n(1606)][r]):(t[n(1433)]=0,t.depends_on=0,t[n(799)]=0,t[n(401)]=0))},y.prototype.buildSampleLists=function(){var e,t,r=s;for(e=0;eb&&(w++,b<0&&(b=0),b+=o[C(983)][w]),t>0?(e[C(847)][t-1][C(584)]=o[C(395)][w],e[C(987)]+=e.samples[t-1][C(584)],T[C(418)]=e.samples[t-1].dts+e[C(847)][t-1][C(584)]):T[C(418)]=0,a?(t>=S&&(I++,S<0&&(S=0),S+=a[C(983)][I]),T[C(1425)]=e.samples[t][C(418)]+a.sample_offsets[I]):T[C(1425)]=T.dts,c?(t==c.sample_numbers[E]-1?(T[C(568)]=!0,E++):(T[C(568)]=!1,T[C(1204)]=0),l&&l[C(875)][A][C(990)]+k==t+1&&(T[C(724)]=l[C(875)][A][C(724)],k+=l[C(875)][A].sample_delta,A++)):T[C(568)]=!0,y.process_sdtp(e[C(1609)][C(1445)][C(1466)][C(1499)],T,T[C(570)]),h?T[C(1204)]=h[C(1476)][t]:T.degradation_priority=0,l&&l[C(875)][A][C(990)]+k==t&&(T[C(724)]=l.entries[A][C(724)],k+=l[C(875)][A][C(990)]),(d[C(1533)]>0||f[C(1533)]>0)&&y.setSampleGroupProperties(e,T,t,e.sample_groups_info)}t>0&&(e[C(847)][t-1][C(584)]=Math[C(806)](e[C(1609)][C(794)][C(584)]-e[C(847)][t-1][C(418)],0),e[C(987)]+=e[C(847)][t-1][C(584)])}},y[s(836)][s(1622)]=function(){var e,t,r,n,i,o,a,c,u,l,d,h,p,m,v,g=s;if(void 0!==this.moov)for(;this[g(688)]0&&y[g(1498)](h,d,d[g(1607)],h[g(1609)].minf[g(1466)].sgpds,d.sgpds),t=0;t0?m[g(418)]=h.samples[h.samples[g(1533)]-2].dts+h.samples[h.samples.length-2][g(584)]:(d[g(1463)]?m[g(418)]=d.tfdt[g(1351)]:m[g(418)]=0,h.first_traf_merged=!0),m[g(1425)]=m[g(418)],_[g(1522)]&f.TRUN_FLAGS_CTS_OFFSET&&(m.cts=m.dts+_[g(684)][r]),v=a,_[g(1522)]&f[g(936)]?v=_.sample_flags[r]:0===r&&_.flags&f.TRUN_FLAGS_FIRST_FLAG&&(v=_[g(1017)]),m.is_sync=!(v>>16&1),m.is_leading=v>>26&3,m[g(549)]=v>>24&3,m[g(799)]=v>>22&3,m.has_redundancy=v>>20&3,m[g(1204)]=65535&v;var b=!!(d.tfhd[g(1522)]&f[g(632)]),w=!!(d[g(604)][g(1522)]&f.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),S=!!(_.flags&f[g(1253)]),I=0;I=b?d.tfhd[g(1211)]:w||0===t?l[g(443)]:c,0===t&&0===r?m.offset=S?I+_[g(943)]:I:m[g(880)]=c,c=m[g(880)]+m[g(975)],(d[g(1607)][g(1533)]>0||d.sgpds[g(1533)]>0||h[g(1609)][g(1445)][g(1466)][g(1607)].length>0||h.mdia[g(1445)].stbl[g(558)][g(1533)]>0)&&y.setSampleGroupProperties(h,m,m.number_in_traf,d[g(1412)])}}if(d[g(1317)]){h.has_fragment_subsamples=!0;var E=d[g(1518)];for(t=0;t-1))return null;var u=(r=this.stream[n(721)][a]).byteLength-(i[n(880)]+i[n(381)]-r[n(1086)]);if(i[n(975)]-i[n(381)]<=u)return o[n(1578)]("ISOFile",n(774)+t+n(927)+i[n(381)]+n(481)+(i.offset+i[n(381)]-r[n(1086)])+n(1092)+(i.size-i.alreadyRead)+" full size: "+i[n(975)]+")"),c[n(1331)](i[n(359)].buffer,i[n(381)],r,i[n(880)]+i[n(381)]-r[n(1086)],i.size-i[n(381)]),r.usedBytes+=i.size-i[n(381)],this[n(1490)].logBufferLevel(),i.alreadyRead=i[n(975)],i;if(0===u)return null;o[n(1578)](n(656),n(774)+t+n(1216)+i[n(381)]+" offset: "+(i[n(880)]+i[n(381)]-r[n(1086)])+" read size: "+u+n(1595)+i.size+")"),c[n(1331)](i[n(359)][n(1532)],i.alreadyRead,r,i[n(880)]+i[n(381)]-r[n(1086)],u),i.alreadyRead+=u,r.usedBytes+=u,this[n(1490)][n(838)]()}},y[s(836)][s(640)]=function(e,t){var r=s,n=e[r(847)][t];return n[r(359)]?(this[r(1002)]-=n[r(975)],n[r(359)]=null,n[r(579)]=null,delete n[r(1204)],delete n[r(549)],delete n.description_index,delete n[r(401)],delete n[r(799)],delete n[r(1433)],delete n[r(568)],delete n[r(1489)],delete n[r(1125)],delete n[r(583)],delete n[r(1425)],delete n[r(418)],delete n.offset,delete n[r(975)],delete n[r(1101)],delete n[r(584)],n[r(381)]=0,n.size):0},y[s(836)][s(971)]=function(){return this[s(1002)]},y[s(836)].getCodecs=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this[t(951)][t(878)][e][t(1609)][t(1445)][t(1466)][t(996)][t(875)][0][t(1110)]()}return r},y[s(836)][s(1195)]=function(e){var t,r=s;if(!this[r(951)]||!this.moov[r(445)])return null;for(t=0;t0&&(r.protection=c[n(499)][n(520)][c[n(1033)].item_infos[e][n(1471)]-1]),c[n(1033)][n(507)][e][n(1378)]?r[n(716)]=c[n(1033)][n(507)][e].item_type:r[n(716)]="mime",r.content_type=c[n(1033)][n(507)][e][n(1546)],r.content_encoding=c[n(1033)][n(507)][e][n(1493)];if(c[n(664)])for(e=0;e0&&p[n(1320)]-1-1))return null;var l=(t=this.stream.buffers[u])[n(1313)]-(a[n(880)]+a.alreadyRead-t[n(1086)]);if(!(a[n(1533)]-a.alreadyRead<=l))return o[n(1578)](n(656),"Getting item #"+e+" extent #"+i+n(1216)+a[n(381)]+n(481)+(a.offset+a[n(381)]-t[n(1086)])+n(1092)+l+n(989)+a[n(1533)]+" full item size: "+r.size+")"),c.memcpy(r[n(359)][n(1532)],r[n(381)],t,a[n(880)]+a[n(381)]-t[n(1086)],l),a.alreadyRead+=l,r[n(381)]+=l,t[n(745)]+=l,this[n(1490)][n(838)](),null;o[n(1578)]("ISOFile",n(1215)+e+n(953)+i+" data (alreadyRead: "+a[n(381)]+n(481)+(a[n(880)]+a[n(381)]-t[n(1086)])+n(1092)+(a[n(1533)]-a[n(381)])+n(989)+a[n(1533)]+n(551)+r[n(975)]+")"),c[n(1331)](r[n(359)][n(1532)],r[n(381)],t,a.offset+a.alreadyRead-t[n(1086)],a.length-a[n(381)]),t[n(745)]+=a.length-a.alreadyRead,this[n(1490)][n(838)](),r.alreadyRead+=a[n(1533)]-a[n(381)],a[n(381)]=a[n(1533)]}}return r.alreadyRead===r[n(975)]?r:null},y[s(836)][s(694)]=function(e){var t=s,r=this[t(1376)][e];if(r[t(359)]){this[t(1461)]-=r[t(975)],r.data=null,r[t(381)]=0;for(var n=0;n0?this[i(951)][i(878)][e][i(847)][0].duration:0),t[i(458)](n)}return t},y[s(836)][s(1590)]=function(){var e=s,t={};return t[e(951)]=this[e(951)],this[e(951)]&&this[e(951)].traks&&this[e(951)][e(878)].length>1&&(t[e(658)]=this[e(951)][e(878)][0][e(847)].length,t[e(1191)]=this.moov.traks[1][e(847)][e(1533)]),t},f[s(1159)][s(836)].printHeader=function(e){var t=s;this.size+=8,this[t(975)]>u&&(this[t(975)]+=8),this[t(716)]===t(793)&&(this[t(975)]+=16),e[t(697)](e[t(1154)]+t(1419)+this[t(975)]),e[t(697)](e.indent+t(958)+this.type)},f[s(452)].prototype[s(710)]=function(e){var t=s;this[t(975)]+=4,f.Box[t(836)][t(710)].call(this,e),e[t(697)](e[t(1154)]+t(1514)+this[t(459)]),e.log(e[t(1154)]+"flags:"+this[t(1522)])},f[s(1159)].prototype[s(1451)]=function(e){this[s(710)](e)},f.ContainerBox[s(836)].print=function(e){var t=s;this[t(710)](e);for(var r=0;r>8)),e[t(697)](e[t(1154)]+"matrix: "+this.matrix[t(1436)](", ")),e[t(697)](e[t(1154)]+"next_track_id: "+this[t(679)])},f.tkhdBox[s(836)][s(1451)]=function(e){var t=s;f[t(452)][t(836)][t(710)][t(518)](this,e),e[t(697)](e[t(1154)]+"creation_time: "+this[t(432)]),e[t(697)](e[t(1154)]+t(1050)+this[t(870)]),e[t(697)](e[t(1154)]+t(1042)+this[t(1101)]),e[t(697)](e[t(1154)]+t(807)+this.duration),e[t(697)](e[t(1154)]+t(1311)+(this[t(1553)]>>8)),e[t(697)](e.indent+"matrix: "+this[t(935)][t(1436)](", ")),e[t(697)](e.indent+"layer: "+this.layer),e[t(697)](e[t(1154)]+t(916)+this[t(486)]),e[t(697)](e[t(1154)]+"width: "+this[t(982)]),e[t(697)](e.indent+t(769)+this[t(1031)])};var _={createFile:function(e,t){var r=s,n=void 0===e||e,i=new y(t);return i[r(1009)]=!n,i}};s(1167)!==s(1610)&&(t[s(1099)]=_[s(1099)])}));function Eo(){var e=["focal_length_y","Mismatch in ","saiz","hevcDecoderConfigRecord","writeFloat32Array","removeUsedSamples","luminanceMax","av01SampleEntry","seig","construction_method","step_count"," - Length: ","metadataTracks","base_offset","writeUint32","sbtt","writeInt32Array","enct","_size","sample_numbers","num_bad_cols","XMLSubtitlein4Parser","STREAMINFO","bad_pixel_column","stsz","matrixCoefficients","elng","sdp ","bit_rate_code","block_size","j2kH","sample_description_index","sgpdBox","colr","isProgressive","ES_Descriptor","compositionStartTime","itemId","maxFALL","createTrackGroupCtor","last_sample_in_run","earliest_presentation_time","moof_offset","stream_read_1_bytes","btrt","luminanceMin","nonamespace","unsetSegmentOptions","volume: ","getTrackSamplesInfo","byteLength","offset_size","stereo_indication_type","parseUUID","subs","unpack","createSingleSampleMoof","property_index","uint16le","fragment_description","quat_x","padbits","defineProperty","bufferSizeDB","sbgpBox","transfer_characteristics","writeUCS2String","stz2","memcpy","dvh1","avc4SampleEntry","Track created with MP4Box.js","compressorname","trak","entity_groups","num_leading_samples","switch_group","full_range_flag","KID"," not fully parsed","primaryBChromaticity_y","tyco","<","favc","writeUint16Array","default_crypt_byte_block","isHint","sample_duration","baseMediaDecodeTime","user","_dynamicSize","stss","seek","vertOffN","TrackReferenceTypeBox","forEach","bytes","group_id","videoFullRangeFlag","pad_unknown","stop","899579FaxZgZ","trun_number","setInt8","ipma","schi","pdin","vmhd","general_level_idc","constant_IV_size","kindBox","stsdBox","channel_associations","items","profile_compatibility","item_type","SampleEntry","getBuffer","writeUint8","createEntityToGroupCtor","float64be","bad_pixels","ref_track_id","TRUN_FLAGS_DURATION","TFHD_FLAG_DUR_EMPTY","properties","' has a size ","absolute_time","TKHD_FLAG_IN_MOVIE","rapAlignement","movie_duration","discard_priority","AudioSampleEntry","Item storage with construction_method : not supported","BoxParser","initial_presentation_delay_present","scheme_type","available_bitrate","No more buffer in memory","ptl_multilayer_enabled","process_sdtp","payl","channel_indexes","Processing buffer (fileStart: ","quat_z","default_isProtected","chroma_subsampling_x","Adjusting box ","avgBitRate","sample_groups_info","udta","Not enough bytes in buffer","tref","vvc1","setSegmentOptions","min_display_mastering_luminance","size:","_byteLength","av1C reserved_1 parsing problem"," (total: ","writeInt16Array","Needs an array buffer","cts","schema_location","dependency","extended_language","elngBox","schm","aux_info_type_parameter","getDurationString","is_leading","length_size_of_traf_num","toString","join","sidxSent","472512QyONnN","source","writeType","avcCBox","fragment_count","box","bad_pixel_row","minf","angle","irot","segment_duration","co64"," box writing not yet implemented, keeping unparsed data in memory for later write","print","first_traf_merged","PICTURE"," and offset: ","truns","stri","readInt16Array","sampleProcessingStarted","default_Per_Sample_IV_Size","sidxBox","itemsDataSize","getAudioConfig","tfdt","tenc","default_sample_description_index","stbl","block_pad_lsb","Visual","addEntry","boxEqual","protection_index","ChannelMappingFamily","scheme_version","readAnyInt","sdptext","priority","general_tier_flag","name","ispe","props","description_index","mfra","starts_with_SAP","kind","setFloat64"," --\x3e ","avc1SampleEntry","data_offset_position","moof_number","stream","sample_sizes","readString","content_encoding","TrackGroupTypeBox","msg","subsegments","media_rate_fraction","initSampleGroups","sdtp","bad_columns","tfra","text","compatible_brands","hasIncompleteMdat","parseFromString","item_count","sub_track_id",".CA","dmed"," released samples up to ","documentString","co64Box"," writing not yet implemented, keeping unparsed data in memory for later write","version:","SLConfigDescriptor","adjustUint32","dec3","first_sample_index","horizontal_justification","getChannelCount","fiel","flags"," (released size: ","sampleListBuilt","opcolor","level","createObjectURL","mergeNextBuffer","SingleItemTypeReferenceBoxLarge","LiveServerManifest","component_bit_depth_minus_one","buffer","length","parseOneDescriptor","ERR_NOT_ENOUGH_DATA","bit_depth_chroma_minus8","tracks","lhe1","document","uint32le","mp4a","No method for reading signed 24 bits values","alst","subsegment_duration","chunk_run_index","content_type","cleanApertureHeightD","extent_index","readInt64","bit_depth_luma_minus8","num_sublayers","audioTracks","volume","streamType","twelve_bit","isVideo","boxes","bitDepth","readUint","sample_offset","avgBitrate","general_constraint_info",'application/mp4; codecs="',"reserved_2","codec","SingleItemTypeReferenceBox","nextMoofNumber","traf_number","stscBox","mvhd","subSequenceIdentifier","mehd","initialize","createSampleEntryCtor","event_duration","insertBuffer","numTemporalLayers","debug","trexBox","num_bad_pixels","config","sample_count","hmhd","fromCharCode","add","level_independently_decodable","metx","handler","SAMPLE_ENTRY_TYPE_VISUAL","getPerformanceInfo","greatestDecodeToDisplayDelta","getText",") already appended, ignoring","styp"," full size: ","OCR_ES_ID","prft","av1C marker problem","ac-3","colour_type","vertresolution","Version","accurateStatisticsFlag","avgFrameRate","processIncompleteBox","sample_has_redundancy","sbgps","UUIDBoxes","mdia","undefined","writeFloat64Array","presentation_time_delta","Parsing of box '","default_KID","lfeon","depth","trunBox","resources","idat","' box writing not yet implemented, keeping unparsed data in memory for later write","addUsedBytes","updateSampleLists","av01","held_bits","Sample data size in memory: ","SmDm","displayFlags","version of iloc box not supported","UUIDs","value","Log","ipmas","_sweep","tags","' did not read the entire indicated box data size (missing ","onSamples","floor","uri ","_realloc","default_group_description_index","row_align_size","writeUint24","writeInt8","channel_count"," needs a buffer with a fileStart position of ","data","parse",", overriding previous occurrence","track_width","item_ID","track_group_id","group_description_index","_byteOffset","TKHD_FLAG_IN_PREVIEW","avc1","BASIC_BOXES","getTrackDuration","int8","avc4","mapFloat32Array","click","readUint64","addSample","writeUint16","moovStartFound","max_display_mastering_luminance","notice","alreadyRead","TRUN_FLAGS_CTS_OFFSET","sample_offsets","System","hvc1","avc2","isEof","ContainerBox"," bytes), seeking forward","item_protection_index","default_constant_IV_size","PPS","processItems","mdat","sample_deltas","avg_frame_rate","readUint32","initial_duration","fromCharCodeUint8","chan_loc","has_redundancy","URL","setExtractionOptions","hSpacing","videoTracks","bitrate","Seeking to ","readUint8Array","component_type_urls"," greater than its container size ","AVCProfileIndication","dac3","samplesize","processSamples",") - next buffer to fetch should have a fileStart position of ","cslg","frma","dts","Ignoring empty buffer (fileStart: ","esds","target_rate_share","meta","seq_tier_0","iloc","sequence_number","slice","set","sync","first_chunk","default_constant_IV","codecIntializationDataSize","creation_time","updateUsedBytes","bufferSize","hvcCBox","Hint","DecoderConfigDescriptor","SampleGroupEntry","isEos","cts_shift","TRUN_FLAGS_FIRST_FLAG","encode","start","strd","mvex","extents","msrc","TKHD_FLAG_ENABLED","dataview","pixi","processIncompleteMdat","FullBox","dav1","iref","mehd box incorrectly uses flags set to 1, converting version to 1","readInt16","tmin","push","version","unsetExtractionOptions","maxr","CoupledCount","getSampleRate","mhm1","component_align_size","hvc1SampleEntry","SAP_type","appendChild","failurePosition","split","SPS","nalu","Stream ready for parsing","getFloat32","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","mdats","ipco","charCodeAt","buildTrakSampleLists","application/xml"," offset: ","colour_primaries","readInt32Array","createEncryptedSampleEntryCtor","parallelismType","alternate_group","stts","track_ids","scif","url ","roll_distance","subtitleTracks","num_channels","ccst","focal_length_x","quat_y","major_brand","bad_rows","ipro","getUint8","Unknown sample entry type: ","findEndContiguousBuf","length_size_of_trun_num","mapInt16Array"," with new size ","_dataView","item_infos"," (too small to be a box)","createUUIDBox","mskC","Textin4Parser","hev1","ArrayBuffer","Allocating item #","prol","decimalToHex","fr-FR","call","readySent","protections","dvhe","lengthSizeMinusOne","nb_samples","SAMPLE_ENTRY_TYPE_SUBTITLE","afbr","readUint8","constantFrameRate","base_offset_size","channel_types","url Box","clap","general_constraint_indicator","readUint32Array","indexOf","readUint16Array","strk","writeInitializationSegment","reserved","min_spatial_segmentation_idc","stxtSampleEntry","writeFooter","arrayToNative","entry_index","readUint24"," sample #","grouping_type","nb_SPS_nalus","max_picture_height","depends_on","chunk_offsets"," full item size: ","stpp","addTrack","nextParsePosition","float32","durationFlag","u16stringle","sgpds","moofs","test","sbpm","box_record","max_pic_average_light_level","associations","RESERVED","max_picture_width","DataStream","is_sync","createMediaSampleEntryCtor","number","auxiliary_mime_types","tkhd","mapFloat64Array","getLength","seekLists","length_size_of_sample_num","constant_frame_rate","maxBitrate","description","crypt_byte_block","block_reversed","Position ","timescale","duration","stdp","VisualSampleEntry","resetTables","AVCLevelIndication","num_dep_sub","u16string","readInt8","Found position in existing buffer #","fieldCount","Error in length field in stz2 box","audio","pos_x","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","extract_bits","mapInt8Array","horizOffD","packetssent","apply","auxC","tfhd","ctts","time","nextSeekPosition","info","sent","Unknown Sample Group type: ","default_sample_flags","vpcC","leva","ref_to","vvi1SampleEntry","warn","sample_flags","d08a4f1810f34a82b6c832d8aba183d3","ptl_num_sub_profiles","ext"," on track #","intra_pred_used","nextSample","hdlr","lastBoxStartPosition","codecIntializationData","cmex","num_entities_in_group","ptl_sublayer_present_mask","trefBox","num_tile_rows_minus_one","TFHD_FLAG_BASE_DATA_OFFSET","restoreParsePosition","stream_read_2_bytes","sample_depends_on","cleanApertureWidthN","stszBox","19914615Hzoshn","parseFullHeader","releaseSample","SAMPLE_ENTRY_TYPE_TEXT","is_fragment","completeness","reference_ID","SAMPLE_ENTRY_TYPE_HINT","stcoBox","createBoxCtor","ptl_frame_only_constraint","VORBIS_COMMENT","numMetadataBlocks","extent_offset","length_size","Cannot seek: moov not received!","sync_sample_numbers","index_size","ISOFile","data_rate","moovAudioNum","u16stringbe","horizOffN","tile_align_size","flush","setAttribute","grpl","BIG_ENDIAN","vertOffD","extractedTracks","sample_is_depended_on","ChannelMapping","Not enough bytes left in the parent box to parse a new box","esd","rash","hdlrBox","sample_groups","attribute_list","computeSize","horizresolution","timescale: ","next_track_id","nclx","Cannot parse extension type","PreSkip","smhd","sample_composition_time_offset","Descriptor ","assignment_type","TRUN_FLAGS_SIZE","lastMoofIndex","TFHD_FLAG_SAMPLE_SIZE","configurationVersion","sttsBox","MP4BoxStream","SAP_delta_time","releaseItem","system_id","boxCodes","log","nalu_arrays","Text","item_name","cstring","getTrackSample","sgpd","hvcC","SAMPLE_ENTRY_TYPE_SYSTEM","setInt16","dtrt","hdr_size"," more bytes than the indicated box data size, seeking backwards","printHeader","num_output_samples","ftyp","op_index","primaryGChromaticity_x","Per_Sample_IV_Size","type","dinf","vp08SampleEntry","getInt32","chroma_format_idc","buffers","string","field_size","subsamples","hinf","language","getHeight","hnti","stsa","readFloat64Array","DIFF_BOXES_PROP_NAMES","matrix_coefficients","getPrimaryItem","Error reading base offset size","dref","mett",""","upStream","mere","findDescriptor","chunk_index","sinf","addSubBoxArrays","parseFooter","usedBytes","ftypBox","item_id","avll","layerNumber","sublayer_level_idc","writeFloat64","writeInt8Array","stxt","getOTI","writeUint8Array","bufferIndex","bits_per_channels","trpy","parseHex16","vide","pts","iprp","cttsBox","itemListBuilt","mvhdBox","end","pitm","createFullBoxCtor","height: ","min","nalu_type","hasMoov","appendBuffer","Getting sample #","presentation_time","edits","trafs","edts","kinds","rinf","parsingMdat","monochrome","readInt32","referenced_size","getSample","writeInt16","default_sample_info_size","location","getTrackById","MultiBufferStream","high_bitdepth"," of size ","uuid","mdhd","setAllUsedBytes","Subtitle","sample_number","Metadata","is_depended_on","setNextSeekPositionFromSample","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","primaryRChromaticity_y","aux_type","createSampleGroupCtor","iods","max","duration: ","default_length","OutputGain","colourPrimaries","mapInt32Array","isFragmentationInitialized","enof","getInfo","item_uri_type","description_length","Unknown leva assignement type","ES_ID","mhm2","cleanApertureWidthD","decode","_buffer"," f=","single_view_allowed","to_item_ID","vertical_justification","albc","bytessent","trgr","NAL_unit_type","parseLanguage","uint32","reserved_1","boxEqualFields","urn ","prototype","data_reference_index","logBufferLevel","Error accessing position in the MultiBufferStream","flattenItemInfo"," v=","getFloat64"," of size: ","SAMPLE_ENTRY_TYPE_AUDIO","compositionEndTime","Adjusted seek position (after checking data already in buffer): ","samples","urn Box","image_height","nbSamples","media_rate_integer","writeStruct",'video/mp4; codecs="',"TFHD_FLAG_SAMPLE_DUR","ssix","getPosition","MPEG4DescriptorParser","BYTES_PER_ELEMENT","reduceBuffer","isAudio","display_primaries","range_size","Found Sample Groups of type ","setInt32","constant_IV","num_ind_sub",", size ","created","tscl","modification_time","replace","minimum_bitrate","init","target","entries","vttC","subBoxNames","traks","bg_color_rgba","offset","TFHD_FLAG_SAMPLE_DESC","clli","dataView","checkBuffer","stco","cmpd","setUint16","getWidth","InputSampleRate","av1C reserved_2 parsing problem","vvnC","vvs1","colorSpace","Box of type ","hasIOD","trex","sampling_type","TFHD_FLAG_SAMPLE_FLAGS","initialized","namespace","operation_point_count","SAMPLE_ENTRY_TYPE_METADATA","chroma_subsampling_y","cprt","emsg","tag","track_ID","parseSample","seq_profile","initializeSegmentation","Audio","setSampleGroupProperties","2272QmsjMr","function","getEndFilePositionAfter","alternate_group: ","pos_y","drefBox","aux_info_type","stsg"," for samples [","general_profile_space","num_bad_rows","component_count","udes","first_dts"," data (alreadyRead: ","avcDecoderConfigRecord","schemeURI","subSeqDirectionFlag","Descriptor","component_types","Error reading extent index","moovStartSent","matrix","TRUN_FLAGS_FLAGS","getEndPosition","iso4","getBox","modified","No sample in track, cannot seek! Using time ","acmod","data_offset","15XylmjS",'Not enough data in stream to parse the extended size of the "',"addBox","ranges","ptl_present_flag","general_sub_profile_idc","video","moov","substring"," extent #","reference_type","trun","bit_depth_minus8","code","type:","whitePointChromaticity_y","Seeking at time ","j2ki","segmentStream","8974dbce7be74c5184f97148f9882554","cdef","tpay","otherTracks","isSubtitle","general_profile_compatibility","layer","sthd","getAllocatedSampleDataSize","destroy","writeFloat32","Done processing buffer (fileStart: ","size","buildSampleLists","avss","byteOffset","getUint32","scheme_uri","LITTLE_ENDIAN","width","sample_counts","creation_time: ","splice","first_offset","samples_duration","Sending fragmented data on track #"," full extent size: ","sample_delta","eqiv","mapUint16Array","used","writeUint32Array","media_time","stsd","readFloat32Array","Sample Group type: ","grouping_type_parameter","parseHeader","sample_info_size","samplesDataSize","vttc","references","senc","mjp2","36323oXerTc","bxml","discardMdatData","primary","padding_flag","uint32be","error","flipArrayEndianness","trep","temporalIdNested","first_sample_flags","correction_applied","encm","readInt8Array","cmin","writeString","tele","lsel","printRanges","ac-4","Concatenating buffer for box parsing (length: ",", column: ","shift","saveParsePosition","height","enca","iinf","int32le","Flushing remaining samples","mapUint8Array","Item storage with reference to other files: not supported","mp4aSampleEntry","], [","findPosition","Not enough bytes left in the parent box to parse a UUID box","track_id: ","bsmod","dimm","payloadID","sample_rate"," not supported","Duplicate Box of type: ","from_item_ID","modification_time: ","getDescriptorName","_trimAlloc","layer_size","aux_subtype","leastDecodeToDisplayDelta","Buffer must have a fileStart property","SubtitleSampleEntry","ec-3","dependsOn_ES_ID","uncC","href","chromaSubsampling","cleanBuffers","avgRateFlag","num_tile_cols_minus_one","rate: ","setFloat32","Unlimited box size not supported for type: '","getSampleSize","1007734CwWlrs","parseDataAndRewind","mfhd","infe","moofBox","general_profile_idc","graphicsmode","No method for reading signed 64 bits values","isMetadata","iaug","descs","fragmentedTracks","rate","createContainerBoxCtor","prof","pano","fileStart","9120150aBIyxq","stshBox","slid","ols_idx","vvc1SampleEntry"," read size: ","num_total_samples","av1C","writeHeader","initial_presentation_delay_minus_one","readUint16","parseConfig","createFile","tapt","track_id","prdi","languageString","samplerate","onSegment","body","mapUint32Array","avc3SampleEntry","default_skip_byte_block","getCodec","isFragmented","tmax","144836wRcnUN",'" box',"concat","readInt method not implemented for size: ","mime","mfhdBox","MetadataSampleEntry","moof"," not found in buffered data","fobr","endianness","samples_size","number_in_traf","DataStream.save: Can't create object URL.","Sending samples on track #","Adjusting data_offset with new value ","createCommonjsModule","rtpmap_string","float32be","nmhd","component_little_endian","writeCString","parseRemainingDescriptors","readFloat32","brands","mehdBox","sample_size","Unknown uuid type: '","pasp","BoxWriter","seq_level_idx_0","Unknown box type: '","int16be","frame_count","RAP","getUint16","fragment_duration","CoLL","kid","num_held_bits","ntp_timestamp","indent","writeUint64","SampleEntry ","fscod","a5d40b30e81411ddba2f0800200c9a66","Box"," Compressor","transferCharacteristics","readCString"," at position ","media_duration","createFragment","rtp ","object","nb_PPS_nalus","vmhdBox","parseOneBox","vvcC","ASCII","createElement","Found 'mdat' end in buffered data","oti","extension_type","Repositioning parser at buffer position: ","pixel_size","File uses negative stts sample delta, using value 1 instead, sync may be lost!","position","sizePosition","Not enough data in stream to parse the type and size of the box","dmax","chroma_sample_position","metadata","ptl_frame_only_constraint_flag","num_bytes_constraint_info","No buffer to start parsing from","txtC","uint8","moovVideoNum","default_sample_size","int32be","a1op","getTrexById","sampleEntryCodes","default_sample_duration","mha2","skew_factor","sidx","avcC","vvcN","profile","degradation_priority","style_record","meco","first_output_sample","equal","trexs","Appending new buffer (fileStart: ","base_data_offset","scheme_id_uri","fieldOrdering","traf","Getting item #"," partial data (alreadyRead: ","vp09","aebr","default_IV_size","pssh","Not enough data in stream to parse the entire '","component_format","onMoovStart","message_data","extent_length","mime_format","component_index","save","lastValidSample","balance","seekTrack","dobr","discardable","tkhdBox","_self","Track #","' read ","DecoderSpecificInfo","free","has_unparsed_data","sbgp","vp08",", time ","stsc","getItem","encs","brst","entry_count","shadowed_sample_numbers","codec_specific_parameters"," has an invalid size ","samples_per_chunk","TRUN_FLAGS_DATA_OFFSET","rICC","writeInt32","getBoxes","write","compositionToDTSShift","onSidx","releaseUsedSamples",", remaining: ","stsh"];return(Eo=function(){return e})()}function Ao(e,t){var r=Eo();return(Ao=function(e,t){return r[e-=356]})(e,t)}Io[So(1631)],Io[So(692)],Io[So(567)],Io[So(790)],Io.MPEG4DescriptorParser,Io[So(1397)],Io[So(1284)],Io[So(511)],Io[So(656)],Io[So(1099)];const ko=xo;function Co(e){return e.reduce(((e,t)=>256*e+t))}function To(e){const t=xo,r=[101,103,119,99],n=e[t(427)]-28,i=e[t(416)](n,n+r[t(427)]);return r[t(435)](((e,t)=>e===i[t]))}function xo(e,t){const r=Do();return(xo=function(e,t){return r[e-=397]})(e,t)}!function(e,t){const r=xo,n=e();for(;;)try{if(545265===-parseInt(r(422))/1+-parseInt(r(409))/2+parseInt(r(414))/3*(-parseInt(r(431))/4)+-parseInt(r(406))/5*(parseInt(r(411))/6)+parseInt(r(419))/7*(-parseInt(r(434))/8)+-parseInt(r(408))/9*(parseInt(r(402))/10)+parseInt(r(424))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Do);ko(412),ko(433);function Do(){const e=["transport","389864qApYme","every","map","buffer","debugLog","init","memory","6911930TUAkuo","instance","set","player","5jUcgTX","instantiate","9xTkIvH","1957070VyDxxQ","not support wasm","5773164YzumSy","destroy","TransportDescrambler","69771zBYkMR","message","slice","TAG_NAME","exports","70ChWIDR","byteLength","debuglog","326016EWGrzL","parse","53873116bMvpBU","wasm not supported","debugWarn","length","Module","function","object","156LBbnXV","Instance"];return(Do=function(){return e})()}function Mo(){const e=Bo;for(var t=arguments[e(131)],r=new Array(t),n=0;n{const n=e,s=new i((0|t[n(112)])+(0|r[n(112)]));return s.set(t,0),s[n(121)](r,0|t.byteLength),s}),new i)}function Bo(e,t){const r=Uo();return(Bo=function(e,t){return r[e-=112]})(e,t)}function Uo(){const e=["32768IWgJVI","toString","length","byteLength","1498760MDRlen","35VnoRPu","196008GHVRMM","951700nRkrCS","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","3391074RmiHVQ","substr","reduce","set","14HftQBg","78933YoNZxi","168726hrSBMO","padStart","constructor","replace","error"];return(Uo=function(){return e})()}function Fo(){const e=["string","length","set","arrayBuffer.length","key is invalid","none","24cuDJna","push","fromCodePoint","1497831Zxzlls","1585422ArNfDn","2uqCaRt","splice","883910pBroFI","cbc","toString","includes","4716864yUUdAA","pkcs#5","input is not supported","padding is invalid","codePointAt","array","substr","map","byteLength","8092592iBdSFj","pkcs#7","slice","213248ACyQDU","100NajvGS","301220cMfRiz"];return(Fo=function(){return e})()}!function(e,t){const r=Bo,n=e();for(;;)try{if(189173===parseInt(r(124))/1+-parseInt(r(122))/2*(parseInt(r(123))/3)+-parseInt(r(113))/4+parseInt(r(116))/5+parseInt(r(115))/6+parseInt(r(114))/7*(-parseInt(r(129))/8)+parseInt(r(118))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Uo),function(e,t){const r=qo,n=e();for(;;)try{if(603331===parseInt(r(185))/1+-parseInt(r(183))/2*(parseInt(r(181))/3)+parseInt(r(189))/4+-parseInt(r(171))/5*(parseInt(r(178))/6)+parseInt(r(169))/7+parseInt(r(166))/8+parseInt(r(182))/9*(-parseInt(r(170))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fo);const Po=16,Ro=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Lo=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Oo(e){const t=qo,r=[];for(let n=0,i=e.length;n1===(e=e[t(187)](16)).length?"0"+e:e)).join("")}function zo(e){const t=qo,r=[];for(let n=0,i=e[t(173)];n>>6),r.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)r[t(179)](224|i>>>12),r.push(128|i>>>6&63),r.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw r[t(179)](i),new Error(t(191));n++,r.push(240|i>>>18&28),r.push(128|i>>>12&63),r[t(179)](128|i>>>6&63),r[t(179)](128|63&i)}}return r}function Ho(e){const t=qo,r=[];for(let n=0,i=e[t(173)];n=240&&e[n]<=247?(r[t(179)](String[t(180)](((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r.push(String[t(180)](((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r.push(String[t(180)](((31&e[n])<<6)+(63&e[n+1]))),n++):r.push(String[t(180)](e[n]));return r.join("")}function Vo(e,t){const r=31&t;return e<>>32-r}function Go(e){return(255&Ro[e>>>24&255])<<24|(255&Ro[e>>>16&255])<<16|(255&Ro[e>>>8&255])<<8|255&Ro[255&e]}function jo(e){return e^Vo(e,2)^Vo(e,10)^Vo(e,18)^Vo(e,24)}function Wo(e){return e^Vo(e,13)^Vo(e,23)}function qo(e,t){const r=Fo();return(qo=function(e,t){return r[e-=164]})(e,t)}function Yo(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=jo(Go(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=jo(Go(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=jo(Go(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=jo(Go(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function Ko(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^Lo[r+0],t[r+0]=n[0]^=Wo(Go(e)),e=n[2]^n[3]^n[0]^Lo[r+1],t[r+1]=n[1]^=Wo(Go(e)),e=n[3]^n[0]^n[1]^Lo[r+2],t[r+2]=n[2]^=Wo(Go(e)),e=n[0]^n[1]^n[2]^Lo[r+3],t[r+3]=n[3]^=Wo(Go(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function Xo(e,t,r){const n=qo;let{padding:i=n(167),mode:s,iv:o=[],output:a=n(172)}=arguments[n(173)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===n(186)&&("string"==typeof o&&(o=Oo(o)),16!==o[n(173)]))throw new Error("iv is invalid");if(typeof t===n(172)&&(t=Oo(t)),16!==t[n(173)])throw new Error(n(176));if(e="string"==typeof e?0!==r?zo(e):Oo(e):[...e],(i===n(190)||"pkcs#7"===i)&&0!==r){const t=Po-e[n(173)]%Po;for(let r=0;r=Po;){const t=e[n(168)](f,f+16),i=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments[r(173)]>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(165)];let o=new Uint8Array(e[r(168)](0,5)),a=5;for(;as){const t=new Uint8Array(o[r(173)]+e.length-a);t[r(174)](o,0),t.set(e[r(168)](a),o[r(173)]),o=t;break}let l=e[a+4],d=!1,f=2;if(n?(i&&(f=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(188)](l)):(l&=31,d=1===l||5===l),d){const n=Xo(e.slice(a+4+f,a+4+u),t,0,{padding:r(177),output:r(194)});let i=n[n[r(173)]-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n[r(173)]-t]!==i){e=!1;break}e&&n[r(184)](n[r(173)]-i,i)}const s=new Uint8Array(f);s[r(174)](e[r(168)](a+4,a+4+f),0);const c=At(Mo(s,new Uint8Array(n))),l=new Uint8Array(o[r(173)]+c[r(173)]);l[r(174)](o,0),l[r(174)](c,o[r(173)]),o=l}else{const t=e[r(168)](a+4,a+4+u),n=new Uint8Array(o.length+4+t.length);n.set(o,0),n[r(174)](c,o[r(173)]),n.set(t,o[r(173)]+4),o=n}a=a+4+u}return o}function Zo(e,t){const r=ea();return(Zo=function(e,t){return r[e-=230]})(e,t)}const Qo=Zo;function ea(){const e=["4drNWMD","length","3730810YxzznD","723174GwPtFY","emit","5IahnxF","11KzTlGo","2fRZHnI","47709dYdYBD","10539444RqAVPU","352zmNCca","once","off","forEach","234538TFOhZU","keys","ctx","push","944364rEDAJN","1274385SVtIqA","slice"];return(ea=function(){return e})()}!function(e,t){const r=Zo,n=e();for(;;)try{if(203079===parseInt(r(245))/1*(-parseInt(r(238))/2)+parseInt(r(234))/3*(-parseInt(r(231))/4)+parseInt(r(236))/5*(-parseInt(r(249))/6)+-parseInt(r(250))/7+-parseInt(r(241))/8*(parseInt(r(239))/9)+parseInt(r(233))/10+parseInt(r(237))/11*(parseInt(r(240))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ea);class ta{on(e,t,r){const n=Zo,i=this.e||(this.e={});return(i[e]||(i[e]=[]))[n(248)]({fn:t,ctx:r}),this}[Qo(242)](e,t,r){const n=this;function i(){const s=Zo;n[s(243)](e,i);for(var o=arguments[s(232)],a=new Array(o),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,n=i[r(232)];e=2&&!this[r(340)];)if(255==this[r(349)][this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this[r(344)]=this[r(349)][this[r(359)]+1],this.state=sa[r(339)],this[r(348)]=this[r(359)],this[r(359)]+=2,e=!0;break}this.parsedOffset++}else this[r(359)]++;if(e)continue;break}if(this[r(343)]==sa[r(339)]){let e=!1;for(;this[r(349)].length-this[r(359)]>=2&&!this[r(340)];)if(255==this.tempBuffer[this[r(359)]]){if(this[r(349)][this[r(359)]+1]==this[r(344)]){this[r(343)]=sa.findSecondStartCode,this.secondStartCodeOffset=this[r(359)],this[r(359)]+=2,e=!0;break}this.parsedOffset++}else this[r(359)]++;if(e)continue;break}if(this[r(343)]==sa[r(335)]){let e=this[r(349)][r(347)](this.fisrtStartCodeOffset,this[r(337)]);this[r(351)](r(333),e,t),this.tempBuffer=this[r(349)][r(347)](this[r(337)]),this[r(348)]=0,this[r(359)]=2,this.state=sa.findFirstStartCode}}}}function aa(e,t,r){const n=ca;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e[n(386)];let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(387)](c)):(c&=31,u=1===c||5===c),u){const i=aa(e[n(395)](o+4,o+4+a),t,r);e[n(382)](i,o+4)}o=o+4+a}return e}function fa(){var e=["1631503ffmCsX","3770mTWDzQ","forEach","2WVkErM","68373QZvnfB","963237ZKzKCF","574889pBoFzS","set","88cxMJgo","filter","5944296tUGbPz","7355100lyTrRk","byteLength","length","3897435nsjtgx","reduce"];return(fa=function(){return e})()}function ha(e,t){var r=fa();return(ha=function(e,t){return r[e-=414]})(e,t)}function pa(){for(var e=ha,t=arguments[e(415)],r=new Array(t),n=0;nt+r[e(414)]),0));let s=0;return r[e(420)]((t=>{var r=e;i[r(425)](t,s),s+=t[r(414)]})),i}!function(e,t){const r=ca,n=e();for(;;)try{if(481824===parseInt(r(385))/1*(-parseInt(r(384))/2)+-parseInt(r(394))/3*(parseInt(r(389))/4)+parseInt(r(388))/5*(-parseInt(r(397))/6)+-parseInt(r(391))/7*(parseInt(r(390))/8)+parseInt(r(393))/9*(-parseInt(r(392))/10)+-parseInt(r(396))/11+parseInt(r(383))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ua),function(e,t){for(var r=ha,n=e();;)try{if(977298===parseInt(r(418))/1*(parseInt(r(421))/2)+-parseInt(r(423))/3+parseInt(r(429))/4+parseInt(r(416))/5+-parseInt(r(428))/6+-parseInt(r(424))/7*(-parseInt(r(426))/8)+-parseInt(r(422))/9*(parseInt(r(419))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fa);const ma=va;function va(e,t){const r=ga();return(va=function(e,t){return r[e-=181]})(e,t)}function ga(){const e=["664014XnwDiY","removeEventListener","isArray","7xkibqB","master","4GRAAyI","destroy","12709496uSDjbe","length","1530IhfzrN","debugLog","addEventListener","Events","proxy","destroys","158379YCXxZO","122742MuBakU","6169525ZHEdYg","2013162mpKFVp","push","forEach","bind","1747721DvpnFu"];return(ga=function(){return e})()}!function(e,t){const r=va,n=e();for(;;)try{if(962470===parseInt(r(195))/1+-parseInt(r(196))/2+-parseInt(r(188))/3+-parseInt(r(201))/4*(parseInt(r(190))/5)+parseInt(r(191))/6*(parseInt(r(199))/7)+-parseInt(r(203))/8+-parseInt(r(189))/9*(-parseInt(r(182))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ga);class ya{constructor(e){const t=va;this[t(187)]=[],this[t(186)]=this.proxy[t(194)](this),this[t(200)]=e}[ma(186)](e,t,r){const n=ma;let i=arguments[n(181)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array[n(198)](t))return t.map((t=>this[n(186)](e,t,r,i)));e[n(184)](t,r,i);const s=()=>{Lt(e[n(197)])&&e.removeEventListener(t,r,i)};return this[n(187)][n(192)](s),s}[ma(202)](){const e=ma;this.master[e(183)](e(185),"destroy"),this[e(187)][e(193)]((e=>e())),this[e(187)]=[]}}const _a=wa;function ba(){const e=["codecHeight","mvhd","113616BjOJzP","size","STSZ","tfdt","channelCount","audio","STSC","sdtp","225KzXgFj","VMHD","1045260iOPrXt","HDLR_AUDIO","hvcC","presentWidth","moof","trex",".mp3","duration","trun","avcC","tkhd","dependsOn","audioSampleRate","init","presentHeight","call","isLeading","vmhd","3865048AhxTeB","codecWidth","42646qgWEHt","tfhd","type","STTS","dinf","generateInitSegment","1639aFmMEQ","STCO","length","config","stbl","FTYP","stsd","set","prototype","SMHD","stsz","mdat","flags","7kGevwZ","cts","esds","mp4a","ftyp","hdlr","stco","hvc1","moov","timescale","917382jqFzsA","smhd","isDependedOn","avc1","sequenceNumber","concat","3jSYtSG","traf","videoType","STSD_PREFIX","mp3","byteLength","mvex","mfhd","45veuJOE","210350XuUbRU","mdhd","box","constants","HDLR_VIDEO","types","trak","minf","avcc","mdia","26804rewCJx","charCodeAt","dref"];return(ba=function(){return e})()}function wa(e,t){const r=ba();return(wa=function(e,t){return r[e-=303]})(e,t)}!function(e,t){const r=wa,n=e();for(;;)try{if(327665===parseInt(r(357))/1*(parseInt(r(322))/2)+parseInt(r(389))/3*(-parseInt(r(376))/4)+-parseInt(r(391))/5+parseInt(r(351))/6*(parseInt(r(341))/7)+-parseInt(r(320))/8+parseInt(r(365))/9*(-parseInt(r(366))/10)+-parseInt(r(328))/11*(-parseInt(r(381))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ba);class Sa{static[_a(315)](){const e=_a;Sa[e(371)]={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in Sa[e(371)])Sa[e(371)].hasOwnProperty(t)&&(Sa[e(371)][t]=[t[e(377)](0),t.charCodeAt(1),t[e(377)](2),t[e(377)](3)]);let t=Sa.constants={};t.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t[e(360)]=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(325)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(387)]=t.STCO=t.STTS,t[e(383)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(370)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[_a(368)](e){const t=_a;let r=8,n=null,i=Array[t(336)].slice[t(317)](arguments,1),s=i[t(330)];for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n[t(335)](e,4);let o=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static[_a(372)](e){const t=_a;return Sa[t(368)](Sa.types.trak,Sa.tkhd(e),Sa[t(375)](e))}static[_a(312)](e){const t=_a;let r=e.id,n=e[t(309)],i=e[t(305)],s=e[t(316)];return Sa[t(368)](Sa[t(371)][t(312)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static[_a(375)](e){const t=_a;return Sa.box(Sa[t(371)][t(375)],Sa[t(367)](e),Sa[t(346)](e),Sa.minf(e))}static[_a(367)](e){const t=_a;let r=e[t(350)],n=e[t(309)];return Sa[t(368)](Sa[t(371)].mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static[_a(346)](e){const t=_a;let r=null;return r=e[t(324)]===t(386)?Sa[t(369)][t(303)]:Sa[t(369)][t(370)],Sa[t(368)](Sa.types[t(346)],r)}static[_a(373)](e){const t=_a;let r=null;return r="audio"===e[t(324)]?Sa[t(368)](Sa[t(371)][t(352)],Sa[t(369)][t(337)]):Sa[t(368)](Sa[t(371)][t(319)],Sa[t(369)][t(390)]),Sa[t(368)](Sa[t(371)][t(373)],r,Sa.dinf(),Sa[t(332)](e))}static[_a(326)](){const e=_a;return Sa[e(368)](Sa[e(371)][e(326)],Sa.box(Sa[e(371)][e(378)],Sa[e(369)].DREF))}static stbl(e){const t=_a;return Sa.box(Sa.types[t(332)],Sa[t(334)](e),Sa[t(368)](Sa[t(371)].stts,Sa[t(369)][t(325)]),Sa.box(Sa[t(371)].stsc,Sa[t(369)][t(387)]),Sa[t(368)](Sa[t(371)][t(338)],Sa.constants[t(383)]),Sa[t(368)](Sa[t(371)][t(347)],Sa.constants[t(329)]))}static[_a(334)](e){const t=_a;return"audio"===e[t(324)]?e.audioType===t(361)?Sa[t(368)](Sa.types[t(334)],Sa[t(369)][t(360)],Sa.mp3(e)):Sa[t(368)](Sa[t(371)][t(334)],Sa[t(369)][t(360)],Sa[t(344)](e)):"avc"===e[t(359)]?Sa[t(368)](Sa[t(371)][t(334)],Sa[t(369)][t(360)],Sa[t(354)](e)):Sa[t(368)](Sa[t(371)].stsd,Sa[t(369)].STSD_PREFIX,Sa[t(348)](e))}static[_a(361)](e){const t=_a;let r=e[t(385)],n=e[t(314)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return Sa[t(368)](Sa[t(371)][t(308)],i)}static[_a(344)](e){const t=_a;let r=e[t(385)],n=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return Sa[t(368)](Sa[t(371)].mp4a,i,Sa.esds(e))}static[_a(343)](e){const t=_a;let r=e[t(331)]||[],n=r[t(330)],i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5][t(356)]([n])[t(356)](r)[t(356)]([6,1,2]));return Sa[t(368)](Sa[t(371)][t(343)],i)}static[_a(354)](e){const t=_a;let r=e[t(374)];const n=e[t(321)],i=e[t(379)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Sa[t(368)](Sa[t(371)][t(354)],s,Sa.box(Sa.types[t(311)],r))}static[_a(348)](e){const t=_a;let r=e.avcc;const n=e[t(321)],i=e[t(379)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Sa[t(368)](Sa[t(371)][t(348)],s,Sa.box(Sa.types[t(304)],r))}static[_a(363)](e){const t=_a;return Sa.box(Sa[t(371)][t(363)],Sa[t(307)](e))}static[_a(307)](e){const t=_a;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Sa[t(368)](Sa.types.trex,n)}static moof(e,t){const r=_a;return Sa[r(368)](Sa[r(371)][r(306)],Sa[r(364)](e[r(355)]),Sa[r(358)](e,t))}static[_a(364)](e){const t=_a;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return Sa.box(Sa[t(371)][t(364)],r)}static[_a(358)](e,t){const r=_a;let n=e.id,i=Sa[r(368)](Sa.types[r(323)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=Sa[r(368)](Sa.types[r(384)],new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),o=Sa[r(388)](e),a=Sa[r(310)](e,o[r(362)]+16+16+8+16+8+8);return Sa[r(368)](Sa[r(371)][r(358)],i,s,a,o)}static[_a(388)](e){const t=_a;let r=new Uint8Array(5),n=e.flags;return r[4]=n.isLeading<<6|n[t(313)]<<4|n[t(353)]<<2|n.hasRedundancy,Sa[t(368)](Sa[t(371)][t(388)],r)}static[_a(310)](e,t){const r=_a;let n=new Uint8Array(28);t+=36,n[r(335)]([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e[r(309)],s=e[r(382)],o=e[r(340)],a=e[r(342)];return n[r(335)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o[r(318)]<<2|o[r(313)],o.isDependedOn<<6|o.hasRedundancy<<4|o.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),Sa[r(368)](Sa.types[r(310)],n)}static[_a(339)](e){const t=_a;return Sa[t(368)](Sa.types[t(339)],e)}}Sa[_a(315)]();var Ia=Aa;!function(e,t){for(var r=Aa,n=e();;)try{if(167523===parseInt(r(381))/1*(parseInt(r(380))/2)+parseInt(r(384))/3*(-parseInt(r(390))/4)+-parseInt(r(392))/5+parseInt(r(388))/6+parseInt(r(379))/7+parseInt(r(391))/8*(parseInt(r(389))/9)+-parseInt(r(377))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ka);var Ea=d[Ia(385)]((function(e){var t=Ia;e.exports=function(e,t,r){return t in e?Object[Aa(378)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e[t(383)][t(386)]=!0,e[t(383)][t(382)]=e[t(383)]}));function Aa(e,t){var r=ka();return(Aa=function(e,t){return r[e-=377]})(e,t)}function ka(){var e=["unwrapExports","1850610RyiTEC","18ZkKibb","468JiFaui","543976RVDloN","1018300IwVbTr","2013500rwnOQh","defineProperty","1123535ElmhLw","34WRjZxf","4591yqfVNT","default","exports","2832JqmDCJ","createCommonjsModule","__esModule"];return(ka=function(){return e})()}function Ca(e,t){const r=Ta();return(Ca=function(e,t){return r[e-=493]})(e,t)}function Ta(){const e=["218622YsPsNt","object_type","882500LFKMqT","6gXGMrY","data","203gNDUbq","Invalid MP3 packet, first byte != 0xFF ","Invalid MP3 packet, header missing!","18150HTNPIN","length","1526375SnMizf","sample_rate","490292JXJwVI","mp3","1485rIEmli","456900AHVBTS","error","264288wOkZIN","16QJCqcN"];return(Ta=function(){return e})()}d[Ia(387)](Ea),function(e,t){const r=Ca,n=e();for(;;)try{if(583083===-parseInt(r(508))/1+parseInt(r(505))/2*(parseInt(r(506))/3)+-parseInt(r(502))/4+-parseInt(r(497))/5*(parseInt(r(509))/6)+-parseInt(r(511))/7*(-parseInt(r(504))/8)+parseInt(r(501))/9*(parseInt(r(495))/10)+parseInt(r(499))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ta);const xa=[44100,48e3,32e3,0],Da=[22050,24e3,16e3,0],Ma=[11025,12e3,8e3,0],Ba=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Ua=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Fa=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Pa(e){const t=Ca;if(e[t(496)]<4)return void console[t(503)](t(494));let r=new Uint8Array(e.buffer),n=null;if(255!==r[0])return void console[t(503)](t(493));let i=r[1]>>>3&3,s=(6&r[1])>>1,o=(240&r[2])>>>4,a=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0,d=t(500);switch(i){case 0:u=Ma[a];break;case 2:u=Da[a];break;case 3:u=xa[a]}switch(s){case 1:o=e[i]&&t=6?(i=5,r=new Array(4),a=s-3):(i=2,r=new Array(2),a=s):-1!==c[t(271)]("android")?(i=2,r=new Array(2),a=s):(i=5,a=s,r=new Array(4),s>=6?a=s-3:1===o&&(i=2,r=new Array(2),a=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&o)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),this[t(268)]=r,this[t(300)]=Va[s],this[t(289)]=s,this[t(315)]=o,this.object_type=i,this[t(306)]=n,this[t(309)]=t(282)+i,this[t(279)]="mp4a.40."+n}}const qa=Ya;function Ya(e,t){const r=Ka();return(Ya=function(e,t){return r[e-=333]})(e,t)}function Ka(){const e=["readBits","2PAKrhC","120jYBnTo","bitLength","byteLength","index","7208370mYGxZI","readEG","skipEG","readUEG","bitsAvailable","skipBits","getBits","skipUEG","readUShort","22tXpXpF","392416zUlttW","42QQgFwT","data","1954302LrLBQT","7108180FAVFPq","592347LywpLe","1881351qBUbgi","89575sIbntf","length","skipLZ","readUInt"];return(Ka=function(){return e})()}!function(e,t){const r=Ya,n=e();for(;;)try{if(572897===-parseInt(r(355))/1+parseInt(r(335))/2*(parseInt(r(356))/3)+parseInt(r(336))/4*(parseInt(r(357))/5)+-parseInt(r(353))/6+parseInt(r(351))/7*(-parseInt(r(350))/8)+-parseInt(r(340))/9+-parseInt(r(354))/10*(-parseInt(r(349))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ka);class Xa{constructor(e){const t=Ya;this[t(352)]=e,this.index=0,this[t(337)]=8*e[t(338)]}get bitsAvailable(){const e=Ya;return this.bitLength-this[e(339)]}[qa(345)](e){const t=qa;if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this[qa(346)](e,this.index,t)}getBits(e,t){const r=qa;let n=!(arguments[r(358)]>2&&void 0!==arguments[2])||arguments[2];if(this[r(344)]>>i,o=8-i;if(o>=e)return n&&(this[r(339)]+=e),s>>o-e;{n&&(this.index+=o);const i=e-o;return s<>>1:-1*(e>>>1)}readBoolean(){return 1===this[qa(334)](1)}readUByte(){let e=arguments[qa(358)]>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}[qa(348)](){return this[qa(334)](16)}[qa(333)](){return this[qa(334)](32)}}function $a(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=cc,n=e();;)try{if(905499===-parseInt(r(205))/1+-parseInt(r(208))/2*(-parseInt(r(216))/3)+parseInt(r(203))/4+parseInt(r(197))/5*(parseInt(r(207))/6)+parseInt(r(215))/7*(parseInt(r(204))/8)+parseInt(r(210))/9+-parseInt(r(206))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ac);const Ja=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Za=new Array(2746333894,1453994832,1736282519,2993693404),Qa=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function ec(e,t,r,n,i){var s=cc,o=i;o=t+i>e[s(213)]&&n+i<=r[s(213)]?e[s(213)]-t:n+i>r[s(213)]&&t+i<=e[s(213)]?r.length-n:t+i<=e[s(213)]&&n+i<=r.length?i:r[s(213)]>24&255,e>>16&255,e>>8&255,255&e)}function rc(e,t){var r=cc;return t+3>>19)^(n<<23|n>>>9)}function sc(e,t){var r=new Array(36);r[0]=rc(t,0),r[1]=rc(t,4),r[2]=rc(t,8),r[3]=rc(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^oc(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=cc,r=new Array(4*e[t(213)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function ac(){var e=["byteLength","6988640ROhGyM","5198216pXYstG","1795683DdXnNo","25247440kyzcqa","18OuiiVW","138664XDkRoN","set","8388306IKqBPD","log","ceil","length","iv is error!","7xQLVAB","6BUYMkL","2930485HGogeq","sm4 key is error!","min","slice","data is error!"];return(ac=function(){return e})()}function cc(e,t){var r=ac();return(cc=function(e,t){return r[e-=197]})(e,t)}function uc(e,t,r){var n=cc;if(null==e||null==e||e[n(213)]%16!=0)return console[n(211)]("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console[n(211)]("cipher is error!"),null;if(null==t||null==t||t[n(213)]%16!=0)return console[n(211)]("iv is error!"),null;for(var i=nc(e),s=Math[n(212)](r[n(213)]/16),o=new Array(r[n(213)]),a=t[n(200)](),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments[n(213)]>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const o=e[n(202)];let a=5;for(;ao)break;let u=e[a+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(u)):(u&=31,l=1===u||5===u),l){const i=uc(t,r,e[n(200)](a+4+d,a+4+c));e[n(209)](i,a+4+d)}a=a+4+c}return e}const dc=hc;function fc(){const e=[" is not corresponded to PAT!","isDecodeFirstIIframe","clearSlices","demuxFlv() type is ","videoBufferDelay","MP3: Channel count changed from ","_decodeEnhancedH265Video","videoCodec","isSendSeqHeader","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","kLOASAAC","hasInitVideoCodec","demuxM7s() type is video and arrayBuffer length is ","AC3: BitStream Mode changed from ","log","isXorCrypto cryptoKey.length is ","Not Supported Opus channel count.","emitError","dispatchVideoMediaSegment","createFile","open","wcsDecodeAudio"," and preTsDuration is ","workerEnd"," ,delay is ","_resetInIt","refFrames"," and prevPayloadBufferSize is ","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","videoDecode","kSliceIDR_N_LP","chroma_format_string","VideoDecoder","TAG"," and isDestroyed is true, so return","getAudioSourceBufferUpdating","mseWidthOrHeightChange","protocol","36Fhrgpg","parseH265Payload","isFirefox","handleVideoH264Nalu","byteLength","parseEAC3Payload","_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","expected: ","originalCodec","_decodeAudio","decoder","audio_init_segment_dispatched_","fetchStatus","websocketOpen","mp4Box","removeUsedSamples","has_video_","name","remove","webglcontextrestored","audioCode","hasAudio","isIFrame","mediaSourceAudioInitTimeout","pes_private_data_pids","loop() common dumex delay is -1 ,data.ts is","getVideoBufferLength",", and ts list is ","parseH264Payload","Video: Codec mimeType changed from ","audioMimeType","createImageBitmap","demuxM7s","some"," and mseDecoder.audioMimeType is "," and nalUnitSize is "," ,\n and now ts is ",", isVideoSequenceHeader is true","findIndex","sequenceNumber","streamFps","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","AAC: AudioObjectType changed from ","isWorkerFetch","appendBuffer() player is destroyed","sm4CryptoKey","PACKET_TYPE_FRAMESX","errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ","useWCS","payload","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0","fetchNext().then() and requestAbort is true so return",", preTs is ","replace","sampling_rate","object_type","pushBuffer() and isIFrame is ","stringify","fetch().catch() and e.name is AbortError so return"," and\n payloadBufferSize is ","playbackRate","eac3","LOG_NAME","smpte2038_pids","size","onReady","3850ZOOMEM","isWidthOrHeightChanged","workerFetch","kSliceCRA_NUT"," more than ","duration_","pendingAudioRemoveRanges","mediaSource is end","streamEnd","abort success","mseDecoder.mediaSourceAddSourceBufferError is true","appendAudioBuffer","mp3Demuxer","h265 naluList.length === 0","kMetadata","warn","firstTimestamp","code is ","cryptoIV","decodeVideo: simd decode error, and return","ac3","slices"," ,\n and diff is ","audioMeta","fetchNext().catch() and abortController.signal.aborted is true so return"," and isIFrame is ","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","prefixSei","moof","video_init_segment_dispatched_","HEAPU8","parsePMT: table_id ","ceil","config","writableStream close()","prevPayloadBufferSize","mediaSourceAppendBufferFull","socket is null","h264 naluList.length === 0","writableStream write() and abortController.signal.aborted is true so return",", new height is ","reduce","video_metadata_changed_","1632395gpkhRy","_getSeqHeader","playAudio"," and ok is ","pendingSegments","parsePES","parsePAT","getDelay"," and firstRenderTime is ",", diff time is ","_decodeAudioConfigurationRecord audio codec is not support , codecId is ","_decodeVideo now time is ","arraybuffer","mediaSourceH265NotSupport","demuxFlv() type is audio and payload.byteLength is ","set"," and is Trial Version[试用版本]","emitPESSlices","3873072VSMsfh","readUEG","ts is ","onclose","frameRate","isDropSameTimestampGop","ac-3","subarray","removeSourceBuffer() audioSourceBuffer","firstStartCodeOffset -14 is","from"," ts is ","PACKET_TYPE_FRAMES","fetchStream","timescale","demuxTs","audio_object_type","onSamples() trackId error","hasPendingEos","endOfStream","kAC3","buffered","request abort and run res.body.cancel()","kSliceSEI","streamVideoFps","ms and return "," and tempDelay is ","stencil","kSliceIDR","delay","opus","PACKET_TYPE_SEQ_START","streamStats","onopen","vcl","_doRemoveRanges() audioSourceBuffer error","cancel","m7sCryptoAudio","level","videoTracks","len","mimeType",",\n new width is ",",local diff is ","options","isSm4Crypto","demux() isIFrame is false and unit type is IDR and update to true","audioBufferSize","cmd","cacheTrack","decodeDiffTimestamp","debug","abort"," and prevTs is ","isfms","payload_unit_start_indicator","decodeVideo first frame is not iFrame","fetchNext().then() and abortController.signal.aborted is true so return","audioSampleRate","seqHeader","appendBuffer"," playbackRate is ","refSampleDuration","DataStream","isPlayUseMSE","worker TsLoaderV2","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","audioTracks","fetchNext().catch() and e.name is AbortError so return",";codecs=","parsePES: packet_start_code_prefix should be 1 but with value ","decodeVideo: hasInitVideoCodec is false, codecId is ","video_metadata_","total_length"," vs start is ","_doRemoveRanges() sourceBuffer error","pushBuffer video and isIFrame is ","close() and videoDecoder.clear error","isM7sCrypto cryptoKey.length is ","timed_id3_pids","doDecode"," and diff is ","findFirstStartCode","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","setCodecAudio","channel_mode","isEmitInfo","abortSourceBuffer() abort audioSourceBuffer","getState","probe","loop() do not decode and delay is "," > maxDelay ","kMPEG1Audio","streamVbps","closed","JbPro Worker Version is ","isPushDropping","audioNalu","fileStart","fetchStream, WebsocketStream socket close and code is ","videoNalu","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","AC3: Low Frequency Effects Channel On changed from "," > timestamp is ","audio_track_","AC3: Bit Stream Identification changed from ","pushBuffer video ts is ",", syncOffset = ","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","bit_stream_mode","aac_last_incomplete_data_","parseSCTE35","debugLog","fetchStream, WebsocketStream socket open","aborted","isPlayer","preDelayTimestamp","audioSequenceNumber","handleVideoFrames","asynchronous_klv_pids","updateConfig","\n maybe trigger black screen or flower screen\n ","mseDecodeAudio","onSamples","playType","dispatchAudioVideoMediaSegment","sort","mseDecoder.sourceBuffer.appendBuffer()","codecHeight","scte_35_pids","ms and return -1",",\n firstAudioTime is ","has not init video codec","streamAbps","stsd","error","videoBuffer","2925504psliRO","debugLevel","prevTimestamp","prevAudioTs","findSei",", and ts is ","sourceended","sync_byte = ","801dRkENZ","channel_count","_checkTsIsMaxDiff","setCodecAudio: init audio codec, codeId is ","updateend","readUByte","streamAudioFps","codedWidth",", diff is "," ant auto wasm decode","onError","startStreamRateAndStatsInterval","129868RlZBtr","_remainingPacketData",", not 0x47"," but isSocketError is true , so return","fetchError","initVideo","mseUpdateVideoTimestamp","mseAutoCleanupSourceBuffer","undefined","addSourceBuffer","sampleRate","abortSourceBuffer","minf","abortSourceBuffer() abort sourceBuffer","onmessage:","isEmitSEI","start","Opus: SamplingFrequencyIndex changed from ","useSIMD","getDelayNotUpdateDelay",'" is string so return',"avcC","present_size","offscreenCanvasGL","_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()","pes_slice_queues_",'video/mp2t; codecs="',"current_pmt_pid_","parsedOffset","getNaluDts"," and prev dts is ","samples","width is ","removeSourceBuffer() sourceBuffer","mediaSourceBufferError","useMSE","playbackConfig","isStateClosed","writableStream","cryptoKey","worker wcsDecoder","demuxMpeg4","kPESPrivateData","readNextAACFrame","audio_last_sample_pts_","scriptData","parseLOASAACPayload","_decodeVideo","nakedFlowH265DemuxUseNew","presentHeight","audioSourceBuffer","needClear","init","removeEventListener","pendingRemoveRanges","getContextAttributes","channel_config","Audio: Audio Codecs changed from ","signal","handleVideoH264NaluList list size is ","handleVideoH265NaluList","VideoEncoder","preventDefault","isFirstDispatch and tsPacketSize = ","supportVideoFrameCallbackHandle","pid","isFmp4"," , message is ",", start dts is ","mseCorrectTimeDuration","kSliceNonIDR","kH265","sourceOpen","mpeg","isNakedFlow","videoCode","common_pids","suffixSei","setCodecAudio: mp3 is not support for old version","parseTimedID3MetadataPayload","simdH264DecodeVideoWidthIsTooLarge","pendingAudioSegments","dropBuffer$2() iFrameIndex is ","renderYUV","hasVideo","cryptoPayloadAudio","loas_aac","sps","_clearAudioNoDataCheckTimeout","_initAudioSourceBuffer and mseDecoder.isStateOpen is ","handleOffscreenCanvasWebglContextLost and next try to create webgl","onerror","clearBuffer,bufferList length is ","secondStartCodeOffset","worker nakedFlow","parseSection","dropping","firstStartCodeOffset","firstAudioTime","is_sync","sarNum","profile","visibility","extractH264SEI","video_track_","buffer","handle","debugWarn","mseCorrectAudioTimeDuration",'" and return',", old height is ","webglObj","_clearAudioSourceBufferCheckTimeout","sequenceHeader","mediaSourceAppendBufferError"," > ","mp4","close() and socket.readyState is ","_doDecodeAudio","mseDecoderUseWorker"," package length is ","height","streamVideoType","removeSourceBuffer() audioSourceBuffer error","catch","mp3","width","buffering","parsePMT","isStateOpen"," ,\n and diff is ","codec_mimetype","ms, PES pts: ","body","mediaSourceFull","getDelay() and preDelayTimestamp is ","iFrame","onOffscreenCanvasWebglContextLost","loop() is dropping = false, is iFrame","now","details",'video/mp4; codecs="',"writableStream abort() and abortController.signal.aborted is true so return","parseADTSAACPayload","kH264",", stream_id=","extractNALu() buffer error","resetAllDelay","sync_offset","worker","iframeIntervalTs","pcr_pid","adts_aac","draw, decoder is destroyed and return","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","hasInit","removeSourceBuffer","isPlaybackCacheBeforeDecodeForFpsRender","sarRatio"," ,streamVideoFps is ","hev","mseSourceBufferError mseDecoder.sourceBuffer"," null",", dts is ","kEAC3","key","dispatchAudioMediaSegment","calcNetworkDelay, dts is ","lastBuffer","resetDelay"," so drop this frame","pid_stream_type"," and,\n options.ts is ","prevTs","sendWsMessage","calcNetworkDelay","audioCodec","_isEnhancedH265Header"," ,new bufferList is "," and prev time is ","push","current_program_","firstRenderTime","decodeVideo and payload is too small , payload length is ","Generated first AudioSpecificConfig for mimeType: ","chromaFormat","prevDts","recordType","streamEndInner","fetchNext().then() and done is true","codedHeight","mseDecoder.mediaSourceAppendBufferFull is true","\n decodeVideo: video width or height is changed,\n old width is ","aacADTSHeader",",\n and mseCorrectTimeDuration is ","getContext","reset","mseAutoCleanupMaxBackwardDuration","media_info_","sourceClose","extractH265SEI","emitSectionSlices","_initPmt","mseHandle"," and maxDiff is ","hasAudioInit",",nalu type is ","timescale_","vps"," _opt.sampleRate is "," next data type is ","Parsed first PAT: ","playbackStreamVideoFps","isM7sCrypto","Webcodecs Video Decoder initSize","mediaSource is not attached to video or mediaSource is closed","decodeAudio","channelCount","HEAPU32",", pts=","19370fenwVP","getDelayNotUpdateDelay() and preDelayTimestamp is ","endOfStream() error","decodeNext","fetch","network_pid"," and delay is ","cacheAudioTrack"," and mseDecoder.isAvc === null is ","clearBuffer","demuxNakedFlow","setExtractionOptions","MP3: SamplingFrequencyIndex changed from "," to ","audioDecode","decodeAudio\n local dts is < 0 , ts is ","pts","end","data","kSliceSPS","isAllIframeInBufferList","slice","opt","shift","demuxFlv() isVideoSequenceHeader is true and isHevc is ","demuxFmp4","_opt","isStateEnded","6HUNDmH","complete","Video: Coded Resolution changed from ","presentWidth","pendingUnits","handlePESSlice","flags","localDts",", streamFps is ","audioChannelCount","mseFirstRenderTime","endOfStream() has pending eos","decodeVideo and payload is video sequence header so drop this frame","timeInit","calcNetworkDelay now dts:","playbackForwardMaxRateDecodeIFrame","TAG_NAME","63416DxdsFD","detectAudioMetadataChange","stbl","units","initAudio","handleOffscreenCanvasWebglContextRestored","isHevc","streamDts","pushLatestDelay","forEach","startPlaybackCacheLoop",", streamAudioFps is ","isPlayVod"," is not corresponded to PMT!","mpeg4","binaryType","streamSuccess","kMPEG2Audio","close","mseWorkerAddSourceBufferError","sourceBuffer","websocket user aborted",", isAacCodecPacket is true","mseAutoCleanupMinBackwardDuration","decodeVideo\n local dts is < 0 , ts is ","handleNALu","getReader","loop() dropBuffer is dropping and isIFrame ","clear","_initAudioSourceBuffer","AAC","updating","simdDecodeError","mediaSourceAudioG711NotSupport","_doDecodeVideo","\n isVideoSqeHeader is ","audioSampleRateIndex","videoInfo","synchronous_klv_pids","getTime","calcIframeIntervalTimestamp","\n and replay","bit_depth","isRecordTypeFlv","streamType","pipeTo","pushBuffer"," and isNotPushDropping is ",", height is ","parseChunks","aac","fetch().catch() and abortController.signal.aborted is true so return","codec","mp4Box onError","84uaKGTp","chroma_format"," and\n ts is ","dispatch","startTimestamp","h265","hasIncompleteData","currentTime","dispatchPESPrivateDataDescriptor","MediaSource","mediaSourceAddSourceBufferError","isAvc","video"," ms","audioSourceNoDataCheckTimeout","decode data type is ","floor","handleVideoH265Frames","_decodeConfigurationRecord error","headers","nearest_pts","removeSourceBuffer() sourceBuffer error","updatePlaybackIsPause","kSliceIDR_W_RADL","getNotDroppingDelayTs","decodeVideo, decoder is destroyed and return","original_object_type","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","mseSourceBufferError mseDecoder.audioSourceBuffer","playbackUpdatePlaybackRate","fetch done","Opus: Channel count changed from ","handlePESSlice: packet_start_code_prefix should be 1 but with value ","isAAC","_initSourceBuffer"," and\n ts is ","fromCharCode","getTrackById","handleVideoH264NaluList","AAC: SamplingFrequencyIndex changed from ","first_parse_","program_pmt_pid","player","_decodeAudioConfigurationRecord","isCacheBeforeDecodeForFpsRender","FT_KEY","destroy","render","status","getIncompleteData","expected_length","AbortError","fetchStream, WebsocketStream on error and requestAbort is true so return","mseDecoder.mediaSourceBufferError is true","descriptor","fps_num","dropBuffer$2","52274DCxAIe","_bindMediaSourceEvents","hvcc","AC3: Sampling Frequency changed from ","isPause",", bufferList is ","Asynchronous KLV Metadata: pid=","cts","mdia","codecWidth","write","prevAudioDts","AAC: Detected pts overlapped, ","openWebglAlignment","websocket","parseAC3Payload","mseDecoder.audioSourceBuffer.appendBuffer()","has_audio_","_doCleanUpSourceBuffer","VideoDecoder configure error","isFlv","mediaSourceTsIsMaxDiff","ALAW","tempStream"," and return","parse","pat_","mseDecoder.mediaSourceAppendBufferError is true","version_number","sampling_frequency","readyState","handleAddNaluStartCode","idle","debugError","checkFirstIFrame","close() and audioDecoder.clear error","eventListenList","url","HEAPF32","audio_metadata_","parseSMPTE2038MetadataPayload","handleVideoNalu","parsePAT: table_id ","mediaSourceAudioNoDataTimeout","parseSynchronousKLVMetadataPayload","extractNALu$3","videoTrackId","wasmWidthOrHeightChange","last_pcr_","streamRate","getSourceBufferUpdating","decodeAudio() and decoder is destroyed","playback and playbackIsCacheBeforeDecodeForFpsRender is true","sample_rate","avcc","h264","pushBuffer,\n preTimestamp is "," cacheTrack dts is ","\n diff is ","_preDoDecode"," isIFrame is ","map","program_pmt_map_","kSCTE35",'socket on message is string "','fetchNext().then() and value "',"_needCleanupSourceBuffer","lastBuf","Opus","setCodecVideo","concat","bit_stream_identification","state","toString","codec_size","clearPlaybackCacheLoop","KLVA","string",",\n and emit change event","parsePESPrivateDataPayload","assign"," , payload is ","mseSourceBufferError","dts","isDropping",",and old bufferList length is ","random_access_indicator","_doRemoveRanges","addEventListener","stopId","onmessage","decodeVideo","extractNALu$2","AudioDecoder"," and mseCorrectTimeDuration is ","playVod","Synchronous KLV Metadata: pid=","pcmData, decoder is destroyed and return","Timed ID3 Metadata: pid=","isXorCrypto","_hasPendingRemoveRanges","mseError"," ,\n and now ts is ","VideoDecoder error: ","audioTrackId","isPlaybackOnlyDecodeIFrame","mdat","kSlicePPS","socket is not open","width: ","closeEnd","flvBufferData","getBuildTime","value","SMPTE 2038 Metadata: pid=","sarDen","isVideoInited","nakedFlowDemuxUseNew","parsePPS","videoSEI",",\n diff is ","useOffscreen","playbackCacheLoop fragDuration is ","isRecording","isMpeg4","kADTSAAC","init and forHardDecode is ","ID3 ","decode","_hasPendingSegments","decodeVideo is max diff , ts is ","getHandle","options:","section_slice_queues_","isKeyframe",", and hasAudio is ","stream_type","sampling_freq_index"," and has iIframe and next decoder.dropBuffer$2()","hasIframeInBufferList"," and height is ","original_codec_mimetype","onOffscreenCanvasWebglContextRestored"," and isIframe is ","networkDelay","_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","loop() bufferList is empty and reset delay","onMediaSourceSourceOpen() sourceBuffer is null and next init","then","firstRenderTime is ","stop","isAudioInitInfo","fetch().catch() and e is ","webglcontextlost","Parsed first PMT: ","videoType","offscreenCanvas","isSm4CryptoH265V2","getStreamBufferLength","min","fetchStream, WebsocketStream socket close and requestAbort is true so return","webgl","send","dispatchAudioInitSegment","decodeVideo: video width or height is changed, and return","getAllocatedSampleDataSize","avc","loas_previous_frame","setCodec","AAC: Unknown pts","isInitSegmentDispatched","nakedFlowFps"," or cryptoIV.length is ","isDestroyed","videoPayload","configure","readBits","level_string","transferToImageBitmap","dispatchVideoInitSegment","keyFrame","offset","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame","isWasmMp4","readNextNaluPayload","isTs"," and bufferlist is ","findSecondStartCode","VideoDecoder configure has not init , isIframe is ","writableStream abort() and e is ","offscreenCanvasCtx","playbackIsCacheBeforeDecodeForFpsRender","videoMimeType","_doAppendSegments","tsPacketSize","isPlayback","isTrusted","videoMeta","decodeVideo() and decoder is destroyed","$video","program_number","checkStreamEnd",", dts=","mediaSource",", height: ","getAudioBufferLength","fetch response status is ","abort catch","events","MP3","parseVPS","samplingRate","handleVideoH265Nalu","duration","needInitAudio","fetchStream, WebsocketStream socket close abnormally and code is ","decodeVideo has not init , isIframe is ","playbackCacheLoop","low_frequency_effects_channel_on","code","audioSourceBufferCheckTimeout","isPlayUseMSEAndDecoderInWorker","types","generateInitSegment","flush","writableStream close() and isPlayVod is true so return","audio","fps_den","pmt_","sar_ratio","aacSequenceHeader","mediaSourceError","meta","length","setCodecVideo: init video codec , codecId is ","indexOf","extractNALu","detectVideoMetadataChange","type","cryptoPayload","message","demuxFlv"," and prev ts is ","file_position","worker MediaSource"," is not H264 or H265","onReady()","pps","delta",",\n new width is "];return(fc=function(){return e})()}function hc(e,t){const r=fc();return(hc=function(e,t){return r[e-=295]})(e,t)}!function(e,t){const r=hc,n=e();for(;;)try{if(657012===-parseInt(r(840))/1*(parseInt(r(1129))/2)+-parseInt(r(783))/3*(parseInt(r(464))/4)+parseInt(r(1239))/5*(parseInt(r(712))/6)+parseInt(r(307))/7+-parseInt(r(729))/8*(-parseInt(r(452))/9)+parseInt(r(684))/10*(parseInt(r(1196))/11)+parseInt(r(444))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fc),Date[dc(603)]||(Date.now=function(){const e=dc;return(new Date)[e(768)]()}),console[dc(1105)](dc(402)+'"9-21-2024":"2.0.0"'+dc(305));var pc=mc;function mc(e,t){var r=vc();return(mc=function(e,t){return r[e-=343]})(e,t)}function vc(){var e=["154356OxOwRn","27zTUZaU","18970320fshDxU","1325152lGzfCt","181956bBCYJq","21dWOYAa","282804FnRUyl","3122985oeUnOV","2SbTDZg","postRun","577154miNeiN"];return(vc=function(){return e})()}!function(e,t){for(var r=mc,n=e();;)try{if(333788===-parseInt(r(352))/1+parseInt(r(350))/2*(-parseInt(r(353))/3)+parseInt(r(346))/4+-parseInt(r(349))/5+-parseInt(r(348))/6*(-parseInt(r(347))/7)+parseInt(r(345))/8*(-parseInt(r(343))/9)+parseInt(r(344))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(vc),f[pc(351)]=function(){!function(){const e=dc;let t=arguments[e(1073)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=[],o=[],a=null,c=null,u=null,l=null,d=null,f=null,h=!1,p=null,m=null,v=!1,g=!1,y=!!qt(n),_=0,b=0,w=!1,S=null,I=null,E=null,A=[],k=null,C=null,T=0,x=0,D=null,M=null,B=0,U=0,F=!1,P=!1,R=!1,L=null,O=null,N=!1,z=!0,H=0,V=0,G=()=>{const t=e,r=jt();return{debug:r.debug,debugLevel:r[t(445)],debugUuid:r.debugUuid,useOffscreen:r[t(961)],useWCS:r[t(1178)],useMSE:r[t(499)],videoBuffer:r[t(443)],videoBufferDelay:r[t(1094)],openWebglAlignment:r[t(853)],playType:r[t(431)],hasAudio:r[t(1151)],hasVideo:r.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(727)],playbackIsCacheBeforeDecodeForFpsRender:r[t(500)][t(827)],sampleRate:0,networkDelay:r[t(984)],visibility:!0,useSIMD:r[t(482)],isRecording:!1,recordType:r[t(651)],isNakedFlow:r[t(538)],checkFirstIFrame:r.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:r[t(677)],m7sCryptoAudio:r.m7sCryptoAudio,cryptoKey:r[t(503)],cryptoIV:r.cryptoIV,isSm4Crypto:r[t(352)],isSm4CryptoH265V2:r[t(997)],sm4CryptoKey:r[t(1175)],isXorCrypto:r[t(939)],isHls265:!1,isFlv:r[t(860)],isFmp4:r[t(530)],isMpeg4:r.isMpeg4,isTs:r[t(1025)],isEmitSEI:r[t(479)],isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r.isDropSameTimestampGop,mseDecodeAudio:r.mseDecodeAudio,wcsDecodeAudio:r[t(1112)],nakedFlowH265DemuxUseNew:r[t(512)],mseDecoderUseWorker:r[t(583)],mseAutoCleanupSourceBuffer:r[t(471)],mseAutoCleanupMaxBackwardDuration:r[t(661)],mseAutoCleanupMinBackwardDuration:r.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:r.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:r[t(572)],nakedFlowDemuxUseNew:r[t(957)],nakedFlowFps:r[t(1011)],supportMSEDecodeHevc:!1,checkStreamEnd:r[t(1041)]}};e(525)in self&&(a={TAG_NAME:e(504),hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;a[t(1140)]=new VideoDecoder({output:function(e){const r=t;if(Lt(e[r(1161)]))e[r(1161)]()[r(988)]((t=>{const n=r;a[n(1030)].drawImage(t,0,0,e[n(459)],e[n(654)]);let i=a[n(996)][n(1018)]();postMessage({cmd:Ce.render,buffer:i,delay:$[n(336)],ts:0},[i]),zt(e)}));else{a[r(1030)].drawImage(e,0,0,e[r(459)],e[r(654)]);let t=a[r(996)][r(1018)]();postMessage({cmd:Ce[r(830)],buffer:t,delay:$[r(336)],ts:0},[t]),zt(e)}},error:function(e){const r=t;$[r(873)](r(613),r(943),e,e[r(913)]())}}),$[t(419)](a[t(728)],t(516))},destroy(){const t=e;a[t(660)](),a[t(1140)]&&"closed"!==a[t(1140)].state&&(a[t(1140)].close(),a[t(1140)]=null),$.debugLog(a.TAG_NAME,t(829))},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(a[i(619)]){const e=new EncodedVideoChunk({data:t[i(705)](5),timestamp:r,type:s?ze[i(629)]:ze[i(1088)]});a[i(1140)][i(968)](e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:Ce[i(539)],code:e});const r=new Uint8Array(t);postMessage({cmd:Ce[i(1097)],buffer:r,codecId:e},[r[i(569)]]);let n=null,s=null;const o=t[i(705)](5);e===Pe[i(895)]?(s=_r(o),n={codec:s[i(781)],description:o}):e===Pe[i(788)]&&(s=Jr(o),n={codec:s.codec,description:o}),s&&s[i(849)]&&s[i(435)]&&(n.codedHeight=s.codecHeight,n.codedWidth=s.codecWidth),!a[i(393)]&&($[i(419)](i(613),i(678)),postMessage({cmd:Ce[i(469)],w:s[i(849)],h:s[i(435)]}),a[i(393)]=!0,a[i(996)]=new OffscreenCanvas(s.codecWidth,s.codecHeight),a.offscreenCanvasCtx=a[i(996)][i(659)]("2d"));try{a.decoder[i(1015)](n),a[i(619)]=!0}catch(e){$.debugError(i(613),i(859),e[i(1059)],e,e[i(913)]()),e[i(913)]()}}else $[i(571)]("worker",i(1028)+s+i(921)+t[1]+" so drop this frame")},reset(){const t=e;a[t(619)]=!1,a.isEmitInfo=!1,a[t(996)]=null,a.offscreenCanvasCtx=null}});let j=function(){const t=e;if(N=!0,c)try{c[t(359)](),c=null,$[t(419)](t(613),t(1205))}catch(e){c=null,$[t(419)](t(613),t(1047),e)}},W={TAG_NAME:e(558),init(){const t=e;W[t(907)]=null,W[t(672)]=null,W[t(551)]=null,W[t(1087)]=null,W[t(773)]=null,W.localDts=0,W.pendingUnits={},W[t(1098)]=!1,$[t(419)](W.TAG_NAME,t(516))},destroy(){const t=e;W[t(907)]=null,W.vps=null,W.sps=null,W.pps=null,W[t(773)]=null,W[t(719)]=0,W[t(716)]={},W[t(1098)]=!1,$.debugLog(W[t(728)],t(829))},dispatch(t){const r=e,n=new Uint8Array(t);if($._opt[r(957)]){const e=W[r(885)](n);if(0===e[r(1073)])return void $[r(419)](W[r(728)],"dispatch naluArray length is 0");W[r(425)](e)}else W[r(932)](n)},getNaluDts(){const t=e,r=$[t(710)][t(1011)];let n=W.localDts;return W[t(719)]=W[t(719)]+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=$._opt[t(474)],n=$[t(710)][t(354)];return W[t(719)]+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,o=t[r(1133)],a=0,c=[];for(;s1)for(let e=0;e{const t=r,n=kr(e);n===Oe[t(1087)]||n===Oe[t(551)]?W[t(1132)](e):Tr(n)&&i[t(644)](e)})),1===i[r(1073)])W[r(1132)](i[0]);else if(Dr(i)){const e=kr(i[0]),t=xr(e);W[r(821)](i,t,e)}else i[r(738)]((e=>{W[r(1132)](e)}))}else if(W[r(773)]===Re.h265)if($[r(710)][r(512)]){const e=W[r(871)](t),n=W.extractNALu(e);if(0===n[r(1073)])return void $[r(571)](r(613),r(881),r(1209));const i=[];if(n[r(738)]((e=>{const t=r,n=nn(e);n===Ne.pps||n===Ne[t(551)]||n===Ne.vps?W[t(1052)](e):on(n)&&i.push(e)})),1===i[r(1073)])W[r(1052)](i[0]);else if(un(i)){const e=nn(i[0]),t=an(e);W[r(524)](i,t,e)}else i[r(738)]((e=>{W[r(1052)](e)}))}else nn(t)===Ne[r(1087)]?W.extractH265PPS(t):W[r(1052)](t)},extractH264PPS(t){const r=e,n=W[r(871)](t);W.extractNALu(n)[r(738)]((e=>{const t=r;Cr(kr(e))?W[t(567)](e):W.handleVideoH264Nalu(e)}))},extractH265PPS(t){const r=e,n=W.handleAddNaluStartCode(t);W[r(1076)](n)[r(738)]((e=>{const t=r;sn(nn(e))?W[t(664)](e):W.handleVideoH265Nalu(e)}))},extractH264SEI(t){const r=e,n=W[r(871)](t);W[r(1076)](n)[r(738)]((e=>{W[r(1132)](e)}))},extractH265SEI(t){const r=e,n=W[r(871)](t);W[r(1076)](n)[r(738)]((e=>{W.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t.length+n.length);return i[r(304)](n),i[r(304)](t,n[r(1073)]),i},handleVideoH264Nalu(t){const r=e,n=kr(t);switch(n){case Oe[r(551)]:W[r(551)]=t;break;case Oe[r(1087)]:W.pps=t}if(W[r(1098)]){if(W[r(551)]&&W[r(1087)]){const e=Sr({sps:W[r(551)],pps:W.pps}),t=W[r(719)];$.decode(e,{type:Te[r(795)],ts:t,isIFrame:!0,cts:0}),W.sps=null,W.pps=null}if(Tr(n)){const e=xr(n),i=W[r(493)](),s=Er(t,e);W[r(387)](s,{type:Te[r(795)],ts:i,isIFrame:e,cts:0})}}else if(W[r(551)]&&W[r(1087)]){W[r(1098)]=!0;const e=Sr({sps:W[r(551)],pps:W[r(1087)]});$[r(968)](e,{type:Te[r(795)],ts:0,isIFrame:!0,cts:0}),W[r(551)]=null,W[r(1087)]=null}},handleVideoH264NaluList(t,r,n){const i=e;if(W[i(1098)]){const e=W[i(493)](),s=Ar(t.reduce(((e,t)=>{const r=i,n=At(e),s=At(t),o=new Uint8Array(n[r(1133)]+s[r(1133)]);return o[r(304)](n,0),o[r(304)](s,n[r(1133)]),o})),r);W.doDecode(s,{type:Te.video,ts:e,isIFrame:r,cts:0}),$[i(419)](i(613),i(523)+t[i(1073)]+i(584)+s[i(1133)]+i(900)+r+i(670)+n+i(627)+e)}},handleVideoH265Nalu(t){const r=e,n=nn(t);switch(n){case Ne[r(672)]:W[r(672)]=t;break;case Ne[r(551)]:W[r(551)]=t;break;case Ne[r(1087)]:W[r(1087)]=t}if(W[r(1098)]){if(W[r(672)]&&W[r(551)]&&W[r(1087)]){const e=en({vps:W[r(672)],sps:W[r(551)],pps:W[r(1087)]}),t=W[r(719)];$[r(968)](e,{type:Te[r(795)],ts:t,isIFrame:!0,cts:0}),W[r(672)]=null,W.sps=null,W.pps=null}if(on(n)){const e=an(n),i=W[r(493)](),s=tn(t,e);W[r(387)](s,{type:Te[r(795)],ts:i,isIFrame:e,cts:0})}}else if(W[r(672)]&&W[r(551)]&&W.pps){W[r(1098)]=!0;const e=en({vps:W[r(672)],sps:W.sps,pps:W[r(1087)]});$[r(968)](e,{type:Te[r(795)],ts:0,isIFrame:!0,cts:0}),W[r(672)]=null,W[r(551)]=null,W[r(1087)]=null}},handleVideoH265NaluList(t,r,n){const i=e;if(W[i(1098)]){const e=W[i(493)](),s=rn(t[i(1237)](((e,t)=>{const r=i,n=At(e),s=At(t),o=new Uint8Array(n[r(1133)]+s[r(1133)]);return o.set(n,0),o[r(304)](s,n[r(1133)]),o})),r);W[i(387)](s,{type:Te[i(795)],ts:e,isIFrame:r,cts:0}),$[i(419)]("worker","handleVideoH265NaluList list size is "+t.length+i(584)+s[i(1133)]+i(900)+r+i(670)+n+i(627)+e)}},doDecode(t,r){const n=e;$[n(639)](r.ts),r[n(1152)]&&$[n(769)](r.ts),$.decode(t,r)},handleVideoFrames(t){const r=e;if(!W.streamVideoType)for(let e of t)if(W[r(586)]=Ot(e),W[r(586)])break;W[r(586)]?W[r(586)]===Re.h264?W.handleVideoH264Frames(t):W[r(586)]===Re[r(788)]&&W[r(800)](t):$[r(571)](r(613),r(425),"streamVideoType is null")},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;W.pendingUnits[r(732)]&&(n=W[r(716)][r(732)],o=W[r(716)].vcl,s=W[r(716)][r(600)],W[r(716)]={});let a={};for(let e of t){if(e[r(1133)]<4)continue;const t=kr(e);let c=!1,u=t===Oe[r(335)];(t===Oe[r(534)]||t===Oe.kSliceIDR)&&(a=W.parseVideo264Header(e),c=!0),n[r(1073)]&&o&&(a[r(361)]||!c)&&(i[r(644)]({units:n,isIFrame:s}),n=[],s=!1,o=!1),n.push(e),s=s||u,o=o||c}n.length&&(W[r(716)]={units:n,vcl:o,iFrame:s}),i[r(738)]((e=>{const t=r,n=e.units,i=e[t(1152)];let s=null,o=null;if(n[t(738)]((e=>{const r=t,n=31&e[0];switch(n){case Oe.pps:W[r(1087)]=e;break;case Oe[r(551)]:W[r(551)]=e;break;case Oe.kSliceSEI:o=e}if(Tr(n)){const t=At(e);if(s){const e=new Uint8Array(s[r(1133)]+t[r(1133)]);e[r(304)](s,0),e[r(304)](t,s.byteLength),s=e}else s=t}})),!W[t(1098)]&&W[t(551)]&&W[t(1087)]){W[t(1098)]=!0;const e=Ir({sps:W[t(551)],pps:W[t(1087)]});$.decode(e,{type:Te[t(795)],ts:0,isIFrame:!0,cts:0}),W[t(551)]=null,W[t(1087)]=null}if(W.isSendSeqHeader){if(W[t(551)]&&W[t(1087)]){const e=Ir({sps:W[t(551)],pps:W[t(1087)]}),r=W[t(719)];$[t(968)](e,{type:Te[t(795)],ts:r,isIFrame:!0,cts:0}),W[t(551)]=null,W[t(1087)]=null}if(s){const e=W.getNaluDts(),r=Ar(s,i);if($._opt[t(479)]&&o){const r=Et(o,!1);postMessage({cmd:Ce[t(959)],buffer:r[t(1179)],ts:e},[r[t(1179)][t(569)]])}W[t(387)](r,{type:Te.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;W[r(716)][r(732)]&&(n=W[r(716)].units,o=W[r(716)][r(341)],s=W[r(716)][r(600)],W[r(716)]={});let a={};for(let e of t){if(e[r(1133)]<4)continue;const t=nn(e);let c=!1,u=an(t);on(t)&&(a=W.parseVideo265Header(e),c=!0),n[r(1073)]&&o&&(a[r(361)]||!c)&&(i[r(644)]({units:n,isIFrame:s}),n=[],s=!1,o=!1),n.push(e),s=s||u,o=o||c}n.length&&(W[r(716)]={units:n,vcl:o,iFrame:s}),i[r(738)]((e=>{const t=r,n=e[t(732)],i=e[t(1152)];let s=null,o=null;if(n[t(738)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Ne[r(1087)]:W[r(1087)]=e;break;case Ne[r(551)]:W[r(551)]=e;break;case Ne[r(672)]:W[r(672)]=e;break;case Ne[r(541)]:case Ne[r(1223)]:o=e}if(on(n)){const t=At(e);if(s){const e=new Uint8Array(s[r(1133)]+t[r(1133)]);e[r(304)](s,0),e[r(304)](t,s[r(1133)]),s=e}else s=t}})),!W[t(1098)]&&W.sps&&W[t(1087)]&&W[t(672)]){W[t(1098)]=!0;const e=en({sps:W[t(551)],pps:W.pps,vps:W[t(672)]});$.decode(e,{type:Te.video,ts:0,isIFrame:!0,cts:0}),W[t(551)]=null,W[t(1087)]=null,W[t(672)]=null}if(W.isSendSeqHeader){if(W[t(551)]&&W[t(1087)]&&W[t(672)]){const e=en({sps:W.sps,pps:W.pps,vps:W[t(672)]}),r=W.localDts;$[t(968)](e,{type:Te[t(795)],ts:r,isIFrame:!0,cts:0}),W[t(551)]=null,W[t(1087)]=null,W[t(672)]=null}if(s){const e=W[t(493)](),r=rn(s,i);if($[t(710)][t(479)]&&o){const r=Et(o,!0);postMessage({cmd:Ce[t(959)],buffer:r.payload,ts:e},[r[t(1179)].buffer])}W.doDecode(r,{type:Te.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(t){const r=e;t[r(738)]((e=>{W[r(881)](e)}))},parseVideo264Header(t){const r=e,n=new Xa(t);return n[r(457)](),{isfms:0===n.readUEG(),sType:n[r(308)]()}},parseVideo265Header(t){const r=e,n=new Xa(t);return n[r(457)](),{nalType:n.readBits(6),isfms:0===n[r(1016)](1),sType:n[r(1016)](3)}}},q={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;q.mp4Box=Io[t(1110)](),q[t(1144)][t(1195)]=q.onReady,q[t(1144)].onError=q[t(462)],q[t(1144)][t(430)]=q[t(430)],$[t(419)](q.LOG_NAME,t(516))},destroy(){const t=e;q[t(1144)]&&(q[t(1144)][t(990)](),q[t(1144)][t(1064)](),q[t(1144)][t(829)](),q[t(1144)]=null),q.offset=0,q.videoTrackId=null,q[t(944)]=null,q[t(735)]=!1,$.debugLog(q[t(1192)],t(829))},_getSeqHeader(t){const r=e,n=q[r(1144)][r(820)](t.id);for(const e of n[r(848)][r(476)][r(731)][r(441)].entries)if(e[r(485)]||e.hvcC){const t=new Io.DataStream(void 0,0,Io[r(370)].BIG_ENDIAN);let n=[];e.avcC?(e[r(485)][r(850)](t),n=[23,0,0,0,0]):(q[r(735)]=!0,$[r(735)]=!0,e.hvcC[r(850)](t),n=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),s=new Uint8Array(n.length+i[r(1073)]);return s[r(304)](n,0),s[r(304)](i,n[r(1073)]),s}return null},onReady(t){const r=e;$[r(419)](q.LOG_NAME,r(1086));const n=t[r(346)][0],i=t[r(374)][0];if(n){q[r(886)]=n.id;const e=q[r(1240)](n);e&&($[r(419)](q[r(1192)],r(366)),$[r(931)](e,0,!0,0)),q[r(1144)][r(695)](n.id)}if(i&&$[r(710)][r(1151)]){q.audioTrackId=i.id;const e=i[r(1066)]||{},t=ft[r(1075)](e.sample_rate),n=i[r(781)][r(1183)]("mp4a.40.","");q.mp4Box[r(695)](i.id);const s=ht({profile:parseInt(n,10),sampleRate:t,channel:e[r(453)]});$.debugLog(q.LOG_NAME,r(657)),$.decodeAudio(s,0)}q[r(1144)][r(480)]()},onError(t){const r=e;$[r(873)](q.LOG_NAME,r(782),t)},onSamples(t,r,n){const i=e;if(t===q[i(886)]){for(const e of n){const t=e[i(702)],r=e[i(563)],n=1e3*e[i(847)]/e[i(321)];e[i(1053)],e[i(321)],r&&$[i(769)](n);let s=null;s=q[i(735)]?rn(t,r):Ar(t,r),$[i(968)](s,{type:Te[i(795)],ts:n,isIFrame:r,cts:0})}q[i(1144)][i(1145)](t)}else if(t===q[i(944)]){if($[i(710)][i(1151)]){for(const e of n){const t=e.data,r=1e3*e.cts/e[i(321)];e[i(1053)],e.timescale;const n=new Uint8Array(t[i(1133)]+2);n[i(304)]([175,1],0),n.set(t,2),$.decode(n,{type:Te.audio,ts:r,isIFrame:!1,cts:0})}q[i(1144)][i(1145)](t)}}else $[i(571)](q.LOG_NAME,i(324),t)},dispatch(t){const r=e;let n=new Uint8Array(t);n.buffer[r(405)]=q[r(1021)],q[r(1021)]+=n[r(1133)],q[r(1144)].appendBuffer(n[r(569)])}},Y={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(516),hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);Y.extractNALu(t)},destroy(){const t=e;Y[t(632)]=new Uint8Array(0),Y[t(492)]=0,Y[t(561)]=0,Y.secondStartCodeOffset=0,Y[t(912)]=t(516),Y.hasInitVideoCodec=!1,Y[t(719)]=0,$.debugLog(Y.LOG_NAME,t(829))},extractNALu(t){const r=e;if(!t||t[r(1133)]<1)return void $.debugWarn(Y[r(1192)],r(610),t);const n=new Uint8Array(Y.lastBuffer[r(1073)]+t.length);for(n[r(304)](Y[r(632)],0),n[r(304)](new Uint8Array(t),Y.lastBuffer.length),Y[r(632)]=n;;){if(Y[r(912)]===r(516)){let e=!1;for(;Y[r(632)].length-Y[r(492)]>=4;)if(0===Y[r(632)][Y.parsedOffset])if(0===Y[r(632)][Y[r(492)]+1])if(1===Y[r(632)][Y.parsedOffset+2]){if(182===Y.lastBuffer[Y[r(492)]+3]){Y[r(912)]=r(389),Y[r(561)]=Y.parsedOffset,Y[r(492)]+=4,e=!0;break}Y[r(492)]++}else Y[r(492)]++;else Y.parsedOffset++;else Y[r(492)]++;if(e)continue;break}if("findFirstStartCode"===Y.state){let e=!1;for(;Y.lastBuffer.length-Y[r(492)]>=4;)if(0===Y[r(632)][Y[r(492)]])if(0===Y[r(632)][Y[r(492)]+1])if(1===Y[r(632)][Y[r(492)]+2]){if(182===Y[r(632)][Y[r(492)]+3]){Y[r(912)]="findSecondStartCode",Y[r(557)]=Y.parsedOffset,Y[r(492)]+=4,e=!0;break}Y.parsedOffset++}else Y.parsedOffset++;else Y[r(492)]++;else Y[r(492)]++;if(e)continue;break}if(Y[r(912)]===r(1027)){if(!(Y[r(632)].length-Y[r(492)]>0))break;{let e,t=192&Y[r(632)][Y[r(492)]];e=0==t?Y.secondStartCodeOffset-14:Y[r(557)];let n,i=0==(192&Y[r(632)][Y[r(561)]+4]);if(i){if(Y[r(561)]-14<0)return void $[r(571)](Y[r(1192)],r(316),Y[r(561)]-14);!Y.hasInitVideoCodec&&(Y[r(1102)]=!0,$[r(419)](Y[r(1192)],r(1008)),Z[r(1008)](Pe[r(743)],"",$.getBuildTime())),n=Y[r(632)][r(314)](Y[r(561)]-14,e)}else n=Y[r(632)][r(314)](Y[r(561)],e);let s=Y[r(493)]();Y[r(1102)]?(postMessage({cmd:Ce.workerFetch,type:Me[r(400)],value:n.byteLength}),postMessage({cmd:Ce.workerFetch,type:Me[r(736)],value:s}),_=s,Z[r(968)](n,i?1:0,s)):$[r(571)](Y[r(1192)],r(439)),Y[r(632)]=Y[r(632)][r(314)](e),0==t?Y[r(561)]=14:Y.firstStartCodeOffset=0,Y[r(492)]=Y[r(561)]+4,Y[r(912)]=r(389)}}}},getNaluDts(){const t=e;let r=Y[t(719)];return Y[t(719)]=Y[t(719)]+40,r}},K={TAG_NAME:e(372),first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Ga,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;K[t(662)]=null,K[t(489)]=null,K.section_slice_queues_=null,K.video_metadata_=null,K[t(879)]=null,K.aac_last_incomplete_data_=null,K[t(568)]=null,K.audio_track_=null,K[t(465)]=null,$.debugLog(K[t(728)],t(829))},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n.byteLength<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(999)](1e3,n[r(1133)]-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;K[r(465)]&&(t=pa(K[r(465)],t),K._remainingPacketData=null);let n=t[r(569)];const i=K[r(778)](n);i?K[r(465)]=t.subarray(i):t[r(1073)]>>6;e[1];let o=(31&e[1])<<8|e[2],a=(48&e[3])>>>4,c=15&e[3],u=!(!K.pmt_||K[r(1068)][r(615)]!==o),l={},d=4;if(2==a||3==a){let t=e[4];if(t>0&&(u||3==a)&&(l.discontinuity_indicator=(128&e[5])>>>7,l[r(926)]=(64&e[5])>>>6,l.elementary_stream_priority_indicator=(32&e[5])>>>5,(16&e[5])>>>4)){let t=300*(e[6]<<25|e[7]<<17|e[8]<<9|e[9]<<1|e[10]>>>7)+((1&e[10])<<8|e[11]);K[r(888)]=t}if(2==a||5+t===188){n+=188,204===K[r(1034)]&&(n+=16);continue}d=5+t}if(1==a||3==a)if(0===o||o===K[r(491)]||null!=K.pmt_&&K[r(1068)][r(635)][o]===Oa[r(903)]){let e=188-d;K.handleSectionSlice(t,n+d,e,{pid:o,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(926)]})}else if(null!=K[r(1068)]&&null!=K[r(1068)].pid_stream_type[o]){let e=188-d,i=K[r(1068)][r(635)][o];(o===K.pmt_[r(540)][r(895)]||o===K[r(1068)][r(540)].h265||o===K[r(1068)].common_pids.adts_aac||o===K[r(1068)][r(540)][r(550)]||o===K[r(1068)][r(540)].ac3||o===K[r(1068)][r(540)][r(1191)]||o===K[r(1068)][r(540)].opus||o===K[r(1068)][r(540)].mp3||!0===K[r(1068)].pes_private_data_pids[o]||!0===K[r(1068)].timed_id3_pids[o]||!0===K[r(1068)][r(767)][o]||!0===K[r(1068)][r(426)][o])&&K[r(717)](t,n+d,e,{pid:o,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(926)]})}n+=188,204===K[r(1034)]&&(n+=16)}return K[r(432)](),n},handleSectionSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=K[s(973)][i[s(529)]];if(i[s(362)]){let e=o[0];if(null!=a&&0!==a[s(380)]){let o=new Uint8Array(t,r+1,Math.min(n,e));a.slices.push(o),a[s(380)]+=o[s(1133)],a[s(380)]===a[s(833)]?K.emitSectionSlices(a,i):K[s(1092)](a,i)}for(let c=1+e;c=a.expected_length&&K[s(1092)](a,i),c+=u[s(1133)]}}else if(null!=a&&0!==a[s(380)]){let e=new Uint8Array(t,r,Math[s(999)](n,a.expected_length-a[s(380)]));a[s(1217)].push(e),a.total_length+=e[s(1133)],a[s(380)]===a[s(833)]?K[s(665)](a,i):a.total_length>=a[s(833)]&&K[s(1092)](a,i)}},handlePESSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=o[0]<<16|o[1]<<8|o[2];o[3];let c=o[4]<<8|o[5];if(i[s(362)]){if(1!==a)return void $[s(571)](K.TAG_NAME,s(815)+a);let e=K[s(489)][i[s(529)]];e&&(0===e[s(833)]||e[s(833)]===e.total_length?K[s(306)](e,i):K.clearSlices(e,i)),K[s(489)][i[s(529)]]=new Na,K.pes_slice_queues_[i[s(529)]].random_access_indicator=i.random_access_indicator}if(null==K[s(489)][i[s(529)]])return;let u=K[s(489)][i[s(529)]];u[s(1217)][s(644)](o),i[s(362)]&&(u[s(833)]=0===c?0:c+6),u[s(380)]+=o[s(1133)],u.expected_length>0&&u[s(833)]===u[s(380)]?K.emitPESSlices(u,i):u[s(833)]>0&&u.expected_length>>6,c=n[8];(2===a||3===a)&&(e=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,i=3===a?536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2:e);let u,l=9+c;if(0!==o){if(o<3+c)return void $.debugWarn(K[r(728)],"Malformed PES: PES_packet_length < 3 + PES_header_data_length");u=o-3-c}else u=n[r(1133)]-l;let d=n[r(314)](l,l+u);switch(t.stream_type){case Oa[r(399)]:case Oa[r(746)]:K.parseMP3Payload(d,e);break;case Oa[r(506)]:K[r(1068)][r(540)][r(337)]===t[r(529)]?K.parseOpusPayload(d,e):K[r(1068)][r(540)][r(1216)]===t[r(529)]?K[r(855)](d,e):K[r(1068)][r(540)][r(1191)]===t.pid?K[r(1134)](d,e):K[r(1068)][r(426)][t[r(529)]]?K.parseAsynchronousKLVMetadataPayload(d,t[r(529)],s):K[r(1068)][r(1193)][t[r(529)]]?K[r(880)](d,e,i,t[r(529)],s):K[r(919)](d,e,i,t[r(529)],s);break;case Oa[r(965)]:K[r(607)](d,e);break;case Oa[r(1101)]:K[r(510)](d,e);break;case Oa[r(327)]:K.parseAC3Payload(d,e);break;case Oa[r(628)]:K.parseEAC3Payload(d,e);break;case Oa.kMetadata:K[r(1068)][r(386)][t[r(529)]]?K[r(543)](d,e,i,t.pid,s):K[r(1068)][r(767)][t[r(529)]]&&K[r(884)](d,e,i,t.pid,s);break;case Oa[r(608)]:K[r(1158)](d,e,i,t[r(926)]);break;case Oa[r(535)]:K[r(1130)](d,e,i,t[r(926)])}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&t[r(976)]===Oa[r(506)]){let e,i=6;e=0!==o?o:n.byteLength-i;let a=n[r(314)](i,i+e);K.parsePESPrivateDataPayload(a,void 0,void 0,t.pid,s)}}else $.debugError(K[r(728)],r(377)+i)},parsePAT(t){const r=e;let n=t[0];if(0!==n)return void Log.e(K[r(1124)],r(882)+n+r(1090));let i=(15&t[1])<<8|t[2];t[3],t[4];let s=(62&t[5])>>>1,o=1&t[5],a=t[6];t[7];let c=null;if(1===o&&0===a)c={version_number:0,network_pid:0,program_pmt_pid:{}},c[r(868)]=s;else if(c=K[r(866)],null==c)return;let u=i-5-4,l=-1,d=-1;for(let e=8;e<8+u;e+=4){let n=t[e]<<8|t[e+1],i=(31&t[e+2])<<8|t[e+3];0===n?c[r(689)]=i:(c[r(824)][n]=i,-1===l&&(l=n),-1===d&&(d=i))}1===o&&0===a&&(null==K[r(866)]&&$[r(419)](K[r(728)],r(675)+JSON[r(1187)](c)),K[r(866)]=c,K.current_program_=l,K.current_pmt_pid_=d)},parsePMT(t){const r=e;let n=t[0];if(2!==n)return void $[r(873)](K[r(728)],r(1227)+n+r(742));let i,s=(15&t[1])<<8|t[2],o=t[3]<<8|t[4],a=(62&t[5])>>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)i=K[r(666)](),i[r(1040)]=o,i[r(868)]=a,K[r(902)][o]=i;else if(i=K[r(902)][o],null==i)return;i[r(615)]=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],d=12+l,f=s-9-l-4;for(let e=d;e0){for(let n=e+5;n0)for(let n=e+5;n1&&($[n(571)](K.TAG_NAME,n(852)+(n(1137)+e+"ms, PES pts: ")+s+"ms"),s=e)}}let o,a=new bt(t),c=null,u=s;for(;null!=(c=a.readNextAACFrame());){i=1024/c[n(869)]*1e3;const e={codec:n(779),data:c};0==K[n(1141)]?(K.audio_metadata_={codec:n(779),audio_object_type:c.audio_object_type,sampling_freq_index:c.sampling_freq_index,sampling_frequency:c[n(869)],channel_config:c.channel_config},K[n(1003)](e)):K[n(730)](e)&&(K[n(630)](),K.dispatchAudioInitSegment(e)),o=u;let t=Math[n(799)](u);const r=new Uint8Array(c[n(702)][n(1073)]+2);r[n(304)]([175,1],0),r[n(304)](c.data,2);let s={payload:r,length:r[n(1133)],pts:t,dts:t,type:Te[n(1066)]};K.audio_track_[n(495)][n(644)](s),K.audio_track_[n(1073)]+=r[n(1133)],u+=i}a[n(789)]()&&(K[n(417)]=a.getIncompleteData()),o&&(K[n(508)]=o)},parseLOASAACPayload(t,r){const n=e;if(K[n(1146)]&&!K[n(1225)])return;if(K[n(417)]){let e=new Uint8Array(t.byteLength+K[n(417)][n(1133)]);e[n(304)](K[n(417)],0),e.set(t,K[n(417)][n(1133)]),t=e}let i,s;if(null!=r&&(s=r/K[n(671)]),K[n(879)].codec===n(779)){if(null==r&&null!=K.audio_last_sample_pts_)i=1024/K[n(879)][n(869)]*1e3,s=K[n(508)]+i;else if(null==r)return void $[n(571)](K[n(728)],n(1009));if(K[n(417)]&&K[n(508)]){i=1024/K[n(879)].sampling_frequency*1e3;let e=K[n(508)]+i;Math.abs(e-s)>1&&($[n(571)](K[n(1124)],n(852)+(n(1137)+e+n(596)+s+"ms")),s=e)}}let o,a=new wt(t),c=null,u=s;for(;null!=(c=a[n(507)](Pt(K[n(1007)])?void 0:K[n(1007)]));){K[n(1007)]=c,i=1024/c[n(869)]*1e3;const e={codec:n(779),data:c};0==K[n(1141)]?(K[n(879)]={codec:"aac",audio_object_type:c[n(323)],sampling_freq_index:c[n(977)],sampling_frequency:c[n(869)],channel_config:c[n(520)]},K.dispatchAudioInitSegment(e)):K[n(730)](e)&&(K[n(630)](),K[n(1003)](e)),o=u;let t=Math[n(799)](u);const r=new Uint8Array(c[n(702)][n(1073)]+2);r[n(304)]([175,1],0),r[n(304)](c[n(702)],2);let s={payload:r,length:r[n(1133)],pts:t,dts:t,type:Te.audio};K.audio_track_[n(495)][n(644)](s),K[n(411)][n(1073)]+=r.byteLength,u+=i}a[n(789)]()&&(K[n(417)]=a[n(832)]()),o&&(K[n(508)]=o)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(K[n(1146)]&&!K[n(1225)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],o=[11025,12e3,8e3,0],a=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,f=34;switch(n(589),a){case 0:d=o[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:f=34;break;case 2:f=33;break;case 3:f=32,n(1073)}const h={};h[n(1185)]=f,h.sample_rate=d,h.channel_count=l,h[n(702)]=t;const p={codec:n(589),data:h};0==K[n(1141)]?(K[n(879)]={codec:n(589),object_type:f,sample_rate:d,channel_count:l},K.dispatchAudioInitSegment(p)):K[n(730)](p)&&(K.dispatchAudioMediaSegment(),K[n(1003)](p));let m={payload:t,length:t[n(1133)],pts:r/K[n(671)],dts:r/K[n(671)],type:Te.audio};K[n(411)][n(495)][n(644)](m),K[n(411)][n(1073)]+=t[n(1133)]},detectAudioMetadataChange(t){const r=e;if(t[r(781)]!==K.audio_metadata_.codec)return $.debugLog(K.TAG_NAME,r(521)+(K[r(879)][r(781)]+r(697)+t[r(781)])),!0;if(t[r(781)]===r(779)&&K[r(879)].codec===r(779)){const e=t[r(702)];if(e[r(323)]!==K[r(879)].audio_object_type)return $.debugLog(K[r(728)],r(1172)+(K[r(879)][r(323)]+" to ")+e[r(323)]),!0;if(e[r(977)]!==K.audio_metadata_[r(977)])return $[r(419)](K.TAG_NAME,r(822)+(K.audio_metadata_.sampling_freq_index+r(697)+e.sampling_freq_index)),!0;if(e[r(520)]!==K[r(879)][r(520)])return $.debugLog(K.TAG_NAME,"AAC: Channel configuration changed from "+(K[r(879)][r(520)]+r(697)+e[r(520)])),!0}else if(t[r(781)]===r(313)&&"ac-3"===K[r(879)][r(781)]){const e=t[r(702)];if(e[r(869)]!==K.audio_metadata_[r(869)])return $[r(419)](K[r(728)],r(843)+(K[r(879)].sampling_frequency+r(697)+e[r(869)])),!0;if(e.bit_stream_identification!==K[r(879)].bit_stream_identification)return $.debugLog(K[r(728)],r(412)+(K[r(879)][r(911)]+r(697)+e.bit_stream_identification)),!0;if(e.bit_stream_mode!==K.audio_metadata_[r(416)])return $[r(419)](K[r(728)],r(1104)+(K[r(879)][r(416)]+r(697)+e[r(416)])),!0;if(e.channel_mode!==K[r(879)][r(392)])return $.debugLog(K.TAG_NAME,"AC3: Channel Mode changed from "+K[r(879)].channel_mode+" to "+e[r(392)]),!0;if(e[r(1058)]!==K[r(879)].low_frequency_effects_channel_on)return $.debugLog(K[r(728)],r(409)+(K[r(879)][r(1058)]+r(697)+e.low_frequency_effects_channel_on)),!0}else if(t[r(781)]===r(337)&&K[r(879)][r(781)]===r(337)){const e=t[r(1072)];if(e[r(893)]!==K[r(879)][r(893)])return $[r(419)](K[r(728)],r(481)+(K[r(879)][r(893)]+" to ")+e[r(893)]),!0;if(e[r(453)]!==K[r(879)][r(453)])return $.debugLog(K[r(728)],r(814)+(K[r(879)][r(453)]+r(697)+e[r(453)])),!0}else if(t.codec===r(589)&&K.audio_metadata_[r(781)]===r(589)){const e=t[r(702)];if(e.object_type!==K[r(879)][r(1185)])return $[r(419)](K[r(728)],"MP3: AudioObjectType changed from "+(K[r(879)][r(1185)]+r(697)+e[r(1185)])),!0;if(e.sample_rate!==K.audio_metadata_[r(893)])return $[r(419)](K.TAG_NAME,r(696)+(K[r(879)][r(893)]+" to ")+e[r(893)]),!0;if(e[r(453)]!==K[r(879)][r(453)])return $.debugLog(K[r(728)],r(1095)+(K[r(879)][r(453)]+r(697)+e[r(453)])),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n.type=r(1066),n.id=K.audio_track_.id,n[r(321)]=1e3,n[r(1053)]=K[r(1201)],K.audio_metadata_[r(781)]===r(779)){let e=t.codec===r(779)?t[r(702)]:null,i=new Wa(e);n.audioSampleRate=i[r(1184)],n[r(765)]=i.sampling_index,n[r(681)]=i.channel_count,n[r(781)]=i[r(595)],n[r(1138)]=i[r(981)],n[r(1229)]=i.config,n[r(369)]=1024/n[r(365)]*n[r(321)],r(759);const s=ht({profile:$[r(710)][r(429)]?i[r(1185)]:i[r(809)],sampleRate:n.audioSampleRateIndex,channel:n[r(681)]});$.decodeAudio(s,0)}else"ac-3"===K[r(879)][r(781)]||"ec-3"===K[r(879)][r(781)]||K.audio_metadata_[r(781)]===r(337)||K[r(879)].codec===r(589)&&(n[r(365)]=K[r(879)].sample_rate,n[r(681)]=K[r(879)].channel_count,n[r(781)]="mp3",n[r(1138)]=r(589),n[r(1229)]=void 0);0==K.audio_init_segment_dispatched_&&$[r(419)](K[r(728)],r(648)+n.codec),K[r(1141)]=!0,K.video_metadata_changed_=!1;let i=K[r(662)];i[r(1151)]=!0,i[r(640)]=n[r(1138)],i[r(365)]=n[r(365)],i[r(721)]=n[r(681)],i.hasVideo&&i.videoCodec?i.mimeType='video/mp2t; codecs="'+i[r(1097)]+","+i[r(640)]+'"':i.mimeType=r(490)+i[r(640)]+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s[i(529)]=t,s[i(976)]=r,s[i(837)]=n},parsePESPrivateDataPayload(t,r,n,i,s){const o=e;let a=new Ha;if(a.pid=i,a.stream_id=s,a[o(347)]=t[o(1133)],a[o(702)]=t,null!=r){let e=Math[o(799)](r/K[o(671)]);a[o(700)]=e}else a[o(803)]=K.getNearestTimestampMilliseconds();if(null!=n){let e=Math[o(799)](n/K[o(671)]);a[o(923)]=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const o=e;$.debugLog(K.TAG_NAME,o(938)+i+", pts="+r+o(1042)+n+", stream_id="+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const o=e;$[o(419)](K[o(728)],o(936)+i+o(683)+r+", dts="+n+o(609)+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;$.debugLog(K[i(728)],i(846)+r+i(609)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const o=e;$[o(419)](K[o(728)],o(954)+i+", pts="+r+o(1042)+n+", stream_id="+s)},getNearestTimestampMilliseconds(){const t=e;return null!=K.audio_last_sample_pts_?Math[t(799)](K[t(508)]):null!=K[t(888)]?Math[t(799)](K.last_pcr_/300/K[t(671)]):void 0},_preDoDecode(){const t=e,r=K[t(568)],n=K[t(411)];let i=r[t(495)];n.samples[t(1073)]>0&&(i=r[t(495)][t(910)](n.samples),i=i[t(433)](((e,t)=>e.dts-t.dts))),i.forEach((e=>{const r=t,n=new Uint8Array(e[r(1179)]);delete e[r(1179)],e[r(1078)]===Te[r(795)]?K[r(763)]({...e,payload:n}):e[r(1078)]===Te[r(1066)]&&K[r(582)]({...e,payload:n})})),r[t(495)]=[],r[t(1073)]=0,n[t(495)]=[],n.length=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t.payload);let i=null;i=t[r(735)]?rn(n,t[r(1152)]):Ar(n,t.isIFrame),t[r(1152)]&&$[r(769)](t[r(923)]);let s=$.cryptoPayload(i,t.isIFrame);$[r(968)](s,{type:Te[r(795)],ts:t[r(923)],isIFrame:t.isIFrame,cts:t.cts})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(1179)]);let i=n;qt($[r(710)][r(344)])&&(i=$[r(549)](n)),$.decode(i,{type:Te[r(1066)],ts:t[r(923)],isIFrame:!1,cts:0})}},X=null;Kt()&&(X={TAG_NAME:e(1084),_resetInIt(){const t=e;X.isAvc=null,X.isAAC=null,X.videoInfo={},X[t(1037)]={},X[t(1219)]={},X[t(749)]=null,X[t(514)]=null,X[t(619)]=!1,X[t(669)]=!1,X.isAudioInitInfo=!1,X.videoMimeType="",X[t(1160)]="",X.cacheTrack={},X[t(691)]={},X[t(725)]=!1,X[t(1169)]=0,X[t(424)]=0,X[t(646)]=null,X[t(562)]=null,X[t(1232)]=!1,X[t(578)]=!1,X.mediaSourceAddSourceBufferError=!1,X[t(498)]=!1,X[t(1071)]=!1,X[t(446)]=null,X.decodeDiffTimestamp=null,X[t(650)]=null,X[t(851)]=null,X.prevPayloadBufferSize=0,X[t(1197)]=!1,X.prevTs=null,X[t(447)]=null,X[t(876)]=[],X[t(518)]=[],X[t(1243)]=[],X[t(1202)]=[],X[t(545)]=[],X[t(528)]=null,X.audioSourceBufferCheckTimeout=null,X.audioSourceNoDataCheckTimeout=null,X[t(325)]=!1,X.$video={currentTime:0,readyState:0}},init(){const t=e;X[t(1048)]=new ya,X[t(1116)](),X[t(1043)]=new(self[t(792)]),X[t(1091)]=!!Yt($[t(710)][t(874)]),X[t(841)](),$[t(419)](X[t(728)],t(516))},destroy(){const t=e;X[t(990)](),X[t(576)](),X[t(876)]&&X[t(876)][t(1073)]&&(X[t(876)][t(738)]((e=>e())),X.eventListenList=[]),X[t(1116)](),X[t(1043)]=null,$.debugLog(X[t(728)],"destroy")},getState(){const t=e;return X[t(1043)]&&X[t(1043)][t(870)]},isStateOpen(){const t=e;return X[t(395)]()===Ve[t(1111)]},isStateClosed(){const t=e;return X[t(395)]()===Ve[t(401)]},isStateEnded:()=>X[e(395)]()===Ve.ended,_bindMediaSourceEvents(){const t=e,{proxy:r}=X[t(1048)],n=r(X[t(1043)],Ge[t(536)],(()=>{const e=t;$.debugLog(X.TAG_NAME,e(536)),X._onMediaSourceSourceOpen()})),i=r(X[t(1043)],Ge[t(663)],(()=>{const e=t;$[e(419)](X[e(728)],"sourceClose")})),s=r(X.mediaSource,Ge.sourceended,(()=>{const e=t;$[e(419)](X[e(728)],e(450))}));X[t(876)][t(644)](n,i,s)},_onMediaSourceSourceOpen(){const t=e;!X[t(749)]&&($.debugLog(X[t(728)],t(987)),X[t(817)]()),!X.audioSourceBuffer&&($.debugLog(X[t(728)],"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),X._initAudioSourceBuffer()),X[t(969)]()&&X[t(1033)]()},decodeVideo(t,r,n,i){const s=e;if($[s(1013)])$[s(571)](X[s(728)],s(1038));else if(Yt(X[s(619)]))if(n&&t[1]===Ye[s(577)]){const e=15&t[0];if(e===Pe[s(788)]&&Yt($[s(710)].supportMSEDecodeHevc))return void X[s(1108)](Ue[s(302)]);X[s(766)].codec=e,postMessage({cmd:Ce[s(539)],code:e});const i=new Uint8Array(t);postMessage({cmd:Ce[s(1097)],buffer:i,codecId:e},[i.buffer]),X[s(619)]=X._decodeConfigurationRecord(t,r,n,e)}else $[s(571)](X[s(728)],s(1056)+n+s(921)+t[1]+s(634));else if(!X.isDecodeFirstIIframe&&n&&(X[s(1091)]=!0),X[s(1091)]){if(n&&0===t[1]){const e=15&t[0];let r={};e===Pe[s(895)]?r=_r(t[s(705)](5)):e===Pe[s(788)]&&(r=$r(t));const n=X[s(766)];n&&n[s(590)]&&n[s(585)]&&r&&r[s(849)]&&r[s(435)]&&(r.codecWidth!==n[s(590)]||r[s(435)]!==n[s(585)])&&($.debugWarn(X.TAG_NAME,"\n decodeVideo: video width or height is changed,\n old width is "+n.width+s(574)+n[s(585)]+s(349)+r[s(849)]+", new height is "+r.codecHeight+s(918)),X.isWidthOrHeightChanged=!0,X[s(1108)](Ue[s(1127)],s(949)+n[s(590)]+"->"+r[s(849)]+s(1044)+n[s(585)]+"->"+r[s(435)]))}if(X[s(1197)])return void $.debugWarn(X.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(Wt(t))return void $.debugLog(X[s(728)],s(724));if(t[s(1133)]0&&tSe},_decodeConfigurationRecord(t,r,n,i){const s=e;let o=t[s(705)](5),a={};if(i===Pe.h264?a=_r(o):i===Pe.h265&&(a=Jr(o)),X.videoInfo.width=a[s(849)],X[s(766)].height=a[s(435)],0===a[s(849)]&&0===a[s(435)])return $[s(571)](X[s(728)],s(801),JSON[s(1187)](a)),X.emitError(Ue.mediaSourceDecoderConfigurationError,s(496)+(0===a[s(849)])+s(980)+a[s(435)]),!1;const c={id:Je.video,type:s(795),timescale:1e3,duration:0,avcc:o,codecWidth:a[s(849)],codecHeight:a[s(435)],videoType:a[s(995)]},u=Sa[s(1063)](c);X[s(794)]=i===Pe[s(895)];let l=a[s(781)];return X[s(1032)]=l?s(605)+a.codec+'"':X.isAvc?He[s(1006)]:He[s(624)],postMessage({cmd:Ce.initVideo,w:a[s(849)],h:a[s(435)]}),X[s(817)](),X[s(367)](u[s(569)]),X[s(1169)]=0,X[s(356)]={},X[s(725)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,o=i===Le.MP3,a=i===Le[n(759)];if(Yt(a||o))return $.debugWarn(X.TAG_NAME,n(299)+i+n(461)),X[n(1108)](Ue[n(762)]),!1;const c={id:Je[n(1066)],type:n(1066),timescale:1e3};let u={};if(pt(t)){if(u=yt(t[n(705)](2)),!u)return!1;c[n(365)]=u[n(474)],c[n(681)]=u[n(681)],c.config=u[n(1229)],c.refSampleDuration=1024/c[n(365)]*c[n(321)]}else{if(!o)return!1;if(u=Pa(t),!u)return!1;c.audioSampleRate=u[n(1051)],c[n(681)]=u[n(681)],c.refSampleDuration=1152/c.audioSampleRate*c[n(321)]}c.codec=u.codec,c[n(1053)]=0;let l=n(580),d=u[n(781)],f=null;o&&Yt($[n(710)][n(1131)])?(l=n(537),d="",f=new Uint8Array):f=Sa[n(1063)](c);let h=c[n(1078)]+"/"+l;return d&&d[n(1073)]>0&&(h+=n(376)+d),Yt(X[n(991)])&&(O=i===Le[n(759)]?s?16:8:0===s?8:16,postMessage({cmd:Ce.audioCode,code:i}),postMessage({cmd:Ce[n(733)],sampleRate:c[n(365)],channels:c[n(681)],depth:O}),X[n(991)]=!0),X[n(1160)]=h,X[n(816)]=a,X[n(758)](),X[n(1207)](f[n(569)]),!0},_initSourceBuffer(){const t=e,{proxy:r}=X[t(1048)];if(null===X[t(749)]&&null!==X[t(1043)]&&X[t(593)]()&&X.videoMimeType){try{$[t(419)](X[t(728)],t(1135),X[t(1032)]),X[t(749)]=X.mediaSource[t(473)](X[t(1032)])}catch(e){return $[t(873)](X[t(728)],t(488),e[t(1059)],e.toString(),e),X[t(1108)](Ue[t(748)],e.code),void(X[t(793)]=!0)}if(X.sourceBuffer){const e=r(X[t(749)],t(442),(e=>{const r=t;X[r(498)]=!0,$[r(873)](X.TAG_NAME,r(625),e,e[r(913)]()),X[r(1108)](Ue[r(922)],e[r(1059)])})),n=r(X[t(749)],"updateend",(()=>{const e=t;X[e(940)]()?X[e(927)]():X[e(969)]()?X[e(1033)]():X.hasPendingEos&&($[e(419)](X.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),X[e(326)]())}));X[t(876)].push(e,n)}}else $[t(419)](X[t(728)],"_initSourceBuffer and mseDecoder.isStateOpen is "+X.isStateOpen()+t(692)+(null===X[t(794)]))},_initAudioSourceBuffer(){const t=e,{proxy:r}=X[t(1048)];if(null===X[t(514)]&&null!==X[t(1043)]&&X[t(593)]()&&X[t(1160)]){try{$[t(419)](X[t(728)],t(985),X[t(1160)]),X._clearAudioSourceBufferCheckTimeout(),X.audioSourceBuffer=X[t(1043)][t(473)](X.audioMimeType)}catch(e){return $[t(873)](X.TAG_NAME,t(1119),e.code,e.toString(),e),X.emitError(Ue[t(748)],e.code),void(X[t(793)]=!0)}if(X[t(514)]){const e=r(X[t(514)],"error",(e=>{const r=t;X[r(498)]=!0,$[r(873)](X[r(728)],r(811),e.code,e[r(913)](),e),X[r(1108)](Ue[r(922)],e[r(1059)])})),n=r(X[t(514)],t(456),(()=>{const e=t;X[e(940)]()?X._doRemoveRanges():X[e(969)]()?X[e(1033)]():X[e(325)]&&($.debugLog(X[e(728)],"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),X[e(326)]())}));X[t(876)][t(644)](e,n),null===X[t(797)]&&(X.audioSourceNoDataCheckTimeout=setTimeout((()=>{const e=t;X._clearAudioNoDataCheckTimeout(),X.emitError(Ue[e(883)])}),1e3))}}else $[t(419)](X[t(728)],t(553)+X.isStateOpen()+t(1164)+X[t(1160)])},_decodeVideo(t,r,n,i,s){const o=e;let a=t[o(705)](5),c=a[o(1133)];if(0===c)return void $[o(571)](X.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let u=(new Date)[o(768)](),l=!1;!X.prevTimestamp&&(X[o(446)]=u,l=!0);const d=u-X.prevTimestamp;if(X[o(357)]=d,d>1e3&&!l&&$[o(422)]&&$[o(419)](X[o(728)],o(300)+u+o(643)+X[o(446)]+o(298)+d+o(796)),X[o(356)].id&&r>=X[o(356)][o(923)]){let e=8+X.cacheTrack.size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[o(304)](Sa[o(1062)][o(946)],4),t[o(304)](X[o(356)].data,8),X[o(356)].duration=r-X[o(356)][o(923)];let n=Sa.moof(X.cacheTrack,X[o(356)][o(923)]);X[o(356)]={};let i=new Uint8Array(n[o(1133)]+t[o(1133)]);i[o(304)](n,0),i[o(304)](t,n[o(1133)]),X[o(367)](i[o(569)])}else $[o(419)](X[o(728)],"timeInit set false , cacheTrack = {} now dts is "+r+o(449)+s+o(897)+(X[o(356)]&&X.cacheTrack[o(923)])),X[o(725)]=!1,X.cacheTrack={};!X[o(356)]&&(X[o(356)]={}),X[o(356)].id=Je.video,X[o(356)][o(1169)]=++X[o(1169)],X.cacheTrack.size=c,X[o(356)][o(923)]=r,X[o(356)][o(847)]=i,X[o(356)][o(974)]=n,X.cacheTrack[o(702)]=a,X[o(356)].flags={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},X[o(446)]=(new Date)[o(768)]()},_decodeAudio(t,r,n){const i=e;let s=X[i(816)]?t[i(705)](2):t.slice(1),o=s[i(1133)];if(X[i(691)].id&&r>=X[i(691)][i(923)]){let e=8+X[i(691)][i(1194)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[i(304)](Sa[i(1062)][i(946)],4),t[i(304)](X[i(691)][i(702)],8),X[i(691)][i(1053)]=r-X[i(691)].dts;let n=Sa[i(1224)](X[i(691)],X[i(691)][i(923)]);X[i(691)]={};let s=new Uint8Array(n[i(1133)]+t[i(1133)]);s[i(304)](n,0),s[i(304)](t,n.byteLength),X[i(1207)](s[i(569)])}else X[i(691)]={};!X[i(691)]&&(X[i(691)]={}),X[i(691)].id=Je[i(1066)],X.cacheAudioTrack[i(1169)]=++X[i(424)],X[i(691)][i(1194)]=o,X[i(691)][i(923)]=r,X[i(691)][i(847)]=0,X[i(691)][i(702)]=s,X.cacheAudioTrack[i(718)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;$[r(1013)]?$[r(571)](X[r(728)],r(1174)):X[r(793)]?$[r(571)](X[r(728)],r(1206)):X[r(1232)]?$.debugWarn(X[r(728)],"mseDecoder.mediaSourceAppendBufferFull is true"):X[r(578)]?$.debugWarn(X[r(728)],r(867)):X.mediaSourceBufferError?$[r(571)](X[r(728)],r(836)):(X.pendingSegments[r(644)](t),X.sourceBuffer&&($[r(710)][r(471)]&&X[r(906)]()&&X[r(858)](),Yt(X.getSourceBufferUpdating())&&X[r(593)]()&&Yt(X._hasPendingRemoveRanges()))?X[r(1033)]():X.isStateClosed()?(X[r(498)]=!0,X[r(1108)](Ue[r(922)],r(679))):X[r(711)]()&&(X[r(498)]=!0,X[r(1108)](Ue.mseSourceBufferError,r(1203))))},appendAudioBuffer(t){const r=e;$[r(1013)]?$.debugWarn(X[r(728)],"appendAudioBuffer() player is destroyed"):X[r(793)]?$.debugWarn(X[r(728)],r(1206)):X[r(1232)]?$[r(571)](X.TAG_NAME,r(655)):X.mediaSourceAppendBufferError?$[r(571)](X.TAG_NAME,r(867)):X[r(498)]?$.debugWarn(X.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(X[r(545)].push(t),X[r(514)]&&($[r(710)][r(471)]&&X._needCleanupSourceBuffer()&&X._doCleanUpSourceBuffer(),Yt(X[r(1126)]())&&X.isStateOpen()&&Yt(X._hasPendingRemoveRanges()))?X._doAppendSegments():X[r(501)]()?(X[r(498)]=!0,X[r(1108)](Ue[r(922)],r(679))):X[r(711)]()&&(X[r(498)]=!0,X[r(1108)](Ue[r(922)],r(1203))))},getSourceBufferUpdating(){const t=e;return X[t(749)]&&X.sourceBuffer[t(760)]},getAudioSourceBufferUpdating(){const t=e;return X.audioSourceBuffer&&X.audioSourceBuffer[t(760)]},stop(){const t=e;X[t(475)](),X[t(620)](),X.endOfStream()},clearUpAllSourceBuffer(){const t=e;if(X[t(749)]){const e=X[t(749)].buffered;for(let r=0;r0||X[t(545)][t(1073)]>0},getPendingSegmentsLength:()=>X[e(1243)].length,_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(X.isStateClosed()||X[t(711)]())$.debugLog(X[t(728)],"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==X[t(749)]){if(X[t(1054)]()&&null===X[t(514)])return $[t(419)](X.TAG_NAME,t(1099)),void(null===X[t(1060)]&&(X[t(1060)]=setTimeout((()=>{const e=t;X[e(576)](),X.emitError(Ue[e(1153)])}),1e3)));if(Yt(X[t(890)]())&&X[t(1243)][t(1073)]>0){const e=X.pendingSegments[t(707)]();try{X[t(749)][t(367)](e)}catch(e){$[t(873)](X.TAG_NAME,t(434),e[t(1059)],e),22===e[t(1059)]?(X[t(990)](),X.mediaSourceAppendBufferFull=!0,X.emitError(Ue[t(598)],t(1213)+e.code+" , message is "+e[t(1080)])):11===e[t(1059)]?(X[t(990)](),X[t(578)]=!0,X[t(1108)](Ue[t(578)],t(1213)+e.code+t(531)+e.message)):(X.stop(),X[t(498)]=!0,X[t(1108)](Ue[t(922)],"code is "+e[t(1059)]+t(531)+e[t(1080)]))}}if(Yt(X[t(1126)]())&&X[t(545)].length>0){const e=X[t(545)][t(707)]();try{X[t(514)][t(367)](e)}catch(e){$[t(873)](X[t(728)],t(856),e[t(1059)],e),22===e[t(1059)]?(X.stop(),X.mediaSourceAppendBufferFull=!0,X.emitError(Ue.mediaSourceFull,t(1213)+e[t(1059)]+t(531)+e[t(1080)])):11===e[t(1059)]?(X[t(990)](),X[t(578)]=!0,X.emitError(Ue[t(578)],"code is "+e[t(1059)]+t(531)+e.message)):(X.stop(),X[t(498)]=!0,X[t(1108)](Ue[t(922)],e.code,"code is "+e.code+t(531)+e[t(1080)]))}}}else $.debugLog(X[t(728)],"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const t=e,r=X[t(1039)][t(790)];if(X[t(749)]){const e=X[t(749)][t(328)];let n=!1;for(let i=0;i=$[t(710)].mseAutoCleanupMaxBackwardDuration){n=!0;let e=r-$[t(710)].mseAutoCleanupMinBackwardDuration;X[t(518)][t(644)]({start:s,end:e})}}else o=$[t(710)][t(661)]){n=!0;let e=r-$[t(710)][t(752)];X[t(1202)][t(644)]({start:s,end:e})}}else o0||X[t(1202)].length>0},needInitAudio(){const t=e;return $[t(710)][t(1151)]&&$[t(710)][t(429)]},_doRemoveRanges(){const t=e;if(X.sourceBuffer&&Yt(X[t(890)]())){let e=X[t(518)];for(;e[t(1073)]&&Yt(X[t(890)]());){let r=e[t(707)]();try{X[t(749)][t(1148)](r.start,r[t(701)])}catch(e){$[t(571)](X[t(728)],t(382),e,e[t(913)]())}}}if(X[t(514)]&&Yt(X[t(1126)]())){let e=X[t(1202)];for(;e[t(1073)]&&Yt(X[t(1126)]());){let r=e[t(707)]();try{X[t(514)][t(1148)](r[t(480)],r[t(701)])}catch(e){$[t(571)](X[t(728)],t(342),e,e[t(913)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Yt($[t(710)][t(471)]))return!1;const r=X[t(1039)][t(790)];if(X.sourceBuffer){let e=X[t(749)][t(328)];if(e[t(1073)]>=1&&r-e[t(480)](0)>=$[t(710)].mseAutoCleanupMaxBackwardDuration)return!0}if(X[t(514)]){let e=X.audioSourceBuffer[t(328)];if(e[t(1073)]>=1&&r-e.start(0)>=$[t(710)][t(661)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){const t=e;X[t(1060)]&&(clearTimeout(X[t(1060)]),X[t(1060)]=null)},_clearAudioNoDataCheckTimeout(){const t=e;X[t(797)]&&(clearTimeout(X[t(797)]),X[t(797)]=null)},getHandle(){const t=e;return X[t(1043)][t(570)]},emitError(t){const r=e;let n=arguments[r(1073)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:Ce[r(941)],value:t,msg:n})}});let $={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:$e[e(872)],_opt:G(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){$.stopStreamRateAndStatsInterval(),d=setInterval((()=>{const e=hc;l&&l(0);const t=JSON.stringify({demuxBufferDelay:$[e(1156)](),audioDemuxBufferDelay:$.getAudioBufferLength(),streamBufferByteLength:$[e(998)](),netBuf:$[e(984)]||0,pushLatestDelay:$[e(737)]||0,latestDelay:$.delay,isStreamTsMoreThanLocal:w,wasmDecodeDelay:_-b});postMessage({cmd:Ce[e(1198)],type:Me[e(339)],value:t})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return $[t(710)].useOffscreen&&typeof OffscreenCanvas!=t(472)},getDelay:function(t,r){const n=e;if(!t||$[n(710)][n(548)]&&!y)return-1;if(r===Te[n(1066)])return $[n(336)];if($[n(423)]&&$[n(423)]>t)return $.preDelayTimestamp-t>1e3&&$[n(571)](n(613),n(599)+$.preDelayTimestamp+n(410)+t+n(1200)+($[n(423)]-t)+n(332)+$[n(336)]),$[n(423)]=t,$.delay;if($[n(1212)]){if(t){const e=Date[n(603)]()-$[n(787)],r=t-$[n(1212)];e>=r?(w=!1,$[n(336)]=e-r):(w=!0,$[n(336)]=r-e)}}else $[n(1212)]=t,$[n(787)]=Date[n(603)](),$[n(336)]=-1;return $[n(423)]=t,$[n(336)]},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||$[n(710)][n(548)]&&!y)return-1;if(r===Te[n(1066)])return $[n(737)];if($[n(423)]&&$[n(423)]-t>1e3)return $[n(571)](n(613),n(685)+$[n(423)]+" > timestamp is "+t+n(1200)+($[n(423)]-t)+n(437)),-1;if($.firstTimestamp){let e=-1;if(t){const r=Date.now()-$[n(787)],i=t-$.firstTimestamp;r>=i?(w=!1,e=r-i):(w=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;$[t(1212)]=null,$.startTimestamp=null,$[t(336)]=-1,$[t(560)]=!1},resetAllDelay:function(){$[e(633)](),$.preDelayTimestamp=null},doDecode:function(t){const r=e;$[r(710)][r(479)]&&t[r(1078)]===Te[r(795)]&&$.isWorkerFetch&&$[r(448)](t[r(1179)],t.ts),$[r(1061)]()?t[r(1078)]===Te[r(1066)]?$[r(710)][r(429)]?X[r(680)](t[r(1179)],t.ts):t[r(1140)][r(968)](t[r(1179)],t.ts):t[r(1078)]===Te[r(795)]&&X[r(931)](t[r(1179)],t.ts,t[r(1152)],t[r(847)]):$[r(710)].useWCS&&$[r(961)]()&&t[r(1078)]===Te.video&&a[r(968)]?a[r(968)](t[r(1179)],t.ts,t[r(847)]):t.decoder.decode(t[r(1179)],t.ts,t[r(1152)],t[r(847)])},decodeNext(t){const r=e;if(0===s[r(1073)])return;const i=t.ts,o=s[0],a=t[r(1078)]===Te[r(795)]&&Wt(t.payload);if(Yt(n))a&&($.debugLog(r(613),r(798)+t[r(1078)]+r(785)+i+r(674)+o[r(1078)]+" ts is "+o.ts+r(764)+a),s[r(707)](),$[r(387)](o));else{const e=o.ts-i,n=o[r(1078)]===Te[r(1066)]&&t.type===Te[r(795)];(e<=20||n||a)&&($[r(419)]("worker","decode data type is "+t[r(1078)]+r(785)+i+r(674)+o[r(1078)]+r(318)+o.ts+r(898)+e+" and isVideoAndNextAudio is "+n+" and isVideoSqeHeader is "+a),s.shift(),$[r(387)](o))}},init:function(){const t=e;$.debugLog(t(613),t(966)+n+" and forOldVersion is "+i+" and opt is",JSON.stringify($[t(710)]));const r=$[t(710)].playType===de[t(825)],o=$[t(710)][t(431)]===de.playbackTF,c=$[t(710)].playType===de[t(935)];if(W[t(516)](),$[t(422)]=r,$[t(1035)]=o,$[t(741)]=c,$[t(1061)]()&&X&&X[t(516)](),a&&$[t(710)].useWCS&&$.useOffscreen()&&a[t(516)](),Yt($.isPlaybackCacheBeforeDecodeForFpsRender())||$[t(741)]){$[t(419)](t(613),"setInterval()");const e=()=>{const e=t,n=$[e(710)].videoBuffer+$._opt[e(1094)];let i=null;if(s[e(1073)]){if($[e(403)])return void $.debugWarn(e(613),"loop() isPushDropping is true and bufferList length is "+s[e(1073)]);if($[e(560)]){for(i=s.shift(),$[e(571)](e(613),e(756)+i[e(1152)]+e(690)+$.delay+e(1026)+s[e(1073)]);!i[e(1152)]&&s[e(1073)];)i=s[e(707)]();const t=$[e(483)](i.ts,i[e(1078)]);i[e(1152)]&&t<=$.getNotDroppingDelayTs()&&($[e(419)](e(613),e(602)),$[e(560)]=!1,$[e(387)](i),$.decodeNext(i))}else if($[e(1035)]||$.isPlayUseMSE()||0===$[e(710)][e(443)]||$[e(741)])for(;s[e(1073)];)i=s[e(707)](),$[e(387)](i);else if(i=s[0],-1===$.getDelay(i.ts,i.type))$[e(419)]("worker",e(1155),i.ts),s[e(707)](),$[e(387)](i),$[e(687)](i);else if($[e(336)]>n&&r)$[e(979)]()?($.debugLog(e(613),"delay is "+$[e(336)]+e(398)+n+", set dropping is true"),$[e(611)](),$[e(560)]=!0,postMessage({cmd:Ce[e(924)]})):(s[e(707)](),$[e(387)](i),$[e(687)](i));else for(;s[e(1073)];){if(i=s[0],!($[e(296)](i.ts,i.type)>$[e(710)][e(443)])){$[e(336)]<0&&$.debugWarn(e(613),e(397)+$[e(336)]+e(845)+s.length);break}s[e(707)](),$[e(387)](i)}}else-1!==$[e(336)]&&$[e(419)](e(613),e(986)),$[e(611)]()};$.stopId=setInterval((()=>{const r=t;let n=(new Date)[r(768)]();!S&&(S=n);const i=n-S;i>100&&$[r(571)](r(613),"loop demux diff time is "+i),e(),S=(new Date)[r(768)]()}),20)}else $[t(419)](t(613),t(892));if(Yt($._opt[t(874)])&&(y=!0),$[t(1061)]()&&X){const e=X[t(971)]();e&&postMessage({cmd:Ce[t(667)],mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;$[t(915)]();const r=()=>{const e=t;let r=null;s[e(1073)]&&(r=s[e(707)](),$.doDecode(r))};r();const n=Math[t(1228)](1e3/($[t(1170)]*$[t(710)][t(1190)]));$[t(419)](t(613),t(962)+n+t(720)+$[t(1170)]+t(740)+$[t(458)]+t(623)+$.streamVideoFps+t(368)+$[t(710)][t(1190)]),$.stopId=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;$[t(929)]&&(clearInterval($[t(929)]),$[t(929)]=null)},startPlaybackCacheLoop:function(){$[e(1057)]()},close:function(){const t=e;if($[t(419)](t(613),"close"),$.isDestroyed=!0,j(),!u||1!==u[t(870)]&&2!==u.readyState?u&&$[t(419)]("worker",t(581)+u[t(870)]):(N=!0,u[t(747)](1e3,"Client disconnecting")),u&&(u[t(340)]=null,u[t(930)]=null,u[t(310)]=null,u.onerror=null),u=null,$.stopStreamRateAndStatsInterval(),$[t(929)]&&(clearInterval($.stopId),$.stopId=null),$[t(1208)]&&($[t(1208)].destroy(),$[t(1208)]=null),$.writableStream&&Yt($[t(502)].locked)&&$[t(502)][t(747)]()[t(588)]((e=>{const r=t;$.debugLog(r(613),"close() and writableStream.close() error",e[r(913)](),e)})),$[t(502)]=null,J)try{J[t(757)]&&J.clear(),J=null}catch(e){$.debugLog(t(613),t(875),e.toString(),e)}if(Z)try{Z.clear&&Z.clear(),Z=null}catch(e){$[t(419)](t(613),t(384),e[t(913)]())}l=null,S=null,w=!1,_=0,b=0,a&&(a.destroy&&a[t(829)](),a=null),X&&(X[t(829)](),X=null),$[t(1212)]=null,$[t(787)]=null,$.networkDelay=0,$[t(1170)]=null,$[t(458)]=null,$[t(331)]=null,$.delay=-1,$[t(737)]=-1,$[t(423)]=null,$[t(560)]=!1,$[t(403)]=!1,$.isPlayer=!0,$[t(1035)]=!1,$.isPlayVod=!1,$[t(1173)]=!1,$[t(735)]=null,$[t(710)]=G(),$[t(575)]&&($[t(575)][t(829)](),$[t(996)][t(517)](t(993),$[t(601)]),$.offscreenCanvas[t(517)](t(1149),$[t(982)]),$[t(996)]=null,$.offscreenCanvasGL=null,$[t(1030)]=null),s=[],o=[],f&&(f[t(747)](),f=null),p=null,m=null,v=!1,g=!1,y=!1,F=!1,P=!1,R=!1,L=null,A=[],T=0,x=0,I=null,E=null,D=null,M=null,O=null,B=0,U=0,k=null,C=null,$[t(1142)]=$e.idle,z=!0,W[t(829)](),q[t(829)](),Y[t(829)](),K.destroy(),$.debug=null,$._opt={},postMessage({cmd:Ce[t(950)]})},pushBuffer:function(t,r){const i=e;if(r[i(1078)]===Te[i(1066)]&&pt(t)){if($.debugLog(i(613),"pushBuffer audio ts is "+r.ts+i(751)),$[i(710)][i(772)]){const e=new Uint8Array(t);postMessage({cmd:Ce[i(1070)],buffer:e},[e[i(569)]])}$[i(680)](t,r.ts)}else if(r[i(1078)]===Te[i(795)]&&r.isIFrame&&Wt(t)){if($.debugLog(i(613),i(413)+r.ts+i(1167)),$[i(710)][i(772)]){const e=new Uint8Array(t);postMessage({cmd:Ce.videoSequenceHeader,buffer:e},[e.buffer])}$.decodeVideo(t,r.ts,r[i(1152)],r[i(847)])}else{if($[i(710)][i(963)])if($._opt.isRecordTypeFlv){const e=new Uint8Array(t);postMessage({cmd:Ce[i(951)],type:r[i(1078)],buffer:e,ts:r.ts},[e[i(569)]])}else if($[i(710)][i(651)]===fe[i(580)])if(r[i(1078)]===Te.video){const e=new Uint8Array(t).slice(5);postMessage({cmd:Ce[i(407)],buffer:e,isIFrame:r[i(1152)],ts:r.ts,cts:r[i(847)]},[e[i(569)]])}else if(r[i(1078)]===Te[i(1066)]&&$._opt[i(1023)]){const e=new Uint8Array(t),n=vt(e)?e.slice(2):e[i(705)](1);postMessage({cmd:Ce[i(404)],buffer:n,ts:r.ts},[n.buffer])}if($[i(422)]){if(r[i(1078)]===Te[i(795)]){if(B>0){const e=r.ts-M,t=B+B/2;e>t&&$[i(419)](i(613),i(383)+r.isIFrame+i(818)+r.ts+i(1182)+M+i(960)+e+i(1113)+B+i(668)+t+i(428))}if(null!==M&&M>=r.ts&&($[i(571)](i(613),i(1186)+r.isIFrame+i(636)+r.ts+" less than (or equal) preTs is "+M+i(1189)+t[i(1133)]+i(1118)+U),M-r.ts>Se&&($[i(571)]("worker",i(896)+M+", options.ts is "+r.ts+i(960)+(M-r.ts)+" more than 3600000,\n and resetAllDelay"),$.resetAllDelay(),M=null,B=0),$[i(710)][i(312)]&&Yt(r[i(1152)])&&y)){const e=$[i(979)](),t=Yt($.isPushDropping);return $[i(419)](i(613),i(1171)+e+i(776)+t+" and next dropBuffer"),void(e&&t?$[i(839)]():($[i(693)](!0),qt($._opt[i(874)])&&qt(n)&&($[i(1061)]()?X[i(1091)]=!1:postMessage({cmd:Ce[i(874)]}))))}M>0&&(B=r.ts-M),U=t[i(1133)],M=r.ts}if(y){const e=$[i(710)][i(443)]+$[i(710)][i(1094)],t=$[i(483)](r.ts,r[i(1078)]);$[i(737)]=t,$.delay>0&&t>e&&$[i(336)]({type:e.type,ts:e.ts})));$[i(419)](i(613),"playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is "+t+", streamVideoFps is "+e+", bufferListLength is "+s[i(1073)]+i(1157)+JSON.stringify(r))}const r=$[i(1045)]()>0,n=r?60:40;s[i(1073)]>=n&&($[i(571)]("worker",i(618)+s[i(1073)]+i(1200)+n+i(975)+r+" an set streamFps is 25"),$[i(331)]=25,postMessage({cmd:Ce[i(676)],value:$.streamVideoFps}),r?($[i(458)]=25,$[i(1170)]=$[i(331)]+$[i(458)]):$[i(1170)]=$.streamVideoFps,$.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return s.forEach((t=>{const r=hc;t[r(1078)]===Te[r(795)]&&(e+=1)})),e},hasIframeInBufferList(){const t=e;return s[t(1163)]((e=>{const r=t;return e[r(1078)]===Te[r(795)]&&e[r(1152)]}))},isAllIframeInBufferList(){const t=e,r=$.getVideoBufferLength();let n=0;return s[t(738)]((e=>{const r=t;e[r(1078)]===Te[r(795)]&&e[r(1152)]&&(n+=1)})),r===n},getNotDroppingDelayTs(){const t=e;return $[t(710)].videoBuffer+$[t(710)][t(1094)]/2},getAudioBufferLength(){const t=e;let r=0;return s[t(738)]((e=>{const n=t;e.type===Te[n(1066)]&&(r+=1)})),r},getStreamBufferLength(){const t=e;let r=0;return f&&f[t(569)]&&(r=f.buffer.byteLength),$[t(710)].isNakedFlow?W[t(907)]&&(r=W[t(907)][t(1133)]):$._opt[t(1025)]?K._remainingPacketData&&(r=K[t(465)][t(1133)]):$._opt[t(530)]&&q[t(1144)]&&(r=q[t(1144)][t(1005)]()),r},fetchStream:function(t,r){const n=e;let i=arguments[n(1073)]>2&&void 0!==arguments[2]?arguments[2]:[];if($[n(419)](n(613),"fetchStream, url is "+t,n(972),JSON.stringify(r)),$[n(1173)]=!0,r[n(860)]?$[n(710)].isFlv=!0:r.isFmp4?$[n(710)].isFmp4=!0:r[n(964)]?$[n(710)][n(964)]=!0:r.isNakedFlow?$[n(710)][n(538)]=!0:r[n(1025)]&&($[n(710)][n(1025)]=!0),l=Ft((e=>{const t=n;postMessage({cmd:Ce[t(1198)],type:Me[t(889)],value:e})})),$[n(516)](),$[n(463)](),r[n(530)]&&q.listenMp4Box(),r[n(1128)]===ce.fetch){r[n(860)]&&(f=new rr($.demuxFlv())),c=new AbortController;const e=Object[n(920)]({signal:c.signal},{headers:r.options&&r[n(351)][n(802)]||{}});fetch(t,e)[n(988)]((e=>{const t=n;if(qt(N))return $[t(419)](t(613),t(329)),$[t(1142)]=$e.idle,void e.body[t(343)]();if(!Vt(e))return $.debugWarn(t(613),t(1046)+e.status+t(1242)+e.ok+" and emit error and next abort()"),j(),void postMessage({cmd:Ce.workerFetch,type:Ue[t(468)],value:t(1046)+e[t(831)]+" and ok is "+e.ok});if(postMessage({cmd:Ce[t(1198)],type:Me[t(745)]}),Nt())$[t(502)]=new WritableStream({write:e=>{const n=t;return c&&c.signal&&c[n(522)][n(421)]?($[n(419)](n(613),n(1235)),void($[n(1142)]=$e.complete)):qt(N)?($[n(419)](n(613),"writableStream write() and requestAbort is true so return"),$[n(1142)]=$e.complete,void j()):void(typeof e!==n(917)?($[n(1142)]=$e[n(591)],l(e.byteLength),r[n(860)]?f[n(850)](e):r[n(530)]?$[n(709)](e):r[n(964)]?$.demuxMpeg4(e):r[n(1025)]?$[n(322)](e):r[n(538)]&&$[n(694)](e)):$.debugWarn(n(613),'writableStream write() and value is "'+e+'" string so return'))},close:()=>{const e=t;$[e(419)](e(613),e(1230)),$.fetchStatus=$e[e(713)],j(),$.isPlayVod?$[e(419)](e(613),e(1065)):$._opt.checkStreamEnd?(f&&(f[e(747)](),f=null),postMessage({cmd:Ce[e(1198)],type:Me[e(1204)],value:le[e(688)],msg:e(813)})):postMessage({cmd:Ce[e(1198)],type:Me[e(652)]})},abort:e=>{const r=t;if(c&&c.signal&&c[r(522)][r(421)])return $.debugLog(r(613),r(606)),void($[r(1142)]=$e[r(713)]);f&&(f[r(747)](),f=null),e[r(1147)]!==qe[r(359)]?($[r(419)]("worker",r(1029)+e.toString()),j(),postMessage({cmd:Ce[r(1198)],type:Ue.fetchError,value:e[r(913)]()})):$[r(419)](r(613),"writableStream abort() and e.name is AbortError so return")}}),e[t(597)][t(774)]($.writableStream)[t(588)]((e=>{const r=t;e[r(1147)]!==r(834)&&$.debugLog("worker","writableStream pipeTo() and e is",e.name,e[r(913)]())}));else{const n=e[t(597)][t(755)](),i=()=>{const e=t;n.read()[e(988)]((t=>{const n=e;let{done:s,value:o}=t;return s?($[n(419)](n(613),n(653)),$.fetchStatus=$e.complete,j(),void($[n(710)][n(1041)]?(f&&(f.close(),f=null),postMessage({cmd:Ce[n(1198)],type:Me.streamEnd,value:le[n(688)],msg:n(813)})):postMessage({cmd:Ce[n(1198)],type:Me.streamEndInner}))):c&&c[n(522)]&&c[n(522)][n(421)]?($.debugLog(n(613),n(364)),void($[n(1142)]=$e[n(713)])):qt(N)?($[n(419)](n(613),n(1181)),$[n(1142)]=$e[n(713)],void j()):void("string"!=typeof o?($[n(1142)]=$e.buffering,l(o[n(1133)]),r[n(860)]?f[n(850)](o):r[n(530)]?$.demuxFmp4(o):r[n(964)]?$[n(505)](o):r[n(1025)]?$[n(322)](o):r[n(538)]&&$.demuxNakedFlow(o),i()):$[n(571)](n(613),n(905)+o+n(484)))}))[e(588)]((t=>{const r=e;if(c&&c[r(522)]&&c[r(522)][r(421)])return $[r(419)](r(613),r(1220)),void($.fetchStatus=$e[r(713)]);f&&(f.close(),f=null),t.name!==qe[r(359)]?($.debugLog(r(613),"fetchNext().catch() and e is "+t[r(913)]()),j(),postMessage({cmd:Ce[r(1198)],type:Ue[r(468)],value:t.toString()})):$[r(419)]("worker",r(375))}))};i()}}))[n(588)]((e=>{const t=n;c&&c[t(522)]&&c[t(522)].aborted?$[t(419)]("worker",t(780)):e[t(1147)]!==qe[t(359)]?($[t(419)]("worker",t(992)+e[t(913)]()),j(),postMessage({cmd:Ce.workerFetch,type:Ue.fetchError,value:e.toString()}),f&&(f[t(747)](),f=null)):$.debugLog(t(613),t(1188))}))}else r[n(1128)]===ce.websocket&&(r[n(860)]&&(f=new rr($[n(1081)]())),u=new WebSocket(t,i),u[n(744)]=n(301),u[n(340)]=()=>{const e=n;$[e(419)](e(613),e(420)),postMessage({cmd:Ce.workerFetch,type:Me.streamSuccess}),postMessage({cmd:Ce[e(1198)],type:Me[e(1143)]})},u[n(310)]=e=>{const t=n;$[t(1013)]?$[t(419)](t(613),t(406)+e.code+t(1125)):h?$[t(419)](t(613),t(406)+e.code+t(467)):($[t(419)](t(613),t(406)+e[t(1059)]),1006===e[t(1059)]&&$[t(873)](t(613),t(1055)+e[t(1059)]),qt(N)?$[t(419)](t(613),t(1e3)):$[t(710)].checkStreamEnd?(f&&(f.close(),f=null),postMessage({cmd:Ce.workerFetch,type:Me.streamEnd,value:le[t(854)],msg:e[t(1059)]})):postMessage({cmd:Ce.workerFetch,type:Me[t(652)]}))},u[n(555)]=e=>{const t=n;$[t(873)](t(613),"fetchStream, WebsocketStream socket error",e,e[t(913)]()),h=!0,f&&(f.close(),f=null),$[t(1013)]?$.debugLog(t(613),"fetchStream, WebsocketStream on error and isDestroyed is true, so return"):qt(N)?$[t(419)]("worker",t(835)):postMessage({cmd:Ce[t(1198)],type:Ue.websocketError,value:e[t(1036)]?t(750):"websocket error"})},u[n(930)]=e=>{const t=n;typeof e[t(702)]!==t(917)?(l(e[t(702)][t(1133)]),r.isFlv?f.write(e[t(702)]):r[t(530)]?$.demuxFmp4(e[t(702)]):r[t(964)]?$.demuxMpeg4(e[t(702)]):$[t(710)][t(538)]?$.demuxNakedFlow(e[t(702)]):$[t(1162)](e[t(702)])):$[t(571)](t(613),t(904)+e[t(702)]+t(573))})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let o=i[0];const a=(yield s)[t(705)]();switch(r){case xe[t(1066)]:if(a[t(1133)]>0){let e=a;qt($[t(710)].m7sCryptoAudio)&&(e=$[t(549)](a)),$[t(968)](e,{type:Te[t(1066)],ts:o})}else $.debugWarn(t(613),t(303)+a[t(1133)]+t(864));break;case xe.video:if(a[t(1133)]>=6){const e=a[0];if($[t(641)](e))$[t(1096)](a,o);else{const e=15&a[0];let r=a[0]>>4===Xe[t(1020)];const n=e===Pe[t(788)];if(Yt(r)&&qt(Xt(a,n))&&($.debugLog("worker",t(353)),r=!0),r&&Wt(a)&&null===$[t(735)]){const e=15&a[0];$[t(735)]=e===Pe[t(788)],L=Tt(a,$[t(735)]),$[t(419)](t(613),t(708)+$[t(735)]+t(1165)+L)}r&&$[t(769)](o),$.isPlayer&&$[t(639)](o),i[0]=a[4],i[1]=a[3],i[2]=a[2],i[3]=0;let s=i[0],c=$[t(1079)](a,r);$[t(968)](c,{type:Te.video,ts:o,isIFrame:r,cts:s})}}else $[t(571)](t(613),"demuxFlv() type is video and payload.byteLength is "+a[t(1133)]+" and return");break;case xe[t(509)]:postMessage({cmd:Ce.flvScriptData,buffer:a},[a.buffer]);break;default:$[t(419)]("worker",t(1093)+r)}}},decode:function(t,r){const n=e;r[n(1078)]===Te[n(1066)]?$._opt[n(1151)]&&(postMessage({cmd:Ce[n(1198)],type:Me[n(440)],value:t.byteLength}),$.isPlayer?$[n(775)](t,{type:r[n(1078)],ts:r.ts,cts:r.cts}):$.isPlayback?$.isPlaybackOnlyDecodeIFrame()||($.isPlaybackCacheBeforeDecodeForFpsRender()?$.pushBuffer(t,{type:r[n(1078)],ts:r.ts,cts:r[n(847)]}):$[n(775)](t,{type:r[n(1078)],ts:r.ts,cts:r[n(847)]})):$.isPlayVod&&$[n(775)](t,{type:r[n(1078)],ts:r.ts,cts:r[n(847)]})):r[n(1078)]===Te.video&&$[n(710)].hasVideo&&(postMessage({cmd:Ce[n(1198)],type:Me[n(400)],value:t[n(1133)]}),postMessage({cmd:Ce[n(1198)],type:Me[n(736)],value:r.ts}),$.isPlayer?$[n(775)](t,{type:r[n(1078)],ts:r.ts,isIFrame:r[n(1152)],cts:r[n(847)]}):$.isPlayback?$[n(945)]()?r.isIFrame&&$.pushBuffer(t,{type:r[n(1078)],ts:r.ts,cts:r.cts,isIFrame:r[n(1152)]}):$.isPlaybackCacheBeforeDecodeForFpsRender()?$.pushBuffer(t,{type:r[n(1078)],ts:r.ts,cts:r[n(847)],isIFrame:r[n(1152)]}):$[n(775)](t,{type:r.type,ts:r.ts,cts:r[n(847)],isIFrame:r[n(1152)]}):$[n(741)]&&$[n(775)](t,{type:r[n(1078)],ts:r.ts,cts:r[n(847)],isIFrame:r.isIFrame}))},cryptoPayload:function(t,r){const n=e;let i=t;return $._opt.isM7sCrypto?$[n(710)][n(1214)]&&$._opt[n(1214)][n(1133)]>0&&$[n(710)][n(503)]&&$[n(710)][n(503)][n(1133)]>0?i=_o(t,$[n(710)][n(503)],$[n(710)].cryptoIV,$[n(735)]):$[n(873)]("worker","isM7sCrypto cryptoKey.length is "+($[n(710)][n(503)]&&$._opt[n(503)][n(1133)])+" or cryptoIV.length is "+($[n(710)].cryptoIV&&$[n(710)][n(1214)].byteLength)+n(626)):$[n(710)].isSm4Crypto?$[n(710)][n(1175)]?i=$._opt[n(1214)]&&$[n(710)][n(1214)][n(1133)]>0&&$[n(710)][n(503)]&&$._opt[n(503)].byteLength>0?lc(t,$[n(710)].cryptoKey,$[n(710)][n(1214)],$[n(735)],$[n(710)][n(997)]):Jo(t,$[n(710)][n(1175)],$.isHevc,$._opt.isSm4CryptoH265V2):!$[n(710)][n(1175)]&&$[n(873)](n(613),"isSm4Crypto opt.sm4CryptoKey is null"):$[n(710)][n(939)]&&($[n(710)][n(1214)]&&$._opt[n(1214)][n(1133)]>0&&$[n(710)][n(503)]&&$[n(710)][n(503)][n(1133)]>0?i=da(t,$[n(710)].cryptoKey,$[n(710)].cryptoIV,$[n(735)]):$.debugError(n(613),n(1106)+($[n(710)].cryptoKey&&$[n(710)][n(503)][n(1133)])+n(1012)+($[n(710)][n(1214)]&&$[n(710)][n(1214)].byteLength)+n(626))),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return $._opt[r(677)]&&($[r(710)][r(1214)]&&$[r(710)][r(1214)][r(1133)]>0&&$._opt[r(503)]&&$[r(710)][r(503)].byteLength>0?t[0]>>4===Le[r(759)]&&(n=bo(t,$._opt.cryptoKey,$._opt[r(1214)])):$.debugError(r(613),r(385)+($[r(710)][r(503)]&&$[r(710)][r(503)][r(1133)])+r(1012)+($[r(710)].cryptoIV&&$._opt[r(1214)].byteLength)+r(626))),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,o=t[0]>>1&1;if(O=s===Le[n(759)]?o?16:8:0===o?8:16,J&&J[n(1008)]||!Yt(i))if(pt(t)||s===Le[n(862)]||s===Le.MULAW||s===Le[n(1049)]){$[n(419)](n(613),n(455)+s+n(673)+$._opt[n(474)]);const e=s===Le.AAC?t.slice(2):new Uint8Array(0);if(i){if(s===Le[n(1049)])return void $.debugError(n(613),n(542));J[n(893)]=$[n(710)].sampleRate,J[n(968)](t,r)}else J[n(1008)](s,$[n(710)][n(474)],e,$[n(952)]());s===Le[n(759)]&&postMessage({cmd:Ce.audioAACSequenceHeader,buffer:e},[e[n(569)]]),g=!0,s!==Le[n(759)]&&(s===Le.MP3?(!$[n(1208)]&&($.mp3Demuxer=new oa($),$[n(1208)].on(n(702),((e,t)=>{J[n(968)](e,t)}))),$[n(1208)][n(786)](t[n(705)](1),r)):J[n(968)](t.slice(1),r));const o=Number("1")||1;setTimeout((()=>{const e=n;$.debugError(e(613),e(415)),$[e(747)](),postMessage({cmd:Ce[e(1114)]})}),60*o*60*1e3)}else $[n(571)]("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",s);else $[n(873)](n(613),n(390))},decodeAudio:function(t,r){const s=e;if($[s(1013)])$.debugLog("worker","decodeAudio, decoder is destroyed and return");else if($[s(408)]())X[s(680)](t,r);else if(qt(n)&&qt($[s(710)].mseDecodeAudio))postMessage({cmd:Ce.audioPayload,payload:t,ts:r,cts:r},[t[s(569)]]);else{const e=t[0]>>4;if(g){if(pt(t))return void $[s(419)](s(613),s(1222));i?J[s(968)](t,r):e===Le.MP3?$[s(1208)][s(786)](t[s(705)](1),r):J[s(968)](e===Le[s(759)]?t.slice(2):t.slice(1),r)}else $[s(391)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Z&&Z[n(1008)]||!Yt(i))if(Wt(t))if(s===Pe[n(895)]||s===Pe[n(788)]){$[n(419)](n(613),n(1074)+s);const e=t[n(705)](5);if(s===Pe[n(895)]&&$._opt[n(482)]){const t=_r(e);if(t[n(849)]>Ie||t[n(435)]>Ie)return postMessage({cmd:Ce[n(544)],value:"width: "+t[n(849)]+" > "+Ie+n(1044)+t[n(435)]+n(579)+Ie}),void $.debugWarn(n(613),"setCodecVideo: SIMD H264 decode video width is too large, width is "+t[n(849)]+n(777)+t[n(435)])}const r=new Uint8Array(t);v=!0,i?Z.decode(t,0):Z.setCodec(s,e,$[n(952)]()),postMessage({cmd:Ce.videoCode,code:s}),postMessage({cmd:Ce[n(1097)],buffer:r,codecId:s},[r[n(569)]])}else $[n(571)](n(613),"setCodecVideo: hasInitVideoCodec is false, codecId is "+s+n(1085));else $.debugWarn(n(613),n(378)+s+n(1221)+r+" and packetType is "+t[1]);else $[n(873)](n(613),n(1100))},decodeVideo:function(t,r,s){const o=e;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if($[o(1013)])$[o(419)](o(613),o(808));else if($[o(1061)]())X[o(931)](t,r,s,a);else if(qt(n))postMessage({cmd:Ce[o(1014)],payload:t,isIFrame:s,ts:r,cts:a,delay:$.delay},[t[o(569)]]);else if(v)if(!y&&s&&(y=!0),y){if(s&&Wt(t)){const e=15&t[0];let r={};e===Pe[o(895)]?r=_r(t[o(705)](5)):e===Pe.h265&&(r=$r(t)),r[o(849)]&&r[o(435)]&&p&&m&&(r.codecWidth!==p||r.codecHeight!==m)&&($[o(571)]("worker",o(656)+p+o(574)+m+o(1089)+r[o(849)]+o(1236)+r[o(435)]+",\n and emit change event"),P=!0,postMessage({cmd:Ce[o(887)],value:"width: "+p+"->"+r[o(849)]+o(1044)+m+"->"+r[o(435)]}))}if(P)return void $[o(571)](o(613),o(1004));if(R)return void $.debugWarn("worker",o(1215));if(Wt(t))return void $[o(419)](o(613),"decodeVideo and payload is video sequence header so drop this frame");if(t.byteLength0&&void 0!==arguments[0]&&arguments[0];$[t(419)](t(613),t(556)+s.length+", need clear is "+r),r&&(s=[]),$[t(422)]&&($[t(611)](),qt($._opt[t(874)])&&($[t(560)]=!0,postMessage({cmd:Ce[t(924)]}))),qt($[t(710)][t(874)])&&Yt(n)&&(y=!1)},dropBuffer$2:function(){const t=e;if(s[t(1073)]>0){let e=s[t(1168)]((e=>{const r=t;return qt(e[r(1152)])&&e.type===Te[r(795)]}));if($[t(704)]())for(let r=0;r=$[t(807)]()){$[t(419)]("worker",t(1136)+r+t(333)+i+" and notDroppingDelayTs is "+$[t(807)]()),e=r;break}}if(e>=0){$[t(403)]=!0,postMessage({cmd:Ce[t(924)]});const r=s[t(1073)];s=s.slice(e);const n=s[t(707)]();$[t(611)](),$[t(296)](n.ts,n[t(1078)]),$[t(387)](n),$[t(403)]=!1,$.debugLog(t(613),t(546)+e+t(925)+r+t(642)+s.length+" and new delay is "+$[t(336)]+" ")}else $[t(403)]=!1}0===s[t(1073)]&&($[t(403)]=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n.getUint32(1,!1),s=n.getUint8(0),o=new ArrayBuffer(4),a=new Uint32Array(o);switch(s){case Te[r(1066)]:$[r(968)](new Uint8Array(t,5),{type:Te.audio,ts:i});break;case Te[r(795)]:if(n[r(1133)]>=11){const e=new Uint8Array(t,5),s=e[0];if($[r(641)](s))$._decodeEnhancedH265Video(e,i);else{const t=n.getUint8(5)>>4==1;if(t&&($.calcIframeIntervalTimestamp(i),Wt(e)&&null===$[r(735)])){const t=15&e[0];$.isHevc=t===Pe[r(788)]}$.isPlayer&&$.calcNetworkDelay(i),a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0;let s=a[0],o=$[r(1079)](e,t);$.decode(o,{type:Te[r(795)],ts:i,isIFrame:t,cts:s})}}else $.debugWarn(r(613),r(1103)+t[r(1133)]+" and return")}},demuxNakedFlow:function(t){W[e(786)](t)},demuxFmp4:function(t){q[e(786)](t)},demuxMpeg4:function(t){Y[e(786)](t)},demuxTs:function(e){K.dispatch(e)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,o=15&i,a=t.slice(1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String.fromCharCode(a[0]);if($[n(735)]=Yt(l),o===Qe[n(338)]){if(s===et[n(828)]){const e=t[n(705)](5);if(l);else{const i=new Uint8Array(5+e.length);i.set([28,0,0,0,0],0),i[n(304)](e,5),L=Tt(t,$.isHevc),$[n(419)](n(613),"demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is "+$[n(735)]+n(1165)+L),$[n(968)](i,{type:Te.video,ts:r,isIFrame:!0,cts:0})}}}else if(o===Qe[n(319)]){let e=t,i=0;const o=s===et[n(828)];o&&$[n(769)](r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=rn(t[n(705)](8),o),e=$[n(1079)](e,o),$[n(968)](e,{type:Te[n(795)],ts:r,isIFrame:o,cts:i}))}else if(o===Qe[n(1176)]){const e=s===et.FT_KEY;e&&$.calcIframeIntervalTimestamp(r);let i=rn(t.slice(5),e);i=$[n(1079)](i,e),$[n(968)](i,{type:Te[n(795)],ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&Ze)===Ze},findSei:function(t,r){const n=e;let i=4;Rt(L)&&(i=L),It(t.slice(5),i)[n(738)]((e=>{const t=n,i=$[t(735)]?e[0]>>>1&63:31&e[0],s=$.isHevc&&(i===Ne[t(541)]||i===Ne[t(1223)]),o=Yt($[t(735)])&&i===Oe[t(330)];if(s||o){const t=Et(e,$.isHevc);postMessage({cmd:Ce.videoSEI,buffer:t.payload,ts:r},[t.payload.buffer])}}))},calcNetworkDelay:function(t){const r=e;if(!(y&&t>0))return;null===I?(I=t,E=Mt()):tn?i-n:0;$.networkDelay=s,s>$[r(710)][r(984)]&&$[r(710)].playType===de[r(825)]&&($[r(571)](r(613),r(726)+t+r(532)+I+r(381)+n+r(350)+i+r(1115)+s),postMessage({cmd:Ce.workerFetch,type:Me.networkDelayTimeout,value:s}))},calcIframeIntervalTimestamp:function(t){null===D?D=t:D=$[t(710)].playbackForwardMaxRateDecodeIFrame&&!($[t(710)][t(499)]&&$[t(710)].mseDecodeAudio)},isPlayUseMSE:function(){const t=e;return $[t(422)]&&$[t(710)][t(499)]&&qt(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return $[t(371)]()&&$[t(710)][t(583)]},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return $[t(1061)]()&&$[t(710)].mseDecodeAudio},playbackUpdatePlaybackRate:function(){Yt($.isPlaybackCacheBeforeDecodeForFpsRender())&&$.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;$[r(873)](r(613),r(554)),t[r(526)](),F=!0,$[r(575)].destroy(),$.webglObj=null,$[r(487)]=null,setTimeout((()=>{const e=r;$[e(487)]=$[e(996)][e(659)](e(1001)),$[e(487)]&&$.offscreenCanvasGL[e(519)]()[e(334)]?($[e(575)]=oe($[e(487)],$[e(710)][e(853)]),F=!1):$[e(873)](e(613),"handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;$.debugLog("worker",r(734)),t[r(526)]()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:Ce[i(539)],code:t}),postMessage({cmd:Ce[i(469)],w:r,h:n}),p=r,m=n,$.useOffscreen()&&($[i(996)]=new OffscreenCanvas(r,n),$[i(487)]=$.offscreenCanvas.getContext(i(1001)),$[i(575)]=oe($[i(487)],$[i(710)][i(853)]),$[i(996)].addEventListener(i(993),$[i(601)],!1),$[i(996)][i(928)](i(1149),$[i(982)],!1))},audioInfo:function(t,r,n){const i=e;postMessage({cmd:Ce[i(1150)],code:t}),postMessage({cmd:Ce[i(733)],sampleRate:r,channels:n,depth:O}),x=n},yuvData:function(r,n){const i=e;if($[i(1013)])return void $.debugLog(i(613),"yuvData, decoder is destroyed and return");const s=p*m*3/2;let o=t[i(1226)][i(314)](r,r+s),a=new Uint8Array(o);if(k=null,b=n,$.useOffscreen())try{if(F)return;$[i(575)][i(547)](p,m,a);let e=$.offscreenCanvas[i(1018)]();postMessage({cmd:Ce.render,buffer:e,delay:$[i(336)],ts:n},[e])}catch(e){$.debugError(i(613),"yuvData, transferToImageBitmap error is",e,e[i(913)]())}else postMessage({cmd:Ce[i(830)],output:a,delay:$.delay,ts:n},[a[i(569)]])},pcmData:function(t,n,i){const s=e;if($[s(1013)])return void $.debugLog(s(613),"pcmData, decoder is destroyed and return");let a=n,c=[],u=0,l=$[s(710)][s(354)];for(let e=0;e<2;e++){let n=r[s(682)][(t>>2)+e]>>2;c[e]=r[s(878)][s(314)](n,n+a)}if(T){if(!(a>=(n=l-T)))return T+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==x&&(o[1]=Float32Array.of(...o[1],...c[1])));A[0]=Float32Array.of(...o[0],...c[0][s(314)](0,n)),2==x&&(A[1]=Float32Array.of(...o[1],...c[1][s(314)](0,n))),postMessage({cmd:Ce[s(1241)],buffer:A,ts:i},A.map((e=>e[s(569)]))),u=n,a-=n}for(T=a;T>=l;T-=l)A[0]=c[0][s(705)](u,u+=l),2==x&&(A[1]=c[1].slice(u-l,u)),postMessage({cmd:Ce[s(1241)],buffer:A,ts:i},A.map((e=>e.buffer)));T&&(o[0]=c[0][s(705)](u),2==x&&(o[1]=c[1].slice(u))),c=[]},errorInfo:function(t){const r=e;null===k&&(k=Mt());const n=Mt(),i=Bt(C>0?2*C:5e3,1e3,5e3),s=n-k;s>i&&($[r(571)]("worker",r(1177)+C+r(388)+s+r(668)+i+r(770)),R=!0,postMessage({cmd:Ce[r(761)]}))},sendWebsocketMessage:function(t){const r=e;u?u[r(870)]===Fe[r(1111)]?u[r(1002)](t):$.debugError(r(613),r(948)):$[r(873)]("worker",r(1233))},timeEnd(){const t=e;$.debugError(t(613),t(415)),$.close(),postMessage({cmd:Ce[t(1114)]})},postStreamToMain(t,r){const n=e;postMessage({cmd:Ce[n(863)],type:r,buffer:t},[t[n(569)]])},updatePlaybackIsPause(t){const r=e;$[r(419)](r(613),"updatePlaybackIsPause, isPause is "+t),qt(t)?$[r(915)]():$[r(739)]()},getBuildTime:()=>be+"-"+we,validatedFailed(){const t=e;$[t(873)](t(613),"validatedFailed, please contact the author to get the correct license")},debugLog(t){const r=e;if($[r(710)][r(358)]&&$[r(358)]){for(var n=arguments[r(1073)],i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:Ce[n(469)],w:t,h:r}),$[n(961)]()&&($[n(996)]=new OffscreenCanvas(t,r),$[n(487)]=$[n(996)][n(659)]("webgl"),$[n(575)]=oe($[n(487)],$[n(710)][n(853)]),$[n(996)].addEventListener("webglcontextlost",$[n(601)],!1),$[n(996)][n(928)](n(1149),$.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(t,r){x=t,postMessage({cmd:Ce[e(733)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if($[s(1013)])return void $[s(419)]("worker",s(937));let a=n,c=[],u=0,l=$[s(710)].audioBufferSize;for(let e=0;e<2;e++){let n=r.HEAPU32[(t>>2)+e]>>2;c[e]=r.HEAPF32[s(314)](n,n+a)}if(T){if(!(a>=(n=l-T)))return T+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==x&&(o[1]=Float32Array.of(...o[1],...c[1])));A[0]=Float32Array.of(...o[0],...c[0][s(314)](0,n)),2==x&&(A[1]=Float32Array.of(...o[1],...c[1].subarray(0,n))),postMessage({cmd:Ce[s(1241)],buffer:A,ts:i},A.map((e=>e[s(569)]))),u=n,a-=n}for(T=a;T>=l;T-=l)A[0]=c[0][s(705)](u,u+=l),2==x&&(A[1]=c[1][s(705)](u-l,u)),postMessage({cmd:Ce[s(1241)],buffer:A,ts:i},A[s(901)]((e=>e[s(569)])));T&&(o[0]=c[0].slice(u),2==x&&(o[1]=c[1][s(705)](u))),c=[]},draw:function(r,n,i,s){const o=e;if($.isDestroyed)return void $.debugLog(o(613),o(617));const a=t.HEAPU8[o(314)](n,n+H),c=t[o(1226)][o(314)](i,i+V),u=t[o(1226)][o(314)](s,s+V),l=new Uint8Array(H+V+V);if(l.set(a),l[o(304)](c,H),l[o(304)](u,H+V),k=null,b=r,$.useOffscreen())try{if(F)return;$[o(575)].renderYUV(p,m,l);let e=$[o(996)][o(1018)]();postMessage({cmd:Ce[o(830)],buffer:e,delay:$[o(336)],ts:r},[e])}catch(e){$[o(873)](o(613),"yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:Ce.render,output:l,delay:$[o(336)],ts:r},[l[o(569)]])}}));let J=null;r[e(933)]&&(J=new(r[e(933)])($));let Z=null;t[e(1123)]&&(Z=new(t[e(1123)])($)),postMessage({cmd:Ce[e(516)]}),self[e(930)]=function(t){const r=e;let n=t[r(702)];switch(n[r(355)]){case De[r(516)]:try{$._opt=Object[r(920)]($[r(710)],JSON[r(865)](n[r(706)]))}catch(e){}$[r(419)](r(613),"onmessage:"+De.init,n[r(706)]);break;case De[r(968)]:$.pushBuffer(n[r(569)],n.options);break;case De[r(698)]:$[r(680)](n[r(569)],n.ts);break;case De[r(1120)]:$[r(931)](n[r(569)],n.ts,n[r(1152)]);break;case De[r(693)]:$.clearBuffer(n[r(515)]);break;case De.fetchStream:$[r(320)](n[r(877)],JSON[r(865)](n.opt),n.protocols);break;case De[r(747)]:$[r(419)]("worker",r(478)+De[r(747)],JSON[r(1187)](n[r(351)])),n[r(351)]&&Yt(n[r(351)][r(956)])&&(z=n[r(351)][r(956)]),$[r(747)]();break;case De[r(427)]:$[r(419)](r(613),"onmessage:"+De[r(427)],n.key,n[r(953)]),$[r(710)][n[r(629)]]=n[r(953)],"playbackRate"===n[r(629)]&&($[r(812)](),$[r(621)]()&&$[r(1057)]());break;case De[r(638)]:$.sendWebsocketMessage(n.message);break;case De[r(470)]:X.$video.currentTime=Number(n.message);break;case De.playbackIsPause:$[r(805)](n[r(844)])}}}(f,f,!1,!0)}})); diff --git a/demo/public/pro/js/decoder-pro-simd-mt.js b/demo/public/pro/js/decoder-pro-simd-mt.js index 6a37066a..8f520c7f 100644 --- a/demo/public/pro/js/decoder-pro-simd-mt.js +++ b/demo/public/pro/js/decoder-pro-simd-mt.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,i,n;(n=e).ready=new Promise(((e,r)=>{t=e,i=r})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-simd-mt-worker.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_SIMD_MT_WORKER_WASM_URL&&""!=JESSIBUCA_PRO_SIMD_MT_WORKER_WASM_URL?JESSIBUCA_PRO_SIMD_MT_WORKER_WASM_URL:e};var s,a,o,d=Object.assign({},n),l=(e,t)=>{throw t},c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f=n.ENVIRONMENT_IS_PTHREAD||!1,p="";function m(e){return n.locateFile?n.locateFile(e,p):p+e}if(h){const{createRequire:e}=await import("module");var _=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href),g=_("fs"),y=_("path");let t;p=u?y.dirname(p)+"/":_("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href)),s=(e,t)=>(e=te(e)?new URL(e):y.normalize(e),g.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=te(e)?new URL(e):y.normalize(e),g.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),l=(e,t)=>{throw process.exitCode=e,t},n.inspect=()=>"[Emscripten Module object]";try{t=_("worker_threads")}catch(e){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),e}global.Worker=t.Worker}else(c||u)&&(u?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),r&&(p=r),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",h||(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)}));h&&"undefined"==typeof performance&&(global.performance=_("perf_hooks").performance);var v=console.log.bind(console),b=console.error.bind(console);h&&(v=function(){for(var e=arguments.length,t=new Array(e),r=0;re.startsWith(Q),te=e=>e.startsWith("file://");function re(e){if(e==J&&w)return new Uint8Array(w);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ie(e){if(!w&&(c||u)){if("function"==typeof fetch&&!te(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>re(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>re(e)))}function ne(e,t,r){return ie(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{U(`failed to asynchronously prepare wasm: ${e}`),Z(e)}))}function se(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||ee(t)||te(t)||h||"function"!=typeof fetch?ne(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return U(`wasm streaming compile failed: ${e}`),U("falling back to ArrayBuffer instantiation"),ne(t,r,i)}))))}function ae(){var e={a:hi};function t(e,t){return fi=e.exports,Le(fi.R),Te=fi.V,V(fi.N),E=t,X(),fi}if(K(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){U(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return se(w,J,e,(function(e){t(e.instance,e.module)})).catch(i),{}}function oe(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?ee(J="decoder-pro-simd-mt-worker.wasm")||(J=m(J)):J=new URL("decoder-pro-simd-mt-worker.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href).href;var de=e=>{e.terminate(),e.onmessage=e=>{}},le=e=>{var t=Ae.pthreads[e];delete Ae.pthreads[e],de(t),wi(e),Ae.runningWorkers.splice(Ae.runningWorkers.indexOf(t),1),t.pthread_ptr=0},ce=e=>{Ae.pthreads[e].postMessage({cmd:"cancel"})},ue=e=>{var t=Ae.pthreads[e];Ae.returnWorkerToPool(t)},he=e=>{var t=Ae.getNewWorker();if(!t)return 6;Ae.runningWorkers.push(t),Ae.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var r={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return h&&t.unref(),t.postMessage(r,e.transferList),0},fe=0,pe=()=>Pe||fe>0,me="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,_e=(e,t,r)=>{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&me)return me.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,n):e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},ge=(e,t)=>e?_e(T,e,t):"",ye=e=>{var t=Ui(),r=e();return xi(t),r},ve=function(e,t){var r=arguments.length-2,i=arguments;return ye((()=>{for(var n=r,s=Bi(8*n),a=s>>3,o=0;o{if(x=e,f)throw Be(e),"unwind";be(e)},Se=we,Ee=e=>{if(e instanceof oe||"unwind"==e)return x;l(1,e)},Ae={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){f?Ae.initWorker():Ae.initMainThread()},initMainThread(){for(var e=8;e--;)Ae.allocateUnusedWorker();W((()=>{K(),Ae.loadWasmModuleToAllWorkers((()=>X()))}))},initWorker(){Pe=!1},setExitStatus:e=>{x=e},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var e of Ae.runningWorkers)de(e);for(var e of Ae.unusedWorkers)de(e);Ae.unusedWorkers=[],Ae.runningWorkers=[],Ae.pthreads=[]},returnWorkerToPool:e=>{var t=e.pthread_ptr;delete Ae.pthreads[t],Ae.unusedWorkers.push(e),Ae.runningWorkers.splice(Ae.runningWorkers.indexOf(e),1),e.pthread_ptr=0,wi(t)},receiveObjectTransfer(e){},threadInitTLS(){Ae.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=r=>{var i=r.data,s=i.cmd;if(i.targetThread&&i.targetThread!=_i()){var a=Ae.pthreads[i.targetThread];a?a.postMessage(i,i.transferList):U(`Internal error! Worker sent a message "${s}" to target pthread ${i.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===s?Fr():"spawnThread"===s?he(i):"cleanupThread"===s?ue(i.thread):"killThread"===s?le(i.thread):"cancelThread"===s?ce(i.thread):"loaded"===s?(e.loaded=!0,h&&!e.pthread_ptr&&e.unref(),t(e)):"alert"===s?alert(`Thread ${i.threadId}: ${i.text}`):"setimmediate"===i.target?e.postMessage(i):"callHandler"===s?n[i.handler](...i.args):s&&U(`worker sent an unknown command ${s}`)},e.onerror=e=>{throw U(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},h&&(e.on("message",(t=>e.onmessage({data:t}))),e.on("error",(t=>e.onerror(t))));var r=[];for(var i of["onExit","onAbort","print","printErr"])n.hasOwnProperty(i)&&r.push(i);e.postMessage({cmd:"load",handlers:r,urlOrBlob:n.mainScriptUrlOrBlob,wasmMemory:S,wasmModule:E})})),loadWasmModuleToAllWorkers(e){if(f)return e();Promise.all(Ae.unusedWorkers.map(Ae.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker(){var e;if(n.locateFile){var t=m("decoder-pro-simd-mt-worker.worker.js");e=new Worker(t,{type:"module"})}else e=new Worker(new URL("decoder-pro-simd-mt-worker.worker.js","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href),{type:"module"});Ae.unusedWorkers.push(e)},getNewWorker:()=>(0==Ae.unusedWorkers.length&&(Ae.allocateUnusedWorker(),Ae.loadWasmModuleToWorker(Ae.unusedWorkers[0])),Ae.unusedWorkers.pop())};n.PThread=Ae;var Ue=e=>{for(;e.length>0;)e.shift()(n)},xe=()=>{var e=_i(),t=P[e+52>>2],r=P[e+56>>2];Ai(t,t-r),xi(t)};function Be(e){if(f)return ve(1,0,e);Se(e)}n.establishStackSpace=xe;var Te,ke=[],Ce=e=>{var t=ke[e];return t||(e>=ke.length&&(ke.length=e+1),ke[e]=t=Te.get(e)),t},De=(e,t)=>{!function(e){pe()?Ae.setExitStatus(e):Si(e)}(Ce(e)(t))};n.invokeEntryPoint=De;var Pe=n.noExitRuntime||!0,Le=e=>{Ae.tlsInitFunctions.push(e)},Fe=(e,t,r,i)=>{Z(`Assertion failed: ${ge(e)}, at: `+[t?ge(t):"unknown filename",r,i?ge(i):"unknown function"])};function Ie(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){P[this.ptr+4>>2]=e},this.get_type=function(){return P[this.ptr+4>>2]},this.set_destructor=function(e){P[this.ptr+8>>2]=e},this.get_destructor=function(){return P[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,B[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=B[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,B[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=B[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){P[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return P[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Ti(this.get_type()))return P[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var Me=(e,t,r)=>{throw new Ie(e).init(t,r),e},Re=e=>{yi(e,!u,1,!c,16777216,!1),Ae.threadInitTLS()},ze=e=>{f?postMessage({cmd:"cleanupThread",thread:e}):ue(e)};function Ne(e,t,r,i){return f?ve(2,1,e,t,r,i):He(e,t,r,i)}var $e,Oe,Ge,He=(e,t,r,i)=>{if("undefined"==typeof SharedArrayBuffer)return U("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var n=[];if(f&&0===n.length)return Ne(e,t,r,i);var s={startRoutine:r,pthread_ptr:e,arg:i,transferList:n};return f?(s.cmd="spawnThread",postMessage(s,n),0):he(s)},We=(e,t,r,i,n)=>{},Ve=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);$e=e},je=e=>{for(var t="",r=e;T[r];)t+=$e[T[r++]];return t},qe={},Ye={},Ke={},Xe=e=>{throw new Oe(e)},Ze=e=>{throw new Ge(e)},Je=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Ze("Mismatched type converter count");for(var n=0;n{Ye.hasOwnProperty(e)?n[t]=Ye[e]:(s.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{n[t]=Ye[e],++a===s.length&&i(n)})))})),0===s.length&&i(n)};function Qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||Xe(`type "${i}" must have a positive integer typeid pointer`),Ye.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Xe(`Cannot register type '${i}' twice`)}if(Ye[e]=t,delete Ke[e],qe.hasOwnProperty(e)){var n=qe[e];delete qe[e],n.forEach((e=>e()))}}function et(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Qe(e,t,r)}var tt,rt=8,it=(e,t,r,i)=>{et(e,{name:t=je(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:rt,readValueFromPointer:function(e){return this.fromWireType(T[e])},destructorFunction:null})},nt=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),st=e=>{Xe(e.$$.ptrType.registeredClass.name+" instance already deleted")},at=!1,ot=e=>{},dt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},lt=e=>{e.count.value-=1,0===e.count.value&&dt(e)},ct=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=ct(e,t,r.baseClass);return null===i?null:r.downcast(i)},ut={},ht=()=>Object.keys(yt).length,ft=()=>{var e=[];for(var t in yt)yt.hasOwnProperty(t)&&e.push(yt[t]);return e},pt=[],mt=()=>{for(;pt.length;){var e=pt.pop();e.$$.deleteScheduled=!1,e.delete()}},_t=e=>{tt=e,pt.length&&tt&&tt(mt)},gt=()=>{n.getInheritedInstanceCount=ht,n.getLiveInheritedInstances=ft,n.flushPendingDeletes=mt,n.setDelayFunction=_t},yt={},vt=(e,t)=>{for(void 0===t&&Xe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},bt=(e,t)=>(t=vt(e,t),yt[t]),wt=(e,t)=>(t.ptrType&&t.ptr||Ze("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ze("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Et(Object.create(e,{$$:{value:t}})));function St(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=bt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?wt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):wt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=ut[a];if(!o)return n.call(this);s=this.isConst?o.constPointerType:o.pointerType;var d=ct(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?wt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):wt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var Et=e=>"undefined"==typeof FinalizationRegistry?(Et=e=>e,e):(at=new FinalizationRegistry((e=>{lt(e.$$)})),Et=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};at.register(e,r,e)}return e},ot=e=>at.unregister(e),Et(e)),At=()=>{Object.assign(Ut.prototype,{isAliasOf(e){if(!(this instanceof Ut))return!1;if(!(e instanceof Ut))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||st(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Et(Object.create(Object.getPrototypeOf(this),{$$:{value:nt(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||st(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Xe("Object already scheduled for deletion"),ot(this),lt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||st(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Xe("Object already scheduled for deletion"),pt.push(this),1===pt.length&&tt&&tt(mt),this.$$.deleteScheduled=!0,this}})};function Ut(){}var xt=(e,t)=>Object.defineProperty(t,"name",{value:e}),Bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Xe(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},Tt=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&Xe(`Cannot register public name '${e}' twice`),Bt(n,e,e),n.hasOwnProperty(r)&&Xe(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},kt=48,Ct=57,Dt=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=kt&&t<=Ct?`_${e}`:e};function Pt(e,t,r,i,n,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Lt=(e,t,r)=>{for(;t!==r;)t.upcast||Xe(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ft(e,t){if(null===t)return this.isReference&&Xe(`null is not a valid ${this.name}`),0;t.$$||Xe(`Cannot pass "${hr(t)}" as a ${this.name}`),t.$$.ptr||Xe(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Lt(t.$$.ptr,r,this.registeredClass)}function It(e,t){var r;if(null===t)return this.isReference&&Xe(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Xe(`Cannot pass "${hr(t)}" as a ${this.name}`),t.$$.ptr||Xe(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Xe(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Lt(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Xe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Xe(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,lr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Xe("Unsupporting sharing policy")}return r}function Mt(e,t){if(null===t)return this.isReference&&Xe(`null is not a valid ${this.name}`),0;t.$$||Xe(`Cannot pass "${hr(t)}" as a ${this.name}`),t.$$.ptr||Xe(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Xe(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Lt(t.$$.ptr,r,this.registeredClass)}function Rt(e){return this.fromWireType(P[e>>2])}var zt=()=>{Object.assign(Nt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:rt,readValueFromPointer:Rt,deleteObject(e){null!==e&&e.delete()},fromWireType:St})};function Nt(e,t,r,i,n,s,a,o,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=It:i?(this.toWireType=Ft,this.destructorFunction=null):(this.toWireType=Mt,this.destructorFunction=null)}var $t,Ot=(e,t,r)=>{n.hasOwnProperty(e)||Ze("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Gt=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Ht=(e,t,r)=>e.includes("j")?Gt(e,t,r):Ce(t).apply(null,r),Wt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Ht(e,t,r)}},Vt=(e,t)=>{var r=(e=je(e)).includes("j")?Wt(e,t):Ce(t);return"function"!=typeof r&&Xe(`unknown function pointer with signature ${e}: ${t}`),r},jt=(e,t)=>{var r=xt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},qt=e=>{var t=gi(e),r=je(t);return pi(t),r},Yt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Ye[t]||(Ke[t]?Ke[t].forEach(e):(r.push(t),i[t]=!0))})),new $t(`${e}: `+r.map(qt).join([", "]))},Kt=(e,t,r,i,n,s,a,o,d,l,c,u,h)=>{c=je(c),s=Vt(n,s),o&&(o=Vt(a,o)),l&&(l=Vt(d,l)),h=Vt(u,h);var f=Dt(c);Tt(f,(function(){Yt(`Cannot construct ${c} due to unbound types`,[i])})),Je([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:Ut.prototype;var a=xt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Oe("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Oe(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Oe(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:a}});a.prototype=d;var u=new Pt(c,a,d,h,r,s,o,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Nt(c,u,!0,!1,!1),m=new Nt(c+"*",u,!1,!1,!1),_=new Nt(c+" const*",u,!1,!0,!1);return ut[e]={pointerType:m,constPointerType:_},Ot(f,a),[p,m,_]}))},Xt=(e,t)=>{for(var r=[],i=0;i>2]);return r},Zt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Jt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=xt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Qt(e,t,r,i,n,s){var a=t.length;a<2&&Xe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=o?1:2;l{var a=Xt(t,r);n=Vt(i,n),Je([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Oe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Yt(`Cannot construct ${e.name} due to unbound types`,a)},Je([],a,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Qt(r,i,null,n,s),[]))),[]}))},tr=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},rr=(e,t,r,i,n,s,a,o,d)=>{var l=Xt(r,i);t=je(t),t=tr(t),s=Vt(n,s),Je([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Yt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(Bt(c,t,i),c[t].overloadTable[r-2]=n),Je([],l,(function(n){var o=Qt(i,n,e,s,a,d);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))};function ir(){Object.assign(nr.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function nr(){this.allocated=[void 0],this.freelist=[]}var sr=new nr,ar=e=>{e>=sr.reserved&&0==--sr.get(e).refcount&&sr.free(e)},or=()=>{for(var e=0,t=sr.reserved;t{sr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),sr.reserved=sr.allocated.length,n.count_emval_handles=or},lr={toValue:e=>(e||Xe("Cannot use deleted val. handle = "+e),sr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return sr.allocate({refcount:1,value:e})}}};function cr(e){return this.fromWireType(D[e>>2])}var ur=(e,t)=>{et(e,{name:t=je(t),fromWireType:e=>{var t=lr.toValue(e);return ar(e),t},toWireType:(e,t)=>lr.toHandle(t),argPackAdvance:rt,readValueFromPointer:cr,destructorFunction:null})},hr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},fr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(L[e>>2])};case 8:return function(e){return this.fromWireType(F[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},pr=(e,t,r)=>{et(e,{name:t=je(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:rt,readValueFromPointer:fr(t,r),destructorFunction:null})},mr=(e,t,r)=>{switch(t){case 1:return r?e=>B[e>>0]:e=>T[e>>0];case 2:return r?e=>k[e>>1]:e=>C[e>>1];case 4:return r?e=>D[e>>2]:e=>P[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},_r=(e,t,r,i,n)=>{t=je(t);var s=e=>e;if(0===i){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");et(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:rt,readValueFromPointer:mr(t,r,0!==i),destructorFunction:null})},gr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=P[e>>2],r=P[e+4>>2];return new i(B.buffer,r,t)}et(e,{name:r=je(r),fromWireType:n,argPackAdvance:rt,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},yr=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n},vr=(e,t,r)=>yr(e,T,t,r),br=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},wr=(e,t)=>{var r="std::string"===(t=je(t));et(e,{name:t,fromWireType(e){var t,i=P[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=i;++a){var o=n+a;if(a==i||0==T[o]){var d=ge(s,o-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=o+1}}else{var l=new Array(i);for(a=0;a>2]=i,r&&n)vr(t,a,i+1);else if(n)for(var o=0;o255&&(pi(a),Xe("String has UTF-16 code units that do not fit in 8 bits")),T[a+o]=d}else for(o=0;o{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&C[i];)++i;if((r=i<<1)-e>32&&Sr)return Sr.decode(T.slice(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=k[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},Ar=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return k[t>>1]=0,t-i},Ur=e=>2*e.length,xr=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=D[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},Br=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),D[t>>2]=a,(t+=4)+4>n)break}return D[t>>2]=0,t-i},Tr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},kr=(e,t,r)=>{var i,n,s,a,o;r=je(r),2===t?(i=Er,n=Ar,a=Ur,s=()=>C,o=1):4===t&&(i=xr,n=Br,a=Tr,s=()=>P,o=2),et(e,{name:r,fromWireType:e=>{for(var r,n=P[e>>2],a=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>o]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return pi(e),r},toWireType:(e,i)=>{"string"!=typeof i&&Xe(`Cannot pass non-string to C++ string type ${r}`);var s=a(i),d=mi(4+s+t);return P[d>>2]=s>>o,n(i,d+4,s+t),null!==e&&e.push(pi,d),d},argPackAdvance:rt,readValueFromPointer:cr,destructorFunction(e){pi(e)}})},Cr=(e,t)=>{et(e,{isVoid:!0,name:t=je(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Dr=()=>{if(!pe())try{f?Si(x):Se(x)}catch(e){Ee(e)}},Pr=e=>{if(!I)try{e(),Dr()}catch(e){Ee(e)}},Lr=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(D,e>>2,e).value.then(Fr);var t=e+128;Atomics.store(D,t>>2,1)}};n.__emscripten_thread_mailbox_await=Lr;var Fr=()=>{var e=_i();e&&(Lr(e),Pr(Ei))};n.checkMailbox=Fr;var Ir,Mr=(e,t,r)=>{if(e==t)setTimeout((()=>Fr()));else if(f)postMessage({targetThread:e,cmd:"checkMailbox"});else{var i=Ae.pthreads[e];if(!i)return;i.postMessage({cmd:"checkMailbox"})}},Rr=[],zr=(e,t,r,i)=>{Rr.length=r;for(var n=i>>3,s=0;s{h&&Ae.pthreads[e].ref()},$r={},Or=e=>{var t=$r[e];return void 0===t?je(e):t},Gr=[],Hr=(e,t,r,i,n)=>(e=Gr[e])(t=lr.toValue(t),t[r=Or(r)],i,n),Wr=e=>{var t=Gr.length;return Gr.push(e),t},Vr=(e,t)=>{var r=Ye[e];return void 0===r&&Xe(t+" has unknown type "+qt(e)),r},jr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},qr=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(P[t>>2]=lr.toHandle(i)),n},Yr=(e,t,r)=>{var i=jr(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return Wr(xt(h,u))},Kr=e=>{e>4&&(sr.get(e).refcount+=1)},Xr=e=>lr.toHandle(Or(e)),Zr=()=>lr.toHandle({}),Jr=e=>lr.toHandle(ge(e)),Qr=e=>{var t=lr.toValue(e);Zt(t),ar(e)},ei=(e,t,r)=>{e=lr.toValue(e),t=lr.toValue(t),r=lr.toValue(r),e[t]=r},ti=(e,t)=>{var r=(e=Vr(e,"_emval_take_value")).readValueFromPointer(t);return lr.toHandle(r)},ri=()=>{Z("")},ii=()=>{},ni=()=>{fe+=1},si=()=>{throw ni(),"unwind"};Ir=()=>performance.timeOrigin+performance.now();var ai=e=>{Z("OOM")},oi=e=>{T.length,ai()},di=[null,[],[]],li=(e,t)=>{var r=di[e];0===t||10===t?((1===e?A:U)(_e(r,0)),r.length=0):r.push(t)};function ci(e,t,r,i){if(f)return ve(3,1,e,t,r,i);for(var n=0,s=0;s>2],o=P[t+4>>2];t+=8;for(var d=0;d>2]=n,0}Ae.init(),Ve(),Oe=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Ge=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},At(),gt(),zt(),$t=n.UnboundTypeError=jt(Error,"UnboundTypeError"),ir(),dr();var ui=[be,Be,Ne,ci],hi={e:Fe,s:Me,D:Re,m:ze,A:He,v:We,J:it,u:Kt,t:er,j:rr,I:ur,o:pr,c:_r,b:gr,p:wr,k:kr,K:Cr,x:Mr,E:zr,C:Lr,G:Nr,h:Hr,d:ar,g:Yr,L:Kr,q:Xr,H:Zr,B:Jr,i:Qr,r:ei,M:ti,l:ri,n:ii,F:si,f:Ir,w:oi,z:Se,y:ci,a:S||n.wasmMemory},fi=ae(),pi=e=>(pi=fi.O)(e),mi=e=>(mi=fi.P)(e),_i=n._pthread_self=()=>(_i=n._pthread_self=fi.Q)();n.__emscripten_tls_init=()=>(n.__emscripten_tls_init=fi.R)();var gi=e=>(gi=fi.S)(e);n.__embind_initialize_bindings=()=>(n.__embind_initialize_bindings=fi.T)();var yi=n.__emscripten_thread_init=(e,t,r,i,s,a)=>(yi=n.__emscripten_thread_init=fi.U)(e,t,r,i,s,a);n.__emscripten_thread_crashed=()=>(n.__emscripten_thread_crashed=fi.W)();var vi,bi=(e,t,r,i)=>(bi=fi.X)(e,t,r,i),wi=e=>(wi=fi.Y)(e),Si=n.__emscripten_thread_exit=e=>(Si=n.__emscripten_thread_exit=fi.Z)(e),Ei=()=>(Ei=fi._)(),Ai=(e,t)=>(Ai=fi.$)(e,t),Ui=()=>(Ui=fi.aa)(),xi=e=>(xi=fi.ba)(e),Bi=e=>(Bi=fi.ca)(e),Ti=e=>(Ti=fi.da)(e);function ki(){if(!(q>0)){if(f)return t(n),G(),void startWorker(n);O(),q>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e())}function e(){vi||(vi=!0,n.calledRun=!0,I||(G(),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),H()))}}if(n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=fi.ea)(e,t,r,i,s),n.___start_em_js=143548,n.___stop_em_js=143605,n.wasmMemory=S,n.keepRuntimeAlive=pe,n.ExitStatus=oe,n.PThread=Ae,Y=function e(){vi||ki(),vi||(Y=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return ki(),e.ready}),a=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,i,n;(n=t).ready=new Promise(((e,t)=>{r=e,i=t})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,a,o,d=Object.assign({},n),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return n.locateFile?n.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href)),s=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=n.print||console.log.bind(console),w=n.printErr||console.error.bind(console);Object.assign(n,d),d=null,n.arguments&&n.arguments,n.thisProgram&&(l=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(y=n.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,U,x,B,T,k,C=!1;function D(e,t){e||j(t)}function P(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=A=new Int16Array(e),n.HEAPU8=E=new Uint8Array(e),n.HEAPU16=U=new Uint16Array(e),n.HEAP32=x=new Int32Array(e),n.HEAPU32=B=new Uint32Array(e),n.HEAPF32=T=new Float32Array(e),n.HEAPF64=k=new Float64Array(e)}var L=[],F=[],I=[];function M(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)N(n.preRun.shift());ne(L)}function R(){n.noFSInit||ke.init.initialized||ke.init(),ke.ignorePermissions=!1,ne(F)}function z(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)O(n.postRun.shift());ne(I)}function N(e){L.unshift(e)}function $(e){F.unshift(e)}function O(e){I.unshift(e)}var G=0,H=null;function W(e){G++,n.monitorRunDependencies&&n.monitorRunDependencies(G)}function V(e){if(G--,n.monitorRunDependencies&&n.monitorRunDependencies(G),0==G&&H){var t=H;H=null,t()}}function j(e){n.onAbort&&n.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:ni};function t(e,t){return si=e.exports,v=si.E,P(),Lt=si.H,$(si.F),V(),si}if(W(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}n.locateFile?Z(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){B[this.ptr+4>>2]=e},this.get_type=function(){return B[this.ptr+4>>2]},this.set_destructor=function(e){B[this.ptr+8>>2]=e},this.get_destructor=function(){return B[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){B[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return B[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return B[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var ae=(e,t,r)=>{throw new se(e).init(t,r),e},oe=e=>(x[oi()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ke.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),a=s,o=0;o{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&he)return he.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a);if(o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ge(e,t,r){var i=r>0?r:me(e)+1,n=new Array(i),s=_e(e,n,0,n.length);return t&&(n.length=s),n}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},ke.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new ke.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new ke.ErrnoError(60);for(var s=0,a=0;aye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ke.isBlkdev(r)||ke.isFIFO(r))throw new ke.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:ke.chrdev_stream_ops}});var n=ke.createNode(e,t,r,i);return ke.isDir(n.mode)?(n.node_ops=we.ops_table.dir.node,n.stream_ops=we.ops_table.dir.stream,n.contents={}):ke.isFile(n.mode)?(n.node_ops=we.ops_table.file.node,n.stream_ops=we.ops_table.file.stream,n.usedBytes=0,n.contents=null):ke.isLink(n.mode)?(n.node_ops=we.ops_table.link.node,n.stream_ops=we.ops_table.link.stream):ke.isChrdev(n.mode)&&(n.node_ops=we.ops_table.chrdev.node,n.stream_ops=we.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ke.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ke.isDir(e.mode)?t.size=4096:ke.isFile(e.mode)?t.size=e.usedBytes:ke.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw ke.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(ke.isDir(e.mode)){var i;try{i=ke.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new ke.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ke.lookupNode(e,t);for(var i in r.contents)throw new ke.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ke.isLink(e.mode))throw new ke.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,i);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var n=i?"":`al ${e}`;a(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),n&&V()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&W()},Ee=(e,t,r,i,n,s)=>{ke.createDataFile(e,t,r,i,n,s)},Ae=n.preloadPlugins||[],Ue=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ae.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,i),n=!0)})),n},xe=(e,t,r,i,n,s,a,o,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),o||Ee(e,t,r,i,n,d),s&&s(),V()}Ue(r,c,u,(()=>{a&&a(),V()}))||u(r)}W(),"string"==typeof r?Se(r,(e=>u(e)),a):u(r)},Be=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},Te=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ke={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new ke.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ke.root,n="/",s=0;s40)throw new ke.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(ke.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%ke.nameTable.length},hashAddNode(e){var t=ke.hashName(e.parent.id,e.name);e.name_next=ke.nameTable[t],ke.nameTable[t]=e},hashRemoveNode(e){var t=ke.hashName(e.parent.id,e.name);if(ke.nameTable[t]===e)ke.nameTable[t]=e.name_next;else for(var r=ke.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=ke.mayLookup(e);if(r)throw new ke.ErrnoError(r,e);for(var i=ke.hashName(e.id,t),n=ke.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return ke.lookup(e,t)},createNode(e,t,r,i){var n=new ke.FSNode(e,t,r,i);return ke.hashAddNode(n),n},destroyNode(e){ke.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ke.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=ke.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{ke.lookupNode(e,t);return 20}catch(e){}return ke.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=ke.lookupNode(e,t)}catch(e){return e.errno}var n=ke.nodePermissions(e,"wx");if(n)return n;if(r){if(!ke.isDir(i.mode))return 54;if(ke.isRoot(i)||ke.getPath(i)===ke.cwd())return 10}else if(ke.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ke.isLink(e.mode)?32:ke.isDir(e.mode)&&("r"!==ke.flagsToPermissionString(t)||512&t)?31:ke.nodePermissions(e,ke.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ke.MAX_OPEN_FDS;e++)if(!ke.streams[e])return e;throw new ke.ErrnoError(33)},getStreamChecked(e){var t=ke.getStream(e);if(!t)throw new ke.ErrnoError(8);return t},getStream:e=>ke.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ke.FSStream||(ke.FSStream=function(){this.shared={}},ke.FSStream.prototype={},Object.defineProperties(ke.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ke.FSStream,e),-1==t&&(t=ke.nextfd()),e.fd=t,ke.streams[t]=e,e},closeStream(e){ke.streams[e]=null},chrdev_stream_ops:{open(e){var t=ke.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new ke.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){ke.devices[e]={stream_ops:t}},getDevice:e=>ke.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),ke.syncFSRequests++,ke.syncFSRequests>1&&w(`warning: ${ke.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=ke.getMounts(ke.root.mount),i=0;function n(e){return ke.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&ke.root)throw new ke.ErrnoError(10);if(!n&&!s){var a=ke.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ke.isMountpoint(i))throw new ke.ErrnoError(10);if(!ke.isDir(i.mode))throw new ke.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(o);return d.mount=o,o.root=d,n?ke.root=d:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),d},unmount(e){var t=ke.lookupPath(e,{follow_mount:!1});if(!ke.isMountpoint(t.node))throw new ke.ErrnoError(28);var r=t.node,i=r.mounted,n=ke.getMounts(i);Object.keys(ke.nameTable).forEach((e=>{for(var t=ke.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&ke.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=ke.lookupPath(e,{parent:!0}).node,n=de.basename(e);if(!n||"."===n||".."===n)throw new ke.ErrnoError(28);var s=ke.mayCreate(i,n);if(s)throw new ke.ErrnoError(s);if(!i.node_ops.mknod)throw new ke.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ke.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ke.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,ke.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new ke.ErrnoError(44);var r=ke.lookupPath(t,{parent:!0}).node;if(!r)throw new ke.ErrnoError(44);var i=de.basename(t),n=ke.mayCreate(r,i);if(n)throw new ke.ErrnoError(n);if(!r.node_ops.symlink)throw new ke.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n=de.dirname(e),s=de.dirname(t),a=de.basename(e),o=de.basename(t);if(r=ke.lookupPath(e,{parent:!0}).node,i=ke.lookupPath(t,{parent:!0}).node,!r||!i)throw new ke.ErrnoError(44);if(r.mount!==i.mount)throw new ke.ErrnoError(75);var d,l=ke.lookupNode(r,a),c=ue.relative(e,s);if("."!==c.charAt(0))throw new ke.ErrnoError(28);if("."!==(c=ue.relative(t,n)).charAt(0))throw new ke.ErrnoError(55);try{d=ke.lookupNode(i,o)}catch(e){}if(l!==d){var u=ke.isDir(l.mode),h=ke.mayDelete(r,a,u);if(h)throw new ke.ErrnoError(h);if(h=d?ke.mayDelete(i,o,u):ke.mayCreate(i,o))throw new ke.ErrnoError(h);if(!r.node_ops.rename)throw new ke.ErrnoError(63);if(ke.isMountpoint(l)||d&&ke.isMountpoint(d))throw new ke.ErrnoError(10);if(i!==r&&(h=ke.nodePermissions(r,"w")))throw new ke.ErrnoError(h);ke.hashRemoveNode(l);try{r.node_ops.rename(l,i,o)}catch(e){throw e}finally{ke.hashAddNode(l)}}},rmdir(e){var t=ke.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=ke.lookupNode(t,r),n=ke.mayDelete(t,r,!0);if(n)throw new ke.ErrnoError(n);if(!t.node_ops.rmdir)throw new ke.ErrnoError(63);if(ke.isMountpoint(i))throw new ke.ErrnoError(10);t.node_ops.rmdir(t,r),ke.destroyNode(i)},readdir(e){var t=ke.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ke.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=ke.lookupPath(e,{parent:!0}).node;if(!t)throw new ke.ErrnoError(44);var r=de.basename(e),i=ke.lookupNode(t,r),n=ke.mayDelete(t,r,!1);if(n)throw new ke.ErrnoError(n);if(!t.node_ops.unlink)throw new ke.ErrnoError(63);if(ke.isMountpoint(i))throw new ke.ErrnoError(10);t.node_ops.unlink(t,r),ke.destroyNode(i)},readlink(e){var t=ke.lookupPath(e).node;if(!t)throw new ke.ErrnoError(44);if(!t.node_ops.readlink)throw new ke.ErrnoError(28);return ue.resolve(ke.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=ke.lookupPath(e,{follow:!t}).node;if(!r)throw new ke.ErrnoError(44);if(!r.node_ops.getattr)throw new ke.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ke.stat(e,!0),chmod(e,t,r){var i;"string"==typeof e?i=ke.lookupPath(e,{follow:!r}).node:i=e;if(!i.node_ops.setattr)throw new ke.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){ke.chmod(e,t,!0)},fchmod(e,t){var r=ke.getStreamChecked(e);ke.chmod(r.node,t)},chown(e,t,r,i){var n;"string"==typeof e?n=ke.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new ke.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){ke.chown(e,t,r,!0)},fchown(e,t,r){var i=ke.getStreamChecked(e);ke.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new ke.ErrnoError(28);var r;"string"==typeof e?r=ke.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new ke.ErrnoError(63);if(ke.isDir(r.mode))throw new ke.ErrnoError(31);if(!ke.isFile(r.mode))throw new ke.ErrnoError(28);var i=ke.nodePermissions(r,"w");if(i)throw new ke.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=ke.getStreamChecked(e);if(0==(2097155&r.flags))throw new ke.ErrnoError(28);ke.truncate(r.node,t)},utime(e,t,r){var i=ke.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new ke.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Be(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=ke.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(i){if(128&t)throw new ke.ErrnoError(20)}else i=ke.mknod(e,r,0),s=!0;if(!i)throw new ke.ErrnoError(44);if(ke.isChrdev(i.mode)&&(t&=-513),65536&t&&!ke.isDir(i.mode))throw new ke.ErrnoError(54);if(!s){var a=ke.mayOpen(i,t);if(a)throw new ke.ErrnoError(a)}512&t&&!s&&ke.truncate(i,0),t&=-131713;var o=ke.createStream({node:i,path:ke.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!n.logReadFiles||1&t||(ke.readFiles||(ke.readFiles={}),e in ke.readFiles||(ke.readFiles[e]=1)),o},close(e){if(ke.isClosed(e))throw new ke.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ke.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ke.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ke.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(1==(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.read)throw new ke.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new ke.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=a),a},write(e,t,r,i,n,s){if(i<0||n<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(0==(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.write)throw new ke.ErrnoError(28);e.seekable&&1024&e.flags&&ke.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new ke.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,i,n,s);return a||(e.position+=o),o},allocate(e,t,r){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(t<0||r<=0)throw new ke.ErrnoError(28);if(0==(2097155&e.flags))throw new ke.ErrnoError(8);if(!ke.isFile(e.node.mode)&&!ke.isDir(e.node.mode))throw new ke.ErrnoError(43);if(!e.stream_ops.allocate)throw new ke.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new ke.ErrnoError(2);if(1==(2097155&e.flags))throw new ke.ErrnoError(2);if(!e.stream_ops.mmap)throw new ke.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new ke.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=ke.open(e,t.flags),n=ke.stat(e).size,s=new Uint8Array(n);return ke.read(i,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),ke.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ke.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(me(t)+1),s=_e(t,n,0,n.length);ke.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ke.write(i,t,0,t.byteLength,void 0,r.canOwn)}ke.close(i)},cwd:()=>ke.currentPath,chdir(e){var t=ke.lookupPath(e,{follow:!0});if(null===t.node)throw new ke.ErrnoError(44);if(!ke.isDir(t.node.mode))throw new ke.ErrnoError(54);var r=ke.nodePermissions(t.node,"x");if(r)throw new ke.ErrnoError(r);ke.currentPath=t.path},createDefaultDirectories(){ke.mkdir("/tmp"),ke.mkdir("/home"),ke.mkdir("/home/web_user")},createDefaultDevices(){ke.mkdir("/dev"),ke.registerDevice(ke.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),ke.mkdev("/dev/null",ke.makedev(1,3)),ve.register(ke.makedev(5,0),ve.default_tty_ops),ve.register(ke.makedev(6,0),ve.default_tty1_ops),ke.mkdev("/dev/tty",ke.makedev(5,0)),ke.mkdev("/dev/tty1",ke.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);ke.createDevice("/dev","random",r),ke.createDevice("/dev","urandom",r),ke.mkdir("/dev/shm"),ke.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ke.mkdir("/proc");var e=ke.mkdir("/proc/self");ke.mkdir("/proc/self/fd"),ke.mount({mount(){var t=ke.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=ke.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?ke.createDevice("/dev","stdin",n.stdin):ke.symlink("/dev/tty","/dev/stdin"),n.stdout?ke.createDevice("/dev","stdout",null,n.stdout):ke.symlink("/dev/tty","/dev/stdout"),n.stderr?ke.createDevice("/dev","stderr",null,n.stderr):ke.symlink("/dev/tty1","/dev/stderr"),ke.open("/dev/stdin",0),ke.open("/dev/stdout",1),ke.open("/dev/stderr",1)},ensureErrnoError(){ke.ErrnoError||(ke.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ke.ErrnoError.prototype=new Error,ke.ErrnoError.prototype.constructor=ke.ErrnoError,[44].forEach((e=>{ke.genericErrors[e]=new ke.ErrnoError(e),ke.genericErrors[e].stack=""})))},staticInit(){ke.ensureErrnoError(),ke.nameTable=new Array(4096),ke.mount(we,{},"/"),ke.createDefaultDirectories(),ke.createDefaultDevices(),ke.createSpecialDirectories(),ke.filesystems={MEMFS:we}},init(e,t,r){ke.init.initialized=!0,ke.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,ke.createStandardStreams()},quit(){ke.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;n||(a=i);var o=this;o.setDataGetter((e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ge(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!s&&i||(a=i=1,i=this.getter(0).length,a=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var d=ke.createFile(e,t,o,i,n);o.contents?d.contents=o.contents:o.url&&(d.contents=null,d.url=o.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,i);if(s.slice)for(var o=0;o{var t=d.stream_ops[e];l[e]=function(){return ke.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(ke.forceLoadFile(d),c(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{ke.forceLoadFile(d);var s=be();if(!s)throw new ke.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;-100===e?i=ke.cwd():i=De.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new ke.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(ke.getPath(e.node)))return-54;throw e}x[r>>2]=i.dev,x[r+4>>2]=i.mode,B[r+8>>2]=i.nlink,x[r+12>>2]=i.uid,x[r+16>>2]=i.gid,x[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[r+24>>2]=K[0],x[r+28>>2]=K[1],x[r+32>>2]=4096,x[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),a=i.ctime.getTime();return K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[r+40>>2]=K[0],x[r+44>>2]=K[1],B[r+48>>2]=n%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[r+56>>2]=K[0],x[r+60>>2]=K[1],B[r+64>>2]=s%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(Y=Math.floor(a/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[r+72>>2]=K[0],x[r+76>>2]=K[1],B[r+80>>2]=a%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[r+88>>2]=K[0],x[r+92>>2]=K[1],0},doMsync(e,t,r,i,n){if(!ke.isFile(t.node.mode))throw new ke.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);ke.msync(t,s,n,r,i)},varargs:void 0,get(){var e=x[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>ke.getStreamChecked(e)};function Pe(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((n=De.get())<0)return-28;for(;ke.streams[n];)n++;return ke.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=De.get();return i.flags|=n,0;case 5:n=De.getp();return A[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return-e.errno}}function Le(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var n=i?De.get():0;return ke.open(t,r,n).fd}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ie,Me,Re=(e,t,r,i,n)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},$e={},Oe={},Ge={},He=e=>{throw new Ie(e)},We=e=>{throw new Me(e)},Ve=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&We("Mismatched type converter count");for(var n=0;n{Oe.hasOwnProperty(e)?n[t]=Oe[e]:(s.push(e),$e.hasOwnProperty(e)||($e[e]=[]),$e[e].push((()=>{n[t]=Oe[e],++a===s.length&&i(n)})))})),0===s.length&&i(n)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Oe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Oe[e]=t,delete Ge[e],$e.hasOwnProperty(e)){var n=$e[e];delete $e[e],n.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},nt={},st=()=>Object.keys(ut).length,at=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},ot=[],dt=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,ot.length&&Ye&&Ye(dt)},ct=()=>{n.getInheritedInstanceCount=st,n.getLiveInheritedInstances=at,n.flushPendingDeletes=dt,n.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||We("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&We("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=nt[a];if(!o)return n.call(this);s=this.isConst?o.constPointerType:o.pointerType;var d=it(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(n,e,e),n.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function Ut(e,t,r,i,n,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var xt=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Bt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return xt(t.$$.ptr,r,this.registeredClass)}function Tt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=xt(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,sr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function kt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return xt(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(B[e>>2])}var Dt=()=>{Object.assign(Pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Pt(e,t,r,i,n,s,a,o,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=Tt:i?(this.toWireType=Bt,this.destructorFunction=null):(this.toWireType=kt,this.destructorFunction=null)}var Lt,Ft,It=(e,t,r)=>{n.hasOwnProperty(e)||We("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Mt=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Lt.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),$t=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Ot=(e,t)=>{var r=(e=Ne(e)).includes("j")?$t(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},Gt=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=di(e),r=Ne(t);return ai(t),r},Wt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Oe[t]||(Ge[t]?Ge[t].forEach(e):(r.push(t),i[t]=!0))})),new Ft(`${e}: `+r.map(Ht).join([", "]))},Vt=(e,t,r,i,n,s,a,o,d,l,c,u,h)=>{c=Ne(c),s=Ot(n,s),o&&(o=Ot(a,o)),l&&(l=Ot(d,l)),h=Ot(u,h);var f=At(c);wt(f,(function(){Wt(`Cannot construct ${c} due to unbound types`,[i])})),Ve([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:yt.prototype;var a=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Ie("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Ie(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Ie(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:a}});a.prototype=d;var u=new Ut(c,a,d,h,r,s,o,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Pt(c,u,!0,!1,!1),m=new Pt(c+"*",u,!1,!1,!1),_=new Pt(c+" const*",u,!1,!0,!1);return nt[e]={pointerType:m,constPointerType:_},It(f,a),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Kt(e,t,r,i,n,s){var a=t.length;a<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=o?1:2;l{var a=jt(t,r);n=Ot(i,n),Ve([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ie(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Wt(`Cannot construct ${e.name} due to unbound types`,a)},Ve([],a,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,n,s),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,n,s,a,o,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),s=Ot(n,s),Ve([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Wt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(bt(c,t,i),c[t].overloadTable[r-2]=n),Ve([],l,(function(n){var o=Kt(i,n,e,s,a,d);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,n.count_emval_handles=ir},sr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(x[e>>2])}var or=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(k[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>U[e>>1];case 4:return r?e=>x[e>>2]:e=>B[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,n)=>{t=Ne(t);var s=e=>e;if(0===i){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=B[e>>2],r=B[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:Ke,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=B[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=i;++a){var o=n+a;if(a==i||0==E[o]){var d=Ce(s,o-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=o+1}}else{var l=new Array(i);for(a=0;a>2]=i,r&&n)pr(t,a,i+1);else if(n)for(var o=0;o255&&(ai(a),He("String has UTF-16 code units that do not fit in 8 bits")),E[a+o]=d}else for(o=0;o{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&U[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=x[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s);if(x[t>>2]=a,(t+=4)+4>n)break}return x[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,n,s,a,o;r=Ne(r),2===t?(i=gr,n=yr,a=vr,s=()=>U,o=1):4===t&&(i=br,n=wr,a=Sr,s=()=>B,o=2),qe(e,{name:r,fromWireType:e=>{for(var r,n=B[e>>2],a=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>o]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return ai(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var s=a(i),d=li(4+s+t);return B[d>>2]=s>>o,n(i,d+4,s+t),null!==e&&e.push(ai,d),d},argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction(e){ai(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Ur={},xr=e=>{var t=Ur[e];return void 0===t?Ne(e):t},Br=[],Tr=(e,t,r,i,n)=>(e=Br[e])(t=sr.toValue(t),t[r=xr(r)],i,n),kr=e=>{var t=Br.length;return Br.push(e),t},Cr=(e,t)=>{var r=Oe[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Pr=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(B[t>>2]=sr.toHandle(i)),n},Lr=(e,t,r)=>{var i=Dr(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return kr(vt(h,u))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ir=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},$r=e=>{E.length,Nr()},Or={},Gr=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Gr()};for(var t in Or)void 0===Or[t]?delete e[t]:e[t]=Or[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Wr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Vr=(e,t)=>{var r=0;return Hr().forEach(((i,n)=>{var s=t+r;B[e+4*n>>2]=s,Wr(i,s),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();B[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),B[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return ke.close(t),0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:ke.isDir(r.mode)?3:ke.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[t+8>>2]=K[0],x[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[t+16>>2]=K[0],x[t+20>>2]=K[1],0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var n=0,s=0;s>2],o=B[t+4>>2];t+=8;var d=ke.read(e,S,a,o,i);if(d<0)return-1;if(n+=d,d>2]=s,0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,n){var s=Ir(t,r);try{if(isNaN(s))return 61;var a=De.getStreamFromFD(e);return ke.llseek(a,s,i),K=[a.position>>>0,(Y=a.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],x[n>>2]=K[0],x[n+4>>2]=K[1],a.getdents&&0===s&&0===i&&(a.getdents=null),0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var n=0,s=0;s>2],o=B[t+4>>2];t+=8;var d=ke.write(e,S,a,o,i);if(d<0)return-1;n+=d,void 0!==i&&(i+=d)}return n};function Qr(e,t,r,i){try{var n=De.getStreamFromFD(e),s=Jr(n,t,r);return B[i>>2]=s,0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ke.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return ke.isDir(this.mode)}},isDevice:{get:function(){return ke.isChrdev(this.mode)}}}),ke.FSNode=ei,ke.createPreloadedFile=xe,ke.staticInit(),ze(),Ie=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),Ft=n.UnboundTypeError=Gt(Error,"UnboundTypeError"),Qt(),nr();var ii,ni={o:ae,A:Pe,s:Le,q:Re,C:Xe,D:Vt,y:Xt,g:Jt,B:or,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:Tr,m:rr,e:Lr,d:Fr,a:Mr,h:Rr,w:zr,r:$r,u:Vr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},si=ie(),ai=e=>(ai=si.G)(e),oi=()=>(oi=si.I)(),di=e=>(di=si.J)(e),li=e=>(li=si.K)(e),ci=e=>(ci=si.M)(e);function ui(){function e(){ii||(ii=!0,n.calledRun=!0,C||(R(),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),z()))}G>0||(M(),G>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_viiijj=(e,t,r,i,s,a,o,d)=>(n.dynCall_viiijj=si.N)(e,t,r,i,s,a,o,d),n.dynCall_jij=(e,t,r,i)=>(n.dynCall_jij=si.O)(e,t,r,i),n.dynCall_jii=(e,t,r)=>(n.dynCall_jii=si.P)(e,t,r),n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=si.Q)(e,t,r,i,s),H=function e(){ii||ui(),ii||(H=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return ui(),t.ready}})(),o=1e-6,d="undefined"!=typeof Float32Array?Float32Array:Array;function l(){var e=new d(16);return d!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function c(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var u,h=function(e,t,r,i,n,s,a){var o=1/(t-r),d=1/(i-n),l=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*o,e[13]=(n+i)*d,e[14]=(a+s)*l,e[15]=1,e};function f(e,t,r){var i=new d(3);return i[0]=e,i[1]=t,i[2]=r,i}u=new d(3),d!=Float32Array&&(u[0]=0,u[1]=0,u[2]=0);var p=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},n=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const n=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:n}}(),s=p(),a=p(),d=p(),u=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const s=l();h(s,-1,1,-1,1,.1,100);const p=l();c(p);const m=l();!function(e,t,r,i){var n,s,a,d,l,u,h,f,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),n=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const jt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],qt=jt,Yt=jt;function Kt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Xt(e){return Zt(e)&&e[1]===kt}function Zt(e){return e[0]>>4===Ge}const Jt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Qt(e){let t=new Uint8Array(e),r=null,i=0,n=0,s=0,a=null;if(i=n=t[0]>>>3,s=(7&t[0])<<1|t[1]>>>7,s<0||s>=Jt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let o=Jt[s],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(a=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Gt.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?s>=6?(i=5,r=new Array(4),a=s-3):(i=2,r=new Array(2),a=s):-1!==l.indexOf("android")?(i=2,r=new Array(2),a=s):(i=5,a=s,r=new Array(4),s>=6?a=s-3:1===d&&(i=2,r=new Array(2),a=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:o,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+n}}class er{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,n=(6&e[r+1])>>>1,s=1&e[r+1],a=(192&e[r+2])>>>6,o=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===s?7:9,u=l-c;r+=c;let h=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=h,0!==i&&1!==i||0!==n)continue;let f=e.subarray(r,r+u);t={},t.audio_object_type=a+1,t.sampling_freq_index=o,t.sampling_frequency=qt[o],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class tr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,n=(31&t[i+1])<<8|t[i+2];if(i+3+n>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let s=new Vt(t.subarray(i+3,i+3+n)),a=null;if(s.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n),s.destroy();continue}a=e}else{let e=s.readBool();if(e&&s.readBool()){console.error("audioMuxVersionA is Not Supported"),s.destroy();break}if(e&&this.getLATMValue(s),!s.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),s.destroy();break}if(0!==s.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),s.destroy();break}if(0!==s.readBits(4)){console.error("more than 2 numProgram Not Supported"),s.destroy();break}if(0!==s.readBits(3)){console.error("more than 2 numLayer Not Supported"),s.destroy();break}let t=e?this.getLATMValue(s):0,r=s.readBits(5);t-=5;let i=s.readBits(4);t-=4;let n=s.readBits(4);t-=4,s.readBits(3),t-=3,t>0&&s.readBits(t);let o=s.readBits(3);if(0!==o){console.error(`frameLengthType = ${o}. Only frameLengthType = 0 Supported`),s.destroy();break}s.readByte();let d=s.readBool();if(d)if(e)this.getLATMValue(s);else{let e=0;for(;;){e<<=8;let t=s.readBool();if(e+=s.readByte(),!t)break}console.log(e)}s.readBool()&&s.readByte(),a={},a.audio_object_type=r,a.sampling_freq_index=i,a.sampling_frequency=qt[a.sampling_freq_index],a.channel_config=n,a.other_data_present=d}let o=0;for(;;){let e=s.readByte();if(o+=e,255!==e)break}let d=new Uint8Array(o);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function ir(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let n,s=0;for(;s+t>>=8),s+=t,n){if(s+n>r)break;i.push(e.subarray(s,s+n)),s+=n}return i}function nr(e,t){const r=e.length;let i=t?2:1,n=0,s=0,a="";for(;255===e[i];)n+=255,i++;for(n+=e[i++];255===e[i];)s+=255,i++;if(s+=e[i++],5===n&&r>i+16)for(let t=0;t<16;t++)a+=e[i].toString(16),i++;return{payload:e.subarray(i),type:n,size:s,uuid:a}}function sr(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function ar(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function or(){return(new Date).getTime()}function dr(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function lr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function cr(e){let t=0,r=lr();return i=>{if(n=i,"[object Number]"!==Object.prototype.toString.call(n))return;var n;t+=i;const s=lr(),a=s-r;a>=1e3&&(e(t/a*1e3),r=s,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function ur(e){return null==e}function hr(e){return!ur(e)}function fr(e){return"function"==typeof e}function pr(e){let t=null,r=31&e[0];return r!==je&&r!==qe||(t=$e),t||(r=(126&e[0])>>1,r!==ot&&r!==lt&&r!==ut||(t=Oe)),t}function mr(){return"undefined"!=typeof WritableStream}function _r(e){e.close()}function gr(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,n=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,n=2)}if(r)for(let s=n;s=1e3){e[s-1].ts-r.ts<1e3&&(i=s+1)}}}return i}function yr(e){return e.ok&&e.status>=200&&e.status<=299}function vr(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(T)}function br(e){return e[0]>>4===Ct&&e[1]===kt}function wr(e){return!0===e||"true"===e}function Sr(e){return!0!==e&&"true"!==e}function Er(){return!!(Gt.Worker&&Gt.MediaSource&&"canConstructInDedicatedWorker"in Gt.MediaSource&&!0===Gt.MediaSource.canConstructInDedicatedWorker)}function Ar(e,t){const r=ir(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===tt||r===it||r===st)||Sr(t)&&r===Ye)&&(i=!0)})),i}var Ur=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{d(i.next(e))}catch(e){s(e)}}function o(e){try{d(i.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}d((i=i.apply(e,t||[])).next())}))};const xr=Symbol(32),Br=Symbol(16),Tr=Symbol(8);class kr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Ur(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(xr)}readU16(){return this.read(Br)}readU8(){return this.read(Tr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===xr){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===Br){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===Tr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}kr.U32=xr,kr.U16=Br,kr.U8=Tr;class Cr{constructor(e){this.log=function(t){if(e._opt.debugLevel==E){const s=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n1?r-1:0),n=1;n1?i-1:0),s=1;s=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseSPS(e){let t=Dr._ebsp2rbsp(e),r=new Vt(t);r.readByte();let i=r.readByte();r.readByte();let n=r.readByte();r.readUEG();let s=Dr.getProfileString(i),a=Dr.getLevelString(n),o=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(o=r.readUEG(),3===o&&r.readBits(1),o<=3&&(d=l[o]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==o?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,U=2*e,S=A/U}}let x=1;1===b&&1===w||(x=b/w);let B=0,T=0;if(0===o)B=1,T=2-m;else{B=3===o?1:2,T=(1===o?2:1)*(2-m)}let k=16*(f+1),C=16*(p+1)*(2-m);k-=(_+g)*B,C-=(y+v)*T;let D=Math.ceil(k*x);return r.destroy(),r=null,{profile_string:s,level_string:a,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Dr.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:U,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:k,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Dr._ebsp2rbsp(e),n=new Vt(i);n.readByte();let s=n.readByte();n.readByte();let a=n.readByte();n.readUEG();let o=Dr.getProfileString(s),d=Dr.getLevelString(a),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(l=n.readUEG(),3===l&&n.readBits(1),l<=3&&(c=u[l]),h=n.readUEG()+8,f=n.readUEG()+8,n.readBits(1),n.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=n.readByte()<<8|n.readByte(),A=n.readByte()<<8|n.readByte())}if(n.readBool()&&n.readBool(),n.readBool()&&(n.readBits(4),n.readBool()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n.readUEG()),n.readBool()){let e=n.readBits(32),t=n.readBits(32);x=n.readBool(),B=t,T=2*e,U=B/T}}let k=1;1===E&&1===A||(k=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let P=16*(_+1),L=16*(g+1)*(2-y);P-=(v+b)*C,L-=(w+S)*D;let F=Math.ceil(P*k);return n.destroy(),n=null,{codec_mimetype:r,profile_idc:s,level_idc:a,profile_string:o,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:m,chroma_format:c,chroma_format_string:Dr.getChromaFormatString(c),frame_rate:{fixed:x,fps:U,fps_den:T,fps_num:B},sar_ratio:{width:E,height:A},codec_size:{width:P,height:L},present_size:{width:F,height:L}}}static _skipScalingList(e,t){let r=8,i=8,n=0;for(let s=0;s=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Fr(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Ir(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,n=!1;const s=Dr.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(n=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=255,a[5]=225;let o=t.byteLength;a[6]=o>>>8,a[7]=255&o;let d=8;a.set(t,8),d+=o,a[d]=1;let l=r.byteLength;a[d+1]=l>>>8,a[d+2]=255&l,a.set(r,d+3),d+=3+l,n&&(a[d]=252|s.chroma_format_idc,a[d+1]=248|s.bit_depth_luma-8,a[d+2]=248|s.bit_depth_chroma-8,a[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+a.byteLength);return u.set(c,0),u.set(a,c.length),u}function Mr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Rr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function zr(e){return 31&e[0]}function Nr(e){return e===Ze}function $r(e){return!function(e){return e===je||e===qe}(e)&&!Nr(e)}function Or(e){return e===Ye}function Gr(e){if(0===e.length)return!1;const t=zr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,i>=et||0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class Wr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Vr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},jr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class qr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseVPS(e){let t=qr._ebsp2rbsp(e),r=new Vt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=qr._ebsp2rbsp(e),r=new Vt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=o;n++){let n=r.readBool();M=n;let s=!0,a=1;n||(s=r.readBool());let o=!1;if(s?r.readUEG():o=r.readBool(),o||(a=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],n=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=Vr(e),r=new Vt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),a=(e=>{let t=Vr(e),r=new Vt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(i+=r.readUEG(),n+=r.readUEG(),s+=r.readUEG(),a+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=o;n++){let n=r.readBool();M=n;let s=!1,a=1;n||(s=r.readBool());let o=!1;if(s?r.readSEG():o=r.readBool(),o||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=Vr(e),r=new Vt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),s=1;return n&&i?s=0:n?s=3:i&&(s=2),{parallelismType:s}})(r);n=Object.assign(n,s,a,o);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,l[2]=n.general_profile_compatibility_flags_1||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n.general_profile_compatibility_flags_3||0,l[5]=n.general_profile_compatibility_flags_4||0,l[6]=n.general_constraint_indicator_flags_1||0,l[7]=n.general_constraint_indicator_flags_2||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n.general_constraint_indicator_flags_4||0,l[10]=n.general_constraint_indicator_flags_5||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,l[14]=255&n.min_spatial_segmentation_idc,l[15]=252|3&n.parallelismType,l[16]=252|3&n.chroma_format_idc,l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|ot,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|lt,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|ut,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Jr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Qr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ei(e){return(126&e[0])>>1}function ti(e){return e===ft}function ri(e){return!function(e){return e>=32&&e<=40}(e)}function ii(e){return e>=16&&e<=21}function ni(e){if(0===e.length)return!1;const t=ei(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class ai{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function oi(e){return parseInt(e)===e}function di(e){if(!oi(e.length))return!1;for(var t=0;t255)return!1;return!0}function li(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!di(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(oi(e.length)&&di(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function ci(e){return new Uint8Array(e)}function ui(e,t,r,i,n){null==i&&null==n||(e=e.slice?e.slice(i,n):Array.prototype.slice.call(e,i,n)),t.set(e,r)}var hi,fi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},pi=(hi="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+hi[15&i])}return t.join("")}}),mi={16:10,24:12,32:14},_i=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],gi=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],yi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],vi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],bi=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],wi=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Si=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Ei=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Ai=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ui=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],xi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Bi=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Ti=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ki=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Ci=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Di(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=s[t],this._Kd[e-r][t%4]=s[t];for(var a,o=0,d=n;d>16&255]<<24^gi[a>>8&255]<<16^gi[255&a]<<8^gi[a>>24&255]^_i[o]<<24,o+=1,8!=n)for(t=1;t>8&255]<<8^gi[a>>16&255]<<16^gi[a>>24&255]<<24;for(t=n/2+1;t>2,c=d%4,this._Ke[l][c]=s[t],this._Kd[e-l][c]=s[t++],d++}for(var l=1;l>24&255]^Ti[a>>16&255]^ki[a>>8&255]^Ci[255&a]},Pi.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Di(e),n=0;n<4;n++)i[n]^=this._Ke[0][n];for(var s=1;s>24&255]^bi[i[(n+1)%4]>>16&255]^wi[i[(n+2)%4]>>8&255]^Si[255&i[(n+3)%4]]^this._Ke[s][n];i=r.slice()}var a,o=ci(16);for(n=0;n<4;n++)a=this._Ke[t][n],o[4*n]=255&(gi[i[n]>>24&255]^a>>24),o[4*n+1]=255&(gi[i[(n+1)%4]>>16&255]^a>>16),o[4*n+2]=255&(gi[i[(n+2)%4]>>8&255]^a>>8),o[4*n+3]=255&(gi[255&i[(n+3)%4]]^a);return o},Pi.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Di(e),n=0;n<4;n++)i[n]^=this._Kd[0][n];for(var s=1;s>24&255]^Ai[i[(n+3)%4]>>16&255]^Ui[i[(n+2)%4]>>8&255]^xi[255&i[(n+1)%4]]^this._Kd[s][n];i=r.slice()}var a,o=ci(16);for(n=0;n<4;n++)a=this._Kd[t][n],o[4*n]=255&(yi[i[n]>>24&255]^a>>24),o[4*n+1]=255&(yi[i[(n+3)%4]>>16&255]^a>>16),o[4*n+2]=255&(yi[i[(n+2)%4]>>8&255]^a>>8),o[4*n+3]=255&(yi[255&i[(n+1)%4]]^a);return o};var Li=function(e){if(!(this instanceof Li))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Pi(e)};Li.prototype.encrypt=function(e){if((e=li(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=ci(e.length),r=ci(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Ri.prototype.setBytes=function(e){if(16!=(e=li(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Ri.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var zi=function(e,t){if(!(this instanceof zi))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Ri||(t=new Ri(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Pi(e)};zi.prototype.encrypt=function(e){for(var t=li(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-s%4*8&255;t[i+s>>>2]|=a<<24-(i+s)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=o.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,s=i.sigBytes,a=this.blockSize,o=s/(4*a),d=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*a,c=e.min(4*d,s);if(d){for(var u=0;u>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.WordArray,i=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535);i.push(String.fromCharCode(a))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=n(e.charCodeAt(s)<<16-s%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],s=0,a=0;a>>6-a%4*2;n[s>>>2]|=o<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var n=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(t[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|t[s+2>>>2]>>>24-(s+2)%4*8&255,o=0;o<4&&s+.75*o>>6*(3-o)&63));var d=i.charAt(64);if(d)for(;n.length%4;)n.push(d);return n.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-a%4*2;n[s>>>2]|=o<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var s=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(r[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|r[a+2>>>2]>>>24-(a+2)%4*8&255,d=0;d<4&&a+.75*d>>6*(3-d)&63));var l=n.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var a=0;a>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words,a=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],U=e[t+14],x=e[t+15],B=s[0],T=s[1],k=s[2],C=s[3];B=l(B,T,k,C,a,7,o[0]),C=l(C,B,T,k,d,12,o[1]),k=l(k,C,B,T,f,17,o[2]),T=l(T,k,C,B,p,22,o[3]),B=l(B,T,k,C,m,7,o[4]),C=l(C,B,T,k,_,12,o[5]),k=l(k,C,B,T,g,17,o[6]),T=l(T,k,C,B,y,22,o[7]),B=l(B,T,k,C,v,7,o[8]),C=l(C,B,T,k,b,12,o[9]),k=l(k,C,B,T,w,17,o[10]),T=l(T,k,C,B,S,22,o[11]),B=l(B,T,k,C,E,7,o[12]),C=l(C,B,T,k,A,12,o[13]),k=l(k,C,B,T,U,17,o[14]),B=c(B,T=l(T,k,C,B,x,22,o[15]),k,C,d,5,o[16]),C=c(C,B,T,k,g,9,o[17]),k=c(k,C,B,T,S,14,o[18]),T=c(T,k,C,B,a,20,o[19]),B=c(B,T,k,C,_,5,o[20]),C=c(C,B,T,k,w,9,o[21]),k=c(k,C,B,T,x,14,o[22]),T=c(T,k,C,B,m,20,o[23]),B=c(B,T,k,C,b,5,o[24]),C=c(C,B,T,k,U,9,o[25]),k=c(k,C,B,T,p,14,o[26]),T=c(T,k,C,B,v,20,o[27]),B=c(B,T,k,C,A,5,o[28]),C=c(C,B,T,k,f,9,o[29]),k=c(k,C,B,T,y,14,o[30]),B=u(B,T=c(T,k,C,B,E,20,o[31]),k,C,_,4,o[32]),C=u(C,B,T,k,v,11,o[33]),k=u(k,C,B,T,S,16,o[34]),T=u(T,k,C,B,U,23,o[35]),B=u(B,T,k,C,d,4,o[36]),C=u(C,B,T,k,m,11,o[37]),k=u(k,C,B,T,y,16,o[38]),T=u(T,k,C,B,w,23,o[39]),B=u(B,T,k,C,A,4,o[40]),C=u(C,B,T,k,a,11,o[41]),k=u(k,C,B,T,p,16,o[42]),T=u(T,k,C,B,g,23,o[43]),B=u(B,T,k,C,b,4,o[44]),C=u(C,B,T,k,E,11,o[45]),k=u(k,C,B,T,x,16,o[46]),B=h(B,T=u(T,k,C,B,f,23,o[47]),k,C,a,6,o[48]),C=h(C,B,T,k,y,10,o[49]),k=h(k,C,B,T,U,15,o[50]),T=h(T,k,C,B,_,21,o[51]),B=h(B,T,k,C,E,6,o[52]),C=h(C,B,T,k,p,10,o[53]),k=h(k,C,B,T,w,15,o[54]),T=h(T,k,C,B,d,21,o[55]),B=h(B,T,k,C,v,6,o[56]),C=h(C,B,T,k,x,10,o[57]),k=h(k,C,B,T,g,15,o[58]),T=h(T,k,C,B,A,21,o[59]),B=h(B,T,k,C,m,6,o[60]),C=h(C,B,T,k,S,10,o[61]),k=h(k,C,B,T,f,15,o[62]),T=h(T,k,C,B,b,21,o[63]),s[0]=s[0]+B|0,s[1]=s[1]+T|0,s[2]=s[2]+k|0,s[3]=s[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296),a=i;r[15+(n+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),r[14+(n+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var o=this._hash,d=o.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,n,s,a){var o=e+(t&r|~t&i)+n+a;return(o<>>32-s)+t}function c(e,t,r,i,n,s,a){var o=e+(t&i|r&~i)+n+a;return(o<>>32-s)+t}function u(e,t,r,i,n,s,a){var o=e+(t^r^i)+n+a;return(o<>>32-s)+t}function h(e,t,r,i,n,s,a){var o=e+(r^(t|~i))+n+a;return(o<>>32-s)+t}t.MD5=s._createHelper(d),t.HmacMD5=s._createHmacHelper(d)}(Math),r.MD5)})),Wt((function(e,t){var r,i,n,s,a,o,d,l;e.exports=(i=(r=l=$i).lib,n=i.WordArray,s=i.Hasher,a=r.algo,o=[],d=a.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],a=r[3],d=r[4],l=0;l<80;l++){if(l<16)o[l]=0|e[t+l];else{var c=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+o[l];u+=l<20?1518500249+(n&s|~n&a):l<40?1859775393+(n^s^a):l<60?(n&s|n&a|s&a)-1894007588:(n^s^a)-899497514,d=a,a=s,s=n<<30|n>>>2,n=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+a|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=s._createHelper(d),r.HmacSHA1=s._createHmacHelper(d),l.SHA1)})),Wt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,a=t.algo,o=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,n=0;n<64;)t(i)&&(n<8&&(o[n]=r(e.pow(i,.5))),d[n]=r(e.pow(i,1/3)),n++),i++}();var l=[],c=a.SHA256=s.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[f-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[f]=m+l[f-7]+g+l[f-16]}var y=i&n^i&s^n&s,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=h+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&c^~o&u)+d[f]+l[f];h=u,u=c,c=o,o=a+b|0,a=s,s=n,n=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+a|0,r[4]=r[4]+o|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(i/4294967296),r[15+(n+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=s._createHelper(c),t.HmacSHA256=s._createHmacHelper(c)}(Math),r.SHA256)})),Wt((function(e,t){var r,i,n,s,a,o;e.exports=(i=(r=o=$i).lib.WordArray,n=r.algo,s=n.SHA256,a=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=s._createHelper(a),r.HmacSHA224=s._createHmacHelper(a),o.SHA224)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.Hasher,i=e.x64,n=i.Word,s=i.WordArray,a=e.algo;function o(){return n.create.apply(n,arguments)}var d=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=o()}();var c=a.SHA512=t.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=i.high,p=i.low,m=n.high,_=n.low,g=s.high,y=s.low,v=a.high,b=a.low,w=o.high,S=o.low,E=c.high,A=c.low,U=u.high,x=u.low,B=h.high,T=h.low,k=f,C=p,D=m,P=_,L=g,F=y,I=v,M=b,R=w,z=S,N=E,$=A,O=U,G=x,H=B,W=T,V=0;V<80;V++){var j,q,Y=l[V];if(V<16)q=Y.high=0|e[t+2*V],j=Y.low=0|e[t+2*V+1];else{var K=l[V-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[V-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),se=l[V-7],ae=se.high,oe=se.low,de=l[V-16],le=de.high,ce=de.low;q=(q=(q=J+ae+((j=Q+oe)>>>0>>0?1:0))+ie+((j+=ne)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),Y.high=q,Y.low=j}var ue,he=R&N^~R&O,fe=z&$^~z&G,pe=k&D^k&L^D&L,me=C&P^C&F^P&F,_e=(k>>>28|C<<4)^(k<<30|C>>>2)^(k<<25|C>>>7),ge=(C>>>28|k<<4)^(C<<30|k>>>2)^(C<<25|k>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[V],we=be.high,Se=be.low,Ee=H+ye+((ue=W+ve)>>>0>>0?1:0),Ae=ge+me;H=O,W=G,O=N,G=$,N=R,$=z,R=I+(Ee=(Ee=(Ee=Ee+he+((ue+=fe)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+q+((ue+=j)>>>0>>0?1:0))+((z=M+ue|0)>>>0>>0?1:0)|0,I=L,M=F,L=D,F=P,D=k,P=C,k=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=f+k+(p>>>0>>0?1:0),_=n.low=_+P,n.high=m+D+(_>>>0

      >>0?1:0),y=s.low=y+F,s.high=g+L+(y>>>0>>0?1:0),b=a.low=b+M,a.high=v+I+(b>>>0>>0?1:0),S=o.low=S+z,o.high=w+R+(S>>>0>>0?1:0),A=c.low=A+$,c.high=E+N+(A>>>0<$>>>0?1:0),x=u.low=x+G,u.high=U+O+(x>>>0>>0?1:0),T=h.low=T+W,h.high=B+H+(T>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),Wt((function(e,t){var r,i,n,s,a,o,d,l;e.exports=(i=(r=l=$i).x64,n=i.Word,s=i.WordArray,a=r.algo,o=a.SHA512,d=a.SHA384=o.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=o._createHelper(d),r.HmacSHA384=o._createHmacHelper(d),l.SHA384)})),Wt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,a=t.x64.Word,o=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,s=0;s<24;s++){for(var o=0,u=0,h=0;h<7;h++){if(1&n){var f=(1<>>24)|4278255360&(s<<24|s>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(T=r[n]).high^=a,T.low^=s}for(var o=0;o<24;o++){for(var h=0;h<5;h++){for(var f=0,p=0,m=0;m<5;m++)f^=(T=r[h+5*m]).high,p^=T.low;var _=u[h];_.high=f,_.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],v=y.high,b=y.low;for(f=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(T=r[h+5*m]).high^=f,T.low^=p}for(var w=1;w<25;w++){var S=(T=r[w]).high,E=T.low,A=d[w];A<32?(f=S<>>32-A,p=E<>>32-A):(f=E<>>64-A,p=S<>>64-A);var U=u[l[w]];U.high=f,U.low=p}var x=u[0],B=r[0];for(x.high=B.high,x.low=B.low,h=0;h<5;h++)for(m=0;m<5;m++){var T=r[w=h+5*m],k=u[w],C=u[(h+1)%5+5*m],D=u[(h+2)%5+5*m];T.high=k.high^~C.high&D.high,T.low=k.low^~C.low&D.low}T=r[0];var P=c[o];T.high^=P.high,T.low^=P.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,s=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/s)*s>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,o=this.cfg.outputLength/8,d=o/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new n.init(l,o)},clone:function(){for(var e=s.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=s._createHelper(h),t.HmacSHA3=s._createHmacHelper(h)}(Math),r.SHA3)})),Wt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,a=t.algo,o=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),h=n.create([1352829926,1548603684,1836072691,2053994217,0]),f=a.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s,a,f,b,w,S,E,A,U,x,B,T=this._hash.words,k=u.words,C=h.words,D=o.words,P=d.words,L=l.words,F=c.words;for(S=s=T[0],E=a=T[1],A=f=T[2],U=b=T[3],x=w=T[4],r=0;r<80;r+=1)B=s+e[t+D[r]]|0,B+=r<16?p(a,f,b)+k[0]:r<32?m(a,f,b)+k[1]:r<48?_(a,f,b)+k[2]:r<64?g(a,f,b)+k[3]:y(a,f,b)+k[4],B=(B=v(B|=0,L[r]))+w|0,s=w,w=b,b=v(f,10),f=a,a=B,B=S+e[t+P[r]]|0,B+=r<16?y(E,A,U)+C[0]:r<32?g(E,A,U)+C[1]:r<48?_(E,A,U)+C[2]:r<64?m(E,A,U)+C[3]:p(E,A,U)+C[4],B=(B=v(B|=0,F[r]))+x|0,S=x,x=U,U=v(A,10),A=E,E=B;B=T[1]+f+U|0,T[1]=T[2]+b+x|0,T[2]=T[3]+w+S|0,T[3]=T[4]+s+E|0,T[4]=T[0]+a+A|0,T[0]=B},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,s=n.words,a=0;a<5;a++){var o=s[a];s[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return n},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=s._createHelper(f),t.HmacRIPEMD160=s._createHmacHelper(f)}(),r.RIPEMD160)})),Wt((function(e,t){var r,i,n;e.exports=(i=(r=$i).lib.Base,n=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var s=this._oKey=t.clone(),a=this._iKey=t.clone(),o=s.words,d=a.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?s.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=s.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),s=n.finalize(t),a=n.cfg;return m.create({ciphertext:s,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=s.random(8)),n)a=l.create({keySize:t+r,hasher:n}).compute(e,i);else var a=l.create({keySize:t+r}).compute(e,i);var o=s.create(a.words.slice(t),4*r);return a.sigBytes=4*t,m.create({key:a,iv:o,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var s=g.encrypt.call(this,e,t,n.key,i);return s.mixIn(n),s},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,g.decrypt.call(this,e,t,n.key,i)}})}())})),Wt((function(e,t){var r;e.exports=((r=$i).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,s=this._iv;s?(n=s.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var n=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,s=this._iv,a=this._counter;s&&(a=this._counter=s.slice(0),this._iv=void 0),i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var d=0;d>>2]|=n<<24-s%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Wt((function(e,t){var r;e.exports=((r=$i).pad.Iso10126={pad:function(e,t){var i=4*t,n=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(n-1)).concat(r.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Wt((function(e,t){var r;e.exports=((r=$i).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Wt((function(e,t){var r;e.exports=((r=$i).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Wt((function(e,t){var r;e.exports=((r=$i).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Wt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib.CipherParams,n=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){var t=n.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,n=[],s=[],a=[],o=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,n[r]=p,s[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;a[r]=y<<24|y>>>8,o[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),s=this._keySchedule=[],a=0;a6&&a%r==4&&(l=n[l>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l]):(l=n[(l=l<<8|l>>>24)>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l],l^=p[a/r|0]<<24),s[a]=s[a-r]^l);for(var o=this._invKeySchedule=[],d=0;d>>24]]^u[n[l>>>16&255]]^h[n[l>>>8&255]]^f[n[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,d,l,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,s),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,n,s,a,o){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^n[c>>>16&255]^s[u>>>8&255]^a[255&h]^r[f++],_=i[c>>>24]^n[u>>>16&255]^s[h>>>8&255]^a[255&l]^r[f++],g=i[u>>>24]^n[h>>>16&255]^s[l>>>8&255]^a[255&c]^r[f++],y=i[h>>>24]^n[l>>>16&255]^s[c>>>8&255]^a[255&u]^r[f++];l=m,c=_,u=g,h=y}m=(o[l>>>24]<<24|o[c>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^r[f++],_=(o[c>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&l])^r[f++],g=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[l>>>8&255]<<8|o[255&c])^r[f++],y=(o[h>>>24]<<24|o[l>>>16&255]<<16|o[c>>>8&255]<<8|o[255&u])^r[f++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib,i=t.WordArray,n=t.BlockCipher,s=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=s.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=a[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],s=0;s<16;s++){var l=n[s]=[],c=d[s];for(r=0;r<24;r++)l[r/6|0]|=t[(o[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(o[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],s=this._lBlock,a=this._rBlock,o=0,d=0;d<8;d++)o|=l[d][((a^n[d])&c[d])>>>0];this._lBlock=a,this._rBlock=s^o}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),r.TripleDES)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var s=0;n<256;n++){var a=n%r,o=t[a>>>2]>>>24-a%4*8&255;s=(s+i[n]+o)%256;var d=i[n];i[n]=i[s],i[s]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=s.call(this)},keySize:8,ivSize:0});function s(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var a=i.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)s.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],a=[],o=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var s=t.words,a=s[0],o=s[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(n[0]^=l,n[1]^=u,n[2]^=c,n[3]^=h,n[4]^=l,n[5]^=u,n[6]^=c,n[7]^=h,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,o=i>>>16,d=((n*n>>>17)+n*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(o)}(),r.Rabbit)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],a=[],o=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var n=0;n<4;n++)d.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var s=t.words,a=s[0],o=s[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=h,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=h,n=0;n<4;n++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,o=i>>>16,d=((n*n>>>17)+n*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(o)}(),r.RabbitLegacy)})),Wt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const n=16,s=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,n=t>>8&255,s=255&t,a=e.sbox[0][r]+e.sbox[1][i];return a^=e.sbox[2][n],a+=e.sbox[3][s],a}function l(e,t,r){let i,s=t,a=r;for(let t=0;t1;--t)s^=e.pbox[t],a=d(e,s)^a,i=s,s=a,a=i;return i=s,s=a,a=i,a^=e.pbox[1],s^=e.pbox[0],{left:s,right:a}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=a[t][r]}let i=0;for(let a=0;a=r&&(i=0);let o=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let s=5;for(;sn)break;let o=e[s+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=e.slice(s+4+2,s+4+a);let n=new Ni.ModeOfOperation.ctr(t,new Ni.Counter(r));const o=n.decrypt(i);n=null,e.set(o,s+4+2)}s=s+4+a}return e}function Hi(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let n=new Ni.ModeOfOperation.ctr(t,new Ni.Counter(r));const s=n.decrypt(i);return n=null,e.set(s,32),e}Wt((function(e,t){e.exports=$i}));var Wi=Wt((function(e,t){var r,n,s,a=(r=new Date,n=4,s={setLogLevel:function(e){n=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=n&&console.info("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console.warn("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},s);a.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+a.getDurationString(e.start(i))+","+a.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=a;var o=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};o.prototype.getPosition=function(){return this.position},o.prototype.getEndPosition=function(){return this.buffer.byteLength},o.prototype.getLength=function(){return this.buffer.byteLength},o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},o.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},o.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},o.prototype.readUint8=function(){return this.readAnyInt(1,!1)},o.prototype.readUint16=function(){return this.readAnyInt(2,!1)},o.prototype.readUint24=function(){return this.readAnyInt(3,!1)},o.prototype.readUint32=function(){return this.readAnyInt(4,!1)},o.prototype.readUint64=function(){return this.readAnyInt(8,!1)},o.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(i,0,n.length).set(n),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,n){var s=new Uint8Array(e,t,n),a=new Uint8Array(r,i,n);s.set(a)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rn;i--,n++){var s=t[n];t[n]=t[i],t[i]=s}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,n,s)}}t&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,n,s,o=[],d="";for(i=0,n=0,t=0;t0&&(d+=s.end-1+"]");var l=e?a.info:a.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+n+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,n=null,s=-1;for(i=!0===e?0:this.bufferIndex;i=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,n=void 0!==e?e:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(t=n+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){h.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){h.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){h.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(a.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):0!==l&&o+l>e.getEndPosition()?(e.seek(o),a.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:o}:(h[c+"Box"]?i=new h[c+"Box"](l):"uuid"!==c?(a.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[s]?i=new h.UUIDBoxes[s](l):(a.warn("BoxParser","Unknown uuid type: '"+s+"'"),(i=new h.Box(c,l)).uuid=s,i.has_unparsed_data=!0),i.hdr_size=d,i.start=o,i.write===h.Box.prototype.write&&"mdat"!==i.type&&(a.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(n=e.getPosition()-(i.start+i.size))<0?(a.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),e.seek(i.start+i.size)):n>0&&(a.error("BoxParser","Parsing of box '"+u+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:h.OK,box:i,size:i.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)a.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void a.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else a.error("av1C reserved_1 parsing problem");else a.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=n>>1&31,i.bsmod=(1&n)<<4|s>>4&15,i.acmod=s>>1&7,i.lfeon=1&s,i.num_dep_sub=a>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&a)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),n=Math.min(127&i,r.length-1);if(n?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[n]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,r,i,n;this.configurationVersion=e.readUint8(),n=e.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),n=e.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var s=e.readUint8();for(t=0;t>7,a.nalu_type=63&n;var o=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),a.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?a.property_index=(127&s)<<8|e.readUint8():a.property_index=127&s}}})),h.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&n,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&n,i.subsegment_duration=e.readUint32(),n=e.readUint32(),i.starts_with_SAP=n>>31&1,i.SAP_type=n>>28&7,i.SAP_delta_time=268435455&n}})),h.SingleItemTypeReferenceBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var a=i.extract_bits(1);this.ptl_sublayer_present_mask|=a<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var n=!1,s="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||n)&&(s="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+s,n=!0);t+=s}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,n=[],s=0;for(s|=this.vvcC.ptl_frame_only_constraint<<7,s|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,n.push(s),s&&(i=e),s=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",o=0,d=0;for(e=0;e<=i;++e)for(o=o<<8|n[e],d+=8;d>=5;){r+=a[o>>d-5&31],o&=(1<<(d-=5))-1}d&&(r+=a[31&(o<<=5-d)])}}t+=r}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(r?"."+r:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof h.Box||t[r]instanceof h.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.extractedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&a.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,n,s,a={},o=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=null!=this.moov.mvex,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=null!=this.moov.iods,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(o+1e3*this.moov.mvhd.creation_time),a.modified=new Date(o+1e3*this.moov.mvhd.modification_time),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],e=0;e0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var s=n.lastValidSample;se*n.timescale){l=i-1;break}t&&n.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return s=r.samples[l].offset+r.samples[l].alreadyRead,a.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+a.getDurationString(e,o)+" and offset: "+s),{offset:s,time:e/o}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,n,s=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){a=d;break}switch(a){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),s.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new o(t.avcDecoderConfigRecord)),s.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new o(t.hevcDecoderConfigRecord)),s.addBox(f)}break;case"Audio":n.add("smhd").set("balance",t.balance||0),s.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":if(n.add("sthd"),"stpp"===t.type)s.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:n.add("nmhd")}t.description&&s.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){s.addBox(e)})),n.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=n.add("stbl");return p.add("stsd").addEntry(s),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},n={},s=this.getTrackById(e);if(null!==s){n.number=s.samples.length,n.track_id=s.tkhd.track_id,n.timescale=s.mdia.mdhd.timescale,n.description_index=i.sample_description_index?i.sample_description_index-1:0,n.description=s.mdia.minf.stbl.stsd.entries[n.description_index],n.data=t,n.size=t.byteLength,n.alreadyRead=n.size,n.duration=i.duration||1,n.cts=i.cts||0,n.dts=i.dts||0,n.is_sync=i.is_sync||!1,n.is_leading=i.is_leading||0,n.depends_on=i.depends_on||0,n.is_depended_on=i.is_depended_on||0,n.has_redundancy=i.has_redundancy||0,n.degradation_priority=i.degradation_priority||0,n.offset=0,n.subsamples=i.subsamples,s.samples.push(n),s.samples_size+=n.size,s.samples_duration+=n.duration,void 0===s.first_dts&&(s.first_dts=i.dts),this.processSamples();var a=this.createSingleSampleMoof(n);return this.addBox(a),a.computeSize(),a.trafs[0].truns[0].data_offset=a.size+8,this.add("mdat").data=new Uint8Array(t),n}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new h.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),n=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(n.first_dts||0)),i.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,n,s;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=n[a].grouping_type+"/0",(o=new l(n[a].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=o))}else for(a=0;a=2&&(d=i[a].grouping_type+"/0",o=new l(i[a].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=o))},g.setSampleGroupProperties=function(e,t,r,i){var n,s;for(n in t.sample_groups=[],i){var a;if(t.sample_groups[n]={},t.sample_groups[n].grouping_type=i[n].grouping_type,t.sample_groups[n].grouping_type_parameter=i[n].grouping_type_parameter,r>=i[n].last_sample_in_run&&(i[n].last_sample_in_run<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n].entry_index<=i[n].sbgp.entries.length-1&&(i[n].last_sample_in_run+=i[n].sbgp.entries[i[n].entry_index].sample_count)),i[n].entry_index<=i[n].sbgp.entries.length-1?t.sample_groups[n].group_description_index=i[n].sbgp.entries[i[n].entry_index].group_description_index:t.sample_groups[n].group_description_index=-1,0!==t.sample_groups[n].group_description_index)a=i[n].fragment_description?i[n].fragment_description:i[n].description,t.sample_groups[n].group_description_index>0?(s=t.sample_groups[n].group_description_index>65535?(t.sample_groups[n].group_description_index>>16)-1:t.sample_groups[n].group_description_index-1,a&&s>=0&&(t.sample_groups[n].description=a.entries[s])):a&&a.version>=2&&a.default_group_description_index>0&&(t.sample_groups[n].description=a.entries[a.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=s.sample_counts[b]),t>0?(e.samples[t-1].duration=s.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,x.dts=e.samples[t-1].dts+e.samples[t-1].duration):x.dts=0,a?(t>=w&&(S++,w<0&&(w=0),w+=a.sample_counts[S]),x.cts=e.samples[t].dts+a.sample_offsets[S]):x.cts=x.dts,o?(t==o.sample_numbers[E]-1?(x.is_sync=!0,E++):(x.is_sync=!1,x.degradation_priority=0),l&&l.entries[A].sample_delta+U==t+1&&(x.subsamples=l.entries[A].subsamples,U+=l.entries[A].sample_delta,A++)):x.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,x,x.number),x.degradation_priority=h?h.priority[t]:0,l&&l.entries[A].sample_delta+U==t&&(x.subsamples=l.entries[A].subsamples,U+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,x,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,n,s,a,o,d,l,c,u,f,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=a,_.flags&h.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&h.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&h.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:o,p.offset=0===t&&0===r?b?w+_.data_offset:w:o,o=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var s=(r=this.stream.buffers[n]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=s)return a.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===s)return null;a.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+s+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,s),i.alreadyRead+=s,r.usedBytes+=s,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=s.ipro.protections[s.iinf.item_infos[e].protection_index-1]),s.iinf.item_infos[e].item_type?r.type=s.iinf.item_infos[e].item_type:r.type="mime",r.content_type=s.iinf.item_infos[e].content_type,r.content_encoding=s.iinf.item_infos[e].content_encoding;if(s.grpl)for(e=0;e0&&h.property_index-1-1))return null;var o=(t=this.stream.buffers[s]).byteLength-(n.offset+n.alreadyRead-t.fileStart);if(!(n.length-n.alreadyRead<=o))return a.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+o+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,o),n.alreadyRead+=o,r.alreadyRead+=o,t.usedBytes+=o,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,n.length-n.alreadyRead),t.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function Vi(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}Wi.Log,Wi.MP4BoxStream,Wi.DataStream,Wi.MultiBufferStream,Wi.MPEG4DescriptorParser,Wi.BoxParser,Wi.XMLSubtitlein4Parser,Wi.Textin4Parser,Wi.ISOFile,Wi.createFile;const ji=16,qi=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Yi=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Ki(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Zi(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Ji(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function Qi(e,t){const r=31&t;return e<>>32-r}function en(e){return(255&qi[e>>>24&255])<<24|(255&qi[e>>>16&255])<<16|(255&qi[e>>>8&255])<<8|255&qi[255&e]}function tn(e){return e^Qi(e,2)^Qi(e,10)^Qi(e,18)^Qi(e,24)}function rn(e){return e^Qi(e,13)^Qi(e,23)}function nn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=tn(en(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=tn(en(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=tn(en(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=tn(en(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function sn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^Yi[r+0],t[r+0]=i[0]^=rn(en(e)),e=i[2]^i[3]^i[0]^Yi[r+1],t[r+1]=i[1]^=rn(en(e)),e=i[3]^i[0]^i[1]^Yi[r+2],t[r+2]=i[2]^=rn(en(e)),e=i[0]^i[1]^i[2]^Yi[r+3],t[r+3]=i[3]^=rn(en(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function an(e,t,r){let{padding:i="pkcs#7",mode:n,iv:s=[],output:a="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===n&&("string"==typeof s&&(s=Ki(s)),16!==s.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Ki(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Zi(e):Ki(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=ji-e.length%ji;for(let r=0;r=ji;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===n)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=new Uint8Array(e.slice(0,5)),a=5;for(;an){const t=new Uint8Array(s.length+e.length-a);t.set(s,0),t.set(e.slice(a),s.length),s=t;break}let l=e[a+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=an(e.slice(a+4+u,a+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const n=new Uint8Array(u);n.set(e.slice(a+4,a+4+u),0);const o=sr(Vi(n,new Uint8Array(r))),l=new Uint8Array(s.length+o.length);l.set(s,0),l.set(o,s.length),s=l}else{const t=e.slice(a+4,a+4+d),r=new Uint8Array(s.length+4+t.length);r.set(s,0),r.set(o,s.length),r.set(t,s.length+4),s=r}a=a+4+d}return s}const ln={init:0,findFirstStartCode:1,findSecondStartCode:2};class cn extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){i.off(e,n);for(var s=arguments.length,a=new Array(s),o=0;o1?r-1:0),n=1;n{delete r[e]})),void delete this.e;const i=r[e],n=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=ln.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==ln.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=ln.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==ln.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=ln.findFirstStartCode}}}}function un(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=5;for(;sn)break;let o=e[s+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=un(e.slice(s+4,s+4+a),t,r);e.set(i,s+4)}s=s+4+a}return e}function pn(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.byteLength})),i}class mn{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const n=()=>{fr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(n),n}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class _n{static init(){_n.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in _n.types)_n.types.hasOwnProperty(e)&&(_n.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=_n.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),n=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return _n.box(_n.types.trak,_n.tkhd(e),_n.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,n=e.presentHeight;return _n.box(_n.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,n>>>8&255,255&n,0,0]))}static mdia(e){return _n.box(_n.types.mdia,_n.mdhd(e),_n.hdlr(e),_n.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return _n.box(_n.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?_n.constants.HDLR_AUDIO:_n.constants.HDLR_VIDEO,_n.box(_n.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?_n.box(_n.types.smhd,_n.constants.SMHD):_n.box(_n.types.vmhd,_n.constants.VMHD),_n.box(_n.types.minf,t,_n.dinf(),_n.stbl(e))}static dinf(){return _n.box(_n.types.dinf,_n.box(_n.types.dref,_n.constants.DREF))}static stbl(e){return _n.box(_n.types.stbl,_n.stsd(e),_n.box(_n.types.stts,_n.constants.STTS),_n.box(_n.types.stsc,_n.constants.STSC),_n.box(_n.types.stsz,_n.constants.STSZ),_n.box(_n.types.stco,_n.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.mp3(e)):_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.mp4a(e)):"avc"===e.videoType?_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.avc1(e)):_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return _n.box(_n.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return _n.box(_n.types.mp4a,i,_n.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return _n.box(_n.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _n.box(_n.types.avc1,n,_n.box(_n.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _n.box(_n.types.hvc1,n,_n.box(_n.types.hvcC,t))}static mvex(e){return _n.box(_n.types.mvex,_n.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return _n.box(_n.types.trex,r)}static moof(e,t){return _n.box(_n.types.moof,_n.mfhd(e.sequenceNumber),_n.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return _n.box(_n.types.mfhd,t)}static traf(e,t){let r=e.id,i=_n.box(_n.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),n=_n.box(_n.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=_n.sdtp(e),a=_n.trun(e,s.byteLength+16+16+8+16+8+8);return _n.box(_n.types.traf,i,n,a,s)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,_n.box(_n.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,n=e.size,s=e.flags,a=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),_n.box(_n.types.trun,r)}static mdat(e){return _n.box(_n.types.mdat,e)}}_n.init();var gn,yn=Wt((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(gn=yn)&&gn.__esModule&&Object.prototype.hasOwnProperty.call(gn,"default")&&gn.default;const vn=[44100,48e3,32e3,0],bn=[22050,24e3,16e3,0],wn=[11025,12e3,8e3,0],Sn=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],En=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],An=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Un(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,n=(6&t[1])>>1,s=(240&t[2])>>>4,a=(12&t[2])>>>2,o=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=wn[a];break;case 2:d=bn[a];break;case 3:d=vn[a]}switch(n){case 1:s=e[n]&&t=6?(i=5,t=new Array(4),a=n-3):(i=2,t=new Array(2),a=n):-1!==o.indexOf("android")?(i=2,t=new Array(2),a=n):(i=5,a=n,t=new Array(4),n>=6?a=n-3:1===s&&(i=2,t=new Array(2),a=n)),t[0]=i<<3,t[0]|=(15&n)>>>1,t[1]=(15&n)<<7,t[1]|=(15&s)<<3,5===i&&(t[1]|=(15&a)>>>1,t[2]=(1&a)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=$n[n],this.sampling_index=n,this.channel_count=s,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Hn{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,s=8-i;if(s>=e)return r&&(this.index+=e),n>>s-e;{r&&(this.index+=s);const i=e-s;return n<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function Wn(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const Vn=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),jn=new Array(2746333894,1453994832,1736282519,2993693404),qn=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Yn(e,t,r,i,n){var s=n;s=t+n>e.length&&i+n<=r.length?e.length-t:i+n>r.length&&t+n<=e.length?r.length-i:t+n<=e.length&&i+n<=r.length?n:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Xn(e,t){return t+3>>19)^(i<<23|i>>>9)}function Qn(e,t){var r=new Array(36);r[0]=Xn(t,0),r[1]=Xn(t,4),r[2]=Xn(t,8),r[3]=Xn(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^es(r[i+1]^r[i+2]^r[i+3]^e[i]);var n=new Array(4);for(i=35;i>=32;i--)n[35-i]=r[i];var s=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function ts(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Zn(e),n=Math.ceil(r.length/16),s=new Array(r.length),a=t.slice(),o=0;o3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let a=5;for(;as)break;let d=e[a+4],l=!1,c=2;if(i?(n&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=ts(t,r,e.slice(a+4+c,a+4+o));e.set(i,a+4+c)}a=a+4+o}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]');const is=[];is.push(a({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn("JbPro[❌❌❌][audio wasm]:",e)}}),s({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support, using thread emulation"))})(e)||console.warn("JbPro[❌❌❌][video wasm]:",e)}})),Promise.all(is).then((e=>{const t=e[0];!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=[],s=[],a=null,o=null,d=null,l=null,c=null,u=null,h=!1,f=null,E=null,A=!1,T=!1,Ee=!!wr(r),Ae=0,Ye=0,et=!1,tt=null,it=null,st=null,ft=[],xt=null,Bt=null,Ct=0,Gt=0,Ht=null,Wt=null,Vt=0,jt=0,qt=!1,Jt=!1,rr=!1,lr=null,Ur=null,xr=!1,Br=!0,Tr=0,Pr=0,Vr=()=>{const e=vr();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(a={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){a.decoder=new VideoDecoder({output:function(e){if(fr(e.createImageBitmap))e.createImageBitmap().then((t=>{a.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:r,delay:ui.delay,ts:0},[r]),_r(e)}));else{a.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:t,delay:ui.delay,ts:0},[t]),_r(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(a.TAG_NAME,"init")},destroy(){a.reset(),a.decoder&&"closed"!==a.decoder.state&&(a.decoder.close(),a.decoder=null),ui.debugLog(a.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(a.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?_t:gt});a.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:R,code:t});const r=new Uint8Array(e);postMessage({cmd:z,buffer:r,codecId:t},[r.buffer]);let i=null,n=null;const s=e.slice(5);t===Re?(n=Lr(s),i={codec:n.codec,description:s}):t===ze&&(n=Kr(s),i={codec:n.codec,description:s}),n&&n.codecWidth&&n.codecHeight&&(i.codedHeight=n.codecHeight,i.codedWidth=n.codecWidth),a.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:C,w:n.codecWidth,h:n.codecHeight}),a.isEmitInfo=!0,a.offscreenCanvas=new OffscreenCanvas(n.codecWidth,n.codecHeight),a.offscreenCanvasCtx=a.offscreenCanvas.getContext("2d"));try{a.decoder.configure(i),a.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){a.hasInit=!1,a.isEmitInfo=!1,a.offscreenCanvas=null,a.offscreenCanvasCtx=null}});let jr=function(){if(xr=!0,o)try{o.abort(),o=null,ui.debugLog("worker","abort success")}catch(e){o=null,ui.debugLog("worker","abort catch",e)}},Xr={TAG_NAME:"worker nakedFlow",init(){Xr.lastBuf=null,Xr.vps=null,Xr.sps=null,Xr.pps=null,Xr.streamType=null,Xr.localDts=0,Xr.pendingUnits={},Xr.isSendSeqHeader=!1,ui.debugLog(Xr.TAG_NAME,"init")},destroy(){Xr.lastBuf=null,Xr.vps=null,Xr.sps=null,Xr.pps=null,Xr.streamType=null,Xr.localDts=0,Xr.pendingUnits={},Xr.isSendSeqHeader=!1,ui.debugLog(Xr.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=Xr.extractNALu$3(t);if(0===e.length)return void ui.debugLog(Xr.TAG_NAME,"dispatch naluArray length is 0");Xr.handleVideoFrames(e)}else Xr.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=Xr.localDts;return Xr.localDts=Xr.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return Xr.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,n=e.byteLength,s=0,a=[];for(;i1)for(let e=0;e{const t=zr(e);t===qe||t===je?Xr.handleVideoH264Nalu(e):$r(t)&&i.push(e)})),1===i.length)Xr.handleVideoH264Nalu(i[0]);else if(Gr(i)){const e=zr(i[0]),t=Or(e);Xr.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{Xr.handleVideoH264Nalu(e)}))}else if(Xr.streamType===Oe)if(ui._opt.nakedFlowH265DemuxUseNew){const t=Xr.handleAddNaluStartCode(e),r=Xr.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=ei(e);t===ut||t===lt||t===ot?Xr.handleVideoH265Nalu(e):ri(t)&&i.push(e)})),1===i.length)Xr.handleVideoH265Nalu(i[0]);else if(ni(i)){const e=ei(i[0]),t=ii(e);Xr.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{Xr.handleVideoH265Nalu(e)}))}else ei(e)===ut?Xr.extractH265PPS(e):Xr.handleVideoH265Nalu(e)},extractH264PPS(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{Nr(zr(e))?Xr.extractH264SEI(e):Xr.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{ti(ei(e))?Xr.extractH265SEI(e):Xr.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{Xr.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{Xr.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=zr(e);switch(t){case je:Xr.sps=e;break;case qe:Xr.pps=e}if(Xr.isSendSeqHeader){if(Xr.sps&&Xr.pps){const e=Fr({sps:Xr.sps,pps:Xr.pps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}if($r(t)){const r=Or(t),i=Xr.getNaluDts(),n=Mr(e,r);Xr.doDecode(n,{type:de,ts:i,isIFrame:r,cts:0})}}else if(Xr.sps&&Xr.pps){Xr.isSendSeqHeader=!0;const e=Fr({sps:Xr.sps,pps:Xr.pps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}},handleVideoH264NaluList(e,t,r){if(Xr.isSendSeqHeader){const i=Xr.getNaluDts(),n=Rr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Xr.doDecode(n,{type:de,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=ei(e);switch(t){case ot:Xr.vps=e;break;case lt:Xr.sps=e;break;case ut:Xr.pps=e}if(Xr.isSendSeqHeader){if(Xr.vps&&Xr.sps&&Xr.pps){const e=Zr({vps:Xr.vps,sps:Xr.sps,pps:Xr.pps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.vps=null,Xr.sps=null,Xr.pps=null}if(ri(t)){const r=ii(t),i=Xr.getNaluDts(),n=Jr(e,r);Xr.doDecode(n,{type:de,ts:i,isIFrame:r,cts:0})}}else if(Xr.vps&&Xr.sps&&Xr.pps){Xr.isSendSeqHeader=!0;const e=Zr({vps:Xr.vps,sps:Xr.sps,pps:Xr.pps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.vps=null,Xr.sps=null,Xr.pps=null}},handleVideoH265NaluList(e,t,r){if(Xr.isSendSeqHeader){const i=Xr.getNaluDts(),n=Qr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Xr.doDecode(n,{type:de,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!Xr.streamVideoType)for(let t of e)if(Xr.streamVideoType=pr(t),Xr.streamVideoType)break;Xr.streamVideoType?Xr.streamVideoType===$e?Xr.handleVideoH264Frames(e):Xr.streamVideoType===Oe&&Xr.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,n=!1;Xr.pendingUnits.units&&(t=Xr.pendingUnits.units,n=Xr.pendingUnits.vcl,i=Xr.pendingUnits.iFrame,Xr.pendingUnits={});let s={};for(let a of e){if(a.byteLength<4)continue;const e=zr(a);let o=!1,d=e===Xe;e!==Ke&&e!==Xe||(s=Xr.parseVideo264Header(a),o=!0),t.length&&n&&(s.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(a),i=i||d,n=n||o}t.length&&(Xr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case qe:Xr.pps=e;break;case je:Xr.sps=e;break;case Ze:n=e}if($r(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!Xr.isSendSeqHeader&&Xr.sps&&Xr.pps){Xr.isSendSeqHeader=!0;const e=Ir({sps:Xr.sps,pps:Xr.pps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}if(Xr.isSendSeqHeader){if(Xr.sps&&Xr.pps){const e=Ir({sps:Xr.sps,pps:Xr.pps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}if(i){const e=Xr.getNaluDts(),t=Rr(i,r);if(ui._opt.isEmitSEI&&n){const t=nr(n,!1);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}Xr.doDecode(t,{type:de,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,n=!1;Xr.pendingUnits.units&&(t=Xr.pendingUnits.units,n=Xr.pendingUnits.vcl,i=Xr.pendingUnits.iFrame,Xr.pendingUnits={});let s={};for(let a of e){if(a.byteLength<4)continue;const e=ei(a);let o=!1,d=ii(e);ri(e)&&(s=Xr.parseVideo265Header(a),o=!0),t.length&&n&&(s.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(a),i=i||d,n=n||o}t.length&&(Xr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ut:Xr.pps=e;break;case lt:Xr.sps=e;break;case ot:Xr.vps=e;break;case mt:case pt:n=e}if(ri(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!Xr.isSendSeqHeader&&Xr.sps&&Xr.pps&&Xr.vps){Xr.isSendSeqHeader=!0;const e=Zr({sps:Xr.sps,pps:Xr.pps,vps:Xr.vps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null,Xr.vps=null}if(Xr.isSendSeqHeader){if(Xr.sps&&Xr.pps&&Xr.vps){const e=Zr({sps:Xr.sps,pps:Xr.pps,vps:Xr.vps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null,Xr.vps=null}if(i){const e=Xr.getNaluDts(),t=Qr(i,r);if(ui._opt.isEmitSEI&&n){const t=nr(n,!0);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}Xr.doDecode(t,{type:de,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{Xr.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Hn(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Hn(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},oi={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){oi.mp4Box=Wi.createFile(),oi.mp4Box.onReady=oi.onReady,oi.mp4Box.onError=oi.onError,oi.mp4Box.onSamples=oi.onSamples,ui.debugLog(oi.LOG_NAME,"init")},destroy(){oi.mp4Box&&(oi.mp4Box.stop(),oi.mp4Box.flush(),oi.mp4Box.destroy(),oi.mp4Box=null),oi.offset=0,oi.videoTrackId=null,oi.audioTrackId=null,oi.isHevc=!1,ui.debugLog(oi.LOG_NAME,"destroy")},_getSeqHeader(e){const t=oi.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Wi.DataStream(void 0,0,Wi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(oi.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),n=new Uint8Array(r.length+i.length);return n.set(r,0),n.set(i,r.length),n}return null},onReady(e){ui.debugLog(oi.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){oi.videoTrackId=t.id;const e=oi._getSeqHeader(t);e&&(ui.debugLog(oi.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),oi.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){oi.audioTrackId=r.id;const e=r.audio||{},t=Yt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");oi.mp4Box.setExtractionOptions(r.id);const n=Kt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(oi.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(n,0)}oi.mp4Box.start()},onError(e){ui.debugError(oi.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===oi.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let n=null;n=oi.isHevc?Qr(t,r):Rr(t,r),ui.decode(n,{type:de,ts:i,isIFrame:r,cts:0})}oi.mp4Box.removeUsedSamples(e)}else if(e===oi.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:oe,ts:r,isIFrame:!1,cts:0})}oi.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(oi.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=oi.offset,oi.offset+=t.byteLength,oi.mp4Box.appendBuffer(t.buffer)}},di={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);di.extractNALu(t)},destroy(){di.lastBuffer=new Uint8Array(0),di.parsedOffset=0,di.firstStartCodeOffset=0,di.secondStartCodeOffset=0,di.state="init",di.hasInitVideoCodec=!1,di.localDts=0,ui.debugLog(di.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(di.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(di.lastBuffer.length+e.length);for(t.set(di.lastBuffer,0),t.set(new Uint8Array(e),di.lastBuffer.length),di.lastBuffer=t;;){if("init"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findFirstStartCode",di.firstStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findSecondStartCode",di.secondStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===di.state){if(!(di.lastBuffer.length-di.parsedOffset>0))break;{let e,t,r=192&di.lastBuffer[di.parsedOffset];e=0==r?di.secondStartCodeOffset-14:di.secondStartCodeOffset;let i=0==(192&di.lastBuffer[di.firstStartCodeOffset+4]);if(i){if(di.firstStartCodeOffset-14<0)return void ui.debugWarn(di.LOG_NAME,"firstStartCodeOffset -14 is",di.firstStartCodeOffset-14);di.hasInitVideoCodec||(di.hasInitVideoCodec=!0,ui.debugLog(di.LOG_NAME,"setCodec"),fi.setCodec(Ne,"",ui.getBuildTime())),t=di.lastBuffer.subarray(di.firstStartCodeOffset-14,e)}else t=di.lastBuffer.subarray(di.firstStartCodeOffset,e);let n=di.getNaluDts();di.hasInitVideoCodec?(postMessage({cmd:G,type:Te,value:t.byteLength}),postMessage({cmd:G,type:ke,value:n}),Ae=n,fi.decode(t,i?1:0,n)):ui.debugWarn(di.LOG_NAME,"has not init video codec"),di.lastBuffer=di.lastBuffer.subarray(e),di.firstStartCodeOffset=0==r?14:0,di.parsedOffset=di.firstStartCodeOffset+4,di.state="findFirstStartCode"}}}},getNaluDts(){let e=di.localDts;return di.localDts=di.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new On,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let n=0;n=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=pn(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let s=(31&r[1])<<8|r[2],a=(48&r[3])>>>4,o=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==s),l={},c=4;if(2==a||3==a){let e=r[4];if(e>0&&(d||3==a)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==a||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==a||3==a)if(0===s||s===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[s]===Fn){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:s,payload_unit_start_indicator:n,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[s]){let r=188-c,i=li.pmt_.pid_stream_type[s];s!==li.pmt_.common_pids.h264&&s!==li.pmt_.common_pids.h265&&s!==li.pmt_.common_pids.adts_aac&&s!==li.pmt_.common_pids.loas_aac&&s!==li.pmt_.common_pids.ac3&&s!==li.pmt_.common_pids.eac3&&s!==li.pmt_.common_pids.opus&&s!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[s]&&!0!==li.pmt_.timed_id3_pids[s]&&!0!==li.pmt_.synchronous_klv_pids[s]&&!0!==li.pmt_.asynchronous_klv_pids[s]||li.handlePESSlice(e,t+c,r,{pid:s,stream_type:i,payload_unit_start_indicator:n,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let a=n[0];if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t+1,Math.min(r,a));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):li.clearSlices(s,i)}for(let o=1+a;o=s.expected_length&&li.clearSlices(s,i),o+=d.byteLength}}else if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t,Math.min(r,s.expected_length-s.total_length));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):s.total_length>=s.expected_length&&li.clearSlices(s,i)}},handlePESSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=n[0]<<16|n[1]<<8|n[2];n[3];let a=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==s)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${s}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new Rn,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let o=li.pes_slice_queues_[i.pid];o.slices.push(n),i.payload_unit_start_indicator&&(o.expected_length=0===a?0:a+6),o.total_length+=n.byteLength,o.expected_length>0&&o.expected_length===o.total_length?li.emitPESSlices(o,i):o.expected_length>0&&o.expected_length>>6,o=t[8];2!==a&&3!==a||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,s=3===a?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+o;if(0!==n){if(n<3+o)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=n-3-o}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case xn:case Bn:li.parseMP3Payload(c,r);break;case Tn:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,s,e.pid,i):li.parsePESPrivateDataPayload(c,r,s,e.pid,i));break;case kn:li.parseADTSAACPayload(c,r);break;case Cn:li.parseLOASAACPayload(c,r);break;case Dn:case Pn:break;case Ln:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,s,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,s,e.pid,i);break;case In:li.parseH264Payload(c,r,s,e.random_access_indicator);break;case Mn:li.parseH265Payload(c,r,s,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Tn){let r,s=6;r=0!==n?n:t.byteLength-s;let a=t.subarray(s,s+r);li.parsePESPrivateDataPayload(a,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,n=1&e[5],s=e[6];e[7];let a=null;if(1===n&&0===s)a={version_number:0,network_pid:0,program_pmt_pid:{}},a.version_number=i;else if(a=li.pat_,null==a)return;let o=r-5-4,d=-1,l=-1;for(let t=8;t<8+o;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?a.network_pid=i:(a.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===n&&0===s&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(a)}`),li.pat_=a,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],s=(62&e[5])>>>1,a=1&e[5],o=e[6];if(e[7],1===a&&0===o)r=li._initPmt(),r.program_number=n,r.version_number=s,li.program_pmt_map_[n]=r;else if(r=li.program_pmt_map_[n],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Zr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Ir({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let n=li.media_info_;n.hasVideo=!0,n.width=t.codecWidth,n.height=t.codecHeight,n.fps=t.frameRate.fps,n.profile=t.profile,n.level=t.level,n.refFrames=e.ref_frames,n.chromaFormat=e.chroma_format_string,n.sarNum=t.sarRatio.width,n.sarDen=t.sarRatio.height,n.videoCodec=t.codec,n.hasAudio&&n.audioCodec?n.mimeType=`video/mp2t; codecs="${n.videoCodec},${n.audioCodec}"`:n.mimeType=`video/mp2t; codecs="${n.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new er(e),a=null,o=i;for(;null!=(a=s.readNextAACFrame());){r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:oe};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,o+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new tr(e),a=null,o=i;for(;null!=(a=s.readNextAACFrame(ur(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=a,r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:oe};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,o+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],s=e[1]>>>3&3,a=(6&e[1])>>1;e[2];let o=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(s){case 0:l=n[o];break;case 2:l=i[o];break;case 3:l=r[o]}switch(a){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(h)):li.detectAudioMetadataChange(h)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:oe};li.audio_track_.samples.push(f),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Gn(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const n=Kt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(n,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,n){let s=new Nn;if(s.pid=i,s.stream_id=n,s.len=e.byteLength,s.data=e,null!=t){let e=Math.floor(t/li.timescale_);s.pts=e}else s.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);s.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===de?li._doDecodeVideo({...e,payload:t}):e.type===oe&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?Qr(t,e.isIFrame):Rr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:de,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;wr(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:oe,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Er()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new mn,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!Sr(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===wt,isStateClosed:()=>ci.getState()===St,isStateEnded:()=>ci.getState()===bt,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,At,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,Et,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,Ut,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(Sr(ci.hasInit))if(r&&e[1]===kt){const i=15&e[0];if(i===ze&&Sr(ui._opt.supportMSEDecodeHevc))return void ci.emitError(Ie.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:R,code:i});const n=new Uint8Array(e);postMessage({cmd:z,buffer:n,codecId:i},[n.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===Re?r=Lr(e.slice(5)):t===ze&&(r=Yr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(Ie.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(br(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&eU,_decodeConfigurationRecord(e,t,r,i){let n=e.slice(5),s={};if(i===Re?s=Lr(n):i===ze&&(s=Kr(n)),ci.videoInfo.width=s.codecWidth,ci.videoInfo.height=s.codecHeight,0===s.codecWidth&&0===s.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(s)),ci.emitError(Ie.mediaSourceDecoderConfigurationError,`width is ${0===s.codecWidth} and height is ${s.codecHeight}`),!1;const a={id:It,type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},o=_n.generateInitSegment(a);ci.isAvc=i===Re;let d=s.codec;return ci.videoMimeType=d?`video/mp4; codecs="${s.codec}"`:ci.isAvc?yt:vt,postMessage({cmd:C,w:s.codecWidth,h:s.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(o.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,n=r===Ve,s=r===Ge;if(Sr(s||n))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(Ie.mediaSourceAudioG711NotSupport),!1;const a={id:Mt,type:"audio",timescale:1e3};let o={};if(Xt(e)){if(o=Qt(e.slice(2)),!o)return!1;a.audioSampleRate=o.sampleRate,a.channelCount=o.channelCount,a.config=o.config,a.refSampleDuration=1024/a.audioSampleRate*a.timescale}else{if(!n)return!1;if(o=Un(e),!o)return!1;a.audioSampleRate=o.samplingRate,a.channelCount=o.channelCount,a.refSampleDuration=1152/a.audioSampleRate*a.timescale}a.codec=o.codec,a.duration=0;let d="mp4",l=o.codec,c=null;n&&Sr(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=_n.generateInitSegment(a);let u=`${a.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),Sr(ci.isAudioInitInfo)&&(Ur=r===Ge?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:L,sampleRate:a.audioSampleRate,channels:a.channelCount,depth:Ur}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=s,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(Ie.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,n){let s=e.slice(5),a=s.byteLength;if(0===a)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let o=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=o,d=!0);const l=o-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${o} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(_n.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=_n.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendBuffer(n.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${n} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=It,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=a,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=s,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),n=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(_n.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=_n.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendAudioBuffer(n.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Mt,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=n,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Sr(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&Sr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Sr(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&Sr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(Ie.mediaSourceAudioInitTimeout)}),1e3)));if(Sr(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(Sr(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:n,end:t})}}else s=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:n,end:t})}}else sci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&Sr(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&Sr(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&Sr(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&Sr(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(Sr(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:ae,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Pt,_opt:Vr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:et,wasmDecodeDelay:Ae-Ye});postMessage({cmd:G,type:De,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===oe)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(et=!1,ui.delay=t-r):(et=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===oe)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(et=!1,t=r-i):(et=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===de&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===oe?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===de&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===de&&a.decode?a.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===n.length)return;const t=e.ts,i=n[0],s=e.type===de&&br(e.payload);if(Sr(r))s&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i));else{const r=i.ts-t,a=i.type===oe&&e.type===de;(r<=20||a||s)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${a} and isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===v,t=ui._opt.playType===b,s=ui._opt.playType===w;if(Xr.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=s,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),a&&ui._opt.useWCS&&ui.useOffscreen()&&a.init(),Sr(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(n.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${n.length}`);if(ui.dropping){for(r=n.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${n.length}`);!r.isIFrame&&n.length;)r=n.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;n.length;)r=n.shift(),ui.doDecode(r);else if(r=n[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),n.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:W})):(n.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;n.length;){if(r=n[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${n.length}`);break}n.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();tt||(tt=e);const r=e-tt;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),tt=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Sr(ui._opt.checkFirstIFrame)&&(Ee=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:ne,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;n.length&&(e=n.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,jr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(xr=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&Sr(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,tt=null,et=!1,Ae=0,Ye=0,a&&(a.destroy&&a.destroy(),a=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Vr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),n=[],s=[],u&&(u.close(),u=null),f=null,E=null,A=!1,T=!1,Ee=!1,qt=!1,Jt=!1,rr=!1,lr=null,ft=[],Ct=0,Gt=0,it=null,st=null,Ht=null,Wt=null,Ur=null,Vt=0,jt=0,xt=null,Bt=null,ui.fetchStatus=Pt,Br=!0,Xr.destroy(),oi.destroy(),di.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:X})},pushBuffer:function(e,t){if(t.type===oe&&Xt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ee,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===de&&t.isIFrame&&br(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:te,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:re,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===S)if(t.type===de){const r=new Uint8Array(e).slice(5);postMessage({cmd:N,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===oe&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Zt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===de){if(Vt>0){const e=t.ts-Wt,r=Vt+Vt/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Wt},\n diff is ${e} and preTsDuration is ${Vt} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Wt&&Wt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Wt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Wt-t.ts>U&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Wt}, options.ts is ${t.ts},\n diff is ${Wt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Wt=null,Vt=0),ui._opt.isDropSameTimestampGop&&Sr(t.isIFrame)&&Ee)){const e=ui.hasIframeInBufferList(),t=Sr(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),wr(ui._opt.checkFirstIFrame)&&wr(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:ie}))))}Wt>0&&(Vt=t.ts-Wt),jt=e.byteLength,Wt=t.ts}if(Ee){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${n.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;n.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${n.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:j,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return n.forEach((t=>{t.type===de&&(e+=1)})),e},hasIframeInBufferList:()=>n.some((e=>e.type===de&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return n.forEach((e=>{e.type===de&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return n.forEach((t=>{t.type===oe&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?Xr.lastBuf&&(e=Xr.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&oi.mp4Box&&(e=oi.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=cr((e=>{postMessage({cmd:G,type:xe,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&oi.listenMp4Box(),t.protocol===_){t.isFlv&&(u=new kr(ui.demuxFlv())),o=new AbortController;const r=Object.assign({signal:o.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(wr(xr))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Pt,void e.body.cancel();if(!yr(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),jr(),void postMessage({cmd:G,type:Ie.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:Ce}),mr())ui.writableStream=new WritableStream({write:e=>o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):wr(xr)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=Ft,void jr()):void("string"!=typeof e?(ui.fetchStatus=Lt,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=Ft,jr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Pe})},abort:e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:n}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=Ft,jr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Pe}))):o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):wr(xr)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=Ft,void jr()):void("string"!=typeof n?(ui.fetchStatus=Lt,l(n.byteLength),t.isFlv?u.write(n):t.isFmp4?ui.demuxFmp4(n):t.isMpeg4?ui.demuxMpeg4(n):t.isTs?ui.demuxTs(n):t.isNakedFlow&&ui.demuxNakedFlow(n),i()):ui.debugWarn("worker",`fetchNext().then() and value "${n}" is string so return`))})).catch((e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{o&&o.signal&&o.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==Tt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===m&&(t.isFlv&&(u=new kr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:Ce}),postMessage({cmd:G,type:Fe})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):h?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),wr(xr)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:y,msg:e.code})):postMessage({cmd:G,type:Pe}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),h=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):wr(xr)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:G,type:Ie.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const n=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let s=r[0];const a=(yield n).slice();switch(i){case le:if(a.byteLength>0){let e=a;wr(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(a)),ui.decode(e,{type:oe,ts:s})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${a.byteLength} and return`);break;case ce:if(a.byteLength>=6){const e=a[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(a,s);else{const e=15&a[0];let t=a[0]>>4===Dt;const i=e===ze;if(Sr(t)&&wr(Ar(a,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&br(a)&&null===ui.isHevc){const e=15&a[0];ui.isHevc=e===ze,lr=ar(a,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${lr}`)}t&&ui.calcIframeIntervalTimestamp(s),ui.isPlayer&&ui.calcNetworkDelay(s),r[0]=a[4],r[1]=a[3],r[2]=a[2],r[3]=0;let n=r[0],o=ui.cryptoPayload(a,t);ui.decode(o,{type:de,ts:s,isIFrame:t,cts:n})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${a.byteLength} and return`);break;case ue:postMessage({cmd:Q,buffer:a},[a.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===oe?ui._opt.hasAudio&&(postMessage({cmd:G,type:Be,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===de&&ui._opt.hasVideo&&(postMessage({cmd:G,type:Te,value:e.byteLength}),postMessage({cmd:G,type:ke,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Gi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?rs(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):dn(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=fn(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===Ge&&(t=Hi(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,n=e[0]>>1&1;if(Ur=r===Ge?n?16:8:0===n?8:16,hi&&hi.setCodec||!Sr(i))if(Xt(e)||r===He||r===We||r===Ve){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const n=r===Ge?e.slice(2):new Uint8Array(0);if(i){if(r===Ve)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");hi.sample_rate=ui._opt.sampleRate,hi.decode(e,t)}else hi.setCodec(r,ui._opt.sampleRate,n,ui.getBuildTime());r===Ge&&postMessage({cmd:M,buffer:n},[n.buffer]),T=!0,r!==Ge&&(r===Ve?(ui.mp3Demuxer||(ui.mp3Demuxer=new cn(ui),ui.mp3Demuxer.on("data",((e,t)=>{hi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):hi.decode(e.slice(1),t));const s=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})}),60*s*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(wr(r)&&wr(ui._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(T){if(Xt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?hi.decode(e,t):r===Ve?ui.mp3Demuxer.dispatch(e.slice(1),t):hi.decode(r===Ge?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(fi&&fi.setCodec||!Sr(i))if(br(e))if(r===Re||r===ze){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===Re&&ui._opt.useSIMD){const e=Lr(t);if(e.codecWidth>x||e.codecHeight>x)return postMessage({cmd:K,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const n=new Uint8Array(e);A=!0,i?fi.decode(e,0):fi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:R,code:r}),postMessage({cmd:z,buffer:n,codecId:r},[n.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,n){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,n,s);else if(wr(r))postMessage({cmd:$,payload:e,isIFrame:n,ts:t,cts:s,delay:ui.delay},[e.buffer]);else if(A)if(!Ee&&n&&(Ee=!0),Ee){if(n&&br(e)){const t=15&e[0];let r={};t===Re?r=Lr(e.slice(5)):t===ze&&(r=Yr(e)),r.codecWidth&&r.codecHeight&&f&&E&&(r.codecWidth!==f||r.codecHeight!==E)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${f}, old height is ${E},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),Jt=!0,postMessage({cmd:q,value:`width: ${f}->${r.codecWidth}, height: ${E}->${r.codecHeight}`}))}if(Jt)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(rr)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(br(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${n.length}, need clear is ${e}`),e&&(n=[]),ui.isPlayer&&(ui.resetAllDelay(),wr(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:W}))),wr(ui._opt.checkFirstIFrame)&&Sr(r)&&(Ee=!1)},dropBuffer$2:function(){if(n.length>0){let e=n.findIndex((e=>wr(e.isIFrame)&&e.type===de));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:W});const t=n.length;n=n.slice(e);const r=n.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${n.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===n.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),n=new ArrayBuffer(4),s=new Uint32Array(n);switch(i){case oe:ui.decode(new Uint8Array(e,5),{type:oe,ts:r});break;case de:if(t.byteLength>=11){const i=new Uint8Array(e,5),n=i[0];if(ui._isEnhancedH265Header(n))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),br(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===ze}ui.isPlayer&&ui.calcNetworkDelay(r),s[0]=i[4],s[1]=i[3],s[2]=i[2],s[3]=0;let n=s[0],a=ui.cryptoPayload(i,e);ui.decode(a,{type:de,ts:r,isIFrame:e,cts:n})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){Xr.dispatch(e)},demuxFmp4:function(e){oi.dispatch(e)},demuxMpeg4:function(e){di.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,n=15&r,s=e.slice(1,5),a=new ArrayBuffer(4),o=new Uint32Array(a),d="a"==String.fromCharCode(s[0]);if(ui.isHevc=Sr(d),n===zt){if(i===Ot){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),lr=ar(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${lr}`),ui.decode(i,{type:de,ts:t,isIFrame:!0,cts:0})}}}else if(n===Nt){let r=e,n=0;const s=i===Ot;s&&ui.calcIframeIntervalTimestamp(t),d||(o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0,n=o[0],r=Qr(e.slice(8),s),r=ui.cryptoPayload(r,s),ui.decode(r,{type:de,ts:t,isIFrame:s,cts:n}))}else if(n===$t){const r=i===Ot;r&&ui.calcIframeIntervalTimestamp(t);let n=Qr(e.slice(5),r);n=ui.cryptoPayload(n,r),ui.decode(n,{type:de,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&Rt)===Rt},findSei:function(e,t){let r=4;hr(lr)&&(r=lr),ir(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===mt||r===pt),n=Sr(ui.isHevc)&&r===Ze;if(i||n){const r=nr(e,ui.isHevc);postMessage({cmd:J,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(Ee&&e>0))return;null===it?(it=e,st=or()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===v&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${it} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Le,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ht?Ht=e:Ht=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&wr(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){Sr(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),qt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),qt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:R,code:e}),postMessage({cmd:C,w:t,h:r}),f=t,E=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:L,sampleRate:t,channels:r,depth:Ur}),Gt=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=f*E*3/2;let n=e.HEAPU8.subarray(t,t+i),s=new Uint8Array(n);if(xt=null,Ye=r,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,s);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:s,delay:ui.delay,ts:r},[s.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+n)}if(Ct){if(!(n>=(r=d-Ct)))return Ct+=n,s[0]=Float32Array.of(...s[0],...a[0]),void(2==Gt&&(s[1]=Float32Array.of(...s[1],...a[1])));ft[0]=Float32Array.of(...s[0],...a[0].subarray(0,r)),2==Gt&&(ft[1]=Float32Array.of(...s[1],...a[1].subarray(0,r))),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer))),o=r,n-=r}for(Ct=n;Ct>=d;Ct-=d)ft[0]=a[0].slice(o,o+=d),2==Gt&&(ft[1]=a[1].slice(o-d,o)),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer)));Ct&&(s[0]=a[0].slice(o),2==Gt&&(s[1]=a[1].slice(o))),a=[]},errorInfo:function(e){null===xt&&(xt=or());const t=or(),r=dr(Bt>0?2*Bt:5e3,1e3,5e3),i=t-xt;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${Bt} and diff is ${i} and maxDiff is ${r}\n and replay`),rr=!0,postMessage({cmd:Y}))},sendWebsocketMessage:function(e){d?d.readyState===Me?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:V})},postStreamToMain(e,t){postMessage({cmd:Z,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),wr(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,f=e,E=t,postMessage({cmd:C,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){Gt=e,postMessage({cmd:L,sampleRate:t,channels:e,depth:Ur})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+n)}if(Ct){if(!(n>=(r=d-Ct)))return Ct+=n,s[0]=Float32Array.of(...s[0],...a[0]),void(2==Gt&&(s[1]=Float32Array.of(...s[1],...a[1])));ft[0]=Float32Array.of(...s[0],...a[0].subarray(0,r)),2==Gt&&(ft[1]=Float32Array.of(...s[1],...a[1].subarray(0,r))),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer))),o=r,n-=r}for(Ct=n;Ct>=d;Ct-=d)ft[0]=a[0].slice(o,o+=d),2==Gt&&(ft[1]=a[1].slice(o-d,o)),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer)));Ct&&(s[0]=a[0].slice(o),2==Gt&&(s[1]=a[1].slice(o))),a=[]},draw:function(t,r,i,n){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const s=e.HEAPU8.subarray(r,r+Tr),a=e.HEAPU8.subarray(i,i+Pr),o=e.HEAPU8.subarray(n,n+Pr),d=new Uint8Array(Tr+Pr+Pr);if(d.set(s),d.set(a,Tr),d.set(o,Tr+Pr),xt=null,Ye=t,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let hi=null;t.AudioDecoder&&(hi=new t.AudioDecoder(ui));let fi=null;e.VideoDecoder&&(fi=new e.VideoDecoder(ui)),postMessage({cmd:k}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case he:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${he}`,t.opt);break;case fe:ui.pushBuffer(t.buffer,t.options);break;case pe:ui.decodeAudio(t.buffer,t.ts);break;case me:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case ye:ui.clearBuffer(t.needClear);break;case ve:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case _e:ui.debugLog("worker",`onmessage:${_e}`,JSON.stringify(t.options)),t.options&&Sr(t.options.isVideoInited)&&(Br=t.options.isVideoInited),ui.close();break;case ge:ui.debugLog("worker",`onmessage:${ge}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case be:ui.sendWebsocketMessage(t.message);break;case we:ci.$video.currentTime=Number(t.message);break;case Se:ui.updatePlaybackIsPause(t.isPause)}}}(e[1],t)}))})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,i;(i=e).ready=new Promise(((e,r)=>{t=e,n=r})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-simd-mt-worker.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_SIMD_MT_WORKER_WASM_URL&&""!=JESSIBUCA_PRO_SIMD_MT_WORKER_WASM_URL?JESSIBUCA_PRO_SIMD_MT_WORKER_WASM_URL:e};var s,a,o,c=Object.assign({},i),u=(e,t)=>{throw t},l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f=i.ENVIRONMENT_IS_PTHREAD||!1,p="";function m(e){return i.locateFile?i.locateFile(e,p):p+e}if(h){const{createRequire:e}=await import("module");var v=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href),y=v("fs"),g=v("path");let t;p=d?g.dirname(p)+"/":v("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href)),s=(e,t)=>(e=te(e)?new URL(e):g.normalize(e),y.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=te(e)?new URL(e):g.normalize(e),y.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),u=(e,t)=>{throw process.exitCode=e,t},i.inspect=()=>"[Emscripten Module object]";try{t=v("worker_threads")}catch(e){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),e}global.Worker=t.Worker}else(l||d)&&(d?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),r&&(p=r),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",h||(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)}));h&&"undefined"==typeof performance&&(global.performance=v("perf_hooks").performance);var _=console.log.bind(console),b=console.error.bind(console);h&&(_=function(){for(var e=arguments.length,t=new Array(e),r=0;re.startsWith(Z),te=e=>e.startsWith("file://");function re(e){if(e==Q&&w)return new Uint8Array(w);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ne(e){if(!w&&(l||d)){if("function"==typeof fetch&&!te(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>re(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>re(e)))}function ie(e,t,r){return ne(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{k(`failed to asynchronously prepare wasm: ${e}`),J(e)}))}function se(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||ee(t)||te(t)||h||"function"!=typeof fetch?ie(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return k(`wasm streaming compile failed: ${e}`),k("falling back to ArrayBuffer instantiation"),ie(t,r,n)}))))}function ae(){var e={a:fn};function t(e,t){return pn=e.exports,Me(pn.R),xe=pn.V,$(pn.N),I=t,Y(),pn}if(K(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){k(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return se(w,Q,e,(function(e){t(e.instance,e.module)})).catch(n),{}}function oe(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}i.locateFile?ee(Q="decoder-pro-simd-mt-worker.wasm")||(Q=m(Q)):Q=new URL("decoder-pro-simd-mt-worker.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href).href;var ce=e=>{e.terminate(),e.onmessage=e=>{}},ue=e=>{var t=Ae.pthreads[e];delete Ae.pthreads[e],ce(t),Sn(e),Ae.runningWorkers.splice(Ae.runningWorkers.indexOf(t),1),t.pthread_ptr=0},le=e=>{Ae.pthreads[e].postMessage({cmd:"cancel"})},de=e=>{var t=Ae.pthreads[e];Ae.returnWorkerToPool(t)},he=e=>{var t=Ae.getNewWorker();if(!t)return 6;Ae.runningWorkers.push(t),Ae.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var r={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return h&&t.unref(),t.postMessage(r,e.transferList),0},fe=0,pe=()=>Pe||fe>0,me="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ve=(e,t,r)=>{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&me)return me.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},ye=(e,t)=>e?ve(x,e,t):"",ge=e=>{var t=En(),r=e();return Cn(t),r},_e=function(e,t){var r=arguments.length-2,n=arguments;return ge((()=>{for(var i=r,s=xn(8*i),a=s>>3,o=0;o{if(E=e,f)throw Ce(e),"unwind";be(e)},Se=we,Ie=e=>{if(e instanceof oe||"unwind"==e)return E;u(1,e)},Ae={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){f?Ae.initWorker():Ae.initMainThread()},initMainThread(){for(var e=8;e--;)Ae.allocateUnusedWorker();j((()=>{K(),Ae.loadWasmModuleToAllWorkers((()=>Y()))}))},initWorker(){Pe=!1},setExitStatus:e=>{E=e},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var e of Ae.runningWorkers)ce(e);for(var e of Ae.unusedWorkers)ce(e);Ae.unusedWorkers=[],Ae.runningWorkers=[],Ae.pthreads=[]},returnWorkerToPool:e=>{var t=e.pthread_ptr;delete Ae.pthreads[t],Ae.unusedWorkers.push(e),Ae.runningWorkers.splice(Ae.runningWorkers.indexOf(e),1),e.pthread_ptr=0,Sn(t)},receiveObjectTransfer(e){},threadInitTLS(){Ae.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=r=>{var n=r.data,s=n.cmd;if(n.targetThread&&n.targetThread!=yn()){var a=Ae.pthreads[n.targetThread];a?a.postMessage(n,n.transferList):k(`Internal error! Worker sent a message "${s}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===s?Ur():"spawnThread"===s?he(n):"cleanupThread"===s?de(n.thread):"killThread"===s?ue(n.thread):"cancelThread"===s?le(n.thread):"loaded"===s?(e.loaded=!0,h&&!e.pthread_ptr&&e.unref(),t(e)):"alert"===s?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?e.postMessage(n):"callHandler"===s?i[n.handler](...n.args):s&&k(`worker sent an unknown command ${s}`)},e.onerror=e=>{throw k(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},h&&(e.on("message",(t=>e.onmessage({data:t}))),e.on("error",(t=>e.onerror(t))));var r=[];for(var n of["onExit","onAbort","print","printErr"])i.hasOwnProperty(n)&&r.push(n);e.postMessage({cmd:"load",handlers:r,urlOrBlob:i.mainScriptUrlOrBlob,wasmMemory:S,wasmModule:I})})),loadWasmModuleToAllWorkers(e){if(f)return e();Promise.all(Ae.unusedWorkers.map(Ae.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker(){var e;if(i.locateFile){var t=m("decoder-pro-simd-mt-worker.worker.js");e=new Worker(t,{type:"module"})}else e=new Worker(new URL("decoder-pro-simd-mt-worker.worker.js","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href),{type:"module"});Ae.unusedWorkers.push(e)},getNewWorker:()=>(0==Ae.unusedWorkers.length&&(Ae.allocateUnusedWorker(),Ae.loadWasmModuleToWorker(Ae.unusedWorkers[0])),Ae.unusedWorkers.pop())};i.PThread=Ae;var ke=e=>{for(;e.length>0;)e.shift()(i)},Ee=()=>{var e=yn(),t=P[e+52>>2],r=P[e+56>>2];kn(t,t-r),Cn(t)};function Ce(e){if(f)return _e(1,0,e);Se(e)}i.establishStackSpace=Ee;var xe,Te=[],Be=e=>{var t=Te[e];return t||(e>=Te.length&&(Te.length=e+1),Te[e]=t=xe.get(e)),t},De=(e,t)=>{!function(e){pe()?Ae.setExitStatus(e):In(e)}(Be(e)(t))};i.invokeEntryPoint=De;var Pe=i.noExitRuntime||!0,Me=e=>{Ae.tlsInitFunctions.push(e)},Ue=(e,t,r,n)=>{J(`Assertion failed: ${ye(e)}, at: `+[t?ye(t):"unknown filename",r,n?ye(n):"unknown function"])};function Fe(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){P[this.ptr+4>>2]=e},this.get_type=function(){return P[this.ptr+4>>2]},this.set_destructor=function(e){P[this.ptr+8>>2]=e},this.get_destructor=function(){return P[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,C[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=C[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,C[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=C[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){P[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return P[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Tn(this.get_type()))return P[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var Re=(e,t,r)=>{throw new Fe(e).init(t,r),e},Le=e=>{_n(e,!d,1,!l,16777216,!1),Ae.threadInitTLS()},Oe=e=>{f?postMessage({cmd:"cleanupThread",thread:e}):de(e)};function ze(e,t,r,n){return f?_e(2,1,e,t,r,n):Ve(e,t,r,n)}var Ne,He,We,Ve=(e,t,r,n)=>{if("undefined"==typeof SharedArrayBuffer)return k("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var i=[];if(f&&0===i.length)return ze(e,t,r,n);var s={startRoutine:r,pthread_ptr:e,arg:n,transferList:i};return f?(s.cmd="spawnThread",postMessage(s,i),0):he(s)},je=(e,t,r,n,i)=>{},$e=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ne=e},Ge=e=>{for(var t="",r=e;x[r];)t+=Ne[x[r++]];return t},qe={},Xe={},Ke={},Ye=e=>{throw new He(e)},Je=e=>{throw new We(e)},Qe=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Je("Mismatched type converter count");for(var i=0;i{Xe.hasOwnProperty(e)?i[t]=Xe[e]:(s.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{i[t]=Xe[e],++a===s.length&&n(i)})))})),0===s.length&&n(i)};function Ze(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||Ye(`type "${n}" must have a positive integer typeid pointer`),Xe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ye(`Cannot register type '${n}' twice`)}if(Xe[e]=t,delete Ke[e],qe.hasOwnProperty(e)){var i=qe[e];delete qe[e],i.forEach((e=>e()))}}function et(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Ze(e,t,r)}var tt,rt=8,nt=(e,t,r,n)=>{et(e,{name:t=Ge(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:rt,readValueFromPointer:function(e){return this.fromWireType(x[e])},destructorFunction:null})},it=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),st=e=>{Ye(e.$$.ptrType.registeredClass.name+" instance already deleted")},at=!1,ot=e=>{},ct=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},ut=e=>{e.count.value-=1,0===e.count.value&&ct(e)},lt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=lt(e,t,r.baseClass);return null===n?null:r.downcast(n)},dt={},ht=()=>Object.keys(gt).length,ft=()=>{var e=[];for(var t in gt)gt.hasOwnProperty(t)&&e.push(gt[t]);return e},pt=[],mt=()=>{for(;pt.length;){var e=pt.pop();e.$$.deleteScheduled=!1,e.delete()}},vt=e=>{tt=e,pt.length&&tt&&tt(mt)},yt=()=>{i.getInheritedInstanceCount=ht,i.getLiveInheritedInstances=ft,i.flushPendingDeletes=mt,i.setDelayFunction=vt},gt={},_t=(e,t)=>{for(void 0===t&&Ye("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},bt=(e,t)=>(t=_t(e,t),gt[t]),wt=(e,t)=>(t.ptrType&&t.ptr||Je("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Je("Both smartPtrType and smartPtr must be specified"),t.count={value:1},It(Object.create(e,{$$:{value:t}})));function St(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=bt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?wt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):wt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=dt[a];if(!o)return i.call(this);s=this.isConst?o.constPointerType:o.pointerType;var c=lt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?wt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):wt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var It=e=>"undefined"==typeof FinalizationRegistry?(It=e=>e,e):(at=new FinalizationRegistry((e=>{ut(e.$$)})),It=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};at.register(e,r,e)}return e},ot=e=>at.unregister(e),It(e)),At=()=>{Object.assign(kt.prototype,{isAliasOf(e){if(!(this instanceof kt))return!1;if(!(e instanceof kt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||st(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=It(Object.create(Object.getPrototypeOf(this),{$$:{value:it(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||st(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),ot(this),ut(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||st(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ye("Object already scheduled for deletion"),pt.push(this),1===pt.length&&tt&&tt(mt),this.$$.deleteScheduled=!0,this}})};function kt(){}var Et=(e,t)=>Object.defineProperty(t,"name",{value:e}),Ct=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ye(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},xt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&Ye(`Cannot register public name '${e}' twice`),Ct(i,e,e),i.hasOwnProperty(r)&&Ye(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},Tt=48,Bt=57,Dt=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=Tt&&t<=Bt?`_${e}`:e};function Pt(e,t,r,n,i,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Mt=(e,t,r)=>{for(;t!==r;)t.upcast||Ye(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ut(e,t){if(null===t)return this.isReference&&Ye(`null is not a valid ${this.name}`),0;t.$$||Ye(`Cannot pass "${hr(t)}" as a ${this.name}`),t.$$.ptr||Ye(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Mt(t.$$.ptr,r,this.registeredClass)}function Ft(e,t){var r;if(null===t)return this.isReference&&Ye(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ye(`Cannot pass "${hr(t)}" as a ${this.name}`),t.$$.ptr||Ye(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ye(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=Mt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ye(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,ur.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ye("Unsupporting sharing policy")}return r}function Rt(e,t){if(null===t)return this.isReference&&Ye(`null is not a valid ${this.name}`),0;t.$$||Ye(`Cannot pass "${hr(t)}" as a ${this.name}`),t.$$.ptr||Ye(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ye(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Mt(t.$$.ptr,r,this.registeredClass)}function Lt(e){return this.fromWireType(P[e>>2])}var Ot=()=>{Object.assign(zt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:rt,readValueFromPointer:Lt,deleteObject(e){null!==e&&e.delete()},fromWireType:St})};function zt(e,t,r,n,i,s,a,o,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=Ft:n?(this.toWireType=Ut,this.destructorFunction=null):(this.toWireType=Rt,this.destructorFunction=null)}var Nt,Ht=(e,t,r)=>{i.hasOwnProperty(e)||Je("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Wt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Vt=(e,t,r)=>e.includes("j")?Wt(e,t,r):Be(t).apply(null,r),jt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Vt(e,t,r)}},$t=(e,t)=>{var r=(e=Ge(e)).includes("j")?jt(e,t):Be(t);return"function"!=typeof r&&Ye(`unknown function pointer with signature ${e}: ${t}`),r},Gt=(e,t)=>{var r=Et(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},qt=e=>{var t=gn(e),r=Ge(t);return mn(t),r},Xt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||Xe[t]||(Ke[t]?Ke[t].forEach(e):(r.push(t),n[t]=!0))})),new Nt(`${e}: `+r.map(qt).join([", "]))},Kt=(e,t,r,n,i,s,a,o,c,u,l,d,h)=>{l=Ge(l),s=$t(i,s),o&&(o=$t(a,o)),u&&(u=$t(c,u)),h=$t(d,h);var f=Dt(l);xt(f,(function(){Xt(`Cannot construct ${l} due to unbound types`,[n])})),Qe([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:kt.prototype;var a=Et(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new He("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new He(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new He(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:a}});a.prototype=c;var d=new Pt(l,a,c,h,r,s,o,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new zt(l,d,!0,!1,!1),m=new zt(l+"*",d,!1,!1,!1),v=new zt(l+" const*",d,!1,!0,!1);return dt[e]={pointerType:m,constPointerType:v},Ht(f,a),[p,m,v]}))},Yt=(e,t)=>{for(var r=[],n=0;n>2]);return r},Jt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Qt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=Et(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Zt(e,t,r,n,i,s){var a=t.length;a<2&&Ye("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=o?1:2;u{var a=Yt(t,r);i=$t(n,i),Qe([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new He(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Xt(`Cannot construct ${e.name} due to unbound types`,a)},Qe([],a,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Zt(r,n,null,i,s),[]))),[]}))},tr=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},rr=(e,t,r,n,i,s,a,o,c)=>{var u=Yt(r,n);t=Ge(t),t=tr(t),s=$t(i,s),Qe([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Xt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(Ct(l,t,n),l[t].overloadTable[r-2]=i),Qe([],u,(function(i){var o=Zt(n,i,e,s,a,c);return void 0===l[t].overloadTable?(o.argCount=r-2,l[t]=o):l[t].overloadTable[r-2]=o,[]})),[]}))};function nr(){Object.assign(ir.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function ir(){this.allocated=[void 0],this.freelist=[]}var sr=new ir,ar=e=>{e>=sr.reserved&&0==--sr.get(e).refcount&&sr.free(e)},or=()=>{for(var e=0,t=sr.reserved;t{sr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),sr.reserved=sr.allocated.length,i.count_emval_handles=or},ur={toValue:e=>(e||Ye("Cannot use deleted val. handle = "+e),sr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return sr.allocate({refcount:1,value:e})}}};function lr(e){return this.fromWireType(D[e>>2])}var dr=(e,t)=>{et(e,{name:t=Ge(t),fromWireType:e=>{var t=ur.toValue(e);return ar(e),t},toWireType:(e,t)=>ur.toHandle(t),argPackAdvance:rt,readValueFromPointer:lr,destructorFunction:null})},hr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},fr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(M[e>>2])};case 8:return function(e){return this.fromWireType(U[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},pr=(e,t,r)=>{et(e,{name:t=Ge(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:rt,readValueFromPointer:fr(t,r),destructorFunction:null})},mr=(e,t,r)=>{switch(t){case 1:return r?e=>C[e>>0]:e=>x[e>>0];case 2:return r?e=>T[e>>1]:e=>B[e>>1];case 4:return r?e=>D[e>>2]:e=>P[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},vr=(e,t,r,n,i)=>{t=Ge(t);var s=e=>e;if(0===n){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");et(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:rt,readValueFromPointer:mr(t,r,0!==n),destructorFunction:null})},yr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=P[e>>2],r=P[e+4>>2];return new n(C.buffer,r,t)}et(e,{name:r=Ge(r),fromWireType:i,argPackAdvance:rt,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},gr=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-i},_r=(e,t,r)=>gr(e,x,t,r),br=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},wr=(e,t)=>{var r="std::string"===(t=Ge(t));et(e,{name:t,fromWireType(e){var t,n=P[e>>2],i=e+4;if(r)for(var s=i,a=0;a<=n;++a){var o=i+a;if(a==n||0==x[o]){var c=ye(s,o-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=o+1}}else{var u=new Array(n);for(a=0;a>2]=n,r&&i)_r(t,a,n+1);else if(i)for(var o=0;o255&&(mn(a),Ye("String has UTF-16 code units that do not fit in 8 bits")),x[a+o]=c}else for(o=0;o{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&B[n];)++n;if((r=n<<1)-e>32&&Sr)return Sr.decode(x.slice(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=T[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},Ar=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return T[t>>1]=0,t-n},kr=e=>2*e.length,Er=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=D[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},Cr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),D[t>>2]=a,(t+=4)+4>i)break}return D[t>>2]=0,t-n},xr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Tr=(e,t,r)=>{var n,i,s,a,o;r=Ge(r),2===t?(n=Ir,i=Ar,a=kr,s=()=>B,o=1):4===t&&(n=Er,i=Cr,a=xr,s=()=>P,o=2),et(e,{name:r,fromWireType:e=>{for(var r,i=P[e>>2],a=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==a[l>>o]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return mn(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ye(`Cannot pass non-string to C++ string type ${r}`);var s=a(n),c=vn(4+s+t);return P[c>>2]=s>>o,i(n,c+4,s+t),null!==e&&e.push(mn,c),c},argPackAdvance:rt,readValueFromPointer:lr,destructorFunction(e){mn(e)}})},Br=(e,t)=>{et(e,{isVoid:!0,name:t=Ge(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Dr=()=>{if(!pe())try{f?In(E):Se(E)}catch(e){Ie(e)}},Pr=e=>{if(!F)try{e(),Dr()}catch(e){Ie(e)}},Mr=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(D,e>>2,e).value.then(Ur);var t=e+128;Atomics.store(D,t>>2,1)}};i.__emscripten_thread_mailbox_await=Mr;var Ur=()=>{var e=yn();e&&(Mr(e),Pr(An))};i.checkMailbox=Ur;var Fr,Rr=(e,t,r)=>{if(e==t)setTimeout((()=>Ur()));else if(f)postMessage({targetThread:e,cmd:"checkMailbox"});else{var n=Ae.pthreads[e];if(!n)return;n.postMessage({cmd:"checkMailbox"})}},Lr=[],Or=(e,t,r,n)=>{Lr.length=r;for(var i=n>>3,s=0;s{h&&Ae.pthreads[e].ref()},Nr={},Hr=e=>{var t=Nr[e];return void 0===t?Ge(e):t},Wr=[],Vr=(e,t,r,n,i)=>(e=Wr[e])(t=ur.toValue(t),t[r=Hr(r)],n,i),jr=e=>{var t=Wr.length;return Wr.push(e),t},$r=(e,t)=>{var r=Xe[e];return void 0===r&&Ye(t+" has unknown type "+qt(e)),r},Gr=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},qr=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(P[t>>2]=ur.toHandle(n)),i},Xr=(e,t,r)=>{var n=Gr(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return jr(Et(h,d))},Kr=e=>{e>4&&(sr.get(e).refcount+=1)},Yr=e=>ur.toHandle(Hr(e)),Jr=()=>ur.toHandle({}),Qr=e=>ur.toHandle(ye(e)),Zr=e=>{var t=ur.toValue(e);Jt(t),ar(e)},en=(e,t,r)=>{e=ur.toValue(e),t=ur.toValue(t),r=ur.toValue(r),e[t]=r},tn=(e,t)=>{var r=(e=$r(e,"_emval_take_value")).readValueFromPointer(t);return ur.toHandle(r)},rn=()=>{J("")},nn=()=>{},sn=()=>{fe+=1},an=()=>{throw sn(),"unwind"};Fr=()=>performance.timeOrigin+performance.now();var on=e=>{J("OOM")},cn=e=>{x.length,on()},un=[null,[],[]],ln=(e,t)=>{var r=un[e];0===t||10===t?((1===e?A:k)(ve(r,0)),r.length=0):r.push(t)};function dn(e,t,r,n){if(f)return _e(3,1,e,t,r,n);for(var i=0,s=0;s>2],o=P[t+4>>2];t+=8;for(var c=0;c>2]=i,0}Ae.init(),$e(),He=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},We=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},At(),yt(),Ot(),Nt=i.UnboundTypeError=Gt(Error,"UnboundTypeError"),nr(),cr();var hn=[be,Ce,ze,dn],fn={e:Ue,s:Re,D:Le,m:Oe,A:Ve,v:je,J:nt,u:Kt,t:er,j:rr,I:dr,o:pr,c:vr,b:yr,p:wr,k:Tr,K:Br,x:Rr,E:Or,C:Mr,G:zr,h:Vr,d:ar,g:Xr,L:Kr,q:Yr,H:Jr,B:Qr,i:Zr,r:en,M:tn,l:rn,n:nn,F:an,f:Fr,w:cn,z:Se,y:dn,a:S||i.wasmMemory},pn=ae(),mn=e=>(mn=pn.O)(e),vn=e=>(vn=pn.P)(e),yn=i._pthread_self=()=>(yn=i._pthread_self=pn.Q)();i.__emscripten_tls_init=()=>(i.__emscripten_tls_init=pn.R)();var gn=e=>(gn=pn.S)(e);i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=pn.T)();var _n=i.__emscripten_thread_init=(e,t,r,n,s,a)=>(_n=i.__emscripten_thread_init=pn.U)(e,t,r,n,s,a);i.__emscripten_thread_crashed=()=>(i.__emscripten_thread_crashed=pn.W)();var bn,wn=(e,t,r,n)=>(wn=pn.X)(e,t,r,n),Sn=e=>(Sn=pn.Y)(e),In=i.__emscripten_thread_exit=e=>(In=i.__emscripten_thread_exit=pn.Z)(e),An=()=>(An=pn._)(),kn=(e,t)=>(kn=pn.$)(e,t),En=()=>(En=pn.aa)(),Cn=e=>(Cn=pn.ba)(e),xn=e=>(xn=pn.ca)(e),Tn=e=>(Tn=pn.da)(e);function Bn(){if(!(q>0)){if(f)return t(i),W(),void startWorker(i);H(),q>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e())}function e(){bn||(bn=!0,i.calledRun=!0,F||(W(),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),V()))}}if(i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=pn.ea)(e,t,r,n,s),i.___start_em_js=143548,i.___stop_em_js=143605,i.wasmMemory=S,i.keepRuntimeAlive=pe,i.ExitStatus=oe,i.PThread=Ae,X=function e(){bn||Bn(),bn||(X=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Bn(),e.ready}),a=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,n,i;(i=t).ready=new Promise(((e,t)=>{r=e,n=t})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,a,o,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href),v=m("fs"),y=m("path");f=d?y.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href)),s=(e,t)=>(e=Q(e)?new URL(e):y.normalize(e),v.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Q(e)?new URL(e):y.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var g,_,b=i.print||console.log.bind(console),w=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(g=i.wasmBinary),"object"!=typeof WebAssembly&&G("no native wasm support detected");var S,I,A,k,E,C,x,T,B=!1;function D(e,t){e||G(t)}function P(){var e=_.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=A=new Int16Array(e),i.HEAPU8=I=new Uint8Array(e),i.HEAPU16=k=new Uint16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=x=new Float32Array(e),i.HEAPF64=T=new Float64Array(e)}var M=[],U=[],F=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(M)}function L(){i.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ie(U)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)H(i.postRun.shift());ie(F)}function z(e){M.unshift(e)}function N(e){U.unshift(e)}function H(e){F.unshift(e)}var W=0,V=null;function j(e){W++,i.monitorRunDependencies&&i.monitorRunDependencies(W)}function $(e){if(W--,i.monitorRunDependencies&&i.monitorRunDependencies(W),0==W&&V){var t=V;V=null,t()}}function G(e){i.onAbort&&i.onAbort(e),w(e="Aborted("+e+")"),B=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var q,X,K,Y="data:application/octet-stream;base64,",J=e=>e.startsWith(Y),Q=e=>e.startsWith("file://");function Z(e){if(e==q&&g)return new Uint8Array(g);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!g&&(l||d)){if("function"==typeof fetch&&!Q(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Z(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Z(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),G(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||Q(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return an=e.exports,_=an.E,P(),Mt=an.H,N(an.F),$(),an}if(j(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(g,q,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?J(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd-mt.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var ae=(e,t,r)=>{throw new se(e).init(t,r),e},oe=e=>(E[cn()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}G("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),a=s,o=0;o{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,a=0;a=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a);if(o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-i};function ye(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var ge=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},_e={ttys:[],init(){},shutdown(){},register(e,t){_e.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,_e.stream_ops)},stream_ops:{open(e){var t=_e.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,a=0;age(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{G()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,r,n);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,n)=>we.createNode(e,t,r,n),rename(e,t,r){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var n in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=we.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-i,n);if(a>8&&s.subarray)t.set(s.subarray(i,i+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;a(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&$()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&j()},Ie=(e,t,r,n,i,s)=>{Te.createDataFile(e,t,r,n,i,s)},Ae=i.preloadPlugins||[],ke=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ae.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},Ee=(e,t,r,n,i,s,a,o,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),o||Ie(e,t,r,n,i,c),s&&s(),$()}ke(r,l,d,(()=>{a&&a(),$()}))||d(r)}j(),"string"==typeof r?Se(r,(e=>d(e)),a):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},xe=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Te.root,i="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var n=Te.hashName(e.id,t),i=Te.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Te.lookup(e,t)},createNode(e,t,r,n){var i=new Te.FSNode(e,t,r,n);return Te.hashAddNode(i),i},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{Te.lookupNode(e,t);return 20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,"wx");if(i)return i;if(r){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),n=0;function i(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!s){var a=Te.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(o);return c.mount=o,o.root=c,i?Te.root=c:n&&(n.mounted=o,n.mount&&n.mount.mounts.push(o)),c},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,n=r.mounted,i=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Te.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new Te.ErrnoError(28);var s=Te.mayCreate(n,i);if(s)throw new Te.ErrnoError(s);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var n=ce.basename(t),i=Te.mayCreate(r,n);if(i)throw new Te.ErrnoError(i);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),a=ce.basename(e),o=ce.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(t,{parent:!0}).node,!r||!n)throw new Te.ErrnoError(44);if(r.mount!==n.mount)throw new Te.ErrnoError(75);var c,u=Te.lookupNode(r,a),l=de.relative(e,s);if("."!==l.charAt(0))throw new Te.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{c=Te.lookupNode(n,o)}catch(e){}if(u!==c){var d=Te.isDir(u.mode),h=Te.mayDelete(r,a,d);if(h)throw new Te.ErrnoError(h);if(h=c?Te.mayDelete(n,o,d):Te.mayCreate(n,o))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(u)||c&&Te.isMountpoint(c))throw new Te.ErrnoError(10);if(n!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(u);try{r.node_ops.rename(u,n,o)}catch(e){throw e}finally{Te.hashAddNode(u)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(n)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(n)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return de.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=Te.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,n){var i;"string"==typeof e?i=Te.lookupPath(e,{follow:!n}).node:i=e;if(!i.node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var n=Te.getStreamChecked(e);Te.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;"string"==typeof e?r=Te.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(r,"w");if(n)throw new Te.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new Te.ErrnoError(20)}else n=Te.mknod(e,r,0),s=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(t&=-513),65536&t&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!s){var a=Te.mayOpen(n,t);if(a)throw new Te.ErrnoError(a)}512&t&&!s&&Te.truncate(n,0),t&=-131713;var o=Te.createStream({node:n,path:Te.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!i.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),o},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var a=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=a),a},write(e,t,r,n,i,s){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var a=void 0!==i;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,r,n,i,s);return a||(e.position+=o),o},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Te.open(e,t.flags),i=Te.stat(e).size,s=new Uint8Array(i);return Te.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Te.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);Te.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(n,t,0,t.byteLength,void 0,r.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),_e.register(Te.makedev(5,0),_e.default_tty_ops),_e.register(Te.makedev(6,0),_e.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=Te.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Te.createDevice("/dev","stdin",i.stdin):Te.symlink("/dev/tty","/dev/stdin"),i.stdout?Te.createDevice("/dev","stdout",null,i.stdout):Te.symlink("/dev/tty","/dev/stdout"),i.stderr?Te.createDevice("/dev","stderr",null,i.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;i||(a=n);var o=this;o.setDataGetter((e=>{var t=e*a,i=(e+1)*a-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==a&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ye(i.responseText||"",!0)})(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!s&&n||(a=n=1,n=this.getter(0).length,a=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var c=Te.createFile(e,t,o,n,i);o.contents?c.contents=o.contents:o.url&&(c.contents=null,c.url=o.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var a=Math.min(s.length-i,n);if(s.slice)for(var o=0;o{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(Te.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{Te.forceLoadFile(c);var s=be();if(!s)throw new Te.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},Be=(e,t)=>e?fe(I,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;-100===e?n=Te.cwd():n=De.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new Te.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(Te.getPath(e.node)))return-54;throw e}E[r>>2]=n.dev,E[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,E[r+12>>2]=n.uid,E[r+16>>2]=n.gid,E[r+20>>2]=n.rdev,K=[n.size>>>0,(X=n.size,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[r+24>>2]=K[0],E[r+28>>2]=K[1],E[r+32>>2]=4096,E[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),a=n.ctime.getTime();return K=[Math.floor(i/1e3)>>>0,(X=Math.floor(i/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[r+40>>2]=K[0],E[r+44>>2]=K[1],C[r+48>>2]=i%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(X=Math.floor(s/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[r+56>>2]=K[0],E[r+60>>2]=K[1],C[r+64>>2]=s%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(X=Math.floor(a/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[r+72>>2]=K[0],E[r+76>>2]=K[1],C[r+80>>2]=a%1e3*1e3,K=[n.ino>>>0,(X=n.ino,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[r+88>>2]=K[0],E[r+92>>2]=K[1],0},doMsync(e,t,r,n,i){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var s=I.slice(e,e+r);Te.msync(t,s,i,r,n)},varargs:void 0,get(){var e=E[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Be(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Pe(e,t,r){De.varargs=r;try{var n=De.getStreamFromFD(e);switch(t){case 0:if((i=De.get())<0)return-28;for(;Te.streams[i];)i++;return Te.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=De.get();return n.flags|=i,0;case 5:i=De.getp();return A[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Me(e,t,r,n){De.varargs=n;try{t=De.getStr(t),t=De.calculateAt(e,t);var i=n?De.get():0;return Te.open(t,r,i).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Ue,Fe,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ue=e},ze=e=>{for(var t="",r=e;I[r];)t+=Ue[I[r++]];return t},Ne={},He={},We={},Ve=e=>{throw new Fe(e)},je=e=>{throw new Re(e)},$e=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&je("Mismatched type converter count");for(var i=0;i{He.hasOwnProperty(e)?i[t]=He[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=He[e],++a===s.length&&n(i)})))})),0===s.length&&n(i)};function Ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||Ve(`type "${n}" must have a positive integer typeid pointer`),He.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${n}' twice`)}if(He[e]=t,delete We[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Ge(e,t,r)}var Xe,Ke=8,Ye=(e,t,r,n)=>{qe(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(I[e])},destructorFunction:null})},Je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Qe=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ze=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,at=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},ot=[],ct=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Xe=e,ot.length&&Xe&&Xe(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=at,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||je("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&je("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=it[a];if(!o)return i.call(this);s=this.isConst?o.constPointerType:o.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Ze=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Ze.register(e,r,e)}return e},et=e=>Ze.unregister(e),vt(e)),yt=()=>{Object.assign(gt.prototype,{isAliasOf(e){if(!(this instanceof gt))return!1;if(!(e instanceof gt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Qe(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Qe(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Xe&&Xe(ct),this.$$.deleteScheduled=!0,this}})};function gt(){}var _t=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},wt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),bt(i,e,e),i.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,It=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=It?`_${e}`:e};function kt(e,t,r,n,i,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Et=(e,t,r)=>{for(;t!==r;)t.upcast||Ve(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function xt(e,t){var r;if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=Et(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Et(t.$$.ptr,r,this.registeredClass)}function Bt(e){return this.fromWireType(C[e>>2])}var Dt=()=>{Object.assign(Pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Bt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Pt(e,t,r,n,i,s,a,o,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=xt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Mt,Ut,Ft=(e,t,r)=>{i.hasOwnProperty(e)||je("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Mt.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},Ht=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&Ve(`unknown function pointer with signature ${e}: ${t}`),r},Wt=(e,t)=>{var r=_t(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Vt=e=>{var t=un(e),r=ze(t);return on(t),r},jt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||He[t]||(We[t]?We[t].forEach(e):(r.push(t),n[t]=!0))})),new Ut(`${e}: `+r.map(Vt).join([", "]))},$t=(e,t,r,n,i,s,a,o,c,u,l,d,h)=>{l=ze(l),s=Ht(i,s),o&&(o=Ht(a,o)),u&&(u=Ht(c,u)),h=Ht(d,h);var f=At(l);wt(f,(function(){jt(`Cannot construct ${l} due to unbound types`,[n])})),$e([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:gt.prototype;var a=_t(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Fe("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Fe(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Fe(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:a}});a.prototype=c;var d=new kt(l,a,c,h,r,s,o,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Pt(l,d,!0,!1,!1),m=new Pt(l+"*",d,!1,!1,!1),v=new Pt(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ft(f,a),[p,m,v]}))},Gt=(e,t)=>{for(var r=[],n=0;n>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Xt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=_t(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Kt(e,t,r,n,i,s){var a=t.length;a<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=o?1:2;u{var a=Gt(t,r);i=Ht(n,i),$e([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Fe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{jt(`Cannot construct ${e.name} due to unbound types`,a)},$e([],a,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,n,null,i,s),[]))),[]}))},Jt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Qt=(e,t,r,n,i,s,a,o,c)=>{var u=Gt(r,n);t=ze(t),t=Jt(t),s=Ht(i,s),$e([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){jt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(bt(l,t,n),l[t].overloadTable[r-2]=i),$e([],u,(function(i){var o=Kt(n,i,e,s,a,c);return void 0===l[t].overloadTable?(o.argCount=r-2,l[t]=o):l[t].overloadTable[r-2]=o,[]})),[]}))};function Zt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(E[e>>2])}var or=(e,t)=>{qe(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(x[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{qe(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>I[e>>0];case 2:return r?e=>A[e>>1]:e=>k[e>>1];case 4:return r?e=>E[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}qe(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Ke,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,I,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));qe(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,a=0;a<=n;++a){var o=i+a;if(a==n||0==I[o]){var c=Be(s,o-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=o+1}}else{var u=new Array(n);for(a=0;a>2]=n,r&&i)pr(t,a,n+1);else if(i)for(var o=0;o255&&(on(a),Ve("String has UTF-16 code units that do not fit in 8 bits")),I[a+o]=c}else for(o=0;o{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&k[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(I.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},gr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return A[t>>1]=0,t-n},_r=e=>2*e.length,br=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=E[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s);if(E[t>>2]=a,(t+=4)+4>i)break}return E[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Ir=(e,t,r)=>{var n,i,s,a,o;r=ze(r),2===t?(n=yr,i=gr,a=_r,s=()=>k,o=1):4===t&&(n=br,i=wr,a=Sr,s=()=>C,o=2),qe(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],a=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==a[l>>o]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return on(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ve(`Cannot pass non-string to C++ string type ${r}`);var s=a(n),c=ln(4+s+t);return C[c>>2]=s>>o,i(n,c+4,s+t),null!==e&&e.push(on,c),c},argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction(e){on(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},kr={},Er=e=>{var t=kr[e];return void 0===t?ze(e):t},Cr=[],xr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=Er(r)],n,i),Tr=e=>{var t=Cr.length;return Cr.push(e),t},Br=(e,t)=>{var r=He[e];return void 0===r&&Ve(t+" has unknown type "+Vt(e)),r},Dr=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Pr=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Mr=(e,t,r)=>{var n=Dr(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return Tr(_t(h,d))},Ur=e=>{var t=sr.toValue(e);qt(t),rr(e)},Fr=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{G("")},Lr=()=>Date.now(),Or=(e,t,r)=>I.copyWithin(e,t,t+r),zr=e=>{G("OOM")},Nr=e=>{I.length,zr()},Hr={},Wr=()=>u||"./this.program",Vr=()=>{if(!Vr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Wr()};for(var t in Hr)void 0===Hr[t]?delete e[t]:e[t]=Hr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Vr.strings=r}return Vr.strings},jr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},$r=(e,t)=>{var r=0;return Vr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,jr(n,s),r+=n.length+1})),0},Gr=(e,t)=>{var r=Vr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function qr(e){try{var t=De.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Xr(e,t){try{var r=De.getStreamFromFD(e),n=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=n,A[t+2>>1]=0,K=[0,(X=0,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[t+8>>2]=K[0],E[t+12>>2]=K[1],K=[0,(X=0,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[t+16>>2]=K[0],E[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=C[t+4>>2];t+=8;var c=Te.read(e,S,a,o,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Jr(e,t,r,n,i){var s=Fr(t,r);try{if(isNaN(s))return 61;var a=De.getStreamFromFD(e);return Te.llseek(a,s,n),K=[a.position>>>0,(X=a.position,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],E[i>>2]=K[0],E[i+4>>2]=K[1],a.getdents&&0===s&&0===n&&(a.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Qr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=C[t+4>>2];t+=8;var c=Te.write(e,S,a,o,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Zr(e,t,r,n){try{var i=De.getStreamFromFD(e),s=Qr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=en,Te.createPreloadedFile=Ee,Te.staticInit(),Oe(),Fe=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yt(),lt(),Dt(),Ut=i.UnboundTypeError=Wt(Error,"UnboundTypeError"),Zt(),ir();var nn,sn={o:ae,A:Pe,s:Me,q:Le,C:Ye,D:$t,y:Yt,g:Qt,B:or,k:lr,c:hr,b:fr,l:mr,i:Ir,n:Ar,f:xr,m:rr,e:Mr,d:Ur,a:Rr,h:Lr,w:Or,r:Nr,u:$r,v:Gr,j:qr,t:Xr,z:Yr,p:Jr,x:Zr},an=ne(),on=e=>(on=an.G)(e),cn=()=>(cn=an.I)(),un=e=>(un=an.J)(e),ln=e=>(ln=an.K)(e),dn=e=>(dn=an.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,B||(L(),r(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}W>0||(R(),W>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_viiijj=(e,t,r,n,s,a,o,c)=>(i.dynCall_viiijj=an.N)(e,t,r,n,s,a,o,c),i.dynCall_jij=(e,t,r,n)=>(i.dynCall_jij=an.O)(e,t,r,n),i.dynCall_jii=(e,t,r)=>(i.dynCall_jii=an.P)(e,t,r),i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=an.Q)(e,t,r,n,s),V=function e(){nn||hn(),nn||(V=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),t.ready}})(),o=h;function c(){var e=["215097ikPOLp","sqrt","random","56CtkjPc","722234ZlxKms","150504eskDEI","8AGCwPC","1204368nvFhnE","length","8325432LDwcXm","20WGwckd","6089970IdCukx","abs","undefined","max","hypot","159465dyrXAv"];return(c=function(){return e})()}!function(e,t){for(var r=h,n=e();;)try{if(466593===parseInt(r(273))/1+-parseInt(r(259))/2+parseInt(r(269))/3+-parseInt(r(262))/4*(-parseInt(r(268))/5)+-parseInt(r(274))/6*(parseInt(r(272))/7)+-parseInt(r(275))/8*(-parseInt(r(261))/9)+-parseInt(r(263))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(c);var u=1e-6,l=typeof Float32Array!==o(265)?Float32Array:Array,d=Math[o(271)];function h(e,t){var r=c();return(h=function(e,t){return r[e-=259]})(e,t)}var f=Math.PI/180;Math[o(267)]||(Math[o(267)]=function(){for(var e=o,t=0,r=arguments[e(260)];r--;)t+=arguments[r]*arguments[r];return Math[e(270)](t)});var p=Object.freeze({__proto__:null,EPSILON:u,get ARRAY_TYPE(){return l},RANDOM:d,setMatrixArrayType:function(e){l=e},toRadian:function(e){return e*f},equals:function(e,t){var r=o;return Math.abs(e-t)<=u*Math[r(266)](1,Math[r(264)](e),Math[r(264)](t))}});function m(){var e=g,t=new(p[e(385)])(16);return p[e(385)]!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function v(){var e=["5356344wwiZzB","6449724wXFOXF","downDegrees","cos","5xvSPtX","EPSILON","sin","8tyMSqk","hypot","leftDegrees","sqrt","upDegrees","max","3458286quKwHF","2941304wJVsTA","tan","685588FnLYSc","rightDegrees","mat4(","ARRAY_TYPE","4182731KIUNMK","abs","589614MAhLOS"];return(v=function(){return e})()}function y(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function g(e,t){var r=v();return(g=function(e,t){return r[e-=379]})(e,t)}function _(e,t,r){var n=t[0],i=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],m=t[12],v=t[13],y=t[14],g=t[15],_=r[0],b=r[1],w=r[2],S=r[3];return e[0]=_*n+b*o+w*d+S*m,e[1]=_*i+b*c+w*h+S*v,e[2]=_*s+b*u+w*f+S*y,e[3]=_*a+b*l+w*p+S*g,_=r[4],b=r[5],w=r[6],S=r[7],e[4]=_*n+b*o+w*d+S*m,e[5]=_*i+b*c+w*h+S*v,e[6]=_*s+b*u+w*f+S*y,e[7]=_*a+b*l+w*p+S*g,_=r[8],b=r[9],w=r[10],S=r[11],e[8]=_*n+b*o+w*d+S*m,e[9]=_*i+b*c+w*h+S*v,e[10]=_*s+b*u+w*f+S*y,e[11]=_*a+b*l+w*p+S*g,_=r[12],b=r[13],w=r[14],S=r[15],e[12]=_*n+b*o+w*d+S*m,e[13]=_*i+b*c+w*h+S*v,e[14]=_*s+b*u+w*f+S*y,e[15]=_*a+b*l+w*p+S*g,e}function b(e,t,r){var n=t[0],i=t[1],s=t[2],a=t[3],o=n+n,c=i+i,u=s+s,l=n*o,d=n*c,h=n*u,f=i*c,p=i*u,m=s*u,v=a*o,y=a*c,g=a*u;return e[0]=1-(f+m),e[1]=d+g,e[2]=h-y,e[3]=0,e[4]=d-g,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=h+y,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function w(e,t){var r=g,n=t[0],i=t[1],s=t[2],a=t[4],o=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(397)](n,i,s),e[1]=Math[r(397)](a,o,c),e[2]=Math[r(397)](u,l,d),e}function S(e,t,r,n,i){var s,a=1/Math[g(381)](t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=g,n=e();;)try{if(800276===-parseInt(r(382))/1+parseInt(r(388))/2+parseInt(r(379))/3+-parseInt(r(380))/4*(parseInt(r(393))/5)+parseInt(r(389))/6+parseInt(r(386))/7+parseInt(r(396))/8*(-parseInt(r(390))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(v);var I=S;function A(e,t,r,n,i,s,a){var o=1/(t-r),c=1/(n-i),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*o,e[13]=(i+n)*c,e[14]=(a+s)*u,e[15]=1,e}var k=A;function E(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var C=_,x=E,T=Object.freeze({__proto__:null,create:m,clone:function(e){var t=new(p[g(385)])(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,a,o,c,u,l,d,h,f,m,v){var y=new(p[g(385)])(16);return y[0]=e,y[1]=t,y[2]=r,y[3]=n,y[4]=i,y[5]=s,y[6]=a,y[7]=o,y[8]=c,y[9]=u,y[10]=l,y[11]=d,y[12]=h,y[13]=f,y[14]=m,y[15]=v,y},set:function(e,t,r,n,i,s,a,o,c,u,l,d,h,f,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=a,e[6]=o,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=h,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:y,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],a=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=a,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15],g=r*o-n*a,_=r*c-i*a,b=r*u-s*a,w=n*c-i*o,S=n*u-s*o,I=i*u-s*c,A=l*m-d*p,k=l*v-h*p,E=l*y-f*p,C=d*v-h*m,x=d*y-f*m,T=h*y-f*v,B=g*T-_*x+b*C+w*E-S*k+I*A;return B?(B=1/B,e[0]=(o*T-c*x+u*C)*B,e[1]=(i*x-n*T-s*C)*B,e[2]=(m*I-v*S+y*w)*B,e[3]=(h*S-d*I-f*w)*B,e[4]=(c*E-a*T-u*k)*B,e[5]=(r*T-i*E+s*k)*B,e[6]=(v*b-p*I-y*_)*B,e[7]=(l*I-h*b+f*_)*B,e[8]=(a*x-o*E+u*A)*B,e[9]=(n*E-r*x-s*A)*B,e[10]=(p*S-m*b+y*g)*B,e[11]=(d*b-l*S-f*g)*B,e[12]=(o*k-a*C-c*A)*B,e[13]=(r*C-n*k+i*A)*B,e[14]=(m*_-p*w-v*g)*B,e[15]=(l*w-d*_+h*g)*B,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15];return e[0]=o*(h*y-f*v)-d*(c*y-u*v)+m*(c*f-u*h),e[1]=-(n*(h*y-f*v)-d*(i*y-s*v)+m*(i*f-s*h)),e[2]=n*(c*y-u*v)-o*(i*y-s*v)+m*(i*u-s*c),e[3]=-(n*(c*f-u*h)-o*(i*f-s*h)+d*(i*u-s*c)),e[4]=-(a*(h*y-f*v)-l*(c*y-u*v)+p*(c*f-u*h)),e[5]=r*(h*y-f*v)-l*(i*y-s*v)+p*(i*f-s*h),e[6]=-(r*(c*y-u*v)-a*(i*y-s*v)+p*(i*u-s*c)),e[7]=r*(c*f-u*h)-a*(i*f-s*h)+l*(i*u-s*c),e[8]=a*(d*y-f*m)-l*(o*y-u*m)+p*(o*f-u*d),e[9]=-(r*(d*y-f*m)-l*(n*y-s*m)+p*(n*f-s*d)),e[10]=r*(o*y-u*m)-a*(n*y-s*m)+p*(n*u-s*o),e[11]=-(r*(o*f-u*d)-a*(n*f-s*d)+l*(n*u-s*o)),e[12]=-(a*(d*v-h*m)-l*(o*v-c*m)+p*(o*h-c*d)),e[13]=r*(d*v-h*m)-l*(n*v-i*m)+p*(n*h-i*d),e[14]=-(r*(o*v-c*m)-a*(n*v-i*m)+p*(n*c-i*o)),e[15]=r*(o*h-c*d)-a*(n*h-i*d)+l*(n*c-i*o),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],a=e[5],o=e[6],c=e[7],u=e[8],l=e[9],d=e[10],h=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*a-r*s)*(d*v-h*m)-(t*o-n*s)*(l*v-h*p)+(t*c-i*s)*(l*m-d*p)+(r*o-n*a)*(u*v-h*f)-(r*c-i*a)*(u*m-d*f)+(n*c-i*o)*(u*p-l*f)},multiply:_,translate:function(e,t,r){var n,i,s,a,o,c,u,l,d,h,f,p,m=r[0],v=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*y+t[12],e[13]=t[1]*m+t[5]*v+t[9]*y+t[13],e[14]=t[2]*m+t[6]*v+t[10]*y+t[14],e[15]=t[3]*m+t[7]*v+t[11]*y+t[15]):(n=t[0],i=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=a,e[4]=o,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=h,e[10]=f,e[11]=p,e[12]=n*m+o*v+d*y+t[12],e[13]=i*m+c*v+h*y+t[13],e[14]=s*m+u*v+f*y+t[14],e[15]=a*m+l*v+p*y+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,a,o,c,u,l,d,h,f,m,v,y,_,b,w,S,I,A,k,E,C,x,T,B=g,D=n[0],P=n[1],M=n[2],U=Math[B(397)](D,P,M);return U0?(r[0]=2*(o*a+d*n+c*s-u*i)/h,r[1]=2*(c*a+d*i+u*n-o*s)/h,r[2]=2*(u*a+d*s+o*i-c*n)/h):(r[0]=2*(o*a+d*n+c*s-u*i),r[1]=2*(c*a+d*i+u*n-o*s),r[2]=2*(u*a+d*s+o*i-c*n)),b(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:w,getRotation:function(e,t){var r=g,n=new(p[r(385)])(3);w(n,t);var i=1/n[0],s=1/n[1],a=1/n[2],o=t[0]*i,c=t[1]*s,u=t[2]*a,l=t[4]*i,d=t[5]*s,h=t[6]*a,f=t[8]*i,m=t[9]*s,v=t[10]*a,y=o+d+v,_=0;return y>0?(_=2*Math.sqrt(y+1),e[3]=.25*_,e[0]=(h-m)/_,e[1]=(f-u)/_,e[2]=(c-l)/_):o>d&&o>v?(_=2*Math[r(399)](1+o-d-v),e[3]=(h-m)/_,e[0]=.25*_,e[1]=(c+l)/_,e[2]=(f+u)/_):d>v?(_=2*Math[r(399)](1+d-o-v),e[3]=(f-u)/_,e[0]=(c+l)/_,e[1]=.25*_,e[2]=(h+m)/_):(_=2*Math.sqrt(1+v-o-d),e[3]=(c-l)/_,e[0]=(f+u)/_,e[1]=(h+m)/_,e[2]=.25*_),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],a=t[2],o=t[3],c=i+i,u=s+s,l=a+a,d=i*c,h=i*u,f=i*l,p=s*u,m=s*l,v=a*l,y=o*c,g=o*u,_=o*l,b=n[0],w=n[1],S=n[2];return e[0]=(1-(p+v))*b,e[1]=(h+_)*b,e[2]=(f-g)*b,e[3]=0,e[4]=(h-_)*w,e[5]=(1-(d+v))*w,e[6]=(m+y)*w,e[7]=0,e[8]=(f+g)*S,e[9]=(m-y)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],a=t[1],o=t[2],c=t[3],u=s+s,l=a+a,d=o+o,h=s*u,f=s*l,p=s*d,m=a*l,v=a*d,y=o*d,g=c*u,_=c*l,b=c*d,w=n[0],S=n[1],I=n[2],A=i[0],k=i[1],E=i[2],C=(1-(m+y))*w,x=(f+b)*w,T=(p-_)*w,B=(f-b)*S,D=(1-(h+y))*S,P=(v+g)*S,M=(p+_)*I,U=(v-g)*I,F=(1-(h+m))*I;return e[0]=C,e[1]=x,e[2]=T,e[3]=0,e[4]=B,e[5]=D,e[6]=P,e[7]=0,e[8]=M,e[9]=U,e[10]=F,e[11]=0,e[12]=r[0]+A-(C*A+B*k+M*E),e[13]=r[1]+k-(x*A+D*k+U*E),e[14]=r[2]+E-(T*A+P*k+F*E),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=r+r,o=n+n,c=i+i,u=r*a,l=n*a,d=n*o,h=i*a,f=i*o,p=i*c,m=s*a,v=s*o,y=s*c;return e[0]=1-d-p,e[1]=l+y,e[2]=h-v,e[3]=0,e[4]=l-y,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=h+v,e[9]=f-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,a){var o=1/(r-t),c=1/(i-n),u=1/(s-a);return e[0]=2*s*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(i+n)*c,e[10]=(a+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*s*2*u,e[15]=0,e},perspectiveNO:S,perspective:I,perspectiveZO:function(e,t,r,n,i){var s,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=g,s=Math[i(381)](t[i(400)]*Math.PI/180),a=Math.tan(t[i(391)]*Math.PI/180),o=Math[i(381)](t[i(398)]*Math.PI/180),c=Math[i(381)](t[i(383)]*Math.PI/180),u=2/(o+c),l=2/(s+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(o-c)*u*.5,e[9]=(s-a)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:A,ortho:k,orthoZO:function(e,t,r,n,i,s,a){var o=1/(t-r),c=1/(n-i),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*o,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,a,o,c,l,d,h,f,m,v=g,_=t[0],b=t[1],w=t[2],S=n[0],I=n[1],A=n[2],k=r[0],E=r[1],C=r[2];return Math[v(387)](_-k)0&&(d*=p=1/Math[i(399)](p),h*=p,f*=p);var m=u*f-l*h,v=l*d-c*f,y=c*h-u*d;return(p=m*m+v*v+y*y)>0&&(m*=p=1/Math[i(399)](p),v*=p,y*=p),e[0]=m,e[1]=v,e[2]=y,e[3]=0,e[4]=h*y-f*v,e[5]=f*m-d*y,e[6]=d*v-h*m,e[7]=0,e[8]=d,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=a,e[14]=o,e[15]=1,e},str:function(e){return g(384)+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[g(397)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:E,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=g,n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],c=e[5],l=e[6],d=e[7],h=e[8],f=e[9],m=e[10],v=e[11],y=e[12],_=e[13],b=e[14],w=e[15],S=t[0],I=t[1],A=t[2],k=t[3],E=t[4],C=t[5],x=t[6],T=t[7],B=t[8],D=t[9],P=t[10],M=t[11],U=t[12],F=t[13],R=t[14],L=t[15];return Math[r(387)](n-S)<=p[r(394)]*Math[r(401)](1,Math[r(387)](n),Math.abs(S))&&Math[r(387)](i-I)<=p[r(394)]*Math[r(401)](1,Math[r(387)](i),Math[r(387)](I))&&Math[r(387)](s-A)<=p[r(394)]*Math[r(401)](1,Math.abs(s),Math.abs(A))&&Math[r(387)](a-k)<=u*Math[r(401)](1,Math[r(387)](a),Math.abs(k))&&Math.abs(o-E)<=u*Math[r(401)](1,Math[r(387)](o),Math[r(387)](E))&&Math.abs(c-C)<=p[r(394)]*Math[r(401)](1,Math[r(387)](c),Math[r(387)](C))&&Math.abs(l-x)<=p[r(394)]*Math[r(401)](1,Math[r(387)](l),Math.abs(x))&&Math[r(387)](d-T)<=u*Math[r(401)](1,Math[r(387)](d),Math[r(387)](T))&&Math[r(387)](h-B)<=u*Math.max(1,Math[r(387)](h),Math[r(387)](B))&&Math[r(387)](f-D)<=p[r(394)]*Math[r(401)](1,Math[r(387)](f),Math.abs(D))&&Math[r(387)](m-P)<=p[r(394)]*Math[r(401)](1,Math.abs(m),Math[r(387)](P))&&Math[r(387)](v-M)<=u*Math[r(401)](1,Math[r(387)](v),Math[r(387)](M))&&Math[r(387)](y-U)<=u*Math[r(401)](1,Math[r(387)](y),Math.abs(U))&&Math[r(387)](_-F)<=u*Math[r(401)](1,Math[r(387)](_),Math[r(387)](F))&&Math.abs(b-R)<=u*Math[r(401)](1,Math.abs(b),Math[r(387)](R))&&Math[r(387)](w-L)<=p[r(394)]*Math[r(401)](1,Math.abs(w),Math.abs(L))},mul:C,sub:x});function B(){var e=P,t=new(p[e(400)])(3);return p[e(400)]!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function D(e){var t=P,r=e[0],n=e[1],i=e[2];return Math[t(381)](r,n,i)}function P(e,t){var r=N();return(P=function(e,t){return r[e-=374]})(e,t)}function M(e,t,r){var n=new l(3);return n[0]=e,n[1]=t,n[2]=r,n}function U(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function F(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function R(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function L(e,t){var r=P,n=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return Math[r(381)](n,i,s)}function O(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function z(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function N(){var e=["EPSILON","948370NfWkeB","1213aSvKEG","acos","vec3(","max","cos","RANDOM","hypot","sqrt","1319936QHFvDt","round","10VnIUIn","62160Tfsifp","64956ZpbnDa","241878wNTOYG","1313775ZCmjFX","6wnmdcP","3DmGgke","6zXljEA","min","abs","143yhFXqf","sin","length","ceil","floor","ARRAY_TYPE"];return(N=function(){return e})()}function H(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}!function(e,t){for(var r=P,n=e();;)try{if(115669===parseInt(r(375))/1*(-parseInt(r(392))/2)+parseInt(r(391))/3*(parseInt(r(386))/4)+parseInt(r(374))/5*(parseInt(r(390))/6)+-parseInt(r(388))/7+parseInt(r(383))/8+-parseInt(r(389))/9*(parseInt(r(385))/10)+parseInt(r(395))/11*(-parseInt(r(387))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(N);var W,V=U,j=F,$=R,G=L,q=O,X=D,K=z,Y=(W=B(),function(e,t,r,n,i,s){var a,o,c=P;for(!t&&(t=3),!r&&(r=0),o=n?Math[c(393)](n*t+r,e.length):e[c(397)],a=r;a0&&(a=1/Math[r(382)](a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},dot:H,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],a=r[0],o=r[1],c=r[2];return e[0]=i*c-s*o,e[1]=s*a-n*c,e[2]=n*o-i*a,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],a=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=a+n*(r[2]-a),e},hermite:function(e,t,r,n,i,s){var a=s*s,o=a*(2*s-3)+1,c=a*(s-2)+s,u=a*(s-1),l=a*(3-2*s);return e[0]=t[0]*o+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*o+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*o+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var a=1-s,o=a*a,c=s*s,u=o*a,l=3*s*o,d=3*c*a,h=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*h,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*h,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*h,e},random:function(e,t){var r=P;t=t||1;var n=2*p[r(380)]()*Math.PI,i=2*d()-1,s=Math[r(382)](1-i*i)*t;return e[0]=Math[r(379)](n)*s,e[1]=Math.sin(n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return a=a||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/a,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/a,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/a,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],a=r[3],o=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*o-n*u,h=n*c-i*o,f=i*h-s*d,p=s*l-n*h,m=n*d-i*l,v=2*a;return l*=v,d*=v,h*=v,f*=2,p*=2,m*=2,e[0]=o+l+f,e[1]=c+d+p,e[2]=u+h+m,e},rotateX:function(e,t,r,n){var i=P,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0],a[1]=s[1]*Math[i(379)](n)-s[2]*Math[i(396)](n),a[2]=s[1]*Math[i(396)](n)+s[2]*Math[i(379)](n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateY:function(e,t,r,n){var i=P,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[2]*Math[i(396)](n)+s[0]*Math[i(379)](n),a[1]=s[1],a[2]=s[2]*Math.cos(n)-s[0]*Math[i(396)](n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateZ:function(e,t,r,n){var i=P,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0]*Math[i(379)](n)-s[1]*Math.sin(n),a[1]=s[0]*Math[i(396)](n)+s[1]*Math[i(379)](n),a[2]=s[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},angle:function(e,t){var r=P,n=e[0],i=e[1],s=e[2],a=t[0],o=t[1],c=t[2],u=Math.sqrt(n*n+i*i+s*s)*Math[r(382)](a*a+o*o+c*c),l=u&&H(e,t)/u;return Math[r(376)](Math.min(Math[r(378)](l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return P(377)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=P,n=e[0],i=e[1],s=e[2],a=t[0],o=t[1],c=t[2];return Math[r(394)](n-a)<=p[r(401)]*Math[r(378)](1,Math.abs(n),Math.abs(a))&&Math.abs(i-o)<=u*Math.max(1,Math.abs(i),Math[r(394)](o))&&Math[r(394)](s-c)<=p[r(401)]*Math[r(378)](1,Math[r(394)](s),Math[r(394)](c))},sub:V,mul:j,div:$,dist:G,sqrDist:q,len:X,sqrLen:K,forEach:Y});function Q(){var e=["72kpyzGk","463395npTrVq","14304SslgMN","42157qSaWrs","12cvHyPP","484MPQxOq","6074800KsOMNl","10dQwUQe","1103560sjdoyG","4195702XjHQkX","6BIaNsr","6843605Xollxq"];return(Q=function(){return e})()}function Z(e,t){var r=Q();return(Z=function(e,t){return r[e-=371]})(e,t)}function ee(){const e=["program","TEXTURE2","log","position","uniform1i","clearColor","uViewMatrix","linkProgram","deleteProgram","yTexture","uProjectionMatrix","UNPACK_ALIGNMENT","DEPTH_TEST","ytexture","ortho","COMPILE_STATUS","14BObyNS","vTexture","LINK_STATUS","Unable to initialize the shader program: ","indices","uTexture","texParameteri","TRIANGLES","deleteBuffer","bindBuffer","uniformLocations","18mgqxWf","enableVertexAttribArray","STATIC_DRAW","attribLocations","activeTexture","VERTEX_SHADER","deleteTexture","viewMatrix","getUniformLocation","bufferData","createShader","4kCsjZd","getProgramParameter","An error occurred compiling the shaders: ","217925RWmRAD","pixelStorei","rgbatexture","isyuv","201907WnUSyP","TEXTURE1","TEXTURE_MAG_FILTER","LUMINANCE","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","concat","clear","TEXTURE_WRAP_S","LINEAR","lookAt","ELEMENT_ARRAY_BUFFER","349908SVzEjJ","TEXTURE0","vertexAttribPointer","uniformMatrix4fv","createProgram","CLAMP_TO_EDGE","COLOR_BUFFER_BIT","createBuffer","modelMatrix","949990NTBxLX","clearDepth","895652VjFeTm","texturePosition","texImage2D","create","TEXTURE_WRAP_T","662154aQAdRA","attachShader","texPosition","UNSIGNED_SHORT","vtexture","drawElements","shaderSource","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","77PeKmOY","getShaderInfoLog","aTexturePosition","fromValues","ARRAY_BUFFER","getShaderParameter","2037288EdLOyD","identity","bindTexture","uModelMatrix","TEXTURE_2D","projectionMatrix","UNSIGNED_BYTE"];return(ee=function(){return e})()}function te(e,t){const r=ee();return(te=function(e,t){return r[e-=417]})(e,t)}!function(e,t){for(var r=Z,n=e();;)try{if(692671===-parseInt(r(382))/1*(-parseInt(r(374))/2)+-parseInt(r(380))/3*(parseInt(r(371))/4)+parseInt(r(378))/5+parseInt(r(377))/6*(-parseInt(r(376))/7)+-parseInt(r(373))/8+-parseInt(r(379))/9*(-parseInt(r(375))/10)+parseInt(r(372))/11*(parseInt(r(381))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Q),function(e,t){const r=te,n=e();for(;;)try{if(384017===-parseInt(r(440))/1+parseInt(r(462))/2+parseInt(r(451))/3+parseInt(r(433))/4*(-parseInt(r(436))/5)+-parseInt(r(467))/6*(-parseInt(r(504))/7)+-parseInt(r(481))/8*(-parseInt(r(422))/9)+-parseInt(r(460))/10*(parseInt(r(475))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ee);var re=(e,t)=>{const r=te,n=r(444),i=r(474);t&&e[r(437)](e[r(499)],1);const s=function(){const t=r,s=f(e[t(427)],n),a=f(e.FRAGMENT_SHADER,i),o=e[t(455)]();return e[t(468)](o,s),e.attachShader(o,a),e[t(495)](o),e[t(434)](o,e[t(506)])?o:(console[t(490)](t(507)+e.getProgramInfoLog(o)),null)}();let a={program:s,attribLocations:{vertexPosition:e.getAttribLocation(s,"aVertexPosition"),texturePosition:e.getAttribLocation(s,r(477))},uniformLocations:{projectionMatrix:e[r(430)](s,r(498)),modelMatrix:e[r(430)](s,r(484)),viewMatrix:e[r(430)](s,r(494)),rgbatexture:e[r(430)](s,"rgbaTexture"),ytexture:e[r(430)](s,r(497)),utexture:e.getUniformLocation(s,r(509)),vtexture:e[r(430)](s,r(505)),isyuv:e[r(430)](s,r(439))}},o=function(){const t=r,n=e[t(458)]();e[t(420)](e[t(479)],n);e[t(431)](e[t(479)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e[t(424)]);var i=[];i=i[t(445)]([0,1],[1,1],[1,0],[0,0]);const s=e[t(458)]();e[t(420)](e[t(479)],s),e[t(431)](e.ARRAY_BUFFER,new Float32Array(i),e[t(424)]);const a=e.createBuffer();e[t(420)](e[t(450)],a);return e[t(431)](e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e[t(424)]),{position:n,texPosition:s,indices:a}}(),c=h(),u=h(),l=h(),d=h();function h(){const t=r;let n=e.createTexture();return e.bindTexture(e[t(485)],n),e.texParameteri(e[t(485)],e[t(442)],e[t(448)]),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e[t(448)]),e[t(417)](e[t(485)],e[t(447)],e[t(456)]),e[t(417)](e.TEXTURE_2D,e[t(466)],e[t(456)]),n}function f(t,n){const i=r,s=e[i(432)](t);return e[i(473)](s,n),e.compileShader(s),e[i(480)](s,e[i(503)])?s:(console[i(490)](i(435)+e[i(476)](s)),e.deleteShader(s),null)}function p(t,n){const i=r;e.viewport(0,0,t,n),e[i(493)](0,0,0,0),e[i(461)](1),e.enable(e[i(500)]),e.depthFunc(e.LEQUAL),e[i(446)](e[i(457)]|e.DEPTH_BUFFER_BIT);const s=m();T[i(502)](s,-1,1,-1,1,.1,100);const c=m();T[i(482)](c);const h=T[i(465)]();T[i(449)](h,M(0,0,0),J[i(478)](0,0,-1),M(0,1,0));{const t=3,r=e.FLOAT,n=!1,s=0,c=0;e.bindBuffer(e[i(479)],o[i(491)]),e.vertexAttribPointer(a[i(425)].vertexPosition,t,r,n,s,c),e[i(423)](a.attribLocations.vertexPosition)}{const t=2,r=e.FLOAT,n=!1,s=0,c=0;e.bindBuffer(e[i(479)],o[i(469)]),e[i(453)](a[i(425)][i(463)],t,r,n,s,c),e.enableVertexAttribArray(a.attribLocations[i(463)])}e[i(426)](e[i(452)]+3),e[i(483)](e.TEXTURE_2D,u),e[i(426)](e[i(452)]+4),e[i(483)](e[i(485)],l),e.activeTexture(e[i(452)]+5),e[i(483)](e[i(485)],d),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,o[i(508)]),e.useProgram(a.program),e[i(454)](a[i(421)][i(486)],!1,s),e[i(454)](a[i(421)][i(459)],!1,c),e.uniformMatrix4fv(a[i(421)][i(429)],!1,h),e[i(492)](a[i(421)][i(438)],2),e[i(492)](a[i(421)][i(501)],3),e[i(492)](a[i(421)].utexture,4),e[i(492)](a[i(421)][i(471)],5),e.uniform1i(a[i(421)].isyuv,1);{const t=6,r=e[i(470)],n=0;e[i(472)](e[i(418)],t,r,n)}}return{render:function(t,n,i,s,a){const o=r;e[o(426)](e[o(452)]),e[o(483)](e.TEXTURE_2D,u),e[o(464)](e[o(485)],0,e.LUMINANCE,t,n,0,e[o(443)],e.UNSIGNED_BYTE,i),e[o(426)](e[o(441)]),e[o(483)](e[o(485)],l),e[o(464)](e[o(485)],0,e[o(443)],t/2,n/2,0,e[o(443)],e[o(487)],s),e.activeTexture(e[o(489)]),e[o(483)](e[o(485)],d),e.texImage2D(e[o(485)],0,e[o(443)],t/2,n/2,0,e.LUMINANCE,e[o(487)],a),p(t,n)},renderYUV:function(t,n,i){const s=r;let a=i.slice(0,t*n),o=i.slice(t*n,t*n*5/4),c=i.slice(t*n*5/4,t*n*3/2);e[s(426)](e[s(452)]),e[s(483)](e[s(485)],u),e[s(464)](e[s(485)],0,e[s(443)],t,n,0,e[s(443)],e[s(487)],a),e[s(426)](e[s(441)]),e[s(483)](e[s(485)],l),e[s(464)](e[s(485)],0,e[s(443)],t/2,n/2,0,e[s(443)],e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e[s(483)](e[s(485)],d),e[s(464)](e[s(485)],0,e[s(443)],t/2,n/2,0,e[s(443)],e[s(487)],c),p(t,n)},destroy:function(){const t=r;e[t(496)](a[t(488)]),e[t(419)](o[t(491)]),e[t(419)](o.texPosition),e[t(419)](o[t(508)]),e[t(428)](c),e[t(428)](u),e.deleteTexture(l),e[t(428)](d),a=null,o=null,c=null,u=null,l=null,d=null}}};const ne=Qe;!function(e,t){const r=Qe,n=e();for(;;)try{if(996823===parseInt(r(470))/1+-parseInt(r(320))/2+-parseInt(r(245))/3*(-parseInt(r(123))/4)+-parseInt(r(137))/5+-parseInt(r(516))/6+parseInt(r(448))/7*(parseInt(r(160))/8)+parseInt(r(526))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(xe);const ie={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};ne(304),ne(388),ne(230),ne(109),ne(406),ne(286);const se={fetch:ne(388),hls:ne(230),websocket:"websocket",webrtc:ne(109),webTransport:ne(406),worker:ne(478),aliyunRtc:ne(286),mp4:ne(433)},ae={player:ne(440),playerAudio:ne(255),playbackTF:ne(512),talk:ne(273),playVod:ne(509)},oe={mp4:"mp4",webm:ne(481),flv:"flv",mov:ne(313)},ce={flv:ne(487),m7s:"m7s",hls:ne(230),webrtc:ne(109),webTransport:ne(406),nakedFlow:ne(228),fmp4:ne(383),mpeg4:ne(133),aliyunRtc:ne(286),ts:"ts",g711:ne(205),pcm:"pcm"};ne(550),ne(494),ne(213),ne(193),ne(340);const ue={mse:ne(321),wcs:ne(114),offscreen:ne(474),wasm:"wasm",simd:"simd",mt:"mt",webrtc:ne(109),hls:"hls",aliyunRtc:ne(286)},le={canvas:"canvas",video:ne(464)},de={debug:ne(332),warn:"warn"},he={click:ne(431),mouseDownAndUp:ne(283)},fe={normal:ne(452),simple:"simple"},pe={normal:"normal",small:ne(249)},me=ne(154),ve=ne(434),ye=36e5,ge=4080,_e=12;ne(435),ne(291);const be={playIsNotPauseOrUrlIsNull:ne(462),webglAlignmentError:ne(569),webglContextLostError:ne(152),mediaSourceH265NotSupport:ne(296),mseSourceBufferFull:"缓冲区已满",mediaSourceAppendBufferError:ne(365),mseSourceBufferError:ne(214),mseAddSourceBufferError:ne(365),mseWorkerAddSourceBufferError:ne(365),mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:ne(397),mediaSourceAudioG711NotSupport:ne(498),mediaSourceAudioInitTimeout:"初始化音频解码器失败",mediaSourceAudioNoDataTimeout:ne(350),mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",mediaSourceBufferedIsZeroError:ne(397),webcodecsH265NotSupport:ne(296),webcodecsUnsupportedConfigurationError:ne(365),webcodecsDecodeConfigureError:ne(365),webcodecsDecodeError:"解码失败",webcodecsAudioInitTimeout:ne(171),webcodecsAudioNoDataTimeout:"等待音频数据超时",wcsWidthOrHeightChange:ne(214),wasmDecodeError:"解码失败",simdDecodeError:"解码失败",wasmWidthOrHeightChange:"流异常",wasmUseVideoRenderError:ne(218),videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:ne(225),networkDelayTimeout:ne(172),fetchError:"请求失败",streamEnd:ne(119),websocket1006Error:ne(200),websocketError:ne(115),webrtcError:ne(115),hlsError:ne(115),decoderWorkerInitError:ne(185),decoderWorkerWasmError:ne(387),videoElementPlayingFailedForWebrtc:"video自动渲染失败",videoInfoError:ne(407),webrtcStreamH265:ne(371),delayTimeout:ne(399),loadingTimeout:"加载超时重播失败",loadingTimeoutRetryEnd:ne(360),delayTimeoutRetryEnd:ne(399),flvDemuxBufferSizeTooLarge:ne(138),audioChannelError:ne(542),aliyunRtcError:ne(115),mseWaitVideoCanplayTimeout:ne(397),initDecoderWorkerTimeout:ne(532)},we={playType:ae.player,videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:de[ne(257)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:pe[ne(452)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:"decoder-pro.js",decoderOld:ne(189),decoderAudio:ne(453),decoderHard:ne(260),decoderHardNotWasm:ne(141),wasmMp4RecorderDecoder:ne(196),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:ne(157),aspectRatio:ne(262),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:fe[ne(452)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:ie[ne(388)],demuxType:ce.flv,useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ue[ne(376)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:oe[ne(433)],checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:ne(385),ptzClickType:he[ne(431)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:be,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:le[ne(464)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:ne(222),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:ne(222),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:ne(173),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};ne(409),ne(326),ne(288),ne(243),ne(197),ne(394),ne(192),ne(259),ne(150),ne(210),ne(276),ne(438),ne(359),ne(527),ne(139),ne(545),ne(212);const Se={init:ne(573),initVideo:"initVideo",render:ne(295),playAudio:ne(508),initAudio:"initAudio",kBps:"kBps",decode:ne(181),audioCode:ne(555),audioNalu:ne(145),audioAACSequenceHeader:"audioAACSequenceHeader",videoCode:ne(408),videoCodec:ne(155),videoNalu:ne(174),videoPayload:ne(412),audioPayload:ne(234),wasmError:ne(417),workerFetch:"workerFetch",iframeIntervalTs:ne(374),isDropping:ne(206),workerEnd:"workerEnd",networkDelay:ne(469),playbackStreamVideoFps:ne(468),wasmWidthOrHeightChange:ne(184),simdDecodeError:ne(366),simdH264DecodeVideoWidthIsTooLarge:"simdH264DecodeVideoWidthIsTooLarge",websocketOpen:ne(475),closeEnd:ne(396),tempStream:ne(281),videoSEI:ne(341),flvScriptData:ne(121),aacSequenceHeader:ne(519),videoSequenceHeader:ne(504),flvBufferData:ne(305),checkFirstIFrame:ne(352),mseHandle:"mseHandle",mseFirstRenderTime:ne(253),mseError:ne(391),notSupportNewWasm:"notSupportNewWasm"};ne(404);const Ie={audio:1,video:2},Ae=8,ke=9,Ee=18,Ce={init:ne(573),decode:ne(181),audioDecode:"audioDecode",videoDecode:ne(202),initAudioCodec:ne(513),initVideoCodec:"initVideoCodec",close:ne(165),updateConfig:ne(299),resetDecode:ne(415),clearBuffer:"clearBuffer",resetAudioDecode:ne(310),resetVideoDecode:ne(176),fetchStream:ne(450),sendWsMessage:ne(325),mseUpdateVideoTimestamp:ne(207),playbackIsPause:ne(178)};function xe(){const e=["hls","mseSourceBufferBusy","performance","widthOrHeightChange","audioPayload","loadingTimeout","aiImageDetectResult","playIsNotPauseOrUrlIsNull","stats","multiFullscreen","talkStreamError","rightUp","playVodPause","isM7sCrypto","destroyEnd","2273445nXpmUP","object","speed","playVodTime","small","webgl",'video/mp4; codecs="avc1.64002A"',"videoSyncAudio","mseFirstRenderTime","subtitle-playlist","playerAudio","4-1","warn","mseSourceClose","controlSize","decoder-pro-hard.js","global","default","aiOcclusionDetectResult","timeupdate","recordBlob","timeUpdate","flvDemuxBufferSizeTooLarge","webrtcOnConnectionStateChange","mediaSourceAudioG711NotSupport","streamAbps","clickInitPlayer","sourceended","talk","delta","NotAllowedError","isMpeg4","closed","recordCreateError","jtt","csrc","tempStream","visibilityChange","mouseDownAndUp","fetchError","volume","aliyunRtc","togglePerformancePanel","isMulti","30min","opus","jbprov","mseSourceStartStreaming","talkStreamMsg","blob","render","不支持硬解码H265","playbackPauseOrResume","playbackTimeScroll","updateConfig","notSupportNewWasm",'video/mp4; codecs="hev1.1.6.L123.b0"',"aliyunRtcError","endstreaming","websocket","flvBufferData","multiSelected","multiDragstart","image/jpeg","ratechange","resetAudioDecode","hevc","AAC","mov","apertureFar","wiperClose","mute","mseWorkerAddSourceBufferError","ten-min","peer-connection","2831950zmbUAH","mse",'video/mp4;codecs="hev1.1.6.L120.90"',"play","loading","sendWsMessage","playbackForwardMaxRateDecodeIFrame","pressureObserverCpu","seeking","multiDrop","mseSourceended","left-up","debug","videoTimeUpdate","websocketError","local-candidate","fullscreen","tallWebsocketClosedByError","drawingRectInfo","playVodSeekEnd","WebTransport","videoSEI","progress","audioChannelError","videoWaiting","mseSourceEndStreaming","codec","talkStreamInactive","stalled","start","等待音频数据超时","loadingTimeoutRetryEnd","checkFirstIFrame","fogClose","webrtcFailed","stream","ALAW(g711a)","mediaSourceUseCanvasRenderPlayFailed","webrtcConnected","isHls","加载超时重播失败","active","rightDown","timeout","webcodecsH265NotSupport","初始化解码器失败","simdDecodeError","H265(HEVC)","right","certificate","playToRenderTimes","webrtc不支持H265","Unsupported configuration","imageDetectActive","iframeIntervalTs","switch-url-success","wasm","playbackTimestamp","image/png","buffering","loadedmetadata","hls-level-loaded","mseWaitVideoCanplayTimeout","fmp4","playVodVideoSeekingByMse","vertical","streamRate","wasm解码失败","fetch","ended","sendMessage","mseError","mseSourceBufferFull","fiStop","pauseAndNextPlayUseLastFrameShow","apertureNear","closeEnd","流异常","delayTimeout","播放超时重播失败","talkGetUserMediaTimeout","mseWidthOrHeightChange","playbackPreRateChange","script","Invalid NAL unit size","streamMessage","webTransport","解析视频分辨率失败","videoCode","playType","webcodecsUnsupportedConfigurationError","sourceopen","videoPayload","waiting","mediaSourceTsIsMaxDiff","resetDecode","memoryLog","wasmError","webcodecsDecodeError","window","talkGetUserMediaFail","load-retry","self","wcsWidthOrHeightChange","inView","websocket1006Error","mseSourceBufferError","open","websocketClose",'video/mp4;codecs="hev1.4.10.L120.90"',"remote-candidate","click","key","mp4","20240910","/crypto/","playVodRateChange","wcsDecodeError","isNakedFlow","decoderWorkerWasmError","player","udp","wasmUseVideoRenderError","networkDelayTimeout","mediaSourceAppendBufferError","webrtcStreamH265","mediaSourceBufferedIsZeroError","fetchClose","7lJKQZc","leftUp","fetchStream","ALAW","normal","decoder-pro-audio.js","one-hour","loadstart","webrtc-checking","webrtc-completed","streamVbps","multiMouseup","message","destroy","播放地址不能为空","zoomNarrow","video","data-channel","The user aborted a request","streamError","playbackStreamVideoFps","networkDelay","996740qPwvnd","Decoding error","resize","kBps","offscreen","websocketOpen","faceDetectActive","initDecoderWorkerTimeout","worker","decoderWorkerInitError","MEDIA_ERR_ABORTED","webm","ceil","durationchange","3-4","webFullscreen","ws1006","flv","multiDragenter","empty","playVodEndedAndReplay","playback","webrtc-closed","videoFrame","FMP4","recordStart","loadeddata","viewResizeChange","硬解码不支持G711a/u音频格式","streamQualityChange","visibilityHiddenTimeout","playbackEnd","emptied","AbortError","videoSequenceHeader","playVodEnded","remote-inbound-rtp","load-start","playAudio","playVod","audioInfo","error","playbackTF","initAudioCodec","playbackTime",'video/mp4;codecs="hev1.3.E.L120.90"',"892704rjrwuf","MEDIA_ERR_DECODE","cruiseStop","aacSequenceHeader","playbackPause","webrtcClosed","volumechange","offline","talkStreamStart","decoder-pro-audio-player.js","16138854QYwcQf","isWebrtcForZLM","canplay","subtitle-segments","paused","halfHour","初始化解码worker超时","streamSuccess","multiMousemove","load","3-1","ptz","streamStats","hlsError","alaw","multiDragleave","音频通道错误","mediaSourceH265NotSupport","networkState","isAliyunRtc","receiver","multiMouseout","ulaw","metadata","FLV","cruiseStart","flvMetaData","talkFailedAndStop","demuxed-track","audioCode","created","mp3","webcodecsAudioInitTimeout","sourcebuffer-created","rtp","log","playing","videoSmooth","talkStreamClose","mp4Error","aiObjectDetectorInfo","aiFaceDetectorInfo","focusFar","Webgl 渲染失败","videoSEISyncPts","playVodWaiting","streamEnd","init","complete","left-down","zooming","oneHour","track","webrtc","playVodCanplay","webrtcOnIceConnectionStateChange","webrtcDisconnect","MP3","wcs","请求失败","playbackRateChange","netBuf","playbackStats","请求结束","playFailedAndPaused","flvScriptData","tenMin","4bLDRtx","mseAddSourceBufferError","buffer","pause","down","mseSourceOpen","ttfb","right-down","readystatechange","switch-url-failed","mpeg4","webglContextLostError","load-complete","audioResumeState","6135250lZLCFa","FLV待解封装buffer过大","isWebrtcForOthers","mediaSourceAudioInitTimeout","decoder-pro-hard-not-wasm.js","focus","sei","remote-outbound-rtp","audioNalu","fiveMin","inbound-rtp","stop","fetchSuccess","multiIndex","hls-manifest-loaded","webgl 上下文丢失","10min","JessibucaPro","videoCodec","delayTimeoutRetryEnd","none","webrtc-disconnected","mediaSourceAudioNoDataTimeout","1926968KGEzbS","half-hour","webrtcIceCandidateError","g711a","no-audio-track","close","left","websocketMessage","connecting","five-min","playVodPauseOrResume","初始化音频解码器失败","网络超时重播失败","red","videoNalu","crashLog","resetVideoDecode","tcp","playbackIsPause","transport","simdH264DecodeVideoWidthIsTooLarge","decode","webcodecsAudioNoDataTimeout","playVodSeek","wasmWidthOrHeightChange","初始化worker失败","playVodVideoSeekedByMse","playbackShowPrecisionChange","download","decoder-pro-old.js","recordEnd","buffereos","widthOrHeightChangeReplayDelayTime","Webrtc","wasmDecodeError","fullscreen$2","jessibuca-pro-mp4-recorder-decoder.js","supportHls265","memory access out of bounds","base64","流异常结束","currentPts","videoDecode","container","recording","g711","isDropping","mseUpdateVideoTimestamp","outbound-rtp","Decoder failure","isFmp4","blur","isTs","MPEG4","解码失败","MEDIA_ERR_SRC_NOT_SUPPORTED","g711u","worklet","video自动渲染失败","sei-in-time","notConnect","playVodTimeCache","white","MULAW","idle","不支持该分辨率的视频","multiMouseover","audio packet","nakedFlow","MEDIA_ERR_NETWORK"];return(xe=function(){return e})()}ne(388),ne(461),ne(244),ne(125),ne(284),ne(447),ne(149),ne(388),ne(390),ne(461),ne(125),ne(334),ne(428),ne(475);const Te={fullscreen:ne(195),webFullscreen:ne(485),decoderWorkerInit:"decoderWorkerInit",play:"play",playing:ne(562),pause:ne(126),mute:ne(316),load:ne(535),loading:ne(324),zooming:ne(106),drawingRect:"drawingRect",drawingRectInfo:ne(338),videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:ne(510),log:ne(561),error:ne(511),kBps:"kBps",timeout:"timeout",delayTimeout:ne(398),delayTimeoutRetryEnd:ne(156),loadingTimeout:ne(235),loadingTimeoutRetryEnd:ne(351),stats:ne(238),performance:ne(232),videoSmooth:"videoSmooth",faceDetectActive:ne(476),objectDetectActive:"objectDetectActive",occlusionDetectActive:"occlusionDetectActive",imageDetectActive:ne(373),record:"record",recording:ne(204),recordingTimestamp:"recordingTimestamp",recordStart:"recordStart",recordEnd:"recordEnd",recordCreateError:ne(278),recordBlob:ne(265),recordCancel:"recordCancel",buffer:"buffer",videoFrame:ne(493),videoSEI:ne(341),videoSEISyncPts:"videoSEISyncPts",start:"start",metadata:ne(549),resize:ne(472),volumechange:ne(522),volume:ne(285),destroy:ne(461),beforeDestroy:"beforeDestroy",streamEnd:ne(572),streamRate:ne(386),streamAbps:ne(270),streamVbps:ne(458),streamDts:"streamDts",streamSuccess:ne(533),streamMessage:ne(405),streamError:ne(467),streamStats:ne(538),streamEndInner:"streamEndInner",mseSourceOpen:ne(128),mseSourceClose:ne(258),mseSourceended:ne(330),mseSourceStartStreaming:ne(292),mseSourceEndStreaming:ne(345),mseSourceBufferError:"mseSourceBufferError",mseAddSourceBufferError:ne(124),mseWorkerAddSourceBufferError:ne(317),mseSourceBufferBusy:ne(231),mseSourceBufferFull:ne(392),videoWaiting:ne(344),videoTimeUpdate:ne(333),videoSyncAudio:ne(252),playToRenderTimes:ne(370),playbackTime:ne(514),playbackTimestamp:"playbackTimestamp",playbackTimeScroll:ne(298),playbackPrecision:"playbackPrecision",playbackShowPrecisionChange:ne(187),playbackJustTime:"playbackJustTime",playbackStats:ne(118),playbackSeek:"playbackSeek",playbackPause:ne(520),playbackPauseOrResume:ne(297),playbackRateChange:"playbackRateChange",playbackPreRateChange:"playbackPreRateChange",playbackEnd:ne(501),playVodStats:"playVodStats",playVodPause:ne(242),playVodPauseOrResume:ne(170),playVodRateChange:ne(436),playVodTime:ne(248),playVodTimeCache:ne(221),playVodSeek:"playVodSeek",playVodSeekEnd:ne(339),playVodVideoSeekingByMse:ne(384),playVodVideoSeekedByMse:ne(186),playVodCanplay:ne(110),playVodWaiting:ne(571),playVodEndedAndReplay:ne(490),playVodEnded:ne(505),ptz:"ptz",streamQualityChange:ne(499),visibilityChange:"visibilityChange",netBuf:ne(117),close:ne(165),networkDelayTimeout:ne(443),togglePerformancePanel:ne(287),viewResizeChange:ne(497),flvDemuxBufferSizeTooLarge:ne(267),talkGetUserMediaSuccess:"talkGetUserMediaSuccess",talkGetUserMediaFail:ne(420),talkGetUserMediaTimeout:"talkGetUserMediaTimeout",talkStreamStart:ne(524),talkStreamOpen:"talkStreamOpen",talkStreamClose:"talkStreamClose",talkStreamError:"talkStreamError",talkStreamInactive:ne(347),talkStreamMsg:"talkStreamMsg",webrtcDisconnect:ne(112),webrtcFailed:ne(354),webrtcClosed:ne(521),webrtcChecking:"webrtcChecking",webrtcConnected:ne(358),webrtcCompleted:"webrtcCompleted",webrtcOnConnectionStateChange:ne(268),webrtcOnIceConnectionStateChange:"webrtcOnIceConnectionStateChange",crashLog:ne(175),focus:ne(142),blur:ne(211),inView:ne(424),visibilityHiddenTimeout:ne(500),websocketOpen:ne(475),websocketClose:ne(428),websocketError:"websocketError",websocketMessage:ne(167),aiObjectDetectorInfo:ne(566),aiFaceDetectorInfo:ne(567),aiOcclusionDetectResult:ne(263),aiImageDetectResult:"aiImageDetectResult",playFailedAndPaused:ne(120),audioResumeState:"audioResumeState",webrtcStreamH265:ne(445),flvMetaData:ne(552),talkFailedAndStop:ne(553),removeLoadingBgImage:"removeLoadingBgImage",memoryLog:ne(416),downloadMemoryLog:"downloadMemoryLog",pressureObserverCpu:ne(327),currentPts:ne(201),online:"online",offline:ne(523),networkState:ne(544),clickInitPlayer:ne(271)};ne(535),ne(510),ne(511),ne(473),ne(349),ne(235),ne(351),ne(398),ne(156),ne(336),ne(485),ne(323),ne(126),ne(316),ne(238),ne(232),ne(495),ne(278),ne(190),ne(265),ne(118),ne(377),ne(297),ne(402),ne(116),ne(187),ne(505),ne(170),ne(436),ne(248),ne(183),ne(339),ne(537),ne(499),ne(106),ne(175),ne(211),ne(282),ne(428),ne(443),ne(567),ne(263),ne(236),ne(572),ne(341),ne(570),ne(268),ne(111),ne(201),ne(563),ne(338),ne(271),ne(240),ne(347),ne(400),ne(293),ne(535),ne(266),ne(510),ne(511),ne(473),ne(363),ne(235),ne(351),ne(398),ne(156),ne(126),ne(238),ne(370),ne(175),ne(428),ne(120),ne(136);const Be={talkStreamError:Te[ne(240)],talkStreamClose:Te[ne(564)]},De={playError:ne(237),fetchError:"fetchError",websocketError:ne(334),webcodecsH265NotSupport:ne(364),webcodecsDecodeError:ne(418),webcodecsUnsupportedConfigurationError:ne(410),webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:ne(558),webcodecsAudioNoDataTimeout:ne(182),mediaSourceH265NotSupport:ne(543),mediaSourceAudioG711NotSupport:ne(269),mediaSourceAudioInitTimeout:ne(140),mediaSourceAudioNoDataTimeout:ne(159),mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:Te[ne(392)],mseSourceBufferError:Te[ne(426)],mseAddSourceBufferError:Te[ne(124)],mseWorkerAddSourceBufferError:Te.mseWorkerAddSourceBufferError,mediaSourceAppendBufferError:ne(444),mediaSourceTsIsMaxDiff:ne(414),mediaSourceUseCanvasRenderPlayFailed:ne(357),mediaSourceBufferedIsZeroError:ne(446),wasmDecodeError:ne(194),wasmUseVideoRenderError:ne(442),simdH264DecodeVideoWidthIsTooLarge:ne(180),simdDecodeError:ne(366),hlsError:ne(539),webrtcError:"webrtcError",webrtcClosed:Te[ne(521)],webrtcIceCandidateError:ne(162),webglAlignmentError:"webglAlignmentError",wasmWidthOrHeightChange:ne(184),mseWidthOrHeightChange:ne(401),wcsWidthOrHeightChange:ne(423),widthOrHeightChange:ne(233),tallWebsocketClosedByError:ne(337),flvDemuxBufferSizeTooLarge:Te[ne(267)],audioChannelError:ne(343),webglContextLostError:ne(134),videoElementPlayingFailed:"videoElementPlayingFailed",videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:ne(479),decoderWorkerWasmError:ne(439),videoInfoError:"videoInfoError",streamEnd:Te.streamEnd,websocket1006Error:ne(425),delayTimeout:Te[ne(398)],loadingTimeout:Te[ne(235)],networkDelayTimeout:Te[ne(443)],fullscreenError:"fullscreenError",aliyunRtcError:ne(302),mseWaitVideoCanplayTimeout:ne(382),initDecoderWorkerTimeout:ne(477),notSupportNewWasm:ne(300),playVodMp4Error:"playVodMp4Error",mp4Error:ne(565),...Be};ne(220),ne(427),ne(511);const Pe={connecting:0,open:1,closing:2,closed:3};ne(379),ne(188),ne(199),ne(294),ne(188),ne(294),ne(367),ne(213);const Me={h264:7,h265:12,mpeg4:99},Ue={h264:"H264(AVC)",h265:ne(367)},Fe={AAC:10,ALAW:7,MULAW:8,MP3:2};ne(312),ne(356),ne(113),ne(312),ne(451),ne(223),ne(113);const Re={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Le={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};ne(250),ne(474),ne(321),ne(230);const Oe={key:ne(432),delta:ne(274)},ze={avc:ne(251),hev:ne(301),hev2:ne(322),hev3:'video/mp4;codecs="hev1.2.4.L120.90"',hev4:ne(515),hev5:ne(429)},Ne={ended:ne(389),open:ne(427),closed:ne(277)};Math[ne(482)](40),ne(107),ne(531),ne(122),ne(454),ne(161),ne(318),ne(169),ne(289),ne(153),ne(107),ne(531),ne(122),ne(146),ne(368),ne(166),ne(331),ne(575),ne(130),ne(127),ne(166),ne(449),ne(241),ne(362),ne(148),ne(393),ne(463),ne(314),ne(395),ne(568),ne(551),ne(518),ne(353),ne(315);ne(163),ne(216),ne(290);ne(378),ne(308);const He={sourceClose:"sourceclose",sourceOpen:ne(411),sourceended:ne(272),startstreaming:"startstreaming",endstreaming:ne(303),qualitychange:"qualitychange"};ne(528),ne(264),ne(309),ne(342),ne(380);const We={h264:"avc",h265:ne(311)};ne(372),ne(209),ne(471);const Ve={abortError:ne(466),abortError2:ne(503),abort:"AbortError"};ne(562),ne(530),ne(461);const je={sequenceHeader:0,nalu:1},$e=1;ne(489),ne(560),ne(279),ne(441);ne(355),ne(491),ne(427),ne(165),ne(511),ne(460);ne(217);ne(177),ne(217),ne(403),ne(361),ne(239),ne(306),ne(226),ne(547),ne(459),ne(534),ne(307),ne(488),ne(541),ne(329),ne(536),ne(256),ne(484),ne(203),ne(464);const Ge={keyFrame:1,interFrame:2};ne(255),ne(257),ne(487),ne(525),ne(529),ne(151),ne(381),ne(554),ne(129),ne(421),ne(507),ne(247),ne(135),ne(143),ne(219),ne(164),ne(191),ne(559),ne(132),ne(375),ne(254),ne(511);const qe={idle:ne(224),connecting:ne(168),buffering:ne(379),error:ne(511),complete:ne(574)};ne(480),ne(229),ne(517),ne(215),ne(227),ne(275),ne(198);const Xe={video:1,audio:2},Ke=128,Ye={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Je={FT_KEY:16,FT_INTER:32};function Qe(e,t){const r=xe();return(Qe=function(e,t){return r[e-=106]})(e,t)}ne(369),ne(346),ne(280),ne(465),ne(147),ne(335),ne(208),ne(319),ne(546),ne(430),ne(506),ne(144),ne(355),ne(108),ne(179),ne(486),ne(437),ne(467),ne(548),ne(540),ne(557),ne(456),ne(457),ne(158),ne(492),ne(556),ne(562);const Ze=typeof window===ne(246)&&window[ne(419)]===window?window:typeof self===ne(246)&&self[ne(422)]===self?self:typeof global===ne(246)&&global[ne(261)]===global?global:void 0;ne(528),ne(574),ne(483),ne(502),ne(389),ne(511),ne(496),ne(380),ne(455),ne(126),ne(323),ne(342),ne(309),ne(328),ne(348),ne(264),ne(413),ne(131),ne(511);var et="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function tt(e,t){return e(t={exports:{}},t.exports),t.exports}var rt=Object.freeze({__proto__:null,commonjsGlobal:et,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:tt,getCjsExportFromNamespace:function(e){return e&&e.default||e}}),nt=it;function it(e,t){var r=st();return(it=function(e,t){return r[e-=159]})(e,t)}function st(){var e=["20hmvAMG","webkitfullscreenerror","defineProperties","504BklMrb","2034441WHTgSd","5028240ORsqNm","isFullscreen","object","exit","bind","webkitRequestFullscreen","fullscreenEnabled","3558oYtUsS","msFullscreenEnabled","request","mozFullScreenEnabled","undefined","msRequestFullscreen","fullscreenElement","createCommonjsModule","isEnabled","mozFullScreenElement","documentElement","fullscreenchange","off","change","catch","webkitRequestFullScreen","error","25602962GEMBnv","webkitExitFullscreen","9369daYLen","addEventListener","396xNCDce","removeEventListener","then","length","fullscreenerror","requestFullscreen","msFullscreenElement","6682074YVVFzB","MSFullscreenError","exitFullscreen","msExitFullscreen","11464IJcmAW","62425zGUtTP","mozfullscreenerror","webkitCancelFullScreen","webkitfullscreenchange","exports","webkitFullscreenEnabled"];return(st=function(){return e})()}!function(e,t){for(var r=it,n=e();;)try{if(747912===-parseInt(r(182))/1*(parseInt(r(191))/2)+-parseInt(r(183))/3+parseInt(r(161))/4*(-parseInt(r(173))/5)+parseInt(r(168))/6+-parseInt(r(184))/7+-parseInt(r(172))/8*(parseInt(r(159))/9)+-parseInt(r(179))/10*(-parseInt(r(208))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(st),rt[nt(198)]((function(e){var t,r,n,i,s,a;t=it,r=typeof window!==t(195)&&typeof window.document!==t(195)?window.document:{},n=t(186)!==t(195)&&e.exports,i=function(){for(var e,n=t,i=[["requestFullscreen",n(170),n(197),n(190),"fullscreenchange",n(165)],[n(189),n(209),"webkitFullscreenElement",n(178),"webkitfullscreenchange",n(180)],[n(206),n(175),"webkitCurrentFullScreenElement","webkitCancelFullScreen",n(176),n(180)],["mozRequestFullScreen","mozCancelFullScreen",n(200),n(194),"mozfullscreenchange",n(174)],[n(196),n(171),n(167),n(192),"MSFullscreenChange",n(169)]],s=0,a=i[n(164)],o={};s32&&console.error(t(142)),e<=this._current_word_bits_left){let r=this._current_word>>>32-e;return this._current_word<<=e,this[t(163)]-=e,r}let r=this._current_word_bits_left?this[t(143)]:0;r>>>=32-this[t(163)];let n=e-this[t(163)];this[t(162)]();let i=Math[t(154)](n,this[t(163)]),s=this[t(143)]>>>32-i;return this[t(143)]<<=i,this[t(163)]-=i,r=r<>>t))return this._current_word<<=t,this[e(163)]-=t,t;return this._fillCurrentWord(),t+this._skipLeadingZero()}[at(158)](){const e=at;let t=this[e(153)]();return this[e(144)](t+1)-1}[at(145)](){let e=this[at(158)]();return 1&e?e+1>>>1:-1*(e>>>1)}}function ut(e,t){const r=ot();return(ut=function(e,t){return r[e-=140]})(e,t)}const lt=ft;!function(e,t){const r=ft,n=e();for(;;)try{if(122511===parseInt(r(296))/1+parseInt(r(281))/2+-parseInt(r(320))/3+parseInt(r(323))/4+-parseInt(r(305))/5*(parseInt(r(330))/6)+-parseInt(r(314))/7*(parseInt(r(334))/8)+parseInt(r(283))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bt);const dt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],ht=dt;function ft(e,t){const r=bt();return(ft=function(e,t){return r[e-=281]})(e,t)}const pt=dt;function mt(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function vt(e){const t=ft;return yt(e)&&e[1]===je[t(333)]}function yt(e){const t=ft;return e[0]>>4===Fe[t(337)]}const gt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function _t(e){const t=ft;let r=new Uint8Array(e),n=null,i=0,s=0,a=0,o=null;if(i=s=r[0]>>>3,a=(7&r[0])<<1|r[1]>>>7,a<0||a>=gt[t(299)])return void console.error("Flv: AAC invalid sampling frequency index!");let c=gt[a],u=(120&r[1])>>>3;if(u<0||u>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(o=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Ze[t(331)][t(342)][t(298)]();return-1!==l[t(346)](t(339))?a>=6?(i=5,n=new Array(4),o=a-3):(i=2,n=new Array(2),o=a):-1!==l.indexOf("android")?(i=2,n=new Array(2),o=a):(i=5,o=a,n=new Array(4),a>=6?o=a-3:1===u&&(i=2,n=new Array(2),o=a)),n[0]=i<<3,n[0]|=(15&a)>>>1,n[1]=(15&a)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&o)>>>1,n[2]=(1&o)<<7,n[2]|=8,n[3]=0),{audioType:t(312),config:n,sampleRate:c,channelCount:u,objectType:i,codec:t(318)+i,originalCodec:t(318)+s}}lt(304);function bt(){const e=["sampling_index","has_last_incomplete_data","StreamMuxConfig Missing","aac","sampling_frequency","20734VFbUhl","more than 2 numLayer Not Supported","hasIncompleteData","more than 2 numProgram Not Supported","mp4a.40.","Could not found ADTS syncword until payload end","517737EXxbWa","channels","readByte","28832CXnsJk","sample_rate","sampleRate: ","chan_config","mp4a.40.2","channel_config","destroy","6Nhtgug","navigator","buffer","sequenceHeader","392cHXmjK","findNextSyncwordOffset","getIncompleteData","AAC","audio_object_type","firefox","object_type","bufpos","userAgent","subarray","unshift","sampling_freq_index","indexOf","aacEncoderConfigurationRecord","102144ChKvzd","warn","2750535weQIHe","allStreamsSameTimeFraming zero is Not Supported","error","iserro","frameLengthType = ","current_syncword_offset_","push","sbr","readBits","other_data_present","Invalid sampling index: ","readBool","set","138892WWYMCn","byteLength","toLowerCase","length","getLATMValue","log","bufoff","data_","read","312795dBZrgU","eof_flag_","readNextAACFrame",". Only frameLengthType = 0 Supported"];return(bt=function(){return e})()}class wt{constructor(e){const t=lt;this[t(303)]=e,this[t(306)]=!1,this[t(288)]=this[t(335)](0),this.eof_flag_&&console[t(285)](t(319))}[lt(335)](e){const t=lt;let r=e,n=this[t(303)];for(;;){if(r+7>=n.byteLength)return this[t(306)]=!0,n[t(297)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}readNextAACFrame(){const e=lt;let t=this[e(303)],r=null;for(;null==r&&!this[e(306)];){let n=this[e(288)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,a=1&t[n+1],o=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this.data_[e(297)]){this[e(306)]=!0,this[e(310)]=!0;break}let d=1===a?7:9,h=l-d;n+=d;let f=this[e(335)](n+h);if(this[e(288)]=f,0!==i&&1!==i||0!==s)continue;let p=t[e(343)](n,n+h);r={},r[e(338)]=o+1,r.sampling_freq_index=c,r[e(313)]=ht[c],r[e(328)]=u,r.data=p}return r}hasIncompleteData(){return this[lt(310)]}[lt(336)](){const e=lt;return this[e(310)]?this[e(303)][e(343)](this[e(288)]):null}}class St{constructor(e){const t=lt;this.data_=e,this[t(306)]=!1,this[t(288)]=this[t(335)](0),this[t(306)]&&console[t(285)](t(319))}[lt(335)](e){const t=lt;let r=e,n=this[t(303)];for(;;){if(r+1>=n[t(297)])return this[t(306)]=!0,n[t(297)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}[lt(300)](e){const t=lt;let r=e.readBits(2),n=0;for(let i=0;i<=r;i++)n<<=8,n|=e[t(322)]();return n}[lt(307)](e){const t=lt;let r=this[t(303)],n=null;for(;null==n&&!this[t(306)];){let i=this.current_syncword_offset_,s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this.data_[t(297)]){this[t(306)]=!0,this[t(310)]=!0;break}let a=new ct(r[t(343)](i+3,i+3+s)),o=null;if(a[t(294)]()){if(null==e){console[t(282)](t(311)),this[t(288)]=this.findNextSyncwordOffset(i+3+s),a.destroy();continue}o=e}else{let e=a[t(294)]();if(e&&a[t(294)]()){console[t(285)]("audioMuxVersionA is Not Supported"),a[t(329)]();break}if(e&&this.getLATMValue(a),!a[t(294)]()){console.error(t(284)),a[t(329)]();break}if(0!==a[t(291)](6)){console[t(285)]("more than 2 numSubFrames Not Supported"),a[t(329)]();break}if(0!==a.readBits(4)){console[t(285)](t(317)),a[t(329)]();break}if(0!==a[t(291)](3)){console.error(t(315)),a[t(329)]();break}let r=e?this[t(300)](a):0,n=a[t(291)](5);r-=5;let i=a.readBits(4);r-=4;let s=a[t(291)](4);r-=4,a.readBits(3),r-=3,r>0&&a[t(291)](r);let c=a.readBits(3);if(0!==c){console[t(285)](t(287)+c+t(308)),a[t(329)]();break}a.readByte();let u=a[t(294)]();if(u)if(e)this[t(300)](a);else{let e=0;for(;;){e<<=8;let r=a[t(294)]();if(e+=a[t(322)](),!r)break}console[t(301)](e)}a[t(294)]()&&a[t(322)](),o={},o[t(338)]=n,o.sampling_freq_index=i,o.sampling_frequency=ht[o[t(345)]],o.channel_config=s,o.other_data_present=u}let c=0;for(;;){let e=a.readByte();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function kt(e){const t=It;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e[t(440)]<4)return[];const n=e[t(440)],i=[];let s,a=0;for(;a+r>>=8),a+=r,s){if(a+s>n)break;i[t(434)](e[t(451)](a,a+s)),a+=s}return i}function Et(e,t){const r=It,n=e[r(440)];let i=t?2:1,s=0,a=0,o="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)a+=255,i++;if(a+=e[i++],5===s&&n>i+16)for(let t=0;t<16;t++)o+=e[i][r(443)](16),i++;return{payload:e[r(451)](i),type:s,size:a,uuid:o}}function Ct(e){const t=It,r=e[t(446)],n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i[t(433)](n,0),i[t(433)](e,4),i}function xt(e,t){let r=null;return t?e[It(440)]>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function Tt(){const e=["10866478PNcvMP","5530940OtHYyd","length","3947384wNhMKq","6qBmEQx","toString","3oMHvLg","559mHlKOr","byteLength","745164RrQfGU","buffer","2321hDQoTo","166tfsMWX","subarray","4847465jjROLR","18QDiomf","set","push","10271305WeZjIK","8BPUybJ","setUint32"];return(Tt=function(){return e})()}!function(e,t){const r=It,n=e();for(;;)try{if(841570===-parseInt(r(449))/1*(parseInt(r(450))/2)+parseInt(r(444))/3*(parseInt(r(441))/4)+-parseInt(r(452))/5*(-parseInt(r(442))/6)+parseInt(r(438))/7*(-parseInt(r(436))/8)+-parseInt(r(453))/9*(parseInt(r(439))/10)+-parseInt(r(435))/11+-parseInt(r(447))/12*(-parseInt(r(445))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Tt);const Bt=Lt;function Dt(){const e=Lt;return(new Date)[e(486)]()}function Pt(e,t,r){const n=Lt;return Math[n(740)](Math[n(569)](e,Math[n(740)](t,r)),Math[n(569)](t,r))}function Mt(){const e=Lt;return performance&&"function"==typeof performance[e(658)]?performance.now():Date[e(658)]()}function Ut(e){let t=0,r=Mt();return n=>{if(!function(e){const t=Bt;return Object[t(505)].toString[t(677)](e)===t(574)}(n))return;t+=n;const i=Mt(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=Lt,n=e();for(;;)try{if(977829===-parseInt(r(587))/1*(parseInt(r(806))/2)+parseInt(r(706))/3*(parseInt(r(750))/4)+-parseInt(r(655))/5+parseInt(r(561))/6*(-parseInt(r(703))/7)+-parseInt(r(523))/8+-parseInt(r(738))/9*(parseInt(r(753))/10)+parseInt(r(683))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Nt),(()=>{const e=Lt;try{if(typeof WebAssembly===e(549)&&typeof WebAssembly[e(585)]===e(531)){const t=new(WebAssembly[e(631)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly[e(631)])return new(WebAssembly[e(799)])(t)instanceof WebAssembly[e(799)]}}catch(e){}})();Bt(663);const Ft=Bt(809),Rt=Bt(675);Bt(512),Bt(663);function Lt(e,t){const r=Nt();return(Lt=function(e,t){return r[e-=474]})(e,t)}function Ot(e){return null==e}function zt(e){return!Ot(e)}function Nt(){const e=["useWCS","now","keys","removeChild","fmt ","body",'"production"',"charCodeAt","href","getMonth","fillStyle","left","document","hostname","getUserMedia","webkitFullscreenElement","ManagedMediaSource","status",'"9-21-2024"',"round","call","indexOf","Edg","green yuv","crossOrigin","toDataURL","29520689enVzrN","pageY","hev4","line","MB/s","hev","touchmove","addModule","split","YB/s","srcElement","xxxx","opacity","setUint8","backgroundColor","protocol","imageSmoothingEnabled","PressureObserver","setInt32","html","3883313NuznDU","playbackRate","VideoEncoder.isConfigSupported() result is not supported","5505nqgQCg","touchend","forEach","application/vnd.chromium.remoting-viewer","isConfigSupported","getSeconds","onload","length","height","not compiled with thread support, using thread emulation","VideoEncoder is not supported","close","toString","getUint8","WAVE","TB/s","webkit-3d","top","GB/s","application/vnd.apple.mpegurl","useMSE","set","msFullscreenElement","wow32","target","port","px Arial","join","hev5","result","-o-user-select","ZB/s","18gXocIa","rgba(0,0,0,0)","max","pageX","fromCharCode","search","scrollTop","subarray","illegal icc","webgl","imageSmoothingQuality","useOffscreen","2168OSNrOU","hasAudio","fontSize","3183440npKtZQ","setUint32","open","quality","event","innerHTML","pow","getAttribute","canConstructInDedicatedWorker","getFullYear","push","div","getHours","zIndex","host","mseDecodeAudio","getDay","documentElement","audioWorklet","createBuffer","style","clientX","craNut","shadowRoot","Worker","URL","360","readAsArrayBuffer","format","true","mousedown","data:","application/hwepass2001.installepass2001","chrome","application/javascript","match","xxxxxxxxxxxx4xxx","pps","navigator","then","createElement","#000","data","stringify","MULAW","h264","Instance","transferControlToOffscreen","100","clientY","byteLength","floor","NaN","368992JJOavt","vps","setAttribute",'"2.0.0"',"iFrame","replace","location","trim","toLowerCase","message","performance","-webkit-user-select","string","apply","wow64","100%","substr","getTime","QQBrowser","touches","If you want to help, upload a sample of this file to","requestVideoFrameCallback","setInt8","destination","drawImage","noteOn","hev1.1.6.L120.90","user-select",";base64","h265","filter","moz-webgl","slice","visibility","version","msGetUserMedia","prototype","video","MediaStreamTrackGenerator","userAgent","width","canvas","createTextNode",'"development"',"mediaDevices","Bytes","setUint16","right","text","opera","borderStyle","application/360softmgrplugin","createObjectURL","9999999","6844480iEytdx","PB/s","mimeTypes","random","hidden","hev3","memory","mousemove","function","src","RIFF","webgl2","charAt","Safari","display","[object DOMException]","AudioData","high","borderColor","WebGL2RenderingContext","type","webkitGetUserMedia","absolute","getContext","application/mozilla-npqihooquicklogin","sps","object","log","hash","click","appendChild","-webkit-text-size-adjust","MediaSource","initEvent","solid","font","ended","canPlayType","6GSJAsG","strokeStyle","0 KB/s","test",'video/mp4; codecs="',"img","save","undefined","min","start","borderWidth","lineWidth","VideoDecoder","[object Number]","touchstart","VideoFrame","substring","repeat","createBufferSource","fullscreenElement","createImageBitmap","dispatchEvent","connect","onerror","instantiate","AudioDecoder","1HZpvhX","error","rect","mozGetUserMedia","green","360EE","f32-planar","paused","bottom","-webkit-touch-callout","edge","getMinutes","none","ActiveXObject","WebGLRenderingContext","assign","image","showModalDialog","pointer-events: none !important; display: block !important","experimental-webgl","dataset","QHBrowser","360SE","content","isFullscreen","data-","KB/s","fillText","fontFamily","readyState","createEvent","MediaStream","-webkit-tap-highlight-color","hev2","getPropertyValue","AAC","overflow","block","origin","scrollLeft","container","position","{y}-{m}-{d} {h}:{i}:{s}","pathname","Module","setHours","localhost","-moz-user-select","atob","restore","toFixed","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","file","color","Anonymous","download","[object Exception]","contain","textAlign","safari","MouseEvents","demuxUseWorker","avc1.","wcsDecodeAudio","attachShadow","firefox","isTypeSupported","toUpperCase","2344685LICaCw","ALAW"];return(Nt=function(){return e})()}function Ht(e){return typeof e===Bt(531)}function Wt(e){const t=Bt;let r=null,n=31&e[0];return(n===Re[t(548)]||n===Re[t(790)])&&(r=Ue[t(798)]),!r&&(n=(126&e[0])>>1,(n===Le[t(807)]||n===Le[t(548)]||n===Le[t(790)])&&(r=Ue[t(498)])),r}function Vt(){return"undefined"!=typeof WritableStream}function jt(e){e[Bt(717)]()}function $t(e,t){const r=Bt;t&&(e=e[r(499)]((e=>e[r(543)]&&e[r(543)]===t)));let n=e[0],i=null,s=1;if(e[r(713)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let a=s;a=1e3){e[a-1].ts-n.ts<1e3&&(i=a+1)}}}return i}function Gt(e){const t=Bt;return e.ok&&e[t(674)]>=200&&e[t(674)]<=299}function qt(){return function(e){let t="";if(typeof e===Bt(549))try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(we)}function Xt(e){return e[0]>>4===$e&&e[1]===je.sequenceHeader}function Kt(e){return!0===e||e===Bt(782)}function Yt(e){return!0!==e&&e!==Bt(782)}function Jt(){const e=Bt;return!!(Ze[e(777)]&&Ze[e(555)]&&"canConstructInDedicatedWorker"in Ze.MediaSource&&!0===Ze.MediaSource[e(761)])}function Qt(e,t){const r=Bt,n=kt(e[r(501)](5));let i=!1;return n[r(708)]((e=>{const n=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Le[n(810)]||s===Le.nLp||s===Le[n(775)])||Yt(t)&&s===Re[n(810)])&&(i=!0)})),i}const Zt=ar;function er(){const e=["U16","U32","buffer","6UnUAzo","4712139pQHjdi","apply","setG","subarray","need","32fwjiZF","next","byteOffset","read","writeU32","48JPkccH","writeU8","consumed","reject","resolve","copyWithin","readU8","157535XRVgCA","20fiJCdn","1290844QJpOJV","flush","throw","29966604pIIQlw","number","lastReadPromise","1858115gZaGdK","set","demand","EOF","2TUalsV","then","length","Unsupported type","write","pull","done","12203961QLRraP","value","malloc","389142iMgrQz","call","byteLength"];return(er=function(){return e})()}!function(e,t){const r=ar,n=e();for(;;)try{if(565464===-parseInt(r(508))/1*(-parseInt(r(498))/2)+parseInt(r(514))/3*(parseInt(r(488))/4)+-parseInt(r(486))/5*(-parseInt(r(479))/6)+-parseInt(r(494))/7*(parseInt(r(474))/8)+parseInt(r(515))/9*(-parseInt(r(487))/10)+-parseInt(r(505))/11+parseInt(r(491))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(er);var tr=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const a=ar;function o(e){const t=ar;try{u(n[t(475)](e))}catch(e){s(e)}}function c(e){const t=ar;try{u(n[t(490)](e))}catch(e){s(e)}}function u(e){const t=ar;var n;e[t(504)]?i(e.value):(n=e.value,n instanceof r?n:new r((function(e){e(n)})))[t(499)](o,c)}u((n=n[a(516)](e,t||[]))[a(475)]())}))};const rr=Symbol(32),nr=Symbol(16),ir=Symbol(8);class sr{constructor(e){const t=ar;this.g=e,this[t(481)]=0,e&&(this[t(473)]=e.next()[t(506)])}[Zt(517)](e){const t=Zt;this.g=e,this[t(496)](e[t(475)]()[t(506)],!0)}consume(){const e=Zt;this[e(513)]&&this[e(481)]&&(this[e(513)][e(484)](0,this[e(481)]),this.buffer=this[e(513)][e(472)](0,this.buffer[e(500)]-this.consumed),this[e(481)]=0)}demand(e,t){const r=Zt;return t&&this.consume(),this[r(473)]=e,this.flush()}read(e){return tr(this,void 0,void 0,(function*(){const t=ar;return this[t(493)]&&(yield this[t(493)]),this[t(493)]=new Promise(((r,n)=>{const i=t;var s;this[i(482)]=n,this[i(483)]=e=>{const t=i;delete this[t(493)],delete this.resolve,delete this[t(473)],r(e)};this[i(496)](e,!0)||null===(s=this[i(503)])||void 0===s||s[i(509)](this,e)}))}))}readU32(){return this[Zt(477)](rr)}readU16(){return this[Zt(477)](nr)}[Zt(485)](){return this[Zt(477)](ir)}close(){const e=Zt;var t;this.g&&this.g.return(),this[e(513)]&&this[e(513)].subarray(0,0),null===(t=this[e(482)])||void 0===t||t.call(this,new Error(e(497))),delete this.lastReadPromise}[Zt(489)](){const e=Zt;if(!this[e(513)]||!this[e(473)])return;let t=null;const r=this[e(513)][e(472)](this[e(481)]);let n=0;const i=t=>r[e(500)]<(n=t);if(typeof this[e(473)]===e(492)){if(i(this.need))return;t=r[e(472)](0,n)}else if(this[e(473)]===rr){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(473)]===nr){if(i(2))return;t=r[0]<<8|r[1]}else if(this[e(473)]===ir){if(i(1))return;t=r[0]}else if(e(513)in this.need){if("byteOffset"in this.need){if(i(this[e(473)][e(510)]-this[e(473)][e(476)]))return;new Uint8Array(this[e(473)][e(513)],this.need[e(476)])[e(495)](r[e(472)](0,n)),t=this.need}else if(this.g)return void this.g[e(490)](new Error(e(501)))}else{if(i(this.need[e(510)]))return;new Uint8Array(this.need)[e(495)](r[e(472)](0,n)),t=this[e(473)]}return this[e(481)]+=n,this.g?this.demand(this.g.next(t)[e(506)],!0):this.resolve&&this.resolve(t),t}[Zt(502)](e){const t=Zt;if(e instanceof Uint8Array?this.malloc(e.length)[t(495)](e):t(513)in e?this[t(507)](e[t(510)])[t(495)](new Uint8Array(e[t(513)],e.byteOffset,e.byteLength)):this[t(507)](e[t(510)]).set(new Uint8Array(e)),!this.g&&!this[t(483)])return new Promise((e=>this[t(503)]=e));this[t(489)]()}[Zt(478)](e){const t=Zt;this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(489)]()}writeU16(e){const t=Zt;this[t(507)](2)[t(495)]([e>>8&255,255&e]),this[t(489)]()}[Zt(480)](e){const t=Zt;this.malloc(1)[0]=e,this[t(489)]()}malloc(e){const t=Zt;if(this[t(513)]){const r=this[t(513)][t(500)],n=r+e;if(n<=this[t(513)][t(513)][t(510)]-this.buffer[t(476)])this[t(513)]=new Uint8Array(this[t(513)][t(513)],this[t(513)][t(476)],n);else{const e=new Uint8Array(n);e[t(495)](this.buffer),this[t(513)]=e}return this[t(513)][t(472)](r,n)}return this[t(513)]=new Uint8Array(e),this[t(513)]}}function ar(e,t){const r=er();return(ar=function(e,t){return r[e-=472]})(e,t)}function or(e,t){const r=cr();return(or=function(e,t){return r[e-=357]})(e,t)}function cr(){const e=["160MFUgSA","JbPro","_opt","993976gSHTAx","595458lFlbRG","length","debugUuid","7QDameT","debugLevel","[❗❗❗][","[❌❌❌][","5963418mgOtjU","509780TtGuWo","log","warn","debug","4033720ZTvCca","1820949KGJejv","[✅✅✅][","2NynrXA","error","147712JxKZMG"];return(cr=function(){return e})()}sr[Zt(512)]=rr,sr[Zt(511)]=nr,sr.U8=ir,function(e,t){const r=or,n=e();for(;;)try{if(665619===parseInt(r(372))/1+parseInt(r(370))/2*(parseInt(r(368))/3)+parseInt(r(376))/4+parseInt(r(363))/5+-parseInt(r(362))/6*(parseInt(r(358))/7)+-parseInt(r(367))/8+-parseInt(r(377))/9*(-parseInt(r(373))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(cr);class ur{constructor(e){const t=or;this[t(364)]=function(r){const n=t;if(e._opt[n(359)]==de.debug){const t=e._opt.debugUuid?"["+e[n(375)][n(357)]+"]":"";for(var i=arguments[n(378)],s=new Array(i>1?i-1:0),a=1;a1?i-1:0),a=1;a1?s-1:0),o=1;o=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(211)],0,s)}static[lr(245)](e){const t=lr;let r=fr[t(237)](e),n=new ct(r);n[t(223)]();let i=n[t(223)]();n.readByte();let s=n[t(223)]();n[t(247)]();let a=fr[t(225)](i),o=fr.getLevelString(s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n.readUEG(),3===c&&n[t(242)](1),c<=3&&(u=l[c]),d=n[t(247)]()+8,n.readUEG(),n[t(242)](1),n.readBool())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(w=r[e-1],S=i[e-1]):255===e&&(w=n.readByte()<<8|n[t(223)](),S=n.readByte()<<8|n[t(223)]())}if(n[t(217)]()&&n[t(217)](),n[t(217)]()&&(n[t(242)](4),n[t(217)]()&&n[t(242)](24)),n[t(217)]()&&(n[t(247)](),n[t(247)]()),n[t(217)]()){let e=n.readBits(32),r=n[t(242)](32);A=n.readBool(),k=r,E=2*e,I=k/E}}let C=1;(1!==w||1!==S)&&(C=w/S);let x=0,T=0;if(0===c)x=1,T=2-v;else{x=3===c?1:2,T=(1===c?2:1)*(2-v)}let B=16*(p+1),D=16*(m+1)*(2-v);B-=(y+g)*x,D-=(_+b)*T;let P=Math.ceil(B*C);return n[t(215)](),n=null,{profile_string:a,level_string:o,bit_depth:d,ref_frames:f,chroma_format:u,chroma_format_string:fr[t(230)](u),frame_rate:{fixed:A,fps:I,fps_den:E,fps_num:k},sar_ratio:{width:w,height:S},codec_size:{width:B,height:D},present_size:{width:P,height:D}}}static parseSPS$2(e){const t=lr;let r=e[t(236)](1,4),n="avc1.";for(let e=0;e<3;e++){let i=r[e][t(244)](16);i[t(210)]<2&&(i="0"+i),n+=i}let i=fr[t(237)](e),s=new ct(i);s.readByte();let a=s[t(223)]();s[t(223)]();let o=s[t(223)]();s[t(247)]();let c=fr[t(225)](a),u=fr[t(228)](o),l=1,d=420,h=[0,420,422,444],f=8,p=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(l=s.readUEG(),3===l&&s.readBits(1),l<=3&&(d=h[l]),f=s[t(247)]()+8,p=s.readUEG()+8,s[t(242)](1),s[t(217)]())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(A=r[e-1],k=n[e-1]):255===e&&(A=s[t(223)]()<<8|s[t(223)](),k=s[t(223)]()<<8|s[t(223)]())}if(s.readBool()&&s[t(217)](),s[t(217)]()&&(s.readBits(4),s[t(217)]()&&s[t(242)](24)),s[t(217)]()&&(s[t(247)](),s[t(247)]()),s[t(217)]()){let e=s.readBits(32),r=s[t(242)](32);C=s.readBool(),x=r,T=2*e,E=x/T}}let B=1;(1!==A||1!==k)&&(B=A/k);let D=0,P=0;if(0===l)D=1,P=2-_;else{D=3===l?1:2,P=(1===l?2:1)*(2-_)}let M=16*(y+1),U=16*(g+1)*(2-_);M-=(b+w)*D,U-=(S+I)*P;let F=Math[t(235)](M*B);return s[t(215)](),s=null,{codec_mimetype:n,profile_idc:a,level_idc:o,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:fr.getChromaFormatString(d),frame_rate:{fixed:C,fps:E,fps_den:T,fps_num:x},sar_ratio:{width:A,height:k},codec_size:{width:M,height:U},present_size:{width:F,height:U}}}static _skipScalingList(e,t){const r=lr;let n=8,i=8,s=0;for(let a=0;a=this.buflen)return this.iserro=!0,0;this[t(197)]=!1,n=this[t(195)]+e>8?8-this[t(195)]:e,r<<=n,r+=this[t(196)][this[t(206)]]>>8-this[t(195)]-n&255>>8-n,this[t(195)]+=n,e-=n,8==this[t(195)]&&(this.bufpos++,this[t(195)]=0)}return r}look(e){const t=pr;let r=this[t(206)],n=this[t(195)],i=this.read(e);return this[t(206)]=r,this[t(195)]=n,i}[pr(209)](){const e=pr;let t;for(t=0;0===this.read(1)&&!this.iserro;t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(490)](n,0),i[t(490)](r[t(469)],4),r[t(469)]=i}if(r[t(495)]){const e=r[t(495)][t(431)],n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(n,0),i.set(r[t(495)],4),r.pps=i}return r}function kr(e){const t=Sr;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(431)]>>8&255,i[12]=255&r[t(431)],i[t(481)](...r,1,n[t(431)]>>8&255,255&n[t(431)],...n);return new Uint8Array(i)}function Er(e){const t=Sr;let{sps:r,pps:n}=e,i=8+r[t(431)]+1+2+n[t(431)],s=!1;const a=fr[t(433)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let o=new Uint8Array(i);o[0]=1,o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=255,o[5]=225;let c=r[t(431)];o[6]=c>>>8,o[7]=255&c;let u=8;o[t(490)](r,8),u+=c,o[u]=1;let l=n[t(431)];o[u+1]=l>>>8,o[u+2]=255&l,o[t(490)](n,u+3),u+=3+l,s&&(o[u]=252|a[t(467)],o[u+1]=248|a[t(418)]-8,o[u+2]=248|a[t(464)]-8,o[u+3]=0,u+=4);const d=[23,0,0,0,0],h=new Uint8Array(d.length+o.byteLength);return h[t(490)](d,0),h[t(490)](o,d[t(486)]),h}function Cr(e,t){const r=Sr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(431)]>>24&255,n[6]=e[r(431)]>>16&255,n[7]=e[r(431)]>>8&255,n[8]=255&e.byteLength;const i=new Uint8Array(n[r(486)]+e[r(431)]);return i[r(490)](n,0),i[r(490)](e,n.length),i}function xr(e,t){const r=Sr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n.length+e[r(431)]);return i[r(490)](n,0),i[r(490)](e,n[r(486)]),i}function Tr(e){return 31&e[0]}function Br(e){return e===Re[Sr(422)]}function Dr(e){return!function(e){const t=Sr;return e===Re[t(469)]||e===Re[t(495)]}(e)&&!Br(e)}function Pr(e){return e===Re[Sr(480)]}function Mr(e){if(0===e[Sr(486)])return!1;const t=Tr(e[0]);for(let r=1;r=n.byteLength)return this[t(419)]=!0,n.byteLength;let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[wr(450)](){const e=wr;let t=this[e(446)],r=null;for(;null==r&&!this[e(419)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,a=this.findNextStartCodeOffset(n);this[e(426)]=a,i>=Re.kReserved0||0===s&&(r={type:i,data:t[e(477)](n,a)})}return r}}class Fr{constructor(e){const t=wr;let r=e.data[t(431)];this[t(470)]=e[t(470)],this.data=new Uint8Array(4+r),new DataView(this[t(446)][t(432)])[t(501)](0,r),this[t(446)][t(490)](e[t(446)],4)}}function Rr(e,t){const r=Or();return(Rr=function(e,t){return r[e-=389]})(e,t)}const Lr=Rr;function Or(){const e=["2162190zZxSFH","4SqDpNQ","248EXGBFW","7143264jWALXt","m_len","GetSE","16032sMCLjq","26247HgcLuc","m_bits","747241OgNpRv","m_zeros","m_idx","GetWord","length","m_byte","2553822HcFZvr","GetBit","27hGMUbR","m_data","19679QNFEKO","6846445GTJnfs","7pyjxzA","GetBYTE"];return(Or=function(){return e})()}!function(e,t){const r=Rr,n=e();for(;;)try{if(856931===-parseInt(r(406))/1*(-parseInt(r(398))/2)+parseInt(r(404))/3*(-parseInt(r(399))/4)+-parseInt(r(394))/5+parseInt(r(389))/6+-parseInt(r(395))/7*(parseInt(r(400))/8)+-parseInt(r(391))/9*(parseInt(r(397))/10)+-parseInt(r(393))/11*(-parseInt(r(403))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Or);class zr{constructor(e){const t=Rr;this[t(408)]=null,this[t(392)]=e,this[t(401)]=e[t(410)],this[t(408)]=0,this[t(405)]=0,this[t(411)]=0,this[t(407)]=0}[Lr(396)](){const e=Lr;if(this[e(408)]>=this[e(401)])return 0;let t=this[e(392)][this[e(408)]++];return 0==t?(this[e(407)]++,this[e(408)]>this.m_bits&1}[Lr(409)](e){let t=0;for(;e>0;)t<<=1,t|=this.GetBit(),e--;return t}GetUE(){const e=Lr;let t=0;for(;this[e(408)]>1;return!(1&e)&&(t=-t),t}}function Nr(e,t){const r=Wr();return(Nr=function(e,t){return r[e-=274]})(e,t)}const Hr=Nr;function Wr(){const e=["1948900sLRfQY","GetUE","GetWord","58415iEoVrA","16BcUnwv","1741414osoQeU","_ebsp2rbsp","SPSParser sps_seq_parameter_set_id > 15","SPSParser sps_max_sub_layers_minus1 > 6","byteLength","SPSParser chroma_format_idc > 3","831911WBCsNl","warn","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","2307006yfriiD","parseSPS","247849RqHExu","7517664iBGdVP","318TYeCeR","buffer"];return(Wr=function(){return e})()}!function(e,t){const r=Nr,n=e();for(;;)try{if(459086===parseInt(r(286))/1+parseInt(r(280))/2+parseInt(r(289))/3+-parseInt(r(275))/4+parseInt(r(278))/5*(-parseInt(r(293))/6)+-parseInt(r(291))/7*(parseInt(r(279))/8)+-parseInt(r(292))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Wr);class Vr{static _ebsp2rbsp(e){const t=Nr;let r=e,n=r[t(284)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(274)],0,s)}static[Hr(290)](e){const t=Hr;let r=Vr[t(281)](e);const n=new zr(r);let i="",s="",a="",o="";n[t(277)](4);let c=n.GetWord(3);if(c>6)return console[t(287)](t(283)),!1;n[t(277)](1),n[t(277)](2),n[t(277)](1),i=n[t(277)](5),n[t(277)](32),n[t(277)](1),n.GetWord(1),n[t(277)](1),n[t(277)](1),n[t(277)](44),s=n[t(277)](8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(277)](2);for(let e=0;e15)return console[t(287)](t(282),d),!1;let h=n[t(276)]();return h>3?(console[t(287)](t(285),h),!1):(3==h&&n.GetWord(1),a=n[t(276)](),o=n.GetUE(),n[t(277)](1)&&(n[t(276)](),n[t(276)](),n[t(276)](),n[t(276)]()),n[t(276)]()!=n[t(276)]()?(console[t(287)](t(288)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:a,height:o},present_size:{width:"",height:o}})}}function jr(){const e=[".B0","4:4:4",".1.L","5363450ZIWDTX","3647356ufgmCH","4:2:0","1998950vOcdfy","4631736JTposx","readBits","161157AsyArg","toFixed","3BOYgoq","921642opNHYb","min","21VJTFsB","push","readByte","readBool","readUEG","hvc1.","4:2:2","4:0:0","buffer","readSEG","13658697fzBxyW"];return(jr=function(){return e})()}function $r(e,t){const r=jr();return($r=function(e,t){return r[e-=364]})(e,t)}!function(e,t){const r=$r,n=e();for(;;)try{if(575590===parseInt(r(378))/1+parseInt(r(375))/2+-parseInt(r(380))/3*(parseInt(r(373))/4)+-parseInt(r(372))/5+-parseInt(r(381))/6*(-parseInt(r(383))/7)+-parseInt(r(376))/8+parseInt(r(368))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(jr);const Gr=e=>{const t=$r;let r=e,n=r.byteLength,i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(366)],0,s)},qr=e=>{const t=$r;switch(e){case 0:return t(365);case 1:return t(374);case 2:return t(364);case 3:return t(370);default:return"Unknown"}};function Xr(){const e=["getProfileString","4:0:0","readSEG","2620fKsQTb","53005tsIqez","20QDwaXg","SCC","531616EEdipw","1xQwzhl","parseVPS","10236czKTdM","min","readBits","150rdIDYG","1320867cgHfHd","82461jXIXpX","getLevelString","_ebsp2rbsp","56000zQPiqB","Main10","481qWcKBk","buffer","4:2:2","Unknown","destroy","4:4:4","readBool","8855qxfchE","toFixed","readUEG","push","parsePPS","14NCqnri","parseSPS","getChromaFormatString","readByte","byteLength","hvc1.",".1.L"];return(Xr=function(){return e})()}const Kr=Yr;function Yr(e,t){const r=Xr();return(Yr=function(e,t){return r[e-=463]})(e,t)}!function(e,t){const r=Yr,n=e();for(;;)try{if(174130===parseInt(r(498))/1*(parseInt(r(469))/2)+parseInt(r(466))/3*(parseInt(r(495))/4)+-parseInt(r(494))/5*(-parseInt(r(464))/6)+-parseInt(r(483))/7*(-parseInt(r(497))/8)+-parseInt(r(465))/9+parseInt(r(493))/10*(-parseInt(r(478))/11)+-parseInt(r(500))/12*(parseInt(r(471))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xr);class Jr{static[Kr(468)](e){const t=Kr;let r=e,n=r[t(487)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(472)],0,s)}static[Kr(499)](e){const t=Kr;let r=Jr[t(468)](e),n=new ct(r);return n[t(486)](),n[t(486)](),n.readBits(4),n[t(463)](2),n[t(463)](6),{num_temporal_layers:n[t(463)](3)+1,temporal_id_nested:n[t(477)]()}}static[Kr(484)](e){const t=Kr;let r=Jr[t(468)](e),n=new ct(r);n[t(486)](),n.readByte();let i=0,s=0,a=0,o=0;n[t(463)](4);let c=n[t(463)](3);n.readBool();let u=n.readBits(2),l=n[t(477)](),d=n[t(463)](5),h=n[t(486)](),f=n[t(486)](),p=n[t(486)](),m=n[t(486)](),v=n[t(486)](),y=n.readByte(),g=n[t(486)](),_=n[t(486)](),b=n[t(486)](),w=n[t(486)](),S=n[t(486)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(463)](2);for(let e=0;e1&&n[t(492)]();for(let e=0;e0&&e<=16?(F=r[e-1],R=i[e-1]):255===e&&(F=n[t(463)](16),R=n[t(463)](16))}if(n.readBool()&&n[t(477)](),n[t(477)]()){n.readBits(3),n[t(477)](),n[t(477)]()&&(n[t(486)](),n[t(486)](),n[t(486)]())}if(n[t(477)]()&&(n[t(480)](),n[t(480)]()),n[t(477)](),n[t(477)](),n.readBool(),M=n[t(477)](),M&&(n.readUEG(),n[t(480)](),n.readUEG(),n[t(480)]()),n[t(477)]()){if(O=n[t(463)](32),z=n[t(463)](32),n[t(477)]()&&n.readUEG(),n.readBool()){let e=!1,r=!1,i=!1;e=n.readBool(),r=n[t(477)](),(e||r)&&(i=n[t(477)](),i&&(n.readByte(),n[t(463)](5),n[t(477)](),n.readBits(5)),n[t(463)](4),n.readBits(4),i&&n[t(463)](4),n[t(463)](5),n.readBits(5),n[t(463)](5));for(let s=0;s<=c;s++){let s=n[t(477)]();L=s;let a=!0,o=1;!s&&(a=n.readBool());let c=!1;if(a?n.readUEG():c=n[t(477)](),!c&&(o=n[t(480)]()+1),e){for(let e=0;e>6&3,n[t(255)]=e[1]>>5&1,n[t(302)]=31&e[1],n.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[t(321)]=n[t(321)]<<16|e[10]<<8|e[11],n[t(311)]=e[12],n.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],n[t(348)]=3&e[15],n[t(312)]=3&e[16],n[t(336)]=7&e[17],n[t(252)]=7&e[18],n.avgFrameRate=e[19]<<8|e[20],n[t(305)]=e[21]>>6&3,n[t(382)]=e[21]>>3&7,n.temporalIdNested=e[21]>>2&1,n[t(282)]=3&e[21];let i=e[22],s=e[t(344)](23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i[n(360)]=[],i[n(320)]=[],i[n(337)]=[],i[n(319)]=[],i[n(260)]=[],i[n(283)]=[],i[n(263)]=[],i[n(377)]=[],i.sub_layer_level_idc=[];for(let t=0;t{const t=$r;let r=Gr(e),n=new ct(r);return n.readByte(),n[t(385)](),n.readBits(4),n[t(377)](2),n[t(377)](6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n[t(386)]()}})(r),o=(e=>{const t=$r;let r=Gr(e),n=new ct(r);n[t(385)](),n[t(385)]();let i=0,s=0,a=0,o=0;n[t(377)](4);let c=n[t(377)](3);n[t(386)]();let u=n.readBits(2),l=n[t(386)](),d=n[t(377)](5),h=n[t(385)](),f=n.readByte(),p=n[t(385)](),m=n.readByte(),v=n[t(385)](),y=n[t(385)](),g=n[t(385)](),_=n[t(385)](),b=n.readByte(),w=n[t(385)](),S=n.readByte(),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n.readBits(2);for(let e=0;e1&&n[t(367)]();for(let e=0;e0&&e<16?(F=r[e-1],R=i[e-1]):255===e&&(F=n[t(377)](16),R=n[t(377)](16))}if(n[t(386)]()&&n[t(386)](),n[t(386)]()&&(n[t(377)](3),n[t(386)](),n[t(386)]()&&(n[t(385)](),n[t(385)](),n[t(385)]())),n[t(386)]()&&(n.readUEG(),n[t(387)]()),n[t(386)](),n.readBool(),n.readBool(),M=n.readBool(),M&&(i+=n[t(387)](),s+=n[t(387)](),a+=n[t(387)](),o+=n.readUEG()),n.readBool()&&(O=n[t(377)](32),z=n[t(377)](32),n.readBool()&&(n[t(387)](),n.readBool()))){let e=!1,r=!1,i=!1;e=n[t(386)](),r=n[t(386)](),(e||r)&&(i=n[t(386)](),i&&(n[t(385)](),n[t(377)](5),n[t(386)](),n[t(377)](5)),n[t(377)](4),n[t(377)](4),i&&n[t(377)](4),n.readBits(5),n.readBits(5),n.readBits(5));for(let s=0;s<=c;s++){let s=n[t(386)]();L=s;let a=!1,o=1;!s&&(a=n[t(386)]());let c=!1;if(a?n.readSEG():c=n.readBool(),!c&&(cpbcnt=n[t(387)]()+1),e)for(let e=0;e{const t=$r;let r=Gr(e),n=new ct(r);n.readByte(),n[t(385)](),n[t(387)](),n[t(387)](),n[t(386)](),n[t(386)](),n[t(377)](3),n[t(386)](),n[t(386)](),n[t(387)](),n.readUEG(),n.readSEG(),n[t(386)](),n.readBool(),n.readBool()&&n[t(387)](),n[t(367)](),n.readSEG(),n.readBool(),n[t(386)](),n.readBool(),n[t(386)]();let i=n.readBool(),s=n.readBool(),a=1;return s&&i?a=0:s?a=3:i&&(a=2),{parallelismType:a}})(n);s=Object.assign(s,a,o,c);let u=23+(5+r[t(357)])+(5+i.byteLength)+(5+n[t(357)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(300)])<<6|(s[t(255)]?1:0)<<5|31&s[t(302)],l[2]=s[t(339)]||0,l[3]=s[t(334)]||0,l[4]=s[t(367)]||0,l[5]=s[t(259)]||0,l[6]=s[t(384)]||0,l[7]=s[t(292)]||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s[t(281)]||0,l[10]=s[t(288)]||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s[t(376)])>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s[t(348)],l[16]=252|3&s[t(308)],l[17]=248|7&s[t(368)],l[18]=248|7&s[t(333)],l[19]=0,l[20]=0,l[21]=(3&s.constant_frame_rate)<<6|(7&s.num_temporal_layers)<<3|(s.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|Le[t(307)],l[24]=0,l[25]=1,l[26]=(65280&r[t(357)])>>8,l[27]=(255&r.byteLength)>>0,l[t(265)](r,28),l[23+(5+r.byteLength)+0]=128|Le[t(278)],l[23+(5+r[t(357)])+1]=0,l[23+(5+r.byteLength)+2]=1,l[23+(5+r[t(357)])+3]=(65280&i.byteLength)>>8,l[23+(5+r[t(357)])+4]=(255&i[t(357)])>>0,l[t(265)](i,23+(5+r[t(357)])+5),l[23+(5+r[t(357)]+5+i[t(357)])+0]=128|Le[t(318)],l[23+(5+r[t(357)]+5+i.byteLength)+1]=0,l[23+(5+r[t(357)]+5+i[t(357)])+2]=1,l[23+(5+r.byteLength+5+i[t(357)])+3]=(65280&n[t(357)])>>8,l[23+(5+r[t(357)]+5+i[t(357)])+4]=(255&n[t(357)])>>0,l.set(n,23+(5+r[t(357)]+5+i[t(357)])+5);const d=[28,0,0,0,0],h=new Uint8Array(d[t(378)]+l[t(357)]);return h[t(265)](d,0),h[t(265)](l,d[t(378)]),h}function sn(e,t){const r=Zr;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(357)]>>24&255,n[6]=e[r(357)]>>16&255,n[7]=e[r(357)]>>8&255,n[8]=255&e.byteLength;const i=new Uint8Array(n[r(378)]+e.byteLength);return i[r(265)](n,0),i[r(265)](e,n[r(378)]),i}function an(e,t){const r=Zr;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(378)]+e[r(357)]);return i[r(265)](n,0),i[r(265)](e,n[r(378)]),i}function on(e){return(126&e[0])>>1}function cn(e){return e===Le.sei}function un(e){return!((t=e)>=32&&t<=40);var t}function ln(e){return e>=16&&e<=21}function dn(){const e=["profile_string","set","width","push","timescale","getUint16","pic_width_in_luma_samples","chroma_format","general_progressive_source_flag","conf_win_bottom_offset"," < 23","profile_idc","404472cXagDD"," < 22","sps","general_non_packed_constraint_flag","presentWidth","general_constraint_indicator_flags_4","lengthSizeMinusOne","sub_layer_interlaced_source_flag","sarRatio","Invalid HEVCDecoderConfigurationRecord, Strange NaluLengthSizeMinusOne: ","Could not find H265 startcode until payload end!","frame_rate","general_constraint_indicator_flags_5","type","readUEG","parseHEVCDecoderVPSAndSPSAndPPS and sps tag is ","general_constraint_indicator_flags_2","present_size","refSampleDuration","sub_layer_profile_present_flag","h265","warn","sar_ratio","sps_video_parameter_set_id","general_profile_space","parseHEVCDecoderVPSAndSPSAndPPS and vpsTag is ","general_profile_idc",", hevcProfile is ","864OYlYJT","constantFrameRate","codecWidth","vps","chroma_format_idc","6030CWQQPt","buffer","general_level_idc","chromaFormat","generalProfileCompatibilityFlags","temporalIdNested","Invalid HEVCDecoderConfigurationRecord,version is ","profile","4463920pdbygI","pps","sub_layer_profile_compatibility_flag","sub_layer_tier_flag","general_constraint_indicator_flags","error","fixed","conformance_window_flag","827275fqOmwc","psps","hvcc","subarray","conf_win_left_offset","conf_win_right_offset","parseHEVCDecoderVPSAndSPSAndPPS and pps tag is ","chromaFormatIdc","bit_depth_chroma_minus8","general_profile_compatibility_flags_2","conf_win_top_offset","bitDepthLumaMinus8","sub_layer_profile_idc","sps_seq_parameter_set_id","general_profile_compatibility_flags_1","codec_mimetype","hev1.1.6.L93.B0","bit_depth","level","slice","frameRate","eofFlag","18SsNZBm","parallelismType","157733gBzRyh","readBits","parseHEVCDecoderConfigurationRecord$3","readNextNaluPayload","pic_height_in_luma_samples","data","fps_num","profile_tier_level","byteLength","generalLevelIdc","sub_layer_level_idc","sub_layer_profile_space","from","921RUedsz","profile_space","read","setUint32","fps_den","general_profile_compatibility_flags_3","bit_depth_luma_minus8","getUint8","688bBtgBT","readUByte","general_interlaced_source_flag","max","read_golomb","findNextStartCodeOffset","min_spatial_segmentation_idc","sub_layer_frame_only_constraint_flag","length","sps_max_sub_layers_minus1","generalProfileIdc","parseSPS","numTemporalLayers","441413ZpRTvg","general_constraint_indicator_flags_1","arrayBuffer.length ","codecHeight","codec","height","setInt16","sub_layer_level_present_flag","bitDepthChromaMinus8","codec_size","generalConstraintIndicatorFlags","general_tier_flag","bitDepth","level_string","separate_colour_plane_flag","general_profile_compatibility_flags_4","sub_layer_progressive_source_flag","currentStartcodeOffset","presentHeight","sub_layer_non_packed_constraint_flag"];return(dn=function(){return e})()}function hn(e){const t=Zr;if(0===e[t(378)])return!1;const r=on(e[0]);for(let n=1;n=n[t(357)])return this[t(346)]=!0,n[t(357)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[Qr(352)](){const e=Qr;let t=this[e(354)],r=null;for(;null==r&&!this[e(346)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,a=this[e(375)](n);this.currentStartcodeOffset=a,0===s&&(r={type:i,data:t[e(328)](n,a)})}return r}}class pn{constructor(e){const t=Qr;let r=e[t(354)].byteLength;this[t(289)]=e[t(289)],this.data=new Uint8Array(4+r),new DataView(this.data[t(310)])[t(365)](0,r),this[t(354)][t(265)](e.data,4)}}var mn=zn;!function(e,t){for(var r=zn,n=e();;)try{if(861067===-parseInt(r(384))/1*(parseInt(r(353))/2)+parseInt(r(376))/3+-parseInt(r(305))/4*(-parseInt(r(285))/5)+parseInt(r(288))/6*(-parseInt(r(345))/7)+-parseInt(r(372))/8*(-parseInt(r(319))/9)+parseInt(r(297))/10*(-parseInt(r(333))/11)+parseInt(r(322))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ln);var vn,yn=mn(385),gn=mn(365),_n=/^(?:text|application)\/xml/i,bn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,wn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Sn=/^\s*$/,In={},An={},kn="",En={type:mn(304),beforeSend:Cn,success:Cn,error:Cn,complete:Cn,context:null,xhr:function(){return new(window[mn(368)])},accepts:{json:yn,xml:mn(300),html:gn,text:mn(389),"*":"*/"[mn(332)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:Cn,contentType:mn(360)};function Cn(){}var xn=function(e,t){var r=mn;typeof e===r(394)&&(t=e,e=void 0);var n=Rn({},t=t||{});for(var i in En)void 0===n[i]&&(n[i]=En[i]);try{var s={},a=new Promise((function(e,t){var n=r;s.resolve=e,s[n(340)]=t}));a.resolve=s.resolve,a[r(340)]=s.reject,n[r(308)]=a}catch(e){n[r(308)]={resolve:Cn,reject:Cn}}var o=wn[r(378)](window.location.href[r(392)]())||[];n.url=((e||n[r(290)]||window.location.href)+"")[r(350)](/#.*$/,"")[r(350)](/^\/\//,o[1]+"//");var c=n[r(290)];!n.crossDomain&&(n[r(355)]=/^([\w-]+:)?\/\/([^\/]+)/[r(325)](n.url)&&RegExp.$2!==window[r(287)][r(338)]);var u=n[r(310)];if(u===r(351)){if(!/=\?/[r(325)](n[r(290)])){var l=(n.jsonp||r(382))+"=?";n.url=Mn(n[r(290)],l)}return function(e){var t,r=mn,n=e[r(390)]||r(351)+Hn(),i=window[r(344)][r(306)]("script"),s={abort:function(){n in window&&(window[n]=Cn)}},a=window[r(344)][r(363)](r(362))[0]||window.document[r(357)];function o(n){var i=r;window[i(291)](t),s[i(311)](),Dn(n[i(356)],s,n[i(356)],e),c()}function c(){var e=r;i[e(374)]?i[e(374)]():i[e(391)]=i[e(328)]=i[e(377)]=null,i[e(358)]&&i.parentNode[e(326)](i),i=null,delete window[n]}return i.onerror=function(e){o(e)},window[n]=function(n){window[r(291)](t),Tn(n,s,e),c()},Un(e),i.src=e[r(290)][r(350)](/=\?/,"="+n),i[r(346)]=Mn(i[r(346)],"_="+(new Date)[r(366)]()),i[r(387)]=!0,e[r(286)]&&(i.charset=e[r(286)]),a[r(383)](i,a[r(317)]),e.timeout>0&&(t=window[r(369)]((function(){var t=r;s[t(311)](),Dn(t(381),s,t(381),e),c()}),e[r(381)])),e.promise[r(311)]=function(){s[r(311)]()},e[r(308)][r(302)]=s,e[r(308)]}(n)}Un(n);var d=n.accepts[u]||n[r(299)]["*"],h={};/^([\w-]+:)\/\//[r(325)](n[r(290)])?RegExp.$1:window[r(287)][r(348)];var f,p=En[r(302)]();!n[r(355)]&&!h[r(303)]&&(h["X-Requested-With"]=r(368)),n.ifModified&&(In[c]&&(h[r(343)]=In[c]),An[c]&&(h[r(323)]=An[c])),d&&(h[r(294)]=d,d[r(293)](",")>-1&&(d=d.split(",",2)[0]),p.overrideMimeType&&p[r(314)](d));var m=!/^(?:GET|HEAD)$/[r(325)](n[r(356)][r(359)]());if((n[r(295)]&&m&&!1!==n[r(334)]||t[r(334)])&&(h[r(341)]=n[r(334)]),!1===n.cache&&!m){var v=/([?&])_=[^&]*/;n[r(290)]=v[r(325)](c)?c[r(350)](v,r(313)+Hn()):c+(/\?/[r(325)](c)?"&":"?")+"_="+Hn()}n[r(335)]=Rn(h,n[r(335)]||{}),p[r(328)]=function(){var e,t,i=r;if(4===p.readyState){clearTimeout(f);var s,a=!1;if(p[i(380)]>=200&&p[i(380)]<300||304===p.status){if(kn=p.getAllResponseHeaders(),n[i(298)]){var o=Pn("Last-Modified");o&&(In[c]=o),(o=Pn(i(315)))&&(An[c]=o)}u=u||(e=p[i(292)](i(339)),t=mn,e&&(e===gn?t(318):e===yn?t(316):_n[t(325)](e)&&"xml")||t(320)),s=p.responseText;try{u===i(289)?s=p.responseXML:u===i(316)&&(s=Sn[i(325)](s)?null:JSON[i(329)](s))}catch(e){a=e}a?Dn(a,"parseerror",p,n):Tn(s,p,n)}else Dn(null,"error",p,n)}};var y=!(r(387)in n)||n[r(387)];if(p.open(n[r(356)],n[r(290)],y,n[r(367)],n[r(349)]),n[r(388)])for(var g in n.xhrFields)p[g]=n[r(388)][g];for(var g in n[r(347)]&&p.overrideMimeType&&p[r(314)](n[r(347)]),n[r(335)])void 0!==n.headers[g]&&p[r(373)](g,n[r(335)][g]+"");return!1===function(e,t){var r=mn,n=t[r(321)];if(!1===t[r(386)].call(n,e,t))return!1}(p,n)?(p[r(311)](),!1):(n[r(381)]>0&&(f=window[r(369)]((function(){p[r(328)]=Cn,p.abort(),Dn(null,"timeout",p,n)}),n[r(381)])),p[r(379)](n[r(295)]?n[r(295)]:null),n[r(308)][r(311)]=function(){p[r(311)]()},n[r(308)])};function Tn(e,t,r){var n=mn,i=r[n(321)],s=n(309);r[n(309)][n(330)](i,e,s,t),r[n(308)][n(324)](e,s,t),Bn(s,t,r)}function Bn(e,t,r){var n=mn,i=r[n(321)];r[n(393)][n(330)](i,t,e)}function Dn(e,t,r,n){var i=mn,s=n.context;n[i(337)][i(330)](s,r,t,e),n.promise[i(340)](r,t,e),Bn(t,r,n)}function Pn(e){var t,r=mn;if(!vn){for(vn={};t=bn[r(378)](kn);)vn[t[1].toLowerCase()]=t[2];t=vn[e.toLowerCase()]}return null===t?null:t}function Mn(e,t){return(e+"&"+t).replace(/[&?]{1,2}/,"?")}function Un(e){var t,r,n,i,s=mn;On(e)&&!(e[s(295)]instanceof FormData)&&e[s(361)]&&(e[s(295)]=(t=e[s(295)],(i=[])[(n=mn)(296)]=function(e,t){this[n(331)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Fn(i,t,r),i[n(327)]("&")[n(350)](n(307),"+"))),e[s(295)]&&(!e.type||"GET"===e[s(356)][s(359)]())&&(e[s(290)]=Mn(e[s(290)],e.data))}function Fn(e,t,r,n){var i,s,a=mn,o=(i=t,s=mn,Object[s(371)][s(352)].call(i)===s(312));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(o?"":c)+"]"),!n&&o?e.add(u.name,u[a(336)]):(r?o(u):On(u))?Fn(e,u,r,c):e[a(296)](c,u)}}function Rn(e){for(var t=mn,r=Array[t(371)].slice,n=r.call(arguments,1),i=0,s=n.length;i255)return!1;return!0}function $n(e,t){var r=yi;if(e[r(504)]&&e[r(503)]===r(539))return t&&(e=e[r(488)]?e.slice():Array.prototype.slice[r(493)](e)),e;if(Array.isArray(e)){if(!jn(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(Vn(e[r(541)])&&jn(e))return new Uint8Array(e);throw new Error(r(487))}function Gn(e){return new Uint8Array(e)}function qn(e,t,r,n,i){var s=yi;(null!=n||null!=i)&&(e=e[s(488)]?e.slice(n,i):Array[s(546)][s(488)].call(e,n,i)),t[s(518)](e,r)}!function(e,t){for(var r=yi,n=e();;)try{if(982459===parseInt(r(514))/1+parseInt(r(510))/2*(parseInt(r(511))/3)+-parseInt(r(489))/4+-parseInt(r(534))/5+parseInt(r(538))/6*(parseInt(r(530))/7)+-parseInt(r(529))/8*(-parseInt(r(535))/9)+parseInt(r(502))/10*(-parseInt(r(501))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Si);var Xn,Kn,Yn={toBytes:function(e){var t=yi,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(533)](String[t(549)]((31&i)<<6|63&e[n+1])),n+=2):(r[t(533)](String.fromCharCode((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r.join("")}},Jn=(Kn=(Xn=yi)(492),{toBytes:function(e){for(var t=yi,r=[],n=0;n>4]+Kn[15&i])}return r[t(532)]("")}}),Qn={16:10,24:12,32:14},Zn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],ei=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],ti=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],ri=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],ni=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ii=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],si=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ai=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],oi=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],ci=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],ui=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],li=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],di=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],hi=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],fi=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function pi(e){for(var t=yi,r=[],n=0;n>2,this._Ke[n][r%4]=a[r],this._Kd[t-n][r%4]=a[r];for(var o,c=0,u=s;u>16&255]<<24^ei[o>>8&255]<<16^ei[255&o]<<8^ei[o>>24&255]^Zn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^ei[o>>16&255]<<16^ei[o>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this._Ke[l][d]=a[r],this[e(526)][t-l][d]=a[r++],u++}for(var l=1;l>24&255]^di[o>>16&255]^hi[o>>8&255]^fi[255&o]},mi.prototype.encrypt=function(e){var t=Wn;if(16!=e.length)throw new Error(t(515));for(var r=this[t(522)].length-1,n=[0,0,0,0],i=pi(e),s=0;s<4;s++)i[s]^=this[t(522)][0][s];for(var a=1;a>24&255]^ni[i[(s+1)%4]>>16&255]^ii[i[(s+2)%4]>>8&255]^si[255&i[(s+3)%4]]^this._Ke[a][s];i=n[t(488)]()}var o,c=Gn(16);for(s=0;s<4;s++)o=this._Ke[r][s],c[4*s]=255&(ei[i[s]>>24&255]^o>>24),c[4*s+1]=255&(ei[i[(s+1)%4]>>16&255]^o>>16),c[4*s+2]=255&(ei[i[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(ei[255&i[(s+3)%4]]^o);return c},mi[Wn(546)][Wn(524)]=function(e){var t=Wn;if(16!=e[t(541)])throw new Error(t(544));for(var r=this[t(526)][t(541)]-1,n=[0,0,0,0],i=pi(e),s=0;s<4;s++)i[s]^=this[t(526)][0][s];for(var a=1;a>24&255]^oi[i[(s+3)%4]>>16&255]^ci[i[(s+2)%4]>>8&255]^ui[255&i[(s+1)%4]]^this[t(526)][a][s];i=n.slice()}var o,c=Gn(16);for(s=0;s<4;s++)o=this[t(526)][r][s],c[4*s]=255&(ti[i[s]>>24&255]^o>>24),c[4*s+1]=255&(ti[i[(s+3)%4]>>16&255]^o>>16),c[4*s+2]=255&(ti[i[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(ti[255&i[(s+1)%4]]^o);return c};var vi=function(e){var t=Wn;if(!(this instanceof vi))throw Error(t(497));this[t(498)]="Electronic Code Block",this.name="ecb",this._aes=new mi(e)};function yi(e,t){var r=Si();return(yi=function(e,t){return r[e-=487]})(e,t)}vi[Wn(546)][Wn(550)]=function(e){var t=Wn;if((e=$n(e))[t(541)]%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var r=Gn(e.length),n=Gn(16),i=0;iNumber[t(509)])throw new Error("integer value out of safe range");for(var r=15;r>=0;--r)this[t(499)][r]=e%256,e=parseInt(e/256)},wi[Wn(546)][Wn(521)]=function(e){var t=Wn;if(16!=(e=$n(e,!0))[t(541)])throw new Error("invalid counter bytes size (must be 16 bytes)");this[t(499)]=e},wi[Wn(546)][Wn(537)]=function(){for(var e=Wn,t=15;t>=0;t--){if(255!==this[e(499)][t]){this[e(499)][t]++;break}this[e(499)][t]=0}};var Ii=function(e,t){var r=Wn;if(!(this instanceof Ii))throw Error(r(497));this[r(498)]="Counter",this[r(503)]=r(490),!(t instanceof wi)&&(t=new wi(t)),this[r(499)]=t,this[r(491)]=null,this[r(517)]=16,this[r(536)]=new mi(e)};Ii.prototype[Wn(550)]=function(e){for(var t=Wn,r=$n(e,!0),n=0;n16)throw new Error("PKCS#7 padding byte out of range");for(var n=e[t(541)]-r,i=0;i>>2]>>>24-o%4*8&255;r[s+o>>>2]|=c<<24-(s+o)%4*8}else for(var u=0;u>>2]=n[u>>>2];return this[t(372)]+=a,this},clamp:function(){var t=i,r=this[t(361)],n=this.sigBytes;r[n>>>2]&=4294967295<<32-n%4*8,r[t(321)]=e[t(339)](n/4)},clone:function(){var e=i,t=u[e(318)][e(356)](this);return t[e(361)]=this[e(361)][e(349)](0),t},random:function(e){for(var t=i,r=[],n=0;n>>2]>>>24-a%4*8&255;s[t(333)]((o>>>4)[t(368)](16)),s.push((15&o).toString(16))}return s[t(346)]("")},parse:function(e){for(var t=i,r=e[t(321)],n=[],s=0;s>>3]|=parseInt(e[t(348)](s,2),16)<<24-s%8*4;return new l.init(n,r/2)}},f=d[i(353)]={stringify:function(e){for(var t=i,r=e[t(361)],n=e[t(372)],s=[],a=0;a>>2]>>>24-a%4*8&255;s[t(333)](String[t(362)](o))}return s[t(346)]("")},parse:function(e){for(var t=i,r=e[t(321)],n=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new(l[t(375)])(n,r)}},p=d[i(360)]={stringify:function(e){var t=i;try{return decodeURIComponent(escape(f[t(323)](e)))}catch(e){throw new Error(t(338))}},parse:function(e){return f.parse(unescape(encodeURIComponent(e)))}},m=c[i(376)]=u[i(350)]({reset:function(){var e=i;this[e(371)]=new(l[e(375)]),this._nDataBytes=0},_append:function(e){var t=i;typeof e==t(373)&&(e=p[t(326)](e)),this._data.concat(e),this._nDataBytes+=e[t(372)]},_process:function(t){var r,n=i,s=this._data,a=s[n(361)],o=s[n(372)],c=this[n(357)],u=o/(4*c),d=(u=t?e.ceil(u):e[n(363)]((0|u)-this[n(351)],0))*c,h=e[n(367)](4*d,o);if(d){for(var f=0;f>>2]|=e[a]<<24-a%4*8;n.call(this,s,i)}else n[r(201)](this,arguments)};i.prototype=r}}(),e.lib[t(183)]},(i=Di)(202)==i(202)?e[i(179)]=n(Ci):n(r[i(196)])}));var Ui=Fi;function Fi(e,t){var r=Ri();return(Fi=function(e,t){return r[e-=348]})(e,t)}!function(e,t){for(var r=Fi,n=e();;)try{if(381327===parseInt(r(377))/1+parseInt(r(366))/2+parseInt(r(355))/3+-parseInt(r(350))/4*(parseInt(r(360))/5)+-parseInt(r(354))/6+parseInt(r(358))/7+-parseInt(r(371))/8*(-parseInt(r(356))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ri);rt[Ui(370)]((function(e,t){var r,n,i,s=Ui;r=rt[s(369)],n=function(e){var t=s;return function(){var t=Fi,r=e,n=r[t(357)][t(372)],i=r.enc;function s(e){return e<<8&4278255360|e>>>8&16711935}i[t(363)]=i.Utf16BE={stringify:function(e){for(var r=t,n=e[r(364)],i=e[r(362)],s=[],a=0;a>>2]>>>16-a%4*8&65535;s[r(368)](String.fromCharCode(o))}return s[r(348)]("")},parse:function(e){for(var r=t,i=e[r(349)],s=[],a=0;a>>1]|=e[r(376)](a)<<16-a%2*16;return n[r(374)](s,2*i)}},i[t(359)]={stringify:function(e){for(var r=t,n=e[r(364)],i=e[r(362)],a=[],o=0;o>>2]>>>16-o%4*8&65535);a[r(368)](String[r(361)](c))}return a[r(348)]("")},parse:function(e){for(var r=t,i=e[r(349)],a=[],o=0;o>>1]|=s(e.charCodeAt(o)<<16-o%2*16);return n[r(374)](a,2*i)}}}(),e[t(353)][t(363)]},(i=Fi)(375)==i(375)?e[i(351)]=n(Ci):"undefined"===i(352)&&(void 0)[i(373)]?(void 0)([i(367)],n):n(r[i(365)])}));function Ri(){var e=["./core","push","commonjsGlobal","createCommonjsModule","288ZpQXvC","WordArray","amd","create","object","charCodeAt","215908wOEIVU","join","length","88LsTwGW","exports","function","enc","266118jEOoba","1581963dxSqvr","52119hteOcv","lib","475097mrtmbP","Utf16LE","171845tcgHYr","fromCharCode","sigBytes","Utf16","words","CryptoJS","324444QFPIrh"];return(Ri=function(){return e})()}var Li=Oi;function Oi(e,t){var r=zi();return(Oi=function(e,t){return r[e-=190]})(e,t)}!function(e,t){for(var r=Oi,n=e();;)try{if(237442===parseInt(r(211))/1*(-parseInt(r(192))/2)+parseInt(r(218))/3*(parseInt(r(199))/4)+-parseInt(r(205))/5+-parseInt(r(207))/6*(-parseInt(r(200))/7)+parseInt(r(198))/8*(-parseInt(r(208))/9)+parseInt(r(191))/10+-parseInt(r(216))/11*(-parseInt(r(215))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(zi);rt[Li(214)]((function(e,t){var r,n,i,s=Li;r=rt[s(219)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=Oi)(201)].WordArray,r[t(209)][t(217)]={stringify:function(e){var r=t,n=e[r(210)],i=e[r(190)],s=this[r(202)];e[r(213)]();for(var a=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(n[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|n[o+2>>>2]>>>24-(o+2)%4*8&255,u=0;u<4&&o+.75*u>>6*(3-u)&63));var l=s[r(204)](64);if(l)for(;a.length%4;)a[r(197)](l);return a[r(196)]("")},parse:function(e){var r=t,i=e[r(212)],s=this[r(202)],a=this[r(206)];if(!a){a=this._reverseMap=[];for(var o=0;o>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return n[s(203)](a,o)}(e,i,a)},_map:t(195)},e[i(209)][i(217)]},(i=Oi)(193)==i(193)?e[i(194)]=n(Ci):n(r.CryptoJS)}));function zi(){var e=["enc","words","221567dYUMpQ","length","clamp","createCommonjsModule","4076052bVVCNz","11oOyMpn","Base64","3732cLIvIZ","commonjsGlobal","charCodeAt","sigBytes","1924620lLCmDO","2SCmAmc","object","exports","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","join","push","41368jHQSGP","152BLAceD","364eRgWis","lib","_map","create","charAt","962370gIXjoP","_reverseMap","40536EKfZeO","486Cpddop"];return(zi=function(){return e})()}function Ni(){var e=["25692667apKrBY","enc","Base64url","clamp","push","3620dZJaSC","words","function","CryptoJS","indexOf","_map","30663FvrPuT","2PGgHOa","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","202048oGcuYf","charAt","commonjsGlobal","25FrZuMl","length","5523czohKX","13160NgcSgI","object","amd","558076BxuaDr","join","WordArray","charCodeAt","2777202hCmOlZ","_reverseMap","_safe_map","sigBytes","exports","5456700AnsqWq","lib"];return(Ni=function(){return e})()}!function(e,t){for(var r=Hi,n=e();;)try{if(720385===parseInt(r(401))/1+-parseInt(r(399))/2*(-parseInt(r(380))/3)+-parseInt(r(376))/4*(-parseInt(r(404))/5)+-parseInt(r(385))/6+-parseInt(r(406))/7*(parseInt(r(373))/8)+-parseInt(r(398))/9*(parseInt(r(392))/10)+parseInt(r(387))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ni);tt((function(e,t){var r,n,i,s=Hi;r=rt[s(403)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=Hi)(386)][t(378)],r[t(388)][t(389)]={stringify:function(e,r){var n=t;void 0===r&&(r=!0);var i=e[n(393)],s=e[n(383)],a=r?this[n(382)]:this[n(397)];e[n(390)]();for(var o=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=a.charAt(64);if(d)for(;o.length%4;)o.push(d);return o[n(377)]("")},parse:function(e,r){var i=t;void 0===r&&(r=!0);var s=e[i(405)],a=r?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this[i(381)]=[];for(var c=0;c>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return n.create(a,o)}(e,s,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:t(400)},e[i(388)][i(389)]},(i=Hi)(374)==i(374)?e[i(384)]=n(Ci):"undefined"===i(394)&&(void 0)[i(375)]?(void 0)(["./core"],n):n(r[i(395)])}));function Hi(e,t){var r=Ni();return(Hi=function(e,t){return r[e-=373]})(e,t)}var Wi=ji;function Vi(){var e=["object","abs","Hasher","function","extend","3204183CaCJoe","algo","HmacMD5","_hash","length","_nDataBytes","words","18543238ZDoivN","sigBytes","floor","amd","409592nVIxxD","lib","commonjsGlobal","call","clone","120994zkHDGM","4620696edkWGg","exports","_createHelper","3651700WDQXtC","293796JkMxZN","createCommonjsModule","CryptoJS","WordArray","MD5","./core"];return(Vi=function(){return e})()}!function(e,t){for(var r=ji,n=e();;)try{if(679297===parseInt(r(258))/1+parseInt(r(253))/2+parseInt(r(242))/3+parseInt(r(259))/4+parseInt(r(262))/5+parseInt(r(263))/6+-parseInt(r(249))/7)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vi);rt[Wi(232)]((function(e,t){var r,n,i,s=Wi;r=rt[s(255)],n=function(e){var t=s;return function(t){var r=ji,n=e,i=n[r(254)],s=i[r(234)],a=i[r(239)],o=n[r(243)],c=[];!function(){for(var e=r,n=0;n<64;n++)c[n]=4294967296*t[e(238)](t.sin(n+1))|0}();var u=o[r(235)]=a[r(241)]({_doReset:function(){this[r(245)]=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o=this[n(245)][n(248)],u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],y=e[t+4],g=e[t+5],_=e[t+6],b=e[t+7],w=e[t+8],S=e[t+9],I=e[t+10],A=e[t+11],k=e[t+12],E=e[t+13],C=e[t+14],x=e[t+15],T=o[0],B=o[1],D=o[2],P=o[3];T=l(T,B,D,P,u,7,c[0]),P=l(P,T,B,D,p,12,c[1]),D=l(D,P,T,B,m,17,c[2]),B=l(B,D,P,T,v,22,c[3]),T=l(T,B,D,P,y,7,c[4]),P=l(P,T,B,D,g,12,c[5]),D=l(D,P,T,B,_,17,c[6]),B=l(B,D,P,T,b,22,c[7]),T=l(T,B,D,P,w,7,c[8]),P=l(P,T,B,D,S,12,c[9]),D=l(D,P,T,B,I,17,c[10]),B=l(B,D,P,T,A,22,c[11]),T=l(T,B,D,P,k,7,c[12]),P=l(P,T,B,D,E,12,c[13]),D=l(D,P,T,B,C,17,c[14]),T=d(T,B=l(B,D,P,T,x,22,c[15]),D,P,p,5,c[16]),P=d(P,T,B,D,_,9,c[17]),D=d(D,P,T,B,A,14,c[18]),B=d(B,D,P,T,u,20,c[19]),T=d(T,B,D,P,g,5,c[20]),P=d(P,T,B,D,I,9,c[21]),D=d(D,P,T,B,x,14,c[22]),B=d(B,D,P,T,y,20,c[23]),T=d(T,B,D,P,S,5,c[24]),P=d(P,T,B,D,C,9,c[25]),D=d(D,P,T,B,v,14,c[26]),B=d(B,D,P,T,w,20,c[27]),T=d(T,B,D,P,E,5,c[28]),P=d(P,T,B,D,m,9,c[29]),D=d(D,P,T,B,b,14,c[30]),T=h(T,B=d(B,D,P,T,k,20,c[31]),D,P,g,4,c[32]),P=h(P,T,B,D,w,11,c[33]),D=h(D,P,T,B,A,16,c[34]),B=h(B,D,P,T,C,23,c[35]),T=h(T,B,D,P,p,4,c[36]),P=h(P,T,B,D,y,11,c[37]),D=h(D,P,T,B,b,16,c[38]),B=h(B,D,P,T,I,23,c[39]),T=h(T,B,D,P,E,4,c[40]),P=h(P,T,B,D,u,11,c[41]),D=h(D,P,T,B,v,16,c[42]),B=h(B,D,P,T,_,23,c[43]),T=h(T,B,D,P,S,4,c[44]),P=h(P,T,B,D,k,11,c[45]),D=h(D,P,T,B,x,16,c[46]),T=f(T,B=h(B,D,P,T,m,23,c[47]),D,P,u,6,c[48]),P=f(P,T,B,D,b,10,c[49]),D=f(D,P,T,B,C,15,c[50]),B=f(B,D,P,T,g,21,c[51]),T=f(T,B,D,P,k,6,c[52]),P=f(P,T,B,D,v,10,c[53]),D=f(D,P,T,B,I,15,c[54]),B=f(B,D,P,T,p,21,c[55]),T=f(T,B,D,P,w,6,c[56]),P=f(P,T,B,D,x,10,c[57]),D=f(D,P,T,B,_,15,c[58]),B=f(B,D,P,T,E,21,c[59]),T=f(T,B,D,P,y,6,c[60]),P=f(P,T,B,D,A,10,c[61]),D=f(D,P,T,B,m,15,c[62]),B=f(B,D,P,T,S,21,c[63]),o[0]=o[0]+T|0,o[1]=o[1]+B|0,o[2]=o[2]+D|0,o[3]=o[3]+P|0},_doFinalize:function(){var e=r,n=this._data,i=n[e(248)],s=8*this[e(247)],a=8*n[e(250)];i[a>>>5]|=128<<24-a%32;var o=t[e(251)](s/4294967296),c=s;i[15+(a+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),i[14+(a+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n.sigBytes=4*(i[e(246)]+1),this._process();for(var u=this[e(245)],l=u[e(248)],d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return u},clone:function(){var e=r,t=a.clone[e(256)](this);return t[e(245)]=this[e(245)][e(257)](),t}});function l(e,t,r,n,i,s,a){var o=e+(t&r|~t&n)+i+a;return(o<>>32-s)+t}function d(e,t,r,n,i,s,a){var o=e+(t&n|r&~n)+i+a;return(o<>>32-s)+t}function h(e,t,r,n,i,s,a){var o=e+(t^r^n)+i+a;return(o<>>32-s)+t}function f(e,t,r,n,i,s,a){var o=e+(r^(t|~n))+i+a;return(o<>>32-s)+t}n[r(235)]=a[r(261)](u),n[r(244)]=a._createHmacHelper(u)}(Math),e[t(235)]},(i=ji)(237)==i(237)?e[i(260)]=n(Ci):"undefined"===i(240)&&(void 0)[i(252)]?(void 0)([i(236)],n):n(r[i(233)])}));function ji(e,t){var r=Vi();return(ji=function(e,t){return r[e-=232]})(e,t)}function $i(e,t){var r=qi();return($i=function(e,t){return r[e-=292]})(e,t)}var Gi=$i;function qi(){var e=["Hasher","WordArray","amd","5181451CnideH","clone","_process","_createHelper","166011HNRdnY","_data","words","length","1081832lpkiHV","2174754fFgcgH","object","1005688imkgDL","HmacSHA1","SHA1","_createHmacHelper","154982tAmQTP","5QKauRL","267830IGCSzD","_hash","algo","3JMDnoZ","7kWWdHU","144qejkkd","createCommonjsModule","exports","./core","CryptoJS","lib","sigBytes"];return(qi=function(){return e})()}!function(e,t){for(var r=$i,n=e();;)try{if(252305===parseInt(r(296))/1+parseInt(r(307))/2*(parseInt(r(312))/3)+-parseInt(r(300))/4*(parseInt(r(308))/5)+-parseInt(r(301))/6*(-parseInt(r(313))/7)+-parseInt(r(303))/8+parseInt(r(314))/9*(-parseInt(r(309))/10)+parseInt(r(292))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qi);rt[Gi(315)]((function(e,t){var r,n,i;r=et,n=function(e){var t,r,n,i,s,a,o,c,u=$i;return n=(r=e)[(t=$i)(319)],i=n[t(322)],s=n[t(321)],a=r[t(311)],o=[],c=a[t(305)]=s.extend({_doReset:function(){this[t(310)]=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(310)][n(298)],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)o[d]=0|e[r+d];else{var h=o[d-3]^o[d-8]^o[d-14]^o[d-16];o[d]=h<<1|h>>>31}var f=(s<<5|s>>>27)+l+o[d];f+=d<20?1518500249+(a&c|~a&u):d<40?1859775393+(a^c^u):d<60?(a&c|a&u|c&u)-1894007588:(a^c^u)-899497514,l=u,u=c,c=a<<30|a>>>2,a=s,s=f}i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+c|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(297)],n=r[e(298)],i=8*this._nDataBytes,s=8*r[e(320)];return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math.floor(i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(320)]=4*n[e(299)],this[e(294)](),this[e(310)]},clone:function(){var e=t,r=s[e(293)].call(this);return r[e(310)]=this[e(310)][e(293)](),r}}),r[t(305)]=s[t(295)](c),r[t(304)]=s[t(306)](c),e[u(305)]},"object"===(i=$i)(302)?e[i(316)]=n(Ci):n(r[i(318)])}));!function(e,t){for(var r=Xi,n=e();;)try{if(954384===parseInt(r(233))/1+parseInt(r(262))/2+parseInt(r(241))/3*(parseInt(r(263))/4)+parseInt(r(242))/5*(parseInt(r(237))/6)+-parseInt(r(240))/7*(-parseInt(r(244))/8)+parseInt(r(239))/9+-parseInt(r(246))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ki);tt((function(e,t){var r,n,i;r=et,n=function(e){return function(t){var r=Xi,n=e,i=n[r(260)],s=i[r(259)],a=i[r(243)],o=n[r(256)],c=[],u=[];!function(){var e=r;function n(e){for(var r=t[Xi(238)](e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var s=2,a=0;a<64;)n(s)&&(a<8&&(c[a]=i(t.pow(s,.5))),u[a]=i(t[e(255)](s,1/3)),a++),s++}();var l=[],d=o.SHA256=a[r(258)]({_doReset:function(){var e=r;this._hash=new s.init(c[e(245)](0))},_doProcessBlock:function(e,t){for(var n=this[r(261)].words,i=n[0],s=n[1],a=n[2],o=n[3],c=n[4],d=n[5],h=n[6],f=n[7],p=0;p<64;p++){if(p<16)l[p]=0|e[t+p];else{var m=l[p-15],v=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,y=l[p-2],g=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[p]=v+l[p-7]+g+l[p-16]}var _=i&s^i&a^s&a,b=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),w=f+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&d^~c&h)+u[p]+l[p];f=h,h=d,d=c,c=o+w|0,o=a,a=s,s=i,i=w+(b+_)|0}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0,n[5]=n[5]+d|0,n[6]=n[6]+h|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=r,n=this._data,i=n[e(251)],s=8*this[e(248)],a=8*n[e(231)];return i[a>>>5]|=128<<24-a%32,i[14+(a+64>>>9<<4)]=t[e(252)](s/4294967296),i[15+(a+64>>>9<<4)]=s,n[e(231)]=4*i.length,this[e(232)](),this[e(261)]},clone:function(){var e=r,t=a.clone.call(this);return t[e(261)]=this[e(261)][e(247)](),t}});n.SHA256=a[r(257)](d),n.HmacSHA256=a[r(249)](d)}(Math),e.SHA256},(i=Xi)(234)==i(234)?e[i(253)]=n(Ci):"undefined"===i(235)&&(void 0)[i(236)]?(void 0)([i(250)],n):n(r[i(254)])}));function Xi(e,t){var r=Ki();return(Xi=function(e,t){return r[e-=231]})(e,t)}function Ki(){var e=["slice","36940600iWrfXM","clone","_nDataBytes","_createHmacHelper","./core","words","floor","exports","CryptoJS","pow","algo","_createHelper","extend","WordArray","lib","_hash","1166496JCeWGT","48zKElfH","sigBytes","_process","991234toIceK","object","function","amd","222714qlBFoC","sqrt","6200370glnGQz","14GKYUYS","345822hzmZhN","130bIjIzP","Hasher","146600GxpnCE"];return(Ki=function(){return e})()}var Yi=Ji;function Ji(e,t){var r=Qi();return(Ji=function(e,t){return r[e-=425]})(e,t)}function Qi(){var e=["exports","init","4730490jrzsXa","./core","8vPfdiw","_createHmacHelper","6297GTiXEl","lib","extend","7844683Xctmqo","3624246yFcJaz","SHA256","algo","_hash","sigBytes","2mWJqpU","69606qhTdLp","SHA224","525234kKwlUU","function","object","_createHelper","20312JoNxyl","135oEEDGs","commonjsGlobal","createCommonjsModule","amd","_doFinalize","392NxgSdU"];return(Qi=function(){return e})()}!function(e,t){for(var r=Ji,n=e();;)try{if(292805===-parseInt(r(448))/1*(parseInt(r(451))/2)+-parseInt(r(439))/3*(-parseInt(r(437))/4)+parseInt(r(427))/5*(parseInt(r(449))/6)+parseInt(r(432))/7*(-parseInt(r(426))/8)+parseInt(r(443))/9+-parseInt(r(435))/10+parseInt(r(442))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qi);rt[Yi(429)]((function(e,t){var r,n,i,s=Yi;r=rt[s(428)],n=function(e){var t,r,n,i,a,o,c=s;return n=(r=e)[(t=Ji)(440)].WordArray,i=r[t(445)],a=i[t(444)],o=i[t(450)]=a[t(441)]({_doReset:function(){var e=t;this[e(446)]=new(n[e(434)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=a[e(431)].call(this);return r[e(447)]-=4,r}}),r.SHA224=a[t(425)](o),r.HmacSHA224=a[t(438)](o),e[c(450)]},(i=Ji)(453)==i(453)?e[i(433)]=n(Ci):"undefined"===i(452)&&(void 0)[i(430)]?(void 0)([i(436),"./sha256"],n):n(r.CryptoJS)}));var Zi=es;function es(e,t){var r=ts();return(es=function(e,t){return r[e-=129]})(e,t)}function ts(){var e=["863894UBHNwx","95068QFlMsz","create","function","_hash","HmacSHA512","460520Mhgyjw","amd","lib","_data","words","2838528gtQrOU","_process","1119584MzIDfv","call","_createHelper","195DyvMey","SHA512","sigBytes","commonjsGlobal","CryptoJS","high","floor","Hasher","clone","90186TvPgYY","2847264zPsaRg","14HAxaRN","toX32","object","WordArray","createCommonjsModule","low","length","6MyTMqX","_createHmacHelper","exports","_nDataBytes","algo","./x64-core","x64","init"];return(ts=function(){return e})()}!function(e,t){for(var r=es,n=e();;)try{if(617193===parseInt(r(157))/1+parseInt(r(132))/2*(-parseInt(r(166))/3)+parseInt(r(133))/4*(parseInt(r(148))/5)+parseInt(r(158))/6+-parseInt(r(159))/7*(parseInt(r(145))/8)+parseInt(r(143))/9+-parseInt(r(138))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ts);rt[Zi(163)]((function(e,t){var r,n,i;r=rt[Zi(151)],n=function(e){return function(){var t=es,r=e,n=r[t(140)][t(155)],i=r[t(130)],s=i.Word,a=i[t(162)],o=r[t(170)];function c(){var e=t;return s[e(134)].apply(s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=o[t(149)]=n.extend({_doReset:function(){var e=t;this._hash=new a.init([new(s[e(131)])(1779033703,4089235720),new(s[e(131)])(3144134277,2227873595),new s.init(1013904242,4271175723),new(s[e(131)])(2773480762,1595750129),new(s[e(131)])(1359893119,2917565137),new(s[e(131)])(2600822924,725511199),new(s[e(131)])(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(136)].words,s=i[0],a=i[1],o=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=s[n(153)],v=s.low,y=a[n(153)],g=a[n(164)],_=o[n(153)],b=o[n(164)],w=c.high,S=c[n(164)],I=d[n(153)],A=d[n(164)],k=h.high,E=h[n(164)],C=f[n(153)],x=f.low,T=p[n(153)],B=p.low,D=m,P=v,M=y,U=g,F=_,R=b,L=w,O=S,z=I,N=A,H=k,W=E,V=C,j=x,$=T,G=B,q=0;q<80;q++){var X,K,Y=l[q];if(q<16)K=Y.high=0|e[r+2*q],X=Y[n(164)]=0|e[r+2*q+1];else{var J=l[q-15],Q=J[n(153)],Z=J.low,ee=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^Q>>>7,te=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^(Z>>>7|Q<<25),re=l[q-2],ne=re[n(153)],ie=re.low,se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,ae=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),oe=l[q-7],ce=oe.high,ue=oe[n(164)],le=l[q-16],de=le[n(153)],he=le[n(164)];K=(K=(K=ee+ce+((X=te+ue)>>>0>>0?1:0))+se+((X+=ae)>>>0>>0?1:0))+de+((X+=he)>>>0>>0?1:0),Y[n(153)]=K,Y[n(164)]=X}var fe,pe=z&H^~z&V,me=N&W^~N&j,ve=D&M^D&F^M&F,ye=P&U^P&R^U&R,ge=(D>>>28|P<<4)^(D<<30|P>>>2)^(D<<25|P>>>7),_e=(P>>>28|D<<4)^(P<<30|D>>>2)^(P<<25|D>>>7),be=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),we=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),Se=u[q],Ie=Se[n(153)],Ae=Se[n(164)],ke=$+be+((fe=G+we)>>>0>>0?1:0),Ee=_e+ye;$=V,G=j,V=H,j=W,H=z,W=N,z=L+(ke=(ke=(ke=ke+pe+((fe+=me)>>>0>>0?1:0))+Ie+((fe+=Ae)>>>0>>0?1:0))+K+((fe+=X)>>>0>>0?1:0))+((N=O+fe|0)>>>0>>0?1:0)|0,L=F,O=R,F=M,R=U,M=D,U=P,D=ke+(ge+ve+(Ee>>>0<_e>>>0?1:0))+((P=fe+Ee|0)>>>0>>0?1:0)|0}v=s[n(164)]=v+P,s[n(153)]=m+D+(v>>>0

      >>0?1:0),g=a.low=g+U,a[n(153)]=y+M+(g>>>0>>0?1:0),b=o[n(164)]=b+R,o[n(153)]=_+F+(b>>>0>>0?1:0),S=c[n(164)]=S+O,c[n(153)]=w+L+(S>>>0>>0?1:0),A=d[n(164)]=A+N,d[n(153)]=I+z+(A>>>0>>0?1:0),E=h[n(164)]=E+W,h[n(153)]=k+H+(E>>>0>>0?1:0),x=f[n(164)]=x+j,f[n(153)]=C+V+(x>>>0>>0?1:0),B=p[n(164)]=B+G,p.high=T+$+(B>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this[e(141)],n=r[e(142)],i=8*this[e(169)],s=8*r[e(150)];return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(154)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(150)]=4*n[e(165)],this[e(144)](),this[e(136)][e(160)]()},clone:function(){var e=t,r=n[e(156)][e(146)](this);return r._hash=this[e(136)].clone(),r},blockSize:32});r[t(149)]=n[t(147)](d),r[t(137)]=n[t(167)](d)}(),e.SHA512},(i=es)(161)==i(161)?e[i(168)]=n(Ci):"undefined"===i(135)&&(void 0)[i(139)]?(void 0)(["./core",i(129)],n):n(r[i(152)])}));var rs=is;function ns(){var e=["952226XadEAw","_doFinalize","CryptoJS","extend","WordArray","_hash","8OxIFLQ","exports","init","6366ZCVavm","2799684NGLVmy","4778136mdpecN","SHA384","637560QxwTWS","function","2082380jxHJfq","_createHelper","SHA512","object","./x64-core","HmacSHA384","13502385FHMwFT","1505zKUkty","algo","Word","createCommonjsModule"];return(ns=function(){return e})()}function is(e,t){var r=ns();return(is=function(e,t){return r[e-=211]})(e,t)}!function(e,t){for(var r=is,n=e();;)try{if(766814===parseInt(r(226))/1+-parseInt(r(215))/2+parseInt(r(236))/3+parseInt(r(211))/4+-parseInt(r(222))/5*(-parseInt(r(235))/6)+-parseInt(r(213))/7+parseInt(r(232))/8*(-parseInt(r(221))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ns);rt[rs(225)]((function(e,t){var r,n,i;r=et,n=function(e){var t,r,n,i,s,a,o,c,u=is;return t=is,n=(r=e).x64,i=n[t(224)],s=n[t(230)],a=r[t(223)],o=a[t(217)],c=a[t(212)]=o[t(229)]({_doReset:function(){var e=t;this[e(231)]=new s.init([new(i[e(234)])(3418070365,3238371032),new(i[e(234)])(1654270250,914150663),new i.init(2438529370,812702999),new(i[e(234)])(355462360,4144912697),new(i[e(234)])(1731405415,4290775857),new(i[e(234)])(2394180231,1750603025),new(i[e(234)])(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var e=o[t(227)].call(this);return e.sigBytes-=16,e}}),r[t(212)]=o[t(216)](c),r[t(220)]=o._createHmacHelper(c),e[u(212)]},"object"===(i=is)(218)?e[i(233)]=n(Ci):"undefined"===i(214)&&(void 0).amd?(void 0)(["./core",i(219),"./sha512"],n):n(r[i(228)])}));var ss=os;function as(){var e=["high","Word","36ppGtsE","5003970munrcw","1370210opkQxa","_data","length","exports","slice","SHA3","HmacSHA3","_createHelper","_nDataBytes","WordArray","push","3698496PNKozr","object","commonjsGlobal","clone","createCommonjsModule","172815ANUVQp","_state","function","extend","amd","create","algo","_process","low","x64","7XCULLN","40367uVXqoO","Hasher","blockSize","cfg","outputLength","ceil","sigBytes","4892816uTxHQU","init","150890elbPhz","_createHmacHelper","words","./x64-core","./core","44CdVryJ","121VkJBjB","lib"];return(as=function(){return e})()}!function(e,t){for(var r=os,n=e();;)try{if(450117===-parseInt(r(292))/1*(-parseInt(r(306))/2)+-parseInt(r(281))/3*(parseInt(r(311))/4)+-parseInt(r(313))/5+-parseInt(r(312))/6+parseInt(r(291))/7*(parseInt(r(299))/8)+parseInt(r(276))/9+-parseInt(r(301))/10*(-parseInt(r(307))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(as);rt[ss(280)]((function(e,t){var r,n,i,s=ss;r=rt[s(278)],n=function(e){var t=s;return function(t){var r=os,n=e,i=n[r(308)],s=i[r(322)],a=i[r(293)],o=n[r(290)][r(310)],c=n[r(287)],u=[],l=[],d=[];!function(){for(var e=1,t=0,r=0;r<24;r++){u[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,s=0;s<24;s++){for(var a=0,c=0,h=0;h<7;h++){if(1&i){var f=(1<>>24)|4278255360&(o<<24|o>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(B=i[a])[n(309)]^=c,B[n(289)]^=o}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,y=0;y<5;y++)m^=(B=i[p+5*y]).high,v^=B[n(289)];var g=h[p];g.high=m,g.low=v}for(p=0;p<5;p++){var _=h[(p+4)%5],b=h[(p+1)%5],w=b[n(309)],S=b.low;for(m=_[n(309)]^(w<<1|S>>>31),v=_.low^(S<<1|w>>>31),y=0;y<5;y++)(B=i[p+5*y])[n(309)]^=m,B.low^=v}for(var I=1;I<25;I++){var A=(B=i[I])[n(309)],k=B.low,E=u[I];E<32?(m=A<>>32-E,v=k<>>32-E):(m=k<>>64-E,v=A<>>64-E);var C=h[l[I]];C[n(309)]=m,C[n(289)]=v}var x=h[0],T=i[0];for(x[n(309)]=T.high,x.low=T[n(289)],p=0;p<5;p++)for(y=0;y<5;y++){var B=i[I=p+5*y],D=h[I],P=h[(p+1)%5+5*y],M=h[(p+2)%5+5*y];B[n(309)]=D[n(309)]^~P[n(309)]&M[n(309)],B.low=D[n(289)]^~P[n(289)]&M[n(289)]}B=i[0];var U=d[f];B[n(309)]^=U[n(309)],B[n(289)]^=U[n(289)]}},_doFinalize:function(){var e=r,n=this[e(314)],i=n[e(303)];this[e(321)];var a=8*n.sigBytes,o=32*this.blockSize;i[a>>>5]|=1<<24-a%32,i[(t[e(297)]((a+1)/o)*o>>>5)-1]|=128,n[e(298)]=4*i[e(315)],this[e(288)]();for(var c=this[e(282)],u=this[e(295)][e(296)]/8,l=u/8,d=[],h=0;h>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d.push(m),d[e(323)](p)}return new s.init(d,u)},clone:function(){for(var e=r,t=a[e(279)].call(this),n=t._state=this[e(282)][e(317)](0),i=0;i<25;i++)n[i]=n[i][e(279)]();return t}});n[r(318)]=a[r(320)](f),n[r(319)]=a[r(302)](f)}(Math),e[t(318)]},"object"===(i=os)(277)?e[i(316)]=n(Ci):"undefined"===i(283)&&(void 0)[i(285)]?(void 0)([i(305),i(304)],n):n(r.CryptoJS)}));function os(e,t){var r=as();return(os=function(e,t){return r[e-=276]})(e,t)}var cs=ls;function us(){var e=["_data","HmacRIPEMD160","_nDataBytes","createCommonjsModule","sigBytes","amd","CryptoJS","28984xTHGxm","3896586vyYomf","algo","3004662CQmVsG","function","Hasher","1131236iVZtRv","create","RIPEMD160","7315910cSpoZo","commonjsGlobal","exports","clone","514791CnVnAJ","length","lib","extend","_process","object","19632949rpaOJV","_createHelper","words","./core","_hash"];return(us=function(){return e})()}!function(e,t){for(var r=ls,n=e();;)try{if(820540===-parseInt(r(437))/1+-parseInt(r(434))/2+-parseInt(r(413))/3+parseInt(r(431))/4+parseInt(r(409))/5+-parseInt(r(432))/6+parseInt(r(419))/7)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(us);rt[cs(427)]((function(e,t){var r,n,i,s=cs;r=rt[s(410)],n=function(e){var t=s;return function(t){var r=ls,n=e,i=n[r(415)],s=i.WordArray,a=i[r(436)],o=n[r(433)],c=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s[r(438)]([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s[r(438)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s[r(438)]([0,1518500249,1859775393,2400959708,2840853838]),f=s[r(438)]([1352829926,1548603684,1836072691,2053994217,0]),p=o[r(408)]=a[r(416)]({_doReset:function(){this[r(423)]=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o,p,w,S,I,A,k,E,C,x,T,B=this[n(423)][n(421)],D=h.words,P=f[n(421)],M=c[n(421)],U=u[n(421)],F=l[n(421)],R=d[n(421)];for(A=o=B[0],k=p=B[1],E=w=B[2],C=S=B[3],x=I=B[4],i=0;i<80;i+=1)T=o+e[t+M[i]]|0,T+=i<16?m(p,w,S)+D[0]:i<32?v(p,w,S)+D[1]:i<48?y(p,w,S)+D[2]:i<64?g(p,w,S)+D[3]:_(p,w,S)+D[4],T=(T=b(T|=0,F[i]))+I|0,o=I,I=S,S=b(w,10),w=p,p=T,T=A+e[t+U[i]]|0,T+=i<16?_(k,E,C)+P[0]:i<32?g(k,E,C)+P[1]:i<48?y(k,E,C)+P[2]:i<64?v(k,E,C)+P[3]:m(k,E,C)+P[4],T=(T=b(T|=0,R[i]))+x|0,A=x,x=C,C=b(E,10),E=k,k=T;T=B[1]+w+C|0,B[1]=B[2]+S+x|0,B[2]=B[3]+I+A|0,B[3]=B[4]+o+k|0,B[4]=B[0]+p+E|0,B[0]=T},_doFinalize:function(){var e=r,t=this[e(424)],n=t[e(421)],i=8*this[e(426)],s=8*t[e(428)];n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[e(428)]=4*(n[e(414)]+1),this[e(417)]();for(var a=this[e(423)],o=a[e(421)],c=0;c<5;c++){var u=o[c];o[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=r,t=a[e(412)].call(this);return t[e(423)]=this[e(423)][e(412)](),t}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function y(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}n[r(408)]=a[r(420)](p),n[r(425)]=a._createHmacHelper(p)}(),e[t(408)]},"object"===(i=ls)(418)?e[i(411)]=n(Ci):"undefined"===i(435)&&(void 0)[i(429)]?(void 0)([i(422)],n):n(r[i(430)])}));function ls(e,t){var r=us();return(ls=function(e,t){return r[e-=408]})(e,t)}function ds(){var e=["_oKey","108QyWRkl","parse","clamp","update","3156024jZhhka","exports","blockSize","4PxWvIq","3SNQJdy","lib","finalize","algo","clone","181363xdFPYK","reset","4789610QGftuk","598385kWCnQU","amd","function","HMAC","943994ULwsrn","./core","init","commonjsGlobal","224171qCzpMh","words","_hasher","concat","enc","object","CryptoJS","string","_iKey","Base","6187725HPofrK"];return(ds=function(){return e})()}function hs(e,t){var r=ds();return(hs=function(e,t){return r[e-=333]})(e,t)}!function(e,t){for(var r=hs,n=e();;)try{if(408572===-parseInt(r(351))/1+-parseInt(r(347))/2*(-parseInt(r(335))/3)+parseInt(r(334))/4*(-parseInt(r(343))/5)+parseInt(r(363))/6*(parseInt(r(340))/7)+-parseInt(r(367))/8+parseInt(r(361))/9+-parseInt(r(342))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ds);tt((function(e,t){var r,n,i;r=rt[hs(350)],n=function(e){var t,r,n,i;n=(r=e)[(t=hs)(336)][t(360)],i=r[t(355)].Utf8,r[t(338)][t(346)]=n.extend({init:function(e,r){var n=t;e=this[n(353)]=new(e[n(349)]),typeof r==n(358)&&(r=i[n(364)](r));var s=e[n(333)],a=4*s;r.sigBytes>a&&(r=e[n(337)](r)),r[n(365)]();for(var o=this[n(362)]=r[n(339)](),c=this[n(359)]=r.clone(),u=o[n(352)],l=c[n(352)],d=0;d>>2];e[t(515)]-=r}};s[n(465)]=h[n(528)]({cfg:h.cfg[n(528)]({mode:m,padding:v}),reset:function(){var e,t=n;h[t(475)][t(496)](this);var r=this[t(469)],i=r.iv,s=r[t(500)];this[t(514)]==this[t(542)]?e=s[t(507)]:(e=s.createDecryptor,this._minBufferSize=1),this._mode&&this[t(519)].__creator==e?this._mode[t(546)](this,i&&i[t(485)]):(this[t(519)]=e.call(s,this,i&&i[t(485)]),this[t(519)][t(505)]=e)},_doProcessBlock:function(e,t){var r=n;this._mode[r(547)](e,t)},_doFinalize:function(){var e,t=n,r=this.cfg[t(516)];return this[t(514)]==this[t(542)]?(r.pad(this._data,this.blockSize),e=this[t(537)](!!t(486))):(e=this._process(!!t(486)),r[t(524)](e)),e},blockSize:4});var y=s[n(464)]=a[n(528)]({init:function(e){this[n(467)](e)},toString:function(e){var t=n;return(e||this.formatter)[t(512)](this)}}),g=(i[n(468)]={})[n(536)]={stringify:function(e){var t=n,r=e[t(525)],i=e.salt;return(i?o[t(498)]([1398893684,1701076831]).concat(i).concat(r):r)[t(520)](l)},parse:function(e){var t,r=n,i=l.parse(e),s=i.words;return 1398893684==s[0]&&1701076831==s[1]&&(t=o[r(498)](s[r(488)](2,4)),s[r(504)](0,4),i[r(515)]-=16),y[r(498)]({ciphertext:i,salt:t})}},_=s.SerializableCipher=a.extend({cfg:a[n(528)]({format:g}),encrypt:function(e,t,r,i){var s=n;i=this.cfg[s(528)](i);var a=e.createEncryptor(r,i),o=a[s(499)](t),c=a[s(469)];return y[s(498)]({ciphertext:o,key:r,iv:c.iv,algorithm:e,mode:c[s(500)],padding:c[s(516)],blockSize:e[s(495)],formatter:i[s(468)]})},decrypt:function(e,t,r,i){var s=n;return i=this[s(469)].extend(i),t=this._parse(t,i[s(468)]),e[s(533)](r,i)[s(499)](t[s(525)])},_parse:function(e,t){var r=n;return typeof e==r(544)?t[r(517)](e,this):e}}),b=(i.kdf={})[n(536)]={execute:function(e,t,r,i,s){var a=n;if(!i&&(i=o[a(513)](8)),s)c=d[a(498)]({keySize:t+r,hasher:s})[a(545)](e,i);else var c=d[a(498)]({keySize:t+r})[a(545)](e,i);var u=o[a(498)](c.words[a(488)](t),4*r);return c.sigBytes=4*t,y[a(498)]({key:c,iv:u,salt:i})}},w=s.PasswordBasedCipher=_.extend({cfg:_.cfg[n(528)]({kdf:b}),encrypt:function(e,t,r,i){var s=n,a=(i=this[s(469)][s(528)](i)).kdf.execute(r,e[s(538)],e.ivSize,i[s(503)],i[s(484)]);i.iv=a.iv;var o=_[s(480)][s(496)](this,e,t,a[s(483)],i);return o[s(467)](a),o},decrypt:function(e,t,r,i){var s=n;i=this[s(469)].extend(i),t=this[s(532)](t,i[s(468)]);var a=i.kdf.execute(r,e[s(538)],e[s(466)],t[s(503)],i.hasher);return i.iv=a.iv,_.decrypt[s(496)](this,e,t,a[s(483)],i)}})}()},(i=_s)(494)==i(494)?e[i(534)]=n(Ci):"undefined"===i(473)&&(void 0).amd?(void 0)(["./core",i(543)],n):n(r[i(493)])}));function bs(){var e=["key","hasher","words","flush","9dWrJOi","slice","StreamCipher","35uzdfIA","_key","_doReset","CryptoJS","object","blockSize","call","_cipher","create","finalize","mode","commonjsGlobal","2mkMJEQ","salt","splice","__creator","_DEC_XFORM_MODE","createEncryptor","algo","Pkcs7","encryptBlock","1127556kiIQPW","stringify","random","_xformMode","sigBytes","padding","parse","decryptBlock","_mode","toString","push","concat","1141070kpyLXp","unpad","ciphertext","Decryptor","Cipher","extend","BlockCipherMode","_prevBlock","_doFinalize","_parse","createDecryptor","exports","_append","OpenSSL","_process","keySize","357531NXAsGG","pad","CBC","_ENC_XFORM_MODE","./evpkdf","string","compute","init","processBlock","Base64","CipherParams","BlockCipher","ivSize","mixIn","format","cfg","5439696FKFxxv","739392odblIl","BufferedBlockAlgorithm","function","WordArray","reset","15pjUKGs","4489416PLDAGP","4846149UcQeLX","EvpKDF","encrypt","_iv","Encryptor"];return(bs=function(){return e})()}var ws=Is;!function(e,t){for(var r=Is,n=e();;)try{if(770771===parseInt(r(379))/1+-parseInt(r(401))/2+-parseInt(r(380))/3*(-parseInt(r(396))/4)+-parseInt(r(384))/5+-parseInt(r(403))/6+parseInt(r(377))/7+parseInt(r(402))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ss);rt[ws(387)]((function(e,t){var r,n,i,s=ws;r=rt[s(398)],n=function(e){var t=s;return e[t(392)][t(399)]=function(){var r=t,n=e[r(382)][r(385)][r(394)]();function i(e,t,n,i){var s,a=r,o=this[a(378)];o?(s=o.slice(0),this._iv=void 0):s=this[a(383)],i.encryptBlock(s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var s=n[r(134)]=n.extend({processBlock:function(e,t){var n,s=r,a=this[s(130)],o=a[s(133)],c=this._iv,u=this[s(131)];c&&(u=this[s(131)]=c[s(142)](0),this[s(146)]=void 0),0===((n=u)[0]=i(n[0]))&&(n[1]=i(n[1]));var l=u.slice(0);a[s(129)](l,0);for(var d=0;d>>2]|=a<<24-o%4*8,e[n(321)]+=a},unpad:function(e){var r=t,n=255&e[r(344)][e[r(321)]-1>>>2];e.sigBytes-=n}},e[t(342)][t(322)]},"object"===(i=Rs)(332)?e[i(335)]=n(Ci):"undefined"===i(340)&&(void 0)[i(325)]?(void 0)([i(339),i(334)],n):n(r[i(338)])}));function Rs(e,t){var r=Ls();return(Rs=function(e,t){return r[e-=321]})(e,t)}function Ls(){var e=["21CDcEjP","28984545DjyDMV","object","commonjsGlobal","./cipher-core","exports","3827117SUiQzo","5bhqCoH","CryptoJS","./core","function","1875228oFaKrJ","pad","AnsiX923","words","sigBytes","Ansix923","5697816PqRIZG","484219rVEUBN","amd","createCommonjsModule","3212416dSKvLw","193994ynRqzj","clamp"];return(Ls=function(){return e})()}var Os=zs;function zs(e,t){var r=Ns();return(zs=function(e,t){return r[e-=446]})(e,t)}!function(e,t){for(var r=zs,n=e();;)try{if(176069===-parseInt(r(463))/1*(-parseInt(r(455))/2)+parseInt(r(452))/3+-parseInt(r(459))/4+-parseInt(r(462))/5+-parseInt(r(446))/6+parseInt(r(454))/7*(parseInt(r(456))/8)+parseInt(r(460))/9*(parseInt(r(465))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ns);rt[Os(451)]((function(e,t){var r,n,i,s=Os;r=rt[s(453)],n=function(e){var t=s;return e.pad[t(467)]={pad:function(r,n){var i=t,s=4*n,a=s-r.sigBytes%s;r[i(449)](e[i(469)][i(450)].random(a-1)).concat(e[i(469)][i(450)][i(464)]([a<<24],1))},unpad:function(e){var r=t,n=255&e[r(447)][e[r(466)]-1>>>2];e[r(466)]-=n}},e[t(461)].Iso10126},(i=zs)(468)==i(468)?e[i(470)]=n(Ci):"undefined"===i(471)&&(void 0)[i(457)]?(void 0)([i(448),"./cipher-core"],n):n(r[i(458)])}));function Ns(){var e=["2084292kqeLCm","words","./core","concat","WordArray","createCommonjsModule","231141iWtiwn","commonjsGlobal","322259lVjinP","22zSFToP","16oLwZfo","amd","CryptoJS","1054068KgywAE","4464LJzrSd","pad","54270pSRThm","24599hOTzXR","create","7220CJJfQT","sigBytes","Iso10126","object","lib","exports","function"];return(Ns=function(){return e})()}var Hs=Vs;function Ws(){var e=["./cipher-core","pad","object","12591IHyXbw","./core","493115ziPpTe","sigBytes","WordArray","concat","135344ohYLao","exports","CryptoJS","1530050uLiOAX","commonjsGlobal","lib","ZeroPadding","createCommonjsModule","amd","6584FWsBJE","unpad","983661MidhiQ","957072cNukyn","function","3584DuVlKa","create","2292bfkQVR","Iso97971"];return(Ws=function(){return e})()}function Vs(e,t){var r=Ws();return(Vs=function(e,t){return r[e-=244]})(e,t)}!function(e,t){for(var r=Vs,n=e();;)try{if(269205===-parseInt(r(268))/1+parseInt(r(245))/2+-parseInt(r(256))/3+-parseInt(r(257))/4+parseInt(r(248))/5+-parseInt(r(261))/6*(parseInt(r(259))/7)+-parseInt(r(254))/8*(-parseInt(r(266))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ws);rt[Hs(252)]((function(e,t){var r,n,i,s=Hs;r=rt[s(249)],n=function(e){var t=s;return e[t(264)][t(262)]={pad:function(r,n){var i=t;r[i(244)](e[i(250)][i(270)][i(260)]([2147483648],1)),e[i(264)][i(251)][i(264)](r,n)},unpad:function(r){var n=t;e.pad.ZeroPadding[n(255)](r),r[n(269)]--}},e[t(264)][t(262)]},(i=Vs)(265)==i(265)?e[i(246)]=n(Ci):"undefined"===i(258)&&(void 0)[i(253)]?(void 0)([i(267),i(263)],n):n(r[i(247)])}));var js=Gs;function $s(){var e=["401044fiDNRG","amd","1166460cFKgGl","CryptoJS","pad","words","sigBytes","344rcUVAW","133550bCafCn","6014250FnoAQg","1793418UMVHvC","commonjsGlobal","1179093ruiINz","./core","object","539thWdie","ZeroPadding","exports","1ovWjCH","createCommonjsModule","./cipher-core"];return($s=function(){return e})()}!function(e,t){for(var r=Gs,n=e();;)try{if(240220===parseInt(r(128))/1*(-parseInt(r(110))/2)+parseInt(r(122))/3+-parseInt(r(112))/4+-parseInt(r(118))/5+-parseInt(r(120))/6+-parseInt(r(125))/7*(parseInt(r(117))/8)+parseInt(r(119))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($s);rt[js(129)]((function(e,t){var r,n,i,s=js;r=rt[s(121)],n=function(e){var t=s;return e[t(114)].ZeroPadding={pad:function(e,r){var n=t,i=4*r;e.clamp(),e[n(116)]+=i-(e[n(116)]%i||i)},unpad:function(e){var r=t,n=e[r(115)],i=e[r(116)]-1;for(i=e.sigBytes-1;i>=0;i--)if(n[i>>>2]>>>24-i%4*8&255){e[r(116)]=i+1;break}}},e.pad[t(126)]},"object"===(i=Gs)(124)?e[i(127)]=n(Ci):n(r[i(113)])}));function Gs(e,t){var r=$s();return(Gs=function(e,t){return r[e-=109]})(e,t)}var qs=Xs;function Xs(e,t){var r=Ks();return(Xs=function(e,t){return r[e-=163]})(e,t)}function Ks(){var e=["function","13735960XXVqMH","10scYjrP","./core","./cipher-core","createCommonjsModule","4655196UjcHuc","pad","object","exports","1101035KyqeIZ","931916TqWERT","3209838gNxgFl","929636cPLPFK","CryptoJS","NoPadding","960384gjhzyn"];return(Ks=function(){return e})()}!function(e,t){for(var r=Xs,n=e();;)try{if(666863===-parseInt(r(166))/1+parseInt(r(167))/2+parseInt(r(172))/3+-parseInt(r(169))/4*(-parseInt(r(175))/5)+-parseInt(r(168))/6+-parseInt(r(179))/7+parseInt(r(174))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ks);rt[qs(178)]((function(e,t){var r,n,i;r=et,n=function(e){var t=Xs;return e[t(163)][t(171)]={pad:function(){},unpad:function(){}},e.pad[t(171)]},(i=Xs)(164)==i(164)?e[i(165)]=n(Ci):"undefined"===i(173)&&(void 0).amd?(void 0)([i(176),i(177)],n):n(r[i(170)])}));function Ys(e,t){var r=Qs();return(Ys=function(e,t){return r[e-=121]})(e,t)}var Js=Ys;!function(e,t){for(var r=Ys,n=e();;)try{if(478832===parseInt(r(133))/1+parseInt(r(145))/2*(-parseInt(r(144))/3)+-parseInt(r(123))/4*(parseInt(r(125))/5)+parseInt(r(124))/6+parseInt(r(139))/7+-parseInt(r(129))/8+parseInt(r(134))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qs);rt[Js(121)]((function(e,t){var r,n,i,s=Js;r=rt[s(132)],n=function(e){var t,r,n,i,a=s;return n=(r=e)[(t=Ys)(142)][t(137)],i=r[t(143)].Hex,r[t(138)].Hex={stringify:function(e){var r=t;return e[r(136)][r(122)](i)},parse:function(e){var r=t,s=i[r(141)](e);return n[r(127)]({ciphertext:s})}},e[a(138)].Hex},"object"===(i=Ys)(135)?e.exports=n(Ci):"undefined"===i(126)&&(void 0)[i(140)]?(void 0)([i(130),i(128)],n):n(r[i(131)])}));function Qs(){var e=["CryptoJS","commonjsGlobal","32866KSOUNA","9214182ranolX","object","ciphertext","CipherParams","format","4665325pavIcq","amd","parse","lib","enc","433821VXZPfS","2TkRBnY","createCommonjsModule","toString","460684EsvdHw","1101528XNTcsW","30OMGTow","function","create","./cipher-core","4738096vzmpcp","./core"];return(Qs=function(){return e})()}var Zs=ta;function ea(){var e=["AES","_doCryptBlock","BlockCipher","63ZFIYIq","_invKeySchedule","30TjjTHt","6334834QPxcpU","extend","function","2hTSMBt","2994520oleSxH","./core","_keyPriorReset","_keySchedule","5613POARww","commonjsGlobal","_nRounds","836sknEAA","lib","167124QvKhQT","sigBytes","CryptoJS","./md5","1603405NDCkBt","exports","2938uzttvg","./enc-base64","createCommonjsModule","amd","_key","1703115SHCOnj","_createHelper","./cipher-core"];return(ea=function(){return e})()}!function(e,t){for(var r=ta,n=e();;)try{if(204664===-parseInt(r(198))/1*(-parseInt(r(181))/2)+-parseInt(r(170))/3*(parseInt(r(173))/4)+-parseInt(r(179))/5+-parseInt(r(175))/6*(parseInt(r(192))/7)+-parseInt(r(199))/8+-parseInt(r(186))/9+-parseInt(r(194))/10*(-parseInt(r(195))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ea);rt[Zs(183)]((function(e,t){var r,n,i=Zs;rt[i(171)],e[ta(180)]=(r=Ci,n=i,function(){var e=ta,t=r,n=t[e(174)][e(191)],i=t.algo,s=[],a=[],o=[],c=[],u=[],l=[],d=[],h=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,a[i]=r;var m=e[r],v=e[m],y=e[v],g=257*e[i]^16843008*i;o[r]=g<<24|g>>>8,c[r]=g<<16|g>>>16,u[r]=g<<8|g>>>24,l[r]=g,g=16843009*y^65537*v^257*m^16843008*r,d[i]=g<<24|g>>>8,h[i]=g<<16|g>>>16,f[i]=g<<8|g>>>24,p[i]=g,r?(r=m^e[e[e[y^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i.AES=n[e(196)]({_doReset:function(){var t=e;if(!this[t(172)]||this._keyPriorReset!==this[t(185)]){for(var r=this[t(168)]=this._key,n=r.words,i=r[t(176)]/4,a=4*((this[t(172)]=i+6)+1),o=this[t(169)]=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),o[c]=o[c-i]^v);for(var u=this[t(193)]=[],l=0;l>>24]]^h[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(t,r){var n=e;this[n(190)](t,r,this[n(169)],o,c,u,l,s)},decryptBlock:function(t,r){var n=e,i=t[r+1];t[r+1]=t[r+3],t[r+3]=i,this._doCryptBlock(t,r,this[n(193)],d,h,f,p,a),i=t[r+1],t[r+1]=t[r+3],t[r+3]=i},_doCryptBlock:function(t,r,n,i,s,a,o,c){for(var u=this[e(172)],l=t[r]^n[0],d=t[r+1]^n[1],h=t[r+2]^n[2],f=t[r+3]^n[3],p=4,m=1;m>>24]^s[d>>>16&255]^a[h>>>8&255]^o[255&f]^n[p++],y=i[d>>>24]^s[h>>>16&255]^a[f>>>8&255]^o[255&l]^n[p++],g=i[h>>>24]^s[f>>>16&255]^a[l>>>8&255]^o[255&d]^n[p++],_=i[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^o[255&h]^n[p++];l=v,d=y,h=g,f=_}v=(c[l>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&f])^n[p++],y=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[f>>>8&255]<<8|c[255&l])^n[p++],g=(c[h>>>24]<<24|c[f>>>16&255]<<16|c[l>>>8&255]<<8|c[255&d])^n[p++],_=(c[f>>>24]<<24|c[l>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^n[p++],t[r]=v,t[r+1]=y,t[r+2]=g,t[r+3]=_},keySize:8});t[e(189)]=n[e(187)](v)}(),r[n(189)])}));function ta(e,t){var r=ea();return(ta=function(e,t){return r[e-=167]})(e,t)}function ra(){var e=["1366360yMHAOU","_des2","DES","251308rrArPA","_createHelper","extend","227368xKZLxe","5454005mymuJj","commonjsGlobal","createEncryptor","algo","TripleDES","CryptoJS","decryptBlock","7545888vHpNsC","slice","_invSubKeys","3814836vwHzrY","_des1","9uIjpQe","./enc-base64","amd","4bElBZd","./md5","_key","./evpkdf","create","15IMgBJb","function","object","length","encryptBlock","203192yyZXSR","_lBlock","_subKeys","70wkIcJp","call","_rBlock","_doCryptBlock","_des3","words","./core"];return(ra=function(){return e})()}!function(e,t){for(var r=na,n=e();;)try{if(547820===parseInt(r(498))/1+-parseInt(r(495))/2*(parseInt(r(519))/3)+parseInt(r(514))/4*(parseInt(r(499))/5)+parseInt(r(509))/6+-parseInt(r(506))/7+-parseInt(r(492))/8*(-parseInt(r(511))/9)+-parseInt(r(485))/10*(-parseInt(r(482))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ra);tt((function(e,t){var r,n,i,s=na;r=rt[s(500)],n=function(e){var t=s;return function(){var t=na,r=e,n=r.lib,i=n.WordArray,s=n.BlockCipher,a=r[t(502)],o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=a.DES=s[t(497)]({_doReset:function(){for(var e=t,r=this._key[e(490)],n=[],i=0;i<56;i++){var s=o[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var a=this._subKeys=[],l=0;l<16;l++){var d=a[l]=[],h=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var f=this[e(508)]=[];for(i=0;i<16;i++)f[i]=a[15-i]},encryptBlock:function(e,r){var n=t;this[n(488)](e,r,this[n(484)])},decryptBlock:function(e,r){var n=t;this[n(488)](e,r,this[n(508)])},_doCryptBlock:function(e,r,n){var i=t;this._lBlock=e[r],this[i(487)]=e[r+1],f[i(486)](this,4,252645135),f[i(486)](this,16,65535),p[i(486)](this,2,858993459),p[i(486)](this,8,16711935),f.call(this,1,1431655765);for(var s=0;s<16;s++){for(var a=n[s],o=this[i(483)],c=this[i(487)],u=0,h=0;h<8;h++)u|=l[h][((c^a[h])&d[h])>>>0];this[i(483)]=c,this[i(487)]=o^u}var m=this[i(483)];this._lBlock=this[i(487)],this[i(487)]=m,f[i(486)](this,1,1431655765),p[i(486)](this,8,16711935),p[i(486)](this,2,858993459),f[i(486)](this,16,65535),f[i(486)](this,4,252645135),e[r]=this[i(483)],e[r+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,r){var n=t,i=(this[n(483)]>>>e^this[n(487)])&r;this._rBlock^=i,this[n(483)]^=i<>>e^this._lBlock)&r;this[n(483)]^=i,this._rBlock^=i<192.");var n=r[e(507)](0,2),s=r[e(480)]<4?r[e(507)](0,2):r[e(507)](2,4),a=r[e(480)]<6?r.slice(0,2):r.slice(4,6);this[e(510)]=h[e(501)](i.create(n)),this[e(493)]=h[e(501)](i[e(518)](s)),this[e(489)]=h.createEncryptor(i[e(518)](a))},encryptBlock:function(e,r){var n=t;this[n(510)].encryptBlock(e,r),this._des2[n(505)](e,r),this[n(489)][n(481)](e,r)},decryptBlock:function(e,r){var n=t;this[n(489)][n(505)](e,r),this[n(493)][n(481)](e,r),this[n(510)][n(505)](e,r)},keySize:6,ivSize:2,blockSize:2});r.TripleDES=s[t(496)](m)}(),e[t(503)]},"object"===(i=na)(521)?e.exports=n(Ci):"undefined"===i(520)&&(void 0)[i(513)]?(void 0)([i(491),i(512),i(515),i(517),"./cipher-core"],n):n(r[i(504)])}));function na(e,t){var r=ra();return(na=function(e,t){return r[e-=480]})(e,t)}var ia=aa;function sa(){var e=["RC4Drop","./evpkdf","./core","commonjsGlobal","5546016WPiBWk","6336LeMLTU","_key","amd","RC4","call","createCommonjsModule","./cipher-core","40957RugBpG","2097909DrMBHb","_createHelper","exports","drop","function","CryptoJS","extend","311425JFUUkY","./md5","cfg","879078ntwdMT","138UQnfsj","1156096BnOfuL","2XXvIBK","64GfVvxB","_doReset","sigBytes","./enc-base64","10740MIvWKD","words"];return(sa=function(){return e})()}function aa(e,t){var r=sa();return(aa=function(e,t){return r[e-=121]})(e,t)}!function(e,t){for(var r=aa,n=e();;)try{if(894864===parseInt(r(147))/1+-parseInt(r(148))/2*(-parseInt(r(145))/3)+parseInt(r(149))/4*(-parseInt(r(142))/5)+-parseInt(r(146))/6*(-parseInt(r(134))/7)+parseInt(r(126))/8+parseInt(r(135))/9+parseInt(r(153))/10*(-parseInt(r(127))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(sa);rt[ia(132)]((function(e,t){var r;rt[ia(125)],e[aa(137)]=(r=Ci,function(){var e=aa,t=r,n=t.lib.StreamCipher,i=t.algo,s=i[e(130)]=n[e(141)]({_doReset:function(){for(var t=e,r=this[t(128)],n=r[t(121)],i=r[t(151)],s=this._S=[],a=0;a<256;a++)s[a]=a;a=0;for(var o=0;a<256;a++){var c=a%i,u=n[c>>>2]>>>24-c%4*8&255;o=(o+s[a]+u)%256;var l=s[a];s[a]=s[o],s[o]=l}this._i=this._j=0},_doProcessBlock:function(t,r){var n=e;t[r]^=a[n(131)](this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}t[e(130)]=n[e(136)](s);var o=i[e(122)]=s.extend({cfg:s[e(144)][e(141)]({drop:192}),_doReset:function(){var t=e;s[t(150)][t(131)](this);for(var r=this.cfg[t(138)];r>0;r--)a[t(131)](this)}});t.RC4Drop=n._createHelper(o)}(),r.RC4)}));function oa(){var e=["CryptoJS","words","663030BrKWiK","41043893xaNKZw","./core","cfg","5GnkDip","3987wptnxj","lib","12DYpDYd","12iTnujP","exports","150pFsldG","69878TnWekm","./md5","call","amd","4636672AlwNyv","object","./enc-base64","extend","3151928JyTuVn","Rabbit","666PjodWA","./evpkdf","_key","algo","325934EESJNd"];return(oa=function(){return e})()}function ca(e,t){var r=oa();return(ca=function(e,t){return r[e-=301]})(e,t)}!function(e,t){for(var r=ca,n=e();;)try{if(792844===parseInt(r(315))/1+parseInt(r(325))/2*(-parseInt(r(309))/3)+-parseInt(r(323))/4*(parseInt(r(308))/5)+parseInt(r(311))/6*(-parseInt(r(301))/7)+-parseInt(r(319))/8+parseInt(r(304))/9*(-parseInt(r(314))/10)+-parseInt(r(305))/11*(-parseInt(r(312))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(oa);tt((function(e,t){var r,n,i;r=et,n=function(e){var t=ca;return function(){var t=ca,r=e,n=r[t(310)].StreamCipher,i=r[t(328)],s=[],a=[],o=[],c=i[t(324)]=n[t(322)]({_doReset:function(){for(var e=t,r=this[e(327)][e(303)],n=this[e(307)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],a=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u[e(317)](this);for(i=0;i<8;i++)a[i]^=s[i+4&7];if(n){var o=n[e(303)],c=o[0],l=o[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(a[0]^=d,a[1]^=f,a[2]^=h,a[3]^=p,a[4]^=d,a[5]^=f,a[6]^=h,a[7]^=p,i=0;i<4;i++)u[e(317)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(317)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var a=0;a<4;a++)s[a]=16711935&(s[a]<<8|s[a]>>>24)|4278255360&(s[a]<<24|s[a]>>>8),e[r+a]^=s[a]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r.Rabbit=n._createHelper(c)}(),e[t(324)]},"object"===(i=ca)(320)?e[i(313)]=n(Ci):n(r[i(302)])}));function ua(e,t){var r=la();return(ua=function(e,t){return r[e-=102]})(e,t)}!function(e,t){for(var r=ua,n=e();;)try{if(632182===-parseInt(r(132))/1*(parseInt(r(125))/2)+parseInt(r(133))/3*(-parseInt(r(128))/4)+-parseInt(r(116))/5*(-parseInt(r(111))/6)+parseInt(r(119))/7*(-parseInt(r(121))/8)+parseInt(r(126))/9*(-parseInt(r(114))/10)+parseInt(r(123))/11*(-parseInt(r(130))/12)+parseInt(r(110))/13*(parseInt(r(122))/14))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(la);tt((function(e,t){var r,n,i,s=ua;r=rt[s(108)],n=function(e){var t=s;return function(){var t=ua,r=e,n=r[t(112)][t(127)],i=r[t(124)],s=[],a=[],o=[],c=i[t(104)]=n.extend({_doReset:function(){var e=t,r=this[e(113)][e(129)],n=this[e(109)].iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var a=0;a<4;a++)u.call(this);for(a=0;a<8;a++)s[a]^=i[a+4&7];if(n){var o=n.words,c=o[0],l=o[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(s[0]^=d,s[1]^=f,s[2]^=h,s[3]^=p,s[4]^=d,s[5]^=f,s[6]^=h,s[7]^=p,a=0;a<4;a++)u.call(this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(117)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var a=0;a<4;a++)s[a]=16711935&(s[a]<<8|s[a]>>>24)|4278255360&(s[a]<<24|s[a]>>>8),e[r+a]^=s[a]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r.RabbitLegacy=n[t(131)](c)}(),e[t(104)]},(i=ua)(106)==i(106)?e[i(115)]=n(Ci):n(r[i(102)])}));function la(){var e=["198XYOgxp","lib","_key","6310GpGTEU","exports","135970ARrYVw","call","./cipher-core","1169UZLdzM","./evpkdf","57272JpzBkx","98UOsgpF","11mBFfki","algo","2272054uWOyjA","13914pJBhFr","StreamCipher","494068bRDfub","words","2288676PvznLR","_createHelper","1gsYolc","18vIYcGv","CryptoJS","amd","RabbitLegacy","./core","object","./md5","commonjsGlobal","cfg","7379749NIFECc"];return(la=function(){return e})()}const da=ha;function ha(e,t){const r=fa();return(ha=function(e,t){return r[e-=167]})(e,t)}function fa(){const e=["CryptoJS","1974680vtxNcw","words","4515066BdMvYz","Blowfish","588447apGscy","BlockCipher","left","_keyPriorReset","./enc-base64","330xlfMzu","createCommonjsModule","31409ZqSGDq","right","object","464526ixSAJI","lib","pbox","exports","algo","./cipher-core","1385445vZjpPJ","sbox","./core","_key","_createHelper","5SkSpMQ","function","./md5","635932gJRbEf","extend"];return(fa=function(){return e})()}!function(e,t){const r=ha,n=e();for(;;)try{if(336278===-parseInt(r(176))/1+parseInt(r(186))/2+-parseInt(r(192))/3+parseInt(r(169))/4*(parseInt(r(197))/5)+parseInt(r(181))/6*(parseInt(r(183))/7)+parseInt(r(172))/8+parseInt(r(174))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fa);rt[da(182)]((function(e,t){!function(t,r,n){const i=ha;"object"===i(185)?e[i(189)]=r(Ci):"undefined"===i(167)&&(void 0).amd?(void 0)([i(194),i(180),i(168),"./evpkdf",i(191)],r):r(t[i(171)])}(et,(function(e){const t=ha;return function(){const t=ha;var r=e,n=r[t(187)][t(177)],i=r[t(190)];const s=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const n=t;let i=r>>24&255,s=r>>16&255,a=r>>8&255,o=255&r,c=e[n(193)][0][i]+e[n(193)][1][s];return c^=e.sbox[2][a],c+=e.sbox[3][o],c}function l(e,r,n){const i=t;let a,o=r,c=n;for(let t=0;t=n&&(s=0);let c=0,u=0,d=0;for(let t=0;t<18;t+=2)d=l(e,c,u),c=d[i(178)],u=d.right,e.pbox[t]=c,e.pbox[t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)d=l(e,c,u),c=d.left,u=d[i(184)],e[i(193)][t][r]=c,e[i(193)][t][r+1]=u}(c,n,i)}},encryptBlock:function(e,r){const n=t;var i=l(c,e[r],e[r+1]);e[r]=i[n(178)],e[r+1]=i[n(184)]},decryptBlock:function(e,r){const n=t;var i=function(e,r,n){const i=t;let s,a=r,o=n;for(let t=17;t>1;--t)a^=e[i(188)][t],o=u(e,a)^o,s=a,a=o,o=s;return s=a,a=o,o=s,o^=e[i(188)][1],a^=e[i(188)][0],{left:a,right:o}}(c,e[r],e[r+1]);e[r]=i.left,e[r+1]=i[n(184)]},blockSize:2,keySize:4,ivSize:2});r[t(175)]=n[t(196)](d)}(),e[t(175)]}))}));var pa=va;function ma(){var e=["./pad-nopadding","CryptoJS","1685092xkvNzj","./pbkdf2","./mode-cfb","./cipher-core","./rc4","2CSMcJZ","./enc-utf16","./rabbit","./blowfish","13567680dVivXu","./format-hex","./mode-ofb","3090756mnEDNb","./enc-base64","3TLYNWX","./mode-ctr-gladman","amd","9Zubsxb","./core","./pad-iso10126","335825oyoHcj","4851455enHdJs","commonjsGlobal","./sha512","./rabbit-legacy","./hmac","./mode-ctr","./pad-iso97971","./pad-ansix923","function","object","1658810TYnHrX","./aes","./lib-typedarrays","19330Albgov","./pad-zeropadding","./evpkdf","./sha1","./tripledes","./enc-base64url","25036DzQGua","./x64-core","createCommonjsModule"];return(ma=function(){return e})()}function va(e,t){var r=ma();return(va=function(e,t){return r[e-=360]})(e,t)}function ya(e,t){const r=ga();return(ya=function(e,t){return r[e-=309]})(e,t)}function ga(){const e=["891564RLbans","6YiTVer","2870QKtADf","Counter","toString","set","1419970lHjwKQ","slice","ModeOfOperation","1043140AcAQmf","1642305oDLyYC","create","188644ZRMSQT","62500JVVjgQ","198jLbOxT","21928yByzop","includes","get","length","byteLength","catch","decrypt","ctr"];return(ga=function(){return e})()}function _a(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function ba(e,t,r){const n=ya;let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e[n(326)];let a=5;for(;as)break;let c=e[a+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(323)](c)):(c&=31,u=1===c||5===c),u){const i=e[n(314)](a+4+2,a+4+o);let s=new(Ai[n(315)].ctr)(t,new(Ai[n(310)])(r));const c=s[n(328)](i);s=null,e[n(312)](c,a+4+2)}a=a+4+o}return e}function wa(e,t,r){const n=ya;if(e[n(326)]<=30)return e;const i=e[n(314)](32);let s=new(Ai[n(315)][n(329)])(t,new(Ai[n(310)])(r));const a=s.decrypt(i);return s=null,e.set(a,32),e}!function(e,t){for(var r=va,n=e();;)try{if(909927===-parseInt(r(377))/1*(-parseInt(r(403))/2)+parseInt(r(386))/3*(parseInt(r(372))/4)+parseInt(r(393))/5+parseInt(r(384))/6+parseInt(r(392))/7+parseInt(r(381))/8*(parseInt(r(389))/9)+parseInt(r(361))/10*(-parseInt(r(367))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ma),rt[pa(369)]((function(e,t){var r,n,i;r=rt[pa(394)],n=function(e){return e},(i=va)(402)==i(402)?e.exports=Ci:"undefined"===i(401)&&(void 0)[i(388)]?(void 0)([i(390),i(368),i(360),i(378),i(385),i(366),"./md5",i(364),"./sha256","./sha224",i(395),"./sha384","./sha3","./ripemd160",i(397),i(373),i(363),i(375),i(374),i(398),i(387),i(383),"./mode-ecb",i(400),i(391),i(399),i(362),i(370),i(382),i(404),i(365),i(376),i(379),i(396),i(380)],n):r[i(371)]=r[i(371)]})),function(e,t){const r=ya,n=e();for(;;)try{if(772632===-parseInt(r(331))/1*(-parseInt(r(319))/2)+-parseInt(r(317))/3+parseInt(r(320))/4+-parseInt(r(313))/5+-parseInt(r(330))/6+-parseInt(r(309))/7*(parseInt(r(322))/8)+-parseInt(r(321))/9*(-parseInt(r(316))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ga);var Sa=ka;!function(e,t){for(var r=ka,n=e();;)try{if(593782===-parseInt(r(1359))/1*(-parseInt(r(1585))/2)+parseInt(r(785))/3*(-parseInt(r(1605))/4)+parseInt(r(1038))/5*(-parseInt(r(529))/6)+-parseInt(r(470))/7+parseInt(r(1083))/8*(-parseInt(r(1580))/9)+-parseInt(r(765))/10*(parseInt(r(1154))/11)+parseInt(r(1353))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Aa);var Ia=rt[Sa(1671)]((function(e,t){var r,n,s=Sa,a=(r=new Date,n=4,{setLogLevel:function(e){var t=ka;n=e==this[t(1127)]?1:e==this[t(576)]?2:e==this[t(811)]?3:(this.error,4)},debug:function(e,t){var i=ka;void 0===console[i(1127)]&&(console.debug=console[i(1407)]),1>=n&&console[i(1127)]("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=ka;this[r(1127)](e[r(1380)])},info:function(e,t){2>=n&&console[ka(576)]("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){var i=ka;3>=n&&console[i(811)]("["+a[i(1263)](new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}});a[s(1263)]=function(e,t){var r,n=s;function i(e,t){for(var r=ka,n=(""+e).split(".");n[0][r(1418)]0){for(var n="",i=0;i0&&(n+=","),n+="["+a[t(1263)](e[t(786)](i))+","+a[t(1263)](e[t(1170)](i))+"]";return n}return"(empty)"},s(1138)!==s(940)&&(t.Log=a);var o=function(e){var t=s;if(!(e instanceof ArrayBuffer))throw t(823);this[t(1148)]=e,this[t(953)]=new DataView(e),this[t(698)]=0};o.prototype.getPosition=function(){return this[s(698)]},o.prototype[s(1025)]=function(){return this.buffer.byteLength},o.prototype[s(1591)]=function(){var e=s;return this[e(1148)][e(544)]},o[s(669)][s(988)]=function(e){var t=s,r=Math[t(808)](0,Math[t(809)](this[t(1148)].byteLength,e));return this.position=isNaN(r)||!isFinite(r)?0:r,!0},o[s(669)].isEos=function(){var e=s;return this[e(1492)]()>=this[e(1025)]()},o.prototype[s(1690)]=function(e,t){var r=s,n=0;if(this[r(698)]+e<=this[r(1148)][r(544)]){switch(e){case 1:n=t?this[r(953)][r(1165)](this[r(698)]):this[r(953)][r(889)](this.position);break;case 2:n=t?this.dataview[r(1445)](this.position):this.dataview[r(651)](this[r(698)]);break;case 3:if(t)throw"No method for reading signed 24 bits values";n=this[r(953)].getUint8(this[r(698)])<<16,n|=this[r(953)][r(889)](this.position+1)<<8,n|=this[r(953)][r(889)](this.position+2);break;case 4:n=t?this.dataview[r(1513)](this[r(698)]):this[r(953)][r(1185)](this[r(698)]);break;case 8:if(t)throw r(1519);n=this[r(953)][r(1185)](this.position)<<32,n|=this[r(953)][r(1185)](this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this[r(698)]+=e,n}throw"Not enough bytes in buffer"},o[s(669)][s(901)]=function(){return this[s(1690)](1,!1)},o[s(669)][s(1177)]=function(){return this[s(1690)](2,!1)},o[s(669)][s(1503)]=function(){return this[s(1690)](3,!1)},o[s(669)].readUint32=function(){return this[s(1690)](4,!1)},o[s(669)][s(1163)]=function(){return this[s(1690)](8,!1)},o[s(669)][s(1661)]=function(e){var t=s;if(this[t(698)]+e<=this[t(1148)][t(544)]){for(var r="",n=0;nthis[t(831)]&&(this[t(831)]=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),a=new Uint8Array(this[t(563)]);new Uint8Array(i,0,a[t(1418)])[t(467)](a),this[t(1148)]=i,this[t(831)]=r}}},c[s(669)][s(440)]=function(){var e=s;if(this[e(831)]!=this[e(563)].byteLength){var t=new ArrayBuffer(this[e(831)]),r=new Uint8Array(t),n=new Uint8Array(this[e(563)],0,r[e(1418)]);r[e(467)](n),this[e(1148)]=t}},c[s(1203)]=!1,c.LITTLE_ENDIAN=!0,c[s(669)][s(831)]=0,Object[s(720)](c[s(669)],s(544),{get:function(){return this._byteLength-this._byteOffset}}),Object[s(720)](c.prototype,s(1148),{get:function(){var e=s;return this[e(440)](),this[e(563)]},set:function(e){var t=s;this[t(563)]=e,this[t(1309)]=new DataView(this[t(563)],this[t(433)]),this[t(831)]=this[t(563)].byteLength}}),Object[s(720)](c[s(669)],s(1578),{get:function(){return this._byteOffset},set:function(e){var t=s;this[t(433)]=e,this[t(1309)]=new DataView(this[t(563)],this._byteOffset),this[t(831)]=this._buffer.byteLength}}),Object[s(720)](c[s(669)],"dataView",{get:function(){return this[s(1309)]},set:function(e){var t=s;this[t(433)]=e.byteOffset,this[t(563)]=e.buffer,this[t(1309)]=new DataView(this[t(563)],this[t(433)]),this[t(831)]=this._byteOffset+e.byteLength}}),c.prototype.seek=function(e){var t=s,r=Math[t(808)](0,Math[t(809)](this[t(544)],e));this[t(698)]=isNaN(r)||!isFinite(r)?0:r},c[s(669)][s(518)]=function(){return this[s(698)]>=this._byteLength},c[s(669)][s(1063)]=function(e){var t=s;this[t(1167)](1*e);var r=new Uint8Array(this._buffer,this[t(1578)]+this[t(698)],e);return this[t(698)]+=1*e,r},c.prototype.readInt32Array=function(e,t){var r=s;e=null==e?this.byteLength-this[r(698)]/4:e;var n=new Int32Array(e);return c.memcpy(n[r(1148)],0,this[r(1148)],this[r(1578)]+this[r(698)],e*n[r(722)]),c.arrayToNative(n,null==t?this[r(1155)]:t),this[r(698)]+=n.byteLength,n},c[s(669)][s(1447)]=function(e,t){var r=s;e=null==e?this[r(544)]-this.position/2:e;var n=new Int16Array(e);return c[r(1297)](n[r(1148)],0,this[r(1148)],this[r(1578)]+this[r(698)],e*n[r(722)]),c[r(943)](n,null==t?this.endianness:t),this[r(698)]+=n[r(544)],n},c[s(669)][s(1465)]=function(e){var t=s;e=null==e?this.byteLength-this[t(698)]:e;var r=new Int8Array(e);return c[t(1297)](r.buffer,0,this[t(1148)],this[t(1578)]+this[t(698)],e*r[t(722)]),this[t(698)]+=r[t(544)],r},c[s(669)][s(454)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(698)]/4:e;var n=new Uint32Array(e);return c[r(1297)](n[r(1148)],0,this[r(1148)],this[r(1578)]+this[r(698)],e*n[r(722)]),c[r(943)](n,null==t?this[r(1155)]:t),this[r(698)]+=n[r(544)],n},c[s(669)][s(1326)]=function(e,t){var r=s;e=null==e?this[r(544)]-this[r(698)]/2:e;var n=new Uint16Array(e);return c[r(1297)](n[r(1148)],0,this.buffer,this[r(1578)]+this[r(698)],e*n[r(722)]),c.arrayToNative(n,null==t?this[r(1155)]:t),this[r(698)]+=n[r(544)],n},c[s(669)][s(1403)]=function(e){var t=s;e=null==e?this.byteLength-this[t(698)]:e;var r=new Uint8Array(e);return c.memcpy(r[t(1148)],0,this.buffer,this.byteOffset+this[t(698)],e*r[t(722)]),this[t(698)]+=r[t(544)],r},c[s(669)][s(1391)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(698)]/8:e;var n=new Float64Array(e);return c[r(1297)](n[r(1148)],0,this[r(1148)],this[r(1578)]+this[r(698)],e*n.BYTES_PER_ELEMENT),c.arrayToNative(n,null==t?this[r(1155)]:t),this[r(698)]+=n[r(544)],n},c.prototype[s(624)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(698)]/4:e;var n=new Float32Array(e);return c[r(1297)](n[r(1148)],0,this[r(1148)],this[r(1578)]+this[r(698)],e*n[r(722)]),c[r(943)](n,null==t?this[r(1155)]:t),this[r(698)]+=n[r(544)],n},c[s(669)][s(463)]=function(e){var t=s,r=this[t(1309)][t(1513)](this.position,null==e?this.endianness:e);return this[t(698)]+=4,r},c[s(669)][s(1528)]=function(e){var t=s,r=this._dataView[t(1445)](this[t(698)],null==e?this[t(1155)]:e);return this[t(698)]+=2,r},c.prototype[s(861)]=function(){var e=s,t=this[e(1309)][e(1165)](this[e(698)]);return this[e(698)]+=1,t},c[s(669)][s(1104)]=function(e){var t=s,r=this[t(1309)][t(1185)](this[t(698)],null==e?this[t(1155)]:e);return this[t(698)]+=4,r},c.prototype.readUint16=function(e){var t=s,r=this[t(1309)].getUint16(this[t(698)],null==e?this.endianness:e);return this[t(698)]+=2,r},c[s(669)][s(901)]=function(){var e=s,t=this._dataView[e(889)](this[e(698)]);return this[e(698)]+=1,t},c[s(669)].readFloat32=function(e){var t=s,r=this[t(1309)][t(434)](this[t(698)],null==e?this[t(1155)]:e);return this.position+=4,r},c[s(669)][s(1695)]=function(e){var t=s,r=this[t(1309)][t(1584)](this.position,null==e?this[t(1155)]:e);return this.position+=8,r},c[s(1155)]=new Int8Array(new Int16Array([1])[s(1148)])[0]>0,c[s(1297)]=function(e,t,r,n,i){var s=new Uint8Array(e,t,i),a=new Uint8Array(r,n,i);s.set(a)},c.arrayToNative=function(e,t){var r=s;return t==this[r(1155)]?e:this[r(728)](e)},c[s(439)]=function(e,t){var r=s;return this[r(1155)]==t?e:this[r(728)](e)},c.flipArrayEndianness=function(e){for(var t=s,r=new Uint8Array(e.buffer,e[t(1578)],e[t(544)]),n=0;na;i--,a++){var o=r[a];r[a]=r[i],r[i]=o}return e},c.prototype[s(401)]=0,String[s(1251)]=function(e){for(var t=s,r=[],n=0;n>16),this[t(1181)]((65280&e)>>8),this[t(1181)](255&e)},c[s(669)][s(1302)]=function(e,t){var r=s,n=this[r(698)];this.seek(e),this[r(657)](t),this[r(988)](n)},c[s(669)][s(394)]=function(e,t){var r=s;this[r(1167)](4*e);var n=new Int32Array(this._buffer,this[r(1578)]+this[r(698)],e);return c[r(943)](n,null==t?this[r(1155)]:t),this.position+=4*e,n},c[s(669)][s(633)]=function(e,t){var r=s;this[r(1167)](2*e);var n=new Int16Array(this._buffer,this.byteOffset+this[r(698)],e);return c[r(943)](n,null==t?this[r(1155)]:t),this.position+=2*e,n},c[s(669)].mapInt8Array=function(e){var t=s;this[t(1167)](1*e);var r=new Int8Array(this[t(563)],this[t(1578)]+this[t(698)],e);return this.position+=1*e,r},c.prototype[s(874)]=function(e,t){var r=s;this[r(1167)](4*e);var n=new Uint32Array(this._buffer,this[r(1578)]+this[r(698)],e);return c.arrayToNative(n,null==t?this[r(1155)]:t),this[r(698)]+=4*e,n},c.prototype.mapUint16Array=function(e,t){var r=s;this[r(1167)](2*e);var n=new Uint16Array(this[r(563)],this[r(1578)]+this[r(698)],e);return c[r(943)](n,null==t?this[r(1155)]:t),this[r(698)]+=2*e,n},c[s(669)][s(1272)]=function(e,t){var r=s;this[r(1167)](8*e);var n=new Float64Array(this[r(563)],this[r(1578)]+this[r(698)],e);return c[r(943)](n,null==t?this[r(1155)]:t),this[r(698)]+=8*e,n},c[s(669)][s(1199)]=function(e,t){var r=s;this[r(1167)](4*e);var n=new Float32Array(this[r(563)],this[r(1578)]+this[r(698)],e);return c[r(943)](n,null==t?this.endianness:t),this[r(698)]+=4*e,n};var l=function(e){var t=s;this[t(1698)]=[],this.bufferIndex=-1,e&&(this[t(656)](e),this.bufferIndex=0)};l[s(669)]=new c(new ArrayBuffer,0,c[s(1203)]),l.prototype[s(658)]=function(){var e,t=s;return this[t(1324)]>-1||(this.buffers[t(1418)]>0?0===(e=this[t(1698)][0])[t(876)]?(this.buffer=e,this.bufferIndex=0,a[t(1127)](t(1145),t(784)),!0):(a.warn(t(1145),t(990)),this.logBufferLevel(),!1):(a[t(811)](t(1145),t(1451)),this[t(1680)](),!1))},ArrayBuffer[s(869)]=function(e,t){var r=s;a[r(1127)](r(1419),r(1546)+(e[r(544)]+t[r(544)]));var n=new Uint8Array(e[r(544)]+t[r(544)]);return n[r(467)](new Uint8Array(e),0),n[r(467)](new Uint8Array(t),e[r(544)]),n[r(1148)]},l[s(669)][s(1152)]=function(e,t,r){var n,i=s;return(n=new Uint8Array(r)).set(new Uint8Array(e,t,r)),n[i(1148)][i(876)]=e[i(876)]+t,n[i(1148)][i(1e3)]=0,n[i(1148)]},l[s(669)][s(656)]=function(e){for(var t=s,r=!0,n=0;ni.byteLength){this[t(1698)].splice(n,1),n--;continue}a[t(811)]("MultiBufferStream",t(1433)+e[t(876)]+t(851)+e[t(544)]+t(845))}else e.fileStart+e[t(544)]<=i[t(876)]||(e=this[t(1152)](e,0,i[t(876)]-e.fileStart)),a[t(1127)]("MultiBufferStream","Appending new buffer (fileStart: "+e[t(876)]+t(851)+e[t(544)]+")"),this[t(1698)].splice(n,0,e),0===n&&(this.buffer=e);r=!1;break}if(e[t(876)]0)){r=!1;break}e=this.reduceBuffer(e,o,c)}}r&&(a[t(1127)]("MultiBufferStream",t(1639)+e[t(876)]+" - Length: "+e[t(544)]+")"),this[t(1698)][t(1411)](e),0===n&&(this.buffer=e))},l.prototype[s(1680)]=function(e){var t,r,n,i,o,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=o[c(1170)]-1+"]");var d=e?a[c(576)]:a[c(1127)];0===this.buffers[c(1418)]?d(c(1145),c(821)):d(c(1145),""+this[c(1698)][c(1418)]+c(1557)+n+"/"+i+" bytes), continuous ranges: "+l)},l[s(669)][s(806)]=function(){var e,t,r=s;for(e=0;e"+this[t(1148)].byteLength+")"),!0}return!1}return!1},l[s(669)][s(1385)]=function(e,t,r){var n,i=s,o=null,c=-1;for(n=!0===e?0:this[i(1324)];n=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+c),c):-1:-1},l.prototype.findEndContiguousBuf=function(e){var t,r,n,i=s,a=void 0!==e?e:this[i(1324)];if(r=this.buffers[a],this[i(1698)][i(1418)]>a+1)for(t=a+1;t>3;return 31===s&&i[r(875)][r(1418)]>=2&&(s=32+((7&i[r(875)][0])<<3)+((224&i[r(875)][1])>>5)),s}return null},n[e(1250)]=function(t){var r=e;n[r(1172)][r(760)](this,4,t)},n.DecoderConfigDescriptor.prototype=new(n[e(1172)]),n[e(1250)][e(669)][e(676)]=function(t){var r=e;this[r(868)]=t[r(901)](),this.streamType=t[r(901)](),this[r(1406)]=0!=(this.streamType>>1&1),this[r(871)]=this[r(871)]>>>2,this[r(850)]=t[r(1503)](),this[r(685)]=t[r(1104)](),this[r(1542)]=t.readUint32(),this[r(613)]-=13,this[r(1049)](t)},n.DecoderSpecificInfo=function(t){n[e(1172)].call(this,5,t)},n.DecoderSpecificInfo[e(669)]=new(n[e(1172)]),n.SLConfigDescriptor=function(t){var r=e;n[r(1172)][r(760)](this,6,t)},n.SLConfigDescriptor[e(669)]=new n.Descriptor,this};t[s(595)]=d;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat",s(1160),s(1361),"skip",s(1392),s(1480)],FULL_BOXES:[s(1623),s(1449),"iods",s(1144),"bxml",s(530),s(694)],CONTAINER_BOXES:[["moov",[s(1274),s(754)]],[s(1274)],[s(1634)],[s(1039)],[s(1020)],[s(718)],[s(1657),[s(813),s(945)]],[s(873),[s(426)]],[s(791),[s(1036)]],["traf",[s(1379),s(813),s(945)]],[s(1469)],[s(1350)],["iref"],[s(1704),[s(807)]],["meco"],[s(1372)],["hinf"],["strk"],["strd"],[s(603)],[s(1641)],[s(836)],["trgr"],[s(527),[s(1007)]],[s(1496),["ipma"]],[s(587)],[s(1374)],[s(779)],[s(1310),[s(1660)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;h.FullBox[e(669)]=new h.Box,h[e(567)].prototype=new(h[e(621)]),h[e(715)][e(669)]=new(h[e(621)]),h.TrackGroupTypeBox.prototype=new(h[e(622)]),h[e(1094)][e(1085)]((function(e){h.createBoxCtor(e)})),h[e(1510)].forEach((function(t){h[e(976)](t)})),h[e(450)][e(1085)]((function(t){h[e(672)](t[0],null,t[1])}))},Box:function(e,t,r){var n=s;this[n(451)]=e,this.size=t,this[n(705)]=r},FullBox:function(e,t,r){var n=s;h[n(621)][n(760)](this,e,t,r),this[n(704)]=0,this[n(924)]=0},ContainerBox:function(e,t,r){var n=s;h.Box[n(760)](this,e,t,r),this[n(1517)]=[]},SampleEntry:function(e,t,r,n){var i=s;h[i(567)][i(760)](this,e,t),this[i(1685)]=r,this[i(786)]=n},SampleGroupEntry:function(e){this[s(957)]=e},TrackGroupTypeBox:function(e,t){var r=s;h[r(622)][r(760)](this,e,t)},createBoxCtor:function(e,t){var r=s;h[r(1244)][r(1411)](e),h[e+"Box"]=function(t){var n=r;h[n(621)][n(760)](this,e,t)},h[e+r(621)][r(669)]=new(h[r(621)]),t&&(h[e+"Box"].prototype[r(676)]=t)},createFullBoxCtor:function(e,t){var r=s;h[e+"Box"]=function(t){var r=ka;h[r(622)][r(760)](this,e,t)},h[e+r(621)][r(669)]=new h.FullBox,h[e+r(621)].prototype[r(676)]=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this[s(1562)]=e;for(var t=e.length,r=0;rr?(a.error("BoxParser","Box of type '"+f+c(486)+d+c(594)+r),{code:h[c(824)],type:f,size:d,hdr_size:l,start:u}):0!==d&&u+d>e[c(1025)]()?(e.seek(u),a.info(c(1245),c(1332)+f+c(1432)),{code:h[c(824)],type:f,size:d,hdr_size:l,start:u}):t?{code:h.OK,type:f,size:d,hdr_size:l,start:u}:(h[f+"Box"]?n=new h[f+"Box"](d):f!==c(705)?(a[c(811)](c(1245),c(1019)+f+"'"),(n=new(h[c(621)])(f,d))[c(664)]=!0):h[c(662)][o]?n=new(h[c(662)][o])(d):(a.warn(c(1245),c(1579)+o+"'"),(n=new(h[c(621)])(f,d))[c(705)]=o,n[c(664)]=!0),n[c(1685)]=l,n[c(786)]=u,n.write===h[c(621)][c(669)].write&&n.type!==c(1538)&&(a[c(576)](c(1245),"'"+p+c(793)),n[c(578)](e)),n.parse(e),(i=e[c(1492)]()-(n.start+n[c(613)]))<0?(a[c(811)](c(1245),c(420)+p+c(1550)+-i+" bytes), seeking forward"),e[c(988)](n.start+n.size)):i>0&&(a[c(891)]("BoxParser",c(420)+p+c(817)+i+c(1452)),0!==n[c(613)]&&e[c(988)](n.start+n[c(613)])),{code:h.OK,box:n,size:n.size})},h.Box.prototype[s(676)]=function(e){var t=s;this.type!=t(1538)?this[t(875)]=e.readUint8Array(this[t(613)]-this[t(1685)]):0===this[t(613)]?e[t(988)](e[t(1025)]()):e.seek(this[t(786)]+this.size)},h.Box[s(669)][s(578)]=function(e){var t=s;this.data=e[t(1403)](this.size-this[t(1685)]),e.position-=this[t(613)]-this.hdr_size},h[s(622)].prototype[s(578)]=function(e){var t=s;this[t(1207)](e),this[t(875)]=e[t(1403)](this.size-this[t(1685)]),this[t(1685)]-=4,e[t(698)]-=this[t(613)]-this[t(1685)]},h.FullBox[s(669)].parseFullHeader=function(e){var t=s;this[t(924)]=e[t(901)](),this[t(704)]=e.readUint24(),this[t(1685)]+=4},h[s(622)][s(669)][s(676)]=function(e){var t=s;this.parseFullHeader(e),this[t(875)]=e.readUint8Array(this.size-this[t(1685)])},h[s(567)].prototype[s(676)]=function(e){for(var t,r,n=s;e[n(1492)]()>10&31,r[1]=this[t(1278)]>>5&31,r[2]=31&this[t(1278)],this[t(711)]=String[t(766)](r[0]+96,r[1]+96,r[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h[s(1462)]=s(899),h[s(417)]=s(997),h[s(1066)]=s(552),h[s(1028)]=s(751),h.SAMPLE_ENTRY_TYPE_SYSTEM=s(814),h[s(574)]=s(665),h[s(715)].prototype[s(437)]=function(e){var t=s;e[t(1403)](6),this[t(1368)]=e.readUint16(),this[t(1685)]+=8},h[s(715)].prototype[s(676)]=function(e){var t=s;this[t(437)](e),this[t(875)]=e.readUint8Array(this.size-this[t(1685)])},h.SampleEntry[s(669)].parseDataAndRewind=function(e){var t=s;this[t(437)](e),this[t(875)]=e.readUint8Array(this[t(613)]-this[t(1685)]),this.hdr_size-=8,e[t(698)]-=this[t(613)]-this[t(1685)]},h[s(715)][s(669)][s(910)]=function(e){var t=s;h.ContainerBox[t(669)].parse[t(760)](this,e)},h[s(1427)](h[s(417)]),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h[s(1427)](h[s(1028)]),h[s(1427)](h[s(464)]),h[s(1427)](h[s(574)]),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t,r=s;this.parseHeader(e),e.readUint16(),e[r(1177)](),e.readUint32Array(3),this[r(956)]=e[r(1177)](),this[r(1553)]=e[r(1177)](),this[r(1269)]=e.readUint32(),this[r(1483)]=e[r(1104)](),e[r(1104)](),this[r(1677)]=e.readUint16(),t=Math[r(809)](31,e[r(901)]()),this[r(847)]=e[r(1661)](t),t<31&&e[r(1661)](31-t),this[r(1014)]=e[r(1177)](),e[r(1177)](),this[r(910)](e)})),h[s(1427)](h[s(1462)],(function(e){var t=s;this[t(437)](e),e[t(454)](2),this.channel_count=e.readUint16(),this[t(1597)]=e[t(1177)](),e.readUint16(),e[t(1177)](),this[t(521)]=e[t(1104)]()/65536,this[t(910)](e)})),h[s(1669)](h[s(1344)],s(734)),h[s(1669)](h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h[s(1669)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1329)),h[s(1669)](h[s(1344)],s(1404)),h[s(1669)](h[s(1344)],"av01"),h.createSampleEntryCtor(h[s(1344)],"dav1"),h[s(1669)](h[s(1344)],s(1061)),h[s(1669)](h[s(1344)],s(1130)),h[s(1669)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(671)),h[s(1669)](h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h[s(1669)](h[s(1344)],s(1548)),h[s(1669)](h[s(1344)],"dvhe"),h.createSampleEntryCtor(h[s(1344)],"vvc1"),h[s(1669)](h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h[s(1669)](h[s(1344)],s(1632)),h[s(1669)](h[s(1344)],s(1354)),h.createSampleEntryCtor(h[s(1344)],"vp08"),h.createSampleEntryCtor(h[s(1344)],"vp09"),h[s(1669)](h[s(1344)],s(1212)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(1356)),h[s(1669)](h[s(1344)],s(1317)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(588)),h[s(1669)](h[s(1344)],s(1323)),h.createSampleEntryCtor(h[s(1462)],s(1084)),h[s(1669)](h[s(1462)],"ac-3"),h.createSampleEntryCtor(h[s(1462)],s(1180)),h.createSampleEntryCtor(h[s(1462)],s(913)),h[s(1669)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(1701)),h[s(1669)](h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h[s(1669)](h[s(1462)],"mha2"),h.createSampleEntryCtor(h[s(1462)],s(618)),h.createSampleEntryCtor(h[s(1462)],s(1622)),h[s(528)](h[s(1344)],s(1258)),h[s(528)](h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h[s(528)](h[s(1028)],s(456)),h[s(528)](h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h[s(528)](h[s(574)],s(1387)),h[s(528)](h[s(1066)],s(1399)),h.createBoxCtor(s(1628),(function(e){var t=s,r=16*(1+(1&(1&e[t(901)]())));this[t(554)]=[];for(var n=0;n<3;n++)16==r?this[t(554)][n]=e[t(1177)]():this.layer_size[n]=e[t(1104)]()})),h[s(946)](s(1647),(function(e){var t=s;this[t(1613)]=e[t(901)]()})),h[s(976)](s(1097),(function(e){var t=s;this.aux_type=e[t(856)]();var r=this[t(613)]-this[t(1685)]-(this.aux_type[t(1418)]+1);this.aux_subtype=e.readUint8Array(r)})),h[s(946)](s(502),(function(e){var t=s,r=e.readUint8();if(r>>7&!1)a.error(t(1339));else if(this[t(924)]=127&r,1===this[t(924)])if(r=e[t(901)](),this[t(1440)]=r>>5&7,this[t(764)]=31&r,r=e[t(901)](),this.seq_tier_0=r>>7&1,this.high_bitdepth=r>>6&1,this.twelve_bit=r>>5&1,this[t(1556)]=r>>4&1,this[t(1128)]=r>>3&1,this[t(1412)]=r>>2&1,this[t(965)]=3&r,r=e[t(901)](),this[t(442)]=r>>5&7,0===this.reserved_1){if(this[t(895)]=r>>4&1,1===this[t(895)])this[t(954)]=15&r;else if(this.reserved_2=15&r,0!==this[t(708)])return void a[t(891)]("av1C reserved_2 parsing problem");var n=this.size-this.hdr_size-4;this.configOBUs=e[t(1403)](n)}else a[t(891)](t(407));else a[t(891)](t(423)+this[t(924)]+t(1140))})),h[s(946)](s(421),(function(e){var t,r,n=s;for(this[n(505)]=e.readUint8(),this[n(404)]=e[n(901)](),this.profile_compatibility=e[n(901)](),this.AVCLevelIndication=e[n(901)](),this[n(1561)]=3&e[n(901)](),this[n(1523)]=31&e.readUint8(),r=this[n(613)]-this[n(1685)]-6,this.SPS=[],t=0;t0&&(this[n(1157)]=e[n(1403)](r))})),h[s(946)]("btrt",(function(e){var t=s;this[t(776)]=e[t(1104)](),this[t(685)]=e[t(1104)](),this[t(1542)]=e[t(1104)]()})),h.createFullBoxCtor(s(547),(function(e){var t=s,r=e[t(901)]();this[t(667)]=128==(128&r),this.intra_pred_used=64==(64&r),this[t(1337)]=(63&r)>>2,e[t(1503)]()})),h.createBoxCtor(s(1498),(function(e){var t,r=s;for(this.channel_count=e[r(1177)](),this[r(640)]=[],this[r(719)]=[],this[r(537)]=[],t=0;t=32768&&this[t(1431)][t(1411)](e[t(856)]())}})),h[s(976)](s(555),(function(e){var t,r,n=s;if(t=e[n(1104)](),this[n(1079)]=[],0===this[n(924)])for(r=0;r>7}else"rICC"===this.colour_type?this[t(1593)]=e[t(1403)](this[t(613)]-4):this[t(497)]===t(999)&&(this[t(1593)]=e[t(1403)](this.size-4))})),h[s(976)](s(429),(function(e){var t=s;this[t(1478)](e),this[t(1489)]=e.readCString()})),h[s(976)](s(1281),(function(e){var t=s;0===this.version&&(this[t(519)]=e[t(463)](),this[t(1619)]=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this[t(755)]=e.readInt32(),this[t(1420)]=e[t(463)]())})),h[s(976)](s(973),(function(e){var t,r,n=s;if(t=e[n(1104)](),this[n(860)]=[],this.sample_offsets=[],0===this[n(924)])for(r=0;r>6,this[t(1588)]=r>>1&31,this[t(1394)]=(1&r)<<2|n>>6&3,this[t(1186)]=n>>3&7,this[t(471)]=n>>2&1,this[t(1477)]=3&n|i>>5&7})),h[s(946)](s(929),(function(e){var t=s,r=e[t(1177)]();this[t(1700)]=r>>3,this[t(1511)]=7&r,this[t(400)]=[];for(var n=0;n>6,i[t(1588)]=a>>1&31,i.bsmod=(1&a)<<4|o>>4&15,i[t(1186)]=o>>1&7,i.lfeon=1&o,i[t(1300)]=c>>1&15,i[t(1300)]>0&&(i[t(653)]=(1&c)<<8|e[t(901)]())}})),h[s(976)]("dfLa",(function(e){var t=s,r=[],n=[t(1124),"PADDING",t(632),t(826),"VORBIS_COMMENT",t(1190),t(1312),t(679)];for(this[t(1207)](e);;){var i=e[t(901)](),a=Math[t(809)](127&i,n[t(1418)]-1);if(a?e[t(1403)](e[t(1503)]()):(e[t(1403)](13),this[t(521)]=e[t(1104)]()>>12,e[t(1403)](20)),r.push(n[a]),128&i)break}this[t(1174)]=r[t(1418)]+" ("+r[t(848)](", ")+")"})),h[s(946)](s(963),(function(e){this[s(790)]=e.readUint64()})),h[s(946)]("dmax",(function(e){this[s(577)]=e.readUint32()})),h[s(946)](s(1047),(function(e){this[s(790)]=e.readUint64()})),h[s(946)]("dOps",(function(e){var t=s;if(this[t(634)]=e[t(901)](),this.OutputChannelCount=e[t(901)](),this.PreSkip=e.readUint16(),this.InputSampleRate=e[t(1104)](),this[t(598)]=e[t(1528)](),this[t(492)]=e[t(901)](),0!==this.ChannelMappingFamily){this.StreamCount=e[t(901)](),this[t(1226)]=e.readUint8(),this[t(1508)]=[];for(var r=0;r=4;)this[t(459)][n]=e[t(1661)](4),r-=4,n++})),h.createFullBoxCtor(s(1378),(function(e){var t=s;0===this[t(924)]&&(e[t(1104)](),this.handler=e[t(1661)](4),e[t(454)](3),this[t(599)]=e[t(1661)](this[t(613)]-this[t(1685)]-20),"\0"===this[t(599)][this[t(599)].length-1]&&(this[t(599)]=this[t(599)].slice(0,-1)))})),h[s(946)]("hvcC",(function(e){var t,r,n,i,a=s;this[a(505)]=e[a(901)](),i=e[a(901)](),this.general_profile_space=i>>6,this[a(713)]=(32&i)>>5,this[a(746)]=31&i,this.general_profile_compatibility=e[a(1104)](),this[a(1032)]=e.readUint8Array(6),this[a(697)]=e.readUint8(),this[a(883)]=4095&e[a(1177)](),this[a(1105)]=3&e[a(901)](),this[a(1222)]=3&e[a(901)](),this[a(1582)]=7&e[a(901)](),this[a(457)]=7&e[a(901)](),this[a(1162)]=e[a(1177)](),i=e[a(901)](),this[a(1320)]=i>>6,this.numTemporalLayers=(13&i)>>3,this[a(597)]=(4&i)>>2,this[a(1561)]=3&i,this.nalu_arrays=[];var o=e[a(901)]();for(t=0;t>7,c[a(904)]=63&i;var u=e[a(1177)]();for(r=0;r>4&15,this[r(526)]=15&t,t=e[r(901)](),this.base_offset_size=t>>4&15,1===this[r(924)]||2===this[r(924)]?this[r(768)]=15&t:this[r(768)]=0,this[r(737)]=[];var n=0;if(this[r(924)]<2)n=e.readUint16();else{if(2!==this.version)throw r(522);n=e[r(1104)]()}for(var i=0;i>7,this[t(1126)]=1&r})),h[s(976)](s(979),(function(e){var t=s;if((0===this.version||1===this.version)&&(this[t(951)]=e.readUint16(),this[t(452)]=e[t(1177)](),this[t(1237)]=e[t(856)](),this[t(416)]=e[t(856)](),this[t(1135)]=e[t(856)]()),1===this[t(924)])return this[t(1189)]=e.readString(4),a[t(811)]("BoxParser","Cannot parse extension type"),void e[t(988)](this[t(786)]+this[t(613)]);this[t(924)]>=2&&(2===this[t(924)]?this.item_ID=e[t(1177)]():3===this[t(924)]&&(this[t(951)]=e[t(1104)]()),this.item_protection_index=e[t(1177)](),this[t(748)]=e.readString(4),this.item_name=e[t(856)](),"mime"===this[t(748)]?(this[t(416)]=e[t(856)](),this[t(1135)]=e[t(856)]()):this.item_type===t(1235)&&(this[t(884)]=e[t(856)]()))})),h[s(976)](s(921),(function(e){var t,r,n=s;for(entry_count=e[n(1104)](),this[n(635)]=[],t=0;t>7==1,1&this[n(704)]?c[n(1568)]=(127&o)<<8|e[n(901)]():c[n(1568)]=127&o}}})),h[s(976)](s(1666),(function(e){var t,r,n=s;for(this.references=[];e.getPosition()>7,i.assignment_type=127&o,i[t(1341)]){case 0:i[t(957)]=e[t(1661)](4);break;case 1:i[t(957)]=e[t(1661)](4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i[t(446)]=e.readUint32();break;default:a[t(811)](t(1245),t(928))}}})),h[s(946)](s(591),(function(e){var t=s;this[t(1103)]=e[t(1177)]()})),h.createBoxCtor(s(408),(function(e){var t=s;this[t(1284)]=e[t(1104)](),this.bytes=e[t(1104)]()})),f[s(669)][s(1509)]=function(){return"("+this.x+","+this.y+")"},h[s(946)]("mdcv",(function(e){var t=s;this[t(1052)]=[],this[t(1052)][0]=new f(e[t(1177)](),e[t(1177)]()),this[t(1052)][1]=new f(e[t(1177)](),e[t(1177)]()),this.display_primaries[2]=new f(e[t(1177)](),e[t(1177)]()),this.white_point=new f(e.readUint16(),e[t(1177)]()),this[t(1355)]=e[t(1104)](),this[t(923)]=e[t(1104)]()})),h.createFullBoxCtor(s(1573),(function(e){var t=s;1==this[t(924)]?(this.creation_time=e.readUint64(),this[t(1095)]=e[t(1163)](),this.timescale=e[t(1104)](),this[t(1290)]=e[t(1163)]()):(this[t(1367)]=e[t(1104)](),this[t(1095)]=e[t(1104)](),this[t(1439)]=e[t(1104)](),this[t(1290)]=e.readUint32()),this[t(1478)](e),e.readUint16()})),h.createFullBoxCtor(s(673),(function(e){var t=s;1&this[t(704)]&&(a.warn("BoxParser",t(1646)),this[t(924)]=1),1==this[t(924)]?this[t(1304)]=e[t(1163)]():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor(s(843),(function(e){var t=s;this[t(1517)]=[],h[t(567)].prototype[t(676)][t(760)](this,e)})),h.createFullBoxCtor(s(1422),(function(e){var t=s;this[t(880)]=e[t(1104)]()})),h.createFullBoxCtor(s(724),(function(e){var t=s;this[t(797)]=e[t(1104)]()})),h[s(976)](s(1490),(function(e){var t=s;this[t(898)]=e[t(901)]()})),h[s(976)]("mvhd",(function(e){var t=s;1==this[t(924)]?(this[t(1367)]=e[t(1163)](),this.modification_time=e[t(1163)](),this[t(1439)]=e[t(1104)](),this[t(1290)]=e[t(1163)]()):(this[t(1367)]=e[t(1104)](),this[t(1095)]=e[t(1104)](),this[t(1439)]=e.readUint32(),this[t(1290)]=e[t(1104)]()),this[t(854)]=e.readUint32(),this[t(1401)]=e[t(1177)]()>>8,e[t(1177)](),e[t(454)](2),this[t(1042)]=e[t(454)](9),e[t(454)](6),this[t(1626)]=e[t(1104)]()})),h[s(946)](s(1008),(function(e){this[s(602)]=e.readUint32()})),h[s(946)]("nump",(function(e){var t=s;this[t(602)]=e[t(1163)]()})),h[s(976)](s(1371),(function(e){var t=s,r=e[t(1104)]();this[t(1555)]=[];for(var n=0;n0){var r=e[t(1104)]();this[t(688)]=[];for(var n=0;n0&&(this[t(875)]=e[t(1403)](i))})),h.createFullBoxCtor(s(800),(function(e){var t=s;this.width=e.readUint32(),this[t(1553)]=e[t(1104)]()})),h.createFullBoxCtor(s(796),(function(e){var t=s;this[t(956)]=e[t(1104)](),this[t(1553)]=e[t(1104)]()})),h[s(976)]("prof",(function(e){var t=s;this[t(956)]=e[t(1104)](),this.height=e[t(1104)]()})),h.createContainerBoxCtor(s(556),null,[s(800),s(999),s(796)]),h[s(946)](s(915),(function(e){var t=s;this[t(675)]=e[t(1661)](4),this[t(1598)]=e[t(1661)](this[t(613)]-this[t(1685)]-4)})),h[s(976)](s(1338),(function(e){var t=s;1&this.flags&&(this[t(668)]=e.readUint32(),this.aux_info_type_parameter=e[t(1104)]());var r=e[t(1104)]();this[t(1166)]=[];for(var n=0;n>7,this[t(1643)]=r>>6&1,this[t(508)]&&(this[t(1290)]=e[t(1104)]()),this[t(1643)]&&(this[t(435)]=e[t(901)](),this[t(1544)]=e[t(1177)](),this.avgFrameRate=e[t(1177)]()),this[t(1231)]=[];for(var n=e.readUint8(),i=0;i>7,this[t(1248)]=127&r})),h[s(1156)](s(1193),(function(e){var t=s;if(this[t(1232)]=e[t(1177)](),this.description_length!==2+(1===this.operation_point_count?2:6*this[t(1232)])+9)a.warn(t(1245),"Mismatch in "+this.grouping_type+t(1234)),this.data=e.readUint8Array(this[t(625)]-2);else{if(1===this[t(1232)])this.target_rate_share=e[t(1177)]();else{this.target_rate_share=[],this[t(1471)]=[];for(var r=0;r>4,this[t(516)]=15&r,this[t(1651)]=e[t(901)](),this[t(825)]=e.readUint8(),this[t(1572)]=h[t(1640)](e),this[t(1005)]=0,this[t(832)]=0,1===this.isProtected&&0===this[t(825)]&&(this[t(1005)]=e[t(901)](),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h[s(1156)](s(573),(function(e){var t=s;a[t(811)](t(1245),t(1159)+this.grouping_type+t(608))})),h[s(1156)](s(879),(function(e){var t=s,r=e[t(901)]();this[t(1139)]=63&r})),h[s(1156)](s(399),(function(e){var t=s,r=e[t(901)]();this[t(523)]=r>>7})),h.createSampleGroupCtor(s(430),(function(e){var t=s;a[t(811)](t(1245),t(1159)+this.grouping_type+" not fully parsed")})),h[s(1156)](s(1054),(function(e){var t=s;a[t(811)](t(1245),t(1159)+this[t(957)]+t(608))})),h[s(1156)](s(610),(function(e){var t=s;a[t(811)](t(1245),t(1159)+this[t(957)]+t(608))})),h[s(976)](s(945),(function(e){var t=s;this[t(957)]=e[t(1661)](4),1===this[t(924)]?this[t(932)]=e[t(1104)]():this[t(932)]=0,this[t(1026)]=[];for(var r=e[t(1104)](),n=0;n>6,this[r(480)][i]=t>>4&3,this[r(960)][i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor(s(413)),h[s(976)](s(813),(function(e){var t=s;this[t(957)]=e[t(1661)](4),a.debug(t(1245),t(1491)+this.grouping_type),1===this[t(924)]?this[t(1472)]=e.readUint32():this[t(1472)]=0,this[t(924)]>=2&&(this.default_group_description_index=e[t(1104)]()),this.entries=[];for(var r=e[t(1104)](),n=0;n>31&1,i.referenced_size=2147483647&a,i[t(1527)]=e.readUint32(),a=e.readUint32(),i[t(829)]=a>>31&1,i[t(1676)]=a>>28&7,i[t(1435)]=268435455&a}})),h[s(1082)]=function(e,t,r,n){var i=s;h[i(621)][i(760)](this,e,t),this.hdr_size=r,this[i(786)]=n},h.SingleItemTypeReferenceBox.prototype=new(h[s(621)]),h[s(1082)][s(669)].parse=function(e){var t=s;this[t(732)]=e[t(1177)]();var r=e.readUint16();this[t(586)]=[];for(var n=0;n>4&15,this[n(1330)][t+1]=15&i}else if(8===this[n(1299)])for(t=0;t0)for(r=0;r>4&15,this[t(744)]=15&r}this[t(1271)]=e[t(901)](),this[t(604)]=e[t(901)](),this.default_KID=h[t(1640)](e),1===this[t(1271)]&&0===this[t(604)]&&(this[t(838)]=e.readUint8(),this[t(1526)]=e.readUint8Array(this[t(838)]))})),h[s(976)](s(1369),(function(e){var t=s;1==this.version?this[t(1617)]=e[t(1163)]():this.baseMediaDecodeTime=e.readUint32()})),h[s(976)](s(1070),(function(e){var t=s,r=0;this.track_id=e[t(1104)](),this.size-this[t(1685)]>r&&this[t(704)]&h[t(1383)]?(this[t(1421)]=e.readUint64(),r+=8):this[t(1421)]=0,this.size-this.hdr_size>r&&this[t(704)]&h.TFHD_FLAG_SAMPLE_DESC?(this[t(918)]=e.readUint32(),r+=4):this[t(918)]=0,this[t(613)]-this.hdr_size>r&&this[t(704)]&h[t(626)]?(this.default_sample_duration=e.readUint32(),r+=4):this[t(1298)]=0,this[t(613)]-this[t(1685)]>r&&this.flags&h[t(1364)]?(this[t(1002)]=e[t(1104)](),r+=4):this.default_sample_size=0,this.size-this.hdr_size>r&&this[t(704)]&h[t(841)]?(this[t(702)]=e[t(1104)](),r+=4):this[t(702)]=0})),h[s(976)](s(807),(function(e){var t=s;this.track_ID=e[t(1104)](),e[t(1503)]();var r=e.readUint8();this[t(1255)]=r>>4&3,this[t(992)]=r>>2&3,this[t(1603)]=3&r,this.entries=[];for(var n=e.readUint32(),i=0;i>8,e[t(1177)](),this[t(1042)]=e[t(804)](9),this.width=e.readUint32(),this[t(1553)]=e[t(1104)]()})),h[s(946)](s(419),(function(e){var t=s;this[t(577)]=e[t(1104)]()})),h[s(946)](s(741),(function(e){this[s(577)]=e.readUint32()})),h[s(946)]("totl",(function(e){var t=s;this.bytessent=e[t(1104)]()})),h[s(946)](s(1642),(function(e){var t=s;this.bytessent=e[t(1104)]()})),h[s(946)](s(1120),(function(e){var t=s;this[t(790)]=e[t(1163)]()})),h.TrackGroupTypeBox[s(669)].parse=function(e){var t=s;this.parseFullHeader(e),this[t(1117)]=e.readUint32()},h[s(449)](s(1077)),h.TrackReferenceTypeBox=function(e,t,r,n){var i=s;h.Box[i(760)](this,e,t),this[i(1685)]=r,this.start=n},h.TrackReferenceTypeBox[s(669)]=new(h[s(621)]),h.TrackReferenceTypeBox[s(669)][s(676)]=function(e){var t=s;this[t(687)]=e[t(454)]((this[t(613)]-this.hdr_size)/4)},h[s(1202)][s(669)][s(676)]=function(e){for(var t,r,n=s;e[n(1492)]()r&&this[t(704)]&h[t(1608)]?(this.data_offset=e.readInt32(),r+=4):this[t(1187)]=0,this.size-this.hdr_size>r&&this.flags&h[t(406)]?(this[t(787)]=e.readUint32(),r+=4):this[t(787)]=0,this[t(641)]=[],this[t(1365)]=[],this[t(1161)]=[],this.sample_composition_time_offset=[],this[t(613)]-this[t(1685)]>r)for(var n=0;n>7&1,this[r(1464)]=n>>6&1,this[r(524)]=n>>5&1,this[r(1687)]=n>>4&1,this[r(1074)]=n>>3&1,this[r(1559)]=e[r(1104)](),this[r(541)]=e[r(1104)](),this.tile_align_size=e[r(1104)](),this[r(572)]=e[r(1104)](),this[r(1414)]=e[r(1104)]()}})),h[s(976)](s(1301),(function(e){var t=s;1!==this.flags&&(this[t(774)]=e.readCString())})),h[s(976)](s(912),(function(e){var t=s;this[t(599)]=e[t(856)](),this.size-this[t(1685)]-this.name[t(1418)]-1>0&&(this[t(774)]=e[t(856)]())})),h[s(1340)](s(1073),!0,!1,(function(e){var t=s;this[t(1279)]=e[t(1661)](this.size-this[t(1685)])[t(422)](/&/g,"&").replace(//g,">")[t(422)](/"/g,t(835)).replace(/'/g,t(1325))})),h.createUUIDBox(s(863),!0,!1,(function(e){var t=s;this.system_id=h[t(1640)](e);var r=e[t(1104)]();r>0&&(this[t(875)]=e.readUint8Array(r))})),h.createUUIDBox(s(1402),!0,!1),h.createUUIDBox(s(681),!0,!1,(function(e){var t=s;this[t(1132)]=e[t(1503)](),this.default_IV_size=e[t(901)](),this.default_KID=h[t(1640)](e)})),h[s(1340)]("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){var t=s;this[t(436)]=e.readUint8(),this[t(1026)]=[];for(var r=0;r>4,this[r(545)]=t>>1&7,this[r(1621)]=1&t,this[r(620)]=e.readUint8(),this[r(1292)]=e.readUint8(),this[r(1397)]=e[r(901)](),this[r(483)]=e[r(1177)](),this.codecIntializationData=e[r(1403)](this[r(483)])):(this[r(1637)]=e.readUint8(),this[r(1275)]=e[r(901)](),t=e.readUint8(),this[r(1665)]=t>>4&15,this[r(1308)]=15&t,t=e.readUint8(),this[r(545)]=t>>4&15,this[r(837)]=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e[r(1177)](),this.codecIntializationData=e[r(1403)](this[r(483)]))})),h.createBoxCtor(s(805),(function(e){var t=s;this[t(1537)]=e[t(1661)](this[t(613)]-this[t(1685)])})),h[s(976)](s(548),(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){var t=ka;this.held_bits=e[t(901)](),this[t(949)]=8},stream_read_2_bytes:function(e){var t=ka;this.held_bits=e[t(1177)](),this[t(949)]=16},extract_bits:function(e){var t=ka,r=this[t(1702)]>>this[t(949)]-e&(1<1){for(i[n(1219)](e),this[n(1373)]=0,r=this[n(1413)]-2;r>=0;--r){var c=i[n(761)](1);this[n(1373)]|=c<1;++r)i[n(761)](1);for(this[n(1515)]=[],r=this[n(1413)]-2;r>=0;--r)this[n(1373)]&1<>=1;r+=h[t(1692)](i,0),r+=".",0===this[t(794)].general_tier_flag?r+="L":r+="H",r+=this.hvcC[t(697)];var a=!1,o="";for(e=5;e>=0;e--)(this[t(794)][t(1032)][e]||a)&&(o="."+h[t(1692)](this[t(794)][t(1032)][e],0)+o,a=!0);r+=o}return r},h.vvc1SampleEntry[s(669)][s(931)]=h.vvi1SampleEntry.prototype[s(931)]=function(){var e,t=s,r=h[t(715)][t(669)][t(931)].call(this);if(this[t(548)]){r+="."+this[t(548)][t(746)],this[t(548)][t(713)]?r+=".H":r+=".L",r+=this.vvcC[t(697)];var n="";if(this.vvcC.general_constraint_info){var i,a=[],o=0;for(o|=this[t(548)][t(511)]<<7,o|=this[t(548)][t(1268)]<<6,e=0;e>2&63,a.push(o),o&&(i=e),o=this[t(548)][t(714)][e]>>2&3;if(void 0===i)n=t(1554);else{n=".C";var c="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|a[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},h[s(1699)][s(669)][s(931)]=function(){var e=s,t=h.SampleEntry[e(669)][e(931)][e(760)](this);if(this[e(411)]&&this[e(411)].esd){var r=this[e(411)][e(1059)][e(512)](),n=this[e(411)][e(1059)][e(695)]();return t+"."+h[e(1692)](r)+(n?"."+n:"")}return t},h[s(1488)][s(669)][s(931)]=function(){var e=s,t=h[e(715)][e(669)][e(931)][e(760)](this);return this[e(472)]?t+"."+this.mime_format:t},h[s(1192)][s(669)].getCodec=h.vp09SampleEntry[s(669)][s(931)]=function(){var e=s,t=h.SampleEntry[e(669)].getCodec[e(760)](this),r=this[e(1552)][e(1275)];0==r&&(r="00");var n=this.vpcC.bitDepth;return 8==n&&(n="08"),t+".0"+this.vpcC[e(1637)]+"."+r+"."+n},h.av01SampleEntry[s(669)][s(931)]=function(){var e,t=s,r=h[t(715)][t(669)][t(931)][t(760)](this),n=this[t(502)][t(764)];return n<10&&(n="0"+n),2===this[t(502)][t(1440)]&&1===this[t(502)].high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this[t(502)][t(1440)]<=2&&(e=1===this[t(502)].high_bitdepth?"10":"08"),r+"."+this[t(502)][t(1440)]+"."+n+(this.av1C[t(683)]?"H":"M")+"."+e},h[s(621)][s(669)][s(465)]=function(e,t){var r=s;this.size+=8,this.size>u&&(this[r(613)]+=8),"uuid"===this[r(451)]&&(this[r(613)]+=16),a.debug(r(509),r(1307)+this.type+r(1286)+this[r(613)]+r(914)+e[r(1492)]()+(t||"")),this.size>u?e[r(657)](1):(this[r(410)]=e[r(1492)](),e.writeUint32(this[r(613)])),e.writeString(this[r(451)],null,4),this[r(451)]===r(705)&&e[r(1629)](this[r(705)]),this[r(613)]>u&&e[r(1057)](this.size)},h[s(622)][s(669)][s(465)]=function(e){var t=s;this[t(613)]+=4,h.Box.prototype[t(465)][t(760)](this,e,t(445)+this[t(924)]+" f="+this[t(704)]),e.writeUint8(this[t(924)]),e[t(684)](this[t(704)])},h.Box[s(669)][s(691)]=function(e){var t=s;this[t(451)]===t(1538)?this[t(875)]&&(this[t(613)]=this[t(875)][t(1418)],this.writeHeader(e),e[t(1629)](this[t(875)])):(this.size=this[t(875)]?this[t(875)].length:0,this[t(465)](e),this.data&&e[t(1629)](this[t(875)]))},h.ContainerBox[s(669)][s(691)]=function(e){var t=s;this.size=0,this[t(465)](e);for(var r=0;r=2&&e[n(657)](this[n(918)]),e.writeUint32(this[n(1026)].length),t=0;t0)for(t=0;t+1r?1:0,this.flags=0,this.size=4,1===this[t(924)]&&(this[t(613)]+=4),this[t(465)](e),1===this.version?e[t(1057)](this[t(1617)]):e[t(657)](this[t(1617)])},h[s(1375)][s(669)].write=function(e){var t=s;this[t(924)]=0,this[t(613)]=4,this[t(704)]&h[t(1383)]&&(this[t(613)]+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this[t(613)]+=4),this[t(704)]&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this[t(704)]&h[t(1364)]&&(this[t(613)]+=4),this[t(704)]&h.TFHD_FLAG_SAMPLE_FLAGS&&(this[t(613)]+=4),this[t(465)](e),e[t(657)](this[t(747)]),this[t(704)]&h[t(1383)]&&e.writeUint64(this[t(1421)]),this[t(704)]&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this[t(918)]),this[t(704)]&h.TFHD_FLAG_SAMPLE_DUR&&e[t(657)](this[t(1298)]),this[t(704)]&h[t(1364)]&&e[t(657)](this[t(1002)]),this[t(704)]&h[t(841)]&&e[t(657)](this.default_sample_flags)},h[s(1616)].prototype[s(691)]=function(e){var t=s;this[t(924)]=0,this[t(613)]=80,this.writeHeader(e),e.writeUint32(this[t(1367)]),e[t(657)](this[t(1095)]),e[t(657)](this[t(747)]),e[t(657)](0),e[t(657)](this.duration),e[t(657)](0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this[t(1058)]),e[t(396)](this.volume<<8),e.writeUint16(0),e[t(756)](this[t(1042)]),e.writeUint32(this[t(956)]),e[t(657)](this.height)},h[s(1516)][s(669)][s(691)]=function(e){var t=s;this.version=0,this[t(704)]=0,this.size=20,this.writeHeader(e),e.writeUint32(this[t(747)]),e[t(657)](this[t(918)]),e[t(657)](this[t(1298)]),e.writeUint32(this[t(1002)]),e.writeUint32(this.default_sample_flags)},h[s(771)].prototype[s(691)]=function(e){var t=s;this.version=0,this[t(613)]=4,this.flags&h[t(1608)]&&(this.size+=4),this[t(704)]&h[t(406)]&&(this[t(613)]+=4),this[t(704)]&h[t(1604)]&&(this.size+=4*this[t(641)][t(1418)]),this[t(704)]&h[t(1430)]&&(this[t(613)]+=4*this[t(1365)].length),this[t(704)]&h[t(1547)]&&(this[t(613)]+=4*this.sample_flags[t(1418)]),this[t(704)]&h[t(1349)]&&(this[t(613)]+=4*this[t(981)].length),this[t(465)](e),e[t(657)](this[t(1423)]),this[t(704)]&h[t(1608)]&&(this[t(1377)]=e[t(1492)](),e[t(788)](this[t(1187)])),this[t(704)]&h[t(406)]&&e[t(657)](this[t(787)]);for(var r=0;r-1||e[r]instanceof h.Box||t[r]instanceof h[n(621)]||typeof e[r]===n(940)||typeof t[r]===n(940)||typeof e[r]===n(448)||typeof t[r]===n(448)||e[n(1562)]&&e[n(1562)][n(1434)](r.slice(0,4))>-1||t[n(1562)]&&t[n(1562)][n(1434)](r[n(971)](0,4))>-1||"data"===r||r===n(786)||r===n(613)||r===n(1367)||r===n(1095)||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES[n(1434)](r)>-1||e[r]===t[r]))return!1;return!0},h[s(1486)]=function(e,t){var r=s;if(!h[r(397)](e,t))return!1;for(var n=0;n=t?e:new Array(t-e[n(1418)]+1).join(r)+e}function a(e){var t=ka,r=Math[t(596)](e/3600),n=Math.floor((e-3600*r)/60),s=Math.floor(e-3600*r-60*n),a=Math[t(596)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(a,3)}for(var o=this[n(590)](r),c="",u=0;u1)for(t=1;t-1&&this[t(1652)][t(1100)](r,1)},g[s(669)][s(1109)]=function(e,t,r){var n=s,i=this.getTrackById(e);if(i){var a={};this.extractedTracks.push(a),a.id=e,a[n(1040)]=t,a[n(1274)]=i,i.nextSample=0,a[n(403)]=1e3,a[n(627)]=[],r&&r[n(1283)]&&(a[n(403)]=r[n(1283)])}},g[s(669)][s(1316)]=function(e){for(var t=s,r=-1,n=0;n-1&&this.extractedTracks[t(1100)](r,1)},g[s(669)][s(676)]=function(){var e,t,r=s;if(!this.restoreParsePosition||this[r(1461)]())for(;;){if(this[r(600)]&&this[r(600)]()){if(this[r(969)]())continue;return}if(this[r(710)]&&this[r(710)](),(e=h.parseOneBox(this[r(485)],false))[r(663)]===h[r(824)]){if(this[r(1520)]){if(this[r(1520)](e))continue;return}return}var n;switch(n=(t=e[r(1249)]).type!==r(705)?t[r(451)]:t[r(705)],this[r(1517)][r(1411)](t),n){case r(1538):this[r(933)][r(1411)](t);break;case r(791):this[r(972)][r(1411)](t);break;case"moov":this[r(984)]=!0,0===this[r(933)][r(1418)]&&(this[r(1457)]=!0);default:void 0!==this[n]&&a[r(811)](r(699),"Duplicate Box of type: "+n+r(1089)),this[n]=t}this.updateUsedBytes&&this[r(783)](t,e)}},g[s(669)][s(1204)]=function(e){var t=s;if(null==e)throw t(405);if(void 0===e[t(876)])throw t(906);return 0===e[t(544)]?(a[t(811)](t(699),t(936)+e[t(876)]+")"),this[t(485)][t(1680)](),!1):(a.info(t(699),t(1631)+e[t(876)]+")"),e[t(1e3)]=0,this[t(485)][t(656)](e),this[t(485)][t(1680)](),!!this.stream[t(658)]()||(a[t(811)]("ISOFile",t(533)),!1))},g.prototype[s(1610)]=function(e,t){var r,n=s;if(this[n(1204)](e))return this[n(676)](),this[n(984)]&&!this[n(558)]&&(this.moovStartSent=!0,this[n(692)]&&this[n(692)]()),this[n(1123)]?(!this[n(461)]&&(this[n(1693)](),this.sampleListBuilt=!0),this[n(1086)](),this.onReady&&!this[n(1654)]&&(this[n(1654)]=!0,this[n(1624)](this.getInfo())),this[n(1228)](t),this[n(1223)]?(r=this[n(1223)],this[n(1223)]=void 0):r=this[n(1023)],this[n(485)][n(1672)]&&(r=this[n(485)][n(1672)](r))):r=this[n(1023)]?this[n(1023)]:0,this[n(789)]&&this[n(1205)]&&!this[n(1601)]&&(this[n(1205)](this[n(789)]),this[n(1601)]=!0),this.meta&&(this[n(938)]&&!this[n(907)]&&(this[n(938)](),this[n(907)]=!0),this[n(777)]&&this.processItems(this[n(1131)])),this[n(485)][n(806)]&&(a[n(576)](n(699),n(730)+e[n(876)]+n(1502)+r),this[n(485)][n(1680)](),this.stream[n(806)](),this[n(485)][n(1680)](!0),a[n(576)](n(699),n(561)+this[n(1055)]())),r},g[s(669)][s(1108)]=function(){var e,t,r,n,i,a,o=s,c={},u=new Date(o(531)).getTime();if(this[o(1123)])for(c[o(870)]=!0,c[o(1290)]=this[o(1123)][o(1053)].duration,c[o(1439)]=this[o(1123)][o(1053)][o(1439)],c.isFragmented=null!=this.moov[o(873)],c.isFragmented&&this.moov.mvex.mehd&&(c.fragment_duration=this[o(1123)][o(873)][o(673)][o(1304)]),c[o(1457)]=this.isProgressive,c[o(1198)]=null!=this[o(1123)].iods,c[o(736)]=[],c[o(736)][o(1411)](this[o(881)].major_brand),c[o(736)]=c.brands[o(869)](this[o(881)][o(459)]),c[o(775)]=new Date(u+1e3*this.moov[o(1053)][o(1367)]),c.modified=new Date(u+1e3*this.moov[o(1053)][o(1095)]),c.tracks=[],c[o(966)]=[],c[o(1259)]=[],c.subtitleTracks=[],c[o(582)]=[],c.hintTracks=[],c[o(650)]=[],e=0;e0?c[o(1441)]+=o(1136):c[o(966)]&&c[o(966)].length>0?c.mime+='audio/mp4; codecs="':c[o(1441)]+=o(607),e=0;e=r.samples[n(1418)])&&(a[n(576)](n(699),"Sending fragmented data on track #"+i.id+" for samples ["+Math[n(808)](0,r[n(1031)]-i[n(403)])+","+(r[n(1031)]-1)+"]"),a[n(576)]("ISOFile",n(561)+this[n(1055)]()),this[n(1545)]&&this[n(1545)](i.id,i[n(1040)],i[n(982)].buffer,r[n(1031)],e||r[n(1031)]>=r[n(627)].length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this[n(1276)])for(t=0;t=r[n(627)][n(1418)])&&(a[n(1127)](n(699),n(1153)+c.id+" for sample "+r[n(1031)]),this[n(1276)]&&this[n(1276)](c.id,c[n(1040)],c[n(627)]),c[n(627)]=[],c!==this.extractedTracks[t]))break}}}},g[s(669)][s(689)]=function(e){var t=s,r=this[t(1650)](e,!0);return r[t(1418)]?r[0]:null},g[s(669)][s(1650)]=function(e,t){var r=s,n=[];return g[r(905)][r(760)](this,e,n,t),n},g[s(905)]=function(e,t,r){var n=s;for(var i in this[n(451)]&&this[n(451)]==e&&t[n(1411)](this),this[n(1517)]){if(t.length&&r)return;g[n(905)][n(760)](this[n(1517)][i],e,t,r)}},g[s(669)][s(460)]=function(e){var t=s,r=this.getTrackById(e);return r?r[t(627)]:void 0},g.prototype[s(1293)]=function(e,t){var r=s,n=this[r(1446)](e);return this[r(661)](n,t)},g.prototype.releaseUsedSamples=function(e,t,r){var n=s,i=0,o=this[n(1446)](e);o[n(983)]||(o[n(983)]=0);for(var c=o.lastValidSample;ce*i[u(1439)]){d=n-1;break}t&&i[u(1571)]&&(l=n)}for(t&&(d=l),e=r[u(627)][d][u(1306)],r.nextSample=d;r.samples[d][u(834)]===r.samples[d][u(613)]&&r[u(627)][d+1];)d++;return o=r[u(627)][d][u(1166)]+r.samples[d][u(834)],a[u(576)]("ISOFile",u(605)+(t?"RAP":"")+u(1090)+r[u(1031)]+u(499)+r.tkhd.track_id+u(1253)+a[u(1263)](e,c)+u(1188)+o),{offset:o,time:e/c}},g[s(669)][s(1075)]=function(e){var t,r=s;return e[r(627)]?((t=e.samples[e[r(627)][r(1418)]-1])[r(1306)]+t[r(1290)])/t[r(1439)]:1/0},g[s(669)].seek=function(e,t){var r,n,i,o=s,c=this.moov,u={offset:1/0,time:1/0};if(this.moov){for(i=0;ithis[o(1075)](r)||((n=this.seekTrack(e,t,r))[o(1166)]-1){u=l;break}switch(u){case t(1627):if(a[t(696)](t(1296))[t(467)](t(1056),0)[t(467)]("opcolor",[0,0,0]),c[t(467)](t(956),r[t(956)])[t(467)](t(1553),r.height)[t(467)]("horizresolution",72<<16).set(t(1483),72<<16)[t(467)]("frame_count",1).set("compressorname",r[t(451)]+t(1386))[t(467)](t(1014),24),r[t(560)]){var p=new(h[t(1351)]);p[t(676)](new o(r.avcDecoderConfigRecord)),c.addBox(p)}else if(r[t(1569)]){var m=new(h[t(888)]);m.parse(new o(r[t(1569)])),c[t(1454)](m)}break;case"Audio":a.add("smhd").set(t(1233),r[t(1233)]||0),c[t(467)]("channel_count",r.channel_count||2)[t(467)]("samplesize",r[t(1597)]||16)[t(467)](t(521),r[t(521)]||65536);break;case t(997):a[t(696)](t(1623));break;case t(751):if(a[t(696)](t(1210)),r[t(451)]===t(1037))c[t(467)]("namespace",r[t(557)]||t(1213))[t(467)](t(1256),r[t(1256)]||"")[t(467)]("auxiliary_mime_types",r.auxiliary_mime_types||"");break;case t(552):a[t(696)]("nmhd");break;case t(814):a[t(696)](t(1449));break;default:a[t(696)]("nmhd")}r[t(493)]&&c[t(1454)](r[t(493)]),r.description_boxes&&r[t(980)].forEach((function(e){c[t(1454)](e)})),a[t(696)](t(718))[t(696)](t(402)).addEntry((new(h[t(1270)]))[t(467)](t(704),1));var v=a.add(t(1657));return v.add(t(753))[t(993)](c),v[t(696)](t(964)).set(t(860),[])[t(467)]("sample_deltas",[]),v[t(696)](t(927))[t(467)]("first_chunk",[])[t(467)](t(1612),[])[t(467)](t(770),[]),v[t(696)](t(415))[t(467)](t(1079),[]),v.add(t(1121))[t(467)]("sample_sizes",[]),this[t(1123)][t(873)][t(696)]("trex")[t(467)](t(747),r.id)[t(467)]("default_sample_description_index",r[t(918)]||1).set("default_sample_duration",r[t(1298)]||0)[t(467)]("default_sample_size",r.default_sample_size||0)[t(467)](t(702),r.default_sample_flags||0),this[t(833)](n),r.id}},h.Box[s(669)][s(536)]=function(e){var t=s,r=e||new c;r[t(1155)]=c.BIG_ENDIAN,this[t(691)](r)},g[s(669)][s(830)]=function(e,t,r){var n=s,i=r||{},a={},o=this[n(1446)](e);if(null!==o){a[n(654)]=o[n(627)][n(1418)],a[n(747)]=o.tkhd[n(747)],a.timescale=o[n(1039)][n(1573)][n(1439)],a[n(1137)]=i[n(770)]?i.sample_description_index-1:0,a[n(493)]=o[n(1039)][n(1020)][n(1657)][n(753)][n(1026)][a[n(1137)]],a[n(875)]=t,a[n(613)]=t.byteLength,a[n(834)]=a[n(613)],a[n(1290)]=i[n(1290)]||1,a.cts=i[n(1306)]||0,a[n(1567)]=i[n(1567)]||0,a[n(1571)]=i.is_sync||!1,a.is_leading=i.is_leading||0,a[n(853)]=i[n(853)]||0,a[n(649)]=i[n(649)]||0,a[n(1656)]=i.has_redundancy||0,a[n(1442)]=i.degradation_priority||0,a.offset=0,a[n(955)]=i[n(955)],o.samples.push(a),o.samples_size+=a[n(613)],o[n(468)]+=a[n(1290)],void 0===o[n(858)]&&(o[n(858)]=i.dts),this[n(1228)]();var c=this.createSingleSampleMoof(a);return this.addBox(c),c[n(536)](),c[n(1476)][0][n(1525)][0][n(1187)]=c[n(613)]+8,this.add(n(1538))[n(875)]=new Uint8Array(t),a}},g[s(669)][s(488)]=function(e){var t=s,r=0;r=e[t(1571)]?1<<25:65536;var n=new h.moofBox;n.add("mfhd")[t(467)]("sequence_number",this[t(514)]),this[t(514)]++;var i=n[t(696)](t(1036)),a=this[t(1446)](e[t(747)]);return i[t(696)]("tfhd").set(t(747),e[t(747)]).set(t(704),h[t(902)]),i.add(t(1369))[t(467)](t(1617),e[t(1567)]-(a[t(858)]||0)),i.add(t(1379))[t(467)](t(704),h[t(1608)]|h[t(1604)]|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h[t(1349)]).set(t(1187),0)[t(467)](t(787),0)[t(467)](t(1423),1)[t(467)](t(641),[e[t(1290)]])[t(467)](t(1365),[e[t(613)]])[t(467)](t(1161),[r]).set(t(981),[e[t(1306)]-e[t(1567)]]),n},g[s(669)][s(479)]=0,g[s(669)][s(729)]=0,g[s(669)][s(444)]=function(){var e,t,r,n,i,a,o=s;for(this[o(781)]=this[o(1123)][o(1053)][o(1290)],this[o(1123)][o(1053)].duration=0,e=0;e=2&&(u=i[o].grouping_type+"/0",(c=new d(i[o].grouping_type,0))[l(1429)]=!0,!t.sample_groups_info[u]&&(t[l(885)][u]=c))}else for(o=0;o=2&&(u=n[o][l(957)]+"/0",c=new d(n[o][l(957)],0),!e.sample_groups_info[u]&&(e[l(885)][u]=c))},g.setSampleGroupProperties=function(e,t,r,n){var i,a,o=s;for(i in t[o(619)]=[],n){var c;if(t[o(619)][i]={},t[o(619)][i].grouping_type=n[i].grouping_type,t[o(619)][i][o(932)]=n[i][o(932)],r>=n[i][o(447)]&&(n[i][o(447)]<0&&(n[i][o(447)]=0),n[i][o(535)]++,n[i][o(535)]<=n[i][o(945)][o(1026)][o(1418)]-1&&(n[i][o(447)]+=n[i][o(945)][o(1026)][n[i][o(535)]][o(1423)])),n[i][o(535)]<=n[i][o(945)].entries.length-1?t.sample_groups[i][o(849)]=n[i][o(945)].entries[n[i][o(535)]].group_description_index:t[o(619)][i][o(849)]=-1,0!==t[o(619)][i][o(849)])c=n[i][o(726)]?n[i].fragment_description:n[i][o(493)],t[o(619)][i][o(849)]>0?(a=t[o(619)][i][o(849)]>65535?(t[o(619)][i][o(849)]>>16)-1:t[o(619)][i].group_description_index-1,c&&a>=0&&(t[o(619)][i][o(493)]=c[o(1026)][a])):c&&c[o(924)]>=2&&c[o(559)]>0&&(t.sample_groups[i][o(493)]=c[o(1026)][c[o(559)]-1])}},g[s(844)]=function(e,t,r){var n=s;t&&(e?(t[n(820)]=e[n(820)][r],t[n(853)]=e[n(480)][r],t.is_depended_on=e.sample_is_depended_on[r],t[n(1656)]=e[n(1178)][r]):(t[n(820)]=0,t[n(853)]=0,t[n(649)]=0,t[n(1656)]=0))},g.prototype[s(1693)]=function(){var e,t,r=s;for(e=0;eb&&(w++,b<0&&(b=0),b+=a.sample_counts[w]),t>0?(e[C(627)][t-1][C(1290)]=a[C(1114)][w],e[C(468)]+=e[C(627)][t-1][C(1290)],x[C(1567)]=e.samples[t-1][C(1567)]+e.samples[t-1][C(1290)]):x[C(1567)]=0,o?(t>=S&&(I++,S<0&&(S=0),S+=o[C(860)][I]),x[C(1306)]=e.samples[t][C(1567)]+o[C(617)][I]):x.cts=x.dts,c?(t==c[C(589)][A]-1?(x[C(1571)]=!0,A++):(x.is_sync=!1,x[C(1442)]=0),l&&l[C(1026)][k][C(897)]+E==t+1&&(x[C(955)]=l[C(1026)][k][C(955)],E+=l.entries[k][C(897)],k++)):x[C(1571)]=!0,g[C(844)](e.mdia[C(1020)][C(1657)].sdtp,x,x[C(654)]),x[C(1442)]=f?f[C(515)][t]:0,l&&l.entries[k].sample_delta+E==t&&(x[C(955)]=l[C(1026)][k].subsamples,E+=l.entries[k][C(897)]),(d[C(1418)]>0||h.length>0)&&g[C(961)](e,x,t,e[C(885)])}t>0&&(e[C(627)][t-1][C(1290)]=Math.max(e[C(1039)][C(1573)][C(1290)]-e.samples[t-1][C(1567)],0),e[C(468)]+=e[C(627)][t-1][C(1290)])}},g.prototype.updateSampleLists=function(){var e,t,r,n,i,a,o,c,u,l,d,f,p,m,v,y=s;if(void 0!==this[y(1123)])for(;this[y(479)]0&&g[y(1314)](f,d,d[y(1313)],f[y(1039)][y(1020)][y(1657)][y(767)],d[y(767)]),t=0;t0?m[y(1567)]=f.samples[f[y(627)][y(1418)]-2][y(1567)]+f[y(627)][f[y(627)][y(1418)]-2][y(1290)]:(d[y(1369)]?m[y(1567)]=d[y(1369)][y(1617)]:m[y(1567)]=0,f[y(1218)]=!0),m[y(1306)]=m[y(1567)],_.flags&h[y(1349)]&&(m[y(1306)]=m[y(1567)]+_[y(981)][r]),v=o,_.flags&h[y(1547)]?v=_[y(1161)][r]:0===r&&_[y(704)]&h[y(406)]&&(v=_.first_sample_flags),m.is_sync=!(v>>16&1),m[y(820)]=v>>26&3,m.depends_on=v>>24&3,m.is_depended_on=v>>22&3,m[y(1656)]=v>>20&3,m[y(1442)]=65535&v;var b=!!(d[y(1070)].flags&h.TFHD_FLAG_BASE_DATA_OFFSET),w=!!(d[y(1070)][y(704)]&h[y(902)]),S=!!(_[y(704)]&h[y(1608)]),I=0;I=b?d[y(1070)].base_data_offset:w||0===t?l.start:c,m[y(1166)]=0===t&&0===r?S?I+_.data_offset:I:c,c=m[y(1166)]+m[y(613)],(d[y(1313)][y(1418)]>0||d[y(767)].length>0||f[y(1039)].minf[y(1657)][y(1313)][y(1418)]>0||f[y(1039)][y(1020)][y(1657)].sgpds[y(1418)]>0)&&g[y(961)](f,m,m[y(551)],d.sample_groups_info)}}if(d[y(1289)]){f[y(639)]=!0;var A=d[y(647)];for(t=0;t-1))return null;var u=(r=this[n(485)][n(1698)][o])[n(544)]-(i[n(1166)]+i.alreadyRead-r[n(876)]);if(i[n(613)]-i[n(834)]<=u)return a.debug(n(699),n(644)+t+n(1607)+i[n(834)]+n(1195)+(i.offset+i[n(834)]-r[n(876)])+" read size: "+(i.size-i[n(834)])+" full size: "+i[n(613)]+")"),c[n(1297)](i[n(875)][n(1148)],i.alreadyRead,r,i[n(1166)]+i[n(834)]-r[n(876)],i[n(613)]-i[n(834)]),r[n(1e3)]+=i.size-i[n(834)],this[n(485)][n(1680)](),i[n(834)]=i.size,i;if(0===u)return null;a[n(1127)](n(699),n(644)+t+n(498)+i[n(834)]+n(1195)+(i[n(1166)]+i[n(834)]-r[n(876)])+n(1485)+u+" full size: "+i[n(613)]+")"),c[n(1297)](i[n(875)][n(1148)],i[n(834)],r,i.offset+i[n(834)]-r[n(876)],u),i[n(834)]+=u,r[n(1e3)]+=u,this[n(485)].logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=s,n=e.samples[t];return n.data?(this[r(729)]-=n.size,n.data=null,n.description=null,delete n[r(1442)],delete n[r(853)],delete n[r(1137)],delete n[r(1656)],delete n[r(649)],delete n[r(820)],delete n[r(1571)],delete n[r(1381)],delete n[r(551)],delete n[r(1439)],delete n[r(1306)],delete n[r(1567)],delete n[r(1166)],delete n[r(613)],delete n.track_id,delete n.duration,n[r(834)]=0,n[r(613)]):0},g[s(669)][s(1055)]=function(){return this[s(729)]},g[s(669)][s(1655)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this[t(1123)][t(1158)][e].mdia.minf[t(1657)][t(753)][t(1026)][0][t(931)]()}return r},g[s(669)][s(1227)]=function(e){var t,r=s;if(!this.moov||!this[r(1123)][r(873)])return null;for(t=0;t0&&(r[n(1264)]=c[n(530)][n(1691)][c[n(1277)][n(1050)][e].protection_index-1]),c[n(1277)][n(1050)][e][n(748)]?r.type=c[n(1277)][n(1050)][e][n(748)]:r[n(451)]=n(1441),r[n(416)]=c[n(1277)][n(1050)][e][n(416)],r.content_encoding=c[n(1277)][n(1050)][e][n(1135)];if(c.grpl)for(e=0;e0&&p[n(1568)]-1-1))return null;var l=(t=this[n(485)].buffers[u])[n(544)]-(o[n(1166)]+o[n(834)]-t[n(876)]);if(!(o[n(1418)]-o[n(834)]<=l))return a.debug(n(699),"Getting item #"+e+n(977)+i+n(498)+o.alreadyRead+n(1195)+(o.offset+o[n(834)]-t[n(876)])+n(1485)+l+n(1164)+o[n(1418)]+n(1260)+r[n(613)]+")"),c[n(1297)](r.data[n(1148)],r.alreadyRead,t,o[n(1166)]+o[n(834)]-t.fileStart,l),o[n(834)]+=l,r[n(834)]+=l,t.usedBytes+=l,this.stream.logBufferLevel(),null;a[n(1127)](n(699),"Getting item #"+e+n(977)+i+n(1607)+o[n(834)]+n(1195)+(o[n(1166)]+o[n(834)]-t[n(876)])+" read size: "+(o[n(1418)]-o[n(834)])+n(1164)+o[n(1418)]+" full item size: "+r[n(613)]+")"),c[n(1297)](r[n(875)].buffer,r.alreadyRead,t,o.offset+o.alreadyRead-t[n(876)],o[n(1418)]-o.alreadyRead),t[n(1e3)]+=o[n(1418)]-o[n(834)],this.stream.logBufferLevel(),r[n(834)]+=o[n(1418)]-o[n(834)],o[n(834)]=o.length}}return r.alreadyRead===r[n(613)]?r:null},g.prototype[s(1618)]=function(e){var t=s,r=this[t(737)][e];if(r[t(875)]){this[t(570)]-=r[t(613)],r.data=null,r[t(834)]=0;for(var n=0;n0?this.moov.traks[e][i(627)][0][i(1290)]:0),t[i(1411)](n)}return t},g[s(669)][s(424)]=function(){var e=s,t={};return t[e(1123)]=this[e(1123)],this[e(1123)]&&this[e(1123)][e(1158)]&&this[e(1123)][e(1158)][e(1418)]>1&&(t.moovAudioNum=this[e(1123)][e(1158)][0][e(627)][e(1418)],t[e(628)]=this.moov.traks[1][e(627)][e(1418)]),t},h.Box[s(669)][s(967)]=function(e){var t=s;this[t(613)]+=8,this.size>u&&(this[t(613)]+=8),"uuid"===this[t(451)]&&(this[t(613)]+=16),e[t(1407)](e.indent+t(1081)+this[t(613)]),e[t(1407)](e[t(1450)]+t(893)+this[t(451)])},h[s(622)][s(669)].printHeader=function(e){var t=s;this[t(613)]+=4,h[t(621)][t(669)][t(967)][t(760)](this,e),e[t(1407)](e.indent+"version:"+this[t(924)]),e[t(1407)](e[t(1450)]+t(1522)+this.flags)},h.Box[s(669)][s(1370)]=function(e){this[s(967)](e)},h[s(567)][s(669)][s(1370)]=function(e){var t=s;this.printHeader(e);for(var r=0;r>8)),e[t(1407)](e[t(1450)]+t(1649)+this.matrix[t(848)](", ")),e[t(1407)](e[t(1450)]+t(1577)+this.next_track_id)},h[s(1616)][s(669)][s(1370)]=function(e){var t=s;h[t(622)][t(669)].printHeader.call(this,e),e[t(1407)](e[t(1450)]+"creation_time: "+this.creation_time),e.log(e[t(1450)]+"modification_time: "+this.modification_time),e[t(1407)](e.indent+"track_id: "+this[t(747)]),e.log(e[t(1450)]+t(652)+this.duration),e.log(e[t(1450)]+t(616)+(this[t(1401)]>>8)),e[t(1407)](e[t(1450)]+"matrix: "+this[t(1042)][t(848)](", ")),e[t(1407)](e[t(1450)]+t(799)+this[t(1175)]),e[t(1407)](e[t(1450)]+t(638)+this[t(1058)]),e[t(1407)](e[t(1450)]+t(643)+this[t(956)]),e[t(1407)](e[t(1450)]+t(896)+this[t(1553)])};var _={};_[s(1206)]=function(e,t){var r=void 0===e||e,n=new g(t);return n.discardMdatData=!r,n},s(1138)!==s(940)&&(t[s(1206)]=_[s(1206)])}));function Aa(){var e=["roll","TFHD_FLAG_SAMPLE_SIZE","sample_size","base_offset","creation_time","data_reference_index","tfdt","print","padb","hnti","ptl_sublayer_present_mask","grpl","tfhdBox","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","data_offset_position","hdlr","trun","msg","moof_number","application/xml","TFHD_FLAG_BASE_DATA_OFFSET","properties","findPosition"," Compressor","enct","avll","Log","video","readFloat64Array","meco","scheme_id_uri","bsmod","Found 'mdat' end in buffered data","u16string","matrixCoefficients","absolute_time","encm"," not found in buffered data","volume","a2394f525a9b4f14a2446c427c648df4","readUint8Array","avc4","principal_point_y","upStream","log","hintTracks","vSpacing","sent","push","chroma_subsampling_y","num_sublayers","num_tile_rows_minus_one","test","udes","emsg","length","ArrayBuffer","compositionEndTime","base_data_offset","mfhd","sample_count","float32le","getText","referenced_size","createMediaSampleEntryCtor","File uses negative stts sample delta, using value 1 instead, sync may be lost!","is_fragment","TRUN_FLAGS_SIZE","component_type_urls","' box","Buffer (fileStart: ","indexOf","SAP_delta_time","mvif","cleanApertureWidthD","scheme_version","timescale","seq_profile","mime","degradation_priority","parseUUID",'" box',"getInt16","getTrackById","readInt16Array","dependsOn_ES_ID","nmhd","indent","No buffer to start parsing from"," more bytes than the indicated box data size, seeking backwards","payloadID","addBox","rate: ","writeInt8","isProgressive","[row: ","fieldCount","stereo_scheme","restoreParsePosition","SAMPLE_ENTRY_TYPE_AUDIO","scheme_uri","block_pad_lsb","readInt8Array","Seeking at time ","ptl_present_flag","unsetSegmentOptions","vttc"," box writing not yet implemented, keeping unparsed data in memory for later write","available_bitrate","default_length","nclx","fiel","fscod","trafs","bit_rate_code","parseLanguage","bad_pixel_column","strk","Position ","value","vertresolution","alst"," read size: ","boxEqual","Found ","stxtSampleEntry","notice","mskC","Found Sample Groups of type ","getPosition","DIFF_BOXES_PROP_NAMES","charCodeAt","target","iprp","sbpm","cdef","primaryBChromaticity_x","pos_x","padding_flag",") - next buffer to fetch should have a fileStart position of ","readUint24","stssBox","removeUsedSamples","trep","modification_time: ","ChannelMapping","toString","FULL_BOXES","num_ind_sub","download","getInt32","isEos","sublayer_level_idc","trexBox","boxes","transfer_characteristics","No method for reading signed 64 bits values","processIncompleteBox","setFloat64","flags:","nb_SPS_nalus","wbbr","truns","default_constant_IV","subsegment_duration","readInt16","sttsBox","ctts box uses negative values without using version 1","focal_length_x","pos_y","styp","writeStruct","avc1SampleEntry","first_offset","text","mdat","mapInt8Array","prft",", remaining: ","avgBitrate","component_align_size","avgBitRate","onSegment","Trying to create a new buffer of size: ","TRUN_FLAGS_FLAGS","dvh1","mehdBox","' did not read the entire indicated box data size (missing ","source","vpcC","height",".CA","padbits","monochrome"," stored buffer(s) (","whitePointChromaticity_y","pixel_size","stppSampleEntry","lengthSizeMinusOne","subBoxNames","matrix_coefficients","fobr","switch_group","component_little_endian","dts","property_index","hevcDecoderConfigRecord","getSampleSize","is_sync","KID","mdhd","save","pow","Adjusting box ","next_track_id: ","byteOffset","Unknown uuid type: '","14139qjhfpI","TFHD_FLAG_SAMPLE_DESC","bit_depth_luma_minus8","init","getFloat64","191126SYrfex","findDescriptor","extent_length","bsid","mett","mergeNextBuffer","getLength","int32","ICC_profile","dobr","writeString","int32le","samplesize","sdptext","Textin4Parser","major_brand","sidxSent","_dynamicSize","length_size_of_sample_num","TRUN_FLAGS_DURATION","2725956cTOxGZ","setNextSeekPositionFromSample"," data (alreadyRead: ","TRUN_FLAGS_DATA_OFFSET","ssix","appendBuffer","writeFloat64Array","samples_per_chunk","op_index","media_rate_fraction","ols_idx","tkhdBox","baseMediaDecodeTime","releaseItem","leastDecodeToDisplayDelta","albc","videoFullRangeFlag","mhm2","hmhd","onReady","discardable","next_track_id","Visual","a1lx","writeUint8Array","createObjectURL","Processing buffer (fileStart: ","vvs1","rap ","edts","tag","rapAlignement","profile","chunk_index","Appending new buffer (fileStart: ","parseHex16","rinf","tpay","avgRateFlag","Cannot seek: moov not received!","MP4BoxStream","mehd box incorrectly uses flags set to 1, converting version to 1","a1op","mapUint16Array","matrix: ","getBoxes","isProtected","fragmentedTracks","elng","readySent","getCodecs","has_redundancy","stbl","quat_x","float64le","tyco","readString","URL","whitePointChromaticity_x"," released samples up to ","bitDepth","iref","trexs","num_output_samples","createSampleEntryCtor","entity_groups","createCommonjsModule","getEndFilePositionAfter","primaryBChromaticity_y","construction_method","OutputChannelCount","SAP_type","frame_count","tsel","ranges","logBufferLevel","box_record","correction_applied","ntp_timestamp","subSeqDirectionFlag","hdr_size","Unknown sample entry type: ","block_reversed","bits_per_channels","apply","readAnyInt","protections","decimalToHex","buildSampleLists","kinds","readFloat64","sidxBox","item_id","buffers","mp4aSampleEntry","data_rate","Opus","held_bits",", size ","mfra","Expected 'infe' box, got ","mapInt32Array","cleanApertureWidthN","writeInt16","boxEqualFields","altr","tele","ind_subs","failurePosition","dref","nb_samples","AVCProfileIndication","Buffer must be defined and non empty","TRUN_FLAGS_FIRST_FLAG","av1C reserved_1 parsing problem","maxr","scheme_type","sizePosition","esds","SingleItemTypeReferenceBoxLarge","senc","ster","stco","content_type","SAMPLE_ENTRY_TYPE_HINT","Generating initialization segment","tmax","Parsing of box '","avcC","replace","av1C version ","getPerformanceInfo","sample_rate","trex","isSubtitle","num_channels","cprt","tsas","bit_depth_minus8","LITTLE_ENDIAN","_byteOffset","getFloat32","accurateStatisticsFlag","fragment_count","parseHeader","Repositioning parser at buffer position: ","nativeToEndian","_trimAlloc","prol","reserved_1","presentation_time","resetTables"," v=","sub_track_id","last_sample_in_run","function","createTrackGroupCtor","CONTAINER_BOXES","type","item_protection_index","MP4Box","readUint32Array","stszBox","encu","bit_depth_chroma_minus8","uint16","compatible_brands","getTrackSamplesInfo","sampleListBuilt","component_index","readInt32","SAMPLE_ENTRY_TYPE_SYSTEM","writeHeader","TrackGroupTypeBox","set","samples_duration","maxFALL","1790313sesaLH","lfeon","mime_format","SmDm","Item storage with reference to other files: not supported"," of size ","opcolor","ipmas","earliest_presentation_time","lastMoofIndex","sample_depends_on","elngBox","parsingMdat","codecIntializationDataSize","minimum_bitrate","stream","' has a size ","smhdBox","createSingleSampleMoof","sampleEntryCodes","metx","channel_count","ChannelMappingFamily","description","config","DataStream.save: Can't create object URL.","Error accessing position in the MultiBufferStream","colour_type"," partial data (alreadyRead: "," on track ","SPS","ES_ID","av1C","documentString","stxt","configurationVersion","ASCII","num_bad_rows","durationFlag","BoxWriter","Allocating sample #","ptl_frame_only_constraint","getOTI","avc3SampleEntry","nextMoofNumber","priority","skip_byte_block","sample_number","isEof","compositionToDTSShift","writeFooter","samplerate","version of iloc box not supported","level_independently_decodable","block_little_endian","hev1SampleEntry","length_size","udta","createEncryptedSampleEntryCtor","9570vtIzLF","ipro","1904-01-01T00:00:00Z","first_output_sample","Not ready to start parsing","setAttribute","entry_index","computeSize","channel_associations","smhd","wvtt","skew_factor","row_align_size","stshBox","createFragment","byteLength","chromaSubsampling","entry_count","ccst","vvcC","writeCString","ftypBox","number_in_traf","Metadata","XMLSubtitlein4Parser","layer_size","co64","tapt","namespace","moovStartSent","default_group_description_index","avcDecoderConfigRecord","Sample data size in memory: ","uint32","_buffer","metadata","unpack","drep","ContainerBox","prgr","cttsBox","itemsDataSize","bitrate","num_tile_cols_minus_one","stsa","SAMPLE_ENTRY_TYPE_TEXT","media_rate_integer","info","time","parseDataAndRewind","media_time","body","Removing buffer #","metadataTracks","Descriptor ","stz2","bad_pixel_row","references","ipco","mjpg","sample_numbers","parseSample","lsel","SampleGroupEntry","pano"," greater than its container size ","MPEG4DescriptorParser","floor","temporalIdNested","OutputGain","name","hasIncompleteMdat","writeUint32Array","packetssent","sinf","default_Per_Sample_IV_Size","Seeking to ","DataStream",'application/mp4; codecs="'," not fully parsed","createEntityToGroupCtor","vipr","focal_length_y","mdatBox","size","payl","tkhd","volume: ","sample_offsets","mhm1","sample_groups","colourPrimaries","Box","FullBox","dac3","readFloat32Array","description_length","TFHD_FLAG_SAMPLE_DUR","samples","moovVideoNum","mdhdBox","cleanApertureHeightD","stvi","APPLICATION","mapInt16Array","Version","associations","elst","hvc1SampleEntry","alternate_group: ","has_fragment_subsamples","channel_indexes","sample_duration","printRanges","width: ","Getting sample #"," writing not yet implemented, keeping unparsed data in memory for later write","writeUint16","first_sample_index","ref_to","is_depended_on","otherTracks","getUint16","duration: ","chan_loc","number","VisualSampleEntry","insertBuffer","writeUint32","initialized","float32be","writeFloat64","getSample","UUIDBoxes","code","has_unparsed_data","Text","ptl_num_sub_profiles","all_ref_pics_intra","aux_info_type","prototype","clli","hvt1","createContainerBoxCtor","mehd","emsgBox","descriptionformat","parse","pos_z"," needs a buffer with a fileStart position of ","RESERVED","cts_shift","8974dbce7be74c5184f97148f9882554","used","seq_tier_0","writeUint24","maxBitrate","angle","track_ids","kid","getBox","max_content_light_level","write","onMoovStart","iso4","mere","getAudioConfig","add","general_level_idc","position","ISOFile","parseConfig","cleanApertureHeightN","default_sample_flags","isAudio","flags","uuid","hSpacing","vvnC","reserved_2","getItem","saveParsePosition","languageString","event_duration","general_tier_flag","general_constraint_info","SampleEntry","txtC","component_bit_depth_minus_one","dinf","channel_types","defineProperty","message_data","BYTES_PER_ELEMENT","parseOneBox","mfro","discard_priority","fragment_description","component_types","flipArrayEndianness","samplesDataSize","Done processing buffer (fileStart: ","Concatenating buffer for box parsing (length: ","from_item_ID","irot","avc1","vertOffN","brands","items"," (released size: ","writeType","DecoderSpecificInfo","tmin","flush","fieldOrdering","default_skip_byte_block"," for sample ","general_profile_idc","track_id","item_type","string","favc","Subtitle","extended_language","stsd","pssh","compositionStartTime","writeInt32Array","uint16le","saiz","6d1d9b0542d544e680e2141daff757b2","call","extract_bits","step_count","primary","seq_level_idx_0","10wWYJnN","fromCharCode","sgpds","index_size","clap","sample_description_index","trunBox","Flushing remaining samples","system_id","location","created","bufferSizeDB","processItems","AVCLevelIndication","j2kH","decode","initial_duration","getDescriptorName","updateUsedBytes","Stream ready for parsing","3BCVxEk","start","first_sample_flags","writeInt32","sidx","bytessent","moof","creation_time: ","' box writing not yet implemented, keeping unparsed data in memory for later write","hvcC","setAllUsedBytes","enof","_size"," (too small to be a box)","layer: ","clef","component_format","Track #","vertical_justification","readInt32Array","vttC","cleanBuffers","tfra","max","min","kindBox","warn","max_pic_average_light_level","sgpd","System","shadowed_sample_numbers","iloc","' read ","writeUint16Array","chunk_run_index","is_leading","No more buffer in memory","getWidth","Needs an array buffer","ERR_NOT_ENOUGH_DATA","Per_Sample_IV_Size","SEEKTABLE","isMetadata"," has an invalid size ","starts_with_SAP","addSample","_byteLength","constant_IV","buildTrakSampleLists","alreadyRead",""","schi","transferFunction","default_constant_IV_size","primaryGChromaticity_y","auxiliary_mime_types","TFHD_FLAG_SAMPLE_FLAGS","int8","meta","process_sdtp",") already appended, ignoring","primaryRChromaticity_x","compressorname","join","group_description_index","bufferSize"," - Length: ","bad_columns","depends_on","rate","stop","readCString","subsegments","first_dts","horizOffN","sample_counts","readInt8","writeInitializationSegment","d08a4f1810f34a82b6c832d8aba183d3","subSequenceIdentifier","levels","sample_offset","float64be","oti","concat","hasMoov","streamType","PPS","mvex","mapUint32Array","data","fileStart","cmin","track_width","sync","sequence_number","ftyp","presentation_time_delta","min_spatial_segmentation_idc","item_uri_type","sample_groups_info","tracks","Error reading extent index","hvcCBox","getUint8","segment_duration","error","sdp ","type:","pitm","initial_presentation_delay_present","height: ","sample_delta","bits_per_pixel","Audio","getPrimaryItem","readUint8","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","itemId","nalu_type","_sweep","Buffer must have a fileStart property","itemListBuilt","offset_size","writeFloat32","parseFooter","eqiv","urn ","ec-3"," at position ","rtp "," on track #","getBuffer","default_sample_description_index","equal","colr","ipma","horizOffD","min_display_mastering_luminance","version","pdin","bg_color_rgba","stsc","Unknown leva assignement type","dec3","quat_y","getCodec","grouping_type_parameter","mdats","group_id","fr-FR","Ignoring empty buffer (fileStart: ","cmpd","flattenItemInfo"," --\x3e ","undefined","vide","int32be","arrayToNative","setUint8","sbgp","createBoxCtor","displayFlags","stss","num_held_bits","setSegmentOptions","item_ID","parseFromString","dataview","initial_presentation_delay_minus_one","subsamples","width","grouping_type","tenc","quat_z","sample_is_depended_on","setSampleGroupProperties","reserved","dimm","stts","chroma_sample_position","audioTracks","printHeader","frma","processIncompleteMdat","pmax","slice","moofs","ctts","sbtt","float64","createFullBoxCtor"," extent #","num_total_samples","infe","description_boxes","sample_composition_time_offset","segmentStream","lastValidSample","moovStartFound","principal_point_x","first_chunk","uint8","seek","primaryGChromaticity_x","The first buffer should have a fileStart of 0","sync_sample_numbers","length_size_of_trun_num","addEntry","component_count","track_ID","num_leading_samples_known","Hint","Found box of type '","prof","usedBytes","schemeURI","default_sample_size",'"; profiles="'," with new size ","constant_IV_size","TKHD_FLAG_IN_MOVIE","kind","npck","SLConfigDescriptor","payt","uint32le","uint32be","<","depth","max_picture_height","Track created with MP4Box.js","nb_PPS_nalus","moovBox","Unknown box type: '","minf","No sample in track, cannot seek! Using time ","general_profile_space","nextParsePosition","mfhdBox","getEndPosition","entries","absolute_duration","SAMPLE_ENTRY_TYPE_SUBTITLE","addTrack","entity_ids","nextSample","general_constraint_indicator","Exporting on track #","brst","addUsedBytes","traf","stpp","285jYouJY","mdia","user","props","matrix",", column: ","getSampleRate","reference_ID","ispe","dmed","extractedTracks","parseRemainingDescriptors","item_infos","protection_index","display_primaries","mvhd","tscl","getAllocatedSampleDataSize","graphicsmode","writeUint64","alternate_group","esd","href","hvc1","stscBox","mapUint8Array","num_bytes_constraint_info","isFragmentationInitialized","SAMPLE_ENTRY_TYPE_METADATA","constant_frame_rate","numTemporalLayers","itemToFragmentedTrackFile","tfhd","colour_primaries","Box of type ","a5d40b30e81411ddba2f0800200c9a66","pad_unknown","getTrackDuration","trun_number","msrc","initial_delay","chunk_offsets","audio","size:","SingleItemTypeReferenceBox","5192HqHyZG","mp4a","forEach","updateSampleLists","getChannelCount","extent_index",", overriding previous occurrence"," sample #","TKHD_FLAG_IN_PREVIEW","moof_offset","cstring","BASIC_BOXES","modification_time","_self","auxC","extent_offset","readUint","splice","Allocating item #","roll_distance","layer_id","readUint32","parallelismType","TrackReferenceTypeBox","resources","getInfo","setExtractionOptions","TFHD_FLAG_DUR_EMPTY","num_entities_in_group","completeness","sample_info_size","sample_deltas","rtpmap_string","initialize","track_group_id","destroy","split","tpyl","stsz",'Not enough data in stream to parse the extended size of the "',"moov","STREAMINFO","default_sample_info_size","axis","debug","chroma_subsampling_x","codec","hev1","onItem","default_AlgorithmID","maxCLL","general_sub_profile_idc","content_encoding",'video/mp4; codecs="',"description_index","object","NAL_unit_type"," not supported","Not enough data in stream to parse the type and size of the box","aebr","lastBoxStartPosition","xml ","MultiBufferStream","readInt64","media_duration","buffer","handler","elstBox","bad_rows","reduceBuffer","Sending samples on track #","2380532tAyiHc","endianness","createSampleGroupCtor","ext","traks","Sample Group type: ","idat","sample_flags","avgFrameRate","readUint64"," full extent size: ","getInt8","offset","_realloc","hasItem","to_item_ID","end","Not enough bytes left in the parent box to parse a UUID box","Descriptor","pasp","numMetadataBlocks","layer","onError","readUint16","sample_has_redundancy","setInt16","ac-4","writeUint8","block_size","base_offset_size","reference_type","getUint32","acmod","data_offset"," and offset: ","extension_type","CUESHEET","bad_pixels","vp08SampleEntry","rash","findEndContiguousBuf"," offset: ","setInt8"," already stored in field of this type","hasIOD","mapFloat32Array","setInt32","subtitleTracks","trefBox","BIG_ENDIAN","checkBuffer","onSidx","createFile","parseFullHeader","und","' and size ","sthd","iaug","avs3","nonamespace","discardMdatData","appendChild","num_bad_pixels","samples_size","first_traf_merged","stream_read_1_bytes","avg_frame_rate","SampleGroup for type ","chroma_format_idc","nextSeekPosition","ref_track_id","SampleEntry ","CoupledCount","getTrexById","processSamples","codec_specific_parameters","writeUCS2String","dependency","operation_point_count","balance"," sample group length","uri ","UUIDs","item_name","cmex","parseOneDescriptor","style_record","image_width","u16stringbe","seekLists","boxCodes","BoxParser","sampleProcessingStarted","tfdtBox","num_leading_samples","box","DecoderConfigDescriptor","fromCharCodeUint8","dataView",", time ","ptl_multilayer_enabled_flag","length_size_of_traf_num","schema_location","layerNumber","encv","videoTracks"," full item size: ","setFloat32","movie_timescale","getDurationString","protection","co64Box","maximum_bitrate","scnm","ptl_multilayer_enabled","horizresolution","url Box","default_isProtected","mapFloat64Array","attribute_list","trak","level","onSamples","iinf","language","LiveServerManifest","dynamicSize","cslg","ES_Descriptor","nbSamples","period","scif"," of size: ","Adjusted seek position (after checking data already in buffer): ","nalu","subs","duration","stcoBox","transferCharacteristics","getTrackSample","hdlrBox","avc4SampleEntry","vmhd","memcpy","default_sample_duration","field_size","num_dep_sub","url ","adjustUint32","extents","fragment_duration","stsdBox","cts","Writing box ","colorSpace","_dataView","etyp","Unknown Sample Group type: ","PICTURE","sbgps","initSampleGroups","int16be","unsetExtractionOptions","mjp2","nalu_arrays","AudioSampleEntry","constantFrameRate","target_rate_share","stdp","uncv","bufferIndex","'","readUint16Array","isVideo","Error in length field in stz2 box","avc3","sample_sizes","full_range_flag","Not enough data in stream to parse the entire '","pixi","num_bad_cols","descs","lang","max_ref_per_pic","saio","av1C marker problem","createUUIDBox","assignment_type","minor_version","timescale: ","SAMPLE_ENTRY_TYPE_VISUAL","OCR_ES_ID","], [","data_format","profile_compatibility","TRUN_FLAGS_CTS_OFFSET","tref","avcCBox","seekTrack","32001720FaKcOq","vvcN","max_display_mastering_luminance","j2ki","range_size","writeInt16Array","2Dqvbzw","shift","free","uint16be"];return(Aa=function(){return e})()}function ka(e,t){var r=Aa();return(ka=function(e,t){return r[e-=393]})(e,t)}Ia[Sa(1389)],Ia[Sa(1645)],Ia[Sa(606)],Ia[Sa(1145)],Ia[Sa(595)],Ia.BoxParser,Ia[Sa(553)],Ia[Sa(1599)],Ia[Sa(699)],Ia[Sa(1206)];const Ea=Ta;function Ca(){const e=["stack overflow","set","debugWarn","52711KaeMjs","wasm not supported","TAG_NAME","debugLog","init error","transport","Instance","1332276oZDmPH","player","135552MAaWmz","init","Memory","slice","9yciyhk","reverse","parse","TransportDescrambler","exports","function","byteLength","destroy","every","Module","length","instantiate","26928390LlwrBd","12qkmoVz","1883270ZSdNpd","object","not support wasm","4474664WUcgrk","instance","6QbIfoD","catch","buffer","2951473AhcDyL","reduce","memory"];return(Ca=function(){return e})()}function xa(e){return e[Ta(176)](((e,t)=>256*e+t))}function Ta(e,t){const r=Ca();return(Ta=function(e,t){return r[e-=165]})(e,t)}function Ba(e){const t=Ta,r=[101,103,119,99],n=e[t(204)]-28,i=e[t(193)](n,n+r.length);return r[t(202)](((e,t)=>e===i[t]))}!function(e,t){const r=Ta,n=e();for(;;)try{if(390222===parseInt(r(181))/1*(-parseInt(r(172))/2)+-parseInt(r(188))/3+parseInt(r(190))/4+parseInt(r(167))/5*(-parseInt(r(166))/6)+-parseInt(r(175))/7+-parseInt(r(170))/8+-parseInt(r(194))/9*(-parseInt(r(165))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ca);Ea(186);function Da(e,t){const r=Ma();return(Da=function(e,t){return r[e-=203]})(e,t)}function Pa(){const e=Da;for(var t=arguments[e(210)],r=new Array(t),n=0;n{const n=e,s=new i((0|t.byteLength)+(0|r[n(213)]));return s[n(206)](t,0),s[n(206)](r,0|t[n(213)]),s}),new i)}function Ma(){const e=["length","toString","52BHvqMJ","byteLength","11HgzKfg","313896zxCpUa","203889ZReNDO","reduce","8155310soiPJX","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","constructor","768024QXLQac","error","padStart","substr","3345360GyNOTs","45uhWUer","982954QxCHnc","set","2905EdeUfs","replace","12816anXkor"];return(Ma=function(){return e})()}function Ua(){const e=["array","2360829hUvyrA","7TUvAqx","splice","key is invalid","length","substr","12668VouSqP","set","includes","padding is invalid","byteLength","pkcs#5","4384795fKFrgw","push","fromCodePoint","1087540DZmCKP","760566eVrVmd","12790251PfWQIq","codePointAt","61000KBZXhq","cbc","slice","input is not supported","toString","42bNGTaK","string","error","join","pkcs#7"];return(Ua=function(){return e})()}function Fa(e,t){const r=Ua();return(Fa=function(e,t){return r[e-=118]})(e,t)}!function(e,t){const r=Da,n=e();for(;;)try{if(587790===parseInt(r(215))/1+-parseInt(r(205))/2+parseInt(r(216))/3*(parseInt(r(212))/4)+-parseInt(r(203))/5+-parseInt(r(209))/6*(-parseInt(r(207))/7)+parseInt(r(221))/8*(parseInt(r(204))/9)+-parseInt(r(218))/10*(parseInt(r(214))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ma),function(e,t){const r=Fa,n=e();for(;;)try{if(515417===-parseInt(r(135))/1*(-parseInt(r(140))/2)+-parseInt(r(134))/3+-parseInt(r(119))/4+parseInt(r(146))/5+parseInt(r(120))/6*(-parseInt(r(128))/7)+-parseInt(r(123))/8+parseInt(r(121))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ua);const Ra=16,La=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Oa=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function za(e){const t=Fa,r=[];for(let n=0,i=e.length;n{const t=Fa;return 1===(e=e[t(127)](16))[t(138)]?"0"+e:e})).join("")}function Ha(e){const t=Fa,r=[];for(let n=0,i=e[t(138)];n>>6),r[t(147)](128|63&i);else if(i<=55295||i>=57344&&i<=65535)r[t(147)](224|i>>>12),r.push(128|i>>>6&63),r[t(147)](128|63&i);else{if(!(i>=65536&&i<=1114111))throw r[t(147)](i),new Error(t(126));n++,r[t(147)](240|i>>>18&28),r[t(147)](128|i>>>12&63),r[t(147)](128|i>>>6&63),r[t(147)](128|63&i)}}return r}function Wa(e){const t=Fa,r=[];for(let n=0,i=e[t(138)];n=240&&e[n]<=247?(r.push(String[t(118)](((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r.push(String[t(118)](((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r.push(String[t(118)](((31&e[n])<<6)+(63&e[n+1]))),n++):r[t(147)](String[t(118)](e[n]));return r[t(131)]("")}function Va(e,t){const r=31&t;return e<>>32-r}function ja(e){return(255&La[e>>>24&255])<<24|(255&La[e>>>16&255])<<16|(255&La[e>>>8&255])<<8|255&La[255&e]}function $a(e){return e^Va(e,2)^Va(e,10)^Va(e,18)^Va(e,24)}function Ga(e){return e^Va(e,13)^Va(e,23)}function qa(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=$a(ja(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=$a(ja(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=$a(ja(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=$a(ja(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function Xa(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^Oa[r+0],t[r+0]=n[0]^=Ga(ja(e)),e=n[2]^n[3]^n[0]^Oa[r+1],t[r+1]=n[1]^=Ga(ja(e)),e=n[3]^n[0]^n[1]^Oa[r+2],t[r+2]=n[2]^=Ga(ja(e)),e=n[0]^n[1]^n[2]^Oa[r+3],t[r+3]=n[3]^=Ga(ja(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function Ka(e,t,r){const n=Fa;let{padding:i="pkcs#7",mode:s,iv:a=[],output:o=n(129)}=arguments[n(138)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===n(124)&&(typeof a===n(129)&&(a=za(a)),16!==a.length))throw new Error("iv is invalid");if(typeof t===n(129)&&(t=za(t)),16!==t[n(138)])throw new Error(n(137));if(e="string"==typeof e?0!==r?Ha(e):za(e):[...e],(i===n(145)||"pkcs#7"===i)&&0!==r){const t=Ra-e[n(138)]%Ra;for(let r=0;r=Ra;){const t=e[n(125)](h,h+16),i=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(144)];let a=new Uint8Array(e[r(125)](0,5)),o=5;for(;os){const t=new Uint8Array(a[r(138)]+e[r(138)]-o);t[r(141)](a,0),t[r(141)](e.slice(o),a[r(138)]),a=t;break}let l=e[o+4],d=!1,h=2;if(n?(i&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(142)](l)):(l&=31,d=1===l||5===l),d){const n=Ka(e.slice(o+4+h,o+4+u),t,0,{padding:"none",output:r(133)});let i=n[n.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n[r(138)]-t]!==i){e=!1;break}e&&n[r(136)](n[r(138)]-i,i)}const s=new Uint8Array(h);s[r(141)](e[r(125)](o+4,o+4+h),0);const c=Ct(Pa(s,new Uint8Array(n))),l=new Uint8Array(a[r(138)]+c.length);l[r(141)](a,0),l[r(141)](c,a.length),a=l}else{const t=e[r(125)](o+4,o+4+u),n=new Uint8Array(a[r(138)]+4+t.length);n[r(141)](a,0),n.set(c,a[r(138)]),n[r(141)](t,a[r(138)]+4),a=n}o=o+4+u}return a}function Qa(e,t){const r=eo();return(Qa=function(e,t){return r[e-=177]})(e,t)}const Za=Qa;function eo(){const e=["280660nDGOIa","2423331sSdRaB","push","5309580TlHEmk","forEach","apply","53236anqpvm","141222hNngOE","ctx","emit","off","length","once","1177112OijVqo","459800xWIORI","7fOHQrF","54oGfZVI","keys","1HWWMUQ"];return(eo=function(){return e})()}!function(e,t){const r=Qa,n=e();for(;;)try{if(145369===-parseInt(r(187))/1*(parseInt(r(188))/2)+-parseInt(r(185))/3*(-parseInt(r(194))/4)+-parseInt(r(183))/5+-parseInt(r(195))/6*(-parseInt(r(184))/7)+-parseInt(r(182))/8+-parseInt(r(189))/9+parseInt(r(191))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(eo);class to{on(e,t,r){const n=Qa,i=this.e||(this.e={});return(i[e]||(i[e]=[]))[n(190)]({fn:t,ctx:r}),this}[Za(181)](e,t,r){const n=this;function i(){const s=Qa;n[s(179)](e,i);for(var a=arguments[s(180)],o=new Array(a),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,n=i[r(180)];e=2&&!this[r(400)];)if(255==this[r(393)][this[r(392)]]){if(!(!1&this.tempBuffer[this[r(392)]+1])){this[r(398)]=this.tempBuffer[this[r(392)]+1],this.state=so.findFirstStartCode,this[r(404)]=this.parsedOffset,this[r(392)]+=2,e=!0;break}this[r(392)]++}else this[r(392)]++;if(e)continue;break}if(this[r(409)]==so.findFirstStartCode){let e=!1;for(;this[r(393)][r(396)]-this.parsedOffset>=2&&!this[r(400)];)if(255==this[r(393)][this[r(392)]]){if(this[r(393)][this.parsedOffset+1]==this[r(398)]){this[r(409)]=so[r(386)],this[r(399)]=this[r(392)],this[r(392)]+=2,e=!0;break}this[r(392)]++}else this[r(392)]++;if(e)continue;break}if(this[r(409)]==so.findSecondStartCode){let e=this[r(393)][r(408)](this[r(404)],this[r(399)]);this.emit(r(389),e,t),this.tempBuffer=this.tempBuffer[r(408)](this[r(399)]),this[r(404)]=0,this.parsedOffset=2,this[r(409)]=so.findFirstStartCode}}}}function oo(e,t,r){const n=uo;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e[n(198)];let a=5;for(;as)break;let c=e[a+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(194)](c)):(c&=31,u=1===c||5===c),u){const i=oo(e[n(201)](a+4,a+4+o),t,r);e.set(i,a+4)}a=a+4+o}return e}function fo(){for(var e=po,t=arguments.length,r=new Array(t),n=0;nt+r[e(414)]),0));let s=0;return r[e(422)]((t=>{var r=e;i[r(426)](t,s),s+=t[r(414)]})),i}function po(e,t){var r=mo();return(po=function(e,t){return r[e-=414]})(e,t)}function mo(){var e=["8324352znXNvW","4erXGDI","1536508ShBKJB","forEach","726240zvplKG","length","3246PPbIzE","set","158256cDXIAB","byteLength","reduce","1412768lqtQvF","40xqNllw","432897qefzZt"];return(mo=function(){return e})()}function vo(e,t){const r=yo();return(vo=function(e,t){return r[e-=129]})(e,t)}function yo(){const e=["push","destroys","proxy","1877752TVavOD","397755vAzedX","removeEventListener","map","addEventListener","42PCRSag","8388VAIXKZ","6535269VcoaWn","bind","length","1146108PtSsom","6SIPoTU","destroy","isArray","2267770TKRfQC","master","debugLog","141260YupmWX","Events"];return(yo=function(){return e})()}!function(e,t){const r=uo,n=e();for(;;)try{if(274862===parseInt(r(193))/1+parseInt(r(195))/2+parseInt(r(204))/3*(parseInt(r(199))/4)+-parseInt(r(197))/5+-parseInt(r(203))/6+-parseInt(r(205))/7+-parseInt(r(196))/8*(-parseInt(r(200))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(lo),function(e,t){for(var r=po,n=e();;)try{if(202985===parseInt(r(427))/1+parseInt(r(420))/2*(parseInt(r(418))/3)+parseInt(r(421))/4+-parseInt(r(417))/5*(-parseInt(r(425))/6)+parseInt(r(416))/7+parseInt(r(423))/8+-parseInt(r(419))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mo);const go=vo;!function(e,t){const r=vo,n=e();for(;;)try{if(246430===-parseInt(r(145))/1+parseInt(r(139))/2*(-parseInt(r(129))/3)+parseInt(r(138))/4+-parseInt(r(142))/5+-parseInt(r(134))/6*(parseInt(r(133))/7)+parseInt(r(150))/8+parseInt(r(135))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(yo);class _o{constructor(e){const t=vo;this[t(148)]=[],this[t(149)]=this[t(149)][t(136)](this),this.master=e}proxy(e,t,r){const n=vo;let i=arguments[n(137)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array[n(141)](t))return t[n(131)]((t=>this[n(149)](e,t,r,i)));e[n(132)](t,r,i);const s=()=>{const s=n;Ht(e.removeEventListener)&&e[s(130)](t,r,i)};return this[n(148)][n(147)](s),s}[go(140)](){const e=go;this[e(143)][e(144)](e(146),e(140)),this[e(148)].forEach((e=>e())),this[e(148)]=[]}}const bo=So;!function(e,t){const r=So,n=e();for(;;)try{if(810925===parseInt(r(452))/1+-parseInt(r(444))/2+parseInt(r(440))/3+parseInt(r(430))/4*(parseInt(r(477))/5)+-parseInt(r(464))/6*(-parseInt(r(486))/7)+parseInt(r(490))/8+-parseInt(r(513))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Io);class wo{static[bo(488)](){const e=bo;wo.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in wo.types)wo.types[e(510)](t)&&(wo.types[t]=[t[e(448)](0),t[e(448)](1),t[e(448)](2),t[e(448)](3)]);let t=wo[e(461)]={};t.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t[e(496)]=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(502)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(483)]=t[e(445)]=t[e(502)],t[e(442)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(458)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(460)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t[e(447)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(446)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[bo(489)](e){const t=bo;let r=8,n=null,i=Array.prototype[t(485)][t(451)](arguments,1),s=i.length;for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n[t(512)](e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static[bo(433)](e){const t=bo;return wo.box(wo[t(476)][t(433)],wo.tkhd(e),wo[t(449)](e))}static[bo(454)](e){const t=bo;let r=e.id,n=e[t(438)],i=e[t(507)],s=e[t(480)];return wo[t(489)](wo[t(476)][t(454)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static[bo(449)](e){const t=bo;return wo[t(489)](wo[t(476)][t(449)],wo[t(457)](e),wo[t(455)](e),wo.minf(e))}static[bo(457)](e){const t=bo;let r=e.timescale,n=e[t(438)];return wo[t(489)](wo.types[t(457)],new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static[bo(455)](e){const t=bo;let r=null;return r=e[t(503)]===t(469)?wo.constants[t(460)]:wo[t(461)][t(458)],wo[t(489)](wo[t(476)][t(455)],r)}static[bo(472)](e){const t=bo;let r=null;return r="audio"===e[t(503)]?wo[t(489)](wo[t(476)][t(501)],wo[t(461)][t(515)]):wo[t(489)](wo[t(476)][t(429)],wo[t(461)][t(446)]),wo.box(wo[t(476)][t(472)],r,wo[t(428)](),wo[t(470)](e))}static[bo(428)](){const e=bo;return wo[e(489)](wo[e(476)][e(428)],wo[e(489)](wo[e(476)][e(504)],wo.constants[e(447)]))}static[bo(470)](e){const t=bo;return wo[t(489)](wo[t(476)][t(470)],wo.stsd(e),wo.box(wo[t(476)][t(456)],wo[t(461)][t(502)]),wo[t(489)](wo[t(476)][t(492)],wo.constants[t(483)]),wo[t(489)](wo[t(476)][t(467)],wo[t(461)].STSZ),wo[t(489)](wo.types[t(443)],wo[t(461)].STCO))}static[bo(500)](e){const t=bo;return e[t(503)]===t(469)?e[t(437)]===t(466)?wo[t(489)](wo.types[t(500)],wo[t(461)][t(496)],wo[t(466)](e)):wo[t(489)](wo[t(476)][t(500)],wo.constants[t(496)],wo[t(479)](e)):e.videoType===t(482)?wo[t(489)](wo[t(476)].stsd,wo[t(461)].STSD_PREFIX,wo[t(508)](e)):wo[t(489)](wo[t(476)][t(500)],wo.constants[t(496)],wo.hvc1(e))}static mp3(e){const t=bo;let r=e.channelCount,n=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return wo[t(489)](wo[t(476)][t(450)],i)}static[bo(479)](e){const t=bo;let r=e[t(465)],n=e[t(439)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return wo[t(489)](wo[t(476)][t(479)],i,wo[t(511)](e))}static esds(e){const t=bo;let r=e[t(432)]||[],n=r[t(475)],i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n])[t(516)](r)[t(516)]([6,1,2]));return wo.box(wo[t(476)][t(511)],i)}static[bo(508)](e){const t=bo;let r=e[t(505)];const n=e.codecWidth,i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return wo.box(wo[t(476)].avc1,s,wo[t(489)](wo[t(476)][t(484)],r))}static[bo(517)](e){const t=bo;let r=e[t(505)];const n=e[t(471)],i=e[t(481)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return wo[t(489)](wo.types.hvc1,s,wo[t(489)](wo[t(476)].hvcC,r))}static[bo(497)](e){const t=bo;return wo.box(wo[t(476)][t(497)],wo.trex(e))}static[bo(494)](e){const t=bo;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return wo[t(489)](wo.types[t(494)],n)}static[bo(436)](e,t){const r=bo;return wo[r(489)](wo[r(476)].moof,wo[r(468)](e[r(499)]),wo[r(491)](e,t))}static[bo(468)](e){const t=bo;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return wo[t(489)](wo[t(476)][t(468)],r)}static traf(e,t){const r=bo;let n=e.id,i=wo[r(489)](wo[r(476)][r(487)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=wo[r(489)](wo[r(476)][r(463)],new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=wo[r(459)](e),o=wo[r(435)](e,a[r(462)]+16+16+8+16+8+8);return wo[r(489)](wo.types[r(491)],i,s,o,a)}static[bo(459)](e){const t=bo;let r=new Uint8Array(5),n=e[t(473)];return r[4]=n[t(453)]<<6|n.dependsOn<<4|n[t(509)]<<2|n.hasRedundancy,wo[t(489)](wo[t(476)][t(459)],r)}static[bo(435)](e,t){const r=bo;let n=new Uint8Array(28);t+=36,n.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,s=e.size,a=e[r(473)],o=e.cts;return n[r(512)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a[r(453)]<<2|a[r(506)],a[r(509)]<<6|a[r(474)]<<4|a[r(441)],0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),wo[r(489)](wo[r(476)].trun,n)}static[bo(431)](e){const t=bo;return wo[t(489)](wo[t(476)][t(431)],e)}}function So(e,t){const r=Io();return(So=function(e,t){return r[e-=428]})(e,t)}function Io(){const e=["minf","flags","hasRedundancy","length","types","5GVfnrB","generateInitSegment","mp4a","presentHeight","codecHeight","avc","STSC","avcC","slice","2996119JTJKtn","tfhd","init","box","4912496IXwMqR","traf","stsc","timescale","trex","FTYP","STSD_PREFIX","mvex","ftyp","sequenceNumber","stsd","smhd","STTS","type","dref","avcc","dependsOn","presentWidth","avc1","isDependedOn","hasOwnProperty","esds","set","20620413ULfZKU","mvhd","SMHD","concat","hvc1","dinf","vmhd","3224772UcXbRm","mdat","config","trak","moov","trun","moof","audioType","duration","audioSampleRate","4668570SccMoQ","isNonSync","STSZ","stco","2578680QKuMLr","STCO","VMHD","DREF","charCodeAt","mdia",".mp3","call","986960fEZZFC","isLeading","tkhd","hdlr","stts","mdhd","HDLR_VIDEO","sdtp","HDLR_AUDIO","constants","byteLength","tfdt","6KALBTM","channelCount","mp3","stsz","mfhd","audio","stbl","codecWidth"];return(Io=function(){return e})()}wo[bo(488)]();var Ao=ko;function ko(e,t){var r=Co();return(ko=function(e,t){return r[e-=306]})(e,t)}!function(e,t){for(var r=ko,n=e();;)try{if(300866===parseInt(r(310))/1*(-parseInt(r(315))/2)+parseInt(r(317))/3+parseInt(r(314))/4+-parseInt(r(307))/5+-parseInt(r(313))/6+-parseInt(r(312))/7*(parseInt(r(321))/8)+-parseInt(r(316))/9*(-parseInt(r(318))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Co);var Eo=rt[Ao(309)]((function(e){var t=Ao;e[t(306)]=function(e,t,r){return t in e?Object[ko(311)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e[t(306)][t(319)]=!0,e[t(306)][t(320)]=e[t(306)]}));function Co(){var e=["createCommonjsModule","1MHdDlO","defineProperty","49bxpOvB","1550592EbUVLX","569932xSrOPi","38330YEBCLc","3256623odOlOX","1709337NYdeoL","20tCwaUU","__esModule","default","454976oFgjRW","exports","2296945utQKwH","unwrapExports"];return(Co=function(){return e})()}function xo(){const e=["1447854DZnLAX","length","3142587pCkzIP","object_type","10139064zEcoqf","data","Invalid MP3 packet, first byte != 0xFF ","889716PmwBpO","38JaYQVo","269970wTyqAz","error","3301758gErKbK","mp3","198rGtORQ","99LrLUuB","sample_rate","5Zrogiv"];return(xo=function(){return e})()}function To(e,t){const r=xo();return(To=function(e,t){return r[e-=291]})(e,t)}rt[Ao(308)](Eo),function(e,t){const r=To,n=e();for(;;)try{if(773647===-parseInt(r(304))/1*(parseInt(r(298))/2)+-parseInt(r(301))/3+parseInt(r(297))/4+-parseInt(r(306))/5*(-parseInt(r(307))/6)+-parseInt(r(292))/7+parseInt(r(294))/8+parseInt(r(303))/9*(parseInt(r(299))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(xo);const Bo=[44100,48e3,32e3,0],Do=[22050,24e3,16e3,0],Po=[11025,12e3,8e3,0],Mo=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Uo=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Fo=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Ro(e){const t=To;if(e.length<4)return void console[t(300)]("Invalid MP3 packet, header missing!");let r=new Uint8Array(e.buffer),n=null;if(255!==r[0])return void console[t(300)](t(296));let i=r[1]>>>3&3,s=(6&r[1])>>1,a=(240&r[2])>>>4,o=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0,d=t(302);switch(i){case 0:u=Po[o];break;case 2:u=Do[o];break;case 3:u=Bo[o]}switch(s){case 1:a=e[s]&&t=6?(i=5,r=new Array(4),o=s-3):(i=2,r=new Array(2),o=s):-1!==c.indexOf(t(126))?(i=2,r=new Array(2),o=s):(i=5,o=s,r=new Array(4),s>=6?o=s-3:1===a&&(i=2,r=new Array(2),o=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&a)<<3,5===i&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),this[t(131)]=r,this[t(170)]=Wo[s],this[t(138)]=s,this.channel_count=a,this[t(111)]=i,this[t(164)]=n,this[t(117)]=t(120)+i,this[t(173)]="mp4a.40."+n}}function qo(){const e=["readUEG","bitLength","5840630rHVROc","getBits","skipUEG","152VZrvel","skipLZ","readEG","2905jHqgps","bitsAvailable","readBoolean","length","1783800TWLjtw","3301865RtPKUz","43938QUAdiD","readBits","6100hKmhIv","7842948JaIZSR","2LIYjpv","data","index","skipBits","1310486HisIKE","22gApMLs"];return(qo=function(){return e})()}const Xo=Ko;function Ko(e,t){const r=qo();return(Ko=function(e,t){return r[e-=353]})(e,t)}!function(e,t){const r=Ko,n=e();for(;;)try{if(891770===parseInt(r(368))/1*(-parseInt(r(364))/2)+-parseInt(r(358))/3+-parseInt(r(362))/4*(-parseInt(r(354))/5)+parseInt(r(363))/6+-parseInt(r(359))/7+-parseInt(r(375))/8*(parseInt(r(360))/9)+-parseInt(r(372))/10*(-parseInt(r(369))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(qo);class Yo{constructor(e){const t=Ko;this[t(365)]=e,this[t(366)]=0,this[t(371)]=8*e.byteLength}get[Xo(355)](){const e=Xo;return this.bitLength-this[e(366)]}[Xo(367)](e){const t=Xo;if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this[t(373)](e,this.index,r)}[Xo(373)](e,t){const r=Xo;let n=!(arguments[r(357)]>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,a=8-i;if(a>=e)return n&&(this.index+=e),s>>a-e;{n&&(this[r(366)]+=a);const i=e-a;return s<>>1:-1*(e>>>1)}[Xo(356)](){return 1===this[Xo(361)](1)}readUByte(){const e=Xo;let t=arguments[e(357)]>0&&void 0!==arguments[0]?arguments[0]:1;return this[e(361)](8*t)}readUShort(){return this.readBits(16)}readUInt(){return this[Xo(361)](32)}}function Jo(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=ac,n=e();;)try{if(707416===parseInt(r(119))/1+parseInt(r(102))/2*(-parseInt(r(109))/3)+-parseInt(r(115))/4+parseInt(r(114))/5*(parseInt(r(118))/6)+parseInt(r(111))/7+-parseInt(r(103))/8+-parseInt(r(120))/9*(-parseInt(r(112))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(cc);const Qo=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Zo=new Array(2746333894,1453994832,1736282519,2993693404),ec=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function tc(e,t,r,n,i){var s=ac,a=i;a=t+i>e.length&&n+i<=r[s(116)]?e[s(116)]-t:n+i>r[s(116)]&&t+i<=e.length?r.length-n:t+i<=e[s(116)]&&n+i<=r.length?i:r.length>24&255,e>>16&255,e>>8&255,255&e)}function nc(e,t){var r=ac;return t+3>>19)^(n<<23|n>>>9)}function ac(e,t){var r=cc();return(ac=function(e,t){return r[e-=101]})(e,t)}function oc(e,t){var r=new Array(36);r[0]=nc(t,0),r[1]=nc(t,4),r[2]=nc(t,8),r[3]=nc(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^uc(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=ac,r=new Array(4*e[t(116)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function lc(e,t,r){var n=ac;if(null==e||null==e||e.length%16!=0)return console[n(107)](n(113)),null;if(null==r||null==r||r[n(116)]<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t[n(116)]%16!=0)return console.log(n(110)),null;for(var i=ic(e),s=Math[n(117)](r[n(116)]/16),a=new Array(r.length),o=t.slice(),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments[n(116)]>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const a=e[n(104)];let o=5;for(;oa)break;let u=e[o+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(108)](u)):(u&=31,l=1===u||5===u),l){const i=lc(t,r,e.slice(o+4+d,o+4+c));e[n(106)](i,o+4+d)}o=o+4+c}return e}const hc=pc;function fc(){const e=["flags","video_track_","low_frequency_effects_channel_on","dispatchPESPrivateDataDescriptor","floor","from",'" string so return',", new height is ","isSm4Crypto opt.sm4CryptoKey is null","visibility","audioCode","useWCS"," ,\n and diff is ","audioChannelCount"," less than bufferStartDts is ","parse","parseMP3Payload","isWasmMp4","iframeIntervalTs","_doAppendSegments() sourceBuffer is null and wait init and return","streamDts","_checkTsIsMaxDiff","simdH264DecodeVideoWidthIsTooLarge","playbackForwardMaxRateDecodeIFrame","audioSourceBuffer","startStreamRateAndStatsInterval","mediaSourceDecoderConfigurationError",";codecs=","meta","size","_decodeConfigurationRecord"," and bufferlist is ","worker","getTrackById","then","cryptoIV","audio_metadata_","hasPendingEos","fps_den","kSliceSPS","parseH265Payload",", streamVideoFps is ","Opus: SamplingFrequencyIndex changed from ","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame","remove","streamFps","indexOf","Parsed first PAT: ","level_string","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","audio_track_","readNextAACFrame",'fetchNext().then() and value "',"generateInitSegment","debugLevel","endOfStream","pipeTo","getContext","hasAudioInit","audioDecode","minf","mp4",'writableStream write() and value is "',"parseSPS","pts","parseVideo265Header","isKeyframe","key","mediaSourceAudioInitTimeout","detectAudioMetadataChange","mediaSource is end","_doRemoveRanges() sourceBuffer error","kEAC3","networkDelay","_doCleanUpSourceBuffer","mseCorrectAudioTimeDuration","Client disconnecting","nakedFlowFps","reduce","VideoDecoder","demuxM7s","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","demuxFlv() type is ","setCodecAudio: init audio codec, codeId is ","clearPlaybackCacheLoop","mseSourceBufferError"," and preTsDuration is ","handleVideoH265NaluList","isStateOpen","ts_packet_size","preDelayTimestamp","fetch response status is ","open","hasIframeInBufferList","calcIframeIntervalTimestamp","onReady","extractNALu","fetchStatus","prevTs","calcNetworkDelay","sampling_frequency","getUint8","isHevc","payload","h264","originalCodec","demuxMpeg4","sarRatio","code","streamAudioFps","_decodeVideo now time is ","decodeAudio, decoder is destroyed and return","network_pid","isDestroyed","addSourceBuffer","kAC3","parsedOffset","synchronous_klv_pids","fetchNext().then() and done is true","smpte2038_pids","now","decodeAudio","Video: Codec mimeType changed from ","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","expected: ","_doRemoveRanges","codec_size","decodeVideo has not init , isIframe is ","dropBuffer$2","clearSlices","forEach","getDelayNotUpdateDelay() and preDelayTimestamp is ","getAllocatedSampleDataSize","isPlayer","demuxFmp4","appendBuffer() player is destroyed","present_size","AAC: Unknown pts","asynchronous_klv_pids","idle","playbackCacheBeforeDecodeForFpsRender, _opt.hasAudio is false and set streamAudioFps is 0","nearest_pts","section_slice_queues_","parseOpusPayload","kSCTE35","avcC","VideoEncoder","demuxM7s() type is video and arrayBuffer length is ","websocket","detectVideoMetadataChange","match","ts is ","getAudioSourceBufferUpdating","worker nakedFlow"," and payload size is ","player","dispatchVideoMediaSegment"," and\n payloadBufferSize is ","videoCodec","_clearAudioSourceBufferCheckTimeout","program_pmt_map_","debugLog","codecWidth","setInterval()","pushBuffer() and isIFrame is ","isDropping","hasInit","kADTSAAC","\n maybe trigger black screen or flower screen\n ","type","mseDecoder.mediaSourceAddSourceBufferError is true","AAC: Channel configuration changed from ","isDropSameTimestampGop","details","samplingRate","ec-3","isSm4Crypto","mseDecoder.mediaSourceAppendBufferFull is true","findSecondStartCode"," _opt.sampleRate is ","width: ",", bufferListLength is ",",\n and mseCorrectTimeDuration is ","playType","sourceOpen","onMediaSourceSourceOpen() sourceBuffer is null and next init"," and is Trial Version[试用版本]","videoInfo","pes_private_data_pids"," and isNotPushDropping is ","status","removeSourceBuffer","fetch done"," and mseCorrectTimeDuration is ","videoTracks","isEmitInfo","videoMeta","bit_depth","mseUpdateVideoTimestamp","extractNALu$3","mediaSourceAudioNoDataTimeout","playbackStreamVideoFps","map","pcr_pid","debugWarn","protocol","string","useOffscreen","parseAC3Payload"," and isIFrame is ","mseWorkerAddSourceBufferError","websocket error","cancel","pid_stream_type","sm4CryptoKey","writableStream write() and requestAbort is true so return","getVideoBufferLength","_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()"," and\n ts is ","codedHeight"," and forOldVersion is ","isFlv","lastBuf","websocketOpen","resetDelay","_doAppendSegments() mediaSource is closed or ended and return","decodeVideo\n local dts is < 0 , ts is ","isPlayVod","startTimestamp","units","name","Video: Present resolution width changed from ","AudioDecoder","recordType","writableStream pipeTo() and e is","hasInitVideoCodec","videoTrackId","onError","removeUsedSamples","abort catch","prevTimestamp","doDecode","handleNALu","streamVideoFps","mseCorrectTimeDuration",", start dts is ","fps","14fDzvns","emitPESSlices","isCacheBeforeDecodeForFpsRender","abortSourceBuffer"," ts is "," and nalUnitSize is ","Generated first AudioSpecificConfig for mimeType: ","stopId","abortSourceBuffer() abort sourceBuffer","isStateClosed"," and decoder.delay is ","writableStream close()","end","networkDelayTimeout","_doAppendSegments","kSliceNonIDR","decodeNext","debugError","close() and socket.readyState is "," and firstRenderTime is ","debugUuid","sort","setCodec","config","checkFirstIFrame","mseDecoderUseWorker",",nalu type is ","tsPacketSize","kMetadata","findIndex","kSliceIDR_N_LP","duration_","dropBuffer$2() iFrameIndex is ","push","createImageBitmap","getDelay","removeSourceBuffer() audioSourceBuffer error","data","random_access_indicator","headers","isWidthOrHeightChanged","cacheTrack","kLOASAAC","dispatchAudioVideoMediaSegment","sampling_freq_index","channelCount"," but isSocketError is true , so return","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","kSliceSEI"," and prev ts is "," and maxDiff is ","write","codedWidth","codec","initVideo","nakedFlowDemuxUseNew","height","setCodecAudio: mp3 is not support for old version","readyState","handleVideoH265Nalu","adts_aac","audioBufferSize","chroma_format","socket is not open","mpeg4",", streamAudioFps is ","isPlaybackOnlyDecodeIFrame","80CWbjHt","_onMediaSourceSourceOpen","Not Supported Opus channel count.","Opus","audioMimeType","audioTrackId"," and ok is ","pps","firstStartCodeOffset","object_type","prevPayloadBufferSize","decode data type is ","audio_object_type","streamSuccess","MediaSource","initAudio","destroy","onOffscreenCanvasWebglContextLost","\n and replay","isSm4CryptoH265V2","debug","ms, PES pts: ","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","timescale_",", not 0x47","1219048tFzXpD","onOffscreenCanvasWebglContextRestored","is_sync","channel_count","readBits","supportMSEDecodeHevc","readUEG"," > maxDelay ","abort success","TAG_NAME","_initSourceBuffer and mseDecoder.isStateOpen is ","firstRenderTime is ","parseEAC3Payload","request abort and run res.body.cancel()","mediaSourceError","calcNetworkDelay now dts:"," , message is ","videoNalu","webgl","_preDoDecode","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","isRecordTypeFlv","value","media_info_","75915eqlXMN","isVideoInited","firstStartCodeOffset -14 is","vps","streamType","cryptoKey"," and prevPayloadBufferSize is ","iFrame","flvBufferData","kSliceIDR","close","_resetInIt"," and diff is ","init","dts","KLVA","kSliceIDR_W_RADL","parsePMT","Opus: Channel count changed from ","stopStreamRateAndStatsInterval","\n decodeVideo: video width or height is changed,\n old width is ","endOfStream() has pending eos"," ,new bufferList is ",", diff time is ","_isEnhancedH265Header","fetchNext().catch() and e.name is AbortError so return","pushBuffer video and isIFrame is ","parsePESPrivateDataPayload","videoCode","videoSEI",", preTs is ","videoDecode","fetchStream, WebsocketStream socket close and code is ","dropping","min","chromaFormat","kH265","_bindMediaSourceEvents","mseAutoCleanupMinBackwardDuration","isMpeg4","audioSequenceNumber","subarray","types","fromCharCode","mseSourceBufferError mseDecoder.sourceBuffer","kSlicePPS","wcsDecodeAudio","JbPro Worker Version is ","isEmitSEI"," > ","abort","_decodeVideo payload bytes is 0 and return","m7sCryptoAudio"," and\n ts is ","getSourceBufferUpdating","nakedFlowH265DemuxUseNew","getNaluDts","toString","ac3","video","_hasPendingSegments","playbackIsPause","153134wrhifA","parsePMT: table_id ","mseAutoCleanupMaxBackwardDuration","_decodeConfigurationRecord error","sourceClose","codec_mimetype","isNakedFlow","HEAPU32","current_program_","audio","hasAudio","streamEndInner","pid","findSei","resetAllDelay","presentHeight","Timed ID3 Metadata: pid=","decodeVideo and payload is too small , payload length is ","refSampleDuration","decode","h265 naluList.length === 0"," and prevTs is ","_getSeqHeader","file_position","frame_rate","loop() common dumex delay is -1 ,data.ts is","emitSectionSlices","code is ","loas_aac","AAC","parseTimedID3MetadataPayload","flvScriptData","parseH264Payload","parsePAT","aac_last_incomplete_data_","mediaSourceFull","options:","handleVideoH265NaluList list size is ","length","extractH264SEI","abs","mseDecoder.mediaSourceAppendBufferError is true","offscreenCanvasCtx",'" and return',"reset","lastBuffer","shift","kMPEG2Audio","h265","samples","loop() do not decode and delay is ","cryptoPayload","handleAddNaluStartCode","pushBuffer,\n preTimestamp is ","replace","fps_num","width","demuxFlv","AC3: Sampling Frequency changed from ","pendingAudioSegments","parsePAT: table_id ","video_init_segment_dispatched_","playAudio","stbl","complete","isfms","abortSourceBuffer() abort audioSourceBuffer","decodeDiffTimestamp","width is ","handleOffscreenCanvasWebglContextLost and next try to create webgl","cryptoPayloadAudio","h264 naluList.length === 0","updateend","video_metadata_changed_"," vs start is "," and return"," and,\n options.ts is ","workerEnd","writableStream abort() and e.name is AbortError so return","buffer","4035966esoJzv","codecHeight","firstTimestamp"," and isDestroyed is true, so return","parseVPS","getAudioBufferLength","mediaSource is not attached to video or mediaSource is closed","handleVideoH264Nalu","fetchStream"," and emit replay","isPushDropping","level","sourceended","MULAW","has not init video codec","locked","sampleRate","playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ","appendAudioBuffer() player is destroyed","VideoDecoder configure error","handlePESSlice: packet_start_code_prefix should be 1 but with value ","syncOffset","setCodecAudio","sarNum","isIFrame","AC3: BitStream Mode changed from ","firstAudioTime","streamStats","len","timescale","hasVideo",", stream_id=","TAG","sps","videoPayload","getHandle",", pts=","timeInit","program_number","setCodecVideo: SIMD H264 decode video width is too large, width is ",",and old bufferList length is ","videoSequenceHeader","pendingAudioRemoveRanges","isStateEnded","has_audio_","decodeVideo: video width or height is changed, and return","writableStream","sarDen","mediaSourceAddSourceBufferError","sar_ratio","audioSampleRate","original_codec_mimetype","_decodeAudioConfigurationRecord","\n decodeVideo: video width or height is changed,\n old width is ","stringify","_decodeEnhancedH265Video","pat_"," > timestamp is ","handleVideoH264Frames","ceil","isSendSeqHeader","mp4Box","avcc","listenMp4Box",",\n and resetAllDelay","handleSectionSlice","mseDecoder.mediaSourceBufferError is true","loop() dropBuffer is dropping and isIFrame ","firstAudioTime is ",", options.ts is ","clearBuffer","Malformed PES: PES_packet_length < 3 + PES_header_data_length","assign","hvcc","removeEventListener","aac","tempStream","_hasPendingRemoveRanges","fetch().catch() and e.name is AbortError so return"," and notDroppingDelayTs is ","onerror","scte_35_pids","url","ref_frames","AAC: AudioObjectType changed from "," and isVideoSqeHeader is ","stream_type",",\n and emit change event","VideoDecoder configure has not init , isIframe is ","audioSampleRateIndex","VANC","pushBuffer audio ts is ","getNearestTimestampMilliseconds","setExtractionOptions","videoMimeType"," so drop this frame",", isAacCodecPacket is true","flush","prevAudioTs"," ant auto wasm decode","writableStream abort() and e is ","pmt_","pendingUnits","getDelay() and preDelayTimestamp is ",",\n firstAudioTime is ","readUByte","Video: Coded Resolution changed from ","renderYUV","video_metadata_"," ,\n and now ts is ","_clearAudioNoDataCheckTimeout","audioSourceBufferCheckTimeout","parseLOASAACPayload","last_pcr_","mseFirstRenderTime","streamVideoType is null","secondStartCodeOffset","version_number","webglcontextrestored","36GAXpkl","mdat","removeSourceBuffer() sourceBuffer","getStreamBufferLength","sample_rate","slice","playbackUpdatePlaybackRate"," , payload is ","isWorkerFetch","preventDefault","ms and return ","dispatchVideoInitSegment","playbackCacheLoop","loop() isPushDropping is true and bufferList length is ","isM7sCrypto cryptoKey.length is ","LOG_NAME","\n isVideoSqeHeader is ",", and ts list is ",", set dropping is true","_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","setCodecAudio: hasInitAudioCodec is false, codecId is ","hvcC","readNextNaluPayload","events","fetch().catch() and e is ","decodeVideo, decoder is destroyed and return","mediaSourceAudioG711NotSupport","transferToImageBitmap","decodeVideo: hasInitVideoCodec is false, codecId is ","parseSynchronousKLVMetadataPayload","bit_stream_identification","sync_offset","protocols","decodeVideo: simd decode error, and return","expected_length","streamRate","audioNalu","setCodecVideo: hasInitVideoCodec is false, codecId is ","warn","binaryType",", streamFps is ","isDecodeFirstIIframe","getNotDroppingDelayTs","discontinuity_indicator","audio_init_segment_dispatched_","refFrames","message","audioMeta",", bufferList is ","moof","state","delay is ","isTs","yuvData, transferToImageBitmap error is","handleVideoH264NaluList","mseHandle","isPlayUseMSEAndDecoderInWorker","aacADTSHeader","wasmWidthOrHeightChange","mediaSourceTsIsMaxDiff","pushLatestDelay"," and prev dts is ","videoBufferDelay","current_pmt_pid_","duration","hev","mp3","FT_KEY","mp3Demuxer","kSliceCRA_NUT","3359037iappws","fetchNext().then() and requestAbort is true so return","PACKET_TYPE_FRAMESX","audioPayload","set","pushBuffer","1358036AIYuiT","useSIMD","options","hasIncompleteData","drawImage"," cacheTrack dts is ","_remainingPacketData","demuxTs","opus","getTime","prevAudioDts","opt","workerFetch","cts","closed","offset","sendWebsocketMessage"," is not corresponded to PMT!","dispatchAudioMediaSegment","audioTracks","streamEnd","offscreenCanvas","mseWidthOrHeightChange","AAC: Detected pts overlapped, ","channel_config"," to ","common_pids","appendBuffer",", isVideoSequenceHeader is true","streamVbps","Asynchronous KLV Metadata: pid="," and emit error and next abort()","onmessage:","updating","isFmp4","parseSection","isAvc"," and prev time is "," ,delay is "," ,streamVideoFps is ","SMPTE 2038 Metadata: pid=","prefixSei","aborted","_doDecodeVideo","start",",\n and prevPayloadBufferSize is ","bit_stream_mode","Audio: Audio Codecs changed from ","needInitAudio","decodeAudio first frame is not iFrame","fetchStream, WebsocketStream socket close abnormally and code is ","bitDepth","onmessage","mpeg","audioSourceNoDataCheckTimeout","useMSE","HEAPU8","audioCodec","handleVideoH264NaluList list size is ","handleVideoNalu","ac-3","AC3: Channel Mode changed from ","endOfStream()","has_video_"," and opt is","needClear","isPlayUseMSE","close() and audioDecoder.clear error","isAudioInitInfo","handlePESSlice"," or cryptoIV.length is "," playbackRate is ","playVod","mediaSourceAppendBufferError",", and ts is ","extractNALu$2","_needCleanupSourceBuffer","isFirefox"," next data type is ","addEventListener","streamVideoType","getDelayNotUpdateDelay","MP3: AudioObjectType changed from ","total_length","prevDts","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","firstRenderTime","profile_string","openWebglAlignment"," ,\n and now ts is ","fileStart","loas_previous_frame","first_parse_","suffixSei","payload_unit_start_indicator","playbackRate","profile","stop","updateConfig","MP3",", dts=","decodeAudio\n local dts is < 0 , ts is ","demux() isIFrame is false and unit type is IDR and update to true","mimeType","isM7sCrypto","PACKET_TYPE_SEQ_START","stencil","fetch","findFirstStartCode","worker mpeg4Demuxer","mseAutoCleanupSourceBuffer","buffered","delta","pendingSegments","clear",", syncOffset = ","_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","render","eventListenList","endOfStream() error","HEAPF32","mseDecoder.audioSourceBuffer.appendBuffer()","parseVideo264Header","mseSourceBufferError mseDecoder.audioSourceBuffer","byteLength","probe","VideoDecoder error: ",'video/mp2t; codecs="'," more than ",", height: ","_initAudioSourceBuffer","parseSPS$2","timed_id3_pids","mediaSourceAppendBufferFull","sourceBuffer","channel_mode","fetchNext().catch() and abortController.signal.aborted is true so return","streamAbps","fetchStream, url is ","AAC: SamplingFrequencyIndex changed from ","dispatchAudioInitSegment","createFile","isPlaybackCacheBeforeDecodeForFpsRender","eac3","decodeVideo and payload is video sequence header so drop this frame","signal","isInitSegmentDispatched","setCodecVideo: init video codec , codecId is ","localDts","decodeAudio() and decoder is destroyed","socket is null","playbackIsCacheBeforeDecodeForFpsRender","ended","onclose","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","worker TsLoaderV2","playbackConfig","chroma_format_string"," and tempDelay is ","read","kH264","stream_id","getIncompleteData","videoBuffer","offscreenCanvasGL","currentTime","setCodecVideo: videoDecoder or videoDecoder.setCodec is null",", old height is ","_initAudioSourceBuffer and mseDecoder.isStateOpen is ","draw, decoder is destroyed and return","sequenceNumber","mseDecodeAudio","webglObj","mediaSourceBufferError","pendingRemoveRanges"," package length is ","timeInit set false , cacheTrack = {} now dts is ","parsePES: packet_start_code_prefix should be 1 but with value ","pcmData, decoder is destroyed and return","parseSCTE35","mp4a.40.","isPause"," null","loop() is dropping = false, is iFrame","cacheAudioTrack","webglcontextlost","decodeVideo","$video","entries","isFirstDispatch and tsPacketSize = ","decodeVideo is max diff , ts is ",", and hasAudio is ","kPESPrivateData","_opt"," is not H264 or H265","validatedFailed, please contact the author to get the correct license",",\n diff is ","ID3 ",", dts is ","checkStreamEnd","decoder","slices","94IaFdHL","vcl","handleOffscreenCanvasWebglContextRestored","dispatch","error","delay","demuxNakedFlow","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","init and forHardDecode is ","mediaSource","removeSourceBuffer() sourceBuffer error","catch",", diff is ","audioAACSequenceHeader"," and isIframe is ","DataStream","body","Synchronous KLV Metadata: pid=","isPlayback","keyFrame","frameRate","fetchError","kMPEG1Audio","parseAsynchronousKLVMetadataPayload","getBuildTime","658025dCRBAb","audio_last_sample_pts_","emitError","pes_slice_queues_"," isIFrame is ","fetchStream, WebsocketStream socket open","cmd"];return(fc=function(){return e})()}function pc(e,t){const r=fc();return(pc=function(e,t){return r[e-=184]})(e,t)}!function(e,t){const r=pc,n=e();for(;;)try{if(756015===-parseInt(r(255))/1+parseInt(r(732))/2*(parseInt(r(193))/3)+parseInt(r(530))/4+-parseInt(r(757))/5+-parseInt(r(335))/6*(-parseInt(r(1011))/7)+-parseInt(r(1103))/8*(-parseInt(r(454))/9)+parseInt(r(1078))/10*(-parseInt(r(524))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fc),Date[hc(884)]||(Date.now=function(){const e=hc;return(new Date)[e(539)]()}),console.log(hc(240)+Rt+":"+Ft+hc(950));const mc=yc;function vc(){const e=["24hasGSR","warn","2290293rGhIqH","JbPro[❌❌❌][audio wasm]:","JbPro[❌❌❌][video wasm]:","1492148DhVxfe","all","1105260tEqfwL","11MEgESs","834080wvRlPO","1FFFNAt","then","495134wGQzwW","287637pfbwOO","10jzfzqK","658176AmjWhL","3wtgQyd"];return(vc=function(){return e})()}function yc(e,t){const r=vc();return(yc=function(e,t){return r[e-=361]})(e,t)}!function(e,t){const r=yc,n=e();for(;;)try{if(291659===-parseInt(r(364))/1*(parseInt(r(366))/2)+-parseInt(r(370))/3*(-parseInt(r(376))/4)+-parseInt(r(363))/5+parseInt(r(369))/6+-parseInt(r(367))/7*(parseInt(r(371))/8)+-parseInt(r(373))/9*(-parseInt(r(368))/10)+parseInt(r(362))/11*(parseInt(r(361))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(vc);const gc=[];gc.push(a({printErr:function(e){const t=yc;(function(e){const t=Bt;return!(!e||-1===e[t(678)]("not compiled with thread support")&&-1===e[t(678)](t(746))&&-1===e[t(678)](t(489))&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn(t(374),e)}}),s({printErr:function(e){const t=yc;(function(e){const t=Bt;return!(!e||-1===e.indexOf(t(715)))})(e)||console[t(372)](t(375),e)}})),Promise[mc(377)](gc)[mc(365)]((e=>{const t=e[0];!function(){const e=hc;let t=arguments[e(293)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(293)]>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments[e(293)]>3&&void 0!==arguments[3]&&arguments[3],s=[],a=[],o=null,c=null,u=null,l=null,d=null,h=null,f=!1,p=null,m=null,v=!1,y=!1,g=!!Kt(n),_=0,b=0,w=!1,S=null,I=null,A=null,k=[],E=null,C=null,x=0,T=0,B=null,D=null,P=0,M=0,U=!1,F=!1,R=!1,L=null,O=null,z=!1,N=!0,H=0,W=0,V=()=>{const t=e,r=qt();return{debug:r[t(1098)],debugLevel:r[t(818)],debugUuid:r[t(1031)],useOffscreen:r.useOffscreen,useWCS:r[t(775)],useMSE:r[t(585)],videoBuffer:r[t(693)],videoBufferDelay:r[t(516)],openWebglAlignment:r[t(618)],playType:r.playType,hasAudio:r[t(265)],hasVideo:r[t(365)],playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(787)],playbackIsCacheBeforeDecodeForFpsRender:r[t(686)][t(1013)],sampleRate:0,networkDelay:r[t(837)],visibility:!0,useSIMD:r[t(531)],isRecording:!1,recordType:r[t(997)],isNakedFlow:r[t(261)],checkFirstIFrame:r.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:r.isM7sCrypto,m7sCryptoAudio:r[t(245)],cryptoKey:r[t(198)],cryptoIV:r.cryptoIV,isSm4Crypto:r.isSm4Crypto,isSm4CryptoH265V2:r.isSm4CryptoH265V2,sm4CryptoKey:r[t(978)],isXorCrypto:r.isXorCrypto,isHls265:!1,isFlv:r[t(985)],isFmp4:r[t(564)],isMpeg4:r[t(232)],isTs:r[t(506)],isEmitSEI:r.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(936)],mseDecodeAudio:r[t(701)],wcsDecodeAudio:r[t(239)],nakedFlowH265DemuxUseNew:r.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:r[t(1036)],mseAutoCleanupSourceBuffer:r.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:r[t(257)],mseAutoCleanupMinBackwardDuration:r[t(231)],mseCorrectTimeDuration:r.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:r[t(839)],nakedFlowDemuxUseNew:r.nakedFlowDemuxUseNew,nakedFlowFps:r[t(841)],supportMSEDecodeHevc:!1,checkStreamEnd:r.checkStreamEnd}};e(910)in self&&(o={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;o[t(730)]=new VideoDecoder({output:function(e){const r=t;if(Ht(e[r(1045)]))e.createImageBitmap()[r(798)]((t=>{const n=r;o[n(297)][n(534)](t,0,0,e[n(1063)],e[n(983)]);let i=o[n(551)][n(481)]();postMessage({cmd:Se[n(647)],buffer:i,delay:Y[n(737)],ts:0},[i]),jt(e)}));else{o[r(297)][r(534)](e,0,0,e[r(1063)],e[r(983)]);let t=o.offscreenCanvas[r(481)]();postMessage({cmd:Se[r(647)],buffer:t,delay:Y.delay,ts:0},[t]),jt(e)}},error:function(e){const r=t;Y.debugError(r(796),r(656),e,e[r(250)]())}}),Y[t(925)](o.TAG_NAME,t(206))},destroy(){const t=e;o[t(299)](),o[t(730)]&&o.decoder[t(504)]!==t(544)&&(o[t(730)][t(203)](),o[t(730)]=null),Y.debugLog(o[t(1112)],t(1094))},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(o.hasInit){const e=new EncodedVideoChunk({data:t[i(459)](5),timestamp:r,type:s?Oe[i(831)]:Oe[i(642)]});o[i(730)].decode(e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:Se.videoCode,code:e});const r=new Uint8Array(t);postMessage({cmd:Se[i(922)],buffer:r,codecId:e},[r[i(334)]]);let n=null,s=null;const a=t.slice(5);e===Me.h264?(s=Ar(a),n={codec:s[i(1064)],description:a}):e===Me[i(303)]&&(s=tn(a),n={codec:s[i(1064)],description:a}),s&&s[i(926)]&&s[i(336)]&&(n[i(983)]=s.codecHeight,n[i(1063)]=s[i(926)]),!o[i(959)]&&(Y.debugLog(i(796),"Webcodecs Video Decoder initSize"),postMessage({cmd:Se[i(1065)],w:s[i(926)],h:s.codecHeight}),o[i(959)]=!0,o[i(551)]=new OffscreenCanvas(s[i(926)],s[i(336)]),o[i(297)]=o.offscreenCanvas.getContext("2d"));try{o[i(730)].configure(n),o[i(930)]=!0}catch(e){Y[i(1028)](i(796),i(354),e[i(872)],e,e.toString()),e[i(250)]()}}else Y[i(968)](i(796),i(423)+s+i(461)+t[1]+i(430))},reset(){const t=e;o[t(930)]=!1,o.isEmitInfo=!1,o[t(551)]=null,o[t(297)]=null}});let j=function(){const t=e;if(z=!0,c)try{c[t(243)](),c=null,Y.debugLog("worker",t(1111))}catch(e){c=null,Y.debugLog(t(796),t(1003),e)}},$={TAG_NAME:e(917),init(){const t=e;$[t(986)]=null,$.vps=null,$[t(368)]=null,$[t(1085)]=null,$[t(197)]=null,$.localDts=0,$[t(437)]={},$[t(395)]=!1,Y[t(925)]($[t(1112)],t(206))},destroy(){const t=e;$.lastBuf=null,$[t(196)]=null,$[t(368)]=null,$[t(1085)]=null,$.streamType=null,$[t(678)]=0,$.pendingUnits={},$[t(395)]=!1,Y[t(925)]($.TAG_NAME,t(1094))},dispatch(t){const r=e,n=new Uint8Array(t);if(Y[r(723)][r(1066)]){const e=$[r(963)](n);if(0===e[r(293)])return void Y[r(925)]($.TAG_NAME,"dispatch naluArray length is 0");$.handleVideoFrames(e)}else $[r(605)](n)},getNaluDts(){const t=e,r=Y[t(723)][t(841)];let n=$.localDts;return $.localDts=$[t(678)]+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=Y[t(723)].sampleRate,n=Y[t(723)][t(1072)];return $[t(678)]+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,a=t.byteLength,o=0,c=[];for(;s1)for(let e=0;e{const t=r,n=Tr(e);n===Re.pps||n===Re.sps?$[t(342)](e):Dr(n)&&i[t(1044)](e)})),1===i.length)$.handleVideoH264Nalu(i[0]);else if(Mr(i)){const e=Tr(i[0]),t=Pr(e);$[r(508)](i,t,e)}else i[r(894)]((e=>{$[r(342)](e)}))}else if($[r(197)]===Ue[r(303)])if(Y[r(723)][r(248)]){const e=$.handleAddNaluStartCode(t),n=$[r(860)](e);if(0===n[r(293)])return void Y[r(968)](r(796),r(589),r(275));const i=[];if(n.forEach((e=>{const t=r,n=on(e);n===Le.pps||n===Le[t(368)]||n===Le[t(196)]?$[t(1070)](e):un(n)&&i[t(1044)](e)})),1===i[r(293)])$[r(1070)](i[0]);else if(hn(i)){const e=on(i[0]),t=ln(e);$[r(851)](i,t,e)}else i[r(894)]((e=>{$[r(1070)](e)}))}else on(t)===Le.pps?$.extractH265PPS(t):$[r(1070)](t)},extractH264PPS(t){const r=e,n=$.handleAddNaluStartCode(t);$[r(860)](n)[r(894)]((e=>{const t=r;Br(Tr(e))?$[t(294)](e):$.handleVideoH264Nalu(e)}))},extractH265PPS(t){const r=e,n=$[r(307)](t);$[r(860)](n)[r(894)]((e=>{const t=r;cn(on(e))?$.extractH265SEI(e):$[t(1070)](e)}))},extractH264SEI(e){const t=$.handleAddNaluStartCode(e);$.extractNALu(t).forEach((e=>{$[pc(342)](e)}))},extractH265SEI(t){const r=e,n=$[r(307)](t);$[r(860)](n)[r(894)]((e=>{$.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t.length+n[r(293)]);return i.set(n),i[r(528)](t,n[r(293)]),i},handleVideoH264Nalu(t){const r=e,n=Tr(t);switch(n){case Re[r(368)]:$[r(368)]=t;break;case Re.pps:$[r(1085)]=t}if($[r(395)]){if($[r(368)]&&$[r(1085)]){const e=kr({sps:$.sps,pps:$.pps}),t=$[r(678)];Y[r(274)](e,{type:Ie.video,ts:t,isIFrame:!0,cts:0}),$[r(368)]=null,$.pps=null}if(Dr(n)){const e=Pr(n),i=$[r(249)](),s=Cr(t,e);$[r(1005)](s,{type:Ie.video,ts:i,isIFrame:e,cts:0})}}else if($.sps&&$[r(1085)]){$[r(395)]=!0;const e=kr({sps:$[r(368)],pps:$.pps});Y[r(274)](e,{type:Ie[r(252)],ts:0,isIFrame:!0,cts:0}),$.sps=null,$.pps=null}},handleVideoH264NaluList(t,r,n){const i=e;if($[i(395)]){const e=$[i(249)](),s=xr(t[i(842)](((e,t)=>{const r=i,n=Ct(e),s=Ct(t),a=new Uint8Array(n[r(654)]+s[r(654)]);return a[r(528)](n,0),a[r(528)](s,n[r(654)]),a})),r);$.doDecode(s,{type:Ie[i(252)],ts:e,isIFrame:r,cts:0}),Y.debugLog(i(796),i(588)+t[i(293)]+i(705)+s[i(654)]+" isIFrame is "+r+i(1037)+n+i(728)+e)}},handleVideoH265Nalu(t){const r=e,n=on(t);switch(n){case Le[r(196)]:$[r(196)]=t;break;case Le.sps:$[r(368)]=t;break;case Le[r(1085)]:$.pps=t}if($[r(395)]){if($[r(196)]&&$[r(368)]&&$[r(1085)]){const e=nn({vps:$[r(196)],sps:$[r(368)],pps:$[r(1085)]}),t=$[r(678)];Y[r(274)](e,{type:Ie[r(252)],ts:t,isIFrame:!0,cts:0}),$.vps=null,$[r(368)]=null,$[r(1085)]=null}if(un(n)){const e=ln(n),i=$[r(249)](),s=sn(t,e);$.doDecode(s,{type:Ie.video,ts:i,isIFrame:e,cts:0})}}else if($[r(196)]&&$[r(368)]&&$[r(1085)]){$.isSendSeqHeader=!0;const e=nn({vps:$[r(196)],sps:$[r(368)],pps:$.pps});Y[r(274)](e,{type:Ie[r(252)],ts:0,isIFrame:!0,cts:0}),$[r(196)]=null,$[r(368)]=null,$[r(1085)]=null}},handleVideoH265NaluList(t,r,n){const i=e;if($[i(395)]){const e=$.getNaluDts(),s=an(t[i(842)](((e,t)=>{const r=i,n=Ct(e),s=Ct(t),a=new Uint8Array(n[r(654)]+s[r(654)]);return a[r(528)](n,0),a[r(528)](s,n[r(654)]),a})),r);$[i(1005)](s,{type:Ie[i(252)],ts:e,isIFrame:r,cts:0}),Y.debugLog(i(796),i(292)+t.length+" package length is "+s.byteLength+i(761)+r+i(1037)+n+i(728)+e)}},doDecode(t,r){const n=e;Y[n(863)](r.ts),r[n(359)]&&Y[n(858)](r.ts),Y[n(274)](t,r)},handleVideoFrames(t){const r=e;if(!$[r(610)])for(let e of t)if($.streamVideoType=Wt(e),$[r(610)])break;$[r(610)]?$[r(610)]===Ue[r(868)]?$[r(393)](t):$[r(610)]===Ue[r(303)]&&$.handleVideoH265Frames(t):Y[r(968)](r(796),"handleVideoFrames",r(450))},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,a=!1;$[r(437)].units&&(n=$.pendingUnits[r(993)],a=$[r(437)][r(733)],s=$[r(437)].iFrame,$[r(437)]={});let o={};for(let e of t){if(e[r(654)]<4)continue;const t=Tr(e);let c=!1,u=t===Re[r(202)];(t===Re[r(1026)]||t===Re[r(202)])&&(o=$[r(652)](e),c=!0),n[r(293)]&&a&&(o[r(320)]||!c)&&(i[r(1044)]({units:n,isIFrame:s}),n=[],s=!1,a=!1),n[r(1044)](e),s=s||u,a=a||c}n[r(293)]&&($.pendingUnits={units:n,vcl:a,iFrame:s}),i.forEach((e=>{const t=r,n=e[t(993)],i=e[t(359)];let s=null,a=null;if(n.forEach((e=>{const r=t,n=31&e[0];switch(n){case Re[r(1085)]:$[r(1085)]=e;break;case Re.sps:$.sps=e;break;case Re[r(1059)]:a=e}if(Dr(n)){const t=Ct(e);if(s){const e=new Uint8Array(s[r(654)]+t[r(654)]);e[r(528)](s,0),e[r(528)](t,s[r(654)]),s=e}else s=t}})),!$[t(395)]&&$[t(368)]&&$.pps){$[t(395)]=!0;const e=Er({sps:$[t(368)],pps:$.pps});Y[t(274)](e,{type:Ie[t(252)],ts:0,isIFrame:!0,cts:0}),$[t(368)]=null,$[t(1085)]=null}if($[t(395)]){if($[t(368)]&&$.pps){const e=Er({sps:$.sps,pps:$.pps}),r=$[t(678)];Y[t(274)](e,{type:Ie[t(252)],ts:r,isIFrame:!0,cts:0}),$[t(368)]=null,$[t(1085)]=null}if(s){const e=$.getNaluDts(),r=xr(s,i);if(Y[t(723)][t(241)]&&a){const r=Et(a,!1);postMessage({cmd:Se[t(222)],buffer:r[t(867)],ts:e},[r[t(867)][t(334)]])}$[t(1005)](r,{type:Ie.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,a=!1;$[r(437)][r(993)]&&(n=$[r(437)][r(993)],a=$[r(437)][r(733)],s=$[r(437)][r(200)],$[r(437)]={});let o={};for(let e of t){if(e[r(654)]<4)continue;const t=on(e);let c=!1,u=ln(t);un(t)&&(o=$[r(829)](e),c=!0),n[r(293)]&&a&&(o[r(320)]||!c)&&(i[r(1044)]({units:n,isIFrame:s}),n=[],s=!1,a=!1),n.push(e),s=s||u,a=a||c}n[r(293)]&&($[r(437)]={units:n,vcl:a,iFrame:s}),i[r(894)]((e=>{const t=r,n=e[t(993)],i=e[t(359)];let s=null,a=null;if(n[t(894)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Le[r(1085)]:$.pps=e;break;case Le[r(368)]:$.sps=e;break;case Le[r(196)]:$[r(196)]=e;break;case Le.suffixSei:case Le[r(571)]:a=e}if(un(n)){const t=Ct(e);if(s){const e=new Uint8Array(s[r(654)]+t[r(654)]);e.set(s,0),e.set(t,s.byteLength),s=e}else s=t}})),!$[t(395)]&&$[t(368)]&&$.pps&&$[t(196)]){$[t(395)]=!0;const e=nn({sps:$[t(368)],pps:$[t(1085)],vps:$[t(196)]});Y[t(274)](e,{type:Ie[t(252)],ts:0,isIFrame:!0,cts:0}),$[t(368)]=null,$.pps=null,$[t(196)]=null}if($[t(395)]){if($[t(368)]&&$.pps&&$[t(196)]){const e=nn({sps:$[t(368)],pps:$.pps,vps:$[t(196)]}),r=$[t(678)];Y.decode(e,{type:Ie.video,ts:r,isIFrame:!0,cts:0}),$[t(368)]=null,$[t(1085)]=null,$[t(196)]=null}if(s){const e=$[t(249)](),r=an(s,i);if(Y[t(723)][t(241)]&&a){const r=Et(a,!0);postMessage({cmd:Se[t(222)],buffer:r.payload,ts:e},[r[t(867)][t(334)]])}$[t(1005)](r,{type:Ie[t(252)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(t){const r=e;t[r(894)]((e=>{$[r(589)](e)}))},parseVideo264Header(t){const r=e,n=new Yo(t);return n[r(440)](),{isfms:0===n[r(1109)](),sType:n[r(1109)]()}},parseVideo265Header(t){const r=e,n=new Yo(t);return n.readUByte(),{nalType:n[r(1107)](6),isfms:0===n[r(1107)](1),sType:n[r(1107)](3)}}},G={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;G[t(396)]=Ia[t(671)](),G.mp4Box[t(859)]=G[t(859)],G.mp4Box[t(1001)]=G.onError,G[t(396)].onSamples=G.onSamples,Y[t(925)](G[t(469)],t(206))},destroy(){const t=e;G[t(396)]&&(G[t(396)][t(627)](),G[t(396)][t(432)](),G[t(396)][t(1094)](),G[t(396)]=null),G[t(545)]=0,G[t(1e3)]=null,G[t(1083)]=null,G[t(866)]=!1,Y.debugLog(G.LOG_NAME,t(1094))},_getSeqHeader(t){const r=e,n=G[r(396)][r(797)](t.id);for(const e of n.mdia[r(824)][r(318)].stsd[r(718)])if(e[r(909)]||e[r(475)]){const t=new(Ia[r(747)])(void 0,0,Ia[r(747)].BIG_ENDIAN);let n=[];e[r(909)]?(e[r(909)][r(1062)](t),n=[23,0,0,0,0]):(G[r(866)]=!0,Y[r(866)]=!0,e[r(475)][r(1062)](t),n=[28,0,0,0,0]);const i=new Uint8Array(t[r(334)],8),s=new Uint8Array(n[r(293)]+i[r(293)]);return s.set(n,0),s[r(528)](i,n[r(293)]),s}return null},onReady(t){const r=e;Y.debugLog(G[r(469)],"onReady()");const n=t[r(958)][0],i=t[r(549)][0];if(n){G.videoTrackId=n.id;const e=G[r(277)](n);e&&(Y[r(925)](G[r(469)],"seqHeader"),Y[r(716)](e,0,!0,0)),G.mp4Box.setExtractionOptions(n.id)}if(i&&Y[r(723)][r(265)]){G[r(1083)]=i.id;const e=i[r(264)]||{},t=pt[r(810)](e[r(458)]),n=i.codec[r(309)](r(710),"");G[r(396)][r(428)](i.id);const s=mt({profile:parseInt(n,10),sampleRate:t,channel:e.channel_count});Y[r(925)](G[r(469)],r(511)),Y.decodeAudio(s,0)}G[r(396)][r(574)]()},onError(t){const r=e;Y[r(1028)](G[r(469)],"mp4Box onError",t)},onSamples(t,r,n){const i=e;if(t===G[i(1e3)]){for(const e of n){const t=e[i(1048)],r=e[i(1105)],n=1e3*e[i(543)]/e[i(364)];e[i(518)],e[i(364)],r&&Y.calcIframeIntervalTimestamp(n);let s=null;s=G[i(866)]?an(t,r):xr(t,r),Y.decode(s,{type:Ie[i(252)],ts:n,isIFrame:r,cts:0})}G[i(396)][i(1002)](t)}else if(t===G[i(1083)]){if(Y[i(723)].hasAudio){for(const e of n){const t=e[i(1048)],r=1e3*e[i(543)]/e[i(364)];e[i(518)],e.timescale;const n=new Uint8Array(t[i(654)]+2);n[i(528)]([175,1],0),n[i(528)](t,2),Y[i(274)](n,{type:Ie.audio,ts:r,isIFrame:!1,cts:0})}G[i(396)].removeUsedSamples(t)}}else Y[i(968)](G[i(469)],"onSamples() trackId error",t)},dispatch(t){const r=e;let n=new Uint8Array(t);n[r(334)][r(620)]=G[r(545)],G[r(545)]+=n[r(654)],G[r(396)][r(557)](n[r(334)])}},q={LOG_NAME:e(639),lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(206),hasInitVideoCodec:!1,localDts:0,dispatch(t){const r=e,n=new Uint8Array(t);q[r(860)](n)},destroy(){const t=e;q[t(300)]=new Uint8Array(0),q.parsedOffset=0,q.firstStartCodeOffset=0,q[t(451)]=0,q[t(504)]=t(206),q[t(999)]=!1,q.localDts=0,Y[t(925)](q.LOG_NAME,"destroy")},extractNALu(t){const r=e;if(!t||t.byteLength<1)return void Y[r(968)](q[r(469)],"extractNALu() buffer error",t);const n=new Uint8Array(q.lastBuffer[r(293)]+t[r(293)]);for(n[r(528)](q[r(300)],0),n[r(528)](new Uint8Array(t),q.lastBuffer.length),q[r(300)]=n;;){if(q[r(504)]===r(206)){let e=!1;for(;q[r(300)][r(293)]-q.parsedOffset>=4;)if(0===q.lastBuffer[q.parsedOffset])if(0===q[r(300)][q[r(880)]+1])if(1===q[r(300)][q[r(880)]+2]){if(182===q[r(300)][q[r(880)]+3]){q[r(504)]=r(638),q[r(1086)]=q.parsedOffset,q[r(880)]+=4,e=!0;break}q[r(880)]++}else q[r(880)]++;else q.parsedOffset++;else q[r(880)]++;if(e)continue;break}if("findFirstStartCode"===q[r(504)]){let e=!1;for(;q[r(300)][r(293)]-q[r(880)]>=4;)if(0===q.lastBuffer[q[r(880)]])if(0===q[r(300)][q[r(880)]+1])if(1===q[r(300)][q[r(880)]+2]){if(182===q[r(300)][q[r(880)]+3]){q[r(504)]="findSecondStartCode",q[r(451)]=q[r(880)],q[r(880)]+=4,e=!0;break}q.parsedOffset++}else q[r(880)]++;else q.parsedOffset++;else q[r(880)]++;if(e)continue;break}if(q.state===r(942)){if(!(q[r(300)].length-q[r(880)]>0))break;{let e,t=192&q[r(300)][q[r(880)]];e=0==t?q.secondStartCodeOffset-14:q[r(451)];let n,i=0==(192&q[r(300)][q[r(1086)]+4]);if(i){if(q[r(1086)]-14<0)return void Y.debugWarn(q[r(469)],r(195),q[r(1086)]-14);!q.hasInitVideoCodec&&(q[r(999)]=!0,Y[r(925)](q[r(469)],r(1033)),Q[r(1033)](Me[r(1075)],"",Y.getBuildTime())),n=q[r(300)].subarray(q[r(1086)]-14,e)}else n=q[r(300)][r(234)](q.firstStartCodeOffset,e);let s=q.getNaluDts();q[r(999)]?(postMessage({cmd:Se[r(542)],type:Te[r(559)],value:n[r(654)]}),postMessage({cmd:Se.workerFetch,type:Te[r(784)],value:s}),_=s,Q.decode(n,i?1:0,s)):Y.debugWarn(q.LOG_NAME,r(349)),q.lastBuffer=q[r(300)][r(234)](e),q[r(1086)]=0==t?14:0,q[r(880)]=q[r(1086)]+4,q[r(504)]="findFirstStartCode"}}}},getNaluDts(){const t=e;let r=q[t(678)];return q[t(678)]=q.localDts+40,r}},X={TAG_NAME:e(685),first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new jo,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:e(252),id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:e(264),id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;X[t(192)]=null,X[t(760)]=null,X[t(906)]=null,X.video_metadata_=null,X.audio_metadata_=null,X.aac_last_incomplete_data_=null,X[t(765)]=null,X[t(814)]=null,X[t(536)]=null,Y[t(925)](X[t(1112)],"destroy")},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n[r(654)]<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(227)](1e3,n[r(654)]-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;X[r(536)]&&(t=fo(X[r(536)],t),X[r(536)]=null);let n=t[r(334)];const i=X.parseChunks(n);i?X._remainingPacketData=t[r(234)](i):t[r(293)]>>6;e[1];let a=(31&e[1])<<8|e[2],o=(48&e[3])>>>4,c=15&e[3],u=!(!X.pmt_||X[r(436)][r(967)]!==a),l={},d=4;if(2==o||3==o){let t=e[4];if(t>0&&(u||3==o)&&(l[r(497)]=(128&e[5])>>>7,l.random_access_indicator=(64&e[5])>>>6,l.elementary_stream_priority_indicator=(32&e[5])>>>5,(16&e[5])>>>4)){let t=300*(e[6]<<25|e[7]<<17|e[8]<<9|e[9]<<1|e[10]>>>7)+((1&e[10])<<8|e[11]);X[r(448)]=t}if(2==o||5+t===188){n+=188,204===X[r(1038)]&&(n+=16);continue}d=5+t}if(1==o||3==o)if(0===a||a===X.current_pmt_pid_||null!=X[r(436)]&&X.pmt_[r(977)][a]===Oo[r(908)]){let e=188-d;X[r(400)](t,n+d,e,{pid:a,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l.random_access_indicator})}else if(null!=X.pmt_&&null!=X[r(436)][r(977)][a]){let e=188-d,i=X[r(436)][r(977)][a];(a===X[r(436)][r(556)][r(868)]||a===X[r(436)][r(556)].h265||a===X.pmt_[r(556)][r(1071)]||a===X.pmt_.common_pids[r(283)]||a===X[r(436)][r(556)][r(251)]||a===X[r(436)][r(556)].eac3||a===X[r(436)][r(556)][r(538)]||a===X[r(436)][r(556)][r(520)]||!0===X.pmt_[r(952)][a]||!0===X[r(436)][r(662)][a]||!0===X[r(436)][r(881)][a]||!0===X[r(436)].asynchronous_klv_pids[a])&&X[r(599)](t,n+d,e,{pid:a,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l.random_access_indicator})}n+=188,204===X.tsPacketSize&&(n+=16)}return X[r(1054)](),n},handleSectionSlice(t,r,n,i){const s=e;let a=new Uint8Array(t,r,n),o=X[s(906)][i.pid];if(i.payload_unit_start_indicator){let e=a[0];if(null!=o&&0!==o[s(613)]){let a=new Uint8Array(t,r+1,Math.min(n,e));o.slices[s(1044)](a),o[s(613)]+=a[s(654)],o[s(613)]===o.expected_length?X[s(281)](o,i):X.clearSlices(o,i)}for(let c=1+e;c=o[s(488)]&&X[s(893)](o,i),c+=u.byteLength}}else if(null!=o&&0!==o.total_length){let e=new Uint8Array(t,r,Math[s(227)](n,o[s(488)]-o.total_length));o[s(731)][s(1044)](e),o.total_length+=e[s(654)],o[s(613)]===o[s(488)]?X[s(281)](o,i):o.total_length>=o[s(488)]&&X.clearSlices(o,i)}},handlePESSlice(t,r,n,i){const s=e;let a=new Uint8Array(t,r,n),o=a[0]<<16|a[1]<<8|a[2];a[3];let c=a[4]<<8|a[5];if(i[s(624)]){if(1!==o)return void Y[s(968)](X[s(1112)],s(355)+o);let e=X[s(760)][i[s(267)]];e&&(0===e[s(488)]||e.expected_length===e[s(613)]?X[s(1012)](e,i):X[s(893)](e,i)),X[s(760)][i[s(267)]]=new zo,X.pes_slice_queues_[i[s(267)]][s(1049)]=i.random_access_indicator}if(null==X[s(760)][i.pid])return;let u=X[s(760)][i[s(267)]];u.slices[s(1044)](a),i.payload_unit_start_indicator&&(u[s(488)]=0===c?0:c+6),u[s(613)]+=a[s(654)],u.expected_length>0&&u.expected_length===u[s(613)]?X[s(1012)](u,i):u[s(488)]>0&&u[s(488)]>>6,c=n[8];(2===o||3===o)&&(e=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,i=3===o?536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2:e);let u,l=9+c;if(0!==a){if(a<3+c)return void Y.debugWarn(X[r(1112)],r(406));u=a-3-c}else u=n[r(654)]-l;let d=n.subarray(l,l+u);switch(t[r(421)]){case Oo[r(754)]:case Oo[r(302)]:X[r(780)](d,e);break;case Oo.kPESPrivateData:X[r(436)].common_pids.opus===t[r(267)]?X[r(907)](d,e):X[r(436)][r(556)][r(251)]===t.pid?X[r(972)](d,e):X.pmt_[r(556)].eac3===t.pid?X[r(1115)](d,e):X[r(436)][r(902)][t[r(267)]]?X[r(755)](d,t[r(267)],s):X.pmt_[r(883)][t[r(267)]]?X.parseSMPTE2038MetadataPayload(d,e,i,t[r(267)],s):X[r(220)](d,e,i,t[r(267)],s);break;case Oo[r(931)]:X.parseADTSAACPayload(d,e);break;case Oo.kLOASAAC:X[r(447)](d,e);break;case Oo[r(879)]:X[r(972)](d,e);break;case Oo[r(836)]:X[r(1115)](d,e);break;case Oo[r(1039)]:X[r(436)].timed_id3_pids[t[r(267)]]?X[r(285)](d,e,i,t.pid,s):X[r(436)][r(881)][t[r(267)]]&&X[r(483)](d,e,i,t.pid,s);break;case Oo.kH264:X[r(287)](d,e,i,t.random_access_indicator);break;case Oo[r(229)]:X[r(804)](d,e,i,t[r(1049)])}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&t[r(421)]===Oo[r(722)]){let e,i=6;e=0!==a?a:n.byteLength-i;let o=n.subarray(i,i+e);X[r(220)](o,void 0,void 0,t[r(267)],s)}}else Y[r(1028)](X[r(1112)],r(707)+i)},parsePAT(t){const r=e;let n=t[0];if(0!==n)return void Log.e(X.TAG,r(315)+n+" is not corresponded to PAT!");let i=(15&t[1])<<8|t[2];t[3],t[4];let s=(62&t[5])>>>1,a=1&t[5],o=t[6];t[7];let c=null;if(1===a&&0===o)c={version_number:0,network_pid:0,program_pmt_pid:{}},c[r(452)]=s;else if(c=X.pat_,null==c)return;let u=i-5-4,l=-1,d=-1;for(let e=8;e<8+u;e+=4){let n=t[e]<<8|t[e+1],i=(31&t[e+2])<<8|t[e+3];0===n?c[r(876)]=i:(c.program_pmt_pid[n]=i,-1===l&&(l=n),-1===d&&(d=i))}1===a&&0===o&&(null==X[r(391)]&&Y[r(925)](X[r(1112)],r(811)+JSON[r(389)](c)),X[r(391)]=c,X[r(263)]=l,X[r(517)]=d)},parsePMT(t){const r=e;let n=t[0];if(2!==n)return void Y[r(1028)](X[r(1112)],r(256)+n+r(547));let i,s=(15&t[1])<<8|t[2],a=t[3]<<8|t[4],o=(62&t[5])>>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)i=X._initPmt(),i[r(373)]=a,i[r(452)]=o,X[r(924)][a]=i;else if(i=X[r(924)][a],null==i)return;i[r(967)]=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],d=12+l,h=s-9-l-4;for(let e=d;e0){for(let n=e+5;n0)for(let n=e+5;n1&&(Y[n(968)](X[n(1112)],n(553)+(n(888)+e+n(1099)+s+"ms")),s=e)}}let a,o=new wt(t),c=null,u=s;for(;null!=(c=o[n(815)]());){i=1024/c.sampling_frequency*1e3;const e={codec:n(410),data:c};0==X[n(498)]?(X[n(800)]={codec:"aac",audio_object_type:c[n(1090)],sampling_freq_index:c[n(1055)],sampling_frequency:c.sampling_frequency,channel_config:c[n(554)]},X[n(670)](e)):X[n(833)](e)&&(X.dispatchAudioMediaSegment(),X.dispatchAudioInitSegment(e)),a=u;let t=Math.floor(u);const r=new Uint8Array(c[n(1048)][n(293)]+2);r[n(528)]([175,1],0),r[n(528)](c[n(1048)],2);let s={payload:r,length:r[n(654)],pts:t,dts:t,type:Ie[n(264)]};X[n(814)][n(304)][n(1044)](s),X[n(814)][n(293)]+=r[n(654)],u+=i}o[n(533)]()&&(X.aac_last_incomplete_data_=o.getIncompleteData()),a&&(X[n(758)]=a)},parseLOASAACPayload(t,r){const n=e;if(X[n(593)]&&!X[n(316)])return;if(X[n(289)]){let e=new Uint8Array(t[n(654)]+X.aac_last_incomplete_data_[n(654)]);e[n(528)](X.aac_last_incomplete_data_,0),e[n(528)](t,X[n(289)].byteLength),t=e}let i,s;if(null!=r&&(s=r/X[n(1101)]),"aac"===X[n(800)][n(1064)]){if(null==r&&null!=X.audio_last_sample_pts_)i=1024/X[n(800)][n(864)]*1e3,s=X[n(758)]+i;else if(null==r)return void Y.debugWarn(X[n(1112)],n(901));if(X[n(289)]&&X[n(758)]){i=1024/X.audio_metadata_[n(864)]*1e3;let e=X[n(758)]+i;Math[n(295)](e-s)>1&&(Y[n(968)](X[n(367)],n(553)+(n(888)+e+"ms, PES pts: ")+s+"ms"),s=e)}}let a,o=new St(t),c=null,u=s;for(;null!=(c=o.readNextAACFrame(Ot(X[n(621)])?void 0:X.loas_previous_frame));){X[n(621)]=c,i=1024/c[n(864)]*1e3;const e={codec:n(410),data:c};0==X[n(498)]?(X.audio_metadata_={codec:n(410),audio_object_type:c.audio_object_type,sampling_freq_index:c[n(1055)],sampling_frequency:c[n(864)],channel_config:c[n(554)]},X[n(670)](e)):X.detectAudioMetadataChange(e)&&(X.dispatchAudioMediaSegment(),X[n(670)](e)),a=u;let t=Math[n(768)](u);const r=new Uint8Array(c[n(1048)][n(293)]+2);r[n(528)]([175,1],0),r[n(528)](c[n(1048)],2);let s={payload:r,length:r.byteLength,pts:t,dts:t,type:Ie[n(264)]};X[n(814)][n(304)][n(1044)](s),X[n(814)][n(293)]+=r[n(654)],u+=i}o.hasIncompleteData()&&(X[n(289)]=o[n(692)]()),a&&(X.audio_last_sample_pts_=a)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(X[n(593)]&&!X[n(316)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],a=[11025,12e3,8e3,0],o=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,h=34;switch(n(520),o){case 0:d=a[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:h=34;break;case 2:h=33;break;case 3:h=32,n(293)}const f={};f[n(1087)]=h,f[n(458)]=d,f.channel_count=l,f[n(1048)]=t;const p={codec:n(520),data:f};0==X[n(498)]?(X[n(800)]={codec:"mp3",object_type:h,sample_rate:d,channel_count:l},X[n(670)](p)):X.detectAudioMetadataChange(p)&&(X[n(548)](),X[n(670)](p));let m={payload:t,length:t.byteLength,pts:r/X[n(1101)],dts:r/X[n(1101)],type:Ie[n(264)]};X.audio_track_[n(304)].push(m),X[n(814)][n(293)]+=t.byteLength},detectAudioMetadataChange(t){const r=e;if(t.codec!==X[r(800)][r(1064)])return Y.debugLog(X.TAG_NAME,r(577)+(X[r(800)].codec+r(555)+t[r(1064)])),!0;if(t[r(1064)]===r(410)&&X[r(800)][r(1064)]===r(410)){const e=t.data;if(e.audio_object_type!==X[r(800)][r(1090)])return Y[r(925)](X[r(1112)],r(419)+(X[r(800)][r(1090)]+r(555)+e[r(1090)])),!0;if(e[r(1055)]!==X[r(800)].sampling_freq_index)return Y[r(925)](X[r(1112)],r(669)+(X[r(800)].sampling_freq_index+r(555)+e[r(1055)])),!0;if(e[r(554)]!==X[r(800)][r(554)])return Y[r(925)](X[r(1112)],r(935)+(X[r(800)].channel_config+" to ")+e.channel_config),!0}else if(t[r(1064)]===r(590)&&X[r(800)][r(1064)]===r(590)){const e=t[r(1048)];if(e.sampling_frequency!==X[r(800)][r(864)])return Y[r(925)](X.TAG_NAME,r(313)+(X[r(800)][r(864)]+r(555)+e[r(864)])),!0;if(e[r(484)]!==X.audio_metadata_[r(484)])return Y[r(925)](X[r(1112)],"AC3: Bit Stream Identification changed from "+(X[r(800)][r(484)]+r(555)+e.bit_stream_identification)),!0;if(e[r(576)]!==X[r(800)][r(576)])return Y.debugLog(X[r(1112)],r(360)+(X[r(800)].bit_stream_mode+r(555)+e.bit_stream_mode)),!0;if(e.channel_mode!==X[r(800)].channel_mode)return Y.debugLog(X[r(1112)],r(591)+(X[r(800)][r(665)]+r(555)+e.channel_mode)),!0;if(e[r(766)]!==X[r(800)][r(766)])return Y[r(925)](X[r(1112)],"AC3: Low Frequency Effects Channel On changed from "+(X[r(800)][r(766)]+r(555)+e[r(766)])),!0}else if(t.codec===r(538)&&"opus"===X[r(800)][r(1064)]){const e=t[r(792)];if(e[r(458)]!==X.audio_metadata_.sample_rate)return Y.debugLog(X.TAG_NAME,r(806)+(X.audio_metadata_[r(458)]+r(555)+e[r(458)])),!0;if(e[r(1106)]!==X[r(800)].channel_count)return Y[r(925)](X[r(1112)],r(211)+(X[r(800)][r(1106)]+r(555)+e[r(1106)])),!0}else if(t[r(1064)]===r(520)&&X[r(800)][r(1064)]===r(520)){const e=t[r(1048)];if(e[r(1087)]!==X[r(800)][r(1087)])return Y[r(925)](X.TAG_NAME,r(612)+(X[r(800)][r(1087)]+r(555)+e[r(1087)])),!0;if(e.sample_rate!==X[r(800)][r(458)])return Y[r(925)](X[r(1112)],"MP3: SamplingFrequencyIndex changed from "+(X.audio_metadata_[r(458)]+r(555)+e[r(458)])),!0;if(e[r(1106)]!==X[r(800)][r(1106)])return Y[r(925)](X[r(1112)],"MP3: Channel count changed from "+(X[r(800)][r(1106)]+r(555)+e[r(1106)])),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n.type=r(264),n.id=X.audio_track_.id,n[r(364)]=1e3,n[r(518)]=X[r(1042)],"aac"===X[r(800)][r(1064)]){let e=t[r(1064)]===r(410)?t[r(1048)]:null,i=new Go(e);n[r(385)]=i.sampling_rate,n[r(424)]=i.sampling_index,n[r(1056)]=i[r(1106)],n[r(1064)]=i[r(260)],n[r(869)]=i[r(386)],n[r(1034)]=i[r(1034)],n[r(273)]=1024/n.audioSampleRate*n[r(364)],r(284);const s=mt({profile:Y._opt[r(701)]?i[r(1087)]:i.original_object_type,sampleRate:n[r(424)],channel:n.channelCount});Y.decodeAudio(s,0)}else"ac-3"===X[r(800)][r(1064)]||X[r(800)][r(1064)]===r(939)||"opus"===X.audio_metadata_[r(1064)]||X[r(800)][r(1064)]===r(520)&&(n[r(385)]=X[r(800)][r(458)],n[r(1056)]=X[r(800)][r(1106)],n[r(1064)]="mp3",n[r(869)]=r(520),n[r(1034)]=void 0);0==X[r(498)]&&Y[r(925)](X[r(1112)],r(1017)+n[r(1064)]),X[r(498)]=!0,X.video_metadata_changed_=!1;let i=X[r(192)];i[r(265)]=!0,i.audioCodec=n[r(869)],i.audioSampleRate=n[r(385)],i[r(777)]=n.channelCount,i.hasVideo&&i[r(922)]?i[r(633)]=r(657)+i.videoCodec+","+i[r(587)]+'"':i[r(633)]=r(657)+i.audioCodec+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s[i(267)]=t,s[i(421)]=r,s.descriptor=n},parsePESPrivateDataPayload(t,r,n,i,s){const a=e;let o=new Ho;if(o.pid=i,o[a(691)]=s,o[a(363)]=t[a(654)],o[a(1048)]=t,null!=r){let e=Math.floor(r/X[a(1101)]);o[a(828)]=e}else o[a(905)]=X[a(427)]();if(null!=n){let e=Math.floor(n/X[a(1101)]);o[a(207)]=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const a=e;Y.debugLog(X.TAG_NAME,a(271)+i+a(371)+r+a(630)+n+", stream_id="+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const a=e;Y[a(925)](X[a(1112)],a(749)+i+a(371)+r+", dts="+n+a(366)+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;Y[i(925)](X[i(1112)],i(560)+r+i(366)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const a=e;Y[a(925)](X[a(1112)],a(570)+i+a(371)+r+a(630)+n+a(366)+s)},getNearestTimestampMilliseconds(){const t=e;return null!=X.audio_last_sample_pts_?Math[t(768)](X[t(758)]):null!=X[t(448)]?Math.floor(X[t(448)]/300/X.timescale_):void 0},_preDoDecode(){const t=e,r=X[t(765)],n=X[t(814)];let i=r[t(304)];n.samples[t(293)]>0&&(i=r.samples.concat(n.samples),i=i[t(1032)](((e,r)=>{const n=t;return e[n(207)]-r[n(207)]}))),i[t(894)]((e=>{const r=t,n=new Uint8Array(e[r(867)]);delete e[r(867)],e[r(933)]===Ie[r(252)]?X[r(573)]({...e,payload:n}):e[r(933)]===Ie[r(264)]&&X._doDecodeAudio({...e,payload:n})})),r[t(304)]=[],r[t(293)]=0,n.samples=[],n[t(293)]=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t.payload);let i=null;i=t[r(866)]?an(n,t[r(359)]):xr(n,t[r(359)]),t.isIFrame&&Y[r(858)](t[r(207)]);let s=Y[r(306)](i,t[r(359)]);Y[r(274)](s,{type:Ie.video,ts:t.dts,isIFrame:t[r(359)],cts:t.cts})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(867)]);let i=n;Kt(Y[r(723)].m7sCryptoAudio)&&(i=Y.cryptoPayloadAudio(n)),Y.decode(i,{type:Ie[r(264)],ts:t.dts,isIFrame:!1,cts:0})}},K=null;Jt()&&(K={TAG_NAME:"worker MediaSource",_resetInIt(){const t=e;K[t(566)]=null,K.isAAC=null,K[t(951)]={},K[t(960)]={},K[t(501)]={},K[t(664)]=null,K[t(788)]=null,K[t(930)]=!1,K[t(822)]=!1,K[t(598)]=!1,K[t(429)]="",K[t(1082)]="",K[t(1052)]={},K[t(714)]={},K[t(372)]=!1,K[t(700)]=0,K[t(233)]=0,K.firstRenderTime=null,K[t(361)]=null,K[t(663)]=!1,K[t(603)]=!1,K[t(383)]=!1,K.mediaSourceBufferError=!1,K[t(1117)]=!1,K[t(1004)]=null,K[t(322)]=null,K.prevDts=null,K[t(540)]=null,K[t(1088)]=0,K[t(1051)]=!1,K[t(862)]=null,K[t(433)]=null,K[t(648)]=[],K.pendingRemoveRanges=[],K[t(643)]=[],K.pendingAudioRemoveRanges=[],K[t(314)]=[],K.supportVideoFrameCallbackHandle=null,K[t(446)]=null,K.audioSourceNoDataCheckTimeout=null,K[t(801)]=!1,K[t(717)]={currentTime:0,readyState:0}},init(){const t=e;K[t(477)]=new _o,K[t(204)](),K[t(741)]=new(self[t(1092)]),K[t(495)]=!!Yt(Y[t(723)][t(1035)]),K[t(230)](),Y[t(925)](K[t(1112)],t(206))},destroy(){const t=e;K[t(627)](),K[t(923)](),K[t(648)]&&K[t(648)][t(293)]&&(K[t(648)].forEach((e=>e())),K[t(648)]=[]),K._resetInIt(),K[t(741)]=null,Y[t(925)](K[t(1112)],t(1094))},getState(){const t=e;return K[t(741)]&&K.mediaSource[t(1069)]},isStateOpen(){const t=e;return K.getState()===Ne[t(856)]},isStateClosed(){const t=e;return K.getState()===Ne[t(544)]},isStateEnded(){const t=e;return K.getState()===Ne[t(682)]},_bindMediaSourceEvents(){const t=e,{proxy:r}=K[t(477)],n=r(K[t(741)],He[t(948)],(()=>{const e=t;Y[e(925)](K[e(1112)],e(948)),K[e(1079)]()})),i=r(K[t(741)],He[t(259)],(()=>{const e=t;Y[e(925)](K.TAG_NAME,e(259))})),s=r(K[t(741)],He[t(347)],(()=>{const e=t;Y.debugLog(K[e(1112)],e(347))}));K.eventListenList.push(n,i,s)},_onMediaSourceSourceOpen(){const t=e;!K[t(664)]&&(Y.debugLog(K[t(1112)],t(949)),K._initSourceBuffer()),!K.audioSourceBuffer&&(Y.debugLog(K[t(1112)],"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),K[t(660)]()),K[t(253)]()&&K._doAppendSegments()},decodeVideo(t,r,n,i){const s=e;if(Y[s(877)])Y[s(968)](K.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(Yt(K[s(930)]))if(n&&t[1]===je.sequenceHeader){const e=15&t[0];if(e===Me[s(303)]&&Yt(Y[s(723)][s(1108)]))return void K[s(759)](De.mediaSourceH265NotSupport);K[s(951)].codec=e,postMessage({cmd:Se[s(221)],code:e});const i=new Uint8Array(t);postMessage({cmd:Se[s(922)],buffer:i,codecId:e},[i[s(334)]]),K.hasInit=K[s(794)](t,r,n,e)}else Y[s(968)](K.TAG_NAME,s(891)+n+s(461)+t[1]+s(430));else if(!K[s(495)]&&n&&(K[s(495)]=!0),K[s(495)]){if(n&&0===t[1]){const e=15&t[0];let r={};e===Me[s(868)]?r=Ar(t[s(459)](5)):e===Me[s(303)]&&(r=en(t));const n=K.videoInfo;n&&n[s(311)]&&n[s(1067)]&&r&&r[s(926)]&&r[s(336)]&&(r[s(926)]!==n[s(311)]||r[s(336)]!==n[s(1067)])&&(Y.debugWarn(K[s(1112)],s(213)+n.width+s(697)+n.height+",\n new width is "+r[s(926)]+s(771)+r[s(336)]+s(422)),K[s(1051)]=!0,K[s(759)](De[s(552)],s(944)+n[s(311)]+"->"+r.codecWidth+s(659)+n[s(1067)]+"->"+r[s(336)]))}if(K[s(1051)])return void Y[s(968)](K[s(1112)],s(380));if(Xt(t))return void Y.debugLog(K[s(1112)],s(674));if(t[s(654)]<_e)return void Y[s(968)](K.TAG_NAME,s(272)+t[s(654)]);let e=r;if(Y[s(897)]){if(null===K.firstRenderTime&&(K.firstRenderTime=r,Y[s(925)](K.TAG_NAME,s(1114)+K[s(616)]),postMessage({cmd:Se[s(449)],value:K[s(616)]})),e=r-K.firstRenderTime,e<0&&(Y.debugWarn(K.TAG_NAME,s(990)+r+s(276)+K.prevTs+",\n firstRenderTime is "+K[s(616)]+s(957)+Y[s(723)][s(1008)]),e=null===K[s(614)]?0:K[s(614)]+Y[s(723)][s(1008)],K[s(785)](r)))return Y.debugWarn(K[s(1112)],s(720)+r+" and prevTs is "+K[s(862)]+", diff is "+(K[s(862)]-r)),void K[s(759)](De.mediaSourceTsIsMaxDiff,s(915)+r+" and prevTs is "+K.prevTs+s(744)+(K[s(862)]-r));if(null!==K[s(614)]&&e<=K[s(614)]){if(Y[s(968)](K[s(1112)],"\n decodeVideo dts is less than(or equal) prev dts ,\n dts is "+e+s(515)+K[s(614)]+s(444)+r+s(1060)+K.prevTs+s(776)+(r-K.prevTs)+s(1030)+K[s(616)]+s(746)+n+s(946)+Y[s(723)][s(1008)]+s(575)+K[s(1088)]+s(918)+t[s(654)]),e===K.prevDts&&K[s(1088)]===t[s(654)])return void Y[s(968)](K.TAG_NAME,s(807));if(e=K[s(614)]+Y._opt.mseCorrectTimeDuration,K[s(785)](r))return Y.debugWarn(K[s(1112)],s(720)+r+" and prevTs is "+K[s(862)]+s(744)+(K.prevTs-r)+s(344)),void K[s(759)](De[s(513)],s(915)+r+s(276)+K[s(862)]+s(744)+(K[s(862)]-r))}}Y.isPlayer?K._decodeVideo(t,e,n,i,r):Y[s(750)],K[s(614)]=e,K[s(1088)]=t[s(654)],K[s(862)]=r}else Y[s(925)](K[s(1112)],"decodeVideo first frame is not iFrame")},decodeAudio(t,r){const n=e;if(Y.isDestroyed)Y[n(968)](K[n(1112)],n(679));else if(Yt(K[n(822)]))K[n(822)]=K[n(387)](t,r);else{let e=r;if(vt(t))return void Y[n(925)](K[n(1112)],n(189));K[n(445)](),K[n(495)]?(Y[n(897)]&&(null===K[n(361)]&&(K[n(361)]=r,Y.debugLog(K[n(1112)],n(403)+K[n(361)])),e=r-K[n(361)],e<0&&(Y.debugWarn(K[n(1112)],n(631)+r+n(276)+K.prevAudioTs+n(439)+K[n(361)]),e=null===K[n(540)]?0:K[n(540)]+Y[n(723)][n(839)]),null!==K[n(433)]&&e<=K.prevAudioDts&&(Y[n(968)](K.TAG_NAME,"\n decodeAudio dts is less than(or equal) prev dts ,\n dts is "+e+n(515)+K[n(540)]+n(619)+r+" and prev ts is "+K.prevAudioTs+" ,\n and diff is "+(r-K[n(433)])),e=K[n(540)]+Y[n(723)][n(839)])),Y[n(897)]?K._decodeAudio(t,e,r):Y.isPlayback,K[n(433)]=r,K[n(540)]=e):Y[n(925)](K[n(1112)],n(579))}},_checkTsIsMaxDiff(t){const r=e;return K.prevTs>0&&tye},_decodeConfigurationRecord(t,r,n,i){const s=e;let a=t.slice(5),o={};if(i===Me.h264?o=Ar(a):i===Me.h265&&(o=tn(a)),K[s(951)][s(311)]=o[s(926)],K[s(951)][s(1067)]=o[s(336)],0===o[s(926)]&&0===o[s(336)])return Y.debugWarn(K[s(1112)],s(258),JSON[s(389)](o)),K[s(759)](De[s(790)],s(323)+(0===o.codecWidth)+" and height is "+o[s(336)]),!1;const c={id:Xe[s(252)],type:s(252),timescale:1e3,duration:0,avcc:a,codecWidth:o[s(926)],codecHeight:o.codecHeight,videoType:o.videoType},u=wo[s(817)](c);return K[s(566)]=i===Me[s(868)],o[s(1064)]?K.videoMimeType='video/mp4; codecs="'+o[s(1064)]+'"':K[s(429)]=K[s(566)]?ze.avc:ze[s(519)],postMessage({cmd:Se.initVideo,w:o[s(926)],h:o[s(336)]}),K._initSourceBuffer(),K.appendBuffer(u.buffer),K[s(700)]=0,K[s(1052)]={},K[s(372)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,a=i===Fe[n(629)],o=i===Fe[n(284)];if(Yt(o||a))return Y[n(968)](K.TAG_NAME,"_decodeAudioConfigurationRecord audio codec is not support , codecId is "+i+n(434)),K[n(759)](De[n(480)]),!1;const c={id:Xe.audio,type:n(264),timescale:1e3};let u={};if(vt(t)){if(u=_t(t[n(459)](2)),!u)return!1;c[n(385)]=u[n(351)],c[n(1056)]=u.channelCount,c.config=u.config,c[n(273)]=1024/c[n(385)]*c.timescale}else{if(!a)return!1;if(u=Ro(t),!u)return!1;c[n(385)]=u[n(938)],c.channelCount=u[n(1056)],c[n(273)]=1152/c.audioSampleRate*c[n(364)]}c[n(1064)]=u.codec,c[n(518)]=0;let l=n(825),d=u.codec,h=null;a&&Yt(Y._opt[n(607)])?(l=n(583),d="",h=new Uint8Array):h=wo[n(817)](c);let f=c[n(933)]+"/"+l;return d&&d[n(293)]>0&&(f+=n(791)+d),Yt(K.isAudioInitInfo)&&(O=i===Fe.AAC?s?16:8:0===s?8:16,postMessage({cmd:Se[n(774)],code:i}),postMessage({cmd:Se.initAudio,sampleRate:c.audioSampleRate,channels:c[n(1056)],depth:O}),K[n(598)]=!0),K.audioMimeType=f,K.isAAC=o,K[n(660)](),K.appendAudioBuffer(h[n(334)]),!0},_initSourceBuffer(){const t=e,{proxy:r}=K[t(477)];if(null===K[t(664)]&&null!==K[t(741)]&&K[t(852)]()&&K[t(429)]){try{Y[t(925)](K[t(1112)],t(646),K[t(429)]),K.sourceBuffer=K.mediaSource[t(878)](K.videoMimeType)}catch(e){return Y.debugError(K[t(1112)],t(981),e[t(872)],e[t(250)](),e),K.emitError(De[t(974)],e[t(872)]),void(K[t(383)]=!0)}if(K[t(664)]){const e=r(K[t(664)],t(736),(e=>{const r=t;K[r(703)]=!0,Y[r(1028)](K[r(1112)],r(237),e,e[r(250)]()),K[r(759)](De[r(849)],e[r(872)])})),n=r(K[t(664)],t(327),(()=>{const e=t;K._hasPendingRemoveRanges()?K._doRemoveRanges():K[e(253)]()?K._doAppendSegments():K[e(801)]&&(Y[e(925)](K[e(1112)],e(615)),K[e(819)]())}));K.eventListenList[t(1044)](e,n)}}else Y.debugLog(K.TAG_NAME,t(1113)+K[t(852)]()+" and mseDecoder.isAvc === null is "+(null===K.isAvc))},_initAudioSourceBuffer(){const t=e,{proxy:r}=K[t(477)];if(null===K[t(788)]&&null!==K[t(741)]&&K[t(852)]()&&K[t(1082)]){try{Y[t(925)](K[t(1112)],t(473),K[t(1082)]),K[t(923)](),K[t(788)]=K.mediaSource.addSourceBuffer(K.audioMimeType)}catch(e){return Y.debugError(K[t(1112)],t(1100),e[t(872)],e[t(250)](),e),K[t(759)](De[t(974)],e[t(872)]),void(K.mediaSourceAddSourceBufferError=!0)}if(K.audioSourceBuffer){const e=r(K[t(788)],t(736),(e=>{const r=t;K.mediaSourceBufferError=!0,Y[r(1028)](K.TAG_NAME,r(653),e[r(872)],e[r(250)](),e),K[r(759)](De.mseSourceBufferError,e[r(872)])})),n=r(K.audioSourceBuffer,t(327),(()=>{const e=t;K[e(412)]()?K[e(889)]():K._hasPendingSegments()?K[e(1025)]():K[e(801)]&&(Y[e(925)](K[e(1112)],"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),K[e(819)]())}));K[t(648)][t(1044)](e,n),null===K[t(584)]&&(K[t(584)]=setTimeout((()=>{const e=t;K[e(445)](),K[e(759)](De[e(964)])}),1e3))}}else Y[t(925)](K[t(1112)],t(698)+K[t(852)]()+" and mseDecoder.audioMimeType is "+K[t(1082)])},_decodeVideo(t,r,n,i,s){const a=e;let o=t[a(459)](5),c=o.byteLength;if(0===c)return void Y[a(968)](K[a(1112)],a(244));let u=(new Date).getTime(),l=!1;!K.prevTimestamp&&(K[a(1004)]=u,l=!0);const d=u-K[a(1004)];if(K[a(322)]=d,d>1e3&&!l&&Y[a(897)]&&Y[a(925)](K[a(1112)],a(874)+u+a(567)+K[a(1004)]+a(216)+d+" ms"),K.cacheTrack.id&&r>=K[a(1052)].dts){let e=8+K[a(1052)].size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[a(528)](wo[a(235)].mdat,4),t.set(K.cacheTrack[a(1048)],8),K[a(1052)][a(518)]=r-K[a(1052)][a(207)];let n=wo[a(503)](K[a(1052)],K[a(1052)].dts);K[a(1052)]={};let i=new Uint8Array(n.byteLength+t[a(654)]);i[a(528)](n,0),i[a(528)](t,n[a(654)]),K[a(557)](i.buffer)}else Y[a(925)](K[a(1112)],a(706)+r+a(604)+s+a(535)+(K[a(1052)]&&K[a(1052)][a(207)])),K.timeInit=!1,K[a(1052)]={};!K[a(1052)]&&(K[a(1052)]={}),K[a(1052)].id=Xe.video,K[a(1052)][a(700)]=++K[a(700)],K[a(1052)][a(793)]=c,K[a(1052)][a(207)]=r,K[a(1052)].cts=i,K[a(1052)][a(830)]=n,K.cacheTrack[a(1048)]=o,K[a(1052)][a(764)]={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},K[a(1004)]=(new Date)[a(539)]()},_decodeAudio(t,r,n){const i=e;let s=K.isAAC?t[i(459)](2):t[i(459)](1),a=s[i(654)];if(K[i(714)].id&&r>=K[i(714)][i(207)]){let e=8+K.cacheAudioTrack[i(793)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t.set(wo[i(235)][i(455)],4),t[i(528)](K[i(714)][i(1048)],8),K.cacheAudioTrack[i(518)]=r-K[i(714)][i(207)];let n=wo[i(503)](K.cacheAudioTrack,K[i(714)][i(207)]);K[i(714)]={};let s=new Uint8Array(n.byteLength+t[i(654)]);s[i(528)](n,0),s[i(528)](t,n[i(654)]),K.appendAudioBuffer(s[i(334)])}else K[i(714)]={};!K[i(714)]&&(K.cacheAudioTrack={}),K[i(714)].id=Xe.audio,K.cacheAudioTrack[i(700)]=++K.audioSequenceNumber,K[i(714)][i(793)]=a,K[i(714)][i(207)]=r,K[i(714)].cts=0,K[i(714)][i(1048)]=s,K[i(714)][i(764)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;Y[r(877)]?Y[r(968)](K[r(1112)],r(899)):K.mediaSourceAddSourceBufferError?Y[r(968)](K[r(1112)],"mseDecoder.mediaSourceAddSourceBufferError is true"):K[r(663)]?Y[r(968)](K[r(1112)],r(941)):K[r(603)]?Y[r(968)](K.TAG_NAME,r(296)):K.mediaSourceBufferError?Y[r(968)](K[r(1112)],r(401)):(K[r(643)].push(t),K[r(664)]&&(Y[r(723)][r(640)]&&K._needCleanupSourceBuffer()&&K[r(838)](),Yt(K[r(247)]())&&K.isStateOpen()&&Yt(K[r(412)]()))?K[r(1025)]():K[r(1020)]()?(K.mediaSourceBufferError=!0,K[r(759)](De[r(849)],r(341))):K[r(378)]()&&(K.mediaSourceBufferError=!0,K.emitError(De[r(849)],r(834))))},appendAudioBuffer(t){const r=e;Y.isDestroyed?Y.debugWarn(K[r(1112)],r(353)):K.mediaSourceAddSourceBufferError?Y[r(968)](K[r(1112)],r(934)):K[r(663)]?Y.debugWarn(K.TAG_NAME,r(941)):K[r(603)]?Y[r(968)](K[r(1112)],r(296)):K[r(703)]?Y.debugWarn(K.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(K[r(314)][r(1044)](t),K[r(788)]&&(Y._opt.mseAutoCleanupSourceBuffer&&K[r(606)]()&&K[r(838)](),Yt(K[r(916)]())&&K[r(852)]()&&Yt(K[r(412)]()))?K[r(1025)]():K[r(1020)]()?(K[r(703)]=!0,K[r(759)](De[r(849)],r(341))):K[r(378)]()&&(K[r(703)]=!0,K[r(759)](De.mseSourceBufferError,r(834))))},getSourceBufferUpdating(){const t=e;return K[t(664)]&&K[t(664)][t(563)]},getAudioSourceBufferUpdating(){const t=e;return K[t(788)]&&K[t(788)][t(563)]},stop(){const t=e;K[t(1014)](),K[t(955)](),K[t(819)]()},clearUpAllSourceBuffer(){const t=e;if(K.sourceBuffer){const e=K.sourceBuffer[t(641)];for(let r=0;r0||K[t(314)].length>0},getPendingSegmentsLength(){const t=e;return K[t(643)][t(293)]},_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(K.isStateClosed()||K[t(378)]())Y[t(925)](K.TAG_NAME,t(989));else if(null!==K[t(664)]){if(K[t(578)]()&&null===K[t(788)])return Y.debugLog(K[t(1112)],t(845)),void(null===K[t(446)]&&(K[t(446)]=setTimeout((()=>{const e=t;K._clearAudioSourceBufferCheckTimeout(),K[e(759)](De[e(832)])}),1e3)));if(Yt(K[t(247)]())&&K[t(643)][t(293)]>0){const e=K[t(643)].shift();try{K[t(664)][t(557)](e)}catch(e){Y[t(1028)](K[t(1112)],"mseDecoder.sourceBuffer.appendBuffer()",e[t(872)],e),22===e[t(872)]?(K[t(627)](),K[t(663)]=!0,K.emitError(De.mediaSourceFull,t(282)+e[t(872)]+t(185)+e[t(500)])):11===e.code?(K[t(627)](),K[t(603)]=!0,K[t(759)](De[t(603)],t(282)+e[t(872)]+t(185)+e[t(500)])):(K[t(627)](),K[t(703)]=!0,K.emitError(De[t(849)],t(282)+e.code+t(185)+e[t(500)]))}}if(Yt(K[t(916)]())&&K[t(314)].length>0){const e=K[t(314)].shift();try{K[t(788)][t(557)](e)}catch(e){Y[t(1028)](K[t(1112)],t(651),e[t(872)],e),22===e[t(872)]?(K[t(627)](),K[t(663)]=!0,K[t(759)](De[t(290)],t(282)+e[t(872)]+t(185)+e[t(500)])):11===e[t(872)]?(K[t(627)](),K.mediaSourceAppendBufferError=!0,K.emitError(De[t(603)],t(282)+e.code+t(185)+e.message)):(K[t(627)](),K[t(703)]=!0,K[t(759)](De[t(849)],e[t(872)],t(282)+e[t(872)]+t(185)+e[t(500)]))}}}else Y[t(925)](K.TAG_NAME,t(783))},_doCleanUpSourceBuffer(){const t=e,r=K[t(717)][t(695)];if(K[t(664)]){const e=K[t(664)][t(641)];let n=!1;for(let i=0;i=Y[t(723)][t(257)]){n=!0;let e=r-Y[t(723)][t(231)];K[t(704)].push({start:s,end:e})}}else a=Y[t(723)].mseAutoCleanupMaxBackwardDuration){n=!0;let e=r-Y[t(723)][t(231)];K[t(377)][t(1044)]({start:s,end:e})}}else a0||K.pendingAudioRemoveRanges[t(293)]>0},needInitAudio(){const t=e;return Y[t(723)].hasAudio&&Y[t(723)][t(701)]},_doRemoveRanges(){const t=e;if(K[t(664)]&&Yt(K[t(247)]())){let e=K[t(704)];for(;e[t(293)]&&Yt(K.getSourceBufferUpdating());){let r=e.shift();try{K[t(664)].remove(r[t(574)],r[t(1023)])}catch(e){Y[t(968)](K[t(1112)],t(835),e,e[t(250)]())}}}if(K[t(788)]&&Yt(K.getAudioSourceBufferUpdating())){let e=K[t(377)];for(;e.length&&Yt(K[t(916)]());){let r=e[t(301)]();try{K[t(788)][t(808)](r[t(574)],r[t(1023)])}catch(e){Y.debugWarn(K[t(1112)],"_doRemoveRanges() audioSourceBuffer error",e,e[t(250)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Yt(Y[t(723)][t(640)]))return!1;const r=K[t(717)][t(695)];if(K[t(664)]){let e=K[t(664)][t(641)];if(e.length>=1&&r-e[t(574)](0)>=Y[t(723)][t(257)])return!0}if(K.audioSourceBuffer){let e=K[t(788)][t(641)];if(e.length>=1&&r-e[t(574)](0)>=Y[t(723)][t(257)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){const t=e;K.audioSourceBufferCheckTimeout&&(clearTimeout(K[t(446)]),K.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){const t=e;K[t(584)]&&(clearTimeout(K[t(584)]),K[t(584)]=null)},getHandle:()=>K[e(741)].handle,emitError(t){let r=arguments[e(293)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:Se.mseError,value:t,msg:r})}});let Y={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:qe[e(903)],_opt:V(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){const t=e;Y[t(212)](),d=setInterval((()=>{const e=t;l&&l(0);const r=JSON[e(389)]({demuxBufferDelay:Y[e(980)](),audioDemuxBufferDelay:Y[e(340)](),streamBufferByteLength:Y[e(457)](),netBuf:Y[e(837)]||0,pushLatestDelay:Y[e(514)]||0,latestDelay:Y.delay,isStreamTsMoreThanLocal:w,wasmDecodeDelay:_-b});postMessage({cmd:Se.workerFetch,type:Te[e(362)],value:r})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return Y[t(723)][t(971)]&&"undefined"!=typeof OffscreenCanvas},getDelay:function(t,r){const n=e;if(!t||Y[n(723)][n(365)]&&!g)return-1;if(r===Ie.audio)return Y[n(737)];if(Y.preDelayTimestamp&&Y[n(854)]>t)return Y[n(854)]-t>1e3&&Y[n(968)](n(796),n(438)+Y[n(854)]+n(392)+t+n(658)+(Y[n(854)]-t)+n(464)+Y[n(737)]),Y[n(854)]=t,Y[n(737)];if(Y[n(337)]){if(t){const e=Date[n(884)]()-Y[n(992)],r=t-Y[n(337)];e>=r?(w=!1,Y[n(737)]=e-r):(w=!0,Y[n(737)]=r-e)}}else Y.firstTimestamp=t,Y[n(992)]=Date.now(),Y.delay=-1;return Y[n(854)]=t,Y[n(737)]},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||Y[n(723)][n(365)]&&!g)return-1;if(r===Ie[n(264)])return Y.pushLatestDelay;if(Y.preDelayTimestamp&&Y[n(854)]-t>1e3)return Y[n(968)]("worker",n(895)+Y[n(854)]+n(392)+t+n(658)+(Y[n(854)]-t)+"ms and return -1"),-1;if(Y.firstTimestamp){let e=-1;if(t){const r=Date[n(884)]()-Y[n(992)],i=t-Y[n(337)];r>=i?(w=!1,e=r-i):(w=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;Y[t(337)]=null,Y.startTimestamp=null,Y[t(737)]=-1,Y.dropping=!1},resetAllDelay:function(){const t=e;Y[t(988)](),Y[t(854)]=null},doDecode:function(t){const r=e;Y._opt.isEmitSEI&&t.type===Ie[r(252)]&&Y[r(462)]&&Y[r(268)](t[r(867)],t.ts),Y[r(510)]()?t[r(933)]===Ie[r(264)]?Y[r(723)][r(701)]?K[r(885)](t[r(867)],t.ts):t[r(730)].decode(t[r(867)],t.ts):t[r(933)]===Ie.video&&K[r(716)](t[r(867)],t.ts,t.isIFrame,t.cts):Y[r(723)].useWCS&&Y[r(971)]()&&t[r(933)]===Ie[r(252)]&&o.decode?o[r(274)](t.payload,t.ts,t.cts):t[r(730)][r(274)](t.payload,t.ts,t.isIFrame,t[r(543)])},decodeNext(t){const r=e;if(0===s.length)return;const i=t.ts,a=s[0],o=t[r(933)]===Ie[r(252)]&&Xt(t[r(867)]);if(Yt(n))o&&(Y[r(925)](r(796),r(1089)+t[r(933)]+r(246)+i+r(608)+a[r(933)]+r(1015)+a.ts+r(470)+o),s[r(301)](),Y[r(1005)](a));else{const e=a.ts-i,n=a[r(933)]===Ie[r(264)]&&t.type===Ie[r(252)];(e<=20||n||o)&&(Y[r(925)](r(796),r(1089)+t[r(933)]+r(246)+i+" next data type is "+a[r(933)]+r(1015)+a.ts+"\n diff is "+e+" and isVideoAndNextAudio is "+n+r(420)+o),s.shift(),Y[r(1005)](a))}},init:function(){const t=e;Y.debugLog(t(796),t(740)+n+t(984)+i+t(594),JSON[t(389)](Y._opt));const r=Y[t(723)].playType===ae[t(919)],a=Y[t(723)][t(947)]===ae.playbackTF,c=Y[t(723)][t(947)]===ae[t(602)];if($[t(206)](),Y[t(897)]=r,Y[t(750)]=a,Y.isPlayVod=c,Y[t(510)]()&&K&&K[t(206)](),o&&Y[t(723)][t(775)]&&Y[t(971)]()&&o[t(206)](),Yt(Y[t(672)]())||Y[t(991)]){Y[t(925)](t(796),t(927));const e=()=>{const e=t,n=Y[e(723)][e(693)]+Y[e(723)].videoBufferDelay;let i=null;if(s[e(293)]){if(Y[e(345)])return void Y[e(968)]("worker",e(467)+s.length);if(Y.dropping){for(i=s[e(301)](),Y[e(968)](e(796),e(402)+i[e(359)]+" and delay is "+Y[e(737)]+e(795)+s.length);!i[e(359)]&&s[e(293)];)i=s[e(301)]();const t=Y[e(611)](i.ts,i[e(933)]);i[e(359)]&&t<=Y[e(496)]()&&(Y.debugLog("worker",e(713)),Y[e(226)]=!1,Y[e(1005)](i),Y[e(1027)](i))}else if(Y[e(750)]||Y[e(596)]()||0===Y[e(723)].videoBuffer||Y[e(991)])for(;s[e(293)];)i=s[e(301)](),Y[e(1005)](i);else if(i=s[0],-1===Y.getDelay(i.ts,i[e(933)]))Y[e(925)]("worker",e(280),i.ts),s[e(301)](),Y.doDecode(i),Y.decodeNext(i);else if(Y[e(737)]>n&&r)Y[e(857)]()?(Y[e(925)](e(796),e(505)+Y[e(737)]+e(1110)+n+e(472)),Y[e(269)](),Y[e(226)]=!0,postMessage({cmd:Se[e(929)]})):(s.shift(),Y[e(1005)](i),Y.decodeNext(i));else for(;s[e(293)];){if(i=s[0],!(Y[e(1046)](i.ts,i[e(933)])>Y[e(723)][e(693)])){Y[e(737)]<0&&Y[e(968)](e(796),e(305)+Y[e(737)]+e(502)+s[e(293)]);break}s.shift(),Y[e(1005)](i)}}else-1!==Y[e(737)]&&Y[e(925)]("worker","loop() bufferList is empty and reset delay"),Y[e(269)]()};Y[t(1018)]=setInterval((()=>{const r=t;let n=(new Date).getTime();!S&&(S=n);const i=n-S;i>100&&Y[r(968)](r(796),"loop demux diff time is "+i),e(),S=(new Date)[r(539)]()}),20)}else Y[t(925)](t(796),"playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Yt(Y[t(723)][t(1035)])&&(g=!0),Y.isPlayUseMSEAndDecoderInWorker()&&K){const e=K[t(370)]();e&&postMessage({cmd:Se[t(509)],mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;Y.clearPlaybackCacheLoop();const r=()=>{const e=pc;let t=null;s.length&&(t=s[e(301)](),Y[e(1005)](t))};r();const n=Math[t(394)](1e3/(Y.streamFps*Y[t(723)].playbackRate));Y[t(925)]("worker","playbackCacheLoop fragDuration is "+n+t(494)+Y[t(809)]+t(1076)+Y.streamAudioFps+t(569)+Y[t(1007)]+t(601)+Y[t(723)][t(625)]),Y[t(1018)]=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;Y[t(1018)]&&(clearInterval(Y.stopId),Y[t(1018)]=null)},startPlaybackCacheLoop:function(){Y[e(466)]()},close:function(){const t=e;if(Y.debugLog(t(796),t(203)),Y[t(877)]=!0,j(),!u||1!==u[t(1069)]&&2!==u.readyState?u&&Y[t(925)](t(796),t(1029)+u.readyState):(z=!0,u.close(1e3,t(840))),u&&(u.onopen=null,u[t(582)]=null,u.onclose=null,u[t(415)]=null),u=null,Y[t(212)](),Y[t(1018)]&&(clearInterval(Y[t(1018)]),Y[t(1018)]=null),Y[t(522)]&&(Y.mp3Demuxer[t(1094)](),Y[t(522)]=null),Y[t(381)]&&Yt(Y[t(381)][t(350)])&&Y[t(381)][t(203)]().catch((e=>{const r=t;Y[r(925)]("worker","close() and writableStream.close() error",e[r(250)](),e)})),Y[t(381)]=null,J)try{J[t(644)]&&J[t(644)](),J=null}catch(e){Y[t(925)](t(796),t(597),e[t(250)](),e)}if(Q)try{Q[t(644)]&&Q[t(644)](),Q=null}catch(e){Y.debugLog(t(796),"close() and videoDecoder.clear error",e.toString())}l=null,S=null,w=!1,_=0,b=0,o&&(o[t(1094)]&&o.destroy(),o=null),K&&(K[t(1094)](),K=null),Y.firstTimestamp=null,Y[t(992)]=null,Y[t(837)]=0,Y.streamFps=null,Y[t(873)]=null,Y.streamVideoFps=null,Y[t(737)]=-1,Y[t(514)]=-1,Y.preDelayTimestamp=null,Y.dropping=!1,Y.isPushDropping=!1,Y[t(897)]=!0,Y[t(750)]=!1,Y[t(991)]=!1,Y.isWorkerFetch=!1,Y.isHevc=null,Y[t(723)]=V(),Y[t(702)]&&(Y[t(702)][t(1094)](),Y[t(551)][t(409)](t(715),Y[t(1095)]),Y.offscreenCanvas.removeEventListener(t(453),Y[t(1104)]),Y[t(551)]=null,Y.offscreenCanvasGL=null,Y.offscreenCanvasCtx=null),s=[],a=[],h&&(h[t(203)](),h=null),p=null,m=null,v=!1,y=!1,g=!1,U=!1,F=!1,R=!1,L=null,k=[],x=0,T=0,I=null,A=null,B=null,D=null,O=null,P=0,M=0,E=null,C=null,Y[t(861)]=qe[t(903)],N=!0,$.destroy(),G[t(1094)](),q[t(1094)](),X[t(1094)](),Y[t(1098)]=null,Y[t(723)]={},postMessage({cmd:Se.closeEnd})},pushBuffer:function(t,r){const i=e;if(r.type===Ie[i(264)]&&vt(t)){if(Y[i(925)](i(796),i(426)+r.ts+i(431)),Y[i(723)][i(190)]){const e=new Uint8Array(t);postMessage({cmd:Se.aacSequenceHeader,buffer:e},[e[i(334)]])}Y[i(885)](t,r.ts)}else if(r[i(933)]===Ie[i(252)]&&r.isIFrame&&Xt(t)){if(Y[i(925)](i(796),"pushBuffer video ts is "+r.ts+i(558)),Y._opt.isRecordTypeFlv){const e=new Uint8Array(t);postMessage({cmd:Se[i(376)],buffer:e},[e[i(334)]])}Y[i(716)](t,r.ts,r[i(359)],r[i(543)])}else{if(Y._opt.isRecording)if(Y._opt[i(190)]){const e=new Uint8Array(t);postMessage({cmd:Se[i(201)],type:r[i(933)],buffer:e,ts:r.ts},[e.buffer])}else if(Y[i(723)][i(997)]===oe[i(825)])if(r[i(933)]===Ie[i(252)]){const e=new Uint8Array(t).slice(5);postMessage({cmd:Se[i(186)],buffer:e,isIFrame:r.isIFrame,ts:r.ts,cts:r[i(543)]},[e[i(334)]])}else if(r[i(933)]===Ie[i(264)]&&Y._opt[i(781)]){const e=new Uint8Array(t),n=yt(e)?e[i(459)](2):e[i(459)](1);postMessage({cmd:Se[i(490)],buffer:n,ts:r.ts},[n[i(334)]])}if(Y[i(897)]){if(r[i(933)]===Ie[i(252)]){if(P>0){const e=r.ts-D,t=P+P/2;e>t&&Y[i(925)](i(796),i(219)+r[i(359)]+i(982)+r.ts+i(223)+D+i(726)+e+i(850)+P+i(1061)+t+i(932))}if(null!==D&&D>=r.ts&&(Y[i(968)](i(796),i(928)+r[i(359)]+i(331)+r.ts+" less than (or equal) preTs is "+D+i(921)+t[i(654)]+i(199)+M),D-r.ts>ye&&(Y[i(968)]("worker",i(308)+D+i(404)+r.ts+",\n diff is "+(D-r.ts)+i(658)+ye+i(399)),Y.resetAllDelay(),D=null,P=0),Y[i(723)].isDropSameTimestampGop&&Yt(r.isIFrame)&&g)){const e=Y[i(857)](),t=Yt(Y.isPushDropping);return Y[i(925)]("worker","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is "+e+i(953)+t+" and next dropBuffer"),void(e&&t?Y[i(892)]():(Y[i(405)](!0),Kt(Y[i(723)].checkFirstIFrame)&&Kt(n)&&(Y[i(510)]()?K[i(495)]=!1:postMessage({cmd:Se[i(1035)]}))))}D>0&&(P=r.ts-D),M=t[i(654)],D=r.ts}if(g){const e=Y[i(723)][i(693)]+Y[i(723)][i(516)],t=Y.getDelayNotUpdateDelay(r.ts,r[i(933)]);Y[i(514)]=t,Y[i(737)]>0&&t>e&&Y[i(737)]({type:e[i(933)],ts:e.ts})));Y[i(925)](i(796),i(352)+t+i(805)+e+i(945)+s[i(293)]+i(471)+JSON[i(389)](r))}const r=Y.getAudioBufferLength()>0,n=r?60:40;s[i(293)]>=n&&(Y[i(968)]("worker",i(684)+s[i(293)]+i(658)+n+i(721)+r+" an set streamFps is 25"),Y[i(1007)]=25,postMessage({cmd:Se.playbackStreamVideoFps,value:Y[i(1007)]}),r?(Y[i(873)]=25,Y.streamFps=Y[i(1007)]+Y[i(873)]):Y[i(809)]=Y.streamVideoFps,Y.playbackCacheLoop())}}},getVideoBufferLength(){const t=e;let r=0;return s[t(894)]((e=>{const n=t;e[n(933)]===Ie[n(252)]&&(r+=1)})),r},hasIframeInBufferList:()=>s.some((e=>{const t=pc;return e[t(933)]===Ie[t(252)]&&e[t(359)]})),isAllIframeInBufferList(){const t=e,r=Y[t(980)]();let n=0;return s[t(894)]((e=>{const r=t;e[r(933)]===Ie[r(252)]&&e[r(359)]&&(n+=1)})),r===n},getNotDroppingDelayTs(){const t=e;return Y[t(723)].videoBuffer+Y[t(723)][t(516)]/2},getAudioBufferLength(){const t=e;let r=0;return s[t(894)]((e=>{const n=t;e[n(933)]===Ie[n(264)]&&(r+=1)})),r},getStreamBufferLength(){const t=e;let r=0;return h&&h[t(334)]&&(r=h[t(334)][t(654)]),Y[t(723)].isNakedFlow?$[t(986)]&&(r=$[t(986)].byteLength):Y[t(723)][t(506)]?X[t(536)]&&(r=X._remainingPacketData[t(654)]):Y[t(723)][t(564)]&&G[t(396)]&&(r=G[t(396)][t(896)]()),r},fetchStream:function(t,r){const n=e;let i=arguments[n(293)]>2&&void 0!==arguments[2]?arguments[2]:[];if(Y[n(925)](n(796),n(668)+t,n(291),JSON.stringify(r)),Y[n(462)]=!0,r[n(985)]?Y[n(723)].isFlv=!0:r[n(564)]?Y[n(723)][n(564)]=!0:r.isMpeg4?Y[n(723)][n(232)]=!0:r.isNakedFlow?Y[n(723)][n(261)]=!0:r[n(506)]&&(Y[n(723)].isTs=!0),l=Ut((e=>{postMessage({cmd:Se.workerFetch,type:Te[n(489)],value:e})})),Y[n(206)](),Y[n(789)](),r[n(564)]&&G[n(398)](),r[n(969)]===ie[n(637)]){r[n(985)]&&(h=new sr(Y.demuxFlv())),c=new AbortController;const e=Object[n(407)]({signal:c[n(675)]},{headers:r[n(532)]&&r[n(532)][n(1050)]||{}});fetch(t,e)[n(798)]((e=>{const t=n;if(Kt(z))return Y[t(925)](t(796),t(1116)),Y[t(861)]=qe.idle,void e[t(748)][t(976)]();if(!Gt(e))return Y.debugWarn(t(796),t(855)+e[t(954)]+" and ok is "+e.ok+t(561)),j(),void postMessage({cmd:Se.workerFetch,type:De[t(753)],value:t(855)+e[t(954)]+t(1084)+e.ok});if(postMessage({cmd:Se.workerFetch,type:Te[t(1091)]}),Vt())Y[t(381)]=new WritableStream({write:e=>{const n=t;return c&&c[n(675)]&&c[n(675)][n(572)]?(Y[n(925)]("worker","writableStream write() and abortController.signal.aborted is true so return"),void(Y[n(861)]=qe[n(319)])):Kt(z)?(Y.debugLog("worker",n(979)),Y[n(861)]=qe[n(319)],void j()):void(typeof e!==n(970)?(Y[n(861)]=qe.buffering,l(e[n(654)]),r[n(985)]?h.write(e):r.isFmp4?Y[n(898)](e):r[n(232)]?Y[n(870)](e):r[n(506)]?Y[n(537)](e):r[n(261)]&&Y.demuxNakedFlow(e)):Y.debugWarn(n(796),n(826)+e+n(770)))},close:()=>{const e=t;Y[e(925)]("worker",e(1022)),Y[e(861)]=qe.complete,j(),Y.isPlayVod?Y[e(925)]("worker","writableStream close() and isPlayVod is true so return"):Y[e(723)][e(729)]?(h&&(h[e(203)](),h=null),postMessage({cmd:Se[e(542)],type:Te[e(550)],value:se[e(637)],msg:"fetch done"})):postMessage({cmd:Se[e(542)],type:Te[e(266)]})},abort:e=>{const r=t;if(c&&c.signal&&c[r(675)][r(572)])return Y[r(925)]("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(Y[r(861)]=qe[r(319)]);h&&(h.close(),h=null),e[r(994)]!==Ve[r(243)]?(Y.debugLog(r(796),r(435)+e.toString()),j(),postMessage({cmd:Se[r(542)],type:De[r(753)],value:e.toString()})):Y[r(925)](r(796),r(333))}}),e[t(748)][t(820)](Y[t(381)])[t(743)]((e=>{const r=t;"AbortError"!==e[r(994)]&&Y[r(925)](r(796),r(998),e[r(994)],e.toString())}));else{const n=e[t(748)].getReader(),i=()=>{const e=t;n[e(689)]().then((t=>{const n=e;let{done:s,value:a}=t;return s?(Y[n(925)](n(796),n(882)),Y[n(861)]=qe[n(319)],j(),void(Y._opt.checkStreamEnd?(h&&(h[n(203)](),h=null),postMessage({cmd:Se[n(542)],type:Te[n(550)],value:se[n(637)],msg:n(956)})):postMessage({cmd:Se[n(542)],type:Te[n(266)]}))):c&&c.signal&&c[n(675)].aborted?(Y.debugLog(n(796),"fetchNext().then() and abortController.signal.aborted is true so return"),void(Y[n(861)]=qe[n(319)])):Kt(z)?(Y.debugLog(n(796),n(525)),Y[n(861)]=qe[n(319)],void j()):void(typeof a!==n(970)?(Y[n(861)]=qe.buffering,l(a[n(654)]),r[n(985)]?h[n(1062)](a):r[n(564)]?Y[n(898)](a):r[n(232)]?Y.demuxMpeg4(a):r[n(506)]?Y[n(537)](a):r[n(261)]&&Y[n(738)](a),i()):Y[n(968)](n(796),n(816)+a+'" is string so return'))}))[e(743)]((t=>{const r=e;if(c&&c[r(675)]&&c[r(675)][r(572)])return Y[r(925)](r(796),r(666)),void(Y.fetchStatus=qe[r(319)]);h&&(h.close(),h=null),t[r(994)]!==Ve[r(243)]?(Y[r(925)]("worker","fetchNext().catch() and e is "+t[r(250)]()),j(),postMessage({cmd:Se[r(542)],type:De[r(753)],value:t[r(250)]()})):Y[r(925)]("worker",r(218))}))};i()}}))[n(743)]((e=>{const t=n;c&&c[t(675)]&&c[t(675)][t(572)]?Y[t(925)]("worker","fetch().catch() and abortController.signal.aborted is true so return"):e[t(994)]!==Ve.abort?(Y[t(925)](t(796),t(478)+e[t(250)]()),j(),postMessage({cmd:Se[t(542)],type:De[t(753)],value:e.toString()}),h&&(h[t(203)](),h=null)):Y[t(925)](t(796),t(413))}))}else r[n(969)]===ie[n(912)]&&(r.isFlv&&(h=new sr(Y[n(312)]())),u=new WebSocket(t,i),u[n(493)]="arraybuffer",u.onopen=()=>{const e=n;Y[e(925)](e(796),e(762)),postMessage({cmd:Se[e(542)],type:Te[e(1091)]}),postMessage({cmd:Se[e(542)],type:Te[e(987)]})},u[n(683)]=e=>{const t=n;Y[t(877)]?Y.debugLog(t(796),t(225)+e[t(872)]+t(338)):f?Y[t(925)](t(796),"fetchStream, WebsocketStream socket close and code is "+e[t(872)]+t(1057)):(Y[t(925)]("worker",t(225)+e[t(872)]),1006===e.code&&Y[t(1028)](t(796),t(580)+e[t(872)]),Kt(z)?Y[t(925)]("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):Y[t(723)][t(729)]?(h&&(h[t(203)](),h=null),postMessage({cmd:Se.workerFetch,type:Te[t(550)],value:se[t(912)],msg:e[t(872)]})):postMessage({cmd:Se[t(542)],type:Te[t(266)]}))},u[n(415)]=e=>{const t=n;Y.debugError(t(796),"fetchStream, WebsocketStream socket error",e,e[t(250)]()),f=!0,h&&(h.close(),h=null),Y[t(877)]?Y[t(925)](t(796),"fetchStream, WebsocketStream on error and isDestroyed is true, so return"):Kt(z)?Y[t(925)](t(796),"fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:Se[t(542)],type:De.websocketError,value:e.isTrusted?"websocket user aborted":t(975)})},u.onmessage=e=>{const t=n;typeof e[t(1048)]!==t(970)?(l(e[t(1048)].byteLength),r[t(985)]?h.write(e[t(1048)]):r.isFmp4?Y[t(898)](e[t(1048)]):r[t(232)]?Y[t(870)](e.data):Y._opt[t(261)]?Y[t(738)](e[t(1048)]):Y[t(844)](e[t(1048)])):Y[t(968)]("worker",'socket on message is string "'+e[t(1048)]+t(298))})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let a=i[0];const o=(yield s)[t(459)]();switch(r){case Ae:if(o[t(654)]>0){let e=o;Kt(Y[t(723)][t(245)])&&(e=Y[t(325)](o)),Y[t(274)](e,{type:Ie.audio,ts:a})}else Y[t(968)](t(796),"demuxFlv() type is audio and payload.byteLength is "+o[t(654)]+t(330));break;case ke:if(o.byteLength>=6){const e=o[0];if(Y[t(217)](e))Y._decodeEnhancedH265Video(o,a);else{const e=15&o[0];let r=o[0]>>4===Ge[t(751)];const n=e===Me.h265;if(t(868),Yt(r)&&Kt(Qt(o,n))&&(Y[t(925)](t(796),t(632)),r=!0),r&&Xt(o)&&null===Y.isHevc){const e=15&o[0];Y[t(866)]=e===Me[t(303)],L=xt(o,Y.isHevc),Y[t(925)](t(796),"demuxFlv() isVideoSequenceHeader is true and isHevc is "+Y[t(866)]+t(1016)+L)}r&&Y.calcIframeIntervalTimestamp(a),Y[t(897)]&&Y[t(863)](a),i[0]=o[4],i[1]=o[3],i[2]=o[2],i[3]=0;let s=i[0],c=Y[t(306)](o,r);Y.decode(c,{type:Ie[t(252)],ts:a,isIFrame:r,cts:s})}}else Y[t(968)]("worker","demuxFlv() type is video and payload.byteLength is "+o[t(654)]+" and return");break;case Ee:postMessage({cmd:Se[t(286)],buffer:o},[o[t(334)]]);break;default:Y[t(925)]("worker",t(846)+r)}}},decode:function(t,r){const n=e;r[n(933)]===Ie[n(264)]?Y[n(723)][n(265)]&&(postMessage({cmd:Se[n(542)],type:Te[n(667)],value:t.byteLength}),Y[n(897)]?Y[n(529)](t,{type:r[n(933)],ts:r.ts,cts:r.cts}):Y[n(750)]?Y.isPlaybackOnlyDecodeIFrame()||(Y[n(672)]()?Y.pushBuffer(t,{type:r[n(933)],ts:r.ts,cts:r[n(543)]}):Y[n(529)](t,{type:r[n(933)],ts:r.ts,cts:r[n(543)]})):Y[n(991)]&&Y[n(529)](t,{type:r[n(933)],ts:r.ts,cts:r[n(543)]})):r.type===Ie.video&&Y[n(723)].hasVideo&&(postMessage({cmd:Se[n(542)],type:Te.streamVbps,value:t[n(654)]}),postMessage({cmd:Se[n(542)],type:Te[n(784)],value:r.ts}),Y[n(897)]?Y[n(529)](t,{type:r.type,ts:r.ts,isIFrame:r[n(359)],cts:r[n(543)]}):Y.isPlayback?Y[n(1077)]()?r[n(359)]&&Y[n(529)](t,{type:r[n(933)],ts:r.ts,cts:r[n(543)],isIFrame:r[n(359)]}):Y.isPlaybackCacheBeforeDecodeForFpsRender()?Y.pushBuffer(t,{type:r[n(933)],ts:r.ts,cts:r[n(543)],isIFrame:r[n(359)]}):Y[n(529)](t,{type:r[n(933)],ts:r.ts,cts:r.cts,isIFrame:r[n(359)]}):Y[n(991)]&&Y[n(529)](t,{type:r[n(933)],ts:r.ts,cts:r.cts,isIFrame:r[n(359)]}))},cryptoPayload:function(t,r){const n=e;let i=t;return Y[n(723)][n(634)]?Y[n(723)].cryptoIV&&Y[n(723)][n(799)][n(654)]>0&&Y[n(723)][n(198)]&&Y[n(723)][n(198)].byteLength>0?i=ba(t,Y[n(723)].cryptoKey,Y[n(723)][n(799)],Y[n(866)]):Y[n(1028)]("worker",n(468)+(Y[n(723)][n(198)]&&Y[n(723)][n(198)][n(654)])+n(600)+(Y[n(723)].cryptoIV&&Y[n(723)][n(799)][n(654)])+n(712)):Y[n(723)][n(940)]?Y[n(723)][n(978)]?i=Y._opt[n(799)]&&Y[n(723)].cryptoIV[n(654)]>0&&Y[n(723)].cryptoKey&&Y[n(723)][n(198)][n(654)]>0?dc(t,Y[n(723)][n(198)],Y._opt[n(799)],Y[n(866)],Y._opt[n(1097)]):Ja(t,Y[n(723)][n(978)],Y.isHevc,Y._opt[n(1097)]):!Y[n(723)].sm4CryptoKey&&Y[n(1028)]("worker",n(772)):Y[n(723)].isXorCrypto&&(Y[n(723)][n(799)]&&Y[n(723)].cryptoIV[n(654)]>0&&Y._opt[n(198)]&&Y[n(723)][n(198)].byteLength>0?i=ho(t,Y._opt[n(198)],Y[n(723)][n(799)],Y[n(866)]):Y[n(1028)](n(796),"isXorCrypto cryptoKey.length is "+(Y[n(723)][n(198)]&&Y[n(723)][n(198)][n(654)])+n(600)+(Y[n(723)].cryptoIV&&Y[n(723)][n(799)].byteLength)+n(712))),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return Y._opt.isM7sCrypto&&(Y[r(723)][r(799)]&&Y[r(723)].cryptoIV.byteLength>0&&Y._opt[r(198)]&&Y._opt[r(198)][r(654)]>0?t[0]>>4===Fe[r(284)]&&(n=wa(t,Y[r(723)].cryptoKey,Y[r(723)][r(799)])):Y[r(1028)](r(796),r(468)+(Y._opt.cryptoKey&&Y[r(723)][r(198)][r(654)])+" or cryptoIV.length is "+(Y[r(723)].cryptoIV&&Y[r(723)].cryptoIV.byteLength)+r(712))),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,a=t[0]>>1&1;if(O=s===Fe[n(284)]?a?16:8:0===a?8:16,J&&J[n(1033)]||!Yt(i))if(vt(t)||s===Fe.ALAW||s===Fe[n(348)]||s===Fe[n(629)]){Y[n(925)](n(796),n(847)+s+n(943)+Y[n(723)].sampleRate);const e=s===Fe.AAC?t.slice(2):new Uint8Array(0);if(i){if(s===Fe[n(629)])return void Y.debugError("worker",n(1068));J[n(458)]=Y[n(723)][n(351)],J.decode(t,r)}else J[n(1033)](s,Y[n(723)].sampleRate,e,Y[n(756)]());s===Fe[n(284)]&&postMessage({cmd:Se[n(745)],buffer:e},[e[n(334)]]),y=!0,s!==Fe.AAC&&(s===Fe[n(629)]?(!Y[n(522)]&&(Y[n(522)]=new ao(Y),Y[n(522)].on("data",((e,t)=>{J[n(274)](e,t)}))),Y.mp3Demuxer.dispatch(t.slice(1),r)):J[n(274)](t[n(459)](1),r));const a=Number("1")||1;setTimeout((()=>{const e=n;Y[e(1028)](e(796),e(739)),Y[e(203)](),postMessage({cmd:Se[e(332)]})}),60*a*60*1e3)}else Y[n(968)]("worker",n(474),s);else Y[n(1028)](n(796),"setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(t,r){const s=e;if(Y[s(877)])Y.debugLog("worker",s(875));else if(Y[s(1058)]())K[s(885)](t,r);else if(Kt(n)&&Kt(Y[s(723)].mseDecodeAudio))postMessage({cmd:Se[s(527)],payload:t,ts:r,cts:r},[t.buffer]);else{const e=t[0]>>4;if(y){if(vt(t))return void Y[s(925)]("worker",s(189));i?J[s(274)](t,r):e===Fe[s(629)]?Y[s(522)].dispatch(t.slice(1),r):J[s(274)](e===Fe[s(284)]?t[s(459)](2):t.slice(1),r)}else Y[s(357)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Q&&Q[n(1033)]||!Yt(i))if(Xt(t))if(s===Me[n(868)]||s===Me.h265){Y[n(925)](n(796),n(677)+s);const e=t.slice(5);if(s===Me[n(868)]&&Y._opt[n(531)]){const t=Ar(e);if(t[n(926)]>ge||t[n(336)]>ge)return postMessage({cmd:Se[n(786)],value:"width: "+t[n(926)]+n(242)+ge+n(659)+t[n(336)]+n(242)+ge}),void Y.debugWarn(n(796),n(374)+t.codecWidth+", height is "+t[n(336)])}const r=new Uint8Array(t);v=!0,i?Q[n(274)](t,0):Q[n(1033)](s,e,Y[n(756)]()),postMessage({cmd:Se[n(221)],code:s}),postMessage({cmd:Se.videoCodec,buffer:r,codecId:s},[r[n(334)]])}else Y.debugWarn(n(796),n(491)+s+n(724));else Y[n(968)](n(796),n(482)+s+n(973)+r+" and packetType is "+t[1]);else Y.debugError("worker",n(696))},decodeVideo:function(t,r,s){const a=e;let o=arguments[a(293)]>3&&void 0!==arguments[3]?arguments[3]:0;if(Y[a(877)])Y.debugLog(a(796),a(479));else if(Y[a(510)]())K.decodeVideo(t,r,s,o);else if(Kt(n))postMessage({cmd:Se[a(369)],payload:t,isIFrame:s,ts:r,cts:o,delay:Y.delay},[t[a(334)]]);else if(v)if(!g&&s&&(g=!0),g){if(s&&Xt(t)){const e=15&t[0];let r={};e===Me[a(868)]?r=Ar(t.slice(5)):e===Me.h265&&(r=en(t)),r.codecWidth&&r[a(336)]&&p&&m&&(r[a(926)]!==p||r.codecHeight!==m)&&(Y[a(968)](a(796),a(388)+p+", old height is "+m+",\n new width is "+r.codecWidth+", new height is "+r[a(336)]+",\n and emit change event"),F=!0,postMessage({cmd:Se[a(512)],value:a(944)+p+"->"+r[a(926)]+a(659)+m+"->"+r[a(336)]}))}if(F)return void Y[a(968)](a(796),"decodeVideo: video width or height is changed, and return");if(R)return void Y[a(968)](a(796),a(487));if(Xt(t))return void Y[a(925)](a(796),a(674));if(t[a(654)]<_e)return void Y[a(968)](a(796),a(272)+t.byteLength);if(_=r,i)Q[a(274)](t,r);else{const e=t.slice(5);Q[a(274)](e,s?1:0,r)}}else Y.debugLog(a(796),"decodeVideo first frame is not iFrame");else Y.setCodecVideo(t,s)},clearBuffer:function(){const t=e;let r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Y[t(925)]("worker","clearBuffer,bufferList length is "+s[t(293)]+", need clear is "+r),r&&(s=[]),Y[t(897)]&&(Y[t(269)](),Kt(Y[t(723)][t(1035)])&&(Y[t(226)]=!0,postMessage({cmd:Se[t(929)]}))),Kt(Y[t(723)][t(1035)])&&Yt(n)&&(g=!1)},dropBuffer$2:function(){const t=e;if(s.length>0){let e=s[t(1040)]((e=>Kt(e[t(359)])&&e.type===Ie.video));if(Y.isAllIframeInBufferList())for(let r=0;r=Y[t(496)]()){Y.debugLog(t(796),t(887)+r+t(688)+i+t(414)+Y[t(496)]()),e=r;break}}if(e>=0){Y[t(345)]=!0,postMessage({cmd:Se.isDropping});const r=s[t(293)];s=s[t(459)](e);const n=s.shift();Y[t(269)](),Y[t(1046)](n.ts,n.type),Y[t(1005)](n),Y[t(345)]=!1,Y[t(925)](t(796),t(1043)+e+t(375)+r+t(215)+s[t(293)]+" and new delay is "+Y[t(737)]+" ")}else Y[t(345)]=!1}0===s[t(293)]&&(Y[t(345)]=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n.getUint32(1,!1),s=n[r(865)](0),a=new ArrayBuffer(4),o=new Uint32Array(a);switch(s){case Ie[r(264)]:Y[r(274)](new Uint8Array(t,5),{type:Ie[r(264)],ts:i});break;case Ie[r(252)]:if(n[r(654)]>=11){const e=new Uint8Array(t,5),s=e[0];if(Y._isEnhancedH265Header(s))Y[r(390)](e,i);else{const t=n.getUint8(5)>>4==1;if(t&&(Y[r(858)](i),Xt(e)&&null===Y[r(866)])){const t=15&e[0];Y[r(866)]=t===Me.h265}Y.isPlayer&&Y.calcNetworkDelay(i),o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0;let s=o[0],a=Y[r(306)](e,t);Y.decode(a,{type:Ie[r(252)],ts:i,isIFrame:t,cts:s})}}else Y[r(968)]("worker",r(911)+t.byteLength+r(330))}},demuxNakedFlow:function(t){$[e(735)](t)},demuxFmp4:function(e){G.dispatch(e)},demuxMpeg4:function(e){q.dispatch(e)},demuxTs:function(t){X[e(735)](t)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,a=15&i,o=t[n(459)](1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[n(236)](o[0]);if(Y[n(866)]=Yt(l),a===Ye[n(635)]){if(s===Je.FT_KEY){const e=t[n(459)](5);if(l);else{const i=new Uint8Array(5+e.length);i[n(528)]([28,0,0,0,0],0),i[n(528)](e,5),L=xt(t,Y[n(866)]),Y[n(925)]("worker","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is "+Y[n(866)]+n(1016)+L),Y[n(274)](i,{type:Ie[n(252)],ts:r,isIFrame:!0,cts:0})}}}else if(a===Ye.PACKET_TYPE_FRAMES){let e=t,i=0;const a=s===Je[n(521)];a&&Y[n(858)](r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=an(t[n(459)](8),a),e=Y.cryptoPayload(e,a),Y[n(274)](e,{type:Ie.video,ts:r,isIFrame:a,cts:i}))}else if(a===Ye[n(526)]){const e=s===Je[n(521)];e&&Y.calcIframeIntervalTimestamp(r);let i=an(t[n(459)](5),e);i=Y[n(306)](i,e),Y[n(274)](i,{type:Ie.video,ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&Ke)===Ke},findSei:function(t,r){const n=e;let i=4;zt(L)&&(i=L),kt(t[n(459)](5),i)[n(894)]((e=>{const t=n,i=Y[t(866)]?e[0]>>>1&63:31&e[0],s=Y[t(866)]&&(i===Le[t(623)]||i===Le[t(571)]),a=Yt(Y[t(866)])&&i===Re.kSliceSEI;if(s||a){const n=Et(e,Y[t(866)]);postMessage({cmd:Se.videoSEI,buffer:n.payload,ts:r},[n[t(867)][t(334)]])}}))},calcNetworkDelay:function(t){const r=e;if(!(g&&t>0))return;null===I?(I=t,A=Dt()):tn?i-n:0;Y.networkDelay=s,s>Y[r(723)][r(837)]&&Y[r(723)][r(947)]===ae.player&&(Y[r(968)](r(796),r(184)+t+r(1009)+I+r(329)+n+",local diff is "+i+r(568)+s),postMessage({cmd:Se[r(542)],type:Te[r(1024)],value:s}))},calcIframeIntervalTimestamp:function(t){null===B?B=t:B=Y._opt[t(787)]&&!(Y[t(723)][t(585)]&&Y[t(723)][t(701)])},isPlayUseMSE:function(){const t=e;return Y[t(897)]&&Y[t(723)][t(585)]&&Kt(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return Y.isPlayUseMSE()&&Y[t(723)].mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return Y[t(510)]()&&Y[t(723)].mseDecodeAudio},playbackUpdatePlaybackRate:function(){const t=e;Yt(Y.isPlaybackCacheBeforeDecodeForFpsRender())&&Y[t(405)](!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;Y[r(1028)](r(796),r(324)),t[r(463)](),U=!0,Y[r(702)].destroy(),Y[r(702)]=null,Y[r(694)]=null,setTimeout((()=>{const e=r;Y[e(694)]=Y[e(551)][e(821)](e(187)),Y[e(694)]&&Y[e(694)].getContextAttributes()[e(636)]?(Y[e(702)]=re(Y[e(694)],Y[e(723)].openWebglAlignment),U=!1):Y[e(1028)](e(796),"handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;Y[r(925)]("worker",r(734)),t.preventDefault()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:Se[i(221)],code:t}),postMessage({cmd:Se[i(1065)],w:r,h:n}),p=r,m=n,Y[i(971)]()&&(Y[i(551)]=new OffscreenCanvas(r,n),Y[i(694)]=Y[i(551)][i(821)](i(187)),Y.webglObj=re(Y[i(694)],Y[i(723)][i(618)]),Y[i(551)][i(609)](i(715),Y[i(1095)],!1),Y.offscreenCanvas[i(609)](i(453),Y[i(1104)],!1))},audioInfo:function(t,r,n){postMessage({cmd:Se[e(774)],code:t}),postMessage({cmd:Se.initAudio,sampleRate:r,channels:n,depth:O}),T=n},yuvData:function(r,n){const i=e;if(Y[i(877)])return void Y[i(925)]("worker","yuvData, decoder is destroyed and return");const s=p*m*3/2;let a=t[i(586)].subarray(r,r+s),o=new Uint8Array(a);if(E=null,b=n,Y[i(971)]())try{if(U)return;Y.webglObj[i(442)](p,m,o);let e=Y[i(551)][i(481)]();postMessage({cmd:Se[i(647)],buffer:e,delay:Y[i(737)],ts:n},[e])}catch(e){Y.debugError("worker",i(507),e,e[i(250)]())}else postMessage({cmd:Se[i(647)],output:o,delay:Y[i(737)],ts:n},[o[i(334)]])},pcmData:function(t,n,i){const s=e;if(Y.isDestroyed)return void Y[s(925)](s(796),s(708));let o=n,c=[],u=0,l=Y[s(723)][s(1072)];for(let e=0;e<2;e++){let n=r[s(262)][(t>>2)+e]>>2;c[e]=r[s(650)][s(234)](n,n+o)}if(x){if(!(o>=(n=l-x)))return x+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==T&&(a[1]=Float32Array.of(...a[1],...c[1])));k[0]=Float32Array.of(...a[0],...c[0].subarray(0,n)),2==T&&(k[1]=Float32Array.of(...a[1],...c[1].subarray(0,n))),postMessage({cmd:Se.playAudio,buffer:k,ts:i},k[s(966)]((e=>e.buffer))),u=n,o-=n}for(x=o;x>=l;x-=l)k[0]=c[0].slice(u,u+=l),2==T&&(k[1]=c[1][s(459)](u-l,u)),postMessage({cmd:Se[s(317)],buffer:k,ts:i},k[s(966)]((e=>e[s(334)])));x&&(a[0]=c[0][s(459)](u),2==T&&(a[1]=c[1][s(459)](u))),c=[]},errorInfo:function(t){const r=e;null===E&&(E=Dt());const n=Dt(),i=Pt(C>0?2*C:5e3,1e3,5e3),s=n-E;s>i&&(Y[r(968)](r(796),"errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is "+C+r(205)+s+r(1061)+i+r(1096)),R=!0,postMessage({cmd:Se.simdDecodeError}))},sendWebsocketMessage:function(t){const r=e;u?u[r(1069)]===Pe[r(856)]?u.send(t):Y[r(1028)](r(796),r(1074)):Y[r(1028)](r(796),r(680))},timeEnd(){const t=e;Y[t(1028)]("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),Y.close(),postMessage({cmd:Se[t(332)]})},postStreamToMain(t,r){const n=e;postMessage({cmd:Se[n(411)],type:r,buffer:t},[t[n(334)]])},updatePlaybackIsPause(t){const r=e;Y[r(925)](r(796),"updatePlaybackIsPause, isPause is "+t),Kt(t)?Y[r(848)]():Y.startPlaybackCacheLoop()},getBuildTime:()=>me+"-"+ve,validatedFailed(){const t=e;Y[t(1028)](t(796),t(725))},debugLog(t){const r=e;if(Y[r(723)][r(1098)]&&Y[r(1098)]){for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:Se[n(1065)],w:t,h:r}),Y[n(971)]()&&(Y[n(551)]=new OffscreenCanvas(t,r),Y[n(694)]=Y.offscreenCanvas.getContext(n(187)),Y.webglObj=re(Y[n(694)],Y[n(723)].openWebglAlignment),Y[n(551)].addEventListener(n(715),Y.onOffscreenCanvasWebglContextLost,!1),Y[n(551)][n(609)](n(453),Y[n(1104)],!1))},initAudioPlanar:function(t,r){T=t,postMessage({cmd:Se[e(1093)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if(Y[s(877)])return void Y[s(925)](s(796),s(708));let o=n,c=[],u=0,l=Y[s(723)][s(1072)];for(let e=0;e<2;e++){let n=r[s(262)][(t>>2)+e]>>2;c[e]=r[s(650)].subarray(n,n+o)}if(x){if(!(o>=(n=l-x)))return x+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==T&&(a[1]=Float32Array.of(...a[1],...c[1])));k[0]=Float32Array.of(...a[0],...c[0][s(234)](0,n)),2==T&&(k[1]=Float32Array.of(...a[1],...c[1][s(234)](0,n))),postMessage({cmd:Se.playAudio,buffer:k,ts:i},k[s(966)]((e=>e[s(334)]))),u=n,o-=n}for(x=o;x>=l;x-=l)k[0]=c[0].slice(u,u+=l),2==T&&(k[1]=c[1][s(459)](u-l,u)),postMessage({cmd:Se[s(317)],buffer:k,ts:i},k[s(966)]((e=>e[s(334)])));x&&(a[0]=c[0][s(459)](u),2==T&&(a[1]=c[1].slice(u))),c=[]},draw:function(r,n,i,s){const a=e;if(Y[a(877)])return void Y[a(925)](a(796),a(699));const o=t[a(586)][a(234)](n,n+H),c=t.HEAPU8[a(234)](i,i+W),u=t[a(586)].subarray(s,s+W),l=new Uint8Array(H+W+W);if(l[a(528)](o),l[a(528)](c,H),l[a(528)](u,H+W),E=null,b=r,Y[a(971)]())try{if(U)return;Y[a(702)].renderYUV(p,m,l);let e=Y.offscreenCanvas.transferToImageBitmap();postMessage({cmd:Se.render,buffer:e,delay:Y[a(737)],ts:r},[e])}catch(e){Y.debugError(a(796),a(507),e,e[a(250)]())}else postMessage({cmd:Se[a(647)],output:l,delay:Y.delay,ts:r},[l[a(334)]])}}));let J=null;r[e(996)]&&(J=new(r[e(996)])(Y));let Q=null;t[e(843)]&&(Q=new(t[e(843)])(Y)),postMessage({cmd:Se.init}),self[e(582)]=function(t){const r=e;let n=t.data;switch(n[r(763)]){case Ce[r(206)]:try{Y[r(723)]=Object[r(407)](Y[r(723)],JSON[r(779)](n.opt))}catch(e){}Y[r(925)]("worker",r(562)+Ce[r(206)],n[r(541)]);break;case Ce[r(274)]:Y.pushBuffer(n[r(334)],n[r(532)]);break;case Ce[r(823)]:Y[r(885)](n.buffer,n.ts);break;case Ce[r(224)]:Y[r(716)](n[r(334)],n.ts,n[r(359)]);break;case Ce[r(405)]:Y.clearBuffer(n[r(595)]);break;case Ce[r(343)]:Y[r(343)](n[r(417)],JSON[r(779)](n[r(541)]),n[r(486)]);break;case Ce.close:Y[r(925)]("worker",r(562)+Ce[r(203)],JSON.stringify(n[r(532)])),n[r(532)]&&Yt(n[r(532)][r(194)])&&(N=n[r(532)][r(194)]),Y.close();break;case Ce[r(628)]:Y[r(925)](r(796),"onmessage:"+Ce[r(628)],n[r(831)],n[r(191)]),Y[r(723)][n.key]=n[r(191)],n.key===r(625)&&(Y[r(460)](),Y[r(672)]()&&Y[r(466)]());break;case Ce.sendWsMessage:Y[r(546)](n.message);break;case Ce[r(962)]:K.$video[r(695)]=Number(n[r(500)]);break;case Ce[r(254)]:Y.updatePlaybackIsPause(n[r(711)])}}}(e[1],t)}))})); diff --git a/demo/public/pro/js/decoder-pro-simd.js b/demo/public/pro/js/decoder-pro-simd.js index 8fe72b88..57d536d5 100644 --- a/demo/public/pro/js/decoder-pro-simd.js +++ b/demo/public/pro/js/decoder-pro-simd.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,i,n;(n=e).ready=new Promise(((e,r)=>{t=e,i=r})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-simd.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_SIMD_WASM_URL&&""!=JESSIBUCA_PRO_SIMD_WASM_URL?JESSIBUCA_PRO_SIMD_WASM_URL:e};var s,a,o,d=Object.assign({},n),l="object"==typeof window,c="function"==typeof importScripts,u="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";function f(e){return n.locateFile?n.locateFile(e,h):h+e}if(u){const{createRequire:e}=await import("module");var p=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href),m=p("fs"),_=p("path");h=c?_.dirname(h)+"/":p("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href)),s=(e,t)=>(e=Y(e)?new URL(e):_.normalize(e),m.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Y(e)?new URL(e):_.normalize(e),m.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(l||c)&&(c?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),r&&(h=r),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},c&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var g,y,v=n.print||console.log.bind(console),b=n.printErr||console.error.bind(console);Object.assign(n,d),d=null,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.quit&&n.quit,n.wasmBinary&&(g=n.wasmBinary),"object"!=typeof WebAssembly&&V("no native wasm support detected");var w,S,E,A,U,B,x,T,k=!1;function C(){var e=y.buffer;n.HEAP8=w=new Int8Array(e),n.HEAP16=E=new Int16Array(e),n.HEAPU8=S=new Uint8Array(e),n.HEAPU16=A=new Uint16Array(e),n.HEAP32=U=new Int32Array(e),n.HEAPU32=B=new Uint32Array(e),n.HEAPF32=x=new Float32Array(e),n.HEAPF64=T=new Float64Array(e)}var D=[],P=[],L=[];function F(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)R(n.preRun.shift());ee(D)}function I(){ee(P)}function M(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)N(n.postRun.shift());ee(L)}function R(e){D.unshift(e)}function z(e){P.unshift(e)}function N(e){L.unshift(e)}var $=0,O=null;function G(e){$++,n.monitorRunDependencies&&n.monitorRunDependencies($)}function H(e){if($--,n.monitorRunDependencies&&n.monitorRunDependencies($),0==$&&O){var t=O;O=null,t()}}function V(e){n.onAbort&&n.onAbort(e),b(e="Aborted("+e+")"),k=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var W,j="data:application/octet-stream;base64,",q=e=>e.startsWith(j),Y=e=>e.startsWith("file://");function K(e){if(e==W&&g)return new Uint8Array(g);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function X(e){if(!g&&(l||c)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>K(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>K(e)))}function Z(e,t,r){return X(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{b(`failed to asynchronously prepare wasm: ${e}`),V(e)}))}function J(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||q(t)||Y(t)||u||"function"!=typeof fetch?Z(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return b(`wasm streaming compile failed: ${e}`),b("falling back to ArrayBuffer instantiation"),Z(t,r,i)}))))}function Q(){var e={a:Ar};function t(e,t){return Ur=e.exports,y=Ur.C,C(),rt=Ur.G,z(Ur.D),H(),Ur}if(G(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){b(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return J(g,W,e,(function(e){t(e.instance)})).catch(i),{}}n.locateFile?q(W="decoder-pro-simd.wasm")||(W=f(W)):W=new URL("decoder-pro-simd.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href).href;var ee=e=>{for(;e.length>0;)e.shift()(n)};function te(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){B[this.ptr+4>>2]=e},this.get_type=function(){return B[this.ptr+4>>2]},this.set_destructor=function(e){B[this.ptr+8>>2]=e},this.get_destructor=function(){return B[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,w[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=w[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,w[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=w[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){B[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return B[this.ptr+16>>2]},this.get_exception_ptr=function(){if(kr(this.get_type()))return B[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var re,ie,ne,se=(e,t,r)=>{throw new te(e).init(t,r),e},ae=(e,t,r,i,n)=>{},oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);re=e},de=e=>{for(var t="",r=e;S[r];)t+=re[S[r++]];return t},le={},ce={},ue={},he=e=>{throw new ie(e)},fe=e=>{throw new ne(e)},pe=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var n=0;n{ce.hasOwnProperty(e)?n[t]=ce[e]:(s.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{n[t]=ce[e],++a===s.length&&i(n)})))})),0===s.length&&i(n)};function me(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||he(`type "${i}" must have a positive integer typeid pointer`),ce.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;he(`Cannot register type '${i}' twice`)}if(ce[e]=t,delete ue[e],le.hasOwnProperty(e)){var n=le[e];delete le[e],n.forEach((e=>e()))}}function _e(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return me(e,t,r)}var ge,ye=8,ve=(e,t,r,i)=>{_e(e,{name:t=de(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:ye,readValueFromPointer:function(e){return this.fromWireType(S[e])},destructorFunction:null})},be=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),we=e=>{he(e.$$.ptrType.registeredClass.name+" instance already deleted")},Se=!1,Ee=e=>{},Ae=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},Ue=e=>{e.count.value-=1,0===e.count.value&&Ae(e)},Be=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=Be(e,t,r.baseClass);return null===i?null:r.downcast(i)},xe={},Te=()=>Object.keys(Fe).length,ke=()=>{var e=[];for(var t in Fe)Fe.hasOwnProperty(t)&&e.push(Fe[t]);return e},Ce=[],De=()=>{for(;Ce.length;){var e=Ce.pop();e.$$.deleteScheduled=!1,e.delete()}},Pe=e=>{ge=e,Ce.length&&ge&&ge(De)},Le=()=>{n.getInheritedInstanceCount=Te,n.getLiveInheritedInstances=ke,n.flushPendingDeletes=De,n.setDelayFunction=Pe},Fe={},Ie=(e,t)=>{for(void 0===t&&he("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},Me=(e,t)=>(t=Ie(e,t),Fe[t]),Re=(e,t)=>(t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ne(Object.create(e,{$$:{value:t}})));function ze(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Me(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?Re(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Re(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=xe[a];if(!o)return n.call(this);s=this.isConst?o.constPointerType:o.pointerType;var d=Be(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?Re(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):Re(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var Ne=e=>"undefined"==typeof FinalizationRegistry?(Ne=e=>e,e):(Se=new FinalizationRegistry((e=>{Ue(e.$$)})),Ne=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Se.register(e,r,e)}return e},Ee=e=>Se.unregister(e),Ne(e)),$e=()=>{Object.assign(Oe.prototype,{isAliasOf(e){if(!(this instanceof Oe))return!1;if(!(e instanceof Oe))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||we(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Ne(Object.create(Object.getPrototypeOf(this),{$$:{value:be(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||we(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&he("Object already scheduled for deletion"),Ee(this),Ue(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||we(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&he("Object already scheduled for deletion"),Ce.push(this),1===Ce.length&&ge&&ge(De),this.$$.deleteScheduled=!0,this}})};function Oe(){}var Ge=(e,t)=>Object.defineProperty(t,"name",{value:e}),He=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||he(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},Ve=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&he(`Cannot register public name '${e}' twice`),He(n,e,e),n.hasOwnProperty(r)&&he(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},We=48,je=57,qe=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=We&&t<=je?`_${e}`:e};function Ye(e,t,r,i,n,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Ke=(e,t,r)=>{for(;t!==r;)t.upcast||he(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Xe(e,t){if(null===t)return this.isReference&&he(`null is not a valid ${this.name}`),0;t.$$||he(`Cannot pass "${Pt(t)}" as a ${this.name}`),t.$$.ptr||he(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ke(t.$$.ptr,r,this.registeredClass)}function Ze(e,t){var r;if(null===t)return this.isReference&&he(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||he(`Cannot pass "${Pt(t)}" as a ${this.name}`),t.$$.ptr||he(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&he(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Ke(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&he("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:he(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,Tt.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:he("Unsupporting sharing policy")}return r}function Je(e,t){if(null===t)return this.isReference&&he(`null is not a valid ${this.name}`),0;t.$$||he(`Cannot pass "${Pt(t)}" as a ${this.name}`),t.$$.ptr||he(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&he(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ke(t.$$.ptr,r,this.registeredClass)}function Qe(e){return this.fromWireType(B[e>>2])}var et=()=>{Object.assign(tt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:ye,readValueFromPointer:Qe,deleteObject(e){null!==e&&e.delete()},fromWireType:ze})};function tt(e,t,r,i,n,s,a,o,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=Ze:i?(this.toWireType=Xe,this.destructorFunction=null):(this.toWireType=Je,this.destructorFunction=null)}var rt,it,nt=(e,t,r)=>{n.hasOwnProperty(e)||fe("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},st=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},at=[],ot=e=>{var t=at[e];return t||(e>=at.length&&(at.length=e+1),at[e]=t=rt.get(e)),t},dt=(e,t,r)=>e.includes("j")?st(e,t,r):ot(t).apply(null,r),lt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),dt(e,t,r)}},ct=(e,t)=>{var r=(e=de(e)).includes("j")?lt(e,t):ot(t);return"function"!=typeof r&&he(`unknown function pointer with signature ${e}: ${t}`),r},ut=(e,t)=>{var r=Ge(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},ht=e=>{var t=Tr(e),r=de(t);return Br(t),r},ft=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||ce[t]||(ue[t]?ue[t].forEach(e):(r.push(t),i[t]=!0))})),new it(`${e}: `+r.map(ht).join([", "]))},pt=(e,t,r,i,n,s,a,o,d,l,c,u,h)=>{c=de(c),s=ct(n,s),o&&(o=ct(a,o)),l&&(l=ct(d,l)),h=ct(u,h);var f=qe(c);Ve(f,(function(){ft(`Cannot construct ${c} due to unbound types`,[i])})),pe([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:Oe.prototype;var a=Ge(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new ie("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new ie(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new ie(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:a}});a.prototype=d;var u=new Ye(c,a,d,h,r,s,o,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new tt(c,u,!0,!1,!1),m=new tt(c+"*",u,!1,!1,!1),_=new tt(c+" const*",u,!1,!0,!1);return xe[e]={pointerType:m,constPointerType:_},nt(f,a),[p,m,_]}))},mt=(e,t)=>{for(var r=[],i=0;i>2]);return r},_t=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function gt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=Ge(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function yt(e,t,r,i,n,s){var a=t.length;a<2&&he("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=o?1:2;l{var a=mt(t,r);n=ct(i,n),pe([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new ie(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{ft(`Cannot construct ${e.name} due to unbound types`,a)},pe([],a,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=yt(r,i,null,n,s),[]))),[]}))},bt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},wt=(e,t,r,i,n,s,a,o,d)=>{var l=mt(r,i);t=de(t),t=bt(t),s=ct(n,s),pe([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){ft(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(He(c,t,i),c[t].overloadTable[r-2]=n),pe([],l,(function(n){var o=yt(i,n,e,s,a,d);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))};function St(){Object.assign(Et.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function Et(){this.allocated=[void 0],this.freelist=[]}var At=new Et,Ut=e=>{e>=At.reserved&&0==--At.get(e).refcount&&At.free(e)},Bt=()=>{for(var e=0,t=At.reserved;t{At.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),At.reserved=At.allocated.length,n.count_emval_handles=Bt},Tt={toValue:e=>(e||he("Cannot use deleted val. handle = "+e),At.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return At.allocate({refcount:1,value:e})}}};function kt(e){return this.fromWireType(U[e>>2])}var Ct,Dt=(e,t)=>{_e(e,{name:t=de(t),fromWireType:e=>{var t=Tt.toValue(e);return Ut(e),t},toWireType:(e,t)=>Tt.toHandle(t),argPackAdvance:ye,readValueFromPointer:kt,destructorFunction:null})},Pt=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Lt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(x[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Ft=(e,t,r)=>{_e(e,{name:t=de(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:ye,readValueFromPointer:Lt(t,r),destructorFunction:null})},It=(e,t,r)=>{switch(t){case 1:return r?e=>w[e>>0]:e=>S[e>>0];case 2:return r?e=>E[e>>1]:e=>A[e>>1];case 4:return r?e=>U[e>>2]:e=>B[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Mt=(e,t,r,i,n)=>{t=de(t);var s=e=>e;if(0===i){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");_e(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:ye,readValueFromPointer:It(t,r,0!==i),destructorFunction:null})},Rt=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=B[e>>2],r=B[e+4>>2];return new i(w.buffer,r,t)}_e(e,{name:r=de(r),fromWireType:n,argPackAdvance:ye,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},zt=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n},Nt=(e,t,r)=>zt(e,S,t,r),$t=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},Ot="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Gt=(e,t,r)=>{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&Ot)return Ot.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},Ht=(e,t)=>e?Gt(S,e,t):"",Vt=(e,t)=>{var r="std::string"===(t=de(t));_e(e,{name:t,fromWireType(e){var t,i=B[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=i;++a){var o=n+a;if(a==i||0==S[o]){var d=Ht(s,o-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=o+1}}else{var l=new Array(i);for(a=0;a>2]=i,r&&n)Nt(t,a,i+1);else if(n)for(var o=0;o255&&(Br(a),he("String has UTF-16 code units that do not fit in 8 bits")),S[a+o]=d}else for(o=0;o{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&A[i];)++i;if((r=i<<1)-e>32&&Wt)return Wt.decode(S.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=E[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},qt=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return E[t>>1]=0,t-i},Yt=e=>2*e.length,Kt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=U[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},Xt=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),U[t>>2]=a,(t+=4)+4>n)break}return U[t>>2]=0,t-i},Zt=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Jt=(e,t,r)=>{var i,n,s,a,o;r=de(r),2===t?(i=jt,n=qt,a=Yt,s=()=>A,o=1):4===t&&(i=Kt,n=Xt,a=Zt,s=()=>B,o=2),_e(e,{name:r,fromWireType:e=>{for(var r,n=B[e>>2],a=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>o]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return Br(e),r},toWireType:(e,i)=>{"string"!=typeof i&&he(`Cannot pass non-string to C++ string type ${r}`);var s=a(i),d=xr(4+s+t);return B[d>>2]=s>>o,n(i,d+4,s+t),null!==e&&e.push(Br,d),d},argPackAdvance:ye,readValueFromPointer:kt,destructorFunction(e){Br(e)}})},Qt=(e,t)=>{_e(e,{isVoid:!0,name:t=de(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},er={},tr=e=>{var t=er[e];return void 0===t?de(e):t},rr=[],ir=(e,t,r,i,n)=>(e=rr[e])(t=Tt.toValue(t),t[r=tr(r)],i,n),nr=e=>{var t=rr.length;return rr.push(e),t},sr=(e,t)=>{var r=ce[e];return void 0===r&&he(t+" has unknown type "+ht(e)),r},ar=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},or=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(B[t>>2]=Tt.toHandle(i)),n},dr=(e,t,r)=>{var i=ar(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return nr(Ge(h,u))},lr=e=>{e>4&&(At.get(e).refcount+=1)},cr=e=>Tt.toHandle(tr(e)),ur=()=>Tt.toHandle({}),hr=e=>Tt.toHandle(Ht(e)),fr=e=>{var t=Tt.toValue(e);_t(t),Ut(e)},pr=(e,t,r)=>{e=Tt.toValue(e),t=Tt.toValue(t),r=Tt.toValue(r),e[t]=r},mr=(e,t)=>{var r=(e=sr(e,"_emval_take_value")).readValueFromPointer(t);return Tt.toHandle(r)},_r=()=>{V("")};Ct=()=>performance.now();var gr=(e,t,r)=>S.copyWithin(e,t,t+r),yr=e=>{V("OOM")},vr=e=>{S.length,yr()},br=[null,[],[]],wr=(e,t)=>{var r=br[e];0===t||10===t?((1===e?v:b)(Gt(r,0)),r.length=0):r.push(t)},Sr=(e,t,r,i)=>{for(var n=0,s=0;s>2],o=B[t+4>>2];t+=8;for(var d=0;d>2]=n,0};oe(),ie=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},ne=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},$e(),Le(),et(),it=n.UnboundTypeError=ut(Error,"UnboundTypeError"),St(),xt();var Er,Ar={o:se,r:ae,x:ve,q:pt,p:vt,h:wt,w:Dt,k:Ft,b:Mt,a:Rt,l:Vt,i:Jt,y:Qt,g:ir,c:Ut,f:dr,z:lr,m:cr,B:ur,v:hr,e:fr,n:pr,A:mr,j:_r,d:Ct,u:gr,s:vr,t:Sr},Ur=Q(),Br=e=>(Br=Ur.E)(e),xr=e=>(xr=Ur.F)(e),Tr=e=>(Tr=Ur.H)(e),kr=e=>(kr=Ur.I)(e);function Cr(){function e(){Er||(Er=!0,n.calledRun=!0,k||(I(),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),M()))}$>0||(F(),$>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=Ur.J)(e,t,r,i,s),n.___start_em_js=143500,n.___stop_em_js=143557,O=function e(){Er||Cr(),Er||(O=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Cr(),e.ready}),a=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,i,n;(n=t).ready=new Promise(((e,t)=>{r=e,i=t})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,a,o,d=Object.assign({},n),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return n.locateFile?n.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href)),s=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=n.print||console.log.bind(console),w=n.printErr||console.error.bind(console);Object.assign(n,d),d=null,n.arguments&&n.arguments,n.thisProgram&&(l=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(y=n.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,U,B,x,T,k,C=!1;function D(e,t){e||j(t)}function P(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=A=new Int16Array(e),n.HEAPU8=E=new Uint8Array(e),n.HEAPU16=U=new Uint16Array(e),n.HEAP32=B=new Int32Array(e),n.HEAPU32=x=new Uint32Array(e),n.HEAPF32=T=new Float32Array(e),n.HEAPF64=k=new Float64Array(e)}var L=[],F=[],I=[];function M(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)N(n.preRun.shift());ne(L)}function R(){n.noFSInit||ke.init.initialized||ke.init(),ke.ignorePermissions=!1,ne(F)}function z(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)O(n.postRun.shift());ne(I)}function N(e){L.unshift(e)}function $(e){F.unshift(e)}function O(e){I.unshift(e)}var G=0,H=null;function V(e){G++,n.monitorRunDependencies&&n.monitorRunDependencies(G)}function W(e){if(G--,n.monitorRunDependencies&&n.monitorRunDependencies(G),0==G&&H){var t=H;H=null,t()}}function j(e){n.onAbort&&n.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:ni};function t(e,t){return si=e.exports,v=si.E,P(),Lt=si.H,$(si.F),W(),si}if(V(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}n.locateFile?Z(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){x[this.ptr+4>>2]=e},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(e){x[this.ptr+8>>2]=e},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){x[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return x[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var ae=(e,t,r)=>{throw new se(e).init(t,r),e},oe=e=>(B[oi()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ke.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),a=s,o=0;o{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&he)return he.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,a=0;a=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a);if(o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ge(e,t,r){var i=r>0?r:me(e)+1,n=new Array(i),s=_e(e,n,0,n.length);return t&&(n.length=s),n}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},ke.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new ke.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new ke.ErrnoError(60);for(var s=0,a=0;aye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ke.isBlkdev(r)||ke.isFIFO(r))throw new ke.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:ke.chrdev_stream_ops}});var n=ke.createNode(e,t,r,i);return ke.isDir(n.mode)?(n.node_ops=we.ops_table.dir.node,n.stream_ops=we.ops_table.dir.stream,n.contents={}):ke.isFile(n.mode)?(n.node_ops=we.ops_table.file.node,n.stream_ops=we.ops_table.file.stream,n.usedBytes=0,n.contents=null):ke.isLink(n.mode)?(n.node_ops=we.ops_table.link.node,n.stream_ops=we.ops_table.link.stream):ke.isChrdev(n.mode)&&(n.node_ops=we.ops_table.chrdev.node,n.stream_ops=we.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ke.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ke.isDir(e.mode)?t.size=4096:ke.isFile(e.mode)?t.size=e.usedBytes:ke.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw ke.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(ke.isDir(e.mode)){var i;try{i=ke.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new ke.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ke.lookupNode(e,t);for(var i in r.contents)throw new ke.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ke.isLink(e.mode))throw new ke.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,i);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var n=i?"":`al ${e}`;a(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),n&&W()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&V()},Ee=(e,t,r,i,n,s)=>{ke.createDataFile(e,t,r,i,n,s)},Ae=n.preloadPlugins||[],Ue=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ae.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,i),n=!0)})),n},Be=(e,t,r,i,n,s,a,o,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),o||Ee(e,t,r,i,n,d),s&&s(),W()}Ue(r,c,u,(()=>{a&&a(),W()}))||u(r)}V(),"string"==typeof r?Se(r,(e=>u(e)),a):u(r)},xe=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},Te=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ke={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new ke.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ke.root,n="/",s=0;s40)throw new ke.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(ke.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%ke.nameTable.length},hashAddNode(e){var t=ke.hashName(e.parent.id,e.name);e.name_next=ke.nameTable[t],ke.nameTable[t]=e},hashRemoveNode(e){var t=ke.hashName(e.parent.id,e.name);if(ke.nameTable[t]===e)ke.nameTable[t]=e.name_next;else for(var r=ke.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=ke.mayLookup(e);if(r)throw new ke.ErrnoError(r,e);for(var i=ke.hashName(e.id,t),n=ke.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return ke.lookup(e,t)},createNode(e,t,r,i){var n=new ke.FSNode(e,t,r,i);return ke.hashAddNode(n),n},destroyNode(e){ke.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ke.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=ke.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{ke.lookupNode(e,t);return 20}catch(e){}return ke.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=ke.lookupNode(e,t)}catch(e){return e.errno}var n=ke.nodePermissions(e,"wx");if(n)return n;if(r){if(!ke.isDir(i.mode))return 54;if(ke.isRoot(i)||ke.getPath(i)===ke.cwd())return 10}else if(ke.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ke.isLink(e.mode)?32:ke.isDir(e.mode)&&("r"!==ke.flagsToPermissionString(t)||512&t)?31:ke.nodePermissions(e,ke.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ke.MAX_OPEN_FDS;e++)if(!ke.streams[e])return e;throw new ke.ErrnoError(33)},getStreamChecked(e){var t=ke.getStream(e);if(!t)throw new ke.ErrnoError(8);return t},getStream:e=>ke.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ke.FSStream||(ke.FSStream=function(){this.shared={}},ke.FSStream.prototype={},Object.defineProperties(ke.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ke.FSStream,e),-1==t&&(t=ke.nextfd()),e.fd=t,ke.streams[t]=e,e},closeStream(e){ke.streams[e]=null},chrdev_stream_ops:{open(e){var t=ke.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new ke.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){ke.devices[e]={stream_ops:t}},getDevice:e=>ke.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),ke.syncFSRequests++,ke.syncFSRequests>1&&w(`warning: ${ke.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=ke.getMounts(ke.root.mount),i=0;function n(e){return ke.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&ke.root)throw new ke.ErrnoError(10);if(!n&&!s){var a=ke.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ke.isMountpoint(i))throw new ke.ErrnoError(10);if(!ke.isDir(i.mode))throw new ke.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(o);return d.mount=o,o.root=d,n?ke.root=d:i&&(i.mounted=o,i.mount&&i.mount.mounts.push(o)),d},unmount(e){var t=ke.lookupPath(e,{follow_mount:!1});if(!ke.isMountpoint(t.node))throw new ke.ErrnoError(28);var r=t.node,i=r.mounted,n=ke.getMounts(i);Object.keys(ke.nameTable).forEach((e=>{for(var t=ke.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&ke.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=ke.lookupPath(e,{parent:!0}).node,n=de.basename(e);if(!n||"."===n||".."===n)throw new ke.ErrnoError(28);var s=ke.mayCreate(i,n);if(s)throw new ke.ErrnoError(s);if(!i.node_ops.mknod)throw new ke.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ke.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ke.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,ke.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new ke.ErrnoError(44);var r=ke.lookupPath(t,{parent:!0}).node;if(!r)throw new ke.ErrnoError(44);var i=de.basename(t),n=ke.mayCreate(r,i);if(n)throw new ke.ErrnoError(n);if(!r.node_ops.symlink)throw new ke.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n=de.dirname(e),s=de.dirname(t),a=de.basename(e),o=de.basename(t);if(r=ke.lookupPath(e,{parent:!0}).node,i=ke.lookupPath(t,{parent:!0}).node,!r||!i)throw new ke.ErrnoError(44);if(r.mount!==i.mount)throw new ke.ErrnoError(75);var d,l=ke.lookupNode(r,a),c=ue.relative(e,s);if("."!==c.charAt(0))throw new ke.ErrnoError(28);if("."!==(c=ue.relative(t,n)).charAt(0))throw new ke.ErrnoError(55);try{d=ke.lookupNode(i,o)}catch(e){}if(l!==d){var u=ke.isDir(l.mode),h=ke.mayDelete(r,a,u);if(h)throw new ke.ErrnoError(h);if(h=d?ke.mayDelete(i,o,u):ke.mayCreate(i,o))throw new ke.ErrnoError(h);if(!r.node_ops.rename)throw new ke.ErrnoError(63);if(ke.isMountpoint(l)||d&&ke.isMountpoint(d))throw new ke.ErrnoError(10);if(i!==r&&(h=ke.nodePermissions(r,"w")))throw new ke.ErrnoError(h);ke.hashRemoveNode(l);try{r.node_ops.rename(l,i,o)}catch(e){throw e}finally{ke.hashAddNode(l)}}},rmdir(e){var t=ke.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=ke.lookupNode(t,r),n=ke.mayDelete(t,r,!0);if(n)throw new ke.ErrnoError(n);if(!t.node_ops.rmdir)throw new ke.ErrnoError(63);if(ke.isMountpoint(i))throw new ke.ErrnoError(10);t.node_ops.rmdir(t,r),ke.destroyNode(i)},readdir(e){var t=ke.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ke.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=ke.lookupPath(e,{parent:!0}).node;if(!t)throw new ke.ErrnoError(44);var r=de.basename(e),i=ke.lookupNode(t,r),n=ke.mayDelete(t,r,!1);if(n)throw new ke.ErrnoError(n);if(!t.node_ops.unlink)throw new ke.ErrnoError(63);if(ke.isMountpoint(i))throw new ke.ErrnoError(10);t.node_ops.unlink(t,r),ke.destroyNode(i)},readlink(e){var t=ke.lookupPath(e).node;if(!t)throw new ke.ErrnoError(44);if(!t.node_ops.readlink)throw new ke.ErrnoError(28);return ue.resolve(ke.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=ke.lookupPath(e,{follow:!t}).node;if(!r)throw new ke.ErrnoError(44);if(!r.node_ops.getattr)throw new ke.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ke.stat(e,!0),chmod(e,t,r){var i;"string"==typeof e?i=ke.lookupPath(e,{follow:!r}).node:i=e;if(!i.node_ops.setattr)throw new ke.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){ke.chmod(e,t,!0)},fchmod(e,t){var r=ke.getStreamChecked(e);ke.chmod(r.node,t)},chown(e,t,r,i){var n;"string"==typeof e?n=ke.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new ke.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){ke.chown(e,t,r,!0)},fchown(e,t,r){var i=ke.getStreamChecked(e);ke.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new ke.ErrnoError(28);var r;"string"==typeof e?r=ke.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new ke.ErrnoError(63);if(ke.isDir(r.mode))throw new ke.ErrnoError(31);if(!ke.isFile(r.mode))throw new ke.ErrnoError(28);var i=ke.nodePermissions(r,"w");if(i)throw new ke.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=ke.getStreamChecked(e);if(0==(2097155&r.flags))throw new ke.ErrnoError(28);ke.truncate(r.node,t)},utime(e,t,r){var i=ke.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new ke.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?xe(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=ke.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(i){if(128&t)throw new ke.ErrnoError(20)}else i=ke.mknod(e,r,0),s=!0;if(!i)throw new ke.ErrnoError(44);if(ke.isChrdev(i.mode)&&(t&=-513),65536&t&&!ke.isDir(i.mode))throw new ke.ErrnoError(54);if(!s){var a=ke.mayOpen(i,t);if(a)throw new ke.ErrnoError(a)}512&t&&!s&&ke.truncate(i,0),t&=-131713;var o=ke.createStream({node:i,path:ke.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!n.logReadFiles||1&t||(ke.readFiles||(ke.readFiles={}),e in ke.readFiles||(ke.readFiles[e]=1)),o},close(e){if(ke.isClosed(e))throw new ke.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ke.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ke.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ke.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(1==(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.read)throw new ke.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new ke.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=a),a},write(e,t,r,i,n,s){if(i<0||n<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(0==(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.write)throw new ke.ErrnoError(28);e.seekable&&1024&e.flags&&ke.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new ke.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,i,n,s);return a||(e.position+=o),o},allocate(e,t,r){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(t<0||r<=0)throw new ke.ErrnoError(28);if(0==(2097155&e.flags))throw new ke.ErrnoError(8);if(!ke.isFile(e.node.mode)&&!ke.isDir(e.node.mode))throw new ke.ErrnoError(43);if(!e.stream_ops.allocate)throw new ke.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new ke.ErrnoError(2);if(1==(2097155&e.flags))throw new ke.ErrnoError(2);if(!e.stream_ops.mmap)throw new ke.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new ke.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=ke.open(e,t.flags),n=ke.stat(e).size,s=new Uint8Array(n);return ke.read(i,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),ke.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ke.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(me(t)+1),s=_e(t,n,0,n.length);ke.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ke.write(i,t,0,t.byteLength,void 0,r.canOwn)}ke.close(i)},cwd:()=>ke.currentPath,chdir(e){var t=ke.lookupPath(e,{follow:!0});if(null===t.node)throw new ke.ErrnoError(44);if(!ke.isDir(t.node.mode))throw new ke.ErrnoError(54);var r=ke.nodePermissions(t.node,"x");if(r)throw new ke.ErrnoError(r);ke.currentPath=t.path},createDefaultDirectories(){ke.mkdir("/tmp"),ke.mkdir("/home"),ke.mkdir("/home/web_user")},createDefaultDevices(){ke.mkdir("/dev"),ke.registerDevice(ke.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),ke.mkdev("/dev/null",ke.makedev(1,3)),ve.register(ke.makedev(5,0),ve.default_tty_ops),ve.register(ke.makedev(6,0),ve.default_tty1_ops),ke.mkdev("/dev/tty",ke.makedev(5,0)),ke.mkdev("/dev/tty1",ke.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);ke.createDevice("/dev","random",r),ke.createDevice("/dev","urandom",r),ke.mkdir("/dev/shm"),ke.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ke.mkdir("/proc");var e=ke.mkdir("/proc/self");ke.mkdir("/proc/self/fd"),ke.mount({mount(){var t=ke.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=ke.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?ke.createDevice("/dev","stdin",n.stdin):ke.symlink("/dev/tty","/dev/stdin"),n.stdout?ke.createDevice("/dev","stdout",null,n.stdout):ke.symlink("/dev/tty","/dev/stdout"),n.stderr?ke.createDevice("/dev","stderr",null,n.stderr):ke.symlink("/dev/tty1","/dev/stderr"),ke.open("/dev/stdin",0),ke.open("/dev/stdout",1),ke.open("/dev/stderr",1)},ensureErrnoError(){ke.ErrnoError||(ke.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ke.ErrnoError.prototype=new Error,ke.ErrnoError.prototype.constructor=ke.ErrnoError,[44].forEach((e=>{ke.genericErrors[e]=new ke.ErrnoError(e),ke.genericErrors[e].stack=""})))},staticInit(){ke.ensureErrnoError(),ke.nameTable=new Array(4096),ke.mount(we,{},"/"),ke.createDefaultDirectories(),ke.createDefaultDevices(),ke.createSpecialDirectories(),ke.filesystems={MEMFS:we}},init(e,t,r){ke.init.initialized=!0,ke.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,ke.createStandardStreams()},quit(){ke.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;n||(a=i);var o=this;o.setDataGetter((e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,i-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ge(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!s&&i||(a=i=1,i=this.getter(0).length,a=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var d=ke.createFile(e,t,o,i,n);o.contents?d.contents=o.contents:o.url&&(d.contents=null,d.url=o.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,i);if(s.slice)for(var o=0;o{var t=d.stream_ops[e];l[e]=function(){return ke.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(ke.forceLoadFile(d),c(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{ke.forceLoadFile(d);var s=be();if(!s)throw new ke.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;-100===e?i=ke.cwd():i=De.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new ke.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(ke.getPath(e.node)))return-54;throw e}B[r>>2]=i.dev,B[r+4>>2]=i.mode,x[r+8>>2]=i.nlink,B[r+12>>2]=i.uid,B[r+16>>2]=i.gid,B[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+24>>2]=K[0],B[r+28>>2]=K[1],B[r+32>>2]=4096,B[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),a=i.ctime.getTime();return K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+40>>2]=K[0],B[r+44>>2]=K[1],x[r+48>>2]=n%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+56>>2]=K[0],B[r+60>>2]=K[1],x[r+64>>2]=s%1e3*1e3,K=[Math.floor(a/1e3)>>>0,(Y=Math.floor(a/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+72>>2]=K[0],B[r+76>>2]=K[1],x[r+80>>2]=a%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[r+88>>2]=K[0],B[r+92>>2]=K[1],0},doMsync(e,t,r,i,n){if(!ke.isFile(t.node.mode))throw new ke.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);ke.msync(t,s,n,r,i)},varargs:void 0,get(){var e=B[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>ke.getStreamChecked(e)};function Pe(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((n=De.get())<0)return-28;for(;ke.streams[n];)n++;return ke.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=De.get();return i.flags|=n,0;case 5:n=De.getp();return A[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return-e.errno}}function Le(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var n=i?De.get():0;return ke.open(t,r,n).fd}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ie,Me,Re=(e,t,r,i,n)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},$e={},Oe={},Ge={},He=e=>{throw new Ie(e)},Ve=e=>{throw new Me(e)},We=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Ve("Mismatched type converter count");for(var n=0;n{Oe.hasOwnProperty(e)?n[t]=Oe[e]:(s.push(e),$e.hasOwnProperty(e)||($e[e]=[]),$e[e].push((()=>{n[t]=Oe[e],++a===s.length&&i(n)})))})),0===s.length&&i(n)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Oe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Oe[e]=t,delete Ge[e],$e.hasOwnProperty(e)){var n=$e[e];delete $e[e],n.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},nt={},st=()=>Object.keys(ut).length,at=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},ot=[],dt=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,ot.length&&Ye&&Ye(dt)},ct=()=>{n.getInheritedInstanceCount=st,n.getLiveInheritedInstances=at,n.flushPendingDeletes=dt,n.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ve("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Ve("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=nt[a];if(!o)return n.call(this);s=this.isConst?o.constPointerType:o.pointerType;var d=it(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(n,e,e),n.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function Ut(e,t,r,i,n,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Bt=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function xt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Bt(t.$$.ptr,r,this.registeredClass)}function Tt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Bt(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,sr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function kt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Bt(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(x[e>>2])}var Dt=()=>{Object.assign(Pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Pt(e,t,r,i,n,s,a,o,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=Tt:i?(this.toWireType=xt,this.destructorFunction=null):(this.toWireType=kt,this.destructorFunction=null)}var Lt,Ft,It=(e,t,r)=>{n.hasOwnProperty(e)||Ve("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Mt=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Lt.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),$t=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Ot=(e,t)=>{var r=(e=Ne(e)).includes("j")?$t(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},Gt=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=di(e),r=Ne(t);return ai(t),r},Vt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Oe[t]||(Ge[t]?Ge[t].forEach(e):(r.push(t),i[t]=!0))})),new Ft(`${e}: `+r.map(Ht).join([", "]))},Wt=(e,t,r,i,n,s,a,o,d,l,c,u,h)=>{c=Ne(c),s=Ot(n,s),o&&(o=Ot(a,o)),l&&(l=Ot(d,l)),h=Ot(u,h);var f=At(c);wt(f,(function(){Vt(`Cannot construct ${c} due to unbound types`,[i])})),We([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:yt.prototype;var a=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Ie("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Ie(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Ie(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:a}});a.prototype=d;var u=new Ut(c,a,d,h,r,s,o,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Pt(c,u,!0,!1,!1),m=new Pt(c+"*",u,!1,!1,!1),_=new Pt(c+" const*",u,!1,!0,!1);return nt[e]={pointerType:m,constPointerType:_},It(f,a),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Kt(e,t,r,i,n,s){var a=t.length;a<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=o?1:2;l{var a=jt(t,r);n=Ot(i,n),We([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ie(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Vt(`Cannot construct ${e.name} due to unbound types`,a)},We([],a,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,n,s),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,n,s,a,o,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),s=Ot(n,s),We([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Vt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(bt(c,t,i),c[t].overloadTable[r-2]=n),We([],l,(function(n){var o=Kt(i,n,e,s,a,d);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,n.count_emval_handles=ir},sr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(B[e>>2])}var or=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(k[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>U[e>>1];case 4:return r?e=>B[e>>2]:e=>x[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,n)=>{t=Ne(t);var s=e=>e;if(0===i){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=x[e>>2],r=x[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:Ke,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=x[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=i;++a){var o=n+a;if(a==i||0==E[o]){var d=Ce(s,o-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=o+1}}else{var l=new Array(i);for(a=0;a>2]=i,r&&n)pr(t,a,i+1);else if(n)for(var o=0;o255&&(ai(a),He("String has UTF-16 code units that do not fit in 8 bits")),E[a+o]=d}else for(o=0;o{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&U[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=B[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s);if(B[t>>2]=a,(t+=4)+4>n)break}return B[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,n,s,a,o;r=Ne(r),2===t?(i=gr,n=yr,a=vr,s=()=>U,o=1):4===t&&(i=br,n=wr,a=Sr,s=()=>x,o=2),qe(e,{name:r,fromWireType:e=>{for(var r,n=x[e>>2],a=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>o]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return ai(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var s=a(i),d=li(4+s+t);return x[d>>2]=s>>o,n(i,d+4,s+t),null!==e&&e.push(ai,d),d},argPackAdvance:Ke,readValueFromPointer:ar,destructorFunction(e){ai(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Ur={},Br=e=>{var t=Ur[e];return void 0===t?Ne(e):t},xr=[],Tr=(e,t,r,i,n)=>(e=xr[e])(t=sr.toValue(t),t[r=Br(r)],i,n),kr=e=>{var t=xr.length;return xr.push(e),t},Cr=(e,t)=>{var r=Oe[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Pr=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(x[t>>2]=sr.toHandle(i)),n},Lr=(e,t,r)=>{var i=Dr(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return kr(vt(h,u))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ir=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},$r=e=>{E.length,Nr()},Or={},Gr=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Gr()};for(var t in Or)void 0===Or[t]?delete e[t]:e[t]=Or[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Vr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Wr=(e,t)=>{var r=0;return Hr().forEach(((i,n)=>{var s=t+r;x[e+4*n>>2]=s,Vr(i,s),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();x[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),x[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return ke.close(t),0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:ke.isDir(r.mode)?3:ke.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[t+8>>2]=K[0],B[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[t+16>>2]=K[0],B[t+20>>2]=K[1],0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var n=0,s=0;s>2],o=x[t+4>>2];t+=8;var d=ke.read(e,S,a,o,i);if(d<0)return-1;if(n+=d,d>2]=s,0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,n){var s=Ir(t,r);try{if(isNaN(s))return 61;var a=De.getStreamFromFD(e);return ke.llseek(a,s,i),K=[a.position>>>0,(Y=a.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],B[n>>2]=K[0],B[n+4>>2]=K[1],a.getdents&&0===s&&0===i&&(a.getdents=null),0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var n=0,s=0;s>2],o=x[t+4>>2];t+=8;var d=ke.write(e,S,a,o,i);if(d<0)return-1;n+=d,void 0!==i&&(i+=d)}return n};function Qr(e,t,r,i){try{var n=De.getStreamFromFD(e),s=Jr(n,t,r);return x[i>>2]=s,0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ke.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return ke.isDir(this.mode)}},isDevice:{get:function(){return ke.isChrdev(this.mode)}}}),ke.FSNode=ei,ke.createPreloadedFile=Be,ke.staticInit(),ze(),Ie=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),Ft=n.UnboundTypeError=Gt(Error,"UnboundTypeError"),Qt(),nr();var ii,ni={o:ae,A:Pe,s:Le,q:Re,C:Xe,D:Wt,y:Xt,g:Jt,B:or,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:Tr,m:rr,e:Lr,d:Fr,a:Mr,h:Rr,w:zr,r:$r,u:Wr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},si=ie(),ai=e=>(ai=si.G)(e),oi=()=>(oi=si.I)(),di=e=>(di=si.J)(e),li=e=>(li=si.K)(e),ci=e=>(ci=si.M)(e);function ui(){function e(){ii||(ii=!0,n.calledRun=!0,C||(R(),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),z()))}G>0||(M(),G>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_viiijj=(e,t,r,i,s,a,o,d)=>(n.dynCall_viiijj=si.N)(e,t,r,i,s,a,o,d),n.dynCall_jij=(e,t,r,i)=>(n.dynCall_jij=si.O)(e,t,r,i),n.dynCall_jii=(e,t,r)=>(n.dynCall_jii=si.P)(e,t,r),n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=si.Q)(e,t,r,i,s),H=function e(){ii||ui(),ii||(H=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return ui(),t.ready}})(),o=1e-6,d="undefined"!=typeof Float32Array?Float32Array:Array;function l(){var e=new d(16);return d!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function c(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var u,h=function(e,t,r,i,n,s,a){var o=1/(t-r),d=1/(i-n),l=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*o,e[13]=(n+i)*d,e[14]=(a+s)*l,e[15]=1,e};function f(e,t,r){var i=new d(3);return i[0]=e,i[1]=t,i[2]=r,i}u=new d(3),d!=Float32Array&&(u[0]=0,u[1]=0,u[2]=0);var p=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},n=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const n=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:n}}(),s=p(),a=p(),d=p(),u=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const s=l();h(s,-1,1,-1,1,.1,100);const p=l();c(p);const m=l();!function(e,t,r,i){var n,s,a,d,l,u,h,f,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),n=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const jt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],qt=jt,Yt=jt;function Kt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Xt(e){return Zt(e)&&e[1]===kt}function Zt(e){return e[0]>>4===Ge}const Jt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Qt(e){let t=new Uint8Array(e),r=null,i=0,n=0,s=0,a=null;if(i=n=t[0]>>>3,s=(7&t[0])<<1|t[1]>>>7,s<0||s>=Jt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let o=Jt[s],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(a=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Gt.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?s>=6?(i=5,r=new Array(4),a=s-3):(i=2,r=new Array(2),a=s):-1!==l.indexOf("android")?(i=2,r=new Array(2),a=s):(i=5,a=s,r=new Array(4),s>=6?a=s-3:1===d&&(i=2,r=new Array(2),a=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:o,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+n}}class er{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,n=(6&e[r+1])>>>1,s=1&e[r+1],a=(192&e[r+2])>>>6,o=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===s?7:9,u=l-c;r+=c;let h=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=h,0!==i&&1!==i||0!==n)continue;let f=e.subarray(r,r+u);t={},t.audio_object_type=a+1,t.sampling_freq_index=o,t.sampling_frequency=qt[o],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class tr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,n=(31&t[i+1])<<8|t[i+2];if(i+3+n>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let s=new Wt(t.subarray(i+3,i+3+n)),a=null;if(s.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n),s.destroy();continue}a=e}else{let e=s.readBool();if(e&&s.readBool()){console.error("audioMuxVersionA is Not Supported"),s.destroy();break}if(e&&this.getLATMValue(s),!s.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),s.destroy();break}if(0!==s.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),s.destroy();break}if(0!==s.readBits(4)){console.error("more than 2 numProgram Not Supported"),s.destroy();break}if(0!==s.readBits(3)){console.error("more than 2 numLayer Not Supported"),s.destroy();break}let t=e?this.getLATMValue(s):0,r=s.readBits(5);t-=5;let i=s.readBits(4);t-=4;let n=s.readBits(4);t-=4,s.readBits(3),t-=3,t>0&&s.readBits(t);let o=s.readBits(3);if(0!==o){console.error(`frameLengthType = ${o}. Only frameLengthType = 0 Supported`),s.destroy();break}s.readByte();let d=s.readBool();if(d)if(e)this.getLATMValue(s);else{let e=0;for(;;){e<<=8;let t=s.readBool();if(e+=s.readByte(),!t)break}console.log(e)}s.readBool()&&s.readByte(),a={},a.audio_object_type=r,a.sampling_freq_index=i,a.sampling_frequency=qt[a.sampling_freq_index],a.channel_config=n,a.other_data_present=d}let o=0;for(;;){let e=s.readByte();if(o+=e,255!==e)break}let d=new Uint8Array(o);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function ir(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let n,s=0;for(;s+t>>=8),s+=t,n){if(s+n>r)break;i.push(e.subarray(s,s+n)),s+=n}return i}function nr(e,t){const r=e.length;let i=t?2:1,n=0,s=0,a="";for(;255===e[i];)n+=255,i++;for(n+=e[i++];255===e[i];)s+=255,i++;if(s+=e[i++],5===n&&r>i+16)for(let t=0;t<16;t++)a+=e[i].toString(16),i++;return{payload:e.subarray(i),type:n,size:s,uuid:a}}function sr(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function ar(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function or(){return(new Date).getTime()}function dr(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function lr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function cr(e){let t=0,r=lr();return i=>{if(n=i,"[object Number]"!==Object.prototype.toString.call(n))return;var n;t+=i;const s=lr(),a=s-r;a>=1e3&&(e(t/a*1e3),r=s,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function ur(e){return null==e}function hr(e){return!ur(e)}function fr(e){return"function"==typeof e}function pr(e){let t=null,r=31&e[0];return r!==je&&r!==qe||(t=$e),t||(r=(126&e[0])>>1,r!==ot&&r!==lt&&r!==ut||(t=Oe)),t}function mr(){return"undefined"!=typeof WritableStream}function _r(e){e.close()}function gr(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,n=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,n=2)}if(r)for(let s=n;s=1e3){e[s-1].ts-r.ts<1e3&&(i=s+1)}}}return i}function yr(e){return e.ok&&e.status>=200&&e.status<=299}function vr(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(T)}function br(e){return e[0]>>4===Ct&&e[1]===kt}function wr(e){return!0===e||"true"===e}function Sr(e){return!0!==e&&"true"!==e}function Er(){return!!(Gt.Worker&&Gt.MediaSource&&"canConstructInDedicatedWorker"in Gt.MediaSource&&!0===Gt.MediaSource.canConstructInDedicatedWorker)}function Ar(e,t){const r=ir(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===tt||r===it||r===st)||Sr(t)&&r===Ye)&&(i=!0)})),i}var Ur=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function a(e){try{d(i.next(e))}catch(e){s(e)}}function o(e){try{d(i.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,o)}d((i=i.apply(e,t||[])).next())}))};const Br=Symbol(32),xr=Symbol(16),Tr=Symbol(8);class kr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Ur(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(Br)}readU16(){return this.read(xr)}readU8(){return this.read(Tr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===Br){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===xr){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===Tr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}kr.U32=Br,kr.U16=xr,kr.U8=Tr;class Cr{constructor(e){this.log=function(t){if(e._opt.debugLevel==E){const s=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n1?r-1:0),n=1;n1?i-1:0),s=1;s=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseSPS(e){let t=Dr._ebsp2rbsp(e),r=new Wt(t);r.readByte();let i=r.readByte();r.readByte();let n=r.readByte();r.readUEG();let s=Dr.getProfileString(i),a=Dr.getLevelString(n),o=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(o=r.readUEG(),3===o&&r.readBits(1),o<=3&&(d=l[o]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==o?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,U=2*e,S=A/U}}let B=1;1===b&&1===w||(B=b/w);let x=0,T=0;if(0===o)x=1,T=2-m;else{x=3===o?1:2,T=(1===o?2:1)*(2-m)}let k=16*(f+1),C=16*(p+1)*(2-m);k-=(_+g)*x,C-=(y+v)*T;let D=Math.ceil(k*B);return r.destroy(),r=null,{profile_string:s,level_string:a,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Dr.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:U,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:k,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Dr._ebsp2rbsp(e),n=new Wt(i);n.readByte();let s=n.readByte();n.readByte();let a=n.readByte();n.readUEG();let o=Dr.getProfileString(s),d=Dr.getLevelString(a),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(l=n.readUEG(),3===l&&n.readBits(1),l<=3&&(c=u[l]),h=n.readUEG()+8,f=n.readUEG()+8,n.readBits(1),n.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=n.readByte()<<8|n.readByte(),A=n.readByte()<<8|n.readByte())}if(n.readBool()&&n.readBool(),n.readBool()&&(n.readBits(4),n.readBool()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n.readUEG()),n.readBool()){let e=n.readBits(32),t=n.readBits(32);B=n.readBool(),x=t,T=2*e,U=x/T}}let k=1;1===E&&1===A||(k=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let P=16*(_+1),L=16*(g+1)*(2-y);P-=(v+b)*C,L-=(w+S)*D;let F=Math.ceil(P*k);return n.destroy(),n=null,{codec_mimetype:r,profile_idc:s,level_idc:a,profile_string:o,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:m,chroma_format:c,chroma_format_string:Dr.getChromaFormatString(c),frame_rate:{fixed:B,fps:U,fps_den:T,fps_num:x},sar_ratio:{width:E,height:A},codec_size:{width:P,height:L},present_size:{width:F,height:L}}}static _skipScalingList(e,t){let r=8,i=8,n=0;for(let s=0;s=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Fr(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Ir(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,n=!1;const s=Dr.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(n=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=255,a[5]=225;let o=t.byteLength;a[6]=o>>>8,a[7]=255&o;let d=8;a.set(t,8),d+=o,a[d]=1;let l=r.byteLength;a[d+1]=l>>>8,a[d+2]=255&l,a.set(r,d+3),d+=3+l,n&&(a[d]=252|s.chroma_format_idc,a[d+1]=248|s.bit_depth_luma-8,a[d+2]=248|s.bit_depth_chroma-8,a[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+a.byteLength);return u.set(c,0),u.set(a,c.length),u}function Mr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Rr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function zr(e){return 31&e[0]}function Nr(e){return e===Ze}function $r(e){return!function(e){return e===je||e===qe}(e)&&!Nr(e)}function Or(e){return e===Ye}function Gr(e){if(0===e.length)return!1;const t=zr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,i>=et||0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class Vr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const Wr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},jr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class qr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseVPS(e){let t=qr._ebsp2rbsp(e),r=new Wt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=qr._ebsp2rbsp(e),r=new Wt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=o;n++){let n=r.readBool();M=n;let s=!0,a=1;n||(s=r.readBool());let o=!1;if(s?r.readUEG():o=r.readBool(),o||(a=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],n=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=Wr(e),r=new Wt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),a=(e=>{let t=Wr(e),r=new Wt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,a=0;r.readBits(4);let o=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=o;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(i+=r.readUEG(),n+=r.readUEG(),s+=r.readUEG(),a+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=o;n++){let n=r.readBool();M=n;let s=!1,a=1;n||(s=r.readBool());let o=!1;if(s?r.readSEG():o=r.readBool(),o||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=Wr(e),r=new Wt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),s=1;return n&&i?s=0:n?s=3:i&&(s=2),{parallelismType:s}})(r);n=Object.assign(n,s,a,o);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,l[2]=n.general_profile_compatibility_flags_1||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n.general_profile_compatibility_flags_3||0,l[5]=n.general_profile_compatibility_flags_4||0,l[6]=n.general_constraint_indicator_flags_1||0,l[7]=n.general_constraint_indicator_flags_2||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n.general_constraint_indicator_flags_4||0,l[10]=n.general_constraint_indicator_flags_5||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,l[14]=255&n.min_spatial_segmentation_idc,l[15]=252|3&n.parallelismType,l[16]=252|3&n.chroma_format_idc,l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|ot,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|lt,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|ut,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Jr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Qr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ei(e){return(126&e[0])>>1}function ti(e){return e===ft}function ri(e){return!function(e){return e>=32&&e<=40}(e)}function ii(e){return e>=16&&e<=21}function ni(e){if(0===e.length)return!1;const t=ei(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class ai{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function oi(e){return parseInt(e)===e}function di(e){if(!oi(e.length))return!1;for(var t=0;t255)return!1;return!0}function li(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!di(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(oi(e.length)&&di(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function ci(e){return new Uint8Array(e)}function ui(e,t,r,i,n){null==i&&null==n||(e=e.slice?e.slice(i,n):Array.prototype.slice.call(e,i,n)),t.set(e,r)}var hi,fi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},pi=(hi="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+hi[15&i])}return t.join("")}}),mi={16:10,24:12,32:14},_i=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],gi=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],yi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],vi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],bi=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],wi=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Si=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Ei=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Ai=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ui=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Bi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],xi=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Ti=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ki=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Ci=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Di(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=s[t],this._Kd[e-r][t%4]=s[t];for(var a,o=0,d=n;d>16&255]<<24^gi[a>>8&255]<<16^gi[255&a]<<8^gi[a>>24&255]^_i[o]<<24,o+=1,8!=n)for(t=1;t>8&255]<<8^gi[a>>16&255]<<16^gi[a>>24&255]<<24;for(t=n/2+1;t>2,c=d%4,this._Ke[l][c]=s[t],this._Kd[e-l][c]=s[t++],d++}for(var l=1;l>24&255]^Ti[a>>16&255]^ki[a>>8&255]^Ci[255&a]},Pi.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Di(e),n=0;n<4;n++)i[n]^=this._Ke[0][n];for(var s=1;s>24&255]^bi[i[(n+1)%4]>>16&255]^wi[i[(n+2)%4]>>8&255]^Si[255&i[(n+3)%4]]^this._Ke[s][n];i=r.slice()}var a,o=ci(16);for(n=0;n<4;n++)a=this._Ke[t][n],o[4*n]=255&(gi[i[n]>>24&255]^a>>24),o[4*n+1]=255&(gi[i[(n+1)%4]>>16&255]^a>>16),o[4*n+2]=255&(gi[i[(n+2)%4]>>8&255]^a>>8),o[4*n+3]=255&(gi[255&i[(n+3)%4]]^a);return o},Pi.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Di(e),n=0;n<4;n++)i[n]^=this._Kd[0][n];for(var s=1;s>24&255]^Ai[i[(n+3)%4]>>16&255]^Ui[i[(n+2)%4]>>8&255]^Bi[255&i[(n+1)%4]]^this._Kd[s][n];i=r.slice()}var a,o=ci(16);for(n=0;n<4;n++)a=this._Kd[t][n],o[4*n]=255&(yi[i[n]>>24&255]^a>>24),o[4*n+1]=255&(yi[i[(n+3)%4]>>16&255]^a>>16),o[4*n+2]=255&(yi[i[(n+2)%4]>>8&255]^a>>8),o[4*n+3]=255&(yi[255&i[(n+1)%4]]^a);return o};var Li=function(e){if(!(this instanceof Li))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Pi(e)};Li.prototype.encrypt=function(e){if((e=li(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=ci(e.length),r=ci(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Ri.prototype.setBytes=function(e){if(16!=(e=li(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Ri.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var zi=function(e,t){if(!(this instanceof zi))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Ri||(t=new Ri(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Pi(e)};zi.prototype.encrypt=function(e){for(var t=li(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-s%4*8&255;t[i+s>>>2]|=a<<24-(i+s)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=o.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,s=i.sigBytes,a=this.blockSize,o=s/(4*a),d=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*a,c=e.min(4*d,s);if(d){for(var u=0;u>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.WordArray,i=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535);i.push(String.fromCharCode(a))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=n(e.charCodeAt(s)<<16-s%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],s=0,a=0;a>>6-a%4*2;n[s>>>2]|=o<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var n=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(t[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|t[s+2>>>2]>>>24-(s+2)%4*8&255,o=0;o<4&&s+.75*o>>6*(3-o)&63));var d=i.charAt(64);if(d)for(;n.length%4;)n.push(d);return n.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-a%4*2;n[s>>>2]|=o<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var s=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(r[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|r[a+2>>>2]>>>24-(a+2)%4*8&255,d=0;d<4&&a+.75*d>>6*(3-d)&63));var l=n.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var a=0;a>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words,a=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],U=e[t+14],B=e[t+15],x=s[0],T=s[1],k=s[2],C=s[3];x=l(x,T,k,C,a,7,o[0]),C=l(C,x,T,k,d,12,o[1]),k=l(k,C,x,T,f,17,o[2]),T=l(T,k,C,x,p,22,o[3]),x=l(x,T,k,C,m,7,o[4]),C=l(C,x,T,k,_,12,o[5]),k=l(k,C,x,T,g,17,o[6]),T=l(T,k,C,x,y,22,o[7]),x=l(x,T,k,C,v,7,o[8]),C=l(C,x,T,k,b,12,o[9]),k=l(k,C,x,T,w,17,o[10]),T=l(T,k,C,x,S,22,o[11]),x=l(x,T,k,C,E,7,o[12]),C=l(C,x,T,k,A,12,o[13]),k=l(k,C,x,T,U,17,o[14]),x=c(x,T=l(T,k,C,x,B,22,o[15]),k,C,d,5,o[16]),C=c(C,x,T,k,g,9,o[17]),k=c(k,C,x,T,S,14,o[18]),T=c(T,k,C,x,a,20,o[19]),x=c(x,T,k,C,_,5,o[20]),C=c(C,x,T,k,w,9,o[21]),k=c(k,C,x,T,B,14,o[22]),T=c(T,k,C,x,m,20,o[23]),x=c(x,T,k,C,b,5,o[24]),C=c(C,x,T,k,U,9,o[25]),k=c(k,C,x,T,p,14,o[26]),T=c(T,k,C,x,v,20,o[27]),x=c(x,T,k,C,A,5,o[28]),C=c(C,x,T,k,f,9,o[29]),k=c(k,C,x,T,y,14,o[30]),x=u(x,T=c(T,k,C,x,E,20,o[31]),k,C,_,4,o[32]),C=u(C,x,T,k,v,11,o[33]),k=u(k,C,x,T,S,16,o[34]),T=u(T,k,C,x,U,23,o[35]),x=u(x,T,k,C,d,4,o[36]),C=u(C,x,T,k,m,11,o[37]),k=u(k,C,x,T,y,16,o[38]),T=u(T,k,C,x,w,23,o[39]),x=u(x,T,k,C,A,4,o[40]),C=u(C,x,T,k,a,11,o[41]),k=u(k,C,x,T,p,16,o[42]),T=u(T,k,C,x,g,23,o[43]),x=u(x,T,k,C,b,4,o[44]),C=u(C,x,T,k,E,11,o[45]),k=u(k,C,x,T,B,16,o[46]),x=h(x,T=u(T,k,C,x,f,23,o[47]),k,C,a,6,o[48]),C=h(C,x,T,k,y,10,o[49]),k=h(k,C,x,T,U,15,o[50]),T=h(T,k,C,x,_,21,o[51]),x=h(x,T,k,C,E,6,o[52]),C=h(C,x,T,k,p,10,o[53]),k=h(k,C,x,T,w,15,o[54]),T=h(T,k,C,x,d,21,o[55]),x=h(x,T,k,C,v,6,o[56]),C=h(C,x,T,k,B,10,o[57]),k=h(k,C,x,T,g,15,o[58]),T=h(T,k,C,x,A,21,o[59]),x=h(x,T,k,C,m,6,o[60]),C=h(C,x,T,k,S,10,o[61]),k=h(k,C,x,T,f,15,o[62]),T=h(T,k,C,x,b,21,o[63]),s[0]=s[0]+x|0,s[1]=s[1]+T|0,s[2]=s[2]+k|0,s[3]=s[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296),a=i;r[15+(n+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),r[14+(n+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var o=this._hash,d=o.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,n,s,a){var o=e+(t&r|~t&i)+n+a;return(o<>>32-s)+t}function c(e,t,r,i,n,s,a){var o=e+(t&i|r&~i)+n+a;return(o<>>32-s)+t}function u(e,t,r,i,n,s,a){var o=e+(t^r^i)+n+a;return(o<>>32-s)+t}function h(e,t,r,i,n,s,a){var o=e+(r^(t|~i))+n+a;return(o<>>32-s)+t}t.MD5=s._createHelper(d),t.HmacMD5=s._createHmacHelper(d)}(Math),r.MD5)})),Vt((function(e,t){var r,i,n,s,a,o,d,l;e.exports=(i=(r=l=$i).lib,n=i.WordArray,s=i.Hasher,a=r.algo,o=[],d=a.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],a=r[3],d=r[4],l=0;l<80;l++){if(l<16)o[l]=0|e[t+l];else{var c=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+o[l];u+=l<20?1518500249+(n&s|~n&a):l<40?1859775393+(n^s^a):l<60?(n&s|n&a|s&a)-1894007588:(n^s^a)-899497514,d=a,a=s,s=n<<30|n>>>2,n=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+a|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=s._createHelper(d),r.HmacSHA1=s._createHmacHelper(d),l.SHA1)})),Vt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,a=t.algo,o=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,n=0;n<64;)t(i)&&(n<8&&(o[n]=r(e.pow(i,.5))),d[n]=r(e.pow(i,1/3)),n++),i++}();var l=[],c=a.SHA256=s.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[f-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[f]=m+l[f-7]+g+l[f-16]}var y=i&n^i&s^n&s,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=h+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&c^~o&u)+d[f]+l[f];h=u,u=c,c=o,o=a+b|0,a=s,s=n,n=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+a|0,r[4]=r[4]+o|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(i/4294967296),r[15+(n+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=s._createHelper(c),t.HmacSHA256=s._createHmacHelper(c)}(Math),r.SHA256)})),Vt((function(e,t){var r,i,n,s,a,o;e.exports=(i=(r=o=$i).lib.WordArray,n=r.algo,s=n.SHA256,a=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=s._createHelper(a),r.HmacSHA224=s._createHmacHelper(a),o.SHA224)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.Hasher,i=e.x64,n=i.Word,s=i.WordArray,a=e.algo;function o(){return n.create.apply(n,arguments)}var d=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=o()}();var c=a.SHA512=t.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],a=r[3],o=r[4],c=r[5],u=r[6],h=r[7],f=i.high,p=i.low,m=n.high,_=n.low,g=s.high,y=s.low,v=a.high,b=a.low,w=o.high,S=o.low,E=c.high,A=c.low,U=u.high,B=u.low,x=h.high,T=h.low,k=f,C=p,D=m,P=_,L=g,F=y,I=v,M=b,R=w,z=S,N=E,$=A,O=U,G=B,H=x,V=T,W=0;W<80;W++){var j,q,Y=l[W];if(W<16)q=Y.high=0|e[t+2*W],j=Y.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[W-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),se=l[W-7],ae=se.high,oe=se.low,de=l[W-16],le=de.high,ce=de.low;q=(q=(q=J+ae+((j=Q+oe)>>>0>>0?1:0))+ie+((j+=ne)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),Y.high=q,Y.low=j}var ue,he=R&N^~R&O,fe=z&$^~z&G,pe=k&D^k&L^D&L,me=C&P^C&F^P&F,_e=(k>>>28|C<<4)^(k<<30|C>>>2)^(k<<25|C>>>7),ge=(C>>>28|k<<4)^(C<<30|k>>>2)^(C<<25|k>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[W],we=be.high,Se=be.low,Ee=H+ye+((ue=V+ve)>>>0>>0?1:0),Ae=ge+me;H=O,V=G,O=N,G=$,N=R,$=z,R=I+(Ee=(Ee=(Ee=Ee+he+((ue+=fe)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+q+((ue+=j)>>>0>>0?1:0))+((z=M+ue|0)>>>0>>0?1:0)|0,I=L,M=F,L=D,F=P,D=k,P=C,k=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=f+k+(p>>>0>>0?1:0),_=n.low=_+P,n.high=m+D+(_>>>0

      >>0?1:0),y=s.low=y+F,s.high=g+L+(y>>>0>>0?1:0),b=a.low=b+M,a.high=v+I+(b>>>0>>0?1:0),S=o.low=S+z,o.high=w+R+(S>>>0>>0?1:0),A=c.low=A+$,c.high=E+N+(A>>>0<$>>>0?1:0),B=u.low=B+G,u.high=U+O+(B>>>0>>0?1:0),T=h.low=T+V,h.high=x+H+(T>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),Vt((function(e,t){var r,i,n,s,a,o,d,l;e.exports=(i=(r=l=$i).x64,n=i.Word,s=i.WordArray,a=r.algo,o=a.SHA512,d=a.SHA384=o.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=o._createHelper(d),r.HmacSHA384=o._createHmacHelper(d),l.SHA384)})),Vt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,a=t.x64.Word,o=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,s=0;s<24;s++){for(var o=0,u=0,h=0;h<7;h++){if(1&n){var f=(1<>>24)|4278255360&(s<<24|s>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(T=r[n]).high^=a,T.low^=s}for(var o=0;o<24;o++){for(var h=0;h<5;h++){for(var f=0,p=0,m=0;m<5;m++)f^=(T=r[h+5*m]).high,p^=T.low;var _=u[h];_.high=f,_.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],v=y.high,b=y.low;for(f=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(T=r[h+5*m]).high^=f,T.low^=p}for(var w=1;w<25;w++){var S=(T=r[w]).high,E=T.low,A=d[w];A<32?(f=S<>>32-A,p=E<>>32-A):(f=E<>>64-A,p=S<>>64-A);var U=u[l[w]];U.high=f,U.low=p}var B=u[0],x=r[0];for(B.high=x.high,B.low=x.low,h=0;h<5;h++)for(m=0;m<5;m++){var T=r[w=h+5*m],k=u[w],C=u[(h+1)%5+5*m],D=u[(h+2)%5+5*m];T.high=k.high^~C.high&D.high,T.low=k.low^~C.low&D.low}T=r[0];var P=c[o];T.high^=P.high,T.low^=P.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,s=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/s)*s>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,o=this.cfg.outputLength/8,d=o/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new n.init(l,o)},clone:function(){for(var e=s.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=s._createHelper(h),t.HmacSHA3=s._createHmacHelper(h)}(Math),r.SHA3)})),Vt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,a=t.algo,o=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),h=n.create([1352829926,1548603684,1836072691,2053994217,0]),f=a.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s,a,f,b,w,S,E,A,U,B,x,T=this._hash.words,k=u.words,C=h.words,D=o.words,P=d.words,L=l.words,F=c.words;for(S=s=T[0],E=a=T[1],A=f=T[2],U=b=T[3],B=w=T[4],r=0;r<80;r+=1)x=s+e[t+D[r]]|0,x+=r<16?p(a,f,b)+k[0]:r<32?m(a,f,b)+k[1]:r<48?_(a,f,b)+k[2]:r<64?g(a,f,b)+k[3]:y(a,f,b)+k[4],x=(x=v(x|=0,L[r]))+w|0,s=w,w=b,b=v(f,10),f=a,a=x,x=S+e[t+P[r]]|0,x+=r<16?y(E,A,U)+C[0]:r<32?g(E,A,U)+C[1]:r<48?_(E,A,U)+C[2]:r<64?m(E,A,U)+C[3]:p(E,A,U)+C[4],x=(x=v(x|=0,F[r]))+B|0,S=B,B=U,U=v(A,10),A=E,E=x;x=T[1]+f+U|0,T[1]=T[2]+b+B|0,T[2]=T[3]+w+S|0,T[3]=T[4]+s+E|0,T[4]=T[0]+a+A|0,T[0]=x},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,s=n.words,a=0;a<5;a++){var o=s[a];s[a]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return n},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=s._createHelper(f),t.HmacRIPEMD160=s._createHmacHelper(f)}(),r.RIPEMD160)})),Vt((function(e,t){var r,i,n;e.exports=(i=(r=$i).lib.Base,n=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var s=this._oKey=t.clone(),a=this._iKey=t.clone(),o=s.words,d=a.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?s.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=s.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),s=n.finalize(t),a=n.cfg;return m.create({ciphertext:s,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=s.random(8)),n)a=l.create({keySize:t+r,hasher:n}).compute(e,i);else var a=l.create({keySize:t+r}).compute(e,i);var o=s.create(a.words.slice(t),4*r);return a.sigBytes=4*t,m.create({key:a,iv:o,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var s=g.encrypt.call(this,e,t,n.key,i);return s.mixIn(n),s},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,g.decrypt.call(this,e,t,n.key,i)}})}())})),Vt((function(e,t){var r;e.exports=((r=$i).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,s=this._iv;s?(n=s.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var n=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,s=this._iv,a=this._counter;s&&(a=this._counter=s.slice(0),this._iv=void 0),i(a);var o=a.slice(0);r.encryptBlock(o,0);for(var d=0;d>>2]|=n<<24-s%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Vt((function(e,t){var r;e.exports=((r=$i).pad.Iso10126={pad:function(e,t){var i=4*t,n=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(n-1)).concat(r.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Vt((function(e,t){var r;e.exports=((r=$i).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Vt((function(e,t){var r;e.exports=((r=$i).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Vt((function(e,t){var r;e.exports=((r=$i).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Vt((function(e,t){var r;e.exports=(r=$i,function(e){var t=r,i=t.lib.CipherParams,n=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){var t=n.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,n=[],s=[],a=[],o=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,n[r]=p,s[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;a[r]=y<<24|y>>>8,o[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),s=this._keySchedule=[],a=0;a6&&a%r==4&&(l=n[l>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l]):(l=n[(l=l<<8|l>>>24)>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l],l^=p[a/r|0]<<24),s[a]=s[a-r]^l);for(var o=this._invKeySchedule=[],d=0;d>>24]]^u[n[l>>>16&255]]^h[n[l>>>8&255]]^f[n[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,d,l,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,s),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,n,s,a,o){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^n[c>>>16&255]^s[u>>>8&255]^a[255&h]^r[f++],_=i[c>>>24]^n[u>>>16&255]^s[h>>>8&255]^a[255&l]^r[f++],g=i[u>>>24]^n[h>>>16&255]^s[l>>>8&255]^a[255&c]^r[f++],y=i[h>>>24]^n[l>>>16&255]^s[c>>>8&255]^a[255&u]^r[f++];l=m,c=_,u=g,h=y}m=(o[l>>>24]<<24|o[c>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^r[f++],_=(o[c>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&l])^r[f++],g=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[l>>>8&255]<<8|o[255&c])^r[f++],y=(o[h>>>24]<<24|o[l>>>16&255]<<16|o[c>>>8&255]<<8|o[255&u])^r[f++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib,i=t.WordArray,n=t.BlockCipher,s=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=s.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=a[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],s=0;s<16;s++){var l=n[s]=[],c=d[s];for(r=0;r<24;r++)l[r/6|0]|=t[(o[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(o[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],s=this._lBlock,a=this._rBlock,o=0,d=0;d<8;d++)o|=l[d][((a^n[d])&c[d])>>>0];this._lBlock=a,this._rBlock=s^o}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),r.TripleDES)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var s=0;n<256;n++){var a=n%r,o=t[a>>>2]>>>24-a%4*8&255;s=(s+i[n]+o)%256;var d=i[n];i[n]=i[s],i[s]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=s.call(this)},keySize:8,ivSize:0});function s(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var a=i.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)s.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],a=[],o=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var s=t.words,a=s[0],o=s[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(n[0]^=l,n[1]^=u,n[2]^=c,n[3]^=h,n[4]^=l,n[5]^=u,n[6]^=c,n[7]^=h,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,o=i>>>16,d=((n*n>>>17)+n*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(o)}(),r.Rabbit)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],a=[],o=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var n=0;n<4;n++)d.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var s=t.words,a=s[0],o=s[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),c=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=h,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=h,n=0;n<4;n++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,o=i>>>16,d=((n*n>>>17)+n*o>>>15)+o*o,l=((4294901760&i)*i|0)+((65535&i)*i|0);a[r]=d^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(o)}(),r.RabbitLegacy)})),Vt((function(e,t){var r;e.exports=(r=$i,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const n=16,s=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,n=t>>8&255,s=255&t,a=e.sbox[0][r]+e.sbox[1][i];return a^=e.sbox[2][n],a+=e.sbox[3][s],a}function l(e,t,r){let i,s=t,a=r;for(let t=0;t1;--t)s^=e.pbox[t],a=d(e,s)^a,i=s,s=a,a=i;return i=s,s=a,a=i,a^=e.pbox[1],s^=e.pbox[0],{left:s,right:a}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=a[t][r]}let i=0;for(let a=0;a=r&&(i=0);let o=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let s=5;for(;sn)break;let o=e[s+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=e.slice(s+4+2,s+4+a);let n=new Ni.ModeOfOperation.ctr(t,new Ni.Counter(r));const o=n.decrypt(i);n=null,e.set(o,s+4+2)}s=s+4+a}return e}function Hi(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let n=new Ni.ModeOfOperation.ctr(t,new Ni.Counter(r));const s=n.decrypt(i);return n=null,e.set(s,32),e}Vt((function(e,t){e.exports=$i}));var Vi=Vt((function(e,t){var r,n,s,a=(r=new Date,n=4,s={setLogLevel:function(e){n=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=n&&console.info("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console.warn("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},s);a.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+a.getDurationString(e.start(i))+","+a.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=a;var o=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};o.prototype.getPosition=function(){return this.position},o.prototype.getEndPosition=function(){return this.buffer.byteLength},o.prototype.getLength=function(){return this.buffer.byteLength},o.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},o.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},o.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},o.prototype.readUint8=function(){return this.readAnyInt(1,!1)},o.prototype.readUint16=function(){return this.readAnyInt(2,!1)},o.prototype.readUint24=function(){return this.readAnyInt(3,!1)},o.prototype.readUint32=function(){return this.readAnyInt(4,!1)},o.prototype.readUint64=function(){return this.readAnyInt(8,!1)},o.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(i,0,n.length).set(n),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,n){var s=new Uint8Array(e,t,n),a=new Uint8Array(r,i,n);s.set(a)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rn;i--,n++){var s=t[n];t[n]=t[i],t[i]=s}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,a.debug("MultiBufferStream","Stream ready for parsing"),!0):(a.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(a.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){a.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}a.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,n,s)}}t&&(a.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,n,s,o=[],d="";for(i=0,n=0,t=0;t0&&(d+=s.end-1+"]");var l=e?a.info:a.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+n+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,n=null,s=-1;for(i=!0===e?0:this.bufferIndex;i=t?(a.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,n=void 0!==e?e:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(t=n+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){h.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){h.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){h.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(a.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):0!==l&&o+l>e.getEndPosition()?(e.seek(o),a.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:o}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:o}:(h[c+"Box"]?i=new h[c+"Box"](l):"uuid"!==c?(a.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[s]?i=new h.UUIDBoxes[s](l):(a.warn("BoxParser","Unknown uuid type: '"+s+"'"),(i=new h.Box(c,l)).uuid=s,i.has_unparsed_data=!0),i.hdr_size=d,i.start=o,i.write===h.Box.prototype.write&&"mdat"!==i.type&&(a.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(n=e.getPosition()-(i.start+i.size))<0?(a.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),e.seek(i.start+i.size)):n>0&&(a.error("BoxParser","Parsing of box '"+u+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:h.OK,box:i,size:i.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)a.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void a.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else a.error("av1C reserved_1 parsing problem");else a.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=n>>1&31,i.bsmod=(1&n)<<4|s>>4&15,i.acmod=s>>1&7,i.lfeon=1&s,i.num_dep_sub=a>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&a)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),n=Math.min(127&i,r.length-1);if(n?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[n]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,r,i,n;this.configurationVersion=e.readUint8(),n=e.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),n=e.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var s=e.readUint8();for(t=0;t>7,a.nalu_type=63&n;var o=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),a.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?a.property_index=(127&s)<<8|e.readUint8():a.property_index=127&s}}})),h.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&n,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:a.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(a.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)a.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){a.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),a.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&n,i.subsegment_duration=e.readUint32(),n=e.readUint32(),i.starts_with_SAP=n>>31&1,i.SAP_type=n>>28&7,i.SAP_delta_time=268435455&n}})),h.SingleItemTypeReferenceBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var a=i.extract_bits(1);this.ptl_sublayer_present_mask|=a<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var n=!1,s="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||n)&&(s="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+s,n=!0);t+=s}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,n=[],s=0;for(s|=this.vvcC.ptl_frame_only_constraint<<7,s|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,n.push(s),s&&(i=e),s=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",o=0,d=0;for(e=0;e<=i;++e)for(o=o<<8|n[e],d+=8;d>=5;){r+=a[o>>d-5&31],o&=(1<<(d-=5))-1}d&&(r+=a[31&(o<<=5-d)])}}t+=r}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(r?"."+r:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),a.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof h.Box||t[r]instanceof h.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.extractedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&a.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(a.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(a.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(a.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(a.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,n,s,a={},o=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(a.hasMoov=!0,a.duration=this.moov.mvhd.duration,a.timescale=this.moov.mvhd.timescale,a.isFragmented=null!=this.moov.mvex,a.isFragmented&&this.moov.mvex.mehd&&(a.fragment_duration=this.moov.mvex.mehd.fragment_duration),a.isProgressive=this.isProgressive,a.hasIOD=null!=this.moov.iods,a.brands=[],a.brands.push(this.ftyp.major_brand),a.brands=a.brands.concat(this.ftyp.compatible_brands),a.created=new Date(o+1e3*this.moov.mvhd.creation_time),a.modified=new Date(o+1e3*this.moov.mvhd.modification_time),a.tracks=[],a.audioTracks=[],a.videoTracks=[],a.subtitleTracks=[],a.metadataTracks=[],a.hintTracks=[],a.otherTracks=[],e=0;e0?a.mime+='video/mp4; codecs="':a.audioTracks&&a.audioTracks.length>0?a.mime+='audio/mp4; codecs="':a.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(a.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),a.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(a.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var s=n.lastValidSample;se*n.timescale){l=i-1;break}t&&n.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return s=r.samples[l].offset+r.samples[l].alreadyRead,a.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+a.getDurationString(e,o)+" and offset: "+s),{offset:s,time:e/o}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,n,s=this.moov,o={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){a=d;break}switch(a){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),s.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new o(t.avcDecoderConfigRecord)),s.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new o(t.hevcDecoderConfigRecord)),s.addBox(f)}break;case"Audio":n.add("smhd").set("balance",t.balance||0),s.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":if(n.add("sthd"),"stpp"===t.type)s.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:n.add("nmhd")}t.description&&s.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){s.addBox(e)})),n.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=n.add("stbl");return p.add("stsd").addEntry(s),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},n={},s=this.getTrackById(e);if(null!==s){n.number=s.samples.length,n.track_id=s.tkhd.track_id,n.timescale=s.mdia.mdhd.timescale,n.description_index=i.sample_description_index?i.sample_description_index-1:0,n.description=s.mdia.minf.stbl.stsd.entries[n.description_index],n.data=t,n.size=t.byteLength,n.alreadyRead=n.size,n.duration=i.duration||1,n.cts=i.cts||0,n.dts=i.dts||0,n.is_sync=i.is_sync||!1,n.is_leading=i.is_leading||0,n.depends_on=i.depends_on||0,n.is_depended_on=i.is_depended_on||0,n.has_redundancy=i.has_redundancy||0,n.degradation_priority=i.degradation_priority||0,n.offset=0,n.subsamples=i.subsamples,s.samples.push(n),s.samples_size+=n.size,s.samples_duration+=n.duration,void 0===s.first_dts&&(s.first_dts=i.dts),this.processSamples();var a=this.createSingleSampleMoof(n);return this.addBox(a),a.computeSize(),a.trafs[0].truns[0].data_offset=a.size+8,this.add("mdat").data=new Uint8Array(t),n}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new h.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),n=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(n.first_dts||0)),i.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,n,s;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=n[a].grouping_type+"/0",(o=new l(n[a].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=o))}else for(a=0;a=2&&(d=i[a].grouping_type+"/0",o=new l(i[a].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=o))},g.setSampleGroupProperties=function(e,t,r,i){var n,s;for(n in t.sample_groups=[],i){var a;if(t.sample_groups[n]={},t.sample_groups[n].grouping_type=i[n].grouping_type,t.sample_groups[n].grouping_type_parameter=i[n].grouping_type_parameter,r>=i[n].last_sample_in_run&&(i[n].last_sample_in_run<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n].entry_index<=i[n].sbgp.entries.length-1&&(i[n].last_sample_in_run+=i[n].sbgp.entries[i[n].entry_index].sample_count)),i[n].entry_index<=i[n].sbgp.entries.length-1?t.sample_groups[n].group_description_index=i[n].sbgp.entries[i[n].entry_index].group_description_index:t.sample_groups[n].group_description_index=-1,0!==t.sample_groups[n].group_description_index)a=i[n].fragment_description?i[n].fragment_description:i[n].description,t.sample_groups[n].group_description_index>0?(s=t.sample_groups[n].group_description_index>65535?(t.sample_groups[n].group_description_index>>16)-1:t.sample_groups[n].group_description_index-1,a&&s>=0&&(t.sample_groups[n].description=a.entries[s])):a&&a.version>=2&&a.default_group_description_index>0&&(t.sample_groups[n].description=a.entries[a.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=s.sample_counts[b]),t>0?(e.samples[t-1].duration=s.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,B.dts=e.samples[t-1].dts+e.samples[t-1].duration):B.dts=0,a?(t>=w&&(S++,w<0&&(w=0),w+=a.sample_counts[S]),B.cts=e.samples[t].dts+a.sample_offsets[S]):B.cts=B.dts,o?(t==o.sample_numbers[E]-1?(B.is_sync=!0,E++):(B.is_sync=!1,B.degradation_priority=0),l&&l.entries[A].sample_delta+U==t+1&&(B.subsamples=l.entries[A].subsamples,U+=l.entries[A].sample_delta,A++)):B.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,B,B.number),B.degradation_priority=h?h.priority[t]:0,l&&l.entries[A].sample_delta+U==t&&(B.subsamples=l.entries[A].subsamples,U+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,B,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,n,s,a,o,d,l,c,u,f,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=a,_.flags&h.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&h.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&h.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:o,p.offset=0===t&&0===r?b?w+_.data_offset:w:o,o=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var s=(r=this.stream.buffers[n]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=s)return a.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===s)return null;a.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+s+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,s),i.alreadyRead+=s,r.usedBytes+=s,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=s.ipro.protections[s.iinf.item_infos[e].protection_index-1]),s.iinf.item_infos[e].item_type?r.type=s.iinf.item_infos[e].item_type:r.type="mime",r.content_type=s.iinf.item_infos[e].content_type,r.content_encoding=s.iinf.item_infos[e].content_encoding;if(s.grpl)for(e=0;e0&&h.property_index-1-1))return null;var o=(t=this.stream.buffers[s]).byteLength-(n.offset+n.alreadyRead-t.fileStart);if(!(n.length-n.alreadyRead<=o))return a.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+o+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,o),n.alreadyRead+=o,r.alreadyRead+=o,t.usedBytes+=o,this.stream.logBufferLevel(),null;a.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,n.length-n.alreadyRead),t.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function Wi(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}Vi.Log,Vi.MP4BoxStream,Vi.DataStream,Vi.MultiBufferStream,Vi.MPEG4DescriptorParser,Vi.BoxParser,Vi.XMLSubtitlein4Parser,Vi.Textin4Parser,Vi.ISOFile,Vi.createFile;const ji=16,qi=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Yi=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Ki(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Zi(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Ji(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function Qi(e,t){const r=31&t;return e<>>32-r}function en(e){return(255&qi[e>>>24&255])<<24|(255&qi[e>>>16&255])<<16|(255&qi[e>>>8&255])<<8|255&qi[255&e]}function tn(e){return e^Qi(e,2)^Qi(e,10)^Qi(e,18)^Qi(e,24)}function rn(e){return e^Qi(e,13)^Qi(e,23)}function nn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=tn(en(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=tn(en(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=tn(en(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=tn(en(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function sn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^Yi[r+0],t[r+0]=i[0]^=rn(en(e)),e=i[2]^i[3]^i[0]^Yi[r+1],t[r+1]=i[1]^=rn(en(e)),e=i[3]^i[0]^i[1]^Yi[r+2],t[r+2]=i[2]^=rn(en(e)),e=i[0]^i[1]^i[2]^Yi[r+3],t[r+3]=i[3]^=rn(en(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function an(e,t,r){let{padding:i="pkcs#7",mode:n,iv:s=[],output:a="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===n&&("string"==typeof s&&(s=Ki(s)),16!==s.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Ki(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Zi(e):Ki(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=ji-e.length%ji;for(let r=0;r=ji;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===n)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=new Uint8Array(e.slice(0,5)),a=5;for(;an){const t=new Uint8Array(s.length+e.length-a);t.set(s,0),t.set(e.slice(a),s.length),s=t;break}let l=e[a+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=an(e.slice(a+4+u,a+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const n=new Uint8Array(u);n.set(e.slice(a+4,a+4+u),0);const o=sr(Wi(n,new Uint8Array(r))),l=new Uint8Array(s.length+o.length);l.set(s,0),l.set(o,s.length),s=l}else{const t=e.slice(a+4,a+4+d),r=new Uint8Array(s.length+4+t.length);r.set(s,0),r.set(o,s.length),r.set(t,s.length+4),s=r}a=a+4+d}return s}const ln={init:0,findFirstStartCode:1,findSecondStartCode:2};class cn extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){i.off(e,n);for(var s=arguments.length,a=new Array(s),o=0;o1?r-1:0),n=1;n{delete r[e]})),void delete this.e;const i=r[e],n=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=ln.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==ln.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=ln.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==ln.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=ln.findFirstStartCode}}}}function un(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=5;for(;sn)break;let o=e[s+4],d=!1;if(i?(o=o>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(o)):(o&=31,d=1===o||5===o),d){const i=un(e.slice(s+4,s+4+a),t,r);e.set(i,s+4)}s=s+4+a}return e}function pn(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.byteLength})),i}class mn{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const n=()=>{fr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(n),n}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class _n{static init(){_n.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in _n.types)_n.types.hasOwnProperty(e)&&(_n.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=_n.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),n=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return _n.box(_n.types.trak,_n.tkhd(e),_n.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,n=e.presentHeight;return _n.box(_n.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,n>>>8&255,255&n,0,0]))}static mdia(e){return _n.box(_n.types.mdia,_n.mdhd(e),_n.hdlr(e),_n.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return _n.box(_n.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?_n.constants.HDLR_AUDIO:_n.constants.HDLR_VIDEO,_n.box(_n.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?_n.box(_n.types.smhd,_n.constants.SMHD):_n.box(_n.types.vmhd,_n.constants.VMHD),_n.box(_n.types.minf,t,_n.dinf(),_n.stbl(e))}static dinf(){return _n.box(_n.types.dinf,_n.box(_n.types.dref,_n.constants.DREF))}static stbl(e){return _n.box(_n.types.stbl,_n.stsd(e),_n.box(_n.types.stts,_n.constants.STTS),_n.box(_n.types.stsc,_n.constants.STSC),_n.box(_n.types.stsz,_n.constants.STSZ),_n.box(_n.types.stco,_n.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.mp3(e)):_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.mp4a(e)):"avc"===e.videoType?_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.avc1(e)):_n.box(_n.types.stsd,_n.constants.STSD_PREFIX,_n.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return _n.box(_n.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return _n.box(_n.types.mp4a,i,_n.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return _n.box(_n.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _n.box(_n.types.avc1,n,_n.box(_n.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _n.box(_n.types.hvc1,n,_n.box(_n.types.hvcC,t))}static mvex(e){return _n.box(_n.types.mvex,_n.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return _n.box(_n.types.trex,r)}static moof(e,t){return _n.box(_n.types.moof,_n.mfhd(e.sequenceNumber),_n.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return _n.box(_n.types.mfhd,t)}static traf(e,t){let r=e.id,i=_n.box(_n.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),n=_n.box(_n.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=_n.sdtp(e),a=_n.trun(e,s.byteLength+16+16+8+16+8+8);return _n.box(_n.types.traf,i,n,a,s)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,_n.box(_n.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,n=e.size,s=e.flags,a=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),_n.box(_n.types.trun,r)}static mdat(e){return _n.box(_n.types.mdat,e)}}_n.init();var gn,yn=Vt((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(gn=yn)&&gn.__esModule&&Object.prototype.hasOwnProperty.call(gn,"default")&&gn.default;const vn=[44100,48e3,32e3,0],bn=[22050,24e3,16e3,0],wn=[11025,12e3,8e3,0],Sn=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],En=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],An=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Un(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,n=(6&t[1])>>1,s=(240&t[2])>>>4,a=(12&t[2])>>>2,o=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=wn[a];break;case 2:d=bn[a];break;case 3:d=vn[a]}switch(n){case 1:s=e[n]&&t=6?(i=5,t=new Array(4),a=n-3):(i=2,t=new Array(2),a=n):-1!==o.indexOf("android")?(i=2,t=new Array(2),a=n):(i=5,a=n,t=new Array(4),n>=6?a=n-3:1===s&&(i=2,t=new Array(2),a=n)),t[0]=i<<3,t[0]|=(15&n)>>>1,t[1]=(15&n)<<7,t[1]|=(15&s)<<3,5===i&&(t[1]|=(15&a)>>>1,t[2]=(1&a)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=$n[n],this.sampling_index=n,this.channel_count=s,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Hn{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,s=8-i;if(s>=e)return r&&(this.index+=e),n>>s-e;{r&&(this.index+=s);const i=e-s;return n<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function Vn(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const Wn=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),jn=new Array(2746333894,1453994832,1736282519,2993693404),qn=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Yn(e,t,r,i,n){var s=n;s=t+n>e.length&&i+n<=r.length?e.length-t:i+n>r.length&&t+n<=e.length?r.length-i:t+n<=e.length&&i+n<=r.length?n:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Xn(e,t){return t+3>>19)^(i<<23|i>>>9)}function Qn(e,t){var r=new Array(36);r[0]=Xn(t,0),r[1]=Xn(t,4),r[2]=Xn(t,8),r[3]=Xn(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^es(r[i+1]^r[i+2]^r[i+3]^e[i]);var n=new Array(4);for(i=35;i>=32;i--)n[35-i]=r[i];var s=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function ts(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Zn(e),n=Math.ceil(r.length/16),s=new Array(r.length),a=t.slice(),o=0;o3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let a=5;for(;as)break;let d=e[a+4],l=!1,c=2;if(i?(n&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=ts(t,r,e.slice(a+4+c,a+4+o));e.set(i,a+4+c)}a=a+4+o}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]');const is=[];is.push(a({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn("JbPro[❌❌❌][audio wasm]:",e)}}),s({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support, using thread emulation"))})(e)||console.warn("JbPro[❌❌❌][video wasm]:",e)}})),Promise.all(is).then((e=>{const t=e[0];!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=[],s=[],a=null,o=null,d=null,l=null,c=null,u=null,h=!1,f=null,E=null,A=!1,T=!1,Ee=!!wr(r),Ae=0,Ye=0,et=!1,tt=null,it=null,st=null,ft=[],Bt=null,xt=null,Ct=0,Gt=0,Ht=null,Vt=null,Wt=0,jt=0,qt=!1,Jt=!1,rr=!1,lr=null,Ur=null,Br=!1,xr=!0,Tr=0,Pr=0,Wr=()=>{const e=vr();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(a={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){a.decoder=new VideoDecoder({output:function(e){if(fr(e.createImageBitmap))e.createImageBitmap().then((t=>{a.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:r,delay:ui.delay,ts:0},[r]),_r(e)}));else{a.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=a.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:t,delay:ui.delay,ts:0},[t]),_r(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(a.TAG_NAME,"init")},destroy(){a.reset(),a.decoder&&"closed"!==a.decoder.state&&(a.decoder.close(),a.decoder=null),ui.debugLog(a.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(a.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?_t:gt});a.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:R,code:t});const r=new Uint8Array(e);postMessage({cmd:z,buffer:r,codecId:t},[r.buffer]);let i=null,n=null;const s=e.slice(5);t===Re?(n=Lr(s),i={codec:n.codec,description:s}):t===ze&&(n=Kr(s),i={codec:n.codec,description:s}),n&&n.codecWidth&&n.codecHeight&&(i.codedHeight=n.codecHeight,i.codedWidth=n.codecWidth),a.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:C,w:n.codecWidth,h:n.codecHeight}),a.isEmitInfo=!0,a.offscreenCanvas=new OffscreenCanvas(n.codecWidth,n.codecHeight),a.offscreenCanvasCtx=a.offscreenCanvas.getContext("2d"));try{a.decoder.configure(i),a.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){a.hasInit=!1,a.isEmitInfo=!1,a.offscreenCanvas=null,a.offscreenCanvasCtx=null}});let jr=function(){if(Br=!0,o)try{o.abort(),o=null,ui.debugLog("worker","abort success")}catch(e){o=null,ui.debugLog("worker","abort catch",e)}},Xr={TAG_NAME:"worker nakedFlow",init(){Xr.lastBuf=null,Xr.vps=null,Xr.sps=null,Xr.pps=null,Xr.streamType=null,Xr.localDts=0,Xr.pendingUnits={},Xr.isSendSeqHeader=!1,ui.debugLog(Xr.TAG_NAME,"init")},destroy(){Xr.lastBuf=null,Xr.vps=null,Xr.sps=null,Xr.pps=null,Xr.streamType=null,Xr.localDts=0,Xr.pendingUnits={},Xr.isSendSeqHeader=!1,ui.debugLog(Xr.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=Xr.extractNALu$3(t);if(0===e.length)return void ui.debugLog(Xr.TAG_NAME,"dispatch naluArray length is 0");Xr.handleVideoFrames(e)}else Xr.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=Xr.localDts;return Xr.localDts=Xr.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return Xr.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,n=e.byteLength,s=0,a=[];for(;i1)for(let e=0;e{const t=zr(e);t===qe||t===je?Xr.handleVideoH264Nalu(e):$r(t)&&i.push(e)})),1===i.length)Xr.handleVideoH264Nalu(i[0]);else if(Gr(i)){const e=zr(i[0]),t=Or(e);Xr.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{Xr.handleVideoH264Nalu(e)}))}else if(Xr.streamType===Oe)if(ui._opt.nakedFlowH265DemuxUseNew){const t=Xr.handleAddNaluStartCode(e),r=Xr.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=ei(e);t===ut||t===lt||t===ot?Xr.handleVideoH265Nalu(e):ri(t)&&i.push(e)})),1===i.length)Xr.handleVideoH265Nalu(i[0]);else if(ni(i)){const e=ei(i[0]),t=ii(e);Xr.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{Xr.handleVideoH265Nalu(e)}))}else ei(e)===ut?Xr.extractH265PPS(e):Xr.handleVideoH265Nalu(e)},extractH264PPS(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{Nr(zr(e))?Xr.extractH264SEI(e):Xr.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{ti(ei(e))?Xr.extractH265SEI(e):Xr.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{Xr.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=Xr.handleAddNaluStartCode(e);Xr.extractNALu(t).forEach((e=>{Xr.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=zr(e);switch(t){case je:Xr.sps=e;break;case qe:Xr.pps=e}if(Xr.isSendSeqHeader){if(Xr.sps&&Xr.pps){const e=Fr({sps:Xr.sps,pps:Xr.pps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}if($r(t)){const r=Or(t),i=Xr.getNaluDts(),n=Mr(e,r);Xr.doDecode(n,{type:de,ts:i,isIFrame:r,cts:0})}}else if(Xr.sps&&Xr.pps){Xr.isSendSeqHeader=!0;const e=Fr({sps:Xr.sps,pps:Xr.pps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}},handleVideoH264NaluList(e,t,r){if(Xr.isSendSeqHeader){const i=Xr.getNaluDts(),n=Rr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Xr.doDecode(n,{type:de,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=ei(e);switch(t){case ot:Xr.vps=e;break;case lt:Xr.sps=e;break;case ut:Xr.pps=e}if(Xr.isSendSeqHeader){if(Xr.vps&&Xr.sps&&Xr.pps){const e=Zr({vps:Xr.vps,sps:Xr.sps,pps:Xr.pps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.vps=null,Xr.sps=null,Xr.pps=null}if(ri(t)){const r=ii(t),i=Xr.getNaluDts(),n=Jr(e,r);Xr.doDecode(n,{type:de,ts:i,isIFrame:r,cts:0})}}else if(Xr.vps&&Xr.sps&&Xr.pps){Xr.isSendSeqHeader=!0;const e=Zr({vps:Xr.vps,sps:Xr.sps,pps:Xr.pps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.vps=null,Xr.sps=null,Xr.pps=null}},handleVideoH265NaluList(e,t,r){if(Xr.isSendSeqHeader){const i=Xr.getNaluDts(),n=Qr(e.reduce(((e,t)=>{const r=sr(e),i=sr(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);Xr.doDecode(n,{type:de,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!Xr.streamVideoType)for(let t of e)if(Xr.streamVideoType=pr(t),Xr.streamVideoType)break;Xr.streamVideoType?Xr.streamVideoType===$e?Xr.handleVideoH264Frames(e):Xr.streamVideoType===Oe&&Xr.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,n=!1;Xr.pendingUnits.units&&(t=Xr.pendingUnits.units,n=Xr.pendingUnits.vcl,i=Xr.pendingUnits.iFrame,Xr.pendingUnits={});let s={};for(let a of e){if(a.byteLength<4)continue;const e=zr(a);let o=!1,d=e===Xe;e!==Ke&&e!==Xe||(s=Xr.parseVideo264Header(a),o=!0),t.length&&n&&(s.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(a),i=i||d,n=n||o}t.length&&(Xr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case qe:Xr.pps=e;break;case je:Xr.sps=e;break;case Ze:n=e}if($r(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!Xr.isSendSeqHeader&&Xr.sps&&Xr.pps){Xr.isSendSeqHeader=!0;const e=Ir({sps:Xr.sps,pps:Xr.pps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}if(Xr.isSendSeqHeader){if(Xr.sps&&Xr.pps){const e=Ir({sps:Xr.sps,pps:Xr.pps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null}if(i){const e=Xr.getNaluDts(),t=Rr(i,r);if(ui._opt.isEmitSEI&&n){const t=nr(n,!1);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}Xr.doDecode(t,{type:de,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,n=!1;Xr.pendingUnits.units&&(t=Xr.pendingUnits.units,n=Xr.pendingUnits.vcl,i=Xr.pendingUnits.iFrame,Xr.pendingUnits={});let s={};for(let a of e){if(a.byteLength<4)continue;const e=ei(a);let o=!1,d=ii(e);ri(e)&&(s=Xr.parseVideo265Header(a),o=!0),t.length&&n&&(s.isfms||!o)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(a),i=i||d,n=n||o}t.length&&(Xr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ut:Xr.pps=e;break;case lt:Xr.sps=e;break;case ot:Xr.vps=e;break;case mt:case pt:n=e}if(ri(t)){const t=sr(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!Xr.isSendSeqHeader&&Xr.sps&&Xr.pps&&Xr.vps){Xr.isSendSeqHeader=!0;const e=Zr({sps:Xr.sps,pps:Xr.pps,vps:Xr.vps});ui.decode(e,{type:de,ts:0,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null,Xr.vps=null}if(Xr.isSendSeqHeader){if(Xr.sps&&Xr.pps&&Xr.vps){const e=Zr({sps:Xr.sps,pps:Xr.pps,vps:Xr.vps}),t=Xr.localDts;ui.decode(e,{type:de,ts:t,isIFrame:!0,cts:0}),Xr.sps=null,Xr.pps=null,Xr.vps=null}if(i){const e=Xr.getNaluDts(),t=Qr(i,r);if(ui._opt.isEmitSEI&&n){const t=nr(n,!0);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}Xr.doDecode(t,{type:de,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{Xr.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Hn(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Hn(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},oi={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){oi.mp4Box=Vi.createFile(),oi.mp4Box.onReady=oi.onReady,oi.mp4Box.onError=oi.onError,oi.mp4Box.onSamples=oi.onSamples,ui.debugLog(oi.LOG_NAME,"init")},destroy(){oi.mp4Box&&(oi.mp4Box.stop(),oi.mp4Box.flush(),oi.mp4Box.destroy(),oi.mp4Box=null),oi.offset=0,oi.videoTrackId=null,oi.audioTrackId=null,oi.isHevc=!1,ui.debugLog(oi.LOG_NAME,"destroy")},_getSeqHeader(e){const t=oi.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Vi.DataStream(void 0,0,Vi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(oi.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),n=new Uint8Array(r.length+i.length);return n.set(r,0),n.set(i,r.length),n}return null},onReady(e){ui.debugLog(oi.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){oi.videoTrackId=t.id;const e=oi._getSeqHeader(t);e&&(ui.debugLog(oi.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),oi.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){oi.audioTrackId=r.id;const e=r.audio||{},t=Yt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");oi.mp4Box.setExtractionOptions(r.id);const n=Kt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(oi.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(n,0)}oi.mp4Box.start()},onError(e){ui.debugError(oi.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===oi.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let n=null;n=oi.isHevc?Qr(t,r):Rr(t,r),ui.decode(n,{type:de,ts:i,isIFrame:r,cts:0})}oi.mp4Box.removeUsedSamples(e)}else if(e===oi.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:oe,ts:r,isIFrame:!1,cts:0})}oi.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(oi.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=oi.offset,oi.offset+=t.byteLength,oi.mp4Box.appendBuffer(t.buffer)}},di={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);di.extractNALu(t)},destroy(){di.lastBuffer=new Uint8Array(0),di.parsedOffset=0,di.firstStartCodeOffset=0,di.secondStartCodeOffset=0,di.state="init",di.hasInitVideoCodec=!1,di.localDts=0,ui.debugLog(di.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(di.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(di.lastBuffer.length+e.length);for(t.set(di.lastBuffer,0),t.set(new Uint8Array(e),di.lastBuffer.length),di.lastBuffer=t;;){if("init"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findFirstStartCode",di.firstStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findSecondStartCode",di.secondStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===di.state){if(!(di.lastBuffer.length-di.parsedOffset>0))break;{let e,t,r=192&di.lastBuffer[di.parsedOffset];e=0==r?di.secondStartCodeOffset-14:di.secondStartCodeOffset;let i=0==(192&di.lastBuffer[di.firstStartCodeOffset+4]);if(i){if(di.firstStartCodeOffset-14<0)return void ui.debugWarn(di.LOG_NAME,"firstStartCodeOffset -14 is",di.firstStartCodeOffset-14);di.hasInitVideoCodec||(di.hasInitVideoCodec=!0,ui.debugLog(di.LOG_NAME,"setCodec"),fi.setCodec(Ne,"",ui.getBuildTime())),t=di.lastBuffer.subarray(di.firstStartCodeOffset-14,e)}else t=di.lastBuffer.subarray(di.firstStartCodeOffset,e);let n=di.getNaluDts();di.hasInitVideoCodec?(postMessage({cmd:G,type:Te,value:t.byteLength}),postMessage({cmd:G,type:ke,value:n}),Ae=n,fi.decode(t,i?1:0,n)):ui.debugWarn(di.LOG_NAME,"has not init video codec"),di.lastBuffer=di.lastBuffer.subarray(e),di.firstStartCodeOffset=0==r?14:0,di.parsedOffset=di.firstStartCodeOffset+4,di.state="findFirstStartCode"}}}},getNaluDts(){let e=di.localDts;return di.localDts=di.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new On,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let n=0;n=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=pn(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let s=(31&r[1])<<8|r[2],a=(48&r[3])>>>4,o=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==s),l={},c=4;if(2==a||3==a){let e=r[4];if(e>0&&(d||3==a)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==a||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==a||3==a)if(0===s||s===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[s]===Fn){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:s,payload_unit_start_indicator:n,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[s]){let r=188-c,i=li.pmt_.pid_stream_type[s];s!==li.pmt_.common_pids.h264&&s!==li.pmt_.common_pids.h265&&s!==li.pmt_.common_pids.adts_aac&&s!==li.pmt_.common_pids.loas_aac&&s!==li.pmt_.common_pids.ac3&&s!==li.pmt_.common_pids.eac3&&s!==li.pmt_.common_pids.opus&&s!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[s]&&!0!==li.pmt_.timed_id3_pids[s]&&!0!==li.pmt_.synchronous_klv_pids[s]&&!0!==li.pmt_.asynchronous_klv_pids[s]||li.handlePESSlice(e,t+c,r,{pid:s,stream_type:i,payload_unit_start_indicator:n,continuity_conunter:o,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let a=n[0];if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t+1,Math.min(r,a));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):li.clearSlices(s,i)}for(let o=1+a;o=s.expected_length&&li.clearSlices(s,i),o+=d.byteLength}}else if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t,Math.min(r,s.expected_length-s.total_length));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):s.total_length>=s.expected_length&&li.clearSlices(s,i)}},handlePESSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=n[0]<<16|n[1]<<8|n[2];n[3];let a=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==s)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${s}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new Rn,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let o=li.pes_slice_queues_[i.pid];o.slices.push(n),i.payload_unit_start_indicator&&(o.expected_length=0===a?0:a+6),o.total_length+=n.byteLength,o.expected_length>0&&o.expected_length===o.total_length?li.emitPESSlices(o,i):o.expected_length>0&&o.expected_length>>6,o=t[8];2!==a&&3!==a||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,s=3===a?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+o;if(0!==n){if(n<3+o)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=n-3-o}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case Bn:case xn:li.parseMP3Payload(c,r);break;case Tn:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,s,e.pid,i):li.parsePESPrivateDataPayload(c,r,s,e.pid,i));break;case kn:li.parseADTSAACPayload(c,r);break;case Cn:li.parseLOASAACPayload(c,r);break;case Dn:case Pn:break;case Ln:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,s,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,s,e.pid,i);break;case In:li.parseH264Payload(c,r,s,e.random_access_indicator);break;case Mn:li.parseH265Payload(c,r,s,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Tn){let r,s=6;r=0!==n?n:t.byteLength-s;let a=t.subarray(s,s+r);li.parsePESPrivateDataPayload(a,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,n=1&e[5],s=e[6];e[7];let a=null;if(1===n&&0===s)a={version_number:0,network_pid:0,program_pmt_pid:{}},a.version_number=i;else if(a=li.pat_,null==a)return;let o=r-5-4,d=-1,l=-1;for(let t=8;t<8+o;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?a.network_pid=i:(a.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===n&&0===s&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(a)}`),li.pat_=a,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],s=(62&e[5])>>>1,a=1&e[5],o=e[6];if(e[7],1===a&&0===o)r=li._initPmt(),r.program_number=n,r.version_number=s,li.program_pmt_map_[n]=r;else if(r=li.program_pmt_map_[n],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Zr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Ir({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let n=li.media_info_;n.hasVideo=!0,n.width=t.codecWidth,n.height=t.codecHeight,n.fps=t.frameRate.fps,n.profile=t.profile,n.level=t.level,n.refFrames=e.ref_frames,n.chromaFormat=e.chroma_format_string,n.sarNum=t.sarRatio.width,n.sarDen=t.sarRatio.height,n.videoCodec=t.codec,n.hasAudio&&n.audioCodec?n.mimeType=`video/mp2t; codecs="${n.videoCodec},${n.audioCodec}"`:n.mimeType=`video/mp2t; codecs="${n.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new er(e),a=null,o=i;for(;null!=(a=s.readNextAACFrame());){r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:oe};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,o+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new tr(e),a=null,o=i;for(;null!=(a=s.readNextAACFrame(ur(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=a,r=1024/a.sampling_frequency*1e3;const e={codec:"aac",data:a};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a.sampling_freq_index,sampling_frequency:a.sampling_frequency,channel_config:a.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=o;let t=Math.floor(o);const i=new Uint8Array(a.data.length+2);i.set([175,1],0),i.set(a.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:oe};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,o+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],s=e[1]>>>3&3,a=(6&e[1])>>1;e[2];let o=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(s){case 0:l=n[o];break;case 2:l=i[o];break;case 3:l=r[o]}switch(a){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(h)):li.detectAudioMetadataChange(h)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:oe};li.audio_track_.samples.push(f),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Gn(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const n=Kt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(n,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,n){let s=new Nn;if(s.pid=i,s.stream_id=n,s.len=e.byteLength,s.data=e,null!=t){let e=Math.floor(t/li.timescale_);s.pts=e}else s.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);s.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===de?li._doDecodeVideo({...e,payload:t}):e.type===oe&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?Qr(t,e.isIFrame):Rr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:de,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;wr(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:oe,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Er()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new mn,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!Sr(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===wt,isStateClosed:()=>ci.getState()===St,isStateEnded:()=>ci.getState()===bt,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,At,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,Et,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,Ut,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(Sr(ci.hasInit))if(r&&e[1]===kt){const i=15&e[0];if(i===ze&&Sr(ui._opt.supportMSEDecodeHevc))return void ci.emitError(Ie.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:R,code:i});const n=new Uint8Array(e);postMessage({cmd:z,buffer:n,codecId:i},[n.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===Re?r=Lr(e.slice(5)):t===ze&&(r=Yr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(Ie.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(br(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&eU,_decodeConfigurationRecord(e,t,r,i){let n=e.slice(5),s={};if(i===Re?s=Lr(n):i===ze&&(s=Kr(n)),ci.videoInfo.width=s.codecWidth,ci.videoInfo.height=s.codecHeight,0===s.codecWidth&&0===s.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(s)),ci.emitError(Ie.mediaSourceDecoderConfigurationError,`width is ${0===s.codecWidth} and height is ${s.codecHeight}`),!1;const a={id:It,type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},o=_n.generateInitSegment(a);ci.isAvc=i===Re;let d=s.codec;return ci.videoMimeType=d?`video/mp4; codecs="${s.codec}"`:ci.isAvc?yt:vt,postMessage({cmd:C,w:s.codecWidth,h:s.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(o.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,n=r===We,s=r===Ge;if(Sr(s||n))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(Ie.mediaSourceAudioG711NotSupport),!1;const a={id:Mt,type:"audio",timescale:1e3};let o={};if(Xt(e)){if(o=Qt(e.slice(2)),!o)return!1;a.audioSampleRate=o.sampleRate,a.channelCount=o.channelCount,a.config=o.config,a.refSampleDuration=1024/a.audioSampleRate*a.timescale}else{if(!n)return!1;if(o=Un(e),!o)return!1;a.audioSampleRate=o.samplingRate,a.channelCount=o.channelCount,a.refSampleDuration=1152/a.audioSampleRate*a.timescale}a.codec=o.codec,a.duration=0;let d="mp4",l=o.codec,c=null;n&&Sr(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=_n.generateInitSegment(a);let u=`${a.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),Sr(ci.isAudioInitInfo)&&(Ur=r===Ge?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:L,sampleRate:a.audioSampleRate,channels:a.channelCount,depth:Ur}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=s,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Ie.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(Ie.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(Ie.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,n){let s=e.slice(5),a=s.byteLength;if(0===a)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let o=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=o,d=!0);const l=o-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${o} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(_n.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=_n.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendBuffer(n.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${n} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=It,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=a,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=s,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),n=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(_n.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=_n.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendAudioBuffer(n.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Mt,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=n,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Sr(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&Sr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Sr(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&Sr(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(Ie.mediaSourceAudioInitTimeout)}),1e3)));if(Sr(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(Sr(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Ie.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Ie.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Ie.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:n,end:t})}}else s=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:n,end:t})}}else sci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&Sr(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&Sr(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&Sr(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&Sr(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(Sr(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:ae,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Pt,_opt:Wr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:et,wasmDecodeDelay:Ae-Ye});postMessage({cmd:G,type:De,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===oe)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(et=!1,ui.delay=t-r):(et=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!Ee)return-1;if(t===oe)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(et=!1,t=r-i):(et=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===de&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===oe?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===de&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===de&&a.decode?a.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===n.length)return;const t=e.ts,i=n[0],s=e.type===de&&br(e.payload);if(Sr(r))s&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i));else{const r=i.ts-t,a=i.type===oe&&e.type===de;(r<=20||a||s)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${a} and isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===v,t=ui._opt.playType===b,s=ui._opt.playType===w;if(Xr.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=s,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),a&&ui._opt.useWCS&&ui.useOffscreen()&&a.init(),Sr(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(n.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${n.length}`);if(ui.dropping){for(r=n.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${n.length}`);!r.isIFrame&&n.length;)r=n.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;n.length;)r=n.shift(),ui.doDecode(r);else if(r=n[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),n.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:V})):(n.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;n.length;){if(r=n[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${n.length}`);break}n.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();tt||(tt=e);const r=e-tt;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),tt=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Sr(ui._opt.checkFirstIFrame)&&(Ee=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:ne,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;n.length&&(e=n.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,jr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(Br=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&Sr(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,tt=null,et=!1,Ae=0,Ye=0,a&&(a.destroy&&a.destroy(),a=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Wr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),n=[],s=[],u&&(u.close(),u=null),f=null,E=null,A=!1,T=!1,Ee=!1,qt=!1,Jt=!1,rr=!1,lr=null,ft=[],Ct=0,Gt=0,it=null,st=null,Ht=null,Vt=null,Ur=null,Wt=0,jt=0,Bt=null,xt=null,ui.fetchStatus=Pt,xr=!0,Xr.destroy(),oi.destroy(),di.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:X})},pushBuffer:function(e,t){if(t.type===oe&&Xt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ee,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===de&&t.isIFrame&&br(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:te,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:re,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===S)if(t.type===de){const r=new Uint8Array(e).slice(5);postMessage({cmd:N,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===oe&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Zt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===de){if(Wt>0){const e=t.ts-Vt,r=Wt+Wt/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Vt},\n diff is ${e} and preTsDuration is ${Wt} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Vt&&Vt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Vt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Vt-t.ts>U&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Vt}, options.ts is ${t.ts},\n diff is ${Vt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Vt=null,Wt=0),ui._opt.isDropSameTimestampGop&&Sr(t.isIFrame)&&Ee)){const e=ui.hasIframeInBufferList(),t=Sr(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),wr(ui._opt.checkFirstIFrame)&&wr(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:ie}))))}Vt>0&&(Wt=t.ts-Vt),jt=e.byteLength,Vt=t.ts}if(Ee){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${n.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;n.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${n.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:j,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return n.forEach((t=>{t.type===de&&(e+=1)})),e},hasIframeInBufferList:()=>n.some((e=>e.type===de&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return n.forEach((e=>{e.type===de&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return n.forEach((t=>{t.type===oe&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?Xr.lastBuf&&(e=Xr.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&oi.mp4Box&&(e=oi.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=cr((e=>{postMessage({cmd:G,type:Be,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&oi.listenMp4Box(),t.protocol===_){t.isFlv&&(u=new kr(ui.demuxFlv())),o=new AbortController;const r=Object.assign({signal:o.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(wr(Br))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Pt,void e.body.cancel();if(!yr(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),jr(),void postMessage({cmd:G,type:Ie.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:Ce}),mr())ui.writableStream=new WritableStream({write:e=>o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):wr(Br)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=Ft,void jr()):void("string"!=typeof e?(ui.fetchStatus=Lt,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=Ft,jr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Pe})},abort:e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:n}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=Ft,jr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Pe}))):o&&o.signal&&o.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft)):wr(Br)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=Ft,void jr()):void("string"!=typeof n?(ui.fetchStatus=Lt,l(n.byteLength),t.isFlv?u.write(n):t.isFmp4?ui.demuxFmp4(n):t.isMpeg4?ui.demuxMpeg4(n):t.isTs?ui.demuxTs(n):t.isNakedFlow&&ui.demuxNakedFlow(n),i()):ui.debugWarn("worker",`fetchNext().then() and value "${n}" is string so return`))})).catch((e=>{if(o&&o.signal&&o.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=Ft);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{o&&o.signal&&o.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==Tt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Ie.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===m&&(t.isFlv&&(u=new kr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:Ce}),postMessage({cmd:G,type:Fe})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):h?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),wr(Br)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:y,msg:e.code})):postMessage({cmd:G,type:Pe}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),h=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):wr(Br)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:G,type:Ie.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const n=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let s=r[0];const a=(yield n).slice();switch(i){case le:if(a.byteLength>0){let e=a;wr(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(a)),ui.decode(e,{type:oe,ts:s})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${a.byteLength} and return`);break;case ce:if(a.byteLength>=6){const e=a[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(a,s);else{const e=15&a[0];let t=a[0]>>4===Dt;const i=e===ze;if(Sr(t)&&wr(Ar(a,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&br(a)&&null===ui.isHevc){const e=15&a[0];ui.isHevc=e===ze,lr=ar(a,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${lr}`)}t&&ui.calcIframeIntervalTimestamp(s),ui.isPlayer&&ui.calcNetworkDelay(s),r[0]=a[4],r[1]=a[3],r[2]=a[2],r[3]=0;let n=r[0],o=ui.cryptoPayload(a,t);ui.decode(o,{type:de,ts:s,isIFrame:t,cts:n})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${a.byteLength} and return`);break;case ue:postMessage({cmd:Q,buffer:a},[a.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===oe?ui._opt.hasAudio&&(postMessage({cmd:G,type:xe,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===de&&ui._opt.hasVideo&&(postMessage({cmd:G,type:Te,value:e.byteLength}),postMessage({cmd:G,type:ke,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Gi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?rs(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):dn(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=fn(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===Ge&&(t=Hi(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,n=e[0]>>1&1;if(Ur=r===Ge?n?16:8:0===n?8:16,hi&&hi.setCodec||!Sr(i))if(Xt(e)||r===He||r===Ve||r===We){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const n=r===Ge?e.slice(2):new Uint8Array(0);if(i){if(r===We)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");hi.sample_rate=ui._opt.sampleRate,hi.decode(e,t)}else hi.setCodec(r,ui._opt.sampleRate,n,ui.getBuildTime());r===Ge&&postMessage({cmd:M,buffer:n},[n.buffer]),T=!0,r!==Ge&&(r===We?(ui.mp3Demuxer||(ui.mp3Demuxer=new cn(ui),ui.mp3Demuxer.on("data",((e,t)=>{hi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):hi.decode(e.slice(1),t));const s=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:W})}),60*s*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(wr(r)&&wr(ui._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(T){if(Xt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?hi.decode(e,t):r===We?ui.mp3Demuxer.dispatch(e.slice(1),t):hi.decode(r===Ge?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(fi&&fi.setCodec||!Sr(i))if(br(e))if(r===Re||r===ze){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===Re&&ui._opt.useSIMD){const e=Lr(t);if(e.codecWidth>B||e.codecHeight>B)return postMessage({cmd:K,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const n=new Uint8Array(e);A=!0,i?fi.decode(e,0):fi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:R,code:r}),postMessage({cmd:z,buffer:n,codecId:r},[n.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,n){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,n,s);else if(wr(r))postMessage({cmd:$,payload:e,isIFrame:n,ts:t,cts:s,delay:ui.delay},[e.buffer]);else if(A)if(!Ee&&n&&(Ee=!0),Ee){if(n&&br(e)){const t=15&e[0];let r={};t===Re?r=Lr(e.slice(5)):t===ze&&(r=Yr(e)),r.codecWidth&&r.codecHeight&&f&&E&&(r.codecWidth!==f||r.codecHeight!==E)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${f}, old height is ${E},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),Jt=!0,postMessage({cmd:q,value:`width: ${f}->${r.codecWidth}, height: ${E}->${r.codecHeight}`}))}if(Jt)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(rr)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(br(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${n.length}, need clear is ${e}`),e&&(n=[]),ui.isPlayer&&(ui.resetAllDelay(),wr(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:V}))),wr(ui._opt.checkFirstIFrame)&&Sr(r)&&(Ee=!1)},dropBuffer$2:function(){if(n.length>0){let e=n.findIndex((e=>wr(e.isIFrame)&&e.type===de));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:V});const t=n.length;n=n.slice(e);const r=n.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${n.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===n.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),n=new ArrayBuffer(4),s=new Uint32Array(n);switch(i){case oe:ui.decode(new Uint8Array(e,5),{type:oe,ts:r});break;case de:if(t.byteLength>=11){const i=new Uint8Array(e,5),n=i[0];if(ui._isEnhancedH265Header(n))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),br(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===ze}ui.isPlayer&&ui.calcNetworkDelay(r),s[0]=i[4],s[1]=i[3],s[2]=i[2],s[3]=0;let n=s[0],a=ui.cryptoPayload(i,e);ui.decode(a,{type:de,ts:r,isIFrame:e,cts:n})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){Xr.dispatch(e)},demuxFmp4:function(e){oi.dispatch(e)},demuxMpeg4:function(e){di.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,n=15&r,s=e.slice(1,5),a=new ArrayBuffer(4),o=new Uint32Array(a),d="a"==String.fromCharCode(s[0]);if(ui.isHevc=Sr(d),n===zt){if(i===Ot){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),lr=ar(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${lr}`),ui.decode(i,{type:de,ts:t,isIFrame:!0,cts:0})}}}else if(n===Nt){let r=e,n=0;const s=i===Ot;s&&ui.calcIframeIntervalTimestamp(t),d||(o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0,n=o[0],r=Qr(e.slice(8),s),r=ui.cryptoPayload(r,s),ui.decode(r,{type:de,ts:t,isIFrame:s,cts:n}))}else if(n===$t){const r=i===Ot;r&&ui.calcIframeIntervalTimestamp(t);let n=Qr(e.slice(5),r);n=ui.cryptoPayload(n,r),ui.decode(n,{type:de,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&Rt)===Rt},findSei:function(e,t){let r=4;hr(lr)&&(r=lr),ir(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===mt||r===pt),n=Sr(ui.isHevc)&&r===Ze;if(i||n){const r=nr(e,ui.isHevc);postMessage({cmd:J,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(Ee&&e>0))return;null===it?(it=e,st=or()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===v&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${it} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Le,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ht?Ht=e:Ht=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&wr(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){Sr(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),qt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),qt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:R,code:e}),postMessage({cmd:C,w:t,h:r}),f=t,E=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:L,sampleRate:t,channels:r,depth:Ur}),Gt=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=f*E*3/2;let n=e.HEAPU8.subarray(t,t+i),s=new Uint8Array(n);if(Bt=null,Ye=r,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,s);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:s,delay:ui.delay,ts:r},[s.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+n)}if(Ct){if(!(n>=(r=d-Ct)))return Ct+=n,s[0]=Float32Array.of(...s[0],...a[0]),void(2==Gt&&(s[1]=Float32Array.of(...s[1],...a[1])));ft[0]=Float32Array.of(...s[0],...a[0].subarray(0,r)),2==Gt&&(ft[1]=Float32Array.of(...s[1],...a[1].subarray(0,r))),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer))),o=r,n-=r}for(Ct=n;Ct>=d;Ct-=d)ft[0]=a[0].slice(o,o+=d),2==Gt&&(ft[1]=a[1].slice(o-d,o)),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer)));Ct&&(s[0]=a[0].slice(o),2==Gt&&(s[1]=a[1].slice(o))),a=[]},errorInfo:function(e){null===Bt&&(Bt=or());const t=or(),r=dr(xt>0?2*xt:5e3,1e3,5e3),i=t-Bt;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${xt} and diff is ${i} and maxDiff is ${r}\n and replay`),rr=!0,postMessage({cmd:Y}))},sendWebsocketMessage:function(e){d?d.readyState===Me?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:W})},postStreamToMain(e,t){postMessage({cmd:Z,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),wr(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,f=e,E=t,postMessage({cmd:C,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){Gt=e,postMessage({cmd:L,sampleRate:t,channels:e,depth:Ur})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,a=[],o=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;a[r]=t.HEAPF32.subarray(i,i+n)}if(Ct){if(!(n>=(r=d-Ct)))return Ct+=n,s[0]=Float32Array.of(...s[0],...a[0]),void(2==Gt&&(s[1]=Float32Array.of(...s[1],...a[1])));ft[0]=Float32Array.of(...s[0],...a[0].subarray(0,r)),2==Gt&&(ft[1]=Float32Array.of(...s[1],...a[1].subarray(0,r))),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer))),o=r,n-=r}for(Ct=n;Ct>=d;Ct-=d)ft[0]=a[0].slice(o,o+=d),2==Gt&&(ft[1]=a[1].slice(o-d,o)),postMessage({cmd:P,buffer:ft,ts:i},ft.map((e=>e.buffer)));Ct&&(s[0]=a[0].slice(o),2==Gt&&(s[1]=a[1].slice(o))),a=[]},draw:function(t,r,i,n){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const s=e.HEAPU8.subarray(r,r+Tr),a=e.HEAPU8.subarray(i,i+Pr),o=e.HEAPU8.subarray(n,n+Pr),d=new Uint8Array(Tr+Pr+Pr);if(d.set(s),d.set(a,Tr),d.set(o,Tr+Pr),Bt=null,Ye=t,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let hi=null;t.AudioDecoder&&(hi=new t.AudioDecoder(ui));let fi=null;e.VideoDecoder&&(fi=new e.VideoDecoder(ui)),postMessage({cmd:k}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case he:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${he}`,t.opt);break;case fe:ui.pushBuffer(t.buffer,t.options);break;case pe:ui.decodeAudio(t.buffer,t.ts);break;case me:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case ye:ui.clearBuffer(t.needClear);break;case ve:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case _e:ui.debugLog("worker",`onmessage:${_e}`,JSON.stringify(t.options)),t.options&&Sr(t.options.isVideoInited)&&(xr=t.options.isVideoInited),ui.close();break;case ge:ui.debugLog("worker",`onmessage:${ge}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case be:ui.sendWebsocketMessage(t.message);break;case we:ci.$video.currentTime=Number(t.message);break;case Se:ui.updatePlaybackIsPause(t.isPause)}}}(e[1],t)}))})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,i;(i=e).ready=new Promise(((e,r)=>{t=e,n=r})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-simd.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_SIMD_WASM_URL&&""!=JESSIBUCA_PRO_SIMD_WASM_URL?JESSIBUCA_PRO_SIMD_WASM_URL:e};var s,a,o,c=Object.assign({},i),u="object"==typeof window,l="function"==typeof importScripts,d="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";function f(e){return i.locateFile?i.locateFile(e,h):h+e}if(d){const{createRequire:e}=await import("module");var p=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href),m=p("fs"),v=p("path");h=l?v.dirname(h)+"/":p("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href)),s=(e,t)=>(e=Y(e)?new URL(e):v.normalize(e),m.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Y(e)?new URL(e):v.normalize(e),m.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(u||l)&&(l?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),r&&(h=r),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},l&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var y,g,_=i.print||console.log.bind(console),b=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&i.thisProgram,i.quit&&i.quit,i.wasmBinary&&(y=i.wasmBinary),"object"!=typeof WebAssembly&&W("no native wasm support detected");var w,S,I,A,E,k,C,T,x=!1;function B(){var e=g.buffer;i.HEAP8=w=new Int8Array(e),i.HEAP16=I=new Int16Array(e),i.HEAPU8=S=new Uint8Array(e),i.HEAPU16=A=new Uint16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU32=k=new Uint32Array(e),i.HEAPF32=C=new Float32Array(e),i.HEAPF64=T=new Float64Array(e)}var D=[],M=[],P=[];function U(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)L(i.preRun.shift());ee(D)}function F(){ee(M)}function R(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)z(i.postRun.shift());ee(P)}function L(e){D.unshift(e)}function O(e){M.unshift(e)}function z(e){P.unshift(e)}var N=0,H=null;function V(e){N++,i.monitorRunDependencies&&i.monitorRunDependencies(N)}function j(e){if(N--,i.monitorRunDependencies&&i.monitorRunDependencies(N),0==N&&H){var t=H;H=null,t()}}function W(e){i.onAbort&&i.onAbort(e),b(e="Aborted("+e+")"),x=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var G,$="data:application/octet-stream;base64,",q=e=>e.startsWith($),Y=e=>e.startsWith("file://");function J(e){if(e==G&&y)return new Uint8Array(y);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function X(e){if(!y&&(u||l)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>J(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>J(e)))}function K(e,t,r){return X(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{b(`failed to asynchronously prepare wasm: ${e}`),W(e)}))}function Z(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||q(t)||Y(t)||d||"function"!=typeof fetch?K(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return b(`wasm streaming compile failed: ${e}`),b("falling back to ArrayBuffer instantiation"),K(t,r,n)}))))}function Q(){var e={a:Ar};function t(e,t){return Er=e.exports,g=Er.C,B(),rt=Er.G,O(Er.D),j(),Er}if(V(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){b(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return Z(y,G,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?q(G="decoder-pro-simd.wasm")||(G=f(G)):G=new URL("decoder-pro-simd.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href).href;var ee=e=>{for(;e.length>0;)e.shift()(i)};function te(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){k[this.ptr+4>>2]=e},this.get_type=function(){return k[this.ptr+4>>2]},this.set_destructor=function(e){k[this.ptr+8>>2]=e},this.get_destructor=function(){return k[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,w[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=w[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,w[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=w[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){k[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return k[this.ptr+16>>2]},this.get_exception_ptr=function(){if(xr(this.get_type()))return k[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var re,ne,ie,se=(e,t,r)=>{throw new te(e).init(t,r),e},ae=(e,t,r,n,i)=>{},oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);re=e},ce=e=>{for(var t="",r=e;S[r];)t+=re[S[r++]];return t},ue={},le={},de={},he=e=>{throw new ne(e)},fe=e=>{throw new ie(e)},pe=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&fe("Mismatched type converter count");for(var i=0;i{le.hasOwnProperty(e)?i[t]=le[e]:(s.push(e),ue.hasOwnProperty(e)||(ue[e]=[]),ue[e].push((()=>{i[t]=le[e],++a===s.length&&n(i)})))})),0===s.length&&n(i)};function me(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||he(`type "${n}" must have a positive integer typeid pointer`),le.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;he(`Cannot register type '${n}' twice`)}if(le[e]=t,delete de[e],ue.hasOwnProperty(e)){var i=ue[e];delete ue[e],i.forEach((e=>e()))}}function ve(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return me(e,t,r)}var ye,ge=8,_e=(e,t,r,n)=>{ve(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:ge,readValueFromPointer:function(e){return this.fromWireType(S[e])},destructorFunction:null})},be=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),we=e=>{he(e.$$.ptrType.registeredClass.name+" instance already deleted")},Se=!1,Ie=e=>{},Ae=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},Ee=e=>{e.count.value-=1,0===e.count.value&&Ae(e)},ke=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=ke(e,t,r.baseClass);return null===n?null:r.downcast(n)},Ce={},Te=()=>Object.keys(Ue).length,xe=()=>{var e=[];for(var t in Ue)Ue.hasOwnProperty(t)&&e.push(Ue[t]);return e},Be=[],De=()=>{for(;Be.length;){var e=Be.pop();e.$$.deleteScheduled=!1,e.delete()}},Me=e=>{ye=e,Be.length&&ye&&ye(De)},Pe=()=>{i.getInheritedInstanceCount=Te,i.getLiveInheritedInstances=xe,i.flushPendingDeletes=De,i.setDelayFunction=Me},Ue={},Fe=(e,t)=>{for(void 0===t&&he("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},Re=(e,t)=>(t=Fe(e,t),Ue[t]),Le=(e,t)=>(t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},ze(Object.create(e,{$$:{value:t}})));function Oe(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Re(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?Le(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Le(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=Ce[a];if(!o)return i.call(this);s=this.isConst?o.constPointerType:o.pointerType;var c=ke(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?Le(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):Le(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var ze=e=>"undefined"==typeof FinalizationRegistry?(ze=e=>e,e):(Se=new FinalizationRegistry((e=>{Ee(e.$$)})),ze=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Se.register(e,r,e)}return e},Ie=e=>Se.unregister(e),ze(e)),Ne=()=>{Object.assign(He.prototype,{isAliasOf(e){if(!(this instanceof He))return!1;if(!(e instanceof He))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||we(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=ze(Object.create(Object.getPrototypeOf(this),{$$:{value:be(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||we(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&he("Object already scheduled for deletion"),Ie(this),Ee(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||we(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&he("Object already scheduled for deletion"),Be.push(this),1===Be.length&&ye&&ye(De),this.$$.deleteScheduled=!0,this}})};function He(){}var Ve=(e,t)=>Object.defineProperty(t,"name",{value:e}),je=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||he(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},We=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&he(`Cannot register public name '${e}' twice`),je(i,e,e),i.hasOwnProperty(r)&&he(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},Ge=48,$e=57,qe=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=Ge&&t<=$e?`_${e}`:e};function Ye(e,t,r,n,i,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var Je=(e,t,r)=>{for(;t!==r;)t.upcast||he(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Xe(e,t){if(null===t)return this.isReference&&he(`null is not a valid ${this.name}`),0;t.$$||he(`Cannot pass "${Mt(t)}" as a ${this.name}`),t.$$.ptr||he(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Je(t.$$.ptr,r,this.registeredClass)}function Ke(e,t){var r;if(null===t)return this.isReference&&he(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||he(`Cannot pass "${Mt(t)}" as a ${this.name}`),t.$$.ptr||he(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&he(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=Je(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&he("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:he(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,Tt.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:he("Unsupporting sharing policy")}return r}function Ze(e,t){if(null===t)return this.isReference&&he(`null is not a valid ${this.name}`),0;t.$$||he(`Cannot pass "${Mt(t)}" as a ${this.name}`),t.$$.ptr||he(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&he(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Je(t.$$.ptr,r,this.registeredClass)}function Qe(e){return this.fromWireType(k[e>>2])}var et=()=>{Object.assign(tt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:ge,readValueFromPointer:Qe,deleteObject(e){null!==e&&e.delete()},fromWireType:Oe})};function tt(e,t,r,n,i,s,a,o,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=Ke:n?(this.toWireType=Xe,this.destructorFunction=null):(this.toWireType=Ze,this.destructorFunction=null)}var rt,nt,it=(e,t,r)=>{i.hasOwnProperty(e)||fe("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},st=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},at=[],ot=e=>{var t=at[e];return t||(e>=at.length&&(at.length=e+1),at[e]=t=rt.get(e)),t},ct=(e,t,r)=>e.includes("j")?st(e,t,r):ot(t).apply(null,r),ut=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),ct(e,t,r)}},lt=(e,t)=>{var r=(e=ce(e)).includes("j")?ut(e,t):ot(t);return"function"!=typeof r&&he(`unknown function pointer with signature ${e}: ${t}`),r},dt=(e,t)=>{var r=Ve(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},ht=e=>{var t=Tr(e),r=ce(t);return kr(t),r},ft=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||le[t]||(de[t]?de[t].forEach(e):(r.push(t),n[t]=!0))})),new nt(`${e}: `+r.map(ht).join([", "]))},pt=(e,t,r,n,i,s,a,o,c,u,l,d,h)=>{l=ce(l),s=lt(i,s),o&&(o=lt(a,o)),u&&(u=lt(c,u)),h=lt(d,h);var f=qe(l);We(f,(function(){ft(`Cannot construct ${l} due to unbound types`,[n])})),pe([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:He.prototype;var a=Ve(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new ne("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new ne(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new ne(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:a}});a.prototype=c;var d=new Ye(l,a,c,h,r,s,o,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new tt(l,d,!0,!1,!1),m=new tt(l+"*",d,!1,!1,!1),v=new tt(l+" const*",d,!1,!0,!1);return Ce[e]={pointerType:m,constPointerType:v},it(f,a),[p,m,v]}))},mt=(e,t)=>{for(var r=[],n=0;n>2]);return r},vt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=Ve(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function gt(e,t,r,n,i,s){var a=t.length;a<2&&he("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=o?1:2;u{var a=mt(t,r);i=lt(n,i),pe([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new ne(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{ft(`Cannot construct ${e.name} due to unbound types`,a)},pe([],a,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=gt(r,n,null,i,s),[]))),[]}))},bt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},wt=(e,t,r,n,i,s,a,o,c)=>{var u=mt(r,n);t=ce(t),t=bt(t),s=lt(i,s),pe([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){ft(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(je(l,t,n),l[t].overloadTable[r-2]=i),pe([],u,(function(i){var o=gt(n,i,e,s,a,c);return void 0===l[t].overloadTable?(o.argCount=r-2,l[t]=o):l[t].overloadTable[r-2]=o,[]})),[]}))};function St(){Object.assign(It.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function It(){this.allocated=[void 0],this.freelist=[]}var At=new It,Et=e=>{e>=At.reserved&&0==--At.get(e).refcount&&At.free(e)},kt=()=>{for(var e=0,t=At.reserved;t{At.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),At.reserved=At.allocated.length,i.count_emval_handles=kt},Tt={toValue:e=>(e||he("Cannot use deleted val. handle = "+e),At.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return At.allocate({refcount:1,value:e})}}};function xt(e){return this.fromWireType(E[e>>2])}var Bt,Dt=(e,t)=>{ve(e,{name:t=ce(t),fromWireType:e=>{var t=Tt.toValue(e);return Et(e),t},toWireType:(e,t)=>Tt.toHandle(t),argPackAdvance:ge,readValueFromPointer:xt,destructorFunction:null})},Mt=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Pt=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(C[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Ut=(e,t,r)=>{ve(e,{name:t=ce(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:ge,readValueFromPointer:Pt(t,r),destructorFunction:null})},Ft=(e,t,r)=>{switch(t){case 1:return r?e=>w[e>>0]:e=>S[e>>0];case 2:return r?e=>I[e>>1]:e=>A[e>>1];case 4:return r?e=>E[e>>2]:e=>k[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Rt=(e,t,r,n,i)=>{t=ce(t);var s=e=>e;if(0===n){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");ve(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:ge,readValueFromPointer:Ft(t,r,0!==n),destructorFunction:null})},Lt=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=k[e>>2],r=k[e+4>>2];return new n(w.buffer,r,t)}ve(e,{name:r=ce(r),fromWireType:i,argPackAdvance:ge,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},Ot=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-i},zt=(e,t,r)=>Ot(e,S,t,r),Nt=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},Ht="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Vt=(e,t,r)=>{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&Ht)return Ht.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},jt=(e,t)=>e?Vt(S,e,t):"",Wt=(e,t)=>{var r="std::string"===(t=ce(t));ve(e,{name:t,fromWireType(e){var t,n=k[e>>2],i=e+4;if(r)for(var s=i,a=0;a<=n;++a){var o=i+a;if(a==n||0==S[o]){var c=jt(s,o-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=o+1}}else{var u=new Array(n);for(a=0;a>2]=n,r&&i)zt(t,a,n+1);else if(i)for(var o=0;o255&&(kr(a),he("String has UTF-16 code units that do not fit in 8 bits")),S[a+o]=c}else for(o=0;o{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&A[n];)++n;if((r=n<<1)-e>32&&Gt)return Gt.decode(S.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=I[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},qt=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return I[t>>1]=0,t-n},Yt=e=>2*e.length,Jt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=E[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},Xt=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),E[t>>2]=a,(t+=4)+4>i)break}return E[t>>2]=0,t-n},Kt=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Zt=(e,t,r)=>{var n,i,s,a,o;r=ce(r),2===t?(n=$t,i=qt,a=Yt,s=()=>A,o=1):4===t&&(n=Jt,i=Xt,a=Kt,s=()=>k,o=2),ve(e,{name:r,fromWireType:e=>{for(var r,i=k[e>>2],a=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==a[l>>o]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return kr(e),r},toWireType:(e,n)=>{"string"!=typeof n&&he(`Cannot pass non-string to C++ string type ${r}`);var s=a(n),c=Cr(4+s+t);return k[c>>2]=s>>o,i(n,c+4,s+t),null!==e&&e.push(kr,c),c},argPackAdvance:ge,readValueFromPointer:xt,destructorFunction(e){kr(e)}})},Qt=(e,t)=>{ve(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},er={},tr=e=>{var t=er[e];return void 0===t?ce(e):t},rr=[],nr=(e,t,r,n,i)=>(e=rr[e])(t=Tt.toValue(t),t[r=tr(r)],n,i),ir=e=>{var t=rr.length;return rr.push(e),t},sr=(e,t)=>{var r=le[e];return void 0===r&&he(t+" has unknown type "+ht(e)),r},ar=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},or=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(k[t>>2]=Tt.toHandle(n)),i},cr=(e,t,r)=>{var n=ar(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return ir(Ve(h,d))},ur=e=>{e>4&&(At.get(e).refcount+=1)},lr=e=>Tt.toHandle(tr(e)),dr=()=>Tt.toHandle({}),hr=e=>Tt.toHandle(jt(e)),fr=e=>{var t=Tt.toValue(e);vt(t),Et(e)},pr=(e,t,r)=>{e=Tt.toValue(e),t=Tt.toValue(t),r=Tt.toValue(r),e[t]=r},mr=(e,t)=>{var r=(e=sr(e,"_emval_take_value")).readValueFromPointer(t);return Tt.toHandle(r)},vr=()=>{W("")};Bt=()=>performance.now();var yr=(e,t,r)=>S.copyWithin(e,t,t+r),gr=e=>{W("OOM")},_r=e=>{S.length,gr()},br=[null,[],[]],wr=(e,t)=>{var r=br[e];0===t||10===t?((1===e?_:b)(Vt(r,0)),r.length=0):r.push(t)},Sr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=k[t+4>>2];t+=8;for(var c=0;c>2]=i,0};oe(),ne=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},ie=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne(),Pe(),et(),nt=i.UnboundTypeError=dt(Error,"UnboundTypeError"),St(),Ct();var Ir,Ar={o:se,r:ae,x:_e,q:pt,p:_t,h:wt,w:Dt,k:Ut,b:Rt,a:Lt,l:Wt,i:Zt,y:Qt,g:nr,c:Et,f:cr,z:ur,m:lr,B:dr,v:hr,e:fr,n:pr,A:mr,j:vr,d:Bt,u:yr,s:_r,t:Sr},Er=Q(),kr=e=>(kr=Er.E)(e),Cr=e=>(Cr=Er.F)(e),Tr=e=>(Tr=Er.H)(e),xr=e=>(xr=Er.I)(e);function Br(){function e(){Ir||(Ir=!0,i.calledRun=!0,x||(F(),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),R()))}N>0||(U(),N>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=Er.J)(e,t,r,n,s),i.___start_em_js=143500,i.___stop_em_js=143557,H=function e(){Ir||Br(),Ir||(H=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Br(),e.ready}),a=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,n,i;(i=t).ready=new Promise(((e,t)=>{r=e,n=t})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,a,o,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href),v=m("fs"),y=m("path");f=d?y.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href)),s=(e,t)=>(e=Z(e)?new URL(e):y.normalize(e),v.readFileSync(e,t?void 0:"utf8")),o=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},a=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Z(e)?new URL(e):y.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),a=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var g,_,b=i.print||console.log.bind(console),w=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(g=i.wasmBinary),"object"!=typeof WebAssembly&&$("no native wasm support detected");var S,I,A,E,k,C,T,x,B=!1;function D(e,t){e||$(t)}function M(){var e=_.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=A=new Int16Array(e),i.HEAPU8=I=new Uint8Array(e),i.HEAPU16=E=new Uint16Array(e),i.HEAP32=k=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=T=new Float32Array(e),i.HEAPF64=x=new Float64Array(e)}var P=[],U=[],F=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(P)}function L(){i.noFSInit||xe.init.initialized||xe.init(),xe.ignorePermissions=!1,ie(U)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)H(i.postRun.shift());ie(F)}function z(e){P.unshift(e)}function N(e){U.unshift(e)}function H(e){F.unshift(e)}var V=0,j=null;function W(e){V++,i.monitorRunDependencies&&i.monitorRunDependencies(V)}function G(e){if(V--,i.monitorRunDependencies&&i.monitorRunDependencies(V),0==V&&j){var t=j;j=null,t()}}function $(e){i.onAbort&&i.onAbort(e),w(e="Aborted("+e+")"),B=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var q,Y,J,X="data:application/octet-stream;base64,",K=e=>e.startsWith(X),Z=e=>e.startsWith("file://");function Q(e){if(e==q&&g)return new Uint8Array(g);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!g&&(l||d)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(a)return new Promise(((t,r)=>{a(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),$(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||K(t)||Z(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return an=e.exports,_=an.E,M(),Pt=an.H,N(an.F),G(),an}if(W(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(g,q,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?K(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro-simd.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var ae=(e,t,r)=>{throw new se(e).init(t,r),e},oe=e=>(k[cn()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}$("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:xe.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),a=s,o=0;o{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&a)<<6|o)}else s+=String.fromCharCode(a)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,a=0;a=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a);if(o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-i};function ye(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var ge=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},_e={ttys:[],init(){},shutdown(){},register(e,t){_e.ttys[e]={input:[],output:[],ops:t},xe.registerDevice(e,_e.stream_ops)},stream_ops:{open(e){var t=_e.ttys[e.node.rdev];if(!t)throw new xe.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new xe.ErrnoError(60);for(var s=0,a=0;age(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{$()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,n){if(xe.isBlkdev(r)||xe.isFIFO(r))throw new xe.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:xe.chrdev_stream_ops}});var i=xe.createNode(e,t,r,n);return xe.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):xe.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):xe.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):xe.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=xe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,xe.isDir(e.mode)?t.size=4096:xe.isFile(e.mode)?t.size=e.usedBytes:xe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw xe.genericErrors[44]},mknod:(e,t,r,n)=>we.createNode(e,t,r,n),rename(e,t,r){if(xe.isDir(e.mode)){var n;try{n=xe.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new xe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=xe.lookupNode(e,t);for(var n in r.contents)throw new xe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=we.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!xe.isLink(e.mode))throw new xe.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-i,n);if(a>8&&s.subarray)t.set(s.subarray(i,i+a),r);else for(var o=0;o0||r+t(we.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;a(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&G()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&W()},Ie=(e,t,r,n,i,s)=>{xe.createDataFile(e,t,r,n,i,s)},Ae=i.preloadPlugins||[],Ee=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ae.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},ke=(e,t,r,n,i,s,a,o,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),o||Ie(e,t,r,n,i,c),s&&s(),G()}Ee(r,l,d,(()=>{a&&a(),G()}))||d(r)}W(),"string"==typeof r?Se(r,(e=>d(e)),a):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},Te=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new xe.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=xe.root,i="/",s=0;s40)throw new xe.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(xe.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%xe.nameTable.length},hashAddNode(e){var t=xe.hashName(e.parent.id,e.name);e.name_next=xe.nameTable[t],xe.nameTable[t]=e},hashRemoveNode(e){var t=xe.hashName(e.parent.id,e.name);if(xe.nameTable[t]===e)xe.nameTable[t]=e.name_next;else for(var r=xe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=xe.mayLookup(e);if(r)throw new xe.ErrnoError(r,e);for(var n=xe.hashName(e.id,t),i=xe.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return xe.lookup(e,t)},createNode(e,t,r,n){var i=new xe.FSNode(e,t,r,n);return xe.hashAddNode(i),i},destroyNode(e){xe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>xe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=xe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{xe.lookupNode(e,t);return 20}catch(e){}return xe.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=xe.lookupNode(e,t)}catch(e){return e.errno}var i=xe.nodePermissions(e,"wx");if(i)return i;if(r){if(!xe.isDir(n.mode))return 54;if(xe.isRoot(n)||xe.getPath(n)===xe.cwd())return 10}else if(xe.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?xe.isLink(e.mode)?32:xe.isDir(e.mode)&&("r"!==xe.flagsToPermissionString(t)||512&t)?31:xe.nodePermissions(e,xe.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=xe.MAX_OPEN_FDS;e++)if(!xe.streams[e])return e;throw new xe.ErrnoError(33)},getStreamChecked(e){var t=xe.getStream(e);if(!t)throw new xe.ErrnoError(8);return t},getStream:e=>xe.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return xe.FSStream||(xe.FSStream=function(){this.shared={}},xe.FSStream.prototype={},Object.defineProperties(xe.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new xe.FSStream,e),-1==t&&(t=xe.nextfd()),e.fd=t,xe.streams[t]=e,e},closeStream(e){xe.streams[e]=null},chrdev_stream_ops:{open(e){var t=xe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new xe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){xe.devices[e]={stream_ops:t}},getDevice:e=>xe.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&w(`warning: ${xe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=xe.getMounts(xe.root.mount),n=0;function i(e){return xe.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&xe.root)throw new xe.ErrnoError(10);if(!i&&!s){var a=xe.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,xe.isMountpoint(n))throw new xe.ErrnoError(10);if(!xe.isDir(n.mode))throw new xe.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(o);return c.mount=o,o.root=c,i?xe.root=c:n&&(n.mounted=o,n.mount&&n.mount.mounts.push(o)),c},unmount(e){var t=xe.lookupPath(e,{follow_mount:!1});if(!xe.isMountpoint(t.node))throw new xe.ErrnoError(28);var r=t.node,n=r.mounted,i=xe.getMounts(n);Object.keys(xe.nameTable).forEach((e=>{for(var t=xe.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&xe.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=xe.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new xe.ErrnoError(28);var s=xe.mayCreate(n,i);if(s)throw new xe.ErrnoError(s);if(!n.node_ops.mknod)throw new xe.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,xe.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,xe.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,xe.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new xe.ErrnoError(44);var r=xe.lookupPath(t,{parent:!0}).node;if(!r)throw new xe.ErrnoError(44);var n=ce.basename(t),i=xe.mayCreate(r,n);if(i)throw new xe.ErrnoError(i);if(!r.node_ops.symlink)throw new xe.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),a=ce.basename(e),o=ce.basename(t);if(r=xe.lookupPath(e,{parent:!0}).node,n=xe.lookupPath(t,{parent:!0}).node,!r||!n)throw new xe.ErrnoError(44);if(r.mount!==n.mount)throw new xe.ErrnoError(75);var c,u=xe.lookupNode(r,a),l=de.relative(e,s);if("."!==l.charAt(0))throw new xe.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new xe.ErrnoError(55);try{c=xe.lookupNode(n,o)}catch(e){}if(u!==c){var d=xe.isDir(u.mode),h=xe.mayDelete(r,a,d);if(h)throw new xe.ErrnoError(h);if(h=c?xe.mayDelete(n,o,d):xe.mayCreate(n,o))throw new xe.ErrnoError(h);if(!r.node_ops.rename)throw new xe.ErrnoError(63);if(xe.isMountpoint(u)||c&&xe.isMountpoint(c))throw new xe.ErrnoError(10);if(n!==r&&(h=xe.nodePermissions(r,"w")))throw new xe.ErrnoError(h);xe.hashRemoveNode(u);try{r.node_ops.rename(u,n,o)}catch(e){throw e}finally{xe.hashAddNode(u)}}},rmdir(e){var t=xe.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=xe.lookupNode(t,r),i=xe.mayDelete(t,r,!0);if(i)throw new xe.ErrnoError(i);if(!t.node_ops.rmdir)throw new xe.ErrnoError(63);if(xe.isMountpoint(n))throw new xe.ErrnoError(10);t.node_ops.rmdir(t,r),xe.destroyNode(n)},readdir(e){var t=xe.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new xe.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=xe.lookupPath(e,{parent:!0}).node;if(!t)throw new xe.ErrnoError(44);var r=ce.basename(e),n=xe.lookupNode(t,r),i=xe.mayDelete(t,r,!1);if(i)throw new xe.ErrnoError(i);if(!t.node_ops.unlink)throw new xe.ErrnoError(63);if(xe.isMountpoint(n))throw new xe.ErrnoError(10);t.node_ops.unlink(t,r),xe.destroyNode(n)},readlink(e){var t=xe.lookupPath(e).node;if(!t)throw new xe.ErrnoError(44);if(!t.node_ops.readlink)throw new xe.ErrnoError(28);return de.resolve(xe.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=xe.lookupPath(e,{follow:!t}).node;if(!r)throw new xe.ErrnoError(44);if(!r.node_ops.getattr)throw new xe.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>xe.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=xe.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new xe.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){xe.chmod(e,t,!0)},fchmod(e,t){var r=xe.getStreamChecked(e);xe.chmod(r.node,t)},chown(e,t,r,n){var i;"string"==typeof e?i=xe.lookupPath(e,{follow:!n}).node:i=e;if(!i.node_ops.setattr)throw new xe.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){xe.chown(e,t,r,!0)},fchown(e,t,r){var n=xe.getStreamChecked(e);xe.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new xe.ErrnoError(28);var r;"string"==typeof e?r=xe.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new xe.ErrnoError(63);if(xe.isDir(r.mode))throw new xe.ErrnoError(31);if(!xe.isFile(r.mode))throw new xe.ErrnoError(28);var n=xe.nodePermissions(r,"w");if(n)throw new xe.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=xe.getStreamChecked(e);if(0==(2097155&r.flags))throw new xe.ErrnoError(28);xe.truncate(r.node,t)},utime(e,t,r){var n=xe.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new xe.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=xe.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new xe.ErrnoError(20)}else n=xe.mknod(e,r,0),s=!0;if(!n)throw new xe.ErrnoError(44);if(xe.isChrdev(n.mode)&&(t&=-513),65536&t&&!xe.isDir(n.mode))throw new xe.ErrnoError(54);if(!s){var a=xe.mayOpen(n,t);if(a)throw new xe.ErrnoError(a)}512&t&&!s&&xe.truncate(n,0),t&=-131713;var o=xe.createStream({node:n,path:xe.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),!i.logReadFiles||1&t||(xe.readFiles||(xe.readFiles={}),e in xe.readFiles||(xe.readFiles[e]=1)),o},close(e){if(xe.isClosed(e))throw new xe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{xe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new xe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new xe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(1==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.read)throw new xe.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var a=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=a),a},write(e,t,r,n,i,s){if(n<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.write)throw new xe.ErrnoError(28);e.seekable&&1024&e.flags&&xe.llseek(e,0,2);var a=void 0!==i;if(a){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,r,n,i,s);return a||(e.position+=o),o},allocate(e,t,r){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(t<0||r<=0)throw new xe.ErrnoError(28);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(!xe.isFile(e.node.mode)&&!xe.isDir(e.node.mode))throw new xe.ErrnoError(43);if(!e.stream_ops.allocate)throw new xe.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new xe.ErrnoError(2);if(1==(2097155&e.flags))throw new xe.ErrnoError(2);if(!e.stream_ops.mmap)throw new xe.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new xe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=xe.open(e,t.flags),i=xe.stat(e).size,s=new Uint8Array(i);return xe.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),xe.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=xe.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);xe.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");xe.write(n,t,0,t.byteLength,void 0,r.canOwn)}xe.close(n)},cwd:()=>xe.currentPath,chdir(e){var t=xe.lookupPath(e,{follow:!0});if(null===t.node)throw new xe.ErrnoError(44);if(!xe.isDir(t.node.mode))throw new xe.ErrnoError(54);var r=xe.nodePermissions(t.node,"x");if(r)throw new xe.ErrnoError(r);xe.currentPath=t.path},createDefaultDirectories(){xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices(){xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),xe.mkdev("/dev/null",xe.makedev(1,3)),_e.register(xe.makedev(5,0),_e.default_tty_ops),_e.register(xe.makedev(6,0),_e.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);xe.createDevice("/dev","random",r),xe.createDevice("/dev","urandom",r),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){xe.mkdir("/proc");var e=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount(){var t=xe.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=xe.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?xe.createDevice("/dev","stdin",i.stdin):xe.symlink("/dev/tty","/dev/stdin"),i.stdout?xe.createDevice("/dev","stdout",null,i.stdout):xe.symlink("/dev/tty","/dev/stdout"),i.stderr?xe.createDevice("/dev","stderr",null,i.stderr):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},ensureErrnoError(){xe.ErrnoError||(xe.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},xe.ErrnoError.prototype=new Error,xe.ErrnoError.prototype.constructor=xe.ErrnoError,[44].forEach((e=>{xe.genericErrors[e]=new xe.ErrnoError(e),xe.genericErrors[e].stack=""})))},staticInit(){xe.ensureErrnoError(),xe.nameTable=new Array(4096),xe.mount(we,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:we}},init(e,t,r){xe.init.initialized=!0,xe.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,xe.createStandardStreams()},quit(){xe.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;i||(a=n);var o=this;o.setDataGetter((e=>{var t=e*a,i=(e+1)*a-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==a&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ye(i.responseText||"",!0)})(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!s&&n||(a=n=1,n=this.getter(0).length,a=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var o={isDevice:!1,contents:a}}else o={isDevice:!1,url:r};var c=xe.createFile(e,t,o,n,i);o.contents?c.contents=o.contents:o.url&&(c.contents=null,c.url=o.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var a=Math.min(s.length-i,n);if(s.slice)for(var o=0;o{var t=c.stream_ops[e];u[e]=function(){return xe.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(xe.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{xe.forceLoadFile(c);var s=be();if(!s)throw new xe.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},Be=(e,t)=>e?fe(I,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;-100===e?n=xe.cwd():n=De.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new xe.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(xe.getPath(e.node)))return-54;throw e}k[r>>2]=n.dev,k[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,k[r+12>>2]=n.uid,k[r+16>>2]=n.gid,k[r+20>>2]=n.rdev,J=[n.size>>>0,(Y=n.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+24>>2]=J[0],k[r+28>>2]=J[1],k[r+32>>2]=4096,k[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),a=n.ctime.getTime();return J=[Math.floor(i/1e3)>>>0,(Y=Math.floor(i/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+40>>2]=J[0],k[r+44>>2]=J[1],C[r+48>>2]=i%1e3*1e3,J=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+56>>2]=J[0],k[r+60>>2]=J[1],C[r+64>>2]=s%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(Y=Math.floor(a/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+72>>2]=J[0],k[r+76>>2]=J[1],C[r+80>>2]=a%1e3*1e3,J=[n.ino>>>0,(Y=n.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[r+88>>2]=J[0],k[r+92>>2]=J[1],0},doMsync(e,t,r,n,i){if(!xe.isFile(t.node.mode))throw new xe.ErrnoError(43);if(2&n)return 0;var s=I.slice(e,e+r);xe.msync(t,s,i,r,n)},varargs:void 0,get(){var e=k[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Be(e),getStreamFromFD:e=>xe.getStreamChecked(e)};function Me(e,t,r){De.varargs=r;try{var n=De.getStreamFromFD(e);switch(t){case 0:if((i=De.get())<0)return-28;for(;xe.streams[i];)i++;return xe.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=De.get();return n.flags|=i,0;case 5:i=De.getp();return A[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return oe(28),-1}}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}}function Pe(e,t,r,n){De.varargs=n;try{t=De.getStr(t),t=De.calculateAt(e,t);var i=n?De.get():0;return xe.open(t,r,i).fd}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return-e.errno}}var Ue,Fe,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Ue=e},ze=e=>{for(var t="",r=e;I[r];)t+=Ue[I[r++]];return t},Ne={},He={},Ve={},je=e=>{throw new Fe(e)},We=e=>{throw new Re(e)},Ge=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&We("Mismatched type converter count");for(var i=0;i{He.hasOwnProperty(e)?i[t]=He[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=He[e],++a===s.length&&n(i)})))})),0===s.length&&n(i)};function $e(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||je(`type "${n}" must have a positive integer typeid pointer`),He.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;je(`Cannot register type '${n}' twice`)}if(He[e]=t,delete Ve[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return $e(e,t,r)}var Ye,Je=8,Xe=(e,t,r,n)=>{qe(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Je,readValueFromPointer:function(e){return this.fromWireType(I[e])},destructorFunction:null})},Ke=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ze=e=>{je(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,at=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},ot=[],ct=()=>{for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Ye=e,ot.length&&Ye&&Ye(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=at,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&je("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||We("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&We("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),o=it[a];if(!o)return i.call(this);s=this.isConst?o.constPointerType:o.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),vt(e)),yt=()=>{Object.assign(gt.prototype,{isAliasOf(e){if(!(this instanceof gt))return!1;if(!(e instanceof gt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Ke(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&je("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&je("Object already scheduled for deletion"),ot.push(this),1===ot.length&&Ye&&Ye(ct),this.$$.deleteScheduled=!0,this}})};function gt(){}var _t=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||je(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},wt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&je(`Cannot register public name '${e}' twice`),bt(i,e,e),i.hasOwnProperty(r)&&je(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,It=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=It?`_${e}`:e};function Et(e,t,r,n,i,s,a,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var kt=(e,t,r)=>{for(;t!==r;)t.upcast||je(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return kt(t.$$.ptr,r,this.registeredClass)}function Tt(e,t){var r;if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=kt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&je("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:je(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:je("Unsupporting sharing policy")}return r}function xt(e,t){if(null===t)return this.isReference&&je(`null is not a valid ${this.name}`),0;t.$$||je(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||je(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&je(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return kt(t.$$.ptr,r,this.registeredClass)}function Bt(e){return this.fromWireType(C[e>>2])}var Dt=()=>{Object.assign(Mt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Je,readValueFromPointer:Bt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Mt(e,t,r,n,i,s,a,o,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=Tt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=xt,this.destructorFunction=null)}var Pt,Ut,Ft=(e,t,r)=>{i.hasOwnProperty(e)||We("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Pt.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},Ht=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&je(`unknown function pointer with signature ${e}: ${t}`),r},Vt=(e,t)=>{var r=_t(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},jt=e=>{var t=un(e),r=ze(t);return on(t),r},Wt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||He[t]||(Ve[t]?Ve[t].forEach(e):(r.push(t),n[t]=!0))})),new Ut(`${e}: `+r.map(jt).join([", "]))},Gt=(e,t,r,n,i,s,a,o,c,u,l,d,h)=>{l=ze(l),s=Ht(i,s),o&&(o=Ht(a,o)),u&&(u=Ht(c,u)),h=Ht(d,h);var f=At(l);wt(f,(function(){Wt(`Cannot construct ${l} due to unbound types`,[n])})),Ge([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:gt.prototype;var a=_t(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Fe("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Fe(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Fe(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:a}});a.prototype=c;var d=new Et(l,a,c,h,r,s,o,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Mt(l,d,!0,!1,!1),m=new Mt(l+"*",d,!1,!1,!1),v=new Mt(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ft(f,a),[p,m,v]}))},$t=(e,t)=>{for(var r=[],n=0;n>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=_t(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Jt(e,t,r,n,i,s){var a=t.length;a<2&&je("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=o?1:2;u{var a=$t(t,r);i=Ht(n,i),Ge([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Fe(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Wt(`Cannot construct ${e.name} due to unbound types`,a)},Ge([],a,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Jt(r,n,null,i,s),[]))),[]}))},Kt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Zt=(e,t,r,n,i,s,a,o,c)=>{var u=$t(r,n);t=ze(t),t=Kt(t),s=Ht(i,s),Ge([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Wt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(bt(l,t,n),l[t].overloadTable[r-2]=i),Ge([],u,(function(i){var o=Jt(n,i,e,s,a,c);return void 0===l[t].overloadTable?(o.argCount=r-2,l[t]=o):l[t].overloadTable[r-2]=o,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||je("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function ar(e){return this.fromWireType(k[e>>2])}var or=(e,t)=>{qe(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Je,readValueFromPointer:ar,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(T[e>>2])};case 8:return function(e){return this.fromWireType(x[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{qe(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Je,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>I[e>>0];case 2:return r?e=>A[e>>1]:e=>E[e>>1];case 4:return r?e=>k[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var a=32-8*r;s=e=>e<>>a}var o=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Je,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}qe(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Je,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,I,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));qe(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,a=0;a<=n;++a){var o=i+a;if(a==n||0==I[o]){var c=Be(s,o-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=o+1}}else{var u=new Array(n);for(a=0;a>2]=n,r&&i)pr(t,a,n+1);else if(i)for(var o=0;o255&&(on(a),je("String has UTF-16 code units that do not fit in 8 bits")),I[a+o]=c}else for(o=0;o{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&E[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(I.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var o=A[e+2*a>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},gr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=a,t+=2}return A[t>>1]=0,t-n},_r=e=>2*e.length,br=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=k[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s);if(k[t>>2]=a,(t+=4)+4>i)break}return k[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Ir=(e,t,r)=>{var n,i,s,a,o;r=ze(r),2===t?(n=yr,i=gr,a=_r,s=()=>E,o=1):4===t&&(n=br,i=wr,a=Sr,s=()=>C,o=2),qe(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],a=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==a[l>>o]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return on(e),r},toWireType:(e,n)=>{"string"!=typeof n&&je(`Cannot pass non-string to C++ string type ${r}`);var s=a(n),c=ln(4+s+t);return C[c>>2]=s>>o,i(n,c+4,s+t),null!==e&&e.push(on,c),c},argPackAdvance:Je,readValueFromPointer:ar,destructorFunction(e){on(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Er={},kr=e=>{var t=Er[e];return void 0===t?ze(e):t},Cr=[],Tr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=kr(r)],n,i),xr=e=>{var t=Cr.length;return Cr.push(e),t},Br=(e,t)=>{var r=He[e];return void 0===r&&je(t+" has unknown type "+jt(e)),r},Dr=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Mr=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Pr=(e,t,r)=>{var n=Dr(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,o=[];0===r&&o.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return xr(_t(h,d))},Ur=e=>{var t=sr.toValue(e);qt(t),rr(e)},Fr=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{$("")},Lr=()=>Date.now(),Or=(e,t,r)=>I.copyWithin(e,t,t+r),zr=e=>{$("OOM")},Nr=e=>{I.length,zr()},Hr={},Vr=()=>u||"./this.program",jr=()=>{if(!jr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Vr()};for(var t in Hr)void 0===Hr[t]?delete e[t]:e[t]=Hr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);jr.strings=r}return jr.strings},Wr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Gr=(e,t)=>{var r=0;return jr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,Wr(n,s),r+=n.length+1})),0},$r=(e,t)=>{var r=jr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function qr(e){try{var t=De.getStreamFromFD(e);return xe.close(t),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),n=r.tty?2:xe.isDir(r.mode)?3:xe.isLink(r.mode)?7:4;return S[t>>0]=n,A[t+2>>1]=0,J=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[t+8>>2]=J[0],k[t+12>>2]=J[1],J=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[t+16>>2]=J[0],k[t+20>>2]=J[1],0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=C[t+4>>2];t+=8;var c=xe.read(e,S,a,o,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}function Kr(e,t,r,n,i){var s=Fr(t,r);try{if(isNaN(s))return 61;var a=De.getStreamFromFD(e);return xe.llseek(a,s,n),J=[a.position>>>0,(Y=a.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],k[i>>2]=J[0],k[i+4>>2]=J[1],a.getdents&&0===s&&0===n&&(a.getdents=null),0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}var Zr=(e,t,r,n)=>{for(var i=0,s=0;s>2],o=C[t+4>>2];t+=8;var c=xe.write(e,S,a,o,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Qr(e,t,r,n){try{var i=De.getStreamFromFD(e),s=Zr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===xe||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=xe.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return xe.isDir(this.mode)}},isDevice:{get:function(){return xe.isChrdev(this.mode)}}}),xe.FSNode=en,xe.createPreloadedFile=ke,xe.staticInit(),Oe(),Fe=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yt(),lt(),Dt(),Ut=i.UnboundTypeError=Vt(Error,"UnboundTypeError"),Qt(),ir();var nn,sn={o:ae,A:Me,s:Pe,q:Le,C:Xe,D:Gt,y:Xt,g:Zt,B:or,k:lr,c:hr,b:fr,l:mr,i:Ir,n:Ar,f:Tr,m:rr,e:Pr,d:Ur,a:Rr,h:Lr,w:Or,r:Nr,u:Gr,v:$r,j:qr,t:Yr,z:Xr,p:Kr,x:Qr},an=ne(),on=e=>(on=an.G)(e),cn=()=>(cn=an.I)(),un=e=>(un=an.J)(e),ln=e=>(ln=an.K)(e),dn=e=>(dn=an.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,B||(L(),r(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}V>0||(R(),V>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_viiijj=(e,t,r,n,s,a,o,c)=>(i.dynCall_viiijj=an.N)(e,t,r,n,s,a,o,c),i.dynCall_jij=(e,t,r,n)=>(i.dynCall_jij=an.O)(e,t,r,n),i.dynCall_jii=(e,t,r)=>(i.dynCall_jii=an.P)(e,t,r),i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=an.Q)(e,t,r,n,s),j=function e(){nn||hn(),nn||(j=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),t.ready}})(),o=f;!function(e,t){for(var r=f,n=e();;)try{if(598971===-parseInt(r(428))/1*(parseInt(r(431))/2)+-parseInt(r(439))/3*(-parseInt(r(434))/4)+-parseInt(r(440))/5*(-parseInt(r(442))/6)+parseInt(r(429))/7+parseInt(r(441))/8*(parseInt(r(443))/9)+-parseInt(r(436))/10*(-parseInt(r(426))/11)+-parseInt(r(432))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(l);var c=1e-6,u=typeof Float32Array!==o(437)?Float32Array:Array;function l(){var e=["3fEniMu","11695DoTJcD","232vAFNAh","2334ZDuXhD","246843QPUyys","231242oNkxMN","random","2977dmRSxL","6793549HnrRiV","sqrt","12LxQboy","43664604GdlVPz","abs","3376076HtYaDn","hypot","350vkXqAK","undefined","max"];return(l=function(){return e})()}var d=Math[o(427)];var h=Math.PI/180;function f(e,t){var r=l();return(f=function(e,t){return r[e-=426]})(e,t)}Math[o(435)]||(Math[o(435)]=function(){for(var e=o,t=0,r=arguments.length;r--;)t+=arguments[r]*arguments[r];return Math[e(430)](t)});var p=Object.freeze({__proto__:null,EPSILON:c,get ARRAY_TYPE(){return u},RANDOM:d,setMatrixArrayType:function(e){u=e},toRadian:function(e){return e*h},equals:function(e,t){var r=o;return Math.abs(e-t)<=c*Math[r(438)](1,Math[r(433)](e),Math[r(433)](t))}});function m(){var e=g,t=new(p[e(284)])(16);return p[e(284)]!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function v(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function y(e,t,r){var n=t[0],i=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],m=t[12],v=t[13],y=t[14],g=t[15],_=r[0],b=r[1],w=r[2],S=r[3];return e[0]=_*n+b*o+w*d+S*m,e[1]=_*i+b*c+w*h+S*v,e[2]=_*s+b*u+w*f+S*y,e[3]=_*a+b*l+w*p+S*g,_=r[4],b=r[5],w=r[6],S=r[7],e[4]=_*n+b*o+w*d+S*m,e[5]=_*i+b*c+w*h+S*v,e[6]=_*s+b*u+w*f+S*y,e[7]=_*a+b*l+w*p+S*g,_=r[8],b=r[9],w=r[10],S=r[11],e[8]=_*n+b*o+w*d+S*m,e[9]=_*i+b*c+w*h+S*v,e[10]=_*s+b*u+w*f+S*y,e[11]=_*a+b*l+w*p+S*g,_=r[12],b=r[13],w=r[14],S=r[15],e[12]=_*n+b*o+w*d+S*m,e[13]=_*i+b*c+w*h+S*v,e[14]=_*s+b*u+w*f+S*y,e[15]=_*a+b*l+w*p+S*g,e}function g(e,t){var r=w();return(g=function(e,t){return r[e-=260]})(e,t)}function _(e,t,r){var n=t[0],i=t[1],s=t[2],a=t[3],o=n+n,c=i+i,u=s+s,l=n*o,d=n*c,h=n*u,f=i*c,p=i*u,m=s*u,v=a*o,y=a*c,g=a*u;return e[0]=1-(f+m),e[1]=d+g,e[2]=h-y,e[3]=0,e[4]=d-g,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=h+y,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function b(e,t){var r=g,n=t[0],i=t[1],s=t[2],a=t[4],o=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(263)](n,i,s),e[1]=Math[r(263)](a,o,c),e[2]=Math[r(263)](u,l,d),e}function w(){var e=["423556RDvfhn","EPSILON","12wRjoAp","rightDegrees","sin","upDegrees","sqrt","22606SvJKll","22308473VRfhtH","1095910RJgbrq","tan","abs","52MtOXmt","5lffhSz","36xazMGt","354921epqzbk","5JPSdJA","cos","ARRAY_TYPE","8454696jBHglL","1072914iJKYpG","mat4(","hypot","downDegrees","max"];return(w=function(){return e})()}function S(e,t,r,n,i){var s,a=1/Math[g(276)](t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=g,n=e();;)try{if(830323===parseInt(r(279))/1*(-parseInt(r(273))/2)+-parseInt(r(281))/3*(-parseInt(r(278))/4)+parseInt(r(282))/5*(-parseInt(r(261))/6)+parseInt(r(266))/7+parseInt(r(260))/8+-parseInt(r(280))/9*(-parseInt(r(275))/10)+-parseInt(r(274))/11*(parseInt(r(268))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(w);var I=S;function A(e,t,r,n,i,s,a){var o=1/(t-r),c=1/(n-i),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*o,e[13]=(i+n)*c,e[14]=(a+s)*u,e[15]=1,e}var E=A;function k(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var C=y,T=k,x=Object.freeze({__proto__:null,create:m,clone:function(e){var t=new(p[g(284)])(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,a,o,c,l,d,h,f,p,m,v){var y=new u(16);return y[0]=e,y[1]=t,y[2]=r,y[3]=n,y[4]=i,y[5]=s,y[6]=a,y[7]=o,y[8]=c,y[9]=l,y[10]=d,y[11]=h,y[12]=f,y[13]=p,y[14]=m,y[15]=v,y},set:function(e,t,r,n,i,s,a,o,c,u,l,d,h,f,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=a,e[6]=o,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=h,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:v,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],a=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=a,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15],g=r*o-n*a,_=r*c-i*a,b=r*u-s*a,w=n*c-i*o,S=n*u-s*o,I=i*u-s*c,A=l*m-d*p,E=l*v-h*p,k=l*y-f*p,C=d*v-h*m,T=d*y-f*m,x=h*y-f*v,B=g*x-_*T+b*C+w*k-S*E+I*A;return B?(B=1/B,e[0]=(o*x-c*T+u*C)*B,e[1]=(i*T-n*x-s*C)*B,e[2]=(m*I-v*S+y*w)*B,e[3]=(h*S-d*I-f*w)*B,e[4]=(c*k-a*x-u*E)*B,e[5]=(r*x-i*k+s*E)*B,e[6]=(v*b-p*I-y*_)*B,e[7]=(l*I-h*b+f*_)*B,e[8]=(a*T-o*k+u*A)*B,e[9]=(n*k-r*T-s*A)*B,e[10]=(p*S-m*b+y*g)*B,e[11]=(d*b-l*S-f*g)*B,e[12]=(o*E-a*C-c*A)*B,e[13]=(r*C-n*E+i*A)*B,e[14]=(m*_-p*w-v*g)*B,e[15]=(l*w-d*_+h*g)*B,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=t[4],o=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15];return e[0]=o*(h*y-f*v)-d*(c*y-u*v)+m*(c*f-u*h),e[1]=-(n*(h*y-f*v)-d*(i*y-s*v)+m*(i*f-s*h)),e[2]=n*(c*y-u*v)-o*(i*y-s*v)+m*(i*u-s*c),e[3]=-(n*(c*f-u*h)-o*(i*f-s*h)+d*(i*u-s*c)),e[4]=-(a*(h*y-f*v)-l*(c*y-u*v)+p*(c*f-u*h)),e[5]=r*(h*y-f*v)-l*(i*y-s*v)+p*(i*f-s*h),e[6]=-(r*(c*y-u*v)-a*(i*y-s*v)+p*(i*u-s*c)),e[7]=r*(c*f-u*h)-a*(i*f-s*h)+l*(i*u-s*c),e[8]=a*(d*y-f*m)-l*(o*y-u*m)+p*(o*f-u*d),e[9]=-(r*(d*y-f*m)-l*(n*y-s*m)+p*(n*f-s*d)),e[10]=r*(o*y-u*m)-a*(n*y-s*m)+p*(n*u-s*o),e[11]=-(r*(o*f-u*d)-a*(n*f-s*d)+l*(n*u-s*o)),e[12]=-(a*(d*v-h*m)-l*(o*v-c*m)+p*(o*h-c*d)),e[13]=r*(d*v-h*m)-l*(n*v-i*m)+p*(n*h-i*d),e[14]=-(r*(o*v-c*m)-a*(n*v-i*m)+p*(n*c-i*o)),e[15]=r*(o*h-c*d)-a*(n*h-i*d)+l*(n*c-i*o),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],a=e[5],o=e[6],c=e[7],u=e[8],l=e[9],d=e[10],h=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*a-r*s)*(d*v-h*m)-(t*o-n*s)*(l*v-h*p)+(t*c-i*s)*(l*m-d*p)+(r*o-n*a)*(u*v-h*f)-(r*c-i*a)*(u*m-d*f)+(n*c-i*o)*(u*p-l*f)},multiply:y,translate:function(e,t,r){var n,i,s,a,o,c,u,l,d,h,f,p,m=r[0],v=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*y+t[12],e[13]=t[1]*m+t[5]*v+t[9]*y+t[13],e[14]=t[2]*m+t[6]*v+t[10]*y+t[14],e[15]=t[3]*m+t[7]*v+t[11]*y+t[15]):(n=t[0],i=t[1],s=t[2],a=t[3],o=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=a,e[4]=o,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=h,e[10]=f,e[11]=p,e[12]=n*m+o*v+d*y+t[12],e[13]=i*m+c*v+h*y+t[13],e[14]=s*m+u*v+f*y+t[14],e[15]=a*m+l*v+p*y+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,a,o,c,u,l,d,h,f,m,v,y,_,b,w,S,I,A,E,k,C,T,x,B=g,D=n[0],M=n[1],P=n[2],U=Math[B(263)](D,M,P);return U0?(r[0]=2*(o*a+l*n+c*s-u*i)/d,r[1]=2*(c*a+l*i+u*n-o*s)/d,r[2]=2*(u*a+l*s+o*i-c*n)/d):(r[0]=2*(o*a+l*n+c*s-u*i),r[1]=2*(c*a+l*i+u*n-o*s),r[2]=2*(u*a+l*s+o*i-c*n)),_(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:b,getRotation:function(e,t){var r=g,n=new(p[r(284)])(3);b(n,t);var i=1/n[0],s=1/n[1],a=1/n[2],o=t[0]*i,c=t[1]*s,u=t[2]*a,l=t[4]*i,d=t[5]*s,h=t[6]*a,f=t[8]*i,m=t[9]*s,v=t[10]*a,y=o+d+v,_=0;return y>0?(_=2*Math[r(272)](y+1),e[3]=.25*_,e[0]=(h-m)/_,e[1]=(f-u)/_,e[2]=(c-l)/_):o>d&&o>v?(_=2*Math[r(272)](1+o-d-v),e[3]=(h-m)/_,e[0]=.25*_,e[1]=(c+l)/_,e[2]=(f+u)/_):d>v?(_=2*Math[r(272)](1+d-o-v),e[3]=(f-u)/_,e[0]=(c+l)/_,e[1]=.25*_,e[2]=(h+m)/_):(_=2*Math[r(272)](1+v-o-d),e[3]=(c-l)/_,e[0]=(f+u)/_,e[1]=(h+m)/_,e[2]=.25*_),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],a=t[2],o=t[3],c=i+i,u=s+s,l=a+a,d=i*c,h=i*u,f=i*l,p=s*u,m=s*l,v=a*l,y=o*c,g=o*u,_=o*l,b=n[0],w=n[1],S=n[2];return e[0]=(1-(p+v))*b,e[1]=(h+_)*b,e[2]=(f-g)*b,e[3]=0,e[4]=(h-_)*w,e[5]=(1-(d+v))*w,e[6]=(m+y)*w,e[7]=0,e[8]=(f+g)*S,e[9]=(m-y)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],a=t[1],o=t[2],c=t[3],u=s+s,l=a+a,d=o+o,h=s*u,f=s*l,p=s*d,m=a*l,v=a*d,y=o*d,g=c*u,_=c*l,b=c*d,w=n[0],S=n[1],I=n[2],A=i[0],E=i[1],k=i[2],C=(1-(m+y))*w,T=(f+b)*w,x=(p-_)*w,B=(f-b)*S,D=(1-(h+y))*S,M=(v+g)*S,P=(p+_)*I,U=(v-g)*I,F=(1-(h+m))*I;return e[0]=C,e[1]=T,e[2]=x,e[3]=0,e[4]=B,e[5]=D,e[6]=M,e[7]=0,e[8]=P,e[9]=U,e[10]=F,e[11]=0,e[12]=r[0]+A-(C*A+B*E+P*k),e[13]=r[1]+E-(T*A+D*E+U*k),e[14]=r[2]+k-(x*A+M*E+F*k),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],a=r+r,o=n+n,c=i+i,u=r*a,l=n*a,d=n*o,h=i*a,f=i*o,p=i*c,m=s*a,v=s*o,y=s*c;return e[0]=1-d-p,e[1]=l+y,e[2]=h-v,e[3]=0,e[4]=l-y,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=h+v,e[9]=f-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,a){var o=1/(r-t),c=1/(i-n),u=1/(s-a);return e[0]=2*s*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*o,e[9]=(i+n)*c,e[10]=(a+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*s*2*u,e[15]=0,e},perspectiveNO:S,perspective:I,perspectiveZO:function(e,t,r,n,i){var s,a=1/Math[g(276)](t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=g,s=Math[i(276)](t[i(271)]*Math.PI/180),a=Math[i(276)](t[i(264)]*Math.PI/180),o=Math[i(276)](t.leftDegrees*Math.PI/180),c=Math[i(276)](t[i(269)]*Math.PI/180),u=2/(o+c),l=2/(s+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(o-c)*u*.5,e[9]=(s-a)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:A,ortho:E,orthoZO:function(e,t,r,n,i,s,a){var o=1/(t-r),c=1/(n-i),u=1/(s-a);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*o,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,a,o,u,l,d,h,f,m,y=g,_=t[0],b=t[1],w=t[2],S=n[0],I=n[1],A=n[2],E=r[0],k=r[1],C=r[2];return Math[y(277)](_-E)0&&(d*=p=1/Math[i(272)](p),h*=p,f*=p);var m=u*f-l*h,v=l*d-c*f,y=c*h-u*d;return(p=m*m+v*v+y*y)>0&&(m*=p=1/Math[i(272)](p),v*=p,y*=p),e[0]=m,e[1]=v,e[2]=y,e[3]=0,e[4]=h*y-f*v,e[5]=f*m-d*y,e[6]=d*v-h*m,e[7]=0,e[8]=d,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=a,e[14]=o,e[15]=1,e},str:function(e){return g(262)+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math[g(263)](e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:k,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=g,n=e[0],i=e[1],s=e[2],a=e[3],o=e[4],u=e[5],l=e[6],d=e[7],h=e[8],f=e[9],m=e[10],v=e[11],y=e[12],_=e[13],b=e[14],w=e[15],S=t[0],I=t[1],A=t[2],E=t[3],k=t[4],C=t[5],T=t[6],x=t[7],B=t[8],D=t[9],M=t[10],P=t[11],U=t[12],F=t[13],R=t[14],L=t[15];return Math.abs(n-S)<=p[r(267)]*Math[r(265)](1,Math[r(277)](n),Math.abs(S))&&Math[r(277)](i-I)<=p[r(267)]*Math.max(1,Math[r(277)](i),Math[r(277)](I))&&Math[r(277)](s-A)<=c*Math[r(265)](1,Math[r(277)](s),Math[r(277)](A))&&Math[r(277)](a-E)<=c*Math[r(265)](1,Math[r(277)](a),Math[r(277)](E))&&Math[r(277)](o-k)<=c*Math[r(265)](1,Math.abs(o),Math[r(277)](k))&&Math[r(277)](u-C)<=p[r(267)]*Math.max(1,Math.abs(u),Math[r(277)](C))&&Math[r(277)](l-T)<=p[r(267)]*Math[r(265)](1,Math[r(277)](l),Math[r(277)](T))&&Math[r(277)](d-x)<=p[r(267)]*Math.max(1,Math[r(277)](d),Math[r(277)](x))&&Math[r(277)](h-B)<=p[r(267)]*Math[r(265)](1,Math[r(277)](h),Math[r(277)](B))&&Math[r(277)](f-D)<=p[r(267)]*Math[r(265)](1,Math[r(277)](f),Math[r(277)](D))&&Math[r(277)](m-M)<=p[r(267)]*Math[r(265)](1,Math[r(277)](m),Math[r(277)](M))&&Math.abs(v-P)<=p[r(267)]*Math.max(1,Math[r(277)](v),Math[r(277)](P))&&Math[r(277)](y-U)<=p[r(267)]*Math[r(265)](1,Math[r(277)](y),Math[r(277)](U))&&Math[r(277)](_-F)<=c*Math.max(1,Math[r(277)](_),Math[r(277)](F))&&Math[r(277)](b-R)<=p[r(267)]*Math[r(265)](1,Math.abs(b),Math.abs(R))&&Math[r(277)](w-L)<=p[r(267)]*Math.max(1,Math[r(277)](w),Math[r(277)](L))},mul:C,sub:T});function B(){var e=new(p[N(494)])(3);return u!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function D(e){var t=N,r=e[0],n=e[1],i=e[2];return Math[t(497)](r,n,i)}function M(e,t,r){var n=new(p[N(494)])(3);return n[0]=e,n[1]=t,n[2]=r,n}function P(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function U(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function F(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function R(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.hypot(r,n,i)}function L(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function O(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function z(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function N(e,t){var r=X();return(N=function(e,t){return r[e-=475]})(e,t)}!function(e,t){for(var r=N,n=e();;)try{if(367156===parseInt(r(490))/1+parseInt(r(493))/2*(parseInt(r(475))/3)+-parseInt(r(483))/4+parseInt(r(479))/5*(parseInt(r(480))/6)+-parseInt(r(477))/7+parseInt(r(481))/8+-parseInt(r(489))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(X);var H,V=P,j=U,W=F,G=R,$=L,q=D,Y=O,J=(H=B(),function(e,t,r,n,i,s){var a,o,c=N;for(!t&&(t=3),!r&&(r=0),o=n?Math[c(485)](n*t+r,e.length):e[c(484)],a=r;a0&&(a=1/Math[r(478)](a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},dot:z,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],a=r[0],o=r[1],c=r[2];return e[0]=i*c-s*o,e[1]=s*a-n*c,e[2]=n*o-i*a,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],a=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=a+n*(r[2]-a),e},hermite:function(e,t,r,n,i,s){var a=s*s,o=a*(2*s-3)+1,c=a*(s-2)+s,u=a*(s-1),l=a*(3-2*s);return e[0]=t[0]*o+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*o+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*o+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var a=1-s,o=a*a,c=s*s,u=o*a,l=3*s*o,d=3*c*a,h=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*h,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*h,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*h,e},random:function(e,t){var r=N;t=t||1;var n=2*d()*Math.PI,i=2*d()-1,s=Math[r(478)](1-i*i)*t;return e[0]=Math.cos(n)*s,e[1]=Math[r(498)](n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return a=a||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/a,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/a,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/a,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],a=r[3],o=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*o-n*u,h=n*c-i*o,f=i*h-s*d,p=s*l-n*h,m=n*d-i*l,v=2*a;return l*=v,d*=v,h*=v,f*=2,p*=2,m*=2,e[0]=o+l+f,e[1]=c+d+p,e[2]=u+h+m,e},rotateX:function(e,t,r,n){var i=N,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0],a[1]=s[1]*Math[i(476)](n)-s[2]*Math.sin(n),a[2]=s[1]*Math[i(498)](n)+s[2]*Math[i(476)](n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateY:function(e,t,r,n){var i=N,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[2]*Math[i(498)](n)+s[0]*Math[i(476)](n),a[1]=s[1],a[2]=s[2]*Math[i(476)](n)-s[0]*Math[i(498)](n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},rotateZ:function(e,t,r,n){var i=N,s=[],a=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],a[0]=s[0]*Math.cos(n)-s[1]*Math[i(498)](n),a[1]=s[0]*Math[i(498)](n)+s[1]*Math[i(476)](n),a[2]=s[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},angle:function(e,t){var r=N,n=e[0],i=e[1],s=e[2],a=t[0],o=t[1],c=t[2],u=Math[r(478)](n*n+i*i+s*s)*Math[r(478)](a*a+o*o+c*c),l=u&&z(e,t)/u;return Math[r(492)](Math.min(Math.max(l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return N(495)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=N,n=e[0],i=e[1],s=e[2],a=t[0],o=t[1],c=t[2];return Math.abs(n-a)<=p[r(487)]*Math.max(1,Math[r(482)](n),Math[r(482)](a))&&Math[r(482)](i-o)<=p[r(487)]*Math[r(491)](1,Math[r(482)](i),Math.abs(o))&&Math[r(482)](s-c)<=p[r(487)]*Math[r(491)](1,Math[r(482)](s),Math.abs(c))},sub:V,mul:j,div:W,dist:G,sqrDist:$,len:q,sqrLen:Y,forEach:J});function Z(){var e=["352645qMgPeH","1200756dwgdum","45aOJzbz","7976ZpRsZj","267848jvcmYE","6ehbZpK","4SkQMAm","3568380euMZzZ","503258dMUWiO","9788KvkGMX"];return(Z=function(){return e})()}function Q(e,t){var r=Z();return(Q=function(e,t){return r[e-=220]})(e,t)}function ee(e,t){const r=te();return(ee=function(e,t){return r[e-=367]})(e,t)}function te(){const e=["useProgram","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","85IxULLv","yTexture","bindTexture","vTexture","depthFunc","1304032zZLYEg","711hgKstF","DEPTH_TEST","UNPACK_ALIGNMENT","TEXTURE_WRAP_S","41028YDmbfD","log","indices","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","identity","drawElements","COLOR_BUFFER_BIT","enableVertexAttribArray","LINEAR","TEXTURE2","LINK_STATUS","getShaderInfoLog","FLOAT","attribLocations","uniform1i","activeTexture","CLAMP_TO_EDGE","STATIC_DRAW","utexture","uModelMatrix","rgbatexture","6YtPFBK","COMPILE_STATUS","An error occurred compiling the shaders: ","deleteBuffer","fromValues","ARRAY_BUFFER","createProgram","createBuffer","program","304915YxYuMA","bufferData","vtexture","texturePosition","texImage2D","4766meevhe","UNSIGNED_SHORT","deleteTexture","getUniformLocation","UNSIGNED_BYTE","deleteShader","texParameteri","deleteProgram","1422813Jxxfxd","linkProgram","ELEMENT_ARRAY_BUFFER","aTexturePosition","texPosition","LUMINANCE","create","589420halUbz","attachShader","createTexture","isyuv","slice","uTexture","TEXTURE_2D","Unable to initialize the shader program: ","3164409enTylJ","pixelStorei","position","TEXTURE_MIN_FILTER","vertexAttribPointer","shaderSource","uniformMatrix4fv","vertexPosition","getShaderParameter","uProjectionMatrix","TEXTURE1","clear","TEXTURE_WRAP_T","getProgramParameter","TEXTURE_MAG_FILTER","lookAt","projectionMatrix","TEXTURE0","viewMatrix","LEQUAL","DEPTH_BUFFER_BIT","viewport","bindBuffer","compileShader","clearDepth","aVertexPosition","uViewMatrix","createShader","uniformLocations"];return(te=function(){return e})()}!function(e,t){for(var r=Q,n=e();;)try{if(199458===parseInt(r(222))/1+parseInt(r(228))/2*(parseInt(r(224))/3)+-parseInt(r(225))/4*(parseInt(r(229))/5)+-parseInt(r(220))/6+-parseInt(r(227))/7+-parseInt(r(223))/8*(-parseInt(r(221))/9)+parseInt(r(226))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Z),function(e,t){const r=ee,n=e();for(;;)try{if(284801===parseInt(r(451))/1+parseInt(r(456))/2*(-parseInt(r(417))/3)+-parseInt(r(421))/4*(-parseInt(r(411))/5)+-parseInt(r(442))/6*(parseInt(r(464))/7)+parseInt(r(416))/8+parseInt(r(380))/9+parseInt(r(372))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(te);var re=(e,t)=>{const r=ee,n=r(424),i=r(410);t&&e[r(381)](e[r(419)],1);const s=function(){const t=r,s=f(e.VERTEX_SHADER,n),a=f(e.FRAGMENT_SHADER,i),o=e[t(448)]();return e[t(373)](o,s),e.attachShader(o,a),e[t(465)](o),e[t(393)](o,e[t(431)])?o:(console[t(422)](t(379)+e.getProgramInfoLog(o)),null)}();let a={program:s,attribLocations:{vertexPosition:e.getAttribLocation(s,r(405)),texturePosition:e.getAttribLocation(s,r(368))},uniformLocations:{projectionMatrix:e[r(459)](s,r(389)),modelMatrix:e.getUniformLocation(s,r(440)),viewMatrix:e.getUniformLocation(s,r(406)),rgbatexture:e[r(459)](s,"rgbaTexture"),ytexture:e.getUniformLocation(s,r(412)),utexture:e[r(459)](s,r(377)),vtexture:e[r(459)](s,r(414)),isyuv:e[r(459)](s,r(375))}},o=function(){const t=r,n=e[t(449)]();e[t(402)](e.ARRAY_BUFFER,n);e[t(452)](e[t(447)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e[t(438)]);var i=[];i=i.concat([0,1],[1,1],[1,0],[0,0]);const s=e[t(449)]();e.bindBuffer(e[t(447)],s),e.bufferData(e.ARRAY_BUFFER,new Float32Array(i),e[t(438)]);const a=e[t(449)]();e[t(402)](e[t(367)],a);return e[t(452)](e[t(367)],new Uint16Array([0,1,2,0,2,3]),e[t(438)]),{position:n,texPosition:s,indices:a}}(),c=h(),u=h(),l=h(),d=h();function h(){const t=r;let n=e[t(374)]();return e[t(413)](e[t(378)],n),e.texParameteri(e[t(378)],e[t(394)],e.LINEAR),e.texParameteri(e.TEXTURE_2D,e[t(383)],e[t(429)]),e[t(462)](e[t(378)],e[t(420)],e[t(437)]),e[t(462)](e.TEXTURE_2D,e[t(392)],e[t(437)]),n}function f(t,n){const i=r,s=e[i(407)](t);return e[i(385)](s,n),e[i(403)](s),e[i(388)](s,e[i(443)])?s:(console[i(422)](i(444)+e[i(432)](s)),e[i(461)](s),null)}function p(t,n){const i=r;e[i(401)](0,0,t,n),e.clearColor(0,0,0,0),e[i(404)](1),e.enable(e[i(418)]),e[i(415)](e[i(399)]),e[i(391)](e[i(427)]|e[i(400)]);const s=x[i(371)]();E(s,-1,1,-1,1,.1,100);const c=m();x[i(425)](c);const h=x[i(371)]();x[i(395)](h,K[i(446)](0,0,0),M(0,0,-1),K[i(446)](0,1,0));{const t=3,r=e[i(433)],n=!1,s=0,c=0;e.bindBuffer(e.ARRAY_BUFFER,o[i(382)]),e[i(384)](a[i(434)][i(387)],t,r,n,s,c),e[i(428)](a[i(434)][i(387)])}{const t=2,r=e[i(433)],n=!1,s=0,c=0;e[i(402)](e[i(447)],o.texPosition),e[i(384)](a[i(434)][i(454)],t,r,n,s,c),e[i(428)](a[i(434)].texturePosition)}e.activeTexture(e[i(397)]+3),e.bindTexture(e[i(378)],u),e[i(436)](e[i(397)]+4),e[i(413)](e[i(378)],l),e[i(436)](e[i(397)]+5),e.bindTexture(e[i(378)],d),e[i(402)](e[i(367)],o[i(423)]),e[i(409)](a[i(450)]),e[i(386)](a.uniformLocations[i(396)],!1,s),e.uniformMatrix4fv(a[i(408)].modelMatrix,!1,c),e[i(386)](a[i(408)][i(398)],!1,h),e[i(435)](a.uniformLocations[i(441)],2),e[i(435)](a.uniformLocations.ytexture,3),e[i(435)](a[i(408)][i(439)],4),e[i(435)](a[i(408)][i(453)],5),e[i(435)](a[i(408)][i(375)],1);{const t=6,r=e[i(457)],n=0;e[i(426)](e.TRIANGLES,t,r,n)}}return{render:function(t,n,i,s,a){const o=r;e[o(436)](e[o(397)]),e[o(413)](e[o(378)],u),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,t,n,0,e[o(370)],e[o(460)],i),e[o(436)](e[o(390)]),e.bindTexture(e[o(378)],l),e[o(455)](e[o(378)],0,e[o(370)],t/2,n/2,0,e.LUMINANCE,e[o(460)],s),e[o(436)](e[o(430)]),e[o(413)](e[o(378)],d),e[o(455)](e[o(378)],0,e.LUMINANCE,t/2,n/2,0,e[o(370)],e.UNSIGNED_BYTE,a),p(t,n)},renderYUV:function(t,n,i){const s=r;let a=i[s(376)](0,t*n),o=i.slice(t*n,t*n*5/4),c=i[s(376)](t*n*5/4,t*n*3/2);e[s(436)](e[s(397)]),e[s(413)](e[s(378)],u),e[s(455)](e[s(378)],0,e[s(370)],t,n,0,e[s(370)],e[s(460)],a),e[s(436)](e[s(390)]),e[s(413)](e[s(378)],l),e.texImage2D(e.TEXTURE_2D,0,e[s(370)],t/2,n/2,0,e[s(370)],e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e[s(413)](e[s(378)],d),e[s(455)](e[s(378)],0,e[s(370)],t/2,n/2,0,e[s(370)],e.UNSIGNED_BYTE,c),p(t,n)},destroy:function(){const t=r;e[t(463)](a[t(450)]),e[t(445)](o[t(382)]),e[t(445)](o[t(369)]),e[t(445)](o[t(423)]),e[t(458)](c),e[t(458)](u),e[t(458)](l),e[t(458)](d),a=null,o=null,c=null,u=null,l=null,d=null}}};const ne=Ge;!function(e,t){const r=Ge,n=e();for(;;)try{if(840085===-parseInt(r(495))/1*(parseInt(r(327))/2)+-parseInt(r(311))/3*(-parseInt(r(424))/4)+-parseInt(r(485))/5+parseInt(r(260))/6*(parseInt(r(561))/7)+parseInt(r(431))/8+parseInt(r(641))/9+-parseInt(r(677))/10*(-parseInt(r(314))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(We);const ie={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};ne(451),ne(388),ne(259),ne(660),ne(671);const se={fetch:ne(388),hls:ne(259),websocket:ne(451),webrtc:ne(660),webTransport:ne(293),worker:ne(610),aliyunRtc:ne(671),mp4:ne(569)},ae={player:ne(247),playerAudio:ne(358),playbackTF:"playbackTF",talk:ne(498),playVod:ne(508)},oe={mp4:ne(569),webm:"webm",flv:ne(697),mov:ne(665)},ce={flv:ne(697),m7s:ne(240),hls:"hls",webrtc:ne(660),webTransport:"webTransport",nakedFlow:ne(299),fmp4:ne(545),mpeg4:ne(412),aliyunRtc:ne(671),ts:"ts",g711:ne(551),pcm:ne(246)};ne(254),ne(289),ne(593),ne(420),ne(296),ne(668),ne(528),ne(507);const ue={mse:"mse",wcs:ne(459),offscreen:ne(558),wasm:ne(371),simd:"simd",mt:"mt",webrtc:ne(660),hls:ne(259),aliyunRtc:"aliyunRtc"},le={canvas:"canvas",video:ne(323)},de={debug:ne(573),warn:ne(657)},he={click:ne(331),mouseDownAndUp:ne(577)},fe={normal:ne(529),simple:ne(405)},pe={normal:ne(529),small:"small"},me=ne(607),ve=ne(608),ye=36e5,ge=4080,_e=12;ne(348),ne(653);const be={playIsNotPauseOrUrlIsNull:ne(479),webglAlignmentError:ne(618),webglContextLostError:ne(368),mediaSourceH265NotSupport:ne(700),mseSourceBufferFull:ne(422),mediaSourceAppendBufferError:ne(435),mseSourceBufferError:"解码失败",mseAddSourceBufferError:ne(435),mseWorkerAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:ne(435),mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:ne(350),mediaSourceAudioG711NotSupport:ne(282),mediaSourceAudioInitTimeout:ne(505),mediaSourceAudioNoDataTimeout:ne(301),mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",mediaSourceBufferedIsZeroError:"流异常",webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:"初始化解码器失败",webcodecsDecodeConfigureError:ne(435),webcodecsDecodeError:ne(288),webcodecsAudioInitTimeout:ne(505),webcodecsAudioNoDataTimeout:ne(301),wcsWidthOrHeightChange:ne(288),wasmDecodeError:ne(288),simdDecodeError:ne(288),wasmWidthOrHeightChange:ne(350),wasmUseVideoRenderError:"video自动渲染失败",videoElementPlayingFailed:ne(652),simdH264DecodeVideoWidthIsTooLarge:ne(642),networkDelayTimeout:ne(531),fetchError:ne(436),streamEnd:ne(635),websocket1006Error:ne(258),websocketError:ne(436),webrtcError:"请求失败",hlsError:"请求失败",decoderWorkerInitError:ne(234),decoderWorkerWasmError:ne(510),videoElementPlayingFailedForWebrtc:"video自动渲染失败",videoInfoError:"解析视频分辨率失败",webrtcStreamH265:"webrtc不支持H265",delayTimeout:ne(695),loadingTimeout:"加载超时重播失败",loadingTimeoutRetryEnd:ne(656),delayTimeoutRetryEnd:ne(695),flvDemuxBufferSizeTooLarge:ne(623),audioChannelError:ne(568),aliyunRtcError:"请求失败",mseWaitVideoCanplayTimeout:ne(350),initDecoderWorkerTimeout:ne(381)},we={playType:ae[ne(247)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:de[ne(657)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:pe[ne(529)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:ne(667),decoderOld:ne(699),decoderAudio:ne(395),decoderHard:ne(428),decoderHardNotWasm:ne(480),wasmMp4RecorderDecoder:ne(440),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:ne(275),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:fe[ne(529)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:ie[ne(388)],demuxType:ce.flv,useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ue.wasm,autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:oe.mp4,checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:"vertical",ptzClickType:he[ne(331)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:be,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:le[ne(323)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:ne(662),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:ne(662),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:ne(605),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};ne(312),ne(380),ne(613),ne(287),ne(324),ne(487),ne(338),ne(291),ne(503),ne(502),ne(285),ne(627),ne(616),ne(581),ne(309),ne(356),ne(658),ne(673);const Se={init:ne(497),initVideo:ne(559),render:ne(317),playAudio:ne(441),initAudio:ne(556),kBps:ne(640),decode:ne(397),audioCode:"audioCode",audioNalu:"audioNalu",audioAACSequenceHeader:ne(237),videoCode:ne(547),videoCodec:ne(245),videoNalu:ne(411),videoPayload:ne(523),audioPayload:ne(595),wasmError:ne(283),workerFetch:"workerFetch",iframeIntervalTs:"iframeIntervalTs",isDropping:ne(684),workerEnd:ne(315),networkDelay:"networkDelay",playbackStreamVideoFps:ne(449),wasmWidthOrHeightChange:ne(693),simdDecodeError:ne(691),simdH264DecodeVideoWidthIsTooLarge:ne(488),websocketOpen:"websocketOpen",closeEnd:ne(406),tempStream:ne(274),videoSEI:ne(446),flvScriptData:ne(342),aacSequenceHeader:"aacSequenceHeader",videoSequenceHeader:ne(233),flvBufferData:ne(511),checkFirstIFrame:"checkFirstIFrame",mseHandle:ne(525),mseFirstRenderTime:ne(438),mseError:ne(390),notSupportNewWasm:ne(471)};ne(373);const Ie={audio:1,video:2},Ae={audio:8,video:9,scriptData:18},Ee={init:ne(497),decode:ne(397),audioDecode:"audioDecode",videoDecode:ne(555),initAudioCodec:ne(382),initVideoCodec:ne(375),close:ne(469),updateConfig:ne(602),resetDecode:ne(426),clearBuffer:ne(599),resetAudioDecode:ne(321),resetVideoDecode:ne(334),fetchStream:ne(476),sendWsMessage:"sendWsMessage",mseUpdateVideoTimestamp:ne(391),playbackIsPause:"playbackIsPause"};ne(388),ne(370),ne(249),ne(389),ne(468),ne(478),ne(388),ne(370),ne(249),ne(486),ne(414);const ke={fullscreen:ne(645),webFullscreen:"webFullscreen",decoderWorkerInit:"decoderWorkerInit",play:ne(355),playing:ne(460),pause:ne(611),mute:ne(620),load:ne(649),loading:ne(421),zooming:ne(475),drawingRect:ne(578),drawingRectInfo:ne(619),videoInfo:ne(343),timeUpdate:"timeUpdate",audioInfo:ne(492),log:ne(594),error:ne(328),kBps:"kBps",timeout:ne(550),delayTimeout:ne(444),delayTimeoutRetryEnd:ne(571),loadingTimeout:ne(483),loadingTimeoutRetryEnd:"loadingTimeoutRetryEnd",stats:ne(629),performance:ne(636),videoSmooth:ne(393),faceDetectActive:ne(276),objectDetectActive:ne(267),occlusionDetectActive:ne(295),imageDetectActive:ne(319),record:ne(646),recording:"recording",recordingTimestamp:ne(582),recordStart:ne(617),recordEnd:ne(470),recordCreateError:ne(472),recordBlob:ne(524),recordCancel:"recordCancel",buffer:ne(389),videoFrame:"videoFrame",videoSEI:ne(446),videoSEISyncPts:ne(409),start:ne(549),metadata:ne(286),resize:ne(527),volumechange:ne(337),volume:ne(655),destroy:ne(370),beforeDestroy:ne(628),streamEnd:ne(590),streamRate:ne(253),streamAbps:ne(463),streamVbps:"streamVbps",streamDts:ne(557),streamSuccess:ne(364),streamMessage:"streamMessage",streamError:ne(474),streamStats:"streamStats",streamEndInner:ne(465),mseSourceOpen:"mseSourceOpen",mseSourceClose:ne(467),mseSourceended:ne(572),mseSourceStartStreaming:ne(589),mseSourceEndStreaming:"mseSourceEndStreaming",mseSourceBufferError:ne(631),mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:ne(302),mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:ne(256),videoWaiting:"videoWaiting",videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:ne(494),playToRenderTimes:ne(601),playbackTime:"playbackTime",playbackTimestamp:"playbackTimestamp",playbackTimeScroll:ne(473),playbackPrecision:ne(537),playbackShowPrecisionChange:ne(433),playbackJustTime:ne(425),playbackStats:ne(376),playbackSeek:ne(263),playbackPause:ne(703),playbackPauseOrResume:ne(513),playbackRateChange:ne(430),playbackPreRateChange:"playbackPreRateChange",playbackEnd:ne(625),playVodStats:ne(638),playVodPause:"playVodPause",playVodPauseOrResume:ne(242),playVodRateChange:ne(687),playVodTime:"playVodTime",playVodTimeCache:ne(333),playVodSeek:ne(455),playVodSeekEnd:ne(499),playVodVideoSeekingByMse:ne(329),playVodVideoSeekedByMse:"playVodVideoSeekedByMse",playVodCanplay:"playVodCanplay",playVodWaiting:"playVodWaiting",playVodEndedAndReplay:ne(632),playVodEnded:ne(404),ptz:"ptz",streamQualityChange:"streamQualityChange",visibilityChange:ne(362),netBuf:"netBuf",close:ne(469),networkDelayTimeout:ne(363),togglePerformancePanel:"togglePerformancePanel",viewResizeChange:ne(663),flvDemuxBufferSizeTooLarge:ne(325),talkGetUserMediaSuccess:ne(385),talkGetUserMediaFail:ne(517),talkGetUserMediaTimeout:"talkGetUserMediaTimeout",talkStreamStart:ne(554),talkStreamOpen:ne(262),talkStreamClose:ne(399),talkStreamError:ne(564),talkStreamInactive:ne(615),talkStreamMsg:ne(452),webrtcDisconnect:ne(600),webrtcFailed:ne(583),webrtcClosed:ne(298),webrtcChecking:ne(266),webrtcConnected:ne(535),webrtcCompleted:ne(575),webrtcOnConnectionStateChange:ne(674),webrtcOnIceConnectionStateChange:ne(533),crashLog:ne(255),focus:ne(304),blur:"blur",inView:"inView",visibilityHiddenTimeout:ne(538),websocketOpen:ne(271),websocketClose:ne(414),websocketError:ne(486),websocketMessage:"websocketMessage",aiObjectDetectorInfo:"aiObjectDetectorInfo",aiFaceDetectorInfo:ne(345),aiOcclusionDetectResult:ne(518),aiImageDetectResult:ne(290),playFailedAndPaused:"playFailedAndPaused",audioResumeState:ne(633),webrtcStreamH265:ne(678),flvMetaData:ne(270),talkFailedAndStop:ne(515),removeLoadingBgImage:ne(284),memoryLog:ne(647),downloadMemoryLog:ne(626),pressureObserverCpu:ne(651),currentPts:ne(648),online:"online",offline:ne(544),networkState:ne(698),clickInitPlayer:"clickInitPlayer"};ne(649),ne(343),ne(492),ne(640),ne(549),ne(483),ne(444),ne(675),ne(378),ne(355),ne(620),ne(629),ne(617),ne(524),ne(398),ne(601),ne(263),ne(376),ne(272),ne(513),ne(500),ne(430),ne(433),ne(625),ne(687),ne(606),ne(455),ne(499),ne(624),ne(565),ne(475),ne(255),ne(239),ne(271),ne(414),ne(363),ne(418),ne(518),ne(290),ne(305),ne(590),ne(270),ne(533),ne(698),ne(619),ne(644),ne(399),ne(564),ne(384),ne(515),ne(452),ne(649),ne(596),ne(492),ne(328),ne(640),ne(549),ne(550),ne(630),ne(444),ne(571),ne(355),ne(620),ne(629),ne(601),ne(255),ne(271),ne(414),ne(305);const Ce={talkStreamError:ke[ne(564)],talkStreamClose:ke.talkStreamClose},Te={playError:ne(621),fetchError:ne(468),websocketError:ne(486),webcodecsH265NotSupport:ne(437),webcodecsDecodeError:ne(439),webcodecsUnsupportedConfigurationError:ne(670),webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:ne(310),webcodecsAudioNoDataTimeout:"webcodecsAudioNoDataTimeout",mediaSourceH265NotSupport:ne(408),mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:ne(491),mediaSourceAudioNoDataTimeout:ne(387),mediaSourceDecoderConfigurationError:ne(442),mediaSourceFull:ke[ne(256)],mseSourceBufferError:ke[ne(631)],mseAddSourceBufferError:ke.mseAddSourceBufferError,mseWorkerAddSourceBufferError:ke[ne(302)],mediaSourceAppendBufferError:ne(341),mediaSourceTsIsMaxDiff:ne(566),mediaSourceUseCanvasRenderPlayFailed:ne(415),mediaSourceBufferedIsZeroError:ne(464),wasmDecodeError:ne(330),wasmUseVideoRenderError:ne(580),simdH264DecodeVideoWidthIsTooLarge:ne(488),simdDecodeError:ne(691),hlsError:ne(521),webrtcError:ne(458),webrtcClosed:ke[ne(298)],webrtcIceCandidateError:ne(279),webglAlignmentError:ne(346),wasmWidthOrHeightChange:ne(693),mseWidthOrHeightChange:ne(235),wcsWidthOrHeightChange:ne(268),widthOrHeightChange:"widthOrHeightChange",tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:ke[ne(325)],audioChannelError:ne(413),webglContextLostError:"webglContextLostError",videoElementPlayingFailed:ne(447),videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:ne(454),decoderWorkerWasmError:ne(427),videoInfoError:ne(401),streamEnd:ke[ne(590)],websocket1006Error:ne(584),delayTimeout:ke[ne(444)],loadingTimeout:ke[ne(483)],networkDelayTimeout:ke[ne(363)],fullscreenError:ne(403),aliyunRtcError:ne(313),mseWaitVideoCanplayTimeout:"mseWaitVideoCanplayTimeout",initDecoderWorkerTimeout:ne(509),notSupportNewWasm:ne(471),playVodMp4Error:ne(269),mp4Error:ne(546),...Ce};ne(679),ne(252),ne(469),ne(328);const xe={connecting:0,open:1,closing:2,closed:3};ne(661),ne(506),ne(682),ne(238),ne(540),ne(682),ne(294),ne(296);const Be={h264:7,h265:12,mpeg4:99},De={h264:ne(294),h265:ne(490)},Me={AAC:10,ALAW:7,MULAW:8,MP3:2};ne(576),ne(307),ne(278),ne(501),ne(576),ne(419),ne(501);const Pe={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Ue={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};ne(688),ne(339),ne(543),ne(622),ne(297),ne(259),ne(660);const Fe={key:"key",delta:ne(587)},Re={avc:ne(241),hev:ne(261),hev2:ne(423),hev3:ne(683),hev4:ne(316),hev5:'video/mp4;codecs="hev1.4.10.L120.90"'},Le={ended:ne(496),open:ne(252),closed:ne(516)};Math[ne(320)](40),ne(353),ne(681),ne(250),ne(318),ne(372),ne(604),ne(514),ne(567),ne(353),ne(681),ne(461),ne(690),ne(588),ne(450),ne(264),ne(690),ne(379),ne(553),ne(265),ne(243),ne(560),ne(383),ne(448),ne(445),ne(351),ne(352),ne(429),ne(481),ne(692);ne(520),ne(386);ne(365),ne(453);const Oe={sourceClose:"sourceclose",sourceOpen:ne(281),sourceended:ne(694),startstreaming:ne(680),endstreaming:ne(347),qualitychange:ne(676)};ne(654),ne(308),ne(664),ne(443);const ze={h264:ne(609),h265:"hevc"};ne(689),ne(562),ne(484),ne(639),ne(366);const Ne={abortError:"The user aborted a request",abortError2:ne(332),abort:ne(332)};ne(460),ne(407),ne(370);const He={sequenceHeader:0,nalu:1},Ve=1;ne(394),ne(277),ne(367);ne(354),ne(493),ne(252),ne(248);ne(536),ne(416);ne(394),ne(432),ne(672),ne(657),ne(536),ne(536),ne(416),ne(244),ne(534),ne(322),ne(530),ne(344),ne(236),ne(400),ne(280),ne(340),ne(326),ne(532),ne(541),ne(570),ne(659),ne(360);const je={keyFrame:1,interFrame:2};function We(){const e=["blur","m7s",'video/mp4; codecs="avc1.64002A"',"playVodPauseOrResume","fiStop","active","videoCodec","pcm","player","message","destroyEnd","fiveMin","alaw","open","streamRate","FLV","crashLog","mseSourceBufferFull","canplaythrough","流异常结束","hls","6zFOZuI",'video/mp4; codecs="hev1.1.6.L123.b0"',"talkStreamOpen","playbackSeek","right-down","stop","webrtcChecking","objectDetectActive","wcsWidthOrHeightChange","playVodMp4Error","flvMetaData","websocketOpen","playbackTimestamp","data-channel","tempStream","default","faceDetectActive","jtt","MULAW(g711u)","webrtcIceCandidateError","multiMouseout","sourceopen","硬解码不支持G711a/u音频格式","wasmError","removeLoadingBgImage","isNakedFlow","metadata","isM7sCrypto","解码失败","M7S","aiImageDetectResult","controlSize","seeking","webTransport","H264(AVC)","occlusionDetectActive","MPEG4","mse","webrtcClosed","nakedFlow","MEDIA_ERR_ABORTED","等待音频数据超时","mseWorkerAddSourceBufferError","global","focus","playFailedAndPaused","webrtc-checking","ALAW(g711a)","timeupdate","isWebrtcForSRS","webcodecsAudioInitTimeout","297603wMpMCd","playType","aliyunRtcError","55moBHFV","workerEnd",'video/mp4;codecs="hev1.3.E.L120.90"',"render","one-hour","imageDetectActive","ceil","resetAudioDecode","#FFCC00","video","supportHls265","flvDemuxBufferSizeTooLarge","multiMousedown","18VBplMk","error","playVodVideoSeekingByMse","wasmDecodeError","click","AbortError","playVodTimeCache","resetVideoDecode","media-source","webrtc-failed","volumechange","widthOrHeightChangeReplayDelayTime","webgl","multiMouseup","mediaSourceAppendBufferError","flvScriptData","videoInfo","multiDblSelected","aiFaceDetectorInfo","webglAlignmentError","endstreaming","jbprov","object","流异常","focusNear","fogOpen","oneHour","stream","play","isWebrtcForOthers","no-audio-track","playerAudio","connecting","container","NotAllowedError","visibilityChange","networkDelayTimeout","streamSuccess","image/png","HEVC decoding is not supported","udp","webgl 上下文丢失","idle","destroy","wasm","half-hour","Invalid NAL unit size","durationchange","initVideoCodec","playbackStats","wcsDecodeError","webFullscreen","leftUp","playbackForwardMaxRateDecodeIFrame","初始化解码worker超时","initAudioCodec","zoomNarrow","talkGetUserMediaTimeout","talkGetUserMediaSuccess","opus","mediaSourceAudioNoDataTimeout","fetch","buffer","mseError","mseUpdateVideoTimestamp","outbound-rtp","videoSmooth","rtp","decoder-pro-audio.js","flv-script-data","decode","recordCancel","talkStreamClose","multiMouseover","videoInfoError","certificate","fullscreenError","playVodEnded","simple","closeEnd","paused","mediaSourceH265NotSupport","videoSEISyncPts","hls-level-loaded","videoNalu","mpeg4","audioChannelError","websocketClose","mediaSourceUseCanvasRenderPlayFailed","script","receiver","aiObjectDetectorInfo","ALAW","FMP4","loading","缓冲区已满",'video/mp4;codecs="hev1.1.6.L120.90"',"4knbmid","playbackJustTime","resetDecode","decoderWorkerWasmError","decoder-pro-hard.js","fogClose","playbackRateChange","5407368kVoueP","tcp","playbackShowPrecisionChange","emptied","初始化解码器失败","请求失败","webcodecsH265NotSupport","mseFirstRenderTime","webcodecsDecodeError","jessibuca-pro-mp4-recorder-decoder.js","playAudio","mediaSourceDecoderConfigurationError","progress","delayTimeout","apertureNear","videoSEI","videoElementPlayingFailed","apertureFar","playbackStreamVideoFps","right-up","websocket","talkStreamMsg","image/webp","decoderWorkerInitError","playVodSeek","demuxed-track","canplay","webrtcError","wcs","playing","right","ws1006","streamAbps","mediaSourceBufferedIsZeroError","streamEndInner","complete","mseSourceClose","fetchError","close","recordEnd","notSupportNewWasm","recordCreateError","playbackTimeScroll","streamError","zooming","fetchStream","load-complete","fetchSuccess","播放地址不能为空","decoder-pro-hard-not-wasm.js","wiperOpen","switch-url-failed","loadingTimeout","Decoder failure","3700595GEsRMN","websocketError","pauseAndNextPlayUseLastFrameShow","simdH264DecodeVideoWidthIsTooLarge","memory access out of bounds","H265(HEVC)","mediaSourceAudioInitTimeout","audioInfo","playback","videoSyncAudio","171637lFlHdO","ended","init","talk","playVodSeekEnd","playbackPreRateChange","MP3","isFmp4","isFlv","stream-parsed","初始化音频解码器失败","full","AliyunRtc","playVod","initDecoderWorkerTimeout","wasm解码失败","flvBufferData","loadedmetadata","playbackPauseOrResume","30min","talkFailedAndStop","closed","talkGetUserMediaFail","aiOcclusionDetectResult","sender","g711u","hlsError","readystatechange","videoPayload","recordBlob","mseHandle","suspend","resize","WebTransport","normal","#000","网络超时重播失败","multiMousemove","webrtcOnIceConnectionStateChange","#343434","webrtcConnected","worklet","playbackPrecision","visibilityHiddenTimeout","ttfb","blob","multiDragenter","remote-inbound-rtp","webgl2","offline","fmp4","mp4Error","videoCode","play() failed because the user didn't interact with the document first","start","timeout","g711","audio packet","leftDown","talkStreamStart","videoDecode","initAudio","streamDts","offscreen","initVideo","zoomExpand","7518322rFFrsH","Unsupported configuration","MEDIA_ERR_DECODE","talkStreamError","streamQualityChange","mediaSourceTsIsMaxDiff","10min","音频通道错误","mp4","multiDrop","delayTimeoutRetryEnd","mseSourceended","debug","load-response-headers","webrtcCompleted","AAC","mouseDownAndUp","drawingRect","buffereos","wasmUseVideoRenderError","isWebrtcForZLM","recordingTimestamp","webrtcFailed","websocket1006Error","peer-connection","decoder-pro-audio-player.js","delta","left-up","mseSourceStartStreaming","streamEnd","load-start","metadata-parsed","HLS","log","audioPayload","timeUpdate","self","hls-manifest-loaded","clearBuffer","webrtcDisconnect","playToRenderTimes","updateConfig","codec","five-min","red","playVodTime","JessibucaPro","20240910","avc","worker","pause","webrtc-disconnected","isMulti","local-candidate","talkStreamInactive","isWebrtc","recordStart","Webgl 渲染失败","drawingRectInfo","mute","playIsNotPauseOrUrlIsNull","webgpu","FLV待解封装buffer过大","ptz","playbackEnd","downloadMemoryLog","isHls","beforeDestroy","stats","loadingTimeoutRetryEnd","mseSourceBufferError","playVodEndedAndReplay","audioResumeState","ratechange","请求结束","performance","switch-url-success","playVodStats","Decoder error","kBps","11182176LATJZv","不支持该分辨率的视频","remove-buffer","clickInitPlayer","fullscreen$2","record","memoryLog","currentPts","load","loadeddata","pressureObserverCpu","video自动渲染失败","jbprovm","waiting","volume","加载超时重播失败","warn","isAliyunRtc","4-1","webrtc","empty","white","viewResizeChange","stalled","mov","video decoder initialization failed","decoder-pro.js","Webrtc","subtitle-segments","webcodecsUnsupportedConfigurationError","aliyunRtc","0000000000","isTs","webrtcOnConnectionStateChange","fullscreen","qualitychange","66610gmFaGR","webrtcStreamH265","notConnect","startstreaming","halfHour","download",'video/mp4;codecs="hev1.2.4.L120.90"',"isDropping","webrtc-completed","subtitle-playlist","playVodRateChange","webcodecs","A key frame is required after configure() or flush()","down","simdDecodeError","wiperClose","wasmWidthOrHeightChange","sourceended","播放超时重播失败","seeked","flv","networkState","decoder-pro-old.js","不支持硬解码H265","sourcebuffer-created","candidate-pair","playbackPause","videoSequenceHeader","初始化worker失败","mseWidthOrHeightChange","multiSelected","audioAACSequenceHeader","base64"];return(We=function(){return e})()}function Ge(e,t){const r=We();return(Ge=function(e,t){return r[e-=233]})(e,t)}ne(358),ne(657),ne(388),ne(697),ne(586),ne(669),ne(598),ne(410),ne(456),ne(396),ne(592),ne(539),ne(591),ne(477),ne(574),ne(357),ne(643),ne(579),ne(701),ne(482),ne(637),ne(686),ne(504),ne(328);const $e={idle:ne(369),connecting:ne(359),buffering:"buffering",error:ne(328),complete:ne(466)};ne(300),ne(563),ne(666),ne(552),ne(548),ne(361),ne(489);const qe={video:1,audio:2},Ye=128,Je={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Xe={FT_KEY:16,FT_INTER:32};ne(702),ne(402),ne(603),ne(273),ne(614),ne(392),ne(585),ne(417),ne(542),ne(519),ne(354),ne(335),ne(462),ne(377),ne(474),ne(251),ne(306),ne(685),ne(612),ne(336),ne(421),ne(460);const Ke="object"==typeof window&&window.window===window?window:"object"==typeof self&&self[ne(597)]===self?self:typeof global===ne(349)&&global[ne(303)]===global?global:void 0;ne(457),ne(257),ne(466),ne(374),ne(434),ne(496),ne(328),ne(650),ne(512),ne(611),ne(355),ne(460),ne(634),ne(696),ne(292),ne(664),ne(526),ne(308),ne(337),ne(522);var Ze="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Qe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function et(e,t){return e(t={exports:{}},t.exports),t.exports}var tt=Object.freeze({__proto__:null,commonjsGlobal:Ze,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:Qe,createCommonjsModule:et,getCjsExportFromNamespace:function(e){return e&&e.default||e}}),rt=nt;function nt(e,t){var r=it();return(nt=function(e,t){return r[e-=500]})(e,t)}function it(){var e=["3495666rTtwPc","request","mozRequestFullScreen","webkitRequestFullScreen","then","msFullscreenEnabled","14005tvIirS","webkitRequestFullscreen","exitFullscreen","error","mozfullscreenchange","webkitfullscreenchange","fullscreenEnabled","1038651sNybWo","316LXEhGq","MSFullscreenChange","msExitFullscreen","catch","defineProperties","document","webkitCancelFullScreen","webkitExitFullscreen","requestFullscreen","fullscreenchange","mozCancelFullScreen","62546NcaxMI","mozfullscreenerror","webkitFullscreenElement","length","off","msRequestFullscreen","webkitCurrentFullScreenElement","fullscreenElement","webkitfullscreenerror","isEnabled","2TpjsEL","undefined","createCommonjsModule","exit","473802VjZyIa","change","MSFullscreenError","isFullscreen","fullscreenerror","7131339WFBCGb","bind","msFullscreenElement","91yZTqEF","2064084HXUXWx","object","exports","8EUoBjO","580CbPSYk","screenfull"];return(it=function(){return e})()}!function(e,t){for(var r=nt,n=e();;)try{if(641287===parseInt(r(519))/1*(-parseInt(r(541))/2)+parseInt(r(506))/3+parseInt(r(520))/4*(-parseInt(r(512))/5)+-parseInt(r(545))/6*(-parseInt(r(553))/7)+-parseInt(r(503))/8*(parseInt(r(550))/9)+-parseInt(r(504))/10*(-parseInt(r(531))/11)+parseInt(r(500))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(it),tt[rt(543)]((function(e){var t,r,n,i,s,a;t=nt,r="undefined"!=typeof window&&typeof window[t(525)]!==t(542)?window.document:{},n=t(501)!==t(542)&&e.exports,i=function(){for(var e,n=t,i=[[n(528),"exitFullscreen",n(538),n(518),n(529),n(549)],[n(513),n(527),n(533),"webkitFullscreenEnabled","webkitfullscreenchange",n(539)],[n(509),"webkitCancelFullScreen",n(537),n(526),n(517),"webkitfullscreenerror"],[n(508),n(530),"mozFullScreenElement","mozFullScreenEnabled",n(516),n(532)],[n(536),n(522),n(552),n(511),n(521),n(547)]],s=0,a=i[n(534)],o={};s32&&console[t(371)](t(379)),e<=this[t(375)]){let r=this[t(377)]>>>32-e;return this[t(377)]<<=e,this[t(375)]-=e,r}let r=this._current_word_bits_left?this[t(377)]:0;r>>>=32-this[t(375)];let n=e-this._current_word_bits_left;this[t(357)]();let i=Math[t(367)](n,this[t(375)]),s=this[t(377)]>>>32-i;return this[t(377)]<<=i,this[t(375)]-=i,r=r<>>t))return this[e(377)]<<=t,this[e(375)]-=t,t;return this[e(357)](),t+this._skipLeadingZero()}[st(386)](){const e=st;let t=this[e(359)]();return this[e(361)](t+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}function ct(){const e=["1487950fAinJF","_current_word","196973THuGrw","ExpGolomb: readBits() bits exceeded max 32bits!","subarray","396668CaTCoH","_buffer_index","12zhABWH","destroy","92654YMsYwr","readUEG","_total_bytes","12IfFfnG","_fillCurrentWord","byteLength","_skipLeadingZero","9NLfnfz","readBits","set","1854028UlMUeG","_buffer","18ONvLao","80NpbjUo","min","20055MeWIni","ExpGolomb: _fillCurrentWord() but no bytes available","getUint32","error","229455COUAwc","_total_bits","buffer","_current_word_bits_left"];return(ct=function(){return e})()}const ut=ft;!function(e,t){const r=ft,n=e();for(;;)try{if(716825===parseInt(r(493))/1+parseInt(r(488))/2*(-parseInt(r(499))/3)+parseInt(r(511))/4+-parseInt(r(490))/5*(parseInt(r(517))/6)+-parseInt(r(484))/7*(-parseInt(r(509))/8)+parseInt(r(497))/9*(-parseInt(r(514))/10)+-parseInt(r(535))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pt);const lt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],dt=lt,ht=lt;function ft(e,t){const r=pt();return(ft=function(e,t){return r[e-=467]})(e,t)}function pt(){const e=["iserro","current_syncword_offset_","push","hasIncompleteData","toLowerCase","aac","sampleRate: ","buffer","audioMuxVersionA is Not Supported","Flv: AAC invalid sampling frequency index!","56dAmEFV","frameLengthType = ","other_data_present","subarray","414wxzaAt","mp4a.40.","729455KYPLhF","aacEncoderConfigurationRecord","readByte","1126843sjUuXs","slice","chan_config","has_last_incomplete_data","864DtjGdP","firefox","4989yitgYO","sample_rate","channel_config",". Only frameLengthType = 0 Supported","bufoff","readBits","buflen","getLATMValue","ext_object_type","getIncompleteData","308344hmlsVt","indexOf","3160164FQcBHN","sampling_freq_index","set","10160HcAPZq","unshift","navigator","18oQMEgB","bufpos","findNextSyncwordOffset","readNextAACFrame","read","error","sampling_frequency","readBool","log","StreamMuxConfig Missing","AAC","android","destroy","audio_object_type","length","look","data_","channels","6918483bVnRIr","object_type","eof_flag_","data","byteLength","Flv: AAC invalid channel configuration","Could not found ADTS syncword until payload end","sbr","sampling_index","Invalid sampling index: "];return(pt=function(){return e})()}function mt(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function vt(e){return yt(e)&&e[1]===He.sequenceHeader}function yt(e){const t=ft;return e[0]>>4===Me[t(527)]}const gt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function _t(e){const t=ft;let r=new Uint8Array(e),n=null,i=0,s=0,a=0,o=null;if(i=s=r[0]>>>3,a=(7&r[0])<<1|r[1]>>>7,a<0||a>=gt[t(531)])return void console.error(t(483));let c=gt[a],u=(120&r[1])>>>3;if(u<0||u>=8)return void console[t(525)](t(469));5===i&&(o=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Ke[t(516)].userAgent[t(478)]();return-1!==l[t(510)](t(498))?a>=6?(i=5,n=new Array(4),o=a-3):(i=2,n=new Array(2),o=a):-1!==l[t(510)](t(528))?(i=2,n=new Array(2),o=a):(i=5,o=a,n=new Array(4),a>=6?o=a-3:1===u&&(i=2,n=new Array(2),o=a)),n[0]=i<<3,n[0]|=(15&a)>>>1,n[1]=(15&a)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&o)>>>1,n[2]=(1&o)<<7,n[2]|=8,n[3]=0),{audioType:t(479),config:n,sampleRate:c,channelCount:u,objectType:i,codec:t(489)+i,originalCodec:t(489)+s}}ut(532);class bt{constructor(e){const t=ut;this[t(533)]=e,this[t(537)]=!1,this[t(475)]=this[t(519)](0),this[t(537)]&&console[t(522)](t(470))}[ut(519)](e){const t=ut;let r=e,n=this[t(533)];for(;;){if(r+7>=n[t(468)])return this[t(537)]=!0,n[t(468)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}[ut(520)](){const e=ut;let t=this[e(533)],r=null;for(;null==r&&!this[e(537)];){let n=this[e(475)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,a=1&t[n+1],o=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this.data_[e(468)]){this[e(537)]=!0,this[e(496)]=!0;break}let d=1===a?7:9,h=l-d;n+=d;let f=this[e(519)](n+h);if(this[e(475)]=f,0!==i&&1!==i||0!==s)continue;let p=t[e(487)](n,n+h);r={},r.audio_object_type=o+1,r[e(512)]=c,r[e(523)]=dt[c],r[e(501)]=u,r.data=p}return r}[ut(477)](){return this[ut(496)]}[ut(508)](){const e=ut;return this[e(496)]?this[e(533)].subarray(this[e(475)]):null}}class wt{constructor(e){const t=ut;this[t(533)]=e,this[t(537)]=!1,this[t(475)]=this[t(519)](0),this[t(537)]&&console.error(t(470))}[ut(519)](e){const t=ut;let r=e,n=this[t(533)];for(;;){if(r+1>=n.byteLength)return this.eof_flag_=!0,n[t(468)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}getLATMValue(e){const t=ut;let r=e[t(504)](2),n=0;for(let i=0;i<=r;i++)n<<=8,n|=e[t(492)]();return n}[ut(520)](e){const t=ut;let r=this[t(533)],n=null;for(;null==n&&!this[t(537)];){let i=this.current_syncword_offset_,s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this[t(533)][t(468)]){this[t(537)]=!0,this.has_last_incomplete_data=!0;break}let a=new ot(r[t(487)](i+3,i+3+s)),o=null;if(a.readBool()){if(null==e){console.warn(t(526)),this[t(475)]=this[t(519)](i+3+s),a[t(529)]();continue}o=e}else{let e=a[t(524)]();if(e&&a[t(524)]()){console.error(t(482)),a[t(529)]();break}if(e&&this[t(506)](a),!a[t(524)]()){console[t(522)]("allStreamsSameTimeFraming zero is Not Supported"),a[t(529)]();break}if(0!==a[t(504)](6)){console[t(522)]("more than 2 numSubFrames Not Supported"),a[t(529)]();break}if(0!==a.readBits(4)){console[t(522)]("more than 2 numProgram Not Supported"),a[t(529)]();break}if(0!==a[t(504)](3)){console[t(522)]("more than 2 numLayer Not Supported"),a[t(529)]();break}let r=e?this[t(506)](a):0,n=a.readBits(5);r-=5;let i=a[t(504)](4);r-=4;let s=a.readBits(4);r-=4,a[t(504)](3),r-=3,r>0&&a[t(504)](r);let c=a[t(504)](3);if(0!==c){console[t(522)](t(485)+c+t(502)),a[t(529)]();break}a.readByte();let u=a[t(524)]();if(u)if(e)this[t(506)](a);else{let e=0;for(;;){e<<=8;let t=a.readBool();if(e+=a.readByte(),!t)break}console[t(525)](e)}a[t(524)]()&&a[t(492)](),o={},o[t(530)]=n,o[t(512)]=i,o[t(523)]=dt[o[t(512)]],o.channel_config=s,o.other_data_present=u}let c=0;for(;;){let e=a.readByte();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function It(e,t){const r=kt();return(It=function(e,t){return r[e-=359]})(e,t)}function At(e){const t=It;let r=arguments[t(374)]>1&&void 0!==arguments[1]?arguments[1]:4;if(e[t(374)]<4)return[];const n=e.length,i=[];let s,a=0;for(;a+r>>=8),a+=r,s){if(a+s>n)break;i[t(368)](e[t(361)](a,a+s)),a+=s}return i}function Et(e,t){const r=It,n=e[r(374)];let i=t?2:1,s=0,a=0,o="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)a+=255,i++;if(a+=e[i++],5===s&&n>i+16)for(let t=0;t<16;t++)o+=e[i][r(362)](16),i++;return{payload:e[r(361)](i),type:s,size:a,uuid:o}}function kt(){const e=["5YKAylT","9223830mvbspY","154002UMJDKy","2176644XXMOnK","subarray","toString","buffer","143ucZoTF","3126352azZBmr","582KpXHTC","9989xZLHaN","push","set","shift","277000vAvqdE","4106934pVizPf","9okWYvT","length","byteLength","1ojBGGg"];return(kt=function(){return e})()}function Ct(e){const t=It,r=e.byteLength,n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i[t(369)](n,0),i.set(e,4),i}function Tt(e,t){const r=It;let n=null;return t?e[r(374)]>=28&&(n=1+(3&e[26])):e[r(374)]>=12&&(n=1+(3&e[9])),n}!function(e,t){const r=It,n=e();for(;;)try{if(742134===-parseInt(r(376))/1*(-parseInt(r(359))/2)+-parseInt(r(372))/3+-parseInt(r(371))/4*(-parseInt(r(377))/5)+-parseInt(r(366))/6*(-parseInt(r(367))/7)+parseInt(r(365))/8*(parseInt(r(373))/9)+-parseInt(r(378))/10+-parseInt(r(364))/11*(-parseInt(r(360))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(kt);const xt=zt;function Bt(){const e=["performance","touchmove","82269lJIIyV","demuxUseWorker","substr","76oYoKlr","quality","bottom","sps","save","clearRect","src","mouseup","not compiled with thread support, using thread emulation","illegal icc","min","location","chrome","documentElement","win64","application/asx","left","getAttribute","pageX","style","color","green yuv","[object Error]","6WqfoDr","round","supported","msGetUserMedia","search","application/hwepass2001.installepass2001","setUint16","block","download","avc1.","copyright","Worker","Firefox","string","repeat","height","safari","getUserMedia","-webkit-text-size-adjust","h265","readyState","wcsDecodeAudio","numberOfFrames","toUpperCase","data","setInt8","fmt ","getContext","file","div","navigator","getParameter","clientX","canvas",'"development"',"validate","If you want to help, upload a sample of this file to","410JQIrJe","pps","floor","360","application/360softmgrplugin","font","getPropertyValue","keys","backgroundColor","attachShadow","createObjectURL","WebGL2RenderingContext","sequenceHeader","img","gpu","createElement","VideoFrame","0 KB/s","top","shadowRoot","pageY","green","dataset","restore","function","click",'"production"',"onload","360SE","split","webkitGetUserMedia","pathname","showModalDialog","now","none","visibility","getTime","createBuffer","error","YB/s","absolute","edge","-webkit-touch-callout","-o-user-select","Edg","createTextNode","124488HaNqfu","hev","solid","AudioData","craNut",'"2.0.0"',"paused","parse","createBufferSource","14598pRTuFH","transferControlToOffscreen","[object Exception]","contain","createEvent","5dFXiHS","push","Module","toLowerCase","rgba(0,0,0,0)","moz-webgl","connect","useMSE","QihooBrowser","application/vnd.chromium.remoting-viewer","setHours","insertBefore","resume","html","getMonth","[object DOMException]","subarray","61347VuwOHd","scrollTop","image","0 Bytes","srcElement","host","fromCharCode","random","100%","TB/s","setUint32","hev5","Opera","getDate",'video/mp4; codecs="',"slice","KB/s","QQBrowser","MediaSource","noteOn","AAC","useWCS","filter","getSeconds","display","Edge","getDay","mimeTypes","VideoDecoder","length","result","webkitFullscreenElement","userAgent","WAVE","text","body","Reserved SBR extensions is not implemented","overflow","Bytes","atob","initEvent","MB/s","log","assign","win32","width","appendChild","useOffscreen","MULAW","clientY","drawImage","status","GB/s","buffer","instantiate","mediaDevices","setAttribute","open","fontFamily","360EE","toFixed","pow","revokeObjectURL","angle","borderWidth","objectFit","Chrome","webgl","ALAW","PressureObserver","ended","scrollLeft","https:","type","isTypeSupported","lineWidth","VideoEncoder.isConfigSupported is not a function","-webkit-user-select","application/javascript","then","wow64","prototype","-ms-user-select","px Arial","application/mozilla-npqihooquicklogin","ActiveXObject","readAsArrayBuffer","hasAudio","strokeRect","setUint8","hev3","map","hev2","toString","webgl2","memory","dispatchEvent","set","Safari","AudioDecoder","match","hostname","touchstart","getImageData","forEach","hash","not compiled with thread support","76878owSjlq","audioWorklet","mseDecodeAudio","345756cnyokK","stringify","fillStyle","line","pointer-events: none !important; display: block !important","replace","charAt","108YuTQpl","substring","right","getUint8","Instance","test","onerror","toDataURL","f32-planar","fillText","version","textAlign","indexOf","document","addModule","call","application/vnd.apple.mpegurl","container","user-select","failed to asynchronously prepare wasm","ManagedMediaSource","start","content","max","format","position","RIFF","byteLength","touches","hev4","h264","imageSmoothingEnabled","video","protocol","apply","join","crossOrigin","firefox","1620576ozNaqq","rect","port","imageSmoothingQuality","undefined","fullscreenElement","message","getHours","localhost","high","object","msFullscreenElement","MediaStreamTrackGenerator","ZB/s","VideoEncoder.isConfigSupported() result is not supported","requestVideoFrameCallback","charCodeAt","href","image/png","fontSize","trim","target","true","isConfigSupported","xxxx","data-","setInt16","opacity","URL","close"];return(Bt=function(){return e})()}function Dt(){const e=zt;return(new Date)[e(333)]()}function Mt(e,t,r){const n=zt;return Math[n(187)](Math[n(247)](e,Math[n(187)](t,r)),Math[n(247)](t,r))}function Pt(){const e=zt;return performance&&typeof performance[e(330)]===e(321)?performance[e(330)]():Date[e(330)]()}function Ut(e){let t=0,r=Pt();return n=>{if(!function(e){const t=xt;return"[object Number]"===Object[t(128)][t(140)][t(179)](e)}(n))return;t+=n;const i=Pt(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=zt,n=e();for(;;)try{if(302066===parseInt(r(154))/1*(-parseInt(r(260))/2)+parseInt(r(374))/3*(parseInt(r(237))/4)+parseInt(r(357))/5*(parseInt(r(157))/6)+parseInt(r(343))/7+parseInt(r(202))/8+parseInt(r(352))/9*(-parseInt(r(297))/10)+-parseInt(r(234))/11*(parseInt(r(164))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Bt),(()=>{const e=zt;try{if(typeof WebAssembly===e(212)&&typeof WebAssembly[e(428)]===e(321)){const t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly[e(359)])return new(WebAssembly[e(168)])(t)instanceof WebAssembly[e(168)]}}catch(e){}})();xt(323);const Ft=xt(348);xt(294);function Rt(e){return null==e}function Lt(e){return!Rt(e)}function Ot(e){return typeof e===xt(321)}function zt(e,t){const r=Bt();return(zt=function(e,t){return r[e-=116]})(e,t)}function Nt(e){const t=xt;let r=null,n=31&e[0];return(n===Pe[t(240)]||n===Pe[t(298)])&&(r=De[t(194)]),!r&&(n=(126&e[0])>>1,(n===Ue.vps||n===Ue[t(240)]||n===Ue[t(298)])&&(r=De[t(279)])),r}function Ht(){return"undefined"!=typeof WritableStream}function Vt(e){e[xt(231)]()}function jt(e,t){const r=xt;t&&(e=e[r(396)]((e=>e[r(120)]&&e[r(120)]===t)));let n=e[0],i=null,s=1;if(e[r(403)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let a=s;a=1e3){e[a-1].ts-n.ts<1e3&&(i=a+1)}}}return i}function Wt(e){const t=xt;return e.ok&&e.status>=200&&e[t(425)]<=299}function Gt(){return function(e){const t=xt;let r="";if(typeof e===t(212))try{r=JSON[t(158)](e),r=JSON[t(350)](r)}catch(t){r=e}else r=e;return r}(we)}function $t(e){const t=xt;return e[0]>>4===Ve&&e[1]===He[t(309)]}function qt(e){return!0===e||e===xt(224)}function Yt(e){return!0!==e&&e!==xt(224)}function Jt(){const e=xt;return!!(Ke[e(271)]&&Ke[e(392)]&&"canConstructInDedicatedWorker"in Ke.MediaSource&&!0===Ke[e(392)].canConstructInDedicatedWorker)}function Xt(e,t){const r=xt,n=At(e[r(389)](5));let i=!1;return n[r(151)]((e=>{const n=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Ue.iFrame||s===Ue.nLp||s===Ue[n(347)])||Yt(t)&&s===Pe.iFrame)&&(i=!0)})),i}const Kt=Qt;function Zt(){const e=["lastReadPromise","1821352ZJvbbf","done","malloc","readU16","U32","2439400CyrorV","need","consumed","value","EOF","write","writeU32","consume","byteLength","call","6318360GLnjpL","488950IAVMZe","pull","subarray","U16","then","454428TqDlpN","return","apply","9okWpbH","set","__awaiter","Unsupported type","copyWithin","resolve","demand","writeU8","number","next","reject","28IyTMCt","flush","buffer","read","readU8","length","2981368Clhltk","readU32","134098lKDPTz","byteOffset","writeU16"];return(Zt=function(){return e})()}function Qt(e,t){const r=Zt();return(Qt=function(e,t){return r[e-=251]})(e,t)}!function(e,t){const r=Qt,n=e();for(;;)try{if(255652===parseInt(r(280))/1+-parseInt(r(260))/2*(-parseInt(r(288))/3)+parseInt(r(264))/4+parseInt(r(269))/5+-parseInt(r(285))/6*(parseInt(r(252))/7)+-parseInt(r(258))/8+-parseInt(r(279))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zt);var er=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const a=Qt;function o(e){const t=Qt;try{u(n[t(297)](e))}catch(e){s(e)}}function c(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){const t=Qt;var n;e[t(265)]?i(e[t(272)]):(n=e[t(272)],n instanceof r?n:new r((function(e){e(n)})))[t(284)](o,c)}u((n=n[a(287)](e,t||[]))[a(297)]())}))};const tr=Symbol(32),rr=Symbol(16),nr=Symbol(8);class ir{constructor(e){const t=Kt;this.g=e,this.consumed=0,e&&(this[t(270)]=e[t(297)]()[t(272)])}setG(e){const t=Kt;this.g=e,this[t(294)](e.next()[t(272)],!0)}[Kt(276)](){const e=Kt;this[e(254)]&&this[e(271)]&&(this[e(254)][e(292)](0,this.consumed),this[e(254)]=this[e(254)][e(282)](0,this[e(254)][e(257)]-this.consumed),this[e(271)]=0)}demand(e,t){const r=Kt;return t&&this[r(276)](),this.need=e,this[r(253)]()}[Kt(255)](e){return er(this,void 0,void 0,(function*(){const t=Qt;return this[t(263)]&&(yield this[t(263)]),this[t(263)]=new Promise(((r,n)=>{const i=t;var s;this[i(251)]=n,this[i(293)]=e=>{const t=i;delete this.lastReadPromise,delete this[t(293)],delete this.need,r(e)};this.demand(e,!0)||null===(s=this[i(281)])||void 0===s||s[i(278)](this,e)}))}))}[Kt(259)](){return this[Kt(255)](tr)}[Kt(267)](){return this[Kt(255)](rr)}[Kt(256)](){return this[Kt(255)](nr)}close(){const e=Kt;var t;this.g&&this.g[e(286)](),this[e(254)]&&this[e(254)][e(282)](0,0),null===(t=this[e(251)])||void 0===t||t[e(278)](this,new Error(e(273))),delete this[e(263)]}[Kt(253)](){const e=Kt;if(!this.buffer||!this[e(270)])return;let t=null;const r=this[e(254)].subarray(this[e(271)]);let n=0;const i=t=>r[e(257)]<(n=t);if(typeof this[e(270)]===e(296)){if(i(this[e(270)]))return;t=r[e(282)](0,n)}else if(this[e(270)]===tr){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(270)]===rr){if(i(2))return;t=r[0]<<8|r[1]}else if(this[e(270)]===nr){if(i(1))return;t=r[0]}else if("buffer"in this[e(270)]){if(e(261)in this[e(270)]){if(i(this[e(270)][e(277)]-this.need[e(261)]))return;new Uint8Array(this.need.buffer,this[e(270)][e(261)]).set(r[e(282)](0,n)),t=this.need}else if(this.g)return void this.g.throw(new Error(e(291)))}else{if(i(this.need[e(277)]))return;new Uint8Array(this[e(270)])[e(289)](r.subarray(0,n)),t=this[e(270)]}return this[e(271)]+=n,this.g?this[e(294)](this.g.next(t)[e(272)],!0):this[e(293)]&&this[e(293)](t),t}[Kt(274)](e){const t=Kt;if(e instanceof Uint8Array?this[t(266)](e[t(257)])[t(289)](e):t(254)in e?this[t(266)](e[t(277)])[t(289)](new Uint8Array(e[t(254)],e[t(261)],e[t(277)])):this.malloc(e.byteLength)[t(289)](new Uint8Array(e)),!this.g&&!this[t(293)])return new Promise((e=>this.pull=e));this[t(253)]()}[Kt(275)](e){const t=Kt;this.malloc(4)[t(289)]([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(253)]()}[Kt(262)](e){const t=Kt;this[t(266)](2)[t(289)]([e>>8&255,255&e]),this[t(253)]()}[Kt(295)](e){const t=Kt;this[t(266)](1)[0]=e,this[t(253)]()}malloc(e){const t=Kt;if(this[t(254)]){const r=this[t(254)].length,n=r+e;if(n<=this[t(254)][t(254)][t(277)]-this[t(254)][t(261)])this[t(254)]=new Uint8Array(this[t(254)][t(254)],this[t(254)][t(261)],n);else{const e=new Uint8Array(n);e.set(this[t(254)]),this[t(254)]=e}return this[t(254)][t(282)](r,n)}return this[t(254)]=new Uint8Array(e),this[t(254)]}}function sr(e,t){const r=ar();return(sr=function(e,t){return r[e-=216]})(e,t)}function ar(){const e=["log","466786TrLtdu","9wdvZtG","7151326hceZnO","526180gSxfEf","[❗❗❗][","15wfMiGo","913656egrjqa","_opt","debugLevel","debugUuid","[✅✅✅][","2pIupVm","2400000RmpSqU","debug","length","7735310HnFFWy","423336JCVAjK","error","11TdhapZ","warn","[❌❌❌][","JbPro"];return(ar=function(){return e})()}ir[Kt(268)]=tr,ir[Kt(283)]=rr,ir.U8=nr,function(e,t){const r=sr,n=e();for(;;)try{if(561279===parseInt(r(223))/1*(parseInt(r(235))/2)+parseInt(r(224))/3+-parseInt(r(238))/4+-parseInt(r(217))/5*(parseInt(r(228))/6)+-parseInt(r(237))/7+-parseInt(r(218))/8*(parseInt(r(236))/9)+-parseInt(r(227))/10*(-parseInt(r(230))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ar);class or{constructor(e){const t=sr;this.log=function(t){const r=sr;if(e._opt[r(220)]==de[r(225)]){const a=e[r(219)][r(221)]?"["+e[r(219)][r(221)]+"]":"";for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s1?i-1:0),a=1;a1?s-1:0),o=1;o=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(443)],0,s)}static[cr(453)](e){const t=cr;let r=dr[t(452)](e),n=new ot(r);n[t(465)]();let i=n.readByte();n[t(465)]();let s=n.readByte();n[t(457)]();let a=dr[t(434)](i),o=dr[t(463)](s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n.readUEG(),3===c&&n[t(438)](1),c<=3&&(u=l[c]),d=n[t(457)]()+8,n[t(457)](),n[t(438)](1),n[t(428)]())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(w=r[e-1],S=i[e-1]):255===e&&(w=n[t(465)]()<<8|n[t(465)](),S=n.readByte()<<8|n[t(465)]())}if(n[t(428)]()&&n[t(428)](),n.readBool()&&(n[t(438)](4),n[t(428)]()&&n[t(438)](24)),n.readBool()&&(n[t(457)](),n[t(457)]()),n.readBool()){let e=n[t(438)](32),r=n[t(438)](32);A=n[t(428)](),E=r,k=2*e,I=E/k}}let C=1;(1!==w||1!==S)&&(C=w/S);let T=0,x=0;if(0===c)T=1,x=2-v;else{T=3===c?1:2,x=(1===c?2:1)*(2-v)}let B=16*(p+1),D=16*(m+1)*(2-v);B-=(y+g)*T,D-=(_+b)*x;let M=Math.ceil(B*C);return n[t(436)](),n=null,{profile_string:a,level_string:o,bit_depth:d,ref_frames:f,chroma_format:u,chroma_format_string:dr[t(439)](u),frame_rate:{fixed:A,fps:I,fps_den:k,fps_num:E},sar_ratio:{width:w,height:S},codec_size:{width:B,height:D},present_size:{width:M,height:D}}}static[cr(429)](e){const t=cr;let r=e[t(450)](1,4),n=t(431);for(let e=0;e<3;e++){let i=r[e][t(440)](16);i.length<2&&(i="0"+i),n+=i}let i=dr[t(452)](e),s=new ot(i);s[t(465)]();let a=s[t(465)]();s[t(465)]();let o=s[t(465)]();s[t(457)]();let c=dr[t(434)](a),u=dr.getLevelString(o),l=1,d=420,h=[0,420,422,444],f=8,p=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(l=s[t(457)](),3===l&&s[t(438)](1),l<=3&&(d=h[l]),f=s[t(457)]()+8,p=s[t(457)]()+8,s[t(438)](1),s[t(428)]())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(A=r[e-1],E=n[e-1]):255===e&&(A=s[t(465)]()<<8|s[t(465)](),E=s.readByte()<<8|s[t(465)]())}if(s[t(428)]()&&s[t(428)](),s.readBool()&&(s.readBits(4),s[t(428)]()&&s[t(438)](24)),s[t(428)]()&&(s.readUEG(),s[t(457)]()),s.readBool()){let e=s.readBits(32),r=s[t(438)](32);C=s.readBool(),T=r,x=2*e,k=T/x}}let B=1;(1!==A||1!==E)&&(B=A/E);let D=0,M=0;if(0===l)D=1,M=2-_;else{D=3===l?1:2,M=(1===l?2:1)*(2-_)}let P=16*(y+1),U=16*(g+1)*(2-_);P-=(b+w)*D,U-=(S+I)*M;let F=Math[t(437)](P*B);return s[t(436)](),s=null,{codec_mimetype:n,profile_idc:a,level_idc:o,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:dr.getChromaFormatString(d),frame_rate:{fixed:C,fps:k,fps_den:x,fps_num:T},sar_ratio:{width:A,height:E},codec_size:{width:P,height:U},present_size:{width:F,height:U}}}static _skipScalingList(e,t){const r=cr;let n=8,i=8,s=0;for(let a=0;a=this[t(207)])return this.iserro=!0,0;this.iserro=!1,n=this[t(208)]+e>8?8-this.bufoff:e,r<<=n,r+=this.buffer[this.bufpos]>>8-this[t(208)]-n&255>>8-n,this[t(208)]+=n,e-=n,8==this[t(208)]&&(this[t(209)]++,this[t(208)]=0)}return r}[hr(218)](e){const t=hr;let r=this[t(209)],n=this[t(208)],i=this[t(216)](e);return this[t(209)]=r,this.bufoff=n,i}[hr(221)](){const e=hr;let t;for(t=0;0===this.read(1)&&!this[e(222)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(342)](n,0),i[t(342)](r[t(368)],4),r[t(368)]=i}if(r[t(301)]){const e=r[t(301)][t(343)],n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(342)](n,0),i[t(342)](r[t(301)],4),r[t(301)]=i}return r}function Sr(e){const t=Tr;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(343)]>>8&255,i[12]=255&r.byteLength,i[t(306)](...r,1,n[t(343)]>>8&255,255&n.byteLength,...n);return new Uint8Array(i)}function Ir(e){const t=Tr;let{sps:r,pps:n}=e,i=8+r[t(343)]+1+2+n[t(343)],s=!1;const a=dr[t(367)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let o=new Uint8Array(i);o[0]=1,o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=255,o[5]=225;let c=r.byteLength;o[6]=c>>>8,o[7]=255&c;let u=8;o[t(342)](r,8),u+=c,o[u]=1;let l=n.byteLength;o[u+1]=l>>>8,o[u+2]=255&l,o[t(342)](n,u+3),u+=3+l,s&&(o[u]=252|a.chroma_format_idc,o[u+1]=248|a[t(366)]-8,o[u+2]=248|a[t(348)]-8,o[u+3]=0,u+=4);const d=[23,0,0,0,0],h=new Uint8Array(d[t(374)]+o[t(343)]);return h[t(342)](d,0),h[t(342)](o,d[t(374)]),h}function Ar(e,t){const r=Tr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(343)]>>24&255,n[6]=e[r(343)]>>16&255,n[7]=e[r(343)]>>8&255,n[8]=255&e[r(343)];const i=new Uint8Array(n[r(374)]+e[r(343)]);return i[r(342)](n,0),i[r(342)](e,n[r(374)]),i}function Er(e,t){const r=Tr;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(374)]+e[r(343)]);return i.set(n,0),i.set(e,n[r(374)]),i}function kr(e){return 31&e[0]}function Cr(e){return e===Pe[Tr(376)]}function Tr(e,t){const r=br();return(Tr=function(e,t){return r[e-=296]})(e,t)}function xr(e){return!(t=e,t===Pe.sps||t===Pe.pps||Cr(e));var t}function Br(e){return e===Pe[Tr(340)]}function Dr(e){const t=Tr;if(0===e[t(374)])return!1;const r=kr(e[0]);for(let n=1;n=n[t(343)])return this[t(363)]=!0,n[t(343)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[_r(373)](){const e=_r;let t=this[e(327)],r=null;for(;null==r&&!this[e(363)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,a=this[e(336)](n);this[e(335)]=a,i>=Pe[e(378)]||0===s&&(r={type:i,data:t[e(324)](n,a)})}return r}}class Pr{constructor(e){const t=_r;let r=e[t(327)][t(343)];this[t(309)]=e[t(309)],this[t(327)]=new Uint8Array(4+r),new DataView(this[t(327)].buffer)[t(318)](0,r),this[t(327)][t(342)](e[t(327)],4)}}function Ur(){const e=["924567AkavBY","49OMJQnc","GetBYTE","m_len","m_idx","m_byte","2105751ApjGlO","3584805VhkkGo","m_zeros","GetWord","2191292mDlLPu","GetBit","length","7468oISUXf","GetSE","4421754cOOBaS","16mqFItp","m_data","6825681sIyFRA","GetUE","m_bits"];return(Ur=function(){return e})()}const Fr=Rr;function Rr(e,t){const r=Ur();return(Rr=function(e,t){return r[e-=233]})(e,t)}!function(e,t){const r=Rr,n=e();for(;;)try{if(445377===-parseInt(r(240))/1*(parseInt(r(252))/2)+parseInt(r(245))/3+-parseInt(r(249))/4+parseInt(r(246))/5+-parseInt(r(233))/6+-parseInt(r(239))/7*(parseInt(r(234))/8)+parseInt(r(236))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ur);class Lr{constructor(e){const t=Rr;this[t(243)]=null,this.m_data=e,this[t(242)]=e[t(251)],this[t(243)]=0,this[t(238)]=0,this.m_byte=0,this[t(247)]=0}GetBYTE(){const e=Rr;if(this.m_idx>=this[e(242)])return 0;let t=this[e(235)][this[e(243)]++];return 0==t?(this.m_zeros++,this[e(243)]>this[e(238)]&1}GetWord(e){const t=Fr;let r=0;for(;e>0;)r<<=1,r|=this[t(250)](),e--;return r}[Fr(237)](){const e=Fr;let t=0;for(;this[e(243)]>1;return!(1&e)&&(t=-t),t}}const Or=zr;function zr(e,t){const r=Hr();return(zr=function(e,t){return r[e-=238]})(e,t)}!function(e,t){const r=zr,n=e();for(;;)try{if(624830===-parseInt(r(253))/1*(parseInt(r(258))/2)+-parseInt(r(239))/3*(parseInt(r(259))/4)+parseInt(r(255))/5*(parseInt(r(242))/6)+-parseInt(r(245))/7*(-parseInt(r(240))/8)+parseInt(r(241))/9*(-parseInt(r(254))/10)+parseInt(r(260))/11*(parseInt(r(257))/12)+-parseInt(r(256))/13*(-parseInt(r(244))/14))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hr);class Nr{static _ebsp2rbsp(e){let t=e,r=t[zr(252)],n=new Uint8Array(r),i=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(n[i]=t[e],i++);return new Uint8Array(n.buffer,0,i)}static[Or(238)](e){const t=Or;let r=Nr[t(246)](e);const n=new Lr(r);let i="",s="",a="",o="";n.GetWord(4);let c=n[t(251)](3);if(c>6)return console[t(249)]("SPSParser sps_max_sub_layers_minus1 > 6"),!1;n[t(251)](1),n[t(251)](2),n[t(251)](1),i=n[t(251)](5),n[t(251)](32),n[t(251)](1),n[t(251)](1),n[t(251)](1),n.GetWord(1),n[t(251)](44),s=n[t(251)](8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(251)](2);for(let e=0;e15)return console[t(249)](t(247),d),!1;let h=n[t(250)]();return h>3?(console.warn(t(248),h),!1):(3==h&&n.GetWord(1),a=n.GetUE(),o=n[t(250)](),n[t(251)](1)&&(n[t(250)](),n[t(250)](),n[t(250)](),n[t(250)]()),n[t(250)]()!=n[t(250)]()?(console[t(249)](t(243)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:a,height:o},present_size:{width:"",height:o}})}}function Hr(){const e=["406IFAgki","_ebsp2rbsp","SPSParser sps_seq_parameter_set_id > 15","SPSParser chroma_format_idc > 3","warn","GetUE","GetWord","byteLength","7SNZqre","470YvOUqJ","60195sCbeWf","7358ZsySpl","108912RzwyBW","216992beJsAK","1610632sysCIT","946ThoViV","parseSPS","3XvMsbP","44288aWPHHk","84231TFzQvK","222RKZsmI","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","16814kAkCjc"];return(Hr=function(){return e})()}!function(e,t){const r=Gr,n=e();for(;;)try{if(857814===parseInt(r(345))/1+parseInt(r(353))/2+-parseInt(r(364))/3*(parseInt(r(356))/4)+-parseInt(r(360))/5*(parseInt(r(359))/6)+-parseInt(r(342))/7*(parseInt(r(343))/8)+parseInt(r(351))/9*(parseInt(r(346))/10)+parseInt(r(357))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Wr);const Vr=e=>{const t=Gr;let r=e,n=r[t(358)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(349)],0,s)},jr=e=>{const t=Gr;switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return t(361);case 3:return"4:4:4";default:return t(363)}};function Wr(){const e=["3qOWZNz","readByte","41552iUOMyn","760ctmmNG","readBits","77788LUYBUO","3506570pHbYEV","toFixed","readBool","buffer",".1.L","18YNRTbF","push","1018822MVnVLJ","destroy","readSEG","5166988BCQmwp","32398927iOVwNz","byteLength","78jUvAdo","584765wHvSqf","4:2:2","readUEG","Unknown"];return(Wr=function(){return e})()}function Gr(e,t){const r=Wr();return(Gr=function(e,t){return r[e-=341]})(e,t)}const $r=Yr;!function(e,t){const r=Yr,n=e();for(;;)try{if(605398===parseInt(r(444))/1*(parseInt(r(425))/2)+-parseInt(r(443))/3+-parseInt(r(448))/4+-parseInt(r(446))/5*(-parseInt(r(442))/6)+parseInt(r(450))/7*(parseInt(r(451))/8)+-parseInt(r(445))/9*(parseInt(r(426))/10)+parseInt(r(430))/11*(parseInt(r(447))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Jr);class qr{static[$r(435)](e){const t=$r;let r=e,n=r[t(424)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(432)],0,s)}static[$r(453)](e){const t=$r;let r=qr[t(435)](e),n=new ot(r);return n[t(420)](),n[t(420)](),n[t(440)](4),n.readBits(2),n[t(440)](6),{num_temporal_layers:n[t(440)](3)+1,temporal_id_nested:n[t(441)]()}}static[$r(434)](e){const t=$r;let r=qr[t(435)](e),n=new ot(r);n[t(420)](),n.readByte();let i=0,s=0,a=0,o=0;n[t(440)](4);let c=n[t(440)](3);n[t(441)]();let u=n.readBits(2),l=n[t(441)](),d=n.readBits(5),h=n[t(420)](),f=n.readByte(),p=n[t(420)](),m=n[t(420)](),v=n[t(420)](),y=n[t(420)](),g=n[t(420)](),_=n.readByte(),b=n[t(420)](),w=n[t(420)](),S=n[t(420)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(440)](2);for(let e=0;e1&&n.readSEG();for(let e=0;e0&&e<=16?(F=r[e-1],R=i[e-1]):255===e&&(F=n[t(440)](16),R=n[t(440)](16))}if(n[t(441)]()&&n[t(441)](),n[t(441)]()){n[t(440)](3),n[t(441)](),n.readBool()&&(n.readByte(),n[t(420)](),n[t(420)]())}if(n[t(441)]()&&(n[t(429)](),n[t(429)]()),n[t(441)](),n.readBool(),n[t(441)](),P=n.readBool(),P&&(n[t(429)](),n[t(429)](),n[t(429)](),n[t(429)]()),n[t(441)]()){if(O=n[t(440)](32),z=n[t(440)](32),n.readBool()&&n[t(429)](),n[t(441)]()){let e=!1,r=!1,i=!1;e=n[t(441)](),r=n[t(441)](),(e||r)&&(i=n[t(441)](),i&&(n[t(420)](),n[t(440)](5),n[t(441)](),n.readBits(5)),n[t(440)](4),n[t(440)](4),i&&n[t(440)](4),n[t(440)](5),n[t(440)](5),n[t(440)](5));for(let s=0;s<=c;s++){let s=n[t(441)]();L=s;let a=!0,o=1;!s&&(a=n[t(441)]());let c=!1;if(a?n[t(429)]():c=n[t(441)](),!c&&(o=n[t(429)]()+1),e){for(let e=0;e>6&3,n[t(366)]=e[1]>>5&1,n.general_profile_idc=31&e[1],n[t(327)]=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n[t(360)]=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[t(360)]=n[t(360)]<<16|e[10]<<8|e[11],n[t(332)]=e[12],n[t(272)]=(15&e[13])<<8|e[14],n[t(342)]=3&e[15],n[t(349)]=3&e[16],n[t(371)]=7&e[17],n[t(328)]=7&e[18],n.avgFrameRate=e[19]<<8|e[20],n[t(280)]=e[21]>>6&3,n[t(318)]=e[21]>>3&7,n[t(333)]=e[21]>>2&1,n[t(257)]=3&e[21];let i=e[22],s=e[t(250)](23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i[n(323)]=[],i[n(335)]=[],i[n(281)]=[],i[n(321)]=[],i[n(361)]=[],i.sub_layer_interlaced_source_flag=[],i[n(273)]=[],i[n(368)]=[],i.sub_layer_level_idc=[];for(let t=0;t{const t=Gr;let r=Vr(e),n=new ot(r);return n.readByte(),n.readByte(),n[t(344)](4),n.readBits(2),n.readBits(6),{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n.readBool()}})(r),o=(e=>{const t=Gr;let r=Vr(e),n=new ot(r);n[t(341)](),n.readByte();let i=0,s=0,a=0,o=0;n[t(344)](4);let c=n[t(344)](3);n[t(348)]();let u=n.readBits(2),l=n[t(348)](),d=n.readBits(5),h=n[t(341)](),f=n[t(341)](),p=n[t(341)](),m=n[t(341)](),v=n.readByte(),y=n.readByte(),g=n.readByte(),_=n[t(341)](),b=n[t(341)](),w=n[t(341)](),S=n[t(341)](),I=[],A=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(344)](2);for(let e=0;e1&&n[t(355)]();for(let e=0;e0&&e<16?(F=r[e-1],R=i[e-1]):255===e&&(F=n[t(344)](16),R=n[t(344)](16))}if(n[t(348)]()&&n[t(348)](),n[t(348)]()&&(n[t(344)](3),n.readBool(),n[t(348)]()&&(n[t(341)](),n[t(341)](),n[t(341)]())),n[t(348)]()&&(n[t(362)](),n[t(362)]()),n.readBool(),n.readBool(),n[t(348)](),P=n.readBool(),P&&(i+=n[t(362)](),s+=n[t(362)](),a+=n[t(362)](),o+=n.readUEG()),n[t(348)]()&&(O=n[t(344)](32),z=n[t(344)](32),n[t(348)]()&&(n[t(362)](),n[t(348)]()))){let e=!1,r=!1,i=!1;e=n[t(348)](),r=n[t(348)](),(e||r)&&(i=n[t(348)](),i&&(n[t(341)](),n.readBits(5),n.readBool(),n[t(344)](5)),n[t(344)](4),n.readBits(4),i&&n.readBits(4),n.readBits(5),n[t(344)](5),n[t(344)](5));for(let s=0;s<=c;s++){let s=n[t(348)]();L=s;let a=!1,o=1;!s&&(a=n[t(348)]());let c=!1;if(a?n.readSEG():c=n[t(348)](),!c&&(cpbcnt=n[t(362)]()+1),e)for(let e=0;e{const t=Gr;let r=Vr(e),n=new ot(r);n[t(341)](),n[t(341)](),n.readUEG(),n[t(362)](),n.readBool(),n[t(348)](),n.readBits(3),n[t(348)](),n[t(348)](),n[t(362)](),n.readUEG(),n[t(355)](),n[t(348)](),n.readBool(),n[t(348)]()&&n[t(362)](),n[t(355)](),n.readSEG(),n.readBool(),n[t(348)](),n[t(348)](),n[t(348)]();let i=n[t(348)](),s=n[t(348)](),a=1;return s&&i?a=0:s?a=3:i&&(a=2),{parallelismType:a}})(n);s=Object[t(363)](s,a,o,c);let u=23+(5+r.byteLength)+(5+i[t(304)])+(5+n[t(304)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s.general_profile_space)<<6|(s[t(366)]?1:0)<<5|31&s[t(297)],l[2]=s[t(301)]||0,l[3]=s.general_profile_compatibility_flags_2||0,l[4]=s[t(266)]||0,l[5]=s[t(307)]||0,l[6]=s[t(353)]||0,l[7]=s[t(362)]||0,l[8]=s[t(253)]||0,l[9]=s[t(296)]||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s[t(272)])>>8,l[14]=255&s[t(272)],l[15]=252|3&s[t(342)],l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s[t(344)],l[18]=248|7&s[t(249)],l[19]=0,l[20]=0,l[21]=(3&s.constant_frame_rate)<<6|(7&s[t(338)])<<3|(s[t(278)]?1:0)<<2|3,l[22]=3,l[23]=128|Ue[t(381)],l[24]=0,l[25]=1,l[26]=(65280&r[t(304)])>>8,l[27]=(255&r.byteLength)>>0,l[t(277)](r,28),l[23+(5+r[t(304)])+0]=128|Ue[t(251)],l[23+(5+r.byteLength)+1]=0,l[23+(5+r.byteLength)+2]=1,l[23+(5+r[t(304)])+3]=(65280&i[t(304)])>>8,l[23+(5+r[t(304)])+4]=(255&i[t(304)])>>0,l[t(277)](i,23+(5+r[t(304)])+5),l[23+(5+r[t(304)]+5+i[t(304)])+0]=128|Ue[t(282)],l[23+(5+r[t(304)]+5+i[t(304)])+1]=0,l[23+(5+r[t(304)]+5+i.byteLength)+2]=1,l[23+(5+r[t(304)]+5+i[t(304)])+3]=(65280&n[t(304)])>>8,l[23+(5+r[t(304)]+5+i.byteLength)+4]=(255&n[t(304)])>>0,l[t(277)](n,23+(5+r[t(304)]+5+i[t(304)])+5);const d=[28,0,0,0,0],h=new Uint8Array(d.length+l.byteLength);return h[t(277)](d,0),h[t(277)](l,d.length),h}function rn(e,t){const r=en;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(304)]>>24&255,n[6]=e[r(304)]>>16&255,n[7]=e[r(304)]>>8&255,n[8]=255&e[r(304)];const i=new Uint8Array(n[r(358)]+e[r(304)]);return i[r(277)](n,0),i[r(277)](e,n.length),i}function nn(e,t){const r=en;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n.length+e[r(304)]);return i[r(277)](n,0),i[r(277)](e,n[r(358)]),i}function sn(e){return(126&e[0])>>1}function an(e){return e===Ue[en(305)]}function on(e){return!((t=e)>=32&&t<=40);var t}function cn(e){return e>=16&&e<=21}function un(e){const t=en;if(0===e[t(358)])return!1;const r=sn(e[0]);for(let n=1;n=n[t(304)])return this[t(322)]=!0,n[t(304)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[Xr(310)](){const e=Xr;let t=this[e(356)],r=null;for(;null==r&&!this[e(322)];){let n=this[e(350)];n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,a=this[e(359)](n);this[e(350)]=a,0===s&&(r={type:i,data:t[e(243)](n,a)})}return r}}class hn{constructor(e){const t=Xr;let r=e[t(356)].byteLength;this[t(352)]=e[t(352)],this[t(356)]=new Uint8Array(4+r),new DataView(this[t(356)][t(375)])[t(244)](0,r),this[t(356)][t(277)](e[t(356)],4)}}var fn=kn;!function(e,t){for(var r=kn,n=e();;)try{if(613088===-parseInt(r(162))/1*(-parseInt(r(188))/2)+-parseInt(r(209))/3*(parseInt(r(237))/4)+-parseInt(r(184))/5*(parseInt(r(238))/6)+parseInt(r(229))/7*(-parseInt(r(140))/8)+-parseInt(r(146))/9*(-parseInt(r(212))/10)+parseInt(r(155))/11*(-parseInt(r(210))/12)+parseInt(r(224))/13)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Mn);var pn,mn=fn(169),vn="text/html",yn=/^(?:text|application)\/xml/i,gn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,_n=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,bn=/^\s*$/,wn={},Sn={},In="",An={type:"GET",beforeSend:En,success:En,error:En,complete:En,context:null,xhr:function(){return new(window[fn(195)])},accepts:{json:mn,xml:"application/xml, text/xml",html:vn,text:fn(154),"*":"*/"[fn(205)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:En,contentType:"application/x-www-form-urlencoded; charset=UTF-8"};function En(){}function kn(e,t){var r=Mn();return(kn=function(e,t){return r[e-=139]})(e,t)}var Cn=function(e,t){var r=fn;typeof e===r(156)&&(t=e,e=void 0);var n=Rn({},t=t||{});for(var i in An)void 0===n[i]&&(n[i]=An[i]);try{var s={},a=new Promise((function(e,t){s[r(153)]=e,s.reject=t}));a[r(153)]=s[r(153)],a[r(192)]=s.reject,n[r(175)]=a}catch(e){n[r(175)]={resolve:En,reject:En}}var o=_n.exec(window[r(166)][r(164)][r(167)]())||[];n[r(233)]=((e||n[r(233)]||window[r(166)][r(164)])+"")[r(213)](/#.*$/,"")[r(213)](/^\/\//,o[1]+"//");var c=n[r(233)];!n[r(222)]&&(n[r(222)]=/^([\w-]+:)?\/\/([^\/]+)/[r(173)](n[r(233)])&&RegExp.$2!==window.location[r(164)]);var u=n[r(218)];if(u===r(139)){if(!/=\?/.test(n[r(233)])){var l=(n.jsonp||r(151))+"=?";n[r(233)]=Pn(n.url,l)}return function(e){var t,r=fn,n=e[r(144)]||"jsonp"+zn(),i=window[r(141)][r(243)]("script"),s={abort:function(){n in window&&(window[n]=En)}},a=window[r(141)][r(172)]("head")[0]||window[r(141)][r(145)];function o(n){var i=r;window[i(179)](t),s[i(240)](),Bn(n.type,s,n[i(149)],e),c()}function c(){var e=r;i[e(174)]?i.clearAttributes():i.onload=i[e(171)]=i[e(159)]=null,i[e(236)]&&i[e(236)][e(163)](i),i=null,delete window[n]}return i[r(159)]=function(e){o(e)},window[n]=function(n){window[r(179)](t),Tn(n,s,e),c()},Un(e),i[r(197)]=e[r(233)].replace(/=\?/,"="+n),i[r(197)]=Pn(i.src,"_="+(new Date)[r(185)]()),i[r(181)]=!0,e[r(225)]&&(i.charset=e[r(225)]),a[r(148)](i,a[r(221)]),e[r(168)]>0&&(t=window[r(183)]((function(){var t=r;s[t(240)](),Bn(t(168),s,t(168),e),c()}),e[r(168)])),e[r(175)][r(240)]=function(){s[r(240)]()},e[r(175)].xhr=s,e[r(175)]}(n)}Un(n);var d=n[r(178)][u]||n[r(178)]["*"],h={};/^([\w-]+:)\/\//[r(173)](n[r(233)])?RegExp.$1:window[r(166)][r(177)];var f,p=An.xhr();!n[r(222)]&&!h[r(206)]&&(h["X-Requested-With"]=r(195)),n[r(208)]&&(wn[c]&&(h[r(207)]=wn[c]),Sn[c]&&(h[r(219)]=Sn[c])),d&&(h[r(180)]=d,d.indexOf(",")>-1&&(d=d.split(",",2)[0]),p[r(147)]&&p.overrideMimeType(d));var m=!/^(?:GET|HEAD)$/[r(173)](n[r(149)][r(204)]());if((n[r(143)]&&m&&!1!==n[r(189)]||t[r(189)])&&(h[r(228)]=n[r(189)]),!1===n[r(186)]&&!m){var v=/([?&])_=[^&]*/;n[r(233)]=v[r(173)](c)?c[r(213)](v,"$1_="+zn()):c+(/\?/[r(173)](c)?"&":"?")+"_="+zn()}n[r(201)]=Rn(h,n[r(201)]||{}),p[r(171)]=function(){var e,t,i=r;if(4===p[i(142)]){clearTimeout(f);var s,a=!1;if(p.status>=200&&p[i(191)]<300||304===p[i(191)]){if(In=p.getAllResponseHeaders(),n[i(208)]){var o=Dn("Last-Modified");o&&(wn[c]=o),(o=Dn(i(199)))&&(Sn[c]=o)}u=u||(e=p.getResponseHeader(i(182)),t=fn,e&&(e===vn?t(190):e===mn?t(170):yn.test(e)&&"xml")||t(157)),s=p[i(152)];try{u===i(198)?s=p.responseXML:u===i(170)&&(s=bn[i(173)](s)?null:JSON[i(227)](s))}catch(e){a=e}a?Bn(a,i(176),p,n):Tn(s,p,n)}else Bn(null,i(196),p,n)}};var y=!("async"in n)||n[r(181)];if(p[r(150)](n[r(149)],n[r(233)],y,n[r(231)],n[r(234)]),n[r(241)])for(var g in n[r(241)])p[g]=n[r(241)][g];for(var g in n[r(215)]&&p[r(147)]&&p[r(147)](n[r(215)]),n[r(201)])void 0!==n[r(201)][g]&&p[r(187)](g,n[r(201)][g]+"");return!1===function(e,t){var r=fn,n=t.context;if(!1===t.beforeSend[r(202)](n,e,t))return!1}(p,n)?(p[r(240)](),!1):(n[r(168)]>0&&(f=window.setTimeout((function(){var e=r;p.onreadystatechange=En,p[e(240)](),Bn(null,e(168),p,n)}),n[r(168)])),p.send(n[r(143)]?n[r(143)]:null),n[r(175)][r(240)]=function(){p[r(240)]()},n[r(175)])};function Tn(e,t,r){var n=fn,i=r.context,s=n(217);r[n(217)][n(202)](i,e,s,t),r.promise[n(153)](e,s,t),xn(s,t,r)}function xn(e,t,r){var n=fn,i=r[n(235)];r.complete[n(202)](i,t,e)}function Bn(e,t,r,n){var i=fn,s=n[i(235)];n[i(196)][i(202)](s,r,t,e),n[i(175)][i(192)](r,t,e),xn(t,r,n)}function Dn(e){var t,r=fn;if(!pn){for(pn={};t=gn.exec(In);)pn[t[1][r(167)]()]=t[2];t=pn[e[r(167)]()]}return null===t?null:t}function Mn(){var e=["text/plain","1553981SmiedK","object","text","push","onerror","toString","POST","1nkFMNK","removeChild","href","name","location","toLowerCase","timeout","application/json, text/javascript","json","onreadystatechange","getElementsByTagName","test","clearAttributes","promise","parseerror","protocol","accepts","clearTimeout","Accept","async","content-type","setTimeout","1788920vPaRsF","getTime","cache","setRequestHeader","449356pHoufe","contentType","html","status","reject","function","GET","XMLHttpRequest","error","src","xml","etag","ajaxSetup","headers","call","getJSON","toUpperCase","concat","X-Requested-With","If-Modified-Since","ifModified","3WdIYXX","36Pvjtvo","%20","180FhafHT","replace","value","mimeType","processData","success","dataType","If-None-Match","add","firstChild","crossDomain","[object Array]","33317362llEfNK","scriptCharset","post","parse","Content-Type","63BUwoZH","join","username","hasOwnProperty","url","password","context","parentNode","1826360poYeJC","12SCxCRa","get","abort","xhrFields","prototype","createElement","jsonp","1045752jGcqRe","document","readyState","data","jsonpCallback","documentElement","298989hIBmAO","overrideMimeType","insertBefore","type","open","callback","responseText","resolve"];return(Mn=function(){return e})()}function Pn(e,t){return(e+"&"+t)[fn(213)](/[&?]{1,2}/,"?")}function Un(e){var t,r,n,i,s=fn;Ln(e)&&!(e[s(143)]instanceof FormData)&&e[s(216)]&&(e[s(143)]=(t=e.data,n=fn,(i=[]).add=function(e,t){this[kn(158)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Fn(i,t,r),i[n(230)]("&")[n(213)](n(211),"+"))),e[s(143)]&&(!e[s(149)]||e[s(149)][s(204)]()===s(194))&&(e.url=Pn(e[s(233)],e[s(143)]))}function Fn(e,t,r,n){var i,s,a=fn,o=(i=t,s=fn,Object[s(242)][s(160)].call(i)===s(223));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(o?"":c)+"]"),!n&&o?e.add(u[a(165)],u[a(214)]):(r?o(u):Ln(u))?Fn(e,u,r,c):e[a(220)](c,u)}}function Rn(e){for(var t=fn,r=Array[t(242)].slice,n=r.call(arguments,1),i=0,s=n.length;i255)return!1;return!0}function jn(e,t){var r=wi;if(e[r(400)]&&e.name===r(345))return t&&(e=e[r(358)]?e[r(358)]():Array[r(387)][r(358)].call(e)),e;if(Array.isArray(e)){if(!Vn(e))throw new Error(r(390)+e);return new Uint8Array(e)}if(Hn(e[r(379)])&&Vn(e))return new Uint8Array(e);throw new Error(r(398))}function Wn(e){return new Uint8Array(e)}function Gn(e,t,r,n,i){var s=wi;(null!=n||null!=i)&&(e=e[s(358)]?e.slice(n,i):Array[s(387)][s(358)].call(e,n,i)),t[s(392)](e,r)}!function(e,t){for(var r=wi,n=e();;)try{if(211017===-parseInt(r(346))/1+-parseInt(r(353))/2*(-parseInt(r(338))/3)+-parseInt(r(399))/4+parseInt(r(350))/5+parseInt(r(356))/6+parseInt(r(375))/7+-parseInt(r(378))/8*(parseInt(r(385))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bi);var $n,qn,Yn={toBytes:function(e){var t=wi,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(360)](String[t(357)]((31&i)<<6|63&e[n+1])),n+=2):(r[t(360)](String[t(357)]((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r[t(355)]("")}},Jn=(qn=($n=wi)(365),{toBytes:function(e){for(var t=wi,r=[],n=0;n>4]+qn[15&i])}return r[t(355)]("")}}),Xn={16:10,24:12,32:14},Kn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Zn=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Qn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],ei=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],ti=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ri=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],ni=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ii=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],si=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],ai=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],oi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ci=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ui=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],li=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],di=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function hi(e){for(var t=[],r=0;r>2,this[e(391)][n][r%4]=a[r],this[e(366)][t-n][r%4]=a[r];for(var o,c=0,u=s;u>16&255]<<24^Zn[o>>8&255]<<16^Zn[255&o]<<8^Zn[o>>24&255]^Kn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Zn[o>>16&255]<<16^Zn[o>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this._Ke[l][d]=a[r],this[e(366)][t-l][d]=a[r++],u++}for(var l=1;l>24&255]^ui[o>>16&255]^li[o>>8&255]^di[255&o]},fi[Nn(387)][Nn(372)]=function(e){var t=Nn;if(16!=e[t(379)])throw new Error(t(364));for(var r=this[t(391)].length-1,n=[0,0,0,0],i=hi(e),s=0;s<4;s++)i[s]^=this[t(391)][0][s];for(var a=1;a>24&255]^ti[i[(s+1)%4]>>16&255]^ri[i[(s+2)%4]>>8&255]^ni[255&i[(s+3)%4]]^this[t(391)][a][s];i=n[t(358)]()}var o,c=Wn(16);for(s=0;s<4;s++)o=this._Ke[r][s],c[4*s]=255&(Zn[i[s]>>24&255]^o>>24),c[4*s+1]=255&(Zn[i[(s+1)%4]>>16&255]^o>>16),c[4*s+2]=255&(Zn[i[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(Zn[255&i[(s+3)%4]]^o);return c},fi[Nn(387)][Nn(342)]=function(e){var t=Nn;if(16!=e[t(379)])throw new Error("invalid ciphertext size (must be 16 bytes)");for(var r=this[t(366)][t(379)]-1,n=[0,0,0,0],i=hi(e),s=0;s<4;s++)i[s]^=this._Kd[0][s];for(var a=1;a>24&255]^si[i[(s+3)%4]>>16&255]^ai[i[(s+2)%4]>>8&255]^oi[255&i[(s+1)%4]]^this[t(366)][a][s];i=n.slice()}var o,c=Wn(16);for(s=0;s<4;s++)o=this[t(366)][r][s],c[4*s]=255&(Qn[i[s]>>24&255]^o>>24),c[4*s+1]=255&(Qn[i[(s+3)%4]>>16&255]^o>>16),c[4*s+2]=255&(Qn[i[(s+2)%4]>>8&255]^o>>8),c[4*s+3]=255&(Qn[255&i[(s+1)%4]]^o);return c};var pi=function(e){var t=Nn;if(!(this instanceof pi))throw Error(t(397));this[t(395)]="Electronic Code Block",this.name=t(376),this[t(344)]=new fi(e)};pi[Nn(387)][Nn(372)]=function(e){var t=Nn;if((e=jn(e)).length%16!=0)throw new Error(t(348));for(var r=Wn(e[t(379)]),n=Wn(16),i=0;iNumber[t(386)])throw new Error("integer value out of safe range");for(var r=15;r>=0;--r)this[t(373)][r]=e%256,e=parseInt(e/256)},gi.prototype[Nn(362)]=function(e){var t=Nn;if(16!=(e=jn(e,!0))[t(379)])throw new Error("invalid counter bytes size (must be 16 bytes)");this[t(373)]=e},gi[Nn(387)][Nn(384)]=function(){for(var e=Nn,t=15;t>=0;t--){if(255!==this[e(373)][t]){this[e(373)][t]++;break}this[e(373)][t]=0}};var _i=function(e,t){var r=Nn;if(!(this instanceof _i))throw Error(r(397));this[r(395)]="Counter",this[r(401)]="ctr",!(t instanceof gi)&&(t=new gi(t)),this[r(373)]=t,this._remainingCounter=null,this[r(383)]=16,this[r(344)]=new fi(e)};function bi(){var e=["invalid initialation vector size (must be 16 bytes)","_lastPrecipher","invalid ciphertext size (must be segmentSize bytes)","_remainingCounterIndex","increment","5860035ZZRtyH","MAX_SAFE_INTEGER","prototype","PKCS#7 invalid length","_lastPrecipherIndex","Array contains invalid value: ","_Ke","set","_shiftRegister","PKCS#7 padding byte out of range","description","setValue","AES must be instanitated with `new`","unsupported array-like object","534192TwVABp","buffer","name","invalid ciphertext size (must be multiple of 16 bytes)","27umizhw","Cipher Feedback","substr","charCodeAt","decrypt","segmentSize","_aes","Uint8Array","16516zSQQpz","_lastCipherblock","invalid plaintext size (must be multiple of 16 bytes)","_prepare","2067250vAXCdp","key","PKCS#7 invalid padding byte","10646UUFtWF","Output Feedback","join","1508334NrmIro","fromCharCode","slice","invalid plaintext size (must be segmentSize bytes)","push","cfb","setBytes","invalid initialation vector size (must be 16 size)","invalid plaintext size (must be 16 bytes)","0123456789abcdef","_Kd","number","Cipher Block Chaining","defineProperty","_remainingCounter","invalid counter value (must be an integer)","encrypt","_counter","invalid key size (must be 16, 24 or 32 bytes)","2096150qwkoVs","ecb","cbc","8nQczQT","length"];return(bi=function(){return e})()}function wi(e,t){var r=bi();return(wi=function(e,t){return r[e-=337]})(e,t)}_i[Nn(387)][Nn(372)]=function(e){for(var t=Nn,r=jn(e,!0),n=0;n16)throw new Error(t(394));for(var n=e[t(379)]-r,i=0;i>>2]>>>24-o%4*8&255;r[s+o>>>2]|=c<<24-(s+o)%4*8}else for(var u=0;u>>2]=n[u>>>2];return this[t(437)]+=a,this},clamp:function(){var t=i,r=this[t(423)],n=this.sigBytes;r[n>>>2]&=4294967295<<32-n%4*8,r[t(401)]=e[t(410)](n/4)},clone:function(){var e=i,t=u[e(458)][e(419)](this);return t[e(423)]=this[e(423)][e(406)](0),t},random:function(e){for(var t=i,r=[],n=0;n>>2]>>>24-a%4*8&255;s[t(408)]((o>>>4)[t(462)](16)),s[t(408)]((15&o)[t(462)](16))}return s[t(421)]("")},parse:function(e){for(var t=i,r=e[t(401)],n=[],s=0;s>>3]|=parseInt(e[t(440)](s,2),16)<<24-s%8*4;return new(l[t(456)])(n,r/2)}},f=d.Latin1={stringify:function(e){for(var t=i,r=e[t(423)],n=e[t(437)],s=[],a=0;a>>2]>>>24-a%4*8&255;s[t(408)](String[t(400)](o))}return s[t(421)]("")},parse:function(e){for(var t=i,r=e.length,n=[],s=0;s>>2]|=(255&e[t(412)](s))<<24-s%4*8;return new(l[t(456)])(n,r)}},p=d.Utf8={stringify:function(e){var t=i;try{return decodeURIComponent(escape(f[t(430)](e)))}catch(e){throw new Error(t(436))}},parse:function(e){return f[i(457)](unescape(encodeURIComponent(e)))}},m=c[i(402)]=u[i(404)]({reset:function(){var e=i;this[e(409)]=new(l[e(456)]),this._nDataBytes=0},_append:function(e){var t=i;"string"==typeof e&&(e=p[t(457)](e)),this[t(409)][t(463)](e),this[t(445)]+=e[t(437)]},_process:function(t){var r,n=i,s=this[n(409)],a=s[n(423)],o=s.sigBytes,c=this[n(426)],u=o/(4*c),d=(u=t?e[n(410)](u):e[n(425)]((0|u)-this[n(443)],0))*c,h=e.min(4*d,o);if(d){for(var f=0;f>>2]|=e[a]<<24-a%4*8;n.call(this,s,i)}else n.apply(this,arguments)};i[t(243)]=r}}(),e[t(253)].WordArray},(i=xi)(246)==i(246)?e[i(260)]=n(Ei):"undefined"===i(250)&&(void 0)[i(259)]?(void 0)(["./core"],n):n(r[i(254)])}));var Mi=Pi;function Pi(e,t){var r=Ui();return(Pi=function(e,t){return r[e-=152]})(e,t)}function Ui(){var e=["exports","6471377mdFgNy","lib","amd","object","create","243EJEVHA","95390HfRcWE","14ywTSuf","sigBytes","fromCharCode","208578oQYHFu","Utf16LE","1007268sYOIMX","1174856zxKxjz","createCommonjsModule","5sVAmlR","WordArray","charCodeAt","enc","158944DDRiJH","275296PJtAEW","length","CryptoJS","12xUBiuu","function","Utf16BE","words"];return(Ui=function(){return e})()}!function(e,t){for(var r=Pi,n=e();;)try{if(154394===-parseInt(r(152))/1+parseInt(r(162))/2+parseInt(r(165))/3*(-parseInt(r(161))/4)+parseInt(r(157))/5*(-parseInt(r(154))/6)+parseInt(r(177))/7*(-parseInt(r(155))/8)+-parseInt(r(175))/9*(-parseInt(r(176))/10)+parseInt(r(170))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ui);tt[Mi(156)]((function(e,t){var r,n,i;r=Ze,n=function(e){var t=Pi;return function(){var t=Pi,r=e,n=r[t(171)][t(158)],i=r[t(160)];function s(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i[t(167)]={stringify:function(e){for(var r=t,n=e[r(168)],i=e[r(178)],s=[],a=0;a>>2]>>>16-a%4*8&65535;s.push(String[r(179)](o))}return s.join("")},parse:function(e){for(var r=t,i=e.length,s=[],a=0;a>>1]|=e[r(159)](a)<<16-a%2*16;return n[r(174)](s,2*i)}},i[t(153)]={stringify:function(e){for(var r=t,n=e.words,i=e.sigBytes,a=[],o=0;o>>2]>>>16-o%4*8&65535);a.push(String[r(179)](c))}return a.join("")},parse:function(e){for(var r=t,i=e[r(163)],a=[],o=0;o>>1]|=s(e.charCodeAt(o)<<16-o%2*16);return n[r(174)](a,2*i)}}}(),e[t(160)].Utf16},(i=Pi)(173)==i(173)?e[i(169)]=n(Ei):"undefined"===i(166)&&(void 0)[i(172)]?(void 0)(["./core"],n):n(r[i(164)])}));var Fi=Ri;function Ri(e,t){var r=Li();return(Ri=function(e,t){return r[e-=161]})(e,t)}function Li(){var e=["1132idcwaS","exports","80xWvAxO","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","clamp","_reverseMap","74922OoGJUr","1551136dfUjJP","indexOf","_map","push","enc","create","9qmoQfw","function","444210JoAAjz","2475046qbwIMY","charCodeAt","length","3905480JyCDKc","167ArDdEg","createCommonjsModule","Base64","words","4491408sVYkyy","amd","6AODxEU","object","join","sigBytes","33EyryRJ"];return(Li=function(){return e})()}!function(e,t){for(var r=Ri,n=e();;)try{if(412353===-parseInt(r(169))/1*(parseInt(r(180))/2)+parseInt(r(186))/3*(parseInt(r(182))/4)+-parseInt(r(168))/5+-parseInt(r(175))/6*(-parseInt(r(165))/7)+parseInt(r(187))/8*(parseInt(r(162))/9)+-parseInt(r(164))/10*(parseInt(r(179))/11)+parseInt(r(173))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Li);tt[Fi(170)]((function(e,t){var r,n,i;r=Ze,n=function(e){var t,r,n,i=Ri;return t=Ri,n=(r=e).lib.WordArray,r[t(191)].Base64={stringify:function(e){var r=t,n=e[r(172)],i=e[r(178)],s=this[r(189)];e[r(184)]();for(var a=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(n[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|n[o+2>>>2]>>>24-(o+2)%4*8&255,u=0;u<4&&o+.75*u>>6*(3-u)&63));var l=s.charAt(64);if(l)for(;a[r(167)]%4;)a[r(190)](l);return a[r(177)]("")},parse:function(e){var r=t,i=e[r(167)],s=this[r(189)],a=this[r(185)];if(!a){a=this[r(185)]=[];for(var o=0;o>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return n[s(161)](a,o)}(e,i,a)},_map:t(183)},e[i(191)][i(171)]},(i=Ri)(176)==i(176)?e[i(181)]=n(Ei):"undefined"===i(163)&&(void 0)[i(174)]?(void 0)(["./core"],n):n(r.CryptoJS)}));function Oi(){var e=["1123240pMByTO","charAt","clamp","commonjsGlobal","create","2653673qEPPhh","lib","_reverseMap","Base64url","object","6438zKcPWj","_safe_map","WordArray","8awQcVB","charCodeAt","exports","push","7353HhBixG","4568bVkqcW","function","11vglGdF","1985375seWZfl","12AMoRAh","30186PYeTze","_map","length","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","5363160KCYLYh","words","sigBytes","enc"];return(Oi=function(){return e})()}function zi(e,t){var r=Oi();return(zi=function(e,t){return r[e-=319]})(e,t)}!function(e,t){for(var r=zi,n=e();;)try{if(306408===parseInt(r(329))/1*(-parseInt(r(332))/2)+parseInt(r(319))/3*(-parseInt(r(322))/4)+parseInt(r(340))/5*(parseInt(r(331))/6)+-parseInt(r(330))/7+parseInt(r(327))/8*(-parseInt(r(326))/9)+parseInt(r(336))/10+parseInt(r(345))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Oi);et((function(e,t){var r,n,i,s=zi;r=tt[s(343)],n=function(e){var t,r,n,i=s;return n=(r=e)[(t=zi)(346)][t(321)],r[t(339)][t(348)]={stringify:function(e,r){var n=t;void 0===r&&(r=!0);var i=e[n(337)],s=e[n(338)],a=r?this[n(320)]:this._map;e[n(342)]();for(var o=[],c=0;c>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=a.charAt(64);if(d)for(;o[n(334)]%4;)o[n(325)](d);return o.join("")},parse:function(e,r){var i=t;void 0===r&&(r=!0);var s=e[i(334)],a=r?this[i(320)]:this[i(333)],o=this[i(347)];if(!o){o=this[i(347)]=[];for(var c=0;c>>6-c%4*2;a[o>>>2]|=u<<24-o%4*8,o++}return n[s(344)](a,o)}(e,s,o)},_map:t(335),_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},e[i(339)][i(348)]},"object"===(i=zi)(349)?e[i(324)]=n(Ei):"undefined"===i(328)&&(void 0).amd?(void 0)(["./core"],n):n(r.CryptoJS)}));var Ni=Hi;function Hi(e,t){var r=Vi();return(Hi=function(e,t){return r[e-=307]})(e,t)}!function(e,t){for(var r=Hi,n=e();;)try{if(667090===parseInt(r(332))/1+parseInt(r(326))/2+parseInt(r(321))/3*(-parseInt(r(325))/4)+parseInt(r(310))/5*(-parseInt(r(313))/6)+-parseInt(r(318))/7*(parseInt(r(327))/8)+-parseInt(r(309))/9+parseInt(r(337))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Vi);tt[Ni(312)]((function(e,t){var r,n,i,s=Ni;r=tt[s(322)],n=function(e){var t=s;return function(t){var r=Hi,n=e,i=n.lib,s=i.WordArray,a=i[r(311)],o=n[r(317)],c=[];!function(){for(var e=r,n=0;n<64;n++)c[n]=4294967296*t[e(314)](t[e(331)](n+1))|0}();var u=o.MD5=a[r(308)]({_doReset:function(){var e=r;this[e(316)]=new(s[e(334)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o=this[n(316)][n(307)],u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],y=e[t+4],g=e[t+5],_=e[t+6],b=e[t+7],w=e[t+8],S=e[t+9],I=e[t+10],A=e[t+11],E=e[t+12],k=e[t+13],C=e[t+14],T=e[t+15],x=o[0],B=o[1],D=o[2],M=o[3];x=l(x,B,D,M,u,7,c[0]),M=l(M,x,B,D,p,12,c[1]),D=l(D,M,x,B,m,17,c[2]),B=l(B,D,M,x,v,22,c[3]),x=l(x,B,D,M,y,7,c[4]),M=l(M,x,B,D,g,12,c[5]),D=l(D,M,x,B,_,17,c[6]),B=l(B,D,M,x,b,22,c[7]),x=l(x,B,D,M,w,7,c[8]),M=l(M,x,B,D,S,12,c[9]),D=l(D,M,x,B,I,17,c[10]),B=l(B,D,M,x,A,22,c[11]),x=l(x,B,D,M,E,7,c[12]),M=l(M,x,B,D,k,12,c[13]),D=l(D,M,x,B,C,17,c[14]),x=d(x,B=l(B,D,M,x,T,22,c[15]),D,M,p,5,c[16]),M=d(M,x,B,D,_,9,c[17]),D=d(D,M,x,B,A,14,c[18]),B=d(B,D,M,x,u,20,c[19]),x=d(x,B,D,M,g,5,c[20]),M=d(M,x,B,D,I,9,c[21]),D=d(D,M,x,B,T,14,c[22]),B=d(B,D,M,x,y,20,c[23]),x=d(x,B,D,M,S,5,c[24]),M=d(M,x,B,D,C,9,c[25]),D=d(D,M,x,B,v,14,c[26]),B=d(B,D,M,x,w,20,c[27]),x=d(x,B,D,M,k,5,c[28]),M=d(M,x,B,D,m,9,c[29]),D=d(D,M,x,B,b,14,c[30]),x=h(x,B=d(B,D,M,x,E,20,c[31]),D,M,g,4,c[32]),M=h(M,x,B,D,w,11,c[33]),D=h(D,M,x,B,A,16,c[34]),B=h(B,D,M,x,C,23,c[35]),x=h(x,B,D,M,p,4,c[36]),M=h(M,x,B,D,y,11,c[37]),D=h(D,M,x,B,b,16,c[38]),B=h(B,D,M,x,I,23,c[39]),x=h(x,B,D,M,k,4,c[40]),M=h(M,x,B,D,u,11,c[41]),D=h(D,M,x,B,v,16,c[42]),B=h(B,D,M,x,_,23,c[43]),x=h(x,B,D,M,S,4,c[44]),M=h(M,x,B,D,E,11,c[45]),D=h(D,M,x,B,T,16,c[46]),x=f(x,B=h(B,D,M,x,m,23,c[47]),D,M,u,6,c[48]),M=f(M,x,B,D,b,10,c[49]),D=f(D,M,x,B,C,15,c[50]),B=f(B,D,M,x,g,21,c[51]),x=f(x,B,D,M,E,6,c[52]),M=f(M,x,B,D,v,10,c[53]),D=f(D,M,x,B,I,15,c[54]),B=f(B,D,M,x,p,21,c[55]),x=f(x,B,D,M,w,6,c[56]),M=f(M,x,B,D,T,10,c[57]),D=f(D,M,x,B,_,15,c[58]),B=f(B,D,M,x,k,21,c[59]),x=f(x,B,D,M,y,6,c[60]),M=f(M,x,B,D,A,10,c[61]),D=f(D,M,x,B,m,15,c[62]),B=f(B,D,M,x,S,21,c[63]),o[0]=o[0]+x|0,o[1]=o[1]+B|0,o[2]=o[2]+D|0,o[3]=o[3]+M|0},_doFinalize:function(){var e=r,n=this[e(335)],i=n[e(307)],s=8*this[e(319)],a=8*n.sigBytes;i[a>>>5]|=128<<24-a%32;var o=t.floor(s/4294967296),c=s;i[15+(a+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),i[14+(a+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n.sigBytes=4*(i.length+1),this._process();for(var u=this._hash,l=u[e(307)],d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return u},clone:function(){var e=r,t=a[e(329)].call(this);return t._hash=this[e(316)][e(329)](),t}});function l(e,t,r,n,i,s,a){var o=e+(t&r|~t&n)+i+a;return(o<>>32-s)+t}function d(e,t,r,n,i,s,a){var o=e+(t&n|r&~n)+i+a;return(o<>>32-s)+t}function h(e,t,r,n,i,s,a){var o=e+(t^r^n)+i+a;return(o<>>32-s)+t}function f(e,t,r,n,i,s,a){var o=e+(r^(t|~n))+i+a;return(o<>>32-s)+t}n[r(330)]=a[r(333)](u),n[r(328)]=a[r(320)](u)}(Math),e[t(330)]},"object"===(i=Hi)(336)?e[i(323)]=n(Ei):"undefined"===i(324)&&(void 0)[i(315)]?(void 0)(["./core"],n):n(r.CryptoJS)}));function Vi(){var e=["7180713wUuMEj","298765SUawlG","Hasher","createCommonjsModule","18WSHBNH","abs","amd","_hash","algo","147LxmLTV","_nDataBytes","_createHmacHelper","63VlTgeZ","commonjsGlobal","exports","function","150508QmWXFB","192462AJPcAN","55976znmlcx","HmacMD5","clone","MD5","sin","431392AoSnHS","_createHelper","init","_data","object","20536870CXpGfd","words","extend"];return(Vi=function(){return e})()}var ji=Wi;function Wi(e,t){var r=Gi();return(Wi=function(e,t){return r[e-=274]})(e,t)}!function(e,t){for(var r=Wi,n=e();;)try{if(501536===-parseInt(r(289))/1*(parseInt(r(275))/2)+parseInt(r(286))/3+parseInt(r(276))/4+-parseInt(r(304))/5+-parseInt(r(293))/6+parseInt(r(301))/7+parseInt(r(291))/8*(-parseInt(r(279))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gi);tt[ji(274)]((function(e,t){var r,n,i;r=Ze,n=function(e){return n=(r=e)[(t=Wi)(295)],i=n[t(290)],s=n[t(297)],a=r.algo,o=[],c=a[t(294)]=s[t(283)]({_doReset:function(){this[t(287)]=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this._hash[n(300)],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)o[d]=0|e[r+d];else{var h=o[d-3]^o[d-8]^o[d-14]^o[d-16];o[d]=h<<1|h>>>31}var f=(s<<5|s>>>27)+l+o[d];f+=d<20?1518500249+(a&c|~a&u):d<40?1859775393+(a^c^u):d<60?(a&c|a&u|c&u)-1894007588:(a^c^u)-899497514,l=u,u=c,c=a<<30|a>>>2,a=s,s=f}i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+c|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(292)],n=r[e(300)],i=8*this[e(302)],s=8*r[e(299)];return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math[e(282)](i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(299)]=4*n[e(281)],this[e(278)](),this[e(287)]},clone:function(){var e=t,r=s.clone.call(this);return r._hash=this[e(287)][e(303)](),r}}),r[t(294)]=s[t(280)](c),r[t(298)]=s[t(296)](c),e.SHA1;var t,r,n,i,s,a,o,c},(i=Wi)(288)==i(288)?e[i(284)]=n(Ei):"undefined"===i(277)&&(void 0).amd?(void 0)([i(285)],n):n(r.CryptoJS)}));function Gi(){var e=["_data","2946426lkSYLW","SHA1","lib","_createHmacHelper","Hasher","HmacSHA1","sigBytes","words","3965759BbLDMz","_nDataBytes","clone","243200jXsBlY","createCommonjsModule","11306WrMtAU","3581244GLUCBH","function","_process","5022cEpHzo","_createHelper","length","floor","extend","exports","./core","2682828kdsBme","_hash","object","49fByTja","WordArray","14880kVuYJM"];return(Gi=function(){return e})()}function $i(){var e=["SHA256","call","_createHmacHelper","algo","clone","187dJvvsN","20kfUCxc","words","exports","sigBytes","HmacSHA256","2778590SsdfgL","_data","12IsnBRj","lib","658116dBXlpG","_nDataBytes","CryptoJS","3mCodYv","length","Hasher","sqrt","625316VPWTCA","commonjsGlobal","1264568KDYRPT","_process","createCommonjsModule","21673FCmKlK","9XYrwOw","extend","object","_hash","amd","./core","1499386YvXMCP","261585GTEkDv","init"];return($i=function(){return e})()}var qi=Yi;function Yi(e,t){var r=$i();return(Yi=function(e,t){return r[e-=288]})(e,t)}!function(e,t){for(var r=Yi,n=e();;)try{if(195490===-parseInt(r(298))/1*(-parseInt(r(314))/2)+parseInt(r(289))/3*(parseInt(r(293))/4)+parseInt(r(306))/5*(parseInt(r(321))/6)+parseInt(r(305))/7+parseInt(r(295))/8+parseInt(r(299))/9*(parseInt(r(319))/10)+parseInt(r(313))/11*(-parseInt(r(323))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}($i);tt[qi(297)]((function(e,t){var r,n,i,s=qi;r=tt[s(294)],n=function(e){var t=s;return function(t){var r=Yi,n=e,i=n[r(322)],s=i.WordArray,a=i[r(291)],o=n[r(311)],c=[],u=[];!function(){function e(e){for(var r=t[Yi(292)](e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)e(n)&&(i<8&&(c[i]=r(t.pow(n,.5))),u[i]=r(t.pow(n,1/3)),i++),n++}();var l=[],d=o[r(308)]=a[r(300)]({_doReset:function(){var e=r;this[e(302)]=new(s[e(307)])(c.slice(0))},_doProcessBlock:function(e,t){for(var n=r,i=this[n(302)][n(315)],s=i[0],a=i[1],o=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=0;m<64;m++){if(m<16)l[m]=0|e[t+m];else{var v=l[m-15],y=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,g=l[m-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[m]=y+l[m-7]+_+l[m-16]}var b=s&a^s&o^a&o,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),S=p+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&h^~d&f)+u[m]+l[m];p=f,f=h,h=d,d=c+S|0,c=o,o=a,a=s,s=S+(w+b)|0}i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+o|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0,i[5]=i[5]+h|0,i[6]=i[6]+f|0,i[7]=i[7]+p|0},_doFinalize:function(){var e=r,n=this[e(320)],i=n[e(315)],s=8*this[e(324)],a=8*n.sigBytes;return i[a>>>5]|=128<<24-a%32,i[14+(a+64>>>9<<4)]=t.floor(s/4294967296),i[15+(a+64>>>9<<4)]=s,n[e(317)]=4*i[e(290)],this[e(296)](),this[e(302)]},clone:function(){var e=r,t=a[e(312)][e(309)](this);return t[e(302)]=this[e(302)].clone(),t}});n[r(308)]=a._createHelper(d),n[r(318)]=a[r(310)](d)}(Math),e[t(308)]},(i=Yi)(301)==i(301)?e[i(316)]=n(Ei):n(r[i(288)])}));function Ji(){var e=["SHA256","object","CryptoJS","commonjsGlobal","createCommonjsModule","_doFinalize","sigBytes","lib","9PvhiVZ","4YNUayW","6182648FymMtu","1049826HROASJ","7JvMajp","1863015KSJVav","./core","_createHmacHelper","algo","1973850PuIoTt","extend","./sha256","call","12170120Hhsfzx","_createHelper","26671RWPgFM","WordArray","3278985UUBJeK","SHA224","HmacSHA224","_hash"];return(Ji=function(){return e})()}var Xi=Ki;!function(e,t){for(var r=Ki,n=e();;)try{if(532416===-parseInt(r(346))/1+-parseInt(r(340))/2+parseInt(r(336))/3+-parseInt(r(332))/4*(-parseInt(r(348))/5)+parseInt(r(334))/6*(-parseInt(r(335))/7)+-parseInt(r(333))/8+-parseInt(r(331))/9*(-parseInt(r(344))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ji);tt[Xi(327)]((function(e,t){var r,n,i;r=tt[Xi(326)],n=function(e){return n=(r=e)[(t=Ki)(330)][t(347)],i=r[t(339)],s=i[t(323)],a=i[t(349)]=s[t(341)]({_doReset:function(){this[t(322)]=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=s[e(328)][e(343)](this);return r[e(329)]-=4,r}}),r[t(349)]=s[t(345)](a),r[t(350)]=s[t(338)](a),e.SHA224;var t,r,n,i,s,a},(i=Ki)(324)==i(324)?e.exports=n(Ei):n(r[i(325)])}));function Ki(e,t){var r=Ji();return(Ki=function(e,t){return r[e-=322]})(e,t)}function Zi(e,t){var r=Qi();return(Zi=function(e,t){return r[e-=184]})(e,t)}!function(e,t){for(var r=Zi,n=e();;)try{if(810633===-parseInt(r(191))/1*(parseInt(r(209))/2)+parseInt(r(186))/3*(-parseInt(r(184))/4)+-parseInt(r(198))/5+-parseInt(r(214))/6*(parseInt(r(189))/7)+-parseInt(r(193))/8*(parseInt(r(203))/9)+parseInt(r(222))/10+parseInt(r(216))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qi);et((function(e,t){var r,n,i,s=Zi;r=tt[s(204)],n=function(e){var t=s;return function(){var t=Zi,r=e,n=r[t(207)].Hasher,i=r[t(208)],s=i[t(213)],a=i[t(218)],o=r.algo;function c(){var e=t;return s[e(220)][e(187)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=o[t(192)]=n.extend({_doReset:function(){var e=t;this[e(211)]=new(a[e(215)])([new(s[e(215)])(1779033703,4089235720),new s.init(3144134277,2227873595),new(s[e(215)])(1013904242,4271175723),new(s[e(215)])(2773480762,1595750129),new(s[e(215)])(1359893119,2917565137),new s.init(2600822924,725511199),new(s[e(215)])(528734635,4215389547),new(s[e(215)])(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this._hash[n(199)],s=i[0],a=i[1],o=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=s.high,v=s[n(217)],y=a[n(212)],g=a[n(217)],_=o[n(212)],b=o.low,w=c[n(212)],S=c[n(217)],I=d[n(212)],A=d[n(217)],E=h[n(212)],k=h[n(217)],C=f[n(212)],T=f[n(217)],x=p.high,B=p[n(217)],D=m,M=v,P=y,U=g,F=_,R=b,L=w,O=S,z=I,N=A,H=E,V=k,j=C,W=T,G=x,$=B,q=0;q<80;q++){var Y,J,X=l[q];if(q<16)J=X[n(212)]=0|e[r+2*q],Y=X[n(217)]=0|e[r+2*q+1];else{var K=l[q-15],Z=K.high,Q=K[n(217)],ee=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^Z>>>7,te=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^(Q>>>7|Z<<25),re=l[q-2],ne=re[n(212)],ie=re[n(217)],se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,ae=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),oe=l[q-7],ce=oe[n(212)],ue=oe[n(217)],le=l[q-16],de=le.high,he=le[n(217)];J=(J=(J=ee+ce+((Y=te+ue)>>>0>>0?1:0))+se+((Y+=ae)>>>0>>0?1:0))+de+((Y+=he)>>>0>>0?1:0),X[n(212)]=J,X[n(217)]=Y}var fe,pe=z&H^~z&j,me=N&V^~N&W,ve=D&P^D&F^P&F,ye=M&U^M&R^U&R,ge=(D>>>28|M<<4)^(D<<30|M>>>2)^(D<<25|M>>>7),_e=(M>>>28|D<<4)^(M<<30|D>>>2)^(M<<25|D>>>7),be=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),we=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),Se=u[q],Ie=Se[n(212)],Ae=Se.low,Ee=G+be+((fe=$+we)>>>0<$>>>0?1:0),ke=_e+ye;G=j,$=W,j=H,W=V,H=z,V=N,z=L+(Ee=(Ee=(Ee=Ee+pe+((fe+=me)>>>0>>0?1:0))+Ie+((fe+=Ae)>>>0>>0?1:0))+J+((fe+=Y)>>>0>>0?1:0))+((N=O+fe|0)>>>0>>0?1:0)|0,L=F,O=R,F=P,R=U,P=D,U=M,D=Ee+(ge+ve+(ke>>>0<_e>>>0?1:0))+((M=fe+ke|0)>>>0>>0?1:0)|0}v=s[n(217)]=v+M,s[n(212)]=m+D+(v>>>0>>0?1:0),g=a[n(217)]=g+U,a[n(212)]=y+P+(g>>>0>>0?1:0),b=o[n(217)]=b+R,o[n(212)]=_+F+(b>>>0>>0?1:0),S=c[n(217)]=S+O,c[n(212)]=w+L+(S>>>0>>0?1:0),A=d[n(217)]=A+N,d[n(212)]=I+z+(A>>>0>>0?1:0),k=h[n(217)]=k+V,h[n(212)]=E+H+(k>>>0>>0?1:0),T=f[n(217)]=T+W,f[n(212)]=C+j+(T>>>0>>0?1:0),B=p[n(217)]=B+$,p[n(212)]=x+G+(B>>>0<$>>>0?1:0)},_doFinalize:function(){var e=t,r=this[e(200)],n=r.words,i=8*this[e(188)],s=8*r[e(210)];return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(190)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(210)]=4*n[e(196)],this[e(224)](),this[e(211)][e(185)]()},clone:function(){var e=t,r=n.clone[e(206)](this);return r[e(211)]=this._hash[e(201)](),r},blockSize:32});r[t(192)]=n._createHelper(d),r[t(205)]=n[t(197)](d)}(),e[t(192)]},(i=Zi)(223)==i(223)?e[i(219)]=n(Ei):n(r[i(221)])}));function Qi(){var e=["x64","18096NTyShd","sigBytes","_hash","high","Word","366852kkeBXt","init","56614866MDUXtE","low","WordArray","exports","create","CryptoJS","2016590bWMbfB","object","_process","3371476oJSuOc","toX32","3DJuhPI","apply","_nDataBytes","91EiyaJe","floor","138onhbbP","SHA512","898216CrNigM","./core","amd","length","_createHmacHelper","2082230NEdnwj","words","_data","clone","./x64-core","99kjdqiA","commonjsGlobal","HmacSHA512","call","lib"];return(Qi=function(){return e})()}function es(e,t){var r=rs();return(es=function(e,t){return r[e-=479]})(e,t)}var ts=es;function rs(){var e=["createCommonjsModule","CryptoJS","exports","SHA384","698946LwTxBh","HmacSHA384","./x64-core","533678Jmtntn","call","_hash","8928064uaANvE","4HpPisG","function","_createHelper","110zkMOuI","object","WordArray","SHA512","./core","15yVcXss","_createHmacHelper","_doFinalize","3190575ckLcQV","891649CaUmFB","1HZOZpa","2219328ZqALln","x64","sigBytes","extend","amd","3225376LMsstB","Word","init"];return(rs=function(){return e})()}!function(e,t){for(var r=es,n=e();;)try{if(663158===-parseInt(r(488))/1*(parseInt(r(504))/2)+-parseInt(r(486))/3*(-parseInt(r(508))/4)+-parseInt(r(483))/5*(-parseInt(r(501))/6)+-parseInt(r(494))/7+parseInt(r(507))/8+-parseInt(r(489))/9+parseInt(r(511))/10*(-parseInt(r(487))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(rs);tt[ts(497)]((function(e,t){var r,n,i;r=Ze,n=function(e){var t,r,n,i,s,a,o,c,u=es;return n=(r=e)[(t=es)(490)],i=n[t(495)],s=n[t(480)],a=r.algo,o=a[t(481)],c=a[t(500)]=o[t(492)]({_doReset:function(){var e=t;this[e(506)]=new(s[e(496)])([new(i[e(496)])(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new(i[e(496)])(355462360,4144912697),new(i[e(496)])(1731405415,4290775857),new(i[e(496)])(2394180231,1750603025),new(i[e(496)])(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=o[e(485)][e(505)](this);return r[e(491)]-=16,r}}),r[t(500)]=o[t(510)](c),r[t(502)]=o[t(484)](c),e[u(500)]},"object"===(i=es)(479)?e[i(499)]=n(Ei):"undefined"===i(509)&&(void 0)[i(493)]?(void 0)([i(482),i(503),"./sha512"],n):n(r[i(498)])}));var ns=is;!function(e,t){for(var r=is,n=e();;)try{if(667337===parseInt(r(395))/1+-parseInt(r(376))/2*(parseInt(r(396))/3)+-parseInt(r(405))/4+-parseInt(r(408))/5+-parseInt(r(375))/6*(parseInt(r(371))/7)+-parseInt(r(384))/8*(-parseInt(r(387))/9)+parseInt(r(409))/10*(parseInt(r(393))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ss);tt[ns(411)]((function(e,t){var r,n,i,s=ns;r=tt[s(407)],n=function(e){var t=s;return function(t){var r=is,n=e,i=n[r(391)],s=i[r(402)],a=i[r(397)],o=n[r(388)].Word,c=n[r(379)],u=[],l=[],d=[];!function(){for(var e=r,t=1,n=0,i=0;i<24;i++){u[t+5*n]=(i+1)*(i+2)/2%64;var s=(2*t+3*n)%5;t=n%5,n=s}for(t=0;t<5;t++)for(n=0;n<5;n++)l[t+5*n]=n+(2*t+3*n)%5*5;for(var a=1,c=0;c<24;c++){for(var h=0,f=0,p=0;p<7;p++){if(1&a){var m=(1<>>24)|4278255360&(o<<24|o>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(B=i[a])[n(390)]^=c,B[n(380)]^=o}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,y=0;y<5;y++)m^=(B=i[p+5*y])[n(390)],v^=B.low;var g=h[p];g[n(390)]=m,g[n(380)]=v}for(p=0;p<5;p++){var _=h[(p+4)%5],b=h[(p+1)%5],w=b.high,S=b[n(380)];for(m=_.high^(w<<1|S>>>31),v=_[n(380)]^(S<<1|w>>>31),y=0;y<5;y++)(B=i[p+5*y])[n(390)]^=m,B.low^=v}for(var I=1;I<25;I++){var A=(B=i[I]).high,E=B[n(380)],k=u[I];k<32?(m=A<>>32-k,v=E<>>32-k):(m=E<>>64-k,v=A<>>64-k);var C=h[l[I]];C[n(390)]=m,C[n(380)]=v}var T=h[0],x=i[0];for(T.high=x[n(390)],T[n(380)]=x[n(380)],p=0;p<5;p++)for(y=0;y<5;y++){var B=i[I=p+5*y],D=h[I],M=h[(p+1)%5+5*y],P=h[(p+2)%5+5*y];B[n(390)]=D[n(390)]^~M.high&P[n(390)],B.low=D[n(380)]^~M[n(380)]&P[n(380)]}B=i[0];var U=d[f];B.high^=U[n(390)],B[n(380)]^=U[n(380)]}},_doFinalize:function(){var e=r,n=this[e(389)],i=n[e(392)];this[e(373)];var a=8*n.sigBytes,o=32*this.blockSize;i[a>>>5]|=1<<24-a%32,i[(t[e(374)]((a+1)/o)*o>>>5)-1]|=128,n.sigBytes=4*i.length,this[e(381)]();for(var c=this[e(386)],u=this[e(383)][e(412)]/8,l=u/8,d=[],h=0;h>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d[e(372)](m),d[e(372)](p)}return new(s[e(410)])(d,u)},clone:function(){for(var e=r,t=a[e(399)][e(413)](this),n=t._state=this[e(386)][e(403)](0),i=0;i<25;i++)n[i]=n[i][e(399)]();return t}});n.SHA3=a._createHelper(f),n[r(400)]=a[r(398)](f)}(Math),e[t(382)]},(i=is)(414)==i(414)?e.exports=n(Ei):"undefined"===i(394)&&(void 0).amd?(void 0)([i(385),i(401)],n):n(r[i(404)])}));function is(e,t){var r=ss();return(is=function(e,t){return r[e-=371]})(e,t)}function ss(){var e=["3WglhUa","Hasher","_createHmacHelper","clone","HmacSHA3","./x64-core","WordArray","slice","CryptoJS","4830796ALpOth","create","commonjsGlobal","4189835YQTpdf","409610FPhVdH","init","createCommonjsModule","outputLength","call","object","7hpMAfc","push","_nDataBytes","ceil","853626MUVLvZ","711148MxbcXB","blockSize","extend","algo","low","_process","SHA3","cfg","339816lIwYFi","./core","_state","225tAwPXh","x64","_data","high","lib","words","429ktKOkN","function","551444hnFavQ"];return(ss=function(){return e})()}var as=cs;function os(){var e=["9001350UNzHMt","words","Hasher","_hash","HmacRIPEMD160","696145aaMLlZ","commonjsGlobal","lib","exports","length","WordArray","clone","createCommonjsModule","_data","1926920qADlni","algo","create","_nDataBytes","14qDZnXm","_process","RIPEMD160","CryptoJS","object","20331eUVnfd","call","478741jXsiYp","1289604PvKUdj","amd","164oWWZRU","./core","514042cWLNBu","9eGpzSV","sigBytes"];return(os=function(){return e})()}function cs(e,t){var r=os();return(cs=function(e,t){return r[e-=482]})(e,t)}!function(e,t){for(var r=cs,n=e();;)try{if(312494===parseInt(r(499))/1+-parseInt(r(504))/2+-parseInt(r(497))/3*(parseInt(r(502))/4)+parseInt(r(512))/5+-parseInt(r(500))/6*(parseInt(r(492))/7)+-parseInt(r(488))/8+-parseInt(r(505))/9*(-parseInt(r(507))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(os);tt[as(486)]((function(e,t){var r,n,i,s=as;r=tt[s(513)],n=function(e){var t=s;return function(t){var r=cs,n=e,i=n[r(514)],s=i[r(484)],a=i[r(509)],o=n[r(489)],c=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s[r(490)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s[r(490)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s[r(490)]([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){var e=r;this[e(510)]=s[e(490)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,a=e[s];e[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var o,p,w,S,I,A,E,k,C,T,x,B=this[n(510)][n(508)],D=h.words,M=f[n(508)],P=c[n(508)],U=u[n(508)],F=l[n(508)],R=d[n(508)];for(A=o=B[0],E=p=B[1],k=w=B[2],C=S=B[3],T=I=B[4],i=0;i<80;i+=1)x=o+e[t+P[i]]|0,x+=i<16?m(p,w,S)+D[0]:i<32?v(p,w,S)+D[1]:i<48?y(p,w,S)+D[2]:i<64?g(p,w,S)+D[3]:_(p,w,S)+D[4],x=(x=b(x|=0,F[i]))+I|0,o=I,I=S,S=b(w,10),w=p,p=x,x=A+e[t+U[i]]|0,x+=i<16?_(E,k,C)+M[0]:i<32?g(E,k,C)+M[1]:i<48?y(E,k,C)+M[2]:i<64?v(E,k,C)+M[3]:m(E,k,C)+M[4],x=(x=b(x|=0,R[i]))+T|0,A=T,T=C,C=b(k,10),k=E,E=x;x=B[1]+w+C|0,B[1]=B[2]+S+T|0,B[2]=B[3]+I+A|0,B[3]=B[4]+o+E|0,B[4]=B[0]+p+k|0,B[0]=x},_doFinalize:function(){var e=r,t=this[e(487)],n=t[e(508)],i=8*this[e(491)],s=8*t[e(506)];n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n[e(483)]+1),this[e(493)]();for(var a=this[e(510)],o=a[e(508)],c=0;c<5;c++){var u=o[c];o[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return a},clone:function(){var e=r,t=a[e(485)][e(498)](this);return t[e(510)]=this[e(510)][e(485)](),t}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function y(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}n[r(494)]=a._createHelper(p),n[r(511)]=a._createHmacHelper(p)}(),e[t(494)]},(i=cs)(496)==i(496)?e[i(482)]=n(Ei):n(r[i(495)])}));function us(e,t){var r=ls();return(us=function(e,t){return r[e-=128]})(e,t)}function ls(){var e=["1358255qQVWQh","algo","4045048EUsgyQ","17496770zVwdPw","Utf8","words","clone","3822NyjYiB","finalize","_hasher","update","object","_oKey","sigBytes","init","27NWLHJG","CryptoJS","clamp","_iKey","lib","554772kMPrtJ","reset","10308qZsuOR","enc","4530702kSeOXW","./core","concat","commonjsGlobal","4vSzkiN","Base","1416571qOnNGt","14CKosiS"];return(ls=function(){return e})()}!function(e,t){for(var r=us,n=e();;)try{if(967578===parseInt(r(133))/1+parseInt(r(134))/2*(-parseInt(r(155))/3)+-parseInt(r(131))/4*(parseInt(r(135))/5)+parseInt(r(157))/6*(parseInt(r(142))/7)+-parseInt(r(137))/8*(-parseInt(r(150))/9)+-parseInt(r(138))/10+parseInt(r(159))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ls);et((function(e,t){var r,n,i;r=tt[us(130)],n=function(e){var t,r,n,i;n=(r=e)[(t=us)(154)][t(132)],i=r[t(158)][t(139)],r[t(136)].HMAC=n.extend({init:function(e,r){var n=t;e=this[n(144)]=new(e[n(149)]),"string"==typeof r&&(r=i.parse(r));var s=e.blockSize,a=4*s;r[n(148)]>a&&(r=e[n(143)](r)),r[n(152)]();for(var o=this[n(147)]=r[n(141)](),c=this._iKey=r[n(141)](),u=o[n(140)],l=c.words,d=0;d>>2];e[t(217)]-=r}};s.BlockCipher=h.extend({cfg:h[n(273)][n(209)]({mode:m,padding:v}),reset:function(){var e,t=n;h[t(203)].call(this);var r=this[t(273)],i=r.iv,s=r[t(208)];this._xformMode==this[t(242)]?e=s[t(221)]:(e=s[t(193)],this[t(200)]=1),this[t(222)]&&this[t(222)].__creator==e?this[t(222)][t(225)](this,i&&i[t(229)]):(this._mode=e[t(212)](s,this,i&&i.words),this[t(222)][t(236)]=e)},_doProcessBlock:function(e,t){var r=n;this[r(222)][r(211)](e,t)},_doFinalize:function(){var e,t=n,r=this[t(273)][t(278)];return this[t(270)]==this[t(242)]?(r.pad(this[t(234)],this[t(259)]),e=this._process(!!t(275))):(e=this[t(252)](!!t(275)),r.unpad(e)),e},blockSize:4});var y=s[n(253)]=a[n(209)]({init:function(e){this[n(219)](e)},toString:function(e){return(e||this.formatter).stringify(this)}}),g=(i[n(255)]={})[n(261)]={stringify:function(e){var t=n,r=e[t(248)],i=e[t(271)];return(i?o.create([1398893684,1701076831])[t(246)](i)[t(246)](r):r)[t(268)](l)},parse:function(e){var t,r=n,i=l[r(228)](e),s=i[r(229)];return 1398893684==s[0]&&1701076831==s[1]&&(t=o[r(247)](s.slice(2,4)),s.splice(0,4),i.sigBytes-=16),y[r(247)]({ciphertext:i,salt:t})}},_=s[n(277)]=a.extend({cfg:a[n(209)]({format:g}),encrypt:function(e,t,r,i){var s=n;i=this[s(273)][s(209)](i);var a=e.createEncryptor(r,i),o=a[s(267)](t),c=a.cfg;return y.create({ciphertext:o,key:r,iv:c.iv,algorithm:e,mode:c[s(208)],padding:c.padding,blockSize:e.blockSize,formatter:i[s(255)]})},decrypt:function(e,t,r,i){var s=n;return i=this.cfg.extend(i),t=this[s(260)](t,i[s(255)]),e.createDecryptor(r,i)[s(267)](t[s(248)])},_parse:function(e,t){return"string"==typeof e?t[n(228)](e,this):e}}),b=(i.kdf={})[n(261)]={execute:function(e,t,r,i,s){var a=n;if(!i&&(i=o[a(224)](8)),s)c=d[a(247)]({keySize:t+r,hasher:s})[a(265)](e,i);else var c=d[a(247)]({keySize:t+r})[a(265)](e,i);var u=o[a(247)](c[a(229)][a(257)](t),4*r);return c[a(217)]=4*t,y[a(247)]({key:c,iv:u,salt:i})}},w=s.PasswordBasedCipher=_[n(209)]({cfg:_[n(273)][n(209)]({kdf:b}),encrypt:function(e,t,r,i){var s=n,a=(i=this[s(273)][s(209)](i))[s(243)][s(218)](r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=a.iv;var o=_[s(254)][s(212)](this,e,t,a.key,i);return o[s(219)](a),o},decrypt:function(e,t,r,i){var s=n;i=this[s(273)].extend(i),t=this._parse(t,i.format);var a=i.kdf.execute(r,e[s(205)],e[s(201)],t[s(271)],i[s(274)]);return i.iv=a.iv,_.decrypt[s(212)](this,e,t,a[s(215)],i)}})}()},"object"===(i=gs)(230)?e[i(233)]=n(Ei):n(r.CryptoJS)}));function _s(){var e=["_prevBlock","11WxLjuE","_ENC_XFORM_MODE","kdf","_doReset","842450vTpmPJ","concat","create","ciphertext","decryptBlock","decrypt","pad","_process","CipherParams","encrypt","format","_cipher","slice","./evpkdf","blockSize","_parse","OpenSSL","BlockCipherMode","Decryptor","4762ZlTrlS","compute","StreamCipher","finalize","toString","encryptBlock","_xformMode","salt","8PQDVRw","cfg","hasher","flush","Encryptor","SerializableCipher","padding","1579263qLXLzB","createDecryptor","210VcutGy","createCommonjsModule","Pkcs7","_key","EvpKDF","commonjsGlobal","_minBufferSize","ivSize","_append","reset","14866660Pgwxkc","keySize","lib","CBC","mode","extend","Base64","processBlock","call","enc","5IDAcTI","key","WordArray","sigBytes","execute","mixIn","algo","createEncryptor","_mode","_doFinalize","random","init","Utf8","BufferedBlockAlgorithm","parse","words","object","47157420CgcRBP","9FDpmFU","exports","_data","amd","__creator","1938666viDMLq","9845944WUOrXf","_iv"];return(_s=function(){return e})()}var bs=ws;function ws(e,t){var r=Ss();return(ws=function(e,t){return r[e-=421]})(e,t)}!function(e,t){for(var r=ws,n=e();;)try{if(354175===-parseInt(r(437))/1+-parseInt(r(435))/2+-parseInt(r(436))/3+parseInt(r(426))/4+-parseInt(r(422))/5+parseInt(r(440))/6*(-parseInt(r(429))/7)+parseInt(r(431))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ss);tt[bs(424)]((function(e,t){var r,n,i=bs;tt[i(443)],e[ws(432)]=(n=i,(r=Ei).mode[n(430)]=function(){var e=n,t=r[e(423)].BlockCipherMode.extend();function i(t,r,n,i){var s,a=e,o=this[a(439)];o?(s=o[a(444)](0),this._iv=void 0):s=this[a(427)],i.encryptBlock(s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var s=n[r(422)]=n[r(437)]({processBlock:function(e,t){var n,s=r,a=this._cipher,o=a[s(428)],c=this[s(438)],u=this[s(425)];c&&(u=this[s(425)]=c.slice(0),this._iv=void 0),0===((n=u)[0]=i(n[0]))&&(n[1]=i(n[1]));var l=u[s(442)](0);a[s(421)](l,0);for(var d=0;d>>2]|=a<<24-o%4*8,e[r(398)]+=a},unpad:function(e){var t=n,r=255&e[t(411)][e[t(398)]-1>>>2];e[t(398)]-=r}},r[n(400)][n(413)])}));function Rs(e,t){var r=Ls();return(Rs=function(e,t){return r[e-=106]})(e,t)}function Ls(){var e=["WordArray","10cYBszt","sigBytes","429308BOoTTZ","3281280bpGmgw","pad","random","create","commonjsGlobal","8373978mhKnco","10488874lhEZRR","CryptoJS","Iso10126","lib","words","concat","856KubcEN","object","29385whSYLL","5849480MpvTGz","./cipher-core","./core","function","50sFJyVw","70nKHnpa","86989KCEpIX","exports"];return(Ls=function(){return e})()}!function(e,t){for(var r=Rs,n=e();;)try{if(820724===parseInt(r(132))/1+parseInt(r(126))/2*(parseInt(r(120))/3)+parseInt(r(121))/4+-parseInt(r(130))/5*(-parseInt(r(106))/6)+parseInt(r(127))/7*(parseInt(r(118))/8)+parseInt(r(111))/9+-parseInt(r(125))/10*(parseInt(r(112))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ls);et((function(e,t){var r,n,i,s=Rs;r=tt[s(110)],n=function(e){var t=s;return e[t(107)][t(114)]={pad:function(r,n){var i=t,s=4*n,a=s-r.sigBytes%s;r.concat(e[i(115)].WordArray[i(108)](a-1))[i(117)](e.lib[i(129)][i(109)]([a<<24],1))},unpad:function(e){var r=t,n=255&e[r(116)][e[r(131)]-1>>>2];e.sigBytes-=n}},e[t(107)][t(114)]},"object"===(i=Rs)(119)?e[i(128)]=n(Ei):"undefined"===i(124)&&(void 0).amd?(void 0)([i(123),i(122)],n):n(r[i(113)])}));var Os=zs;function zs(e,t){var r=Ns();return(zs=function(e,t){return r[e-=270]})(e,t)}function Ns(){var e=["createCommonjsModule","pad","120KQjtzX","6fPslrx","14047RpvBWE","6499930VvFBPD","ZeroPadding","303944mbsmzi","177682NDkMvu","198078KNgtTf","16548rzPWMz","amd","./cipher-core","WordArray","3321630mpJRLg","7xHdvfx","Iso97971","8XrNbja","62069vLtWls","create","function","sigBytes","object"];return(Ns=function(){return e})()}!function(e,t){for(var r=zs,n=e();;)try{if(428390===parseInt(r(271))/1*(parseInt(r(287))/2)+-parseInt(r(282))/3*(parseInt(r(286))/4)+-parseInt(r(281))/5*(parseInt(r(288))/6)+parseInt(r(274))/7*(parseInt(r(273))/8)+-parseInt(r(270))/9+-parseInt(r(284))/10+parseInt(r(283))/11*(parseInt(r(289))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ns);tt[Os(279)]((function(e,t){var r,n,i;r=Ze,n=function(e){var t=zs;return e.pad[t(272)]={pad:function(r,n){var i=t;r.concat(e.lib[i(292)][i(275)]([2147483648],1)),e.pad.ZeroPadding[i(280)](r,n)},unpad:function(r){var n=t;e[n(280)][n(285)].unpad(r),r[n(277)]--}},e[t(280)][t(272)]},(i=zs)(278)==i(278)?e.exports=n(Ei):"undefined"===i(276)&&(void 0)[i(290)]?(void 0)(["./core",i(291)],n):n(r.CryptoJS)}));var Hs=Vs;function Vs(e,t){var r=js();return(Vs=function(e,t){return r[e-=111]})(e,t)}!function(e,t){for(var r=Vs,n=e();;)try{if(216024===-parseInt(r(131))/1*(parseInt(r(116))/2)+-parseInt(r(125))/3*(parseInt(r(128))/4)+-parseInt(r(120))/5*(parseInt(r(117))/6)+-parseInt(r(118))/7*(-parseInt(r(130))/8)+-parseInt(r(112))/9*(parseInt(r(115))/10)+-parseInt(r(132))/11+parseInt(r(114))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(js);tt[Hs(113)]((function(e,t){var r,n,i,s=Hs;r=tt[s(126)],n=function(e){var t=s;return e.pad[t(129)]={pad:function(e,r){var n=t,i=4*r;e.clamp(),e.sigBytes+=i-(e[n(124)]%i||i)},unpad:function(e){var r=t,n=e.words,i=e[r(124)]-1;for(i=e.sigBytes-1;i>=0;i--)if(n[i>>>2]>>>24-i%4*8&255){e[r(124)]=i+1;break}}},e.pad[t(129)]},(i=Vs)(127)==i(127)?e.exports=n(Ei):"undefined"===i(119)&&(void 0)[i(121)]?(void 0)([i(123),i(122)],n):n(r[i(111)])}));function js(){var e=["./core","sigBytes","3EOsySN","commonjsGlobal","object","147156XGfQnQ","ZeroPadding","8igWxoH","1PWUBaq","2955106ZbzYHO","CryptoJS","139905nYUoml","createCommonjsModule","12113268Yaiikd","170tjIXok","77498oByrcy","510YaaFkz","888293OMvRII","function","18345GRoxMW","amd","./cipher-core"];return(js=function(){return e})()}var Ws=Gs;!function(e,t){for(var r=Gs,n=e();;)try{if(798678===-parseInt(r(446))/1+parseInt(r(455))/2+parseInt(r(454))/3+-parseInt(r(445))/4+parseInt(r(452))/5+parseInt(r(443))/6+parseInt(r(449))/7*(parseInt(r(453))/8))break;n.push(n.shift())}catch(e){n.push(n.shift())}}($s);tt[Ws(441)]((function(e,t){var r,n,i;r=Ze,n=function(e){var t=Gs;return e[t(450)][t(451)]={pad:function(){},unpad:function(){}},e[t(450)][t(451)]},(i=Gs)(440)==i(440)?e[i(444)]=n(Ei):"undefined"===i(447)&&(void 0).amd?(void 0)(["./core",i(448)],n):n(r[i(442)])}));function Gs(e,t){var r=$s();return(Gs=function(e,t){return r[e-=440]})(e,t)}function $s(){var e=["pad","NoPadding","849585JrrkTW","54968PvwJjI","56049BGZlvm","2354958GsExOq","object","createCommonjsModule","CryptoJS","4797726MBzRsq","exports","3793040SrACED","1552477pJUmzI","function","./cipher-core","1155fINfdf"];return($s=function(){return e})()}var qs=Ys;function Ys(e,t){var r=Js();return(Ys=function(e,t){return r[e-=452]})(e,t)}function Js(){var e=["CipherParams","./cipher-core","format","7738096xzaRht","3266100yPyexo","lib","amd","object","289955uSgaEO","5490189RArgEB","CryptoJS","./core","commonjsGlobal","603046wIkZZr","6975192ZhwiPM","20phTGni","812761FkWfus","parse","Hex","function","6FtvlVb","ciphertext","createCommonjsModule"];return(Js=function(){return e})()}!function(e,t){for(var r=Ys,n=e();;)try{if(683895===-parseInt(r(455))/1+parseInt(r(452))/2*(parseInt(r(459))/3)+-parseInt(r(454))/4*(parseInt(r(470))/5)+parseInt(r(466))/6+parseInt(r(453))/7+-parseInt(r(465))/8+parseInt(r(471))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Js);tt[qs(461)]((function(e,t){var r,n,i,s=qs;r=tt[s(474)],n=function(e){var t,r,n,i,a=s;return n=(r=e)[(t=Ys)(467)][t(462)],i=r.enc[t(457)],r[t(464)][t(457)]={stringify:function(e){return e[t(460)].toString(i)},parse:function(e){var r=i[t(456)](e);return n.create({ciphertext:r})}},e.format[a(457)]},"object"===(i=Ys)(469)?e.exports=n(Ei):"undefined"===i(458)&&(void 0)[i(468)]?(void 0)([i(473),i(463)],n):n(r[i(472)])}));var Xs=Zs;function Ks(){var e=["words","./cipher-core","5660165WrFJdP","312920weQIqG","./evpkdf","createCommonjsModule","AES","_doCryptBlock","_createHelper","_key","2004126AACrcY","_keySchedule","lib","algo","_nRounds","amd","extend","_keyPriorReset","33386TyuvOn","./core","CryptoJS","_invKeySchedule","1282113XZbHRH","1745520kJQRHb","commonjsGlobal","BlockCipher","sigBytes","./md5","1006186CTXwyt","81nunrqM","object","10sWjPeP"];return(Ks=function(){return e})()}function Zs(e,t){var r=Ks();return(Zs=function(e,t){return r[e-=380]})(e,t)}!function(e,t){for(var r=Zs,n=e();;)try{if(776622===parseInt(r(387))/1+-parseInt(r(409))/2*(-parseInt(r(388))/3)+-parseInt(r(382))/4+-parseInt(r(390))/5*(-parseInt(r(401))/6)+-parseInt(r(393))/7+parseInt(r(394))/8+-parseInt(r(381))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ks);tt[Xs(396)]((function(e,t){var r,n,i,s=Xs;r=tt[s(383)],n=function(e){var t=s;return function(){var t=Zs,r=e,n=r[t(403)][t(384)],i=r[t(404)],s=[],a=[],o=[],c=[],u=[],l=[],d=[],h=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,a[i]=r;var m=e[r],v=e[m],y=e[v],g=257*e[i]^16843008*i;o[r]=g<<24|g>>>8,c[r]=g<<16|g>>>16,u[r]=g<<8|g>>>24,l[r]=g,g=16843009*y^65537*v^257*m^16843008*r,d[i]=g<<24|g>>>8,h[i]=g<<16|g>>>16,f[i]=g<<8|g>>>24,p[i]=g,r?(r=m^e[e[e[y^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i[t(397)]=n[t(407)]({_doReset:function(){var e=t;if(!this[e(405)]||this[e(408)]!==this[e(400)]){for(var r=this[e(408)]=this._key,n=r[e(391)],i=r[e(385)]/4,a=4*((this[e(405)]=i+6)+1),o=this[e(402)]=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),o[c]=o[c-i]^v);for(var u=this[e(380)]=[],l=0;l>>24]]^h[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){var n=t;this._doCryptBlock(e,r,this[n(402)],o,c,u,l,s)},decryptBlock:function(e,r){var n=t,i=e[r+1];e[r+1]=e[r+3],e[r+3]=i,this[n(398)](e,r,this[n(380)],d,h,f,p,a),i=e[r+1],e[r+1]=e[r+3],e[r+3]=i},_doCryptBlock:function(e,r,n,i,s,a,o,c){for(var u=this[t(405)],l=e[r]^n[0],d=e[r+1]^n[1],h=e[r+2]^n[2],f=e[r+3]^n[3],p=4,m=1;m>>24]^s[d>>>16&255]^a[h>>>8&255]^o[255&f]^n[p++],y=i[d>>>24]^s[h>>>16&255]^a[f>>>8&255]^o[255&l]^n[p++],g=i[h>>>24]^s[f>>>16&255]^a[l>>>8&255]^o[255&d]^n[p++],_=i[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^o[255&h]^n[p++];l=v,d=y,h=g,f=_}v=(c[l>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&f])^n[p++],y=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[f>>>8&255]<<8|c[255&l])^n[p++],g=(c[h>>>24]<<24|c[f>>>16&255]<<16|c[l>>>8&255]<<8|c[255&d])^n[p++],_=(c[f>>>24]<<24|c[l>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^n[p++],e[r]=v,e[r+1]=y,e[r+2]=g,e[r+3]=_},keySize:8});r.AES=n[t(399)](v)}(),e[t(397)]},"object"===(i=Zs)(389)?e.exports=n(Ei):n(r[i(411)])}));var Qs=ea;function ea(e,t){var r=ta();return(ea=function(e,t){return r[e-=137]})(e,t)}function ta(){var e=["1036atlXzf","8392180aoxmSr","createCommonjsModule","BlockCipher","./cipher-core","36wDJMQX","_des2","810791eNKIGu","createEncryptor","_des3","_key","TripleDES","_rBlock","Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.","_invSubKeys","object","./md5","./enc-base64","function","./core","_subKeys","_createHelper","146925ccuzGt","121GwCFSg","_lBlock","_des1","1905252aobtEZ","create","decryptBlock","extend","CryptoJS","words","_doCryptBlock","WordArray","slice","call","encryptBlock","2786896hWHLaL","length","63438AKePKU","DES","./evpkdf","2xGKCkA","1191175AsLekB","9nmUoVd","amd"];return(ta=function(){return e})()}!function(e,t){for(var r=ea,n=e();;)try{if(817268===parseInt(r(150))/1*(parseInt(r(139))/2)+-parseInt(r(165))/3*(-parseInt(r(148))/4)+parseInt(r(140))/5+parseInt(r(182))/6*(parseInt(r(143))/7)+parseInt(r(180))/8*(parseInt(r(141))/9)+-parseInt(r(144))/10+parseInt(r(166))/11*(-parseInt(r(169))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ta);tt[Qs(145)]((function(e,t){var r,n,i;r=Ze,n=function(e){var t=ea;return function(){var t=ea,r=e,n=r.lib,i=n[t(176)],s=n[t(146)],a=r.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=a[t(137)]=s[t(172)]({_doReset:function(){for(var e=t,r=this[e(153)].words,n=[],i=0;i<56;i++){var s=o[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var a=this[e(163)]=[],l=0;l<16;l++){var d=a[l]=[],h=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var f=this[e(157)]=[];for(i=0;i<16;i++)f[i]=a[15-i]},encryptBlock:function(e,r){var n=t;this._doCryptBlock(e,r,this[n(163)])},decryptBlock:function(e,r){var n=t;this[n(175)](e,r,this[n(157)])},_doCryptBlock:function(e,r,n){var i=t;this._lBlock=e[r],this[i(155)]=e[r+1],f[i(178)](this,4,252645135),f[i(178)](this,16,65535),p[i(178)](this,2,858993459),p.call(this,8,16711935),f[i(178)](this,1,1431655765);for(var s=0;s<16;s++){for(var a=n[s],o=this[i(167)],c=this[i(155)],u=0,h=0;h<8;h++)u|=l[h][((c^a[h])&d[h])>>>0];this[i(167)]=c,this[i(155)]=o^u}var m=this._lBlock;this._lBlock=this[i(155)],this._rBlock=m,f[i(178)](this,1,1431655765),p[i(178)](this,8,16711935),p[i(178)](this,2,858993459),f.call(this,16,65535),f[i(178)](this,4,252645135),e[r]=this[i(167)],e[r+1]=this[i(155)]},keySize:2,ivSize:2,blockSize:2});function f(e,r){var n=t,i=(this[n(167)]>>>e^this[n(155)])&r;this[n(155)]^=i,this._lBlock^=i<>>e^this._lBlock)&r;this[n(167)]^=i,this._rBlock^=i<>>2]>>>24-c%4*8&255;o=(o+s[a]+u)%256;var l=s[a];s[a]=s[o],s[o]=l}this._i=this._j=0},_doProcessBlock:function(t,r){var n=e;t[r]^=a[n(418)](this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}t.RC4=n[e(422)](s);var o=i[e(441)]=s[e(435)]({cfg:s[e(419)][e(435)]({drop:192}),_doReset:function(){var t=e;s[t(438)].call(this);for(var r=this[t(419)][t(415)];r>0;r--)a.call(this)}});t[e(441)]=n[e(422)](o)}(),r[n(431)])}));function ia(e,t){var r=sa();return(ia=function(e,t){return r[e-=266]})(e,t)}function sa(){var e=["390CmjPkd","608019JxejBA","CryptoJS","2XKFphR","./evpkdf","826289wIigVC","commonjsGlobal","lib","extend","234EpQSQm","call","./core","amd","words","6uYEgti","cfg","31368216hLPuXy","240581adEVqp","object","Rabbit","./md5","function","3789055nFxSBn","algo","exports","2037931wGDxEV","38096PtHPsc","_key","./enc-base64","4MMMJoG"];return(sa=function(){return e})()}!function(e,t){for(var r=ia,n=e();;)try{if(440669===parseInt(r(283))/1*(parseInt(r(281))/2)+parseInt(r(279))/3*(parseInt(r(277))/4)+parseInt(r(270))/5*(parseInt(r(292))/6)+parseInt(r(273))/7+parseInt(r(274))/8*(parseInt(r(287))/9)+parseInt(r(278))/10*(parseInt(r(295))/11)+-parseInt(r(294))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(sa);et((function(e,t){var r,n,i,s=ia;r=tt[s(284)],n=function(e){var t=s;return function(){var t=ia,r=e,n=r[t(285)].StreamCipher,i=r[t(271)],s=[],a=[],o=[],c=i[t(267)]=n[t(286)]({_doReset:function(){for(var e=t,r=this[e(275)][e(291)],n=this[e(293)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],a=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u[e(288)](this);for(i=0;i<8;i++)a[i]^=s[i+4&7];if(n){var o=n[e(291)],c=o[0],l=o[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(a[0]^=d,a[1]^=f,a[2]^=h,a[3]^=p,a[4]^=d,a[5]^=f,a[6]^=h,a[7]^=p,i=0;i<4;i++)u.call(this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(288)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var a=0;a<4;a++)s[a]=16711935&(s[a]<<8|s[a]>>>24)|4278255360&(s[a]<<24|s[a]>>>8),e[r+a]^=s[a]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r[t(267)]=n._createHelper(c)}(),e[t(267)]},(i=ia)(266)==i(266)?e[i(272)]=n(Ei):"undefined"===i(269)&&(void 0)[i(290)]?(void 0)([i(289),i(276),i(268),i(282),"./cipher-core"],n):n(r[i(280)])}));function aa(){var e=["object","_key","exports","StreamCipher","_createHelper","function","call","extend","commonjsGlobal","words","44UdiRjy","RabbitLegacy","111XCeVAK","./md5","3021372kYFnwP","algo","amd","cfg","2688522tmYwuP","7HGHJFT","1422mhCFuW","84tCRCiw","2859296uHhQbl","lib","5955144ECwpAE","CryptoJS","225455GFUjPO","./enc-base64","createCommonjsModule","8782vhMxzX","66910HEPhSf","./evpkdf"];return(aa=function(){return e})()}var oa=ca;function ca(e,t){var r=aa();return(ca=function(e,t){return r[e-=491]})(e,t)}!function(e,t){for(var r=ca,n=e();;)try{if(565590===-parseInt(r(503))/1*(parseInt(r(520))/2)+-parseInt(r(509))/3+parseInt(r(512))/4*(-parseInt(r(517))/5)+-parseInt(r(505))/6+-parseInt(r(510))/7*(-parseInt(r(513))/8)+parseInt(r(511))/9*(parseInt(r(521))/10)+parseInt(r(501))/11*(parseInt(r(515))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(aa);tt[oa(519)]((function(e,t){var r,n,i,s=oa;r=tt[s(499)],n=function(e){var t=s;return function(){var t=ca,r=e,n=r[t(514)][t(494)],i=r[t(506)],s=[],a=[],o=[],c=i.RabbitLegacy=n[t(498)]({_doReset:function(){var e=t,r=this[e(492)][e(500)],n=this[e(508)].iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var a=0;a<4;a++)u[e(497)](this);for(a=0;a<8;a++)s[a]^=i[a+4&7];if(n){var o=n[e(500)],c=o[0],l=o[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(s[0]^=d,s[1]^=f,s[2]^=h,s[3]^=p,s[4]^=d,s[5]^=f,s[6]^=h,s[7]^=p,a=0;a<4;a++)u[e(497)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(497)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var a=0;a<4;a++)s[a]=16711935&(s[a]<<8|s[a]>>>24)|4278255360&(s[a]<<24|s[a]>>>8),e[r+a]^=s[a]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)a[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);o[r]=c^u}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}r[t(502)]=n[t(495)](c)}(),e[t(502)]},(i=ca)(491)==i(491)?e[i(493)]=n(Ei):"undefined"===i(496)&&(void 0)[i(507)]?(void 0)(["./core",i(518),i(504),i(522),"./cipher-core"],n):n(r[i(516)])}));const ua=da;function la(){const e=["object","6DqWUvU","right","BlockCipher","commonjsGlobal","./core","305389vWagIM","algo","function","pbox","_keyPriorReset","_createHelper","Blowfish","71457LOzbRZ","./md5","left","exports","createCommonjsModule","CryptoJS","./cipher-core","133512tWUOwm","_key","399734iAHzmU","extend","1450960VGyZLr","16NnSgsT","words","sbox","amd","./enc-base64","581544ySDjDa","1509530sTpVBK"];return(la=function(){return e})()}function da(e,t){const r=la();return(da=function(e,t){return r[e-=210]})(e,t)}!function(e,t){const r=da,n=e();for(;;)try{if(323073===-parseInt(r(224))/1+-parseInt(r(233))/2*(parseInt(r(212))/3)+parseInt(r(235))/4+parseInt(r(210))/5+-parseInt(r(231))/6+parseInt(r(217))/7*(parseInt(r(236))/8)+parseInt(r(241))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(la);tt[ua(228)]((function(e,t){const r=ua;!function(t,r,n){const i=da;i(211)==i(211)?e[i(227)]=r(Ei):"undefined"===i(219)&&(void 0)[i(239)]?(void 0)([i(216),i(240),i(225),"./evpkdf",i(230)],r):r(t[i(229)])}(tt[r(215)],(function(e){const t=r;return function(){const t=da;var r=e,n=r.lib[t(214)],i=r[t(218)];const s=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const n=t;let i=r>>24&255,s=r>>16&255,a=r>>8&255,o=255&r,c=e[n(238)][0][i]+e[n(238)][1][s];return c^=e[n(238)][2][a],c+=e.sbox[3][o],c}function l(e,r,n){const i=t;let a,o=r,c=n;for(let t=0;t=n&&(s=0);let c=0,u=0,d=0;for(let t=0;t<18;t+=2)d=l(e,c,u),c=d.left,u=d.right,e[i(220)][t]=c,e.pbox[t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)d=l(e,c,u),c=d[i(226)],u=d.right,e[i(238)][t][r]=c,e[i(238)][t][r+1]=u}(c,n,i)}},encryptBlock:function(e,r){const n=t;var i=l(c,e[r],e[r+1]);e[r]=i[n(226)],e[r+1]=i[n(213)]},decryptBlock:function(e,r){const n=t;var i=function(e,r,n){const i=t;let s,a=r,o=n;for(let t=17;t>1;--t)a^=e.pbox[t],o=u(e,a)^o,s=a,a=o,o=s;return s=a,a=o,o=s,o^=e.pbox[1],a^=e[i(220)][0],{left:a,right:o}}(c,e[r],e[r+1]);e[r]=i[n(226)],e[r+1]=i[n(213)]},blockSize:2,keySize:4,ivSize:2});r[t(223)]=n[t(222)](d)}(),e[t(223)]}))}));var ha=fa;function fa(e,t){var r=pa();return(fa=function(e,t){return r[e-=462]})(e,t)}function pa(){var e=["./x64-core","./lib-typedarrays","./sha256","CryptoJS","./mode-cfb","./sha224","./rabbit","./rabbit-legacy","./aes","./cipher-core","3858280JEEFIC","./pad-iso97971","./sha1","6BIoHze","./sha3","./enc-base64url","2238237lhGLBb","12804300CMLrxg","4GwlwCy","2965557CkXQUp","./pbkdf2","38677HlyYMp","./core","object","./sha384","230TtzCwt","createCommonjsModule","./enc-base64","./mode-ofb","./pad-ansix923","./hmac","28266gtTbrt","993588YnMJuA","exports","./ripemd160","./evpkdf","./pad-iso10126"];return(pa=function(){return e})()}function ma(){const e=["1960389EXOxFW","844145uSkqSy","ModeOfOperation","1737428uivMDk","49ECVMXz","3mQWiQO","ctr","39ELqAhW","toString","2LRkREi","lib","148264yAwTwC","decrypt","6oJBbFI","byteLength","1874604hyVyBA","slice","get","set","create","20147BfXVlC","395852iKxSBq","then","WordArray","Counter","catch","10SFfqjI","length"];return(ma=function(){return e})()}function va(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function ya(e,t,r){const n=_a;let i=arguments[n(474)]>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e[n(461)];let a=5;for(;as)break;let c=e[a+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(c)):(c&=31,u=1===c||5===c),u){const i=e.slice(a+4+2,a+4+o);let s=new(Si[n(477)][n(481)])(t,new(Si[n(471)])(r));const c=s[n(459)](i);s=null,e[n(465)](c,a+4+2)}a=a+4+o}return e}function ga(e,t,r){const n=_a;if(e[n(461)]<=30)return e;const i=e[n(463)](32);let s=new(Si[n(477)].ctr)(t,new(Si[n(471)])(r));const a=s.decrypt(i);return s=null,e.set(a,32),e}function _a(e,t){const r=ma();return(_a=function(e,t){return r[e-=459]})(e,t)}!function(e,t){for(var r=fa,n=e();;)try{if(306070===-parseInt(r(472))/1*(parseInt(r(464))/2)+parseInt(r(483))/3*(parseInt(r(469))/4)+-parseInt(r(476))/5*(-parseInt(r(482))/6)+parseInt(r(470))/7+parseInt(r(498))/8+parseInt(r(467))/9+-parseInt(r(468))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pa),tt[ha(477)]((function(e,t){var r,n;r=Ze,(n=fa)(474)==n(474)?e[n(484)]=Ei:r.CryptoJS=r[n(491)]})),function(e,t){const r=_a,n=e();for(;;)try{if(110854===parseInt(r(467))/1*(-parseInt(r(484))/2)+-parseInt(r(480))/3*(parseInt(r(468))/4)+-parseInt(r(476))/5*(parseInt(r(460))/6)+-parseInt(r(479))/7*(parseInt(r(486))/8)+parseInt(r(475))/9*(parseInt(r(473))/10)+-parseInt(r(478))/11+parseInt(r(462))/12*(parseInt(r(482))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ma);var ba=Sa;!function(e,t){for(var r=Sa,n=e();;)try{if(789279===-parseInt(r(883))/1+parseInt(r(316))/2*(parseInt(r(656))/3)+-parseInt(r(985))/4+parseInt(r(937))/5*(-parseInt(r(850))/6)+parseInt(r(830))/7+parseInt(r(1101))/8*(parseInt(r(710))/9)+parseInt(r(1272))/10*(parseInt(r(375))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ia);var wa=tt[ba(1476)]((function(e,t){var r,n,s=ba,a=(r=new Date,n=4,{setLogLevel:function(e){var t=Sa;n=e==this[t(1276)]?1:e==this[t(944)]?2:e==this[t(1109)]?3:(this.error,4)},debug:function(e,t){var i=Sa;void 0===console[i(1276)]&&(console[i(1276)]=console[i(1282)]),1>=n&&console.debug("["+a[i(1511)](new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this[Sa(1276)](e.msg)},info:function(e,t){var i=Sa;2>=n&&console[i(944)]("["+a[i(1511)](new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){var i=Sa;3>=n&&console[i(1109)]("["+a[i(1511)](new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console[Sa(1506)]("["+a.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}});a[s(1511)]=function(e,t){var r,n=s;function i(e,t){for(var r=Sa,n=(""+e)[r(824)](".");n[0].length0){for(var n="",i=0;i0&&(n+=","),n+="["+a.getDurationString(e[t(780)](i))+","+a[t(1511)](e.end(i))+"]";return n}return t(275)},t[s(885)]=a;var o=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this[s(982)]=e,this.dataview=new DataView(e),this.position=0};o[s(672)][s(776)]=function(){return this[s(973)]},o[s(672)][s(1437)]=function(){var e=s;return this[e(982)][e(1093)]},o.prototype[s(473)]=function(){var e=s;return this[e(982)][e(1093)]},o.prototype[s(1007)]=function(e){var t=s,r=Math[t(689)](0,Math[t(667)](this[t(982)][t(1093)],e));return this[t(973)]=isNaN(r)||!isFinite(r)?0:r,!0},o[s(672)][s(1207)]=function(){var e=s;return this.getPosition()>=this[e(1437)]()},o.prototype[s(299)]=function(e,t){var r=s,n=0;if(this[r(973)]+e<=this[r(982)][r(1093)]){switch(e){case 1:n=t?this[r(731)].getInt8(this[r(973)]):this[r(731)][r(754)](this.position);break;case 2:n=t?this.dataview[r(629)](this[r(973)]):this.dataview.getUint16(this[r(973)]);break;case 3:if(t)throw r(1452);n=this.dataview[r(754)](this.position)<<16,n|=this.dataview[r(754)](this[r(973)]+1)<<8,n|=this[r(731)][r(754)](this.position+2);break;case 4:n=t?this[r(731)].getInt32(this.position):this[r(731)][r(925)](this[r(973)]);break;case 8:if(t)throw r(361);n=this[r(731)].getUint32(this[r(973)])<<32,n|=this.dataview[r(925)](this[r(973)]+4);break;default:throw r(362)+e}return this[r(973)]+=e,n}throw r(1379)},o.prototype[s(726)]=function(){return this[s(299)](1,!1)},o[s(672)][s(1053)]=function(){return this[s(299)](2,!1)},o[s(672)][s(406)]=function(){return this.readAnyInt(3,!1)},o[s(672)].readUint32=function(){return this.readAnyInt(4,!1)},o[s(672)][s(700)]=function(){return this.readAnyInt(8,!1)},o[s(672)][s(1228)]=function(e){var t=s;if(this[t(973)]+e<=this[t(982)][t(1093)]){for(var r="",n=0;nthis[t(923)]&&(this[t(923)]=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),a=new Uint8Array(this._buffer);new Uint8Array(i,0,a[t(986)])[t(365)](a),this[t(982)]=i,this[t(923)]=r}}},c[s(672)][s(1125)]=function(){var e=s;if(this._byteLength!=this._buffer.byteLength){var t=new ArrayBuffer(this[e(923)]),r=new Uint8Array(t),n=new Uint8Array(this[e(757)],0,r[e(986)]);r.set(n),this.buffer=t}},c[s(1401)]=!1,c.LITTLE_ENDIAN=!0,c[s(672)][s(923)]=0,Object.defineProperty(c[s(672)],"byteLength",{get:function(){var e=s;return this[e(923)]-this[e(273)]}}),Object[s(583)](c.prototype,s(982),{get:function(){var e=s;return this[e(1125)](),this[e(757)]},set:function(e){var t=s;this[t(757)]=e,this[t(1413)]=new DataView(this[t(757)],this[t(273)]),this[t(923)]=this._buffer[t(1093)]}}),Object[s(583)](c[s(672)],s(1448),{get:function(){return this[s(273)]},set:function(e){var t=s;this[t(273)]=e,this[t(1413)]=new DataView(this[t(757)],this[t(273)]),this[t(923)]=this[t(757)][t(1093)]}}),Object[s(583)](c.prototype,s(1328),{get:function(){return this._dataView},set:function(e){var t=s;this[t(273)]=e[t(1448)],this[t(757)]=e[t(982)],this._dataView=new DataView(this._buffer,this[t(273)]),this[t(923)]=this[t(273)]+e[t(1093)]}}),c.prototype[s(1007)]=function(e){var t=s,r=Math[t(689)](0,Math[t(667)](this[t(1093)],e));this[t(973)]=isNaN(r)||!isFinite(r)?0:r},c.prototype[s(518)]=function(){var e=s;return this[e(973)]>=this[e(923)]},c[s(672)][s(727)]=function(e){var t=s;this[t(930)](1*e);var r=new Uint8Array(this._buffer,this[t(1448)]+this[t(973)],e);return this[t(973)]+=1*e,r},c[s(672)][s(1279)]=function(e,t){var r=s;e=null==e?this[r(1093)]-this[r(973)]/4:e;var n=new Int32Array(e);return c[r(1066)](n[r(982)],0,this[r(982)],this[r(1448)]+this[r(973)],e*n[r(474)]),c[r(510)](n,null==t?this.endianness:t),this[r(973)]+=n.byteLength,n},c[s(672)][s(698)]=function(e,t){var r=s;e=null==e?this[r(1093)]-this[r(973)]/2:e;var n=new Int16Array(e);return c[r(1066)](n.buffer,0,this[r(982)],this.byteOffset+this[r(973)],e*n[r(474)]),c[r(510)](n,null==t?this[r(1540)]:t),this.position+=n[r(1093)],n},c[s(672)][s(1316)]=function(e){var t=s;e=null==e?this[t(1093)]-this[t(973)]:e;var r=new Int8Array(e);return c[t(1066)](r[t(982)],0,this[t(982)],this[t(1448)]+this[t(973)],e*r.BYTES_PER_ELEMENT),this.position+=r[t(1093)],r},c[s(672)][s(560)]=function(e,t){var r=s;e=null==e?this[r(1093)]-this[r(973)]/4:e;var n=new Uint32Array(e);return c[r(1066)](n[r(982)],0,this[r(982)],this.byteOffset+this[r(973)],e*n[r(474)]),c.arrayToNative(n,null==t?this[r(1540)]:t),this[r(973)]+=n.byteLength,n},c[s(672)][s(706)]=function(e,t){var r=s;e=null==e?this[r(1093)]-this[r(973)]/2:e;var n=new Uint16Array(e);return c.memcpy(n[r(982)],0,this[r(982)],this[r(1448)]+this[r(973)],e*n[r(474)]),c[r(510)](n,null==t?this[r(1540)]:t),this.position+=n[r(1093)],n},c[s(672)][s(1458)]=function(e){var t=s;e=null==e?this[t(1093)]-this.position:e;var r=new Uint8Array(e);return c[t(1066)](r[t(982)],0,this[t(982)],this.byteOffset+this.position,e*r[t(474)]),this.position+=r[t(1093)],r},c[s(672)].readFloat64Array=function(e,t){var r=s;e=null==e?this[r(1093)]-this[r(973)]/8:e;var n=new Float64Array(e);return c[r(1066)](n[r(982)],0,this[r(982)],this[r(1448)]+this[r(973)],e*n[r(474)]),c.arrayToNative(n,null==t?this[r(1540)]:t),this[r(973)]+=n.byteLength,n},c[s(672)][s(539)]=function(e,t){var r=s;e=null==e?this[r(1093)]-this[r(973)]/4:e;var n=new Float32Array(e);return c[r(1066)](n.buffer,0,this.buffer,this[r(1448)]+this[r(973)],e*n.BYTES_PER_ELEMENT),c[r(510)](n,null==t?this[r(1540)]:t),this[r(973)]+=n.byteLength,n},c[s(672)].readInt32=function(e){var t=s,r=this._dataView[t(457)](this.position,null==e?this[t(1540)]:e);return this[t(973)]+=4,r},c[s(672)][s(1345)]=function(e){var t=s,r=this[t(1413)][t(629)](this.position,null==e?this[t(1540)]:e);return this[t(973)]+=2,r},c[s(672)][s(1252)]=function(){var e=s,t=this[e(1413)][e(397)](this[e(973)]);return this.position+=1,t},c[s(672)][s(1118)]=function(e){var t=s,r=this[t(1413)][t(925)](this[t(973)],null==e?this[t(1540)]:e);return this[t(973)]+=4,r},c.prototype[s(1053)]=function(e){var t=s,r=this[t(1413)][t(807)](this.position,null==e?this[t(1540)]:e);return this[t(973)]+=2,r},c[s(672)].readUint8=function(){var e=s,t=this[e(1413)][e(754)](this.position);return this.position+=1,t},c.prototype[s(1341)]=function(e){var t=s,r=this._dataView[t(778)](this.position,null==e?this[t(1540)]:e);return this[t(973)]+=4,r},c.prototype[s(1098)]=function(e){var t=s,r=this._dataView[t(1396)](this.position,null==e?this[t(1540)]:e);return this[t(973)]+=8,r},c.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,c[s(1066)]=function(e,t,r,n,i){var a=s,o=new Uint8Array(e,t,i),c=new Uint8Array(r,n,i);o[a(365)](c)},c[s(510)]=function(e,t){return t==this[s(1540)]?e:this.flipArrayEndianness(e)},c[s(803)]=function(e,t){var r=s;return this[r(1540)]==t?e:this[r(1438)](e)},c[s(1438)]=function(e){for(var t=s,r=new Uint8Array(e[t(982)],e[t(1448)],e[t(1093)]),n=0;na;i--,a++){var o=r[a];r[a]=r[i],r[i]=o}return e},c[s(672)][s(684)]=0,String[s(469)]=function(e){for(var t=s,r=[],n=0;n>16),this.writeUint8((65280&e)>>8),this[t(582)](255&e)},c[s(672)][s(1004)]=function(e,t){var r=s,n=this.position;this.seek(e),this[r(858)](t),this[r(1007)](n)},c[s(672)][s(1294)]=function(e,t){var r=s;this[r(930)](4*e);var n=new Int32Array(this._buffer,this.byteOffset+this[r(973)],e);return c[r(510)](n,null==t?this.endianness:t),this[r(973)]+=4*e,n},c.prototype[s(1104)]=function(e,t){var r=s;this[r(930)](2*e);var n=new Int16Array(this[r(757)],this[r(1448)]+this[r(973)],e);return c.arrayToNative(n,null==t?this[r(1540)]:t),this.position+=2*e,n},c[s(672)].mapInt8Array=function(e){var t=s;this[t(930)](1*e);var r=new Int8Array(this[t(757)],this[t(1448)]+this[t(973)],e);return this.position+=1*e,r},c[s(672)][s(1180)]=function(e,t){var r=s;this[r(930)](4*e);var n=new Uint32Array(this._buffer,this[r(1448)]+this[r(973)],e);return c.arrayToNative(n,null==t?this[r(1540)]:t),this[r(973)]+=4*e,n},c[s(672)][s(1457)]=function(e,t){var r=s;this[r(930)](2*e);var n=new Uint16Array(this[r(757)],this.byteOffset+this.position,e);return c.arrayToNative(n,null==t?this[r(1540)]:t),this[r(973)]+=2*e,n},c.prototype.mapFloat64Array=function(e,t){var r=s;this._realloc(8*e);var n=new Float64Array(this[r(757)],this[r(1448)]+this[r(973)],e);return c[r(510)](n,null==t?this[r(1540)]:t),this[r(973)]+=8*e,n},c[s(672)][s(733)]=function(e,t){var r=s;this[r(930)](4*e);var n=new Float32Array(this[r(757)],this[r(1448)]+this[r(973)],e);return c.arrayToNative(n,null==t?this[r(1540)]:t),this[r(973)]+=4*e,n};var l=function(e){var t=s;this[t(682)]=[],this[t(1409)]=-1,e&&(this.insertBuffer(e),this[t(1409)]=0)};l[s(672)]=new c(new ArrayBuffer,0,c[s(1401)]),l[s(672)][s(272)]=function(){var e,t=s;return this.bufferIndex>-1||(this[t(682)][t(986)]>0?0===(e=this[t(682)][0])[t(547)]?(this.buffer=e,this.bufferIndex=0,a.debug(t(1449),t(326)),!0):(a[t(1109)](t(1449),t(1517)),this[t(1412)](),!1):(a.warn(t(1449),t(1321)),this[t(1412)](),!1))},ArrayBuffer.concat=function(e,t){var r=s;a[r(1276)](r(1102),"Trying to create a new buffer of size: "+(e[r(1093)]+t[r(1093)]));var n=new Uint8Array(e[r(1093)]+t.byteLength);return n[r(365)](new Uint8Array(e),0),n[r(365)](new Uint8Array(t),e.byteLength),n.buffer},l[s(672)][s(740)]=function(e,t,r){var n,i=s;return(n=new Uint8Array(r))[i(365)](new Uint8Array(e,t,r)),n[i(982)][i(547)]=e.fileStart+t,n[i(982)].usedBytes=0,n[i(982)]},l[s(672)].insertBuffer=function(e){for(var t=s,r=!0,n=0;ni.byteLength){this[t(682)][t(1459)](n,1),n--;continue}a.warn(t(1449),"Buffer (fileStart: "+e[t(547)]+t(1199)+e[t(1093)]+t(891))}else e.fileStart+e[t(1093)]<=i[t(547)]||(e=this[t(740)](e,0,i.fileStart-e[t(547)])),a[t(1276)]("MultiBufferStream",t(1256)+e[t(547)]+" - Length: "+e[t(1093)]+")"),this[t(682)][t(1459)](n,0,e),0===n&&(this[t(982)]=e);r=!1;break}if(e.fileStart0)){r=!1;break}e=this[t(740)](e,o,c)}}r&&(a[t(1276)]("MultiBufferStream",t(1256)+e.fileStart+t(1199)+e[t(1093)]+")"),this[t(682)][t(298)](e),0===n&&(this[t(982)]=e))},l.prototype[s(1412)]=function(e){var t,r,n,i,o,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=o.end-1+"]");var d=e?a[c(944)]:a.debug;0===this[c(682)][c(986)]?d(c(1449),"No more buffer in memory"):d(c(1449),""+this.buffers.length+c(685)+n+"/"+i+c(1044)+l)},l.prototype.cleanBuffers=function(){var e,t,r=s;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},l[s(672)].findPosition=function(e,t,r){var n,i=s,o=null,c=-1;for(n=!0===e?0:this[i(1409)];n=t?(a.debug("MultiBufferStream",i(565)+c),c):-1:-1},l[s(672)].findEndContiguousBuf=function(e){var t,r,n,i=s,a=void 0!==e?e:this[i(1409)];if(r=this[i(682)][a],this[i(682)][i(986)]>a+1)for(t=a+1;t>3;return 31===s&&i[r(601)][r(986)]>=2&&(s=32+((7&i[r(601)][0])<<3)+((224&i[r(601)][1])>>5)),s}return null},n[e(862)]=function(t){var r=e;n.Descriptor[r(590)](this,4,t)},n[e(862)][e(672)]=new(n[e(1505)]),n[e(862)][e(672)].parse=function(t){var r=e;this.oti=t[r(726)](),this[r(514)]=t[r(726)](),this[r(1468)]=0!=(this[r(514)]>>1&1),this[r(514)]=this.streamType>>>2,this[r(1454)]=t.readUint24(),this[r(947)]=t[r(1118)](),this[r(1275)]=t[r(1118)](),this.size-=13,this[r(1061)](t)},n[e(1216)]=function(t){n[e(1505)].call(this,5,t)},n[e(1216)][e(672)]=new n.Descriptor,n[e(1525)]=function(t){var r=e;n[r(1505)][r(590)](this,6,t)},n[e(1525)][e(672)]=new(n[e(1505)]),this};"object"!==s(1035)&&(t.MPEG4DescriptorParser=d);var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat",s(338),s(846),s(319),"meco",s(524)],FULL_BOXES:[s(1232),s(928),s(677),"xml ",s(317),s(812),s(1518)],CONTAINER_BOXES:[[s(722),["trak","pssh"]],[s(1265)],[s(1022)],[s(1315)],[s(723)],[s(998)],[s(476),[s(1217),"sbgp"]],[s(959),["trex"]],["moof",["traf"]],[s(886),[s(804),s(1217),s(1481)]],[s(1026)],["tref"],[s(1193)],[s(358),[s(924)]],[s(1548)],[s(1418)],["hinf"],[s(524)],[s(772)],["sinf"],[s(1483)],[s(1031)],[s(388)],[s(926),[s(1381)]],[s(1056),[s(799)]],[s(972)],[s(324)],[s(538)],["etyp",[s(650)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;h.FullBox.prototype=new(h[e(403)]),h[e(1397)].prototype=new h.Box,h.SampleEntry.prototype=new(h[e(403)]),h.TrackGroupTypeBox[e(672)]=new(h[e(345)]),h[e(364)].forEach((function(e){h.createBoxCtor(e)})),h[e(259)][e(767)]((function(t){h[e(1039)](t)})),h[e(1082)].forEach((function(t){h[e(466)](t[0],null,t[1])}))},Box:function(e,t,r){var n=s;this[n(1080)]=e,this[n(517)]=t,this[n(1399)]=r},FullBox:function(e,t,r){var n=s;h[n(403)].call(this,e,t,r),this[n(1485)]=0,this[n(1208)]=0},ContainerBox:function(e,t,r){var n=s;h.Box[n(590)](this,e,t,r),this[n(781)]=[]},SampleEntry:function(e,t,r,n){var i=s;h[i(1397)][i(590)](this,e,t),this[i(975)]=r,this.start=n},SampleGroupEntry:function(e){this[s(1012)]=e},TrackGroupTypeBox:function(e,t){h[s(345)].call(this,e,t)},createBoxCtor:function(e,t){var r=s;h.boxCodes[r(298)](e),h[e+r(403)]=function(t){var n=r;h[n(403)][n(590)](this,e,t)},h[e+r(403)][r(672)]=new(h[r(403)]),t&&(h[e+"Box"].prototype[r(414)]=t)},createFullBoxCtor:function(e,t){var r=s;h[e+r(403)]=function(t){var n=r;h.FullBox[n(590)](this,e,t)},h[e+r(403)][r(672)]=new(h[r(345)]),h[e+"Box"][r(672)][r(414)]=function(e){var n=r;this[n(351)](e),t&&t[n(590)](this,e)}},addSubBoxArrays:function(e){var t=s;if(e){this[t(764)]=e;for(var r=e[t(986)],n=0;nr?(a[c(1506)](c(788),c(1064)+f+"' has a size "+d+c(542)+r),{code:h[c(617)],type:f,size:d,hdr_size:l,start:u}):0!==d&&u+d>e[c(1437)]()?(e[c(1007)](u),a[c(944)]("BoxParser",c(861)+f+c(1414)),{code:h[c(617)],type:f,size:d,hdr_size:l,start:u}):t?{code:h.OK,type:f,size:d,hdr_size:l,start:u}:(h[f+c(403)]?n=new(h[f+c(403)])(d):"uuid"!==f?(a.warn(c(788),c(899)+f+"'"),(n=new h.Box(f,d))[c(417)]=!0):h.UUIDBoxes[o]?n=new(h[c(823)][o])(d):(a[c(1109)]("BoxParser",c(588)+o+"'"),(n=new h.Box(f,d))[c(1399)]=o,n[c(417)]=!0),n[c(975)]=l,n.start=u,n[c(744)]===h[c(403)].prototype.write&&"mdat"!==n[c(1080)]&&(a[c(944)](c(788),"'"+p+c(1179)),n[c(849)](e)),n[c(414)](e),(i=e[c(776)]()-(n[c(780)]+n.size))<0?(a[c(1109)](c(788),c(1463)+p+c(363)+-i+c(671)),e[c(1007)](n.start+n[c(517)])):i>0&&(a[c(1506)](c(788),"Parsing of box '"+p+c(401)+i+c(1502)),0!==n[c(517)]&&e[c(1007)](n.start+n[c(517)])),{code:h.OK,box:n,size:n[c(517)]})},h[s(403)][s(672)].parse=function(e){var t=s;this[t(1080)]!=t(1442)?this[t(601)]=e.readUint8Array(this[t(517)]-this[t(975)]):0===this.size?e[t(1007)](e.getEndPosition()):e.seek(this.start+this[t(517)])},h[s(403)].prototype[s(849)]=function(e){var t=s;this[t(601)]=e[t(1458)](this[t(517)]-this[t(975)]),e[t(973)]-=this[t(517)]-this[t(975)]},h.FullBox.prototype[s(849)]=function(e){var t=s;this.parseFullHeader(e),this[t(601)]=e[t(1458)](this.size-this[t(975)]),this[t(975)]-=4,e[t(973)]-=this.size-this.hdr_size},h[s(345)][s(672)][s(351)]=function(e){var t=s;this[t(1208)]=e[t(726)](),this[t(1485)]=e[t(406)](),this[t(975)]+=4},h.FullBox[s(672)][s(414)]=function(e){var t=s;this.parseFullHeader(e),this.data=e[t(1458)](this[t(517)]-this[t(975)])},h[s(1397)][s(672)][s(414)]=function(e){for(var t,r,n=s;e[n(776)]()>10&31,r[1]=this[t(871)]>>5&31,r[2]=31&this[t(871)],this[t(1153)]=String[t(1550)](r[0]+96,r[1]+96,r[2]+96)},h[s(1123)]=s(841),h[s(703)]="Audio",h.SAMPLE_ENTRY_TYPE_HINT=s(263),h.SAMPLE_ENTRY_TYPE_METADATA=s(688),h[s(537)]=s(979),h.SAMPLE_ENTRY_TYPE_SYSTEM=s(491),h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry[s(672)].parseHeader=function(e){var t=s;e[t(1458)](6),this[t(308)]=e[t(1053)](),this.hdr_size+=8},h[s(1477)][s(672)][s(414)]=function(e){var t=s;this[t(1270)](e),this[t(601)]=e[t(1458)](this[t(517)]-this[t(975)])},h[s(1477)][s(672)].parseDataAndRewind=function(e){var t=s;this[t(1270)](e),this[t(601)]=e.readUint8Array(this[t(517)]-this[t(975)]),this[t(975)]-=8,e.position-=this.size-this.hdr_size},h[s(1477)][s(672)][s(950)]=function(e){var t=s;h[t(1397)].prototype.parse[t(590)](this,e)},h[s(620)](h[s(1119)]),h[s(620)](h.SAMPLE_ENTRY_TYPE_METADATA),h[s(620)](h[s(537)]),h[s(620)](h.SAMPLE_ENTRY_TYPE_SYSTEM),h[s(620)](h.SAMPLE_ENTRY_TYPE_TEXT),h[s(620)](h[s(1123)],(function(e){var t,r=s;this[r(1270)](e),e[r(1053)](),e[r(1053)](),e[r(560)](3),this[r(281)]=e[r(1053)](),this[r(561)]=e[r(1053)](),this[r(794)]=e[r(1118)](),this[r(1085)]=e[r(1118)](),e[r(1118)](),this[r(1220)]=e.readUint16(),t=Math.min(31,e.readUint8()),this[r(983)]=e[r(1228)](t),t<31&&e[r(1228)](31-t),this[r(897)]=e[r(1053)](),e[r(1053)](),this[r(950)](e)})),h[s(620)](h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){var t=s;this[t(1270)](e),e[t(560)](2),this[t(576)]=e[t(1053)](),this.samplesize=e[t(1053)](),e[t(1053)](),e[t(1053)](),this[t(1140)]=e.readUint32()/65536,this[t(950)](e)})),h[s(906)](h[s(1123)],"avc1"),h[s(906)](h[s(1123)],"avc2"),h[s(906)](h[s(1123)],s(1250)),h[s(906)](h[s(1123)],"avc4"),h.createSampleEntryCtor(h[s(1123)],s(1541)),h[s(906)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(391)),h[s(906)](h[s(1123)],s(429)),h[s(906)](h[s(1123)],s(1261)),h[s(906)](h[s(1123)],s(638)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(784)),h[s(906)](h[s(1123)],s(1560)),h[s(906)](h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h[s(906)](h[s(1123)],s(1068)),h[s(906)](h[s(1123)],"vvi1"),h[s(906)](h[s(1123)],s(412)),h.createSampleEntryCtor(h[s(1123)],s(464)),h.createSampleEntryCtor(h[s(1123)],s(687)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(624)),h[s(906)](h[s(1123)],s(1063)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h[s(1123)],s(1010)),h[s(906)](h[s(1123)],s(988)),h.createSampleEntryCtor(h[s(1123)],s(751)),h[s(906)](h[s(703)],s(836)),h[s(906)](h[s(703)],s(489)),h[s(906)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(702)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,s(1204)),h.createSampleEntryCtor(h[s(703)],s(599)),h[s(906)](h[s(703)],s(714)),h.createSampleEntryCtor(h[s(703)],s(313)),h[s(906)](h[s(703)],s(477)),h.createSampleEntryCtor(h[s(703)],s(577)),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(1084)),h[s(1471)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(892)),h.createEncryptedSampleEntryCtor(h[s(537)],"encu"),h[s(1471)](h[s(404)],s(1141)),h[s(1471)](h.SAMPLE_ENTRY_TYPE_TEXT,s(1510)),h[s(1471)](h[s(511)],s(433)),h[s(1262)](s(1284),(function(e){var t=s,r=16*(1+(1&(1&e[t(726)]())));this.layer_size=[];for(var n=0;n<3;n++)this[t(1156)][n]=16==r?e.readUint16():e[t(1118)]()})),h[s(1262)](s(1300),(function(e){var t=s;this[t(558)]=e[t(726)]()})),h[s(1039)](s(1260),(function(e){var t=s;this[t(622)]=e[t(1251)]();var r=this[t(517)]-this[t(975)]-(this[t(622)].length+1);this[t(847)]=e[t(1458)](r)})),h[s(1262)](s(1534),(function(e){var t=s,r=e.readUint8();if(r>>7&!1)a[t(1506)]("av1C marker problem");else if(this[t(1208)]=127&r,1===this[t(1208)])if(r=e.readUint8(),this[t(380)]=r>>5&7,this[t(1440)]=31&r,r=e[t(726)](),this[t(1387)]=r>>7&1,this[t(1190)]=r>>6&1,this.twelve_bit=r>>5&1,this[t(1340)]=r>>4&1,this[t(1332)]=r>>3&1,this.chroma_subsampling_y=r>>2&1,this[t(1472)]=3&r,r=e[t(726)](),this[t(1424)]=r>>5&7,0===this[t(1424)]){if(this.initial_presentation_delay_present=r>>4&1,1===this[t(942)])this[t(1048)]=15&r;else if(this[t(822)]=15&r,0!==this[t(822)])return void a[t(1506)]("av1C reserved_2 parsing problem");var n=this[t(517)]-this[t(975)]-4;this[t(879)]=e.readUint8Array(n)}else a[t(1506)](t(717));else a[t(1506)](t(1450)+this.version+t(564))})),h[s(1262)](s(455),(function(e){var t,r,n=s;for(this[n(1263)]=e[n(726)](),this.AVCProfileIndication=e[n(726)](),this.profile_compatibility=e[n(726)](),this[n(305)]=e[n(726)](),this[n(1555)]=3&e[n(726)](),this[n(660)]=31&e.readUint8(),r=this[n(517)]-this.hdr_size-6,this[n(833)]=[],t=0;t0&&(this[n(1013)]=e.readUint8Array(r))})),h.createBoxCtor(s(1087),(function(e){var t=s;this[t(1369)]=e.readUint32(),this[t(947)]=e[t(1118)](),this[t(1275)]=e[t(1118)]()})),h.createFullBoxCtor("ccst",(function(e){var t=s,r=e[t(726)]();this[t(750)]=128==(128&r),this[t(1334)]=64==(64&r),this[t(291)]=(63&r)>>2,e[t(406)]()})),h.createBoxCtor(s(264),(function(e){var t,r=s;for(this[r(576)]=e.readUint16(),this[r(344)]=[],this[r(535)]=[],this[r(1297)]=[],t=0;t=32768&&this[t(678)][t(298)](e[t(1251)]())}})),h[s(1039)](s(1032),(function(e){var t,r,n=s;if(t=e[n(1118)](),this.chunk_offsets=[],0===this[n(1208)])for(r=0;r>7}else this[t(521)]===t(952)?this[t(453)]=e[t(1458)](this[t(517)]-4):"prof"===this[t(521)]&&(this[t(453)]=e.readUint8Array(this[t(517)]-4))})),h[s(1039)](s(1536),(function(e){var t=s;this[t(289)](e),this[t(845)]=e[t(1251)]()})),h[s(1039)](s(828),(function(e){var t=s;0===this[t(1208)]&&(this[t(1060)]=e[t(1160)](),this[t(699)]=e[t(1160)](),this.greatestDecodeToDisplayDelta=e.readInt32(),this[t(655)]=e[t(1160)](),this[t(294)]=e.readInt32())})),h[s(1039)](s(1486),(function(e){var t,r,n=s;if(t=e[n(1118)](),this.sample_counts=[],this[n(1029)]=[],0===this[n(1208)])for(r=0;r>6,this[t(465)]=r>>1&31,this[t(1161)]=(1&r)<<2|n>>6&3,this[t(681)]=n>>3&7,this[t(1096)]=n>>2&1,this.bit_rate_code=3&n|i>>5&7})),h.createBoxCtor(s(1215),(function(e){var t=s,r=e[t(1053)]();this[t(848)]=r>>3,this[t(945)]=7&r,this[t(1009)]=[];for(var n=0;n>6,i[t(465)]=a>>1&31,i[t(1161)]=(1&a)<<4|o>>4&15,i[t(681)]=o>>1&7,i[t(1096)]=1&o,i[t(683)]=c>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&c)<<8|e.readUint8())}})),h[s(1039)](s(1062),(function(e){var t=s,r=[],n=[t(773),t(628),"APPLICATION",t(802),t(1213),t(1196),"PICTURE",t(665)];for(this.parseFullHeader(e);;){var i=e[t(726)](),a=Math.min(127&i,n.length-1);if(a?e.readUint8Array(e[t(406)]()):(e.readUint8Array(13),this[t(1140)]=e[t(1118)]()>>12,e[t(1458)](20)),r[t(298)](n[a]),128&i)break}this[t(1343)]=r.length+" ("+r.join(", ")+")"})),h[s(1262)](s(669),(function(e){this[s(1081)]=e.readUint64()})),h[s(1262)](s(661),(function(e){this.time=e.readUint32()})),h[s(1262)](s(1361),(function(e){var t=s;this[t(1081)]=e[t(700)]()})),h[s(1262)]("dOps",(function(e){var t=s;if(this[t(1197)]=e.readUint8(),this[t(882)]=e[t(726)](),this[t(1133)]=e[t(1053)](),this.InputSampleRate=e[t(1118)](),this[t(1507)]=e[t(1345)](),this[t(1173)]=e.readUint8(),0!==this[t(1173)]){this[t(449)]=e[t(726)](),this[t(1135)]=e[t(726)](),this.ChannelMapping=[];for(var r=0;r=4;)this[t(1091)][n]=e.readString(4),r-=4,n++})),h[s(1039)]("hdlr",(function(e){var t=s;0===this[t(1208)]&&(e[t(1118)](),this[t(1482)]=e.readString(4),e[t(560)](3),this.name=e[t(1228)](this[t(517)]-this[t(975)]-20),"\0"===this.name[this[t(440)][t(986)]-1]&&(this[t(440)]=this.name[t(1024)](0,-1)))})),h[s(1262)]("hvcC",(function(e){var t,r,n,i,a=s;this.configurationVersion=e[a(726)](),i=e[a(726)](),this[a(512)]=i>>6,this[a(1312)]=(32&i)>>5,this[a(418)]=31&i,this[a(1384)]=e[a(1118)](),this[a(1106)]=e[a(1458)](6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e[a(1053)](),this.parallelismType=3&e[a(726)](),this[a(490)]=3&e[a(726)](),this[a(593)]=7&e[a(726)](),this[a(1127)]=7&e[a(726)](),this[a(701)]=e[a(1053)](),i=e[a(726)](),this[a(1557)]=i>>6,this[a(813)]=(13&i)>>3,this[a(838)]=(4&i)>>2,this[a(1555)]=3&i,this.nalu_arrays=[];var o=e[a(726)]();for(t=0;t>7,c.nalu_type=63&i;var u=e[a(1053)]();for(r=0;r>4&15,this.length_size=15&t,t=e[r(726)](),this[r(826)]=t>>4&15,1===this[r(1208)]||2===this[r(1208)]?this[r(893)]=15&t:this[r(893)]=0,this[r(1311)]=[];var n=0;if(this.version<2)n=e.readUint16();else{if(2!==this.version)throw r(488);n=e[r(1118)]()}for(var i=0;i>7,this.axis=1&t})),h[s(1039)](s(1191),(function(e){var t=s;if((0===this[t(1208)]||1===this[t(1208)])&&(this.item_ID=e[t(1053)](),this[t(1212)]=e.readUint16(),this[t(393)]=e[t(1251)](),this[t(1254)]=e[t(1251)](),this.content_encoding=e[t(1251)]()),1===this[t(1208)])return this[t(610)]=e[t(1228)](4),a[t(1109)](t(788),t(646)),void e[t(1007)](this.start+this[t(517)]);this[t(1208)]>=2&&(2===this[t(1208)]?this[t(541)]=e[t(1053)]():3===this.version&&(this[t(541)]=e.readUint32()),this[t(1212)]=e.readUint16(),this[t(543)]=e.readString(4),this[t(393)]=e[t(1251)](),this[t(543)]===t(425)?(this[t(1254)]=e[t(1251)](),this[t(747)]=e.readCString()):this[t(543)]===t(900)&&(this.item_uri_type=e[t(1251)]()))})),h[s(1039)](s(799),(function(e){var t,r,n=s;for(entry_count=e[n(1118)](),this.associations=[],t=0;t>7==1,1&this[n(1485)]?c.property_index=(127&o)<<8|e[n(726)]():c[n(430)]=127&o}}})),h.createFullBoxCtor(s(1193),(function(e){var t,r,n=s;for(this[n(257)]=[];e[n(776)]()>7,i[t(584)]=127&o,i[t(584)]){case 0:i[t(1012)]=e[t(1228)](4);break;case 1:i[t(1012)]=e.readString(4),i[t(853)]=e[t(1118)]();break;case 2:case 3:break;case 4:i[t(916)]=e[t(1118)]();break;default:a[t(1109)](t(788),t(881))}}})),h[s(1262)](s(1299),(function(e){var t=s;this[t(1047)]=e[t(1053)]()})),h.createBoxCtor(s(894),(function(e){var t=s;this.period=e[t(1118)](),this[t(265)]=e[t(1118)]()})),f.prototype[s(719)]=function(){return"("+this.x+","+this.y+")"},h[s(1262)](s(811),(function(e){var t=s;this.display_primaries=[],this[t(283)][0]=new f(e[t(1053)](),e[t(1053)]()),this[t(283)][1]=new f(e[t(1053)](),e[t(1053)]()),this[t(283)][2]=new f(e[t(1053)](),e[t(1053)]()),this.white_point=new f(e[t(1053)](),e.readUint16()),this[t(452)]=e.readUint32(),this[t(1352)]=e[t(1118)]()})),h[s(1039)](s(817),(function(e){var t=s;1==this.version?(this[t(912)]=e[t(700)](),this[t(708)]=e.readUint64(),this[t(770)]=e[t(1118)](),this[t(1023)]=e.readUint64()):(this[t(912)]=e[t(1118)](),this[t(708)]=e[t(1118)](),this[t(770)]=e.readUint32(),this[t(1023)]=e[t(1118)]()),this[t(289)](e),e[t(1053)]()})),h.createFullBoxCtor(s(522),(function(e){var t=s;1&this[t(1485)]&&(a.warn(t(788),t(668)),this.version=1),1==this[t(1208)]?this[t(1467)]=e[t(700)]():this[t(1467)]=e[t(1118)]()})),h[s(1039)](s(941),(function(e){var t=s;this[t(781)]=[],h[t(1397)][t(672)][t(414)][t(590)](this,e)})),h.createFullBoxCtor(s(1230),(function(e){var t=s;this[t(1524)]=e[t(1118)]()})),h[s(1039)](s(1426),(function(e){var t=s;this[t(1027)]=e[t(1118)]()})),h[s(1039)](s(825),(function(e){this[s(385)]=e.readUint8()})),h[s(1039)]("mvhd",(function(e){var t=s;1==this[t(1208)]?(this.creation_time=e[t(700)](),this[t(708)]=e[t(700)](),this[t(770)]=e[t(1118)](),this[t(1023)]=e[t(700)]()):(this[t(912)]=e[t(1118)](),this[t(708)]=e[t(1118)](),this[t(770)]=e[t(1118)](),this[t(1023)]=e.readUint32()),this[t(1364)]=e[t(1118)](),this[t(1041)]=e[t(1053)]()>>8,e[t(1053)](),e[t(560)](2),this[t(1562)]=e[t(560)](9),e[t(560)](6),this[t(586)]=e.readUint32()})),h[s(1262)](s(908),(function(e){var t=s;this[t(903)]=e[t(1118)]()})),h[s(1262)]("nump",(function(e){var t=s;this[t(903)]=e[t(700)]()})),h[s(1039)](s(707),(function(e){var t=s,r=e[t(1118)]();this[t(1495)]=[];for(var n=0;n0){var r=e.readUint32();this[t(548)]=[];for(var n=0;n0&&(this[t(601)]=e[t(1458)](i))})),h[s(1039)](s(334),(function(e){var t=s;this.width=e[t(1118)](),this[t(561)]=e[t(1118)]()})),h[s(1039)](s(1329),(function(e){var t=s;this[t(281)]=e[t(1118)](),this[t(561)]=e[t(1118)]()})),h[s(1039)](s(1266),(function(e){var t=s;this[t(281)]=e.readUint32(),this[t(561)]=e[t(1118)]()})),h.createContainerBoxCtor("tapt",null,[s(334),s(1266),"enof"]),h[s(1262)](s(758),(function(e){var t=s;this[t(1520)]=e[t(1228)](4),this[t(523)]=e[t(1228)](this[t(517)]-this[t(975)]-4)})),h[s(1039)]("saio",(function(e){var t=s;1&this[t(1485)]&&(this[t(1416)]=e[t(1118)](),this[t(614)]=e.readUint32());var r=e[t(1118)]();this[t(407)]=[];for(var n=0;n>7,this[t(734)]=r>>6&1,this.durationFlag&&(this[t(1023)]=e[t(1118)]()),this[t(734)]&&(this[t(1083)]=e[t(726)](),this[t(1554)]=e[t(1053)](),this[t(701)]=e.readUint16()),this.dependency=[];for(var n=e[t(726)](),i=0;i>7,this[t(480)]=127&r})),h[s(1206)](s(274),(function(e){var t=s;if(this[t(1349)]=e[t(1053)](),this.description_length!==2+(1===this.operation_point_count?2:6*this[t(1349)])+9)a[t(1109)]("BoxParser",t(913)+this[t(1012)]+t(1325)),this.data=e.readUint8Array(this.description_length-2);else{if(1===this[t(1349)])this[t(1390)]=e.readUint16();else{this[t(1390)]=[],this[t(965)]=[];for(var r=0;r>4,this[t(439)]=15&r,this.isProtected=e[t(726)](),this[t(1348)]=e[t(726)](),this[t(1353)]=h[t(877)](e),this[t(405)]=0,this.constant_IV=0,1===this[t(745)]&&0===this[t(1348)]&&(this[t(405)]=e[t(726)](),this[t(969)]=e[t(1458)](this[t(405)]))})),h[s(1206)]("stsa",(function(e){var t=s;a[t(1109)]("BoxParser",t(774)+this[t(1012)]+t(1253))})),h[s(1206)](s(508),(function(e){var t=s,r=e[t(726)]();this[t(1233)]=63&r})),h[s(1206)](s(1420),(function(e){var t=s,r=e[t(726)]();this[t(1183)]=r>>7})),h.createSampleGroupCtor(s(1309),(function(e){var t=s;a[t(1109)](t(788),t(774)+this.grouping_type+" not fully parsed")})),h[s(1206)]("tscl",(function(e){var t=s;a[t(1109)](t(788),t(774)+this.grouping_type+t(1253))})),h.createSampleGroupCtor(s(1365),(function(e){var t=s;a[t(1109)]("BoxParser","Sample Group type: "+this[t(1012)]+t(1253))})),h.createFullBoxCtor("sbgp",(function(e){var t=s;this[t(1012)]=e[t(1228)](4),1===this[t(1208)]?this[t(853)]=e[t(1118)]():this[t(853)]=0,this[t(694)]=[];for(var r=e[t(1118)](),n=0;n>6,this.sample_depends_on[i]=t>>4&3,this[r(279)][i]=t>>2&3,this[r(1269)][i]=3&t})),h[s(1039)](s(525)),h[s(1039)](s(1217),(function(e){var t=s;this[t(1012)]=e.readString(4),a.debug(t(788),t(1268)+this[t(1012)]),1===this[t(1208)]?this[t(888)]=e[t(1118)]():this[t(888)]=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this[t(694)]=[];for(var r=e.readUint32(),n=0;n>31&1,i[t(1192)]=2147483647&a,i[t(567)]=e[t(1118)](),a=e[t(1118)](),i[t(761)]=a>>31&1,i.SAP_type=a>>28&7,i[t(566)]=268435455&a}})),h[s(1421)]=function(e,t,r,n){var i=s;h[i(403)][i(590)](this,e,t),this[i(975)]=r,this[i(780)]=n},h[s(1421)][s(672)]=new(h[s(403)]),h[s(1421)].prototype[s(414)]=function(e){var t=s;this.from_item_ID=e[t(1053)]();var r=e[t(1053)]();this[t(257)]=[];for(var n=0;n>4&15,this[n(640)][t+1]=15&i}else if(8===this[n(765)])for(t=0;t0)for(r=0;r>4&15,this[t(303)]=15&r}this[t(579)]=e[t(726)](),this.default_Per_Sample_IV_Size=e[t(726)](),this[t(335)]=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this[t(1088)]=e[t(726)](),this[t(315)]=e[t(1458)](this[t(1088)]))})),h[s(1039)](s(483),(function(e){var t=s;1==this[t(1208)]?this.baseMediaDecodeTime=e.readUint64():this[t(591)]=e[t(1118)]()})),h[s(1039)]("tfhd",(function(e){var t=s,r=0;this[t(325)]=e[t(1118)](),this[t(517)]-this[t(975)]>r&&this[t(1485)]&h.TFHD_FLAG_BASE_DATA_OFFSET?(this[t(725)]=e[t(700)](),r+=8):this[t(725)]=0,this.size-this.hdr_size>r&&this[t(1485)]&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e[t(1118)](),r+=4):this[t(607)]=0,this[t(517)]-this[t(975)]>r&&this[t(1485)]&h[t(1407)]?(this[t(766)]=e[t(1118)](),r+=4):this[t(766)]=0,this[t(517)]-this[t(975)]>r&&this[t(1485)]&h[t(572)]?(this[t(680)]=e[t(1118)](),r+=4):this[t(680)]=0,this[t(517)]-this.hdr_size>r&&this[t(1485)]&h.TFHD_FLAG_SAMPLE_FLAGS?(this[t(956)]=e[t(1118)](),r+=4):this[t(956)]=0})),h[s(1039)]("tfra",(function(e){var t=s;this[t(834)]=e[t(1118)](),e[t(406)]();var r=e[t(726)]();this[t(1239)]=r>>4&3,this[t(821)]=r>>2&3,this[t(974)]=3&r,this[t(694)]=[];for(var n=e[t(1118)](),i=0;i>8,e[t(1053)](),this[t(1562)]=e[t(1279)](9),this[t(281)]=e.readUint32(),this[t(561)]=e[t(1118)]()})),h[s(1262)]("tmax",(function(e){var t=s;this[t(1122)]=e[t(1118)]()})),h[s(1262)]("tmin",(function(e){var t=s;this.time=e[t(1118)]()})),h[s(1262)](s(618),(function(e){var t=s;this[t(1081)]=e[t(1118)]()})),h[s(1262)](s(1164),(function(e){var t=s;this[t(1081)]=e[t(1118)]()})),h[s(1262)]("tpyl",(function(e){var t=s;this[t(1081)]=e[t(700)]()})),h.TrackGroupTypeBox[s(672)][s(414)]=function(e){var t=s;this[t(351)](e),this[t(513)]=e[t(1118)]()},h[s(769)](s(1367)),h[s(961)]=function(e,t,r,n){var i=s;h[i(403)][i(590)](this,e,t),this.hdr_size=r,this.start=n},h.TrackReferenceTypeBox[s(672)]=new(h[s(403)]),h[s(961)].prototype[s(414)]=function(e){var t=s;this[t(851)]=e[t(560)]((this.size-this[t(975)])/4)},h[s(1243)][s(672)][s(414)]=function(e){for(var t,r,n=s;e[n(776)]()r&&this[t(1485)]&h.TRUN_FLAGS_DATA_OFFSET?(this[t(1067)]=e[t(1160)](),r+=4):this.data_offset=0,this.size-this[t(975)]>r&&this[t(1485)]&h[t(810)]?(this.first_sample_flags=e[t(1118)](),r+=4):this[t(1042)]=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this[t(1522)]=[],this[t(517)]-this[t(975)]>r)for(var n=0;n>7&1,this[r(1049)]=n>>6&1,this.block_little_endian=n>>5&1,this[r(327)]=n>>4&1,this[r(1474)]=n>>3&1,this[r(1301)]=e[r(1118)](),this.row_align_size=e[r(1118)](),this[r(1020)]=e[r(1118)](),this[r(410)]=e[r(1118)](),this[r(922)]=e[r(1118)]()}})),h[s(1039)](s(1163),(function(e){var t=s;1!==this[t(1485)]&&(this.location=e[t(1251)]())})),h[s(1039)](s(1556),(function(e){var t=s;this[t(440)]=e[t(1251)](),this[t(517)]-this[t(975)]-this.name[t(986)]-1>0&&(this.location=e[t(1251)]())})),h[s(1295)](s(1310),!0,!1,(function(e){var t=s;this.LiveServerManifest=e[t(1228)](this[t(517)]-this[t(975)]).replace(/&/g,"&")[t(1281)](//g,t(394)).replace(/"/g,t(1052))[t(1281)](/'/g,"'")})),h[s(1295)](s(1244),!0,!1,(function(e){var t=s;this[t(1303)]=h[t(877)](e);var r=e[t(1118)]();r>0&&(this[t(601)]=e[t(1458)](r))})),h[s(1295)]("a2394f525a9b4f14a2446c427c648df4",!0,!1),h[s(1295)]("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){var t=s;this[t(444)]=e.readUint24(),this[t(1290)]=e[t(726)](),this[t(335)]=h[t(877)](e)})),h[s(1295)]("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){var t=s;this[t(1034)]=e[t(726)](),this.entries=[];for(var r=0;r>4,this[r(1464)]=t>>1&7,this[r(559)]=1&t,this.colourPrimaries=e[r(726)](),this[r(739)]=e[r(726)](),this[r(1302)]=e[r(726)](),this[r(787)]=e[r(1053)](),this[r(611)]=e[r(1458)](this.codecIntializationDataSize)):(this[r(413)]=e[r(726)](),this[r(653)]=e.readUint8(),t=e[r(726)](),this[r(1318)]=t>>4&15,this[r(1465)]=15&t,t=e[r(726)](),this[r(1464)]=t>>4&15,this[r(1354)]=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e[r(1053)](),this[r(611)]=e[r(1458)](this[r(787)]))})),h[s(1262)](s(1317),(function(e){var t=s;this[t(528)]=e[t(1228)](this[t(517)]-this[t(975)])})),h[s(1039)]("vvcC",(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this[Sa(1051)]=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){var t=Sa;this[t(1051)]=e[t(1053)](),this[t(626)]=16},extract_bits:function(e){var t=Sa,r=this[t(1051)]>>this[t(626)]-e&(1<1){for(i[n(686)](e),this[n(621)]=0,r=this[n(645)]-2;r>=0;--r){var c=i[n(534)](1);this[n(621)]|=c<1;++r)i[n(534)](1);for(this[n(755)]=[],r=this[n(645)]-2;r>=0;--r)this[n(621)]&1<>=1;r+=h[t(612)](i,0),r+=".",0===this[t(753)][t(1312)]?r+="L":r+="H",r+=this.hvcC[t(904)];var a=!1,o="";for(e=5;e>=0;e--)(this[t(753)][t(1106)][e]||a)&&(o="."+h[t(612)](this[t(753)][t(1106)][e],0)+o,a=!0);r+=o}return r},h[s(854)][s(672)].getCodec=h[s(844)][s(672)][s(1017)]=function(){var e,t=s,r=h.SampleEntry[t(672)][t(1017)][t(590)](this);if(this.vvcC){r+="."+this.vvcC[t(418)],this.vvcC[t(1312)]?r+=".H":r+=".L",r+=this[t(1375)][t(904)];var n="";if(this[t(1375)].general_constraint_info){var i,a=[],o=0;for(o|=this[t(1375)].ptl_frame_only_constraint<<7,o|=this[t(1375)].ptl_multilayer_enabled<<6,e=0;e>2&63,a[t(298)](o),o&&(i=e),o=this[t(1375)][t(605)][e]>>2&3;if(void 0===i)n=t(1533);else{n=".C";var c=t(1201),u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|a[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},h[s(1532)][s(672)].getCodec=function(){var e=s,t=h.SampleEntry[e(672)].getCodec[e(590)](this);if(this[e(587)]&&this[e(587)][e(1362)]){var r=this[e(587)][e(1362)].getOTI(),n=this[e(587)][e(1362)][e(1293)]();return t+"."+h[e(612)](r)+(n?"."+n:"")}return t},h[s(1065)][s(672)][s(1017)]=function(){var e=s,t=h[e(1477)].prototype.getCodec[e(590)](this);return this[e(322)]?t+"."+this.mime_format:t},h[s(634)][s(672)].getCodec=h[s(1547)].prototype[s(1017)]=function(){var e=s,t=h[e(1477)][e(672)].getCodec.call(this),r=this.vpcC[e(653)];0==r&&(r="00");var n=this[e(1198)][e(1318)];return 8==n&&(n="08"),t+".0"+this[e(1198)].profile+"."+r+"."+n},h[s(1008)][s(672)][s(1017)]=function(){var e,t=s,r=h.SampleEntry[t(672)][t(1017)].call(this),n=this.av1C[t(1440)];return n<10&&(n="0"+n),2===this[t(1534)][t(380)]&&1===this.av1C[t(1190)]?e=1===this[t(1534)][t(1229)]?"12":"10":this[t(1534)][t(380)]<=2&&(e=1===this[t(1534)][t(1190)]?"10":"08"),r+"."+this[t(1534)].seq_profile+"."+n+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box[s(672)][s(475)]=function(e,t){var r=s;this[r(517)]+=8,this[r(517)]>u&&(this.size+=8),this[r(1080)]===r(1399)&&(this[r(517)]+=16),a[r(1276)]("BoxWriter",r(796)+this.type+r(598)+this[r(517)]+r(1175)+e[r(776)]()+(t||"")),this[r(517)]>u?e.writeUint32(1):(this[r(1090)]=e[r(776)](),e[r(858)](this[r(517)])),e[r(1296)](this[r(1080)],null,4),"uuid"===this[r(1080)]&&e[r(339)](this[r(1399)]),this.size>u&&e.writeUint64(this.size)},h.FullBox.prototype[s(475)]=function(e){var t=s;this[t(517)]+=4,h[t(403)][t(672)][t(475)].call(this,e,t(967)+this[t(1208)]+" f="+this[t(1485)]),e[t(582)](this[t(1208)]),e.writeUint24(this[t(1485)])},h.Box[s(672)].write=function(e){var t=s;this[t(1080)]===t(1442)?this[t(601)]&&(this[t(517)]=this[t(601)].length,this[t(475)](e),e[t(339)](this.data)):(this[t(517)]=this[t(601)]?this[t(601)].length:0,this.writeHeader(e),this[t(601)]&&e[t(339)](this[t(601)]))},h.ContainerBox[s(672)].write=function(e){var t=s;this[t(517)]=0,this.writeHeader(e);for(var r=0;r=2&&e.writeUint32(this[n(607)]),e.writeUint32(this[n(694)][n(986)]),t=0;t0)for(t=0;t+1r?1:0,this.flags=0,this[t(517)]=4,1===this[t(1208)]&&(this[t(517)]+=4),this[t(475)](e),1===this[t(1208)]?e[t(1425)](this[t(591)]):e[t(858)](this[t(591)])},h.tfhdBox.prototype[s(744)]=function(e){var t=s;this[t(1208)]=0,this[t(517)]=4,this[t(1485)]&h[t(915)]&&(this.size+=8),this[t(1485)]&h[t(296)]&&(this[t(517)]+=4),this.flags&h[t(1407)]&&(this[t(517)]+=4),this[t(1485)]&h[t(572)]&&(this[t(517)]+=4),this[t(1485)]&h[t(398)]&&(this[t(517)]+=4),this[t(475)](e),e[t(858)](this[t(325)]),this.flags&h[t(915)]&&e[t(1425)](this.base_data_offset),this[t(1485)]&h[t(296)]&&e[t(858)](this[t(607)]),this[t(1485)]&h[t(1407)]&&e[t(858)](this[t(766)]),this[t(1485)]&h[t(572)]&&e[t(858)](this.default_sample_size),this[t(1485)]&h.TFHD_FLAG_SAMPLE_FLAGS&&e[t(858)](this[t(956)])},h[s(1117)].prototype.write=function(e){var t=s;this[t(1208)]=0,this.size=80,this[t(475)](e),e.writeUint32(this.creation_time),e[t(858)](this[t(708)]),e[t(858)](this[t(325)]),e.writeUint32(0),e[t(858)](this[t(1023)]),e[t(858)](0),e[t(858)](0),e[t(503)](this[t(935)]),e.writeInt16(this[t(419)]),e[t(503)](this[t(1041)]<<8),e[t(1050)](0),e[t(1392)](this[t(1562)]),e[t(858)](this[t(281)]),e[t(858)](this[t(561)])},h[s(1333)][s(672)][s(744)]=function(e){var t=s;this.version=0,this[t(1485)]=0,this[t(517)]=20,this[t(475)](e),e.writeUint32(this[t(325)]),e[t(858)](this[t(607)]),e[t(858)](this[t(766)]),e[t(858)](this[t(680)]),e[t(858)](this[t(956)])},h[s(1036)][s(672)][s(744)]=function(e){var t=s;this[t(1208)]=0,this.size=4,this[t(1485)]&h[t(718)]&&(this.size+=4),this[t(1485)]&h[t(810)]&&(this[t(517)]+=4),this[t(1485)]&h.TRUN_FLAGS_DURATION&&(this[t(517)]+=4*this.sample_duration.length),this[t(1485)]&h[t(1182)]&&(this[t(517)]+=4*this[t(989)][t(986)]),this.flags&h[t(596)]&&(this[t(517)]+=4*this[t(627)][t(986)]),this[t(1485)]&h[t(870)]&&(this[t(517)]+=4*this[t(1522)][t(986)]),this[t(475)](e),e[t(858)](this.sample_count),this[t(1485)]&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e[t(776)](),e[t(1028)](this[t(1067)])),this[t(1485)]&h.TRUN_FLAGS_FIRST_FLAG&&e[t(858)](this[t(1042)]);for(var r=0;r-1||e[r]instanceof h.Box||t[r]instanceof h[n(403)]||typeof e[r]===n(1035)||typeof t[r]===n(1035)||typeof e[r]===n(355)||typeof t[r]===n(355)||e[n(764)]&&e.subBoxNames[n(1393)](r.slice(0,4))>-1||t[n(764)]&&t[n(764)][n(1393)](r[n(1024)](0,4))>-1||r===n(601)||r===n(780)||r===n(517)||r===n(912)||r===n(708)||h[n(1428)][n(1393)](r)>-1||e[r]===t[r]))return!1;return!0},h[s(635)]=function(e,t){var r=s;if(!h[r(981)](e,t))return!1;for(var n=0;n=t?e:new Array(t-e[n(986)]+1)[n(759)](r)+e}function a(e){var t=Sa,r=Math.floor(e/3600),n=Math.floor((e-3600*r)/60),s=Math[t(1167)](e-3600*r-60*n),a=Math[t(1167)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(a,3)}for(var o=this.parseSample(r),c="",u=0;u1)for(t=1;t-1&&this[t(855)][t(1459)](r,1)},g.prototype[s(515)]=function(e,t,r){var n=s,i=this[n(568)](e);if(i){var a={};this[n(368)][n(298)](a),a.id=e,a[n(378)]=t,a.trak=i,i[n(377)]=0,a[n(1112)]=1e3,a[n(1423)]=[],r&&r[n(1144)]&&(a.nb_samples=r.nbSamples)}},g[s(672)][s(506)]=function(e){for(var t=s,r=-1,n=0;n-1&&this.extractedTracks[t(1459)](r,1)},g[s(672)][s(414)]=function(){var e,t,r=s;if(!this[r(1287)]||this[r(1287)]())for(;;){if(this[r(633)]&&this[r(633)]()){if(this[r(284)]())continue;return}if(this[r(954)]&&this[r(954)](),(e=h[r(647)](this[r(932)],false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this[r(392)](e))continue;return}return}var n;switch(n=(t=e.box)[r(1080)]!==r(1399)?t.type:t[r(1399)],this[r(781)][r(298)](t),n){case"mdat":this[r(494)][r(298)](t);break;case"moof":this[r(760)][r(298)](t);break;case r(722):this[r(1152)]=!0,0===this[r(494)][r(986)]&&(this.isProgressive=!0);default:void 0!==this[n]&&a[r(1109)]("ISOFile","Duplicate Box of type: "+n+r(1535)),this[n]=t}this[r(996)]&&this.updateUsedBytes(t,e)}},g.prototype[s(1223)]=function(e){var t=s;if(null==e)throw t(1108);if(void 0===e[t(547)])throw t(320);return 0===e[t(1093)]?(a[t(1109)]("ISOFile",t(1095)+e[t(547)]+")"),this[t(932)][t(1412)](),!1):(a[t(944)](t(789),t(859)+e[t(547)]+")"),e.usedBytes=0,this[t(932)][t(1110)](e),this[t(932)].logBufferLevel(),!!this[t(932)].initialized()||(a.warn("ISOFile",t(791)),!1))},g[s(672)][s(1305)]=function(e,t){var r,n=s;if(this[n(1223)](e))return this[n(414)](),this[n(1152)]&&!this[n(1374)]&&(this[n(1374)]=!0,this[n(938)]&&this[n(938)]()),this.moov?(!this.sampleListBuilt&&(this[n(697)](),this[n(980)]=!0),this[n(1157)](),this[n(1496)]&&!this[n(260)]&&(this[n(260)]=!0,this[n(1496)](this[n(546)]())),this.processSamples(t),this[n(1043)]?(r=this.nextSeekPosition,this[n(1043)]=void 0):r=this[n(1214)],this[n(932)][n(955)]&&(r=this.stream[n(955)](r))):r=this[n(1214)]?this[n(1214)]:0,this[n(730)]&&this.onSidx&&!this[n(1530)]&&(this[n(1242)](this[n(730)]),this[n(1530)]=!0),this.meta&&(this.flattenItemInfo&&!this[n(659)]&&(this[n(258)](),this[n(659)]=!0),this.processItems&&this.processItems(this[n(337)])),this[n(932)][n(868)]&&(a[n(944)]("ISOFile",n(995)+e[n(547)]+") - next buffer to fetch should have a fileStart position of "+r),this[n(932)].logBufferLevel(),this.stream[n(868)](),this[n(932)][n(1412)](!0),a[n(944)](n(789),n(1021)+this[n(330)]())),r},g[s(672)][s(546)]=function(){var e,t,r,n,i,a,o=s,c={},u=new Date(o(346))[o(872)]();if(this[o(722)])for(c[o(1327)]=!0,c[o(1023)]=this[o(722)][o(1115)][o(1023)],c.timescale=this[o(722)][o(1115)][o(770)],c[o(340)]=null!=this[o(722)][o(959)],c[o(340)]&&this[o(722)][o(959)].mehd&&(c[o(1467)]=this[o(722)][o(959)].mehd.fragment_duration),c[o(1121)]=this[o(1121)],c[o(1338)]=null!=this.moov.iods,c[o(1308)]=[],c[o(1308)][o(298)](this[o(709)][o(1363)]),c.brands=c[o(1308)][o(520)](this.ftyp[o(1091)]),c[o(876)]=new Date(u+1e3*this[o(722)][o(1115)][o(912)]),c.modified=new Date(u+1e3*this[o(722)][o(1115)][o(708)]),c[o(1019)]=[],c[o(578)]=[],c[o(1306)]=[],c[o(1398)]=[],c[o(991)]=[],c[o(467)]=[],c[o(1503)]=[],e=0;e0?c.mime+=o(556):c[o(578)]&&c.audioTracks[o(986)]>0?c[o(425)]+=o(376):c.mime+=o(662),e=0;e=r[n(1423)][n(986)])&&(a[n(944)](n(789),n(609)+i.id+n(498)+Math[n(689)](0,r[n(377)]-i[n(1112)])+","+(r[n(377)]-1)+"]"),a[n(944)]("ISOFile","Sample data size in memory: "+this[n(330)]()),this[n(342)]&&this.onSegment(i.id,i[n(378)],i[n(1271)].buffer,r[n(377)],e||r.nextSample>=r[n(1423)][n(986)]),i[n(1271)]=null,i!==this.fragmentedTracks[t]))break}}if(null!==this[n(1492)])for(t=0;t=r[n(1423)][n(986)])&&(a[n(1276)](n(789),n(1194)+c.id+n(693)+r[n(377)]),this[n(1492)]&&this[n(1492)](c.id,c[n(378)],c[n(1423)]),c[n(1423)]=[],c!==this.extractedTracks[t]))break}}}},g.prototype[s(424)]=function(e){var t=s,r=this[t(1462)](e,!0);return r[t(986)]?r[0]:null},g.prototype.getBoxes=function(e,t){var r=s,n=[];return g[r(987)][r(590)](this,e,n,t),n},g._sweep=function(e,t,r){var n=s;for(var i in this.type&&this[n(1080)]==e&&t[n(298)](this),this.boxes){if(t[n(986)]&&r)return;g[n(987)].call(this.boxes[i],e,t,r)}},g[s(672)].getTrackSamplesInfo=function(e){var t=s,r=this[t(568)](e);return r?r[t(1423)]:void 0},g[s(672)][s(1097)]=function(e,t){var r=s,n=this[r(568)](e);return this[r(763)](n,t)},g.prototype.releaseUsedSamples=function(e,t,r){var n=s,i=0,o=this[n(568)](e);o[n(1430)]||(o[n(1430)]=0);for(var c=o[n(1430)];ce*i[u(770)]){d=n-1;break}t&&i[u(1417)]&&(l=n)}for(t&&(d=l),e=r[u(1423)][d][u(889)],r[u(377)]=d;r[u(1423)][d][u(831)]===r[u(1423)][d][u(517)]&&r[u(1423)][d+1];)d++;return o=r.samples[d][u(407)]+r[u(1423)][d].alreadyRead,a[u(944)](u(789),u(1342)+(t?u(651):"")+u(962)+r.nextSample+" on track "+r[u(333)][u(325)]+u(1185)+a[u(1511)](e,c)+u(790)+o),{offset:o,time:e/c}},g[s(672)].getTrackDuration=function(e){var t,r=s;return e.samples?((t=e[r(1423)][e[r(1423)][r(986)]-1])[r(889)]+t.duration)/t[r(770)]:1/0},g[s(672)][s(1007)]=function(e,t){var r,n,i,o=s,c=this[o(722)],u={offset:1/0,time:1/0};if(this.moov){for(i=0;ithis.getTrackDuration(r)||((n=this.seekTrack(e,t,r))[o(407)]-1){u=l;break}switch(u){case"Visual":if(a.add(t(589))[t(365)](t(1497),0).set(t(1357),[0,0,0]),c[t(365)]("width",r.width)[t(365)]("height",r[t(561)])[t(365)](t(794),72<<16)[t(365)]("vertresolution",72<<16).set(t(1220),1)[t(365)](t(983),r.type+" Compressor")[t(365)]("depth",24),r.avcDecoderConfigRecord){var p=new(h[t(978)]);p.parse(new o(r[t(307)])),c[t(287)](p)}else if(r[t(775)]){var m=new(h[t(1480)]);m[t(414)](new o(r[t(775)])),c[t(287)](m)}break;case t(372):a[t(312)](t(529))[t(365)]("balance",r[t(479)]||0),c[t(365)]("channel_count",r[t(576)]||2)[t(365)](t(1148),r[t(1148)]||16)[t(365)](t(1140),r[t(1140)]||65536);break;case t(263):a[t(312)](t(1232));break;case t(979):if(a[t(312)](t(1274)),r[t(1080)]===t(366))c[t(365)](t(895),r[t(895)]||t(1527))[t(365)](t(735),r.schema_location||"")[t(365)](t(1377),r[t(1377)]||"");break;case t(688):case"System":a[t(312)]("nmhd");break;default:a[t(312)](t(928))}r[t(1331)]&&c.addBox(r[t(1331)]),r[t(426)]&&r[t(426)][t(767)]((function(e){c[t(287)](e)})),a[t(312)]("dinf").add(t(1422))[t(1255)]((new(h[t(1280)]))[t(365)](t(1485),1));var v=a.add(t(476));return v.add(t(1383))[t(1255)](c),v[t(312)](t(931))[t(365)]("sample_counts",[])[t(365)](t(771),[]),v[t(312)]("stsc")[t(365)]("first_chunk",[])[t(365)](t(1151),[])[t(365)]("sample_description_index",[]),v[t(312)](t(1159))[t(365)](t(1542),[]),v[t(312)]("stsz").set("sample_sizes",[]),this[t(722)][t(959)][t(312)](t(809))[t(365)]("track_id",r.id)[t(365)]("default_sample_description_index",r[t(607)]||1)[t(365)](t(766),r[t(766)]||0)[t(365)](t(680),r.default_sample_size||0)[t(365)](t(956),r[t(956)]||0),this[t(887)](n),r.id}},h[s(403)].prototype[s(1126)]=function(e){var t=s,r=e||new c;r[t(1540)]=c[t(1401)],this[t(744)](r)},g.prototype.addSample=function(e,t,r){var n=s,i=r||{},a={},o=this[n(568)](e);if(null!==o){a[n(742)]=o[n(1423)].length,a[n(325)]=o[n(333)][n(325)],a[n(770)]=o[n(1315)][n(817)][n(770)],a.description_index=i.sample_description_index?i[n(468)]-1:0,a[n(1331)]=o[n(1315)][n(723)].stbl[n(1383)][n(694)][a[n(1498)]],a.data=t,a[n(517)]=t.byteLength,a[n(831)]=a[n(517)],a.duration=i[n(1023)]||1,a.cts=i[n(889)]||0,a[n(555)]=i[n(555)]||0,a[n(1417)]=i[n(1417)]||!1,a[n(827)]=i[n(827)]||0,a[n(1385)]=i.depends_on||0,a[n(1166)]=i[n(1166)]||0,a[n(304)]=i[n(304)]||0,a[n(1355)]=i[n(1355)]||0,a[n(407)]=0,a[n(371)]=i[n(371)],o[n(1423)][n(298)](a),o[n(814)]+=a.size,o[n(532)]+=a.duration,void 0===o[n(1030)]&&(o[n(1030)]=i.dts),this[n(654)]();var c=this.createSingleSampleMoof(a);return this.addBox(c),c[n(1126)](),c[n(857)][0][n(1460)][0][n(1067)]=c[n(517)]+8,this[n(312)]("mdat").data=new Uint8Array(t),a}},g.prototype[s(1286)]=function(e){var t=s,r=0;r=e[t(1417)]?1<<25:65536;var n=new(h[t(1508)]);n.add(t(1230))[t(365)](t(1524),this[t(310)]),this[t(310)]++;var i=n[t(312)]("traf"),a=this[t(568)](e[t(325)]);return i[t(312)](t(1231))[t(365)](t(325),e[t(325)]).set(t(1485),h[t(302)]),i[t(312)]("tfdt")[t(365)](t(591),e.dts-(a[t(1030)]||0)),i[t(312)](t(804))[t(365)](t(1485),h.TRUN_FLAGS_DATA_OFFSET|h[t(1358)]|h[t(1182)]|h[t(596)]|h[t(870)])[t(365)](t(1067),0).set(t(1042),0)[t(365)](t(820),1)[t(365)](t(1171),[e.duration])[t(365)](t(989),[e[t(517)]])[t(365)]("sample_flags",[r]).set("sample_composition_time_offset",[e[t(889)]-e[t(555)]]),n},g[s(672)][s(297)]=0,g[s(672)][s(736)]=0,g.prototype[s(907)]=function(){var e,t,r,n,i,a,o=s;for(this[o(746)]=this[o(722)][o(1115)][o(1023)],this[o(722)][o(1115)].duration=0,e=0;e=2&&(u=i[o][l(1012)]+"/0",(c=new d(i[o][l(1012)],0)).is_fragment=!0,!t.sample_groups_info[u]&&(t[l(1441)][u]=c))}else for(o=0;o=2&&(u=n[o][l(1012)]+"/0",c=new d(n[o][l(1012)],0),!e[l(1441)][u]&&(e[l(1441)][u]=c))},g[s(1319)]=function(e,t,r,n){var i,a,o=s;for(i in t[o(837)]=[],n){var c;if(t[o(837)][i]={},t[o(837)][i][o(1012)]=n[i][o(1012)],t.sample_groups[i].grouping_type_parameter=n[i].grouping_type_parameter,r>=n[i].last_sample_in_run&&(n[i][o(632)]<0&&(n[i][o(632)]=0),n[i][o(1138)]++,n[i].entry_index<=n[i][o(1481)].entries[o(986)]-1&&(n[i][o(632)]+=n[i][o(1481)][o(694)][n[i][o(1138)]][o(820)])),n[i].entry_index<=n[i].sbgp[o(694)].length-1?t[o(837)][i][o(602)]=n[i][o(1481)][o(694)][n[i].entry_index][o(602)]:t.sample_groups[i][o(602)]=-1,0!==t[o(837)][i][o(602)])c=n[i][o(1075)]?n[i].fragment_description:n[i][o(1331)],t[o(837)][i][o(602)]>0?(a=t[o(837)][i][o(602)]>65535?(t[o(837)][i][o(602)]>>16)-1:t[o(837)][i][o(602)]-1,c&&a>=0&&(t[o(837)][i][o(1331)]=c.entries[a])):c&&c[o(1208)]>=2&&c[o(1162)]>0&&(t[o(837)][i][o(1331)]=c[o(694)][c.default_group_description_index-1])}},g[s(495)]=function(e,t,r){var n=s;t&&(e?(t[n(827)]=e[n(827)][r],t[n(1385)]=e.sample_depends_on[r],t[n(1166)]=e[n(279)][r],t[n(304)]=e[n(1269)][r]):(t[n(827)]=0,t[n(1385)]=0,t[n(1166)]=0,t.has_redundancy=0))},g[s(672)][s(697)]=function(){var e,t,r=s;for(e=0;eb&&(w++,b<0&&(b=0),b+=a[C(1473)][w]),t>0?(e[C(1423)][t-1].duration=a[C(771)][w],e.samples_duration+=e[C(1423)][t-1][C(1023)],T[C(555)]=e[C(1423)][t-1][C(555)]+e[C(1423)][t-1][C(1023)]):T.dts=0,o?(t>=S&&(I++,S<0&&(S=0),S+=o[C(1473)][I]),T[C(889)]=e.samples[t].dts+o.sample_offsets[I]):T[C(889)]=T.dts,c?(t==c[C(357)][A]-1?(T[C(1417)]=!0,A++):(T[C(1417)]=!1,T[C(1355)]=0),l&&l.entries[E][C(1089)]+k==t+1&&(T.subsamples=l[C(694)][E][C(371)],k+=l[C(694)][E][C(1089)],E++)):T.is_sync=!0,g[C(495)](e[C(1315)][C(723)][C(476)][C(752)],T,T[C(742)]),T[C(1355)]=f?f[C(1453)][t]:0,l&&l.entries[E][C(1089)]+k==t&&(T[C(371)]=l[C(694)][E][C(371)],k+=l[C(694)][E][C(1089)]),(d[C(986)]>0||h[C(986)]>0)&&g[C(1319)](e,T,t,e[C(1441)])}t>0&&(e.samples[t-1].duration=Math.max(e[C(1315)][C(817)].duration-e.samples[t-1].dts,0),e.samples_duration+=e[C(1423)][t-1][C(1023)])}},g[s(672)].updateSampleLists=function(){var e,t,r,n,i,a,o,c,u,l,d,f,p,m,v,y=s;if(void 0!==this[y(722)])for(;this[y(297)]0&&g[y(1170)](f,d,d[y(1249)],f[y(1315)][y(723)][y(476)][y(575)],d.sgpds),t=0;t0?m.dts=f[y(1423)][f[y(1423)].length-2].dts+f.samples[f.samples[y(986)]-2][y(1023)]:(d[y(483)]?m[y(555)]=d[y(483)].baseMediaDecodeTime:m[y(555)]=0,f[y(1292)]=!0),m[y(889)]=m.dts,_.flags&h[y(870)]&&(m[y(889)]=m[y(555)]+_[y(1522)][r]),v=o,_[y(1485)]&h[y(596)]?v=_.sample_flags[r]:0===r&&_[y(1485)]&h[y(810)]&&(v=_[y(1042)]),m[y(1417)]=!(v>>16&1),m[y(827)]=v>>26&3,m.depends_on=v>>24&3,m.is_depended_on=v>>22&3,m[y(304)]=v>>20&3,m[y(1355)]=65535&v;var b=!!(d.tfhd[y(1485)]&h[y(915)]),w=!!(d[y(1231)][y(1485)]&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),S=!!(_[y(1485)]&h[y(718)]),I=0;I=b?d.tfhd[y(725)]:w?l[y(780)]:0===t?l.start:c,0===t&&0===r?S?m[y(407)]=I+_.data_offset:m.offset=I:m[y(407)]=c,c=m.offset+m[y(517)],(d[y(1249)][y(986)]>0||d[y(575)][y(986)]>0||f.mdia[y(723)][y(476)][y(1249)][y(986)]>0||f[y(1315)][y(723)][y(476)][y(575)][y(986)]>0)&&g.setSampleGroupProperties(f,m,m[y(1069)],d[y(1441)])}}if(d[y(1378)]){f[y(1501)]=!0;var A=d[y(350)];for(t=0;t-1))return null;var u=(r=this[n(932)][n(682)][o])[n(1093)]-(i[n(407)]+i[n(831)]-r.fileStart);if(i[n(517)]-i[n(831)]<=u)return a[n(1276)](n(789),"Getting sample #"+t+" data (alreadyRead: "+i[n(831)]+n(295)+(i[n(407)]+i[n(831)]-r[n(547)])+" read size: "+(i[n(517)]-i[n(831)])+n(1447)+i[n(517)]+")"),c.memcpy(i[n(601)].buffer,i[n(831)],r,i[n(407)]+i[n(831)]-r[n(547)],i[n(517)]-i[n(831)]),r.usedBytes+=i[n(517)]-i.alreadyRead,this[n(932)][n(1412)](),i.alreadyRead=i[n(517)],i;if(0===u)return null;a[n(1276)](n(789),n(673)+t+" partial data (alreadyRead: "+i.alreadyRead+n(295)+(i[n(407)]+i[n(831)]-r[n(547)])+" read size: "+u+n(1447)+i.size+")"),c[n(1066)](i[n(601)].buffer,i[n(831)],r,i.offset+i.alreadyRead-r[n(547)],u),i.alreadyRead+=u,r[n(1561)]+=u,this[n(932)][n(1412)]()}},g[s(672)].releaseSample=function(e,t){var r=s,n=e.samples[t];return n[r(601)]?(this[r(736)]-=n[r(517)],n[r(601)]=null,n[r(1331)]=null,delete n[r(1355)],delete n.depends_on,delete n.description_index,delete n[r(304)],delete n.is_depended_on,delete n.is_leading,delete n.is_sync,delete n[r(1221)],delete n[r(1069)],delete n.timescale,delete n[r(889)],delete n[r(555)],delete n[r(407)],delete n[r(517)],delete n[r(325)],delete n[r(1023)],n[r(831)]=0,n[r(517)]):0},g.prototype[s(330)]=function(){return this[s(736)]},g[s(672)][s(1128)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this.moov[t(1259)][e][t(1315)][t(723)][t(476)].stsd[t(694)][0][t(1017)]()}return r},g[s(672)][s(800)]=function(e){var t,r=s;if(!this[r(722)]||!this[r(722)][r(959)])return null;for(t=0;t0&&(r.protection=c.ipro.protections[c[n(318)].item_infos[e].protection_index-1]),c[n(318)].item_infos[e][n(543)]?r.type=c[n(318)][n(919)][e][n(543)]:r[n(1080)]=n(425),r[n(1254)]=c[n(318)][n(919)][e][n(1254)],r[n(747)]=c[n(318)][n(919)][e][n(747)];if(c.grpl)for(e=0;e0&&p[n(430)]-1-1))return null;var l=(t=this[n(932)][n(682)][u])[n(1093)]-(o[n(407)]+o[n(831)]-t.fileStart);if(!(o.length-o[n(831)]<=l))return a[n(1276)]("ISOFile",n(396)+e+n(270)+i+n(1071)+o[n(831)]+" offset: "+(o[n(407)]+o[n(831)]-t[n(547)])+" read size: "+l+n(456)+o[n(986)]+n(984)+r[n(517)]+")"),c[n(1066)](r[n(601)][n(982)],r[n(831)],t,o.offset+o.alreadyRead-t.fileStart,l),o[n(831)]+=l,r[n(831)]+=l,t[n(1561)]+=l,this[n(932)][n(1412)](),null;a[n(1276)](n(789),n(396)+e+n(270)+i+n(500)+o[n(831)]+n(295)+(o[n(407)]+o[n(831)]-t.fileStart)+n(1103)+(o[n(986)]-o.alreadyRead)+n(456)+o[n(986)]+n(984)+r[n(517)]+")"),c[n(1066)](r[n(601)][n(982)],r[n(831)],t,o[n(407)]+o[n(831)]-t[n(547)],o[n(986)]-o.alreadyRead),t[n(1561)]+=o[n(986)]-o[n(831)],this[n(932)][n(1412)](),r.alreadyRead+=o[n(986)]-o[n(831)],o.alreadyRead=o.length}}return r[n(831)]===r[n(517)]?r:null},g.prototype[s(1323)]=function(e){var t=s,r=this[t(1311)][e];if(r[t(601)]){this.itemsDataSize-=r.size,r[t(601)]=null,r.alreadyRead=0;for(var n=0;n0?this[i(722)][i(1259)][e].samples[0][i(1023)]:0),t[i(298)](n)}return t},g.prototype[s(1382)]=function(){var e=s,t={};return t[e(722)]=this.moov,this.moov&&this[e(722)][e(1259)]&&this[e(722)].traks[e(986)]>1&&(t.moovAudioNum=this[e(722)][e(1259)][0][e(1423)][e(986)],t[e(1154)]=this[e(722)].traks[1][e(1423)].length),t},h[s(403)].prototype.printHeader=function(e){var t=s;this[t(517)]+=8,this[t(517)]>u&&(this[t(517)]+=8),this[t(1080)]===t(1399)&&(this.size+=16),e.log(e[t(1014)]+t(720)+this[t(517)]),e[t(1282)](e.indent+"type:"+this[t(1080)])},h[s(345)].prototype[s(332)]=function(e){var t=s;this[t(517)]+=4,h[t(403)][t(672)].printHeader.call(this,e),e.log(e.indent+"version:"+this[t(1208)]),e.log(e[t(1014)]+t(1258)+this[t(1485)])},h[s(403)][s(672)][s(1057)]=function(e){this[s(332)](e)},h[s(1397)][s(672)][s(1057)]=function(e){var t=s;this[t(332)](e);for(var r=0;r>8)),e.log(e[t(1014)]+t(1539)+this[t(1562)][t(759)](", ")),e.log(e.indent+t(1e3)+this[t(586)])},h[s(1117)][s(672)][s(1057)]=function(e){var t=s;h[t(345)][t(672)][t(332)][t(590)](this,e),e[t(1282)](e.indent+"creation_time: "+this[t(912)]),e.log(e[t(1014)]+"modification_time: "+this.modification_time),e[t(1282)](e[t(1014)]+t(459)+this[t(325)]),e[t(1282)](e[t(1014)]+t(1537)+this[t(1023)]),e[t(1282)](e[t(1014)]+t(792)+(this[t(1041)]>>8)),e[t(1282)](e.indent+"matrix: "+this[t(1562)][t(759)](", ")),e[t(1282)](e[t(1014)]+t(292)+this[t(935)]),e[t(1282)](e.indent+t(1278)+this[t(419)]),e[t(1282)](e[t(1014)]+"width: "+this[t(281)]),e[t(1282)](e[t(1014)]+t(1344)+this.height)};var _={};_[s(276)]=function(e,t){var r=s,n=void 0===e||e,i=new g(t);return i[r(1076)]=!n,i},s(852)!==s(1035)&&(t[s(276)]=_.createFile)}));function Sa(e,t){var r=Ia();return(Sa=function(e,t){return r[e-=257]})(e,t)}function Ia(){var e=["is_sync","hnti","value","tele","SingleItemTypeReferenceBox","dref","samples","reserved_1","writeUint64","mfro","metx","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","itemToFragmentedTrackFile","lastValidSample","ES_Descriptor","TKHD_FLAG_IN_MOVIE","num_bytes_constraint_info","destroy","cslgBox","ftypBox","getEndPosition","flipArrayEndianness","completeness","seq_level_idx_0","sample_groups_info","mdat","init","uncC","trep","sinf"," full size: ","byteOffset","MultiBufferStream","av1C version ","iaug","No method for reading signed 24 bits values","priority","bufferSize","vmhdBox","bg_color_rgba","mapUint16Array","readUint8Array","splice","truns","stvi","getBoxes","Parsing of box '","chromaSubsampling","colorSpace","max_picture_width","fragment_duration","upStream","avc1SampleEntry","getSampleRate","createEncryptedSampleEntryCtor","chroma_sample_position","sample_counts","pad_unknown","No segmentation callback set!","createCommonjsModule","SampleEntry","nclx","float32","hvcCBox","sbgp","handler","rinf","iso4","flags","ctts","pdin","vide","bad_pixel_row","writeUint16Array","sgpdBox","onSamples","scheme_uri","PPS","padbits","onReady","graphicsmode","description_index","href","decode","has_fragment_subsamples"," more bytes than the indicated box data size, seeking backwards","otherTracks","alst","Descriptor","error","OutputGain","moofBox","audio","enct","getDurationString","num_bad_cols","vSpacing","Found ","ispe","Allocating sample #","The first buffer should have a fileStart of 0","mere","pitm","descriptionformat","segment_duration","sample_composition_time_offset","ssix","sequence_number","SLConfigDescriptor","prdi","nonamespace","item_id","crypt_byte_block","sidxSent","seekLists","mp4aSampleEntry",".CA","av1C",", overriding previous occurrence","cprt","duration: ","leva","matrix: ","endianness","av01","chunk_offsets","MPEG4DescriptorParser","getItem","extended_language","description_length","vp09SampleEntry","meco","Track created with MP4Box.js","fromCharCode","construction_method","writeFloat32Array","nb_PPS_nalus","avgBitRate","lengthSizeMinusOne","urn ","constantFrameRate"," already stored in field of this type","AVCProfileIndication","dvh1","usedBytes","matrix","references","flattenItemInfo","FULL_BOXES","readySent","avc1","kindBox","Hint","cdef","bytes","stop","eqiv","prft","horizOffN"," extent #","cmin","initialized","_byteOffset","rash","(empty)","createFile","stss","layerNumber","sample_is_depended_on","LITTLE_ENDIAN","width","luminanceMax","display_primaries","processIncompleteMdat"," with new size ","mvhdBox","addBox"," on track #","parseLanguage","mapFloat64Array","max_ref_per_pic","layer: ","uint32","compositionEndTime"," offset: ","TFHD_FLAG_SAMPLE_DESC","lastMoofIndex","push","readAnyInt","trexs","protection_index","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","default_skip_byte_block","has_redundancy","AVCLevelIndication","sbtt","avcDecoderConfigRecord","data_reference_index","isVideo","nextMoofNumber","prol","add","mha2","image_width","default_constant_IV","94046sXQixy","bxml","iinf","skip","Buffer must have a fileStart property","readUint","mime_format"," (released size: ","grpl","track_id","Stream ready for parsing","block_reversed","rapAlignement","afbr","getAllocatedSampleDataSize","tsel","printHeader","tkhd","clef","default_KID","switch_group","onItem","idat","writeUint8Array","isFragmented","iloc","onSegment"," needs a buffer with a fileStart position of ","channel_indexes","FullBox","1904-01-01T00:00:00Z","luminanceMin","ASCII","mett","first_sample_index","parseFullHeader","sync_sample_numbers","setNextSeekPositionFromSample","subtitles","function","nalu_arrays","sample_numbers","mfra","SubtitleSampleEntry","timescale: ","No method for reading signed 64 bits values","readInt method not implemented for size: ","' did not read the entire indicated box data size (missing ","BASIC_BOXES","set","stpp","wbbr","extractedTracks","Creating media fragment on track #","getSampleSize","subsamples","Audio","ref_to","codec","18245865FJGhZr",'audio/mp4; codecs="',"nextSample","user","cleanApertureWidthN","seq_profile","nalu","ES_ID","hSpacing","general_sub_profile_idc","bits_per_pixel","_self","click","trgr","pos_z","SampleGroup for type ","dav1","processIncompleteBox","item_name",">","moovBox","Getting item #","getInt8","TFHD_FLAG_SAMPLE_FLAGS","extent_index","pos_y","' read ","tsyn","Box","SAMPLE_ENTRY_TYPE_SYSTEM","constant_IV_size","readUint24","offset","quat_y","tag","num_tile_cols_minus_one","levels","vvs1","profile","parse","Found box of type '","schemeURI","has_unparsed_data","general_profile_idc","alternate_group","parallelismType","style_record","Repositioning parser at buffer position: ","ster","getBox","mime","description_boxes","max_picture_height","Adjusting data_offset with new value ","hvc1","property_index","findPosition","bits_per_channels","encm","item_count","elng","udes","isHint","Box of type ","skip_byte_block","name","int32","u16stringbe","schm","default_AlgorithmID"," not found in buffered data","colr","vertOffD","SmDm","StreamCount","trpy","ranges","max_display_mastering_luminance","ICC_profile","Error reading extent index","avcC"," full extent size: ","getInt32","Unknown sample entry type: ","track_id: ","entry_count","wvtt","getMetaHandler","pano","vvcN","bsid","createContainerBoxCtor","hintTracks","sample_description_index","fromCharCodeUint8",'"; profiles="',"emsg","rap ","getLength","BYTES_PER_ELEMENT","writeHeader","stbl","mhm1","scnm","balance","num_leading_samples","isSubtitle","document","tfdt","quat_z","dependsOn_ES_ID","int32le","fobr","version of iloc box not supported","ac-3","chroma_format_idc","System","<","bad_pixel_column","mdats","process_sdtp","addUsedBytes","MP4BoxStream"," for samples [","fscod"," data (alreadyRead: ","mehdBox","fr-FR","writeInt16","num_bad_pixels","setUint16","unsetExtractionOptions","tx3g","sync","bit_depth_minus8","arrayToNative","SAMPLE_ENTRY_TYPE_METADATA","general_profile_space","track_group_id","streamType","setExtractionOptions","setAttribute","size","isEof","range_size","concat","colour_type","mehd","sdptext","strk","senc","from_item_ID","Adjusted seek position (after checking data already in buffer): ","text","smhd","scif","writeStruct","samples_duration"," (too small to be a box)","extract_bits","channel_types","DataStream","SAMPLE_ENTRY_TYPE_SUBTITLE","j2kH","readFloat32Array","AudioSampleEntry","item_ID"," greater than its container size ","item_type","writeInitializationSegment","cmpd","getInfo","fileStart","kid","getOTI","chunk_index","Adjusting box ","smhdBox","u16string","removeUsedSamples","dts",'video/mp4; codecs="',"component_align_size","op_index","videoFullRangeFlag","readUint32Array","height","Not enough data in stream to parse the type and size of the box","hev1SampleEntry"," not supported","Found position in existing buffer #","SAP_delta_time","subsegment_duration","getTrackById","component_little_endian","stshBox"," (total: ","TFHD_FLAG_SAMPLE_SIZE","primary","cttsBox","sgpds","channel_count","mhm2","audioTracks","default_isProtected","sample_depends_on","int32be","writeUint8","defineProperty","assignment_type","skew_factor","next_track_id","esds","Unknown uuid type: '","vmhd","call","baseMediaDecodeTime","lastBoxStartPosition","bit_depth_luma_minus8","setUint32","isAudio","TRUN_FLAGS_FLAGS","Error reading base offset size"," of size: ","Opus","moof_offset","data","group_description_index","sampling_type","target","general_constraint_info","Allocating item #","default_sample_description_index","Error accessing position in the MultiBufferStream","Sending fragmented data on track #","extension_type","codecIntializationData","decimalToHex","parseUUID","aux_info_type_parameter","full_range_flag","moof","ERR_NOT_ENOUGH_DATA","totl","float64","createMediaSampleEntryCtor","ptl_sublayer_present_mask","aux_type","sample_info_size","vp09","bad_rows","num_held_bits","sample_flags","PADDING","getInt16","Unknown Sample Group type: ","ols_idx","last_sample_in_run","hasIncompleteMdat","vp08SampleEntry","boxEqual","getChannelCount","image_height","hvt1","string","sample_sizes","findEndContiguousBuf","cleanApertureWidthD","kinds","horizontal_justification","num_sublayers","Cannot parse extension type","parseOneBox","code","BoxWriter","tyco","RAP","scheme_type","level","processSamples","compositionStartTime","24AMbGYu","pts","props","itemListBuilt","nb_SPS_nalus","dmax",'application/mp4; codecs="',"num_channels","codec_specific_parameters","RESERVED","stri","min","mehd box incorrectly uses flags set to 1, converting version to 1","dimm","elngBox"," bytes), seeking forward","prototype","Getting sample #","writeInt8","displayFlags","initial_delay","iods","component_type_urls","stsc","default_sample_size","acmod","buffers","num_dep_sub","failurePosition"," stored buffer(s) (","stream_read_1_bytes","vp08","Metadata","max","ipmas","flush"," of size "," for sample ","entries","stsg","SampleGroupEntry","buildSampleLists","readInt16Array","leastDecodeToDisplayDelta","readUint64","avgFrameRate","ac-4","SAMPLE_ENTRY_TYPE_AUDIO","tfdtBox","DataStream.save: Can't create object URL.","readUint16Array","padb","modification_time","ftyp","9fHKhkT","tenc","ntp_timestamp","hasItem","mha1","Not enough bytes left in the parent box to parse a UUID box","body","av1C reserved_1 parsing problem","TRUN_FLAGS_DATA_OFFSET","toString","size:","fieldCount","moov","minf","URL","base_data_offset","readUint8","mapUint8Array","stszBox","descs","sidx","dataview","extents","mapFloat32Array","avgRateFlag","schema_location","samplesDataSize","tref","extent_offset","transferCharacteristics","reduceBuffer","length_size","number","source","write","isProtected","initial_duration","content_encoding","first_offset","setInt8","all_ref_pics_intra","uncv","sdtp","hvcC","getUint8","sublayer_level_idc","writeUCS2String","_buffer","rtp ","join","moofs","starts_with_SAP","mergeNextBuffer","getSample","subBoxNames","field_size","default_sample_duration","forEach","TrackReference ","createTrackGroupCtor","timescale","sample_deltas","strd","STREAMINFO","Sample Group type: ","hevcDecoderConfigRecord","getPosition","sampleProcessingStarted","getFloat32",", column: ","start","boxes","num_leading_samples_known","Unlimited box size not supported for type: '","lhe1","used","writeUint32Array","codecIntializationDataSize","BoxParser","ISOFile"," and offset: ","Not ready to start parsing","volume: ","processItems","horizresolution","isMetadata","Writing box ","apply","createObjectURL","ipma","getTrexById","ptl_present_flag","SEEKTABLE","nativeToEndian","trun","stcoBox","sampleEntryCodes","getUint16","essential","trex","TRUN_FLAGS_FIRST_FLAG","mdcv","ipro","numTemporalLayers","samples_size","Found 'mdat' end in buffered data","No sample in track, cannot seek! Using time ","mdhd","parseConfig","max_pic_average_light_level","sample_count","length_size_of_trun_num","reserved_2","UUIDBoxes","split","mskC","base_offset_size","is_leading","cslg","altr","1890469LliSlu","alreadyRead","config","SPS","track_ID","Item storage with reference to other files: not supported","mp4a","sample_groups","temporalIdNested","quat_x","ChannelMapping","Visual","unpack","urn Box","vvi1SampleEntry","notice","free","aux_subtype","data_rate","parseDataAndRewind","16014DuHoZi","track_ids","object","grouping_type_parameter","vvc1SampleEntry","fragmentedTracks","uint16le","trafs","writeUint32","Processing buffer (fileStart: ","writeInt16Array","Not enough data in stream to parse the entire '","DecoderConfigDescriptor","maxFALL","whitePointChromaticity_x","UUIDs","reference_type","sample_number","cleanBuffers","movie_timescale","TRUN_FLAGS_CTS_OFFSET","language","getTime","stdp","appendChild","min_spatial_segmentation_idc","created","parseHex16","Seeking at time ","configOBUs","getWidth","Unknown leva assignement type","OutputChannelCount","1376869xNcyZE","clli","Log","traf","buildTrakSampleLists","default_length","cts","modified",") already appended, ignoring","enca","index_size","maxr","namespace","writeFloat64","depth","primaryGChromaticity_x","Unknown box type: '","uri ","constant_frame_rate","setFloat32","packetssent","general_level_idc","interleave_type","createSampleEntryCtor","resetTables","npck","stxt","data_format","pssh","creation_time","Mismatch in ","end","TFHD_FLAG_BASE_DATA_OFFSET","sub_track_id","component_bit_depth_minus_one","primaryBChromaticity_x","item_infos","num_bad_rows","chunk_run_index","num_tile_rows_minus_one","_byteLength","tfra","getUint32","udta","pmax","nmhd","Error in length field in stz2 box","_realloc","stts","stream","int16be","sample_rate","layer","getHeight","270aBNJbD","onMoovStart","resources","media_time","meta","initial_presentation_delay_present","float32le","info","num_ind_sub","createEntityToGroupCtor","maxBitrate","writeUint24","TFHD_FLAG_DUR_EMPTY","parseFooter","], [","rICC","payt","saveParsePosition","getEndFilePositionAfter","default_sample_flags","addTrack","elstBox","mvex","video","TrackReferenceTypeBox"," sample #","itemsDataSize","Concatenating buffer for box parsing (length: ","available_bitrate","step_count"," v=","clap","constant_IV","slid","dependency","ipco","position","length_size_of_sample_num","hdr_size","download","box","avcCBox","Subtitle","sampleListBuilt","boxEqualFields","buffer","compressorname"," full item size: ","41108NxIeVP","length","_sweep","mjpg","sample_size","u16stringle","metadataTracks","drep","whitePointChromaticity_y","_dynamicSize","Done processing buffer (fileStart: ","updateUsedBytes","XMLSubtitlein4Parser","dinf","parsingMdat","next_track_id: ","primaryGChromaticity_y","focal_length_x","MetadataSampleEntry","adjustUint32","charCodeAt","bad_columns","seek","av01SampleEntry","ind_subs","mjp2","seekPoints","grouping_type","ext","indent","lang","to_item_ID","getCodec","fiel","tracks","tile_align_size","Sample data size in memory: ","edts","duration","slice","Flushing remaining samples","vttc","_size","writeInt32","sample_offsets","first_dts","schi","co64","metadata","fragment_count","undefined","trunBox","mdatBox","parseSample","createFullBoxCtor","rate: ","volume","first_sample_flags","nextSeekPosition"," bytes), continuous ranges: ","sbgpBox","pow","layer_id","initial_presentation_delay_minus_one","block_pad_lsb","writeUint16","held_bits",""","readUint16","num_entities_in_group","OCR_ES_ID","iprp","print","principal_point_y","TrackGroupTypeBox","compositionToDTSShift","parseRemainingDescriptors","dfLa","avs3","Box of type '","stxtSampleEntry","memcpy","data_offset","vvc1","number_in_traf","shadowed_sample_numbers"," partial data (alreadyRead: ","Exporting on track #","printRanges","revokeObjectURL","fragment_description","discardMdatData","initializeSegmentation","principal_point_x","ptl_num_sub_profiles","type","bytessent","CONTAINER_BOXES","accurateStatisticsFlag","encv","vertresolution","stz2","btrt","default_constant_IV_size","sample_delta","sizePosition","compatible_brands","properties","byteLength","parseFromString","Ignoring empty buffer (fileStart: ","lfeon","getTrackSample","readFloat64","pos_x","Generating initialization segment","124680Tgidim","ArrayBuffer"," read size: ","mapInt16Array",'" box',"general_constraint_indicator","stream_read_2_bytes","Buffer must be defined and non empty","warn","insertBuffer","stscBox","nb_samples","writeFloat32","component_types","mvhd","parseOneDescriptor","tkhdBox","readUint32","SAMPLE_ENTRY_TYPE_HINT","frma","isProgressive","time","SAMPLE_ENTRY_TYPE_VISUAL","Expected 'infe' box, got ","_trimAlloc","computeSize","bit_depth_chroma_minus8","getCodecs","component_count","component_format","Position ","writeCString","PreSkip","writeInt8Array","CoupledCount","vertical_justification","colour_primaries","entry_index","sidxBox","samplerate","encs","group_id","nalu_type","nbSamples","Descriptor ","Removing buffer #","tags","samplesize","elst","Track #","samples_per_chunk","moovStartFound","languageString","moovVideoNum","hdlr","layer_size","updateSampleLists","float64be","stco","readInt32","bsmod","default_group_description_index","url ","tpay","event_duration","is_depended_on","floor","primaryRChromaticity_x","entity_groups","initSampleGroups","sample_duration","uint32be","ChannelMappingFamily","SingleItemTypeReferenceBoxLarge"," at position ","cleanApertureHeightD","TKHD_FLAG_IN_PREVIEW","default_crypt_byte_block","' box writing not yet implemented, keeping unparsed data in memory for later write","mapUint32Array","setAllUsedBytes","TRUN_FLAGS_SIZE","level_independently_decodable","maxCLL",", time ","onError","entity_ids","CoLL","MP4Box","high_bitdepth","infe","referenced_size","iref","Sending samples on track #","addSubBoxArrays","CUESHEET","Version","vpcC"," - Length: ","attribute_list","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","albc","movie_duration","ec-3","int16le","createSampleGroupCtor","isEos","version","int16","payl","stereo_scheme","item_protection_index","VORBIS_COMMENT","nextParsePosition","dec3","DecoderSpecificInfo","sgpd","block_size","scheme_version","frame_count","moof_number","component_index","checkBuffer","scheme_id_uri","earliest_presentation_time","fieldOrdering","getBuffer","readString","twelve_bit","mfhd","tfhd","hmhd","NAL_unit_type","data_offset_position","minimum_bitrate","dtrt","greatestDecodeToDisplayDelta","first_chunk","length_size_of_traf_num","findDescriptor","stsh","onSidx","trefBox","d08a4f1810f34a82b6c832d8aba183d3","rtpmap_string","focal_length_y","VisualSampleEntry","subsegments","sbgps","avc3","readCString","readInt8"," not fully parsed","content_type","addEntry","Appending new buffer (fileStart: ","bitrate","flags:","traks","auxC","hev1","createBoxCtor","configurationVersion","primaryRChromaticity_y","trak","prof","associations","Found Sample Groups of type ","sample_has_redundancy","parseHeader","segmentStream","10RPvUUQ","sbpm","sthd","avgBitrate","debug","profile_compatibility","alternate_group: ","readInt32Array","url Box","replace","log","itemId","a1lx","bad_pixels","createSingleSampleMoof","restoreParsePosition","uint16","writeType","default_IV_size","roll_distance","first_traf_merged","getAudioConfig","mapInt32Array","createUUIDBox","writeString","channel_associations","int8","lsel","a1op","pixel_size","matrixCoefficients","system_id"," box writing not yet implemented, keeping unparsed data in memory for later write","appendBuffer","videoTracks","save","brands","tsas","a5d40b30e81411ddba2f0800200c9a66","items","general_tier_flag","writeFooter","modification_time: ","mdia","readInt8Array","vttC","bitDepth","setSampleGroupProperties","offset_size","No buffer to start parsing from","minor_version","releaseItem","readInt64"," sample group length","pasp","hasMoov","dataView","enof","cleanApertureHeightN","description","chroma_subsampling_x","trexBox","intra_pred_used","padding_flag","traf_number","media_duration","hasIOD","getText","monochrome","readFloat32","Seeking to ","numMetadataBlocks","height: ","readInt16","getPrimaryItem","TKHD_FLAG_ENABLED","Per_Sample_IV_Size","operation_point_count","6d1d9b0542d544e680e2141daff757b2","seig","min_display_mastering_luminance","KID","transferFunction","degradation_priority","sent","opcolor","TRUN_FLAGS_DURATION","shift","isFragmentationInitialized","dmed","esd","major_brand","rate","vipr","maximum_bitrate","msrc","stsz","bufferSizeDB","mvif","createFragment","setInt32",'Not enough data in stream to parse the extended size of the "',"moovStartSent","vvcC","documentString","auxiliary_mime_types","subs","Not enough bytes in buffer","base_offset","kind","getPerformanceInfo","stsd","general_profile_compatibility","depends_on","sample_offset","seq_tier_0","extent_length","location","target_rate_share","writeFloat64Array","writeInt32Array","indexOf","num_output_samples","absolute_time","getFloat64","ContainerBox","subtitleTracks","uuid","dac3","BIG_ENDIAN","message_data","DIFF_BOXES_PROP_NAMES","uint32le","Item storage with construction_method : not supported","media_rate_fraction","TFHD_FLAG_SAMPLE_DUR","num_total_samples","bufferIndex","reserved","SAP_type","logBufferLevel","_dataView","' box","roll","aux_info_type"];return(Ia=function(){return e})()}wa[ba(885)],wa[ba(497)],wa[ba(536)],wa[ba(1449)],wa[ba(1543)],wa.BoxParser,wa[ba(997)],wa.Textin4Parser,wa.ISOFile,wa[ba(276)];const Aa=Ta;function Ea(e){return e[Ta(373)](((e,t)=>256*e+t))}function ka(e){const t=Ta,r=[101,103,119,99],n=e.length-28,i=e.slice(n,n+r[t(394)]);return r[t(383)](((e,t)=>e===i[t]))}function Ca(){const e=["byteLength","2xFfZll","parse","reverse","165583sffDrK","every","Module","instance","init error","stack overflow","slice","destroy","TransportDescrambler","2446328yggExb","object","memory","length","4013555tpDfdR","432048vhjErq","9YMjeyC","debugWarn","33xZyrpQ","then","catch","exports","Instance","instantiate","83310DscZdu","buffer","7hbtgPP","debuglog","map","not support wasm","transport","6396088irEppi","Memory","set","reduce","init","TAG_NAME","player","4443390pTiuqn"];return(Ca=function(){return e})()}function Ta(e,t){const r=Ca();return(Ta=function(e,t){return r[e-=354]})(e,t)}!function(e,t){const r=Ta,n=e();for(;;)try{if(463722===parseInt(r(382))/1*(parseInt(r(379))/2)+parseInt(r(363))/3+parseInt(r(391))/4+-parseInt(r(395))/5+-parseInt(r(354))/6*(parseInt(r(365))/7)+-parseInt(r(370))/8*(parseInt(r(355))/9)+parseInt(r(377))/10*(parseInt(r(357))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ca);Aa(389),Aa(369);function xa(){const e=["13736ZZGgTV","12OskUdW","3662092TQExnN","669185Mguped","2255952EezUVs","833232ecgHbR","constructor","length","587376DeZFdl","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","14DKPJCE","3529068fiigIJ","set","reduce","replace","toString","byteLength","substr"];return(xa=function(){return e})()}function Ba(){const e=Da;for(var t=arguments[e(308)],r=new Array(t),n=0;n{const n=e,s=new i((0|t.byteLength)+(0|r[n(299)]));return s[n(313)](t,0),s[n(313)](r,0|t[n(299)]),s}),new i)}function Da(e,t){const r=xa();return(Da=function(e,t){return r[e-=297]})(e,t)}!function(e,t){const r=Da,n=e();for(;;)try{if(682764===parseInt(r(306))/1+-parseInt(r(301))/2*(-parseInt(r(302))/3)+parseInt(r(303))/4+-parseInt(r(304))/5+-parseInt(r(312))/6*(parseInt(r(311))/7)+parseInt(r(305))/8+-parseInt(r(309))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(xa),function(e,t){const r=ja,n=e();for(;;)try{if(266136===-parseInt(r(124))/1*(-parseInt(r(131))/2)+parseInt(r(147))/3+parseInt(r(152))/4*(parseInt(r(142))/5)+-parseInt(r(145))/6+parseInt(r(125))/7*(parseInt(r(144))/8)+parseInt(r(121))/9*(parseInt(r(143))/10)+-parseInt(r(126))/11*(parseInt(r(133))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ra);const Ma=16,Pa=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Ua=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Fa(e){const t=ja,r=[];for(let n=0,i=e[t(127)];n{const t=ja;return 1===(e=e.toString(16))[t(127)]?"0"+e:e}))[t(148)]("")}function Oa(e){const t=ja,r=[];for(let n=0,i=e[t(127)];n>>6),r.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)r.push(224|i>>>12),r[t(129)](128|i>>>6&63),r.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw r.push(i),new Error(t(151));n++,r.push(240|i>>>18&28),r[t(129)](128|i>>>12&63),r[t(129)](128|i>>>6&63),r[t(129)](128|63&i)}}return r}function za(e){const t=ja,r=[];for(let n=0,i=e[t(127)];n=240&&e[n]<=247?(r[t(129)](String[t(132)](((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r[t(129)](String[t(132)](((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r[t(129)](String[t(132)](((31&e[n])<<6)+(63&e[n+1]))),n++):r.push(String[t(132)](e[n]));return r[t(148)]("")}function Na(e,t){const r=31&t;return e<>>32-r}function Ha(e){return(255&Pa[e>>>24&255])<<24|(255&Pa[e>>>16&255])<<16|(255&Pa[e>>>8&255])<<8|255&Pa[255&e]}function Va(e){return e^Na(e,2)^Na(e,10)^Na(e,18)^Na(e,24)}function ja(e,t){const r=Ra();return(ja=function(e,t){return r[e-=121]})(e,t)}function Wa(e){return e^Na(e,13)^Na(e,23)}function Ga(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=Va(Ha(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=Va(Ha(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=Va(Ha(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=Va(Ha(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function $a(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^Ua[r+0],t[r+0]=n[0]^=Wa(Ha(e)),e=n[2]^n[3]^n[0]^Ua[r+1],t[r+1]=n[1]^=Wa(Ha(e)),e=n[3]^n[0]^n[1]^Ua[r+2],t[r+2]=n[2]^=Wa(Ha(e)),e=n[0]^n[1]^n[2]^Ua[r+3],t[r+3]=n[3]^=Wa(Ha(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function qa(e,t,r){const n=ja;let{padding:i=n(135),mode:s,iv:a=[],output:o=n(146)}=arguments[n(127)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===n(123)&&(typeof a===n(146)&&(a=Fa(a)),16!==a[n(127)]))throw new Error(n(140));if(typeof t===n(146)&&(t=Fa(t)),16!==t[n(127)])throw new Error(n(122));if(e=typeof e===n(146)?0!==r?Oa(e):Fa(e):[...e],(i===n(149)||"pkcs#7"===i)&&0!==r){const t=Ma-e[n(127)]%Ma;for(let r=0;r=Ma;){const t=e.slice(h,h+16),i=new Array(16);if("cbc"===s)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(150)];let a=new Uint8Array(e[r(141)](0,5)),o=5;for(;os){const t=new Uint8Array(a.length+e[r(127)]-o);t[r(136)](a,0),t[r(136)](e[r(141)](o),a[r(127)]),a=t;break}let l=e[o+4],d=!1,h=2;if(n?(i&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(134)](l)):(l&=31,d=1===l||5===l),d){const n=qa(e[r(141)](o+4+h,o+4+u),t,0,{padding:r(138),output:r(137)});let i=n[n[r(127)]-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n[r(127)]-t]!==i){e=!1;break}e&&n[r(128)](n.length-i,i)}const s=new Uint8Array(h);s[r(136)](e[r(141)](o+4,o+4+h),0);const c=Ct(Ba(s,new Uint8Array(n))),l=new Uint8Array(a[r(127)]+c.length);l[r(136)](a,0),l.set(c,a[r(127)]),a=l}else{const t=e[r(141)](o+4,o+4+u),n=new Uint8Array(a.length+4+t.length);n.set(a,0),n[r(136)](c,a[r(127)]),n.set(t,a[r(127)]+4),a=n}o=o+4+u}return a}const Xa=Za;function Ka(){const e=["172641CzPrKh","push","17024967QiBQNE","897304SGVWMU","168MjjyNs","2sMgbsi","7777580ugRKHS","4390032dbLTuJ","1208949BIWCPl","apply","once","off","slice","length","emit","9206904byNNkm"];return(Ka=function(){return e})()}function Za(e,t){const r=Ka();return(Za=function(e,t){return r[e-=299]})(e,t)}!function(e,t){const r=Za,n=e();for(;;)try{if(792043===parseInt(r(299))/1*(parseInt(r(313))/2)+parseInt(r(302))/3+parseInt(r(301))/4+-parseInt(r(300))/5+parseInt(r(314))/6*(parseInt(r(310))/7)+parseInt(r(309))/8+-parseInt(r(312))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ka);class Qa{on(e,t,r){const n=Za,i=this.e||(this.e={});return(i[e]||(i[e]=[]))[n(311)]({fn:t,ctx:r}),this}[Xa(304)](e,t,r){const n=this;function i(){const s=Za;n.off(e,i);for(var a=arguments[s(307)],o=new Array(a),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,n=i[r(307)];e=2&&!this.isDestroyed;)if(255==this[r(384)][this.parsedOffset]){if(!(!1&this[r(384)][this[r(382)]+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this[r(391)]=ro[r(373)],this[r(389)]=this[r(382)],this.parsedOffset+=2,e=!0;break}this[r(382)]++}else this[r(382)]++;if(e)continue;break}if(this[r(391)]==ro[r(373)]){let e=!1;for(;this.tempBuffer.length-this[r(382)]>=2&&!this.isDestroyed;)if(255==this[r(384)][this.parsedOffset]){if(this.tempBuffer[this[r(382)]+1]==this[r(396)]){this.state=ro.findSecondStartCode,this.secondStartCodeOffset=this[r(382)],this[r(382)]+=2,e=!0;break}this[r(382)]++}else this[r(382)]++;if(e)continue;break}if(this[r(391)]==ro[r(386)]){let e=this[r(384)][r(392)](this[r(389)],this[r(383)]);this[r(387)](r(393),e,t),this[r(384)]=this[r(384)][r(392)](this[r(383)]),this[r(389)]=0,this[r(382)]=2,this[r(391)]=ro.findFirstStartCode}}}}function io(){const e=["findFirstStartCode","20742XIUEkv","length","set","reset","dispatch","2541792lRVYuv","546198tPbUPh","125eZtTHi","parsedOffset","secondStartCodeOffset","tempBuffer","player","findSecondStartCode","emit","isDestroyed","fisrtStartCodeOffset","destroy","state","slice","data","5709402UStzfC","off","versionLayer","413xNYJlk","14944oTwAHC","1405200xHHuic","162294eHoJHc","16YxfZJB"];return(io=function(){return e})()}function so(e,t,r){const n=oo;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e.byteLength;let a=5;for(;as)break;let c=e[a+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(356)](c)):(c&=31,u=1===c||5===c),u){const i=so(e[n(359)](a+4,a+4+o),t,r);e[n(362)](i,a+4)}a=a+4+o}return e}function uo(){const e=["46JXOphA","includes","2531888xuFrlm","2224905OQdzrr","slice","18021kmDbWi","1749690UrWNZD","set","6Efmalx","93510QozvnE","2646091ysSvpa","702xzTHMe","6649432yUifZx","length"];return(uo=function(){return e})()}function lo(e,t){var r=ho();return(lo=function(e,t){return r[e-=373]})(e,t)}function ho(){var e=["reduce","6RGuCyM","203382DwzMiF","6519420fiqdNd","295qcajgw","length","106388DTCoIs","979QRCxQc","1378118AZUfGt","32nUzVGs","9152532mWcHMG","filter","byteLength","1083318PCRJXJ","53230Rdiuww"];return(ho=function(){return e})()}function fo(){for(var e=lo,t=arguments.length,r=new Array(t),n=0;nt+r[e(374)]),0));let s=0;return r.forEach((t=>{var r=e;i.set(t,s),s+=t[r(374)]})),i}!function(e,t){const r=oo,n=e();for(;;)try{if(449420===-parseInt(r(360))/1*(-parseInt(r(355))/2)+parseInt(r(358))/3+-parseInt(r(357))/4+parseInt(r(361))/5*(-parseInt(r(363))/6)+parseInt(r(365))/7+-parseInt(r(367))/8+parseInt(r(366))/9*(parseInt(r(364))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(uo),function(e,t){for(var r=lo,n=e();;)try{if(832268===parseInt(r(375))/1+-parseInt(r(379))/2*(-parseInt(r(378))/3)+parseInt(r(383))/4*(-parseInt(r(381))/5)+parseInt(r(387))/6+parseInt(r(385))/7*(parseInt(r(386))/8)+-parseInt(r(380))/9+parseInt(r(376))/10*(-parseInt(r(384))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ho);const po=vo;function mo(){const e=["970488iMdOre","24ZMfroI","22634kqodBf","1621494qzbWrs","782718QcGXlt","893230YGNlgr","removeEventListener","map","master","forEach","destroy","proxy","916240NCuTqJ","1014612cyWWhz","push","destroys"];return(mo=function(){return e})()}function vo(e,t){const r=mo();return(vo=function(e,t){return r[e-=283]})(e,t)}!function(e,t){const r=vo,n=e();for(;;)try{if(164692===parseInt(r(298))/1*(parseInt(r(283))/2)+-parseInt(r(297))/3+parseInt(r(294))/4+parseInt(r(286))/5+parseInt(r(285))/6+-parseInt(r(284))/7+-parseInt(r(293))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mo);class yo{constructor(e){const t=vo;this[t(296)]=[],this[t(292)]=this[t(292)].bind(this),this[t(289)]=e}[po(292)](e,t,r){const n=po;let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t[n(288)]((t=>this[n(292)](e,t,r,i)));e.addEventListener(t,r,i);const s=()=>{const s=n;Ot(e.removeEventListener)&&e[s(287)](t,r,i)};return this[n(296)][n(295)](s),s}[po(291)](){const e=po;this[e(289)].debugLog("Events","destroy"),this[e(296)][e(290)]((e=>e())),this[e(296)]=[]}}function go(e,t){const r=bo();return(go=function(e,t){return r[e-=339]})(e,t)}const _o=go;function bo(){const e=["hvcC","charCodeAt","timescale","HDLR_AUDIO","hasOwnProperty","byteLength","hdlr","slice","6659575NeJNav","types","tfdt","trex","8ZAbUrl","isLeading","1281304IneMpm","cts","isDependedOn","65LEWeIN","mdat","STSC","presentHeight","123290FnAJzX","videoType","ftyp","vmhd","mvhd","presentWidth","moov","FTYP","STTS","box","concat","stsc","1338292kjjkwQ","isNonSync","avc1","size","smhd","18174XZjlfE","DREF","HDLR_VIDEO","27gfbhZe","mdia","mp4a","length","flags","445650yeSiwU","sequenceNumber","trak","moof","hvc1","set","config",".mp3","tfhd","4719dLHzgo","mdhd","minf","audio","3GMmSBe","mvex","STSD_PREFIX","channelCount","hasRedundancy","dinf","14QDvBBi","init","mfhd","codecHeight","STSZ","avc","2532yqbDPa","avcc","STCO","constants","SMHD","stsd","duration","codecWidth","trun","mp3","sdtp","tkhd","esds","traf","audioSampleRate","type"];return(bo=function(){return e})()}!function(e,t){const r=go,n=e();for(;;)try{if(268459===parseInt(r(352))/1*(-parseInt(r(361))/2)+parseInt(r(399))/3*(-parseInt(r(373))/4)+parseInt(r(357))/5*(parseInt(r(378))/6)+-parseInt(r(405))/7*(-parseInt(r(354))/8)+parseInt(r(381))/9*(parseInt(r(386))/10)+parseInt(r(395))/11*(parseInt(r(411))/12)+parseInt(r(348))/13)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bo);class wo{static[_o(406)](){const e=_o;wo[e(349)]={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in wo.types)wo[e(349)][e(344)](t)&&(wo[e(349)][t]=[t[e(341)](0),t.charCodeAt(1),t[e(341)](2),t[e(341)](3)]);let t=wo[e(414)]={};t[e(368)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t[e(401)]=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(369)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(359)]=t[e(413)]=t[e(369)],t[e(409)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(380)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(343)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t[e(379)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t[e(415)]=new Uint8Array([0,0,0,0,0,0,0,0]),t.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[_o(370)](e){const t=_o;let r=8,n=null,i=Array.prototype[t(347)].call(arguments,1),s=i[t(384)];for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n.set(e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){const t=_o;return wo[t(370)](wo.types.trak,wo[t(422)](e),wo.mdia(e))}static[_o(422)](e){const t=_o;let r=e.id,n=e[t(417)],i=e[t(366)],s=e[t(360)];return wo[t(370)](wo[t(349)][t(422)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static mdia(e){const t=_o;return wo.box(wo[t(349)][t(382)],wo[t(396)](e),wo[t(346)](e),wo[t(397)](e))}static mdhd(e){const t=_o;let r=e.timescale,n=e[t(417)];return wo[t(370)](wo[t(349)][t(396)],new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static[_o(346)](e){const t=_o;let r=null;return r=e[t(339)]===t(398)?wo[t(414)][t(343)]:wo[t(414)].HDLR_VIDEO,wo[t(370)](wo[t(349)].hdlr,r)}static[_o(397)](e){const t=_o;let r=null;return r=e[t(339)]===t(398)?wo[t(370)](wo[t(349)][t(377)],wo[t(414)][t(415)]):wo.box(wo[t(349)][t(364)],wo[t(414)].VMHD),wo[t(370)](wo.types[t(397)],r,wo[t(404)](),wo.stbl(e))}static[_o(404)](){const e=_o;return wo[e(370)](wo[e(349)].dinf,wo[e(370)](wo[e(349)].dref,wo[e(414)].DREF))}static stbl(e){const t=_o;return wo.box(wo.types.stbl,wo.stsd(e),wo[t(370)](wo[t(349)].stts,wo.constants[t(369)]),wo[t(370)](wo.types[t(372)],wo[t(414)][t(359)]),wo[t(370)](wo.types.stsz,wo[t(414)][t(409)]),wo[t(370)](wo.types.stco,wo.constants[t(413)]))}static[_o(416)](e){const t=_o;return e[t(339)]===t(398)?e.audioType===t(420)?wo[t(370)](wo[t(349)][t(416)],wo.constants[t(401)],wo[t(420)](e)):wo[t(370)](wo[t(349)][t(416)],wo.constants[t(401)],wo[t(383)](e)):e[t(362)]===t(410)?wo.box(wo[t(349)][t(416)],wo.constants.STSD_PREFIX,wo.avc1(e)):wo.box(wo[t(349)][t(416)],wo[t(414)][t(401)],wo.hvc1(e))}static[_o(420)](e){const t=_o;let r=e[t(402)],n=e[t(425)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return wo[t(370)](wo[t(349)][t(393)],i)}static[_o(383)](e){const t=_o;let r=e[t(402)],n=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return wo[t(370)](wo[t(349)][t(383)],i,wo[t(423)](e))}static esds(e){const t=_o;let r=e[t(392)]||[],n=r[t(384)],i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n])[t(371)](r)[t(371)]([6,1,2]));return wo[t(370)](wo[t(349)].esds,i)}static avc1(e){const t=_o;let r=e.avcc;const n=e[t(418)],i=e.codecHeight;let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return wo.box(wo[t(349)][t(375)],s,wo[t(370)](wo[t(349)].avcC,r))}static[_o(390)](e){const t=_o;let r=e[t(412)];const n=e.codecWidth,i=e[t(408)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return wo.box(wo[t(349)][t(390)],s,wo[t(370)](wo[t(349)][t(340)],r))}static[_o(400)](e){const t=_o;return wo[t(370)](wo[t(349)].mvex,wo[t(351)](e))}static[_o(351)](e){const t=_o;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return wo.box(wo.types[t(351)],n)}static[_o(389)](e,t){const r=_o;return wo[r(370)](wo.types.moof,wo[r(407)](e[r(387)]),wo[r(424)](e,t))}static[_o(407)](e){const t=_o;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return wo[t(370)](wo.types[t(407)],r)}static[_o(424)](e,t){const r=_o;let n=e.id,i=wo.box(wo[r(349)][r(394)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=wo[r(370)](wo[r(349)][r(350)],new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=wo[r(421)](e),o=wo[r(419)](e,a[r(345)]+16+16+8+16+8+8);return wo[r(370)](wo[r(349)].traf,i,s,o,a)}static[_o(421)](e){const t=_o;let r=new Uint8Array(5),n=e[t(385)];return r[4]=n[t(353)]<<6|n.dependsOn<<4|n[t(356)]<<2|n[t(403)],wo[t(370)](wo[t(349)][t(421)],r)}static trun(e,t){const r=_o;let n=new Uint8Array(28);t+=36,n[r(391)]([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e[r(417)],s=e[r(376)],a=e[r(385)],o=e[r(355)];return n[r(391)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a[r(353)]<<2|a.dependsOn,a[r(356)]<<6|a.hasRedundancy<<4|a[r(374)],0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),wo.box(wo[r(349)][r(419)],n)}static[_o(358)](e){const t=_o;return wo.box(wo[t(349)].mdat,e)}}wo[_o(406)]();var So=Io;function Io(e,t){var r=Ao();return(Io=function(e,t){return r[e-=435]})(e,t)}function Ao(){var e=["exports","10222900yEtlvQ","98749vLYrQg","defineProperty","default","30KaLywn","3cpCqDB","createCommonjsModule","876274cYYEAv","6892984kMCfMe","1EcqQqb","2913076nbrLzz","__esModule","5717790qcWcKC","5144935MGCaEo"];return(Ao=function(){return e})()}!function(e,t){for(var r=Io,n=e();;)try{if(588023===parseInt(r(442))/1*(-parseInt(r(440))/2)+parseInt(r(438))/3*(-parseInt(r(443))/4)+parseInt(r(446))/5+parseInt(r(437))/6*(-parseInt(r(449))/7)+-parseInt(r(441))/8+parseInt(r(445))/9+parseInt(r(448))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ao),Qe(tt[So(439)]((function(e){var t=So;e.exports=function(e,t,r){return t in e?Object[Io(435)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e[t(447)][t(444)]=!0,e.exports[t(436)]=e[t(447)]}))),function(e,t){const r=Mo,n=e();for(;;)try{if(531109===parseInt(r(151))/1+parseInt(r(144))/2*(parseInt(r(150))/3)+parseInt(r(154))/4*(-parseInt(r(141))/5)+parseInt(r(138))/6+-parseInt(r(146))/7*(parseInt(r(155))/8)+parseInt(r(145))/9+parseInt(r(139))/10*(-parseInt(r(140))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Po);const Eo=[44100,48e3,32e3,0],ko=[22050,24e3,16e3,0],Co=[11025,12e3,8e3,0],To=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],xo=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Bo=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Do(e){const t=Mo;if(e.length<4)return void console[t(148)](t(143));let r=new Uint8Array(e.buffer),n=null;if(255!==r[0])return void console.error(t(149));let i=r[1]>>>3&3,s=(6&r[1])>>1,a=(240&r[2])>>>4,o=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0,d=t(152);switch(i){case 0:u=Co[o];break;case 2:u=ko[o];break;case 3:u=Eo[o]}switch(s){case 1:a=e[s]&&t=6?(i=5,r=new Array(4),o=s-3):(i=2,r=new Array(2),o=s):-1!==c[t(155)](t(136))?(i=2,r=new Array(2),o=s):(i=5,o=s,r=new Array(4),s>=6?o=s-3:1===a&&(i=2,r=new Array(2),o=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&a)<<3,5===i&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),this.config=r,this[t(128)]=Ho[s],this[t(139)]=s,this[t(127)]=a,this[t(122)]=i,this[t(143)]=n,this[t(110)]=t(167)+i,this[t(138)]=t(167)+n}}function Wo(e,t){const r=$o();return(Wo=function(e,t){return r[e-=497]})(e,t)}const Go=Wo;function $o(){const e=["length","359245HYOlZm","bitsAvailable","30eevoRX","skipLZ","readUShort","496020JwSCMN","4014VEwDbU","bitLength","7VFHOEm","readEG","35133beIcVJ","readUEG","200ygXtJf","readBoolean","76gdkGmV","getBits","readBits","1046386WtFddY","data","readUInt","2164092tGzGeq","skipBits","48746toYcej","byteLength","index","10doIYCs"];return($o=function(){return e})()}!function(e,t){const r=Wo,n=e();for(;;)try{if(181882===parseInt(r(506))/1*(-parseInt(r(520))/2)+-parseInt(r(508))/3*(parseInt(r(512))/4)+parseInt(r(498))/5*(parseInt(r(500))/6)+-parseInt(r(503))/7+-parseInt(r(510))/8*(-parseInt(r(504))/9)+parseInt(r(523))/10*(parseInt(r(515))/11)+parseInt(r(518))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($o);class qo{constructor(e){const t=Wo;this[t(516)]=e,this[t(522)]=0,this[t(505)]=8*e[t(521)]}get bitsAvailable(){return this[Wo(505)]-this.index}[Go(519)](e){if(this[Go(499)]1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this[t(522)],r)}[Go(513)](e,t){const r=Go;let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this[r(499)]>>i,a=8-i;if(a>=e)return n&&(this[r(522)]+=e),s>>a-e;{n&&(this[r(522)]+=a);const i=e-a;return s<>>1:-1*(e>>>1)}[Go(511)](){return 1===this.readBits(1)}readUByte(){const e=Go;let t=arguments[e(497)]>0&&void 0!==arguments[0]?arguments[0]:1;return this[e(514)](8*t)}[Go(502)](){return this[Go(514)](16)}[Go(517)](){return this.readBits(32)}}function Yo(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=rc,n=e();;)try{if(178348===parseInt(r(232))/1*(parseInt(r(222))/2)+parseInt(r(227))/3+parseInt(r(237))/4+-parseInt(r(216))/5+-parseInt(r(229))/6+parseInt(r(225))/7*(-parseInt(r(236))/8)+-parseInt(r(223))/9*(parseInt(r(231))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qo);const Jo=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Xo=new Array(2746333894,1453994832,1736282519,2993693404),Ko=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Zo(e,t,r,n,i){var s=rc,a=i;a=t+i>e[s(226)]&&n+i<=r[s(226)]?e[s(226)]-t:n+i>r[s(226)]&&t+i<=e[s(226)]?r[s(226)]-n:t+i<=e.length&&n+i<=r[s(226)]?i:r[s(226)]>24&255,e>>16&255,e>>8&255,255&e)}function tc(e,t){var r=rc;return t+3>>19)^(n<<23|n>>>9)}function sc(e,t){var r=new Array(36);r[0]=tc(t,0),r[1]=tc(t,4),r[2]=tc(t,8),r[3]=tc(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^ac(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=rc,r=new Array(4*e[t(226)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function oc(e,t,r){var n=rc;if(null==e||null==e||e.length%16!=0)return console.log(n(233)),null;if(null==r||null==r||r[n(226)]<=0)return console[n(219)](n(230)),null;if(null==t||null==t||t[n(226)]%16!=0)return console.log("iv is error!"),null;for(var i=nc(e),s=Math[n(224)](r.length/16),a=new Array(r.length),o=t[n(218)](),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const a=e[n(217)];let o=5;for(;oa)break;let u=e[o+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(228)](u)):(u&=31,l=1===u||5===u),l){const i=oc(t,r,e[n(218)](o+4+d,o+4+c));e[n(234)](i,o+4+d)}o=o+4+c}return e}const uc=dc;function lc(){const e=["cmd","hasVideo","removeEventListener","stsd","initVideo","slices","handleVideoH264Nalu","dropping","getVideoBufferLength","sourceOpen","_initAudioSourceBuffer","dts","calcIframeIntervalTimestamp","writableStream pipeTo() and e is","units","playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ","sendWebsocketMessage",", streamFps is ","isM7sCrypto cryptoKey.length is ",",\n and emit change event","isPlaybackCacheBeforeDecodeForFpsRender","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","pat_","getDelay() and preDelayTimestamp is ","networkDelay","mediaSourceDecoderConfigurationError","debug","audioTrackId","cacheAudioTrack","open","kEAC3","pushBuffer","lastBuf"," isIFrame is ","error","_clearAudioSourceBufferCheckTimeout","calcNetworkDelay now dts:","detectVideoMetadataChange","smpte2038_pids"," and return","state","frameRate","1261GTFegg","isWidthOrHeightChanged","dropBuffer$2","data",", height: ","onopen","length","types","extractNALu","parsePES: packet_start_code_prefix should be 1 but with value ","flush","mp4"," and prev dts is ","AC3: Sampling Frequency changed from ","slice","original_object_type","setCodecAudio","has_audio_","locked","getDelay","videoType","_decodeVideo",",\n new width is ","close","handleVideoH265Nalu","decodeVideo, decoder is destroyed and return","decoder","streamEnd",'" is string so return',"avcc","_decodeAudioConfigurationRecord","checkFirstIFrame","value","emitError","parsePAT: table_id ","map","low_frequency_effects_channel_on","updatePlaybackIsPause","playbackCacheBeforeDecodeForFpsRender, bufferListLength is ","11WQDZAo","decodeVideo has not init , isIframe is ","Generated first AVCDecoderConfigurationRecord for mimeType: ","streamVideoType","VideoDecoder","getHandle","24ddbUOK","h265","worker fmp4Demuxer","pendingAudioSegments",'fetchNext().then() and value "',"samplingRate","read","_doDecodeAudio","now"," and isVideoSqeHeader is ","sampleRate","draw, decoder is destroyed and return"," , payload is ","decodeAudio","stream_type","expected: ","duration","decode data type is ","_decodeConfigurationRecord error"," and next dropBuffer",",nalu type is ","_decodeEnhancedH265Video","isPlayVod","prevAudioDts","cancel","fetchStream, WebsocketStream socket close abnormally and code is ","fetch","pushBuffer audio ts is ","prevTs","streamType","program_pmt_pid","9772cNUaFk","stencil","match","detectAudioMetadataChange","onError","isFirstDispatch and tsPacketSize = ","decodeNext","fetch().catch() and abortController.signal.aborted is true so return","decodeVideo is max diff , ts is ","handleNALu","kPESPrivateData","send","decodeVideo and payload is too small , payload length is ","timescale","Opus: Channel count changed from ","mediaSource is end","decodeAudio\n local dts is < 0 , ts is ","body","pes_slice_queues_"," and decoder.delay is ",'writableStream write() and value is "',"parseVideo265Header","mseDecoder.sourceBuffer.appendBuffer()","kLOASAAC","codec_mimetype","endOfStream() has pending eos","loop() common dumex delay is -1 ,data.ts is","isRecording","tsPacketSize"," and bufferlist is ","decodeVideo\n local dts is < 0 , ts is "," _opt.sampleRate is ","TAG_NAME"," and payload size is ","aacSequenceHeader","stream_id","initAudio","firstRenderTime is ","audioCode","decodeAudio and has already initialized and payload is aac codec packet so drop this frame"," and emit replay","is_sync","videoInfo","isM7sCrypto","adts_aac"," to ","ac-3","streamAbps"," and prevTs is ","cts","_initSourceBuffer and mseDecoder.isStateOpen is ","isPlaybackOnlyDecodeIFrame","ID3 ","originalCodec","dispatchVideoInitSegment","isEmitInfo","checkStreamEnd","stop","isfms","extractH265SEI","_onMediaSourceSourceOpen","parseSCTE35","ts is ","isKeyframe","firstStartCodeOffset","payload_unit_start_indicator","isDecodeFirstIIframe","demuxFlv() isVideoSequenceHeader is true and isHevc is ","isSm4Crypto","audioSampleRateIndex","3322730SkGxFN","hasInitVideoCodec","errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is "," and prevPayloadBufferSize is ",",\n new width is ","dispatchAudioVideoMediaSegment","_hasPendingRemoveRanges","_bindMediaSourceEvents","videoCode","close() and writableStream.close() error","current_pmt_pid_","pid_stream_type"," and\n payloadBufferSize is ","fps","protocol","kSliceIDR","isInitSegmentDispatched","recordType","stbl","audioCodec","audioSequenceNumber","demuxTs","AAC: Detected pts overlapped, ",", diff is ","parsePMT: table_id ","videoBuffer","mediaSourceH265NotSupport","onclose","isXorCrypto","kMPEG2Audio","FT_KEY","fetchStream, WebsocketStream on error and isDestroyed is true, so return","kSliceIDR_W_RADL","seqHeader","offset","validatedFailed, please contact the author to get the correct license","prevTimestamp","timeInit","mseDecoder.audioSourceBuffer.appendBuffer()","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","createFile","prevPayloadBufferSize","offscreenCanvasGL","string","parseSynchronousKLVMetadataPayload","needInitAudio","workerEnd","descriptor","cryptoIV","sync_offset","parseAC3Payload","isTs","sarDen","_doRemoveRanges","mediaSourceAppendBufferError","keyFrame","audioSourceNoDataCheckTimeout","appendBuffer() player is destroyed","isPlayback","isStateClosed","fetch().catch() and e.name is AbortError so return","DataStream","useOffscreen","pipeTo","pushLatestDelay","9PqxYkW","decodeVideo first frame is not iFrame","undefined","kSliceVPS","setExtractionOptions","pcr_pid","dispatchVideoMediaSegment","parseSMPTE2038MetadataPayload","addSourceBuffer","handleVideoNalu"," ms","setCodec","_doRemoveRanges() audioSourceBuffer error","websocket user aborted","readNextAACFrame","kMetadata","sequenceNumber","mseAutoCleanupMaxBackwardDuration","isIFrame","nearest_pts","getSourceBufferUpdating","dispatch","writableStream close() and isPlayVod is true so return","opus","loas_previous_frame","isStateEnded","_decodeAudio","isStateOpen",", new height is ","ALAW","streamDts","from","playVod","discontinuity_indicator","mseWorkerAddSourceBufferError","sendWsMessage","has not init video codec","kSliceSEI","LOG_NAME"," is not corresponded to PAT!","fetch response status is ","dispatchAudioInitSegment","fetchStream, WebsocketStream socket open","useMSE","streamVideoFps","MP3: AudioObjectType changed from ","isAAC","_initSourceBuffer","fetchNext().then() and done is true","sourceBuffer",", start dts is ","mseAutoCleanupSourceBuffer"," and mseCorrectTimeDuration is ","cacheTrack","aacADTSHeader","readUEG","mediaSourceAddSourceBufferError"," and delay is ","debugLog","streamEndInner","codec_size"," and new delay is ",", bufferListLength is ","mp4Box","close() and audioDecoder.clear error","prevDts","presentWidth","onOffscreenCanvasWebglContextRestored","loop() is dropping = false, is iFrame","sourceended","codedHeight","decodeAudio first frame is not iFrame","then","presentHeight","writableStream write() and abortController.signal.aborted is true so return","\n and replay","height","updateend","writableStream write() and requestAbort is true so return","codecWidth","Video: Present resolution width changed from ","readNextNaluPayload",", syncOffset = ","kH265","buffered","closed","aac_last_incomplete_data_","hasPendingEos","forEach","video_metadata_changed_","catch","m7sCryptoAudio"," less than bufferStartDts is ","websocket","onReady","min","clearBuffer,bufferList length is ",", old height is ","videoSEI","some","loop() isPushDropping is true and bufferList length is ","getAudioBufferLength","codecHeight","clearBuffer","mediaSourceBufferError","Webcodecs Video Decoder initSize","isAudioInitInfo","yuvData, transferToImageBitmap error is","doDecode",",\n and resetAllDelay","concat","endOfStream","startStreamRateAndStatsInterval","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","playbackStreamVideoFps","video_init_segment_dispatched_",", not 0x47","fetchStatus","VideoDecoder error: ","fps_den","removeSourceBuffer() audioSourceBuffer error","common_pids",", isVideoSequenceHeader is true","readBits","audio","webglcontextlost","streamRate","mseSourceBufferError","streamFps","listenMp4Box","type","parse","sampling_frequency","sarNum","timed_id3_pids","mseDecodeAudio","push","$video"," ,streamVideoFps is ","hvcC","PACKET_TYPE_FRAMESX","mediaSourceAudioNoDataTimeout","fetchNext().then() and requestAbort is true so return","appendBuffer",", set dropping is true","current_program_","debugLevel","cryptoKey","kAC3","Not Supported Opus channel count.","assign","codedWidth","mediaSourceAppendBufferFull","program_pmt_map_",", dts is ","328566JnSGxS","appendAudioBuffer() player is destroyed","playType","calcNetworkDelay","handleAddNaluStartCode","close() and videoDecoder.clear error","isFlv","level_string","VideoEncoder","minf","parseADTSAACPayload","dispatch naluArray length is 0","videoCodec"," and isIframe is ","audioSourceBufferCheckTimeout","networkDelayTimeout","fetchError","mdat","BIG_ENDIAN","sample_rate","code is ","getUint32","sm4CryptoKey","pushBuffer,\n preTimestamp is ","Opus","fetchNext().catch() and e is ","timeInit set false , cacheTrack = {} now dts is ","has_video_","audioNalu","281295erVpiY","abort success","asynchronous_klv_pids","video","visibility","socket is not open","abort","mediaSourceAudioG711NotSupport","removeUsedSamples","MP3: SamplingFrequencyIndex changed from ","createImageBitmap","playbackCacheLoop",", and ts is ","ms and return ","_remainingPacketData","isPlayUseMSEAndDecoderInWorker","HEAPU8","events","AAC: Unknown pts","HEAPU32","parseSPS","profile_string","parsePESPrivateDataPayload","network_pid","pes_private_data_pids","duration_","message","calcNetworkDelay, dts is ","suffixSei"," or cryptoIV.length is ","getStreamBufferLength","videoBufferDelay","Audio: Audio Codecs changed from ","aac","isDestroyed","stringify","loop demux diff time is ","entries","random_access_indicator"," ,delay is ","playbackConfig","useWCS","prefixSei","hvcc","dispatchPESPrivateDataDescriptor","videoPayload","readyState","isSm4CryptoH265V2","decodeVideo and payload is video sequence header so drop this frame","expected_length","localDts","isDropSameTimestampGop","pcmData, decoder is destroyed and return","options","onSamples() trackId error","mpeg4","onmessage:","worker wcsDecoder","audio_object_type","decodeVideo() and decoder is destroyed","handleVideoFrames","audioMimeType","isRecordTypeFlv","isFmp4","offscreenCanvasCtx","pendingUnits","cryptoPayloadAudio","pushBuffer video ts is ","_initAudioSourceBuffer and mseDecoder.isStateOpen is ","audio_metadata_","playback and playbackIsCacheBeforeDecodeForFpsRender is true",'socket on message is string "',"loop() dropBuffer is dropping and isIFrame ","handle","worker mpeg4Demuxer","30CwfwGJ",";codecs=","Video: Coded Resolution changed from ","demuxFmp4","audioSampleRate","SMPTE 2038 Metadata: pid=","playAudio","tempStream","remove"," > ","secondStartCodeOffset","sourceClose","endOfStream()",",\n firstRenderTime is ","pmt_","debugWarn","request abort and run res.body.cancel()","reduce","decode","dispatchAudioMediaSegment","parsePAT","profile","AAC: Channel configuration changed from ","pid","Generated first AudioSpecificConfig for mimeType: ","playbackForwardMaxRateDecodeIFrame"," ,\n and now ts is ","pps","isPlayUseMSE","startPlaybackCacheLoop","updating","fetchStream, url is ","kSliceNonIDR","sps","fps_num","mseCorrectAudioTimeDuration","loop() do not decode and delay is ","parsePPS"," less than (or equal) preTs is ",",and old bufferList length is ","handleVideoH265NaluList list size is ","video_metadata_","_resetInIt"," and maxDiff is ","_doCleanUpSourceBuffer",", pts=","samples","_checkTsIsMaxDiff","eac3","transferToImageBitmap","getReader","demuxFlv","AAC: SamplingFrequencyIndex changed from ","mseDecoderUseWorker","websocket error","dropBuffer$2() iFrameIndex is ","pendingAudioRemoveRanges","Opus: SamplingFrequencyIndex changed from ","playbackIsPause","getState","decodeVideo",", dts=","streamStats","renderYUV","isDropping","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","updateConfig","_isEnhancedH265Header","emitSectionSlices"," and isDestroyed is true, so return","playbackTF","start",", stream_id=","mediaSourceAudioInitTimeout","getBuildTime","audioMeta","parseAsynchronousKLVMetadataPayload","toString",",\n diff is ","hasInit","signal","audio_last_sample_pts_","handleOffscreenCanvasWebglContextLost and next try to create webgl","HEAPF32","kMPEG1Audio","payload","onReady()","isSendSeqHeader","parseEAC3Payload","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","writableStream abort() and e is ","status","iFrame"," ant auto wasm decode","last_pcr_","generateInitSegment","synchronous_klv_pids","len","webglcontextrestored","isTrusted","onOffscreenCanvasWebglContextLost","bit_stream_identification","parseLOASAACPayload","210762rGrFme","isXorCrypto cryptoKey.length is ","videoTrackId","isMpeg4","sampling_freq_index","mediaSource","playbackRate","width: "," , message is ","h264 naluList.length === 0","mseCorrectTimeDuration"," and firstRenderTime is ","subarray","yuvData, decoder is destroyed and return","AC3: Low Frequency Effects Channel On changed from ","byteLength","stopId","Asynchronous KLV Metadata: pid=","getNearestTimestampMilliseconds","iframeIntervalTs","mimeType","kSliceSPS","\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ",",\n firstAudioTime is ","getDelayNotUpdateDelay",'video/mp2t; codecs="',"size","emitPESSlices","fetchStream","mseFirstRenderTime","key","parsedOffset","pts"," ,\n and now ts is ","openWebglAlignment","vps"," an set streamFps is 25"," and prev ts is "," package length is ","\n decodeVideo dts is less than(or equal) prev dts ,\n dts is ","parseVPS","firstAudioTime","getNotDroppingDelayTs","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",", streamVideoFps is ","audioAACSequenceHeader","log","_doAppendSegments","AAC","_hasPendingSegments","fetchStream, WebsocketStream socket close and code is ","delta","kSCTE35"," so drop this frame","lastBuffer","MULAW",", isAacCodecPacket is true","pushBuffer video and isIFrame is ","flags","ac3","decodeDiffTimestamp","worker TsLoaderV2","55992JuSwtg","\n diff is ","socket is null","parseVideo264Header","\n maybe trigger black screen or flower screen\n ","kSlicePPS","flvScriptData","VANC"," cacheTrack dts is ","MP3"," is not corresponded to PMT!","writableStream abort() and abortController.signal.aborted is true so return","level","getAllocatedSampleDataSize","channelCount","object_type","fetchStream, WebsocketStream socket close and requestAbort is true so return","avcC"," and\n ts is ","refSampleDuration","nakedFlowDemuxUseNew","_decodeAudioConfigurationRecord audio codec is not support , codecId is ","bitDepth","mediaSource is not attached to video or mediaSource is closed","abortSourceBuffer() abort sourceBuffer","handlePESSlice","getUint8","mseSourceBufferError mseDecoder.audioSourceBuffer","configure","prevAudioTs","offscreenCanvas","Malformed PES: PES_packet_length < 3 + PES_header_data_length","_opt","ref_frames","elementary_stream_priority_indicator","chroma_format","protocols","webglObj","_decodeVideo now time is ","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()","codec","audioChannelCount","isAvc","mediaSourceFull","audioBufferSize","AC3: Bit Stream Identification changed from ",", and ts list is "," and\n ts is ","name","sar_ratio",'" string so return',"drawImage","setCodecAudio: mp3 is not support for old version","firstRenderTime","MediaSource","clear","writableStream","buffer","isNakedFlow","getTime","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","replace","mp3"," and isIFrame is ","handleSectionSlice","updatePlaybackIsPause, isPause is ","kSliceIDR_N_LP","onMediaSourceSourceOpen() sourceBuffer is null and next init","code","player",",\n and emit change event","onSamples","_initPmt","loop() bufferList is empty and reset delay","debugError",", need clear is ","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"," ,\n and diff is ","decodeAudio, decoder is destroyed and return","removeSourceBuffer() sourceBuffer","setCodecAudio: init audio codec, codeId is ",", bufferList is ","floor","mediaSourceTsIsMaxDiff","_decodeVideo payload bytes is 0 and return"," and prev time is ","fetch().catch() and e is ","opt","supportVideoFrameCallbackHandle"," ,new bufferList is ",", streamAudioFps is ","decodeAudio() and decoder is destroyed",'video/mp4; codecs="',"audioSourceBuffer","TAG","onmessage","_needCleanupSourceBuffer","AbortError","findFirstStartCode","removeSourceBuffer","parseSPS$2","109202XXhudJ","currentTime"," more than ","_doRemoveRanges() sourceBuffer error","video_track_","worker nakedFlow","findIndex","mseSourceBufferError mseDecoder.sourceBuffer","first_parse_","probe","addEventListener","nakedFlowFps","_doAppendSegments() sourceBuffer is null and wait init and return","_clearAudioNoDataCheckTimeout","setCodecVideo: hasInitVideoCodec is false, codecId is ","refFrames","render","isSm4Crypto opt.sm4CryptoKey is null"," and mseDecoder.audioMimeType is ","KLVA","total_length","_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","AC3: BitStream Mode changed from ","section_slice_queues_","moof","delay is ","parseChunks","flvBufferData","end","shift","complete","demuxNakedFlow","timescale_","PACKET_TYPE_FRAMES","needClear","pushBuffer(), pushLatestDelay is ","removeSourceBuffer() sourceBuffer error","media_info_","width","resetDelay","videoMeta","program_number"," and isVideoAndNextAudio is ","channel_count","syncOffset","scte_35_pids","preventDefault","aborted","chromaFormat","mseDecoder.mediaSourceAddSourceBufferError is true","isCacheBeforeDecodeForFpsRender","writableStream abort() and e.name is AbortError so return","audio_track_","firstAudioTime is ","fetchNext().then() and abortController.signal.aborted is true so return","audio_init_segment_dispatched_","onerror","vcl"," and,\n options.ts is ","isHevc","avc","isWorkerFetch","supportMSEDecodeHevc","videoMimeType","clearPlaybackCacheLoop","sampling_index","demuxMpeg4","pendingRemoveRanges","setCodecVideo","preDelayTimestamp","workerFetch","streamSuccess"," > timestamp is ","stopStreamRateAndStatsInterval","headers","handleVideoH264Frames"," and ok is ","delay","setCodecVideo: SIMD H264 decode video width is too large, width is ","bit_stream_mode","hasIframeInBufferList","useSIMD","worker","isPlayer","fileStart","buffering","idle","appendAudioBuffer","abortSourceBuffer() abort audioSourceBuffer","_decodeConfigurationRecord","setCodecVideo: init video codec , codecId is ","_preDoDecode","websocketError","url","frame_rate","hasAudioInit"," ts is ","fetch done","mseDecoder.mediaSourceBufferError is true"," and packetType is ","parseOpusPayload","findSecondStartCode","pendingSegments","present_size","startTimestamp","isVideoInited","VideoDecoder configure has not init , isIframe is ","config","init","mdia","kADTSAAC","firstTimestamp","videoSequenceHeader","channel_config","close() and socket.readyState is ","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ","mseUpdateVideoTimestamp","details","removeSourceBuffer() audioSourceBuffer","clearSlices","Timed ID3 Metadata: pid=","write","sync_byte = "," but isSocketError is true , so return","PACKET_TYPE_SEQ_START","set","destroy","getAudioSourceBufferUpdating","mseAutoCleanupMinBackwardDuration","JbPro Worker Version is ","audioTracks","streamAudioFps"," null","decodeVideo: video width or height is changed, and return","\n decodeVideo: video width or height is changed,\n old width is ","parsePES","writableStream close()","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","mpeg","h264",", options.ts is "," next data type is ","getNaluDts","version_number","loas_aac","bit_depth","mseError","extractNALu$3","MP3: Channel count changed from ","getContext","handleVideoH264NaluList list size is ","videoTracks","hasIncompleteData","eventListenList","isPushDropping","endOfStream() error","610IEgTzJ","mp3Demuxer","hasAudio",", diff time is ","resetAllDelay","warn","AAC: AudioObjectType changed from ","fromCharCode"," and preTsDuration is ","webgl","sarRatio","mseDecoder.mediaSourceAppendBufferFull is true","AudioDecoder","isEmitSEI","mediaSourceError","ceil","cryptoPayload","abs"];return(lc=function(){return e})()}function dc(e,t){const r=lc();return(dc=function(e,t){return r[e-=277]})(e,t)}!function(e,t){const r=dc,n=e();for(;;)try{if(204901===-parseInt(r(540))/1+parseInt(r(882))/2*(parseInt(r(356))/3)+-parseInt(r(1174))/4*(parseInt(r(1038))/5)+parseInt(r(615))/6*(-parseInt(r(511))/7)+parseInt(r(1143))/8*(parseInt(r(718))/9)+-parseInt(r(291))/10*(-parseInt(r(1137))/11)+-parseInt(r(780))/12*(-parseInt(r(1098))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(lc),Date[uc(1151)]||(Date[uc(1151)]=function(){const e=uc;return(new Date)[e(840)]()}),console[uc(764)](uc(1011)+'"9-21-2024":'+Ft+" and is Trial Version[试用版本]");const hc=fc;function fc(e,t){const r=pc();return(fc=function(e,t){return r[e-=109]})(e,t)}function pc(){const e=["8625645qsMFda","JbPro[❌❌❌][audio wasm]:","JbPro[❌❌❌][video wasm]:","371WZzlzj","3366LNydbt","78543ZYqmMB","then","474dRbnah","warn","2069784BXobNa","1832488ccVvXy","1248850aFXSHK","push","1893AHaWAH"];return(pc=function(){return e})()}!function(e,t){const r=fc,n=e();for(;;)try{if(251413===-parseInt(r(114))/1+parseInt(r(116))/2*(-parseInt(r(122))/3)+-parseInt(r(119))/4+-parseInt(r(120))/5+-parseInt(r(113))/6*(parseInt(r(112))/7)+parseInt(r(118))/8+parseInt(r(109))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pc);const mc=[];mc[hc(121)](a({printErr:function(e){const t=hc;(function(e){const t=xt;return!(!e||-1===e[t(176)](t(153))&&-1===e[t(176)](t(246))&&-1===e[t(176)](t(296))&&-1===e[t(176)](t(410)))})(e)||console[t(117)](t(110),e)}}),s({printErr:function(e){const t=hc;(function(e){const t=xt;return!(!e||-1===e[t(176)](t(245)))})(e)||console[t(117)](t(111),e)}})),Promise.all(mc)[hc(115)]((e=>{const t=e[0];!function(){const e=uc;let t=arguments[e(1104)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(1104)]>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[e(1104)]>2&&void 0!==arguments[2]&&arguments[2],i=arguments[e(1104)]>3&&void 0!==arguments[3]&&arguments[3],s=[],a=[],o=null,c=null,u=null,l=null,d=null,h=null,f=!1,p=null,m=null,v=!1,y=!1,g=!!qt(n),_=0,b=0,w=!1,S=null,I=null,A=null,E=[],k=null,C=null,T=0,x=0,B=null,D=null,M=0,P=0,U=!1,F=!1,R=!1,L=null,O=null,z=!1,N=!0,H=0,V=0,j=()=>{const t=e,r=Gt();return{debug:r[t(1082)],debugLevel:r[t(502)],debugUuid:r.debugUuid,useOffscreen:r[t(353)],useWCS:r.useWCS,useMSE:r[t(399)],videoBuffer:r[t(316)],videoBufferDelay:r[t(571)],openWebglAlignment:r[t(752)],playType:r[t(513)],hasAudio:r.hasAudio,hasVideo:r.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(640)],playbackIsCacheBeforeDecodeForFpsRender:r[t(580)][t(932)],sampleRate:0,networkDelay:r[t(1080)],visibility:!0,useSIMD:r.useSIMD,isRecording:!1,recordType:r[t(308)],isNakedFlow:r[t(839)],checkFirstIFrame:r[t(1129)],audioBufferSize:1024,isM7sCrypto:r.isM7sCrypto,m7sCryptoAudio:r[t(447)],cryptoKey:r[t(503)],cryptoIV:r.cryptoIV,isSm4Crypto:r[t(289)],isSm4CryptoH265V2:r[t(587)],sm4CryptoKey:r[t(533)],isXorCrypto:r[t(319)],isHls265:!1,isFlv:r[t(517)],isFmp4:r.isFmp4,isMpeg4:r[t(721)],isTs:r[t(342)],isEmitSEI:r.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(591)],mseDecodeAudio:r[t(491)],wcsDecodeAudio:r.wcsDecodeAudio,nakedFlowH265DemuxUseNew:r.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:r.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:r[t(407)],mseAutoCleanupMaxBackwardDuration:r[t(373)],mseAutoCleanupMinBackwardDuration:r[t(1010)],mseCorrectTimeDuration:r[t(728)],mseCorrectAudioTimeDuration:r[t(650)],nakedFlowDemuxUseNew:r[t(800)],nakedFlowFps:r[t(893)],supportMSEDecodeHevc:!1,checkStreamEnd:r[t(277)]}};e(519)in self&&(o={TAG_NAME:e(597),hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;o[t(1124)]=new VideoDecoder({output:function(e){const r=t;if(Ot(e[r(550)]))e.createImageBitmap()[r(428)]((t=>{const n=r;o.offscreenCanvasCtx[n(832)](t,0,0,e[n(507)],e[n(426)]);let i=o[n(810)].transferToImageBitmap();postMessage({cmd:Se.render,buffer:i,delay:X[n(959)],ts:0},[i]),Vt(e)}));else{o[r(604)].drawImage(e,0,0,e[r(507)],e[r(426)]);let t=o[r(810)][r(664)]();postMessage({cmd:Se[r(898)],buffer:t,delay:X.delay,ts:0},[t]),Vt(e)}},error:function(e){const r=t;X.debugError("worker",r(474),e,e[r(692)]())}}),X[t(414)](o[t(1206)],t(990))},destroy(){const t=e;o.reset(),o.decoder&&o[t(1124)][t(1096)]!==t(441)&&(o[t(1124)][t(1121)](),o.decoder=null),X[t(414)](o[t(1206)],t(1008))},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(o[i(694)]){const e=new EncodedVideoChunk({data:t[i(1112)](5),timestamp:r,type:s?Fe[i(748)]:Fe[i(769)]});o.decoder[i(633)](e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:Se[i(299)],code:e});const r=new Uint8Array(t);postMessage({cmd:Se.videoCodec,buffer:r,codecId:e},[r.buffer]);let n=null,s=null;const a=t[i(1112)](5);e===Be[i(1021)]?(s=wr(a),n={codec:s[i(821)],description:a}):e===Be.h265&&(s=Zr(a),n={codec:s[i(821)],description:a}),s&&s[i(435)]&&s[i(458)]&&(n[i(426)]=s[i(458)],n[i(507)]=s[i(435)]),!o[i(1229)]&&(X[i(414)]("worker",i(461)),postMessage({cmd:Se[i(1060)],w:s.codecWidth,h:s[i(458)]}),o[i(1229)]=!0,o[i(810)]=new OffscreenCanvas(s[i(435)],s[i(458)]),o[i(604)]=o[i(810)][i(1031)]("2d"));try{o[i(1124)][i(808)](n),o[i(694)]=!0}catch(e){X[i(855)](i(964),"VideoDecoder configure error",e[i(849)],e,e[i(692)]()),e.toString()}}else X[i(630)](i(964),i(988)+s+i(1155)+t[1]+i(771))},reset(){const t=e;o[t(694)]=!1,o[t(1229)]=!1,o[t(810)]=null,o.offscreenCanvasCtx=null}});let W=function(){const t=e;if(z=!0,c)try{c.abort(),c=null,X[t(414)](t(964),t(541))}catch(e){c=null,X[t(414)](t(964),"abort catch",e)}},G={TAG_NAME:e(887),init(){const t=e;G.lastBuf=null,G.vps=null,G[t(648)]=null,G[t(642)]=null,G[t(1172)]=null,G.localDts=0,G[t(605)]={},G.isSendSeqHeader=!1,X.debugLog(G[t(1206)],t(990))},destroy(){const t=e;G.lastBuf=null,G[t(753)]=null,G[t(648)]=null,G[t(642)]=null,G.streamType=null,G[t(590)]=0,G.pendingUnits={},G.isSendSeqHeader=!1,X[t(414)](G[t(1206)],t(1008))},dispatch(t){const r=e,n=new Uint8Array(t);if(X[r(812)].nakedFlowDemuxUseNew){const e=G[r(1029)](n);if(0===e.length)return void X[r(414)](G[r(1206)],r(522));G[r(600)](e)}else G.extractNALu$2(n)},getNaluDts(){const t=e,r=X._opt[t(893)];let n=G[t(590)];return G[t(590)]=G[t(590)]+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=X._opt.sampleRate,n=X[t(812)][t(825)];return G[t(590)]+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,a=t[r(733)],o=0,c=[];for(;s1)for(let e=0;e{const t=r,n=kr(e);n===Pe.pps||n===Pe[t(648)]?G[t(1062)](e):xr(n)&&i[t(492)](e)})),1===i.length)G[r(1062)](i[0]);else if(Dr(i)){const e=kr(i[0]),t=Br(e);G.handleVideoH264NaluList(i,t,e)}else i[r(444)]((e=>{G[r(1062)](e)}))}else if(G[r(1172)]===De.h265)if(X[r(812)].nakedFlowH265DemuxUseNew){const e=G.handleAddNaluStartCode(t),n=G[r(1106)](e);if(0===n[r(1104)])return void X[r(630)](r(964),r(365),"h265 naluList.length === 0");const i=[];if(n.forEach((e=>{const t=r,n=sn(e);n===Ue[t(642)]||n===Ue[t(648)]||n===Ue.vps?G[t(1122)](e):on(n)&&i[t(492)](e)})),1===i[r(1104)])G.handleVideoH265Nalu(i[0]);else if(un(i)){const e=sn(i[0]),t=cn(e);G.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{G[r(1122)](e)}))}else sn(t)===Ue[r(642)]?G.extractH265PPS(t):G[r(1122)](t)},extractH264PPS(t){const r=e,n=G[r(515)](t);G[r(1106)](n)[r(444)]((e=>{const t=r;Cr(kr(e))?G.extractH264SEI(e):G[t(1062)](e)}))},extractH265PPS(t){const r=e,n=G.handleAddNaluStartCode(t);G.extractNALu(n)[r(444)]((e=>{const t=r;an(sn(e))?G[t(280)](e):G[t(1122)](e)}))},extractH264SEI(t){const r=e,n=G.handleAddNaluStartCode(t);G[r(1106)](n)[r(444)]((e=>{G[r(1062)](e)}))},extractH265SEI(t){const r=e,n=G[r(515)](t);G[r(1106)](n)[r(444)]((e=>{G[r(1122)](e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t[r(1104)]+n[r(1104)]);return i[r(1007)](n),i[r(1007)](t,n[r(1104)]),i},handleVideoH264Nalu(t){const r=e,n=kr(t);switch(n){case Pe[r(648)]:G[r(648)]=t;break;case Pe[r(642)]:G.pps=t}if(G.isSendSeqHeader){if(G[r(648)]&&G[r(642)]){const e=Sr({sps:G[r(648)],pps:G[r(642)]}),t=G[r(590)];X[r(633)](e,{type:Ie.video,ts:t,isIFrame:!0,cts:0}),G[r(648)]=null,G[r(642)]=null}if(xr(n)){const e=Br(n),i=G[r(1024)](),s=Ar(t,e);G.doDecode(s,{type:Ie[r(543)],ts:i,isIFrame:e,cts:0})}}else if(G[r(648)]&&G.pps){G[r(702)]=!0;const e=Sr({sps:G[r(648)],pps:G[r(642)]});X.decode(e,{type:Ie[r(543)],ts:0,isIFrame:!0,cts:0}),G[r(648)]=null,G[r(642)]=null}},handleVideoH264NaluList(t,r,n){const i=e;if(G[i(702)]){const e=G.getNaluDts(),s=Er(t[i(632)](((e,t)=>{const r=i,n=Ct(e),s=Ct(t),a=new Uint8Array(n[r(733)]+s[r(733)]);return a[r(1007)](n,0),a.set(s,n[r(733)]),a})),r);G[i(464)](s,{type:Ie.video,ts:e,isIFrame:r,cts:0}),X.debugLog(i(964),i(1032)+t[i(1104)]+i(756)+s.byteLength+i(1089)+r+i(1163)+n+i(510)+e)}},handleVideoH265Nalu(t){const r=e,n=sn(t);switch(n){case Ue[r(753)]:G[r(753)]=t;break;case Ue[r(648)]:G[r(648)]=t;break;case Ue.pps:G[r(642)]=t}if(G[r(702)]){if(G[r(753)]&&G[r(648)]&&G.pps){const e=tn({vps:G[r(753)],sps:G.sps,pps:G.pps}),t=G[r(590)];X.decode(e,{type:Ie.video,ts:t,isIFrame:!0,cts:0}),G[r(753)]=null,G[r(648)]=null,G[r(642)]=null}if(on(n)){const e=cn(n),i=G[r(1024)](),s=rn(t,e);G[r(464)](s,{type:Ie.video,ts:i,isIFrame:e,cts:0})}}else if(G.vps&&G[r(648)]&&G[r(642)]){G[r(702)]=!0;const e=tn({vps:G[r(753)],sps:G[r(648)],pps:G[r(642)]});X.decode(e,{type:Ie.video,ts:0,isIFrame:!0,cts:0}),G[r(753)]=null,G[r(648)]=null,G[r(642)]=null}},handleVideoH265NaluList(t,r,n){const i=e;if(G[i(702)]){const e=G.getNaluDts(),s=nn(t.reduce(((e,t)=>{const r=i,n=Ct(e),s=Ct(t),a=new Uint8Array(n[r(733)]+s[r(733)]);return a[r(1007)](n,0),a[r(1007)](s,n[r(733)]),a})),r);G[i(464)](s,{type:Ie[i(543)],ts:e,isIFrame:r,cts:0}),X[i(414)](i(964),i(655)+t[i(1104)]+i(756)+s.byteLength+" isIFrame is "+r+i(1163)+n+", dts is "+e)}},doDecode(t,r){const n=e;X[n(514)](r.ts),r.isIFrame&&X[n(1068)](r.ts),X.decode(t,r)},handleVideoFrames(t){const r=e;if(!G[r(1140)])for(let e of t)if(G.streamVideoType=Nt(e),G[r(1140)])break;G[r(1140)]?G[r(1140)]===De[r(1021)]?G[r(957)](t):G.streamVideoType===De[r(1144)]&&G.handleVideoH265Frames(t):X[r(630)](r(964),r(600),"streamVideoType is null")},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,a=!1;G.pendingUnits.units&&(n=G[r(605)].units,a=G.pendingUnits.vcl,s=G.pendingUnits[r(707)],G[r(605)]={});let o={};for(let e of t){if(e[r(733)]<4)continue;const t=kr(e);let c=!1,u=t===Pe[r(306)];(t===Pe[r(647)]||t===Pe[r(306)])&&(o=G[r(783)](e),c=!0),n[r(1104)]&&a&&(o[r(279)]||!c)&&(i[r(492)]({units:n,isIFrame:s}),n=[],s=!1,a=!1),n[r(492)](e),s=s||u,a=a||c}n[r(1104)]&&(G[r(605)]={units:n,vcl:a,iFrame:s}),i[r(444)]((e=>{const t=r,n=e[t(1070)],i=e[t(374)];let s=null,a=null;if(n[t(444)]((e=>{const r=t,n=31&e[0];switch(n){case Pe.pps:G[r(642)]=e;break;case Pe.sps:G[r(648)]=e;break;case Pe.kSliceSEI:a=e}if(xr(n)){const t=Ct(e);if(s){const e=new Uint8Array(s[r(733)]+t.byteLength);e[r(1007)](s,0),e[r(1007)](t,s[r(733)]),s=e}else s=t}})),!G[t(702)]&&G[t(648)]&&G[t(642)]){G.isSendSeqHeader=!0;const e=Ir({sps:G.sps,pps:G[t(642)]});X[t(633)](e,{type:Ie[t(543)],ts:0,isIFrame:!0,cts:0}),G[t(648)]=null,G.pps=null}if(G.isSendSeqHeader){if(G[t(648)]&&G.pps){const e=Ir({sps:G[t(648)],pps:G[t(642)]}),r=G[t(590)];X[t(633)](e,{type:Ie[t(543)],ts:r,isIFrame:!0,cts:0}),G[t(648)]=null,G[t(642)]=null}if(s){const e=G.getNaluDts(),r=Er(s,i);if(X[t(812)].isEmitSEI&&a){const r=Et(a,!1);postMessage({cmd:Se[t(454)],buffer:r[t(700)],ts:e},[r[t(700)][t(838)]])}G.doDecode(r,{type:Ie.video,ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,a=!1;G[r(605)][r(1070)]&&(n=G.pendingUnits[r(1070)],a=G[r(605)][r(939)],s=G[r(605)].iFrame,G[r(605)]={});let o={};for(let e of t){if(e[r(733)]<4)continue;const t=sn(e);let c=!1,u=cn(t);on(t)&&(o=G[r(1195)](e),c=!0),n[r(1104)]&&a&&(o[r(279)]||!c)&&(i[r(492)]({units:n,isIFrame:s}),n=[],s=!1,a=!1),n[r(492)](e),s=s||u,a=a||c}n[r(1104)]&&(G.pendingUnits={units:n,vcl:a,iFrame:s}),i.forEach((e=>{const t=r,n=e[t(1070)],i=e[t(374)];let s=null,a=null;if(n[t(444)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Ue.pps:G[r(642)]=e;break;case Ue[r(648)]:G[r(648)]=e;break;case Ue[r(753)]:G[r(753)]=e;break;case Ue[r(568)]:case Ue.prefixSei:a=e}if(on(n)){const t=Ct(e);if(s){const e=new Uint8Array(s[r(733)]+t.byteLength);e.set(s,0),e[r(1007)](t,s.byteLength),s=e}else s=t}})),!G[t(702)]&&G.sps&&G[t(642)]&&G.vps){G.isSendSeqHeader=!0;const e=tn({sps:G[t(648)],pps:G[t(642)],vps:G[t(753)]});X[t(633)](e,{type:Ie[t(543)],ts:0,isIFrame:!0,cts:0}),G[t(648)]=null,G[t(642)]=null,G[t(753)]=null}if(G[t(702)]){if(G[t(648)]&&G[t(642)]&&G[t(753)]){const e=tn({sps:G[t(648)],pps:G[t(642)],vps:G.vps}),r=G[t(590)];X[t(633)](e,{type:Ie[t(543)],ts:r,isIFrame:!0,cts:0}),G[t(648)]=null,G[t(642)]=null,G[t(753)]=null}if(s){const e=G[t(1024)](),r=nn(s,i);if(X[t(812)][t(1051)]&&a){const r=Et(a,!0);postMessage({cmd:Se[t(454)],buffer:r[t(700)],ts:e},[r[t(700)][t(838)]])}G[t(464)](r,{type:Ie[t(543)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(t){const r=e;t[r(444)]((e=>{G[r(365)](e)}))},parseVideo264Header(t){const r=e,n=new qo(t);return n.readUByte(),{isfms:0===n[r(411)](),sType:n.readUEG()}},parseVideo265Header(t){const r=e,n=new qo(t);return n.readUByte(),{nalType:n[r(479)](6),isfms:0===n[r(479)](1),sType:n[r(479)](3)}}},$={LOG_NAME:e(1145),mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;$[t(419)]=wa[t(331)](),$[t(419)][t(450)]=$[t(450)],$[t(419)][t(1178)]=$[t(1178)],$[t(419)][t(852)]=$[t(852)],X[t(414)]($[t(394)],t(990))},destroy(){const t=e;$[t(419)]&&($[t(419)][t(278)](),$.mp4Box[t(1108)](),$.mp4Box.destroy(),$[t(419)]=null),$[t(325)]=0,$[t(720)]=null,$[t(1083)]=null,$[t(941)]=!1,X[t(414)]($[t(394)],t(1008))},_getSeqHeader(t){const r=e,n=$[r(419)].getTrackById(t.id);for(const e of n[r(991)][r(520)][r(309)][r(1059)][r(577)])if(e[r(797)]||e[r(495)]){const t=new(wa[r(352)])(void 0,0,wa[r(352)][r(529)]);let n=[];e[r(797)]?(e[r(797)].write(t),n=[23,0,0,0,0]):($[r(941)]=!0,X.isHevc=!0,e[r(495)][r(1003)](t),n=[28,0,0,0,0]);const i=new Uint8Array(t[r(838)],8),s=new Uint8Array(n[r(1104)]+i[r(1104)]);return s.set(n,0),s[r(1007)](i,n[r(1104)]),s}return null},onReady(t){const r=e;X[r(414)]($[r(394)],r(701));const n=t[r(1033)][0],i=t[r(1012)][0];if(n){$[r(720)]=n.id;const e=$._getSeqHeader(n);e&&(X[r(414)]($[r(394)],r(324)),X[r(675)](e,0,!0,0)),$[r(419)][r(360)](n.id)}if(i&&X._opt[r(1040)]){$[r(1083)]=i.id;const e=i[r(480)]||{},t=ht.indexOf(e.sample_rate),n=i.codec[r(842)]("mp4a.40.","");$[r(419)][r(360)](i.id);const s=mt({profile:parseInt(n,10),sampleRate:t,channel:e.channel_count});X[r(414)]($[r(394)],r(410)),X.decodeAudio(s,0)}$.mp4Box[r(686)]()},onError(t){const r=e;X[r(855)]($[r(394)],"mp4Box onError",t)},onSamples(t,r,n){const i=e;if(t===$.videoTrackId){for(const e of n){const t=e[i(1101)],r=e[i(1215)],n=1e3*e.cts/e.timescale;e.duration,e[i(1187)],r&&X.calcIframeIntervalTimestamp(n);let s=null;s=$.isHevc?nn(t,r):Er(t,r),X[i(633)](s,{type:Ie[i(543)],ts:n,isIFrame:r,cts:0})}$[i(419)][i(548)](t)}else if(t===$[i(1083)]){if(X._opt[i(1040)]){for(const e of n){const t=e[i(1101)],r=1e3*e.cts/e.timescale;e[i(1159)],e[i(1187)];const n=new Uint8Array(t[i(733)]+2);n[i(1007)]([175,1],0),n.set(t,2),X.decode(n,{type:Ie[i(480)],ts:r,isIFrame:!1,cts:0})}$[i(419)][i(548)](t)}}else X[i(630)]($[i(394)],i(594),t)},dispatch(t){const r=e;let n=new Uint8Array(t);n[r(838)][r(966)]=$[r(325)],$[r(325)]+=n.byteLength,$[r(419)].appendBuffer(n[r(838)])}},q={LOG_NAME:e(614),lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(990),hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);q.extractNALu(t)},destroy(){const t=e;q.lastBuffer=new Uint8Array(0),q[t(749)]=0,q[t(285)]=0,q.secondStartCodeOffset=0,q.state=t(990),q[t(292)]=!1,q[t(590)]=0,X.debugLog(q.LOG_NAME,t(1008))},extractNALu(t){const r=e;if(!t||t[r(733)]<1)return void X[r(630)](q[r(394)],"extractNALu() buffer error",t);const n=new Uint8Array(q[r(772)].length+t[r(1104)]);for(n[r(1007)](q[r(772)],0),n[r(1007)](new Uint8Array(t),q[r(772)][r(1104)]),q[r(772)]=n;;){if(q[r(1096)]===r(990)){let e=!1;for(;q.lastBuffer.length-q[r(749)]>=4;)if(0===q[r(772)][q[r(749)]])if(0===q[r(772)][q[r(749)]+1])if(1===q.lastBuffer[q.parsedOffset+2]){if(182===q[r(772)][q[r(749)]+3]){q[r(1096)]=r(879),q.firstStartCodeOffset=q[r(749)],q[r(749)]+=4,e=!0;break}q.parsedOffset++}else q[r(749)]++;else q[r(749)]++;else q[r(749)]++;if(e)continue;break}if(q[r(1096)]===r(879)){let e=!1;for(;q[r(772)][r(1104)]-q[r(749)]>=4;)if(0===q[r(772)][q[r(749)]])if(0===q[r(772)][q[r(749)]+1])if(1===q[r(772)][q[r(749)]+2]){if(182===q[r(772)][q.parsedOffset+3]){q[r(1096)]=r(983),q[r(625)]=q.parsedOffset,q.parsedOffset+=4,e=!0;break}q[r(749)]++}else q[r(749)]++;else q[r(749)]++;else q.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===q.state){if(!(q[r(772)][r(1104)]-q[r(749)]>0))break;{let e,t=192&q[r(772)][q[r(749)]];e=0==t?q.secondStartCodeOffset-14:q.secondStartCodeOffset;let n,i=0==(192&q[r(772)][q[r(285)]+4]);if(i){if(q[r(285)]-14<0)return void X[r(630)](q.LOG_NAME,"firstStartCodeOffset -14 is",q[r(285)]-14);!q[r(292)]&&(q[r(292)]=!0,X[r(414)](q[r(394)],r(367)),Z[r(367)](Be[r(595)],"",X[r(689)]())),n=q[r(772)][r(730)](q[r(285)]-14,e)}else n=q[r(772)][r(730)](q[r(285)],e);let s=q.getNaluDts();q.hasInitVideoCodec?(postMessage({cmd:Se.workerFetch,type:ke.streamVbps,value:n[r(733)]}),postMessage({cmd:Se[r(952)],type:ke.streamDts,value:s}),_=s,Z[r(633)](n,i?1:0,s)):X[r(630)](q[r(394)],r(392)),q[r(772)]=q[r(772)][r(730)](e),0==t?q[r(285)]=14:q.firstStartCodeOffset=0,q[r(749)]=q[r(285)]+4,q.state=r(879)}}}},getNaluDts(){const t=e;let r=q[t(590)];return q[t(590)]=q.localDts+40,r}},Y={TAG_NAME:e(779),first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Vo,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:e(543),id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:e(480),id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;Y.media_info_=null,Y.pes_slice_queues_=null,Y[t(905)]=null,Y[t(656)]=null,Y[t(609)]=null,Y[t(442)]=null,Y[t(886)]=null,Y.audio_track_=null,Y[t(554)]=null,X[t(414)](Y[t(1206)],t(1008))},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n[r(733)]<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(451)](1e3,n.byteLength-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;Y[r(554)]&&(t=fo(Y[r(554)],t),Y[r(554)]=null);let n=t.buffer;const i=Y[r(908)](n);i?Y._remainingPacketData=t[r(730)](i):t[r(1104)]>>6;e[1];let a=(31&e[1])<<8|e[2],o=(48&e[3])>>>4,c=15&e[3],u=!(!Y[r(629)]||Y[r(629)][r(361)]!==a),l={},d=4;if(2==o||3==o){let t=e[4];if(t>0&&(u||3==o)&&(l[r(389)]=(128&e[5])>>>7,l[r(578)]=(64&e[5])>>>6,l[r(814)]=(32&e[5])>>>5,(16&e[5])>>>4)){let t=300*(e[6]<<25|e[7]<<17|e[8]<<9|e[9]<<1|e[10]>>>7)+((1&e[10])<<8|e[11]);Y[r(709)]=t}if(2==o||5+t===188){n+=188,204===Y[r(1202)]&&(n+=16);continue}d=5+t}if(1==o||3==o)if(0===a||a===Y[r(301)]||null!=Y[r(629)]&&Y[r(629)][r(302)][a]===Ro[r(770)]){let e=188-d;Y[r(845)](t,n+d,e,{pid:a,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l.random_access_indicator})}else if(null!=Y[r(629)]&&null!=Y[r(629)][r(302)][a]){let e=188-d,i=Y[r(629)][r(302)][a];(a===Y[r(629)][r(477)][r(1021)]||a===Y[r(629)][r(477)].h265||a===Y.pmt_[r(477)].adts_aac||a===Y[r(629)][r(477)][r(1026)]||a===Y[r(629)][r(477)][r(777)]||a===Y.pmt_.common_pids.eac3||a===Y[r(629)][r(477)][r(379)]||a===Y[r(629)].common_pids[r(843)]||!0===Y[r(629)].pes_private_data_pids[a]||!0===Y[r(629)][r(490)][a]||!0===Y[r(629)][r(711)][a]||!0===Y[r(629)][r(542)][a])&&Y[r(805)](t,n+d,e,{pid:a,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(578)]})}n+=188,204===Y[r(1202)]&&(n+=16)}return Y[r(296)](),n},handleSectionSlice(t,r,n,i){const s=e;let a=new Uint8Array(t,r,n),o=Y[s(905)][i[s(638)]];if(i[s(286)]){let e=a[0];if(null!=o&&0!==o.total_length){let a=new Uint8Array(t,r+1,Math[s(451)](n,e));o[s(1061)].push(a),o[s(902)]+=a.byteLength,o[s(902)]===o[s(589)]?Y[s(683)](o,i):Y.clearSlices(o,i)}for(let c=1+e;c=o.expected_length&&Y[s(1001)](o,i),c+=u.byteLength}}else if(null!=o&&0!==o[s(902)]){let e=new Uint8Array(t,r,Math[s(451)](n,o[s(589)]-o.total_length));o.slices[s(492)](e),o[s(902)]+=e[s(733)],o.total_length===o[s(589)]?Y[s(683)](o,i):o[s(902)]>=o[s(589)]&&Y.clearSlices(o,i)}},handlePESSlice(t,r,n,i){const s=e;let a=new Uint8Array(t,r,n),o=a[0]<<16|a[1]<<8|a[2];a[3];let c=a[4]<<8|a[5];if(i.payload_unit_start_indicator){if(1!==o)return void X.debugWarn(Y[s(1206)],"handlePESSlice: packet_start_code_prefix should be 1 but with value "+o);let e=Y.pes_slice_queues_[i.pid];e&&(0===e[s(589)]||e[s(589)]===e[s(902)]?Y[s(745)](e,i):Y[s(1001)](e,i)),Y[s(1192)][i[s(638)]]=new Oo,Y[s(1192)][i.pid][s(578)]=i[s(578)]}if(null==Y[s(1192)][i.pid])return;let u=Y[s(1192)][i.pid];u[s(1061)][s(492)](a),i[s(286)]&&(u[s(589)]=0===c?0:c+6),u.total_length+=a.byteLength,u[s(589)]>0&&u[s(589)]===u.total_length?Y.emitPESSlices(u,i):u[s(589)]>0&&u[s(589)]>>6,c=n[8];(2===o||3===o)&&(e=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,i=3===o?536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2:e);let u,l=9+c;if(0!==a){if(a<3+c)return void X[r(630)](Y[r(1206)],r(811));u=a-3-c}else u=n[r(733)]-l;let d=n[r(730)](l,l+u);switch(t[r(1157)]){case Ro[r(699)]:case Ro.kMPEG2Audio:Y.parseMP3Payload(d,e);break;case Ro[r(1184)]:Y.pmt_[r(477)].opus===t[r(638)]?Y[r(982)](d,e):Y.pmt_.common_pids[r(777)]===t[r(638)]?Y[r(341)](d,e):Y[r(629)][r(477)][r(663)]===t[r(638)]?Y[r(703)](d,e):Y[r(629)][r(542)][t[r(638)]]?Y[r(691)](d,t.pid,s):Y.pmt_[r(1094)][t[r(638)]]?Y[r(363)](d,e,i,t.pid,s):Y[r(562)](d,e,i,t[r(638)],s);break;case Ro[r(992)]:Y[r(521)](d,e);break;case Ro[r(1197)]:Y[r(717)](d,e);break;case Ro.kAC3:Y[r(341)](d,e);break;case Ro[r(1086)]:Y.parseEAC3Payload(d,e);break;case Ro[r(371)]:Y[r(629)].timed_id3_pids[t[r(638)]]?Y.parseTimedID3MetadataPayload(d,e,i,t.pid,s):Y.pmt_[r(711)][t.pid]&&Y[r(335)](d,e,i,t[r(638)],s);break;case Ro.kH264:Y.parseH264Payload(d,e,i,t[r(578)]);break;case Ro[r(439)]:Y.parseH265Payload(d,e,i,t[r(578)])}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&t[r(1157)]===Ro[r(1184)]){let e,i=6;e=0!==a?a:n.byteLength-i;let o=n[r(730)](i,i+e);Y.parsePESPrivateDataPayload(o,void 0,void 0,t[r(638)],s)}}else X[r(855)](Y[r(1206)],r(1107)+i)},parsePAT(t){const r=e;let n=t[0];if(0!==n)return void Log.e(Y[r(875)],r(1132)+n+r(395));let i=(15&t[1])<<8|t[2];t[3],t[4];let s=(62&t[5])>>>1,a=1&t[5],o=t[6];t[7];let c=null;if(1===a&&0===o)c={version_number:0,network_pid:0,program_pmt_pid:{}},c[r(1025)]=s;else if(c=Y[r(1078)],null==c)return;let u=i-5-4,l=-1,d=-1;for(let e=8;e<8+u;e+=4){let n=t[e]<<8|t[e+1],i=(31&t[e+2])<<8|t[e+3];0===n?c[r(563)]=i:(c[r(1173)][n]=i,-1===l&&(l=n),-1===d&&(d=i))}1===a&&0===o&&(null==Y[r(1078)]&&X.debugLog(Y[r(1206)],"Parsed first PAT: "+JSON[r(575)](c)),Y[r(1078)]=c,Y[r(501)]=l,Y[r(301)]=d)},parsePMT(t){const r=e;let n=t[0];if(2!==n)return void X[r(855)](Y[r(1206)],r(315)+n+r(790));let i,s=(15&t[1])<<8|t[2],a=t[3]<<8|t[4],o=(62&t[5])>>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)i=Y[r(853)](),i[r(923)]=a,i[r(1025)]=o,Y[r(509)][a]=i;else if(i=Y.program_pmt_map_[a],null==i)return;i[r(361)]=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],d=12+l,h=s-9-l-4;for(let e=d;e0){for(let n=e+5;n0)for(let n=e+5;n1&&(X[n(630)](Y.TAG_NAME,n(313)+(n(1158)+e+"ms, PES pts: ")+s+"ms"),s=e)}}let a,o=new bt(t),c=null,u=s;for(;null!=(c=o[n(370)]());){i=1024/c[n(488)]*1e3;const e={codec:n(573),data:c};0==Y[n(937)]?(Y.audio_metadata_={codec:"aac",audio_object_type:c.audio_object_type,sampling_freq_index:c[n(722)],sampling_frequency:c.sampling_frequency,channel_config:c[n(995)]},Y[n(397)](e)):Y[n(1177)](e)&&(Y.dispatchAudioMediaSegment(),Y[n(397)](e)),a=u;let t=Math.floor(u);const r=new Uint8Array(c.data[n(1104)]+2);r[n(1007)]([175,1],0),r.set(c[n(1101)],2);let s={payload:r,length:r[n(733)],pts:t,dts:t,type:Ie[n(480)]};Y.audio_track_.samples.push(s),Y.audio_track_[n(1104)]+=r[n(733)],u+=i}o[n(1034)]()&&(Y[n(442)]=o.getIncompleteData()),a&&(Y[n(696)]=a)},parseLOASAACPayload(t,r){const n=e;if(Y[n(538)]&&!Y[n(471)])return;if(Y[n(442)]){let e=new Uint8Array(t[n(733)]+Y[n(442)].byteLength);e.set(Y[n(442)],0),e.set(t,Y.aac_last_incomplete_data_[n(733)]),t=e}let i,s;if(null!=r&&(s=r/Y[n(914)]),"aac"===Y[n(609)][n(821)]){if(null==r&&null!=Y[n(696)])i=1024/Y.audio_metadata_[n(488)]*1e3,s=Y.audio_last_sample_pts_+i;else if(null==r)return void X.debugWarn(Y[n(1206)],n(558));if(Y[n(442)]&&Y[n(696)]){i=1024/Y[n(609)][n(488)]*1e3;let e=Y[n(696)]+i;Math[n(1055)](e-s)>1&&(X.debugWarn(Y[n(875)],n(313)+(n(1158)+e+"ms, PES pts: ")+s+"ms"),s=e)}}let a,o=new wt(t),c=null,u=s;for(;null!=(c=o[n(370)](Rt(Y[n(380)])?void 0:Y[n(380)]));){Y[n(380)]=c,i=1024/c.sampling_frequency*1e3;const e={codec:"aac",data:c};0==Y[n(937)]?(Y[n(609)]={codec:n(573),audio_object_type:c[n(598)],sampling_freq_index:c.sampling_freq_index,sampling_frequency:c[n(488)],channel_config:c.channel_config},Y[n(397)](e)):Y.detectAudioMetadataChange(e)&&(Y.dispatchAudioMediaSegment(),Y.dispatchAudioInitSegment(e)),a=u;let t=Math.floor(u);const r=new Uint8Array(c[n(1101)][n(1104)]+2);r[n(1007)]([175,1],0),r.set(c[n(1101)],2);let s={payload:r,length:r.byteLength,pts:t,dts:t,type:Ie[n(480)]};Y[n(934)][n(661)][n(492)](s),Y[n(934)].length+=r.byteLength,u+=i}o[n(1034)]()&&(Y[n(442)]=o.getIncompleteData()),a&&(Y[n(696)]=a)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(Y.has_video_&&!Y[n(471)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],a=[11025,12e3,8e3,0],o=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,h=34;switch(n(843),o){case 0:d=a[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:h=34,n(1104);break;case 2:h=33,n(1104);break;case 3:h=32,n(1104)}const f={};f.object_type=h,f[n(530)]=d,f.channel_count=l,f[n(1101)]=t;const p={codec:n(843),data:f};0==Y.audio_init_segment_dispatched_?(Y[n(609)]={codec:"mp3",object_type:h,sample_rate:d,channel_count:l},Y[n(397)](p)):Y[n(1177)](p)&&(Y[n(634)](),Y[n(397)](p));let m={payload:t,length:t[n(733)],pts:r/Y.timescale_,dts:r/Y[n(914)],type:Ie[n(480)]};Y[n(934)][n(661)][n(492)](m),Y[n(934)][n(1104)]+=t[n(733)]},detectAudioMetadataChange(t){const r=e;if(t[r(821)]!==Y[r(609)][r(821)])return X[r(414)](Y[r(1206)],r(572)+(Y.audio_metadata_[r(821)]+r(1219)+t[r(821)])),!0;if(t.codec===r(573)&&Y[r(609)][r(821)]===r(573)){const e=t[r(1101)];if(e[r(598)]!==Y[r(609)][r(598)])return X.debugLog(Y.TAG_NAME,r(1044)+(Y.audio_metadata_.audio_object_type+r(1219)+e.audio_object_type)),!0;if(e[r(722)]!==Y.audio_metadata_[r(722)])return X.debugLog(Y[r(1206)],r(667)+(Y.audio_metadata_[r(722)]+r(1219)+e[r(722)])),!0;if(e.channel_config!==Y.audio_metadata_[r(995)])return X.debugLog(Y[r(1206)],r(637)+(Y[r(609)][r(995)]+r(1219)+e[r(995)])),!0}else if(t[r(821)]===r(1220)&&Y[r(609)][r(821)]===r(1220)){const e=t[r(1101)];if(e[r(488)]!==Y[r(609)][r(488)])return X[r(414)](Y[r(1206)],r(1111)+(Y[r(609)][r(488)]+r(1219)+e[r(488)])),!0;if(e[r(716)]!==Y.audio_metadata_.bit_stream_identification)return X[r(414)](Y[r(1206)],r(826)+(Y.audio_metadata_.bit_stream_identification+r(1219)+e[r(716)])),!0;if(e[r(961)]!==Y[r(609)][r(961)])return X.debugLog(Y[r(1206)],r(904)+(Y[r(609)][r(961)]+r(1219)+e.bit_stream_mode)),!0;if(e.channel_mode!==Y[r(609)].channel_mode)return X[r(414)](Y[r(1206)],"AC3: Channel Mode changed from "+(Y[r(609)].channel_mode+r(1219)+e.channel_mode)),!0;if(e[r(1134)]!==Y[r(609)][r(1134)])return X[r(414)](Y[r(1206)],r(732)+(Y.audio_metadata_.low_frequency_effects_channel_on+r(1219)+e.low_frequency_effects_channel_on)),!0}else if(t[r(821)]===r(379)&&"opus"===Y.audio_metadata_[r(821)]){const e=t.meta;if(e[r(530)]!==Y[r(609)].sample_rate)return X[r(414)](Y[r(1206)],r(672)+(Y[r(609)][r(530)]+r(1219)+e.sample_rate)),!0;if(e[r(925)]!==Y.audio_metadata_.channel_count)return X.debugLog(Y.TAG_NAME,r(1188)+(Y[r(609)].channel_count+r(1219)+e.channel_count)),!0}else if(t.codec===r(843)&&Y.audio_metadata_[r(821)]===r(843)){const e=t[r(1101)];if(e[r(795)]!==Y[r(609)][r(795)])return X[r(414)](Y[r(1206)],r(401)+(Y[r(609)][r(795)]+" to ")+e[r(795)]),!0;if(e.sample_rate!==Y[r(609)][r(530)])return X[r(414)](Y.TAG_NAME,r(549)+(Y[r(609)].sample_rate+r(1219)+e.sample_rate)),!0;if(e[r(925)]!==Y[r(609)][r(925)])return X[r(414)](Y[r(1206)],r(1030)+(Y[r(609)][r(925)]+r(1219)+e[r(925)])),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n.type=r(480),n.id=Y[r(934)].id,n[r(1187)]=1e3,n[r(1159)]=Y[r(565)],Y[r(609)].codec===r(573)){let e=t.codec===r(573)?t.data:null,i=new jo(e);n.audioSampleRate=i.sampling_rate,n.audioSampleRateIndex=i[r(947)],n[r(794)]=i.channel_count,n[r(821)]=i.codec_mimetype,n[r(1227)]=i.original_codec_mimetype,n[r(989)]=i[r(989)],n[r(799)]=1024/n[r(619)]*n[r(1187)],r(766);const s=mt({profile:X[r(812)].mseDecodeAudio?i[r(795)]:i[r(1113)],sampleRate:n[r(290)],channel:n[r(794)]});X.decodeAudio(s,0)}else Y[r(609)][r(821)]===r(1220)||"ec-3"===Y[r(609)][r(821)]||Y[r(609)].codec===r(379)||Y[r(609)][r(821)]===r(843)&&(n.audioSampleRate=Y.audio_metadata_[r(530)],n[r(794)]=Y[r(609)].channel_count,n[r(821)]=r(843),n[r(1227)]=r(843),n[r(989)]=void 0);0==Y[r(937)]&&X[r(414)](Y.TAG_NAME,r(639)+n[r(821)]),Y[r(937)]=!0,Y[r(445)]=!1;let i=Y[r(919)];i[r(1040)]=!0,i[r(310)]=n.originalCodec,i[r(619)]=n.audioSampleRate,i[r(822)]=n.channelCount,i[r(1057)]&&i.videoCodec?i[r(738)]=r(743)+i[r(523)]+","+i[r(310)]+'"':i[r(738)]=r(743)+i[r(310)]+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s[i(638)]=t,s[i(1157)]=r,s[i(338)]=n},parsePESPrivateDataPayload(t,r,n,i,s){const a=e;let o=new No;if(o[a(638)]=i,o[a(1209)]=s,o[a(712)]=t[a(733)],o.data=t,null!=r){let e=Math[a(863)](r/Y[a(914)]);o[a(750)]=e}else o[a(375)]=Y[a(736)]();if(null!=n){let e=Math.floor(n/Y[a(914)]);o.dts=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const a=e;X.debugLog(Y.TAG_NAME,a(1002)+i+a(660)+r+a(676)+n+", stream_id="+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const a=e;X.debugLog(Y[a(1206)],"Synchronous KLV Metadata: pid="+i+a(660)+r+a(676)+n+a(687)+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;X[i(414)](Y[i(1206)],i(735)+r+i(687)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const a=e;X[a(414)](Y[a(1206)],a(620)+i+a(660)+r+", dts="+n+a(687)+s)},getNearestTimestampMilliseconds(){const t=e;return null!=Y.audio_last_sample_pts_?Math[t(863)](Y[t(696)]):null!=Y.last_pcr_?Math[t(863)](Y.last_pcr_/300/Y[t(914)]):void 0},_preDoDecode(){const t=e,r=Y[t(886)],n=Y[t(934)];let i=r.samples;n.samples[t(1104)]>0&&(i=r[t(661)][t(466)](n[t(661)]),i=i.sort(((e,r)=>{const n=t;return e[n(1067)]-r[n(1067)]}))),i.forEach((e=>{const r=t,n=new Uint8Array(e[r(700)]);delete e.payload,e[r(486)]===Ie[r(543)]?Y._doDecodeVideo({...e,payload:n}):e[r(486)]===Ie[r(480)]&&Y[r(1150)]({...e,payload:n})})),r[t(661)]=[],r[t(1104)]=0,n[t(661)]=[],n[t(1104)]=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t[r(700)]);let i=null;i=t[r(941)]?nn(n,t[r(374)]):Er(n,t.isIFrame),t[r(374)]&&X[r(1068)](t[r(1067)]);let s=X[r(1054)](i,t.isIFrame);X[r(633)](s,{type:Ie[r(543)],ts:t[r(1067)],isIFrame:t[r(374)],cts:t.cts})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(700)]);let i=n;qt(X._opt.m7sCryptoAudio)&&(i=X[r(606)](n)),X[r(633)](i,{type:Ie[r(480)],ts:t[r(1067)],isIFrame:!1,cts:0})}},J=null;Jt()&&(J={TAG_NAME:"worker MediaSource",_resetInIt(){const t=e;J[t(823)]=null,J[t(402)]=null,J[t(1216)]={},J[t(922)]={},J[t(690)]={},J.sourceBuffer=null,J[t(874)]=null,J.hasInit=!1,J.hasAudioInit=!1,J[t(462)]=!1,J[t(945)]="",J[t(601)]="",J[t(409)]={},J[t(1084)]={},J[t(328)]=!1,J[t(372)]=0,J[t(311)]=0,J[t(834)]=null,J.firstAudioTime=null,J[t(508)]=!1,J.mediaSourceAppendBufferError=!1,J[t(412)]=!1,J[t(460)]=!1,J[t(1052)]=!1,J[t(327)]=null,J[t(778)]=null,J[t(421)]=null,J[t(1166)]=null,J[t(332)]=0,J.isWidthOrHeightChanged=!1,J.prevTs=null,J[t(809)]=null,J[t(1035)]=[],J.pendingRemoveRanges=[],J[t(984)]=[],J[t(671)]=[],J[t(1146)]=[],J[t(869)]=null,J[t(525)]=null,J[t(347)]=null,J[t(443)]=!1,J.$video={currentTime:0,readyState:0}},init(){const t=e;J[t(557)]=new yo,J[t(657)](),J.mediaSource=new(self[t(835)]),J[t(287)]=!!Yt(X[t(812)][t(1129)]),J[t(298)](),X[t(414)](J[t(1206)],t(990))},destroy(){const t=e;J[t(278)](),J[t(1091)](),J[t(1035)]&&J[t(1035)][t(1104)]&&(J[t(1035)].forEach((e=>e())),J[t(1035)]=[]),J[t(657)](),J.mediaSource=null,X[t(414)](J[t(1206)],"destroy")},getState:()=>J.mediaSource&&J.mediaSource.readyState,isStateOpen(){const t=e;return J[t(674)]()===Le[t(1085)]},isStateClosed(){const t=e;return J[t(674)]()===Le[t(441)]},isStateEnded:()=>J[e(674)]()===Le.ended,_bindMediaSourceEvents(){const t=e,{proxy:r}=J.events,n=r(J[t(723)],Oe[t(1065)],(()=>{const e=t;X[e(414)](J.TAG_NAME,e(1065)),J[e(281)]()})),i=r(J.mediaSource,Oe[t(626)],(()=>{const e=t;X.debugLog(J[e(1206)],"sourceClose")})),s=r(J[t(723)],Oe[t(425)],(()=>{const e=t;X.debugLog(J[e(1206)],e(425))}));J[t(1035)][t(492)](n,i,s)},_onMediaSourceSourceOpen(){const t=e;!J[t(405)]&&(X[t(414)](J[t(1206)],t(848)),J[t(403)]()),!J[t(874)]&&(X.debugLog(J.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),J[t(1066)]()),J[t(767)]()&&J._doAppendSegments()},decodeVideo(t,r,n,i){const s=e;if(X.isDestroyed)X[s(630)](J[s(1206)],s(599));else if(Yt(J[s(694)]))if(n&&t[1]===He.sequenceHeader){const e=15&t[0];if(e===Be.h265&&Yt(X._opt[s(944)]))return void J[s(1131)](Te[s(317)]);J[s(1216)].codec=e,postMessage({cmd:Se[s(299)],code:e});const i=new Uint8Array(t);postMessage({cmd:Se.videoCodec,buffer:i,codecId:e},[i.buffer]),J[s(694)]=J[s(971)](t,r,n,e)}else X.debugWarn(J[s(1206)],s(1138)+n+s(1155)+t[1]+s(771));else if(!J[s(287)]&&n&&(J.isDecodeFirstIIframe=!0),J[s(287)]){if(n&&0===t[1]){const e=15&t[0];let r={};e===Be[s(1021)]?r=wr(t[s(1112)](5)):e===Be.h265&&(r=Kr(t));const n=J[s(1216)];n&&n.width&&n[s(432)]&&r&&r[s(435)]&&r[s(458)]&&(r[s(435)]!==n[s(920)]||r[s(458)]!==n[s(432)])&&(X[s(630)](J[s(1206)],s(1016)+n[s(920)]+s(453)+n.height+s(295)+r[s(435)]+s(384)+r[s(458)]+s(1075)),J[s(1099)]=!0,J[s(1131)](Te.mseWidthOrHeightChange,s(725)+n.width+"->"+r.codecWidth+", height: "+n[s(432)]+"->"+r[s(458)]))}if(J[s(1099)])return void X.debugWarn(J.TAG_NAME,s(1015));if($t(t))return void X[s(414)](J.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(t[s(733)]<_e)return void X[s(630)](J[s(1206)],s(1186)+t[s(733)]);let e=r;if(X[s(965)]){if(null===J.firstRenderTime&&(J[s(834)]=r,X[s(414)](J[s(1206)],s(1211)+J[s(834)]),postMessage({cmd:Se[s(747)],value:J[s(834)]})),e=r-J[s(834)],e<0&&(X[s(630)](J[s(1206)],s(1204)+r+s(1222)+J[s(1171)]+s(628)+J[s(834)]+s(408)+X._opt[s(728)]),e=null===J[s(421)]?0:J[s(421)]+X[s(812)][s(728)],J[s(662)](r)))return X[s(630)](J[s(1206)],"decodeVideo is max diff , ts is "+r+" and prevTs is "+J[s(1171)]+s(314)+(J[s(1171)]-r)),void J[s(1131)](Te.mediaSourceTsIsMaxDiff,s(283)+r+" and prevTs is "+J[s(1171)]+s(314)+(J[s(1171)]-r));if(null!==J.prevDts&&e<=J[s(421)]){if(X[s(630)](J[s(1206)],s(757)+e+s(1110)+J[s(421)]+s(751)+r+s(755)+J[s(1171)]+s(858)+(r-J[s(1171)])+s(729)+J[s(834)]+s(524)+n+",\n and mseCorrectTimeDuration is "+X[s(812)][s(728)]+",\n and prevPayloadBufferSize is "+J.prevPayloadBufferSize+s(1207)+t.byteLength),e===J[s(421)]&&J[s(332)]===t[s(733)])return void X[s(630)](J.TAG_NAME,"decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame");if(e=J[s(421)]+X._opt[s(728)],J[s(662)](r))return X[s(630)](J[s(1206)],s(1182)+r+s(1222)+J[s(1171)]+s(314)+(J[s(1171)]-r)+s(1214)),void J[s(1131)](Te[s(864)],s(283)+r+s(1222)+J[s(1171)]+s(314)+(J[s(1171)]-r))}}X.isPlayer?J[s(1119)](t,e,n,i,r):X.isPlayback,J[s(421)]=e,J[s(332)]=t.byteLength,J[s(1171)]=r}else X[s(414)](J.TAG_NAME,s(357))},decodeAudio(t,r){const n=e;if(X.isDestroyed)X.debugWarn(J.TAG_NAME,n(872));else if(Yt(J[n(977)]))J[n(977)]=J[n(1128)](t,r);else{let e=r;if(vt(t))return void X.debugLog(J[n(1206)],n(1213));J[n(895)](),J.isDecodeFirstIIframe?(X[n(965)]&&(null===J[n(759)]&&(J.firstAudioTime=r,X[n(414)](J[n(1206)],n(935)+J[n(759)])),e=r-J[n(759)],e<0&&(X.debugWarn(J[n(1206)],n(1190)+r+n(1222)+J.prevAudioTs+n(741)+J[n(759)]),e=null===J[n(1166)]?0:J[n(1166)]+X[n(812)][n(650)]),null!==J[n(809)]&&e<=J[n(1166)]&&(X[n(630)](J[n(1206)],n(740)+e+" and prev dts is "+J[n(1166)]+n(641)+r+n(755)+J[n(809)]+" ,\n and diff is "+(r-J[n(809)])),e=J[n(1166)]+X[n(812)][n(650)])),X[n(965)]?J[n(382)](t,e,r):X[n(349)],J.prevAudioTs=r,J.prevAudioDts=e):X[n(414)](J[n(1206)],n(427))}},_checkTsIsMaxDiff(t){const r=e;return J[r(1171)]>0&&tye},_decodeConfigurationRecord(t,r,n,i){const s=e;let a=t[s(1112)](5),o={};if(i===Be[s(1021)]?o=wr(a):i===Be.h265&&(o=Zr(a)),J[s(1216)][s(920)]=o[s(435)],J.videoInfo[s(432)]=o.codecHeight,0===o[s(435)]&&0===o.codecHeight)return X[s(630)](J[s(1206)],s(1161),JSON[s(575)](o)),J[s(1131)](Te[s(1081)],"width is "+(0===o.codecWidth)+" and height is "+o[s(458)]),!1;const c={id:qe[s(543)],type:s(543),timescale:1e3,duration:0,avcc:a,codecWidth:o.codecWidth,codecHeight:o[s(458)],videoType:o[s(1118)]},u=wo[s(710)](c);return J[s(823)]=i===Be[s(1021)],o[s(821)]?J[s(945)]=s(873)+o[s(821)]+'"':J.videoMimeType=J.isAvc?Re[s(942)]:Re.hev,postMessage({cmd:Se[s(1060)],w:o[s(435)],h:o.codecHeight}),J[s(403)](),J[s(499)](u[s(838)]),J[s(372)]=0,J[s(409)]={},J[s(328)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,a=i===Me[n(789)],o=i===Me[n(766)];if(Yt(o||a))return X.debugWarn(J[n(1206)],n(801)+i+n(708)),J.emitError(Te[n(547)]),!1;const c={id:qe[n(480)],type:n(480),timescale:1e3};let u={};if(vt(t)){if(u=_t(t[n(1112)](2)),!u)return!1;c.audioSampleRate=u[n(1153)],c[n(794)]=u[n(794)],c[n(989)]=u[n(989)],c[n(799)]=1024/c[n(619)]*c[n(1187)]}else{if(!a)return!1;if(u=Do(t),!u)return!1;c[n(619)]=u[n(1148)],c[n(794)]=u[n(794)],c[n(799)]=1152/c[n(619)]*c[n(1187)]}c[n(821)]=u.codec,c.duration=0;let l=n(1109),d=u.codec,h=null;a&&Yt(X._opt.isFirefox)?(l=n(1020),d="",h=new Uint8Array):h=wo.generateInitSegment(c);let f=c[n(486)]+"/"+l;return d&&d[n(1104)]>0&&(f+=n(616)+d),Yt(J.isAudioInitInfo)&&(O=i===Me.AAC?s?16:8:0===s?8:16,postMessage({cmd:Se[n(1212)],code:i}),postMessage({cmd:Se[n(1210)],sampleRate:c[n(619)],channels:c[n(794)],depth:O}),J.isAudioInitInfo=!0),J[n(601)]=f,J[n(402)]=o,J[n(1066)](),J[n(969)](h.buffer),!0},_initSourceBuffer(){const t=e,{proxy:r}=J.events;if(null===J[t(405)]&&null!==J[t(723)]&&J[t(383)]()&&J[t(945)]){try{X[t(414)](J[t(1206)],t(903),J[t(945)]),J[t(405)]=J[t(723)][t(364)](J[t(945)])}catch(e){return X.debugError(J[t(1206)],"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e[t(849)],e[t(692)](),e),J.emitError(Te[t(390)],e[t(849)]),void(J[t(412)]=!0)}if(J[t(405)]){const e=r(J[t(405)],t(1090),(e=>{const r=t;J[r(460)]=!0,X[r(855)](J.TAG_NAME,r(889),e,e[r(692)]()),J.emitError(Te[r(483)],e[r(849)])})),n=r(J[t(405)],t(433),(()=>{const e=t;J[e(297)]()?J[e(344)]():J[e(767)]()?J[e(765)]():J[e(443)]&&(X.debugLog(J.TAG_NAME,e(704)),J[e(467)]())}));J[t(1035)][t(492)](e,n)}}else X.debugLog(J[t(1206)],t(1224)+J[t(383)]()+" and mseDecoder.isAvc === null is "+(null===J[t(823)]))},_initAudioSourceBuffer(){const t=e,{proxy:r}=J.events;if(null===J[t(874)]&&null!==J[t(723)]&&J[t(383)]()&&J[t(601)]){try{X[t(414)](J[t(1206)],"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",J[t(601)]),J._clearAudioSourceBufferCheckTimeout(),J[t(874)]=J[t(723)][t(364)](J[t(601)])}catch(e){return X[t(855)](J[t(1206)],t(761),e[t(849)],e[t(692)](),e),J[t(1131)](Te[t(390)],e[t(849)]),void(J[t(412)]=!0)}if(J[t(874)]){const e=r(J[t(874)],t(1090),(e=>{const r=t;J[r(460)]=!0,X.debugError(J[r(1206)],r(807),e[r(849)],e[r(692)](),e),J[r(1131)](Te[r(483)],e[r(849)])})),n=r(J.audioSourceBuffer,"updateend",(()=>{const e=t;J[e(297)]()?J._doRemoveRanges():J[e(767)]()?J[e(765)]():J[e(443)]&&(X[e(414)](J[e(1206)],e(820)),J[e(467)]())}));J[t(1035)][t(492)](e,n),null===J[t(347)]&&(J[t(347)]=setTimeout((()=>{const e=t;J[e(895)](),J[e(1131)](Te[e(497)])}),1e3))}}else X[t(414)](J.TAG_NAME,t(608)+J[t(383)]()+t(900)+J.audioMimeType)},_decodeVideo(t,r,n,i,s){const a=e;let o=t[a(1112)](5),c=o.byteLength;if(0===c)return void X[a(630)](J[a(1206)],a(865));let u=(new Date)[a(840)](),l=!1;!J.prevTimestamp&&(J[a(327)]=u,l=!0);const d=u-J.prevTimestamp;if(J[a(778)]=d,d>1e3&&!l&&X.isPlayer&&X.debugLog(J.TAG_NAME,a(818)+u+a(866)+J[a(327)]+a(1041)+d+a(366)),J[a(409)].id&&r>=J[a(409)][a(1067)]){let e=8+J[a(409)][a(744)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[a(1007)](wo.types[a(528)],4),t[a(1007)](J[a(409)][a(1101)],8),J[a(409)][a(1159)]=r-J[a(409)][a(1067)];let n=wo[a(906)](J.cacheTrack,J.cacheTrack[a(1067)]);J[a(409)]={};let i=new Uint8Array(n[a(733)]+t[a(733)]);i.set(n,0),i[a(1007)](t,n[a(733)]),J[a(499)](i.buffer)}else X[a(414)](J[a(1206)],a(537)+r+a(552)+s+a(788)+(J[a(409)]&&J[a(409)][a(1067)])),J[a(328)]=!1,J.cacheTrack={};!J[a(409)]&&(J.cacheTrack={}),J[a(409)].id=qe[a(543)],J[a(409)][a(372)]=++J[a(372)],J[a(409)][a(744)]=c,J[a(409)][a(1067)]=r,J.cacheTrack[a(1223)]=i,J.cacheTrack[a(284)]=n,J[a(409)].data=o,J[a(409)].flags={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},J[a(327)]=(new Date).getTime()},_decodeAudio(t,r,n){const i=e;let s=J[i(402)]?t[i(1112)](2):t[i(1112)](1),a=s[i(733)];if(J[i(1084)].id&&r>=J.cacheAudioTrack[i(1067)]){let e=8+J[i(1084)].size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t.set(wo[i(1105)][i(528)],4),t[i(1007)](J[i(1084)][i(1101)],8),J.cacheAudioTrack[i(1159)]=r-J[i(1084)][i(1067)];let n=wo.moof(J[i(1084)],J.cacheAudioTrack[i(1067)]);J[i(1084)]={};let s=new Uint8Array(n[i(733)]+t[i(733)]);s[i(1007)](n,0),s[i(1007)](t,n[i(733)]),J[i(969)](s[i(838)])}else J[i(1084)]={};!J.cacheAudioTrack&&(J[i(1084)]={}),J[i(1084)].id=qe[i(480)],J[i(1084)][i(372)]=++J.audioSequenceNumber,J[i(1084)].size=a,J.cacheAudioTrack[i(1067)]=r,J.cacheAudioTrack[i(1223)]=0,J.cacheAudioTrack.data=s,J[i(1084)][i(776)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;X[r(574)]?X[r(630)](J[r(1206)],r(348)):J[r(412)]?X.debugWarn(J.TAG_NAME,r(931)):J[r(508)]?X[r(630)](J.TAG_NAME,r(1049)):J[r(345)]?X[r(630)](J[r(1206)],"mseDecoder.mediaSourceAppendBufferError is true"):J[r(460)]?X[r(630)](J.TAG_NAME,r(980)):(J.pendingSegments[r(492)](t),J[r(405)]&&(X[r(812)][r(407)]&&J[r(877)]()&&J[r(659)](),Yt(J.getSourceBufferUpdating())&&J.isStateOpen()&&Yt(J[r(297)]()))?J[r(765)]():J[r(350)]()?(J.mediaSourceBufferError=!0,J.emitError(Te.mseSourceBufferError,r(803))):J[r(381)]()&&(J.mediaSourceBufferError=!0,J[r(1131)](Te.mseSourceBufferError,r(1189))))},appendAudioBuffer(t){const r=e;X[r(574)]?X.debugWarn(J[r(1206)],r(512)):J[r(412)]?X[r(630)](J[r(1206)],r(931)):J[r(508)]?X[r(630)](J[r(1206)],r(1049)):J[r(345)]?X[r(630)](J[r(1206)],"mseDecoder.mediaSourceAppendBufferError is true"):J[r(460)]?X.debugWarn(J[r(1206)],r(980)):(J[r(1146)][r(492)](t),J[r(874)]&&(X[r(812)][r(407)]&&J[r(877)]()&&J[r(659)](),Yt(J[r(1009)]())&&J.isStateOpen()&&Yt(J[r(297)]()))?J._doAppendSegments():J[r(350)]()?(J.mediaSourceBufferError=!0,J[r(1131)](Te.mseSourceBufferError,r(803))):J[r(381)]()&&(J[r(460)]=!0,J[r(1131)](Te[r(483)],r(1189))))},getSourceBufferUpdating(){const t=e;return J[t(405)]&&J[t(405)].updating},getAudioSourceBufferUpdating(){const t=e;return J[t(874)]&&J[t(874)][t(645)]},stop(){const t=e;J.abortSourceBuffer(),J[t(880)](),J[t(467)]()},clearUpAllSourceBuffer(){const t=e;if(J[t(405)]){const e=J.sourceBuffer.buffered;for(let r=0;r0||J[t(1146)][t(1104)]>0},getPendingSegmentsLength:()=>J[e(984)].length,_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(J[t(350)]()||J[t(381)]())X[t(414)](J[t(1206)],"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==J[t(405)]){if(J[t(336)]()&&null===J[t(874)])return X.debugLog(J[t(1206)],t(857)),void(null===J[t(525)]&&(J.audioSourceBufferCheckTimeout=setTimeout((()=>{const e=t;J[e(1091)](),J.emitError(Te[e(688)])}),1e3)));if(Yt(J[t(376)]())&&J[t(984)][t(1104)]>0){const e=J[t(984)].shift();try{J[t(405)].appendBuffer(e)}catch(e){X.debugError(J.TAG_NAME,t(1196),e[t(849)],e),22===e[t(849)]?(J[t(278)](),J.mediaSourceAppendBufferFull=!0,J[t(1131)](Te.mediaSourceFull,t(531)+e[t(849)]+t(726)+e.message)):11===e.code?(J[t(278)](),J[t(345)]=!0,J[t(1131)](Te[t(345)],"code is "+e.code+t(726)+e[t(566)])):(J[t(278)](),J[t(460)]=!0,J[t(1131)](Te[t(483)],t(531)+e[t(849)]+t(726)+e.message))}}if(Yt(J[t(1009)]())&&J[t(1146)][t(1104)]>0){const e=J[t(1146)][t(911)]();try{J[t(874)][t(499)](e)}catch(e){X[t(855)](J.TAG_NAME,t(329),e[t(849)],e),22===e[t(849)]?(J[t(278)](),J[t(508)]=!0,J.emitError(Te[t(824)],"code is "+e[t(849)]+t(726)+e[t(566)])):11===e[t(849)]?(J[t(278)](),J.mediaSourceAppendBufferError=!0,J[t(1131)](Te.mediaSourceAppendBufferError,t(531)+e[t(849)]+t(726)+e.message)):(J[t(278)](),J[t(460)]=!0,J[t(1131)](Te[t(483)],e.code,t(531)+e[t(849)]+t(726)+e[t(566)]))}}}else X[t(414)](J.TAG_NAME,t(894))},_doCleanUpSourceBuffer(){const t=e,r=J[t(493)][t(883)];if(J[t(405)]){const e=J.sourceBuffer.buffered;let n=!1;for(let i=0;i=X[t(812)].mseAutoCleanupMaxBackwardDuration){n=!0;let e=r-X[t(812)].mseAutoCleanupMinBackwardDuration;J[t(949)][t(492)]({start:s,end:e})}}else a=X[t(812)][t(373)]){n=!0;let e=r-X[t(812)][t(1010)];J.pendingAudioRemoveRanges[t(492)]({start:s,end:e})}}else a0||J[t(671)][t(1104)]>0},needInitAudio(){const t=e;return X[t(812)][t(1040)]&&X[t(812)].mseDecodeAudio},_doRemoveRanges(){const t=e;if(J[t(405)]&&Yt(J[t(376)]())){let e=J[t(949)];for(;e.length&&Yt(J[t(376)]());){let r=e[t(911)]();try{J[t(405)][t(623)](r.start,r[t(910)])}catch(e){X.debugWarn(J[t(1206)],t(885),e,e[t(692)]())}}}if(J[t(874)]&&Yt(J[t(1009)]())){let e=J[t(671)];for(;e[t(1104)]&&Yt(J[t(1009)]());){let r=e[t(911)]();try{J[t(874)][t(623)](r[t(686)],r.end)}catch(e){X[t(630)](J.TAG_NAME,t(368),e,e[t(692)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Yt(X[t(812)][t(407)]))return!1;const r=J.$video[t(883)];if(J[t(405)]){let e=J[t(405)][t(440)];if(e[t(1104)]>=1&&r-e[t(686)](0)>=X[t(812)].mseAutoCleanupMaxBackwardDuration)return!0}if(J[t(874)]){let e=J[t(874)].buffered;if(e[t(1104)]>=1&&r-e[t(686)](0)>=X._opt[t(373)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){const t=e;J[t(525)]&&(clearTimeout(J[t(525)]),J[t(525)]=null)},_clearAudioNoDataCheckTimeout(){const t=e;J[t(347)]&&(clearTimeout(J[t(347)]),J[t(347)]=null)},getHandle(){const t=e;return J[t(723)][t(613)]},emitError(t){const r=e;let n=arguments[r(1104)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:Se[r(1028)],value:t,msg:n})}});let X={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:$e[e(968)],_opt:j(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){const t=e;X[t(955)](),d=setInterval((()=>{const e=t;l&&l(0);const r=JSON[e(575)]({demuxBufferDelay:X[e(1064)](),audioDemuxBufferDelay:X[e(457)](),streamBufferByteLength:X[e(570)](),netBuf:X[e(1080)]||0,pushLatestDelay:X[e(355)]||0,latestDelay:X.delay,isStreamTsMoreThanLocal:w,wasmDecodeDelay:_-b});postMessage({cmd:Se.workerFetch,type:ke[e(677)],value:r})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return X[t(812)].useOffscreen&&typeof OffscreenCanvas!=t(358)},getDelay:function(t,r){const n=e;if(!t||X[n(812)][n(1057)]&&!g)return-1;if(r===Ie[n(480)])return X[n(959)];if(X.preDelayTimestamp&&X[n(951)]>t)return X[n(951)]-t>1e3&&X[n(630)](n(964),n(1079)+X[n(951)]+n(954)+t+n(884)+(X.preDelayTimestamp-t)+n(553)+X[n(959)]),X[n(951)]=t,X[n(959)];if(X.firstTimestamp){if(t){const e=Date[n(1151)]()-X[n(986)],r=t-X[n(993)];e>=r?(w=!1,X.delay=e-r):(w=!0,X[n(959)]=r-e)}}else X[n(993)]=t,X[n(986)]=Date[n(1151)](),X[n(959)]=-1;return X.preDelayTimestamp=t,X[n(959)]},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||X._opt[n(1057)]&&!g)return-1;if(r===Ie[n(480)])return X[n(355)];if(X[n(951)]&&X[n(951)]-t>1e3)return X[n(630)](n(964),"getDelayNotUpdateDelay() and preDelayTimestamp is "+X[n(951)]+n(954)+t+n(884)+(X[n(951)]-t)+"ms and return -1"),-1;if(X[n(993)]){let e=-1;if(t){const r=Date.now()-X[n(986)],i=t-X[n(993)];r>=i?(w=!1,e=r-i):(w=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;X[t(993)]=null,X.startTimestamp=null,X[t(959)]=-1,X[t(1063)]=!1},resetAllDelay:function(){const t=e;X[t(921)](),X[t(951)]=null},doDecode:function(t){const r=e;X[r(812)][r(1051)]&&t[r(486)]===Ie[r(543)]&&X[r(943)]&&X.findSei(t[r(700)],t.ts),X[r(555)]()?t[r(486)]===Ie[r(480)]?X[r(812)].mseDecodeAudio?J.decodeAudio(t[r(700)],t.ts):t[r(1124)][r(633)](t[r(700)],t.ts):t[r(486)]===Ie[r(543)]&&J[r(675)](t[r(700)],t.ts,t[r(374)],t[r(1223)]):X[r(812)].useWCS&&X.useOffscreen()&&t.type===Ie.video&&o[r(633)]?o.decode(t.payload,t.ts,t[r(1223)]):t.decoder[r(633)](t.payload,t.ts,t[r(374)],t[r(1223)])},decodeNext(t){const r=e;if(0===s[r(1104)])return;const i=t.ts,a=s[0],o=t[r(486)]===Ie.video&&$t(t.payload);if(Yt(n))o&&(X[r(414)](r(964),r(1160)+t[r(486)]+r(828)+i+r(1023)+a[r(486)]+r(978)+a.ts+"\n isVideoSqeHeader is "+o),s[r(911)](),X.doDecode(a));else{const e=a.ts-i,n=a.type===Ie.audio&&t[r(486)]===Ie.video;(e<=20||n||o)&&(X[r(414)]("worker",r(1160)+t.type+r(828)+i+r(1023)+a.type+r(978)+a.ts+r(781)+e+r(924)+n+r(1152)+o),s.shift(),X[r(464)](a))}},init:function(){const t=e;X[t(414)](t(964),"init and forHardDecode is "+n+" and forOldVersion is "+i+" and opt is",JSON.stringify(X[t(812)]));const r=X[t(812)].playType===ae[t(850)],a=X._opt[t(513)]===ae[t(685)],c=X[t(812)][t(513)]===ae[t(388)];if(G.init(),X[t(965)]=r,X[t(349)]=a,X[t(1165)]=c,X[t(555)]()&&J&&J[t(990)](),o&&X[t(812)][t(581)]&&X[t(353)]()&&o[t(990)](),Yt(X[t(1076)]())||X[t(1165)]){X[t(414)](t(964),"setInterval()");const e=()=>{const e=t,n=X[e(812)].videoBuffer+X[e(812)][e(571)];let i=null;if(s[e(1104)]){if(X[e(1036)])return void X[e(630)](e(964),e(456)+s[e(1104)]);if(X[e(1063)]){for(i=s[e(911)](),X[e(630)]("worker",e(612)+i.isIFrame+e(413)+X[e(959)]+e(1203)+s[e(1104)]);!i[e(374)]&&s.length;)i=s[e(911)]();const t=X[e(742)](i.ts,i[e(486)]);i[e(374)]&&t<=X[e(760)]()&&(X[e(414)](e(964),e(424)),X[e(1063)]=!1,X.doDecode(i),X[e(1180)](i))}else if(X[e(349)]||X[e(643)]()||0===X[e(812)][e(316)]||X[e(1165)])for(;s.length;)i=s[e(911)](),X.doDecode(i);else if(i=s[0],-1===X[e(1117)](i.ts,i.type))X[e(414)](e(964),e(1200),i.ts),s[e(911)](),X.doDecode(i),X[e(1180)](i);else if(X[e(959)]>n&&r)X[e(962)]()?(X[e(414)](e(964),e(907)+X.delay+" > maxDelay "+n+e(500)),X[e(1042)](),X[e(1063)]=!0,postMessage({cmd:Se[e(679)]})):(s[e(911)](),X[e(464)](i),X[e(1180)](i));else for(;s[e(1104)];){if(i=s[0],!(X[e(1117)](i.ts,i.type)>X[e(812)][e(316)])){X.delay<0&&X[e(630)]("worker",e(651)+X[e(959)]+e(862)+s[e(1104)]);break}s[e(911)](),X[e(464)](i)}}else-1!==X[e(959)]&&X[e(414)](e(964),e(854)),X[e(1042)]()};X[t(734)]=setInterval((()=>{const r=t;let n=(new Date).getTime();!S&&(S=n);const i=n-S;i>100&&X[r(630)]("worker",r(576)+i),e(),S=(new Date)[r(840)]()}),20)}else X[t(414)](t(964),t(610));if(Yt(X._opt[t(1129)])&&(g=!0),X[t(555)]()&&J){const e=J[t(1142)]();e&&postMessage({cmd:Se.mseHandle,mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;X[t(946)]();const r=()=>{const e=t;let r=null;s[e(1104)]&&(r=s[e(911)](),X.doDecode(r))};r();const n=Math[t(1053)](1e3/(X[t(484)]*X[t(812)][t(724)]));X[t(414)](t(964),"playbackCacheLoop fragDuration is "+n+t(1073)+X[t(484)]+t(871)+X[t(1013)]+t(494)+X[t(400)]+" playbackRate is "+X[t(812)][t(724)]),X[t(734)]=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;X[t(734)]&&(clearInterval(X[t(734)]),X.stopId=null)},startPlaybackCacheLoop:function(){X[e(551)]()},close:function(){const t=e;if(X[t(414)](t(964),"close"),X.isDestroyed=!0,W(),!u||1!==u[t(586)]&&2!==u[t(586)]?u&&X.debugLog("worker",t(996)+u.readyState):(z=!0,u[t(1121)](1e3,"Client disconnecting")),u&&(u[t(1103)]=null,u[t(876)]=null,u[t(318)]=null,u.onerror=null),u=null,X[t(955)](),X[t(734)]&&(clearInterval(X[t(734)]),X[t(734)]=null),X[t(1039)]&&(X[t(1039)].destroy(),X.mp3Demuxer=null),X[t(837)]&&Yt(X[t(837)][t(1116)])&&X[t(837)][t(1121)]()[t(446)]((e=>{const r=t;X[r(414)](r(964),r(300),e.toString(),e)})),X.writableStream=null,K)try{K[t(836)]&&K.clear(),K=null}catch(e){X[t(414)](t(964),t(420),e[t(692)](),e)}if(Z)try{Z.clear&&Z[t(836)](),Z=null}catch(e){X[t(414)](t(964),t(516),e[t(692)]())}l=null,S=null,w=!1,_=0,b=0,o&&(o[t(1008)]&&o[t(1008)](),o=null),J&&(J.destroy(),J=null),X.firstTimestamp=null,X[t(986)]=null,X[t(1080)]=0,X[t(484)]=null,X[t(1013)]=null,X[t(400)]=null,X[t(959)]=-1,X[t(355)]=-1,X[t(951)]=null,X[t(1063)]=!1,X[t(1036)]=!1,X[t(965)]=!0,X[t(349)]=!1,X[t(1165)]=!1,X[t(943)]=!1,X[t(941)]=null,X[t(812)]=j(),X.webglObj&&(X[t(817)][t(1008)](),X[t(810)][t(1058)]("webglcontextlost",X[t(715)]),X[t(810)].removeEventListener("webglcontextrestored",X[t(423)]),X.offscreenCanvas=null,X[t(333)]=null,X.offscreenCanvasCtx=null),s=[],a=[],h&&(h[t(1121)](),h=null),p=null,m=null,v=!1,y=!1,g=!1,U=!1,F=!1,R=!1,L=null,E=[],T=0,x=0,I=null,A=null,B=null,D=null,O=null,M=0,P=0,k=null,C=null,X[t(473)]=$e[t(968)],N=!0,G.destroy(),$[t(1008)](),q[t(1008)](),Y[t(1008)](),X.debug=null,X[t(812)]={},postMessage({cmd:Se.closeEnd})},pushBuffer:function(t,r){const i=e;if(r[i(486)]===Ie[i(480)]&&vt(t)){if(X[i(414)]("worker",i(1170)+r.ts+i(774)),X[i(812)][i(602)]){const e=new Uint8Array(t);postMessage({cmd:Se[i(1208)],buffer:e},[e[i(838)]])}X[i(1156)](t,r.ts)}else if(r[i(486)]===Ie[i(543)]&&r[i(374)]&&$t(t)){if(X[i(414)](i(964),i(607)+r.ts+i(478)),X[i(812)][i(602)]){const e=new Uint8Array(t);postMessage({cmd:Se[i(994)],buffer:e},[e[i(838)]])}X[i(675)](t,r.ts,r.isIFrame,r[i(1223)])}else{if(X[i(812)][i(1201)])if(X[i(812)][i(602)]){const e=new Uint8Array(t);postMessage({cmd:Se[i(909)],type:r[i(486)],buffer:e,ts:r.ts},[e[i(838)]])}else if(X[i(812)][i(308)]===oe[i(1109)])if(r.type===Ie.video){const e=new Uint8Array(t)[i(1112)](5);postMessage({cmd:Se.videoNalu,buffer:e,isIFrame:r[i(374)],ts:r.ts,cts:r[i(1223)]},[e[i(838)]])}else if(r[i(486)]===Ie.audio&&X[i(812)].isWasmMp4){const e=new Uint8Array(t),n=yt(e)?e[i(1112)](2):e[i(1112)](1);postMessage({cmd:Se[i(539)],buffer:n,ts:r.ts},[n[i(838)]])}if(X[i(965)]){if(r[i(486)]===Ie[i(543)]){if(M>0){const e=r.ts-D,t=M+M/2;e>t&&X[i(414)]("worker",i(775)+r[i(374)]+i(798)+r.ts+", preTs is "+D+i(693)+e+i(1046)+M+i(658)+t+i(784))}if(null!==D&&D>=r.ts&&(X[i(630)]("worker","pushBuffer() and isIFrame is "+r[i(374)]+i(940)+r.ts+i(653)+D+i(303)+t[i(733)]+i(294)+P),D-r.ts>ye&&(X[i(630)](i(964),i(534)+D+i(1022)+r.ts+i(693)+(D-r.ts)+i(884)+ye+i(465)),X[i(1042)](),D=null,M=0),X[i(812)].isDropSameTimestampGop&&Yt(r[i(374)])&&g)){const e=X[i(962)](),t=Yt(X[i(1036)]);return X.debugLog(i(964),i(469)+e+" and isNotPushDropping is "+t+i(1162)),void(e&&t?X[i(1100)]():(X[i(459)](!0),qt(X[i(812)].checkFirstIFrame)&&qt(n)&&(X[i(555)]()?J[i(287)]=!1:postMessage({cmd:Se[i(1129)]}))))}D>0&&(M=r.ts-D),P=t.byteLength,D=r.ts}if(g){const e=X._opt.videoBuffer+X[i(812)][i(571)],t=X[i(742)](r.ts,r.type);X.pushLatestDelay=t,X[i(959)]>0&&t>e&&X[i(959)]({type:e.type,ts:e.ts})));X[i(414)]("worker",i(1071)+t+i(762)+e+i(418)+s.length+i(827)+JSON[i(575)](r))}const r=X[i(457)]()>0,n=r?60:40;s[i(1104)]>=n&&(X[i(630)](i(964),i(1136)+s[i(1104)]+i(884)+n+", and hasAudio is "+r+i(754)),X[i(400)]=25,postMessage({cmd:Se[i(470)],value:X[i(400)]}),r?(X.streamAudioFps=25,X[i(484)]=X[i(400)]+X[i(1013)]):X[i(484)]=X[i(400)],X[i(551)]())}}},getVideoBufferLength(){let t=0;return s[e(444)]((e=>{e.type===Ie.video&&(t+=1)})),t},hasIframeInBufferList(){const t=e;return s[t(455)]((e=>{const r=t;return e[r(486)]===Ie[r(543)]&&e.isIFrame}))},isAllIframeInBufferList(){const t=e,r=X[t(1064)]();let n=0;return s[t(444)]((e=>{const r=t;e[r(486)]===Ie[r(543)]&&e[r(374)]&&(n+=1)})),r===n},getNotDroppingDelayTs(){const t=e;return X[t(812)][t(316)]+X._opt.videoBufferDelay/2},getAudioBufferLength(){const t=e;let r=0;return s[t(444)]((e=>{const n=t;e[n(486)]===Ie[n(480)]&&(r+=1)})),r},getStreamBufferLength(){const t=e;let r=0;return h&&h[t(838)]&&(r=h.buffer[t(733)]),X[t(812)][t(839)]?G[t(1088)]&&(r=G.lastBuf[t(733)]):X[t(812)].isTs?Y[t(554)]&&(r=Y[t(554)][t(733)]):X[t(812)][t(603)]&&$[t(419)]&&(r=$[t(419)][t(793)]()),r},fetchStream:function(t,r){const n=e;let i=arguments[n(1104)]>2&&void 0!==arguments[2]?arguments[2]:[];if(X[n(414)](n(964),n(646)+t,"options:",JSON[n(575)](r)),X[n(943)]=!0,r[n(517)]?X._opt[n(517)]=!0:r[n(603)]?X[n(812)][n(603)]=!0:r[n(721)]?X[n(812)][n(721)]=!0:r[n(839)]?X[n(812)][n(839)]=!0:r[n(342)]&&(X._opt[n(342)]=!0),l=Ut((e=>{const t=n;postMessage({cmd:Se[t(952)],type:ke[t(482)],value:e})})),X[n(990)](),X[n(468)](),r[n(603)]&&$[n(485)](),r.protocol===ie[n(1169)]){r[n(517)]&&(h=new ir(X.demuxFlv())),c=new AbortController;const e=Object[n(506)]({signal:c.signal},{headers:r[n(593)]&&r.options[n(956)]||{}});fetch(t,e)[n(428)]((e=>{const t=n;if(qt(z))return X[t(414)](t(964),t(631)),X[t(473)]=$e[t(968)],void e[t(1191)][t(1167)]();if(!Wt(e))return X[t(630)](t(964),t(396)+e[t(706)]+t(958)+e.ok+" and emit error and next abort()"),W(),void postMessage({cmd:Se[t(952)],type:Te[t(527)],value:t(396)+e.status+t(958)+e.ok});if(postMessage({cmd:Se[t(952)],type:ke[t(953)]}),Ht())X[t(837)]=new WritableStream({write:e=>{const n=t;return c&&c[n(695)]&&c[n(695)].aborted?(X[n(414)](n(964),n(430)),void(X[n(473)]=$e[n(912)])):qt(z)?(X[n(414)](n(964),n(434)),X[n(473)]=$e[n(912)],void W()):void(typeof e!==n(334)?(X[n(473)]=$e[n(967)],l(e[n(733)]),r[n(517)]?h.write(e):r[n(603)]?X[n(618)](e):r[n(721)]?X[n(948)](e):r[n(342)]?X[n(312)](e):r.isNakedFlow&&X[n(913)](e)):X[n(630)](n(964),n(1194)+e+n(831)))},close:()=>{const e=t;X[e(414)]("worker",e(1018)),X[e(473)]=$e.complete,W(),X.isPlayVod?X[e(414)](e(964),e(378)):X[e(812)][e(277)]?(h&&(h.close(),h=null),postMessage({cmd:Se[e(952)],type:ke[e(1125)],value:se[e(1169)],msg:e(979)})):postMessage({cmd:Se[e(952)],type:ke[e(415)]})},abort:e=>{const r=t;if(c&&c[r(695)]&&c[r(695)][r(929)])return X[r(414)](r(964),r(791)),void(X[r(473)]=$e[r(912)]);h&&(h[r(1121)](),h=null),e[r(829)]!==Ne[r(546)]?(X[r(414)]("worker",r(705)+e[r(692)]()),W(),postMessage({cmd:Se.workerFetch,type:Te[r(527)],value:e.toString()})):X[r(414)](r(964),r(933))}}),e[t(1191)][t(354)](X[t(837)])[t(446)]((e=>{const r=t;e[r(829)]!==r(878)&&X[r(414)](r(964),r(1069),e[r(829)],e[r(692)]())}));else{const n=e.body[t(665)](),i=()=>{const e=t;n[e(1149)]()[e(428)]((t=>{const n=e;let{done:s,value:a}=t;return s?(X[n(414)](n(964),n(404)),X.fetchStatus=$e[n(912)],W(),void(X[n(812)][n(277)]?(h&&(h[n(1121)](),h=null),postMessage({cmd:Se[n(952)],type:ke[n(1125)],value:se.fetch,msg:n(979)})):postMessage({cmd:Se[n(952)],type:ke[n(415)]}))):c&&c[n(695)]&&c[n(695)][n(929)]?(X[n(414)](n(964),n(936)),void(X.fetchStatus=$e[n(912)])):qt(z)?(X[n(414)](n(964),n(498)),X[n(473)]=$e[n(912)],void W()):void("string"!=typeof a?(X[n(473)]=$e[n(967)],l(a.byteLength),r.isFlv?h[n(1003)](a):r[n(603)]?X.demuxFmp4(a):r[n(721)]?X[n(948)](a):r[n(342)]?X[n(312)](a):r[n(839)]&&X.demuxNakedFlow(a),i()):X.debugWarn("worker",n(1147)+a+n(1126)))}))[e(446)]((t=>{const r=e;if(c&&c[r(695)]&&c[r(695)][r(929)])return X.debugLog(r(964),"fetchNext().catch() and abortController.signal.aborted is true so return"),void(X[r(473)]=$e[r(912)]);h&&(h[r(1121)](),h=null),t[r(829)]!==Ne[r(546)]?(X[r(414)]("worker",r(536)+t[r(692)]()),W(),postMessage({cmd:Se[r(952)],type:Te.fetchError,value:t.toString()})):X[r(414)](r(964),"fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{const t=n;c&&c[t(695)]&&c.signal.aborted?X[t(414)](t(964),t(1181)):e[t(829)]!==Ne[t(546)]?(X.debugLog(t(964),t(867)+e[t(692)]()),W(),postMessage({cmd:Se.workerFetch,type:Te[t(527)],value:e[t(692)]()}),h&&(h.close(),h=null)):X[t(414)]("worker",t(351))}))}else r[n(305)]===ie[n(449)]&&(r[n(517)]&&(h=new ir(X[n(666)]())),u=new WebSocket(t,i),u.binaryType="arraybuffer",u[n(1103)]=()=>{const e=n;X[e(414)](e(964),e(398)),postMessage({cmd:Se[e(952)],type:ke.streamSuccess}),postMessage({cmd:Se[e(952)],type:ke.websocketOpen})},u.onclose=e=>{const t=n;X[t(574)]?X.debugLog(t(964),t(768)+e[t(849)]+t(684)):f?X[t(414)](t(964),t(768)+e[t(849)]+t(1005)):(X[t(414)]("worker",t(768)+e[t(849)]),1006===e[t(849)]&&X[t(855)](t(964),t(1168)+e.code),qt(z)?X[t(414)](t(964),t(796)):X[t(812)][t(277)]?(h&&(h.close(),h=null),postMessage({cmd:Se[t(952)],type:ke[t(1125)],value:se[t(449)],msg:e.code})):postMessage({cmd:Se[t(952)],type:ke.streamEndInner}))},u[n(938)]=e=>{const t=n;X[t(855)](t(964),"fetchStream, WebsocketStream socket error",e,e[t(692)]()),f=!0,h&&(h[t(1121)](),h=null),X[t(574)]?X[t(414)](t(964),t(322)):qt(z)?X[t(414)](t(964),"fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:Se.workerFetch,type:Te[t(974)],value:e[t(714)]?t(369):t(669)})},u[n(876)]=e=>{const t=n;"string"!=typeof e[t(1101)]?(l(e.data.byteLength),r[t(517)]?h.write(e[t(1101)]):r[t(603)]?X.demuxFmp4(e[t(1101)]):r.isMpeg4?X[t(948)](e[t(1101)]):X[t(812)].isNakedFlow?X.demuxNakedFlow(e.data):X.demuxM7s(e.data)):X[t(630)](t(964),t(611)+e.data+'" and return')})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let a=i[0];const o=(yield s)[t(1112)]();switch(r){case Ae.audio:if(o[t(733)]>0){let e=o;qt(X[t(812)][t(447)])&&(e=X[t(606)](o)),X[t(633)](e,{type:Ie[t(480)],ts:a})}else X.debugWarn("worker","demuxFlv() type is audio and payload.byteLength is "+o[t(733)]+t(1095));break;case Ae[t(543)]:if(o[t(733)]>=6){const e=o[0];if(X._isEnhancedH265Header(e))X[t(1164)](o,a);else{const e=15&o[0];let r=o[0]>>4===je[t(346)];const n=e===Be[t(1144)];if(t(1021),Yt(r)&&qt(Xt(o,n))&&(X.debugLog(t(964),"demux() isIFrame is false and unit type is IDR and update to true"),r=!0),r&&$t(o)&&null===X.isHevc){const e=15&o[0];X[t(941)]=e===Be.h265,L=Tt(o,X[t(941)]),X.debugLog(t(964),t(288)+X.isHevc+" and nalUnitSize is "+L)}r&&X[t(1068)](a),X[t(965)]&&X[t(514)](a),i[0]=o[4],i[1]=o[3],i[2]=o[2],i[3]=0;let s=i[0],c=X[t(1054)](o,r);X.decode(c,{type:Ie[t(543)],ts:a,isIFrame:r,cts:s})}}else X.debugWarn("worker","demuxFlv() type is video and payload.byteLength is "+o.byteLength+t(1095));break;case Ae.scriptData:postMessage({cmd:Se[t(786)],buffer:o},[o[t(838)]]);break;default:X[t(414)]("worker","demuxFlv() type is "+r)}}},decode:function(t,r){const n=e;r.type===Ie[n(480)]?X[n(812)].hasAudio&&(postMessage({cmd:Se[n(952)],type:ke[n(1221)],value:t[n(733)]}),X[n(965)]?X[n(1087)](t,{type:r.type,ts:r.ts,cts:r.cts}):X[n(349)]?X[n(1225)]()||(X[n(1076)](),X[n(1087)](t,{type:r[n(486)],ts:r.ts,cts:r[n(1223)]})):X[n(1165)]&&X[n(1087)](t,{type:r.type,ts:r.ts,cts:r[n(1223)]})):r.type===Ie[n(543)]&&X._opt[n(1057)]&&(postMessage({cmd:Se[n(952)],type:ke.streamVbps,value:t[n(733)]}),postMessage({cmd:Se.workerFetch,type:ke[n(386)],value:r.ts}),X[n(965)]?X.pushBuffer(t,{type:r[n(486)],ts:r.ts,isIFrame:r[n(374)],cts:r.cts}):X[n(349)]?X[n(1225)]()?r.isIFrame&&X[n(1087)](t,{type:r.type,ts:r.ts,cts:r[n(1223)],isIFrame:r[n(374)]}):(X[n(1076)](),X[n(1087)](t,{type:r[n(486)],ts:r.ts,cts:r[n(1223)],isIFrame:r[n(374)]})):X[n(1165)]&&X[n(1087)](t,{type:r[n(486)],ts:r.ts,cts:r[n(1223)],isIFrame:r[n(374)]}))},cryptoPayload:function(t,r){const n=e;let i=t;return X[n(812)][n(1217)]?X[n(812)].cryptoIV&&X[n(812)][n(339)].byteLength>0&&X[n(812)][n(503)]&&X[n(812)][n(503)][n(733)]>0?i=ya(t,X[n(812)][n(503)],X[n(812)][n(339)],X[n(941)]):X.debugError(n(964),"isM7sCrypto cryptoKey.length is "+(X[n(812)][n(503)]&&X._opt[n(503)].byteLength)+n(569)+(X[n(812)][n(339)]&&X._opt[n(339)][n(733)])+" null"):X[n(812)].isSm4Crypto?X._opt[n(533)]?i=X[n(812)][n(339)]&&X[n(812)][n(339)][n(733)]>0&&X[n(812)].cryptoKey&&X[n(812)].cryptoKey[n(733)]>0?cc(t,X[n(812)].cryptoKey,X[n(812)].cryptoIV,X[n(941)],X._opt[n(587)]):Ja(t,X[n(812)][n(533)],X[n(941)],X[n(812)][n(587)]):!X[n(812)][n(533)]&&X[n(855)](n(964),n(899)):X[n(812)][n(319)]&&(X._opt[n(339)]&&X[n(812)][n(339)].byteLength>0&&X[n(812)][n(503)]&&X._opt[n(503)].byteLength>0?i=co(t,X[n(812)][n(503)],X._opt[n(339)],X[n(941)]):X[n(855)](n(964),n(719)+(X[n(812)][n(503)]&&X[n(812)][n(503)][n(733)])+n(569)+(X[n(812)][n(339)]&&X[n(812)][n(339)][n(733)])+n(1014))),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return X[r(812)].isM7sCrypto&&(X._opt[r(339)]&&X._opt.cryptoIV[r(733)]>0&&X[r(812)].cryptoKey&&X._opt[r(503)].byteLength>0?t[0]>>4===Me.AAC&&(n=ga(t,X[r(812)].cryptoKey,X[r(812)][r(339)])):X[r(855)](r(964),r(1074)+(X[r(812)][r(503)]&&X[r(812)].cryptoKey[r(733)])+r(569)+(X[r(812)][r(339)]&&X[r(812)][r(339)][r(733)])+" null")),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,a=t[0]>>1&1;if(O=s===Me.AAC?a?16:8:0===a?8:16,K&&K[n(367)]||!Yt(i))if(vt(t)||s===Me[n(385)]||s===Me[n(773)]||s===Me[n(789)]){X.debugLog(n(964),n(861)+s+n(1205)+X[n(812)][n(1153)]);const e=s===Me.AAC?t[n(1112)](2):new Uint8Array(0);if(i){if(s===Me[n(789)])return void X[n(855)](n(964),n(833));K[n(530)]=X[n(812)].sampleRate,K[n(633)](t,r)}else K[n(367)](s,X[n(812)][n(1153)],e,X.getBuildTime());s===Me[n(766)]&&postMessage({cmd:Se[n(763)],buffer:e},[e[n(838)]]),y=!0,s!==Me[n(766)]&&(s===Me[n(789)]?(!X.mp3Demuxer&&(X[n(1039)]=new no(X),X[n(1039)].on(n(1101),((e,t)=>{K[n(633)](e,t)}))),X.mp3Demuxer[n(377)](t[n(1112)](1),r)):K[n(633)](t[n(1112)](1),r));const a=Number("1")||1;setTimeout((()=>{const e=n;X.debugError(e(964),"Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),X.close(),postMessage({cmd:Se[e(337)]})}),60*a*60*1e3)}else X[n(630)](n(964),"setCodecAudio: hasInitAudioCodec is false, codecId is ",s);else X[n(855)](n(964),n(680))},decodeAudio:function(t,r){const s=e;if(X.isDestroyed)X.debugLog(s(964),s(859));else if(X[s(841)]())J[s(1156)](t,r);else if(qt(n)&&qt(X[s(812)][s(491)]))postMessage({cmd:Se.audioPayload,payload:t,ts:r,cts:r},[t.buffer]);else{const e=t[0]>>4;if(y){if(vt(t))return void X[s(414)](s(964),s(1213));i?K[s(633)](t,r):e===Me[s(789)]?X[s(1039)][s(377)](t[s(1112)](1),r):K[s(633)](e===Me[s(766)]?t.slice(2):t[s(1112)](1),r)}else X[s(1114)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Z&&Z.setCodec||!Yt(i))if($t(t))if(s===Be[n(1021)]||s===Be.h265){X[n(414)](n(964),n(972)+s);const e=t.slice(5);if(s===Be[n(1021)]&&X[n(812)][n(963)]){const t=wr(e);if(t[n(435)]>ge||t[n(458)]>ge)return postMessage({cmd:Se.simdH264DecodeVideoWidthIsTooLarge,value:n(725)+t[n(435)]+n(624)+ge+n(1102)+t[n(458)]+" > "+ge}),void X[n(630)](n(964),n(960)+t[n(435)]+", height is "+t[n(458)])}const r=new Uint8Array(t);v=!0,i?Z[n(633)](t,0):Z.setCodec(s,e,X.getBuildTime()),postMessage({cmd:Se[n(299)],code:s}),postMessage({cmd:Se.videoCodec,buffer:r,codecId:s},[r[n(838)]])}else X[n(630)]("worker",n(896)+s+" is not H264 or H265");else X[n(630)](n(964),"decodeVideo: hasInitVideoCodec is false, codecId is "+s+n(844)+r+n(981)+t[1]);else X[n(855)]("worker",n(330))},decodeVideo:function(t,r,s){const a=e;let o=arguments[a(1104)]>3&&void 0!==arguments[3]?arguments[3]:0;if(X[a(574)])X[a(414)](a(964),a(1123));else if(X[a(555)]())J[a(675)](t,r,s,o);else if(qt(n))postMessage({cmd:Se[a(585)],payload:t,isIFrame:s,ts:r,cts:o,delay:X[a(959)]},[t[a(838)]]);else if(v)if(!g&&s&&(g=!0),g){if(s&&$t(t)){const e=15&t[0];let r={};e===Be.h264?r=wr(t[a(1112)](5)):e===Be[a(1144)]&&(r=Kr(t)),r[a(435)]&&r[a(458)]&&p&&m&&(r[a(435)]!==p||r[a(458)]!==m)&&(X[a(630)](a(964),"\n decodeVideo: video width or height is changed,\n old width is "+p+a(453)+m+a(1120)+r[a(435)]+a(384)+r[a(458)]+a(851)),F=!0,postMessage({cmd:Se.wasmWidthOrHeightChange,value:a(725)+p+"->"+r.codecWidth+", height: "+m+"->"+r[a(458)]}))}if(F)return void X[a(630)](a(964),a(1015));if(R)return void X[a(630)](a(964),"decodeVideo: simd decode error, and return");if($t(t))return void X[a(414)](a(964),a(588));if(t[a(733)]<_e)return void X[a(630)]("worker","decodeVideo and payload is too small , payload length is "+t[a(733)]);if(_=r,i)Z[a(633)](t,r);else{const e=t[a(1112)](5);Z[a(633)](e,s?1:0,r)}}else X[a(414)](a(964),"decodeVideo first frame is not iFrame");else X[a(950)](t,s)},clearBuffer:function(){const t=e;let r=arguments[t(1104)]>0&&void 0!==arguments[0]&&arguments[0];X.debugLog("worker",t(452)+s[t(1104)]+t(856)+r),r&&(s=[]),X[t(965)]&&(X.resetAllDelay(),qt(X[t(812)].checkFirstIFrame)&&(X[t(1063)]=!0,postMessage({cmd:Se[t(679)]}))),qt(X[t(812)][t(1129)])&&Yt(n)&&(g=!1)},dropBuffer$2:function(){const t=e;if(s[t(1104)]>0){let e=s[t(888)]((e=>{const r=t;return qt(e.isIFrame)&&e[r(486)]===Ie.video}));if(X.isAllIframeInBufferList())for(let r=0;r=X.getNotDroppingDelayTs()){X.debugLog(t(964),t(1019)+r+" and tempDelay is "+i+" and notDroppingDelayTs is "+X[t(760)]()),e=r;break}}if(e>=0){X[t(1036)]=!0,postMessage({cmd:Se[t(679)]});const r=s[t(1104)];s=s[t(1112)](e);const n=s[t(911)]();X[t(1042)](),X[t(1117)](n.ts,n[t(486)]),X[t(464)](n),X[t(1036)]=!1,X[t(414)](t(964),t(670)+e+t(654)+r+t(870)+s[t(1104)]+t(417)+X[t(959)]+" ")}else X.isPushDropping=!1}0===s[t(1104)]&&(X[t(1036)]=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n[r(532)](1,!1),s=n[r(806)](0),a=new ArrayBuffer(4),o=new Uint32Array(a);switch(s){case Ie[r(480)]:X[r(633)](new Uint8Array(t,5),{type:Ie[r(480)],ts:i});break;case Ie.video:if(n.byteLength>=11){const e=new Uint8Array(t,5),s=e[0];if(X[r(682)](s))X._decodeEnhancedH265Video(e,i);else{const t=n[r(806)](5)>>4==1;if(t&&(X[r(1068)](i),$t(e)&&null===X[r(941)])){const t=15&e[0];X[r(941)]=t===Be[r(1144)]}X[r(965)]&&X.calcNetworkDelay(i),o[0]=e[4],o[1]=e[3],o[2]=e[2],o[3]=0;let s=o[0],a=X.cryptoPayload(e,t);X.decode(a,{type:Ie.video,ts:i,isIFrame:t,cts:s})}}else X[r(630)](r(964),"demuxM7s() type is video and arrayBuffer length is "+t[r(733)]+" and return")}},demuxNakedFlow:function(t){G[e(377)](t)},demuxFmp4:function(t){$[e(377)](t)},demuxMpeg4:function(e){q.dispatch(e)},demuxTs:function(e){Y.dispatch(e)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,a=15&i,o=t.slice(1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[n(1045)](o[0]);if(X[n(941)]=Yt(l),a===Je[n(1006)]){if(s===Xe.FT_KEY){const e=t.slice(5);if(l);else{const i=new Uint8Array(5+e[n(1104)]);i[n(1007)]([28,0,0,0,0],0),i[n(1007)](e,5),L=Tt(t,X[n(941)]),X[n(414)](n(964),n(997)+X[n(941)]+" and nalUnitSize is "+L),X.decode(i,{type:Ie[n(543)],ts:r,isIFrame:!0,cts:0})}}}else if(a===Je[n(915)]){let e=t,i=0;const a=s===Xe[n(321)];a&&X.calcIframeIntervalTimestamp(r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=nn(t[n(1112)](8),a),e=X[n(1054)](e,a),X[n(633)](e,{type:Ie[n(543)],ts:r,isIFrame:a,cts:i}))}else if(a===Je[n(496)]){const e=s===Xe[n(321)];e&&X[n(1068)](r);let i=nn(t[n(1112)](5),e);i=X[n(1054)](i,e),X[n(633)](i,{type:Ie[n(543)],ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&Ye)===Ye},findSei:function(t,r){const n=e;let i=4;Lt(L)&&(i=L),At(t.slice(5),i)[n(444)]((e=>{const t=n,i=X.isHevc?e[0]>>>1&63:31&e[0],s=X.isHevc&&(i===Ue.suffixSei||i===Ue[t(582)]),a=Yt(X[t(941)])&&i===Pe[t(393)];if(s||a){const n=Et(e,X[t(941)]);postMessage({cmd:Se[t(454)],buffer:n[t(700)],ts:r},[n[t(700)][t(838)]])}}))},calcNetworkDelay:function(t){const r=e;if(!(g&&t>0))return;null===I?(I=t,A=Dt()):tn?i-n:0;X[r(1080)]=s,s>X[r(812)][r(1080)]&&X[r(812)][r(513)]===ae.player&&(X[r(630)]("worker",r(1092)+t+r(406)+I+" vs start is "+n+",local diff is "+i+r(579)+s),postMessage({cmd:Se[r(952)],type:ke[r(526)],value:s}))},calcIframeIntervalTimestamp:function(t){null===B?B=t:B=X[t(812)][t(640)]&&!(X[t(812)][t(399)]&&X._opt[t(491)])},isPlayUseMSE:function(){return X.isPlayer&&X._opt.useMSE&&qt(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return X[t(643)]()&&X[t(812)][t(668)]},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return X.isPlayUseMSEAndDecoderInWorker()&&X[t(812)].mseDecodeAudio},playbackUpdatePlaybackRate:function(){const t=e;Yt(X[t(1076)]())&&X[t(459)](!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;X[r(855)](r(964),r(697)),t[r(928)](),U=!0,X[r(817)].destroy(),X[r(817)]=null,X.offscreenCanvasGL=null,setTimeout((()=>{const e=r;X[e(333)]=X[e(810)][e(1031)](e(1047)),X[e(333)]&&X[e(333)].getContextAttributes()[e(1175)]?(X[e(817)]=re(X[e(333)],X[e(812)][e(752)]),U=!1):X[e(855)]("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;X[r(414)](r(964),"handleOffscreenCanvasWebglContextRestored"),t[r(928)]()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:Se[i(299)],code:t}),postMessage({cmd:Se.initVideo,w:r,h:n}),p=r,m=n,X.useOffscreen()&&(X[i(810)]=new OffscreenCanvas(r,n),X[i(333)]=X.offscreenCanvas[i(1031)]("webgl"),X[i(817)]=re(X[i(333)],X._opt.openWebglAlignment),X.offscreenCanvas[i(892)](i(481),X[i(715)],!1),X[i(810)].addEventListener(i(713),X.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(t,r,n){postMessage({cmd:Se[e(1212)],code:t}),postMessage({cmd:Se.initAudio,sampleRate:r,channels:n,depth:O}),x=n},yuvData:function(r,n){const i=e;if(X[i(574)])return void X[i(414)]("worker",i(731));const s=p*m*3/2;let a=t[i(556)][i(730)](r,r+s),o=new Uint8Array(a);if(k=null,b=n,X[i(353)]())try{if(U)return;X[i(817)][i(678)](p,m,o);let e=X[i(810)][i(664)]();postMessage({cmd:Se.render,buffer:e,delay:X[i(959)],ts:n},[e])}catch(e){X.debugError(i(964),i(463),e,e[i(692)]())}else postMessage({cmd:Se[i(898)],output:o,delay:X[i(959)],ts:n},[o[i(838)]])},pcmData:function(t,n,i){const s=e;if(X[s(574)])return void X[s(414)]("worker",s(592));let o=n,c=[],u=0,l=X[s(812)][s(825)];for(let e=0;e<2;e++){let n=r[s(559)][(t>>2)+e]>>2;c[e]=r[s(698)][s(730)](n,n+o)}if(T){if(!(o>=(n=l-T)))return T+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==x&&(a[1]=Float32Array.of(...a[1],...c[1])));E[0]=Float32Array.of(...a[0],...c[0][s(730)](0,n)),2==x&&(E[1]=Float32Array.of(...a[1],...c[1].subarray(0,n))),postMessage({cmd:Se[s(621)],buffer:E,ts:i},E[s(1133)]((e=>e[s(838)]))),u=n,o-=n}for(T=o;T>=l;T-=l)E[0]=c[0][s(1112)](u,u+=l),2==x&&(E[1]=c[1][s(1112)](u-l,u)),postMessage({cmd:Se[s(621)],buffer:E,ts:i},E[s(1133)]((e=>e[s(838)])));T&&(a[0]=c[0][s(1112)](u),2==x&&(a[1]=c[1][s(1112)](u))),c=[]},errorInfo:function(t){const r=e;null===k&&(k=Dt());const n=Dt(),i=Mt(C>0?2*C:5e3,1e3,5e3),s=n-k;s>i&&(X[r(630)](r(964),r(293)+C+" and diff is "+s+" and maxDiff is "+i+r(431)),R=!0,postMessage({cmd:Se.simdDecodeError}))},sendWebsocketMessage:function(t){const r=e;u?u[r(586)]===xe[r(1085)]?u[r(1185)](t):X[r(855)]("worker",r(545)):X[r(855)](r(964),r(782))},timeEnd(){const t=e;X[t(855)](t(964),t(819)),X[t(1121)](),postMessage({cmd:Se[t(337)]})},postStreamToMain(t,r){postMessage({cmd:Se[e(622)],type:r,buffer:t},[t.buffer])},updatePlaybackIsPause(t){const r=e;X[r(414)](r(964),r(846)+t),qt(t)?X[r(946)]():X[r(644)]()},getBuildTime:()=>me+"-"+ve,validatedFailed(){const t=e;X[t(855)](t(964),t(326))},debugLog(t){const r=e;if(X._opt[r(1082)]&&X[r(1082)]){for(var n=arguments[r(1104)],i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:Se[n(1060)],w:t,h:r}),X.useOffscreen()&&(X[n(810)]=new OffscreenCanvas(t,r),X[n(333)]=X[n(810)][n(1031)](n(1047)),X[n(817)]=re(X.offscreenCanvasGL,X._opt.openWebglAlignment),X[n(810)].addEventListener(n(481),X[n(715)],!1),X[n(810)][n(892)]("webglcontextrestored",X[n(423)],!1))},initAudioPlanar:function(t,r){x=t,postMessage({cmd:Se[e(1210)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if(X[s(574)])return void X.debugLog(s(964),s(592));let o=n,c=[],u=0,l=X[s(812)].audioBufferSize;for(let e=0;e<2;e++){let n=r.HEAPU32[(t>>2)+e]>>2;c[e]=r[s(698)].subarray(n,n+o)}if(T){if(!(o>=(n=l-T)))return T+=o,a[0]=Float32Array.of(...a[0],...c[0]),void(2==x&&(a[1]=Float32Array.of(...a[1],...c[1])));E[0]=Float32Array.of(...a[0],...c[0][s(730)](0,n)),2==x&&(E[1]=Float32Array.of(...a[1],...c[1][s(730)](0,n))),postMessage({cmd:Se[s(621)],buffer:E,ts:i},E[s(1133)]((e=>e[s(838)]))),u=n,o-=n}for(T=o;T>=l;T-=l)E[0]=c[0][s(1112)](u,u+=l),2==x&&(E[1]=c[1][s(1112)](u-l,u)),postMessage({cmd:Se[s(621)],buffer:E,ts:i},E[s(1133)]((e=>e[s(838)])));T&&(a[0]=c[0][s(1112)](u),2==x&&(a[1]=c[1].slice(u))),c=[]},draw:function(r,n,i,s){const a=e;if(X[a(574)])return void X[a(414)]("worker",a(1154));const o=t[a(556)][a(730)](n,n+H),c=t[a(556)].subarray(i,i+V),u=t[a(556)][a(730)](s,s+V),l=new Uint8Array(H+V+V);if(l[a(1007)](o),l.set(c,H),l[a(1007)](u,H+V),k=null,b=r,X.useOffscreen())try{if(U)return;X[a(817)][a(678)](p,m,l);let e=X[a(810)][a(664)]();postMessage({cmd:Se[a(898)],buffer:e,delay:X.delay,ts:r},[e])}catch(e){X[a(855)]("worker",a(463),e,e.toString())}else postMessage({cmd:Se.render,output:l,delay:X[a(959)],ts:r},[l[a(838)]])}}));let K=null;r[e(1050)]&&(K=new(r[e(1050)])(X));let Z=null;t[e(1141)]&&(Z=new(t[e(1141)])(X)),postMessage({cmd:Se[e(990)]}),self[e(876)]=function(t){const r=e;let n=t[r(1101)];switch(n[r(1056)]){case Ee[r(990)]:try{X[r(812)]=Object[r(506)](X[r(812)],JSON[r(487)](n[r(868)]))}catch(e){}X[r(414)](r(964),r(596)+Ee[r(990)],n[r(868)]);break;case Ee[r(633)]:X[r(1087)](n[r(838)],n[r(593)]);break;case Ee.audioDecode:X[r(1156)](n[r(838)],n.ts);break;case Ee.videoDecode:X[r(675)](n[r(838)],n.ts,n.isIFrame);break;case Ee[r(459)]:X[r(459)](n[r(916)]);break;case Ee[r(746)]:X[r(746)](n[r(975)],JSON.parse(n[r(868)]),n[r(816)]);break;case Ee[r(1121)]:X[r(414)](r(964),r(596)+Ee[r(1121)],JSON[r(575)](n[r(593)])),n.options&&Yt(n[r(593)][r(987)])&&(N=n[r(593)][r(987)]),X[r(1121)]();break;case Ee[r(681)]:X[r(414)]("worker","onmessage:"+Ee[r(681)],n.key,n[r(1130)]),X[r(812)][n[r(748)]]=n[r(1130)],n[r(748)]===r(724)&&(X.playbackUpdatePlaybackRate(),X[r(1076)]()&&X[r(551)]());break;case Ee[r(391)]:X[r(1072)](n.message);break;case Ee[r(998)]:J[r(493)][r(883)]=Number(n[r(566)]);break;case Ee[r(673)]:X[r(1135)](n.isPause)}}}(e[1],t)}))})); diff --git a/demo/public/pro/js/decoder-pro.js b/demo/public/pro/js/decoder-pro.js index befdfb09..36074351 100644 --- a/demo/public/pro/js/decoder-pro.js +++ b/demo/public/pro/js/decoder-pro.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,i,n;(n=e).ready=new Promise(((e,r)=>{t=e,i=r})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_WASM_URL&&""!=JESSIBUCA_PRO_WASM_URL?JESSIBUCA_PRO_WASM_URL:e};var s,o,a,d=Object.assign({},n),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return n.locateFile?n.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href)),s=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=n.print||console.log.bind(console),w=n.printErr||console.error.bind(console);Object.assign(n,d),d=null,n.arguments&&n.arguments,n.thisProgram&&(l=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(y=n.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,B,U,x,k,T,C=!1;function D(e,t){e||j(t)}function P(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=A=new Int16Array(e),n.HEAPU8=E=new Uint8Array(e),n.HEAPU16=B=new Uint16Array(e),n.HEAP32=U=new Int32Array(e),n.HEAPU32=x=new Uint32Array(e),n.HEAPF32=k=new Float32Array(e),n.HEAPF64=T=new Float64Array(e)}var L=[],F=[],I=[];function M(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)N(n.preRun.shift());ne(L)}function R(){n.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ne(F)}function z(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)O(n.postRun.shift());ne(I)}function N(e){L.unshift(e)}function $(e){F.unshift(e)}function O(e){I.unshift(e)}var G=0,H=null;function V(e){G++,n.monitorRunDependencies&&n.monitorRunDependencies(G)}function W(e){if(G--,n.monitorRunDependencies&&n.monitorRunDependencies(G),0==G&&H){var t=H;H=null,t()}}function j(e){n.onAbort&&n.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:ni};function t(e,t){return si=e.exports,v=si.E,P(),Lt=si.I,$(si.F),W(),si}if(V(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}n.locateFile?Z(q="decoder-pro.wasm")||(q=p(q)):q=new URL("decoder-pro.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){x[this.ptr+4>>2]=e},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(e){x[this.ptr+8>>2]=e},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){x[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return x[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(U[di()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:Te.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&he)return he.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n};function ge(e,t,r){var i=r>0?r:me(e)+1,n=new Array(i),s=_e(e,n,0,n.length);return t&&(n.length=s),n}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,o=0;oye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var n=Te.createNode(e,t,r,i);return Te.isDir(n.mode)?(n.node_ops=we.ops_table.dir.node,n.stream_ops=we.ops_table.dir.stream,n.contents={}):Te.isFile(n.mode)?(n.node_ops=we.ops_table.file.node,n.stream_ops=we.ops_table.file.stream,n.usedBytes=0,n.contents=null):Te.isLink(n.mode)?(n.node_ops=we.ops_table.link.node,n.stream_ops=we.ops_table.link.stream):Te.isChrdev(n.mode)&&(n.node_ops=we.ops_table.chrdev.node,n.stream_ops=we.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(Te.isDir(e.mode)){var i;try{i=Te.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var i in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-n,i);if(o>8&&s.subarray)t.set(s.subarray(n,n+o),r);else for(var a=0;a0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var n=i?"":`al ${e}`;o(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),n&&W()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&V()},Ee=(e,t,r,i,n,s)=>{Te.createDataFile(e,t,r,i,n,s)},Ae=n.preloadPlugins||[],Be=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ae.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,i),n=!0)})),n},Ue=(e,t,r,i,n,s,o,a,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),a||Ee(e,t,r,i,n,d),s&&s(),W()}Be(r,c,u,(()=>{o&&o(),W()}))||u(r)}V(),"string"==typeof r?Se(r,(e=>u(e)),o):u(r)},xe=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},ke=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=Te.root,n="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var i=Te.hashName(e.id,t),n=Te.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Te.lookup(e,t)},createNode(e,t,r,i){var n=new Te.FSNode(e,t,r,i);return Te.hashAddNode(n),n},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=Te.lookupNode(e,t)}catch(e){return e.errno}var n=Te.nodePermissions(e,"wx");if(n)return n;if(r){if(!Te.isDir(i.mode))return 54;if(Te.isRoot(i)||Te.getPath(i)===Te.cwd())return 10}else if(Te.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),i=0;function n(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&Te.root)throw new Te.ErrnoError(10);if(!n&&!s){var o=Te.lookupPath(r,{follow_mount:!1});if(r=o.path,i=o.node,Te.isMountpoint(i))throw new Te.ErrnoError(10);if(!Te.isDir(i.mode))throw new Te.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?Te.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,i=r.mounted,n=Te.getMounts(i);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=Te.lookupPath(e,{parent:!0}).node,n=de.basename(e);if(!n||"."===n||".."===n)throw new Te.ErrnoError(28);var s=Te.mayCreate(i,n);if(s)throw new Te.ErrnoError(s);if(!i.node_ops.mknod)throw new Te.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var i=de.basename(t),n=Te.mayCreate(r,i);if(n)throw new Te.ErrnoError(n);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n=de.dirname(e),s=de.dirname(t),o=de.basename(e),a=de.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,i=Te.lookupPath(t,{parent:!0}).node,!r||!i)throw new Te.ErrnoError(44);if(r.mount!==i.mount)throw new Te.ErrnoError(75);var d,l=Te.lookupNode(r,o),c=ue.relative(e,s);if("."!==c.charAt(0))throw new Te.ErrnoError(28);if("."!==(c=ue.relative(t,n)).charAt(0))throw new Te.ErrnoError(55);try{d=Te.lookupNode(i,a)}catch(e){}if(l!==d){var u=Te.isDir(l.mode),h=Te.mayDelete(r,o,u);if(h)throw new Te.ErrnoError(h);if(h=d?Te.mayDelete(i,a,u):Te.mayCreate(i,a))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(l)||d&&Te.isMountpoint(d))throw new Te.ErrnoError(10);if(i!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{Te.hashAddNode(l)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=Te.lookupNode(t,r),n=Te.mayDelete(t,r,!0);if(n)throw new Te.ErrnoError(n);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(i)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=de.basename(e),i=Te.lookupNode(t,r),n=Te.mayDelete(t,r,!1);if(n)throw new Te.ErrnoError(n);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(i)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return ue.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,i){var n;if(!(n="string"==typeof e?Te.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var i=Te.getStreamChecked(e);Te.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;if(!(r="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var i=Te.nodePermissions(r,"w");if(i)throw new Te.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var i=Te.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?xe(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(i){if(128&t)throw new Te.ErrnoError(20)}else i=Te.mknod(e,r,0),s=!0;if(!i)throw new Te.ErrnoError(44);if(Te.isChrdev(i.mode)&&(t&=-513),65536&t&&!Te.isDir(i.mode))throw new Te.ErrnoError(54);if(!s){var o=Te.mayOpen(i,t);if(o)throw new Te.ErrnoError(o)}512&t&&!s&&Te.truncate(i,0),t&=-131713;var a=Te.createStream({node:i,path:Te.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!n.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),a},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else n=e.position;var o=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=o),o},write(e,t,r,i,n,s){if(i<0||n<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var o=void 0!==n;if(o){if(!e.seekable)throw new Te.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,s);return o||(e.position+=a),a},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=Te.open(e,t.flags),n=Te.stat(e).size,s=new Uint8Array(n);return Te.read(i,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=Te.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(me(t)+1),s=_e(t,n,0,n.length);Te.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(i,t,0,t.byteLength,void 0,r.canOwn)}Te.close(i)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),Te.mkdev("/dev/null",Te.makedev(1,3)),ve.register(Te.makedev(5,0),ve.default_tty_ops),ve.register(Te.makedev(6,0),ve.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=Te.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?Te.createDevice("/dev","stdin",n.stdin):Te.symlink("/dev/tty","/dev/stdin"),n.stdout?Te.createDevice("/dev","stdout",null,n.stdout):Te.symlink("/dev/tty","/dev/stdout"),n.stderr?Te.createDevice("/dev","stderr",null,n.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;n||(o=i);var a=this;a.setDataGetter((e=>{var t=e*o,n=(e+1)*o-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==o&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ge(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&i||(o=i=1,i=this.getter(0).length,o=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var d=Te.createFile(e,t,a,i,n);a.contents?d.contents=a.contents:a.url&&(d.contents=null,d.url=a.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var o=Math.min(s.length-n,i);if(s.slice)for(var a=0;a{var t=d.stream_ops[e];l[e]=function(){return Te.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(Te.forceLoadFile(d),c(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{Te.forceLoadFile(d);var s=be();if(!s)throw new Te.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;if(i=-100===e?Te.cwd():De.getStreamFromFD(e).path,0==t.length){if(!r)throw new Te.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(Te.getPath(e.node)))return-54;throw e}U[r>>2]=i.dev,U[r+4>>2]=i.mode,x[r+8>>2]=i.nlink,U[r+12>>2]=i.uid,U[r+16>>2]=i.gid,U[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+24>>2]=K[0],U[r+28>>2]=K[1],U[r+32>>2]=4096,U[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),o=i.ctime.getTime();return K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+40>>2]=K[0],U[r+44>>2]=K[1],x[r+48>>2]=n%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+56>>2]=K[0],U[r+60>>2]=K[1],x[r+64>>2]=s%1e3*1e3,K=[Math.floor(o/1e3)>>>0,(Y=Math.floor(o/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+72>>2]=K[0],U[r+76>>2]=K[1],x[r+80>>2]=o%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+88>>2]=K[0],U[r+92>>2]=K[1],0},doMsync(e,t,r,i,n){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);Te.msync(t,s,n,r,i)},varargs:void 0,get(){var e=U[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Pe(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((n=De.get())<0)return-28;for(;Te.streams[n];)n++;return Te.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=De.get();return i.flags|=n,0;case 5:return n=De.getp(),A[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Le(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var n=i?De.get():0;return Te.open(t,r,n).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ie,Me,Re=(e,t,r,i,n)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},$e={},Oe={},Ge={},He=e=>{throw new Ie(e)},Ve=e=>{throw new Me(e)},We=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Ve("Mismatched type converter count");for(var n=0;n{Oe.hasOwnProperty(e)?n[t]=Oe[e]:(s.push(e),$e.hasOwnProperty(e)||($e[e]=[]),$e[e].push((()=>{n[t]=Oe[e],++o===s.length&&i(n)})))})),0===s.length&&i(n)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Oe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Oe[e]=t,delete Ge[e],$e.hasOwnProperty(e)){var n=$e[e];delete $e[e],n.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},nt={},st=()=>Object.keys(ut).length,ot=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},at=[],dt=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,at.length&&Ye&&Ye(dt)},ct=()=>{n.getInheritedInstanceCount=st,n.getLiveInheritedInstances=ot,n.flushPendingDeletes=dt,n.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ve("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ve("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=nt[o];if(!a)return n.call(this);s=this.isConst?a.constPointerType:a.pointerType;var d=it(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),at.push(this),1===at.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(n,e,e),n.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function Bt(e,t,r,i,n,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var Ut=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function xt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function kt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Ut(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,sr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(x[e>>2])}var Dt=()=>{Object.assign(Pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Pt(e,t,r,i,n,s,o,a,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=kt:i?(this.toWireType=xt,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Lt,Ft,It=(e,t,r)=>{n.hasOwnProperty(e)||Ve("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Mt=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Lt.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),$t=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Ot=(e,t)=>{var r=(e=Ne(e)).includes("j")?$t(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},Gt=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=li(e),r=Ne(t);return oi(t),r},Vt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Oe[t]||(Ge[t]?Ge[t].forEach(e):(r.push(t),i[t]=!0))})),new Ft(`${e}: `+r.map(Ht).join([", "]))},Wt=(e,t,r,i,n,s,o,a,d,l,c,u,h)=>{c=Ne(c),s=Ot(n,s),a&&(a=Ot(o,a)),l&&(l=Ot(d,l)),h=Ot(u,h);var f=At(c);wt(f,(function(){Vt(`Cannot construct ${c} due to unbound types`,[i])})),We([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:yt.prototype;var o=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Ie("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Ie(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Ie(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:o}});o.prototype=d;var u=new Bt(c,o,d,h,r,s,a,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Pt(c,u,!0,!1,!1),m=new Pt(c+"*",u,!1,!1,!1),_=new Pt(c+" const*",u,!1,!0,!1);return nt[e]={pointerType:m,constPointerType:_},It(f,o),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Kt(e,t,r,i,n,s){var o=t.length;o<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=a?1:2;l{var o=jt(t,r);n=Ot(i,n),We([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ie(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Vt(`Cannot construct ${e.name} due to unbound types`,o)},We([],o,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,n,s),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,n,s,o,a,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),s=Ot(n,s),We([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Vt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(bt(c,t,i),c[t].overloadTable[r-2]=n),We([],l,(function(n){var a=Kt(i,n,e,s,o,d);return void 0===c[t].overloadTable?(a.argCount=r-2,c[t]=a):c[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,n.count_emval_handles=ir},sr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(U[e>>2])}var ar=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:or,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(k[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>B[e>>1];case 4:return r?e=>U[e>>2]:e=>x[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,n)=>{t=Ne(t);var s=e=>e;if(0===i){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=x[e>>2],r=x[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:Ke,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=x[e>>2],n=e+4;if(r)for(var s=n,o=0;o<=i;++o){var a=n+o;if(o==i||0==E[a]){var d=Ce(s,a-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=a+1}}else{var l=new Array(i);for(o=0;o>2]=i,r&&n)pr(t,o,i+1);else if(n)for(var a=0;a255&&(oi(o),He("String has UTF-16 code units that do not fit in 8 bits")),E[o+a]=d}else for(a=0;a{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&B[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=A[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=U[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),U[t>>2]=o,(t+=4)+4>n)break}return U[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,n,s,o,a;r=Ne(r),2===t?(i=gr,n=yr,o=vr,s=()=>B,a=1):4===t&&(i=br,n=wr,o=Sr,s=()=>x,a=2),qe(e,{name:r,fromWireType:e=>{for(var r,n=x[e>>2],o=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==o[c>>a]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return oi(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var s=o(i),d=ai(4+s+t);return x[d>>2]=s>>a,n(i,d+4,s+t),null!==e&&e.push(oi,d),d},argPackAdvance:Ke,readValueFromPointer:or,destructorFunction(e){oi(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Br={},Ur=e=>{var t=Br[e];return void 0===t?Ne(e):t},xr=[],kr=(e,t,r,i,n)=>(e=xr[e])(t=sr.toValue(t),t[r=Ur(r)],i,n),Tr=e=>{var t=xr.length;return xr.push(e),t},Cr=(e,t)=>{var r=Oe[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Pr=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(x[t>>2]=sr.toHandle(i)),n},Lr=(e,t,r)=>{var i=Dr(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return Tr(vt(h,u))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ir=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},$r=e=>{E.length,Nr()},Or={},Gr=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Gr()};for(var t in Or)void 0===Or[t]?delete e[t]:e[t]=Or[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Vr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Wr=(e,t)=>{var r=0;return Hr().forEach(((i,n)=>{var s=t+r;x[e+4*n>>2]=s,Vr(i,s),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();x[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),x[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+8>>2]=K[0],U[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+16>>2]=K[0],U[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=x[t+4>>2];t+=8;var d=Te.read(e,S,o,a,i);if(d<0)return-1;if(n+=d,d>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,n){var s=Ir(t,r);try{if(isNaN(s))return 61;var o=De.getStreamFromFD(e);return Te.llseek(o,s,i),K=[o.position>>>0,(Y=o.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[n>>2]=K[0],U[n+4>>2]=K[1],o.getdents&&0===s&&0===i&&(o.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=x[t+4>>2];t+=8;var d=Te.write(e,S,o,a,i);if(d<0)return-1;n+=d,void 0!==i&&(i+=d)}return n};function Qr(e,t,r,i){try{var n=De.getStreamFromFD(e),s=Jr(n,t,r);return x[i>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=ei,Te.createPreloadedFile=Ue,Te.staticInit(),ze(),Ie=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),Ft=n.UnboundTypeError=Gt(Error,"UnboundTypeError"),Qt(),nr();var ii,ni={o:oe,A:Pe,s:Le,q:Re,C:Xe,D:Wt,y:Xt,g:Jt,B:ar,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:kr,m:rr,e:Lr,d:Fr,a:Mr,h:Rr,w:zr,r:$r,u:Wr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},si=ie(),oi=e=>(oi=si.G)(e),ai=e=>(ai=si.H)(e),di=()=>(di=si.J)(),li=e=>(li=si.K)(e),ci=e=>(ci=si.M)(e);function ui(){function e(){ii||(ii=!0,n.calledRun=!0,C||(R(),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),z()))}G>0||(M(),G>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=si.N)(e,t,r,i,s),n._ff_h264_cabac_tables=74428,H=function e(){ii||ui(),ii||(H=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return ui(),e.ready}),o=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,i,n;(n=t).ready=new Promise(((e,t)=>{r=e,i=t})),(n=void 0!==n?n:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,o,a,d=Object.assign({},n),l="./this.program",c="object"==typeof window,u="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return n.locateFile?n.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href),_=m("fs"),g=m("path");f=u?g.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href)),s=(e,t)=>(e=J(e)?new URL(e):g.normalize(e),_.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=J(e)?new URL(e):g.normalize(e),_.readFile(e,i?void 0:"utf8",((e,n)=>{e?r(e):t(i?n.buffer:n)}))},!n.thisProgram&&process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),n.inspect=()=>"[Emscripten Module object]"}else(c||u)&&(u?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var y,v,b=n.print||console.log.bind(console),w=n.printErr||console.error.bind(console);Object.assign(n,d),d=null,n.arguments&&n.arguments,n.thisProgram&&(l=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(y=n.wasmBinary),"object"!=typeof WebAssembly&&j("no native wasm support detected");var S,E,A,B,U,x,k,T,C=!1;function D(e,t){e||j(t)}function P(){var e=v.buffer;n.HEAP8=S=new Int8Array(e),n.HEAP16=A=new Int16Array(e),n.HEAPU8=E=new Uint8Array(e),n.HEAPU16=B=new Uint16Array(e),n.HEAP32=U=new Int32Array(e),n.HEAPU32=x=new Uint32Array(e),n.HEAPF32=k=new Float32Array(e),n.HEAPF64=T=new Float64Array(e)}var L=[],F=[],I=[];function M(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)N(n.preRun.shift());ne(L)}function R(){n.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ne(F)}function z(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)O(n.postRun.shift());ne(I)}function N(e){L.unshift(e)}function $(e){F.unshift(e)}function O(e){I.unshift(e)}var G=0,H=null;function V(e){G++,n.monitorRunDependencies&&n.monitorRunDependencies(G)}function W(e){if(G--,n.monitorRunDependencies&&n.monitorRunDependencies(G),0==G&&H){var t=H;H=null,t()}}function j(e){n.onAbort&&n.onAbort(e),w(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}var q,Y,K,X="data:application/octet-stream;base64,",Z=e=>e.startsWith(X),J=e=>e.startsWith("file://");function Q(e){if(e==q&&y)return new Uint8Array(y);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!y&&(c||u)){if("function"==typeof fetch&&!J(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),j(e)}))}function re(e,t,r,i){return e||"function"!=typeof WebAssembly.instantiateStreaming||Z(t)||J(t)||h||"function"!=typeof fetch?te(t,r,i):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(i,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,i)}))))}function ie(){var e={a:ni};function t(e,t){return si=e.exports,v=si.E,P(),Lt=si.H,$(si.F),W(),si}if(V(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return re(y,q,e,(function(e){t(e.instance)})).catch(i),{}}n.locateFile?Z(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href).href;var ne=e=>{for(;e.length>0;)e.shift()(n)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){x[this.ptr+4>>2]=e},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(e){x[this.ptr+8>>2]=e},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){x[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ci(this.get_type()))return x[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}n.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(U[ai()>>2]=e,e),de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var n=e[i];"."===n?e.splice(i,1):".."===n?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.substr(-1);return(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=de.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return de.normalize(e.join("/"))},join2:(e,t)=>de.normalize(e+"/"+t)},le=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}j("initRandomDevice")},ce=e=>(ce=le())(e),ue={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:Te.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=de.isAbs(i)}return(t?"/":"")+(e=de.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ue.resolve(e).substr(1),t=ue.resolve(t).substr(1);for(var i=r(e.split("/")),n=r(t.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a{for(var i=t+r,n=t;e[n]&&!(n>=i);)++n;if(n-t>16&&e.buffer&&he)return he.decode(e.subarray(t,n));for(var s="";t>10,56320|1023&l)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&i<=57343?(t+=4,++r):t+=3}return t},_e=(e,t,r,i)=>{if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-n};function ge(e,t,r){var i=r>0?r:me(e)+1,n=new Array(i),s=_e(e,n,0,n.length);return t&&(n.length=s),n}var ye=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,i=process.stdin.fd;try{r=_.readSync(i,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ge(e,!0)}return pe.shift()},ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,i,n){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,o=0;oye(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{j()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,i){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var n=Te.createNode(e,t,r,i);return Te.isDir(n.mode)?(n.node_ops=we.ops_table.dir.node,n.stream_ops=we.ops_table.dir.stream,n.contents={}):Te.isFile(n.mode)?(n.node_ops=we.ops_table.file.node,n.stream_ops=we.ops_table.file.stream,n.usedBytes=0,n.contents=null):Te.isLink(n.mode)?(n.node_ops=we.ops_table.link.node,n.stream_ops=we.ops_table.link.stream):Te.isChrdev(n.mode)&&(n.node_ops=we.ops_table.chrdev.node,n.stream_ops=we.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,i)=>we.createNode(e,t,r,i),rename(e,t,r){if(Te.isDir(e.mode)){var i;try{i=Te.lookupNode(t,r)}catch(e){}if(i)for(var n in i.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var i in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=we.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-n,i);if(o>8&&s.subarray)t.set(s.subarray(n,n+o),r);else for(var a=0;a0||r+t(we.stream_ops.write(e,t,0,i,r,!1),0)}},Se=(e,t,r,i)=>{var n=i?"":`al ${e}`;o(e,(r=>{D(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),n&&W()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&V()},Ee=(e,t,r,i,n,s)=>{Te.createDataFile(e,t,r,i,n,s)},Ae=n.preloadPlugins||[],Be=(e,t,r,i)=>{"undefined"!=typeof Browser&&Browser.init();var n=!1;return Ae.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,i),n=!0)})),n},Ue=(e,t,r,i,n,s,o,a,d,l)=>{var c=t?ue.resolve(de.join2(e,t)):e;function u(r){function u(r){l&&l(),a||Ee(e,t,r,i,n,d),s&&s(),W()}Be(r,c,u,(()=>{o&&o(),W()}))||u(r)}V(),"string"==typeof r?Se(r,(e=>u(e)),o):u(r)},xe=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},ke=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=ue.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=Te.root,n="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:n,node:i}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,i=0;i>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var i=Te.hashName(e.id,t),n=Te.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Te.lookup(e,t)},createNode(e,t,r,i){var n=new Te.FSNode(e,t,r,i);return Te.hashAddNode(n),n},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{Te.lookupNode(e,t);return 20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var i;try{i=Te.lookupNode(e,t)}catch(e){return e.errno}var n=Te.nodePermissions(e,"wx");if(n)return n;if(r){if(!Te.isDir(i.mode))return 54;if(Te.isRoot(i)||Te.getPath(i)===Te.cwd())return 10}else if(Te.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),i=0;function n(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++i>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var i,n="/"===r,s=!r;if(n&&Te.root)throw new Te.ErrnoError(10);if(!n&&!s){var o=Te.lookupPath(r,{follow_mount:!1});if(r=o.path,i=o.node,Te.isMountpoint(i))throw new Te.ErrnoError(10);if(!Te.isDir(i.mode))throw new Te.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},d=e.mount(a);return d.mount=a,a.root=d,n?Te.root=d:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),d},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,i=r.mounted,n=Te.getMounts(i);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var i=Te.lookupPath(e,{parent:!0}).node,n=de.basename(e);if(!n||"."===n||".."===n)throw new Te.ErrnoError(28);var s=Te.mayCreate(i,n);if(s)throw new Te.ErrnoError(s);if(!i.node_ops.mknod)throw new Te.ErrnoError(63);return i.node_ops.mknod(i,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),i="",n=0;n(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!ue.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var i=de.basename(t),n=Te.mayCreate(r,i);if(n)throw new Te.ErrnoError(n);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename(e,t){var r,i,n=de.dirname(e),s=de.dirname(t),o=de.basename(e),a=de.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,i=Te.lookupPath(t,{parent:!0}).node,!r||!i)throw new Te.ErrnoError(44);if(r.mount!==i.mount)throw new Te.ErrnoError(75);var d,l=Te.lookupNode(r,o),c=ue.relative(e,s);if("."!==c.charAt(0))throw new Te.ErrnoError(28);if("."!==(c=ue.relative(t,n)).charAt(0))throw new Te.ErrnoError(55);try{d=Te.lookupNode(i,a)}catch(e){}if(l!==d){var u=Te.isDir(l.mode),h=Te.mayDelete(r,o,u);if(h)throw new Te.ErrnoError(h);if(h=d?Te.mayDelete(i,a,u):Te.mayCreate(i,a))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(l)||d&&Te.isMountpoint(d))throw new Te.ErrnoError(10);if(i!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(l);try{r.node_ops.rename(l,i,a)}catch(e){throw e}finally{Te.hashAddNode(l)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=de.basename(e),i=Te.lookupNode(t,r),n=Te.mayDelete(t,r,!0);if(n)throw new Te.ErrnoError(n);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(i)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=de.basename(e),i=Te.lookupNode(t,r),n=Te.mayDelete(t,r,!1);if(n)throw new Te.ErrnoError(n);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(i))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(i)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return ue.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var i;"string"==typeof e?i=Te.lookupPath(e,{follow:!r}).node:i=e;if(!i.node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,i){var n;"string"==typeof e?n=Te.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var i=Te.getStreamChecked(e);Te.chown(i.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;"string"==typeof e?r=Te.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var i=Te.nodePermissions(r,"w");if(i)throw new Te.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var i=Te.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var i;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?xe(t):t)?4095&r|32768:0,"object"==typeof e)i=e;else{e=de.normalize(e);try{i=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(i){if(128&t)throw new Te.ErrnoError(20)}else i=Te.mknod(e,r,0),s=!0;if(!i)throw new Te.ErrnoError(44);if(Te.isChrdev(i.mode)&&(t&=-513),65536&t&&!Te.isDir(i.mode))throw new Te.ErrnoError(54);if(!s){var o=Te.mayOpen(i,t);if(o)throw new Te.ErrnoError(o)}512&t&&!s&&Te.truncate(i,0),t&=-131713;var a=Te.createStream({node:i,path:Te.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!n.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),a},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,i,n){if(i<0||n<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else n=e.position;var o=e.stream_ops.read(e,t,r,i,n);return s||(e.position+=o),o},write(e,t,r,i,n,s){if(i<0||n<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var o=void 0!==n;if(o){if(!e.seekable)throw new Te.ErrnoError(70)}else n=e.position;var a=e.stream_ops.write(e,t,r,i,n,s);return o||(e.position+=a),a},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,i,n){if(0!=(2&i)&&0==(2&n)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,n)},msync:(e,t,r,i,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,i=Te.open(e,t.flags),n=Te.stat(e).size,s=new Uint8Array(n);return Te.read(i,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(i),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=Te.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(me(t)+1),s=_e(t,n,0,n.length);Te.write(i,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(i,t,0,t.byteLength,void 0,r.canOwn)}Te.close(i)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,i,n)=>i}),Te.mkdev("/dev/null",Te.makedev(1,3)),ve.register(Te.makedev(5,0),ve.default_tty_ops),ve.register(Te.makedev(6,0),ve.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=ce(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,i=Te.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?Te.createDevice("/dev","stdin",n.stdin):Te.symlink("/dev/tty","/dev/stdin"),n.stdout?Te.createDevice("/dev","stdout",null,n.stdout):Te.symlink("/dev/tty","/dev/stdout"),n.stderr?Te.createDevice("/dev","stderr",null,n.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;n||(o=i);var a=this;a.setDataGetter((e=>{var t=e*o,n=(e+1)*o-1;if(n=Math.min(n,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),i!==o&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ge(n.responseText||"",!0)})(t,n)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&i||(o=i=1,i=this.getter(0).length,o=i,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var d=Te.createFile(e,t,a,i,n);a.contents?d.contents=a.contents:a.url&&(d.contents=null,d.url=a.url),Object.defineProperties(d,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,i,n){var s=e.node.contents;if(n>=s.length)return 0;var o=Math.min(s.length-n,i);if(s.slice)for(var a=0;a{var t=d.stream_ops[e];l[e]=function(){return Te.forceLoadFile(d),t.apply(null,arguments)}})),l.read=(e,t,r,i,n)=>(Te.forceLoadFile(d),c(e,t,r,i,n)),l.mmap=(e,t,r,i,n)=>{Te.forceLoadFile(d);var s=be();if(!s)throw new Te.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},d.stream_ops=l,d}},Ce=(e,t)=>e?fe(E,e,t):"",De={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(de.isAbs(t))return t;var i;-100===e?i=Te.cwd():i=De.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new Te.ErrnoError(44);return i}return de.join2(i,t)},doStat(e,t,r){try{var i=e(t)}catch(e){if(e&&e.node&&de.normalize(t)!==de.normalize(Te.getPath(e.node)))return-54;throw e}U[r>>2]=i.dev,U[r+4>>2]=i.mode,x[r+8>>2]=i.nlink,U[r+12>>2]=i.uid,U[r+16>>2]=i.gid,U[r+20>>2]=i.rdev,K=[i.size>>>0,(Y=i.size,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+24>>2]=K[0],U[r+28>>2]=K[1],U[r+32>>2]=4096,U[r+36>>2]=i.blocks;var n=i.atime.getTime(),s=i.mtime.getTime(),o=i.ctime.getTime();return K=[Math.floor(n/1e3)>>>0,(Y=Math.floor(n/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+40>>2]=K[0],U[r+44>>2]=K[1],x[r+48>>2]=n%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(Y=Math.floor(s/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+56>>2]=K[0],U[r+60>>2]=K[1],x[r+64>>2]=s%1e3*1e3,K=[Math.floor(o/1e3)>>>0,(Y=Math.floor(o/1e3),+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+72>>2]=K[0],U[r+76>>2]=K[1],x[r+80>>2]=o%1e3*1e3,K=[i.ino>>>0,(Y=i.ino,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[r+88>>2]=K[0],U[r+92>>2]=K[1],0},doMsync(e,t,r,i,n){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&i)return 0;var s=E.slice(e,e+r);Te.msync(t,s,n,r,i)},varargs:void 0,get(){var e=U[+De.varargs>>2];return De.varargs+=4,e},getp:()=>De.get(),getStr:e=>Ce(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Pe(e,t,r){De.varargs=r;try{var i=De.getStreamFromFD(e);switch(t){case 0:if((n=De.get())<0)return-28;for(;Te.streams[n];)n++;return Te.createStream(i,n).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var n=De.get();return i.flags|=n,0;case 5:n=De.getp();return A[n+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Le(e,t,r,i){De.varargs=i;try{t=De.getStr(t),t=De.calculateAt(e,t);var n=i?De.get():0;return Te.open(t,r,n).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ie,Me,Re=(e,t,r,i,n)=>{},ze=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},Ne=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},$e={},Oe={},Ge={},He=e=>{throw new Ie(e)},Ve=e=>{throw new Me(e)},We=(e,t,r)=>{function i(t){var i=r(t);i.length!==e.length&&Ve("Mismatched type converter count");for(var n=0;n{Oe.hasOwnProperty(e)?n[t]=Oe[e]:(s.push(e),$e.hasOwnProperty(e)||($e[e]=[]),$e[e].push((()=>{n[t]=Oe[e],++o===s.length&&i(n)})))})),0===s.length&&i(n)};function je(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||He(`type "${i}" must have a positive integer typeid pointer`),Oe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;He(`Cannot register type '${i}' twice`)}if(Oe[e]=t,delete Ge[e],$e.hasOwnProperty(e)){var n=$e[e];delete $e[e],n.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return je(e,t,r)}var Ye,Ke=8,Xe=(e,t,r,i)=>{qe(e,{name:t=Ne(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Ze=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Je=e=>{He(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},it=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var i=it(e,t,r.baseClass);return null===i?null:r.downcast(i)},nt={},st=()=>Object.keys(ut).length,ot=()=>{var e=[];for(var t in ut)ut.hasOwnProperty(t)&&e.push(ut[t]);return e},at=[],dt=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},lt=e=>{Ye=e,at.length&&Ye&&Ye(dt)},ct=()=>{n.getInheritedInstanceCount=st,n.getLiveInheritedInstances=ot,n.flushPendingDeletes=dt,n.setDelayFunction=lt},ut={},ht=(e,t)=>{for(void 0===t&&He("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),ut[t]),pt=(e,t)=>(t.ptrType&&t.ptr||Ve("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Ve("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function n(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=nt[o];if(!a)return n.call(this);s=this.isConst?a.constPointerType:a.pointerType;var d=it(t,this.registeredClass,s.registeredClass);return null===d?n.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:d})}var _t=e=>"undefined"==typeof FinalizationRegistry?(_t=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),_t=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),_t(e)),gt=()=>{Object.assign(yt.prototype,{isAliasOf(e){if(!(this instanceof yt))return!1;if(!(e instanceof yt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var i=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)n=i.upcast(n),i=i.baseClass;return t===i&&r===n},clone(){if(this.$$.ptr||Je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:Ze(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&He("Object already scheduled for deletion"),at.push(this),1===at.length&&Ye&&Ye(dt),this.$$.deleteScheduled=!0,this}})};function yt(){}var vt=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||He(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}},wt=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&He(`Cannot register public name '${e}' twice`),bt(n,e,e),n.hasOwnProperty(r)&&He(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))},St=48,Et=57,At=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function Bt(e,t,r,i,n,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=n,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var Ut=(e,t,r)=>{for(;t!==r;)t.upcast||He(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function xt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function kt(e,t){var r;if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var i=t.$$.ptrType.registeredClass;if(r=Ut(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&He("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:He(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,sr.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:He("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&He(`null is not a valid ${this.name}`),0;t.$$||He(`Cannot pass "${dr(t)}" as a ${this.name}`),t.$$.ptr||He(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&He(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function Ct(e){return this.fromWireType(x[e>>2])}var Dt=()=>{Object.assign(Pt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Ct,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Pt(e,t,r,i,n,s,o,a,d,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=d,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=kt:i?(this.toWireType=xt,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Lt,Ft,It=(e,t,r)=>{n.hasOwnProperty(e)||Ve("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Mt=(e,t,r)=>{var i=n["dynCall_"+e];return r&&r.length?i.apply(null,[t].concat(r)):i.call(null,t)},Rt=[],zt=e=>{var t=Rt[e];return t||(e>=Rt.length&&(Rt.length=e+1),Rt[e]=t=Lt.get(e)),t},Nt=(e,t,r)=>e.includes("j")?Mt(e,t,r):zt(t).apply(null,r),$t=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),Nt(e,t,r)}},Ot=(e,t)=>{var r=(e=Ne(e)).includes("j")?$t(e,t):zt(t);return"function"!=typeof r&&He(`unknown function pointer with signature ${e}: ${t}`),r},Gt=(e,t)=>{var r=vt(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Ht=e=>{var t=di(e),r=Ne(t);return oi(t),r},Vt=(e,t)=>{var r=[],i={};throw t.forEach((function e(t){i[t]||Oe[t]||(Ge[t]?Ge[t].forEach(e):(r.push(t),i[t]=!0))})),new Ft(`${e}: `+r.map(Ht).join([", "]))},Wt=(e,t,r,i,n,s,o,a,d,l,c,u,h)=>{c=Ne(c),s=Ot(n,s),a&&(a=Ot(o,a)),l&&(l=Ot(d,l)),h=Ot(u,h);var f=At(c);wt(f,(function(){Vt(`Cannot construct ${c} due to unbound types`,[i])})),We([e,t,r],i?[i]:[],(function(t){var r,n;t=t[0],n=i?(r=t.registeredClass).instancePrototype:yt.prototype;var o=vt(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new Ie("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new Ie(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Ie(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),d=Object.create(n,{constructor:{value:o}});o.prototype=d;var u=new Bt(c,o,d,h,r,s,a,l);u.baseClass&&(void 0===u.baseClass.__derivedClasses&&(u.baseClass.__derivedClasses=[]),u.baseClass.__derivedClasses.push(u));var p=new Pt(c,u,!0,!1,!1),m=new Pt(c+"*",u,!1,!1,!1),_=new Pt(c+" const*",u,!1,!0,!1);return nt[e]={pointerType:m,constPointerType:_},It(f,o),[p,m,_]}))},jt=(e,t)=>{for(var r=[],i=0;i>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Yt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=vt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,n=e.apply(i,t);return n instanceof Object?n:i}function Kt(e,t,r,i,n,s){var o=t.length;o<2&&He("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,d=!1,l=1;l0?", ":"")+h),f+=(c||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",d)f+="runDestructors(destructors);\n";else for(l=a?1:2;l{var o=jt(t,r);n=Ot(i,n),We([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ie(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Vt(`Cannot construct ${e.name} due to unbound types`,o)},We([],o,(i=>(i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,i,null,n,s),[]))),[]}))},Zt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Jt=(e,t,r,i,n,s,o,a,d)=>{var l=jt(r,i);t=Ne(t),t=Zt(t),s=Ot(n,s),We([],[e],(function(e){var i=`${(e=e[0]).name}.${t}`;function n(){Vt(`Cannot call ${i} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,u=c[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(bt(c,t,i),c[t].overloadTable[r-2]=n),We([],l,(function(n){var a=Kt(i,n,e,s,o,d);return void 0===c[t].overloadTable?(a.argCount=r-2,c[t]=a):c[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},ir=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,n.count_emval_handles=ir},sr={toValue:e=>(e||He("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(U[e>>2])}var ar=(e,t)=>{qe(e,{name:t=Ne(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:or,destructorFunction:null})},dr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},lr=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(k[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},cr=(e,t,r)=>{qe(e,{name:t=Ne(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:lr(t,r),destructorFunction:null})},ur=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>A[e>>1]:e=>B[e>>1];case 4:return r?e=>U[e>>2]:e=>x[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,i,n)=>{t=Ne(t);var s=e=>e;if(0===i){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:ur(t,r,0!==i),destructorFunction:null})},fr=(e,t,r)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function n(e){var t=x[e>>2],r=x[e+4>>2];return new i(S.buffer,r,t)}qe(e,{name:r=Ne(r),fromWireType:n,argPackAdvance:Ke,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>_e(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=Ne(t));qe(e,{name:t,fromWireType(e){var t,i=x[e>>2],n=e+4;if(r)for(var s=n,o=0;o<=i;++o){var a=n+o;if(o==i||0==E[a]){var d=Ce(s,a-s);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),s=a+1}}else{var l=new Array(i);for(o=0;o>2]=i,r&&n)pr(t,o,i+1);else if(n)for(var a=0;a255&&(oi(o),He("String has UTF-16 code units that do not fit in 8 bits")),E[o+a]=d}else for(a=0;a{for(var r=e,i=r>>1,n=i+t/2;!(i>=n)&&B[i];)++i;if((r=i<<1)-e>32&&_r)return _r.decode(E.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=A[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},yr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return A[t>>1]=0,t-i},vr=e=>2*e.length,br=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var n=U[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;i+=String.fromCharCode(55296|s>>10,56320|1023&s)}else i+=String.fromCharCode(n)}return i},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,n=i+r-4,s=0;s=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s);if(U[t>>2]=o,(t+=4)+4>n)break}return U[t>>2]=0,t-i},Sr=e=>{for(var t=0,r=0;r=55296&&i<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var i,n,s,o,a;r=Ne(r),2===t?(i=gr,n=yr,o=vr,s=()=>B,a=1):4===t&&(i=br,n=wr,o=Sr,s=()=>x,a=2),qe(e,{name:r,fromWireType:e=>{for(var r,n=x[e>>2],o=s(),d=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==o[c>>a]){var u=i(d,c-d);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),d=c+t}}return oi(e),r},toWireType:(e,i)=>{"string"!=typeof i&&He(`Cannot pass non-string to C++ string type ${r}`);var s=o(i),d=li(4+s+t);return x[d>>2]=s>>a,n(i,d+4,s+t),null!==e&&e.push(oi,d),d},argPackAdvance:Ke,readValueFromPointer:or,destructorFunction(e){oi(e)}})},Ar=(e,t)=>{qe(e,{isVoid:!0,name:t=Ne(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Br={},Ur=e=>{var t=Br[e];return void 0===t?Ne(e):t},xr=[],kr=(e,t,r,i,n)=>(e=xr[e])(t=sr.toValue(t),t[r=Ur(r)],i,n),Tr=e=>{var t=xr.length;return xr.push(e),t},Cr=(e,t)=>{var r=Oe[e];return void 0===r&&He(t+" has unknown type "+Ht(e)),r},Dr=(e,t)=>{for(var r=new Array(e),i=0;i>2],"parameter "+i);return r},Pr=(e,t,r)=>{var i=[],n=e.toWireType(i,r);return i.length&&(x[t>>2]=sr.toHandle(i)),n},Lr=(e,t,r)=>{var i=Dr(e,t),n=i.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var d=["retType"],l=[n],c=0;ce.name)).join(", ")}) => ${n.name}>`;return Tr(vt(h,u))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ir=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Mr=()=>{j("")},Rr=()=>Date.now(),zr=(e,t,r)=>E.copyWithin(e,t,t+r),Nr=e=>{j("OOM")},$r=e=>{E.length,Nr()},Or={},Gr=()=>l||"./this.program",Hr=()=>{if(!Hr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Gr()};for(var t in Or)void 0===Or[t]?delete e[t]:e[t]=Or[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Hr.strings=r}return Hr.strings},Vr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},Wr=(e,t)=>{var r=0;return Hr().forEach(((i,n)=>{var s=t+r;x[e+4*n>>2]=s,Vr(i,s),r+=i.length+1})),0},jr=(e,t)=>{var r=Hr();x[e>>2]=r.length;var i=0;return r.forEach((e=>i+=e.length+1)),x[t>>2]=i,0};function qr(e){try{var t=De.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Yr(e,t){try{var r=De.getStreamFromFD(e),i=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=i,A[t+2>>1]=0,K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+8>>2]=K[0],U[t+12>>2]=K[1],K=[0,(Y=0,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[t+16>>2]=K[0],U[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=x[t+4>>2];t+=8;var d=Te.read(e,S,o,a,i);if(d<0)return-1;if(n+=d,d>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Zr(e,t,r,i,n){var s=Ir(t,r);try{if(isNaN(s))return 61;var o=De.getStreamFromFD(e);return Te.llseek(o,s,i),K=[o.position>>>0,(Y=o.position,+Math.abs(Y)>=1?Y>0?+Math.floor(Y/4294967296)>>>0:~~+Math.ceil((Y-+(~~Y>>>0))/4294967296)>>>0:0)],U[n>>2]=K[0],U[n+4>>2]=K[1],o.getdents&&0===s&&0===i&&(o.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Jr=(e,t,r,i)=>{for(var n=0,s=0;s>2],a=x[t+4>>2];t+=8;var d=Te.write(e,S,o,a,i);if(d<0)return-1;n+=d,void 0!==i&&(i+=d)}return n};function Qr(e,t,r,i){try{var n=De.getStreamFromFD(e),s=Jr(n,t,r);return x[i>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var ei=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},ti=365,ri=146;Object.defineProperties(ei.prototype,{read:{get:function(){return(this.mode&ti)===ti},set:function(e){e?this.mode|=ti:this.mode&=~ti}},write:{get:function(){return(this.mode&ri)===ri},set:function(e){e?this.mode|=ri:this.mode&=~ri}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=ei,Te.createPreloadedFile=Ue,Te.staticInit(),ze(),Ie=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Me=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},gt(),ct(),Dt(),Ft=n.UnboundTypeError=Gt(Error,"UnboundTypeError"),Qt(),nr();var ii,ni={o:oe,A:Pe,s:Le,q:Re,C:Xe,D:Wt,y:Xt,g:Jt,B:ar,k:cr,c:hr,b:fr,l:mr,i:Er,n:Ar,f:kr,m:rr,e:Lr,d:Fr,a:Mr,h:Rr,w:zr,r:$r,u:Wr,v:jr,j:qr,t:Yr,z:Xr,p:Zr,x:Qr},si=ie(),oi=e=>(oi=si.G)(e),ai=()=>(ai=si.I)(),di=e=>(di=si.J)(e),li=e=>(li=si.K)(e),ci=e=>(ci=si.M)(e);function ui(){function e(){ii||(ii=!0,n.calledRun=!0,C||(R(),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),z()))}G>0||(M(),G>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.dynCall_viiijj=(e,t,r,i,s,o,a,d)=>(n.dynCall_viiijj=si.N)(e,t,r,i,s,o,a,d),n.dynCall_jij=(e,t,r,i)=>(n.dynCall_jij=si.O)(e,t,r,i),n.dynCall_jii=(e,t,r)=>(n.dynCall_jii=si.P)(e,t,r),n.dynCall_jiji=(e,t,r,i,s)=>(n.dynCall_jiji=si.Q)(e,t,r,i,s),H=function e(){ii||ui(),ii||(H=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return ui(),t.ready}})(),a=1e-6,d="undefined"!=typeof Float32Array?Float32Array:Array;function l(){var e=new d(16);return d!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function c(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var u,h=function(e,t,r,i,n,s,o){var a=1/(t-r),d=1/(i-n),l=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*d,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*a,e[13]=(n+i)*d,e[14]=(o+s)*l,e[15]=1,e};function f(e,t,r){var i=new d(3);return i[0]=e,i[1]=t,i[2]=r,i}u=new d(3),d!=Float32Array&&(u[0]=0,u[1]=0,u[2]=0);var p=(e,t)=>{t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const r=function(){const t=m(e.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),r=m(e.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=e.createProgram();if(e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),!e.getProgramParameter(i,e.LINK_STATUS))return console.log("Unable to initialize the shader program: "+e.getProgramInfoLog(i)),null;return i}();let i={program:r,attribLocations:{vertexPosition:e.getAttribLocation(r,"aVertexPosition"),texturePosition:e.getAttribLocation(r,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(r,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(r,"uModelMatrix"),viewMatrix:e.getUniformLocation(r,"uViewMatrix"),rgbatexture:e.getUniformLocation(r,"rgbaTexture"),ytexture:e.getUniformLocation(r,"yTexture"),utexture:e.getUniformLocation(r,"uTexture"),vtexture:e.getUniformLocation(r,"vTexture"),isyuv:e.getUniformLocation(r,"isyuv")}},n=function(){const t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array(r),e.STATIC_DRAW);const n=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{position:t,texPosition:i,indices:n}}(),s=p(),o=p(),d=p(),u=p();function p(){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function m(t,r){const i=e.createShader(t);return e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)?i:(console.log("An error occurred compiling the shaders: "+e.getShaderInfoLog(i)),e.deleteShader(i),null)}function _(t,r){e.viewport(0,0,t,r),e.clearColor(0,0,0,0),e.clearDepth(1),e.enable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT);const s=l();h(s,-1,1,-1,1,.1,100);const p=l();c(p);const m=l();!function(e,t,r,i){var n,s,o,d,l,u,h,f,p,m,_=t[0],g=t[1],y=t[2],v=i[0],b=i[1],w=i[2],S=r[0],E=r[1],A=r[2];Math.abs(_-S)32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let r=e-this._current_word_bits_left;this._fillCurrentWord();let i=Math.min(r,this._current_word_bits_left),n=this._current_word>>>32-i;return this._current_word<<=i,this._current_word_bits_left-=i,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const qt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],Yt=qt,Kt=qt;function Xt(e){let{profile:t,sampleRate:r,channel:i}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|i<<3])}function Zt(e){return Jt(e)&&e[1]===Ct}function Jt(e){return e[0]>>4===He}const Qt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function er(e){let t=new Uint8Array(e),r=null,i=0,n=0,s=0,o=null;if(i=n=t[0]>>>3,s=(7&t[0])<<1|t[1]>>>7,s<0||s>=Qt.length)return void console.error("Flv: AAC invalid sampling frequency index!");let a=Qt[s],d=(120&t[1])>>>3;if(d<0||d>=8)return void console.log("Flv: AAC invalid channel configuration");5===i&&(o=(7&t[1])<<1|t[2]>>>7,t[2]);let l=Ht.navigator.userAgent.toLowerCase();return-1!==l.indexOf("firefox")?s>=6?(i=5,r=new Array(4),o=s-3):(i=2,r=new Array(2),o=s):-1!==l.indexOf("android")?(i=2,r=new Array(2),o=s):(i=5,o=s,r=new Array(4),s>=6?o=s-3:1===d&&(i=2,r=new Array(2),o=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&d)<<3,5===i&&(r[1]|=(15&o)>>>1,r[2]=(1&o)<<7,r[2]|=8,r[3]=0),{audioType:"aac",config:r,sampleRate:a,channelCount:d,objectType:i,codec:"mp4a.40."+i,originalCodec:"mp4a.40."+n}}class tr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+7>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(4095===(r[t+0]<<8|r[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let r=this.current_syncword_offset_,i=(8&e[r+1])>>>3,n=(6&e[r+1])>>>1,s=1&e[r+1],o=(192&e[r+2])>>>6,a=(60&e[r+2])>>>2,d=(1&e[r+2])<<2|(192&e[r+3])>>>6,l=(3&e[r+3])<<11|e[r+4]<<3|(224&e[r+5])>>>5;if(e[r+6],r+l>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let c=1===s?7:9,u=l-c;r+=c;let h=this.findNextSyncwordOffset(r+u);if(this.current_syncword_offset_=h,0!==i&&1!==i||0!==n)continue;let f=e.subarray(r,r+u);t={},t.audio_object_type=o+1,t.sampling_freq_index=a,t.sampling_frequency=Yt[a],t.channel_config=d,t.data=f}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class rr{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,r=this.data_;for(;;){if(t+1>=r.byteLength)return this.eof_flag_=!0,r.byteLength;if(695===(r[t+0]<<3|r[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),r=0;for(let i=0;i<=t;i++)r<<=8,r|=e.readByte();return r}readNextAACFrame(e){let t=this.data_,r=null;for(;null==r&&!this.eof_flag_;){let i=this.current_syncword_offset_,n=(31&t[i+1])<<8|t[i+2];if(i+3+n>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let s=new jt(t.subarray(i+3,i+3+n)),o=null;if(s.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(i+3+n),s.destroy();continue}o=e}else{let e=s.readBool();if(e&&s.readBool()){console.error("audioMuxVersionA is Not Supported"),s.destroy();break}if(e&&this.getLATMValue(s),!s.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),s.destroy();break}if(0!==s.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),s.destroy();break}if(0!==s.readBits(4)){console.error("more than 2 numProgram Not Supported"),s.destroy();break}if(0!==s.readBits(3)){console.error("more than 2 numLayer Not Supported"),s.destroy();break}let t=e?this.getLATMValue(s):0,r=s.readBits(5);t-=5;let i=s.readBits(4);t-=4;let n=s.readBits(4);t-=4,s.readBits(3),t-=3,t>0&&s.readBits(t);let a=s.readBits(3);if(0!==a){console.error(`frameLengthType = ${a}. Only frameLengthType = 0 Supported`),s.destroy();break}s.readByte();let d=s.readBool();if(d)if(e)this.getLATMValue(s);else{let e=0;for(;;){e<<=8;let t=s.readBool();if(e+=s.readByte(),!t)break}console.log(e)}s.readBool()&&s.readByte(),o={},o.audio_object_type=r,o.sampling_freq_index=i,o.sampling_frequency=Yt[o.sampling_freq_index],o.channel_config=n,o.other_data_present=d}let a=0;for(;;){let e=s.readByte();if(a+=e,255!==e)break}let d=new Uint8Array(a);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function nr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const r=e.length,i=[];let n,s=0;for(;s+t>>=8),s+=t,n){if(s+n>r)break;i.push(e.subarray(s,s+n)),s+=n}return i}function sr(e,t){const r=e.length;let i=t?2:1,n=0,s=0,o="";for(;255===e[i];)n+=255,i++;for(n+=e[i++];255===e[i];)s+=255,i++;if(s+=e[i++],5===n&&r>i+16)for(let t=0;t<16;t++)o+=e[i].toString(16),i++;return{payload:e.subarray(i),type:n,size:s,uuid:o}}function or(e){const t=e.byteLength,r=new Uint8Array(4);r[0]=t>>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t;const i=new Uint8Array(t+4);return i.set(r,0),i.set(e,4),i}function ar(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}function dr(){return(new Date).getTime()}function lr(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function cr(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function ur(e){let t=0,r=cr();return i=>{if(n=i,"[object Number]"!==Object.prototype.toString.call(n))return;var n;t+=i;const s=cr(),o=s-r;o>=1e3&&(e(t/o*1e3),r=s,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();function hr(e){return null==e}function fr(e){return!hr(e)}function pr(e){return"function"==typeof e}function mr(e){let t=null,r=31&e[0];return r!==qe&&r!==Ye||(t=Oe),t||(r=(126&e[0])>>1,r!==dt&&r!==ct&&r!==ht||(t=Ge)),t}function _r(){return"undefined"!=typeof WritableStream}function gr(e){e.close()}function yr(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let r=e[0],i=null,n=1;if(e.length>0){let t=e[1];t&&t.ts-r.ts>1e5&&(r=t,n=2)}if(r)for(let s=n;s=1e3){e[s-1].ts-r.ts<1e3&&(i=s+1)}}}return i}function vr(e){return e.ok&&e.status>=200&&e.status<=299}function br(){return function(e){let t="";if("object"==typeof e)try{t=JSON.stringify(e),t=JSON.parse(t)}catch(r){t=e}else t=e;return t}(k)}function wr(e){return e[0]>>4===Dt&&e[1]===Ct}function Sr(e){return!0===e||"true"===e}function Er(e){return!0!==e&&"true"!==e}function Ar(){return!!(Ht.Worker&&Ht.MediaSource&&"canConstructInDedicatedWorker"in Ht.MediaSource&&!0===Ht.MediaSource.canConstructInDedicatedWorker)}function Br(e,t){const r=nr(e.slice(5));let i=!1;return r.forEach((e=>{const r=t?e[0]>>>1&63:31&e[0];(t&&(r===rt||r===nt||r===ot)||Er(t)&&r===Ke)&&(i=!0)})),i}var Ur=function(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{d(i.next(e))}catch(e){s(e)}}function a(e){try{d(i.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}d((i=i.apply(e,t||[])).next())}))};const xr=Symbol(32),kr=Symbol(16),Tr=Symbol(8);class Cr{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Ur(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(xr)}readU16(){return this.read(kr)}readU8(){return this.read(Tr)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let r=0;const i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===xr){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===kr){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===Tr){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{const e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}}Cr.U32=xr,Cr.U16=kr,Cr.U8=Tr;class Dr{constructor(e){this.log=function(t){if(e._opt.debugLevel==E){const s=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n1?r-1:0),n=1;n1?i-1:0),s=1;s=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseSPS(e){let t=Pr._ebsp2rbsp(e),r=new jt(t);r.readByte();let i=r.readByte();r.readByte();let n=r.readByte();r.readUEG();let s=Pr.getProfileString(i),o=Pr.getLevelString(n),a=1,d=420,l=[0,420,422,444],c=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(a=r.readUEG(),3===a&&r.readBits(1),a<=3&&(d=l[a]),c=r.readUEG()+8,r.readUEG(),r.readBits(1),r.readBool())){let e=3!==a?8:12;for(let t=0;t0&&e<16?(b=t[e-1],w=i[e-1]):255===e&&(b=r.readByte()<<8|r.readByte(),w=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);E=r.readBool(),A=t,B=2*e,S=A/B}}let U=1;1===b&&1===w||(U=b/w);let x=0,k=0;if(0===a)x=1,k=2-m;else{x=3===a?1:2,k=(1===a?2:1)*(2-m)}let T=16*(f+1),C=16*(p+1)*(2-m);T-=(_+g)*x,C-=(y+v)*k;let D=Math.ceil(T*U);return r.destroy(),r=null,{profile_string:s,level_string:o,bit_depth:c,ref_frames:h,chroma_format:d,chroma_format_string:Pr.getChromaFormatString(d),frame_rate:{fixed:E,fps:S,fps_den:B,fps_num:A},sar_ratio:{width:b,height:w},codec_size:{width:T,height:C},present_size:{width:D,height:C}}}static parseSPS$2(e){let t=e.subarray(1,4),r="avc1.";for(let e=0;e<3;e++){let i=t[e].toString(16);i.length<2&&(i="0"+i),r+=i}let i=Pr._ebsp2rbsp(e),n=new jt(i);n.readByte();let s=n.readByte();n.readByte();let o=n.readByte();n.readUEG();let a=Pr.getProfileString(s),d=Pr.getLevelString(o),l=1,c=420,u=[0,420,422,444],h=8,f=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(l=n.readUEG(),3===l&&n.readBits(1),l<=3&&(c=u[l]),h=n.readUEG()+8,f=n.readUEG()+8,n.readBits(1),n.readBool())){let e=3!==l?8:12;for(let t=0;t0&&e<16?(E=t[e-1],A=r[e-1]):255===e&&(E=n.readByte()<<8|n.readByte(),A=n.readByte()<<8|n.readByte())}if(n.readBool()&&n.readBool(),n.readBool()&&(n.readBits(4),n.readBool()&&n.readBits(24)),n.readBool()&&(n.readUEG(),n.readUEG()),n.readBool()){let e=n.readBits(32),t=n.readBits(32);U=n.readBool(),x=t,k=2*e,B=x/k}}let T=1;1===E&&1===A||(T=E/A);let C=0,D=0;if(0===l)C=1,D=2-y;else{C=3===l?1:2,D=(1===l?2:1)*(2-y)}let P=16*(_+1),L=16*(g+1)*(2-y);P-=(v+b)*C,L-=(w+S)*D;let F=Math.ceil(P*T);return n.destroy(),n=null,{codec_mimetype:r,profile_idc:s,level_idc:o,profile_string:a,level_string:d,chroma_format_idc:l,bit_depth:h,bit_depth_luma:h,bit_depth_chroma:f,ref_frames:m,chroma_format:c,chroma_format_string:Pr.getChromaFormatString(c),frame_rate:{fixed:U,fps:B,fps_den:k,fps_num:x},sar_ratio:{width:E,height:A},codec_size:{width:P,height:L},present_size:{width:F,height:L}}}static _skipScalingList(e,t){let r=8,i=8,n=0;for(let s=0;s=this.buflen)return this.iserro=!0,0;this.iserro=!1,r=this.bufoff+e>8?8-this.bufoff:e,t<<=r,t+=this.buffer[this.bufpos]>>8-this.bufoff-r&255>>8-r,this.bufoff+=r,e-=r,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,r=this.bufoff,i=this.read(e);return this.bufpos=t,this.bufoff=r,i}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.sps,4),t.sps=i}if(t.pps){const e=t.pps.byteLength,r=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(r,0),i.set(t.pps,4),t.pps=i}return t}function Ir(e){let{sps:t,pps:r}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=t[1],i[7]=t[2],i[8]=t[3],i[10]=225,i[11]=t.byteLength>>8&255,i[12]=255&t.byteLength,i.push(...t,1,r.byteLength>>8&255,255&r.byteLength,...r);return new Uint8Array(i)}function Mr(e){let{sps:t,pps:r}=e,i=8+t.byteLength+1+2+r.byteLength,n=!1;const s=Pr.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(n=!0,i+=4);let o=new Uint8Array(i);o[0]=1,o[1]=t[1],o[2]=t[2],o[3]=t[3],o[4]=255,o[5]=225;let a=t.byteLength;o[6]=a>>>8,o[7]=255&a;let d=8;o.set(t,8),d+=a,o[d]=1;let l=r.byteLength;o[d+1]=l>>>8,o[d+2]=255&l,o.set(r,d+3),d+=3+l,n&&(o[d]=252|s.chroma_format_idc,o[d+1]=248|s.bit_depth_luma-8,o[d+2]=248|s.bit_depth_chroma-8,o[d+3]=0,d+=4);const c=[23,0,0,0,0],u=new Uint8Array(c.length+o.byteLength);return u.set(c,0),u.set(o,c.length),u}function Rr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function zr(e,t){let r=[];r[0]=t?23:39,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function Nr(e){return 31&e[0]}function $r(e){return e===Je}function Or(e){return!function(e){return e===qe||e===Ye}(e)&&!$r(e)}function Gr(e){return e===Ke}function Hr(e){if(0===e.length)return!1;const t=Nr(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=31&e[r],n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,i>=tt||0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class Wr{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const jr=e=>{let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)},qr=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class Yr{static _ebsp2rbsp(e){let t=e,r=t.byteLength,i=new Uint8Array(r),n=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(i[n]=t[e],n++);return new Uint8Array(i.buffer,0,n)}static parseVPS(e){let t=Yr._ebsp2rbsp(e),r=new jt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}}static parseSPS(e){let t=Yr._ebsp2rbsp(e),r=new jt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,o=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<=16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()){r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())}if(r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(r.readUEG(),r.readUEG(),r.readUEG(),r.readUEG()),r.readBool()){if(R=r.readBits(32),z=r.readBits(32),r.readBool()&&r.readUEG(),r.readBool()){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let s=!0,o=1;n||(s=r.readBool());let a=!1;if(s?r.readUEG():a=r.readBool(),a||(o=r.readUEG()+1),e){for(let e=0;e>6&3,r.general_tier_flag=e[1]>>5&1,r.general_profile_idc=31&e[1],r.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],r.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],r.general_constraint_indicator_flags=r.general_constraint_indicator_flags<<16|e[10]<<8|e[11],r.general_level_idc=e[12],r.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],r.parallelismType=3&e[15],r.chromaFormat=3&e[16],r.bitDepthLumaMinus8=7&e[17],r.bitDepthChromaMinus8=7&e[18],r.avgFrameRate=e[19]<<8|e[20],r.constantFrameRate=e[21]>>6&3,r.numTemporalLayers=e[21]>>3&7,r.temporalIdNested=e[21]>>2&1,r.lengthSizeMinusOne=3&e[21];let i=e[22],n=e.slice(23);for(let e=0;e0)for(let t=r;t<8;t++)e.read(2);i.sub_layer_profile_space=[],i.sub_layer_tier_flag=[],i.sub_layer_profile_idc=[],i.sub_layer_profile_compatibility_flag=[],i.sub_layer_progressive_source_flag=[],i.sub_layer_interlaced_source_flag=[],i.sub_layer_non_packed_constraint_flag=[],i.sub_layer_frame_only_constraint_flag=[],i.sub_layer_level_idc=[];for(let t=0;t{let t=jr(e),r=new jt(t);return r.readByte(),r.readByte(),r.readBits(4),r.readBits(2),r.readBits(6),{num_temporal_layers:r.readBits(3)+1,temporal_id_nested:r.readBool()}})(t),o=(e=>{let t=jr(e),r=new jt(t);r.readByte(),r.readByte();let i=0,n=0,s=0,o=0;r.readBits(4);let a=r.readBits(3);r.readBool();let d=r.readBits(2),l=r.readBool(),c=r.readBits(5),u=r.readByte(),h=r.readByte(),f=r.readByte(),p=r.readByte(),m=r.readByte(),_=r.readByte(),g=r.readByte(),y=r.readByte(),v=r.readByte(),b=r.readByte(),w=r.readByte(),S=[],E=[];for(let e=0;e0)for(let e=a;e<8;e++)r.readBits(2);for(let e=0;e1&&r.readSEG();for(let e=0;e0&&e<16?(F=t[e-1],I=i[e-1]):255===e&&(F=r.readBits(16),I=r.readBits(16))}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(3),r.readBool(),r.readBool()&&(r.readByte(),r.readByte(),r.readByte())),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool(),r.readBool(),r.readBool(),P=r.readBool(),P&&(i+=r.readUEG(),n+=r.readUEG(),s+=r.readUEG(),o+=r.readUEG()),r.readBool()&&(R=r.readBits(32),z=r.readBits(32),r.readBool()&&(r.readUEG(),r.readBool()))){let e=!1,t=!1,i=!1;e=r.readBool(),t=r.readBool(),(e||t)&&(i=r.readBool(),i&&(r.readByte(),r.readBits(5),r.readBool(),r.readBits(5)),r.readBits(4),r.readBits(4),i&&r.readBits(4),r.readBits(5),r.readBits(5),r.readBits(5));for(let n=0;n<=a;n++){let n=r.readBool();M=n;let s=!1,o=1;n||(s=r.readBool());let a=!1;if(s?r.readSEG():a=r.readBool(),a||(cpbcnt=r.readUEG()+1),e)for(let e=0;e{let t=jr(e),r=new jt(t);r.readByte(),r.readByte(),r.readUEG(),r.readUEG(),r.readBool(),r.readBool(),r.readBits(3),r.readBool(),r.readBool(),r.readUEG(),r.readUEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool()&&r.readUEG(),r.readSEG(),r.readSEG(),r.readBool(),r.readBool(),r.readBool(),r.readBool();let i=r.readBool(),n=r.readBool(),s=1;return n&&i?s=0:n?s=3:i&&(s=2),{parallelismType:s}})(r);n=Object.assign(n,s,o,a);let d=23+(5+t.byteLength)+(5+i.byteLength)+(5+r.byteLength),l=new Uint8Array(d);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,l[2]=n.general_profile_compatibility_flags_1||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n.general_profile_compatibility_flags_3||0,l[5]=n.general_profile_compatibility_flags_4||0,l[6]=n.general_constraint_indicator_flags_1||0,l[7]=n.general_constraint_indicator_flags_2||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n.general_constraint_indicator_flags_4||0,l[10]=n.general_constraint_indicator_flags_5||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,l[14]=255&n.min_spatial_segmentation_idc,l[15]=252|3&n.parallelismType,l[16]=252|3&n.chroma_format_idc,l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|dt,l[24]=0,l[25]=1,l[26]=(65280&t.byteLength)>>8,l[27]=(255&t.byteLength)>>0,l.set(t,28),l[23+(5+t.byteLength)+0]=128|ct,l[23+(5+t.byteLength)+1]=0,l[23+(5+t.byteLength)+2]=1,l[23+(5+t.byteLength)+3]=(65280&i.byteLength)>>8,l[23+(5+t.byteLength)+4]=(255&i.byteLength)>>0,l.set(i,23+(5+t.byteLength)+5),l[23+(5+t.byteLength+5+i.byteLength)+0]=128|ht,l[23+(5+t.byteLength+5+i.byteLength)+1]=0,l[23+(5+t.byteLength+5+i.byteLength)+2]=1,l[23+(5+t.byteLength+5+i.byteLength)+3]=(65280&r.byteLength)>>8,l[23+(5+t.byteLength+5+i.byteLength)+4]=(255&r.byteLength)>>0,l.set(r,23+(5+t.byteLength+5+i.byteLength)+5);const c=[28,0,0,0,0],u=new Uint8Array(c.length+l.byteLength);return u.set(c,0),u.set(l,c.length),u}function Qr(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0,r[5]=e.byteLength>>24&255,r[6]=e.byteLength>>16&255,r[7]=e.byteLength>>8&255,r[8]=255&e.byteLength;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ei(e,t){let r=[];r[0]=t?28:44,r[1]=1,r[2]=0,r[3]=0,r[4]=0;const i=new Uint8Array(r.length+e.byteLength);return i.set(r,0),i.set(e,r.length),i}function ti(e){return(126&e[0])>>1}function ri(e){return e===pt}function ii(e){return!function(e){return e>=32&&e<=40}(e)}function ni(e){return e>=16&&e<=21}function si(e){if(0===e.length)return!1;const t=ti(e[0]);for(let r=1;r=r.byteLength)return this.eofFlag=!0,r.byteLength;let e=r[t+0]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3],i=r[t+0]<<16|r[t+1]<<8|r[t+2];if(1===e||1===i)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let r=this.currentStartcodeOffset;r+=1===(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])?4:3;let i=e[r]>>1&63,n=(128&e[r])>>>7,s=this.findNextStartCodeOffset(r);this.currentStartcodeOffset=s,0===n&&(t={type:i,data:e.subarray(r,s)})}return t}}class ai{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}function di(e){return parseInt(e)===e}function li(e){if(!di(e.length))return!1;for(var t=0;t255)return!1;return!0}function ci(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!li(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(di(e.length)&&li(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function ui(e){return new Uint8Array(e)}function hi(e,t,r,i,n){null==i&&null==n||(e=e.slice?e.slice(i,n):Array.prototype.slice.call(e,i,n)),t.set(e,r)}var fi,pi={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&i<224?(t.push(String.fromCharCode((31&i)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&i)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},mi=(fi="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+fi[15&i])}return t.join("")}}),_i={16:10,24:12,32:14},gi=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],yi=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],vi=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],bi=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],wi=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Si=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Ei=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Ai=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Bi=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ui=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],xi=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ki=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Ti=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Ci=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Di=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Pi(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=s[t],this._Kd[e-r][t%4]=s[t];for(var o,a=0,d=n;d>16&255]<<24^yi[o>>8&255]<<16^yi[255&o]<<8^yi[o>>24&255]^gi[a]<<24,a+=1,8!=n)for(t=1;t>8&255]<<8^yi[o>>16&255]<<16^yi[o>>24&255]<<24;for(t=n/2+1;t>2,c=d%4,this._Ke[l][c]=s[t],this._Kd[e-l][c]=s[t++],d++}for(var l=1;l>24&255]^Ti[o>>16&255]^Ci[o>>8&255]^Di[255&o]},Li.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],i=Pi(e),n=0;n<4;n++)i[n]^=this._Ke[0][n];for(var s=1;s>24&255]^wi[i[(n+1)%4]>>16&255]^Si[i[(n+2)%4]>>8&255]^Ei[255&i[(n+3)%4]]^this._Ke[s][n];i=r.slice()}var o,a=ui(16);for(n=0;n<4;n++)o=this._Ke[t][n],a[4*n]=255&(yi[i[n]>>24&255]^o>>24),a[4*n+1]=255&(yi[i[(n+1)%4]>>16&255]^o>>16),a[4*n+2]=255&(yi[i[(n+2)%4]>>8&255]^o>>8),a[4*n+3]=255&(yi[255&i[(n+3)%4]]^o);return a},Li.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],i=Pi(e),n=0;n<4;n++)i[n]^=this._Kd[0][n];for(var s=1;s>24&255]^Bi[i[(n+3)%4]>>16&255]^Ui[i[(n+2)%4]>>8&255]^xi[255&i[(n+1)%4]]^this._Kd[s][n];i=r.slice()}var o,a=ui(16);for(n=0;n<4;n++)o=this._Kd[t][n],a[4*n]=255&(vi[i[n]>>24&255]^o>>24),a[4*n+1]=255&(vi[i[(n+3)%4]>>16&255]^o>>16),a[4*n+2]=255&(vi[i[(n+2)%4]>>8&255]^o>>8),a[4*n+3]=255&(vi[255&i[(n+1)%4]]^o);return a};var Fi=function(e){if(!(this instanceof Fi))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Li(e)};Fi.prototype.encrypt=function(e){if((e=ci(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=ui(e.length),r=ui(16),i=0;iNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},zi.prototype.setBytes=function(e){if(16!=(e=ci(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},zi.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Ni=function(e,t){if(!(this instanceof Ni))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof zi||(t=new zi(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Li(e)};Ni.prototype.encrypt=function(e){for(var t=ci(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,i=0;i>>2]>>>24-s%4*8&255;t[i+s>>>2]|=o<<24-(i+s)%4*8}else for(var a=0;a>>2]=r[a>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=d.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-n%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new l.init(r,t/2)}},h=c.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new l.init(r,t)}},f=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(h.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return h.parse(unescape(encodeURIComponent(e)))}},p=a.BufferedBlockAlgorithm=d.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,s=i.sigBytes,o=this.blockSize,a=s/(4*o),d=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,c=e.min(4*d,s);if(d){for(var u=0;u>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};i.prototype=e}}(),r.lib.WordArray)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.WordArray,i=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}i.Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},i.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],s=0;s>>2]>>>16-s%4*8&65535);i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],s=0;s>>1]|=n(e.charCodeAt(s)<<16-s%2*16);return t.create(i,2*r)}}}(),r.enc.Utf16)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.WordArray;function i(e,r,i){for(var n=[],s=0,o=0;o>>6-o%4*2;n[s>>>2]|=a<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,i=this._map;e.clamp();for(var n=[],s=0;s>>2]>>>24-s%4*8&255)<<16|(t[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|t[s+2>>>2]>>>24-(s+2)%4*8&255,a=0;a<4&&s+.75*a>>6*(3-a)&63));var d=i.charAt(64);if(d)for(;n.length%4;)n.push(d);return n.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s>>6-o%4*2;n[s>>>2]|=a<<24-s%4*8,s++}return t.create(n,s)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var s=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,d=0;d<4&&o+.75*d>>6*(3-d)&63));var l=n.charAt(64);if(l)for(;s.length%4;)s.push(l);return s.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var o=0;o>>24)|4278255360&(n<<24|n>>>8)}var s=this._hash.words,o=e[t+0],d=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],_=e[t+5],g=e[t+6],y=e[t+7],v=e[t+8],b=e[t+9],w=e[t+10],S=e[t+11],E=e[t+12],A=e[t+13],B=e[t+14],U=e[t+15],x=s[0],k=s[1],T=s[2],C=s[3];x=l(x,k,T,C,o,7,a[0]),C=l(C,x,k,T,d,12,a[1]),T=l(T,C,x,k,f,17,a[2]),k=l(k,T,C,x,p,22,a[3]),x=l(x,k,T,C,m,7,a[4]),C=l(C,x,k,T,_,12,a[5]),T=l(T,C,x,k,g,17,a[6]),k=l(k,T,C,x,y,22,a[7]),x=l(x,k,T,C,v,7,a[8]),C=l(C,x,k,T,b,12,a[9]),T=l(T,C,x,k,w,17,a[10]),k=l(k,T,C,x,S,22,a[11]),x=l(x,k,T,C,E,7,a[12]),C=l(C,x,k,T,A,12,a[13]),T=l(T,C,x,k,B,17,a[14]),x=c(x,k=l(k,T,C,x,U,22,a[15]),T,C,d,5,a[16]),C=c(C,x,k,T,g,9,a[17]),T=c(T,C,x,k,S,14,a[18]),k=c(k,T,C,x,o,20,a[19]),x=c(x,k,T,C,_,5,a[20]),C=c(C,x,k,T,w,9,a[21]),T=c(T,C,x,k,U,14,a[22]),k=c(k,T,C,x,m,20,a[23]),x=c(x,k,T,C,b,5,a[24]),C=c(C,x,k,T,B,9,a[25]),T=c(T,C,x,k,p,14,a[26]),k=c(k,T,C,x,v,20,a[27]),x=c(x,k,T,C,A,5,a[28]),C=c(C,x,k,T,f,9,a[29]),T=c(T,C,x,k,y,14,a[30]),x=u(x,k=c(k,T,C,x,E,20,a[31]),T,C,_,4,a[32]),C=u(C,x,k,T,v,11,a[33]),T=u(T,C,x,k,S,16,a[34]),k=u(k,T,C,x,B,23,a[35]),x=u(x,k,T,C,d,4,a[36]),C=u(C,x,k,T,m,11,a[37]),T=u(T,C,x,k,y,16,a[38]),k=u(k,T,C,x,w,23,a[39]),x=u(x,k,T,C,A,4,a[40]),C=u(C,x,k,T,o,11,a[41]),T=u(T,C,x,k,p,16,a[42]),k=u(k,T,C,x,g,23,a[43]),x=u(x,k,T,C,b,4,a[44]),C=u(C,x,k,T,E,11,a[45]),T=u(T,C,x,k,U,16,a[46]),x=h(x,k=u(k,T,C,x,f,23,a[47]),T,C,o,6,a[48]),C=h(C,x,k,T,y,10,a[49]),T=h(T,C,x,k,B,15,a[50]),k=h(k,T,C,x,_,21,a[51]),x=h(x,k,T,C,E,6,a[52]),C=h(C,x,k,T,p,10,a[53]),T=h(T,C,x,k,w,15,a[54]),k=h(k,T,C,x,d,21,a[55]),x=h(x,k,T,C,v,6,a[56]),C=h(C,x,k,T,U,10,a[57]),T=h(T,C,x,k,g,15,a[58]),k=h(k,T,C,x,A,21,a[59]),x=h(x,k,T,C,m,6,a[60]),C=h(C,x,k,T,S,10,a[61]),T=h(T,C,x,k,f,15,a[62]),k=h(k,T,C,x,b,21,a[63]),s[0]=s[0]+x|0,s[1]=s[1]+k|0,s[2]=s[2]+T|0,s[3]=s[3]+C|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;r[n>>>5]|=128<<24-n%32;var s=e.floor(i/4294967296),o=i;r[15+(n+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),r[14+(n+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,d=a.words,l=0;l<4;l++){var c=d[l];d[l]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return a},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,i,n,s,o){var a=e+(t&r|~t&i)+n+o;return(a<>>32-s)+t}function c(e,t,r,i,n,s,o){var a=e+(t&i|r&~i)+n+o;return(a<>>32-s)+t}function u(e,t,r,i,n,s,o){var a=e+(t^r^i)+n+o;return(a<>>32-s)+t}function h(e,t,r,i,n,s,o){var a=e+(r^(t|~i))+n+o;return(a<>>32-s)+t}t.MD5=s._createHelper(d),t.HmacMD5=s._createHmacHelper(d)}(Math),r.MD5)})),Wt((function(e,t){var r,i,n,s,o,a,d,l;e.exports=(i=(r=l=Oi).lib,n=i.WordArray,s=i.Hasher,o=r.algo,a=[],d=o.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],d=r[4],l=0;l<80;l++){if(l<16)a[l]=0|e[t+l];else{var c=a[l-3]^a[l-8]^a[l-14]^a[l-16];a[l]=c<<1|c>>>31}var u=(i<<5|i>>>27)+d+a[l];u+=l<20?1518500249+(n&s|~n&o):l<40?1859775393+(n^s^o):l<60?(n&s|n&o|s&o)-1894007588:(n^s^o)-899497514,d=o,o=s,s=n<<30|n>>>2,n=i,i=u}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+d|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),r.SHA1=s._createHelper(d),r.HmacSHA1=s._createHmacHelper(d),l.SHA1)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.algo,a=[],d=[];!function(){function t(t){for(var r=e.sqrt(t),i=2;i<=r;i++)if(!(t%i))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var i=2,n=0;n<64;)t(i)&&(n<8&&(a[n]=r(e.pow(i,.5))),d[n]=r(e.pow(i,1/3)),n++),i++}();var l=[],c=o.SHA256=s.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],a=r[4],c=r[5],u=r[6],h=r[7],f=0;f<64;f++){if(f<16)l[f]=0|e[t+f];else{var p=l[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,_=l[f-2],g=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;l[f]=m+l[f-7]+g+l[f-16]}var y=i&n^i&s^n&s,v=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),b=h+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&c^~a&u)+d[f]+l[f];h=u,u=c,c=a,a=o+b|0,o=s,s=n,n=i,i=b+(v+y)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+s|0,r[3]=r[3]+o|0,r[4]=r[4]+a|0,r[5]=r[5]+c|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0},_doFinalize:function(){var t=this._data,r=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(n+64>>>9<<4)]=e.floor(i/4294967296),r[15+(n+64>>>9<<4)]=i,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=s._createHelper(c),t.HmacSHA256=s._createHmacHelper(c)}(Math),r.SHA256)})),Wt((function(e,t){var r,i,n,s,o,a;e.exports=(i=(r=a=Oi).lib.WordArray,n=r.algo,s=n.SHA256,o=n.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}}),r.SHA224=s._createHelper(o),r.HmacSHA224=s._createHmacHelper(o),a.SHA224)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.Hasher,i=e.x64,n=i.Word,s=i.WordArray,o=e.algo;function a(){return n.create.apply(n,arguments)}var d=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=a()}();var c=o.SHA512=t.extend({_doReset:function(){this._hash=new s.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],s=r[2],o=r[3],a=r[4],c=r[5],u=r[6],h=r[7],f=i.high,p=i.low,m=n.high,_=n.low,g=s.high,y=s.low,v=o.high,b=o.low,w=a.high,S=a.low,E=c.high,A=c.low,B=u.high,U=u.low,x=h.high,k=h.low,T=f,C=p,D=m,P=_,L=g,F=y,I=v,M=b,R=w,z=S,N=E,$=A,O=B,G=U,H=x,V=k,W=0;W<80;W++){var j,q,Y=l[W];if(W<16)q=Y.high=0|e[t+2*W],j=Y.low=0|e[t+2*W+1];else{var K=l[W-15],X=K.high,Z=K.low,J=(X>>>1|Z<<31)^(X>>>8|Z<<24)^X>>>7,Q=(Z>>>1|X<<31)^(Z>>>8|X<<24)^(Z>>>7|X<<25),ee=l[W-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),se=l[W-7],oe=se.high,ae=se.low,de=l[W-16],le=de.high,ce=de.low;q=(q=(q=J+oe+((j=Q+ae)>>>0>>0?1:0))+ie+((j+=ne)>>>0>>0?1:0))+le+((j+=ce)>>>0>>0?1:0),Y.high=q,Y.low=j}var ue,he=R&N^~R&O,fe=z&$^~z&G,pe=T&D^T&L^D&L,me=C&P^C&F^P&F,_e=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),ge=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),ye=(R>>>14|z<<18)^(R>>>18|z<<14)^(R<<23|z>>>9),ve=(z>>>14|R<<18)^(z>>>18|R<<14)^(z<<23|R>>>9),be=d[W],we=be.high,Se=be.low,Ee=H+ye+((ue=V+ve)>>>0>>0?1:0),Ae=ge+me;H=O,V=G,O=N,G=$,N=R,$=z,R=I+(Ee=(Ee=(Ee=Ee+he+((ue+=fe)>>>0>>0?1:0))+we+((ue+=Se)>>>0>>0?1:0))+q+((ue+=j)>>>0>>0?1:0))+((z=M+ue|0)>>>0>>0?1:0)|0,I=L,M=F,L=D,F=P,D=T,P=C,T=Ee+(_e+pe+(Ae>>>0>>0?1:0))+((C=ue+Ae|0)>>>0>>0?1:0)|0}p=i.low=p+C,i.high=f+T+(p>>>0>>0?1:0),_=n.low=_+P,n.high=m+D+(_>>>0

      >>0?1:0),y=s.low=y+F,s.high=g+L+(y>>>0>>0?1:0),b=o.low=b+M,o.high=v+I+(b>>>0>>0?1:0),S=a.low=S+z,a.high=w+R+(S>>>0>>0?1:0),A=c.low=A+$,c.high=E+N+(A>>>0<$>>>0?1:0),U=u.low=U+G,u.high=B+O+(U>>>0>>0?1:0),k=h.low=k+V,h.high=x+H+(k>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(c),e.HmacSHA512=t._createHmacHelper(c)}(),r.SHA512)})),Wt((function(e,t){var r,i,n,s,o,a,d,l;e.exports=(i=(r=l=Oi).x64,n=i.Word,s=i.WordArray,o=r.algo,a=o.SHA512,d=o.SHA384=a.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=16,e}}),r.SHA384=a._createHelper(d),r.HmacSHA384=a._createHmacHelper(d),l.SHA384)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.x64.Word,a=t.algo,d=[],l=[],c=[];!function(){for(var e=1,t=0,r=0;r<24;r++){d[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,s=0;s<24;s++){for(var a=0,u=0,h=0;h<7;h++){if(1&n){var f=(1<>>24)|4278255360&(s<<24|s>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),(k=r[n]).high^=o,k.low^=s}for(var a=0;a<24;a++){for(var h=0;h<5;h++){for(var f=0,p=0,m=0;m<5;m++)f^=(k=r[h+5*m]).high,p^=k.low;var _=u[h];_.high=f,_.low=p}for(h=0;h<5;h++){var g=u[(h+4)%5],y=u[(h+1)%5],v=y.high,b=y.low;for(f=g.high^(v<<1|b>>>31),p=g.low^(b<<1|v>>>31),m=0;m<5;m++)(k=r[h+5*m]).high^=f,k.low^=p}for(var w=1;w<25;w++){var S=(k=r[w]).high,E=k.low,A=d[w];A<32?(f=S<>>32-A,p=E<>>32-A):(f=E<>>64-A,p=S<>>64-A);var B=u[l[w]];B.high=f,B.low=p}var U=u[0],x=r[0];for(U.high=x.high,U.low=x.low,h=0;h<5;h++)for(m=0;m<5;m++){var k=r[w=h+5*m],T=u[w],C=u[(h+1)%5+5*m],D=u[(h+2)%5+5*m];k.high=T.high^~C.high&D.high,k.low=T.low^~C.low&D.low}k=r[0];var P=c[a];k.high^=P.high,k.low^=P.low}},_doFinalize:function(){var t=this._data,r=t.words;this._nDataBytes;var i=8*t.sigBytes,s=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/s)*s>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var o=this._state,a=this.cfg.outputLength/8,d=a/8,l=[],c=0;c>>24)|4278255360&(h<<24|h>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),l.push(f),l.push(h)}return new n.init(l,a)},clone:function(){for(var e=s.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=s._createHelper(h),t.HmacSHA3=s._createHmacHelper(h)}(Math),r.SHA3)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib,n=i.WordArray,s=i.Hasher,o=t.algo,a=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),d=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),c=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),h=n.create([1352829926,1548603684,1836072691,2053994217,0]),f=o.RIPEMD160=s.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var s,o,f,b,w,S,E,A,B,U,x,k=this._hash.words,T=u.words,C=h.words,D=a.words,P=d.words,L=l.words,F=c.words;for(S=s=k[0],E=o=k[1],A=f=k[2],B=b=k[3],U=w=k[4],r=0;r<80;r+=1)x=s+e[t+D[r]]|0,x+=r<16?p(o,f,b)+T[0]:r<32?m(o,f,b)+T[1]:r<48?_(o,f,b)+T[2]:r<64?g(o,f,b)+T[3]:y(o,f,b)+T[4],x=(x=v(x|=0,L[r]))+w|0,s=w,w=b,b=v(f,10),f=o,o=x,x=S+e[t+P[r]]|0,x+=r<16?y(E,A,B)+C[0]:r<32?g(E,A,B)+C[1]:r<48?_(E,A,B)+C[2]:r<64?m(E,A,B)+C[3]:p(E,A,B)+C[4],x=(x=v(x|=0,F[r]))+U|0,S=U,U=B,B=v(A,10),A=E,E=x;x=k[1]+f+B|0,k[1]=k[2]+b+U|0,k[2]=k[3]+w+S|0,k[3]=k[4]+s+E|0,k[4]=k[0]+o+A|0,k[0]=x},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,s=n.words,o=0;o<5;o++){var a=s[o];s[o]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return n},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function _(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function v(e,t){return e<>>32-t}t.RIPEMD160=s._createHelper(f),t.HmacRIPEMD160=s._createHmacHelper(f)}(),r.RIPEMD160)})),Wt((function(e,t){var r,i,n;e.exports=(i=(r=Oi).lib.Base,n=r.enc.Utf8,void(r.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var r=e.blockSize,i=4*r;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var s=this._oKey=t.clone(),o=this._iKey=t.clone(),a=s.words,d=o.words,l=0;l>>2];e.sigBytes-=t}};i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:f,padding:p}),reset:function(){var e;c.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var m=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?s.create([1398893684,1701076831]).concat(r).concat(t):t).toString(d)},parse:function(e){var t,r=d.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=s.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),m.create({ciphertext:r,salt:t})}},g=i.SerializableCipher=n.extend({cfg:n.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),s=n.finalize(t),o=n.cfg;return m.create({ciphertext:s,key:r,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),y=(t.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=s.random(8)),n)o=l.create({keySize:t+r,hasher:n}).compute(e,i);else var o=l.create({keySize:t+r}).compute(e,i);var a=s.create(o.words.slice(t),4*r);return o.sigBytes=4*t,m.create({key:o,iv:a,salt:i})}},v=i.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:y}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var s=g.encrypt.call(this,e,t,n.key,i);return s.mixIn(n),s},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,g.decrypt.call(this,e,t,n.key,i)}})}())})),Wt((function(e,t){var r;e.exports=((r=Oi).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,s=this._iv;s?(n=s.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var o=0;o>24&255)){var t=e>>16&255,r=e>>8&255,i=255&e;255===t?(t=0,255===r?(r=0,255===i?i=0:++i):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=i}else e+=1<<24;return e}function i(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var n=e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,s=this._iv,o=this._counter;s&&(o=this._counter=s.slice(0),this._iv=void 0),i(o);var a=o.slice(0);r.encryptBlock(a,0);for(var d=0;d>>2]|=n<<24-s%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),Wt((function(e,t){var r;e.exports=((r=Oi).pad.Iso10126={pad:function(e,t){var i=4*t,n=i-e.sigBytes%i;e.concat(r.lib.WordArray.random(n-1)).concat(r.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),Wt((function(e,t){var r;e.exports=((r=Oi).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),Wt((function(e,t){var r;e.exports=((r=Oi).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},r.pad.ZeroPadding)})),Wt((function(e,t){var r;e.exports=((r=Oi).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(e){var t=r,i=t.lib.CipherParams,n=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){var t=n.parse(e);return i.create({ciphertext:t})}}}(),r.format.Hex)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo,n=[],s=[],o=[],a=[],d=[],l=[],c=[],u=[],h=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,i=0;for(t=0;t<256;t++){var p=i^i<<1^i<<2^i<<3^i<<4;p=p>>>8^255&p^99,n[r]=p,s[p]=r;var m=e[r],_=e[m],g=e[_],y=257*e[p]^16843008*p;o[r]=y<<24|y>>>8,a[r]=y<<16|y>>>16,d[r]=y<<8|y>>>24,l[r]=y,y=16843009*g^65537*_^257*m^16843008*r,c[p]=y<<24|y>>>8,u[p]=y<<16|y>>>16,h[p]=y<<8|y>>>24,f[p]=y,r?(r=m^e[e[e[g^m]]],i^=e[e[i]]):r=i=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,i=4*((this._nRounds=r+6)+1),s=this._keySchedule=[],o=0;o6&&o%r==4&&(l=n[l>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l]):(l=n[(l=l<<8|l>>>24)>>>24]<<24|n[l>>>16&255]<<16|n[l>>>8&255]<<8|n[255&l],l^=p[o/r|0]<<24),s[o]=s[o-r]^l);for(var a=this._invKeySchedule=[],d=0;d>>24]]^u[n[l>>>16&255]]^h[n[l>>>8&255]]^f[n[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,a,d,l,n)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,c,u,h,f,s),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,i,n,s,o,a){for(var d=this._nRounds,l=e[t]^r[0],c=e[t+1]^r[1],u=e[t+2]^r[2],h=e[t+3]^r[3],f=4,p=1;p>>24]^n[c>>>16&255]^s[u>>>8&255]^o[255&h]^r[f++],_=i[c>>>24]^n[u>>>16&255]^s[h>>>8&255]^o[255&l]^r[f++],g=i[u>>>24]^n[h>>>16&255]^s[l>>>8&255]^o[255&c]^r[f++],y=i[h>>>24]^n[l>>>16&255]^s[c>>>8&255]^o[255&u]^r[f++];l=m,c=_,u=g,h=y}m=(a[l>>>24]<<24|a[c>>>16&255]<<16|a[u>>>8&255]<<8|a[255&h])^r[f++],_=(a[c>>>24]<<24|a[u>>>16&255]<<16|a[h>>>8&255]<<8|a[255&l])^r[f++],g=(a[u>>>24]<<24|a[h>>>16&255]<<16|a[l>>>8&255]<<8|a[255&c])^r[f++],y=(a[h>>>24]<<24|a[l>>>16&255]<<16|a[c>>>8&255]<<8|a[255&u])^r[f++],e[t]=m,e[t+1]=_,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib,i=t.WordArray,n=t.BlockCipher,s=e.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],d=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],c=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=s.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=o[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],s=0;s<16;s++){var l=n[s]=[],c=d[s];for(r=0;r<24;r++)l[r/6|0]|=t[(a[r]-1+c)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(a[r+24]-1+c)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var u=this._invSubKeys=[];for(r=0;r<16;r++)u[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],h.call(this,4,252645135),h.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),h.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],s=this._lBlock,o=this._rBlock,a=0,d=0;d<8;d++)a|=l[d][((o^n[d])&c[d])>>>0];this._lBlock=o,this._rBlock=s^a}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,h.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),r=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=u.createEncryptor(i.create(t)),this._des2=u.createEncryptor(i.create(r)),this._des3=u.createEncryptor(i.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),r.TripleDES)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var s=0;n<256;n++){var o=n%r,a=t[o>>>2]>>>24-o%4*8&255;s=(s+i[n]+a)%256;var d=i[n];i[n]=i[s],i[s]=d}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=s.call(this)},keySize:8,ivSize:0});function s(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var o=i.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)s.call(this)}});e.RC4Drop=t._createHelper(o)}(),r.RC4)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],o=[],a=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)d.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var s=t.words,o=s[0],a=s[1],l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(n[0]^=l,n[1]^=u,n[2]^=c,n[3]^=h,n[4]^=l,n[5]^=u,n[6]^=c,n[7]^=h,r=0;r<4;r++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=d^l}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=t._createHelper(a)}(),r.Rabbit)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.StreamCipher,i=e.algo,n=[],s=[],o=[],a=i.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var n=0;n<4;n++)d.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var s=t.words,o=s[0],a=s[1],l=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=l>>>16|4294901760&c,h=c<<16|65535&l;for(i[0]^=l,i[1]^=u,i[2]^=c,i[3]^=h,i[4]^=l,i[5]^=u,i[6]^=c,i[7]^=h,n=0;n<4;n++)d.call(this)}},_doProcessBlock:function(e,t){var r=this._X;d.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function d(){for(var e=this._X,t=this._C,r=0;r<8;r++)s[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,d=((n*n>>>17)+n*a>>>15)+a*a,l=((4294901760&i)*i|0)+((65535&i)*i|0);o[r]=d^l}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=t._createHelper(a)}(),r.RabbitLegacy)})),Wt((function(e,t){var r;e.exports=(r=Oi,function(){var e=r,t=e.lib.BlockCipher,i=e.algo;const n=16,s=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var a={pbox:[],sbox:[]};function d(e,t){let r=t>>24&255,i=t>>16&255,n=t>>8&255,s=255&t,o=e.sbox[0][r]+e.sbox[1][i];return o^=e.sbox[2][n],o+=e.sbox[3][s],o}function l(e,t,r){let i,s=t,o=r;for(let t=0;t1;--t)s^=e.pbox[t],o=d(e,s)^o,i=s,s=o,o=i;return i=s,s=o,o=i,o^=e.pbox[1],s^=e.pbox[0],{left:s,right:o}}function u(e,t,r){for(let t=0;t<4;t++){e.sbox[t]=[];for(let r=0;r<256;r++)e.sbox[t][r]=o[t][r]}let i=0;for(let o=0;o=r&&(i=0);let a=0,d=0,c=0;for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const n=e.byteLength;let s=5;for(;sn)break;let a=e[s+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=e.slice(s+4+2,s+4+o);let n=new $i.ModeOfOperation.ctr(t,new $i.Counter(r));const a=n.decrypt(i);n=null,e.set(a,s+4+2)}s=s+4+o}return e}function Vi(e,t,r){if(e.byteLength<=30)return e;const i=e.slice(32);let n=new $i.ModeOfOperation.ctr(t,new $i.Counter(r));const s=n.decrypt(i);return n=null,e.set(s,32),e}Wt((function(e,t){e.exports=Oi}));var Wi=Wt((function(e,t){var r,n,s,o=(r=new Date,n=4,s={setLogLevel:function(e){n=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=n&&console.debug("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=n&&console.info("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=n&&console.warn("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=n&&console.error("["+o.getDurationString(new Date-r,1e3)+"]","["+e+"]",t)}},s);o.getDurationString=function(e,t){var r;function i(e,t){for(var r=(""+e).split(".");r[0].length0){for(var r="",i=0;i0&&(r+=","),r+="["+o.getDurationString(e.start(i))+","+o.getDurationString(e.end(i))+"]";return r}return"(empty)"},t.Log=o;var a=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};a.prototype.getPosition=function(){return this.position},a.prototype.getEndPosition=function(){return this.buffer.byteLength},a.prototype.getLength=function(){return this.buffer.byteLength},a.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},a.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},a.prototype.readAnyInt=function(e,t){var r=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:r=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:r=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";r=this.dataview.getUint8(this.position)<<16,r|=this.dataview.getUint8(this.position+1)<<8,r|=this.dataview.getUint8(this.position+2);break;case 4:r=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";r=this.dataview.getUint32(this.position)<<32,r|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,r}throw"Not enough bytes in buffer"},a.prototype.readUint8=function(){return this.readAnyInt(1,!1)},a.prototype.readUint16=function(){return this.readAnyInt(2,!1)},a.prototype.readUint24=function(){return this.readAnyInt(3,!1)},a.prototype.readUint32=function(){return this.readAnyInt(4,!1)},a.prototype.readUint64=function(){return this.readAnyInt(8,!1)},a.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",r=0;rthis._byteLength&&(this._byteLength=t);else{for(r<1&&(r=1);t>r;)r*=2;var i=new ArrayBuffer(r),n=new Uint8Array(this._buffer);new Uint8Array(i,0,n.length).set(n),this.buffer=i,this._byteLength=t}}},d.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),r=new Uint8Array(this._buffer,0,t.length);t.set(r),this.buffer=e}},d.BIG_ENDIAN=!1,d.LITTLE_ENDIAN=!0,d.prototype._byteLength=0,Object.defineProperty(d.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(d.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(d.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),d.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},d.prototype.isEof=function(){return this.position>=this._byteLength},d.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Int32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Int16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Uint32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var r=new Uint16Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return d.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},d.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var r=new Float64Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var r=new Float32Array(e);return d.memcpy(r.buffer,0,this.buffer,this.byteOffset+this.position,e*r.BYTES_PER_ELEMENT),d.arrayToNative(r,null==t?this.endianness:t),this.position+=r.byteLength,r},d.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},d.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},d.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},d.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},d.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},d.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,d.memcpy=function(e,t,r,i,n){var s=new Uint8Array(e,t,n),o=new Uint8Array(r,i,n);s.set(o)},d.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},d.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},d.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=0;rn;i--,n++){var s=t[n];t[n]=t[i],t[i]=s}return e},d.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],r=0;r>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},d.prototype.adjustUint32=function(e,t){var r=this.position;this.seek(e),this.writeUint32(t),this.seek(r)},d.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var r=new Int32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var r=new Int16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},d.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var r=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r},d.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var r=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=2*e,r},d.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var r=new Float64Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=8*e,r},d.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var r=new Float32Array(this._buffer,this.byteOffset+this.position,e);return d.arrayToNative(r,null==t?this.endianness:t),this.position+=4*e,r};var c=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(c.prototype=new d(new ArrayBuffer,0,d.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,o.debug("MultiBufferStream","Stream ready for parsing"),!0):(o.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){o.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer},c.prototype.reduceBuffer=function(e,t,r){var i;return(i=new Uint8Array(r)).set(new Uint8Array(e,t,r)),i.buffer.fileStart=e.fileStart+t,i.buffer.usedBytes=0,i.buffer},c.prototype.insertBuffer=function(e){for(var t=!0,r=0;ri.byteLength){this.buffers.splice(r,1),r--;continue}o.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=i.fileStart||(e=this.reduceBuffer(e,0,i.fileStart-e.fileStart)),o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(r,0,e),0===r&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,n,s)}}t&&(o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===r&&(this.buffer=e))},c.prototype.logBufferLevel=function(e){var t,r,i,n,s,a=[],d="";for(i=0,n=0,t=0;t0&&(d+=s.end-1+"]");var l=e?o.info:o.debug;0===this.buffers.length?l("MultiBufferStream","No more buffer in memory"):l("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+i+"/"+n+" bytes), continuous ranges: "+d)},c.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},c.prototype.findPosition=function(e,t,r){var i,n=null,s=-1;for(i=!0===e?0:this.bufferIndex;i=t?(o.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},c.prototype.findEndContiguousBuf=function(e){var t,r,i,n=void 0!==e?e:this.bufferIndex;if(r=this.buffers[n],this.buffers.length>n+1)for(t=n+1;t>3;return 31===i&&r.data.length>=2&&(i=32+((7&r.data[0])<<3)+((224&r.data[1])>>5)),i}return null},r.DecoderConfigDescriptor=function(e){r.Descriptor.call(this,4,e)},r.DecoderConfigDescriptor.prototype=new r.Descriptor,r.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},r.DecoderSpecificInfo=function(e){r.Descriptor.call(this,5,e)},r.DecoderSpecificInfo.prototype=new r.Descriptor,r.SLConfigDescriptor=function(e){r.Descriptor.call(this,6,e)},r.SLConfigDescriptor.prototype=new r.Descriptor,this};t.MPEG4DescriptorParser=u;var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){h.FullBox.prototype=new h.Box,h.ContainerBox.prototype=new h.Box,h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox.prototype=new h.FullBox,h.BASIC_BOXES.forEach((function(e){h.createBoxCtor(e)})),h.FULL_BOXES.forEach((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES.forEach((function(e){h.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,r){this.type=e,this.size=t,this.uuid=r},FullBox:function(e,t,r){h.Box.call(this,e,t,r),this.flags=0,this.version=0},ContainerBox:function(e,t,r){h.Box.call(this,e,t,r),this.boxes=[]},SampleEntry:function(e,t,r,i){h.ContainerBox.call(this,e,t),this.hdr_size=r,this.start=i},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){h.FullBox.call(this,e,t)},createBoxCtor:function(e,t){h.boxCodes.push(e),h[e+"Box"]=function(t){h.Box.call(this,e,t)},h[e+"Box"].prototype=new h.Box,t&&(h[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){h[e+"Box"]=function(t){h.FullBox.call(this,e,t)},h[e+"Box"].prototype=new h.FullBox,h[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,r=0;rr?(o.error("BoxParser","Box of type '"+c+"' has a size "+l+" greater than its container size "+r),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:a}):0!==l&&a+l>e.getEndPosition()?(e.seek(a),o.info("BoxParser","Not enough data in stream to parse the entire '"+c+"' box"),{code:h.ERR_NOT_ENOUGH_DATA,type:c,size:l,hdr_size:d,start:a}):t?{code:h.OK,type:c,size:l,hdr_size:d,start:a}:(h[c+"Box"]?i=new h[c+"Box"](l):"uuid"!==c?(o.warn("BoxParser","Unknown box type: '"+c+"'"),(i=new h.Box(c,l)).has_unparsed_data=!0):h.UUIDBoxes[s]?i=new h.UUIDBoxes[s](l):(o.warn("BoxParser","Unknown uuid type: '"+s+"'"),(i=new h.Box(c,l)).uuid=s,i.has_unparsed_data=!0),i.hdr_size=d,i.start=a,i.write===h.Box.prototype.write&&"mdat"!==i.type&&(o.info("BoxParser","'"+u+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i.parseDataAndRewind(e)),i.parse(e),(n=e.getPosition()-(i.start+i.size))<0?(o.warn("BoxParser","Parsing of box '"+u+"' did not read the entire indicated box data size (missing "+-n+" bytes), seeking forward"),e.seek(i.start+i.size)):n>0&&(o.error("BoxParser","Parsing of box '"+u+"' read "+n+" more bytes than the indicated box data size, seeking backwards"),0!==i.size&&e.seek(i.start+i.size)),{code:h.OK,box:i,size:i.size})},h.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},h.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},h.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},h.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.ContainerBox.prototype.parse=function(e){for(var t,r;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},h.SAMPLE_ENTRY_TYPE_VISUAL="Visual",h.SAMPLE_ENTRY_TYPE_AUDIO="Audio",h.SAMPLE_ENTRY_TYPE_HINT="Hint",h.SAMPLE_ENTRY_TYPE_METADATA="Metadata",h.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",h.SAMPLE_ENTRY_TYPE_SYSTEM="System",h.SAMPLE_ENTRY_TYPE_TEXT="Text",h.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},h.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},h.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},h.SampleEntry.prototype.parseFooter=function(e){h.ContainerBox.prototype.parse.call(this,e)},h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_HINT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),h.createMediaSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_TEXT,"enct"),h.createEncryptedSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_METADATA,"encm"),h.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var r=0;r<3;r++)this.layer_size[r]=16==t?e.readUint16():e.readUint32()})),h.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),h.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),h.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)o.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void o.error("av1C reserved_2 parsing problem");var r=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(r)}else o.error("av1C reserved_1 parsing problem");else o.error("av1C version "+this.version+" not supported")})),h.createBoxCtor("avcC",(function(e){var t,r;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),r=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(r))})),h.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),h.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),h.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),h.createFullBoxCtor("co64",(function(e){var t,r;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(r=0;r>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),h.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),h.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),h.createFullBoxCtor("ctts",(function(e){var t,r;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(r=0;r>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|r>>6&3,this.acmod=r>>3&7,this.lfeon=r>>2&1,this.bit_rate_code=3&r|i>>5&7})),h.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var r=0;r>6,i.bsid=n>>1&31,i.bsmod=(1&n)<<4|s>>4&15,i.acmod=s>>1&7,i.lfeon=1&s,i.num_dep_sub=o>>1&15,i.num_dep_sub>0&&(i.chan_loc=(1&o)<<8|e.readUint8())}})),h.createFullBoxCtor("dfLa",(function(e){var t=[],r=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var i=e.readUint8(),n=Math.min(127&i,r.length-1);if(n?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(r[n]),128&i)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),h.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),h.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[r]=e.readString(4),t-=4,r++})),h.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),h.createBoxCtor("hvcC",(function(e){var t,r,i,n;this.configurationVersion=e.readUint8(),n=e.readUint8(),this.general_profile_space=n>>6,this.general_tier_flag=(32&n)>>5,this.general_profile_idc=31&n,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),n=e.readUint8(),this.constantFrameRate=n>>6,this.numTemporalLayers=(13&n)>>3,this.temporalIdNested=(4&n)>>2,this.lengthSizeMinusOne=3&n,this.nalu_arrays=[];var s=e.readUint8();for(t=0;t>7,o.nalu_type=63&n;var a=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var r=0;if(this.version<2)r=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";r=e.readUint32()}for(var i=0;i>7,this.axis=1&t})),h.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),o.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),h.createFullBoxCtor("ipma",(function(e){var t,r;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?o.property_index=(127&s)<<8|e.readUint8():o.property_index=127&s}}})),h.createFullBoxCtor("iref",(function(e){var t,r;for(this.references=[];e.getPosition()>7,i.assignment_type=127&n,i.assignment_type){case 0:i.grouping_type=e.readString(4);break;case 1:i.grouping_type=e.readString(4),i.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:o.warn("BoxParser","Unknown leva assignement type")}}})),h.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),h.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),f.prototype.toString=function(){return"("+this.x+","+this.y+")"},h.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new f(e.readUint16(),e.readUint16()),this.display_primaries[1]=new f(e.readUint16(),e.readUint16()),this.display_primaries[2]=new f(e.readUint16(),e.readUint16()),this.white_point=new f(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),h.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),h.createFullBoxCtor("mehd",(function(e){1&this.flags&&(o.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),h.createFullBoxCtor("meta",(function(e){this.boxes=[],h.ContainerBox.prototype.parse.call(this,e)})),h.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),h.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),h.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),h.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),h.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),h.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),h.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var r=0;r0){var t=e.readUint32();this.kid=[];for(var r=0;r0&&(this.data=e.readUint8Array(i))})),h.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),h.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),h.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var r=0;r>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var r=e.readUint8(),i=0;i>7,this.num_leading_samples=127&t})),h.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)o.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=h.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),h.createSampleGroupCtor("stsa",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),h.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),h.createSampleGroupCtor("tsas",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("tscl",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createSampleGroupCtor("vipr",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),h.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),r=0;r>6,this.sample_depends_on[i]=t>>4&3,this.sample_is_depended_on[i]=t>>2&3,this.sample_has_redundancy[i]=3&t})),h.createFullBoxCtor("senc"),h.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),o.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),r=0;r>31&1,i.referenced_size=2147483647&n,i.subsegment_duration=e.readUint32(),n=e.readUint32(),i.starts_with_SAP=n>>31&1,i.SAP_type=n>>28&7,i.SAP_delta_time=268435455&n}})),h.SingleItemTypeReferenceBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.SingleItemTypeReferenceBox.prototype=new h.Box,h.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var r=0;r>4&15,this.sample_sizes[t+1]=15&i}else if(8===this.field_size)for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=h.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),h.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),h.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&h.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),h.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var r=e.readUint32(),i=0;i>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),h.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),h.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),h.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),h.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),h.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},h.createTrackGroupCtor("msrc"),h.TrackReferenceTypeBox=function(e,t,r,i){h.Box.call(this,e,t),this.hdr_size=r,this.start=i},h.TrackReferenceTypeBox.prototype=new h.Box,h.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},h.trefBox.prototype.parse=function(e){for(var t,r;e.getPosition()t&&this.flags&h.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var r=0;r>7&1,this.block_pad_lsb=r>>6&1,this.block_little_endian=r>>5&1,this.block_reversed=r>>4&1,this.pad_unknown=r>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),h.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),h.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),h.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),h.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=h.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),h.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),h.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=h.parseHex16(e)})),h.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),h.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),h.createFullBoxCtor("vvcC",(function(e){var t,r,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(i.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,r=this.num_sublayers-2;r>=0;--r){var o=i.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++r)i.extract_bits(1);for(this.sublayer_level_idc=[],r=this.num_sublayers-2;r>=0;--r)this.ptl_sublayer_present_mask&1<>=1;t+=h.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var n=!1,s="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||n)&&(s="."+h.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+s,n=!0);t+=s}return t},h.vvc1SampleEntry.prototype.getCodec=h.vvi1SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var r="";if(this.vvcC.general_constraint_info){var i,n=[],s=0;for(s|=this.vvcC.ptl_frame_only_constraint<<7,s|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,n.push(s),s&&(i=e),s=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===i)r=".CA";else{r=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",a=0,d=0;for(e=0;e<=i;++e)for(a=a<<8|n[e],d+=8;d>=5;){r+=o[a>>d-5&31],a&=(1<<(d-=5))-1}d&&(r+=o[31&(a<<=5-d)])}}t+=r}return t},h.mp4aSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),r=this.esds.esd.getAudioConfig();return e+"."+h.decimalToHex(t)+(r?"."+r:"")}return e},h.stxtSampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},h.vp08SampleEntry.prototype.getCodec=h.vp09SampleEntry.prototype.getCodec=function(){var e=h.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var r=this.vpcC.bitDepth;return 8==r&&(r="08"),e+".0"+this.vpcC.profile+"."+t+"."+r},h.av01SampleEntry.prototype.getCodec=function(){var e,t=h.SampleEntry.prototype.getCodec.call(this),r=this.av1C.seq_level_idx_0;return r<10&&(r="0"+r),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+r+(this.av1C.seq_tier_0?"H":"M")+"."+e},h.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),o.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>l?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>l&&e.writeUint64(this.size)},h.FullBox.prototype.writeHeader=function(e){this.size+=4,h.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},h.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},h.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},h.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&h.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&h.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&h.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&h.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&h.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},h.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},h.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},h.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&h.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&h.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&h.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&h.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&h.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[r]instanceof h.Box||t[r]instanceof h.Box||void 0===e[r]||void 0===t[r]||"function"==typeof e[r]||"function"==typeof t[r]||e.subBoxNames&&e.subBoxNames.indexOf(r.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(r.slice(0,4))>-1||"data"===r||"start"===r||"size"===r||"creation_time"===r||"modification_time"===r||h.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(r)>-1||e[r]===t[r]))return!1;return!0},h.boxEqual=function(e,t){if(!h.boxEqualFields(e,t))return!1;for(var r=0;r1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},g.prototype.setExtractionOptions=function(e,t,r){var i=this.getTrackById(e);if(i){var n={};this.extractedTracks.push(n),n.id=e,n.user=t,n.trak=i,i.nextSample=0,n.nb_samples=1e3,n.samples=[],r&&r.nbSamples&&(n.nb_samples=r.nbSamples)}},g.prototype.unsetExtractionOptions=function(e){for(var t=-1,r=0;r-1&&this.extractedTracks.splice(t,1)},g.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=h.parseOneBox(this.stream,false)).code===h.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var r;switch(r="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),r){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[r]&&o.warn("ISOFile","Duplicate Box of type: "+r+", overriding previous occurrence"),this[r]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},g.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(o.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(o.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(o.warn("ISOFile","Not ready to start parsing"),!1))},g.prototype.appendBuffer=function(e,t){var r;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(r=this.nextSeekPosition,this.nextSeekPosition=void 0):r=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(r=this.stream.getEndFilePositionAfter(r))):r=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(o.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+r),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),r},g.prototype.getInfo=function(){var e,t,r,i,n,s,o={},a=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(a+1e3*this.moov.mvhd.creation_time),o.modified=new Date(a+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],e=0;e0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',e=0;e=r.samples.length)&&(o.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,e||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples.length)&&(o.debug("ISOFile","Sending samples on track #"+s.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(s.id,s.user,s.samples),s.samples=[],s!==this.extractedTracks[t]))break}}}},g.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},g.prototype.getBoxes=function(e,t){var r=[];return g._sweep.call(this,e,r,t),r},g._sweep=function(e,t,r){for(var i in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&r)return;g._sweep.call(this.boxes[i],e,t,r)}},g.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g.prototype.getTrackSample=function(e,t){var r=this.getTrackById(e);return this.getSample(r,t)},g.prototype.releaseUsedSamples=function(e,t,r){var i=0,n=this.getTrackById(e);n.lastValidSample||(n.lastValidSample=0);for(var s=n.lastValidSample;se*n.timescale){l=i-1;break}t&&n.is_sync&&(d=i)}for(t&&(l=d),e=r.samples[l].cts,r.nextSample=l;r.samples[l].alreadyRead===r.samples[l].size&&r.samples[l+1];)l++;return s=r.samples[l].offset+r.samples[l].alreadyRead,o.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+r.nextSample+" on track "+r.tkhd.track_id+", time "+o.getDurationString(e,a)+" and offset: "+s),{offset:s,time:e/a}},g.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},g.prototype.seek=function(e,t){var r,i,n,s=this.moov,a={offset:1/0,time:1/0};if(this.moov){for(n=0;nthis.getTrackDuration(r)||((i=this.seekTrack(e,t,r)).offset-1){o=d;break}switch(o){case"Visual":if(n.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),s.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var u=new h.avcCBox;u.parse(new a(t.avcDecoderConfigRecord)),s.addBox(u)}else if(t.hevcDecoderConfigRecord){var f=new h.hvcCBox;f.parse(new a(t.hevcDecoderConfigRecord)),s.addBox(f)}break;case"Audio":n.add("smhd").set("balance",t.balance||0),s.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":n.add("hmhd");break;case"Subtitle":if(n.add("sthd"),"stpp"===t.type)s.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:n.add("nmhd")}t.description&&s.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){s.addBox(e)})),n.add("dinf").add("dref").addEntry((new h["url Box"]).set("flags",1));var p=n.add("stbl");return p.add("stsd").addEntry(s),p.add("stts").set("sample_counts",[]).set("sample_deltas",[]),p.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),p.add("stco").set("chunk_offsets",[]),p.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(r),t.id}},h.Box.prototype.computeSize=function(e){var t=e||new d;t.endianness=d.BIG_ENDIAN,this.write(t)},g.prototype.addSample=function(e,t,r){var i=r||{},n={},s=this.getTrackById(e);if(null!==s){n.number=s.samples.length,n.track_id=s.tkhd.track_id,n.timescale=s.mdia.mdhd.timescale,n.description_index=i.sample_description_index?i.sample_description_index-1:0,n.description=s.mdia.minf.stbl.stsd.entries[n.description_index],n.data=t,n.size=t.byteLength,n.alreadyRead=n.size,n.duration=i.duration||1,n.cts=i.cts||0,n.dts=i.dts||0,n.is_sync=i.is_sync||!1,n.is_leading=i.is_leading||0,n.depends_on=i.depends_on||0,n.is_depended_on=i.is_depended_on||0,n.has_redundancy=i.has_redundancy||0,n.degradation_priority=i.degradation_priority||0,n.offset=0,n.subsamples=i.subsamples,s.samples.push(n),s.samples_size+=n.size,s.samples_duration+=n.duration,void 0===s.first_dts&&(s.first_dts=i.dts),this.processSamples();var o=this.createSingleSampleMoof(n);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(t),n}},g.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var r=new h.moofBox;r.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var i=r.add("traf"),n=this.getTrackById(e.track_id);return i.add("tfhd").set("track_id",e.track_id).set("flags",h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),i.add("tfdt").set("baseMediaDecodeTime",e.dts-(n.first_dts||0)),i.add("trun").set("flags",h.TRUN_FLAGS_DATA_OFFSET|h.TRUN_FLAGS_DURATION|h.TRUN_FLAGS_SIZE|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),r},g.prototype.lastMoofIndex=0,g.prototype.samplesDataSize=0,g.prototype.resetTables=function(){var e,t,r,i,n,s;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(d=n[o].grouping_type+"/0",(a=new l(n[o].grouping_type,0)).is_fragment=!0,t.sample_groups_info[d]||(t.sample_groups_info[d]=a))}else for(o=0;o=2&&(d=i[o].grouping_type+"/0",a=new l(i[o].grouping_type,0),e.sample_groups_info[d]||(e.sample_groups_info[d]=a))},g.setSampleGroupProperties=function(e,t,r,i){var n,s;for(n in t.sample_groups=[],i){var o;if(t.sample_groups[n]={},t.sample_groups[n].grouping_type=i[n].grouping_type,t.sample_groups[n].grouping_type_parameter=i[n].grouping_type_parameter,r>=i[n].last_sample_in_run&&(i[n].last_sample_in_run<0&&(i[n].last_sample_in_run=0),i[n].entry_index++,i[n].entry_index<=i[n].sbgp.entries.length-1&&(i[n].last_sample_in_run+=i[n].sbgp.entries[i[n].entry_index].sample_count)),i[n].entry_index<=i[n].sbgp.entries.length-1?t.sample_groups[n].group_description_index=i[n].sbgp.entries[i[n].entry_index].group_description_index:t.sample_groups[n].group_description_index=-1,0!==t.sample_groups[n].group_description_index)o=i[n].fragment_description?i[n].fragment_description:i[n].description,t.sample_groups[n].group_description_index>0?(s=t.sample_groups[n].group_description_index>65535?(t.sample_groups[n].group_description_index>>16)-1:t.sample_groups[n].group_description_index-1,o&&s>=0&&(t.sample_groups[n].description=o.entries[s])):o&&o.version>=2&&o.default_group_description_index>0&&(t.sample_groups[n].description=o.entries[o.default_group_description_index-1])}},g.process_sdtp=function(e,t,r){t&&(e?(t.is_leading=e.is_leading[r],t.depends_on=e.sample_depends_on[r],t.is_depended_on=e.sample_is_depended_on[r],t.has_redundancy=e.sample_has_redundancy[r]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},g.prototype.buildSampleLists=function(){var e,t;for(e=0;ev&&(b++,v<0&&(v=0),v+=s.sample_counts[b]),t>0?(e.samples[t-1].duration=s.sample_deltas[b],e.samples_duration+=e.samples[t-1].duration,U.dts=e.samples[t-1].dts+e.samples[t-1].duration):U.dts=0,o?(t>=w&&(S++,w<0&&(w=0),w+=o.sample_counts[S]),U.cts=e.samples[t].dts+o.sample_offsets[S]):U.cts=U.dts,a?(t==a.sample_numbers[E]-1?(U.is_sync=!0,E++):(U.is_sync=!1,U.degradation_priority=0),l&&l.entries[A].sample_delta+B==t+1&&(U.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta,A++)):U.is_sync=!0,g.process_sdtp(e.mdia.minf.stbl.sdtp,U,U.number),U.degradation_priority=h?h.priority[t]:0,l&&l.entries[A].sample_delta+B==t&&(U.subsamples=l.entries[A].subsamples,B+=l.entries[A].sample_delta),(c.length>0||u.length>0)&&g.setSampleGroupProperties(e,U,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},g.prototype.updateSampleLists=function(){var e,t,r,i,n,s,o,a,d,l,c,u,f,p,m;if(void 0!==this.moov)for(;this.lastMoofIndex0&&g.initSampleGroups(u,c,c.sbgps,u.mdia.minf.stbl.sgpds,c.sgpds),t=0;t0?p.dts=u.samples[u.samples.length-2].dts+u.samples[u.samples.length-2].duration:(c.tfdt?p.dts=c.tfdt.baseMediaDecodeTime:p.dts=0,u.first_traf_merged=!0),p.cts=p.dts,_.flags&h.TRUN_FLAGS_CTS_OFFSET&&(p.cts=p.dts+_.sample_composition_time_offset[r]),m=o,_.flags&h.TRUN_FLAGS_FLAGS?m=_.sample_flags[r]:0===r&&_.flags&h.TRUN_FLAGS_FIRST_FLAG&&(m=_.first_sample_flags),p.is_sync=!(m>>16&1),p.is_leading=m>>26&3,p.depends_on=m>>24&3,p.is_depended_on=m>>22&3,p.has_redundancy=m>>20&3,p.degradation_priority=65535&m;var y=!!(c.tfhd.flags&h.TFHD_FLAG_BASE_DATA_OFFSET),v=!!(c.tfhd.flags&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),b=!!(_.flags&h.TRUN_FLAGS_DATA_OFFSET),w=0;w=y?c.tfhd.base_data_offset:v||0===t?l.start:a,p.offset=0===t&&0===r?b?w+_.data_offset:w:a,a=p.offset+p.size,(c.sbgps.length>0||c.sgpds.length>0||u.mdia.minf.stbl.sbgps.length>0||u.mdia.minf.stbl.sgpds.length>0)&&g.setSampleGroupProperties(u,p,p.number_in_traf,c.sample_groups_info)}}if(c.subs){u.has_fragment_subsamples=!0;var S=c.first_sample_index;for(t=0;t-1))return null;var s=(r=this.stream.buffers[n]).byteLength-(i.offset+i.alreadyRead-r.fileStart);if(i.size-i.alreadyRead<=s)return o.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+(i.size-i.alreadyRead)+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,i.size-i.alreadyRead),r.usedBytes+=i.size-i.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead=i.size,i;if(0===s)return null;o.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+i.alreadyRead+" offset: "+(i.offset+i.alreadyRead-r.fileStart)+" read size: "+s+" full size: "+i.size+")"),d.memcpy(i.data.buffer,i.alreadyRead,r,i.offset+i.alreadyRead-r.fileStart,s),i.alreadyRead+=s,r.usedBytes+=s,this.stream.logBufferLevel()}},g.prototype.releaseSample=function(e,t){var r=e.samples[t];return r.data?(this.samplesDataSize-=r.size,r.data=null,r.description=null,delete r.degradation_priority,delete r.depends_on,delete r.description_index,delete r.has_redundancy,delete r.is_depended_on,delete r.is_leading,delete r.is_sync,delete r.moof_number,delete r.number_in_traf,delete r.timescale,delete r.cts,delete r.dts,delete r.offset,delete r.size,delete r.track_id,delete r.duration,r.alreadyRead=0,r.size):0},g.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},g.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},g.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(r.protection=s.ipro.protections[s.iinf.item_infos[e].protection_index-1]),s.iinf.item_infos[e].item_type?r.type=s.iinf.item_infos[e].item_type:r.type="mime",r.content_type=s.iinf.item_infos[e].content_type,r.content_encoding=s.iinf.item_infos[e].content_encoding;if(s.grpl)for(e=0;e0&&h.property_index-1-1))return null;var a=(t=this.stream.buffers[s]).byteLength-(n.offset+n.alreadyRead-t.fileStart);if(!(n.length-n.alreadyRead<=a))return o.debug("ISOFile","Getting item #"+e+" extent #"+i+" partial data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+a+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,a),n.alreadyRead+=a,r.alreadyRead+=a,t.usedBytes+=a,this.stream.logBufferLevel(),null;o.debug("ISOFile","Getting item #"+e+" extent #"+i+" data (alreadyRead: "+n.alreadyRead+" offset: "+(n.offset+n.alreadyRead-t.fileStart)+" read size: "+(n.length-n.alreadyRead)+" full extent size: "+n.length+" full item size: "+r.size+")"),d.memcpy(r.data.buffer,r.alreadyRead,t,n.offset+n.alreadyRead-t.fileStart,n.length-n.alreadyRead),t.usedBytes+=n.length-n.alreadyRead,this.stream.logBufferLevel(),r.alreadyRead+=n.length-n.alreadyRead,n.alreadyRead=n.length}}return r.alreadyRead===r.size?r:null},g.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var r=0;r0?this.moov.traks[e].samples[0].duration:0),t.push(i)}return t},g.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},h.Box.prototype.printHeader=function(e){this.size+=8,this.size>l&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},h.FullBox.prototype.printHeader=function(e){this.size+=4,h.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},h.Box.prototype.print=function(e){this.printHeader(e)},h.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},h.tkhdBox.prototype.print=function(e){h.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var y={createFile:function(e,t){var r=void 0===e||e,i=new g(t);return i.discardMdatData=!r,i}};t.createFile=y.createFile}));function ji(){for(var e=arguments.length,t=new Array(e),r=0;r{const r=new i((0|e.byteLength)+(0|t.byteLength));return r.set(e,0),r.set(t,0|e.byteLength),r}),new i)}Wi.Log,Wi.MP4BoxStream,Wi.DataStream,Wi.MultiBufferStream,Wi.MPEG4DescriptorParser,Wi.BoxParser,Wi.XMLSubtitlein4Parser,Wi.Textin4Parser,Wi.ISOFile,Wi.createFile;const qi=16,Yi=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Ki=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Xi(e){const t=[];for(let r=0,i=e.length;r1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Ji(e){const t=[];for(let r=0,i=e.length;r>>6),t.push(128|63&i);else if(i<=55295||i>=57344&&i<=65535)t.push(224|i>>>12),t.push(128|i>>>6&63),t.push(128|63&i);else{if(!(i>=65536&&i<=1114111))throw t.push(i),new Error("input is not supported");r++,t.push(240|i>>>18&28),t.push(128|i>>>12&63),t.push(128|i>>>6&63),t.push(128|63&i)}}return t}function Qi(e){const t=[];for(let r=0,i=e.length;r=240&&e[r]<=247?(t.push(String.fromCodePoint(((7&e[r])<<18)+((63&e[r+1])<<12)+((63&e[r+2])<<6)+(63&e[r+3]))),r+=3):e[r]>=224&&e[r]<=239?(t.push(String.fromCodePoint(((15&e[r])<<12)+((63&e[r+1])<<6)+(63&e[r+2]))),r+=2):e[r]>=192&&e[r]<=223?(t.push(String.fromCodePoint(((31&e[r])<<6)+(63&e[r+1]))),r++):t.push(String.fromCodePoint(e[r]));return t.join("")}function en(e,t){const r=31&t;return e<>>32-r}function tn(e){return(255&Yi[e>>>24&255])<<24|(255&Yi[e>>>16&255])<<16|(255&Yi[e>>>8&255])<<8|255&Yi[255&e]}function rn(e){return e^en(e,2)^en(e,10)^en(e,18)^en(e,24)}function nn(e){return e^en(e,13)^en(e,23)}function sn(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[4*t],n[1]=255&e[4*t+1],n[2]=255&e[4*t+2],n[3]=255&e[4*t+3],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];for(let e,t=0;t<32;t+=4)e=i[1]^i[2]^i[3]^r[t+0],i[0]^=rn(tn(e)),e=i[2]^i[3]^i[0]^r[t+1],i[1]^=rn(tn(e)),e=i[3]^i[0]^i[1]^r[t+2],i[2]^=rn(tn(e)),e=i[0]^i[1]^i[2]^r[t+3],i[3]^=rn(tn(e));for(let e=0;e<16;e+=4)t[e]=i[3-e/4]>>>24&255,t[e+1]=i[3-e/4]>>>16&255,t[e+2]=i[3-e/4]>>>8&255,t[e+3]=255&i[3-e/4]}function on(e,t,r){const i=new Array(4),n=new Array(4);for(let t=0;t<4;t++)n[0]=255&e[0+4*t],n[1]=255&e[1+4*t],n[2]=255&e[2+4*t],n[3]=255&e[3+4*t],i[t]=n[0]<<24|n[1]<<16|n[2]<<8|n[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=i[1]^i[2]^i[3]^Ki[r+0],t[r+0]=i[0]^=nn(tn(e)),e=i[2]^i[3]^i[0]^Ki[r+1],t[r+1]=i[1]^=nn(tn(e)),e=i[3]^i[0]^i[1]^Ki[r+2],t[r+2]=i[2]^=nn(tn(e)),e=i[0]^i[1]^i[2]^Ki[r+3],t[r+3]=i[3]^=nn(tn(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function an(e,t,r){let{padding:i="pkcs#7",mode:n,iv:s=[],output:o="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===n&&("string"==typeof s&&(s=Xi(s)),16!==s.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Xi(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==r?Ji(e):Xi(e):[...e],("pkcs#5"===i||"pkcs#7"===i)&&0!==r){const t=qi-e.length%qi;for(let r=0;r=qi;){const t=e.slice(u,u+16),i=new Array(16);if("cbc"===n)for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=new Uint8Array(e.slice(0,5)),o=5;for(;on){const t=new Uint8Array(s.length+e.length-o);t.set(s,0),t.set(e.slice(o),s.length),s=t;break}let l=e[o+4],c=!1,u=2;if(r?(i&&(u=3),l=l>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,c=1===l||5===l),c){const r=an(e.slice(o+4+u,o+4+d),t,0,{padding:"none",output:"array"});let i=r[r.length-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(r[r.length-t]!==i){e=!1;break}e&&r.splice(r.length-i,i)}const n=new Uint8Array(u);n.set(e.slice(o+4,o+4+u),0);const a=or(ji(n,new Uint8Array(r))),l=new Uint8Array(s.length+a.length);l.set(s,0),l.set(a,s.length),s=l}else{const t=e.slice(o+4,o+4+d),r=new Uint8Array(s.length+4+t.length);r.set(s,0),r.set(a,s.length),r.set(t,s.length+4),s=r}o=o+4+d}return s}const cn={init:0,findFirstStartCode:1,findSecondStartCode:2};class un extends class{on(e,t,r){const i=this.e||(this.e={});return(i[e]||(i[e]=[])).push({fn:t,ctx:r}),this}once(e,t,r){const i=this;function n(){i.off(e,n);for(var s=arguments.length,o=new Array(s),a=0;a1?r-1:0),n=1;n{delete r[e]})),void delete this.e;const i=r[e],n=[];if(i&&t)for(let e=0,r=i.length;e=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=cn.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==cn.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=cn.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==cn.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=cn.findFirstStartCode}}}}function hn(e,t,r){for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const n=e.byteLength;let s=5;for(;sn)break;let a=e[s+4],d=!1;if(i?(a=a>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(a)):(a&=31,d=1===a||5===a),d){const i=hn(e.slice(s+4,s+4+o),t,r);e.set(i,s+4)}s=s+4+o}return e}function mn(){for(var e=arguments.length,t=new Array(e),r=0;re+t.byteLength),0));let n=0;return t.forEach((e=>{i.set(e,n),n+=e.byteLength})),i}class _n{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,r,i)));e.addEventListener(t,r,i);const n=()=>{pr(e.removeEventListener)&&e.removeEventListener(t,r,i)};return this.destroys.push(n),n}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class gn{static init(){gn.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in gn.types)gn.types.hasOwnProperty(e)&&(gn.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=gn.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,r=null,i=Array.prototype.slice.call(arguments,1),n=i.length;for(let e=0;e>>24&255,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=255&t,r.set(e,4);let s=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return gn.box(gn.types.trak,gn.tkhd(e),gn.mdia(e))}static tkhd(e){let t=e.id,r=e.duration,i=e.presentWidth,n=e.presentHeight;return gn.box(gn.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,n>>>8&255,255&n,0,0]))}static mdia(e){return gn.box(gn.types.mdia,gn.mdhd(e),gn.hdlr(e),gn.minf(e))}static mdhd(e){let t=e.timescale,r=e.duration;return gn.box(gn.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?gn.constants.HDLR_AUDIO:gn.constants.HDLR_VIDEO,gn.box(gn.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?gn.box(gn.types.smhd,gn.constants.SMHD):gn.box(gn.types.vmhd,gn.constants.VMHD),gn.box(gn.types.minf,t,gn.dinf(),gn.stbl(e))}static dinf(){return gn.box(gn.types.dinf,gn.box(gn.types.dref,gn.constants.DREF))}static stbl(e){return gn.box(gn.types.stbl,gn.stsd(e),gn.box(gn.types.stts,gn.constants.STTS),gn.box(gn.types.stsc,gn.constants.STSC),gn.box(gn.types.stsz,gn.constants.STSZ),gn.box(gn.types.stco,gn.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.mp3(e)):gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.mp4a(e)):"avc"===e.videoType?gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.avc1(e)):gn.box(gn.types.stsd,gn.constants.STSD_PREFIX,gn.hvc1(e))}static mp3(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return gn.box(gn.types[".mp3"],i)}static mp4a(e){let t=e.channelCount,r=e.audioSampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,r>>>8&255,255&r,0,0]);return gn.box(gn.types.mp4a,i,gn.esds(e))}static esds(e){let t=e.config||[],r=t.length,i=new Uint8Array([0,0,0,0,3,23+r,0,1,0,4,15+r,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([r]).concat(t).concat([6,1,2]));return gn.box(gn.types.esds,i)}static avc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return gn.box(gn.types.avc1,n,gn.box(gn.types.avcC,t))}static hvc1(e){let t=e.avcc;const r=e.codecWidth,i=e.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>>8&255,255&r,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return gn.box(gn.types.hvc1,n,gn.box(gn.types.hvcC,t))}static mvex(e){return gn.box(gn.types.mvex,gn.trex(e))}static trex(e){let t=e.id,r=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return gn.box(gn.types.trex,r)}static moof(e,t){return gn.box(gn.types.moof,gn.mfhd(e.sequenceNumber),gn.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return gn.box(gn.types.mfhd,t)}static traf(e,t){let r=e.id,i=gn.box(gn.types.tfhd,new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r])),n=gn.box(gn.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),s=gn.sdtp(e),o=gn.trun(e,s.byteLength+16+16+8+16+8+8);return gn.box(gn.types.traf,i,n,o,s)}static sdtp(e){let t=new Uint8Array(5),r=e.flags;return t[4]=r.isLeading<<6|r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy,gn.box(gn.types.sdtp,t)}static trun(e,t){let r=new Uint8Array(28);t+=36,r.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e.duration,n=e.size,s=e.flags,o=e.cts;return r.set([i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),gn.box(gn.types.trun,r)}static mdat(e){return gn.box(gn.types.mdat,e)}}gn.init();var yn,vn=Wt((function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports}));(yn=vn)&&yn.__esModule&&Object.prototype.hasOwnProperty.call(yn,"default")&&yn.default;const bn=[44100,48e3,32e3,0],wn=[22050,24e3,16e3,0],Sn=[11025,12e3,8e3,0],En=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],An=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Bn=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Un(e){if(e.length<4)return void console.error("Invalid MP3 packet, header missing!");let t=new Uint8Array(e.buffer),r=null;if(255!==t[0])return void console.error("Invalid MP3 packet, first byte != 0xFF ");let i=t[1]>>>3&3,n=(6&t[1])>>1,s=(240&t[2])>>>4,o=(12&t[2])>>>2,a=3!==(t[3]>>>6&3)?2:1,d=0,l=0;switch(i){case 0:d=Sn[o];break;case 2:d=wn[o];break;case 3:d=bn[o]}switch(n){case 1:s=e[n]&&t=6?(i=5,t=new Array(4),o=n-3):(i=2,t=new Array(2),o=n):-1!==a.indexOf("android")?(i=2,t=new Array(2),o=n):(i=5,o=n,t=new Array(4),n>=6?o=n-3:1===s&&(i=2,t=new Array(2),o=n)),t[0]=i<<3,t[0]|=(15&n)>>>1,t[1]=(15&n)<<7,t[1]|=(15&s)<<3,5===i&&(t[1]|=(15&o)>>>1,t[2]=(1&o)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=On[n],this.sampling_index=n,this.channel_count=s,this.object_type=i,this.original_object_type=r,this.codec_mimetype="mp4a.40."+i,this.original_codec_mimetype="mp4a.40."+r}}class Vn{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,s=8-i;if(s>=e)return r&&(this.index+=e),n>>s-e;{r&&(this.index+=s);const i=e-s;return n<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}function Wn(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}const jn=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),qn=new Array(2746333894,1453994832,1736282519,2993693404),Yn=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Kn(e,t,r,i,n){var s=n;s=t+n>e.length&&i+n<=r.length?e.length-t:i+n>r.length&&t+n<=e.length?r.length-i:t+n<=e.length&&i+n<=r.length?n:r.length>24&255,e>>16&255,e>>8&255,255&e)}function Zn(e,t){return t+3>>19)^(i<<23|i>>>9)}function es(e,t){var r=new Array(36);r[0]=Zn(t,0),r[1]=Zn(t,4),r[2]=Zn(t,8),r[3]=Zn(t,12);for(var i=0;i<32;i++)r[i+4]=r[i]^ts(r[i+1]^r[i+2]^r[i+3]^e[i]);var n=new Array(4);for(i=35;i>=32;i--)n[35-i]=r[i];var s=function(e){for(var t=new Array(4*e.length),r=0;r>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function rs(e,t,r){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==r||null==r||r.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var i=Jn(e),n=Math.ceil(r.length/16),s=new Array(r.length),o=t.slice(),a=0;a3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let o=5;for(;os)break;let d=e[o+4],l=!1,c=2;if(i?(n&&(c=3),d=d>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,l=1===d||5===d),l){const i=rs(t,r,e.slice(o+4+c,o+4+a));e.set(i,o+4+c)}o=o+4+a}return e}Date.now||(Date.now=function(){return(new Date).getTime()}),console.log('JbPro Worker Version is "9-19-2024" and is Trial Version[试用版本]');const ns=[];ns.push(o({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support")&&-1===e.indexOf("illegal icc")&&-1===e.indexOf("If you want to help, upload a sample of this file to")&&-1===e.indexOf("Reserved SBR extensions is not implemented"))})(e)||console.warn("JbPro[❌❌❌][audio wasm]:",e)}}),s({printErr:function(e){(function(e){return!(!e||-1===e.indexOf("not compiled with thread support, using thread emulation"))})(e)||(console.warn("JbPro[❌❌❌][video wasm]",e),Er(function(e){let t=!0;return e&&-1!==e.indexOf("failed to asynchronously prepare wasm")&&(t=!1),t}(e))&&postMessage({cmd:ae}))}})),Promise.all(ns).then((e=>{const t=e[0];!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=[],s=[],o=null,a=null,d=null,l=null,c=null,u=null,h=!1,f=null,E=null,A=!1,k=!1,ae=!!Sr(r),Ae=0,Be=0,Ke=!1,tt=null,rt=null,nt=null,ot=[],pt=null,xt=null,kt=0,Dt=0,Ht=null,Vt=null,Wt=0,jt=0,qt=!1,Yt=!1,Qt=!1,ir=null,cr=null,Ur=!1,xr=!0,kr=0,Tr=0,Lr=()=>{const e=br();return{debug:e.debug,debugLevel:e.debugLevel,debugUuid:e.debugUuid,useOffscreen:e.useOffscreen,useWCS:e.useWCS,useMSE:e.useMSE,videoBuffer:e.videoBuffer,videoBufferDelay:e.videoBufferDelay,openWebglAlignment:e.openWebglAlignment,playType:e.playType,hasAudio:e.hasAudio,hasVideo:e.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:e.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:e.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:0,networkDelay:e.networkDelay,visibility:!0,useSIMD:e.useSIMD,isRecording:!1,recordType:e.recordType,isNakedFlow:e.isNakedFlow,checkFirstIFrame:e.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:e.isM7sCrypto,m7sCryptoAudio:e.m7sCryptoAudio,cryptoKey:e.cryptoKey,cryptoIV:e.cryptoIV,isSm4Crypto:e.isSm4Crypto,isSm4CryptoH265V2:e.isSm4CryptoH265V2,sm4CryptoKey:e.sm4CryptoKey,isXorCrypto:e.isXorCrypto,isHls265:!1,isFlv:e.isFlv,isFmp4:e.isFmp4,isMpeg4:e.isMpeg4,isTs:e.isTs,isEmitSEI:e.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:e.isDropSameTimestampGop,mseDecodeAudio:e.mseDecodeAudio,wcsDecodeAudio:e.wcsDecodeAudio,nakedFlowH265DemuxUseNew:e.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:e.mseDecoderUseWorker,mseAutoCleanupSourceBuffer:e.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:e.mseAutoCleanupMaxBackwardDuration,mseAutoCleanupMinBackwardDuration:e.mseAutoCleanupMinBackwardDuration,mseCorrectTimeDuration:e.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:e.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:e.nakedFlowDemuxUseNew,nakedFlowFps:e.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:e.checkStreamEnd}};"VideoEncoder"in self&&(o={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){o.decoder=new VideoDecoder({output:function(e){if(pr(e.createImageBitmap))e.createImageBitmap().then((t=>{o.offscreenCanvasCtx.drawImage(t,0,0,e.codedWidth,e.codedHeight);let r=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:r,delay:ui.delay,ts:0},[r]),gr(e)}));else{o.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);let t=o.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:t,delay:ui.delay,ts:0},[t]),gr(e)}},error:function(e){ui.debugError("worker","VideoDecoder error: ",e,e.toString())}}),ui.debugLog(o.TAG_NAME,"init")},destroy(){o.reset(),o.decoder&&"closed"!==o.decoder.state&&(o.decoder.close(),o.decoder=null),ui.debugLog(o.TAG_NAME,"destroy")},decode:function(e,t,r){const i=e[0]>>4==1;if(o.hasInit){const r=new EncodedVideoChunk({data:e.slice(5),timestamp:t,type:i?gt:yt});o.decoder.decode(r)}else if(i&&0===e[1]){const t=15&e[0];postMessage({cmd:R,code:t});const r=new Uint8Array(e);postMessage({cmd:z,buffer:r,codecId:t},[r.buffer]);let i=null,n=null;const s=e.slice(5);t===ze?(n=Fr(s),i={codec:n.codec,description:s}):t===Ne&&(n=Xr(s),i={codec:n.codec,description:s}),n&&n.codecWidth&&n.codecHeight&&(i.codedHeight=n.codecHeight,i.codedWidth=n.codecWidth),o.isEmitInfo||(ui.debugLog("worker","Webcodecs Video Decoder initSize"),postMessage({cmd:C,w:n.codecWidth,h:n.codecHeight}),o.isEmitInfo=!0,o.offscreenCanvas=new OffscreenCanvas(n.codecWidth,n.codecHeight),o.offscreenCanvasCtx=o.offscreenCanvas.getContext("2d"));try{o.decoder.configure(i),o.hasInit=!0}catch(e){ui.debugError("worker","VideoDecoder configure error",e.code,e,e.toString()),e.toString()}}else ui.debugWarn("worker",`VideoDecoder configure has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)},reset(){o.hasInit=!1,o.isEmitInfo=!1,o.offscreenCanvas=null,o.offscreenCanvasCtx=null}});let jr=function(){if(Ur=!0,a)try{a.abort(),a=null,ui.debugLog("worker","abort success")}catch(e){a=null,ui.debugLog("worker","abort catch",e)}},qr={TAG_NAME:"worker nakedFlow",init(){qr.lastBuf=null,qr.vps=null,qr.sps=null,qr.pps=null,qr.streamType=null,qr.localDts=0,qr.pendingUnits={},qr.isSendSeqHeader=!1,ui.debugLog(qr.TAG_NAME,"init")},destroy(){qr.lastBuf=null,qr.vps=null,qr.sps=null,qr.pps=null,qr.streamType=null,qr.localDts=0,qr.pendingUnits={},qr.isSendSeqHeader=!1,ui.debugLog(qr.TAG_NAME,"destroy")},dispatch(e){const t=new Uint8Array(e);if(ui._opt.nakedFlowDemuxUseNew){const e=qr.extractNALu$3(t);if(0===e.length)return void ui.debugLog(qr.TAG_NAME,"dispatch naluArray length is 0");qr.handleVideoFrames(e)}else qr.extractNALu$2(t)},getNaluDts(){const e=ui._opt.nakedFlowFps;let t=qr.localDts;return qr.localDts=qr.localDts+parseInt(1e3/e,10),t},getNaluAudioDts(){const e=ui._opt.sampleRate,t=ui._opt.audioBufferSize;return qr.localDts+parseInt(t/e*1e3)},extractNALu(e){let t,r,i=0,n=e.byteLength,s=0,o=[];for(;i1)for(let e=0;e{const t=Nr(e);t===Ye||t===qe?qr.handleVideoH264Nalu(e):Or(t)&&i.push(e)})),1===i.length)qr.handleVideoH264Nalu(i[0]);else if(Hr(i)){const e=Nr(i[0]),t=Gr(e);qr.handleVideoH264NaluList(i,t,e)}else i.forEach((e=>{qr.handleVideoH264Nalu(e)}))}else if(qr.streamType===Ge)if(ui._opt.nakedFlowH265DemuxUseNew){const t=qr.handleAddNaluStartCode(e),r=qr.extractNALu(t);if(0===r.length)return void ui.debugWarn("worker","handleVideoNalu","h265 naluList.length === 0");const i=[];if(r.forEach((e=>{const t=ti(e);t===ht||t===ct||t===dt?qr.handleVideoH265Nalu(e):ii(t)&&i.push(e)})),1===i.length)qr.handleVideoH265Nalu(i[0]);else if(si(i)){const e=ti(i[0]),t=ni(e);qr.handleVideoH265NaluList(i,t,e)}else i.forEach((e=>{qr.handleVideoH265Nalu(e)}))}else ti(e)===ht?qr.extractH265PPS(e):qr.handleVideoH265Nalu(e)},extractH264PPS(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{$r(Nr(e))?qr.extractH264SEI(e):qr.handleVideoH264Nalu(e)}))},extractH265PPS(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{ri(ti(e))?qr.extractH265SEI(e):qr.handleVideoH265Nalu(e)}))},extractH264SEI(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{qr.handleVideoH264Nalu(e)}))},extractH265SEI(e){const t=qr.handleAddNaluStartCode(e);qr.extractNALu(t).forEach((e=>{qr.handleVideoH265Nalu(e)}))},handleAddNaluStartCode(e){const t=[0,0,0,1],r=new Uint8Array(e.length+t.length);return r.set(t),r.set(e,t.length),r},handleVideoH264Nalu(e){const t=Nr(e);switch(t){case qe:qr.sps=e;break;case Ye:qr.pps=e}if(qr.isSendSeqHeader){if(qr.sps&&qr.pps){const e=Ir({sps:qr.sps,pps:qr.pps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}if(Or(t)){const r=Gr(t),i=qr.getNaluDts(),n=Rr(e,r);qr.doDecode(n,{type:le,ts:i,isIFrame:r,cts:0})}}else if(qr.sps&&qr.pps){qr.isSendSeqHeader=!0;const e=Ir({sps:qr.sps,pps:qr.pps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}},handleVideoH264NaluList(e,t,r){if(qr.isSendSeqHeader){const i=qr.getNaluDts(),n=zr(e.reduce(((e,t)=>{const r=or(e),i=or(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);qr.doDecode(n,{type:le,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH264NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},handleVideoH265Nalu(e){const t=ti(e);switch(t){case dt:qr.vps=e;break;case ct:qr.sps=e;break;case ht:qr.pps=e}if(qr.isSendSeqHeader){if(qr.vps&&qr.sps&&qr.pps){const e=Jr({vps:qr.vps,sps:qr.sps,pps:qr.pps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.vps=null,qr.sps=null,qr.pps=null}if(ii(t)){const r=ni(t),i=qr.getNaluDts(),n=Qr(e,r);qr.doDecode(n,{type:le,ts:i,isIFrame:r,cts:0})}}else if(qr.vps&&qr.sps&&qr.pps){qr.isSendSeqHeader=!0;const e=Jr({vps:qr.vps,sps:qr.sps,pps:qr.pps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.vps=null,qr.sps=null,qr.pps=null}},handleVideoH265NaluList(e,t,r){if(qr.isSendSeqHeader){const i=qr.getNaluDts(),n=ei(e.reduce(((e,t)=>{const r=or(e),i=or(t),n=new Uint8Array(r.byteLength+i.byteLength);return n.set(r,0),n.set(i,r.byteLength),n})),t);qr.doDecode(n,{type:le,ts:i,isIFrame:t,cts:0}),ui.debugLog("worker",`handleVideoH265NaluList list size is ${e.length} package length is ${n.byteLength} isIFrame is ${t},nalu type is ${r}, dts is ${i}`)}},doDecode(e,t){ui.calcNetworkDelay(t.ts),t.isIFrame&&ui.calcIframeIntervalTimestamp(t.ts),ui.decode(e,t)},handleVideoFrames(e){if(!qr.streamVideoType)for(let t of e)if(qr.streamVideoType=mr(t),qr.streamVideoType)break;qr.streamVideoType?qr.streamVideoType===Oe?qr.handleVideoH264Frames(e):qr.streamVideoType===Ge&&qr.handleVideoH265Frames(e):ui.debugWarn("worker","handleVideoFrames","streamVideoType is null")},handleVideoH264Frames(e){let t=[],r=[],i=!1,n=!1;qr.pendingUnits.units&&(t=qr.pendingUnits.units,n=qr.pendingUnits.vcl,i=qr.pendingUnits.iFrame,qr.pendingUnits={});let s={};for(let o of e){if(o.byteLength<4)continue;const e=Nr(o);let a=!1,d=e===Ze;e!==Xe&&e!==Ze||(s=qr.parseVideo264Header(o),a=!0),t.length&&n&&(s.isfms||!a)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(o),i=i||d,n=n||a}t.length&&(qr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case Ye:qr.pps=e;break;case qe:qr.sps=e;break;case Je:n=e}if(Or(t)){const t=or(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!qr.isSendSeqHeader&&qr.sps&&qr.pps){qr.isSendSeqHeader=!0;const e=Mr({sps:qr.sps,pps:qr.pps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}if(qr.isSendSeqHeader){if(qr.sps&&qr.pps){const e=Mr({sps:qr.sps,pps:qr.pps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null}if(i){const e=qr.getNaluDts(),t=zr(i,r);if(ui._opt.isEmitSEI&&n){const t=sr(n,!1);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}qr.doDecode(t,{type:le,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames(e){let t=[],r=[],i=!1,n=!1;qr.pendingUnits.units&&(t=qr.pendingUnits.units,n=qr.pendingUnits.vcl,i=qr.pendingUnits.iFrame,qr.pendingUnits={});let s={};for(let o of e){if(o.byteLength<4)continue;const e=ti(o);let a=!1,d=ni(e);ii(e)&&(s=qr.parseVideo265Header(o),a=!0),t.length&&n&&(s.isfms||!a)&&(r.push({units:t,isIFrame:i}),t=[],i=!1,n=!1),t.push(o),i=i||d,n=n||a}t.length&&(qr.pendingUnits={units:t,vcl:n,iFrame:i}),r.forEach((e=>{const t=e.units,r=e.isIFrame;let i=null,n=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ht:qr.pps=e;break;case ct:qr.sps=e;break;case dt:qr.vps=e;break;case _t:case mt:n=e}if(ii(t)){const t=or(e);if(i){const e=new Uint8Array(i.byteLength+t.byteLength);e.set(i,0),e.set(t,i.byteLength),i=e}else i=t}})),!qr.isSendSeqHeader&&qr.sps&&qr.pps&&qr.vps){qr.isSendSeqHeader=!0;const e=Jr({sps:qr.sps,pps:qr.pps,vps:qr.vps});ui.decode(e,{type:le,ts:0,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null,qr.vps=null}if(qr.isSendSeqHeader){if(qr.sps&&qr.pps&&qr.vps){const e=Jr({sps:qr.sps,pps:qr.pps,vps:qr.vps}),t=qr.localDts;ui.decode(e,{type:le,ts:t,isIFrame:!0,cts:0}),qr.sps=null,qr.pps=null,qr.vps=null}if(i){const e=qr.getNaluDts(),t=ei(i,r);if(ui._opt.isEmitSEI&&n){const t=sr(n,!0);postMessage({cmd:J,buffer:t.payload,ts:e},[t.payload.buffer])}qr.doDecode(t,{type:le,ts:e,isIFrame:r,cts:0})}}}))},handleVideoH265Frames_1(e){e.forEach((e=>{qr.handleVideoNalu(e)}))},parseVideo264Header(e){const t=new Vn(e);return t.readUByte(),{isfms:0===t.readUEG(),sType:t.readUEG()}},parseVideo265Header(e){const t=new Vn(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}},Zr={LOG_NAME:"worker fmp4Demuxer",mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){Zr.mp4Box=Wi.createFile(),Zr.mp4Box.onReady=Zr.onReady,Zr.mp4Box.onError=Zr.onError,Zr.mp4Box.onSamples=Zr.onSamples,ui.debugLog(Zr.LOG_NAME,"init")},destroy(){Zr.mp4Box&&(Zr.mp4Box.stop(),Zr.mp4Box.flush(),Zr.mp4Box.destroy(),Zr.mp4Box=null),Zr.offset=0,Zr.videoTrackId=null,Zr.audioTrackId=null,Zr.isHevc=!1,ui.debugLog(Zr.LOG_NAME,"destroy")},_getSeqHeader(e){const t=Zr.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Wi.DataStream(void 0,0,Wi.DataStream.BIG_ENDIAN);let r=[];e.avcC?(e.avcC.write(t),r=[23,0,0,0,0]):(Zr.isHevc=!0,ui.isHevc=!0,e.hvcC.write(t),r=[28,0,0,0,0]);const i=new Uint8Array(t.buffer,8),n=new Uint8Array(r.length+i.length);return n.set(r,0),n.set(i,r.length),n}return null},onReady(e){ui.debugLog(Zr.LOG_NAME,"onReady()");const t=e.videoTracks[0],r=e.audioTracks[0];if(t){Zr.videoTrackId=t.id;const e=Zr._getSeqHeader(t);e&&(ui.debugLog(Zr.LOG_NAME,"seqHeader"),ui.decodeVideo(e,0,!0,0)),Zr.mp4Box.setExtractionOptions(t.id)}if(r&&ui._opt.hasAudio){Zr.audioTrackId=r.id;const e=r.audio||{},t=Kt.indexOf(e.sample_rate),i=r.codec.replace("mp4a.40.","");Zr.mp4Box.setExtractionOptions(r.id);const n=Xt({profile:parseInt(i,10),sampleRate:t,channel:e.channel_count});ui.debugLog(Zr.LOG_NAME,"aacADTSHeader"),ui.decodeAudio(n,0)}Zr.mp4Box.start()},onError(e){ui.debugError(Zr.LOG_NAME,"mp4Box onError",e)},onSamples(e,t,r){if(e===Zr.videoTrackId){for(const e of r){const t=e.data,r=e.is_sync,i=1e3*e.cts/e.timescale;e.duration,e.timescale,r&&ui.calcIframeIntervalTimestamp(i);let n=null;n=Zr.isHevc?ei(t,r):zr(t,r),ui.decode(n,{type:le,ts:i,isIFrame:r,cts:0})}Zr.mp4Box.removeUsedSamples(e)}else if(e===Zr.audioTrackId){if(ui._opt.hasAudio){for(const e of r){const t=e.data,r=1e3*e.cts/e.timescale;e.duration,e.timescale;const i=new Uint8Array(t.byteLength+2);i.set([175,1],0),i.set(t,2),ui.decode(i,{type:de,ts:r,isIFrame:!1,cts:0})}Zr.mp4Box.removeUsedSamples(e)}}else ui.debugWarn(Zr.LOG_NAME,"onSamples() trackId error",e)},dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=Zr.offset,Zr.offset+=t.byteLength,Zr.mp4Box.appendBuffer(t.buffer)}},di={LOG_NAME:"worker mpeg4Demuxer",lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:"init",hasInitVideoCodec:!1,localDts:0,dispatch(e){const t=new Uint8Array(e);di.extractNALu(t)},destroy(){di.lastBuffer=new Uint8Array(0),di.parsedOffset=0,di.firstStartCodeOffset=0,di.secondStartCodeOffset=0,di.state="init",di.hasInitVideoCodec=!1,di.localDts=0,ui.debugLog(di.LOG_NAME,"destroy")},extractNALu(e){if(!e||e.byteLength<1)return void ui.debugWarn(di.LOG_NAME,"extractNALu() buffer error",e);const t=new Uint8Array(di.lastBuffer.length+e.length);for(t.set(di.lastBuffer,0),t.set(new Uint8Array(e),di.lastBuffer.length),di.lastBuffer=t;;){if("init"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findFirstStartCode",di.firstStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findFirstStartCode"===di.state){let e=!1;for(;di.lastBuffer.length-di.parsedOffset>=4;)if(0===di.lastBuffer[di.parsedOffset])if(0===di.lastBuffer[di.parsedOffset+1])if(1===di.lastBuffer[di.parsedOffset+2]){if(182===di.lastBuffer[di.parsedOffset+3]){di.state="findSecondStartCode",di.secondStartCodeOffset=di.parsedOffset,di.parsedOffset+=4,e=!0;break}di.parsedOffset++}else di.parsedOffset++;else di.parsedOffset++;else di.parsedOffset++;if(e)continue;break}if("findSecondStartCode"===di.state){if(!(di.lastBuffer.length-di.parsedOffset>0))break;{let e,t,r=192&di.lastBuffer[di.parsedOffset];e=0==r?di.secondStartCodeOffset-14:di.secondStartCodeOffset;let i=0==(192&di.lastBuffer[di.firstStartCodeOffset+4]);if(i){if(di.firstStartCodeOffset-14<0)return void ui.debugWarn(di.LOG_NAME,"firstStartCodeOffset -14 is",di.firstStartCodeOffset-14);di.hasInitVideoCodec||(di.hasInitVideoCodec=!0,ui.debugLog(di.LOG_NAME,"setCodec"),fi.setCodec($e,"",ui.getBuildTime())),t=di.lastBuffer.subarray(di.firstStartCodeOffset-14,e)}else t=di.lastBuffer.subarray(di.firstStartCodeOffset,e);let n=di.getNaluDts();di.hasInitVideoCodec?(postMessage({cmd:G,type:Te,value:t.byteLength}),postMessage({cmd:G,type:Ce,value:n}),Ae=n,fi.decode(t,i?1:0,n)):ui.debugWarn(di.LOG_NAME,"has not init video codec"),di.lastBuffer=di.lastBuffer.subarray(e),di.firstStartCodeOffset=0==r?14:0,di.parsedOffset=di.firstStartCodeOffset+4,di.state="findFirstStartCode"}}}},getNaluDts(){let e=di.localDts;return di.localDts=di.localDts+40,e}},li={TAG_NAME:"worker TsLoaderV2",first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Gn,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:"video",id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:"audio",id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){li.media_info_=null,li.pes_slice_queues_=null,li.section_slice_queues_=null,li.video_metadata_=null,li.audio_metadata_=null,li.aac_last_incomplete_data_=null,li.video_track_=null,li.audio_track_=null,li._remainingPacketData=null,ui.debugLog(li.TAG_NAME,"destroy")},probe(e){let t=new Uint8Array(e),r=-1,i=188;if(t.byteLength<=3*i)return{needMoreData:!0};for(;-1===r;){let e=Math.min(1e3,t.byteLength-3*i);for(let n=0;n=4&&(r-=4),{match:!0,consumed:0,ts_packet_size:i,sync_offset:r})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(e){li._remainingPacketData&&(e=mn(li._remainingPacketData,e),li._remainingPacketData=null);let t=e.buffer;const r=li.parseChunks(t);r?li._remainingPacketData=e.subarray(r):e.length>>6;r[1];let s=(31&r[1])<<8|r[2],o=(48&r[3])>>>4,a=15&r[3],d=!(!li.pmt_||li.pmt_.pcr_pid!==s),l={},c=4;if(2==o||3==o){let e=r[4];if(e>0&&(d||3==o)&&(l.discontinuity_indicator=(128&r[5])>>>7,l.random_access_indicator=(64&r[5])>>>6,l.elementary_stream_priority_indicator=(32&r[5])>>>5,(16&r[5])>>>4)){let e=300*(r[6]<<25|r[7]<<17|r[8]<<9|r[9]<<1|r[10]>>>7)+((1&r[10])<<8|r[11]);li.last_pcr_=e}if(2==o||5+e===188){t+=188,204===li.tsPacketSize&&(t+=16);continue}c=5+e}if(1==o||3==o)if(0===s||s===li.current_pmt_pid_||null!=li.pmt_&&li.pmt_.pid_stream_type[s]===In){let r=188-c;li.handleSectionSlice(e,t+c,r,{pid:s,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}else if(null!=li.pmt_&&null!=li.pmt_.pid_stream_type[s]){let r=188-c,i=li.pmt_.pid_stream_type[s];s!==li.pmt_.common_pids.h264&&s!==li.pmt_.common_pids.h265&&s!==li.pmt_.common_pids.adts_aac&&s!==li.pmt_.common_pids.loas_aac&&s!==li.pmt_.common_pids.ac3&&s!==li.pmt_.common_pids.eac3&&s!==li.pmt_.common_pids.opus&&s!==li.pmt_.common_pids.mp3&&!0!==li.pmt_.pes_private_data_pids[s]&&!0!==li.pmt_.timed_id3_pids[s]&&!0!==li.pmt_.synchronous_klv_pids[s]&&!0!==li.pmt_.asynchronous_klv_pids[s]||li.handlePESSlice(e,t+c,r,{pid:s,stream_type:i,payload_unit_start_indicator:n,continuity_conunter:a,random_access_indicator:l.random_access_indicator})}t+=188,204===li.tsPacketSize&&(t+=16)}return li.dispatchAudioVideoMediaSegment(),t},handleSectionSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=li.section_slice_queues_[i.pid];if(i.payload_unit_start_indicator){let o=n[0];if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t+1,Math.min(r,o));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):li.clearSlices(s,i)}for(let a=1+o;a=s.expected_length&&li.clearSlices(s,i),a+=d.byteLength}}else if(null!=s&&0!==s.total_length){let n=new Uint8Array(e,t,Math.min(r,s.expected_length-s.total_length));s.slices.push(n),s.total_length+=n.byteLength,s.total_length===s.expected_length?li.emitSectionSlices(s,i):s.total_length>=s.expected_length&&li.clearSlices(s,i)}},handlePESSlice(e,t,r,i){let n=new Uint8Array(e,t,r),s=n[0]<<16|n[1]<<8|n[2];n[3];let o=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==s)return void ui.debugWarn(li.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${s}`);let e=li.pes_slice_queues_[i.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?li.emitPESSlices(e,i):li.clearSlices(e,i)),li.pes_slice_queues_[i.pid]=new zn,li.pes_slice_queues_[i.pid].random_access_indicator=i.random_access_indicator}if(null==li.pes_slice_queues_[i.pid])return;let a=li.pes_slice_queues_[i.pid];a.slices.push(n),i.payload_unit_start_indicator&&(a.expected_length=0===o?0:o+6),a.total_length+=n.byteLength,a.expected_length>0&&a.expected_length===a.total_length?li.emitPESSlices(a,i):a.expected_length>0&&a.expected_length>>6,a=t[8];2!==o&&3!==o||(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,s=3===o?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:r);let d,l=9+a;if(0!==n){if(n<3+a)return void ui.debugWarn(li.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");d=n-3-a}else d=t.byteLength-l;let c=t.subarray(l,l+d);switch(e.stream_type){case xn:case kn:li.parseMP3Payload(c,r);break;case Tn:li.pmt_.common_pids.opus===e.pid||li.pmt_.common_pids.ac3===e.pid||li.pmt_.common_pids.eac3===e.pid||(li.pmt_.asynchronous_klv_pids[e.pid]?li.parseAsynchronousKLVMetadataPayload(c,e.pid,i):li.pmt_.smpte2038_pids[e.pid]?li.parseSMPTE2038MetadataPayload(c,r,s,e.pid,i):li.parsePESPrivateDataPayload(c,r,s,e.pid,i));break;case Cn:li.parseADTSAACPayload(c,r);break;case Dn:li.parseLOASAACPayload(c,r);break;case Pn:case Ln:break;case Fn:li.pmt_.timed_id3_pids[e.pid]?li.parseTimedID3MetadataPayload(c,r,s,e.pid,i):li.pmt_.synchronous_klv_pids[e.pid]&&li.parseSynchronousKLVMetadataPayload(c,r,s,e.pid,i);break;case Mn:li.parseH264Payload(c,r,s,e.random_access_indicator);break;case Rn:li.parseH265Payload(c,r,s,e.random_access_indicator)}}else if((188===i||191===i||240===i||241===i||255===i||242===i||248===i)&&e.stream_type===Tn){let r,s=6;r=0!==n?n:t.byteLength-s;let o=t.subarray(s,s+r);li.parsePESPrivateDataPayload(o,void 0,void 0,e.pid,i)}}else ui.debugError(li.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${r}`)},parsePAT(e){let t=e[0];if(0!==t)return void Log.e(li.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let r=(15&e[1])<<8|e[2];e[3],e[4];let i=(62&e[5])>>>1,n=1&e[5],s=e[6];e[7];let o=null;if(1===n&&0===s)o={version_number:0,network_pid:0,program_pmt_pid:{}},o.version_number=i;else if(o=li.pat_,null==o)return;let a=r-5-4,d=-1,l=-1;for(let t=8;t<8+a;t+=4){let r=e[t]<<8|e[t+1],i=(31&e[t+2])<<8|e[t+3];0===r?o.network_pid=i:(o.program_pmt_pid[r]=i,-1===d&&(d=r),-1===l&&(l=i))}1===n&&0===s&&(null==li.pat_&&ui.debugLog(li.TAG_NAME,`Parsed first PAT: ${JSON.stringify(o)}`),li.pat_=o,li.current_program_=d,li.current_pmt_pid_=l)},parsePMT(e){let t=e[0];if(2!==t)return void ui.debugError(li.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let r,i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],s=(62&e[5])>>>1,o=1&e[5],a=e[6];if(e[7],1===o&&0===a)r=li._initPmt(),r.program_number=n,r.version_number=s,li.program_pmt_map_[n]=r;else if(r=li.program_pmt_map_[n],null==r)return;r.pcr_pid=(31&e[8])<<8|e[9];let d=(15&e[10])<<8|e[11],l=12+d,c=i-9-d-4;for(let t=l;t0){for(let i=t+5;i0)for(let i=t+5;ili.has_video_&&li.has_audio_?li.video_init_segment_dispatched_&&li.audio_init_segment_dispatched_:li.has_video_&&!li.has_audio_?li.video_init_segment_dispatched_:!(li.has_video_||!li.has_audio_)&&li.audio_init_segment_dispatched_,dispatchVideoInitSegment(){let e=li.video_metadata_.details,t={type:"video"};t.id=li.video_track_.id,t.timescale=1e3,t.duration=li.duration_,t.codecWidth=e.codec_size.width,t.codecHeight=e.codec_size.height,t.presentWidth=e.present_size.width,t.presentHeight=e.present_size.height,t.profile=e.profile_string,t.level=e.level_string,t.bitDepth=e.bit_depth,t.chromaFormat=e.chroma_format,t.sarRatio=e.sar_ratio,t.frameRate=e.frame_rate;let r=t.frameRate.fps_den,i=t.frameRate.fps_num;if(t.refSampleDuration=r/i*1e3,t.codec=e.codec_mimetype,li.video_metadata_.vps){ui.isHevc=!0;let e=li.video_metadata_.vps.data.subarray(4),r=li.video_metadata_.sps.data.subarray(4),i=li.video_metadata_.pps.data.subarray(4);t.hvcc=Jr({vps:e,sps:r,pps:i}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first HEVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.hvcc&&ui.decodeVideo(t.hvcc,0,!0,0)}else{let e=li.video_metadata_.sps.data.subarray(4),r=li.video_metadata_.pps.data.subarray(4);t.avcc=Mr({sps:e,pps:r}),0==li.video_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AVCDecoderConfigurationRecord for mimeType: ${t.codec}`),t.avcc&&ui.decodeVideo(t.avcc,0,!0,0)}li.video_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let n=li.media_info_;n.hasVideo=!0,n.width=t.codecWidth,n.height=t.codecHeight,n.fps=t.frameRate.fps,n.profile=t.profile,n.level=t.level,n.refFrames=e.ref_frames,n.chromaFormat=e.chroma_format_string,n.sarNum=t.sarRatio.width,n.sarDen=t.sarRatio.height,n.videoCodec=t.codec,n.hasAudio&&n.audioCodec?n.mimeType=`video/mp2t; codecs="${n.videoCodec},${n.audioCodec}"`:n.mimeType=`video/mp2t; codecs="${n.videoCodec}"`},dispatchVideoMediaSegment(){li.isInitSegmentDispatched()&&li.video_track_.length&&li._preDoDecode()},dispatchAudioMediaSegment(){li.isInitSegmentDispatched()&&li.audio_track_.length&&li._preDoDecode()},dispatchAudioVideoMediaSegment(){li.isInitSegmentDispatched()&&(li.audio_track_.length||li.video_track_.length)&&li._preDoDecode()},parseADTSAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new tr(e),o=null,a=i;for(;null!=(o=s.readNextAACFrame());){r=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(o.data.length+2);i.set([175,1],0),i.set(o.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:de};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,a+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseLOASAACPayload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;if(li.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+li.aac_last_incomplete_data_.byteLength);t.set(li.aac_last_incomplete_data_,0),t.set(e,li.aac_last_incomplete_data_.byteLength),e=t}let r,i;if(null!=t&&(i=t/li.timescale_),"aac"===li.audio_metadata_.codec){if(null==t&&null!=li.audio_last_sample_pts_)r=1024/li.audio_metadata_.sampling_frequency*1e3,i=li.audio_last_sample_pts_+r;else if(null==t)return void ui.debugWarn(li.TAG_NAME,"AAC: Unknown pts");if(li.aac_last_incomplete_data_&&li.audio_last_sample_pts_){r=1024/li.audio_metadata_.sampling_frequency*1e3;let e=li.audio_last_sample_pts_+r;Math.abs(e-i)>1&&(ui.debugWarn(li.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${i}ms`),i=e)}}let n,s=new rr(e),o=null,a=i;for(;null!=(o=s.readNextAACFrame(hr(li.loas_previous_frame)?void 0:li.loas_previous_frame));){li.loas_previous_frame=o,r=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},li.dispatchAudioInitSegment(e)):li.detectAudioMetadataChange(e)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(e)),n=a;let t=Math.floor(a);const i=new Uint8Array(o.data.length+2);i.set([175,1],0),i.set(o.data,2);let s={payload:i,length:i.byteLength,pts:t,dts:t,type:de};li.audio_track_.samples.push(s),li.audio_track_.length+=i.byteLength,a+=r}s.hasIncompleteData()&&(li.aac_last_incomplete_data_=s.getIncompleteData()),n&&(li.audio_last_sample_pts_=n)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(e,t){if(li.has_video_&&!li.video_init_segment_dispatched_)return;let r=[44100,48e3,32e3,0],i=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],s=e[1]>>>3&3,o=(6&e[1])>>1;e[2];let a=(12&e[2])>>>2,d=3!=(e[3]>>>6&3)?2:1,l=0,c=34;switch(s){case 0:l=n[a];break;case 2:l=i[a];break;case 3:l=r[a]}switch(o){case 1:c=34;break;case 2:c=33;break;case 3:c=32}const u={};u.object_type=c,u.sample_rate=l,u.channel_count=d,u.data=e;const h={codec:"mp3",data:u};0==li.audio_init_segment_dispatched_?(li.audio_metadata_={codec:"mp3",object_type:c,sample_rate:l,channel_count:d},li.dispatchAudioInitSegment(h)):li.detectAudioMetadataChange(h)&&(li.dispatchAudioMediaSegment(),li.dispatchAudioInitSegment(h));let f={payload:e,length:e.byteLength,pts:t/li.timescale_,dts:t/li.timescale_,type:de};li.audio_track_.samples.push(f),li.audio_track_.length+=e.byteLength},detectAudioMetadataChange(e){if(e.codec!==li.audio_metadata_.codec)return ui.debugLog(li.TAG_NAME,`Audio: Audio Codecs changed from ${li.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===li.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==li.audio_metadata_.audio_object_type)return ui.debugLog(li.TAG_NAME,`AAC: AudioObjectType changed from ${li.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==li.audio_metadata_.sampling_freq_index)return ui.debugLog(li.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${li.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==li.audio_metadata_.channel_config)return ui.debugLog(li.TAG_NAME,`AAC: Channel configuration changed from ${li.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===li.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==li.audio_metadata_.sampling_frequency)return ui.debugLog(li.TAG_NAME,`AC3: Sampling Frequency changed from ${li.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==li.audio_metadata_.bit_stream_identification)return ui.debugLog(li.TAG_NAME,`AC3: Bit Stream Identification changed from ${li.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==li.audio_metadata_.bit_stream_mode)return ui.debugLog(li.TAG_NAME,`AC3: BitStream Mode changed from ${li.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==li.audio_metadata_.channel_mode)return ui.debugLog(li.TAG_NAME,`AC3: Channel Mode changed from ${li.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==li.audio_metadata_.low_frequency_effects_channel_on)return ui.debugLog(li.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${li.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===li.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`Opus: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===li.audio_metadata_.codec){const t=e.data;if(t.object_type!==li.audio_metadata_.object_type)return ui.debugLog(li.TAG_NAME,`MP3: AudioObjectType changed from ${li.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==li.audio_metadata_.sample_rate)return ui.debugLog(li.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${li.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==li.audio_metadata_.channel_count)return ui.debugLog(li.TAG_NAME,`MP3: Channel count changed from ${li.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1},dispatchAudioInitSegment(e){let t={type:"audio"};if(t.id=li.audio_track_.id,t.timescale=1e3,t.duration=li.duration_,"aac"===li.audio_metadata_.codec){let r="aac"===e.codec?e.data:null,i=new Hn(r);t.audioSampleRate=i.sampling_rate,t.audioSampleRateIndex=i.sampling_index,t.channelCount=i.channel_count,t.codec=i.codec_mimetype,t.originalCodec=i.original_codec_mimetype,t.config=i.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale;const n=Xt({profile:ui._opt.mseDecodeAudio?i.object_type:i.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});ui.decodeAudio(n,0)}else"ac-3"===li.audio_metadata_.codec||"ec-3"===li.audio_metadata_.codec||"opus"===li.audio_metadata_.codec||"mp3"===li.audio_metadata_.codec&&(t.audioSampleRate=li.audio_metadata_.sample_rate,t.channelCount=li.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0);0==li.audio_init_segment_dispatched_&&ui.debugLog(li.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),li.audio_init_segment_dispatched_=!0,li.video_metadata_changed_=!1;let r=li.media_info_;r.hasAudio=!0,r.audioCodec=t.originalCodec,r.audioSampleRate=t.audioSampleRate,r.audioChannelCount=t.channelCount,r.hasVideo&&r.videoCodec?r.mimeType=`video/mp2t; codecs="${r.videoCodec},${r.audioCodec}"`:r.mimeType=`video/mp2t; codecs="${r.audioCodec}"`},dispatchPESPrivateDataDescriptor(e,t,r){},parsePESPrivateDataPayload(e,t,r,i,n){let s=new $n;if(s.pid=i,s.stream_id=n,s.len=e.byteLength,s.data=e,null!=t){let e=Math.floor(t/li.timescale_);s.pts=e}else s.nearest_pts=li.getNearestTimestampMilliseconds();if(null!=r){let e=Math.floor(r/li.timescale_);s.dts=e}},parseTimedID3MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Timed ID3 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseSynchronousKLVMetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`Synchronous KLV Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},parseAsynchronousKLVMetadataPayload(e,t,r){ui.debugLog(li.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${r}`)},parseSMPTE2038MetadataPayload(e,t,r,i,n){ui.debugLog(li.TAG_NAME,`SMPTE 2038 Metadata: pid=${i}, pts=${t}, dts=${r}, stream_id=${n}`)},getNearestTimestampMilliseconds:()=>null!=li.audio_last_sample_pts_?Math.floor(li.audio_last_sample_pts_):null!=li.last_pcr_?Math.floor(li.last_pcr_/300/li.timescale_):void 0,_preDoDecode(){const e=li.video_track_,t=li.audio_track_;let r=e.samples;t.samples.length>0&&(r=e.samples.concat(t.samples),r=r.sort(((e,t)=>e.dts-t.dts))),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===le?li._doDecodeVideo({...e,payload:t}):e.type===de&&li._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0},_doDecodeVideo(e){const t=new Uint8Array(e.payload);let r=null;r=e.isHevc?ei(t,e.isIFrame):zr(t,e.isIFrame),e.isIFrame&&ui.calcIframeIntervalTimestamp(e.dts);let i=ui.cryptoPayload(r,e.isIFrame);ui.decode(i,{type:le,ts:e.dts,isIFrame:e.isIFrame,cts:e.cts})},_doDecodeAudio(e){const t=new Uint8Array(e.payload);let r=t;Sr(ui._opt.m7sCryptoAudio)&&(r=ui.cryptoPayloadAudio(t)),ui.decode(r,{type:de,ts:e.dts,isIFrame:!1,cts:0})}},ci=null;Ar()&&(ci={TAG_NAME:"worker MediaSource",_resetInIt(){ci.isAvc=null,ci.isAAC=null,ci.videoInfo={},ci.videoMeta={},ci.audioMeta={},ci.sourceBuffer=null,ci.audioSourceBuffer=null,ci.hasInit=!1,ci.hasAudioInit=!1,ci.isAudioInitInfo=!1,ci.videoMimeType="",ci.audioMimeType="",ci.cacheTrack={},ci.cacheAudioTrack={},ci.timeInit=!1,ci.sequenceNumber=0,ci.audioSequenceNumber=0,ci.firstRenderTime=null,ci.firstAudioTime=null,ci.mediaSourceAppendBufferFull=!1,ci.mediaSourceAppendBufferError=!1,ci.mediaSourceAddSourceBufferError=!1,ci.mediaSourceBufferError=!1,ci.mediaSourceError=!1,ci.prevTimestamp=null,ci.decodeDiffTimestamp=null,ci.prevDts=null,ci.prevAudioDts=null,ci.prevPayloadBufferSize=0,ci.isWidthOrHeightChanged=!1,ci.prevTs=null,ci.prevAudioTs=null,ci.eventListenList=[],ci.pendingRemoveRanges=[],ci.pendingSegments=[],ci.pendingAudioRemoveRanges=[],ci.pendingAudioSegments=[],ci.supportVideoFrameCallbackHandle=null,ci.audioSourceBufferCheckTimeout=null,ci.audioSourceNoDataCheckTimeout=null,ci.hasPendingEos=!1,ci.$video={currentTime:0,readyState:0}},init(){ci.events=new _n,ci._resetInIt(),ci.mediaSource=new self.MediaSource,ci.isDecodeFirstIIframe=!!Er(ui._opt.checkFirstIFrame),ci._bindMediaSourceEvents(),ui.debugLog(ci.TAG_NAME,"init")},destroy(){ci.stop(),ci._clearAudioSourceBufferCheckTimeout(),ci.eventListenList&&ci.eventListenList.length&&(ci.eventListenList.forEach((e=>e())),ci.eventListenList=[]),ci._resetInIt(),ci.mediaSource=null,ui.debugLog(ci.TAG_NAME,"destroy")},getState:()=>ci.mediaSource&&ci.mediaSource.readyState,isStateOpen:()=>ci.getState()===St,isStateClosed:()=>ci.getState()===Et,isStateEnded:()=>ci.getState()===wt,_bindMediaSourceEvents(){const{proxy:e}=ci.events,t=e(ci.mediaSource,Bt,(()=>{ui.debugLog(ci.TAG_NAME,"sourceOpen"),ci._onMediaSourceSourceOpen()})),r=e(ci.mediaSource,At,(()=>{ui.debugLog(ci.TAG_NAME,"sourceClose")})),i=e(ci.mediaSource,Ut,(()=>{ui.debugLog(ci.TAG_NAME,"sourceended")}));ci.eventListenList.push(t,r,i)},_onMediaSourceSourceOpen(){ci.sourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() sourceBuffer is null and next init"),ci._initSourceBuffer()),ci.audioSourceBuffer||(ui.debugLog(ci.TAG_NAME,"onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),ci._initAudioSourceBuffer()),ci._hasPendingSegments()&&ci._doAppendSegments()},decodeVideo(e,t,r,i){if(ui.isDestroyed)ui.debugWarn(ci.TAG_NAME,"decodeVideo() and decoder is destroyed");else if(Er(ci.hasInit))if(r&&e[1]===Ct){const i=15&e[0];if(i===Ne&&Er(ui._opt.supportMSEDecodeHevc))return void ci.emitError(Me.mediaSourceH265NotSupport);ci.videoInfo.codec=i,postMessage({cmd:R,code:i});const n=new Uint8Array(e);postMessage({cmd:z,buffer:n,codecId:i},[n.buffer]),ci.hasInit=ci._decodeConfigurationRecord(e,t,r,i)}else ui.debugWarn(ci.TAG_NAME,`decodeVideo has not init , isIframe is ${r} , payload is ${e[1]} so drop this frame`);else if(!ci.isDecodeFirstIIframe&&r&&(ci.isDecodeFirstIIframe=!0),ci.isDecodeFirstIIframe){if(r&&0===e[1]){const t=15&e[0];let r={};t===ze?r=Fr(e.slice(5)):t===Ne&&(r=Kr(e));const i=ci.videoInfo;i&&i.width&&i.height&&r&&r.codecWidth&&r.codecHeight&&(r.codecWidth!==i.width||r.codecHeight!==i.height)&&(ui.debugWarn(ci.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${i.width}, old height is ${i.height},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),ci.isWidthOrHeightChanged=!0,ci.emitError(Me.mseWidthOrHeightChange,`width: ${i.width}->${r.codecWidth}, height: ${i.height}->${r.codecHeight}`))}if(ci.isWidthOrHeightChanged)return void ui.debugWarn(ci.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(wr(e))return void ui.debugLog(ci.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLengthci.prevTs>0&&eB,_decodeConfigurationRecord(e,t,r,i){let n=e.slice(5),s={};if(i===ze?s=Fr(n):i===Ne&&(s=Xr(n)),ci.videoInfo.width=s.codecWidth,ci.videoInfo.height=s.codecHeight,0===s.codecWidth&&0===s.codecHeight)return ui.debugWarn(ci.TAG_NAME,"_decodeConfigurationRecord error",JSON.stringify(s)),ci.emitError(Me.mediaSourceDecoderConfigurationError,`width is ${0===s.codecWidth} and height is ${s.codecHeight}`),!1;const o={id:Mt,type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:s.codecWidth,codecHeight:s.codecHeight,videoType:s.videoType},a=gn.generateInitSegment(o);ci.isAvc=i===ze;let d=s.codec;return ci.videoMimeType=d?`video/mp4; codecs="${s.codec}"`:ci.isAvc?vt:bt,postMessage({cmd:C,w:s.codecWidth,h:s.codecHeight}),ci._initSourceBuffer(),ci.appendBuffer(a.buffer),ci.sequenceNumber=0,ci.cacheTrack={},ci.timeInit=!1,!0},_decodeAudioConfigurationRecord(e,t){const r=e[0]>>4,i=e[0]>>1&1,n=r===je,s=r===He;if(Er(s||n))return ui.debugWarn(ci.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${r} ant auto wasm decode`),ci.emitError(Me.mediaSourceAudioG711NotSupport),!1;const o={id:Rt,type:"audio",timescale:1e3};let a={};if(Zt(e)){if(a=er(e.slice(2)),!a)return!1;o.audioSampleRate=a.sampleRate,o.channelCount=a.channelCount,o.config=a.config,o.refSampleDuration=1024/o.audioSampleRate*o.timescale}else{if(!n)return!1;if(a=Un(e),!a)return!1;o.audioSampleRate=a.samplingRate,o.channelCount=a.channelCount,o.refSampleDuration=1152/o.audioSampleRate*o.timescale}o.codec=a.codec,o.duration=0;let d="mp4",l=a.codec,c=null;n&&Er(ui._opt.isFirefox)?(d="mpeg",l="",c=new Uint8Array):c=gn.generateInitSegment(o);let u=`${o.type}/${d}`;return l&&l.length>0&&(u+=`;codecs=${l}`),Er(ci.isAudioInitInfo)&&(cr=r===He?i?16:8:0===i?8:16,postMessage({cmd:F,code:r}),postMessage({cmd:L,sampleRate:o.audioSampleRate,channels:o.channelCount,depth:cr}),ci.isAudioInitInfo=!0),ci.audioMimeType=u,ci.isAAC=s,ci._initAudioSourceBuffer(),ci.appendAudioBuffer(c.buffer),!0},_initSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.sourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.videoMimeType){try{ui.debugLog(ci.TAG_NAME,"_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.videoMimeType),ci.sourceBuffer=ci.mediaSource.addSourceBuffer(ci.videoMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Me.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.sourceBuffer){const t=e(ci.sourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.sourceBuffer",e,e.toString()),ci.emitError(Me.mseSourceBufferError,e.code)})),r=e(ci.sourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r)}}else ui.debugLog(ci.TAG_NAME,`_initSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.isAvc === null is ${null===ci.isAvc}`)},_initAudioSourceBuffer(){const{proxy:e}=ci.events;if(null===ci.audioSourceBuffer&&null!==ci.mediaSource&&ci.isStateOpen()&&ci.audioMimeType){try{ui.debugLog(ci.TAG_NAME,"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",ci.audioMimeType),ci._clearAudioSourceBufferCheckTimeout(),ci.audioSourceBuffer=ci.mediaSource.addSourceBuffer(ci.audioMimeType)}catch(e){return ui.debugError(ci.TAG_NAME,"_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()",e.code,e.toString(),e),ci.emitError(Me.mseWorkerAddSourceBufferError,e.code),void(ci.mediaSourceAddSourceBufferError=!0)}if(ci.audioSourceBuffer){const t=e(ci.audioSourceBuffer,"error",(e=>{ci.mediaSourceBufferError=!0,ui.debugError(ci.TAG_NAME,"mseSourceBufferError mseDecoder.audioSourceBuffer",e.code,e.toString(),e),ci.emitError(Me.mseSourceBufferError,e.code)})),r=e(ci.audioSourceBuffer,"updateend",(()=>{ci._hasPendingRemoveRanges()?ci._doRemoveRanges():ci._hasPendingSegments()?ci._doAppendSegments():ci.hasPendingEos&&(ui.debugLog(ci.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),ci.endOfStream())}));ci.eventListenList.push(t,r),null===ci.audioSourceNoDataCheckTimeout&&(ci.audioSourceNoDataCheckTimeout=setTimeout((()=>{ci._clearAudioNoDataCheckTimeout(),ci.emitError(Me.mediaSourceAudioNoDataTimeout)}),1e3))}}else ui.debugLog(ci.TAG_NAME,`_initAudioSourceBuffer and mseDecoder.isStateOpen is ${ci.isStateOpen()} and mseDecoder.audioMimeType is ${ci.audioMimeType}`)},_decodeVideo(e,t,r,i,n){let s=e.slice(5),o=s.byteLength;if(0===o)return void ui.debugWarn(ci.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let a=(new Date).getTime(),d=!1;ci.prevTimestamp||(ci.prevTimestamp=a,d=!0);const l=a-ci.prevTimestamp;if(ci.decodeDiffTimestamp=l,l>1e3&&!d&&ui.isPlayer&&ui.debugLog(ci.TAG_NAME,`_decodeVideo now time is ${a} and prev time is ${ci.prevTimestamp}, diff time is ${l} ms`),ci.cacheTrack.id&&t>=ci.cacheTrack.dts){let e=8+ci.cacheTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(gn.types.mdat,4),r.set(ci.cacheTrack.data,8),ci.cacheTrack.duration=t-ci.cacheTrack.dts;let i=gn.moof(ci.cacheTrack,ci.cacheTrack.dts);ci.cacheTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendBuffer(n.buffer)}else ui.debugLog(ci.TAG_NAME,`timeInit set false , cacheTrack = {} now dts is ${t}, and ts is ${n} cacheTrack dts is ${ci.cacheTrack&&ci.cacheTrack.dts}`),ci.timeInit=!1,ci.cacheTrack={};ci.cacheTrack||(ci.cacheTrack={}),ci.cacheTrack.id=Mt,ci.cacheTrack.sequenceNumber=++ci.sequenceNumber,ci.cacheTrack.size=o,ci.cacheTrack.dts=t,ci.cacheTrack.cts=i,ci.cacheTrack.isKeyframe=r,ci.cacheTrack.data=s,ci.cacheTrack.flags={isLeading:0,dependsOn:r?2:1,isDependedOn:r?1:0,hasRedundancy:0,isNonSync:r?0:1},ci.prevTimestamp=(new Date).getTime()},_decodeAudio(e,t,r){let i=ci.isAAC?e.slice(2):e.slice(1),n=i.byteLength;if(ci.cacheAudioTrack.id&&t>=ci.cacheAudioTrack.dts){let e=8+ci.cacheAudioTrack.size,r=new Uint8Array(e);r[0]=e>>>24&255,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r.set(gn.types.mdat,4),r.set(ci.cacheAudioTrack.data,8),ci.cacheAudioTrack.duration=t-ci.cacheAudioTrack.dts;let i=gn.moof(ci.cacheAudioTrack,ci.cacheAudioTrack.dts);ci.cacheAudioTrack={};let n=new Uint8Array(i.byteLength+r.byteLength);n.set(i,0),n.set(r,i.byteLength),ci.appendAudioBuffer(n.buffer)}else ci.cacheAudioTrack={};ci.cacheAudioTrack||(ci.cacheAudioTrack={}),ci.cacheAudioTrack.id=Rt,ci.cacheAudioTrack.sequenceNumber=++ci.audioSequenceNumber,ci.cacheAudioTrack.size=n,ci.cacheAudioTrack.dts=t,ci.cacheAudioTrack.cts=0,ci.cacheAudioTrack.data=i,ci.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingSegments.push(e),ci.sourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Er(ci.getSourceBufferUpdating())&&ci.isStateOpen()&&Er(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is end")))},appendAudioBuffer(e){ui.isDestroyed?ui.debugWarn(ci.TAG_NAME,"appendAudioBuffer() player is destroyed"):ci.mediaSourceAddSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAddSourceBufferError is true"):ci.mediaSourceAppendBufferFull?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferFull is true"):ci.mediaSourceAppendBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceAppendBufferError is true"):ci.mediaSourceBufferError?ui.debugWarn(ci.TAG_NAME,"mseDecoder.mediaSourceBufferError is true"):(ci.pendingAudioSegments.push(e),ci.audioSourceBuffer&&(ui._opt.mseAutoCleanupSourceBuffer&&ci._needCleanupSourceBuffer()&&ci._doCleanUpSourceBuffer(),Er(ci.getAudioSourceBufferUpdating())&&ci.isStateOpen()&&Er(ci._hasPendingRemoveRanges()))?ci._doAppendSegments():ci.isStateClosed()?(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):ci.isStateEnded()&&(ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,"mediaSource is end")))},getSourceBufferUpdating:()=>ci.sourceBuffer&&ci.sourceBuffer.updating,getAudioSourceBufferUpdating:()=>ci.audioSourceBuffer&&ci.audioSourceBuffer.updating,stop(){ci.abortSourceBuffer(),ci.removeSourceBuffer(),ci.endOfStream()},clearUpAllSourceBuffer(){if(ci.sourceBuffer){const e=ci.sourceBuffer.buffered;for(let t=0;tci.pendingSegments.length>0||ci.pendingAudioSegments.length>0,getPendingSegmentsLength:()=>ci.pendingSegments.length,_handleUpdatePlaybackRate(){},_doAppendSegments(){if(ci.isStateClosed()||ci.isStateEnded())ui.debugLog(ci.TAG_NAME,"_doAppendSegments() mediaSource is closed or ended and return");else if(null!==ci.sourceBuffer){if(ci.needInitAudio()&&null===ci.audioSourceBuffer)return ui.debugLog(ci.TAG_NAME,"_doAppendSegments() audioSourceBuffer is null and need init audio source buffer"),void(null===ci.audioSourceBufferCheckTimeout&&(ci.audioSourceBufferCheckTimeout=setTimeout((()=>{ci._clearAudioSourceBufferCheckTimeout(),ci.emitError(Me.mediaSourceAudioInitTimeout)}),1e3)));if(Er(ci.getSourceBufferUpdating())&&ci.pendingSegments.length>0){const e=ci.pendingSegments.shift();try{ci.sourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Me.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Me.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,`code is ${e.code} , message is ${e.message}`))}}if(Er(ci.getAudioSourceBufferUpdating())&&ci.pendingAudioSegments.length>0){const e=ci.pendingAudioSegments.shift();try{ci.audioSourceBuffer.appendBuffer(e)}catch(e){ui.debugError(ci.TAG_NAME,"mseDecoder.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(ci.stop(),ci.mediaSourceAppendBufferFull=!0,ci.emitError(Me.mediaSourceFull,`code is ${e.code} , message is ${e.message}`)):11===e.code?(ci.stop(),ci.mediaSourceAppendBufferError=!0,ci.emitError(Me.mediaSourceAppendBufferError,`code is ${e.code} , message is ${e.message}`)):(ci.stop(),ci.mediaSourceBufferError=!0,ci.emitError(Me.mseSourceBufferError,e.code,`code is ${e.code} , message is ${e.message}`))}}}else ui.debugLog(ci.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")},_doCleanUpSourceBuffer(){const e=ci.$video.currentTime;if(ci.sourceBuffer){const t=ci.sourceBuffer.buffered;let r=!1;for(let i=0;i=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingRemoveRanges.push({start:n,end:t})}}else s=ui._opt.mseAutoCleanupMaxBackwardDuration){r=!0;let t=e-ui._opt.mseAutoCleanupMinBackwardDuration;ci.pendingAudioRemoveRanges.push({start:n,end:t})}}else sci.pendingRemoveRanges.length>0||ci.pendingAudioRemoveRanges.length>0,needInitAudio:()=>ui._opt.hasAudio&&ui._opt.mseDecodeAudio,_doRemoveRanges(){if(ci.sourceBuffer&&Er(ci.getSourceBufferUpdating())){let e=ci.pendingRemoveRanges;for(;e.length&&Er(ci.getSourceBufferUpdating());){let t=e.shift();try{ci.sourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e,e.toString())}}}if(ci.audioSourceBuffer&&Er(ci.getAudioSourceBufferUpdating())){let e=ci.pendingAudioRemoveRanges;for(;e.length&&Er(ci.getAudioSourceBufferUpdating());){let t=e.shift();try{ci.audioSourceBuffer.remove(t.start,t.end)}catch(e){ui.debugWarn(ci.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e,e.toString())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){if(Er(ui._opt.mseAutoCleanupSourceBuffer))return!1;const e=ci.$video.currentTime;if(ci.sourceBuffer){let t=ci.sourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}if(ci.audioSourceBuffer){let t=ci.audioSourceBuffer.buffered;if(t.length>=1&&e-t.start(0)>=ui._opt.mseAutoCleanupMaxBackwardDuration)return!0}return!1},_clearAudioSourceBufferCheckTimeout(){ci.audioSourceBufferCheckTimeout&&(clearTimeout(ci.audioSourceBufferCheckTimeout),ci.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){ci.audioSourceNoDataCheckTimeout&&(clearTimeout(ci.audioSourceNoDataCheckTimeout),ci.audioSourceNoDataCheckTimeout=null)},getHandle:()=>ci.mediaSource.handle,emitError(e){postMessage({cmd:oe,value:e,msg:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""})}});let ui={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:Lt,_opt:Lr(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){ui.stopStreamRateAndStatsInterval(),c=setInterval((()=>{l&&l(0);const e=JSON.stringify({demuxBufferDelay:ui.getVideoBufferLength(),audioDemuxBufferDelay:ui.getAudioBufferLength(),streamBufferByteLength:ui.getStreamBufferLength(),netBuf:ui.networkDelay||0,pushLatestDelay:ui.pushLatestDelay||0,latestDelay:ui.delay,isStreamTsMoreThanLocal:Ke,wasmDecodeDelay:Ae-Be});postMessage({cmd:G,type:Pe,value:e})}),1e3)},stopStreamRateAndStatsInterval:function(){c&&(clearInterval(c),c=null)},useOffscreen:function(){return ui._opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},getDelay:function(e,t){if(!e||ui._opt.hasVideo&&!ae)return-1;if(t===de)return ui.delay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp>e)return ui.preDelayTimestamp-e>1e3&&ui.debugWarn("worker",`getDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return ${ui.delay}`),ui.preDelayTimestamp=e,ui.delay;if(ui.firstTimestamp){if(e){const t=Date.now()-ui.startTimestamp,r=e-ui.firstTimestamp;t>=r?(Ke=!1,ui.delay=t-r):(Ke=!0,ui.delay=r-t)}}else ui.firstTimestamp=e,ui.startTimestamp=Date.now(),ui.delay=-1;return ui.preDelayTimestamp=e,ui.delay},getDelayNotUpdateDelay:function(e,t){if(!e||ui._opt.hasVideo&&!ae)return-1;if(t===de)return ui.pushLatestDelay;if(ui.preDelayTimestamp&&ui.preDelayTimestamp-e>1e3)return ui.debugWarn("worker",`getDelayNotUpdateDelay() and preDelayTimestamp is ${ui.preDelayTimestamp} > timestamp is ${e} more than ${ui.preDelayTimestamp-e}ms and return -1`),-1;if(ui.firstTimestamp){let t=-1;if(e){const r=Date.now()-ui.startTimestamp,i=e-ui.firstTimestamp;r>=i?(Ke=!1,t=r-i):(Ke=!0,t=i-r)}return t}return-1},resetDelay:function(){ui.firstTimestamp=null,ui.startTimestamp=null,ui.delay=-1,ui.dropping=!1},resetAllDelay:function(){ui.resetDelay(),ui.preDelayTimestamp=null},doDecode:function(e){ui._opt.isEmitSEI&&e.type===le&&ui.isWorkerFetch&&ui.findSei(e.payload,e.ts),ui.isPlayUseMSEAndDecoderInWorker()?e.type===de?ui._opt.mseDecodeAudio?ci.decodeAudio(e.payload,e.ts):e.decoder.decode(e.payload,e.ts):e.type===le&&ci.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):ui._opt.useWCS&&ui.useOffscreen()&&e.type===le&&o.decode?o.decode(e.payload,e.ts,e.cts):e.decoder.decode(e.payload,e.ts,e.isIFrame,e.cts)},decodeNext(e){if(0===n.length)return;const t=e.ts,i=n[0],s=e.type===le&&wr(e.payload);if(Er(r))s&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i));else{const r=i.ts-t,o=i.type===de&&e.type===le;(r<=20||o||s)&&(ui.debugLog("worker",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${r} and isVideoAndNextAudio is ${o} and isVideoSqeHeader is ${s}`),n.shift(),ui.doDecode(i))}},init:function(){ui.debugLog("worker",`init and forHardDecode is ${r} and forOldVersion is ${i} and opt is`,JSON.stringify(ui._opt));const e=ui._opt.playType===v,t=ui._opt.playType===b,s=ui._opt.playType===w;if(qr.init(),ui.isPlayer=e,ui.isPlayback=t,ui.isPlayVod=s,ui.isPlayUseMSEAndDecoderInWorker()&&ci&&ci.init(),o&&ui._opt.useWCS&&ui.useOffscreen()&&o.init(),Er(ui.isPlaybackCacheBeforeDecodeForFpsRender())||ui.isPlayVod){ui.debugLog("worker","setInterval()");const t=()=>{const t=ui._opt.videoBuffer+ui._opt.videoBufferDelay;let r=null;if(n.length){if(ui.isPushDropping)return void ui.debugWarn("worker",`loop() isPushDropping is true and bufferList length is ${n.length}`);if(ui.dropping){for(r=n.shift(),ui.debugWarn("worker",`loop() dropBuffer is dropping and isIFrame ${r.isIFrame} and delay is ${ui.delay} and bufferlist is ${n.length}`);!r.isIFrame&&n.length;)r=n.shift();const e=ui.getDelayNotUpdateDelay(r.ts,r.type);r.isIFrame&&e<=ui.getNotDroppingDelayTs()&&(ui.debugLog("worker","loop() is dropping = false, is iFrame"),ui.dropping=!1,ui.doDecode(r),ui.decodeNext(r))}else if(ui.isPlayback||ui.isPlayUseMSE()||0===ui._opt.videoBuffer||ui.isPlayVod)for(;n.length;)r=n.shift(),ui.doDecode(r);else if(r=n[0],-1===ui.getDelay(r.ts,r.type))ui.debugLog("worker","loop() common dumex delay is -1 ,data.ts is",r.ts),n.shift(),ui.doDecode(r),ui.decodeNext(r);else if(ui.delay>t&&e)ui.hasIframeInBufferList()?(ui.debugLog("worker",`delay is ${ui.delay} > maxDelay ${t}, set dropping is true`),ui.resetAllDelay(),ui.dropping=!0,postMessage({cmd:V})):(n.shift(),ui.doDecode(r),ui.decodeNext(r));else for(;n.length;){if(r=n[0],!(ui.getDelay(r.ts,r.type)>ui._opt.videoBuffer)){ui.delay<0&&ui.debugWarn("worker",`loop() do not decode and delay is ${ui.delay}, bufferList is ${n.length}`);break}n.shift(),ui.doDecode(r)}}else-1!==ui.delay&&ui.debugLog("worker","loop() bufferList is empty and reset delay"),ui.resetAllDelay()};ui.stopId=setInterval((()=>{let e=(new Date).getTime();tt||(tt=e);const r=e-tt;r>100&&ui.debugWarn("worker",`loop demux diff time is ${r}`),t(),tt=(new Date).getTime()}),20)}else ui.debugLog("worker","playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Er(ui._opt.checkFirstIFrame)&&(ae=!0),ui.isPlayUseMSEAndDecoderInWorker()&&ci){const e=ci.getHandle();e&&postMessage({cmd:ne,mseHandle:e},[e])}},playbackCacheLoop:function(){ui.clearPlaybackCacheLoop();const e=()=>{let e=null;n.length&&(e=n.shift(),ui.doDecode(e))};e();const t=Math.ceil(1e3/(ui.streamFps*ui._opt.playbackRate));ui.debugLog("worker",`playbackCacheLoop fragDuration is ${t}, streamFps is ${ui.streamFps}, streamAudioFps is ${ui.streamAudioFps} ,streamVideoFps is ${ui.streamVideoFps} playbackRate is ${ui._opt.playbackRate}`),ui.stopId=setInterval(e,t)},clearPlaybackCacheLoop:function(){ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null)},startPlaybackCacheLoop:function(){ui.playbackCacheLoop()},close:function(){if(ui.debugLog("worker","close"),ui.isDestroyed=!0,jr(),!d||1!==d.readyState&&2!==d.readyState?d&&ui.debugLog("worker",`close() and socket.readyState is ${d.readyState}`):(Ur=!0,d.close(1e3,"Client disconnecting")),d&&(d.onopen=null,d.onmessage=null,d.onclose=null,d.onerror=null),d=null,ui.stopStreamRateAndStatsInterval(),ui.stopId&&(clearInterval(ui.stopId),ui.stopId=null),ui.mp3Demuxer&&(ui.mp3Demuxer.destroy(),ui.mp3Demuxer=null),ui.writableStream&&Er(ui.writableStream.locked)&&ui.writableStream.close().catch((e=>{ui.debugLog("worker","close() and writableStream.close() error",e.toString(),e)})),ui.writableStream=null,hi)try{hi.clear&&hi.clear(),hi=null}catch(e){ui.debugLog("worker","close() and audioDecoder.clear error",e.toString(),e)}if(fi)try{fi.clear&&fi.clear(),fi=null}catch(e){ui.debugLog("worker","close() and videoDecoder.clear error",e.toString())}l=null,tt=null,Ke=!1,Ae=0,Be=0,o&&(o.destroy&&o.destroy(),o=null),ci&&(ci.destroy(),ci=null),ui.firstTimestamp=null,ui.startTimestamp=null,ui.networkDelay=0,ui.streamFps=null,ui.streamAudioFps=null,ui.streamVideoFps=null,ui.delay=-1,ui.pushLatestDelay=-1,ui.preDelayTimestamp=null,ui.dropping=!1,ui.isPushDropping=!1,ui.isPlayer=!0,ui.isPlayback=!1,ui.isPlayVod=!1,ui.isWorkerFetch=!1,ui.isHevc=null,ui._opt=Lr(),ui.webglObj&&(ui.webglObj.destroy(),ui.offscreenCanvas.removeEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost),ui.offscreenCanvas.removeEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored),ui.offscreenCanvas=null,ui.offscreenCanvasGL=null,ui.offscreenCanvasCtx=null),n=[],s=[],u&&(u.close(),u=null),f=null,E=null,A=!1,k=!1,ae=!1,qt=!1,Yt=!1,Qt=!1,ir=null,ot=[],kt=0,Dt=0,rt=null,nt=null,Ht=null,Vt=null,cr=null,Wt=0,jt=0,pt=null,xt=null,ui.fetchStatus=Lt,xr=!0,qr.destroy(),Zr.destroy(),di.destroy(),li.destroy(),ui.debug=null,ui._opt={},postMessage({cmd:X})},pushBuffer:function(e,t){if(t.type===de&&Zt(e)){if(ui.debugLog("worker",`pushBuffer audio ts is ${t.ts}, isAacCodecPacket is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:ee,buffer:t},[t.buffer])}ui.decodeAudio(e,t.ts)}else if(t.type===le&&t.isIFrame&&wr(e)){if(ui.debugLog("worker",`pushBuffer video ts is ${t.ts}, isVideoSequenceHeader is true`),ui._opt.isRecordTypeFlv){const t=new Uint8Array(e);postMessage({cmd:te,buffer:t},[t.buffer])}ui.decodeVideo(e,t.ts,t.isIFrame,t.cts)}else{if(ui._opt.isRecording)if(ui._opt.isRecordTypeFlv){const r=new Uint8Array(e);postMessage({cmd:re,type:t.type,buffer:r,ts:t.ts},[r.buffer])}else if(ui._opt.recordType===S)if(t.type===le){const r=new Uint8Array(e).slice(5);postMessage({cmd:N,buffer:r,isIFrame:t.isIFrame,ts:t.ts,cts:t.cts},[r.buffer])}else if(t.type===de&&ui._opt.isWasmMp4){const r=new Uint8Array(e),i=Jt(r)?r.slice(2):r.slice(1);postMessage({cmd:I,buffer:i,ts:t.ts},[i.buffer])}if(ui.isPlayer){if(t.type===le){if(Wt>0){const e=t.ts-Vt,r=Wt+Wt/2;e>r&&ui.debugLog("worker",`pushBuffer video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${Vt},\n diff is ${e} and preTsDuration is ${Wt} and maxDiff is ${r}\n maybe trigger black screen or flower screen\n `)}if(null!==Vt&&Vt>=t.ts&&(ui.debugWarn("worker",`pushBuffer() and isIFrame is ${t.isIFrame} and,\n options.ts is ${t.ts} less than (or equal) preTs is ${Vt} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${jt}`),Vt-t.ts>B&&(ui.debugWarn("worker",`pushBuffer,\n preTimestamp is ${Vt}, options.ts is ${t.ts},\n diff is ${Vt-t.ts} more than 3600000,\n and resetAllDelay`),ui.resetAllDelay(),Vt=null,Wt=0),ui._opt.isDropSameTimestampGop&&Er(t.isIFrame)&&ae)){const e=ui.hasIframeInBufferList(),t=Er(ui.isPushDropping);return ui.debugLog("worker",`pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next dropBuffer`),void(e&&t?ui.dropBuffer$2():(ui.clearBuffer(!0),Sr(ui._opt.checkFirstIFrame)&&Sr(r)&&(ui.isPlayUseMSEAndDecoderInWorker()?ci.isDecodeFirstIIframe=!1:postMessage({cmd:ie}))))}Vt>0&&(Wt=t.ts-Vt),jt=e.byteLength,Vt=t.ts}if(ae){const e=ui._opt.videoBuffer+ui._opt.videoBufferDelay,r=ui.getDelayNotUpdateDelay(t.ts,t.type);ui.pushLatestDelay=r,ui.delay>0&&r>e&&ui.delay({type:e.type,ts:e.ts})));ui.debugLog("worker",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${n.length}, and ts list is ${JSON.stringify(r)}`)}const r=ui.getAudioBufferLength()>0,i=r?60:40;n.length>=i&&(ui.debugWarn("worker",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${n.length} more than ${i}, and hasAudio is ${r} an set streamFps is 25`),ui.streamVideoFps=25,postMessage({cmd:j,value:ui.streamVideoFps}),r?(ui.streamAudioFps=25,ui.streamFps=ui.streamVideoFps+ui.streamAudioFps):ui.streamFps=ui.streamVideoFps,ui.playbackCacheLoop())}}},getVideoBufferLength(){let e=0;return n.forEach((t=>{t.type===le&&(e+=1)})),e},hasIframeInBufferList:()=>n.some((e=>e.type===le&&e.isIFrame)),isAllIframeInBufferList(){const e=ui.getVideoBufferLength();let t=0;return n.forEach((e=>{e.type===le&&e.isIFrame&&(t+=1)})),e===t},getNotDroppingDelayTs:()=>ui._opt.videoBuffer+ui._opt.videoBufferDelay/2,getAudioBufferLength(){let e=0;return n.forEach((t=>{t.type===de&&(e+=1)})),e},getStreamBufferLength(){let e=0;return u&&u.buffer&&(e=u.buffer.byteLength),ui._opt.isNakedFlow?qr.lastBuf&&(e=qr.lastBuf.byteLength):ui._opt.isTs?li._remainingPacketData&&(e=li._remainingPacketData.byteLength):ui._opt.isFmp4&&Zr.mp4Box&&(e=Zr.mp4Box.getAllocatedSampleDataSize()),e},fetchStream:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(ui.debugLog("worker","fetchStream, url is "+e,"options:",JSON.stringify(t)),ui.isWorkerFetch=!0,t.isFlv?ui._opt.isFlv=!0:t.isFmp4?ui._opt.isFmp4=!0:t.isMpeg4?ui._opt.isMpeg4=!0:t.isNakedFlow?ui._opt.isNakedFlow=!0:t.isTs&&(ui._opt.isTs=!0),l=ur((e=>{postMessage({cmd:G,type:xe,value:e})})),ui.init(),ui.startStreamRateAndStatsInterval(),t.isFmp4&&Zr.listenMp4Box(),t.protocol===_){t.isFlv&&(u=new Cr(ui.demuxFlv())),a=new AbortController;const r=Object.assign({signal:a.signal},{headers:t.options&&t.options.headers||{}});fetch(e,r).then((e=>{if(Sr(Ur))return ui.debugLog("worker","request abort and run res.body.cancel()"),ui.fetchStatus=Lt,void e.body.cancel();if(!vr(e))return ui.debugWarn("worker",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),jr(),void postMessage({cmd:G,type:Me.fetchError,value:`fetch response status is ${e.status} and ok is ${e.ok}`});if(postMessage({cmd:G,type:De}),_r())ui.writableStream=new WritableStream({write:e=>a&&a.signal&&a.signal.aborted?(ui.debugLog("worker","writableStream write() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It)):Sr(Ur)?(ui.debugLog("worker","writableStream write() and requestAbort is true so return"),ui.fetchStatus=It,void jr()):void("string"!=typeof e?(ui.fetchStatus=Ft,l(e.byteLength),t.isFlv?u.write(e):t.isFmp4?ui.demuxFmp4(e):t.isMpeg4?ui.demuxMpeg4(e):t.isTs?ui.demuxTs(e):t.isNakedFlow&&ui.demuxNakedFlow(e)):ui.debugWarn("worker",`writableStream write() and value is "${e}" string so return`)),close:()=>{ui.debugLog("worker","writableStream close()"),ui.fetchStatus=It,jr(),ui.isPlayVod?ui.debugLog("worker","writableStream close() and isPlayVod is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Le})},abort:e=>{if(a&&a.signal&&a.signal.aborted)return ui.debugLog("worker","writableStream abort() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`writableStream abort() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Me.fetchError,value:e.toString()})):ui.debugLog("worker","writableStream abort() and e.name is AbortError so return")}}),e.body.pipeTo(ui.writableStream).catch((e=>{"AbortError"!==e.name&&ui.debugLog("worker","writableStream pipeTo() and e is",e.name,e.toString())}));else{const r=e.body.getReader(),i=()=>{r.read().then((e=>{let{done:r,value:n}=e;return r?(ui.debugLog("worker","fetchNext().then() and done is true"),ui.fetchStatus=It,jr(),void(ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:g,msg:"fetch done"})):postMessage({cmd:G,type:Le}))):a&&a.signal&&a.signal.aborted?(ui.debugLog("worker","fetchNext().then() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It)):Sr(Ur)?(ui.debugLog("worker","fetchNext().then() and requestAbort is true so return"),ui.fetchStatus=It,void jr()):void("string"!=typeof n?(ui.fetchStatus=Ft,l(n.byteLength),t.isFlv?u.write(n):t.isFmp4?ui.demuxFmp4(n):t.isMpeg4?ui.demuxMpeg4(n):t.isTs?ui.demuxTs(n):t.isNakedFlow&&ui.demuxNakedFlow(n),i()):ui.debugWarn("worker",`fetchNext().then() and value "${n}" is string so return`))})).catch((e=>{if(a&&a.signal&&a.signal.aborted)return ui.debugLog("worker","fetchNext().catch() and abortController.signal.aborted is true so return"),void(ui.fetchStatus=It);u&&(u.close(),u=null),e.name!==Tt?(ui.debugLog("worker",`fetchNext().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Me.fetchError,value:e.toString()})):ui.debugLog("worker","fetchNext().catch() and e.name is AbortError so return")}))};i()}})).catch((e=>{a&&a.signal&&a.signal.aborted?ui.debugLog("worker","fetch().catch() and abortController.signal.aborted is true so return"):e.name!==Tt?(ui.debugLog("worker",`fetch().catch() and e is ${e.toString()}`),jr(),postMessage({cmd:G,type:Me.fetchError,value:e.toString()}),u&&(u.close(),u=null)):ui.debugLog("worker","fetch().catch() and e.name is AbortError so return")}))}else t.protocol===m&&(t.isFlv&&(u=new Cr(ui.demuxFlv())),d=new WebSocket(e,r),d.binaryType="arraybuffer",d.onopen=()=>{ui.debugLog("worker","fetchStream, WebsocketStream socket open"),postMessage({cmd:G,type:De}),postMessage({cmd:G,type:Ie})},d.onclose=e=>{ui.isDestroyed?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} and isDestroyed is true, so return`):h?ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code} but isSocketError is true , so return`):(ui.debugLog("worker",`fetchStream, WebsocketStream socket close and code is ${e.code}`),1006===e.code&&ui.debugError("worker",`fetchStream, WebsocketStream socket close abnormally and code is ${e.code}`),Sr(Ur)?ui.debugLog("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):ui._opt.checkStreamEnd?(u&&(u.close(),u=null),postMessage({cmd:G,type:Ue,value:y,msg:e.code})):postMessage({cmd:G,type:Le}))},d.onerror=e=>{ui.debugError("worker","fetchStream, WebsocketStream socket error",e,e.toString()),h=!0,u&&(u.close(),u=null),ui.isDestroyed?ui.debugLog("worker","fetchStream, WebsocketStream on error and isDestroyed is true, so return"):Sr(Ur)?ui.debugLog("worker","fetchStream, WebsocketStream on error and requestAbort is true so return"):postMessage({cmd:G,type:Me.websocketError,value:e.isTrusted?"websocket user aborted":"websocket error"})},d.onmessage=e=>{"string"!=typeof e.data?(l(e.data.byteLength),t.isFlv?u.write(e.data):t.isFmp4?ui.demuxFmp4(e.data):t.isMpeg4?ui.demuxMpeg4(e.data):ui._opt.isNakedFlow?ui.demuxNakedFlow(e.data):ui.demuxM7s(e.data)):ui.debugWarn("worker",`socket on message is string "${e.data}" and return`)})},demuxFlv:function*(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);for(;;){t[3]=0;const e=yield 15,i=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const n=r[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let s=r[0];const o=(yield n).slice();switch(i){case ce:if(o.byteLength>0){let e=o;Sr(ui._opt.m7sCryptoAudio)&&(e=ui.cryptoPayloadAudio(o)),ui.decode(e,{type:de,ts:s})}else ui.debugWarn("worker",`demuxFlv() type is audio and payload.byteLength is ${o.byteLength} and return`);break;case ue:if(o.byteLength>=6){const e=o[0];if(ui._isEnhancedH265Header(e))ui._decodeEnhancedH265Video(o,s);else{const e=15&o[0];let t=o[0]>>4===Pt;const i=e===Ne;if(Er(t)&&Sr(Br(o,i))&&(ui.debugLog("worker","demux() isIFrame is false and unit type is IDR and update to true"),t=!0),t&&wr(o)&&null===ui.isHevc){const e=15&o[0];ui.isHevc=e===Ne,ir=ar(o,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader is true and isHevc is ${ui.isHevc} and nalUnitSize is ${ir}`)}t&&ui.calcIframeIntervalTimestamp(s),ui.isPlayer&&ui.calcNetworkDelay(s),r[0]=o[4],r[1]=o[3],r[2]=o[2],r[3]=0;let n=r[0],a=ui.cryptoPayload(o,t);ui.decode(a,{type:le,ts:s,isIFrame:t,cts:n})}}else ui.debugWarn("worker",`demuxFlv() type is video and payload.byteLength is ${o.byteLength} and return`);break;case he:postMessage({cmd:Q,buffer:o},[o.buffer]);break;default:ui.debugLog("worker",`demuxFlv() type is ${i}`)}}},decode:function(e,t){t.type===de?ui._opt.hasAudio&&(postMessage({cmd:G,type:ke,value:e.byteLength}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()||(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts})):t.type===le&&ui._opt.hasVideo&&(postMessage({cmd:G,type:Te,value:e.byteLength}),postMessage({cmd:G,type:Ce,value:t.ts}),ui.isPlayer?ui.pushBuffer(e,{type:t.type,ts:t.ts,isIFrame:t.isIFrame,cts:t.cts}):ui.isPlayback?ui.isPlaybackOnlyDecodeIFrame()?t.isIFrame&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}):(ui.isPlaybackCacheBeforeDecodeForFpsRender(),ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame})):ui.isPlayVod&&ui.pushBuffer(e,{type:t.type,ts:t.ts,cts:t.cts,isIFrame:t.isIFrame}))},cryptoPayload:function(e,t){let r=e;return ui._opt.isM7sCrypto?ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=Hi(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`):ui._opt.isSm4Crypto?ui._opt.sm4CryptoKey?r=ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?is(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc,ui._opt.isSm4CryptoH265V2):ln(e,ui._opt.sm4CryptoKey,ui.isHevc,ui._opt.isSm4CryptoH265V2):ui._opt.sm4CryptoKey||ui.debugError("worker","isSm4Crypto opt.sm4CryptoKey is null"):ui._opt.isXorCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?r=pn(e,ui._opt.cryptoKey,ui._opt.cryptoIV,ui.isHevc):ui.debugError("worker",`isXorCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),r},cryptoPayloadAudio:function(e){let t=e;return ui._opt.isM7sCrypto&&(ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength>0&&ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength>0?e[0]>>4===He&&(t=Vi(e,ui._opt.cryptoKey,ui._opt.cryptoIV)):ui.debugError("worker",`isM7sCrypto cryptoKey.length is ${ui._opt.cryptoKey&&ui._opt.cryptoKey.byteLength} or cryptoIV.length is ${ui._opt.cryptoIV&&ui._opt.cryptoIV.byteLength} null`)),t},setCodecAudio:function(e,t){const r=e[0]>>4,n=e[0]>>1&1;if(cr=r===He?n?16:8:0===n?8:16,hi&&hi.setCodec||!Er(i))if(Zt(e)||r===Ve||r===We||r===je){ui.debugLog("worker",`setCodecAudio: init audio codec, codeId is ${r} _opt.sampleRate is ${ui._opt.sampleRate}`);const n=r===He?e.slice(2):new Uint8Array(0);if(i){if(r===je)return void ui.debugError("worker","setCodecAudio: mp3 is not support for old version");hi.sample_rate=ui._opt.sampleRate,hi.decode(e,t)}else hi.setCodec(r,ui._opt.sampleRate,n,ui.getBuildTime());r===He&&postMessage({cmd:M,buffer:n},[n.buffer]),k=!0,r!==He&&(r===je?(ui.mp3Demuxer||(ui.mp3Demuxer=new un(ui),ui.mp3Demuxer.on("data",((e,t)=>{hi.decode(e,t)}))),ui.mp3Demuxer.dispatch(e.slice(1),t)):hi.decode(e.slice(1),t));const s=Number("1")||1;setTimeout((()=>{ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:W})}),60*s*60*1e3)}else ui.debugWarn("worker","setCodecAudio: hasInitAudioCodec is false, codecId is ",r);else ui.debugError("worker","setCodecAudio: audioDecoder or audioDecoder.setCodec is null")},decodeAudio:function(e,t){if(ui.isDestroyed)ui.debugLog("worker","decodeAudio, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio())ci.decodeAudio(e,t);else if(Sr(r)&&Sr(ui._opt.mseDecodeAudio))postMessage({cmd:O,payload:e,ts:t,cts:t},[e.buffer]);else{const r=e[0]>>4;if(k){if(Zt(e))return void ui.debugLog("worker","decodeAudio and has already initialized and payload is aac codec packet so drop this frame");i?hi.decode(e,t):r===je?ui.mp3Demuxer.dispatch(e.slice(1),t):hi.decode(r===He?e.slice(2):e.slice(1),t)}else ui.setCodecAudio(e,t)}},setCodecVideo:function(e,t){const r=15&e[0];if(fi&&fi.setCodec||!Er(i))if(wr(e))if(r===ze||r===Ne){ui.debugLog("worker",`setCodecVideo: init video codec , codecId is ${r}`);const t=e.slice(5);if(r===ze&&ui._opt.useSIMD){const e=Fr(t);if(e.codecWidth>U||e.codecHeight>U)return postMessage({cmd:K,value:`width: ${e.codecWidth} > 4080, height: ${e.codecHeight} > 4080`}),void ui.debugWarn("worker",`setCodecVideo: SIMD H264 decode video width is too large, width is ${e.codecWidth}, height is ${e.codecHeight}`)}const n=new Uint8Array(e);A=!0,i?fi.decode(e,0):fi.setCodec(r,t,ui.getBuildTime()),postMessage({cmd:R,code:r}),postMessage({cmd:z,buffer:n,codecId:r},[n.buffer])}else ui.debugWarn("worker",`setCodecVideo: hasInitVideoCodec is false, codecId is ${r} is not H264 or H265`);else ui.debugWarn("worker",`decodeVideo: hasInitVideoCodec is false, codecId is ${r} and isIFrame is ${t} and packetType is ${e[1]}`);else ui.debugError("worker","setCodecVideo: videoDecoder or videoDecoder.setCodec is null")},decodeVideo:function(e,t,n){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(ui.isDestroyed)ui.debugLog("worker","decodeVideo, decoder is destroyed and return");else if(ui.isPlayUseMSEAndDecoderInWorker())ci.decodeVideo(e,t,n,s);else if(Sr(r))postMessage({cmd:$,payload:e,isIFrame:n,ts:t,cts:s,delay:ui.delay},[e.buffer]);else if(A)if(!ae&&n&&(ae=!0),ae){if(n&&wr(e)){const t=15&e[0];let r={};t===ze?r=Fr(e.slice(5)):t===Ne&&(r=Kr(e)),r.codecWidth&&r.codecHeight&&f&&E&&(r.codecWidth!==f||r.codecHeight!==E)&&(ui.debugWarn("worker",`\n decodeVideo: video width or height is changed,\n old width is ${f}, old height is ${E},\n new width is ${r.codecWidth}, new height is ${r.codecHeight},\n and emit change event`),Yt=!0,postMessage({cmd:q,value:`width: ${f}->${r.codecWidth}, height: ${E}->${r.codecHeight}`}))}if(Yt)return void ui.debugWarn("worker","decodeVideo: video width or height is changed, and return");if(Qt)return void ui.debugWarn("worker","decodeVideo: simd decode error, and return");if(wr(e))return void ui.debugLog("worker","decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength0&&void 0!==arguments[0]&&arguments[0];ui.debugLog("worker",`clearBuffer,bufferList length is ${n.length}, need clear is ${e}`),e&&(n=[]),ui.isPlayer&&(ui.resetAllDelay(),Sr(ui._opt.checkFirstIFrame)&&(ui.dropping=!0,postMessage({cmd:V}))),Sr(ui._opt.checkFirstIFrame)&&Er(r)&&(ae=!1)},dropBuffer$2:function(){if(n.length>0){let e=n.findIndex((e=>Sr(e.isIFrame)&&e.type===le));if(ui.isAllIframeInBufferList())for(let t=0;t=ui.getNotDroppingDelayTs()){ui.debugLog("worker",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${i} and notDroppingDelayTs is ${ui.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){ui.isPushDropping=!0,postMessage({cmd:V});const t=n.length;n=n.slice(e);const r=n.shift();ui.resetAllDelay(),ui.getDelay(r.ts,r.type),ui.doDecode(r),ui.isPushDropping=!1,ui.debugLog("worker",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,new bufferList is ${n.length} and new delay is ${ui.delay} `)}else ui.isPushDropping=!1}0===n.length&&(ui.isPushDropping=!1)},demuxM7s:function(e){const t=new DataView(e),r=t.getUint32(1,!1),i=t.getUint8(0),n=new ArrayBuffer(4),s=new Uint32Array(n);switch(i){case de:ui.decode(new Uint8Array(e,5),{type:de,ts:r});break;case le:if(t.byteLength>=11){const i=new Uint8Array(e,5),n=i[0];if(ui._isEnhancedH265Header(n))ui._decodeEnhancedH265Video(i,r);else{const e=t.getUint8(5)>>4==1;if(e&&(ui.calcIframeIntervalTimestamp(r),wr(i)&&null===ui.isHevc)){const e=15&i[0];ui.isHevc=e===Ne}ui.isPlayer&&ui.calcNetworkDelay(r),s[0]=i[4],s[1]=i[3],s[2]=i[2],s[3]=0;let n=s[0],o=ui.cryptoPayload(i,e);ui.decode(o,{type:le,ts:r,isIFrame:e,cts:n})}}else ui.debugWarn("worker",`demuxM7s() type is video and arrayBuffer length is ${e.byteLength} and return`)}},demuxNakedFlow:function(e){qr.dispatch(e)},demuxFmp4:function(e){Zr.dispatch(e)},demuxMpeg4:function(e){di.dispatch(e)},demuxTs:function(e){li.dispatch(e)},_decodeEnhancedH265Video:function(e,t){const r=e[0],i=48&r,n=15&r,s=e.slice(1,5),o=new ArrayBuffer(4),a=new Uint32Array(o),d="a"==String.fromCharCode(s[0]);if(ui.isHevc=Er(d),n===Nt){if(i===Gt){const r=e.slice(5);if(d);else{const i=new Uint8Array(5+r.length);i.set([28,0,0,0,0],0),i.set(r,5),ir=ar(e,ui.isHevc),ui.debugLog("worker",`demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ${ui.isHevc} and nalUnitSize is ${ir}`),ui.decode(i,{type:le,ts:t,isIFrame:!0,cts:0})}}}else if(n===$t){let r=e,n=0;const s=i===Gt;s&&ui.calcIframeIntervalTimestamp(t),d||(a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0,n=a[0],r=ei(e.slice(8),s),r=ui.cryptoPayload(r,s),ui.decode(r,{type:le,ts:t,isIFrame:s,cts:n}))}else if(n===Ot){const r=i===Gt;r&&ui.calcIframeIntervalTimestamp(t);let n=ei(e.slice(5),r);n=ui.cryptoPayload(n,r),ui.decode(n,{type:le,ts:t,isIFrame:r,cts:0})}},_isEnhancedH265Header:function(e){return(e&zt)===zt},findSei:function(e,t){let r=4;fr(ir)&&(r=ir),nr(e.slice(5),r).forEach((e=>{const r=ui.isHevc?e[0]>>>1&63:31&e[0],i=ui.isHevc&&(r===_t||r===mt),n=Er(ui.isHevc)&&r===Je;if(i||n){const r=sr(e,ui.isHevc);postMessage({cmd:J,buffer:r.payload,ts:t},[r.payload.buffer])}}))},calcNetworkDelay:function(e){if(!(ae&&e>0))return;null===rt?(rt=e,nt=dr()):et?r-t:0;ui.networkDelay=i,i>ui._opt.networkDelay&&ui._opt.playType===v&&(ui.debugWarn("worker",`calcNetworkDelay now dts:${e}, start dts is ${rt} vs start is ${t},local diff is ${r} ,delay is ${i}`),postMessage({cmd:G,type:Fe,value:i}))},calcIframeIntervalTimestamp:function(e){null===Ht?Ht=e:Ht=ui._opt.playbackForwardMaxRateDecodeIFrame&&!(ui._opt.useMSE&&ui._opt.mseDecodeAudio)},isPlayUseMSE:function(){return ui.isPlayer&&ui._opt.useMSE&&Sr(r)},isPlayUseMSEAndDecoderInWorker:function(){return ui.isPlayUseMSE()&&ui._opt.mseDecoderUseWorker},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){return ui.isPlayUseMSEAndDecoderInWorker()&&ui._opt.mseDecodeAudio},playbackUpdatePlaybackRate:function(){Er(ui.isPlaybackCacheBeforeDecodeForFpsRender())&&ui.clearBuffer(!0)},onOffscreenCanvasWebglContextLost:function(e){ui.debugError("worker","handleOffscreenCanvasWebglContextLost and next try to create webgl"),e.preventDefault(),qt=!0,ui.webglObj.destroy(),ui.webglObj=null,ui.offscreenCanvasGL=null,setTimeout((()=>{ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.offscreenCanvasGL&&ui.offscreenCanvasGL.getContextAttributes().stencil?(ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),qt=!1):ui.debugError("worker","handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(e){ui.debugLog("worker","handleOffscreenCanvasWebglContextRestored"),e.preventDefault()},videoInfo:function(e,t,r){postMessage({cmd:R,code:e}),postMessage({cmd:C,w:t,h:r}),f=t,E=r,ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(t,r),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},audioInfo:function(e,t,r){postMessage({cmd:F,code:e}),postMessage({cmd:L,sampleRate:t,channels:r,depth:cr}),Dt=r},yuvData:function(t,r){if(ui.isDestroyed)return void ui.debugLog("worker","yuvData, decoder is destroyed and return");const i=f*E*3/2;let n=e.HEAPU8.subarray(t,t+i),s=new Uint8Array(n);if(pt=null,Be=r,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,s);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:r},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:s,delay:ui.delay,ts:r},[s.buffer])},pcmData:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,o=[],a=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;o[r]=t.HEAPF32.subarray(i,i+n)}if(kt){if(!(n>=(r=d-kt)))return kt+=n,s[0]=Float32Array.of(...s[0],...o[0]),void(2==Dt&&(s[1]=Float32Array.of(...s[1],...o[1])));ot[0]=Float32Array.of(...s[0],...o[0].subarray(0,r)),2==Dt&&(ot[1]=Float32Array.of(...s[1],...o[1].subarray(0,r))),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer))),a=r,n-=r}for(kt=n;kt>=d;kt-=d)ot[0]=o[0].slice(a,a+=d),2==Dt&&(ot[1]=o[1].slice(a-d,a)),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer)));kt&&(s[0]=o[0].slice(a),2==Dt&&(s[1]=o[1].slice(a))),o=[]},errorInfo:function(e){null===pt&&(pt=dr());const t=dr(),r=lr(xt>0?2*xt:5e3,1e3,5e3),i=t-pt;i>r&&(ui.debugWarn("worker",`errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is ${xt} and diff is ${i} and maxDiff is ${r}\n and replay`),Qt=!0,postMessage({cmd:Y}))},sendWebsocketMessage:function(e){d?d.readyState===Re?d.send(e):ui.debugError("worker","socket is not open"):ui.debugError("worker","socket is null")},timeEnd(){ui.debugError("worker","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),ui.close(),postMessage({cmd:W})},postStreamToMain(e,t){postMessage({cmd:Z,type:t,buffer:e},[e.buffer])},updatePlaybackIsPause(e){ui.debugLog("worker",`updatePlaybackIsPause, isPause is ${e}`),Sr(e)?ui.clearPlaybackCacheLoop():ui.startPlaybackCacheLoop()},getBuildTime:()=>"JessibucaPro-20240910",validatedFailed(){ui.debugError("worker","validatedFailed, please contact the author to get the correct license")},debugLog(e){if(ui._opt.debug&&ui.debug){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>2,f=e,E=t,postMessage({cmd:C,w:e,h:t}),ui.useOffscreen()&&(ui.offscreenCanvas=new OffscreenCanvas(e,t),ui.offscreenCanvasGL=ui.offscreenCanvas.getContext("webgl"),ui.webglObj=p(ui.offscreenCanvasGL,ui._opt.openWebglAlignment),ui.offscreenCanvas.addEventListener("webglcontextlost",ui.onOffscreenCanvasWebglContextLost,!1),ui.offscreenCanvas.addEventListener("webglcontextrestored",ui.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(e,t){Dt=e,postMessage({cmd:L,sampleRate:t,channels:e,depth:cr})},playAudioPlanar:function(e,r,i){if(ui.isDestroyed)return void ui.debugLog("worker","pcmData, decoder is destroyed and return");let n=r,o=[],a=0,d=ui._opt.audioBufferSize;for(let r=0;r<2;r++){let i=t.HEAPU32[(e>>2)+r]>>2;o[r]=t.HEAPF32.subarray(i,i+n)}if(kt){if(!(n>=(r=d-kt)))return kt+=n,s[0]=Float32Array.of(...s[0],...o[0]),void(2==Dt&&(s[1]=Float32Array.of(...s[1],...o[1])));ot[0]=Float32Array.of(...s[0],...o[0].subarray(0,r)),2==Dt&&(ot[1]=Float32Array.of(...s[1],...o[1].subarray(0,r))),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer))),a=r,n-=r}for(kt=n;kt>=d;kt-=d)ot[0]=o[0].slice(a,a+=d),2==Dt&&(ot[1]=o[1].slice(a-d,a)),postMessage({cmd:P,buffer:ot,ts:i},ot.map((e=>e.buffer)));kt&&(s[0]=o[0].slice(a),2==Dt&&(s[1]=o[1].slice(a))),o=[]},draw:function(t,r,i,n){if(ui.isDestroyed)return void ui.debugLog("worker","draw, decoder is destroyed and return");const s=e.HEAPU8.subarray(r,r+kr),o=e.HEAPU8.subarray(i,i+Tr),a=e.HEAPU8.subarray(n,n+Tr),d=new Uint8Array(kr+Tr+Tr);if(d.set(s),d.set(o,kr),d.set(a,kr+Tr),pt=null,Be=t,ui.useOffscreen())try{if(qt)return;ui.webglObj.renderYUV(f,E,d);let e=ui.offscreenCanvas.transferToImageBitmap();postMessage({cmd:D,buffer:e,delay:ui.delay,ts:t},[e])}catch(e){ui.debugError("worker","yuvData, transferToImageBitmap error is",e,e.toString())}else postMessage({cmd:D,output:d,delay:ui.delay,ts:t},[d.buffer])}}));let hi=null;t.AudioDecoder&&(hi=new t.AudioDecoder(ui));let fi=null;e.VideoDecoder&&(fi=new e.VideoDecoder(ui)),postMessage({cmd:T}),self.onmessage=function(e){let t=e.data;switch(t.cmd){case fe:try{ui._opt=Object.assign(ui._opt,JSON.parse(t.opt))}catch(e){}ui.debugLog("worker",`onmessage:${fe}`,t.opt);break;case pe:ui.pushBuffer(t.buffer,t.options);break;case me:ui.decodeAudio(t.buffer,t.ts);break;case _e:ui.decodeVideo(t.buffer,t.ts,t.isIFrame);break;case ve:ui.clearBuffer(t.needClear);break;case be:ui.fetchStream(t.url,JSON.parse(t.opt),t.protocols);break;case ge:ui.debugLog("worker",`onmessage:${ge}`,JSON.stringify(t.options)),t.options&&Er(t.options.isVideoInited)&&(xr=t.options.isVideoInited),ui.close();break;case ye:ui.debugLog("worker",`onmessage:${ye}`,t.key,t.value),ui._opt[t.key]=t.value,"playbackRate"===t.key&&(ui.playbackUpdatePlaybackRate(),ui.isPlaybackCacheBeforeDecodeForFpsRender()&&ui.playbackCacheLoop());break;case we:ui.sendWebsocketMessage(t.message);break;case Se:ci.$video.currentTime=Number(t.message);break;case Ee:ui.updatePlaybackIsPause(t.isPause)}}}(e[1],t)}))})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).crypto$1)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,n=t(e),s=(r="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href,async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,i;(i=e).ready=new Promise(((e,r)=>{t=e,n=r})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_WASM_URL&&""!=JESSIBUCA_PRO_WASM_URL?JESSIBUCA_PRO_WASM_URL:e};var s,o,a,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href),v=m("fs"),y=m("path");f=d?y.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href)),s=(e,t)=>(e=Z(e)?new URL(e):y.normalize(e),v.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Z(e)?new URL(e):y.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),r&&(f=r),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var g,_,b=i.print||console.log.bind(console),w=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(g=i.wasmBinary),"object"!=typeof WebAssembly&&G("no native wasm support detected");var S,E,I,k,A,C,x,T,D=!1;function P(e,t){e||G(t)}function B(){var e=_.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=I=new Int16Array(e),i.HEAPU8=E=new Uint8Array(e),i.HEAPU16=k=new Uint16Array(e),i.HEAP32=A=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=x=new Float32Array(e),i.HEAPF64=T=new Float64Array(e)}var M=[],F=[],U=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(M)}function L(){i.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ie(F)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)j(i.postRun.shift());ie(U)}function z(e){M.unshift(e)}function N(e){F.unshift(e)}function j(e){U.unshift(e)}var H=0,V=null;function W(e){H++,i.monitorRunDependencies&&i.monitorRunDependencies(H)}function $(e){if(H--,i.monitorRunDependencies&&i.monitorRunDependencies(H),0==H&&V){var t=V;V=null,t()}}function G(e){i.onAbort&&i.onAbort(e),w(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var q,X,K,Y="data:application/octet-stream;base64,",J=e=>e.startsWith(Y),Z=e=>e.startsWith("file://");function Q(e){if(e==q&&g)return new Uint8Array(g);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!g&&(l||d)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),G(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||Z(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return on=e.exports,_=on.E,B(),Mt=on.I,N(on.F),$(),on}if(W(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(g,q,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?J(q="decoder-pro.wasm")||(q=p(q)):q=new URL("decoder-pro.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(A[un()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}G("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-i};function ye(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var ge=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},_e={ttys:[],init(){},shutdown(){},register(e,t){_e.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,_e.stream_ops)},stream_ops:{open(e){var t=_e.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,o=0;oge(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{G()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,r,n);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,n)=>we.createNode(e,t,r,n),rename(e,t,r){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var n in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=we.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,n);if(o>8&&s.subarray)t.set(s.subarray(i,i+o),r);else for(var a=0;a0||r+t(we.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;o(e,(r=>{P(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&$()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&W()},Ee=(e,t,r,n,i,s)=>{Te.createDataFile(e,t,r,n,i,s)},Ie=i.preloadPlugins||[],ke=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ie.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},Ae=(e,t,r,n,i,s,o,a,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),a||Ee(e,t,r,n,i,c),s&&s(),$()}ke(r,l,d,(()=>{o&&o(),$()}))||d(r)}W(),"string"==typeof r?Se(r,(e=>d(e)),o):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},xe=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Te.root,i="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var n=Te.hashName(e.id,t),i=Te.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Te.lookup(e,t)},createNode(e,t,r,n){var i=new Te.FSNode(e,t,r,n);return Te.hashAddNode(i),i},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Te.lookupNode(e,t),20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,"wx");if(i)return i;if(r){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),n=0;function i(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!s){var o=Te.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(a);return c.mount=a,a.root=c,i?Te.root=c:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),c},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,n=r.mounted,i=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Te.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new Te.ErrnoError(28);var s=Te.mayCreate(n,i);if(s)throw new Te.ErrnoError(s);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var n=ce.basename(t),i=Te.mayCreate(r,n);if(i)throw new Te.ErrnoError(i);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),o=ce.basename(e),a=ce.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(t,{parent:!0}).node,!r||!n)throw new Te.ErrnoError(44);if(r.mount!==n.mount)throw new Te.ErrnoError(75);var c,u=Te.lookupNode(r,o),l=de.relative(e,s);if("."!==l.charAt(0))throw new Te.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{c=Te.lookupNode(n,a)}catch(e){}if(u!==c){var d=Te.isDir(u.mode),h=Te.mayDelete(r,o,d);if(h)throw new Te.ErrnoError(h);if(h=c?Te.mayDelete(n,a,d):Te.mayCreate(n,a))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(u)||c&&Te.isMountpoint(c))throw new Te.ErrnoError(10);if(n!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(u);try{r.node_ops.rename(u,n,a)}catch(e){throw e}finally{Te.hashAddNode(u)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(n)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(n)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return de.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var n;if(!(n="string"==typeof e?Te.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,n){var i;if(!(i="string"==typeof e?Te.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var n=Te.getStreamChecked(e);Te.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;if(!(r="string"==typeof e?Te.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(r,"w");if(n)throw new Te.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new Te.ErrnoError(20)}else n=Te.mknod(e,r,0),s=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(t&=-513),65536&t&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!s){var o=Te.mayOpen(n,t);if(o)throw new Te.ErrnoError(o)}512&t&&!s&&Te.truncate(n,0),t&=-131713;var a=Te.createStream({node:n,path:Te.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!i.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),a},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var o=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=o),o},write(e,t,r,n,i,s){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var a=e.stream_ops.write(e,t,r,n,i,s);return o||(e.position+=a),a},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Te.open(e,t.flags),i=Te.stat(e).size,s=new Uint8Array(i);return Te.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Te.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);Te.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(n,t,0,t.byteLength,void 0,r.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),_e.register(Te.makedev(5,0),_e.default_tty_ops),_e.register(Te.makedev(6,0),_e.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=Te.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Te.createDevice("/dev","stdin",i.stdin):Te.symlink("/dev/tty","/dev/stdin"),i.stdout?Te.createDevice("/dev","stdout",null,i.stdout):Te.symlink("/dev/tty","/dev/stdout"),i.stderr?Te.createDevice("/dev","stderr",null,i.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;i||(o=n);var a=this;a.setDataGetter((e=>{var t=e*o,i=(e+1)*o-1;if(i=Math.min(i,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==o&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ye(i.responseText||"",!0)})(t,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var c=Te.createFile(e,t,a,n,i);a.contents?c.contents=a.contents:a.url&&(c.contents=null,c.url=a.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var o=Math.min(s.length-i,n);if(s.slice)for(var a=0;a{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(Te.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{Te.forceLoadFile(c);var s=be();if(!s)throw new Te.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},De=(e,t)=>e?fe(E,e,t):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;if(n=-100===e?Te.cwd():Pe.getStreamFromFD(e).path,0==t.length){if(!r)throw new Te.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(Te.getPath(e.node)))return-54;throw e}A[r>>2]=n.dev,A[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,A[r+12>>2]=n.uid,A[r+16>>2]=n.gid,A[r+20>>2]=n.rdev,K=[n.size>>>0,(X=n.size,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+24>>2]=K[0],A[r+28>>2]=K[1],A[r+32>>2]=4096,A[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),o=n.ctime.getTime();return K=[Math.floor(i/1e3)>>>0,(X=Math.floor(i/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+40>>2]=K[0],A[r+44>>2]=K[1],C[r+48>>2]=i%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(X=Math.floor(s/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+56>>2]=K[0],A[r+60>>2]=K[1],C[r+64>>2]=s%1e3*1e3,K=[Math.floor(o/1e3)>>>0,(X=Math.floor(o/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+72>>2]=K[0],A[r+76>>2]=K[1],C[r+80>>2]=o%1e3*1e3,K=[n.ino>>>0,(X=n.ino,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+88>>2]=K[0],A[r+92>>2]=K[1],0},doMsync(e,t,r,n,i){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var s=E.slice(e,e+r);Te.msync(t,s,i,r,n)},varargs:void 0,get(){var e=A[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>De(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Be(e,t,r){Pe.varargs=r;try{var n=Pe.getStreamFromFD(e);switch(t){case 0:if((i=Pe.get())<0)return-28;for(;Te.streams[i];)i++;return Te.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=Pe.get();return n.flags|=i,0;case 5:return i=Pe.getp(),I[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Me(e,t,r,n){Pe.varargs=n;try{t=Pe.getStr(t),t=Pe.calculateAt(e,t);var i=n?Pe.get():0;return Te.open(t,r,i).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ue,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},ze=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},Ne={},je={},He={},Ve=e=>{throw new Ue(e)},We=e=>{throw new Re(e)},$e=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&We("Mismatched type converter count");for(var i=0;i{je.hasOwnProperty(e)?i[t]=je[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=je[e],++o===s.length&&n(i)})))})),0===s.length&&n(i)};function Ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||Ve(`type "${n}" must have a positive integer typeid pointer`),je.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${n}' twice`)}if(je[e]=t,delete He[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Ge(e,t,r)}var Xe,Ke=8,Ye=(e,t,r,n)=>{qe(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ze=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,ot=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},at=[],ct=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Xe=e,at.length&&Xe&&Xe(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=ot,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||We("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&We("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=it[o];if(!a)return i.call(this);s=this.isConst?a.constPointerType:a.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),vt(e)),yt=()=>{Object.assign(gt.prototype,{isAliasOf(e){if(!(this instanceof gt))return!1;if(!(e instanceof gt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),at.push(this),1===at.length&&Xe&&Xe(ct),this.$$.deleteScheduled=!0,this}})};function gt(){}var _t=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},wt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),bt(i,e,e),i.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,Et=57,It=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function kt(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var At=(e,t,r)=>{for(;t!==r;)t.upcast||Ve(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return At(t.$$.ptr,r,this.registeredClass)}function xt(e,t){var r;if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=At(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return At(t.$$.ptr,r,this.registeredClass)}function Dt(e){return this.fromWireType(C[e>>2])}var Pt=()=>{Object.assign(Bt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Dt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Bt(e,t,r,n,i,s,o,a,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=xt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Mt,Ft,Ut=(e,t,r)=>{i.hasOwnProperty(e)||We("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Mt.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},jt=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&Ve(`unknown function pointer with signature ${e}: ${t}`),r},Ht=(e,t)=>{var r=_t(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Vt=e=>{var t=ln(e),r=ze(t);return an(t),r},Wt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||je[t]||(He[t]?He[t].forEach(e):(r.push(t),n[t]=!0))})),new Ft(`${e}: `+r.map(Vt).join([", "]))},$t=(e,t,r,n,i,s,o,a,c,u,l,d,h)=>{l=ze(l),s=jt(i,s),a&&(a=jt(o,a)),u&&(u=jt(c,u)),h=jt(d,h);var f=It(l);wt(f,(function(){Wt(`Cannot construct ${l} due to unbound types`,[n])})),$e([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:gt.prototype;var o=_t(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Ue("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Ue(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Ue(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:o}});o.prototype=c;var d=new kt(l,o,c,h,r,s,a,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Bt(l,d,!0,!1,!1),m=new Bt(l+"*",d,!1,!1,!1),v=new Bt(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ut(f,o),[p,m,v]}))},Gt=(e,t)=>{for(var r=[],n=0;n>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Xt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=_t(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Kt(e,t,r,n,i,s){var o=t.length;o<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=a?1:2;u{var o=Gt(t,r);i=jt(n,i),$e([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ue(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Wt(`Cannot construct ${e.name} due to unbound types`,o)},$e([],o,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,n,null,i,s),[]))),[]}))},Jt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Zt=(e,t,r,n,i,s,o,a,c)=>{var u=Gt(r,n);t=ze(t),t=Jt(t),s=jt(i,s),$e([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Wt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(bt(l,t,n),l[t].overloadTable[r-2]=i),$e([],u,(function(i){var a=Kt(n,i,e,s,o,c);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(A[e>>2])}var ar=(e,t)=>{qe(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:or,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(x[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{qe(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>I[e>>1]:e=>k[e>>1];case 4:return r?e=>A[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}qe(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Ke,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));qe(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,o=0;o<=n;++o){var a=i+o;if(o==n||0==E[a]){var c=De(s,a-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=a+1}}else{var u=new Array(n);for(o=0;o>2]=n,r&&i)pr(t,o,n+1);else if(i)for(var a=0;a255&&(an(o),Ve("String has UTF-16 code units that do not fit in 8 bits")),E[o+a]=c}else for(a=0;a{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&k[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(E.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=I[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},gr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return I[t>>1]=0,t-n},_r=e=>2*e.length,br=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=A[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),A[t>>2]=o,(t+=4)+4>i)break}return A[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var n,i,s,o,a;r=ze(r),2===t?(n=yr,i=gr,o=_r,s=()=>k,a=1):4===t&&(n=br,i=wr,o=Sr,s=()=>C,a=2),qe(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],o=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==o[l>>a]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return an(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ve(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),c=cn(4+s+t);return C[c>>2]=s>>a,i(n,c+4,s+t),null!==e&&e.push(an,c),c},argPackAdvance:Ke,readValueFromPointer:or,destructorFunction(e){an(e)}})},Ir=(e,t)=>{qe(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},kr={},Ar=e=>{var t=kr[e];return void 0===t?ze(e):t},Cr=[],xr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=Ar(r)],n,i),Tr=e=>{var t=Cr.length;return Cr.push(e),t},Dr=(e,t)=>{var r=je[e];return void 0===r&&Ve(t+" has unknown type "+Vt(e)),r},Pr=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Br=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Mr=(e,t,r)=>{var n=Pr(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return Tr(_t(h,d))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ur=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{G("")},Lr=()=>Date.now(),Or=(e,t,r)=>E.copyWithin(e,t,t+r),zr=e=>{G("OOM")},Nr=e=>{E.length,zr()},jr={},Hr=()=>u||"./this.program",Vr=()=>{if(!Vr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Hr()};for(var t in jr)void 0===jr[t]?delete e[t]:e[t]=jr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Vr.strings=r}return Vr.strings},Wr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},$r=(e,t)=>{var r=0;return Vr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,Wr(n,s),r+=n.length+1})),0},Gr=(e,t)=>{var r=Vr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function qr(e){try{var t=Pe.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Xr(e,t){try{var r=Pe.getStreamFromFD(e),n=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=n,I[t+2>>1]=0,K=[0,(X=0,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[t+8>>2]=K[0],A[t+12>>2]=K[1],K=[0,(X=0,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[t+16>>2]=K[0],A[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=Te.read(e,S,o,a,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Jr(e,t,r,n,i){var s=Ur(t,r);try{if(isNaN(s))return 61;var o=Pe.getStreamFromFD(e);return Te.llseek(o,s,n),K=[o.position>>>0,(X=o.position,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[i>>2]=K[0],A[i+4>>2]=K[1],o.getdents&&0===s&&0===n&&(o.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Zr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=Te.write(e,S,o,a,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Qr(e,t,r,n){try{var i=Pe.getStreamFromFD(e),s=Zr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=en,Te.createPreloadedFile=Ae,Te.staticInit(),Oe(),Ue=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yt(),lt(),Pt(),Ft=i.UnboundTypeError=Ht(Error,"UnboundTypeError"),Qt(),ir();var nn,sn={o:oe,A:Be,s:Me,q:Le,C:Ye,D:$t,y:Yt,g:Zt,B:ar,k:lr,c:hr,b:fr,l:mr,i:Er,n:Ir,f:xr,m:rr,e:Mr,d:Fr,a:Rr,h:Lr,w:Or,r:Nr,u:$r,v:Gr,j:qr,t:Xr,z:Yr,p:Jr,x:Qr},on=ne(),an=e=>(an=on.G)(e),cn=e=>(cn=on.H)(e),un=()=>(un=on.J)(),ln=e=>(ln=on.K)(e),dn=e=>(dn=on.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,D||(L(),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}H>0||(R(),H>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=on.N)(e,t,r,n,s),i._ff_h264_cabac_tables=74428,V=function e(){nn||hn(),nn||(V=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),e.ready}),o=(()=>{var e="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href;return async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var r,n,i;(i=t).ready=new Promise(((e,t)=>{r=e,n=t})),(i=void 0!==i?i:{}).locateFile=function(e){return"decoder-pro-audio.wasm"==e&&"undefined"!=typeof JESSIBUCA_PRO_AUDIO_WASM_URL&&""!=JESSIBUCA_PRO_AUDIO_WASM_URL?JESSIBUCA_PRO_AUDIO_WASM_URL:e};var s,o,a,c=Object.assign({},i),u="./this.program",l="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";function p(e){return i.locateFile?i.locateFile(e,f):f+e}if(h){const{createRequire:e}=await import("module");var m=e("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href),v=m("fs"),y=m("path");f=d?y.dirname(f)+"/":m("url").fileURLToPath(new URL("./","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href)),s=(e,t)=>(e=Z(e)?new URL(e):y.normalize(e),v.readFileSync(e,t?void 0:"utf8")),a=e=>{var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),t},o=function(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];e=Z(e)?new URL(e):y.normalize(e),v.readFile(e,n?void 0:"utf8",((e,i)=>{e?r(e):t(n?i.buffer:i)}))},!i.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),i.inspect=()=>"[Emscripten Module object]"}else(l||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),e&&(f=e),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var g,_,b=i.print||console.log.bind(console),w=i.printErr||console.error.bind(console);Object.assign(i,c),c=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(g=i.wasmBinary),"object"!=typeof WebAssembly&&G("no native wasm support detected");var S,E,I,k,A,C,x,T,D=!1;function P(e,t){e||G(t)}function B(){var e=_.buffer;i.HEAP8=S=new Int8Array(e),i.HEAP16=I=new Int16Array(e),i.HEAPU8=E=new Uint8Array(e),i.HEAPU16=k=new Uint16Array(e),i.HEAP32=A=new Int32Array(e),i.HEAPU32=C=new Uint32Array(e),i.HEAPF32=x=new Float32Array(e),i.HEAPF64=T=new Float64Array(e)}var M=[],F=[],U=[];function R(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)z(i.preRun.shift());ie(M)}function L(){i.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,ie(F)}function O(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)j(i.postRun.shift());ie(U)}function z(e){M.unshift(e)}function N(e){F.unshift(e)}function j(e){U.unshift(e)}var H=0,V=null;function W(e){H++,i.monitorRunDependencies&&i.monitorRunDependencies(H)}function $(e){if(H--,i.monitorRunDependencies&&i.monitorRunDependencies(H),0==H&&V){var t=V;V=null,t()}}function G(e){i.onAbort&&i.onAbort(e),w(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}var q,X,K,Y="data:application/octet-stream;base64,",J=e=>e.startsWith(Y),Z=e=>e.startsWith("file://");function Q(e){if(e==q&&g)return new Uint8Array(g);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function ee(e){if(!g&&(l||d)){if("function"==typeof fetch&&!Z(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(o)return new Promise(((t,r)=>{o(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}function te(e,t,r){return ee(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{w(`failed to asynchronously prepare wasm: ${e}`),G(e)}))}function re(e,t,r,n){return e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||Z(t)||h||"function"!=typeof fetch?te(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return w(`wasm streaming compile failed: ${e}`),w("falling back to ArrayBuffer instantiation"),te(t,r,n)}))))}function ne(){var e={a:sn};function t(e,t){return on=e.exports,_=on.E,B(),Mt=on.H,N(on.F),$(),on}if(W(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){w(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return re(g,q,e,(function(e){t(e.instance)})).catch(n),{}}i.locateFile?J(q="decoder-pro-audio.wasm")||(q=p(q)):q=new URL("decoder-pro-audio.wasm","undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("decoder-pro.js",document.baseURI).href).href;var ie=e=>{for(;e.length>0;)e.shift()(i)};function se(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,S[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=S[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,S[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=S[this.ptr+13>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(dn(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var oe=(e,t,r)=>{throw new se(e).init(t,r),e},ae=e=>(A[cn()>>2]=e,e),ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},ue=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}G("initRandomDevice")},le=e=>(le=ue())(e),de={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t=ce.isAbs(n)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a{for(var n=t+r,i=t;e[i]&&!(i>=n);)++i;if(i-t>16&&e.buffer&&he)return he.decode(e.subarray(t,i));for(var s="";t>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|a)}else s+=String.fromCharCode(o)}return s},pe=[],me=e=>{for(var t=0,r=0;r=55296&&n<=57343?(t+=4,++r):t+=3}return t},ve=(e,t,r,n)=>{if(!(n>0))return 0;for(var i=r,s=r+n-1,o=0;o=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(r>=s)break;t[r++]=a}else if(a<=2047){if(r+1>=s)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=s)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=s)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-i};function ye(e,t,r){var n=r>0?r:me(e)+1,i=new Array(n),s=ve(e,i,0,i.length);return t&&(i.length=s),i}var ge=()=>{if(!pe.length){var e=null;if(h){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;pe=ye(e,!0)}return pe.shift()},_e={ttys:[],init(){},shutdown(){},register(e,t){_e.ttys[e]={input:[],output:[],ops:t},Te.registerDevice(e,_e.stream_ops)},stream_ops:{open(e){var t=_e.ttys[e.node.rdev];if(!t)throw new Te.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,n,i){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var s=0,o=0;oge(),put_char(e,t){null===t||10===t?(b(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(b(fe(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(w(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(w(fe(e.output,0)),e.output=[])}}},be=e=>{G()},we={ops_table:null,mount:e=>we.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Te.isBlkdev(r)||Te.isFIFO(r))throw new Te.ErrnoError(63);we.ops_table||(we.ops_table={dir:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,lookup:we.node_ops.lookup,mknod:we.node_ops.mknod,rename:we.node_ops.rename,unlink:we.node_ops.unlink,rmdir:we.node_ops.rmdir,readdir:we.node_ops.readdir,symlink:we.node_ops.symlink},stream:{llseek:we.stream_ops.llseek}},file:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:{llseek:we.stream_ops.llseek,read:we.stream_ops.read,write:we.stream_ops.write,allocate:we.stream_ops.allocate,mmap:we.stream_ops.mmap,msync:we.stream_ops.msync}},link:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr,readlink:we.node_ops.readlink},stream:{}},chrdev:{node:{getattr:we.node_ops.getattr,setattr:we.node_ops.setattr},stream:Te.chrdev_stream_ops}});var i=Te.createNode(e,t,r,n);return Te.isDir(i.mode)?(i.node_ops=we.ops_table.dir.node,i.stream_ops=we.ops_table.dir.stream,i.contents={}):Te.isFile(i.mode)?(i.node_ops=we.ops_table.file.node,i.stream_ops=we.ops_table.file.stream,i.usedBytes=0,i.contents=null):Te.isLink(i.mode)?(i.node_ops=we.ops_table.link.node,i.stream_ops=we.ops_table.link.stream):Te.isChrdev(i.mode)&&(i.node_ops=we.ops_table.chrdev.node,i.stream_ops=we.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Te.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Te.isDir(e.mode)?t.size=4096:Te.isFile(e.mode)?t.size=e.usedBytes:Te.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&we.resizeFileStorage(e,t.size)},lookup(e,t){throw Te.genericErrors[44]},mknod:(e,t,r,n)=>we.createNode(e,t,r,n),rename(e,t,r){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(t,r)}catch(e){}if(n)for(var i in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Te.lookupNode(e,t);for(var n in r.contents)throw new Te.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var n=we.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,i){var s=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,n);if(o>8&&s.subarray)t.set(s.subarray(i,i+o),r);else for(var a=0;a0||r+t(we.stream_ops.write(e,t,0,n,r,!1),0)}},Se=(e,t,r,n)=>{var i=n?"":`al ${e}`;o(e,(r=>{P(r,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(r)),i&&$()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),i&&W()},Ee=(e,t,r,n,i,s)=>{Te.createDataFile(e,t,r,n,i,s)},Ie=i.preloadPlugins||[],ke=(e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var i=!1;return Ie.forEach((s=>{i||s.canHandle(t)&&(s.handle(e,t,r,n),i=!0)})),i},Ae=(e,t,r,n,i,s,o,a,c,u)=>{var l=t?de.resolve(ce.join2(e,t)):e;function d(r){function d(r){u&&u(),a||Ee(e,t,r,n,i,c),s&&s(),$()}ke(r,l,d,(()=>{o&&o(),$()}))||d(r)}W(),"string"==typeof r?Se(r,(e=>d(e)),o):d(r)},Ce=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t},xe=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=de.resolve(e)))return{path:"",node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new Te.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),n=Te.root,i="/",s=0;s40)throw new Te.ErrnoError(32)}}return{path:i,node:n}},getPath(e){for(var t;;){if(Te.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,n=0;n>>0)%Te.nameTable.length},hashAddNode(e){var t=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[t],Te.nameTable[t]=e},hashRemoveNode(e){var t=Te.hashName(e.parent.id,e.name);if(Te.nameTable[t]===e)Te.nameTable[t]=e.name_next;else for(var r=Te.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Te.mayLookup(e);if(r)throw new Te.ErrnoError(r,e);for(var n=Te.hashName(e.id,t),i=Te.nameTable[n];i;i=i.name_next){var s=i.name;if(i.parent.id===e.id&&s===t)return i}return Te.lookup(e,t)},createNode(e,t,r,n){var i=new Te.FSNode(e,t,r,n);return Te.hashAddNode(i),i},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Te.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){var t=Te.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{Te.lookupNode(e,t);return 20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Te.lookupNode(e,t)}catch(e){return e.errno}var i=Te.nodePermissions(e,"wx");if(i)return i;if(r){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(t)||512&t)?31:Te.nodePermissions(e,Te.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var t=Te.getStream(e);if(!t)throw new Te.ErrnoError(8);return t},getStream:e=>Te.streams[e],createStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return Te.FSStream||(Te.FSStream=function(){this.shared={}},Te.FSStream.prototype={},Object.defineProperties(Te.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Te.FSStream,e),-1==t&&(t=Te.nextfd()),e.fd=t,Te.streams[t]=e,e},closeStream(e){Te.streams[e]=null},chrdev_stream_ops:{open(e){var t=Te.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Te.devices[e]={stream_ops:t}},getDevice:e=>Te.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&w(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Te.getMounts(Te.root.mount),n=0;function i(e){return Te.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,i(e));++n>=r.length&&i(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,i="/"===r,s=!r;if(i&&Te.root)throw new Te.ErrnoError(10);if(!i&&!s){var o=Te.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var a={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(a);return c.mount=a,a.root=c,i?Te.root=c:n&&(n.mounted=a,n.mount&&n.mount.mounts.push(a)),c},unmount(e){var t=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(t.node))throw new Te.ErrnoError(28);var r=t.node,n=r.mounted,i=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var t=Te.nameTable[e];t;){var r=t.name_next;i.includes(t.mount)&&Te.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Te.lookupPath(e,{parent:!0}).node,i=ce.basename(e);if(!i||"."===i||".."===i)throw new Te.ErrnoError(28);var s=Te.mayCreate(n,i);if(s)throw new Te.ErrnoError(s);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,i,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Te.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Te.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",i=0;i(void 0===r&&(r=t,t=438),t|=8192,Te.mknod(e,t,r)),symlink(e,t){if(!de.resolve(e))throw new Te.ErrnoError(44);var r=Te.lookupPath(t,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var n=ce.basename(t),i=Te.mayCreate(r,n);if(i)throw new Te.ErrnoError(i);if(!r.node_ops.symlink)throw new Te.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,i=ce.dirname(e),s=ce.dirname(t),o=ce.basename(e),a=ce.basename(t);if(r=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(t,{parent:!0}).node,!r||!n)throw new Te.ErrnoError(44);if(r.mount!==n.mount)throw new Te.ErrnoError(75);var c,u=Te.lookupNode(r,o),l=de.relative(e,s);if("."!==l.charAt(0))throw new Te.ErrnoError(28);if("."!==(l=de.relative(t,i)).charAt(0))throw new Te.ErrnoError(55);try{c=Te.lookupNode(n,a)}catch(e){}if(u!==c){var d=Te.isDir(u.mode),h=Te.mayDelete(r,o,d);if(h)throw new Te.ErrnoError(h);if(h=c?Te.mayDelete(n,a,d):Te.mayCreate(n,a))throw new Te.ErrnoError(h);if(!r.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(u)||c&&Te.isMountpoint(c))throw new Te.ErrnoError(10);if(n!==r&&(h=Te.nodePermissions(r,"w")))throw new Te.ErrnoError(h);Te.hashRemoveNode(u);try{r.node_ops.rename(u,n,a)}catch(e){throw e}finally{Te.hashAddNode(u)}}},rmdir(e){var t=Te.lookupPath(e,{parent:!0}).node,r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!0);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.rmdir(t,r),Te.destroyNode(n)},readdir(e){var t=Te.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Te.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Te.lookupPath(e,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var r=ce.basename(e),n=Te.lookupNode(t,r),i=Te.mayDelete(t,r,!1);if(i)throw new Te.ErrnoError(i);if(!t.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);t.node_ops.unlink(t,r),Te.destroyNode(n)},readlink(e){var t=Te.lookupPath(e).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.readlink)throw new Te.ErrnoError(28);return de.resolve(Te.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Te.lookupPath(e,{follow:!t}).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.getattr)throw new Te.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Te.stat(e,!0),chmod(e,t,r){var n;"string"==typeof e?n=Te.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod(e,t){Te.chmod(e,t,!0)},fchmod(e,t){var r=Te.getStreamChecked(e);Te.chmod(r.node,t)},chown(e,t,r,n){var i;"string"==typeof e?i=Te.lookupPath(e,{follow:!n}).node:i=e;if(!i.node_ops.setattr)throw new Te.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,r){Te.chown(e,t,r,!0)},fchown(e,t,r){var n=Te.getStreamChecked(e);Te.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new Te.ErrnoError(28);var r;"string"==typeof e?r=Te.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(r.mode))throw new Te.ErrnoError(31);if(!Te.isFile(r.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(r,"w");if(n)throw new Te.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Te.getStreamChecked(e);if(0==(2097155&r.flags))throw new Te.ErrnoError(28);Te.truncate(r.node,t)},utime(e,t,r){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Te.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ce(t):t)?4095&r|32768:0,"object"==typeof e)n=e;else{e=ce.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(n){if(128&t)throw new Te.ErrnoError(20)}else n=Te.mknod(e,r,0),s=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(t&=-513),65536&t&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!s){var o=Te.mayOpen(n,t);if(o)throw new Te.ErrnoError(o)}512&t&&!s&&Te.truncate(n,0),t&=-131713;var a=Te.createStream({node:n,path:Te.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!i.logReadFiles||1&t||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),a},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,i){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var s=void 0!==i;if(s){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var o=e.stream_ops.read(e,t,r,n,i);return s||(e.position+=o),o},write(e,t,r,n,i,s){if(n<0||i<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var o=void 0!==i;if(o){if(!e.seekable)throw new Te.ErrnoError(70)}else i=e.position;var a=e.stream_ops.write(e,t,r,n,i,s);return o||(e.position+=a),a},allocate(e,t,r){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(t<0||r<=0)throw new Te.ErrnoError(28);if(0==(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,i){if(0!=(2&n)&&0==(2&i)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,i)},msync:(e,t,r,n,i)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,i):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=Te.open(e,t.flags),i=Te.stat(e).size,s=new Uint8Array(i);return Te.read(n,s,0,i,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Te.close(n),r},writeFile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=Te.open(e,r.flags,r.mode);if("string"==typeof t){var i=new Uint8Array(me(t)+1),s=ve(t,i,0,i.length);Te.write(n,i,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Te.write(n,t,0,t.byteLength,void 0,r.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var t=Te.lookupPath(e,{follow:!0});if(null===t.node)throw new Te.ErrnoError(44);if(!Te.isDir(t.node.mode))throw new Te.ErrnoError(54);var r=Te.nodePermissions(t.node,"x");if(r)throw new Te.ErrnoError(r);Te.currentPath=t.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,t,r,n,i)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),_e.register(Te.makedev(5,0),_e.default_tty_ops),_e.register(Te.makedev(6,0),_e.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=le(e).byteLength),e[--t]);Te.createDevice("/dev","random",r),Te.createDevice("/dev","urandom",r),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var t=Te.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,n=Te.getStreamChecked(r),i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Te.createDevice("/dev","stdin",i.stdin):Te.symlink("/dev/tty","/dev/stdin"),i.stdout?Te.createDevice("/dev","stdout",null,i.stdout):Te.symlink("/dev/tty","/dev/stdout"),i.stderr?Te.createDevice("/dev","stderr",null,i.stderr):Te.symlink("/dev/tty1","/dev/stderr"),Te.open("/dev/stdin",0),Te.open("/dev/stdout",1),Te.open("/dev/stderr",1)},ensureErrnoError(){Te.ErrnoError||(Te.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Te.ErrnoError.prototype=new Error,Te.ErrnoError.prototype.constructor=Te.ErrnoError,[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack=""})))},staticInit(){Te.ensureErrnoError(),Te.nameTable=new Array(4096),Te.mount(we,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:we}},init(e,t,r){Te.init.initialized=!0,Te.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;i||(o=n);var a=this;a.setDataGetter((e=>{var t=e*o,i=(e+1)*o-1;if(i=Math.min(i,n-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==o&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):ye(i.responseText||"",!0)})(t,i)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!s&&n||(o=n=1,n=this.getter(0).length,o=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else a={isDevice:!1,url:r};var c=Te.createFile(e,t,a,n,i);a.contents?c.contents=a.contents:a.url&&(c.contents=null,c.url=a.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,t,r,n,i){var s=e.node.contents;if(i>=s.length)return 0;var o=Math.min(s.length-i,n);if(s.slice)for(var a=0;a{var t=c.stream_ops[e];u[e]=function(){return Te.forceLoadFile(c),t.apply(null,arguments)}})),u.read=(e,t,r,n,i)=>(Te.forceLoadFile(c),l(e,t,r,n,i)),u.mmap=(e,t,r,n,i)=>{Te.forceLoadFile(c);var s=be();if(!s)throw new Te.ErrnoError(48);return l(e,S,s,t,r),{ptr:s,allocated:!0}},c.stream_ops=u,c}},De=(e,t)=>e?fe(E,e,t):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var n;-100===e?n=Te.cwd():n=Pe.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new Te.ErrnoError(44);return n}return ce.join2(n,t)},doStat(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ce.normalize(t)!==ce.normalize(Te.getPath(e.node)))return-54;throw e}A[r>>2]=n.dev,A[r+4>>2]=n.mode,C[r+8>>2]=n.nlink,A[r+12>>2]=n.uid,A[r+16>>2]=n.gid,A[r+20>>2]=n.rdev,K=[n.size>>>0,(X=n.size,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+24>>2]=K[0],A[r+28>>2]=K[1],A[r+32>>2]=4096,A[r+36>>2]=n.blocks;var i=n.atime.getTime(),s=n.mtime.getTime(),o=n.ctime.getTime();return K=[Math.floor(i/1e3)>>>0,(X=Math.floor(i/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+40>>2]=K[0],A[r+44>>2]=K[1],C[r+48>>2]=i%1e3*1e3,K=[Math.floor(s/1e3)>>>0,(X=Math.floor(s/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+56>>2]=K[0],A[r+60>>2]=K[1],C[r+64>>2]=s%1e3*1e3,K=[Math.floor(o/1e3)>>>0,(X=Math.floor(o/1e3),+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+72>>2]=K[0],A[r+76>>2]=K[1],C[r+80>>2]=o%1e3*1e3,K=[n.ino>>>0,(X=n.ino,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[r+88>>2]=K[0],A[r+92>>2]=K[1],0},doMsync(e,t,r,n,i){if(!Te.isFile(t.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var s=E.slice(e,e+r);Te.msync(t,s,i,r,n)},varargs:void 0,get(){var e=A[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>De(e),getStreamFromFD:e=>Te.getStreamChecked(e)};function Be(e,t,r){Pe.varargs=r;try{var n=Pe.getStreamFromFD(e);switch(t){case 0:if((i=Pe.get())<0)return-28;for(;Te.streams[i];)i++;return Te.createStream(n,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var i=Pe.get();return n.flags|=i,0;case 5:i=Pe.getp();return I[i+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ae(28),-1}}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}function Me(e,t,r,n){Pe.varargs=n;try{t=Pe.getStr(t),t=Pe.calculateAt(e,t);var i=n?Pe.get():0;return Te.open(t,r,i).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}}var Fe,Ue,Re,Le=(e,t,r,n,i)=>{},Oe=()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Fe=e},ze=e=>{for(var t="",r=e;E[r];)t+=Fe[E[r++]];return t},Ne={},je={},He={},Ve=e=>{throw new Ue(e)},We=e=>{throw new Re(e)},$e=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&We("Mismatched type converter count");for(var i=0;i{je.hasOwnProperty(e)?i[t]=je[e]:(s.push(e),Ne.hasOwnProperty(e)||(Ne[e]=[]),Ne[e].push((()=>{i[t]=je[e],++o===s.length&&n(i)})))})),0===s.length&&n(i)};function Ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=t.name;if(e||Ve(`type "${n}" must have a positive integer typeid pointer`),je.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${n}' twice`)}if(je[e]=t,delete He[e],Ne.hasOwnProperty(e)){var i=Ne[e];delete Ne[e],i.forEach((e=>e()))}}function qe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return Ge(e,t,r)}var Xe,Ke=8,Ye=(e,t,r,n)=>{qe(e,{name:t=ze(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:Ke,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},Je=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Ze=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},Qe=!1,et=e=>{},tt=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},rt=e=>{e.count.value-=1,0===e.count.value&&tt(e)},nt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=nt(e,t,r.baseClass);return null===n?null:r.downcast(n)},it={},st=()=>Object.keys(dt).length,ot=()=>{var e=[];for(var t in dt)dt.hasOwnProperty(t)&&e.push(dt[t]);return e},at=[],ct=()=>{for(;at.length;){var e=at.pop();e.$$.deleteScheduled=!1,e.delete()}},ut=e=>{Xe=e,at.length&&Xe&&Xe(ct)},lt=()=>{i.getInheritedInstanceCount=st,i.getLiveInheritedInstances=ot,i.flushPendingDeletes=ct,i.setDelayFunction=ut},dt={},ht=(e,t)=>{for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t},ft=(e,t)=>(t=ht(e,t),dt[t]),pt=(e,t)=>(t.ptrType&&t.ptr||We("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&We("Both smartPtrType and smartPtr must be specified"),t.count={value:1},vt(Object.create(e,{$$:{value:t}})));function mt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ft(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function i(){return this.isSmartPointer?pt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):pt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,o=this.registeredClass.getActualType(t),a=it[o];if(!a)return i.call(this);s=this.isConst?a.constPointerType:a.pointerType;var c=nt(t,this.registeredClass,s.registeredClass);return null===c?i.call(this):this.isSmartPointer?pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c,smartPtrType:this,smartPtr:e}):pt(s.registeredClass.instancePrototype,{ptrType:s,ptr:c})}var vt=e=>"undefined"==typeof FinalizationRegistry?(vt=e=>e,e):(Qe=new FinalizationRegistry((e=>{rt(e.$$)})),vt=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};Qe.register(e,r,e)}return e},et=e=>Qe.unregister(e),vt(e)),yt=()=>{Object.assign(gt.prototype,{isAliasOf(e){if(!(this instanceof gt))return!1;if(!(e instanceof gt))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)i=n.upcast(i),n=n.baseClass;return t===n&&r===i},clone(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=vt(Object.create(Object.getPrototypeOf(this),{$$:{value:Je(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),et(this),rt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),at.push(this),1===at.length&&Xe&&Xe(ct),this.$$.deleteScheduled=!0,this}})};function gt(){}var _t=(e,t)=>Object.defineProperty(t,"name",{value:e}),bt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},wt=(e,t,r)=>{i.hasOwnProperty(e)?((void 0===r||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),bt(i,e,e),i.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),i[e].overloadTable[r]=t):(i[e]=t,void 0!==r&&(i[e].numArguments=r))},St=48,Et=57,It=e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=St&&t<=Et?`_${e}`:e};function kt(e,t,r,n,i,s,o,a){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=i,this.getActualType=s,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var At=(e,t,r)=>{for(;t!==r;)t.upcast||Ve(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ct(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return At(t.$$.ptr,r,this.registeredClass)}function xt(e,t){var r;if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;if(r=At(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var i=t.clone();r=this.rawShare(r,sr.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function Tt(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${cr(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return At(t.$$.ptr,r,this.registeredClass)}function Dt(e){return this.fromWireType(C[e>>2])}var Pt=()=>{Object.assign(Bt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:Ke,readValueFromPointer:Dt,deleteObject(e){null!==e&&e.delete()},fromWireType:mt})};function Bt(e,t,r,n,i,s,o,a,c,u,l){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=i,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,i||void 0!==t.baseClass?this.toWireType=xt:n?(this.toWireType=Ct,this.destructorFunction=null):(this.toWireType=Tt,this.destructorFunction=null)}var Mt,Ft,Ut=(e,t,r)=>{i.hasOwnProperty(e)||We("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==r?i[e].overloadTable[r]=t:(i[e]=t,i[e].argCount=r)},Rt=(e,t,r)=>{var n=i["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)},Lt=[],Ot=e=>{var t=Lt[e];return t||(e>=Lt.length&&(Lt.length=e+1),Lt[e]=t=Mt.get(e)),t},zt=(e,t,r)=>e.includes("j")?Rt(e,t,r):Ot(t).apply(null,r),Nt=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),zt(e,t,r)}},jt=(e,t)=>{var r=(e=ze(e)).includes("j")?Nt(e,t):Ot(t);return"function"!=typeof r&&Ve(`unknown function pointer with signature ${e}: ${t}`),r},Ht=(e,t)=>{var r=_t(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},r},Vt=e=>{var t=un(e),r=ze(t);return an(t),r},Wt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||je[t]||(He[t]?He[t].forEach(e):(r.push(t),n[t]=!0))})),new Ft(`${e}: `+r.map(Vt).join([", "]))},$t=(e,t,r,n,i,s,o,a,c,u,l,d,h)=>{l=ze(l),s=jt(i,s),a&&(a=jt(o,a)),u&&(u=jt(c,u)),h=jt(d,h);var f=It(l);wt(f,(function(){Wt(`Cannot construct ${l} due to unbound types`,[n])})),$e([e,t,r],n?[n]:[],(function(t){var r,i;t=t[0],i=n?(r=t.registeredClass).instancePrototype:gt.prototype;var o=_t(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new Ue("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Ue(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Ue(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),c=Object.create(i,{constructor:{value:o}});o.prototype=c;var d=new kt(l,o,c,h,r,s,a,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Bt(l,d,!0,!1,!1),m=new Bt(l+"*",d,!1,!1,!1),v=new Bt(l+" const*",d,!1,!0,!1);return it[e]={pointerType:m,constPointerType:v},Ut(f,o),[p,m,v]}))},Gt=(e,t)=>{for(var r=[],n=0;n>2]);return r},qt=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Xt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=_t(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,i=e.apply(n,t);return i instanceof Object?i:n}function Kt(e,t,r,n,i,s){var o=t.length;o<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,c=!1,u=1;u0?", ":"")+h),f+=(l||s?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)f+="runDestructors(destructors);\n";else for(u=a?1:2;u{var o=Gt(t,r);i=jt(n,i),$e([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ue(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Wt(`Cannot construct ${e.name} due to unbound types`,o)},$e([],o,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Kt(r,n,null,i,s),[]))),[]}))},Jt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},Zt=(e,t,r,n,i,s,o,a,c)=>{var u=Gt(r,n);t=ze(t),t=Jt(t),s=jt(i,s),$e([],[e],(function(e){var n=`${(e=e[0]).name}.${t}`;function i(){Wt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,d=l[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(i.argCount=r-2,i.className=e.name,l[t]=i):(bt(l,t,n),l[t].overloadTable[r-2]=i),$e([],u,(function(i){var a=Kt(n,i,e,s,o,c);return void 0===l[t].overloadTable?(a.argCount=r-2,l[t]=a):l[t].overloadTable[r-2]=a,[]})),[]}))};function Qt(){Object.assign(er.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}})}function er(){this.allocated=[void 0],this.freelist=[]}var tr=new er,rr=e=>{e>=tr.reserved&&0==--tr.get(e).refcount&&tr.free(e)},nr=()=>{for(var e=0,t=tr.reserved;t{tr.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),tr.reserved=tr.allocated.length,i.count_emval_handles=nr},sr={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),tr.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return tr.allocate({refcount:1,value:e})}}};function or(e){return this.fromWireType(A[e>>2])}var ar=(e,t)=>{qe(e,{name:t=ze(t),fromWireType:e=>{var t=sr.toValue(e);return rr(e),t},toWireType:(e,t)=>sr.toHandle(t),argPackAdvance:Ke,readValueFromPointer:or,destructorFunction:null})},cr=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},ur=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(x[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},lr=(e,t,r)=>{qe(e,{name:t=ze(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:Ke,readValueFromPointer:ur(t,r),destructorFunction:null})},dr=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>E[e>>0];case 2:return r?e=>I[e>>1]:e=>k[e>>1];case 4:return r?e=>A[e>>2]:e=>C[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},hr=(e,t,r,n,i)=>{t=ze(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<>>o}var a=t.includes("unsigned");qe(e,{name:t,fromWireType:s,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:Ke,readValueFromPointer:dr(t,r,0!==n),destructorFunction:null})},fr=(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=C[e>>2],r=C[e+4>>2];return new n(S.buffer,r,t)}qe(e,{name:r=ze(r),fromWireType:i,argPackAdvance:Ke,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},pr=(e,t,r)=>ve(e,E,t,r),mr=(e,t)=>{var r="std::string"===(t=ze(t));qe(e,{name:t,fromWireType(e){var t,n=C[e>>2],i=e+4;if(r)for(var s=i,o=0;o<=n;++o){var a=i+o;if(o==n||0==E[a]){var c=De(s,a-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=a+1}}else{var u=new Array(n);for(o=0;o>2]=n,r&&i)pr(t,o,n+1);else if(i)for(var a=0;a255&&(an(o),Ve("String has UTF-16 code units that do not fit in 8 bits")),E[o+a]=c}else for(a=0;a{for(var r=e,n=r>>1,i=n+t/2;!(n>=i)&&k[n];)++n;if((r=n<<1)-e>32&&vr)return vr.decode(E.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var a=I[e+2*o>>1];if(0==a)break;s+=String.fromCharCode(a)}return s},gr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,i=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}return I[t>>1]=0,t-n},_r=e=>2*e.length,br=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var i=A[e+4*r>>2];if(0==i)break;if(++r,i>=65536){var s=i-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(i)}return n},wr=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,i=n+r-4,s=0;s=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s);if(A[t>>2]=o,(t+=4)+4>i)break}return A[t>>2]=0,t-n},Sr=e=>{for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t},Er=(e,t,r)=>{var n,i,s,o,a;r=ze(r),2===t?(n=yr,i=gr,o=_r,s=()=>k,a=1):4===t&&(n=br,i=wr,o=Sr,s=()=>C,a=2),qe(e,{name:r,fromWireType:e=>{for(var r,i=C[e>>2],o=s(),c=e+4,u=0;u<=i;++u){var l=e+4+u*t;if(u==i||0==o[l>>a]){var d=n(c,l-c);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),c=l+t}}return an(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ve(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),c=ln(4+s+t);return C[c>>2]=s>>a,i(n,c+4,s+t),null!==e&&e.push(an,c),c},argPackAdvance:Ke,readValueFromPointer:or,destructorFunction(e){an(e)}})},Ir=(e,t)=>{qe(e,{isVoid:!0,name:t=ze(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},kr={},Ar=e=>{var t=kr[e];return void 0===t?ze(e):t},Cr=[],xr=(e,t,r,n,i)=>(e=Cr[e])(t=sr.toValue(t),t[r=Ar(r)],n,i),Tr=e=>{var t=Cr.length;return Cr.push(e),t},Dr=(e,t)=>{var r=je[e];return void 0===r&&Ve(t+" has unknown type "+Vt(e)),r},Pr=(e,t)=>{for(var r=new Array(e),n=0;n>2],"parameter "+n);return r},Br=(e,t,r)=>{var n=[],i=e.toWireType(n,r);return n.length&&(C[t>>2]=sr.toHandle(n)),i},Mr=(e,t,r)=>{var n=Pr(e,t),i=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,a=[];0===r&&a.push("obj");for(var c=["retType"],u=[i],l=0;le.name)).join(", ")}) => ${i.name}>`;return Tr(_t(h,d))},Fr=e=>{var t=sr.toValue(e);qt(t),rr(e)},Ur=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,Rr=()=>{G("")},Lr=()=>Date.now(),Or=(e,t,r)=>E.copyWithin(e,t,t+r),zr=e=>{G("OOM")},Nr=e=>{E.length,zr()},jr={},Hr=()=>u||"./this.program",Vr=()=>{if(!Vr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Hr()};for(var t in jr)void 0===jr[t]?delete e[t]:e[t]=jr[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);Vr.strings=r}return Vr.strings},Wr=(e,t)=>{for(var r=0;r>0]=e.charCodeAt(r);S[t>>0]=0},$r=(e,t)=>{var r=0;return Vr().forEach(((n,i)=>{var s=t+r;C[e+4*i>>2]=s,Wr(n,s),r+=n.length+1})),0},Gr=(e,t)=>{var r=Vr();C[e>>2]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),C[t>>2]=n,0};function qr(e){try{var t=Pe.getStreamFromFD(e);return Te.close(t),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Xr(e,t){try{var r=Pe.getStreamFromFD(e),n=r.tty?2:Te.isDir(r.mode)?3:Te.isLink(r.mode)?7:4;return S[t>>0]=n,I[t+2>>1]=0,K=[0,(X=0,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[t+8>>2]=K[0],A[t+12>>2]=K[1],K=[0,(X=0,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[t+16>>2]=K[0],A[t+20>>2]=K[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Kr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=Te.read(e,S,o,a,n);if(c<0)return-1;if(i+=c,c>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}function Jr(e,t,r,n,i){var s=Ur(t,r);try{if(isNaN(s))return 61;var o=Pe.getStreamFromFD(e);return Te.llseek(o,s,n),K=[o.position>>>0,(X=o.position,+Math.abs(X)>=1?X>0?+Math.floor(X/4294967296)>>>0:~~+Math.ceil((X-+(~~X>>>0))/4294967296)>>>0:0)],A[i>>2]=K[0],A[i+4>>2]=K[1],o.getdents&&0===s&&0===n&&(o.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var Zr=(e,t,r,n)=>{for(var i=0,s=0;s>2],a=C[t+4>>2];t+=8;var c=Te.write(e,S,o,a,n);if(c<0)return-1;i+=c,void 0!==n&&(n+=c)}return i};function Qr(e,t,r,n){try{var i=Pe.getStreamFromFD(e),s=Zr(i,t,r);return C[n>>2]=s,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}var en=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},tn=365,rn=146;Object.defineProperties(en.prototype,{read:{get:function(){return(this.mode&tn)===tn},set:function(e){e?this.mode|=tn:this.mode&=~tn}},write:{get:function(){return(this.mode&rn)===rn},set:function(e){e?this.mode|=rn:this.mode&=~rn}},isFolder:{get:function(){return Te.isDir(this.mode)}},isDevice:{get:function(){return Te.isChrdev(this.mode)}}}),Te.FSNode=en,Te.createPreloadedFile=Ae,Te.staticInit(),Oe(),Ue=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Re=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},yt(),lt(),Pt(),Ft=i.UnboundTypeError=Ht(Error,"UnboundTypeError"),Qt(),ir();var nn,sn={o:oe,A:Be,s:Me,q:Le,C:Ye,D:$t,y:Yt,g:Zt,B:ar,k:lr,c:hr,b:fr,l:mr,i:Er,n:Ir,f:xr,m:rr,e:Mr,d:Fr,a:Rr,h:Lr,w:Or,r:Nr,u:$r,v:Gr,j:qr,t:Xr,z:Yr,p:Jr,x:Qr},on=ne(),an=e=>(an=on.G)(e),cn=()=>(cn=on.I)(),un=e=>(un=on.J)(e),ln=e=>(ln=on.K)(e),dn=e=>(dn=on.M)(e);function hn(){function e(){nn||(nn=!0,i.calledRun=!0,D||(L(),r(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),O()))}H>0||(R(),H>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_viiijj=(e,t,r,n,s,o,a,c)=>(i.dynCall_viiijj=on.N)(e,t,r,n,s,o,a,c),i.dynCall_jij=(e,t,r,n)=>(i.dynCall_jij=on.O)(e,t,r,n),i.dynCall_jii=(e,t,r)=>(i.dynCall_jii=on.P)(e,t,r),i.dynCall_jiji=(e,t,r,n,s)=>(i.dynCall_jiji=on.Q)(e,t,r,n,s),V=function e(){nn||hn(),nn||(V=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return hn(),t.ready}})(),a=f;!function(e,t){for(var r=f,n=e();;)try{if(579065===parseInt(r(419))/1*(-parseInt(r(428))/2)+-parseInt(r(416))/3+-parseInt(r(421))/4*(parseInt(r(427))/5)+parseInt(r(422))/6*(parseInt(r(429))/7)+parseInt(r(424))/8*(-parseInt(r(425))/9)+-parseInt(r(423))/10+parseInt(r(420))/11*(parseInt(r(433))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(d);var c=1e-6,u=typeof Float32Array!==a(434)?Float32Array:Array,l=Math[a(432)];function d(){var e=["60IbpFvh","11364570RhDdKc","6630008nxLNOz","9UaDhhi","max","5255OZbHpK","20636ZOXzak","667681UULuQE","sqrt","abs","random","6048ekKbAF","undefined","1579260FiCChJ","length","hypot","86ulLJPI","73436ZdXrDC","1372zWoGbQ"];return(d=function(){return e})()}var h=Math.PI/180;function f(e,t){var r=d();return(f=function(e,t){return r[e-=416]})(e,t)}Math.hypot||(Math[a(418)]=function(){for(var e=a,t=0,r=arguments[e(417)];r--;)t+=arguments[r]*arguments[r];return Math[e(430)](t)});var p=Object.freeze({__proto__:null,EPSILON:c,get ARRAY_TYPE(){return u},RANDOM:l,setMatrixArrayType:function(e){u=e},toRadian:function(e){return e*h},equals:function(e,t){var r=a;return Math.abs(e-t)<=c*Math[r(426)](1,Math[r(431)](e),Math.abs(t))}});function m(){var e=["151434uPsPaA","downDegrees","85031HDvbEt","leftDegrees","cos","6574910aEHbVe","41787ARJYTS","808LOpnja","max","hypot","15322021qMuTDO","ARRAY_TYPE","21JPcupf","693088RDSKwl","3EzdSGf","150196rbqTUz","tan","rightDegrees","sin","mat4(","EPSILON","abs","sqrt","135GgUfWj"];return(m=function(){return e})()}function v(e,t){var r=m();return(v=function(e,t){return r[e-=213]})(e,t)}function y(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function g(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],m=t[12],v=t[13],y=t[14],g=t[15],_=r[0],b=r[1],w=r[2],S=r[3];return e[0]=_*n+b*a+w*d+S*m,e[1]=_*i+b*c+w*h+S*v,e[2]=_*s+b*u+w*f+S*y,e[3]=_*o+b*l+w*p+S*g,_=r[4],b=r[5],w=r[6],S=r[7],e[4]=_*n+b*a+w*d+S*m,e[5]=_*i+b*c+w*h+S*v,e[6]=_*s+b*u+w*f+S*y,e[7]=_*o+b*l+w*p+S*g,_=r[8],b=r[9],w=r[10],S=r[11],e[8]=_*n+b*a+w*d+S*m,e[9]=_*i+b*c+w*h+S*v,e[10]=_*s+b*u+w*f+S*y,e[11]=_*o+b*l+w*p+S*g,_=r[12],b=r[13],w=r[14],S=r[15],e[12]=_*n+b*a+w*d+S*m,e[13]=_*i+b*c+w*h+S*v,e[14]=_*s+b*u+w*f+S*y,e[15]=_*o+b*l+w*p+S*g,e}function _(e,t,r){var n=t[0],i=t[1],s=t[2],o=t[3],a=n+n,c=i+i,u=s+s,l=n*a,d=n*c,h=n*u,f=i*c,p=i*u,m=s*u,v=o*a,y=o*c,g=o*u;return e[0]=1-(f+m),e[1]=d+g,e[2]=h-y,e[3]=0,e[4]=d-g,e[5]=1-(l+m),e[6]=p+v,e[7]=0,e[8]=h+y,e[9]=p-v,e[10]=1-(l+f),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function b(e,t){var r=v,n=t[0],i=t[1],s=t[2],o=t[4],a=t[5],c=t[6],u=t[8],l=t[9],d=t[10];return e[0]=Math[r(229)](n,i,s),e[1]=Math[r(229)](o,a,c),e[2]=Math[r(229)](u,l,d),e}function w(e,t,r,n,i){var s,o=1/Math.tan(t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=(i+n)*s,e[14]=2*i*n*s):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r=v,n=e();;)try{if(527770===-parseInt(r(222))/1+parseInt(r(233))/2*(parseInt(r(234))/3)+-parseInt(r(235))/4*(parseInt(r(219))/5)+parseInt(r(220))/6*(parseInt(r(232))/7)+-parseInt(r(227))/8*(-parseInt(r(226))/9)+-parseInt(r(225))/10+parseInt(r(230))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(m);var S=w;function E(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=(o+s)*u,e[15]=1,e}var I=E;function k(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}var A=g,C=k,x=Object.freeze({__proto__:null,create:function(){var e=v,t=new(p[e(231)])(16);return p[e(231)]!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},clone:function(e){var t=new(p[v(231)])(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},fromValues:function(e,t,r,n,i,s,o,a,c,l,d,h,f,p,m,v){var y=new u(16);return y[0]=e,y[1]=t,y[2]=r,y[3]=n,y[4]=i,y[5]=s,y[6]=o,y[7]=a,y[8]=c,y[9]=l,y[10]=d,y[11]=h,y[12]=f,y[13]=p,y[14]=m,y[15]=v,y},set:function(e,t,r,n,i,s,o,a,c,u,l,d,h,f,p,m,v){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e[4]=s,e[5]=o,e[6]=a,e[7]=c,e[8]=u,e[9]=l,e[10]=d,e[11]=h,e[12]=f,e[13]=p,e[14]=m,e[15]=v,e},identity:y,transpose:function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],s=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=s,e[11]=t[14],e[12]=i,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},invert:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15],g=r*a-n*o,_=r*c-i*o,b=r*u-s*o,w=n*c-i*a,S=n*u-s*a,E=i*u-s*c,I=l*m-d*p,k=l*v-h*p,A=l*y-f*p,C=d*v-h*m,x=d*y-f*m,T=h*y-f*v,D=g*T-_*x+b*C+w*A-S*k+E*I;return D?(D=1/D,e[0]=(a*T-c*x+u*C)*D,e[1]=(i*x-n*T-s*C)*D,e[2]=(m*E-v*S+y*w)*D,e[3]=(h*S-d*E-f*w)*D,e[4]=(c*A-o*T-u*k)*D,e[5]=(r*T-i*A+s*k)*D,e[6]=(v*b-p*E-y*_)*D,e[7]=(l*E-h*b+f*_)*D,e[8]=(o*x-a*A+u*I)*D,e[9]=(n*A-r*x-s*I)*D,e[10]=(p*S-m*b+y*g)*D,e[11]=(d*b-l*S-f*g)*D,e[12]=(a*k-o*C-c*I)*D,e[13]=(r*C-n*k+i*I)*D,e[14]=(m*_-p*w-v*g)*D,e[15]=(l*w-d*_+h*g)*D,e):null},adjoint:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=t[4],a=t[5],c=t[6],u=t[7],l=t[8],d=t[9],h=t[10],f=t[11],p=t[12],m=t[13],v=t[14],y=t[15];return e[0]=a*(h*y-f*v)-d*(c*y-u*v)+m*(c*f-u*h),e[1]=-(n*(h*y-f*v)-d*(i*y-s*v)+m*(i*f-s*h)),e[2]=n*(c*y-u*v)-a*(i*y-s*v)+m*(i*u-s*c),e[3]=-(n*(c*f-u*h)-a*(i*f-s*h)+d*(i*u-s*c)),e[4]=-(o*(h*y-f*v)-l*(c*y-u*v)+p*(c*f-u*h)),e[5]=r*(h*y-f*v)-l*(i*y-s*v)+p*(i*f-s*h),e[6]=-(r*(c*y-u*v)-o*(i*y-s*v)+p*(i*u-s*c)),e[7]=r*(c*f-u*h)-o*(i*f-s*h)+l*(i*u-s*c),e[8]=o*(d*y-f*m)-l*(a*y-u*m)+p*(a*f-u*d),e[9]=-(r*(d*y-f*m)-l*(n*y-s*m)+p*(n*f-s*d)),e[10]=r*(a*y-u*m)-o*(n*y-s*m)+p*(n*u-s*a),e[11]=-(r*(a*f-u*d)-o*(n*f-s*d)+l*(n*u-s*a)),e[12]=-(o*(d*v-h*m)-l*(a*v-c*m)+p*(a*h-c*d)),e[13]=r*(d*v-h*m)-l*(n*v-i*m)+p*(n*h-i*d),e[14]=-(r*(a*v-c*m)-o*(n*v-i*m)+p*(n*c-i*a)),e[15]=r*(a*h-c*d)-o*(n*h-i*d)+l*(n*c-i*a),e},determinant:function(e){var t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=e[6],c=e[7],u=e[8],l=e[9],d=e[10],h=e[11],f=e[12],p=e[13],m=e[14],v=e[15];return(t*o-r*s)*(d*v-h*m)-(t*a-n*s)*(l*v-h*p)+(t*c-i*s)*(l*m-d*p)+(r*a-n*o)*(u*v-h*f)-(r*c-i*o)*(u*m-d*f)+(n*c-i*a)*(u*p-l*f)},multiply:g,translate:function(e,t,r){var n,i,s,o,a,c,u,l,d,h,f,p,m=r[0],v=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*v+t[8]*y+t[12],e[13]=t[1]*m+t[5]*v+t[9]*y+t[13],e[14]=t[2]*m+t[6]*v+t[10]*y+t[14],e[15]=t[3]*m+t[7]*v+t[11]*y+t[15]):(n=t[0],i=t[1],s=t[2],o=t[3],a=t[4],c=t[5],u=t[6],l=t[7],d=t[8],h=t[9],f=t[10],p=t[11],e[0]=n,e[1]=i,e[2]=s,e[3]=o,e[4]=a,e[5]=c,e[6]=u,e[7]=l,e[8]=d,e[9]=h,e[10]=f,e[11]=p,e[12]=n*m+a*v+d*y+t[12],e[13]=i*m+c*v+h*y+t[13],e[14]=s*m+u*v+f*y+t[14],e[15]=o*m+l*v+p*y+t[15]),e},scale:function(e,t,r){var n=r[0],i=r[1],s=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*s,e[9]=t[9]*s,e[10]=t[10]*s,e[11]=t[11]*s,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},rotate:function(e,t,r,n){var i,s,o,a,c,u,l,d,h,f,m,y,g,_,b,w,S,E,I,k,A,C,x,T,D=v,P=n[0],B=n[1],M=n[2],F=Math[D(229)](P,B,M);return F0?(r[0]=2*(a*o+l*n+c*s-u*i)/d,r[1]=2*(c*o+l*i+u*n-a*s)/d,r[2]=2*(u*o+l*s+a*i-c*n)/d):(r[0]=2*(a*o+l*n+c*s-u*i),r[1]=2*(c*o+l*i+u*n-a*s),r[2]=2*(u*o+l*s+a*i-c*n)),_(e,t,r),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},getScaling:b,getRotation:function(e,t){var r=v,n=new(p[r(231)])(3);b(n,t);var i=1/n[0],s=1/n[1],o=1/n[2],a=t[0]*i,c=t[1]*s,u=t[2]*o,l=t[4]*i,d=t[5]*s,h=t[6]*o,f=t[8]*i,m=t[9]*s,y=t[10]*o,g=a+d+y,_=0;return g>0?(_=2*Math[r(218)](g+1),e[3]=.25*_,e[0]=(h-m)/_,e[1]=(f-u)/_,e[2]=(c-l)/_):a>d&&a>y?(_=2*Math.sqrt(1+a-d-y),e[3]=(h-m)/_,e[0]=.25*_,e[1]=(c+l)/_,e[2]=(f+u)/_):d>y?(_=2*Math[r(218)](1+d-a-y),e[3]=(f-u)/_,e[0]=(c+l)/_,e[1]=.25*_,e[2]=(h+m)/_):(_=2*Math[r(218)](1+y-a-d),e[3]=(c-l)/_,e[0]=(f+u)/_,e[1]=(h+m)/_,e[2]=.25*_),e},fromRotationTranslationScale:function(e,t,r,n){var i=t[0],s=t[1],o=t[2],a=t[3],c=i+i,u=s+s,l=o+o,d=i*c,h=i*u,f=i*l,p=s*u,m=s*l,v=o*l,y=a*c,g=a*u,_=a*l,b=n[0],w=n[1],S=n[2];return e[0]=(1-(p+v))*b,e[1]=(h+_)*b,e[2]=(f-g)*b,e[3]=0,e[4]=(h-_)*w,e[5]=(1-(d+v))*w,e[6]=(m+y)*w,e[7]=0,e[8]=(f+g)*S,e[9]=(m-y)*S,e[10]=(1-(d+p))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},fromRotationTranslationScaleOrigin:function(e,t,r,n,i){var s=t[0],o=t[1],a=t[2],c=t[3],u=s+s,l=o+o,d=a+a,h=s*u,f=s*l,p=s*d,m=o*l,v=o*d,y=a*d,g=c*u,_=c*l,b=c*d,w=n[0],S=n[1],E=n[2],I=i[0],k=i[1],A=i[2],C=(1-(m+y))*w,x=(f+b)*w,T=(p-_)*w,D=(f-b)*S,P=(1-(h+y))*S,B=(v+g)*S,M=(p+_)*E,F=(v-g)*E,U=(1-(h+m))*E;return e[0]=C,e[1]=x,e[2]=T,e[3]=0,e[4]=D,e[5]=P,e[6]=B,e[7]=0,e[8]=M,e[9]=F,e[10]=U,e[11]=0,e[12]=r[0]+I-(C*I+D*k+M*A),e[13]=r[1]+k-(x*I+P*k+F*A),e[14]=r[2]+A-(T*I+B*k+U*A),e[15]=1,e},fromQuat:function(e,t){var r=t[0],n=t[1],i=t[2],s=t[3],o=r+r,a=n+n,c=i+i,u=r*o,l=n*o,d=n*a,h=i*o,f=i*a,p=i*c,m=s*o,v=s*a,y=s*c;return e[0]=1-d-p,e[1]=l+y,e[2]=h-v,e[3]=0,e[4]=l-y,e[5]=1-u-p,e[6]=f+m,e[7]=0,e[8]=h+v,e[9]=f-m,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,i,s,o){var a=1/(r-t),c=1/(i-n),u=1/(s-o);return e[0]=2*s*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*s*c,e[6]=0,e[7]=0,e[8]=(r+t)*a,e[9]=(i+n)*c,e[10]=(o+s)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*s*2*u,e[15]=0,e},perspectiveNO:w,perspective:S,perspectiveZO:function(e,t,r,n,i){var s,o=1/Math[v(236)](t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(s=1/(n-i),e[10]=i*s,e[14]=i*n*s):(e[10]=-1,e[14]=-n),e},perspectiveFromFieldOfView:function(e,t,r,n){var i=v,s=Math[i(236)](t.upDegrees*Math.PI/180),o=Math[i(236)](t[i(221)]*Math.PI/180),a=Math[i(236)](t[i(223)]*Math.PI/180),c=Math.tan(t[i(213)]*Math.PI/180),u=2/(a+c),l=2/(s+o);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(a-c)*u*.5,e[9]=(s-o)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},orthoNO:E,ortho:I,orthoZO:function(e,t,r,n,i,s,o){var a=1/(t-r),c=1/(n-i),u=1/(s-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=u,e[11]=0,e[12]=(t+r)*a,e[13]=(i+n)*c,e[14]=s*u,e[15]=1,e},lookAt:function(e,t,r,n){var i,s,o,a,u,l,d,h,f,m,g=v,_=t[0],b=t[1],w=t[2],S=n[0],E=n[1],I=n[2],k=r[0],A=r[1],C=r[2];return Math[g(217)](_-k)0&&(d*=p=1/Math[i(218)](p),h*=p,f*=p);var m=u*f-l*h,y=l*d-c*f,g=c*h-u*d;return(p=m*m+y*y+g*g)>0&&(m*=p=1/Math[i(218)](p),y*=p,g*=p),e[0]=m,e[1]=y,e[2]=g,e[3]=0,e[4]=h*g-f*y,e[5]=f*m-d*g,e[6]=d*y-h*m,e[7]=0,e[8]=d,e[9]=h,e[10]=f,e[11]=0,e[12]=s,e[13]=o,e[14]=a,e[15]=1,e},str:function(e){return v(215)+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},frob:function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},subtract:k,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},equals:function(e,t){var r=v,n=e[0],i=e[1],s=e[2],o=e[3],a=e[4],u=e[5],l=e[6],d=e[7],h=e[8],f=e[9],m=e[10],y=e[11],g=e[12],_=e[13],b=e[14],w=e[15],S=t[0],E=t[1],I=t[2],k=t[3],A=t[4],C=t[5],x=t[6],T=t[7],D=t[8],P=t[9],B=t[10],M=t[11],F=t[12],U=t[13],R=t[14],L=t[15];return Math[r(217)](n-S)<=c*Math[r(228)](1,Math.abs(n),Math[r(217)](S))&&Math[r(217)](i-E)<=c*Math[r(228)](1,Math.abs(i),Math.abs(E))&&Math.abs(s-I)<=p[r(216)]*Math.max(1,Math[r(217)](s),Math.abs(I))&&Math.abs(o-k)<=c*Math[r(228)](1,Math[r(217)](o),Math[r(217)](k))&&Math[r(217)](a-A)<=c*Math[r(228)](1,Math[r(217)](a),Math[r(217)](A))&&Math[r(217)](u-C)<=c*Math.max(1,Math.abs(u),Math[r(217)](C))&&Math.abs(l-x)<=c*Math[r(228)](1,Math.abs(l),Math[r(217)](x))&&Math[r(217)](d-T)<=p[r(216)]*Math[r(228)](1,Math[r(217)](d),Math[r(217)](T))&&Math[r(217)](h-D)<=p[r(216)]*Math[r(228)](1,Math[r(217)](h),Math[r(217)](D))&&Math[r(217)](f-P)<=p[r(216)]*Math[r(228)](1,Math.abs(f),Math[r(217)](P))&&Math.abs(m-B)<=p[r(216)]*Math[r(228)](1,Math.abs(m),Math.abs(B))&&Math[r(217)](y-M)<=p[r(216)]*Math[r(228)](1,Math.abs(y),Math[r(217)](M))&&Math.abs(g-F)<=p[r(216)]*Math[r(228)](1,Math.abs(g),Math[r(217)](F))&&Math[r(217)](_-U)<=p[r(216)]*Math.max(1,Math[r(217)](_),Math.abs(U))&&Math.abs(b-R)<=p[r(216)]*Math[r(228)](1,Math[r(217)](b),Math[r(217)](R))&&Math.abs(w-L)<=p[r(216)]*Math[r(228)](1,Math[r(217)](w),Math[r(217)](L))},mul:A,sub:C});function T(){var e=new u(3);return u!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function D(e){var t=F,r=e[0],n=e[1],i=e[2];return Math[t(485)](r,n,i)}function P(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}function B(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}function M(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}function F(e,t){var r=U();return(F=function(e,t){return r[e-=483]})(e,t)}function U(){var e=["vec3(","7320645kQaMoU","cos","RANDOM","sqrt","max","10260930zVgPUx","27LsLniT","420141iBcoAP","ceil","abs","4591878FoWwSm","min","EPSILON","511989HOURfU","ARRAY_TYPE","7pjmhtZ","length","acos","hypot","round","sin","2799784OlwBeh","4uANoFD","4895444SbhHsZ","floor"];return(U=function(){return e})()}function R(e,t){var r=F,n=t[0]-e[0],i=t[1]-e[1],s=t[2]-e[2];return Math[r(485)](n,i,s)}function L(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}function O(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}function z(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}!function(e,t){for(var r=F,n=e();;)try{if(758884===-parseInt(r(506))/1+-parseInt(r(489))/2*(parseInt(r(500))/3)+-parseInt(r(490))/4+parseInt(r(493))/5+parseInt(r(503))/6*(-parseInt(r(508))/7)+parseInt(r(488))/8*(parseInt(r(499))/9)+parseInt(r(498))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(U);var N,j=P,H=B,V=M,W=R,$=L,G=D,q=O,X=(N=T(),function(e,t,r,n,i,s){var o,a,c=F;for(!t&&(t=3),!r&&(r=0),a=n?Math[c(504)](n*t+r,e.length):e[c(483)],o=r;o0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e},dot:z,cross:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[0],a=r[1],c=r[2];return e[0]=i*c-s*a,e[1]=s*o-n*c,e[2]=n*a-i*o,e},lerp:function(e,t,r,n){var i=t[0],s=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=s+n*(r[1]-s),e[2]=o+n*(r[2]-o),e},hermite:function(e,t,r,n,i,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,u=o*(s-1),l=o*(3-2*s);return e[0]=t[0]*a+r[0]*c+n[0]*u+i[0]*l,e[1]=t[1]*a+r[1]*c+n[1]*u+i[1]*l,e[2]=t[2]*a+r[2]*c+n[2]*u+i[2]*l,e},bezier:function(e,t,r,n,i,s){var o=1-s,a=o*o,c=s*s,u=a*o,l=3*s*a,d=3*c*o,h=c*s;return e[0]=t[0]*u+r[0]*l+n[0]*d+i[0]*h,e[1]=t[1]*u+r[1]*l+n[1]*d+i[1]*h,e[2]=t[2]*u+r[2]*l+n[2]*d+i[2]*h,e},random:function(e,t){var r=F;t=t||1;var n=2*p[r(495)]()*Math.PI,i=2*p[r(495)]()-1,s=Math[r(496)](1-i*i)*t;return e[0]=Math[r(494)](n)*s,e[1]=Math[r(487)](n)*s,e[2]=i*t,e},transformMat4:function(e,t,r){var n=t[0],i=t[1],s=t[2],o=r[3]*n+r[7]*i+r[11]*s+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/o,e},transformMat3:function(e,t,r){var n=t[0],i=t[1],s=t[2];return e[0]=n*r[0]+i*r[3]+s*r[6],e[1]=n*r[1]+i*r[4]+s*r[7],e[2]=n*r[2]+i*r[5]+s*r[8],e},transformQuat:function(e,t,r){var n=r[0],i=r[1],s=r[2],o=r[3],a=t[0],c=t[1],u=t[2],l=i*u-s*c,d=s*a-n*u,h=n*c-i*a,f=i*h-s*d,p=s*l-n*h,m=n*d-i*l,v=2*o;return l*=v,d*=v,h*=v,f*=2,p*=2,m*=2,e[0]=a+l+f,e[1]=c+d+p,e[2]=u+h+m,e},rotateX:function(e,t,r,n){var i=F,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0],o[1]=s[1]*Math[i(494)](n)-s[2]*Math[i(487)](n),o[2]=s[1]*Math[i(487)](n)+s[2]*Math[i(494)](n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateY:function(e,t,r,n){var i=F,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[2]*Math[i(487)](n)+s[0]*Math[i(494)](n),o[1]=s[1],o[2]=s[2]*Math.cos(n)-s[0]*Math[i(487)](n),e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},rotateZ:function(e,t,r,n){var i=F,s=[],o=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],o[0]=s[0]*Math[i(494)](n)-s[1]*Math.sin(n),o[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),o[2]=s[2],e[0]=o[0]+r[0],e[1]=o[1]+r[1],e[2]=o[2]+r[2],e},angle:function(e,t){var r=F,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],c=t[2],u=Math[r(496)](n*n+i*i+s*s)*Math[r(496)](o*o+a*a+c*c),l=u&&z(e,t)/u;return Math[r(484)](Math[r(504)](Math[r(497)](l,-1),1))},zero:function(e){return e[0]=0,e[1]=0,e[2]=0,e},str:function(e){return F(492)+e[0]+", "+e[1]+", "+e[2]+")"},exactEquals:function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},equals:function(e,t){var r=F,n=e[0],i=e[1],s=e[2],o=t[0],a=t[1],u=t[2];return Math[r(502)](n-o)<=p[r(505)]*Math.max(1,Math.abs(n),Math[r(502)](o))&&Math[r(502)](i-a)<=c*Math[r(497)](1,Math[r(502)](i),Math[r(502)](a))&&Math.abs(s-u)<=c*Math[r(497)](1,Math[r(502)](s),Math[r(502)](u))},sub:j,mul:H,div:V,dist:W,sqrDist:$,len:G,sqrLen:q,forEach:X});function Y(){var e=["149718aAEFhf","1002681MoiGHr","16CZBfAc","1021275vuznjr","790ZalUai","1146828KMYsBw","625DWkpQd","11pFXhzh","21JdyDJh","2253190dOrRHp","6787970aSsTNC"];return(Y=function(){return e})()}function J(e,t){var r=Y();return(J=function(e,t){return r[e-=111]})(e,t)}function Z(e,t){const r=Q();return(Z=function(e,t){return r[e-=395]})(e,t)}function Q(){const e=["activeTexture","COMPILE_STATUS","enable","bindBuffer","uniform1i","createShader","identity","TEXTURE_WRAP_T","CLAMP_TO_EDGE","isyuv","185JaJBOy","getAttribLocation","texPosition","viewMatrix","vertexPosition","8335098ktoSuF","yTexture","getShaderParameter","concat","uTexture","10967XijtFC","createProgram","lookAt","174HeWeum","drawElements","ARRAY_BUFFER","position","deleteShader","program","UNSIGNED_SHORT","texImage2D","TEXTURE0","TEXTURE_2D","vertexAttribPointer","2541080LqXGQZ","uniformLocations","STATIC_DRAW","aTexturePosition","deleteBuffer","LINK_STATUS","LEQUAL","3198792ovCJyE","VERTEX_SHADER","ELEMENT_ARRAY_BUFFER","FRAGMENT_SHADER","compileShader","An error occurred compiling the shaders: ","bindTexture","LUMINANCE","ytexture","depthFunc","TEXTURE_WRAP_S","shaderSource","enableVertexAttribArray","attachShader","texParameteri","ortho","clearDepth","14930nxErwE","UNSIGNED_BYTE","projectionMatrix","log","texturePosition","slice","create","165504daijFq","FLOAT","deleteProgram","viewport","7uLvryj","linkProgram","DEPTH_TEST","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","clearColor","uProjectionMatrix","vTexture","createBuffer","DEPTH_BUFFER_BIT","useProgram","LINEAR","aVertexPosition","deleteTexture","uniformMatrix4fv","Unable to initialize the shader program: ","getUniformLocation","bufferData","attribLocations","fromValues","TRIANGLES","getShaderInfoLog","clear","TEXTURE2","COLOR_BUFFER_BIT","6159PHFiEq","getProgramParameter","TEXTURE1","802376IFIlLl"];return(Q=function(){return e})()}!function(e,t){for(var r=J,n=e();;)try{if(273357===-parseInt(r(116))/1*(-parseInt(r(114))/2)+-parseInt(r(113))/3+parseInt(r(115))/4+-parseInt(r(119))/5+parseInt(r(121))/6*(parseInt(r(118))/7)+-parseInt(r(112))/8*(parseInt(r(111))/9)+parseInt(r(120))/10*(parseInt(r(117))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Y),function(e,t){const r=Z,n=e();for(;;)try{if(554063===parseInt(r(447))/1*(parseInt(r(474))/2)+parseInt(r(395))/3+parseInt(r(485))/4+parseInt(r(461))/5*(-parseInt(r(419))/6)+parseInt(r(423))/7*(-parseInt(r(450))/8)+parseInt(r(466))/9+parseInt(r(412))/10*(-parseInt(r(471))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Q);var ee=(e,t)=>{const r=Z,n=r(426);t&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);const i=function(){const t=r,i=h(e[t(396)],n),s=h(e[t(398)],"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),o=e[t(472)]();return e[t(408)](o,i),e.attachShader(o,s),e[t(424)](o),e[t(448)](o,e[t(490)])?o:(console[t(415)](t(437)+e.getProgramInfoLog(o)),null)}();let s={program:i,attribLocations:{vertexPosition:e[r(462)](i,r(434)),texturePosition:e.getAttribLocation(i,r(488))},uniformLocations:{projectionMatrix:e[r(438)](i,r(428)),modelMatrix:e[r(438)](i,"uModelMatrix"),viewMatrix:e[r(438)](i,"uViewMatrix"),rgbatexture:e[r(438)](i,"rgbaTexture"),ytexture:e[r(438)](i,r(467)),utexture:e.getUniformLocation(i,r(470)),vtexture:e[r(438)](i,r(429)),isyuv:e.getUniformLocation(i,r(460))}},o=function(){const t=r,n=e[t(430)]();e.bindBuffer(e[t(476)],n);e.bufferData(e[t(476)],new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),e.STATIC_DRAW);var i=[];i=i[t(469)]([0,1],[1,1],[1,0],[0,0]);const s=e[t(430)]();e[t(454)](e[t(476)],s),e[t(439)](e[t(476)],new Float32Array(i),e[t(487)]);const o=e[t(430)]();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,o);return e[t(439)](e[t(397)],new Uint16Array([0,1,2,0,2,3]),e[t(487)]),{position:n,texPosition:s,indices:o}}(),a=d(),c=d(),u=d(),l=d();function d(){const t=r;let n=e.createTexture();return e.bindTexture(e[t(483)],n),e.texParameteri(e[t(483)],e.TEXTURE_MAG_FILTER,e[t(433)]),e.texParameteri(e[t(483)],e.TEXTURE_MIN_FILTER,e[t(433)]),e[t(409)](e.TEXTURE_2D,e[t(405)],e.CLAMP_TO_EDGE),e[t(409)](e[t(483)],e[t(458)],e[t(459)]),n}function h(t,n){const i=r,s=e[i(456)](t);return e[i(406)](s,n),e[i(399)](s),e[i(468)](s,e[i(452)])?s:(console[i(415)](i(400)+e[i(443)](s)),e[i(478)](s),null)}function f(t,n){const i=r;e[i(422)](0,0,t,n),e[i(427)](0,0,0,0),e[i(411)](1),e[i(453)](e[i(425)]),e[i(404)](e[i(491)]),e[i(444)](e[i(446)]|e[i(431)]);const a=x[i(418)]();x[i(410)](a,-1,1,-1,1,.1,100);const d=x[i(418)]();x[i(457)](d);const h=x[i(418)]();x[i(473)](h,K[i(441)](0,0,0),K[i(441)](0,0,-1),K[i(441)](0,1,0));{const t=3,r=e.FLOAT,n=!1,a=0,c=0;e.bindBuffer(e[i(476)],o[i(477)]),e[i(484)](s[i(440)].vertexPosition,t,r,n,a,c),e[i(407)](s[i(440)][i(465)])}{const t=2,r=e[i(420)],n=!1,a=0,c=0;e[i(454)](e[i(476)],o[i(463)]),e[i(484)](s.attribLocations[i(416)],t,r,n,a,c),e.enableVertexAttribArray(s[i(440)][i(416)])}e[i(451)](e[i(482)]+3),e[i(401)](e.TEXTURE_2D,c),e.activeTexture(e[i(482)]+4),e[i(401)](e[i(483)],u),e.activeTexture(e[i(482)]+5),e[i(401)](e[i(483)],l),e[i(454)](e[i(397)],o.indices),e[i(432)](s[i(479)]),e[i(436)](s.uniformLocations[i(414)],!1,a),e[i(436)](s[i(486)].modelMatrix,!1,d),e[i(436)](s[i(486)][i(464)],!1,h),e[i(455)](s[i(486)].rgbatexture,2),e.uniform1i(s[i(486)][i(403)],3),e[i(455)](s.uniformLocations.utexture,4),e[i(455)](s.uniformLocations.vtexture,5),e.uniform1i(s[i(486)].isyuv,1);{const t=6,r=e[i(480)],n=0;e[i(475)](e[i(442)],t,r,n)}}return{render:function(t,n,i,s,o){const a=r;e[a(451)](e.TEXTURE0),e[a(401)](e[a(483)],c),e[a(481)](e[a(483)],0,e[a(402)],t,n,0,e.LUMINANCE,e[a(413)],i),e[a(451)](e[a(449)]),e.bindTexture(e[a(483)],u),e[a(481)](e[a(483)],0,e[a(402)],t/2,n/2,0,e[a(402)],e.UNSIGNED_BYTE,s),e[a(451)](e[a(445)]),e[a(401)](e[a(483)],l),e[a(481)](e[a(483)],0,e.LUMINANCE,t/2,n/2,0,e[a(402)],e.UNSIGNED_BYTE,o),f(t,n)},renderYUV:function(t,n,i){const s=r;let o=i.slice(0,t*n),a=i.slice(t*n,t*n*5/4),d=i[s(417)](t*n*5/4,t*n*3/2);e[s(451)](e[s(482)]),e[s(401)](e[s(483)],c),e.texImage2D(e[s(483)],0,e[s(402)],t,n,0,e[s(402)],e[s(413)],o),e.activeTexture(e[s(449)]),e[s(401)](e[s(483)],u),e[s(481)](e[s(483)],0,e[s(402)],t/2,n/2,0,e[s(402)],e[s(413)],a),e[s(451)](e.TEXTURE2),e[s(401)](e[s(483)],l),e[s(481)](e[s(483)],0,e.LUMINANCE,t/2,n/2,0,e[s(402)],e[s(413)],d),f(t,n)},destroy:function(){const t=r;e[t(421)](s.program),e[t(489)](o[t(477)]),e[t(489)](o[t(463)]),e.deleteBuffer(o.indices),e[t(435)](a),e[t(435)](c),e[t(435)](u),e[t(435)](l),s=null,o=null,a=null,c=null,u=null,l=null}}};const te=Fe;!function(e,t){const r=Fe,n=e();for(;;)try{if(478123===parseInt(r(614))/1+-parseInt(r(853))/2+-parseInt(r(843))/3+parseInt(r(631))/4+-parseInt(r(896))/5+parseInt(r(938))/6*(-parseInt(r(829))/7)+parseInt(r(503))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ie);const re={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7};te(891),te(571),te(640),te(649);const ne={fetch:"fetch",hls:"hls",websocket:te(717),webrtc:te(640),webTransport:te(649),worker:"worker",aliyunRtc:te(628),mp4:"mp4"},ie={player:te(704),playerAudio:"playerAudio",playbackTF:te(604),talk:"talk",playVod:"playVod"},se={mp4:te(770),webm:"webm",flv:te(757),mov:"mov"},oe={flv:te(757),m7s:te(752),hls:te(571),webrtc:te(640),webTransport:te(649),nakedFlow:"nakedFlow",fmp4:te(645),mpeg4:te(768),aliyunRtc:"aliyunRtc",ts:"ts",g711:te(617),pcm:te(890)};te(522),te(575),te(889),te(556),te(875),te(490),te(588);te(731),te(610);const ae="wasm",ce=(te(736),te(640),te(571),te(628),{canvas:te(946),video:te(616)}),ue={debug:te(517),warn:"warn"},le={click:"click",mouseDownAndUp:te(549)},de={normal:te(505),simple:te(665)},he={normal:te(505),small:te(586)},fe=te(632),pe=te(733),me=36e5,ve=4080,ye=12;te(677),te(611),te(924);const ge={playIsNotPauseOrUrlIsNull:"播放地址不能为空",webglAlignmentError:te(905),webglContextLostError:te(700),mediaSourceH265NotSupport:te(557),mseSourceBufferFull:te(858),mediaSourceAppendBufferError:"初始化解码器失败",mseSourceBufferError:"解码失败",mseAddSourceBufferError:te(794),mseWorkerAddSourceBufferError:te(794),mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:te(651),mseWidthOrHeightChange:te(651),mediaSourceAudioG711NotSupport:te(702),mediaSourceAudioInitTimeout:"初始化音频解码器失败",mediaSourceAudioNoDataTimeout:te(855),mediaSourceUseCanvasRenderPlayFailed:te(812),mediaSourceBufferedIsZeroError:te(651),webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:te(794),webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:te(548),webcodecsAudioInitTimeout:"初始化音频解码器失败",webcodecsAudioNoDataTimeout:te(855),wcsWidthOrHeightChange:te(548),wasmDecodeError:te(548),simdDecodeError:te(548),wasmWidthOrHeightChange:te(651),wasmUseVideoRenderError:te(716),videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:te(777),networkDelayTimeout:te(532),fetchError:te(772),streamEnd:"请求结束",websocket1006Error:te(608),websocketError:te(772),webrtcError:te(772),hlsError:te(772),decoderWorkerInitError:te(727),decoderWorkerWasmError:te(659),videoElementPlayingFailedForWebrtc:te(716),videoInfoError:"解析视频分辨率失败",webrtcStreamH265:te(594),delayTimeout:te(748),loadingTimeout:te(928),loadingTimeoutRetryEnd:te(928),delayTimeoutRetryEnd:"播放超时重播失败",flvDemuxBufferSizeTooLarge:te(849),audioChannelError:te(724),aliyunRtcError:te(772),mseWaitVideoCanplayTimeout:te(651),initDecoderWorkerTimeout:te(821)},_e={playType:ie[te(704)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:ue[te(550)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:he[te(505)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:te(513),decoderOld:te(597),decoderAudio:te(747),decoderHard:te(636),decoderHardNotWasm:te(535),wasmMp4RecorderDecoder:te(823),decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:te(804),aspectRatio:"default",playbackConfig:{playList:[],fps:"",showControl:!0,controlType:de[te(505)],duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:re[te(891)],demuxType:oe.flv,useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:ae,autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:se[te(770)],checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:te(692),ptzClickType:le[te(909)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:ge,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:ce[te(616)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:te(629),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:te(629),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:te(493),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0};te(833),te(489),te(817),te(930),te(923),te(618),te(619),te(698),te(762),te(696),te(529),te(771),te(504),te(589),te(515),te(919);const be={init:te(664),initVideo:"initVideo",render:te(542),playAudio:te(528),initAudio:te(670),kBps:te(838),decode:te(854),audioCode:"audioCode",audioNalu:te(722),audioAACSequenceHeader:te(539),videoCode:te(602),videoCodec:"videoCodec",videoNalu:te(927),videoPayload:te(719),audioPayload:te(507),wasmError:"wasmError",workerFetch:te(761),iframeIntervalTs:te(567),isDropping:te(516),workerEnd:te(781),networkDelay:te(540),playbackStreamVideoFps:te(841),wasmWidthOrHeightChange:"wasmWidthOrHeightChange",simdDecodeError:te(652),simdH264DecodeVideoWidthIsTooLarge:te(867),websocketOpen:te(796),closeEnd:"closeEnd",tempStream:te(914),videoSEI:"videoSEI",flvScriptData:te(778),aacSequenceHeader:"aacSequenceHeader",videoSequenceHeader:te(885),flvBufferData:te(690),checkFirstIFrame:te(671),mseHandle:te(593),mseFirstRenderTime:te(769),mseError:"mseError",notSupportNewWasm:te(917)};te(680);const we={audio:1,video:2},Se={audio:8,video:9,scriptData:18},Ee={init:te(664),decode:te(854),audioDecode:te(908),videoDecode:"videoDecode",initAudioCodec:te(624),initVideoCodec:te(786),close:te(622),updateConfig:te(932),resetDecode:"resetDecode",clearBuffer:te(626),resetAudioDecode:te(559),resetVideoDecode:te(934),fetchStream:"fetchStream",sendWsMessage:te(707),mseUpdateVideoTimestamp:te(695),playbackIsPause:te(552)};function Ie(){const e=["active","fmp4","volume","webglAlignmentError","buffer","webTransport","videoInfo","流异常","simdDecodeError","message","full","ulaw","occlusionDetectActive","webrtc-disconnected","AAC","wasm解码失败","left-up","aiFaceDetectorInfo","playVodWaiting","fiveMin","init","simple","destroyEnd",'video/mp4;codecs="hev1.4.10.L120.90"',"playVodTime","ttfb","initAudio","checkFirstIFrame","stats","playVodTimeCache","pause","playbackJustTime","blur","/crypto/","mediaSourceUseCanvasRenderPlayFailed","networkDelayTimeout","Invalid NAL unit size","initDecoderWorkerTimeout","timeupdate","base64","leftUp","mediaSourceAudioG711NotSupport","downloadMemoryLog","metadata","mseSourceClose","websocketError","flvBufferData","audioChannelError","vertical","aiImageDetectResult","cruiseStart","mseUpdateVideoTimestamp","isNakedFlow","playback","isFlv","blob","webgl 上下文丢失","MULAW(g711u)","硬解码不支持G711a/u音频格式","buffereos","player","udp","3-4","sendWsMessage","multiMouseover","g711a","talkStreamMsg","sendMessage","H264(AVC)","recordCreateError","NotAllowedError","videoInfoError","video自动渲染失败","websocket","pressureObserverCpu","videoPayload","loadingTimeout","playVodVideoSeekingByMse","audioNalu","jtt","音频通道错误","HEVC decoding is not supported","multiMousemove","初始化worker失败","streamEnd","1-1","wiperOpen","mse","aiObjectDetectorInfo","20240910","playVodCanplay","playbackPrecision","simd","MULAW","buffering","playbackPauseOrResume","ptz","focusNear","remote-inbound-rtp","subtitle-segments","streamVbps","playVodPauseOrResume","aiOcclusionDetectResult","decoder-pro-audio.js","播放超时重播失败","#000","script","talkFailedAndStop","m7s","multiDragstart","streamError","Decoder failure","networkState","flv","performance","playVodRateChange","ws1006","workerFetch","isFmp4","MEDIA_ERR_ABORTED","mp3","multiSelected","playbackPause","media-source","mpeg4","mseFirstRenderTime","mp4","isWebrtc","请求失败","streamDts","wasmWidthOrHeightChange","seeking","playVodSeekEnd","不支持该分辨率的视频","flvScriptData","The user aborted a request","peer-connection","workerEnd","open","progress","webrtcChecking","left-down","initVideoCodec","recordingTimestamp","webFullscreen",'video/mp4;codecs="hev1.1.6.L120.90"',"mediaSourceBufferedIsZeroError","mute","webrtc-completed","play","初始化解码器失败","loadedmetadata","websocketOpen","complete","mseSourceStartStreaming","playVodEndedAndReplay","canplaythrough","zoomExpand","zoomNarrow","videoSEI","none","volumechange","loadingTimeoutRetryEnd","fetchError","MEDIA_ERR_DECODE","aliyunRtcError","resize","multiDrop","MediaSource解码使用canvas渲染失败","websocketClose","playFailedAndPaused","connecting","decoderWorkerInit","isM7sCrypto","streamMessage","start","decoderWorkerInitError","初始化解码worker超时","opus","jessibuca-pro-mp4-recorder-decoder.js","stream","widthOrHeightChange","flvMetaData","readystatechange","MEDIA_ERR_SRC_NOT_SUPPORTED","828338oLyElD","inbound-rtp","fogClose","talkStreamInactive","playType","talkGetUserMediaTimeout","clickInitPlayer","playerAudio","rtp","kBps","rightUp","suspend","playbackStreamVideoFps","oneHour","1431150ejwaJk","webrtcError","playbackRateChange","startstreaming","webcodecsUnsupportedConfigurationError","mediaSourceAppendBufferError","FLV待解封装buffer过大","wcsWidthOrHeightChange","webcodecsAudioInitTimeout","object","1181716ygsiBY","decode","等待音频数据超时","focus","ceil","缓冲区已满","10min","playbackTimestamp","playbackSeek","zooming","wiperClose","right","recording","Cannot call 'decode' on a closed codec","simdH264DecodeVideoWidthIsTooLarge","decoder-pro-audio-player.js","mediaSourceTsIsMaxDiff","websocketMessage","recordEnd","remote-candidate","mseDecodeError","talkStreamClose","Webrtc","waiting","sourcebuffer-created","ratechange","timeUpdate","removeLoadingBgImage","talkStreamOpen","hls-level-loaded","playbackStats","playbackEnd","videoSequenceHeader","streamQualityChange","stalled","webrtcCompleted","FMP4","pcm","fetch","playVodMp4Error","playbackTime","webrtc-checking","audioResumeState","2947520VPezjn","viewResizeChange","fetchClose","notConnect","videoSmooth","loading","mseSourceOpen","delayTimeoutRetryEnd","visibilityHiddenTimeout","Webgl 渲染失败","alaw","five-min","audioDecode","click","delta","MEDIA_ERR_NETWORK","mediaSourceAudioInitTimeout","Decoder error","tempStream","webrtc-connected","streamAbps","notSupportNewWasm","window","isTs","multiMouseup","videoSEISyncPts","webrtcConnected","pauseAndNextPlayUseLastFrameShow","jbprovm","sourceopen","webrtcStreamH265","videoNalu","加载超时重播失败","4-1","supportHls265","multiMousedown","updateConfig","mp4Error","resetVideoDecode","stop","A key frame is required after configure() or flush()","mediaSourceH265NotSupport","18NUubrr","videoElementPlayingFailed","down","fiStop","playVodSeek","g711u","webrtcClosed","multiDblSelected","canvas","netBuf","cruiseStop","wasmUseVideoRenderError","webgl2","isMulti","WebTransport","worklet","mseAddSourceBufferError","red","Decoding error","right-up","fullscreen$2","audioInfo","ALAW","paused","focusFar","tcp","MP3","12314952BMuaFn","isWebrtcForZLM","normal","closed","audioPayload","load-start","webglContextLostError","no-audio-track",'video/mp4; codecs="avc1.64002A"',"load-retry","decoder-pro.js","one-hour","isAliyunRtc","isDropping","debug","recordStart","webcodecsAudioNoDataTimeout","delayTimeout","speed","FLV","visibilityChange","recordBlob","subtitle-playlist","play() failed because the user didn't interact with the document first","webrtcOnIceConnectionStateChange","playAudio","isHls","playIsNotPauseOrUrlIsNull","qualitychange","网络超时重播失败","hevc","imageDetectActive","decoder-pro-hard-not-wasm.js","webcodecsDecodeError","websocket1006Error","webrtc-failed","audioAACSequenceHeader","networkDelay",'video/mp4;codecs="hev1.3.E.L120.90"',"render","durationchange","switch-url-success","playVodVideoSeekedByMse","playbackShowPrecisionChange","image/jpeg","解码失败","mouseDownAndUp","warn","left","playbackIsPause","webrtcOnConnectionStateChange","crashLog","#343434","MPEG4","不支持硬解码H265","metadata-parsed","resetAudioDecode","H265(HEVC)","mseWorkerAddSourceBufferError","beforeDestroy","tenMin","Unsupported configuration","multiDragenter","right-down","iframeIntervalTs","flv-script-data","webrtcDisconnect","avc","hls","image/png","mseSourceBufferBusy","playbackTimeScroll","M7S","idle","currentPts","ended","online","destroy","local-candidate","apertureNear","videoTimeUpdate","fogOpen","download","small","half-hour","AliyunRtc","isWebrtcForOthers","webrtcFailed","hlsError","global","mseHandle","webrtc不支持H265","canplay","receiver","decoder-pro-old.js","sourceclose","5min","endstreaming","image/webp","videoCode","flvDemuxBufferSizeTooLarge","playbackTF","playVodEnded","mseSourceBufferFull","error","流异常结束","playToRenderTimes","wcs","jbprov","3-1","empty","489545fmPKTX","talkStreamError","video","g711","widthOrHeightChangeReplayDelayTime","controlSize","playing","timeout","close","outbound-rtp","initAudioCodec","stream-parsed","clearBuffer","webgpu","aliyunRtc","white","webcodecs","1846492tzekfI","JessibucaPro","mseSourceended",'video/mp4;codecs="hev1.2.4.L120.90"',"#FFCC00","decoder-pro-hard.js","halfHour","load","remove-buffer","webrtc","rightDown","video decoder initialization failed","mseWidthOrHeightChange"];return(Ie=function(){return e})()}te(891),te(580),te(648),te(898),te(891),te(711),te(580),te(666),te(648),te(689),te(813),te(796);const ke={fullscreen:te(496),webFullscreen:te(788),decoderWorkerInit:te(816),play:te(793),playing:te(620),pause:te(674),mute:te(791),load:"load",loading:te(901),zooming:te(862),drawingRect:"drawingRect",drawingRectInfo:"drawingRectInfo",videoInfo:te(650),timeUpdate:te(879),audioInfo:"audioInfo",log:"log",error:te(607),kBps:te(838),timeout:te(621),delayTimeout:te(520),delayTimeoutRetryEnd:"delayTimeoutRetryEnd",loadingTimeout:te(720),loadingTimeoutRetryEnd:"loadingTimeoutRetryEnd",stats:"stats",performance:"performance",videoSmooth:te(900),faceDetectActive:"faceDetectActive",objectDetectActive:"objectDetectActive",occlusionDetectActive:te(656),imageDetectActive:te(534),record:"record",recording:te(865),recordingTimestamp:te(787),recordStart:te(518),recordEnd:te(871),recordCreateError:te(713),recordBlob:"recordBlob",recordCancel:"recordCancel",buffer:te(648),videoFrame:"videoFrame",videoSEI:te(803),videoSEISyncPts:"videoSEISyncPts",start:te(819),metadata:te(687),resize:te(810),volumechange:te(805),volume:te(646),destroy:te(580),beforeDestroy:te(562),streamEnd:te(728),streamRate:"streamRate",streamAbps:te(916),streamVbps:te(744),streamDts:te(773),streamSuccess:"streamSuccess",streamMessage:te(818),streamError:te(754),streamStats:"streamStats",streamEndInner:"streamEndInner",mseSourceOpen:te(902),mseSourceClose:te(688),mseSourceended:te(633),mseSourceStartStreaming:te(798),mseSourceEndStreaming:"mseSourceEndStreaming",mseSourceBufferError:"mseSourceBufferError",mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:te(561),mseSourceBufferBusy:te(573),mseSourceBufferFull:"mseSourceBufferFull",videoWaiting:"videoWaiting",videoTimeUpdate:te(583),videoSyncAudio:"videoSyncAudio",playToRenderTimes:te(609),playbackTime:te(893),playbackTimestamp:te(860),playbackTimeScroll:te(574),playbackPrecision:te(735),playbackShowPrecisionChange:te(546),playbackJustTime:te(675),playbackStats:te(883),playbackSeek:te(861),playbackPause:te(766),playbackPauseOrResume:te(739),playbackRateChange:"playbackRateChange",playbackPreRateChange:"playbackPreRateChange",playbackEnd:te(884),playVodStats:"playVodStats",playVodPause:"playVodPause",playVodPauseOrResume:te(745),playVodRateChange:te(759),playVodTime:te(668),playVodTimeCache:te(673),playVodSeek:te(942),playVodSeekEnd:te(776),playVodVideoSeekingByMse:te(721),playVodVideoSeekedByMse:te(545),playVodCanplay:te(734),playVodWaiting:te(662),playVodEndedAndReplay:te(799),playVodEnded:te(605),ptz:te(740),streamQualityChange:te(886),visibilityChange:te(523),netBuf:te(947),close:"close",networkDelayTimeout:te(679),togglePerformancePanel:"togglePerformancePanel",viewResizeChange:te(897),flvDemuxBufferSizeTooLarge:te(603),talkGetUserMediaSuccess:"talkGetUserMediaSuccess",talkGetUserMediaFail:"talkGetUserMediaFail",talkGetUserMediaTimeout:te(834),talkStreamStart:"talkStreamStart",talkStreamOpen:te(881),talkStreamClose:te(874),talkStreamError:te(615),talkStreamInactive:te(832),talkStreamMsg:"talkStreamMsg",webrtcDisconnect:te(569),webrtcFailed:te(590),webrtcClosed:"webrtcClosed",webrtcChecking:te(784),webrtcConnected:te(922),webrtcCompleted:te(888),webrtcOnConnectionStateChange:te(553),webrtcOnIceConnectionStateChange:te(527),crashLog:"crashLog",focus:te(856),blur:te(676),inView:"inView",visibilityHiddenTimeout:te(904),websocketOpen:te(796),websocketClose:te(813),websocketError:te(689),websocketMessage:te(870),aiObjectDetectorInfo:te(732),aiFaceDetectorInfo:te(661),aiOcclusionDetectResult:te(746),aiImageDetectResult:te(693),playFailedAndPaused:te(814),audioResumeState:te(895),webrtcStreamH265:te(926),flvMetaData:te(826),talkFailedAndStop:te(751),removeLoadingBgImage:te(880),memoryLog:"memoryLog",downloadMemoryLog:te(686),pressureObserverCpu:te(718),currentPts:"currentPts",online:te(579),offline:"offline",networkState:"networkState",clickInitPlayer:te(835)};te(879),te(497),te(607),te(838),te(621),te(720),te(806),te(520),te(674),te(791),te(758),te(787),te(518),te(713),te(524),te(609),te(861),te(883),te(860),te(739),te(845),te(546),te(884),te(605),te(745),te(759),te(668),te(776),te(740),te(886),te(554),te(856),te(676),te(904),te(523),te(796),te(813),te(679),te(732),te(661),te(693),te(814),te(895),te(921),te(826),te(553),te(527),te(577),te(900),te(756),te(615),te(832),te(834),te(751),te(710),te(638),te(879),te(497),te(607),te(838),te(819),te(720),te(806),te(520),te(903),te(793),te(672),te(554),te(796),te(813),te(814);const Ae={talkStreamError:ke[te(615)],talkStreamClose:ke.talkStreamClose},Ce={playError:te(530),fetchError:te(807),websocketError:te(689),webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsDecodeError:te(536),webcodecsUnsupportedConfigurationError:te(847),webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:te(851),webcodecsAudioNoDataTimeout:te(519),mediaSourceH265NotSupport:te(937),mediaSourceAudioG711NotSupport:te(685),mediaSourceAudioInitTimeout:te(912),mediaSourceAudioNoDataTimeout:"mediaSourceAudioNoDataTimeout",mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:ke[te(606)],mseSourceBufferError:ke.mseSourceBufferError,mseAddSourceBufferError:ke[te(492)],mseWorkerAddSourceBufferError:ke[te(561)],mediaSourceAppendBufferError:te(848),mediaSourceTsIsMaxDiff:te(869),mediaSourceUseCanvasRenderPlayFailed:te(678),mediaSourceBufferedIsZeroError:te(790),wasmDecodeError:"wasmDecodeError",wasmUseVideoRenderError:te(487),simdH264DecodeVideoWidthIsTooLarge:te(867),simdDecodeError:te(652),hlsError:te(591),webrtcError:te(844),webrtcClosed:ke[te(944)],webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:te(647),wasmWidthOrHeightChange:te(774),mseWidthOrHeightChange:te(643),wcsWidthOrHeightChange:te(850),widthOrHeightChange:te(825),tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:ke.flvDemuxBufferSizeTooLarge,audioChannelError:te(691),webglContextLostError:te(509),videoElementPlayingFailed:te(939),videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:te(820),decoderWorkerWasmError:"decoderWorkerWasmError",videoInfoError:te(715),streamEnd:ke[te(728)],websocket1006Error:te(537),delayTimeout:ke[te(520)],loadingTimeout:ke[te(720)],networkDelayTimeout:ke.networkDelayTimeout,fullscreenError:"fullscreenError",aliyunRtcError:te(809),mseWaitVideoCanplayTimeout:"mseWaitVideoCanplayTimeout",initDecoderWorkerTimeout:te(681),notSupportNewWasm:te(917),playVodMp4Error:te(892),mp4Error:te(933),...Ae};te(899),te(782),te(622),te(607);const xe=1;te(654),te(585),te(683),te(585),te(699),te(712),te(560);const Te={h264:7,h265:12,mpeg4:99},De={h264:te(712),h265:te(560)},Pe={AAC:10,ALAW:7,MULAW:8,MP3:2};te(658),te(701),te(502),te(658),te(498),te(737),te(502);const Be={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Me={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40};function Fe(e,t){const r=Ie();return(Fe=function(e,t){return r[e-=487]})(e,t)}te(630),te(488),te(627),te(731);const Ue={key:"key",delta:te(910)},Re={avc:te(511),hev:'video/mp4; codecs="hev1.1.6.L123.b0"',hev2:te(789),hev3:te(634),hev4:te(541),hev5:te(667)},Le={ended:te(578),open:te(782),closed:te(506)};Math[te(857)](40),te(842),te(563),te(663),te(514),te(587),te(907),te(859),te(599),te(842),te(637),te(563),te(663),te(864),te(551),te(660),te(495),te(785),te(566),te(864),te(940),te(551),te(684),te(839),te(641),te(935),te(941),te(801),te(802),te(582),te(500),te(741),te(694),te(948),te(584),te(831),te(730),te(863);te(943),te(890),te(822);te(572),te(547),te(601);const Oe={sourceClose:te(598),sourceOpen:te(925),sourceended:"sourceended",startstreaming:te(846),endstreaming:te(600),qualitychange:te(531)};te(876),te(887),te(783),te(795);const ze={h264:te(570),h265:te(533)};te(936),te(866),te(564),te(755),te(494),te(913),te(725);const Ne={abortError:te(779),abortError2:"AbortError",abort:"AbortError"};te(901),te(620),te(499),te(580);const je={sequenceHeader:0,nalu:1},He=1;te(613),te(837),te(723),te(501),te(705);te(824),te(697),te(622),te(607),te(653);te(491),te(750);te(709),te(837),te(501),te(550),te(491),te(750),te(644),te(555),te(635),te(749),te(945),te(765),te(708),te(920),te(931),te(726),te(753),te(565),te(811),te(612),te(929),te(729),te(706);const Ve={keyFrame:1,interFrame:2};te(836),te(550),te(757),te(868),te(743),te(882),te(568),te(558),te(669),te(512),te(508),te(521),te(510),te(639),te(703),te(877),te(544),te(525),te(625),te(607);const We={idle:te(576),connecting:te(815),buffering:te(738),error:"error",complete:te(797)};te(763),te(911),te(808),te(828),te(642),te(526),te(714);const $e={video:1,audio:2},Ge=128,qe={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Xe={FT_KEY:16,FT_INTER:32};te(830),te(581),te(623),te(780),te(596),te(872),te(742),te(767),te(760),te(873),te(655),te(906),te(764),te(894),te(915),te(792),te(657),te(538),te(901);const Ke=typeof window===te(852)&&window[te(918)]===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global[te(592)]===global?global:void 0;te(595),te(800),te(797),te(543),te(578),te(607),te(620),te(878),te(775),te(887),te(840),te(682),te(876),te(827),te(607);var Ye="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Je(e,t){return e(t={exports:{}},t.exports),t.exports}var Ze=Object.freeze({__proto__:null,commonjsGlobal:Ye,commonjsRequire:function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")},unwrapExports:function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e},createCommonjsModule:Je,getCjsExportFromNamespace:function(e){return e&&e.default||e}}),Qe=et;function et(e,t){var r=tt();return(et=function(e,t){return r[e-=186]})(e,t)}function tt(){var e=["6412131fOduGj","fullscreenerror","then","webkitRequestFullScreen","4504mvbqDz","fullscreenElement","webkitfullscreenchange","mozfullscreenerror","mozRequestFullScreen","defineProperties","1364315wVfjhA","screenfull","change","mozCancelFullScreen","1397504MmpPzs","undefined","webkitFullscreenElement","createCommonjsModule","webkitFullscreenEnabled","webkitCurrentFullScreenElement","webkitRequestFullscreen","isFullscreen","msExitFullscreen","mozfullscreenchange","exports","fullscreenchange","MSFullscreenChange","bind","6ktmLmy","catch","49bWzSXE","3446130Tpfrgt","msRequestFullscreen","error","object","exit","webkitExitFullscreen","fullscreenEnabled","webkitfullscreenerror","120390vpqMVE","removeEventListener","exitFullscreen","webkitCancelFullScreen","document","1043363YmKwPH","off","length","2ipGdqs"];return(tt=function(){return e})()}function rt(e,t){const r=st();return(rt=function(e,t){return r[e-=208]})(e,t)}!function(e,t){for(var r=et,n=e();;)try{if(562815===parseInt(r(220))/1+-parseInt(r(223))/2*(parseInt(r(215))/3)+-parseInt(r(190))/4+-parseInt(r(186))/5*(-parseInt(r(204))/6)+parseInt(r(206))/7*(parseInt(r(228))/8)+-parseInt(r(224))/9+parseInt(r(207))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(tt),Ze[Qe(193)]((function(e){var t,r,n,i,s,o;t=et,r=typeof window!==t(191)&&typeof window.document!==t(191)?window[t(219)]:{},n=t(210)!==t(191)&&e[t(200)],i=function(){for(var e,n=t,i=[["requestFullscreen",n(217),n(229),n(213),n(201),n(225)],[n(196),n(212),n(192),n(194),n(230),"webkitfullscreenerror"],[n(227),n(218),n(195),n(218),n(230),n(214)],[n(232),n(189),"mozFullScreenElement","mozFullScreenEnabled",n(199),n(231)],[n(208),n(198),"msFullscreenElement","msFullscreenEnabled",n(202),"MSFullscreenError"]],s=0,o=i[n(222)],a={};s32&&console[t(230)](t(225)),e<=this[t(211)]){let r=this[t(219)]>>>32-e;return this._current_word<<=e,this[t(211)]-=e,r}let r=this._current_word_bits_left?this._current_word:0;r>>>=32-this[t(211)];let n=e-this[t(211)];this._fillCurrentWord();let i=Math[t(228)](n,this[t(211)]),s=this[t(219)]>>>32-i;return this[t(219)]<<=i,this[t(211)]-=i,r=r<>>t))return this[e(219)]<<=t,this[e(211)]-=t,t;return this[e(233)](),t+this._skipLeadingZero()}readUEG(){let e=this[nt(212)]();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}function st(){const e=["2229594WKHJIy","set","837215kfntVc","readByte","2sLaqwU","1174839ZkluaZ","_current_word_bits_left","_skipLeadingZero","_total_bytes","_buffer","8Rpgswv","_total_bits","6400180XfJspM","_buffer_index","_current_word","37622oTFDJj","readBits","7PNlRdr","buffer","subarray","ExpGolomb: readBits() bits exceeded max 32bits!","destroy","2721699gVYksk","min","byteLength","error","ExpGolomb: _fillCurrentWord() but no bytes available","3049760UYxPQw","_fillCurrentWord"];return(st=function(){return e})()}const ot=lt;function at(){const e=["bufoff","allStreamsSameTimeFraming zero is Not Supported","byteLength","56CZkIDy","getIncompleteData","Flv: AAC invalid sampling frequency index!","error","readBits","buffer","79140fsNRJQ","has_last_incomplete_data","findNextSyncwordOffset","13914yNqjyt","readBool","read_golomb","306hmEakK","bufpos","mp4a.40.2","53MWtaWO","android","length","aac","data_","sequenceHeader","eof_flag_","sampling_index","33uizVid","aacEncoderConfigurationRecord","data","firefox","more than 2 numSubFrames Not Supported","Could not found ADTS syncword until payload end","iserro","audioMuxVersionA is Not Supported","object_type","log","read","subarray","sample_rate","8yKvRaY","channel: ","readByte","navigator","slice","push","other_data_present","destroy","hasIncompleteData","41248vuCwZo","channel_config","sbr","unshift","userAgent","3192300ydmhWI","ext_object_type","445452qcnRXS","indexOf","toLowerCase","1313540TIUrvf","audio_object_type","current_syncword_offset_","sampling_freq_index","sampleRate: ","frameLengthType = ","getLATMValue","sampling_frequency","buflen","chan_config","set","245529lUVMSd","Invalid sampling index: ","AAC","readNextAACFrame","2236uhjXuJ","channels","mp4a.40."];return(at=function(){return e})()}!function(e,t){const r=lt,n=e();for(;;)try{if(404463===-parseInt(r(235))/1*(parseInt(r(229))/2)+parseInt(r(286))/3*(parseInt(r(256))/4)+parseInt(r(270))/5+parseInt(r(272))/6*(-parseInt(r(220))/7)+-parseInt(r(265))/8*(parseInt(r(232))/9)+-parseInt(r(275))/10*(parseInt(r(243))/11)+parseInt(r(226))/12*(parseInt(r(290))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(at);const ct=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],ut=ct;function lt(e,t){const r=at();return(lt=function(e,t){return r[e-=217]})(e,t)}const dt=ct;function ht(e){let{profile:t,sampleRate:r,channel:n}=e;return new Uint8Array([175,0,t<<3|(14&r)>>1,(1&r)<<7|n<<3])}function ft(e){const t=lt;return pt(e)&&e[1]===je[t(240)]}function pt(e){const t=lt;return e[0]>>4===Pe[t(288)]}const mt=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function vt(e){const t=lt;let r=new Uint8Array(e),n=null,i=0,s=0,o=0,a=null;if(i=s=r[0]>>>3,o=(7&r[0])<<1|r[1]>>>7,o<0||o>=mt[t(237)])return void console[t(223)](t(222));let c=mt[o],u=(120&r[1])>>>3;if(u<0||u>=8)return void console[t(252)]("Flv: AAC invalid channel configuration");5===i&&(a=(7&r[1])<<1|r[2]>>>7,r[2]);let l=Ke[t(259)][t(269)][t(274)]();return-1!==l[t(273)](t(246))?o>=6?(i=5,n=new Array(4),a=o-3):(i=2,n=new Array(2),a=o):-1!==l.indexOf(t(236))?(i=2,n=new Array(2),a=o):(i=5,a=o,n=new Array(4),o>=6?a=o-3:1===u&&(i=2,n=new Array(2),a=o)),n[0]=i<<3,n[0]|=(15&o)>>>1,n[1]=(15&o)<<7,n[1]|=(15&u)<<3,5===i&&(n[1]|=(15&a)>>>1,n[2]=(1&a)<<7,n[2]|=8,n[3]=0),{audioType:t(238),config:n,sampleRate:c,channelCount:u,objectType:i,codec:"mp4a.40."+i,originalCodec:t(292)+s}}ot(253),ot(231);class yt{constructor(e){const t=ot;this[t(239)]=e,this[t(241)]=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this[t(241)]&&console[t(223)](t(248))}[ot(228)](e){const t=ot;let r=e,n=this.data_;for(;;){if(r+7>=n[t(219)])return this[t(241)]=!0,n[t(219)];if(4095===(n[r+0]<<8|n[r+1])>>>4)return r;r++}}[ot(289)](){const e=ot;let t=this[e(239)],r=null;for(;null==r&&!this[e(241)];){let n=this[e(277)],i=(8&t[n+1])>>>3,s=(6&t[n+1])>>>1,o=1&t[n+1],a=(192&t[n+2])>>>6,c=(60&t[n+2])>>>2,u=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>>5;if(t[n+6],n+l>this.data_.byteLength){this[e(241)]=!0,this[e(227)]=!0;break}let d=1===o?7:9,h=l-d;n+=d;let f=this[e(228)](n+h);if(this[e(277)]=f,0!==i&&1!==i||0!==s)continue;let p=t[e(254)](n,n+h);r={},r[e(276)]=a+1,r[e(278)]=c,r[e(282)]=ut[c],r[e(266)]=u,r[e(245)]=p}return r}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){const e=ot;return this.has_last_incomplete_data?this[e(239)].subarray(this[e(277)]):null}}class gt{constructor(e){const t=ot;this.data_=e,this[t(241)]=!1,this[t(277)]=this[t(228)](0),this[t(241)]&&console[t(223)](t(248))}[ot(228)](e){const t=ot;let r=e,n=this[t(239)];for(;;){if(r+1>=n[t(219)])return this[t(241)]=!0,n[t(219)];if(695===(n[r+0]<<3|n[r+1]>>>5))return r;r++}}[ot(281)](e){const t=ot;let r=e[t(224)](2),n=0;for(let i=0;i<=r;i++)n<<=8,n|=e[t(258)]();return n}[ot(289)](e){const t=ot;let r=this[t(239)],n=null;for(;null==n&&!this.eof_flag_;){let i=this[t(277)],s=(31&r[i+1])<<8|r[i+2];if(i+3+s>=this.data_.byteLength){this[t(241)]=!0,this[t(227)]=!0;break}let o=new it(r.subarray(i+3,i+3+s)),a=null;if(o.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this[t(277)]=this[t(228)](i+3+s),o[t(263)]();continue}a=e}else{let e=o.readBool();if(e&&o[t(230)]()){console[t(223)](t(250)),o.destroy();break}if(e&&this.getLATMValue(o),!o[t(230)]()){console[t(223)](t(218)),o[t(263)]();break}if(0!==o[t(224)](6)){console[t(223)](t(247)),o[t(263)]();break}if(0!==o[t(224)](4)){console[t(223)]("more than 2 numProgram Not Supported"),o.destroy();break}if(0!==o[t(224)](3)){console[t(223)]("more than 2 numLayer Not Supported"),o[t(263)]();break}let r=e?this.getLATMValue(o):0,n=o.readBits(5);r-=5;let i=o.readBits(4);r-=4;let s=o[t(224)](4);r-=4,o[t(224)](3),r-=3,r>0&&o[t(224)](r);let c=o.readBits(3);if(0!==c){console[t(223)](t(280)+c+". Only frameLengthType = 0 Supported"),o.destroy();break}o.readByte();let u=o[t(230)]();if(u)if(e)this[t(281)](o);else{let e=0;for(;;){e<<=8;let r=o[t(230)]();if(e+=o.readByte(),!r)break}console[t(252)](e)}o[t(230)]()&&o[t(258)](),a={},a.audio_object_type=n,a[t(278)]=i,a[t(282)]=ut[a[t(278)]],a[t(266)]=s,a[t(262)]=u}let c=0;for(;;){let e=o[t(258)]();if(c+=e,255!==e)break}let u=new Uint8Array(c);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[r]<<24>>>0)+(e[r+1]<<16)+(e[r+2]<<8)+(e[r+3]||0)}function wt(e){const t=Et;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e[t(260)]<4)return[];const n=e[t(260)],i=[];let s,o=0;for(;o+r>>=8),o+=r,s){if(o+s>n)break;i[t(256)](e[t(257)](o,o+s)),o+=s}return i}function St(e,t){const r=Et,n=e[r(260)];let i=t?2:1,s=0,o=0,a="";for(;255===e[i];)s+=255,i++;for(s+=e[i++];255===e[i];)o+=255,i++;if(o+=e[i++],5===s&&n>i+16)for(let t=0;t<16;t++)a+=e[i][r(255)](16),i++;return{payload:e[r(257)](i),type:s,size:o,uuid:a}}function Et(e,t){const r=_t();return(Et=function(e,t){return r[e-=247]})(e,t)}function It(e){const t=Et,r=e.byteLength,n=new Uint8Array(4);n[0]=r>>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r;const i=new Uint8Array(r+4);return i[t(258)](n,0),i[t(258)](e,4),i}function kt(e,t){let r=null;return t?e.length>=28&&(r=1+(3&e[26])):e.length>=12&&(r=1+(3&e[9])),r}!function(e,t){const r=Et,n=e();for(;;)try{if(915576===-parseInt(r(265))/1+parseInt(r(250))/2*(-parseInt(r(263))/3)+-parseInt(r(251))/4+parseInt(r(261))/5+parseInt(r(262))/6*(parseInt(r(249))/7)+parseInt(r(254))/8*(parseInt(r(248))/9)+-parseInt(r(259))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_t);const At=Nt;function Ct(){const e=["application/hwepass2001.installepass2001","createBuffer","pointer-events: none !important; display: block !important","Chrome","wow32","copyright","createObjectURL",";base64","createEvent","match","clientX","px Arial","pathname","RIFF","click","strokeRect","WAVE","pageY","webgl2","VideoEncoder is not supported","msGetUserMedia","drawImage","hev5","port","none","fillText","QihooBrowser","log","-webkit-user-select","win64","Safari","trim","getFullYear","div","13448391jcimDp","parse","craNut",'"9-21-2024"',"100%","data","textAlign","useOffscreen","0 KB/s","location","427xyJagJ","resume","dataset","avc1.","shadowRoot","apply","document","Instance","39YqJOBC","search","14890GIOBZU","application/javascript","call","getHours","webkitGetUserMedia","slice","ALAW","quality","isConfigSupported","save","setUint8","onload","h265","MediaSource","transferControlToOffscreen","firefox","width","join","content","strokeStyle","webkitFullscreenElement","origin","VideoDecoder","Worker","string","connect","webkit-3d","setUint16","style","color","zIndex","Opera","initEvent","win32","-o-user-select","performance","font","scrollLeft","substring","-ms-user-select","nLp","hev4","children","max","360SE","QHBrowser","Edge","target","{y}-{m}-{d} {h}:{i}:{s}","imageSmoothingQuality","top","length","-webkit-touch-callout","safari","insertBefore","numberOfFrames","13424oLdoEY","GB/s","fontSize","setUint32","MULAW","toDataURL","10xxiHTj","not compiled with thread support","mousemove","WebGL2RenderingContext","showModalDialog","edge","split","documentElement","touchstart","function","angle","absolute","AAC","MediaStreamTrackGenerator","ActiveXObject",'"2.0.0"',"user-select","appendChild","supported","imageSmoothingEnabled","100","getMinutes","touches","block","sps","set","addModule","URL","toLowerCase","pow","setAttribute","container","4974vSxvox","repeat","moz-webgl","borderWidth","getImageData","position","hostname","paused","stringify","application/vnd.chromium.remoting-viewer","borderStyle","scrollTop","download","fromCharCode","9999999","data-","fmt ","readAsArrayBuffer","canConstructInDedicatedWorker","green","image","href","revokeObjectURL","validate","src","hev3","0 Bytes","atob","application/360softmgrplugin","removeChild","getTime",'video/mp4; codecs="',"gpu","-moz-user-select","PressureObserver","hev","getUserMedia","contain","isTypeSupported","chrome","borderColor","userAgent","line","push","4295808qLcBzR","random","subarray","filter","toString","left","AudioData","keys","iFrame","pageX","Reserved SBR extensions is not implemented","#000","fontFamily","hev2","mimeTypes","pps","[object DOMException]","true","start","getContext","clientY","rgba(0,0,0,0)","VideoFrame","requestVideoFrameCallback","YB/s","html","h264","assign","createBufferSource","Module","forEach","data:","onerror","webm","version","KB/s","test","mousedown","charAt","mseDecodeAudio","height","1171072Xqgbwb","body","overflow","solid","ManagedMediaSource","createTextNode","https:","360","Firefox","objectFit","event","replace","createElement","localhost","fillStyle","hash","MB/s","right","host","toFixed","now","floor","MediaStream","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","hidden","Anonymous","createImageBitmap","canvas","setInt16","419635JsYXBm","getDay","charCodeAt","rect","putImageData","xxxx","demuxUseWorker","removeAttribute","ZB/s","substr","getAttribute","getPropertyValue","img","not compiled with thread support, using thread emulation","min","failed to asynchronously prepare wasm","experimental-webgl","audioWorklet","toUpperCase","mediaDevices","MouseEvents","If you want to help, upload a sample of this file to","attachShadow","round","msFullscreenElement","prototype","status","instantiate","indexOf","webgl","byteLength","bottom","file","display","useWCS","undefined","getParameter","useMSE","[object Error]","type","error","restore","setInt8","lineWidth","setHours","mouseup","AudioDecoder","navigator","2975ocaHDU","text","format","backgroundColor","protocol","open","touchmove","object"];return(Ct=function(){return e})()}function xt(){const e=Nt;return(new Date)[e(470)]()}function Tt(e,t,r){const n=Nt;return Math.max(Math[n(568)](e,Math[n(707)](t,r)),Math[n(568)](t,r))}function Dt(){const e=Nt;return performance&&typeof performance.now===e(735)?performance[e(545)]():Date[e(545)]()}function Pt(e){let t=0,r=Dt();return n=>{if(!function(e){const t=At;return"[object Number]"===Object.prototype[t(488)][t(666)](e)}(n))return;t+=n;const i=Dt(),s=i-r;s>=1e3&&(e(t/s*1e3),r=i,t=0)}}!function(e,t){const r=Nt,n=e();for(;;)try{if(324290===-parseInt(r(554))/1+parseInt(r(664))/2*(parseInt(r(662))/3)+parseInt(r(525))/4+-parseInt(r(602))/5*(parseInt(r(440))/6)+parseInt(r(654))/7*(parseInt(r(720))/8)+-parseInt(r(484))/9+parseInt(r(726))/10*(parseInt(r(644))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ct),(()=>{const e=Nt;try{if(typeof WebAssembly===e(609)&&typeof WebAssembly[e(581)]===e(735)){const t=new(WebAssembly[e(513)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly[e(513)])return new(WebAssembly[e(661)])(t)instanceof WebAssembly.Instance}}catch(e){}})();const Bt=At(741),Mt=At(647);function Ft(e){return null==e}function Ut(e){return!Ft(e)}function Rt(e){return typeof e===At(735)}function Lt(e){const t=At;let r=null,n=31&e[0];return(n===Be[t(750)]||n===Be[t(499)])&&(r=De[t(510)]),!r&&(n=(126&e[0])>>1,(n===Me.vps||n===Me[t(750)]||n===Me.pps)&&(r=De[t(676)])),r}function Ot(){return typeof WritableStream!==At(589)}function zt(e){e.close()}function Nt(e,t){const r=Ct();return(Nt=function(e,t){return r[e-=434]})(e,t)}function jt(e,t){const r=At;t&&(e=e.filter((e=>e[r(593)]&&e[r(593)]===t)));let n=e[0],i=null,s=1;if(e[r(715)]>0){let t=e[1];t&&t.ts-n.ts>1e5&&(n=t,s=2)}if(n)for(let o=s;o=1e3){e[o-1].ts-n.ts<1e3&&(i=o+1)}}}return i}function Ht(e){const t=At;return e.ok&&e[t(580)]>=200&&e[t(580)]<=299}function Vt(){return function(e){const t=At;let r="";if("object"==typeof e)try{r=JSON[t(448)](e),r=JSON[t(645)](r)}catch(t){r=e}else r=e;return r}(_e)}function Wt(e){return e[0]>>4===He&&e[1]===je.sequenceHeader}function $t(e){return!0===e||e===At(501)}function Gt(e){return!0!==e&&e!==At(501)}function qt(){const e=At;return!!(Ke[e(687)]&&Ke[e(677)]&&e(458)in Ke[e(677)]&&!0===Ke.MediaSource[e(458)])}function Xt(e,t){const r=At,n=wt(e[r(669)](5));let i=!1;return n[r(514)]((e=>{const n=r,s=t?e[0]>>>1&63:31&e[0];(t&&(s===Me.iFrame||s===Me[n(704)]||s===Me[n(646)])||Gt(t)&&s===Be[n(492)])&&(i=!0)})),i}const Kt=Yt;function Yt(e,t){const r=tr();return(Yt=function(e,t){return r[e-=163]})(e,t)}!function(e,t){const r=Yt,n=e();for(;;)try{if(524713===-parseInt(r(194))/1*(parseInt(r(208))/2)+-parseInt(r(176))/3*(-parseInt(r(170))/4)+parseInt(r(175))/5+parseInt(r(181))/6+parseInt(r(172))/7*(-parseInt(r(191))/8)+-parseInt(r(177))/9+-parseInt(r(192))/10*(-parseInt(r(168))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(tr);var Jt=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){const o=Yt;function a(e){const t=Yt;try{u(n[t(171)](e))}catch(e){s(e)}}function c(e){const t=Yt;try{u(n[t(166)](e))}catch(e){s(e)}}function u(e){const t=Yt;var n;e[t(205)]?i(e[t(169)]):(n=e[t(169)],n instanceof r?n:new r((function(e){e(n)})))[t(184)](a,c)}u((n=n[o(196)](e,t||[]))[o(171)]())}))};const Zt=Symbol(32),Qt=Symbol(16),er=Symbol(8);function tr(){const e=["pull","33xWDXFI","value","4Aegbwi","next","21rkkARU","need","__awaiter","3543025IKmaon","1106517FKwzFa","6837318AqTIWX","readU16","subarray","setG","4984560YKpEdC","length","writeU8","then","lastReadPromise","byteOffset","U32","demand","U16","malloc","2488760PSHuZF","2320830OusCsu","number","1VGrtMs","read","apply","call","consumed","set","reject","Unsupported type","writeU16","return","copyWithin","done","buffer","flush","773506YzSNTE","close","consume","resolve","byteLength","throw"];return(tr=function(){return e})()}class rr{constructor(e){const t=Kt;this.g=e,this[t(198)]=0,e&&(this[t(173)]=e[t(171)]()[t(169)])}[Kt(180)](e){const t=Kt;this.g=e,this[t(188)](e[t(171)]()[t(169)],!0)}consume(){const e=Kt;this[e(206)]&&this.consumed&&(this.buffer[e(204)](0,this[e(198)]),this[e(206)]=this.buffer[e(179)](0,this[e(206)][e(182)]-this[e(198)]),this.consumed=0)}[Kt(188)](e,t){const r=Kt;return t&&this[r(163)](),this[r(173)]=e,this[r(207)]()}[Kt(195)](e){return Jt(this,void 0,void 0,(function*(){const t=Yt;return this.lastReadPromise&&(yield this.lastReadPromise),this[t(185)]=new Promise(((r,n)=>{const i=t;var s;this[i(200)]=n,this[i(164)]=e=>{const t=i;delete this[t(185)],delete this.resolve,delete this[t(173)],r(e)};this[i(188)](e,!0)||null===(s=this[i(167)])||void 0===s||s[i(197)](this,e)}))}))}readU32(){return this[Kt(195)](Zt)}[Kt(178)](){return this[Kt(195)](Qt)}readU8(){return this[Kt(195)](er)}[Kt(209)](){const e=Kt;var t;this.g&&this.g[e(203)](),this[e(206)]&&this[e(206)][e(179)](0,0),null===(t=this[e(200)])||void 0===t||t[e(197)](this,new Error("EOF")),delete this.lastReadPromise}[Kt(207)](){const e=Kt;if(!this[e(206)]||!this.need)return;let t=null;const r=this[e(206)][e(179)](this[e(198)]);let n=0;const i=t=>r[e(182)]<(n=t);if(typeof this[e(173)]===e(193)){if(i(this.need))return;t=r.subarray(0,n)}else if(this[e(173)]===Zt){if(i(4))return;t=r[0]<<24|r[1]<<16|r[2]<<8|r[3]}else if(this[e(173)]===Qt){if(i(2))return;t=r[0]<<8|r[1]}else if(this[e(173)]===er){if(i(1))return;t=r[0]}else if(e(206)in this.need){if(e(186)in this[e(173)]){if(i(this.need[e(165)]-this[e(173)][e(186)]))return;new Uint8Array(this[e(173)][e(206)],this[e(173)][e(186)])[e(199)](r.subarray(0,n)),t=this.need}else if(this.g)return void this.g[e(166)](new Error(e(201)))}else{if(i(this[e(173)][e(165)]))return;new Uint8Array(this[e(173)])[e(199)](r[e(179)](0,n)),t=this[e(173)]}return this.consumed+=n,this.g?this[e(188)](this.g[e(171)](t)[e(169)],!0):this.resolve&&this[e(164)](t),t}write(e){const t=Kt;if(e instanceof Uint8Array?this.malloc(e[t(182)])[t(199)](e):"buffer"in e?this[t(190)](e.byteLength)[t(199)](new Uint8Array(e[t(206)],e[t(186)],e[t(165)])):this[t(190)](e[t(165)])[t(199)](new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this[t(167)]=e));this[t(207)]()}writeU32(e){const t=Kt;this[t(190)](4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this[t(207)]()}[Kt(202)](e){const t=Kt;this[t(190)](2)[t(199)]([e>>8&255,255&e]),this[t(207)]()}[Kt(183)](e){const t=Kt;this.malloc(1)[0]=e,this[t(207)]()}[Kt(190)](e){const t=Kt;if(this[t(206)]){const r=this[t(206)].length,n=r+e;if(n<=this[t(206)][t(206)][t(165)]-this[t(206)].byteOffset)this[t(206)]=new Uint8Array(this[t(206)][t(206)],this[t(206)][t(186)],n);else{const e=new Uint8Array(n);e.set(this.buffer),this.buffer=e}return this[t(206)][t(179)](r,n)}return this.buffer=new Uint8Array(e),this[t(206)]}}function nr(){const e=["286854zRXCFn","75SrXbce","626KuLPBA","log","1069508qSRpAw","debugLevel","77YdyAlM","length","1077bKvYWs","11ZjknsG","[❌❌❌][","_opt","JbPro","[❗❗❗][","[✅✅✅][","25129610DqfAPg","warn","error","164788IxjItv","1494568OmQtAp","debug","debugUuid","402066FuNsLA"];return(nr=function(){return e})()}function ir(e,t){const r=nr();return(ir=function(e,t){return r[e-=473]})(e,t)}rr[Kt(187)]=Zt,rr[Kt(189)]=Qt,rr.U8=er,function(e,t){const r=ir,n=e();for(;;)try{if(554113===-parseInt(r(488))/1+-parseInt(r(486))/2*(-parseInt(r(492))/3)+-parseInt(r(479))/4*(parseInt(r(485))/5)+parseInt(r(484))/6*(-parseInt(r(490))/7)+parseInt(r(480))/8+-parseInt(r(483))/9+parseInt(r(476))/10*(parseInt(r(493))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(nr);class sr{constructor(e){const t=ir;this[t(487)]=function(r){const n=t;if(e[n(495)].debugLevel==ue[n(481)]){const t=e[n(495)][n(482)]?"["+e[n(495)][n(482)]+"]":"";for(var i=arguments[n(491)],s=new Array(i>1?i-1:0),o=1;o1?i-1:0),o=1;o1?s-1:0),a=1;a=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(469)],0,s)}static parseSPS(e){const t=ur;let r=cr._ebsp2rbsp(e),n=new it(r);n.readByte();let i=n[t(436)]();n[t(436)]();let s=n.readByte();n[t(468)]();let o=cr[t(434)](i),a=cr.getLevelString(s),c=1,u=420,l=[0,420,422,444],d=8;if((100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||144===i)&&(c=n.readUEG(),3===c&&n[t(462)](1),c<=3&&(u=l[c]),d=n.readUEG()+8,n.readUEG(),n[t(462)](1),n[t(466)]())){let e=3!==c?8:12;for(let r=0;r0&&e<16?(w=r[e-1],S=i[e-1]):255===e&&(w=n.readByte()<<8|n.readByte(),S=n.readByte()<<8|n.readByte())}if(n[t(466)]()&&n[t(466)](),n[t(466)]()&&(n[t(462)](4),n.readBool()&&n[t(462)](24)),n[t(466)]()&&(n[t(468)](),n[t(468)]()),n[t(466)]()){let e=n[t(462)](32),r=n.readBits(32);I=n[t(466)](),k=r,A=2*e,E=k/A}}let C=1;(1!==w||1!==S)&&(C=w/S);let x=0,T=0;if(0===c)x=1,T=2-v;else{x=3===c?1:2,T=(1===c?2:1)*(2-v)}let D=16*(p+1),P=16*(m+1)*(2-v);D-=(y+g)*x,P-=(_+b)*T;let B=Math[t(443)](D*C);return n[t(449)](),n=null,{profile_string:o,level_string:a,bit_depth:d,ref_frames:f,chroma_format:u,chroma_format_string:cr[t(433)](u),frame_rate:{fixed:I,fps:E,fps_den:A,fps_num:k},sar_ratio:{width:w,height:S},codec_size:{width:D,height:P},present_size:{width:B,height:P}}}static parseSPS$2(e){const t=ur;let r=e[t(450)](1,4),n=t(470);for(let e=0;e<3;e++){let i=r[e].toString(16);i[t(454)]<2&&(i="0"+i),n+=i}let i=cr[t(445)](e),s=new it(i);s[t(436)]();let o=s[t(436)]();s[t(436)]();let a=s[t(436)]();s[t(468)]();let c=cr.getProfileString(o),u=cr[t(452)](a),l=1,d=420,h=[0,420,422,444],f=8,p=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=s.readUEG(),3===l&&s[t(462)](1),l<=3&&(d=h[l]),f=s[t(468)]()+8,p=s[t(468)]()+8,s[t(462)](1),s.readBool())){let e=3!==l?8:12;for(let r=0;r0&&e<16?(I=r[e-1],k=n[e-1]):255===e&&(I=s.readByte()<<8|s[t(436)](),k=s.readByte()<<8|s[t(436)]())}if(s[t(466)]()&&s[t(466)](),s[t(466)]()&&(s[t(462)](4),s[t(466)]()&&s.readBits(24)),s[t(466)]()&&(s[t(468)](),s[t(468)]()),s.readBool()){let e=s.readBits(32),r=s.readBits(32);C=s[t(466)](),x=r,T=2*e,A=x/T}}let D=1;(1!==I||1!==k)&&(D=I/k);let P=0,B=0;if(0===l)P=1,B=2-_;else{P=3===l?1:2,B=(1===l?2:1)*(2-_)}let M=16*(y+1),F=16*(g+1)*(2-_);M-=(b+w)*P,F-=(S+E)*B;let U=Math[t(443)](M*D);return s.destroy(),s=null,{codec_mimetype:n,profile_idc:o,level_idc:a,profile_string:c,level_string:u,chroma_format_idc:l,bit_depth:f,bit_depth_luma:f,bit_depth_chroma:p,ref_frames:v,chroma_format:d,chroma_format_string:cr[t(433)](d),frame_rate:{fixed:C,fps:A,fps_den:T,fps_num:x},sar_ratio:{width:I,height:k},codec_size:{width:M,height:F},present_size:{width:U,height:F}}}static[or(435)](e,t){const r=or;let n=8,i=8,s=0;for(let o=0;o=this[t(323)])return this.iserro=!0,0;this[t(326)]=!1,n=this[t(338)]+e>8?8-this[t(338)]:e,r<<=n,r+=this[t(324)][this.bufpos]>>8-this[t(338)]-n&255>>8-n,this[t(338)]+=n,e-=n,8==this[t(338)]&&(this.bufpos++,this[t(338)]=0)}return r}[hr(335)](e){const t=hr;let r=this.bufpos,n=this[t(338)],i=this[t(327)](e);return this[t(329)]=r,this[t(338)]=n,i}[hr(322)](){const e=hr;let t;for(t=0;0===this.read(1)&&!this[e(326)];t++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i.set(n,0),i[t(343)](r[t(329)],4),r.sps=i}if(r[t(328)]){const e=r.pps[t(373)],n=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),i=new Uint8Array(e+4);i[t(343)](n,0),i[t(343)](r.pps,4),r[t(328)]=i}return r}function br(e,t){const r=gr();return(br=function(e,t){return r[e-=319]})(e,t)}function wr(e){const t=br;let{sps:r,pps:n}=e;const i=[23,0,0,0,0,1,66,0,30,255];i[0]=23,i[6]=r[1],i[7]=r[2],i[8]=r[3],i[10]=225,i[11]=r[t(373)]>>8&255,i[12]=255&r.byteLength,i[t(336)](...r,1,n[t(373)]>>8&255,255&n.byteLength,...n);return new Uint8Array(i)}function Sr(e){const t=br;let{sps:r,pps:n}=e,i=8+r[t(373)]+1+2+n[t(373)],s=!1;const o=cr[t(354)](r);66!==r[3]&&77!==r[3]&&88!==r[3]&&(s=!0,i+=4);let a=new Uint8Array(i);a[0]=1,a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=255,a[5]=225;let c=r.byteLength;a[6]=c>>>8,a[7]=255&c;let u=8;a[t(343)](r,8),u+=c,a[u]=1;let l=n[t(373)];a[u+1]=l>>>8,a[u+2]=255&l,a[t(343)](n,u+3),u+=3+l,s&&(a[u]=252|o[t(391)],a[u+1]=248|o[t(401)]-8,a[u+2]=248|o[t(366)]-8,a[u+3]=0,u+=4);const d=[23,0,0,0,0],h=new Uint8Array(d[t(395)]+a[t(373)]);return h[t(343)](d,0),h[t(343)](a,d[t(395)]),h}function Er(e,t){const r=br;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(373)]>>24&255,n[6]=e[r(373)]>>16&255,n[7]=e[r(373)]>>8&255,n[8]=255&e[r(373)];const i=new Uint8Array(n[r(395)]+e[r(373)]);return i.set(n,0),i[r(343)](e,n[r(395)]),i}function Ir(e,t){const r=br;let n=[];n[0]=t?23:39,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(395)]+e[r(373)]);return i.set(n,0),i[r(343)](e,n[r(395)]),i}function kr(e){return 31&e[0]}function Ar(e){return e===Be[br(365)]}function Cr(e){return!(t=e,t===Be[br(329)]||t===Be.pps||Ar(e));var t}function xr(e){return e===Be[br(384)]}function Tr(e){if(0===e.length)return!1;const t=kr(e[0]);for(let r=1;r=n[t(373)])return this[t(321)]=!0,n[t(373)];let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}[yr(342)](){const e=yr;let t=this[e(374)],r=null;for(;null==r&&!this[e(321)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=31&t[n],s=(128&t[n])>>>7,o=this[e(332)](n);this.currentStartcodeOffset=o,i>=Be[e(370)]||0===s&&(r={type:i,data:t[e(334)](n,o)})}return r}}class Pr{constructor(e){const t=yr;let r=e[t(374)].byteLength;this[t(331)]=e[t(331)],this[t(374)]=new Uint8Array(4+r),new DataView(this[t(374)][t(355)])[t(357)](0,r),this[t(374)].set(e.data,4)}}const Br=Fr;function Mr(){const e=["m_idx","m_len","2574840varYkO","87144IburyH","GetBYTE","561496YQWnle","length","m_zeros","30844314PZDUKt","GetBit","5321020gmwsAD","4egZIhJ","1553037MmexSR","GetUE","889WApqtl","GetWord","m_bits","m_byte","GetSE","309570OArHFh","m_data"];return(Mr=function(){return e})()}function Fr(e,t){const r=Mr();return(Fr=function(e,t){return r[e-=440]})(e,t)}!function(e,t){const r=Fr,n=e();for(;;)try{if(951567===parseInt(r(448))/1*(parseInt(r(454))/2)+-parseInt(r(455))/3+-parseInt(r(453))/4+parseInt(r(441))/5+-parseInt(r(445))/6+-parseInt(r(457))/7*(parseInt(r(446))/8)+parseInt(r(451))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Mr);class Ur{constructor(e){const t=Fr;this[t(443)]=null,this[t(442)]=e,this[t(444)]=e[t(449)],this[t(443)]=0,this[t(459)]=0,this.m_byte=0,this[t(450)]=0}[Br(447)](){const e=Br;if(this[e(443)]>=this[e(444)])return 0;let t=this[e(442)][this[e(443)]++];return 0==t?(this[e(450)]++,this[e(443)]>this[e(459)]&1}GetWord(e){const t=Br;let r=0;for(;e>0;)r<<=1,r|=this[t(452)](),e--;return r}GetUE(){const e=Br;let t=0;for(;this[e(443)]>1;return!(1&e)&&(t=-t),t}}const Rr=zr;!function(e,t){const r=zr,n=e();for(;;)try{if(563979===parseInt(r(259))/1+-parseInt(r(256))/2*(-parseInt(r(268))/3)+-parseInt(r(262))/4*(-parseInt(r(258))/5)+-parseInt(r(254))/6*(parseInt(r(260))/7)+-parseInt(r(267))/8+parseInt(r(255))/9+parseInt(r(250))/10*(-parseInt(r(269))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Or);class Lr{static[Rr(264)](e){const t=Rr;let r=e,n=r[t(266)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(263)],0,s)}static[Rr(261)](e){const t=Rr;let r=Lr._ebsp2rbsp(e);const n=new Ur(r);let i="",s="",o="",a="";n.GetWord(4);let c=n[t(251)](3);if(c>6)return console.warn("SPSParser sps_max_sub_layers_minus1 > 6"),!1;n[t(251)](1),n[t(251)](2),n[t(251)](1),i=n[t(251)](5),n[t(251)](32),n[t(251)](1),n[t(251)](1),n[t(251)](1),n[t(251)](1),n[t(251)](44),s=n.GetWord(8);let u=[],l=[];for(let e=0;e0)for(let e=c;e<8;e++)n.GetWord(2);for(let e=0;e15)return console[t(253)](t(257),d),!1;let h=n[t(252)]();return h>3?(console.warn(t(270),h),!1):(3==h&&n[t(251)](1),o=n[t(252)](),a=n[t(252)](),n[t(251)](1)&&(n.GetUE(),n[t(252)](),n[t(252)](),n[t(252)]()),n[t(252)]()!=n[t(252)]()?(console[t(253)](t(265)),!1):{profile_string:i,level_string:s,bit_depth:"",ref_frames:"",chroma_format:"",chroma_format_string:"",frame_rate:{fixed:"",fps:"",fps_den:"",fps_num:""},sar_ratio:{width:"",height:""},codec_size:{width:o,height:a},present_size:{width:"",height:a}})}}function Or(){const e=["_ebsp2rbsp","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","byteLength","669424yfBStQ","324957xShpSm","77DqFeiB","SPSParser chroma_format_idc > 3","1661980UPvnxP","GetWord","GetUE","warn","390MXLyZk","6800355VewOyN","6xNwAdc","SPSParser sps_seq_parameter_set_id > 15","215XgLttg","1021066eAgIMh","41874iqrYce","parseSPS","9140FTjqAv","buffer"];return(Or=function(){return e})()}function zr(e,t){const r=Or();return(zr=function(e,t){return r[e-=250]})(e,t)}function Nr(e,t){const r=jr();return(Nr=function(e,t){return r[e-=415]})(e,t)}function jr(){const e=["4:2:2","1496092eKqJSk","Unknown","toFixed","byteLength","readUEG","423335AORLAG","readBool","destroy","8hecXxG","4:4:4","4:0:0","push","min",".1.L","readSEG","8963586HrLyKW","readBits","hvc1.","buffer","4:2:0","3306129VzYdpY","500808PMGVPL","550976EgOSZZ","readByte","21TNCCZU","717959iCzkLm"];return(jr=function(){return e})()}!function(e,t){const r=Nr,n=e();for(;;)try{if(564790===-parseInt(r(439))/1+-parseInt(r(436))/2+parseInt(r(434))/3+-parseInt(r(441))/4+parseInt(r(419))/5+parseInt(r(435))/6*(-parseInt(r(438))/7)+parseInt(r(422))/8*(parseInt(r(429))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(jr);const Hr=e=>{const t=Nr;let r=e,n=r[t(417)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(432)],0,s)},Vr=e=>{const t=Nr;switch(e){case 0:return t(424);case 1:return t(433);case 2:return t(440);case 3:return t(423);default:return t(415)}},Wr=Gr;function $r(){const e=["readUEG","getChromaFormatString","286070UEvHQn","parseSPS","toFixed","Unknown","2FPaGZy","25505ztdmjM","parseVPS",".1.L","252jCrhOh","readSEG","163612UIArRX","byteLength","1050645XihFKW","1925609ccvUcw","_ebsp2rbsp","buffer","readBool",".B0","6FZEpst","SCC","readBits","Main10","MainSP","hvc1.","min","readByte","getLevelString","835936iUNdIk","push","964096tfAmTh","4:2:0"];return($r=function(){return e})()}function Gr(e,t){const r=$r();return(Gr=function(e,t){return r[e-=332]})(e,t)}!function(e,t){const r=Gr,n=e();for(;;)try{if(197673===-parseInt(r(334))/1*(-parseInt(r(361))/2)+-parseInt(r(336))/3+-parseInt(r(353))/4+-parseInt(r(362))/5+-parseInt(r(342))/6*(parseInt(r(337))/7)+parseInt(r(351))/8+-parseInt(r(332))/9*(-parseInt(r(357))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}($r);class qr{static[Wr(338)](e){const t=Wr;let r=e,n=r[t(335)],i=new Uint8Array(n),s=0;for(let e=0;e=2&&3===r[e]&&0===r[e-1]&&0===r[e-2]||(i[s]=r[e],s++);return new Uint8Array(i[t(339)],0,s)}static[Wr(363)](e){const t=Wr;let r=qr[t(338)](e),n=new it(r);return n.readByte(),n[t(349)](),n[t(344)](4),n[t(344)](2),n[t(344)](6),{num_temporal_layers:n[t(344)](3)+1,temporal_id_nested:n.readBool()}}static[Wr(358)](e){const t=Wr;let r=qr[t(338)](e),n=new it(r);n[t(349)](),n.readByte();let i=0,s=0,o=0,a=0;n[t(344)](4);let c=n[t(344)](3);n[t(340)]();let u=n[t(344)](2),l=n[t(340)](),d=n[t(344)](5),h=n[t(349)](),f=n.readByte(),p=n[t(349)](),m=n[t(349)](),v=n[t(349)](),y=n[t(349)](),g=n.readByte(),_=n.readByte(),b=n[t(349)](),w=n[t(349)](),S=n[t(349)](),E=[],I=[];for(let e=0;e0)for(let e=c;e<8;e++)n[t(344)](2);for(let e=0;e1&&n[t(333)]();for(let e=0;e0&&e<=16?(U=r[e-1],R=i[e-1]):255===e&&(U=n[t(344)](16),R=n[t(344)](16))}if(n.readBool()&&n[t(340)](),n[t(340)]()){n[t(344)](3),n[t(340)](),n[t(340)]()&&(n[t(349)](),n[t(349)](),n[t(349)]())}if(n[t(340)]()&&(n.readUEG(),n.readUEG()),n.readBool(),n.readBool(),n[t(340)](),M=n[t(340)](),M&&(n[t(355)](),n[t(355)](),n[t(355)](),n.readUEG()),n.readBool()){if(O=n[t(344)](32),z=n[t(344)](32),n[t(340)]()&&n[t(355)](),n[t(340)]()){let e=!1,r=!1,i=!1;e=n.readBool(),r=n[t(340)](),(e||r)&&(i=n[t(340)](),i&&(n[t(349)](),n.readBits(5),n.readBool(),n[t(344)](5)),n[t(344)](4),n.readBits(4),i&&n[t(344)](4),n.readBits(5),n[t(344)](5),n.readBits(5));for(let s=0;s<=c;s++){let s=n[t(340)]();L=s;let o=!0,a=1;!s&&(o=n[t(340)]());let c=!1;if(o?n[t(355)]():c=n.readBool(),!c&&(a=n[t(355)]()+1),e){for(let e=0;e>6&3,n[t(426)]=e[1]>>5&1,n[t(399)]=31&e[1],n[t(457)]=e[2]<<24|e[3]<<16|e[4]<<8|e[5],n[t(392)]=e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[t(392)]=n.general_constraint_indicator_flags<<16|e[10]<<8|e[11],n.general_level_idc=e[12],n[t(438)]=(15&e[13])<<8|e[14],n[t(411)]=3&e[15],n[t(455)]=3&e[16],n[t(358)]=7&e[17],n.bitDepthChromaMinus8=7&e[18],n.avgFrameRate=e[19]<<8|e[20],n[t(368)]=e[21]>>6&3,n[t(343)]=e[21]>>3&7,n[t(377)]=e[21]>>2&1,n[t(387)]=3&e[21];let i=e[22],s=e[t(409)](23);for(let e=0;e0)for(let t=r;t<8;t++)e[n(446)](2);i[n(463)]=[],i.sub_layer_tier_flag=[],i[n(447)]=[],i[n(468)]=[],i[n(470)]=[],i[n(460)]=[],i[n(407)]=[],i[n(383)]=[],i.sub_layer_level_idc=[];for(let t=0;t{const t=Nr;let r=Hr(e),n=new it(r);return n[t(437)](),n[t(437)](),n[t(430)](4),n.readBits(2),n.readBits(6),{num_temporal_layers:n[t(430)](3)+1,temporal_id_nested:n[t(420)]()}})(r),a=(e=>{const t=Nr;let r=Hr(e),n=new it(r);n.readByte(),n[t(437)]();let i=0,s=0,o=0,a=0;n[t(430)](4);let c=n[t(430)](3);n[t(420)]();let u=n[t(430)](2),l=n[t(420)](),d=n[t(430)](5),h=n.readByte(),f=n[t(437)](),p=n[t(437)](),m=n[t(437)](),v=n[t(437)](),y=n.readByte(),g=n[t(437)](),_=n[t(437)](),b=n[t(437)](),w=n[t(437)](),S=n[t(437)](),E=[],I=[];for(let e=0;e0)for(let e=c;e<8;e++)n.readBits(2);for(let e=0;e1&&n[t(428)]();for(let e=0;e0&&e<16?(U=r[e-1],R=i[e-1]):255===e&&(U=n[t(430)](16),R=n[t(430)](16))}if(n[t(420)]()&&n.readBool(),n[t(420)]()&&(n[t(430)](3),n[t(420)](),n[t(420)]()&&(n[t(437)](),n.readByte(),n[t(437)]())),n[t(420)]()&&(n[t(418)](),n[t(418)]()),n.readBool(),n.readBool(),n.readBool(),M=n[t(420)](),M&&(i+=n[t(418)](),s+=n[t(418)](),o+=n[t(418)](),a+=n.readUEG()),n[t(420)]()&&(O=n.readBits(32),z=n.readBits(32),n[t(420)]()&&(n[t(418)](),n[t(420)]()))){let e=!1,r=!1,i=!1;e=n[t(420)](),r=n.readBool(),(e||r)&&(i=n[t(420)](),i&&(n.readByte(),n[t(430)](5),n[t(420)](),n[t(430)](5)),n[t(430)](4),n.readBits(4),i&&n[t(430)](4),n.readBits(5),n[t(430)](5),n[t(430)](5));for(let s=0;s<=c;s++){let s=n.readBool();L=s;let o=!1,a=1;!s&&(o=n[t(420)]());let c=!1;if(o?n[t(428)]():c=n[t(420)](),!c&&(cpbcnt=n[t(418)]()+1),e)for(let e=0;e{const t=Nr;let r=Hr(e),n=new it(r);n.readByte(),n[t(437)](),n.readUEG(),n.readUEG(),n.readBool(),n[t(420)](),n[t(430)](3),n.readBool(),n[t(420)](),n[t(418)](),n[t(418)](),n[t(428)](),n[t(420)](),n.readBool(),n[t(420)]()&&n.readUEG(),n[t(428)](),n.readSEG(),n[t(420)](),n[t(420)](),n[t(420)](),n.readBool();let i=n[t(420)](),s=n[t(420)](),o=1;return s&&i?o=0:s?o=3:i&&(o=2),{parallelismType:o}})(n);s=Object[t(373)](s,o,a,c);let u=23+(5+r[t(437)])+(5+i.byteLength)+(5+n[t(437)]),l=new Uint8Array(u);l[0]=1,l[1]=(3&s[t(459)])<<6|(s[t(426)]?1:0)<<5|31&s[t(399)],l[2]=s.general_profile_compatibility_flags_1||0,l[3]=s[t(448)]||0,l[4]=s.general_profile_compatibility_flags_3||0,l[5]=s[t(374)]||0,l[6]=s[t(384)]||0,l[7]=s.general_constraint_indicator_flags_2||0,l[8]=s.general_constraint_indicator_flags_3||0,l[9]=s.general_constraint_indicator_flags_4||0,l[10]=s.general_constraint_indicator_flags_5||0,l[11]=s.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&s[t(438)])>>8,l[14]=255&s.min_spatial_segmentation_idc,l[15]=252|3&s[t(411)],l[16]=252|3&s.chroma_format_idc,l[17]=248|7&s.bit_depth_luma_minus8,l[18]=248|7&s.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&s[t(363)])<<6|(7&s[t(351)])<<3|(s[t(429)]?1:0)<<2|3,l[22]=3,l[23]=128|Me.vps,l[24]=0,l[25]=1,l[26]=(65280&r[t(437)])>>8,l[27]=(255&r.byteLength)>>0,l[t(382)](r,28),l[23+(5+r[t(437)])+0]=128|Me[t(379)],l[23+(5+r[t(437)])+1]=0,l[23+(5+r[t(437)])+2]=1,l[23+(5+r[t(437)])+3]=(65280&i[t(437)])>>8,l[23+(5+r[t(437)])+4]=(255&i[t(437)])>>0,l[t(382)](i,23+(5+r[t(437)])+5),l[23+(5+r[t(437)]+5+i[t(437)])+0]=128|Me.pps,l[23+(5+r.byteLength+5+i[t(437)])+1]=0,l[23+(5+r[t(437)]+5+i[t(437)])+2]=1,l[23+(5+r[t(437)]+5+i[t(437)])+3]=(65280&n[t(437)])>>8,l[23+(5+r[t(437)]+5+i[t(437)])+4]=(255&n[t(437)])>>0,l[t(382)](n,23+(5+r[t(437)]+5+i[t(437)])+5);const d=[28,0,0,0,0],h=new Uint8Array(d[t(395)]+l[t(437)]);return h[t(382)](d,0),h[t(382)](l,d[t(395)]),h}function Qr(e,t){const r=an;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0,n[5]=e[r(437)]>>24&255,n[6]=e[r(437)]>>16&255,n[7]=e[r(437)]>>8&255,n[8]=255&e[r(437)];const i=new Uint8Array(n[r(395)]+e[r(437)]);return i[r(382)](n,0),i[r(382)](e,n[r(395)]),i}function en(e,t){const r=an;let n=[];n[0]=t?28:44,n[1]=1,n[2]=0,n[3]=0,n[4]=0;const i=new Uint8Array(n[r(395)]+e[r(437)]);return i.set(n,0),i.set(e,n[r(395)]),i}function tn(e){return(126&e[0])>>1}function rn(){const e=["sub_layer_profile_present_flag","vps","readUEG","bit_depth","generalProfileIdc","setUint32"," < 23","codecHeight","general_tier_flag","bitDepthChromaMinus8","bitDepth","temporal_id_nested","readUByte","general_interlaced_source_flag","sps_max_sub_layers_minus1","fps_num","160KZkIGu","refSampleDuration","buffer","byteLength","min_spatial_segmentation_idc","frame_rate","chroma_format","generalTierFlag","pic_height_in_luma_samples","getUint8","presentWidth","data","read","sub_layer_profile_idc","general_profile_compatibility_flags_2","height","hvcc","configurationVersion","conf_win_right_offset","1008JMnOWy","timescale","chromaFormat","codec_mimetype","general_profile_compatibility_flags","psps","general_profile_space","sub_layer_interlaced_source_flag","readBits","generalConstraintIndicatorFlags","sub_layer_profile_space","Invalid HEVCDecoderConfigurationRecord, lack of data! ","conf_win_left_offset","1427296tdZmYd","presentHeight","sub_layer_profile_compatibility_flag","10faJRNT","sub_layer_progressive_source_flag","206aquqII","from","profile_idc","fps_den","sub_layer_level_present_flag","sub_layer_tier_flag","sei","numTemporalLayers","subarray","pic_width_in_luma_samples","sar_ratio","sub_layer_level_idc","codec_size","profile_tier_level","conf_win_bottom_offset","num_temporal_layers","level","conformance_window_flag","711sSjzTa","pps","sps_temporal_id_nesting_flag","generalLevelIdc","bitDepthLumaMinus8","19524tkHacT","general_level_idc","parseSPS","sarRatio","constant_frame_rate","codecWidth","parseHEVCDecoderConfigurationRecord$2","chroma_format_idc","findNextStartCodeOffset","constantFrameRate","error","warn","setInt16","eofFlag","assign","general_profile_compatibility_flags_4","10471041CnuHUy","sps_video_parameter_set_id","temporalIdNested","profile_string","sps","frameRate","profile_compatibility_flags","set","sub_layer_frame_only_constraint_flag","general_constraint_indicator_flags_1","currentStartcodeOffset","5989RKBnRg","lengthSizeMinusOne","read_golomb","fixed","conf_win_top_offset",", hevcProfile is ","general_constraint_indicator_flags","general_non_packed_constraint_flag","present_size","length"," < 22","push","71298eikrBM","general_profile_idc","h265","type","level_string","arrayBuffer.length ","generalProfileCompatibilityFlags","max","getUint16","sub_layer_non_packed_constraint_flag","3881542urenXj","slice","width","parallelismType","Invalid HEVCDecoderConfigurationRecord,version is ","separate_colour_plane_flag","143550oGjgZp","hev1.1.6.L93.B0","profile","generalProfileSpace"];return(rn=function(){return e})()}function nn(e){return e===Me[an(342)]}function sn(e){return!((t=e)>=32&&t<=40);var t}function on(e){return e>=16&&e<=21}function an(e,t){const r=rn();return(an=function(e,t){return r[e-=340]})(e,t)}function cn(e){const t=an;if(0===e[t(395)])return!1;const r=tn(e[0]);for(let n=1;n=n[t(437)])return this[t(372)]=!0,n.byteLength;let e=n[r+0]<<24|n[r+1]<<16|n[r+2]<<8|n[r+3],i=n[r+0]<<16|n[r+1]<<8|n[r+2];if(1===e||1===i)return r;r++}}readNextNaluPayload(){const e=Xr;let t=this[e(445)],r=null;for(;null==r&&!this[e(372)];){let n=this.currentStartcodeOffset;n+=1===(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3])?4:3;let i=t[n]>>1&63,s=(128&t[n])>>>7,o=this[e(367)](n);this.currentStartcodeOffset=o,0===s&&(r={type:i,data:t[e(344)](n,o)})}return r}}class ln{constructor(e){const t=Xr;let r=e[t(445)].byteLength;this.type=e[t(401)],this[t(445)]=new Uint8Array(4+r),new DataView(this[t(445)][t(436)])[t(423)](0,r),this[t(445)][t(382)](e[t(445)],4)}}var dn=Fn;!function(e,t){for(var r=Fn,n=e();;)try{if(568020===parseInt(r(191))/1*(-parseInt(r(239))/2)+-parseInt(r(248))/3+parseInt(r(206))/4+-parseInt(r(260))/5*(-parseInt(r(272))/6)+parseInt(r(195))/7+parseInt(r(265))/8*(-parseInt(r(246))/9)+parseInt(r(181))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(xn);var hn,fn=dn(258),pn=dn(217),mn=/^(?:text|application)\/xml/i,vn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,gn=/^\s*$/,_n={},bn={},wn="",Sn={type:dn(190),beforeSend:En,success:En,error:En,complete:En,context:null,xhr:function(){return new window.XMLHttpRequest},accepts:{json:fn,xml:dn(174),html:pn,text:dn(208),"*":"*/"[dn(189)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:En,contentType:dn(197)};function En(){}var In=function(e,t){var r=dn;typeof e===r(194)&&(t=e,e=void 0);var n=Mn({},t=t||{});for(var i in Sn)void 0===n[i]&&(n[i]=Sn[i]);try{var s={},o=new Promise((function(e,t){s.resolve=e,s.reject=t}));o.resolve=s.resolve,o[r(186)]=s[r(186)],n.promise=o}catch(e){n.promise={resolve:En,reject:En}}var a=yn.exec(window[r(226)][r(180)][r(201)]())||[];n[r(193)]=((e||n[r(193)]||window[r(226)].href)+"")[r(200)](/#.*$/,"")[r(200)](/^\/\//,a[1]+"//");var c=n.url;!n.crossDomain&&(n[r(243)]=/^([\w-]+:)?\/\/([^\/]+)/[r(178)](n[r(193)])&&RegExp.$2!==window[r(226)][r(180)]);var u=n[r(240)];if(u===r(231)){if(!/=\?/[r(178)](n.url)){var l=(n[r(231)]||r(275))+"=?";n[r(193)]=Dn(n[r(193)],l)}return function(e){var t,r=dn,n=e[r(254)]||"jsonp"+Ln(),i=window[r(199)][r(238)](r(227)),s={abort:function(){n in window&&(window[n]=En)}},o=window[r(199)][r(257)](r(228))[0]||window[r(199)][r(172)];function a(n){window[r(262)](t),s.abort(),Cn(n.type,s,n.type,e),c()}function c(){var e=r;i[e(237)]?i[e(237)]():i.onload=i.onreadystatechange=i[e(220)]=null,i[e(203)]&&i[e(203)].removeChild(i),i=null,delete window[n]}return i[r(220)]=function(e){a(e)},window[n]=function(n){window[r(262)](t),kn(n,s,e),c()},Pn(e),i[r(173)]=e[r(193)][r(200)](/=\?/,"="+n),i[r(173)]=Dn(i[r(173)],"_="+(new Date)[r(266)]()),i[r(205)]=!0,e.scriptCharset&&(i[r(188)]=e[r(274)]),o.insertBefore(i,o.firstChild),e.timeout>0&&(t=window[r(225)]((function(){var t=r;s[t(236)](),Cn(t(249),s,t(249),e),c()}),e.timeout)),e[r(241)][r(236)]=function(){s[r(236)]()},e[r(241)][r(204)]=s,e[r(241)]}(n)}Pn(n);var d=n[r(183)][u]||n[r(183)]["*"],h={};/^([\w-]+:)\/\//[r(178)](n[r(193)])?RegExp.$1:window[r(226)][r(214)];var f,p=Sn[r(204)]();!n[r(243)]&&!h["X-Requested-With"]&&(h[r(215)]="XMLHttpRequest"),n.ifModified&&(_n[c]&&(h[r(213)]=_n[c]),bn[c]&&(h["If-None-Match"]=bn[c])),d&&(h[r(256)]=d,d[r(273)](",")>-1&&(d=d[r(264)](",",2)[0]),p[r(221)]&&p.overrideMimeType(d));var m=!/^(?:GET|HEAD)$/[r(178)](n.type[r(267)]());if((n[r(177)]&&m&&!1!==n.contentType||t[r(198)])&&(h[r(219)]=n[r(198)]),!1===n.cache&&!m){var v=/([?&])_=[^&]*/;n[r(193)]=v[r(178)](c)?c[r(200)](v,"$1_="+Ln()):c+(/\?/[r(178)](c)?"&":"?")+"_="+Ln()}n.headers=Mn(h,n[r(216)]||{}),p.onreadystatechange=function(){var e,t,i=r;if(4===p[i(263)]){clearTimeout(f);var s,o=!1;if(p.status>=200&&p.status<300||304===p[i(247)]){if(wn=p[i(234)](),n[i(210)]){var a=Tn("Last-Modified");a&&(_n[c]=a),(a=Tn("etag"))&&(bn[c]=a)}u=u||(e=p[i(252)](i(212)),t=dn,e&&(e===pn?t(218):e===fn?t(175):mn[t(178)](e)&&t(230))||"text"),s=p[i(211)];try{u===i(230)?s=p[i(232)]:u===i(175)&&(s=gn[i(178)](s)?null:JSON.parse(s))}catch(e){o=e}o?Cn(o,"parseerror",p,n):kn(s,p,n)}else Cn(null,"error",p,n)}};var y=!(r(205)in n)||n[r(205)];if(p[r(271)](n[r(244)],n[r(193)],y,n[r(222)],n[r(223)]),n[r(224)])for(var g in n[r(224)])p[g]=n[r(224)][g];for(var g in n[r(259)]&&p[r(221)]&&p[r(221)](n[r(259)]),n[r(216)])void 0!==n.headers[g]&&p[r(202)](g,n.headers[g]+"");return!1===function(e,t){var r=dn,n=t.context;if(!1===t[r(253)][r(184)](n,e,t))return!1}(p,n)?(p[r(236)](),!1):(n[r(249)]>0&&(f=window.setTimeout((function(){var e=r;p[e(192)]=En,p[e(236)](),Cn(null,e(249),p,n)}),n.timeout)),p.send(n.data?n[r(177)]:null),n[r(241)][r(236)]=function(){p.abort()},n[r(241)])};function kn(e,t,r){var n=dn,i=r[n(270)],s="success";r[n(255)][n(184)](i,e,s,t),r[n(241)].resolve(e,s,t),An(s,t,r)}function An(e,t,r){var n=dn,i=r.context;r[n(250)].call(i,t,e)}function Cn(e,t,r,n){var i=dn,s=n.context;n[i(185)].call(s,r,t,e),n[i(241)][i(186)](r,t,e),An(t,r,n)}function xn(){var e=["toString","application/x-www-form-urlencoded; charset=UTF-8","contentType","document","replace","toLowerCase","setRequestHeader","parentNode","xhr","async","2251356cJAtOi","hasOwnProperty","text/plain","ajaxSetup","ifModified","responseText","content-type","If-Modified-Since","protocol","X-Requested-With","headers","text/html","html","Content-Type","onerror","overrideMimeType","username","password","xhrFields","setTimeout","location","script","head","getJSON","xml","jsonp","responseXML","length","getAllResponseHeaders","push","abort","clearAttributes","createElement","2254286xpnkxR","dataType","promise","function","crossDomain","type","POST","27MLVTlG","status","2814858UQuKri","timeout","complete","name","getResponseHeader","beforeSend","jsonpCallback","success","Accept","getElementsByTagName","application/json, text/javascript","mimeType","1800970PHVRhj","add","clearTimeout","readyState","split","251864qITYMu","getTime","toUpperCase","join","exec","context","open","18xMnNEV","indexOf","scriptCharset","callback","documentElement","src","application/xml, text/xml","json","slice","data","test","prototype","href","4109740NQmJbL","post","accepts","call","error","reject","get","charset","concat","GET","1jbdFLz","onreadystatechange","url","object","4714521HHodMb"];return(xn=function(){return e})()}function Tn(e){var t,r=dn;if(!hn){for(hn={};t=vn[r(269)](wn);)hn[t[1].toLowerCase()]=t[2];t=hn[e.toLowerCase()]}return null===t?null:t}function Dn(e,t){return(e+"&"+t)[dn(200)](/[&?]{1,2}/,"?")}function Pn(e){var t,r,n,i,s=dn;Un(e)&&!(e[s(177)]instanceof FormData)&&e.processData&&(e[s(177)]=(t=e[s(177)],(i=[])[(n=dn)(261)]=function(e,t){this[n(235)](encodeURIComponent(e)+"="+encodeURIComponent(t))},Bn(i,t,r),i[n(268)]("&").replace("%20","+"))),e.data&&(!e[s(244)]||"GET"===e[s(244)].toUpperCase())&&(e[s(193)]=Dn(e[s(193)],e.data))}function Bn(e,t,r,n){var i,s,o=dn,a=(i=t,s=dn,"[object Array]"===Object.prototype[s(196)][s(184)](i));for(var c in t){var u=t[c];n&&(c=r?n:n+"["+(a?"":c)+"]"),!n&&a?e[o(261)](u[o(251)],u.value):(r?a(u):Un(u))?Bn(e,u,r,c):e[o(261)](c,u)}}function Mn(e){for(var t=dn,r=Array[t(179)][t(176)],n=r[t(184)](arguments,1),i=0,s=n[t(233)];i255)return!1;return!0}function jn(e,t){var r=vi;if(e[r(368)]&&"Uint8Array"===e[r(338)])return t&&(e=e.slice?e[r(336)]():Array[r(372)][r(336)][r(351)](e)),e;if(Array[r(378)](e)){if(!Nn(e))throw new Error(r(387)+e);return new Uint8Array(e)}if(zn(e[r(357)])&&Nn(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function Hn(e){return new Uint8Array(e)}function Vn(e,t,r,n,i){var s=vi;(null!=n||null!=i)&&(e=e[s(336)]?e[s(336)](n,i):Array[s(372)].slice.call(e,n,i)),t[s(349)](e,r)}!function(e,t){for(var r=vi,n=e();;)try{if(326650===-parseInt(r(344))/1*(parseInt(r(361))/2)+-parseInt(r(383))/3*(parseInt(r(340))/4)+-parseInt(r(348))/5*(-parseInt(r(366))/6)+parseInt(r(392))/7+-parseInt(r(359))/8+parseInt(r(334))/9+parseInt(r(373))/10*(parseInt(r(352))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(_i);var Wn,$n,Gn={toBytes:function(e){var t=vi,r=[],n=0;for(e=encodeURI(e);n191&&i<224?(r[t(374)](String[t(386)]((31&i)<<6|63&e[n+1])),n+=2):(r[t(374)](String[t(386)]((15&i)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return r[t(369)]("")}},qn=($n=(Wn=vi)(391),{toBytes:function(e){for(var t=vi,r=[],n=0;n>4]+$n[15&i])}return r.join("")}}),Xn={16:10,24:12,32:14},Kn=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Yn=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Jn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Zn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Qn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],ei=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],ti=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],ri=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],ni=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],ii=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],si=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],oi=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ai=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ci=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],ui=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function li(e){for(var t=vi,r=[],n=0;n>2,this[e(350)][n][r%4]=o[r],this[e(389)][t-n][r%4]=o[r];for(var a,c=0,u=s;u>16&255]<<24^Yn[a>>8&255]<<16^Yn[255&a]<<8^Yn[a>>24&255]^Kn[c]<<24,c+=1,8!=s)for(r=1;r>8&255]<<8^Yn[a>>16&255]<<16^Yn[a>>24&255]<<24;for(r=s/2+1;r>2,d=u%4,this[e(350)][l][d]=o[r],this[e(389)][t-l][d]=o[r++],u++}for(var l=1;l>24&255]^ai[a>>16&255]^ci[a>>8&255]^ui[255&a]},di[On(372)][On(380)]=function(e){var t=On;if(16!=e[t(357)])throw new Error("invalid plaintext size (must be 16 bytes)");for(var r=this._Ke[t(357)]-1,n=[0,0,0,0],i=li(e),s=0;s<4;s++)i[s]^=this[t(350)][0][s];for(var o=1;o>24&255]^Qn[i[(s+1)%4]>>16&255]^ei[i[(s+2)%4]>>8&255]^ti[255&i[(s+3)%4]]^this[t(350)][o][s];i=n[t(336)]()}var a,c=Hn(16);for(s=0;s<4;s++)a=this[t(350)][r][s],c[4*s]=255&(Yn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Yn[i[(s+1)%4]>>16&255]^a>>16),c[4*s+2]=255&(Yn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Yn[255&i[(s+3)%4]]^a);return c},di[On(372)][On(354)]=function(e){var t=On;if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var r=this[t(389)].length-1,n=[0,0,0,0],i=li(e),s=0;s<4;s++)i[s]^=this[t(389)][0][s];for(var o=1;o>24&255]^ni[i[(s+3)%4]>>16&255]^ii[i[(s+2)%4]>>8&255]^si[255&i[(s+1)%4]]^this[t(389)][o][s];i=n[t(336)]()}var a,c=Hn(16);for(s=0;s<4;s++)a=this[t(389)][r][s],c[4*s]=255&(Jn[i[s]>>24&255]^a>>24),c[4*s+1]=255&(Jn[i[(s+3)%4]>>16&255]^a>>16),c[4*s+2]=255&(Jn[i[(s+2)%4]>>8&255]^a>>8),c[4*s+3]=255&(Jn[255&i[(s+1)%4]]^a);return c};var hi=function(e){var t=On;if(!(this instanceof hi))throw Error(t(342));this[t(367)]="Electronic Code Block",this[t(338)]="ecb",this[t(333)]=new di(e)};hi.prototype[On(380)]=function(e){var t=On;if((e=jn(e))[t(357)]%16!=0)throw new Error(t(394));for(var r=Hn(e[t(357)]),n=Hn(16),i=0;iNumber[t(355)])throw new Error("integer value out of safe range");for(var r=15;r>=0;--r)this[t(379)][r]=e%256,e=parseInt(e/256)},yi[On(372)][On(341)]=function(e){var t=On;if(16!=(e=jn(e,!0))[t(357)])throw new Error(t(364));this[t(379)]=e},yi[On(372)][On(382)]=function(){for(var e=On,t=15;t>=0;t--){if(255!==this._counter[t]){this[e(379)][t]++;break}this._counter[t]=0}};var gi=function(e,t){var r=On;if(!(this instanceof gi))throw Error(r(342));this[r(367)]="Counter",this[r(338)]=r(371),!(t instanceof yi)&&(t=new yi(t)),this[r(379)]=t,this[r(388)]=null,this._remainingCounterIndex=16,this[r(333)]=new di(e)};function _i(){var e=["_aes","3195387RDIghG","segmentSize","slice","_shiftRegister","name","substr","52544VQJsof","setBytes","AES must be instanitated with `new`","invalid ciphertext size (must be segmentSize bytes)","354tTQZQZ","invalid counter value (must be an integer)","_lastPrecipherIndex","Counter must be instanitated with `new`","87725tmpxwS","set","_Ke","call","513161FjqdLO","invalid plaintext size (must be segmentSize bytes)","decrypt","MAX_SAFE_INTEGER","_lastPrecipher","length","cbc","3199880ODcZZs","_remainingCounterIndex","2906ZaQOii","PKCS#7 invalid padding byte","defineProperty","invalid counter bytes size (must be 16 bytes)","invalid initialation vector size (must be 16 size)","96CiZhEF","description","buffer","join","Cipher Feedback","ctr","prototype","40bVNMJV","push","invalid key size (must be 16, 24 or 32 bytes)","invalid ciphertext size (must be multiple of 16 bytes)","key","isArray","_counter","encrypt","invalid initialation vector size (must be 16 bytes)","increment","9jOtOOS","setValue","_lastCipherblock","fromCharCode","Array contains invalid value: ","_remainingCounter","_Kd","_prepare","0123456789abcdef","3206266XMFOzs","number","invalid plaintext size (must be multiple of 16 bytes)","ofb"];return(_i=function(){return e})()}gi[On(372)][On(380)]=function(e){for(var t=On,r=jn(e,!0),n=0;n16)throw new Error("PKCS#7 padding byte out of range");for(var n=e[t(357)]-r,i=0;i>>2]>>>24-a%4*8&255;r[s+a>>>2]|=c<<24-(s+a)%4*8}else for(var u=0;u>>2]=n[u>>>2];return this[t(187)]+=o,this},clamp:function(){var t=i,r=this[t(220)],n=this.sigBytes;r[n>>>2]&=4294967295<<32-n%4*8,r[t(190)]=e[t(243)](n/4)},clone:function(){var e=i,t=u[e(189)][e(210)](this);return t[e(220)]=this[e(220)].slice(0),t},random:function(e){for(var t=i,r=[],n=0;n>>2]>>>24-o%4*8&255;s[t(225)]((a>>>4)[t(236)](16)),s[t(225)]((15&a)[t(236)](16))}return s[t(202)]("")},parse:function(e){for(var t=i,r=e.length,n=[],s=0;s>>3]|=parseInt(e[t(214)](s,2),16)<<24-s%8*4;return new(l[t(247)])(n,r/2)}},f=d[i(185)]={stringify:function(e){for(var t=i,r=e[t(220)],n=e.sigBytes,s=[],o=0;o>>2]>>>24-o%4*8&255;s[t(225)](String[t(232)](a))}return s[t(202)]("")},parse:function(e){for(var t=i,r=e.length,n=[],s=0;s>>2]|=(255&e[t(201)](s))<<24-s%4*8;return new(l[t(247)])(n,r)}},p=d[i(211)]={stringify:function(e){var t=i;try{return decodeURIComponent(escape(f[t(227)](e)))}catch(e){throw new Error(t(205))}},parse:function(e){return f[i(226)](unescape(encodeURIComponent(e)))}},m=c.BufferedBlockAlgorithm=u[i(199)]({reset:function(){var e=i;this._data=new l.init,this[e(186)]=0},_append:function(e){var t=i;typeof e==t(200)&&(e=p.parse(e)),this[t(250)].concat(e),this._nDataBytes+=e[t(187)]},_process:function(t){var r,n=i,s=this[n(250)],o=s[n(220)],a=s.sigBytes,c=this[n(198)],u=a/(4*c),d=(u=t?e[n(243)](u):e.max((0|u)-this._minBufferSize,0))*c,h=e[n(221)](4*d,a);if(d){for(var f=0;f>>2]|=e[o]<<24-o%4*8;n.call(this,s,i)}else n[r(122)](this,arguments)};i[t(124)]=r}}(),e[t(132)][t(130)]},(i=xi)(127)==i(127)?e[i(136)]=n(Ei):"undefined"===i(125)&&(void 0).amd?(void 0)([i(131)],n):n(r[i(135)])}));var Pi=Mi;!function(e,t){for(var r=Mi,n=e();;)try{if(510147===-parseInt(r(325))/1+-parseInt(r(321))/2*(parseInt(r(341))/3)+parseInt(r(346))/4*(parseInt(r(329))/5)+parseInt(r(324))/6+-parseInt(r(323))/7+-parseInt(r(335))/8*(parseInt(r(343))/9)+-parseInt(r(318))/10*(-parseInt(r(340))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Bi);Ze[Pi(333)]((function(e,t){var r,n,i,s=Pi;r=Ze[s(322)],n=function(e){var t=s;return function(){var t=Mi,r=e,n=r[t(348)].WordArray,i=r[t(327)];function s(e){return e<<8&4278255360|e>>>8&16711935}i[t(320)]=i.Utf16BE={stringify:function(e){for(var r=t,n=e[r(345)],i=e[r(336)],s=[],o=0;o>>2]>>>16-o%4*8&65535;s[r(331)](String.fromCharCode(a))}return s.join("")},parse:function(e){for(var r=t,i=e[r(339)],s=[],o=0;o>>1]|=e[r(347)](o)<<16-o%2*16;return n.create(s,2*i)}},i[t(334)]={stringify:function(e){for(var r=t,n=e[r(345)],i=e[r(336)],o=[],a=0;a>>2]>>>16-a%4*8&65535);o[r(331)](String[r(326)](c))}return o[r(337)]("")},parse:function(e){for(var r=t,i=e.length,o=[],a=0;a>>1]|=s(e.charCodeAt(a)<<16-a%2*16);return n[r(328)](o,2*i)}}}(),e[t(327)][t(320)]},(i=Mi)(344)==i(344)?e[i(342)]=n(Ei):"undefined"===i(330)&&(void 0)[i(338)]?(void 0)([i(319)],n):n(r[i(332)])}));function Bi(){var e=["308290JikUUJ","function","push","CryptoJS","createCommonjsModule","Utf16LE","3127944nwkioA","sigBytes","join","amd","length","232837xhZNbt","3bRoXUK","exports","9cqdSWc","object","words","20cboSTG","charCodeAt","lib","1330QJhZlB","./core","Utf16","1543544jfVhCl","commonjsGlobal","6497778uAMfDZ","1981488twLnrV","852583DWBMdO","fromCharCode","enc","create"];return(Bi=function(){return e})()}function Mi(e,t){var r=Bi();return(Mi=function(e,t){return r[e-=318]})(e,t)}function Fi(){var e=["16047GQODAU","sigBytes","297wHwOKl","Base64","140292BvDwwz","2100000RNMnoD","CryptoJS","push","WordArray","_reverseMap","lib","amd","create","450cvdnqT","function","1448juizIM","charAt","commonjsGlobal","39fRjtxd","enc","./core","length","7MsOtMT","charCodeAt","3181548sfZwwp","16006tvMqAe","94736HkphFu","23jdBCOV"];return(Fi=function(){return e})()}function Ui(e,t){var r=Fi();return(Ui=function(e,t){return r[e-=496]})(e,t)}!function(e,t){for(var r=Ui,n=e();;)try{if(296252===-parseInt(r(506))/1*(-parseInt(r(504))/2)+parseInt(r(497))/3*(-parseInt(r(505))/4)+-parseInt(r(512))/5+parseInt(r(503))/6*(parseInt(r(501))/7)+parseInt(r(522))/8*(parseInt(r(507))/9)+-parseInt(r(520))/10*(parseInt(r(509))/11)+-parseInt(r(511))/12)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Fi);Je((function(e,t){var r,n,i=Ui;Ze[i(496)],e.exports=(r=Ei,n=i,function(){var e=Ui,t=r,n=t[e(517)][e(515)];function i(t,r,i){for(var s=e,o=[],a=0,c=0;c>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n[s(519)](o,a)}t[e(498)].Base64={stringify:function(t){var r=e,n=t.words,i=t[r(508)],s=this._map;t.clamp();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(n[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|n[a+2>>>2]>>>24-(a+2)%4*8&255,u=0;u<4&&a+.75*u>>6*(3-u)&63));var l=s.charAt(64);if(l)for(;o[r(500)]%4;)o[r(514)](l);return o.join("")},parse:function(t){var r=e,n=t.length,s=this._map,o=this[r(516)];if(!o){o=this[r(516)]=[];for(var a=0;a>>2]>>>24-c%4*8&255)<<16|(i[c+1>>>2]>>>24-(c+1)%4*8&255)<<8|i[c+2>>>2]>>>24-(c+2)%4*8&255,l=0;l<4&&c+.75*l>>6*(3-l)&63));var d=o[n(184)](64);if(d)for(;a[n(206)]%4;)a[n(185)](d);return a[n(188)]("")},parse:function(e,r){var i=t;void 0===r&&(r=!0);var s=e[i(206)],o=r?this[i(200)]:this[i(178)],a=this._reverseMap;if(!a){a=this[i(186)]=[];for(var c=0;c>>6-c%4*2;o[a>>>2]|=u<<24-a%4*8,a++}return n.create(o,a)}(e,s,a)},_map:t(182),_safe_map:t(194)},e[i(204)].Base64url},(i=Ri)(190)==i(190)?e[i(205)]=n(Ei):n(r[i(199)])}));function zi(e,t){var r=ji();return(zi=function(e,t){return r[e-=379]})(e,t)}var Ni=zi;function ji(){var e=["_hash","extend","sigBytes","3353210ArxaRr","4hkjNfE","_data","_createHelper","createCommonjsModule","sin","./core","amd","CryptoJS","MD5","init","length","7885575aDDYMw","1057mVBTug","11328DQhEYV","words","10PcnaMP","WordArray","call","clone","_process","13wtHFnA","lib","Hasher","object","_nDataBytes","2RxNHjx","floor","3126588MNWLMP","2913228MWJqxo","8azteLc","1271978YPkOkm","function","331342JfSwgr","exports"];return(ji=function(){return e})()}!function(e,t){for(var r=zi,n=e();;)try{if(671128===-parseInt(r(404))/1*(-parseInt(r(399))/2)+-parseInt(r(402))/3*(parseInt(r(412))/4)+parseInt(r(411))/5+parseInt(r(387))/6*(parseInt(r(386))/7)+parseInt(r(403))/8*(-parseInt(r(385))/9)+-parseInt(r(389))/10*(-parseInt(r(406))/11)+-parseInt(r(401))/12*(-parseInt(r(394))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ji);Ze[Ni(415)]((function(e,t){var r,n,i;r=Ye,n=function(e){return function(t){var r=zi,n=e,i=n[r(395)],s=i[r(390)],o=i[r(396)],a=n.algo,c=[];!function(){for(var e=r,n=0;n<64;n++)c[n]=4294967296*t.abs(t[e(416)](n+1))|0}();var u=a[r(382)]=o[r(409)]({_doReset:function(){var e=r;this[e(408)]=new(s[e(383)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=r,i=0;i<16;i++){var s=t+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a=this[n(408)].words,u=e[t+0],p=e[t+1],m=e[t+2],v=e[t+3],y=e[t+4],g=e[t+5],_=e[t+6],b=e[t+7],w=e[t+8],S=e[t+9],E=e[t+10],I=e[t+11],k=e[t+12],A=e[t+13],C=e[t+14],x=e[t+15],T=a[0],D=a[1],P=a[2],B=a[3];T=l(T,D,P,B,u,7,c[0]),B=l(B,T,D,P,p,12,c[1]),P=l(P,B,T,D,m,17,c[2]),D=l(D,P,B,T,v,22,c[3]),T=l(T,D,P,B,y,7,c[4]),B=l(B,T,D,P,g,12,c[5]),P=l(P,B,T,D,_,17,c[6]),D=l(D,P,B,T,b,22,c[7]),T=l(T,D,P,B,w,7,c[8]),B=l(B,T,D,P,S,12,c[9]),P=l(P,B,T,D,E,17,c[10]),D=l(D,P,B,T,I,22,c[11]),T=l(T,D,P,B,k,7,c[12]),B=l(B,T,D,P,A,12,c[13]),P=l(P,B,T,D,C,17,c[14]),T=d(T,D=l(D,P,B,T,x,22,c[15]),P,B,p,5,c[16]),B=d(B,T,D,P,_,9,c[17]),P=d(P,B,T,D,I,14,c[18]),D=d(D,P,B,T,u,20,c[19]),T=d(T,D,P,B,g,5,c[20]),B=d(B,T,D,P,E,9,c[21]),P=d(P,B,T,D,x,14,c[22]),D=d(D,P,B,T,y,20,c[23]),T=d(T,D,P,B,S,5,c[24]),B=d(B,T,D,P,C,9,c[25]),P=d(P,B,T,D,v,14,c[26]),D=d(D,P,B,T,w,20,c[27]),T=d(T,D,P,B,A,5,c[28]),B=d(B,T,D,P,m,9,c[29]),P=d(P,B,T,D,b,14,c[30]),T=h(T,D=d(D,P,B,T,k,20,c[31]),P,B,g,4,c[32]),B=h(B,T,D,P,w,11,c[33]),P=h(P,B,T,D,I,16,c[34]),D=h(D,P,B,T,C,23,c[35]),T=h(T,D,P,B,p,4,c[36]),B=h(B,T,D,P,y,11,c[37]),P=h(P,B,T,D,b,16,c[38]),D=h(D,P,B,T,E,23,c[39]),T=h(T,D,P,B,A,4,c[40]),B=h(B,T,D,P,u,11,c[41]),P=h(P,B,T,D,v,16,c[42]),D=h(D,P,B,T,_,23,c[43]),T=h(T,D,P,B,S,4,c[44]),B=h(B,T,D,P,k,11,c[45]),P=h(P,B,T,D,x,16,c[46]),T=f(T,D=h(D,P,B,T,m,23,c[47]),P,B,u,6,c[48]),B=f(B,T,D,P,b,10,c[49]),P=f(P,B,T,D,C,15,c[50]),D=f(D,P,B,T,g,21,c[51]),T=f(T,D,P,B,k,6,c[52]),B=f(B,T,D,P,v,10,c[53]),P=f(P,B,T,D,E,15,c[54]),D=f(D,P,B,T,p,21,c[55]),T=f(T,D,P,B,w,6,c[56]),B=f(B,T,D,P,x,10,c[57]),P=f(P,B,T,D,_,15,c[58]),D=f(D,P,B,T,A,21,c[59]),T=f(T,D,P,B,y,6,c[60]),B=f(B,T,D,P,I,10,c[61]),P=f(P,B,T,D,m,15,c[62]),D=f(D,P,B,T,S,21,c[63]),a[0]=a[0]+T|0,a[1]=a[1]+D|0,a[2]=a[2]+P|0,a[3]=a[3]+B|0},_doFinalize:function(){var e=r,n=this[e(413)],i=n[e(388)],s=8*this[e(398)],o=8*n[e(410)];i[o>>>5]|=128<<24-o%32;var a=t[e(400)](s/4294967296),c=s;i[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(o+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n.sigBytes=4*(i[e(384)]+1),this[e(393)]();for(var u=this[e(408)],l=u[e(388)],d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return u},clone:function(){var e=r,t=o[e(392)][e(391)](this);return t[e(408)]=this[e(408)][e(392)](),t}});function l(e,t,r,n,i,s,o){var a=e+(t&r|~t&n)+i+o;return(a<>>32-s)+t}function d(e,t,r,n,i,s,o){var a=e+(t&n|r&~n)+i+o;return(a<>>32-s)+t}function h(e,t,r,n,i,s,o){var a=e+(t^r^n)+i+o;return(a<>>32-s)+t}function f(e,t,r,n,i,s,o){var a=e+(r^(t|~n))+i+o;return(a<>>32-s)+t}n[r(382)]=o[r(414)](u),n.HmacMD5=o._createHmacHelper(u)}(Math),e.MD5},"object"===(i=zi)(397)?e[i(407)]=n(Ei):"undefined"===i(405)&&(void 0)[i(380)]?(void 0)([i(379)],n):n(r[i(381)])}));function Hi(){var e=["lib","5034654QXrCbo","_hash","1166000nbshMk","./core","clone","_createHelper","extend","4595975MBZDFE","commonjsGlobal","algo","SHA1","_data","createCommonjsModule","sigBytes","words","floor","amd","116872GqzWuV","4077NbTBEH","497AcZpzN","10902khyjrS","function","HmacSHA1","object","Hasher","length","93110YNLQWW","3567867yikPpe","CryptoJS","61ehqFZe","_process"];return(Hi=function(){return e})()}var Vi=Wi;function Wi(e,t){var r=Hi();return(Wi=function(e,t){return r[e-=158]})(e,t)}!function(e,t){for(var r=Wi,n=e();;)try{if(857062===parseInt(r(161))/1*(parseInt(r(184))/2)+-parseInt(r(159))/3+parseInt(r(166))/4+-parseInt(r(171))/5+-parseInt(r(164))/6+parseInt(r(183))/7*(-parseInt(r(181))/8)+parseInt(r(182))/9*(parseInt(r(158))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hi);Ze[Vi(176)]((function(e,t){var r,n,i,s=Vi;r=Ze[s(172)],n=function(e){var t,r,n,i,o,a,c,u,l=s;return n=(r=e)[(t=Wi)(163)],i=n.WordArray,o=n[t(188)],a=r[t(173)],c=[],u=a[t(174)]=o[t(170)]({_doReset:function(){this[t(165)]=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(165)][n(178)],s=i[0],o=i[1],a=i[2],u=i[3],l=i[4],d=0;d<80;d++){if(d<16)c[d]=0|e[r+d];else{var h=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=h<<1|h>>>31}var f=(s<<5|s>>>27)+l+c[d];f+=d<20?1518500249+(o&a|~o&u):d<40?1859775393+(o^a^u):d<60?(o&a|o&u|a&u)-1894007588:(o^a^u)-899497514,l=u,u=a,a=o<<30|o>>>2,o=s,s=f}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+u|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=t,r=this[e(175)],n=r[e(178)],i=8*this._nDataBytes,s=8*r.sigBytes;return n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=Math[e(179)](i/4294967296),n[15+(s+64>>>9<<4)]=i,r[e(177)]=4*n[e(189)],this[e(162)](),this[e(165)]},clone:function(){var e=t,r=o[e(168)].call(this);return r[e(165)]=this._hash[e(168)](),r}}),r[t(174)]=o[t(169)](u),r[t(186)]=o._createHmacHelper(u),e[l(174)]},(i=Wi)(187)==i(187)?e.exports=n(Ei):"undefined"===i(185)&&(void 0)[i(180)]?(void 0)([i(167)],n):n(r[i(160)])}));var $i=qi;function Gi(){var e=["words","sigBytes","_nDataBytes","WordArray","HmacSHA256","68711NVGfgc","call","lib","9025152ioHzCn","_process","7350774hOnihJ","exports","_createHelper","26OUMZyO","12759345VWEMAl","extend","slice","algo","_data","pow","function","createCommonjsModule","_createHmacHelper","CryptoJS","2383672ezdgAU","10KkiUHs","object","clone","1830409IEdVmx","_hash","commonjsGlobal","5aUbVSF","1249053YZrcQw","sqrt"];return(Gi=function(){return e})()}!function(e,t){for(var r=qi,n=e();;)try{if(652309===-parseInt(r(409))/1*(-parseInt(r(417))/2)+parseInt(r(402))/3+parseInt(r(394))/4*(parseInt(r(401))/5)+-parseInt(r(414))/6+parseInt(r(398))/7+parseInt(r(412))/8+parseInt(r(418))/9*(-parseInt(r(395))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gi);Ze[$i(425)]((function(e,t){var r,n,i;r=Ze[$i(400)],n=function(e){return function(t){var r=qi,n=e,i=n[r(411)],s=i[r(407)],o=i.Hasher,a=n[r(421)],c=[],u=[];!function(){var e=r;function n(e){for(var r=t[qi(403)](e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var s=2,o=0;o<64;)n(s)&&(o<8&&(c[o]=i(t[e(423)](s,.5))),u[o]=i(t[e(423)](s,1/3)),o++),s++}();var l=[],d=a.SHA256=o[r(419)]({_doReset:function(){var e=r;this[e(399)]=new s.init(c[e(420)](0))},_doProcessBlock:function(e,t){for(var n=r,i=this[n(399)][n(404)],s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=0;m<64;m++){if(m<16)l[m]=0|e[t+m];else{var v=l[m-15],y=(v<<25|v>>>7)^(v<<14|v>>>18)^v>>>3,g=l[m-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[m]=y+l[m-7]+_+l[m-16]}var b=s&o^s&a^o&a,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),S=p+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&h^~d&f)+u[m]+l[m];p=f,f=h,h=d,d=c+S|0,c=a,a=o,o=s,s=S+(w+b)|0}i[0]=i[0]+s|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0,i[5]=i[5]+h|0,i[6]=i[6]+f|0,i[7]=i[7]+p|0},_doFinalize:function(){var e=r,n=this[e(422)],i=n[e(404)],s=8*this[e(406)],o=8*n[e(405)];return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t.floor(s/4294967296),i[15+(o+64>>>9<<4)]=s,n[e(405)]=4*i.length,this[e(413)](),this._hash},clone:function(){var e=r,t=o[e(397)][e(410)](this);return t[e(399)]=this._hash.clone(),t}});n.SHA256=o[r(416)](d),n[r(408)]=o[r(392)](d)}(Math),e.SHA256},(i=qi)(396)==i(396)?e[i(415)]=n(Ei):"undefined"===i(424)&&(void 0).amd?(void 0)(["./core"],n):n(r[i(393)])}));function qi(e,t){var r=Gi();return(qi=function(e,t){return r[e-=392]})(e,t)}var Xi=Ki;function Ki(e,t){var r=Yi();return(Ki=function(e,t){return r[e-=311]})(e,t)}!function(e,t){for(var r=Ki,n=e();;)try{if(184231===parseInt(r(323))/1+parseInt(r(319))/2*(-parseInt(r(331))/3)+-parseInt(r(320))/4+parseInt(r(334))/5*(-parseInt(r(321))/6)+-parseInt(r(324))/7+-parseInt(r(328))/8+parseInt(r(329))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Yi);Ze[Xi(330)]((function(e,t){var r,n,i,s=Xi;r=Ze[s(337)],n=function(e){var t,r,n,i,o,a,c=s;return n=(r=e)[(t=Ki)(318)][t(311)],i=r[t(317)],o=i[t(333)],a=i[t(322)]=o.extend({_doReset:function(){this[t(313)]=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=t,r=o[e(335)][e(315)](this);return r[e(314)]-=4,r}}),r.SHA224=o._createHelper(a),r[t(316)]=o[t(336)](a),e[c(322)]},"object"===(i=Ki)(327)?e[i(312)]=n(Ei):n(r.CryptoJS)}));function Yi(){var e=["11054EUqtKr","251212yrNTZo","1422852SNMicE","SHA224","114558kLZsRp","512778nxjsQp","./core","amd","object","1068208hgKgHW","5237325BHYezR","createCommonjsModule","3KvauTG","./sha256","SHA256","5OHlGoX","_doFinalize","_createHmacHelper","commonjsGlobal","WordArray","exports","_hash","sigBytes","call","HmacSHA224","algo","lib"];return(Yi=function(){return e})()}var Ji=Qi;function Zi(){var e=["sigBytes","words","352276sKSrGO","high","create","floor","SHA512","7ulynZi","CryptoJS","extend","exports","879972casYDN","init","WordArray","function","257135PuZLiC","x64","object","algo","1246002YmjCMQ","toX32","./x64-core","apply","amd","6MILjty","low","call","_createHmacHelper","84525njqstp","clone","_process","Hasher","_data","./core","HmacSHA512","_hash","lib","createCommonjsModule","560848AnxyPx","_nDataBytes","9608391bvFbbg"];return(Zi=function(){return e})()}function Qi(e,t){var r=Zi();return(Qi=function(e,t){return r[e-=124]})(e,t)}!function(e,t){for(var r=Qi,n=e();;)try{if(227414===parseInt(r(145))/1+-parseInt(r(128))/2+-parseInt(r(136))/3+-parseInt(r(160))/4+-parseInt(r(132))/5*(parseInt(r(141))/6)+parseInt(r(124))/7*(parseInt(r(155))/8)+parseInt(r(157))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zi);Ze[Ji(154)]((function(e,t){var r,n,i;r=Ye,n=function(e){var t=Qi;return function(){var t=Qi,r=e,n=r[t(153)][t(148)],i=r[t(133)],s=i.Word,o=i[t(130)],a=r[t(135)];function c(){var e=t;return s[e(162)][e(139)](s,arguments)}var u=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=c()}();var d=a[t(164)]=n[t(126)]({_doReset:function(){var e=t;this[e(152)]=new(o[e(129)])([new(s[e(129)])(1779033703,4089235720),new(s[e(129)])(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new(s[e(129)])(1359893119,2917565137),new s.init(2600822924,725511199),new(s[e(129)])(528734635,4215389547),new(s[e(129)])(1541459225,327033209)])},_doProcessBlock:function(e,r){for(var n=t,i=this[n(152)][n(159)],s=i[0],o=i[1],a=i[2],c=i[3],d=i[4],h=i[5],f=i[6],p=i[7],m=s[n(161)],v=s[n(142)],y=o.high,g=o[n(142)],_=a[n(161)],b=a[n(142)],w=c[n(161)],S=c[n(142)],E=d[n(161)],I=d[n(142)],k=h[n(161)],A=h[n(142)],C=f[n(161)],x=f[n(142)],T=p.high,D=p[n(142)],P=m,B=v,M=y,F=g,U=_,R=b,L=w,O=S,z=E,N=I,j=k,H=A,V=C,W=x,$=T,G=D,q=0;q<80;q++){var X,K,Y=l[q];if(q<16)K=Y[n(161)]=0|e[r+2*q],X=Y[n(142)]=0|e[r+2*q+1];else{var J=l[q-15],Z=J[n(161)],Q=J[n(142)],ee=(Z>>>1|Q<<31)^(Z>>>8|Q<<24)^Z>>>7,te=(Q>>>1|Z<<31)^(Q>>>8|Z<<24)^(Q>>>7|Z<<25),re=l[q-2],ne=re.high,ie=re[n(142)],se=(ne>>>19|ie<<13)^(ne<<3|ie>>>29)^ne>>>6,oe=(ie>>>19|ne<<13)^(ie<<3|ne>>>29)^(ie>>>6|ne<<26),ae=l[q-7],ce=ae[n(161)],ue=ae[n(142)],le=l[q-16],de=le.high,he=le[n(142)];K=(K=(K=ee+ce+((X=te+ue)>>>0>>0?1:0))+se+((X+=oe)>>>0>>0?1:0))+de+((X+=he)>>>0>>0?1:0),Y.high=K,Y.low=X}var fe,pe=z&j^~z&V,me=N&H^~N&W,ve=P&M^P&U^M&U,ye=B&F^B&R^F&R,ge=(P>>>28|B<<4)^(P<<30|B>>>2)^(P<<25|B>>>7),_e=(B>>>28|P<<4)^(B<<30|P>>>2)^(B<<25|P>>>7),be=(z>>>14|N<<18)^(z>>>18|N<<14)^(z<<23|N>>>9),we=(N>>>14|z<<18)^(N>>>18|z<<14)^(N<<23|z>>>9),Se=u[q],Ee=Se[n(161)],Ie=Se.low,ke=$+be+((fe=G+we)>>>0>>0?1:0),Ae=_e+ye;$=V,G=W,V=j,W=H,j=z,H=N,z=L+(ke=(ke=(ke=ke+pe+((fe+=me)>>>0>>0?1:0))+Ee+((fe+=Ie)>>>0>>0?1:0))+K+((fe+=X)>>>0>>0?1:0))+((N=O+fe|0)>>>0>>0?1:0)|0,L=U,O=R,U=M,R=F,M=P,F=B,P=ke+(ge+ve+(Ae>>>0<_e>>>0?1:0))+((B=fe+Ae|0)>>>0>>0?1:0)|0}v=s.low=v+B,s[n(161)]=m+P+(v>>>0>>0?1:0),g=o[n(142)]=g+F,o.high=y+M+(g>>>0>>0?1:0),b=a.low=b+R,a.high=_+U+(b>>>0>>0?1:0),S=c[n(142)]=S+O,c[n(161)]=w+L+(S>>>0>>0?1:0),I=d[n(142)]=I+N,d.high=E+z+(I>>>0>>0?1:0),A=h[n(142)]=A+H,h.high=k+j+(A>>>0>>0?1:0),x=f[n(142)]=x+W,f[n(161)]=C+V+(x>>>0>>0?1:0),D=p[n(142)]=D+G,p.high=T+$+(D>>>0>>0?1:0)},_doFinalize:function(){var e=t,r=this[e(149)],n=r[e(159)],i=8*this[e(156)],s=8*r[e(158)];return n[s>>>5]|=128<<24-s%32,n[30+(s+128>>>10<<5)]=Math[e(163)](i/4294967296),n[31+(s+128>>>10<<5)]=i,r[e(158)]=4*n.length,this[e(147)](),this[e(152)][e(137)]()},clone:function(){var e=t,r=n[e(146)][e(143)](this);return r[e(152)]=this[e(152)][e(146)](),r},blockSize:32});r[t(164)]=n._createHelper(d),r[t(151)]=n[t(144)](d)}(),e[t(164)]},"object"===(i=Qi)(134)?e[i(127)]=n(Ei):"undefined"===i(131)&&(void 0)[i(140)]?(void 0)([i(150),i(138)],n):n(r[i(125)])}));function es(e,t){var r=ts();return(es=function(e,t){return r[e-=332]})(e,t)}!function(e,t){for(var r=es,n=e();;)try{if(333030===parseInt(r(346))/1+parseInt(r(333))/2+-parseInt(r(356))/3+-parseInt(r(332))/4+parseInt(r(350))/5*(-parseInt(r(339))/6)+-parseInt(r(336))/7*(parseInt(r(342))/8)+parseInt(r(358))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ts);Je((function(e,t){var r,n,i,s=es;r=Ze[s(349)],n=function(e){var t,r,n,i,o,a,c,u,l=s;return n=(r=e)[(t=es)(343)],i=n[t(352)],o=n.WordArray,a=r[t(344)],c=a[t(355)],u=a[t(345)]=c[t(338)]({_doReset:function(){var e=t;this[e(340)]=new(o[e(351)])([new(i[e(351)])(3418070365,3238371032),new(i[e(351)])(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new(i[e(351)])(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var e=t,r=c[e(334)][e(354)](this);return r.sigBytes-=16,r}}),r.SHA384=c[t(359)](u),r[t(348)]=c[t(353)](u),e[l(345)]},"object"===(i=es)(337)?e.exports=n(Ei):"undefined"===i(357)&&(void 0)[i(341)]?(void 0)(["./core","./x64-core",i(335)],n):n(r[i(347)])}));function ts(){var e=["_createHelper","792892wEUqfB","703218XcZnsR","_doFinalize","./sha512","2890258jUUNXE","object","extend","23190GXVFnn","_hash","amd","8AFKrrR","x64","algo","SHA384","660663qFQEgW","CryptoJS","HmacSHA384","commonjsGlobal","655TaypQx","init","Word","_createHmacHelper","call","SHA512","275556tcbwZZ","function","4770378ZgwCAx"];return(ts=function(){return e})()}var rs=is;function ns(){var e=["38274TXjjva","blockSize","object","words","exports","_createHelper","call","29789850QaCDPo","5546106ZVMjit","x64","7910tlXRZu","156nOCYDA","CryptoJS","1085783MgUJJL","extend","slice","976656sOQkEG","createCommonjsModule","push","52RyGdfD","create","sigBytes","algo","clone","high","_createHmacHelper","Hasher","340435lSIAIR","_state","length","426wGfUyO","lib","amd","ceil","low","./x64-core","_process","init","outputLength","SHA3"];return(ns=function(){return e})()}function is(e,t){var r=ns();return(is=function(e,t){return r[e-=389]})(e,t)}!function(e,t){for(var r=is,n=e();;)try{if(587329===-parseInt(r(391))/1+-parseInt(r(389))/2*(parseInt(r(418))/3)+-parseInt(r(397))/4*(parseInt(r(405))/5)+-parseInt(r(408))/6*(-parseInt(r(428))/7)+-parseInt(r(394))/8+parseInt(r(426))/9+parseInt(r(425))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ns);Ze[rs(395)]((function(e,t){var r,n,i;r=Ye,n=function(e){var t=is;return function(t){var r=is,n=e,i=n[r(409)],s=i.WordArray,o=i[r(404)],a=n[r(427)].Word,c=n[r(400)],u=[],l=[],d=[];!function(){for(var e=r,t=1,n=0,i=0;i<24;i++){u[t+5*n]=(i+1)*(i+2)/2%64;var s=(2*t+3*n)%5;t=n%5,n=s}for(t=0;t<5;t++)for(n=0;n<5;n++)l[t+5*n]=n+(2*t+3*n)%5*5;for(var o=1,c=0;c<24;c++){for(var h=0,f=0,p=0;p<7;p++){if(1&o){var m=(1<>>24)|4278255360&(a<<24|a>>>8),c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),(D=i[o])[n(402)]^=c,D[n(412)]^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,v=0,y=0;y<5;y++)m^=(D=i[p+5*y])[n(402)],v^=D.low;var g=h[p];g.high=m,g.low=v}for(p=0;p<5;p++){var _=h[(p+4)%5],b=h[(p+1)%5],w=b.high,S=b[n(412)];for(m=_[n(402)]^(w<<1|S>>>31),v=_.low^(S<<1|w>>>31),y=0;y<5;y++)(D=i[p+5*y])[n(402)]^=m,D[n(412)]^=v}for(var E=1;E<25;E++){var I=(D=i[E])[n(402)],k=D[n(412)],A=u[E];A<32?(m=I<>>32-A,v=k<>>32-A):(m=k<>>64-A,v=I<>>64-A);var C=h[l[E]];C[n(402)]=m,C[n(412)]=v}var x=h[0],T=i[0];for(x[n(402)]=T[n(402)],x[n(412)]=T[n(412)],p=0;p<5;p++)for(y=0;y<5;y++){var D=i[E=p+5*y],P=h[E],B=h[(p+1)%5+5*y],M=h[(p+2)%5+5*y];D[n(402)]=P[n(402)]^~B[n(402)]&M[n(402)],D.low=P[n(412)]^~B[n(412)]&M[n(412)]}D=i[0];var F=d[f];D.high^=F[n(402)],D[n(412)]^=F[n(412)]}},_doFinalize:function(){var e=r,n=this._data,i=n[e(421)];this._nDataBytes;var o=8*n[e(399)],a=32*this[e(419)];i[o>>>5]|=1<<24-o%32,i[(t[e(411)]((o+1)/a)*a>>>5)-1]|=128,n[e(399)]=4*i[e(407)],this[e(414)]();for(var c=this[e(406)],u=this.cfg[e(416)]/8,l=u/8,d=[],h=0;h>>24)|4278255360&(p<<24|p>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d[e(396)](m),d.push(p)}return new(s[e(415)])(d,u)},clone:function(){for(var e=r,t=o[e(401)][e(424)](this),n=t[e(406)]=this[e(406)][e(393)](0),i=0;i<25;i++)n[i]=n[i].clone();return t}});n.SHA3=o[r(423)](f),n.HmacSHA3=o[r(403)](f)}(Math),e[t(417)]},"object"===(i=is)(420)?e[i(422)]=n(Ei):n(r[i(390)])}));var ss=os;!function(e,t){for(var r=os,n=e();;)try{if(482410===parseInt(r(133))/1+parseInt(r(141))/2*(-parseInt(r(153))/3)+-parseInt(r(139))/4+-parseInt(r(143))/5*(-parseInt(r(130))/6)+parseInt(r(144))/7*(parseInt(r(126))/8)+parseInt(r(151))/9+-parseInt(r(148))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(as);Ze[ss(124)]((function(e,t){var r,n,i=ss;Ze[i(128)],e.exports=(r=Ei,n=i,function(e){var t=os,n=r,i=n[t(138)],s=i[t(129)],o=i[t(137)],a=n[t(122)],c=s[t(146)]([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=s[t(146)]([0,1518500249,1859775393,2400959708,2840853838]),f=s[t(146)]([1352829926,1548603684,1836072691,2053994217,0]),p=a[t(150)]=o.extend({_doReset:function(){var e=t;this[e(149)]=s[e(146)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,r){for(var n=t,i=0;i<16;i++){var s=r+i,o=e[s];e[s]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,p,w,S,E,I,k,A,C,x,T,D=this[n(149)].words,P=h[n(125)],B=f[n(125)],M=c[n(125)],F=u[n(125)],U=l.words,R=d.words;for(I=a=D[0],k=p=D[1],A=w=D[2],C=S=D[3],x=E=D[4],i=0;i<80;i+=1)T=a+e[r+M[i]]|0,T+=i<16?m(p,w,S)+P[0]:i<32?v(p,w,S)+P[1]:i<48?y(p,w,S)+P[2]:i<64?g(p,w,S)+P[3]:_(p,w,S)+P[4],T=(T=b(T|=0,U[i]))+E|0,a=E,E=S,S=b(w,10),w=p,p=T,T=I+e[r+F[i]]|0,T+=i<16?_(k,A,C)+B[0]:i<32?g(k,A,C)+B[1]:i<48?y(k,A,C)+B[2]:i<64?v(k,A,C)+B[3]:m(k,A,C)+B[4],T=(T=b(T|=0,R[i]))+x|0,I=x,x=C,C=b(A,10),A=k,k=T;T=D[1]+w+C|0,D[1]=D[2]+S+x|0,D[2]=D[3]+E+I|0,D[3]=D[4]+a+k|0,D[4]=D[0]+p+A|0,D[0]=T},_doFinalize:function(){var e=t,r=this[e(134)],n=r.words,i=8*this._nDataBytes,s=8*r[e(142)];n[s>>>5]|=128<<24-s%32,n[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),r.sigBytes=4*(n[e(136)]+1),this[e(145)]();for(var o=this._hash,a=o.words,c=0;c<5;c++){var u=a[c];a[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return o},clone:function(){var e=t,r=o[e(152)][e(131)](this);return r[e(149)]=this[e(149)][e(152)](),r}});function m(e,t,r){return e^t^r}function v(e,t,r){return e&t|~e&r}function y(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}n[t(150)]=o[t(132)](p),n.HmacRIPEMD160=o[t(123)](p)}(),r[n(150)])}));function os(e,t){var r=as();return(os=function(e,t){return r[e-=122]})(e,t)}function as(){var e=["create","CryptoJS","530690RiKTVR","_hash","RIPEMD160","721215wZfkMi","clone","6cZMGjN","algo","_createHmacHelper","createCommonjsModule","words","8qMsHPc","amd","commonjsGlobal","WordArray","433338IarRPa","call","_createHelper","408964zWojNL","_data","./core","length","Hasher","lib","498864OQqVzq","function","668698VKMqbh","sigBytes","55LcXeKa","317387PNFOcH","_process"];return(as=function(){return e})()}var cs=ls;!function(e,t){for(var r=ls,n=e();;)try{if(636017===-parseInt(r(137))/1*(parseInt(r(135))/2)+-parseInt(r(122))/3+parseInt(r(125))/4+-parseInt(r(119))/5*(-parseInt(r(112))/6)+parseInt(r(130))/7+-parseInt(r(128))/8*(-parseInt(r(144))/9)+parseInt(r(111))/10*(-parseInt(r(129))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(us);Ze[cs(134)]((function(e,t){var r,n;r=Ze[cs(127)],n=function(e){var t,r,n,i;n=(r=e)[(t=ls)(116)].Base,i=r[t(124)][t(114)],r[t(118)][t(120)]=n[t(138)]({init:function(e,r){var n=t;e=this[n(126)]=new(e[n(140)]),typeof r==n(131)&&(r=i.parse(r));var s=e[n(123)],o=4*s;r.sigBytes>o&&(r=e[n(142)](r)),r.clamp();for(var a=this[n(133)]=r[n(141)](),c=this[n(115)]=r[n(141)](),u=a.words,l=c.words,d=0;d>>2];e.sigBytes-=t}};s[n(218)]=h[n(148)]({cfg:h[n(226)][n(148)]({mode:m,padding:v}),reset:function(){var e,t=n;h[t(150)][t(152)](this);var r=this[t(226)],i=r.iv,s=r[t(165)];this[t(162)]==this[t(211)]?e=s[t(147)]:(e=s[t(204)],this[t(180)]=1),this[t(141)]&&this[t(141)][t(183)]==e?this[t(141)][t(208)](this,i&&i[t(156)]):(this[t(141)]=e.call(s,this,i&&i[t(156)]),this[t(141)].__creator=e)},_doProcessBlock:function(e,t){var r=n;this[r(141)][r(200)](e,t)},_doFinalize:function(){var e,t=n,r=this.cfg[t(181)];return this[t(162)]==this[t(211)]?(r[t(190)](this._data,this[t(176)]),e=this[t(187)](!!t(179))):(e=this[t(187)](!!t(179)),r[t(214)](e)),e},blockSize:4});var y=s.CipherParams=o[n(148)]({init:function(e){this[n(220)](e)},toString:function(e){var t=n;return(e||this.formatter)[t(210)](this)}}),g=(i[n(157)]={})[n(224)]={stringify:function(e){var t=n,r=e[t(199)],i=e[t(217)];return(i?a[t(216)]([1398893684,1701076831]).concat(i).concat(r):r).toString(l)},parse:function(e){var t,r=n,i=l[r(191)](e),s=i[r(156)];return 1398893684==s[0]&&1701076831==s[1]&&(t=a[r(216)](s[r(186)](2,4)),s.splice(0,4),i.sigBytes-=16),y[r(216)]({ciphertext:i,salt:t})}},_=s[n(207)]=o.extend({cfg:o[n(148)]({format:g}),encrypt:function(e,t,r,i){var s=n;i=this[s(226)][s(148)](i);var o=e[s(147)](r,i),a=o.finalize(t),c=o[s(226)];return y[s(216)]({ciphertext:a,key:r,iv:c.iv,algorithm:e,mode:c[s(165)],padding:c[s(181)],blockSize:e[s(176)],formatter:i[s(157)]})},decrypt:function(e,t,r,i){var s=n;return i=this.cfg[s(148)](i),t=this[s(171)](t,i[s(157)]),e[s(204)](r,i)[s(206)](t[s(199)])},_parse:function(e,t){var r=n;return typeof e==r(145)?t[r(191)](e,this):e}}),b=(i[n(221)]={})[n(224)]={execute:function(e,t,r,i,s){var o=n;if(!i&&(i=a[o(198)](8)),s)c=d[o(216)]({keySize:t+r,hasher:s})[o(154)](e,i);else var c=d[o(216)]({keySize:t+r})[o(154)](e,i);var u=a[o(216)](c[o(156)][o(186)](t),4*r);return c[o(174)]=4*t,y[o(216)]({key:c,iv:u,salt:i})}},w=s[n(203)]=_[n(148)]({cfg:_[n(226)][n(148)]({kdf:b}),encrypt:function(e,t,r,i){var s=n,o=(i=this[s(226)].extend(i))[s(221)].execute(r,e[s(212)],e.ivSize,i[s(217)],i[s(202)]);i.iv=o.iv;var a=_[s(195)].call(this,e,t,o[s(178)],i);return a[s(220)](o),a},decrypt:function(e,t,r,i){var s=n;i=this.cfg.extend(i),t=this._parse(t,i[s(157)]);var o=i[s(221)][s(182)](r,e.keySize,e[s(149)],t[s(217)],i[s(202)]);return i.iv=o.iv,_[s(184)].call(this,e,t,o.key,i)}})}()},(i=vs)(167)==i(167)?e[i(219)]=n(Ei):n(r[i(225)])}));function ys(){var e=["format","lib","./core","createCommonjsModule","3022560PlNFZX","_xformMode","Utf8","commonjsGlobal","mode","Base","object","5gNFTHT","817456ulCQvZ","algo","_parse","6710950yrSRLh","_append","sigBytes","./evpkdf","blockSize","_doFinalize","key","flush","_minBufferSize","padding","execute","__creator","decrypt","7482qwtrCE","slice","_process","_key","_cipher","pad","parse","encryptBlock","330869xlKmIf","30wEvmJL","encrypt","_doReset","Encryptor","random","ciphertext","processBlock","EvpKDF","hasher","PasswordBasedCipher","createDecryptor","amd","finalize","SerializableCipher","init","enc","stringify","_ENC_XFORM_MODE","keySize","StreamCipher","unpad","Decryptor","create","salt","BlockCipher","exports","mixIn","kdf","decryptBlock","Base64","OpenSSL","CryptoJS","cfg","3241074scEdKi","_mode","BlockCipherMode","120OznKSa","Pkcs7","string","_iv","createEncryptor","extend","ivSize","reset","1977696OQNJPY","call","Cipher","compute","_prevBlock","words"];return(ys=function(){return e})()}var gs=_s;!function(e,t){for(var r=_s,n=e();;)try{if(614509===-parseInt(r(301))/1+parseInt(r(290))/2*(parseInt(r(303))/3)+-parseInt(r(279))/4+parseInt(r(286))/5*(-parseInt(r(282))/6)+-parseInt(r(300))/7+-parseInt(r(296))/8+parseInt(r(283))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bs);Ze[gs(292)]((function(e,t){var r,n,i,s=gs;r=Ze[s(288)],n=function(e){var t=s;return e[t(287)][t(297)]=function(){var r=t,n=e[r(298)][r(280)][r(284)]();function i(e,t,n,i){var s,o=r,a=this[o(295)];a?(s=a[o(281)](0),this._iv=void 0):s=this[o(304)],i.encryptBlock(s,0);for(var c=0;c>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var s=n.Encryptor=n[r(431)]({processBlock:function(e,t){var n,s=r,o=this[s(414)],a=o[s(415)],c=this._iv,u=this[s(416)];c&&(u=this._counter=c[s(425)](0),this._iv=void 0),0===((n=u)[0]=i(n[0]))&&(n[1]=i(n[1]));var l=u.slice(0);o.encryptBlock(l,0);for(var d=0;d>>2]|=o<<24-a%4*8,e[n(437)]+=o},unpad:function(e){var r=t,n=255&e.words[e.sigBytes-1>>>2];e[r(437)]-=n}},e[t(435)].Ansix923},"object"===(i=Fs)(449)?e[i(456)]=n(Ei):"undefined"===i(457)&&(void 0)[i(450)]?(void 0)(["./core",i(452)],n):n(r[i(459)])}));var Us=Rs;function Rs(e,t){var r=Ls();return(Rs=function(e,t){return r[e-=172]})(e,t)}!function(e,t){for(var r=Rs,n=e();;)try{if(364721===parseInt(r(194))/1*(-parseInt(r(180))/2)+-parseInt(r(186))/3+-parseInt(r(174))/4+-parseInt(r(172))/5*(-parseInt(r(176))/6)+-parseInt(r(196))/7*(-parseInt(r(173))/8)+-parseInt(r(183))/9*(-parseInt(r(184))/10)+parseInt(r(188))/11*(parseInt(r(198))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ls);Ze[Us(182)]((function(e,t){var r,n,i,s=Us;r=Ze[s(191)],n=function(e){var t=s;return e[t(193)].Iso10126={pad:function(r,n){var i=t,s=4*n,o=s-r.sigBytes%s;r[i(177)](e[i(185)][i(175)][i(181)](o-1)).concat(e[i(185)][i(175)].create([o<<24],1))},unpad:function(e){var r=t,n=255&e[r(178)][e[r(187)]-1>>>2];e[r(187)]-=n}},e[t(193)][t(192)]},(i=Rs)(190)==i(190)?e.exports=n(Ei):"undefined"===i(197)&&(void 0)[i(195)]?(void 0)(["./core",i(189)],n):n(r[i(179)])}));function Ls(){var e=["createCommonjsModule","252QufxyQ","44140EfbNyz","lib","583224wlVnmP","sigBytes","88891zZSijM","./cipher-core","object","commonjsGlobal","Iso10126","pad","1853SpQrfl","amd","7973wnCKiZ","function","1476AYRXWB","5nkycpo","1864QXJTtX","963556xabJgI","WordArray","160278rXhajc","concat","words","CryptoJS","658kVLCDp","random"];return(Ls=function(){return e})()}function Os(){var e=["2449443tHDHRx","2IENGid","CryptoJS","unpad","4002996yYCrca","create","pad","sigBytes","5moUxZo","exports","1946850AiXifs","commonjsGlobal","6590690mKJcNT","14zsJyMY","./cipher-core","Iso97971","lib","256CmOvfk","function","./core","WordArray","672112gqPEAk","concat","28635255cntaTu","313245AFiMlE","object","ZeroPadding"];return(Os=function(){return e})()}!function(e,t){for(var r=zs,n=e();;)try{if(643184===parseInt(r(472))/1*(-parseInt(r(452))/2)+parseInt(r(451))/3+parseInt(r(455))/4*(-parseInt(r(459))/5)+-parseInt(r(461))/6*(parseInt(r(464))/7)+parseInt(r(468))/8*(-parseInt(r(448))/9)+parseInt(r(463))/10+parseInt(r(447))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Os);Je((function(e,t){var r,n,i,s=zs;r=Ze[s(462)],n=function(e){var t=s;return e.pad[t(466)]={pad:function(r,n){var i=t;r[i(446)](e[i(467)][i(471)][i(456)]([2147483648],1)),e.pad.ZeroPadding.pad(r,n)},unpad:function(r){var n=t;e[n(457)][n(450)][n(454)](r),r[n(458)]--}},e.pad[t(466)]},"object"===(i=zs)(449)?e[i(460)]=n(Ei):"undefined"===i(469)&&(void 0).amd?(void 0)([i(470),i(465)],n):n(r[i(453)])}));function zs(e,t){var r=Os();return(zs=function(e,t){return r[e-=446]})(e,t)}var Ns=js;function js(e,t){var r=Hs();return(js=function(e,t){return r[e-=422]})(e,t)}function Hs(){var e=["words","createCommonjsModule","amd","commonjsGlobal","14GvNvXe","3623112ElfByb","3219849KTJocU","543OJqdVS","sigBytes","./core","4150gnRAtW","20EroajK","5bdtogr","996835IMndnF","3099426FGWtOZ","function","3185061qnfrze","ZeroPadding","20924ElhSCg","pad","clamp"];return(Hs=function(){return e})()}!function(e,t){for(var r=js,n=e();;)try{if(636461===parseInt(r(442))/1*(-parseInt(r(440))/2)+-parseInt(r(437))/3*(parseInt(r(427))/4)+parseInt(r(422))/5+-parseInt(r(423))/6+-parseInt(r(434))/7*(-parseInt(r(435))/8)+parseInt(r(436))/9*(parseInt(r(441))/10)+parseInt(r(425))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hs);Ze[Ns(431)]((function(e,t){var r,n,i=Ns;Ze[i(433)],e.exports=(n=i,(r=Ei).pad.ZeroPadding={pad:function(e,t){var r=js,n=4*t;e[r(429)](),e[r(438)]+=n-(e[r(438)]%n||n)},unpad:function(e){var t=js,r=e[t(430)],n=e.sigBytes-1;for(n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e[t(438)]=n+1;break}}},r[n(428)][n(426)])}));var Vs=$s;function Ws(){var e=["706686MlcJDq","NoPadding","8EPMwNP","commonjsGlobal","7127199ljedvW","14OITYGF","146915FNksNX","52CLXFyl","object","237816bNmiRT","function","./core","./cipher-core","842684Eqrwaa","13684550iZhlpd","pad","createCommonjsModule","amd","CryptoJS","399603xWTJaW"];return(Ws=function(){return e})()}function $s(e,t){var r=Ws();return($s=function(e,t){return r[e-=252]})(e,t)}!function(e,t){for(var r=$s,n=e();;)try{if(668188===-parseInt(r(266))/1+parseInt(r(255))/2*(-parseInt(r(252))/3)+-parseInt(r(260))/4*(parseInt(r(259))/5)+parseInt(r(253))/6*(parseInt(r(258))/7)+parseInt(r(262))/8+parseInt(r(257))/9+parseInt(r(267))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ws);Ze[Vs(269)]((function(e,t){var r,n,i,s=Vs;r=Ze[s(256)],n=function(e){var t=s;return e[t(268)].NoPadding={pad:function(){},unpad:function(){}},e[t(268)][t(254)]},"object"===(i=$s)(261)?e.exports=n(Ei):"undefined"===i(263)&&(void 0)[i(270)]?(void 0)([i(264),i(265)],n):n(r[i(271)])}));function Gs(){var e=["commonjsGlobal","531BMKqHY","./cipher-core","4152zbpGff","CipherParams","246385bPjYCq","6479539JQCwJH","lib","Hex","56rznhmw","CryptoJS","function","309539miKkOh","exports","45565lHhrhn","ciphertext","12eXKzmF","860968jtqNzJ","parse","./core","toString","create","4jEfjHM","154569cfejBm","116020IjfagE","object","8ushInR","format"];return(Gs=function(){return e})()}function qs(e,t){var r=Gs();return(qs=function(e,t){return r[e-=330]})(e,t)}!function(e,t){for(var r=qs,n=e();;)try{if(743894===parseInt(r(340))/1*(parseInt(r(354))/2)+parseInt(r(351))/3*(parseInt(r(350))/4)+-parseInt(r(333))/5*(parseInt(r(344))/6)+parseInt(r(337))/7*(parseInt(r(345))/8)+-parseInt(r(357))/9*(parseInt(r(352))/10)+parseInt(r(334))/11+-parseInt(r(331))/12*(parseInt(r(342))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Gs);Je((function(e,t){var r,n,i,s=qs;r=Ze[s(356)],n=function(e){var t,r,n,i,o=s;return n=(r=e)[(t=qs)(335)][t(332)],i=r.enc[t(336)],r[t(355)][t(336)]={stringify:function(e){var r=t;return e[r(343)][r(348)](i)},parse:function(e){var r=t,s=i[r(346)](e);return n[r(349)]({ciphertext:s})}},e[o(355)].Hex},(i=qs)(353)==i(353)?e[i(341)]=n(Ei):"undefined"===i(339)&&(void 0).amd?(void 0)([i(347),i(330)],n):n(r[i(338)])}));var Xs=Ks;function Ks(e,t){var r=Ys();return(Ks=function(e,t){return r[e-=359]})(e,t)}function Ys(){var e=["_invKeySchedule","714540NZinox","AES","_createHelper","sigBytes","_key","_nRounds","3790bzhEVP","_doCryptBlock","./enc-base64","function","./cipher-core","object","BlockCipher","110JulAXB","_keySchedule","670671pybFEr","_keyPriorReset","commonjsGlobal","86234DkldjM","5316nKwKMJ","1179320TEkNFp","exports","16mKhWtI","algo","extend","./core","CryptoJS","./md5","242508RsQfpo","createCommonjsModule","lib","2200040XWWBLe"];return(Ys=function(){return e})()}!function(e,t){for(var r=Ks,n=e();;)try{if(584994===parseInt(r(362))/1*(parseInt(r(366))/2)+-parseInt(r(377))/3+parseInt(r(364))/4+-parseInt(r(383))/5*(parseInt(r(363))/6)+-parseInt(r(372))/7+-parseInt(r(375))/8+-parseInt(r(359))/9*(-parseInt(r(390))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ys);Ze[Xs(373)]((function(e,t){var r,n,i;r=Ze[Xs(361)],n=function(e){return function(){var t=Ks,r=e,n=r[t(374)][t(389)],i=r[t(367)],s=[],o=[],a=[],c=[],u=[],l=[],d=[],h=[],f=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^255&i^99,s[r]=i,o[i]=r;var m=e[r],v=e[m],y=e[v],g=257*e[i]^16843008*i;a[r]=g<<24|g>>>8,c[r]=g<<16|g>>>16,u[r]=g<<8|g>>>24,l[r]=g,g=16843009*y^65537*v^257*m^16843008*r,d[i]=g<<24|g>>>8,h[i]=g<<16|g>>>16,f[i]=g<<8|g>>>24,p[i]=g,r?(r=m^e[e[e[y^m]]],n^=e[e[n]]):r=n=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],v=i[t(378)]=n[t(368)]({_doReset:function(){var e=t;if(!this._nRounds||this[e(360)]!==this._key){for(var r=this[e(360)]=this[e(381)],n=r.words,i=r[e(380)]/4,o=4*((this[e(382)]=i+6)+1),a=this[e(391)]=[],c=0;c6&&c%i==4&&(v=s[v>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v]):(v=s[(v=v<<8|v>>>24)>>>24]<<24|s[v>>>16&255]<<16|s[v>>>8&255]<<8|s[255&v],v^=m[c/i|0]<<24),a[c]=a[c-i]^v);for(var u=this[e(376)]=[],l=0;l>>24]]^h[s[v>>>16&255]]^f[s[v>>>8&255]]^p[s[255&v]]}}},encryptBlock:function(e,r){var n=t;this[n(384)](e,r,this[n(391)],a,c,u,l,s)},decryptBlock:function(e,r){var n=t,i=e[r+1];e[r+1]=e[r+3],e[r+3]=i,this[n(384)](e,r,this[n(376)],d,h,f,p,o),i=e[r+1],e[r+1]=e[r+3],e[r+3]=i},_doCryptBlock:function(e,r,n,i,s,o,a,c){for(var u=this[t(382)],l=e[r]^n[0],d=e[r+1]^n[1],h=e[r+2]^n[2],f=e[r+3]^n[3],p=4,m=1;m>>24]^s[d>>>16&255]^o[h>>>8&255]^a[255&f]^n[p++],y=i[d>>>24]^s[h>>>16&255]^o[f>>>8&255]^a[255&l]^n[p++],g=i[h>>>24]^s[f>>>16&255]^o[l>>>8&255]^a[255&d]^n[p++],_=i[f>>>24]^s[l>>>16&255]^o[d>>>8&255]^a[255&h]^n[p++];l=v,d=y,h=g,f=_}v=(c[l>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&f])^n[p++],y=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[f>>>8&255]<<8|c[255&l])^n[p++],g=(c[h>>>24]<<24|c[f>>>16&255]<<16|c[l>>>8&255]<<8|c[255&d])^n[p++],_=(c[f>>>24]<<24|c[l>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^n[p++],e[r]=v,e[r+1]=y,e[r+2]=g,e[r+3]=_},keySize:8});r[t(378)]=n[t(379)](v)}(),e.AES},(i=Ks)(388)==i(388)?e[i(365)]=n(Ei):"undefined"===i(386)&&(void 0).amd?(void 0)([i(369),i(385),i(371),"./evpkdf",i(387)],n):n(r[i(370)])}));var Js=Zs;function Zs(e,t){var r=Qs();return(Zs=function(e,t){return r[e-=154]})(e,t)}!function(e,t){for(var r=Zs,n=e();;)try{if(370118===-parseInt(r(197))/1+parseInt(r(165))/2+parseInt(r(159))/3*(-parseInt(r(190))/4)+parseInt(r(162))/5+parseInt(r(160))/6*(parseInt(r(173))/7)+-parseInt(r(176))/8*(-parseInt(r(164))/9)+parseInt(r(163))/10*(parseInt(r(180))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Qs);Ze[Js(177)]((function(e,t){var r,n,i,s=Js;r=Ze[s(188)],n=function(e){var t=s;return function(){var t=Zs,r=e,n=r[t(169)],i=n[t(181)],s=n.BlockCipher,o=r[t(156)],a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=o.DES=s.extend({_doReset:function(){for(var e=t,r=this[e(166)][e(198)],n=[],i=0;i<56;i++){var s=a[i]-1;n[i]=r[s>>>5]>>>31-s%32&1}for(var o=this[e(175)]=[],l=0;l<16;l++){var d=o[l]=[],h=u[l];for(i=0;i<24;i++)d[i/6|0]|=n[(c[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=n[28+(c[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var f=this[e(157)]=[];for(i=0;i<16;i++)f[i]=o[15-i]},encryptBlock:function(e,r){var n=t;this[n(155)](e,r,this[n(175)])},decryptBlock:function(e,r){var n=t;this._doCryptBlock(e,r,this[n(157)])},_doCryptBlock:function(e,r,n){var i=t;this._lBlock=e[r],this._rBlock=e[r+1],f[i(174)](this,4,252645135),f[i(174)](this,16,65535),p[i(174)](this,2,858993459),p[i(174)](this,8,16711935),f.call(this,1,1431655765);for(var s=0;s<16;s++){for(var o=n[s],a=this[i(192)],c=this._rBlock,u=0,h=0;h<8;h++)u|=l[h][((c^o[h])&d[h])>>>0];this[i(192)]=c,this[i(154)]=a^u}var m=this[i(192)];this[i(192)]=this[i(154)],this._rBlock=m,f[i(174)](this,1,1431655765),p[i(174)](this,8,16711935),p[i(174)](this,2,858993459),f[i(174)](this,16,65535),f.call(this,4,252645135),e[r]=this[i(192)],e[r+1]=this[i(154)]},keySize:2,ivSize:2,blockSize:2});function f(e,r){var n=t,i=(this._lBlock>>>e^this[n(154)])&r;this[n(154)]^=i,this._lBlock^=i<>>e^this[n(192)])&r;this._lBlock^=i,this[n(154)]^=i<192.");var n=r[e(187)](0,2),s=r[e(178)]<4?r.slice(0,2):r[e(187)](2,4),o=r.length<6?r[e(187)](0,2):r[e(187)](4,6);this[e(171)]=h.createEncryptor(i[e(184)](n)),this._des2=h[e(172)](i[e(184)](s)),this[e(193)]=h[e(172)](i.create(o))},encryptBlock:function(e,r){var n=t;this[n(171)].encryptBlock(e,r),this[n(168)][n(182)](e,r),this[n(193)][n(185)](e,r)},decryptBlock:function(e,r){var n=t;this[n(193)][n(182)](e,r),this[n(168)][n(185)](e,r),this[n(171)][n(182)](e,r)},keySize:6,ivSize:2,blockSize:2});r.TripleDES=s[t(194)](m)}(),e[t(170)]},(i=Zs)(161)==i(161)?e[i(191)]=n(Ei):n(r[i(179)])}));function Qs(){var e=["_subKeys","872yPeODx","createCommonjsModule","length","CryptoJS","1837gFUCjw","WordArray","decryptBlock","./core","create","encryptBlock","./evpkdf","slice","commonjsGlobal","./cipher-core","2808bbqzvq","exports","_lBlock","_des3","_createHelper","./enc-base64","amd","718239bjUhie","words","_rBlock","_doCryptBlock","algo","_invSubKeys","DES","1098EmFjCf","6PyOmkt","object","3337030FxAnjc","23050qbevDa","12285UYlaVs","237516HpMBCt","_key","./md5","_des2","lib","TripleDES","_des1","createEncryptor","177835LXqurz","call"];return(Qs=function(){return e})()}var eo=to;function to(e,t){var r=ro();return(to=function(e,t){return r[e-=477]})(e,t)}function ro(){var e=["object","amd","240993XcpoMC","lib","./evpkdf","words","./core","2667203oMOYfT","cfg","_createHelper","CryptoJS","call","6YhvAjH","drop","extend","5396838TrbtJq","924855XDpvQs","340dVbOZJ","createCommonjsModule","commonjsGlobal","12WQQTGL","7364038SxlcgM","RC4Drop","_doReset","710494pWgNui","867205QemDak","RC4","function","8xFutqo","StreamCipher","_key","8ZISTUX","algo","./md5"];return(ro=function(){return e})()}!function(e,t){for(var r=to,n=e();;)try{if(500189===parseInt(r(481))/1+-parseInt(r(503))/2*(parseInt(r(507))/3)+-parseInt(r(485))/4*(parseInt(r(482))/5)+-parseInt(r(506))/6+parseInt(r(498))/7*(parseInt(r(488))/8)+parseInt(r(493))/9*(parseInt(r(508))/10)+parseInt(r(478))/11*(parseInt(r(477))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ro);Ze[eo(509)]((function(e,t){var r,n,i;r=Ze[eo(510)],n=function(e){return function(){var t=to,r=e,n=r[t(494)][t(486)],i=r[t(489)],s=i.RC4=n.extend({_doReset:function(){for(var e=t,r=this[e(487)],n=r[e(496)],i=r.sigBytes,s=this._S=[],o=0;o<256;o++)s[o]=o;o=0;for(var a=0;o<256;o++){var c=o%i,u=n[c>>>2]>>>24-c%4*8&255;a=(a+s[o]+u)%256;var l=s[o];s[o]=s[a],s[a]=l}this._i=this._j=0},_doProcessBlock:function(e,r){var n=t;e[r]^=o[n(502)](this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var s=e[t];e[t]=e[r],e[r]=s,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}r[t(483)]=n._createHelper(s);var a=i[t(479)]=s[t(505)]({cfg:s.cfg[t(505)]({drop:192}),_doReset:function(){var e=t;s[e(480)][e(502)](this);for(var r=this[e(499)][e(504)];r>0;r--)o[e(502)](this)}});r.RC4Drop=n[t(500)](a)}(),e.RC4},(i=to)(491)==i(491)?e.exports=n(Ei):"undefined"===i(484)&&(void 0)[i(492)]?(void 0)([i(497),"./enc-base64",i(490),i(495),"./cipher-core"],n):n(r[i(501)])}));var no=io;function io(e,t){var r=so();return(io=function(e,t){return r[e-=348]})(e,t)}function so(){var e=["_key","./enc-base64","lib","cfg","StreamCipher","500241wtCjvS","63675QRBKaE","exports","7382HgDgej","267592VroQuM","10qdpeep","./cipher-core","_createHelper","createCommonjsModule","algo","amd","153uVNCKZ","words","1393ZjOyvF","CryptoJS","4099023ZIfYvQ","Rabbit","1478896rUWdpI","./evpkdf","2082zRTsyL","call","extend","./md5"];return(so=function(){return e})()}!function(e,t){for(var r=io,n=e();;)try{if(269211===parseInt(r(370))/1+-parseInt(r(373))/2*(-parseInt(r(353))/3)+-parseInt(r(374))/4+-parseInt(r(371))/5+parseInt(r(361))/6*(-parseInt(r(355))/7)+parseInt(r(359))/8+parseInt(r(357))/9*(-parseInt(r(375))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(so);Ze[no(350)]((function(e,t){var r,n;e[io(372)]=(r=Ei,n=io,function(){var e=io,t=r,n=t[e(367)][e(369)],i=t[e(351)],s=[],o=[],a=[],c=i[e(358)]=n[e(363)]({_doReset:function(){for(var t=e,r=this[t(365)][t(354)],n=this[t(368)].iv,i=0;i<4;i++)r[i]=16711935&(r[i]<<8|r[i]>>>24)|4278255360&(r[i]<<24|r[i]>>>8);var s=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],o=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,i=0;i<4;i++)u[t(362)](this);for(i=0;i<8;i++)o[i]^=s[i+4&7];if(n){var a=n[t(354)],c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(o[0]^=d,o[1]^=f,o[2]^=h,o[3]^=p,o[4]^=d,o[5]^=f,o[6]^=h,o[7]^=p,i=0;i<4;i++)u[t(362)](this)}},_doProcessBlock:function(t,r){var n=e,i=this._X;u[n(362)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),t[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}t.Rabbit=n[e(349)](c)}(),r[n(358)])}));var oo=ao;function ao(e,t){var r=co();return(ao=function(e,t){return r[e-=183]})(e,t)}function co(){var e=["5970MSFkSL","85TLscNp","162VsiBwh","13rYYUrM","7jZppsD","createCommonjsModule","extend","./enc-base64","object","41007MDshtk","./md5","572013USACOS","RabbitLegacy","25406TzBiqr","call","lib","199336AoOmxW","words","exports","_createHelper","64fuMwfV","118210zyQhrv","./evpkdf","amd","2926uOEHQe","function","algo","./cipher-core","528JeagyD","_key"];return(co=function(){return e})()}!function(e,t){for(var r=ao,n=e();;)try{if(118914===-parseInt(r(191))/1*(-parseInt(r(201))/2)+parseInt(r(197))/3*(-parseInt(r(208))/4)+-parseInt(r(189))/5*(-parseInt(r(188))/6)+-parseInt(r(192))/7*(parseInt(r(204))/8)+-parseInt(r(190))/9*(-parseInt(r(209))/10)+parseInt(r(212))/11*(parseInt(r(186))/12)+-parseInt(r(199))/13)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(co);Ze[oo(193)]((function(e,t){var r,n,i;r=Ye,n=function(e){var t=ao;return function(){var t=ao,r=e,n=r[t(203)].StreamCipher,i=r[t(184)],s=[],o=[],a=[],c=i[t(200)]=n[t(194)]({_doReset:function(){var e=t,r=this[e(187)][e(205)],n=this.cfg.iv,i=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],s=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var o=0;o<4;o++)u[e(202)](this);for(o=0;o<8;o++)s[o]^=i[o+4&7];if(n){var a=n.words,c=a[0],l=a[1],d=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),h=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),f=d>>>16|4294901760&h,p=h<<16|65535&d;for(s[0]^=d,s[1]^=f,s[2]^=h,s[3]^=p,s[4]^=d,s[5]^=f,s[6]^=h,s[7]^=p,o=0;o<4;o++)u[e(202)](this)}},_doProcessBlock:function(e,r){var n=t,i=this._X;u[n(202)](this),s[0]=i[0]^i[5]>>>16^i[3]<<16,s[1]=i[2]^i[7]>>>16^i[5]<<16,s[2]=i[4]^i[1]>>>16^i[7]<<16,s[3]=i[6]^i[3]>>>16^i[1]<<16;for(var o=0;o<4;o++)s[o]=16711935&(s[o]<<8|s[o]>>>24)|4278255360&(s[o]<<24|s[o]>>>8),e[r+o]^=s[o]},blockSize:4,ivSize:2});function u(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,u=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^u}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}r[t(200)]=n[t(207)](c)}(),e[t(200)]},"object"===(i=ao)(196)?e[i(206)]=n(Ei):"undefined"===i(183)&&(void 0)[i(211)]?(void 0)(["./core",i(195),i(198),i(210),i(185)],n):n(r.CryptoJS)}));const uo=lo;function lo(e,t){const r=ho();return(lo=function(e,t){return r[e-=351]})(e,t)}function ho(){const e=["1581998KgTYbC","482649vPyPxl","extend","CryptoJS","713770RDAdXJ","611296okRJra","pbox","createCommonjsModule","words","left","algo","sbox","98dUHxxv","./evpkdf","9dWUXne","BlockCipher","object","exports","commonjsGlobal","8435485MSjvFC","20ADOsJD","right","Blowfish","_createHelper","sigBytes","2110752QihInT","_key","./md5","function","_keyPriorReset","22324710wYdheN","./core","amd"];return(ho=function(){return e})()}!function(e,t){const r=lo,n=e();for(;;)try{if(892408===-parseInt(r(368))/1+-parseInt(r(364))/2+-parseInt(r(365))/3*(parseInt(r(351))/4)+parseInt(r(383))/5+parseInt(r(356))/6+-parseInt(r(376))/7*(parseInt(r(369))/8)+parseInt(r(378))/9*(parseInt(r(361))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ho);Ze[uo(371)]((function(e,t){const r=uo;!function(t,r,n){const i=lo;"object"===i(380)?e[i(381)]=r(Ei):"undefined"===i(359)&&(void 0)[i(363)]?(void 0)([i(362),"./enc-base64",i(358),i(377),"./cipher-core"],r):r(t[i(367)])}(Ze[r(382)],(function(e){const t=r;return function(){const t=lo;var r=e,n=r.lib[t(379)],i=r[t(374)];const s=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var c={pbox:[],sbox:[]};function u(e,r){const n=t;let i=r>>24&255,s=r>>16&255,o=r>>8&255,a=255&r,c=e[n(375)][0][i]+e[n(375)][1][s];return c^=e[n(375)][2][o],c+=e[n(375)][3][a],c}function l(e,r,n){const i=t;let o,a=r,c=n;for(let t=0;t=n&&(s=0);let c=0,u=0,d=0;for(let t=0;t<18;t+=2)d=l(e,c,u),c=d[i(373)],u=d[i(352)],e[i(370)][t]=c,e[i(370)][t+1]=u;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)d=l(e,c,u),c=d[i(373)],u=d.right,e.sbox[t][r]=c,e[i(375)][t][r+1]=u}(c,n,i)}},encryptBlock:function(e,r){const n=t;var i=l(c,e[r],e[r+1]);e[r]=i[n(373)],e[r+1]=i.right},decryptBlock:function(e,r){const n=t;var i=function(e,r,n){const i=t;let s,o=r,a=n;for(let t=17;t>1;--t)o^=e.pbox[t],a=u(e,o)^a,s=o,o=a,a=s;return s=o,o=a,a=s,a^=e[i(370)][1],o^=e.pbox[0],{left:o,right:a}}(c,e[r],e[r+1]);e[r]=i[n(373)],e[r+1]=i.right},blockSize:2,keySize:4,ivSize:2});r[t(353)]=n[t(354)](d)}(),e[t(353)]}))}));var fo=po;function po(e,t){var r=mo();return(po=function(e,t){return r[e-=199]})(e,t)}function mo(){var e=["./mode-ctr-gladman","2438079qusVjd","./mode-ecb","CryptoJS","./sha256","./pad-iso97971","./ripemd160","2349780QeuDOk","./pad-zeropadding","238614NIwaZY","1TGhOPk","./tripledes","./mode-ofb","./pad-ansix923","object","8TEyMjt","exports","./sha224","commonjsGlobal","createCommonjsModule","./pad-iso10126","./rabbit","./enc-base64url","15QXtdPr","100424cdwkXf","./hmac","./aes","./pbkdf2","./enc-utf16","./blowfish","5272580qDqJKY","function","2347983fTluyV","./mode-ctr","./mode-cfb","./cipher-core","./sha512","./sha384","./sha3","./evpkdf","439857EjinZf"];return(mo=function(){return e})()}function vo(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}function yo(e,t,r){const n=go;let i=arguments[n(373)]>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),r=new Uint8Array(r);const s=e.byteLength;let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(392)](c)):(c&=31,u=1===c||5===c),u){const i=e.slice(o+4+2,o+4+a);let s=new(bi[n(394)].ctr)(t,new bi.Counter(r));const c=s[n(379)](i);s=null,e[n(387)](c,o+4+2)}o=o+4+a}return e}function go(e,t){const r=bo();return(go=function(e,t){return r[e-=370]})(e,t)}function _o(e,t,r){const n=go;if(e.byteLength<=30)return e;const i=e[n(383)](32);let s=new(bi[n(394)][n(382)])(t,new(bi[n(389)])(r));const o=s[n(379)](i);return s=null,e[n(387)](o,32),e}function bo(){const e=["2VjCxQu","decrypt","939864HdsMGq","452416mAbZGT","ctr","slice","toString","3CEVEmA","catch","set","63POSyAa","Counter","6435iClXTR","1422PqKqRX","includes","WordArray","ModeOfOperation","2070rqtrmn","550vylWqv","create","length","then","64182NKIdZP","9480lSqWRz","751075HQMIHS"];return(bo=function(){return e})()}!function(e,t){for(var r=po,n=e();;)try{if(207074===parseInt(r(237))/1*(parseInt(r(236))/2)+-parseInt(r(226))/3+parseInt(r(210))/4*(-parseInt(r(209))/5)+parseInt(r(234))/6+-parseInt(r(228))/7*(parseInt(r(201))/8)+-parseInt(r(218))/9+parseInt(r(216))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(mo),Ze[fo(205)]((function(e,t){var r,n,i;r=Ze[fo(204)],n=function(e){return e},(i=po)(200)==i(200)?e[i(202)]=Ei:"undefined"===i(217)&&(void 0).amd?(void 0)(["./core","./x64-core","./lib-typedarrays",i(214),"./enc-base64",i(208),"./md5","./sha1",i(231),i(203),i(222),i(223),i(224),i(233),i(211),i(213),i(225),i(221),i(220),i(219),i(227),i(239),i(229),i(199),i(206),i(232),i(235),"./pad-nopadding","./format-hex",i(212),i(238),"./rc4",i(207),"./rabbit-legacy",i(215)],n):r[i(230)]=r[i(230)]})),function(e,t){const r=go,n=e();for(;;)try{if(137701===parseInt(r(390))/1*(parseInt(r(378))/2)+parseInt(r(385))/3*(parseInt(r(380))/4)+-parseInt(r(377))/5+parseInt(r(375))/6*(parseInt(r(388))/7)+-parseInt(r(381))/8+-parseInt(r(391))/9*(parseInt(r(370))/10)+-parseInt(r(371))/11*(-parseInt(r(376))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bo);var wo=Io;!function(e,t){for(var r=Io,n=e();;)try{if(493258===parseInt(r(741))/1+-parseInt(r(435))/2*(parseInt(r(1414))/3)+-parseInt(r(534))/4+-parseInt(r(496))/5+parseInt(r(773))/6+-parseInt(r(1252))/7*(parseInt(r(1450))/8)+parseInt(r(1385))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Eo);var So=Ze[wo(532)]((function(e,t){var r,n,s=wo,o=(r=new Date,n=4,{setLogLevel:function(e){var t=Io;n=e==this[t(957)]?1:e==this[t(681)]?2:e==this.warn?3:(this[t(1281)],4)},debug:function(e,t){var i=Io;void 0===console[i(957)]&&(console.debug=console[i(1402)]),1>=n&&console.debug("["+o[i(1077)](new Date-r,1e3)+"]","["+e+"]",t)},log:function(e,t){var r=Io;this[r(957)](e[r(962)])},info:function(e,t){var i=Io;2>=n&&console[i(681)]("["+o[i(1077)](new Date-r,1e3)+"]","["+e+"]",t)},warn:function(e,t){var i=Io;3>=n&&console[i(542)]("["+o[i(1077)](new Date-r,1e3)+"]","["+e+"]",t)},error:function(e,t){var i=Io;4>=n&&console[i(1281)]("["+o[i(1077)](new Date-r,1e3)+"]","["+e+"]",t)}});o[s(1077)]=function(e,t){var r,n=s;function i(e,t){for(var r=Io,n=(""+e)[r(580)](".");n[0].length0){for(var n="",i=0;i0&&(n+=","),n+="["+o[t(1077)](e[t(775)](i))+","+o.getDurationString(e[t(1278)](i))+"]";return n}return t(1438)},"object"!==s(1313)&&(t[s(898)]=o);var a=function(e){var t=s;if(!(e instanceof ArrayBuffer))throw t(985);this.buffer=e,this[t(468)]=new DataView(e),this[t(1493)]=0};a[s(1271)].getPosition=function(){return this[s(1493)]},a[s(1271)][s(1650)]=function(){var e=s;return this[e(576)][e(1018)]},a[s(1271)][s(1054)]=function(){var e=s;return this[e(576)][e(1018)]},a.prototype[s(1425)]=function(e){var t=s,r=Math[t(981)](0,Math.min(this[t(576)][t(1018)],e));return this[t(1493)]=isNaN(r)||!isFinite(r)?0:r,!0},a[s(1271)].isEos=function(){var e=s;return this[e(799)]()>=this[e(1650)]()},a[s(1271)][s(1586)]=function(e,t){var r=s,n=0;if(this[r(1493)]+e<=this[r(576)].byteLength){switch(e){case 1:n=t?this[r(468)][r(707)](this.position):this[r(468)].getUint8(this[r(1493)]);break;case 2:n=t?this[r(468)].getInt16(this[r(1493)]):this.dataview[r(935)](this[r(1493)]);break;case 3:if(t)throw r(1392);n=this[r(468)].getUint8(this[r(1493)])<<16,n|=this[r(468)][r(1105)](this[r(1493)]+1)<<8,n|=this[r(468)][r(1105)](this[r(1493)]+2);break;case 4:n=t?this[r(468)][r(810)](this.position):this[r(468)].getUint32(this.position);break;case 8:if(t)throw r(875);n=this[r(468)].getUint32(this[r(1493)])<<32,n|=this[r(468)].getUint32(this.position+4);break;default:throw r(1268)+e}return this[r(1493)]+=e,n}throw r(824)},a[s(1271)][s(925)]=function(){return this[s(1586)](1,!1)},a[s(1271)][s(559)]=function(){return this.readAnyInt(2,!1)},a.prototype[s(877)]=function(){return this[s(1586)](3,!1)},a[s(1271)][s(1063)]=function(){return this[s(1586)](4,!1)},a[s(1271)].readUint64=function(){return this[s(1586)](8,!1)},a.prototype.readString=function(e){var t=s;if(this.position+e<=this[t(576)][t(1018)]){for(var r="",n=0;nthis[t(1179)]&&(this._byteLength=r);else{for(n<1&&(n=1);r>n;)n*=2;var i=new ArrayBuffer(n),o=new Uint8Array(this[t(781)]);new Uint8Array(i,0,o[t(1119)])[t(690)](o),this[t(576)]=i,this[t(1179)]=r}}},c[s(1271)][s(1484)]=function(){var e=s;if(this[e(1179)]!=this[e(781)].byteLength){var t=new ArrayBuffer(this[e(1179)]),r=new Uint8Array(t),n=new Uint8Array(this[e(781)],0,r[e(1119)]);r[e(690)](n),this.buffer=t}},c.BIG_ENDIAN=!1,c.LITTLE_ENDIAN=!0,c[s(1271)][s(1179)]=0,Object[s(952)](c[s(1271)],s(1018),{get:function(){return this[s(1179)]-this._byteOffset}}),Object.defineProperty(c.prototype,s(576),{get:function(){var e=s;return this[e(1484)](),this[e(781)]},set:function(e){var t=s;this._buffer=e,this[t(1654)]=new DataView(this[t(781)],this._byteOffset),this._byteLength=this._buffer[t(1018)]}}),Object[s(952)](c[s(1271)],s(708),{get:function(){return this[s(1315)]},set:function(e){var t=s;this[t(1315)]=e,this[t(1654)]=new DataView(this._buffer,this[t(1315)]),this[t(1179)]=this[t(781)].byteLength}}),Object.defineProperty(c[s(1271)],s(1515),{get:function(){return this[s(1654)]},set:function(e){var t=s;this[t(1315)]=e[t(708)],this._buffer=e.buffer,this._dataView=new DataView(this[t(781)],this[t(1315)]),this[t(1179)]=this[t(1315)]+e[t(1018)]}}),c[s(1271)][s(1425)]=function(e){var t=s,r=Math[t(981)](0,Math[t(1419)](this.byteLength,e));this[t(1493)]=isNaN(r)||!isFinite(r)?0:r},c[s(1271)][s(986)]=function(){var e=s;return this[e(1493)]>=this[e(1179)]},c.prototype[s(641)]=function(e){var t=s;this[t(1587)](1*e);var r=new Uint8Array(this._buffer,this.byteOffset+this[t(1493)],e);return this[t(1493)]+=1*e,r},c[s(1271)][s(519)]=function(e,t){var r=s;e=null==e?this[r(1018)]-this[r(1493)]/4:e;var n=new Int32Array(e);return c[r(1224)](n[r(576)],0,this.buffer,this[r(708)]+this[r(1493)],e*n[r(729)]),c[r(1046)](n,null==t?this[r(396)]:t),this[r(1493)]+=n[r(1018)],n},c[s(1271)][s(717)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(1493)]/2:e;var n=new Int16Array(e);return c[r(1224)](n[r(576)],0,this[r(576)],this[r(708)]+this.position,e*n[r(729)]),c[r(1046)](n,null==t?this[r(396)]:t),this[r(1493)]+=n[r(1018)],n},c[s(1271)][s(1198)]=function(e){var t=s;e=null==e?this.byteLength-this.position:e;var r=new Int8Array(e);return c[t(1224)](r[t(576)],0,this.buffer,this[t(708)]+this[t(1493)],e*r[t(729)]),this[t(1493)]+=r[t(1018)],r},c[s(1271)][s(909)]=function(e,t){var r=s;e=null==e?this.byteLength-this[r(1493)]/4:e;var n=new Uint32Array(e);return c[r(1224)](n.buffer,0,this.buffer,this[r(708)]+this[r(1493)],e*n[r(729)]),c[r(1046)](n,null==t?this[r(396)]:t),this.position+=n[r(1018)],n},c[s(1271)][s(1481)]=function(e,t){var r=s;e=null==e?this[r(1018)]-this[r(1493)]/2:e;var n=new Uint16Array(e);return c[r(1224)](n[r(576)],0,this[r(576)],this[r(708)]+this.position,e*n[r(729)]),c[r(1046)](n,null==t?this[r(396)]:t),this.position+=n[r(1018)],n},c[s(1271)][s(621)]=function(e){var t=s;e=null==e?this.byteLength-this.position:e;var r=new Uint8Array(e);return c[t(1224)](r[t(576)],0,this[t(576)],this[t(708)]+this[t(1493)],e*r[t(729)]),this[t(1493)]+=r[t(1018)],r},c[s(1271)][s(1247)]=function(e,t){var r=s;e=null==e?this[r(1018)]-this[r(1493)]/8:e;var n=new Float64Array(e);return c[r(1224)](n[r(576)],0,this.buffer,this[r(708)]+this[r(1493)],e*n.BYTES_PER_ELEMENT),c[r(1046)](n,null==t?this[r(396)]:t),this[r(1493)]+=n[r(1018)],n},c[s(1271)][s(1617)]=function(e,t){var r=s;e=null==e?this[r(1018)]-this[r(1493)]/4:e;var n=new Float32Array(e);return c[r(1224)](n[r(576)],0,this[r(576)],this.byteOffset+this[r(1493)],e*n[r(729)]),c[r(1046)](n,null==t?this.endianness:t),this.position+=n[r(1018)],n},c[s(1271)].readInt32=function(e){var t=s,r=this[t(1654)].getInt32(this[t(1493)],null==e?this.endianness:e);return this[t(1493)]+=4,r},c.prototype[s(487)]=function(e){var t=s,r=this[t(1654)][t(797)](this[t(1493)],null==e?this[t(396)]:e);return this[t(1493)]+=2,r},c[s(1271)].readInt8=function(){var e=s,t=this._dataView[e(707)](this[e(1493)]);return this[e(1493)]+=1,t},c[s(1271)][s(1063)]=function(e){var t=s,r=this[t(1654)].getUint32(this[t(1493)],null==e?this[t(396)]:e);return this[t(1493)]+=4,r},c.prototype[s(559)]=function(e){var t=s,r=this[t(1654)][t(935)](this[t(1493)],null==e?this[t(396)]:e);return this.position+=2,r},c[s(1271)][s(925)]=function(){var e=s,t=this[e(1654)].getUint8(this[e(1493)]);return this[e(1493)]+=1,t},c[s(1271)].readFloat32=function(e){var t=s,r=this[t(1654)].getFloat32(this[t(1493)],null==e?this[t(396)]:e);return this[t(1493)]+=4,r},c.prototype[s(1079)]=function(e){var t=s,r=this._dataView[t(831)](this[t(1493)],null==e?this[t(396)]:e);return this[t(1493)]+=8,r},c[s(396)]=new Int8Array(new Int16Array([1])[s(576)])[0]>0,c.memcpy=function(e,t,r,n,i){var o=s,a=new Uint8Array(e,t,i),c=new Uint8Array(r,n,i);a[o(690)](c)},c[s(1046)]=function(e,t){var r=s;return t==this.endianness?e:this[r(594)](e)},c[s(964)]=function(e,t){var r=s;return this[r(396)]==t?e:this[r(594)](e)},c.flipArrayEndianness=function(e){for(var t=s,r=new Uint8Array(e.buffer,e[t(708)],e[t(1018)]),n=0;no;i--,o++){var a=r[o];r[o]=r[i],r[i]=a}return e},c[s(1271)][s(1539)]=0,String[s(617)]=function(e){for(var t=s,r=[],n=0;n>16),this[t(1487)]((65280&e)>>8),this.writeUint8(255&e)},c[s(1271)][s(1096)]=function(e,t){var r=s,n=this[r(1493)];this[r(1425)](e),this.writeUint32(t),this.seek(n)},c.prototype[s(637)]=function(e,t){var r=s;this[r(1587)](4*e);var n=new Int32Array(this[r(781)],this.byteOffset+this.position,e);return c[r(1046)](n,null==t?this.endianness:t),this[r(1493)]+=4*e,n},c[s(1271)][s(782)]=function(e,t){var r=s;this[r(1587)](2*e);var n=new Int16Array(this[r(781)],this[r(708)]+this[r(1493)],e);return c[r(1046)](n,null==t?this[r(396)]:t),this[r(1493)]+=2*e,n},c.prototype[s(1626)]=function(e){var t=s;this[t(1587)](1*e);var r=new Int8Array(this._buffer,this[t(708)]+this[t(1493)],e);return this[t(1493)]+=1*e,r},c[s(1271)][s(1089)]=function(e,t){var r=s;this[r(1587)](4*e);var n=new Uint32Array(this._buffer,this[r(708)]+this.position,e);return c[r(1046)](n,null==t?this[r(396)]:t),this.position+=4*e,n},c[s(1271)][s(1008)]=function(e,t){var r=s;this._realloc(2*e);var n=new Uint16Array(this[r(781)],this.byteOffset+this[r(1493)],e);return c.arrayToNative(n,null==t?this.endianness:t),this.position+=2*e,n},c[s(1271)][s(823)]=function(e,t){var r=s;this[r(1587)](8*e);var n=new Float64Array(this[r(781)],this[r(708)]+this[r(1493)],e);return c[r(1046)](n,null==t?this[r(396)]:t),this[r(1493)]+=8*e,n},c[s(1271)][s(645)]=function(e,t){var r=s;this[r(1587)](4*e);var n=new Float32Array(this[r(781)],this[r(708)]+this.position,e);return c[r(1046)](n,null==t?this[r(396)]:t),this[r(1493)]+=4*e,n};var l=function(e){var t=s;this.buffers=[],this[t(747)]=-1,e&&(this[t(1423)](e),this[t(747)]=0)};l[s(1271)]=new c(new ArrayBuffer,0,c[s(917)]),l[s(1271)][s(1399)]=function(){var e,t=s;return this[t(747)]>-1||(this[t(1074)][t(1119)]>0?0===(e=this[t(1074)][0]).fileStart?(this[t(576)]=e,this.bufferIndex=0,o[t(957)]("MultiBufferStream",t(666)),!0):(o[t(542)](t(1500),t(472)),this[t(871)](),!1):(o[t(542)](t(1500),"No buffer to start parsing from"),this[t(871)](),!1))},ArrayBuffer.concat=function(e,t){var r=s;o[r(957)](r(1129),r(1672)+(e[r(1018)]+t[r(1018)]));var n=new Uint8Array(e.byteLength+t[r(1018)]);return n[r(690)](new Uint8Array(e),0),n[r(690)](new Uint8Array(t),e[r(1018)]),n.buffer},l.prototype[s(1167)]=function(e,t,r){var n,i=s;return(n=new Uint8Array(r))[i(690)](new Uint8Array(e,t,r)),n[i(576)][i(1507)]=e[i(1507)]+t,n[i(576)].usedBytes=0,n.buffer},l[s(1271)].insertBuffer=function(e){for(var t=s,r=!0,n=0;ni[t(1018)]){this.buffers[t(780)](n,1),n--;continue}o.warn(t(1500),t(1480)+e[t(1507)]+t(1403)+e[t(1018)]+t(1346))}else e[t(1507)]+e[t(1018)]<=i[t(1507)]||(e=this[t(1167)](e,0,i[t(1507)]-e[t(1507)])),o.debug(t(1500),t(1532)+e[t(1507)]+t(1403)+e.byteLength+")"),this[t(1074)][t(780)](n,0,e),0===n&&(this[t(576)]=e);r=!1;break}if(e[t(1507)]0)){r=!1;break}e=this[t(1167)](e,a,c)}}r&&(o[t(957)](t(1500),t(1532)+e.fileStart+t(1403)+e[t(1018)]+")"),this[t(1074)][t(1383)](e),0===n&&(this[t(576)]=e))},l[s(1271)][s(871)]=function(e){var t,r,n,i,a,c=s,u=[],l="";for(n=0,i=0,t=0;t0&&(l+=a[c(1278)]-1+"]");var d=e?o.info:o[c(957)];0===this[c(1074)].length?d("MultiBufferStream",c(398)):d(c(1500),this[c(1074)][c(1119)]+" stored buffer(s) ("+n+"/"+i+c(1514)+l)},l[s(1271)].cleanBuffers=function(){var e,t,r=s;for(e=0;e"+this[t(576)].byteLength+")"),!0}return!1}return!1},l[s(1271)][s(1009)]=function(e,t,r){var n,i=s,a=null,c=-1;for(n=!0===e?0:this[i(747)];n=t?(o[i(957)](i(1500),"Found position in existing buffer #"+c),c):-1:-1},l[s(1271)][s(644)]=function(e){var t,r,n,i=s,o=void 0!==e?e:this[i(747)];if(r=this[i(1074)][o],this.buffers[i(1119)]>o+1)for(t=o+1;t>3;return 31===s&&i.data[r(1119)]>=2&&(s=32+((7&i[r(461)][0])<<3)+((224&i.data[1])>>5)),s}return null},n.DecoderConfigDescriptor=function(t){var r=e;n.Descriptor[r(828)](this,4,t)},n.DecoderConfigDescriptor[e(1271)]=new(n[e(450)]),n.DecoderConfigDescriptor[e(1271)][e(867)]=function(t){var r=e;this[r(598)]=t[r(925)](),this.streamType=t[r(925)](),this[r(841)]=0!=(this[r(968)]>>1&1),this[r(968)]=this.streamType>>>2,this[r(836)]=t[r(877)](),this.maxBitrate=t[r(1063)](),this.avgBitrate=t[r(1063)](),this[r(1059)]-=13,this[r(1244)](t)},n[e(1322)]=function(t){var r=e;n[r(450)][r(828)](this,5,t)},n[e(1322)][e(1271)]=new(n[e(450)]),n[e(1622)]=function(t){var r=e;n[r(450)][r(828)](this,6,t)},n.SLConfigDescriptor[e(1271)]=new(n[e(450)]),this};s(862)!==s(1313)&&(t[s(704)]=d);var h={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:[s(847),"idat","free",s(628),s(1001),s(522)],FULL_BOXES:["hmhd",s(1160),s(818),s(758),s(792),s(1441),s(1517)],CONTAINER_BOXES:[[s(579),[s(764),s(515)]],[s(764)],["edts"],[s(768)],["minf"],[s(586)],[s(1381),[s(884),"sbgp"]],[s(1092),[s(1637)]],[s(1612),[s(1207)]],[s(1207),["trun",s(884),s(459)]],[s(465)],[s(1102)],[s(479)],[s(739),[s(539)]],[s(1001)],[s(1488)],[s(611)],[s(522)],[s(1335)],[s(538)],["rinf"],[s(787)],[s(700)],[s(1417),[s(453)]],["iprp",[s(571)]],["ipco"],["grpl"],["j2kH"],[s(1182),[s(1237)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var e=s;h[e(1659)][e(1271)]=new(h[e(1094)]),h[e(639)][e(1271)]=new(h[e(1094)]),h.SampleEntry.prototype=new h.Box,h.TrackGroupTypeBox[e(1271)]=new(h[e(1659)]),h.BASIC_BOXES[e(984)]((function(e){h.createBoxCtor(e)})),h[e(456)][e(984)]((function(e){h.createFullBoxCtor(e)})),h.CONTAINER_BOXES[e(984)]((function(t){h[e(1582)](t[0],null,t[1])}))},Box:function(e,t,r){var n=s;this[n(1003)]=e,this[n(1059)]=t,this.uuid=r},FullBox:function(e,t,r){var n=s;h[n(1094)].call(this,e,t,r),this[n(1390)]=0,this[n(1437)]=0},ContainerBox:function(e,t,r){var n=s;h[n(1094)][n(828)](this,e,t,r),this[n(1456)]=[]},SampleEntry:function(e,t,r,n){var i=s;h[i(639)].call(this,e,t),this[i(1624)]=r,this[i(775)]=n},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){var r=s;h[r(1659)][r(828)](this,e,t)},createBoxCtor:function(e,t){var r=s;h.boxCodes.push(e),h[e+r(1094)]=function(t){var n=r;h.Box[n(828)](this,e,t)},h[e+r(1094)][r(1271)]=new h.Box,t&&(h[e+r(1094)][r(1271)][r(867)]=t)},createFullBoxCtor:function(e,t){var r=s;h[e+"Box"]=function(t){var r=Io;h[r(1659)][r(828)](this,e,t)},h[e+"Box"][r(1271)]=new(h[r(1659)]),h[e+r(1094)][r(1271)][r(867)]=function(e){var n=r;this[n(794)](e),t&&t[n(828)](this,e)}},addSubBoxArrays:function(e){var t=s;if(e){this.subBoxNames=e;for(var r=e[t(1119)],n=0;nr?(o.error("BoxParser","Box of type '"+f+c(577)+d+c(1328)+r),{code:h[c(1527)],type:f,size:d,hdr_size:l,start:u}):0!==d&&u+d>e.getEndPosition()?(e[c(1425)](u),o[c(681)](c(1100),c(900)+f+c(1131)),{code:h[c(1527)],type:f,size:d,hdr_size:l,start:u}):t?{code:h.OK,type:f,size:d,hdr_size:l,start:u}:(h[f+"Box"]?n=new(h[f+c(1094)])(d):"uuid"!==f?(o[c(542)](c(1100),c(1492)+f+"'"),(n=new h.Box(f,d))[c(1675)]=!0):h[c(721)][a]?n=new(h[c(721)][a])(d):(o.warn(c(1100),c(1138)+a+"'"),(n=new(h[c(1094)])(f,d)).uuid=a,n[c(1675)]=!0),n[c(1624)]=l,n.start=u,n[c(489)]===h[c(1094)][c(1271)][c(489)]&&n[c(1003)]!==c(847)&&(o[c(681)](c(1100),"'"+p+c(1413)),n[c(1318)](e)),n[c(867)](e),(i=e[c(799)]()-(n.start+n[c(1059)]))<0?(o[c(542)]("BoxParser","Parsing of box '"+p+c(1175)+-i+c(1406)),e[c(1425)](n[c(775)]+n.size)):i>0&&(o.error(c(1100),c(1360)+p+"' read "+i+c(813)),0!==n[c(1059)]&&e[c(1425)](n.start+n[c(1059)])),{code:h.OK,box:n,size:n[c(1059)]})},h[s(1094)][s(1271)][s(867)]=function(e){var t=s;this[t(1003)]!=t(847)?this[t(461)]=e[t(621)](this[t(1059)]-this[t(1624)]):0===this[t(1059)]?e[t(1425)](e[t(1650)]()):e[t(1425)](this[t(775)]+this[t(1059)])},h[s(1094)].prototype.parseDataAndRewind=function(e){var t=s;this[t(461)]=e.readUint8Array(this.size-this[t(1624)]),e[t(1493)]-=this[t(1059)]-this[t(1624)]},h[s(1659)][s(1271)].parseDataAndRewind=function(e){var t=s;this[t(794)](e),this.data=e[t(621)](this[t(1059)]-this.hdr_size),this[t(1624)]-=4,e.position-=this[t(1059)]-this[t(1624)]},h[s(1659)].prototype[s(794)]=function(e){var t=s;this[t(1437)]=e[t(925)](),this[t(1390)]=e[t(877)](),this[t(1624)]+=4},h[s(1659)][s(1271)].parse=function(e){var t=s;this.parseFullHeader(e),this[t(461)]=e[t(621)](this[t(1059)]-this[t(1624)])},h[s(639)][s(1271)][s(867)]=function(e){for(var t,r,n=s;e[n(799)]()>10&31,r[1]=this[t(1184)]>>5&31,r[2]=31&this.language,this.languageString=String[t(1127)](r[0]+96,r[1]+96,r[2]+96)},h[s(430)]=s(1615),h.SAMPLE_ENTRY_TYPE_AUDIO=s(1368),h.SAMPLE_ENTRY_TYPE_HINT="Hint",h[s(578)]="Metadata",h[s(1048)]=s(1064),h.SAMPLE_ENTRY_TYPE_SYSTEM=s(1143),h[s(1470)]=s(1540),h[s(703)][s(1271)][s(973)]=function(e){var t=s;e.readUint8Array(6),this[t(706)]=e.readUint16(),this[t(1624)]+=8},h[s(703)][s(1271)][s(867)]=function(e){var t=s;this[t(973)](e),this[t(461)]=e[t(621)](this.size-this[t(1624)])},h[s(703)][s(1271)][s(1318)]=function(e){var t=s;this[t(973)](e),this[t(461)]=e[t(621)](this[t(1059)]-this[t(1624)]),this.hdr_size-=8,e.position-=this[t(1059)]-this[t(1624)]},h[s(703)][s(1271)][s(776)]=function(e){var t=s;h[t(639)][t(1271)][t(867)][t(828)](this,e)},h[s(1344)](h[s(1638)]),h[s(1344)](h[s(578)]),h.createMediaSampleEntryCtor(h[s(1048)]),h[s(1344)](h[s(1037)]),h[s(1344)](h[s(1470)]),h[s(1344)](h[s(430)],(function(e){var t,r=s;this.parseHeader(e),e[r(559)](),e.readUint16(),e[r(909)](3),this[r(1066)]=e[r(559)](),this[r(1023)]=e.readUint16(),this[r(433)]=e[r(1063)](),this[r(1006)]=e[r(1063)](),e[r(1063)](),this[r(1443)]=e[r(559)](),t=Math[r(1419)](31,e.readUint8()),this.compressorname=e[r(672)](t),t<31&&e[r(672)](31-t),this.depth=e[r(559)](),e.readUint16(),this[r(776)](e)})),h[s(1344)](h[s(1541)],(function(e){var t=s;this.parseHeader(e),e[t(909)](2),this.channel_count=e.readUint16(),this.samplesize=e[t(559)](),e[t(559)](),e.readUint16(),this[t(1220)]=e.readUint32()/65536,this[t(776)](e)})),h[s(839)](h[s(430)],s(1686)),h[s(839)](h[s(430)],s(832)),h[s(839)](h[s(430)],"avc3"),h[s(839)](h[s(430)],"avc4"),h[s(839)](h[s(430)],s(1457)),h[s(839)](h[s(430)],s(647)),h[s(839)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(979)),h.createSampleEntryCtor(h[s(430)],s(744)),h[s(839)](h[s(430)],s(1158)),h[s(839)](h[s(430)],s(785)),h[s(839)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(629)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),h[s(839)](h[s(430)],s(623)),h[s(839)](h[s(430)],s(1501)),h[s(839)](h[s(430)],s(801)),h.createSampleEntryCtor(h.SAMPLE_ENTRY_TYPE_VISUAL,s(1526)),h[s(839)](h.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),h[s(839)](h[s(430)],"vp09"),h[s(839)](h[s(430)],s(514)),h[s(839)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1667)),h.createSampleEntryCtor(h[s(430)],s(1630)),h.createSampleEntryCtor(h[s(430)],s(547)),h[s(839)](h.SAMPLE_ENTRY_TYPE_VISUAL,s(1164)),h.createSampleEntryCtor(h[s(1541)],s(1128)),h.createSampleEntryCtor(h[s(1541)],"ac-3"),h.createSampleEntryCtor(h[s(1541)],s(1608)),h.createSampleEntryCtor(h[s(1541)],"ec-3"),h.createSampleEntryCtor(h[s(1541)],s(1217)),h[s(839)](h[s(1541)],s(845)),h.createSampleEntryCtor(h[s(1541)],"mha2"),h[s(839)](h.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),h[s(839)](h.SAMPLE_ENTRY_TYPE_AUDIO,s(921)),h[s(834)](h[s(430)],"encv"),h.createEncryptedSampleEntryCtor(h[s(1541)],s(959)),h[s(834)](h.SAMPLE_ENTRY_TYPE_SUBTITLE,s(1631)),h.createEncryptedSampleEntryCtor(h[s(1037)],s(1435)),h[s(834)](h[s(1470)],s(932)),h[s(834)](h[s(578)],s(1549)),h[s(626)]("a1lx",(function(e){var t=s,r=16*(1+(1&(1&e.readUint8())));this[t(1401)]=[];for(var n=0;n<3;n++)this[t(1401)][n]=16==r?e[t(559)]():e[t(1063)]()})),h[s(626)](s(897),(function(e){var t=s;this[t(1558)]=e[t(925)]()})),h[s(696)](s(1176),(function(e){var t=s;this.aux_type=e[t(1194)]();var r=this[t(1059)]-this[t(1624)]-(this[t(1635)][t(1119)]+1);this[t(956)]=e.readUint8Array(r)})),h[s(626)](s(1149),(function(e){var t=s,r=e[t(925)]();if(r>>7&!1)o[t(1281)]("av1C marker problem");else if(this[t(1437)]=127&r,1===this[t(1437)])if(r=e[t(925)](),this[t(1618)]=r>>5&7,this[t(710)]=31&r,r=e[t(925)](),this.seq_tier_0=r>>7&1,this[t(1655)]=r>>6&1,this[t(543)]=r>>5&1,this.monochrome=r>>4&1,this[t(1161)]=r>>3&1,this[t(1263)]=r>>2&1,this[t(1503)]=3&r,r=e[t(925)](),this[t(1101)]=r>>5&7,0===this[t(1101)]){if(this[t(1579)]=r>>4&1,1===this.initial_presentation_delay_present)this[t(951)]=15&r;else if(this[t(1363)]=15&r,0!==this.reserved_2)return void o[t(1281)](t(806));var n=this[t(1059)]-this[t(1624)]-4;this[t(1155)]=e[t(621)](n)}else o[t(1281)](t(1036));else o[t(1281)]("av1C version "+this[t(1437)]+t(761))})),h[s(626)](s(1366),(function(e){var t,r,n=s;for(this[n(1332)]=e[n(925)](),this.AVCProfileIndication=e[n(925)](),this[n(1002)]=e[n(925)](),this.AVCLevelIndication=e.readUint8(),this[n(1504)]=3&e[n(925)](),this.nb_SPS_nalus=31&e.readUint8(),r=this[n(1059)]-this[n(1624)]-6,this[n(1405)]=[],t=0;t0&&(this.ext=e[n(621)](r))})),h[s(626)](s(695),(function(e){var t=s;this[t(1444)]=e[t(1063)](),this.maxBitrate=e.readUint32(),this.avgBitrate=e[t(1063)]()})),h[s(696)](s(548),(function(e){var t=s,r=e[t(925)]();this[t(573)]=128==(128&r),this[t(1485)]=64==(64&r),this[t(811)]=(63&r)>>2,e[t(877)]()})),h.createBoxCtor(s(804),(function(e){var t,r=s;for(this[r(1367)]=e[r(559)](),this.channel_indexes=[],this[r(1647)]=[],this[r(1114)]=[],t=0;t=32768&&this.component_type_urls.push(e[t(1194)]())}})),h.createFullBoxCtor(s(1081),(function(e){var t,r,n=s;if(t=e[n(1063)](),this.chunk_offsets=[],0===this[n(1437)])for(r=0;r>7}else this.colour_type===t(1658)?this.ICC_profile=e[t(621)](this[t(1059)]-4):this[t(603)]===t(1611)&&(this.ICC_profile=e[t(621)](this.size-4))})),h[s(696)](s(1151),(function(e){var t=s;this[t(525)](e),this.notice=e[t(1194)]()})),h[s(696)](s(1110),(function(e){var t=s;0===this.version&&(this.compositionToDTSShift=e[t(1232)](),this[t(1564)]=e.readInt32(),this.greatestDecodeToDisplayDelta=e[t(1232)](),this[t(492)]=e.readInt32(),this[t(1185)]=e[t(1232)]())})),h.createFullBoxCtor(s(906),(function(e){var t,r,n=s;if(t=e[n(1063)](),this.sample_counts=[],this[n(1170)]=[],0===this[n(1437)])for(r=0;r>6,this.bsid=r>>1&31,this[t(551)]=(1&r)<<2|n>>6&3,this.acmod=n>>3&7,this[t(778)]=n>>2&1,this.bit_rate_code=3&n|i>>5&7})),h[s(626)](s(825),(function(e){var t=s,r=e.readUint16();this[t(849)]=r>>3,this[t(976)]=7&r,this[t(902)]=[];for(var n=0;n>6,i.bsid=o>>1&31,i[t(551)]=(1&o)<<4|a>>4&15,i[t(1447)]=a>>1&7,i[t(778)]=1&a,i[t(1689)]=c>>1&15,i[t(1689)]>0&&(i[t(1629)]=(1&c)<<8|e[t(925)]())}})),h[s(696)](s(1572),(function(e){var t=s,r=[],n=[t(1420),t(649),t(918),t(1042),t(1568),"CUESHEET",t(1436),t(444)];for(this[t(794)](e);;){var i=e[t(925)](),o=Math.min(127&i,n[t(1119)]-1);if(o?e[t(621)](e[t(877)]()):(e[t(621)](13),this[t(1220)]=e[t(1063)]()>>12,e[t(621)](20)),r.push(n[o]),128&i)break}this[t(820)]=r[t(1119)]+" ("+r[t(714)](", ")+")"})),h.createBoxCtor(s(1314),(function(e){var t=s;this[t(1154)]=e[t(476)]()})),h.createBoxCtor(s(566),(function(e){this[s(1148)]=e.readUint32()})),h.createBoxCtor(s(1581),(function(e){this[s(1154)]=e.readUint64()})),h[s(626)](s(903),(function(e){var t=s;if(this[t(1031)]=e[t(925)](),this[t(1427)]=e[t(925)](),this.PreSkip=e[t(559)](),this.InputSampleRate=e.readUint32(),this[t(908)]=e[t(487)](),this.ChannelMappingFamily=e[t(925)](),0!==this[t(1282)]){this[t(675)]=e.readUint8(),this[t(1511)]=e[t(925)](),this[t(802)]=[];for(var r=0;r=4;)this[t(537)][n]=e[t(672)](4),r-=4,n++})),h.createFullBoxCtor(s(938),(function(e){var t=s;0===this[t(1437)]&&(e[t(1063)](),this[t(709)]=e.readString(4),e.readUint32Array(3),this[t(1380)]=e[t(672)](this.size-this[t(1624)]-20),"\0"===this[t(1380)][this[t(1380)][t(1119)]-1]&&(this[t(1380)]=this[t(1380)][t(485)](0,-1)))})),h[s(626)](s(826),(function(e){var t,r,n,i,o=s;this[o(1332)]=e[o(925)](),i=e.readUint8(),this[o(886)]=i>>6,this[o(1159)]=(32&i)>>5,this[o(1014)]=31&i,this.general_profile_compatibility=e[o(1063)](),this[o(1660)]=e[o(621)](6),this[o(581)]=e[o(925)](),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e[o(925)](),this[o(474)]=3&e[o(925)](),this.bit_depth_luma_minus8=7&e[o(925)](),this[o(934)]=7&e[o(925)](),this.avgFrameRate=e.readUint16(),i=e[o(925)](),this[o(1599)]=i>>6,this[o(1292)]=(13&i)>>3,this.temporalIdNested=(4&i)>>2,this[o(1504)]=3&i,this[o(557)]=[];var a=e[o(925)]();for(t=0;t>7,c[o(857)]=63&i;var u=e.readUint16();for(r=0;r>4&15,this.length_size=15&t,t=e[r(925)](),this[r(1012)]=t>>4&15,1===this.version||2===this[r(1437)]?this[r(653)]=15&t:this[r(653)]=0,this[r(670)]=[];var n=0;if(this[r(1437)]<2)n=e[r(559)]();else{if(2!==this[r(1437)])throw r(1197);n=e[r(1063)]()}for(var i=0;i>7,this[t(555)]=1&r})),h.createFullBoxCtor(s(746),(function(e){var t=s;if((0===this[t(1437)]||1===this[t(1437)])&&(this[t(1676)]=e[t(559)](),this.item_protection_index=e.readUint16(),this.item_name=e[t(1194)](),this.content_type=e[t(1194)](),this[t(510)]=e[t(1194)]()),1===this[t(1437)])return this[t(1561)]=e.readString(4),o[t(542)](t(1100),t(478)),void e[t(1425)](this.start+this[t(1059)]);this[t(1437)]>=2&&(2===this[t(1437)]?this.item_ID=e.readUint16():3===this.version&&(this[t(1676)]=e[t(1063)]()),this[t(693)]=e.readUint16(),this[t(1305)]=e.readString(4),this[t(1229)]=e[t(1194)](),this[t(1305)]===t(439)?(this[t(1233)]=e.readCString(),this[t(510)]=e.readCString()):this[t(1305)]===t(1584)&&(this.item_uri_type=e[t(1194)]()))})),h[s(696)]("ipma",(function(e){var t,r,n=s;for(entry_count=e.readUint32(),this[n(1260)]=[],t=0;t>7==1,1&this[n(1390)]?c[n(466)]=(127&a)<<8|e[n(925)]():c[n(466)]=127&a}}})),h[s(696)](s(479),(function(e){var t,r,n=s;for(this[n(840)]=[];e[n(799)]()>7,i[t(417)]=127&a,i[t(417)]){case 0:i.grouping_type=e[t(672)](4);break;case 1:i[t(1434)]=e[t(672)](4),i.grouping_type_parameter=e[t(1063)]();break;case 2:case 3:break;case 4:i.sub_track_id=e.readUint32();break;default:o.warn(t(1100),t(1142))}}})),h[s(626)](s(1595),(function(e){var t=s;this[t(608)]=e[t(559)]()})),h[s(626)](s(590),(function(e){var t=s;this.period=e[t(1063)](),this[t(1336)]=e.readUint32()})),f[s(1271)][s(1459)]=function(){return"("+this.x+","+this.y+")"},h[s(626)]("mdcv",(function(e){var t=s;this[t(907)]=[],this[t(907)][0]=new f(e[t(559)](),e.readUint16()),this.display_primaries[1]=new f(e[t(559)](),e[t(559)]()),this[t(907)][2]=new f(e.readUint16(),e.readUint16()),this[t(1632)]=new f(e[t(559)](),e[t(559)]()),this[t(1400)]=e[t(1063)](),this[t(513)]=e[t(1063)]()})),h[s(696)](s(1393),(function(e){var t=s;1==this[t(1437)]?(this[t(1039)]=e[t(476)](),this[t(757)]=e[t(476)](),this[t(1431)]=e[t(1063)](),this[t(685)]=e[t(476)]()):(this.creation_time=e[t(1063)](),this[t(757)]=e.readUint32(),this.timescale=e[t(1063)](),this.duration=e[t(1063)]()),this[t(525)](e),e.readUint16()})),h[s(696)]("mehd",(function(e){var t=s;1&this[t(1390)]&&(o.warn("BoxParser",t(1354)),this[t(1437)]=1),1==this[t(1437)]?this[t(872)]=e.readUint64():this[t(872)]=e.readUint32()})),h[s(696)](s(480),(function(e){var t=s;this[t(1456)]=[],h[t(639)][t(1271)][t(867)].call(this,e)})),h.createFullBoxCtor(s(1426),(function(e){this[s(427)]=e.readUint32()})),h[s(696)]("mfro",(function(e){var t=s;this[t(1486)]=e[t(1063)]()})),h[s(696)](s(735),(function(e){var t=s;this[t(1104)]=e[t(925)]()})),h[s(696)]("mvhd",(function(e){var t=s;1==this[t(1437)]?(this.creation_time=e.readUint64(),this[t(757)]=e[t(476)](),this.timescale=e[t(1063)](),this[t(685)]=e[t(476)]()):(this.creation_time=e[t(1063)](),this[t(757)]=e.readUint32(),this.timescale=e[t(1063)](),this[t(685)]=e[t(1063)]()),this.rate=e[t(1063)](),this[t(1601)]=e[t(559)]()>>8,e[t(559)](),e[t(909)](2),this[t(503)]=e[t(909)](9),e[t(909)](6),this.next_track_id=e[t(1063)]()})),h[s(626)]("npck",(function(e){var t=s;this[t(949)]=e[t(1063)]()})),h.createBoxCtor(s(553),(function(e){var t=s;this[t(949)]=e[t(476)]()})),h[s(696)](s(1212),(function(e){var t=s,r=e.readUint32();this[t(930)]=[];for(var n=0;n0){var r=e[t(1063)]();this[t(1222)]=[];for(var n=0;n0&&(this.data=e.readUint8Array(i))})),h[s(696)](s(833),(function(e){var t=s;this[t(1066)]=e[t(1063)](),this[t(1023)]=e[t(1063)]()})),h.createFullBoxCtor(s(931),(function(e){var t=s;this.width=e[t(1063)](),this[t(1023)]=e[t(1063)]()})),h[s(696)](s(1611),(function(e){var t=s;this.width=e[t(1063)](),this[t(1023)]=e[t(1063)]()})),h[s(1582)]("tapt",null,["clef",s(1611),"enof"]),h.createBoxCtor(s(627),(function(e){var t=s;this[t(1250)]=e[t(672)](4),this[t(771)]=e.readString(this.size-this.hdr_size-4)})),h.createFullBoxCtor(s(546),(function(e){var t=s;1&this[t(1390)]&&(this.aux_info_type=e[t(1063)](),this[t(1550)]=e[t(1063)]());var r=e.readUint32();this[t(924)]=[];for(var n=0;n>7,this[t(493)]=r>>6&1,this[t(1299)]&&(this[t(685)]=e[t(1063)]()),this.avgRateFlag&&(this[t(483)]=e[t(925)](),this[t(851)]=e[t(559)](),this.avgFrameRate=e.readUint16()),this[t(1424)]=[];for(var n=e[t(925)](),i=0;i>7,this[t(882)]=127&r})),h[s(869)](s(1329),(function(e){var t=s;if(this[t(506)]=e[t(559)](),this[t(890)]!==2+(1===this[t(506)]?2:6*this.operation_point_count)+9)o[t(542)]("BoxParser",t(1475)+this.grouping_type+" sample group length"),this.data=e[t(621)](this[t(890)]-2);else{if(1===this[t(506)])this.target_rate_share=e.readUint16();else{this[t(652)]=[],this[t(1172)]=[];for(var r=0;r>4,this[t(1078)]=15&r,this[t(1337)]=e[t(925)](),this[t(445)]=e.readUint8(),this[t(1216)]=h[t(1416)](e),this[t(1524)]=0,this[t(463)]=0,1===this[t(1337)]&&0===this[t(445)]&&(this[t(1524)]=e.readUint8(),this.constant_IV=e[t(621)](this[t(1524)]))})),h.createSampleGroupCtor(s(1553),(function(e){var t=s;o[t(542)]("BoxParser",t(494)+this[t(1434)]+t(859))})),h[s(869)](s(1126),(function(e){var t=s,r=e[t(925)]();this[t(1412)]=63&r})),h[s(869)](s(1162),(function(e){var t=s,r=e[t(925)]();this[t(1261)]=r>>7})),h[s(869)](s(971),(function(e){var t=s;o[t(542)](t(1100),t(494)+this[t(1434)]+t(859))})),h.createSampleGroupCtor("tscl",(function(e){var t=s;o[t(542)](t(1100),t(494)+this[t(1434)]+t(859))})),h.createSampleGroupCtor(s(1440),(function(e){var t=s;o[t(542)](t(1100),t(494)+this[t(1434)]+t(859))})),h.createFullBoxCtor(s(459),(function(e){var t=s;this[t(1434)]=e[t(672)](4),1===this[t(1437)]?this[t(750)]=e[t(1063)]():this[t(750)]=0,this[t(1254)]=[];for(var r=e[t(1063)](),n=0;n>6,this[r(1051)][i]=t>>4&3,this[r(640)][i]=t>>2&3,this[r(1671)][i]=3&t})),h[s(696)](s(916)),h[s(696)](s(884),(function(e){var t=s;this[t(1434)]=e[t(672)](4),o[t(957)](t(1100),"Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e[t(1063)]():this[t(692)]=0,this[t(1437)]>=2&&(this[t(1024)]=e[t(1063)]()),this[t(1254)]=[];for(var r=e[t(1063)](),n=0;n>31&1,i[t(419)]=2147483647&o,i[t(1422)]=e[t(1063)](),o=e.readUint32(),i[t(756)]=o>>31&1,i[t(977)]=o>>28&7,i.SAP_delta_time=268435455&o}})),h[s(880)]=function(e,t,r,n){var i=s;h[i(1094)][i(828)](this,e,t),this[i(1624)]=r,this.start=n},h[s(880)][s(1271)]=new(h[s(1094)]),h[s(880)][s(1271)][s(867)]=function(e){var t=s;this[t(864)]=e[t(559)]();var r=e.readUint16();this[t(840)]=[];for(var n=0;n>4&15,this[n(1308)][t+1]=15&i}else if(8===this[n(712)])for(t=0;t0)for(r=0;r>4&15,this.default_skip_byte_block=15&r}this[t(1681)]=e[t(925)](),this.default_Per_Sample_IV_Size=e[t(925)](),this[t(1236)]=h[t(1416)](e),1===this[t(1681)]&&0===this[t(679)]&&(this[t(978)]=e[t(925)](),this[t(1687)]=e[t(621)](this[t(978)]))})),h[s(696)](s(1428),(function(e){var t=s;1==this[t(1437)]?this[t(1648)]=e[t(476)]():this[t(1648)]=e.readUint32()})),h[s(696)](s(1221),(function(e){var t=s,r=0;this[t(442)]=e[t(1063)](),this[t(1059)]-this.hdr_size>r&&this[t(1390)]&h[t(740)]?(this[t(455)]=e[t(476)](),r+=8):this[t(455)]=0,this[t(1059)]-this.hdr_size>r&&this.flags&h[t(432)]?(this[t(1333)]=e[t(1063)](),r+=4):this[t(1333)]=0,this[t(1059)]-this.hdr_size>r&&this[t(1390)]&h.TFHD_FLAG_SAMPLE_DUR?(this[t(1464)]=e[t(1063)](),r+=4):this[t(1464)]=0,this.size-this[t(1624)]>r&&this[t(1390)]&h[t(592)]?(this[t(1180)]=e[t(1063)](),r+=4):this[t(1180)]=0,this[t(1059)]-this[t(1624)]>r&&this[t(1390)]&h[t(593)]?(this[t(1471)]=e[t(1063)](),r+=4):this[t(1471)]=0})),h[s(696)](s(539),(function(e){var t=s;this[t(1130)]=e.readUint32(),e[t(877)]();var r=e[t(925)]();this[t(536)]=r>>4&3,this[t(745)]=r>>2&3,this[t(434)]=3&r,this[t(1254)]=[];for(var n=e[t(1063)](),i=0;i>8,e[t(559)](),this[t(503)]=e[t(519)](9),this.width=e[t(1063)](),this[t(1023)]=e[t(1063)]()})),h[s(626)](s(1136),(function(e){this[s(1148)]=e.readUint32()})),h.createBoxCtor("tmin",(function(e){var t=s;this.time=e[t(1063)]()})),h[s(626)](s(1395),(function(e){var t=s;this[t(1154)]=e[t(1063)]()})),h[s(626)](s(1693),(function(e){var t=s;this[t(1154)]=e[t(1063)]()})),h[s(626)](s(1020),(function(e){this[s(1154)]=e.readUint64()})),h.TrackGroupTypeBox[s(1271)][s(867)]=function(e){var t=s;this[t(794)](e),this[t(1187)]=e[t(1063)]()},h[s(942)]("msrc"),h.TrackReferenceTypeBox=function(e,t,r,n){var i=s;h[i(1094)][i(828)](this,e,t),this[i(1624)]=r,this[i(775)]=n},h[s(552)][s(1271)]=new(h[s(1094)]),h[s(552)][s(1271)][s(867)]=function(e){var t=s;this[t(960)]=e.readUint32Array((this[t(1059)]-this[t(1624)])/4)},h[s(1465)].prototype.parse=function(e){for(var t,r,n=s;e[n(799)]()r&&this[t(1390)]&h[t(966)]?(this[t(1373)]=e[t(1232)](),r+=4):this[t(1373)]=0,this[t(1059)]-this.hdr_size>r&&this[t(1390)]&h.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),r+=4):this[t(1497)]=0,this[t(1376)]=[],this[t(1350)]=[],this[t(751)]=[],this[t(612)]=[],this[t(1059)]-this[t(1624)]>r)for(var n=0;n>7&1,this[r(1166)]=n>>6&1,this[r(1242)]=n>>5&1,this[r(783)]=n>>4&1,this.pad_unknown=n>>3&1,this[r(1225)]=e[r(1063)](),this[r(1297)]=e[r(1063)](),this[r(1005)]=e[r(1063)](),this[r(428)]=e[r(1063)](),this[r(716)]=e.readUint32()}})),h.createFullBoxCtor(s(1571),(function(e){var t=s;1!==this[t(1390)]&&(this[t(541)]=e[t(1194)]())})),h[s(696)](s(1058),(function(e){var t=s;this[t(1380)]=e.readCString(),this[t(1059)]-this.hdr_size-this[t(1380)][t(1119)]-1>0&&(this[t(541)]=e.readCString())})),h[s(1038)](s(1588),!0,!1,(function(e){var t=s;this[t(728)]=e.readString(this[t(1059)]-this[t(1624)])[t(1556)](/&/g,t(1410))[t(1556)](//g,t(446))[t(1556)](/"/g,t(953))[t(1556)](/'/g,t(1542))})),h.createUUIDBox(s(892),!0,!1,(function(e){var t=s;this[t(967)]=h[t(1416)](e);var r=e[t(1063)]();r>0&&(this[t(461)]=e.readUint8Array(r))})),h.createUUIDBox(s(711),!0,!1),h.createUUIDBox(s(1071),!0,!1,(function(e){var t=s;this[t(1535)]=e.readUint24(),this[t(1645)]=e[t(925)](),this[t(1236)]=h[t(1416)](e)})),h[s(1038)](s(1364),!0,!1,(function(e){var t=s;this[t(835)]=e[t(925)](),this[t(1254)]=[];for(var r=0;r>4,this.chromaSubsampling=t>>1&7,this[r(1339)]=1&t,this[r(574)]=e[r(925)](),this[r(926)]=e[r(925)](),this.matrixCoefficients=e[r(925)](),this[r(1087)]=e.readUint16(),this.codecIntializationData=e[r(621)](this[r(1087)])):(this[r(718)]=e[r(925)](),this[r(1044)]=e[r(925)](),t=e[r(925)](),this[r(1429)]=t>>4&15,this[r(1034)]=15&t,t=e[r(925)](),this[r(504)]=t>>4&15,this[r(600)]=t>>1&7,this[r(1339)]=1&t,this[r(1087)]=e[r(559)](),this[r(939)]=e[r(621)](this[r(1087)]))})),h[s(626)](s(1677),(function(e){var t=s;this.text=e[t(672)](this.size-this[t(1624)])})),h[s(696)]("vvcC",(function(e){var t,r,n=s,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){var t=Io;this[t(1473)]=e[t(925)](),this[t(970)]=8},stream_read_2_bytes:function(e){var t=Io;this[t(1473)]=e[t(559)](),this.num_held_bits=16},extract_bits:function(e){var t=Io,r=this[t(1473)]>>this[t(970)]-e&(1<1){for(i.stream_read_1_bytes(e),this[n(755)]=0,r=this[n(1043)]-2;r>=0;--r){var c=i[n(1200)](1);this[n(755)]|=c<1;++r)i[n(1200)](1);for(this[n(1490)]=[],r=this[n(1043)]-2;r>=0;--r)this[n(755)]&1<>=1;r+=h.decimalToHex(i,0),r+=".",0===this[t(826)][t(1159)]?r+="L":r+="H",r+=this.hvcC[t(581)];var o=!1,a="";for(e=5;e>=0;e--)(this[t(826)][t(1660)][e]||o)&&(a="."+h[t(1022)](this[t(826)][t(1660)][e],0)+a,o=!0);r+=a}return r},h.vvc1SampleEntry.prototype[s(1213)]=h[s(426)][s(1271)][s(1213)]=function(){var e,t=s,r=h[t(703)][t(1271)][t(1213)][t(828)](this);if(this[t(650)]){r+="."+this[t(650)][t(1014)],this.vvcC[t(1159)]?r+=".H":r+=".L",r+=this[t(650)][t(581)];var n="";if(this[t(650)].general_constraint_info){var i,o=[],a=0;for(a|=this[t(650)][t(1269)]<<7,a|=this[t(650)][t(1052)]<<6,e=0;e>2&63,o.push(a),a&&(i=e),a=this[t(650)].general_constraint_info[e]>>2&3;if(void 0===i)n=t(1004);else{n=".C";var c=t(715),u=0,l=0;for(e=0;e<=i;++e)for(u=u<<8|o[e],l+=8;l>=5;){n+=c[u>>l-5&31],u&=(1<<(l-=5))-1}l&&(n+=c[31&(u<<=5-l)])}}r+=n}return r},h[s(694)][s(1271)][s(1213)]=function(){var e=s,t=h[e(703)][e(1271)][e(1213)].call(this);if(this[e(517)]&&this[e(517)].esd){var r=this[e(517)][e(1168)][e(1157)](),n=this[e(517)][e(1168)].getAudioConfig();return t+"."+h[e(1022)](r)+(n?"."+n:"")}return t},h[s(1181)].prototype.getCodec=function(){var e=s,t=h[e(703)].prototype[e(1213)][e(828)](this);return this.mime_format?t+"."+this.mime_format:t},h.vp08SampleEntry[s(1271)][s(1213)]=h.vp09SampleEntry.prototype[s(1213)]=function(){var e=s,t=h[e(703)][e(1271)][e(1213)].call(this),r=this[e(858)].level;0==r&&(r="00");var n=this[e(858)][e(1429)];return 8==n&&(n="08"),t+".0"+this[e(858)][e(718)]+"."+r+"."+n},h[s(1107)][s(1271)][s(1213)]=function(){var e,t=s,r=h[t(703)][t(1271)][t(1213)].call(this),n=this[t(1149)][t(710)];return n<10&&(n="0"+n),2===this[t(1149)].seq_profile&&1===this.av1C[t(1655)]?e=1===this.av1C[t(543)]?"12":"10":this[t(1149)][t(1618)]<=2&&(e=1===this[t(1149)][t(1655)]?"10":"08"),r+"."+this[t(1149)][t(1618)]+"."+n+(this[t(1149)][t(530)]?"H":"M")+"."+e},h[s(1094)][s(1271)][s(1555)]=function(e,t){var r=s;this.size+=8,this[r(1059)]>u&&(this[r(1059)]+=8),this[r(1003)]===r(1075)&&(this[r(1059)]+=16),o[r(957)](r(509),r(958)+this[r(1003)]+r(1266)+this.size+" at position "+e[r(799)]()+(t||"")),this[r(1059)]>u?e[r(1265)](1):(this[r(786)]=e.getPosition(),e.writeUint32(this[r(1059)])),e.writeString(this.type,null,4),this[r(1003)]===r(1075)&&e[r(1301)](this[r(1075)]),this[r(1059)]>u&&e[r(1343)](this[r(1059)])},h[s(1659)][s(1271)][s(1555)]=function(e){var t=s;this.size+=4,h[t(1094)][t(1271)][t(1555)][t(828)](this,e,t(1639)+this[t(1437)]+t(1619)+this[t(1390)]),e.writeUint8(this[t(1437)]),e[t(974)](this[t(1390)])},h[s(1094)].prototype[s(489)]=function(e){var t=s;this[t(1003)]===t(847)?this[t(461)]&&(this[t(1059)]=this[t(461)][t(1119)],this[t(1555)](e),e.writeUint8Array(this[t(461)])):(this.size=this[t(461)]?this[t(461)].length:0,this[t(1555)](e),this[t(461)]&&e.writeUint8Array(this[t(461)]))},h[s(639)].prototype[s(489)]=function(e){var t=s;this.size=0,this[t(1555)](e);for(var r=0;r=2&&e.writeUint32(this[n(1333)]),e.writeUint32(this.entries[n(1119)]),t=0;t0)for(t=0;t+1r?1:0,this[t(1390)]=0,this[t(1059)]=4,1===this[t(1437)]&&(this.size+=4),this.writeHeader(e),1===this[t(1437)]?e[t(1343)](this[t(1648)]):e[t(1265)](this[t(1648)])},h[s(1083)].prototype.write=function(e){var t=s;this[t(1437)]=0,this.size=4,this[t(1390)]&h[t(740)]&&(this[t(1059)]+=8),this[t(1390)]&h[t(432)]&&(this.size+=4),this[t(1390)]&h[t(950)]&&(this[t(1059)]+=4),this[t(1390)]&h[t(592)]&&(this[t(1059)]+=4),this[t(1390)]&h[t(593)]&&(this[t(1059)]+=4),this[t(1555)](e),e[t(1265)](this[t(442)]),this[t(1390)]&h[t(740)]&&e[t(1343)](this[t(455)]),this[t(1390)]&h[t(432)]&&e[t(1265)](this[t(1333)]),this.flags&h[t(950)]&&e[t(1265)](this[t(1464)]),this[t(1390)]&h[t(592)]&&e[t(1265)](this[t(1180)]),this.flags&h[t(593)]&&e.writeUint32(this.default_sample_flags)},h[s(1458)][s(1271)][s(489)]=function(e){var t=s;this[t(1437)]=0,this.size=80,this[t(1555)](e),e[t(1265)](this[t(1039)]),e[t(1265)](this[t(757)]),e.writeUint32(this[t(442)]),e.writeUint32(0),e[t(1265)](this[t(685)]),e[t(1265)](0),e[t(1265)](0),e[t(1482)](this.layer),e[t(1482)](this[t(844)]),e[t(1482)](this[t(1601)]<<8),e[t(1055)](0),e[t(1342)](this[t(503)]),e[t(1265)](this[t(1066)]),e[t(1265)](this[t(1023)])},h[s(523)][s(1271)][s(489)]=function(e){var t=s;this[t(1437)]=0,this.flags=0,this[t(1059)]=20,this.writeHeader(e),e[t(1265)](this[t(442)]),e.writeUint32(this[t(1333)]),e[t(1265)](this[t(1464)]),e[t(1265)](this[t(1180)]),e[t(1265)](this[t(1471)])},h.trunBox[s(1271)][s(489)]=function(e){var t=s;this[t(1437)]=0,this[t(1059)]=4,this[t(1390)]&h[t(966)]&&(this.size+=4),this[t(1390)]&h[t(770)]&&(this.size+=4),this.flags&h.TRUN_FLAGS_DURATION&&(this[t(1059)]+=4*this[t(1376)].length),this[t(1390)]&h[t(1575)]&&(this[t(1059)]+=4*this[t(1350)].length),this.flags&h[t(604)]&&(this.size+=4*this[t(751)].length),this.flags&h[t(1594)]&&(this[t(1059)]+=4*this[t(612)].length),this[t(1555)](e),e[t(1265)](this[t(596)]),this[t(1390)]&h[t(966)]&&(this[t(1653)]=e[t(799)](),e.writeInt32(this[t(1373)])),this.flags&h[t(770)]&&e[t(1265)](this[t(1497)]);for(var r=0;r-1||e[r]instanceof h[n(1094)]||t[r]instanceof h[n(1094)]||typeof e[r]===n(1313)||typeof t[r]===n(1313)||"function"==typeof e[r]||"function"==typeof t[r]||e[n(1620)]&&e[n(1620)][n(1021)](r[n(485)](0,4))>-1||t.subBoxNames&&t[n(1620)].indexOf(r[n(485)](0,4))>-1||r===n(461)||r===n(775)||r===n(1059)||r===n(1039)||r===n(757)||h[n(1204)][n(1021)](r)>-1||e[r]===t[r]))return!1;return!0},h[s(674)]=function(e,t){var r=s;if(!h.boxEqualFields(e,t))return!1;for(var n=0;n=t?e:new Array(t-e[n(1119)]+1)[n(714)](r)+e}function o(e){var t=Io,r=Math[t(1144)](e/3600),n=Math[t(1144)]((e-3600*r)/60),s=Math[t(1144)](e-3600*r-60*n),o=Math[t(1144)](1e3*(e-3600*r-60*n-s));return i(r,2)+":"+i(n,2)+":"+i(s,2)+"."+i(o,3)}for(var a=this[n(885)](r),c="",u=0;u1)for(t=1;t-1&&this[t(1296)][t(780)](r,1)},g[s(1271)].setExtractionOptions=function(e,t,r){var n=s,i=this[n(1657)](e);if(i){var o={};this[n(601)][n(1383)](o),o.id=e,o[n(1013)]=t,o.trak=i,i[n(1530)]=0,o.nb_samples=1e3,o.samples=[],r&&r[n(937)]&&(o[n(1685)]=r.nbSamples)}},g[s(1271)][s(570)]=function(e){for(var t=s,r=-1,n=0;n-1&&this[t(601)].splice(r,1)},g.prototype[s(867)]=function(){var e,t,r=s;if(!this.restoreParsePosition||this[r(1370)]())for(;;){if(this[r(856)]&&this.hasIncompleteMdat()){if(this[r(1017)]())continue;return}if(this.saveParsePosition&&this[r(1153)](),(e=h[r(1636)](this[r(1651)],false)).code===h[r(1527)]){if(this.processIncompleteBox){if(this[r(408)](e))continue;return}return}var n;switch(n=(t=e.box).type!==r(1075)?t[r(1003)]:t[r(1075)],this[r(1456)][r(1383)](t),n){case r(847):this.mdats[r(1383)](t);break;case"moof":this[r(556)].push(t);break;case"moov":this[r(748)]=!0,0===this[r(438)].length&&(this[r(660)]=!0);default:void 0!==this[n]&&o[r(542)](r(1430),r(827)+n+", overriding previous occurrence"),this[n]=t}this[r(1032)]&&this[r(1032)](t,e)}},g[s(1271)].checkBuffer=function(e){var t=s;if(null==e)throw t(800);if(void 0===e[t(1507)])throw t(1193);return 0===e[t(1018)]?(o[t(542)](t(1430),t(1628)+e[t(1507)]+")"),this[t(1651)][t(871)](),!1):(o[t(681)](t(1430),t(737)+e[t(1507)]+")"),e[t(499)]=0,this.stream[t(1423)](e),this.stream[t(871)](),!!this.stream.initialized()||(o[t(542)]("ISOFile",t(1570)),!1))},g.prototype.appendBuffer=function(e,t){var r,n=s;if(this[n(414)](e))return this[n(867)](),this[n(748)]&&!this[n(677)]&&(this[n(677)]=!0,this.onMoovStart&&this[n(1073)]()),this[n(579)]?(!this.sampleListBuilt&&(this[n(1591)](),this[n(1616)]=!0),this[n(1025)](),this[n(1258)]&&!this[n(726)]&&(this[n(726)]=!0,this[n(1258)](this.getInfo())),this[n(1462)](t),this.nextSeekPosition?(r=this[n(1041)],this.nextSeekPosition=void 0):r=this.nextParsePosition,this[n(1651)][n(615)]&&(r=this[n(1651)][n(615)](r))):r=this[n(899)]?this.nextParsePosition:0,this[n(860)]&&this[n(1188)]&&!this[n(1060)]&&(this[n(1188)](this[n(860)]),this[n(1060)]=!0),this.meta&&(this[n(777)]&&!this[n(723)]&&(this[n(777)](),this.itemListBuilt=!0),this[n(1449)]&&this[n(1449)](this[n(1113)])),this[n(1651)][n(1139)]&&(o[n(681)]("ISOFile",n(1596)+e[n(1507)]+n(655)+r),this[n(1651)][n(871)](),this[n(1651)][n(1139)](),this.stream[n(871)](!0),o[n(681)](n(1430),n(989)+this[n(1111)]())),r},g[s(1271)][s(760)]=function(){var e,t,r,n,i,o,a=s,c={},u=new Date(a(1010))[a(533)]();if(this.moov)for(c.hasMoov=!0,c.duration=this[a(579)][a(631)][a(685)],c[a(1431)]=this[a(579)][a(631)][a(1431)],c[a(972)]=null!=this[a(579)][a(1092)],c[a(972)]&&this[a(579)][a(1092)][a(429)]&&(c[a(872)]=this.moov[a(1092)][a(429)][a(872)]),c[a(660)]=this[a(660)],c[a(920)]=null!=this[a(579)][a(818)],c[a(791)]=[],c.brands[a(1383)](this[a(1288)].major_brand),c[a(791)]=c.brands[a(1090)](this[a(1288)][a(537)]),c[a(1325)]=new Date(u+1e3*this[a(579)][a(631)].creation_time),c[a(812)]=new Date(u+1e3*this.moov[a(631)][a(757)]),c[a(585)]=[],c[a(888)]=[],c[a(1093)]=[],c[a(1072)]=[],c[a(1382)]=[],c[a(425)]=[],c[a(1359)]=[],e=0;e0?c[a(439)]+='video/mp4; codecs="':c[a(888)]&&c[a(888)][a(1119)]>0?c[a(439)]+=a(676):c[a(439)]+=a(1489),e=0;e=r[n(1421)][n(1119)])&&(o[n(681)](n(1430),n(531)+i.id+n(460)+Math[n(981)](0,r[n(1530)]-i[n(1685)])+","+(r[n(1530)]-1)+"]"),o[n(681)](n(1430),"Sample data size in memory: "+this[n(1111)]()),this.onSegment&&this[n(1210)](i.id,i[n(1013)],i[n(1661)][n(576)],r[n(1530)],e||r.nextSample>=r[n(1421)][n(1119)]),i.segmentStream=null,i!==this[n(1296)][t]))break}}if(null!==this.onSamples)for(t=0;t=r.samples[n(1119)])&&(o[n(957)](n(1430),n(1270)+c.id+n(1317)+r[n(1530)]),this[n(584)]&&this[n(584)](c.id,c[n(1013)],c[n(1421)]),c.samples=[],c!==this[n(601)][t]))break}}}},g[s(1271)][s(518)]=function(e){var t=this[s(1498)](e,!0);return t.length?t[0]:null},g[s(1271)][s(1498)]=function(e,t){var r=s,n=[];return g[r(1040)][r(828)](this,e,n,t),n},g._sweep=function(e,t,r){var n=s;for(var i in this.type&&this[n(1003)]==e&&t[n(1383)](this),this[n(1456)]){if(t[n(1119)]&&r)return;g[n(1040)].call(this[n(1456)][i],e,t,r)}},g[s(1271)][s(1026)]=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},g[s(1271)][s(1516)]=function(e,t){var r=s,n=this.getTrackById(e);return this[r(719)](n,t)},g[s(1271)][s(961)]=function(e,t,r){var n=s,i=0,a=this[n(1657)](e);a[n(727)]||(a.lastValidSample=0);for(var c=a[n(727)];ce*i.timescale){d=n-1;break}t&&i[u(1548)]&&(l=n)}for(t&&(d=l),e=r[u(1421)][d][u(1388)],r[u(1530)]=d;r.samples[d].alreadyRead===r[u(1421)][d].size&&r.samples[d+1];)d++;return a=r.samples[d][u(924)]+r[u(1421)][d][u(415)],o.info("ISOFile",u(1551)+(t?"RAP":"")+" sample #"+r[u(1530)]+u(699)+r[u(1251)].track_id+u(1398)+o[u(1077)](e,c)+u(1646)+a),{offset:a,time:e/c}},g[s(1271)][s(511)]=function(e){var t,r=s;return e[r(1421)]?((t=e.samples[e[r(1421)][r(1119)]-1])[r(1388)]+t[r(685)])/t[r(1431)]:1/0},g[s(1271)][s(1425)]=function(e,t){var r,n,i,a=s,c=this[a(579)],u={offset:1/0,time:1/0};if(this[a(579)]){for(i=0;ithis[a(511)](r)||((n=this[a(1080)](e,t,r))[a(924)]-1){u=l;break}switch(u){case"Visual":if(o[t(1088)](t(1512))[t(690)](t(614),0)[t(690)](t(1673),[0,0,0]),c[t(690)]("width",r[t(1066)])[t(690)]("height",r[t(1023)])[t(690)]("horizresolution",72<<16)[t(690)](t(1006),72<<16)[t(690)]("frame_count",1)[t(690)](t(682),r[t(1003)]+t(1680))[t(690)](t(528),24),r[t(1411)]){var p=new(h[t(879)]);p.parse(new a(r[t(1411)])),c.addBox(p)}else if(r[t(1688)]){var m=new h.hvcCBox;m[t(867)](new a(r[t(1688)])),c[t(1641)](m)}break;case"Audio":o[t(1088)](t(1682))[t(690)](t(661),r.balance||0),c.set(t(1367),r[t(1367)]||2)[t(690)](t(527),r[t(527)]||16).set(t(1220),r[t(1220)]||65536);break;case t(1118):o.add(t(404));break;case t(1064):if(o[t(1088)](t(1076)),"stpp"===r[t(1003)])c[t(690)](t(829),r[t(829)]||t(678)).set(t(1108),r[t(1108)]||"").set(t(490),r[t(490)]||"");break;case t(1045):default:o[t(1088)](t(1160))}r[t(1007)]&&c[t(1641)](r[t(1007)]),r[t(1683)]&&r[t(1683)][t(984)]((function(e){c[t(1641)](e)})),o[t(1088)](t(586))[t(1088)](t(724))[t(669)]((new(h[t(1666)]))[t(690)](t(1390),1));var v=o[t(1088)](t(1381));return v.add(t(665))[t(669)](c),v[t(1088)](t(993))[t(690)]("sample_counts",[])[t(690)]("sample_deltas",[]),v.add(t(809))[t(690)](t(1508),[]).set(t(1065),[])[t(690)](t(1534),[]),v[t(1088)](t(1597)).set(t(1361),[]),v.add("stsz")[t(690)]("sample_sizes",[]),this[t(579)][t(1092)][t(1088)](t(1637))[t(690)](t(442),r.id).set(t(1333),r.default_sample_description_index||1)[t(690)](t(1464),r[t(1464)]||0)[t(690)](t(1180),r.default_sample_size||0)[t(690)](t(1471),r.default_sample_flags||0),this.buildTrakSampleLists(n),r.id}},h[s(1094)].prototype[s(1245)]=function(e){var t=s,r=e||new c;r[t(396)]=c.BIG_ENDIAN,this.write(r)},g.prototype[s(605)]=function(e,t,r){var n=s,i=r||{},o={},a=this[n(1657)](e);if(null!==a){o[n(1463)]=a[n(1421)].length,o[n(442)]=a.tkhd[n(442)],o.timescale=a[n(768)][n(1393)][n(1431)],o[n(1634)]=i[n(1534)]?i[n(1534)]-1:0,o[n(1007)]=a[n(768)][n(865)][n(1381)][n(665)][n(1254)][o[n(1634)]],o.data=t,o[n(1059)]=t[n(1018)],o[n(415)]=o[n(1059)],o.duration=i[n(685)]||1,o[n(1388)]=i[n(1388)]||0,o[n(1287)]=i[n(1287)]||0,o[n(1548)]=i[n(1548)]||!1,o[n(1135)]=i[n(1135)]||0,o[n(1241)]=i.depends_on||0,o.is_depended_on=i.is_depended_on||0,o[n(1049)]=i.has_redundancy||0,o[n(1664)]=i[n(1664)]||0,o[n(924)]=0,o[n(987)]=i[n(987)],a.samples[n(1383)](o),a[n(588)]+=o.size,a[n(1567)]+=o.duration,void 0===a.first_dts&&(a.first_dts=i.dts),this[n(1462)]();var c=this[n(893)](o);return this[n(1641)](c),c[n(1245)](),c[n(982)][0][n(980)][0][n(1373)]=c[n(1059)]+8,this[n(1088)](n(847))[n(461)]=new Uint8Array(t),o}},g[s(1271)][s(893)]=function(e){var t=s,r=0;r=e[t(1548)]?1<<25:65536;var n=new(h[t(1439)]);n[t(1088)]("mfhd")[t(690)](t(427),this[t(1218)]),this.nextMoofNumber++;var i=n[t(1088)]("traf"),o=this[t(1657)](e.track_id);return i.add(t(1221))[t(690)](t(442),e[t(442)]).set("flags",h[t(1235)]),i[t(1088)](t(1428))[t(690)](t(1648),e[t(1287)]-(o.first_dts||0)),i[t(1088)](t(1284))[t(690)](t(1390),h[t(966)]|h[t(936)]|h[t(1575)]|h.TRUN_FLAGS_FLAGS|h.TRUN_FLAGS_CTS_OFFSET).set(t(1373),0)[t(690)](t(1497),0).set(t(596),1)[t(690)](t(1376),[e.duration]).set(t(1350),[e[t(1059)]])[t(690)](t(751),[r])[t(690)](t(612),[e[t(1388)]-e[t(1287)]]),n},g[s(1271)][s(1091)]=0,g[s(1271)].samplesDataSize=0,g[s(1271)].resetTables=function(){var e,t,r,n,i,o,a=s;for(this[a(945)]=this[a(579)][a(631)][a(685)],this[a(579)][a(631)][a(685)]=0,e=0;e=2&&(u=i[a][l(1434)]+"/0",(c=new d(i[a][l(1434)],0))[l(842)]=!0,!t[l(1433)][u]&&(t[l(1433)][u]=c))}else for(a=0;a=2&&(u=n[a][l(1434)]+"/0",c=new d(n[a][l(1434)],0),!e[l(1433)][u]&&(e[l(1433)][u]=c))},g.setSampleGroupProperties=function(e,t,r,n){var i,o,a=s;for(i in t[a(411)]=[],n){var c;if(t[a(411)][i]={},t[a(411)][i][a(1434)]=n[i].grouping_type,t[a(411)][i][a(750)]=n[i][a(750)],r>=n[i][a(999)]&&(n[i][a(999)]<0&&(n[i].last_sample_in_run=0),n[i].entry_index++,n[i].entry_index<=n[i][a(459)][a(1254)].length-1&&(n[i][a(999)]+=n[i].sbgp[a(1254)][n[i][a(1095)]][a(596)])),n[i].entry_index<=n[i].sbgp[a(1254)].length-1?t[a(411)][i][a(1291)]=n[i][a(459)][a(1254)][n[i][a(1095)]][a(1291)]:t[a(411)][i][a(1291)]=-1,0!==t[a(411)][i][a(1291)])c=n[i][a(535)]?n[i][a(535)]:n[i][a(1007)],t[a(411)][i][a(1291)]>0?(o=t[a(411)][i][a(1291)]>65535?(t[a(411)][i][a(1291)]>>16)-1:t[a(411)][i][a(1291)]-1,c&&o>=0&&(t[a(411)][i][a(1007)]=c[a(1254)][o])):c&&c.version>=2&&c[a(1024)]>0&&(t[a(411)][i][a(1007)]=c[a(1254)][c.default_group_description_index-1])}},g[s(587)]=function(e,t,r){var n=s;t&&(e?(t[n(1135)]=e[n(1135)][r],t[n(1241)]=e[n(1051)][r],t.is_depended_on=e[n(640)][r],t[n(1049)]=e.sample_has_redundancy[r]):(t[n(1135)]=0,t[n(1241)]=0,t.is_depended_on=0,t[n(1049)]=0))},g[s(1271)].buildSampleLists=function(){var e,t,r=s;for(e=0;eb&&(w++,b<0&&(b=0),b+=o[C(1379)][w]),t>0?(e[C(1421)][t-1][C(685)]=o.sample_deltas[w],e[C(1567)]+=e[C(1421)][t-1][C(685)],x[C(1287)]=e.samples[t-1][C(1287)]+e[C(1421)][t-1].duration):x[C(1287)]=0,a?(t>=S&&(E++,S<0&&(S=0),S+=a.sample_counts[E]),x.cts=e[C(1421)][t].dts+a[C(1170)][E]):x[C(1388)]=x.dts,c?(t==c[C(421)][I]-1?(x[C(1548)]=!0,I++):(x[C(1548)]=!1,x[C(1664)]=0),l&&l[C(1254)][k][C(1122)]+A==t+1&&(x[C(987)]=l.entries[k][C(987)],A+=l[C(1254)][k][C(1122)],k++)):x[C(1548)]=!0,g[C(587)](e[C(768)][C(865)][C(1381)][C(643)],x,x[C(1463)]),f?x.degradation_priority=f[C(1467)][t]:x[C(1664)]=0,l&&l[C(1254)][k][C(1122)]+A==t&&(x[C(987)]=l.entries[k][C(987)],A+=l[C(1254)][k].sample_delta),(d[C(1119)]>0||h[C(1119)]>0)&&g[C(1665)](e,x,t,e[C(1433)])}t>0&&(e[C(1421)][t-1][C(685)]=Math[C(981)](e[C(768)][C(1393)][C(685)]-e[C(1421)][t-1][C(1287)],0),e[C(1567)]+=e[C(1421)][t-1].duration)}},g[s(1271)][s(1025)]=function(){var e,t,r,n,i,o,a,c,u,l,d,f,p,m,v,y=s;if(void 0!==this[y(579)])for(;this[y(1091)]0&&g[y(944)](f,d,d.sbgps,f.mdia.minf[y(1381)][y(602)],d.sgpds),t=0;t0?m[y(1287)]=f.samples[f[y(1421)].length-2][y(1287)]+f[y(1421)][f.samples[y(1119)]-2][y(685)]:(d.tfdt?m[y(1287)]=d[y(1428)][y(1648)]:m.dts=0,f[y(688)]=!0),m[y(1388)]=m[y(1287)],_.flags&h[y(1594)]&&(m[y(1388)]=m.dts+_[y(612)][r]),v=a,_[y(1390)]&h[y(604)]?v=_[y(751)][r]:0===r&&_.flags&h[y(770)]&&(v=_[y(1497)]),m[y(1548)]=!(v>>16&1),m.is_leading=v>>26&3,m[y(1241)]=v>>24&3,m[y(1375)]=v>>22&3,m.has_redundancy=v>>20&3,m[y(1664)]=65535&v;var b=!!(d[y(1221)][y(1390)]&h[y(740)]),w=!!(d[y(1221)][y(1390)]&h.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),S=!!(_[y(1390)]&h[y(966)]),E=0;E=b?d[y(1221)][y(455)]:w||0===t?l[y(775)]:c,0===t&&0===r?S?m.offset=E+_[y(1373)]:m[y(924)]=E:m[y(924)]=c,c=m.offset+m[y(1059)],(d.sbgps[y(1119)]>0||d.sgpds[y(1119)]>0||f[y(768)][y(865)].stbl[y(1415)].length>0||f.mdia[y(865)][y(1381)].sgpds[y(1119)]>0)&&g[y(1665)](f,m,m[y(1353)],d.sample_groups_info)}}if(d[y(1178)]){f.has_fragment_subsamples=!0;var I=d[y(646)];for(t=0;t-1))return null;var u=(r=this.stream[n(1074)][a])[n(1018)]-(i.offset+i.alreadyRead-r[n(1507)]);if(i[n(1059)]-i[n(415)]<=u)return o[n(957)](n(1430),n(469)+t+n(807)+i[n(415)]+n(1466)+(i[n(924)]+i[n(415)]-r.fileStart)+n(668)+(i[n(1059)]-i[n(415)])+n(554)+i[n(1059)]+")"),c.memcpy(i[n(461)][n(576)],i[n(415)],r,i[n(924)]+i[n(415)]-r[n(1507)],i[n(1059)]-i[n(415)]),r[n(499)]+=i[n(1059)]-i.alreadyRead,this.stream.logBufferLevel(),i[n(415)]=i[n(1059)],i;if(0===u)return null;o[n(957)]("ISOFile",n(469)+t+n(520)+i[n(415)]+" offset: "+(i[n(924)]+i[n(415)]-r[n(1507)])+n(668)+u+" full size: "+i[n(1059)]+")"),c[n(1224)](i.data.buffer,i[n(415)],r,i[n(924)]+i[n(415)]-r[n(1507)],u),i.alreadyRead+=u,r.usedBytes+=u,this[n(1651)][n(871)]()}},g[s(1271)][s(663)]=function(e,t){var r=s,n=e[r(1421)][t];return n[r(461)]?(this[r(1243)]-=n.size,n.data=null,n[r(1007)]=null,delete n[r(1664)],delete n.depends_on,delete n[r(1634)],delete n[r(1049)],delete n[r(1375)],delete n[r(1135)],delete n[r(1548)],delete n[r(975)],delete n[r(1353)],delete n.timescale,delete n[r(1388)],delete n[r(1287)],delete n.offset,delete n.size,delete n[r(442)],delete n[r(685)],n[r(415)]=0,n[r(1059)]):0},g.prototype.getAllocatedSampleDataSize=function(){return this[s(1243)]},g[s(1271)][s(1286)]=function(){var e,t=s,r="";for(e=0;e0&&(r+=","),r+=this[t(579)][t(1173)][e][t(768)][t(865)][t(1381)].stsd[t(1254)][0][t(1213)]()}return r},g[s(1271)].getTrexById=function(e){var t,r=s;if(!this[r(579)]||!this[r(579)][r(1092)])return null;for(t=0;t0&&(r[n(1407)]=c[n(1441)][n(595)][c[n(1478)].item_infos[e][n(1085)]-1]),c.iinf[n(1341)][e].item_type?r.type=c[n(1478)][n(1341)][e][n(1305)]:r.type=n(439),r[n(1233)]=c[n(1478)][n(1341)][e][n(1233)],r.content_encoding=c[n(1478)][n(1341)][e][n(510)];if(c.grpl)for(e=0;e0&&p[n(466)]-1-1))return null;var l=(t=this[n(1651)].buffers[u])[n(1018)]-(a[n(924)]+a.alreadyRead-t[n(1507)]);if(!(a[n(1119)]-a[n(415)]<=l))return o[n(957)](n(1430),n(638)+e+" extent #"+i+n(520)+a[n(415)]+n(1466)+(a[n(924)]+a[n(415)]-t[n(1507)])+n(668)+l+" full extent size: "+a[n(1119)]+n(808)+r[n(1059)]+")"),c[n(1224)](r[n(461)][n(576)],r[n(415)],t,a[n(924)]+a[n(415)]-t[n(1507)],l),a[n(415)]+=l,r[n(415)]+=l,t.usedBytes+=l,this[n(1651)][n(871)](),null;o[n(957)](n(1430),"Getting item #"+e+n(618)+i+" data (alreadyRead: "+a[n(415)]+n(1466)+(a.offset+a[n(415)]-t[n(1507)])+n(668)+(a[n(1119)]-a[n(415)])+n(454)+a[n(1119)]+n(808)+r[n(1059)]+")"),c[n(1224)](r.data[n(576)],r[n(415)],t,a[n(924)]+a[n(415)]-t[n(1507)],a[n(1119)]-a.alreadyRead),t[n(499)]+=a[n(1119)]-a.alreadyRead,this.stream[n(871)](),r.alreadyRead+=a.length-a[n(415)],a[n(415)]=a[n(1119)]}}return r[n(415)]===r[n(1059)]?r:null},g[s(1271)][s(1145)]=function(e){var t=s,r=this[t(670)][e];if(r[t(461)]){this.itemsDataSize-=r[t(1059)],r[t(461)]=null,r[t(415)]=0;for(var n=0;n0?this[i(579)][i(1173)][e].samples[0].duration:0),t.push(n)}return t},g[s(1271)][s(1583)]=function(){var e=s,t={};return t.moov=this[e(579)],this[e(579)]&&this[e(579)][e(1173)]&&this[e(579)][e(1173)][e(1119)]>1&&(t[e(1223)]=this[e(579)][e(1173)][0][e(1421)][e(1119)],t[e(686)]=this.moov.traks[1][e(1421)].length),t},h.Box.prototype[s(1262)]=function(e){var t=s;this[t(1059)]+=8,this.size>u&&(this.size+=8),this[t(1003)]===t(1075)&&(this[t(1059)]+=16),e[t(1402)](e[t(630)]+t(889)+this[t(1059)]),e[t(1402)](e.indent+t(1289)+this[t(1003)])},h.FullBox[s(1271)][s(1262)]=function(e){var t=s;this.size+=4,h[t(1094)].prototype[t(1262)][t(828)](this,e),e[t(1402)](e.indent+t(440)+this[t(1437)]),e.log(e[t(630)]+t(402)+this[t(1390)])},h[s(1094)][s(1271)].print=function(e){this.printHeader(e)},h[s(639)][s(1271)][s(667)]=function(e){var t=s;this[t(1262)](e);for(var r=0;r>8)),e[t(1402)](e.indent+t(1276)+this[t(503)][t(714)](", ")),e[t(1402)](e[t(630)]+t(500)+this.next_track_id)},h[s(1458)][s(1271)][s(667)]=function(e){var t=s;h[t(1659)].prototype[t(1262)][t(828)](this,e),e[t(1402)](e[t(630)]+t(1029)+this.creation_time),e[t(1402)](e[t(630)]+t(1219)+this[t(757)]),e[t(1402)](e.indent+t(1257)+this.track_id),e[t(1402)](e[t(630)]+t(648)+this.duration),e[t(1402)](e[t(630)]+t(943)+(this[t(1601)]>>8)),e[t(1402)](e[t(630)]+t(1276)+this[t(503)][t(714)](", ")),e[t(1402)](e[t(630)]+"layer: "+this.layer),e[t(1402)](e.indent+"alternate_group: "+this[t(844)]),e[t(1402)](e[t(630)]+t(1259)+this[t(1066)]),e[t(1402)](e.indent+t(563)+this[t(1023)])};var _={};_[s(610)]=function(e,t){var r=s,n=void 0===e||e,i=new g(t);return i[r(965)]=!n,i},"undefined"!==s(862)&&(t[s(610)]=_[s(610)])}));function Eo(){var e=["fieldOrdering","descriptionformat","tkhd","70294rIbPIP","displayFlags","entries","writeInt32","audio","track_id: ","onReady","width: ","associations","level_independently_decodable","printHeader","chroma_subsampling_y","decode","writeUint32"," of size: ","payt","readInt method not implemented for size: ","ptl_frame_only_constraint","Sending samples on track #","prototype","stsh","tsyn","block_size","revokeObjectURL","matrix: ","code","end","skew_factor","getChannelCount","error","ChannelMappingFamily","ext","trun","setFloat32","getCodecs","dts","ftyp","type:","num_bad_rows","group_description_index","numTemporalLayers","parsingMdat","PPS",'"; profiles="',"fragmentedTracks","row_align_size","item_count","durationFlag","sdp ","writeUint8Array","constant_frame_rate","Found box of type '","_dynamicSize","item_type","kinds","maxCLL","sample_sizes","primaryGChromaticity_x","tx3g",", size ","ols_idx","undefined","dimm","_byteOffset","flush"," for sample ","parseDataAndRewind","cleanApertureHeightN","writeFloat32Array","setUint32","DecoderSpecificInfo","[row: ","apply","created","6d1d9b0542d544e680e2141daff757b2","num_entities_in_group"," greater than its container size ","rash","stereo_indication_type","setAllUsedBytes","configurationVersion","default_sample_description_index","Box of type ","strd","bytes","isProtected","elng","videoFullRangeFlag","stream_read_1_bytes","item_infos","writeInt32Array","writeUint64","createMediaSampleEntryCtor","stscBox",") already appended, ignoring","bit_depth_minus8","avgFrameRate","float32be","sample_size","setNextSeekPositionFromSample","sub_track_id","number_in_traf","mehd box incorrectly uses flags set to 1, converting version to 1","u16stringbe","reference_ID","scnm","movie_duration","otherTracks","Parsing of box '","chunk_offsets","getPrimaryItem","reserved_2","d4807ef2ca3946958e5426cb9e46a79f","horizOffD","avcC","channel_count","Audio","sample_offset","restoreParsePosition","createElement","sampleEntryCodes","data_offset","UUIDs","is_depended_on","sample_duration","sampling_type","writeFloat64Array","sample_counts","name","stbl","metadataTracks","push","component_type_urls","18348246VsohQf","mfhdBox","tag","cts","writeUCS2String","flags","lastBoxStartPosition","No method for reading signed 24 bits values","mdhd","click","totl","chunk_index","stpp",", time ","initialized","max_display_mastering_luminance","layer_size","log"," - Length: ","Found 'mdat' end in buffered data","SPS"," bytes), seeking forward","protection","Error in length field in stz2 box","schemeURI","&","avcDecoderConfigRecord","NAL_unit_type","' box writing not yet implemented, keeping unparsed data in memory for later write","5958ShhkhP","sbgps","parseHex16","udta","' and size ","min","STREAMINFO","samples","subsegment_duration","insertBuffer","dependency","seek","mfhd","OutputChannelCount","tfdt","bitDepth","ISOFile","timescale","destroy","sample_groups_info","grouping_type","encs","PICTURE","version","(empty)","moofBox","vipr","ipro","getTrexById","frame_count","bufferSizeDB","scheme_type","Allocating sample #","acmod","max_pic_average_light_level","processItems","432TeEaJy","mett","minimum_bitrate","writeUint16Array","offset_size","bad_pixels","boxes","av01","tkhdBox","toString","No segmentation callback set!","setUint16","processSamples","number","default_sample_duration","trefBox"," offset: ","priority","absolute_time","luminanceMin","SAMPLE_ENTRY_TYPE_TEXT","default_sample_flags","first_offset","held_bits","rtpmap_string","Mismatch in ","presentation_time","getWidth","iinf","sync_sample_numbers","Buffer (fileStart: ","readUint16Array","writeInt16","nclx","_trimAlloc","intra_pred_used","_size","writeUint8","hnti",'application/mp4; codecs="',"sublayer_level_idc","MP4BoxStream","Unknown box type: '","position","writeFloat32","itemId","prft","first_sample_flags","getBoxes","frma","MultiBufferStream","vvi1","dobr","chroma_sample_position","lengthSizeMinusOne","entry_count","DIFF_BOXES_PROP_NAMES","fileStart","first_chunk","initial_delay","readInt64","CoupledCount","vmhd","component_format"," bytes), continuous ranges: ","dataView","getTrackSample","mere","minor_version","principal_point_x","sample_number","greatestDecodeToDisplayDelta","properties","uint16be","constant_IV_size","Adjusting data_offset with new value ","vvcN","ERR_NOT_ENOUGH_DATA","subSequenceIdentifier","essential","nextSample","irot","Appending new buffer (fileStart: ","horizOffN","sample_description_index","default_AlgorithmID","Not enough data in stream to parse the type and size of the box","parseOneDescriptor","media_rate_fraction","failurePosition","Text","SAMPLE_ENTRY_TYPE_AUDIO","'","Error accessing position in the MultiBufferStream","reserved","grpl","bit_depth_luma_minus8","isVideo","is_sync","encm","aux_info_type_parameter","Seeking to ","pow","stsa","ipmas","writeHeader","replace","pano","op_index",", remaining: ","segment_duration","extension_type","track_height","writeInt8Array","leastDecodeToDisplayDelta","ref_to","full_range_flag","samples_duration","VORBIS_COMMENT","cttsBox","Not ready to start parsing","url ","dfLa","createFragment","next_track_id","TRUN_FLAGS_SIZE","LITTLE_ENDIAN","bitrate","clli","initial_presentation_delay_present","setSegmentOptions","dmed","createContainerBoxCtor","getPerformanceInfo","uri ","avg_frame_rate","readAnyInt","_realloc","a5d40b30e81411ddba2f0800200c9a66","Textin4Parser","to_item_ID","buildSampleLists","pitm","num_leading_samples_known","TRUN_FLAGS_CTS_OFFSET","lsel","Done processing buffer (fileStart: ","stco","Expected 'infe' box, got ","constantFrameRate","media_rate_integer","volume","uint8","primaryRChromaticity_y","timescale: ","isMetadata","payl","Error reading base offset size","ac-4","extent_offset","unpack","prof","moof","pixi","max_picture_width","Visual","sampleListBuilt","readFloat32Array","seq_profile"," f=","subBoxNames","vertOffN","SLConfigDescriptor",'" box',"hdr_size","avc4SampleEntry","mapInt8Array",", column: ","Ignoring empty buffer (fileStart: ","chan_loc","mjp2","encu","white_point","cstring","description_index","aux_type","parseOneBox","trex","SAMPLE_ENTRY_TYPE_HINT"," v=","rap ","addBox","image_height","presentation_time_delta","string","default_IV_size"," and offset: ","channel_types","baseMediaDecodeTime","hasItem","getEndPosition","stream","eqiv","data_offset_position","_dataView","high_bitdepth","ptl_multilayer_enabled_flag","getTrackById","rICC","FullBox","general_constraint_indicator","segmentStream","Adjusted seek position (after checking data already in buffer): "," on track #","degradation_priority","setSampleGroupProperties","url Box","j2ki","parseUUID","ftypBox","function","sample_has_redundancy","Trying to create a new buffer of size: ","opcolor","imir","has_unparsed_data","item_ID","vttC","Repositioning parser at buffer position: "," --\x3e "," Compressor","default_isProtected","smhd","description_boxes","ntp_timestamp","nb_samples","avc1","default_constant_IV","hevcDecoderConfigRecord","num_dep_sub","general_sub_profile_idc","group_id","pos_z","tpay","endianness","cleanApertureHeightD","No more buffer in memory","VisualSampleEntry","save","saiz","flags:","stop","hmhd","getText","whitePointChromaticity_x","hvcCBox","processIncompleteBox","Removing buffer #","nalu","sample_groups","writeCString","sbgpBox","checkBuffer","alreadyRead","descs","assignment_type","scheme_uri","referenced_size","metadata","sample_numbers","Item storage with construction_method : not supported","interleave_type","bad_columns","hintTracks","vvi1SampleEntry","sequence_number","num_tile_cols_minus_one","mehd","SAMPLE_ENTRY_TYPE_VISUAL","default_sample_info_size","TFHD_FLAG_SAMPLE_DESC","horizresolution","length_size_of_sample_num","646pdEKXg","TKHD_FLAG_ENABLED","discard_priority","mdats","mime","version:","No sample in track, cannot seek! Using time ","track_id","int32be","RESERVED","Per_Sample_IV_Size",">","MetadataSampleEntry","config","pos_x","Descriptor","float64","stssBox","kind"," full extent size: ","base_data_offset","FULL_BOXES","rapAlignement","document","sbgp"," for samples [","data","writeStruct","constant_IV","XMLSubtitlein4Parser","vttc","property_index","vertical_justification","dataview","Getting sample #","writeFloat64","wbbr","The first buffer should have a fileStart of 0","bits_per_channels","chroma_format_idc","default_crypt_byte_block","readUint64","int8","Cannot parse extension type","iref","meta","parseConfig","fscod","accurateStatisticsFlag","ranges","slice","ispe","readInt16","clap","write","auxiliary_mime_types","TKHD_FLAG_IN_PREVIEW","compositionStartTime","avgRateFlag","Sample Group type: ","afbr","2745730iGVekN","createEntityToGroupCtor","initialize","usedBytes","next_track_id: ","SmDm","int32","matrix","chromaSubsampling","component_align_size","operation_point_count","dynamicSize","charCodeAt","BoxWriter","content_encoding","getTrackDuration","roll_distance","min_display_mastering_luminance","avs3","pssh","stsz","esds","getBox","readInt32Array"," partial data (alreadyRead: ","subtitles","strk","trexBox","SampleGroupEntry","parseLanguage","shadowed_sample_numbers","samplesize","depth","equal","seq_tier_0","Sending fragmented data on track #","createCommonjsModule","getTime","766940YyFYyK","fragment_description","length_size_of_traf_num","compatible_brands","sinf","tfra","drep","location","warn","twelve_bit","entity_ids","trep","saio","mjpg","ccst","angle","readInt8","bsmod","TrackReferenceTypeBox","nump"," full size: ","axis","moofs","nalu_arrays","Allocating item #","readUint16","source","component_bit_depth_minus_one","DataStream.save: Can't create object URL.","height: ","cmpd","shift","dmax","u16stringle","body","levels","unsetExtractionOptions","ipma","setInt8","all_ref_pics_intra","colourPrimaries","num_channels","buffer","' has a size ","SAMPLE_ENTRY_TYPE_METADATA","moov","split","general_level_idc","reference_type","getSampleRate","onSamples","tracks","dinf","process_sdtp","samples_size","getSampleSize","maxr","writeType","TFHD_FLAG_SAMPLE_SIZE","TFHD_FLAG_SAMPLE_FLAGS","flipArrayEndianness","protections","sample_count","hSpacing","oti","ctts box uses negative values without using version 1","transferFunction","extractedTracks","sgpds","colour_type","TRUN_FLAGS_FLAGS","addSample","OCR_ES_ID","stdp","layer_id","href","createFile","hinf","sample_composition_time_offset","Seeking at time ","graphicsmode","getEndFilePositionAfter","AudioSampleEntry","fromCharCodeUint8"," extent #","media_duration","tsel","readUint8Array","component_count","vvc1","max_content_light_level","dependsOn_ES_ID","createBoxCtor","rtp ","skip","dvh1","indent","mvhd","brst","quat_z","boxEqualFields","sidxBox","writeFooter","mapInt32Array","Getting item #","ContainerBox","sample_is_depended_on","mapUint8Array","scif","sdtp","findEndContiguousBuf","mapFloat32Array","first_sample_index","dav1","duration: ","PADDING","vvcC","discardable","target_rate_share","index_size","traf_number",") - next buffer to fetch should have a fileStart position of ","findDescriptor","encode"," box writing not yet implemented, keeping unparsed data in memory for later write","box","isProgressive","balance","isEos","releaseSample","float32le","stsd","Stream ready for parsing","print"," read size: ","addEntry","items","download","readString","iprp","boxEqual","StreamCount",'audio/mp4; codecs="',"moovStartSent","nonamespace","default_Per_Sample_IV_Size","data_format","info","compressorname","track_width","box_record","duration","moovVideoNum","createObjectURL","first_traf_merged","scheme_id_uri","set","chunk_run_index","default_length","item_protection_index","mp4aSampleEntry","btrt","createFullBoxCtor","favc","onError"," on track ","trgr","Generating initialization segment","base_offset","SampleEntry","MPEG4DescriptorParser","whitePointChromaticity_y","data_reference_index","getInt8","byteOffset","handler","seq_level_idx_0","a2394f525a9b4f14a2446c427c648df4","field_size","File uses negative stts sample delta, using value 1 instead, sync may be lost!","join","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","num_tile_rows_minus_one","readInt16Array","profile","getSample","num_output_samples","UUIDBoxes","test","itemListBuilt","dref","prol","readySent","lastValidSample","LiveServerManifest","BYTES_PER_ELEMENT","getMetaHandler","extents","metx","getAudioConfig","correction_applied","mskC","range_size","Processing buffer (fileStart: ","payloadID","mfra","TFHD_FLAG_BASE_DATA_OFFSET","193836qaBVfY","TKHD_FLAG_IN_MOVIE","getDescriptorName","hev1","length_size_of_trun_num","infe","bufferIndex","moovStartFound","rate","grouping_type_parameter","sample_flags"," sample #","moovBox","], [","ptl_sublayer_present_mask","starts_with_SAP","modification_time","xml ","Not enough bytes left in the parent box to parse a UUID box","getInfo"," not supported","languageString"," already stored in field of this type","trak","bad_pixel_column","init","stri","mdia","addUsedBytes","TRUN_FLAGS_FIRST_FLAG","sdptext","Adjusting box ","1112130gQTFeY","documentString","start","parseFooter","flattenItemInfo","lfeon"," (too small to be a box)","splice","_buffer","mapInt16Array","block_reversed","pdin","lhe1","sizePosition","schi","unsetSegmentOptions"," (total: ","step_count","brands","bxml","AVCProfileIndication","parseFullHeader","<","avc3SampleEntry","getInt16","writeInt16Array","getPosition","Buffer must be defined and non empty","vvs1","ChannelMapping","extended_language","cdef","uint16","av1C reserved_2 parsing problem"," data (alreadyRead: "," full item size: ","stsc","getInt32","max_ref_per_pic","modified"," more bytes than the indicated box data size, seeking backwards","avss","writeInitializationSegment","maximum_bitrate","SampleEntry ","iods","hvc1SampleEntry","numMetadataBlocks","substring","num_bytes_constraint_info","mapFloat64Array","Not enough bytes in buffer","dec3","hvcC","Duplicate Box of type: ","call","namespace","ES_Descriptor","getFloat64","avc2","clef","createEncryptedSampleEntryCtor","fragment_count","bufferSize","stream_read_2_bytes","subsegments","createSampleEntryCtor","references","upStream","is_fragment","getItem","alternate_group","mha1","general_constraint_info","mdat","seig","data_rate"," (released size: ","avgBitRate","ASCII","primaryBChromaticity_y"," with new size ","vide","hasIncompleteMdat","nalu_type","vpcC"," not fully parsed","sidx","Descriptor ","object","sample_deltas","from_item_ID","minf","TrackGroupTypeBox","parse","component_little_endian","createSampleGroupCtor","elst","logBufferLevel","fragment_duration","entity_groups","float32","No method for reading signed 64 bits values","sent","readUint24","num_bad_pixels","avcCBox","SingleItemTypeReferenceBox","ssix","num_leading_samples","extent_length","sgpd","parseSample","general_profile_space","ptl_num_sub_profiles","audioTracks","size:","description_length","stss","d08a4f1810f34a82b6c832d8aba183d3","createSingleSampleMoof","appendChild","quat_x","primaryBChromaticity_x","a1op","Log","nextParsePosition","Not enough data in stream to parse the entire '","used","ind_subs","dOps","focal_length_x","isAudio","ctts","display_primaries","OutputGain","readUint32Array","printRanges","stereo_scheme","int16","drefBox","prdi"," at position ","senc","BIG_ENDIAN","APPLICATION","stcoBox","hasIOD","mhm2","writeUint32Array","fiel","offset","readUint8","transferCharacteristics","readUint","vvnC","CoLL","padbits","enof","enct","parseFromString","bit_depth_chroma_minus8","getUint16","TRUN_FLAGS_DURATION","nbSamples","hdlr","codecIntializationData","nb_PPS_nalus","bad_pixel_row","createTrackGroupCtor","volume: ","initSampleGroups","initial_duration","Cannot seek: moov not received!","writeInt8","pmax","packetssent","TFHD_FLAG_SAMPLE_DUR","initial_presentation_delay_minus_one","defineProperty",""","resources","luminanceMax","aux_subtype","debug","Writing box ","enca","track_ids","releaseUsedSamples","msg","Exporting on track #","nativeToEndian","discardMdatData","TRUN_FLAGS_DATA_OFFSET","system_id","streamType","event_duration","num_held_bits","tsas","isFragmented","parseHeader","writeUint24","moof_number","num_ind_sub","SAP_type","default_constant_IV_size","hvc1","truns","max","trafs","layerNumber","forEach","Needs an array buffer","isEof","subsamples","hdlrBox","Sample data size in memory: ","Position ","moof_offset","item_id","stts","Item storage with reference to other files: not supported","itemsDataSize","isHint","kindBox","cslgBox","last_sample_in_run","setFloat64","meco","profile_compatibility","type",".CA","tile_align_size","vertresolution","description","mapUint16Array","findPosition","1904-01-01T00:00:00Z","media_time","base_offset_size","user","general_profile_idc","MP4Box","Track created with MP4Box.js","processIncompleteMdat","byteLength","length_size","tpyl","indexOf","decimalToHex","height","default_group_description_index","updateSampleLists","getTrackSamplesInfo","attribute_list","int32le","creation_time: ","_self","Version","updateUsedBytes","iso4","colorSpace","earliest_presentation_time","av1C reserved_1 parsing problem","SAMPLE_ENTRY_TYPE_SYSTEM","createUUIDBox","creation_time","_sweep","nextSeekPosition","SEEKTABLE","num_sublayers","level","Metadata","arrayToNative","absolute_duration","SAMPLE_ENTRY_TYPE_SUBTITLE","has_redundancy","co64Box","sample_depends_on","ptl_multilayer_enabled","value","getLength","writeUint16","isFragmentationInitialized","getHeight","urn ","size","sidxSent","tfdtBox","sampleProcessingStarted","readUint32","Subtitle","samples_per_chunk","width","component_types","AVCLevelIndication","tenc","bad_rows","8974dbce7be74c5184f97148f9882554","subtitleTracks","onMoovStart","buffers","uuid","sthd","getDurationString","skip_byte_block","readFloat64","seekTrack","co64","props","tfhdBox","SingleItemTypeReferenceBoxLarge","protection_index","maxFALL","codecIntializationDataSize","add","mapUint32Array","concat","lastMoofIndex","mvex","videoTracks","Box","entry_index","adjustUint32","TFHD_FLAG_DUR_EMPTY","emsgBox","mime_format","BoxParser","reserved_1","tref","setInt32","bits_per_pixel","getUint8","scheme_version","av01SampleEntry","schema_location","codec","cslg","getAllocatedSampleDataSize","hasMoov","onItem","channel_associations","uncC","target","switch_group","Hint","length","emsg"," of size ","sample_delta","iaug","quat_y","pts","sync","fromCharCode","mp4a","ArrayBuffer","track_ID","' box","addSubBoxArrays","uint32","construction_method","is_leading","tmax","video","Unknown uuid type: '","cleanBuffers","colr","stszBox","Unknown leva assignement type","System","floor","releaseItem","rate: ","num_bad_cols","time","av1C","stvi","cprt","stsg","saveParsePosition","bytessent","configOBUs","initializeSegmentation","getOTI","hvt1","general_tier_flag","nmhd","chroma_subsampling_x","tele","layer","uncv","addTrack","block_pad_lsb","reduceBuffer","esd","iloc","sample_offsets","Error reading extent index","available_bitrate","traks","message_data","' did not read the entire indicated box data size (missing ","auxC","urn Box","subs","_byteLength","default_sample_size","stxtSampleEntry","etyp","completeness","language","compositionEndTime","DataStream","track_group_id","onSidx","edts","tags","mergeNextBuffer","major_brand","Buffer must have a fileStart property","readCString","uint32be","URL","version of iloc box not supported","readInt8Array","extent_index","extract_bits","seekLists","slid","stz2","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","setAttribute","text","traf","schm","buildTrakSampleLists","onSegment","aebr","padb","getCodec","padding_flag","fobr","KID","Opus","nextMoofNumber","modification_time: ","samplerate","tfhd","kid","moovAudioNum","memcpy","pixel_size","sample_info_size","und","general_profile_compatibility","item_name","Track #","isSubtitle","readInt32","content_type","sample_rate","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","default_KID","tyco","dac3","component_index","writeString","depends_on","block_little_endian","samplesDataSize","parseRemainingDescriptors","computeSize","float64le","readFloat64Array","DecoderConfigDescriptor"];return(Eo=function(){return e})()}function Io(e,t){var r=Eo();return(Io=function(e,t){return r[e-=396]})(e,t)}So[wo(898)],So[wo(1491)],So[wo(1186)],So[wo(1500)],So[wo(704)],So[wo(1100)],So[wo(464)],So[wo(1589)],So[wo(1430)],So[wo(610)];const ko=Co;function Ao(e){return e[Co(512)](((e,t)=>256*e+t))}function Co(e,t){const r=To();return(Co=function(e,t){return r[e-=485]})(e,t)}function xo(e){const t=Co,r=[101,103,119,99],n=e[t(497)]-28,i=e[t(511)](n,n+r[t(497)]);return r[t(518)](((e,t)=>e===i[t]))}!function(e,t){const r=Co,n=e();for(;;)try{if(276367===-parseInt(r(495))/1+parseInt(r(504))/2*(-parseInt(r(487))/3)+parseInt(r(523))/4+parseInt(r(515))/5*(parseInt(r(509))/6)+-parseInt(r(498))/7*(-parseInt(r(501))/8)+parseInt(r(486))/9+parseInt(r(508))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(To);ko(485),ko(522);function To(){const e=["length","56zvKnwb","wasm not supported","map","175008ULCbQB","message","catch","254876puegwa","player","init","set","1412880WRUPRl","6XlQApf","Module","slice","reduce","Memory","parse","239165aIMboZ","instance","debugWarn","every","TransportDescrambler","object","instantiate","transport","2025084JPXYIa","destroy","4100724jitIVm","12gqZwnT","function","reverse","then","memory","TAG_NAME","byteLength","not support wasm","539917LGKFnp","exports"];return(To=function(){return e})()}function Do(){const e=["4528636LtBBtu","10087568ahblIB","138645rDDjRd","1295058LPkzTN","replace","byteLength","1107fGJGMX","substr","3IRLnXL","180830wDQOvx","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","toString","set","error","945476AKhYwp","constructor","length","reduce","18iKXmUz","1391640atTUJk"];return(Do=function(){return e})()}function Po(e,t){const r=Do();return(Po=function(e,t){return r[e-=390]})(e,t)}function Bo(){const e=Po;for(var t=arguments.length,r=new Array(t),n=0;n{const n=e,s=new i((0|t[n(405)])+(0|r[n(405)]));return s[n(392)](t,0),s[n(392)](r,0|t.byteLength),s}),new i)}function Mo(){const e=["iv is invalid","array","includes","15415gnFkWZ","363gLGzLO","cbc","string","codePointAt","pkcs#5","slice","464934aMDTls","push","length","1170804qcMMUq","5270ZZqBmK","arrayBuffer.length","substr","byteLength","229408zFwhzB","padding is invalid","pkcs#7","16xeUnvd","8307PBizUA","set","join","13088775xrbhxe","error","fromCodePoint","20ZbjwyV","1998Ldqnit","splice","none","36840fuDSMy"];return(Mo=function(){return e})()}!function(e,t){const r=Po,n=e();for(;;)try{if(739593===-parseInt(r(403))/1+-parseInt(r(399))/2+parseInt(r(408))/3*(-parseInt(r(400))/4)+-parseInt(r(402))/5+-parseInt(r(398))/6*(-parseInt(r(394))/7)+parseInt(r(401))/8+-parseInt(r(406))/9*(-parseInt(r(409))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Do),function(e,t){const r=Wo,n=e();for(;;)try{if(970927===-parseInt(r(352))/1*(parseInt(r(349))/2)+-parseInt(r(341))/3*(parseInt(r(359))/4)+-parseInt(r(334))/5*(parseInt(r(360))/6)+parseInt(r(356))/7+parseInt(r(363))/8+-parseInt(r(353))/9*(parseInt(r(345))/10)+-parseInt(r(335))/11*(-parseInt(r(344))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Mo);const Fo=16,Uo=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],Ro=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Lo(e){const t=Wo,r=[];for(let n=0,i=e.length;n{const t=Wo;return 1===(e=e.toString(16))[t(343)]?"0"+e:e}))[t(355)]("")}function zo(e){const t=Wo,r=[];for(let n=0,i=e[t(343)];n>>6),r[t(342)](128|63&i);else if(i<=55295||i>=57344&&i<=65535)r[t(342)](224|i>>>12),r[t(342)](128|i>>>6&63),r[t(342)](128|63&i);else{if(!(i>=65536&&i<=1114111))throw r.push(i),new Error("input is not supported");n++,r[t(342)](240|i>>>18&28),r[t(342)](128|i>>>12&63),r.push(128|i>>>6&63),r[t(342)](128|63&i)}}return r}function No(e){const t=Wo,r=[];for(let n=0,i=e[t(343)];n=240&&e[n]<=247?(r[t(342)](String[t(358)](((7&e[n])<<18)+((63&e[n+1])<<12)+((63&e[n+2])<<6)+(63&e[n+3]))),n+=3):e[n]>=224&&e[n]<=239?(r[t(342)](String[t(358)](((15&e[n])<<12)+((63&e[n+1])<<6)+(63&e[n+2]))),n+=2):e[n]>=192&&e[n]<=223?(r[t(342)](String[t(358)](((31&e[n])<<6)+(63&e[n+1]))),n++):r.push(String[t(358)](e[n]));return r.join("")}function jo(e,t){const r=31&t;return e<>>32-r}function Ho(e){return(255&Uo[e>>>24&255])<<24|(255&Uo[e>>>16&255])<<16|(255&Uo[e>>>8&255])<<8|255&Uo[255&e]}function Vo(e){return e^jo(e,2)^jo(e,10)^jo(e,18)^jo(e,24)}function Wo(e,t){const r=Mo();return(Wo=function(e,t){return r[e-=331]})(e,t)}function $o(e){return e^jo(e,13)^jo(e,23)}function Go(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[4*t],i[1]=255&e[4*t+1],i[2]=255&e[4*t+2],i[3]=255&e[4*t+3],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];for(let e,t=0;t<32;t+=4)e=n[1]^n[2]^n[3]^r[t+0],n[0]^=Vo(Ho(e)),e=n[2]^n[3]^n[0]^r[t+1],n[1]^=Vo(Ho(e)),e=n[3]^n[0]^n[1]^r[t+2],n[2]^=Vo(Ho(e)),e=n[0]^n[1]^n[2]^r[t+3],n[3]^=Vo(Ho(e));for(let e=0;e<16;e+=4)t[e]=n[3-e/4]>>>24&255,t[e+1]=n[3-e/4]>>>16&255,t[e+2]=n[3-e/4]>>>8&255,t[e+3]=255&n[3-e/4]}function qo(e,t,r){const n=new Array(4),i=new Array(4);for(let t=0;t<4;t++)i[0]=255&e[0+4*t],i[1]=255&e[1+4*t],i[2]=255&e[2+4*t],i[3]=255&e[3+4*t],n[t]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];n[0]^=2746333894,n[1]^=1453994832,n[2]^=1736282519,n[3]^=2993693404;for(let e,r=0;r<32;r+=4)e=n[1]^n[2]^n[3]^Ro[r+0],t[r+0]=n[0]^=$o(Ho(e)),e=n[2]^n[3]^n[0]^Ro[r+1],t[r+1]=n[1]^=$o(Ho(e)),e=n[3]^n[0]^n[1]^Ro[r+2],t[r+2]=n[2]^=$o(Ho(e)),e=n[0]^n[1]^n[2]^Ro[r+3],t[r+3]=n[3]^=$o(Ho(e));if(0===r)for(let e,r=0;r<16;r++)e=t[r],t[r]=t[31-r],t[31-r]=e}function Xo(e,t,r){const n=Wo;let{padding:i=n(351),mode:s,iv:o=[],output:a=n(337)}=arguments[n(343)]>3&&void 0!==arguments[3]?arguments[3]:{};if(s===n(336)&&(typeof o===n(337)&&(o=Lo(o)),16!==o[n(343)]))throw new Error(n(331));if(typeof t===n(337)&&(t=Lo(t)),16!==t[n(343)])throw new Error("key is invalid");if(e=typeof e===n(337)?0!==r?zo(e):Lo(e):[...e],("pkcs#5"===i||i===n(351))&&0!==r){const t=Fo-e.length%Fo;for(let r=0;r=Fo;){const t=e[n(340)](h,h+16),i=new Array(16);if(s===n(336))for(let e=0;e2&&void 0!==arguments[2]&&arguments[2],i=arguments[r(343)]>3&&void 0!==arguments[3]&&arguments[3];const s=e[r(348)];let o=new Uint8Array(e.slice(0,5)),a=5;for(;as){const t=new Uint8Array(o[r(343)]+e.length-a);t.set(o,0),t.set(e[r(340)](a),o[r(343)]),o=t;break}let l=e[a+4],d=!1,h=2;if(n?(i&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][r(333)](l)):(l&=31,d=1===l||5===l),d){const n=Xo(e.slice(a+4+h,a+4+u),t,0,{padding:r(362),output:"array"});let i=n[n[r(343)]-1];if(i>0&&i<16){let e=!0;for(let t=1;t<=i;t++)if(n[n.length-t]!==i){e=!1;break}e&&n[r(361)](n[r(343)]-i,i)}const s=new Uint8Array(h);s[r(354)](e.slice(a+4,a+4+h),0);const c=It(Bo(s,new Uint8Array(n))),l=new Uint8Array(o[r(343)]+c[r(343)]);l[r(354)](o,0),l[r(354)](c,o[r(343)]),o=l}else{const t=e[r(340)](a+4,a+4+u),n=new Uint8Array(o[r(343)]+4+t[r(343)]);n[r(354)](o,0),n[r(354)](c,o[r(343)]),n.set(t,o.length+4),o=n}a=a+4+u}return o}function Jo(e,t){const r=Zo();return(Jo=function(e,t){return r[e-=193]})(e,t)}function Zo(){const e=["push","1657461ddQtjo","forEach","2134895PBIvss","2mFJlXB","7049736CrqUnc","keys","5758458HYFqgX","456076aIKEUA","slice","4702936BWkTiP","length","7UtWFJf","158635SYWSbe","ctx","emit","once","apply"];return(Zo=function(){return e})()}const Qo=Jo;!function(e,t){const r=Jo,n=e();for(;;)try{if(558574===-parseInt(r(201))/1*(-parseInt(r(210))/2)+-parseInt(r(207))/3+parseInt(r(196))/4+parseInt(r(209))/5+-parseInt(r(195))/6*(parseInt(r(200))/7)+parseInt(r(198))/8+parseInt(r(193))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Zo);class ea{on(e,t,r){const n=Jo,i=this.e||(this.e={});return(i[e]||(i[e]=[]))[n(206)]({fn:t,ctx:r}),this}[Qo(204)](e,t,r){const n=this;function i(){const s=Jo;n.off(e,i);for(var o=arguments.length,a=new Array(o),c=0;c1?n-1:0),s=1;s{delete n[e]})),void delete this.e;const i=n[e],s=[];if(i&&t)for(let e=0,n=i[r(199)];e=2&&!this.isDestroyed;)if(255==this[r(141)][this[r(162)]]){if(!(!1&this.tempBuffer[this[r(162)]+1])){this[r(152)]=this[r(141)][this[r(162)]+1],this[r(164)]=ia[r(149)],this[r(139)]=this.parsedOffset,this[r(162)]+=2,e=!0;break}this.parsedOffset++}else this[r(162)]++;if(e)continue;break}if(this[r(164)]==ia[r(149)]){let e=!1;for(;this[r(141)][r(157)]-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this[r(141)][this[r(162)]]){if(this.tempBuffer[this[r(162)]+1]==this[r(152)]){this.state=ia[r(140)],this.secondStartCodeOffset=this[r(162)],this[r(162)]+=2,e=!0;break}this[r(162)]++}else this.parsedOffset++;if(e)continue;break}if(this[r(164)]==ia[r(140)]){let e=this[r(141)][r(158)](this[r(139)],this[r(143)]);this[r(142)](r(144),e,t),this.tempBuffer=this.tempBuffer[r(158)](this[r(143)]),this[r(139)]=0,this.parsedOffset=2,this[r(164)]=ia.findFirstStartCode}}}}function oa(e,t){const r=aa();return(oa=function(e,t){return r[e-=277]})(e,t)}function aa(){const e=["24387OYPLve","1039207FyLVzX","1441314BPcSbZ","35042xHczTa","set","byteLength","108goTBkg","85871jXwaJr","20PYIQvp","72OdrQCH","length","slice","4500zrXNwx","4994TGMesF","includes","86214QWufvE","64CMEypr","6AsTjVT"];return(aa=function(){return e})()}function ca(e,t,r){const n=oa;for(let i=2;i3&&void 0!==arguments[3]&&arguments[3];const s=e[n(288)];let o=5;for(;os)break;let c=e[o+4],u=!1;if(i?(c=c>>>1&63,u=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][n(279)](c)):(c&=31,u=1===c||5===c),u){const i=ca(e.slice(o+4,o+4+a),t,r);e[n(287)](i,o+4)}o=o+4+a}return e}function da(e,t){var r=ha();return(da=function(e,t){return r[e-=232]})(e,t)}function ha(){var e=["2914032aBOfWV","2097426CAjtga","10iNAkoL","12540753qFovBO","byteLength","3386230RkylKz","537836XNiYPi","length","2291656jTFuMu","1tQzRZF","reduce","78PYqUlL","set","forEach","filter","505918SFSoWX"];return(ha=function(){return e})()}function fa(){for(var e=da,t=arguments[e(246)],r=new Array(t),n=0;nt+r[e(243)]),0));let s=0;return r[e(236)]((t=>{var r=e;i[r(235)](t,s),s+=t[r(243)]})),i}function pa(){const e=["455600txrNCl","bind","destroy","2jEMLgZ","debugLog","addEventListener","destroys","5499175lcOYkd","73734FXEpTd","2449080Nahlit","518NmCOYJ","removeEventListener","isArray","1603953ugcJlm","master","21030270qhFgbm","length","proxy","750732suzqrX","252fouktp"];return(pa=function(){return e})()}!function(e,t){const r=oa,n=e();for(;;)try{if(135202===-parseInt(r(290))/1*(-parseInt(r(282))/2)+parseInt(r(283))/3*(parseInt(r(281))/4)+-parseInt(r(291))/5*(-parseInt(r(280))/6)+parseInt(r(286))/7*(parseInt(r(292))/8)+parseInt(r(285))/9+-parseInt(r(277))/10*(-parseInt(r(278))/11)+-parseInt(r(289))/12*(parseInt(r(284))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(aa),function(e,t){for(var r=da,n=e();;)try{if(479013===parseInt(r(232))/1*(-parseInt(r(245))/2)+-parseInt(r(240))/3+-parseInt(r(247))/4+-parseInt(r(244))/5+parseInt(r(234))/6*(parseInt(r(238))/7)+parseInt(r(239))/8+parseInt(r(242))/9*(parseInt(r(241))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ha);const ma=va;function va(e,t){const r=pa();return(va=function(e,t){return r[e-=220]})(e,t)}!function(e,t){const r=va,n=e();for(;;)try{if(900884===parseInt(r(220))/1*(-parseInt(r(230))/2)+parseInt(r(236))/3+parseInt(r(225))/4+parseInt(r(234))/5+parseInt(r(235))/6*(parseInt(r(237))/7)+-parseInt(r(227))/8*(-parseInt(r(226))/9)+-parseInt(r(222))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pa);class ya{constructor(e){const t=va;this[t(233)]=[],this[t(224)]=this[t(224)][t(228)](this),this.master=e}proxy(e,t,r){const n=va;let i=arguments[n(223)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array[n(239)](t))return t.map((t=>this.proxy(e,t,r,i)));e[n(232)](t,r,i);const s=()=>{const s=n;Rt(e[s(238)])&&e[s(238)](t,r,i)};return this[n(233)].push(s),s}[ma(229)](){const e=ma;this[e(221)][e(231)]("Events","destroy"),this.destroys.forEach((e=>e())),this[e(233)]=[]}}const ga=ba;!function(e,t){const r=ba,n=e();for(;;)try{if(253761===parseInt(r(302))/1+parseInt(r(307))/2+parseInt(r(265))/3+-parseInt(r(292))/4*(parseInt(r(283))/5)+-parseInt(r(236))/6+-parseInt(r(228))/7*(-parseInt(r(255))/8)+parseInt(r(278))/9*(-parseInt(r(271))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(wa);class _a{static[ga(237)](){const e=ga;_a.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let t in _a[e(300)])_a[e(300)][e(273)](t)&&(_a[e(300)][t]=[t.charCodeAt(0),t.charCodeAt(1),t[e(242)](2),t[e(242)](3)]);let t=_a[e(235)]={};t[e(248)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),t.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),t[e(233)]=new Uint8Array([0,0,0,0,0,0,0,0]),t.STSC=t[e(286)]=t.STTS,t[e(261)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t[e(282)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),t[e(240)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),t[e(266)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),t[e(303)]=new Uint8Array([0,0,0,0,0,0,0,0]),t[e(267)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[ga(287)](e){const t=ga;let r=8,n=null,i=Array[t(275)][t(252)].call(arguments,1),s=i[t(309)];for(let e=0;e>>24&255,n[1]=r>>>16&255,n[2]=r>>>8&255,n[3]=255&r,n[t(256)](e,4);let o=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static[ga(280)](e){const t=ga;return _a[t(287)](_a[t(300)][t(280)],_a.tkhd(e),_a.mdia(e))}static tkhd(e){const t=ga;let r=e.id,n=e.duration,i=e[t(244)],s=e.presentHeight;return _a[t(287)](_a[t(300)].tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>>8&255,255&i,0,0,s>>>8&255,255&s,0,0]))}static mdia(e){const t=ga;return _a[t(287)](_a.types[t(270)],_a[t(304)](e),_a.hdlr(e),_a.minf(e))}static mdhd(e){const t=ga;let r=e[t(257)],n=e[t(231)];return _a[t(287)](_a[t(300)].mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))}static hdlr(e){const t=ga;let r=null;return r=e.type===t(258)?_a[t(235)][t(240)]:_a.constants.HDLR_VIDEO,_a[t(287)](_a.types[t(276)],r)}static[ga(288)](e){const t=ga;let r=null;return r=e[t(250)]===t(258)?_a.box(_a[t(300)].smhd,_a[t(235)][t(303)]):_a[t(287)](_a[t(300)][t(226)],_a.constants[t(267)]),_a.box(_a[t(300)].minf,r,_a[t(234)](),_a[t(296)](e))}static[ga(234)](){const e=ga;return _a.box(_a.types.dinf,_a[e(287)](_a.types[e(227)],_a[e(235)].DREF))}static stbl(e){const t=ga;return _a[t(287)](_a[t(300)].stbl,_a[t(225)](e),_a.box(_a.types.stts,_a[t(235)][t(233)]),_a[t(287)](_a[t(300)].stsc,_a[t(235)][t(293)]),_a[t(287)](_a[t(300)].stsz,_a[t(235)].STSZ),_a[t(287)](_a.types[t(274)],_a[t(235)][t(286)]))}static[ga(225)](e){const t=ga;return e[t(250)]===t(258)?e[t(238)]===t(281)?_a.box(_a.types[t(225)],_a.constants[t(294)],_a[t(281)](e)):_a[t(287)](_a[t(300)][t(225)],_a[t(235)][t(294)],_a[t(239)](e)):e.videoType===t(305)?_a[t(287)](_a.types.stsd,_a[t(235)][t(294)],_a[t(301)](e)):_a[t(287)](_a[t(300)][t(225)],_a[t(235)][t(294)],_a.hvc1(e))}static mp3(e){const t=ga;let r=e[t(306)],n=e[t(264)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return _a[t(287)](_a[t(300)][t(245)],i)}static[ga(239)](e){const t=ga;let r=e.channelCount,n=e[t(264)],i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return _a[t(287)](_a[t(300)][t(239)],i,_a[t(254)](e))}static esds(e){const t=ga;let r=e[t(284)]||[],n=r.length,i=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n])[t(285)](r).concat([6,1,2]));return _a.box(_a.types[t(254)],i)}static avc1(e){const t=ga;let r=e.avcc;const n=e[t(253)],i=e[t(289)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _a.box(_a[t(300)][t(301)],s,_a[t(287)](_a[t(300)].avcC,r))}static[ga(251)](e){const t=ga;let r=e[t(299)];const n=e[t(253)],i=e[t(289)];let s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,i>>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return _a[t(287)](_a[t(300)][t(251)],s,_a[t(287)](_a.types.hvcC,r))}static[ga(263)](e){const t=ga;return _a.box(_a[t(300)][t(263)],_a[t(247)](e))}static trex(e){const t=ga;let r=e.id,n=new Uint8Array([0,0,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return _a[t(287)](_a[t(300)][t(247)],n)}static[ga(295)](e,t){const r=ga;return _a[r(287)](_a.types.moof,_a[r(269)](e[r(249)]),_a.traf(e,t))}static[ga(269)](e){const t=ga;let r=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return _a[t(287)](_a[t(300)][t(269)],r)}static[ga(290)](e,t){const r=ga;let n=e.id,i=_a[r(287)](_a[r(300)][r(260)],new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),s=_a[r(287)](_a[r(300)][r(298)],new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),o=_a[r(279)](e),a=_a[r(277)](e,o.byteLength+16+16+8+16+8+8);return _a[r(287)](_a[r(300)][r(290)],i,s,a,o)}static sdtp(e){const t=ga;let r=new Uint8Array(5),n=e[t(308)];return r[4]=n[t(262)]<<6|n[t(230)]<<4|n[t(232)]<<2|n.hasRedundancy,_a[t(287)](_a[t(300)][t(279)],r)}static[ga(277)](e,t){const r=ga;let n=new Uint8Array(28);t+=36,n[r(256)]([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let i=e[r(231)],s=e[r(259)],o=e[r(308)],a=e[r(291)];return n[r(256)]([i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s,o[r(262)]<<2|o[r(230)],o[r(232)]<<6|o[r(268)]<<4|o[r(229)],0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),_a[r(287)](_a[r(300)][r(277)],n)}static[ga(241)](e){const t=ga;return _a[t(287)](_a[t(300)][t(241)],e)}}function ba(e,t){const r=wa();return(ba=function(e,t){return r[e-=225]})(e,t)}function wa(){const e=[".mp3","moov","trex","FTYP","sequenceNumber","type","hvc1","slice","codecWidth","esds","440392frmcaH","set","timescale","audio","size","tfhd","STSZ","isLeading","mvex","audioSampleRate","1027593wMvcsz","DREF","VMHD","hasRedundancy","mfhd","mdia","385480ADkEqq","generateInitSegment","hasOwnProperty","stco","prototype","hdlr","trun","315OPIpqI","sdtp","trak","mp3","HDLR_VIDEO","15bZQvoi","config","concat","STCO","box","minf","codecHeight","traf","cts","20460sSWEHB","STSC","STSD_PREFIX","moof","stbl","mvhd","tfdt","avcc","types","avc1","385982nlZYIz","SMHD","mdhd","avc","channelCount","982504INfABS","flags","length","stsd","vmhd","dref","63ilfpnY","isNonSync","dependsOn","duration","isDependedOn","STTS","dinf","constants","581520pmKWda","init","audioType","mp4a","HDLR_AUDIO","mdat","charCodeAt","byteLength","presentWidth"];return(wa=function(){return e})()}_a[ga(237)]();var Sa=Ea;function Ea(e,t){var r=ka();return(Ea=function(e,t){return r[e-=354]})(e,t)}!function(e,t){for(var r=Ea,n=e();;)try{if(778537===parseInt(r(360))/1*(parseInt(r(365))/2)+parseInt(r(362))/3+parseInt(r(369))/4*(-parseInt(r(366))/5)+parseInt(r(364))/6+parseInt(r(354))/7+-parseInt(r(361))/8*(-parseInt(r(358))/9)+parseInt(r(356))/10*(-parseInt(r(370))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ka);var Ia=Ze[Sa(368)]((function(e){var t=Sa;e.exports=function(e,t,r){return t in e?Object[Ea(357)](e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports[t(367)]=!0,e[t(359)][t(355)]=e[t(359)]}));function ka(){var e=["exports","1025517WAdCOu","2615112oBJimp","3812418khkrWq","unwrapExports","4352172dToDFX","2wBWXIu","317685EvmXdx","__esModule","createCommonjsModule","76EfYfwD","837452EqvNrH","2027963FjJKBI","default","260fzxsSq","defineProperty","18ygKqmi"];return(ka=function(){return e})()}function Aa(){const e=["channel_count","data","error","1131297TuOZTz","2nENWUH","sample_rate","4505130tcNdAJ","3897608ZseKnW","4580915VpEkhX","mp3","4741710WAHdFk","Invalid MP3 packet, header missing!","object_type","length","2107360ppjcfP","102841gsPMyw"];return(Aa=function(){return e})()}function Ca(e,t){const r=Aa();return(Ca=function(e,t){return r[e-=396]})(e,t)}Ze[Sa(363)](Ia),function(e,t){const r=Ca,n=e();for(;;)try{if(543299===parseInt(r(407))/1*(-parseInt(r(396))/2)+-parseInt(r(411))/3+-parseInt(r(406))/4+parseInt(r(400))/5+parseInt(r(402))/6+-parseInt(r(398))/7+parseInt(r(399))/8)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Aa);const xa=[44100,48e3,32e3,0],Ta=[22050,24e3,16e3,0],Da=[11025,12e3,8e3,0],Pa=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],Ba=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],Ma=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1];function Fa(e){const t=Ca;if(e[t(405)]<4)return void console[t(410)](t(403));let r=new Uint8Array(e.buffer),n=null;if(255!==r[0])return void console[t(410)]("Invalid MP3 packet, first byte != 0xFF ");let i=r[1]>>>3&3,s=(6&r[1])>>1,o=(240&r[2])>>>4,a=(12&r[2])>>>2,c=3!==(r[3]>>>6&3)?2:1,u=0,l=0;switch(i){case 0:u=Da[a];break;case 2:u=Ta[a];break;case 3:u=xa[a]}switch(s){case 1:o=e[s]&&t=6?(i=5,r=new Array(4),a=s-3):(i=2,r=new Array(2),a=s):-1!==c[t(214)](t(222))?(i=2,r=new Array(2),a=s):(i=5,a=s,r=new Array(4),s>=6?a=s-3:1===o&&(i=2,r=new Array(2),a=s)),r[0]=i<<3,r[0]|=(15&s)>>>1,r[1]=(15&s)<<7,r[1]|=(15&o)<<3,5===i&&(r[1]|=(15&a)>>>1,r[2]=(1&a)<<7,r[2]|=8,r[3]=0),this[t(230)]=r,this[t(228)]=ja[s],this.sampling_index=s,this[t(256)]=o,this[t(225)]=i,this[t(229)]=n,this[t(255)]=t(239)+i,this[t(227)]=t(239)+n}}const $a=Ga;function Ga(e,t){const r=Xa();return(Ga=function(e,t){return r[e-=117]})(e,t)}!function(e,t){const r=Ga,n=e();for(;;)try{if(509826===parseInt(r(124))/1*(parseInt(r(139))/2)+-parseInt(r(127))/3*(parseInt(r(135))/4)+parseInt(r(117))/5*(parseInt(r(129))/6)+parseInt(r(134))/7*(parseInt(r(145))/8)+-parseInt(r(140))/9*(parseInt(r(128))/10)+-parseInt(r(120))/11*(-parseInt(r(133))/12)+-parseInt(r(122))/13)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Xa);class qa{constructor(e){const t=Ga;this.data=e,this.index=0,this[t(136)]=8*e[t(143)]}get[$a(141)](){return this[$a(136)]-this.index}[$a(121)](e){const t=$a;if(this[t(141)]1&&void 0!==arguments[1])||arguments[1];return this[t(132)](e,this[t(142)],r)}[$a(132)](e,t){const r=$a;let n=!(arguments[r(137)]>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>i,o=8-i;if(o>=e)return n&&(this[r(142)]+=e),s>>o-e;{n&&(this[r(142)]+=o);const i=e-o;return s<>>1:-1*(e>>>1)}[$a(118)](){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this[$a(119)](8*e)}[$a(138)](){return this[$a(119)](16)}[$a(144)](){return this[$a(119)](32)}}function Xa(){const e=["12468612GJKadO","skipEG","5098zaLeCC","data","readUEG","88329MKqJxB","970QRwtYo","1038SHTdXt","readEG","skipUEG","getBits","8069004sfKZTf","1830787oJuKDt","128lSYrws","bitLength","length","readUShort","298niJhFZ","23031DSLUvx","bitsAvailable","index","byteLength","readUInt","24rOqQkd","skipLZ","12795zbCSEf","readBoolean","readBits","11eZbqSv","skipBits"];return(Xa=function(){return e})()}function Ka(e){return e[3]|e[2]<<8|e[1]<<16|e[0]<<24}!function(e,t){for(var r=Qa,n=e();;)try{if(125470===parseInt(r(345))/1*(-parseInt(r(355))/2)+parseInt(r(360))/3*(parseInt(r(347))/4)+-parseInt(r(346))/5+parseInt(r(348))/6+-parseInt(r(363))/7+parseInt(r(344))/8*(parseInt(r(352))/9)+parseInt(r(358))/10*(parseInt(r(351))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ac);const Ya=new Array(214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72),Ja=new Array(2746333894,1453994832,1736282519,2993693404),Za=new Array(462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257);function Qa(e,t){var r=ac();return(Qa=function(e,t){return r[e-=343]})(e,t)}function ec(e,t,r,n,i){var s=Qa,o=i;o=t+i>e.length&&n+i<=r[s(350)]?e[s(350)]-t:n+i>r.length&&t+i<=e[s(350)]?r[s(350)]-n:t+i<=e[s(350)]&&n+i<=r[s(350)]?i:r[s(350)]>24&255,e>>16&255,e>>8&255,255&e)}function rc(e,t){var r=Qa;return t+3>>19)^(n<<23|n>>>9)}function sc(e,t){var r=new Array(36);r[0]=rc(t,0),r[1]=rc(t,4),r[2]=rc(t,8),r[3]=rc(t,12);for(var n=0;n<32;n++)r[n+4]=r[n]^oc(r[n+1]^r[n+2]^r[n+3]^e[n]);var i=new Array(4);for(n=35;n>=32;n--)i[35-n]=r[n];return function(e){for(var t=Qa,r=new Array(4*e[t(350)]),n=0;n>>30)^(n<<10|n>>>22)^(n<<18|n>>>14)^(n<<24|n>>>8)}function ac(){var e=["52684rwmcVi","212268dEWOxR","min","length","3399FBJMKY","105642fdtgOT","set","byteLength","2NeAKBU","iv is error!","data is error!","6290mIVqzO","cipher is error!","9nYOcxp","slice","ceil","594237MdUGrQ","log","sm4 key is error!","168tIxHwt","213319emLrzZ","460350OepYFn"];return(ac=function(){return e})()}function cc(e,t,r){var n=Qa;if(null==e||null==e||e.length%16!=0)return console[n(364)](n(343)),null;if(null==r||null==r||r[n(350)]<=0)return console[n(364)](n(359)),null;if(null==t||null==t||t[n(350)]%16!=0)return console[n(364)](n(356)),null;for(var i=nc(e),s=Math[n(362)](r[n(350)]/16),o=new Array(r[n(350)]),a=t[n(361)](),c=0;c3&&void 0!==arguments[3]&&arguments[3],s=arguments[n(350)]>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),r=new Uint8Array(r);const o=e[n(354)];let a=5;for(;ao)break;let u=e[a+4],l=!1,d=2;if(i?(s&&(d=3),u=u>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(u)):(u&=31,l=1===u||5===u),l){const i=cc(t,r,e.slice(a+4+d,a+4+c));e[n(353)](i,a+4+d)}a=a+4+c}return e}const lc=dc;function dc(e,t){const r=hc();return(dc=function(e,t){return r[e-=446]})(e,t)}function hc(){const e=[", dts=","\n and replay","kMPEG2Audio","VideoDecoder error: ","prevTs","extractH264SEI","readBits"," ts is ","smpte2038_pids","kH264","ac-3","units","mseHandle","mediaSourceAppendBufferFull"," and prev ts is ","remove","close() and audioDecoder.clear error","stream_id","audioSourceNoDataCheckTimeout","getVideoBufferLength","onclose","bit_stream_mode","mseAutoCleanupMinBackwardDuration","request abort and run res.body.cancel()","Video: Coded Resolution changed from ","resetDelay"," > maxDelay ","parseOpusPayload","bitDepth","_decodeAudioConfigurationRecord audio codec is not support , codecId is ",'video/mp2t; codecs="',"emitError","playbackForwardMaxRateDecodeIFrame","detectAudioMetadataChange","audioSourceBuffer","mseDecoder.mediaSourceAddSourceBufferError is true","fetchStream, WebsocketStream on error and isDestroyed is true, so return","parseLOASAACPayload","websocketOpen","hasIframeInBufferList","isPlayer","avc","payload","setInterval()","buffered","simdDecodeError","kSliceIDR","MULAW","sampling_rate","floor"," , payload is ","type","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","VideoDecoder configure has not init , isIframe is ","parsePPS","writableStream abort() and e is ","Generated first AudioSpecificConfig for mimeType: ","resetAllDelay","setExtractionOptions","video_track_","parsePMT","_clearAudioSourceBufferCheckTimeout","close","assign","cryptoIV"," and,\n options.ts is ","video","fetch().catch() and e.name is AbortError so return","types","parseAC3Payload","m7sCryptoAudio","ceil","mdia","pes_slice_queues_","hev","nakedFlowDemuxUseNew","state","loop() common dumex delay is -1 ,data.ts is","mp4Box onError","loop() bufferList is empty and reset delay","firstRenderTime","worker mpeg4Demuxer","3123170Nykily","audio_init_segment_dispatched_","string","mp4","chroma_format","videoPayload","code","delta","elementary_stream_priority_indicator","doDecode","bit_stream_identification","hasIncompleteData","videoBuffer","socket is not open","_doAppendSegments","MP3: Channel count changed from ","firstAudioTime",",\n firstRenderTime is ","init","\n decodeVideo: video width or height is changed,\n old width is ","updatePlaybackIsPause","streamAbps","arraybuffer","cryptoKey","validatedFailed, please contact the author to get the correct license"," and isDestroyed is true, so return","decodeAudio, decoder is destroyed and return","calcNetworkDelay","AC3: Sampling Frequency changed from ","TAG","videoMimeType","firstRenderTime is ","parse","needInitAudio","timescale","updating","handleAddNaluStartCode","writableStream pipeTo() and e is","stream_type","message","audio_track_","kSlicePPS",", streamAudioFps is ","videoSEI","nakedFlowH265DemuxUseNew"," ms","setCodecVideo: videoDecoder or videoDecoder.setCodec is null","handleVideoH264Frames","_doAppendSegments() mediaSource is closed or ended and return","onmessage","handleOffscreenCanvasWebglContextRestored",", diff is ","codedHeight","_doAppendSegments() sourceBuffer is null and wait init and return","loop() is dropping = false, is iFrame","isSendSeqHeader","h265",", need clear is ","fetch().catch() and abortController.signal.aborted is true so return","avcC","_checkTsIsMaxDiff","isStateEnded","version_number","getHandle","mp3Demuxer"," and\n ts is ","127207eophVO","reduce","parseSMPTE2038MetadataPayload","nearest_pts"," and isNotPushDropping is ","HEAPU32","parsePESPrivateDataPayload","stringify","JbPro Worker Version is ","pendingRemoveRanges","opus",",\n and emit change event","_preDoDecode","kMPEG1Audio","mseDecoder.mediaSourceAppendBufferFull is true","addSourceBuffer"," and return"," null","protocol"," and prev time is ","open","getUint8","PACKET_TYPE_FRAMES","fileStart","sampling_index","audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()","AudioDecoder","audioTrackId","width","codedWidth","frame_rate","isPlayVod","getSourceBufferUpdating","drawImage","handleSectionSlice"," > timestamp is ","prevAudioDts","details","10rSIFzr","Asynchronous KLV Metadata: pid=","aacADTSHeader"," and bufferlist is ","videoBufferDelay","demuxTs","AC3: Low Frequency Effects Channel On changed from "," ,streamVideoFps is ","audioCode","mseDecoderUseWorker"," and opt is","fetchNext().catch() and e is ","recordType","file_position","isXorCrypto cryptoKey.length is ","delay","entries","minf",",local diff is ","h264","DataStream","hasAudioInit","timeInit","kAC3","videoCodec","extractH265SEI","moof","fetch response status is ","debugUuid","isFirefox","LOG_NAME"," isIFrame is ","onOffscreenCanvasWebglContextLost","getReader","timed_id3_pids","parseSPS","webglObj",",nalu type is ","parseSection","has_video_","slice","codec_size","suffixSei","videoDecode","_doDecodeVideo","isPlaybackOnlyDecodeIFrame","timeInit set false , cacheTrack = {} now dts is ","parseVideo264Header","delay is ","isPlayUseMSEAndDecoderInWorker","videoSequenceHeader","handle","fetchNext().catch() and e.name is AbortError so return","sample_rate","handleVideoH265Nalu","_clearAudioNoDataCheckTimeout","mediaSourceTsIsMaxDiff","replace"," and nalUnitSize is ","config","videoTracks","wcsDecodeAudio","audioMeta","readNextNaluPayload","descriptor","dropBuffer$2","indexOf","startStreamRateAndStatsInterval","stbl"," ,\n and now ts is ","streamAudioFps",",\n firstAudioTime is ",", and ts is ","write","Generated first HEVCDecoderConfigurationRecord for mimeType: ","render","yuvData, transferToImageBitmap error is","kSliceVPS","VideoDecoder","localDts","detectVideoMetadataChange","present_size"," and mseCorrectTimeDuration is "," and isIFrame is ","end","setCodecVideo: SIMD H264 decode video width is too large, width is "," and decoder.delay is ","ts_packet_size","locked","prevPayloadBufferSize","fetchNext().then() and abortController.signal.aborted is true so return","Parsed first PMT: ","1536814mDPBJE","body","clear","AAC: Channel configuration changed from ","decodeVideo\n local dts is < 0 , ts is ","writableStream write() and requestAbort is true so return","clearBuffer","parseEAC3Payload","_onMediaSourceSourceOpen","firstStartCodeOffset -14 is","codecWidth","hasInit","_isEnhancedH265Header","pmt_","flush","byteLength","h264 naluList.length === 0","kLOASAAC","networkDelayTimeout","mseDecoder.sourceBuffer.appendBuffer()","warn","isfms","demuxMpeg4",", new height is ","onSamples","setCodecVideo: init video codec , codecId is "," ,\n and diff is ","workerEnd","width: ",", height: ","startTimestamp","updateConfig","mediaSourceAddSourceBufferError","fetchStream, url is ","meta","offset","ref_frames","demux() isIFrame is false and unit type is IDR and update to true","onerror","firstTimestamp","isSm4Crypto","getAudioBufferLength","sampleRate","playbackCacheLoop","aacSequenceHeader"," and payload size is ","decodeAudio"," and\n ts is ","isTs"," and preTsDuration is ","section_slice_queues_","writableStream abort() and abortController.signal.aborted is true so return","scte_35_pids","fps_den","appendBuffer","getDelay","ALAW"," , message is ","decodeDiffTimestamp","loop() dropBuffer is dropping and isIFrame ","abs","isDropping","kEAC3","sync_offset","isIFrame","webglcontextrestored"," _opt.sampleRate is ","websocket user aborted","worker nakedFlow","mseDecodeAudio","mediaSourceBufferError","probe","iFrame",'" and return',"common_pids","sps","_opt","sourceended","getBuildTime","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","openWebglAlignment",'socket on message is string "',"current_pmt_pid_","audioDecode","120043ReQvsH","extractNALu","has not init video codec","pcmData, decoder is destroyed and return","aac","KLVA","mseError","handleVideoH264NaluList list size is ","isFlv","pushLatestDelay","first_parse_","undefined","sar_ratio","webgl","flvScriptData","audio","debugLevel","stsd","findSecondStartCode","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng","fetchStream, WebsocketStream socket close abnormally and code is ","Parsed first PAT: ","debugLog","_initSourceBuffer","fetchStream, WebsocketStream socket close and code is ","isDecodeFirstIIframe","mediaSource is not attached to video or mediaSource is closed","sampling_frequency","secondStartCodeOffset","stopStreamRateAndStatsInterval","syncOffset","streamType"," and new delay is ","AAC: Unknown pts","Timed ID3 Metadata: pid=","audioMimeType","vps","total_length","fps_num","appendBuffer() player is destroyed","sort","playbackConfig","setCodecAudio: audioDecoder or audioDecoder.setCodec is null","channelCount","isRecordTypeFlv","expected: ","init and forHardDecode is ","streamVideoType","dispatchVideoInitSegment","parsePAT: table_id ","pendingUnits","isPlayUseMSE","seqHeader","mseCorrectTimeDuration","isDestroyed","pendingAudioRemoveRanges",",\n and resetAllDelay","debugWarn","hasInitVideoCodec","parseSPS$2","handleOffscreenCanvasWebglContextLost and next try to create webgl","Client disconnecting","decodeVideo has not init , isIframe is ","idle","worker","clearSlices","AC3: BitStream Mode changed from ","original_codec_mimetype","fetch","readUEG"," and maxDiff is ","offscreenCanvasCtx","isAudioInitInfo"," and mseDecoder.isAvc === null is ","cancel",",and old bufferList length is ","Malformed PES: PES_packet_length < 3 + PES_header_data_length"," > ","worker MediaSource","object_type","streamEndInner","_decodeAudio","tempStream","width is ","startPlaybackCacheLoop","media_info_","draw, decoder is destroyed and return","offscreenCanvas","playbackTF","parseVPS","appendAudioBuffer() player is destroyed","getIncompleteData","calcNetworkDelay now dts:","pushBuffer audio ts is ","random_access_indicator","_doRemoveRanges() audioSourceBuffer error","decode"," and prevTs is ","pes_private_data_pids","mseFirstRenderTime","setCodec","aac_last_incomplete_data_"," and isVideoAndNextAudio is ","events","clearPlaybackCacheLoop","updateend","getDelayNotUpdateDelay() and preDelayTimestamp is ","yuvData, decoder is destroyed and return","pushBuffer","parseTimedID3MetadataPayload","kSliceIDR_N_LP",", height is ","mediaSourceAppendBufferError","onMediaSourceSourceOpen() audioSourceBuffer is null and next init","visibility","fps","mediaSourceH265NotSupport","isEmitInfo","isInitSegmentDispatched","findSei","abort","pipeTo","getNearestTimestampMilliseconds","mseWidthOrHeightChange","readNextAACFrame","ms and return ","mseAutoCleanupSourceBuffer","Webcodecs Video Decoder initSize","isSm4Crypto opt.sm4CryptoKey is null","signal","mp3","kSliceSPS","lastBuf","decodeVideo: simd decode error, and return","demuxFlv() isVideoSequenceHeader is true and isHevc is ","configure","PACKET_TYPE_SEQ_START","SMPTE 2038 Metadata: pid=","complete","streamRate","handlePESSlice: packet_start_code_prefix should be 1 but with value ","last_pcr_","isStateOpen"," and forOldVersion is ","key","generateInitSegment","AAC: Detected pts overlapped, ","readUByte","emitPESSlices","streamVideoFps","_getSeqHeader","removeSourceBuffer() sourceBuffer error","prefixSei","onReady","from","extractNALu$2","offscreenCanvasGL"," vs start is ","kSCTE35","isPause","setCodecAudio","streamSuccess","prevTimestamp","isWorkerFetch","decodeAudio and has already initialized and payload is aac codec packet so drop this frame",", streamFps is ","isEmitSEI"," or cryptoIV.length is ","_needCleanupSourceBuffer","websocket"," and packetType is ","pushBuffer, isDropSameTimestampGop is true and\n hasIframe is ","sm4CryptoKey","dropBuffer$2() iFrameIndex is "," and emit error and next abort()","\n decodeVideo: video width or height is changed,\n old width is ","_decodeAudioConfigurationRecord","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame","kH265","mediaSourceAudioInitTimeout","toString","samplingRate","decodeVideo and payload is video sequence header so drop this frame","length","level","getNotDroppingDelayTs","has_audio_","pendingSegments",", preTs is ","playbackRate",", pts=","dispatchAudioVideoMediaSegment","onSamples() trackId error","mpeg","onmessage:","parseADTSAACPayload","VideoEncoder"," but isSocketError is true , so return","decodeAudio\n local dts is < 0 , ts is ","mseDecoder.mediaSourceBufferError is true","isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio","getAudioSourceBufferUpdating"," and notDroppingDelayTs is ","mp4a.40.","player","8474364IJkDDr","demuxFlv","clearBuffer,bufferList length is ","_remainingPacketData","parseSynchronousKLVMetadataPayload","extractNALu$3","TAG_NAME","stopId","_doCleanUpSourceBuffer","concat","decodeVideo: hasInitVideoCodec is false, codecId is ","h265 naluList.length === 0"," and isVideoSqeHeader is ","AbortError","catch","channel_mode","start","onOffscreenCanvasWebglContextRestored","duration","_initAudioSourceBuffer and mseDecoder.isStateOpen is ",", stream_id=","duration_","mseDecoder.mediaSourceAppendBufferError is true","decodeVideo() and decoder is destroyed","pid_stream_type","abortSourceBuffer() abort sourceBuffer"," and firstRenderTime is ","parseH264Payload","mpeg4","FT_KEY","abort catch","fetchStream, WebsocketStream socket open","Opus",",\n and mseCorrectTimeDuration is ","keyFrame","demuxFlv() type is ","height",", options.ts is ","getState","mseAutoCleanupMaxBackwardDuration","lastBuffer","shift","video_init_segment_dispatched_","isNakedFlow","is_sync","emitSectionSlices","sarRatio","push","writableStream close()","10932156liAUPu","flvBufferData","isXorCrypto","firstStartCodeOffset","workerFetch","audioCodec","hasAudio","extractNALu() buffer error","slices","writableStream","program_number","demuxFmp4","eac3","current_program_","presentHeight",", dts is ","mseSourceBufferError mseDecoder.sourceBuffer","mimeType","debugError","then","audioTracks","ms, PES pts: ","demuxFlv() isVideoSequenceHeader(enhancedH265) is true and isHevc is ","audioPayload","pid","avcc","forEach","MP3: AudioObjectType changed from ","streamStats","supportVideoFrameCallbackHandle","isHevc","needClear","useMSE","isPushDropping","code is ","abortSourceBuffer() abort audioSourceBuffer","audio_metadata_","aborted","worker TsLoaderV2","handlePESSlice","getContext","handleVideoNalu","Opus: Channel count changed from ","sourceClose","audioSampleRateIndex","decoder","_hasPendingRemoveRanges","codec_mimetype","audioSequenceNumber","codec","hasPendingEos","mediaSourceAudioG711NotSupport","refSampleDuration",", and ts list is ","MP3: SamplingFrequencyIndex changed from ",", diff time is ","isWidthOrHeightChanged","level_string","MP3","loop demux diff time is ","playType","_initPmt"," and prevPayloadBufferSize is ","parsePMT: table_id ","playbackIsCacheBeforeDecodeForFpsRender","adts_aac","codecHeight","isDropSameTimestampGop","mediaSource","parsePES: packet_start_code_prefix should be 1 but with value ","cacheTrack","websocket error","Generated first AVCDecoderConfigurationRecord for mimeType: ","HEAPF32","hvcc","set","calcIframeIntervalTimestamp","getTime","initVideo"," so drop this frame","isAvc","videoCode","tsPacketSize","parsePAT","parseChunks"," is not corresponded to PAT!","mseCorrectAudioTimeDuration","createImageBitmap","fromCharCode","cacheAudioTrack","removeSourceBuffer() sourceBuffer","_resetInIt","decodeNext","streamEnd","dispatchAudioInitSegment","prevAudioTs","streamDts","preDelayTimestamp","fetchError","streamVbps"," next data type is ","sampling_freq_index","log","removeEventListener","ac3","appendAudioBuffer","getDelayNotUpdateDelay","writableStream abort() and e.name is AbortError so return","status","decodeVideo: video width or height is changed, and return","timescale_","protocols","_initAudioSourceBuffer","audio_last_sample_pts_","buffering"," and emit replay","sourceBuffer","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","playbackUpdatePlaybackRate","decodeVideo","cryptoPayload","map","checkStreamEnd","binaryType","_initAudioSourceBuffer() addSourceBuffer mseDecoder.mediaSource.addSourceBuffer()","streamFps","isCacheBeforeDecodeForFpsRender","getAllocatedSampleDataSize","parseSCTE35","readyState","hvcC","transferToImageBitmap","removeSourceBuffer() audioSourceBuffer","PACKET_TYPE_FRAMESX","kMetadata","currentTime","expected_length","_initSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()","debug","mseDecoder.audioSourceBuffer.appendBuffer()","closeEnd","HEAPU8","Video: Codec mimeType changed from ","isKeyframe","audioBufferSize","_initSourceBuffer and mseDecoder.isStateOpen is ","handleVideoH265NaluList","isFmp4","loas_aac"," and\n payloadBufferSize is ","1617364fHqCrZ","destroy","fetchStatus","addEventListener","isVideoInited","vcl","mdat","488yojQlj"," and is Trial Version[试用版本]","pts","isPlayback","playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ","worker fmp4Demuxer","min","networkDelay"," ,\n and diff is ","_hasPendingSegments","initAudio","\n isVideoSqeHeader is "," and mseDecoder.audioMimeType is ","videoTrackId","audioSampleRate","size","subarray","setCodecAudio: mp3 is not support for old version","program_pmt_map_",",\n new width is ","program_pmt_pid","handleNALu"," and prev dts is ","3YCZcXi","asynchronous_klv_pids","videoInfo",",\n and prevPayloadBufferSize is ","profile","useOffscreen","webglcontextlost"," is not corresponded to PMT!","prevDts","BIG_ENDIAN","handleVideoFrames"," and isIframe is ","isTrusted","handleVideoH264Nalu"," and delay is ","decodeVideo and payload is too small , payload length is ","isStateClosed","isWasmMp4","_decodeVideo now time is ","kSliceNonIDR","videoType","isPlaybackCacheBeforeDecodeForFpsRender","fetchStream, WebsocketStream on error and requestAbort is true so return","sourceOpen","originalCodec","pushBuffer video ts is ","handleVideoH264NaluList","endOfStream() error","kPESPrivateData","pushBuffer video and isIFrame is ","simdH264DecodeVideoWidthIsTooLarge","parsePES"," an set streamFps is 25","dropping","removeUsedSamples","isM7sCrypto cryptoKey.length is ","endOfStream","discontinuity_indicator","removeSourceBuffer() audioSourceBuffer error","fetchStream","kADTSAAC","getNaluDts","_bindMediaSourceEvents","value","fetchNext().then() and requestAbort is true so return","mediaSourceFull","useWCS","isRecording","_decodeEnhancedH265Video","payload_unit_start_indicator","AAC","demuxNakedFlow","pcr_pid","audioSourceBufferCheckTimeout",'video/mp4; codecs="',"abortSourceBuffer","url","profile_string","mseSourceBufferError mseDecoder.audioSourceBuffer","onopen","error","audio_object_type"," package length is ","low_frequency_effects_channel_on","options","\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ",", old height is ","eventListenList"," and ok is ","abort success","headers","channel_count","frameRate","loas_previous_frame","_doRemoveRanges","now","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","channel_config","findFirstStartCode","video_metadata_","sync_byte = ","MediaSource","pps","mp4Box"," more than ","isSm4CryptoH265V2"," to "," playbackRate is ","loop() isPushDropping is true and bufferList length is ","useSIMD","getDelay() and preDelayTimestamp is ","send","isM7sCrypto","playAudio","name","onError","video_metadata_changed_",",\n diff is ","_doRemoveRanges() sourceBuffer error","scriptData","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","data","parsedOffset","setCodecAudio: init audio codec, codeId is ","buffer","flags","decodeAudio first frame is not iFrame","cts","dispatchAudioMediaSegment","onReady()","samples","fetch done","websocketError","dispatchVideoMediaSegment","some","writableStream write() and abortController.signal.aborted is true so return","pendingAudioSegments","sequenceHeader","chromaFormat","checkFirstIFrame","opt","close() and socket.readyState is ","hasVideo","parseAsynchronousKLVMetadataPayload","updatePlaybackIsPause, isPause is ","_decodeConfigurationRecord error","sequenceNumber","$video","AC3: Bit Stream Identification changed from ","AAC: SamplingFrequencyIndex changed from ","mseSourceBufferError","removeSourceBuffer","mseUpdateVideoTimestamp","synchronous_klv_pids","pat_","stop","isMpeg4","dispatch","dts"];return(hc=function(){return e})()}!function(e,t){const r=dc,n=e();for(;;)try{if(913820===-parseInt(r(1198))/1+parseInt(r(1328))/2*(parseInt(r(911))/3)+parseInt(r(881))/4*(parseInt(r(1236))/5)+parseInt(r(682))/6+-parseInt(r(477))/7*(parseInt(r(888))/8)+-parseInt(r(731))/9+parseInt(r(1132))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(hc),Date[lc(986)]||(Date[lc(986)]=function(){return(new Date).getTime()}),console[lc(833)](lc(1206)+Mt+":"+Bt+lc(889));const fc=mc;function pc(){const e=["warn","41185adQYpV","all","12Nntylo","9kkdFiy","165141FDTSVD","28jjCYFj","JbPro[❌❌❌][video wasm]","21auZopt","2627317LQPZDG","2407950RdlNtD","1596QZwsxO","409772ADLYPn","JbPro[❌❌❌][audio wasm]:","186MkHDav","17960zhlDqt","push"];return(pc=function(){return e})()}function mc(e,t){const r=pc();return(mc=function(e,t){return r[e-=206]})(e,t)}!function(e,t){const r=mc,n=e();for(;;)try{if(261029===-parseInt(r(212))/1+parseInt(r(219))/2+parseInt(r(218))/3*(parseInt(r(213))/4)+-parseInt(r(208))/5*(parseInt(r(221))/6)+-parseInt(r(215))/7*(parseInt(r(222))/8)+parseInt(r(211))/9*(parseInt(r(217))/10)+parseInt(r(216))/11*(parseInt(r(210))/12))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pc);const vc=[];vc[fc(206)](o({printErr:function(e){const t=fc;(function(e){const t=At;return!(!e||-1===e.indexOf(t(727))&&-1===e.indexOf("illegal icc")&&-1===e[t(582)](t(575))&&-1===e[t(582)](t(494)))})(e)||console[t(207)](t(220),e)}}),s({printErr:function(e){const t=fc;(function(e){const t=At;return!(!e||-1===e.indexOf(t(567)))})(e)||(console.warn(t(214),e),Gt(function(e){const t=At;let r=!0;return e&&-1!==e[t(582)](t(569))&&(r=!1),r}(e))&&postMessage({cmd:be.notSupportNewWasm}))}})),Promise[fc(209)](vc).then((e=>{const t=e[0];!function(){const e=lc;let t=arguments[e(660)]>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[e(660)]>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[e(660)]>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=[],o=[],a=null,c=null,u=null,l=null,d=null,h=null,f=!1,p=null,m=null,v=!1,y=!1,g=!!$t(n),_=0,b=0,w=!1,S=null,E=null,I=null,k=[],A=null,C=null,x=0,T=0,D=null,P=null,B=0,M=0,F=!1,U=!1,R=!1,L=null,O=null,z=!1,N=!0,j=0,H=0,V=()=>{const t=e,r=Vt();return{debug:r.debug,debugLevel:r[t(493)],debugUuid:r[t(1264)],useOffscreen:r.useOffscreen,useWCS:r[t(957)],useMSE:r[t(763)],videoBuffer:r[t(1144)],videoBufferDelay:r[t(1240)],openWebglAlignment:r.openWebglAlignment,playType:r[t(791)],hasAudio:r[t(737)],hasVideo:r[t(1033)],playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:r[t(1082)],playbackIsCacheBeforeDecodeForFpsRender:r[t(518)][t(857)],sampleRate:0,networkDelay:r[t(895)],visibility:!0,useSIMD:r[t(1e3)],isRecording:!1,recordType:r[t(1248)],isNakedFlow:r[t(725)],checkFirstIFrame:r.checkFirstIFrame,audioBufferSize:1024,isM7sCrypto:r.isM7sCrypto,m7sCryptoAudio:r.m7sCryptoAudio,cryptoKey:r.cryptoKey,cryptoIV:r[t(1114)],isSm4Crypto:r[t(1368)],isSm4CryptoH265V2:r.isSm4CryptoH265V2,sm4CryptoKey:r.sm4CryptoKey,isXorCrypto:r.isXorCrypto,isHls265:!1,isFlv:r[t(485)],isFmp4:r.isFmp4,isMpeg4:r[t(1047)],isTs:r[t(1376)],isEmitSEI:r.isEmitSEI,isRecordTypeFlv:!1,isWasmMp4:!1,isChrome:!1,isFirefox:!1,isDropSameTimestampGop:r[t(798)],mseDecodeAudio:r[t(462)],wcsDecodeAudio:r[t(1297)],nakedFlowH265DemuxUseNew:r[t(1176)],mseDecoderUseWorker:r[t(1245)],mseAutoCleanupSourceBuffer:r.mseAutoCleanupSourceBuffer,mseAutoCleanupMaxBackwardDuration:r[t(721)],mseAutoCleanupMinBackwardDuration:r[t(1072)],mseCorrectTimeDuration:r[t(530)],mseCorrectAudioTimeDuration:r[t(817)],nakedFlowDemuxUseNew:r[t(1125)],nakedFlowFps:r.nakedFlowFps,supportMSEDecodeHevc:!1,checkStreamEnd:r[t(853)]}};e(673)in self&&(a={TAG_NAME:"worker wcsDecoder",hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:null,init(){const t=e;a[t(776)]=new VideoDecoder({output:function(e){const r=t;if(Rt(e[r(818)]))e[r(818)]()[r(750)]((t=>{const n=r;a[n(548)][n(1231)](t,0,0,e[n(1227)],e[n(1184)]);let i=a[n(564)][n(862)]();postMessage({cmd:be[n(1311)],buffer:i,delay:Y[n(1251)],ts:0},[i]),zt(e)}));else{a[r(548)][r(1231)](e,0,0,e[r(1227)],e[r(1184)]);let t=a[r(564)][r(862)]();postMessage({cmd:be[r(1311)],buffer:t,delay:Y[r(1251)],ts:0},[t]),zt(e)}},error:function(e){const r=t;Y.debugError("worker",r(1053),e,e[r(657)]())}}),Y[t(499)](a.TAG_NAME,t(1150))},destroy(){const t=e;a.reset(),a[t(776)]&&"closed"!==a[t(776)][t(1126)]&&(a.decoder[t(1112)](),a[t(776)]=null),Y[t(499)](a[t(688)],t(882))},decode:function(t,r,n){const i=e,s=t[0]>>4==1;if(a.hasInit){const e=new EncodedVideoChunk({data:t[i(1276)](5),timestamp:r,type:s?Ue[i(621)]:Ue[i(1139)]});a[i(776)][i(573)](e)}else if(s&&0===t[1]){const e=15&t[0];postMessage({cmd:be[i(812)],code:e});const r=new Uint8Array(t);postMessage({cmd:be.videoCodec,buffer:r,codecId:e},[r[i(1015)]]);let n=null,s=null;const o=t.slice(5);e===Te[i(1255)]?(s=_r(o),n={codec:s[i(780)],description:o}):e===Te[i(1188)]&&(s=Yr(o),n={codec:s.codec,description:o}),s&&s.codecWidth&&s.codecHeight&&(n[i(1184)]=s[i(797)],n[i(1227)]=s.codecWidth),!a[i(594)]&&(Y[i(499)](i(541),i(604)),postMessage({cmd:be[i(809)],w:s.codecWidth,h:s.codecHeight}),a[i(594)]=!0,a[i(564)]=new OffscreenCanvas(s[i(1338)],s[i(797)]),a[i(548)]=a[i(564)][i(771)]("2d"));try{a[i(776)][i(612)](n),a[i(1339)]=!0}catch(e){Y.debugError(i(541),"VideoDecoder configure error",e[i(1138)],e,e[i(657)]()),e[i(657)]()}}else Y[i(534)](i(541),i(1103)+s+i(1100)+t[1]+i(810))},reset(){const t=e;a[t(1339)]=!1,a[t(594)]=!1,a[t(564)]=null,a[t(548)]=null}});let W=function(){const t=e;if(z=!0,c)try{c[t(597)](),c=null,Y[t(499)](t(541),t(980))}catch(e){c=null,Y.debugLog(t(541),t(712),e)}},$={TAG_NAME:e(461),init(){const t=e;$[t(609)]=null,$[t(513)]=null,$.sps=null,$.pps=null,$[t(508)]=null,$[t(1315)]=0,$[t(527)]={},$[t(1187)]=!1,Y.debugLog($.TAG_NAME,"init")},destroy(){const t=e;$.lastBuf=null,$[t(513)]=null,$.sps=null,$[t(993)]=null,$[t(508)]=null,$[t(1315)]=0,$.pendingUnits={},$.isSendSeqHeader=!1,Y[t(499)]($[t(688)],"destroy")},dispatch(t){const r=e,n=new Uint8Array(t);if(Y[r(469)][r(1125)]){const e=$[r(687)](n);if(0===e.length)return void Y[r(499)]($[r(688)],"dispatch naluArray length is 0");$[r(921)](e)}else $[r(632)](n)},getNaluDts(){const t=e,r=Y[t(469)].nakedFlowFps;let n=$.localDts;return $[t(1315)]=$.localDts+parseInt(1e3/r,10),n},getNaluAudioDts(){const t=e,r=Y[t(469)][t(1370)],n=Y[t(469)][t(875)];return $.localDts+parseInt(n/r*1e3)},extractNALu(t){const r=e;let n,i,s=0,o=t.byteLength,a=0,c=[];for(;s1)for(let e=0;e{const t=r,n=kr(e);n===Be[t(993)]||n===Be[t(468)]?$[t(924)](e):Cr(n)&&i.push(e)})),1===i.length)$[r(924)](i[0]);else if(Tr(i)){const e=kr(i[0]),t=xr(e);$[r(937)](i,t,e)}else i.forEach((e=>{$[r(924)](e)}))}else if($.streamType===De[r(1188)])if(Y[r(469)][r(1176)]){const e=$[r(1168)](t),n=$.extractNALu(e);if(0===n[r(660)])return void Y[r(534)](r(541),r(772),r(693));const i=[];if(n[r(757)]((e=>{const t=r,n=tn(e);n===Me[t(993)]||n===Me[t(468)]||n===Me[t(513)]?$[t(1290)](e):sn(n)&&i[t(729)](e)})),1===i[r(660)])$[r(1290)](i[0]);else if(cn(i)){const e=tn(i[0]),t=on(e);$[r(877)](i,t,e)}else i.forEach((e=>{$[r(1290)](e)}))}else tn(t)===Me[r(993)]?$.extractH265PPS(t):$[r(1290)](t)},extractH264PPS(t){const r=e,n=$[r(1168)](t);$[r(478)](n)[r(757)]((e=>{const t=r;Ar(kr(e))?$[t(1055)](e):$.handleVideoH264Nalu(e)}))},extractH265PPS(t){const r=e,n=$[r(1168)](t);$[r(478)](n).forEach((e=>{const t=r;nn(tn(e))?$[t(1261)](e):$.handleVideoH265Nalu(e)}))},extractH264SEI(t){const r=e,n=$[r(1168)](t);$.extractNALu(n)[r(757)]((e=>{$[r(924)](e)}))},extractH265SEI(t){const r=e,n=$[r(1168)](t);$[r(478)](n)[r(757)]((e=>{$[r(1290)](e)}))},handleAddNaluStartCode(t){const r=e,n=[0,0,0,1],i=new Uint8Array(t[r(660)]+n.length);return i[r(806)](n),i[r(806)](t,n[r(660)]),i},handleVideoH264Nalu(t){const r=e,n=kr(t);switch(n){case Be[r(468)]:$[r(468)]=t;break;case Be[r(993)]:$[r(993)]=t}if($[r(1187)]){if($[r(468)]&&$[r(993)]){const e=wr({sps:$.sps,pps:$.pps}),t=$[r(1315)];Y[r(573)](e,{type:we[r(1116)],ts:t,isIFrame:!0,cts:0}),$.sps=null,$.pps=null}if(Cr(n)){const e=xr(n),i=$[r(952)](),s=Er(t,e);$.doDecode(s,{type:we[r(1116)],ts:i,isIFrame:e,cts:0})}}else if($.sps&&$[r(993)]){$[r(1187)]=!0;const e=wr({sps:$[r(468)],pps:$[r(993)]});Y[r(573)](e,{type:we.video,ts:0,isIFrame:!0,cts:0}),$.sps=null,$[r(993)]=null}},handleVideoH264NaluList(t,r,n){const i=e;if($[i(1187)]){const e=$[i(952)](),s=Ir(t[i(1199)](((e,t)=>{const r=i,n=It(e),s=It(t),o=new Uint8Array(n[r(1343)]+s.byteLength);return o[r(806)](n,0),o[r(806)](s,n[r(1343)]),o})),r);$[i(1141)](s,{type:we.video,ts:e,isIFrame:r,cts:0}),Y[i(499)](i(541),i(484)+t[i(660)]+" package length is "+s[i(1343)]+i(1267)+r+i(1273)+n+i(746)+e)}},handleVideoH265Nalu(t){const r=e,n=tn(t);switch(n){case Me[r(513)]:$.vps=t;break;case Me[r(468)]:$.sps=t;break;case Me[r(993)]:$[r(993)]=t}if($[r(1187)]){if($.vps&&$[r(468)]&&$[r(993)]){const e=Zr({vps:$[r(513)],sps:$[r(468)],pps:$[r(993)]}),t=$[r(1315)];Y[r(573)](e,{type:we.video,ts:t,isIFrame:!0,cts:0}),$[r(513)]=null,$[r(468)]=null,$.pps=null}if(sn(n)){const e=on(n),i=$[r(952)](),s=Qr(t,e);$[r(1141)](s,{type:we[r(1116)],ts:i,isIFrame:e,cts:0})}}else if($.vps&&$.sps&&$[r(993)]){$.isSendSeqHeader=!0;const e=Zr({vps:$.vps,sps:$[r(468)],pps:$[r(993)]});Y.decode(e,{type:we[r(1116)],ts:0,isIFrame:!0,cts:0}),$.vps=null,$[r(468)]=null,$[r(993)]=null}},handleVideoH265NaluList(t,r,n){const i=e;if($[i(1187)]){const e=$.getNaluDts(),s=en(t[i(1199)](((e,t)=>{const r=i,n=It(e),s=It(t),o=new Uint8Array(n[r(1343)]+s.byteLength);return o[r(806)](n,0),o[r(806)](s,n[r(1343)]),o})),r);$[i(1141)](s,{type:we.video,ts:e,isIFrame:r,cts:0}),Y.debugLog("worker","handleVideoH265NaluList list size is "+t.length+i(973)+s.byteLength+i(1267)+r+i(1273)+n+i(746)+e)}},doDecode(t,r){const n=e;Y[n(1159)](r.ts),r[n(457)]&&Y[n(807)](r.ts),Y[n(573)](t,r)},handleVideoFrames(t){const r=e;if(!$.streamVideoType)for(let e of t)if($[r(524)]=Lt(e),$.streamVideoType)break;$[r(524)]?$[r(524)]===De[r(1255)]?$[r(1179)](t):$[r(524)]===De[r(1188)]&&$.handleVideoH265Frames(t):Y.debugWarn("worker",r(921),"streamVideoType is null")},handleVideoH264Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;$[r(527)].units&&(n=$[r(527)].units,o=$[r(527)][r(886)],s=$[r(527)].iFrame,$[r(527)]={});let a={};for(let e of t){if(e.byteLength<4)continue;const t=kr(e);let c=!1,u=t===Be[r(1096)];(t===Be[r(930)]||t===Be.kSliceIDR)&&(a=$[r(1283)](e),c=!0),n[r(660)]&&o&&(a.isfms||!c)&&(i.push({units:n,isIFrame:s}),n=[],s=!1,o=!1),n[r(729)](e),s=s||u,o=o||c}n[r(660)]&&($.pendingUnits={units:n,vcl:o,iFrame:s}),i.forEach((e=>{const t=r,n=e[t(1061)],i=e[t(457)];let s=null,o=null;if(n[t(757)]((e=>{const r=t,n=31&e[0];switch(n){case Be[r(993)]:$[r(993)]=e;break;case Be[r(468)]:$.sps=e;break;case Be.kSliceSEI:o=e}if(Cr(n)){const t=It(e);if(s){const e=new Uint8Array(s.byteLength+t[r(1343)]);e[r(806)](s,0),e.set(t,s[r(1343)]),s=e}else s=t}})),!$[t(1187)]&&$[t(468)]&&$[t(993)]){$[t(1187)]=!0;const e=Sr({sps:$.sps,pps:$[t(993)]});Y[t(573)](e,{type:we.video,ts:0,isIFrame:!0,cts:0}),$[t(468)]=null,$.pps=null}if($[t(1187)]){if($[t(468)]&&$.pps){const e=Sr({sps:$[t(468)],pps:$[t(993)]}),r=$.localDts;Y.decode(e,{type:we[t(1116)],ts:r,isIFrame:!0,cts:0}),$[t(468)]=null,$.pps=null}if(s){const e=$.getNaluDts(),r=Ir(s,i);if(Y._opt.isEmitSEI&&o){const r=St(o,!1);postMessage({cmd:be[t(1175)],buffer:r.payload,ts:e},[r[t(1092)][t(1015)]])}$[t(1141)](r,{type:we[t(1116)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames(t){const r=e;let n=[],i=[],s=!1,o=!1;$[r(527)].units&&(n=$[r(527)].units,o=$.pendingUnits[r(886)],s=$[r(527)][r(465)],$[r(527)]={});let a={};for(let e of t){if(e[r(1343)]<4)continue;const t=tn(e);let c=!1,u=on(t);sn(t)&&(a=$.parseVideo265Header(e),c=!0),n[r(660)]&&o&&(a[r(1349)]||!c)&&(i.push({units:n,isIFrame:s}),n=[],s=!1,o=!1),n[r(729)](e),s=s||u,o=o||c}n.length&&($[r(527)]={units:n,vcl:o,iFrame:s}),i[r(757)]((e=>{const t=r,n=e[t(1061)],i=e[t(457)];let s=null,o=null;if(n[t(757)]((e=>{const r=t,n=e[0]>>>1&63;switch(n){case Me.pps:$[r(993)]=e;break;case Me[r(468)]:$[r(468)]=e;break;case Me.vps:$[r(513)]=e;break;case Me[r(1278)]:case Me.prefixSei:o=e}if(sn(n)){const t=It(e);if(s){const e=new Uint8Array(s[r(1343)]+t[r(1343)]);e[r(806)](s,0),e.set(t,s[r(1343)]),s=e}else s=t}})),!$[t(1187)]&&$.sps&&$.pps&&$[t(513)]){$[t(1187)]=!0;const e=Zr({sps:$[t(468)],pps:$[t(993)],vps:$.vps});Y[t(573)](e,{type:we[t(1116)],ts:0,isIFrame:!0,cts:0}),$[t(468)]=null,$[t(993)]=null,$.vps=null}if($[t(1187)]){if($.sps&&$[t(993)]&&$[t(513)]){const e=Zr({sps:$[t(468)],pps:$.pps,vps:$[t(513)]}),r=$[t(1315)];Y.decode(e,{type:we.video,ts:r,isIFrame:!0,cts:0}),$[t(468)]=null,$[t(993)]=null,$[t(513)]=null}if(s){const e=$[t(952)](),r=en(s,i);if(Y[t(469)][t(643)]&&o){const r=St(o,!0);postMessage({cmd:be.videoSEI,buffer:r[t(1092)],ts:e},[r.payload[t(1015)]])}$[t(1141)](r,{type:we[t(1116)],ts:e,isIFrame:i,cts:0})}}}))},handleVideoH265Frames_1(t){t[e(757)]((e=>{$.handleVideoNalu(e)}))},parseVideo264Header(t){const r=e,n=new qa(t);return n.readUByte(),{isfms:0===n[r(546)](),sType:n.readUEG()}},parseVideo265Header(t){const r=e,n=new qa(t);return n[r(624)](),{nalType:n[r(1056)](6),isfms:0===n.readBits(1),sType:n[r(1056)](3)}}},G={LOG_NAME:e(893),mp4Box:null,offset:0,videoTrackId:null,audioTrackId:null,isHevc:!1,listenMp4Box(){const t=e;G.mp4Box=So.createFile(),G[t(994)][t(630)]=G[t(630)],G.mp4Box[t(1006)]=G[t(1006)],G[t(994)].onSamples=G[t(1352)],Y[t(499)](G[t(1266)],t(1150))},destroy(){const t=e;G[t(994)]&&(G[t(994)][t(1046)](),G.mp4Box[t(1342)](),G[t(994)].destroy(),G[t(994)]=null),G[t(1363)]=0,G.videoTrackId=null,G[t(1225)]=null,G[t(761)]=!1,Y[t(499)](G[t(1266)],t(882))},_getSeqHeader(t){const r=e,n=G[r(994)].getTrackById(t.id);for(const e of n[r(1122)][r(1253)][r(1304)][r(494)][r(1252)])if(e[r(1191)]||e[r(861)]){const t=new(So[r(1256)])(void 0,0,So[r(1256)][r(920)]);let n=[];e[r(1191)]?(e[r(1191)][r(1309)](t),n=[23,0,0,0,0]):(G.isHevc=!0,Y.isHevc=!0,e[r(861)][r(1309)](t),n=[28,0,0,0,0]);const i=new Uint8Array(t[r(1015)],8),s=new Uint8Array(n[r(660)]+i[r(660)]);return s[r(806)](n,0),s[r(806)](i,n[r(660)]),s}return null},onReady(t){const r=e;Y[r(499)](G[r(1266)],r(1020));const n=t[r(1296)][0],i=t[r(751)][0];if(n){G[r(901)]=n.id;const e=G[r(627)](n);e&&(Y.debugLog(G.LOG_NAME,r(529)),Y.decodeVideo(e,0,!0,0)),G[r(994)][r(1108)](n.id)}if(i&&Y[r(469)][r(737)]){G[r(1225)]=i.id;const e=i[r(492)]||{},t=dt[r(1302)](e[r(1289)]),n=i[r(780)][r(1293)](r(680),"");G[r(994)][r(1108)](i.id);const s=ht({profile:parseInt(n,10),sampleRate:t,channel:e[r(982)]});Y[r(499)](G[r(1266)],r(1238)),Y[r(1374)](s,0)}G[r(994)][r(698)]()},onError(t){const r=e;Y[r(749)](G[r(1266)],r(1128),t)},onSamples(t,r,n){const i=e;if(t===G[i(901)]){for(const e of n){const t=e[i(1012)],r=e[i(726)],n=1e3*e[i(1018)]/e[i(1166)];e[i(700)],e.timescale,r&&Y[i(807)](n);let s=null;s=G[i(761)]?en(t,r):Ir(t,r),Y[i(573)](s,{type:we.video,ts:n,isIFrame:r,cts:0})}G[i(994)][i(945)](t)}else if(t===G[i(1225)]){if(Y[i(469)].hasAudio){for(const e of n){const t=e[i(1012)],r=1e3*e[i(1018)]/e[i(1166)];e.duration,e.timescale;const n=new Uint8Array(t.byteLength+2);n[i(806)]([175,1],0),n[i(806)](t,2),Y[i(573)](n,{type:we[i(492)],ts:r,isIFrame:!1,cts:0})}G.mp4Box[i(945)](t)}}else Y[i(534)](G[i(1266)],i(669),t)},dispatch(t){const r=e;let n=new Uint8Array(t);n.buffer[r(1221)]=G.offset,G[r(1363)]+=n.byteLength,G[r(994)][r(447)](n.buffer)}},q={LOG_NAME:e(1131),lastBuffer:new Uint8Array(0),parsedOffset:0,firstStartCodeOffset:0,secondStartCodeOffset:0,state:e(1150),hasInitVideoCodec:!1,localDts:0,dispatch(t){const r=e,n=new Uint8Array(t);q[r(478)](n)},destroy(){const t=e;q.lastBuffer=new Uint8Array(0),q.parsedOffset=0,q[t(734)]=0,q[t(505)]=0,q[t(1126)]=t(1150),q.hasInitVideoCodec=!1,q[t(1315)]=0,Y[t(499)](q[t(1266)],"destroy")},extractNALu(t){const r=e;if(!t||t[r(1343)]<1)return void Y[r(534)](q[r(1266)],r(738),t);const n=new Uint8Array(q.lastBuffer.length+t.length);for(n[r(806)](q.lastBuffer,0),n[r(806)](new Uint8Array(t),q[r(722)][r(660)]),q.lastBuffer=n;;){if("init"===q[r(1126)]){let e=!1;for(;q.lastBuffer[r(660)]-q[r(1013)]>=4;)if(0===q[r(722)][q.parsedOffset])if(0===q[r(722)][q[r(1013)]+1])if(1===q[r(722)][q[r(1013)]+2]){if(182===q.lastBuffer[q[r(1013)]+3]){q[r(1126)]="findFirstStartCode",q[r(734)]=q[r(1013)],q[r(1013)]+=4,e=!0;break}q[r(1013)]++}else q.parsedOffset++;else q[r(1013)]++;else q[r(1013)]++;if(e)continue;break}if("findFirstStartCode"===q.state){let e=!1;for(;q[r(722)].length-q[r(1013)]>=4;)if(0===q[r(722)][q[r(1013)]])if(0===q[r(722)][q[r(1013)]+1])if(1===q[r(722)][q[r(1013)]+2]){if(182===q.lastBuffer[q[r(1013)]+3]){q.state=r(495),q.secondStartCodeOffset=q[r(1013)],q[r(1013)]+=4,e=!0;break}q[r(1013)]++}else q[r(1013)]++;else q.parsedOffset++;else q[r(1013)]++;if(e)continue;break}if(q[r(1126)]===r(495)){if(!(q[r(722)][r(660)]-q[r(1013)]>0))break;{let e,t=192&q[r(722)][q[r(1013)]];e=0==t?q[r(505)]-14:q.secondStartCodeOffset;let n,i=0==(192&q[r(722)][q.firstStartCodeOffset+4]);if(i){if(q[r(734)]-14<0)return void Y[r(534)](q[r(1266)],r(1337),q[r(734)]-14);!q[r(535)]&&(q[r(535)]=!0,Y[r(499)](q[r(1266)],r(577)),Z[r(577)](Te[r(710)],"",Y[r(471)]())),n=q[r(722)][r(904)](q[r(734)]-14,e)}else n=q[r(722)][r(904)](q.firstStartCodeOffset,e);let s=q[r(952)]();q[r(535)]?(postMessage({cmd:be[r(735)],type:ke[r(830)],value:n[r(1343)]}),postMessage({cmd:be[r(735)],type:ke[r(827)],value:s}),_=s,Z[r(573)](n,i?1:0,s)):Y[r(534)](q[r(1266)],r(479)),q.lastBuffer=q[r(722)][r(904)](e),0==t?q[r(734)]=14:q.firstStartCodeOffset=0,q[r(1013)]=q[r(734)]+4,q[r(1126)]=r(989)}}}},getNaluDts(){const t=e;let r=q.localDts;return q[t(1315)]=q[t(1315)]+40,r}},X={TAG_NAME:e(769),first_parse_:!0,tsPacketSize:0,syncOffset:0,pmt_:null,config_:null,media_info_:new Ha,timescale_:90,duration_:0,pat_:{version_number:0,network_pid:0,program_map_pid:{}},current_program_:null,current_pmt_pid_:-1,program_pmt_map_:{},pes_slice_queues_:{},section_slice_queues_:{},video_metadata_:{vps:null,sps:null,pps:null,details:null},audio_metadata_:{codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},last_pcr_:null,audio_last_sample_pts_:void 0,aac_last_incomplete_data_:null,has_video_:!1,has_audio_:!1,video_init_segment_dispatched_:!1,audio_init_segment_dispatched_:!1,video_metadata_changed_:!1,audio_metadata_changed_:!1,loas_previous_frame:null,video_track_:{type:e(1116),id:1,sequenceNumber:0,samples:[],length:0},audio_track_:{type:e(492),id:2,sequenceNumber:0,samples:[],length:0},_remainingPacketData:null,init(){},destroy(){const t=e;X[t(562)]=null,X[t(1123)]=null,X[t(1378)]=null,X[t(990)]=null,X[t(767)]=null,X.aac_last_incomplete_data_=null,X[t(1109)]=null,X[t(1172)]=null,X[t(685)]=null,Y[t(499)](X[t(688)],t(882))},probe(t){const r=e;let n=new Uint8Array(t),i=-1,s=188;if(n[r(1343)]<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math[r(894)](1e3,n[r(1343)]-3*s);for(let t=0;t=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})},_initPmt:()=>({program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}),dispatch(t){const r=e;X[r(685)]&&(t=fa(X[r(685)],t),X[r(685)]=null);let n=t[r(1015)];const i=X[r(815)](n);i?X[r(685)]=t[r(904)](i):t[r(660)]>>6;e[1];let o=(31&e[1])<<8|e[2],a=(48&e[3])>>>4,c=15&e[3],u=!(!X[r(1341)]||X[r(1341)][r(963)]!==o),l={},d=4;if(2==a||3==a){let t=e[4];if(t>0&&(u||3==a)&&(l[r(948)]=(128&e[5])>>>7,l[r(571)]=(64&e[5])>>>6,l[r(1140)]=(32&e[5])>>>5,(16&e[5])>>>4)){let t=300*(e[6]<<25|e[7]<<17|e[8]<<9|e[9]<<1|e[10]>>>7)+((1&e[10])<<8|e[11]);X[r(618)]=t}if(2==a||5+t===188){n+=188,204===X[r(813)]&&(n+=16);continue}d=5+t}if(1==a||3==a)if(0===o||o===X[r(475)]||null!=X[r(1341)]&&X.pmt_[r(706)][o]===Ra[r(635)]){let e=188-d;X[r(1232)](t,n+d,e,{pid:o,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(571)]})}else if(null!=X[r(1341)]&&null!=X[r(1341)].pid_stream_type[o]){let e=188-d,i=X[r(1341)].pid_stream_type[o];(o===X[r(1341)][r(467)][r(1255)]||o===X.pmt_[r(467)][r(1188)]||o===X[r(1341)][r(467)].adts_aac||o===X[r(1341)][r(467)][r(879)]||o===X[r(1341)][r(467)].ac3||o===X[r(1341)][r(467)].eac3||o===X[r(1341)][r(467)][r(1208)]||o===X.pmt_.common_pids.mp3||!0===X.pmt_.pes_private_data_pids[o]||!0===X[r(1341)][r(1270)][o]||!0===X[r(1341)][r(1044)][o]||!0===X[r(1341)].asynchronous_klv_pids[o])&&X[r(770)](t,n+d,e,{pid:o,stream_type:i,payload_unit_start_indicator:s,continuity_conunter:c,random_access_indicator:l[r(571)]})}n+=188,204===X[r(813)]&&(n+=16)}return X[r(668)](),n},handleSectionSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=X[s(1378)][i[s(755)]];if(i[s(960)]){let e=o[0];if(null!=a&&0!==a[s(514)]){let o=new Uint8Array(t,r+1,Math[s(894)](n,e));a[s(739)][s(729)](o),a.total_length+=o[s(1343)],a[s(514)]===a[s(867)]?X[s(727)](a,i):X[s(542)](a,i)}for(let c=1+e;c=a.expected_length&&X.clearSlices(a,i),c+=u.byteLength}}else if(null!=a&&0!==a[s(514)]){let e=new Uint8Array(t,r,Math[s(894)](n,a[s(867)]-a[s(514)]));a[s(739)][s(729)](e),a.total_length+=e[s(1343)],a[s(514)]===a.expected_length?X[s(727)](a,i):a[s(514)]>=a[s(867)]&&X[s(542)](a,i)}},handlePESSlice(t,r,n,i){const s=e;let o=new Uint8Array(t,r,n),a=o[0]<<16|o[1]<<8|o[2];o[3];let c=o[4]<<8|o[5];if(i.payload_unit_start_indicator){if(1!==a)return void Y.debugWarn(X[s(688)],s(617)+a);let e=X[s(1123)][i.pid];e&&(0===e[s(867)]||e[s(867)]===e[s(514)]?X[s(625)](e,i):X[s(542)](e,i)),X[s(1123)][i[s(755)]]=new La,X[s(1123)][i[s(755)]][s(571)]=i.random_access_indicator}if(null==X[s(1123)][i[s(755)]])return;let u=X[s(1123)][i[s(755)]];u.slices.push(o),i[s(960)]&&(u.expected_length=0===c?0:c+6),u[s(514)]+=o[s(1343)],u.expected_length>0&&u.expected_length===u[s(514)]?X[s(625)](u,i):u[s(867)]>0&&u[s(867)]>>6,c=n[8];(2===a||3===a)&&(e=536870912*(14&n[9])+4194304*(255&n[10])+16384*(254&n[11])+128*(255&n[12])+(254&n[13])/2,i=3===a?536870912*(14&n[14])+4194304*(255&n[15])+16384*(254&n[16])+128*(255&n[17])+(254&n[18])/2:e);let u,l=9+c;if(0!==o){if(o<3+c)return void Y[r(534)](X[r(688)],r(553));u=o-3-c}else u=n[r(1343)]-l;let d=n[r(904)](l,l+u);switch(t[r(1170)]){case Ra[r(1211)]:case Ra[r(1052)]:X.parseMP3Payload(d,e);break;case Ra[r(939)]:X[r(1341)][r(467)].opus===t[r(755)]?X[r(1077)](d,e):X[r(1341)][r(467)][r(835)]===t[r(755)]?X[r(1119)](d,e):X.pmt_.common_pids[r(743)]===t.pid?X[r(1335)](d,e):X[r(1341)].asynchronous_klv_pids[t[r(755)]]?X[r(1034)](d,t[r(755)],s):X[r(1341)][r(1058)][t[r(755)]]?X[r(1200)](d,e,i,t[r(755)],s):X.parsePESPrivateDataPayload(d,e,i,t[r(755)],s);break;case Ra[r(951)]:X[r(672)](d,e);break;case Ra[r(1345)]:X[r(1087)](d,e);break;case Ra.kAC3:X[r(1119)](d,e);break;case Ra[r(455)]:X[r(1335)](d,e);break;case Ra[r(865)]:X[r(1341)][r(1270)][t.pid]?X[r(586)](d,e,i,t[r(755)],s):X[r(1341)][r(1044)][t[r(755)]]&&X[r(686)](d,e,i,t.pid,s);break;case Ra[r(1059)]:X[r(709)](d,e,i,t.random_access_indicator);break;case Ra[r(655)]:X.parseH265Payload(d,e,i,t[r(571)])}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&t[r(1170)]===Ra[r(939)]){let e,i=6;e=0!==o?o:n[r(1343)]-i;let a=n.subarray(i,i+e);X[r(1204)](a,void 0,void 0,t[r(755)],s)}}else Y[r(749)](X[r(688)],r(800)+i)},parsePAT(t){const r=e;let n=t[0];if(0!==n)return void Log.e(X[r(1161)],r(526)+n+r(816));let i=(15&t[1])<<8|t[2];t[3],t[4];let s=(62&t[5])>>>1,o=1&t[5],a=t[6];t[7];let c=null;if(1===o&&0===a)c={version_number:0,network_pid:0,program_pmt_pid:{}},c[r(1194)]=s;else if(c=X[r(1045)],null==c)return;let u=i-5-4,l=-1,d=-1;for(let e=8;e<8+u;e+=4){let n=t[e]<<8|t[e+1],i=(31&t[e+2])<<8|t[e+3];0===n?c.network_pid=i:(c[r(908)][n]=i,-1===l&&(l=n),-1===d&&(d=i))}1===o&&0===a&&(null==X[r(1045)]&&Y[r(499)](X[r(688)],r(498)+JSON[r(1205)](c)),X[r(1045)]=c,X[r(744)]=l,X[r(475)]=d)},parsePMT(t){const r=e;let n=t[0];if(2!==n)return void Y[r(749)](X[r(688)],r(794)+n+r(918));let i,s=(15&t[1])<<8|t[2],o=t[3]<<8|t[4],a=(62&t[5])>>>1,c=1&t[5],u=t[6];if(t[7],1===c&&0===u)i=X[r(792)](),i[r(741)]=o,i.version_number=a,X[r(906)][o]=i;else if(i=X[r(906)][o],null==i)return;i.pcr_pid=(31&t[8])<<8|t[9];let l=(15&t[10])<<8|t[11],d=12+l,h=s-9-l-4;for(let e=d;e0){for(let n=e+5;n0)for(let n=e+5;n1&&(Y[n(534)](X[n(688)],n(623)+(n(522)+e+n(752)+s+"ms")),s=e)}}let o,a=new yt(t),c=null,u=s;for(;null!=(c=a.readNextAACFrame());){i=1024/c[n(504)]*1e3;const e={codec:n(481),data:c};0==X[n(1133)]?(X.audio_metadata_={codec:"aac",audio_object_type:c[n(972)],sampling_freq_index:c[n(832)],sampling_frequency:c[n(504)],channel_config:c.channel_config},X[n(825)](e)):X[n(1083)](e)&&(X[n(1019)](),X[n(825)](e)),o=u;let t=Math[n(1099)](u);const r=new Uint8Array(c[n(1012)].length+2);r[n(806)]([175,1],0),r[n(806)](c[n(1012)],2);let s={payload:r,length:r.byteLength,pts:t,dts:t,type:we[n(492)]};X[n(1172)][n(1021)][n(729)](s),X[n(1172)][n(660)]+=r[n(1343)],u+=i}a[n(1143)]()&&(X[n(578)]=a[n(568)]()),o&&(X[n(844)]=o)},parseLOASAACPayload(t,r){const n=e;if(X.has_video_&&!X.video_init_segment_dispatched_)return;if(X.aac_last_incomplete_data_){let e=new Uint8Array(t[n(1343)]+X.aac_last_incomplete_data_[n(1343)]);e[n(806)](X.aac_last_incomplete_data_,0),e.set(t,X[n(578)][n(1343)]),t=e}let i,s;if(null!=r&&(s=r/X[n(841)]),"aac"===X[n(767)][n(780)]){if(null==r&&null!=X[n(844)])i=1024/X[n(767)].sampling_frequency*1e3,s=X[n(844)]+i;else if(null==r)return void Y.debugWarn(X[n(688)],n(510));if(X[n(578)]&&X.audio_last_sample_pts_){i=1024/X[n(767)][n(504)]*1e3;let e=X[n(844)]+i;Math[n(453)](e-s)>1&&(Y.debugWarn(X[n(1161)],n(623)+"expected: "+e+n(752)+s+"ms"),s=e)}}let o,a=new gt(t),c=null,u=s;for(;null!=(c=a[n(601)](Ft(X[n(984)])?void 0:X.loas_previous_frame));){X[n(984)]=c,i=1024/c[n(504)]*1e3;const e={codec:"aac",data:c};0==X[n(1133)]?(X[n(767)]={codec:"aac",audio_object_type:c[n(972)],sampling_freq_index:c.sampling_freq_index,sampling_frequency:c[n(504)],channel_config:c[n(988)]},X[n(825)](e)):X[n(1083)](e)&&(X.dispatchAudioMediaSegment(),X.dispatchAudioInitSegment(e)),o=u;let t=Math[n(1099)](u);const r=new Uint8Array(c[n(1012)][n(660)]+2);r[n(806)]([175,1],0),r[n(806)](c[n(1012)],2);let s={payload:r,length:r[n(1343)],pts:t,dts:t,type:we[n(492)]};X[n(1172)][n(1021)].push(s),X[n(1172)][n(660)]+=r[n(1343)],u+=i}a[n(1143)]()&&(X.aac_last_incomplete_data_=a[n(568)]()),o&&(X[n(844)]=o)},parseAC3Payload(e,t){},parseEAC3Payload(e,t){},parseOpusPayload(e,t){},parseMP3Payload(t,r){const n=e;if(X.has_video_&&!X[n(724)])return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],o=[11025,12e3,8e3,0],a=t[1]>>>3&3,c=(6&t[1])>>1,u=(t[2],(12&t[2])>>>2),l=3!=(t[3]>>>6&3)?2:1,d=0,h=34;switch(n(607),a){case 0:d=o[u];break;case 2:d=s[u];break;case 3:d=i[u]}switch(c){case 1:h=34,n(660);break;case 2:h=33,n(660);break;case 3:h=32,n(660)}const f={};f.object_type=h,f.sample_rate=d,f[n(982)]=l,f[n(1012)]=t;const p={codec:n(607),data:f};0==X[n(1133)]?(X[n(767)]={codec:"mp3",object_type:h,sample_rate:d,channel_count:l},X.dispatchAudioInitSegment(p)):X[n(1083)](p)&&(X[n(1019)](),X.dispatchAudioInitSegment(p));let m={payload:t,length:t[n(1343)],pts:r/X.timescale_,dts:r/X[n(841)],type:we[n(492)]};X[n(1172)][n(1021)][n(729)](m),X.audio_track_.length+=t.byteLength},detectAudioMetadataChange(t){const r=e;if(t[r(780)]!==X.audio_metadata_[r(780)])return Y.debugLog(X[r(688)],"Audio: Audio Codecs changed from "+(X[r(767)].codec+r(997)+t.codec)),!0;if("aac"===t[r(780)]&&X[r(767)][r(780)]===r(481)){const e=t.data;if(e[r(972)]!==X[r(767)][r(972)])return Y[r(499)](X.TAG_NAME,"AAC: AudioObjectType changed from "+(X[r(767)].audio_object_type+r(997)+e.audio_object_type)),!0;if(e[r(832)]!==X[r(767)].sampling_freq_index)return Y[r(499)](X[r(688)],r(1040)+(X[r(767)][r(832)]+r(997)+e[r(832)])),!0;if(e[r(988)]!==X[r(767)][r(988)])return Y.debugLog(X[r(688)],r(1331)+(X.audio_metadata_.channel_config+r(997)+e[r(988)])),!0}else if("ac-3"===t.codec&&X[r(767)][r(780)]===r(1060)){const e=t.data;if(e[r(504)]!==X[r(767)][r(504)])return Y[r(499)](X[r(688)],r(1160)+(X[r(767)][r(504)]+r(997)+e[r(504)])),!0;if(e[r(1142)]!==X[r(767)][r(1142)])return Y[r(499)](X.TAG_NAME,r(1039)+(X[r(767)].bit_stream_identification+r(997)+e[r(1142)])),!0;if(e[r(1071)]!==X.audio_metadata_.bit_stream_mode)return Y[r(499)](X[r(688)],r(543)+(X[r(767)].bit_stream_mode+r(997)+e.bit_stream_mode)),!0;if(e.channel_mode!==X.audio_metadata_.channel_mode)return Y.debugLog(X[r(688)],"AC3: Channel Mode changed from "+(X[r(767)][r(697)]+r(997)+e[r(697)])),!0;if(e[r(974)]!==X[r(767)][r(974)])return Y[r(499)](X[r(688)],r(1242)+(X[r(767)][r(974)]+r(997)+e.low_frequency_effects_channel_on)),!0}else if(t[r(780)]===r(1208)&&X[r(767)][r(780)]===r(1208)){const e=t[r(1362)];if(e.sample_rate!==X[r(767)][r(1289)])return Y[r(499)](X.TAG_NAME,"Opus: SamplingFrequencyIndex changed from "+(X[r(767)][r(1289)]+r(997)+e[r(1289)])),!0;if(e.channel_count!==X[r(767)].channel_count)return Y.debugLog(X.TAG_NAME,r(773)+(X.audio_metadata_[r(982)]+r(997)+e[r(982)])),!0}else if(t[r(780)]===r(607)&&"mp3"===X[r(767)][r(780)]){const e=t[r(1012)];if(e[r(556)]!==X[r(767)][r(556)])return Y[r(499)](X[r(688)],r(758)+(X[r(767)].object_type+" to ")+e[r(556)]),!0;if(e[r(1289)]!==X[r(767)][r(1289)])return Y[r(499)](X[r(688)],r(785)+(X[r(767)][r(1289)]+" to ")+e[r(1289)]),!0;if(e[r(982)]!==X[r(767)].channel_count)return Y.debugLog(X.TAG_NAME,r(1147)+(X[r(767)][r(982)]+" to ")+e[r(982)]),!0}return!1},dispatchAudioInitSegment(t){const r=e;let n={};if(n[r(1101)]=r(492),n.id=X.audio_track_.id,n[r(1166)]=1e3,n[r(700)]=X.duration_,"aac"===X.audio_metadata_.codec){let e=t.codec===r(481)?t.data:null,i=new Wa(e);n.audioSampleRate=i[r(1098)],n[r(775)]=i[r(1222)],n[r(520)]=i[r(982)],n[r(780)]=i.codec_mimetype,n[r(935)]=i[r(544)],n.config=i.config,n[r(783)]=1024/n[r(902)]*n[r(1166)],r(961);const s=ht({profile:Y._opt[r(462)]?i[r(556)]:i.original_object_type,sampleRate:n[r(775)],channel:n[r(520)]});Y[r(1374)](s,0)}else"ac-3"===X[r(767)][r(780)]||"ec-3"===X.audio_metadata_[r(780)]||X.audio_metadata_.codec===r(1208)||X[r(767)][r(780)]===r(607)&&(n[r(902)]=X[r(767)][r(1289)],n.channelCount=X[r(767)][r(982)],n.codec=r(607),n[r(935)]=r(607),n[r(1295)]=void 0,r(789));0==X[r(1133)]&&Y[r(499)](X[r(688)],r(1106)+n.codec),X[r(1133)]=!0,X[r(1007)]=!1;let i=X.media_info_;i.hasAudio=!0,i[r(736)]=n[r(935)],i[r(902)]=n[r(902)],i.audioChannelCount=n[r(520)],i.hasVideo&&i[r(1260)]?i[r(748)]=r(1080)+i[r(1260)]+","+i[r(736)]+'"':i[r(748)]=r(1080)+i.audioCodec+'"'},dispatchPESPrivateDataDescriptor(t,r,n){const i=e;let s={};s.pid=t,s.stream_type=r,s[i(1300)]=n},parsePESPrivateDataPayload(t,r,n,i,s){const o=e;let a=new za;if(a[o(755)]=i,a[o(1067)]=s,a.len=t.byteLength,a[o(1012)]=t,null!=r){let e=Math.floor(r/X[o(841)]);a[o(890)]=e}else a[o(1201)]=X[o(599)]();if(null!=n){let e=Math[o(1099)](n/X.timescale_);a[o(1049)]=e}},parseTimedID3MetadataPayload(t,r,n,i,s){const o=e;Y[o(499)](X[o(688)],o(511)+i+o(667)+r+", dts="+n+", stream_id="+s)},parseSynchronousKLVMetadataPayload(t,r,n,i,s){const o=e;Y[o(499)](X[o(688)],"Synchronous KLV Metadata: pid="+i+o(667)+r+o(1050)+n+o(702)+s)},parseAsynchronousKLVMetadataPayload(t,r,n){const i=e;Y[i(499)](X.TAG_NAME,i(1237)+r+i(702)+n)},parseSMPTE2038MetadataPayload(t,r,n,i,s){const o=e;Y.debugLog(X[o(688)],o(614)+i+o(667)+r+o(1050)+n+", stream_id="+s)},getNearestTimestampMilliseconds(){const t=e;return null!=X[t(844)]?Math.floor(X[t(844)]):null!=X[t(618)]?Math[t(1099)](X[t(618)]/300/X[t(841)]):void 0},_preDoDecode(){const t=e,r=X.video_track_,n=X[t(1172)];let i=r.samples;n.samples[t(660)]>0&&(i=r[t(1021)][t(691)](n.samples),i=i[t(517)](((e,r)=>{const n=t;return e[n(1049)]-r[n(1049)]}))),i[t(757)]((e=>{const r=t,n=new Uint8Array(e[r(1092)]);delete e[r(1092)],e[r(1101)]===we.video?X[r(1280)]({...e,payload:n}):e[r(1101)]===we[r(492)]&&X._doDecodeAudio({...e,payload:n})})),r.samples=[],r.length=0,n.samples=[],n[t(660)]=0},_doDecodeVideo(t){const r=e,n=new Uint8Array(t[r(1092)]);let i=null;i=t[r(761)]?en(n,t.isIFrame):Ir(n,t.isIFrame),t.isIFrame&&Y[r(807)](t[r(1049)]);let s=Y.cryptoPayload(i,t.isIFrame);Y[r(573)](s,{type:we[r(1116)],ts:t[r(1049)],isIFrame:t[r(457)],cts:t[r(1018)]})},_doDecodeAudio(t){const r=e,n=new Uint8Array(t[r(1092)]);let i=n;$t(Y[r(469)][r(1120)])&&(i=Y.cryptoPayloadAudio(n)),Y[r(573)](i,{type:we[r(492)],ts:t[r(1049)],isIFrame:!1,cts:0})}},K=null;qt()&&(K={TAG_NAME:e(555),_resetInIt(){const t=e;K[t(811)]=null,K.isAAC=null,K[t(913)]={},K.videoMeta={},K[t(1298)]={},K[t(847)]=null,K[t(1084)]=null,K[t(1339)]=!1,K[t(1257)]=!1,K[t(549)]=!1,K.videoMimeType="",K.audioMimeType="",K[t(801)]={},K[t(820)]={},K[t(1258)]=!1,K.sequenceNumber=0,K[t(779)]=0,K[t(1130)]=null,K[t(1148)]=null,K[t(1063)]=!1,K[t(589)]=!1,K[t(1360)]=!1,K.mediaSourceBufferError=!1,K.mediaSourceError=!1,K.prevTimestamp=null,K[t(451)]=null,K[t(919)]=null,K.prevAudioDts=null,K.prevPayloadBufferSize=0,K[t(787)]=!1,K[t(1054)]=null,K[t(826)]=null,K[t(978)]=[],K[t(1207)]=[],K[t(664)]=[],K[t(532)]=[],K[t(1027)]=[],K[t(760)]=null,K[t(964)]=null,K[t(1068)]=null,K.hasPendingEos=!1,K[t(1038)]={currentTime:0,readyState:0}},init(){const t=e;K[t(580)]=new ya,K[t(822)](),K.mediaSource=new(self[t(992)]),K[t(502)]=!!Gt(Y._opt[t(1030)]),K[t(953)](),Y[t(499)](K[t(688)],t(1150))},destroy(){const t=e;K[t(1046)](),K._clearAudioSourceBufferCheckTimeout(),K.eventListenList&&K[t(978)].length&&(K[t(978)].forEach((e=>e())),K.eventListenList=[]),K[t(822)](),K.mediaSource=null,Y[t(499)](K[t(688)],t(882))},getState(){const t=e;return K[t(799)]&&K[t(799)][t(860)]},isStateOpen(){const t=e;return K[t(720)]()===Le[t(1218)]},isStateClosed:()=>K[e(720)]()===Le.closed,isStateEnded:()=>K[e(720)]()===Le.ended,_bindMediaSourceEvents(){const t=e,{proxy:r}=K.events,n=r(K[t(799)],Oe[t(934)],(()=>{const e=t;Y.debugLog(K[e(688)],e(934)),K[e(1336)]()})),i=r(K[t(799)],Oe[t(774)],(()=>{const e=t;Y[e(499)](K[e(688)],e(774))})),s=r(K[t(799)],Oe[t(470)],(()=>{Y.debugLog(K.TAG_NAME,"sourceended")}));K[t(978)].push(n,i,s)},_onMediaSourceSourceOpen(){const t=e;!K[t(847)]&&(Y[t(499)](K[t(688)],"onMediaSourceSourceOpen() sourceBuffer is null and next init"),K[t(500)]()),!K[t(1084)]&&(Y[t(499)](K[t(688)],t(590)),K[t(843)]()),K[t(897)]()&&K[t(1146)]()},decodeVideo(t,r,n,i){const s=e;if(Y[s(531)])Y.debugWarn(K.TAG_NAME,s(705));else if(Gt(K[s(1339)]))if(n&&t[1]===je[s(1028)]){const e=15&t[0];if(e===Te[s(1188)]&&Gt(Y[s(469)].supportMSEDecodeHevc))return void K[s(1081)](Ce[s(593)]);K[s(913)][s(780)]=e,postMessage({cmd:be.videoCode,code:e});const i=new Uint8Array(t);postMessage({cmd:be.videoCodec,buffer:i,codecId:e},[i[s(1015)]]),K.hasInit=K._decodeConfigurationRecord(t,r,n,e)}else Y[s(534)](K[s(688)],s(539)+n+" , payload is "+t[1]+s(810));else if(!K[s(502)]&&n&&(K[s(502)]=!0),K[s(502)]){if(n&&0===t[1]){const e=15&t[0];let r={};e===Te[s(1255)]?r=_r(t[s(1276)](5)):e===Te.h265&&(r=Kr(t));const n=K[s(913)];n&&n.width&&n[s(718)]&&r&&r[s(1338)]&&r[s(797)]&&(r[s(1338)]!==n[s(1226)]||r[s(797)]!==n[s(718)])&&(Y[s(534)](K[s(688)],s(1151)+n[s(1226)]+s(977)+n[s(718)]+",\n new width is "+r[s(1338)]+", new height is "+r[s(797)]+",\n and emit change event"),K[s(787)]=!0,K.emitError(Ce[s(600)],s(1356)+n.width+"->"+r[s(1338)]+", height: "+n.height+"->"+r.codecHeight))}if(K[s(787)])return void Y[s(534)](K[s(688)],"decodeVideo: video width or height is changed, and return");if(Wt(t))return void Y[s(499)](K[s(688)],s(659));if(t[s(1343)]0&&tme},_decodeConfigurationRecord(t,r,n,i){const s=e;let o=t[s(1276)](5),a={};if(i===Te[s(1255)]?a=_r(o):i===Te.h265&&(a=Yr(o)),K.videoInfo[s(1226)]=a[s(1338)],K.videoInfo[s(718)]=a[s(797)],0===a.codecWidth&&0===a[s(797)])return Y[s(534)](K[s(688)],s(1036),JSON[s(1205)](a)),K[s(1081)](Ce.mediaSourceDecoderConfigurationError,s(560)+(0===a[s(1338)])+" and height is "+a.codecHeight),!1;const c={id:$e[s(1116)],type:s(1116),timescale:1e3,duration:0,avcc:o,codecWidth:a[s(1338)],codecHeight:a[s(797)],videoType:a[s(931)]},u=_a[s(622)](c);return K.isAvc=i===Te[s(1255)],a[s(780)]?K.videoMimeType=s(965)+a.codec+'"':K[s(1162)]=K[s(811)]?Re[s(1091)]:Re[s(1124)],postMessage({cmd:be[s(809)],w:a[s(1338)],h:a[s(797)]}),K[s(500)](),K[s(447)](u[s(1015)]),K[s(1037)]=0,K[s(801)]={},K[s(1258)]=!1,!0},_decodeAudioConfigurationRecord(t,r){const n=e,i=t[0]>>4,s=t[0]>>1&1,o=i===Pe[n(789)],a=i===Pe[n(961)];if(Gt(a||o))return Y[n(534)](K[n(688)],n(1079)+i+" ant auto wasm decode"),K[n(1081)](Ce[n(782)]),!1;const c={id:$e.audio,type:n(492),timescale:1e3};let u={};if(ft(t)){if(u=vt(t[n(1276)](2)),!u)return!1;c[n(902)]=u.sampleRate,c[n(520)]=u[n(520)],c[n(1295)]=u.config,c[n(783)]=1024/c[n(902)]*c[n(1166)]}else{if(!o)return!1;if(u=Fa(t),!u)return!1;c[n(902)]=u[n(658)],c[n(520)]=u[n(520)],c.refSampleDuration=1152/c[n(902)]*c[n(1166)]}c[n(780)]=u[n(780)],c[n(700)]=0;let l="mp4",d=u[n(780)],h=null;o&&Gt(Y._opt[n(1265)])?(l=n(670),d="",h=new Uint8Array):h=_a[n(622)](c);let f=c[n(1101)]+"/"+l;return d&&d[n(660)]>0&&(f+=";codecs="+d),Gt(K.isAudioInitInfo)&&(O=i===Pe[n(961)]?s?16:8:0===s?8:16,postMessage({cmd:be.audioCode,code:i}),postMessage({cmd:be[n(898)],sampleRate:c[n(902)],channels:c[n(520)],depth:O}),K[n(549)]=!0),K[n(512)]=f,K.isAAC=a,K[n(843)](),K[n(836)](h.buffer),!0},_initSourceBuffer(){const t=e,{proxy:r}=K[t(580)];if(null===K.sourceBuffer&&null!==K.mediaSource&&K[t(619)]()&&K[t(1162)]){try{Y[t(499)](K[t(688)],t(868),K.videoMimeType),K[t(847)]=K[t(799)][t(1213)](K[t(1162)])}catch(e){return Y[t(749)](K[t(688)],"_initSourceBuffer() appendBuffer mseDecoder.mediaSource.addSourceBuffer()",e[t(1138)],e[t(657)](),e),K[t(1081)](Ce.mseWorkerAddSourceBufferError,e[t(1138)]),void(K.mediaSourceAddSourceBufferError=!0)}if(K.sourceBuffer){const e=r(K.sourceBuffer,t(971),(e=>{const r=t;K.mediaSourceBufferError=!0,Y.debugError(K.TAG_NAME,r(747),e,e[r(657)]()),K[r(1081)](Ce[r(1041)],e[r(1138)])})),n=r(K[t(847)],"updateend",(()=>{const e=t;K[e(777)]()?K[e(985)]():K._hasPendingSegments()?K[e(1146)]():K[e(781)]&&(Y[e(499)](K[e(688)],e(848)),K[e(947)]())}));K[t(978)][t(729)](e,n)}}else Y.debugLog(K[t(688)],t(876)+K[t(619)]()+t(550)+(null===K.isAvc))},_initAudioSourceBuffer(){const t=e,{proxy:r}=K[t(580)];if(null===K[t(1084)]&&null!==K[t(799)]&&K.isStateOpen()&&K[t(512)]){try{Y[t(499)](K[t(688)],"_initAudioSourceBuffer() mseDecoder.mediaSource.addSourceBuffer()",K.audioMimeType),K[t(1111)](),K[t(1084)]=K.mediaSource[t(1213)](K[t(512)])}catch(e){return Y.debugError(K[t(688)],t(855),e[t(1138)],e.toString(),e),K[t(1081)](Ce.mseWorkerAddSourceBufferError,e.code),void(K[t(1360)]=!0)}if(K[t(1084)]){const e=r(K.audioSourceBuffer,"error",(e=>{const r=t;K[r(463)]=!0,Y[r(749)](K[r(688)],r(969),e[r(1138)],e[r(657)](),e),K[r(1081)](Ce[r(1041)],e[r(1138)])})),n=r(K[t(1084)],t(582),(()=>{const e=t;K[e(777)]()?K[e(985)]():K[e(897)]()?K._doAppendSegments():K[e(781)]&&(Y[e(499)](K.TAG_NAME,e(1223)),K[e(947)]())}));K[t(978)][t(729)](e,n),null===K[t(1068)]&&(K[t(1068)]=setTimeout((()=>{const e=t;K[e(1291)](),K[e(1081)](Ce.mediaSourceAudioNoDataTimeout)}),1e3))}}else Y.debugLog(K[t(688)],t(701)+K[t(619)]()+t(900)+K[t(512)])},_decodeVideo(t,r,n,i,s){const o=e;let a=t[o(1276)](5),c=a[o(1343)];if(0===c)return void Y[o(534)](K[o(688)],"_decodeVideo payload bytes is 0 and return");let u=(new Date)[o(808)](),l=!1;!K.prevTimestamp&&(K[o(639)]=u,l=!0);const d=u-K[o(639)];if(K[o(451)]=d,d>1e3&&!l&&Y.isPlayer&&Y[o(499)](K[o(688)],o(929)+u+o(1217)+K[o(639)]+o(786)+d+o(1177)),K.cacheTrack.id&&r>=K[o(801)][o(1049)]){let e=8+K[o(801)][o(903)],t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[o(806)](_a.types[o(887)],4),t[o(806)](K[o(801)][o(1012)],8),K[o(801)][o(700)]=r-K[o(801)][o(1049)];let n=_a.moof(K[o(801)],K[o(801)][o(1049)]);K[o(801)]={};let i=new Uint8Array(n[o(1343)]+t[o(1343)]);i[o(806)](n,0),i.set(t,n.byteLength),K.appendBuffer(i[o(1015)])}else Y[o(499)](K[o(688)],o(1282)+r+o(1308)+s+" cacheTrack dts is "+(K[o(801)]&&K.cacheTrack.dts)),K[o(1258)]=!1,K.cacheTrack={};!K[o(801)]&&(K.cacheTrack={}),K[o(801)].id=$e[o(1116)],K[o(801)][o(1037)]=++K[o(1037)],K[o(801)][o(903)]=c,K.cacheTrack[o(1049)]=r,K.cacheTrack[o(1018)]=i,K[o(801)][o(874)]=n,K[o(801)][o(1012)]=a,K[o(801)][o(1016)]={isLeading:0,dependsOn:n?2:1,isDependedOn:n?1:0,hasRedundancy:0,isNonSync:n?0:1},K.prevTimestamp=(new Date).getTime()},_decodeAudio(t,r,n){const i=e;let s=K.isAAC?t.slice(2):t.slice(1),o=s[i(1343)];if(K.cacheAudioTrack.id&&r>=K.cacheAudioTrack[i(1049)]){let e=8+K.cacheAudioTrack.size,t=new Uint8Array(e);t[0]=e>>>24&255,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=255&e,t[i(806)](_a[i(1118)][i(887)],4),t.set(K[i(820)][i(1012)],8),K[i(820)][i(700)]=r-K.cacheAudioTrack[i(1049)];let n=_a[i(1262)](K[i(820)],K.cacheAudioTrack[i(1049)]);K[i(820)]={};let s=new Uint8Array(n[i(1343)]+t[i(1343)]);s.set(n,0),s[i(806)](t,n[i(1343)]),K.appendAudioBuffer(s[i(1015)])}else K.cacheAudioTrack={};!K[i(820)]&&(K[i(820)]={}),K[i(820)].id=$e[i(492)],K[i(820)][i(1037)]=++K[i(779)],K[i(820)].size=o,K[i(820)][i(1049)]=r,K[i(820)].cts=0,K.cacheAudioTrack[i(1012)]=s,K[i(820)][i(1016)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}},appendBuffer(t){const r=e;Y[r(531)]?Y[r(534)](K[r(688)],r(516)):K[r(1360)]?Y[r(534)](K[r(688)],r(1085)):K.mediaSourceAppendBufferFull?Y[r(534)](K[r(688)],r(1212)):K.mediaSourceAppendBufferError?Y[r(534)](K[r(688)],r(704)):K[r(463)]?Y.debugWarn(K[r(688)],r(676)):(K[r(664)][r(729)](t),K.sourceBuffer&&(Y[r(469)][r(603)]&&K[r(645)]()&&K[r(690)](),Gt(K.getSourceBufferUpdating())&&K[r(619)]()&&Gt(K[r(777)]()))?K[r(1146)]():K[r(927)]()?(K[r(463)]=!0,K.emitError(Ce[r(1041)],r(503))):K[r(1193)]()&&(K[r(463)]=!0,K[r(1081)](Ce[r(1041)],"mediaSource is end")))},appendAudioBuffer(t){const r=e;Y[r(531)]?Y[r(534)](K[r(688)],r(567)):K[r(1360)]?Y.debugWarn(K[r(688)],r(1085)):K.mediaSourceAppendBufferFull?Y[r(534)](K[r(688)],"mseDecoder.mediaSourceAppendBufferFull is true"):K[r(589)]?Y[r(534)](K.TAG_NAME,r(704)):K[r(463)]?Y[r(534)](K[r(688)],r(676)):(K[r(1027)][r(729)](t),K.audioSourceBuffer&&(Y._opt[r(603)]&&K[r(645)]()&&K[r(690)](),Gt(K[r(678)]())&&K[r(619)]()&&Gt(K[r(777)]()))?K[r(1146)]():K.isStateClosed()?(K[r(463)]=!0,K.emitError(Ce[r(1041)],r(503))):K[r(1193)]()&&(K[r(463)]=!0,K[r(1081)](Ce[r(1041)],"mediaSource is end")))},getSourceBufferUpdating(){const t=e;return K[t(847)]&&K[t(847)][t(1167)]},getAudioSourceBufferUpdating(){const t=e;return K[t(1084)]&&K[t(1084)][t(1167)]},stop(){const t=e;K[t(966)](),K.removeSourceBuffer(),K[t(947)]()},clearUpAllSourceBuffer(){const t=e;if(K[t(847)]){const e=K[t(847)][t(1094)];for(let r=0;r0||K[t(1027)][t(660)]>0},getPendingSegmentsLength:()=>K[e(664)].length,_handleUpdatePlaybackRate(){},_doAppendSegments(){const t=e;if(K[t(927)]()||K[t(1193)]())Y[t(499)](K.TAG_NAME,t(1180));else if(null!==K[t(847)]){if(K[t(1165)]()&&null===K.audioSourceBuffer)return Y[t(499)](K.TAG_NAME,t(987)),void(null===K[t(964)]&&(K[t(964)]=setTimeout((()=>{const e=t;K._clearAudioSourceBufferCheckTimeout(),K[e(1081)](Ce[e(656)])}),1e3)));if(Gt(K.getSourceBufferUpdating())&&K[t(664)][t(660)]>0){const e=K[t(664)][t(723)]();try{K[t(847)][t(447)](e)}catch(e){Y[t(749)](K[t(688)],t(1347),e.code,e),22===e.code?(K.stop(),K[t(1063)]=!0,K[t(1081)](Ce.mediaSourceFull,t(765)+e[t(1138)]+t(450)+e[t(1171)])):11===e[t(1138)]?(K.stop(),K[t(589)]=!0,K[t(1081)](Ce[t(589)],t(765)+e[t(1138)]+t(450)+e[t(1171)])):(K.stop(),K[t(463)]=!0,K[t(1081)](Ce[t(1041)],"code is "+e[t(1138)]+t(450)+e[t(1171)]))}}if(Gt(K[t(678)]())&&K.pendingAudioSegments[t(660)]>0){const e=K[t(1027)][t(723)]();try{K[t(1084)].appendBuffer(e)}catch(e){Y[t(749)](K[t(688)],t(870),e[t(1138)],e),22===e[t(1138)]?(K[t(1046)](),K[t(1063)]=!0,K[t(1081)](Ce[t(956)],t(765)+e[t(1138)]+t(450)+e[t(1171)])):11===e[t(1138)]?(K.stop(),K.mediaSourceAppendBufferError=!0,K[t(1081)](Ce[t(589)],t(765)+e[t(1138)]+" , message is "+e[t(1171)])):(K.stop(),K[t(463)]=!0,K[t(1081)](Ce[t(1041)],e[t(1138)],"code is "+e[t(1138)]+" , message is "+e[t(1171)]))}}}else Y[t(499)](K[t(688)],t(1185))},_doCleanUpSourceBuffer(){const t=e,r=K.$video[t(866)];if(K[t(847)]){const e=K.sourceBuffer.buffered;let n=!1;for(let i=0;i=Y[t(469)].mseAutoCleanupMaxBackwardDuration){n=!0;let e=r-Y[t(469)][t(1072)];K[t(1207)][t(729)]({start:s,end:e})}}else o=Y[t(469)][t(721)]){n=!0;let e=r-Y[t(469)].mseAutoCleanupMinBackwardDuration;K[t(532)][t(729)]({start:s,end:e})}}else o0||K[t(532)][t(660)]>0},needInitAudio(){const t=e;return Y[t(469)][t(737)]&&Y._opt[t(462)]},_doRemoveRanges(){const t=e;if(K[t(847)]&&Gt(K[t(1230)]())){let e=K[t(1207)];for(;e.length&&Gt(K[t(1230)]());){let r=e[t(723)]();try{K[t(847)][t(1065)](r.start,r.end)}catch(e){Y[t(534)](K[t(688)],t(1009),e,e[t(657)]())}}}if(K[t(1084)]&&Gt(K[t(678)]())){let e=K[t(532)];for(;e[t(660)]&&Gt(K.getAudioSourceBufferUpdating());){let r=e[t(723)]();try{K[t(1084)][t(1065)](r.start,r[t(1320)])}catch(e){Y[t(534)](K[t(688)],t(572),e,e[t(657)]())}}}},_getPlaybackRate(){},_needCleanupSourceBuffer(){const t=e;if(Gt(Y[t(469)][t(603)]))return!1;const r=K[t(1038)][t(866)];if(K[t(847)]){let e=K[t(847)].buffered;if(e[t(660)]>=1&&r-e[t(698)](0)>=Y[t(469)][t(721)])return!0}if(K[t(1084)]){let e=K.audioSourceBuffer[t(1094)];if(e[t(660)]>=1&&r-e.start(0)>=Y[t(469)][t(721)])return!0}return!1},_clearAudioSourceBufferCheckTimeout(){K.audioSourceBufferCheckTimeout&&(clearTimeout(K.audioSourceBufferCheckTimeout),K.audioSourceBufferCheckTimeout=null)},_clearAudioNoDataCheckTimeout(){const t=e;K.audioSourceNoDataCheckTimeout&&(clearTimeout(K[t(1068)]),K[t(1068)]=null)},getHandle(){const t=e;return K[t(799)][t(1287)]},emitError(t){const r=e;let n=arguments[r(660)]>1&&void 0!==arguments[1]?arguments[1]:"";postMessage({cmd:be[r(483)],value:t,msg:n})}});let Y={isPlayer:!0,isHevc:null,isPlayVod:!1,isPlayback:!1,dropping:!1,isPushDropping:!1,isWorkerFetch:!1,isDestroyed:!1,fetchStatus:We[e(540)],_opt:V(),mp3Demuxer:null,delay:-1,pushLatestDelay:-1,firstTimestamp:null,startTimestamp:null,preDelayTimestamp:null,stopId:null,streamFps:null,streamAudioFps:null,streamVideoFps:null,writableStream:null,networkDelay:0,webglObj:null,startStreamRateAndStatsInterval:function(){const t=e;Y[t(506)](),d=setInterval((()=>{const e=t;l&&l(0);const r=JSON[e(1205)]({demuxBufferDelay:Y[e(1069)](),audioDemuxBufferDelay:Y[e(1369)](),streamBufferByteLength:Y.getStreamBufferLength(),netBuf:Y[e(895)]||0,pushLatestDelay:Y[e(486)]||0,latestDelay:Y[e(1251)],isStreamTsMoreThanLocal:w,wasmDecodeDelay:_-b});postMessage({cmd:be[e(735)],type:ke[e(759)],value:r})}),1e3)},stopStreamRateAndStatsInterval:function(){d&&(clearInterval(d),d=null)},useOffscreen:function(){const t=e;return Y[t(469)][t(916)]&&typeof OffscreenCanvas!=t(488)},getDelay:function(t,r){const n=e;if(!t||Y._opt[n(1033)]&&!g)return-1;if(r===we[n(492)])return Y[n(1251)];if(Y[n(828)]&&Y.preDelayTimestamp>t)return Y[n(828)]-t>1e3&&Y.debugWarn("worker",n(1001)+Y.preDelayTimestamp+" > timestamp is "+t+n(995)+(Y[n(828)]-t)+n(602)+Y[n(1251)]),Y[n(828)]=t,Y[n(1251)];if(Y[n(1367)]){if(t){const e=Date[n(986)]()-Y[n(1358)],r=t-Y.firstTimestamp;e>=r?(w=!1,Y[n(1251)]=e-r):(w=!0,Y.delay=r-e)}}else Y[n(1367)]=t,Y[n(1358)]=Date[n(986)](),Y.delay=-1;return Y[n(828)]=t,Y.delay},getDelayNotUpdateDelay:function(t,r){const n=e;if(!t||Y[n(469)].hasVideo&&!g)return-1;if(r===we[n(492)])return Y[n(486)];if(Y.preDelayTimestamp&&Y[n(828)]-t>1e3)return Y[n(534)](n(541),n(583)+Y[n(828)]+n(1233)+t+n(995)+(Y.preDelayTimestamp-t)+"ms and return -1"),-1;if(Y[n(1367)]){let e=-1;if(t){const r=Date[n(986)]()-Y[n(1358)],i=t-Y[n(1367)];r>=i?(w=!1,e=r-i):(w=!0,e=i-r)}return e}return-1},resetDelay:function(){const t=e;Y[t(1367)]=null,Y[t(1358)]=null,Y[t(1251)]=-1,Y.dropping=!1},resetAllDelay:function(){const t=e;Y[t(1075)](),Y[t(828)]=null},doDecode:function(t){const r=e;Y[r(469)][r(643)]&&t[r(1101)]===we[r(1116)]&&Y.isWorkerFetch&&Y[r(596)](t[r(1092)],t.ts),Y.isPlayUseMSEAndDecoderInWorker()?t[r(1101)]===we[r(492)]?Y[r(469)][r(462)]?K.decodeAudio(t[r(1092)],t.ts):t[r(776)].decode(t.payload,t.ts):t[r(1101)]===we[r(1116)]&&K.decodeVideo(t.payload,t.ts,t.isIFrame,t[r(1018)]):Y[r(469)][r(957)]&&Y.useOffscreen()&&t[r(1101)]===we[r(1116)]&&a[r(573)]?a[r(573)](t[r(1092)],t.ts,t[r(1018)]):t[r(776)][r(573)](t[r(1092)],t.ts,t.isIFrame,t[r(1018)])},decodeNext(t){const r=e;if(0===s[r(660)])return;const i=t.ts,o=s[0],a=t[r(1101)]===we[r(1116)]&&Wt(t[r(1092)]);if(Gt(n))a&&(Y.debugLog(r(541),"decode data type is "+t[r(1101)]+r(1375)+i+" next data type is "+o.type+" ts is "+o.ts+r(899)+a),s[r(723)](),Y[r(1141)](o));else{const e=o.ts-i,n=o.type===we[r(492)]&&t.type===we.video;(e<=20||n||a)&&(Y[r(499)](r(541),"decode data type is "+t.type+r(1375)+i+r(831)+o.type+r(1057)+o.ts+"\n diff is "+e+r(579)+n+r(694)+a),s[r(723)](),Y.doDecode(o))}},init:function(){const t=e;Y[t(499)](t(541),t(523)+n+t(620)+i+t(1246),JSON[t(1205)](Y[t(469)]));const r=Y[t(469)][t(791)]===ie.player,o=Y._opt.playType===ie[t(565)],c=Y._opt[t(791)]===ie.playVod;if($[t(1150)](),Y.isPlayer=r,Y.isPlayback=o,Y[t(1229)]=c,Y[t(1285)]()&&K&&K[t(1150)](),a&&Y[t(469)][t(957)]&&Y.useOffscreen()&&a[t(1150)](),Gt(Y[t(932)]())||Y[t(1229)]){Y[t(499)](t(541),t(1093));const e=()=>{const e=t,n=Y[e(469)][e(1144)]+Y[e(469)][e(1240)];let i=null;if(s[e(660)]){if(Y[e(764)])return void Y[e(534)](e(541),e(999)+s[e(660)]);if(Y.dropping){for(i=s.shift(),Y.debugWarn(e(541),e(452)+i[e(457)]+e(925)+Y.delay+e(1239)+s.length);!i[e(457)]&&s[e(660)];)i=s[e(723)]();const t=Y[e(837)](i.ts,i[e(1101)]);i[e(457)]&&t<=Y.getNotDroppingDelayTs()&&(Y[e(499)](e(541),e(1186)),Y[e(944)]=!1,Y[e(1141)](i),Y[e(823)](i))}else if(Y[e(891)]||Y[e(528)]()||0===Y._opt[e(1144)]||Y[e(1229)])for(;s[e(660)];)i=s[e(723)](),Y[e(1141)](i);else if(i=s[0],-1===Y[e(448)](i.ts,i[e(1101)]))Y[e(499)]("worker",e(1127),i.ts),s[e(723)](),Y[e(1141)](i),Y.decodeNext(i);else if(Y.delay>n&&r)Y.hasIframeInBufferList()?(Y[e(499)]("worker",e(1284)+Y[e(1251)]+e(1076)+n+", set dropping is true"),Y.resetAllDelay(),Y[e(944)]=!0,postMessage({cmd:be.isDropping})):(s.shift(),Y[e(1141)](i),Y.decodeNext(i));else for(;s[e(660)];){if(i=s[0],!(Y[e(448)](i.ts,i[e(1101)])>Y[e(469)][e(1144)])){Y.delay<0&&Y.debugWarn(e(541),"loop() do not decode and delay is "+Y[e(1251)]+", bufferList is "+s[e(660)]);break}s[e(723)](),Y[e(1141)](i)}}else-1!==Y[e(1251)]&&Y[e(499)](e(541),e(1129)),Y.resetAllDelay()};Y.stopId=setInterval((()=>{const r=t;let n=(new Date).getTime();!S&&(S=n);const i=n-S;i>100&&Y[r(534)](r(541),r(790)+i),e(),S=(new Date).getTime()}),20)}else Y[t(499)](t(541),"playback and playbackIsCacheBeforeDecodeForFpsRender is true");if(Gt(Y._opt[t(1030)])&&(g=!0),Y[t(1285)]()&&K){const e=K[t(1195)]();e&&postMessage({cmd:be[t(1062)],mseHandle:e},[e])}},playbackCacheLoop:function(){const t=e;Y[t(581)]();const r=()=>{const e=t;let r=null;s[e(660)]&&(r=s[e(723)](),Y.doDecode(r))};r();const n=Math[t(1121)](1e3/(Y[t(856)]*Y[t(469)][t(666)]));Y[t(499)](t(541),"playbackCacheLoop fragDuration is "+n+t(642)+Y[t(856)]+t(1174)+Y[t(1306)]+t(1243)+Y[t(626)]+t(998)+Y[t(469)].playbackRate),Y[t(689)]=setInterval(r,n)},clearPlaybackCacheLoop:function(){const t=e;Y[t(689)]&&(clearInterval(Y[t(689)]),Y[t(689)]=null)},startPlaybackCacheLoop:function(){Y[e(1371)]()},close:function(){const t=e;if(Y[t(499)](t(541),t(1112)),Y[t(531)]=!0,W(),!u||1!==u.readyState&&2!==u[t(860)]?u&&Y[t(499)](t(541),t(1032)+u[t(860)]):(z=!0,u.close(1e3,t(538))),u&&(u[t(970)]=null,u[t(1181)]=null,u[t(1070)]=null,u.onerror=null),u=null,Y[t(506)](),Y[t(689)]&&(clearInterval(Y[t(689)]),Y[t(689)]=null),Y[t(1196)]&&(Y[t(1196)][t(882)](),Y[t(1196)]=null),Y[t(740)]&&Gt(Y.writableStream[t(1324)])&&Y[t(740)].close()[t(696)]((e=>{const r=t;Y[r(499)]("worker","close() and writableStream.close() error",e[r(657)](),e)})),Y[t(740)]=null,J)try{J[t(1330)]&&J[t(1330)](),J=null}catch(e){Y[t(499)](t(541),t(1066),e[t(657)](),e)}if(Z)try{Z[t(1330)]&&Z.clear(),Z=null}catch(e){Y[t(499)](t(541),"close() and videoDecoder.clear error",e[t(657)]())}l=null,S=null,w=!1,_=0,b=0,a&&(a[t(882)]&&a[t(882)](),a=null),K&&(K[t(882)](),K=null),Y.firstTimestamp=null,Y[t(1358)]=null,Y[t(895)]=0,Y[t(856)]=null,Y[t(1306)]=null,Y[t(626)]=null,Y[t(1251)]=-1,Y[t(486)]=-1,Y[t(828)]=null,Y[t(944)]=!1,Y[t(764)]=!1,Y[t(1090)]=!0,Y[t(891)]=!1,Y.isPlayVod=!1,Y[t(640)]=!1,Y.isHevc=null,Y[t(469)]=V(),Y.webglObj&&(Y[t(1272)][t(882)](),Y[t(564)][t(834)]("webglcontextlost",Y[t(1268)]),Y[t(564)][t(834)](t(458),Y.onOffscreenCanvasWebglContextRestored),Y[t(564)]=null,Y[t(633)]=null,Y.offscreenCanvasCtx=null),s=[],o=[],h&&(h[t(1112)](),h=null),p=null,m=null,v=!1,y=!1,g=!1,F=!1,U=!1,R=!1,L=null,k=[],x=0,T=0,E=null,I=null,D=null,P=null,O=null,B=0,M=0,A=null,C=null,Y[t(883)]=We[t(540)],N=!0,$[t(882)](),G[t(882)](),q[t(882)](),X[t(882)](),Y[t(869)]=null,Y[t(469)]={},postMessage({cmd:be[t(871)]})},pushBuffer:function(t,r){const i=e;if(r[i(1101)]===we[i(492)]&&ft(t)){if(Y[i(499)](i(541),i(570)+r.ts+", isAacCodecPacket is true"),Y[i(469)][i(521)]){const e=new Uint8Array(t);postMessage({cmd:be[i(1372)],buffer:e},[e.buffer])}Y[i(1374)](t,r.ts)}else if(r[i(1101)]===we[i(1116)]&&r.isIFrame&&Wt(t)){if(Y.debugLog(i(541),i(936)+r.ts+", isVideoSequenceHeader is true"),Y[i(469)].isRecordTypeFlv){const e=new Uint8Array(t);postMessage({cmd:be[i(1286)],buffer:e},[e[i(1015)]])}Y.decodeVideo(t,r.ts,r[i(457)],r[i(1018)])}else{if(Y[i(469)][i(958)])if(Y[i(469)][i(521)]){const e=new Uint8Array(t);postMessage({cmd:be[i(732)],type:r[i(1101)],buffer:e,ts:r.ts},[e[i(1015)]])}else if(Y[i(469)][i(1248)]===se[i(1135)])if(r[i(1101)]===we[i(1116)]){const e=new Uint8Array(t).slice(5);postMessage({cmd:be.videoNalu,buffer:e,isIFrame:r[i(457)],ts:r.ts,cts:r[i(1018)]},[e[i(1015)]])}else if(r[i(1101)]===we[i(492)]&&Y[i(469)][i(928)]){const e=new Uint8Array(t),n=pt(e)?e.slice(2):e[i(1276)](1);postMessage({cmd:be.audioNalu,buffer:n,ts:r.ts},[n[i(1015)]])}if(Y[i(1090)]){if(r.type===we.video){if(B>0){const e=r.ts-P,t=B+B/2;e>t&&Y[i(499)](i(541),i(940)+r.isIFrame+i(1197)+r.ts+i(665)+P+i(1008)+e+i(1377)+B+" and maxDiff is "+t+"\n maybe trigger black screen or flower screen\n ")}if(null!==P&&P>=r.ts&&(Y.debugWarn("worker","pushBuffer() and isIFrame is "+r[i(457)]+i(1115)+r.ts+" less than (or equal) preTs is "+P+i(880)+t[i(1343)]+i(793)+M),P-r.ts>me&&(Y[i(534)]("worker","pushBuffer,\n preTimestamp is "+P+i(719)+r.ts+",\n diff is "+(P-r.ts)+" more than "+me+i(533)),Y[i(1107)](),P=null,B=0),Y[i(469)][i(798)]&&Gt(r.isIFrame)&&g)){const e=Y[i(1089)](),t=Gt(Y[i(764)]);return Y.debugLog(i(541),i(648)+e+i(1202)+t+" and next dropBuffer"),void(e&&t?Y.dropBuffer$2():(Y[i(1334)](!0),$t(Y[i(469)][i(1030)])&&$t(n)&&(Y.isPlayUseMSEAndDecoderInWorker()?K[i(502)]=!1:postMessage({cmd:be.checkFirstIFrame}))))}P>0&&(B=r.ts-P),M=t[i(1343)],P=r.ts}if(g){const e=Y._opt[i(1144)]+Y[i(469)][i(1240)],t=Y.getDelayNotUpdateDelay(r.ts,r.type);Y[i(486)]=t,Y.delay>0&&t>e&&Y[i(1251)]({type:e[i(1101)],ts:e.ts})));Y[i(499)](i(541),i(892)+t+", streamVideoFps is "+e+", bufferListLength is "+s[i(660)]+i(784)+JSON[i(1205)](r))}const r=Y[i(1369)]()>0,n=r?60:40;s[i(660)]>=n&&(Y[i(534)](i(541),"playbackCacheBeforeDecodeForFpsRender, bufferListLength is "+s[i(660)]+i(995)+n+", and hasAudio is "+r+i(943)),Y[i(626)]=25,postMessage({cmd:be.playbackStreamVideoFps,value:Y.streamVideoFps}),r?(Y[i(1306)]=25,Y.streamFps=Y.streamVideoFps+Y.streamAudioFps):Y[i(856)]=Y[i(626)],Y[i(1371)]())}}},getVideoBufferLength(){const t=e;let r=0;return s[t(757)]((e=>{e[t(1101)]===we.video&&(r+=1)})),r},hasIframeInBufferList(){const t=e;return s[t(1025)]((e=>{const r=t;return e[r(1101)]===we[r(1116)]&&e.isIFrame}))},isAllIframeInBufferList(){const t=e,r=Y[t(1069)]();let n=0;return s[t(757)]((e=>{const r=t;e[r(1101)]===we[r(1116)]&&e.isIFrame&&(n+=1)})),r===n},getNotDroppingDelayTs(){const t=e;return Y._opt[t(1144)]+Y[t(469)][t(1240)]/2},getAudioBufferLength(){const t=e;let r=0;return s[t(757)]((e=>{const n=t;e[n(1101)]===we[n(492)]&&(r+=1)})),r},getStreamBufferLength(){const t=e;let r=0;return h&&h.buffer&&(r=h[t(1015)].byteLength),Y[t(469)][t(725)]?$.lastBuf&&(r=$[t(609)][t(1343)]):Y[t(469)].isTs?X[t(685)]&&(r=X[t(685)][t(1343)]):Y[t(469)][t(878)]&&G[t(994)]&&(r=G[t(994)][t(858)]()),r},fetchStream:function(t,r){const n=e;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(Y[n(499)](n(541),n(1361)+t,"options:",JSON[n(1205)](r)),Y[n(640)]=!0,r.isFlv?Y[n(469)][n(485)]=!0:r[n(878)]?Y[n(469)].isFmp4=!0:r[n(1047)]?Y[n(469)][n(1047)]=!0:r[n(725)]?Y._opt[n(725)]=!0:r[n(1376)]&&(Y._opt.isTs=!0),l=Pt((e=>{const t=n;postMessage({cmd:be[t(735)],type:ke[t(616)],value:e})})),Y[n(1150)](),Y[n(1303)](),r[n(878)]&&G.listenMp4Box(),r[n(1216)]===re[n(545)]){r[n(485)]&&(h=new rr(Y.demuxFlv())),c=new AbortController;const e=Object[n(1113)]({signal:c[n(606)]},{headers:r[n(975)]&&r[n(975)][n(981)]||{}});fetch(t,e)[n(750)]((e=>{const t=n;if($t(z))return Y.debugLog(t(541),t(1073)),Y[t(883)]=We[t(540)],void e[t(1329)][t(551)]();if(!Ht(e))return Y[t(534)](t(541),t(1263)+e[t(839)]+t(979)+e.ok+t(651)),W(),void postMessage({cmd:be.workerFetch,type:Ce[t(829)],value:t(1263)+e[t(839)]+t(979)+e.ok});if(postMessage({cmd:be.workerFetch,type:ke[t(638)]}),Ot())Y.writableStream=new WritableStream({write:e=>{const n=t;return c&&c.signal&&c[n(606)][n(768)]?(Y[n(499)](n(541),n(1026)),void(Y[n(883)]=We[n(615)])):$t(z)?(Y[n(499)](n(541),n(1333)),Y.fetchStatus=We[n(615)],void W()):void(typeof e!==n(1134)?(Y.fetchStatus=We[n(845)],l(e[n(1343)]),r[n(485)]?h[n(1309)](e):r[n(878)]?Y.demuxFmp4(e):r.isMpeg4?Y[n(1350)](e):r[n(1376)]?Y[n(1241)](e):r[n(725)]&&Y[n(962)](e)):Y.debugWarn(n(541),'writableStream write() and value is "'+e+'" string so return'))},close:()=>{const e=t;Y[e(499)](e(541),e(730)),Y[e(883)]=We[e(615)],W(),Y.isPlayVod?Y[e(499)]("worker","writableStream close() and isPlayVod is true so return"):Y[e(469)][e(853)]?(h&&(h[e(1112)](),h=null),postMessage({cmd:be[e(735)],type:ke[e(824)],value:ne[e(545)],msg:e(1022)})):postMessage({cmd:be.workerFetch,type:ke.streamEndInner})},abort:e=>{const r=t;if(c&&c[r(606)]&&c[r(606)][r(768)])return Y[r(499)]("worker",r(1379)),void(Y.fetchStatus=We[r(615)]);h&&(h[r(1112)](),h=null),e[r(1005)]!==Ne[r(597)]?(Y[r(499)](r(541),r(1105)+e[r(657)]()),W(),postMessage({cmd:be[r(735)],type:Ce[r(829)],value:e[r(657)]()})):Y[r(499)](r(541),r(838))}}),e[t(1329)][t(598)](Y.writableStream)[t(696)]((e=>{const r=t;e.name!==r(695)&&Y.debugLog(r(541),r(1169),e[r(1005)],e.toString())}));else{const n=e[t(1329)][t(1269)](),i=()=>{const e=t;n.read()[e(750)]((t=>{const n=e;let{done:s,value:o}=t;return s?(Y[n(499)]("worker","fetchNext().then() and done is true"),Y.fetchStatus=We.complete,W(),void(Y[n(469)][n(853)]?(h&&(h[n(1112)](),h=null),postMessage({cmd:be[n(735)],type:ke.streamEnd,value:ne[n(545)],msg:n(1022)})):postMessage({cmd:be.workerFetch,type:ke[n(557)]}))):c&&c.signal&&c.signal[n(768)]?(Y.debugLog("worker",n(1326)),void(Y[n(883)]=We[n(615)])):$t(z)?(Y[n(499)](n(541),n(955)),Y[n(883)]=We[n(615)],void W()):void("string"!=typeof o?(Y.fetchStatus=We.buffering,l(o[n(1343)]),r.isFlv?h[n(1309)](o):r[n(878)]?Y[n(742)](o):r[n(1047)]?Y[n(1350)](o):r.isTs?Y[n(1241)](o):r[n(725)]&&Y.demuxNakedFlow(o),i()):Y[n(534)](n(541),'fetchNext().then() and value "'+o+'" is string so return'))}))[e(696)]((t=>{const r=e;if(c&&c[r(606)]&&c[r(606)][r(768)])return Y[r(499)](r(541),"fetchNext().catch() and abortController.signal.aborted is true so return"),void(Y[r(883)]=We[r(615)]);h&&(h[r(1112)](),h=null),t[r(1005)]!==Ne[r(597)]?(Y.debugLog(r(541),r(1247)+t[r(657)]()),W(),postMessage({cmd:be.workerFetch,type:Ce[r(829)],value:t.toString()})):Y[r(499)](r(541),r(1288))}))};i()}}))[n(696)]((e=>{const t=n;c&&c[t(606)]&&c[t(606)][t(768)]?Y[t(499)]("worker",t(1190)):e[t(1005)]!==Ne[t(597)]?(Y[t(499)](t(541),"fetch().catch() and e is "+e.toString()),W(),postMessage({cmd:be[t(735)],type:Ce.fetchError,value:e.toString()}),h&&(h[t(1112)](),h=null)):Y.debugLog(t(541),t(1117))}))}else r.protocol===re[n(646)]&&(r.isFlv&&(h=new rr(Y[n(683)]())),u=new WebSocket(t,i),u[n(854)]=n(1154),u[n(970)]=()=>{const e=n;Y[e(499)]("worker",e(713)),postMessage({cmd:be[e(735)],type:ke.streamSuccess}),postMessage({cmd:be[e(735)],type:ke[e(1088)]})},u[n(1070)]=e=>{const t=n;Y.isDestroyed?Y[t(499)]("worker",t(501)+e[t(1138)]+t(1157)):f?Y[t(499)](t(541),t(501)+e.code+t(674)):(Y.debugLog(t(541),"fetchStream, WebsocketStream socket close and code is "+e[t(1138)]),1006===e.code&&Y[t(749)](t(541),t(497)+e[t(1138)]),$t(z)?Y[t(499)]("worker","fetchStream, WebsocketStream socket close and requestAbort is true so return"):Y[t(469)][t(853)]?(h&&(h[t(1112)](),h=null),postMessage({cmd:be[t(735)],type:ke[t(824)],value:ne.websocket,msg:e[t(1138)]})):postMessage({cmd:be[t(735)],type:ke.streamEndInner}))},u[n(1366)]=e=>{const t=n;Y[t(749)](t(541),"fetchStream, WebsocketStream socket error",e,e[t(657)]()),f=!0,h&&(h[t(1112)](),h=null),Y[t(531)]?Y.debugLog(t(541),t(1086)):$t(z)?Y[t(499)]("worker",t(933)):postMessage({cmd:be.workerFetch,type:Ce[t(1023)],value:e[t(923)]?t(460):t(802)})},u.onmessage=e=>{const t=n;typeof e.data!==t(1134)?(l(e[t(1012)][t(1343)]),r[t(485)]?h[t(1309)](e[t(1012)]):r.isFmp4?Y[t(742)](e[t(1012)]):r.isMpeg4?Y[t(1350)](e.data):Y._opt[t(725)]?Y[t(962)](e.data):Y.demuxM7s(e.data)):Y[t(534)](t(541),t(474)+e[t(1012)]+t(466))})},demuxFlv:function*(){const t=e;yield 9;const r=new ArrayBuffer(4),n=new Uint8Array(r),i=new Uint32Array(r);for(;;){n[3]=0;const e=yield 15,r=e[4];n[0]=e[7],n[1]=e[6],n[2]=e[5];const s=i[0];n[0]=e[10],n[1]=e[9],n[2]=e[8],n[3]=e[11];let o=i[0];const a=(yield s)[t(1276)]();switch(r){case Se[t(492)]:if(a[t(1343)]>0){let e=a;$t(Y[t(469)][t(1120)])&&(e=Y.cryptoPayloadAudio(a)),Y.decode(e,{type:we[t(492)],ts:o})}else Y.debugWarn(t(541),"demuxFlv() type is audio and payload.byteLength is "+a[t(1343)]+t(1214));break;case Se.video:if(a.byteLength>=6){const e=a[0];if(Y[t(1340)](e))Y[t(959)](a,o);else{const e=15&a[0];let r=a[0]>>4===Ve[t(716)];const n=e===Te[t(1188)];if(t(1255),Gt(r)&&$t(Xt(a,n))&&(Y[t(499)](t(541),t(1365)),r=!0),r&&Wt(a)&&null===Y[t(761)]){const e=15&a[0];Y.isHevc=e===Te[t(1188)],L=kt(a,Y[t(761)]),Y[t(499)](t(541),t(611)+Y[t(761)]+t(1294)+L)}r&&Y[t(807)](o),Y[t(1090)]&&Y[t(1159)](o),i[0]=a[4],i[1]=a[3],i[2]=a[2],i[3]=0;let s=i[0],c=Y[t(851)](a,r);Y[t(573)](c,{type:we.video,ts:o,isIFrame:r,cts:s})}}else Y[t(534)](t(541),"demuxFlv() type is video and payload.byteLength is "+a[t(1343)]+t(1214));break;case Se[t(1010)]:postMessage({cmd:be[t(491)],buffer:a},[a[t(1015)]]);break;default:Y[t(499)](t(541),t(717)+r)}}},decode:function(t,r){const n=e;r[n(1101)]===we[n(492)]?Y._opt[n(737)]&&(postMessage({cmd:be.workerFetch,type:ke[n(1153)],value:t[n(1343)]}),Y[n(1090)]?Y[n(585)](t,{type:r[n(1101)],ts:r.ts,cts:r[n(1018)]}):Y.isPlayback?Y.isPlaybackOnlyDecodeIFrame()||(Y.isPlaybackCacheBeforeDecodeForFpsRender()?Y[n(585)](t,{type:r[n(1101)],ts:r.ts,cts:r.cts}):Y.pushBuffer(t,{type:r.type,ts:r.ts,cts:r[n(1018)]})):Y[n(1229)]&&Y[n(585)](t,{type:r[n(1101)],ts:r.ts,cts:r[n(1018)]})):r[n(1101)]===we.video&&Y[n(469)][n(1033)]&&(postMessage({cmd:be[n(735)],type:ke.streamVbps,value:t.byteLength}),postMessage({cmd:be[n(735)],type:ke[n(827)],value:r.ts}),Y[n(1090)]?Y[n(585)](t,{type:r[n(1101)],ts:r.ts,isIFrame:r[n(457)],cts:r[n(1018)]}):Y[n(891)]?Y[n(1281)]()?r[n(457)]&&Y.pushBuffer(t,{type:r[n(1101)],ts:r.ts,cts:r[n(1018)],isIFrame:r[n(457)]}):Y[n(932)]()?Y.pushBuffer(t,{type:r[n(1101)],ts:r.ts,cts:r.cts,isIFrame:r[n(457)]}):Y[n(585)](t,{type:r[n(1101)],ts:r.ts,cts:r[n(1018)],isIFrame:r.isIFrame}):Y[n(1229)]&&Y.pushBuffer(t,{type:r.type,ts:r.ts,cts:r[n(1018)],isIFrame:r[n(457)]}))},cryptoPayload:function(t,r){const n=e;let i=t;return Y[n(469)][n(1003)]?Y[n(469)][n(1114)]&&Y._opt[n(1114)][n(1343)]>0&&Y[n(469)][n(1155)]&&Y[n(469)].cryptoKey.byteLength>0?i=yo(t,Y._opt[n(1155)],Y._opt[n(1114)],Y[n(761)]):Y.debugError(n(541),n(946)+(Y._opt[n(1155)]&&Y._opt[n(1155)].byteLength)+" or cryptoIV.length is "+(Y[n(469)][n(1114)]&&Y[n(469)][n(1114)][n(1343)])+n(1215)):Y[n(469)][n(1368)]?Y[n(469)][n(649)]?i=Y[n(469)].cryptoIV&&Y[n(469)][n(1114)][n(1343)]>0&&Y[n(469)][n(1155)]&&Y[n(469)][n(1155)].byteLength>0?uc(t,Y[n(469)][n(1155)],Y[n(469)][n(1114)],Y[n(761)],Y._opt[n(996)]):Yo(t,Y[n(469)][n(649)],Y[n(761)],Y[n(469)].isSm4CryptoH265V2):!Y._opt[n(649)]&&Y.debugError(n(541),n(605)):Y._opt[n(733)]&&(Y[n(469)][n(1114)]&&Y[n(469)].cryptoIV[n(1343)]>0&&Y[n(469)].cryptoKey&&Y[n(469)][n(1155)][n(1343)]>0?i=la(t,Y._opt[n(1155)],Y[n(469)][n(1114)],Y[n(761)]):Y.debugError("worker",n(1250)+(Y[n(469)][n(1155)]&&Y[n(469)][n(1155)][n(1343)])+n(644)+(Y._opt[n(1114)]&&Y._opt[n(1114)][n(1343)])+" null")),i},cryptoPayloadAudio:function(t){const r=e;let n=t;return Y[r(469)].isM7sCrypto&&(Y._opt[r(1114)]&&Y[r(469)].cryptoIV.byteLength>0&&Y[r(469)].cryptoKey&&Y[r(469)][r(1155)][r(1343)]>0?t[0]>>4===Pe.AAC&&(n=_o(t,Y[r(469)][r(1155)],Y[r(469)][r(1114)])):Y[r(749)](r(541),r(946)+(Y[r(469)][r(1155)]&&Y[r(469)][r(1155)][r(1343)])+r(644)+(Y._opt[r(1114)]&&Y._opt[r(1114)].byteLength)+r(1215))),n},setCodecAudio:function(t,r){const n=e,s=t[0]>>4,o=t[0]>>1&1;if(O=s===Pe[n(961)]?o?16:8:0===o?8:16,J&&J.setCodec||!Gt(i))if(ft(t)||s===Pe[n(449)]||s===Pe[n(1097)]||s===Pe[n(789)]){Y.debugLog(n(541),n(1014)+s+n(459)+Y[n(469)][n(1370)]);const e=s===Pe[n(961)]?t.slice(2):new Uint8Array(0);if(i){if(s===Pe[n(789)])return void Y.debugError(n(541),n(905));J[n(1289)]=Y[n(469)].sampleRate,J[n(573)](t,r)}else J[n(577)](s,Y[n(469)].sampleRate,e,Y.getBuildTime());s===Pe[n(961)]&&postMessage({cmd:be.audioAACSequenceHeader,buffer:e},[e.buffer]),y=!0,s!==Pe[n(961)]&&(s===Pe.MP3?(!Y.mp3Demuxer&&(Y[n(1196)]=new sa(Y),Y[n(1196)].on(n(1012),((e,t)=>{J[n(573)](e,t)}))),Y[n(1196)][n(1048)](t[n(1276)](1),r)):J.decode(t[n(1276)](1),r));const o=Number("1")||1;setTimeout((()=>{const e=n;Y[e(749)](e(541),e(496)),Y.close(),postMessage({cmd:be.workerEnd})}),60*o*60*1e3)}else Y[n(534)](n(541),"setCodecAudio: hasInitAudioCodec is false, codecId is ",s);else Y.debugError(n(541),n(519))},decodeAudio:function(t,r){const s=e;if(Y[s(531)])Y[s(499)](s(541),s(1158));else if(Y[s(677)]())K[s(1374)](t,r);else if($t(n)&&$t(Y[s(469)][s(462)]))postMessage({cmd:be[s(754)],payload:t,ts:r,cts:r},[t.buffer]);else{const e=t[0]>>4;if(y){if(ft(t))return void Y[s(499)](s(541),s(641));i?J.decode(t,r):e===Pe[s(789)]?Y[s(1196)][s(1048)](t[s(1276)](1),r):J[s(573)](e===Pe.AAC?t[s(1276)](2):t[s(1276)](1),r)}else Y[s(637)](t,r)}},setCodecVideo:function(t,r){const n=e,s=15&t[0];if(Z&&Z[n(577)]||!Gt(i))if(Wt(t))if(s===Te[n(1255)]||s===Te[n(1188)]){Y[n(499)]("worker",n(1353)+s);const e=t[n(1276)](5);if(s===Te[n(1255)]&&Y[n(469)][n(1e3)]){const t=_r(e);if(t[n(1338)]>ve||t[n(797)]>ve)return postMessage({cmd:be[n(941)],value:"width: "+t[n(1338)]+" > 4080, height: "+t.codecHeight+n(554)+ve}),void Y[n(534)]("worker",n(1321)+t.codecWidth+n(588)+t.codecHeight)}const r=new Uint8Array(t);v=!0,i?Z.decode(t,0):Z[n(577)](s,e,Y.getBuildTime()),postMessage({cmd:be[n(812)],code:s}),postMessage({cmd:be[n(1260)],buffer:r,codecId:s},[r[n(1015)]])}else Y[n(534)](n(541),"setCodecVideo: hasInitVideoCodec is false, codecId is "+s+" is not H264 or H265");else Y.debugWarn("worker",n(692)+s+n(1319)+r+n(647)+t[1]);else Y[n(749)](n(541),n(1178))},decodeVideo:function(t,r,s){const o=e;let a=arguments[o(660)]>3&&void 0!==arguments[3]?arguments[3]:0;if(Y[o(531)])Y[o(499)]("worker","decodeVideo, decoder is destroyed and return");else if(Y[o(1285)]())K[o(850)](t,r,s,a);else if($t(n))postMessage({cmd:be[o(1137)],payload:t,isIFrame:s,ts:r,cts:a,delay:Y.delay},[t.buffer]);else if(v)if(!g&&s&&(g=!0),g){if(s&&Wt(t)){const e=15&t[0];let r={};e===Te[o(1255)]?r=_r(t.slice(5)):e===Te[o(1188)]&&(r=Kr(t)),r[o(1338)]&&r[o(797)]&&p&&m&&(r[o(1338)]!==p||r[o(797)]!==m)&&(Y[o(534)](o(541),o(652)+p+", old height is "+m+o(907)+r.codecWidth+o(1351)+r[o(797)]+o(1209)),U=!0,postMessage({cmd:be.wasmWidthOrHeightChange,value:o(1356)+p+"->"+r[o(1338)]+o(1357)+m+"->"+r[o(797)]}))}if(U)return void Y[o(534)](o(541),o(840));if(R)return void Y.debugWarn(o(541),o(610));if(Wt(t))return void Y[o(499)](o(541),o(659));if(t.byteLength0&&void 0!==arguments[0]&&arguments[0];Y[t(499)](t(541),t(684)+s.length+t(1189)+r),r&&(s=[]),Y[t(1090)]&&(Y.resetAllDelay(),$t(Y[t(469)][t(1030)])&&(Y[t(944)]=!0,postMessage({cmd:be[t(454)]}))),$t(Y[t(469)].checkFirstIFrame)&&Gt(n)&&(g=!1)},dropBuffer$2:function(){const t=e;if(s.length>0){let e=s.findIndex((e=>$t(e[dc(457)])&&e.type===we.video));if(Y.isAllIframeInBufferList())for(let r=0;r=Y.getNotDroppingDelayTs()){Y[t(499)](t(541),t(472)+r+" and tempDelay is "+i+t(679)+Y[t(662)]()),e=r;break}}if(e>=0){Y[t(764)]=!0,postMessage({cmd:be[t(454)]});const r=s[t(660)];s=s.slice(e);const n=s[t(723)]();Y[t(1107)](),Y.getDelay(n.ts,n.type),Y[t(1141)](n),Y[t(764)]=!1,Y.debugLog(t(541),t(650)+e+t(552)+r+" ,new bufferList is "+s.length+t(509)+Y[t(1251)]+" ")}else Y.isPushDropping=!1}0===s[t(660)]&&(Y.isPushDropping=!1)},demuxM7s:function(t){const r=e,n=new DataView(t),i=n.getUint32(1,!1),s=n[r(1219)](0),o=new ArrayBuffer(4),a=new Uint32Array(o);switch(s){case we[r(492)]:Y[r(573)](new Uint8Array(t,5),{type:we.audio,ts:i});break;case we[r(1116)]:if(n[r(1343)]>=11){const e=new Uint8Array(t,5),s=e[0];if(Y[r(1340)](s))Y[r(959)](e,i);else{const t=n[r(1219)](5)>>4==1;if(t&&(Y[r(807)](i),Wt(e)&&null===Y[r(761)])){const t=15&e[0];Y[r(761)]=t===Te[r(1188)]}Y[r(1090)]&&Y[r(1159)](i),a[0]=e[4],a[1]=e[3],a[2]=e[2],a[3]=0;let s=a[0],o=Y[r(851)](e,t);Y[r(573)](o,{type:we[r(1116)],ts:i,isIFrame:t,cts:s})}}else Y[r(534)](r(541),"demuxM7s() type is video and arrayBuffer length is "+t[r(1343)]+r(1214))}},demuxNakedFlow:function(t){$[e(1048)](t)},demuxFmp4:function(t){G[e(1048)](t)},demuxMpeg4:function(t){q[e(1048)](t)},demuxTs:function(t){X[e(1048)](t)},_decodeEnhancedH265Video:function(t,r){const n=e,i=t[0],s=48&i,o=15&i,a=t[n(1276)](1,5),c=new ArrayBuffer(4),u=new Uint32Array(c),l="a"==String[n(819)](a[0]);if(Y[n(761)]=Gt(l),o===qe[n(613)]){if(s===Xe[n(711)]){const e=t.slice(5);if(l);else{const i=new Uint8Array(5+e[n(660)]);i.set([28,0,0,0,0],0),i.set(e,5),L=kt(t,Y[n(761)]),Y[n(499)](n(541),n(753)+Y[n(761)]+n(1294)+L),Y[n(573)](i,{type:we[n(1116)],ts:r,isIFrame:!0,cts:0})}}}else if(o===qe[n(1220)]){let e=t,i=0;const o=s===Xe.FT_KEY;o&&Y.calcIframeIntervalTimestamp(r),l||(u[0]=t[4],u[1]=t[3],u[2]=t[2],u[3]=0,i=u[0],e=en(t.slice(8),o),e=Y[n(851)](e,o),Y[n(573)](e,{type:we[n(1116)],ts:r,isIFrame:o,cts:i}))}else if(o===qe[n(864)]){const e=s===Xe.FT_KEY;e&&Y[n(807)](r);let i=en(t[n(1276)](5),e);i=Y[n(851)](i,e),Y[n(573)](i,{type:we.video,ts:r,isIFrame:e,cts:0})}},_isEnhancedH265Header:function(e){return(e&Ge)===Ge},findSei:function(t,r){const n=e;let i=4;Ut(L)&&(i=L),wt(t[n(1276)](5),i)[n(757)]((e=>{const t=n,i=Y[t(761)]?e[0]>>>1&63:31&e[0],s=Y.isHevc&&(i===Me.suffixSei||i===Me[t(629)]),o=Gt(Y[t(761)])&&i===Be.kSliceSEI;if(s||o){const n=St(e,Y[t(761)]);postMessage({cmd:be[t(1175)],buffer:n.payload,ts:r},[n[t(1092)].buffer])}}))},calcNetworkDelay:function(t){const r=e;if(!(g&&t>0))return;null===E?(E=t,I=xt()):tn?i-n:0;Y[r(895)]=s,s>Y[r(469)][r(895)]&&Y[r(469)][r(791)]===ie[r(681)]&&(Y[r(534)]("worker",r(569)+t+", start dts is "+E+r(634)+n+r(1254)+i+" ,delay is "+s),postMessage({cmd:be[r(735)],type:ke[r(1346)],value:s}))},calcIframeIntervalTimestamp:function(e){null===D?D=e:D=Y[t(469)][t(1082)]&&!(Y[t(469)][t(763)]&&Y[t(469)][t(462)])},isPlayUseMSE:function(){const t=e;return Y[t(1090)]&&Y._opt[t(763)]&&$t(n)},isPlayUseMSEAndDecoderInWorker:function(){const t=e;return Y[t(528)]()&&Y[t(469)][t(1245)]},isPlayUseMSEAndDecoderInWorkerAndMseDecodeAudio:function(){const t=e;return Y[t(1285)]()&&Y[t(469)][t(462)]},playbackUpdatePlaybackRate:function(){const t=e;Gt(Y.isPlaybackCacheBeforeDecodeForFpsRender())&&Y[t(1334)](!0)},onOffscreenCanvasWebglContextLost:function(t){const r=e;Y[r(749)](r(541),r(537)),t.preventDefault(),F=!0,Y[r(1272)][r(882)](),Y[r(1272)]=null,Y[r(633)]=null,setTimeout((()=>{const e=r;Y[e(633)]=Y[e(564)][e(771)]("webgl"),Y[e(633)]&&Y[e(633)].getContextAttributes().stencil?(Y[e(1272)]=ee(Y[e(633)],Y[e(469)][e(473)]),F=!1):Y[e(749)](e(541),"handleOffscreenCanvasWebglContextLost, stencil is false")}),500)},onOffscreenCanvasWebglContextRestored:function(t){const r=e;Y[r(499)](r(541),r(1182)),t.preventDefault()},videoInfo:function(t,r,n){const i=e;postMessage({cmd:be.videoCode,code:t}),postMessage({cmd:be[i(809)],w:r,h:n}),p=r,m=n,Y.useOffscreen()&&(Y.offscreenCanvas=new OffscreenCanvas(r,n),Y[i(633)]=Y[i(564)].getContext(i(490)),Y.webglObj=ee(Y[i(633)],Y[i(469)][i(473)]),Y[i(564)][i(884)](i(917),Y.onOffscreenCanvasWebglContextLost,!1),Y[i(564)][i(884)](i(458),Y[i(699)],!1))},audioInfo:function(t,r,n){const i=e;postMessage({cmd:be[i(1244)],code:t}),postMessage({cmd:be[i(898)],sampleRate:r,channels:n,depth:O}),T=n},yuvData:function(r,n){const i=e;if(Y[i(531)])return void Y[i(499)](i(541),i(584));const s=p*m*3/2;let o=t[i(872)][i(904)](r,r+s),a=new Uint8Array(o);if(A=null,b=n,Y.useOffscreen())try{if(F)return;Y[i(1272)].renderYUV(p,m,a);let e=Y.offscreenCanvas[i(862)]();postMessage({cmd:be[i(1311)],buffer:e,delay:Y.delay,ts:n},[e])}catch(e){Y[i(749)](i(541),i(1312),e,e.toString())}else postMessage({cmd:be[i(1311)],output:a,delay:Y[i(1251)],ts:n},[a[i(1015)]])},pcmData:function(t,n,i){const s=e;if(Y[s(531)])return void Y[s(499)]("worker",s(480));let a=n,c=[],u=0,l=Y._opt[s(875)];for(let e=0;e<2;e++){let n=r[s(1203)][(t>>2)+e]>>2;c[e]=r[s(804)].subarray(n,n+a)}if(x){if(!(a>=(n=l-x)))return x+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==T&&(o[1]=Float32Array.of(...o[1],...c[1])));k[0]=Float32Array.of(...o[0],...c[0][s(904)](0,n)),2==T&&(k[1]=Float32Array.of(...o[1],...c[1][s(904)](0,n))),postMessage({cmd:be[s(1004)],buffer:k,ts:i},k[s(852)]((e=>e[s(1015)]))),u=n,a-=n}for(x=a;x>=l;x-=l)k[0]=c[0][s(1276)](u,u+=l),2==T&&(k[1]=c[1][s(1276)](u-l,u)),postMessage({cmd:be[s(1004)],buffer:k,ts:i},k.map((e=>e[s(1015)])));x&&(o[0]=c[0][s(1276)](u),2==T&&(o[1]=c[1].slice(u))),c=[]},errorInfo:function(t){const r=e;null===A&&(A=xt());const n=xt(),i=Tt(C>0?2*C:5e3,1e3,5e3),s=n-A;s>i&&(Y[r(534)](r(541),"errorInfo() emit simdDecodeError and\n iframeIntervalTimestamp is "+C+" and diff is "+s+r(547)+i+r(1051)),R=!0,postMessage({cmd:be[r(1095)]}))},sendWebsocketMessage:function(t){const r=e;u?u[r(860)]===xe?u[r(1002)](t):Y[r(749)]("worker",r(1145)):Y[r(749)]("worker","socket is null")},timeEnd(){const t=e;Y[t(749)]("worker",t(496)),Y.close(),postMessage({cmd:be[t(1355)]})},postStreamToMain(t,r){const n=e;postMessage({cmd:be[n(559)],type:r,buffer:t},[t[n(1015)]])},updatePlaybackIsPause(t){const r=e;Y.debugLog(r(541),r(1035)+t),$t(t)?Y[r(581)]():Y[r(561)]()},getBuildTime:()=>fe+"-"+pe,validatedFailed(){const t=e;Y[t(749)](t(541),t(1156))},debugLog(t){const r=e;if(Y._opt.debug&&Y[r(869)]){for(var n=arguments[r(660)],i=new Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s1?n-1:0),s=1;s>2,p=t,m=r,postMessage({cmd:be[n(809)],w:t,h:r}),Y[n(916)]()&&(Y.offscreenCanvas=new OffscreenCanvas(t,r),Y.offscreenCanvasGL=Y.offscreenCanvas.getContext(n(490)),Y[n(1272)]=ee(Y[n(633)],Y[n(469)][n(473)]),Y[n(564)][n(884)](n(917),Y.onOffscreenCanvasWebglContextLost,!1),Y.offscreenCanvas[n(884)](n(458),Y.onOffscreenCanvasWebglContextRestored,!1))},initAudioPlanar:function(t,r){T=t,postMessage({cmd:be[e(898)],sampleRate:r,channels:t,depth:O})},playAudioPlanar:function(t,n,i){const s=e;if(Y[s(531)])return void Y[s(499)]("worker",s(480));let a=n,c=[],u=0,l=Y[s(469)].audioBufferSize;for(let e=0;e<2;e++){let n=r[s(1203)][(t>>2)+e]>>2;c[e]=r[s(804)][s(904)](n,n+a)}if(x){if(!(a>=(n=l-x)))return x+=a,o[0]=Float32Array.of(...o[0],...c[0]),void(2==T&&(o[1]=Float32Array.of(...o[1],...c[1])));k[0]=Float32Array.of(...o[0],...c[0][s(904)](0,n)),2==T&&(k[1]=Float32Array.of(...o[1],...c[1][s(904)](0,n))),postMessage({cmd:be.playAudio,buffer:k,ts:i},k[s(852)]((e=>e.buffer))),u=n,a-=n}for(x=a;x>=l;x-=l)k[0]=c[0][s(1276)](u,u+=l),2==T&&(k[1]=c[1][s(1276)](u-l,u)),postMessage({cmd:be[s(1004)],buffer:k,ts:i},k[s(852)]((e=>e[s(1015)])));x&&(o[0]=c[0].slice(u),2==T&&(o[1]=c[1][s(1276)](u))),c=[]},draw:function(r,n,i,s){const o=e;if(Y.isDestroyed)return void Y.debugLog(o(541),o(563));const a=t[o(872)][o(904)](n,n+j),c=t[o(872)][o(904)](i,i+H),u=t[o(872)][o(904)](s,s+H),l=new Uint8Array(j+H+H);if(l[o(806)](a),l.set(c,j),l[o(806)](u,j+H),A=null,b=r,Y.useOffscreen())try{if(F)return;Y[o(1272)].renderYUV(p,m,l);let e=Y[o(564)].transferToImageBitmap();postMessage({cmd:be[o(1311)],buffer:e,delay:Y[o(1251)],ts:r},[e])}catch(e){Y[o(749)](o(541),"yuvData, transferToImageBitmap error is",e,e[o(657)]())}else postMessage({cmd:be[o(1311)],output:l,delay:Y[o(1251)],ts:r},[l.buffer])}}));let J=null;r.AudioDecoder&&(J=new(r[e(1224)])(Y));let Z=null;t[e(1314)]&&(Z=new(t[e(1314)])(Y)),postMessage({cmd:be[e(1150)]}),self[e(1181)]=function(t){const r=e;let n=t[r(1012)];switch(n.cmd){case Ee.init:try{Y[r(469)]=Object[r(1113)](Y[r(469)],JSON[r(1164)](n[r(1031)]))}catch(e){}Y.debugLog("worker",r(671)+Ee[r(1150)],n.opt);break;case Ee[r(573)]:Y[r(585)](n[r(1015)],n[r(975)]);break;case Ee[r(476)]:Y[r(1374)](n[r(1015)],n.ts);break;case Ee[r(1279)]:Y[r(850)](n[r(1015)],n.ts,n[r(457)]);break;case Ee[r(1334)]:Y[r(1334)](n[r(762)]);break;case Ee[r(950)]:Y[r(950)](n[r(967)],JSON[r(1164)](n[r(1031)]),n[r(842)]);break;case Ee[r(1112)]:Y[r(499)](r(541),r(671)+Ee[r(1112)],JSON[r(1205)](n[r(975)])),n.options&&Gt(n[r(975)][r(885)])&&(N=n[r(975)][r(885)]),Y[r(1112)]();break;case Ee.updateConfig:Y[r(499)]("worker",r(671)+Ee[r(1359)],n[r(621)],n[r(954)]),Y[r(469)][n[r(621)]]=n[r(954)],"playbackRate"===n[r(621)]&&(Y[r(849)](),Y[r(932)]()&&Y[r(1371)]());break;case Ee.sendWsMessage:Y.sendWebsocketMessage(n[r(1171)]);break;case Ee[r(1043)]:K[r(1038)][r(866)]=Number(n[r(1171)]);break;case Ee.playbackIsPause:Y[r(1152)](n[r(636)])}}}(e[1],t)}))})); diff --git a/demo/public/pro/js/jessibuca-pro-demo.js b/demo/public/pro/js/jessibuca-pro-demo.js index 0263fdab..024e15d6 100644 --- a/demo/public/pro/js/jessibuca-pro-demo.js +++ b/demo/public/pro/js/jessibuca-pro-demo.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["jessibuca-demo"]=t(e.crypto$1)}(this,(function(t){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=s(t);const a=1,o=2,n=3,l=4,d=5,h=6,c=["","websocket","fetch","hls","webrtc","webTransport","aliyunRtc","ts"],u="fetch",p="hls",m="websocket",f="webrtc",g="webTransport",y="worker",A="aliyunRtc",b="mp4",v="player",_="playerAudio",S="playbackTF",E="playVod",T="mp4",w="webm",k="flv",L="flv",C="m7s",D="hls",x="webrtc",R="webTransport",P="nakedFlow",I="fmp4",B="mpeg4",M="aliyunRtc",F="ts",U={flv:"FLV",m7s:"M7S",hls:"HLS",fmp4:"FMP4",mpeg4:"MPEG4",webrtc:"Webrtc",webTransport:"WebTransport",nakedFlow:"裸流",aliyunRtc:"AliyunRtc",ts:"TS"},O="mse",N="wcs",j="offscreen",G="wasm",V="simd",W="mt",z="webrtc",$="hls",H="aliyunRtc",J="canvas",q="video",K="debug",Y="warn",Q="click",X="mouseDownAndUp",Z={normal:"normal",simple:"simple"},ee="normal",te="small",ie=36e5,se="/crypto/",re="jbprov",ae=1e4,oe={playType:v,videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:Y,debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:ee,loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:"decoder-pro.js",decoderOld:"decoder-pro-old.js",decoderAudio:"decoder-pro-audio.js",decoderHard:"decoder-pro-hard.js",decoderHardNotWasm:"decoder-pro-hard-not-wasm.js",wasmMp4RecorderDecoder:"jessibuca-pro-mp4-recorder-decoder.js",decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:"none",aspectRatio:"default",playbackConfig:{playList:[],fps:"",showControl:!0,controlType:Z.normal,duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:o,demuxType:L,useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:G,autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:T,checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:"vertical",ptzClickType:Q,ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:{playIsNotPauseOrUrlIsNull:"播放地址不能为空",webglAlignmentError:"Webgl 渲染失败",webglContextLostError:"webgl 上下文丢失",mediaSourceH265NotSupport:"不支持硬解码H265",mseSourceBufferFull:"缓冲区已满",mediaSourceAppendBufferError:"初始化解码器失败",mseSourceBufferError:"解码失败",mseAddSourceBufferError:"初始化解码器失败",mseWorkerAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:"初始化解码器失败",mediaSourceTsIsMaxDiff:"流异常",mseWidthOrHeightChange:"流异常",mediaSourceAudioG711NotSupport:"硬解码不支持G711a/u音频格式",mediaSourceAudioInitTimeout:"初始化音频解码器失败",mediaSourceAudioNoDataTimeout:"等待音频数据超时",mediaSourceUseCanvasRenderPlayFailed:"MediaSource解码使用canvas渲染失败",mediaSourceBufferedIsZeroError:"流异常",webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:"初始化解码器失败",webcodecsDecodeConfigureError:"初始化解码器失败",webcodecsDecodeError:"解码失败",webcodecsAudioInitTimeout:"初始化音频解码器失败",webcodecsAudioNoDataTimeout:"等待音频数据超时",wcsWidthOrHeightChange:"解码失败",wasmDecodeError:"解码失败",simdDecodeError:"解码失败",wasmWidthOrHeightChange:"流异常",wasmUseVideoRenderError:"video自动渲染失败",videoElementPlayingFailed:"video自动渲染失败",simdH264DecodeVideoWidthIsTooLarge:"不支持该分辨率的视频",networkDelayTimeout:"网络超时重播失败",fetchError:"请求失败",streamEnd:"请求结束",websocket1006Error:"流异常结束",websocketError:"请求失败",webrtcError:"请求失败",hlsError:"请求失败",decoderWorkerInitError:"初始化worker失败",decoderWorkerWasmError:"wasm解码失败",videoElementPlayingFailedForWebrtc:"video自动渲染失败",videoInfoError:"解析视频分辨率失败",webrtcStreamH265:"webrtc不支持H265",delayTimeout:"播放超时重播失败",loadingTimeout:"加载超时重播失败",loadingTimeoutRetryEnd:"加载超时重播失败",delayTimeoutRetryEnd:"播放超时重播失败",flvDemuxBufferSizeTooLarge:"FLV待解封装buffer过大",audioChannelError:"音频通道错误",aliyunRtcError:"请求失败",mseWaitVideoCanplayTimeout:"流异常",initDecoderWorkerTimeout:"初始化解码worker超时"},videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:q,webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:"white",opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:"white",opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:"red",drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0},ne={playType:oe.playType,playbackForwardMaxRateDecodeIFrame:oe.playbackForwardMaxRateDecodeIFrame,isMulti:oe.isMulti,isM7sCrypto:oe.isM7sCrypto,supportHls265:oe.supportHls265,pauseAndNextPlayUseLastFrameShow:oe.pauseAndNextPlayUseLastFrameShow,widthOrHeightChangeReplayDelayTime:oe.widthOrHeightChangeReplayDelayTime,controlSize:oe.controlSize,multiIndex:oe.multiIndex,isFlv:oe.isFlv,isFmp4:oe.isFmp4,isMpeg4:oe.isMpeg4,isNakedFlow:oe.isNakedFlow,isHls:oe.isHls,isWebrtc:oe.isWebrtc,isWebrtcForZLM:oe.isWebrtcForZLM,isWebrtcForSRS:oe.isWebrtcForSRS,isWebrtcForOthers:oe.isWebrtcForOthers,isAliyunRtc:oe.isAliyunRtc,isTs:oe.isTs,url:"",container:"",playbackConfig:{},playVodConfig:{},fullscreenWatermarkConfig:{},playbackForwardMaxRatePlayAudio:!1,playOptions:{},isLive:!0,playFailedUseLastFrameShow:!0,playFailedAndPausedShowMessage:!0,isUseNewFullscreenWatermark:!0,websocket1006ErrorReplay:!0,websocket1006ErrorReplayDelayTime:1,streamErrorReplay:!1,streamErrorReplayDelayTime:1,streamEndReplay:!1,streamEndReplayDelayTime:1,networkDisconnectReplay:!0,loadingTimeoutRetryEndShowPlayBtn:!0,initDecoderWorkerTimeout:10},le="init",de="initVideo",he="render",ce="playAudio",ue="initAudio",pe="audioCode",me="audioNalu",fe="audioAACSequenceHeader",ge="videoCode",ye="videoCodec",Ae="videoNalu",be="videoPayload",ve="audioPayload",_e="workerFetch",Se="iframeIntervalTs",Ee="isDropping",Te="workerEnd",we="playbackStreamVideoFps",ke="wasmWidthOrHeightChange",Le="simdDecodeError",Ce="simdH264DecodeVideoWidthIsTooLarge",De="closeEnd",xe="tempStream",Re="videoSEI",Pe="flvScriptData",Ie="aacSequenceHeader",Be="videoSequenceHeader",Me="flvBufferData",Fe="checkFirstIFrame",Ue="mseHandle",Oe="mseFirstRenderTime",Ne="mseError",je="notSupportNewWasm",Ge=1,Ve=2,We=8,ze=9,$e=18,He="init",Je="decode",qe="audioDecode",Ke="videoDecode",Ye="close",Qe="updateConfig",Xe="clearBuffer",Ze="fetchStream",et="sendWsMessage",tt="mseUpdateVideoTimestamp",it="playbackIsPause",st="fetch",rt="destroy",at="destroyEnd",ot="buffer",nt="fetchError",lt="fetchClose",dt="fetchSuccess",ht="fetch",ct="sendMessage",ut="destroy",pt="destroyEnd",mt="buffer",ft="websocketError",gt="websocketClose",yt="websocketOpen",At={fullscreen:"fullscreen$2",webFullscreen:"webFullscreen",decoderWorkerInit:"decoderWorkerInit",play:"play",playing:"playing",pause:"pause",mute:"mute",load:"load",loading:"loading",zooming:"zooming",drawingRect:"drawingRect",drawingRectInfo:"drawingRectInfo",videoInfo:"videoInfo",timeUpdate:"timeUpdate",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",delayTimeout:"delayTimeout",delayTimeoutRetryEnd:"delayTimeoutRetryEnd",loadingTimeout:"loadingTimeout",loadingTimeoutRetryEnd:"loadingTimeoutRetryEnd",stats:"stats",performance:"performance",videoSmooth:"videoSmooth",faceDetectActive:"faceDetectActive",objectDetectActive:"objectDetectActive",occlusionDetectActive:"occlusionDetectActive",imageDetectActive:"imageDetectActive",record:"record",recording:"recording",recordingTimestamp:"recordingTimestamp",recordStart:"recordStart",recordEnd:"recordEnd",recordCreateError:"recordCreateError",recordBlob:"recordBlob",recordCancel:"recordCancel",buffer:"buffer",videoFrame:"videoFrame",videoSEI:"videoSEI",videoSEISyncPts:"videoSEISyncPts",start:"start",metadata:"metadata",resize:"resize",volumechange:"volumechange",volume:"volume",destroy:"destroy",beforeDestroy:"beforeDestroy",streamEnd:"streamEnd",streamRate:"streamRate",streamAbps:"streamAbps",streamVbps:"streamVbps",streamDts:"streamDts",streamSuccess:"streamSuccess",streamMessage:"streamMessage",streamError:"streamError",streamStats:"streamStats",streamEndInner:"streamEndInner",mseSourceOpen:"mseSourceOpen",mseSourceClose:"mseSourceClose",mseSourceended:"mseSourceended",mseSourceStartStreaming:"mseSourceStartStreaming",mseSourceEndStreaming:"mseSourceEndStreaming",mseSourceBufferError:"mseSourceBufferError",mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:"mseWorkerAddSourceBufferError",mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:"mseSourceBufferFull",videoWaiting:"videoWaiting",videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:"videoSyncAudio",playToRenderTimes:"playToRenderTimes",playbackTime:"playbackTime",playbackTimestamp:"playbackTimestamp",playbackTimeScroll:"playbackTimeScroll",playbackPrecision:"playbackPrecision",playbackShowPrecisionChange:"playbackShowPrecisionChange",playbackJustTime:"playbackJustTime",playbackStats:"playbackStats",playbackSeek:"playbackSeek",playbackPause:"playbackPause",playbackPauseOrResume:"playbackPauseOrResume",playbackRateChange:"playbackRateChange",playbackPreRateChange:"playbackPreRateChange",playbackEnd:"playbackEnd",playVodStats:"playVodStats",playVodPause:"playVodPause",playVodPauseOrResume:"playVodPauseOrResume",playVodRateChange:"playVodRateChange",playVodTime:"playVodTime",playVodTimeCache:"playVodTimeCache",playVodSeek:"playVodSeek",playVodSeekEnd:"playVodSeekEnd",playVodVideoSeekingByMse:"playVodVideoSeekingByMse",playVodVideoSeekedByMse:"playVodVideoSeekedByMse",playVodCanplay:"playVodCanplay",playVodWaiting:"playVodWaiting",playVodEndedAndReplay:"playVodEndedAndReplay",playVodEnded:"playVodEnded",ptz:"ptz",streamQualityChange:"streamQualityChange",visibilityChange:"visibilityChange",netBuf:"netBuf",close:"close",networkDelayTimeout:"networkDelayTimeout",togglePerformancePanel:"togglePerformancePanel",viewResizeChange:"viewResizeChange",flvDemuxBufferSizeTooLarge:"flvDemuxBufferSizeTooLarge",talkGetUserMediaSuccess:"talkGetUserMediaSuccess",talkGetUserMediaFail:"talkGetUserMediaFail",talkGetUserMediaTimeout:"talkGetUserMediaTimeout",talkStreamStart:"talkStreamStart",talkStreamOpen:"talkStreamOpen",talkStreamClose:"talkStreamClose",talkStreamError:"talkStreamError",talkStreamInactive:"talkStreamInactive",talkStreamMsg:"talkStreamMsg",webrtcDisconnect:"webrtcDisconnect",webrtcFailed:"webrtcFailed",webrtcClosed:"webrtcClosed",webrtcChecking:"webrtcChecking",webrtcConnected:"webrtcConnected",webrtcCompleted:"webrtcCompleted",webrtcOnConnectionStateChange:"webrtcOnConnectionStateChange",webrtcOnIceConnectionStateChange:"webrtcOnIceConnectionStateChange",crashLog:"crashLog",focus:"focus",blur:"blur",inView:"inView",visibilityHiddenTimeout:"visibilityHiddenTimeout",websocketOpen:"websocketOpen",websocketClose:"websocketClose",websocketError:"websocketError",websocketMessage:"websocketMessage",aiObjectDetectorInfo:"aiObjectDetectorInfo",aiFaceDetectorInfo:"aiFaceDetectorInfo",aiOcclusionDetectResult:"aiOcclusionDetectResult",aiImageDetectResult:"aiImageDetectResult",playFailedAndPaused:"playFailedAndPaused",audioResumeState:"audioResumeState",webrtcStreamH265:"webrtcStreamH265",flvMetaData:"flvMetaData",talkFailedAndStop:"talkFailedAndStop",removeLoadingBgImage:"removeLoadingBgImage",memoryLog:"memoryLog",downloadMemoryLog:"downloadMemoryLog",pressureObserverCpu:"pressureObserverCpu",currentPts:"currentPts",online:"online",offline:"offline",networkState:"networkState",clickInitPlayer:"clickInitPlayer"},bt={load:At.load,timeUpdate:At.timeUpdate,videoInfo:At.videoInfo,audioInfo:At.audioInfo,error:At.error,kBps:At.kBps,start:At.start,timeout:At.timeout,loadingTimeout:At.loadingTimeout,loadingTimeoutRetryEnd:At.loadingTimeoutRetryEnd,delayTimeout:At.delayTimeout,delayTimeoutRetryEnd:At.delayTimeoutRetryEnd,fullscreen:"fullscreen",webFullscreen:At.webFullscreen,play:At.play,pause:At.pause,mute:At.mute,stats:At.stats,performance:At.performance,recordingTimestamp:At.recordingTimestamp,recordStart:At.recordStart,recordCreateError:At.recordCreateError,recordEnd:At.recordEnd,recordBlob:At.recordBlob,recordCancel:At.recordCancel,playToRenderTimes:At.playToRenderTimes,playbackSeek:At.playbackSeek,playbackStats:At.playbackStats,playbackTimestamp:At.playbackTimestamp,playbackPauseOrResume:At.playbackPauseOrResume,playbackPreRateChange:At.playbackPreRateChange,playbackRateChange:At.playbackRateChange,playbackShowPrecisionChange:At.playbackShowPrecisionChange,playbackEnd:At.playbackEnd,playVodEnded:At.playVodEnded,playVodPauseOrResume:At.playVodPauseOrResume,playVodRateChange:At.playVodRateChange,playVodTime:At.playVodTime,playVodSeek:At.playVodSeek,playVodSeekEnd:At.playVodSeekEnd,ptz:At.ptz,streamQualityChange:At.streamQualityChange,zooming:At.zooming,crashLog:At.crashLog,focus:At.focus,blur:At.blur,visibilityHiddenTimeout:At.visibilityHiddenTimeout,visibilityChange:At.visibilityChange,websocketOpen:At.websocketOpen,websocketClose:At.websocketClose,networkDelayTimeout:At.networkDelayTimeout,aiObjectDetectorInfo:At.aiObjectDetectorInfo,aiFaceDetectorInfo:At.aiFaceDetectorInfo,aiOcclusionDetectResult:At.aiOcclusionDetectResult,aiImageDetectResult:At.aiImageDetectResult,playFailedAndPaused:At.playFailedAndPaused,streamEnd:At.streamEnd,audioResumeState:At.audioResumeState,videoSEI:At.videoSEI,videoSEISyncPts:At.videoSEISyncPts,flvMetaData:At.flvMetaData,webrtcOnConnectionStateChange:At.webrtcOnConnectionStateChange,webrtcOnIceConnectionStateChange:At.webrtcOnIceConnectionStateChange,currentPts:At.currentPts,videoSmooth:At.videoSmooth,networkState:At.networkState,volume:At.volume,drawingRectInfo:At.drawingRectInfo,clickInitPlayer:At.clickInitPlayer},vt={talkStreamError:At.talkStreamError,talkStreamClose:At.talkStreamClose},_t={playError:"playIsNotPauseOrUrlIsNull",fetchError:"fetchError",websocketError:"websocketError",webcodecsH265NotSupport:"webcodecsH265NotSupport",webcodecsDecodeError:"webcodecsDecodeError",webcodecsUnsupportedConfigurationError:"webcodecsUnsupportedConfigurationError",webcodecsDecodeConfigureError:"webcodecsDecodeConfigureError",webcodecsAudioInitTimeout:"webcodecsAudioInitTimeout",webcodecsAudioNoDataTimeout:"webcodecsAudioNoDataTimeout",mediaSourceH265NotSupport:"mediaSourceH265NotSupport",mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:"mediaSourceAudioInitTimeout",mediaSourceAudioNoDataTimeout:"mediaSourceAudioNoDataTimeout",mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:At.mseSourceBufferFull,mseSourceBufferError:At.mseSourceBufferError,mseAddSourceBufferError:At.mseAddSourceBufferError,mseWorkerAddSourceBufferError:At.mseWorkerAddSourceBufferError,mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceTsIsMaxDiff:"mediaSourceTsIsMaxDiff",mediaSourceUseCanvasRenderPlayFailed:"mediaSourceUseCanvasRenderPlayFailed",mediaSourceBufferedIsZeroError:"mediaSourceBufferedIsZeroError",wasmDecodeError:"wasmDecodeError",wasmUseVideoRenderError:"wasmUseVideoRenderError",simdH264DecodeVideoWidthIsTooLarge:"simdH264DecodeVideoWidthIsTooLarge",simdDecodeError:"simdDecodeError",hlsError:"hlsError",webrtcError:"webrtcError",webrtcClosed:At.webrtcClosed,webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:"webglAlignmentError",wasmWidthOrHeightChange:"wasmWidthOrHeightChange",mseWidthOrHeightChange:"mseWidthOrHeightChange",wcsWidthOrHeightChange:"wcsWidthOrHeightChange",widthOrHeightChange:"widthOrHeightChange",tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:At.flvDemuxBufferSizeTooLarge,audioChannelError:"audioChannelError",webglContextLostError:"webglContextLostError",videoElementPlayingFailed:"videoElementPlayingFailed",videoElementPlayingFailedForWebrtc:"videoElementPlayingFailedForWebrtc",decoderWorkerInitError:"decoderWorkerInitError",decoderWorkerWasmError:"decoderWorkerWasmError",videoInfoError:"videoInfoError",streamEnd:At.streamEnd,websocket1006Error:"websocket1006Error",delayTimeout:At.delayTimeout,loadingTimeout:At.loadingTimeout,networkDelayTimeout:At.networkDelayTimeout,fullscreenError:"fullscreenError",aliyunRtcError:"aliyunRtcError",mseWaitVideoCanplayTimeout:"mseWaitVideoCanplayTimeout",initDecoderWorkerTimeout:"initDecoderWorkerTimeout",notSupportNewWasm:"notSupportNewWasm",playVodMp4Error:"playVodMp4Error",mp4Error:"mp4Error",...vt},St="notConnect",Et="open",Tt="close",wt="error",kt={download:"download",base64:"base64",blob:"blob"},Lt="download",Ct="blob",Dt={7:"H264(AVC)",12:"H265(HEVC)",99:"MPEG4"},xt=7,Rt=12,Pt="H264(AVC)",It="H265(HEVC)",Bt=10,Mt=7,Ft=2,Ut={AAC:"AAC",ALAW:"ALAW(g711a)",MULAW:"MULAW(g711u)",MP3:"MP3"},Ot={10:"AAC",7:"ALAW",8:"MULAW",2:"MP3"},Nt=7,jt=8,Gt=5,Vt=1,Wt=5,zt=6,$t=7,Ht=8,Jt=14,qt=19,Kt=19,Yt=20,Qt=20,Xt=21,Zt=21,ei=32,ti=32,ii=33,si=33,ri=34,ai=34,oi=39,ni=39,li=40,di=0,hi=1,ci=2,ui="webcodecs",pi="webgl",mi="webgl2",fi="webgpu",gi="offscreen",yi="mse",Ai="hls",bi="webrtc",vi="key",_i="delta",Si='video/mp4; codecs="avc1.64002A"',Ei='video/mp4; codecs="hev1.1.6.L123.b0"',Ti='video/mp4;codecs="hev1.1.6.L120.90"',wi='video/mp4;codecs="hev1.2.4.L120.90"',ki='video/mp4;codecs="hev1.3.E.L120.90"',Li='video/mp4;codecs="hev1.4.10.L120.90"',Ci="ended",Di="open",xi="closed",Ri=27,Pi=38,Ii=40,Bi="oneHour",Mi="halfHour",Fi="tenMin",Ui="fiveMin",Oi={oneHour:"one-hour",halfHour:"half-hour",tenMin:"ten-min",fiveMin:"five-min"},Ni=["oneHour","halfHour","tenMin","fiveMin"],ji=["up","right","down","left","left-up","right-up","left-down","right-down"],Gi="stop",Vi="fiStop",Wi="zoomExpand",zi="zoomNarrow",$i="apertureFar",Hi="apertureNear",Ji="focusFar",qi="focusNear",Ki="cruiseStart",Yi="cruiseStop",Qi="fogOpen",Xi="fogClose",Zi="wiperOpen",es="wiperClose",ts={png:"image/png",jpeg:"image/jpeg",webp:"image/webp"},is="sourceclose",ss="sourceopen",rs="sourceended",as="startstreaming",os="endstreaming",ns="qualitychange",ls="canplay",ds="waiting",hs="timeupdate",cs="ratechange",us="loadedmetadata",ps="avc",ms="hevc",fs="A key frame is required after configure() or flush()",gs="Cannot call 'decode' on a closed codec",ys="Unsupported configuration",As="Decoder failure",bs="Decoding error",vs="Decoder error",_s="HEVC decoding is not supported",Ss="The user aborted a request",Es="AbortError",Ts="AbortError",ws="loading",ks="playing",Ls="paused",Cs="destroy",Ds=0,xs=1,Rs="worklet",Ps="script",Is="active",Bs={name:"",index:0,icon:"",iconHover:"",iconTitle:"",activeIcon:"",activeIconHover:"",activeIconTitle:"",click:null,activeClick:null},Ms={content:"",click:null,index:0},Fs=1,Us="subtitle-segments",Os="hls-manifest-loaded",Ns="hls-level-loaded",js="demuxed-track",Gs="flv-script-data",Vs="metadata-parsed",Ws="ttfb",zs="load-retry",$s="load-start",Hs="speed",Js="load-complete",qs="load-response-headers",Ks="sei",Ys="sei-in-time",Qs="switch-url-failed",Xs="switch-url-success",Zs="subtitle-playlist",er="stream-parsed",tr="error",ir=[0,160,240,320,480,640],sr=[0,160,240,320,480,640],rr=["轻松","正常","较高","高"],ar="idle",or="buffering",nr="complete",lr={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"},dr="video decoder initialization failed",hr="audio packet",cr="memory access out of bounds",ur=1,pr=2,mr=0,fr=1,gr=3,yr=16,Ar="candidate-pair",br="inbound-rtp",vr="local-candidate",_r="remote-candidate",Sr="track",Er=9e4,Tr=45e4,wr=9e4,kr="ws1006",Lr="mseDecodeError",Cr="wcsDecodeError",Dr="ulaw",xr="alaw",Rr="mp3",Pr=48e3,Ir="created",Br="loading",Mr="playing",Fr="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,Ur="progress",Or="error";class Nr{constructor(e){this.log=function(t){if(e._opt.debugLevel==K){const a=e._opt.debugUuid?`[${e._opt.debugUuid}]`:"";for(var i=arguments.length,s=new Array(i>1?i-1:0),r=1;r1?i-1:0),r=1;r1?s-1:0),a=1;a32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let i=e-this._current_word_bits_left;this._fillCurrentWord();let s=Math.min(i,this._current_word_bits_left),r=this._current_word>>>32-s;return this._current_word<<=s,this._current_word_bits_left-=s,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const zr=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],$r=zr,Hr=zr;function Jr(e){let{profile:t,sampleRate:i,channel:s}=e;return new Uint8Array([175,0,t<<3|(14&i)>>1,(1&i)<<7|s<<3])}function qr(e){return Kr(e)&&e[1]===Ds}function Kr(e){return e[0]>>4===Bt}function Yr(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}function Qr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return 1024*t/e}const Xr=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Zr(e){let t=new Uint8Array(e),i=null,s=0,r=0,a=0,o=null;if(s=r=t[0]>>>3,a=(7&t[0])<<1|t[1]>>>7,a<0||a>=Xr.length)return void console.error("Flv: AAC invalid sampling frequency index!");let n=Xr[a],l=(120&t[1])>>>3;if(l<0||l>=8)return void console.log("Flv: AAC invalid channel configuration");5===s&&(o=(7&t[1])<<1|t[2]>>>7,t[2]);let d=Fr.navigator.userAgent.toLowerCase();return-1!==d.indexOf("firefox")?a>=6?(s=5,i=new Array(4),o=a-3):(s=2,i=new Array(2),o=a):-1!==d.indexOf("android")?(s=2,i=new Array(2),o=a):(s=5,o=a,i=new Array(4),a>=6?o=a-3:1===l&&(s=2,i=new Array(2),o=a)),i[0]=s<<3,i[0]|=(15&a)>>>1,i[1]=(15&a)<<7,i[1]|=(15&l)<<3,5===s&&(i[1]|=(15&o)>>>1,i[2]=(1&o)<<7,i[2]|=8,i[3]=0),{audioType:"aac",config:i,sampleRate:n,channelCount:l,objectType:s,codec:"mp4a.40."+s,originalCodec:"mp4a.40."+r}}class ea{constructor(e){this.buffer=e,this.buflen=e.length,this.bufpos=0,this.bufoff=0,this.iserro=!1}read(e){let t=0,i=0;for(;e;){if(e<0||this.bufpos>=this.buflen)return this.iserro=!0,0;this.iserro=!1,i=this.bufoff+e>8?8-this.bufoff:e,t<<=i,t+=this.buffer[this.bufpos]>>8-this.bufoff-i&255>>8-i,this.bufoff+=i,e-=i,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,i=this.bufoff,s=this.read(e);return this.bufpos=t,this.bufoff=i,s}read_golomb(){let e;for(e=0;0==this.read(1)&&!this.iserro;e++);return(1<=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095===(i[t+0]<<8|i[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let i=this.current_syncword_offset_,s=(8&e[i+1])>>>3,r=(6&e[i+1])>>>1,a=1&e[i+1],o=(192&e[i+2])>>>6,n=(60&e[i+2])>>>2,l=(1&e[i+2])<<2|(192&e[i+3])>>>6,d=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+d>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let h=1===a?7:9,c=d-h;i+=h;let u=this.findNextSyncwordOffset(i+c);if(this.current_syncword_offset_=u,0!==s&&1!==s||0!==r)continue;let p=e.subarray(i,i+c);t={},t.audio_object_type=o+1,t.sampling_freq_index=n,t.sampling_frequency=$r[n],t.channel_config=l,t.data=p}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class oa{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,i=this.data_;for(;;){if(t+1>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(695===(i[t+0]<<3|i[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),i=0;for(let s=0;s<=t;s++)i<<=8,i|=e.readByte();return i}readNextAACFrame(e){let t=this.data_,i=null;for(;null==i&&!this.eof_flag_;){let s=this.current_syncword_offset_,r=(31&t[s+1])<<8|t[s+2];if(s+3+r>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let a=new Wr(t.subarray(s+3,s+3+r)),o=null;if(a.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(s+3+r),a.destroy();continue}o=e}else{let e=a.readBool();if(e&&a.readBool()){console.error("audioMuxVersionA is Not Supported"),a.destroy();break}if(e&&this.getLATMValue(a),!a.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),a.destroy();break}if(0!==a.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),a.destroy();break}if(0!==a.readBits(4)){console.error("more than 2 numProgram Not Supported"),a.destroy();break}if(0!==a.readBits(3)){console.error("more than 2 numLayer Not Supported"),a.destroy();break}let t=e?this.getLATMValue(a):0,i=a.readBits(5);t-=5;let s=a.readBits(4);t-=4;let r=a.readBits(4);t-=4,a.readBits(3),t-=3,t>0&&a.readBits(t);let n=a.readBits(3);if(0!==n){console.error(`frameLengthType = ${n}. Only frameLengthType = 0 Supported`),a.destroy();break}a.readByte();let l=a.readBool();if(l)if(e)this.getLATMValue(a);else{let e=0;for(;;){e<<=8;let t=a.readBool();if(e+=a.readByte(),!t)break}console.log(e)}a.readBool()&&a.readByte(),o={},o.audio_object_type=i,o.sampling_freq_index=s,o.sampling_frequency=$r[o.sampling_freq_index],o.channel_config=r,o.other_data_present=l}let n=0;for(;;){let e=a.readByte();if(n+=e,255!==e)break}let l=new Uint8Array(n);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function la(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const i=e.length,s=[];let r,a=0;for(;a+t>>=8),a+=t,r){if(a+r>i)break;s.push(e.subarray(a,a+r)),a+=r}return s}function da(e,t){const i=e.length;let s=t?2:1,r=0,a=0,o="";for(;255===e[s];)r+=255,s++;for(r+=e[s++];255===e[s];)a+=255,s++;if(a+=e[s++],5===r&&i>s+16)for(let t=0;t<16;t++)o+=e[s].toString(16),s++;return{payload:e.subarray(s),type:r,size:a,uuid:o}}function ha(e){const t=e.byteLength,i=new Uint8Array(4);i[0]=t>>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t;const s=new Uint8Array(t+4);return s.set(i,0),s.set(e,4),s}function ca(){}function ua(e){let t=null;const i=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let s=0;for(;!t&&s0&&void 0!==arguments[0]?arguments[0]:"";const t=e.split(","),i=atob(t[1]),s=t[0].replace("data:","").replace(";base64","");let r=i.length,a=new Uint8Array(r);for(;r--;)a[r]=i.charCodeAt(r);return new File([a],"file",{type:s})}function fa(){return(new Date).getTime()}function ga(e,t,i){return Math.max(Math.min(e,Math.max(t,i)),Math.min(t,i))}function ya(e,t,i){if(e)return"object"==typeof t&&Object.keys(t).forEach((i=>{ya(e,i,t[i])})),e.style[t]=i,e}function Aa(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)return 0;const s=getComputedStyle(e,null).getPropertyValue(t);return i?parseFloat(s):s}function ba(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function va(e){let t=0,i=ba();return s=>{if(!Ma(s))return;t+=s;const r=ba(),a=r-i;a>=1e3&&(e(t/a*1e3),i=r,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();const _a='"9-19-2024"';function Sa(){return/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase())}function Ea(){return!(Sa()||/ipad|android(?!.*mobile)|tablet|kindle|silk/i.test(window.navigator.userAgent.toLowerCase()))}function Ta(){const e=window.navigator.userAgent.toLowerCase();return/android/i.test(e)}function wa(){const e=window.navigator.userAgent.toLowerCase();return/firefox/i.test(e)}function ka(){const e=window.navigator.userAgent.toLowerCase()||"",t={type:"",version:""},i={IE:window.ActiveXObject||"ActiveXObject"in window,Chrome:e.indexOf("chrome")>-1&&e.indexOf("safari")>-1,Firefox:e.indexOf("firefox")>-1,Opera:e.indexOf("opera")>-1,Safari:e.indexOf("safari")>-1&&-1==e.indexOf("chrome"),Edge:e.indexOf("edge")>-1,QQBrowser:/qqbrowser/.test(e),WeixinBrowser:/MicroMessenger/i.test(e)};for(let s in i)if(i[s]){let i="";if("IE"===s){const t=e.match(/(msie\s|trident.*rv:)([\w.]+)/);t&&t.length>2&&(i=e.match(/(msie\s|trident.*rv:)([\w.]+)/)[2])}else if("Chrome"===s){for(let e in navigator.mimeTypes)"application/360softmgrplugin"===navigator.mimeTypes[e].type&&(s="360");const t=e.match(/chrome\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Firefox"===s){const t=e.match(/firefox\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Opera"===s){const t=e.match(/opera\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Safari"===s){const t=e.match(/version\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Edge"===s){const t=e.match(/edge\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("QQBrowser"===s){const t=e.match(/qqbrowser\/([\d.]+)/);t&&t.length>1&&(i=t[1])}t.type=s,t.version=parseInt(i)}return t}function La(){const e=window.navigator.userAgent.toLowerCase();return e&&/iphone|ipad|ipod|ios/.test(e)}function Ca(){const e=window.navigator.userAgent;return!e.match(/Chrome/gi)&&!!e.match(/Safari/gi)}function Da(e,t){if(0===arguments.length)return null;var i,s=t||"{y}-{m}-{d} {h}:{i}:{s}";"object"==typeof e?i=e:(10===(""+e).length&&(e=1e3*parseInt(e)),e=+e,i=new Date(e));var r={y:i.getFullYear(),m:i.getMonth()+1,d:i.getDate(),h:i.getHours(),i:i.getMinutes(),s:i.getSeconds(),a:i.getDay()},a=s.replace(/{(y|m|d|h|i|s|a)+}/g,((e,t)=>{var i=r[t];return"a"===t?["一","二","三","四","五","六","日"][i-1]:(e.length>0&&i<10&&(i="0"+i),i||0)}));return a}function xa(){let e=!1;return"VideoFrame"in Fr&&"function"==typeof Fr.VideoFrame&&(e=!0),e}function Ra(e){if("string"!=typeof e)return e;var t=Number(e);return isNaN(t)?e:t}function Pa(){return"xxxxxxxxxxxx4xxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}function Ia(e,t){let i,s,r=!1;return function a(){for(var o=arguments.length,n=new Array(o),l=0;l{r=!1,i&&(a.apply(s,i),i=null,s=null)}),t)}}function Ba(e){if(null==e||""==e)return"0 Bytes";const t=new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");let i=0;const s=parseFloat(e);i=Math.floor(Math.log(s)/Math.log(1024));var r=s/Math.pow(1024,i);return(r=r.toFixed(2))+t[i]}function Ma(e){return"[object Number]"===Object.prototype.toString.call(e)}function Fa(){let e=!1;return"MediaSource"in Fr&&Fr.MediaSource&&(Fr.MediaSource.isTypeSupported(Ei)||Fr.MediaSource.isTypeSupported(Ti)||Fr.MediaSource.isTypeSupported(wi)||Fr.MediaSource.isTypeSupported(ki)||Fr.MediaSource.isTypeSupported(Li))&&(e=!0),e}function Ua(){const e=ka();return"chrome"===e.type.toLowerCase()&&e.version>=107}function Oa(){let e=!1;return"MediaStreamTrackGenerator"in window&&(e=!0),e}function Na(){let e=!1;return"MediaStream"in window&&(e=!0),e}function ja(e,t){let i=window.URL.createObjectURL(t),s=window.document.createElement("a");s.download=e,s.href=i;let r=window.document.createEvent("MouseEvents");r.initEvent("click",!0,!0),s.dispatchEvent(r),setTimeout((()=>{window.URL.revokeObjectURL(i)}),La()?1e3:0)}function Ga(e){return null==e}function Va(e){return!0===e||!1===e}function Wa(e){return!Ga(e)}function za(e){let t={left:"",right:"",top:"",bottom:"",opacity:1,backgroundColor:"",image:{src:"",width:"100",height:"60"},text:{content:"",fontSize:"14",color:"#000",width:"",height:""},rect:{color:"green",lineWidth:2,width:"",height:"",fill:"",fillOpacity:.2},line:{x1:"",y1:"",x2:"",y2:"",color:"green",lineWidth:2},polygon:{color:"green",lineWidth:2,list:[],fill:"",fillOpacity:.2},html:""};const i=Object.assign(t.image,e.image||{}),s=Object.assign(t.text,e.text||{}),r=Object.assign(t.rect,e.rect||{}),a=Object.assign(t.line,e.line||{});return t=Object.assign(t,e,{image:i,text:s,rect:r,line:a}),t}function $a(e,t){let i={container:e||"",text:"",opacity:"",angle:"",color:"",fontSize:"",fontFamily:""};return i=Object.assign(i,t),{watermark_parent_node:i.container,watermark_alpha:i.opacity,watermark_angle:i.angle,watermark_fontsize:i.fontSize,watermark_color:i.color,watermark_font:i.fontFamily,watermark_txt:i.text}}function Ha(e,t){return new Promise(((i,s)=>{let r=za(t);if(!r.image.src&&!r.text.content)return i(e);let a=document.createElement("canvas");a.width=t.width,a.height=t.height;let o=a.getContext("2d");o.imageSmoothingEnabled=!0,o.imageSmoothingEnabled&&(o.imageSmoothingQuality="high");let n=0,l=0;Ma(r.left)?n=r.left:Ma(r.right)&&(n=a.width-r.right),Ma(r.top)?l=r.top:Ma(r.bottom)&&(l=a.height-r.bottom);const d=new Image;d.src=e,d.onload=()=>{if(o.drawImage(d,0,0),r.image&&r.image.src){const e=new Image;e.src=r.image.src,e.setAttribute("crossOrigin","Anonymous"),e.onload=()=>{n-=r.image.width,o.drawImage(e,n,l,r.image.width,r.image.height),i(a.toDataURL(t.format,t.quality))},e.onerror=e=>{s()}}else r.text&&r.text.content&&(o.font=r.text.fontSize+"px 宋体",o.fillStyle=r.text.color,o.textAlign="right",o.fillText(r.text.content,n,l),i(a.toDataURL(t.format,t.quality)))},d.onerror=e=>{s(e)}}))}function Ja(e){var t,i=0;if(0===e.length)return i;for(t=0;t{if(!t.copyright)return i(e);let r=document.createElement("canvas");r.width=t.width,r.height=t.height;let a=r.getContext("2d");a.imageSmoothingEnabled=!0,a.imageSmoothingEnabled&&(a.imageSmoothingQuality="high");const o=new Image;o.src=e,o.onload=()=>{a.drawImage(o,0,0);const e=Ja(t.copyright),s=a.getImageData(0,0,r.width,r.height);!function(e,t){for(var i=e.data,s=0,r=0;r<32;r++){var a=t>>r&1,o=254&i[s]|a;i[s]=o,s+=4}}(s,e),a.putImageData(s,0,0),i(r.toDataURL(t.format,t.quality))},o.onerror=e=>{s(e)}}))}function Ka(e){var t;if(e>-1){var i=Math.floor(e/3600),s=Math.floor(e/60)%60,r=e%60;t=i<10?"0"+i+":":i+":",s<10&&(t+="0"),t+=s+":",(r=Math.round(r))<10&&(t+="0"),t+=r.toFixed(0)}return t}function Ya(e,t){let i="";if(e>-1){const s=Math.floor(e/60)%60;let r=e%60;r=Math.round(r),i=s<10?"0"+s+":":s+":",r<10&&(i+="0"),i+=r,Ga(t)||(t<10&&(t="0"+t),i+=":"+t)}return i}function Qa(e){let t="";if(e>-1){const i=Math.floor(e/60/60)%60;let s=Math.floor(e/60)%60,r=e%60;s=Math.round(s),t=i<10?"0"+i+":":i+":",s<10&&(t+="0"),t+=s+":",r<10&&(t+="0"),t+=r}return t}function Xa(e,t){const i=Math.floor(t/60)%60,s=Math.floor(t%60);return new Date(e).setHours(i,s,0,0)}function Za(e,t){const i=Math.floor(t/60/60)%60,s=Math.floor(t/60)%60,r=t%60;return new Date(e).setHours(i,s,r,0)}function eo(e){return(""+e).length}function to(e){return e&&0===Object.keys(e).length}function io(e){return!to(e)}function so(e){return"string"==typeof e}const ro=()=>{const e=window.navigator.userAgent;return/MicroMessenger/i.test(e)},ao=()=>{const e=window.navigator.userAgent;return/Chrome/i.test(e)};function oo(e){const t=e||window.event;return t.target||t.srcElement}function no(){return wa()&&function(){const e=navigator.userAgent.toLowerCase();return/macintosh|mac os x/i.test(e)}()}function lo(e){return"function"==typeof e}function ho(e){if(Sa()){let t=0,i=0;if(1===e.touches.length){let s=e.touches[0];t=s.clientX,i=s.clientY}return{posX:t,posY:i}}let t=0,i=0;const s=e||window.event;return s.pageX||s.pageY?(t=s.pageX,i=s.pageY):(s.clientX||s.clientY)&&(t=e.clientX+document.documentElement.scrollLeft+document.body.scrollLeft,i=e.clientY+document.documentElement.scrollTop+document.body.scrollTop),{posX:t,posY:i}}function co(){let e=document.createElement("video"),t=e.canPlayType("application/vnd.apple.mpegurl");return e=null,t}function uo(e){let t=Lo(e.hasAudio)&&(e.useMSE||e.useWCS&&!e.useOffscreen)&&Lo(e.demuxUseWorker);return!!(Lo(t)&&e.useMSE&&e.mseDecodeAudio&&Lo(e.demuxUseWorker))||(!!(Lo(t)&&e.useWCS&&e.wcsDecodeAudio)||t)}function po(e){let t=null,i=31&e[0];return i!==Nt&&i!==jt||(t=Pt),t||(i=(126&e[0])>>1,i!==ei&&i!==ii&&i!==ri||(t=It)),t}function mo(e){e.close()}function fo(e){e.close()}function go(){return"https:"===window.location.protocol||"localhost"===window.location.hostname}function yo(e){const t=Object.prototype.toString;return function(e){switch(t.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:try{return e instanceof Error}catch(e){return!1}}}(e)?e.message:null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function Ao(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let i=e[0],s=null,r=1;if(e.length>0){let t=e[1];t&&t.ts-i.ts>1e5&&(i=t,r=2)}if(i)for(let a=r;a=1e3){e[a-1].ts-i.ts<1e3&&(s=a+1)}}}return s}function bo(e){for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),i=window.atob(t),s=new Uint8Array(i.length),r=0;r>4===xs&&e[1]===Ds}function ko(e){return!0===e||"true"===e}function Lo(e){return!0!==e&&"true"!==e}function Co(e){return e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))}function Do(){return/iphone/i.test(navigator.userAgent)}function xo(){return window.performance&&window.performance.memory?window.performance.memory:null}function Ro(){try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}}function Po(e){return e.trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}function Io(){let e=!1;return"requestVideoFrameCallback"in HTMLVideoElement.prototype&&(e=!0),e}function Bo(){let e=!1;return"PressureObserver"in Fr&&"function"==typeof Fr.PressureObserver&&(e=!0),e}function Mo(e,t){const i=la(e.slice(5));let s=!1;return i.forEach((e=>{const i=t?e[0]>>>1&63:31&e[0];(t&&(i===qt||i===Yt||i===Xt)||Lo(t)&&i===Gt)&&(s=!0)})),s}function Fo(){let e={down:"mousedown",move:"mousemove",up:"mouseup",click:"click"};return Sa()&&(e={down:"touchstart",move:"touchmove",up:"touchend",click:"click"}),e}class Uo{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,i,s)));e.addEventListener(t,i,s);const r=()=>{lo(e.removeEventListener)&&e.removeEventListener(t,i,s)};return this.destroys.push(r),r}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}class Oo{on(e,t,i){const s=this.e||(this.e={});return(s[e]||(s[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){const s=this;function r(){s.off(e,r);for(var a=arguments.length,o=new Array(a),n=0;n1?i-1:0),r=1;r{delete i[e]})),void delete this.e;const s=i[e],r=[];if(s&&t)for(let e=0,i=s.length;e0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=this.gl.createProgram();return this.gl.attachShader(i,e),this.gl.attachShader(i,t),this.gl.linkProgram(i),this.gl.getProgramParameter(i,this.gl.LINK_STATUS)?i:(console.log("Unable to initialize the shader program: "+this.gl.getProgramInfoLog(i)),null)}_loadShader(e,t){const i=this.gl,s=i.createShader(e);return i.shaderSource(s,t),i.compileShader(s),i.getShaderParameter(s,i.COMPILE_STATUS)?s:(console.log("An error occurred compiling the shaders: "+i.getShaderInfoLog(s)),i.deleteShader(s),null)}_initBuffers(){const e=this.gl,t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);const i=[-1,-1,1,-1,1,1,-1,1];e.bufferData(e.ARRAY_BUFFER,new Float32Array(i),e.STATIC_DRAW);var s=[];s=s.concat([0,1],[1,1],[1,0],[0,0]);const r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,new Float32Array(s),e.STATIC_DRAW);const a=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,a);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{positions:i,position:t,texPosition:r,indices:a}}_createTexture(){let e=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),e}_drawScene(e,t,i){this.gl.viewport(0,0,e,t),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this._buffers.position),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this._buffers.positions),this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this._programInfo.attribLocations.vertexPosition,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this._programInfo.attribLocations.vertexPosition),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this._buffers.texPosition),this.gl.vertexAttribPointer(this._programInfo.attribLocations.texturePosition,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this._programInfo.attribLocations.texturePosition),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this._buffers.indices);i?(this.gl.activeTexture(this.gl.TEXTURE0+3),this.gl.bindTexture(this.gl.TEXTURE_2D,this._ytexture),this.gl.activeTexture(this.gl.TEXTURE0+4),this.gl.bindTexture(this.gl.TEXTURE_2D,this._utexture),this.gl.activeTexture(this.gl.TEXTURE0+5),this.gl.bindTexture(this.gl.TEXTURE_2D,this._vtexture)):(this.gl.activeTexture(this.gl.TEXTURE0+2),this.gl.bindTexture(this.gl.TEXTURE_2D,this._rgbatexture)),this.gl.useProgram(this._programInfo.program),this.gl.uniform1i(this._programInfo.uniformLocations.rgbatexture,2),this.gl.uniform1i(this._programInfo.uniformLocations.ytexture,3),this.gl.uniform1i(this._programInfo.uniformLocations.utexture,4),this.gl.uniform1i(this._programInfo.uniformLocations.vtexture,5),this.gl.uniform1i(this._programInfo.uniformLocations.isyuv,i?1:0),this.gl.drawElements(this.gl.TRIANGLES,6,this.gl.UNSIGNED_SHORT,0)}_calRect(e,t,i,s,r,a){let o=2*e/r-1,n=2*(a-t-s)/a-1,l=2*(e+i)/r-1,d=2*(a-t)/a-1;return[o,n,l,n,l,d,o,d]}_clear(){this.gl.clearColor(0,0,0,1),this.gl.clearDepth(1),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}render(e,t,i,s,r){const a=this.gl;this._clear(),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this._ytexture),a.texImage2D(a.TEXTURE_2D,0,a.LUMINANCE,e,t,0,a.LUMINANCE,a.UNSIGNED_BYTE,i),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this._utexture),a.texImage2D(a.TEXTURE_2D,0,a.LUMINANCE,e/2,t/2,0,a.LUMINANCE,a.UNSIGNED_BYTE,s),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,this._vtexture),a.texImage2D(a.TEXTURE_2D,0,a.LUMINANCE,e/2,t/2,0,a.LUMINANCE,a.UNSIGNED_BYTE,r),this._buffers.positions=[-1,-1,1,-1,1,1,-1,1],this._drawScene(e,t,!0)}renderYUV(e,t,i){let s=i.slice(0,e*t),r=i.slice(e*t,e*t*5/4),a=i.slice(e*t*5/4,e*t*3/2);const o=this.gl;this._clear(),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,this._ytexture),o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,e,t,0,o.LUMINANCE,o.UNSIGNED_BYTE,s),o.activeTexture(o.TEXTURE1),o.bindTexture(o.TEXTURE_2D,this._utexture),o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,e/2,t/2,0,o.LUMINANCE,o.UNSIGNED_BYTE,r),o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,this._vtexture),o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,e/2,t/2,0,o.LUMINANCE,o.UNSIGNED_BYTE,a),this._buffers.positions=[-1,-1,1,-1,1,1,-1,1],this._drawScene(e,t,!0)}drawDom(e,t,i,s,r){const a=this.gl;a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this._rgbatexture),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,r),this._buffers.positions=this._calRect(i,s,r.width,r.height,e,t),this._drawScene(e,t,!1)}}const Jo=1,qo=2,Ko=4;class Yo{constructor(e){this.gpu=e,this.pipeline=null,this.matrixGroupInfo=null,this.depthTexture=null,this.textureGroupInfo=null,this.hasInited=!1,this.buffers=this._initBuffer(),this.isDestroyed=!1,this._initPipeline().then((e=>{this.isDestroyed||(this.pipeline=e,this.matrixGroupInfo=this._initMatrixGroupInfo(),this.matrixGroupInfo&&(this.hasInited=!0))}))}destroy(){this.isDestroyed=!1,this.gpu&&(this.gpu.device.destroy(),this.gpu=null),this.hasInited=!1,this.pipeline=null,this.matrixGroupInfo=null,this.depthTexture=null,this.textureGroupInfo=null}_initBuffer(){const e=this.gpu.device,t=new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),i=e.createBuffer({size:t.byteLength,usage:window.GPUBufferUsage.VERTEX|window.GPUBufferUsage.COPY_DST});e.queue.writeBuffer(i,0,t);const s=new Float32Array([0,1,1,1,1,0,0,0]),r=e.createBuffer({size:s.byteLength,usage:window.GPUBufferUsage.VERTEX|window.GPUBufferUsage.COPY_DST});e.queue.writeBuffer(r,0,s);const a=new Uint16Array([0,1,2,0,2,3]),o=e.createBuffer({size:a.byteLength,usage:window.GPUBufferUsage.INDEX|window.GPUBufferUsage.COPY_DST});return e.queue.writeBuffer(o,0,a),{positionBuffer:i,texpositionBuffer:r,indexBuffer:o}}_initPipeline(){return new Promise(((e,t)=>{const i=this.gpu.device,s=this.gpu.format,r={layout:"auto",vertex:{module:i.createShaderModule({code:"\n\n @binding(0) @group(0) var uModelMatrix : mat4x4;\n @binding(1) @group(0) var uViewMatrix : mat4x4;\n @binding(2) @group(0) var uProjectionMatrix : mat4x4;\n\n struct VertexOutput {\n @builtin(position) Position : vec4,\n @location(0) vTexturePosition : vec2,\n }\n\n @vertex\n fn main(\n @location(0) aVertexPosition : vec4,\n @location(1) aTexturePosition : vec2\n ) -> VertexOutput {\n var output : VertexOutput;\n var tmppos : vec4 = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n output.Position = vec4(tmppos.x, tmppos.y, (tmppos.z+1.)/2., tmppos.w); // webgl z [-1, 1], webgpu z [0, 1], 这里z做下调整 z-webgpu = (z-webgl+1)/2\n output.vTexturePosition = aTexturePosition;\n return output;\n }\n\n "}),entryPoint:"main",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]},{arrayStride:8,attributes:[{shaderLocation:1,offset:0,format:"float32x2"}]}]},primitive:{topology:"triangle-list"},fragment:{module:i.createShaderModule({code:"\n @group(1) @binding(0) var mySampler: sampler;\n @group(1) @binding(1) var pixelType: i32;\n @group(1) @binding(2) var yTexture: texture_2d;\n @group(1) @binding(3) var uTexture: texture_2d;\n @group(1) @binding(4) var vTexture: texture_2d;\n @group(1) @binding(5) var uvTexture: texture_2d;\n @group(1) @binding(6) var rgbaTexture: texture_2d;\n\n const YUV2RGB : mat4x4 = mat4x4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n @fragment\n fn main(\n @location(0) vTexturePosition: vec2\n ) -> @location(0) vec4 {\n if(pixelType == 1){\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(vTexture, mySampler, vTexturePosition).r;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else if (pixelType == 2) {\n\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uvTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(uvTexture, mySampler, vTexturePosition).g;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else {\n\n return textureSample(rgbaTexture, mySampler, vTexturePosition);\n }\n\n }\n\n "}),entryPoint:"main",targets:[{format:s}]},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}};i.createRenderPipelineAsync(r).then((t=>{e(t)})).catch((e=>{t(e)}))}))}_initMatrixGroupInfo(){if(!this.gpu)return null;const e=this.gpu.device,t=this.pipeline,i=Go();zo(i,-1,1,-1,1,.1,100);const s=Go();Vo(s);const r=Go();!function(e,t,i,s){var r,a,o,n,l,d,h,c,u,p,m=t[0],f=t[1],g=t[2],y=s[0],A=s[1],b=s[2],v=i[0],_=i[1],S=i[2];Math.abs(m-v)za(e)));this.configList=i,this._updateDom()}_resizeDomForVideo(){const e=this.player.getVideoInfo();if(!(e&&e.height>0&&e.width>0))return;let t=e.width,i=e.height;const s=this.player._opt,r=this.player.getShowVideoRect();let a=r.height,o=r.width;const n=s.rotate;let l=(o-t)/2,d=(a-i)/2;270!==n&&90!==n||(t=e.height,i=e.width);const h=o/t,c=a/i;let u=h>c?c:h;s.isResize||h!==c&&(u=h+","+c),s.isFullResize&&(u=h>c?h:c);let p="scale("+u+")";"none"===s.mirrorRotate&&n&&(p+=" rotate("+n+"deg)"),"level"===s.mirrorRotate?p+=" rotateY(180deg)":"vertical"===s.mirrorRotate&&(p+=" rotateX(180deg)"),this.scale=-1!==(""+u).indexOf(",")?h:u,this.shadowRootInnerDom.style.transform=p,this.shadowRootInnerDom.style.left=l+"px",this.shadowRootInnerDom.style.top=d+"px",this.shadowRootInnerDom.style.width=e.width+"px",this.shadowRootInnerDom.style.height=e.height+"px",this.shadowRootInnerDom.style.display="block"}_resizeDomForCanvas(){const e=this.player.getVideoInfo();if(!(e&&e.height>0&&e.width>0))return;const t=this.player._opt,i=this.player.getShowVideoRect();let s=i.width,r=i.height,a=e.width,o=e.height;const n=t.rotate;let l=(s-a)/2,d=(r-o)/2;270!==n&&90!==n||(a=e.height,o=e.width);const h=s/a,c=r/o;let u=h>c?c:h;t.isResize||h!==c&&(u=h+","+c),t.isFullResize&&(u=h>c?h:c);let p="scale("+u+")";"none"===t.mirrorRotate&&n&&(p+=" rotate("+n+"deg)"),"level"===t.mirrorRotate?p+=" rotateY(180deg)":"vertical"===t.mirrorRotate&&(p+=" rotateX(180deg)"),this.shadowRootInnerDom.style.height=e.height+"px",this.shadowRootInnerDom.style.width=e.width+"px",this.shadowRootInnerDom.style.padding="0",this.shadowRootInnerDom.style.transform=p,this.shadowRootInnerDom.style.left=l+"px",this.shadowRootInnerDom.style.top=d+"px",this.shadowRootInnerDom.style.display="block"}_resizeDomRatio(){const e=this.player.getVideoInfo();if(!(e&&e.height>0&&e.width>0))return;const t=this.player._opt.aspectRatio.split(":").map(Number),i=this.player.getShowVideoRect();let s=i.width,r=i.height,a=this.player.getControlHeight();const o=e.width/e.height,n=t[0]/t[1];if(o>n){const t=n*e.height/e.width;this.shadowRootInnerDom.style.width=100*t+"%",this.shadowRootInnerDom.style.height=`calc(100% - ${a}px)`,this.shadowRootInnerDom.style.padding=`0 ${(s-s*t)/2}px`}else{const t=e.width/n/e.height;this.shadowRootInnerDom.style.width="100%",this.shadowRootInnerDom.style.height=`calc(${100*t}% - ${a}px)`,this.shadowRootInnerDom.style.padding=(r-r*t)/2+"px 0"}this.shadowRootInnerDom.style.display="block"}_updateDom(){this.shadowRoot&&this.configList.forEach((e=>{const t=document.createElement("div");let i=null;if(e.image&&e.image.src?(i=document.createElement("img"),i.style.height="100%",i.style.width="100%",i.style.objectFit="contain",i.src=e.image.src):e.text&&e.text.content?i=document.createTextNode(e.text.content):(e.rect&&e.rect.color&&e.rect.width||e.html||e.line&&e.line.x1&&e.line.y1&&e.line.x2&&e.line.y2||e.polygon&&e.polygon.list&&e.polygon.list.length>=3)&&(i=document.createElement("div")),i){if(t.appendChild(i),t.style.visibility="",t.style.position="absolute",t.style.display="block",t.style["-ms-user-select"]="none",t.style["-moz-user-select"]="none",t.style["-webkit-user-select"]="none",t.style["-o-user-select"]="none",t.style["user-select"]="none",t.style["-webkit-touch-callout"]="none",t.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",t.style["-webkit-text-size-adjust"]="none",t.style["-webkit-touch-callout"]="none",t.style.opacity=e.opacity,Wa(e.left)&&(Ma(e.left)?t.style.left=e.left+"px":t.style.left=e.left),Wa(e.right)&&(Ma(e.right)?t.style.right=e.right+"px":t.style.right=e.right),Wa(e.top)&&(Ma(e.top)?t.style.top=e.top+"px":t.style.top=e.top),Wa(e.bottom)&&(Ma(e.bottom)?t.style.bottom=e.bottom+"px":t.style.bottom=e.bottom),e.backgroundColor&&(t.style.backgroundColor=e.backgroundColor),t.style.overflow="hidden",t.style.zIndex="9999999",e.image&&e.image.src)t.style.width=e.image.width+"px",t.style.height=e.image.height+"px";else if(e.text&&e.text.content)t.style.fontSize=e.text.fontSize+"px",t.style.color=e.text.color,e.text.width&&(t.style.width=e.text.width+"px"),e.text.height&&(t.style.height=e.text.height+"px");else if(e.rect&&e.rect.color&&e.rect.width){if(t.style.width=e.rect.width+"px",t.style.height=e.rect.height+"px",t.style.borderWidth=e.rect.lineWidth+"px",t.style.borderStyle="solid",t.style.borderColor=e.rect.color,e.rect.fill){const i=document.createElement("div");i.style.position="absolute",i.style.width="100%",i.style.height="100%",i.style.backgroundColor=e.rect.fill,e.rect.fillOpacity&&(i.style.opacity=e.rect.fillOpacity),t.appendChild(i)}}else if(e.html)t.style.width="100%",t.style.height="100%",t.innerHTML=e.html;else if(e.line&&e.line.x1&&e.line.y1&&e.line.x2&&e.line.y2)this.settingLine(t,e.line);else if(e.polygon&&e.polygon.list&&e.polygon.list.length>=3){t.style.width="100%",t.style.height="100%";let i=e.polygon.list;const s=e.polygon.color,r=e.polygon.lineWidth;if(i=i.sort(((e,t)=>(e.index||0)-(t.index||0))),e.polygon.fill){const s=document.createElement("div");s.style.position="absolute",s.style.width="100%",s.style.height="100%";const r="polygon("+i.map((e=>`${e.x}px ${e.y}px`)).join(", ")+")";s.style.clipPath=r,s.style.backgroundColor=e.polygon.fill,e.polygon.fillOpacity&&(s.style.opacity=e.polygon.fillOpacity),t.appendChild(s)}i.forEach(((e,a)=>{const o=document.createElement("div");if(a===i.length-1){const a=i[0],n={x1:e.x,y1:e.y,x2:a.x,y2:a.y,color:s,lineWidth:r};return this.settingLine(o,n),void t.appendChild(o)}const n=i[a+1],l={x1:e.x,y1:e.y,x2:n.x,y2:n.y,color:s,lineWidth:r};this.settingLine(o,l),t.appendChild(o)}))}this.isDynamic&&(this.shadowRootDynamicDom=t),this.shadowRootInnerDom.appendChild(t)}}))}settingLine(e,t){const i=t.x1,s=t.y1,r=t.x2,a=t.y2;var o=Math.sqrt((i-r)**2+(s-a)**2),n=180*Math.atan2(a-s,r-i)/Math.PI;e.style.backgroundColor=t.color,e.style.width=o+"px",e.style.height=t.lineWidth+"px",e.style.position="absolute",e.style.top=s+"px",e.style.left=i+"px",e.style.transform="rotate("+n+"deg)",e.style.transformOrigin="0 0"}remove(){this._removeDom()}_removeDom(){this.shadowRootInnerDom&&(this.shadowRootInnerDom.innerHTML="")}}class Xo extends Oo{constructor(){super(),this.TAG_NAME="",this.videoInfo={width:null,height:null,encType:null,encTypeCode:null},this.init=!1,this.prevAiFaceDetectTime=null,this.prevAiObjectDetectTime=null,this.prevOcclusionDetectTime=null,this.contentWatermark=null,this.aiContentWatermark=null,this.tempContentList=[],this.tempAiContentList=[],this.bufferList=[],this.streamFps=0}destroy(){this.resetInit(),this.contentWatermark&&(this.contentWatermark.destroy(),this.contentWatermark=null),this.tempContentList=[],this.aiContentWatermark&&(this.aiContentWatermark.destroy(),this.aiContentWatermark=null),this.tempAiContentList=[],this.prevAiFaceDetectTime=null,this.prevAiObjectDetectTime=null,this.streamFps=0,this.off()}resetInit(){this.videoInfo={width:null,height:null,encType:null,encTypeCode:null},this.init=!1}getHasInit(){return this.init}updateVideoInfo(e){Wa(e.encTypeCode)&&(this.videoInfo.encType=Dt[e.encTypeCode],this.videoInfo.encTypeCode=e.encTypeCode),Wa(e.encType)&&(this.videoInfo.encType=e.encType),Wa(e.width)&&(this.videoInfo.width=e.width),Wa(e.height)&&(this.videoInfo.height=e.height),Wa(this.videoInfo.encType)&&Wa(this.videoInfo.height)&&Wa(this.videoInfo.width)&&!this.init&&(this.player.emit(At.videoInfo,this.videoInfo),this.init=!0)}getVideoInfo(){return this.videoInfo}clearView(){this.tempContentList=[],this.tempAiContentList=[]}resize(){if(this.player.debugLog("CommonVideo","resize()"),"default"===this.player._opt.aspectRatio||Sa()?this._resize():this._resizeRatio(),this.contentWatermark&&this.contentWatermark.resize(),this.aiContentWatermark&&this.aiContentWatermark.resize(),this.player.singleWatermark&&this.player.singleWatermark.resize(),this.player.ghostWatermark&&this.player.ghostWatermark.resize(),this.player.dynamicWatermark&&this.player.dynamicWatermark.resize(),this.player.zoom&&this.player.zooming){const e=this._getStyleScale();this.player.zoom.updatePrevVideoElementStyleScale(e),this.player.zoom.updateVideoElementScale()}}_resizeRatio(){this.player.debugLog("CommonVideo","_resizeRatio()");const e=this.player._opt.aspectRatio.split(":").map(Number),t=this.player.getShowVideoRect();let i=t.width,s=t.height,r=this.player.getControlHeight();const a=this.videoInfo,o=a.width/a.height,n=e[0]/e[1];if(this.getType()===J&&(this.$videoElement.style.left="0",this.$videoElement.style.top="0",this.$videoElement.style.transform="none"),this.getType()===q&&this.player._opt.videoRenderSupportScale&&(this.$videoElement.style.objectFit="fill"),o>n){const e=n*a.height/a.width;this.$videoElement.style.width=100*e+"%",this.$videoElement.style.height=`calc(100% - ${r}px)`,this.$videoElement.style.padding=`0 ${(i-i*e)/2}px`}else{const e=a.width/n/a.height;this.$videoElement.style.width="100%",this.$videoElement.style.height=`calc(${100*e}% - ${r}px)`,this.$videoElement.style.padding=(s-s*e)/2+"px 0"}}play(){}pause(){}setRate(e){}getType(){return""}getCanvasType(){return""}getCurrentTime(){return 0}getStreamFps(){return this.streamFps}isPlaying(){return!0}isVideoPlaying(){return this.isPlaying()}getPlaybackQuality(){return null}setStreamFps(e){this.player.debugLog("CommonVideo","setStreamFps",e),this.streamFps=e}addContentToCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.tempContentList=e,this.doAddContentToWatermark()}addAiContentToCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.tempAiContentList=e,this.doAddAiContentToWatermark()}doAddContentToWatermark(){if(this.tempContentList.length>0){this.contentWatermark||(this.contentWatermark=new Qo(this.player),this.contentWatermark.resize());const e=[];this.tempContentList.forEach((t=>{let i={left:t.x||0,top:t.y||0};"text"===t.type?i.text={content:t.text,fontSize:t.fontSize||"14",color:t.color||"#000"}:"rect"===t.type?i.rect={width:t.width,height:t.height,color:t.color||"green",lineWidth:t.lineWidth||2,fill:t.fill||"",fillOpacity:t.fillOpacity||.2}:"polygon"===t.type?i.polygon={list:t.list,color:t.color||"green",lineWidth:t.lineWidth||2,fill:t.fill,fillOpacity:t.fillOpacity||.2}:"line"===t.type&&(i.line={color:t.color||"green",lineWidth:t.lineWidth||2,x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2}),e.push(i)})),this.contentWatermark.update(e)}else this.contentWatermark&&this.contentWatermark.remove()}doAddAiContentToWatermark(){if(this.tempAiContentList.length>0){this.aiContentWatermark||(this.aiContentWatermark=new Qo(this.player),this.aiContentWatermark.resize());const e=this.tempAiContentList.map((e=>{let t={left:e.x,top:e.y};return"text"===e.type?t.text={content:e.text,fontSize:e.fontSize,color:e.color}:"rect"===e.type&&(t.rect={width:e.width,height:e.height,color:e.color,lineWidth:e.lineWidth}),t}));this.aiContentWatermark.update(e)}else this.aiContentWatermark&&this.aiContentWatermark.remove()}_getStyleScale(){let e=this.$videoElement.style.transform.match(/scale\([0-9., ]*\)/g),t="";if(e&&e[0]){t=e[0].replace("scale(","").replace(")","").split(",")}return t}getReadyStateInited(){return!0}screenshotByCurrentWatermark(){}initCanvasViewSize(){}bindMediaStream(){}getName(){return this.TAG_NAME}getBufferListLength(){let e=0;return this.bufferList&&(e=this.bufferList.length),e}}var Zo="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0;function en(e,t,i){var s=new XMLHttpRequest;s.open("GET",e),s.responseType="blob",s.onload=function(){an(s.response,t,i)},s.onerror=function(){console.error("could not download file")},s.send()}function tn(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return t.status>=200&&t.status<=299}function sn(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(i){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var rn=Zo.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),an="object"!=typeof window||window!==Zo?function(){}:"download"in HTMLAnchorElement.prototype&&!rn?function(e,t,i){var s=Zo.URL||Zo.webkitURL,r=document.createElementNS("http://www.w3.org/1999/xhtml","a");t=t||e.name||"download",r.download=t,r.rel="noopener","string"==typeof e?(r.href=e,r.origin!==location.origin?tn(r.href)?en(e,t,i):sn(r,r.target="_blank"):sn(r)):(r.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(r.href)}),4e4),setTimeout((function(){sn(r)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"==typeof e)if(tn(e))en(e,t,i);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){sn(s)}))}else navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,i),t)}:function(e,t,i,s){if((s=s||open("","_blank"))&&(s.document.title=s.document.body.innerText="downloading..."),"string"==typeof e)return en(e,t,i);var r="application/octet-stream"===e.type,a=/constructor/i.test(Zo.HTMLElement)||Zo.safari,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||r&&a||rn)&&"undefined"!=typeof FileReader){var n=new FileReader;n.onloadend=function(){var e=n.result;e=o?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=e:location=e,s=null},n.readAsDataURL(e)}else{var l=Zo.URL||Zo.webkitURL,d=l.createObjectURL(e);s?s.location=d:location.href=d,s=null,setTimeout((function(){l.revokeObjectURL(d)}),4e4)}};function on(e){return new Promise(((t,i)=>{navigator.gpu?navigator.gpu.requestAdapter().then((s=>{s?s.requestDevice().then((r=>{if(r){const a=e.getContext("webgpu");if(a){const e=navigator.gpu.getPreferredCanvasFormat();a.configure({device:r,format:e,alphaMode:"opaque"}),t({adapter:s,device:r,context:a,format:e})}else i('WebGPU "context" create fail')}else i('WebGPU "device" request fail')})).catch((e=>{i('WebGPU "adapter.requestDevice()" fail')})):i('WebGPU "adapter" request fail is empty')})).catch((e=>{i('WebGPU "navigator.gpu.requestAdapter()" fail')})):i("WebGPU not support!!")}))}class nn{constructor(e,t){this.canvas=e,this.gl=t;const i=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(i,"\n attribute vec2 xy;\n varying highp vec2 uv;\n void main(void) {\n gl_Position = vec4(xy, 0.0, 1.0);\n // Map vertex coordinates (-1 to +1) to UV coordinates (0 to 1).\n // UV coordinates are Y-flipped relative to vertex coordinates.\n uv = vec2((1.0 + xy.x) / 2.0, (1.0 - xy.y) / 2.0);\n }\n "),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw t.getShaderInfoLog(i);const s=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(s,"\n varying highp vec2 uv;\n uniform sampler2D texture;\n void main(void) {\n gl_FragColor = texture2D(texture, uv);\n }\n "),t.compileShader(s),!t.getShaderParameter(s,t.COMPILE_STATUS))throw t.getShaderInfoLog(s);const r=t.createProgram();if(t.attachShader(r,i),t.attachShader(r,s),t.linkProgram(r),!t.getProgramParameter(r,t.LINK_STATUS))throw t.getProgramInfoLog(r);t.useProgram(r);const a=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),t.STATIC_DRAW);const o=t.getAttribLocation(r,"xy");t.vertexAttribPointer(o,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(o);const n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),this.program=r,this.buffer=a,this.vertexShader=i,this.fragmentShader=s,this.texture=n}destroy(){this.gl.deleteProgram(this.program),this.gl.deleteBuffer(this.buffer),this.gl.deleteTexture(this.texture),this.gl.deleteShader(this.vertexShader),this.gl.deleteShader(this.fragmentShader),this.program=null,this.buffer=null,this.vertexShader=null,this.fragmentShader=null,this.texture=null,this.gl=null}render(e){this.canvas.width=e.displayWidth,this.canvas.height=e.displayHeight;const t=this.gl;t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight),t.clearColor(1,0,0,1),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4)}}class ln extends Xo{constructor(e){super(),this.player=e;const t=document.createElement("canvas");t.style.position="absolute",t.style.top=0,t.style.left=0,this.$videoElement=t,e.$container.appendChild(this.$videoElement),this.context2D=null,this.contextGl=null,this.webglRender=null,this.webglRectRender=null,this.webGPURender=null,this.isWebglContextLost=!1,this.isWcsWebgl2=!1,this.isWcsWebgpu=!1,this.bitmaprenderer=null,this.renderType=null,this.proxyDestroyList=[],this._initCanvasRender()}destroy(){super.destroy(),this.proxyDestroyList.length>0&&(this.proxyDestroyList.forEach((e=>{e&&e()})),this.proxyDestroyList=[]),this.webglRender&&(this.webglRender.destroy(),this.webglRender=null),this.webglRectRender&&(this.webglRectRender.destroy(),this.webglRectRender=null),this.webGPURender&&(this.webGPURender.destroy(),this.webGPURender=null),this.bitmaprenderer&&(this.bitmaprenderer=null),this.contextGl&&(this.contextGl=null),this.context2D&&(this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height),this.context2D=null),this.renderType=null,this.isWebglContextLost=!1,this.isWcsWebgpu=!1,this.isWcsWebgl2=!1,this.videoInfo={width:"",height:"",encType:""},this.$videoElement.width=0,this.$videoElement.height=0,this.player.$container.removeChild(this.$videoElement),this.$videoElement=null,this.init=!1,this.off()}_initContext2D(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.context2D=this.$videoElement.getContext("2d",e)}_initContextGl(){if(this.player.events,this.contextGl=ua(this.$videoElement),!this.contextGl)throw this.player.debugError("CommonCanvasLoader","_initContextGl() createContextGL error"),new Error("CommonCanvasLoader and _initContextGl createContextGL error");this._bindContextGlEvents(),this.webglRender=new Ho(this.contextGl,this.player._opt.openWebglAlignment)}_initContextGl2(){if(this.contextGl=pa(this.$videoElement),this.contextGl){this._bindContextGlEvents(2);try{this.webglRender=new nn(this.$videoElement,this.contextGl)}catch(e){this.player.debugError("CommonCanvasLoader",`create webgl2Render error is ${e} and next use context2d.draw render`),this.contextGl=null,this.webglRender=null,this._initContext2D()}}else this.player.debugError("CommonCanvasLoader","_initContextGl2() createContextGL2 error")}_bindContextGlEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;const{proxy:t}=this.player.events,i=t(this.$videoElement,"webglcontextlost",(t=>{t.preventDefault(),this.player.debugError("canvasVideo","webglcontextlost error",t),this.isWebglContextLost=!0,this.webglRender&&(this.player.debugLog("CommonCanvasLoader","webglcontextlost error and destroy webglRender"),this.webglRender.destroy(),this.webglRender=null),this.webglRectRender&&(this.player.debugLog("CommonCanvasLoader","webglcontextlost error and destroy webglRectRender"),this.webglRectRender.destroy(),this.webglRectRender=null),this.contextGl=null,setTimeout((()=>{if(this.player.debugLog("CommonCanvasLoader",`createContextGL() version ${e}`),1===e?this.contextGl=ua(this.$videoElement):2===e&&(this.contextGl=pa(this.$videoElement)),this.player.debugLog("CommonCanvasLoader","createContextGL success"),this.contextGl&&this.contextGl.getContextAttributes){const t=this.contextGl.getContextAttributes();t&&t.stencil?(1===e?this.webglRender=new Ho(this.contextGl,this.player._opt.openWebglAlignment):2===e&&(this.webglRender=new nn(this.$videoElement,this.contextGl)),this.isWebglContextLost=!1,this.player.debugLog("CommonCanvasLoader","webglcontextlost error reset and getContextAttributes().stencil is true")):(this.player.debugError("CommonCanvasLoader","webglcontextlost error, getContextAttributes().stencil is false"),this.player.emitError(_t.webglContextLostError))}else this.player.debugError("CommonCanvasLoader","webglcontextlost error, getContextAttributes().stencil is false"),this.player.emitError(_t.webglContextLostError)}),500)})),s=t(this.$videoElement,"webglcontextrestored",(e=>{e.preventDefault(),this.player.debugLog("CommonCanvasLoader","webglcontextrestored ",e)}));this.proxyDestroyList.push(i,s)}_initContextGPU(){on(this.$videoElement).then((e=>{this.player.isDestroyedOrClosed()||(e?(this.webGPURender=new Yo(e),this.player.debugLog("CommonCanvasLoader","webGPURender init success")):(this.player.debugWarn("CommonCanvasLoader","webGPURender init failed because context is null and next use webgl render"),this.renderType=pi,this._initContextGl()))})).catch((e=>{this.player.isDestroyedOrClosed()||(this.player.debugWarn("CommonCanvasLoader",`createWebGPUContext error is ${e} and next use webgl render`),this.renderType=pi,this._initContextGl())}))}initCanvasViewSize(){this.$videoElement.width=this.videoInfo.width,this.$videoElement.height=this.videoInfo.height,this.resize()}screenshot(e,t,i,s){e=e||fa(),s=s||kt.download;let r=.92;!ts[t]&&kt[t]&&(s=t,t="png",i=void 0),"string"==typeof i&&(s=i,i=void 0),void 0!==i&&(r=Number(i));const a=ts[t]||ts.png,o=this.$videoElement.toDataURL(a,r);if(s===kt.base64)return o;{const t=ma(o);if(s===kt.blob)return t;if(s===kt.download){const i=a.split("/")[1];an(t,e+"."+i)}}}screenshotWatermark(e){return new Promise(((t,i)=>{so(e)&&(e={filename:e}),(e=e||{}).width=this.videoInfo.width,e.height=this.videoInfo.height,e.filename=e.filename||fa(),e.format=e.format?ts[e.format]:ts.png,e.quality=Number(e.quality)||.92,e.type=e.type||kt.download;const s=this.$videoElement.toDataURL(e.format,e.quality);Ha(s,e).then((i=>{if(e.type===kt.base64)t(s);else{const s=ma(i);if(e.type===kt.blob)t(s);else if(e.type===kt.download){t();const i=e.format.split("/")[1];an(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}))}screenshotCopyrightWatermark(e){return new Promise(((t,i)=>{if(so(e)){(e=(e={filename:e})||{}).width=this.videoInfo.width,e.height=this.videoInfo.height,e.filename=e.filename||fa(),e.format=e.format?ts[e.format]:ts.png,e.quality=Number(e.quality)||.92,e.type=e.type||kt.download;const s=this.$videoElement.toDataURL(e.format,e.quality);qa(s,e).then((i=>{if(e.type===kt.base64)t(s);else{const s=ma(i);if(e.type===kt.blob)t(s);else if(e.type===kt.download){t();const i=e.format.split("/")[1];an(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}}))}screenshotByCurrentWatermark(e){}render(){}clearView(){super.clearView()}play(){}pause(){}_resize(){this.player.debugLog("canvasVideo","_resize()");const e=this.player._opt,t=this.player.getShowVideoRect();let i=t.width,s=t.height,r=this.$videoElement.width,a=this.$videoElement.height;const o=e.rotate;let n=(i-r)/2,l=(s-a)/2;270!==o&&90!==o||(r=this.$videoElement.height,a=this.$videoElement.width);const d=i/r,h=s/a;let c=d>h?h:d;Lo(e.isResize)&&d!==h&&(c=d+","+h),e.isFullResize&&(c=d>h?d:h);let u="scale("+c+")";"none"===e.mirrorRotate&&o&&(u+=" rotate("+o+"deg)"),"level"===e.mirrorRotate?u+=" rotateY(180deg)":"vertical"===e.mirrorRotate&&(u+=" rotateX(180deg)"),this.$videoElement.style.height=this.videoInfo.height+"px",this.$videoElement.style.width=this.videoInfo.width+"px",this.$videoElement.style.padding="0",this.$videoElement.style.transform=u,this.$videoElement.style.left=n+"px",this.$videoElement.style.top=l+"px"}initFps(){}setStreamFps(e){}getStreamFps(){return 25}getType(){return J}getCanvasType(){let e=this.renderType===fi?fi:pi;return this.isWcsWebgl2?e=mi:this.isWcsWebgpu&&(e=fi),e}}class dn extends ln{constructor(e){super(e),this.TAG_NAME="CanvasVideo",this.yuvList=[],this.tempTextCanvas=null,this.tempTextCanvasCtx=null,this.player.debugLog("CanvasVideo","init")}async destroy(){super.destroy(),this.yuvList=[],this.tempTextCanvas&&(this.tempTextCanvasCtx.clearRect(0,0,this.tempTextCanvas.width,this.tempTextCanvas.height),this.tempTextCanvas.width=0,this.tempTextCanvas.height=0,this.tempTextCanvas=null),this.player.debugLog("CanvasVideoLoader","destroy")}_initCanvasRender(){this.player._opt.useWCS&&!this._supportOffscreen()?(this.renderType=ui,this.player._opt.useWebGPU?on(this.$videoElement).then((e=>{this.player.isDestroyedOrClosed()||(e?(this.webGPURender=new Yo(e),this.isWcsWebgpu=!0,this.player.debugLog(this.TAG_NAME,"webGPURender init success")):(this.player.debugWarn(this.TAG_NAME,"webGPURender init failed because context is null and next use webgl render"),this._initWebglRenderForWCS()))})).catch((()=>{this.player.isDestroyedOrClosed()||(this.player.debugWarn(this.TAG_NAME,`createWebGPUContext error is ${e} and next use webgl render`),this._initWebglRenderForWCS())})):this._initWebglRenderForWCS()):this.player._opt.useMSE&&this.player._opt.mseUseCanvasRender?(this.renderType=yi,this._initContext2D()):this.player.isOldHls()&&this.player._opt.useCanvasRender?(this.renderType=Ai,this._initContext2D()):this.player.isWebrtcH264()&&this.player._opt.webrtcUseCanvasRender?(this.renderType=bi,this._initContext2D()):this._supportOffscreen()?(this.renderType=gi,this._bindOffscreen()):this.player._opt.useWebGPU?(this.renderType=fi,this._initContextGPU()):(this.renderType=pi,this._initContextGl())}_initWebglRenderForWCS(){this.player._opt.wcsUseWebgl2Render&&Ro()?(this._initContextGl2(),this.webglRender&&(this.isWcsWebgl2=!0)):this._initContext2D()}_supportOffscreen(){return"function"==typeof this.$videoElement.transferControlToOffscreen&&this.player._opt.useOffscreen}_bindOffscreen(){this.bitmaprenderer=this.$videoElement.getContext("bitmaprenderer")}render(e){this.yuvList.push(e),this.startRender()}startRender(){for(;!(this.yuvList.length<=0);){const e=this.yuvList.shift();this.doRender(e)}}doRender(e){if(this.renderType!==yi){const t={ts:e.ts||0,fps:!0};this.player.updateStats(t)}switch(this.renderType){case gi:this.bitmaprenderer.transferFromImageBitmap(e.buffer);break;case pi:case fi:if(this.isWebglContextLost)return void this.player.debugWarn("CanvasVideoLoader","doRender() and webgl context is lost");let t=e.output;if(this.player.faceDetectActive&&this.player.ai&&this.player.ai.faceDetector){null===this.prevAiFaceDetectTime&&(this.prevAiFaceDetectTime=fa());const i=fa();i-this.prevAiFaceDetectTime>=this.player._opt.aiFaceDetectInterval&&(t=this.player.ai.faceDetector.detect({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output,ts:e.ts||0}),this.prevAiFaceDetectTime=i)}if(this.player.objectDetectActive&&this.player.ai&&this.player.ai.objectDetector){null===this.prevAiObjectDetectTime&&(this.prevAiObjectDetectTime=fa());const i=fa();i-this.prevAiObjectDetectTime>=this.player._opt.aiObjectDetectInterval&&(t=this.player.ai.objectDetector.detect({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output,ts:e.ts||0}),this.prevAiObjectDetectTime=i)}if(this.player.occlusionDetectActive&&this.player.ai&&this.player.ai.occlusionDetector){null===this.prevAiOcclusionDetectTime&&(this.prevAiOcclusionDetectTime=fa());const t=fa();if(t-this.prevAiOcclusionDetectTime>=this.player._opt.aiOcclusionDetectInterval){const i=this.player.ai.occlusionDetector.check({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output});this.prevAiOcclusionDetectTime=t,i&&this.player.emit(At.aiOcclusionDetectResult,{ts:e.ts||0})}}if(this.player.imageDetectActive&&this.player.ai&&this.player.ai.imageDetector){const t=this.player.ai.imageDetector.check({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output});if(t&&t.data&&(this.player.emit(At.aiImageDetectResult,{type:t.type,ts:e.ts||0}),this.player._opt.aiImageDetectDrop))return void this.player.debugLog("CanvasVideoLoader",`doRender() and ai image detect result type is ${t.type} and drop`)}if(this.renderType===fi)try{if(!this.webGPURender)return void this.player.debugWarn("CanvasVideoLoader","doRender webgpu render is not init");this.webGPURender.renderYUV(this.$videoElement.width,this.$videoElement.height,t)}catch(e){this.player.debugError("CanvasVideoLoader",`doRender webgpu render and error: ${e.toString()}`)}else if(this.renderType===pi)try{this.webglRender.renderYUV(this.$videoElement.width,this.$videoElement.height,t)}catch(e){this.player.debugError("CanvasVideoLoader",`doRender webgl render context is lost ${this.contextGl&&this.contextGl.isContextLost()} and error: ${e.toString()}`)}break;case ui:if(this.webGPURender)this.webGPURender.render(e.videoFrame),mo(e.videoFrame);else if(this.webglRender)this.webglRender.render(e.videoFrame),mo(e.videoFrame);else if(this.context2D)if(lo(e.videoFrame.createImageBitmap))try{e.videoFrame.createImageBitmap().then((t=>{this.context2D.drawImage(t,0,0,this.$videoElement.width,this.$videoElement.height),mo(e.videoFrame)}))}catch(e){}else this.context2D.drawImage(e.videoFrame,0,0,this.$videoElement.width,this.$videoElement.height),mo(e.videoFrame);else this.player.debugWarn("CanvasVideoLoader","doRender() and webcodecs context is lost");break;case yi:case Ai:case bi:this.context2D.drawImage(e.$video,0,0,this.$videoElement.width,this.$videoElement.height)}let t=e.ts||0;this.renderType===yi&&(t=parseInt(1e3*e.$video.currentTime,10)+(this.player.mseDecoder.firstRenderTime||0)),this.player.updateCurrentPts(t),this.doAddContentToWatermark(),this.doAddAiContentToWatermark()}clearView(){switch(super.clearView(),this.renderType){case gi:(function(e,t){const i=document.createElement("canvas");i.width=e,i.height=t;const s=window.createImageBitmap(i,0,0,e,t);return i.width=0,i.height=0,s})(this.$videoElement.width,this.$videoElement.height).then((e=>{this.bitmaprenderer.transferFromImageBitmap(e)}));break;case pi:this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT);break;case fi:this.webGPURender.clear();break;case ui:this.webGPURender?this.webGPURender.clear():this.contextGl?this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT):this.context2D&&this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height);break;case yi:case Ai:case bi:this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height)}}_initTempTextCanvas(){this.tempTextCanvas=document.createElement("canvas"),this.tempTextCanvasCtx=this.tempTextCanvas.getContext("2d"),this.tempTextCanvas.width=600,this.tempTextCanvas.height=20}doAddContentToCanvas(){this.tempContentList.length>0&&this.context2D&&function(e){let{ctx:t,list:i}=e;t.save(),(i||[]).forEach((e=>{"text"===e.type?(t.font=`${e.fontSize||12}px Arial`,t.fillStyle=e.color||"green",t.fillText(e.text,e.x,e.y)):"rect"===e.type&&(t.strokeStyle=e.color||"green",t.lineWidth=e.lineWidth||2,t.strokeRect(e.x,e.y,e.width,e.height))})),t.restore()}({ctx:this.context2D,list:this.tempContentList})}doAddContentToWebGlCanvas(){this.tempContentList.length>0&&this.contextGl&&this.webglRectRender&&this.tempContentList.forEach((e=>{const t=e.x,i=e.y;if("rect"===e.type){const r=e.width,a=e.height,o=(s=e.color||"#008000",[parseInt(s.substring(1,3),16)/255,parseInt(s.substring(3,5),16)/255,parseInt(s.substring(5,7),16)/255,1]),n=e.lineWidth||4;if(!r||!a)return;this.webglRectRender.drawBox({x:t,y:i,width:r,height:a,lineColor:o,lineWidth:n,canvasWidth:this.$videoElement.width,canvasHeight:this.$videoElement.height})}else if("text"===e.type){const s=e.text||"";if(!s)return;const r=e.fontSize||20,a=e.color||"#008000";this.tempTextCanvas||this._initTempTextCanvas(),this.tempTextCanvasCtx.clearRect(0,0,this.tempTextCanvas.width,this.tempTextCanvas.height),this.tempTextCanvasCtx.font=`${r}px Arial`,this.tempTextCanvasCtx.fillStyle=a,this.tempTextCanvasCtx.textBaseline="top",this.tempTextCanvasCtx.fillText(s,0,0),this.webglRender.drawDom(this.$videoElement.width,this.$videoElement.height,t,i,this.tempTextCanvas)}var s}))}}class hn extends Xo{constructor(e){super(),this.player=e,this.TAG_NAME="Video";const t=document.createElement("video");t.muted=!0,t.disablePictureInPicture=!0,Ta()&&(t.poster="noposter"),t.style.position="absolute",t.style.top=0,t.style.left=0,this._delayPlay=!1,e.$container.appendChild(t),this.$videoElement=t,this.$canvasElement=null,this.canvasContext=null,this.mediaStream=null,this.vwriter=null,this.awriter=null,this.trackGenerator=null,this.audioTrackGenerator=null,this.fixChromeVideoFlashBug(),this.fixMobileAutoFullscreen(),this.resize(),this.eventListenList=[],this.isRenderRetryPlaying=!1,this.isRenderRetryPlayingTimes=0,this.isRetryPlaying=!1,this.isRetryPlayingTimes=0,this.canplayReceived=!1,this.progressProxyDestroy=null,this.checkVideoCanplayTimeout=null,this.visibilityChangePlayTimeout=null,this.pauseDelayTimeout=null,this.replayTimeout=null,this.detectAndFixStuckPlaybackStartTime=null;const i=Io();this.supportVideoFrameCallbackHandle=null,this._checkVodVideoWaitingInterval=null,this._delayEmitVodVideoWaitingInterval=null;const{proxy:s}=this.player.events,r=s(this.$videoElement,"canplay",(()=>{if(this.player.isDestroyedOrClosed())this.player.debugLog(this.TAG_NAME,"canplay and isDestroyedOrClosed,so return");else if(this.player.debugLog(this.TAG_NAME,"canplay"),this.canplayReceived=!0,this.player.isPlayVodUseMSE()){if(this.player.playVod.isEnded())return void this.player.debugLog(this.TAG_NAME,"canplay and isPlayVodUseMSE and isEnded");this._clearDelayEmitVodVideoWaiting(),this._clearCheckVodVideoWaiting(),this.player.emit(At.playVodCanplay),this.isPaused()&&(this.player.debugLog(this.TAG_NAME,"canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play()"),this.$videoElement&&this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play() success")})))}else this._delayPlay?(this.clearCheckVideoCanplayTimeout(),this._play()):this.$videoElement.paused&&(this.player.isMSEPlaybackRateChangePause?(this.player.debugLog(this.TAG_NAME,`canplay and video is paused and isMSEPlaybackRateChangePause is ${this.player.isMSEPlaybackRateChangePause} so next try to play`),this.player.isMSEPlaybackRateChangePause=!1,this._play()):this.player.isMSECurrentMoreThanBufferedPause?(this.player.debugLog(this.TAG_NAME,`canplay and video is paused and isMSECurrentMoreThanBufferedPause is ${this.player.isMSECurrentMoreThanBufferedPause} so next try to play`),this.player.isMSECurrentMoreThanBufferedPause=!1,this._play()):(this.player.debugWarn(this.TAG_NAME,"canplay and video is paused and try to play"),this._play()))})),a=s(this.$videoElement,"waiting",(()=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"waiting and isDestroyedOrClosed,so return"):(this.player.debugLog(this.TAG_NAME,"waiting and currentTime is "+this.getCurrentTime()),this.player.isPlayVodUseMSE()&&Lo(this.player.mseDecoder.isCurrentTimeInBufferEnd())&&(this._delayEmitVodVideoWaiting(),this._checkVodVideoWaiting()))})),o=s(this.$videoElement,"loadedmetadata",(()=>{this.player.debugLog(this.TAG_NAME,"loadedmetadata")})),n=s(this.$videoElement,"timeupdate",(t=>{if(!this.player.isDestroyedOrClosed()){if(Lo(i)){const t=parseInt(1e3*this.getCurrentTime(),10);if(e.isWebrtcH264()||this.player.isOldHls()||this.player.isAliyunRtc())this.player.emit(At.timeUpdate,t),e.handleRender(),e.updateStats({fps:!0,ts:t,dts:t}),this.player.updateCurrentPts(t);else if(ko(this.player._opt.useMSE)&&Lo(this.player._opt.mseUseCanvasRender))if(this.player.mseDecoder){let e=parseInt(1e3*this.getCurrentTime(),10)+(this.player.mseDecoder.firstRenderTime||0);this.player.updateCurrentPts(e)}else if(this.player._opt.mseDecoderUseWorker){let e=parseInt(1e3*this.getCurrentTime(),10)+(this.player._mseWorkerData.firstRenderTime||0);this.player.updateCurrentPts(e)}this.doAddContentToWatermark()}this.player.isMseDecoderUseWorker()&&(this.player.decoderWorker.updateVideoTimestamp(this.getCurrentTime()),this._handleUpdatePlaybackRate())}})),l=s(this.$videoElement,"error",(e=>{if(!this.$videoElement.error)return void this.player.debugError(this.TAG_NAME,"on error",e);let t={};if(this.player.isUseMSE()&&(t=this.player.getMseMineType()),this.player.debugError(this.TAG_NAME,"Error Code "+this.$videoElement.error.code+" "+lr[this.$videoElement.error.code]+"; Details: "+this.$videoElement.error.message+"; Video Info: "+JSON.stringify(this.videoInfo)+"; Mse Mine Type: "+t.video+"; "),this.player.isUseMSE()){this.$videoElement.error.code;const e=this.$videoElement.error.message;-1!==e.indexOf(dr)&&(this.player.isMSEVideoDecoderInitializationFailedNotSupportHevc=!0),-1!==e.indexOf(hr)&&(this.player.isMSEAudioDecoderError=!0)}this.player.isHlsCanVideoPlay()})),d=s(this.$videoElement,"stalled",(()=>{this._detectAndFixStuckPlayback(!0)}));if(this.progressProxyDestroy=s(this.$videoElement,"progress",(()=>{this._detectAndFixStuckPlayback()})),this.eventListenList.push(r,a,n,l,o,d),this.player.isUseMSE()){const e=s(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate),this.$videoElement&&this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"ratechange and video is paused and sent isMSEPlaybackRateChangePause true"),this.player.isMSEPlaybackRateChangePause=!0)}));this.eventListenList.push(e),this.player.on(At.visibilityChange,(e=>{e&&(this.visibilityChangePlayTimeout=setTimeout((()=>{if(this.clearVisibilityChangePlayTimeout(),this.player.isPlaying()&&this.$videoElement){const e=this.getVideoBufferLastTime();e-this.$videoElement.currentTime>this.getBufferMaxDelayTime()&&(this.player.debugLog(this.TAG_NAME,`visibilityChange is true and lastTime is ${e} and currentTime is ${this.$videoElement.currentTime} so set currentTime to lastTime`),this.$videoElement.currentTime=e)}}),300))}))}if(this.player.isPlayVodUseMSE()){const e=s(this.$videoElement,Ur,(()=>{this.player.debugLog(this.TAG_NAME,"progress"),this.player.emit(At.playVodTimeCache,this.getLoadedPercent())})),t=s(this.$videoElement,"seeking",(()=>{this.player.debugLog(this.TAG_NAME,"seeking",this.$videoElement.currentTime),this.player.emit(At.playVodVideoSeekingByMse,this.$videoElement.currentTime)})),i=s(this.$videoElement,"seeked",(()=>{this.player.debugLog(this.TAG_NAME,"seeked",this.$videoElement.currentTime),this.player.playVod.isSeeking()&&this.player.playVod.removeSeekingTimestamp(),this.player.emit(At.playVodVideoSeekedByMse,this.$videoElement.currentTime)}));this.eventListenList.push(e,t,i)}Io()?this.supportVideoFrameCallbackHandle||(this.player.debugLog(this.TAG_NAME,"support requestVideoFrameCallback and use videoFrameCallback"),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))):this.player.debugWarn(this.TAG_NAME,"not support requestVideoFrameCallback and use timeupdate event to update stats"),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){if(super.destroy(),this.clearCheckVideoCanplayTimeout(),this.clearReplayTimeout(),this.clearVisibilityChangePlayTimeout(),this.clearPauseDelayTimeout(),this._cancelVideoFrameCallback(),this._removeProgressProxyDestroy(),this.eventListenList.length&&(this.eventListenList.forEach((e=>{e()})),this.eventListenList=[]),this.isRenderRetryPlaying=!1,this.isRenderRetryPlayingTimes=0,this.isRetryPlaying=!1,this.isRetryPlayingTimes=0,this.canplayReceived=!1,this.player._opt.videoRenderSupportScale&&this._isNeedAddBackDropFilter()){const e=this.player.$container;e.style.backdropFilter="none",e.style.transform="none"}if(this.$canvasElement&&(this.$canvasElement.height=0,this.$canvasElement.width=0,this.$canvasElement=null),this.canvasContext=null,this.$videoElement){this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject")),this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"));try{this.$videoElement.load()}catch(e){}this.player.$container.removeChild(this.$videoElement),this.$videoElement=null}this.trackGenerator&&(this.trackGenerator.stop(),this.trackGenerator=null),this.audioTrackGenerator&&(this.audioTrackGenerator.stop(),this.audioTrackGenerator=null),this.vwriter&&(await this.vwriter.close(),this.vwriter=null),this.awriter&&(await this.awriter.close(),this.awriter=null),this._delayPlay=!1,this.mediaStream&&(this.mediaStream.getTracks().forEach((e=>e.stop())),this.mediaStream=null),this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}_createScreenShotCanvas(){const e=document.createElement("canvas");this.$canvasElement=e,this.canvasContext=e.getContext("2d"),this.canvasContext.imageSmoothingEnabled=!0,this.canvasContext.imageSmoothingEnabled&&(this.canvasContext.imageSmoothingQuality="high")}bindMediaStream(){if(this.player.canVideoTrackWritter()&&Oa()&&Na()&&!this.mediaStream){this.player.debugLog(this.TAG_NAME,"bindMediaStream"),this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.player.useVideoPlayAudio()&&(this.audioTrackGenerator=new MediaStreamTrackGenerator({kind:"audio"}),this.awriter=this.audioTrackGenerator.writable.getWriter());const e=[this.trackGenerator];this.audioTrackGenerator&&e.push(this.audioTrackGenerator),this.mediaStream=new MediaStream(e),this.$videoElement.srcObject=this.mediaStream,this.vwriter=this.trackGenerator.writable.getWriter()}}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() and isDestroyedOrClosed and return");this.player.handleRender();const i=parseInt(1e3*Math.max(t.mediaTime,this.getCurrentTime()),10)||0;if(this.player.isUseHls265UseMse())this.player.updateStats({fps:!0,ts:i});else if(this.player.isMseDecoderUseWorker()){this.player._times.videoStart||(this.player._times.videoStart=fa(),this.player.handlePlayToRenderTimes());const e=i+(this.player._mseWorkerData.firstRenderTime||0);if(this.player.updateStats({fps:!0,dfps:!0,ts:e,mseTs:i}),this.player.emit(At.timeUpdate,e),Lo(this.getHasInit())&&t.width&&t.height){const e={width:t.width,height:t.height};this.updateVideoInfo(e),this.initCanvasViewSize()}}if(this.player.isWebrtcH264()||this.player.isOldHls()||this.player.isAliyunRtc()){if(this.player.emit(At.timeUpdate,i),Lo(this.getHasInit())&&t.width&&t.height){const e={width:t.width,height:t.height};this.videoInfo.encTypeCode||this.player.isOldHls()||(e.encTypeCode=xt),this.updateVideoInfo(e)}this.player.updateStats({fps:!0,ts:i,dts:i}),this.player.updateCurrentPts(i),this.doAddContentToWatermark()}else if(ko(this.player._opt.useMSE)&&Lo(this.player._opt.mseUseCanvasRender)){if(this.player.mseDecoder){let e=parseInt(1e3*Math.max(t.mediaTime,this.getCurrentTime()),10)+(this.player.mseDecoder.firstRenderTime||0);this.player.updateCurrentPts(e)}else if(this.player._opt.mseDecoderUseWorker){let e=parseInt(1e3*Math.max(t.mediaTime,this.getCurrentTime()),10)+(this.player._mseWorkerData.firstRenderTime||0);this.player.updateCurrentPts(e)}this.doAddContentToWatermark()}this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}fixChromeVideoFlashBug(){if(this.player._opt.videoRenderSupportScale&&this._isNeedAddBackDropFilter()){const e=this.player.$container;e.style.backdropFilter="blur(0px)",e.style.transform="translateZ(0)"}}fixMobileAutoFullscreen(){const e=La(),t=Ta();(e||t)&&(this.player.debugLog(this.TAG_NAME,`fixMobileAutoFullscreen and isIOS ${e} and isAndroid ${t}`),this.$videoElement.setAttribute("webkit-playsinline","true"),this.$videoElement.setAttribute("playsinline","true"),this.$videoElement.setAttribute("x5-video-player-type","h5-page"))}_detectAndFixStuckPlayback(e){const t=this.$videoElement,i=t.buffered,s=t.readyState;if(this.player.debugLog(this.TAG_NAME,`_detectAndFixStuckPlayback() and isStalled is ${e} ,canplayReceived is ${this.canplayReceived} ,videoReadyState is ${s} and bufferedLength is ${i.length} and startTime is ${i.length>0?i.start(0):"null"} and currentTime is ${t.currentTime}`),e||Lo(this.canplayReceived)||s<2){if(i.length>0&&t.currentTime=1e3*this.player._opt.mseWaitVideoCanplayTimeout&&(this.player.debugWarn(this.TAG_NAME,`_detectAndFixStuckPlayback() and video is stuck and currentTime is ${t.currentTime} , diff is ${e} and timeout`),this.player.emit(_t.mseWaitVideoCanplayTimeout,e))}}else this._removeProgressProxyDestroy()}_removeProgressProxyDestroy(){this.progressProxyDestroy&&(this.player.debugLog(this.TAG_NAME,"_removeProgressProxyDestroy()"),this.progressProxyDestroy(),this.progressProxyDestroy=null),this.detectAndFixStuckPlaybackStartTime=null}_isNeedAddBackDropFilter(){const e=ka().type.toLowerCase();return"chrome"===e||"edge"===e}isPaused(){let e=!0;return this.$videoElement&&(e=this.$videoElement.paused),e}isPause(){return this.isPaused()}_getVideoReadyState(){let e=0;return this.$videoElement&&(e=this.$videoElement.readyState),e}_getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}play(){if(this.$videoElement){const e=this._getVideoReadyState();if(this.player.debugLog(this.TAG_NAME,`play and readyState: ${e}`),0===e)return this.player.debugLog(this.TAG_NAME,"readyState is 0 and set _delayPlay to true and listen canplay event to play"),this._delayPlay=!0,void(null===this.checkVideoCanplayTimeout&&(this.checkVideoCanplayTimeout=setTimeout((()=>{if(this.clearCheckVideoCanplayTimeout(),!this.player.isDestroyedOrClosed()&&Lo(this.isPlaying())){const e=this._getBufferStore();this.player.debugWarn(this.TAG_NAME,`checkVideoCanplayTimeout and video is not playing and buffer store is ${e} and retry play`),this.$videoElement.currentTime=e,this._replay()}}),1e3)));this._play()}}_play(){this.$videoElement&&this.$videoElement.play().then((()=>{this._delayPlay=!1,this.player.debugLog(this.TAG_NAME,"_play success"),this.isPlaying()?(this.player.emit(At.removeLoadingBgImage),this.isRetryPlayingTimes=0,this.isRetryPlaying=!1):this.replayTimeout=setTimeout((()=>{this.clearReplayTimeout(),this._replay()}),100)})).catch((e=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_play error and player is isDestroyedOrClosed and return"):(this.player.debugLog(this.TAG_NAME,`_play error and\n e.name is ${e.name},\n e.message is ${e.message},\n e.toString() is ${e.toString()}`),this.player.debugError(this.TAG_NAME,"_play error",e),this.isRetryPlaying=!1,this.replayTimeout=setTimeout((()=>{this.clearReplayTimeout(),this._replay()}),100))}))}_replay(){if(!this.isPlaying()&&Lo(this.player.isDestroyedOrClosed())&&Lo(this.isRetryPlaying)){if(this.isRetryPlaying=!0,this.isRetryPlayingTimes>=3){let e="";return void(this.player.isWebrtcH264()?(e=`_replay(webrtc H264) then but not playing and retry play times is ${this.isRetryPlayingTimes} and emit error`,this.player.debugError(this.TAG_NAME,e),this.player.emitError(_t.videoElementPlayingFailedForWebrtc,e)):(e=`_replay then but not playing and retry play times is ${this.isRetryPlayingTimes} and emit error to use canvas render`,this.player.debugError(this.TAG_NAME,e),this.player.emitError(_t.videoElementPlayingFailed,e)))}this.player.debugWarn(this.TAG_NAME,`_play then but not playing and retry play and isRetryPlayingTimes is ${this.isRetryPlayingTimes}`),this._play(),this.isRetryPlayingTimes++}else this.player.debugLog(this.TAG_NAME,`_replay() and isPlaying is ${this.isPlaying()} and isRetryPlaying is ${this.isRetryPlaying} and isDestroyedOrClosed is ${this.player.isDestroyedOrClosed()} and return;`)}pause(e){this.player.debugLog(this.TAG_NAME,"pause and isNow is "+e),this.isPlaying()&&(e?(this.$videoElement&&this.$videoElement.pause(),this._cancelVideoFrameCallback()):this.pauseDelayTimeout=setTimeout((()=>{this.clearPauseDelayTimeout(),this.$videoElement&&this.$videoElement.pause(),this._cancelVideoFrameCallback()}),100))}clearView(){super.clearView(),this.$videoElement&&(this.$videoElement.pause(),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src")),this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject")))}screenshot(e,t,i,s){if(!this._canScreenshot())return this.player.debugWarn(this.TAG_NAME,`screenshot failed, video is not ready and stats is ${this._getVideoReadyState()}`),null;e=e||fa(),s=s||kt.download;let r=.92;!ts[t]&&kt[t]&&(s=t,t="png",i=void 0),"string"==typeof i&&(s=i,i=void 0),void 0!==i&&(r=Number(i));const a=this.$videoElement;this.$canvasElement||this._createScreenShotCanvas();let o=this.$canvasElement;o.width=a.videoWidth,o.height=a.videoHeight,this.canvasContext.drawImage(a,0,0,o.width,o.height);const n=ts[t]||ts.png,l=o.toDataURL(n,r);if(this.canvasContext.clearRect(0,0,o.width,o.height),o.width=0,o.height=0,s===kt.base64)return l;{const t=ma(l);if(s===kt.blob)return t;if(s===kt.download){const i=n.split("/")[1];an(t,e+"."+i)}}}screenshotWatermark(e){return new Promise(((t,i)=>{if(so(e)&&(e={filename:e}),!this._canScreenshot())return this.player.debugWarn(this.TAG_NAME,"screenshot failed, video is not ready"),i("screenshot failed, video is not ready");const s=this.$videoElement;(e=e||{}).width=s.videoWidth,e.height=s.videoHeight,e.filename=e.filename||fa(),e.format=e.format?ts[e.format]:ts.png,e.quality=Number(e.quality)||.92,e.type=e.type||kt.download,this.$canvasElement||this._createScreenShotCanvas();let r=this.$canvasElement;r.width=s.videoWidth,r.height=s.videoHeight,this.canvasContext.drawImage(s,0,0,r.width,r.height);const a=r.toDataURL(e.format,e.quality);this.canvasContext.clearRect(0,0,r.width,r.height),r.width=0,r.height=0,Ha(a,e).then((i=>{if(e.type===kt.base64)t(a);else{const s=ma(i);if(e.type===kt.blob)t(s);else if(e.type===kt.download){t();const i=e.format.split("/")[1];an(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}))}screenshotCopyrightWatermark(e){return new Promise(((t,i)=>{if(so(e)&&(e={filename:e}),!this._canScreenshot())return this.player.debugWarn(this.TAG_NAME,"screenshot failed, video is not ready"),i("screenshot failed, video is not ready");const s=this.$videoElement;(e=e||{}).width=s.videoWidth,e.height=s.videoHeight,e.filename=e.filename||fa(),e.format=e.format?ts[e.format]:ts.png,e.quality=Number(e.quality)||.92,e.type=e.type||kt.download,this.$canvasElement||this._createScreenShotCanvas();let r=this.$canvasElement;r.width=s.videoWidth,r.height=s.videoHeight,this.canvasContext.drawImage(s,0,0,r.width,r.height);const a=r.toDataURL(e.format,e.quality);this.canvasContext.clearRect(0,0,r.width,r.height),r.width=0,r.height=0,qa(a,e).then((i=>{if(e.type===kt.base64)t(a);else{const s=ma(i);if(e.type===kt.blob)t(s);else if(e.type===kt.download){t();const i=e.format.split("/")[1];an(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}))}screenshotByCurrentWatermark(e){}initCanvasViewSize(){this.resize()}clear(){const e=this.$videoElement,t=e.buffered,i=t.length?t.end(t.length-1):0;e.currentTime=i}render(e){if(this.vwriter){if(this.$videoElement.srcObject||(this.$videoElement.srcObject=this.mediaStream),this.isPaused()){const e=this._getVideoReadyState();if(this.player.debugWarn(this.TAG_NAME,"render() error, video is paused and readyState is "+e),4===e&&Lo(this.isRenderRetryPlaying)){if(this.isRenderRetryPlaying=!0,this.isRenderRetryPlayingTimes>3){const t="render() error, video is paused and readyState is "+e+", retry times is "+this.isRenderRetryPlayingTimes+", emit error and use canvas render";return this.player.debugError(this.TAG_NAME,t),void this.player.emitError(_t.videoElementPlayingFailed,t)}this.$videoElement.play().then((()=>{this.isRenderRetryPlayingTimes=0,this.isRenderRetryPlaying=!1,this.player.debugLog(this.TAG_NAME,"render() video is paused and replay success")})).catch((e=>{this.isRenderRetryPlaying=!1,this.isRenderRetryPlayingTimes++,this.player.debugLog(this.TAG_NAME,`_play error render() error, video is paused and replay error and\n e.name is ${e.name},\n e.message is ${e.message},\n e.toString() is ${e.toString()}`),this.player.debugError(this.TAG_NAME,"render() error, video is paused and replay error ",e)}))}}if(this.player.updateStats({fps:!0,ts:e.ts||0}),e.videoFrame)this.vwriter.write(e.videoFrame),mo(e.videoFrame);else if(e.output){let s=e.output;if(this.player.faceDetectActive&&this.player.ai&&this.player.ai.faceDetector){null===this.prevAiFaceDetectTime&&(this.prevAiFaceDetectTime=fa());const t=fa();t-this.prevAiFaceDetectTime>this.player._opt.aiFaceDetectInterval&&(s=this.player.ai.faceDetector.detect({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0}),this.prevAiFaceDetectTime=t)}if(this.player.objectDetectActive&&this.player.ai&&this.player.ai.objectDetector){null===this.prevAiObjectDetectTime&&(this.prevAiObjectDetectTime=fa());const t=fa();t-this.prevAiObjectDetectTime>this.player._opt.aiObjectDetectInterval&&(s=this.player.ai.objectDetector.detect({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0}),this.prevAiObjectDetectTime=t)}if(this.player.occlusionDetectActive&&this.player.ai&&this.player.ai.occlusionDetector){null===this.prevAiOcclusionDetectTime&&(this.prevAiOcclusionDetectTime=fa());const t=fa();if(t-this.prevAiOcclusionDetectTime>=this.player._opt.aiOcclusionDetectInterval){const i=this.player.ai.occlusionDetector.check({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0});this.prevAiOcclusionDetectTime=t,i&&(this.player.debugLog(this.TAG_NAME,"render() and ai occlusion detect result is true"),this.player.emit(At.aiOcclusionDetectResult,{ts:e.ts||0}))}}if(this.player.imageDetectActive&&this.player.ai&&this.player.ai.imageDetector){const t=this.player.ai.imageDetector.check({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0});if(t&&t.data&&(this.player.emit(At.aiImageDetectResult,{type:t.type,ts:e.ts||0}),this.player._opt.aiImageDetectDrop))return void this.player.debugLog(this.TAG_NAME,`render() and ai image detect result type is ${t.type} and drop`)}try{const r=(t=s,i={format:"I420",codedWidth:this.videoInfo.width,codedHeight:this.videoInfo.height,timestamp:1e3*e.ts},new VideoFrame(t,i));this.vwriter.write(r),mo(r)}catch(e){this.player.debugError(this.TAG_NAME,"render error",e),this.player.emitError(_t.wasmUseVideoRenderError,`code is ${e.code} and message is ${e.message}`)}}this.player.updateCurrentPts(e.ts||0),this.doAddContentToWatermark(),this.doAddAiContentToWatermark()}else this.player.debugWarn(this.TAG_NAME,"render and this.vwriter is null");var t,i}_resize(){this.player.debugLog(this.TAG_NAME,"_resize()");const e=this.player._opt,t=e.rotate,i=this.player.getShowVideoRect();let s=i.width,r=i.height;this.$videoElement.width=s,this.$videoElement.height=r,this.$videoElement.style.width=s+"px",this.$videoElement.style.height=r+"px",270!==t&&90!==t||(this.$videoElement.width=r,this.$videoElement.height=s,this.$videoElement.style.width=r+"px",this.$videoElement.style.height=s+"px");let a=(s-this.$videoElement.width)/2,o=(r-this.$videoElement.height)/2,n="contain";Lo(e.isResize)&&(n="fill"),e.isFullResize&&(n="none");let l="";"none"===e.mirrorRotate&&t&&(l+=" rotate("+t+"deg)"),"level"===e.mirrorRotate?l+=" rotateY(180deg)":"vertical"===e.mirrorRotate&&(l+=" rotateX(180deg)"),this.player._opt.videoRenderSupportScale&&(this.$videoElement.style.objectFit=n),this.$videoElement.style.transform=l,this.$videoElement.style.padding="0",this.$videoElement.style.left=a+"px",this.$videoElement.style.top=o+"px"}getType(){return q}getCurrentTime(){return this.$videoElement.currentTime}isPlaying(){return this.$videoElement&&Lo(this.$videoElement.paused)&&Lo(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}isVideoPlaying(){return this.isPlaying()}_canScreenshot(){return this.$videoElement&&this.$videoElement.readyState>=1}getPlaybackQuality(){let e=null;if(this.$videoElement){if(lo(this.$videoElement.getVideoPlaybackQuality)){const t=this.$videoElement.getVideoPlaybackQuality();e={droppedVideoFrames:t.droppedVideoFrames||t.corruptedVideoFrames,totalVideoFrames:t.totalVideoFrames,creationTime:t.creationTime}}else e={droppedVideoFrames:this.$videoElement.webkitDroppedFrameCount,totalVideoFrames:this.$videoElement.webkitDecodedFrameCount,creationTime:fa()};e&&(e.renderedVideoFrames=e.totalVideoFrames-e.droppedVideoFrames)}return e}setRate(e){this.$videoElement&&(this.$videoElement.playbackRate=e)}get rate(){let e=1;return this.$videoElement&&(e=this.$videoElement.playbackRate),e}clearCheckVideoCanplayTimeout(){this.checkVideoCanplayTimeout&&(clearTimeout(this.checkVideoCanplayTimeout),this.checkVideoCanplayTimeout=null)}clearReplayTimeout(){this.replayTimeout&&(clearTimeout(this.replayTimeout),this.replayTimeout=null)}clearVisibilityChangePlayTimeout(){this.visibilityChangePlayTimeout&&(clearTimeout(this.visibilityChangePlayTimeout),this.visibilityChangePlayTimeout=null)}clearPauseDelayTimeout(){this.pauseDelayTimeout&&(clearTimeout(this.pauseDelayTimeout),this.pauseDelayTimeout=null)}_cancelVideoFrameCallback(){this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null)}_getBufferStore(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.buffered.start(0)),t}_handleUpdatePlaybackRate(){const e=this.$videoElement,t=e.buffered;t.length&&t.start(0);const i=t.length?t.end(t.length-1):0;let s=e.currentTime;const r=i-s,a=this.getBufferMaxDelayTime();if(this.player.updateStats({mseVideoBufferDelayTime:r}),r>a)this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current is ${s} , delay buffer is more than ${a} is ${r} and new time is ${i}`),e.currentTime=i,s=e.currentTime;else if(r<0&&0===i)return this.player.debugWarn(this.TAG_NAME,`handleUpdatePlaybackRate and delay buffer is ${i} - current is ${s} = ${r} < 0 and check video is paused : ${e.paused} `),void this.player.emit(_t.mediaSourceBufferedIsZeroError,"video.buffered is empty");if(s>1){const t=this._getPlaybackRate(i-s);e.playbackRate!==t&&(this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current time is ${s} and delay is ${i-s} set playbackRate is ${t} `),e.playbackRate=t)}}_getPlaybackRate(e){const t=this.$videoElement;let i=this.player._opt.videoBufferDelay+this.player._opt.videoBuffer;const s=Math.max(i,1e3),r=s/2;return e*=1e3,1===t.playbackRate?e>s?1.2:1:e<=r?1:t.playbackRate}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}getVideoBufferLastTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;i.length&&i.start(0);t=i.length?i.end(i.length-1):0}return t}getVideoBufferDelayTime(){const e=this.$videoElement;const t=this.getVideoBufferLastTime()-e.currentTime;return t>0?t:0}checkSourceBufferDelay(){const e=this.$videoElement;let t=0,i=0;return e.buffered.length>0&&(i=e.buffered.end(e.buffered.length-1),t=i-e.currentTime),t<0&&(this.player.debugWarn(this.TAG_NAME,`checkVideoSourceBufferDelay ${t} < 0, and buffered is ${i} ,currentTime is ${e.currentTime} , try to seek ${e.currentTime} to ${i}`),e.currentTime=i,e.paused&&(this.player.debugWarn(this.TAG_NAME,"checkSourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true"),this.player.isMSECurrentMoreThanBufferedPause=!0),t=0),t}checkSourceBufferStore(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.currentTime-e.buffered.start(0)),t}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}getDecodePlaybackRate(){let e=0;const t=this.$videoElement;return t&&(e=t.playbackRate),e}getBufferMaxDelayTime(){let e=(this.player._opt.videoBuffer+this.player._opt.videoBufferDelay)/1e3;return Math.max(5,e+3)}getReadyStateInited(){return this._getVideoReadyState()>=1}_clearDelayEmitVodVideoWaiting(){this._delayEmitVodVideoWaitingInterval&&(clearTimeout(this._delayEmitVodVideoWaitingInterval),this._delayEmitVodVideoWaitingInterval=null)}_clearCheckVodVideoWaiting(){this._checkVodVideoWaitingInterval&&(clearTimeout(this._checkVodVideoWaitingInterval),this._checkVodVideoWaitingInterval=null)}_delayEmitVodVideoWaiting(){this._clearDelayEmitVodVideoWaiting(),this._delayEmitVodVideoWaitingInterval=setTimeout((()=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_delayEmitVodVideoWaitingInterval and player is destroyed or closed and return"):(this.player.debugLog(this.TAG_NAME,"emit playVodWaiting"),this.player.emit(At.playVodWaiting))}),100)}_checkVodVideoWaiting(){this._clearCheckVodVideoWaiting(),this._checkVodVideoWaitingInterval=setTimeout((()=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_checkVodVideoWaiting and player is destroyed or closed and return"):this.$videoElement&&(this.player.debugLog(this.TAG_NAME,`_checkVodVideoWaiting and currentTime is ${this.$videoElement.currentTime} and update currentTime to ${this.$videoElement.currentTime+.1}`),this.$videoElement.currentTime=this.$videoElement.currentTime+.1)}),4e3)}setCurrentTime(e){this.$videoElement&&(this.$videoElement.currentTime=e)}isEnded(){let e=!1;return this.$videoElement&&(e=this.$videoElement.ended),e}geLoadedTime(){let e=0;return this.$videoElement&&this.$videoElement.buffered.length>0&&(e=this.$videoElement.buffered.end(this.$videoElement.buffered.length-1)),e}getDuration(){let e=0;return this.$videoElement&&(e=this.$videoElement.duration),e}getLoadedPercent(){let e=0;if(this.$videoElement){const t=this.getDuration();t&&(e=this.geLoadedTime()/t)}return e}}class cn extends ln{constructor(e){super(e),this.TAG_NAME=e.isPlayVod()?"CanvasVideoPlayVod":"CanvasVideoPlayback",this.bufferList=[],this.playing=!1,this.playInterval=null,this.fps=1,this.preFps=1,e.isPlayVod()&&(this.fps=25,this.preFps=25),this.streamFps=0,this.playbackRate=1,this._firstTimestamp=null,this._renderFps=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._hasCalcFps=!1,this.player.isPlayback()?this.player.on(At.playbackPause,(e=>{e?(this.pause(),this.player.playback.isPlaybackPauseClearCache&&this.clear()):this.resume()})):this.player.isPlayVod()&&this.player.on(At.playVodPause,(e=>{e?this.pause():this.resume()})),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){this._stopSync(),this.clear(),this._firstTimestamp=null,this.playing=!1,this.playbackRate=1,this.fps=1,this.preFps=1,this._renderFps=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._hasCalcFps=!1,super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}_initCanvasRender(){this.player._opt.useWCS?(this.renderType=ui,Ro()&&this.player._opt.wcsUseWebgl2Render?(this._initContextGl2(),this.webglRender&&(this.isWcsWebgl2=!0)):this._initContext2D()):this.player._opt.useWebGPU?(this.renderType=fi,this._initContextGPU()):(this.renderType=pi,this._initContextGl())}_sync(){this._stopSync(),this._doPlay(),this.playInterval=setInterval((()=>{this._doPlay()}),this.fragDuration)}_doPlay(){if(this.bufferList.length>0){const e=this.bufferList.shift();e&&e.buffer&&(this._doRender(e.buffer),this.player.handleRender(),this.player.isPlayback()?this.player.playback.updateStats({ts:e.ts,tfTs:e.tfTs}):this.player.isPlayVod()&&this.player.playVod.updateStats({ts:e.ts,tfTs:e.tfTs}))}}_stopSync(){this.playInterval&&(clearInterval(this.playInterval),this.playInterval=null)}_doRender(e){if(this.player._opt.useWCS)if(this.webglRender)this.webglRender.render(e),mo(e);else if(lo(e.createImageBitmap))try{e.createImageBitmap().then((t=>{this.context2D.drawImage(t,0,0,this.$videoElement.width,this.$videoElement.height),mo(e)}))}catch(e){}else this.context2D.drawImage(e,0,0,this.$videoElement.width,this.$videoElement.height),mo(e);else if(this.getCanvasType()===pi)try{this.webglRender.renderYUV(this.$videoElement.width,this.$videoElement.height,e)}catch(e){this.player.debugError(this.TAG_NAME,`doRender webgl render context is lost ${this.contextGl&&this.contextGl.isContextLost()} and error: ${e.toString()}`)}else if(this.getCanvasType()===fi)try{if(!this.webGPURender)return void this.player.debugWarn(this.TAG_NAME,"doRender webgpu render is not init");this.webGPURender.renderYUV(this.$videoElement.width,this.$videoElement.height,e)}catch(e){this.player.debugError(this.TAG_NAME,`doRender webgpu render and error: ${e.toString()}`)}}get rate(){return this.playbackRate}get fragDuration(){return Math.ceil(1e3/(this.fps*this.playbackRate))}get bufferSize(){return this.bufferList.length}getStreamFps(){return this.streamFps}initFps(){this._hasCalcFps?this.player.debugLog(this.TAG_NAME,"initFps, has calc fps"):this.player.isPlayback()?(this.preFps=ga(this.player.playback.fps,1,100),this.fps=this.preFps):this.player.isPlayVod()&&(this.preFps=ga(this.player.playVod.fps,1,100),this.fps=this.preFps)}setFps(e){e!==this.fps?(e>100&&this.player.debugWarn(this.TAG_NAME,"setFps max",e),e<0&&this.player.debugWarn(this.TAG_NAME,"setFps min",e),this.fps=ga(e,1,100),this.player.debugLog(this.TAG_NAME,`setFps ${this.preFps} -> ${this.fps}`),(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync()):this.player.debugLog(this.TAG_NAME,`setFps, same fps ${e}`)}setStreamFps(e){this.player.debugLog(this.TAG_NAME,"setStreamFps",e),this._hasCalcFps=!0,this.streamFps=e,this.preFps=e,this.setFps(e)}setRate(e){e!==this.playbackRate&&(this.playbackRate=e,(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync())}render$2(e){null===this._firstTimestamp&&(this._firstTimestamp=e.ts);const t={tfTs:e.ts-this._firstTimestamp,ts:e.ts};e.videoFrame?t.buffer=e.videoFrame:t.buffer=e.output,this.bufferList.push(t),this.startRender(),this.player.handleRender(),this.player.isPlayback()?this.player.playback.updateStats({ts:e.ts,tfTs:t.tfTs}):this.player.isPlayVod()&&this.player.playVod.updateStats({ts:e.ts,tfTs:t.tfTs})}startRender(){for(;!(this.bufferList.length<=0);){const e=this.bufferList.shift();this._doRender(e.buffer)}}pushData(e){null===this._firstTimestamp&&(this._firstTimestamp=e.ts);const t={tfTs:e.ts-this._firstTimestamp,ts:e.ts};if(e.videoFrame?t.buffer=e.videoFrame:t.buffer=e.output,this.player.isPlayback()){const e=this.player._opt.playbackConfig.isCacheBeforeDecodeForFpsRender;if(e||this.bufferSize>this.fps*this.playbackRate*2&&(this.player.debugWarn(this.TAG_NAME,`buffer size is ${this.bufferSize}`),this._doPlay()),this.bufferList.push(t),!this._hasCalcFps){const e=Ao(this.bufferList);null!==e&&e!==this.preFps&&(this.player.debugLog(this.TAG_NAME,`calc fps is ${e} pre fps is ${this.preFps} and updatePreFps`),this.setStreamFps(e))}if(!e){const e=this.bufferList.length,t=e/(this.fps*this.playbackRate);this.player.debugLog(this.TAG_NAME,"rate is",t),t<=1?this.setFps(this.preFps):(this.setFps(this.fps+Math.floor(t*this.playbackRate)),this.player.debugWarn(this.TAG_NAME,"rate is",t,"fps is",this.fps,"bufferListLength is",e))}}else if(this.player.isPlayVod()&&(this.bufferList.push(t),!this._hasCalcFps)){const e=Ao(this.bufferList);null!==e&&e!==this.preFps&&(this.player.debugLog(this.TAG_NAME,`calc fps is ${e} pre fps is ${this.preFps} and updatePreFps`),this.setStreamFps(e))}}initVideo(){(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync(),this.playing=!0}initVideoDelay(){const e=this.player._opt.playbackDelayTime;e>0?this.delayTimeout=setTimeout((()=>{this.initVideo()}),e):this.initVideo()}clearView(){super.clearView(),this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT)}clear(){this.player._opt.useWCS&&this.bufferList.forEach((e=>{e.buffer&&mo(e.buffer)})),this.bufferList=[]}resume(){(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync(),this.playing=!0}pause(){(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._stopSync(),this.playing=!1}}class un extends hn{constructor(e){super(e),this.TAG_NAME=e.isPlayback()?"VideoPlayback":"VideoPlayVod"}async destroy(){super.destroy()}render$2(e){this.render(e)}}class pn{constructor(e){return new(pn.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.useMSE?e.mseUseCanvasRender?dn:hn:e.isHls&&Lo(e.supportHls265)||e.isWebrtc&&Lo(e.isWebrtcH265)?e.useCanvasRender?dn:hn:e.isAliyunRtc?hn:e.useWCS?e.playType===S||e.playType===E?!e.useOffscreen&&e.wcsUseVideoRender?un:cn:!e.useOffscreen&&e.wcsUseVideoRender?hn:dn:e.playType===S||e.playType===E?cn:e.wasmUseVideoRender&&!e.useOffscreen?hn:dn}}class mn extends Oo{constructor(e){super(),this.bufferList=[],this.player=e,this.$audio=null,this.scriptNode=null,this.workletProcessorNode=null,this.workletWorkerCloseTimeout=null,this.hasInitScriptNode=!1,this.audioContext=new(window.AudioContext||window.webkitAudioContext)({sampleRate:Pr}),this.gainNode=this.audioContext.createGain();const t=this.audioContext.createBufferSource();t.buffer=this.audioContext.createBuffer(1,1,22050),t.connect(this.audioContext.destination),t.noteOn?t.noteOn(0):t.start(0),this.audioBufferSourceNode=t,this.mediaStreamAudioDestinationNode=this.audioContext.createMediaStreamDestination(),this.gainNode.gain.value=0,this._prevVolume=null,this.playing=!1,this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1,this.hasAudio=!1,this.audioResumeStateTimeout=null,this.audioContextContextResumeLock=!1}async destroy(){return this.closeAudio(),this.resetInit(),this.clearAudioResumeStateTimeout(),this.audioContext&&(await this.audioContext.close(),this.audioContext=null),this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),this.hasAudio=!1,this.playing=!1,this.scriptNode&&(this.scriptNode.disconnect(),this.scriptNode.onaudioprocess=ca,this.scriptNode=null),await this._destroyWorklet(),this.workletProcessorNode&&(this.workletProcessorNode.disconnect(),this.workletProcessorNode.port.onmessage=ca,this.workletProcessorNode=null),this.audioBufferSourceNode&&(this.audioBufferSourceNode.stop(),this.audioBufferSourceNode=null),this.mediaStreamAudioDestinationNode&&(this.mediaStreamAudioDestinationNode.disconnect(),this.mediaStreamAudioDestinationNode=null),this.hasInitScriptNode=!1,this._prevVolume=null,this.audioContextContextResumeLock=!1,this.off(),!0}_destroyWorklet(){return new Promise(((e,t)=>{this.workletProcessorNode?(this.workletProcessorNode.port.postMessage({type:"destroy"}),this.workletWorkerCloseTimeout=setTimeout((()=>{this.player.debugLog(this.TAG_NAME,"send close and wait 10ms destroy directly"),this.workletWorkerCloseTimeout&&(clearTimeout(this.workletWorkerCloseTimeout),this.workletWorkerCloseTimeout=null),e()}),10)):e()}))}resetInit(){this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1}getAudioInfo(){return this.audioInfo}updateAudioInfo(e){e.encTypeCode&&(this.audioInfo.encTypeCode=e.encTypeCode,this.audioInfo.encType=Ot[e.encTypeCode]),e.channels&&(this.audioInfo.channels=e.channels),e.sampleRate&&(this.audioInfo.sampleRate=e.sampleRate),e.depth&&(this.audioInfo.depth=e.depth),this.audioInfo.sampleRate&&this.audioInfo.channels&&this.audioInfo.encType&&!this.init&&(this.player.emit(At.audioInfo,this.audioInfo),this.init=!0)}get isPlaying(){return this.playing}get isMute(){return 0===this.gainNode.gain.value||this.isStateSuspended()}get volume(){return this.gainNode.gain.value}get bufferSize(){return this.bufferList.length}get audioContextState(){let e=null;return this.audioContext&&(e=this.audioContext.state),e}initScriptNode(){}initMobileScriptNode(){}initWorkletScriptNode(){}getEngineType(){return""}mute(e){e?(this.setVolume(0),this.clear()):this.setVolume(this.player.lastVolume||.5)}setVolume(e){e=parseFloat(e).toFixed(2),isNaN(e)||(this.audioEnabled(!0),e=ga(e,0,1),null!==this._prevVolume&&this._prevVolume===e||(null===this._prevVolume?this.player.emit(At.mute,0===e):0===this._prevVolume&&e>0?this.player.emit(At.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(At.mute,!0),this.gainNode.gain.value=e,this.player.emit(At.volumechange,this.player.volume),this.player.emit(At.volume,this.player.volume),this._prevVolume=e))}closeAudio(){this.hasInitScriptNode&&(this.scriptNode&&this.scriptNode.disconnect(this.gainNode),this.workletProcessorNode&&this.workletProcessorNode.disconnect(this.gainNode),this.gainNode&&(this.gainNode.disconnect(this.mediaStreamAudioDestinationNode),this.$audio||this.gainNode.disconnect(this.audioContext.destination))),this.clear()}audioEnabled(e){if(e&&this.isStateSuspended()){if(this.audioContextContextResumeLock)return;this.audioContextContextResumeLock=!0,this.audioContext.resume().then((()=>{this.player.emit(At.audioResumeState,{state:this.audioContextState,isRunning:this.isStateRunning()})})).finally((()=>{this.audioContextContextResumeLock=!1})),this.audioResumeStateTimeout=setTimeout((()=>{this.clearAudioResumeStateTimeout(),this.audioContextContextResumeLock=!1,this.isStateSuspended()&&this.player.emit(At.audioResumeState,{state:this.audioContextState,isRunning:this.isStateRunning()})}),1e3)}}isStateRunning(){return"running"===this.audioContextState}isStateSuspended(){return"suspended"===this.audioContextState}clearAudioResumeStateTimeout(){this.audioResumeStateTimeout&&(clearTimeout(this.audioResumeStateTimeout),this.audioResumeStateTimeout=null)}clear(){this.bufferList=[]}play(e,t){}pause(){this.playing=!1}resume(){this.playing=!0}setRate(e){}getAudioBufferSize(){return 0}}class fn{constructor(e,t,i,s){this.player=e,this.audio=t,this.channel=i,this.bufferSize=s}destroy(){this.buffer=null,this.channel=null}extract(e,t){let i=this.provide(t);for(let t=0;t=o){try{for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:0;const s=2*(t=t||0);i>=0||(i=(e.length-s)/2);const r=2*i;this.ensureCapacity(i+this._frameCount);const a=this.endIndex;this.vector.set(e.subarray(s,s+r),a),this._frameCount+=i}putBuffer(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t=t||0,i>=0||(i=e.frameCount-t),this.putSamples(e.vector,e.position+t,i)}receive(e){e>=0&&!(e>this._frameCount)||(e=this.frameCount),this._frameCount-=e,this._position+=e}receiveSamples(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=2*t,s=this.startIndex;e.set(this._vector.subarray(s,s+i)),this.receive(t)}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s=this.startIndex+2*t,r=2*i;e.set(this._vector.subarray(s,s+r))}ensureCapacity(){const e=parseInt(2*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0));if(this._vector.length0&&void 0!==arguments[0]?arguments[0]:0;this.ensureCapacity(this._frameCount+e)}rewind(){this._position>0&&(this._vector.set(this._vector.subarray(this.startIndex,this.endIndex)),this._position=0)}}class yn{constructor(e){e?(this._inputBuffer=new gn,this._outputBuffer=new gn):this._inputBuffer=this._outputBuffer=null}destroy(){this.clear(),this._outputBuffer&&(this._outputBuffer.destroy(),this._outputBuffer=null),this._inputBuffer&&(this._inputBuffer.destroy(),this._inputBuffer=null)}get inputBuffer(){return this._inputBuffer}set inputBuffer(e){this._inputBuffer=e}get outputBuffer(){return this._outputBuffer}set outputBuffer(e){this._outputBuffer=e}clear(){this._inputBuffer.clear(),this._outputBuffer.clear()}}class An extends yn{constructor(e){super(e),this.reset(),this._rate=1}destroy(){super.destroy()}set rate(e){this._rate=e}reset(){this.slopeCount=0,this.prevSampleL=0,this.prevSampleR=0}clone(){const e=new An;return e.rate=this._rate,e}process(){const e=this._inputBuffer.frameCount;this._outputBuffer.ensureAdditionalCapacity(e/this._rate+1);const t=this.transpose(e);this._inputBuffer.receive(),this._outputBuffer.put(t)}transpose(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(0===e)return 0;const t=this._inputBuffer.vector,i=this._inputBuffer.startIndex,s=this._outputBuffer.vector,r=this._outputBuffer.endIndex;let a=0,o=0;for(;this.slopeCount<1;)s[r+2*o]=(1-this.slopeCount)*this.prevSampleL+this.slopeCount*t[i],s[r+2*o+1]=(1-this.slopeCount)*this.prevSampleR+this.slopeCount*t[i+1],o+=1,this.slopeCount+=this._rate;if(this.slopeCount-=1,1!==e)e:for(;;){for(;this.slopeCount>1;)if(this.slopeCount-=1,a+=1,a>=e-1)break e;const n=i+2*a;s[r+2*o]=(1-this.slopeCount)*t[n]+this.slopeCount*t[n+2],s[r+2*o+1]=(1-this.slopeCount)*t[n+1]+this.slopeCount*t[n+3],o+=1,this.slopeCount+=this._rate}return this.prevSampleL=t[i+2*e-2],this.prevSampleR=t[i+2*e-1],o}}const bn=function(){};class vn extends class{constructor(e){this._pipe=e}destroy(){}get pipe(){return this._pipe}get inputBuffer(){return this._pipe.inputBuffer}get outputBuffer(){return this._pipe.outputBuffer}fillInputBuffer(){throw new Error("fillInputBuffer() not overridden")}fillOutputBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;for(;this.outputBuffer.frameCount2&&void 0!==arguments[2]?arguments[2]:bn;super(t),this.callback=i,this.sourceSound=e,this.historyBufferSize=22050,this._sourcePosition=0,this.outputBufferPosition=0,this._position=0}destroy(){this.clear(),this.sourceSound.destroy(),this.sourceSound=null,this._sourcePosition=0,this.outputBufferPosition=0,this._position=0}get position(){return this._position}set position(e){if(e>this._position)throw new RangeError("New position may not be greater than current position");const t=this.outputBufferPosition-(this._position-e);if(t<0)throw new RangeError("New position falls outside of history buffer");this.outputBufferPosition=t,this._position=e}get sourcePosition(){return this._sourcePosition}set sourcePosition(e){this.clear(),this._sourcePosition=e}onEnd(){this.callback()}fillInputBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=new Float32Array(2*e),i=this.sourceSound.extract(t,e,this._sourcePosition);this._sourcePosition+=i,this.inputBuffer.putSamples(t,0,i)}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillOutputBuffer(this.outputBufferPosition+t);const i=Math.min(t,this.outputBuffer.frameCount-this.outputBufferPosition);this.outputBuffer.extract(e,this.outputBufferPosition,i);const s=this.outputBufferPosition+i;return this.outputBufferPosition=Math.min(this.historyBufferSize,s),this.outputBuffer.receive(Math.max(s-this.historyBufferSize,0)),this._position+=i,i}handleSampleData(e){this.extract(e.data,4096)}clear(){super.clear(),this.outputBufferPosition=0}}const _n=[[124,186,248,310,372,434,496,558,620,682,744,806,868,930,992,1054,1116,1178,1240,1302,1364,1426,1488,0],[-100,-75,-50,-25,25,50,75,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-20,-15,-10,-5,5,10,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-4,-3,-2,-1,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Sn=-10/1.5;class En extends yn{constructor(e){super(e),this._quickSeek=!0,this.midBufferDirty=!1,this.midBuffer=null,this.refMidBuffer=null,this.overlapLength=0,this.autoSeqSetting=!0,this.autoSeekSetting=!0,this._tempo=1,this.setParameters(44100,0,0,8)}destroy(){this.clear(),super.destroy()}clear(){super.clear(),this.clearMidBuffer(),this.refMidBuffer=null}clearMidBuffer(){this.midBufferDirty&&(this.midBufferDirty=!1),this.midBuffer=null}setParameters(e,t,i,s){e>0&&(this.sampleRate=e),s>0&&(this.overlapMs=s),t>0?(this.sequenceMs=t,this.autoSeqSetting=!1):this.autoSeqSetting=!0,i>0?(this.seekWindowMs=i,this.autoSeekSetting=!1):this.autoSeekSetting=!0,this.calculateSequenceParameters(),this.calculateOverlapLength(this.overlapMs),this.tempo=this._tempo}set tempo(e){let t;this._tempo=e,this.calculateSequenceParameters(),this.nominalSkip=this._tempo*(this.seekWindowLength-this.overlapLength),this.skipFract=0,t=Math.floor(this.nominalSkip+.5),this.sampleReq=Math.max(t+this.overlapLength,this.seekWindowLength)+this.seekLength}get tempo(){return this._tempo}get inputChunkSize(){return this.sampleReq}get outputChunkSize(){return this.overlapLength+Math.max(0,this.seekWindowLength-2*this.overlapLength)}calculateOverlapLength(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;e=this.sampleRate*t/1e3,e=e<16?16:e,e-=e%8,this.overlapLength=e,this.refMidBuffer=new Float32Array(2*this.overlapLength),this.midBuffer=new Float32Array(2*this.overlapLength)}checkLimits(e,t,i){return ei?i:e}calculateSequenceParameters(){let e,t;this.autoSeqSetting&&(e=150+-50*this._tempo,e=this.checkLimits(e,50,125),this.sequenceMs=Math.floor(e+.5)),this.autoSeekSetting&&(t=28.333333333333332+Sn*this._tempo,t=this.checkLimits(t,15,25),this.seekWindowMs=Math.floor(t+.5)),this.seekWindowLength=Math.floor(this.sampleRate*this.sequenceMs/1e3),this.seekLength=Math.floor(this.sampleRate*this.seekWindowMs/1e3)}set quickSeek(e){this._quickSeek=e}clone(){const e=new En;return e.tempo=this._tempo,e.setParameters(this.sampleRate,this.sequenceMs,this.seekWindowMs,this.overlapMs),e}seekBestOverlapPosition(){return this._quickSeek?this.seekBestOverlapPositionStereoQuick():this.seekBestOverlapPositionStereo()}seekBestOverlapPositionStereo(){let e,t,i,s=0;for(this.preCalculateCorrelationReferenceStereo(),e=0,t=Number.MIN_VALUE;st&&(t=i,e=s);return e}seekBestOverlapPositionStereoQuick(){let e,t,i,s,r,a=0;for(this.preCalculateCorrelationReferenceStereo(),t=Number.MIN_VALUE,e=0,s=0,r=0;a<4;a+=1){let o=0;for(;_n[a][o]&&(r=s+_n[a][o],!(r>=this.seekLength));)i=this.calculateCrossCorrelationStereo(2*r,this.refMidBuffer),i>t&&(t=i,e=r),o+=1;s=e}return e}preCalculateCorrelationReferenceStereo(){let e,t,i=0;for(;i=this.sampleReq;){e=this.seekBestOverlapPosition(),this._outputBuffer.ensureAdditionalCapacity(this.overlapLength),this.overlap(Math.floor(e)),this._outputBuffer.put(this.overlapLength),t=this.seekWindowLength-2*this.overlapLength,t>0&&this._outputBuffer.putBuffer(this._inputBuffer,e+this.overlapLength,t);const s=this._inputBuffer.startIndex+2*(e+this.seekWindowLength-this.overlapLength);this.midBuffer.set(this._inputBuffer.vector.subarray(s,s+2*this.overlapLength)),this.skipFract+=this.nominalSkip,i=Math.floor(this.skipFract),this.skipFract-=i,this._inputBuffer.receive(i)}}}const Tn=function(e,t){return(e>t?e-t:t-e)>1e-10};class wn{constructor(){this.transposer=new An(!1),this.stretch=new En(!1),this._inputBuffer=new gn,this._intermediateBuffer=new gn,this._outputBuffer=new gn,this._rate=0,this._tempo=0,this.virtualPitch=1,this.virtualRate=1,this.virtualTempo=1,this.calculateEffectiveRateAndTempo()}destroy(){this.clear(),this._inputBuffer.destroy(),this._intermediateBuffer.destroy(),this._outputBuffer.destroy(),this._inputBuffer=null,this._intermediateBuffer=null,this._outputBuffer=null}clear(){this.transposer.clear(),this.stretch.clear()}clone(){const e=new wn;return e.rate=this.rate,e.tempo=this.tempo,e}get rate(){return this._rate}set rate(e){this.virtualRate=e,this.calculateEffectiveRateAndTempo()}set rateChange(e){this._rate=1+.01*e}get tempo(){return this._tempo}set tempo(e){this.virtualTempo=e,this.calculateEffectiveRateAndTempo()}set tempoChange(e){this.tempo=1+.01*e}set pitch(e){this.virtualPitch=e,this.calculateEffectiveRateAndTempo()}set pitchOctaves(e){this.pitch=Math.exp(.69314718056*e),this.calculateEffectiveRateAndTempo()}set pitchSemitones(e){this.pitchOctaves=e/12}get inputBuffer(){return this._inputBuffer}get outputBuffer(){return this._outputBuffer}calculateEffectiveRateAndTempo(){const e=this._tempo,t=this._rate;this._tempo=this.virtualTempo/this.virtualPitch,this._rate=this.virtualRate*this.virtualPitch,Tn(this._tempo,e)&&(this.stretch.tempo=this._tempo),Tn(this._rate,t)&&(this.transposer.rate=this._rate),this._rate>1?this._outputBuffer!=this.transposer.outputBuffer&&(this.stretch.inputBuffer=this._inputBuffer,this.stretch.outputBuffer=this._intermediateBuffer,this.transposer.inputBuffer=this._intermediateBuffer,this.transposer.outputBuffer=this._outputBuffer):this._outputBuffer!=this.stretch.outputBuffer&&(this.transposer.inputBuffer=this._inputBuffer,this.transposer.outputBuffer=this._intermediateBuffer,this.stretch.inputBuffer=this._intermediateBuffer,this.stretch.outputBuffer=this._outputBuffer)}process(){this._rate>1?(this.stretch.process(),this.transposer.process()):(this.transposer.process(),this.stretch.process())}}class kn{constructor(e,t,i){this.player=e,this.audio=t,this.soundTouch=new wn,this.soundTouch.tempo=1,this.soundTouch.rate=1,this.filter=new vn(i,this.soundTouch)}destroy(){this.filter&&(this.filter.destroy(),this.filter=null),this.soundTouch&&(this.soundTouch.destroy(),this.soundTouch=null)}setRate(e){e!==this.soundTouch.rate&&(this.soundTouch.tempo=e)}provide(e){let t=new Float32Array(2*e),i=this.filter.extract(t,e),s=new Float32Array(i),r=new Float32Array(i);for(let e=0;e{e()})),this.eventListenList=[]),this.$audio&&(this.$audio.pause(),this.$audio.srcObject=null,this.$audio.parentNode&&this.$audio.parentNode.removeChild(this.$audio),this.$audio=null),this.processor&&(this.processor.destroy(),this.processor=null),this.rateProcessor&&(this.rateProcessor.destroy(),this.rateProcessor=null),this.scriptNodeInterval&&(clearInterval(this.scriptNodeInterval),this.scriptNodeInterval=null),this.defaultPlaybackRate=1,this.playbackRate=1,this.scriptStartTime=0,this.audioBufferSize=0,this.engineType=Ps,this.player.debugLog("AudioContext","destroy"),!0}isAudioPlaying(){return this.$audio&&Lo(this.$audio.paused)&&Lo(this.$audio.ended)&&0!==this.$audio.playbackRate&&0!==this.$audio.readyState}_bindAudioProxy(){const{proxy:e}=this.player.events,t=e(this.$audio,"canplay",(()=>{this.player.debugLog("AudioContext","canplay"),this._delayPlay&&this._audioElementPlay()}));this.eventListenList.push(t)}_getAudioElementReadyState(){let e=0;return this.$audio&&(e=this.$audio.readyState),e}audioElementPlay(){if(this.$audio){const e=this._getAudioElementReadyState();if(this.player.debugLog("AudioContext",`play and readyState: ${e}`),!(0!==e||ro()&&La()))return this.player.debugWarn("AudioContext","readyState is 0 and set _delayPlay to true"),void(this._delayPlay=!0);this._audioElementPlay()}}_audioElementPlay(){this.$audio&&this.$audio.play().then((()=>{this._delayPlay=!1,this.player.debugLog("AudioContext","_audioElementPlay success and volume is ",this.$audio.volume),setTimeout((()=>{this.isAudioPlaying()||(this.player.debugWarn("AudioContext","play failed and retry play"),this._audioElementPlay())}),100),this.isAudioPlaying()&&(this.player.debugLog("AudioContext","play success and remove document click event listener"),document.removeEventListener("click",this._audioElementPlay.bind(this)))})).catch((e=>{this.player.debugError("AudioContext","_audioElementPlay error",e),this.player.debugLog("AudioContext","play failed and add document click event listener"),document.addEventListener("click",this._audioElementPlay.bind(this))}))}getAudioBufferSize(){return this.audioBufferSize}get oneBufferDuration(){return this.audioBufferSize/this.audioContext.sampleRate*1e3}get isActiveEngineType(){return this.engineType===Is}getBufferListDuration(){return this.bufferList.length*this.oneBufferDuration}isMoreThanMinBufferDuration(){return this.getBufferListDuration()>=100*this.playbackRate}initProcessor(){this.processor=new fn(this.player,this,this.audioInfo.channels,this.audioBufferSize),this.rateProcessor=new kn(this.player,this,this.processor)}getAutoAudioEngineType(){let e=this.player._opt.audioEngine||Ps;const t=()=>{e=ro()&&Ta()?Is:(La()&&this.player._opt.supportLockScreenPlayAudio||go()&&this.supportAudioWorklet(),Ps)};return this.player._opt.audioEngine?this.player._opt.audioEngine===Rs&&go()&&this.supportAudioWorklet()?e=Ps:this.player._opt.audioEngine===Is?e=Is:this.player._opt.audioEngine===Ps?e=Ps:t():t(),e}getAudioBufferSizeByType(){const e=this.engineType;this.player._opt.hasVideo;const t=this.player._opt.weiXinInAndroidAudioBufferSize;return e===Rs?1024:e===Is?t||4800:1024}supportAudioWorklet(){return this.audioContext&&this.audioContext.audioWorklet&&"function"==typeof this.audioContext.audioWorklet.addModule}initScriptNode(){this.playing=!0,this.hasInitScriptNode||(this.initProcessor(),this.engineType===Rs?this.initWorkletScriptNode():this.engineType===Is?this.initIntervalScriptNode():this.engineType===Ps&&this.initProcessScriptNode(),this.audioElementPlay())}getEngineType(){return this.engineType}isPlaybackRateSpeed(){return this.playbackRate>this.defaultPlaybackRate}initProcessScriptNode(){const e=this.audioContext.createScriptProcessor(this.audioBufferSize,0,this.audioInfo.channels);e.onaudioprocess=e=>{const t=e.outputBuffer;this.handleScriptNodeCallback(t)},e.connect(this.gainNode),this.scriptNode=e,this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination),this.hasInitScriptNode=!0}initIntervalScriptNode(){this.scriptStartTime=0;const e=1e3*this.audioBufferSize/this.audioContext.sampleRate;this.scriptNodeInterval=setInterval((()=>{if(0===this.bufferList.length||Lo(this.playing)||this.isMute)return void(this.playing&&Lo(this.isMute)&&this.player.debugLog("AudioContext",`interval script node and bufferList is ${this.bufferList.length} or playing is ${this.playing}`));const e=this.audioContext.createBufferSource(),t=this.audioContext.createBuffer(this.audioInfo.channels,this.audioBufferSize,this.audioContext.sampleRate);this.handleScriptNodeCallback(t,(()=>{this.scriptStartTime{"init"===e.data.message?(this.audioBufferSize=e.data.audioBufferSize,this.start=e.data.start,this.channels=e.data.channels,this.state=0,this.offset=0,this.samplesArray=[]):"stop"===e.data.message?(this.state=0,this.start=!1,this.offset=0,this.samplesArray=[]):"data"===e.data.message?this.samplesArray.push(e.data.buffer):"zero"===e.data.message&&this.samplesArray.push({left:new Float32Array(this.audioBufferSize).fill(0),right:new Float32Array(this.audioBufferSize).fill(0)})}}process(e,t,i){const s=t[0][0],r=t[0][1];if(0===this.offset&&this.port.postMessage({message:"beep"}),0===this.state)this.state=1;else if(1===this.state&&this.samplesArray.length>=4)this.state=2;else if(2===this.state){const e=this.samplesArray[0];for(let t=0;t{if(this.player.isDestroyedOrClosed())return void this.player.debugLog("AudioContext","initWorkletScriptNode() player is destroyed");if(!this.audioContext)return void this.player.debugWarn("AudioContext","initWorkletScriptNode audioContext is null");let e=[1];2===this.audioInfo.channels&&(e=[1,1]);try{this.workletProcessorNode=new AudioWorkletNode(this.audioContext,"worklet-processor",{numberOfOutputs:this.audioInfo.channels,outputChannelCount:e})}catch(e){this.player.debugError("AudioContext","initWorkletScriptNode error",e),this.workletProcessorNode=null,this.tierDownToProcessScript()}this.workletProcessorNode&&(this.workletProcessorNode.connect(this.gainNode),this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination),this.hasInitScriptNode=!0,this.workletProcessorNode.port.postMessage({message:"init",audioBufferSize:this.audioBufferSize,start:!0,channels:this.audioInfo.channels}),this.workletProcessorNode.port.onmessage=e=>{this.workletProcessorNode?this.audioContext?this.handleScriptNodeCallback(this.workletProcessorNode,null,!0):this.workletProcessorNode.port.postMessage({message:"zero"}):this.player.debugError("AudioContext","workletProcessorNode is null")})})),this.clearWorkletUrlTimeout=setTimeout((()=>{URL.revokeObjectURL(this.workletUrl),this.workletUrl=null,this.clearWorkletUrlTimeout=null}),ae)}tierDownToProcessScript(){this.player.debugLog("AudioContext","tierDownToProcessScript"),this.engineType=Ps,this.audioBufferSize=this.getAudioBufferSizeByType(),this.initProcessScriptNode(),this.audioElementPlay()}handleScriptNodeCallback(e,t){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t||ca;let r=e.length;s&&(i=e,r=this.audioBufferSize);const a=this.audioInfo.channels;if(this.playing&&this.isMoreThanMinBufferDuration()){if(this.player._opt,this.player.isDestroyedOrClosed())return this.player.debugLog(this.TAG_NAME,"handleScriptNodeCallback() player is destroyed or closed"),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),void t();if(this.player.openSyncAudioAndVideo()&&ko(this.player.visibility)){this.calcPlaybackRateBySync();const r=this.player.getAudioSyncVideoDiff();if(r>this.player._opt.syncAudioAndVideoDiff){const o=this.player.getCurrentVideoAndAudio();return this.player.debugWarn("AudioContext",`audioSyncVideoOption more than diff :${r},\n and video is ${o.video} ,\n and audio is ${o.audio} , waiting and bufferList is ${this.bufferList.length}, fill zero`),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),void t()}}let o=this._provide(r);if(0===o.size)return Lo(this.player.isPlaybackOnlyDecodeIFrame())&&this.player.debugWarn("AudioContext",`bufferList size is ${this.bufferList.length} outputBufferLength is ${r},and bufferItem.size is 0, fill zero`),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),void t();o&&o.ts&&(this.player.audioTimestamp=o.ts),s?i.port.postMessage({message:"data",buffer:o}):this.fillScriptNodeOutputBuffer(e,a,o),t()}else 0===this.bufferList.length&&this.playing&&Lo(this.isMute)&&Lo(this.player.isPlaybackOnlyDecodeIFrame())&&this.player.debugWarn("AudioContext",`bufferList size is 0 and outputBufferLength is ${r}, fill zero`),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),t()}fillScriptNodeOutputBuffer(e,t,i){if(1===t){const t=e.getChannelData(0);i?0===i.size?t.fill(0):t.set(i.left):t.fill(0)}else if(2===t){const t=e.getChannelData(0),s=e.getChannelData(1);i?0===i.size?(t.fill(0),s.fill(0)):(t.set(i.left),s.set(i.right)):(t.fill(0),s.fill(0))}}play(e,t){this.isMute||(this.hasInitScriptNode?(this.hasAudio=!0,this.player.latestAudioTimestamp=t,this.bufferList.push({buffer:e,ts:t}),Lo(this.player.openSyncAudioAndVideo())&&ko(this.player.isPlayStream())&&this.calcPlaybackRateByBuffer()):this.player.debugWarn("AudioContext","play has not init script node"))}calcPlaybackRateBySync(){if(this.isMute)return;if(!this.playing)return;const e=Math.floor(2e3/this.oneBufferDuration);if(this.bufferList.length>e)return this.player.debugWarn("AudioContext",`bufferList length ${this.bufferList.length} more than ${e}, and drop`),void this.clear();const t=this.player.getAudioSyncVideoDiff();if(this.getEngineType()===Is){if(t<-this.player._opt.syncAudioAndVideoDiff){this.player.debugWarn("AudioContext",`engine active , audioSyncVideoOption ${-this.player._opt.syncAudioAndVideoDiff} less than diff :${t},\n and bufferlist is ${this.bufferList.length}`);const e=this.player.getRenderCurrentPts();for(;this.bufferList.length>0;){const t=this.bufferList[0],i=t.ts-e;if(i>-this.player._opt.syncAudioAndVideoDiff/2){this.player.audioTimestamp=t.ts,this.player.debugLog("AudioContext",`engine active , audioSyncVideoOption\n item.ts is ${t.ts} and currentVideoTimestamp is ${e}, diff is ${i} > -${this.player._opt.syncAudioAndVideoDiff/2} and end`);break}this.bufferList.shift(),this.player.audioTimestamp=t.ts}}}else{let e=this.playbackRate;t<-this.player._opt.syncAudioAndVideoDiff?e===this.defaultPlaybackRate&&(this.player.debugLog("AudioContext",`audioSyncVideoOption ${-this.player._opt.syncAudioAndVideoDiff} less than diff :${t},\n speed up, playbackRate is ${e},\n and bufferList is ${this.bufferList.length}`),e=this.defaultPlaybackRate+.2):t>-this.player._opt.syncAudioAndVideoDiff/2&&e!==this.defaultPlaybackRate&&(this.player.debugLog("AudioContext",`diff is ${t} > -${this.player._opt.syncAudioAndVideoDiff/2} and speed to 1`),e=this.defaultPlaybackRate),this.updatePlaybackRate(e)}}calcPlaybackRateByBuffer(){if(this.isMute)return;if(!this.playing)return;let e=this.playbackRate,t=1e3,i=5e3;this.isAudioPlayer&&(t=this.player._opt.videoBufferDelay,i=this.player._opt.videoBufferMax);const s=Math.floor(t/this.oneBufferDuration),r=Math.floor(i/this.oneBufferDuration);if(this.bufferList.length>r)return this.player.debugWarn("AudioContext",`bufferList length ${this.bufferList.length} more than ${r}, and drop`),void this.clear();this.getEngineType()!==Is&&(this.bufferList.length>s?(e=this.defaultPlaybackRate+.2,this.player.debugLog("AudioContext",`bufferList length ${this.bufferList.length} more than ${s}, speed up, playbackRate is ${e}`)):this.bufferList.length0?this.player.emit(At.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(At.mute,!0),this.$video.volume=e,this.player.emit(At.volumechange,this.player.volume),this.player.emit(At.volume,this.player.volume),this._prevVolume=e))}clear(){}play(e,t){const i=this.player.video.awriter;if(i)if(e.close)try{i.write(e),fo(e)}catch(e){this.player.debugError("Video","play audio error",e)}else try{const s=function(e,t){const i={...t,format:"f32-planar",data:new Float32Array(0)};if(i.numberOfFrames=e[0].length,1===e.length)i.data=new Float32Array(e[0]);else if(2===e.length){const t=new Float32Array(e[0].length+e[1].length);t.set(e[0],0),t.set(e[1],e[0].length),i.data=t}return new AudioData(i)}(e,{sampleRate:Pr,numberOfChannels:this.audioInfo.channels,timestamp:1e3*t});i.write(s),fo(s)}catch(e){this.player.debugError("Video","play audio error",e)}else this.player.debugWarn("Audio","play and this.awriter is null")}pause(){}resume(){}getEngineType(){return"audio"}isPlaybackRateSpeed(){return!1}setRate(e){}initScriptNode(){}initScriptNodeDelay(){}audioEnabled(){this.mute(!1)}getAudioBufferSize(){return 2048}}class Dn extends Ln{constructor(e){super(e),this.delayTimeout=null,this.TAG_NAME=this.player.isPlayback()?"AudioPlaybackLoader":"AudioPlayVodLoader",this.player.isPlayback()?this.player.on(At.playbackPause,this.listenPlaybackPause.bind(this)):this.player.isPlayVod()&&(this.player.on(At.playVodPause,this.listenPlayVodPause.bind(this)),this.player.on(At.playVodSeek,this.listenSeeking.bind(this))),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=null),await super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}listenPlaybackPause(e){e?(this.pause(),this.player.isPlayback()&&this.player.playback.isPlaybackPauseClearCache&&this.clear()):this.resume()}listenPlayVodPause(e){e?this.pause():this.resume()}listenSeeking(e){e*=1e3,this.player.debugLog(this.TAG_NAME,"listenSeeking and update audioTimestamp to",e),this.player.audioTimestamp=e,this.clear()}initScriptNodeDelay(){const e=this.player._opt.playbackDelayTime;e>0?this.delayTimeout=setTimeout((()=>{this.initScriptNode()}),e):this.initScriptNode()}setRate(e){e!==this.defaultPlaybackRate&&this.rateProcessor&&(this.player.debugLog(this.TAG_NAME,"setRate",e),this.defaultPlaybackRate=e,this.updatePlaybackRate(e))}play(e,t){this.player.isPlayVod()&&this.player.playVod.isSeeking()?this.player.debugLog(this.TAG_NAME,"play, isSeeking, return"):super.play(e,t)}}class xn extends Ln{constructor(e){super(e),this.TAG_NAME="AudioPlayerLoader",this.isAudioPlayer=!0,this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return await super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}play(e,t){Lo(this.playing)||super.play(e,t)}pause(){this.player.debugLog(this.TAG_NAME,"pause"),this.playing=!1,this.clear()}resume(){this.player.debugLog(this.TAG_NAME,"resume"),this.playing=!0}}class Rn extends Oo{constructor(e){super(),this.TAG_NAME="AudioWebrtcPlayerLoader",this.$video=new Audio,this.player=e,this.init=!1,this._prevVolume=null,this.eventsDestroy=[],this._handleDocumentClickPlay=this._handleClickPlay.bind(this),this._initAudioEvents(),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this.resetInit(),this.off(),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this._prevVolume=null,this.$video&&(this.$video.pause(),this.$video.srcObject=null,this.$video=null),this.player.debugLog(this.TAG_NAME,"destroy"),!0}_initAudioEvents(){const{proxy:e}=this.player.events,t=e(this.$video,"timeupdate",(e=>{const t=parseInt(e.timeStamp,10);this.player.handleRender(),this.player.updateStats({ts:t})}));this.eventsDestroy.push(t)}resetInit(){this.init=!1}_handleClickPlay(){this.$video&&(this.$video.play(),document.removeEventListener("click",this._handleDocumentClickPlay))}bindStream(e){this.$video.srcObject=e,this.$video.volume=1,this.$video.play().catch((e=>{this.player.debugWarn(this.TAG_NAME,"audio play error",e),document.addEventListener("click",this._handleDocumentClickPlay)}))}getEngineType(){return"audio"}get isPlaying(){return!0}get volume(){return ko(this.$video.muted)?0:this.$video.volume}get isMute(){return 0===this.$video.volume||ko(this.$video.muted)}mute(e){this.setVolume(e?0:this.player.lastVolume||.5)}setVolume(e){e=parseFloat(e),isNaN(e)||null===this.$video||(this.$video.muted&&(this.$video.muted=!1),e=ga(e,0,1),La()&&(this.$video.muted=0===e),null!==this._prevVolume&&this._prevVolume===e||(null===this._prevVolume?this.player.emit(At.mute,0===e):0===this._prevVolume&&e>0?this.player.emit(At.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(At.mute,!0),this.$video.volume=e,this.player.emit(At.volumechange,this.player.volume),this.player.emit(At.volume,this.player.volume),this._prevVolume=e))}pause(){}resume(){}audioEnabled(){this.mute(!1)}}class Pn{constructor(e){return new(Pn.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.playType===S||e.playType===E?e.useMSE&&e.mseDecodeAudio||e.useWCS&&e.wcsDecodeAudio?Cn:Dn:e.playType===_?e.isWebrtc?Rn:xn:e.isHls&&Lo(e.supportHls265)||e.isWebrtc&&Lo(e.isWebrtcH265)||e.useMSE&&e.mseDecodeAudio||e.isAliyunRtc||e.useWCS&&e.wcsDecodeAudio||e.useWasm&&e.wasmPlayAudioUseVideoRender?Cn:Ln}}class In extends Oo{constructor(e){super(),this.player=e,this.playing=!1,this._requestAbort=!1,this._status=ar,this.writableStream=null,this.abortController=new AbortController,this.streamRate=va((t=>{e.emit(At.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("FetchStream","init")}async destroy(){return this.abort(),await this._closeWritableStream(),this.off(),this._status=ar,this.streamRate=null,this.stopStreamRateInterval(),this.player.debugLog("FetchStream","destroy"),!0}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}async _closeWritableStream(){if(this.writableStream&&Lo(this.writableStream.locked))try{await this.writableStream.close(),this.writableStream=null,this.player.debugLog("FetchStream","close writableStream success")}catch(e){this.player.debugLog("FetchStream","destroy and writableStream.close()",e)}}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:i}=this.player;this.player._times.streamStart=fa();const s=Object.assign({signal:this.abortController.signal},{headers:t.headers||{}});fetch(e,s).then((e=>{if(this._requestAbort)return this._status=ar,void e.body.cancel();if(!function(e){return e.ok&&e.status>=200&&e.status<=299}(e))return this.player.debugError("FetchStream",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),this.abort(),void this.emit(_t.fetchError,`fetch response status is ${e.status} and ok is ${e.ok}`);if(this.emit(At.streamSuccess),this.startStreamRateInterval(),"undefined"!=typeof WritableStream)this.player.debugLog("FetchStream","use WritableStream() to read stream"),this.writableStream=new WritableStream({write:e=>this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?(this.player.debugLog("FetchStream","writableStream.write() and this.abortController.signal.aborted so return"),void(this._status=nr)):ko(this._requestAbort)?(this.player.debugLog("FetchStream","writableStream.write() and this._requestAbort is true so return"),this._status=nr,void this.abort()):"string"!=typeof e?(this._status=or,this.streamRate&&this.streamRate(e.byteLength),i.dispatch(e)):void this.player.debugWarn("FetchStream",`writableStream.write() and value is "${e}" string so return`),close:()=>{this._status=nr,i.close(),this.emit(At.streamEnd,"fetch done")},abort:e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return this.player.debugLog("FetchStream","writableStream.abort() and this.abortController.signal.aborted so return"),void(this._status=nr);i.close();const t=e.toString();-1===t.indexOf(Ss)&&-1===t.indexOf(Es)&&e.name!==Ts&&(this.abort(),this.emit(_t.fetchError,e))}}),e.body.pipeTo(this.writableStream).catch((e=>{"AbortError"!==e.name&&this.player.debugLog("FetchStream","res.body.pipeTo() error",e.name,e.toString())}));else{this.player.debugLog("FetchStream","not support WritableStream and use getReader() to read stream");const t=e.body.getReader(),s=()=>{t.read().then((e=>{let{done:t,value:r}=e;return t?(this._status=nr,i.close(),void this.emit(At.streamEnd,"fetch done")):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?(this.player.debugLog("FetchStream","reader.read() and this.abortController.signal.aborted so return"),void(this._status=nr)):ko(this._requestAbort)?(this.player.debugLog("FetchStream","reader.read() and this._requestAbort is true so return"),this._status=nr,void this.abort()):void("string"!=typeof r?(this._status=or,this.streamRate&&this.streamRate(r.byteLength),i.dispatch(r),s()):this.player.debugWarn("FetchStream",`reader.read() and value is "${r}" string so return`))})).catch((e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return this.player.debugLog("FetchStream","reader.read().catch() and this.abortController.signal.aborted so return"),void(this._status=nr);i.close();const t=e.toString();-1===t.indexOf(Ss)&&-1===t.indexOf(Es)&&e.name!==Ts&&(this.abort(),this.emit(_t.fetchError,e))}))};s()}})).catch((e=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==e.name&&(i.close(),this.abort(),this.emit(_t.fetchError,e))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null,this.player.debugLog("FetchStream","abortController.abort() success")}catch(e){this.abortController=null,this.player.debugLog("FetchStream","abortController.abort() error",e)}}getStreamType(){return u}}class Bn extends Oo{constructor(e){super(),this.TAG_NAME="FetchWorkerLoader",this.player=e,this.playing=!1,this.fetchWorker=null,this.workerClearTimeout=null,this.workerUrl=null,this.destroyResolve=null,this.decoderWorkerCloseTimeout=null,this.streamRate=va((t=>{e.emit(At.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,this._initFetchWorker(),e.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{this.fetchWorker?(this.player.debugLog(this.TAG_NAME,"send destroy"),this.fetchWorker.postMessage({cmd:rt}),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this._destroy(),setTimeout((()=>{e()}),0)}),2e3)):(this._destroy(),setTimeout((()=>{e()}),0))}))}_destroy(){this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this._stopStreamRateInterval(),this.streamRate=null,this.fetchWorker&&(this.fetchWorker.terminate(),this.fetchWorker.onmessage=null,this.fetchWorker=null),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.player.debugLog(this.TAG_NAME,"destroy")}_initFetchWorker(){const e=Po(function(){function e(e){return!0===e||"true"===e}const t="The user aborted a request",i="AbortError",s="AbortError",r="fetch",a="destroy",o="destroyEnd",n="buffer",l="fetchError",d="fetchClose",h="fetchSuccess",c="idle",u="buffering",p="complete";let m=new class{constructor(){this._requestAbort=!1,this._status=c,this.writableStream=null,this.isChrome=!1,this.abortController=new AbortController}destroy(){var e;this.abort(),this.writableStream&&(!1===(e=this.writableStream.locked)||"false"===e)&&this.writableStream.close().catch((e=>{})),this.writableStream=null,this._status=c}fetchStream(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=Object.assign({signal:this.abortController.signal},{headers:a.headers||{}});fetch(r,o).then((r=>{if(this._requestAbort)return this._status=c,void r.body.cancel();if(!function(e){return e.ok&&e.status>=200&&e.status<=299}(r))return this.abort(),void postMessage({cmd:l,message:`fetch response status is ${r.status} and ok is ${r.ok}`});if(postMessage({cmd:h}),"undefined"!=typeof WritableStream)this.writableStream=new WritableStream({write:t=>{if(!(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted))return e(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof t&&(this._status=u,postMessage({cmd:n,buffer:t},[t.buffer])));this._status=p},close:()=>{this._status=p,postMessage({cmd:d})},abort:e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=e.toString();-1===r.indexOf(t)&&-1===r.indexOf(i)&&e.name!==s&&(this.abort(),postMessage({cmd:l,message:e.toString()}))}}),r.body.pipeTo(this.writableStream).catch((e=>{}));else{const a=r.body.getReader(),o=()=>{a.read().then((t=>{let{done:i,value:s}=t;return i?(this._status=p,void postMessage({cmd:d})):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?void(this._status=p):e(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof s&&(this._status=u,postMessage({cmd:n,buffer:s},[s.buffer]),o()))})).catch((e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=e.toString();-1===r.indexOf(t)&&-1===r.indexOf(i)&&e.name!==s&&(this.abort(),postMessage({cmd:l,message:e.toString()}))}))};o()}})).catch((e=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==e.name&&(this.abort(),postMessage({cmd:l,message:e.toString()}))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null}catch(e){this.abortController=null}}};self.onmessage=t=>{const i=t.data;switch(i.cmd){case r:m.isChrome=e(i.isChrome),m.fetchStream(i.url,JSON.parse(i.options));break;case a:m.destroy(),m=null,postMessage({cmd:o})}}}.toString()),t=new Blob([e],{type:"text/javascript"});let i=URL.createObjectURL(t);const s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ae),s.onmessage=e=>{const{demux:t}=this.player,i=e.data;switch(i.cmd){case ot:this.streamRate&&this.streamRate(i.buffer.byteLength),t.dispatch(i.buffer);break;case dt:this.emit(At.streamSuccess),this._startStreamRateInterval();break;case lt:t.close(),this.emit(At.streamEnd,"fetch done");break;case nt:t.close(),this.emit(_t.fetchError,i.message);break;case at:this._destroy()}},this.fetchWorker=s}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player._times.streamStart=fa(),this.fetchWorker.postMessage({cmd:st,url:e,isChrome:ao(),options:JSON.stringify(t)})}getStreamType(){return u}}class Mn extends Oo{constructor(e){super(),this.player=e,this.socket=null,this.socketStatus=St,this.wsUrl=null,this.requestAbort=!1,this.socketDestroyFnList=[],this.streamRate=va((t=>{e.emit(At.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("WebsocketStream","init")}async destroy(){this._closeWebSocket(),this.stopStreamRateInterval(),this.wsUrl=null,this.off(),this.player.debugLog("WebsocketStream","destroy")}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_createWebSocket(e){const t=this.player,{events:{proxy:i},demux:s}=t,r=e.protocols||[];this.socket=new WebSocket(this.wsUrl,r),this.socket.binaryType="arraybuffer";const a=i(this.socket,"open",(()=>{this.player.debugLog("WebsocketStream","socket open"),this.socketStatus=Et,this.emit(At.streamSuccess),this.player.emit(At.websocketOpen),this.startStreamRateInterval()})),o=i(this.socket,"message",(e=>{"string"!=typeof e.data?(this.streamRate&&this.streamRate(e.data.byteLength),this._handleMessage(e.data)):this.player.debugWarn("WebsocketStream",`websocket handle message message is "${e.data}" string so return`)})),n=i(this.socket,"close",(e=>{if(!this.player.isDestroyedOrClosed())return ko(this.requestAbort)?(this.requestAbort=!1,void this.player.debugLog("WebsocketStream","socket close and requestAbort is true")):void(this.socketStatus!==wt?(this.player.debugLog("WebsocketStream",`socket close and code is ${e.code}`),1006===e.code&&this.player.debugError("WebsocketStream",`socket close abnormally and code is ${e.code}`),s.close(),this.socketStatus=Tt,this.player.emit(At.websocketClose,e.code),this.emit(At.streamEnd,e.code)):this.player.debugLog("WebsocketStream","socket close and status is error, so return"))})),l=i(this.socket,"error",(e=>{if(this.player.isDestroyedOrClosed())return;if(ko(this.requestAbort))return this.requestAbort=!1,void this.player.debugLog("WebsocketStream","socket close and requestAbort is true");this.player.debugError("WebsocketStream","socket error",e),this.socketStatus=wt;const t=e.isTrusted?"websocket user aborted":"websocket error";this.emit(_t.websocketError,t),s.close(),this.player.debugLog("WebsocketStream","socket error:",t)}));this.socketDestroyFnList.push(a,o,n,l)}_closeWebSocket(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState?this.socket&&this.player.debugLog("WebsocketStream",`_closeWebSocket() socket is null or socket status is ${this.socket&&this.socket.readyState}`):(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socketDestroyFnList.forEach((e=>e())),this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket=null,this.socketStatus=St,this.streamRate=null}_handleMessage(e){const{demux:t}=this.player;t?t.dispatch(e):this.player.debugWarn("WebsocketStream","websocket handle message demux is null so return")}fetchStream(e,t){this.player._times.streamStart=fa(),this.wsUrl=e,this._createWebSocket(t)}sendMessage(e){this.socket?this.socketStatus===Et?this.socket.send(e):this.player.debugError("WebsocketStream",`websocket send message error and socket status is ${this.socketStatus}`):this.player.debugError("WebsocketStream","websocket send message socket is null")}getStreamType(){return m}}class Fn extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="WebsocketWorkerLoader",this.wsUrl=null,this.socketStatus=St,this.websocketWorker=null,this.workerClearTimeout=null,this.workerUrl=null,this.destroyResolve=null,this.decoderWorkerCloseTimeout=null,this.streamRate=va((t=>{e.emit(At.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,this._initWebsocketWorker(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{this.websocketWorker?(this.player.debugLog(this.TAG_NAME,"send destroy"),this._closeWebSocket(),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this._destroy(),e()}),2e3)):(this._destroy(),e())}))}_destroy(){this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this._stopStreamRateInterval(),this.streamRate=null,this.websocketWorker&&(this.websocketWorker.terminate(),this.websocketWorker.onmessage=null,this.websocketWorker=null),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.wsUrl=null,this.player.debugLog(this.TAG_NAME,"destroy")}_initWebsocketWorker(){const e=Po(function(){function e(e){return!0===e||"true"===e}const t={fetch:"fetch",sendMessage:"sendMessage",destroy:"destroy",destroyEnd:"destroyEnd",buffer:"buffer",websocketError:"websocketError",websocketClose:"websocketClose",websocketOpen:"websocketOpen"};let i=new class{constructor(){this.socket=null,this.wsUrl=null,this.requestAbort=!1}destroy(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState||(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socket.onopen=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.onmessage=null,this.socket=null}fetchStream(e,t){this.wsUrl=e,this._createWebSocket(t)}sendMessage(e){this.socket&&1===this.socket.readyState&&this.socket.send(e)}_createWebSocket(e){const t=e.protocols||[];this.socket=new WebSocket(this.wsUrl,t),this.socket.binaryType="arraybuffer",this.socket.onopen=this._handleWebsocketOpen.bind(this),this.socket.onclose=this._handleWebsocketClose.bind(this),this.socket.onerror=this._handleWebsocketError.bind(this),this.socket.onmessage=this._handleWebsocketMessage.bind(this)}_handleWebsocketOpen(){postMessage({cmd:t.websocketOpen})}_handleWebsocketClose(i){e(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:t.websocketClose,code:i.code})}_handleWebsocketError(i){e(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:t.websocketError,isTrusted:i.isTrusted})}_handleWebsocketMessage(e){if("string"==typeof e.data)return;const i=new Uint8Array(e.data);postMessage({cmd:t.buffer,buffer:i},[i.buffer])}};self.onmessage=e=>{const s=e.data;switch(s.cmd){case t.fetch:i.fetchStream(s.url,s.options);break;case t.destroy:i.destroy(),i=null,postMessage({cmd:t.destroyEnd});break;case t.send:i.sendMessage(s.message)}}}.toString()),t=new Blob([e],{type:"text/javascript"});let i=URL.createObjectURL(t);const s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ae),s.onmessage=e=>{const{demux:t}=this.player,i=e.data;switch(i.cmd){case mt:this.streamRate&&this.streamRate(i.buffer.byteLength),t.dispatch(i.buffer);break;case yt:this.player.debugLog(this.TAG_NAME,"socket open"),this.socketStatus=Et,this.emit(At.streamSuccess),this.player.emit(At.websocketOpen),this._startStreamRateInterval();break;case gt:if(this.player.isDestroyedOrClosed())return;if(this.socketStatus===wt)return void this.player.debugLog(this.TAG_NAME,"socket close and status is error, so return");this.player.debugLog(this.TAG_NAME,`socket close and code is ${i.code}`),1006===i.code&&this.player.debugError(this.TAG_NAME,`socket close abnormally and code is ${i.code}`),t.close(),this.socketStatus=Tt,this.player.emit(At.websocketClose,i.code),this.emit(At.streamEnd,i.code);break;case ft:if(this.player.isDestroyedOrClosed())return;this.player.debugError(this.TAG_NAME,"socket error"),this.socketStatus=wt;const e=i.isTrusted?"websocket user aborted":"websocket error";this.emit(_t.websocketError,e),t.close(),this.player.debugLog(this.TAG_NAME,"socket error:",e);break;case pt:this._destroy()}},this.websocketWorker=s}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_closeWebSocket(){this.websocketWorker&&this.websocketWorker.postMessage({cmd:ut})}fetchStream(e,t){this.player._times.streamStart=fa(),this.wsUrl=e,this.websocketWorker&&this.websocketWorker.postMessage({cmd:ht,url:e,options:t})}sendMessage(e){this.websocketWorker&&this.websocketWorker.postMessage({cmd:ct,message:e})}getStreamType(){return m}}class Un extends Oo{constructor(e){super(),this.player=e,e.debugLog("HlsStream","init")}async destroy(){return this.off(),this.player.debugLog("HlsStream","destroy"),!0}fetchStream(e){const{hlsDecoder:t,debug:i}=this.player;this.player._times.streamStart=fa(),t.loadSource(e).then((()=>{this.player.debugLog("HlsStream","loadSource success"),this.emit(At.streamSuccess)})).catch((e=>{this.emit(_t.hlsError,e)}))}getStreamType(){return p}}class On extends Oo{constructor(e){super(),this.player=e,this.webrctUrl=null,e.debugLog("WebrtcStream","init")}async destroy(){return this.webrctUrl=null,this.off(),this.player.debugLog("WebrtcStream","destroy"),!0}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{webrtc:i,debug:s}=this.player;if(this.player._times.streamStart=fa(),this.webrctUrl=e.replace("webrtc:",window.location.protocol),this.player.isWebrtcForM7S()&&-1===this.webrctUrl.indexOf("/webrtc/play")){const t=new URL(this.webrctUrl),i="/webrtc/play"+t.pathname;this.webrctUrl=t.origin+i+t.search,this.player.debugLog("WebrtcStream",`original url is ${e}, and new url is: ${this.webrctUrl}`)}i.loadSource(this.webrctUrl,t).then((()=>{this.player.debugLog("WebrtcStream","loadSource success"),this.emit(At.streamSuccess)})).catch((e=>{this.player.debugError("WebrtcStream","loadSource error",e),this.emit(_t.webrtcError,e)}))}getStreamType(){return f}}class Nn extends Oo{constructor(e){super(),this.player=e,this.transport=null,this.wtUrl=null,this.streamRate=va((t=>{e.emit(At.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("WebTransportLoader","init")}async destroy(){return this.abort(),this.off(),this.player.debugLog("WebTransportLoader","destroy"),!0}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_createWebTransport(){const e=this.player,{debug:t,events:{proxy:i},demux:s}=e;try{this.transport=new WebTransport(this.wtUrl),this.transport.ready.then((()=>{this.emit(At.streamSuccess),this.startStreamRateInterval(),this.transport.createBidirectionalStream().then((e=>{e.readable.pipeTo(new WritableStream(s.input))}))})).catch((e=>{this.player.debugWarn("WebTransportLoader","_createWebTransport-ready",e)}))}catch(e){this.player.debugWarn("WebTransportLoader","_createWebTransport",e)}}fetchStream(e){this.player._times.streamStart=fa(),this.wtUrl=e.replace(/^wt:/,"https:"),this._createWebTransport()}abort(){if(this.transport)try{this.transport.close(),this.transport=null}catch(e){this.transport=null}}getStreamType(){return g}}class jn extends Oo{constructor(e){super(),this.player=e,this.workUrl=null,e.debugLog("WorkerStream","init")}async destroy(){return this.workUrl=null,this.off(),this.player.debugLog("WorkerStream","destroy"),!0}sendMessage(e){this.player.decoderWorker.workerSendMessage(e)}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.workUrl=e,this.player._times.streamStart=fa(),this.player.decoderWorker.workerFetchStream(e,t)}getStreamType(){const e=this.player._opt.protocol;return y+" "+(e===o?u:m)}}class Gn extends Oo{constructor(e){super(),this.TAG_NAME="AliyunRtcLoader",this.player=e,e.debugLog(this.TAG_NAME,"init")}async destroy(){return this.off(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}fetchStream(e){const{aliyunRtcDecoder:t}=this.player;this.player._times.streamStart=fa(),t.loadSource(e).then((()=>{this.player.debugLog(this.TAG_NAME,"loadSource success"),this.emit(At.streamSuccess)})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource error",e),this.emit(_t.aliyunRtcError,e)}))}getStreamType(){return A}}class Vn extends Oo{constructor(e){super(),this.TAG_NAME="Mp4StreamLoader",this.player=e,e.debug.log(this.TAG_NAME,"init")}destroy(){this.off(),this.player.debug.log(this.TAG_NAME,"destroy")}fetchStream(e){const{mp4Decoder:t}=this.player;this.player._times.streamStart=fa(),t.loadSource(e).then((()=>{this.player.debugLog(this.TAG_NAME,"loadSource success"),this.emit(At.streamSuccess)})).catch((e=>{this.emit(_t.playVodMp4Error,e)}))}getStreamType(){return b}}class Wn{constructor(e){return new(Wn.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){const{protocol:t,useWasm:i,playType:s,useWCS:r,useMSE:c,demuxUseWorker:u,mainThreadFetchUseWorker:p,isFmp4:m}=e;return s===E&&m?Vn:t===n?Un:t===l?On:t===d?Nn:t===h?Gn:t===o?s===_?jn:s===v?i&&!uo(e)||u?jn:p?Bn:In:r||c?u?jn:p?Bn:In:jn:t===a?s===_?jn:s===v?i&&!uo(e)||u?jn:p?Fn:Mn:r||c?u?jn:p?Fn:Mn:jn:void 0}}var zn=Gr((function(e){function t(e,r){if(!e)throw"First parameter is required.";r=new i(e,r=r||{type:"video"});var a=this;function o(t){t&&(r.initCallback=function(){t(),t=r.initCallback=null});var i=new s(e,r);(p=new i(e,r)).record(),u("recording"),r.disableLogs||console.log("Initialized recorderType:",p.constructor.name,"for output-type:",r.type)}function n(e){if(e=e||function(){},p){if("paused"===a.state)return a.resumeRecording(),void setTimeout((function(){n(e)}),1);"recording"===a.state||r.disableLogs||console.warn('Recording state should be: "recording", however current state is: ',a.state),r.disableLogs||console.log("Stopped recording "+r.type+" stream."),"gif"!==r.type?p.stop(t):(p.stop(),t()),u("stopped")}else f();function t(t){if(p){Object.keys(p).forEach((function(e){"function"!=typeof p[e]&&(a[e]=p[e])}));var i=p.blob;if(!i){if(!t)throw"Recording failed.";p.blob=i=t}if(i&&!r.disableLogs&&console.log(i.type,"->",y(i.size)),e){var s;try{s=h.createObjectURL(i)}catch(e){}"function"==typeof e.call?e.call(a,s):e(s)}r.autoWriteToDisk&&d((function(e){var t={};t[r.type+"Blob"]=e,D.Store(t)}))}else"function"==typeof e.call?e.call(a,""):e("")}}function l(e){postMessage((new FileReaderSync).readAsDataURL(e))}function d(e,t){if(!e)throw"Pass a callback function over getDataURL.";var i=t?t.blob:(p||{}).blob;if(!i)return r.disableLogs||console.warn("Blob encoder did not finish its job yet."),void setTimeout((function(){d(e,t)}),1e3);if("undefined"==typeof Worker||navigator.mozGetUserMedia){var s=new FileReader;s.readAsDataURL(i),s.onload=function(t){e(t.target.result)}}else{var a=function(e){try{var t=h.createObjectURL(new Blob([e.toString(),"this.onmessage = function (eee) {"+e.name+"(eee.data);}"],{type:"application/javascript"})),i=new Worker(t);return h.revokeObjectURL(t),i}catch(e){}}(l);a.onmessage=function(t){e(t.data)},a.postMessage(i)}}function c(e){e=e||0,"paused"!==a.state?"stopped"!==a.state&&(e>=a.recordingDuration?n(a.onRecordingStopped):(e+=1e3,setTimeout((function(){c(e)}),1e3))):setTimeout((function(){c(e)}),1e3)}function u(e){a&&(a.state=e,"function"==typeof a.onStateChanged.call?a.onStateChanged.call(a,e):a.onStateChanged(e))}var p,m='It seems that recorder is destroyed or "startRecording" is not invoked for '+r.type+" recorder.";function f(){!0!==r.disableLogs&&console.warn(m)}var g={startRecording:function(t){return r.disableLogs||console.log("RecordRTC version: ",a.version),t&&(r=new i(e,t)),r.disableLogs||console.log("started recording "+r.type+" stream."),p?(p.clearRecordedData(),p.record(),u("recording"),a.recordingDuration&&c(),a):(o((function(){a.recordingDuration&&c()})),a)},stopRecording:n,pauseRecording:function(){p?"recording"===a.state?(u("paused"),p.pause(),r.disableLogs||console.log("Paused recording.")):r.disableLogs||console.warn("Unable to pause the recording. Recording state: ",a.state):f()},resumeRecording:function(){p?"paused"===a.state?(u("recording"),p.resume(),r.disableLogs||console.log("Resumed recording.")):r.disableLogs||console.warn("Unable to resume the recording. Recording state: ",a.state):f()},initRecorder:o,setRecordingDuration:function(e,t){if(void 0===e)throw"recordingDuration is required.";if("number"!=typeof e)throw"recordingDuration must be a number.";return a.recordingDuration=e,a.onRecordingStopped=t||function(){},{onRecordingStopped:function(e){a.onRecordingStopped=e}}},clearRecordedData:function(){p?(p.clearRecordedData(),r.disableLogs||console.log("Cleared old recorded data.")):f()},getBlob:function(){if(p)return p.blob;f()},getDataURL:d,toURL:function(){if(p)return h.createObjectURL(p.blob);f()},getInternalRecorder:function(){return p},save:function(e){p?A(p.blob,e):f()},getFromDisk:function(e){p?t.getFromDisk(r.type,e):f()},setAdvertisementArray:function(e){r.advertisement=[];for(var t=e.length,i=0;i-1&&"netscape"in window&&/ rv:/.test(navigator.userAgent),m=!u&&!c&&!!navigator.webkitGetUserMedia||b()||-1!==navigator.userAgent.toLowerCase().indexOf("chrome/"),f=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);f&&!m&&-1!==navigator.userAgent.indexOf("CriOS")&&(f=!1,m=!0);var g=window.MediaStream;function y(e){if(0===e)return"0 Bytes";var t=parseInt(Math.floor(Math.log(e)/Math.log(1e3)),10);return(e/Math.pow(1e3,t)).toPrecision(3)+" "+["Bytes","KB","MB","GB","TB"][t]}function A(e,t){if(!e)throw"Blob object is required.";if(!e.type)try{e.type="video/webm"}catch(e){}var i=(e.type||"video/webm").split("/")[1];if(-1!==i.indexOf(";")&&(i=i.split(";")[0]),t&&-1!==t.indexOf(".")){var s=t.split(".");t=s[0],i=s[1]}var r=(t||Math.round(9999999999*Math.random())+888888888)+"."+i;if(void 0!==navigator.msSaveOrOpenBlob)return navigator.msSaveOrOpenBlob(e,r);if(void 0!==navigator.msSaveBlob)return navigator.msSaveBlob(e,r);var a=document.createElement("a");a.href=h.createObjectURL(e),a.download=r,a.style="display:none;opacity:0;color:transparent;",(document.body||document.documentElement).appendChild(a),"function"==typeof a.click?a.click():(a.target="_blank",a.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))),h.revokeObjectURL(a.href)}function b(){return"undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||(!("undefined"==typeof process||"object"!=typeof process.versions||!process.versions.electron)||"object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent.indexOf("Electron")>=0)}function v(e,t){return e&&e.getTracks?e.getTracks().filter((function(e){return e.kind===(t||"audio")})):[]}function _(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}void 0===g&&"undefined"!=typeof webkitMediaStream&&(g=webkitMediaStream),void 0!==g&&void 0===g.prototype.stop&&(g.prototype.stop=function(){this.getTracks().forEach((function(e){e.stop()}))}),t.invokeSaveAsDialog=A,t.getTracks=v,t.getSeekableBlob=function(e,t){if("undefined"==typeof EBML)throw new Error("Please link: https://www.webrtc-experiment.com/EBML.js");var i=new EBML.Reader,s=new EBML.Decoder,r=EBML.tools,a=new FileReader;a.onload=function(e){s.decode(this.result).forEach((function(e){i.read(e)})),i.stop();var a=r.makeMetadataSeekable(i.metadatas,i.duration,i.cues),o=this.result.slice(i.metadataSize),n=new Blob([a,o],{type:"video/webm"});t(n)},a.readAsArrayBuffer(e)},t.bytesToSize=y,t.isElectron=b;var S={};function E(){if(p||f||c)return!0;var e,t,i=navigator.userAgent,s=""+parseFloat(navigator.appVersion),r=parseInt(navigator.appVersion,10);return(m||u)&&(e=i.indexOf("Chrome"),s=i.substring(e+7)),-1!==(t=s.indexOf(";"))&&(s=s.substring(0,t)),-1!==(t=s.indexOf(" "))&&(s=s.substring(0,t)),r=parseInt(""+s,10),isNaN(r)&&(s=""+parseFloat(navigator.appVersion),r=parseInt(navigator.appVersion,10)),r>=49}function T(e,t){var i=this;if(void 0===e)throw'First argument "MediaStream" is required.';if("undefined"==typeof MediaRecorder)throw"Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.";if("audio"===(t=t||{mimeType:"video/webm"}).type){var s;if(v(e,"video").length&&v(e,"audio").length)navigator.mozGetUserMedia?(s=new g).addTrack(v(e,"audio")[0]):s=new g(v(e,"audio")),e=s;t.mimeType&&-1!==t.mimeType.toString().toLowerCase().indexOf("audio")||(t.mimeType=m?"audio/webm":"audio/ogg"),t.mimeType&&"audio/ogg"!==t.mimeType.toString().toLowerCase()&&navigator.mozGetUserMedia&&(t.mimeType="audio/ogg")}var r,a=[];function o(){i.timestamps.push((new Date).getTime()),"function"==typeof t.onTimeStamp&&t.onTimeStamp(i.timestamps[i.timestamps.length-1],i.timestamps)}function n(e){return r&&r.mimeType?r.mimeType:e.mimeType||"video/webm"}function l(){a=[],r=null,i.timestamps=[]}this.getArrayOfBlobs=function(){return a},this.record=function(){i.blob=null,i.clearRecordedData(),i.timestamps=[],d=[],a=[];var s=t;t.disableLogs||console.log("Passing following config over MediaRecorder API.",s),r&&(r=null),m&&!E()&&(s="video/vp8"),"function"==typeof MediaRecorder.isTypeSupported&&s.mimeType&&(MediaRecorder.isTypeSupported(s.mimeType)||(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",s.mimeType),s.mimeType="audio"===t.type?"audio/webm":"video/webm"));try{r=new MediaRecorder(e,s),t.mimeType=s.mimeType}catch(t){r=new MediaRecorder(e)}s.mimeType&&!MediaRecorder.isTypeSupported&&"canRecordMimeType"in r&&!1===r.canRecordMimeType(s.mimeType)&&(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",s.mimeType)),r.ondataavailable=function(e){if(e.data&&d.push("ondataavailable: "+y(e.data.size)),"number"!=typeof t.timeSlice)!e.data||!e.data.size||e.data.size<100||i.blob?i.recordingCallback&&(i.recordingCallback(new Blob([],{type:n(s)})),i.recordingCallback=null):(i.blob=t.getNativeBlob?e.data:new Blob([e.data],{type:n(s)}),i.recordingCallback&&(i.recordingCallback(i.blob),i.recordingCallback=null));else if(e.data&&e.data.size&&(a.push(e.data),o(),"function"==typeof t.ondataavailable)){var r=t.getNativeBlob?e.data:new Blob([e.data],{type:n(s)});t.ondataavailable(r)}},r.onstart=function(){d.push("started")},r.onpause=function(){d.push("paused")},r.onresume=function(){d.push("resumed")},r.onstop=function(){d.push("stopped")},r.onerror=function(e){e&&(e.name||(e.name="UnknownError"),d.push("error: "+e),t.disableLogs||(-1!==e.name.toString().toLowerCase().indexOf("invalidstate")?console.error("The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.",e):-1!==e.name.toString().toLowerCase().indexOf("notsupported")?console.error("MIME type (",s.mimeType,") is not supported.",e):-1!==e.name.toString().toLowerCase().indexOf("security")?console.error("MediaRecorder security error",e):"OutOfMemory"===e.name?console.error("The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"IllegalStreamModification"===e.name?console.error("A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"OtherRecordingError"===e.name?console.error("Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"GenericError"===e.name?console.error("The UA cannot provide the codec or recording option that has been requested.",e):console.error("MediaRecorder Error",e)),function(e){if(!i.manuallyStopped&&r&&"inactive"===r.state)return delete t.timeslice,void r.start(6e5);setTimeout(void 0,1e3)}(),"inactive"!==r.state&&"stopped"!==r.state&&r.stop())},"number"==typeof t.timeSlice?(o(),r.start(t.timeSlice)):r.start(36e5),t.initCallback&&t.initCallback()},this.timestamps=[],this.stop=function(e){e=e||function(){},i.manuallyStopped=!0,r&&(this.recordingCallback=e,"recording"===r.state&&r.stop(),"number"==typeof t.timeSlice&&setTimeout((function(){i.blob=new Blob(a,{type:n(t)}),i.recordingCallback(i.blob)}),100))},this.pause=function(){r&&"recording"===r.state&&r.pause()},this.resume=function(){r&&"paused"===r.state&&r.resume()},this.clearRecordedData=function(){r&&"recording"===r.state&&i.stop(l),l()},this.getInternalRecorder=function(){return r},this.blob=null,this.getState=function(){return r&&r.state||"inactive"};var d=[];this.getAllStates=function(){return d},void 0===t.checkForInactiveTracks&&(t.checkForInactiveTracks=!1);i=this;!function s(){if(r&&!1!==t.checkForInactiveTracks)return!1===function(){if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}()?(t.disableLogs||console.log("MediaStream seems stopped."),void i.stop()):void setTimeout(s,1e3)}(),this.name="MediaStreamRecorder",this.toString=function(){return this.name}}function w(e,i){if(!v(e,"audio").length)throw"Your stream has no audio tracks.";var s,r=this,a=[],o=[],n=!1,l=0,d=2,c=(i=i||{}).desiredSampRate;function u(){if(!1===i.checkForInactiveTracks)return!0;if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}function p(e,t){function i(e,t){var i,s=e.numberOfAudioChannels,r=e.leftBuffers.slice(0),a=e.rightBuffers.slice(0),o=e.sampleRate,n=e.internalInterleavedLength,l=e.desiredSampRate;function d(e,t,i){var s=Math.round(e.length*(t/i)),r=[],a=Number((e.length-1)/(s-1));r[0]=e[0];for(var o=1;o96e3)&&(i.disableLogs||console.log("sample-rate must be under range 22050 and 96000.")),i.disableLogs||i.desiredSampRate&&console.log("Desired sample-rate: "+i.desiredSampRate);var b=!1;function _(){a=[],o=[],l=0,E=!1,n=!1,b=!1,m=null,r.leftchannel=a,r.rightchannel=o,r.numberOfAudioChannels=d,r.desiredSampRate=c,r.sampleRate=A,r.recordingLength=l,T={left:[],right:[],recordingLength:0}}function S(){s&&(s.onaudioprocess=null,s.disconnect(),s=null),f&&(f.disconnect(),f=null),_()}this.pause=function(){b=!0},this.resume=function(){if(!1===u())throw"Please make sure MediaStream is active.";if(!n)return i.disableLogs||console.log("Seems recording has been restarted."),void this.record();b=!1},this.clearRecordedData=function(){i.checkForInactiveTracks=!1,n&&this.stop(S),S()},this.name="StereoAudioRecorder",this.toString=function(){return this.name};var E=!1;s.onaudioprocess=function(e){if(!b)if(!1===u()&&(i.disableLogs||console.log("MediaStream seems stopped."),s.disconnect(),n=!1),n){E||(E=!0,i.onAudioProcessStarted&&i.onAudioProcessStarted(),i.initCallback&&i.initCallback());var t=e.inputBuffer.getChannelData(0),h=new Float32Array(t);if(a.push(h),2===d){var c=e.inputBuffer.getChannelData(1),p=new Float32Array(c);o.push(p)}l+=y,r.recordingLength=l,void 0!==i.timeSlice&&(T.recordingLength+=y,T.left.push(h),2===d&&T.right.push(p))}else f&&(f.disconnect(),f=null)},m.createMediaStreamDestination?s.connect(m.createMediaStreamDestination()):s.connect(m.destination),this.leftchannel=a,this.rightchannel=o,this.numberOfAudioChannels=d,this.desiredSampRate=c,this.sampleRate=A,r.recordingLength=l;var T={left:[],right:[],recordingLength:0};function w(){n&&"function"==typeof i.ondataavailable&&void 0!==i.timeSlice&&(T.left.length?(p({desiredSampRate:c,sampleRate:A,numberOfAudioChannels:d,internalInterleavedLength:T.recordingLength,leftBuffers:T.left,rightBuffers:1===d?[]:T.right},(function(e,t){var s=new Blob([t],{type:"audio/wav"});i.ondataavailable(s),setTimeout(w,i.timeSlice)})),T={left:[],right:[],recordingLength:0}):setTimeout(w,i.timeSlice))}}function k(e,t){if("undefined"==typeof html2canvas)throw"Please link: https://www.webrtc-experiment.com/screenshot.js";(t=t||{}).frameInterval||(t.frameInterval=10);var i=!1;["captureStream","mozCaptureStream","webkitCaptureStream"].forEach((function(e){e in document.createElement("canvas")&&(i=!0)}));var s,r,a,o=!(!window.webkitRTCPeerConnection&&!window.webkitGetUserMedia||!window.chrome),n=50,l=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(o&&l&&l[2]&&(n=parseInt(l[2],10)),o&&n<52&&(i=!1),t.useWhammyRecorder&&(i=!1),i)if(t.disableLogs||console.log("Your browser supports both MediRecorder API and canvas.captureStream!"),e instanceof HTMLCanvasElement)s=e;else{if(!(e instanceof CanvasRenderingContext2D))throw"Please pass either HTMLCanvasElement or CanvasRenderingContext2D.";s=e.canvas}else navigator.mozGetUserMedia&&(t.disableLogs||console.error("Canvas recording is NOT supported in Firefox."));this.record=function(){if(a=!0,i&&!t.useWhammyRecorder){var e;"captureStream"in s?e=s.captureStream(25):"mozCaptureStream"in s?e=s.mozCaptureStream(25):"webkitCaptureStream"in s&&(e=s.webkitCaptureStream(25));try{var o=new g;o.addTrack(v(e,"video")[0]),e=o}catch(e){}if(!e)throw"captureStream API are NOT available.";(r=new T(e,{mimeType:t.mimeType||"video/webm"})).record()}else p.frames=[],u=(new Date).getTime(),c();t.initCallback&&t.initCallback()},this.getWebPImages=function(i){if("canvas"===e.nodeName.toLowerCase()){var s=p.frames.length;p.frames.forEach((function(e,i){var r=s-i;t.disableLogs||console.log(r+"/"+s+" frames remaining"),t.onEncodingCallback&&t.onEncodingCallback(r,s);var a=e.image.toDataURL("image/webp",1);p.frames[i].image=a})),t.disableLogs||console.log("Generating WebM"),i()}else i()},this.stop=function(e){a=!1;var s=this;i&&r?r.stop(e):this.getWebPImages((function(){p.compile((function(i){t.disableLogs||console.log("Recording finished!"),s.blob=i,s.blob.forEach&&(s.blob=new Blob([],{type:"video/webm"})),e&&e(s.blob),p.frames=[]}))}))};var d=!1;function h(){p.frames=[],a=!1,d=!1}function c(){if(d)return u=(new Date).getTime(),setTimeout(c,500);if("canvas"===e.nodeName.toLowerCase()){var i=(new Date).getTime()-u;return u=(new Date).getTime(),p.frames.push({image:(s=document.createElement("canvas"),r=s.getContext("2d"),s.width=e.width,s.height=e.height,r.drawImage(e,0,0),s),duration:i}),void(a&&setTimeout(c,t.frameInterval))}var s,r;html2canvas(e,{grabMouse:void 0===t.showMousePointer||t.showMousePointer,onrendered:function(e){var i=(new Date).getTime()-u;if(!i)return setTimeout(c,t.frameInterval);u=(new Date).getTime(),p.frames.push({image:e.toDataURL("image/webp",1),duration:i}),a&&setTimeout(c,t.frameInterval)}})}this.pause=function(){d=!0,r instanceof T&&r.pause()},this.resume=function(){d=!1,r instanceof T?r.resume():a||this.record()},this.clearRecordedData=function(){a&&this.stop(h),h()},this.name="CanvasRecorder",this.toString=function(){return this.name};var u=(new Date).getTime(),p=new C.Video(100)}function L(e,t){function i(e){e=void 0!==e?e:10;var t=(new Date).getTime()-l;return t?a?(l=(new Date).getTime(),setTimeout(i,100)):(l=(new Date).getTime(),n.paused&&n.play(),c.drawImage(n,0,0,h.width,h.height),d.frames.push({duration:t,image:h.toDataURL("image/webp")}),void(r||setTimeout(i,e,e))):setTimeout(i,e,e)}function s(e,t,i,s,r){var a=document.createElement("canvas");a.width=h.width,a.height=h.height;var o=a.getContext("2d"),n=[],l=-1===t,d=t&&t>0&&t<=e.length?t:e.length,c=0,u=0,p=0,m=Math.sqrt(Math.pow(255,2)+Math.pow(255,2)+Math.pow(255,2)),f=i&&i>=0&&i<=1?i:0,g=s&&s>=0&&s<=1?s:0,y=!1;!function(e){var t=-1,i=e.length;!function s(){++t!==i?setTimeout((function(){e.functionToLoop(s,t)}),1):e.callback()}()}({length:d,functionToLoop:function(t,i){var s,r,a,d=function(){!y&&a-s<=a*g||(l&&(y=!0),n.push(e[i])),t()};if(y)d();else{var A=new Image;A.onload=function(){o.drawImage(A,0,0,h.width,h.height);var e=o.getImageData(0,0,h.width,h.height);s=0,r=e.data.length,a=e.data.length/4;for(var t=0;t127)throw"TrackNumber > 127 not supported";return[128|e.trackNum,e.timecode>>8,255&e.timecode,t].map((function(e){return String.fromCharCode(e)})).join("")+e.frame}({discardable:0,frame:e.data.slice(4),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math.round(t)});return t+=e.duration,{data:i,id:163}})))}function i(e){for(var t=[];e>0;)t.push(255&e),e>>=8;return new Uint8Array(t.reverse())}function s(e){var t=[];e=(e.length%8?new Array(9-e.length%8).join("0"):"")+e;for(var i=0;i1?2*a[0].width:a[0].width;var n=1;3!==e&&4!==e||(n=2),5!==e&&6!==e||(n=3),7!==e&&8!==e||(n=4),9!==e&&10!==e||(n=5),r.height=a[0].height*n}else r.width=o.width||360,r.height=o.height||240;t&&t instanceof HTMLVideoElement&&u(t),a.forEach((function(e,t){u(e,t)})),setTimeout(c,o.frameInterval)}}function u(e,t){if(!s){var i=0,r=0,o=e.width,n=e.height;1===t&&(i=e.width),2===t&&(r=e.height),3===t&&(i=e.width,r=e.height),4===t&&(r=2*e.height),5===t&&(i=e.width,r=2*e.height),6===t&&(r=3*e.height),7===t&&(i=e.width,r=3*e.height),void 0!==e.stream.left&&(i=e.stream.left),void 0!==e.stream.top&&(r=e.stream.top),void 0!==e.stream.width&&(o=e.stream.width),void 0!==e.stream.height&&(n=e.stream.height),a.drawImage(e,i,r,o,n),"function"==typeof e.stream.onRender&&e.stream.onRender(a,i,r,o,n,t)}}function p(e){var i=document.createElement("video");return function(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}(e,i),i.className=t,i.muted=!0,i.volume=0,i.width=e.width||o.width||360,i.height=e.height||o.height||240,i.play(),i}function m(t){i=[],(t=t||e).forEach((function(e){if(e.getTracks().filter((function(e){return"video"===e.kind})).length){var t=p(e);t.stream=e,i.push(t)}}))}void 0!==n?h.AudioContext=n:"undefined"!=typeof webkitAudioContext&&(h.AudioContext=webkitAudioContext),this.startDrawingFrames=function(){c()},this.appendStreams=function(t){if(!t)throw"First parameter is required.";t instanceof Array||(t=[t]),t.forEach((function(t){var s=new d;if(t.getTracks().filter((function(e){return"video"===e.kind})).length){var r=p(t);r.stream=t,i.push(r),s.addTrack(t.getTracks().filter((function(e){return"video"===e.kind}))[0])}if(t.getTracks().filter((function(e){return"audio"===e.kind})).length){var a=o.audioContext.createMediaStreamSource(t);o.audioDestination=o.audioContext.createMediaStreamDestination(),a.connect(o.audioDestination),s.addTrack(o.audioDestination.stream.getTracks().filter((function(e){return"audio"===e.kind}))[0])}e.push(s)}))},this.releaseStreams=function(){i=[],s=!0,o.gainNode&&(o.gainNode.disconnect(),o.gainNode=null),o.audioSources.length&&(o.audioSources.forEach((function(e){e.disconnect()})),o.audioSources=[]),o.audioDestination&&(o.audioDestination.disconnect(),o.audioDestination=null),o.audioContext&&o.audioContext.close(),o.audioContext=null,a.clearRect(0,0,r.width,r.height),r.stream&&(r.stream.stop(),r.stream=null)},this.resetVideoStreams=function(e){!e||e instanceof Array||(e=[e]),m(e)},this.name="MultiStreamsMixer",this.toString=function(){return this.name},this.getMixedStream=function(){s=!1;var t=function(){var e;m(),"captureStream"in r?e=r.captureStream():"mozCaptureStream"in r?e=r.mozCaptureStream():o.disableLogs||console.error("Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features");var t=new d;return e.getTracks().filter((function(e){return"video"===e.kind})).forEach((function(e){t.addTrack(e)})),r.stream=t,t}(),i=function(){h.AudioContextConstructor||(h.AudioContextConstructor=new h.AudioContext);o.audioContext=h.AudioContextConstructor,o.audioSources=[],!0===o.useGainNode&&(o.gainNode=o.audioContext.createGain(),o.gainNode.connect(o.audioContext.destination),o.gainNode.gain.value=0);var t=0;if(e.forEach((function(e){if(e.getTracks().filter((function(e){return"audio"===e.kind})).length){t++;var i=o.audioContext.createMediaStreamSource(e);!0===o.useGainNode&&i.connect(o.gainNode),o.audioSources.push(i)}})),!t)return;return o.audioDestination=o.audioContext.createMediaStreamDestination(),o.audioSources.forEach((function(e){e.connect(o.audioDestination)})),o.audioDestination.stream}();return i&&i.getTracks().filter((function(e){return"audio"===e.kind})).forEach((function(e){t.addTrack(e)})),e.forEach((function(e){e.fullcanvas})),t}}function P(e,t){e=e||[];var i,s,r=this;(t=t||{elementClass:"multi-streams-mixer",mimeType:"video/webm",video:{width:360,height:240}}).frameInterval||(t.frameInterval=10),t.video||(t.video={}),t.video.width||(t.video.width=360),t.video.height||(t.video.height=240),this.record=function(){var r;i=new R(e,t.elementClass||"multi-streams-mixer"),(r=[],e.forEach((function(e){v(e,"video").forEach((function(e){r.push(e)}))})),r).length&&(i.frameInterval=t.frameInterval||10,i.width=t.video.width||360,i.height=t.video.height||240,i.startDrawingFrames()),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()),(s=new T(i.getMixedStream(),t)).record()},this.stop=function(e){s&&s.stop((function(t){r.blob=t,e(t),r.clearRecordedData()}))},this.pause=function(){s&&s.pause()},this.resume=function(){s&&s.resume()},this.clearRecordedData=function(){s&&(s.clearRecordedData(),s=null),i&&(i.releaseStreams(),i=null)},this.addStreams=function(r){if(!r)throw"First parameter is required.";r instanceof Array||(r=[r]),e.concat(r),s&&i&&(i.appendStreams(r),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()))},this.resetVideoStreams=function(e){i&&(!e||e instanceof Array||(e=[e]),i.resetVideoStreams(e))},this.getMixer=function(){return i},this.name="MultiStreamRecorder",this.toString=function(){return this.name}}function I(e,t){var i,s,r;function a(){return new ReadableStream({start:function(s){var r=document.createElement("canvas"),a=document.createElement("video"),o=!0;a.srcObject=e,a.muted=!0,a.height=t.height,a.width=t.width,a.volume=0,a.onplaying=function(){r.width=t.width,r.height=t.height;var e=r.getContext("2d"),n=1e3/t.frameRate,l=setInterval((function(){if(i&&(clearInterval(l),s.close()),o&&(o=!1,t.onVideoProcessStarted&&t.onVideoProcessStarted()),e.drawImage(a,0,0),"closed"!==s._controlledReadableStream.state)try{s.enqueue(e.getImageData(0,0,t.width,t.height))}catch(e){}}),n)},a.play()}})}function o(e,l){if(!t.workerPath&&!l)return i=!1,void fetch("https://unpkg.com/webm-wasm@latest/dist/webm-worker.js").then((function(t){t.arrayBuffer().then((function(t){o(e,t)}))}));if(!t.workerPath&&l instanceof ArrayBuffer){var d=new Blob([l],{type:"text/javascript"});t.workerPath=h.createObjectURL(d)}t.workerPath||console.error("workerPath parameter is missing."),(s=new Worker(t.workerPath)).postMessage(t.webAssemblyPath||"https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm"),s.addEventListener("message",(function(e){"READY"===e.data?(s.postMessage({width:t.width,height:t.height,bitrate:t.bitrate||1200,timebaseDen:t.frameRate||30,realtime:t.realtime}),a().pipeTo(new WritableStream({write:function(e){i?console.error("Got image, but recorder is finished!"):s.postMessage(e.data.buffer,[e.data.buffer])}}))):e.data&&(r||n.push(e.data))}))}"undefined"!=typeof ReadableStream&&"undefined"!=typeof WritableStream||console.error("Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js"),(t=t||{}).width=t.width||640,t.height=t.height||480,t.frameRate=t.frameRate||30,t.bitrate=t.bitrate||1200,t.realtime=t.realtime||!0,this.record=function(){n=[],r=!1,this.blob=null,o(e),"function"==typeof t.initCallback&&t.initCallback()},this.pause=function(){r=!0},this.resume=function(){r=!1};var n=[];this.stop=function(e){i=!0;var t=this;!function(e){s?(s.addEventListener("message",(function(t){null===t.data&&(s.terminate(),s=null,e&&e())})),s.postMessage(null)):e&&e()}((function(){t.blob=new Blob(n,{type:"video/webm"}),e(t.blob)}))},this.name="WebAssemblyRecorder",this.toString=function(){return this.name},this.clearRecordedData=function(){n=[],r=!1,this.blob=null},this.blob=null}t.DiskStorage=D,t.GifRecorder=x,t.MultiStreamRecorder=P,t.RecordRTCPromisesHandler=function(e,i){if(!this)throw'Use "new RecordRTCPromisesHandler()"';if(void 0===e)throw'First argument "MediaStream" is required.';var s=this;s.recordRTC=new t(e,i),this.startRecording=function(){return new Promise((function(e,t){try{s.recordRTC.startRecording(),e()}catch(e){t(e)}}))},this.stopRecording=function(){return new Promise((function(e,t){try{s.recordRTC.stopRecording((function(i){s.blob=s.recordRTC.getBlob(),s.blob&&s.blob.size?e(i):t("Empty blob.",s.blob)}))}catch(e){t(e)}}))},this.pauseRecording=function(){return new Promise((function(e,t){try{s.recordRTC.pauseRecording(),e()}catch(e){t(e)}}))},this.resumeRecording=function(){return new Promise((function(e,t){try{s.recordRTC.resumeRecording(),e()}catch(e){t(e)}}))},this.getDataURL=function(e){return new Promise((function(e,t){try{s.recordRTC.getDataURL((function(t){e(t)}))}catch(e){t(e)}}))},this.getBlob=function(){return new Promise((function(e,t){try{e(s.recordRTC.getBlob())}catch(e){t(e)}}))},this.getInternalRecorder=function(){return new Promise((function(e,t){try{e(s.recordRTC.getInternalRecorder())}catch(e){t(e)}}))},this.reset=function(){return new Promise((function(e,t){try{e(s.recordRTC.reset())}catch(e){t(e)}}))},this.destroy=function(){return new Promise((function(e,t){try{e(s.recordRTC.destroy())}catch(e){t(e)}}))},this.getState=function(){return new Promise((function(e,t){try{e(s.recordRTC.getState())}catch(e){t(e)}}))},this.blob=null,this.version="5.6.2"},t.WebAssemblyRecorder=I}));class $n{static _ebsp2rbsp(e){let t=e,i=t.byteLength,s=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(s[r]=t[e],r++);return new Uint8Array(s.buffer,0,r)}static parseSPS(e){let t=$n._ebsp2rbsp(e),i=new Wr(t);i.readByte();let s=i.readByte();i.readByte();let r=i.readByte();i.readUEG();let a=$n.getProfileString(s),o=$n.getLevelString(r),n=1,l=420,d=[0,420,422,444],h=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(n=i.readUEG(),3===n&&i.readBits(1),n<=3&&(l=d[n]),h=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool())){let e=3!==n?8:12;for(let t=0;t0&&e<16?(v=t[e-1],_=s[e-1]):255===e&&(v=i.readByte()<<8|i.readByte(),_=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){let e=i.readBits(32),t=i.readBits(32);E=i.readBool(),T=t,w=2*e,S=T/w}}let k=1;1===v&&1===_||(k=v/_);let L=0,C=0;if(0===n)L=1,C=2-f;else{L=3===n?1:2,C=(1===n?2:1)*(2-f)}let D=16*(p+1),x=16*(m+1)*(2-f);D-=(g+y)*L,x-=(A+b)*C;let R=Math.ceil(D*k);return i.destroy(),i=null,{profile_string:a,level_string:o,bit_depth:h,ref_frames:u,chroma_format:l,chroma_format_string:$n.getChromaFormatString(l),frame_rate:{fixed:E,fps:S,fps_den:w,fps_num:T},sar_ratio:{width:v,height:_},codec_size:{width:D,height:x},present_size:{width:R,height:x}}}static parseSPS$2(e){let t=e.subarray(1,4),i="avc1.";for(let e=0;e<3;e++){let s=t[e].toString(16);s.length<2&&(s="0"+s),i+=s}let s=$n._ebsp2rbsp(e),r=new Wr(s);r.readByte();let a=r.readByte();r.readByte();let o=r.readByte();r.readUEG();let n=$n.getProfileString(a),l=$n.getLevelString(o),d=1,h=420,c=[0,420,422,444],u=8,p=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(d=r.readUEG(),3===d&&r.readBits(1),d<=3&&(h=c[d]),u=r.readUEG()+8,p=r.readUEG()+8,r.readBits(1),r.readBool())){let e=3!==d?8:12;for(let t=0;t0&&e<16?(E=t[e-1],T=i[e-1]):255===e&&(E=r.readByte()<<8|r.readByte(),T=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);k=r.readBool(),L=t,C=2*e,w=L/C}}let D=1;1===E&&1===T||(D=E/T);let x=0,R=0;if(0===d)x=1,R=2-A;else{x=3===d?1:2,R=(1===d?2:1)*(2-A)}let P=16*(g+1),I=16*(y+1)*(2-A);P-=(b+v)*x,I-=(_+S)*R;let B=Math.ceil(P*D);return r.destroy(),r=null,{codec_mimetype:i,profile_idc:a,level_idc:o,profile_string:n,level_string:l,chroma_format_idc:d,bit_depth:u,bit_depth_luma:u,bit_depth_chroma:p,ref_frames:f,chroma_format:h,chroma_format_string:$n.getChromaFormatString(h),frame_rate:{fixed:k,fps:w,fps_den:C,fps_num:L},sar_ratio:{width:E,height:T},codec_size:{width:P,height:I},present_size:{width:B,height:I}}}static _skipScalingList(e,t){let i=8,s=8,r=0;for(let a=0;a=this.buflen)return this.iserro=!0,0;this.iserro=!1,i=this.bufoff+e>8?8-this.bufoff:e,t<<=i,t+=this.buffer[this.bufpos]>>8-this.bufoff-i&255>>8-i,this.bufoff+=i,e-=i,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,i=this.bufoff,s=this.read(e);return this.bufpos=t,this.bufoff=i,s}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),s=new Uint8Array(e+4);s.set(i,0),s.set(t.sps,4),t.sps=s}if(t.pps){const e=t.pps.byteLength,i=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),s=new Uint8Array(e+4);s.set(i,0),s.set(t.pps,4),t.pps=s}return t}function qn(e){let{sps:t,pps:i}=e,s=8+t.byteLength+1+2+i.byteLength,r=!1;const a=$n.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(r=!0,s+=4);let o=new Uint8Array(s);o[0]=1,o[1]=t[1],o[2]=t[2],o[3]=t[3],o[4]=255,o[5]=225;let n=t.byteLength;o[6]=n>>>8,o[7]=255&n;let l=8;o.set(t,8),l+=n,o[l]=1;let d=i.byteLength;o[l+1]=d>>>8,o[l+2]=255&d,o.set(i,l+3),l+=3+d,r&&(o[l]=252|a.chroma_format_idc,o[l+1]=248|a.bit_depth_luma-8,o[l+2]=248|a.bit_depth_chroma-8,o[l+3]=0,l+=4);const h=[23,0,0,0,0],c=new Uint8Array(h.length+o.byteLength);return c.set(h,0),c.set(o,h.length),c}function Kn(e,t){let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}function Yn(e){return 31&e[0]}function Qn(e){return e===zt}function Xn(e){return!function(e){return e===Nt||e===jt}(e)&&!Qn(e)}function Zn(e){return e===Gt}class el{constructor(e){this.data=e,this.eofFlag=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this.eofFlag&&console.error("Could not find H264 startcode until payload end!")}findNextStartCodeOffset(e){let t=e,i=this.data;for(;;){if(t+3>=i.byteLength)return this.eofFlag=!0,i.byteLength;let e=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],s=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===e||1===s)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let i=this.currentStartcodeOffset;i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let s=31&e[i],r=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);this.currentStartcodeOffset=a,s>=Jt||0===r&&(t={type:s,data:e.subarray(i,a)})}return t}}class tl{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const il=e=>{let t=e,i=t.byteLength,s=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(s[r]=t[e],r++);return new Uint8Array(s.buffer,0,r)},sl=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class rl{static _ebsp2rbsp(e){let t=e,i=t.byteLength,s=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(s[r]=t[e],r++);return new Uint8Array(s.buffer,0,r)}static parseVPS(e){let t=rl._ebsp2rbsp(e),i=new Wr(t);return i.readByte(),i.readByte(),i.readBits(4),i.readBits(2),i.readBits(6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}}static parseSPS(e){let t=rl._ebsp2rbsp(e),i=new Wr(t);i.readByte(),i.readByte();let s=0,r=0,a=0,o=0;i.readBits(4);let n=i.readBits(3);i.readBool();let l=i.readBits(2),d=i.readBool(),h=i.readBits(5),c=i.readByte(),u=i.readByte(),p=i.readByte(),m=i.readByte(),f=i.readByte(),g=i.readByte(),y=i.readByte(),A=i.readByte(),b=i.readByte(),v=i.readByte(),_=i.readByte(),S=[],E=[];for(let e=0;e0)for(let e=n;e<8;e++)i.readBits(2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<=16?(B=t[e-1],M=s[e-1]):255===e&&(B=i.readBits(16),M=i.readBits(16))}if(i.readBool()&&i.readBool(),i.readBool()){i.readBits(3),i.readBool(),i.readBool()&&(i.readByte(),i.readByte(),i.readByte())}if(i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool(),i.readBool(),i.readBool(),P=i.readBool(),P&&(i.readUEG(),i.readUEG(),i.readUEG(),i.readUEG()),i.readBool()){if(U=i.readBits(32),O=i.readBits(32),i.readBool()&&i.readUEG(),i.readBool()){let e=!1,t=!1,s=!1;e=i.readBool(),t=i.readBool(),(e||t)&&(s=i.readBool(),s&&(i.readByte(),i.readBits(5),i.readBool(),i.readBits(5)),i.readBits(4),i.readBits(4),s&&i.readBits(4),i.readBits(5),i.readBits(5),i.readBits(5));for(let r=0;r<=n;r++){let r=i.readBool();F=r;let a=!0,o=1;r||(a=i.readBool());let n=!1;if(a?i.readUEG():n=i.readBool(),n||(o=i.readUEG()+1),e){for(let e=0;e>6&3,i.general_tier_flag=e[1]>>5&1,i.general_profile_idc=31&e[1],i.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],i.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],i.general_constraint_indicator_flags=i.general_constraint_indicator_flags<<16|e[10]<<8|e[11],i.general_level_idc=e[12],i.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],i.parallelismType=3&e[15],i.chromaFormat=3&e[16],i.bitDepthLumaMinus8=7&e[17],i.bitDepthChromaMinus8=7&e[18],i.avgFrameRate=e[19]<<8|e[20],i.constantFrameRate=e[21]>>6&3,i.numTemporalLayers=e[21]>>3&7,i.temporalIdNested=e[21]>>2&1,i.lengthSizeMinusOne=3&e[21];let s=e[22],r=e.slice(23);for(let e=0;e0)for(let t=i;t<8;t++)e.read(2);s.sub_layer_profile_space=[],s.sub_layer_tier_flag=[],s.sub_layer_profile_idc=[],s.sub_layer_profile_compatibility_flag=[],s.sub_layer_progressive_source_flag=[],s.sub_layer_interlaced_source_flag=[],s.sub_layer_non_packed_constraint_flag=[],s.sub_layer_frame_only_constraint_flag=[],s.sub_layer_level_idc=[];for(let t=0;t{let t=il(e),i=new Wr(t);return i.readByte(),i.readByte(),i.readBits(4),i.readBits(2),i.readBits(6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}})(t),o=(e=>{let t=il(e),i=new Wr(t);i.readByte(),i.readByte();let s=0,r=0,a=0,o=0;i.readBits(4);let n=i.readBits(3);i.readBool();let l=i.readBits(2),d=i.readBool(),h=i.readBits(5),c=i.readByte(),u=i.readByte(),p=i.readByte(),m=i.readByte(),f=i.readByte(),g=i.readByte(),y=i.readByte(),A=i.readByte(),b=i.readByte(),v=i.readByte(),_=i.readByte(),S=[],E=[];for(let e=0;e0)for(let e=n;e<8;e++)i.readBits(2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<16?(B=t[e-1],M=s[e-1]):255===e&&(B=i.readBits(16),M=i.readBits(16))}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(3),i.readBool(),i.readBool()&&(i.readByte(),i.readByte(),i.readByte())),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool(),i.readBool(),i.readBool(),P=i.readBool(),P&&(s+=i.readUEG(),r+=i.readUEG(),a+=i.readUEG(),o+=i.readUEG()),i.readBool()&&(U=i.readBits(32),O=i.readBits(32),i.readBool()&&(i.readUEG(),i.readBool()))){let e=!1,t=!1,s=!1;e=i.readBool(),t=i.readBool(),(e||t)&&(s=i.readBool(),s&&(i.readByte(),i.readBits(5),i.readBool(),i.readBits(5)),i.readBits(4),i.readBits(4),s&&i.readBits(4),i.readBits(5),i.readBits(5),i.readBits(5));for(let r=0;r<=n;r++){let r=i.readBool();F=r;let a=!1,o=1;r||(a=i.readBool());let n=!1;if(a?i.readSEG():n=i.readBool(),n||(cpbcnt=i.readUEG()+1),e)for(let e=0;e{let t=il(e),i=new Wr(t);i.readByte(),i.readByte(),i.readUEG(),i.readUEG(),i.readBool(),i.readBool(),i.readBits(3),i.readBool(),i.readBool(),i.readUEG(),i.readUEG(),i.readSEG(),i.readBool(),i.readBool(),i.readBool()&&i.readUEG(),i.readSEG(),i.readSEG(),i.readBool(),i.readBool(),i.readBool(),i.readBool();let s=i.readBool(),r=i.readBool(),a=1;return r&&s?a=0:r?a=3:s&&(a=2),{parallelismType:a}})(i);r=Object.assign(r,a,o,n);let l=23+(5+t.byteLength)+(5+s.byteLength)+(5+i.byteLength),d=new Uint8Array(l);d[0]=1,d[1]=(3&r.general_profile_space)<<6|(r.general_tier_flag?1:0)<<5|31&r.general_profile_idc,d[2]=r.general_profile_compatibility_flags_1||0,d[3]=r.general_profile_compatibility_flags_2||0,d[4]=r.general_profile_compatibility_flags_3||0,d[5]=r.general_profile_compatibility_flags_4||0,d[6]=r.general_constraint_indicator_flags_1||0,d[7]=r.general_constraint_indicator_flags_2||0,d[8]=r.general_constraint_indicator_flags_3||0,d[9]=r.general_constraint_indicator_flags_4||0,d[10]=r.general_constraint_indicator_flags_5||0,d[11]=r.general_constraint_indicator_flags_6||0,d[12]=60,d[13]=240|(3840&r.min_spatial_segmentation_idc)>>8,d[14]=255&r.min_spatial_segmentation_idc,d[15]=252|3&r.parallelismType,d[16]=252|3&r.chroma_format_idc,d[17]=248|7&r.bit_depth_luma_minus8,d[18]=248|7&r.bit_depth_chroma_minus8,d[19]=0,d[20]=0,d[21]=(3&r.constant_frame_rate)<<6|(7&r.num_temporal_layers)<<3|(r.temporal_id_nested?1:0)<<2|3,d[22]=3,d[23]=128|ei,d[24]=0,d[25]=1,d[26]=(65280&t.byteLength)>>8,d[27]=(255&t.byteLength)>>0,d.set(t,28),d[23+(5+t.byteLength)+0]=128|ii,d[23+(5+t.byteLength)+1]=0,d[23+(5+t.byteLength)+2]=1,d[23+(5+t.byteLength)+3]=(65280&s.byteLength)>>8,d[23+(5+t.byteLength)+4]=(255&s.byteLength)>>0,d.set(s,23+(5+t.byteLength)+5),d[23+(5+t.byteLength+5+s.byteLength)+0]=128|ri,d[23+(5+t.byteLength+5+s.byteLength)+1]=0,d[23+(5+t.byteLength+5+s.byteLength)+2]=1,d[23+(5+t.byteLength+5+s.byteLength)+3]=(65280&i.byteLength)>>8,d[23+(5+t.byteLength+5+s.byteLength)+4]=(255&i.byteLength)>>0,d.set(i,23+(5+t.byteLength+5+s.byteLength)+5);const h=[28,0,0,0,0],c=new Uint8Array(h.length+d.byteLength);return c.set(h,0),c.set(d,h.length),c}function dl(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}function hl(e){return(126&e[0])>>1}function cl(e){return!function(e){return e>=32&&e<=40}(e)}function ul(e){return e>=16&&e<=21}class pl{constructor(e){this.data=e,this.eofFlag=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this.eofFlag&&console.error("Could not find H265 startcode until payload end!")}findNextStartCodeOffset(e){let t=e,i=this.data;for(;;){if(t+3>=i.byteLength)return this.eofFlag=!0,i.byteLength;let e=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],s=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===e||1===s)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let i=this.currentStartcodeOffset;i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let s=e[i]>>1&63,r=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);this.currentStartcodeOffset=a,0===r&&(t={type:s,data:e.subarray(i,a)})}return t}}class ml{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}class fl extends Oo{constructor(e){super(),this.TAG_NAME="recorderCommon",this.player=e,this.fileName="",this._isRecording=!1,this._recordingTimestamp=0,this.recordingInterval=null,this.sps=null,this.pps=null,this.vps=null,this.codecId=null,this.audioCodeId=null,this.metaInfo={codecWidth:0,codecHeight:0,presentWidth:0,presentHeight:0,refSampleDuration:0,timescale:1e3,avcc:null,videoType:""},this.audioMetaInfo={timescale:1e3,sampleRate:0,refSampleDuration:0,channelCount:0,codec:"",originalCodec:"",audioType:"",extraData:new Uint8Array(0)}}destroy(){this._reset(),this.sps=null,this.pps=null,this.vps=null,this.codecId=null,this.audioCodeId=null,this.metaInfo=null,this.audioMetaInfo=null}get isH264(){return this.codecId===xt}get isH265(){return this.codecId===Rt}setFileName(e){this.fileName=e}get isRecording(){return this._isRecording}get recording(){return this._isRecording}get recordTime(){return this._recordingTimestamp}startRecord(){}handleAddNaluTrack(e,t,i,s){}handleAddAudioTrack(e,t){}handleAddTrack(e){}stopRecordAndSave(){}startRecordingInterval(){}isWasmMp4(){return!1}stopRecordingInterval(){this.recordingInterval&&clearInterval(this.recordingInterval),this.recordingInterval=null}getToTalByteLength(){return 0}_reset(){this.fileName="",this._isRecording=!1,this._recordingTimestamp=0,this.stopRecordingInterval()}initMetaData(e,t){let i;const s=e.slice(5);if(this.codecId=t,this.metaInfo.avcc=s,t===xt)i=Jn(s);else if(t===Rt){i=function(e){let t=23;const i=e[t];if((63&i)!==ei)return console.warn(`parseHEVCDecoderVPSAndSPSAndPPS and vpsTag is ${i}`),{};t+=2,t+=1;const s=e[t+1]|e[t]<<8;t+=2;const r=e.slice(t,t+s);t+=s;const a=e[t];if((63&a)!==ii)return console.warn(`parseHEVCDecoderVPSAndSPSAndPPS and sps tag is ${a}`),{};t+=2,t+=1;const o=e[t+1]|e[t]<<8;t+=2;const n=e.slice(t,t+o);t+=o;const l=e[t];if((63&l)!==ri)return console.warn(`parseHEVCDecoderVPSAndSPSAndPPS and pps tag is ${l}`),{};t+=2,t+=1;const d=e[t+1]|e[t]<<8;t+=2;const h=e.slice(t,t+d),c=new Uint8Array([o>>>24&255,o>>>16&255,o>>>8&255,255&o]),u=new Uint8Array([d>>>24&255,d>>>16&255,d>>>8&255,255&d]),p=new Uint8Array([s>>>24&255,s>>>16&255,s>>>8&255,255&s]),m=new Uint8Array(o+4);m.set(c,0),m.set(n,4);const f=new Uint8Array(d+4);f.set(u,0),f.set(h,4);const g=new Uint8Array(s+4);return g.set(p,0),g.set(r,4),{sps:m,pps:f,vps:g}}(s);const t=al(e);i=Object.assign(i,t)}i&&(i.vps&&(this.vps=i.vps),i.pps&&(this.pps=i.pps),i.sps&&(this.sps=i.sps),i.presentWidth&&(this.metaInfo.presentWidth=i.presentWidth),i.presentHeight&&(this.metaInfo.presentHeight=i.presentHeight),i.codecWidth&&(this.metaInfo.codecWidth=i.codecWidth),i.codecHeight&&(this.metaInfo.codecHeight=i.codecHeight),i.timescale&&(this.metaInfo.timescale=i.timescale),i.refSampleDuration&&(this.metaInfo.refSampleDuration=i.refSampleDuration),i.videoType&&(this.metaInfo.videoType=i.videoType))}initAudioMetaData(e,t){this.audioCodeId=t;const i=e[0]>>1&1;let s=null;t===Bt?(s=function(e){let t={},i=new ea(e);return i.read(16),t.object_type=ta(i),t.sample_rate=ia(i,t),t.chan_config=i.read(4),t.chan_config{r.onload=function(e){i.decode(this.result).forEach((function(e){t.read(e)})),t.stop();const r=s.makeMetadataSeekable(t.metadatas,t.duration,t.cues),o=this.result.slice(t.metadataSize),n=new Blob([r,o],{type:"video/webm"});a(n)},r.readAsArrayBuffer(e)}))}startRecord(){const e={type:"video",mimeType:"video/webm;codecs=h264",timeSlice:1e3,onTimeStamp:e=>{this.player&&this.player.debugLog("RecorderRTC","record timestamp :"+e),null===this._startRecordingTimestamp&&(this._startRecordingTimestamp=e),this._recordingTimestamp=(e-this._startRecordingTimestamp)/1e3},ondataavailable:e=>{this.totalByteLength+=e.size,this.player&&this.player.debugLog("RecorderRTC","ondataavailable",e.size)},disableLogs:!this.player._opt.debug};try{let t=null;if(this.player.getRenderType()===J)t=this.player.video.$videoElement.captureStream(25),this.player.debugLog(this.TAG_NAME,"startRecord and render type is canvas and use captureStream");else if(this.player.video.mediaStream)t=this.player.video.mediaStream,this.player.debugLog(this.TAG_NAME,"startRecord and video mediaStream");else{if(Lo(this._startCanvasRender()))return void this.player.emitError(At.recordCreateError,"startCanvasRender error");this.player.isOldHls()||this.player._opt.useMSE||this.player._opt.useWCS?t=this.canvasElement.captureStream(25):this.player.isWebrtcH264()?t=this.player.webrtc.videoStream:this.player.isAliyunRtc()&&(t=this.canvasElement.captureStream(25)),this.player.debugLog(this.TAG_NAME,"startRecord and use local canvas render video and captureStream")}if(!t)return this.player.debugError("RecorderRTC","startRecord error and can not create stream"),void this.player.emitError(At.recordCreateError,"can not create stream");if(this.player.audio&&this.player.audio.mediaStreamAudioDestinationNode&&this.player.audio.mediaStreamAudioDestinationNode.stream&&!this.player.audio.isStateSuspended()&&this.player.audio.hasAudio&&this.player._opt.hasAudio){const e=this.player.audio.mediaStreamAudioDestinationNode.stream;if(e.getAudioTracks().length>0){const i=e.getAudioTracks()[0];i&&i.enabled&&t.addTrack(i)}}this.recorder=zn(t,e)}catch(e){return this.player.debugError("RecorderRTC","startRecord error",e),void this.player.emitError(At.recordCreateError,e)}this.recorder&&(this._isRecording=!0,this.player.emit(At.recording,!0),this.recorder.startRecording(),this.player.debugLog("RecorderRTC","start recording"),this.player.emit(At.recordStart),this.startRecordingInterval())}startRecordingInterval(){this.stopRecordingInterval(),this.recordingInterval=window.setInterval((()=>{this.player.emit(At.recordingTimestamp,this._recordingTimestamp)}),1e3)}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{this.recorder&&this._isRecording||s("recorder is not ready"),t&&this.setFileName(t),this.recorder.stopRecording((()=>{this.player.debugLog("RecorderRTC","stop recording");const t=(this.fileName||fa())+"."+w;if(this.player._opt.recordWebMSupportSeek);else{if(e===Ct){const e=this.recorder.getBlob();i(e),this.player.emit(At.recordBlob,e)}else i(),this.recorder.save(t);this.player.emit(At.recordEnd),this._reset(),this.player.emit(At.recording,!1)}}))}))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.recorder||!this._isRecording)return e();this.recorder.stopRecording((()=>{this._reset(),this.player.emit(At.recording,!1),this.player.emit(At.recordCancel),e()}))}))}getToTalByteLength(){return this.totalByteLength}getTotalDuration(){return this.recordTime}getType(){return w}initMetaData(){}_startCanvasRender(){return this._initCanvasRender(),this.canvasElement?(Io()?(this.player.debugLog(this.TAG_NAME,"use video frame callback"),this.supportVideoFrameCallbackHandle=this.player.video.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))):(this.player.debugLog(this.TAG_NAME,"use setInterval"),this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.canvasElementCtx&&this.canvasElementCtx.drawImage(this.player.video.$videoElement,0,0,this.canvasElement.width,this.canvasElement.height)}),40)),!0):(this.player.debugError(this.TAG_NAME,"canvasElement is null"),!1)}_initCanvasRender(){const e=this.player.getVideoInfo();!this.canvasElement&&e&&(this.canvasElement=document.createElement("canvas"),this.canvasElementCtx=this.canvasElement.getContext("2d"),e.width&&e.height&&(this.canvasElement.width=e.width,this.canvasElement.height=e.height))}_removeCanvasRender(){this.canvasElementCtx&&(this.canvasElementCtx.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.canvasElementCtx=null),this.canvasElement&&(this.canvasElement.width=0,this.canvasElement.height=0,this.canvasElement=null)}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}_stopSupportVideoFrameCallback(){this.supportVideoFrameCallbackHandle&&this.player.video.$videoElement&&(this.player.video.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null)}videoFrameCallback(){this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed"):(this.canvasElementCtx&&this.canvasElementCtx.drawImage(this.player.video.$videoElement,0,0,this.canvasElement.width,this.canvasElement.height),this.supportVideoFrameCallbackHandle=this.player.video.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)))}}class yl{static init(){yl.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],free:[],edts:[],elst:[],stss:[]};for(let e in yl.types)yl.types.hasOwnProperty(e)&&(yl.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=yl.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,97,118,99,49,109,112,52,49,0,0,0,0]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,s=Array.prototype.slice.call(arguments,1),r=s.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let a=8;for(let e=0;e=Math.pow(2,32)-1?(a=16,o=new Uint8Array(i+a),o.set(new Uint8Array([0,0,0,1]),0),o.set(yl.types.mdat,4),o.set(new Uint8Array([i+8>>>56&255,i+8>>>48&255,i+8>>>40&255,i+8>>>32&255,i+8>>>24&255,i+8>>>16&255,i+8>>>8&255,i+8&255]),8)):(o=new Uint8Array(i+a),o[0]=i+8>>>24&255,o[1]=i+8>>>16&255,o[2]=i+8>>>8&255,o[3]=i+8&255,o.set(yl.types.mdat,4));for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3]))}static trak(e){return yl.box(yl.types.trak,yl.tkhd(e),yl.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,s=e.presentWidth,r=e.presentHeight;return"video"===e.type?yl.box(yl.types.tkhd,new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>>8&255,255&s,0,0,r>>>8&255,255&r,0,0])):"audio"===e.type?yl.box(yl.types.tkhd,new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0])):void 0}static edts(e,t){return yl.box(yl.types.edts,yl.elst(e,t))}static elst(e,t){let i=0;for(let s=0;s>>24&255,i>>>16&255,i>>>8&255,255&i,255,255,255,255,0,1,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,0,1,0,0]))}static mdia(e){return yl.box(yl.types.mdia,yl.mdhd(e),yl.hdlr(e),yl.minf(e))}static mdhd(e){let t=e.timescale/e.refSampleDuration,i=t*e.duration/e.timescale;return yl.box(yl.types.mdhd,new Uint8Array([0,0,0,0,206,186,253,168,206,186,253,168,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?yl.constants.HDLR_AUDIO:yl.constants.HDLR_VIDEO,yl.box(yl.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?yl.box(yl.types.smhd,yl.constants.SMHD):yl.box(yl.types.vmhd,yl.constants.VMHD),yl.box(yl.types.minf,t,yl.dinf(),yl.stbl(e))}static dinf(){return yl.box(yl.types.dinf,yl.box(yl.types.dref,yl.constants.DREF))}static stbl(e){let t=e.samples,i=[{No:1,num:0,sampleDelte:1,chunkNo:1,duration:t[0].duration}],s=[t[0].duration],r=t.length;for(let e=0;e>>24&255,t>>>16&255,t>>>8&255,255&t]),s=i.byteLength,r=new Uint8Array(s+8*t);r.set(i,0);for(let i=0;i>>24&255,e[i].num>>>16&255,e[i].num>>>8&255,255&e[i].num,e[i].sampleDelte>>>24&255,e[i].sampleDelte>>>16&255,e[i].sampleDelte>>>8&255,255&e[i].sampleDelte]),s),s+=8;return yl.box(yl.types.stts,r)}static stss(e){let t=[],i=e.length;for(let s=0;s>>24&255,s>>>16&255,s>>>8&255,255&s]),a=r.byteLength,o=new Uint8Array(a+4*s);o.set(r,0);for(let e=0;e>>24&255,t[e]>>>16&255,t[e]>>>8&255,255&t[e]]),a),a+=4;return yl.box(yl.types.stss,o)}static stsc(e){let t=e.length,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]),s=i.byteLength,r=new Uint8Array(s+12*t);r.set(i,0);for(let i=0;i>>24&255,t>>>16&255,t>>>8&255,255&t,a>>>24&255,a>>>16&255,a>>>8&255,255&a,o>>>24&255,o>>>16&255,o>>>8&255,255&o]),s),s+=12}return yl.box(yl.types.stsc,r)}static stsz(e){let t=e.length,i=new Uint8Array([0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]),s=i.byteLength,r=new Uint8Array(s+4*t);r.set(i,0);for(let i=0;i>>24&255,t>>>16&255,t>>>8&255,255&t]),s),s+=4}return yl.box(yl.types.stsz,r)}static stco(e,t){let i=t[0].chunkOffset;return yl.box(yl.types.stco,new Uint8Array([0,0,0,0,0,0,0,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i]))}static stsd(e){return"audio"===e.type?"mp3"===e.codec?yl.box(yl.types.stsd,yl.constants.STSD_PREFIX,yl.mp3(e)):yl.box(yl.types.stsd,yl.constants.STSD_PREFIX,yl.mp4a(e)):"avc"===e.videoType?yl.box(yl.types.stsd,yl.constants.STSD_PREFIX,yl.avc1(e)):yl.box(yl.types.stsd,yl.constants.STSD_PREFIX,yl.hvc1(e))}static mp3(e){let t=e.channelCount,i=e.sampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return yl.box(yl.types[".mp3"],s)}static mp4a(e){let t=e.channelCount,i=e.sampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return yl.box(yl.types.mp4a,s,yl.esds(e))}static esds(e){let t=e.config||[],i=t.length,s=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return yl.box(yl.types.esds,s)}static avc1(e){let t=e.avcc,i=e.codecWidth,s=e.codecHeight,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return yl.box(yl.types.avc1,r,yl.box(yl.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,s=e.codecHeight;let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return yl.box(yl.types.hvc1,r,yl.box(yl.types.hvcC,t))}static mvex(e){return yl.box(yl.types.mvex,yl.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return yl.box(yl.types.trex,i)}static moof(e,t){return yl.box(yl.types.moof,yl.mfhd(e.sequenceNumber),yl.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return yl.box(yl.types.mfhd,t)}static traf(e,t){let i=e.id,s=yl.box(yl.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),r=yl.box(yl.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=yl.sdtp(e),o=yl.trun(e,a.byteLength+16+16+8+16+8+8);return yl.box(yl.types.traf,s,r,o,a)}static sdtp(e){let t=e.samples||[],i=t.length,s=new Uint8Array(4+i);for(let e=0;e>>24&255,s>>>16&255,s>>>8&255,255&s,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);for(let e=0;e>>24&255,t>>>16&255,t>>>8&255,255&t,s>>>24&255,s>>>16&255,s>>>8&255,255&s,r.isLeading<<2|r.dependsOn,r.isDependedOn<<6|r.hasRedundancy<<4|r.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12+16*e)}return yl.box(yl.types.trun,a)}static mdat(e){return yl.box(yl.types.mdat,e)}}yl.init();class Al extends fl{constructor(e){super(e),this.TAG_NAME="recorderMP4",this._reset(),e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this._reset(),this.player.debugLog(this.TAG_NAME,"destroy")}_reset(){super._reset(),this.totalDuration=0,this.totalAudioDuration=0,this.totalByteLength=0,this.totalAudioByteLength=0,this.bufferList=[],this.audioBufferList=[],this.cacheTrack={},this.audioCacheTrack={},this.sequenceNumber=0,this.audioSequenceNumber=0}startRecord(){this._isRecording=!0,this.player.emit(At.recording,!0),this.player.debugLog(this.TAG_NAME,"start recording"),this.player.emit(At.recordStart),this._startRecordingInterval()}_startRecordingInterval(){this.stopRecordingInterval(),this.recordingInterval=window.setInterval((()=>{this.player.emit(At.recordingTimestamp,this.getTotalDuration())}),1e3)}_formatFmp4Track(e,t,i,s){return{id:1,sequenceNumber:++this.sequenceNumber,size:e.byteLength,dts:i,cts:s,isKeyframe:t,data:e,duration:0,flags:{isLeading:0,dependsOn:t?2:1,isDependedOn:t?1:0,hasRedundancy:0,isNonSync:t?0:1}}}_formatAudioFmp4Track(e,t){return{id:2,sequenceNumber:++this.audioSequenceNumber,size:e.byteLength,dts:t,pts:t,cts:0,data:new Uint8Array(e),duration:0,originalDts:t,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}}handleAddNaluTrack(e,t,i,s){this.cacheTrack.id&&i>=this.cacheTrack.dts?(this.cacheTrack.duration=i-this.cacheTrack.dts,this._handleAddFmp4Track(this.cacheTrack)):this.cacheTrack={},this.cacheTrack=this._formatFmp4Track(e,t,i,s)}handleAddAudioTrack(e,t){}_handleAddFmp4Track(e){if(!this.isRecording)return void this.player.debugError(this.TAG_NAME,"_handleAddFmp4Track, isRecording is false ");if((null===this.sps||null===this.pps)&&this.isH264)return void this.player.debugError(this.TAG_NAME,"_handleAddFmp4Track, is h264 and this.sps or this.pps is null ");if((null===this.sps||null===this.pps||null===this.vps)&&this.isH265)return void this.player.debugError(this.TAG_NAME,"_handleAddFmp4Track, is h265 and this.sps or this.pps or this.vps is null ");const t=Object.assign({},e);t.pts=t.dts+t.cts;const i=t.data;if(t.isKeyframe)if(this.isH264){const e=new Uint8Array(this.sps.byteLength+this.pps.byteLength);e.set(this.sps,0),e.set(this.pps,this.sps.byteLength);const s=new Uint8Array(e.byteLength+i.byteLength);s.set(e,0),s.set(i,e.byteLength),t.data=s}else if(this.isH265){const e=new Uint8Array(this.sps.byteLength+this.pps.byteLength+this.vps.byteLength);e.set(this.vps,0),e.set(this.sps,this.vps.byteLength),e.set(this.pps,this.vps.byteLength+this.sps.byteLength);const s=new Uint8Array(e.byteLength+i.byteLength);s.set(e,0),s.set(i,e.byteLength),t.data=s}t.size=t.data.byteLength,this.totalDuration+=t.duration,this.totalByteLength+=t.data.byteLength,t.duration=0,t.originalDts=t.dts,delete t.id,delete t.sequenceNumber,this.bufferList.push(t)}_handleAddFmp4AudioTrack(e){const t=Object.assign({},e);t.pts=t.dts+t.cts,t.size=t.data.byteLength,this.totalAudioDuration+=t.duration,this.totalAudioByteLength+=t.data.byteLength,t.duration=0,t.originalDts=t.dts,delete t.id,delete t.sequenceNumber,this.audioBufferList.push(t)}getTotalDuration(){return this.totalDuration/1e3}getType(){return T}getToTalByteLength(){return this.totalByteLength+this.totalAudioByteLength}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{if(!this.isRecording)return this.player.debugError(this.TAG_NAME,"stop recording fail, isRecording is false "),s("stop recording fail, isRecording is false ");if(0===this.bufferList.length)return this.player.debugError(this.TAG_NAME,"stop recording fail, this.bufferList.length is 0 "),s("stop recording fail, this.bufferList.length is 0 ");t&&this.setFileName(t);const r={id:1,type:"video",sps:this.sps,pps:this.pps,samples:this.bufferList,sequenceNumber:this.bufferList.length,length:0,addSampleNum:1,duration:0,...this.metaInfo},a={id:2,type:"audio",sequenceNumber:this.audioBufferList.length,samples:this.audioBufferList,...this.audioMetaInfo},o=[r];a.samples.length>0&&o.push(a),this.player.debugLog(this.TAG_NAME,`trackList length is ${o.length}`);const n=yl.generateInitSegment({timescale:1e3,duration:this.totalDuration},o,this.totalByteLength+this.totalAudioByteLength);this.player.debugLog(this.TAG_NAME,"stop recording");const l=new Blob([n],{type:"application/octet-stream"});if(e===Ct)i(l),this.player.emit(At.recordBlob,l);else{i();ja((this.fileName||fa())+"."+T,l)}this._reset(),this.player.emit(At.recording,!1)}))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.isRecording)return e();this._reset(),this.player.emit(At.recording,!1),this.player.emit(At.recordCancel),e()}))}_getBufferTs(e){}}function bl(){for(var e=arguments.length,t=new Array(e),i=0;i{const i=new s((0|e.byteLength)+(0|t.byteLength));return i.set(e,0),i.set(t,0|e.byteLength),i}),new s)}function vl(e){if((e=e.replace(/\s/g,"")).length%2!=0)return console.error("hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ",e.length),null;const t=new Uint8Array(e.length/2);for(let i=0;i{this.player.emit(At.recordingTimestamp,this.getTotalDuration())}),1e3)}addMetaData(e){this.flvMetaData=e}addAACSequenceHeader(e){this.aacSequenceHeader=e}addVideoSequenceHeader(e){this.videoSequenceHeader=e}addVideo(e,t){this._setStartTime(t);const i=this._getBufferTs(t);this.hasVideo=!0,this._createBufferItem(e,ze,i)}addAudio(e,t){this._setStartTime(t);const i=this._getBufferTs(t);this.hasAudio=!0,this._createBufferItem(e,We,i)}_setStartTime(e){null===this.startTime&&this._isRecording&&(this.startTime=e,this.player.debugLog(this.TAG_NAME,`_setStartTime is ${e}`))}_getBufferTs(e){e>this.currentTime&&(this.currentTime=e);let t=0;return this.startTime&&e>=this.startTime&&(t=e-this.startTime),t>this.prevTimestamp?this.prevTimestamp=t:t=this.prevTimestamp,t}_createBufferItem(e,t,i){const s=this._createFlvPacket(e,t,i),r=this._createFlvTag(s);this.totalByteLength+=r.byteLength,this.bufferList.push(r)}_createFlvTag(e){let t=11+e.header.length,i=new Uint8Array(t+4);i[0]=e.header.type;let s=new DataView(i.buffer);return i[1]=e.header.length>>16&255,i[2]=e.header.length>>8&255,i[3]=255&e.header.length,i[4]=e.header.timestamp>>16&255,i[5]=e.header.timestamp>>8&255,i[6]=255&e.header.timestamp,i[7]=e.header.timestamp>>24&255,i[8]=0,i[9]=0,i[10]=0,s.setUint32(t,t),i.set(e.payload.subarray(0,e.header.length),11),i}_createFlvPacket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{header:{length:e?e.length:0,timestamp:i,type:t},payload:e}}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{if(!this.isRecording)return this.player.debugError(this.TAG_NAME,"stop recording fail, isRecording is false "),s("stop recording fail, isRecording is false ");if(0===this.bufferList.length)return this.player.debugError(this.TAG_NAME,"stop recording fail, this.bufferList.length is 0 "),s("stop recording fail, this.bufferList.length is 0 ");t&&this.setFileName(t);const r=new Uint8Array([70,76,86,1,0,0,0,0,9,0,0,0,0]);this.hasVideo&&(r[4]|=1),this.hasAudio&&(r[4]|=4);let a=[r];if(this.flvMetaData){const e=this._createFlvPacket(this.flvMetaData,$e),t=this._createFlvTag(e);a.push(t)}if(this.videoSequenceHeader){const e=this._createFlvPacket(this.videoSequenceHeader,ze),t=this._createFlvTag(e);a.push(t)}if(this.aacSequenceHeader){const e=this._createFlvPacket(this.aacSequenceHeader,We),t=this._createFlvTag(e);a.push(t)}const o=function(e){const t=e[0].constructor;return e.reduce(((e,i)=>{const s=new t((0|e.byteLength)+(0|i.byteLength));return s.set(e,0),s.set(i,0|e.byteLength),s}),new t)}(a.concat(this.bufferList));this.player.debugLog(this.TAG_NAME,"stop recording");const n=new Blob([o],{type:"application/octet-stream"});if(e===Ct)i(n),this.player.emit(At.recordBlob,n);else{i();ja((this.fileName||fa())+"."+k,n)}this._reset(),this.player.emit(At.recording,!1)}))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.isRecording)return e();this._reset(),this.player.emit(At.recording,!1),this.player.emit(At.recordCancel),e()}))}getTotalDuration(){let e=0;return null!==this.startTime&&null!==this.currentTime&&(e=this.currentTime-this.startTime),Math.round(e/1e3)}getType(){return k}getToTalByteLength(){return this.totalByteLength}}const Sl={init:0,findFirstStartCode:1,findSecondStartCode:2};class El extends Oo{constructor(e){super(),this.player=e,this.isDestroyed=!1,this.reset()}destroy(){this.isDestroyed=!1,this.off(),this.reset()}reset(){this.stats=Sl.init,this.tempBuffer=new Uint8Array(0),this.parsedOffset=0,this.versionLayer=0}dispatch(e,t){let i=new Uint8Array(this.tempBuffer.length+e.length);for(i.set(this.tempBuffer,0),i.set(e,this.tempBuffer.length),this.tempBuffer=i;!this.isDestroyed;){if(this.state==Sl.Init){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=Sl.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==Sl.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=Sl.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==Sl.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=Sl.findFirstStartCode}}}}class Tl extends fl{constructor(e){super(e),this.TAG_NAME="recorderWasmMP4",this._reset(),this.wasmMp4Recorder=null,this.mp3Demuxer=null,this.wasmMp4RecorderStarted=!1,this.pendingAudioFrames=[],this.pendingVideoFrames=[],e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.mp3Demuxer&&(this.mp3Demuxer.destroy(),this.mp3Demuxer=null),this._reset(),this.player.debugLog(this.TAG_NAME,"destroy")}_reset(){super._reset(),this.cacheTrack={},this.audioCacheTrack={},this.totalAudioDuration=0,this.totalByteLength=0,this.totalAudioByteLength=0,this.hasAudio=!1,this.hasVideo=!1}getType(){return T}isWasmMp4(){return!0}getTotalDuration(){return this._recordingTimestamp/1e3}getToTalByteLength(){return this.totalByteLength+this.totalAudioByteLength}startRecord(){const e=this.player,t=this.player.getAudioInfo(),i=this.player.getVideoInfo(),s={};if(this.codecId){const e={type:this.codecId,width:i.width,height:i.height,extraData:this.metaInfo.avcc};s.video=e,this.hasVideo=!0}if(t.encTypeCode){const e={type:t.encTypeCode,sampleRate:t.sampleRate,channels:t.channels,extraData:this.audioMetaInfo.extraData,depth:t.depth};this.audioCodeId=t.encTypeCode,s.audio=e,this.hasAudio=!0}this.wasmMp4Recorder=new window.JessibucaProMp4Recorder({debug:e._opt.debug,debugLevel:e._opt.debugLevel,debugUuid:e._opt.debugUuid,decoder:e._opt.wasmMp4RecorderDecoder}),this.wasmMp4Recorder.on("recordingTimestamp",(e=>{this._recordingTimestamp=Math.round(e/1e3)})),this._isRecording=!0,this.wasmMp4Recorder.startRecord(s).then((()=>{this.player.emit(At.recording,!0),this.wasmMp4RecorderStarted=!0,this.player.debugLog(this.TAG_NAME,"start recording"),this.player.emit(At.recordStart),this.startRecordingInterval()})).catch((e=>{this.player.debugError(this.TAG_NAME,"startRecord error",e),this.player.emitError(At.recordCreateError,e)}))}startRecordingInterval(){this.stopRecordingInterval(),this.recordingInterval=window.setInterval((()=>{this.player.emit(At.recordingTimestamp,this.recordTime)}),1e3)}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>this.isRecording?0===this._recordingTimestamp?(this.player.debugError(this.TAG_NAME,"stop recording fail, recording time is 0 "),s("stop recording fail, recording time is 0 ")):(t&&this.setFileName(t),void this.wasmMp4Recorder.stopRecord().then((t=>{if(e===Ct)i(t),this.player.emit(At.recordBlob,t);else{i();ja((this.fileName||fa())+"."+T,t)}})).catch((e=>{this.player.debugError(this.TAG_NAME,"stopRecord error",e),s(e)})).finally((()=>{this._reset(),this.player.emit(At.recording,!1)}))):(this.player.debugError(this.TAG_NAME,"stop recording fail, isRecording is false "),s("stop recording fail, isRecording is false "))))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.isRecording||0===this._recordingTimestamp)return e();this.wasmMp4Recorder.stopRecord().then((t=>{e()})).catch((e=>{this.player.debugError(this.TAG_NAME,"stopRecord error",e),t(e)})).finally((()=>{this._reset(),this.player.emit(At.recording,!1),this.player.emit(At.recordCancel)}))}))}handleAddAudioTrack(e,t){Lo(this.hasAudio)||(this.wasmMp4RecorderStarted?(this.pendingAudioFrames.length>0&&(this.pendingAudioFrames.forEach((e=>{this._prevHandleAddAudioTrack(e.payload,e.dts)})),this.pendingAudioFrames=[]),this._prevHandleAddAudioTrack(e,t)):this.pendingAudioFrames.push({payload:e,dts:t}))}_prevHandleAddAudioTrack(e,t){this.audioCodeId===Ft?(this.mp3Demuxer||(this.mp3Demuxer=new El(this.player),this.mp3Demuxer.on("data",((e,t)=>{this._handleAddAudioTrack(e,t)}))),this.mp3Demuxer.dispatch(e,t)):this._handleAddAudioTrack(e,t)}_handleAddAudioTrack(e,t){this.audioCacheTrack.id&&t>=this.audioCacheTrack.dts?(this.audioCacheTrack.duration=t-this.audioCacheTrack.dts,this.totalAudioDuration+=this.audioCacheTrack.duration,this.totalAudioByteLength+=this.audioCacheTrack.payload.byteLength,this.wasmMp4Recorder.sendAudioFrame(this.audioCacheTrack.payload,this.audioCacheTrack.dts)):this.audioCacheTrack={},this.audioCacheTrack={id:2,payload:e,dts:t}}handleAddNaluTrack(e,t,i,s){Lo(this.hasVideo)||(this.wasmMp4RecorderStarted?(this.pendingVideoFrames.length>0&&(this.pendingVideoFrames.forEach((e=>{this._prevHandleAddNaluTrack(e.payload,e.isIFrame,e.dts,e.cts)})),this.pendingVideoFrames=[]),this._prevHandleAddNaluTrack(e,t,i,s)):this.pendingVideoFrames.push({payload:e,isIFrame:t,dts:i,cts:s}))}_prevHandleAddNaluTrack(e,t,i,s){this.cacheTrack.id&&i>=this.cacheTrack.dts?(this.cacheTrack.duration=i-this.cacheTrack.dts,this.totalByteLength+=this.cacheTrack.payload.byteLength,this.wasmMp4Recorder.sendVideoFrame(this.cacheTrack.payload,this.cacheTrack.isIFrame,this.cacheTrack.dts,this.cacheTrack.cts)):this.cacheTrack={},this.cacheTrack={id:1,payload:e,isIFrame:t,dts:i,cts:s}}}class wl{constructor(e){return new(wl.getLoaderFactory(e,e._opt))(e)}static getLoaderFactory(e,t){if(e.isOldHls()||e.isWebrtcH264()||e.isAliyunRtc())return gl;if(t.recordType===T){if(t.useWasm||t.useMSE||t.useWCS)return window.JessibucaProMp4Recorder&&t.mp4RecordUseWasm?Tl:Al}else if(t.recordType===k)return _l;return gl}}function kl(e,t,i){let s=e;if(t+i=128){t.push(String.fromCharCode(65535&e)),s+=2;continue}}}else if(i[s]<240){if(kl(i,s,2)){let e=(15&i[s])<<12|(63&i[s+1])<<6|63&i[s+2];if(e>=2048&&55296!=(63488&e)){t.push(String.fromCharCode(65535&e)),s+=3;continue}}}else if(i[s]<248&&kl(i,s,3)){let e=(7&i[s])<<18|(63&i[s+1])<<12|(63&i[s+2])<<6|63&i[s+3];if(e>65536&&e<1114112){e-=65536,t.push(String.fromCharCode(e>>>10|55296)),t.push(String.fromCharCode(1023&e|56320)),s+=4;continue}}t.push(String.fromCharCode(65533)),++s}return t.join("")}let Cl=function(){let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}();class Dl{static parseScriptData(e,t,i){let s={};try{let r=Dl.parseValue(e,t,i),a=Dl.parseValue(e,t+r.size,i-r.size);s[r.data]=a.data}catch(e){console.error("AMF",e.toString())}return s}static parseObject(e,t,i){let s=Dl.parseString(e,t,i),r=Dl.parseValue(e,t+s.size,i-s.size),a=r.objectEnd;return{data:{name:s.data,value:r.data},size:s.size+r.size,objectEnd:a}}static parseVariable(e,t,i){return Dl.parseObject(e,t,i)}static parseString(e,t,i){let s,r=new DataView(e,t,i).getUint16(0,!Cl);return s=r>0?Ll(new Uint8Array(e,t+2,r)):"",{data:s,size:2+r}}static parseLongString(e,t,i){let s,r=new DataView(e,t,i).getUint32(0,!Cl);return s=r>0?Ll(new Uint8Array(e,t+4,r)):"",{data:s,size:4+r}}static parseDate(e,t,i){let s=new DataView(e,t,i),r=s.getFloat64(0,!Cl);return r+=60*s.getInt16(8,!Cl)*1e3,{data:new Date(r),size:10}}static parseValue(e,t,i){let s,r=new DataView(e,t,i),a=1,o=r.getUint8(0),n=!1;try{switch(o){case 0:s=r.getFloat64(1,!Cl),a+=8;break;case 1:s=!!r.getUint8(1),a+=1;break;case 2:{let r=Dl.parseString(e,t+1,i-1);s=r.data,a+=r.size;break}case 3:{s={};let o=0;for(9==(16777215&r.getUint32(i-4,!Cl))&&(o=3);a{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ae)}this.decoderWorker=new Worker(t),this._initDecoderWorker(),this._listenPlaybackEvents(),e.debugLog("decoderWorker",`init and decoder url is ${t}`),e.on(At.visibilityChange,(()=>{this.updateWorkConfig({key:"visibility",value:e.visibility})}))}destroy(){return new Promise(((e,t)=>{if(this.player.loaded)if(this.player.debugLog("decoderWorker","has loaded and post message to destroy"),this.decoderWorker){const t={};this.player.isMseDecoderUseWorker()&&(t.isVideoInited=this.player.isMseVideoStateInited()),this.decoderWorker.postMessage({cmd:Ye,options:t}),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn("decoderWorker","send close but not response and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0)}),2e3)}else this.player.debugWarn("decoderWorker","has loaded but decoderWorker is null and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0);else this.player.debugLog("decoderWorker","has not loaded and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0)}))}_destroy(){this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.decoderWorker&&(this.decoderWorker.terminate(),this.decoderWorker.onerror=null,this.decoderWorker.onmessageerror=null,this.decoderWorker.onmessage=null,this.decoderWorker=null),this.player.debugLog("decoderWorker","destroy"),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.isDestroyed=!0}_listenPlaybackEvents(){this.player.isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender()&&(this.player.debugLog(this.TAG_NAME,"listenPlaybackEvents"),this.player.on(At.playbackPause,(e=>{this.updatePlaybackIsPause(e)})))}_initDecoderWorker(){this.player,this.decoderWorker.onerror=e=>{const t=e.filename||"",i=e.message||"",s=t&&(-1!==t.indexOf(".wasm")||-1!==t.indexOf("wasm://"));s&&-1!==i.indexOf(cr)?this.player.debugLog("decoderWorker",`onerror and ignore filename: ${t},message: ${i}`,e):(this.player.debugError("decoderWorker",`onerror filename: ${t},message: ${i}`,e),s?this.player.emitError(_t.decoderWorkerWasmError,`filename: ${t},message: ${i}`):this.player.emitError(_t.decoderWorkerInitError,`filename: ${t},message: ${i}`))},this.decoderWorker.onmessageerror=e=>{this.player.debugError("decoderWorker","onmessageerror",e)},this.decoderWorker.onmessage=e=>{const t=e.data;switch(t.cmd){case le:this.player.debugLog("decoderWorker","onmessage:",le),this.decoderWorker&&this._initWork(),this.player.loaded||this.player.emit(At.load),this.player.emit(At.decoderWorkerInit);break;case ge:this.player.debugLog("decoderWorker","onmessage:",ge,t.code),this.player._times.decodeStart||(this.player._times.decodeStart=fa()),this.player.video.updateVideoInfo({encTypeCode:t.code});break;case ye:this.player.debugLog("decoderWorker","onmessage:",ye,t.codecId),this.player.recorder&&this.player.recorder.initMetaData(t.buffer,t.codecId),this.player.video.updateVideoInfo({encTypeCode:t.codecId});break;case pe:this.player.debugLog("decoderWorker","onmessage:",pe,t.code),this.player.audio&&this.player.audio.updateAudioInfo({encTypeCode:t.code});break;case fe:this.player.debugLog("decoderWorker","onmessage:",fe),this.player.recorder&&this.player.recorder.initAudioAacExtraData(t.buffer);break;case de:if(this.player.debugLog("decoderWorker","onmessage:",de,`width:${t.w},height:${t.h}`),Ga(t.w)||Ga(t.h))return void this.player.emitError(_t.videoInfoError,`video width ${t.w} or height ${t.h} is empty`);if(this.player.video.bindMediaStream(),this.player.video.updateVideoInfo({width:t.w,height:t.h}),!this.player._opt.openWebglAlignment&&t.w/2%4!=0&&this.player.getRenderType()===J)return void this.player.emitError(_t.webglAlignmentError);this.player.video.initCanvasViewSize(),(this.player._opt.playType===S||this.player.isPlayVod())&&(this.player.video.initFps(),this.player.video.initVideoDelay());break;case ue:if(this.player.debugLog("decoderWorker","onmessage:",ue,`channels:${t.channels},sampleRate:${t.sampleRate}`),t.channels>2)return void this.player.emitError(_t.audioChannelError,`audio channel is ${t.channels}, max is 2`);this.player.audio&&(this.player.audio.updateAudioInfo(t),(this.player._opt.playType===v||this.player._opt.playType===S||this.player.isPlayVod())&&this.player.audio.initScriptNode());break;case he:if(!this.player.video)return void this.player.debugWarn("decoderWorker","onmessage render but video is null");if(this.player.isPlayer()){if(Lo(this.player.video.getHasInit()))return void this.player.debugWarn("decoderWorker","onmessage render but video has not init");this.player.video.render(t),this.player.handleRender(),this.player.emit(At.timeUpdate,t.ts),this.player.updateStats({dfps:!0,buf:t.delay}),this.player._times.videoStart||(this.player._times.videoStart=fa(),this.player.handlePlayToRenderTimes())}else if(this.player.isPlayback())this.player.updateStats({dfps:!0}),Lo(this.player.playbackPause)?(this.player.playback.isUseLocalCalculateTime&&this.player.playback.increaseLocalTimestamp(),this.player.playback.isUseFpsRender?this.player.video.pushData(t):this.player.video.render$2(t)):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player.playback.isUseFpsRender&&this.player.video.pushData(t);else if(this.player.isPlayVod())if(this.player.playVod.isSeeking()){const e=this.player.playVod.seekingTimestamp,i=Math.abs(t.ts-e);this.player.debug.log("decoderWorker","onmessage:",he,`msg ts:${t.ts} and seekingTimestamp:${e} and diff:${i} and ignore render`),i<500&&(this.player.playVod.removeSeekingTimestamp(),this.player.updateStats({dfps:!0}),this.player.video.render$2(t))}else this.player.updateStats({dfps:!0}),this.player.video.render$2(t);break;case Ae:this.player.recorder&&this.player.recorder.isRecording&&this.player._opt.recordType===T&&this.player.recorder.handleAddNaluTrack(t.buffer,t.isIFrame,t.ts,t.cts);break;case me:this.player.recorder&&this.player.recorder.isRecording&&this.player._opt.recordType===T&&this.player.recorder.isWasmMp4()&&this.player.recorder.handleAddAudioTrack(t.buffer,t.ts);break;case be:const{webcodecsDecoder:e,mseDecoder:i}=this.player;this.player.updateStats({buf:t.delay});const s=new Uint8Array(t.payload);this.player._opt.useWCS&&!this.player._opt.useOffscreen?e.decodeVideo(s,t.ts,t.isIFrame,t.cts):this.player._opt.useMSE&&i.decodeVideo(s,t.ts,t.isIFrame,t.cts);break;case ve:if(this.player._opt.useMSE){const e=new Uint8Array(t.payload);this.player.mseDecoder.decodeAudio(e,t.ts,t.cts)}break;case ce:if(!this.player.audio)return void this.player.debugWarn("decoderWorker","onmessage playAudio but audio is null");if(this.player.playing&&this.player.audio||!this.player.video)if(this.player._opt.hasVideo||this.player.handleRender(),this.player._opt.playType===v)this.player.audio.play(t.buffer,t.ts);else if(this.player._opt.playType===S)(Lo(this.player.playbackPause)||this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player.playback.isUseFpsRender)&&this.player.audio.play(t.buffer,t.ts);else if(this.player.isPlayVod()&&Lo(this.player.playVodPause)){if(this.player.playVod.isSeeking())return;this.player.audio.play(t.buffer,t.ts)}break;case _e:if(t.type===At.streamSuccess)this.player.stream?this.player.stream.emit(At.streamSuccess):this.player.debugWarn("decoderWorker","onmessage and workerFetch response stream success but stream is null");else if(t.type===At.streamRate)this.player.emit(At.kBps,(t.value/1024).toFixed(2));else if(t.type===At.streamEnd)this.player?(t.value===m&&this.player.emit(At.websocketClose,t.msg),this.player.stream?this.player.stream.emit(At.streamEnd,t.msg):this.player.debugWarn("decoderWorker","onmessage and workerFetch response stream end but player.stream is null")):this.player.debugWarn("decoderWorker","onmessage and workerFetch response stream end but player is null");else if(t.type===At.streamEndInner)this.player.updateStreamEndInner();else if(t.type===_t.websocketError)this.player&&this.player.stream?this.player.stream.emit(_t.websocketError,t.value):this.player.debugWarn("decoderWorker","onmessage and workerFetch response websocket error but stream is null");else if(t.type===_t.fetchError)this.player&&this.player.stream?this.player.stream.emit(_t.fetchError,t.value):this.player.debugWarn("decoderWorker","onmessage and workerFetch response fetch error but stream is null");else if(t.type===At.streamAbps)this.player.updateStats({abps:t.value});else if(t.type===At.streamVbps)this.player._times.demuxStart||(this.player._times.demuxStart=fa()),this.player.updateStats({vbps:t.value});else if(t.type===At.streamDts)this.player.updateStats({dts:t.value});else if(t.type===At.netBuf)this.player.updateStats({netBuf:t.value});else if(t.type===At.networkDelayTimeout)this.player.emit(At.networkDelayTimeout,t.value);else if(t.type===At.streamStats){const e=JSON.parse(t.value);this.player.updateStats({workerStats:e})}else t.type===At.websocketOpen&&this.player.emit(At.websocketOpen);break;case Se:this.player&&(this.player.videoIframeIntervalTs=t.value);break;case Ee:this.player&&this.player.updateStats({isDropping:!0});break;case Fe:this.player.decoderCheckFirstIFrame();break;case we:this.player&&this.player.video&&this.player.video.setStreamFps(t.value);break;case Ce:this.player.emitError(_t.simdH264DecodeVideoWidthIsTooLarge,t.value);break;case ke:this.player.emitError(_t.wasmWidthOrHeightChange,t.value);break;case Le:this.player.emitError(_t.simdDecodeError);break;case Te:this.player.debugLog("decoderWorker","onmessage:",Te),this.player.destroy(),console.error("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),alert("Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"),window.location.reload();break;case De:this.player.debugLog("decoderWorker","onmessage:",De),this._destroy();break;case xe:this.player&&this.player.pushTempStream(t.buffer);break;case Re:this.player&&this.player.emitVideoSei({ts:t.ts,data:new Uint8Array(t.buffer)});break;case Pe:if(this.player){if(this.player.isRecordTypeFlv()){const e=new Uint8Array(t.buffer);this.player.recorder.addMetaData(e)}const e=xl(new Uint8Array(t.buffer));e&&e.onMetaData&&this.player.updateMetaData(e.onMetaData)}break;case Ie:if(this.player&&this.player.isRecordTypeFlv()){const e=new Uint8Array(t.buffer);this.player.recorder.addAACSequenceHeader(e,t.ts)}break;case Be:if(this.player&&this.player.isRecordTypeFlv()){const e=new Uint8Array(t.buffer);this.player.recorder.addVideoSequenceHeader(e,t.ts)}break;case Me:if(this.player&&this.player.isRecordTypeFlv()&&this.player.recording){const e=new Uint8Array(t.buffer);t.type===Ve?this.player.recorder.addVideo(e,t.ts):t.type===Ge&&this.player.recorder.addAudio(e,t.ts)}break;case Ue:this.player&&(this.player.debugLog("decoderWorker","onmessage:",Ue),this.player.video.$videoElement.srcObject=t.mseHandle);break;case Oe:this.player&&(this.player.debugLog("decoderWorker","onmessage:",Oe,t.value),this.player._mseWorkerData.firstRenderTime=Number(t.value));break;case Ne:this.player&&(this.player.debugLog("decoderWorker","onmessage:",Ne,t.value,t.msg),this.player.emitError(t.value,t.msg));break;case je:this.player&&(this.player.debugLog(this.TAG_NAME,"onmessage:",je),this.player.emitError(_t.notSupportNewWasm));break;default:this.player[t.cmd]&&this.player[t.cmd](t)}}}_initWork(){const e={debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid,useOffscreen:this.player._opt.useOffscreen,useWCS:this.player._opt.useWCS,useMSE:this.player._opt.useMSE,videoBuffer:this.player._opt.videoBuffer,videoBufferDelay:this.player._opt.videoBufferDelay,openWebglAlignment:this.player._opt.openWebglAlignment,playType:this.player._opt.playType,hasAudio:this.player._opt.hasAudio,hasVideo:this.player._opt.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:this.player._opt.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:this.player._opt.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:this.player.audio&&this.player.audio.audioContext&&this.player.audio.audioContext.sampleRate||Pr,audioBufferSize:this.player.audio&&this.player.audio.getAudioBufferSize()||1024,networkDelay:this.player._opt.networkDelay,visibility:this.player.visibility,useSIMD:this.player._opt.useSIMD,recordType:this.player._opt.recordType,checkFirstIFrame:this.player._opt.checkFirstIFrame,isM7sCrypto:this.player._opt.isM7sCrypto,isXorCrypto:this.player._opt.isXorCrypto,isSm4Crypto:this.player._opt.isSm4Crypto,isSm4CryptoH265V2:this.player._opt.isSm4CryptoH265V2,sm4CryptoKey:this.player._opt.sm4CryptoKey,m7sCryptoAudio:this.player._opt.m7sCryptoAudio,isFlv:this.player._opt.isFlv,isFmp4:this.player._opt.isFmp4,isMpeg4:this.player._opt.isMpeg4,isTs:this.player._opt.isTs,isNakedFlow:this.player._opt.isNakedFlow,isHls265:this.player.isUseHls265(),isEmitSEI:this.player._opt.isEmitSEI,isRecordTypeFlv:this.player.isRecordTypeFlv(),isWasmMp4:this.player.recorder&&this.player.recorder.isWasmMp4()||!1,isChrome:ao(),isFirefox:wa(),supportMSEDecodeHevc:Fa(),isDropSameTimestampGop:this.player._opt.isDropSameTimestampGop,mseDecodeAudio:this.player._opt.mseDecodeAudio,wcsDecodeAudio:this.player._opt.wcsDecodeAudio,nakedFlowH265DemuxUseNew:this.player._opt.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:this.player._opt.mseDecoderUseWorker,mseAutoCleanupMinBackwardDuration:this.player._opt.mseAutoCleanupMinBackwardDuration,mseAutoCleanupMaxBackwardDuration:this.player._opt.mseAutoCleanupMaxBackwardDuration,mseCorrectTimeDuration:this.player._opt.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:this.player._opt.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:this.player._opt.nakedFlowDemuxUseNew,nakedFlowFps:this.player._opt.nakedFlowFps,checkStreamEnd:this.player._opt.checkStreamEnd};this.decoderWorker.postMessage({cmd:He,opt:JSON.stringify(e)}),this.player._opt.cryptoKey&&this.player._opt.cryptoKey.byteLength>0&&this.player._opt.cryptoIV&&this.player._opt.cryptoIV.byteLength>0&&(this.updateWorkConfig({key:"cryptoKey",value:this.player._opt.cryptoKey}),this.updateWorkConfig({key:"cryptoIV",value:this.player._opt.cryptoIV}))}decodeVideo(e,t,i){this.player._opt.playType===v?this.player.isUseHls265()?this._decodeVideoNoDelay(e,t,i):this._decodeVideo(e,t,i):this.player._opt.playType===S?this.player.isPlaybackOnlyDecodeIFrame()?i&&(this.player.debugLog("decoderWorker",`current rate is ${this.player.video.rate},only decode i frame`),this._decodeVideoNoDelay(e,t,i)):1===this.player.video.rate?this._decodeVideo(e,t,i):this._decodeVideoNoDelay(e,t,i):this.player.isPlayVod()&&this._decodeVideoNoDelay(e,t,i)}_decodeVideo(e,t,i){const s={type:Ve,ts:Math.max(t,0),isIFrame:i};this.decoderWorker.postMessage({cmd:Je,buffer:e,options:s},[e.buffer])}_decodeVideoNoDelay(e,t,i){this.decoderWorker.postMessage({cmd:Ke,buffer:e,ts:Math.max(t,0),isIFrame:i},[e.buffer])}decodeAudio(e,t){this.player._opt.playType===v?this.player._opt.useWCS||this.player._opt.useMSE||this.player.isUseHls265()?this._decodeAudioNoDelay(e,t):this._decodeAudio(e,t):this.player._opt.playType===S?this.player.isPlaybackOnlyDecodeIFrame()||(1===this.player.video.rate?this._decodeAudio(e,t):this._decodeAudioNoDelay(e,t)):this.player.isPlayVod()&&this._decodeAudioNoDelay(e,t)}_decodeAudio(e,t){const i={type:Ge,ts:Math.max(t,0)};this.decoderWorker.postMessage({cmd:Je,buffer:e,options:i},[e.buffer])}_decodeAudioNoDelay(e,t){this.decoderWorker.postMessage({cmd:qe,buffer:e,ts:Math.max(t,0)},[e.buffer])}updateWorkConfig(e){this.decoderWorker&&this.decoderWorker.postMessage({cmd:Qe,key:e.key,value:e.value})}workerFetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{_opt:i}=this.player;let s=[];t.protocols&&(s=t.protocols,delete t.protocols);const r={protocol:i.protocol,isFlv:i.isFlv,isFmp4:i.isFmp4,isMpeg4:i.isMpeg4,isNakedFlow:i.isNakedFlow,isTs:i.isTs,options:t};this.decoderWorker.postMessage({cmd:Ze,url:e,protocols:s,opt:JSON.stringify(r)})}clearWorkBuffer(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.decoderWorker.postMessage({cmd:Xe,needClear:e})}workerSendMessage(e){this.decoderWorker.postMessage({cmd:et,message:e})}updateVideoTimestamp(e){this.decoderWorker.postMessage({cmd:tt,message:e})}updatePlaybackIsPause(e){this.decoderWorker.postMessage({cmd:it,isPause:e})}}var Pl,Il="application/json, text/javascript",Bl="text/html",Ml=/^(?:text|application)\/xml/i,Fl=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ul=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ol=/^\s*$/,Nl={},jl={},Gl="",Vl={type:"GET",beforeSend:Wl,success:Wl,error:Wl,complete:Wl,context:null,xhr:function(){return new window.XMLHttpRequest},accepts:{json:Il,xml:"application/xml, text/xml",html:Bl,text:"text/plain","*":"*/".concat("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:Wl,contentType:"application/x-www-form-urlencoded; charset=UTF-8"};function Wl(){}var zl=function(e,t){"object"==typeof e&&(t=e,e=void 0);var i=Xl({},t=t||{});for(var s in Vl)void 0===i[s]&&(i[s]=Vl[s]);try{var r={},a=new Promise((function(e,t){r.resolve=e,r.reject=t}));a.resolve=r.resolve,a.reject=r.reject,i.promise=a}catch(e){i.promise={resolve:Wl,reject:Wl}}var o=Ul.exec(window.location.href.toLowerCase())||[];i.url=((e||i.url||window.location.href)+"").replace(/#.*$/,"").replace(/^\/\//,o[1]+"//");var n=i.url;i.crossDomain||(i.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(i.url)&&RegExp.$2!==window.location.href);var l=i.dataType;if("jsonp"===l){if(!/=\?/.test(i.url)){var d=(i.jsonp||"callback")+"=?";i.url=Kl(i.url,d)}return function(e){var t,i=e.jsonpCallback||"jsonp"+td(),s=window.document.createElement("script"),r={abort:function(){i in window&&(window[i]=Wl)}},a=window.document.getElementsByTagName("head")[0]||window.document.documentElement;function o(i){window.clearTimeout(t),r.abort(),Jl(i.type,r,i.type,e),n()}s.onerror=function(e){o(e)},window[i]=function(i){window.clearTimeout(t),$l(i,r,e),n()},Yl(e),s.src=e.url.replace(/=\?/,"="+i),s.src=Kl(s.src,"_="+(new Date).getTime()),s.async=!0,e.scriptCharset&&(s.charset=e.scriptCharset);a.insertBefore(s,a.firstChild),e.timeout>0&&(t=window.setTimeout((function(){r.abort(),Jl("timeout",r,"timeout",e),n()}),e.timeout));function n(){s.clearAttributes?s.clearAttributes():s.onload=s.onreadystatechange=s.onerror=null,s.parentNode&&s.parentNode.removeChild(s),s=null,delete window[i]}return e.promise.abort=function(){r.abort()},e.promise.xhr=r,e.promise}(i)}Yl(i);var h=i.accepts[l]||i.accepts["*"],c={};/^([\w-]+:)\/\//.test(i.url)?RegExp.$1:window.location.protocol;var u,p=Vl.xhr();i.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest"),i.ifModified&&(Nl[n]&&(c["If-Modified-Since"]=Nl[n]),jl[n]&&(c["If-None-Match"]=jl[n])),h&&(c.Accept=h,h.indexOf(",")>-1&&(h=h.split(",",2)[0]),p.overrideMimeType&&p.overrideMimeType(h));var m=!/^(?:GET|HEAD)$/.test(i.type.toUpperCase());if((i.data&&m&&!1!==i.contentType||t.contentType)&&(c["Content-Type"]=i.contentType),!1===i.cache&&!m){var f=/([?&])_=[^&]*/;i.url=f.test(n)?n.replace(f,"$1_="+td()):n+(/\?/.test(n)?"&":"?")+"_="+td()}i.headers=Xl(c,i.headers||{}),p.onreadystatechange=function(){if(4===p.readyState){var e;clearTimeout(u);var t=!1;if(p.status>=200&&p.status<300||304===p.status){if(Gl=p.getAllResponseHeaders(),i.ifModified){var s=ql("Last-Modified");s&&(Nl[n]=s),(s=ql("etag"))&&(jl[n]=s)}l=l||function(e){return e&&(e===Bl?"html":e===Il?"json":Ml.test(e)&&"xml")||"text"}(p.getResponseHeader("content-type")),e=p.responseText;try{"xml"===l?e=p.responseXML:"json"===l&&(e=Ol.test(e)?null:JSON.parse(e))}catch(e){t=e}t?Jl(t,"parseerror",p,i):$l(e,p,i)}else Jl(null,"error",p,i)}};var g=!("async"in i)||i.async;if(p.open(i.type,i.url,g,i.username,i.password),i.xhrFields)for(var y in i.xhrFields)p[y]=i.xhrFields[y];for(var y in i.mimeType&&p.overrideMimeType&&p.overrideMimeType(i.mimeType),i.headers)void 0!==i.headers[y]&&p.setRequestHeader(y,i.headers[y]+"");return!1===function(e,t){var i=t.context;if(!1===t.beforeSend.call(i,e,t))return!1}(p,i)?(p.abort(),!1):(i.timeout>0&&(u=window.setTimeout((function(){p.onreadystatechange=Wl,p.abort(),Jl(null,"timeout",p,i)}),i.timeout)),p.send(i.data?i.data:null),i.promise.abort=function(){p.abort()},i.promise)};function $l(e,t,i){var s=i.context,r="success";i.success.call(s,e,r,t),i.promise.resolve(e,r,t),Hl(r,t,i)}function Hl(e,t,i){var s=i.context;i.complete.call(s,t,e)}function Jl(e,t,i,s){var r=s.context;s.error.call(r,i,t,e),s.promise.reject(i,t,e),Hl(t,i,s)}function ql(e){var t;if(!Pl){for(Pl={};t=Fl.exec(Gl);)Pl[t[1].toLowerCase()]=t[2];t=Pl[e.toLowerCase()]}return null===t?null:t}function Kl(e,t){return(e+"&"+t).replace(/[&?]{1,2}/,"?")}function Yl(e){!Zl(e)||e.data instanceof FormData||!e.processData||(e.data=function(e,t){var i=[];return i.add=function(e,t){this.push(encodeURIComponent(e)+"="+encodeURIComponent(t))},Ql(i,e,t),i.join("&").replace("%20","+")}(e.data)),!e.data||e.type&&"GET"!==e.type.toUpperCase()||(e.url=Kl(e.url,e.data))}function Ql(e,t,i,s){var r=function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t);for(var a in t){var o=t[a];s&&(a=i?s:s+"["+(r?"":a)+"]"),!s&&r?e.add(o.name,o.value):(i?r(o):Zl(o))?Ql(e,o,i,a):e.add(a,o)}}function Xl(e){for(var t=Array.prototype.slice,i=t.call(arguments,1),s=0,r=i.length;s255)return!1;return!0}function rd(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!sd(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(id(e.length)&&sd(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function ad(e){return new Uint8Array(e)}function od(e,t,i,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,i)}zl.get=function(e,t,i,s){return ed(t)&&(s=s||i,i=t,t=void 0),zl({url:e,data:t,success:i,dataType:s})},zl.post=function(e,t,i,s){return ed(t)&&(s=s||i,i=t,t=void 0),zl({type:"POST",url:e,data:t,success:i,dataType:s})},zl.getJSON=function(e,t,i){return ed(t)&&(i=t,t=void 0),zl({url:e,data:t,success:i,dataType:"json"})},zl.ajaxSetup=function(e,t){return t?Xl(Xl(e,Vl),t):Xl(Vl,e)};var nd={toBytes:function(e){var t=[],i=0;for(e=encodeURI(e);i191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[i+1])),i+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[i+1])<<6|63&e[i+2])),i+=3)}return t.join("")}},ld=function(){var e="0123456789abcdef";return{toBytes:function(e){for(var t=[],i=0;i>4]+e[15&r])}return i.join("")}}}(),dd={16:10,24:12,32:14},hd=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],cd=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],ud=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],pd=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],md=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],fd=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],gd=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],yd=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],Ad=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],bd=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],vd=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],_d=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Sd=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Ed=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Td=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function wd(e){for(var t=[],i=0;i>2,this._Ke[i][t%4]=a[t],this._Kd[e-i][t%4]=a[t];for(var o,n=0,l=r;l>16&255]<<24^cd[o>>8&255]<<16^cd[255&o]<<8^cd[o>>24&255]^hd[n]<<24,n+=1,8!=r)for(t=1;t>8&255]<<8^cd[o>>16&255]<<16^cd[o>>24&255]<<24;for(t=r/2+1;t>2,h=l%4,this._Ke[d][h]=a[t],this._Kd[e-d][h]=a[t++],l++}for(var d=1;d>24&255]^Sd[o>>16&255]^Ed[o>>8&255]^Td[255&o]},kd.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,i=[0,0,0,0],s=wd(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var a=1;a>24&255]^md[s[(r+1)%4]>>16&255]^fd[s[(r+2)%4]>>8&255]^gd[255&s[(r+3)%4]]^this._Ke[a][r];s=i.slice()}var o,n=ad(16);for(r=0;r<4;r++)o=this._Ke[t][r],n[4*r]=255&(cd[s[r]>>24&255]^o>>24),n[4*r+1]=255&(cd[s[(r+1)%4]>>16&255]^o>>16),n[4*r+2]=255&(cd[s[(r+2)%4]>>8&255]^o>>8),n[4*r+3]=255&(cd[255&s[(r+3)%4]]^o);return n},kd.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,i=[0,0,0,0],s=wd(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var a=1;a>24&255]^Ad[s[(r+3)%4]>>16&255]^bd[s[(r+2)%4]>>8&255]^vd[255&s[(r+1)%4]]^this._Kd[a][r];s=i.slice()}var o,n=ad(16);for(r=0;r<4;r++)o=this._Kd[t][r],n[4*r]=255&(ud[s[r]>>24&255]^o>>24),n[4*r+1]=255&(ud[s[(r+3)%4]>>16&255]^o>>16),n[4*r+2]=255&(ud[s[(r+2)%4]>>8&255]^o>>8),n[4*r+3]=255&(ud[255&s[(r+1)%4]]^o);return n};var Ld=function(e){if(!(this instanceof Ld))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new kd(e)};Ld.prototype.encrypt=function(e){if((e=rd(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=ad(e.length),i=ad(16),s=0;sNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Rd.prototype.setBytes=function(e){if(16!=(e=rd(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Rd.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var Pd=function(e,t){if(!(this instanceof Pd))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Rd||(t=new Rd(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new kd(e)};Pd.prototype.encrypt=function(e){for(var t=rd(e,!0),i=0;i16)throw new Error("PKCS#7 padding byte out of range");for(var i=e.length-t,s=0;s>>2]>>>24-a%4*8&255;t[s+a>>>2]|=o<<24-(s+a)%4*8}else for(var n=0;n>>2]=i[n>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i>>2]>>>24-r%4*8&255;s.push((a>>>4).toString(16)),s.push((15&a).toString(16))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new d.init(i,t/2)}},u=h.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],r=0;r>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(a))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new d.init(i,t)}},p=h.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},m=n.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i,s=this._data,r=s.words,a=s.sigBytes,o=this.blockSize,n=a/(4*o),l=(n=t?e.ceil(n):e.max((0|n)-this._minBufferSize,0))*o,h=e.min(4*l,a);if(l){for(var c=0;c>>2]|=e[r]<<24-r%4*8;t.call(this,s,i)}else t.apply(this,arguments)};s.prototype=e}}(),i.lib.WordArray)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.WordArray,s=e.enc;function r(e){return e<<8&4278255360|e>>>8&16711935}s.Utf16=s.Utf16BE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],r=0;r>>2]>>>16-r%4*8&65535;s.push(String.fromCharCode(a))}return s.join("")},parse:function(e){for(var i=e.length,s=[],r=0;r>>1]|=e.charCodeAt(r)<<16-r%2*16;return t.create(s,2*i)}},s.Utf16LE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],a=0;a>>2]>>>16-a%4*8&65535);s.push(String.fromCharCode(o))}return s.join("")},parse:function(e){for(var i=e.length,s=[],a=0;a>>1]|=r(e.charCodeAt(a)<<16-a%2*16);return t.create(s,2*i)}}}(),i.enc.Utf16)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.WordArray;function s(e,i,s){for(var r=[],a=0,o=0;o>>6-o%4*2;r[a>>>2]|=n<<24-a%4*8,a++}return t.create(r,a)}e.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,s=this._map;e.clamp();for(var r=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,n=0;n<4&&a+.75*n>>6*(3-n)&63));var l=s.charAt(64);if(l)for(;r.length%4;)r.push(l);return r.join("")},parse:function(e){var t=e.length,i=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var a=0;a>>6-o%4*2;r[a>>>2]|=n<<24-a%4*8,a++}return t.create(r,a)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var i=e.words,s=e.sigBytes,r=t?this._safe_map:this._map;e.clamp();for(var a=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(i[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|i[o+2>>>2]>>>24-(o+2)%4*8&255,l=0;l<4&&o+.75*l>>6*(3-l)&63));var d=r.charAt(64);if(d)for(;a.length%4;)a.push(d);return a.join("")},parse:function(e,t){void 0===t&&(t=!0);var i=e.length,r=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var o=0;o>>24)|4278255360&(r<<24|r>>>8)}var a=this._hash.words,o=e[t+0],l=e[t+1],p=e[t+2],m=e[t+3],f=e[t+4],g=e[t+5],y=e[t+6],A=e[t+7],b=e[t+8],v=e[t+9],_=e[t+10],S=e[t+11],E=e[t+12],T=e[t+13],w=e[t+14],k=e[t+15],L=a[0],C=a[1],D=a[2],x=a[3];L=d(L,C,D,x,o,7,n[0]),x=d(x,L,C,D,l,12,n[1]),D=d(D,x,L,C,p,17,n[2]),C=d(C,D,x,L,m,22,n[3]),L=d(L,C,D,x,f,7,n[4]),x=d(x,L,C,D,g,12,n[5]),D=d(D,x,L,C,y,17,n[6]),C=d(C,D,x,L,A,22,n[7]),L=d(L,C,D,x,b,7,n[8]),x=d(x,L,C,D,v,12,n[9]),D=d(D,x,L,C,_,17,n[10]),C=d(C,D,x,L,S,22,n[11]),L=d(L,C,D,x,E,7,n[12]),x=d(x,L,C,D,T,12,n[13]),D=d(D,x,L,C,w,17,n[14]),L=h(L,C=d(C,D,x,L,k,22,n[15]),D,x,l,5,n[16]),x=h(x,L,C,D,y,9,n[17]),D=h(D,x,L,C,S,14,n[18]),C=h(C,D,x,L,o,20,n[19]),L=h(L,C,D,x,g,5,n[20]),x=h(x,L,C,D,_,9,n[21]),D=h(D,x,L,C,k,14,n[22]),C=h(C,D,x,L,f,20,n[23]),L=h(L,C,D,x,v,5,n[24]),x=h(x,L,C,D,w,9,n[25]),D=h(D,x,L,C,m,14,n[26]),C=h(C,D,x,L,b,20,n[27]),L=h(L,C,D,x,T,5,n[28]),x=h(x,L,C,D,p,9,n[29]),D=h(D,x,L,C,A,14,n[30]),L=c(L,C=h(C,D,x,L,E,20,n[31]),D,x,g,4,n[32]),x=c(x,L,C,D,b,11,n[33]),D=c(D,x,L,C,S,16,n[34]),C=c(C,D,x,L,w,23,n[35]),L=c(L,C,D,x,l,4,n[36]),x=c(x,L,C,D,f,11,n[37]),D=c(D,x,L,C,A,16,n[38]),C=c(C,D,x,L,_,23,n[39]),L=c(L,C,D,x,T,4,n[40]),x=c(x,L,C,D,o,11,n[41]),D=c(D,x,L,C,m,16,n[42]),C=c(C,D,x,L,y,23,n[43]),L=c(L,C,D,x,v,4,n[44]),x=c(x,L,C,D,E,11,n[45]),D=c(D,x,L,C,k,16,n[46]),L=u(L,C=c(C,D,x,L,p,23,n[47]),D,x,o,6,n[48]),x=u(x,L,C,D,A,10,n[49]),D=u(D,x,L,C,w,15,n[50]),C=u(C,D,x,L,g,21,n[51]),L=u(L,C,D,x,E,6,n[52]),x=u(x,L,C,D,m,10,n[53]),D=u(D,x,L,C,_,15,n[54]),C=u(C,D,x,L,l,21,n[55]),L=u(L,C,D,x,b,6,n[56]),x=u(x,L,C,D,k,10,n[57]),D=u(D,x,L,C,y,15,n[58]),C=u(C,D,x,L,T,21,n[59]),L=u(L,C,D,x,f,6,n[60]),x=u(x,L,C,D,S,10,n[61]),D=u(D,x,L,C,p,15,n[62]),C=u(C,D,x,L,v,21,n[63]),a[0]=a[0]+L|0,a[1]=a[1]+C|0,a[2]=a[2]+D|0,a[3]=a[3]+x|0},_doFinalize:function(){var t=this._data,i=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;i[r>>>5]|=128<<24-r%32;var a=e.floor(s/4294967296),o=s;i[15+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(i.length+1),this._process();for(var n=this._hash,l=n.words,d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return n},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function d(e,t,i,s,r,a,o){var n=e+(t&i|~t&s)+r+o;return(n<>>32-a)+t}function h(e,t,i,s,r,a,o){var n=e+(t&s|i&~s)+r+o;return(n<>>32-a)+t}function c(e,t,i,s,r,a,o){var n=e+(t^i^s)+r+o;return(n<>>32-a)+t}function u(e,t,i,s,r,a,o){var n=e+(i^(t|~s))+r+o;return(n<>>32-a)+t}t.MD5=a._createHelper(l),t.HmacMD5=a._createHmacHelper(l)}(Math),i.MD5)})),Gr((function(e,t){var i,s,r,a,o,n,l,d;e.exports=(s=(i=d=Bd).lib,r=s.WordArray,a=s.Hasher,o=i.algo,n=[],l=o.SHA1=a.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],r=i[1],a=i[2],o=i[3],l=i[4],d=0;d<80;d++){if(d<16)n[d]=0|e[t+d];else{var h=n[d-3]^n[d-8]^n[d-14]^n[d-16];n[d]=h<<1|h>>>31}var c=(s<<5|s>>>27)+l+n[d];c+=d<20?1518500249+(r&a|~r&o):d<40?1859775393+(r^a^o):d<60?(r&a|r&o|a&o)-1894007588:(r^a^o)-899497514,l=o,o=a,a=r<<30|r>>>2,r=s,s=c}i[0]=i[0]+s|0,i[1]=i[1]+r|0,i[2]=i[2]+a|0,i[3]=i[3]+o|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[14+(s+64>>>9<<4)]=Math.floor(i/4294967296),t[15+(s+64>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),i.SHA1=a._createHelper(l),i.HmacSHA1=a._createHmacHelper(l),d.SHA1)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(e){var t=i,s=t.lib,r=s.WordArray,a=s.Hasher,o=t.algo,n=[],l=[];!function(){function t(t){for(var i=e.sqrt(t),s=2;s<=i;s++)if(!(t%s))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(n[r]=i(e.pow(s,.5))),l[r]=i(e.pow(s,1/3)),r++),s++}();var d=[],h=o.SHA256=a.extend({_doReset:function(){this._hash=new r.init(n.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],r=i[1],a=i[2],o=i[3],n=i[4],h=i[5],c=i[6],u=i[7],p=0;p<64;p++){if(p<16)d[p]=0|e[t+p];else{var m=d[p-15],f=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=d[p-2],y=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;d[p]=f+d[p-7]+y+d[p-16]}var A=s&r^s&a^r&a,b=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=u+((n<<26|n>>>6)^(n<<21|n>>>11)^(n<<7|n>>>25))+(n&h^~n&c)+l[p]+d[p];u=c,c=h,h=n,n=o+v|0,o=a,a=r,r=s,s=v+(b+A)|0}i[0]=i[0]+s|0,i[1]=i[1]+r|0,i[2]=i[2]+a|0,i[3]=i[3]+o|0,i[4]=i[4]+n|0,i[5]=i[5]+h|0,i[6]=i[6]+c|0,i[7]=i[7]+u|0},_doFinalize:function(){var t=this._data,i=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return i[r>>>5]|=128<<24-r%32,i[14+(r+64>>>9<<4)]=e.floor(s/4294967296),i[15+(r+64>>>9<<4)]=s,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=a._createHelper(h),t.HmacSHA256=a._createHmacHelper(h)}(Math),i.SHA256)})),Gr((function(e,t){var i,s,r,a,o,n;e.exports=(s=(i=n=Bd).lib.WordArray,r=i.algo,a=r.SHA256,o=r.SHA224=a.extend({_doReset:function(){this._hash=new s.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),i.SHA224=a._createHelper(o),i.HmacSHA224=a._createHmacHelper(o),n.SHA224)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.Hasher,s=e.x64,r=s.Word,a=s.WordArray,o=e.algo;function n(){return r.create.apply(r,arguments)}var l=[n(1116352408,3609767458),n(1899447441,602891725),n(3049323471,3964484399),n(3921009573,2173295548),n(961987163,4081628472),n(1508970993,3053834265),n(2453635748,2937671579),n(2870763221,3664609560),n(3624381080,2734883394),n(310598401,1164996542),n(607225278,1323610764),n(1426881987,3590304994),n(1925078388,4068182383),n(2162078206,991336113),n(2614888103,633803317),n(3248222580,3479774868),n(3835390401,2666613458),n(4022224774,944711139),n(264347078,2341262773),n(604807628,2007800933),n(770255983,1495990901),n(1249150122,1856431235),n(1555081692,3175218132),n(1996064986,2198950837),n(2554220882,3999719339),n(2821834349,766784016),n(2952996808,2566594879),n(3210313671,3203337956),n(3336571891,1034457026),n(3584528711,2466948901),n(113926993,3758326383),n(338241895,168717936),n(666307205,1188179964),n(773529912,1546045734),n(1294757372,1522805485),n(1396182291,2643833823),n(1695183700,2343527390),n(1986661051,1014477480),n(2177026350,1206759142),n(2456956037,344077627),n(2730485921,1290863460),n(2820302411,3158454273),n(3259730800,3505952657),n(3345764771,106217008),n(3516065817,3606008344),n(3600352804,1432725776),n(4094571909,1467031594),n(275423344,851169720),n(430227734,3100823752),n(506948616,1363258195),n(659060556,3750685593),n(883997877,3785050280),n(958139571,3318307427),n(1322822218,3812723403),n(1537002063,2003034995),n(1747873779,3602036899),n(1955562222,1575990012),n(2024104815,1125592928),n(2227730452,2716904306),n(2361852424,442776044),n(2428436474,593698344),n(2756734187,3733110249),n(3204031479,2999351573),n(3329325298,3815920427),n(3391569614,3928383900),n(3515267271,566280711),n(3940187606,3454069534),n(4118630271,4000239992),n(116418474,1914138554),n(174292421,2731055270),n(289380356,3203993006),n(460393269,320620315),n(685471733,587496836),n(852142971,1086792851),n(1017036298,365543100),n(1126000580,2618297676),n(1288033470,3409855158),n(1501505948,4234509866),n(1607167915,987167468),n(1816402316,1246189591)],d=[];!function(){for(var e=0;e<80;e++)d[e]=n()}();var h=o.SHA512=t.extend({_doReset:function(){this._hash=new a.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],r=i[1],a=i[2],o=i[3],n=i[4],h=i[5],c=i[6],u=i[7],p=s.high,m=s.low,f=r.high,g=r.low,y=a.high,A=a.low,b=o.high,v=o.low,_=n.high,S=n.low,E=h.high,T=h.low,w=c.high,k=c.low,L=u.high,C=u.low,D=p,x=m,R=f,P=g,I=y,B=A,M=b,F=v,U=_,O=S,N=E,j=T,G=w,V=k,W=L,z=C,$=0;$<80;$++){var H,J,q=d[$];if($<16)J=q.high=0|e[t+2*$],H=q.low=0|e[t+2*$+1];else{var K=d[$-15],Y=K.high,Q=K.low,X=(Y>>>1|Q<<31)^(Y>>>8|Q<<24)^Y>>>7,Z=(Q>>>1|Y<<31)^(Q>>>8|Y<<24)^(Q>>>7|Y<<25),ee=d[$-2],te=ee.high,ie=ee.low,se=(te>>>19|ie<<13)^(te<<3|ie>>>29)^te>>>6,re=(ie>>>19|te<<13)^(ie<<3|te>>>29)^(ie>>>6|te<<26),ae=d[$-7],oe=ae.high,ne=ae.low,le=d[$-16],de=le.high,he=le.low;J=(J=(J=X+oe+((H=Z+ne)>>>0>>0?1:0))+se+((H+=re)>>>0>>0?1:0))+de+((H+=he)>>>0>>0?1:0),q.high=J,q.low=H}var ce,ue=U&N^~U&G,pe=O&j^~O&V,me=D&R^D&I^R&I,fe=x&P^x&B^P&B,ge=(D>>>28|x<<4)^(D<<30|x>>>2)^(D<<25|x>>>7),ye=(x>>>28|D<<4)^(x<<30|D>>>2)^(x<<25|D>>>7),Ae=(U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9),be=(O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9),ve=l[$],_e=ve.high,Se=ve.low,Ee=W+Ae+((ce=z+be)>>>0>>0?1:0),Te=ye+fe;W=G,z=V,G=N,V=j,N=U,j=O,U=M+(Ee=(Ee=(Ee=Ee+ue+((ce+=pe)>>>0>>0?1:0))+_e+((ce+=Se)>>>0>>0?1:0))+J+((ce+=H)>>>0>>0?1:0))+((O=F+ce|0)>>>0>>0?1:0)|0,M=I,F=B,I=R,B=P,R=D,P=x,D=Ee+(ge+me+(Te>>>0>>0?1:0))+((x=ce+Te|0)>>>0>>0?1:0)|0}m=s.low=m+x,s.high=p+D+(m>>>0>>0?1:0),g=r.low=g+P,r.high=f+R+(g>>>0

      >>0?1:0),A=a.low=A+B,a.high=y+I+(A>>>0>>0?1:0),v=o.low=v+F,o.high=b+M+(v>>>0>>0?1:0),S=n.low=S+O,n.high=_+U+(S>>>0>>0?1:0),T=h.low=T+j,h.high=E+N+(T>>>0>>0?1:0),k=c.low=k+V,c.high=w+G+(k>>>0>>0?1:0),C=u.low=C+z,u.high=L+W+(C>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[30+(s+128>>>10<<5)]=Math.floor(i/4294967296),t[31+(s+128>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(h),e.HmacSHA512=t._createHmacHelper(h)}(),i.SHA512)})),Gr((function(e,t){var i,s,r,a,o,n,l,d;e.exports=(s=(i=d=Bd).x64,r=s.Word,a=s.WordArray,o=i.algo,n=o.SHA512,l=o.SHA384=n.extend({_doReset:function(){this._hash=new a.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}}),i.SHA384=n._createHelper(l),i.HmacSHA384=n._createHmacHelper(l),d.SHA384)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(e){var t=i,s=t.lib,r=s.WordArray,a=s.Hasher,o=t.x64.Word,n=t.algo,l=[],d=[],h=[];!function(){for(var e=1,t=0,i=0;i<24;i++){l[e+5*t]=(i+1)*(i+2)/2%64;var s=(2*e+3*t)%5;e=t%5,t=s}for(e=0;e<5;e++)for(t=0;t<5;t++)d[e+5*t]=t+(2*e+3*t)%5*5;for(var r=1,a=0;a<24;a++){for(var n=0,c=0,u=0;u<7;u++){if(1&r){var p=(1<>>24)|4278255360&(a<<24|a>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),(C=i[r]).high^=o,C.low^=a}for(var n=0;n<24;n++){for(var u=0;u<5;u++){for(var p=0,m=0,f=0;f<5;f++)p^=(C=i[u+5*f]).high,m^=C.low;var g=c[u];g.high=p,g.low=m}for(u=0;u<5;u++){var y=c[(u+4)%5],A=c[(u+1)%5],b=A.high,v=A.low;for(p=y.high^(b<<1|v>>>31),m=y.low^(v<<1|b>>>31),f=0;f<5;f++)(C=i[u+5*f]).high^=p,C.low^=m}for(var _=1;_<25;_++){var S=(C=i[_]).high,E=C.low,T=l[_];T<32?(p=S<>>32-T,m=E<>>32-T):(p=E<>>64-T,m=S<>>64-T);var w=c[d[_]];w.high=p,w.low=m}var k=c[0],L=i[0];for(k.high=L.high,k.low=L.low,u=0;u<5;u++)for(f=0;f<5;f++){var C=i[_=u+5*f],D=c[_],x=c[(u+1)%5+5*f],R=c[(u+2)%5+5*f];C.high=D.high^~x.high&R.high,C.low=D.low^~x.low&R.low}C=i[0];var P=h[n];C.high^=P.high,C.low^=P.low}},_doFinalize:function(){var t=this._data,i=t.words;this._nDataBytes;var s=8*t.sigBytes,a=32*this.blockSize;i[s>>>5]|=1<<24-s%32,i[(e.ceil((s+1)/a)*a>>>5)-1]|=128,t.sigBytes=4*i.length,this._process();for(var o=this._state,n=this.cfg.outputLength/8,l=n/8,d=[],h=0;h>>24)|4278255360&(u<<24|u>>>8),p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8),d.push(p),d.push(u)}return new r.init(d,n)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),i=0;i<25;i++)t[i]=t[i].clone();return e}});t.SHA3=a._createHelper(u),t.HmacSHA3=a._createHmacHelper(u)}(Math),i.SHA3)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(e){var t=i,s=t.lib,r=s.WordArray,a=s.Hasher,o=t.algo,n=r.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),l=r.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=r.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),h=r.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=r.create([0,1518500249,1859775393,2400959708,2840853838]),u=r.create([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var s=t+i,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var a,o,p,v,_,S,E,T,w,k,L,C=this._hash.words,D=c.words,x=u.words,R=n.words,P=l.words,I=d.words,B=h.words;for(S=a=C[0],E=o=C[1],T=p=C[2],w=v=C[3],k=_=C[4],i=0;i<80;i+=1)L=a+e[t+R[i]]|0,L+=i<16?m(o,p,v)+D[0]:i<32?f(o,p,v)+D[1]:i<48?g(o,p,v)+D[2]:i<64?y(o,p,v)+D[3]:A(o,p,v)+D[4],L=(L=b(L|=0,I[i]))+_|0,a=_,_=v,v=b(p,10),p=o,o=L,L=S+e[t+P[i]]|0,L+=i<16?A(E,T,w)+x[0]:i<32?y(E,T,w)+x[1]:i<48?g(E,T,w)+x[2]:i<64?f(E,T,w)+x[3]:m(E,T,w)+x[4],L=(L=b(L|=0,B[i]))+k|0,S=k,k=w,w=b(T,10),T=E,E=L;L=C[1]+p+w|0,C[1]=C[2]+v+k|0,C[2]=C[3]+_+S|0,C[3]=C[4]+a+E|0,C[4]=C[0]+o+T|0,C[0]=L},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;t[s>>>5]|=128<<24-s%32,t[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var r=this._hash,a=r.words,o=0;o<5;o++){var n=a[o];a[o]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}return r},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function m(e,t,i){return e^t^i}function f(e,t,i){return e&t|~e&i}function g(e,t,i){return(e|~t)^i}function y(e,t,i){return e&i|t&~i}function A(e,t,i){return e^(t|~i)}function b(e,t){return e<>>32-t}t.RIPEMD160=a._createHelper(p),t.HmacRIPEMD160=a._createHmacHelper(p)}(),i.RIPEMD160)})),Gr((function(e,t){var i,s,r;e.exports=(s=(i=Bd).lib.Base,r=i.enc.Utf8,void(i.algo.HMAC=s.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=r.parse(t));var i=e.blockSize,s=4*i;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),n=a.words,l=o.words,d=0;d>>2];e.sigBytes-=t}};s.BlockCipher=h.extend({cfg:h.cfg.extend({mode:p,padding:m}),reset:function(){var e;h.reset.call(this);var t=this.cfg,i=t.iv,s=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=s.createEncryptor:(e=s.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,i&&i.words):(this._mode=e.call(s,this,i&&i.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var f=s.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),g=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,i=e.salt;return(i?a.create([1398893684,1701076831]).concat(i).concat(t):t).toString(l)},parse:function(e){var t,i=l.parse(e),s=i.words;return 1398893684==s[0]&&1701076831==s[1]&&(t=a.create(s.slice(2,4)),s.splice(0,4),i.sigBytes-=16),f.create({ciphertext:i,salt:t})}},y=s.SerializableCipher=r.extend({cfg:r.extend({format:g}),encrypt:function(e,t,i,s){s=this.cfg.extend(s);var r=e.createEncryptor(i,s),a=r.finalize(t),o=r.cfg;return f.create({ciphertext:a,key:i,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:s.format})},decrypt:function(e,t,i,s){return s=this.cfg.extend(s),t=this._parse(t,s.format),e.createDecryptor(i,s).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),A=(t.kdf={}).OpenSSL={execute:function(e,t,i,s,r){if(s||(s=a.random(8)),r)o=d.create({keySize:t+i,hasher:r}).compute(e,s);else var o=d.create({keySize:t+i}).compute(e,s);var n=a.create(o.words.slice(t),4*i);return o.sigBytes=4*t,f.create({key:o,iv:n,salt:s})}},b=s.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:A}),encrypt:function(e,t,i,s){var r=(s=this.cfg.extend(s)).kdf.execute(i,e.keySize,e.ivSize,s.salt,s.hasher);s.iv=r.iv;var a=y.encrypt.call(this,e,t,r.key,s);return a.mixIn(r),a},decrypt:function(e,t,i,s){s=this.cfg.extend(s),t=this._parse(t,s.format);var r=s.kdf.execute(i,e.keySize,e.ivSize,t.salt,s.hasher);return s.iv=r.iv,y.decrypt.call(this,e,t,r.key,s)}})}())})),Gr((function(e,t){var i;e.exports=((i=Bd).mode.CFB=function(){var e=i.lib.BlockCipherMode.extend();function t(e,t,i,s){var r,a=this._iv;a?(r=a.slice(0),this._iv=void 0):r=this._prevBlock,s.encryptBlock(r,0);for(var o=0;o>24&255)){var t=e>>16&255,i=e>>8&255,s=255&e;255===t?(t=0,255===i?(i=0,255===s?s=0:++s):++i):++t,e=0,e+=t<<16,e+=i<<8,e+=s}else e+=1<<24;return e}function s(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var r=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,r=i.blockSize,a=this._iv,o=this._counter;a&&(o=this._counter=a.slice(0),this._iv=void 0),s(o);var n=o.slice(0);i.encryptBlock(n,0);for(var l=0;l>>2]|=r<<24-a%4*8,e.sigBytes+=r},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Ansix923)})),Gr((function(e,t){var i;e.exports=((i=Bd).pad.Iso10126={pad:function(e,t){var s=4*t,r=s-e.sigBytes%s;e.concat(i.lib.WordArray.random(r-1)).concat(i.lib.WordArray.create([r<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Iso10126)})),Gr((function(e,t){var i;e.exports=((i=Bd).pad.Iso97971={pad:function(e,t){e.concat(i.lib.WordArray.create([2147483648],1)),i.pad.ZeroPadding.pad(e,t)},unpad:function(e){i.pad.ZeroPadding.unpad(e),e.sigBytes--}},i.pad.Iso97971)})),Gr((function(e,t){var i;e.exports=((i=Bd).pad.ZeroPadding={pad:function(e,t){var i=4*t;e.clamp(),e.sigBytes+=i-(e.sigBytes%i||i)},unpad:function(e){var t=e.words,i=e.sigBytes-1;for(i=e.sigBytes-1;i>=0;i--)if(t[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},i.pad.ZeroPadding)})),Gr((function(e,t){var i;e.exports=((i=Bd).pad.NoPadding={pad:function(){},unpad:function(){}},i.pad.NoPadding)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(e){var t=i,s=t.lib.CipherParams,r=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(r)},parse:function(e){var t=r.parse(e);return s.create({ciphertext:t})}}}(),i.format.Hex)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.BlockCipher,s=e.algo,r=[],a=[],o=[],n=[],l=[],d=[],h=[],c=[],u=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var i=0,s=0;for(t=0;t<256;t++){var m=s^s<<1^s<<2^s<<3^s<<4;m=m>>>8^255&m^99,r[i]=m,a[m]=i;var f=e[i],g=e[f],y=e[g],A=257*e[m]^16843008*m;o[i]=A<<24|A>>>8,n[i]=A<<16|A>>>16,l[i]=A<<8|A>>>24,d[i]=A,A=16843009*y^65537*g^257*f^16843008*i,h[m]=A<<24|A>>>8,c[m]=A<<16|A>>>16,u[m]=A<<8|A>>>24,p[m]=A,i?(i=f^e[e[e[y^f]]],s^=e[e[s]]):i=s=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],f=s.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,i=e.sigBytes/4,s=4*((this._nRounds=i+6)+1),a=this._keySchedule=[],o=0;o6&&o%i==4&&(d=r[d>>>24]<<24|r[d>>>16&255]<<16|r[d>>>8&255]<<8|r[255&d]):(d=r[(d=d<<8|d>>>24)>>>24]<<24|r[d>>>16&255]<<16|r[d>>>8&255]<<8|r[255&d],d^=m[o/i|0]<<24),a[o]=a[o-i]^d);for(var n=this._invKeySchedule=[],l=0;l>>24]]^c[r[d>>>16&255]]^u[r[d>>>8&255]]^p[r[255&d]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,n,l,d,r)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,h,c,u,p,a),i=e[t+1],e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,s,r,a,o,n){for(var l=this._nRounds,d=e[t]^i[0],h=e[t+1]^i[1],c=e[t+2]^i[2],u=e[t+3]^i[3],p=4,m=1;m>>24]^r[h>>>16&255]^a[c>>>8&255]^o[255&u]^i[p++],g=s[h>>>24]^r[c>>>16&255]^a[u>>>8&255]^o[255&d]^i[p++],y=s[c>>>24]^r[u>>>16&255]^a[d>>>8&255]^o[255&h]^i[p++],A=s[u>>>24]^r[d>>>16&255]^a[h>>>8&255]^o[255&c]^i[p++];d=f,h=g,c=y,u=A}f=(n[d>>>24]<<24|n[h>>>16&255]<<16|n[c>>>8&255]<<8|n[255&u])^i[p++],g=(n[h>>>24]<<24|n[c>>>16&255]<<16|n[u>>>8&255]<<8|n[255&d])^i[p++],y=(n[c>>>24]<<24|n[u>>>16&255]<<16|n[d>>>8&255]<<8|n[255&h])^i[p++],A=(n[u>>>24]<<24|n[d>>>16&255]<<16|n[h>>>8&255]<<8|n[255&c])^i[p++],e[t]=f,e[t+1]=g,e[t+2]=y,e[t+3]=A},keySize:8});e.AES=t._createHelper(f)}(),i.AES)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib,s=t.WordArray,r=t.BlockCipher,a=e.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],n=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],c=a.DES=r.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;i<56;i++){var s=o[i]-1;t[i]=e[s>>>5]>>>31-s%32&1}for(var r=this._subKeys=[],a=0;a<16;a++){var d=r[a]=[],h=l[a];for(i=0;i<24;i++)d[i/6|0]|=t[(n[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=t[28+(n[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var c=this._invSubKeys=[];for(i=0;i<16;i++)c[i]=r[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,i){this._lBlock=e[t],this._rBlock=e[t+1],u.call(this,4,252645135),u.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),u.call(this,1,1431655765);for(var s=0;s<16;s++){for(var r=i[s],a=this._lBlock,o=this._rBlock,n=0,l=0;l<8;l++)n|=d[l][((o^r[l])&h[l])>>>0];this._lBlock=o,this._rBlock=a^n}var c=this._lBlock;this._lBlock=this._rBlock,this._rBlock=c,u.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(e,t){var i=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=i,this._lBlock^=i<>>e^this._lBlock)&t;this._lBlock^=i,this._rBlock^=i<192.");var t=e.slice(0,2),i=e.length<4?e.slice(0,2):e.slice(2,4),r=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=c.createEncryptor(s.create(t)),this._des2=c.createEncryptor(s.create(i)),this._des3=c.createEncryptor(s.create(r))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=r._createHelper(m)}(),i.TripleDES)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.StreamCipher,s=e.algo,r=s.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,i=e.sigBytes,s=this._S=[],r=0;r<256;r++)s[r]=r;r=0;for(var a=0;r<256;r++){var o=r%i,n=t[o>>>2]>>>24-o%4*8&255;a=(a+s[r]+n)%256;var l=s[r];s[r]=s[a],s[a]=l}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,i=this._j,s=0,r=0;r<4;r++){i=(i+e[t=(t+1)%256])%256;var a=e[t];e[t]=e[i],e[i]=a,s|=e[(e[t]+e[i])%256]<<24-8*r}return this._i=t,this._j=i,s}e.RC4=t._createHelper(r);var o=s.RC4Drop=r.extend({cfg:r.cfg.extend({drop:192}),_doReset:function(){r._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});e.RC4Drop=t._createHelper(o)}(),i.RC4)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.StreamCipher,s=e.algo,r=[],a=[],o=[],n=s.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=0;i<4;i++)e[i]=16711935&(e[i]<<8|e[i]>>>24)|4278255360&(e[i]<<24|e[i]>>>8);var s=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,i=0;i<4;i++)l.call(this);for(i=0;i<8;i++)r[i]^=s[i+4&7];if(t){var a=t.words,o=a[0],n=a[1],d=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),h=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),c=d>>>16|4294901760&h,u=h<<16|65535&d;for(r[0]^=d,r[1]^=c,r[2]^=h,r[3]^=u,r[4]^=d,r[5]^=c,r[6]^=h,r[7]^=u,i=0;i<4;i++)l.call(this)}},_doProcessBlock:function(e,t){var i=this._X;l.call(this),r[0]=i[0]^i[5]>>>16^i[3]<<16,r[1]=i[2]^i[7]>>>16^i[5]<<16,r[2]=i[4]^i[1]>>>16^i[7]<<16,r[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)r[s]=16711935&(r[s]<<8|r[s]>>>24)|4278255360&(r[s]<<24|r[s]>>>8),e[t+s]^=r[s]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,i=0;i<8;i++){var s=e[i]+t[i],r=65535&s,n=s>>>16,l=((r*r>>>17)+r*n>>>15)+n*n,d=((4294901760&s)*s|0)+((65535&s)*s|0);o[i]=l^d}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=t._createHelper(n)}(),i.Rabbit)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.StreamCipher,s=e.algo,r=[],a=[],o=[],n=s.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var r=0;r<4;r++)l.call(this);for(r=0;r<8;r++)s[r]^=i[r+4&7];if(t){var a=t.words,o=a[0],n=a[1],d=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),h=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),c=d>>>16|4294901760&h,u=h<<16|65535&d;for(s[0]^=d,s[1]^=c,s[2]^=h,s[3]^=u,s[4]^=d,s[5]^=c,s[6]^=h,s[7]^=u,r=0;r<4;r++)l.call(this)}},_doProcessBlock:function(e,t){var i=this._X;l.call(this),r[0]=i[0]^i[5]>>>16^i[3]<<16,r[1]=i[2]^i[7]>>>16^i[5]<<16,r[2]=i[4]^i[1]>>>16^i[7]<<16,r[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)r[s]=16711935&(r[s]<<8|r[s]>>>24)|4278255360&(r[s]<<24|r[s]>>>8),e[t+s]^=r[s]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,i=0;i<8;i++){var s=e[i]+t[i],r=65535&s,n=s>>>16,l=((r*r>>>17)+r*n>>>15)+n*n,d=((4294901760&s)*s|0)+((65535&s)*s|0);o[i]=l^d}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=t._createHelper(n)}(),i.RabbitLegacy)})),Gr((function(e,t){var i;e.exports=(i=Bd,function(){var e=i,t=e.lib.BlockCipher,s=e.algo;const r=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var n={pbox:[],sbox:[]};function l(e,t){let i=t>>24&255,s=t>>16&255,r=t>>8&255,a=255&t,o=e.sbox[0][i]+e.sbox[1][s];return o^=e.sbox[2][r],o+=e.sbox[3][a],o}function d(e,t,i){let s,a=t,o=i;for(let t=0;t1;--t)a^=e.pbox[t],o=l(e,a)^o,s=a,a=o,o=s;return s=a,a=o,o=s,o^=e.pbox[1],a^=e.pbox[0],{left:a,right:o}}function c(e,t,i){for(let t=0;t<4;t++){e.sbox[t]=[];for(let i=0;i<256;i++)e.sbox[t][i]=o[t][i]}let s=0;for(let o=0;o=i&&(s=0);let n=0,l=0,h=0;for(let t=0;t>>2]|=e[i]<<24-i%4*8;return Md.lib.WordArray.create(t,e.length)}const Od=16,Nd=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],jd=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Gd(e){const t=[];for(let i=0,s=e.length;i1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Wd(e){const t=[];for(let i=0,s=e.length;i>>6),t.push(128|63&s);else if(s<=55295||s>=57344&&s<=65535)t.push(224|s>>>12),t.push(128|s>>>6&63),t.push(128|63&s);else{if(!(s>=65536&&s<=1114111))throw t.push(s),new Error("input is not supported");i++,t.push(240|s>>>18&28),t.push(128|s>>>12&63),t.push(128|s>>>6&63),t.push(128|63&s)}}return t}function zd(e){const t=[];for(let i=0,s=e.length;i=240&&e[i]<=247?(t.push(String.fromCodePoint(((7&e[i])<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]))),i+=3):e[i]>=224&&e[i]<=239?(t.push(String.fromCodePoint(((15&e[i])<<12)+((63&e[i+1])<<6)+(63&e[i+2]))),i+=2):e[i]>=192&&e[i]<=223?(t.push(String.fromCodePoint(((31&e[i])<<6)+(63&e[i+1]))),i++):t.push(String.fromCodePoint(e[i]));return t.join("")}function $d(e,t){const i=31&t;return e<>>32-i}function Hd(e){return(255&Nd[e>>>24&255])<<24|(255&Nd[e>>>16&255])<<16|(255&Nd[e>>>8&255])<<8|255&Nd[255&e]}function Jd(e){return e^$d(e,2)^$d(e,10)^$d(e,18)^$d(e,24)}function qd(e){return e^$d(e,13)^$d(e,23)}function Kd(e,t,i){const s=new Array(4),r=new Array(4);for(let t=0;t<4;t++)r[0]=255&e[4*t],r[1]=255&e[4*t+1],r[2]=255&e[4*t+2],r[3]=255&e[4*t+3],s[t]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];for(let e,t=0;t<32;t+=4)e=s[1]^s[2]^s[3]^i[t+0],s[0]^=Jd(Hd(e)),e=s[2]^s[3]^s[0]^i[t+1],s[1]^=Jd(Hd(e)),e=s[3]^s[0]^s[1]^i[t+2],s[2]^=Jd(Hd(e)),e=s[0]^s[1]^s[2]^i[t+3],s[3]^=Jd(Hd(e));for(let e=0;e<16;e+=4)t[e]=s[3-e/4]>>>24&255,t[e+1]=s[3-e/4]>>>16&255,t[e+2]=s[3-e/4]>>>8&255,t[e+3]=255&s[3-e/4]}function Yd(e,t,i){const s=new Array(4),r=new Array(4);for(let t=0;t<4;t++)r[0]=255&e[0+4*t],r[1]=255&e[1+4*t],r[2]=255&e[2+4*t],r[3]=255&e[3+4*t],s[t]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];s[0]^=2746333894,s[1]^=1453994832,s[2]^=1736282519,s[3]^=2993693404;for(let e,i=0;i<32;i+=4)e=s[1]^s[2]^s[3]^jd[i+0],t[i+0]=s[0]^=qd(Hd(e)),e=s[2]^s[3]^s[0]^jd[i+1],t[i+1]=s[1]^=qd(Hd(e)),e=s[3]^s[0]^s[1]^jd[i+2],t[i+2]=s[2]^=qd(Hd(e)),e=s[0]^s[1]^s[2]^jd[i+3],t[i+3]=s[3]^=qd(Hd(e));if(0===i)for(let e,i=0;i<16;i++)e=t[i],t[i]=t[31-i],t[31-i]=e}function Qd(e,t,i){let{padding:s="pkcs#7",mode:r,iv:a=[],output:o="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===r&&("string"==typeof a&&(a=Gd(a)),16!==a.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Gd(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==i?Wd(e):Gd(e):[...e],("pkcs#5"===s||"pkcs#7"===s)&&0!==i){const t=Od-e.length%Od;for(let i=0;i=Od;){const t=e.slice(c,c+16),s=new Array(16);if("cbc"===r)for(let e=0;ee.length&&s+r<=i.length?e.length-t:s+r>i.length&&t+r<=e.length?i.length-s:t+r<=e.length&&s+r<=i.length?r:i.length>24&255,e>>16&255,e>>8&255,255&e)}function nh(e,t){return t+3>>19)^(s<<23|s>>>9)}function hh(e,t){var i=new Array(36);i[0]=nh(t,0),i[1]=nh(t,4),i[2]=nh(t,8),i[3]=nh(t,12);for(var s=0;s<32;s++)i[s+4]=i[s]^ch(i[s+1]^i[s+2]^i[s+3]^e[s]);var r=new Array(4);for(s=35;s>=32;s--)r[35-s]=i[s];var a=function(e){for(var t=new Array(4*e.length),i=0;i>>30)^(s<<10|s>>>22)^(s<<18|s>>>14)^(s<<24|s>>>8)}function uh(e,t,i){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==i||null==i||i.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var s=lh(e),r=Math.ceil(i.length/16),a=new Array(i.length),o=t.slice(),n=0;ne)return this.preDelayTimestamp-e>1e3&&this.player.debugWarn("CommonDemux",`getDelay() and preDelayTimestamp is ${this.preDelayTimestamp} > timestamp is ${e} more than ${this.preDelayTimestamp-e}ms and return ${this.delay}`),this.preDelayTimestamp=e,this.delay;if(this.firstTimestamp){if(e){const t=Date.now()-this.startTimestamp,i=e-this.firstTimestamp;t>=i?(this.isStreamTsMoreThanLocal=!1,this.delay=t-i):(this.isStreamTsMoreThanLocal=!0,this.delay=i-t)}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.preDelayTimestamp=e,this.delay}getDelayNotUpdateDelay(e,t){if(!e||!this.player.isDemuxDecodeFirstIIframeInit())return-1;if(t===Ge)return this.pushLatestDelay;if(this.preDelayTimestamp&&this.preDelayTimestamp-e>1e3)return this.player.debugWarn("CommonDemux",`getDelayNotUpdateDelay() and preDelayTimestamp is ${this.preDelayTimestamp} > timestamp is ${e} more than ${this.preDelayTimestamp-e}ms and return -1`),-1;if(this.firstTimestamp){let t=-1;if(e){const i=Date.now()-this.startTimestamp,s=e-this.firstTimestamp;t=i>=s?i-s:s-i}return t}return-1}resetDelay(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1}resetAllDelay(){this.resetDelay(),this.preDelayTimestamp=null}initInterval(){this.player.isPlayVodMp4()?this.player.debugLog("CommonDemux","initInterval() and is vod mp4 so return"):this.player.isUseHls265()?this.player.debugLog("CommonDemux","initInterval() and is hls and support hls265 so return"):-1===this.player.getStreamType().indexOf(y)?this.player.isPlaybackCacheBeforeDecodeForFpsRender()?this.player.debugLog("CommonDemux","initInterval() and playback and playbackIsCacheBeforeDecodeForFpsRender is true so return"):(this.player.debugLog("CommonDemux","setInterval()"),this._loop(),this.stopId=setInterval((()=>{if(this.player.isDestroyedOrClosed())return;let e=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=e);const t=e-this.preLoopTimestamp;this.updateHistoryIntervalDiffTimeList(t),t>100&&this.player.debugWarn("CommonDemux",`loop demux diff time is ${t}`),this._loop(),this.preLoopTimestamp=(new Date).getTime()}),20)):this.player.debugLog("CommonDemux","initInterval() and is worker stream so return")}clearStopInterval(){this.stopId&&(clearInterval(this.stopId),this.stopId=null)}startPlaybackLoopInterval(){this.initPlaybackCacheLoop()}updateHistoryIntervalDiffTimeList(e){this.historyIntervalDiffTimeList.length>5&&this.historyIntervalDiffTimeList.shift(),this.historyIntervalDiffTimeList.push(e)}isHistoryIntervalDiffTimeAllLarge(){if(this.historyIntervalDiffTimeList.length<5)return!1;for(let e=0;e{let e=null;this.bufferList.length&&(e=this.bufferList.shift(),this._doDecoderDecode(e))};e();const t=Math.ceil(1e3/(this.playbackStreamFps*this.player.getPlaybackRate()));this.player.debugLog("CommonDemux",`initPlaybackCacheLoop() and fragDuration is ${t}, playbackStreamFps is ${this.playbackStreamFps}, playbackRate is ${this.player.getPlaybackRate()}`),this.stopId=setInterval(e,t)}_loop(){let e;const t=this.player._opt.videoBuffer,i=this.player._opt.videoBufferDelay,s=this.player._opt.playType===v;if(this.bufferList.length){if(this.isPushDropping)return void this.player.debugWarn("CommonDemux",`_loop isPushDropping is true and bufferList length is ${this.bufferList.length}`);if(this.dropping){for(e=this.bufferList.shift(),this.player.debugWarn("CommonDemux",`_loop is dropping and data.ts is ${e.ts}, data.type is ${e.type}, data.isIFrame is ${e.isIFrame}, delay is ${this.delay} ,buffer list is ${this.bufferList.length}`);!e.isIFrame&&this.bufferList.length;)e=this.bufferList.shift();const t=this.getDelayNotUpdateDelay(e.ts,e.type);e.isIFrame&&t<=this.getNotDroppingDelayTs()&&(this.player.debugLog("CommonDemux",`_loop data isIFrame is true and delay is ${this.delay}`),this.dropping=!1,this._doDecoderDecode(e),this._decodeNext(e))}else if(this.player.isPlayback()||this.player.isPlayUseMSE()||0===t||this.player.isPlayVod())for(;this.bufferList.length;)e=this.bufferList.shift(),this._doDecoderDecode(e);else if(e=this.bufferList[0],-1===this.getDelay(e.ts,e.type))this.player.debugLog("CommonDemux",`delay is -1 and data.ts is ${e.ts} data.type is ${e.type}`),this.bufferList.shift(),this._doDecoderDecode(e),this._decodeNext(e);else if(this.delay>i+t&&s)this.hasIframeInBufferList()?(this.player.debugWarn("CommonDemux",`_loop delay is ${this.delay}, set dropping is true`),this.resetAllDelay(),this.dropping=!0,this.player.updateStats({isDropping:!0})):(this.bufferList.shift(),this._doDecoderDecode(e),this._decodeNext(e));else for(;this.bufferList.length;){if(e=this.bufferList[0],!(this.getDelay(e.ts,e.type)>t)){this.delay<0&&this.player.debugWarn("CommonDemux",`_loop delay is ${this.delay} bufferList is ${this.bufferList}`);break}this.bufferList.shift(),this._doDecoderDecode(e)}}else-1!==this.delay&&this.player.debugLog("CommonDemux","loop() bufferList is empty and reset delay"),this.resetAllDelay()}_doDecode(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;const a=this.player;let o={ts:i,cts:r,type:t,isIFrame:!1};this.player.isPlayer()?(t===Ve&&a._opt.playType===v&&this.calcNetworkDelay(i),a._opt.useWCS&&!a._opt.useOffscreen||a._opt.useMSE?(t===Ve&&(o.isIFrame=s),this.pushBuffer(e,o)):t===Ve?a.decoderWorker&&a.decoderWorker.decodeVideo(e,i,s):t===Ge&&a._opt.hasAudio&&a.decoderWorker&&a.decoderWorker.decodeAudio(e,i)):this.player.isPlayback()?(t===Ve&&(o.isIFrame=s),this.player.isPlaybackOnlyDecodeIFrame()?t===Ve&&s&&this.pushBuffer(e,o):this.player.isPlaybackCacheBeforeDecodeForFpsRender()||1===this.player.getPlaybackRate()?this.pushBuffer(e,o):this.pushBuffer(e,o,!1)):this.player.isPlayVod()&&(t===Ve&&(o.isIFrame=s),this.pushBuffer(e,o))}_doDecodeByHls(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"hls";if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"_doDecodeByHls() player is destroyed or closed");let o=!1;if(t===Ge&&qr(e)&&(this.player.debugLog("CommonDemux",`${a} pushBuffer audio ts is ${i}, isAacCodecPacket is true`),o=!0,this.player.isRecordTypeFlv())){const t=new Uint8Array(e);this.player.recorder.addAACSequenceHeader(t,i)}let n=!1;if(t===Ve&&s&&wo(e)&&(this.player.debugLog("CommonDemux",`${a} pushBuffer video ts is ${i}, isVideoSequenceHeader is true`),n=!0,this.player.isRecordTypeFlv())){const t=new Uint8Array(e);this.player.recorder.addVideoSequenceHeader(t,i)}this.player.recording&&Lo(n)&&Lo(o)&&this.handleRecording(e,t,i,s,r),t===Ve?this.player.isPlayVod()&&Lo(this.player.isPlayVodUseMSE())&&this.player.playVod&&this.player.playVod.isRateMoreThanMaxRate()?s&&this._doDecoderDecode({ts:i,cts:r,payload:e,type:Ve,isIFrame:s}):this._doDecoderDecode({ts:i,cts:r,payload:e,type:Ve,isIFrame:s}):t===Ge&&(this.player.isPlayVod()&&Lo(this.player.isPlayVodUseMSE())&&this.player.playVod&&this.player.playVod.isRateMoreThanMaxRate()||this._doDecoderDecode({ts:i,payload:e,type:Ge}))}_doDecodeByFmp4(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(e,t,i,s,r)}_doDecodeByTs(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(e,t,i,s,r)}_doDecodeByPs(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(e,t,i,s,r)}_doDecodeByMp4(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecodeByHls(e,t,i,s,r,"mp4")}_decodeNext(e){const t=e.ts;if(0===this.bufferList.length)return;let i=this.bufferList[0];const s=i.ts-t,r=e.type===Ve&&i.type===Ge,a=e.type===Ve&&wo(e.payload);(s<=20||r||a)&&(this.player.debugLog("CommonDemux",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${s} and isVideoAndNextAudio is ${r} and isVideoSqeHeader is ${a}`),this.bufferList.shift(),this._doDecoderDecode(i))}_doDecoderDecode(e){const t=this.player,{webcodecsDecoder:i,mseDecoder:s}=t;this.player.isPlayer()&&this.player.updateStats({buf:this.delay}),e.type===Ge?t._opt.hasAudio&&(t._opt.useMSE&&t._opt.mseDecodeAudio?s.decodeAudio(e.payload,e.ts):t._opt.useWCS&&t._opt.wcsDecodeAudio?i.decodeAudio(e.payload,e.ts):t.decoderWorker&&t.decoderWorker.decodeAudio(e.payload,e.ts)):e.type===Ve&&(t._opt.isEmitSEI&&this.findSei(e.payload,e.ts),t._opt.useWCS&&!t._opt.useOffscreen?i.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):t._opt.useMSE?s.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):t.decoderWorker&&t.decoderWorker.decodeVideo(e.payload,e.ts,e.isIFrame))}pushBuffer(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=this.player._opt.videoBuffer,r=this.player._opt.videoBufferDelay,a=this.player.isPlayer();if(t.type===Ge&&qr(e)){if(this.player.debugLog("CommonDemux",`pushBuffer() audio ts is ${t.ts}, isAacCodecPacket is true`),this.player.isRecordTypeFlv()){const i=new Uint8Array(e);this.player.recorder.addAACSequenceHeader(i,t.ts)}this._doDecoderDecode({ts:t.ts,payload:e,type:Ge})}else if(t.type===Ve&&t.isIFrame&&wo(e)){if(this.player.debugLog("CommonDemux",`pushBuffer() video ts is ${t.ts}, isVideoSequenceHeader is true`),this.player.isRecordTypeFlv()){const i=new Uint8Array(e);this.player.recorder.addVideoSequenceHeader(i,t.ts)}this._doDecoderDecode({ts:t.ts,payload:e,type:Ve,isIFrame:t.isIFrame,cts:t.cts})}else{if(this.player.recording&&this.handleRecording(e,t.type,t.ts,t.isIFrame,t.cts),a){if(t.type===Ve){if(this.preTimestampDuration>0){const e=t.ts-this.preTimestamp,i=this.preTimestampDuration+this.preTimestampDuration/2;e>=i&&this.player.debugLog("CommonDemux",`pushBuffer() video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${this.preTimestamp},\n diff is ${e} and preTsDuration is ${this.preTimestampDuration} and maxDiff is ${i}\n maybe trigger black screen or flower screen`)}if(null!==this.preTimestamp&&this.preTimestamp>=t.ts&&(this.player.debugWarn("CommonDemux",`pushBuffer() video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts} less than (or equal) preTs is ${this.preTimestamp} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${this.prevPayloadBufferSize}`),this.preTimestamp-t.ts>ie&&(this.player.debugWarn("CommonDemux",`pushBuffer() video\n ts is ${t.ts}, preTimestamp is ${this.preTimestamp},\n diff is ${this.preTimestamp-t.ts} more than 3600000\n and resetAllDelay()`),this.resetAllDelay()),this.player._opt.isDropSameTimestampGop&&Lo(t.isIFrame)&&this.player.isDemuxDecodeFirstIIframeInit())){const e=this.hasIframeInBufferList(),t=Lo(this.isPushDropping);return this.player.debugLog("CommonDemux",`pushBuffer(), isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next drop buffer`),void(e&&t?this.dropBuffer$2():this.clearBuffer(!0))}this.preTimestamp>0&&(this.preTimestampDuration=t.ts-this.preTimestamp),this.prevPayloadBufferSize=e.byteLength,this.preTimestamp=t.ts}if(this.player.isDemuxDecodeFirstIIframeInit()){let e=this.getDelayNotUpdateDelay(t.ts,t.type);this.pushLatestDelay=e;const i=r+s;this.player._opt.useMSE?this.delay>0&&e>i&&this.delay ${r+s}, bufferList is ${this.bufferList.length}, delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()):this.delay>0&&e>i&&this.delay ${r+s},bufferList is ${this.bufferList.length}, delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()),this.isHistoryIntervalDiffTimeAllLarge()&&Lo(this.player.visibility)&&(this.player._opt.useMSE?this.hasIframeInBufferList()&&!1===this.isPushDropping&&(this.player.debugWarn("CommonDemux",`useMSE, page visibility is false and\n history interval diff is ${this.historyIntervalDiffTimeList.join(",")} and\n bufferList is ${this.bufferList.length},\n delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()):this.hasIframeInBufferList()&&!1===this.isPushDropping&&(this.player.debugWarn("CommonDemux",`useWCS, page visibility is false and\n history interval diff is ${this.historyIntervalDiffTimeList.join(",")} and\n bufferList is ${this.bufferList.length},\n delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()))}}i?t.type===Ge?this.bufferList.push({ts:t.ts,payload:e,type:Ge}):t.type===Ve&&this.bufferList.push({ts:t.ts,cts:t.cts,payload:e,type:Ve,isIFrame:t.isIFrame}):t.type===Ve?this._doDecoderDecode({ts:t.ts,cts:t.cts,payload:e,type:Ve,isIFrame:t.isIFrame}):t.type===Ge&&this._doDecoderDecode({ts:t.ts,payload:e,type:Ge}),this.player.isPlaybackCacheBeforeDecodeForFpsRender()&&this.calcPlaybackStreamFps()}}calcPlaybackStreamFps(){if(Ga(this.playbackStreamVideoFps)||Ga(this.playbackStreamAudioFps)){let e=this.playbackStreamVideoFps,t=this.playbackStreamAudioFps;if(Ga(this.playbackStreamVideoFps)&&(e=Ao(this.bufferList,Ve),e>0&&(this.playbackStreamVideoFps=e,this.player.video&&this.player.video.setStreamFps(this.playbackStreamVideoFps),this.playbackStreamFps=t?e+t:e,Lo(this.player._opt.hasAudio)&&(this.player.debugLog(this.TAG_NAME,"playbackCacheBeforeDecodeForFpsRender,_opt.hasAudio is false and set streamAudioFps is 0"),this.playbackStreamAudioFps=0),this.initPlaybackCacheLoop())),Ga(this.playbackStreamAudioFps)&&(t=Ao(this.bufferList,Ge),t>0&&(this.playbackStreamAudioFps=t,this.playbackStreamFps=e?e+t:t,this.initPlaybackCacheLoop())),Ga(this.playbackStreamVideoFps)&&Ga(this.playbackStreamAudioFps)){const i=this.bufferList.map((e=>({type:e.type,ts:e.ts})));this.player.debugLog("CommonDemux",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${this.bufferList.length} and ts list is ${JSON.stringify(i)}`)}const i=this.getAudioBufferLength()>0,s=i?60:40;this.bufferList.length>=s&&(this.player.debugWarn("CommonDemux",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${this.bufferList.length} more than ${s}, and hasAudio is ${i} an set streamFps is 25`),this.playbackStreamVideoFps=e,this.player.video&&this.player.video.setStreamFps(this.playbackStreamVideoFps),i?(this.playbackStreamAudioFps=25,this.playbackStreamFps=this.playbackStreamVideoFps+this.playbackStreamAudioFps):this.playbackStreamFps=this.playbackStreamVideoFps,this.initPlaybackCacheLoop())}}dropBuffer$2(){if(this.bufferList.length>0){let e=this.bufferList.findIndex((e=>ko(e.isIFrame)&&e.type===Ve));if(this.isAllIframeInBufferList())for(let t=0;t=this.getNotDroppingDelayTs()){this.player.debugLog("CommonDemux",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${s} and notDroppingDelayTs is ${this.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){this.isPushDropping=!0,this.player.updateStats({isDropping:!0});const t=this.bufferList.length;this.bufferList=this.bufferList.slice(e);const i=this.bufferList.shift();this.resetAllDelay(),this.getDelay(i.ts,i.type),this._doDecoderDecode(i),this.isPushDropping=!1,this.player.debugLog("CommonDemux",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,and new bufferList length is ${this.bufferList.length} and new delay is ${this.delay} `)}else this.isPushDropping=!1}0===this.bufferList.length&&(this.isPushDropping=!1)}clearBuffer(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.player.debugLog("CommonDemux",`clearBuffer,buffer length is ${this.bufferList.length}, need clear is ${e} and _opt.checkFirstIFrame is ${this.player._opt.checkFirstIFrame}`),e&&(this.bufferList=[]),this.player.isPlayer()&&(this.resetAllDelay(),ko(this.player._opt.checkFirstIFrame)&&(this.dropping=!0,this.player.updateStats({isDropping:!0}))),this.player.decoderCheckFirstIFrame()}calcNetworkDelay(e){if(!(this.player.isDemuxDecodeFirstIIframeInit()&&e>0))return;null===this.bufferStartDts?(this.bufferStartDts=e,this.bufferStartLocalTs=fa()):et?i-t:0;s>this.player._opt.networkDelay&&this.player._opt.playType===v&&(this.player.debugWarn("CommonDemux",`delay is more than networkDelay and now dts:${e},start dts is ${this.bufferStartDts}, vs start is ${t},local diff is ${i} ,delay is ${s}, _opt.networkDelay is ${this.player._opt.networkDelay}`),this.player.emit(At.networkDelayTimeout,s)),this.player.updateStats({netBuf:s})}calcIframeIntervalTimestamp(e){if(null===this.preIframeTs)this.preIframeTs=e;else if(this.preIframeTs{t.type===Ve&&(e+=1)})),e}getAudioBufferLength(){let e=0;return this.bufferList.forEach((t=>{t.type===Ge&&(e+=1)})),e}hasIframeInBufferList(){return this.bufferList.some((e=>e.type===Ve&&e.isIFrame))}isAllIframeInBufferList(){const e=this.getVideoBufferLength();let t=0;return this.bufferList.forEach((e=>{e.type===Ve&&e.isIFrame&&(t+=1)})),e===t}getInputByteLength(){return 0}getIsStreamTsMoreThanLocal(){return this.isStreamTsMoreThanLocal}close(){}reset(){}findSei(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=4;Wa(this.nalUnitSize)&&(s=this.nalUnitSize);const r=la(e.slice(5),s);if(Lo(i)){const e=this.player.getVideoInfo();e&&e.encType&&(i=e.encType===It)}r.forEach((e=>{const s=i?e[0]>>>1&63:31&e[0],r=i&&(s===li||s===ni),a=Lo(i)&&s===zt;if(r||a){const s=da(e,i);this.player.emitVideoSei({ts:t,data:s.payload})}}))}handleRecording(e,t,i,s,r){if(this.player.isRecordTypeFlv()){const s=new Uint8Array(e);t===Ve?this.player.recorder.addVideo(s,i):t===Ge&&this.player.recorder.addAudio(s,i)}else if(this.player.isRecordTypeMp4()){const a=new Uint8Array(e);if(this.player.recorder.isWasmMp4()){if(t===Ve)this.player.recorder.handleAddNaluTrack(a.slice(5),s,i,r);else if(t===Ge){const t=new Uint8Array(e);this.player.recorder.handleAddAudioTrack(Kr(t)?t.slice(2):t.slice(1),i)}}else t===Ve&&this.player.recorder.handleAddNaluTrack(a.slice(5),s,i,r)}}updateNalUnitSize(e){const t=15&e[0];this.player.video.updateVideoInfo({encTypeCode:t});const i=t===Rt;this.nalUnitSize=function(e,t){let i=null;return t?e.length>=28&&(i=1+(3&e[26])):e.length>=12&&(i=1+(3&e[9])),i}(e,i),this.player.debugLog(this.TAG_NAME,`demux() isVideoSequenceHeader is true and isHevc is ${i} and nalUnitSize is ${this.nalUnitSize}`)}cryptoPayload(e,t){let i=this.player,s=e;if(i._opt.isM7sCrypto)if(i._opt.cryptoKey&&i._opt.cryptoKey.byteLength>0&&i._opt.cryptoIV&&i._opt.cryptoIV.byteLength>0){const t=this.player.video.getVideoInfo();t.encTypeCode?s=function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),i=new Uint8Array(i);const r=e.byteLength;let a=5;for(;ar)break;let n=e[a+4],l=!1;if(s?(n=n>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(n)):(n&=31,l=1===n||5===n),l){const s=e.slice(a+4+2,a+4+o);let r=new Id.ModeOfOperation.ctr(t,new Id.Counter(i));const n=r.decrypt(s);r=null,e.set(n,a+4+2)}a=a+4+o}return e}(e,i._opt.cryptoKey,i._opt.cryptoIV,t.encTypeCode===Rt):i.debugWarn(this.TAG_NAME,`videoInfo.encTypeCode is ${t.encTypeCode}`)}else i.debugError(this.TAG_NAME,`isM7sCrypto cryptoKey.length is ${i._opt.cryptoKey&&i._opt.cryptoKey.byteLength} or cryptoIV.length is ${i._opt.cryptoIV&&i._opt.cryptoIV.byteLength} null`);else if(i._opt.isSm4Crypto)if(i._opt.sm4CryptoKey){const t=this.player.video.getVideoInfo().encTypeCode===Rt,r=this.player._opt.isSm4CryptoH265V2;s=i._opt.cryptoKey&&i._opt.cryptoKey.byteLength>0&&i._opt.cryptoIV&&i._opt.cryptoIV.byteLength>0?function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),i=new Uint8Array(i);const a=e.byteLength;let o=5;for(;oa)break;let l=e[o+4],d=!1,h=2;if(s?(r&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,d=1===l||5===l),d){const s=uh(t,i,e.slice(o+4+h,o+4+n));e.set(s,o+4+h)}o=o+4+n}return e}(e,i._opt.cryptoKey,i._opt.cryptoIV,t,r):function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=e.byteLength;let a=new Uint8Array(e.slice(0,5)),o=5;for(;or){const t=new Uint8Array(a.length+e.length-o);t.set(a,0),t.set(e.slice(o),a.length),a=t;break}let d=e[o+4],h=!1,c=2;if(i?(s&&(c=3),d=d>>>1&63,h=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,h=1===d||5===d),h){const i=Qd(e.slice(o+4+c,o+4+l),t,0,{padding:"none",output:"array"});let s=i[i.length-1];if(s>0&&s<16){let e=!0;for(let t=1;t<=s;t++)if(i[i.length-t]!==s){e=!1;break}e&&i.splice(i.length-s,s)}const r=new Uint8Array(c);r.set(e.slice(o+4,o+4+c),0);const n=ha(bl(r,new Uint8Array(i))),d=new Uint8Array(a.length+n.length);d.set(a,0),d.set(n,a.length),a=d}else{const t=e.slice(o+4,o+4+l),i=new Uint8Array(a.length+4+t.length);i.set(a,0),i.set(n,a.length),i.set(t,a.length+4),a=i}o=o+4+l}return a}(e,i._opt.sm4CryptoKey,t,r)}else i._opt.sm4CryptoKey||i.debugError(this.TAG_NAME,"isSm4Crypto opt.sm4CryptoKey is null");else if(i._opt.isXorCrypto)if(i._opt.cryptoKey&&i._opt.cryptoKey.byteLength>0&&i._opt.cryptoIV&&i._opt.cryptoIV.byteLength>0){const t=this.player.video.getVideoInfo();s=function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=e.byteLength;let a=5;for(;ar)break;let n=e[a+4],l=!1;if(s?(n=n>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(n)):(n&=31,l=1===n||5===n),l){const s=Zd(e.slice(a+4,a+4+o),t,i);e.set(s,a+4)}a=a+4+o}return e}(e,i._opt.cryptoKey,i._opt.cryptoIV,t.encTypeCode===Rt)}else i.debugError(this.TAG_NAME,"isXorCrypto opt.xorCryptoKey is null");return s}cryptoPayloadAudio(e){let t=this.player;if(Lo(t._opt.isCryptoAudio))return e;let i=e;if(t._opt.isM7sCrypto)if(t._opt.cryptoKey&&t._opt.cryptoKey.byteLength>0&&t._opt.cryptoIV&&t._opt.cryptoIV.byteLength>0){e[0]>>4===Bt&&(i=function(e,t,i){if(e.byteLength<=30)return e;const s=e.slice(32);let r=new Id.ModeOfOperation.ctr(t,new Id.Counter(i));const a=r.decrypt(s);return r=null,e.set(a,32),e}(e,t._opt.cryptoKey,t._opt.cryptoIV))}else t.debugError(this.TAG_NAME,`isM7sCrypto cryptoKey.length is ${t._opt.cryptoKey&&t._opt.cryptoKey.byteLength} or cryptoIV.length is ${t._opt.cryptoIV&&t._opt.cryptoIV.byteLength} null`);return i}_decodeEnhancedH265Video(e,t){const i=e[0],s=48&i,r=15&i,a=e.slice(1,5),o=new ArrayBuffer(4),n=new Uint32Array(o),l="a"==String.fromCharCode(a[0]);if(r===mr){if(s===yr){const t=e.slice(5);if(l);else{const e=new Uint8Array(5+t.length);e.set([28,0,0,0,0],0),e.set(t,5),this.updateNalUnitSize(e),this.player.debugLog(this.TAG_NAME,`demux() isVideoSequenceHeader(enhancedH265) is true and nalUnitSize is ${this.nalUnitSize}`),this._doDecode(e,Ve,0,!0,0)}}}else if(r===fr){let i=e,r=0;const a=s===yr;if(a&&this.calcIframeIntervalTimestamp(t),l);else{n[0]=e[4],n[1]=e[3],n[2]=e[2],n[3]=0,r=n[0];i=dl(e.slice(8),a),i=this.cryptoPayload(i,a),this._doDecode(i,Ve,t,a,r)}}else if(r===gr){const i=s===yr,r=e.slice(5);i&&this.calcIframeIntervalTimestamp(t);let a=dl(r,i);a=this.cryptoPayload(a,i),this._doDecode(a,Ve,t,i,0)}}_isEnhancedH265Header(e){return 128==(128&e)}handlePlaybackPause(e){ko(e)?this.clearStopInterval():this.startPlaybackLoopInterval()}_calcDecodeFps(e){const t=e.map((e=>({ts:e.dts||e.pts,type:e.type})));this._tempSampleTsList=this._tempSampleTsList.concat(t);const i=Ao(this._tempSampleTsList,Ve);if(i)this.player.debugLog(this.TAG_NAME,`_calcDecodeFps() video fps is ${i}, update base fps is ${this._basefps}`),this._basefps=i,this._tempSampleTsList=[],this._postMessageToLoopWorker("updateBaseFps",{baseFps:this._basefps});else if(this.player.debugLog(this.TAG_NAME,"_calcDecodeFps() streamVideoFps is null"),this._tempSampleTsList.length>200)return this.player.debugLog(this.TAG_NAME,`_calcDecodeFps() _tempSampleTsList is more than 200, clear and use base fps update ${this._basefps}`),this._tempSampleTsList=[],this._postMessageToLoopWorker("updateBaseFps",{baseFps:this._basefps}),!0;return null!==i}_isUseWorker(){return!this.player.isUseMSE()}getBufferListLength(){return this.bufferList.length}geVodLoadedTime(){return 0}}var mh=function(e,t,i,s){return new(i||(i=Promise))((function(r,a){function o(e){try{l(s.next(e))}catch(e){a(e)}}function n(e){try{l(s.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}l((s=s.apply(e,t||[])).next())}))};const fh=Symbol(32),gh=Symbol(16),yh=Symbol(8);class Ah{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return mh(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,i)=>{var s;this.reject=i,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(s=this.pull)||void 0===s||s.call(this,e)}))}))}readU32(){return this.read(fh)}readU16(){return this.read(gh)}readU8(){return this.read(yh)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let i=0;const s=e=>t.length<(i=e);if("number"==typeof this.need){if(s(this.need))return;e=t.subarray(0,i)}else if(this.need===fh){if(s(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===gh){if(s(2))return;e=t[0]<<8|t[1]}else if(this.need===yh){if(s(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(s(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,i)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(s(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,i)),e=this.need}return this.consumed+=i,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,i=t+e;if(i<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,i);else{const e=new Uint8Array(i);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,i)}return this.buffer=new Uint8Array(e),this.buffer}}Ah.U32=fh,Ah.U16=gh,Ah.U8=yh;class bh extends ph{constructor(e){super(e),this.TAG_NAME="FlvDemux",this.input=new Ah(this.demux()),e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.input&&(this.input.close(),this.input=null),this.player.debugLog(this.TAG_NAME,"destroy")}dispatch(e){this.input?this.input.write(e):this.player&&this.player.debugWarn(this.TAG_NAME,"dispatch() this.input is null")}*demux(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),i=new Uint32Array(e),s=this.player;for(;;){if(!this.input)return;t[3]=0;const e=yield 15,r=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const a=i[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let o=i[0];const n=(yield a).slice();if(!s)return;switch(r){case We:if(s._opt.hasAudio&&(s.updateStats({abps:n.byteLength}),n.byteLength>0)){let e=this.cryptoPayloadAudio(n);this._doDecode(e,Ge,o)}break;case ze:if(s._opt.hasVideo&&n.length>=6){let e=o;s.updateStats({vbps:n.byteLength,dts:e}),s._times.demuxStart||(s._times.demuxStart=fa());const t=n[0];if(this._isEnhancedH265Header(t))this._decodeEnhancedH265Video(n,e);else{const e=15&t;let s=(t>>4&15)===Fs;const r=e===Rt,a=e===xt;if(Lo(r||a))return void this.player.debugWarn(this.TAG_NAME,`demux() codecId is ${e} and ignore`);Lo(s)&&ko(Mo(n,r))&&(this.player.debugLog(this.TAG_NAME,"demux() isIFrame is false and unit type is IDR and update to true"),s=!0),s&&(this.calcIframeIntervalTimestamp(o),null===this.nalUnitSize&&wo(n)&&this.updateNalUnitSize(n)),i[0]=n[4],i[1]=n[3],i[2]=n[2],i[3]=0;let l=i[0],d=this.cryptoPayload(n,s);this._doDecode(d,Ve,o,s,l)}}else n.length<6&&s.debugWarn(this.TAG_NAME,`payload.length is ${n.length} less than 6 and ignore`);break;case $e:if(this.player.isRecordTypeFlv()){const e=new Uint8Array(n);this.player.recorder.addMetaData(e)}const e=xl(n);e&&e.onMetaData&&s.updateMetaData(e.onMetaData);break;default:s.debugLog(this.TAG_NAME,`demux() type is ${r}`)}}}close(){this.input&&(this.input.close(),this.input=null)}getInputByteLength(){let e=0;return this.input&&this.input.buffer&&(e=this.input.buffer.byteLength),e}}class vh extends ph{constructor(e){super(e),this.TAG_NAME="M7sDemux",e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}dispatch(e){const t=this.player,i=new DataView(e),s=i.getUint8(0),r=i.getUint32(1,!1),a=new ArrayBuffer(4),o=new Uint32Array(a);switch(s){case Ge:if(t._opt.hasAudio){const i=new Uint8Array(e,5);t.updateStats({abps:i.byteLength}),i.byteLength>0&&this._doDecode(i,s,r)}break;case Ve:if(t._opt.hasVideo)if(t._times.demuxStart||(t._times.demuxStart=fa()),i.byteLength>=11){const a=new Uint8Array(e,5);let n=r;t.updateStats({vbps:a.byteLength,dts:n});const l=a[0];if(this._isEnhancedH265Header(l))this._decodeEnhancedH265Video(a,r);else{const e=i.getUint8(5)>>4==1;e&&this.calcIframeIntervalTimestamp(r),o[0]=a[4],o[1]=a[3],o[2]=a[2],o[3]=0;let t=o[0],n=this.cryptoPayload(a,e);this._doDecode(n,s,r,e,t)}}else this.player.debugWarn(this.TAG_NAME,"dispatch","dv byteLength is",i.byteLength,"and return")}}}class _h extends bh{constructor(e){super(e),this.TAG_NAME="WebTransportDemux",e.debugLog("WebTransportDemux","init")}destroy(){super.destroy(),this.player.debugLog("WebTransportDemux","destroy")}}class Sh{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>s,a=8-s;if(a>=e)return i&&(this.index+=e),r>>a-e;{i&&(this.index+=a);const s=e-a;return r<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class Eh extends ph{constructor(e){super(e),this.TAG_NAME="NakedFlowDemux",this.lastBuf=null,this.vps=null,this.sps=null,this.pps=null,this.streamVideoType=null,this.streamAudioType=null,this.tempNaluBufferList=new Uint8Array(0),this.pendingUnits={},this.localDts=0,this.isSendSeqHeader=!1,this.isSendAACSeqHeader=!1,e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.lastBuf=null,this.vps=null,this.sps=null,this.pps=null,this.streamVideoType=null,this.streamAudioType=null,this.tempNaluBufferList=new Uint8Array(0),this.pendingUnits={},this.localDts=0,this.localAudioDts=0,this.isSendSeqHeader=!1,this.isSendAACSeqHeader=!1,this.player.debugLog(this.TAG_NAME,"destroy")}dispatch(e){this.player;const t=new Uint8Array(e);if(this.player._opt.nakedFlowDemuxUseNew){const e=this.extractNALu$3(t);if(0===e.length)return void this.player.debugLog(this.TAG_NAME,"dispatch naluArray.length === 0");this.handleVideoFrames(e)}else this.extractNALu$2(t)}addNaluToBuffer(e){const t=e.byteLength+this.tempNaluBufferList.byteLength,i=new Uint8Array(t);i.set(this.tempNaluBufferList,0),i.set(e,this.tempNaluBufferList.byteLength),this.tempNaluBufferList=i}downloadNakedFlowFile(){const e=new Blob([this.tempNaluBufferList]);try{const t=document.createElement("a");t.href=window.URL.createObjectURL(e),t.download=Date.now()+".h264",t.click(),window.URL.revokeObjectURL(t.href)}catch(e){console.error("downloadTempNalu",e)}}getNaluDts(){const e=this.player._opt.nakedFlowFps;return this.localDts=this.localDts+parseInt(1e3/e,10),this.localDts}getNaluAudioDts(){const e=this.player.audio.audioContext.sampleRate,t=this.player.audio.audioBufferSize;return this.localDts+parseInt(t/e*1e3)}extractNALu(e){let t,i,s=0,r=e.byteLength,a=0,o=[];for(;s1)for(let e=0;e{const t=Yn(e);t===jt||t===Nt?this.handleVideoH264Nalu(e):Xn(t)&&s.push(e)})),1===s.length)this.handleVideoH264Nalu(s[0]);else{const e=function(e){if(0===e.length)return!1;const t=Yn(e[0]);for(let i=1;i{this.handleVideoH264Nalu(e)}))}}else if(this.streamVideoType===It)if(this.player._opt.nakedFlowH265DemuxUseNew){const e=this.handleAddNaluStartCode(t),i=this.extractNALu(e);if(0===i.length)return void this.player.debugWarn(this.TAG_NAME,"handleVideoNalu","h265 naluList.length === 0");const s=[];if(i.forEach((e=>{const t=hl(e);t===ri||t===ii||t===ei?this.handleVideoH265Nalu(e):cl(t)&&s.push(e)})),1===s.length)this.handleVideoH265Nalu(s[0]);else{const e=function(e){if(0===e.length)return!1;const t=hl(e[0]);for(let i=1;i{this.handleVideoH265Nalu(e)}))}}else{hl(t)===ri?this.extractH265PPS(t):this.handleVideoH265Nalu(t)}else this.player.debugWarn(this.TAG_NAME," this.streamVideoType is null")}extractH264PPS(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{Qn(Yn(e))?this.extractH264SEI(e):this.handleVideoH264Nalu(e)}))}extractH265PPS(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{const t=hl(e);t===oi?this.extractH265SEI(e):this.handleVideoH265Nalu(e)}))}extractH264SEI(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{this.handleVideoH264Nalu(e)}))}extractH265SEI(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{this.handleVideoH265Nalu(e)}))}handleAddNaluStartCode(e){const t=[0,0,0,1],i=new Uint8Array(e.length+t.length);return i.set(t),i.set(e,t.length),i}handleAudioAACNalu(e){if(!e||e.byteLength<1)return;this.streamAudioType||(this.streamAudioType=Ut.AAC);let t=new Uint8Array(e);const i=t.slice(0,7);if(t=t.slice(7),!this.isSendAACSeqHeader){const e=(192&i[2])>>6,t=(60&i[2])>>2,s=(1&i[2])<<2|(192&i[3])>>6,r=new Uint8Array([175,0,e<<3|(14&t)>>1,(1&t)<<7|s<<3]);this.isSendAACSeqHeader=!0,this._doDecode(r,Ge,0,!1,0)}const s=this.getNaluAudioDts(),r=new Uint8Array(t.length+2);r.set([175,1],0),r.set(t,2),this._doDecode(r,Ge,s,!1,0)}handleAudioG711ANalu(e){if(!e||e.byteLength<1)return;this.streamAudioType||(this.streamAudioType=Ut.ALAW);let t=new Uint8Array(e);const i=this.getNaluAudioDts(),s=new Uint8Array(t.length+1);s.set([114],0),s.set(t,1),this._doDecode(s,Ge,i,!1,0)}handleAudioG711UNalu(e){if(!e||e.byteLength<1)return;this.streamAudioType||(this.streamAudioType=Ut.MULAW);let t=new Uint8Array(e);const i=this.getNaluAudioDts(),s=new Uint8Array(t.length+1);s.set([130],0),s.set(t,1),this._doDecode(s,Ge,i,!1,0)}handleVideoH264Nalu(e){const t=Yn(e);switch(t){case Nt:this.sps=e;break;case jt:this.pps=e}if(this.isSendSeqHeader){if(this.sps&&this.pps){const e=qn({sps:this.sps,pps:this.pps}),t=this.localDts;this._doDecode(e,Ve,t,!0,0),this.sps=null,this.pps=null}if(Xn(t)){this.player._times.demuxStart||(this.player._times.demuxStart=fa());const i=Zn(t),s=this.getNaluDts(),r=function(e,t){let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e.byteLength>>24&255,i[6]=e.byteLength>>16&255,i[7]=e.byteLength>>8&255,i[8]=255&e.byteLength;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}(e,i);this._preDoDecode(r,Ve,s,i,0)}else this.player.debugWarn(this.TAG_NAME,`handleVideoH264Nalu is avc seq head nalType is ${t}`)}else if(this.sps&&this.pps){this.isSendSeqHeader=!0;const e=qn({sps:this.sps,pps:this.pps});this._doDecode(e,Ve,0,!0,0),this.sps=null,this.pps=null}}handleVideoH264NaluList(e,t,i){if(this.isSendSeqHeader){this.player._times.demuxStart||(this.player._times.demuxStart=fa());const i=this.getNaluDts(),s=Kn(e.reduce(((e,t)=>{const i=ha(e),s=ha(t),r=new Uint8Array(i.byteLength+s.byteLength);return r.set(i,0),r.set(s,i.byteLength),r})),t);this._preDoDecode(s,Ve,i,t,0)}else this.player.debugWarn(this.TAG_NAME,"handleVideoH264NaluList isSendSeqHeader is false")}handleVideoH265Nalu(e){const t=hl(e);switch(t){case ei:this.vps=e;break;case ii:this.sps=e;break;case ri:this.pps=e}if(this.isSendSeqHeader){if(this.vps&&this.sps&&this.pps){const e=ll({vps:this.vps,sps:this.sps,pps:this.pps}),t=this.localDts;this._doDecode(e,Ve,t,!0,0),this.vps=null,this.sps=null,this.pps=null}if(cl(t)){this.player._times.demuxStart||(this.player._times.demuxStart=fa());const i=ul(t),s=this.getNaluDts(),r=function(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e.byteLength>>24&255,i[6]=e.byteLength>>16&255,i[7]=e.byteLength>>8&255,i[8]=255&e.byteLength;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}(e,i);this._preDoDecode(r,Ve,s,i,0)}}else if(this.vps&&this.sps&&this.pps){this.isSendSeqHeader=!0;const e=ll({vps:this.vps,sps:this.sps,pps:this.pps});this._doDecode(e,Ve,0,!0,0),this.vps=null,this.sps=null,this.pps=null}}handleVideoH265NaluList(e,t,i){if(this.isSendSeqHeader){this.player._times.demuxStart||(this.player._times.demuxStart=fa());const i=this.getNaluDts(),s=dl(e.reduce(((e,t)=>{const i=ha(e),s=ha(t),r=new Uint8Array(i.byteLength+s.byteLength);return r.set(i,0),r.set(s,i.byteLength),r})),t);this._preDoDecode(s,Ve,i,t,0)}else this.player.debugWarn(this.TAG_NAME,"handleVideoH265NaluList isSendSeqHeader is false")}_preDoDecode(e,t,i,s,r){this.player.updateStats({vbps:e.byteLength,dts:i}),s&&this.calcIframeIntervalTimestamp(i),this._doDecode(e,Ve,i,s,r)}getInputByteLength(){let e=0;return this.lastBuf&&(e=this.lastBuf.byteLength),e}handleVideoFrames(e){if(!this.streamVideoType)for(let t of e)if(this.streamVideoType=po(t),this.streamVideoType)break;this.streamVideoType?this.streamVideoType===Pt?this.handleVideoH264Frames(e):this.streamVideoType===It&&this.handleVideoH265Frames(e):this.player.debugWarn(this.TAG_NAME,"handleVideoFrames streamVideoType is null")}handleVideoH264Frames(e){let t=[],i=[],s=!1,r=!1;this.pendingUnits.units&&(t=this.pendingUnits.units,r=this.pendingUnits.vcl,s=this.pendingUnits.iFrame,this.pendingUnits={});let a={};for(let o of e){if(o.byteLength<4)continue;const e=Yn(o);let n=!1,l=e===Wt;e!==Vt&&e!==Wt||(a=this.parseVideo264Header(o),n=!0),t.length&&r&&(a.isfms||!n)&&(i.push({units:t,isIFrame:s}),t=[],s=!1,r=!1),t.push(o),s=s||l,r=r||n}t.length&&(this.pendingUnits={units:t,vcl:r,iFrame:s}),i.forEach((e=>{const t=e.units,i=e.isIFrame;let s=null,r=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case jt:this.pps=e;break;case Nt:this.sps=e;break;case zt:r=e}if(Xn(t)){const t=ha(e);if(s){const e=new Uint8Array(s.byteLength+t.byteLength);e.set(s,0),e.set(t,s.byteLength),s=e}else s=t}})),!this.isSendSeqHeader&&this.sps&&this.pps){this.isSendSeqHeader=!0;const e=qn({sps:this.sps,pps:this.pps});this._doDecode(e,Ve,0,!0,0),this.sps=null,this.pps=null}if(this.isSendSeqHeader){if(this.sps&&this.pps){const e=qn({sps:this.sps,pps:this.pps}),t=this.localDts;this._doDecode(e,Ve,t,!0,0),this.sps=null,this.pps=null}if(s){this.player._times.demuxStart||(this.player._times.demuxStart=fa());const e=this.getNaluDts(),t=Kn(s,i);if(this.player._opt.isEmitSEI&&r){const t=da(r,!1);this.player.emitVideoSei({ts:e,data:t.payload})}this._preDoDecode(t,Ve,e,i,0)}}}))}handleVideoH265Frames(e){let t=[],i=[],s=!1,r=!1;this.pendingUnits.units&&(t=this.pendingUnits.units,r=this.pendingUnits.vcl,s=this.pendingUnits.iFrame,this.pendingUnits={});let a={};for(let o of e){if(o.byteLength<4)continue;const e=hl(o);let n=!1,l=ul(e);cl(e)&&(a=this.parseVideo265Header(o),n=!0),t.length&&r&&(a.isfms||!n)&&(i.push({units:t,isIFrame:s}),t=[],s=!1,r=!1),t.push(o),s=s||l,r=r||n}t.length&&(this.pendingUnits={units:t,vcl:r,iFrame:s}),i.forEach((e=>{const t=e.units,i=e.isIFrame;let s=null,r=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case ri:this.pps=e;break;case ii:this.sps=e;break;case ei:this.vps=e;break;case li:case ni:r=e}if(cl(t)){const t=ha(e);if(s){const e=new Uint8Array(s.byteLength+t.byteLength);e.set(s,0),e.set(t,s.byteLength),s=e}else s=t}})),!this.isSendSeqHeader&&this.sps&&this.pps&&this.vps){this.isSendSeqHeader=!0;const e=ll({sps:this.sps,pps:this.pps,vps:this.vps});this._doDecode(e,Ve,0,!0,0),this.sps=null,this.pps=null,this.vps=null}if(this.isSendSeqHeader){if(this.sps&&this.pps&&this.vps){const e=ll({sps:this.sps,pps:this.pps,vps:this.vps}),t=this.localDts;this._doDecode(e,Ve,t,!0,0),this.sps=null,this.pps=null,this.vps=null}if(s){this.player._times.demuxStart||(this.player._times.demuxStart=fa());const e=this.getNaluDts(),t=dl(s,i);if(this.player._opt.isEmitSEI&&r){const t=da(r,!0);this.player.emitVideoSei({ts:e,data:t.payload})}this._preDoDecode(t,Ve,e,i,0)}}}))}handleVideoH265Frames_1(e){e.forEach((e=>{this.handleVideoNalu(e)}))}parseVideo264Header(e){const t=new Sh(e);t.readUByte();return{isfms:0===t.readUEG(),sType:t.readUEG()}}parseVideo265Header(e){const t=new Sh(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}}class Th extends ph{constructor(e){super(e),this.player=e,this.TAG_NAME="EmptyDemux",e.debugLog("EmptyDemux","init")}destroy(){super.destroy(),this.player.debugLog("EmptyDemux","destroy")}}var wh=Gr((function(e,t){var s,r,a,o=(s=new Date,r=4,a={setLogLevel:function(e){r=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=r&&console.debug("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=r&&console.info("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=r&&console.warn("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=r&&console.error("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)}},a);o.getDurationString=function(e,t){var i;function s(e,t){for(var i=(""+e).split(".");i[0].length0){for(var i="",s=0;s0&&(i+=","),i+="["+o.getDurationString(e.start(s))+","+o.getDurationString(e.end(s))+"]";return i}return"(empty)"},t.Log=o;var n=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};n.prototype.getPosition=function(){return this.position},n.prototype.getEndPosition=function(){return this.buffer.byteLength},n.prototype.getLength=function(){return this.buffer.byteLength},n.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},n.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},n.prototype.readAnyInt=function(e,t){var i=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:i=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:i=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";i=this.dataview.getUint8(this.position)<<16,i|=this.dataview.getUint8(this.position+1)<<8,i|=this.dataview.getUint8(this.position+2);break;case 4:i=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";i=this.dataview.getUint32(this.position)<<32,i|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,i}throw"Not enough bytes in buffer"},n.prototype.readUint8=function(){return this.readAnyInt(1,!1)},n.prototype.readUint16=function(){return this.readAnyInt(2,!1)},n.prototype.readUint24=function(){return this.readAnyInt(3,!1)},n.prototype.readUint32=function(){return this.readAnyInt(4,!1)},n.prototype.readUint64=function(){return this.readAnyInt(8,!1)},n.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",i=0;ithis._byteLength&&(this._byteLength=t);else{for(i<1&&(i=1);t>i;)i*=2;var s=new ArrayBuffer(i),r=new Uint8Array(this._buffer);new Uint8Array(s,0,r.length).set(r),this.buffer=s,this._byteLength=t}}},l.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),i=new Uint8Array(this._buffer,0,t.length);t.set(i),this.buffer=e}},l.BIG_ENDIAN=!1,l.LITTLE_ENDIAN=!0,l.prototype._byteLength=0,Object.defineProperty(l.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(l.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(l.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(l.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),l.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},l.prototype.isEof=function(){return this.position>=this._byteLength},l.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},l.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Int32Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Int16Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return l.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},l.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Uint32Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Uint16Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return l.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},l.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var i=new Float64Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Float32Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},l.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},l.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},l.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},l.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},l.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},l.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},l.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},l.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,l.memcpy=function(e,t,i,s,r){var a=new Uint8Array(e,t,r),o=new Uint8Array(i,s,r);a.set(o)},l.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},l.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},l.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=0;ir;s--,r++){var a=t[r];t[r]=t[s],t[s]=a}return e},l.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],i=0;i>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},l.prototype.adjustUint32=function(e,t){var i=this.position;this.seek(e),this.writeUint32(t),this.seek(i)},l.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var i=new Int32Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},l.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var i=new Int16Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},l.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},l.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var i=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},l.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var i=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},l.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var i=new Float64Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=8*e,i},l.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var i=new Float32Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i};var h=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(h.prototype=new l(new ArrayBuffer,0,l.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,o.debug("MultiBufferStream","Stream ready for parsing"),!0):(o.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){o.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),e.byteLength),i.buffer},h.prototype.reduceBuffer=function(e,t,i){var s;return(s=new Uint8Array(i)).set(new Uint8Array(e,t,i)),s.buffer.fileStart=e.fileStart+t,s.buffer.usedBytes=0,s.buffer},h.prototype.insertBuffer=function(e){for(var t=!0,i=0;is.byteLength){this.buffers.splice(i,1),i--;continue}o.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=s.fileStart||(e=this.reduceBuffer(e,0,s.fileStart-e.fileStart)),o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(i,0,e),0===i&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,r,a)}}t&&(o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===i&&(this.buffer=e))},h.prototype.logBufferLevel=function(e){var t,i,s,r,a,n=[],l="";for(s=0,r=0,t=0;t0&&(l+=a.end-1+"]");var d=e?o.info:o.debug;0===this.buffers.length?d("MultiBufferStream","No more buffer in memory"):d("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+s+"/"+r+" bytes), continuous ranges: "+l)},h.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},h.prototype.findPosition=function(e,t,i){var s,r=null,a=-1;for(s=!0===e?0:this.bufferIndex;s=t?(o.debug("MultiBufferStream","Found position in existing buffer #"+a),a):-1},h.prototype.findEndContiguousBuf=function(e){var t,i,s,r=void 0!==e?e:this.bufferIndex;if(i=this.buffers[r],this.buffers.length>r+1)for(t=r+1;t>3;return 31===s&&i.data.length>=2&&(s=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),s}return null},i.DecoderConfigDescriptor=function(e){i.Descriptor.call(this,4,e)},i.DecoderConfigDescriptor.prototype=new i.Descriptor,i.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},i.DecoderSpecificInfo=function(e){i.Descriptor.call(this,5,e)},i.DecoderSpecificInfo.prototype=new i.Descriptor,i.SLConfigDescriptor=function(e){i.Descriptor.call(this,6,e)},i.SLConfigDescriptor.prototype=new i.Descriptor,this};t.MPEG4DescriptorParser=c;var u={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){u.FullBox.prototype=new u.Box,u.ContainerBox.prototype=new u.Box,u.SampleEntry.prototype=new u.Box,u.TrackGroupTypeBox.prototype=new u.FullBox,u.BASIC_BOXES.forEach((function(e){u.createBoxCtor(e)})),u.FULL_BOXES.forEach((function(e){u.createFullBoxCtor(e)})),u.CONTAINER_BOXES.forEach((function(e){u.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,i){this.type=e,this.size=t,this.uuid=i},FullBox:function(e,t,i){u.Box.call(this,e,t,i),this.flags=0,this.version=0},ContainerBox:function(e,t,i){u.Box.call(this,e,t,i),this.boxes=[]},SampleEntry:function(e,t,i,s){u.ContainerBox.call(this,e,t),this.hdr_size=i,this.start=s},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){u.FullBox.call(this,e,t)},createBoxCtor:function(e,t){u.boxCodes.push(e),u[e+"Box"]=function(t){u.Box.call(this,e,t)},u[e+"Box"].prototype=new u.Box,t&&(u[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){u[e+"Box"]=function(t){u.FullBox.call(this,e,t)},u[e+"Box"].prototype=new u.FullBox,u[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,i=0;ii?(o.error("BoxParser","Box of type '"+h+"' has a size "+d+" greater than its container size "+i),{code:u.ERR_NOT_ENOUGH_DATA,type:h,size:d,hdr_size:l,start:n}):0!==d&&n+d>e.getEndPosition()?(e.seek(n),o.info("BoxParser","Not enough data in stream to parse the entire '"+h+"' box"),{code:u.ERR_NOT_ENOUGH_DATA,type:h,size:d,hdr_size:l,start:n}):t?{code:u.OK,type:h,size:d,hdr_size:l,start:n}:(u[h+"Box"]?s=new u[h+"Box"](d):"uuid"!==h?(o.warn("BoxParser","Unknown box type: '"+h+"'"),(s=new u.Box(h,d)).has_unparsed_data=!0):u.UUIDBoxes[a]?s=new u.UUIDBoxes[a](d):(o.warn("BoxParser","Unknown uuid type: '"+a+"'"),(s=new u.Box(h,d)).uuid=a,s.has_unparsed_data=!0),s.hdr_size=l,s.start=n,s.write===u.Box.prototype.write&&"mdat"!==s.type&&(o.info("BoxParser","'"+c+"' box writing not yet implemented, keeping unparsed data in memory for later write"),s.parseDataAndRewind(e)),s.parse(e),(r=e.getPosition()-(s.start+s.size))<0?(o.warn("BoxParser","Parsing of box '"+c+"' did not read the entire indicated box data size (missing "+-r+" bytes), seeking forward"),e.seek(s.start+s.size)):r>0&&(o.error("BoxParser","Parsing of box '"+c+"' read "+r+" more bytes than the indicated box data size, seeking backwards"),0!==s.size&&e.seek(s.start+s.size)),{code:u.OK,box:s,size:s.size})},u.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},u.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},u.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},u.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},u.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},u.ContainerBox.prototype.parse=function(e){for(var t,i;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},u.SAMPLE_ENTRY_TYPE_VISUAL="Visual",u.SAMPLE_ENTRY_TYPE_AUDIO="Audio",u.SAMPLE_ENTRY_TYPE_HINT="Hint",u.SAMPLE_ENTRY_TYPE_METADATA="Metadata",u.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",u.SAMPLE_ENTRY_TYPE_SYSTEM="System",u.SAMPLE_ENTRY_TYPE_TEXT="Text",u.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},u.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},u.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},u.SampleEntry.prototype.parseFooter=function(e){u.ContainerBox.prototype.parse.call(this,e)},u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_HINT),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_METADATA),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SUBTITLE),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SYSTEM),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_TEXT),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_TEXT,"enct"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_METADATA,"encm"),u.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var i=0;i<3;i++)this.layer_size[i]=16==t?e.readUint16():e.readUint32()})),u.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),u.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),u.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)o.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void o.error("av1C reserved_2 parsing problem");var i=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(i)}else o.error("av1C reserved_1 parsing problem");else o.error("av1C version "+this.version+" not supported")})),u.createBoxCtor("avcC",(function(e){var t,i;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),i=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(i))})),u.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),u.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),u.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),u.createFullBoxCtor("co64",(function(e){var t,i;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(i=0;i>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),u.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),u.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),u.createFullBoxCtor("ctts",(function(e){var t,i;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(i=0;i>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|i>>6&3,this.acmod=i>>3&7,this.lfeon=i>>2&1,this.bit_rate_code=3&i|s>>5&7})),u.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var i=0;i>6,s.bsid=r>>1&31,s.bsmod=(1&r)<<4|a>>4&15,s.acmod=a>>1&7,s.lfeon=1&a,s.num_dep_sub=o>>1&15,s.num_dep_sub>0&&(s.chan_loc=(1&o)<<8|e.readUint8())}})),u.createFullBoxCtor("dfLa",(function(e){var t=[],i=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var s=e.readUint8(),r=Math.min(127&s,i.length-1);if(r?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(i[r]),128&s)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),u.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),u.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),u.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),u.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[i]=e.readString(4),t-=4,i++})),u.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),u.createBoxCtor("hvcC",(function(e){var t,i,s,r;this.configurationVersion=e.readUint8(),r=e.readUint8(),this.general_profile_space=r>>6,this.general_tier_flag=(32&r)>>5,this.general_profile_idc=31&r,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),r=e.readUint8(),this.constantFrameRate=r>>6,this.numTemporalLayers=(13&r)>>3,this.temporalIdNested=(4&r)>>2,this.lengthSizeMinusOne=3&r,this.nalu_arrays=[];var a=e.readUint8();for(t=0;t>7,o.nalu_type=63&r;var n=e.readUint16();for(i=0;i>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var i=0;if(this.version<2)i=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";i=e.readUint32()}for(var s=0;s>7,this.axis=1&t})),u.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),o.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),u.createFullBoxCtor("ipma",(function(e){var t,i;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?o.property_index=(127&a)<<8|e.readUint8():o.property_index=127&a}}})),u.createFullBoxCtor("iref",(function(e){var t,i;for(this.references=[];e.getPosition()>7,s.assignment_type=127&r,s.assignment_type){case 0:s.grouping_type=e.readString(4);break;case 1:s.grouping_type=e.readString(4),s.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:s.sub_track_id=e.readUint32();break;default:o.warn("BoxParser","Unknown leva assignement type")}}})),u.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),u.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),p.prototype.toString=function(){return"("+this.x+","+this.y+")"},u.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new p(e.readUint16(),e.readUint16()),this.display_primaries[1]=new p(e.readUint16(),e.readUint16()),this.display_primaries[2]=new p(e.readUint16(),e.readUint16()),this.white_point=new p(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),u.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),u.createFullBoxCtor("mehd",(function(e){1&this.flags&&(o.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),u.createFullBoxCtor("meta",(function(e){this.boxes=[],u.ContainerBox.prototype.parse.call(this,e)})),u.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),u.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),u.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),u.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),u.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),u.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),u.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var i=0;i0){var t=e.readUint32();this.kid=[];for(var i=0;i0&&(this.data=e.readUint8Array(s))})),u.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),u.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),u.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),u.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),u.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),u.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var i=0;i>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var i=e.readUint8(),s=0;s>7,this.num_leading_samples=127&t})),u.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)o.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=u.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),u.createSampleGroupCtor("stsa",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),u.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),u.createSampleGroupCtor("tsas",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createSampleGroupCtor("tscl",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createSampleGroupCtor("vipr",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),i=0;i>6,this.sample_depends_on[s]=t>>4&3,this.sample_is_depended_on[s]=t>>2&3,this.sample_has_redundancy[s]=3&t})),u.createFullBoxCtor("senc"),u.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),o.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),i=0;i>31&1,s.referenced_size=2147483647&r,s.subsegment_duration=e.readUint32(),r=e.readUint32(),s.starts_with_SAP=r>>31&1,s.SAP_type=r>>28&7,s.SAP_delta_time=268435455&r}})),u.SingleItemTypeReferenceBox=function(e,t,i,s){u.Box.call(this,e,t),this.hdr_size=i,this.start=s},u.SingleItemTypeReferenceBox.prototype=new u.Box,u.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var i=0;i>4&15,this.sample_sizes[t+1]=15&s}else if(8===this.field_size)for(t=0;t0)for(i=0;i>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=u.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),u.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),u.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),u.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var i=e.readUint32(),s=0;s>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),u.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),u.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),u.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),u.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),u.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),u.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},u.createTrackGroupCtor("msrc"),u.TrackReferenceTypeBox=function(e,t,i,s){u.Box.call(this,e,t),this.hdr_size=i,this.start=s},u.TrackReferenceTypeBox.prototype=new u.Box,u.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},u.trefBox.prototype.parse=function(e){for(var t,i;e.getPosition()t&&this.flags&u.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&u.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var i=0;i>7&1,this.block_pad_lsb=i>>6&1,this.block_little_endian=i>>5&1,this.block_reversed=i>>4&1,this.pad_unknown=i>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),u.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),u.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),u.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),u.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=u.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),u.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),u.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=u.parseHex16(e)})),u.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),u.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),u.createFullBoxCtor("vvcC",(function(e){var t,i,s={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(s.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,i=this.num_sublayers-2;i>=0;--i){var o=s.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++i)s.extract_bits(1);for(this.sublayer_level_idc=[],i=this.num_sublayers-2;i>=0;--i)this.ptl_sublayer_present_mask&1<>=1;t+=u.decimalToHex(s,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var r=!1,a="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||r)&&(a="."+u.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+a,r=!0);t+=a}return t},u.vvc1SampleEntry.prototype.getCodec=u.vvi1SampleEntry.prototype.getCodec=function(){var e,t=u.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var i="";if(this.vvcC.general_constraint_info){var s,r=[],a=0;for(a|=this.vvcC.ptl_frame_only_constraint<<7,a|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,r.push(a),a&&(s=e),a=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===s)i=".CA";else{i=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",n=0,l=0;for(e=0;e<=s;++e)for(n=n<<8|r[e],l+=8;l>=5;){i+=o[n>>l-5&31],n&=(1<<(l-=5))-1}l&&(i+=o[31&(n<<=5-l)])}}t+=i}return t},u.mp4aSampleEntry.prototype.getCodec=function(){var e=u.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),i=this.esds.esd.getAudioConfig();return e+"."+u.decimalToHex(t)+(i?"."+i:"")}return e},u.stxtSampleEntry.prototype.getCodec=function(){var e=u.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},u.vp08SampleEntry.prototype.getCodec=u.vp09SampleEntry.prototype.getCodec=function(){var e=u.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var i=this.vpcC.bitDepth;return 8==i&&(i="08"),e+".0"+this.vpcC.profile+"."+t+"."+i},u.av01SampleEntry.prototype.getCodec=function(){var e,t=u.SampleEntry.prototype.getCodec.call(this),i=this.av1C.seq_level_idx_0;return i<10&&(i="0"+i),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+i+(this.av1C.seq_tier_0?"H":"M")+"."+e},u.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>d&&(this.size+=8),"uuid"===this.type&&(this.size+=16),o.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>d?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>d&&e.writeUint64(this.size)},u.FullBox.prototype.writeHeader=function(e){this.size+=4,u.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},u.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},u.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},u.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&u.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&u.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&u.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&u.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&u.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&u.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&u.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&u.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&u.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&u.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},u.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},u.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},u.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&u.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&u.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&u.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&u.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&u.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&u.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&u.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&u.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[i]instanceof u.Box||t[i]instanceof u.Box||void 0===e[i]||void 0===t[i]||"function"==typeof e[i]||"function"==typeof t[i]||e.subBoxNames&&e.subBoxNames.indexOf(i.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(i.slice(0,4))>-1||"data"===i||"start"===i||"size"===i||"creation_time"===i||"modification_time"===i||u.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(i)>-1||e[i]===t[i]))return!1;return!0},u.boxEqual=function(e,t){if(!u.boxEqualFields(e,t))return!1;for(var i=0;i1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},y.prototype.setExtractionOptions=function(e,t,i){var s=this.getTrackById(e);if(s){var r={};this.extractedTracks.push(r),r.id=e,r.user=t,r.trak=s,s.nextSample=0,r.nb_samples=1e3,r.samples=[],i&&i.nbSamples&&(r.nb_samples=i.nbSamples)}},y.prototype.unsetExtractionOptions=function(e){for(var t=-1,i=0;i-1&&this.extractedTracks.splice(t,1)},y.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=u.parseOneBox(this.stream,false)).code===u.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var i;switch(i="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),i){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[i]&&o.warn("ISOFile","Duplicate Box of type: "+i+", overriding previous occurrence"),this[i]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},y.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(o.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(o.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(o.warn("ISOFile","Not ready to start parsing"),!1))},y.prototype.appendBuffer=function(e,t){var i;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(i=this.nextSeekPosition,this.nextSeekPosition=void 0):i=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(i=this.stream.getEndFilePositionAfter(i))):i=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(o.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+i),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),i},y.prototype.getInfo=function(){var e,t,i,s,r,a,o={},n=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(n+1e3*this.moov.mvhd.creation_time),o.modified=new Date(n+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],e=0;e0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',e=0;e=i.samples.length)&&(o.info("ISOFile","Sending fragmented data on track #"+s.id+" for samples ["+Math.max(0,i.nextSample-s.nb_samples)+","+(i.nextSample-1)+"]"),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(s.id,s.user,s.segmentStream.buffer,i.nextSample,e||i.nextSample>=i.samples.length),s.segmentStream=null,s!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=i.samples.length)&&(o.debug("ISOFile","Sending samples on track #"+a.id+" for sample "+i.nextSample),this.onSamples&&this.onSamples(a.id,a.user,a.samples),a.samples=[],a!==this.extractedTracks[t]))break}}}},y.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},y.prototype.getBoxes=function(e,t){var i=[];return y._sweep.call(this,e,i,t),i},y._sweep=function(e,t,i){for(var s in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&i)return;y._sweep.call(this.boxes[s],e,t,i)}},y.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},y.prototype.getTrackSample=function(e,t){var i=this.getTrackById(e);return this.getSample(i,t)},y.prototype.releaseUsedSamples=function(e,t,i){var s=0,r=this.getTrackById(e);r.lastValidSample||(r.lastValidSample=0);for(var a=r.lastValidSample;ae*r.timescale){d=s-1;break}t&&r.is_sync&&(l=s)}for(t&&(d=l),e=i.samples[d].cts,i.nextSample=d;i.samples[d].alreadyRead===i.samples[d].size&&i.samples[d+1];)d++;return a=i.samples[d].offset+i.samples[d].alreadyRead,o.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+i.nextSample+" on track "+i.tkhd.track_id+", time "+o.getDurationString(e,n)+" and offset: "+a),{offset:a,time:e/n}},y.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},y.prototype.seek=function(e,t){var i,s,r,a=this.moov,n={offset:1/0,time:1/0};if(this.moov){for(r=0;rthis.getTrackDuration(i)||((s=this.seekTrack(e,t,i)).offset-1){o=l;break}switch(o){case"Visual":if(r.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var c=new u.avcCBox;c.parse(new n(t.avcDecoderConfigRecord)),a.addBox(c)}else if(t.hevcDecoderConfigRecord){var p=new u.hvcCBox;p.parse(new n(t.hevcDecoderConfigRecord)),a.addBox(p)}break;case"Audio":r.add("smhd").set("balance",t.balance||0),a.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":r.add("hmhd");break;case"Subtitle":if(r.add("sthd"),"stpp"===t.type)a.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:r.add("nmhd")}t.description&&a.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){a.addBox(e)})),r.add("dinf").add("dref").addEntry((new u["url Box"]).set("flags",1));var m=r.add("stbl");return m.add("stsd").addEntry(a),m.add("stts").set("sample_counts",[]).set("sample_deltas",[]),m.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),m.add("stco").set("chunk_offsets",[]),m.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(i),t.id}},u.Box.prototype.computeSize=function(e){var t=e||new l;t.endianness=l.BIG_ENDIAN,this.write(t)},y.prototype.addSample=function(e,t,i){var s=i||{},r={},a=this.getTrackById(e);if(null!==a){r.number=a.samples.length,r.track_id=a.tkhd.track_id,r.timescale=a.mdia.mdhd.timescale,r.description_index=s.sample_description_index?s.sample_description_index-1:0,r.description=a.mdia.minf.stbl.stsd.entries[r.description_index],r.data=t,r.size=t.byteLength,r.alreadyRead=r.size,r.duration=s.duration||1,r.cts=s.cts||0,r.dts=s.dts||0,r.is_sync=s.is_sync||!1,r.is_leading=s.is_leading||0,r.depends_on=s.depends_on||0,r.is_depended_on=s.is_depended_on||0,r.has_redundancy=s.has_redundancy||0,r.degradation_priority=s.degradation_priority||0,r.offset=0,r.subsamples=s.subsamples,a.samples.push(r),a.samples_size+=r.size,a.samples_duration+=r.duration,void 0===a.first_dts&&(a.first_dts=s.dts),this.processSamples();var o=this.createSingleSampleMoof(r);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(t),r}},y.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var i=new u.moofBox;i.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var s=i.add("traf"),r=this.getTrackById(e.track_id);return s.add("tfhd").set("track_id",e.track_id).set("flags",u.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),s.add("tfdt").set("baseMediaDecodeTime",e.dts-(r.first_dts||0)),s.add("trun").set("flags",u.TRUN_FLAGS_DATA_OFFSET|u.TRUN_FLAGS_DURATION|u.TRUN_FLAGS_SIZE|u.TRUN_FLAGS_FLAGS|u.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),i},y.prototype.lastMoofIndex=0,y.prototype.samplesDataSize=0,y.prototype.resetTables=function(){var e,t,i,s,r,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(l=r[o].grouping_type+"/0",(n=new d(r[o].grouping_type,0)).is_fragment=!0,t.sample_groups_info[l]||(t.sample_groups_info[l]=n))}else for(o=0;o=2&&(l=s[o].grouping_type+"/0",n=new d(s[o].grouping_type,0),e.sample_groups_info[l]||(e.sample_groups_info[l]=n))},y.setSampleGroupProperties=function(e,t,i,s){var r,a;for(r in t.sample_groups=[],s){var o;if(t.sample_groups[r]={},t.sample_groups[r].grouping_type=s[r].grouping_type,t.sample_groups[r].grouping_type_parameter=s[r].grouping_type_parameter,i>=s[r].last_sample_in_run&&(s[r].last_sample_in_run<0&&(s[r].last_sample_in_run=0),s[r].entry_index++,s[r].entry_index<=s[r].sbgp.entries.length-1&&(s[r].last_sample_in_run+=s[r].sbgp.entries[s[r].entry_index].sample_count)),s[r].entry_index<=s[r].sbgp.entries.length-1?t.sample_groups[r].group_description_index=s[r].sbgp.entries[s[r].entry_index].group_description_index:t.sample_groups[r].group_description_index=-1,0!==t.sample_groups[r].group_description_index)o=s[r].fragment_description?s[r].fragment_description:s[r].description,t.sample_groups[r].group_description_index>0?(a=t.sample_groups[r].group_description_index>65535?(t.sample_groups[r].group_description_index>>16)-1:t.sample_groups[r].group_description_index-1,o&&a>=0&&(t.sample_groups[r].description=o.entries[a])):o&&o.version>=2&&o.default_group_description_index>0&&(t.sample_groups[r].description=o.entries[o.default_group_description_index-1])}},y.process_sdtp=function(e,t,i){t&&(e?(t.is_leading=e.is_leading[i],t.depends_on=e.sample_depends_on[i],t.is_depended_on=e.sample_is_depended_on[i],t.has_redundancy=e.sample_has_redundancy[i]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},y.prototype.buildSampleLists=function(){var e,t;for(e=0;eb&&(v++,b<0&&(b=0),b+=a.sample_counts[v]),t>0?(e.samples[t-1].duration=a.sample_deltas[v],e.samples_duration+=e.samples[t-1].duration,k.dts=e.samples[t-1].dts+e.samples[t-1].duration):k.dts=0,o?(t>=_&&(S++,_<0&&(_=0),_+=o.sample_counts[S]),k.cts=e.samples[t].dts+o.sample_offsets[S]):k.cts=k.dts,n?(t==n.sample_numbers[E]-1?(k.is_sync=!0,E++):(k.is_sync=!1,k.degradation_priority=0),d&&d.entries[T].sample_delta+w==t+1&&(k.subsamples=d.entries[T].subsamples,w+=d.entries[T].sample_delta,T++)):k.is_sync=!0,y.process_sdtp(e.mdia.minf.stbl.sdtp,k,k.number),k.degradation_priority=u?u.priority[t]:0,d&&d.entries[T].sample_delta+w==t&&(k.subsamples=d.entries[T].subsamples,w+=d.entries[T].sample_delta),(h.length>0||c.length>0)&&y.setSampleGroupProperties(e,k,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},y.prototype.updateSampleLists=function(){var e,t,i,s,r,a,o,n,l,d,h,c,p,m,f;if(void 0!==this.moov)for(;this.lastMoofIndex0&&y.initSampleGroups(c,h,h.sbgps,c.mdia.minf.stbl.sgpds,h.sgpds),t=0;t0?m.dts=c.samples[c.samples.length-2].dts+c.samples[c.samples.length-2].duration:(h.tfdt?m.dts=h.tfdt.baseMediaDecodeTime:m.dts=0,c.first_traf_merged=!0),m.cts=m.dts,g.flags&u.TRUN_FLAGS_CTS_OFFSET&&(m.cts=m.dts+g.sample_composition_time_offset[i]),f=o,g.flags&u.TRUN_FLAGS_FLAGS?f=g.sample_flags[i]:0===i&&g.flags&u.TRUN_FLAGS_FIRST_FLAG&&(f=g.first_sample_flags),m.is_sync=!(f>>16&1),m.is_leading=f>>26&3,m.depends_on=f>>24&3,m.is_depended_on=f>>22&3,m.has_redundancy=f>>20&3,m.degradation_priority=65535&f;var A=!!(h.tfhd.flags&u.TFHD_FLAG_BASE_DATA_OFFSET),b=!!(h.tfhd.flags&u.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),v=!!(g.flags&u.TRUN_FLAGS_DATA_OFFSET),_=0;_=A?h.tfhd.base_data_offset:b||0===t?d.start:n,m.offset=0===t&&0===i?v?_+g.data_offset:_:n,n=m.offset+m.size,(h.sbgps.length>0||h.sgpds.length>0||c.mdia.minf.stbl.sbgps.length>0||c.mdia.minf.stbl.sgpds.length>0)&&y.setSampleGroupProperties(c,m,m.number_in_traf,h.sample_groups_info)}}if(h.subs){c.has_fragment_subsamples=!0;var S=h.first_sample_index;for(t=0;t-1))return null;var a=(i=this.stream.buffers[r]).byteLength-(s.offset+s.alreadyRead-i.fileStart);if(s.size-s.alreadyRead<=a)return o.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-i.fileStart)+" read size: "+(s.size-s.alreadyRead)+" full size: "+s.size+")"),l.memcpy(s.data.buffer,s.alreadyRead,i,s.offset+s.alreadyRead-i.fileStart,s.size-s.alreadyRead),i.usedBytes+=s.size-s.alreadyRead,this.stream.logBufferLevel(),s.alreadyRead=s.size,s;if(0===a)return null;o.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-i.fileStart)+" read size: "+a+" full size: "+s.size+")"),l.memcpy(s.data.buffer,s.alreadyRead,i,s.offset+s.alreadyRead-i.fileStart,a),s.alreadyRead+=a,i.usedBytes+=a,this.stream.logBufferLevel()}},y.prototype.releaseSample=function(e,t){var i=e.samples[t];return i.data?(this.samplesDataSize-=i.size,i.data=null,i.description=null,delete i.degradation_priority,delete i.depends_on,delete i.description_index,delete i.has_redundancy,delete i.is_depended_on,delete i.is_leading,delete i.is_sync,delete i.moof_number,delete i.number_in_traf,delete i.timescale,delete i.cts,delete i.dts,delete i.offset,delete i.size,delete i.track_id,delete i.duration,i.alreadyRead=0,i.size):0},y.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},y.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},y.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(i.protection=a.ipro.protections[a.iinf.item_infos[e].protection_index-1]),a.iinf.item_infos[e].item_type?i.type=a.iinf.item_infos[e].item_type:i.type="mime",i.content_type=a.iinf.item_infos[e].content_type,i.content_encoding=a.iinf.item_infos[e].content_encoding;if(a.grpl)for(e=0;e0&&u.property_index-1-1))return null;var n=(t=this.stream.buffers[a]).byteLength-(r.offset+r.alreadyRead-t.fileStart);if(!(r.length-r.alreadyRead<=n))return o.debug("ISOFile","Getting item #"+e+" extent #"+s+" partial data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+n+" full extent size: "+r.length+" full item size: "+i.size+")"),l.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,n),r.alreadyRead+=n,i.alreadyRead+=n,t.usedBytes+=n,this.stream.logBufferLevel(),null;o.debug("ISOFile","Getting item #"+e+" extent #"+s+" data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+(r.length-r.alreadyRead)+" full extent size: "+r.length+" full item size: "+i.size+")"),l.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,r.length-r.alreadyRead),t.usedBytes+=r.length-r.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead+=r.length-r.alreadyRead,r.alreadyRead=r.length}}return i.alreadyRead===i.size?i:null},y.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var i=0;i0?this.moov.traks[e].samples[0].duration:0),t.push(s)}return t},y.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},u.Box.prototype.printHeader=function(e){this.size+=8,this.size>d&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},u.FullBox.prototype.printHeader=function(e){this.size+=4,u.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},u.Box.prototype.print=function(e){this.printHeader(e)},u.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},u.tkhdBox.prototype.print=function(e){u.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var A={createFile:function(e,t){var i=void 0===e||e,s=new y(t);return s.discardMdatData=!i,s}};t.createFile=A.createFile}));wh.Log,wh.MP4BoxStream,wh.DataStream,wh.MultiBufferStream,wh.MPEG4DescriptorParser,wh.BoxParser,wh.XMLSubtitlein4Parser,wh.Textin4Parser,wh.ISOFile,wh.createFile;class kh extends ph{constructor(e){super(e),this.TAG_NAME="Fmp4Demux",this.player=e,this.mp4Box=wh.createFile(),this.tempFmp4List=[],this.offset=0,this.videoTrackId=null,this.audioTrackId=null,this.isHevc=!1,this._listenMp4Box(),e.debugLog(this.TAG_NAME,"init")}destroy(){this.mp4Box&&(this.mp4Box.stop(),this.mp4Box.flush(),this.mp4Box.destroy(),this.mp4Box=null),this.tempFmp4List=[],this.offset=0,this.videoTrackId=null,this.audioTrackId=null,this.isHevc=!1,this.player.debugLog(this.TAG_NAME,"destroy")}_listenMp4Box(){this.mp4Box.onReady=this.onReady.bind(this),this.mp4Box.onError=this.onError.bind(this),this.mp4Box.onSamples=this.onSamples.bind(this)}onReady(e){this.player.debugLog(this.TAG_NAME,"onReady",e);const t=e.videoTracks[0],i=e.audioTracks[0];if(t){this.videoTrackId=t.id;const e=this.getSeqHeader(t);e&&(this.player.debugLog(this.TAG_NAME,"seqHeader",e),this._doDecodeByFmp4(e,Ve,0,!0,0)),this.mp4Box.setExtractionOptions(t.id)}if(i&&this.player._opt.hasAudio){this.audioTrackId=i.id;const e=i.audio||{},t=Hr.indexOf(e.sample_rate),s=i.codec.replace("mp4a.40.","");this.mp4Box.setExtractionOptions(i.id);const r={profile:parseInt(s,10),sampleRate:t,channel:e.channel_count},a=Jr(r);this.player.debugLog(this.TAG_NAME,"aacADTSHeader",a,"config",r),this._doDecodeByFmp4(a,Ge,0,!1,0)}this.mp4Box.start()}onError(e){this.player.debugError(this.TAG_NAME,"mp4Box onError",e)}onSamples(e,t,i){if(e===this.videoTrackId){for(const e of i){const t=e.data,i=e.is_sync,s=1e3*e.cts/e.timescale;e.duration,e.timescale,this.player.updateStats({vbps:t.byteLength,dts:s}),i&&this.calcIframeIntervalTimestamp(s);let r=null;r=this.isHevc?dl(t,i):Kn(t,i);let a=this.cryptoPayload(r,i);this._doDecodeByFmp4(a,Ve,s,i,0)}this.mp4Box.removeUsedSamples(e)}else if(e===this.audioTrackId){if(this.player._opt.hasAudio){for(const e of i){const t=e.data;this.player.updateStats({abps:t.byteLength});const i=1e3*e.cts/e.timescale;e.duration,e.timescale;const s=new Uint8Array(t.byteLength+2);s.set([175,1],0),s.set(t,2),this._doDecodeByFmp4(s,Ge,i,!1,0)}this.mp4Box.removeUsedSamples(e)}}else this.player.debugWarn(this.TAG_NAME,"onSamples() trackId error",e)}getSeqHeader(e){const t=this.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new wh.DataStream(void 0,0,wh.DataStream.BIG_ENDIAN);let i=[];e.avcC?(e.avcC.write(t),i=[23,0,0,0,0]):(this.isHevc=!0,e.hvcC.write(t),i=[28,0,0,0,0]);const s=new Uint8Array(t.buffer,8),r=new Uint8Array(i.length+s.length);return r.set(i,0),r.set(s,i.length),r}return null}dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=this.offset,this.offset+=t.byteLength,this.mp4Box.appendBuffer(t.buffer)}downloadFmp4File(){const e=new Blob(this.tempFmp4List,{type:'video/mp4; codecs="avc1.640028,mp4a.40.2"'}),t=URL.createObjectURL(e),i=document.createElement("a");i.href=t,i.download=fa()+".fmp4",i.click(),URL.revokeObjectURL(t)}getInputByteLength(){let e=0;return this.mp4Box&&(e=this.mp4Box.getAllocatedSampleDataSize()),e}}class Lh extends ph{constructor(e){super(e),this.player=e,this.TAG_NAME="Mpeg4Demux",this.player.debugLog(this.LOG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.LOG_NAME,"destroy")}}function Ch(){for(var e=arguments.length,t=new Array(e),i=0;ie+t.byteLength),0));let r=0;return t.forEach((e=>{s.set(e,r),r+=e.byteLength})),s}const Dh=3,xh=4,Rh=6,Ph=15,Ih=17,Bh=129,Mh=135,Fh=21,Uh=134,Oh=27,Nh=36;class jh{constructor(){this.slices=[],this.total_length=0,this.expected_length=0,this.random_access_indicator=0}}class Gh{constructor(){this.pid=null,this.data=null,this.stream_type=null,this.random_access_indicator=null}}class Vh{constructor(){this.pid=null,this.stream_id=null,this.len=null,this.data=null,this.pts=null,this.nearest_pts=null,this.dts=null}}const Wh=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];class zh{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t}isSeekable(){return!0===this.hasKeyframesIndex}getNearestKeyframe(e){if(null==this.keyframesIndex)return null;let t=this.keyframesIndex,i=this._search(t.times,e);return{index:i,milliseconds:t.times[i],fileposition:t.filepositions[i]}}_search(e,t){let i=0,s=e.length-1,r=0,a=0,o=s;for(t=e[r]&&t=6?(s=5,t=new Array(4),o=r-3):(s=2,t=new Array(2),o=r):-1!==n.indexOf("android")?(s=2,t=new Array(2),o=r):(s=5,o=r,t=new Array(4),r>=6?o=r-3:1===a&&(s=2,t=new Array(2),o=r)),t[0]=s<<3,t[0]|=(15&r)>>>1,t[1]=(15&r)<<7,t[1]|=(15&a)<<3,5===s&&(t[1]|=(15&o)>>>1,t[2]=(1&o)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=Wh[r],this.sampling_index=r,this.channel_count=a,this.object_type=s,this.original_object_type=i,this.codec_mimetype="mp4a.40."+s,this.original_codec_mimetype="mp4a.40."+i}}class Hh extends ph{constructor(e){super(e),this.player=e,this.TAG_NAME="TsDemux",this.first_parse_=!0,this.tsPacketSize=0,this.syncOffset=0,this.pmt_=null,this.config_=null,this.media_info_=new zh,this.timescale_=90,this.duration_=0,this.pat_={version_number:0,network_pid:0,program_map_pid:{}},this.current_program_=null,this.current_pmt_pid_=-1,this.program_pmt_map_={},this.pes_slice_queues_={},this.section_slice_queues_={},this.video_metadata_={vps:null,sps:null,pps:null,details:null},this.audio_metadata_={codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},this.last_pcr_=null,this.last_pcr_base_=NaN,this.timestamp_offset_=0,this.audio_last_sample_pts_=void 0,this.aac_last_incomplete_data_=null,this.has_video_=!1,this.has_audio_=!1,this.video_init_segment_dispatched_=!1,this.audio_init_segment_dispatched_=!1,this.video_metadata_changed_=!1,this.audio_metadata_changed_=!1,this.loas_previous_frame=null,this.video_track_={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this.audio_track_={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._remainingPacketData=null,this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.media_info_=null,this.pes_slice_queues_=null,this.section_slice_queues_=null,this.video_metadata_=null,this.audio_metadata_=null,this.aac_last_incomplete_data_=null,this.video_track_=null,this.audio_track_=null,this._remainingPacketData=null,super.destroy()}probe(e){let t=new Uint8Array(e),i=-1,s=188;if(t.byteLength<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math.min(1e3,t.byteLength-3*s);for(let r=0;r=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})}_initPmt(){return{program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}}dispatch(e){let t=new Uint8Array(e);this._remainingPacketData&&(t=Ch(this._remainingPacketData,t),this._remainingPacketData=null);let i=t.buffer;const s=this.parseChunks(i);s?this._remainingPacketData=t.subarray(s):t.length>>6;i[1];let a=(31&i[1])<<8|i[2],o=(48&i[3])>>>4,n=15&i[3],l=!(!this.pmt_||this.pmt_.pcr_pid!==a),d={},h=4;if(2==o||3==o){let e=i[4];if(e>0&&(l||3==o)){if(d.discontinuity_indicator=(128&i[5])>>>7,d.random_access_indicator=(64&i[5])>>>6,d.elementary_stream_priority_indicator=(32&i[5])>>>5,(16&i[5])>>>4){let e=300*this._getPcrBase(i)+((1&i[10])<<8|i[11]);this.last_pcr_=e}}if(2==o||5+e===188){t+=188,204===this.tsPacketSize&&(t+=16);continue}h=5+e}if(1==o||3==o)if(0===a||a===this.current_pmt_pid_||null!=this.pmt_&&this.pmt_.pid_stream_type[a]===Uh){let i=188-h;this.handleSectionSlice(e,t+h,i,{pid:a,payload_unit_start_indicator:r,continuity_conunter:n,random_access_indicator:d.random_access_indicator})}else if(null!=this.pmt_&&null!=this.pmt_.pid_stream_type[a]){let i=188-h,s=this.pmt_.pid_stream_type[a];a!==this.pmt_.common_pids.h264&&a!==this.pmt_.common_pids.h265&&a!==this.pmt_.common_pids.adts_aac&&a!==this.pmt_.common_pids.loas_aac&&a!==this.pmt_.common_pids.ac3&&a!==this.pmt_.common_pids.eac3&&a!==this.pmt_.common_pids.opus&&a!==this.pmt_.common_pids.mp3&&!0!==this.pmt_.pes_private_data_pids[a]&&!0!==this.pmt_.timed_id3_pids[a]&&!0!==this.pmt_.synchronous_klv_pids[a]&&!0!==this.pmt_.asynchronous_klv_pids[a]||this.handlePESSlice(e,t+h,i,{pid:a,stream_type:s,payload_unit_start_indicator:r,continuity_conunter:n,random_access_indicator:d.random_access_indicator})}t+=188,204===this.tsPacketSize&&(t+=16)}return this.dispatchAudioVideoMediaSegment(),t}handleSectionSlice(e,t,i,s){let r=new Uint8Array(e,t,i),a=this.section_slice_queues_[s.pid];if(s.payload_unit_start_indicator){let o=r[0];if(null!=a&&0!==a.total_length){let r=new Uint8Array(e,t+1,Math.min(i,o));a.slices.push(r),a.total_length+=r.byteLength,a.total_length===a.expected_length?this.emitSectionSlices(a,s):this.clearSlices(a,s)}for(let n=1+o;n=a.expected_length&&this.clearSlices(a,s),n+=l.byteLength}}else if(null!=a&&0!==a.total_length){let r=new Uint8Array(e,t,Math.min(i,a.expected_length-a.total_length));a.slices.push(r),a.total_length+=r.byteLength,a.total_length===a.expected_length?this.emitSectionSlices(a,s):a.total_length>=a.expected_length&&this.clearSlices(a,s)}}handlePESSlice(e,t,i,s){let r=new Uint8Array(e,t,i),a=r[0]<<16|r[1]<<8|r[2];r[3];let o=r[4]<<8|r[5];if(s.payload_unit_start_indicator){if(1!==a)return void this.player.debugWarn(this.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${a}`);let e=this.pes_slice_queues_[s.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?this.emitPESSlices(e,s):this.clearSlices(e,s)),this.pes_slice_queues_[s.pid]=new jh,this.pes_slice_queues_[s.pid].random_access_indicator=s.random_access_indicator}if(null==this.pes_slice_queues_[s.pid])return;let n=this.pes_slice_queues_[s.pid];n.slices.push(r),s.payload_unit_start_indicator&&(n.expected_length=0===o?0:o+6),n.total_length+=r.byteLength,n.expected_length>0&&n.expected_length===n.total_length?this.emitPESSlices(n,s):n.expected_length>0&&n.expected_length>>6,n=t[8];2!==o&&3!==o||(i=this._getTimestamp(t,9),a=3===o?this._getTimestamp(t,14):i);let l,d=9+n;if(0!==r){if(r<3+n)return void this.player.debugWarn(this.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");l=r-3-n}else l=t.byteLength-d;let h=t.subarray(d,d+l);switch(e.stream_type){case Dh:case xh:this.parseMP3Payload(h,i);break;case Rh:this.pmt_.common_pids.opus===e.pid?this.parseOpusPayload(h,i):this.pmt_.common_pids.ac3===e.pid?this.parseAC3Payload(h,i):this.pmt_.common_pids.eac3===e.pid?this.parseEAC3Payload(h,i):this.pmt_.asynchronous_klv_pids[e.pid]?this.parseAsynchronousKLVMetadataPayload(h,e.pid,s):this.pmt_.smpte2038_pids[e.pid]?this.parseSMPTE2038MetadataPayload(h,i,a,e.pid,s):this.parsePESPrivateDataPayload(h,i,a,e.pid,s);break;case Ph:this.parseADTSAACPayload(h,i);break;case Ih:this.parseLOASAACPayload(h,i);break;case Bh:this.parseAC3Payload(h,i);break;case Mh:this.parseEAC3Payload(h,i);break;case Fh:this.pmt_.timed_id3_pids[e.pid]?this.parseTimedID3MetadataPayload(h,i,a,e.pid,s):this.pmt_.synchronous_klv_pids[e.pid]&&this.parseSynchronousKLVMetadataPayload(h,i,a,e.pid,s);break;case Oh:this.parseH264Payload(h,i,a,e.random_access_indicator);break;case Nh:this.parseH265Payload(h,i,a,e.random_access_indicator)}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&e.stream_type===Rh){let i,a=6;i=0!==r?r:t.byteLength-a;let o=t.subarray(a,a+i);this.parsePESPrivateDataPayload(o,void 0,void 0,e.pid,s)}}else this.player.debugError(this.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${i}`)}parsePAT(e){let t=e[0];if(0!==t)return void Log.e(this.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let i=(15&e[1])<<8|e[2];e[3],e[4];let s=(62&e[5])>>>1,r=1&e[5],a=e[6];e[7];let o=null;if(1===r&&0===a)o={version_number:0,network_pid:0,program_pmt_pid:{}},o.version_number=s;else if(o=this.pat_,null==o)return;let n=i-5-4,l=-1,d=-1;for(let t=8;t<8+n;t+=4){let i=e[t]<<8|e[t+1],s=(31&e[t+2])<<8|e[t+3];0===i?o.network_pid=s:(o.program_pmt_pid[i]=s,-1===l&&(l=i),-1===d&&(d=s))}1===r&&0===a&&(null==this.pat_&&this.player.debugLog(this.TAG_NAME,`Parsed first PAT: ${JSON.stringify(o)}`),this.pat_=o,this.current_program_=l,this.current_pmt_pid_=d)}parsePMT(e){let t=e[0];if(2!==t)return void this.player.debugError(this.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let i,s=(15&e[1])<<8|e[2],r=e[3]<<8|e[4],a=(62&e[5])>>>1,o=1&e[5],n=e[6];if(e[7],1===o&&0===n)i=this._initPmt(),i.program_number=r,i.version_number=a,this.program_pmt_map_[r]=i;else if(i=this.program_pmt_map_[r],null==i)return;i.pcr_pid=(31&e[8])<<8|e[9];let l=(15&e[10])<<8|e[11],d=12+l,h=s-9-l-4;for(let t=d;t0){for(let s=t+5;s0)for(let s=t+5;s1&&(this.player.debugWarn(this.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${s}ms`),s=e)}}let r,a=new aa(e),o=null,n=s;for(;null!=(o=a.readNextAACFrame());){i=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},this.dispatchAudioInitSegment(e)):this.detectAudioMetadataChange(e)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(e)),r=n;let t=Math.floor(n);const s=new Uint8Array(o.data.length+2);s.set([175,1],0),s.set(o.data,2);let a={payload:s,length:s.byteLength,pts:t,dts:t,type:Ge};this.audio_track_.samples.push(a),this.audio_track_.length+=s.byteLength,n+=i}a.hasIncompleteData()&&(this.aac_last_incomplete_data_=a.getIncompleteData()),r&&(this.audio_last_sample_pts_=r)}parseLOASAACPayload(e,t){if(this.has_video_&&!this.video_init_segment_dispatched_)return;if(this.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+this.aac_last_incomplete_data_.byteLength);t.set(this.aac_last_incomplete_data_,0),t.set(e,this.aac_last_incomplete_data_.byteLength),e=t}let i,s;if(null!=t&&(s=t/this.timescale_),"aac"===this.audio_metadata_.codec){if(null==t&&null!=this.audio_last_sample_pts_)i=1024/this.audio_metadata_.sampling_frequency*1e3,s=this.audio_last_sample_pts_+i;else if(null==t)return void this.player.debugWarn(this.TAG_NAME,"AAC: Unknown pts");if(this.aac_last_incomplete_data_&&this.audio_last_sample_pts_){i=1024/this.audio_metadata_.sampling_frequency*1e3;let e=this.audio_last_sample_pts_+i;Math.abs(e-s)>1&&(this.player.debugWarn(this.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${s}ms`),s=e)}}let r,a=new oa(e),o=null,n=s;for(;null!=(o=a.readNextAACFrame(Ga(this.loas_previous_frame)?void 0:this.loas_previous_frame));){this.loas_previous_frame=o,i=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},this.dispatchAudioInitSegment(e)):this.detectAudioMetadataChange(e)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(e)),r=n;let t=Math.floor(n);const s=new Uint8Array(o.data.length+2);s.set([175,1],0),s.set(o.data,2);let a={payload:s,length:s.byteLength,pts:t,dts:t,type:Ge};this.audio_track_.samples.push(a),this.audio_track_.length+=s.byteLength,n+=i}a.hasIncompleteData()&&(this.aac_last_incomplete_data_=a.getIncompleteData()),r&&(this.audio_last_sample_pts_=r)}parseAC3Payload(e,t){}parseEAC3Payload(e,t){}parseOpusPayload(e,t){}parseMP3Payload(e,t){if(this.has_video_&&!this.video_init_segment_dispatched_)return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],r=[11025,12e3,8e3,0],a=e[1]>>>3&3,o=(6&e[1])>>1;e[2];let n=(12&e[2])>>>2,l=3!==(e[3]>>>6&3)?2:1,d=0,h=34;switch(a){case 0:d=r[n];break;case 2:d=s[n];break;case 3:d=i[n]}switch(o){case 1:h=34;break;case 2:h=33;break;case 3:h=32}const c={};c.object_type=h,c.sample_rate=d,c.channel_count=l,c.data=e;const u={codec:"mp3",data:c};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:"mp3",object_type:h,sample_rate:d,channel_count:l},this.dispatchAudioInitSegment(u)):this.detectAudioMetadataChange(u)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(u));let p={payload:e,length:e.byteLength,pts:t/this.timescale_,dts:t/this.timescale_,type:Ge};this.audio_track_.samples.push(p),this.audio_track_.length+=e.byteLength}detectAudioMetadataChange(e){if(e.codec!==this.audio_metadata_.codec)return this.player.debugLog(this.TAG_NAME,`Audio: Audio Codecs changed from ${this.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===this.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==this.audio_metadata_.audio_object_type)return this.player.debugLog(this.TAG_NAME,`AAC: AudioObjectType changed from ${this.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==this.audio_metadata_.sampling_freq_index)return this.player.debugLog(this.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${this.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==this.audio_metadata_.channel_config)return this.player.debugLog(this.TAG_NAME,`AAC: Channel configuration changed from ${this.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===this.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==this.audio_metadata_.sampling_frequency)return this.player.debugLog(this.TAG_NAME,`AC3: Sampling Frequency changed from ${this.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==this.audio_metadata_.bit_stream_identification)return this.player.debugLog(this.TAG_NAME,`AC3: Bit Stream Identification changed from ${this.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==this.audio_metadata_.bit_stream_mode)return this.player.debugLog(this.TAG_NAME,`AC3: BitStream Mode changed from ${this.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==this.audio_metadata_.channel_mode)return this.player.debugLog(this.TAG_NAME,`AC3: Channel Mode changed from ${this.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==this.audio_metadata_.low_frequency_effects_channel_on)return this.player.debugLog(this.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${this.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===this.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==this.audio_metadata_.sample_rate)return this.player.debugLog(this.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${this.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==this.audio_metadata_.channel_count)return this.player.debugLog(this.TAG_NAME,`Opus: Channel count changed from ${this.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===this.audio_metadata_.codec){const t=e.data;if(t.object_type!==this.audio_metadata_.object_type)return this.player.debugLog(this.TAG_NAME,`MP3: AudioObjectType changed from ${this.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==this.audio_metadata_.sample_rate)return this.player.debugLog(this.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${this.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==this.audio_metadata_.channel_count)return this.player.debugLog(this.TAG_NAME,`MP3: Channel count changed from ${this.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1}dispatchAudioInitSegment(e){let t={type:"audio"};t.id=this.audio_track_.id,t.timescale=1e3,t.duration=this.duration_;let i="";if("aac"===this.audio_metadata_.codec){let s="aac"===e.codec?e.data:null,r=new $h(s);t.audioSampleRate=r.sampling_rate,t.audioSampleRateIndex=r.sampling_index,t.channelCount=r.channel_count,t.codec=r.codec_mimetype,t.originalCodec=r.original_codec_mimetype,t.config=r.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale,i=Bt;const a=Jr({profile:this.player._opt.mseDecodeAudio?r.object_type:r.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});console.error("aacADTSHeader",`profile: ${r.object_type}, sampleRate: ${t.audioSampleRateIndex}, channel: ${t.channelCount}`),this._doDecodeByTs(a,Ge,0,!1,0)}else"ac-3"===this.audio_metadata_.codec||"ec-3"===this.audio_metadata_.codec||"opus"===this.audio_metadata_.codec||"mp3"===this.audio_metadata_.codec&&(t.audioSampleRate=this.audio_metadata_.sample_rate,t.channelCount=this.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0,i=Ft);0==this.audio_init_segment_dispatched_&&this.player.debugLog(this.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),this.audio_init_segment_dispatched_=!0,this.video_metadata_changed_=!1;let s=this.media_info_;s.hasAudio=!0,s.audioCodec=t.originalCodec,s.audioSampleRate=t.audioSampleRate,s.audioChannelCount=t.channelCount,s.hasVideo&&s.videoCodec?s.mimeType=`video/mp2t; codecs="${s.videoCodec},${s.audioCodec}"`:s.mimeType=`video/mp2t; codecs="${s.audioCodec}"`,i&&this.player.audio.updateAudioInfo({encTypeCode:i,channels:t.channelCount,sampleRate:t.audioSampleRate})}dispatchPESPrivateDataDescriptor(e,t,i){}parsePESPrivateDataPayload(e,t,i,s,r){let a=new Vh;if(a.pid=s,a.stream_id=r,a.len=e.byteLength,a.data=e,null!=t){let e=Math.floor(t/this.timescale_);a.pts=e}else a.nearest_pts=this.getNearestTimestampMilliseconds();if(null!=i){let e=Math.floor(i/this.timescale_);a.dts=e}}parseTimedID3MetadataPayload(e,t,i,s,r){this.player.debugLog(this.TAG_NAME,`Timed ID3 Metadata: pid=${s}, pts=${t}, dts=${i}, stream_id=${r}`)}parseSynchronousKLVMetadataPayload(e,t,i,s,r){this.player.debugLog(this.TAG_NAME,`Synchronous KLV Metadata: pid=${s}, pts=${t}, dts=${i}, stream_id=${r}`)}parseAsynchronousKLVMetadataPayload(e,t,i){this.player.debugLog(this.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${i}`)}parseSMPTE2038MetadataPayload(e,t,i,s,r){this.player.debugLog(this.TAG_NAME,`SMPTE 2038 Metadata: pid=${s}, pts=${t}, dts=${i}, stream_id=${r}`)}getNearestTimestampMilliseconds(){if(null!=this.audio_last_sample_pts_)return Math.floor(this.audio_last_sample_pts_);if(null!=this.last_pcr_){return Math.floor(this.last_pcr_/300/this.timescale_)}}_preDoDecode(){const e=this.video_track_,t=this.audio_track_;let i=e.samples;t.samples.length>0&&(i=e.samples.concat(t.samples),i=i.sort(((e,t)=>e.dts-t.dts))),i.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===Ve?this._doDecodeVideo({...e,payload:t}):e.type===Ge&&this._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?dl(t,e.isIFrame):Kn(t,e.isIFrame),this.player.updateStats({dts:e.dts,vbps:i.byteLength}),e.isIFrame&&this.calcIframeIntervalTimestamp(e.dts);let s=this.cryptoPayload(i,e.isIFrame);this._doDecodeByTs(s,Ve,e.dts,e.isIFrame,e.cts)}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this.player.updateStats({abps:t.byteLength});let i=this.cryptoPayloadAudio(t);this._doDecodeByTs(i,Ge,e.dts,!1,0)}getInputByteLength(){return this._remainingPacketData&&this._remainingPacketData.byteLength||0}_getPcrBase(e){let t=33554432*e[6]+131072*e[7]+512*e[8]+2*e[9]+(128&e[10])/128+this.timestamp_offset_;return t+4294967296>>3&3,r=(6&t[1])>>1,a=(240&t[2])>>>4,o=(12&t[2])>>>2,n=3!==(t[3]>>>6&3)?2:1,l=0,d=0;switch(s){case 0:l=Zh[o];break;case 2:l=Xh[o];break;case 3:l=Qh[o]}switch(r){case 1:a{this._clearAudioSourceBufferCheckTimeout(),this.player.emit(_t.webcodecsAudioInitTimeout)}),1e3)),void mo(e);if(this.player.isPlayer())this.player.updateStats({dfps:!0}),this.player._times.videoStart||(this.player._times.videoStart=fa(),this.player.handlePlayToRenderTimes()),this.player.video.render({videoFrame:e,ts:e.timestamp}),this.player.handleRender();else if(this.player.isPlayback())this.player.updateStats({dfps:!0}),Lo(this.player.playbackPause)?(this.player.playback.isUseLocalCalculateTime&&this.player.playback.increaseLocalTimestamp(),this.player.playback.isUseFpsRender?this.player.video.pushData({videoFrame:e,ts:e.timestamp}):this.player.video.render$2({videoFrame:e,ts:e.timestamp})):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player.playback.isUseFpsRender&&this.player.video.pushData({videoFrame:e,ts:e.timestamp});else if(this.player.isPlayVod())if(this.player.playVod.isSeeking()){const t=this.player.playVod.seekingTimestamp;Math.abs(t-e.timestamp)<500&&(this.player.playVod.removeSeekingTimestamp(),this.player.updateStats({dfps:!0}),this.player.video.render$2({videoFrame:e,ts:e.timestamp}))}else this.player.updateStats({dfps:!0}),this.player.video.render$2({videoFrame:e,ts:e.timestamp})}}handleError(e){this.player.debugError(this.TAG_NAME,"VideoDecoder handleError:",e.code,e);const t=e.toString();-1!==t.indexOf(ys)?this.player.emitError(_t.webcodecsUnsupportedConfigurationError,t):-1!==t.indexOf(As)||-1!==t.indexOf(bs)||-1!==t.indexOf(vs)?this.player.emitError(_t.webcodecsDecodeError,t):-1!==t.indexOf(_s)&&this.player.emitError(_t.webcodecsH265NotSupport,t)}handleDecodeAudio(e){this.player&&(this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"decodeVideo() player is destroyed"):this.player.isPlayer()?this.player.audio.play(e,e.timestamp):this.player.isPlayback()||this.player.isPlayVod()&&(this.player.playVod.isSeeking()||this.player.audio.play(e,e.timestamp)))}handleErrorAudio(e){this.player.debugError(this.TAG_NAME,"AudioDecoder handleError:",e.code,e)}decodeVideo(e,t,i,s){if(this.player)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeVideo() player is destroyed");else if(this.hasInit)if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){if(this.isDecodeStateClosed())return void this.player.debugWarn(this.TAG_NAME,"VideoDecoder isDecodeStateClosed true");if(i&&0===e[1]){const t=15&e[0];let i={};if(t===xt){i=Jn(e.slice(5))}else t===Rt&&(i=al(e));const s=this.player.video.videoInfo;s&&s.width&&s.height&&i&&i.codecWidth&&i.codecHeight&&(i.codecWidth!==s.width||i.codecHeight!==s.height)&&(this.player.debugWarn(this.TAG_NAME,`decodeVideo: video width or height is changed,\n old width is ${s.width}, old height is ${s.height},\n new width is ${i.codecWidth}, new height is ${i.codecHeight},\n and emit change event`),this.isWidthOrHeightChanged=!0,this.player.emitError(_t.wcsWidthOrHeightChange,`width ${s.width}->${s.height} height ${i.codecWidth}->${i.codecHeight}`))}if(this.isWidthOrHeightChanged)return void this.player.debugWarn(this.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(wo(e))return void this.player.debugLog(this.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength<12)return void this.player.debugWarn(this.TAG_NAME,`decodeVideo and payload is too small , payload length is ${e.byteLength}`);let s=!1,r=(new Date).getTime();this.prevTimestamp||(this.prevTimestamp=r,s=!0);const a=r-this.prevTimestamp;this.decodeDiffTimestamp=a,a>500&&!s&&this.player.isPlayer()&&this.player.debugWarn(this.TAG_NAME,"decodeVideo diff time is ",a);const o=e.slice(5),n=new EncodedVideoChunk({data:o,timestamp:t,type:i?vi:_i});this.player.emit(At.timeUpdate,t);try{this.decoder.decode(n)}catch(e){this.player.debugError(this.TAG_NAME,"VideoDecoder",e);const t=e.toString();(-1!==t.indexOf(fs)||-1!==t.indexOf(gs))&&this.player.emitError(_t.webcodecsDecodeError,t)}this.prevTimestamp=(new Date).getTime()}else this.player.debugLog(this.TAG_NAME,"VideoDecoder first frame is not iFrame");else if(i&&e[1]===Ds){const t=15&e[0];if(this.player.video.updateVideoInfo({encTypeCode:t}),t===Rt&&!Ua()){const e=ka();return this.player.debugWarn(this.TAG_NAME,"WebcodecsDecoder not support hevc decode",e.type,e.version),void this.player.emitError(_t.webcodecsH265NotSupport)}this.player._times.decodeStart||(this.player._times.decodeStart=fa());let i=null,s=null;const r=e.slice(5);if(t===xt?(s=Jn(r),i={codec:s.codec,description:r}):t===Rt&&(s=ol(r),i={codec:s.codec,description:r}),!i||i&&!i.codec||s&&0===s.codecWidth&&0===s.codecHeight)return this.player.debugWarn(this.TAG_NAME,"decodeVideo and webcodecs configure is",JSON.stringify(i)),void this.player.emitError(_t.webcodecsDecodeConfigureError,"configure or configure.code is null");i.codedHeight=s.codecHeight,i.codedWidth=s.codecWidth,this.isInitInfo||(this.player.debugLog(this.TAG_NAME,`updateVideoInfo: ${s.codecWidth},${s.codecHeight}`),this.player.video.updateVideoInfo({width:s.codecWidth,height:s.codecHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0),this.player.recorder&&this.player._opt.recordType===T&&this.player.recorder.initMetaData(e,t),this.player.video.bindMediaStream(),this.player.debugLog(this.TAG_NAME,`decoder.configure() and codec is ${i.codec}`);try{i.optimizeForLatency=!0,i.hardwareAcceleration="prefer-hardware",this.decoder.configure(i),this.hasInit=!0}catch(e){this.player.debugError(this.TAG_NAME,"configure error",e.code,e);const t=e.toString();-1!==t.indexOf(_s)?this.player.emitError(_t.webcodecsH265NotSupport,t):this.player.emitError(_t.webcodecsDecodeConfigureError,t)}}else this.player.debugWarn(this.TAG_NAME,`decodeVideo has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)}decodeAudio(e,t){if(this.player)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeAudio() player is destroyed");else if(this.hasAudioInit){if(qr(e))return void this.player.debugLog(this.TAG_NAME,"decodeAudio and has already initialized and payload is aac codec packet so drop this frame");if(this._clearAudioNoDataCheckTimeout(),this.isDecodeFirstIIframe){if(this.isAudioDecodeStateClosed())return void this.player.debugWarn(this.TAG_NAME,"AudioDecoder isDecodeStateClosed true");const i=this.isAAC?e.slice(2):e.slice(1),s=i.length/this.player.audio.audioInfo.sampleRate*1e3,r=new EncodedAudioChunk({type:"key",data:i,timestamp:t,duration:parseInt(s,10)});try{this.decoderAudio.decode(r)}catch(e){this.player.debugError(this.TAG_NAME,"AudioDecoder",e),e.toString()}}}else{const t=e[0]>>4,i=e[0]>>1&1,s=t===Ft,r=t===Bt,a=t===Mt;let o="";o=r?i?16:8:0===i?8:16;const n={codec:"",numberOfChannels:"",sampleRate:""};let l=null;if(r||s){let t=null;if(qr(e)){const i=e.slice(2);t=Zr(i),t&&(n.codec=t.originalCodec,n.numberOfChannels=t.channelCount,n.sampleRate=t.sampleRate),l=i,this.isAAC=r}else s&&(t=sc(e),t&&(n.codec=Rr,n.numberOfChannels=t.channelCount,n.sampleRate=t.samplingRate))}else n.codec=a?xr:Dr,n.numberOfChannels=1,n.sampleRate=8e3;if(n.codec&&n.numberOfChannels&&n.sampleRate){this.isAudioInitInfo||(this.player.audio.updateAudioInfo({encTypeCode:t,channels:n.numberOfChannels,sampleRate:n.sampleRate,depth:o}),this.isAudioInitInfo=!0),this.player.recorder&&this.player._opt.recordType===T&&l&&this.player.recorder.initAudioAacExtraData(l),this.player.debugLog(this.TAG_NAME,`decoderAudio.configure() and codec is ${n.codec}`);try{this.decoderAudio.configure(n),this._clearAudioSourceBufferCheckTimeout(),this.hasAudioInit=!0,null===this.audioSourceNoDataCheckTimeout&&(this.audioSourceNoDataCheckTimeout=setTimeout((()=>{this._clearAudioNoDataCheckTimeout(),this.player.emit(_t.webcodecsAudioNoDataTimeout)}),1e3))}catch(e){this.player.debugError(this.TAG_NAME,"configure audio error",e.code,e),e.toString()}}}}updateMediaSourceDuration(e){this.mediaSource&&(this.mediaSource.duration=e)}_clearAudioSourceBufferCheckTimeout(){this.audioSourceBufferCheckTimeout&&(clearTimeout(this.audioSourceBufferCheckTimeout),this.audioSourceBufferCheckTimeout=null)}_clearAudioNoDataCheckTimeout(){this.audioSourceNoDataCheckTimeout&&(clearTimeout(this.audioSourceNoDataCheckTimeout),this.audioSourceNoDataCheckTimeout=null)}getDecodeDiffTimes(){return this.decodeDiffTimestamp}isDecodeStateClosed(){return"closed"===this.decoder.state}isDecodeStateConfigured(){return"configured"===this.decoder.state}isDecodeStateUnConfigured(){return"unconfigured"===this.decoder.state}isAudioDecodeStateClosed(){return"closed"===this.decoderAudio.state}isAudioDecodeStateConfigured(){return"configured"===this.decoderAudio.state}isAudioDecodeStateUnConfigured(){return"unconfigured"===this.decoderAudio.state}}const ac={play:"播放",pause:"暂停",audio:"",mute:"",screenshot:"截图",loading:"",fullscreen:"全屏",fullscreenExit:"退出全屏",record:"录制",recordStop:"停止录制",narrow:"缩小",expand:"放大",ptz:"操作盘",ptzActive:"操作盘激活",zoom:"电子放大",zoomStop:"关闭电子放大",close:"关闭",performance:"性能面板",performanceActive:"性能面板激活",face:"人脸识别",faceActive:"人脸识别激活",object:"物品识别",objectActive:"物品识别激活",occlusion:"遮挡物检查",occlusionActive:"遮挡物检查激活",logSave:"保存日志"};var oc=Object.keys(ac).reduce(((e,t)=>(e[t]=`\n \n ${ac[t]?`${ac[t]}`:""}\n`,e)),{});function nc(e,t){let i=!1;return e.forEach((e=>{i||e.startTimestamp<=t&&e.endTimestamp>t&&(i=!0)})),i}function lc(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;const s=e.length,r=t.length,a=Math.max(s,r),o=2e3,n=Math.ceil(a/o);let l=0,d=0;function h(){let r="",a="";for(let i=0;i\n ${i.title}\n \n `);const o=t[d];o&&(a+=`\n

      \n `),d+=1}r&&i.$playbackTimeListOne.insertAdjacentHTML("beforeend",r),a&&i.$playbackTimeListSecond.insertAdjacentHTML("beforeend",a),l+=1,l0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<1440;s++){const r=s%60==0;let a=!1;i&&(a=nc(e,Xa(i,s))),t.push({title:Ya(s),timestamp:s,dataType:"min",hasRecord:a,isStart:r})}return t}(e);lc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00";t<10&&(i="0"+i),e.push({title:i,hour:t,min:0,second:0})}return e}(),t)}function hc(e,t){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<1440;s++){let r=60*s,a=r%1800==0,o=!1;i&&(o=nc(e,Za(i,r))),t.push({title:Qa(r),timestamp:r,dataType:"second",hasRecord:o,isStart:a});let n=60*s+30;a=n%1800==0,i&&(o=nc(e,Za(i,n))),t.push({title:Qa(n),timestamp:n,dataType:"second",hasRecord:o,isStart:a})}return t}(e);lc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00",s=t+":30";t<10&&(i="0"+i,s="0"+s),e.push({title:i,hour:t,min:0,second:0}),e.push({title:s,hour:t,min:30,second:0})}return e}(),t)}function cc(e,t){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<144;s++)for(let r=0;r<60;r++){let a=10*r+600*s,o=a%600==0,n=!1;i&&(n=nc(e,Za(i,a))),t.push({title:Qa(a),timestamp:a,dataType:"second",isStart:o,hasRecord:n})}return t}(e);lc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00";t<10&&(i="0"+i),e.push({title:i,hour:t,min:0,second:0});for(let s=1;s<6;s++){let r=s+"0";e.push({title:i.replace(":00",":"+r),hour:t,min:10*s,second:0})}}return e}(),t)}function uc(e,t){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<288;s++)for(let r=0;r<60;r++){let a=5*r+300*s,o=a%300==0,n=!1;i&&(n=nc(e,Za(i,a))),t.push({title:Qa(a),timestamp:a,dataType:"second",isStart:o,hasRecord:n})}return t}(e);lc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00";t<10&&(i="0"+i),e.push({title:i,hour:t,min:0,second:0}),e.push({title:i.replace(":00",":05"),hour:t,min:5,second:0});for(let s=1;s<6;s++){let r=s+"0",a=s+"5";e.push({title:i.replace(":00",":"+r),hour:t,min:10*s,second:0}),e.push({title:i.replace(":00",":"+a),hour:t,min:10*s+5,second:0})}}return e}(),t)}function pc(e){const t=Math.floor(e/3600),i=Math.floor((e-3600*t)/60),s=Math.floor(e-3600*t-60*i);return(t>0?[t,i,s]:[i,s]).map((e=>e<10?`0${e}`:String(e))).join(":")}function mc(e,t,i){const s=e.$playbackProgress,{left:r}=s.getBoundingClientRect(),a=ga((Sa()?i.touches[0].clientX:i.pageX)-r,0,s.clientWidth),o=parseInt(a/s.clientWidth*t,10);return{second:o,time:pc(o),width:a,percentage:ga(a/s.clientWidth,0,1)}}function fc(e,t){return ga(e/t,0,1)}function gc(e,t){return e.classList.add(t)}function yc(e,t){return e.classList.remove(t)}function Ac(e,t){return e.classList.contains(t)}function bc(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function vc(e,t,i){return e&&e.style&&Wa(t)&&(e.style[t]=i),e}function _c(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function Sc(e){let t=!1;return e&&e.parentNode&&(e.parentNode.removeChild(e),t=!0),t}var Ec=(e,t)=>{const{events:{proxy:i}}=e;let s=null,r=null,a=null,o=null;if(e._opt.listenWindowResizeAuoResize){s=document.createElement("object"),r=`jb-pro-object-${_o()}`,s.setAttribute("aria-hidden","true"),s.setAttribute("tabindex",-1),s.setAttribute("id",r),s.type="text/html",s.data="about:blank",ya(s,{display:"block",position:"absolute",top:"0",left:"0",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:"-1"}),a=e.width,o=e.height;const t=Ia((()=>{e.width===a&&e.height===o||(a=e.width,o=e.height,e.emit(At.resize))}),500);i(s,"load",(()=>{i(s.contentDocument.defaultView,"resize",(()=>{t()}))})),e.$container.appendChild(s)}e.on(At.destroy,(()=>{if(s)try{if(!Sc(s)){const t=e.$container.querySelector(`#${r}`);t&&e.$container&&e.$container.removeChild(t)}}catch(e){}d&&(clearInterval(d),d=null),h=null,c=null,u=0,s=null,r=null,a=null,o=null})),e.on(At.volumechange,(()=>{!function(e){if(0===e)ya(t.$volumeOn,"display","none"),ya(t.$volumeOff,"display","flex"),ya(t.$volumeHandle,"top","48px");else if(t.$volumeHandle&&t.$volumePanel){const i=Aa(t.$volumePanel,"height")||60,s=Aa(t.$volumeHandle,"height"),r=i-(i-s)*e-s;ya(t.$volumeHandle,"top",`${r}px`),ya(t.$volumeOn,"display","flex"),ya(t.$volumeOff,"display","none")}t.$volumePanelText&&(t.$volumePanelText.innerHTML=parseInt(100*e))}(e.volume)})),e.on(At.loading,(i=>{t.isInitPlayer=!1,ya(t.$loading,"display",i?"flex":"none"),(Lo(e._opt.backgroundLoadingShow)&&ko(i)||Lo(i))&&ya(t.$poster,"display","none"),i&&(ya(t.$playBig,"display","none"),ya(t.$tipsMessage,"display","none"),t.extendBtnList.forEach((e=>{e.createdMoment===Br&&(e.$iconWrap&&ya(e.$iconWrap,"display","flex"),e.$activeIconWrap&&ya(e.$activeIconWrap,"display","none"))}))),i||e._opt.extendDomConfig.showAfterLoading&&t.$extendDom&&ya(t.$extendDom,"display","block"),i||e.getRenderType()===J&&Lo(e._opt.useMSE)&&n()})),e.on(At.removeLoadingBgImage,(()=>{n()}));const n=()=>{t.$loadingBgImage&&t.$loadingBg&&t.$loadingBgImage.src&&(e.debugLog("Control","remove loading bg image"),t.$loadingBgImage.width=0,t.$loadingBgImage.height=0,t.$loadingBgImage.src="",ya(t.$loadingBg,"display","none"))},l=t=>{oo(t)===e.$container&&(e.fullscreen,m(),e._opt.androidMobileFullscreenRotate&&Sa()&&(e.fullscreen?(e.$container.classList.add("jb-pro-fullscreen-android-rotate"),e.setRotate(270)):(e.$container.classList.remove("jb-pro-fullscreen-android-rotate"),e.setRotate(0)),p()))};let d=null,h=null,c=null,u=0;const p=()=>{h=e.rect,h.width=parseInt(h.width,10),h.height=parseInt(h.height,10),u=0,d=setInterval((()=>{const t=Vr.isFullscreen;c=e.rect,c.width=parseInt(c.width,10),c.height=parseInt(c.height,10);const i=screen.width,s=screen.height,r=c.width===h.width&&c.height===h.height,a=!t||i-c.width<10&&s-c.height<10;if(r&&a||u>=5)return d&&(clearInterval(d),d=null),void g((()=>{A()}));h=c,u++}),1e3)},m=i=>{if(Lo(e.isPlaying()))return;let s=Va(i)?i:e.fullscreen;ya(t.$fullscreenExit,"display",s?"flex":"none"),ya(t.$fullscreen,"display",s?"none":"flex")},f=()=>e._opt.playType===S&&e._opt.playbackConfig.showControl,g=i=>{Sa()&&t.$controls&&(e._opt.useWebFullScreen||e._opt.androidMobileFullscreenRotate)&&setTimeout((()=>{if(e.fullscreen){const i=e.getControlHeight();let s=e.height/2-e.width+i/2,r=e.height/2-i/2;if(t.$controls.style.transform=`translateX(${-s}px) translateY(-${r}px) rotate(-90deg)`,t.$zoomControls){const i=156,s=30,r=e.width/2+i/2-s/2;t.$zoomControls.style.transform=`translateX(${-r}px) translateY(${e.height/2}px) rotate(-90deg)`}if(t.$recording){const i=101,s=20,r=e.width/2+i/2-s/2;t.$recording.style.transform=`translateX(${-r}px) translateY(${e.height/2}px) rotate(-90deg)`}t.$ptzControl&&(t.$ptzControl.style.transform="rotate(-90deg)")}else t.$controls.style.transform="translateX(0) translateY(0) rotate(0)",t.$zoomControls&&(t.$zoomControls.style.transform="translateX(-50%) translateY(0) rotate(0)"),t.$recording&&(t.$recording.style.transform="translateX(-50%) translateY(0) rotate(0)"),t.$ptzControl&&(t.$ptzControl.style.transform="rotate(0)");i&&i()}),10)};try{Vr.on("change",l),e.events.destroys.push((()=>{Vr.off("change",l)}))}catch(e){}e.on(At.webFullscreen,(e=>{Sa()&&(m(e),g((()=>{A()})))})),e.on(At.recording,(()=>{e.playing&&(ya(t.$record,"display",e.recording?"none":"flex"),ya(t.$recordStop,"display",e.recording?"flex":"none"),(e._opt.hasControl||e._opt.isShowRecordingUI)&&(ya(t.$recording,"display",e.recording?"flex":"none"),Lo(e.recording)&&t.$recordingTime&&(t.$recordingTime.innerHTML=Ka(0))))})),e.on(At.recordingTimestamp,(e=>{t.$recordingTime&&(t.$recordingTime.innerHTML=Ka(e))})),e.on(At.zooming,(()=>{e.playing&&(ya(t.$zoom,"display",e.zooming?"none":"flex"),ya(t.$zoomStop,"display",e.zooming?"flex":"none"),(e._opt.hasControl||e._opt.isShowZoomingUI)&&ya(t.$zoomControls,"display",e.zooming?"flex":"none"))})),e.on(At.playing,(e=>{y(e)}));const y=i=>{i?(ya(t.$play,"display","none"),ya(t.$playBig,"display","none")):(e.isPlayFailedAndPaused&&Lo(e._opt.playFailedAndPausedShowPlayBtn)?(ya(t.$play,"display","none"),ya(t.$playBig,"display","none")):(ya(t.$play,"display","flex"),ya(t.$playBig,"display","block")),e.isPlayVod()&&e._opt.playVodEndedAndShowPlayBtn&&e.playVod.isEnded()&&(ya(t.$play,"display","flex"),ya(t.$playBig,"display","block"))),ya(t.$pause,"display",i?"flex":"none"),ya(t.$screenshot,"display",i?"flex":"none"),ya(t.$record,"display",i?"flex":"none"),ya(t.$qualityMenu,"display",i?"flex":"none"),ya(t.$volume,"display",i?"flex":"none"),ya(t.$ptz,"display",i?"flex":"none"),ya(t.$zoom,"display",i?"flex":"none"),ya(t.$scaleMenu,"display",i?"flex":"none"),ya(t.$faceDetect,"display",i?"flex":"none"),ya(t.$objectDetect,"display",i?"flex":"none"),ya(t.$occlusionDetect,"display",i?"flex":"none"),ya(t.$controlHtml,"display",i?"flex":"none"),(e.isPlayback()||e.isPlayVod())&&ya(t.$speedMenu,"display",i?"flex":"none"),m(),t.extendBtnList.forEach((e=>{e.createdMoment===Mr&&(e.$iconWrap&&ya(e.$iconWrap,"display",i?"flex":"none"),e.$activeIconWrap&&ya(e.$activeIconWrap,"display","none"))})),e._opt.showPerformance?ya(t.$performanceActive,"display",i?"flex":"none"):(ya(t.$performance,"display",i?"flex":"none"),ya(t.$performanceActive,"display","none")),ya(t.$poster,"display","none"),ya(t.$ptzActive,"display","none"),ya(t.$recordStop,"display","none"),ya(t.$zoomStop,"display","none"),ya(t.$faceDetectActive,"display","none"),ya(t.$objectDetectActive,"display","none"),i||(t.$speed&&(t.$speed.innerHTML=function(e){if(null==e||""===e)return"0 KB/s";let t=parseFloat(e);return t=t.toFixed(2),t+"KB/s"}("")),ya(t.$zoomControls,"display","none"),ya(t.$recording,"display","none"),t.$ptzControl&&t.$ptzControl.classList.remove("jb-pro-ptz-controls-show")),A(),i&&b()};e.isPlayback()&&e.on(At.playbackPause,(e=>{y(!e)})),e.on(At.kBps,(i=>{const s=function(e){if(null==e||""===e||0===parseFloat(e)||"NaN"===e)return"0 KB/s";const t=["KB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"];let i=0;const s=parseFloat(e/8);i=Math.floor(Math.log(s)/Math.log(1024));let r=s/Math.pow(1024,i);return r=r.toFixed(2),r+(t[i]||t[0])}(i);t.kbpsShow=s,e._opt.showBandwidth&&(t.$speed&&(t.$speed.innerHTML=s),A())}));const A=()=>{if(f()&&e._opt.playbackConfig.controlType===Z.normal){let i=t.controlsInnerRect.width-t.controlsLeftRect.width-t.controlsRightRect.width-t.controlsPlaybackBtnsRect.width;Sa()&&e.webFullscreen&&(i=t.controlsInnerRect.height-t.controlsLeftRect.height-t.controlsRightRect.height-t.controlsPlaybackBtnsRect.height),t.$playbackTimeInner.style.width=i+"px"}},b=()=>{if(!f()||e._opt.playbackConfig.controlType!==Z.normal)return;const i=t.$playbackCurrentTime.style.left;let s=parseInt(i,10);const r=t.controlsPlaybackTimeInner.width;s=s-r/2>0?parseInt(s-r/2,10):0,t.$playbackTimeInner.scrollLeft=s};if(f()){const i=()=>{if(f()){let i=0;const s=e.playback&&e.playback.playingTimestamp;if(s){const r=new Date(s),a=r.getHours(),o=r.getMinutes(),n=r.getSeconds();e.playback.is60Min?i=60*a+o:e.playback.is30Min?i=2*(60*a+o)+parseInt(n/30,10):e.playback.is10Min?i=6*(60*a+o)+parseInt(n/10,10):e.playback.is5Min?i=12*(60*a+o)+parseInt(n/5,10):e.playback.is1Min&&(i=60*(60*a+o)+parseInt(n,10)),t.$playbackCurrentTime.style.left=i+"px"}}},s=e=>{t.$playbackNarrow.classList.remove("disabled"),t.$playbackExpand.classList.remove("disabled"),e===Bi&&t.$playbackNarrow.classList.add("disabled"),e===Ui&&t.$playbackExpand.classList.add("disabled")};e.on(At.playbackTime,(s=>{if(e._opt.playbackConfig.controlType===Z.normal)t.$playbackCurrentTimeText&&(t.$playbackCurrentTimeText.innerText=Da(s,"{h}:{i}:{s}")),i();else if(e._opt.playbackConfig.controlType===Z.simple){const i=fc(s,e.playback.totalDuration);t.$playbackProgressPlayed.style.width=100*i+"%",t.$playbackProgressIndicator.style.left=`calc(${100*i}% - 7px)`,t.$playbackProgressTime.innerText=`${pc(s)} / ${pc(e.playback.totalDuration)}`}})),e.on(At.playbackPrecision,((r,a)=>{f()&&e._opt.playbackConfig.controlType===Z.normal&&(t.$playbackTimeScroll.classList.remove(Oi.oneHour,Oi.halfHour,Oi.fiveMin,Oi.tenMin),t.$playbackTimeScroll.classList.add(Oi[r]),t.rafId&&(window.cancelAnimationFrame(t.rafId),t.rafId=null),t.changePercisitionInterval&&(clearTimeout(t.changePercisitionInterval),t.changePercisitionInterval=null),t.$playbackTimeListOne.innerHTML="",t.$playbackTimeListSecond.innerHTML="",t.changePercisitionInterval=setTimeout((()=>{switch(t.$playbackTimeListOne.innerHTML="",t.$playbackTimeListSecond.innerHTML="",r){case Bi:dc(a,t);break;case Mi:hc(a,t);break;case Fi:cc(a,t);break;case Ui:uc(a,t)}i(),e._opt.playbackConfig.showPrecisionBtn&&s(r),b()}),16))})),e.on(At.resize,(()=>{g((()=>{A()}))})),e.on(At.playbackTimeScroll,(()=>{b()})),A()}if(e.isPlayVod()&&(e.on(At.playVodPause,(e=>{y(!e)})),e.on(At.playVodTime,(i=>{const s=fc(i,e.playVod.totalDuration);t.$playbackProgressPlayed.style.width=100*s+"%",t.$playbackProgressIndicator.style.left=`calc(${100*s}% - 7px)`,t.$playbackProgressTime.innerText=`${pc(i)} / ${pc(e.playVod.totalDuration)}`})),e.on(At.playVodTimeCache,(e=>{t.$playbackProgressCache.style.width=100*e+"%"})),e.on(At.playVodWaiting,(()=>{ya(t.$loading,"display","flex")})),e.on(At.playVodCanplay,(()=>{ya(t.$loading,"display","none")})),e.on(At.playVodSeek,(()=>{ya(t.$loading,"display","flex")})),e.on(At.playVodSeekEnd,(()=>{ya(t.$loading,"display","none")})),e.on(At.playVodEnded,(()=>{t.$playbackProgressPlayed.style.width="100%",t.$playbackProgressIndicator.style.left="calc(100% - 7px)",t.$playbackProgressTime.innerText=`${pc(e.playVod.totalDuration)} / ${pc(e.playVod.totalDuration)}`}))),e._opt.operateBtns.quality&&e._opt.qualityConfig.length>0){e.on(At.streamQualityChange,(e=>{i(e)}));const i=e=>{t.$qualityText.innerText=e,t.$qualityMenuItems.forEach((t=>{const i=t.dataset.quality;t.classList.remove("jb-pro-quality-menu-item-active"),i===e&&t.classList.add("jb-pro-quality-menu-item-active")}))};(()=>{const i=e._opt.qualityConfig||[];let s="";i.forEach((e=>{s+=`\n
      ${e}
      \n `})),s&&(t.$qualityMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$qualityMenuItems",{value:e.$container.querySelectorAll(".jb-pro-quality-menu-item")}))})(),e.streamQuality&&i(e.streamQuality)}if(e._opt.operateBtns.scale&&e._opt.scaleConfig.length>0){e.on(At.viewResizeChange,(e=>{i(e)}));const i=i=>{const s=e._opt.scaleConfig[i];t.$scaleText.innerText=s,t.$scaleMenuItems.forEach((e=>{const t=e.dataset.scale;e.classList.remove("jb-pro-scale-menu-item-active"),Ra(t)===Ra(i)&&e.classList.add("jb-pro-scale-menu-item-active")}))};(()=>{const i=e._opt.scaleConfig||[];let s="";i.forEach(((e,t)=>{s+=`\n
      ${e}
      \n `})),s&&(t.$scaleMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$scaleMenuItems",{value:e.$container.querySelectorAll(".jb-pro-scale-menu-item")}))})(),i(e.scaleType)}if(e.isPlayback()&&e._opt.playbackConfig.showRateBtn&&e._opt.playbackConfig.rateConfig.length>0){e.on(At.playbackRateChange,(e=>{i(e)}));const i=i=>{const s=e._opt.playbackConfig.rateConfig.find((e=>Ra(e.value)===Ra(i)));s&&(t.$speedText.innerText=s.label,t.$speedMenuItems.forEach((e=>{const t=e.dataset.speed;e.classList.remove("jb-pro-speed-menu-item-active"),Ra(t)===Ra(i)&&e.classList.add("jb-pro-speed-menu-item-active")})))};(()=>{const i=e._opt.playbackConfig.rateConfig;let s="";i.forEach(((e,t)=>{s+=`\n
      ${e.label}
      \n `})),s&&(t.$speedMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$speedMenuItems",{value:e.$container.querySelectorAll(".jb-pro-speed-menu-item")}))})();const s=e.playback?e.playback.playbackRate:1;i(s)}if(e.isPlayVod()&&e._opt.playVodConfig.showRateBtn&&e._opt.playVodConfig.rateConfig.length>0){e.on(At.playVodRateChange,(e=>{i(e)}));const i=i=>{const s=e._opt.playVodConfig.rateConfig.find((e=>Ra(e.value)===Ra(i)));s&&(t.$speedText.innerText=s.label,t.$speedMenuItems.forEach((e=>{const t=e.dataset.speed;e.classList.remove("jb-pro-speed-menu-item-active"),Ra(t)===Ra(i)&&e.classList.add("jb-pro-speed-menu-item-active")})))};(()=>{const i=e._opt.playVodConfig.rateConfig;let s="";i.forEach(((e,t)=>{s+=`\n
      ${e.label}
      \n `})),s&&(t.$speedMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$speedMenuItems",{value:e.$container.querySelectorAll(".jb-pro-speed-menu-item")}))})();const s=e.playVod?e.playVod.playbackRate:1;i(s)}e.on(At.stats,(function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e._opt.showPerformance){ya(t.$performancePanel,"display","block"),t.$performancePanel.innerHTML="";const s=_a,r=xo(),a=e.getCpuLevel(),o=Wa(a)&&-1!==a?`${rr[a]}`:"",n=e.video&&e.video.videoInfo||{},l=e.audio&&e.audio.audioInfo||{},d=e._times||{},h=e.getRenderType(),c=e.getCanvasRenderType(),u=e.getDecodeType(),p=e.getDemuxType(),m=e.getStreamType(),f=e.getAudioEngineType();let g=e.getRecordingDuration(),y=e.getRecordingByteLength();const A=e.isAudioPlaybackRateSpeed(),b=e.videoIframeIntervalTs;g=Ka(g),y=Ba(y);const v=e.isPlayback()?"录播":"直播";let _=i.isDropping;const S=e._opt.useMSE&&e._opt.mseDecodeAudio,E=e.control?e.control.kbpsShow:"0 KB/s",T=e.getVideoPlaybackQuality(),w=e._serverInfo||"",k=`\n
      \n 播放器版本 ${s}\n
      \n ${w?`\n
      \n 服务器信息 ${w}\n
      \n `:""}\n ${e._opt.isMulti?`\n
      \n UUid ${e._opt.debugUuid}\n
      \n `:""}\n ${e.isInMulti()?`\n
      \n 窗口下标 ${e._opt.multiIndex}\n
      \n `:""}\n ${r?`\n
      \n 内存大小限制 ${Ba(r.jsHeapSizeLimit)}\n
      \n
      \n 可使用的内存 ${Ba(r.totalJSHeapSize)}\n
      \n
      \n 已使用的内存 ${Ba(r.usedJSHeapSize)}\n
      \n `:""}\n ${o?`\n
      \n CPU压力情况 ${o}\n
      \n `:""}\n\n ${r&&r.usedJSHeapSize>r.totalJSHeapSize?'\n
      \n 可能内存泄漏 是}\n
      \n ':""}\n\n
      \n 播放模式 ${v}\n
      \n ${e.isPlayback()?`\n
      \n 播放倍率 ${e.playback.rate}倍\n
      \n
      \n 播放模式 ${e.playback.isUseFpsRender?"固定FPS":"动态FPS"}\n
      \n ${e.playback.isUseFpsRender?`\n
      \n 固定FPS ${e.video.getStreamFps()}\n
      \n `:""}\n `:""}\n
      \n 解封装模式 ${U[p]}\n
      \n
      \n 解码模式 ${u}\n
      \n
      \n 渲染组件 ${h}\n
      \n ${h===J?`\n
      \n 渲染引擎 ${c}\n
      \n `:""}\n
      \n 网络请求组件 ${m}\n
      \n
      \n 视频格式 ${n.encType||"-"}\n
      \n
      \n 视频(宽x高) ${n.width||"-"}x${n.height||"-"}\n
      \n ${e.isPlayer()?`\n
      \n 视频GOP(ms) ${b||"-"}\n
      \n `:""}\n
      \n 音频格式 ${Ut[l.encType]||"-"}\n
      \n
      \n 音频引擎 ${f||"-"}\n
      \n
      \n 音频通道 ${l.channels||"-"}\n
      \n
      \n 音频采样率 ${l.sampleRate||"-"}\n
      \n ${e.isPlayer()?`\n
      \n 播放器初始化(ms) ${d.playTimestamp}\n
      \n
      \n 开始请求地址(ms) ${d.streamTimestamp}\n
      \n
      \n 请求响应(ms) ${d.streamResponseTimestamp}\n
      \n
      \n 解封装(ms) ${d.demuxTimestamp}\n
      \n
      \n 解码(ms) ${d.decodeTimestamp}\n
      \n
      \n 页面开始渲染(ms) ${d.videoTimestamp}\n
      \n
      \n 初始化到页面渲染(ms) ${d.allTimestamp}\n
      \n ${e.recording?`\n
      \n 视频录制时间 ${g}\n
      \n
      \n 视频录制大小 ${y}\n
      \n `:""}\n `:""}\n
      \n 音频码率(bit) ${i.abps}\n
      \n
      \n 视频码率(bit) ${i.vbps}\n
      \n
      \n 视频帧率(fps) ${i.fps}\n
      \n
      \n 视频峰值帧率(fps) ${i.maxFps}\n
      \n
      \n 解码帧率(fps) ${i.dfps}\n
      \n
      \n 音频缓冲帧 ${i.audioBuffer}\n
      \n
      \n 音频缓冲时长(ms) ${i.audioBufferDelayTs}\n
      \n ${e.isPlayer()?`\n
      \n 视频待解码帧 ${i.demuxBuffer}\n
      \n `:`\n
      \n 缓存时长(ms) ${i.playbackCacheDataDuration}\n
      \n
      \n 视频待渲染帧 ${i.playbackVideoBuffer}\n
      \n
      \n 视频待解码帧 ${i.demuxBuffer}\n
      \n
      \n 音频待解码帧 ${i.audioDemuxBuffer}\n
      \n `}\n
      \n 待解封装数据(byte) ${i.streamBuffer}\n
      \n ${e._opt.useMSE?`\n
      \n MSE缓冲时长(ms) ${i.mseDelay}\n
      \n
      \n MSE待解码帧 ${i.msePendingBuffer}\n
      \n
      \n MSE缓存时长(s) ${i.mseStore}\n
      \n
      \n MSE解码时间(ms) ${i.mseTs}\n
      \n
      \n MSE播放模式 ${i.mseDecodePlaybackRate>1?"加速":"正常"}\n
      \n `:""}\n ${e._opt.useWCS?`\n
      \n WCS解码间隔(ms) ${i.wcsDecodeDiffTimes}\n
      \n `:""}\n ${e.isOldHls()?`
      \n HLS缓冲时长(ms) ${i.hlsDelay}\n
      \n `:""}\n ${e.isUseHls265()?`
      \n HLS缓冲时长(ms) ${i.hlsDelay}\n
      \n
      \n HLS待解码帧 ${i.hlsDemuxLength}\n
      \n
      \n HLS待解码视频帧 ${i.hlsDemuxVideoLength}\n
      \n
      \n HLS待解码音频帧 ${i.hlsDemuxAudioLength}\n
      \n `:""}\n ${e.isPlayer()&&T?`\n
      \n Video已渲染帧 ${T.renderedVideoFrames}\n
      \n
      \n Video已丢弃帧 ${T.droppedVideoFrames}\n
      \n `:""}\n ${e.isPlayer()?`\n
      \n 网络延迟(ms) ${i.netBuf}\n
      \n
      \n 缓冲时长(ms) ${i.buf}\n
      \n
      \n 最新缓冲时长(ms) ${i.pushLatestDelay}\n
      \n `:""}\n ${e._opt.useMSE||e.isWebrtcH264()||e.isAliyunRtc()?`\n
      \n video显示时间(s) ${i.videoCurrentTime}\n
      \n
      \n video间隔时间(s) ${i.videoCurrentTimeDiff}\n
      \n
      \n videoBuffer缓存时间(ms) ${i.mseVideoBufferDelayTime}\n
      \n `:""}\n
      \n 视频显示时间(ms) ${i.currentPts||i.ts}\n
      \n ${e._opt.hasAudio&&e.isAudioNotMute()&&Lo(S)?`\n
      \n 音频显示时间(ms) ${i.audioTs}\n
      \n ${e._opt.hasVideo?`\n
      \n 音视频同步时间戳(ms) ${i.audioSyncVideo}\n
      \n `:""}\n
      \n 音频播放模式 ${A?"加速":"正常"}\n
      \n `:""}\n
      \n 视频解码时间(ms) ${i.dts}\n
      \n ${e.isPlayer()?`\n
      \n 解码前-解码后延迟(ms) ${i.delayTs}\n
      \n
      \n 总延迟(网络+解码)(ms) ${i.totalDelayTs}\n
      \n `:""}\n ${e.isPlayer()&&i.isStreamTsMoreThanLocal?'
      \n 是否超过一倍率推流 是\n
      \n ':""}\n ${e.isPlayer()?`\n
      \n 是否播放流畅 ${i.videoSmooth}\n
      \n `:""}\n ${e.isPlayer()?`\n
      \n 是否在丢帧 ${_}\n
      \n `:""}\n
      \n 网速 ${E}\n
      \n
      \n 播放时长(s) ${Ka(i.pTs)}\n
      \n
      \n `;t.$performancePanel.insertAdjacentHTML("beforeend",k)}else t.$performancePanel.innerHTML="",ya(t.$performancePanel,"display","none")})),e.on(At.togglePerformancePanel,(e=>{ya(t.$performance,"display",e?"none":"flex"),ya(t.$performanceActive,"display",e?"flex":"none")})),e.on(At.faceDetectActive,(e=>{ya(t.$faceDetect,"display",e?"none":"flex"),ya(t.$faceDetectActive,"display",e?"flex":"none")})),e.on(At.objectDetectActive,(e=>{ya(t.$objectDetect,"display",e?"none":"flex"),ya(t.$objectDetectActive,"display",e?"flex":"none")})),e.on(At.occlusionDetectActive,(e=>{ya(t.$occlusionDetect,"display",e?"none":"flex"),ya(t.$occlusionDetectActive,"display",e?"flex":"none")}))};function Tc(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===i&&s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}Tc('@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@-webkit-keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}@keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}.jb-pro-container video::-webkit-media-controls{display:none!important}.jb-pro-container .jb-pro-icon{cursor:pointer;width:16px;height:16px;display:inline-block}.jb-pro-container .jb-pro-ptz-controls{position:absolute;width:156px;height:156px;visibility:hidden;opacity:0;border-radius:78px;background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%;transition:visibility .3s,opacity .3s;right:43px;bottom:135px}.jb-pro-container .jb-pro-ptz-controls.show-vertical{right:43px}.jb-pro-container .jb-pro-ptz-controls.show-vertical .jb-pro-ptz-btns{left:0;top:156px}.jb-pro-container .jb-pro-ptz-controls.show-level{right:163px}.jb-pro-container .jb-pro-ptz-controls.show-level .jb-pro-ptz-btns{min-height:156px;left:144px;top:0;display:flex;flex-direction:column;justify-content:center}.jb-pro-container .jb-pro-ptz-controls.jb-pro-ptz-controls-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-bg-active{visibility:hidden;opacity:0;width:156px;height:156px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAE4CAMAAAD4oR9YAAAAM1BMVEX///////////////////////////9HcEz///////////////////////////////////85yRS0AAAAEXRSTlO5DCgVgZBxAK2fQDRkBR5XTPLKM/gAABnnSURBVHja7F0Jkqs6DGQPO9z/tD8Jq6WWbCCvIjKfzAGmulrW3ooedr6ui+M4TdP++SXPr1l/SdL3aRrHhv7ZyA5qb9xe0L3Am+DrkzeCL/BeX908MezTuPsfOArdgl3KsZuhq99fk/Tx3waum+ByAHua5QbYilkzY1aP728YhrH5InrfBa57OLAtVjpRbYaumex04dq4APeC7vnVSfo/45bXLe33jGscMx3f0A1vyg3t69e2dRL/NeA6wrgdcCvjyPM2U25mXDt9xVD3f/qN0yi3Mm6P20S54vlXtGPS/R3GPSbYOsC4ZAvmJtiaGiL3Zlzx/Ht+Y/KXTJXbqmaqe9za1VYn3N7YpX/OVGev2qduOLIiB7xqOzGuWCiXFVmWtU3368A5lkqeOJI21I5XXaORxVRnxmUTdNnY/4U3riNvHMJts9XRtdXVUttipdzrK/4x7UyY6sK4Gbo+nU21T1zKcd9AGJetlMvyLKvj3zXVfeqQElMljINx3MK4xVQ3xj2Ry7N/6CiMOIfYyVUXWxUyBx7HuZRbcHt9bf/Lb9zsHlzKzabauJaK47iVcC7jJujS33/joKkmxDnM4QiJ4xDjZuT+DXQW3jgxV012qcPuiePhCGfchlv1/P0D6Czmqmuq2gPGkbIS8Q4ZsNU3dGP3Y2+cW1RyKpkrbAnwqhi3iXHFHrU3bFVV5c3vBsCsOALjkXErAW85F3rjFvBm5Kos+TngCOXYG7fA1ojFER7GPUHbmer0tfGPANeROM6pjvDMQSkrsWQ1d564Fbr61964TvSqDa6O0ELmAtvGuc2rrpQrn/aa/qCpYq+6mSpOVhnjWBy38u2JXFl9yL8acg6CV3Ur5yxVZfW4AsRxG+XKssz6n3njVMYR4Eg8sj1yi3tgtroxrpyhG38gc+h8PYddPQ551dVQW5jju2/cG7kXdB946Uy9cbDnQOpxuCCHcq5dHDcht8D2/K67VxPNGtLJd7qDTcgb1zLGbXEcY9z0Fd39GReTzIH1B/2lcxrGTYxj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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-up{transform:rotate(-90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left{transform:rotate(180deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-down{transform:rotate(90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-up{transform:rotate(-135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-up{transform:rotate(-45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-down{transform:rotate(135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-down{transform:rotate(45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-control{position:absolute;left:53px;top:53px;width:50px;height:50px;background:#fff;border-radius:50%;transition:left .3s,top .3s}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left{left:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-up{top:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right{left:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-down{top:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-up{top:39px;left:39px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-down{left:39px;top:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-up{top:39px;left:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-down{top:67px;left:67px}.jb-pro-container .jb-pro-ptz-icon{position:relative}.jb-pro-container .jb-pro-ptz-icon:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-btns{display:block;position:absolute;left:0;top:156px;width:156px;box-sizing:border-box;padding:0 30px}.jb-pro-container .jb-pro-ptz-btns .jb-pro-ptz-btn{display:flex;justify-content:space-between}.jb-pro-container .jb-pro-ptz-expand .jb-pro-ptz-expand-icon{display:inline-block;width:28px;height:28px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAANlBMVEVfX19fX19fX19fX19fX19fX19fX19HcExfX19fX19fX1/////Pz8+oqKjCwsKhoaHn5+eWlpaOqTaDAAAAC3RSTlP/3CaKxwJiAELtp4ri/s4AAACuSURBVCjPfZPREoUgCERXBdPRyv7/Z6/Z1aQp9oWJMyYLiKUrOIpAJBdGCldgbzBkPM/QEoTI3jBEPBRDhwEvChe08Q1Ge0ImvIq4Qj8ljrLdH77CyQPWlCdHC0Q1e9rmmuC+oQN9Q4LwcQg40L6eyqm0uEpXSUqe3fKpkkqL+Y/o+07SrahNEO0T0LBsvOitf4xsLqiNTB32wtqaVKosGLO2mhUrS93+PZ4D99wPqzMJVcbEyA8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-expand:hover .jb-pro-ptz-expand-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////i4uLZ2dnIyMjExMS8vLy+iXNeAAAACnRSTlMAYomLxwEm9+NCLo6DKwAAALNJREFUKM99k9kWgyAMRIMmEMLm/39tKaVKFJkXl3sYJ4sAXeQ3ZOcYd0+gRYblFBuFLYoS2ot5lpvYn8zJQ65TO2GVNmdCmQq/qczw4gjpejD14BgmhziEIvCjVRlPioftHW6A7xBB1a8CCUMvsuSqEkPM7eZX6h8GrQ67bYpNIbRL6rb4/k2EfVXKsgmqfQrW9qnGq96a28jGQG1ky2HXpVysyYyeDIhWq7le6ua9P36HD6+2GRi8iBZBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-narrow .jb-pro-ptz-narrow-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/9/f2/v7/y8vLUObqxAAAADXRSTlMA3IrE6SZi9wI+y0gNXAn3CgAAAI5JREFUKM+Fk1kOwyAMBQ04bJHT3P+0JVUMNMWv8zvSk1cipfjAKXHwhR7k6KTjYp7dVuWLug1XWB5wz96T/JD2O3Phmv0k5ypL6lVVFIPYpLOka5WKSSFvS0/BloHYlkza5HkMzrvVLo8ZlRr7mtFYWBBsBQ4BjC//GTxcGVw2PpOVHQ6fJj7qS4936OoN2K4e5yE6N1UAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-narrow:hover .jb-pro-ptz-narrow-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAJ1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v7X19ckk9ihAAAACnRSTlMA9+NCAsuKJsRiPv/2GwAAAJlJREFUGNNjYAAC5gxFoTYDBijw1FoFBIumQHjsUavAYGkBmGu0CgqUwRqlYNyFIO2Fq+BAnIGBJQrBXerAwLkKCUxgYELmKjBYIXMXM2Qhc5cxdCFzVzBoIXMXMYAcsRsMdgEdgs4FKT4DBqdAitGMQrMIzRkojlRB9wKaB9G8z+CMGjgshjCuMCjoWNxRAxYt2KGRYgJiAQAnZcjElaB/xwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-far .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAASFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+kpKRzc3ODg4PFxcW1tbXW1tbk5OT29vaVlZVmZmZ8vCMFAAAADHRSTlMAxGJ5Mssm9+NCiYtiH91SAAABAklEQVQoz41T7Q6DIAyEJQooUL55/zddhVazzZjdHyqXXo8DhWCYTWqltNyN+MZLuxP69UGti/vAsl6c0e4L+tQ2yv1AEbvecMhO5cXdYhk+6aO3WGrNAMwentlMz/ZAKIlNoRsqY2wtFWu9t8wasc0iYVN0LkQfrG1zbxNyrIBcntOQrH1Ukkb60QcxYF1xMA2dh8zWj6ZDsLCsIrL4Ds5Hm9FMbCEROWUB0COaLXEIZJKV7CKybGO7UuxjxY2C/TkMbxboKBQCxgMN6MCJQ6Ch/QjOZg/B13LGx8FDTe3IFvl+Bc9XBi3UWoex68qeL/vxmdyxyvz3NJ8f9dDef36HN7koIK2LjxB0AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-far:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v6cnJzr6+u/v7+xsbGlpaXNzc3b29vqh7uRAAAAC3RSTlMAyRjKA59J/3PzPhe1wxwAAAD2SURBVCjPjZPrssMgCIR1mkYtisD7P+zBCyZpM5mzv5hs0M8VnZvaok9BlXzc3FXbO5z0vtifFC5Kn8OL4UfxwVvuHm61d5Z0b6ZGZZwZpQAUosWsjVZntVS1sH3ZFo1IRVYfGXgx+VGwNkkIVbhq9/jm3cAhaNv1Uk3IA8mNn7D3kbQeWK3TLH2jCthrDFcTMwUWaKiClc9mJtJWhS3SF5BpJqMQW1b3xwnkDahMoHYomkeJRgSENA/MFsKML7fgoCBVbGvM+Cx4JcKWbWHKK/h1ZYS1Jy/nK3u8bB3KhzG5deMxtfv3aO7/Heq+9ms8h9fxHP4AHzAWU9zlWNgAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-near .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+FhYWbm5vz8/Nzc3OwsLDi4uLDw8PW1tZmZmYgm6a+AAAAC3RSTlMAYmOLx4kn9+NCIVJiPGAAAAD+SURBVCjPjVPttoMgDMOJAqOU8uH7v+qKFN2c597lF5LTJg1VqQG3aGuM1bNTV0wWDtjpg3pq+IB+npyzcIE9ejsDXzDCrjccs+tOariF3n2OLyw5xko0vh9MDjNb9Q0hp2GK3cixlIApe4/JD9appR8SFxWAUFLg6n63iB1irnY1Jv0mlrok7nUdcZRa1YeshxBA9iijChlxI6iZEaBgSEL2tkRcymPGGJpqlbZ6uDg0WR/F0DwuMpxDkYwiIXA8hO2uMJdGCCK6teB8RQoY8xGfevQjxYQt25qoRwDT25MRBjZ7GtP/P/afa3LHmrflXa+ruf661Hvv+et3eAF6Fh3v+sSUGgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-near:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZn///+qqqq9vb3z8/PMzMzo6Oja2tpXGg+mAAAACnRSTlP/JomLxwJiAONCr+rW2wAAAOtJREFUKM99U9sWhCAInEpLBS///7WLEWy7p9O8qEzCMBIOQ15DAlLYsoegS9yFMKQ93skl4Adh+ZI54Q8pG5nxgKzkgkcsk4zhmQxRyN1OPHqtncjOu5AuppcJ6s1EHTA1YzC3Wgq3YmzGqpsmlwZAo7F8oLEVKoeE6+TbSxK0JJ/3FLOwFnUxzXuoltYDDMLoAlmYXLAWIrkqbdZKs+q4KBfkNV1uwGaBim9TdLWS3R7iGRvCNTPB7JvGlc5EXK8cKbrxooint73RzXh7Msl6Oj/uT/b62O9j8sj6gMXX0Xwf6jP3Zr9DtNAHTYMMXrXSK0YAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-far .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAPFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////92dnbs7OyFhYWjo6Pe3t7Ly8uxsbG8vLyG+Q0EAAAAC3RSTlMAiWJjx9wm/0Lti7mfpe0AAADaSURBVCjPfVMJDoQgDERFC/bg8P9/XUSO6CqTqA0TptNDpSrMpC2A1btRT8wrNKzzjdo03KC3zhkLD9imbeAFhd3sG2kvZQ2v0NknfGBJZKkhBM9MxOxDKBV1N4iHi0TRHYjN01Qi7/kK2PtyNDU7DAEJgDAAN0u1jsQEFEkcVVmrqjeXrkWRmC67eqbgG7bJyvkQSQkvUvec7szpek6t9ubWJSK/uJVSm+APzHKCh++DWWuH4plQKNYOpfappcjy2VvJn9744cjGwx6uyXjBxqs5Xuqsvf/9Dj8rLhRg+bQ5VAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-far:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZmZmZn///+xsbGoqKjt7e309PTExMTQ0NDe3t774OlGAAAAC3RSTlP/itxixwImAELtp8B2gZgAAADmSURBVCjPjZMLjsUgCEVpq60G8Lf/xQ62gvNeOmZuUiWeKHC1cKnC5iJAdFuwJXgmf+xg2g//G54OPuTOCUOEL8WgMMCLwgPP+Abj2aF38CrnBR7whw6Bo4fWUk7MMrQ2OrpAq0GspTLLgKg1wTailNITZA0EaTkZGjIAY5NwlATah5CGRMJYj50tFtlWiapsLvAPRdtL/WOmET7QzZyl5ywzp7NWsjBJ1odsragJqeJ9HGFNZoLaJw71hMTm0O7NeDE1Z6YsU5rGL69sedmXXz0ToW8PzA/oV09T8OJR32fb7+B17Qe3WwtC9PVbHAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-near .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAARVBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/////t7e2dnZ3W1tbGxsa3t7eDg4Oqqqri4uKTk5NImu/5AAAADXRSTlMAYieJ3MvE/0Lti4oh87zNagAAAOtJREFUKM+NU1sOwyAMY30FtoWS8Lj/UZe2gWpVh2aJH1wcO0mNqbDj4gDc8rLmiscEDdPji3rP8IX5fXLWwQWuaVu4gbKDuyPdsJMz3GLefcIPbJ6PDCEAFDlUAJiORM3NigQFAXAFlqOeRhWJyFFIHxNGvRrN0mp470U++3axGM2RAmXcXqKnkDSN0a9WIk5Sa01MpDXBQAdVtrA8lBhFnnKpsmoo5VBrhszV0KuJ5N2tP92O50iQjpzcctravoihdoi0Q1NrfN56m0VWzFBoje+OrD/s7pr0F0yUr6s5/LvUu/bz+B2ep+IHdMIV2SUZfCsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-near:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////c3Nz09PTp6enR0dHFxcW7u7uwsLAUKT0cAAAADXRSTlMA3IrE6WIm9wI+y0gNQZpqdwAAAOdJREFUKM99U9GShCAMQ8BF3Cmlpfz/r15dAe88l8zwQiQkoRrTEa3zIXhno7lhWxcYWNbtN/fa4Q/218VFDzf4of0O8A/h3TQfOGU/ytsOj9gPVyt8warkmYEQQAgABYDxTKROz88koS6AVIB1fRCNbSI1cVUy15Jq27LGjTtyzipPeWw40/IXQkrHyZSRmqw3LaQgctFNKYzYyGACfEXossLMojFEj7J0WfdwJ3dD9uY2X25tL0Hj45mTR87Y66u9IQFsDS1bL57o7JbUDNIofvpk08eej8kTe3Hz0ZwP9UFfv8OgfgBUByCEUZhYtAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-play .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJWSURBVHgBtZe/b9pAFMefbSYWMjCjdOtmYEYqXVC3umMlBFRiT7qxkexITcdKSDUSYna2iqX+E/DG6LCQgcETUiR+5Pv8I3Kc+McF5ysZ3x2++9x79/zuLFEG9Xq9s/1+r8my/AnVJq4z/2LZfB0Oh1tFUQxd1+208aQ0GAa7kCTpMgRJk4kJXk+nU5NEoe12W8PM/wrAotIx2Z+w3MkE7XQ6Q3S4otNlY5zPUZdL7wiMBUsRIK/fDeWvhQ92XS0HrQia83cCsqoIyMug8gQ9Ho/DpF7FYpEajQa9VTBoyIZxWeEfv6IndSqVSjQYDKhcLtNqtaLtdkuigmGSZVn/XKiqqr9wqyZ1YEtbrRZVKhX3zvX1ei0Eh7Ufa7Xan8C9VRIUg9lyQZfzO19VOOugkBpAgaXRtnq97oLZ5ZvNJm0YQkBZ8m63E7YyKl5ntrrf77vlJCF/qzLlKLZ4NBqRpmmuF2LBlLOyBFYBchDKlIeWyyWNx+PUtS2Qtx+eJA6i2WzmQtMEA+8KnA+73a6N+jkJil1pGAbN5/PMfRBIZsGn3+LFvSABMYiBgpnJgZEeFHQD4EzQrOsWI4N/nrY2uPg/eeefV8WvAKfALOsWJ3jzA++rcqjhB25OXAd244nA62AjV4LGxWLhIBk/oPiF8pc9mUy+BZVnyQEzueEZUb5yjyvhBiX6BCw2YTGvdZNyAkYPZsprT/rgO/K2vDcdQQH7jes7gPcv/kvqyCcKbEVX6PxVAG76QWPGPZAIDcEZqGECTQyokpe9wp8VfNqzyA2L9M+KRzm19l1i6ZQBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-play:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ5SURBVHgBtZe7buJAFIYPjsVFAok3wBUlYcUDLNvQISUSDVVCA0IUYZ8gmzcgBeIiJLwdFau8QToaQKygovI20CJBARKX/Y/jICPAF3B+yRpjZvzNOWfOzLGLLKrZbAaXy+WdKIq32+1WcrlcQe0vZb1e/8XvQT6ff7fyLpdZh0qlEr+5uXne7XZxMpciCIKMSfzGBBSyCwVMAqxpEXYEhzdeAJYtQ2u12h2aJq4gXadSLpf7aQptNBoPm81GJofEsc5ms9/0zwT9j3K5HHUSyEJ4ovV6vXkSyjHEyvxDXyCAHxGy4hEUq+4JjWQ02O/30xV65rTbQ9lKNEWjEYFAgFKpFMViMbpQnOfFPRSKWxnldrtVaDqdpnA4THalefMDinx8sDOYrY7H45RIJOy6PMibjch3F24AJEmSeo3HY+p2u7RYLEzHwNqogOUcpSvFrk4mk5Zcjry9FZCX1+46qj5dzvEOhUKGfQVyWAyPRCLqojsnEYtohpiSE5rP59TpdEhRFMN+Itw7Q3DpGq1WKxqNRurF90YC75+gnXszulBsVbvdpl6vZwpkwasDNWVw9r3BWlu5Op1OVdBkMrEzTD11RO1exmUJytb0+30aDodkV7DyjT2rBpNrG8zg3WwQW9ZqtS4CatASt/sVhAC/GA3glWk1bqcEo+TPwm0P5QeYySt9jRS9UQe54vF4fqEZkMNCdXivrw4PoJlMZoad5IeDYE7F+0KhcPC+syVotVotIQ5PdLm4CD8CGkJZfAIhzlw3SWRdM+T9q9frLbHnTnUwrfBZfPCiecQG8v3MBHj/HvAm4/P55HMwW1C9tG8a/RmsGH1CnNJ/17UakVMOx7kAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-pause .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHySURBVHgBxZc7bsJAEIbHdprQJAU1ckln3FM4J4jTIkSMRB9uQDhBlBPECIk2yQ1MSeeIxg0KZQoKKpSCR/4xtsXTNmA7v2ThHe/ut7M7O7sIFEOGYdzO5/OSJEn3KGp4ZDy33ucxP6vVqo86H71ez47qT4iCLZfLJ0EQmhuQKNlo89rtdk06FVqtVjV49kZrr86RicG2TdMcx4LWarUWGjzT5Rqjn7tdsJAi8Ch4C4op1TGl75S8GKwCPOWC6FsRNDKAL5SOZER30HcAhbFFEUFTLBapXC5v2fL5/J7tiOCXofHLlVfikRhRrSqVChUKBXIchyaTiWtrNBruYLjM9jB5jlmup4vFQqMYyuVydKE03vsuVBTFR8pIcFD317REGQlRXBJ5PSl+iktCskgZC57eZA5l/Q/Uy4lTykjYq1++p5EHb1LC9rRdKA7dT8pO64yERG/SmVM8m81OqW7yckr8Ztv2r6Io1whnLawF59fhcLiVY0ejkWsfDAYUJfRfB+snOE85J2KRvym9RGF2Op06vwRbhg9YHgmlIz7E235B2vwC1x1VVdl7jZLT3nVF2q0BsJUg+ODFTDpU0wP3PfC5a2wB+BD7CuqLgws/TQQYn7cyxYfxfdc6ViEUujMAHUlER4cKHfhbATvPjBUG8/UH1xXJDxHoYGQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-pause:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH/SURBVHgBxVY7bsJAEJ01CAkJKUhUULmiDSnpoKYINyBuQIgi3AA4QZQKIQq4QaChhhuQCxAXSERUSDSIb944axSS+CPA5kn27o7X+2Z2dz6CXKDT6URXq1UqGAw+Hg6HDB4V4qj8rAsh9N1uN9rv971KpTJ2Wk84kW2322csVv1BYr+gEGMo8Foul7uWc6w+NJvNjKIoHXRVOgMg74K8AXLdFWm73a7BujpdDh3rZH8TCw8JLYlPSFutVh7NG10feigUetA0bcEDxZTiDFU0L+QN1M1mc1z7SBoIBGrkcGkSiQQlk8kTWSQS+SP7D3CzJ76c3A/yi61kodOP6XSaYrEYzWYzWi6XhiybzVI8HjfGLLeDNGxoWpohF8C50CXgwMK+r0gNCuQTENnyitQgRT4BQSOlyFvrKsRdCapC/uPuFqR0G1IZExfkH94NSzkHkk+Ap4wNUiTqPvmH74gUDoe7dOYWr9dr13M5sfNxBnjQ7/dXuVwuDGHG7ieOr9Pp9CTGzudzQz6ZTMgJ2FFtMBh8HvMpx0Ro/UEeBQq2slgsatw/uoxMsBp5A64WG+bgxE9LpVIPpUWDrgv7csUE4nEdlWCNPCC0JJXEF5Wg8MchHs11CWpCVvZVkBfckksyrneHVnMEuQRXitiqPBS4lwpEJYmORkc7Qju0IzPxBZ2t+3mW/JtqAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKgSURBVHgBtZe/jtpAEMYH28WJioIa+URDF8MTkAalO6cH4YIiFbk8QXS8QO6oUlCAkGjDtTRHJBoa4nQ0KBZdJApoEAV/Mp9jkAF7bXPcJ5ndtdf725nZWdYxiijDMBKr1SqhKIqKNpdms9mcRxkjFqZTsVjMy7J8x1WdL9WjC6D97Xb73G63m0HjxULAvnI1T+FlMfxBBPeEwoW73Q6we7pcViwWe8+utwKhDFQZ+IOrGr1eAH9ksOkLdSz8Rd5xu1RzBmfdFkvupwz8dmUgBENeYNAZtFQqGVwY9DZSnTVi6+Decrn8h0JYWSgUKJfLHdrL5ZKm0ykNBgOazWbCd9nNt3CzgoZjpUohlEqlKJPJHN3DJHRdp16vR51Ox/ddTiVkw70NlSTp7rRDMpmkWq1G4/HYvmANSpHghXg8To1Gw/M5W1oGVEZD07TvXNy4O8Btw+GQFouFbV06nabRaGRbhbaf8AzvTiYTr8c32Wz2p8KrSuMgJ7x6IEa4AIuivau9tNlsNGm9XqsBY9gxhOvCCi728wa7OCHhRzQAZl2pVGyXRZEoBAoFCDGs1+v2QooiUfpIHE+LBEL+VatVezVfDcp/whYJhAWBVHFvCEFCfz8op6cpORuxJRokajz98tSRae+97OJnUS/RanQLkwNQ4FrzsA2yyU0Gf/br2e12A90LlwYAkS5Pdrm/wRs+/rh1ChAshuV7wTqAQoTAarVat6gorll8YWvzXBXmbdTUcY3/sK/L+4ppmnPeF/9SCGsvAXIsH8+gDthkMFyepyuJgS0GHh3w5NNOzO0zeMHVD/R64BMDP53d93vBORW+0GVnpvmpS0NBXXDDSacwR9K5kxaPok+NUJ8VDlzlQucJvKNj63G2/U3/E78fZqx/rk0w4ggu8jUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK2SURBVHgBtVa9jtpAEB58/EqArqCBBqehorgTVDQxPVJOiD5QAEJUeYLjniBcgRACKeQJQsQDBBoqkIigookraC1BwT+ZcQBBsNd7Ovgk2LV3vd/M7PyZgBPlclnc7XZPFovFv91uRZPJdL9fktfr9W987udyuRbPWSajDUgm3d3dPSOhBMaQUaAXu93eSKVSCryVtFQqPaBWXznJNMlR8zo3aa1W+7zZbIo4vYd3QBCEQjqdfjEkrVarzyhlAa4EvOt6JpNJ6ZJWKpUnHH7A9VHMZrNfLkjJO9Ecv3Aqwg2A1osevFs4vCQP5SF0Op3g9XrPflar1egzut9vCNVHzPS3j8EkcCAcDkMgELh4PxqNoNvtwmw20/tUXC6XSRyLqqZ7LS80CgaDqiY8IEESiQSIoqi7B53qE40qqVYsolTgdrshEokAeh9IkgRGIDPTPhJYC8SD4eg3k52RQNQi7XQ66txms+kepEUcjUah2Wxqrq9Wq6h5Pp8/4CUzD1osFuqPFwfnIsE1IBKbyDqANIzFYhCPx+EtYPmCGQxAppJlGQaDAVwLaFlBgRtAx7T/SNGNZWCg1WqpoeP3+4EX0+kUJpOJNiEqKWA49HGusA6gwPd4PMCLXq+nu4bpsK+6LVV9YMDlcqnkPKD7JyF1oFD+PSSHV9ZB4/EYQqEQGGE4HEK73dZdR+Ua6nh4gWXtD3AkfCL3+XzHZ4pfyrekIQnHApr2A2oqn4YM1TvDWkr3xbozPVAxJ0KaH1MRFllSvQG3gYztz7FtOct/mLqorZDhulD2BVzWJKW2kTZckVjBnviM8IKUQBtQ40ck/w7vAIUhnvGYz+cvwpHZbGNHkcQMwtXGnICs9YrCF/Q2GHb4e3IJBxLgo44ACsY6afbT4XDUWd09N+kpqOhTDT55Jf9/Z0b4C/UJLQCcLGi1AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIjSURBVHgBtZe9UsJAEMc3l1Q0WvAA2NEp1MyInVbGnoE8AVrSqW+gT2CY4QGwpTEFNcaOEqksKKiYcYYP/xsSJoRwx8f5n7nRu9u73+7lbu8waAc5jnM6m81sIcQlqhcoOZTTsHvAZT6fv5um2XZdd6Caz1DBMNm9YRgPMYhKHhx8brVaHu0LrVQqNjx/2wOWlAtnn9MiT4VWq9VHDHii4zXAPFdJsPGPwK1gIwHk7/dC+sXgAsBjroioFZsmpznCuHKLxeIxqqwirdVqvGmcbaOy2SyVSqW1tuFwGJTRaES7CEGd8TJbXOEo4YkjG8BQ27ZT+7rdLrXbbSUcx4+P3oOIVQ4Wr0Cj0aBMJiO1Q6Q1PvsirFzSkeKVqNfrKjM+8xeCybRMbUcrn88HRSasqs2R5kijisWitB+reiKm0+mhaS5VvMwqCdIs1WYKoJZljUmj+NwqobS8D7Wp1+tJ+5EPvkWYD33SIE4S/X5faoOHgCdC+jsdKc5GnJUUGiNIzwrpbjwh76tOpxMAJ5OJyjTwKp7wP/CnvM06LeFzdPwNd4AFihL+Chom/U86/HmiAr4CGOR4M2r0fX9cKBR+8e816deg2WzeRJW15ABPXvgxRXoVPFfiDWbSAhF7iJiXvUyagMmHmZlmGYK/aXn7HPSNAWui3AH4s9EnG8ibiy94DL6l3W8jL3zvetsMpNCEAw4cKGPCc9r8WeGj/YuBMlikP+yn3EGZYjlWAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAI5SURBVHgBxZZLjtpAEIbLjUFih8QFnBUrJCIOEHOCROIACStALBhOMMwJMlkgBCyYnCDMCUJWrJCQYB+zBwkJFiBe+QvZyEz86IEezSc1dj/w76pyV5dGEnS73cR6vf4SiUQ+HY9HE0MJu5GmaSNcFrvd7hn3vXK5bIU9TwsTw8Oqh8PhzhGRoIf1tSBxX9F2u12FVfVXiL3ksVgs1khWtNVqfcfljm7HgtW5l1Zrbyh4Fo7FYh8LhcLCGRDu2U6nc69YkDG22+0v98DZ0mazaQgh/tLbUUOMHy9E8eH8treDJ8lkkgzDuBibz+c0m81otVqRBAu4+QO7WecerDSDBB3RbDbrOTcej2kwGFAIvNc5dPVTTLHpv9INpNNpyufzBEsC1yF81dOVf8KslCHIEy4SjUYjIxDLDDoGKYAtDrNW13VT7Pf7azOOJ6lUKnAeySLB7jVIIezmMAS9A/igxIIUwns3VBQ+HpFCLMsKnGcjhX0CKLF2MpnQcrkMXIPzuX+KKax9phthtw6Hw7BlVqVSGel25wntqqy02WxOFnLj+xB6/HNTwmdXTqdTGTHmfKA7lhKSxAOCbPr9g90n82X6AcGfTgVxUTngtKlD+J4UAw/2S6VSzulfJAe8SZ3fiNRiQbTgHvgvI0H4Gxb9IAVwTexVmHmmQbiCD1suHy26En7xaDSa86p/A4ttrpuIT3ohpLcTxw/tAWJ9vzUaSWCLm3DXZzS+z7hELFzYjX/i8fiTu9T04x9LgQk+PbvDKQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALxSURBVHgBtVYrrBpBFJ0FFAqBqCIrUXRBk5QaUleewBBIlwSDoW1CUlzz0CSlaJJHA8FgqMBg4CWIKkpRuEfQCDAYAvSeYYfsLgss6fYkk5ndmXvP/c1HYjaQTqdjbrf7PQ0VarLWgBW1Cdput3tutVrdW7qka5OZTEZ1uVwfaBhj9jDf7/ePzWazwe4hVFVVPhwOT3cQnRFLkvS20WjMzRMuCzKFyH7/AxkAg18oQp/ME24LsgENfcwBkJfvQqHQejqd/jr905HJGpnMHIYW3iHGp5AS2df/QabpfiKHfCdCVCN1qh1hv9/PIpEIi0ajLBgMskAgcDZfKBTMYjJVL8+nh7MeS/8ioFiQbDYbtlgseA/lXq+Xt9lsxrrdLkulUmw8Hp/poLB+JC+rkpa7FysiKEokEpyo3+/zBiIrr2EU1kKmWCxariMvsy46IRJWZFBSLpf5GApgvZUSYLlcstFoxMfwHnKQN4Mi+cYdDoe/IGpmslKpxJV0Oh223W7ZLcTjcb6uVqtxLxFayJtkfSga2Sycy+X4YnhlBzAQhGI9euTRqnhAaNjkKA5Unl0yALlD0SC0Au12m/fIvx5nRxsEYV2lUrHMgxmiYMwGwmiE1qzDrSiKSv0r8QMxF2Wdz+fZer3mhXAJCP9gMOCGAiBJJpM8h6jqXq9nWO+hLfGH9ohiVoTFIEbxwFqECMoQInwLy4V3mEMe0SB7YWtMJJzoVK7fLnkgKg65BVBM8Bj5gjHwDORoGNfrdUMu9SDnfl7d+HqAEArFCYNQYoxtAODfJSIBimTWpV2Swxt8PLwiRAgjGrwXuEVGmBNXw6MxP5KXMWYTCKs4U+2COH6g59tCu6uG7A7AYxteCcypVU+EmgVZbcJxkO4HcmplIEQuMcGOTz8nyT6T7on4Npw0mMBzgDnkqUZWNfyzWujQM/FB79lVQh2xeudbZ0VE36mvipzdRagjjtFtnSBlr9nxuS9uGCidk1HPdFp1xcvsGv4CcbeEIeSIw9MAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM0SURBVHgBtVa/SyNREJ7dBLVQELU4bdwrtFJOUCxsXEG0Ue4OK6tLKhEb/QsO/4LzChVtvGvE0sPOxtiYJuFyJBBICtOlSSAQCEnIj5tvyC676ybZYPLB4y373ptv5puZt6uQB1xeXup+v/9zs9lc4qHxK621VFAUJYbRaDSeDw4O7rvZUroQBXw+3zcm0ckbMkx8enh4+It6IWQijYlueiByI95g4oxzQXW+OD8/X1JV9e87yACNbbxeXV0dOxcUJxnn6okfx6l/OOHcnr0hhIzsFcg06jNa8obwbErKOfs+CDIhUdUbxrhJiGrknAW8HB4bGyNN02h+fp6mp6dpcnLStj46OkpbW1vOY1q5XJZ8iqTX19dPnYpkZmZGSObm5qharVI+n5cZ5ENDQzKy2SxFIhFaW1ujTCZDqVTKaabA+z4qrdy9uhHB0PLyskSTSCRkVCoV16gRLfYODw/T7e2tOOQE5zKocmRf3Mggzd7eHvEtQnd3dxSNRl3JgGKxaEaE6HEO553gOllXuQ3W3ch2d3fFyMvLS1siKxYXF0XWh4cHOYfzUMgKpE1t3Y026LouhxCVF8DBhYUFcz9m5HF7e9u5VUOV2pp8dnaWpqamPJMBKysrEh2kNRAOh2VG/q14c7XhILzb3993zYMT2IOCcTo4MTEhkqKgrPCx1gGePxgv6vW6EKJYNjc3qVQqSSG0A+RPJpPiKACS1dVVaQ9UdSwWs+33c6n+47ZYchqKx+NCvLOzI80NiWAMEkFyeM75lx5FdFhD4SCXIEJluxRbTLm4uDjmcv3RLgIYgrfILZBOpymXy0m+UImIDLLCATyHQiFbLq1gB/90bHwrcNPAILwGAaREcz8+Pso6CNsRGZDGx0eS8xXqRgh5DYkgIwZuFQPdyGACfwJ+PHGhnHKUOnkEetS4U72Co/uNWdoC3yovUVqBiD1EZW4fGRk5MwkBjjKIBRoAarXa12AwWLARIpdY4McC9RcnR0dHZjPabhosMOkG9S9S2/8MMLDfRKhljawjoYU4wNXby79OgavxJwrEyFlPhBZinasYH+pPPOMaNL4wMJphJZ553Bt/Zp3wHwTYnvHjbDCuAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANOSURBVHgBtVc9TCJBFB52r7jYyCXWnhcbO1aru8RErjGXWBxX2BijGG1svNhJo56VhQU2ViQsgdDQYEFDc5rQ0BDoaMgRGhoKaMhdCHDve+6QZVhgMfglm9mdn/e9v3kz6xEusL+/79c0bcvj8fjpc8V6gCY9VXqK3W73MZFIpN3I80wj03X9il79wh2q/X7fJAXvTdNszkQaDAZXaHF0BrIRcvLKERE/OQ3qYwh/06shXg8vRPl8PlEqlZ4nktoIV8QcgBxwItbfitBOvL6+XioWi2XZp8kXIryaN6FNdpSM8spvthRWUmPaJ25vb4vV1VVRqVSGBCwtLYm1tTUeW1hY4KfVak2hFe+J+B+5+QkfnL2Hh4fI1KAq/OLiQlxeXorl5WWxsbEhNjc3RbvdFrVajVvMkcTlclmk02nRaDTGETfJ1Z+wlTxWLP84zQoEAkwEodlslh+QqZDWY36hUGByp3m9Xu88Ho+HNaokfidCCAIh2kgkMlYQAOtyuZy4vb1lBW9ubnidCioa37klkw0nQrgWgpLJJMfXDUAOBbEO66GAAkOS+tSRk5MTXgjr4FIAMXULrIObz87O1CHv8fHxR03thXAkDhbahezt7TlpzkA8sc7uUngIQIhUgNRr70AWQsu7u7uBEPTBdaqboQTcCIUgXL4DUBzjTrHVDcP4BmVlR6fTYVLg9PSU9yC2CIghEG7HHIC2GluJOGYyGR6DYiDCGEKD/iErNS2sU238QnH9rGqDopDP5zm+EIJ3aL6zs8NEUAKCQSiVwxp4BFaHQqGRwkJoRqPRkEZ7tCjGAAJQHED28PDAVkirsX1kUcAc7FEXWc5c7+iQTltnpyMgHNYgUSSZBL5BhqTBHkVMAZnxKsijMbQ6Vf+/FFe/mFLs6/X6IJZ20t3dXXb34uIihwFuTqVSI3Mt0nPia3LtpVLot461V0FWLiiBZwzMWCx2xOSy5+DgIEya/BRvA1xfvlKxr+JjUBwola/Fy81u7iDCX5JwiJSPHNJm3sQWoTnUp06a57XFIrxW+0dug8guutM8EvEHpxPIJRDDH6qFA2UmrSSrg0SO5HJLjhDdUxue+bLtQG7QqR8ggVvC4beCFHumRMSxVJxEJvEfnFm91YrgD/sAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANwSURBVHgBtZa/SyNBFMffboJaKAS10SZ7hXqFegGbCyjmUPTAH3eHlZWmULG6u/Kqi/9BLEQRIdoKigf2l1Q2ChGtBLmtFAQloPgL1HvfRyZuJhuzBvOFzezOj/eZee/NZAzyoMXFxYjf7+99enqK8GNxlZVtyhiGYXOZ5vo/MzMzW17sGaVgPp/vN2DkTbZpmqs8wfloNJqh10AZZjEs8QpYAfzx8TE6Ozub9AQFkGf7l55dWLbYTmxqamruRehbAl8CG5UEOvTNmWSmekHCVAgIJVgB9eHHD1bJSTPp7NXe3k68Hejg4CBvdF1dHTU0NFBVVRVdXl7S/f09nZ+fl2BS4Pb29geXMXyIe5eXlxM6FMaHh4dpY2ODGhsbybIsamlpyUFQog/geE5PT2l3d5eurq6KgTPc7x22kpGN5T+3Xl1dXdTa2ipGDw8P5bm7uyvoB3hTU5P0t22b9vb2ZFIu+smxjSOmEbfW2tpaAcJgMpkUQ25ACG4+Ojqi7e1tqq6uprGxMRmvi8P1BaXJLyE34MjIiBja2dmhzs5O8iLAMUGMw3h4yCkOobDYs+YHfXAkEpGBWJ1KJMTUqzAObh4cHNSbAisrK0FTrw0Gg5I4GKiEBAmHwwUzV2pubpZJOV0KD0EIkS6TlxxwViALMcvx8fGcEdQhKzs6OvIGYxLIcEwIxuFSvEP19fXSjpzQ5RsdHf3M5XtV8fDwIFDs0f7+frq+vpYtAjAMwu3oA/X09MgqEcf9/X1pQ/wBQhuyPZ1O56/SNOO+oaGhMAM+6rM5Ozuj4+NjiS+M4B2ZGQqFBHRyckLd3d2USqWor6+Pbm5uZAySqa2tjdbX1+VbU2Z6evoX3JumIoIBHA6ATUxMyCl1cXEhQOxD1ON9c3NT9qjufl2K5a+pqdliA4liHWEc7kOiwMXOvYpvwJA02KOILwS3FoGuoTTlWDKMJJUQ4qwfDmoyAwMDkkiYIBIOsS2iJH7k7MW1JPu3VpbUyYWVw91u4oWtcjyjOSi0tLQU54bvVBnh+vKJry82PnKHAydFDI1UATFwTgHzoIgtZvPW4Cxw1VlX0YtZFhjT6wvOXrgBK+ZnjcqXimHMrbHUZXuSV43kCpE3IUTzvPfjr75s61pYWAgx/Ctndy9/WlxaCsKPzZs+xc8Ww9IvwZT+A8hTw5fcMmXrAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-arrow{cursor:pointer;position:absolute;width:0;height:0}.jb-pro-container .jb-pro-ptz-arrow-up{left:71px;top:15px;border:7px solid transparent;border-bottom:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right{top:71px;right:15px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left{left:15px;top:71px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-down{left:71px;bottom:15px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-up{transform:rotate(45deg);left:32px;top:33px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-up{transform:rotate(-45deg);right:32px;top:33px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-down{transform:rotate(45deg);left:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-down{transform:rotate(-45deg);right:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-loading-bg{display:none}.jb-pro-container .jb-pro-loading-bg,.jb-pro-container .jb-pro-poster{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-play-big{position:absolute;display:none;height:100%;width:100%;z-index:11;background:rgba(0,0,0,.4)}.jb-pro-container .jb-pro-play-big:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-position:50%}.jb-pro-container .jb-pro-play-big:hover:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==")}.jb-pro-container .jb-pro-recording{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:101px;height:20px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-recording .jb-pro-recording-red-point{width:8px;height:8px;background:#ff1f1f;border-radius:50%;-webkit-animation:magentaPulse 1s linear infinite;animation:magentaPulse 1s linear infinite}.jb-pro-container .jb-pro-recording .jb-pro-recording-time{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-recording .jb-pro-recording-stop{height:100%}.jb-pro-container .jb-pro-recording .jb-pro-icon-recordStop{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:156px;height:30px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-zoom-controls .jb-pro-icon{vertical-align:top}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-narrow{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-tips{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-expand,.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-stop2{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-loading{display:none;flex-direction:column;justify-content:center;align-items:center;position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.jb-pro-container .jb-pro-loading-text{line-height:20px;font-size:13px;color:#fff;margin-top:10px}.jb-pro-container .jb-pro-controls{background-color:#161616;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;z-index:40;left:0;right:0;bottom:0;height:38px;width:100%;padding-left:13px;padding-right:13px;font-size:14px;color:#fff;opacity:0;visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container .jb-pro-controls.jb-pro-controls-small{height:30px;padding-left:8px;padding-right:8px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-controls-item{padding:0 5px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-icon{width:14px;height:14px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-icon-text{font-size:12px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-menu-item{font-size:12px;text-align:center;width:40px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-wrap{width:40px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item{position:relative;display:flex;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen-exit,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-microphone-close,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-pause,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-play,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-quality-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record-stop,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-scale-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-screenshot,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-template-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-volume,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom-stop{display:none}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed{padding:0}.jb-pro-container .jb-pro-controls .jb-pro-controls-item-html{position:relative;display:none;justify-content:center}.jb-pro-container .jb-pro-controls .jb-pro-playback-control-time{position:relative;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-icon-mute{z-index:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom{display:flex;justify-content:space-between;height:100%}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-left,.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-right{display:flex;align-items:center}.jb-pro-container.jb-pro-controls-show .jb-pro-controls{opacity:1;visibility:visible}.jb-pro-container.jb-pro-controls-show-auto-hide .jb-pro-controls{opacity:.8;visibility:visible;display:none}.jb-pro-container.jb-pro-hide-cursor *{cursor:none!important}.jb-pro-container .jb-pro-icon-loading{width:50px;height:50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAIVBMVEVHcEx4eHh4eHh4eHh4eHh3d3d4eHh4eHh4eHh4eHh4eHiqaCaRAAAACnRSTlMAikwX3CxpwZ7zIGi5xgAAAZ9JREFUOMt9lb9Lw0AUx2Njqm4iGEqmEnBxslKUdhJctFMVcW5wKZ0CLpJJQRw6iVqQbg3FtPdX+l5+XHJ3796bQj557773fe8ujtOI+6jz5p84dHjTkYD4+RhT9CIRZWRPJr1bChnbY532GhT4oUpbI6HEuqvgIH9544dh9J4/rpr0Ms8oV3zMNT7X1MXSmaznzfHjM4n72moe5n8ryYrW9rKRvgf0S93JA7yKa9lbzUg3keJb8OVCtwkrFmoO4MnsAuj5rGqnZg+GZXUXkl9NjEui9n3YA9XgpMgakLXz6ujMTIgrCkPVv0Jil8KgKQN/wRN69hLcb1vrbR2nQkxwiZTGQ5Teb7TO8PUaS8Q03sE+zkjP8qbjzgJtEhRbV4gnlkOFeM7hDYNdxPbiYFvKSHN6L2NmY5WzMYPtplZdTxncRvn2sI+DHIoug22jWMaA12Y7BrXzrG8BX32XPMDKWVzw1bdMOnH1KNqNi8toqn7JGumZnStXLi0e4tcP6R3I635Nc/mzsMxl9aux9b78UVmn2pve8u6eR50j9c0/ywzyVl5+z84AAAAASUVORK5CYII=");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;-webkit-animation-name:rotation;animation-name:rotation;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jb-pro-container .jb-pro-icon-screenshot{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEzMzMzMzMzMzMzMzMzNzc3MzMzMzMzNzc3Nzc3MzMzMzMwv5ahDAAAAC3RSTlMAW+8S2UGVwyyZnOTRhEMAAAEfSURBVDjLzZKxbsJADIYdBQpsSCyVMlXAdEuQYGKpWFk6dWHJgsQ7sMDSpUv3PgITAQT0f7ly57ucQ45KXRAZot+/89k+X4ju9KzL4XOhlm3pR0enYrWViSRPXQIQSASkRSkIJEFRimYCuQAHSW89IOv6SH5TCsuAj68Ab1wDzqkAzqoC7AUAPtgsABgkBBgkCJiNHehGok//KRVsHqd+3Dj1/vukt3AH/Jj05s5/AmyZhFVWXDls44iVvfQWkCvgxU6g9ZdJfCLvjJbYaT3GvjOY4mQSG3SJGjhr/Y1Xohp+TGKqqzexZ/1GVGdNCitt6R8zVvb9d+JmKdl8o5sPWbtxT6zFuJcDQtk92MNmYiXHquYlZlVt1j4P6cd7fgHFW7Nhqu29TwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-screenshot:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEz////////////////////////////////////////////////////////NXt0CAAAADnRSTlMAWe+X2TINXUYZvctoYyuS2NgAAAEVSURBVDjLzZKhDsJADIZLCAsEg8WgEGCWGSwCgZxB4MgEAonB8wQEXoBH4BEWXgPJgEBG0mdgR3u77raRYAgnlq+9+/t3TQF+dKbZcJXSYSnzlViT457lRScKmBqILSFA3GoO8S4E+Ex5JiSJ4CbVdyOQdZNomX9D4dl+ko3NC8vFFmhPy8FIsi0ZlwLBW/LY5BxYYreUSgoFAEmhB5Rc9OCbUoXmTmDadQKTn4y6A/XTaoSKdb6KyGU6RJ7eHgpb3ABinAoil303xB6vQnRahNhXvMdre+fzOgxVrokX4jHAnBh8PALU8Eq8BqgTg/vePF8tpuPy9/NFaalSc273RizarYqfkswjifNMQ/TyTGMv4v87L+ks5gqDbc9OAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEzMzMzHx8fMzMzMzMzOzs7MzMz4IlKVAAAABnRSTlMA6xIU1hVqIuOVAAAAMUlEQVQ4y2NgGFYgLS3RAEQziQFZoxKjEqMSaBJpEAkgIw1ZQlBQRAEs4QhkDeIMDgAWx1gMHyIL4wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEz///////////////////////+3ygHaAAAABnRSTlMA7OgSFBXMmAA4AAAAM0lEQVQ4y2NgGFYgLS3JAUQzi6WlJY5KjEqMSqBJpEEkgIw0ZAklJSUDsISikpLQIM7gAJjhWp6XcaOxAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAHlBMVEVHcEzGxsbMzMzMzMzLy8vMzMzMzMzNzc3MzMzMzMxEZ/aQAAAACXRSTlMADPKKKeBxlV6neZ4mAAAArUlEQVQ4y2NgGDZgJhpowCURAJeYpIQENJEkCgWRgCeShAGyjfgl2EqwS7BFToZJiLg4ICTEImdOh0pwRM6cDJcIjpw5E6aDFeh8B5gECBCUYAkKCoMbNXNSOlyCgUEQ4apJJmxIEkjOVWFgxi4RgEsikGQJnEYp4pLA6VxUDyJLIAUJcRLIwY7qXKSIQvOHWCQODzKIleBPPjgTHM4kijNR48oGkajiYUMykwMAAfmZhUjBISQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMA8gyMLeRw1x2DBpWGN2QDAAAAt0lEQVQ4y2NgGDbgDBpIwCVRAJc4KIgEZM4EwCU2KSEBHySJCcg29iBJGCBLgHUs24FdYlnNYZiESksDXKJALebMaagES8yZw3CJypgzZ2A6WIHOd4BJgABMgh2XBEtpaBjcqDMHs+ESDFyLEK46aMGGkEB2rgQDJ3aJAFwSUSRL4DQKp+VHcTkXxYMoEkhBQpwEcrCjSCBHFJo/1GIO408MOJMPzgSHM4niTNS4skENqnjYkMzkAEgzyFpeX6L3AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAOVBMVEVHcEz///////////////////////////////////////////////////////////////////////99PJZNAAAAEnRSTlMAMPndsnZj1CSYPcmL6wsdoU80pOJLAAABu0lEQVRIx5VV26KEIAhMA++p9f8fezatFDPr8LSrjMxwiWlqzRuMYKW0ENH46c3WuGyVLXEduuO83UyK59fl1jX5EEUXD9DOaSh43XEP5zUIdZ4pAecTofVnWSt3ip4rx7N61vjnY1D30CpH4QQR8vsP+RA5Rs3KpjfMU/pMim/LgbvH7DF2F8sU0owqapKLqgnhuGWwImUagn2zhUX6WQQoYkXG9WxSAJd700/ygsCpAoliaDsPiG48GM1X5Ft/06sfp8DrDE+3DpekWjxM6366fgEcnklC+AIIWYQmPEeAaUmjFOnhCLDfxZRH+w1gU5b/DYjfNcyJ0p7dxX8B+FwxQVtvAGB5ig0d5gFA5KbzS91hI8CenvlHflfN/XvzJQnxbBEko1gbvVnPii+FadSVRUEaYylQfJtpLB+aRG4LY/80yKdUbCraM0lozGR4ewZ0Wtnj1iC7hjWKNnjYmR62W15cLlL3+2pyMR09jccyuyUrHKsvthc5xsY1iWJ0Xk3t+2XP7AnWwrAQmBH6asXubmL1Z5Lz6o992jWiu9lnMSiQsK27FS9NxhCumZgB2fTBPFsFolhZr5B/D3o9sJAI6skAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEwimP0imPwimP8imPwimP0imPsimP0imfsimPwimP0imPwimf8imPwimPwimPxLmg1rAAAAD3RSTlMA15sisGUvdz3szYwMT8H+hDJEAAABx0lEQVQ4y3WUO08CQRCADxBQchBiMDE24KswFlw0Wtig/oHzUWglJBZWio3GDjUxlhhrEzT+ABMrO2iptLLVRluDggI+xtmdXW73LkxxNzvfzuzszNwZhhDzdOxqaPGgYrgkOgFczh90ezAJQmpL2v6OHYnqk2aWxOTtAnu/O/Y5XNZXmTZjo3ot7aESwLdFeqAM0MoJkMf9ltwVQJ9PcQN0UFIJogvdJgLQVFMsAlxyBaPmVBDCE8W7qd+2SDsx0q4OwhSrCG134W54jDfKLjDNxaL8/9AAMM/solptRnoALBbwEPWYrOEzLnrZsTGoMW+fBHG2SiLPUNI6KMOH8QS/XsCMBYQekIEv7NGZF/Rht2yqmA4i3UG9O0iTqgMfhirDhRdU8XJZqqEO8tDAqje8IIt1r+I5HmBjfD9AxQ1MgJQRpc6GJRALHOAS1WRlhMs4VaSFzwIWzCUF3op71kdNsNs/FDCuA58YqCQl7IhN3WbDnlLtfjnuON515WM17c7w41QPOuBIzDT5wqi0T4ESGV3gjtTjkuPATwHoX9+cPRlmmvJ57YAir2qKy459QL/UhrS/uAu3xf8KiX3DI+b22t6jc9F/qfaum9E1pJ4AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEzMzMzOzs7Pz8/MzMzMzMzNzc3MzMzMzMzMzMzMzMzMzMzNzc3MzMzMzMxdHBitAAAADnRSTlMA8AwGYt0aUcg+til5kgmZywUAAAGWSURBVDjL1VM9SwNBEB12IcGkMagxNktQSZFCYimIJAqKpZ3Vco3YBYs0NkKQgBg4ECtLFSFVCGgQrERBsLayPE0Ip7n5De73BdKLTrE3ezPvze6+GYDfsAQKy/Rz0i/OZJjY9XREuohTKulS+ZFGiADfyZXU5uHktI44VH5apDx554aXwJqloiIwiEsStAjCAsRNF1jCmGqa4Vc+BvS4JkjwzyPE6xiwzsxxeTbZxqjkANSWZFkoIj5bQBl4aBDfkPDNpeRRialB+SRAFz8UU1sAaEUjSCDoJ7iukZJ1V+c01bFczM1pWaa+a0Rp7MHn4V8Z1R9vLLCv9WjKdVFfk77JP+bZdz35YAfKXx6KhKp93abUYVbrj49g9aAYSuFCLbPUwzdCsYEWTloXgw1oGwQbENeuKwxzXhxwAADRMFd+zzRc6AAASY6RH8VjUHaXTrlOpDgCUP3gelc01e2d+f16cWbnQ46BGCRNVsWAWQJVw2xGfUXVv2k1OsLfazXqblzS99u1FwKFvBJioXBY2+r82U75Ab7O0ypVV0wKAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEz///////////////////////////////////////////////////////////////////+GUsxbAAAAEXRSTlMA3clDHfdfDQbsVG00u4Cqkr04dRsAAAGaSURBVEjH7VXLdsQgCPUBAROdjP//s1UTDUxsz3TRTc+wC94bHsLVmP9hkE8LIdvgupt2tFhcpy2CMZyVxNePEoqDp4hwEGz5PTqWoZNzLrmD9riltBEYzzpZQ8bweXy56Qy6Tivsp5JQYtawuMH3eJlSxIJtdSSa4xer4lMB89pK23mKrwjZVpsRzLq35vEE3+r26h6w5EKppcp3fP2lIpTPWJvoXoobeNI1sM3haHvx56tu2sdElJ54GbnPQ7RZ1sCpl8qPEMXBNQ8vN82jNbzLCPzGSDOZj/2Bqd19R1rELIEbDFrUJfKYdlALbDuDMko/hz7t8DqtCfr8h1Vt4rn7eh/6Ph37ch20aW8McsfGCOXzcr+GOlQG1rJ2HSHUDO/4Mu01qVAqTCpCJfgZ3phTS2pKm5aZOMUbs7Q6nk6L8UzRh6W78jH+gD/VRxHokPuNgUGTaPPR+zDR1mrlvcGgwkAVacSbeoN4Z0rb5/6XLrW/2GTLk2NhXHRKzrqAt9cD4rr4ddvae0NAYgOICdZyvPj4UYRf2BdfbB8iWvnTUwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAG1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxi4XDRAAAACHRSTlMAf3WqJmy+7azWNnMAAADNSURBVDjLxZQ9E4IwDIaLfMzCOTDSOz07OjLir5CR0dmJFVHIzzZtnMzbOzcyZHnuaXpJWmO2ji4GhpAzzZeQzw8FKCj1pMHss9OgpwsGOS0YGOcVUMPsfBVkmJoVCBJW0FFB6SFIaMKAlRGDnEiDkuM00lP3SmL6H5QSh+iIr9ZWVWntUV9Z4qWbHAWrhcUYNLC4Wwm3xb1r2mOQYoVn2EKFAVb81KHiQQq6L3vSUoMBUmSzgCKbVeiL3eTp3Odf8H1sxRAZZNZt/Vt8AHcPQbiQQVF+AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAe4Fzh7MZbKPtN8gpX19xAAAA3klEQVQ4y8XUIQ7CQBAF0CWhKQHDGtQKQFcURUgqEARBED0Aoqp3IKnoATAEW8MNOACmhQYKcyi6uyjmr+aLqXj56bSbVoh/J3HBxcw0ZfA2c3FiQLGeQcWh1lOVDDJTAeCbCgAR6QqCDj0xCEU5Bl2BIALKMwhdKjGILRUYfCIOEynlvABANk64M5jabJxHfJY2I76yzYu/ZCc0s1WbNYAQ3jxqwMoGHoqWGHpUQajEgcYYcKWFtjLE4FGJQewoxODRDQOqKPPcHl9sfzSXa/0L349tEDsOsp/8+2/xAY+BZBY9KhM5AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzKysrMzMzMzMzMzMzMzMzMzMzMzMzMzMzNzc3MzMz8gU00AAAACnRSTlMAL0jMZKt96hGJsSKv1QAAAJ9JREFUOMvN078KQFAYBfCbJEw2q6SUyWxTnsJT2JTJ6D38Gb6n5PpT6BwbuaNfTnz3fEp9fZwAP7czD0MsGCzBYJcEYsGwBEHQQRB0EII1CMAWdAOzyJUvJ4jyDVyZVHKGpj9guEI2IuhaDFadYnCkIm9I+kPgn8t+kI7kOsT72HcwQnJR9Gofy8DrwwtHK8pLzdeALg5fNb6cdJ1fOjOGYrl5CLFcggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAL0TQf2frEaZYt8E+idL4AAAAnUlEQVQ4y2NgoDdgUcAuzr4Hh4TaGQHsBp3BLsG+BoeE2hnsEkCDsEqADMIqATIImwTYICwSEIPQJFhnBjKInUGSUA2CSPCcOcIwB1ki5xRM4iiDDrKEzQlsEuUF2CVY0jbgkDhjMLQkEkj0IM4gQQ1EHMHOOXMiakRpTiQQtXgTA+7kgzvB4UyiuBM17myAM+Pgzmq4MyfO7EwjAAAEf+BAxqI/agAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMztXryaAAAAD3RSTlMAHd4P7ztyiy1OnKhdx7uY2gyAAAAB8ElEQVQ4y72Uu0vDQBzHE45C3SJFaSGjUEiRpJRCBifXokkpSv0DfOBrEKxUUSoFH9ClFAUfU7c4OARRCs5WjThIsJuDlLo4ldvPe8SYxGyCt1zgw+dev+8vHPcvYybvfCR2OgUv2CoLdI62bUn3gq5UJxOomZofXPUNrIChJRklfcDSiKK2bYQ6PiCaREk0EQoYPFYa3F73F+DGsBJLmAjBAMBKakG15KAxqIhd2KuK5reRccBDNbqGJhfSlnNc/kBh4OY+vaoR5QrRC0afKgxMrKdXNKI8yxRENpyd+i0VA6wMm5IOBmORCwfAFjGwolofevbuPrvpGhRgpVaqiJflrLuUQQFRToS9l894EMDe7q6yL7/G5wMATc5mQCiAvQo3HAbwLtyYHQZgTxhohgGUa/CP12EA16W2/Ou4ZEj1dNG9oPMkZGiwJWQ8j+huPoJy9Z/XHTfUFSbAURveCtE5px5vs7hQDKS25FSDn2KR5Up1/lRmIHne7BvKd82LMRJbSjr5M40lmaYZ5/PRpiCpizjJyk+CwOGOzACLpSdz02QxkiuRhd8dNOwkV7zl2YX1mcySKJrQiPkXY9klSt6rkJPRwIlmzrcWSGyzHuTb11V/N0y/S6SdwdCR4m/47OIN7XOQCfwJwHGp8IcfyRdBLEZK4Uxp6wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAP1BMVEVHcEz///////////////////////////////////////////////////////////////////////////////9KjZoYAAAAFHRSTlMAbk2o8o0P5TsGnVojFi/XHcV9urLaq0oAAAIQSURBVEjH3ZZZkqswDEXxLM8T+1/rkw0BuwM0f131+IvDyZVk6SrL8p88QCHp8UAnWmoWoG8AwQRN4/vOiqwUuwWqiob646MMhEW+KnMLMIXffgiZoODBusb7kCzjByF7OOszkOyp4amJ7fWVPwCN6BpyWRypvANPCvi7u4aTXe13YI+KkYA5bMRTSMlLnSyGwisSH40B0FJOrKVB6iAw2U7sGgPgQ/DTPQjitCOZT4Q6gWCtGwGFbSM34ENUNSpAKTACmC31rnRgJwjDdkFAJpfkAsZcAJvCSVQB2FaWWKdB/ATMAHwIUYL21lRBZRDiC5AnsBHBUqxEyaraFMoz0AnvHNa6xDWS34FGgNf6PYAEZoCt+BroUWFVbeb5HbCqSvB2cToyca+Adjlycdawt0C/HeyScl1W/w3gsU3aAd7JF8AuAN6isr7NAogXAFeq59Ec7ifAm49hF8wCMWfVNXAeCAkjEGuBr6R5ZGJzBrl4gGniBME+w8aMMyCsNZtfaemnmYaAQ6I3Rz0fnDhHJxc93Vrr7sHWjP3XRtTba2L3EkdFVaPC6YmXxKI9DGF1YPLdiwfD2r37cL5nDVw+uKzU5K27hsXCXPtyC2uyyl0D0p2TY7VaIvFYWU0Dm8TdOXmrVp52HG4lU4K/N38PpS/Kw70dbmb/sC0WCcQwNNzzjrzUj7veUyIIyL/4m/EP8V829O8zh5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAM1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzNzc3MzMzNzc3MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxDm1AzAAAAEXRSTlMAHqw+E8It/gjxc03jhGDTlgAjE2kAAAI6SURBVEjHpVbZkoQgDBwg3Of/f+12gtfMbK1Yy4NampCju4Ov1y8ruNyyo9fyCibVlNW6vUu29GpWQwTVdPTernqwffHex0WP4Nro3k+PrMKCvew/PcZ95aoNsY9yua+cGxTZsnf2K7ch4CAdGnWwYx/5LgKZCgxGdrhH3BeqNmnwviFXPZbQJmcM25HJ5n7/Pczr2QqksMJfO7BJOHLKLWFdMiL1QXYRwFagMklb4GB1zS7s8Le3fqH7Q28tVLkKdIzeaOJB2OKtY8KfTQCUa4++dNsLbrqpTR7xguHGt8hfg8P+seuaEkNdBjahzOD7g1cHP21SL2LtMNBKMdTRJjffTX1wVgrsEb1ITJU6QknwYJAcQky2cE02NbzPp70KyKggtpu9xM7Ik+CBIqY+8FrYyRUkrs+MEm1TG6tG9LZxNDNFGDue63TYGgIHqUUcuNhvhyZtn5LnlDq3Juxa4noCuX0scErOpNMDCrVcHPCS5rFGuQR9KZpxnB6CQ0ZO+AIBcTPk3UdbTx1L7jLEEHsMW7ZYm8NlIFyxn8+xdL7MURYEhzd5k2N2TabxIAORwC2r00QQfNSgrnqTJfh7cDmDu9ggtV0EZFr7kGu4KAxtNDln406TLwF9iZCIwn9EfjPuncRHYm5x3NfK3cFAS5kWxljSnTFlPHBAUFg5HsCCVOd9cdwXq+027un2QJlMjqISJutCDceRtTTuT4+1Q3HWHR8cu0fh9sGvADTYH9iLah/9nPz5+/MDJnQfoIVoAnQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAQlBMVEVHcEz////////////////////////////////////////////////////////////////////////////////////1bZCPAAAAFXRSTlMAeVoYDS1pBiPv4/g6lkzO2qSxvoixscijAAACi0lEQVRIx51W2ZLcIAwcLnPf+P9/NS2wp5xkq0ziF3ZRC3R0i/l8fvi04oxx89n+RBi1sqB38TKw7lw7lNzDa3U0e57bHhJ4d567HlqGC08eLAj9Gv8XD4/OwtsdhlfCW2s9LfWtuNrMhG1uLWP17Xh14LF4m8dx1OJ9jkm85YCYch5JzDVy81on3MFYkpTNYGmHHloYI+aqlNhlh5ZSvmH1AyBUwPcMX+u/clW3XYvA2YgRGXyZIZX6PXv0l3GlV9Jp9FKcK7mytJIg8xEeBdaBtV4P8tAixexnp73tY7ZBkrk9WEL8t7ZUDqtIA3jXa8sODSeUVqw5aztT+g4QeNAgM0PGTA0+EmfVeUvU0CEW4hX+lt/zseE7jJKDSmi0EUKBhr7EAMKPvNjOA9Fz4Yk/CFgcGRSdkYOHCLRxQfzKRN5SB/b5Ot8SzzQiKqcb6ipFdCfi1JI84OBdxzarhJ8RkpxHOQszl7bpn0GpmnXq6R4OfTkwwlyUWzeQg7rSLNhNUzEUEqJF3DMHeeXgqRIaYwHimLKipK8hMZOYVfJ5oKtIFSgXk5z4KcNx3GOIPGYfPigh9YGHBNQKVKbZhxMnqq+OHfWBHARZfWm1dnfSXfJuXInplse8wy39zkisdQ5kuLY+Bpc5hwGiH8Mx1rE24DFaLqXkfrNVkjk+8JPTPF0bUw+R9MCVuA8ks/xDyF/9orMqpBQeiob5RbIbmv7/TxvoX1Oqa914TsYg7QUWx8Y7R89JQY8mY6Dat1G5GARuMOgYHY9cbL1vNvc++fk67olLk4nrQSl7457OPqdeKn+vEwm4LPzW87DyXvqIyei9znHS+cZz9SxV+Qf8nNbjn37NkDx4+PmCXzHOLUMtjgmUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEwgmv8imPwimPwhmP8imP8imPwimPwmmf8imPwimPwhmP0imPwimPwimPwimPsimP0imPoLqfILAAAAEnRSTlMADprCJBnU/gXwh3LiUKxAXjJ/ELXKAAACbklEQVRIx5VW2bbjIAwLa1jM9v8/O7Iht+09MwPlpS2VwLZkJ9f1lxVG1joPdZ0u1ZIxurhv8DH6dMpQI5t439GAEc7xYPgTRnAtV7plReRhd5kDP8+fd+wzt70yPhIJzWT7/6DCJCAYLReZPMIuJC4pClSktHqbNpJO1aTmmAme3cvtWs9NSfq52CPhnJNjlbVHwgmWSWGHeQHcKFjj7fygwidf2fa4mbVOuladcnsoDn9/CKKAWf6HEtpANiJvUp9Fgr0SvocPP/sqjOCK9ktpyCAo4Kt/d4n4/6baseNKAt5XrauPN1A4ZLAd30RUI4kNfELVx+yd3lrXYIg1Bp/B/dGs5N8mPsJoVyiwkofQSlm+K9aiwmoQMDoI4wefoK/rhkESrSuV+BR2i6HZH9juLzxCtBmn6rFmB66gNJQwBOSxncT/N3FAlxAoLQfJDy2+6rMLI3aznl9fhOcGSdZzoNhex2K3TXJEVe3M4Zb6QhHuJc5BWakYIqqietcPw6FK+EHofUHRqtLEQ5X8dKVENXXgEpLOpcjwkFI30YFVHE8fyx2ShZJ/ydTKlZwZ4BCOv/af9uMi0DILe4kieynScgPbhai+DRDckTT6N6zJpI3HMghM3BMg+q9pHmwrbR0Q0D5wc0JHPy0E5Ur7Nf3Rk68LnR0NHfO28/T5P4cNr+uLFR7eEdiNxvMRbd5Onlqsis4iIVdme4di3akWOz+3T0aUnFWHa8QZrO51NO69MeLPafrNuBenxel/3d21j8k/jyxf+75OQabFxOtuT94G3Lpjzb0zBn2Dl0ep/waPidQ/p/XB60Dp7e8F/QO7WSJg4zEzdwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcExru/9ru/9qu/9ru/9ru/9ru/9ru/9svP9ruv9ru/9ru/9ru/9ru/9ru/9ru/9ru/9ru/+3uxEqAAAAEnRSTlMA5q0cR/PC/ggSKtN5OIhaa5izIOiAAAACV0lEQVRIx5VW2ZLjMAiMToNu/f/PboNsJ5PaKWv8kKRkWkDTQF6v/zyUfO+JX9sP1dKKd/v2acQcm992kbo1R4il7iHIif0BRNtCUOozH4cikAdt2YfjRLTnzN15/8I85wFCI2xDzlnyMLO7R0aFoTzbFGB+jIkYLkyePvmW8d2fs2ZfZuv8It9s6zvV5uSr2LmKb9oVh37QvpjYOcf8fcO3Cb1jGqOU0SvTTd6X2KUBLgKdLzaiDtE2n+isTh8/+AX7E6/Vh/NNSyfVm10RXIe1nxXRapmsDQB7SMnkmE0IxgqvUn0jteEf1T2CHXgr0gjZllGk1HoJL7lD7fRpD20CgJcwQ6EdSh3lLK0zVfuqz2WvPlPJh7HqnCQ4MysxoAYQE0vHub/toRuqzRy5pEUvbg62MzlJQn1MHBe1x7WSAddpNDSN1c9wRMhKfi2jrICwAIsQvHkD7Al41bOrBNC1Y7QdmSg15LDokGETJB/imxYJKfmFMDqI3FjUkDS3NSEDjBaxknRYSb+4nj4kC43W2OKrkqGB8jV2Fq03YiWbhHQTpUV1mMHXWYf8HlNX7ZUQRC6iwBAIK0r0ILr1UxqKsPattAkhwSIiMl76bT/Ft/TbTy2jHQoM7Cz9isHVMb6GILl0H4DGivbw7xNc8rAtiJn3O/qvD6JT/wgs7Y370ZSdWmbZWEKiG1lXImldW7Q1jGMbZW9tUVKZmGjjGvf+EXAqzWiX5OfFSHVp/zjbfGPc3whdcbTF67V2N1e79qYMru2/AnzVYFsdWFt/+nOypv8vQvoHou4gOtSrG5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTM7OzszMzM3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzW8hQDoAAAAMdFJOUwC/gO8ra6tUQNmVEKtAA1gAAAE4SURBVDjLzZMhT8RAEIWnpS3tXcWdQ6wgOJIKfFdUICv6AyruB5w4EuSJCwRXgUBWkGArLsEi6JVuaZkfxawguSWz/p7azLdtdt97C3ASagp+PpeXPDjHVx7McMWDCBc8qPCZB4m44YFIeOBh+ckCf9z+sCCYqi8WvA/5Nwu26cfA+JRBs4h7WmX/tr9AXcQHAPdgzEPZh5idTQBOZ3zyiModISKQGxZ7dd85E0SKfMGjM7vXeI/5AE5LvrwpcK9IOrQYB5BlCsFIvjzgrkaSjsBZbmC9XsGsAxfn8gKXpL9sSlnQFBwFTTuaKWXgI5Ar+sfHTrW6DUDO+2jEEtCNQ9wL6gNujMvvdFS3eugxGT51fBXxTvF1wLLngbT0BGphKalAy0MQ3Z4Ha2V7UoMFJKkFVAWcvH4B0OJfd9YsTl0AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwD2qdfrViyAwW2XORBGtSCsD6SyAAABN0lEQVRIx+2VzQ7DIAyDYfxToH7/p10CbQ+T2s33Rb1MijM3/qDG/EurolD9zSNRggBU0hFelMABmenfADhGkJDhGUFGgiX6I1AAQlDgZK/td8ELtQORiTmIq42I2bYdCD8NjzPmYQxO+rbn2S5qzEUF6YjkgcJude56X3s0SoL7LRAeylyaVPiFq0Jyx230mpeXmXVOHssRbhackhCq25Sny++xcBW1n6Snqw6BTgrqRP6kzfDcgmRLGonDWSf2OecwB491dOrEVZpNsxiyiHzWJ0Z+BbBwzaoWVb49HrqVfSkxHen7WNznLhzl8xpQlT3E9oHUtYaufB+7NY9g9ctbjFfj/h1DwXUrzDltMn1Ql9M814EQWPLmEBg4R7JSzpFQxTmSBMkLvJKOhFHfKEEnv3L/+qw3DuMPzAFH9pIAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAtUExURUdwTBGW2xKV2hKW3BKW2xGW3BKW2xGW3BGW2xKW2xKV3RGW2xGW2xGW3BKW2+P2IvgAAAAOdFJOUwC/gCvzq1RAleURc9VmrA9rXAAAAT9JREFUOMvNkzFLw1AUhU+SxtTahnZyC+IsIeAenDuE/oJQcS/FTYTi6hKcHYpDZ/EXBME95BeURpM0Me39Db4Mgk/u23umcL8kvHfOucBBKEr5eW95xoMjeuBBlyY86NOQBwt654HrPPHAca/YuUHrDQsG9eybBWa1+GLBqvS3LJiNX0vGJw/R0N6LJ+/f6x9I3uwG0D+luRU0FnmdCtBy6ZM7KvQdjgXwJYuNZVNrFfqF8IX+nFm/oBvyS2iZ8OWxgH4u1IZmU4kgfoa5E77c0jwhoTYCbTRFGE7QrXFCveCURkK/2cRBCp2gFYiyWk7Jw4AgXOmQZMAqa9uAeCP+JsViihtb9OKIPtBUuvy8jeqyHRpMhvc5X0W6Lvg60HrPg0DREySOoqQJKRbByRWbExaqlSoVwB0rwCLFwesHquttxhcsa64AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTH3G63zE6n3G7H3F633G7H3F633G633F7H3F7HvG7H3G7H3F6xOzy+EAAAAMdFJOUwC/hKbvK0BT2XURZct0z00AAAE3SURBVDjLzZMhU8NAEIX3LiSUNqI1qBMMChFRgYxAd07E4CI6HQwzEUXgKjC4CH5ABAKJyA+oaHqBJO3+KPaYYSZh9nyfyuyXu7l77x3ASSgu+flYX/HgHOc8kC4wwikPMnzhQaTueKAiHvi43bFg0m4OLPBM9sWCjyb9ZsHm8NkwPiUQT8MjfSX/fn+F/C3syJf9YB7oLsDkjIaiHix5QCNbGBmAFPve+3lXi/0viLB3ZnmDz5g2ICry5daAvCbZhSE2oIsFeC35ssJljiQbgZitIY7nIGu4wLG+xBnpL5tClxQhCANR1Q5TSmCCQK7YjftOVbYNUOxot0EsHl0uwHdFfcD14PJLG9W9HfpMho81X0V8MnwdcHvkgS4cBcqVo6QKHQ9B1a6XY1zAcSiIFg6QlXDy+gEd714RcAqEowAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTL+/v76+vsDAwL+/v7+/v7+/v8DAwL+/v7+/v96T4QgAAAAJdFJOUwBAgSCbs9hZap+hQJoAAADvSURBVDjLY2AYRkAJCAygbEZBQUEBKJtpJhDAOJpA9kSYxESgKphuIaBuhASqyYzESjC2hDRilQBZ64BFgm2qMLPYNCwSkQpAwlMBWYIRzJsKYrKCxZSRncKSDFYzBSNY2MD2MqRhSFgqgClPAwwJBxwSbAk4jGKZDCKZp2JIsEOcOx0ztjQDYL5ENwsYJKrTsMSvGSgepzVg2pE5qSikPRPT8sopBuDod0ATZ54JsbZyBrJgAVAp1Ax2oPXMykjxYQaLA2CMoERUZQDMrgBUCc8CKIdzAvHJhyQJpLQLSu0TCaV2lPwBSu0KQy+LAwBuJj5UbruNggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTP///////////////////////////////////////////////w2imYoAAAAMdFJOUwBAgBvfrFmcw4wrbtGliFoAAAD2SURBVDjLY2AYRkAJCAygbEZBQUEBKJvpDBDAODpA9kGYxEGgKphuIaBuhASqyYzESjBu79yIVWIP0NoCLBIsR4WZJY5gkYiZACRqFJAlGMG8EyAmK1hMGdkp7M4gkus4RrCwBIApFwwJmwlgqsYAQ6IAIrEAwygHHEaxngJbfhRDgg0sxHoMM7Z0AmC+RAPsJ4S5NE5gid8VoHg8sgHTDh/PzM60HkzLc44bgKMf3RKuMwoQ+dNIgswJDAycUDPYjhgwMCsjxYcJLA6AMYISUTkBMLsaUCVqEqAcngPEJx+SJJDSLii1HySU2lHyByi1Kwy9LA4AqflRBKNSA88AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTBCT2xKV2hGY2hKW2xGW2xGW2xGW2xKX3BGX3BKW23povfoAAAAKdFJOUwBAgRybs9hZLG6hrV9tAAAA80lEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTgmZiFViFtBaBywSbEuFmcWWYZGIUgASXgrIEoxg3lIQkxUspozsFJZkEMmxBCNY2MD2MqRhSFgpgCkvAwwJBxwSbAk4jGJZAbZ8KYYEO8S5yzFjSysA5kt0s5YKc6guwxK/baB4XDYB045Vi4pCyrMwLa9aYgCOfgc0cY5VEGurViIJMhcAlULNYF9mwMCsjBQfZrA4AMYISkRVBcDsCkCV8CqAcrgWEJ98SJJASrug1L6QUGpHyR+g1K4w9LI4ALk0RHtSETFcAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTHzD63zE6n7H7H3F7H3F633G63zF7H3G7H3F7H3F68TinBIAAAAKdFJOUwBAgR+Z31ipwW4yAjb9AAAA+UlEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTmmZiFViFtBaBywSrMuFmSWWYpGoUgASXgrIEowgHtsKEJMDLKaM7BSWYLCaJRjBwloAploxJKwUwJSXAYYE2KUMVRgSrAFgKhTDKPbFIJJ5OYYEG1iIfRlmbGkVwHyJBlhWCDNrrMASvxageFw6AdOOqKCklrQuTMuzlhiAo98BTZx5FcTarJXIgglApVBr2ZYaMDArI8WHKSwOgDGCElFZBTC7GlAlvBKgHK4FxCcfkiSQ0i4otS8klNpR8gcotSsMvSwOAIs+RIlIrewIAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA51JREFUaEPtmT1oFEEUx9/bnRALGxE70btkZjcR7QMiRisRbCzEQvxCLGyEhCDRBC/RoNaWFgYLFUSwUBAUDKKFFqIQ3OzNJpfCyspS8HaejNyG87J7t7N3l03gttydefP/vbcz8+YNwhZ/cIvrhx5A3hFMjEAQBDwMwzOmAi3LWhBCLDTr5/t+ycSubdtLnPOncX1iAfQAlmXdNBmkru2RVgBSSspg+5kQ4lRjv1iAIAgqRFTIMIju0i2AWNvrAKSUowDwLqP4tACm9rWmbABCiFxXKimlhu0BtPFHtdc19wj4vn/Wtu3XnPOfWVByA5BSngCAuwCwryb8Hud8EhGNltANB/B9/5BlWXcA4GCMx/8g4jjn/H7aaGwYgOd5BxhjcwCgPd/0QcRVAJhM2l3rO3cdQEq5GxFvEdH5VsLX7aKIH8MwLLmu+zapb9cAFhcXt/f3988AwJip8Jj2L2zbLg0MDHxr/NY1gCAIpohIJ2V2BwC0iUd9fX2lQqFQ6cQvtJbICSGOxHhlVOdKjuPMl8vlqzrxI6IdWUAQ8Um1Wp0ZGhryiYghYrUtgDQionxJT0al1IwGkVJeBAANvieNDQB4joglzvmilHIXAIwrpX67rmuUamfKcxoTvnoQ3/dP27Z9g4j2J4C81KBCiC9LS0suY2yMiC7rttoZuQBEQhsiopfT6wAwUvv+hjE2XSwWP0kpRxBxgohO1kPmDhAHEgTBUaVU1XGc98vLy8eVUhoqbpPLPwIx6/wqEV2ovX8AALzZ/Ng0EWgQGa1iLQ8xPYCUyx8YHjt7EWjm2I7sAy0it7ERqNWEDkeiklIJg8pFWwC1ZC6SM9NYc1oXgcaiVlxVYmVlZW8YhlMAcCnFvOkEQPqqRBqASLTneTsZY3pjapZSpwF4Y1nW7ODg4Ie202kTgGiwSqWyrVqtXgOA6Zj0OhGAiF4R0azrup87dqDJAlA/eLlcnkDESQCI0us4gOdEdNtxnK+tfkHjA027AJEgKeUVANBROVd7p3fixwAwJ4T43kp4nR2zylynAOoE/JuAiPiDcx6kFb5pAEwF5zKJ2xXZrH9uc6BTUD0AAGh639Xo6bjUI+G/NglS+p3Y87wCY+y/2ozJSGkuRDLekQFjbEexWPxVryfpjuxhllKhNtwtAESc55xHx9M1hsR0WlcOlFLHTLyv26Ypi5hesyql5oeHh3VBeN2T6TxgCtXN9j2Abno3je0tH4G/KbtRT7VUKs8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAwdJREFUaEPtmTuIFTEUhv8fLSxsFrET3UIQRHtBRNdKBBsLsRBfiIWNoIisD1xfqLWlhYuFCiJYKAgKLqKFFqIgoiBoYWVlKbjwy4HMJXs3M5Nk7tzZCzfdvZPk/F9OHicnxIgXjrh+jAG69mCpByStB3AgQ+AcybmqdpJmEvv9SvJhqE0QwBm4lGikqD4VAaCMvh+R3NffrgzgB4DJDCPWpC2AYN+LACTtAPAqU3wsQGr/pikPgGSnO5Ukgx0DNJhRzZp27gFJBwE8J/k7B6UzAEl7ANwEsNEJvwVgmmTSFjp0AEnbANwAsDUw4v8AnCZ5O9YbQwOQtBnAdQA28nXlp/NG8HT1G7cOIGkNgKsADtepDnx/C2CG5Muytq0BSFoJ4DKAUxnC+5s8cSCf+j+0CXDBjAJYNgAA6+Keg7AwpldyAXqBHMmpwKjYyThJclbSSQBWfyIT5IF5kuQ3SctJzjcCiBHhxUu2GM24gRx1IGtj+gDw2I34Z0mrbXcC8JdkUqidFecEAj4fZD+A8wA2lYA8NVCSHyRtcGvouKtrg9EJQKHVB7Ht9ByALe7jCwAXSb6TZP+dAbC3D7JzgBDITgDzJF9L2u2gQoectV0yAD7IEffjDgC7plaVJQdgYotdLOYSMwaI2gETr51jD1SN6qDOgSobw/WAywltLxRVhBIxi7LxInaxUCHHFvmCpFkorWInoR8LheqsA2DB3LGIRdPIAznBXC1AIVrSKncwVYXUMQB2Sl8h+SYQOCanVaIBPJAVAM5aqBAIr6sAnjnh78s82aoHQkYlWYwz7YXXIQCLRK+R/Fg3BYcO4HnlhPPKIfefTYX7dm8m+aVOuNdP+1OoSow79KzKL5LfY4UvGYBUwZ0s4qYiazzY7RRqCtfZIm4qfGBrAEDle1e/0FDoUTKvUxiT3gfsaWlBbibFUsyDiKSkBK9nf4LkH19P2RvZ3cxUIVoEmCVZXE97DFXPrJY52JUy+lY3Ji2S8cxq4i3jsahk3QdSodqsPwZoc3Rj+h55D/wH5CHfQHNA9EUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA9JJREFUaEPtmU+IE1ccx7+/N7O0BwUn24UeRKOd7LalvS+I6HoSwYsH8SCtLf1jEqWoyLJVMfEP6nlNIgi6eFChCB4UChaU0h7aQ1GQrnFSdw9e/JNs9LTFzPvJZI27m8xk5k02m13I3sK+33vfz/u9N+/7fo+wzP9ometHF6DTGfTMQF+mYNqwd6sKlFLcK++P3WsWF8nkUyr9stAeTcXN624xrgDVAUgcVxmk1lbaGPIFyFocou9fSonYzvo4d4BsYQLgaIhB0EYA174bAFaNWpuFhrthxDsxQQCMrKXUPwGbvfr2BSglYh39UjmwXYCwy2kh4jqegd5M/itdaL8+i5vPwwB1DMDIWNuJcBbA545wAs4V4+YIiJQ+oYsOYGTzGwniDIANLjP+hkCHiglzNGg2Fg3AGB3/Ugj9NBO2+4ujSSaMeJ2uc+PbDhC5aK1GhU6CeY+/8IZz9E+CnSomBn7zim0bQF/m4QqbPkgDOKgufH4EAzdZaKny3vUP6vtqG0BvtnCUwY4p01oFcOIZuCJ7elKvvo9OtLyESMN7IzeViA3VC3TshiY4Wkz2j0Uyj3+aMX5shAIhuia4kn6Z+DSPu6xjiCotAQQRMeuXaJJYpqsgOetbcBV8TZA+ANxgotRU3Hz48SWr7800DjHL6VJyQMlqh/I5jYZvFsTI5XcRa0cA/sLDv98iieMv98X++Sj7aEBCPwjwD9W2LNMdAqhJnQMyc5D9DGBwRhzukK4fK/647q9I1hoE6DDAO+ZBdh6gEaQ3V9hi27JS3tf/u3Hhv20kpQPldsgthQw0fOcnpc3fVK2EhosEmE33x9LJwKxM54Lj/Ap0SeoCBPz+qVw7uxnwmdQFOge8R1n0DDg1ISaxqSbJy0oE2pTvqhStbOK5FQy2ka6vOTVkoL6o5VaVWHX+yVoh7KMAvvPbNq1mQNmNBgGoiV55fry3R+jOweRpqQMBMO4wxImp5Cd/tGynVQBqg0UvT3z4eroyDMaxenvdHIBvE/GJYnzgb69MtjUDboMa2ceHCTQCoGqvPQBuSOZT5WT/fb8luOgANUFGxkoQYVja+Lq2iQm4ygKnS3tj//oJf9+PamUuzBJqJsY59Jz/9wh6+iJpFoIKXzIAqoI7solbFdksvmN7YKGgugAMNH3vqp9pN+vhtq5VMqT2PpAbjwrW59VmVAYL8iASCfdGBvm/bpQPrCvP1eP+RpYrXA5XKgTaBkA0Voqb1eupL4DToFo5YLlVZfadtkHKIqrPrFLIsXL8s0k3LaHuA6pQ7WzfBWjn7Abpe9ln4C11Qo9Pmb2aMgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA8hJREFUaEPtmU1oU1kUx//nvthx4cJqX3RgGLsQBNG1tq8Z7axkwM0sxIX4hbhwIygibfPMeyapunY5iymzGAURZjEDAwoVm8SPhSiIKAjtQtAmiooLiyb3yEtNm76+5L37kjQp5C2Te879/+65H+eeS1jlH61y/egCtDuCNSOQyH3cWirNHVIXKO6kYvqdenbxqVlLxS8J8Txp6Ne9bDwBnA5IiIRKJ5W2LDHsB2BmC6zqmxk3UkP6AbedJ4CZfTsNcL9qJ077VgHU8r0MID5V2EsCk2HEBwbIFdT8M/aGBkgaelt3KtOB7QKEnU9NsGt7BMyp2cOa4P8tY3M+DE/bAC7cK+xnxmUwtjvCCXzFHtRHiEhpC11xADOTjwG4BCLDY8S/MvhsyoheDRqNFQMwc292QmppEPb7i6MZgEdqna7V9i0HSNx/95MscRLgo/7CXS0IWS6VrFRs8+1ati0DSEzm18kesgGcURa+3OAfSGklY5ueuP9qGYCZzceZySKC1gQAgPkvXtNjpXatn258CmlYSOSSg/qwW+B8usH9SSM6Ec/lTxM7iR/3hgEh4Jpk2Kkh/UVikiP2MBUbAggiYjFfchajtB0QM/fuOFg64D8H8QHQTQ3CsowNT8cffdLnPn8+KyXPpWKb1FLtYJ0tbbU84asCyRYOEmiMwTtq+P63JJAYH9AfxTOFbUTlNXRyPlmTdpsAKlIXQZyDDJJGGbx7/l++BSHM5EDfg7HMm91CRM6B+fdqyA4AWA5iZd/++hWymDaid+OZ/G8EGgXB65DrhAi4Jw3NsORj5VRC4A8AW+tN2Q6KwKJM54b2HcD3EtMFCLojqVw7uxHwGdVQ992OjkC5JqSJPRXw2qlEsMpFo1OonMx9/7gE211z8iirLC1qeVUlxrLvtwgU4wBO+K2bpgCoVSX8ASqiRx682hgp/jBaL6UOBsC3pMTFdCyaaUI6HRyg0llicnptqWfdeTBMd3pdH4D/kyQupgf7HtaKZIj7gDpAdefxzOw5IjECoJxeewEQ6CZBpmwj+thvCq44QEWQmZ09BYjzLHFk4SQm/C2KIm3/svGZn/AFP+qVucYi4BbmbLnOb5rGr+zB6MugwjsGQFVwWxZxoyLr2bdtDTQLqgsAQt33LvdIe6UenvNaJUQqJ3Hi3ut+KSNLajMqfQV5EAnzRuZoEF8ivfZw74dqPbXeyP4MVSoE0DoAmkgafeXrqS+A08CpHBDTPpXRd9oGKYuoPrNqETlhD/w446Ul1H1AFaqV7bsArRzdIL5XfQS+AaeCtE+rbksUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA1RJREFUaEPtmT1oFEEUx9/bFLFKJzG2WiknZObFxlO8RtFC8SuFWlrYGBtRRNCghV9YmFQWgoVaaAS1ULRRRKvbmYBBQezVYBOIGFMkT0ZuYXPufOxdspuDO7jibmfe/H/z3sy8eYvQ4R/scP3QBSjbg8EemJyc3La4uHgUETcx82YAWNum+N8A8IWZrxLR41ZtBQForUeY+Xarg/j6MfMVIrroa5f13AuglOJWDLfQ56aU8mzefk4ApdR9ADiW12ir7RFxXAgxkqe/FUBrvYeZXzQbY+bh3t7ed5VKZTrPQM2eNHYQ8VGGjTtSypOhtq0AcRyPIeKptCEppTfkbAM3AxhbcRwfyYJg5nEiCvKEVZBS6hUA7EoEIeJ+IcTz0JlpbpcFYNrYIBDxlhDijG88lwd+IGJ/YoCZ1xPRd5/BUA/Mzc31VavVWRcEM18jovOuMV0eWLL7tBM+RoBS6isAbEzERFFUHRwc/JD8dnjishDikg2iSIAJADiU8uhdIjqRFuZYEweI6Gmuc8AWs6EhVK/XR3t6eg4zMyKiEQ/MvOSwQsS3iHhhZmbmY61W++UIp/dSyu2FAmit3zDzTjMoItaFEFuVUt8AYCB0ElLtZqWUfYUCZHlQKXUQAJ60AAC2Nbhia8AWglprAoB7jYQwmGXVACSKzRqJomgLAJjvBh/JqgPwCQ7dRAoPIZ/w5HkXIHQGQlOHvCd56PjdEOpoD6TShT/MfD19OXeFQCPnOYeIaxYWFiaGhoZGQ9Pv5nZthVA6XWjkOsMJRGj+b/IhIURtVQCkIUJvYKUCONLf/+67tjuw+T+rLlTYLmSDCDmwbOIbF6CgC1Vba8B3m3JBuMQXDuC4iGQy+MSXAhAKESK+NAAfRKj4UgFsEHnElw5gBGit9wFAUqy9kbco1vY2Gsfxsha2QrbV1K42gIimAPDvw8zTRLQuy0ZhpcU8AMZ7zPws1ee1lHJ3LoDlLu7mAcioZFuLvYWV130AU1NT/fPz8zuyqtWIuFcI8TKXBxo7QaEvOCyQD6SUx20T4K33F/iKKVOj7yrqBWhsiSv6ki8zNBBPCyHGfKEXBGCMrMBr1mZtPxHxEzN/jqLoYbr07oIIBvDNRFnPuwBlzXwybsd74C95KWhPrxIhsgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAthJREFUaEPtmTuMTUEYx3//TrWdeLRUJCrReISGUBCvLVAqNGiEiASh8IoClUKyBQqPBAWhsREqnYRE9NgoV0T3yci5m9mzc2bmnHvvOXuTO8ktbs7MN//ffPP45hsx4kUjrp8xQNcezPaAmW0EDgFrgLXA0j7F/wG+AlckPW5qKwvAzE4At5p2ktHusqTzGfUWVEkCmJk1MdygzQ1Jp+u2iwKY2X3gcF2jfdS/I8l5O7tUApjZTuBlwNIk8E7STHYvQMCTzs6jgI27ko7l2o4B3AaO+4YkJadcVcdlAGfLzA5WQGR7IgbwGtjuCdoj6UXuyJTrhQBcnQjETUmnUv3FAH4CyzwDKyX9SBnM9QAwIWk2AXFV0tlYnzGAebtPP9OnEPkNWO2J2STpQ+9/xBOXJF2ogmgT4Amw3xNyT9JRX1gEYq+kZyGIoQGY2UXgAPyPt5x4V8qH1TRwDvgk6XdkOr2XtLltgLfA1qLTj5I2mNl3YEWDdTQraaJtgAVryMz2AU8bAFC1Boc5hYKbgJmtB6aKgDCbZdEAeLuOWyPrit+qFMmiA0gJrjr4yu1an0Ip4Z6Hss6hMUBu6FD3JB9PodwRGGkPeOHCX+CafzmPDUAR85wBlrgwQ5LbUueV3AHsaxGbmR8uOAGTPYga8f+0pG2LBWAOosYNrFOAqith6L5bdQee81optG7nHIjE8DlnVlB8EVa3AxCJ4VMAleJbB2gAERXfCUANiKT4zgAyILLEdwoQgcgW3zlAIWA30EvWXq+bFBvESTzQxFZqSyqdAe7i7xIAvTIjaXnIRmupxZoAznvPvTZvJO2oCzDQ5G5NgPKbRGWyt7X0egrAzFwedktFtnqXpFe1PFAsxLYfOEIaH0g6UjUAyXx/i09MQY2pq2gSoPDEsB/5QuJPSnLrMFqyAAqIQT+zloX9Aj4DX4CHfuo9RpANkBqJrr6PAboa+V6/I++Bf0in3kCazcMZAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTMDAwL+/v7+/v7+/v76+vr+/v7+/v7+/v7+/v7+/v7+/vxtcv/AAAAALdFJOUwBVdZCpGdZE7C3B0wnY6AAAAV9JREFUOMt1lDtPwzAQx20ghGwVsHVJhQRDlsywWKqEULsw8FhRJ2iWiglGGJvFCw8xIVVCSEwkKU25L4ftpOHs2Cclsu7v370smxCLecRh+xOH8Ja5kGEs/6dtYf1XONcWZurbwwRCQjYZ9l7uHAPAOBHpI1QC/QSY9g84ldmnAn7Z3htwsfZnvSe54eJd5hlcC7gccxTwSETZEr5+714vLRdfkFraVNtetXLpR7ha+mkHCV1Y/q8ZOW8AgDkecsIaAEIcGbIGyLUq4KcBYl0o7QAB4FZACBMrQKpaJOCZQqyAIhgayYEpgD1DZghXCvBTNJFKmCvgzmhcCEsBwMjSRx6BslYftRX0JLYKrAsLqzDC54EFMwvy58QhMM8hFNq0UpwET+sLC9/4BmEBTytyRCIbDoAEiR1Qp1dbRxfoyv9g3ogaKVuXhVZZbtqX6Ez6H23PxG4CM259QDwt/h8ABfK8nDqSAAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwCCyreU7KZVRCDaZnETLwj6WaYVAAABUUlEQVRIx5WV2Q6EIAxFoVBWxf7/184AOnGUsvTBqDmXrqRCzNou1kwGtyZIQNuiD0P6evWTURFUMtIoPO+iVoGIZPkMqkdKA0jZgoJ6suQc2EoiGBldOoQ9HSDk5+GTs1Fqo9IlcEpvNv3qv0MBhSalIFSv3+MCJCY8fUaCxasycrMu9dp5VTUhubXZ6CqsAvn66ZAsx+e8fON37oT3bZ4aiRU0kDlavGSrQI95HPBZACt8FuCL16IruBVkzBeBW+CLYHvyfiDQd96IpHpOMqP++fAq9VMQ7rwrM5+6gjwG/3y/D/m8ylPYpvpAeqO7DfvwMPO9D6jnBabG56YFZx77fEjD+9AyLdYEhp8nxoNh5wmJtfY8AS+wzIZZrJNcC4h3wV8IH1p87Iyfnc6XVaAd7ICHAsebw97zgDSxZ/yvViiPuYUfTe650knM2+7Ywz9yOCklzohLOwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwDjmTC6Y0KBVakX8s8iC3JYR1wyAAABVUlEQVRIx62V2baFIAiGcwJRS97/aU/Zbtht0VzrcJOuvl/AAabpXy1RF0F/m2h2PX5mzucEuO9gMon1MY7KlG8w4LImC1XFQmxDGVkm1DYpXi0qS1gXTEGzKoqNS1ajAxPqJDikFLcFS+aukYJffRfXnAj9kYUXFVi86wzzPjuCFRXBwS3KaC/Pt02Ww7uf1jz3BVYtX/OsyDQFDn7yswPXb+Ovs39eJJWwxrOXV4thgC+//QBf/uMAXwAa4AuRBvgdWR58CB2B+eaRG5e8QO7Jn2sIAvzhbdsDnXzev8q0BengGXv8EciH3y1CY5++yI/BRNx82g/La7lc7b0Am/tUC6n3HoZ4SbDyy5BgzSNivV6wbPXeIPOpHlOU+CjkTQKvQOpXdRdJvn+5xttWQa4EZUOzluonT6+q72X6Zb0+T/lNhQd7hg9vm8LWUhW5gT4iN7c/0ZUo8Q3AttYAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURUdwTBKV2hGW2xKW2xKW2xKW2xGV3BGW2xGW3BGX2xKW3BKW2xCX2xKW2yDN61kAAAANdFJOUwCAVKxm3T/DmhrxKw97YQBGAAABaklEQVQ4y2NgIA6wGqCLMCqAqV4HdIm9F0Ek22UMM9hiG4AkVzQDA+cmx+YyJJnDlw8wMNQaNpfevbu0QgxJgrN3JQPD3VvhjU57kESnOZqvvXuJgcEXxVFMEkDt1w11gZYwoVgue3d5SzaQSgCydZG1TMkBU8vBuq9guBcqNBNDgj0GQrMEb0CVYEmA2ViANRQZ795tQPZduADciXcVUNSthGu4hGrAJawagBIXsWoAClzGqgEocRWrBqDIrQNQDTPRXZ8A0cB41wBNQgGiQfbubTQJAagGDB0GIA0OsnevbkCTCADiu4J374ahW34JqAEIbiXMRJOAgkvMKJYgJBx6717AKiF4F4eOu+jxgQCXGHBIKPDgkBC8JYCURJDtQHYWN4oEcvpZiyR+C9lZtkgSKKG1CyGOGrxItleixjrcLFBWRAYcMIkG9NQMiY67N7AlcxAQwMwA6SBxM2xZQ3jtVRPsRQ83sg8ACMIUxzzE8wsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTP///////////////////////////////////8kBMKEAAAAJdFJOUwCt0igUwJdJePGbgLgAAADcSURBVDjL1ZMxEoIwFESTCaOWFDapqeicnAALTiANnaWlnVewDTMW/7b+aCAb8jkAVIHN2/lsNkrt73lf8M08nnF1pAYFR/dFmAAx7SIoi4iDbRrWDMAuQFzmmxAGbjjJgjj6dCjMCAND/o8RWQMzUgIRKYE/wsC5TJIRR74rBUZaqqXwLZEXT0WTDGwLW1aavJWQir9qadw++NgykWoMNtcykh8Q5EECgr5C+jjpGjHjPGhPU5eVzyfPJitfnUyhPg6ywMKZ7BygcYcsPCj1Kc8uXYPqpeSLs6PnC4w8S+8OJ9MLAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABS1JREFUaEPVmgmoVVUUhr+fosKC5ogGSsqIpKQwMqjIBpsICdMGQ7ISo4wGApugJCoxLClssElpNEuaI5okKjOI5onKhEQrSiKiaKA/Vu3zOu+8c88593qvj7fgcO99e6/h33udtdda+4khThri9tM1ALaPAQ4Btso9GwNfAyuBb7JHUnzvCq0XANuTgePSs00bFr0L3BuPpF/b4BswtSMAyfDzgYPXRznweQ7ID53IaguA7ROBGcC4TpRV8IRL3SNpVrtyGwOwfVYoaaHgW2AZsBT4CliXnt+BXYBd02d8D5c7rIWc+ZJigRpTIwC2rwauKZH6NLBA0jONNQK2jwJOAU4FtijwPgpMkRTga6kWgO2XgSMKkjoyvGiN7d3SwpxZGHsVOEPSmjoElQBsPwScVhAyR9LMOsHtjNu+Hri8wPMBMF7SqipZLQHYvgq4tsA8S1KZK7Vjb+lc24cDsfJ5ul/SlLYBpGjzVIFxsaTw2Z6R7S2BnwoKpkta0Epp6Q7YfqEQKl+XdGjPLM8Jtn088GzuT9/FOyjpkzL9AwCkQ+qB3OSPki9GOrBByPZ1wBU5ZY9LOrkpgDcLJ2zlFvYCke2NgFcK58VkSRFU+lG/HbA9EYg4nNE7kkb3wsg6mSWesEhSMdz2z0Zt3wRcnBO+wVc/0217WMpesyRxraSd6nbgfWC/NOm3OP4lRVowKGQ73sXIeDMaJ+nFvDF9LmQ78pR8nr5U0oRBsTwpLQnn8yTlPeR/F7I9HngiZ/A0SXcPJoDQbftHIHOjLyTt1WoHLgBuyQ3uKylC6KBS8UyS1C/w5F3oRuDSnLWbSPqzynrbkSdFfG6nGstE3inpkbrVsf0Y0OfKVQAWA5OSwJWS9mggPEJuhN5OaLWkqBMqyfZ9QF/4rALwPHBskrZC0pgGwsPFRtbNazH+s6TIfeoA3JqqwH/nVQG4HTg3SVsnadsGwiMznQYMiM91vKmgP7tuXjHVrgJwGXBDTuC2g3kGZHbYXhQVWva7CkCkyg/nAIyRtKJuhXo9bjuSyOFJzypJ2ff/XCqHdBTwXs6gmZLm9NrAKvm29wY+zc1ZKGlqnqeYzH0PbJ8mLJM0dpABTAfuyNkwVdLCKgDFGniEpC8HC4TtaONEOyej4cUaubgDFwLzcgw9q4HrFsV2pAxvANuluaWpfRHAAUAUNJsmpmhrjJa0tk5ht8dtRx0cITqjAYlcv5c49zJHKI2QmtEG3wXbcaDGwZrRamBsmTuX1cTxEi8H8qnEJElLur3KreTZfgk4Mjc+Q9L8svmtuhLnAUWGka06A90EZjt6UdGTymiJpCxHG6CqqrHVL4lKnMMkRaXWE7J9M3BRwXUmSnqrlcK61uLbwIEF5lGSou3XVbJ9F3BOQeglkgJUS2rS3P0F2LwgYYKkaKWvN9neGYgT//QSYR9Hil/lurUAQqjtOMyK9UEkWXMlfdgJihTn45CK1GCHChmVIBoBSCBixU8qKIrdmRuXG5LigqOWbO+fjA7jizsbqcxsINLsfJ3REkRjAAlEVQUWbfDncjc0UYz/BewJjCh8lgGNZvJsSctt75MabLUg2gKQQBydSrwyn63dgRYTrpQUdwR91BRE2wAyDbYPSk2nuPOKVW6X4t15EHhS0mdlzE1AdAygsFpxwX0CEJcUuwM7lhgULhW5VRgeHYnXmiBuAeI2SXHN272b+gKgzRKQrYFIBNdI+qOJwQ13oi8/68oOdGpYO3xpJ2LV/45zI/t3hSEDoBXYIQ/gH99H3EBePlczAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABYZJREFUaEPVmXmoVVUUxn8f0WRzVkJlIWVGUmIJWWADTVaUldFclCnSQBQYNv1RSCWGVFRSlkRh0GBS2YBmJWGJUBHNNJiYWQSZfwTRxBfrce5jv/3Ovefc++4z3oKLD/fea61v7bXXdMQQJw1x/ekKANs7AOcA44Ddkt/2wJbk9z2wTNIP3TLcgADYvhw4q/gFiLq0ClgBLJf0Ud1DZfs6AmD7UuA64JiBCAf+BR4GHpH0TSe82gJgO6x9PXBqJ8JanPktQABzJP3VDu/aAGzfADzYhPnPQLjFUuA7YHPx+xPYHxhZ/Bt/nw4c14TP+8CFkjbWBVELgO2ngfD3nJYBCyW9Wldg7LN9cigKXATsnJ39HTi+7tuoBGDb3VI852P7QOBO4MoSGaMlfVtlmJYAbL8HHJsxmSdpdhXjdtZt3wPcWnJmhKRfWvFqCsD2PODm7PBdksJiXSfbJwDvZIzfAM6VFG+plEoBFNHmlezEc5LCZweNbEcSjMSX0iJJ09sFsDwLlaslTRo0zRPGts8AXstkTZYUOvWjfjdQJKnFyc7PgCmS1m0NACHD9t3AbYm8yNiT6wKIWJxm2JmSFm4t5QsA2wBvZ/liuqRFuR59bsD2JcAzyaYPJU1oV3nbF8fjAw4DlnTy8Es8YYWk06oAPJnF5I6sb/tF4LxC2CZJ+3VghGFAVK17JmdHSVqf8uq9AdtR+kZNsmOx4Y9I/5KiLGiLbEc4jLDYQ5IqE2aZANvxFqNwbNBNkh5oBiAsFpZr0FJJU9vSvNjcRQBRPKbhfJWkE5sBuBe4JVmcIemJ/xNAyLb9a+JGGyRF+dFLqQstAK5J1g6XFCG0berWDRQA8py0raR/et2z8YftiD4RhRq0naS/W2lv+2wgIkNEm5x630BRaufrj0l6tso6tpcAqSuPkfR1GYAoic8sFtZJOqgG8w+Ao6r2NVnfKCn6hJZkO4+MkyStLgPwJhB1etBaSRNrMA8XG1u1r8n6Fkl7VJ21/VDRBTa29nHt9A28AJxf7NosaXgN5lGZzgD2rdpbsh6N0MyqcyWl9si0Y0sBPA6kVd/wTnJAKNTlR/wUcEUCdBdJ0bX1UArgPmBWsnGipLVVFipb7zKAKCJHFXL6uV0K4NpiMtDQabakaGrapm4BsH0o8GWiwEuSosbqpRRARIQNyVq/rFcXSRcBxBt5NJHbvJQo812gVmOdA+sigCifpyX8x0v6uPQGCgDRWEeD3aCOemDb0XrGm9q1KKevrnt7jX22DwFiqLBX8X8rJZ2S88n7gSOBaGiiMg3aBEyQ9FO7Cgx0v+1ooiJEN2iapEhqfaispcyLuo5uYSAAbEf7GBOJBkXpcETZdKIMwN7AGiAtJS6QFIluq5DtlcBJdVy52VglD6nBa6ykLwYbge05wB2JnLckNUqcfuJbDbbS0qJxcJik6NQGhWzfD9yYMI9ucKqkGByXUtVo8ceSOmecpE+6jcB2XsqEiFmS5reSVQVgNNBbeyeMwioxSh8w2Y6GPzJ+2os0+H4OxPtr6rqVzbbtMcBXJZpGkTVf0qedoCjifCSpq4B9WvBoCaISQDC2PQKIN5GPF6MqjCuOsqOpn6bK2R5fKB3K75QpHpPouUAkvrTPaAqiFoACRMxpwuqNniE3WsxrXk++0EQzHr3rwVGSZP+WGTymD3MlrbEdLerzdUDUBtCQaDvSeXyQKPPZTrwpztwuKS1h4tZrgWgbQALkaOCy4hNrn1FHTRTxdmKQ8LKksjdWC0THADK/jtQ/BQhQBwBl7Wi4VNRWoXhMJN6tA7TJTSyQFJ95u/OlPlfEdjzOALI7EIVgzEfb+nyaGSh3p4h+Pd1jV26gjiUHuqe4ibD6eklRqvfQkAHQzABDHsB/7aMVT352GH8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-speed-icon-text{font-size:14px;min-width:30px;height:20px;line-height:20px;cursor:pointer;text-align:center}.jb-pro-container .jb-pro-speed{box-sizing:border-box;text-align:center;font-size:14px;color:#fff;width:90px}.jb-pro-container .jb-pro-menu-list,.jb-pro-container .jb-pro-quality-menu-list,.jb-pro-container .jb-pro-scale-menu-list,.jb-pro-container .jb-pro-speed-menu-list{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;overflow:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.jb-pro-container .jb-pro-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-speed-menu-shown{visibility:visible;opacity:1}.jb-pro-container .icon-title-tips{pointer-events:none;position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:rgba(0,0,0,.5);border-radius:4px}.jb-pro-container .icon-title{display:inline-block;padding:5px 10px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container .jb-pro-quality-menu{padding:8px 0}.jb-pro-container .jb-pro-menu-item,.jb-pro-container .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-speed-menu-item{display:block;height:25px;line-height:25px;margin:0;padding:0 10px;cursor:pointer;font-size:14px;text-align:center;width:50px;color:hsla(0,0%,100%,.5);transition:color .3s,background-color .3s}.jb-pro-container .jb-pro-menu-item:hover,.jb-pro-container .jb-pro-quality-menu-item:hover,.jb-pro-container .jb-pro-scale-menu-item:hover,.jb-pro-container .jb-pro-speed-menu-item:hover{background-color:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-menu-item:focus,.jb-pro-container .jb-pro-quality-menu-item:focus,.jb-pro-container .jb-pro-scale-menu-item:focus,.jb-pro-container .jb-pro-speed-menu-item:focus{outline:none}.jb-pro-container .jb-pro-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-speed-menu-item-active{color:#2298fc}.jb-pro-container .jb-pro-volume-panel-wrap{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%) translateY(22%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;height:120px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-wrap.jb-pro-volume-panel-wrap-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-volume-panel{cursor:pointer;position:absolute;top:21px;height:60px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-text{position:absolute;left:0;top:0;width:50px;height:20px;line-height:20px;text-align:center;color:#fff;font-size:12px}.jb-pro-container .jb-pro-volume-panel-handle{position:absolute;top:48px;left:50%;width:12px;height:12px;border-radius:12px;margin-left:-6px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:before{bottom:-54px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:after{bottom:6px;background:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-volume-panel-handle:after,.jb-pro-container .jb-pro-volume-panel-handle:before{content:"";position:absolute;display:block;left:50%;width:3px;margin-left:-1px;height:60px}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-controls,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-controls{width:100vh}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-play-big:after,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-play-big:after{transform:translate(-50%,-50%) rotate(270deg)}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading{flex-direction:row}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading-text,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading-text{transform:rotate(270deg)}.jb-pro-container .jb-pro-contextmenus{display:none;flex-direction:column;position:absolute;z-index:120;left:10px;top:10px;min-width:200px;padding:5px 0;background-color:rgba(0,0,0,.9);border-radius:3px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu{cursor:pointer;font-size:12px;display:block;color:#fff;padding:10px 15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu a{color:#fff;text-decoration:none}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span{display:inline-block;padding:0 7px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span.art-current,.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span:hover{color:var(--theme)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:last-child{border-bottom:none}.jb-pro-container.jb-pro-contextmenus-show .jb-pro-contextmenus{display:flex}.jb-pro-container .jb-pro-extend-dom{position:relative;width:100%;height:100%;display:none}.jb-pro-container-playback .jb-pro-controls{height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center{flex:1;display:flex;box-sizing:border-box;justify-content:space-between;font-size:12px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time{box-sizing:border-box;flex:1;position:relative;height:100%}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-inner{width:300px;height:100%;overflow-y:hidden;overflow-x:auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time{position:absolute;left:0;top:0;height:15px;width:1px;background-color:red;text-align:center;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time-text{position:absolute;box-sizing:border-box;padding:0 5px;width:60px;left:-25px;top:15px;border:1px solid red;height:15px;line-height:15px;cursor:move;background-color:#fff;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll{position:relative;width:1440px;margin:0 auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-hour{width:1440px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.half-hour{width:2880px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.ten-min{width:8640px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.five-min{width:17280px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-min{width:86400px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-list{position:relative;background-color:#ccc;height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-day{height:100%;overflow:hidden}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-one-wrap{height:8px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-wrap{height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-btns{display:flex;align-items:center}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one{float:left;width:1px;height:8px;margin:0;cursor:default;position:relative;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.active,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.active{background-color:orange;cursor:pointer}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.start,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.start{background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one:hover .jb-pro-playback-time-title-tips,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one:hover .jb-pro-playback-time-title-tips{visibility:visible;opacity:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips{pointer-events:none;position:absolute;left:0;top:100%;visibility:hidden;opacity:0;transform:translateX(13%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:#000;border-radius:4px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips.jb-pro-playback-time-title-tips-left{transform:translateX(-100%)}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips .jb-pro-playback-time-title{display:inline-block;padding:2px 5px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute{float:left;position:relative;width:60px;box-sizing:border-box;border-top:1px solid #999;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left;height:25px;line-height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child{border-left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child .jb-pro-playback-time-hour-text{left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:after,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:after{content:"";position:absolute;left:0;top:-8px;width:1px;height:14px;background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-text{position:absolute;left:-13px}.jb-pro-container-playback .jb-pro-playback-expand.disabled .jb-pro-icon-expand,.jb-pro-container-playback .jb-pro-playback-narrow.disabled .jb-pro-icon-narrow{cursor:no-drop}.jb-pro-container-playback .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-playback .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-playback .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-playback .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-playback .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-playback .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-playback .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-play-vod .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-play-vod .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-play-vod .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-play-vod .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-play-vod .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-play-vod .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-play-vod .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-playback.jb-pro-fullscreen-web .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-playback-time-inner{overflow-y:auto}.jb-pro-zoom-control{cursor:-webkit-grab;cursor:grab}.jb-pro-performance-panel{position:absolute;box-sizing:border-box;z-index:10000;left:0;top:0;padding:5px;font-size:10px;background:rgba(0,0,0,.2);color:#fff;max-height:100%;overflow-y:auto;display:none}.jb-pro-performance-panel .jb-pro-performance-item{display:flex;align-items:center;margin-top:3px;color:#fff}.jb-pro-performance-panel .jb-pro-performance-item-block{height:10px}.jb-pro-tips-message{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.8),hsla(0,0%,100%,0));overflow:auto;box-sizing:content-box;z-index:10;display:none}.jb-pro-tips-message:before{color:hsla(0,0%,100%,.3);content:"X";font-family:Arial,Helvetica,sans-serif;font-size:40px;left:0;line-height:1;margin-top:-20px;position:absolute;text-shadow:2em 2em 4em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.jb-pro-tips-message .jb-pro-tips-message-close{position:absolute;z-index:99999;right:0;top:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.jb-pro-tips-message .jb-pro-tips-message-close .jb-pro-tips-message-close-icon{width:20px;height:20px;border-radius:10px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-color:#fff;background-size:100% 100%}.jb-pro-tips-message .jb-pro-tips-message-content{overflow:auto;padding:35px;box-sizing:border-box;width:100%;height:100%;z-index:99999}.jb-pro-tips-message .jb-pro-tips-message-content .jb-pro-tips-message-content-item{font-size:14px;color:#fff;text-align:center;line-height:1.5}');class wc{constructor(e){var t;this.player=e,this.TAG_NAME="Control",this.extendBtnList=[],((e,t)=>{e._opt.hasControl&&e._opt.controlAutoHide?e.$container.classList.add("jb-pro-controls-show-auto-hide"):e.$container.classList.add("jb-pro-controls-show");const i=e._opt,s=i.operateBtns,r=`\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00:00
      \n
      \n
      \n
      \n
      \n ${i.playbackConfig.showPrecisionBtn?`\n
      \n
      ${oc.narrow}
      \n
      ${oc.expand}
      \n
      \n `:""}\n
      \n `,a='\n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00
      \n
      \n
      \n ';e.$container.insertAdjacentHTML("beforeend",`\n ${i.background?`
      `:""}\n
      \n \n
      \n ${i.loadingIcon?`\n
      \n ${oc.loading}\n
      ${i.loadingText}
      \n
      \n `:""}\n ${i.hasControl&&s.play?'
      ':""}\n ${i.hasControl&&s.ptz?`\n
      \n
      \n
      \n
      \n
      \n
      \n ${i.ptzMoreArrowShow?'\n
      \n
      \n
      \n
      \n ':""}\n
      \n
      \n ${i.ptzZoomShow?'\n
      \n
      \n \n \n 缩放+\n \n
      \n
      \n \n \n 缩放-\n \n
      \n
      \n ':""}\n ${i.ptzApertureShow?'\n
      \n
      \n \n \n 光圈+\n \n
      \n
      \n \n \n 光圈-\n \n
      \n
      \n ':""}\n ${i.ptzFocusShow?'\n
      \n
      \n \n \n 聚焦+\n \n
      \n
      \n \n \n 聚焦-\n \n
      \n
      \n ':""}\n ${i.ptzCruiseShow?'\n
      \n
      \n \n \n 巡航开\n \n
      \n
      \n \n \n 巡航关\n \n
      \n
      \n ':""}\n ${i.ptzFogShow?'\n
      \n
      \n \n \n 透雾开\n \n
      \n
      \n \n \n 透雾关\n \n
      \n
      \n ':""}\n\n ${i.ptzWiperShow?'\n
      \n
      \n \n \n 雨刷开\n \n
      \n
      \n \n \n 雨刷关\n \n
      \n
      \n ':""}\n
      \n
      \n `:""}\n ${i.hasVideo?`\n
      \n
      ${oc.narrow}
      \n
      电子放大
      \n
      ${oc.expand}
      \n
      ${oc.zoomStop}
      \n
      \n
      \n
      \n
      00:00:00
      \n
      ${oc.recordStop}
      \n
      \n `:""}\n\n ${i.hasControl?`\n
      \n
      \n
      \n ${i.showBandwidth?'
      ':""}\n
      \n
      ${i.controlHtml}
      \n
      \n ${i.playType===S&&i.playbackConfig.showControl&&i.playbackConfig.controlType===Z.normal?r:""}\n ${i.playType===S&&i.playbackConfig.showControl&&i.playbackConfig.controlType===Z.simple?a:""}\n ${i.playType===E?a:""}\n
      \n ${i.playType===S&&i.playbackConfig.showRateBtn||i.playType===E&&i.playVodConfig.showRateBtn?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':""}\n ${s.close?`
      ${oc.close}
      `:""}\n ${s.logSave?`
      ${oc.logSave}
      `:""}\n ${s.performance?`
      ${oc.performance}
      ${oc.performanceActive}
      `:""}\n ${s.aiFace?`
      ${oc.face}
      ${oc.faceActive}
      `:""}\n ${s.aiObject?`
      ${oc.object}
      ${oc.objectActive}
      `:""}\n ${s.aiOcclusion?`
      ${oc.occlusion}
      ${oc.occlusionActive}
      `:""}\n ${s.quality?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':""}\n ${s.scale?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':""}\n ${s.audio?`\n
      \n
      \n ${oc.audio}\n ${oc.mute}\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n `:""}\n ${s.play?`
      ${oc.play}
      ${oc.pause}
      `:""}\n ${s.screenshot?`
      ${oc.screenshot}
      `:""}\n ${s.record?`
      ${oc.record}
      ${oc.recordStop}
      `:""}\n ${s.ptz?`
      ${oc.ptz}
      ${oc.ptzActive}
      `:""}\n ${s.zoom?`
      ${oc.zoom}
      ${oc.zoomStop}
      `:""}\n ${s.fullscreen?`
      ${oc.fullscreen}
      ${oc.fullscreenExit}
      `:""}\n
      \n
      \n
      \n `:""}\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n `),Object.defineProperty(t,"$poster",{value:e.$container.querySelector(".jb-pro-poster"),configurable:!0}),Object.defineProperty(t,"$loadingBg",{value:e.$container.querySelector(".jb-pro-loading-bg"),configurable:!0}),Object.defineProperty(t,"$loadingBgImage",{value:e.$container.querySelector(".jb-pro-loading-bg-image"),configurable:!0}),Object.defineProperty(t,"$loading",{value:e.$container.querySelector(".jb-pro-loading"),configurable:!0}),Object.defineProperty(t,"$loadingText",{value:e.$container.querySelector(".jb-pro-loading-text"),configurable:!0}),Object.defineProperty(t,"$play",{value:e.$container.querySelector(".jb-pro-play"),configurable:!0}),Object.defineProperty(t,"$playBig",{value:e.$container.querySelector(".jb-pro-play-big"),configurable:!0}),Object.defineProperty(t,"$recording",{value:e.$container.querySelector(".jb-pro-recording"),configurable:!0}),Object.defineProperty(t,"$recordingTime",{value:e.$container.querySelector(".jb-pro-recording-time"),configurable:!0}),Object.defineProperty(t,"$recordingStop",{value:e.$container.querySelector(".jb-pro-recording-stop"),configurable:!0}),Object.defineProperty(t,"$pause",{value:e.$container.querySelector(".jb-pro-pause"),configurable:!0}),Object.defineProperty(t,"$controls",{value:e.$container.querySelector(".jb-pro-controls"),configurable:!0}),Object.defineProperty(t,"$controlsInner",{value:e.$container.querySelector(".jb-pro-controls-bottom"),configurable:!0}),Object.defineProperty(t,"$controlsLeft",{value:e.$container.querySelector(".jb-pro-controls-left"),configurable:!0}),Object.defineProperty(t,"$controlsRight",{value:e.$container.querySelector(".jb-pro-controls-right"),configurable:!0}),Object.defineProperty(t,"$volume",{value:e.$container.querySelector(".jb-pro-volume"),configurable:!0}),Object.defineProperty(t,"$volumePanelWrap",{value:e.$container.querySelector(".jb-pro-volume-panel-wrap"),configurable:!0}),Object.defineProperty(t,"$volumePanelText",{value:e.$container.querySelector(".jb-pro-volume-panel-text"),configurable:!0}),Object.defineProperty(t,"$volumePanel",{value:e.$container.querySelector(".jb-pro-volume-panel"),configurable:!0}),Object.defineProperty(t,"$volumeHandle",{value:e.$container.querySelector(".jb-pro-volume-panel-handle"),configurable:!0}),Object.defineProperty(t,"$volumeOn",{value:e.$container.querySelector(".jb-pro-icon-audio"),configurable:!0}),Object.defineProperty(t,"$volumeOff",{value:e.$container.querySelector(".jb-pro-icon-mute"),configurable:!0}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jb-pro-fullscreen"),configurable:!0}),Object.defineProperty(t,"$fullscreenExit",{value:e.$container.querySelector(".jb-pro-fullscreen-exit"),configurable:!0}),Object.defineProperty(t,"$record",{value:e.$container.querySelector(".jb-pro-record"),configurable:!0}),Object.defineProperty(t,"$recordStop",{value:e.$container.querySelector(".jb-pro-record-stop"),configurable:!0}),Object.defineProperty(t,"$screenshot",{value:e.$container.querySelector(".jb-pro-screenshot"),configurable:!0}),Object.defineProperty(t,"$speed",{value:e.$container.querySelector(".jb-pro-speed"),configurable:!0}),Object.defineProperty(t,"$controlHtml",{value:e.$container.querySelector(".jb-pro-controls-item-html"),configurable:!0}),Object.defineProperty(t,"$playbackTime",{value:e.$container.querySelector(".jb-pro-controls-playback-time"),configurable:!0}),Object.defineProperty(t,"$playbackTimeInner",{value:e.$container.querySelector(".jb-pro-controls-playback-time-inner"),configurable:!0}),Object.defineProperty(t,"$playbackTimeScroll",{value:e.$container.querySelector(".jb-pro-controls-playback-time-scroll"),configurable:!0}),Object.defineProperty(t,"$playbackTimeList",{value:e.$container.querySelector(".jb-pro-controls-playback-time-list"),configurable:!0}),Object.defineProperty(t,"$playbackTimeListOne",{value:e.$container.querySelector(".jb-pro-playback-time-one-wrap"),configurable:!0}),Object.defineProperty(t,"$playbackTimeListSecond",{value:e.$container.querySelector(".jb-pro-playback-time-second-wrap"),configurable:!0}),Object.defineProperty(t,"$playbackCurrentTime",{value:e.$container.querySelector(".jb-pro-controls-playback-current-time"),configurable:!0}),Object.defineProperty(t,"$playbackCurrentTimeText",{value:e.$container.querySelector(".jb-pro-controls-playback-current-time-text"),configurable:!0}),Object.defineProperty(t,"$controlsPlaybackBtns",{value:e.$container.querySelector(".jb-pro-controls-playback-btns"),configurable:!0}),Object.defineProperty(t,"$playbackNarrow",{value:e.$container.querySelector(".jb-pro-playback-narrow"),configurable:!0}),Object.defineProperty(t,"$playbackExpand",{value:e.$container.querySelector(".jb-pro-playback-expand"),configurable:!0}),Object.defineProperty(t,"$ptz",{value:e.$container.querySelector(".jb-pro-ptz"),configurable:!0}),Object.defineProperty(t,"$ptzActive",{value:e.$container.querySelector(".jb-pro-ptz-active"),configurable:!0}),Object.defineProperty(t,"$ptzControl",{value:e.$container.querySelector(".jb-pro-ptz-controls"),configurable:!0}),Object.defineProperty(t,"$ptzBgActive",{value:e.$container.querySelector(".jb-pro-ptz-bg-active"),configurable:!0}),Object.defineProperty(t,"$ptzControlCircular",{value:e.$container.querySelector(".jb-pro-ptz-control"),configurable:!0}),Object.defineProperty(t,"$ptzArrows",{value:e.$container.querySelectorAll(".jb-pro-ptz-arrow"),configurable:!0}),Object.defineProperty(t,"$ptzExpand",{value:e.$container.querySelector(".jb-pro-ptz-expand"),configurable:!0}),Object.defineProperty(t,"$ptzNarrow",{value:e.$container.querySelector(".jb-pro-ptz-narrow"),configurable:!0}),Object.defineProperty(t,"$ptzApertureFar",{value:e.$container.querySelector(".jb-pro-ptz-aperture-far"),configurable:!0}),Object.defineProperty(t,"$ptzApertureNear",{value:e.$container.querySelector(".jb-pro-ptz-aperture-near"),configurable:!0}),Object.defineProperty(t,"$ptzFocusFar",{value:e.$container.querySelector(".jb-pro-ptz-focus-far"),configurable:!0}),Object.defineProperty(t,"$ptzFocusNear",{value:e.$container.querySelector(".jb-pro-ptz-focus-near"),configurable:!0}),Object.defineProperty(t,"$ptzCruisePlay",{value:e.$container.querySelector(".jb-pro-ptz-cruise-play"),configurable:!0}),Object.defineProperty(t,"$ptzCruisePause",{value:e.$container.querySelector(".jb-pro-ptz-cruise-pause"),configurable:!0}),Object.defineProperty(t,"$ptzFogOpen",{value:e.$container.querySelector(".jb-pro-ptz-fog-open"),configurable:!0}),Object.defineProperty(t,"$ptzFogClose",{value:e.$container.querySelector(".jb-pro-ptz-fog-close"),configurable:!0}),Object.defineProperty(t,"$ptzWiperOpen",{value:e.$container.querySelector(".jb-pro-ptz-wiper-open"),configurable:!0}),Object.defineProperty(t,"$ptzWiperClose",{value:e.$container.querySelector(".jb-pro-ptz-wiper-close"),configurable:!0}),Object.defineProperty(t,"$qualityText",{value:e.$container.querySelector(".jb-pro-quality-icon-text"),configurable:!0}),Object.defineProperty(t,"$qualityMenu",{value:e.$container.querySelector(".jb-pro-quality-menu"),configurable:!0}),Object.defineProperty(t,"$qualityMenuList",{value:e.$container.querySelector(".jb-pro-quality-menu-list"),configurable:!0}),Object.defineProperty(t,"$scaleText",{value:e.$container.querySelector(".jb-pro-scale-icon-text"),configurable:!0}),Object.defineProperty(t,"$scaleMenu",{value:e.$container.querySelector(".jb-pro-scale-menu"),configurable:!0}),Object.defineProperty(t,"$scaleMenuList",{value:e.$container.querySelector(".jb-pro-scale-menu-list"),configurable:!0}),Object.defineProperty(t,"$zoom",{value:e.$container.querySelector(".jb-pro-zoom"),configurable:!0}),Object.defineProperty(t,"$zoomStop",{value:e.$container.querySelector(".jb-pro-zoom-stop"),configurable:!0}),Object.defineProperty(t,"$zoomNarrow",{value:e.$container.querySelector(".jb-pro-zoom-narrow"),configurable:!0}),Object.defineProperty(t,"$zoomExpand",{value:e.$container.querySelector(".jb-pro-zoom-expand"),configurable:!0}),Object.defineProperty(t,"$zoomStop2",{value:e.$container.querySelector(".jb-pro-zoom-stop2"),configurable:!0}),Object.defineProperty(t,"$close",{value:e.$container.querySelector(".jb-pro-close"),configurable:!0}),Object.defineProperty(t,"$zoomControls",{value:e.$container.querySelector(".jb-pro-zoom-controls"),configurable:!0}),Object.defineProperty(t,"$performancePanel",{value:e.$container.querySelector(".jb-pro-performance-panel"),configurable:!0}),Object.defineProperty(t,"$performance",{value:e.$container.querySelector(".jb-pro-performance"),configurable:!0}),Object.defineProperty(t,"$performanceActive",{value:e.$container.querySelector(".jb-pro-performance-active"),configurable:!0}),Object.defineProperty(t,"$faceDetect",{value:e.$container.querySelector(".jb-pro-face"),configurable:!0}),Object.defineProperty(t,"$faceDetectActive",{value:e.$container.querySelector(".jb-pro-face-active"),configurable:!0}),Object.defineProperty(t,"$objectDetect",{value:e.$container.querySelector(".jb-pro-object"),configurable:!0}),Object.defineProperty(t,"$objectDetectActive",{value:e.$container.querySelector(".jb-pro-object-active"),configurable:!0}),Object.defineProperty(t,"$occlusionDetect",{value:e.$container.querySelector(".jb-pro-occlusion"),configurable:!0}),Object.defineProperty(t,"$occlusionDetectActive",{value:e.$container.querySelector(".jb-pro-occlusion-active"),configurable:!0}),Object.defineProperty(t,"$contextmenus",{value:e.$container.querySelector(".jb-pro-contextmenus"),configurable:!0}),Object.defineProperty(t,"$speedText",{value:e.$container.querySelector(".jb-pro-speed-icon-text"),configurable:!0}),Object.defineProperty(t,"$speedMenu",{value:e.$container.querySelector(".jb-pro-speed-menu"),configurable:!0}),Object.defineProperty(t,"$speedMenuList",{value:e.$container.querySelector(".jb-pro-speed-menu-list"),configurable:!0}),Object.defineProperty(t,"$logSave",{value:e.$container.querySelector(".jb-pro-logSave"),configurable:!0}),Object.defineProperty(t,"$playbackProgress",{value:e.$container.querySelector(".jb-pro-control-progress-simple"),configurable:!0}),Object.defineProperty(t,"$playbackProgressTip",{value:e.$container.querySelector(".jb-pro-progress-tip"),configurable:!0}),Object.defineProperty(t,"$playbackProgressHover",{value:e.$container.querySelector(".jb-pro-progress-hover"),configurable:!0}),Object.defineProperty(t,"$playbackProgressPlayed",{value:e.$container.querySelector(".jb-pro-progress-played"),configurable:!0}),Object.defineProperty(t,"$playbackProgressCache",{value:e.$container.querySelector(".jb-pro-progress-cache")}),Object.defineProperty(t,"$playbackProgressIndicator",{value:e.$container.querySelector(".jb-pro-progress-indicator"),configurable:!0}),Object.defineProperty(t,"$playbackProgressTime",{value:e.$container.querySelector(".jb-pro-playback-control-time"),configurable:!0}),Object.defineProperty(t,"$tipsMessage",{value:e.$container.querySelector(".jb-pro-tips-message"),configurable:!0}),Object.defineProperty(t,"$tipsMessageClose",{value:e.$container.querySelector(".jb-pro-tips-message-close"),configurable:!0}),Object.defineProperty(t,"$tipsMessageContent",{value:e.$container.querySelector(".jb-pro-tips-message-content"),configurable:!0})})(e,this),e._opt.extendOperateBtns.length>0&&e._opt.extendOperateBtns.forEach((e=>{this.addExtendBtn(e)})),e._opt.extendDomConfig&&e._opt.extendDomConfig.html&&this.addExtendDom(e._opt.extendDomConfig),t=this,Object.defineProperty(t,"controlsRect",{get:()=>t.$controls&&t.$controls.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsInnerRect",{get:()=>t.$controlsInner&&t.$controlsInner.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsLeftRect",{get:()=>t.$controlsLeft&&t.$controlsLeft.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsRightRect",{get:()=>t.$controlsRight&&t.$controlsRight.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsPlaybackTimeInner",{get:()=>t.$playbackTimeInner&&t.$playbackTimeInner.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsPlaybackBtnsRect",{get:()=>t.$controlsPlaybackBtns&&t.$controlsPlaybackBtns.getBoundingClientRect()||{width:0},configurable:!0}),Ec(e,this),((e,t)=>{const{events:{proxy:i},debug:s}=e,r=e._opt,a=r.operateBtns;function o(e){const{bottom:i,height:s}=t.$volumePanel.getBoundingClientRect(),{height:r}=t.$volumeHandle.getBoundingClientRect();return ga(i-e.y-r/2,0,s-r/2)/(s-r)}function n(i){let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];i.composedPath().indexOf(e.$container)>-1?t.isFocus=!0:t.isFocus=!1,s&&!e.fullscreen&&e._opt.hasControl&&e._opt.controlAutoHide&&(t.isFocus?(ya(t.$controls,"display","block"),d()):(h(),ya(t.$controls,"display","none")))}if(Ea()?i(window,["click","contextmenu"],(e=>{e.stopPropagation(),n(e)})):i(window,"click",(e=>{e.stopPropagation(),n(e,!0)})),i(t.$controls,"click",(e=>{e.stopPropagation()})),a.play&&(i(t.$pause,"click",(t=>{r.playType===S&&r.playbackConfig.uiUsePlaybackPause?e.playbackPause=!0:r.playType===E?e.playVodPause=!0:lo(a.pauseFn)?a.pauseFn():e.pauseForControl()})),i(t.$play,"click",(t=>{r.playType===S&&e.playbackPause?e.playbackPause=!1:r.playType===E?e.playVodPause=!1:lo(a.playFn)?a.playFn():e.playForControl().then((()=>{e.resumeAudioAfterPause()})).catch((e=>{}))}))),i(t.$playBig,"click",(i=>{r.playType===S&&e.playbackPause?e.playbackPause=!1:r.playType===E?e.playVodPause=!1:t.isInitPlayer?e.emit(At.clickInitPlayer):lo(a.playFn)?a.playFn():e.playForControl().then((()=>{e.resumeAudioAfterPause()}))})),a.screenshot&&i(t.$screenshot,"click",(t=>{t.stopPropagation(),lo(a.screenshotFn)?a.screenshotFn():e.video.screenshot()})),a.audio&&(Ea()&&(i(t.$volume,"mouseover",(()=>{t.$volumePanelWrap.classList.add("jb-pro-volume-panel-wrap-show")})),i(t.$volume,"mouseout",(()=>{t.$volumePanelWrap.classList.remove("jb-pro-volume-panel-wrap-show")})),i(t.$volumePanel,"click",(t=>{t.stopPropagation(),e.volume=o(t)})),i(t.$volumeHandle,"mousedown",(e=>{e.stopPropagation(),t.isVolumeDroging=!0})),i(t.$volumeHandle,"mousemove",(i=>{t.isVolumeDroging&&(e.volume=o(i))})),i(document,"mouseup",(()=>{t.isVolumeDroging&&(t.isVolumeDroging=!1)}))),i(t.$volumeOn,"click",(i=>{i.stopPropagation(),ya(t.$volumeOn,"display","none"),ya(t.$volumeOff,"display","block");const s=e.volume;e.volume=0,e._lastVolume=Ea()?s:1})),i(t.$volumeOff,"click",(i=>{i.stopPropagation(),ya(t.$volumeOn,"display","block"),ya(t.$volumeOff,"display","none"),e.volume=Ea()?e.lastVolume||.5:1}))),a.record&&(i(t.$record,"click",(t=>{t.stopPropagation(),lo(a.recordFn)?a.recordFn():e.recording=!0})),i(t.$recordStop,"click",(t=>{t.stopPropagation(),lo(a.recordStopFn)?a.recordStopFn():e.recording=!1}))),i(t.$recordingStop,"click",(t=>{t.stopPropagation(),lo(a.recordStopFn)?a.recordStopFn():e.recording=!1})),a.fullscreen&&(i(t.$fullscreen,"click",(t=>{t.stopPropagation(),lo(a.fullscreenFn)?a.fullscreenFn():e.fullscreen=!0})),i(t.$fullscreenExit,"click",(t=>{t.stopPropagation(),lo(a.fullscreenExitFn)?a.fullscreenExitFn():e.fullscreen=!1}))),a.ptz){i(t.$ptz,"click",(e=>{e.stopPropagation(),ya(t.$ptzActive,"display","flex"),ya(t.$ptz,"display","none"),t.$ptzControl.classList.add("jb-pro-ptz-controls-show")})),i(t.$ptzActive,"click",(e=>{e.stopPropagation(),ya(t.$ptz,"display","flex"),ya(t.$ptzActive,"display","none"),t.$ptzControl.classList.remove("jb-pro-ptz-controls-show")}));const c=Fo();if(t.$ptzArrows.forEach((s=>{if(r.ptzClickType===Q)i(s,"click",(i=>{i.stopPropagation();const s=i.currentTarget.dataset.arrow;t.$ptzBgActive.classList.add("jb-pro-ptz-bg-active-show"),t.$ptzBgActive.classList.add(`jb-pro-ptz-bg-active-${s}`),t.$ptzControlCircular.classList.add(`jb-pro-ptz-control-${s}`),e.emit(At.ptz,Co(s)),setTimeout((()=>{t.$ptzBgActive.classList.remove("jb-pro-ptz-bg-active-show"),ji.forEach((e=>{t.$ptzBgActive.classList.remove(`jb-pro-ptz-bg-active-${e}`),t.$ptzControlCircular.classList.remove(`jb-pro-ptz-control-${e}`)})),e.emit(At.ptz,Gi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===X){let r=!1;i(s,c.down,(i=>{i.stopPropagation(),r=!0;const s=i.currentTarget.dataset.arrow;t.$ptzBgActive.classList.add("jb-pro-ptz-bg-active-show"),t.$ptzBgActive.classList.add(`jb-pro-ptz-bg-active-${s}`),t.$ptzControlCircular.classList.add(`jb-pro-ptz-control-${s}`),e.emit(At.ptz,Co(s))}));const a=()=>{r=!1,t.$ptzBgActive.classList.remove("jb-pro-ptz-bg-active-show"),ji.forEach((e=>{t.$ptzBgActive.classList.remove(`jb-pro-ptz-bg-active-${e}`),t.$ptzControlCircular.classList.remove(`jb-pro-ptz-control-${e}`)})),e.emit(At.ptz,Gi)};i(s,c.up,(e=>{e.stopPropagation(),r&&a()})),i(window,c.up,(e=>{e.stopPropagation(),r&&a()}))}})),r.ptzZoomShow)if(r.ptzClickType===Q)i(t.$ptzExpand,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Wi),setTimeout((()=>{e.emit(At.ptz,Gi)}),1e3*r.ptzStopEmitDelay)})),i(t.$ptzNarrow,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,zi),setTimeout((()=>{e.emit(At.ptz,Gi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===X){let u=!1,p=!1;i(t.$ptzExpand,c.down,(t=>{t.stopPropagation(),u=!0,e.emit(At.ptz,Wi)})),i(t.$ptzNarrow,c.down,(t=>{t.stopPropagation(),p=!0,e.emit(At.ptz,zi)}));const m=()=>{u=!1,p=!1,e.emit(At.ptz,Gi)};i(t.$ptzExpand,c.up,(e=>{e.stopPropagation(),u&&m()})),i(t.$ptzNarrow,c.up,(e=>{e.stopPropagation(),p&&m()})),i(window,c.up,(e=>{e.stopPropagation(),(u||p)&&m()}))}if(r.ptzApertureShow)if(r.ptzClickType===Q)i(t.$ptzApertureFar,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,$i),setTimeout((()=>{e.emit(At.ptz,Vi)}),1e3*r.ptzStopEmitDelay)})),i(t.$ptzApertureNear,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Hi),setTimeout((()=>{e.emit(At.ptz,Vi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===X){let f=!1,g=!1;i(t.$ptzApertureFar,c.down,(t=>{t.stopPropagation(),f=!0,e.emit(At.ptz,$i)})),i(t.$ptzApertureNear,c.down,(t=>{t.stopPropagation(),g=!0,e.emit(At.ptz,Hi)}));const y=()=>{f=!1,g=!1,e.emit(At.ptz,Vi)};i(t.$ptzApertureFar,c.up,(e=>{e.stopPropagation(),f&&y()})),i(t.$ptzApertureNear,c.up,(e=>{e.stopPropagation(),g&&y()})),i(window,c.up,(e=>{e.stopPropagation(),(f||g)&&y()}))}if(r.ptzFocusShow)if(r.ptzClickType===Q)i(t.$ptzFocusFar,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Ji),setTimeout((()=>{e.emit(At.ptz,Vi)}),1e3*r.ptzStopEmitDelay)})),i(t.$ptzFocusNear,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,qi),setTimeout((()=>{e.emit(At.ptz,Vi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===X){let A=!1,b=!1;i(t.$ptzFocusFar,c.down,(t=>{t.stopPropagation(),A=!0,e.emit(At.ptz,Ji)})),i(t.$ptzFocusNear,c.down,(t=>{t.stopPropagation(),b=!0,e.emit(At.ptz,qi)}));const v=()=>{A=!1,b=!1,e.emit(At.ptz,Vi)};i(t.$ptzFocusFar,c.up,(e=>{e.stopPropagation(),A&&v()})),i(t.$ptzFocusNear,c.up,(e=>{e.stopPropagation(),b&&v()})),i(window,c.up,(e=>{e.stopPropagation(),(A||b)&&v()}))}if(r.ptzCruiseShow&&(i(t.$ptzCruisePlay,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Ki)})),i(t.$ptzCruisePause,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Yi)}))),r.ptzFogShow&&(i(t.$ptzFogOpen,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Qi)})),i(t.$ptzFogClose,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Xi)}))),r.ptzWiperShow&&(i(t.$ptzWiperOpen,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,Zi)})),i(t.$ptzWiperClose,"click",(t=>{t.stopPropagation(),e.emit(At.ptz,es)}))),r.ptzSupportDraggable){function _(){t.isPtzControlDroging&&(t.isPtzControlDroging=!1,t.$ptzControl.style.cursor="grab",t.tempPtzPosition={x:0,y:0})}t.isPtzControlDroging=!1,t.tempPtzPosition={x:0,y:0},i(t.$ptzControl,c.down,(e=>{e.stopPropagation(),t.isPtzControlDroging=!0,t.$ptzControl.style.cursor="grabbing";const{posX:i,posY:s}=ho(e);t.tempPtzPosition={x:i,y:s}})),i(t.$ptzControl,c.move,(e=>{if(t.isPtzControlDroging){e.stopPropagation();const{posX:i,posY:s}=ho(e),r=t.tempPtzPosition.x-i,a=t.tempPtzPosition.y-s;t.$ptzControl.style.left=t.$ptzControl.offsetLeft-r+"px",t.$ptzControl.style.top=t.$ptzControl.offsetTop-a+"px",t.tempPtzPosition={x:i,y:s}}})),i(t.$ptzControl,c.up,(e=>{e.stopPropagation(),_()})),i(window,c.up,(e=>{e.stopPropagation(),_()}))}}a.performance&&(i(t.$performance,"click",(t=>{t.stopPropagation(),e.togglePerformancePanel(!0)})),i(t.$performanceActive,"click",(t=>{t.stopPropagation(),e.togglePerformancePanel(!1)}))),a.logSave&&i(t.$logSave,"click",(t=>{t.stopPropagation(),e.downloadMemoryLog()})),a.aiFace&&(i(t.$faceDetect,"click",(t=>{t.stopPropagation(),e.faceDetect(!0)})),i(t.$faceDetectActive,"click",(t=>{t.stopPropagation(),e.faceDetect(!1)}))),a.aiObject&&(i(t.$objectDetect,"click",(t=>{t.stopPropagation(),e.objectDetect(!0)})),i(t.$objectDetectActive,"click",(t=>{t.stopPropagation(),e.objectDetect(!1)}))),a.aiOcclusion&&(i(t.$occlusionDetect,"click",(t=>{t.stopPropagation(),e.occlusionDetect(!0)})),i(t.$occlusionDetectActive,"click",(t=>{t.stopPropagation(),e.occlusionDetect(!1)})));let l=null;const d=()=>{h(),l=setTimeout((()=>{ya(t.$controls,"display","none")}),1e3*e._opt.controlAutoHideDelayTime)},h=()=>{l&&(clearTimeout(l),l=null)};if(e._opt.hasControl&&e._opt.controlAutoHide&&Ea()&&(i(e.$container,"mouseover",(()=>{e.fullscreen||(ya(t.$controls,"display","block"),d())})),i(e.$container,"mousemove",(()=>{e.$container&&t.$controls&&(e.fullscreen,"none"===t.$controls.style.display&&(ya(t.$controls,"display","block"),d()))})),i(e.$container,"mouseout",(()=>{h(),ya(t.$controls,"display","none")}))),e._opt.playType===S){let T=e._opt.playbackConfig.controlType;e._opt.playbackConfig.showRateBtn&&(i(t.$speedMenu,"mouseover",(()=>{t.$speedMenuList.classList.add("jb-pro-speed-menu-shown")})),i(t.$speedMenu,"mouseout",(()=>{t.$speedMenuList.classList.remove("jb-pro-speed-menu-shown")})),i(t.$speedMenuList,"click",(t=>{const i=oo(t);if(i.matches("div.jb-pro-speed-menu-item")){const t=i.dataset;e.emit(At.playbackPreRateChange,t.speed)}}))),T===Z.normal?(i(t.$playbackNarrow,"click",(t=>{t.stopPropagation(),e.playback&&e.playback.narrowPrecision()})),i(t.$playbackExpand,"click",(t=>{t.stopPropagation(),e.playback&&e.playback.expandPrecision()})),i(t.$playbackTimeList,"click",(t=>{const i=oo(t);i.matches("div.jb-pro-playback-time-minute-one")&&e.playback&&e.playback.seek(i.dataset)})),e._opt.playbackConfig.supportWheel&&i(t.$playbackTimeInner,"wheel",(t=>{t.preventDefault(),(t.wheelDelta?t.wheelDelta/120:-(t.detail||0)/3)>0?e.playback&&e.playback.expandPrecision():e.playback&&e.playback.narrowPrecision()}))):T===Z.simple&&(t.isDroging=!1,i(t.$playbackProgress,"click",(i=>{if(i.target!==t.$playbackProgressIndicator){let s=0,r=0;if(e.isInWebFullscreen())s=i.touches[0].clientY/e.height,r=s*e.playback.totalDuration;else{const a=mc(t,e.playback.totalDuration,i);s=a.percentage,r=a.second}e.playback&&e.playback.seek({time:r})}})),i(t.$playbackProgress,"mousemove",(i=>{ya(t.$playbackProgressTip,"display","block");const{width:s,time:r}=mc(t,e.playback.totalDuration,i);t.$playbackProgressTip.innerHTML=r;const a=t.$playbackProgressTip.clientWidth;s<=a/2?ya(t.$playbackProgressTip,"left",0):s>t.$playbackProgress.clientWidth-a/2?ya(t.$playbackProgressTip,"left",t.$playbackProgress-a+"px"):ya(t.$playbackProgressTip,"left",s-a/2+"px")})),i(t.$playbackProgress,"mouseout",(()=>{ya(t.$playbackProgressTip,"display","none")})),i(t.$playbackProgressIndicator,"mousedown",(e=>{t.isDroging=!0})),i(t.$playbackProgress,"mousemove",(i=>{if(t.isDroging){const{second:s,percentage:r}=mc(t,e.playback.totalDuration,i);e.playback&&e.playback.seek({time:s})}})),i(t.$playbackProgress,"mouseup",(e=>{t.isDroging&&(t.isDroging=!1)})))}e.isPlayVod()&&(e._opt.playVodConfig.showRateBtn&&(i(t.$speedMenu,"mouseover",(()=>{t.$speedMenuList.classList.add("jb-pro-speed-menu-shown")})),i(t.$speedMenu,"mouseout",(()=>{t.$speedMenuList.classList.remove("jb-pro-speed-menu-shown")})),i(t.$speedMenuList,"click",(t=>{const i=oo(t);if(i.matches("div.jb-pro-speed-menu-item")){const t=i.dataset;e.playVodForward(t.speed)}}))),t.isDroging=!1,i(t.$playbackProgress,"click",(i=>{if(i.target!==t.$playbackProgressIndicator){let s=0,r=0;if(e.isInWebFullscreen())s=i.touches[0].clientY/e.height,r=s*e.playVod.totalDuration;else{const a=mc(t,e.playVod.totalDuration,i);s=a.percentage,r=a.second}e.playVod&&e.playVod.seek({time:r})}})),i(t.$playbackProgress,"mousemove",(i=>{ya(t.$playbackProgressTip,"display","block");const{width:s,time:r}=mc(t,e.playVod.totalDuration,i);t.$playbackProgressTip.innerHTML=r;const a=t.$playbackProgressTip.clientWidth;s<=a/2?ya(t.$playbackProgressTip,"left",0):s>t.$playbackProgress.clientWidth-a/2?ya(t.$playbackProgressTip,"left",t.$playbackProgress-a+"px"):ya(t.$playbackProgressTip,"left",s-a/2+"px")})),i(t.$playbackProgress,"mouseout",(()=>{ya(t.$playbackProgressTip,"display","none")})),i(t.$playbackProgressIndicator,"mousedown",(e=>{t.isDroging=!0})),i(t.$playbackProgress,"mousemove",(i=>{if(t.isDroging){const{second:s,percentage:r}=mc(t,e.playVod.totalDuration,i);e.playVod&&e.playVod.seek({time:s})}})),i(t.$playbackProgress,"mouseup",(e=>{t.isDroging&&(t.isDroging=!1)}))),a.quality&&(i(t.$qualityMenu,"mouseover",(()=>{t.$qualityMenuList.classList.add("jb-pro-quality-menu-shown")})),i(t.$qualityMenu,"mouseout",(()=>{t.$qualityMenuList.classList.remove("jb-pro-quality-menu-shown")})),i(t.$qualityMenuList,"click",(t=>{const i=oo(t);if(i.matches("div.jb-pro-quality-menu-item")){const t=i.dataset;e.streamQuality=t.quality}}))),a.scale&&(i(t.$scaleMenu,"mouseover",(()=>{t.$scaleMenuList.classList.add("jb-pro-scale-menu-shown")})),i(t.$scaleMenu,"mouseout",(()=>{t.$scaleMenuList.classList.remove("jb-pro-scale-menu-shown")})),i(t.$scaleMenuList,"click",(t=>{const i=oo(t);if(i.matches("div.jb-pro-scale-menu-item")){const t=i.dataset;e.setScaleMode(t.scale)}}))),a.zoom&&(i(t.$zoom,"click",(t=>{t.stopPropagation(),e.zooming=!0})),i(t.$zoomStop,"click",(t=>{t.stopPropagation(),e.zooming=!1}))),i(t.$zoomExpand,"click",(t=>{t.stopPropagation(),e.zoom&&e.zoom.expandPrecision()})),i(t.$zoomNarrow,"click",(t=>{t.stopPropagation(),e.zoom&&e.zoom.narrowPrecision()})),i(t.$zoomStop2,"click",(t=>{t.stopPropagation(),e.zooming=!1})),a.close&&i(t.$close,"click",(t=>{t.stopPropagation(),e.doDestroy()})),i(t.$tipsMessageClose,"click",(e=>{e.stopPropagation(),t.$tipsMessageContent.innerHTML="",ya(t.$tipsMessage,"display","none")}))})(e,this),e._opt.hotKey&&Ea()&&((e,t)=>{const{events:{proxy:i}}=e;let s={};function r(e,t){s[e]?s[e].push(t):s[e]=[t]}t.keys=s,r(Ri,(()=>{e.fullscreen&&(e.fullscreen=!1)})),r(Pi,(()=>{e.volume+=.05})),r(Ii,(()=>{e.volume-=.05})),i(window,"keydown",(e=>{if(t.isFocus){const t=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==i&&"true"!==i){const t=s[e.keyCode];t&&(e.preventDefault(),t.forEach((e=>e())))}}}))})(e,this),this.btnIndex=0,this.initLoadingBackground(),io(e._opt.loadingIconStyle)&&this.initLoadingIconStyle(e._opt.loadingIconStyle),io(e._opt.ptzPositionConfig)&&this.updatePtzPosition(e._opt.ptzPositionConfig),e._opt.initShowPlayBtn&&(this.isInitPlayer=!0,this.showPlayBtn()),this.updateControlSize(),this.kbpsShow="0 KB/s",this.player.debugLog("Control","init")}destroy(){if(this.$performancePanel){this.$performancePanel.innerHTML="";if(!Sc(this.$performancePanel)){const e=this.player.$container.querySelector(".jb-pro-performance-panel");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$performancePanel}if(this.$poster){if(!Sc(this.$poster)){const e=this.player.$container.querySelector(".jb-pro-poster");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$poster}if(this.$loading){if(!Sc(this.$loading)){const e=this.player.$container.querySelector(".jb-pro-loading");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$loading}if(this.$loadingBg){if(!Sc(this.$loadingBg)){const e=this.player.$container.querySelector(".jb-pro-loading-bg");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$loadingBg}if(this.$controls){if(!Sc(this.$controls)){const e=this.player.$container.querySelector(".jb-pro-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$controls}if(this.$playBig){if(!Sc(this.$playBig)){const e=this.player.$container.querySelector(".jb-pro-play-big");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$playBig}if(this.$recording){if(!Sc(this.$recording)){const e=this.player.$container.querySelector(".jb-pro-recording");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$recording}if(this.$ptzControl){if(!Sc(this.$ptzControl)){const e=this.player.$container.querySelector(".jb-pro-ptz-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$ptzControl}if(this.$zoomControls){if(!Sc(this.$zoomControls)){const e=this.player.$container.querySelector(".jb-pro-zoom-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$zoomControls}if(this.$contextmenus){this.$contextmenus.innerHTML="";if(!Sc(this.$contextmenus)){const e=this.player.$container.querySelector(".jb-pro-contextmenus");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$contextmenus}if(this.$tipsMessage){if(!Sc(this.$tipsMessage)){const e=this.player.$container.querySelector(".jb-pro-tips-message");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$tipsMessage}if(this.$extendDom){if(!Sc(this.$extendDom)){const e=this.player.$container.querySelector(".jb-pro-extend-dom");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$extendDom}try{delete this.$tipsMessageContent,delete this.$tipsMessageClose,delete this.$playbackProgressTime,delete this.$playbackProgressIndicator,delete this.$playbackProgressPlayed,delete this.$playbackProgressHover,delete this.$$playbackProgressTip,delete this.$playbackProgress,delete this.$logSave,delete this.$speedMenuList,delete this.$speedMenu,delete this.$speedText,delete this.$contextmenus,delete this.$occlusionDetectActive,delete this.$occlusionDetect,delete this.$objectDetectActive,delete this.$objectDetect,delete this.$faceDetectActive,delete this.$faceDetect,delete this.$performanceActive,delete this.$performance,delete this.$performancePanel,delete this.$zoomControls,delete this.$close,delete this.$zoomStop2,delete this.$zoomExpand,delete this.$zoomNarrow,delete this.$zoomStop,delete this.$zoom,delete this.$scaleMenuList,delete this.$scaleMenu,delete this.$scaleText,delete this.$qualityMenuList,delete this.$qualityMenu,delete this.$qualityText,delete this.$ptzWiperClose,delete this.$ptzWiperOpen,delete this.$ptzFogClose,delete this.$ptzFogOpen,delete this.$ptzCruisePause,delete this.$ptzCruisePlay,delete this.$ptzFocusNear,delete this.$ptzFocusFar,delete this.$ptzApertureNear,delete this.$ptzApertureFar,delete this.$ptzNarrow,delete this.$ptzExpand,delete this.$ptzArrows,delete this.$ptzControlCircular,delete this.$ptzBgActive,delete this.$ptzControl,delete this.$ptzActive,delete this.$ptz,delete this.$playbackExpand,delete this.$playbackNarrow,delete this.$controlsPlaybackBtns,delete this.$playbackCurrentTimeText,delete this.$playbackCurrentTime,delete this.$playbackTimeListSecond,delete this.$playbackTimeListOne,delete this.$playbackTimeList,delete this.$playbackTimeScroll,delete this.$playbackTimeInner,delete this.$playbackTime,delete this.$controlHtml,delete this.$speed,delete this.$screenshot,delete this.$recordStop,delete this.$record,delete this.$fullscreenExit,delete this.$fullscreen,delete this.$volumeOff,delete this.$volumeOn,delete this.$volumeHandle,delete this.$volumePanel,delete this.$volumePanelText,delete this.$volumePanelWrap,delete this.$volume,delete this.$controlsRight,delete this.$controlsLeft,delete this.$controlsInner,delete this.$controls,delete this.$pause,delete this.$recordingStop,delete this.$recordingTime,delete this.$recording,delete this.$playBig,delete this.$play,delete this.$loadingText,delete this.$loading,delete this.$loadingBgImage,delete this.$loadingBg,delete this.$poster,delete this.$extendDom,delete this.controlsRect,delete this.controlsInnerRect,delete this.controlsLeftRect,delete this.controlsRightRect,delete this.controlsPlaybackTimeInner,delete this.controlsPlaybackBtnsRect}catch(e){}this.keys=null,this.btnIndex=0,this.extendBtnList=[],this.kbpsShow="0 KB/s",this.player.$container&&(this.player.$container.classList.remove("jb-pro-controls-show-auto-hide"),this.player.$container.classList.remove("jb-pro-controls-show")),this.player.debugLog("Control","destroy")}getBtnIndex(){return this.btnIndex++}autoSize(){const e=this.player;e.$container.style.padding="0 0";const t=e.width,i=e.height,s=t/i,r=e.video.$videoElement.width/e.video.$videoElement.height;if(s>r){const s=(t-i*r)/2;e.$container.style.padding=`0 ${s}px`}else{const s=(i-t/r)/2;e.$container.style.padding=`${s}px 0`}}initLoadingBackground(){const e=this.player;e._opt.loadingBackground&&e._opt.loadingBackgroundWidth&&e._opt.loadingBackgroundHeight&&(e.debugLog("Control","initLoadingBackground()"),"default"===this.player._opt.aspectRatio||Sa()?e.getRenderType()===J?this._initLoadingBackgroundForCanvas():e.getRenderType()===q&&this._initLoadingBackgroundForVideo():this._initLoadingBackgroundForRatio(),vc(this.$loadingBg,"display","block"),e._opt.loadingBackground="")}resizeLoadingBackground(){this.$loadingBgImage.src&&this.$loadingBgImage.width>0&&this.$loadingBgImage.height>0&&"none"!==Aa(this.$loadingBg,"display",!1)&&("default"===this.player._opt.aspectRatio||Sa()?this.player.getRenderType()===J?this._initLoadingBackgroundForCanvas():this.player.getRenderType()===q&&this._initLoadingBackgroundForVideo():this._initLoadingBackgroundForRatio())}initLoadingIconStyle(e){const t=this.player.$container.querySelector(".jb-pro-icon-loading");t&&(e.width&&vc(t,"width",`${e.width}px`),e.height&&vc(t,"height",`${e.height}px`),e.background&&vc(t,"backgroundImage",`url("${e.background}")`),!1===e.hasAnimation&&(vc(t,"animationName","none"),vc(t,"animationDuration",0),vc(t,"animationTimingFunction","ease"),vc(t,"animationIterationCount",1)))}_initLoadingBackgroundForRatio(){const e=this.player._opt.aspectRatio.split(":").map(Number),t=this.player.getShowVideoRect(),i=this.player.getControlHeight(),s=t.width,r=t.height,a=this.player._opt.loadingBackgroundWidth,o=this.player._opt.loadingBackgroundHeight,n=a/o,l=e[0]/e[1];if(this.player._opt.loadingBackground&&(this.$loadingBgImage.src=this.player._opt.loadingBackground),n>l){const e=l*o/a;this.$loadingBgImage.style.width=100*e+"%",this.$loadingBgImage.style.height=`calc(100% - ${i}px)`,this.$loadingBgImage.style.padding=`0 ${(s-s*e)/2}px`}else{const e=a/l/o;this.$loadingBgImage.style.width="100%",this.$loadingBgImage.style.height=`calc(${100*e}% - ${i}px)`,this.$loadingBgImage.style.padding=(r-r*e)/2+"px 0"}}_initLoadingBackgroundForCanvas(){const e=this.player,t=e._opt,i=e.getShowVideoRect(),s=i.height,r=i.width,a={width:this.player._opt.loadingBackgroundWidth,height:this.player._opt.loadingBackgroundHeight};let o=a.width,n=a.height;const l=t.rotate;let d=(r-o)/2,h=(s-n)/2;270!==l&&90!==l||(o=a.height,n=a.width);const c=r/o,u=s/n;let p=c>u?u:c;Lo(t.isResize)&&c!==u&&(p=c+","+u),t.isFullResize&&(p=c>u?c:u);let m="scale("+p+")";"none"===t.mirrorRotate&&l&&(m+=" rotate("+l+"deg)"),"level"===t.mirrorRotate?m+=" rotateY(180deg)":"vertical"===t.mirrorRotate&&(m+=" rotateX(180deg)"),this.$loadingBgImage.width=a.width,this.$loadingBgImage.height=a.height,e._opt.loadingBackground&&(this.$loadingBgImage.src=e._opt.loadingBackground),this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.transform=m,this.$loadingBgImage.style.left=d+"px",this.$loadingBgImage.style.top=h+"px"}_initLoadingBackgroundForVideo(){const e=this.player,t=e._opt,i=e.getShowVideoRect(),s=i.width,r=i.height;let a=i.width,o=i.height;const n=t.rotate;270!==n&&90!==n||(a=r,o=s),this.$loadingBgImage.width=a,this.$loadingBgImage.height=o,e._opt.loadingBackground&&(this.$loadingBgImage.src=e._opt.loadingBackground);let l=(s-a)/2,d=(r-o)/2,h="contain";t.isResize||(h="fill"),t.isFullResize&&(h="none");let c="";"none"===t.mirrorRotate&&n&&(c+=" rotate("+n+"deg)"),"level"===t.mirrorRotate?c+=" rotateY(180deg)":"vertical"===t.mirrorRotate&&(c+=" rotateX(180deg)"),this.player._opt.videoRenderSupportScale&&(this.$loadingBgImage.style.objectFit=h),this.$loadingBgImage.style.transform=c,this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.left=l+"px",this.$loadingBgImage.style.top=d+"px"}_validateExtendBtn(e){let t=!0;if(e.name||(this.player.debugWarn("Control","extend button name is required"),t=!1),t){-1!==this.extendBtnList.findIndex((t=>t.name===e.name))&&(this.player.debugWarn("Control",`extend button name: ${e.name} is already exist`),t=!1)}return t&&(e.icon||(this.player.debugWarn("Control","extend button icon is required"),t=!1)),t}addExtendBtn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=So(Bs);if(e=Object.assign({},t,e),!this._validateExtendBtn(e))return;const i=e.name||"",s=this.$controlsRight,r=e.createdMoment||Mr,a=e.activeIcon&&e.activeClick,o=`\n
      \n ${e.icon?`
      \n \n ${e.iconTitle?`\n ${e.iconTitle}\n `:""}\n
      `:""}\n ${e.activeIcon?`
      \n \n ${e.activeIconTitle?`\n ${e.activeIconTitle}\n `:""}\n
      `:""}\n
      \n `,n=Array.from(s.children)[e.index];n?n.insertAdjacentHTML("beforebegin",o):bc(s,o);const l=s.querySelector(`.jb-pro-controls-item-wrap-${i}`),d=e.icon?s.querySelector(`.jb-pro-icon-extend-${i}`):null,h=e.icon?s.querySelector(`.jb-pro-control-extend-${i}`):null,c=e.activeIcon?s.querySelector(`.jb-pro-icon-extend-${i}-active`):null,u=e.activeIcon?s.querySelector(`.jb-pro-control-extend-${i}-active`):null,{events:{proxy:p},debug:m}=this.player;e.icon&&(vc(d,"background",`url(${e.icon}) no-repeat center`),vc(d,"background-size","100% 100%"),vc(h,"display",r===Ir?"flex":"none"),e.iconHover&&(p(d,"mouseover",(()=>{vc(d,"background",`url(${e.iconHover}) no-repeat center`),vc(d,"background-size","100% 100%")})),p(d,"mouseout",(()=>{vc(d,"background",`url(${e.icon}) no-repeat center`),vc(d,"background-size","100% 100%")})))),e.activeIcon&&(vc(c,"background",`url(${e.activeIcon}) no-repeat center`),vc(c,"background-size","100% 100%"),vc(u,"display","none"),e.activeIconHover&&(p(c,"mouseover",(()=>{vc(c,"background",`url(${e.activeIconHover}) no-repeat center`),vc(c,"background-size","100% 100%")})),p(c,"mouseout",(()=>{vc(c,"background",`url(${e.activeIcon}) no-repeat center`),vc(c,"background-size","100% 100%")})))),e.click&&d&&p(d,"click",(t=>{t.preventDefault(),a&&(vc(h,"display","none"),vc(u,"display","flex")),this.player.isInMulti()?e.click.call(this.player,t,this.player._opt.multiIndex):e.click.call(this.player,t)})),e.activeClick&&c&&p(c,"click",(t=>{t.preventDefault(),vc(h,"display","flex"),vc(u,"display","none"),this.player.isInMulti()?e.activeClick.call(this.player,t,this.player._opt.multiIndex):e.activeClick.call(this.player,t)})),this.extendBtnList.push({name:i,createdMoment:r,$iconContainer:l,$iconWrap:h,$activeIconWrap:u})}toggleExtendBtn(e,t){const i=this.extendBtnList.find((t=>t.name===e));i&&i.$activeIconWrap&&i.$iconWrap&&(Va(t)||(t="none"===Aa(i.$activeIconWrap,"display",!1)),t?(vc(i.$iconWrap,"display","none"),vc(i.$activeIconWrap,"display","flex")):(vc(i.$iconWrap,"display","flex"),vc(i.$activeIconWrap,"display","none")))}getExtendBtnActive(e){const t=this.extendBtnList.find((t=>t.name===e));let i=!1;return t&&t.$activeIconWrap&&(i="none"!==Aa(t.$activeIconWrap,"display",!1)),i}addExtendDom(e){if(e.html){const t=`\n
      \n ${e.html}\n
      \n `;this.player.$container.insertAdjacentHTML("beforeend",t),Object.defineProperty(this,"$extendDom",{value:this.player.$container.querySelector(".jb-pro-extend-dom"),configurable:!0}),e.showBeforePlay&&vc(this.$extendDom,"display","block")}}toggleExtendDom(e){this.$extendDom&&(Va(e)||(e="none"===Aa(this.$extendDom,"display",!1)),vc(this.$extendDom,"display",e?"block":"none"))}updateExtendDom(e){this.$extendDom&&(this.$extendDom.innerHTML=e)}removeExtendDom(){this.$extendDom&&(this.$extendDom.innerHTML="")}updateLoadingText(e){this.$loadingText&&(this.$loadingText.innerText=e)}getExtendBtnList(){return this.extendBtnList}showTipsMessage(e,t){const i=this.$tipsMessage,s=this.$tipsMessageContent;if(i){const r=`\n
      ${e}
      \n ${t?`
      Error Type:${t}
      `:""}\n `;s.innerHTML=r,vc(i,"display","block")}}hideTipsMessage(){const e=this.$tipsMessage,t=this.$tipsMessageContent;e&&(t.innerHTML="",vc(e,"display","none"))}updatePtzPosition(e){const t=this.$ptzControl;if(io(e)&&t){let i="auto";e.left&&(i=Number(e.left)===e.left?e.left+"px":e.left),vc(t,"left",i);let s="auto";e.top&&(s=Number(e.top)===e.top?e.top+"px":e.top),vc(t,"top",s);let r="auto";e.bottom&&(r=Number(e.bottom)===e.bottom?e.bottom+"px":e.bottom),vc(t,"bottom",r);let a="auto";e.right&&(a=Number(e.right)===e.right?e.right+"px":e.right),vc(t,"right",a)}}showPlayBtn(){vc(this.$playBig,"display","block")}toggleBar(e){this.$controls&&(Va(e)||(e="none"===Aa(this.$controls,"display",!1)),vc(this.$controls,"display",e?"flex":"none"))}getBarIsShow(){let e=!1;return this.$controls&&(e="none"!==Aa(this.$controls,"display",!1)),e}toggleControlHtml(e){this.$controlHtml&&(Va(e)||(e="none"===Aa(this.$controlHtml,"display",!1)),vc(this.$controlHtml,"display",e?"block":"none"))}getControlHtmlIsShow(){let e=!1;return this.$controlHtml&&(e="none"!==Aa(this.$controlHtml,"display",!1)),e}getExtendDomIsShow(){let e=!1;return this.$extendDom&&(e="none"!==Aa(this.$extendDom,"display",!1)),e}getExtendDom(){return this.$extendDom?this.$extendDom:null}getControlHtml(){return this.$controlHtml?this.$controlHtml:null}updateControlSize(){if(this.$controls){const e=this.player._opt.controlSize,t="jb-pro-controls-small";e===te?Lo(Ac(this.$controls,t))&&gc(this.$controls,t):e===ee&&Ac(this.$controls,t)&&yc(this.$controls,t)}}}Tc(".jb-pro-container{position:relative;width:100%;height:100%;overflow:hidden}.jb-pro-container.jb-pro-fullscreen-web{position:fixed;z-index:9999;left:0;top:0;right:0;bottom:0;width:100vw!important;height:100vh!important;background:#000}.jb-pro-container .jb-pro-loading-bg-for-ios{position:absolute;z-index:100;left:0;top:0;right:0;bottom:0;height:100%;width:100%;opacity:0;visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-loading-bg-for-ios.show{opacity:1;visibility:visible}");var kc=e=>{const{_opt:t,events:{proxy:i}}=e;if(t.supportDblclickFullscreen&&i(e.$container,"dblclick",(t=>{const i=oo(t).nodeName.toLowerCase();"canvas"!==i&&"video"!==i||(e.fullscreen=!e.fullscreen)})),i(document,"visibilitychange",(()=>{e.visibility="visible"===document.visibilityState,e.debugLog("visibilitychange",document.visibilityState),t.hiddenAutoPause&&(e.debugLog("visibilitychange","hiddenAutoPause is true ",document.visibilityState,e._isPlayingBeforePageHidden),"visible"===document.visibilityState?e._isPlayingBeforePageHidden&&e.play():(e._isPlayingBeforePageHidden=e.playing,e.playing&&e.pause()))})),Ea()&&i(document,["click","contextmenu"],(t=>{_c(t,e.$container)?(ko(e._opt.disableContextmenu)&&"contextmenu"===t.type&&t.preventDefault(),e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit(At.focus)):(e.isInput=!1,e.isFocus=!1,e.emit(At.blur))})),t.isCheckInView){const t=Ia((()=>{e.emit(At.inView,function(e){const t=e.getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight,s=window.innerWidth||document.documentElement.clientWidth,r=t.top<=i&&t.top+t.height>=0,a=t.left<=s&&t.left+t.width>=0;return r&&a}(e.$container))}),200);i(window,"scroll",(()=>t()))}if(t.orientationChangeResize){const t=Ia((()=>{e.emit(At.resize)}),500);i(window,"orientationchange",(()=>{t()})),screen&&screen.orientation&&screen.orientation.onchange&&i(screen.orientation,"change",(()=>{t()}))}};class Lc{static init(){Lc.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in Lc.types)Lc.types.hasOwnProperty(e)&&(Lc.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=Lc.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,s=Array.prototype.slice.call(arguments,1),r=s.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return Lc.box(Lc.types.trak,Lc.tkhd(e),Lc.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,s=e.presentWidth,r=e.presentHeight;return Lc.box(Lc.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>>8&255,255&s,0,0,r>>>8&255,255&r,0,0]))}static mdia(e){return Lc.box(Lc.types.mdia,Lc.mdhd(e),Lc.hdlr(e),Lc.minf(e))}static mdhd(e){let t=e.timescale,i=e.duration;return Lc.box(Lc.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?Lc.constants.HDLR_AUDIO:Lc.constants.HDLR_VIDEO,Lc.box(Lc.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?Lc.box(Lc.types.smhd,Lc.constants.SMHD):Lc.box(Lc.types.vmhd,Lc.constants.VMHD),Lc.box(Lc.types.minf,t,Lc.dinf(),Lc.stbl(e))}static dinf(){return Lc.box(Lc.types.dinf,Lc.box(Lc.types.dref,Lc.constants.DREF))}static stbl(e){return Lc.box(Lc.types.stbl,Lc.stsd(e),Lc.box(Lc.types.stts,Lc.constants.STTS),Lc.box(Lc.types.stsc,Lc.constants.STSC),Lc.box(Lc.types.stsz,Lc.constants.STSZ),Lc.box(Lc.types.stco,Lc.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?Lc.box(Lc.types.stsd,Lc.constants.STSD_PREFIX,Lc.mp3(e)):Lc.box(Lc.types.stsd,Lc.constants.STSD_PREFIX,Lc.mp4a(e)):"avc"===e.videoType?Lc.box(Lc.types.stsd,Lc.constants.STSD_PREFIX,Lc.avc1(e)):Lc.box(Lc.types.stsd,Lc.constants.STSD_PREFIX,Lc.hvc1(e))}static mp3(e){let t=e.channelCount,i=e.audioSampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Lc.box(Lc.types[".mp3"],s)}static mp4a(e){let t=e.channelCount,i=e.audioSampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Lc.box(Lc.types.mp4a,s,Lc.esds(e))}static esds(e){let t=e.config||[],i=t.length,s=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return Lc.box(Lc.types.esds,s)}static avc1(e){let t=e.avcc;const i=e.codecWidth,s=e.codecHeight;let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Lc.box(Lc.types.avc1,r,Lc.box(Lc.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,s=e.codecHeight;let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Lc.box(Lc.types.hvc1,r,Lc.box(Lc.types.hvcC,t))}static mvex(e){return Lc.box(Lc.types.mvex,Lc.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Lc.box(Lc.types.trex,i)}static moof(e,t){return Lc.box(Lc.types.moof,Lc.mfhd(e.sequenceNumber),Lc.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return Lc.box(Lc.types.mfhd,t)}static traf(e,t){let i=e.id,s=Lc.box(Lc.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),r=Lc.box(Lc.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=Lc.sdtp(e),o=Lc.trun(e,a.byteLength+16+16+8+16+8+8);return Lc.box(Lc.types.traf,s,r,o,a)}static sdtp(e){let t=new Uint8Array(5),i=e.flags;return t[4]=i.isLeading<<6|i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy,Lc.box(Lc.types.sdtp,t)}static trun(e,t){let i=new Uint8Array(28);t+=36,i.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let s=e.duration,r=e.size,a=e.flags,o=e.cts;return i.set([s>>>24&255,s>>>16&255,s>>>8&255,255&s,r>>>24&255,r>>>16&255,r>>>8&255,255&r,a.isLeading<<2|a.dependsOn,a.isDependedOn<<6|a.hasRedundancy<<4|a.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),Lc.box(Lc.types.trun,i)}static mdat(e){return Lc.box(Lc.types.mdat,e)}}Lc.init();class Cc extends Oo{constructor(e){super(),this.TAG_NAME="MediaSource",this.player=e,this._resetInIt(),this._useManagedMediaSource="ManagedMediaSource"in Fr&&!("MediaSource"in Fr),this.mediaSource=this._useManagedMediaSource?new Fr.ManagedMediaSource:new Fr.MediaSource,this.isDecodeFirstIIframe=!!Lo(e._opt.checkFirstIFrame),this.mediaSourceObjectURL=null,this._useManagedMediaSource||(this.mediaSourceObjectURL=Fr.URL.createObjectURL(this.mediaSource)),this.isSupportVideoFrameCallback=Io(),this.canvasRenderInterval=null,e._opt.mseUseCanvasRender?(this.$videoElement=document.createElement("video"),this._useManagedMediaSource?(this.$videoElement.disableRemotePlayback=!0,this.$videoElement.srcObject=this.mediaSource):this.$videoElement.src=this.mediaSourceObjectURL,this.initVideoEvents()):(this._useManagedMediaSource?(this.player.video.$videoElement.disableRemotePlayback=!0,this.player.video.$videoElement.srcObject=this.mediaSource):this.player.video.$videoElement.src=this.mediaSourceObjectURL,this.$videoElement=this.player.video.$videoElement),this._bindMediaSourceEvents(),this.audioSourceBufferCheckTimeout=null,this.audioSourceNoDataCheckTimeout=null,this.hasPendingEos=!1,this.player.isPlayback()?this.player.on(At.playbackPause,(t=>{Lo(t)?(e._opt.isPlaybackPauseClearCache&&(ko(e._opt.checkFirstIFrame)&&(this.player.debugLog(this.TAG_NAME,"playbackPause is false and _opt.checkFirstIFrame is true so set isDecodeFirstIIframe = false"),this.isDecodeFirstIIframe=!1),this.clearUpAllSourceBuffer()),this.$videoElement.play()):(this.$videoElement.pause(),this.cacheTrack={})})):this.player.isPlayVod()&&this.player.on(At.playVodPause,(e=>{Lo(e)?this.$videoElement.play():(this.$videoElement.pause(),this.cacheTrack={})})),this._useManagedMediaSource?this.player.debugLog(this.TAG_NAME,"init and using ManagedMediaSource"):this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.stop(),this._clearAudioSourceBufferCheckTimeout(),this._clearAudioNoDataCheckTimeout(),this._stopCanvasRender(),this.eventListenList.length&&(this.eventListenList.forEach((e=>e())),this.eventListenList=[]),this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null),this.$videoElement&&(this.player._opt.mseUseCanvasRender&&(this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"))),this.$videoElement=null),this.mediaSourceObjectURL&&(window.URL.revokeObjectURL(this.mediaSourceObjectURL),this.mediaSourceObjectURL=null),this._resetInIt(),this.mediaSource=null,this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}needInitAudio(){return this.player._opt.hasAudio&&this.player._opt.mseDecodeAudio}_resetInIt(){this.isAvc=null,this.isAAC=null,this.videoMeta={},this.audioMeta={},this.sourceBuffer=null,this.audioSourceBuffer=null,this.hasInit=!1,this.hasAudioInit=!1,this.isInitInfo=!1,this.isAudioInitInfo=!1,this.audioMimeType="",this.videoMimeType="",this.cacheTrack={},this.cacheAudioTrack={},this.sequenceNumber=0,this.audioSequenceNumber=0,this.firstRenderTime=null,this.firstAudioTime=null,this.$videoElement=null,this.mediaSourceAppendBufferFull=!1,this.mediaSourceAppendBufferError=!1,this.mediaSourceAddSourceBufferError=!1,this.mediaSourceBufferError=!1,this.mediaSourceError=!1,this.prevTimestamp=null,this.decodeDiffTimestamp=null,this.prevDts=null,this.prevAudioDts=null,this.prevPayloadBufferSize=0,this.isWidthOrHeightChanged=!1,this.prevTs=null,this.prevAudioTs=null,this.eventListenList=[],this.pendingRemoveRanges=[],this.pendingSegments=[],this.pendingAudioRemoveRanges=[],this.pendingAudioSegments=[],this.supportVideoFrameCallbackHandle=null}get state(){return this.mediaSource&&this.mediaSource.readyState}get isStateOpen(){return this.state===Di}get isStateClosed(){return this.state===xi}get isStateEnded(){return this.state===Ci}get duration(){return this.mediaSource&&this.mediaSource.duration||-1}set duration(e){this.mediaSource.duration=e}_bindMediaSourceEvents(){const{events:{proxy:e}}=this.player,t=e(this.mediaSource,ss,(()=>{this.player.debugLog(this.TAG_NAME,"sourceOpen"),this._onMediaSourceSourceOpen(),this.player.emit(At.mseSourceOpen)})),i=e(this.mediaSource,is,(()=>{this.player.debugLog(this.TAG_NAME,"sourceClose"),this.player.emit(At.mseSourceClose)})),s=e(this.mediaSource,rs,(()=>{this.player.debugLog(this.TAG_NAME,"sourceended"),this.player.emit(At.mseSourceended)}));this.eventListenList.push(t,i,s);const r=e(this.$videoElement,hs,(e=>{if(Lo(this.isSupportVideoFrameCallback))if(this.player.checkIsInRender())this.player.handleRender();else{const t=parseInt(e.timeStamp,10);this.player.debugLog(this.TAG_NAME,`mseUseCanvasRender is ${this.player._opt.mseUseCanvasRender} and\n $videoElement ts is ${t}, but not in render and vbps is ${this.player._stats.vbps} and fps is ${this.player._stats.fps}`)}}));if(this.eventListenList.push(r),this._useManagedMediaSource){const t=e(this.mediaSource,as,(()=>{this.player.debugLog(this.TAG_NAME,"ManagedMediaSource startstreaming"),this.player.emit(At.mseSourceStartStreaming)})),i=e(this.mediaSource,os,(()=>{this.player.debugLog(this.TAG_NAME,"ManagedMediaSource endstreaming"),this.player.emit(At.mseSourceEndStreaming)})),s=e(this.mediaSource,ns,(()=>{this.player.debugLog(this.TAG_NAME,"ManagedMediaSource qualitychange")}));this.eventListenList.push(t,i,s)}}_onMediaSourceSourceOpen(){this.sourceBuffer||(this.player.debugLog("MediaSource","onMediaSourceSourceOpen() sourceBuffer is null and next init"),this._initSourceBuffer()),this.audioSourceBuffer||(this.player.debugLog("MediaSource","onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),this._initAudioSourceBuffer()),this._hasPendingSegments()&&this._doAppendSegments()}initVideoEvents(){const{proxy:e}=this.player.events;this.player.on(At.visibilityChange,(e=>{e&&setTimeout((()=>{if(this.player.isPlaying()&&this.$videoElement){const e=this.getVideoBufferLastTime();e-this.$videoElement.currentTime>this.getMseBufferMaxDelayTime()&&(this.player.debugLog(this.TAG_NAME,`visibilityChange is true and lastTime is ${e} and currentTime is ${this.$videoElement.currentTime} so set currentTime to lastTime`),this.$videoElement.currentTime=e)}}),300)}));const t=e(this.$videoElement,ls,(()=>{this.player.debugLog(this.TAG_NAME,"video canplay"),this.$videoElement.play().then((()=>{this.player.emit(At.removeLoadingBgImage),Io()?this.supportVideoFrameCallbackHandle||(this.player.debugLog(this.TAG_NAME,"video canplay and requestVideoFrameCallback and use videoFrameCallback"),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))):this.player.isUseHls265()&&(this.player.debugLog(this.TAG_NAME,"video canplay and use canvas render and fps is 25"),this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.player.video.render({$video:this.$videoElement,ts:parseInt(1e3*this.$videoElement.currentTime,10)||0})}),40)),this.player.debugLog(this.TAG_NAME,"video play")})).catch((e=>{this.player.debugError(this.TAG_NAME,"video play error ",e),this.player.emitError(_t.mediaSourceUseCanvasRenderPlayFailed,`code is ${e.code} and message is ${e.message}`)}))})),i=e(this.$videoElement,ds,(()=>{this.player.debugLog(this.TAG_NAME,"video waiting")})),s=e(this.$videoElement,us,(()=>{this.player.debugLog(this.TAG_NAME,"video loadedmetadata")})),r=e(this.$videoElement,hs,(e=>{parseInt(e.timeStamp,10),this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"video is paused and next try to replay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video is paused and replay success")})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video is paused and replay error ",e)})))})),a=e(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate),this.$videoElement&&this.$videoElement.paused&&this.player.debugWarn(this.TAG_NAME,"ratechange and video is paused")}));this.eventListenList.push(t,i,r,a,s)}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math.max(t.mediaTime,this.$videoElement.currentTime),10)||0;this.player.handleRender(),this.player.video.render({$video:this.$videoElement,ts:i}),this.player.isUseHls265()&&this.player.updateStats({fps:!0,ts:i}),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}decodeVideo(e,t,i,s){const r=this.player;if(r)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeVideo() player is destroyed");else if(this.hasInit)if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){if(i&&0===e[1]){const t=15&e[0];let i={};if(t===xt){i=Jn(e.slice(5))}else t===Rt&&(i=al(e));const s=this.player.video.videoInfo;s&&s.width&&s.height&&i&&i.codecWidth&&i.codecHeight&&(i.codecWidth!==s.width||i.codecHeight!==s.height)&&(this.player.debugWarn(this.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${s.width}, old height is ${s.height},\n new width is ${i.codecWidth}, new height is ${i.codecHeight},\n and emit change event`),this.isWidthOrHeightChanged=!0,this.player.emitError(_t.mseWidthOrHeightChange,`width ${s.width}->${i.codecWidth}, height ${s.height}->${i.codecHeight}`))}if(this.isWidthOrHeightChanged)return void this.player.debugWarn(this.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(wo(e))return void this.player.debugLog(this.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength<12)return void this.player.debugWarn(this.TAG_NAME,`decodeVideo and payload is too small , payload length is ${e.byteLength}`);let r=t;if(this.player.isPlayer()){if(null===this.firstRenderTime&&(this.firstRenderTime=t,this.player.debugLog(this.TAG_NAME,`firstRenderTime is ${this.firstRenderTime}`)),r=t-this.firstRenderTime,r<0&&(this.player.debugWarn(this.TAG_NAME,`decodeVideo\n local dts is < 0 , ts is ${t} and prevTs is ${this.prevTs},\n firstRenderTime is ${this.firstRenderTime} and mseCorrectTimeDuration is ${this.player._opt.mseCorrectTimeDuration}`),r=null===this.prevDts?0:this.prevDts+this.player._opt.mseCorrectTimeDuration,this._checkTsIsMaxDiff(t)))return this.player.debugWarn(this.TAG_NAME,`decodeVideo is max diff , ts is ${t} and prevTs is ${this.prevTs}, diff is ${this.prevTs-t} and emit replay`),void this.player.emitError(_t.mediaSourceTsIsMaxDiff,`decodeVideo is max diff, prevTs is ${this.prevTs} and ts is ${t}`);if(null!==this.prevDts&&r<=this.prevDts){if(this.player.debugWarn(this.TAG_NAME,`\n decodeVideo dts is less than(or equal) prev dts ,\n dts is ${r} and prev dts is ${this.prevDts} ,\n and now ts is ${t} and prev ts is ${this.prevTs} ,\n and diff is ${t-this.prevTs} and firstRenderTime is ${this.firstRenderTime} and isIframe is ${i},\n and mseCorrectTimeDuration is ${this.player._opt.mseCorrectTimeDuration},\n and prevPayloadBufferSize is ${this.prevPayloadBufferSize} and payload size is ${e.byteLength}`),r===this.prevDts&&this.prevPayloadBufferSize===e.byteLength)return void this.player.debugWarn(this.TAG_NAME,"decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame");if(r=this.prevDts+this.player._opt.mseCorrectTimeDuration,this._checkTsIsMaxDiff(t))return this.player.debugWarn(this.TAG_NAME,`decodeVideo is max diff , ts is ${t} and prevTs is ${this.prevTs}, diff is ${this.prevTs-t} and emit replay`),void this.emit(_t.mediaSourceTsIsMaxDiff,`decodeVideo is max diff, prevTs is ${this.prevTs} and ts is ${t}`)}}this.player.isPlayer()?this._decodeVideo(e,r,i,s,t):this.player.isPlayback()?Lo(this.player.playbackPause)?(this.player.playback.isUseLocalCalculateTime&&this.player.playback.increaseLocalTimestamp(),this._decodeVideo(e,r,i,s,t)):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this._decodeVideo(e,r,i,s,t):this.player.isPlayVod()&&Lo(this.player.playVodPause)&&this._decodeVideo(e,r,i,s,t),this.prevDts=r,this.prevPayloadBufferSize=e.byteLength,this.prevTs=t}else this.player.debugLog(this.TAG_NAME,"decodeVideo first frame is not iFrame");else if(i&&e[1]===Ds){const s=15&e[0];if(r.video.updateVideoInfo({encTypeCode:s}),s===Rt&&Lo(Fa()))return void this.player.emitError(_t.mediaSourceH265NotSupport);r._times.decodeStart||(r._times.decodeStart=fa()),this.hasInit=this._decodeConfigurationRecord(e,t,i,s)}else this.player.debugWarn(this.TAG_NAME,`decodeVideo has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)}decodeAudio(e,t){if(this.player)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeAudio() player is destroyed");else if(Lo(this.hasAudioInit))this.hasAudioInit=this._decodeAudioConfigurationRecord(e,t);else{let i=t;if(qr(e))return void this.player.debugLog(this.TAG_NAME,"decodeAudio and has already initialized and payload is aac codec packet so drop this frame");if(this._clearAudioNoDataCheckTimeout(),this.isDecodeFirstIIframe){if(this.player.isPlayer()){if(null===this.firstAudioTime&&(this.firstAudioTime=t,this.player.debugLog(this.TAG_NAME,`firstAudioTime is ${this.firstAudioTime}`)),i=t-this.firstAudioTime,i<0&&(this.player.debugWarn(this.TAG_NAME,`decodeAudio\n local dts is < 0 , ts is ${t} and prevTs is ${this.prevAudioTs},\n firstAudioTime is ${this.firstAudioTime}`),i=null===this.prevAudioDts?0:this.prevAudioDts+this.player._opt.mseCorrectAudioTimeDuration,this._checkAudioTsIsMaxDiff(t)))return this.player.debugWarn(this.TAG_NAME,`decodeAudio is max diff , ts is ${t} and prevTs is ${this.prevAudioDts}, diff is ${this.prevAudioDts-t} and emit replay`),void this.player.emitError(_t.mediaSourceTsIsMaxDiff,`decodeAudio is max diff, prevTs is ${this.prevAudioDts} and ts is ${t}`);null!==this.prevAudioTs&&i<=this.prevAudioDts&&(this.player.debugWarn(this.TAG_NAME,`\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ${i} and prev dts is ${this.prevAudioDts} ,\n and now ts is ${t} and prev ts is ${this.prevAudioTs} ,\n and diff is ${t-this.prevAudioTs}`),i=this.prevAudioDts+this.player._opt.mseCorrectAudioTimeDuration)}this.player.isPlayer()?this._decodeAudio(e,i,t):this.player.isPlayback()?(Lo(this.player.playbackPause)||this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode())&&this._decodeAudio(e,i,t):this.player.isPlayVod()&&Lo(this.player.playVodPause)&&this._decodeAudio(e,i,t),this.prevAudioTs=t,this.prevAudioDts=i}else this.player.debugLog(this.TAG_NAME,"decodeAudio first frame is not iFrame")}}_checkTsIsMaxDiff(e){return this.prevTs>0&&eie}_checkAudioTsIsMaxDiff(e){return this.prevAudioTs>0&&eie}_decodeConfigurationRecord(e,t,i,s){let r=e.slice(5),a={};if(s===xt?a=Jn(r):s===Rt&&(a=ol(r)),to(a)||0===a.codecWidth&&0===a.codecHeight){this.player.debugWarn(this.TAG_NAME,"_decodeConfigurationRecord",a);let e="";return e=to(a)?"config is empty object":`config is not empty object and codecWidth is ${a.codecWidth} and codecHeight is ${a.codecHeight}`,this.player.emitError(_t.mediaSourceDecoderConfigurationError,e),!1}this.isInitInfo||(this.player.debugLog(this.TAG_NAME,`updateVideoInfo: ${a.codecWidth},${a.codecHeight}`),this.player.video.updateVideoInfo({width:a.codecWidth,height:a.codecHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0),this.player.recorder&&this.player._opt.recordType===T&&this.player.recorder.initMetaData(e,s);const o={id:ur,type:"video",timescale:1e3,duration:0,avcc:r,codecWidth:a.codecWidth,codecHeight:a.codecHeight,videoType:a.videoType},n=Lc.generateInitSegment(o);this.isAvc=s===xt;let l=a.codec;return this.videoMimeType=l?`video/mp4; codecs="${a.codec}"`:this.isAvc?Si:Ei,this._initSourceBuffer(),this.appendBuffer(n.buffer),this.sequenceNumber=0,this.cacheTrack={},!0}_decodeAudioConfigurationRecord(e,t){const i=e[0]>>4,s=e[0]>>1&1,r=i===Ft,a=i===Bt;let o="";if(o=a?s?16:8:0===s?8:16,Lo(a||r))return this.player.debugWarn(this.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${i} ant auto wasm decode`),this.player.emit(_t.mediaSourceAudioG711NotSupport),!1;const n={id:pr,type:"audio",timescale:1e3};let l={};if(qr(e)){if(l=Zr(e.slice(2)),!l)return!1;n.audioSampleRate=l.sampleRate,n.channelCount=l.channelCount,n.config=l.config,n.refSampleDuration=1024/n.audioSampleRate*n.timescale}else{if(!r)return!1;if(l=sc(e),!l)return!1;n.audioSampleRate=l.samplingRate,n.channelCount=l.channelCount,n.refSampleDuration=1152/n.audioSampleRate*n.timescale}n.codec=l.codec,n.duration=0;let d="mp4",h=l.codec,c=null;r&&Lo(wa())?(d="mpeg",h="",c=new Uint8Array):c=Lc.generateInitSegment(n);let u=`${n.type}/${d}`;return h&&h.length>0&&(u+=`;codecs=${h}`),Lo(this.isAudioInitInfo)&&(this.player.audio.updateAudioInfo({encTypeCode:i,channels:n.channelCount,sampleRate:n.audioSampleRate,depth:o}),this.isAudioInitInfo=!0),this.audioMimeType=u,this.isAAC=a,this._initAudioSourceBuffer(),this.appendAudioBuffer(c.buffer),!0}_initSourceBuffer(){const{events:{proxy:e}}=this.player;if(null===this.sourceBuffer&&null!==this.mediaSource&&this.isStateOpen&&this.videoMimeType){try{this.sourceBuffer=this.mediaSource.addSourceBuffer(this.videoMimeType),this.player.debugLog(this.TAG_NAME,"_initSourceBuffer() this.mediaSource.addSourceBuffer()",this.videoMimeType)}catch(e){return this.player.debugError(this.TAG_NAME,"appendBuffer() this.mediaSource.addSourceBuffer()",e.code,e),this.player.emitError(_t.mseAddSourceBufferError,`code is ${e.code} and message is ${e.message}`),void(this.mediaSourceAddSourceBufferError=!0)}if(this.sourceBuffer){const t=e(this.sourceBuffer,"error",(e=>{this.mediaSourceBufferError=!0,this.player.debugError(this.TAG_NAME,"mseSourceBufferError this.sourceBuffer",e),this.player.emitError(_t.mseSourceBufferError,e.toString())})),i=e(this.sourceBuffer,"updateend",(()=>{this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this.hasPendingEos&&(this.player.debugLog(this.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),this.endOfStream())}));this.eventListenList.push(t,i)}}else this.player.debugLog(this.TAG_NAME,`_initSourceBuffer and this.isStateOpen is ${this.isStateOpen} and this.isAvc === null is ${null===this.isAvc}`)}_initAudioSourceBuffer(){const{events:{proxy:e}}=this.player;if(null===this.audioSourceBuffer&&null!==this.mediaSource&&this.isStateOpen&&this.audioMimeType){try{this.audioSourceBuffer=this.mediaSource.addSourceBuffer(this.audioMimeType),this._clearAudioSourceBufferCheckTimeout(),this.player.debugLog(this.TAG_NAME,"_initAudioSourceBuffer() this.mediaSource.addSourceBuffer()",this.audioMimeType)}catch(e){return this.player.debugError(this.TAG_NAME,"appendAudioBuffer() this.mediaSource.addSourceBuffer()",e.code,e),this.player.emitError(_t.mseAddSourceBufferError,`code is ${e.code} and message is ${e.message}`),void(this.mediaSourceAddSourceBufferError=!0)}if(this.audioSourceBuffer){const t=e(this.audioSourceBuffer,"error",(e=>{this.mediaSourceBufferError=!0,this.player.debugError(this.TAG_NAME,"mseSourceBufferError this.audioSourceBuffer",e),this.player.emitError(_t.mseSourceBufferError,e.toString())})),i=e(this.audioSourceBuffer,"updateend",(()=>{this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this.hasPendingEos&&(this.player.debugLog(this.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),this.endOfStream())}));this.eventListenList.push(t,i),null===this.audioSourceNoDataCheckTimeout&&(this.audioSourceNoDataCheckTimeout=setTimeout((()=>{this._clearAudioNoDataCheckTimeout(),this.player.emit(_t.mediaSourceAudioNoDataTimeout)}),1e3))}}else this.player.debugLog(this.TAG_NAME,`_initAudioSourceBuffer and this.isStateOpen is ${this.isStateOpen} and this.audioMimeType is ${this.audioMimeType}`)}_decodeVideo(e,t,i,s,r){const a=this.player;let o=e.slice(5),n=o.byteLength;if(0===n)return void a.debugWarn(this.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let l=(new Date).getTime(),d=!1;this.prevTimestamp||(this.prevTimestamp=l,d=!0);const h=l-this.prevTimestamp;this.decodeDiffTimestamp=h,h>1e3&&!d&&this.player.isPlayer()&&a.debugLog(this.TAG_NAME,`_decodeVideo now time is ${l} and prev time is ${this.prevTimestamp}, diff time is ${h} ms`);const c=this.$videoElement;if(this.cacheTrack.id&&t>=this.cacheTrack.dts){let e=8+this.cacheTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(Lc.types.mdat,4),i.set(this.cacheTrack.data,8),this.cacheTrack.duration=t-this.cacheTrack.dts,this.cacheTrack.duration>1e3&&this.player.debugWarn(this.TAG_NAME,`cacheTrack duration is ${this.cacheTrack.duration} ms`);let s=Lc.moof(this.cacheTrack,this.cacheTrack.dts);this.cacheTrack={};let o=new Uint8Array(s.byteLength+i.byteLength);o.set(s,0),o.set(i,s.byteLength),this.appendBuffer(o.buffer),a.emit(At.timeUpdate,r),a.isPlayer()?a.isUseHls265()?a.updateStats({dfps:!0,mseTs:t}):a.updateStats({fps:!0,dfps:!0,ts:r,mseTs:t}):a.isPlayback()?a.playback.updateStats({ts:r}):a.isPlayVod()&&a.playVod.updateStats({ts:r}),a._times.videoStart||(a._times.videoStart=fa(),a.handlePlayToRenderTimes())}else a.debugLog(this.TAG_NAME,`cacheTrack = {} now dts is ${t}, and ts is ${r} cacheTrack dts is ${this.cacheTrack&&this.cacheTrack.dts}`),this.cacheTrack={};this.cacheTrack||(this.cacheTrack={}),this.cacheTrack.id=ur,this.cacheTrack.sequenceNumber=++this.sequenceNumber,this.cacheTrack.size=n,this.cacheTrack.dts=t,this.cacheTrack.cts=s,this.cacheTrack.isKeyframe=i,this.cacheTrack.data=o,this.cacheTrack.flags={isLeading:0,dependsOn:i?2:1,isDependedOn:i?1:0,hasRedundancy:0,isNonSync:i?0:1},a._opt.mseUseCanvasRender&&Lo(this.isSupportVideoFrameCallback)&&Lo(a.isUseHls265())&&a.video.render({$video:c,ts:t}),this.prevTimestamp=(new Date).getTime()}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}_decodeAudio(e,t,i){const s=this.player;let r=this.isAAC?e.slice(2):e.slice(1),a=r.byteLength;if(this.cacheAudioTrack.id&&t>=this.cacheAudioTrack.dts){let e=8+this.cacheAudioTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(Lc.types.mdat,4),i.set(this.cacheAudioTrack.data,8),this.cacheAudioTrack.duration=t-this.cacheAudioTrack.dts,this.cacheAudioTrack.duration>1e3&&this.player.debugWarn(this.TAG_NAME,`cacheTrack duration is ${this.cacheTrack.duration} ms`);let s=Lc.moof(this.cacheAudioTrack,this.cacheAudioTrack.dts);this.cacheAudioTrack={};let r=new Uint8Array(s.byteLength+i.byteLength);r.set(s,0),r.set(i,s.byteLength),this.appendAudioBuffer(r.buffer)}else s.debugLog(this.TAG_NAME,`cacheAudioTrack = {} now dts is ${t} cacheAudioTrack dts is ${this.cacheAudioTrack&&this.cacheAudioTrack.dts}`),this.cacheAudioTrack={};this.cacheAudioTrack||(this.cacheAudioTrack={}),this.cacheAudioTrack.id=pr,this.cacheAudioTrack.sequenceNumber=++this.audioSequenceNumber,this.cacheAudioTrack.size=a,this.cacheAudioTrack.dts=t,this.cacheAudioTrack.cts=0,this.cacheAudioTrack.data=r,this.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}appendBuffer(e){this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"appendBuffer() player is destroyed"):(this.player,this.mediaSourceAddSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceAddSourceBufferError is true"):this.mediaSourceAppendBufferFull?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceAppendBufferFull is true"):this.mediaSourceAppendBufferError?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceAppendBufferError is true"):this.mediaSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceBufferError is true"):(this.pendingSegments.push(e),this.sourceBuffer&&(this.player.isPlayer()&&this._handleUpdatePlaybackRate(),this.player.isPlayback()&&(this._handleUpdateBufferDelayTime(),this._checkVideoPlayCurrentTime()),this.player.isPlayVod(),Lo(this.player.isPlayVod())&&this.player._opt.mseAutoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanUpSourceBuffer(),Lo(this.getSourceBufferUpdating())&&this.isStateOpen&&Lo(this._hasPendingRemoveRanges()))?this._doAppendSegments():this.isStateClosed?(this.mediaSourceBufferError=!0,this.player.emitError(_t.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):this.isStateEnded&&(this.mediaSourceBufferError=!0,this.player.emitError(_t.mseSourceBufferError,"mediaSource is end"))))}appendAudioBuffer(e){this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() player is destroyed"):(this.player,this.mediaSourceAddSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAddSourceBufferError is true"):this.mediaSourceAppendBufferFull?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAppendBufferFull is true"):this.mediaSourceAppendBufferError?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAppendBufferError is true"):this.mediaSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceBufferError is true"):(this.pendingAudioSegments.push(e),this.audioSourceBuffer&&(this.player.isPlayer()&&this._handleUpdatePlaybackRate(),this.player.isPlayback()&&(this._handleUpdateBufferDelayTime(),this._checkVideoPlayCurrentTime()),this.player.isPlayVod(),Lo(this.player.isPlayVod())&&this.player._opt.mseAutoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanUpSourceBuffer(),Lo(this.getAudioSourceBufferUpdating())&&this.isStateOpen&&Lo(this._hasPendingRemoveRanges()))?this._doAppendSegments():this.isStateClosed?(this.mediaSourceBufferError=!0,this.player.emitError(_t.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):this.isStateEnded&&(this.mediaSourceBufferError=!0,this.player.emitError(_t.mseSourceBufferError,"mediaSource is end"))))}getSourceBufferUpdating(){return this.sourceBuffer&&this.sourceBuffer.updating}getAudioSourceBufferUpdating(){return this.audioSourceBuffer&&this.audioSourceBuffer.updating}stop(){this.abortSourceBuffer(),this.removeSourceBuffer(),this.endOfStream()}checkSourceBufferDelay(){const e=this.$videoElement;let t=0,i=0;return e.buffered.length>0&&(i=e.buffered.end(e.buffered.length-1),t=i-e.currentTime),t<0&&(this.player.debugWarn(this.TAG_NAME,`checkMSESourceBufferDelay ${t} < 0, and buffered is ${i} ,currentTime is ${e.currentTime} , try to seek ${e.currentTime} to ${i}`),e.currentTime=i,e.paused&&(this.player.debugWarn(this.TAG_NAME,"checkMSESourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true"),this.player.isMSECurrentMoreThanBufferedPause=!0),t=0),t}checkSourceBufferStore(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.currentTime-e.buffered.start(0)),t}checkSourceBufferEndLessThanCurrentTime(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.buffered.end(e.buffered.length-1)-e.currentTime),t}getDecodeDiffTimes(){return this.decodeDiffTimestamp}removeBuffer(e,t){const i=no();if(this.player.debugLog(this.TAG_NAME,`removeBuffer() start is ${e} and end is ${t} and _isMacOsFirefox is ${i}`),this.isStateOpen&&Lo(i)){if(Lo(this.getSourceBufferUpdating()))try{this.sourceBuffer.remove(e,t)}catch(e){this.player.debugWarn(this.TAG_NAME,"removeBuffer() sourceBuffer error",e)}if(Lo(this.getAudioSourceBufferUpdating()))try{this.audioSourceBuffer.remove(e,t)}catch(e){this.player.debugWarn(this.TAG_NAME,"removeBuffer() audioSourceBuffer error",e)}}}clearUpAllSourceBuffer(){if(this.sourceBuffer){const e=this.sourceBuffer.buffered;for(let t=0;t=1)if(this.getSourceBufferUpdating()||this.getAudioSourceBufferUpdating())this.hasPendingEos=!0;else{this.hasPendingEos=!1;try{this.player.debugLog(this.TAG_NAME,"endOfStream()"),this.mediaSource.endOfStream()}catch(e){this.player.debugWarn(this.TAG_NAME,"endOfStream() error",e)}}}abortSourceBuffer(){if(this.isStateOpen){if(this.sourceBuffer){try{this.player.debugLog(this.TAG_NAME,"abortSourceBuffer() abort sourceBuffer"),this.sourceBuffer.abort()}catch(e){}Lo(this.getSourceBufferUpdating())&&this._doRemoveRanges()}if(this.audioSourceBuffer){try{this.player.debugLog(this.TAG_NAME,"abortSourceBuffer() abort audioSourceBuffer"),this.audioSourceBuffer.abort()}catch(e){}Lo(this.getAudioSourceBufferUpdating())&&this._doRemoveRanges()}}this.sourceBuffer=null,this.audioSourceBuffer=null}removeSourceBuffer(){if(!this.isStateClosed&&this.mediaSource){if(this.sourceBuffer)try{this.player.debugLog(this.TAG_NAME,"removeSourceBuffer() sourceBuffer"),this.mediaSource.removeSourceBuffer(this.sourceBuffer)}catch(e){this.player.debugError(this.TAG_NAME,"removeSourceBuffer() sourceBuffer error",e)}if(this.audioSourceBuffer)try{this.player.debugLog(this.TAG_NAME,"removeSourceBuffer() audioSourceBuffer"),this.mediaSource.removeSourceBuffer(this.audioSourceBuffer)}catch(e){this.player.debugError(this.TAG_NAME,"removeSourceBuffer() audioSourceBuffer error",e)}}}_hasPendingSegments(){return this.pendingSegments.length>0||this.pendingAudioSegments.length>0}getPendingSegmentsLength(){return this.pendingSegments.length}_handleUpdatePlaybackRate(){if(!this.$videoElement)return;const e=this.$videoElement;this.player._opt.videoBuffer,this.player._opt.videoBufferDelay;const t=e.buffered;t.length&&t.start(0);const i=t.length?t.end(t.length-1):0;let s=e.currentTime;const r=i-s,a=this.getMseBufferMaxDelayTime();if(this.player.updateStats({mseVideoBufferDelayTime:r}),0===this.$videoElement.readyState)return;if(r>a)this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current is ${s} , delay buffer is more than ${a} is ${r} and new time is ${i}`),e.currentTime=i,s=e.currentTime;else if(r<0&&0===i)return this.player.debugWarn(this.TAG_NAME,`handleUpdatePlaybackRate and delay buffer is ${i} - current is ${s} = ${r} < 0 and check video is paused : ${e.paused} `),void this.player.emit(_t.mediaSourceBufferedIsZeroError,"video.buffered is empty");const o=this._getPlaybackRate(i-s);e.playbackRate!==o&&(this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current time is ${s} and delay is ${i-s} set playbackRate is ${o} `),e.playbackRate=o)}_handleUpdateBufferDelayTime(){const e=this.getVideoBufferDelayTime();this.player.updateStats({mseVideoBufferDelayTime:e})}_checkVideoPlayCurrentTime(){const e=this.checkSourceBufferStore();if(e<0){const t=this.getVideoBufferStartTime();this.player.debugWarn(this.TAG_NAME,`checkVideoPlayCurrentTime store is ${e} < 0 and set currentTime ${this.$videoElement.currentTime} to ${t}`),this.$videoElement.currentTime=t}}updateVideoCurrentTimeByBufferStart(){if(!this.$videoElement)return;const e=this.$videoElement.currentTime,t=this.getVideoBufferRangeList();if(1===t.length){const i=t[0].end,s=Math.abs(i-e);if(s<1)return void this.player.debugLog(this.TAG_NAME,`updateVideoCurrentTimeByBufferStart current time is ${e} and buffer end is ${i} and diff is ${s} and return`)}let i=null;for(let s=0;s{this._clearAudioSourceBufferCheckTimeout(),this.player.emit(_t.mediaSourceAudioInitTimeout)}),1e3)));if(Lo(this.getSourceBufferUpdating())&&this.pendingSegments.length>0){const e=this.pendingSegments.shift();try{this.sourceBuffer.appendBuffer(e)}catch(e){this.player.debugError(this.TAG_NAME,"this.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(this.stop(),this.mediaSourceAppendBufferFull=!0,this.player.emitError(_t.mediaSourceFull,`code is ${e.code} and message is ${e.message}`)):11===e.code?(this.stop(),this.mediaSourceAppendBufferError=!0,this.player.emitError(_t.mediaSourceAppendBufferError,`code is ${e.code} and message is ${e.message}`)):(this.stop(),this.mediaSourceBufferError=!0,this.player.emitError(At.mseSourceBufferError,`code is ${e.code} and message is ${e.message}`))}}if(Lo(this.getAudioSourceBufferUpdating())&&this.pendingAudioSegments.length>0){const e=this.pendingAudioSegments.shift();try{this.audioSourceBuffer.appendBuffer(e)}catch(e){this.player.debugError(this.TAG_NAME,"this.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(this.stop(),this.mediaSourceAppendBufferFull=!0,this.player.emitError(_t.mediaSourceFull,`code is ${e.code} and message is ${e.message}`)):11===e.code?(this.stop(),this.mediaSourceAppendBufferError=!0,this.player.emitError(_t.mediaSourceAppendBufferError,`code is ${e.code} and message is ${e.message}`)):(this.stop(),this.mediaSourceBufferError=!0,this.player.emitError(At.mseSourceBufferError,`code is ${e.code} and message is ${e.message}`))}}}else this.player.debugLog(this.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")}_doCleanUpSourceBuffer(){if(!this.$videoElement)return;const e=this.$videoElement.currentTime;if(this.sourceBuffer){const t=this.sourceBuffer.buffered;let i=!1;for(let s=0;s=this.player._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let t=e-this.player._opt.mseAutoCleanupMinBackwardDuration;this.pendingRemoveRanges.push({start:r,end:t})}}else a=this.player._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let t=e-this.player._opt.mseAutoCleanupMinBackwardDuration;this.pendingAudioRemoveRanges.push({start:r,end:t})}}else a0||this.pendingAudioRemoveRanges.length>0}_doRemoveRanges(){if(this.sourceBuffer&&Lo(this.getSourceBufferUpdating())){let e=this.pendingRemoveRanges;for(;e.length&&Lo(this.getSourceBufferUpdating());){let t=e.shift();try{this.sourceBuffer.remove(t.start,t.end)}catch(e){this.player.debugWarn(this.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e)}}}if(this.audioSourceBuffer&&Lo(this.getAudioSourceBufferUpdating())){let e=this.pendingAudioRemoveRanges;for(;e.length&&Lo(this.getAudioSourceBufferUpdating());){let t=e.shift();try{this.audioSourceBuffer.remove(t.start,t.end)}catch(e){this.player.debugWarn(this.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e)}}}}getDecodePlaybackRate(){let e=0;const t=this.$videoElement;return t&&(e=t.playbackRate),e}_getPlaybackRate(e){const t=this.$videoElement;let i=this.player._opt.videoBufferDelay+this.player._opt.videoBuffer;const s=Math.max(i,1e3),r=s/2;return e*=1e3,1===t.playbackRate?e>s?1.2:1:e<=r?1:t.playbackRate}_needCleanupSourceBuffer(){if(Lo(this.player._opt.mseAutoCleanupSourceBuffer)||!this.$videoElement)return!1;const e=this.$videoElement,t=e.buffered,i=e.currentTime;return t.length>=1&&i-t.start(0)>=this.player._opt.mseAutoCleanupMaxBackwardDuration}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}getVideoBufferLastTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;i.length&&i.start(0);t=i.length?i.end(i.length-1):0}return t}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}getVideoBufferStartTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;t=i.length?i.start(0):0}return t}getVideoBufferEndTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;t=i.length?i.end(i.length-1):0}return t}getVideoBufferRangeList(){const e=this.$videoElement;let t=[];if(e){const i=e.buffered;for(let e=0;e0?t:0}_clearAudioSourceBufferCheckTimeout(){this.audioSourceBufferCheckTimeout&&(clearTimeout(this.audioSourceBufferCheckTimeout),this.audioSourceBufferCheckTimeout=null)}_clearAudioNoDataCheckTimeout(){this.audioSourceNoDataCheckTimeout&&(clearTimeout(this.audioSourceNoDataCheckTimeout),this.audioSourceNoDataCheckTimeout=null)}getMimeType(){return{video:this.videoMimeType,audio:this.audioMimeType}}getMseBufferMaxDelayTime(){let e=(this.player._opt.videoBuffer+this.player._opt.videoBufferDelay)/1e3;return Math.max(5,e+3)}isVideoPlaying(){return this.$videoElement&&Lo(this.$videoElement.paused)&&Lo(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}isCurrentTimeInBufferEnd(){let e=!1;if(this.$videoElement){const t=this.$videoElement.currentTime,i=this.getVideoBufferEndTime(),s=Math.abs(i-t);e=s<1,e&&this.player.debugLog(this.TAG_NAME,`isCurrentTimeInBufferEnd and currentTime is ${t} and end is ${i} and diff is ${s}`)}return e}checkVideoPlayCurrentTime(){const e=this.checkSourceBufferStore();if(e<0){const t=this.getVideoBufferStartTime();this.player.debug.warn(this.TAG_NAME,`checkVideoPlayCurrentTime store is ${e} < 0 and set currentTime ${this.$videoElement.currentTime} to ${t}`),this.$videoElement.currentTime=t}}updateMediaSourceDuration(e){this.mediaSource&&(this.mediaSource.duration=e)}}const Dc=()=>"wakeLock"in navigator&&-1===window.navigator.userAgent.indexOf("Samsung")&&Lo(La());class xc{constructor(e){this.player=e,this.enabled=!1,Dc()?(this.player.debugLog("NoSleep","Native Wake Lock API supported."),this._wakeLock=null,this.handleVisibilityChange=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()},document.addEventListener("visibilitychange",this.handleVisibilityChange),document.addEventListener("fullscreenchange",this.handleVisibilityChange)):(this.player.debugLog("NoSleep","Native Wake Lock API not supported. so use video element."),this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm","data:video/webm;base64,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ggOtgPj//qOHggPBgPj//qOHggPVgPj//qOHggPpgPj//qOegQPvANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCA/2A+P/+o4eCBBGA+P/+o4eCBCWA+P/+o4eCBDmA+P/+o4eCBE2A+P/+o56BBFMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IEiID4//6jh4IEnID4//6jh4IEsID4//6jnoEEtwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggTEgPj//qOHggTYgPj//qOHggTsgPj//qOHggUAgPj//qOHggUUgPj//qOegQUbANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBSiA+P/+o4eCBTyA+P/+o4eCBVCA+P/+o4eCBWSA+P/+o4eCBXiA+P/+o56BBX8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IFjID4//6jh4IFoID4//6jh4IFtID4//6jh4IFyID4//6jh4IF3ID4//6jnoEF4wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggXwgPj//qOHggYEgPj//qOHggYYgPj//qOHggYsgPj//qOHggZAgPj//qOegQZHANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBlSA+P/+o4eCBmiA+P/+o4eCBnyA+P/+o4eCBpCA+P/+o4eCBqSA+P/+o56BBqsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IGuID4//6jh4IGzID4//6jh4IG4ID4//6jh4IG9ID4//6jh4IHCID4//6jnoEHDwDRAgAFEBAUYABhYL/QACIAEM1+tck+ccwAAKOHggccgPj//qOHggcwgPj//qOHggdEgPj//qOHggdYgPj//qOHggdsgPj//qOegQdzANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCB4CA+P/+o4eCB5SA+P/+o4eCB6iA+P/+o4eCB7yA+P/+o4eCB9CA+P/+o56BB9cA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IH5ID4//6jh4IH+ID4//6jh4IIDID4//6jh4IIIID4//6jh4IINID4//6jnoEIOwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgghIgPj//qOHgghcgPj//qOHgghwgPj//qOHggiEgPj//qOegQifANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCMCA+P/+o4eCCNSA+P/+o4eCCOiA+P/+o4eCCPyA+P/+o56BCQMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IJEID4//6jh4IJJID4//6jh4IJOID4//6jh4IJTID4//6jh4IJYID4//6jnoEJZwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggl0gPj//qOHggmIgPj//qOHggmcgPj//qOHggmwgPj//qOHggnEgPj//qOegQnLANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCdiA+P/+o4eCCeyA+P/+o4eCCgCA+P/+o4eCChSA+P/+o4eCCiiA+P/+o56BCi8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IKPID4//6jh4IKUID4//6jh4IKZID4//6jh4IKeID4//6jh4IKjID4//6jnoEKkwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggqggPj//qOHggq0gPj//qOHggrIgPj//qOHggrcgPj//qOHggrwgPj//qOegQr3ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCwSA+P/+o4eCCxiA+P/+o4eCCyyA+P/+o4eCC0CA+P/+o4eCC1SA+P/+o56BC1sA0QIABRAQFGAAYWC/0AAiABDNfrXJPnHMAACjh4ILaID4//6jh4ILfID4//6jh4ILkID4//6jh4ILpID4//6jh4ILuID4//6jnoELvwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggvMgPj//qOHggvggPj//qOHggv0gPj//qOHggwIgPj//qOHggwcgPj//qOegQwjANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDDCA+P/+o4eCDESA+P/+o4eCDFiA+P/+o4eCDGyA+P/+o4eCDICA+P/+o56BDIcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IMlID4//6jh4IMqID4//6jh4IMvID4//6jh4IM0ID4//6jnoEM6wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg0MgPj//qOHgg0ggPj//qOHgg00gPj//qOHgg1IgPj//qOegQ1PANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDVyA+P/+o4eCDXCA+P/+o4eCDYSA+P/+o4eCDZiA+P/+o4eCDayA+P/+o56BDbMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4INwID4//6jh4IN1ID4//6jh4IN6ID4//6jh4IN/ID4//6jh4IOEID4//6jnoEOFwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg4kgPj//qOHgg44gPj//qOHgg5MgPj//qOHgg5ggPj//qOHgg50gPj//qOegQ57ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDoiA+P/+o4eCDpyA+P/+o4eCDrCA+P/+o4eCDsSA+P/+o4eCDtiA+P/+o56BDt8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IO7ID4//6jh4IPAID4//6jh4IPFID4//6jh4IPKID4//6jh4IPPID4//6jnoEPQwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg9QgPj//qOHgg9kgPj//qOHgg94gPj//qOHgg+MgPj//qOHgg+ggPj//qOegQ+nANECAAUQEBRgAGFgv9AAIgAQzX61yT5xzAAAo4eCD7SA+P/+o4eCD8iA+P/+o4eCD9yA+P/+o4eCD/CA+P/+o4eCEASA+P/+o56BEAsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IQGID4//6jh4IQLID4//6jh4IQQID4//6jh4IQVID4//6jh4IQaID4//6jnoEQbwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghB8gPj//qOHghCQgPj//qOHghCkgPj//qOHghC4gPj//qOHghDMgPj//qOegRDTANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEOCA+P/+o4eCEPSA+P/+o4eCEQiA+P/+o56BETcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IRQ4D4//6jh4IRV4D4//6jh4IRa4D4//6jh4IRf4D4//6jh4IRk4D4//6jnoERmwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghGngPj//qOHghG7gPj//qOHghHPgPj//qOHghHjgPj//qOHghH3gPj//qOegRH/ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEguA+P/+o4eCEh+A+P/+o4eCEjOA+P/+o4eCEkeA+P/+o4eCEluA+P/+o56BEmMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4ISb4D4//6jh4ISg4D4//6jh4ISl4D4//6jh4ISq4D4//6jh4ISv4D4//6jnoESxwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghLTgPj//qOHghLngPj//qOHghL7gPj//qOHghMPgPj//qOHghMjgPj//qOegRMrANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEzeA+P/+o4eCE0uA+P/+o4eCE1+A+P/+o4eCE3OA+P/+oAEAAAAAAAAPoYeCE4cA+P/+daKDB/KBHFO7a5G7j7OBB7eK94EB8YIDX/CBDA=="),this._addSourceToVideo(this.noSleepVideo,"mp4","data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACORtZGF03gIATGF2YzU4LjM1LjEwMAACMEAOAAACcQYF//9t3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2MSByMzAyNyA0MTIxMjc3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTAgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0wIHdlaWdodHA9MCBrZXlpbnQ9MjUwIGtleWludF9taW49MTAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAADvZYiED/JigADD7JycnJycnJycnJycnJycnJycnJ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114BGCAHARggBwEYIAcBGCAHARggBwAAAAdBmjgf4BLYARggBwEYIAcBGCAHARggBwAAAAdBmlQH+AS2ARggBwEYIAcBGCAHARggBwAAAAdBmmA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZrAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0Ga4D/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbAD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbID/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBm0A/wCWwARggBwEYIAcBGCAHAAAAB0GbYD/AJbABGCAHARggBwEYIAcAAAAHQZuAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0Gb4D/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBmgA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmiA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmkA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZpgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwAAAAdBmsA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmuA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmwA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZsgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtgP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GbgD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdB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"),Object.assign(this.noSleepVideo.style,{position:"absolute",left:"-100%",top:"-100%"}),document.querySelector("body").append(this.noSleepVideo),this.handleNoSleepVideoTimeUpdate=()=>{this.noSleepVideo&&this.noSleepVideo.currentTime>4&&(this.noSleepVideo.currentTime=1)},this.noSleepVideo.addEventListener("timeupdate",this.handleNoSleepVideoTimeUpdate))}destroy(){if(this._wakeLock&&(this._wakeLock.release(),this._wakeLock=null),this.noSleepVideo){this.handleNoSleepVideoTimeUpdate&&this.noSleepVideo.removeEventListener("timeupdate",this.handleNoSleepVideoTimeUpdate);try{this.noSleepVideo.parentNode&&this.noSleepVideo.parentNode.removeChild(this.noSleepVideo)}catch(e){this.player.debugWarn("NoSleep","Failed to remove noSleepVideo element.")}this.noSleepVideo=null}this.handleVisibilityChange&&(document.removeEventListener("visibilitychange",this.handleVisibilityChange),document.removeEventListener("fullscreenchange",this.handleVisibilityChange))}_addSourceToVideo(e,t,i){var s=document.createElement("source");s.src=i,s.type=`video/${t}`,e.appendChild(s)}get isEnabled(){return this.enabled}enable(){if(Dc())return navigator.wakeLock.request("screen").then((e=>{this._wakeLock=e,this.enabled=!0,this.player.debugLog("wakeLock","Wake Lock active."),this._wakeLock.addEventListener("release",(()=>{this.player.debugLog("wakeLock","Wake Lock released.")}))})).catch((e=>{throw this.enabled=!1,this.player.debugWarn("wakeLock",`${e.name}, ${e.message}`),e}));return this.noSleepVideo.play().then((e=>(this.player.debugLog("wakeLock","noSleepVideo Wake Lock active."),this.enabled=!0,e))).catch((e=>{throw this.player.debugWarn("wakeLock",`noSleepVideo ${e.name}, ${e.message}`),this.enabled=!1,e}))}disable(){Dc()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):this.noSleepVideo&&this.noSleepVideo.pause(),this.enabled=!1,this.player.debugLog("wakeLock","Disabling wake lock.")}}function Rc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Pc={exports:{}};!function(e,t){var i,s,r,a,o;i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var r=o.parseURL(e);if(!r)throw new Error("Error trying to parse base URL.");return r.path=o.normalizePath(r.path),o.buildURLFromParts(r)}var a=o.parseURL(t);if(!a)throw new Error("Error trying to parse relative URL.");if(a.scheme)return i.alwaysNormalize?(a.path=o.normalizePath(a.path),o.buildURLFromParts(a)):t;var n=o.parseURL(e);if(!n)throw new Error("Error trying to parse base URL.");if(!n.netLoc&&n.path&&"/"!==n.path[0]){var l=s.exec(n.path);n.netLoc=l[1],n.path=l[2]}n.netLoc&&!n.path&&(n.path="/");var d={scheme:n.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(d.netLoc=n.netLoc,"/"!==a.path[0]))if(a.path){var h=n.path,c=h.substring(0,h.lastIndexOf("/")+1)+a.path;d.path=o.normalizePath(c)}else d.path=n.path,a.params||(d.params=n.params,a.query||(d.query=n.query));return null===d.path&&(d.path=i.alwaysNormalize?o.normalizePath(a.path):a.path),o.buildURLFromParts(d)},parseURL:function(e){var t=i.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(r,"");e.length!==(e=e.replace(a,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=o}(Pc);var Ic=Pc.exports;function Bc(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,s)}return i}function Mc(e){for(var t=1;t`):$c}(t)}))}const Kc=Jc,Yc=/^(\d+)x(\d+)$/,Qc=/(.+?)=(".*?"|.*?)(?:,|$)/g;class Xc{constructor(e){"string"==typeof e&&(e=Xc.parseAttrList(e)),Oc(this,e)}get clientAttrs(){return Object.keys(this).filter((e=>"X-"===e.substring(0,2)))}decimalInteger(e){const t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;const i=new Uint8Array(t.length/2);for(let e=0;eNumber.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){const i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}bool(e){return"YES"===this[e]}decimalResolution(e){const t=Yc.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t;const i={};for(Qc.lastIndex=0;null!==(t=Qc.exec(e));){let e=t[2];0===e.indexOf('"')&&e.lastIndexOf('"')===e.length-1&&(e=e.slice(1,-1));i[t[1].trim()]=e}return i}}function Zc(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e}class eu{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){const i=t.attr;for(const t in i)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==i[t]){Kc.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=Oc(new Xc({}),i,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const e=new Date(this.attr["END-DATE"]);Nc(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;const e=this.duration;return null!==e?new Date(this._startDate.getTime()+1e3*e):null}get duration(){if("DURATION"in this.attr){const e=this.attr.decimalFloatingPoint("DURATION");if(Nc(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&Nc(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}class tu{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var iu="audio",su="video",ru="audiovideo";class au{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[iu]:null,[su]:null,[ru]:null},this.baseurl=e}setByteRange(e,t){const i=e.split("@",2);let s;s=1===i.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(i[1]),this._byteRange=[s,parseInt(i[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Ic.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}}class ou extends au{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new tu,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){const{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{const e=Object.keys(this.levelkeys);if(1===e.length)return this._decryptdata=this.levelkeys[e[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;if(!Nc(this.programDateTime))return null;const e=Nc(this.duration)?this.duration:0;return this.programDateTime+1e3*e}get encrypted(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){const e=Object.keys(this.levelkeys),t=e.length;if(t>1||1===t&&this.levelkeys[e[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){const t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()}setElementaryStreamInfo(e,t,i,s,r,a=!1){const{elementaryStreams:o}=this,n=o[e];n?(n.startPTS=Math.min(n.startPTS,t),n.endPTS=Math.max(n.endPTS,i),n.startDTS=Math.min(n.startDTS,s),n.endDTS=Math.max(n.endDTS,r)):o[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:r,partial:a}}clearElementaryStreamInfo(){const{elementaryStreams:e}=this;e[iu]=null,e[su]=null,e[ru]=null}}class nu extends au{constructor(e,t,i,s,r){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new tu,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;const a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,r),r&&(this.fragOffset=r.fragOffset+r.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}class lu{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e)return this.advanced=!0,void(this.updated=!0);const t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&i>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return!!this.fragments.length&&Nc(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){const e=this.driftEndTime-this.driftStartTime;if(e>0){return 1e3*(this.driftEnd-this.driftStart)/e}return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}function du(e){return Uint8Array.from(atob(e),(e=>e.charCodeAt(0)))}function hu(e){const t=e.split(":");let i=null;if("data"===t[0]&&2===t.length){const e=t[1].split(";"),s=e[e.length-1].split(",");if(2===s.length){const t="base64"===s[0],r=s[1];t?(e.splice(-1,1),i=du(r)):i=function(e){const t=cu(e).subarray(0,16),i=new Uint8Array(16);return i.set(t,16-t.length),i}(r)}}return i}function cu(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(e=>e.charCodeAt(0)))}const uu="undefined"!=typeof self?self:void 0;var pu={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},mu="org.w3.clearkey",fu="com.apple.streamingkeydelivery",gu="com.microsoft.playready",yu="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function Au(e){switch(e){case fu:return pu.FAIRPLAY;case gu:return pu.PLAYREADY;case yu:return pu.WIDEVINE;case mu:return pu.CLEARKEY}}var bu="edef8ba979d64acea3c827dcd51d21ed";function vu(e){switch(e){case pu.FAIRPLAY:return fu;case pu.PLAYREADY:return gu;case pu.WIDEVINE:return yu;case pu.CLEARKEY:return mu}}function _u(e){const{drmSystems:t,widevineLicenseUrl:i}=e,s=t?[pu.FAIRPLAY,pu.WIDEVINE,pu.PLAYREADY,pu.CLEARKEY].filter((e=>!!t[e])):[];return!s[pu.WIDEVINE]&&i&&s.push(pu.WIDEVINE),s}const Su=null!=uu&&null!=(Eu=uu.navigator)&&Eu.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;var Eu;function Tu(e,t,i){return Uint8Array.prototype.slice?e.slice(t,i):new Uint8Array(Array.prototype.slice.call(e,t,i))}const wu=(e,t)=>t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128,ku=(e,t)=>t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128,Lu=(e,t)=>{const i=t;let s=0;for(;wu(e,t);){s+=10;s+=Cu(e,t+6),ku(e,t+10)&&(s+=10),t+=s}if(s>0)return e.subarray(i,i+s)},Cu=(e,t)=>{let i=0;return i=(127&e[t])<<21,i|=(127&e[t+1])<<14,i|=(127&e[t+2])<<7,i|=127&e[t+3],i},Du=(e,t)=>wu(e,t)&&Cu(e,t+6)+10<=e.length-t,xu=e=>{const t=Iu(e);for(let e=0;ee&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info,Pu=e=>{const t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=Cu(e,4);return{type:t,size:i,data:e.subarray(10,10+i)}},Iu=e=>{let t=0;const i=[];for(;wu(e,t);){const s=Cu(e,t+6);t+=10;const r=t+s;for(;t+8"PRIV"===e.type?Mu(e):"W"===e.type[0]?Uu(e):Fu(e),Mu=e=>{if(e.size<2)return;const t=Nu(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer}},Fu=e=>{if(e.size<2)return;if("TXXX"===e.type){let t=1;const i=Nu(e.data.subarray(t),!0);t+=i.length+1;const s=Nu(e.data.subarray(t));return{key:e.type,info:i,data:s}}const t=Nu(e.data.subarray(1));return{key:e.type,data:t}},Uu=e=>{if("WXXX"===e.type){if(e.size<2)return;let t=1;const i=Nu(e.data.subarray(t),!0);t+=i.length+1;const s=Nu(e.data.subarray(t));return{key:e.type,info:i,data:s}}const t=Nu(e.data);return{key:e.type,data:t}},Ou=e=>{if(8===e.data.byteLength){const t=new Uint8Array(e.data),i=1&t[3];let s=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return s/=45,i&&(s+=47721858.84),Math.round(s)}},Nu=(e,t=!1)=>{const i=Gu();if(i){const s=i.decode(e);if(t){const e=s.indexOf("\0");return-1!==e?s.substring(0,e):s}return s.replace(/\0/g,"")}const s=e.length;let r,a,o,n="",l=0;for(;l>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n+=String.fromCharCode(r);break;case 12:case 13:a=e[l++],n+=String.fromCharCode((31&r)<<6|63&a);break;case 14:a=e[l++],o=e[l++],n+=String.fromCharCode((15&r)<<12|(63&a)<<6|(63&o)<<0)}}return n};let ju;function Gu(){if(!navigator.userAgent.includes("PlayStation 4"))return ju||void 0===self.TextDecoder||(ju=new self.TextDecoder("utf-8")),ju}const Vu=function(e){let t="";for(let i=0;i>24,e[t+1]=i>>16&255,e[t+2]=i>>8&255,e[t+3]=255&i}function Xu(e,t){const i=[];if(!t.length)return i;const s=e.byteLength;for(let r=0;r1?r+a:s;if(Hu(e.subarray(r+4,r+8))===t[0])if(1===t.length)i.push(e.subarray(r+8,o));else{const s=Xu(e.subarray(r+8,o),t.slice(1));s.length&&zu.apply(i,s)}r=o}return i}function Zu(e){const t=[],i=e[0];let s=8;const r=qu(e,s);s+=4;let a=0,o=0;0===i?(a=qu(e,s),o=qu(e,s+4),s+=8):(a=Ku(e,s),o=Ku(e,s+8),s+=16),s+=2;let n=e.length+o;const l=Ju(e,s);s+=2;for(let i=0;i>>31)return Kc.warn("SIDX has hierarchical references (not supported)"),null;const l=qu(e,i);i+=4,t.push({referenceSize:o,subsegmentDuration:l,info:{duration:l/r,start:n,end:n+o-1}}),n+=o,i+=4,s=i}return{earliestPresentationTime:a,timescale:r,version:i,referencesCount:l,references:t}}function ep(e){const t=[],i=Xu(e,["moov","trak"]);for(let e=0;e{const i=qu(e,4),s=t[i];s&&(s.default={duration:qu(e,12),flags:qu(e,20)})})),t}function tp(e){const t=e.subarray(8),i=t.subarray(86),s=Hu(t.subarray(4,8));let r=s;const a="enca"===s||"encv"===s;if(a){const e=Xu(t,[s])[0];Xu(e.subarray("enca"===s?28:78),["sinf"]).forEach((e=>{const t=Xu(e,["schm"])[0];if(t){const i=Hu(t.subarray(4,8));if("cbcs"===i||"cenc"===i){const t=Xu(e,["frma"])[0];t&&(r=Hu(t))}}}))}switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{const e=Xu(i,["avcC"])[0];r+="."+sp(e[1])+sp(e[2])+sp(e[3]);break}case"mp4a":{const e=Xu(t,[s])[0],i=Xu(e.subarray(28),["esds"])[0];if(i&&i.length>12){let e=4;if(3!==i[e++])break;e=ip(i,e),e+=2;const t=i[e++];if(128&t&&(e+=2),64&t&&(e+=i[e++]),4!==i[e++])break;e=ip(i,e);const s=i[e++];if(64!==s)break;if(r+="."+sp(s),e+=12,5!==i[e++])break;e=ip(i,e);const a=i[e++];let o=(248&a)>>3;31===o&&(o+=1+((7&a)<<3)+((224&i[e])>>5)),r+="."+o}break}case"hvc1":case"hev1":{const e=Xu(i,["hvcC"])[0],t=e[1],s=["","A","B","C"][t>>6],a=31&t,o=qu(e,2),n=(32&t)>>5?"H":"L",l=e[12],d=e.subarray(6,12);r+="."+s+a,r+="."+o.toString(16).toUpperCase(),r+="."+n+l;let h="";for(let e=d.length;e--;){const t=d[e];if(t||h){h="."+t.toString(16).toUpperCase()+h}}r+=h;break}case"dvh1":case"dvhe":{const e=Xu(i,["dvcC"])[0],t=e[2]>>1&127,s=e[2]<<5&32|e[3]>>3&31;r+="."+rp(t)+"."+rp(s);break}case"vp09":{const e=Xu(i,["vpcC"])[0],t=e[4],s=e[5],a=e[6]>>4&15;r+="."+rp(t)+"."+rp(s)+"."+rp(a);break}case"av01":{const e=Xu(i,["av1C"])[0],t=e[1]>>>5,s=31&e[1],a=e[2]>>>7?"H":"M",o=(64&e[2])>>6,n=(32&e[2])>>5,l=2===t&&o?n?12:10:o?10:8,d=(16&e[2])>>4,h=(8&e[2])>>3,c=(4&e[2])>>2,u=3&e[2],p=1,m=1,f=1,g=0;r+="."+t+"."+rp(s)+a+"."+rp(l)+"."+d+"."+h+c+u+"."+rp(p)+"."+rp(m)+"."+rp(f)+"."+g;break}}return{codec:r,encrypted:a}}function ip(e,t){const i=t+5;for(;128&e[t++]&&t{const l=n.byteOffset-8;Xu(n,["traf"]).map((n=>{const d=Xu(n,["tfdt"]).map((e=>{const t=e[0];let i=qu(e,4);return 1===t&&(i*=Math.pow(2,32),i+=qu(e,8)),i/r}))[0];return void 0!==d&&(e=d),Xu(n,["tfhd"]).map((d=>{const h=qu(d,4),c=16777215&qu(d,0);let u=0;const p=0!=(16&c);let m=0;const f=0!=(32&c);let g=8;h===a&&(0!=(1&c)&&(g+=8),0!=(2&c)&&(g+=4),0!=(8&c)&&(u=qu(d,g),g+=4),p&&(m=qu(d,g),g+=4),f&&(g+=4),"video"===t.type&&(o=function(e){if(!e)return!1;const t=e.indexOf("."),i=t<0?e:e.substring(0,t);return"hvc1"===i||"hev1"===i||"dvh1"===i||"dvhe"===i}(t.codec)),Xu(n,["trun"]).map((a=>{const n=a[0],d=16777215&qu(a,0),h=0!=(1&d);let c=0;const p=0!=(4&d),f=0!=(256&d);let g=0;const y=0!=(512&d);let A=0;const b=0!=(1024&d),v=0!=(2048&d);let _=0;const S=qu(a,4);let E=8;h&&(c=qu(a,E),E+=4),p&&(E+=4);let T=c+l;for(let l=0;l>1&63;return 39===e||40===e}return 6===(31&t)}function hp(e,t,i,s){const r=cp(e);let a=0;a+=t;let o=0,n=0,l=0;for(;a=r.length)break;l=r[a++],o+=l}while(255===l);n=0;do{if(a>=r.length)break;l=r[a++],n+=l}while(255===l);const e=r.length-a;let t=a;if(ne){Kc.error(`Malformed SEI payload. ${n} is too small, only ${e} bytes left to parse.`);break}if(4===o){if(181===r[t++]){const e=Ju(r,t);if(t+=2,49===e){const e=qu(r,t);if(t+=4,1195456820===e){const e=r[t++];if(3===e){const a=r[t++],n=31&a,l=64&a,d=l?2+3*n:0,h=new Uint8Array(d);if(l){h[0]=a;for(let e=1;e16){const e=[];for(let i=0;i<16;i++){const s=r[t++].toString(16);e.push(1==s.length?"0"+s:s),3!==i&&5!==i&&7!==i&&9!==i||e.push("-")}const a=n-16,l=new Uint8Array(a);for(let e=0;e0?(a=new Uint8Array(4),t.length>0&&new DataView(a.buffer).setUint32(0,t.length,!1)):a=new Uint8Array;const o=new Uint8Array(4);return i&&i.byteLength>0&&new DataView(o.buffer).setUint32(0,i.byteLength,!1),function(e,...t){const i=t.length;let s=8,r=i;for(;r--;)s+=t[r].byteLength;const a=new Uint8Array(s);for(a[0]=s>>24&255,a[1]=s>>16&255,a[2]=s>>8&255,a[3]=255&s,a.set(e,4),r=0,s=8;r>8*(15-i)&255;return t}(e);return new mp(this.method,this.uri,"identity",this.keyFormatVersions,t)}const t=hu(this.uri);if(t)switch(this.keyFormat){case yu:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case gu:{const e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=up(e,null,t);const i=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),s=String.fromCharCode.apply(null,Array.from(i)),r=s.substring(s.indexOf("<"),s.length),a=(new DOMParser).parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){const e=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(e){const t=du(e).subarray(0,16);!function(e){const t=function(e,t,i){const s=e[t];e[t]=e[i],e[i]=s};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}(t),this.keyId=t}}break}default:{let e=t.subarray(0,16);if(16!==e.length){const t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e;break}}if(!this.keyId||16!==this.keyId.byteLength){let e=pp[this.uri];if(!e){const t=Object.keys(pp).length%Number.MAX_SAFE_INTEGER;e=new Uint8Array(16);new DataView(e.buffer,12,4).setUint32(0,t),pp[this.uri]=e}this.keyId=e}return this}}const fp=/\{\$([a-zA-Z0-9-_]+)\}/g;function gp(e){return fp.test(e)}function yp(e,t,i){if(null!==e.variableList||e.hasVariableRefs)for(let s=i.length;s--;){const r=i[s],a=t[r];a&&(t[r]=Ap(e,a))}}function Ap(e,t){if(null!==e.variableList||e.hasVariableRefs){const i=e.variableList;return t.replace(fp,(t=>{const s=t.substring(2,t.length-1),r=null==i?void 0:i[s];return void 0===r?(e.playlistParsingError||(e.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),t):r}))}return t}function bp(e,t,i){let s,r,a=e.variableList;if(a||(e.variableList=a={}),"QUERYPARAM"in t){s=t.QUERYPARAM;try{const e=new self.URL(i).searchParams;if(!e.has(s))throw new Error(`"${s}" does not match any query parameter in URI: "${i}"`);r=e.get(s)}catch(t){e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`))}}else s=t.NAME,r=t.VALUE;s in a?e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):a[s]=r||""}function vp(e,t,i){const s=t.IMPORT;if(i&&s in i){let t=e.variableList;t||(e.variableList=t={}),t[s]=i[s]}else e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${s}"`))}function _p(e=!0){if("undefined"==typeof self)return;return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}const Sp={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Ep(e,t,i=!0){return!e.split(",").some((e=>!Tp(e,t,i)))}function Tp(e,t,i=!0){var s;const r=_p(i);return null!=(s=null==r?void 0:r.isTypeSupported(wp(e,t)))&&s}function wp(e,t){return`${t}/mp4;codecs="${e}"`}function kp(e){if(e){const t=e.substring(0,4);return Sp.video[t]}return 2}function Lp(e){return e.split(",").reduce(((e,t)=>{const i=Sp.video[t];return i?(2*i+e)/(e?3:2):(Sp.audio[t]+e)/(e?2:1)}),0)}const Cp={};const Dp=/flac|opus/i;function xp(e,t=!0){return e.replace(Dp,(e=>function(e,t=!0){if(Cp[e])return Cp[e];const i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e];for(let s=0;s0&&s.length({id:e.attrs.AUDIO,audioCodec:e.audioCodec}))),SUBTITLES:a.map((e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec}))),"CLOSED-CAPTIONS":[]};let n=0;for(Ip.lastIndex=0;null!==(s=Ip.exec(e));){const e=new Xc(s[1]),a=e.TYPE;if(a){const s=o[a],l=r[a]||[];r[a]=l,yp(i,e,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);const d=e.LANGUAGE,h=e["ASSOC-LANGUAGE"],c=e.CHANNELS,u=e.CHARACTERISTICS,p=e["INSTREAM-ID"],m={attrs:e,bitrate:0,id:n++,groupId:e["GROUP-ID"]||"",name:e.NAME||d||"",type:a,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:d,url:e.URI?Up.resolve(e.URI,t):""};if(h&&(m.assocLang=h),c&&(m.channels=c),u&&(m.characteristics=u),p&&(m.instreamId=p),null!=s&&s.length){const e=Up.findGroup(s,m.groupId)||s[0];Gp(m,e,"audioCodec"),Gp(m,e,"textCodec")}l.push(m)}}return r}static parseLevelPlaylist(e,t,i,s,r,a){const o=new lu(t),n=o.fragments;let l,d,h,c=null,u=0,p=0,m=0,f=0,g=null,y=new ou(s,t),A=-1,b=!1,v=null;for(Mp.lastIndex=0,o.m3u8=e,o.hasVariableRefs=gp(e);null!==(l=Mp.exec(e));){b&&(b=!1,y=new ou(s,t),y.start=m,y.sn=u,y.cc=f,y.level=i,c&&(y.initSegment=c,y.rawProgramDateTime=c.rawProgramDateTime,c.rawProgramDateTime=null,v&&(y.setByteRange(v),v=null)));const e=l[1];if(e){y.duration=parseFloat(e);const t=(" "+l[2]).slice(1);y.title=t||null,y.tagList.push(t?["INF",e,t]:["INF",e])}else if(l[3]){if(Nc(y.duration)){y.start=m,h&&zp(y,h,o),y.sn=u,y.level=i,y.cc=f,n.push(y);const e=(" "+l[3]).slice(1);y.relurl=Ap(o,e),Vp(y,g),g=y,m+=y.duration,u++,p=0,b=!0}}else if(l[4]){const e=(" "+l[4]).slice(1);g?y.setByteRange(e,g):y.setByteRange(e)}else if(l[5])y.rawProgramDateTime=(" "+l[5]).slice(1),y.tagList.push(["PROGRAM-DATE-TIME",y.rawProgramDateTime]),-1===A&&(A=n.length);else{if(l=l[0].match(Fp),!l){Kc.warn("No matches on slow regex match for level playlist!");continue}for(d=1;d0&&e.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=e.optionalFloat("PART-HOLD-BACK",0),o.holdBack=e.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{const e=new Xc(r);o.partTarget=e.decimalFloatingPoint("PART-TARGET");break}case"PART":{let e=o.partList;e||(e=o.partList=[]);const i=p>0?e[e.length-1]:void 0,s=p++,a=new Xc(r);yp(o,a,["BYTERANGE","URI"]);const n=new nu(a,y,t,s,i);e.push(n),y.duration+=n.duration;break}case"PRELOAD-HINT":{const e=new Xc(r);yp(o,e,["URI"]),o.preloadHint=e;break}case"RENDITION-REPORT":{const e=new Xc(r);yp(o,e,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(e);break}default:Kc.warn(`line parsed but not handled: ${l}`)}}}g&&!g.relurl?(n.pop(),m-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(Vp(y,g),y.cc=f,o.fragmentHint=y,h&&zp(y,h,o));const _=n.length,S=n[0],E=n[_-1];if(m+=o.skippedSegments*o.targetduration,m>0&&_&&E){o.averagetargetduration=m/_;const e=E.sn;o.endSN="initSegment"!==e?e:0,o.live||(E.endList=!0),S&&(o.startCC=S.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(m+=o.fragmentHint.duration),o.totalduration=m,o.endCC=f,A>0&&function(e,t){let i=e[t];for(let s=t;s--;){const t=e[s];if(!t)return;t.programDateTime=i.programDateTime-1e3*t.duration,i=t}}(n,A),o}}function Op(e,t,i){var s,r;const a=new Xc(e);yp(i,a,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);const o=null!=(s=a.METHOD)?s:"",n=a.URI,l=a.hexadecimalInteger("IV"),d=a.KEYFORMATVERSIONS,h=null!=(r=a.KEYFORMAT)?r:"identity";n&&a.IV&&!l&&Kc.error(`Invalid IV: ${a.IV}`);const c=n?Up.resolve(n,t):"",u=(d||"1").split("/").map(Number).filter(Number.isFinite);return new mp(o,c,h,u,l)}function Np(e){const t=new Xc(e).decimalFloatingPoint("TIME-OFFSET");return Nc(t)?t:null}function jp(e,t){let i=(e||"").split(/[ ,]+/).filter((e=>e));["video","audio","text"].forEach((e=>{const s=i.filter((t=>function(e,t){const i=Sp[t];return!!i&&!!i[e.slice(0,4)]}(t,e)));s.length&&(t[`${e}Codec`]=s.join(","),i=i.filter((e=>-1===s.indexOf(e))))})),t.unknownCodecs=i}function Gp(e,t,i){const s=t[i];s&&(e[i]=s)}function Vp(e,t){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime),Nc(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function Wp(e,t,i,s){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",s&&(e.levelkeys=s),e.initSegment=null}function zp(e,t,i){e.levelkeys=t;const{encryptedFragments:s}=i;s.length&&s[s.length-1].levelkeys===t||!Object.keys(t).some((e=>t[e].isCommonEncryption))||s.push(e)}var $p="manifest",Hp="level",Jp="audioTrack",qp="subtitleTrack",Kp="main",Yp="audio",Qp="subtitle";function Xp(e){const{type:t}=e;switch(t){case Jp:return Yp;case qp:return Qp;default:return Kp}}function Zp(e,t){let i=e.url;return void 0!==i&&0!==i.indexOf("data:")||(i=t.url),i}class em{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:e}=this;e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.LEVEL_LOADING,this.onLevelLoading,this),e.on(Vc.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(Vc.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){const{hls:e}=this;e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.LEVEL_LOADING,this.onLevelLoading,this),e.off(Vc.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(Vc.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){const t=this.hls.config,i=t.pLoader,s=t.loader,r=new(i||s)(t);return this.loaders[e.type]=r,r}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(const e in this.loaders){const t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){const{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:$p,url:i,deliveryDirectives:null})}onLevelLoading(e,t){const{id:i,level:s,pathwayId:r,url:a,deliveryDirectives:o}=t;this.load({id:i,level:s,pathwayId:r,responseType:"text",type:Hp,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){const{id:i,groupId:s,url:r,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:Jp,url:r,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){const{id:i,groupId:s,url:r,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:qp,url:r,deliveryDirectives:a})}load(e){var t;const i=this.hls.config;let s,r=this.getInternalLoader(e);if(r){const t=r.context;if(t&&t.url===e.url&&t.level===e.level)return void Kc.trace("[playlist-loader]: playlist request ongoing");Kc.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),r.abort()}if(s=e.type===$p?i.manifestLoadPolicy.default:Oc({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),Nc(null==(t=e.deliveryDirectives)?void 0:t.part)){let t;if(e.type===Hp&&null!==e.level?t=this.hls.levels[e.level].details:e.type===Jp&&null!==e.id?t=this.hls.audioTracks[e.id].details:e.type===qp&&null!==e.id&&(t=this.hls.subtitleTracks[e.id].details),t){const e=t.partTarget,i=t.targetduration;if(e&&i){const t=1e3*Math.max(3*e,.8*i);s=Oc({},s,{maxTimeToFirstByteMs:Math.min(t,s.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,s.maxTimeToFirstByteMs)})}}}const a=s.errorRetry||s.timeoutRetry||{},o={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},n={onSuccess:(e,t,i,s)=>{const r=this.getInternalLoader(i);this.resetInternalLoader(i.type);const a=e.data;0===a.indexOf("#EXTM3U")?(t.parsing.start=performance.now(),Up.isMediaPlaylist(a)?this.handleTrackOrLevelPlaylist(e,t,i,s||null,r):this.handleMasterPlaylist(e,t,i,s)):this.handleManifestParsingError(e,i,new Error("no EXTM3U delimiter"),s||null,t)},onError:(e,t,i,s)=>{this.handleNetworkError(t,i,!1,e,s)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}};r.load(e,o,n)}handleMasterPlaylist(e,t,i,s){const r=this.hls,a=e.data,o=Zp(e,i),n=Up.parseMasterPlaylist(a,o);if(n.playlistParsingError)return void this.handleManifestParsingError(e,i,n.playlistParsingError,s,t);const{contentSteering:l,levels:d,sessionData:h,sessionKeys:c,startTimeOffset:u,variableList:p}=n;this.variableList=p;const{AUDIO:m=[],SUBTITLES:f,"CLOSED-CAPTIONS":g}=Up.parseMasterPlaylistMedia(a,o,n);if(m.length){m.some((e=>!e.url))||!d[0].audioCodec||d[0].attrs.AUDIO||(Kc.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),m.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Xc({}),bitrate:0,url:""}))}r.trigger(Vc.MANIFEST_LOADED,{levels:d,audioTracks:m,subtitles:f,captions:g,contentSteering:l,url:o,stats:t,networkDetails:s,sessionData:h,sessionKeys:c,startTimeOffset:u,variableList:p})}handleTrackOrLevelPlaylist(e,t,i,s,r){const a=this.hls,{id:o,level:n,type:l}=i,d=Zp(e,i),h=Nc(n)?n:Nc(o)?o:0,c=Xp(i),u=Up.parseLevelPlaylist(e.data,d,h,c,0,this.variableList);if(l===$p){const e={attrs:new Xc({}),bitrate:0,details:u,name:"",url:d};a.trigger(Vc.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:d,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=u,this.handlePlaylistLoaded(u,e,t,i,s,r)}handleManifestParsingError(e,t,i,s,r){this.hls.trigger(Vc.ERROR,{type:Wc.NETWORK_ERROR,details:zc.MANIFEST_PARSING_ERROR,fatal:t.type===$p,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:r})}handleNetworkError(e,t,i=!1,s,r){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===Hp?a+=`: ${e.level} id: ${e.id}`:e.type!==Jp&&e.type!==qp||(a+=` id: ${e.id} group-id: "${e.groupId}"`);const o=new Error(a);Kc.warn(`[playlist-loader]: ${a}`);let n=zc.UNKNOWN,l=!1;const d=this.getInternalLoader(e);switch(e.type){case $p:n=i?zc.MANIFEST_LOAD_TIMEOUT:zc.MANIFEST_LOAD_ERROR,l=!0;break;case Hp:n=i?zc.LEVEL_LOAD_TIMEOUT:zc.LEVEL_LOAD_ERROR,l=!1;break;case Jp:n=i?zc.AUDIO_TRACK_LOAD_TIMEOUT:zc.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case qp:n=i?zc.SUBTITLE_TRACK_LOAD_TIMEOUT:zc.SUBTITLE_LOAD_ERROR,l=!1}d&&this.resetInternalLoader(e.type);const h={type:Wc.NETWORK_ERROR,details:n,fatal:l,url:e.url,loader:d,context:e,error:o,networkDetails:t,stats:r};if(s){const i=(null==t?void 0:t.url)||e.url;h.response=Mc({url:i,data:void 0},s)}this.hls.trigger(Vc.ERROR,h)}handlePlaylistLoaded(e,t,i,s,r,a){const o=this.hls,{type:n,level:l,id:d,groupId:h,deliveryDirectives:c}=s,u=Zp(t,s),p=Xp(s),m="number"==typeof s.level&&p===Kp?l:void 0;if(!e.fragments.length){const e=new Error("No Segments found in Playlist");return void o.trigger(Vc.ERROR,{type:Wc.NETWORK_ERROR,details:zc.LEVEL_EMPTY_ERROR,fatal:!1,url:u,error:e,reason:e.message,response:t,context:s,level:m,parent:p,networkDetails:r,stats:i})}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));const f=e.playlistParsingError;if(f)o.trigger(Vc.ERROR,{type:Wc.NETWORK_ERROR,details:zc.LEVEL_PARSING_ERROR,fatal:!1,url:u,error:f,reason:f.message,response:t,context:s,level:m,parent:p,networkDetails:r,stats:i});else switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),a.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),n){case $p:case Hp:o.trigger(Vc.LEVEL_LOADED,{details:e,level:m||0,id:d||0,stats:i,networkDetails:r,deliveryDirectives:c});break;case Jp:o.trigger(Vc.AUDIO_TRACK_LOADED,{details:e,id:d||0,groupId:h||"",stats:i,networkDetails:r,deliveryDirectives:c});break;case qp:o.trigger(Vc.SUBTITLE_TRACK_LOADED,{details:e,id:d||0,groupId:h||"",stats:i,networkDetails:r,deliveryDirectives:c})}}}function tm(e,t){let i;try{i=new Event("addtrack")}catch(e){i=document.createEvent("Event"),i.initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function im(e,t){const i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error(`addCue is failed for: ${t}`)}catch(i){Kc.debug(`[texttrack-utils]: ${i}`);try{const i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){Kc.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===i&&(e.mode=i)}function sm(e){const t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(let t=e.cues.length;t--;)e.removeCue(e.cues[t]);"disabled"===t&&(e.mode=t)}function rm(e,t,i,s){const r=e.mode;if("disabled"===r&&(e.mode="hidden"),e.cues&&e.cues.length>0){const r=function(e,t,i){const s=[],r=function(e,t){if(te[i].endTime)return-1;let s=0,r=i;for(;s<=r;){const a=Math.floor((r+s)/2);if(te[a].startTime&&s-1)for(let a=r,o=e.length;a=t&&r.endTime<=i)s.push(r);else if(r.startTime>i)return s}return s}(e.cues,t,i);for(let t=0;t{const e=dm();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function um(e,t){return e.getTime()/1e3-t}class pm{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){const{hls:e}=this;e.on(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Vc.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){const{hls:e}=this;e.off(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Vc.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(sm(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){const t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;tcm&&(s=cm);s-i<=0&&(s=i+.25);for(let e=0;ee.type===om&&n:"video"===s?e=>e.type===lm&&o:e=>e.type===om&&n||e.type===lm&&o,rm(r,t,i,e)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{dateRangeCuesAppended:i,id3Track:s}=this,{dateRanges:r}=t,a=Object.keys(r);if(s){const e=Object.keys(i).filter((e=>!a.includes(e)));for(let t=e.length;t--;){const r=e[t];Object.keys(i[r].cues).forEach((e=>{s.removeCue(i[r].cues[e])})),delete i[r]}}const o=t.fragments[t.fragments.length-1];if(0===a.length||!Nc(null==o?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const n=o.programDateTime/1e3-o.start,l=dm();for(let e=0;e{if(t!==s.id){const i=r[t];if(i.class===s.class&&i.startDate>s.startDate&&(!e||s.startDatethis.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){const{config:e,levelDetails:t}=this;return void 0!==e.liveMaxLatencyDuration?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){const{levelDetails:e}=this;if(null===e)return null;const{holdBack:t,partHoldBack:i,targetduration:s}=e,{liveSyncDuration:r,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,n=this.hls.userConfig;let l=o&&i||t;(n.liveSyncDuration||n.liveSyncDurationCount||0===l)&&(l=void 0!==r?r:a*s);const d=s;return l+Math.min(1*this.stallCount,d)}get liveSyncPosition(){const e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(null===e||null===t||null===i)return null;const s=i.edge,r=e-t-this.edgeStalled,a=s-i.totalduration,o=s-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(a,r),o)}get drift(){const{levelDetails:e}=this;return null===e?1:e.drift}get edgeStalled(){const{levelDetails:e}=this;if(null===e)return 0;const t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}get forwardBufferLength(){const{media:e,levelDetails:t}=this;if(!e||!t)return 0;const i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(Vc.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(Vc.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(Vc.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(Vc.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var i;t.details===zc.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(i=this.levelDetails)&&i.live&&Kc.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){const{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;const i=this.computeLatency();if(null===i)return;this._latency=i;const{lowLatencyMode:s,maxLiveSyncPlaybackRate:r}=this.config;if(!s||1===r||!t.live)return;const a=this.targetLatency;if(null===a)return;const o=i-a;if(o.05&&this.forwardBufferLength>1){const t=Math.min(2,Math.max(1,r)),i=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(t,Math.max(1,i))}else 1!==e.playbackRate&&0!==e.playbackRate&&(e.playbackRate=1)}estimateLiveEdge(){const{levelDetails:e}=this;return null===e?null:e.edge+e.age}computeLatency(){const e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}const fm=["NONE","TYPE-0","TYPE-1",null];const gm=["SDR","PQ","HLG"];var ym="",Am="YES",bm="v2";function vm(e){const{canSkipUntil:t,canSkipDateRanges:i,age:s}=e;return t&&s!!e)).map((e=>e.substring(0,4))).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return Em(this._audioGroups,e)}hasSubtitleGroup(e){return Em(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t)if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(t)&&e.push(t)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function Em(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function Tm(e,t){const i=t.startPTS;if(Nc(i)){let s,r=0;t.sn>e.sn?(r=i-e.start,s=e):(r=e.start-i,s=t),s.duration!==r&&(s.duration=r)}else if(t.sn>e.sn){e.cc===t.cc&&e.minEndPTS?t.start=e.start+(e.minEndPTS-e.start):t.start=e.start+e.duration}else t.start=Math.max(e.start-t.duration,0)}function wm(e,t,i,s,r,a){s-i<=0&&(Kc.warn("Fragment should have a positive duration",t),s=i+t.duration,a=r+t.duration);let o=i,n=s;const l=t.startPTS,d=t.endPTS;if(Nc(l)){const e=Math.abs(l-i);Nc(t.deltaPTS)?t.deltaPTS=Math.max(e,t.deltaPTS):t.deltaPTS=e,o=Math.max(i,l),i=Math.min(i,l),r=Math.min(r,t.startDTS),n=Math.min(s,d),s=Math.max(s,d),a=Math.max(a,t.endDTS)}const h=i-t.start;0!==t.start&&(t.start=i),t.duration=s-t.start,t.startPTS=i,t.maxStartPTS=o,t.startDTS=r,t.endPTS=s,t.minEndPTS=n,t.endDTS=a;const c=t.sn;if(!e||ce.endSN)return 0;let u;const p=c-e.startSN,m=e.fragments;for(m[p]=t,u=p;u>0;u--)Tm(m[u],m[u-1]);for(u=p;u=0;e--){const t=s[e].initSegment;if(t){i=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;let r,a=0;if(function(e,t,i){const s=t.skippedSegments,r=Math.max(e.startSN,t.startSN)-t.startSN,a=(e.fragmentHint?1:0)+(s?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,o=t.startSN-e.startSN,n=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let e=r;e<=a;e++){const r=l[o+e];let a=n[e];s&&!a&&e{e.relurl&&(a=e.cc-s.cc),Nc(e.startPTS)&&Nc(e.endPTS)&&(s.start=s.startPTS=e.startPTS,s.startDTS=e.startDTS,s.maxStartPTS=e.maxStartPTS,s.endPTS=e.endPTS,s.endDTS=e.endDTS,s.minEndPTS=e.minEndPTS,s.duration=e.endPTS-e.startPTS,s.duration&&(r=s),t.PTSKnown=t.alignedSliding=!0),s.elementaryStreams=e.elementaryStreams,s.loader=e.loader,s.stats=e.stats,e.initSegment&&(s.initSegment=e.initSegment,i=e.initSegment)})),i){(t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments).forEach((e=>{var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=i)?void 0:t.relurl)||(e.initSegment=i)}))}if(t.skippedSegments)if(t.deltaUpdateFailed=t.fragments.some((e=>!e)),t.deltaUpdateFailed){Kc.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=t.skippedSegments;e--;)t.fragments.shift();t.startSN=t.fragments[0].sn,t.startCC=t.fragments[0].cc}else t.canSkipDateRanges&&(t.dateRanges=function(e,t,i){const s=Oc({},e);i&&i.forEach((e=>{delete s[e]}));return Object.keys(t).forEach((e=>{const i=new eu(t[e].attr,s[e]);i.isValid?s[e]=i:Kc.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(t[e].attr)}"`)})),s}(e.dateRanges,t.dateRanges,t.recentlyRemovedDateranges));const o=t.fragments;if(a){Kc.warn("discontinuity sliding from playlist, take drift into account");for(let e=0;e{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats})),r?wm(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):Lm(e,t),o.length&&(t.totalduration=t.edge-o[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;const n=t.advancedDateTime;if(t.advanced&&n){const e=t.edge;t.driftStart||(t.driftStartTime=n,t.driftStart=e),t.driftEndTime=n,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime}function Lm(e,t){const i=t.startSN+t.skippedSegments-e.startSN,s=e.fragments;i<0||i>=s.length||Cm(t,s[i].start)}function Cm(e,t){if(t){const i=e.fragments;for(let s=e.skippedSegments;s{const{details:i}=e;null!=i&&i.fragments&&i.fragments.forEach((e=>{e.level=t}))}))}function Pm(e){switch(e.details){case zc.FRAG_LOAD_TIMEOUT:case zc.KEY_LOAD_TIMEOUT:case zc.LEVEL_LOAD_TIMEOUT:case zc.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Im(e,t){const i=Pm(t);return e.default[(i?"timeout":"error")+"Retry"]}function Bm(e,t){const i="linear"===e.backoff?1:Math.pow(2,t);return Math.min(i*e.retryDelayMs,e.maxRetryDelayMs)}function Mm(e){return Mc(Mc({},e),{errorRetry:null,timeoutRetry:null})}function Fm(e,t,i,s){if(!e)return!1;const r=null==s?void 0:s.code,a=t499)}(r)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,s,a):a}const Um=function(e,t){let i=0,s=e.length-1,r=null,a=null;for(;i<=s;){r=(i+s)/2|0,a=e[r];const o=t(a);if(o>0)i=r+1;else{if(!(o<0))return a;s=r-1}}return null};function Om(e,t,i=0,s=0,r=.005){let a=null;if(e){a=t[e.sn-t[0].sn+1]||null;const s=e.endDTS-i;s>0&&s<15e-7&&(i+=15e-7)}else 0===i&&0===t[0].start&&(a=t[0]);if(a&&((!e||e.level===a.level)&&0===Nm(i,s,a)||function(e,t,i){if(t&&0===t.start&&t.level0){const s=t.tagList.reduce(((e,t)=>("INF"===t[0]&&(e+=parseFloat(t[1])),e)),i);return e.start<=s}return!1}(a,e,Math.min(r,s))))return a;const o=Um(t,Nm.bind(null,i,s));return!o||o===e&&a?a:o}function Nm(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;const s=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-s<=e?1:i.start-s>e&&i.start?-1:0}function jm(e,t,i){const s=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-s>e}var Gm=0,Vm=2,Wm=3,zm=5,$m=0,Hm=1,Jm=2;class qm{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=Kc.log.bind(Kc,`${t}:`),this.warn=Kc.warn.bind(Kc,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){const s=null==t?void 0:t.renditionReports;if(s){let r=-1;for(let i=0;i=0&&e>t.partTarget&&(o+=1)}const n=i&&vm(i);return new _m(a,o>=0?o:void 0,n)}}}loadPlaylist(e){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,i){const{details:s,stats:r}=t,a=self.performance.now(),o=r.loading.first?Math.max(0,a-r.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||null!=i&&i.live){if(s.reloaded(i),i&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),i&&s.fragments.length>0&&km(i,s),!this.canLoad||!s.live)return;let o,n,l;if(s.canBlockReload&&s.endSN&&s.advanced){const e=this.hls.config.lowLatencyMode,r=s.lastPartSn,a=s.endSN,d=s.lastPartIndex,h=r===a,c=e?0:d;-1!==d?(n=h?a+1:r,l=h?c:d+1):n=a+1;const u=s.age,p=u+s.ageHeader;let m=Math.min(p-s.partTarget,1.5*s.targetduration);if(m>0){if(i&&m>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${m} with playlist age: ${s.age}`),m=0;else{const e=Math.floor(m/s.targetduration);if(n+=e,void 0!==l){l+=Math.round(m%s.targetduration/s.partTarget)}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${u.toFixed(2)}s goal: ${m} skip sn ${e} to part ${l}`)}s.tuneInGoal=m}if(o=this.getDeliveryDirectives(s,t.deliveryDirectives,n,l),e||!h)return void this.loadPlaylist(o)}else(s.canBlockReload||s.canSkipUntil)&&(o=this.getDeliveryDirectives(s,t.deliveryDirectives,n,l));const d=this.hls.mainForwardBufferInfo,h=d?d.end-d.len:0,c=function(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){const s=e.fragments,r=4;if(s.length&&i*r>t){const e=1e3*s[s.length-1].duration;ethis.requestScheduled+c&&(this.requestScheduled=r.loading.start),void 0!==n&&s.canBlockReload?this.requestScheduled=r.loading.first+c-(1e3*s.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+cthis.loadPlaylist(o)),u)}else this.clearTimer()}getDeliveryDirectives(e,t,i,s){let r=vm(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,r=ym),new _m(i,s,r)}checkRetry(e){const t=e.details,i=Pm(e),s=e.errorAction,{action:r,retryCount:a=0,retryConfig:o}=s||{},n=!!s&&!!o&&(r===zm||!s.resolved&&r===Vm);if(n){var l;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(i&&null!=(l=e.context)&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{const e=Bm(o,a);this.timer=self.setTimeout((()=>this.loadPlaylist()),e),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,s.resolved=!0}return n}}class Km{constructor(e,t=0,i=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=i}sample(e,t){const i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class Ym{constructor(e,t,i,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new Km(e),this.fast_=new Km(t),this.defaultTTFB_=s,this.ttfb_=new Km(e)}update(e,t){const{slow_:i,fast_:s,ttfb_:r}=this;i.halfLife!==e&&(this.slow_=new Km(e,i.getEstimate(),i.getTotalWeight())),s.halfLife!==t&&(this.fast_=new Km(t,s.getEstimate(),s.getTotalWeight())),r.halfLife!==e&&(this.ttfb_=new Km(e,r.getEstimate(),r.getTotalWeight()))}sample(e,t){const i=(e=Math.max(e,this.minDelayMs_))/1e3,s=8*t/i;this.fast_.sample(i,s),this.slow_.sample(i,s)}sampleTTFB(e){const t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}}const Qm={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},Xm={};function Zm(e,t,i,s,r,a){const o=e.audioCodec?e.audioGroups:null,n=null==a?void 0:a.audioCodec,l=null==a?void 0:a.channels,d=l?parseInt(l):n?1/0:2;let h=null;if(null!=o&&o.length)try{h=1===o.length&&o[0]?t.groups[o[0]].channels:o.reduce(((e,i)=>{if(i){const s=t.groups[i];if(!s)throw new Error(`Audio track group ${i} not found`);Object.keys(s.channels).forEach((t=>{e[t]=(e[t]||0)+s.channels[t]}))}return e}),{2:0})}catch(e){return!0}return void 0!==e.videoCodec&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(s,30)||"SDR"!==e.videoRange&&e.videoRange!==i||e.bitrate>Math.max(r,8e6))||!!h&&Nc(d)&&Object.keys(h).some((e=>parseInt(e)>d))}function ef(e,t,i){const s=e.videoCodec,r=e.audioCodec;if(!s||!r||!i)return Promise.resolve(Qm);const a={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)),framerate:e.frameRate||30},o=e.videoRange;"SDR"!==o&&(a.transferFunction=o.toLowerCase());const n=s.split(",").map((e=>({type:"media-source",video:Mc(Mc({},a),{},{contentType:wp(e,"video")})})));return r&&e.audioGroups&&e.audioGroups.forEach((e=>{var i;e&&(null==(i=t.groups[e])||i.tracks.forEach((t=>{if(t.groupId===e){const e=t.channels||"",i=parseFloat(e);Nc(i)&&i>2&&n.push.apply(n,r.split(",").map((e=>({type:"media-source",audio:{contentType:wp(e,"audio"),channels:""+i}}))))}})))})),Promise.all(n.map((e=>{const t=function(e){const{audio:t,video:i}=e,s=i||t;if(s){const e=s.contentType.split('"')[1];if(i)return`r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_${e}_${Math.ceil(i.bitrate/1e5)}`;if(t)return`c${t.channels}${t.spatialRendering?"s":"n"}_${e}`}return""}(e);return Xm[t]||(Xm[t]=i.decodingInfo(e))}))).then((e=>({supported:!e.some((e=>!e.supported)),configurations:n,decodingInfoResults:e}))).catch((e=>({supported:!1,configurations:n,decodingInfoResults:[],error:e})))}function tf(e,t){let i=!1,s=[];return e&&(i="SDR"!==e,s=[e]),t&&(s=t.allowedVideoRanges||gm.slice(0),i=void 0!==t.preferHDR?t.preferHDR:function(){if("function"==typeof matchMedia){const e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}(),s=i?s.filter((e=>"SDR"!==e)):["SDR"]),{preferHDR:i,allowedVideoRanges:s}}function sf(e,t){Kc.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function rf(e,t,i){if("attrs"in e){const i=t.indexOf(e);if(-1!==i)return i}for(let s=0;s-1===s.indexOf(e)))}(n,t.characteristics))&&(void 0===i||i(e,t))}function of(e,t){const{audioCodec:i,channels:s}=e;return!(void 0!==i&&(t.audioCodec||"").substring(0,4)!==i.substring(0,4)||void 0!==s&&s!==(t.channels||"2"))}function nf(e,t,i){for(let s=t;s;s--)if(i(e[s]))return s;for(let s=t+1;s{const a=this.fragments[s];if(!a)return;if(r>=a.body.sn)return;if(!a.buffered&&!a.loaded)return void(a.body.type===i&&this.removeFragment(a.body));const o=a.range[e];o&&o.time.some((e=>{const i=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return i&&this.removeFragment(a.body),i}))}))}detectPartialFragments(e){const t=this.timeRanges,{frag:i,part:s}=e;if(!t||"initSegment"===i.sn)return;const r=mf(i),a=this.fragments[r];if(!a||a.buffered&&i.gap)return;const o=!i.relurl;if(Object.keys(t).forEach((e=>{const r=i.elementaryStreams[e];if(!r)return;const n=t[e],l=o||!0===r.partial;a.range[e]=this.getBufferedTimes(i,s,l,n)})),a.loaded=null,Object.keys(a.range).length){a.buffered=!0;(a.body.endList=i.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),pf(a)||this.removeParts(i.sn-1,i.type)}else this.removeFragment(a.body)}removeParts(e,t){const i=this.activePartLists[t];i&&(this.activePartLists[t]=i.filter((t=>t.fragment.sn>=e)))}fragBuffered(e,t){const i=mf(e);let s=this.fragments[i];!s&&t&&(s=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,i,s){const r={time:[],partial:i},a=e.start,o=e.end,n=e.minEndPTS||o,l=e.maxStartPTS||a;for(let e=0;e=t&&n<=i){r.time.push({startPTS:Math.max(a,s.start(e)),endPTS:Math.min(o,s.end(e))});break}if(at){const t=Math.max(a,s.start(e)),i=Math.min(o,s.end(e));i>t&&(r.partial=!0,r.time.push({startPTS:t,endPTS:i}))}else if(o<=t)break}return r}getPartialFragment(e){let t,i,s,r=null,a=0;const{bufferPadding:o,fragments:n}=this;return Object.keys(n).forEach((l=>{const d=n[l];d&&pf(d)&&(i=d.body.start-o,s=d.body.end+o,e>=i&&e<=s&&(t=Math.min(e-i,s-e),a<=t&&(r=d.body,a=t)))})),r}isEndListAppended(e){const t=this.endListFragments[e];return void 0!==t&&(t.buffered||pf(t))}getState(e){const t=mf(e),i=this.fragments[t];return i?i.buffered?pf(i)?hf:cf:df:lf}isTimeBuffered(e,t,i){let s,r;for(let a=0;a=s&&t<=r)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){const{frag:i,part:s}=t;if("initSegment"===i.sn||i.bitrateTest)return;const r=s?null:t,a=mf(i);this.fragments[a]={body:i,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){const{frag:i,part:s,timeRanges:r}=t;if("initSegment"===i.sn)return;const a=i.type;if(s){let e=this.activePartLists[a];e||(this.activePartLists[a]=e=[]),e.push(s)}this.timeRanges=r,Object.keys(r).forEach((e=>{const t=r[e];this.detectEvictedFragments(e,t,a,s)}))}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){const t=mf(e);return!!this.fragments[t]}hasParts(e){var t;return!(null==(t=this.activePartLists[e])||!t.length)}removeFragmentsInRange(e,t,i,s,r){s&&!this.hasGaps||Object.keys(this.fragments).forEach((a=>{const o=this.fragments[a];if(!o)return;const n=o.body;n.type!==i||s&&!n.gap||n.starte&&(o.buffered||r)&&this.removeFragment(n)}))}removeFragment(e){const t=mf(e);e.stats.loaded=0,e.clearElementaryStreamInfo();const i=this.activePartLists[e.type];if(i){const t=e.sn;this.activePartLists[e.type]=i.filter((e=>e.fragment.sn!==t))}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}}function pf(e){var t,i,s;return e.buffered&&(e.body.gap||(null==(t=e.range.video)?void 0:t.partial)||(null==(i=e.range.audio)?void 0:i.partial)||(null==(s=e.range.audiovideo)?void 0:s.partial))}function mf(e){return`${e.type}_${e.level}_${e.sn}`}const ff={length:0,start:()=>0,end:()=>0};class gf{static isBuffered(e,t){try{if(e){const i=gf.getBuffered(e);for(let e=0;e=i.start(e)&&t<=i.end(e))return!0}}catch(e){}return!1}static bufferInfo(e,t,i){try{if(e){const s=gf.getBuffered(e),r=[];let a;for(a=0;aa&&(s[r-1].end=e[t].end):s.push(e[t])}else s.push(e[t])}else s=e;let r,a=0,o=t,n=t;for(let e=0;e=l&&ti.startCC||e&&e.cc{if(this.loader&&this.loader.destroy(),e.gap){if(e.tagList.some((e=>"GAP"===e[0])))return void n(kf(e));e.gap=!1}const l=this.loader=e.loader=r?new r(s):new a(s),d=wf(e),h=Mm(s.fragLoadPolicy.default),c={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:Ef};e.stats=l.stats,l.load(d,c,{onSuccess:(t,i,s,r)=>{this.resetLoader(e,l);let a=t.data;s.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(a.slice(0,16)),a=a.slice(16)),o({frag:e,part:null,payload:a,networkDetails:r})},onError:(t,s,r,a)=>{this.resetLoader(e,l),n(new Lf({type:Wc.NETWORK_ERROR,details:zc.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:Mc({url:i,data:void 0},t),error:new Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:r,stats:a}))},onAbort:(t,i,s)=>{this.resetLoader(e,l),n(new Lf({type:Wc.NETWORK_ERROR,details:zc.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:s,stats:t}))},onTimeout:(t,i,s)=>{this.resetLoader(e,l),n(new Lf({type:Wc.NETWORK_ERROR,details:zc.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${c.timeout}ms`),networkDetails:s,stats:t}))},onProgress:(i,s,r,a)=>{t&&t({frag:e,part:null,payload:r,networkDetails:a})}})}))}loadPart(e,t,i){this.abort();const s=this.config,r=s.fLoader,a=s.loader;return new Promise(((o,n)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap)return void n(kf(e,t));const l=this.loader=e.loader=r?new r(s):new a(s),d=wf(e,t),h=Mm(s.fragLoadPolicy.default),c={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Ef};t.stats=l.stats,l.load(d,c,{onSuccess:(s,r,a,n)=>{this.resetLoader(e,l),this.updateStatsFromPart(e,t);const d={frag:e,part:t,payload:s.data,networkDetails:n};i(d),o(d)},onError:(i,s,r,a)=>{this.resetLoader(e,l),n(new Lf({type:Wc.NETWORK_ERROR,details:zc.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:Mc({url:d.url,data:void 0},i),error:new Error(`HTTP Error ${i.code} ${i.text}`),networkDetails:r,stats:a}))},onAbort:(i,s,r)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,l),n(new Lf({type:Wc.NETWORK_ERROR,details:zc.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:r,stats:i}))},onTimeout:(i,s,r)=>{this.resetLoader(e,l),n(new Lf({type:Wc.NETWORK_ERROR,details:zc.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${c.timeout}ms`),networkDetails:r,stats:i}))}})}))}updateStatsFromPart(e,t){const i=e.stats,s=t.stats,r=s.total;if(i.loaded+=s.loaded,r){const s=Math.round(e.duration/t.duration),a=Math.min(Math.round(i.loaded/r),s),o=(s-a)*Math.round(i.loaded/a);i.total=i.loaded+o}else i.total=Math.max(i.loaded,i.total);const a=i.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function wf(e,t=null){const i=t||e,s={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},r=i.byteRangeStartOffset,a=i.byteRangeEndOffset;if(Nc(r)&&Nc(a)){var o;let t=r,i=a;if("initSegment"===e.sn&&"AES-128"===(null==(o=e.decryptdata)?void 0:o.method)){const e=a-r;e%16&&(i=a+(16-e%16)),0!==r&&(s.resetIV=!0,t=r-16)}s.rangeStart=t,s.rangeEnd=i}return s}function kf(e,t){const i=new Error(`GAP ${e.gap?"tag":"attribute"} found`),s={type:Wc.MEDIA_ERROR,details:zc.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(s.part=t),(t||e).stats.aborted=!0,new Lf(s)}class Lf extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class Cf{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}}class Df{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}}class xf{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){const t=new DataView(e),i=new Uint32Array(4);for(let e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){const e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],r=i[1],a=i[2],o=i[3],n=this.invSubMix,l=n[0],d=n[1],h=n[2],c=n[3],u=new Uint32Array(256);let p=0,m=0,f=0;for(f=0;f<256;f++)u[f]=f<128?f<<1:f<<1^283;for(f=0;f<256;f++){let i=m^m<<1^m<<2^m<<3^m<<4;i=i>>>8^255&i^99,e[p]=i,t[i]=p;const n=u[p],f=u[n],g=u[f];let y=257*u[i]^16843008*i;s[p]=y<<24|y>>>8,r[p]=y<<16|y>>>16,a[p]=y<<8|y>>>24,o[p]=y,y=16843009*g^65537*f^257*n^16843008*p,l[i]=y<<24|y>>>8,d[i]=y<<16|y>>>16,h[i]=y<<8|y>>>24,c[i]=y,p?(p=n^u[u[u[g^n]]],m^=u[u[m]]):p=m=1}}expandKey(e){const t=this.uint8ArrayToUint32Array_(e);let i=!0,s=0;for(;s{if(!this.subtle)return Promise.reject(new Error("web crypto not initialized"));this.logOnce("WebCrypto AES decrypt");return new Cf(this.subtle,new Uint8Array(i)).decrypt(e.buffer,t)})).catch((s=>(Kc.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,i))))}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);const s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e;const i=e.length-e.length%16;return i!==e.length&&(t=Tu(e,0,i),this.remainderData=Tu(e,i)),t}logOnce(e){this.logEnabled&&(Kc.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}const Pf=function(e){let t="";const i=e.length;for(let s=0;s1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}{constructor(e,t,i,s,r){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=If,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=r,this.logPrefix=s,this.log=Kc.log.bind(Kc,`${s}:`),this.warn=Kc.warn.bind(Kc,`${s}:`),this.hls=e,this.fragmentLoader=new Tf(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Rf(e.config),e.on(Vc.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=If}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;const i=t.partList;if(null!=i&&i.length){const e=i[i.length-1];return gf.isBuffered(this.media,e.start+e.duration/2)}const s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){var e;if(this.levels&&null!==this.levelLastLoaded)return null==(e=this.levelLastLoaded)?void 0:e.details}onMediaAttached(e,t){const i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);const s=this.config;this.levels&&s.autoStartLoad&&this.state===If&&this.startLoad(s.startPosition)}onMediaDetaching(){const e=this.media;null!=e&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){const{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:r}=this,a=i?i.currentTime:0,o=gf.bufferInfo(s||i,a,e.maxBufferHole);if(this.log(`media seeking to ${Nc(a)?a.toFixed(3):a}, state: ${r}`),this.state===Gf)this.resetLoadingState();else if(t){const i=e.maxFragLookUpTolerance,s=t.start-i,r=t.start+t.duration+i;if(!o.len||ro.end){const e=a>r;(a{if(this.fragContextChanged(e))return this.warn(`Fragment ${e.sn}${t.part?" p: "+t.part.index:""} of level ${e.level} was dropped during download.`),void this.fragmentTracker.removeFragment(e);e.stats.chunkCount++,this._handleFragmentLoadProgress(t)})).then((t=>{if(!t)return;const i=this.state;this.fragContextChanged(e)?(i===Ff||!this.fragCurrent&&i===Nf)&&(this.fragmentTracker.removeFragment(e),this.state=Bf):("payload"in t&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(Vc.FRAG_LOADED,t)),this._handleFragmentLoadComplete(t))})).catch((t=>{this.state!==If&&this.state!==Vf&&(this.warn(`Frag error: ${(null==t?void 0:t.message)||t}`),this.resetFragmentLoading(e))}))}clearTrackerIfNeeded(e){var t;const{fragmentTracker:i}=this;if(i.getState(e)===df){const t=e.type,s=this.getFwdBufferInfo(this.mediaBuffer,t),r=Math.max(e.duration,s?s.len:this.config.maxBufferLength),a=this.backtrackFragment;(1===(a?e.sn-a.sn:0)||this.reduceMaxBufferLength(r,e.duration))&&i.removeFragment(e)}else 0===(null==(t=this.mediaBuffer)?void 0:t.buffered.length)?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===hf&&i.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){const t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,i=null){if(!(e-t))return;const s={startOffset:e,endOffset:t,type:i};this.hls.trigger(Vc.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then((t=>{if(!t||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return t})).then((t=>{const{hls:i}=this,{payload:s}=t,r=e.decryptdata;if(s&&s.byteLength>0&&null!=r&&r.key&&r.iv&&"AES-128"===r.method){const a=self.performance.now();return this.decrypter.decrypt(new Uint8Array(s),r.key.buffer,r.iv.buffer).catch((t=>{throw i.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((s=>{const r=self.performance.now();return i.trigger(Vc.FRAG_DECRYPTED,{frag:e,payload:s,stats:{tstart:a,tdecrypt:r}}),t.payload=s,this.completeInitSegmentLoad(t)}))}return this.completeInitSegmentLoad(t)})).catch((t=>{this.state!==If&&this.state!==Vf&&(this.warn(t),this.resetFragmentLoading(e))}))}completeInitSegmentLoad(e){const{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");const i=e.frag.stats;this.state=Bf,e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){const{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var i,s,r,a;const o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===Kp?"level":"track"} ${e.level} (frag:[${(null!=(i=e.startPTS)?i:NaN).toFixed(3)}-${(null!=(s=e.endPTS)?s:NaN).toFixed(3)}] > buffer:${o?Pf(gf.getBuffered(o)):"(detached)"})`),"initSegment"!==e.sn){var n;if(e.type!==Qp){const t=e.elementaryStreams;if(!Object.keys(t).some((e=>!!t[e])))return void(this.state=Bf)}const t=null==(n=this.levels)?void 0:n[e.level];null!=t&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=Bf,o&&(!this.loadedmetadata&&e.type==Kp&&o.buffered.length&&(null==(r=this.fragCurrent)?void 0:r.sn)===(null==(a=this.fragPrevious)?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){const{transmuxer:t}=this;if(!t)return;const{frag:i,part:s,partsLoaded:r}=e,a=!r||0===r.length||r.some((e=>!e)),o=new yf(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,s){var r;const a=null==t?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(!e.encrypted||null!=(r=e.decryptdata)&&r.key?!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments):(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${"[stream-controller]"===this.logPrefix?"level":"track"} ${e.level}`),this.state=Mf,this.fragCurrent=e,o=this.keyLoader.load(e).then((e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(Vc.KEY_LOADED,e),this.state===Mf&&(this.state=Bf),e})),this.hls.trigger(Vc.KEY_LOADING,{frag:e}),null===this.fragCurrent&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&"initSegment"!==e.sn){const r=a.partList;if(r&&s){i>e.end&&a.fragmentHint&&(e=a.fragmentHint);const n=this.getNextPart(r,e,i);if(n>-1){const l=r[n];let d;return this.log(`Loading part sn: ${e.sn} p: ${l.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${n}-${r.length-1}] ${"[stream-controller]"===this.logPrefix?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=l.start+l.duration,this.state=Ff,d=o?o.then((i=>!i||this.fragContextChanged(i.frag)?null:this.doFragPartsLoad(e,l,t,s))).catch((e=>this.handleFragLoadError(e))):this.doFragPartsLoad(e,l,t,s).catch((e=>this.handleFragLoadError(e))),this.hls.trigger(Vc.FRAG_LOADING,{frag:e,part:l,targetBufferTime:i}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):d}if(!e.url||this.loadedEndOfParts(r,i))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${"[stream-controller]"===this.logPrefix?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),Nc(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=Ff;const n=this.config.progressive;let l;return l=n&&o?o.then((t=>!t||this.fragContextChanged(null==t?void 0:t.frag)?null:this.fragmentLoader.load(e,s))).catch((e=>this.handleFragLoadError(e))):Promise.all([this.fragmentLoader.load(e,n?s:void 0),o]).then((([e])=>(!n&&e&&s&&s(e),e))).catch((e=>this.handleFragLoadError(e))),this.hls.trigger(Vc.FRAG_LOADING,{frag:e,targetBufferTime:i}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l}doFragPartsLoad(e,t,i,s){return new Promise(((r,a)=>{var o;const n=[],l=null==(o=i.details)?void 0:o.partList,d=t=>{this.fragmentLoader.loadPart(e,t,s).then((s=>{n[t.index]=s;const a=s.part;this.hls.trigger(Vc.FRAG_LOADED,s);const o=Dm(i,e.sn,t.index+1)||xm(l,e.sn,t.index+1);if(!o)return r({frag:e,part:a,partsLoaded:n});d(o)})).catch(a)};d(t)}))}handleFragLoadError(e){if("data"in e){const t=e.data;e.data&&t.details===zc.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(Vc.ERROR,t)}else this.hls.trigger(Vc.ERROR,{type:Wc.OTHER_ERROR,details:zc.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){const t=this.getCurrentContext(e);if(!t||this.state!==Nf)return void(this.fragCurrent||this.state===If||this.state===Vf||(this.state=Bf));const{frag:i,part:s,level:r}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(i,s,r,e.partial)}getCurrentContext(e){const{levels:t,fragCurrent:i}=this,{level:s,sn:r,part:a}=e;if(null==t||!t[s])return this.warn(`Levels object was unset while buffering fragment ${r} of level ${s}. The current chunk will not be buffered.`),null;const o=t[s],n=a>-1?Dm(o,r,a):null,l=n?n.fragment:function(e,t,i){if(null==e||!e.details)return null;const s=e.details;let r=s.fragments[t-s.startSN];return r||(r=s.fragmentHint,r&&r.sn===t?r:ta&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){const i=this.getLoadPosition();return Nc(i)?this.getFwdBufferInfoAtPos(e,i,t):null}getFwdBufferInfoAtPos(e,t,i){const{config:{maxBufferHole:s}}=this,r=gf.bufferInfo(e,t,s);if(0===r.len&&void 0!==r.nextStart){const a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&r.nextStart=s&&(i.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0)}getAppendedFrag(e,t=Kp){const i=this.fragmentTracker.getAppendedFrag(e,Kp);return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){const i=t.fragments,s=i.length;if(!s)return null;const{config:r}=this,a=i[0].start;let o;if(t.live){const n=r.initialLiveManifestSize;if(st}getNextFragmentLoopLoading(e,t,i,s,r){const a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(null===o)return o;if(e=o,a&&e&&!e.gap&&i.nextStart){const t=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s);if(null!==t&&i.len+t.len>=r)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,t,i){let s=-1,r=!1,a=!0;for(let o=0,n=e.length;o-1&&ii.start&&i.loaded}getInitialLiveFragment(e,t){const i=this.fragPrevious;let s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=function(e,t,i){if(null===t||!Array.isArray(e)||!e.length||!Nc(t))return null;if(t<(e[0].programDateTime||0))return null;if(t>=(e[e.length-1].endProgramDateTime||0))return null;i=i||0;for(let s=0;s=e.startSN&&r<=e.endSN){const a=t[r-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=function(e,t){return Um(e,(e=>e.cct?-1:0))}(t,i.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{const t=this.hls.liveSyncPosition;null!==t&&(s=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,i){const{config:s}=this;let{fragPrevious:r}=this,{fragments:a,endSN:o}=i;const{fragmentHint:n}=i,{maxFragLookUpTolerance:l}=s,d=i.partList,h=!!(s.lowLatencyMode&&null!=d&&d.length&&n);let c;if(h&&n&&!this.bitrateTest&&(a=a.concat(n),o=n.sn),et-l?0:l)}else c=a[a.length-1];if(c){const e=c.sn-i.startSN,t=this.fragmentTracker.getState(c);if((t===cf||t===hf&&c.gap)&&(r=c),r&&c.sn===r.sn&&(!h||d[0].fragment.sn>c.sn)){if(r&&c.level===r.level){const t=a[e+1];c=c.sn=a-t.maxFragLookUpTolerance&&r<=o;if(null!==s&&i.duration>s&&(r${e.startSN} prev-sn: ${r?r.sn:"na"} fragments: ${s}`),a}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;if(i ${null==(s=this.fragCurrent)?void 0:s.url}`);const r=t.details===zc.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(i,!0);const a=t.errorAction,{action:o,retryCount:n=0,retryConfig:l}=a||{};if(a&&o===zm&&l){this.resetStartWhenNotLoaded(this.levelLastLoaded);const s=Bm(l,n);this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${n+1}/${l.maxNumRetry} in ${s}ms`),a.resolved=!0,this.retryDate=self.performance.now()+s,this.state=Uf}else if(l&&a){if(this.resetFragmentErrors(e),!(n.5;r&&this.reduceMaxBufferLength(s.len,(null==t?void 0:t.duration)||10);const a=!r;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===Yp&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==If&&(this.state=Bf)}afterBufferFlushed(e,t,i){if(!e)return;const s=gf.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===Gf&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Bf}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;const t=e?e.details:null;null!=t&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){var r;const a=i.details;if(!a)return void this.warn("level.details undefined");if(!Object.keys(e.elementaryStreams).reduce(((t,r)=>{const o=e.elementaryStreams[r];if(o){const n=o.endPTS-o.startPTS;if(n<=0)return this.warn(`Could not parse fragment ${e.sn} ${r} duration reliably (${n})`),t||!1;const l=s?0:wm(a,e,o.startPTS,o.endPTS,o.startDTS,o.endDTS);return this.hls.trigger(Vc.LEVEL_PTS_UPDATED,{details:a,level:i,drift:l,type:r,frag:e,start:o.startPTS,end:o.endPTS}),!0}return t}),!1)&&null===(null==(r=this.transmuxer)?void 0:r.error)){const t=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(0===i.fragmentError&&(i.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(t.message),this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=jf,this.hls.trigger(Vc.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){const t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}class Hf{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){const{chunks:e,dataLength:t}=this;let i;return e.length?(i=1===e.length?e[0]:function(e,t){const i=new Uint8Array(t);let s=0;for(let t=0;t0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:om,duration:Number.POSITIVE_INFINITY});r{if(Nc(e))return 90*e;return 9e4*t+(i?9e4*i.baseTime/i.timescale:0)};function Yf(e,t){return 255===e[t]&&240==(246&e[t+1])}function Qf(e,t){return 1&e[t+1]?7:9}function Xf(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function Zf(e,t){return t+1=e.length)return!1;const s=Xf(e,t);if(s<=i)return!1;const r=t+s;return r===e.length||Zf(e,r)}return!1}function tg(e,t,i,s,r){if(!e.samplerate){const a=function(e,t,i,s){let r,a,o,n;const l=navigator.userAgent.toLowerCase(),d=s,h=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];r=1+((192&t[i+2])>>>6);const c=(60&t[i+2])>>>2;if(!(c>h.length-1))return o=(1&t[i+2])<<2,o|=(192&t[i+3])>>>6,Kc.log(`manifest codec:${s}, ADTS type:${r}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(r=5,n=new Array(4),a=c-3):(r=2,n=new Array(2),a=c):-1!==l.indexOf("android")?(r=2,n=new Array(2),a=c):(r=5,n=new Array(4),s&&(-1!==s.indexOf("mp4a.40.29")||-1!==s.indexOf("mp4a.40.5"))||!s&&c>=6?a=c-3:((s&&-1!==s.indexOf("mp4a.40.2")&&(c>=6&&1===o||/vivaldi/i.test(l))||!s&&1===o)&&(r=2,n=new Array(2)),a=c)),n[0]=r<<3,n[0]|=(14&c)>>1,n[1]|=(1&c)<<7,n[1]|=o<<3,5===r&&(n[1]|=(14&a)>>1,n[2]=(1&a)<<7,n[2]|=8,n[3]=0),{config:n,samplerate:h[c],channelCount:o,codec:"mp4a.40."+r,manifestCodec:d};{const t=new Error(`invalid ADTS sampling index:${c}`);e.emit(Vc.ERROR,Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message})}}(t,i,s,r);if(!a)return;e.config=a.config,e.samplerate=a.samplerate,e.channelCount=a.channelCount,e.codec=a.codec,e.manifestCodec=a.manifestCodec,Kc.log(`parsed codec:${e.codec}, rate:${a.samplerate}, channels:${a.channelCount}`)}}function ig(e){return 9216e4/e}function sg(e,t,i,s,r){const a=s+r*ig(e.samplerate),o=function(e,t){const i=Qf(e,t);if(t+i<=e.length){const s=Xf(e,t)-i;if(s>0)return{headerLength:i,frameLength:s}}}(t,i);let n;if(o){const{frameLength:s,headerLength:r}=o,l=r+s,d=Math.max(0,i+l-t.length);d?(n=new Uint8Array(l-r),n.set(t.subarray(i+r,t.length),0)):n=t.subarray(i+r,i+l);const h={unit:n,pts:a};return d||e.samples.push(h),{sample:h,length:l,missing:d}}const l=t.length-i;n=new Uint8Array(l),n.set(t.subarray(i,t.length),0);return{sample:{unit:n,pts:a},length:l,missing:-1}}let rg=null;const ag=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],og=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],ng=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],lg=[0,1,1,4];function dg(e,t,i,s,r){if(i+24>t.length)return;const a=hg(t,i);if(a&&i+a.frameLength<=t.length){const o=s+r*(9e4*a.samplesPerFrame/a.sampleRate),n={unit:t.subarray(i,i+a.frameLength),pts:o,dts:o};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(n),{sample:n,length:a.frameLength,missing:0}}}function hg(e,t){const i=e[t+1]>>3&3,s=e[t+1]>>1&3,r=e[t+2]>>4&15,a=e[t+2]>>2&3;if(1!==i&&0!==r&&15!==r&&3!==a){const o=e[t+2]>>1&1,n=e[t+3]>>6,l=1e3*ag[14*(3===i?3-s:3===s?3:4)+r-1],d=og[3*(3===i?0:2===i?1:2)+a],h=3===n?1:2,c=ng[i][s],u=lg[s],p=8*c*u,m=Math.floor(c*l/d+o)*u;if(null===rg){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);rg=e?parseInt(e[1]):0}return!!rg&&rg<=87&&2===s&&l>=224e3&&0===n&&(e[t+3]=128|e[t+3]),{sampleRate:d,channelCount:h,frameLength:m,samplesPerFrame:p}}}function cg(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])}function ug(e,t){return t+1{let i=0,s=5;t+=s;const r=new Uint32Array(1),a=new Uint32Array(1),o=new Uint8Array(1);for(;s>0;){o[0]=e[t];const n=Math.min(s,8),l=8-n;a[0]=4278190080>>>24+l<>l,i=i?i<t.length)return-1;if(11!==t[i]||119!==t[i+1])return-1;const a=t[i+4]>>6;if(a>=3)return-1;const o=[48e3,44100,32e3][a],n=63&t[i+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*n+a];if(i+l>t.length)return-1;const d=t[i+6]>>5;let h=0;2===d?h+=2:(1&d&&1!==d&&(h+=2),4&d&&(h+=2));const c=(t[i+6]<<8|t[i+7])>>12-h&1,u=[2,1,2,3,3,4,4,5][d]+c,p=t[i+5]>>3,m=7&t[i+5],f=new Uint8Array([a<<6|p<<1|m>>2,(3&m)<<6|d<<3|c<<2|n>>4,n<<4&224]),g=s+r*(1536/o*9e4),y=t.subarray(i,i+l);return e.config=f,e.channelCount=u,e.samplerate=o,e.samples.push({unit:y,pts:g}),l}class Ag{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const e=this.data,t=this.bytesAvailable,i=e.byteLength-t,s=new Uint8Array(4),r=Math.min(4,t);if(0===r)throw new Error("no bytes available");s.set(e.subarray(i,i+r)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=8*r,this.bytesAvailable-=r}skipBits(e){let t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(t=(e-=this.bitsAvailable)>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e);const i=this.word>>>32-t;if(e>32&&Kc.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return t=e-t,t>0&&this.bitsAvailable?i<>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const e=this.skipLZ();return this.readBits(e+1)-1}readEG(){const e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t,i=8,s=8;for(let r=0;r{var a;switch(s.type){case 1:{let t=!1;o=!0;const r=s.data;if(l&&r.length>4){const e=new Ag(r).readSliceType();2!==e&&4!==e&&7!==e&&9!==e||(t=!0)}var d;if(t)null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null);n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts,"")),n.frame=!0,n.key=t;break}case 5:o=!0,null!=(a=n)&&a.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts,"")),n.key=!0,n.frame=!0;break;case 6:o=!0,hp(s.data,1,i.pts,t.samples);break;case 7:{var h,c;o=!0,l=!0;const t=s.data,i=new Ag(t).readSPS();if(!e.sps||e.width!==i.width||e.height!==i.height||(null==(h=e.pixelRatio)?void 0:h[0])!==i.pixelRatio[0]||(null==(c=e.pixelRatio)?void 0:c[1])!==i.pixelRatio[1]){e.width=i.width,e.height=i.height,e.pixelRatio=i.pixelRatio,e.sps=[t],e.duration=r;const s=t.subarray(1,4);let a="avc1.";for(let e=0;e<3;e++){let t=s[e].toString(16);t.length<2&&(t="0"+t),a+=t}e.codec=a}break}case 8:o=!0,e.pps=[s.data];break;case 9:o=!0,e.audFound=!0,n&&this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts,"");break;case 12:o=!0;break;default:o=!1,n&&(n.debug+="unknown NAL "+s.type+" ")}if(n&&o){n.units.push(s)}})),s&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}parseAVCNALu(e,t){const i=t.byteLength;let s=e.naluState||0;const r=s,a=[];let o,n,l,d=0,h=-1,c=0;for(-1===s&&(h=0,c=31&t[0],s=0,d=1);d=0){const e={data:t.subarray(h,n),type:c};a.push(e)}else{const i=this.getLastNalUnit(e.samples);i&&(r&&d<=4-r&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-r)),n>0&&(i.data=np(i.data,t.subarray(0,n)),i.state=0))}d=0&&s>=0){const e={data:t.subarray(h,i),type:c,state:s};a.push(e)}if(0===a.length){const i=this.getLastNalUnit(e.samples);i&&(i.data=np(i.data,t))}return e.naluState=s,a}}class vg{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Rf(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,i){const s=e[t].unit;if(s.length<=16)return;const r=s.subarray(16,s.length-s.length%16),a=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(a).then((r=>{const a=new Uint8Array(r);s.set(a,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)}))}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){const t=16*Math.floor((e.length-48)/160)+16,i=new Int8Array(t);let s=0;for(let t=32;t{r.data=this.getAvcDecryptedUnit(a,o),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)}))}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void s();const r=e[t].units;for(;!(i>=r.length);i++){const a=r[i];if(!(a.data.length<=48||1!==a.type&&5!==a.type||(this.decryptAvcSample(e,t,i,s,a),this.decrypter.isSync())))return}}}}const _g=188;class Sg{constructor(e,t,i){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.videoParser=new bg}static probe(e){const t=Sg.syncOffset(e);return t>0&&Kc.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),-1!==t}static syncOffset(e){const t=e.length;let i=Math.min(940,t-_g)+1,s=0;for(;s1&&(0===a&&o>2||n+_g>i))return a}s++}return-1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:$u[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,i,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Sg.createTrack("video"),this._audioTrack=Sg.createTrack("audio",s),this._id3Track=Sg.createTrack("id3"),this._txtTrack=Sg.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=s}resetTimeStamp(){}resetContiguity(){const{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,i=!1,s=!1){let r;i||(this.sampleAes=null);const a=this._videoTrack,o=this._audioTrack,n=this._id3Track,l=this._txtTrack;let d=a.pid,h=a.pesData,c=o.pid,u=n.pid,p=o.pesData,m=n.pesData,f=null,g=this.pmtParsed,y=this._pmtId,A=e.length;if(this.remainderData&&(A=(e=np(this.remainderData,e)).length,this.remainderData=null),A<_g&&!s)return this.remainderData=e,{audioTrack:o,videoTrack:a,id3Track:n,textTrack:l};const b=Math.max(0,Sg.syncOffset(e));A-=(A-b)%_g,A>4>1){if(v=t+5+e[t+4],v===t+_g)continue}else v=t+4;switch(A){case d:s&&(h&&(r=Cg(h))&&this.videoParser.parseAVCPES(a,l,r,!1,this._duration),h={data:[],size:0}),h&&(h.data.push(e.subarray(v,t+_g)),h.size+=t+_g-v);break;case c:if(s){if(p&&(r=Cg(p)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,r);break;case"mp3":this.parseMPEGPES(o,r);break;case"ac3":this.parseAC3PES(o,r)}p={data:[],size:0}}p&&(p.data.push(e.subarray(v,t+_g)),p.size+=t+_g-v);break;case u:s&&(m&&(r=Cg(m))&&this.parseID3PES(n,r),m={data:[],size:0}),m&&(m.data.push(e.subarray(v,t+_g)),m.size+=t+_g-v);break;case 0:s&&(v+=e[v]+1),y=this._pmtId=Tg(e,v);break;case y:{s&&(v+=e[v]+1);const r=wg(e,v,this.typeSupported,i,this.observer);d=r.videoPid,d>0&&(a.pid=d,a.segmentCodec=r.segmentVideoCodec),c=r.audioPid,c>0&&(o.pid=c,o.segmentCodec=r.segmentAudioCodec),u=r.id3Pid,u>0&&(n.pid=u),null===f||g||(Kc.warn(`MPEG-TS PMT found at ${t} after unknown PID '${f}'. Backtracking to sync byte @${b} to parse all TS packets.`),f=null,t=b-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:f=A}}else v++;v>0&&kg(this.observer,new Error(`Found ${v} TS packet/s that do not start with 0x47`)),a.pesData=h,o.pesData=p,n.pesData=m;const _={audioTrack:o,videoTrack:a,id3Track:n,textTrack:l};return s&&this.extractRemainingSamples(_),_}flush(){const{remainderData:e}=this;let t;return this.remainderData=null,t=e?this.demux(e,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){const{audioTrack:t,videoTrack:i,id3Track:s,textTrack:r}=e,a=i.pesData,o=t.pesData,n=s.pesData;let l;if(a&&(l=Cg(a))?(this.videoParser.parseAVCPES(i,r,l,!0,this._duration),i.pesData=null):i.pesData=a,o&&(l=Cg(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,l);break;case"mp3":this.parseMPEGPES(t,l);break;case"ac3":this.parseAC3PES(t,l)}t.pesData=null}else null!=o&&o.size&&Kc.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;n&&(l=Cg(n))?(this.parseID3PES(s,l),s.pesData=null):s.pesData=n}demuxSampleAes(e,t,i){const s=this.demux(e,i,!0,!this.config.progressive),r=this.sampleAes=new vg(this.observer,this.config,t);return this.decrypt(s,r)}decrypt(e,t){return new Promise((i=>{const{audioTrack:s,videoTrack:r}=e;s.samples&&"aac"===s.segmentCodec?t.decryptAacSamples(s.samples,0,(()=>{r.samples?t.decryptAvcSamples(r.samples,0,0,(()=>{i(e)})):i(e)})):r.samples&&t.decryptAvcSamples(r.samples,0,0,(()=>{i(e)}))}))}destroy(){this._duration=0}parseAACPES(e,t){let i=0;const s=this.aacOverFlow;let r,a,o,n=t.data;if(s){this.aacOverFlow=null;const t=s.missing,r=s.sample.unit.byteLength;if(-1===t)n=np(s.sample.unit,n);else{const a=r-t;s.sample.unit.set(n.subarray(0,t),a),e.samples.push(s.sample),i=s.missing}}for(r=i,a=n.length;r0;)n+=a}}parseID3PES(e,t){if(void 0===t.pts)return void Kc.warn("[tsdemuxer]: ID3 PES unknown PTS");const i=Oc({},t,{type:this._videoTrack?lm:om,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}}function Eg(e,t){return((31&e[t+1])<<8)+e[t+2]}function Tg(e,t){return(31&e[t+10])<<8|e[t+11]}function wg(e,t,i,s,r){const a={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t0){let s=t+5,r=n;for(;r>2;){if(106===e[s])!0!==i.ac3?Kc.log("AC-3 audio found, not supported in this browser for now"):(a.audioPid=o,a.segmentAudioCodec="ac3");const t=e[s+1]+2;s+=t,r-=t}}break;case 194:case 135:return kg(r,new Error("Unsupported EC-3 in M2TS found")),a;case 36:return kg(r,new Error("Unsupported HEVC in M2TS found")),a}t+=n+5}return a}function kg(e,t,i){Kc.warn(`parsing error: ${t.message}`),e.emit(Vc.ERROR,Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message})}function Lg(e){Kc.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function Cg(e){let t,i,s,r,a,o=0;const n=e.data;if(!e||0===e.size)return null;for(;n[0].length<19&&n.length>1;)n[0]=np(n[0],n[1]),n.splice(1,1);t=n[0];if(1===(t[0]<<16)+(t[1]<<8)+t[2]){if(i=(t[4]<<8)+t[5],i&&i>e.size-6)return null;const l=t[7];192&l&&(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&l?(a=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2,r-a>54e5&&(Kc.warn(`${Math.round((r-a)/9e4)}s delta between PTS and DTS, align them`),r=a)):a=r),s=t[8];let d=s+9;if(e.size<=d)return null;e.size-=d;const h=new Uint8Array(e.size);for(let e=0,i=n.length;ei){d-=i;continue}t=t.subarray(d),i-=d,d=0}h.set(t,o),o+=i}return i&&(i-=s+3),{data:h,pts:r,dts:a,len:i}}return null}class Dg{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}const xg=Math.pow(2,32)-1;class Rg{static init(){let e;for(e in Rg.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},Rg.types)Rg.types.hasOwnProperty(e)&&(Rg.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);const t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);Rg.HDLR_TYPES={video:t,audio:i};const s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),r=new Uint8Array([0,0,0,0,0,0,0,0]);Rg.STTS=Rg.STSC=Rg.STCO=r,Rg.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Rg.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),Rg.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Rg.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),n=new Uint8Array([0,0,0,1]);Rg.FTYP=Rg.box(Rg.types.ftyp,a,n,a,o),Rg.DINF=Rg.box(Rg.types.dinf,Rg.box(Rg.types.dref,s))}static box(e,...t){let i=8,s=t.length;const r=s;for(;s--;)i+=t[s].byteLength;const a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=255&i,a.set(e,4),s=0,i=8;s>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s,85,196,0,0]))}static mdia(e){return Rg.box(Rg.types.mdia,Rg.mdhd(e.timescale,e.duration),Rg.hdlr(e.type),Rg.minf(e))}static mfhd(e){return Rg.box(Rg.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?Rg.box(Rg.types.minf,Rg.box(Rg.types.smhd,Rg.SMHD),Rg.DINF,Rg.stbl(e)):Rg.box(Rg.types.minf,Rg.box(Rg.types.vmhd,Rg.VMHD),Rg.DINF,Rg.stbl(e))}static moof(e,t,i){return Rg.box(Rg.types.moof,Rg.mfhd(e),Rg.traf(i,t))}static moov(e){let t=e.length;const i=[];for(;t--;)i[t]=Rg.trak(e[t]);return Rg.box.apply(null,[Rg.types.moov,Rg.mvhd(e[0].timescale,e[0].duration)].concat(i).concat(Rg.mvex(e)))}static mvex(e){let t=e.length;const i=[];for(;t--;)i[t]=Rg.trex(e[t]);return Rg.box.apply(null,[Rg.types.mvex,...i])}static mvhd(e,t){t*=e;const i=Math.floor(t/(xg+1)),s=Math.floor(t%(xg+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return Rg.box(Rg.types.mvhd,r)}static sdtp(e){const t=e.samples||[],i=new Uint8Array(4+t.length);let s,r;for(s=0;s>>8&255),r.push(255&s),r=r.concat(Array.prototype.slice.call(i));for(t=0;t>>8&255),a.push(255&s),a=a.concat(Array.prototype.slice.call(i));const o=Rg.box(Rg.types.avcC,new Uint8Array([1,r[3],r[4],r[5],255,224|e.sps.length].concat(r).concat([e.pps.length]).concat(a))),n=e.width,l=e.height,d=e.pixelRatio[0],h=e.pixelRatio[1];return Rg.box(Rg.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>8&255,255&n,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,Rg.box(Rg.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Rg.box(Rg.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,h>>24,h>>16&255,h>>8&255,255&h])))}static esds(e){const t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){const t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return Rg.box(Rg.types.mp4a,Rg.audioStsd(e),Rg.box(Rg.types.esds,Rg.esds(e)))}static mp3(e){return Rg.box(Rg.types[".mp3"],Rg.audioStsd(e))}static ac3(e){return Rg.box(Rg.types["ac-3"],Rg.audioStsd(e),Rg.box(Rg.types.dac3,e.config))}static stsd(e){return"audio"===e.type?"mp3"===e.segmentCodec&&"mp3"===e.codec?Rg.box(Rg.types.stsd,Rg.STSD,Rg.mp3(e)):"ac3"===e.segmentCodec?Rg.box(Rg.types.stsd,Rg.STSD,Rg.ac3(e)):Rg.box(Rg.types.stsd,Rg.STSD,Rg.mp4a(e)):Rg.box(Rg.types.stsd,Rg.STSD,Rg.avc1(e))}static tkhd(e){const t=e.id,i=e.duration*e.timescale,s=e.width,r=e.height,a=Math.floor(i/(xg+1)),o=Math.floor(i%(xg+1));return Rg.box(Rg.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,o>>24,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,255&s,0,0,r>>8&255,255&r,0,0]))}static traf(e,t){const i=Rg.sdtp(e),s=e.id,r=Math.floor(t/(xg+1)),a=Math.floor(t%(xg+1));return Rg.box(Rg.types.traf,Rg.box(Rg.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s])),Rg.box(Rg.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,a>>24,a>>16&255,a>>8&255,255&a])),Rg.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,Rg.box(Rg.types.trak,Rg.tkhd(e),Rg.mdia(e))}static trex(e){const t=e.id;return Rg.box(Rg.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){const i=e.samples||[],s=i.length,r=12+16*s,a=new Uint8Array(r);let o,n,l,d,h,c;for(t+=8+r,a.set(["video"===e.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0),o=0;o>>24&255,l>>>16&255,l>>>8&255,255&l,d>>>24&255,d>>>16&255,d>>>8&255,255&d,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.paddingValue<<1|h.isNonSync,61440&h.degradPrio,15&h.degradPrio,c>>>24&255,c>>>16&255,c>>>8&255,255&c],12+16*o);return Rg.box(Rg.types.trun,a)}static initSegment(e){Rg.types||Rg.init();const t=Rg.moov(e);return np(Rg.FTYP,t)}}Rg.types=void 0,Rg.HDLR_TYPES=void 0,Rg.STTS=void 0,Rg.STSC=void 0,Rg.STCO=void 0,Rg.STSZ=void 0,Rg.VMHD=void 0,Rg.SMHD=void 0,Rg.STSD=void 0,Rg.FTYP=void 0,Rg.DINF=void 0;function Pg(e,t,i=1,s=!1){const r=e*t*i;return s?Math.round(r):r}function Ig(e,t=!1){return Pg(e,1e3,1/9e4,t)}let Bg,Mg=null,Fg=null;class Ug{constructor(e,t,i,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===Mg){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Mg=e?parseInt(e[1]):0}if(null===Fg){const e=navigator.userAgent.match(/Safari\/(\d+)/i);Fg=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){Kc.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){Kc.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){Kc.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1;const i=e.reduce(((e,i)=>{const s=i.pts-e;return s<-4294967296?(t=!0,Og(e,i.pts)):s>0?e:i.pts}),e[0].pts);return t&&Kc.debug("PTS rollover detected"),i}remux(e,t,i,s,r,a,o,n){let l,d,h,c,u,p,m=r,f=r;const g=e.pid>-1,y=t.pid>-1,A=t.samples.length,b=e.samples.length>0,v=o&&A>0||A>1;if((!g||b)&&(!y||v)||this.ISGenerated||o){if(this.ISGenerated){var _,S,E,T;const e=this.videoTrackConfig;!e||t.width===e.width&&t.height===e.height&&(null==(_=t.pixelRatio)?void 0:_[0])===(null==(S=e.pixelRatio)?void 0:S[0])&&(null==(E=t.pixelRatio)?void 0:E[1])===(null==(T=e.pixelRatio)?void 0:T[1])||this.resetInitSegment()}else h=this.generateIS(e,t,r,a);const i=this.isVideoContiguous;let s,o=-1;if(v&&(o=function(e){for(let t=0;t0){Kc.warn(`[mp4-remuxer]: Dropped ${o} out of ${A} video samples due to a missing keyframe`);const e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(o),t.dropped+=o,f+=(t.samples[0].pts-e)/t.inputTimeScale,s=f}else-1===o&&(Kc.warn(`[mp4-remuxer]: No keyframe found out of ${A} video samples`),p=!1);if(this.ISGenerated){if(b&&v){const i=this.getVideoStartPts(t.samples),s=(Og(e.samples[0].pts,i)-i)/t.inputTimeScale;m+=Math.max(0,s),f+=Math.max(0,-s)}if(b){if(e.samplerate||(Kc.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),h=this.generateIS(e,t,r,a)),d=this.remuxAudio(e,m,this.isAudioContiguous,a,y||v||n===Yp?f:void 0),v){const s=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(Kc.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),h=this.generateIS(e,t,r,a)),l=this.remuxVideo(t,f,i,s)}}else v&&(l=this.remuxVideo(t,f,i,0));l&&(l.firstKeyFrame=o,l.independent=-1!==o,l.firstKeyFramePTS=s)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(u=Ng(i,r,this._initPTS,this._initDTS)),s.samples.length&&(c=jg(s,r,this._initPTS))),{audio:d,video:l,initSegment:h,independent:p,text:c,id3:u}}generateIS(e,t,i,s){const r=e.samples,a=t.samples,o=this.typeSupported,n={},l=this._initPTS;let d,h,c,u=!l||s,p="audio/mp4";if(u&&(d=h=1/0),e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(p="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}n.audio={id:"audio",container:p,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&o.mpeg?new Uint8Array(0):Rg.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(c=e.inputTimeScale,l&&c===l.timescale?u=!1:d=h=r[0].pts-Math.round(c*i))}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,n.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:Rg.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(c=t.inputTimeScale,l&&c===l.timescale)u=!1;else{const e=this.getVideoStartPts(a),t=Math.round(c*i);h=Math.min(h,Og(a[0].dts,e)-t),d=Math.min(d,e-t)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(n).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:d,timescale:c},this._initDTS={baseTime:h,timescale:c}):d=c=void 0,{tracks:n,initPTS:d,timescale:c}}remuxVideo(e,t,i,s){const r=e.inputTimeScale,a=e.samples,o=[],n=a.length,l=this._initPTS;let d,h,c=this.nextAvcDts,u=8,p=this.videoSampleDuration,m=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,g=!1;if(!i||null===c){const e=t*r,s=a[0].pts-Og(a[0].dts,a[0].pts);Mg&&null!==c&&Math.abs(e-s-c)<15e3?i=!0:c=e-s}const y=l.baseTime*r/l.timescale;for(let e=0;e0?e-1:e].dts&&(g=!0)}g&&a.sort((function(e,t){const i=e.dts-t.dts,s=e.pts-t.pts;return i||s})),d=a[0].dts,h=a[a.length-1].dts;const A=h-d,b=A?Math.round(A/(n-1)):p||e.inputTimeScale/30;if(i){const e=d-c,i=e>b,s=e<-1;if((i||s)&&(i?Kc.warn(`AVC: ${Ig(e,!0)} ms (${e}dts) hole between fragments detected at ${t.toFixed(3)}`):Kc.warn(`AVC: ${Ig(-e,!0)} ms (${e}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!s||c>=a[0].pts||Mg)){d=c;const t=a[0].pts-e;if(i)a[0].dts=d,a[0].pts=t;else for(let i=0;it);i++)a[i].dts-=e,a[i].pts-=e;Kc.log(`Video: Initial PTS/DTS adjusted: ${Ig(t,!0)}/${Ig(d,!0)}, delta: ${Ig(e,!0)} ms`)}}d=Math.max(0,d);let v=0,_=0,S=d;for(let e=0;e0?t.dts-a[e-1].dts:b;if(l=e>0?t.pts-a[e-1].pts:b,i.stretchShortVideoTrack&&null!==this.nextAudioPts){const e=Math.floor(i.maxBufferHole*r),a=(s?m+s*r:this.nextAudioPts)-t.pts;a>e?(p=a-o,p<0?p=o:k=!0,Kc.log(`[mp4-remuxer]: It is approximately ${a/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=o}else p=o}const h=Math.round(t.pts-t.dts);L=Math.min(L,p),D=Math.max(D,p),C=Math.min(C,l),x=Math.max(x,l),o.push(new Gg(t.key,p,d,h))}if(o.length)if(Mg){if(Mg<70){const e=o[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(Fg&&x-C0&&(s&&Math.abs(g-f)<9e3||Math.abs(Og(p[0].pts-y,g)-f)<20*l),p.forEach((function(e){e.pts=Og(e.pts-y,g)})),!i||f<0){if(p=p.filter((e=>e.pts>=0)),!p.length)return;f=0===r?0:s&&!u?Math.max(0,g):p[0].pts}if("aac"===e.segmentCodec){const t=this.config.maxAudioFramesDrift;for(let i=0,s=f;i=t*l&&d<1e4&&u){let t=Math.round(n/l);s=o-t*l,s<0&&(t--,s+=l),0===i&&(this.nextAudioPts=f=s),Kc.warn(`[mp4-remuxer]: Injecting ${t} audio frame @ ${(s/a).toFixed(3)}s due to ${Math.round(1e3*n/a)} ms gap.`);for(let a=0;a0))return;_+=m;try{A=new Uint8Array(_)}catch(e){return void this.observer.emit(Vc.ERROR,Vc.ERROR,{type:Wc.MUX_ERROR,details:zc.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:_,reason:`fail allocating audio mdat ${_}`})}if(!h){new DataView(A.buffer).setUint32(0,_),A.set(Rg.types.mdat,4)}}A.set(r,m);const l=r.byteLength;m+=l,c.push(new Gg(!0,n,l,0)),v=a}const E=c.length;if(!E)return;const T=c[c.length-1];this.nextAudioPts=f=v+o*T.duration;const w=h?new Uint8Array(0):Rg.moof(e.sequenceNumber++,b/o,Oc({},e,{samples:c}));e.samples=[];const k=b/a,L=f/a,C={data1:w,data2:A,startPTS:k,endPTS:L,startDTS:k,endDTS:L,type:"audio",hasAudio:!0,hasVideo:!1,nb:E};return this.isAudioContiguous=!0,C}remuxEmptyAudio(e,t,i,s){const r=e.inputTimeScale,a=r/(e.samplerate?e.samplerate:r),o=this.nextAudioPts,n=this._initDTS,l=9e4*n.baseTime/n.timescale,d=(null!==o?o:s.startDTS*r)+l,h=s.endDTS*r+l,c=1024*a,u=Math.ceil((h-d)/c),p=Dg.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(Kc.warn("[mp4-remuxer]: remux empty Audio"),!p)return void Kc.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");const m=[];for(let e=0;e4294967296;)e+=i;return e}function Ng(e,t,i,s){const r=e.samples.length;if(!r)return;const a=e.inputTimeScale;for(let o=0;oe.pts-t.pts));const a=e.samples;return e.samples=[],{samples:a}}class Gg{constructor(e,t,i,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}}function Vg(e,t){const i=null==e?void 0:e.codec;if(i&&i.length>4)return i;if(t===iu){if("ec-3"===i||"ac-3"===i||"alac"===i)return i;if("fLaC"===i||"Opus"===i){return xp(i,!1)}const e="mp4a.40.5";return Kc.info(`Parsed audio codec "${i}" or audio object type not handled. Using "${e}"`),e}return Kc.warn(`Unhandled video codec "${i}"`),"hvc1"===i||"hev1"===i?"hvc1.1.6.L120.90":"av01"===i?"av01.0.04M.08":"avc1.42e01e"}try{Bg=self.performance.now.bind(self.performance)}catch(e){Kc.debug("Unable to use Performance API on this environment"),Bg=null==uu?void 0:uu.Date.now}const Wg=[{demux:class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,s){const r=this.videoTrack=Jf("video",1),a=this.audioTrack=Jf("audio",1),o=this.txtTrack=Jf("text",1);if(this.id3Track=Jf("id3",1),this.timeOffset=0,null==e||!e.byteLength)return;const n=ep(e);if(n.video){const{id:e,timescale:t,codec:i}=n.video;r.id=e,r.timescale=o.timescale=t,r.codec=i}if(n.audio){const{id:e,timescale:t,codec:i}=n.audio;a.id=e,a.timescale=t,a.codec=i}o.id=$u.text,r.sampleDuration=0,r.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return function(e){const t=e.byteLength;for(let i=0;i8&&109===e[i+4]&&111===e[i+5]&&111===e[i+6]&&102===e[i+7])return!0;i=s>1?i+s:t}return!1}(e)}demux(e,t){this.timeOffset=t;let i=e;const s=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=np(this.remainderData,e));const t=function(e){const t={valid:null,remainder:null},i=Xu(e,["moof"]);if(i.length<2)return t.remainder=e,t;const s=i[i.length-1];return t.valid=Tu(e,0,s.byteOffset-8),t.remainder=Tu(e,s.byteOffset-8),t}(i);this.remainderData=t.remainder,s.samples=t.valid||new Uint8Array}else s.samples=i;const a=this.extractID3Track(s,t);return r.samples=lp(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){const e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;const s=this.extractID3Track(t,this.timeOffset);return i.samples=lp(e,t),{videoTrack:t,audioTrack:Jf(),id3Track:s,textTrack:Jf()}}extractID3Track(e,t){const i=this.id3Track;if(e.samples.length){const s=Xu(e.samples,["emsg"]);s&&s.forEach((e=>{const s=function(e){const t=e[0];let i="",s="",r=0,a=0,o=0,n=0,l=0,d=0;if(0===t){for(;"\0"!==Hu(e.subarray(d,d+1));)i+=Hu(e.subarray(d,d+1)),d+=1;for(i+=Hu(e.subarray(d,d+1)),d+=1;"\0"!==Hu(e.subarray(d,d+1));)s+=Hu(e.subarray(d,d+1)),d+=1;s+=Hu(e.subarray(d,d+1)),d+=1,r=qu(e,12),a=qu(e,16),n=qu(e,20),l=qu(e,24),d=28}else if(1===t){d+=4,r=qu(e,d),d+=4;const t=qu(e,d);d+=4;const a=qu(e,d);for(d+=4,o=2**32*t+a,jc(o)||(o=Number.MAX_SAFE_INTEGER,Kc.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),n=qu(e,d),d+=4,l=qu(e,d),d+=4;"\0"!==Hu(e.subarray(d,d+1));)i+=Hu(e.subarray(d,d+1)),d+=1;for(i+=Hu(e.subarray(d,d+1)),d+=1;"\0"!==Hu(e.subarray(d,d+1));)s+=Hu(e.subarray(d,d+1)),d+=1;s+=Hu(e.subarray(d,d+1)),d+=1}return{schemeIdUri:i,value:s,timeScale:r,presentationTime:o,presentationTimeDelta:a,eventDuration:n,id:l,payload:e.subarray(d,e.byteLength)}}(e);if(mg.test(s.schemeIdUri)){const e=Nc(s.presentationTime)?s.presentationTime/s.timeScale:t+s.presentationTimeDelta/s.timeScale;let r=4294967295===s.eventDuration?Number.POSITIVE_INFINITY:s.eventDuration/s.timeScale;r<=.001&&(r=Number.POSITIVE_INFINITY);const a=s.payload;i.samples.push({data:a,len:a.byteLength,dts:e,pts:e,type:lm,duration:r})}}))}return i}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},remux:class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(function(e,t){if(!e||!t)return e;const i=t.keyId;i&&t.isCommonEncryption&&Xu(e,["moov","trak"]).forEach((e=>{const t=Xu(e,["mdia","minf","stbl","stsd"])[0].subarray(8);let s=Xu(t,["enca"]);const r=s.length>0;r||(s=Xu(t,["encv"])),s.forEach((e=>{Xu(r?e.subarray(28):e.subarray(78),["sinf"]).forEach((e=>{const t=ap(e);if(t){const e=t.subarray(8,24);e.some((e=>0!==e))||(Kc.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${Vu(e)} -> ${Vu(i)}`),t.set(i,8))}}))}))}));return e}(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(null==e||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);const s=this.initData=ep(e);s.audio&&(t=Vg(s.audio,iu)),s.video&&(i=Vg(s.video,su));const r={};s.audio&&s.video?r.audiovideo={container:"video/mp4",codec:t+","+i,initSegment:e,id:"main"}:s.audio?r.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?r.video={container:"video/mp4",codec:i,initSegment:e,id:"main"}:Kc.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=r}remux(e,t,i,s,r,a){var o,n;let{initPTS:l,lastEndTime:d}=this;const h={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};Nc(d)||(d=this.lastEndTime=r||0);const c=t.samples;if(null==c||!c.length)return h;const u={initPTS:void 0,timescale:1};let p=this.initData;if(null!=(o=p)&&o.length||(this.generateInitSegment(c),p=this.initData),null==(n=p)||!n.length)return Kc.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),h;this.emitInitSegment&&(u.tracks=this.initTracks,this.emitInitSegment=!1);const m=function(e,t){let i=0,s=0,r=0;const a=Xu(e,["moof","traf"]);for(let e=0;ee+t.info.duration||0),0);i=Math.max(i,e+a.earliestPresentationTime/a.timescale),s=i-t}}if(s&&Nc(s))return s}return s||r}(c,p),f=function(e,t){return Xu(t,["moof","traf"]).reduce(((t,i)=>{const s=Xu(i,["tfdt"])[0],r=s[0],a=Xu(i,["tfhd"]).reduce(((t,i)=>{const a=qu(i,4),o=e[a];if(o){let e=qu(s,4);if(1===r){if(e===Wu)return Kc.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),t;e*=Wu+1,e+=qu(s,8)}const i=e/(o.timescale||9e4);if(Nc(i)&&(null===t||ir}(l,g,r,m)||u.timescale!==l.timescale&&a)&&(u.initPTS=g-r,l&&1===l.timescale&&Kc.warn("Adjusting initPTS by "+(u.initPTS-l.baseTime)),this.initPTS=l={baseTime:u.initPTS,timescale:1});const y=e?g-l.baseTime/l.timescale:d,A=y+m;!function(e,t,i){Xu(t,["moof","traf"]).forEach((t=>{Xu(t,["tfhd"]).forEach((s=>{const r=qu(s,4),a=e[r];if(!a)return;const o=a.timescale||9e4;Xu(t,["tfdt"]).forEach((e=>{const t=e[0],s=i*o;if(s){let i=qu(e,4);if(0===t)i-=s,i=Math.max(i,0),Qu(e,4,i);else{i*=Math.pow(2,32),i+=qu(e,8),i-=s,i=Math.max(i,0);const t=Math.floor(i/(Wu+1)),r=Math.floor(i%(Wu+1));Qu(e,4,t),Qu(e,8,r)}}}))}))}))}(p,c,l.baseTime/l.timescale),m>0?this.lastEndTime=A:(Kc.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const b=!!p.audio,v=!!p.video;let _="";b&&(_+="audio"),v&&(_+="video");const S={data1:c,startPTS:y,startDTS:y,endPTS:A,endDTS:A,type:_,hasAudio:b,hasVideo:v,nb:1,dropped:0};return h.audio="audio"===S.type?S:void 0,h.video="audio"!==S.type?S:void 0,h.initSegment=u,h.id3=Ng(i,r,l,l),s.samples.length&&(h.text=jg(s,r,l)),h}}},{demux:Sg,remux:Ug},{demux:class extends qf{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;const t=Lu(e,0);let i=(null==t?void 0:t.length)||0;if(pg(e,i))return!1;for(let t=e.length;i0&&null!=(null==t?void 0:t.key)&&null!==t.iv&&null!=t.method&&(i=t);return i}(a,t);if(b&&"AES-128"===b.method){const e=this.getDecrypter();if(!e.isSync())return this.decryptionPromise=e.webCryptoDecrypt(a,b.key.buffer,b.iv.buffer).then((e=>{const t=this.push(e,null,i);return this.decryptionPromise=null,t})),this.decryptionPromise;{let t=e.softwareDecrypt(a,b.key.buffer,b.iv.buffer);if(i.part>-1&&(t=e.flush()),!t)return r.executeEnd=Bg(),$g(i);a=new Uint8Array(t)}}const v=this.needsProbing(d,h);if(v){const e=this.configureTransmuxer(a);if(e)return Kc.warn(`[transmuxer] ${e.message}`),this.observer.emit(Vc.ERROR,Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),r.executeEnd=Bg(),$g(i)}(d||h||p||v)&&this.resetInitSegment(A,m,f,y,t),(d||p||v)&&this.resetInitialTimestamp(g),l||this.resetContiguity();const _=this.transmux(a,b,u,c,i),S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,r.executeEnd=Bg(),_}flush(e){const t=e.transmuxing;t.executeStart=Bg();const{decrypter:i,currentTransmuxState:s,decryptionPromise:r}=this;if(r)return r.then((()=>this.flush(e)));const a=[],{timeOffset:o}=s;if(i){const t=i.flush();t&&a.push(this.push(t,null,e))}const{demuxer:n,remuxer:l}=this;if(!n||!l)return t.executeEnd=Bg(),[$g(e)];const d=n.flush(o);return Hg(d)?d.then((t=>(this.flushRemux(a,t,e),a))):(this.flushRemux(a,d,e),a)}flushRemux(e,t,i){const{audioTrack:s,videoTrack:r,id3Track:a,textTrack:o}=t,{accurateTimeOffset:n,timeOffset:l}=this.currentTransmuxState;Kc.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);const d=this.remuxer.remux(s,r,a,o,l,n,!0,this.id);e.push({remuxResult:d,chunkMeta:i}),i.transmuxing.executeEnd=Bg()}resetInitialTimestamp(e){const{demuxer:t,remuxer:i}=this;t&&i&&(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){const{demuxer:e,remuxer:t}=this;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,r){const{demuxer:a,remuxer:o}=this;a&&o&&(a.resetInitSegment(e,t,i,s),o.resetInitSegment(e,t,i,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,r){let a;return a=t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,i,s,r):this.transmuxUnencrypted(e,i,s,r),a}transmuxUnencrypted(e,t,i,s){const{audioTrack:r,videoTrack:a,id3Track:o,textTrack:n}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,a,o,n,t,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,r){return this.demuxer.demuxSampleAes(e,t,i).then((e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,s,!1,this.id),chunkMeta:r})))}configureTransmuxer(e){const{config:t,observer:i,typeSupported:s,vendor:r}=this;let a;for(let t=0,i=Wg.length;t({remuxResult:{},chunkMeta:e});function Hg(e){return"then"in e&&e.then instanceof Function}class Jg{constructor(e,t,i,s,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=s,this.defaultInitPts=r||null}}class qg{constructor(e,t,i,s,r,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=s,this.timeOffset=r,this.initSegmentChange=a}}var Kg={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i="~";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function a(e,t,s,a,o){if("function"!=typeof s)throw new TypeError("The listener must be a function");var n=new r(s,a||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],n]:e._events[l].push(n):(e._events[l]=n,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function n(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),n.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},n.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,a=s.length,o=new Array(a);r{(t=t||{}).frag=this.frag,t.id=this.id,e===Vc.ERROR&&(this.error=t.error),this.hls.trigger(e,t)};this.observer=new Yg,this.observer.on(Vc.FRAG_DECRYPTED,a),this.observer.on(Vc.ERROR,a);const o=_p(r.preferManagedMediaSource)||{isTypeSupported:()=>!1},n={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&"undefined"!=typeof Worker){if(r.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{r.workerPath?(Kc.log(`loading Web Worker ${r.workerPath} for "${t}"`),this.workerContext=function(e){const t=new self.URL(e,self.location.href).href;return{worker:new self.Worker(t),scriptURL:t}}(r.workerPath)):(Kc.log(`injecting Web Worker for "${t}"`),this.workerContext=function(){const e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),t=self.URL.createObjectURL(e);return{worker:new self.Worker(t),objectURL:t}}()),this.onwmsg=e=>this.onWorkerMessage(e);const{worker:e}=this.workerContext;e.addEventListener("message",this.onwmsg),e.onerror=e=>{const i=new Error(`${e.message} (${e.filename}:${e.lineno})`);r.enableWorker=!1,Kc.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(Vc.ERROR,{type:Wc.OTHER_ERROR,details:zc.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:i})},e.postMessage({cmd:"init",typeSupported:n,vendor:"",id:t,config:JSON.stringify(r)})}catch(e){Kc.warn(`Error setting up "${t}" Web Worker, fallback to inline`,e),this.resetWorker(),this.error=null,this.transmuxer=new zg(this.observer,n,r,"",t)}return}}this.transmuxer=new zg(this.observer,n,r,"",t)}resetWorker(){if(this.workerContext){const{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{const e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}const e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,i,s,r,a,o,n,l,d){var h,c;l.transmuxing.start=self.performance.now();const{transmuxer:u}=this,p=a?a.start:r.start,m=r.decryptdata,f=this.frag,g=!(f&&r.cc===f.cc),y=!(f&&l.level===f.level),A=f?l.sn-f.sn:-1,b=this.part?l.part-this.part.index:-1,v=0===A&&l.id>1&&l.id===(null==f?void 0:f.stats.chunkCount),_=!y&&(1===A||0===A&&(1===b||v&&b<=0)),S=self.performance.now();(y||A||0===r.stats.parsing.start)&&(r.stats.parsing.start=S),!a||!b&&_||(a.stats.parsing.start=S);const E=!(f&&(null==(h=r.initSegment)?void 0:h.url)===(null==(c=f.initSegment)?void 0:c.url)),T=new qg(g,_,n,y,p,E);if(!_||g||E){Kc.log(`[transmuxer-interface, ${r.type}]: Starting new transmux session for sn: ${l.sn} p: ${l.part} level: ${l.level} id: ${l.id}\n discontinuity: ${g}\n trackSwitch: ${y}\n contiguous: ${_}\n accurateTimeOffset: ${n}\n timeOffset: ${p}\n initSegmentChange: ${E}`);const e=new Jg(i,s,t,o,d);this.configureTransmuxer(e)}if(this.frag=r,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:m,chunkMeta:l,state:T},e instanceof ArrayBuffer?[e]:[]);else if(u){const t=u.push(e,m,l,T);Hg(t)?(u.async=!0,t.then((e=>{this.handleTransmuxComplete(e)})).catch((e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}))):(u.async=!1,this.handleTransmuxComplete(t))}}flush(e){e.transmuxing.start=self.performance.now();const{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);Hg(i)||t.async?(Hg(i)||(i=Promise.resolve(i)),i.then((t=>{this.handleFlushResult(t,e)})).catch((t=>{this.transmuxerError(t,e,"transmuxer-interface flush error")}))):this.handleFlushResult(i,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach((e=>{this.handleTransmuxComplete(e)})),this.onFlush(t)}onWorkerMessage(e){const t=e.data;if(null==t||!t.event)return void Kc.warn("worker message received with no "+(t?"event name":"data"));const i=this.hls;if(this.hls)switch(t.event){case"init":{var s;const e=null==(s=this.workerContext)?void 0:s.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":Kc[t.data.logType]&&Kc[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data)}}configureTransmuxer(e){const{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}function Xg(e,t){if(e.length!==t.length)return!1;for(let i=0;ie[i]!==t[i]))}function ey(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class ty{constructor(e){this.buffered=void 0;const t=(t,i,s)=>{if((i>>>=0)>s-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${s})`);return e[i][t]};this.buffered={get length(){return e.length},end:i=>t("end",i,e.length),start:i=>t("start",i,e.length)}}}class iy{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,i){const s=this.queues[t];s.push(e),1!==s.length||i||this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t;const i=new Promise((e=>{t=e})),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),i}executeNext(e){const t=this.queues[e];if(t.length){const i=t[0];try{i.execute()}catch(t){Kc.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${t}`),i.onError(t);const s=this.buffers[e];null!=s&&s.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}}const sy=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/;function ry(e){const t=e.querySelectorAll("source");[].slice.call(t).forEach((t=>{e.removeChild(t)}))}const ay={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},oy=e=>String.fromCharCode(ay[e]||e),ny=15,ly=100,dy={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},hy={17:2,18:4,21:6,22:8,23:10,19:13,20:15},cy={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},uy={25:2,26:4,29:6,30:8,31:10,27:13,28:15},py=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class my{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){const i="function"==typeof t?t():t;Kc.log(`${this.time} [${e}] ${i}`)}}}const fy=function(e){const t=[];for(let i=0;ily&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=ly)}moveCursor(e){const t=this.pos+e;if(e>1)for(let e=this.pos+1;e=144&&this.backSpace();const t=oy(e);this.pos>=ly?this.logger.log(0,(()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!")):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t"pacData = "+JSON.stringify(e)));let t=e.row-1;if(this.nrRollUpRows&&t"bkgData = "+JSON.stringify(e))),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,(()=>this.getDisplayText()));const e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;const t=[];let i="",s=-1;for(let i=0;i0&&(i=e?"["+t.join(" | ")+"]":t.join("\n")),i}getTextAndFormat(){return this.rows}}class vy{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new by(i),this.nonDisplayedMemory=new by(i),this.lastOutputScreen=new by(i),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,(()=>"MODE="+e)),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;tt+": "+this.writeScreen.getDisplayText(!0))),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0))),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){const e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(()=>"DISP: "+this.displayedMemory.getDisplayText()))}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){const t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{const i=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[i]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){const t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}}class _y{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const s=this.logger=new my;this.channels=[null,new vy(e,t,s),new vy(e+1,i,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let e=0;e"["+fy([t[e],t[e+1]])+"] -> ("+fy([i,s])+")"));const o=this.cmdHistory;if(i>=16&&i<=31){if(Ey(i,s,o)){Sy(null,null,o),this.logger.log(3,(()=>"Repeated command ("+fy([i,s])+") is dropped"));continue}Sy(i,s,this.cmdHistory),r=this.parseCmd(i,s),r||(r=this.parseMidrow(i,s)),r||(r=this.parsePAC(i,s)),r||(r=this.parseBackgroundAttributes(i,s))}else Sy(null,null,o);if(!r&&(a=this.parseChars(i,s),a)){const e=this.currentChannel;if(e&&e>0){this.channels[e].insertChars(a)}else this.logger.log(2,"No channel found yet. TEXT-MODE?")}r||a||this.logger.log(2,(()=>"Couldn't parse cleaned data "+fy([i,s])+" orig: "+fy([t[e],t[e+1]])))}}parseCmd(e,t){if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47)&&!((23===e||31===e)&&t>=33&&t<=35))return!1;const i=20===e||21===e||23===e?1:2,s=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?s.ccRCL():33===t?s.ccBS():34===t?s.ccAOF():35===t?s.ccAON():36===t?s.ccDER():37===t?s.ccRU(2):38===t?s.ccRU(3):39===t?s.ccRU(4):40===t?s.ccFON():41===t?s.ccRDC():42===t?s.ccTR():43===t?s.ccRTD():44===t?s.ccEDM():45===t?s.ccCR():46===t?s.ccENM():47===t&&s.ccEOC():s.ccTO(t-32),this.currentChannel=i,!0}parseMidrow(e,t){let i=0;if((17===e||25===e)&&t>=32&&t<=47){if(i=17===e?1:2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const s=this.channels[i];return!!s&&(s.ccMIDROW(t),this.logger.log(3,(()=>"MIDROW ("+fy([e,t])+")")),!0)}return!1}parsePAC(e,t){let i;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127)&&!((16===e||24===e)&&t>=64&&t<=95))return!1;const s=e<=23?1:2;i=t>=64&&t<=95?1===s?dy[e]:cy[e]:1===s?hy[e]:uy[e];const r=this.channels[s];return!!r&&(r.setPAC(this.interpretPAC(i,t)),this.currentChannel=s,!0)}interpretPAC(e,t){let i;const s={color:null,italics:!1,indent:null,underline:!1,row:e};return i=t>95?t-96:t-64,s.underline=1==(1&i),i<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(s.italics=!0,s.color="white"):s.indent=4*Math.floor((i-16)/2),s}parseChars(e,t){let i,s=null,r=null;if(e>=25?(i=2,r=e-8):(i=1,r=e),r>=17&&r<=19){let e;e=17===r?t+80:18===r?t+112:t+144,this.logger.log(2,(()=>"Special char '"+oy(e)+"' in channel "+i)),s=[e]}else e>=32&&e<=127&&(s=0===t?[e]:[e,t]);return s&&this.logger.log(3,(()=>"Char codes = "+fy(s).join(","))),s}parseBackgroundAttributes(e,t){if(!((16===e||24===e)&&t>=32&&t<=47)&&!((23===e||31===e)&&t>=45&&t<=47))return!1;let i;const s={};16===e||24===e?(i=Math.floor((t-32)/2),s.background=py[i],t%2==1&&(s.background=s.background+"_semi")):45===t?s.background="transparent":(s.foreground="black",47===t&&(s.underline=!0));const r=e<=23?1:2;return this.channels[r].setBkgData(s),!0}reset(){for(let e=0;ee)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}var wy=function(){if(null!=uu&&uu.VTTCue)return self.VTTCue;const e=["","lr","rl"],t=["start","middle","end","left","right"];function i(e,t){if("string"!=typeof t)return!1;if(!Array.isArray(e))return!1;const i=t.toLowerCase();return!!~e.indexOf(i)&&i}function s(e){return i(t,e)}function r(e,...t){let i=1;for(;i100)throw new Error("Position must be between 0 and 100.");b=e,this.hasBeenReset=!0}})),Object.defineProperty(n,"positionAlign",r({},l,{get:function(){return v},set:function(e){const t=s(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");v=t,this.hasBeenReset=!0}})),Object.defineProperty(n,"size",r({},l,{get:function(){return _},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");_=e,this.hasBeenReset=!0}})),Object.defineProperty(n,"align",r({},l,{get:function(){return S},set:function(e){const t=s(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");S=t,this.hasBeenReset=!0}})),n.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();class ky{decode(e,t){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function Ly(e){function t(e,t,i,s){return 3600*(0|e)+60*(0|t)+(0|i)+parseFloat(s||0)}const i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null}class Cy{constructor(){this.values=Object.create(null)}set(e,t){this.get(e)||""===t||(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let s=0;s=0&&i<=100)return this.set(e,i),!0}return!1}}function Dy(e,t,i,s){const r=s?e.split(s):[e];for(const e in r){if("string"!=typeof r[e])continue;const s=r[e].split(i);if(2!==s.length)continue;t(s[0],s[1])}}const xy=new wy(0,0,""),Ry="middle"===xy.align?"middle":"center";function Py(e,t,i){const s=e;function r(){const t=Ly(e);if(null===t)throw new Error("Malformed timestamp: "+s);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function a(){e=e.replace(/^\s+/,"")}if(a(),t.startTime=r(),a(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+s);e=e.slice(3),a(),t.endTime=r(),a(),function(e,t){const s=new Cy;Dy(e,(function(e,t){let r;switch(e){case"region":for(let r=i.length-1;r>=0;r--)if(i[r].id===t){s.set(e,i[r].region);break}break;case"vertical":s.alt(e,t,["rl","lr"]);break;case"line":r=t.split(","),s.integer(e,r[0]),s.percent(e,r[0])&&s.set("snapToLines",!1),s.alt(e,r[0],["auto"]),2===r.length&&s.alt("lineAlign",r[1],["start",Ry,"end"]);break;case"position":r=t.split(","),s.percent(e,r[0]),2===r.length&&s.alt("positionAlign",r[1],["start",Ry,"end","line-left","line-right","auto"]);break;case"size":s.percent(e,t);break;case"align":s.alt(e,t,["start",Ry,"end","left","right"])}}),/:/,/\s/),t.region=s.get("region",null),t.vertical=s.get("vertical","");let r=s.get("line","auto");"auto"===r&&-1===xy.line&&(r=-1),t.line=r,t.lineAlign=s.get("lineAlign","start"),t.snapToLines=s.get("snapToLines",!0),t.size=s.get("size",100),t.align=s.get("align",Ry);let a=s.get("position","auto");"auto"===a&&50===xy.position&&(a="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=a}(e,t)}function Iy(e){return e.replace(//gi,"\n")}class By{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new ky,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){const t=this;function i(){let e=t.buffer,i=0;for(e=Iy(e);i>>0).toString()};function Oy(e,t,i){return Uy(e.toString())+Uy(t.toString())+Uy(i)}function Ny(e,t,i,s,r,a,o){const n=new By,l=Nu(new Uint8Array(e)).trim().replace(My,"\n").split("\n"),d=[],h=t?function(e,t=1){return Pg(e,9e4,1/t)}(t.baseTime,t.timescale):0;let c,u="00:00.000",p=0,m=0,f=!0;n.oncue=function(e){const a=i[s];let o=i.ccOffset;const n=(p-h)/9e4;if(null!=a&&a.new&&(void 0!==m?o=i.ccOffset=a.start:function(e,t,i){let s=e[t],r=e[s.prevCC];if(!r||!r.new&&s.new)return e.ccOffset=e.presentationOffset=s.start,void(s.new=!1);for(;null!=(a=r)&&a.new;){var a;e.ccOffset+=s.start-r.start,s.new=!1,s=r,r=e[s.prevCC]}e.presentationOffset=i}(i,s,n)),n){if(!t)return void(c=new Error("Missing initPTS for VTT MPEGTS"));o=n-i.presentationOffset}const l=e.endTime-e.startTime,u=Og(9e4*(e.startTime+o-m),9e4*r)/9e4;e.startTime=Math.max(u,0),e.endTime=Math.max(u+l,0);const f=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(f)),e.id||(e.id=Oy(e.startTime,e.endTime,f)),e.endTime>0&&d.push(e)},n.onparsingerror=function(e){c=e},n.onflush=function(){c?o(c):a(d)},l.forEach((e=>{if(f){if(Fy(e,"X-TIMESTAMP-MAP=")){f=!1,e.slice(16).split(",").forEach((e=>{Fy(e,"LOCAL:")?u=e.slice(6):Fy(e,"MPEGTS:")&&(p=parseInt(e.slice(7)))}));try{m=function(e){let t=parseInt(e.slice(-3));const i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),r=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!(Nc(t)&&Nc(i)&&Nc(s)&&Nc(r)))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=6e4*s,t+=36e5*r,t}(u)/1e3}catch(e){c=e}return}""===e&&(f=!1)}n.parse(e+"\n")})),n.flush()}const jy="stpp.ttml.im1t",Gy=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Vy=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Wy={left:"start",center:"center",right:"end",start:"start",end:"end"};function zy(e,t,i,s){const r=Xu(new Uint8Array(e),["mdat"]);if(0===r.length)return void s(new Error("Could not parse IMSC1 mdat"));const a=r.map((e=>Nu(e))),o=function(e,t,i=1,s=!1){return Pg(e,t,1/i,s)}(t.baseTime,1,t.timescale);try{a.forEach((e=>i(function(e,t){const i=new DOMParser,s=i.parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");const r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(r).reduce(((e,t)=>(e[t]=s.getAttribute(`ttp:${t}`)||r[t],e)),{}),o="preserve"!==s.getAttribute("xml:space"),n=Hy($y(s,"styling","style")),l=Hy($y(s,"layout","region")),d=$y(s,"body","[begin]");return[].map.call(d,(e=>{const i=Jy(e,o);if(!i||!e.hasAttribute("begin"))return null;const s=Yy(e.getAttribute("begin"),a),r=Yy(e.getAttribute("dur"),a);let d=Yy(e.getAttribute("end"),a);if(null===s)throw Ky(e);if(null===d){if(null===r)throw Ky(e);d=s+r}const h=new wy(s-t,d-t,i);h.id=Oy(h.startTime,h.endTime,h.text);const c=function(e,t,i){const s="http://www.w3.org/ns/ttml#styling";let r=null;const a=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],o=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;o&&i.hasOwnProperty(o)&&(r=i[o]);return a.reduce(((i,a)=>{const o=qy(t,s,a)||qy(e,s,a)||qy(r,s,a);return o&&(i[a]=o),i}),{})}(l[e.getAttribute("region")],n[e.getAttribute("style")],n),{textAlign:u}=c;if(u){const e=Wy[u];e&&(h.lineAlign=e),h.align=u}return Oc(h,c),h})).filter((e=>null!==e))}(e,o))))}catch(e){s(e)}}function $y(e,t,i){const s=e.getElementsByTagName(t)[0];return s?[].slice.call(s.querySelectorAll(i)):[]}function Hy(e){return e.reduce(((e,t)=>{const i=t.getAttribute("xml:id");return i&&(e[i]=t),e}),{})}function Jy(e,t){return[].slice.call(e.childNodes).reduce(((e,i,s)=>{var r;return"br"===i.nodeName&&s?e+"\n":null!=(r=i.childNodes)&&r.length?Jy(i,t):t?e+i.textContent.trim().replace(/\s+/g," "):e+i.textContent}),"")}function qy(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function Ky(e){return new Error(`Could not parse ttml timestamp ${e}`)}function Yy(e,t){if(!e)return null;let i=Ly(e);return null===i&&(Gy.test(e)?i=function(e,t){const i=Gy.exec(e),s=(0|i[4])+(0|i[5])/t.subFrameRate;return 3600*(0|i[1])+60*(0|i[2])+(0|i[3])+s/t.frameRate}(e,t):Vy.test(e)&&(i=function(e,t){const i=Vy.exec(e),s=Number(i[1]);switch(i[2]){case"h":return 3600*s;case"m":return 60*s;case"ms":return 1e3*s;case"f":return s/t.frameRate;case"t":return s/t.tickRate}return s}(e,t))),i}function Qy(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function Xy(e,t){return!!e&&e.kind===Qy(t)&&ey(t,e)}class Zy{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:e}=this;e.on(Vc.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Vc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Vc.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:e}=this;e.off(Vc.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Vc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Vc.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){const i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){const i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&Nc(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);const e=this.hls.levels;if(e.length){const t=this.hls,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&Kc.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){const t=this.hls.levels;if(!t.length)return-1;const i=t.filter(((t,i)=>this.isLevelAllowed(t)&&i<=e));return this.clientRect=null,Zy.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const e=this.media,t={width:0,height:0};if(e){const i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,t.width||t.height||(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return e}isLevelAllowed(e){return!this.restrictedLevels.some((t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height))}static getMaxLevelByMediaSize(e,t,i){if(null==e||!e.length)return-1;let s=e.length-1;const r=Math.max(t,i);for(let t=0;t=r||i.height>=r)&&(a=i,!(o=e[t+1])||a.width!==o.width||a.height!==o.height)){s=t;break}}var a,o;return s}}const eA="[eme]";class tA{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=tA.CDMCleanupPromise?[tA.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=Kc.debug.bind(Kc,eA),this.log=Kc.log.bind(Kc,eA),this.warn=Kc.warn.bind(Kc,eA),this.error=Kc.error.bind(Kc,eA),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();const e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(Vc.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(Vc.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(Vc.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(Vc.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){const{drmSystems:t,widevineLicenseUrl:i}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===pu.WIDEVINE&&i)return i;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){const{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){const t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t,s=t.map((e=>e.audioCodec)).filter(i),r=t.map((e=>e.videoCodec)).filter(i);return s.length+r.length===0&&r.push("avc1.42e01e"),new Promise(((t,i)=>{const a=e=>{const o=e.shift();this.getMediaKeysPromise(o,s,r).then((e=>t({keySystem:o,mediaKeys:e}))).catch((t=>{e.length?a(e):i(t instanceof iA?t:new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))}))};a(e)}))}requestMediaKeySystemAccess(e,t){const{requestMediaKeySystemAccessFunc:i}=this.config;if("function"!=typeof i){let e=`Configured requestMediaKeySystemAccess is not a function ${i}`;return null===Su&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(e))}return i(e,t)}getMediaKeysPromise(e,t,i){const s=function(e,t,i,s){let r;switch(e){case pu.FAIRPLAY:r=["cenc","sinf"];break;case pu.WIDEVINE:case pu.PLAYREADY:r=["cenc"];break;case pu.CLEARKEY:r=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${e}`)}return function(e,t,i,s){return[{initDataTypes:e,persistentState:s.persistentState||"optional",distinctiveIdentifier:s.distinctiveIdentifier||"optional",sessionTypes:s.sessionTypes||[s.sessionType||"temporary"],audioCapabilities:t.map((e=>({contentType:`audio/mp4; codecs="${e}"`,robustness:s.audioRobustness||"",encryptionScheme:s.audioEncryptionScheme||null}))),videoCapabilities:i.map((e=>({contentType:`video/mp4; codecs="${e}"`,robustness:s.videoRobustness||"",encryptionScheme:s.videoEncryptionScheme||null})))}]}(r,t,i,s)}(e,t,i,this.config.drmSystemOptions),r=this.keySystemAccessPromises[e];let a=null==r?void 0:r.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);const t=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch((t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)})),a.then((i=>{this.log(`Access for key-system "${i.keySystem}" obtained`);const s=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),t.mediaKeys=i.createMediaKeys().then((t=>(this.log(`Media-keys created for "${e}"`),s.then((i=>i?this.setMediaKeysServerCertificate(t,e,i):t))))),t.mediaKeys.catch((t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)})),t.mediaKeys}))}return a.then((()=>r.mediaKeys))}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${Vu(e.keyId||[])}`);const s=i.createSession(),r={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(e){const t=e.decryptdata;if(t.pssh){const i=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),r="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,r,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return Vu(e.keyId)}updateKeySession(e,t){var i;const s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Vu((null==(i=e.decryptdata)?void 0:i.keyId)||[])}\n } (data length: ${t?t.byteLength:t})`),s.update(t)}selectKeySystemFormat(e){const t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise(((t,i)=>{const s=_u(this.config),r=e.map(Au).filter((e=>!!e&&-1!==s.indexOf(e)));return this.getKeySystemSelectionPromise(r).then((({keySystem:e})=>{const s=vu(e);s?t(s):i(new Error(`Unable to find format for key-system "${e}"`))})).catch(i)}))}loadKey(e){const t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let r=this.keyIdToKeySessionPromise[i];return r||(r=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(t).then((({keySystem:i,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(i,r).then((()=>{this.throwIfDestroyed();const e=this.createMediaKeySessionContext({keySystem:i,mediaKeys:r,decryptdata:t});return this.generateRequestWithPreferredKeySession(e,"cenc",t.pssh,"playlist-key")}))))),r.catch((e=>this.handleError(e)))),r}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof iA?this.hls.trigger(Vc.ERROR,e.data):this.hls.trigger(Vc.ERROR,{type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){const t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){const t=Au(e.keyFormat),i=t?[t]:_u(this.config);return this.attemptKeySystemAccess(i)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=_u(this.config)),0===e.length)throw new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){const{initDataType:t,initData:i}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),null===i)return;let s,r;if("sinf"===t&&this.config.drmSystems[pu.FAIRPLAY]){const e=Hu(new Uint8Array(i));try{const t=du(JSON.parse(e).sinf),i=ap(new Uint8Array(t));if(!i)return;s=i.subarray(8,24),r=pu.FAIRPLAY}catch(e){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{const e=function(e){if(!(e instanceof ArrayBuffer)||e.byteLength<32)return null;const t={version:0,systemId:"",kids:null,data:null},i=new DataView(e),s=i.getUint32(0);if(e.byteLength!==s&&s>44)return null;if(1886614376!==i.getUint32(4))return null;if(t.version=i.getUint32(8)>>>24,t.version>1)return null;t.systemId=Vu(new Uint8Array(e,12,16));const r=i.getUint32(28);if(0===t.version){if(s-32this.generateRequestWithPreferredKeySession(r,t,i,"encrypted-event-key-match")));break}}l||(l=o[a]=this.getKeySystemSelectionPromise([r]).then((({keySystem:e,mediaKeys:r})=>{var o;this.throwIfDestroyed();const n=new mp("ISO-23001-7",a,null!=(o=vu(e))?o:"");return n.pssh=new Uint8Array(i),n.keyId=s,this.attemptSetMediaKeys(e,r).then((()=>{this.throwIfDestroyed();const s=this.createMediaKeySessionContext({decryptdata:n,keySystem:e,mediaKeys:r});return this.generateRequestWithPreferredKeySession(s,t,i,"encrypted-event-no-match")}))}))),l.catch((e=>this.handleError(e)))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){const i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);const s=Promise.all(i).then((()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)}));return this.setMediaKeysQueue.push(s),s.then((()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((e=>-1===i.indexOf(e)))}))}generateRequestWithPreferredKeySession(e,t,i,s){var r,a;const o=null==(r=this.config.drmSystems)||null==(a=r[e.keySystem])?void 0:a.generateRequest;if(o)try{const s=o.call(this.hls,t,i,e);if(!s)throw new Error("Invalid response from configured generateRequest filter");t=s.initDataType,i=e.decryptdata.pssh=s.initData?new Uint8Array(s.initData):null}catch(e){var n;if(this.warn(e.message),null!=(n=this.hls)&&n.config.debug)throw e}if(null===i)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);const l=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${l} (init data type: ${t} length: ${i?i.byteLength:null})`);const d=new Yg,h=e._onmessage=t=>{const i=e.mediaKeysSession;if(!i)return void d.emit("error",new Error("invalid state"));const{messageType:s,message:r}=t;this.log(`"${s}" message event for session "${i.sessionId}" message size: ${r.byteLength}`),"license-request"===s||"license-renewal"===s?this.renewLicense(e,r).catch((e=>{this.handleError(e),d.emit("error",e)})):"license-release"===s?e.keySystem===pu.FAIRPLAY&&(this.updateKeySession(e,cu("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${s}"`)},c=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession)return void d.emit("error",new Error("invalid state"));this.onKeyStatusChange(e);const i=e.keyStatus;d.emit("keyStatus",i),"expired"===i&&(this.warn(`${e.keySystem} expired for key ${l}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",h),e.mediaKeysSession.addEventListener("keystatuseschange",c);const u=new Promise(((e,t)=>{d.on("error",t),d.on("keyStatus",(i=>{i.startsWith("usable")?e():"output-restricted"===i?t(new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===i?t(new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${i}"`)):"expired"===i?t(new Error("key expired while generating request")):this.warn(`unhandled key status change "${i}"`)}))}));return e.mediaKeysSession.generateRequest(t,i).then((()=>{var t;this.log(`Request generated for key-session "${null==(t=e.mediaKeysSession)?void 0:t.sessionId}" keyId: ${l}`)})).catch((e=>{throw new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_NO_SESSION,error:e,fatal:!1},`Error generating key-session request: ${e}`)})).then((()=>u)).catch((t=>{throw d.removeAllListeners(),this.removeSession(e),t})).then((()=>(d.removeAllListeners(),e)))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach(((t,i)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Vu("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${Vu(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t}))}fetchServerCertificate(e){const t=this.config,i=new(0,t.loader)(t),s=this.getServerCertificateUrl(e);return s?(this.log(`Fetching server certificate for "${e}"`),new Promise(((r,a)=>{const o={responseType:"arraybuffer",url:s},n=t.certLoadPolicy.default,l={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(e,t,i,s)=>{r(e.data)},onError:(t,i,r,n)=>{a(new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:Mc({url:o.url,data:void 0},t)},`"${e}" certificate request failed (${s}). Status: ${t.code} (${t.text})`))},onTimeout:(t,i,r)=>{a(new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:o.url,data:void 0}},`"${e}" certificate request timed out (${s})`))},onAbort:(e,t,i)=>{a(new Error("aborted"))}};i.load(o,l,d)}))):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise(((s,r)=>{e.setServerCertificate(i).then((r=>{this.log(`setServerCertificate ${r?"success":"not supported by CDM"} (${null==i?void 0:i.byteLength}) on "${t}"`),s(e)})).catch((e=>{r(new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))}))}))}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then((t=>this.updateKeySession(e,new Uint8Array(t)).catch((e=>{throw new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:e,fatal:!0},e.message)}))))}unpackPlayReadyKeyMessage(e,t){const i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;const s=(new DOMParser).parseFromString(i,"application/xml"),r=s.querySelectorAll("HttpHeader");if(r.length>0){let t;for(let i=0,s=r.length;i in key message");return cu(atob(l))}setupLicenseXHR(e,t,i,s){const r=this.config.licenseXhrSetup;return r?Promise.resolve().then((()=>{if(!i.decryptdata)throw new Error("Key removed");return r.call(this.hls,e,t,i,s)})).catch((a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),r.call(this.hls,e,t,i,s)})).then((i=>{e.readyState||e.open("POST",t,!0);return{xhr:e,licenseChallenge:i||s}})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){const i=this.config.keyLoadPolicy.default;return new Promise(((s,r)=>{const a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);const o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(new Error("invalid state"));if(4===o.readyState)if(200===o.status){this._requestLicenseFailureCount=0;let t=o.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);const i=this.config.licenseResponseCallback;if(i)try{t=i.call(this.hls,o,a,e)}catch(e){this.error(e)}s(t)}else{const n=i.errorRetry,l=n?n.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>l||o.status>=400&&o.status<500)r(new iA({type:Wc.KEY_SYSTEM_ERROR,details:zc.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{const i=l-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${i} attempts left`),this.requestLicense(e,t).then(s,r)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then((({xhr:t,licenseChallenge:i})=>{e.keySystem==pu.PLAYREADY&&(i=this.unpackPlayReadyKeyMessage(t,i)),t.send(i)}))}))}onMediaAttached(e,t){if(!this.config.emeEnabled)return;const i=t.media;this.media=i,i.addEventListener("encrypted",this.onMediaEncrypted),i.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){const e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},mp.clearKeyUriToKeyIdMap();const i=t.length;tA.CDMCleanupPromise=Promise.all(t.map((e=>this.removeSession(e))).concat(null==e?void 0:e.setMediaKeys(null).catch((e=>{this.log(`Could not clear media keys: ${e}`)})))).then((()=>{i&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)})).catch((e=>{this.log(`Could not close sessions and clear media keys: ${e}`)}))}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(t&&this.config.emeEnabled&&!this.keyFormatPromise){const e=t.reduce(((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e)),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){const{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;const s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch((e=>{this.log(`Could not remove session: ${e}`)})).then((()=>t.close())).catch((e=>{this.log(`Could not close session: ${e}`)}))}}}tA.CDMCleanupPromise=void 0;class iA extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}}var sA,rA,aA;!function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"}(sA||(sA={})),function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"}(rA||(rA={})),function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"}(aA||(aA={}));const oA={[aA.OBJECT]:["br","d","ot","tb"],[aA.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[aA.SESSION]:["cid","pr","sf","sid","st","v"],[aA.STATUS]:["bs","rtp"]};class nA{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map((e=>e instanceof nA?e:new nA(e)))),this.value=e,this.params=t}}class lA{constructor(e){this.description=void 0,this.description=e}}function dA(e,t,i,s){return new Error(`failed to ${e} "${r=t,Array.isArray(r)?JSON.stringify(r):r instanceof Map?"Map{}":r instanceof Set?"Set{}":"object"==typeof r?JSON.stringify(r):String(r)}" as ${i}`,{cause:s});var r}const hA="Bare Item";const cA=/[\x00-\x1f\x7f]+/;function uA(e,t,i){return dA("serialize",e,t,i)}function pA(e){if(!1===ArrayBuffer.isView(e))throw uA(e,"Byte Sequence");return`:${t=e,btoa(String.fromCharCode(...t))}:`;var t}function mA(e){if(function(e){return e<-999999999999999||99999999999999912)throw uA(e,"Decimal");const i=t.toString();return i.includes(".")?i:`${i}.0`}function yA(e){const t=(i=e).description||i.toString().slice(7,-1);var i;if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw uA(t,"Token");return t}function AA(e){switch(typeof e){case"number":if(!Nc(e))throw uA(e,hA);return Number.isInteger(e)?mA(e):gA(e);case"string":return function(e){if(cA.test(e))throw uA(e,"String");return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}(e);case"symbol":return yA(e);case"boolean":return function(e){if("boolean"!=typeof e)throw uA(e,"Boolean");return e?"?1":"?0"}(e);case"object":if(e instanceof Date)return function(e){return`@${mA(e.getTime()/1e3)}`}(e);if(e instanceof Uint8Array)return pA(e);if(e instanceof lA)return yA(e);default:throw uA(e,hA)}}function bA(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw uA(e,"Key");return e}function vA(e){return null==e?"":Object.entries(e).map((([e,t])=>!0===t?`;${bA(e)}`:`;${bA(e)}=${AA(t)}`)).join("")}function _A(e){return e instanceof nA?`${AA(e.value)}${vA(e.params)}`:AA(e)}function SA(e,t={whitespace:!0}){if("object"!=typeof e)throw uA(e,"Dict");const i=e instanceof Map?e.entries():Object.entries(e),s=null!=t&&t.whitespace?" ":"";return Array.from(i).map((([e,t])=>{t instanceof nA==!1&&(t=new nA(t));let i=bA(e);var s;return!0===t.value?i+=vA(t.params):(i+="=",Array.isArray(t.value)?i+=`(${(s=t).value.map(_A).join(" ")})${vA(s.params)}`:i+=_A(t)),i})).join(`,${s}`)}const EA=e=>Math.round(e),TA=e=>100*EA(e/100),wA={br:EA,d:EA,bl:TA,dl:TA,mtp:TA,nor:(e,t)=>(null!=t&&t.baseUrl&&(e=function(e,t){const i=new URL(e),s=new URL(t);if(i.origin!==s.origin)return e;const r=i.pathname.split("/").slice(1),a=s.pathname.split("/").slice(1,-1);for(;r[0]===a[0];)r.shift(),a.shift();for(;a.length;)a.shift(),r.unshift("..");return r.join("/")}(e,t.baseUrl)),encodeURIComponent(e)),rtp:TA,tb:EA};function kA(e,t){const i={};if(null==e||"object"!=typeof e)return i;const s=Object.keys(e).sort(),r=Oc({},wA,null==t?void 0:t.formatters),a=null==t?void 0:t.filter;return s.forEach((s=>{if(null!=a&&a(s))return;let o=e[s];const n=r[s];n&&(o=n(o,t)),"v"===s&&1===o||"pr"==s&&1===o||(e=>"number"==typeof e?Nc(e):null!=e&&""!==e&&!1!==e)(o)&&((e=>"ot"===e||"sf"===e||"st"===e)(s)&&"string"==typeof o&&(o=new lA(o)),i[s]=o)})),i}function LA(e,t={}){return e?function(e,t){return SA(e,t)}(kA(e,t),Oc({whitespace:!1},t)):""}function CA(e,t,i){return Oc(e,function(e,t={}){if(!e)return{};const i=Object.entries(e),s=Object.entries(oA).concat(Object.entries((null==t?void 0:t.customHeaderMap)||{})),r=i.reduce(((e,t)=>{var i;const[r,a]=t,o=(null==(i=s.find((e=>e[1].includes(r))))?void 0:i[0])||aA.REQUEST;return null!=e[o]||(e[o]={}),e[o][r]=a,e}),{});return Object.entries(r).reduce(((e,[i,s])=>(e[i]=LA(s,t),e)),{})}(t,i))}const DA=/CMCD=[^&#]+/;function xA(e,t,i){const s=function(e,t={}){if(!e)return"";const i=LA(e,t);return`CMCD=${encodeURIComponent(i)}`}(t,i);if(!s)return e;if(DA.test(e))return e.replace(DA,s);const r=e.includes("?")?"&":"?";return`${e}${r}${s}`}function RA(e,t,i,s){e&&Object.keys(t).forEach((r=>{const a=e.filter((e=>e.groupId===r)).map((e=>{const a=Oc({},e);return a.details=void 0,a.attrs=new Xc(a.attrs),a.url=a.attrs.URI=PA(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),a.groupId=a.attrs["GROUP-ID"]=t[r],a.attrs["PATHWAY-ID"]=s,a}));e.push(...a)}))}function PA(e,t,i,s){const{HOST:r,PARAMS:a,[i]:o}=s;let n;t&&(n=null==o?void 0:o[t],n&&(e=n));const l=new self.URL(e);return r&&!n&&(l.host=r),a&&Object.keys(a).sort().forEach((e=>{e&&l.searchParams.set(e,a[e])})),l.href}const IA=/^age:\s*[\d.]+\s*$/im;class BA{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new tu,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal()}loadInternal(){const{config:e,context:t}=this;if(!e||!t)return;const i=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;const r=this.xhrSetup;r?Promise.resolve().then((()=>{if(this.loader===i&&!this.stats.aborted)return r(i,t.url)})).catch((e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",t.url,!0),r(i,t.url)})).then((()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)})).catch((e=>{this.callbacks.onError({code:i.status,text:e.message},t,i,s)})):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);const s=t.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:a}=i.loadPolicy;if(s)for(const t in s)e.setRequestHeader(t,s[t]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=r&&Nc(r)?r:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){const{context:e,loader:t,stats:i}=this;if(!e||!t)return;const s=t.readyState,r=this.config;if(!i.aborted&&s>=2&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),4===s)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;const s=t.status,a="text"!==t.responseType;if(s>=200&&s<300&&(a&&t.response||null!==t.responseText)){i.loading.end=Math.max(self.performance.now(),i.loading.first);const r=a?t.response:t.responseText,o="arraybuffer"===t.responseType?r.byteLength:r.length;if(i.loaded=i.total=o,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first),!this.callbacks)return;const n=this.callbacks.onProgress;if(n&&n(i,e,r,t),!this.callbacks)return;const l={url:t.responseURL,data:r,code:s};this.callbacks.onSuccess(l,i,e,t)}else{const a=r.loadPolicy.errorRetry;Fm(a,i.retry,!1,{url:e.url,data:void 0,code:s})?this.retry(a):(Kc.error(`${s} while loading ${e.url}`),this.callbacks.onError({code:s,text:t.statusText},e,t,i))}}}loadtimeout(){if(!this.config)return;const e=this.config.loadPolicy.timeoutRetry;if(Fm(e,this.stats.retry,!0))this.retry(e);else{var t;Kc.warn(`timeout while loading ${null==(t=this.context)?void 0:t.url}`);const e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}retry(e){const{context:t,stats:i}=this;this.retryDelay=Bm(e,i.retry),i.retry++,Kc.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){const t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&IA.test(this.loader.getAllResponseHeaders())){const t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}const MA=/(\d+)-(\d+)\/(\d+)/;class FA{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||UA,this.controller=new self.AbortController,this.stats=new tu}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){const s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();const r=function(e,t){const i={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(Oc({},e.headers))};e.rangeEnd&&i.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1));return i}(e,this.controller.signal),a=i.onProgress,o="arraybuffer"===e.responseType,n=o?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:d}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,r),self.clearTimeout(this.requestTimeout),t.timeout=l&&Nc(l)?l:d,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),i.onTimeout(s,e,this.response)}),t.timeout),self.fetch(this.request).then((r=>{this.response=this.loader=r;const n=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=d,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),i.onTimeout(s,e,this.response)}),d-(n-s.loading.start)),!r.ok){const{status:e,statusText:t}=r;throw new OA(t||"fetch, bad network response",e,r)}return s.loading.first=n,s.total=function(e){const t=e.get("Content-Range");if(t){const e=function(e){const t=MA.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}(t);if(Nc(e))return e}const i=e.get("Content-Length");if(i)return parseInt(i)}(r.headers)||s.total,a&&Nc(t.highWaterMark)?this.loadProgressively(r,s,e,t.highWaterMark,a):o?r.arrayBuffer():"json"===e.responseType?r.json():r.text()})).then((r=>{const o=this.response;if(!o)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);const l=r[n];l&&(s.loaded=s.total=l);const d={url:o.url,data:r,code:o.status};a&&!Nc(t.highWaterMark)&&a(s,e,r,o),i.onSuccess(d,s,e,o)})).catch((t=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;const r=t&&t.code||0,a=t?t.message:null;i.onError({code:r,text:a},e,t?t.details:null,s)}))}getCacheAge(){let e=null;if(this.response){const t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,s=0,r){const a=new Hf,o=e.body.getReader(),n=()=>o.read().then((o=>{if(o.done)return a.dataLength&&r(t,i,a.flush(),e),Promise.resolve(new ArrayBuffer(0));const l=o.value,d=l.length;return t.loaded+=d,d=s&&r(t,i,a.flush(),e)):r(t,i,l,e),n()})).catch((()=>Promise.reject()));return n()}}function UA(e,t){return new self.Request(e.url,t)}class OA extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}const NA=/\s/,jA={newCue(e,t,i,s){const r=[];let a,o,n,l,d;const h=self.VTTCue||self.TextTrackCue;for(let u=0;u=16?l--:l++;const s=Iy(d.trim()),p=Oy(t,i,s);null!=e&&null!=(c=e.cues)&&c.getCueById(p)||(o=new h(t,i,s),o.id=p,o.line=u+1,o.align="left",o.position=10+Math.min(80,10*Math.floor(8*l/32)),r.push(o))}return e&&r.length&&(r.sort(((e,t)=>"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line)),r.forEach((t=>im(e,t)))),r}},GA=Mc(Mc({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:BA,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{const{fragCurrent:e,partCurrent:t,hls:i}=this,{autoLevelEnabled:s,media:r}=i;if(!e||!r)return;const a=performance.now(),o=t?t.stats:e.stats,n=t?t.duration:e.duration,l=a-o.loading.start,d=i.minAutoLevel;if(o.aborted||o.loaded&&o.loaded===o.total||e.level<=d)return this.clearTimer(),void(this._nextAutoLevel=-1);if(!s||r.paused||!r.playbackRate||!r.readyState)return;const h=i.mainForwardBufferInfo;if(null===h)return;const c=this.bwEstimator.getEstimateTTFB(),u=Math.abs(r.playbackRate);if(l<=Math.max(c,n/(2*u)*1e3))return;const p=h.len/u,m=o.loading.first?o.loading.first-o.loading.start:-1,f=o.loaded&&m>-1,g=this.getBwEstimate(),y=i.levels,A=y[e.level],b=o.total||Math.max(o.loaded,Math.round(n*A.averageBitrate/8));let v=f?l-m:l;v<1&&f&&(v=Math.min(l,8*o.loaded/g));const _=f?1e3*o.loaded/v:0,S=_?(b-o.loaded)/_:8*b/g+c/1e3;if(S<=p)return;const E=_?8*_:g;let T,w=Number.POSITIVE_INFINITY;for(T=e.level-1;T>d;T--){const e=y[T].maxBitrate;if(w=this.getTimeToLoadFrag(c/1e3,E,n*e,!y[T].details),w=S)return;if(w>10*n)return;i.nextLoadLevel=i.nextAutoLevel=T,f?this.bwEstimator.sample(l-Math.min(c,m),o.loaded):this.bwEstimator.sampleTTFB(l);const k=y[T].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>k&&this.resetEstimator(k),this.clearTimer(),Kc.warn(`[abr] Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} is loading too slowly;\n Time to underbuffer: ${p.toFixed(3)} s\n Estimated load time for current fragment: ${S.toFixed(3)} s\n Estimated load time for down switch fragment: ${w.toFixed(3)} s\n TTFB estimate: ${0|m} ms\n Current BW estimate: ${Nc(g)?0|g:"Unknown"} bps\n New BW estimate: ${0|this.getBwEstimate()} bps\n Switching to level ${T} @ ${0|k} bps`),i.trigger(Vc.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:t,stats:o})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(Kc.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const e=this.hls.config;return new Ym(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){const{hls:e}=this;e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.FRAG_LOADING,this.onFragLoading,this),e.on(Vc.FRAG_LOADED,this.onFragLoaded,this),e.on(Vc.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Vc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Vc.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Vc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Vc.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(Vc.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e&&(e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.FRAG_LOADING,this.onFragLoading,this),e.off(Vc.FRAG_LOADED,this.onFragLoaded,this),e.off(Vc.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Vc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Vc.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Vc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Vc.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(Vc.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){const i=t.frag;if(!this.ignoreFragment(i)){var s;if(!i.bitrateTest)this.fragCurrent=i,this.partCurrent=null!=(s=t.part)?s:null;this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case zc.BUFFER_ADD_CODEC_ERROR:case zc.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case zc.FRAG_LOAD_TIMEOUT:{const e=t.frag,{fragCurrent:i,partCurrent:s}=this;if(e&&i&&e.sn===i.sn&&e.level===i.level){const t=performance.now(),i=s?s.stats:e.stats,r=t-i.loading.start,a=i.loading.first?i.loading.first-i.loading.start:-1;if(i.loaded&&a>-1){const e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(r-Math.min(e,a),i.loaded)}else this.bwEstimator.sampleTTFB(r)}break}}}getTimeToLoadFrag(e,t,i,s){return e+i/t+(s?this.lastLevelLoadSec:0)}onLevelLoaded(e,t){const i=this.hls.config,{loading:s}=t.stats,r=s.end-s.start;Nc(r)&&(this.lastLevelLoadSec=r/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:i}){const s=i?i.stats:t.stats;if(t.type===Kp&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const e=i?i.duration:t.duration,r=this.hls.levels[t.level],a=(r.loaded?r.loaded.bytes:0)+s.loaded,o=(r.loaded?r.loaded.duration:0)+e;r.loaded={bytes:a,duration:o},r.realBitrate=Math.round(8*a/o)}if(t.bitrateTest){const e={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(Vc.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){const{frag:i,part:s}=t,r=null!=s&&s.stats.loaded?s.stats:i.stats;if(r.aborted)return;if(this.ignoreFragment(i))return;const a=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,r.loaded),r.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==Kp||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,r=this.findBestLevel(i,t,e,0,s,1,1);if(r>-1)return r;const a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return Kc.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(!(-1===e||t&&i&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;const s=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){const t=this.hls.levels;if(t.length>Math.max(e,s)&&t[e].loadError<=t[s].loadError)return e}return this._nextAutoLevel=s,this.nextAutoLevelKey=this.getAutoLevelKey(),s}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:e,partCurrent:t,hls:i}=this,{maxAutoLevel:s,config:r,minAutoLevel:a}=i,o=t?t.duration:e?e.duration:0,n=this.getBwEstimate(),l=this.getStarvationDelay();let d=r.abrBandWidthFactor,h=r.abrBandWidthUpFactor;if(l){const e=this.findBestLevel(n,a,s,l,0,d,h);if(e>=0)return e}let c=o?Math.min(o,r.maxStarvationDelay):r.maxStarvationDelay;if(!l){const e=this.bitrateTestDelay;if(e){c=(o?Math.min(o,r.maxLoadingDelay):r.maxLoadingDelay)-e,Kc.info(`[abr] bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*c)} ms`),d=h=1}}const u=this.findBestLevel(n,a,s,l,c,d,h);if(Kc.info(`[abr] ${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${u}`),u>-1)return u;const p=i.levels[a],m=i.levels[i.loadLevel];return(null==p?void 0:p.bitrate)<(null==m?void 0:m.bitrate)?a:i.loadLevel}getStarvationDelay(){const e=this.hls,t=e.media;if(!t)return 1/0;const i=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,s,r,a,o){var n;const l=s+r,d=this.lastLoadedFragLevel,h=-1===d?this.hls.firstLevel:d,{fragCurrent:c,partCurrent:u}=this,{levels:p,allAudioTracks:m,loadLevel:f,config:g}=this.hls;if(1===p.length)return 0;const y=p[h],A=!(null==y||null==(n=y.details)||!n.live),b=-1===f||-1===d;let v,_="SDR",S=(null==y?void 0:y.frameRate)||0;const{audioPreference:E,videoPreference:T}=g,w=this.audioTracksByGroup||(this.audioTracksByGroup=function(e){return e.reduce(((e,t)=>{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);const s=t.channels||"2";return i.channels[s]=(i.channels[s]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}(m));if(b){if(-1!==this.firstSelection)return this.firstSelection;const s=this.codecTiers||(this.codecTiers=function(e,t,i,s){return e.slice(i,s+1).reduce(((e,i)=>{if(!i.codecSet)return e;const s=i.audioGroups;let r=e[i.codecSet];r||(e[i.codecSet]=r={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!s,fragmentError:0}),r.minBitrate=Math.min(r.minBitrate,i.bitrate);const a=Math.min(i.height,i.width);return r.minHeight=Math.min(r.minHeight,a),r.minFramerate=Math.min(r.minFramerate,i.frameRate),r.maxScore=Math.max(r.maxScore,i.score),r.fragmentError+=i.fragmentError,r.videoRanges[i.videoRange]=(r.videoRanges[i.videoRange]||0)+1,s&&s.forEach((e=>{if(!e)return;const i=t.groups[e];i&&(r.hasDefaultAudio=r.hasDefaultAudio||t.hasDefaultAudio?i.hasDefault:i.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(i.channels).forEach((e=>{r.channels[e]=(r.channels[e]||0)+i.channels[e]})))})),e}),{})}(p,w,t,i)),r=function(e,t,i,s,r){const a=Object.keys(e),o=null==s?void 0:s.channels,n=null==s?void 0:s.audioCodec,l=o&&2===parseInt(o);let d=!0,h=!1,c=1/0,u=1/0,p=1/0,m=0,f=[];const{preferHDR:g,allowedVideoRanges:y}=tf(t,r);for(let t=a.length;t--;){const i=e[a[t]];d=i.channels[2]>0,c=Math.min(c,i.minHeight),u=Math.min(u,i.minFramerate),p=Math.min(p,i.minBitrate);const s=y.filter((e=>i.videoRanges[e]>0));s.length>0&&(h=!0,f=s)}c=Nc(c)?c:0,u=Nc(u)?u:0;const A=Math.max(1080,c),b=Math.max(30,u);return p=Nc(p)?p:i,i=Math.max(p,i),h||(t=void 0,f=[]),{codecSet:a.reduce(((t,s)=>{const r=e[s];if(s===t)return t;if(r.minBitrate>i)return sf(s,`min bitrate of ${r.minBitrate} > current estimate of ${i}`),t;if(!r.hasDefaultAudio)return sf(s,"no renditions with default or auto-select sound found"),t;if(n&&s.indexOf(n.substring(0,4))%5!=0)return sf(s,`audio codec preference "${n}" not found`),t;if(o&&!l){if(!r.channels[o])return sf(s,`no renditions with ${o} channel sound found (channels options: ${Object.keys(r.channels)})`),t}else if((!n||l)&&d&&0===r.channels[2])return sf(s,"no renditions with stereo sound found"),t;return r.minHeight>A?(sf(s,`min resolution of ${r.minHeight} > maximum of ${A}`),t):r.minFramerate>b?(sf(s,`min framerate of ${r.minFramerate} > maximum of ${b}`),t):f.some((e=>r.videoRanges[e]>0))?r.maxScore=Lp(t)||r.fragmentError>e[t].fragmentError)?t:(m=r.maxScore,s):(sf(s,`no variants with VIDEO-RANGE of ${JSON.stringify(f)} found`),t)}),void 0),videoRanges:f,preferHDR:g,minFramerate:u,minBitrate:p}}(s,_,e,E,T),{codecSet:a,videoRanges:o,minFramerate:n,minBitrate:l,preferHDR:d}=r;v=a,_=d?o[o.length-1]:o[0],S=n,e=Math.max(e,l),Kc.log(`[abr] picked start tier ${JSON.stringify(r)}`)}else v=null==y?void 0:y.codecSet,_=null==y?void 0:y.videoRange;const k=u?u.duration:c?c.duration:0,L=this.bwEstimator.getEstimateTTFB()/1e3,C=[];for(let n=i;n>=t;n--){var D;const t=p[n],c=n>h;if(!t)continue;if(g.useMediaCapabilities&&!t.supportedResult&&!t.supportedPromise){const i=navigator.mediaCapabilities;"function"==typeof(null==i?void 0:i.decodingInfo)&&Zm(t,w,_,S,e,E)?(t.supportedPromise=ef(t,w,i),t.supportedPromise.then((e=>{if(!this.hls)return;t.supportedResult=e;const i=this.hls.levels,s=i.indexOf(t);e.error?Kc.warn(`[abr] MediaCapabilities decodingInfo error: "${e.error}" for level ${s} ${JSON.stringify(e)}`):e.supported||(Kc.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${s} ${JSON.stringify(e)}`),s>-1&&i.length>1&&(Kc.log(`[abr] Removing unsupported level ${s}`),this.hls.removeLevel(s)))}))):t.supportedResult=Qm}if(v&&t.codecSet!==v||_&&t.videoRange!==_||c&&S>t.frameRate||!c&&S>0&&S=2*k&&0===r?p[n].averageBitrate:p[n].maxBitrate,P=this.getTimeToLoadFrag(L,x,R*T,void 0===m);if(x>=R&&(n===d||0===t.loadError&&0===t.fragmentError)&&(P<=L||!Nc(P)||A&&!this.bitrateTestDelay||P${n} adjustedbw(${Math.round(x)})-bitrate=${Math.round(x-R)} ttfb:${L.toFixed(1)} avgDuration:${T.toFixed(1)} maxFetchDuration:${l.toFixed(1)} fetchDuration:${P.toFixed(1)} firstSelection:${b} codecSet:${v} videoRange:${_} hls.loadLevel:${f}`)),b&&(this.firstSelection=n),n}}return-1}set nextAutoLevel(e){const{maxAutoLevel:t,minAutoLevel:i}=this.hls,s=Math.min(Math.max(e,i),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},bufferController:class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=e=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{const{media:e,mediaSource:t}=this;this.log("Media source opened"),e&&(e.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(Vc.MEDIA_ATTACHED,{media:e,mediaSource:t})),t&&t.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:e,_objectUrl:t}=this;e!==t&&Kc.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e;const t="[buffer-controller]";var i;this.appendSource=(i=_p(e.config.preferManagedMediaSource),"undefined"!=typeof self&&i===self.ManagedMediaSource),this.log=Kc.log.bind(Kc,t),this.warn=Kc.warn.bind(Kc,t),this.error=Kc.error.bind(Kc,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){const{hls:e}=this;e.on(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Vc.BUFFER_RESET,this.onBufferReset,this),e.on(Vc.BUFFER_APPENDING,this.onBufferAppending,this),e.on(Vc.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Vc.BUFFER_EOS,this.onBufferEos,this),e.on(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Vc.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Vc.FRAG_PARSED,this.onFragParsed,this),e.on(Vc.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){const{hls:e}=this;e.off(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Vc.BUFFER_RESET,this.onBufferReset,this),e.off(Vc.BUFFER_APPENDING,this.onBufferAppending,this),e.off(Vc.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Vc.BUFFER_EOS,this.onBufferEos,this),e.off(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Vc.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Vc.FRAG_PARSED,this.onFragParsed,this),e.off(Vc.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new iy(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let i=2;(t.audio&&!t.video||!t.altAudio)&&(i=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){const i=this.media=t.media,s=_p(this.appendSource);if(i&&s){var r;const e=this.mediaSource=new s;this.log(`created media source: ${null==(r=e.constructor)?void 0:r.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming));const t=this._objectUrl=self.URL.createObjectURL(e);if(this.appendSource)try{i.removeAttribute("src");const s=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||s&&e instanceof s,ry(i),function(e,t){const i=self.document.createElement("source");i.type="video/mp4",i.src=t,e.appendChild(i)}(i,t),i.load()}catch(e){i.src=t}else i.src=t;i.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){const{media:e,mediaSource:t,_objectUrl:i}=this;if(t){if(this.log("media source detaching"),"open"===t.readyState)try{t.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),i&&self.URL.revokeObjectURL(i),this.mediaSrc===i?(e.removeAttribute("src"),this.appendSource&&ry(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(Vc.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach((e=>{this.resetBuffer(e)})),this._initSourceBuffer()}resetBuffer(e){const t=this.sourceBuffer[e];try{var i;if(t)this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,null!=(i=this.mediaSource)&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}catch(t){this.warn(`onBufferReset ${e}`,t)}}onBufferCodecs(e,t){const i=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach((e=>{if(i){const i=this.tracks[e];if(i&&"function"==typeof i.buffer.changeType){var s;const{id:r,codec:a,levelCodec:o,container:n,metadata:l}=t[e],d=Rp(i.codec,i.levelCodec),h=null==d?void 0:d.replace(sy,"$1");let c=Rp(a,o);const u=null==(s=c)?void 0:s.replace(sy,"$1");if(c&&h!==u){"audio"===e.slice(0,5)&&(c=xp(c,this.appendSource));const t=`${n};codecs=${c}`;this.appendChangeType(e,t),this.log(`switching codec ${d} to ${c}`),this.tracks[e]={buffer:i.buffer,codec:a,container:n,levelCodec:o,metadata:l,id:r}}}}else this.pendingTracks[e]=t[e]})),i)return;const r=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==r&&(this.log(`${r} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=r),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}appendChangeType(e,t){const{operationQueue:i}=this,s={execute:()=>{const s=this.sourceBuffer[e];s&&(this.log(`changing ${e} sourceBuffer type to ${t}`),s.changeType(t)),i.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};i.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){const{hls:i,operationQueue:s,tracks:r}=this,{data:a,type:o,frag:n,part:l,chunkMeta:d}=t,h=d.buffering[o],c=self.performance.now();h.start=c;const u=n.stats.buffering,p=l?l.stats.buffering:null;0===u.start&&(u.start=c),p&&0===p.start&&(p.start=c);const m=r.audio;let f=!1;"audio"===o&&"audio/mpeg"===(null==m?void 0:m.container)&&(f=!this.lastMpegAudioChunk||1===d.id||this.lastMpegAudioChunk.sn!==d.sn,this.lastMpegAudioChunk=d);const g=n.start,y={execute:()=>{if(h.executeStart=self.performance.now(),f){const e=this.sourceBuffer[o];if(e){const t=g-e.timestampOffset;Math.abs(t)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${g} (delta: ${t}) sn: ${n.sn})`),e.timestampOffset=g)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{const e=self.performance.now();h.executeEnd=h.end=e,0===u.first&&(u.first=e),p&&0===p.first&&(p.first=e);const{sourceBuffer:t}=this,i={};for(const e in t)i[e]=gf.getBuffered(t[e]);this.appendErrors[o]=0,"audio"===o||"video"===o?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(Vc.BUFFER_APPENDED,{type:o,frag:n,part:l,chunkMeta:d,parent:n.type,timeRanges:i})},onError:e=>{const t={type:Wc.MEDIA_ERROR,parent:n.type,details:zc.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:n,part:l,chunkMeta:d,error:e,err:e,fatal:!1};if(e.code===DOMException.QUOTA_EXCEEDED_ERR)t.details=zc.BUFFER_FULL_ERROR;else{const e=++this.appendErrors[o];t.details=zc.BUFFER_APPEND_ERROR,this.warn(`Failed ${e}/${i.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),e>=i.config.appendErrorMaxRetry&&(t.fatal=!0)}i.trigger(Vc.ERROR,t)}};s.append(y,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){const{operationQueue:i}=this,s=e=>({execute:this.removeExecutor.bind(this,e,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(Vc.BUFFER_FLUSHED,{type:e})},onError:t=>{this.warn(`Failed to remove from ${e} SourceBuffer`,t)}});t.type?i.append(s(t.type),t.type):this.getSourceBufferTypes().forEach((e=>{i.append(s(e),e)}))}onFragParsed(e,t){const{frag:i,part:s}=t,r=[],a=s?s.elementaryStreams:i.elementaryStreams;a[ru]?r.push("audiovideo"):(a[iu]&&r.push("audio"),a[su]&&r.push("video"));0===r.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers((()=>{const e=self.performance.now();i.stats.buffering.end=e,s&&(s.stats.buffering.end=e);const t=s?s.stats:i.stats;this.hls.trigger(Vc.FRAG_BUFFERED,{frag:i,part:s,stats:t,id:i.type})}),r)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce(((e,i)=>{const s=this.sourceBuffer[i];return!s||t.type&&t.type!==i||(s.ending=!0,s.ended||(s.ended=!0,this.log(`${i} sourceBuffer now EOS`))),e&&!(s&&!s.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((()=>{this.getSourceBufferTypes().forEach((e=>{const t=this.sourceBuffer[e];t&&(t.ending=!1)}));const{mediaSource:e}=this;e&&"open"===e.readyState?(this.log("Calling mediaSource.endOfStream()"),e.endOfStream()):e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`)})))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){const{hls:e,details:t,media:i}=this;if(!i||null===t)return;if(!this.getSourceBufferTypes().length)return;const s=e.config,r=i.currentTime,a=t.levelTargetDuration,o=t.live&&null!==s.liveBackBufferLength?s.liveBackBufferLength:s.backBufferLength;if(Nc(o)&&o>0){const e=Math.max(o,a),t=Math.floor(r/a)*a-e;this.flushBackBuffer(r,a,t)}if(Nc(s.frontBufferFlushThreshold)&&s.frontBufferFlushThreshold>0){const e=Math.max(s.maxBufferLength,s.frontBufferFlushThreshold),t=Math.max(e,a),i=Math.floor(r/a)*a+t;this.flushFrontBuffer(r,a,i)}}flushBackBuffer(e,t,i){const{details:s,sourceBuffer:r}=this;this.getSourceBufferTypes().forEach((a=>{const o=r[a];if(o){const r=gf.getBuffered(o);if(r.length>0&&i>r.start(0)){if(this.hls.trigger(Vc.BACK_BUFFER_REACHED,{bufferEnd:i}),null!=s&&s.live)this.hls.trigger(Vc.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(o.ended&&r.end(r.length-1)-e<2*t)return void this.log(`Cannot flush ${a} back buffer while SourceBuffer is in ended state`);this.hls.trigger(Vc.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:a})}}}))}flushFrontBuffer(e,t,i){const{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach((r=>{const a=s[r];if(a){const s=gf.getBuffered(a),o=s.length;if(o<2)return;const n=s.start(o-1),l=s.end(o-1);if(i>n||e>=n&&e<=l)return;if(a.ended&&e-l<2*t)return void this.log(`Cannot flush ${r} front buffer while SourceBuffer is in ended state`);this.hls.trigger(Vc.BUFFER_FLUSHING,{startOffset:n,endOffset:1/0,type:r})}}))}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||"open"!==this.mediaSource.readyState)return;const{details:e,hls:t,media:i,mediaSource:s}=this,r=e.fragments[0].start+e.totalduration,a=i.duration,o=Nc(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(r>o&&r>a||!Nc(a))&&(this.log(`Updating Media Source duration to ${r.toFixed(3)}`),s.duration=r)}updateSeekableRange(e){const t=this.mediaSource,i=e.fragments;if(i.length&&e.live&&null!=t&&t.setLiveSeekableRange){const s=Math.max(0,i[0].start),r=Math.max(s,s+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${s}-${r}.`),t.setLiveSeekableRange(s,r)}}checkPendingTracks(){const{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:i}=this,s=Object.keys(i).length;if(s&&(!e||2===s||"audiovideo"in i)){this.createSourceBuffers(i),this.pendingTracks={};const e=this.getSourceBufferTypes();if(e.length)this.hls.trigger(Vc.BUFFER_CREATED,{tracks:this.tracks}),e.forEach((e=>{t.executeNext(e)}));else{const e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}}createSourceBuffers(e){const{sourceBuffer:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(const r in e)if(!t[r]){var s;const a=e[r];if(!a)throw Error(`source buffer exists for track ${r}, however track does not`);let o=-1===(null==(s=a.levelCodec)?void 0:s.indexOf(","))?a.levelCodec:a.codec;o&&"audio"===r.slice(0,5)&&(o=xp(o,this.appendSource));const n=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${n})`);try{const e=t[r]=i.addSourceBuffer(n),s=r;this.addBufferListener(s,"updatestart",this._onSBUpdateStart),this.addBufferListener(s,"updateend",this._onSBUpdateEnd),this.addBufferListener(s,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(s,"bufferedchange",((e,t)=>{const i=t.removedRanges;null!=i&&i.length&&this.hls.trigger(Vc.BUFFER_FLUSHED,{type:r})})),this.tracks[r]={buffer:e,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(e){this.error(`error while trying to add sourceBuffer: ${e.message}`),this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:r,mimeType:n})}}}get mediaSrc(){var e;const t=(null==(e=this.media)?void 0:e.firstChild)||this.media;return null==t?void 0:t.src}_onSBUpdateStart(e){const{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if("closed"===(null==(t=this.mediaSource)?void 0:t.readyState))return void this.resetBuffer(e);const{operationQueue:i}=this;i.current(e).onComplete(),i.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var i;const s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(i=this.mediaSource)?void 0:i.readyState}`);this.error(`${s}`,t),this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});const r=this.operationQueue.current(e);r&&r.onError(s)}removeExecutor(e,t,i){const{media:s,mediaSource:r,operationQueue:a,sourceBuffer:o}=this,n=o[e];if(!s||!r||!n)return this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),void a.shiftAndExecuteNext(e);const l=Nc(s.duration)?s.duration:1/0,d=Nc(r.duration)?r.duration:1/0,h=Math.max(0,t),c=Math.min(i,l,d);c>h&&(!n.ending||n.ended)?(n.ended=!1,this.log(`Removing [${h},${c}] from the ${e} SourceBuffer`),n.remove(h,c)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){const i=this.sourceBuffer[t];if(i)i.ended=!1,i.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);const{operationQueue:i}=this,s=t.map((e=>i.appendBlocker(e)));Promise.all(s).then((()=>{e(),t.forEach((e=>{const t=this.sourceBuffer[e];null!=t&&t.updating||i.shiftAndExecuteNext(e)}))}))}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,i){const s=this.sourceBuffer[e];if(!s)return;const r=i.bind(this,e);this.listeners[e].push({event:t,listener:r}),s.addEventListener(t,r)}removeBufferListeners(e){const t=this.sourceBuffer[e];t&&this.listeners[e].forEach((e=>{t.removeEventListener(e.event,e.listener)}))}},capLevelController:Zy,errorController:class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=Kc.log.bind(Kc,"[info]:"),this.warn=Kc.warn.bind(Kc,"[warning]:"),this.error=Kc.error.bind(Kc,"[error]:"),this.registerListeners()}registerListeners(){const e=this.hls;e.on(Vc.ERROR,this.onError,this),e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const e=this.hls;e&&(e.off(Vc.ERROR,this.onError,this),e.off(Vc.ERROR,this.onErrorOut,this),e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===Kp?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,s;if(t.fatal)return;const r=this.hls,a=t.context;switch(t.details){case zc.FRAG_LOAD_ERROR:case zc.FRAG_LOAD_TIMEOUT:case zc.KEY_LOAD_ERROR:case zc.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case zc.FRAG_PARSING_ERROR:if(null!=(i=t.frag)&&i.gap)return void(t.errorAction={action:Gm,flags:$m});case zc.FRAG_GAP:case zc.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=Vm);case zc.LEVEL_EMPTY_ERROR:case zc.LEVEL_PARSING_ERROR:{var o,n;const e=t.parent===Kp?t.level:r.loadLevel;t.details===zc.LEVEL_EMPTY_ERROR&&null!=(o=t.context)&&null!=(n=o.levelDetails)&&n.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case zc.LEVEL_LOAD_ERROR:case zc.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==a?void 0:a.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level)));case zc.AUDIO_TRACK_LOAD_ERROR:case zc.AUDIO_TRACK_LOAD_TIMEOUT:case zc.SUBTITLE_LOAD_ERROR:case zc.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){const e=r.levels[r.loadLevel];if(e&&(a.type===Jp&&e.hasAudioGroup(a.groupId)||a.type===qp&&e.hasSubtitleGroup(a.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.loadLevel),t.errorAction.action=Vm,void(t.errorAction.flags=Hm)}return;case zc.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const e=r.levels[r.loadLevel],i=null==e?void 0:e.attrs["HDCP-LEVEL"];i?t.errorAction={action:Vm,flags:Jm,hdcpLevel:i}:this.keySystemError(t)}return;case zc.BUFFER_ADD_CODEC_ERROR:case zc.REMUX_ALLOC_ERROR:case zc.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,null!=(s=t.level)?s:r.loadLevel));case zc.INTERNAL_EXCEPTION:case zc.BUFFER_APPENDING_ERROR:case zc.BUFFER_FULL_ERROR:case zc.LEVEL_SWITCH_ERROR:case zc.BUFFER_STALLED_ERROR:case zc.BUFFER_SEEK_OVER_HOLE:case zc.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:Gm,flags:$m})}t.type===Wc.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){const t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){const i=Im(this.hls.config.playlistLoadPolicy,e),s=this.playlistError++;if(Fm(i,s,Pm(e),e.response))return{action:zm,flags:$m,retryConfig:i,retryCount:s};const r=this.getLevelSwitchAction(e,t);return i&&(r.retryConfig=i,r.retryCount=s),r}getFragRetryOrSwitchAction(e){const t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:r,keyLoadPolicy:a}=t.config,o=Im(e.details.startsWith("key")?a:r,e),n=t.levels.reduce(((e,t)=>e+t.fragmentError),0);if(s){e.details!==zc.FRAG_GAP&&s.fragmentError++;if(Fm(o,n,Pm(e),e.response))return{action:zm,flags:$m,retryConfig:o,retryCount:n}}const l=this.getLevelSwitchAction(e,i);return o&&(l.retryConfig=o,l.retryCount=n),l}getLevelSwitchAction(e,t){const i=this.hls;null==t&&(t=i.loadLevel);const s=this.hls.levels[t];if(s){var r,a;const t=e.details;s.loadError++,t===zc.BUFFER_APPEND_ERROR&&s.fragmentError++;let l=-1;const{levels:d,loadLevel:h,minAutoLevel:c,maxAutoLevel:u}=i;i.autoLevelEnabled||(i.loadLevel=-1);const p=null==(r=e.frag)?void 0:r.type,m=(p===Yp&&t===zc.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(t===zc.BUFFER_ADD_CODEC_ERROR||t===zc.BUFFER_APPEND_ERROR))&&d.some((({audioCodec:e})=>s.audioCodec!==e)),f="video"===e.sourceBufferName&&(t===zc.BUFFER_ADD_CODEC_ERROR||t===zc.BUFFER_APPEND_ERROR)&&d.some((({codecSet:e,audioCodec:t})=>s.codecSet!==e&&s.audioCodec===t)),{type:g,groupId:y}=null!=(a=e.context)?a:{};for(let i=d.length;i--;){const r=(i+h)%d.length;if(r!==h&&r>=c&&r<=u&&0===d[r].loadError){var o,n;const i=d[r];if(t===zc.FRAG_GAP&&p===Kp&&e.frag){const t=d[r].details;if(t){const i=Om(e.frag,t.fragments,e.frag.start);if(null!=i&&i.gap)continue}}else{if(g===Jp&&i.hasAudioGroup(y)||g===qp&&i.hasSubtitleGroup(y))continue;if(p===Yp&&null!=(o=s.audioGroups)&&o.some((e=>i.hasAudioGroup(e)))||p===Qp&&null!=(n=s.subtitleGroups)&&n.some((e=>i.hasSubtitleGroup(e)))||m&&s.audioCodec===i.audioCodec||!m&&s.audioCodec!==i.audioCodec||f&&s.codecSet===i.codecSet)continue}l=r;break}}if(l>-1&&i.loadLevel!==l)return e.levelRetry=!0,this.playlistError=0,{action:Vm,flags:$m,nextAutoLevel:l}}return{action:Vm,flags:Hm}}onErrorOut(e,t){var i;switch(null==(i=t.errorAction)?void 0:i.action){case Gm:break;case Vm:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===zc.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()}sendAlternateToPenaltyBox(e){const t=this.hls,i=e.errorAction;if(!i)return;const{flags:s,hdcpLevel:r,nextAutoLevel:a}=i;switch(s){case $m:this.switchLevel(e,a);break;case Jm:r&&(t.maxHdcpLevel=fm[fm.indexOf(r)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`)}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){void 0!==t&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){const i=this.hls.config;if(i.capLevelOnFPSDrop){const e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,i){const s=performance.now();if(t){if(this.lastTime){const e=s-this.lastTime,r=i-this.lastDroppedFrames,a=t-this.lastDecodedFrames,o=1e3*r/e,n=this.hls;if(n.trigger(Vc.FPS_DROP,{currentDropped:r,currentDecoded:a,totalDroppedFrames:i}),o>0&&r>n.config.fpsDroppedMonitoringThreshold*a){let e=n.currentLevel;Kc.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===n.autoLevelCapping||n.autoLevelCapping>=e)&&(e-=1,n.trigger(Vc.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:n.currentLevel}),n.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){const e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){const t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Su,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:jA,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends $f{constructor(e,t,i){super(e,t,i,"[subtitle-stream-controller]",Qp),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){const{hls:e}=this;e.on(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Vc.ERROR,this.onError,this),e.on(Vc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Vc.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Vc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Vc.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Vc.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:e}=this;e.off(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Vc.ERROR,this.onError,this),e.off(Vc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Vc.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Vc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Vc.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Vc.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=Bf,this.setInterval(500),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){const{frag:i,success:s}=t;if(this.fragPrevious=i,this.state=Bf,!s)return;const r=this.tracksBuffered[this.currentTrackId];if(!r)return;let a;const o=i.start;for(let e=0;e=r[e].start&&o<=r[e].end){a=r[e];break}const n=i.start+i.duration;a?a.end=n:(a={start:o,end:n},r.push(a)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null)}onBufferFlushing(e,t){const{startOffset:i,endOffset:s}=t;if(0===i&&s!==Number.POSITIVE_INFINITY){const e=s-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach((t=>{for(let i=0;inew Sm(e))):(this.tracksBuffered=[],this.levels=t.map((e=>{const t=new Sm(e);return this.tracksBuffered[t.id]=[],t})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,Qp),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,null==(i=this.levels)||!i.length||-1===this.currentTrackId)return void this.clearInterval();const s=this.levels[this.currentTrackId];null!=s&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(500)}onSubtitleTrackLoaded(e,t){var i;const{currentTrackId:s,levels:r}=this,{details:a,id:o}=t;if(!r)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);const n=r[o];if(o>=r.length||!n)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let l=0;if(a.live||null!=(i=n.details)&&i.live){const e=this.mainDetails;if(a.deltaUpdateFailed||!e)return;const t=e.fragments[0];var d;if(n.details)l=this.alignPlaylists(a,n.details,null==(d=this.levelLastLoaded)?void 0:d.details),0===l&&t&&(l=t.start,Cm(a,l));else a.hasProgramDateTime&&e.hasProgramDateTime?(Sf(a,e),l=a.fragments[0].start):t&&(l=t.start,Cm(a,l))}if(n.details=a,this.levelLastLoaded=n,o===s&&(this.startFragRequested||!this.mainDetails&&a.live||this.setStartPosition(this.mainDetails||a,l),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===Bf)){Om(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),n.details=void 0)}}_handleFragmentLoadComplete(e){const{frag:t,payload:i}=e,s=t.decryptdata,r=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&null!=s&&s.key&&s.iv&&"AES-128"===s.method){const e=performance.now();this.decrypter.decrypt(new Uint8Array(i),s.key.buffer,s.iv.buffer).catch((e=>{throw r.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e})).then((i=>{const s=performance.now();r.trigger(Vc.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:e,tdecrypt:s}})})).catch((e=>{this.warn(`${e.name}: ${e.message}`),this.state=Bf}))}}doTick(){if(this.media){if(this.state===Bf){const{currentTrackId:e,levels:t}=this,i=null==t?void 0:t[e];if(!i||!t.length||!i.details)return;const{config:s}=this,r=this.getLoadPosition(),a=gf.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,s.maxBufferHole),{end:o,len:n}=a,l=this.getFwdBufferInfo(this.media,Kp),d=i.details;if(n>this.getMaxBufferLength(null==l?void 0:l.len)+d.levelTargetDuration)return;const h=d.fragments,c=h.length,u=d.edge;let p=null;const m=this.fragPrevious;if(ou-e?0:e;p=Om(m,h,Math.max(h[0].start,o),t),!p&&m&&m.startthis.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null;const t=am(this.media.textTracks);for(let i=0;i-1&&this.toggleTrackModes()}registerListeners(){const{hls:e}=this;e.on(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Vc.LEVEL_LOADING,this.onLevelLoading,this),e.on(Vc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Vc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Vc.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Vc.LEVEL_LOADING,this.onLevelLoading,this),e.off(Vc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Vc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Vc.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId);am(this.media.textTracks).forEach((e=>{sm(e)})),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){const{id:i,groupId:s,details:r}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s)return void this.warn(`Subtitle track with id:${i} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);const o=a.details;a.details=t.details,this.log(`Subtitle track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const i=t.subtitleGroups||null,s=this.groupIds;let r=this.currentTrack;if(!i||(null==s?void 0:s.length)!==(null==i?void 0:i.length)||null!=i&&i.some((e=>-1===(null==s?void 0:s.indexOf(e))))){this.groupIds=i,this.trackId=-1,this.currentTrack=null;const e=this.tracks.filter((e=>!i||-1!==i.indexOf(e.groupId)));if(e.length)this.selectDefaultTrack&&!e.some((e=>e.default))&&(this.selectDefaultTrack=!1),e.forEach(((e,t)=>{e.id=t}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=e;const t=this.hls.config.subtitlePreference;if(!r&&t){this.selectDefaultTrack=!1;const i=rf(t,e);if(i>-1)r=e[i];else{const e=rf(t,this.tracks);r=this.tracks[e]}}let s=this.findTrackId(r);-1===s&&r&&(s=this.findTrackId(null));const a={subtitleTracks:e};this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==i?void 0:i.join(",")}" group-id`),this.hls.trigger(Vc.SUBTITLE_TRACKS_UPDATED,a),-1!==s&&-1===this.trackId&&this.setSubtitleTrack(s)}else this.shouldReloadPlaylist(r)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){const t=this.tracksInGroup,i=this.selectDefaultTrack;for(let s=0;s-1){const e=this.tracksInGroup[s];return this.setSubtitleTrack(s),e}if(i)return null;{const i=rf(e,t);if(i>-1)return t[i]}}}return null}loadPlaylist(e){super.loadPlaylist();const t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){const i=t.id,s=t.groupId;let r=t.url;if(e)try{r=e.addDirectives(r)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}this.log(`Loading subtitle playlist for id ${i}`),this.hls.trigger(Vc.SUBTITLE_TRACK_LOADING,{url:r,id:i,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){const{media:e}=this;if(!e)return;const t=am(e.textTracks),i=this.currentTrack;let s;if(i&&(s=t.filter((e=>ey(i,e)))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${i.name}" and language "${i.lang}"`)),[].slice.call(t).forEach((e=>{"disabled"!==e.mode&&e!==s&&(e.mode="disabled")})),s){const e=this.subtitleDisplay?"showing":"hidden";s.mode!==e&&(s.mode=e)}}setSubtitleTrack(e){const t=this.tracksInGroup;if(!this.media)return void(this.queuedDefaultTrack=e);if(e<-1||e>=t.length||!Nc(e))return void this.warn(`Invalid subtitle track id: ${e}`);this.clearTimer(),this.selectDefaultTrack=!1;const i=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s)return void this.hls.trigger(Vc.SUBTITLE_TRACK_SWITCH,{id:e});const r=!!s.details&&!s.details.live;if(e===this.trackId&&s===i&&r)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));const{id:a,groupId:o="",name:n,type:l,url:d}=s;this.hls.trigger(Vc.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:n,type:l,url:d});const h=this.switchParams(s.url,null==i?void 0:i.details,s.details);this.loadPlaylist(h)}},timelineController:class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Vc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Vc.FRAG_LOADING,this.onFragLoading,this),e.on(Vc.FRAG_LOADED,this.onFragLoaded,this),e.on(Vc.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(Vc.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(Vc.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Vc.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:e}=this;e.off(Vc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Vc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Vc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Vc.FRAG_LOADING,this.onFragLoading,this),e.off(Vc.FRAG_LOADED,this.onFragLoaded,this),e.off(Vc.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(Vc.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(Vc.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Vc.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(Vc.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){const e=new Ty(this,"textTrack1"),t=new Ty(this,"textTrack2"),i=new Ty(this,"textTrack3"),s=new Ty(this,"textTrack4");this.cea608Parser1=new _y(1,e,t),this.cea608Parser2=new _y(3,i,s)}}addCues(e,t,i,s,r){let a=!1;for(let e=r.length;e--;){const s=r[e],h=(o=s[0],n=s[1],l=t,d=i,Math.min(n,d)-Math.max(o,l));if(h>=0&&(s[0]=Math.min(s[0],t),s[1]=Math.max(s[1],i),a=!0,h/(i-t)>.5))return}var o,n,l,d;if(a||r.push([t,i]),this.config.renderTextTracksNatively){const r=this.captionsTracks[e];this.Cues.newCue(r,t,i,s)}else{const r=this.Cues.newCue(null,t,i,s);this.hls.trigger(Vc.CUES_PARSED,{type:"captions",cues:r,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:r}){const{unparsedVttFrags:a}=this;"main"===i&&(this.initPTS[t.cc]={baseTime:s,timescale:r}),a.length&&(this.unparsedVttFrags=[],a.forEach((e=>{this.onFragLoaded(Vc.FRAG_LOADED,e)})))}getExistingTrack(e,t){const{media:i}=this;if(i)for(let s=0;s{sm(e[t]),delete e[t]})),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:e}=this;if(!e)return;const t=e.textTracks;if(t)for(let e=0;ee.textCodec===jy));if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(Xg(this.tracks,i))return void(this.tracks=i);if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){const e=this.media,t=e?am(e.textTracks):null;if(this.tracks.forEach(((e,i)=>{let s;if(t){let i=null;for(let s=0;snull!==e)).map((e=>e.label));e.length&&Kc.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const e=this.tracks.map((e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e})));this.hls.trigger(Vc.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach((e=>{const t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;const i=`textTrack${t[1]}`,s=this.captionsProperties[i];s&&(s.label=e.name,e.lang&&(s.languageCode=e.lang),s.media=e)}))}closedCaptionsForLevel(e){const t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===Kp){var i,s;const{cea608Parser1:e,cea608Parser2:r,lastSn:a}=this,{cc:o,sn:n}=t.frag,l=null!=(i=null==(s=t.part)?void 0:s.index)?i:-1;e&&r&&(n!==a+1||n===a&&l!==this.lastPartIndex+1||o!==this.lastCc)&&(e.reset(),r.reset()),this.lastCc=o,this.lastSn=n,this.lastPartIndex=l}}onFragLoaded(e,t){const{frag:i,payload:s}=t;if(i.type===Qp)if(s.byteLength){const e=i.decryptdata,r="stats"in t;if(null==e||!e.encrypted||r){const e=this.tracks[i.level],r=this.vttCCs;r[i.cc]||(r[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),e&&e.textCodec===jy?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(Vc.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){const i=this.hls;zy(t,this.initPTS[e.cc],(t=>{this._appendCues(t,e.level),i.trigger(Vc.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})}),(t=>{Kc.log(`Failed to parse IMSC1: ${t}`),i.trigger(Vc.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})}))}_parseVTTs(e){var t;const{frag:i,payload:s}=e,{initPTS:r,unparsedVttFrags:a}=this,o=r.length-1;if(!r[i.cc]&&-1===o)return void a.push(e);const n=this.hls;Ny(null!=(t=i.initSegment)&&t.data?np(i.initSegment.data,new Uint8Array(s)):s,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,(e=>{this._appendCues(e,i.level),n.trigger(Vc.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})}),(t=>{const r="Missing initPTS for VTT MPEGTS"===t.message;r?a.push(e):this._fallbackToIMSC1(i,s),Kc.log(`Failed to parse VTT cue: ${t}`),r&&o>i.cc||n.trigger(Vc.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:t})}))}_fallbackToIMSC1(e,t){const i=this.tracks[e.level];i.textCodec||zy(t,this.initPTS[e.cc],(()=>{i.textCodec=jy,this._parseIMSC1(e,t)}),(()=>{i.textCodec="wvtt"}))}_appendCues(e,t){const i=this.hls;if(this.config.renderTextTracksNatively){const i=this.textTracks[t];if(!i||"disabled"===i.mode)return;e.forEach((e=>im(i,e)))}else{const s=this.tracks[t];if(!s)return;const r=s.default?"default":"subtitles"+t;i.trigger(Vc.CUES_PARSED,{type:"subtitles",cues:e,track:r})}}onFragDecrypted(e,t){const{frag:i}=t;i.type===Qp&&this.onFragLoaded(Vc.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();const{cea608Parser1:i,cea608Parser2:s}=this;if(!this.enabled||!i||!s)return;const{frag:r,samples:a}=t;if(r.type!==Kp||"NONE"!==this.closedCaptionsForLevel(r))for(let e=0;erm(e[s],t,i)))}if(this.config.renderTextTracksNatively&&0===t&&void 0!==s){const{textTracks:e}=this;Object.keys(e).forEach((i=>rm(e[i],t,s)))}}}extractCea608Data(e){const t=[[],[]],i=31&e[0];let s=2;for(let r=0;r0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=Bf):(this.loadedmetadata=!1,this.state=Of),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case Bf:this.doTickIdle();break;case Of:{var e;const{levels:t,trackId:i}=this,s=null==t||null==(e=t[i])?void 0:e.details;if(s){if(this.waitForCdnTuneIn(s))break;this.state=Wf}break}case Uf:{var t;const e=performance.now(),i=this.retryDate;if(!i||e>=i||null!=(t=this.media)&&t.seeking){const{levels:e,trackId:t}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==e?void 0:e[t])||null),this.state=Bf}break}case Wf:{const e=this.waitingData;if(e){const{frag:t,part:i,cache:s,complete:r}=e;if(void 0!==this.initPTS[t.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=Ff;const e={frag:t,part:i,payload:s.flush(),networkDetails:null};this._handleFragmentLoadProgress(e),r&&super._handleFragmentLoadComplete(e)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${t.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{const e=this.getLoadPosition(),i=gf.bufferInfo(this.mediaBuffer,e,this.config.maxBufferHole);Nm(i.end,this.config.maxFragLookUpTolerance,t)<0&&(this.log(`Waiting fragment cc (${t.cc}) @ ${t.start} cancelled because another fragment at ${i.end} is needed`),this.clearWaitingFragment())}}else this.state=Bf}}this.onTickEnd()}clearWaitingFragment(){const e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Bf)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){const{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){const{hls:e,levels:t,media:i,trackId:s}=this,r=e.config;if(!i&&(this.startFragRequested||!r.startFragPrefetch)||null==t||!t[s])return;const a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o))return void(this.state=Of);const n=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&n&&(this.bufferFlushed=!1,this.afterBufferFlushed(n,iu,Yp));const l=this.getFwdBufferInfo(n,Yp);if(null===l)return;const{bufferedTrack:d,switchingTrack:h}=this;if(!h&&this._streamEnded(l,o))return e.trigger(Vc.BUFFER_EOS,{type:"audio"}),void(this.state=Gf);const c=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,Kp),u=l.len,p=this.getMaxBufferLength(null==c?void 0:c.len),m=o.fragments,f=m[0].start;let g=this.flushing?this.getLoadPosition():l.end;if(h&&i){const e=this.getLoadPosition();d&&!Zg(h.attrs,d.attrs)&&(g=e),o.PTSKnown&&ef||l.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=f+.05)}if(u>=p&&!h&&gc.end+o.targetduration;if(b||(null==c||!c.len)&&l.len){const e=this.getAppendedFrag(y.start,Kp);if(null===e)return;if(A||(A=!!e.gap||!!b&&0===c.len),b&&!A||A&&l.nextStart&&l.nextStartnew Sm(e)))}onAudioTrackSwitching(e,t){const i=!!t.url;this.trackId=t.id;const{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),i?this.setInterval(100):this.resetTransmuxer(),i?(this.switchingTrack=t,this.state=Bf,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=If),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(Vc.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var i;if(null==this.mainDetails)return void(this.cachedTrackLoadedData=t);const{levels:s}=this,{details:r,id:a}=t;if(!s)return void this.warn(`Audio tracks were reset while loading level ${a}`);this.log(`Audio track ${a} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);const o=s[a];let n=0;if(r.live||null!=(i=o.details)&&i.live){this.checkLiveUpdate(r);const e=this.mainDetails;if(r.deltaUpdateFailed||!e)return;var l;if(!o.details&&r.hasProgramDateTime&&e.hasProgramDateTime)Sf(r,e),n=r.fragments[0].start;else n=this.alignPlaylists(r,o.details,null==(l=this.levelLastLoaded)?void 0:l.details)}o.details=r,this.levelLastLoaded=o,this.startFragRequested||!this.mainDetails&&r.live||this.setStartPosition(this.mainDetails||r,n),this.state!==Of||this.waitForCdnTuneIn(r)||(this.state=Bf),this.tick()}_handleFragmentLoadProgress(e){var t;const{frag:i,part:s,payload:r}=e,{config:a,trackId:o,levels:n}=this;if(!n)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);const l=n[o];if(!l)return void this.warn("Audio track is undefined on fragment load progress");const d=l.details;if(!d)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(i.start);const h=a.defaultAudioCodec||l.audioCodec||"mp4a.40.2";let c=this.transmuxer;c||(c=this.transmuxer=new Qg(this.hls,Yp,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const u=this.initPTS[i.cc],p=null==(t=i.initSegment)?void 0:t.data;if(void 0!==u){const e=!1,t=s?s.index:-1,a=-1!==t,o=new yf(i.level,i.sn,i.stats.chunkCount,r.byteLength,t,a);c.push(r,p,h,"",i,s,d.totalduration,e,o,u)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${d.startSN} ,${d.endSN}],track ${o}`);const{cache:e}=this.waitingData=this.waitingData||{frag:i,part:s,cache:new Hf,complete:!1};e.push(new Uint8Array(r)),this.waitingVideoCC=this.videoTrackCC,this.state=Wf}}_handleFragmentLoadComplete(e){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){const i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){const{frag:i,part:s}=t;if(i.type===Yp)if(this.fragContextChanged(i))this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);else{if("initSegment"!==i.sn){this.fragPrevious=i;const e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(Vc.AUDIO_TRACK_SWITCHED,Mc({},e)))}this.fragBufferedComplete(i,s)}else if(!this.loadedmetadata&&i.type===Kp){const e=this.videoBuffer||this.media;if(e){gf.getBuffered(e).length&&(this.loadedmetadata=!0)}}}onError(e,t){var i;if(t.fatal)this.state=Vf;else switch(t.details){case zc.FRAG_GAP:case zc.FRAG_PARSING_ERROR:case zc.FRAG_DECRYPT_ERROR:case zc.FRAG_LOAD_ERROR:case zc.FRAG_LOAD_TIMEOUT:case zc.KEY_LOAD_ERROR:case zc.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Yp,t);break;case zc.AUDIO_TRACK_LOAD_ERROR:case zc.AUDIO_TRACK_LOAD_TIMEOUT:case zc.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==Of||(null==(i=t.context)?void 0:i.type)!==Jp||(this.state=Bf);break;case zc.BUFFER_APPEND_ERROR:case zc.BUFFER_FULL_ERROR:if(!t.parent||"audio"!==t.parent)return;if(t.details===zc.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case zc.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==su&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==su){this.flushing=!1,this.bufferFlushed=!0,this.state===Gf&&(this.state=Bf);const e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,Yp),this.tick())}}_handleTransmuxComplete(e){var t;const i="audio",{hls:s}=this,{remuxResult:r,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o)return void this.resetWhenMissingContext(a);const{frag:n,part:l,level:d}=o,{details:h}=d,{audio:c,text:u,id3:p,initSegment:m}=r;if(!this.fragContextChanged(n)&&h){if(this.state=Nf,this.switchingTrack&&c&&this.completeAudioSwitch(this.switchingTrack),null!=m&&m.tracks){const e=n.initSegment||n;this._bufferInitSegment(d,m.tracks,e,a),s.trigger(Vc.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:m.tracks})}if(c){const{startPTS:e,endPTS:t,startDTS:i,endDTS:s}=c;l&&(l.elementaryStreams[iu]={startPTS:e,endPTS:t,startDTS:i,endDTS:s}),n.setElementaryStreamInfo(iu,e,t,i,s),this.bufferFragmentData(c,n,l,a)}if(null!=p&&null!=(t=p.samples)&&t.length){const e=Oc({id:i,frag:n,details:h},p);s.trigger(Vc.FRAG_PARSING_METADATA,e)}if(u){const e=Oc({id:i,frag:n,details:h},u);s.trigger(Vc.FRAG_PARSING_USERDATA,e)}}else this.fragmentTracker.removeFragment(n)}_bufferInitSegment(e,t,i,s){if(this.state!==Nf)return;t.video&&delete t.video;const r=t.audio;if(!r)return;r.id="audio";const a=e.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${a}/${r.codec}]`),a&&1===a.split(",").length&&(r.levelCodec=a),this.hls.trigger(Vc.BUFFER_CODECS,t);const o=r.initSegment;if(null!=o&&o.byteLength){const e={type:"audio",frag:i,part:null,chunkMeta:s,parent:i.type,data:o};this.hls.trigger(Vc.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,i){const s=this.fragmentTracker.getState(e);var r;if(this.fragCurrent=e,this.switchingTrack||s===lf||s===hf)if("initSegment"===e.sn)this._loadInitSegment(e,t);else if(null!=(r=t.details)&&r.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=Wf;const i=this.mainDetails;i&&i.fragments[0].start!==t.details.fragments[0].start&&Sf(t.details,i)}else this.startFragRequested=!0,super.loadFragment(e,t,i);else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){const{media:t,bufferedTrack:i}=this,s=null==i?void 0:i.attrs,r=e.attrs;t&&s&&(s.CHANNELS!==r.CHANNELS||i.name!==e.name||i.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){const{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(Vc.AUDIO_TRACK_SWITCHED,Mc({},e))}},audioTrackController:class extends qm{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:e}=this;e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Vc.LEVEL_LOADING,this.onLevelLoading,this),e.on(Vc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Vc.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Vc.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Vc.LEVEL_LOADING,this.onLevelLoading,this),e.off(Vc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Vc.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Vc.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){const{id:i,groupId:s,details:r}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s)return void this.warn(`Audio track with id:${i} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);const o=a.details;a.details=t.details,this.log(`Audio track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const i=t.audioGroups||null,s=this.groupIds;let r=this.currentTrack;if(!i||(null==s?void 0:s.length)!==(null==i?void 0:i.length)||null!=i&&i.some((e=>-1===(null==s?void 0:s.indexOf(e))))){this.groupIds=i,this.trackId=-1,this.currentTrack=null;const e=this.tracks.filter((e=>!i||-1!==i.indexOf(e.groupId)));if(e.length)this.selectDefaultTrack&&!e.some((e=>e.default))&&(this.selectDefaultTrack=!1),e.forEach(((e,t)=>{e.id=t}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=e;const t=this.hls.config.audioPreference;if(!r&&t){const i=rf(t,e,of);if(i>-1)r=e[i];else{const e=rf(t,this.tracks);r=this.tracks[e]}}let s=this.findTrackId(r);-1===s&&r&&(s=this.findTrackId(null));const o={audioTracks:e};this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==i?void 0:i.join(",")}`),this.hls.trigger(Vc.AUDIO_TRACKS_UPDATED,o);const n=this.trackId;if(-1!==s&&-1===n)this.setAudioTrack(s);else if(e.length&&-1===n){var a;const t=new Error(`No audio track selected for current audio group-ID(s): ${null==(a=this.groupIds)?void 0:a.join(",")} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}else this.shouldReloadPlaylist(r)&&this.setAudioTrack(this.trackId)}onError(e,t){!t.fatal&&t.context&&(t.context.type!==Jp||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||(this.requestScheduled=-1,this.checkRetry(t)))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){const t=this.hls;if(t.config.audioPreference=e,e){const i=this.allAudioTracks;if(this.selectDefaultTrack=!1,i.length){const s=this.currentTrack;if(s&&af(e,s,of))return s;const r=rf(e,this.tracksInGroup,of);if(r>-1){const e=this.tracksInGroup[r];return this.setAudioTrack(r),e}if(s){let s=t.loadLevel;-1===s&&(s=t.firstAutoLevel);const r=function(e,t,i,s,r){const a=t[s],o=t.reduce(((e,t,i)=>{const s=t.uri;return(e[s]||(e[s]=[])).push(i),e}),{})[a.uri];o.length>1&&(s=Math.max.apply(Math,o));const n=a.videoRange,l=a.frameRate,d=a.codecSet.substring(0,4),h=nf(t,s,(t=>{if(t.videoRange!==n||t.frameRate!==l||t.codecSet.substring(0,4)!==d)return!1;const s=t.audioGroups,a=i.filter((e=>!s||-1!==s.indexOf(e.groupId)));return rf(e,a,r)>-1}));return h>-1?h:nf(t,s,(t=>{const s=t.audioGroups,a=i.filter((e=>!s||-1!==s.indexOf(e.groupId)));return rf(e,a,r)>-1}))}(e,t.levels,i,s,of);if(-1===r)return null;t.nextLoadLevel=r}if(e.channels||e.audioCodec){const t=rf(e,i);if(t>-1)return i[t]}}}return null}setAudioTrack(e){const t=this.tracksInGroup;if(e<0||e>=t.length)return void this.warn(`Invalid audio track id: ${e}`);this.clearTimer(),this.selectDefaultTrack=!1;const i=this.currentTrack,s=t[e],r=s.details&&!s.details.live;if(e===this.trackId&&s===i&&r)return;if(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(Vc.AUDIO_TRACK_SWITCHING,Mc({},s)),r)return;const a=this.switchParams(s.url,null==i?void 0:i.details,s.details);this.loadPlaylist(a)}findTrackId(e){const t=this.tracksInGroup;for(let i=0;i{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:sA.MANIFEST,su:!this.initialized})}catch(e){Kc.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{const t=e.frag,i=this.hls.levels[t.level],s=this.getObjectType(t),r={d:1e3*t.duration,ot:s};s!==sA.VIDEO&&s!==sA.AUDIO&&s!=sA.MUXED||(r.br=i.bitrate/1e3,r.tb=this.getTopBandwidth(s)/1e3,r.bl=this.getBufferLength(s)),this.apply(e,r)}catch(e){Kc.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||function(){try{return crypto.randomUUID()}catch(e){try{const e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){let t=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const i=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?i:3&i|8).toString(16)}))}}}(),this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){const e=this.hls;e.on(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Vc.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Vc.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const e=this.hls;e.off(Vc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Vc.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Vc.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var i,s;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(s=t.tracks.video)?void 0:s.buffer}createData(){var e;return{v:1,sf:rA.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Oc(t,this.createData());const i=t.ot===sA.INIT||t.ot===sA.VIDEO||t.ot===sA.MUXED;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);const{includeKeys:s}=this;s&&(t=Object.keys(t).reduce(((e,i)=>(s.includes(i)&&(e[i]=t[i]),e)),{})),this.useHeaders?(e.headers||(e.headers={}),CA(e.headers,t)):e.url=xA(e.url,t)}getObjectType(e){const{type:t}=e;return"subtitle"===t?sA.TIMED_TEXT:"initSegment"===e.sn?sA.INIT:"audio"===t?sA.AUDIO:"main"===t?this.hls.audioTracks.length?sA.VIDEO:sA.MUXED:void 0}getTopBandwidth(e){let t,i=0;const s=this.hls;if(e===sA.AUDIO)t=s.audioTracks;else{const e=s.maxAutoLevel,i=e>-1?e+1:s.levels.length;t=s.levels.slice(0,i)}for(const e of t)e.bitrate>i&&(i=e.bitrate);return i>0?i:NaN}getBufferLength(e){const t=this.hls.media,i=e===sA.AUDIO?this.audioBuffer:this.videoBuffer;if(!i||!t)return NaN;return 1e3*gf.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len}createPlaylistLoader(){const{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,s){t(e),this.loader.load(e,i,s)}}}createFragmentLoader(){const{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,s){t(e),this.loader.load(e,i,s)}}}},contentSteeringController:class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=Kc.log.bind(Kc,"[content-steering]:"),this.registerListeners()}registerListeners(){const e=this.hls;e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Vc.ERROR,this.onError,this)}unregisterListeners(){const e=this.hls;e&&(e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Vc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Vc.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){const t=this.levels;t&&(this.levels=t.filter((t=>t!==e)))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){const{contentSteering:i}=t;null!==i&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){const{errorAction:i}=t;if((null==i?void 0:i.action)===Vm&&i.flags===Hm){const e=this.levels;let s=this.pathwayPriority,r=this.pathwayId;if(t.context){const{groupId:i,pathwayId:s,type:a}=t.context;i&&e?r=this.getPathwayForGroupId(i,a,r):s&&(r=s)}r in this.penalizedPathways||(this.penalizedPathways[r]=performance.now()),!s&&e&&(s=e.reduce(((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e)),[])),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==r),i.resolved||Kc.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${r} levels: ${e?e.length:e} priorities: ${JSON.stringify(s)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){const i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter((t=>e===t.pathwayId))}updatePathwayPriority(e){let t;this.pathwayPriority=e;const i=this.penalizedPathways,s=performance.now();Object.keys(i).forEach((e=>{s-i[e]>3e5&&delete i[e]}));for(let s=0;s0){this.log(`Setting Pathway to "${r}"`),this.pathwayId=r,Rm(t),this.hls.trigger(Vc.LEVELS_UPDATED,{levels:t});const e=this.hls.levels[a];o&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==o.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=a);break}}}getPathwayForGroupId(e,t,i){const s=this.getLevelsForPathway(i).concat(this.levels||[]);for(let i=0;i{const{ID:r,"BASE-ID":a,"URI-REPLACEMENT":o}=e;if(t.some((e=>e.pathwayId===r)))return;const n=this.getLevelsForPathway(a).map((e=>{const t=new Xc(e.attrs);t["PATHWAY-ID"]=r;const a=t.AUDIO&&`${t.AUDIO}_clone_${r}`,n=t.SUBTITLES&&`${t.SUBTITLES}_clone_${r}`;a&&(i[t.AUDIO]=a,t.AUDIO=a),n&&(s[t.SUBTITLES]=n,t.SUBTITLES=n);const l=PA(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",o),d=new Sm({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:l,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t{this.log(`Loaded steering manifest: "${s}"`);const a=e.data;if(1!==a.VERSION)return void this.log(`Steering VERSION ${a.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=a.TTL;const{"RELOAD-URI":o,"PATHWAY-CLONES":n,"PATHWAY-PRIORITY":l}=a;if(o)try{this.uri=new self.URL(o,s).href}catch(e){return this.enabled=!1,void this.log(`Failed to parse Steering Manifest RELOAD-URI: ${o}`)}this.scheduleRefresh(this.uri||i.url),n&&this.clonePathways(n);const d={steeringManifest:a,url:s.toString()};this.hls.trigger(Vc.STEERING_MANIFEST_LOADED,d),l&&this.updatePathwayPriority(l)},onError:(e,t,i,s)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),410===e.code)return this.enabled=!1,void this.log(`Steering manifest ${t.url} no longer available`);let r=1e3*this.timeToLoad;if(429!==e.code)this.scheduleRefresh(this.uri||t.url,r);else{const e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){const t=e.getResponseHeader("Retry-After");t&&(r=1e3*parseFloat(t))}this.log(`Steering manifest ${t.url} rate limited`)}},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(r,n,l)}scheduleRefresh(e,t=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout((()=>{var t;const i=null==(t=this.hls)?void 0:t.media;!i||i.ended?this.scheduleRefresh(e,1e3*this.timeToLoad):this.loadSteeringManifest(e)}),t)}}});function VA(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(VA):Object.keys(e).reduce(((t,i)=>(t[i]=VA(e[i]),t)),{}):e}function WA(e){const t=e.loader;if(t!==FA&&t!==BA)Kc.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1;else{(function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1})()&&(e.loader=FA,e.progressive=!0,e.enableSoftwareAES=!0,Kc.log("[config]: Progressive streaming enabled, using FetchLoader"))}}let zA;class $A extends qm{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Vc.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Vc.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Vc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Vc.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Vc.ERROR,this.onError,this)}_unregisterListeners(){const{hls:e}=this;e.off(Vc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Vc.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Vc.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Vc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Vc.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Vc.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((e=>{e.loadError=0,e.fragmentError=0})),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){const i=this.hls.config.preferManagedMediaSource,s=[],r={},a={};let o=!1,n=!1,l=!1;t.levels.forEach((e=>{var t,d;const h=e.attrs;let{audioCodec:c,videoCodec:u}=e;-1!==(null==(t=c)?void 0:t.indexOf("mp4a.40.34"))&&(zA||(zA=/chrome|firefox/i.test(navigator.userAgent)),zA&&(e.audioCodec=c=void 0)),c&&(e.audioCodec=c=xp(c,i)),0===(null==(d=u)?void 0:d.indexOf("avc1"))&&(u=e.videoCodec=function(e){const t=e.split(",");for(let e=0;e2){let s=i.shift()+".";s+=parseInt(i.shift()).toString(16),s+=("000"+parseInt(i.shift()).toString(16)).slice(-4),t[e]=s}}return t.join(",")}(u));const{width:p,height:m,unknownCodecs:f}=e;if(o||(o=!(!p||!m)),n||(n=!!u),l||(l=!!c),null!=f&&f.length||c&&!Ep(c,"audio",i)||u&&!Ep(u,"video",i))return;const{CODECS:g,"FRAME-RATE":y,"HDCP-LEVEL":A,"PATHWAY-ID":b,RESOLUTION:v,"VIDEO-RANGE":_}=h,S=`${`${b||"."}-`}${e.bitrate}-${v}-${y}-${g}-${_}-${A}`;if(r[S])if(r[S].uri===e.url||e.attrs["PATHWAY-ID"])r[S].addGroupId("audio",h.AUDIO),r[S].addGroupId("text",h.SUBTITLES);else{const t=a[S]+=1;e.attrs["PATHWAY-ID"]=new Array(t+1).join(".");const i=new Sm(e);r[S]=i,s.push(i)}else{const t=new Sm(e);r[S]=t,a[S]=1,s.push(t)}})),this.filterAndSortMediaOptions(s,t,o,n,l)}filterAndSortMediaOptions(e,t,i,s,r){let a=[],o=[],n=e;if((i||s)&&r&&(n=n.filter((({videoCodec:e,videoRange:t,width:i,height:s})=>{return(!!e||!(!i||!s))&&(!!(r=t)&&gm.indexOf(r)>-1);var r}))),0===n.length)return void Promise.resolve().then((()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);const e=new Error("no level with compatible codecs found in manifest");this.hls.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:e,reason:e.message})}}));if(t.audioTracks){const{preferManagedMediaSource:e}=this.hls.config;a=t.audioTracks.filter((t=>!t.audioCodec||Ep(t.audioCodec,"audio",e))),HA(a)}t.subtitles&&(o=t.subtitles,HA(o));const l=n.slice(0);n.sort(((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return gm.indexOf(e.videoRange)-gm.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){const i=kp(e.videoCodec),s=kp(t.videoCodec);if(i!==s)return s-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){const i=Lp(e.codecSet),s=Lp(t.codecSet);if(i!==s)return s-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0}));let d=l[0];if(this.steering&&(n=this.steering.filterParsedLevels(n),n.length!==l.length))for(let e=0;ei&&i===GA.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}const c=r&&!s,u={levels:n,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:r,video:s,altAudio:!c&&a.some((e=>!!e.url))};this.hls.trigger(Vc.MANIFEST_PARSED,u),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return 0===this._levels.length?null:this._levels}get level(){return this.currentLevelIndex}set level(e){const t=this._levels;if(0===t.length)return;if(e<0||e>=t.length){const i=new Error("invalid level idx"),s=e<0;if(this.hls.trigger(Vc.ERROR,{type:Wc.OTHER_ERROR,details:zc.LEVEL_SWITCH_ERROR,level:e,fatal:s,error:i,reason:i.message}),s)return;e=Math.min(e,t.length-1)}const i=this.currentLevelIndex,s=this.currentLevel,r=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,i===e&&a.details&&s&&r===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${i}${r?" with Pathway "+r:""}`);const n={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(Vc.LEVEL_SWITCHING,n);const l=a.details;if(!l||l.live){const e=this.switchParams(a.uri,null==s?void 0:s.details,l);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){const e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){!t.fatal&&t.context&&t.context.type===Hp&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(void 0!==t&&t.type===Kp){const e=t.elementaryStreams;if(!Object.keys(e).some((t=>!!e[t])))return;const i=this._levels[t.level];null!=i&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var i;const{level:s,details:r}=t,a=this._levels[s];var o;if(!a)return this.warn(`Invalid level index ${s}`),void(null!=(o=t.deliveryDirectives)&&o.skip&&(r.deltaUpdateFailed=!0));s===this.currentLevelIndex?(0===a.fragmentError&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):null!=(i=t.deliveryDirectives)&&i.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();const t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let s=i.uri;if(e)try{s=e.addDirectives(s)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}const r=i.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${void 0!==(null==e?void 0:e.msn)?" at sn "+e.msn+" part "+e.part:""} with${r?" Pathway "+r:""} ${s}`),this.clearTimer(),this.hls.trigger(Vc.LEVEL_LOADING,{url:s,level:t,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;const i=this._levels.filter(((t,i)=>i!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach((e=>e.level=-1))),!1)));Rm(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(Vc.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){const{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(Vc.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function HA(e){const t={};e.forEach((e=>{const i=e.groupId||"";e.id=t[i]=t[i]||0,t[i]++}))}class JA{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(const i in this.keyUriToKeyInfo){const s=this.keyUriToKeyInfo[i].loader;if(s){var t;if(e&&e!==(null==(t=s.context)?void 0:t.frag.type))return;s.abort()}}}detach(){for(const e in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(const e in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=zc.KEY_LOAD_ERROR,i,s,r){return new Lf({type:Wc.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:r,error:i,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){const{sn:i,cc:s}=e;for(let e=0;e{r.setKeyFormat(e)}));break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then((t=>this.loadInternal(e,t))):this.loadInternal(e)}loadInternal(e,t){var i,s;t&&e.setKeyFormat(t);const r=e.decryptdata;if(!r){const i=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,zc.KEY_LOAD_ERROR,i))}const a=r.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,zc.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if(null!=(i=o)&&i.decryptdata.key)return r.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});var n;if(null!=(s=o)&&s.keyLoadPromise)switch(null==(n=o.mediaKeySessionContext)?void 0:n.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then((t=>(r.key=t.keyInfo.decryptdata.key,{frag:e,keyInfo:o})))}switch(o=this.keyUriToKeyInfo[a]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===r.keyFormat?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,zc.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(e,t){const i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){const t=this.emeController.loadKey(i);if(t)return(e.keyLoadPromise=t.then((t=>(e.mediaKeySessionContext=t,i)))).catch((t=>{throw e.keyLoadPromise=null,t}))}return Promise.resolve(i)}loadKeyHTTP(e,t){const i=this.config,s=new(0,i.loader)(i);return t.keyLoader=e.loader=s,e.keyLoadPromise=new Promise(((r,a)=>{const o={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},n=i.keyLoadPolicy.default,l={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(e,t,i,s)=>{const{frag:o,keyInfo:n,url:l}=i;if(!o.decryptdata||n!==this.keyUriToKeyInfo[l])return a(this.createKeyLoadError(o,zc.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),s));n.decryptdata.key=o.decryptdata.key=new Uint8Array(e.data),o.keyLoader=null,n.loader=null,r({frag:o,keyInfo:n})},onError:(e,i,s,r)=>{this.resetLoader(i),a(this.createKeyLoadError(t,zc.KEY_LOAD_ERROR,new Error(`HTTP Error ${e.code} loading key ${e.text}`),s,Mc({url:o.url,data:void 0},e)))},onTimeout:(e,i,s)=>{this.resetLoader(i),a(this.createKeyLoadError(t,zc.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),s))},onAbort:(e,i,s)=>{this.resetLoader(i),a(this.createKeyLoadError(t,zc.INTERNAL_ABORTED,new Error("key loading aborted"),s))}};s.load(o,l,d)}))}resetLoader(e){const{frag:t,keyInfo:i,url:s}=e,r=i.loader;t.keyLoader===r&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[s],r&&r.destroy()}}function qA(){return self.SourceBuffer||self.WebKitSourceBuffer}function KA(){if(!_p())return!1;const e=qA();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class YA{constructor(e,t,i,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=i,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){const{config:i,media:s,stalled:r}=this;if(null===s)return;const{currentTime:a,seeking:o}=s,n=this.seeking&&!o,l=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),null!==r){if(this.stallReported){const e=self.performance.now()-r;Kc.warn(`playback not stuck anymore @${a}, after ${Math.round(e)}ms`),this.stallReported=!1}this.stalled=null}return}if(l||n)return void(this.stalled=null);if(s.paused&&!o||s.ended||0===s.playbackRate||!gf.getBuffered(s).length)return void(this.nudgeRetry=0);const d=gf.bufferInfo(s,a,0),h=d.nextStart||0;if(o){const e=d.len>2,i=!h||t&&t.start<=a||h-a>2&&!this.fragmentTracker.getPartialFragment(a);if(e||i)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var c;if(!(d.len>0)&&!h)return;const e=Math.max(h,d.start||0)-a,t=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,i=(null==t||null==(c=t.details)?void 0:c.live)?2*t.details.targetduration:2,r=this.fragmentTracker.getPartialFragment(a);if(e>0&&(e<=i||r))return void(s.paused||this._trySkipBufferHole(r))}const u=self.performance.now();if(null===r)return void(this.stalled=u);const p=u-r;if(!o&&p>=250&&(this._reportStall(d),!this.media))return;const m=gf.bufferInfo(s,a,i.maxBufferHole);this._tryFixBufferStall(m,p)}_tryFixBufferStall(e,t){const{config:i,fragmentTracker:s,media:r}=this;if(null===r)return;const a=r.currentTime,o=s.getPartialFragment(a);if(o){if(this._trySkipBufferHole(o)||!this.media)return}(e.len>i.maxBufferHole||e.nextStart&&e.nextStart-a1e3*i.highBufferWatchdogPeriod&&(Kc.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){const{hls:t,media:i,stallReported:s}=this;if(!s&&i){this.stallReported=!0;const s=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${JSON.stringify(e)})`);Kc.warn(s.message),t.trigger(Vc.ERROR,{type:Wc.MEDIA_ERROR,details:zc.BUFFER_STALLED_ERROR,fatal:!1,error:s,buffer:e.len})}}_trySkipBufferHole(e){const{config:t,hls:i,media:s}=this;if(null===s)return 0;const r=s.currentTime,a=gf.bufferInfo(s,r,0),o=r0&&a.len<1&&s.readyState<3,d=o-r;if(d>0&&(n||l)){if(d>t.maxBufferHole){const{fragmentTracker:t}=this;let i=!1;if(0===r){const e=t.getAppendedFrag(0,Kp);e&&o1?(e=0,this.bitrateTest=!0):e=i.firstAutoLevel),i.nextLoadLevel=e,this.level=i.loadLevel,this.loadedmetadata=!1}t>0&&-1===e&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=Bf,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=If}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case zf:{const{levels:e,level:t}=this,i=null==e?void 0:e[t],s=null==i?void 0:i.details;if(s&&(!s.live||this.levelLastLoaded===i)){if(this.waitForCdnTuneIn(s))break;this.state=Bf;break}if(this.hls.nextLoadLevel!==this.level){this.state=Bf;break}break}case Uf:{var e;const t=self.performance.now(),i=this.retryDate;if(!i||t>=i||null!=(e=this.media)&&e.seeking){const{levels:e,level:t}=this,i=null==e?void 0:e[t];this.resetStartWhenNotLoaded(i||null),this.state=Bf}}}this.state===Bf&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){const{hls:e,levelLastLoaded:t,levels:i,media:s}=this;if(null===t||!s&&(this.startFragRequested||!e.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;const r=e.nextLoadLevel;if(null==i||!i[r])return;const a=i[r],o=this.getMainFwdBufferInfo();if(null===o)return;const n=this.getLevelDetails();if(n&&this._streamEnded(o,n)){const e={};return this.altAudio&&(e.type="video"),this.hls.trigger(Vc.BUFFER_EOS,e),void(this.state=Gf)}e.loadLevel!==r&&-1===e.manualLevel&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=e.nextLoadLevel=r;const l=a.details;if(!l||this.state===zf||l.live&&this.levelLastLoaded!==a)return this.level=r,void(this.state=zf);const d=o.len,h=this.getMaxBufferLength(a.maxBitrate);if(d>=h)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);const c=this.backtrackFragment?this.backtrackFragment.start:o.end;let u=this.getNextFragment(c,l);if(this.couldBacktrack&&!this.fragPrevious&&u&&"initSegment"!==u.sn&&this.fragmentTracker.getState(u)!==cf){var p;const e=(null!=(p=this.backtrackFragment)?p:u).sn-l.startSN,t=l.fragments[e-1];t&&u.cc===t.cc&&(u=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(u&&this.isLoopLoading(u,c)){if(!u.gap){const e=this.audioOnly&&!this.altAudio?iu:su,t=(e===su?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,Kp)}u=this.getNextFragmentLoopLoading(u,l,o,Kp,h)}u&&(!u.initSegment||u.initSegment.data||this.bitrateTest||(u=u.initSegment),this.loadFragment(u,a,c))}loadFragment(e,t,i){const s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===lf||s===hf?"initSegment"===e.sn?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,i)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,Kp)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:e,media:t}=this;if(null!=t&&t.readyState){let i;const s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);const r=this.getLevelDetails();if(null!=r&&r.live){const e=this.getMainFwdBufferInfo();if(!e||e.len<2*r.targetduration)return}if(!t.paused&&e){const t=e[this.hls.nextLoadLevel],s=this.fragLastKbps;i=s&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*s)+1:0}else i=0;const a=this.getBufferedFrag(t.currentTime+i);if(a){const e=this.followingBufferedFrag(a);if(e){this.abortCurrentFrag();const t=e.maxStartPTS?e.maxStartPTS:e.start,i=e.duration,s=Math.max(a.end,t+Math.min(Math.max(i-this.config.maxFragLookUpTolerance,i*(this.couldBacktrack?.5:.125)),i*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(s,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Mf:case Ff:case Uf:case Nf:case jf:this.state=Bf}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);const i=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new YA(this.config,i,this.fragmentTracker,this.hls)}onMediaDetaching(){const{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){const e=this.media,t=e?e.currentTime:null;Nc(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);const i=this.getMainFwdBufferInfo();null!==i&&0!==i.len?this.tick():this.warn(`Main forward buffer length on "seeked" event ${i?i.len:"empty"})`)}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(Vc.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let i=!1,s=!1;t.levels.forEach((e=>{const t=e.audioCodec;t&&(i=i||-1!==t.indexOf("mp4a.40.2"),s=s||-1!==t.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=i&&s&&!function(){var e;const t=qA();return"function"==typeof(null==t||null==(e=t.prototype)?void 0:e.changeType)}(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){const{levels:i}=this;if(!i||this.state!==Bf)return;const s=i[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=zf)}onLevelLoaded(e,t){var i;const{levels:s}=this,r=t.level,a=t.details,o=a.totalduration;if(!s)return void this.warn(`Levels were reset while loading level ${r}`);this.log(`Level ${r} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);const n=s[r],l=this.fragCurrent;!l||this.state!==Ff&&this.state!==Uf||l.level!==t.level&&l.loader&&this.abortCurrentFrag();let d=0;if(a.live||null!=(i=n.details)&&i.live){var h;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;d=this.alignPlaylists(a,n.details,null==(h=this.levelLastLoaded)?void 0:h.details)}if(n.details=a,this.levelLastLoaded=n,this.hls.trigger(Vc.LEVEL_UPDATED,{details:a,level:r}),this.state===zf){if(this.waitForCdnTuneIn(a))return;this.state=Bf}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,d),this.tick()}_handleFragmentLoadProgress(e){var t;const{frag:i,part:s,payload:r}=e,{levels:a}=this;if(!a)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);const o=a[i.level],n=o.details;if(!n)return this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),void this.fragmentTracker.removeFragment(i);const l=o.videoCodec,d=n.PTSKnown||!n.live,h=null==(t=i.initSegment)?void 0:t.data,c=this._getAudioCodec(o),u=this.transmuxer=this.transmuxer||new Qg(this.hls,Kp,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),p=s?s.index:-1,m=-1!==p,f=new yf(i.level,i.sn,i.stats.chunkCount,r.byteLength,p,m),g=this.initPTS[i.cc];u.push(r,h,c,l,i,s,n.totalduration,d,f,g)}onAudioTrackSwitching(e,t){const i=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();const e=this.hls;i&&(e.trigger(Vc.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),e.trigger(Vc.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){const i=t.id,s=!!this.hls.audioTracks[i].url;if(s){const e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=s,this.tick()}onBufferCreated(e,t){const i=t.tracks;let s,r,a=!1;for(const e in i){const t=i[e];if("main"===t.id){if(r=e,s=t,"video"===e){const t=i[e];t&&(this.videoBuffer=t.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){const{frag:i,part:s}=t;if(i&&i.type!==Kp)return;if(this.fragContextChanged(i))return this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),void(this.state===jf&&(this.state=Bf));const r=s?s.stats:i.stats;this.fragLastKbps=Math.round(8*r.total/(r.buffering.end-r.loading.first)),"initSegment"!==i.sn&&(this.fragPrevious=i),this.fragBufferedComplete(i,s)}onError(e,t){var i;if(t.fatal)this.state=Vf;else switch(t.details){case zc.FRAG_GAP:case zc.FRAG_PARSING_ERROR:case zc.FRAG_DECRYPT_ERROR:case zc.FRAG_LOAD_ERROR:case zc.FRAG_LOAD_TIMEOUT:case zc.KEY_LOAD_ERROR:case zc.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Kp,t);break;case zc.LEVEL_LOAD_ERROR:case zc.LEVEL_LOAD_TIMEOUT:case zc.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==zf||(null==(i=t.context)?void 0:i.type)!==Hp||(this.state=Bf);break;case zc.BUFFER_APPEND_ERROR:case zc.BUFFER_FULL_ERROR:if(!t.parent||"main"!==t.parent)return;if(t.details===zc.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case zc.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}checkBuffer(){const{media:e,gapController:t}=this;if(e&&t&&e.readyState){if(this.loadedmetadata||!gf.getBuffered(e).length){const e=this.state!==Bf?this.fragCurrent:null;t.poll(this.lastCurrentTime,e)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=Bf,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==iu||this.audioOnly&&!this.altAudio){const e=(t===su?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(e,t,Kp),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:e}=this;if(!e)return;const t=e.currentTime;let i=this.startPosition;if(i>=0&&t0&&(r{const{hls:s}=this;if(!i||this.fragContextChanged(e))return;t.fragmentError=0,this.state=Bf,this.startFragRequested=!1,this.bitrateTest=!1;const r=e.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),s.trigger(Vc.FRAG_LOADED,i),e.bitrateTest=!1}))}_handleTransmuxComplete(e){var t;const i="main",{hls:s}=this,{remuxResult:r,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o)return void this.resetWhenMissingContext(a);const{frag:n,part:l,level:d}=o,{video:h,text:c,id3:u,initSegment:p}=r,{details:m}=d,f=this.altAudio?void 0:r.audio;if(this.fragContextChanged(n))this.fragmentTracker.removeFragment(n);else{if(this.state=Nf,p){if(null!=p&&p.tracks){const e=n.initSegment||n;this._bufferInitSegment(d,p.tracks,e,a),s.trigger(Vc.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:p.tracks})}const e=p.initPTS,t=p.timescale;Nc(e)&&(this.initPTS[n.cc]={baseTime:e,timescale:t},s.trigger(Vc.INIT_PTS_FOUND,{frag:n,id:i,initPTS:e,timescale:t}))}if(h&&m&&"initSegment"!==n.sn){const e=m.fragments[n.sn-1-m.startSN],t=n.sn===m.startSN,i=!e||n.cc>e.cc;if(!1!==r.independent){const{startPTS:e,endPTS:s,startDTS:r,endDTS:o}=h;if(l)l.elementaryStreams[h.type]={startPTS:e,endPTS:s,startDTS:r,endDTS:o};else if(h.firstKeyFrame&&h.independent&&1===a.id&&!i&&(this.couldBacktrack=!0),h.dropped&&h.independent){const r=this.getMainFwdBufferInfo(),a=(r?r.end:this.getLoadPosition())+this.config.maxBufferHole,l=h.firstKeyFramePTS?h.firstKeyFramePTS:e;if(!t&&a2&&(n.gap=!0);n.setElementaryStreamInfo(h.type,e,s,r,o),this.backtrackFragment&&(this.backtrackFragment=n),this.bufferFragmentData(h,n,l,a,t||i)}else{if(!t&&!i)return void this.backtrack(n);n.gap=!0}}if(f){const{startPTS:e,endPTS:t,startDTS:i,endDTS:s}=f;l&&(l.elementaryStreams[iu]={startPTS:e,endPTS:t,startDTS:i,endDTS:s}),n.setElementaryStreamInfo(iu,e,t,i,s),this.bufferFragmentData(f,n,l,a)}if(m&&null!=u&&null!=(t=u.samples)&&t.length){const e={id:i,frag:n,details:m,samples:u.samples};s.trigger(Vc.FRAG_PARSING_METADATA,e)}if(m&&c){const e={id:i,frag:n,details:m,samples:c.samples};s.trigger(Vc.FRAG_PARSING_USERDATA,e)}}}_bufferInitSegment(e,t,i,s){if(this.state!==Nf)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;const{audio:r,video:a,audiovideo:o}=t;if(r){let t=e.audioCodec;const i=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){t&&(t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");const e=r.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===i.indexOf("firefox")&&(t="mp4a.40.5")}t&&-1!==t.indexOf("mp4a.40.5")&&-1!==i.indexOf("android")&&"audio/mpeg"!==r.container&&(t="mp4a.40.2",this.log(`Android: force audio codec to ${t}`)),e.audioCodec&&e.audioCodec!==t&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${t}"`),r.levelCodec=t,r.id="main",this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${t||""}/${e.audioCodec||""}/${r.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(Vc.BUFFER_CODECS,t),Object.keys(t).forEach((e=>{const r=t[e].initSegment;null!=r&&r.byteLength&&this.hls.trigger(Vc.BUFFER_APPENDING,{type:e,data:r,frag:i,part:null,chunkMeta:s,parent:i.type})})),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,Kp)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Bf}checkFragmentChanged(){const e=this.media;let t=null;if(e&&e.readyState>1&&!1===e.seeking){const i=e.currentTime;if(gf.isBuffered(e,i)?t=this.getAppendedFrag(i):gf.isBuffered(e,i+.1)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;const e=this.fragPlaying,i=t.level;e&&t.sn===e.sn&&e.level===i||(this.fragPlaying=t,this.hls.trigger(Vc.FRAG_CHANGED,{frag:t}),e&&e.level===i||this.hls.trigger(Vc.LEVEL_SWITCHED,{level:i}))}}}get nextLevel(){const e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){const e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){const e=this.media;if(e){const t=e.currentTime,i=this.currentFrag;if(i&&Nc(t)&&Nc(i.programDateTime)){const e=i.programDateTime+1e3*(t-i.start);return new Date(e)}}return null}get currentLevel(){const e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){const e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class XA{static get version(){return"1.5.13"}static isMSESupported(){return KA()}static isSupported(){return function(){if(!KA())return!1;const e=_p();return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((t=>e.isTypeSupported(wp(t,"video"))))||["mp4a.40.2","fLaC"].some((t=>e.isTypeSupported(wp(t,"audio")))))}()}static getMediaSource(){return _p()}static get Events(){return Vc}static get ErrorTypes(){return Wc}static get ErrorDetails(){return zc}static get DefaultConfig(){return XA.defaultConfig?XA.defaultConfig:GA}static set DefaultConfig(e){XA.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Yg,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,function(e,t){if("object"==typeof console&&!0===e||"object"==typeof e){qc(e,"debug","log","info","warn","error");try{Jc.log(`Debug logs enabled for "${t}" in hls.js version 1.5.13`)}catch(e){Jc=Hc}}else Jc=Hc}(e.debug||!1,"Hls instance");const t=this.config=function(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const i=VA(e),s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((e=>{const r=`${"level"===e?"playlist":e}LoadPolicy`,a=void 0===t[r],o=[];s.forEach((s=>{const n=`${e}Loading${s}`,l=t[n];if(void 0!==l&&a){o.push(n);const e=i[r].default;switch(t[r]={default:e},s){case"TimeOut":e.maxLoadTimeMs=l,e.maxTimeToFirstByteMs=l;break;case"MaxRetry":e.errorRetry.maxNumRetry=l,e.timeoutRetry.maxNumRetry=l;break;case"RetryDelay":e.errorRetry.retryDelayMs=l,e.timeoutRetry.retryDelayMs=l;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=l,e.timeoutRetry.maxRetryDelayMs=l}}})),o.length&&Kc.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${r}": ${JSON.stringify(t[r])}`)})),Mc(Mc({},i),t)}(XA.DefaultConfig,e);this.userConfig=e,t.progressive&&WA(t);const{abrController:i,bufferController:s,capLevelController:r,errorController:a,fpsController:o}=t,n=new a(this),l=this.abrController=new i(this),d=this.bufferController=new s(this),h=this.capLevelController=new r(this),c=new o(this),u=new em(this),p=new pm(this),m=t.contentSteeringController,f=m?new m(this):null,g=this.levelController=new $A(this,f),y=new uf(this),A=new JA(this.config),b=this.streamController=new QA(this,y,A);h.setStreamController(b),c.setStreamController(b);const v=[u,g,b];f&&v.splice(1,0,f),this.networkControllers=v;const _=[l,d,h,c,p,y];this.audioTrackController=this.createController(t.audioTrackController,v);const S=t.audioStreamController;S&&v.push(new S(this,y,A)),this.subtitleTrackController=this.createController(t.subtitleTrackController,v);const E=t.subtitleStreamController;E&&v.push(new E(this,y,A)),this.createController(t.timelineController,_),A.emeController=this.emeController=this.createController(t.emeController,_),this.cmcdController=this.createController(t.cmcdController,_),this.latencyController=this.createController(mm,_),this.coreComponents=_,v.push(n);const T=n.onErrorOut;"function"==typeof T&&this.on(Vc.ERROR,T,n)}createController(e,t){if(e){const i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(Kc.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;const i=e===Vc.ERROR;this.trigger(Vc.ERROR,{type:Wc.OTHER_ERROR,details:zc.INTERNAL_EXCEPTION,fatal:i,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){Kc.log("destroy"),this.trigger(Vc.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((e=>e.destroy())),this.networkControllers.length=0,this.coreComponents.forEach((e=>e.destroy())),this.coreComponents.length=0;const e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){Kc.log("attachMedia"),this._media=e,this.trigger(Vc.MEDIA_ATTACHING,{media:e})}detachMedia(){Kc.log("detachMedia"),this.trigger(Vc.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();const t=this.media,i=this.url,s=this.url=Ic.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,Kc.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(Vc.MANIFEST_LOADING,{url:e})}startLoad(e=-1){Kc.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach((t=>{t.startLoad(e)}))}stopLoad(){Kc.log("stopLoad"),this.started=!1,this.networkControllers.forEach((e=>{e.stopLoad()}))}resumeBuffering(){this.started&&this.networkControllers.forEach((e=>{"fragmentLoader"in e&&e.startLoad(-1)}))}pauseBuffering(){this.networkControllers.forEach((e=>{"fragmentLoader"in e&&e.stopLoad()}))}swapAudioCodec(){Kc.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){Kc.log("recoverMediaError");const e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){const e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){Kc.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){Kc.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){Kc.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){Kc.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){const e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){Kc.log(`set startLevel:${e}`),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){const t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(Kc.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){(function(e){return fm.indexOf(e)>-1})(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return-1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;const i=e.length;for(let s=0;s=t)return s;return 0}get maxAutoLevel(){const{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this;let s;if(s=-1===t&&null!=e&&e.length?e.length-1:t,i)for(let t=s;t--;){const s=e[t].attrs["HDCP-LEVEL"];if(s&&s<=i)return t}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return null==(t=this.audioTrackController)?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return null==(t=this.subtitleTrackController)||t.setSubtitleOption(e),null}get allAudioTracks(){const e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){const e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){const e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){const t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){const e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){const e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){const e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){const t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){const e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){const t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}}XA.defaultConfig=void 0;class ZA extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="HlsDecoder",e._opt,this.canVideoPlay=!1,this.$videoElement=null,this.canvasRenderInterval=null,this.bandwidthEstimateInterval=null,this.fpsInterval=null,this.hlsFps=0,this.hlsPrevFrams=0,this.isInitInfo=!1,this.eventsDestroy=[],this.supportVideoFrameCallbackHandle=null,this.player.isHlsCanVideoPlay()?(this.$videoElement=this.player.video.$videoElement,this.canVideoPlay=!0):XA.isSupported()?(this.$videoElement=this.player.video.$videoElement,this.hls=new XA({}),this._initHls(),this._bindEvents()):this.player.debugError(this.TAG_NAME,"init hls error ,not support "),this.player.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{if(this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null),this.hls&&(this.hls.destroy(),this.hls=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.isInitInfo=!1,this._stopCanvasRender(),this._stopBandwidthEstimateInterval(),this._stopFpsInterval(),this.player._opt.useCanvasRender&&this.$videoElement){this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"));try{this.$videoElement.load()}catch(e){}}this.$videoElement=null,this.hlsFps=0,this.player.debugLog(this.TAG_NAME,"destroy"),setTimeout((()=>{e()}),0)}))}checkHlsBufferedDelay(){const e=this.$videoElement;let t=0;const i=e.buffered,s=i.length?i.end(i.length-1):0;return t=s-e.currentTime,t<0&&(this.player.debugWarn(this.TAG_NAME,`checkHlsBufferedDelay ${t} < 0, and buffered is ${s} ,currentTime is ${e.currentTime} , try to seek ${e.currentTime} to ${s}`),e.currentTime=s,t=0),t}getFps(){return this.hlsFps}_startCanvasRender(){Io()?this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)):(this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.player.video.render({$video:this.$videoElement,ts:parseInt(1e3*this.$videoElement.currentTime,10)||0})}),40))}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math.max(t.mediaTime,this.$videoElement.currentTime),10)||0;this.player.video.render({$video:this.$videoElement,ts:i}),this.player.handleRender(),this.player.updateStats({dts:i}),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}_startBandwidthEstimateInterval(){this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{let e=0;this.hls.bandwidthEstimate&&(e=this.hls.bandwidthEstimate),this.player.emit(At.kBps,(e/1024/8/10).toFixed(2))}),1e3)}_stopBandwidthEstimateInterval(){this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}_startFpsInterval(){this._stopCanvasRender(),this.fpsInterval=setInterval((()=>{if(this.$videoElement)if(lo(this.$videoElement.getVideoPlaybackQuality)){const e=this.$videoElement.getVideoPlaybackQuality();this.hlsFps=e.totalVideoFrames-this.hlsPrevFrams,this.hlsPrevFrams=e.totalVideoFrames}else{const e=this.$videoElement.webkitDecodedFrameCount||0;this.hlsFps=e-this.hlsPrevFrams,this.hlsPrevFrams=e}}),1e3)}_stopFpsInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_initHls(){this.player._opt.useCanvasRender&&(this.$videoElement=document.createElement("video"),this.$videoElement.muted=!0,Ca()&&(this.$videoElement.style.position="absolute"),this.initVideoEvents()),this.hls.attachMedia(this.$videoElement)}_bindEvents(){const e=this.player,{proxy:t}=this.player.events;this.hls;const i=this.$videoElement,s=Io(),r=t(i,hs,(t=>{if(this.hls){const i=parseInt(t.timeStamp,10);this.player._opt.useCanvasRender&&Lo(s)&&e.updateStats({ts:i,dts:i})}}));this.eventsDestroy.push(r),this.hls.on(XA.Events.ERROR,((e,t)=>{if(t.fatal)switch(t.type){case XA.ErrorTypes.NETWORK_ERROR:this.player.debugWarn(this.TAG_NAME,"fatal network error encountered, try to recover"),this.hls.startLoad();break;case XA.ErrorTypes.MEDIA_ERROR:this.player.debugWarn(this.TAG_NAME,"fatal media error encountered, try to recover"),this.hls.recoverMediaError()}})),this.hls.on(XA.Events.MEDIA_ATTACHING,(()=>{})),this.hls.on(XA.Events.MEDIA_ATTACHED,(()=>{})),this.hls.on(XA.Events.MEDIA_DETACHING,(()=>{})),this.hls.on(XA.Events.MEDIA_DETACHED,(()=>{})),this.hls.on(XA.Events.BUFFER_RESET,(()=>{})),this.hls.on(XA.Events.BUFFER_CODECS,(()=>{})),this.hls.on(XA.Events.BUFFER_CREATED,(()=>{})),this.hls.on(XA.Events.BUFFER_APPENDING,((e,t)=>{this.player.debugLog(this.TAG_NAME,"BUFFER_APPENDING",t.type)})),this.hls.on(XA.Events.BUFFER_APPENDED,(()=>{})),this.hls.on(XA.Events.BUFFER_EOS,(()=>{})),this.hls.on(XA.Events.BUFFER_FLUSHING,(()=>{})),this.hls.on(XA.Events.BUFFER_FLUSHED,(()=>{})),this.hls.on(XA.Events.MANIFEST_LOADING,(()=>{this.player.debugLog(this.TAG_NAME,"MANIFEST_LOADING 开始加载playlist m3u8资源")})),this.hls.on(XA.Events.MANIFEST_LOADED,((e,t)=>{this.player.debugLog(this.TAG_NAME,"MANIFEST_LOADED playlist m3u8文件加载完成",t.url)})),this.hls.on(XA.Events.MANIFEST_PARSED,(()=>{this.player.debugLog(this.TAG_NAME,"MANIFEST_PARSED playlist m3u8解析完成"),e._times.demuxStart||(e._times.demuxStart=fa())})),this.hls.on(XA.Events.LEVEL_LOADING,(()=>{})),this.hls.on(XA.Events.LEVEL_LOADED,((e,t)=>{})),this.hls.on(XA.Events.FRAG_LOADING,(()=>{})),this.hls.on(XA.Events.FRAG_LOADED,((t,i)=>{e._times.decodeStart||(e._times.decodeStart=fa())})),this.hls.on(XA.Events.BUFFER_APPENDING,(()=>{e._times.videoStart||(e._times.videoStart=fa(),e.handlePlayToRenderTimes())})),this.hls.on(XA.Events.FRAG_DECRYPTED,(()=>{})),this.hls.on(XA.Events.KEY_LOADING,(()=>{})),this.hls.on(XA.Events.KEY_LOADING,(()=>{})),this.hls.on(XA.Events.FPS_DROP,(e=>{})),this.hls.on(XA.Events.FPS_DROP_LEVEL_CAPPING,(e=>{})),this.hls.on(XA.Events.FRAG_PARSING_INIT_SEGMENT,((e,t)=>{this.player.debugLog(this.TAG_NAME,"FRAG_PARSING_INIT_SEGMENT",t);const i=!!(t&&t.tracks&&t.tracks.audio),s=!!(t&&t.tracks&&t.tracks.video);if(i&&t.tracks.audio){let e=t.tracks.audio;const i=e.metadata&&e.metadata.channelCount?e.metadata.channelCount:0,s=e.codec;this.player.audio&&this.player.audio.updateAudioInfo({encType:s,channels:i,sampleRate:44100})}if(s&&t.tracks.video){let e=t.tracks.video;const i={encTypeCode:-1!==e.codec.indexOf("avc")?xt:Rt};e.metadata&&(i.width=e.metadata.width,i.height=e.metadata.height),this.player.video&&this.player.video.updateVideoInfo(i)}}))}initVideoPlay(e){this.player._opt.useCanvasRender&&(this.$videoElement=document.createElement("video"),this.initVideoEvents()),this.$videoElement.autoplay=!0,this.$videoElement.muted=!0,this.$videoElement.src=e}_initRenderSize(){this.isInitInfo||(this.player.video.updateVideoInfo({width:this.$videoElement.videoWidth,height:this.$videoElement.videoHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0)}initVideoEvents(){const{proxy:e}=this.player.events,t=e(this.$videoElement,ls,(()=>{this.player.debugLog(this.TAG_NAME,"video canplay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video play"),this._startCanvasRender(),this._initRenderSize()})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video play error ",e)}))})),i=e(this.$videoElement,ds,(()=>{this.player.debugLog(this.TAG_NAME,"video waiting")})),s=e(this.$videoElement,hs,(e=>{const t=parseInt(e.timeStamp,10);this.player.handleRender(),this.player.updateStats({ts:t}),this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"video is paused and next try to replay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video is paused and replay success")})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video is paused and replay error ",e)})))})),r=e(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate)}));this.eventsDestroy.push(t,i,s,r)}loadSource(e){return new Promise(((t,i)=>{this.canVideoPlay?(this.initVideoPlay(e),this._startBandwidthEstimateInterval(),this._startFpsInterval(),t()):this.hls.on(XA.Events.MEDIA_ATTACHED,(()=>{this.hls.loadSource(e),this._startBandwidthEstimateInterval(),this._startFpsInterval(),t()}))}))}}const eb=2097152,tb="fetch",ib="xhr",sb="arraybuffer",rb="text",ab="json",ob="real_time_speed",nb=Object.prototype.toString;function lb(e){if("[object Object]"!==nb.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function db(e){if(!e||null===e[0]||void 0===e[0]||0===e[0]&&(null===e[1]||void 0===e[1]))return;let t="bytes="+e[0]+"-";return e[1]&&(t+=e[1]),t}function hb(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function cb(e,t){if(!e)return;if(!t)return e;let i;const s=Object.keys(t).map((e=>{if(i=t[e],null!=i)return Array.isArray(i)?e+="[]":i=[i],i.map((t=>{var i;return i=t,"[object Date]"===nb.call(i)?t=t.toISOString():function(e){return null!==e&&"object"==typeof e}(t)&&(t=JSON.stringify(t)),`${hb(e)}=${hb(t)}`})).join("&")})).filter(Boolean).join("&");if(s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}function ub(e,t,i,s,r,a,o,n,l,d,h){r=null!=r?parseFloat(r):null,s=parseInt(s||"0",10),Number.isNaN(s)&&(s=0);return{data:e,done:t,option:{range:l,vid:d,index:n,contentLength:s,age:r,startTime:a,firstByteTime:o,endTime:Date.now(),priOptions:h},response:i}}function pb(e,t){return Math.round(8*e*1e3/t/1024)}class mb extends Error{constructor(e,t,i,s){super(s),Yh(this,"retryCount",0),Yh(this,"isTimeout",!1),Yh(this,"loaderType",tb),Yh(this,"startTime",0),Yh(this,"endTime",0),Yh(this,"options",{}),this.url=e,this.request=t,this.response=i}}class fb extends Oo{constructor(e){super(),Yh(this,"_abortController",null),Yh(this,"_timeoutTimer",null),Yh(this,"_reader",null),Yh(this,"_response",null),Yh(this,"_aborted",!1),Yh(this,"_index",-1),Yh(this,"_range",null),Yh(this,"_receivedLength",0),Yh(this,"_running",!1),Yh(this,"_logger",null),Yh(this,"_vid",""),Yh(this,"_onProcessMinLen",0),Yh(this,"_onCancel",null),Yh(this,"_priOptions",null),Yh(this,"TAG_NAME","FetchLoader"),this.player=e}load(e){var t;let{url:i,vid:s,timeout:r,responseType:a,onProgress:o,index:n,onTimeout:l,onCancel:d,range:h,transformResponse:c,request:u,params:p,logger:m,method:f,headers:g,body:y,mode:A,credentials:b,cache:v,redirect:_,referrer:S,referrerPolicy:E,onProcessMinLen:T,priOptions:w}=e;this._aborted=!1,this._onProcessMinLen=T,this._onCancel=d,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=n,this._range=h||[0,0],this._vid=s||i,this._priOptions=w||{};const k={method:f,headers:g,body:y,mode:A,credentials:b,cache:v,redirect:_,referrer:S,referrerPolicy:E,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal};let L=!1;clearTimeout(this._timeoutTimer),i=cb(i,p);const C=db(h);C&&(g=u?u.headers:k.headers=k.headers||(Headers?new Headers:{}),Headers&&g instanceof Headers?g.append("Range",C):g.Range=C),r&&(this._timeoutTimer=setTimeout((()=>{if(L=!0,this.cancel(),l){const e=new mb(i,k,null,"timeout");e.isTimeout=!0,l(e,{index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})}}),r));const D=Date.now();return(Wa(n)||Wa(h))&&this.player.debugLog(this.TAG_NAME,"[fetch load start], index,",n,",range,",h),new Promise(((e,t)=>{fetch(u||i,u?void 0:k).then((async s=>{if(clearTimeout(this._timeoutTimer),this._response=s,this._aborted||!this._running)return;if(c&&(s=c(s,i)||s),!s.ok)throw new mb(i,k,s,"bad network response");const r=Date.now();let l;if(a===rb)l=await s.text(),this._running=!1;else if(a===ab)l=await s.json(),this._running=!1;else{if(o)return this.resolve=e,this.reject=t,void this._loadChunk(s,o,D,r);{l=await s.arrayBuffer(),l=new Uint8Array(l),this._running=!1;const e=Date.now()-D,t=pb(l.byteLength,e);this.emit(ob,{speed:t,len:l.byteLength,time:e,vid:this._vid,index:this._index,range:this._range,priOptions:this._priOptions})}}(Wa(n)||Wa(h))&&this.player.debugLog(this.TAG_NAME,"[fetch load end], index,",n,",range,",h),e(ub(l,!0,s,s.headers.get("Content-Length"),s.headers.get("age"),D,r,n,h,this._vid,this._priOptions))})).catch((e=>{var s;clearTimeout(this._timeoutTimer),this._running=!1,this._aborted&&!L||((e=e instanceof mb?e:new mb(i,k,null,null===(s=e)||void 0===s?void 0:s.message)).startTime=D,e.endTime=Date.now(),e.isTimeout=L,e.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},t(e))}))}))}async cancel(){if(!this._aborted){if(this._aborted=!0,this._running=!1,this._response){try{this._reader&&await this._reader.cancel()}catch(e){}this._response=this._reader=null}if(this._abortController){try{this._abortController.abort()}catch(e){}this._abortController=null}this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})}}_loadChunk(e,t,i,s){if(!e.body||!e.body.getReader){this._running=!1;const t=new mb(e.url,"",e,"onProgress of bad response.body.getReader");return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(t)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(eb),this._writeIdx=0);const r=this._reader=e.body.getReader();let a,o,n;const l=async()=>{var d;o=Date.now();try{a=await r.read(),n=Date.now()}catch(e){return n=Date.now(),void(this._aborted||(this._running=!1,e.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this.reject(e)))}const h=(null===(d=this._range)||void 0===d?void 0:d.length)>0?this._range[0]:0,c=h+this._receivedLength;if(this._aborted)return this._running=!1,void t(void 0,!1,{range:[c,c],vid:this._vid,index:this._index,startTime:o,endTime:n,st:i,firstByteTime:s,priOptions:this._priOptions},e);const u=a.value?a.value.byteLength:0;let p;if(this._receivedLength+=u,this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress call】,task,",this._range,", start,",c,", end,",h+this._receivedLength,", done,",a.done),this._onProcessMinLen>0){if(this._writeIdx+u>=this._onProcessMinLen||a.done)p=new Uint8Array(this._writeIdx+u),p.set(this._cache.slice(0,this._writeIdx),0),u>0&&p.set(a.value,this._writeIdx),this._writeIdx=0,this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress enough】,done,",a.done,",len,",p.byteLength,", writeIdx,",this._writeIdx);else if(u>0&&this._writeIdx+u0){const e=new Uint8Array(this._writeIdx+u+2048);this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress extra start】,size,",this._writeIdx+u+2048,", datalen,",u,", writeIdx,",this._writeIdx),e.set(this._cache.slice(0,this._writeIdx),0),u>0&&e.set(a.value,this._writeIdx),this._writeIdx+=u,delete this._cache,this._cache=e,this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress extra end】,len,",u,", writeIdx,",this._writeIdx)}}else p=a.value;if((p&&p.byteLength>0||a.done)&&t(p,a.done,{range:[this._range[0]+this._receivedLength-(p?p.byteLength:0),this._range[0]+this._receivedLength],vid:this._vid,index:this._index,startTime:o,endTime:n,st:i,firstByteTime:s,priOptions:this._priOptions},e),a.done){const t=Date.now()-i,r=pb(this._receivedLength,t);this.emit(ob,{speed:r,len:this._receivedLength,time:t,vid:this._vid,index:this._index,range:this._range,priOptions:this._priOptions}),this._running=!1,this.player.debugLog(this.TAG_NAME,"[fetchLoader onProgress end],task,",this._range,",done,",a.done),this.resolve(ub(a,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),i,s,this._index,this._range,this._vid,this._priOptions))}else l()};l()}get receiveLen(){return this._receivedLength}get running(){return this._running}set running(e){this._running=e}static isSupported(){return!("undefined"==typeof fetch)}}class gb{constructor(e,t,i){Yh(this,"TAG_NAME","Task"),this.promise=function(){let e,t;const i=new Promise(((i,s)=>{e=i,t=s}));return i.used=!1,i.resolve=function(){return i.used=!0,e(...arguments)},i.reject=function(){return i.used=!0,t(...arguments)},i}(),this.alive=!!t.onProgress,this._loaderType=e,this.player=i,this._loader=e===tb&&window.fetch?new fb(i):new yb(i),this._config=t,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=t.retryCheckFunc}exec(){const{retry:e,retryDelay:t,onRetryError:i,transformError:s,...r}=this._config,a=async()=>{try{const e=await this._loader.load(r);this.promise.resolve(e)}catch(o){if(this._loader.running=!1,this.player.debugLog(this.TAG_NAME,"[task request catch err]",o),this._canceled)return;o.loaderType=this._loaderType,o.retryCount=this._retryCount;let n=o;s&&(n=s(n)||n),i&&this._retryCount>0&&i(n,this._retryCount,{index:r.index,vid:r.vid,range:r.range,priOptions:r.priOptions}),this._retryCount++;let l=!0;if(this._retryCheckFunc&&(l=this._retryCheckFunc(o)),l&&this._retryCount<=e)return clearTimeout(this._retryTimer),this.player.debugLog(this.TAG_NAME,"[task request setTimeout],retry",this._retryCount,",retry range,",r.range),void(this._retryTimer=setTimeout(a,t));this.promise.reject(n)}};return a(),this.promise}async cancel(){return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,this._loader.cancel()}get running(){return this._loader&&this._loader.running}get loader(){return this._loader}}class yb extends Oo{constructor(e){super(),Yh(this,"_xhr",null),Yh(this,"_aborted",!1),Yh(this,"_timeoutTimer",null),Yh(this,"_range",null),Yh(this,"_receivedLength",0),Yh(this,"_url",null),Yh(this,"_onProgress",null),Yh(this,"_index",-1),Yh(this,"_headers",null),Yh(this,"_currentChunkSizeKB",384),Yh(this,"_timeout",null),Yh(this,"_xhr",null),Yh(this,"_withCredentials",null),Yh(this,"_startTime",-1),Yh(this,"_loadCompleteResolve",null),Yh(this,"_loadCompleteReject",null),Yh(this,"_runing",!1),Yh(this,"_logger",!1),Yh(this,"_vid",""),Yh(this,"_responseType",void 0),Yh(this,"_credentials",void 0),Yh(this,"_method",void 0),Yh(this,"_transformResponse",void 0),Yh(this,"_firstRtt",void 0),Yh(this,"_onCancel",null),Yh(this,"_priOptions",null),Yh(this,"TAG_NAME","XhrLoader"),this.player=e}load(e){clearTimeout(this._timeoutTimer),this._range=e.range,this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._body=e.body||null,e.method&&(this._method=e.method),this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._priOptions=e.priOptions||{},this.player.debugLog(this.TAG_NAME,"【xhrLoader task】, range",this._range),this._url=cb(e.url,e.params);const t=Date.now();return new Promise(((e,t)=>{this._loadCompleteResolve=e,this._loadCompleteReject=t,this._startLoad()})).catch((e=>{if(clearTimeout(this._timeoutTimer),this._runing=!1,!this._aborted)throw(e=e instanceof mb?e:new mb(this._url,this._request)).startTime=t,e.endTime=Date.now(),e.options={index:this._index,vid:this._vid,priOptions:this._priOptions},e}))}_startLoad(){let e=null;if(this._responseType===sb&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;const t=1024*this._currentChunkSizeKB,i=this._range[0]+this._receivedLength;let s=this._range[1];t],tast :",this._range,", SubRange, ",e)}else e=this._range,this.player.debugLog(this.TAG_NAME,"[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}_internalOpen(e){try{this._startTime=Date.now();const t=this._xhr=new XMLHttpRequest;t.open(this._method||"GET",this._url,!0),t.responseType=this._responseType,this._timeout&&(t.timeout=this._timeout),t.withCredentials=this._withCredentials,t.onload=this._onLoad.bind(this),t.onreadystatechange=this._onReadyStatechange.bind(this),t.onerror=e=>{var t,i,s;this._running=!1;const r=new mb(this._url,this._request,null==e||null===(t=e.currentTarget)||void 0===t?void 0:t.response,"xhr.onerror.status:"+(null==e||null===(i=e.currentTarget)||void 0===i?void 0:i.status)+",statusText,"+(null==e||null===(s=e.currentTarget)||void 0===s?void 0:s.statusText));r.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(r)},t.ontimeout=e=>{this.cancel();const t=new mb(this._url,this._request,{status:408},"timeout");this._onTimeout&&(t.isTimeout=!0,this._onTimeout(t,{index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})),t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)};const i=this._headers||{},s=db(e);s&&(i.Range=s),i&&Object.keys(i).forEach((e=>{t.setRequestHeader(e,i[e])})),this.player.debugLog(this.TAG_NAME,"[xhr.send->] tast,",this._range,",load sub range, ",e),t.send(this._body)}catch(t){t.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}}_onReadyStatechange(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}_onLoad(e){var t;const i=e.target.status;if(i<200||i>299){const t=new mb(this._url,null,{...e.target.response,status:i},"bad response,status:"+i);return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}let s,r=null,a=!1;const o=(null===(t=this._range)||void 0===t?void 0:t.length)>0?this._range[0]:0;if(this._responseType===sb){var n;const t=new Uint8Array(e.target.response);if(s=o+this._receivedLength,t&&t.byteLength>0){this._receivedLength+=t.byteLength;const e=Date.now()-this._startTime,i=pb(this._receivedLength,e);this.emit(ob,{speed:i,len:this._receivedLength,time:e,vid:this._vid,index:this._index,range:[s,o+this._receivedLength],priOptions:this._priOptions})}r=t,a=!((null===(n=this._range)||void 0===n?void 0:n.length)>1&&this._range[1]&&this._receivedLength], tast :",this._range,", start",s,"end ",o+this._receivedLength,",dataLen,",t?t.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",a)}else a=!0,r=e.target.response;let l={ok:i>=200&&i<300,status:i,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(l=this._transformResponse(l,this._url)||l),this._onProgress&&this._onProgress(r,a,{index:this._index,vid:this._vid,range:[s,o+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},l),a?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(ub(this._onProgress?null:r,a,l,l.headers["content-length"],l.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}cancel(){if(!this._aborted)return this._aborted=!0,this._runing=!1,super.removeAllListeners(),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),this._xhr?this._xhr.abort():void 0}static isSupported(){return"undefined"!=typeof XMLHttpRequest}get receiveLen(){return this._receivedLength}get running(){return this._running}set running(e){this._running=e}_getHeaders(e){const t=e.getAllResponseHeaders().trim().split("\r\n"),i={};for(const e of t){const t=e.split(": ");i[t[0].toLowerCase()]=t.slice(1).join(": ")}return i}}class Ab extends Oo{constructor(e,t){super(),Yh(this,"type",tb),Yh(this,"_queue",[]),Yh(this,"_alive",[]),Yh(this,"_currentTask",null),Yh(this,"_config",void 0),this.player=t,this._config=function(e){return{loaderType:tb,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:rb,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0,...e}}(e),this._config.loaderType!==ib&&fb.isSupported()||(this.type=ib)}destroy(){this._queue=[],this._alive=[],this._currentTask=null}isFetch(){return this.type===tb}static isFetchSupport(){return fb.isSupported()}load(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?t=e:t.url=e||t.url||this._config.url,t=Object.assign({},this._config,t),t.params&&(t.params=Object.assign({},t.params)),t.headers&&lb(t.headers)&&(t.headers=Object.assign({},t.headers)),t.body&&lb(t.body)&&(t.body=Object.assign({},t.body)),t.transformRequest&&(t=t.transformRequest(t)||t);const i=new gb(this.type,t,this.player);return i.loader.on(ob,(e=>{this.emit(ob,e)})),this._queue.push(i),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),i.promise}async cancel(){const e=this._queue.map((e=>e.cancel())).concat(this._alive.map((e=>e.cancel())));this._currentTask&&e.push(this._currentTask.cancel()),this._queue=[],this._alive=[],await Promise.all(e),await function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((t=>setTimeout(t,e)))}()}_processTask(){if(this._currentTask=this._queue.shift(),!this._currentTask)return;this._currentTask.alive&&this._alive.push(this._currentTask);const e=this._currentTask.exec().catch((e=>{}));e&&"function"==typeof e.finally&&e.finally((()=>{var e,t;null!==(e=this._currentTask)&&void 0!==e&&e.alive&&(null===(t=this._alive)||void 0===t?void 0:t.length)>0&&(this._alive=this._alive.filter((e=>e&&e!==this._currentTask))),this._processTask()}))}}const bb="network",vb="network_timeout",_b="other",Sb="manifest",Eb="hls",Tb="demux";class wb extends Error{constructor(e,t,i,s,r){super(r||(null==i?void 0:i.message)),this.errorType=e===vb?bb:e,this.originError=i,this.ext=s,this.errorMessage=this.message}static create(e,t,i,s,r){return e instanceof wb?e:(e instanceof Error&&(i=e,e=""),e||(e=_b),new wb(e,t,i,s,r))}static network(e){var t;return new wb(null!=e&&e.isTimeout?vb:bb,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(t=e.response)||void 0===t?void 0:t.status})}}const kb=/^#(EXT[^:]*)(?::(.*))?$/,Lb=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,Cb=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,Db=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function xb(e){const t=e.match(kb);if(t&&t[1])return[t[1].replace("EXT-X-",""),t[2]]}function Rb(e){const t={};let i=Lb.exec(e);for(;i;)t[i[1]]=i[2]||i[3],i=Lb.exec(e);return t}function Pb(e,t){if(!t||!e||Cb.test(e))return e;const i=Db.exec(t);return i?"/"===e[0]?i[1]+e:i[1]+i[2]+e:e}const Ib={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function Bb(e,t){const i=Ib[e];if(i&&t&&t.length)for(let e=0;e>8*(15-t)&255}}}class $b{static parse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!e.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");const i=function(e){return e.split(/[\r\n]/).map((e=>e.trim())).filter(Boolean)}(e);return $b.isMediaPlaylist(e)?function(e,t){const i=new Vb;i.url=t;let s,r=new Wb,a=null,o=null,n=0,l=0,d=0,h=0,c=!1;for(;(s=e[h++])&&!c;){if("#"!==s[0]){r.sn=l,r.cc=d,r.url=Pb(s,t),o&&(r.key=o.clone(l)),a&&(r.initSegment=a),i.segments.push(r),r=new Wb,l++;continue}const e=xb(s);if(!e)continue;const[h,u]=e;switch(h){case"VERSION":i.version=parseInt(u);break;case"PLAYLIST-TYPE":i.type=null==u?void 0:u.toUpperCase();break;case"TARGETDURATION":i.targetDuration=parseFloat(u);break;case"ENDLIST":{const e=i.segments[i.segments.length-1];e&&(e.isLast=!0),i.live=!1,c=!0}break;case"MEDIA-SEQUENCE":l=i.startSN=parseInt(u);break;case"DISCONTINUITY-SEQUENCE":d=i.startCC=parseInt(u);break;case"DISCONTINUITY":d++;break;case"BYTERANGE":r.setByteRange(u,i.segments[i.segments.length-1]);break;case"EXTINF":{const[e,t]=u.split(",");r.start=n,r.duration=parseFloat(e),n+=r.duration,r.title=t}break;case"KEY":{const e=Rb(u);if("NONE"===e.METHOD){o=null;break}if("AES-128"!==e.METHOD)throw new Error(`encrypt ${e.METHOD}/${e.KEYFORMAT} is not supported`);if(o=new zb,o.method=e.METHOD,o.url=/^blob:/.test(e.URI)?e.URI:Pb(e.URI,t),o.keyFormat=e.KEYFORMAT||"identity",o.keyFormatVersions=e.KEYFORMATVERSIONS,e.IV){let t=e.IV.slice(2);t=(1&t.length?"0":"")+t,o.iv=new Uint8Array(t.length/2);for(let e=0,i=t.length/2;e{e.id=t})),a.length&&(a.forEach(((e,t)=>{e.id=t})),i.streams.forEach((e=>{e.audioGroup&&(e.audioStreams=a.filter((t=>t.group===e.audioGroup)))}))),o.length&&(o.forEach(((e,t)=>{e.id=t})),i.streams.forEach((e=>{e.subtitleGroup&&(e.subtitleStreams=o.filter((t=>t.group===e.subtitleGroup)))}))),i}(i,t)}static isMediaPlaylist(e){return e.includes("#EXTINF:")||e.includes("#EXT-X-TARGETDURATION:")}}class Hb{constructor(e){Yh(this,"_onLoaderRetry",((e,t)=>{this.hls.emit(zs,{error:wb.network(e),retryTime:t})})),this.hls=e,this.player=e.player,this.TAG_NAME="HlsManifestLoader",this._timer=null;const{retryCount:t,retryDelay:i,loadTimeout:s,fetchOptions:r}=this.hls.config;this._loader=new Ab({...r,responseType:"text",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._audioLoader=new Ab({...r,responseType:"text",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._subtitleLoader=new Ab({...r,responseType:"text",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player)}async destroy(){await this.stopPoll(),this._audioLoader&&(this._audioLoader.destroy(),this._audioLoader=null),this._subtitleLoader&&(this._subtitleLoader.destroy(),this._subtitleLoader=null),this._loader&&(this._loader.destroy(),this._loader=null)}async load(e,t,i){this.player.debugLog(this.TAG_NAME,"load()",e,t,i);const s=[this._loader.load(e)];let r,a,o,n,l,d;t&&s.push(this._audioLoader.load(t)),i&&s.push(this._subtitleLoader.load(i));try{const[e,i,n]=await Promise.all(s);if(!e)return[];r=e.data,t?(a=null==i?void 0:i.data,o=null==n?void 0:n.data):o=null==i?void 0:i.data}catch(e){throw wb.network(e)}try{var h;if(n=$b.parse(r,e),!1===(null===(h=n)||void 0===h?void 0:h.live)&&n.segments&&!n.segments.length)throw new Error("empty segments list");a&&(l=$b.parse(a,t)),o&&(d=$b.parse(o,i))}catch(e){throw new wb(Sb,Eb,e)}return n&&(n.isMaster?this.hls.emit(Os,{playlist:n}):this.hls.emit(Ns,{playlist:n})),[n,l,d]}poll(e,t,i,s,r,a){clearTimeout(this._timer),a=a||3e3;let o=this.hls.config.pollRetryCount;const n=async()=>{clearTimeout(this._timer);try{const r=await this.load(e,t,i);if(!r[0])return;o=this.hls.config.pollRetryCount,s(r[0],r[1],r[2])}catch(e){o--,o<=0&&r(e)}this._timer=setTimeout(n,a)};this._timer=setTimeout(n,a)}stopPoll(){return clearTimeout(this._timer),this.cancel()}cancel(){return Promise.all([this._loader.cancel(),this._audioLoader.cancel()])}}class Jb{constructor(){Yh(this,"_chunkSpeeds",[]),Yh(this,"_speeds",[])}addRecord(e,t){e&&t&&(this._speeds.push(8e3*e/t),this._speeds=this._speeds.slice(-3))}addChunkRecord(e,t){e&&t&&(this._chunkSpeeds.push(8e3*e/t),this._chunkSpeeds=this._chunkSpeeds.slice(-100))}getAvgSpeed(){return this._chunkSpeeds.length||this._speeds.length?this._speeds.length?this._speeds.reduce(((e,t)=>e+t))/this._speeds.length:this._chunkSpeeds.reduce(((e,t)=>e+t))/this._chunkSpeeds.length:0}getLatestSpeed(){return this._chunkSpeeds.length||this._speeds.length?this._speeds.length?this._speeds[this._speeds.length-1]:this._chunkSpeeds[this._chunkSpeeds.length-1]:0}reset(){this._chunkSpeeds=[],this._speeds=[]}}class qb{constructor(e){Yh(this,"_emitOnLoaded",((e,t)=>{const{data:i,response:s,option:r}=e,{firstByteTime:a,startTime:o,endTime:n,contentLength:l}=r||{},d=n-o;this._bandwidthService.addRecord(l||i.byteLength,d),this.hls.emit(Hs,{time:d,byteLength:l,url:t}),this.hls.emit(Js,{url:t,elapsed:d||0}),this.hls.emit(Ws,{url:t,responseUrl:s.url,elapsed:a-o}),this.hls.emit(qs,{headers:s.headers})})),Yh(this,"_onLoaderRetry",((e,t)=>{this.hls.emit(zs,{error:wb.network(e),retryTime:t})})),this.hls=e,this.player=e.player,this._bandwidthService=new Jb;const{retryCount:t,retryDelay:i,loadTimeout:s,fetchOptions:r}=this.hls.config;this._segmentLoader=new Ab({...r,responseType:"arraybuffer",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._audioSegmentLoader=new Ab({...r,responseType:"arraybuffer",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._keyLoader=new Ab({...r,responseType:"arraybuffer",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player)}destroy(){this.reset(),this._keyLoader&&(this._keyLoader.destroy(),this._keyLoader=null),this._audioSegmentLoader&&(this._audioSegmentLoader.destroy(),this._audioSegmentLoader=null),this._segmentLoader&&(this._segmentLoader.destroy(),this._segmentLoader=null)}speedInfo(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}resetBandwidth(){this._bandwidthService.reset()}load(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i;const r=[];return e&&(r[0]=this.loadVideoSegment(e,i)),t&&(r[1]=this.loadAudioSegment(t,s)),Promise.all(r)}loadVideoSegment(e,t){return this._loadSegment(this._segmentLoader,e,t)}loadAudioSegment(e,t){return this._loadSegment(this._audioSegmentLoader,e,t)}async _loadSegment(e,t,i){var s;let r,a,o,n,l;const d=[];if(this.hls.emit($s,{url:t.url}),d[0]=e.load(t.url),i&&t.initSegment){var h;const i=t.initSegment.url;r=this._mapCache[i],r||(this.hls.emit($s,{url:i}),d[1]=e.load(i).then((e=>{if(e){Object.keys(this._mapCache)>30&&(this._mapCache={}),r=this._mapCache[i]=e.data,this._emitOnLoaded(e,i)}})));const s=null===(h=t.initSegment.key)||void 0===h?void 0:h.url;s&&(l=t.initSegment.key.iv,n=this._keyCache[s],n||(this.hls.emit($s,{url:s}),d[2]=this._keyLoader.load(s).then((e=>{e&&(n=this._keyCache[s]=e.data,this._emitOnLoaded(e,s))}))))}const c=null===(s=t.key)||void 0===s?void 0:s.url;c&&(o=t.key.iv,a=this._keyCache[c],a||(this.hls.emit($s,{url:c}),d[3]=this._keyLoader.load(c).then((e=>{e&&(a=this._keyCache[c]=e.data,this._emitOnLoaded(e,c))}))));const[u]=await Promise.all(d);if(!u)return;const p=u.data;return this._emitOnLoaded(u,t.url),{data:p,map:r,key:a,mapKey:n,keyIv:o,mapKeyIv:l}}reset(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}async cancel(){await Promise.all([this._keyLoader.cancel(),this._segmentLoader.cancel(),this._audioSegmentLoader.cancel()])}}class Kb{constructor(e,t,i){this.live=void 0,this.id=0,this.bitrate=0,this.width=0,this.height=0,this.name="",this.url="",this.audioCodec="",this.videoCodec="",this.textCodec="",this.startCC=0,this.endCC=0,this.startSN=0,this.endSN=-1,this.totalDuration=0,this.targetDuration=0,this.snDiff=null,this.segments=[],this.audioStreams=[],this.subtitleStreams=[],this.closedCaptions=[],this.currentAudioStream=null,this.currentSubtitleStream=null,this.TAG_NAME="HlsStream",this.update(e,t,i)}get lastSegment(){return this.segments.length?this.segments[this.segments.length-1]:null}get segmentDuration(){var e;return this.targetDuration||(null===(e=this.segments[0])||void 0===e?void 0:e.duration)||0}get liveEdge(){return this.endTime}get endTime(){var e;return(null===(e=this.lastSegment)||void 0===e?void 0:e.end)||0}get currentSubtitleEndSn(){var e;return(null===(e=this.currentSubtitleStream)||void 0===e?void 0:e.endSN)||0}clearOldSegment(e,t){return this._clearSegments(e,t)}getAudioSegment(e){if(!e||!this.currentAudioStream)return;const t=e.sn-this.snDiff;return this.currentAudioStream.segments.find((e=>e.sn===t))}update(e,t){this.url=e.url,Array.isArray(e.segments)?(null!==this.live&&void 0!==this.live||(this.live=e.live),this._updateSegments(e,this),this.startCC=e.startCC,this.endCC=e.endCC,this.startSN=e.startSN,this.endSN=e.endSN||-1,this.totalDuration=e.totalDuration,this.targetDuration=e.targetDuration,this.live=e.live,t&&this.currentAudioStream&&Array.isArray(t.segments)&&(this._updateSegments(t,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&e.segments.length&&t.segments.length&&(this.snDiff=e.segments[0].sn-t.segments[0].sn))):(this.id=e.id,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.name=e.name,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.textCodec=e.textCodec,this.audioStreams=e.audioStreams,this.subtitleStreams=e.subtitleStreams,!this.currentAudioStream&&this.audioStreams.length&&(this.currentAudioStream=this.audioStreams.find((e=>e.default))||this.audioStreams[0]),!this.currentSubtitleStream&&this.subtitleStreams.length&&(this.currentSubtitleStream=this.subtitleStreams.find((e=>e.default))||this.subtitleStreams[0]))}updateSubtitle(e){if(!(e&&this.currentSubtitleStream&&Array.isArray(e.segments)))return;const t=this._updateSegments(e,this.currentSubtitleStream),i=this.currentSubtitleStream.segments;return i.length>100&&(this.currentSubtitleStream.segments=i.slice(100)),t?t.map((e=>({sn:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end,lang:this.currentSubtitleStream.lang}))):void 0}switchSubtitle(e){const t=this.subtitleStreams.find((t=>t.lang===e)),i=this.currentSubtitleStream;t&&(this.currentSubtitleStream=t,i.segments=[])}_clearSegments(e,t){let i=0;const s=this.segments;for(let t=0,r=s.length;t=e){i=t;break}return i>t&&(i=t),i&&(this.segments=this.segments.slice(i),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(i))),t-i}_updateSegments(e,t){const i=t.segments;if(this.live){const s=i[i.length-1],r=(null==s?void 0:s.sn)||-1;if(re.sn===r)),o=a<0?e.segments:e.segments.slice(a+1);if(i.length&&o.length){let e=s.end;o.forEach((t=>{t.start=e,e=t.end}));const t=(null==s?void 0:s.cc)||-1;t>o[0].cc&&o.forEach((e=>e.cc+=t))}return t.endSN=e.endSN,t.segments=i.concat(o),o}}else t.segments=e.segments}}class Yb{constructor(e){this.hls=e,this.player=e.player,this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1,this.TAG_NAME="HlsPlaylist"}destroy(){this.reset()}get lastSegment(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.lastSegment}get currentSegment(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer]}get nextSegment(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer+1]}get currentSegments(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.segments}get currentSubtitleEndSn(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.currentSubtitleEndSn}get liveEdge(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.liveEdge}get totalDuration(){var e;return(null===(e=this.currentStream)||void 0===e?void 0:e.totalDuration)||0}get seekRange(){const e=this.currentSegments;if(e&&e.length)return[e[0].start,e[e.length-1].end]}get isEmpty(){var e;return!(null!==(e=this.currentSegments)&&void 0!==e&&e.length)}get isLive(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.live}get hasSubtitle(){var e;return!(null===(e=this.currentStream)||void 0===e||!e.currentSubtitleStream)}getAudioSegment(e){var t;return null===(t=this.currentStream)||void 0===t?void 0:t.getAudioSegment(e)}moveSegmentPointer(e){var t;null==e&&(e=this._segmentPointer+1),this._segmentPointer=ga(e,-1,null===(t=this.currentSegments)||void 0===t?void 0:t.length),this.player.debugLog(this.TAG_NAME,`moveSegmentPointer() and param pos is ${e} and clamp result is ${this._segmentPointer}`)}reset(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}getSegmentByIndex(e){var t;return null===(t=this.currentSegments)||void 0===t?void 0:t[e]}setNextSegmentByIndex(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._segmentPointer=e-1,this.player.debugLog(this.TAG_NAME,"setNextSegmentByIndex()",e,this._segmentPointer)}findSegmentIndexByTime(e){const t=this.currentSegments;if(t){for(let i,s=0,r=t.length;s=i.start&&ee.url)).forEach(((e,t)=>{this.streams[t]?this.streams[t].update(e):this.streams[t]=new Kb(e)})),this.currentStream=this.streams[0];else if(Array.isArray(e.segments)){const s=this.currentStream;if(s){s.update(e,t,i);const r=s.updateSubtitle(i);r&&this.hls.emit(Us,{list:r})}else this.reset(),this.currentStream=this.streams[0]=new Kb(e,t,i)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce(((e,t)=>e+=t.duration),0))}switchSubtitle(e){var t;null===(t=this.currentStream)||void 0===t||t.switchSubtitle(e)}clearOldSegment(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;const t=this.currentStream;if(!this.dvrWindow||!t)return;const i=t.endTime-this.dvrWindow;if(i<=0)return void this.player.debugLog(this.TAG_NAME,`clearOldSegment() stream.endTime:${t.endTime}, this.dvrWindow:${this.dvrWindow} startTime <= 0`);const s=t.segments;if(s.length<=e)return void this.player.debugLog(this.TAG_NAME,`clearOldSegment() segments.length:${s.length} <= maxPlaylistSize:${e}`);const r=this._segmentPointer;this._segmentPointer=t.clearOldSegment(i,r),this.player.debugLog(this.TAG_NAME,"clearOldSegment() update _segmentPointer:",r,this._segmentPointer),this.player.debugLog(this.TAG_NAME,"currentSegments",this.currentSegments)}checkSegmentTrackChange(e,t){const i=this.findSegmentIndexByTime(e),s=this.getSegmentByIndex(i);if(!s)return;if(!s.hasAudio&&!s.hasVideo)return;if(2!==t&&s.hasAudio&&s.hasVideo)return s;if(s.end-e>.3)return;const r=this.getSegmentByIndex(i+1);return r&&(r.hasAudio||r.hasVideo)&&(r.hasAudio!==s.hasAudio||r.hasVideo!==s.hasVideo)?r:void 0}}class Qb{constructor(e,t){this.hls=e,this.player=t;const i=window.crypto||window.msCrypto;this.subtle=i&&(i.subtle||i.webkitSubtle),this.externalDecryptor=null}decrypt(e,t){if(!e&&!t)return;const i=[];return e&&(i[0]=this._decryptSegment(e)),t&&(i[1]=this._decryptSegment(t)),Promise.all(i)}async _decryptSegment(e){let t=e.data;return e.key&&(t=await this._decryptData(e.data,e.key,e.keyIv)),e.map?Ch(e.map,t):t}async _decryptData(e,t,i){if(this.externalDecryptor)return await this.externalDecryptor.decrypt(e,t,i);if(this.subtle){const s=await this.subtle.importKey("raw",t,{name:"AES-CBC"},!1,["encrypt","decrypt"]),r=await this.subtle.decrypt({name:"AES-CBC",iv:i},s,e);return new Uint8Array(r)}e=Ud(e),t=Ud(t),i=Ud(i);return function(e){const{words:t}=e,{sigBytes:i}=e,s=new Uint8Array(i);for(let e=0;e>>2]>>>24-e%4*8&255;return s}(Md.AES.decrypt({ciphertext:e},t,{iv:i,mode:Md.mode.CBC}))}}class Xb extends ph{constructor(e){super(e),this.player=e,this._pmtId=-1,this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[],this._gopId=0,this._videoPid=-1,this._audioPid=-1,this._codecType=xt,this._audioCodecType=Bt,this._vps=null,this._sps=null,this._pps=null,this.TAG_NAME="HlsTsDemux",this.videoTrack=Xb.initVideoTrack(),this.audioTrack=Xb.initAudioTrack(),this._baseDts=-1,this._baseDtsInited=!1,this._basefps=25,this._hasAudio=!1,this._hasVideo=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._isSendAACSeqHeader=!1,this.workerClearTimeout=null,this.workerUrl=null,this.loopWorker=null,this.tempSampleListInfo={},this._isUseWorker()&&this._initLoopWorker(),this.player.isPlayVod()&&this._isUseWorker()&&this.player.on(At.playVodRateChange,(e=>{this.player.debugLog(this.TAG_NAME,"listen playVodRateChange",e),this._postMessageToLoopWorker("updatePlayRate",{rate:e})})),this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.workerUrl&&(URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.loopWorker&&(this.loopWorker.postMessage({cmd:"destroy"}),this.loopWorker.terminate(),this.loopWorker=null),this.videoTrack=null,this.audioTrack=null,this.tempSampleListInfo={},this._baseDts=-1,this._baseDtsInited=!1,this._basefps=25,this._hasCalcFps=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._isSendAACSeqHeader=!1,this.player.debugLog(this.TAG_NAME,"destroy")}static initVideoTrack(){return{samples:[]}}static initAudioTrack(){return{samples:[]}}static probe(e){return!!e.length&&(71===e[0]&&71===e[188]&&71===e[376])}_parsePES(e){const t=e[8];if(null==t||e.lengthe.length-6)return;let r,a;const o=e[7];return 192&o&&(r=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&o?(a=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,r-a>54e5&&(r=a)):a=r),{data:e.subarray(9+t),pts:r,dts:a,originalPts:r,originalDts:a}}_demux(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t&&(this._pmtId=-1,this.videoTrack=Xb.initVideoTrack(),this.audioTrack=Xb.initAudioTrack()),!i||t?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[],this.player.isPlayVod()&&this.player.playVod.isSeeking()&&(this.videoTrack.samples=[],this.audioTrack.samples=[])):(this.videoTrack.samples=[],this.audioTrack.samples=[],this._remainingPacketData&&(e=Ch(this._remainingPacketData,e),this._remainingPacketData=null));let s=e.length;const r=s%188;r&&(this._remainingPacketData=e.subarray(s-r),s-=r);for(let t=0;t>4>1){if(r=t+5+e[t+4],r===t+188)continue}else r=t+4;switch(s){case 0:i&&(r+=e[r]+1),this._pmtId=(31&e[r+10])<<8|e[r+11];break;case this._pmtId:{i&&(r+=e[r]+1);const t=r+3+((15&e[r+1])<<8|e[r+2])-4;for(r+=12+((15&e[r+10])<<8|e[r+11]);r=t)return[];const r=[];for(;s{const t=s?e[0]>>>1&63:31&e[0];switch(t){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!s&&5!==t||s&&5===t)break;r.isIFrame=!0,this._gopId++;break;case 6:case 39:case 40:if(!s&&6!==t||s&&6===t)break;const a=da(function(e){const t=e.byteLength,i=[];let s=1;for(;s=i)return;const r=s,a=[],o=(60&e[s+2])>>>2,n=zr[o];if(!n)throw new Error(`Invalid sampling index: ${o}`);const l=1+((192&e[s+2])>>>6),d=(1&e[s+2])<<2|(192&e[s+3])>>>6;let h,c,u=0;const p=Qr(n);for(;s+7>5,i-s=i?void 0:e.subarray(s),frames:a,samplingFrequencyIndex:o,sampleRate:n,objectType:l,channelCount:d,originCodec:`mp4a.40.${l}`}}(e.data,e.originalPts);if(t){if(this.audioTrack.codec=t.codec,this.audioTrack.sampleRate=t.sampleRate,this.audioTrack.channelCount=t.channelCount,!this._isSendAACSeqHeader){const e=Jr({profile:t.objectType,sampleRate:t.samplingFrequencyIndex,channel:t.channelCount});this._isSendAACSeqHeader=!0,this.player.debugLog(this.TAG_NAME,"aac seq header",`profile: ${t.objectType}, sampleRate:${t.sampleRate},sampleRateIndex: ${t.samplingFrequencyIndex}, channel: ${t.channelCount}`),this._doDecodeByHls(e,Ge,0,!1,0)}if(this._isSendAACSeqHeader){const e=[];t.frames.forEach((t=>{const i=t.pts,s=new Uint8Array(t.data.length+2);s.set([175,1],0),s.set(t.data,2);const r={type:Ge,pts:i,dts:i,payload:s};e.push(r)})),this.audioTrack.samples=this.audioTrack.samples.concat(e)}else this.player.debugWarn(this.TAG_NAME,"aac seq header not send")}else this.player.debugWarn(this.TAG_NAME,"aac parseADTS error")}this._audioPesData=[]}else e&&"startPrefixError"===e.code&&(this._audioPesData=[])}_fix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=Math.round(9e4*e);const s=this.videoTrack,r=this.audioTrack,a=s.samples,o=r.samples;if(!a.length&&!o.length)return;const n=a[0],l=o[0];let d=0;if(a.length&&o.length&&(d=n.dts-l.pts),this._baseDtsInited||this._calculateBaseDts(),t&&(this._calculateBaseDts(),this._baseDts-=e),!i){this._videoNextDts=d>0?e+d:e,this._audioNextPts=d>0?e:e-d;const t=n?n.dts-this._baseDts-this._videoNextDts:0,i=l?l.pts-this._baseDts-this._audioNextPts:0;Math.abs(t||i)>wr&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=e)}this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(r),this._fixVideo(s);let h=s.samples.concat(r.samples);h=h.map((e=>(e.dts=Math.round(e.dts/90),e.pts=Math.round(e.pts/90),e.cts=e.pts-e.dts,e))).sort(((e,t)=>e.dts-t.dts)),h.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,this._isUseWorker()?this.loopWorker.postMessage({...e,payload:t,cmd:"sample"},[t.buffer]):e.type===Ve?this._doDecodeVideo({...e,payload:t}):e.type===Ge&&this._doDecodeAudio({...e,payload:t})})),Lo(this._hasCalcFps)&&this._isUseWorker()&&(this._hasCalcFps=this._calcDecodeFps(h))}_calculateBaseDts(){const e=this.audioTrack,t=this.videoTrack,i=e.samples,s=t.samples;if(!i.length&&!s.length)return!1;let r=1/0,a=1/0;i.length&&(e.baseDts=r=i[0].pts),s.length&&(t.baseDts=a=s[0].dts),this._baseDts=Math.min(r,a);const o=a-r;return Number.isFinite(o)&&Math.abs(o)>45e3&&this.player.debugWarn(this.TAG_NAME,`large av first frame gap,\n video pts: ${a},\n audio pts: ${r},\n base dts: ${this._baseDts},\n detect is: ${o}`),this._baseDtsInited=!0,!0}_resetBaseDtsWhenStreamBreaked(){if(this._baseDtsInited&&this._videoTimestampBreak&&this._audioTimestampBreak){if(!this._calculateBaseDts(this.audioTrack,this.videoTrack))return;this._baseDts-=Math.min(this._audioNextPts,this._videoNextDts),this._audioLastSample=null,this._videoLastSample=null,this._videoTimestampBreak=!1,this._audioTimestampBreak=!1}}_fixAudio(e){const t=e.samples;t.length&&(t.forEach((e=>{e.pts-=this._baseDts,e.dts=e.pts})),this._doFixAudioInternal(e,t,9e4))}_fixVideo(e){const t=e.samples;if(!t.length)return;if(t.forEach((e=>{e.dts-=this._baseDts,e.pts-=this._baseDts})),void 0===this._videoNextDts){const e=t[0];this._videoNextDts=e.dts}const i=t.length;let s=0;const r=t[0],a=t[1],o=this._videoNextDts-r.dts;let n;Math.abs(o)>45e3&&(r.dts+=o,r.pts+=o,this.player.debugWarn(this.TAG_NAME,`large video gap between chunk,\n next dts is ${this._videoNextDts},\n first dts is ${r.dts},\n next dts is ${a&&a.dts},\n duration is ${o}`),a&&Math.abs(a.dts-r.dts)>wr&&(this._videoTimestampBreak=!0,t.forEach(((e,t)=>{0!==t&&(e.dts+=o,e.pts+=o)}))));const l=e.samples[0],d=e.samples[i-1];n=1===i?9e3:Math.floor((d.dts-l.dts)/(i-1));for(let r=0;rwr||s<0){this._videoTimestampBreak=!0,s=this._audioTimestampBreak?n:Math.max(s,2700);const i=this._audioNextPts||0;o&&o.dts>i&&(s=n),this.player.debugWarn(this.TAG_NAME,`large video gap between frames,\n time is ${a/e.timescale},\n dts is ${a},\n origin dts is ${t[r].originalDts},\n next dts is ${this._videoNextDts},\n sample Duration is ${s} ,\n ref Sample DurationInt is ${n}`)}t[r].duration=s,this._videoNextDts+=s}}_doFixAudioInternal(e,t,i){e.sampleDuration||(e.sampleDuration=Qr(e.timescale,i));const s=e.sampleDuration;if(void 0===this._audioNextPts){const e=t[0];this._audioNextPts=e.pts}for(let i=0;i=3*s&&o<=Er&&!Ca()){Yr(e.codec,e.channelCount)||t[0].data.subarray();const n=Math.floor(o/s);Math.abs(a.pts-this._lastAudioExceptionGapDot)>Tr&&(this._lastAudioExceptionGapDot=a.pts),this.player.debugWarn(this.TAG_NAME,`audio gap detected,\n pts is ${t.pts},\n originPts is ${t.originalPts},\n count is ${n},\n nextPts is ${r},\n ref sample duration is ${s}`);for(let e=0;e=-9e4?(Math.abs(a.pts-this._lastAudioExceptionOverlapDot)>Tr&&(this._lastAudioExceptionOverlapDot=a.pts,this.player.debugWarn(this.TAG_NAME,`audio overlap detected,\n pts is ${a.pts},\n originPts is ${a.originalPts},\n nextPts is ${r},\n ref sample duration is ${s}`)),t.splice(i,1),i--):(Math.abs(o)>=Er&&(this._audioTimestampBreak=!0,Math.abs(a.pts-this._lastAudioExceptionLargeGapDot)>Tr&&(this._lastAudioExceptionLargeGapDot=a.pts,this.player.debugWarn(this.TAG_NAME,`large audio gap detected,\n time is ${a.pts/1e3}\n pts is ${a.pts},\n originPts is ${a.originalPts},\n nextPts is ${r},\n sample duration is ${o}\n ref sample duration is ${s}`))),a.dts=a.pts=r,this._audioNextPts+=s)}}_isUseWorker(){return!this.player.isUseMSE()}_initLoopWorker(){this.player.debugLog(this.TAG_NAME,"_initLoopWorker()");const e=Po(function(){const e=1,t=2;let i=new class{constructor(){this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.allSampleList=[]}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(e){console.log(`JbPro:[TsLoader LoopWorker] updateBaseFps() baseFps is ${e}`),this.baseFps=e,this._clearInterval(),this._startInterval()}updatePlayRate(e){console.log(`JbPro:[TsLoader LoopWorker] updatePlayRate() rate is ${e}`),this.playRate=e,this._clearInterval(),this._startInterval()}seekSampleRange(e){console.log(`JbPro:[TsLoader LoopWorker] seekSampleRange() time is ${e}`);const i=1e3*e;let s=0,r=-1;for(let e=0;e=-2e3))return void console.log(`JbPro:[TsLoader LoopWorker] pushSample() type is ${e.type} , seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, and isIFrame ${e.isIFrame} , diff is ${i}ms and return`);console.log(`JbPro:[TsLoader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, diff is ${i}ms and set this.seekingTime = null`),this.seekingTime=null}this.allSampleList.push(e)}_startInterval(){const e=Math.ceil(1e3/(this.baseFps*this.playRate));console.log(`JbPro:[TsLoader LoopWorker] _startInterval() fragDuration is ${e}ms`),this.fpsInterval=setInterval((()=>{let t=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=t),this.startBpsTime||(this.startBpsTime=t);const i=t-this.preLoopTimestamp;if(i>2*e&&console.warn(`JbPro:[TsLoader LoopWorker] loop interval is ${i}ms, more than ${e} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){t-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=t)}}),e)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((s=>{s.type===t?(i.videoListLength++,s.duration&&(i.buferredDuration+=Math.round(s.duration/90))):s.type===e&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let i=null;if(this.allSampleList.length)if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]);let t=this.allSampleList[0];for(;t&&t.type===e;)i=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),t=this.allSampleList[0]}else if(i.type===e){postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]);let s=this.allSampleList[0];for(;s;){if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]),s=null;break}i.type===e&&(postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),s=this.allSampleList[0])}}}};self.onmessage=e=>{const t=e.data;switch(t.cmd){case"updateBaseFps":i.updateBaseFps(t.baseFps);break;case"updatePlayRate":i.updatePlayRate(t.rate);break;case"seekSampleRange":i.seekSampleRange(t.time);break;case"cleanSampleList":i.cleanSampleList();break;case"setSeekingTime":i.setSeekingTime(t.time);break;case"pause":i.pause();break;case"resume":i.resume();break;case"sample":i.pushSample(t);break;case"destroy":i.destroy(),i=null}}}.toString()),t=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(t);let s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ae),s.onmessage=e=>{const t=e.data;switch(t.cmd){case"decodeVideo":this._doDecodeVideo(t);break;case"decodeAudio":this._doDecodeAudio(t);break;case"sampleListInfo":if(this.tempSampleListInfo=t,this.player.isPlayVodNotUseMSE()){const e=this.geVodLoadedTime(),t=this.player.getPlayVodDuration();e&&t&&this.player.emit(At.playVodTimeCache,e/(1e3*t))}}},this.loopWorker=s}_postMessageToLoopWorker(e,t){this._isUseWorker()&&(this.loopWorker?this.loopWorker.postMessage({cmd:e,...t}):this.player.debugWarn(this.TAG_NAME,"loop worker is not init, can not post message"))}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this.player.updateStats({abps:t.byteLength});let i=this.cryptoPayloadAudio(t);this._doDecodeByHls(i,Ge,e.dts,!1,0)}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?dl(t,e.isIFrame):Kn(t,e.isIFrame),this.player.updateStats({dts:e.dts,vbps:i.byteLength});const s=e.pts-e.dts;let r=this.cryptoPayload(i,e.isIFrame);this._doDecodeByHls(r,Ve,e.dts,e.isIFrame,s)}getBuferredDuration(){return this.tempSampleListInfo.buferredDuration||0}getSampleListLength(){return this.tempSampleListInfo.allListLength||0}getSampleAudioListLength(){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){return this.tempSampleListInfo.videoListLength||0}getInputByteLength(){return this._remainingPacketData&&this._remainingPacketData.byteLength||0}getSampleRange(){return{start:this.tempSampleListInfo.start||0,end:this.tempSampleListInfo.end||0}}seekSampleRange(e){this._postMessageToLoopWorker("seekSampleRange",{time:e})}cleanSampleListAndSetSeekTime(e){Lo(this.player.isUseMSE())&&(this.clearBuffer(!0),this._postMessageToLoopWorker("cleanSampleList"),this._postMessageToLoopWorker("setSeekingTime",{time:e}))}pause(){this._postMessageToLoopWorker("pause")}resume(){this._postMessageToLoopWorker("resume")}geVodLoadedTime(){let e=0;return e=this.getSampleRange().end,e}}function Zb(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<8)+(e[t+1]||0)}function ev(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function tv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=Math.pow(2,32);return ev(e,t)*i+ev(e,t+4)}const iv="aac",sv="g7110a",rv="g7110m",av="avc",ov="hevc";class nv{static getFrameDuration(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}static getRateIndexByRate(e){return nv.FREQ.indexOf(e)}}function lv(e,t,i,s,r,a){const o=[],n=null==r?void 0:r.entries,l=t.entries,d=s.entries,h=i.entrySizes,c=null==a?void 0:a.entries;let u,p,m;c&&(u={},c.forEach((e=>{u[e-1]=!0}))),n&&(p=[],n.forEach((e=>{let{count:t,offset:i}=e;for(let e=0;e{let{count:t,delta:s}=e;for(let e=0;e=S&&(b++,S=l[b+1]?l[b+1].firstChunk-1:1/0),_+=l[b].samplesPerChunk)})),o}function dv(e,t){return e.dataReferenceIndex=Zb(t,6),e.width=Zb(t,24),e.height=Zb(t,26),e.horizresolution=ev(t,28),e.vertresolution=ev(t,32),e.frameCount=Zb(t,40),e.depth=Zb(t,74),78}function hv(e,t){return e.dataReferenceIndex=Zb(t,6),e.channelCount=Zb(t,16),e.sampleSize=Zb(t,18),e.sampleRate=ev(t,24)/65536,28}function cv(e,t,i){if(!e)return;if(e.size!==e.data.length)throw new Error(`box ${e.type} size !== data.length`);const s={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(s.version=e.data[e.headerSize],s.flags=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<16)+(e[t+1]<<8)+(e[t+2]||0)}(e.data,e.headerSize+1),s.headerSize+=4),i(s,e.data.subarray(s.headerSize),s.start+s.headerSize),s}Yh(nv,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);const uv=function(e,t,i){const s=String(i),r=t>>0;let a=Math.ceil(r/s.length);const o=[],n=String(e);for(;a--;)o.push(s);return o.join("").substring(0,r-n.length)+n},pv=function(){const e=[];for(var t=arguments.length,i=new Array(t),s=0;s{e.push(uv(Number(t).toString(16),2,0))})),e[0]};class mv{static probe(e){return!!mv.findBox(e,["ftyp"])}static findBox(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s=[];if(!e)return s;let r=0,a="",o=0;for(;e.length>7;){if(r=ev(e),a=String.fromCharCode.apply(null,e.subarray(4,8)),o=8,1===r?(r=tv(e,8),o+=8):r||(r=e.length),!t[0]||a===t[0]){const n=e.subarray(0,r);if(!(t.length<2))return mv.findBox(n.subarray(o),t.slice(1),i+o);s.push({start:i,size:r,headerSize:o,type:a,data:n})}i+=r,e=e.subarray(r)}return s}static tfhd(e){return cv(e,!0,((e,t)=>{e.trackId=ev(t);let i=4;const s=1&e.flags,r=2&e.flags,a=8&e.flags,o=16&e.flags,n=32&e.flags;s&&(i+=4,e.baseDataOffset=ev(t,i),i+=4),r&&(e.sampleDescriptionIndex=ev(t,i),i+=4),a&&(e.defaultSampleDuration=ev(t,i),i+=4),o&&(e.defaultSampleSize=ev(t,i),i+=4),n&&(e.defaultSampleFlags=ev(t,i))}))}static sidx(e){return cv(e,!0,((e,t)=>{let i=0;e.reference_ID=ev(t,i),i+=4,e.timescale=ev(t,i),i+=4,0===e.version?(e.earliest_presentation_time=ev(t,i),i+=4,e.first_offset=ev(t,i),i+=4):(e.earliest_presentation_time=tv(t,i),i+=8,e.first_offset=tv(t,i),i+=8),i+=2,e.references=[];const s=Zb(t,i);i+=2;for(let r=0;r>31&1,s.referenced_size=2147483647&r,s.subsegment_duration=ev(t,i),i+=4,r=ev(t,i),i+=4,s.starts_with_SAP=r>>31&1,s.SAP_type=r>>28&7,s.SAP_delta_time=268435455&r}}))}static moov(e){return cv(e,!1,((e,t,i)=>{e.mvhd=mv.mvhd(mv.findBox(t,["mvhd"],i)[0]),e.trak=mv.findBox(t,["trak"],i).map((e=>mv.trak(e))),e.pssh=mv.pssh(mv.findBox(t,["pssh"],i)[0])}))}static mvhd(e){return cv(e,!0,((e,t)=>{let i=0;1===e.version?(e.timescale=ev(t,16),e.duration=tv(t,20),i+=28):(e.timescale=ev(t,8),e.duration=ev(t,12),i+=16),e.nextTrackId=ev(t,i+76)}))}static trak(e){return cv(e,!1,((e,t,i)=>{e.tkhd=mv.tkhd(mv.findBox(t,["tkhd"],i)[0]),e.mdia=mv.mdia(mv.findBox(t,["mdia"],i)[0])}))}static tkhd(e){return cv(e,!0,((e,t)=>{let i=0;1===e.version?(e.trackId=ev(t,16),e.duration=tv(t,24),i+=32):(e.trackId=ev(t,8),e.duration=ev(t,16),i+=20),e.width=ev(t,i+52),e.height=ev(t,i+56)}))}static mdia(e){return cv(e,!1,((e,t,i)=>{e.mdhd=mv.mdhd(mv.findBox(t,["mdhd"],i)[0]),e.hdlr=mv.hdlr(mv.findBox(t,["hdlr"],i)[0]),e.minf=mv.minf(mv.findBox(t,["minf"],i)[0])}))}static mdhd(e){return cv(e,!0,((e,t)=>{let i=0;1===e.version?(e.timescale=ev(t,16),e.duration=tv(t,20),i+=28):(e.timescale=ev(t,8),e.duration=ev(t,12),i+=16);const s=Zb(t,i);e.language=String.fromCharCode(96+(s>>10&31),96+(s>>5&31),96+(31&s))}))}static hdlr(e){return cv(e,!0,((e,t)=>{0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}static minf(e){return cv(e,!1,((e,t,i)=>{e.vmhd=mv.vmhd(mv.findBox(t,["vmhd"],i)[0]),e.smhd=mv.smhd(mv.findBox(t,["smhd"],i)[0]),e.stbl=mv.stbl(mv.findBox(t,["stbl"],i)[0])}))}static vmhd(e){return cv(e,!0,((e,t)=>{e.graphicsmode=Zb(t),e.opcolor=[Zb(t,2),Zb(t,4),Zb(t,6)]}))}static smhd(e){return cv(e,!0,((e,t)=>{e.balance=Zb(t)}))}static stbl(e){return cv(e,!1,((e,t,i)=>{var s,r,a;e.stsd=mv.stsd(mv.findBox(t,["stsd"],i)[0]),e.stts=mv.stts(mv.findBox(t,["stts"],i)[0]),e.ctts=mv.ctts(mv.findBox(t,["ctts"],i)[0]),e.stsc=mv.stsc(mv.findBox(t,["stsc"],i)[0]),e.stsz=mv.stsz(mv.findBox(t,["stsz"],i)[0]),e.stco=mv.stco(mv.findBox(t,["stco"],i)[0]),e.stco||(e.co64=mv.co64(mv.findBox(t,["co64"],i)[0]),e.stco=e.co64);const o=null===(s=e.stsd.entries[0])||void 0===s||null===(r=s.sinf)||void 0===r||null===(a=r.schi)||void 0===a?void 0:a.tenc.default_IV_size;e.stss=mv.stss(mv.findBox(t,["stss"],i)[0]),e.senc=mv.senc(mv.findBox(t,["senc"],i)[0],o)}))}static senc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return cv(e,!0,((e,i)=>{let s=0;const r=ev(i,s);s+=4,e.samples=[];for(let a=0;a{const i=[],s=[];let r=0;for(let e=0;e<16;e++)s.push(pv(t[r+e]));if(r+=16,e.version>0){const e=ev(t,r);r+=4;for(let s=0;s<(""+e).length;s++)for(let e=0;e<16;e++){const e=t[r];r+=1,i.push(pv(e))}}const a=ev(t,r);e.data_size=a,r+=4,e.kid=i,e.system_id=s,e.buffer=t}))}static stsd(e){return cv(e,!0,((e,t,i)=>{e.entryCount=ev(t),e.entries=mv.findBox(t.subarray(4),[],i+4).map((e=>{switch(e.type){case"avc1":case"avc2":case"avc3":case"avc4":return mv.avc1(e);case"hvc1":case"hev1":return mv.hvc1(e);case"mp4a":return mv.mp4a(e);case"alaw":case"ulaw":return mv.alaw(e);case"enca":return cv(e,!1,((e,t,i)=>{e.channelCount=Zb(t,16),e.samplesize=Zb(t,18),e.sampleRate=ev(t,24)/65536,t=t.subarray(28),e.sinf=mv.sinf(mv.findBox(t,["sinf"],i)[0]),e.esds=mv.esds(mv.findBox(t,["esds"],i)[0])}));case"encv":return cv(e,!1,((e,t,i)=>{e.width=Zb(t,24),e.height=Zb(t,26),e.horizresolution=ev(t,28),e.vertresolution=ev(t,32),t=t.subarray(78),e.sinf=mv.sinf(mv.findBox(t,["sinf"],i)[0]),e.avcC=mv.avcC(mv.findBox(t,["avcC"],i)[0]),e.hvcC=mv.hvcC(mv.findBox(t,["hvcC"],i)[0]),e.pasp=mv.pasp(mv.findBox(t,["pasp"],i)[0])}))}})).filter(Boolean)}))}static tenc(e){return cv(e,!1,((e,t)=>{let i=6;e.default_IsEncrypted=t[i],i+=1,e.default_IV_size=t[i],i+=1,e.default_KID=[];for(let s=0;s<16;s++)e.default_KID.push(pv(t[i])),i+=1}))}static schi(e){return cv(e,!1,((e,t,i)=>{e.tenc=mv.tenc(mv.findBox(t,["tenc"],i)[0])}))}static sinf(e){return cv(e,!1,((e,t,i)=>{e.schi=mv.schi(mv.findBox(t,["schi"],i)[0]),e.frma=mv.frma(mv.findBox(t,["frma"],i)[0])}))}static frma(e){return cv(e,!1,((e,t)=>{e.data_format="";for(let i=0;i<4;i++)e.data_format+=String.fromCharCode(t[i])}))}static avc1(e){return cv(e,!1,((e,t,i)=>{const s=dv(e,t),r=t.subarray(s);i+=s,e.avcC=mv.avcC(mv.findBox(r,["avcC"],i)[0]),e.pasp=mv.pasp(mv.findBox(r,["pasp"],i)[0])}))}static avcC(e){return cv(e,!1,((e,t)=>{e.configurationVersion=t[0],e.AVCProfileIndication=t[1],e.profileCompatibility=t[2],e.AVCLevelIndication=t[3],e.codec=function(e){let t,i="avc1.";for(let s=0;s<3;s++)t=e[s].toString(16),t.length<2&&(t=`0${t}`),i+=t;return i}([t[1],t[2],t[3]]),e.lengthSizeMinusOne=3&t[4],e.spsLength=31&t[5],e.sps=[];let i=6;for(let s=0;s{const s=dv(e,t),r=t.subarray(s);i+=s,e.hvcC=mv.hvcC(mv.findBox(r,["hvcC"],i)[0]),e.pasp=mv.pasp(mv.findBox(r,["pasp"],i)[0])}))}static hvcC(e){return cv(e,!1,((t,i)=>{t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=i[0];const s=i[1];t.generalProfileSpace=s>>6,t.generalTierFlag=(32&s)>>5,t.generalProfileIdc=31&s,t.generalProfileCompatibility=ev(i,2),t.generalConstraintIndicatorFlags=i.subarray(6,12),t.generalLevelIdc=i[12],t.avgFrameRate=Zb(i,19),t.numOfArrays=i[22],t.vps=[],t.sps=[],t.pps=[];let r=23,a=0,o=0,n=0;for(let e=0;e{e.hSpacing=ev(t),e.vSpacing=ev(t,4)}))}static mp4a(e){return cv(e,!1,((e,t,i)=>{const s=hv(e,t);e.esds=mv.esds(mv.findBox(t.subarray(s),["esds"],i+s)[0])}))}static esds(e){return cv(e,!0,((e,t)=>{e.codec="mp4a.";let i=0,s=0,r=0,a=0;for(;t.length;){for(i=0,a=t[i],s=t[i+1],i+=2;128&s;)r=(127&s)<<7,s=t[i],i+=1;if(r+=127&s,3===a)t=t.subarray(i+3);else{if(4!==a){if(5===a){const s=e.config=t.subarray(i,i+r);let a=(248&s[0])>>3;return 31===a&&s.length>=2&&(a=32+((7&s[0])<<3)+((224&s[1])>>5)),e.objectType=a,e.codec+=a.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}e.codec+=(t[i].toString(16)+".").padStart(3,"0"),t=t.subarray(i+13)}}}))}static alaw(e){return cv(e,!1,((e,t)=>{hv(e,t)}))}static stts(e){return cv(e,!0,((e,t)=>{const i=ev(t),s=[];let r=4;for(let e=0;e{const i=ev(t),s=[];let r=4;if(1===e.version)for(let e=0;e{const i=ev(t),s=[];let r=4;for(let e=0;e{const i=ev(t),s=ev(t,4),r=[];if(!i){let e=8;for(let i=0;i{const i=ev(t),s=[];let r=4;for(let e=0;e{const i=ev(t),s=[];let r=4;for(let e=0;e{const i=ev(t),s=[];let r=4;for(let e=0;e{e.mfhd=mv.mfhd(mv.findBox(t,["mfhd"],i)[0]),e.traf=mv.findBox(t,["traf"],i).map((e=>mv.traf(e)))}))}static mfhd(e){return cv(e,!0,((e,t)=>{e.sequenceNumber=ev(t)}))}static traf(e){return cv(e,!1,((e,t,i)=>{e.tfhd=mv.tfhd(mv.findBox(t,["tfhd"],i)[0]),e.tfdt=mv.tfdt(mv.findBox(t,["tfdt"],i)[0]),e.trun=mv.trun(mv.findBox(t,["trun"],i)[0])}))}static trun(e){return cv(e,!0,((e,t)=>{const{version:i,flags:s}=e,r=t.length,a=e.sampleCount=ev(t);let o=4;if(r>o&&1&s&&(e.dataOffset=-(1+~ev(t,o)),o+=4),r>o&&4&s&&(e.firstSampleFlags=ev(t,o),o+=4),e.samples=[],r>o){let r;for(let n=0;n{1===e.version?e.baseMediaDecodeTime=tv(t):e.baseMediaDecodeTime=ev(t)}))}static probe(e){return!!mv.findBox(e,["ftyp"])}static parseSampleFlags(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}static moovToTrack(e,t,i){var s,r;const a=e.trak;if(!a||!a.length)return;const o=a.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),n=a.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));if(o&&t){var l,d,h,c,u,p,m;const i=t,s=null===(l=o.tkhd)||void 0===l?void 0:l.trackId;null!=s&&(i.id=o.tkhd.trackId),i.tkhdDuration=o.tkhd.duration,i.mvhdDurtion=e.mvhd.duration,i.mvhdTimecale=e.mvhd.timescale,i.timescale=i.formatTimescale=o.mdia.mdhd.timescale,i.duration=o.mdia.mdhd.duration||i.mvhdDurtion/i.mvhdTimecale*i.timescale;const r=o.mdia.minf.stbl.stsd.entries[0];if(i.width=r.width,i.height=r.height,r.pasp&&(i.sarRatio=[r.pasp.hSpacing,r.pasp.vSpacing]),r.hvcC)i.codecType=ov,i.codec=r.hvcC.codec,i.vps=r.hvcC.vps,i.sps=r.hvcC.sps,i.pps=r.hvcC.pps,i.hvcC=r.hvcC.data;else{if(!r.avcC)throw new Error("unknown video stsd entry");i.codecType=av,i.codec=r.avcC.codec,i.sps=r.avcC.sps,i.pps=r.avcC.pps}var f,g,y,A,b,v,_,S;if(i.present=!0,i.ext={},i.ext.stss=null===(d=o.mdia)||void 0===d||null===(h=d.minf)||void 0===h||null===(c=h.stbl)||void 0===c?void 0:c.stss,i.ext.ctts=null===(u=o.mdia)||void 0===u||null===(p=u.minf)||void 0===p||null===(m=p.stbl)||void 0===m?void 0:m.ctts,r&&"encv"===r.type)i.isVideoEncryption=!0,r.default_KID=null===(f=r.sinf)||void 0===f||null===(g=f.schi)||void 0===g?void 0:g.tenc.default_KID,r.default_IsEncrypted=null===(y=r.sinf)||void 0===y||null===(A=y.schi)||void 0===A?void 0:A.tenc.default_IsEncrypted,r.default_IV_size=null===(b=r.sinf)||void 0===b||null===(v=b.schi)||void 0===v?void 0:v.tenc.default_IV_size,i.videoSenc=o.mdia.minf.stbl.senc&&o.mdia.minf.stbl.senc.samples,r.data_format=null===(_=r.sinf)||void 0===_||null===(S=_.frma)||void 0===S?void 0:S.data_format,i.useEME=e.useEME,i.kidValue=e.kidValue,i.pssh=e.pssh,i.encv=r}if(n&&i){var E,T,w,k,L,C,D,x,R;const t=i,a=null===(E=n.tkhd)||void 0===E?void 0:E.trackId;null!=a&&(t.id=n.tkhd.trackId),t.tkhdDuration=n.tkhd.duration,t.mvhdDurtion=e.mvhd.duration,t.mvhdTimecale=e.mvhd.timescale,t.timescale=t.formatTimescale=n.mdia.mdhd.timescale,t.duration=n.mdia.mdhd.duration||t.mvhdDurtion/t.mvhdTimecale*t.timescale;const o=n.mdia.minf.stbl.stsd.entries[0];switch(t.sampleSize=o.sampleSize,t.sampleRate=o.sampleRate,t.channelCount=o.channelCount,t.present=!0,o.type){case"alaw":t.codecType=t.codec=sv,t.sampleRate=8e3;break;case"ulaw":t.codecType=t.codec=rv,t.sampleRate=8e3;break;default:t.codecType=iv,t.sampleDuration=nv.getFrameDuration(t.sampleRate,t.timescale),t.sampleRateIndex=nv.getRateIndexByRate(t.sampleRate),t.objectType=(null===(s=o.esds)||void 0===s?void 0:s.objectType)||2,o.esds&&(t.config=Array.from(o.esds.config)),t.codec=(null===(r=o.esds)||void 0===r?void 0:r.codec)||"mp4a.40.2"}var P,I,B,M,F,U,O,N;if(t.sampleDuration=nv.getFrameDuration(t.sampleRate,t.timescale),t.objectType=(null===(T=o.esds)||void 0===T?void 0:T.objectType)||2,o.esds&&(o.esds.config?t.config=Array.from(o.esds.config):console.warn("esds config is null")),t.codec=(null===(w=o.esds)||void 0===w?void 0:w.codec)||"mp4a.40.2",t.sampleRateIndex=nv.getRateIndexByRate(t.sampleRate),t.ext={},t.ext.stss=null===(k=n.mdia)||void 0===k||null===(L=k.minf)||void 0===L||null===(C=L.stbl)||void 0===C?void 0:C.stss,t.ext.ctts=null===(D=n.mdia)||void 0===D||null===(x=D.minf)||void 0===x||null===(R=x.stbl)||void 0===R?void 0:R.ctts,t.present=!0,o&&"enca"===o.type)t.isAudioEncryption=!0,o.data_format=null===(P=o.sinf)||void 0===P||null===(I=P.frma)||void 0===I?void 0:I.data_format,o.default_KID=null===(B=o.sinf)||void 0===B||null===(M=B.schi)||void 0===M?void 0:M.tenc.default_KID,o.default_IsEncrypted=null===(F=o.sinf)||void 0===F||null===(U=F.schi)||void 0===U?void 0:U.tenc.default_IsEncrypted,o.default_IV_size=null===(O=o.sinf)||void 0===O||null===(N=O.schi)||void 0===N?void 0:N.tenc.default_IV_size,t.audioSenc=n.mdia.minf.stbl.senc&&n.mdia.minf.stbl.senc.samples,t.useEME=e.useEME,t.kidValue=e.kidValue,t.enca=o}if(i&&(i.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!i&&i.isAudioEncryption),null!=t&&t.encv||null!=i&&i.enca){var j,G;const e=null==t||null===(j=t.encv)||void 0===j?void 0:j.default_KID,s=null==i||null===(G=i.enca)||void 0===G?void 0:G.default_KID,r=e||s?(e||s).join(""):null;t&&(t.kid=r),i&&(i.kid=r)}return t&&(t.flags=3841),i&&(i.flags=1793),{videoTrack:t,audioTrack:i}}static evaluateDefaultDuration(e,t,i){var s;const r=null==t||null===(s=t.samples)||void 0===s?void 0:s.length;if(!r)return 1024;return 1024*r/t.timescale*e.timescale/i}static moofToSamples(e,t,i){const s={};return e.mfhd&&(t&&(t.sequenceNumber=e.mfhd.sequenceNumber),i&&(i.sequenceNumber=e.mfhd.sequenceNumber)),e.traf.forEach((e=>{let{tfhd:r,tfdt:a,trun:o}=e;if(!r||!o)return;a&&(t&&t.id===r.trackId&&(t.baseMediaDecodeTime=a.baseMediaDecodeTime),i&&i.id===r.trackId&&(i.baseMediaDecodeTime=a.baseMediaDecodeTime));const n=r.defaultSampleSize||0,l=r.defaultSampleDuration||mv.evaluateDefaultDuration(t,i,o.samples.length||o.sampleCount);let d=o.dataOffset||0,h=0,c=-1;if(!o.samples.length&&o.sampleCount){s[r.trackId]=[];for(let e=0;e((e={offset:d,dts:h,pts:h+(e.cts||0),duration:e.duration||l,size:e.size||n,gopId:c,keyframe:0===t||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(c++,e.gopId=c),h+=e.duration,d+=e.size,e)))})),s}static moovToSamples(e){const t=e.trak;if(!t||!t.length)return;const i=t.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),s=t.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));if(!i&&!s)return;let r,a;if(i){var o,n;const e=null===(o=i.mdia)||void 0===o||null===(n=o.minf)||void 0===n?void 0:n.stbl;if(!e)return;const{stts:t,stsc:s,stsz:a,stco:l,stss:d,ctts:h}=e;if(!(t&&s&&a&&l&&d))return;r=lv(t,s,a,l,h,d)}if(s){var l,d,h;const e=null===(l=s.mdia)||void 0===l||null===(d=l.minf)||void 0===d?void 0:d.stbl;if(!e)return;const t=null===(h=s.mdia.mdhd)||void 0===h?void 0:h.timescale,{stts:i,stsc:r,stsz:o,stco:n}=e;if(!(t&&i&&r&&o&&n))return;a=lv(i,r,o,n)}return{videoSamples:r,audioSamples:a}}}class fv extends ph{constructor(e){super(e),this.player=e,this.TAG_NAME="HlsFmp4Demux",this.tempSampleListInfo={},this.isInitVideo=!1,this.isInitAudio=!1,this.videoTrack={id:1,samples:[],sps:[],pps:[],vps:[],codec:""},this.audioTrack={id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""},this.workerClearTimeout=null,this.workerUrl=null,this.loopWorker=null,this._hasCalcFps=!1,this._basefps=25,this._isUseWorker()&&this._initLoopWorker(),this.player.isPlayVod()&&this._isUseWorker()&&this.player.on(At.playVodRateChange,(e=>{this.player.debugLog(this.TAG_NAME,"listen playVodRateChange",e),this._postMessageToLoopWorker("updatePlayRate",{rate:e})})),e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.workerUrl&&(URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.loopWorker&&(this.loopWorker.postMessage({cmd:"destroy"}),this.loopWorker.terminate(),this.loopWorker=null),this._hasCalcFps=!1,this.videoTrack=null,this.audioTrack=null,this.isInitVideo=!1,this.isInitAudio=!1,this._basefps=25,this.player.debugLog(this.TAG_NAME,"destroy")}demux(e,t){let i=this.audioTrack,s=this.videoTrack;if(this.checkInitAudio(),this.checkInitVideo(),i.samples=[],s.samples=[],t){if(this.player.updateStats({abps:t.byteLength}),Lo(this.isInitAudio)){const e=mv.findBox(t,["moov"])[0];if(!e)return void this.player.debugError(this.TAG_NAME,"cannot found moov box");mv.moovToTrack(mv.moov(e),null,i),this.checkInitAudio()&&(this.player.debugLog(this.TAG_NAME,"audioData audio init success"),this._sendAccADTSHeader(i))}const e=mv.findBox(t,["moof"])[0];if(e){const s=mv.moofToSamples(mv.moof(e),null,i)[i.id],r=i.baseMediaDecodeTime;if(s){const a=e.start;s.map((e=>{e.offset+=a;const s=t.subarray(e.offset,e.offset+e.size),o=e.dts+r,n=new Uint8Array(s.length+2);n.set([175,1],0),n.set(s,2),i.samples.push({type:Ge,pts:o,dts:o,payload:n,duration:e.duration,size:n.byteLength})}))}}}if(e){if(this.player.updateStats({vbps:e.byteLength}),Lo(this.isInitVideo)&&Lo(this.isInitAudio)){const t=mv.findBox(e,["moov"])[0];if(!t)throw new Error("cannot found moov box");if(mv.moovToTrack(mv.moov(t),s,i),Lo(this.isInitAudio)&&this.checkInitAudio()&&(this.player.debugLog(this.TAG_NAME,"videoData audio init success",i),this._sendAccADTSHeader(i)),this.checkInitVideo()){this.player.debugLog(this.TAG_NAME,"video init success");let e=null;s.codecType===ms?s.sps.length&&s.vps.length&&s.pps.length&&(e=ll({sps:s.sps[0],pps:s.pps[0],vps:s.vps[0]})):s.sps.length&&s.pps.length&&(e=qn({sps:s.sps[0],pps:s.pps[0]})),e&&(this.player.debugLog(this.TAG_NAME,"seqHeader"),this._doDecodeByHls(e,Ve,0,!0,0))}}const t=mv.findBox(e,["moof"])[0];if(t){const r=mv.moofToSamples(mv.moof(t),s,i),a=s.baseMediaDecodeTime,o=i.baseMediaDecodeTime,n=t.start;Object.keys(r).forEach((t=>{s.id==t?r[t].map((t=>{t.offset+=n;const i={type:Ve,pts:(t.pts||t.dts)+a,dts:t.dts+a,units:[],payload:null,isIFrame:!1};i.duration=t.duration,i.gopId=t.gopId,t.keyframe&&(i.isIFrame=!0);const r=e.subarray(t.offset,t.offset+t.size);i.payload=r,s.samples.push(i)})):i.id==t&&r[t].map((t=>{t.offset+=n;const s=e.subarray(t.offset,t.offset+t.size),r=t.dts+o,a=new Uint8Array(s.length+2);a.set([175,1],0),a.set(s,2),i.samples.push({type:Ge,pts:r,dts:r,payload:a,duration:t.duration,size:a.byteLength})}))}))}}const r=s.samples.concat(i.samples);r.sort(((e,t)=>e.dts-t.dts)),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,this._isUseWorker()?this.loopWorker.postMessage({...e,payload:t,cmd:"sample"},[t.buffer]):e.type===Ve?this._doDecodeVideo({...e,payload:t}):e.type===Ge&&this._doDecodeAudio({...e,payload:t})})),Lo(this._hasCalcFps)&&this._isUseWorker()&&(this._hasCalcFps=this._calcDecodeFps(r))}checkInitAudio(){return this.isInitAudio=!!(this.audioTrack.sampleRate&&this.audioTrack.channelCount&&this.audioTrack.codec&&"aac"===this.audioTrack.codecType),this.isInitAudio}checkInitVideo(){return this.isInitVideo=!!(this.videoTrack.pps.length&&this.videoTrack.sps.length&&this.videoTrack.codec),this.isInitVideo}_sendAccADTSHeader(e){const t=Jr({profile:e.objectType,sampleRate:e.sampleRateIndex,channel:e.channelCount});this._doDecodeByHls(t,Ge,0,!0,0)}_initLoopWorker(){this.player.debugLog(this.TAG_NAME,"_initLoopWorker()");const e=Po(function(){const e=1,t=2;let i=new class{constructor(){this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.allSampleList=[]}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(e){this.baseFps=e,this._clearInterval(),this._startInterval()}updatePlayRate(e){this.playRate=e,this._clearInterval(),this._startInterval()}seekSampleRange(e){console.log(`JbPro:[HlsFmp4Loader LoopWorker] seekSampleRange() time is ${e}`);const i=1e3*e;let s=0,r=0;for(let e=0;e0&&t=-2e3))return void console.log(`JbPro:[HlsFmp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, diff is ${i}ms and return`);console.log(`JbPro:[HlsFmp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, diff is ${i}ms and set this.seekingTime = null`),this.seekingTime=null}this.allSampleList.push(e)}_startInterval(){const e=Math.ceil(1e3/this.baseFps);console.log(`JbPro:[HlsFmp4Loader LoopWorker] _startInterval() fragDuration is ${e}ms`),this.fpsInterval=setInterval((()=>{let t=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=t),this.startBpsTime||(this.startBpsTime=t);const i=t-this.preLoopTimestamp;if(i>2*e&&console.warn(`JbPro:[HlsFmp4Loader LoopWorker] loop interval is ${i}ms, more than ${e} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){t-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=t)}}),e)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((s=>{s.type===t?(i.videoListLength++,s.duration&&(i.buferredDuration+=s.duration)):s.type===e&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let i=null;if(this.allSampleList.length)if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]);let t=this.allSampleList[0];for(;t&&t.type===e;)i=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),t=this.allSampleList[0]}else if(i.type===e){postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]);let s=this.allSampleList[0];for(;s;){if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]),s=null;break}i.type===e&&(postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),s=this.allSampleList[0])}}}};self.onmessage=e=>{const t=e.data;switch(t.cmd){case"updateBaseFps":i.updateBaseFps(t.baseFps);break;case"updatePlayRate":i.updatePlayRate(t.rate);break;case"seekSampleRange":i.seekSampleRange(t.time);break;case"cleanSampleList":i.cleanSampleList();break;case"setSeekingTime":i.setSeekingTime(t.time);break;case"pause":i.pause();break;case"resume":i.resume();break;case"sample":i.pushSample(t);break;case"destroy":i.destroy(),i=null}}}.toString()),t=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(t);let s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ae),s.onmessage=e=>{const t=e.data;switch(t.cmd){case"decodeVideo":this._doDecodeVideo(t);break;case"decodeAudio":this._doDecodeAudio(t);break;case"sampleListInfo":if(this.tempSampleListInfo=t,this.player.isPlayVodNotUseMSE()){const e=this.geVodLoadedTime(),t=this.player.getPlayVodDuration();e&&t&&this.player.emit(At.playVodTimeCache,e/(1e3*t))}}},this.loopWorker=s}_postMessageToLoopWorker(e,t){this._isUseWorker()&&(this.loopWorker?this.loopWorker.postMessage({cmd:e,...t}):this.player.debugWarn(this.TAG_NAME,"loop worker is not init, can not post message"))}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this.player.updateStats({abps:t.byteLength}),this.cryptoPayloadAudio(t),this._doDecodeByHls(t,Ge,e.dts,!1,0)}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?dl(t,e.isIFrame):Kn(t,e.isIFrame),this.player.updateStats({dts:e.dts,vbps:i.byteLength});const s=e.pts-e.dts;let r=this.cryptoPayload(i,e.isIFrame);this._doDecodeByHls(r,Ve,e.dts,e.isIFrame,s)}getBuferredDuration(){return this.tempSampleListInfo.buferredDuration||0}getSampleListLength(){return this.tempSampleListInfo.allListLength||0}getSampleAudioListLength(){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){return this.tempSampleListInfo.videoListLength||0}getSampleRange(){return{start:this.tempSampleListInfo.start||0,end:this.tempSampleListInfo.end||0}}seekSampleRange(e){this._postMessageToLoopWorker("seekSampleRange",{time:e})}cleanSampleListAndSetSeekTime(e){Lo(this.player.isUseMSE())&&(this.clearBuffer(!0),this._postMessageToLoopWorker("cleanSampleList"),this._postMessageToLoopWorker("setSeekingTime",{time:e}))}pause(){this._postMessageToLoopWorker("pause")}resume(){this._postMessageToLoopWorker("resume")}geVodLoadedTime(){let e=0;return e=this.getSampleRange().end,e}}class gv{constructor(e,t){this.hls=e,this.player=this.hls.player,this.isMP4=t,this._initSegmentId="",this.TAG_NAME="HlsTransmuxer",this._demuxer=t?new fv(this.hls.player):new Xb(this.hls.player),this.player.debugLog(this.TAG_NAME,`init and isMP4 is ${t}`)}destroy(){this._demuxer&&(this._demuxer.destroy(),this._demuxer=null)}transmux(e,t,i,s,r,a){this.player.debugLog(this.TAG_NAME,`transmux videoChunk:${e&&e.byteLength}, audioChunk:${t&&t.byteLength}, discontinuity:${i}, contiguous:${s}, startTime:${r}, needInit:${a}`);const o=this._demuxer;try{this.isMP4?o.demux(e,t):o.demuxAndFix(Ch(e,t),i,s,r)}catch(e){throw new wb(Tb,Eb,e)}}}class yv{constructor(e){this.hls=e,this.player=e.player,this._decryptor=new Qb(this.hls,this.player),this._transmuxer=null,this._mse=null,this._softVideo=null,this._sourceCreated=!1,this._needInitSegment=!0,this._directAppend=!1,this.TAG_NAME="HlsBufferService"}async destroy(){this._softVideo=null,this._transmuxer&&(this._transmuxer.destroy(),this._transmuxer=null)}get baseDts(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t._baseDts}get nbSb(){return 0}async updateDuration(e){this.player.debugLog(this.TAG_NAME,"updateDuration()",e),this.player.isPlayVod()&&(this.player.playVod.updateDuration(e),this.player.isPlayVodUseMSE()&&this.player.mseDecoder&&this.player.mseDecoder.isStateOpen&&this.player.mseDecoder.updateMediaSourceDuration(e))}getBuferredDuration(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getBuferredDuration()}getBufferedSegments(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleListLength()}getBufferedAudioSegments(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleAudioListLength()}getBufferedVideoSegments(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleVideoListLength()}createSource(e,t,i,s){if(this._sourceCreated)return;const r=e||t;r&&(Xb.probe(r)?this._transmuxer||(this._transmuxer=new gv(this.hls,!1)):mv.probe(r)?this._transmuxer||(this._transmuxer=new gv(this.hls,!0)):this.player.debugError(this.TAG_NAME,"createSource error: chunk is not ts"))}async appendBuffer(e,t,i,s,r,a,o){if(null!=i&&i.length||null!=s&&s.length)return this._needInitSegment,this._transmuxer.transmux(i,s,r,a,o,this._needInitSegment||r),!0}async clearAllBuffer(){this.player.debugLog(this.TAG_NAME,"clearAllBuffer")}decryptBuffer(e,t){return this._decryptor.decrypt(e,t)}async reset(){this._transmuxer=null,this._needInitSegment=!0,this._directAppend=!1}async endOfStream(){this._softVideo&&this._softVideo.endOfStream()}async setLiveSeekableRange(e,t){}seamlessSwitch(){this._needInitSegment=!0}getTsSampleRange(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleRange()}seekSampleRange(e){var t,i;return null===(t=this._transmuxer)||void 0===t||null===(i=t._demuxer)||void 0===i?void 0:i.seekSampleRange(e)}cleanSampleListAndSetSeekTime(e){var t,i;null===(t=this._transmuxer)||void 0===t||null===(i=t._demuxer)||void 0===i||i.cleanSampleListAndSetSeekTime(e)}demuxerPause(){var e,t;null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t||t.pause()}demuxerResume(){var e,t;null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t||t.resume()}}class Av{constructor(e){this.emitter=e,this._seiSet=new Set,e.on(Ks,(e=>{e&&this._seiSet.add(e)}))}throw(e){if(null==e||!this._seiSet.size)return;const t=e-.2,i=e+.2,s=[];this._seiSet.forEach((e=>{e.time>=t&&e.time<=i&&s.push(e)})),s.forEach((e=>{this._seiSet.delete(e),this.emitter.emit(Ys,e)}))}reset(){this._seiSet.clear()}}class bv{constructor(e){this._timescale=e,this.encodeType="",this.audioCodec="",this.videoCodec="",this.domain="",this.fps=0,this.bitrate=0,this.width=0,this.height=0,this.samplerate=0,this.channelCount=0,this.gop=0,this._bitsAccumulateSize=0,this._bitsAccumulateDuration=0}getStats(){return{encodeType:this.encodeType,audioCodec:this.audioCodec,videoCodec:this.videoCodec,domain:this.domain,fps:this.fps,bitrate:this.bitrate,width:this.width,height:this.height,samplerate:this.samplerate,channelCount:this.channelCount,gop:this.gop}}setEncodeType(e){this.encodeType=e}setFpsFromScriptData(e){var t;let{data:i}=e;const s=null==i||null===(t=i.onMetaData)||void 0===t?void 0:t.framerate;s&&s>0&&s<100&&(this.fps=s)}setVideoMeta(e){if(this.width=e.width,this.height=e.height,this.videoCodec=e.codec,this.encodeType=e.codecType,e.fpsNum&&e.fpsDen){const t=e.fpsNum/e.fpsDen;t>0&&t<100&&(this.fps=t)}}setAudioMeta(e){this.audioCodec=e.codec,this.samplerate=e.sampleRate,this.channelCount=e.channelCount}setDomain(e){this.domain=e.split("/").slice(2,3)[0]}updateBitrate(e){if((!this.fps||this.fps>=100)&&e.length){const t=e.reduce(((e,t)=>e+t.duration),0)/e.length;this.fps=Math.round(this._timescale/t)}e.forEach((e=>{1===e.gopId&&this.gop++,this._bitsAccumulateDuration+=e.duration/(this._timescale/1e3),this._bitsAccumulateSize+=e.units.reduce(((e,t)=>e+t.length),0),this._bitsAccumulateDuration>=1e3&&(this.bitrate=8*this._bitsAccumulateSize,this._bitsAccumulateDuration=0,this._bitsAccumulateSize=0)}))}}class vv{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;Yh(this,"_core",null),Yh(this,"_samples",[]),this._core=e,this._timescale=t,this._stats=new bv(t),this._bindEvents()}getStats(){var e,t,i,s,r,a,o;const{currentTime:n=0,decodeFps:l=0}=(null===(e=this._core)||void 0===e?void 0:e.media)||{};return{...this._stats.getStats(),downloadSpeed:(null===(t=this._core)||void 0===t||null===(i=t.speedInfo)||void 0===i?void 0:i.call(t).speed)||0,avgSpeed:(null===(s=this._core)||void 0===s||null===(r=s.speedInfo)||void 0===r?void 0:r.call(s).avgSpeed)||0,currentTime:n,bufferEnd:(null===(a=this._core)||void 0===a||null===(o=a.bufferInfo())||void 0===o?void 0:o.remaining)||0,decodeFps:l}}_bindEvents(){this._core.on(js,(e=>this._stats.updateBitrate(e.samples))),this._core.on(Gs,(e=>{this._stats.setFpsFromScriptData(e)})),this._core.on(Vs,(e=>{"video"===e.type?this._stats.setVideoMeta(e.track):this._stats.setAudioMeta(e.track)})),this._core.on(Ws,(e=>{this._stats.setDomain(e.responseUrl)}))}reset(){this._samples=[],this._stats=new bv(this._timescale)}}function _v(e){if(e)try{return e.buffered}catch(e){}}function Sv(e,t){if(!e||!e.length)return[];const i=[];for(let s=0,r=e.length;se+(t[1]-t[0])),0):0}class Tv extends Oo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),Yh(this,"_loadSegment",(async()=>{if(this._segmentProcessing)return void this.player.debugWarn("_loadSegment()","_segmentProcessing is ture and return");if(!this._playlist)return void this.player.debugWarn("_loadSegment()","this._playlist is null and return");const e=this._playlist.currentSegment,t=this._playlist.nextSegment;if(this.player.debugLog(this.TAG_NAME,"_loadSegment()","curSeg",e&&e.url,"nextSeg",t&&t.url),t){if(this.player.isPlayVod()){let e=this.player.getRenderCurrentPts();e/=1e3,this.player.isPlayVodUseMSE()&&(e=this.player.getVideoCurrentTime());let i=this.player.playVod.isSeeking();if(this._prevSegmentEndTime&&Lo(i)&&this._prevSegmentEndTime>this.player._opt.preloadTime*this.player.playVod.rate+e)return void this.player.debug.log(this.TAG_NAME,`_loadSegment() and _prevSegmentEndTime is ${this._prevSegmentEndTime} and current time is ${e} more than ${this.player._opt.preloadTime*this.player.playVod.rate+e} and return`);this._prevSegmentEndTime=t.end}return this._loadSegmentDirect()}this.player.debugLog(this.TAG_NAME,"nextSeg is null and return")})),this.player=e,this.config=null,this._manifestLoader=null,this._segmentLoader=null,this._playlist=null,this._bufferService=null,this._seiService=null,this._stats=null,this._prevSegSn=null,this._prevSegCc=null,this._tickTimer=null,this._tickInterval=500,this._segmentProcessing=!1,this._reloadOnPlay=!1,this._switchUrlOpts=null,this._disconnectTimer=null,this._prevSegmentEndTime=0,this.TAG_NAME="Hls256",this.canVideoPlay=!1,this.$videoElement=null,this.config=t=function(e){return{isLive:!0,maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,...e}}(t),this._manifestLoader=new Hb(this),this._segmentLoader=new qb(this),this._playlist=new Yb(this),this._bufferService=new yv(this),this._seiService=new Av(this),this._stats=new vv(this,9e4),this.player.isPlayVod()&&(this.player.on(At.playVodPause,this.handlePlayVodPause.bind(this)),this.player.isPlayVodUseMSE()?this.player.on(At.playVodVideoSeekingByMse,this.onVideoSeeking.bind(this)):this.player.on(At.playVodSeek,this.onSeeking.bind(this))),this.player.debug.log(this.TAG_NAME,"init")}async destroy(){this.player.debugLog(this.TAG_NAME,"destroy()"),this._playlist.reset(),this._segmentLoader.reset(),this._seiService.reset(),await Promise.all([this._clear(),this._bufferService.destroy()]),this._manifestLoader&&(await this._manifestLoader.destroy(),this._manifestLoader=null),this._segmentLoader&&(this._segmentLoader.destroy(),this._segmentLoader=null),this._playlist&&(this._playlist.destroy(),this._playlist=null),this.player.debugLog(this.TAG_NAME,"destroy end")}_startTick(){this._stopTick(),this._tickTimer=setTimeout((()=>{this._tick()}),this._tickInterval)}_stopTick(){this._tickTimer&&clearTimeout(this._tickTimer),this._tickTimer=null}_tick(){this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_tick() player is destroyed"):(this._startTick(),this._loadSegment())}get isLive(){return this._playlist.isLive}get streams(){return this._playlist.streams}get currentStream(){return this._playlist.currentStream}get hasSubtitle(){return this._playlist.hasSubtitle}get baseDts(){var e;return null===(e=this._bufferService)||void 0===e?void 0:e.baseDts}speedInfo(){return this._segmentLoader.speedInfo()}resetBandwidth(){this._segmentLoader.resetBandwidth()}getStats(){return this._stats.getStats()}async loadSource(e){return await this._reset(),await this._loadData(e),this._startTick(),!0}async _loadData(e){try{e&&(e=e.trim())}catch(e){}if(!e)throw this._emitError(new wb(_b,_b,null,null,"m3u8 url is missing"));const t=await this._loadM3U8(e),{currentStream:i}=this._playlist;if(this._urlSwitching){var s,r;if(0===i.bitrate&&null!==(s=this._switchUrlOpts)&&void 0!==s&&s.bitrate)i.bitrate=null===(r=this._switchUrlOpts)||void 0===r?void 0:r.bitrate;const e=this._getSeamlessSwitchPoint();this.config.startTime=e;const t=this._playlist.findSegmentIndexByTime(e),a=this._playlist.getSegmentByIndex(t+1);if(a){const e=a.start;this.player.debugWarn(this.TAG_NAME,`clear buffer from ${e}`)}}t&&(this.isLive?(this.player.debugLog(this.TAG_NAME,"is live"),this._bufferService.setLiveSeekableRange(0,4294967295),this.config.targetLatency{let[t,i,o]=e;t?(this._playlist.upsertPlaylist(t,i,o),this.isLive&&this._pollM3U8(s,r,a)):this.player.debugWarn(this.TAG_NAME,"_refreshM3U8() mediaPlaylist is empty")})).catch((e=>{throw this._emitError(wb.create(e))}))}_pollM3U8(e,t,i){var s;let r=this._playlist.isEmpty;this._manifestLoader.poll(e,t,i,((e,t,i)=>{this._playlist.upsertPlaylist(e,t,i),this._playlist.clearOldSegment(),e&&r&&!this._playlist.isEmpty&&this._loadSegment(),r&&(r=this._playlist.isEmpty)}),(e=>{this._emitError(wb.create(e))}),1e3*((null===(s=this._playlist.lastSegment)||void 0===s?void 0:s.duration)||0))}async _loadSegmentDirect(){const e=this._playlist.nextSegment;if(!e)return void this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect() !seg");let t=!1,i=null;try{this._segmentProcessing=!0,t=await this._reqAndBufferSegment(e,this._playlist.getAudioSegment(e))}catch(e){i=e}finally{this._segmentProcessing=!1}return i?this._emitError(wb.create(i)):(t?(this._urlSwitching&&(this._urlSwitching=!1,this.emit(Xs,{url:this.config.url})),this._playlist.moveSegmentPointer(),this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect()","seg.isLast",e.isLast),e.isLast?(this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect()","seg.isLast"),this._end()):(this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect()","and next _loadSegment()"),this._loadSegment())):this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect() not appended"),t)}async _reqAndBufferSegment(e,t){this.player.debugLog(this.TAG_NAME,"video seg",e&&e.url,"audio seg",t&&t.url);const i=e?e.cc:t.cc,s=this._prevSegCc!==i;let r=[];try{r=await this._segmentLoader.load(e,t,s)}catch(e){throw e.fatal=!1,this._segmentLoader.error=e,e}if(!r[0])return;const a=await this._bufferService.decryptBuffer(...r);if(!a)return void this.player.debugLog(this.TAG_NAME,"decryptBuffer return null");const o=e?e.sn:t.sn,n=e?e.start:t.start,l=this._playlist.currentStream;return this._bufferService.createSource(a[0],a[1],null==l?void 0:l.videoCodec,null==l?void 0:l.audioCodec),await this._bufferService.appendBuffer(e,t,a[0],a[1],s,this._prevSegSn===o-1,n),this._prevSegCc=i,this._prevSegSn=o,!0}async _clear(){this.player.debugLog(this.TAG_NAME,"_clear()"),clearTimeout(this._disconnectTimer),this._stopTick(),await Promise.all([this._segmentLoader.cancel(),this._manifestLoader.stopPoll()]),this._segmentProcessing=!1}async _reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.player.debugLog(this.TAG_NAME,"_reset()"),this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._prevSegmentEndTime=0,this._playlist.reset(),this._segmentLoader.reset(),this._seiService.reset(),this._stats.reset(),await this._clear(),this._bufferService.reset(e)}_end(){this.player.debugLog(this.TAG_NAME,"_end()"),this._clear()}_emitError(e){var t;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var s;!1===(null===(t=e.originError)||void 0===t?void 0:t.fatal)?console.warn(e):(console.table(e),console.error(e),console.error(null===(s=this.media)||void 0===s?void 0:s.error),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit(Qs,e)),i&&this._end(),this._seiService.reset(),this.emit(tr,e));return e}_getSeamlessSwitchPoint(){const{media:e}=this;let t=e.currentTime;if(!e.paused){var i;const s=this._playlist.findSegmentIndexByTime(e.currentTime),r=this._playlist.getSegmentByIndex(s),a=null===(i=this._stats)||void 0===i?void 0:i.getStats().downloadSpeed;if(a&&r){t+=r.duration*this._playlist.currentStream.bitrate/a+1}else t+=5}return t}async onPlay(){this.player.debug.log(this.TAG_NAME,"onPlay()"),this._bufferService.demuxerResume(),await this._loadSegment(),this._startTick()}onPause(){this.player.debug.log(this.TAG_NAME,"onPause()"),this._bufferService.demuxerPause(),this._stopTick(),this._segmentLoader.reset()}async handlePlayVodPause(e){e?this.onPause():await this.onPlay()}async onSeeking(e){this.player.debug.log(this.TAG_NAME,"listen playVodSeek",e);const t=this._bufferService.getTsSampleRange();if(this.player.debug.log(this.TAG_NAME,"onSeeking() seek to tsSampleRange",t),t&&t.start<=e&&e<=t.end)return this.player.debug.log(this.TAG_NAME,"onSeeking() seek to tsSampleRange",t,"in range"),void this._bufferService.seekSampleRange(e);const i=this._playlist.findSegmentIndexByTime(e),s=this._playlist.getSegmentByIndex(i);null==i||!s||this._segmentProcessing&&s===this._playlist.nextSegment||(this.player.debug.log(this.TAG_NAME,`onSeeking() seek to ${e} and segIndex is ${i} and seg is`,s),this._bufferService.cleanSampleListAndSetSeekTime(e),this._playlist.setNextSegmentByIndex(i),this._stopTick(),this._prevSegmentEndTime=0,await this._segmentLoader.cancel(),await this._loadSegmentDirect(),this._startTick())}async onVideoSeeking(e){this.player.debug.log(this.TAG_NAME,"listen playVodVideoSeekingByMse",e);const t=this._playlist.seekRange;if(this.player.debugLog(this.TAG_NAME,"onVideoSeeking() and seekRange is",t,"and seekTime is",e),t){const i=ga(e,t[0]+.1,t[1]-.1);if(i>=0&&Math.abs(e-i)>=.1)return this.player.debugLog(this.TAG_NAME,"onVideoSeeking() update current time",i),void(this.player.video.$videoElement.currentTime=i)}await this.onSeeking(e)}getDemuxBuferredDuration(){return this._bufferService.getBuferredDuration()||0}getDemuxBufferedListLength(){return this._bufferService.getBufferedSegments()||0}getDemuxAudioBufferedListLength(){return this._bufferService.getBufferedAudioSegments()||0}getDemuxVideoBufferedListLength(){return this._bufferService.getBufferedVideoSegments()||0}}class wv extends Oo{constructor(e){super(),Yh(this,"TAG_NAME","Hls256Decoder"),this.player=e,this.$videoElement=this.player.video.$videoElement,this.hls=null,this.eventsDestroy=[],this.bandwidthEstimateInterval=null,this.hls=new Tv(e),this._bindEvents()}async destroy(){return this._stopBandwidthEstimateInterval(),this.hls&&(await this.hls.destroy(),this.hls=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.$videoElement=null,this.player.debugLog(this.TAG_NAME,"destroy"),!0}_bindEvents(){this.hls.on(tr,(e=>{this.player.emitError(_t.hlsError,e)}))}_startBandwidthEstimateInterval(){this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{const e=this.hls.speedInfo();this.player.emit(At.kBps,(e.avgSpeed/1024/8).toFixed(2)),this.hls.resetBandwidth()}),1e3)}_stopBandwidthEstimateInterval(){this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}async loadSource(e){return this.url=e,await this.hls.loadSource(e),this._startBandwidthEstimateInterval(),!0}checkHlsBufferedDelay(){let e=0;return this.hls&&(e=this.hls.getDemuxBuferredDuration()),e}getDemuxBufferedListLength(){let e=0;return this.hls&&(e=this.hls.getDemuxBufferedListLength()),e}getDemuxAudioBufferedListLength(){let e=0;return this.hls&&(e=this.hls.getDemuxAudioBufferedListLength()),e}getDemuxVideoBufferedListLength(){let e=0;return this.hls&&(e=this.hls.getDemuxVideoBufferedListLength()),e}}function kv(e,t){const i=e.trak;if(!i||!i.length)return;const s=i.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),r=i.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));if(!s&&!r)return;let a,o=[],n=[];if(s){var l,d,h;const e=null===(l=s.mdia)||void 0===l||null===(d=l.minf)||void 0===d?void 0:d.stbl;if(!e)return;const i=null===(h=s.mdia.mdhd)||void 0===h?void 0:h.timescale,{stts:r,stsc:n,stsz:c,stco:u,stss:p,ctts:m}=e;if(!(i&&r&&n&&c&&u&&p))return;o=Lv(t,i,r,n,c,u,p,m),a=o.map((e=>e.duration))}if(r){var c,u,p;const e=null===(c=r.mdia)||void 0===c||null===(u=c.minf)||void 0===u?void 0:u.stbl;if(!e)return;const i=null===(p=r.mdia.mdhd)||void 0===p?void 0:p.timescale,{stts:s,stsc:o,stsz:l,stco:d}=e;if(!(i&&s&&o&&l&&d))return;n=Lv(t,i,s,o,l,d,null,null,a)}return{videoSegments:o,audioSegments:n}}function Lv(e,t,i,s,r,a,o,n,l){const d=[],h=[],c=[],u=s.entries,p=a.entries,m=r.entrySizes,f=null==o?void 0:o.entries,g=null==n?void 0:n.entries;let y,A,b,v;g&&(y=[],g.forEach((e=>{let{count:t,offset:i}=e;for(let e=0;e{A[e-1]=!0})));let _=0,S=0,E=0,T=0,w=0,k=u[0].samplesPerChunk,L=u[1]?u[1].firstChunk-1:1/0,C=0,D=-1;i.entries.forEach((e=>{let{count:t,delta:i}=e;v=i;for(let e=0;e=L&&(T++,L=u[T+1]?u[T+1].firstChunk-1:1/0),k+=u[T].samplesPerChunk)}));const x=d.length;if(!x||o&&!d[0].keyframe)return;const R=[];let P,I=[],B=0,M=0;const F=e=>{var i;P=I[I.length-1],R.push({index:R.length,startTime:(null===(i=R[R.length-1])||void 0===i?void 0:i.endTime)||I[0].startTime/t,endTime:(P.startTime+P.duration)/t,duration:e,range:[I[0].offset,P.offset+P.size],frames:I}),B=0,I=[]};if(o){const i=e*t;for(let e=0,s=h.length;ei)&&F(B/t):F(B/t)}else{let i=(l=l||[])[0]||e;for(let s=0;s=x||r+M>=i)&&(M+=r-i,F(r),i=l[R.length]||e)}}return R}function Cv(e){let t="",i="",s=0,r=0,a=0,o=0,n=0,l=0,d=0;e.mvhd&&(n=e.mvhd.duration/e.mvhd.timescale);const h=e.trak;if(h){const L=h.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),C=h.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));let D,x=null;var c,u,p,m,f,g,y,A,b,v,_,S,E,T,w,k;if(L)if(x=null===(c=L.mdia)||void 0===c||null===(u=c.minf)||void 0===u||null===(p=u.stbl)||void 0===p?void 0:p.stsd.entries[0],x)if(s=x.width,r=x.height,l=null===(m=L.mdia)||void 0===m||null===(f=m.mdhd)||void 0===f?void 0:f.timescale,t=null===(g=x.avcC||x.hvcC)||void 0===g?void 0:g.codec,"encv"===x.type)D=null===(y=x.sinf)||void 0===y||null===(A=y.schi)||void 0===A?void 0:A.tenc.default_KID;if(C)if(x=null===(b=C.mdia)||void 0===b||null===(v=b.minf)||void 0===v||null===(_=v.stbl)||void 0===_?void 0:_.stsd.entries[0],x)if(a=x.channelCount,o=x.sampleRate,i=null===(S=x.esds)||void 0===S?void 0:S.codec,d=null===(E=C.mdia)||void 0===E||null===(T=E.mdhd)||void 0===T?void 0:T.timescale,"enca"===x.type)D=D||(null===(w=x.sinf)||void 0===w||null===(k=w.schi)||void 0===k?void 0:k.tenc.default_KID);return{kid:D?D.join(""):null,videoCodec:t,audioCodec:i,width:s,height:r,videoTimescale:l,audioChannelCount:a,audioSampleRate:o,duration:n,audioTimescale:d,moov:e}}}function Dv(e){return"number"==typeof e&&!Number.isNaN(e)}function xv(){for(var e=arguments.length,t=new Array(e),i=0;ie+t.byteLength),0));let r=0;return t.forEach((e=>{s.set(e,r),r+=e.byteLength})),s}class Rv{constructor(){Yh(this,"_data",Object.create(null))}set(e,t){this._data[e]=t}get(e){return this._data[e]}clear(){this._data=Object.create(null)}}class Pv extends Oo{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var s;super(),Yh(this,"_transformError",(e=>e)),this.TAG_NAME="MP4Loader",this._config=(s=i,{vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:"arraybuffer",cache:null,...s});const{vid:r,cache:a,...o}=this._config;this.mp4=e,this.player=t,this.vid=r||o.url,this.url=o.url,this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this.cache=new Rv,this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1,this.buffer,this._error,this._loader=new Ab(o,t),this._loader.on("real_time_speed",(e=>{})),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){await this.reset(),this.cache.clear(),this.player.debugLog(this.TAG_NAME,"destroy")}get isMetaLoaded(){return this.videoSegments.length||this.audioSegments.length}setCurrentSegment(e){Dv(e)&&(this._currentSegmentIndex=e)}isLastSegment(e){if(Dv(e)){var t,i;return e>=((null===(t=this.videoSegments[this.videoSegments.length-1])||void 0===t?void 0:t.index)||(null===(i=this.audioSegments[this.audioSegments.length-1])||void 0===i?void 0:i.index)||0)}return!1}isSegmentLoading(e){return e===this._currentLoadingSegmentIndex}async changeUrl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0;await this.reset(s),e&&(this.url=e),t&&(this.vid=t),i&&(this._config.moovEnd=i)}async getOrLoadMeta(e){return this.isMetaLoaded||await this.loadMeta(e),this.meta}async loadMetaProcess(e,t,i,s){let[r,a]=t;this._error=!1,this.player.debugLog(this.TAG_NAME,"[loadMetaProcess start], range,",[r,a]);await this.loadData([r,a||this._config.moovEnd],e,{onProgress:async(t,o,n)=>{if(this.meta&&null!=n&&n.range&&n.range.length>0&&n.range[1]>=a&&(o=!0,this.player.debugLog(this.TAG_NAME,"[loadMetaProcess],data done,setstate true,[",r,a,"]")),o&&null!=n&&n.range&&n.range.length>0&&n.range[1]0&&i(t,o,n),!this.meta.moov&&!this._error&&t&&t.byteLength>0){this.buffer=xv(this.buffer,t);let r=mv.findBox(this.buffer,["moov"])[0];if(!r){const t=mv.findBox(this.buffer,["mdat"])[0];if(o){if(!t)return this._error=!0,void i(null,o,n,{err:"cannot find moov or mdat box"});{const i=t.start+t.size,a=await this.loadData([i,""],e,s);a&&(r=mv.findBox(a.data,["moov"])[0])}}}if(r&&o&&r.size>r.data.length&&(this.player.debugLog(this.TAG_NAME,"[loadMetaProcess],moov not all, range,",n.range[1],",dataLen,",this.buffer.byteLength,", state,",o),await this.loadMetaProcess(e,[n.range[1],r.start+r.size-1],i)),r&&r.size<=r.data.length&&!this.meta.moov){const e=mv.moov(r);if(!e)return this._error=!0,void i(null,o,n,{err:"cannot parse moov box"});const t=kv(e,this._config.segmentDuration);if(!t)return this._error=!0,void i(null,o,n,{err:"cannot parse segments"});this.meta=Cv(e);const{videoSegments:s,audioSegments:a}=t;this.videoSegments=s,this.audioSegments=a,this.player.debugLog(this.TAG_NAME,"[loadMetaProcess] moov ok"),i(void 0,o,{meta:{meta:this.meta,videoSegments:s,audioSegments:a}})}}},...s})}async loadMeta(e,t,i){const s=[];this.player.debugLog(this.TAG_NAME,"[loadMeta start]");let r=await this.loadData([0,t||this._config.moovEnd],e,i);if(!r)return;s.push(r);let a=mv.findBox(r.data,["moov"])[0];if(!a){const t=mv.findBox(r.data,["mdat"])[0];if(!t)throw new MediaError("cannot find moov or mdat box",r.data);const o=t.start+t.size;if(r=await this.loadData([o],e,i),!r)return;if(s.push(r),a=mv.findBox(r.data,["moov"],o)[0],!a)throw new MediaError("cannot find moov box",r.data)}if(a.size>a.data.length){if(r=await this.loadData([r.data.length,a.start+a.size-1],e,i),!r)return;s.push(r),a.data=xv(a.data,r.data)}const o=mv.moov(a);if(!o)throw new MediaError("cannot parse moov box",a.data);const n=kv(o,this._config.segmentDuration);if(!n)throw new MediaError("cannot parse segments",a.data);this.meta=Cv(o);const{videoSegments:l,audioSegments:d}=n;return this.videoSegments=l,this.audioSegments=d,this.player.debugLog(this.TAG_NAME,"[load moov end!!!!!]",this.meta,l,d),this.meta&&this.mp4._bufferService.updateDuration(this.meta.duration),{meta:this.meta,videoSegments:l,audioSegments:d,responses:s}}loadCacheMeta(e,t){const{moov:i}=e,s=kv(i,this._config.segmentDuration),{videoSegments:r,audioSegments:a}=s;this.videoSegments=r,this.audioSegments=a,this._currentSegmentIndex=t,this.meta=e}getSegmentByTime(e){let t,i;return this.videoSegments.length?(t=this.videoSegments.find((t=>t.startTime<=e&&t.endTime>e)),t&&(i=this.audioSegments[t.index])):i=this.audioSegments.find((t=>t.startTime<=e&&t.endTime>e)),{video:t,audio:i}}async loadSegmentByTime(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.isMetaLoaded||await this.loadMeta(t);const{video:r,audio:a}=this.getSegmentByTime(e);return this._loadSegment(r,a,t,i,s)}async loadNextSegment(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.isMetaLoaded||await this.loadMeta();const s=this.videoSegments[this._currentSegmentIndex+1],r=this.audioSegments[this._currentSegmentIndex+1];return this._loadSegment(s,r,e,t,i)}async preload(e){if(this.isMetaLoaded||await this.loadMeta(!0),!e||e<0)return;const{video:t,audio:i}=this.getSegmentByTime(e),s=Math.max((null==t?void 0:t.index)||0,(null==i?void 0:i.index)||0);if(!s)return;const r=this.videoSegments.slice(0,s),a=this.audioSegments.slice(0,s),o=async e=>{e>s||(await this._loadSegment(r[e],a[e],!0,!1),await o(e+1))};await o(0)}cancel(){return this._loader.cancel()}async reset(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]||(this.player.debugLog(this.TAG_NAME,"[MP4loader reset func call loader.cancel]"),await this._loader.cancel()),this.vid=this.url="",this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1}async destroy(){await this.reset(),this.cache.clear()}async _loadSegment(e,t,i,s,r){if(!e&&!t)return;const a=(null==e?void 0:e.index)||(null==t?void 0:t.index)||0;let o;this._currentLoadingSegmentIndex=a;try{o=await this.loadData([Math.min((null==e?void 0:e.range[0])||1/0,(null==t?void 0:t.range[0])||1/0),Math.max((null==e?void 0:e.range[1])||0,(null==t?void 0:t.range[1])||0)],i,r)}finally{this._currentLoadingSegmentIndex=-1}return o?(s&&(this._currentSegmentIndex=a),o.video=e,o.audio=t,o):void 0}async loadData(e,t,i){const s=this._getCacheKey(e),r=await this.cache.get(s);let a;if(r)a={data:r,state:!0,options:{fromCache:!0,range:e,vid:this.vid}};else{const t=i&&i.url?i.url:this.url;a=await this._loader.load(t,{range:e,vid:this.vid,...i})}if(a)return r||(a.data&&this.downloadInfo.push({startTime:a.startTime,endTime:a.endTime,size:a.data.byteLength,range:e}),this.downloadInfo&&this.downloadInfo.length>this._config.maxDownloadInfoSize&&(this.downloadInfo=this.downloadInfo.slice(-this._config.maxDownloadInfoSize))),a}_getCacheKey(e){return(this.vid||this.url)+":"+e}}class Iv extends ph{constructor(e){super(e),this.player=e,this.TAG_NAME="Mp4Demux",this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=[],this._lastRemainBufferStartPos=0,this.videoTrack=Iv.initVideoTrack(),this.audioTrack=Iv.initAudioTrack(),this.isInitVideo=!1,this.isInitAudio=!1,this.isHevc=!1,this.tempSampleListInfo={},this._hasCalcFps=!1,this._basefps=25,this._isUseWorker()&&this._initLoopWorker(),this.player.isPlayVod()&&this._isUseWorker()&&this.player.on(At.playVodRateChange,(e=>{this.player.debugLog(this.TAG_NAME,"listen playVodRateChange",e),this._postMessageToLoopWorker("updatePlayRate",{rate:e})}))}destroy(){super.destroy(),this.tempSampleListInfo={},this._basefps=25}static initVideoTrack(){return{id:1,samples:[],sps:[],pps:[],vps:[],codec:""}}static initAudioTrack(){return{id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""}}parseSamples(e){if(!e)throw new Error("moov is required");if(!this.videoTrack.codec&&!this.audioTrack.codec&&(mv.moovToTrack(e,this.videoTrack,this.audioTrack),this.videoSenc=this.videoTrack.videoSenc,this.audioSenc=this.audioTrack.audioSenc,this.checkInitVideo()&&this._sendAccADTSHeader(this.audioTrack),this.checkInitAudio())){let e=null;this.videoTrack.codecType===ms?this.videoTrack.sps.length&&this.videoTrack.vps.length&&this.videoTrack.pps.length&&(e=ll({sps:this.videoTrack.sps[0],pps:this.videoTrack.pps[0],vps:this.videoTrack.vps[0]})):this.videoTrack.sps.length&&this.videoTrack.pps.length&&(e=qn({sps:this.videoTrack.sps[0],pps:this.videoTrack.pps[0]})),e&&this._doDecodeByMp4(e,Ve,0,!0,0)}if(!this._audioSamples.length&&!this._videoSamples.length){const t=mv.moovToSamples(e);if(!t)throw new Error("cannot parse samples from moov box");this._videoSamples=t.videoSamples||[],this._audioSamples=t.audioSamples||[]}}demux(e,t,i,s,r){this.checkInitAudio(),this.checkInitVideo(),this.parseSamples(r);const a=this.videoTrack,o=this.audioTrack;let n,l,d;if(a.samples=[],o.samples=[],i){let s;for(let r=i[0],o=i[1];r<=o;r++){if(n=this._videoSamples[r],!n)throw new Error(`cannot found video frame #${r}`);d=n.offset-t,l=e.subarray(d,d+n.size),s={type:Ve,dts:1e3*n.dts/a.timescale,pts:1e3*(n.pts||n.dts)/a.timescale,units:[],payload:null,isIFrame:!1},s.duration=n.duration,s.gopId=n.gopId,n.keyframe&&(s.isIFrame=!0),s.payload=l,a.samples.push(s)}a.baseMediaDecodeTime=a.samples[0].dts}if(s){for(let i=s[0],r=s[1];i<=r;i++){if(n=this._audioSamples[i],!n)throw new Error(`cannot found video frame #${i}`);d=n.offset-t,l=e.subarray(d,d+n.size);const s=1e3*n.dts/o.timescale,r=new Uint8Array(l.length+2);r.set([175,1],0),r.set(l,2),o.samples.push({type:Ge,dts:s,pts:s,payload:r,duration:n.duration,size:r.byteLength})}o.baseMediaDecodeTime=o.samples[0].dts}const h=a.samples.concat(o.samples);h.sort(((e,t)=>e.dts-t.dts)),h.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,this._isUseWorker()?this.loopWorker.postMessage({...e,payload:t,cmd:"sample"},[t.buffer]):e.type===Ve?this._doDecodeVideo({...e,payload:t}):e.type===Ge&&this._doDecodeAudio({...e,payload:t})})),Lo(this._hasCalcFps)&&this._isUseWorker()&&(this._hasCalcFps=this._calcDecodeFps(h))}demuxPart(e,t,i,s,r,a,o,n){if(this.checkInitAudio(),this.checkInitVideo(),this.parseSamples(r),this.videoTrack.useEME=a,this.audioTrack.useEME=a,this._lastRemainBuffer&&this._lastRemainBuffer.byteLength>0&&t>this._lastRemainBufferStartPos&&t<=this._lastRemainBufferStartPos+this._lastRemainBuffer.byteLength){let i=0;for(;i<20;)try{const i=this._lastRemainBuffer.subarray(0,t-this._lastRemainBufferStartPos),s=new Uint8Array(e.byteLength+i.byteLength);s.set(i,0),s.set(new Uint8Array(e),i.byteLength),e=s,t-=i.byteLength,this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0;break}catch(e){if(!(i<20))throw new Error("new Uint8Array error:,"+e.errorMessage);i++}}const l=this.videoTrack,d=this.audioTrack;let h,c,u;l.samples=[],d.samples=[],l.videoSenc=null,d.audioSenc=null;let p=0,m=0;if(this._videoSamples.length>0&&i.length>0){let s;const r=e.byteLength+t;for(let a=i[0];a<=i[1];a++){if(h=this._videoSamples[a],!h)throw new Error(`cannot found video frame #${a}`);h.offset>=t&&h.offset+h.size<=r&&(u=h.offset-t,p=u+h.size,c=e.subarray(u,p),s={type:Ve,dts:h.dts,pts:h.pts||h.dts,units:[],payload:null,isIFrame:!1},s.duration=h.duration,s.gopId=h.gopId,s.sampleOffset=h.index,h.keyframe&&(s.isIFrame=!0),s.payload=c,s.size=h.size,l.samples.push(s))}l.samples.length>0&&(l.gopId=l.samples[0].gopId,l.baseMediaDecodeTime=l.samples[0].dts,l.startPts=l.samples[0].pts/l.timescale,l.endPts=l.samples[l.samples.length-1].pts/l.timescale,this.videoSenc&&(l.videoSenc=this.videoSenc.slice(l.samples[0].sampleOffset,l.samples[0].sampleOffset+l.samples.length),l.kidValue=o))}if(this._audioSamples.length>0&&s.length>0){for(let i=s[0];i<=s[1];i++){if(h=this._audioSamples[i],!h)throw new Error(`cannot found video frame #${i}`);if(h.offset>=t&&h.offset+h.size<=e.byteLength+t){u=h.offset-t,m=u+h.size,c=e.subarray(u,m);const i=new Uint8Array(c.length+2);i.set([175,1],0),i.set(c,2),d.samples.push({type:Ge,dts:h.dts,pts:h.dts,payload:i,duration:h.duration,sampleOffset:h.index,size:i.byteLength})}}d.samples.length>0&&(d.gopId=d.samples[0].gopId||l.gopId,d.baseMediaDecodeTime=d.samples[0].dts,d.startPts=d.samples[0].pts/d.timescale,d.endPts=d.samples[d.samples.length-1].pts/d.timescale,this.audioSenc&&(d.audioSenc=this.audioSenc.slice(d.samples[0].sampleOffset,d.samples[0].sampleOffset+d.samples.length),d.kidValue=o))}this.decoderData(l,d,n),this._lastRemainBuffer=e.subarray(Math.max(p,m)),this._lastRemainBuffer.byteLength>0?this._lastRemainBufferStartPos=t+e.byteLength-this._lastRemainBuffer.byteLength:this._lastRemainBufferStartPos=0}reset(){this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0,this.videoTrack=Iv.initVideoTrack(),this.audioTrack=Iv.initAudioTrack()}decoderData(e,t,i){}checkInitAudio(){return this.isInitAudio=!!(this.audioTrack.sampleRate&&this.audioTrack.channelCount&&this.audioTrack.codec&&"aac"===this.audioTrack.codecType),this.isInitAudio}checkInitVideo(){return this.isInitVideo=!!(this.videoTrack.pps.length&&this.videoTrack.sps.length&&this.videoTrack.codec),this.isInitVideo}_sendAccADTSHeader(e){const t=Jr({profile:e.objectType,sampleRate:e.sampleRateIndex,channel:e.channelCount});this._doDecodeByMp4(t,Ge,0,!0,0)}_initLoopWorker(){const e=Po(function(){const e=1,t=2;let i=new class{constructor(){this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.allSampleList=[]}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(e){this.baseFps=e,this._clearInterval(),this._startInterval()}updatePlayRate(e){this.playRate=e,this._clearInterval(),this._startInterval()}seekSampleRange(e){console.log(`JbPro:[Mp4Loader LoopWorker] seekSampleRange() time is ${e}`);const i=1e3*e;let s=0,r=-1;for(let e=0;e=-1e4))return void console.log(`JbPro:[Mp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, isIFrame is ${e.isIFrame} ,diff is ${i}ms and return`);console.log(`JbPro:[Mp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, isIFrame is ${e.isIFrame},diff is ${i}ms and set this.seekingTime = null`),this.seekingTime=null}this.allSampleList.push(e)}_startInterval(){const e=Math.ceil(1e3/this.baseFps);console.log(`JbPro:[Mp4Loader LoopWorker] _startInterval() fragDuration is ${e}ms`),this.fpsInterval=setInterval((()=>{let t=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=t),this.startBpsTime||(this.startBpsTime=t);const i=t-this.preLoopTimestamp;if(i>2*e&&console.warn(`JbPro:[Mp4Loader LoopWorker] loop interval is ${i}ms, more than ${e} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){t-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=t)}}),e)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((s=>{s.type===t?(i.videoListLength++,s.duration&&(i.buferredDuration+=s.duration)):s.type===e&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let i=null;if(this.allSampleList.length)if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]);let t=this.allSampleList[0];for(;t&&t.type===e;)i=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),t=this.allSampleList[0]}else if(i.type===e){postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]);let s=this.allSampleList[0];for(;s;)if(i=this.allSampleList.shift(),i.type===e)postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),s=this.allSampleList[0];else if(i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]),s=null;break}}}};self.onmessage=e=>{const t=e.data;switch(t.cmd){case"updateBaseFps":i.updateBaseFps(t.baseFps);break;case"updatePlayRate":i.updatePlayRate(t.rate);break;case"seekSampleRange":i.seekSampleRange(t.time);break;case"cleanSampleList":i.cleanSampleList();break;case"setSeekingTime":i.setSeekingTime(t.time);break;case"pause":i.pause();break;case"resume":i.resume();break;case"sample":i.pushSample(t);break;case"destroy":i.destroy(),i=null}}}.toString()),t=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(t);let s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ae),s.onmessage=e=>{const t=e.data;switch(t.cmd){case"decodeVideo":this._doDecodeVideo(t);break;case"decodeAudio":this._doDecodeAudio(t);break;case"sampleListInfo":if(this.tempSampleListInfo=t,this.player.isPlayVodNotUseMSE()){const e=this.geVodLoadedTime(),t=this.player.getPlayVodDuration();e&&t&&this.player.emit(At.playVodTimeCache,e/(1e3*t))}}},this.loopWorker=s}_postMessageToLoopWorker(e,t){this.player.isUseMSE()||(this.loopWorker?this.loopWorker.postMessage({cmd:e,...t}):this.player.debug.warn(this.TAG_NAME,"loop worker is not init, can not post message"))}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this._doDecodeByMp4(t,Ge,e.dts,!1,0)}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?dl(t,e.isIFrame):Kn(t,e.isIFrame),this.player.updateStats({dts:e.dts});const s=e.pts-e.dts;i=this.cryptoPayload(i,e.isIFrame),this._doDecodeByMp4(i,Ve,e.dts,e.isIFrame,s)}getBuferredDuration(){return this.tempSampleListInfo.buferredDuration||0}getSampleListLength(){return this.tempSampleListInfo.allListLength||0}getSampleAudioListLength(){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){return this.tempSampleListInfo.videoListLength||0}getSampleRange(){return{start:this.tempSampleListInfo.start||0,end:this.tempSampleListInfo.end||0}}seekSampleRange(e){this._postMessageToLoopWorker("seekSampleRange",{time:e})}cleanSampleListAndSetSeekTime(e){Lo(this.player.isUseMSE())&&(this.clearBuffer(!0),this._postMessageToLoopWorker("cleanSampleList"),this._postMessageToLoopWorker("setSeekingTime",{time:e}))}pause(){this._postMessageToLoopWorker("pause")}resume(){this._postMessageToLoopWorker("resume")}geVodLoadedTime(){let e=0;return e=this.getSampleRange().end,e}}class Bv{constructor(e,t){this.TAG_NAME="Mp4BufferService",this.mp4=e,this.player=t,this._demuxer=new Iv(t),this._remuxer=null,this._mse=null,this._softVideo=null,this._needInitSegment=!0,this._sourceCreated=!1}async destroy(){this._softVideo=null,this._demuxer=null,this._remuxer=null}async appendBuffer(e,t,i,s,r){if(!e||!e.length)return;if(!this._demuxer)return;let a,o;i&&(a=[i[0].index,i[i.length-1].index]),s&&(o=[s[0].index,s[s.length-1].index]),(a||o)&&this._demuxer.demux(e,t,a,o,r)}async evictBuffer(e){const t=this.mp4.media;if(!this._mse||!this._demuxer||!t||!e||e<0)return;const i=t.currentTime-e;if(i<=0)return;var s;if(((s=_v(t))&&s.length?1===s.length&&s.end(0)-s.start(0)<1e-6||1===s.length&&s.start(0)<0?0:s.start(0):0)+1>=i)return;const r=this._demuxer;return[r.videoTrack,r.audioTrack].forEach((e=>{console.error("remove track")})),!0}async reset(){this._sourceCreated=!1,this._needInitSegment=!0}async endOfStream(){}async updateDuration(e){this.player.debugLog(this.TAG_NAME,"updateDuration()",e),this.player.isPlayVod()&&(this.player.playVod.updateDuration(e),this.player.isPlayVodUseMSE()&&this.player.mseDecoder&&this.player.mseDecoder.isStateOpen&&this.player.mseDecoder.updateMediaSourceDuration(e))}seekSampleRange(e){this._demuxer.seekSampleRange(e)}cleanSampleListAndSetSeekTime(e){this._demuxer.cleanSampleListAndSetSeekTime(e)}demuxerPause(){var e;null===(e=this._demuxer)||void 0===e||e.pause()}demuxerResume(){var e;null===(e=this._demuxer)||void 0===e||e.resume()}getSampleRange(){return this._demuxer.getSampleRange()}}class Mv extends Oo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var i;super(),Yh(this,"onVideoSeeking",(async e=>{this.player.debug.log(this.TAG_NAME,"listen playVodVideoSeekingByMse",e),await this.onSeeking(e)})),Yh(this,"onSeeking",(async e=>{this.player.debug.log(this.TAG_NAME,`listen playVodSeek onSeeking() ${e}`);const t=this._loader,{video:i,audio:s}=t.getSegmentByTime(e),r=i||s;if(!r)return void this.player.debug.log(this.TAG_NAME,`onSeeking() ${e} and segment is null so return`);if(t.isSegmentLoading(r.index))return this._setPrevSegmentEndTime(0),void this.player.debug.log(this.TAG_NAME,`onSeeking() ${e} and segment ${r.index} is loading so return`);if(this.player.isPlayVodUseMSE()){const t=this.player.video.$videoElement,i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!e||!e.length)return{start:0,end:0,buffers:[]};let s=0,r=0,a=0,o=0,n=0,l=0,d=0;const h=Sv(e,i);for(let e=0,c=h.length;e=c[0]&&tc[1]&&(l=c[0],d=c[1])}}return{start:s,end:r,index:a,buffers:h,nextStart:o,nextEnd:n,prevStart:l,prevEnd:d,currentTime:t,behind:t-s,remaining:r?r-t:0,length:Ev(h)}}(_v(t),e,.1);if(i.end&&(i.end>=r.endTime||i.end>=t.duration))return void this.player.debug.log(this.TAG_NAME,`onSeeking() ${e} and end is ${i.end} and segment ${r.index} is loading so return`)}const a=this._bufferService.getSampleRange();if(this.player.debug.log(this.TAG_NAME,"onSeeking() seek to mp4SampleRange",a),a&&a.start<=e&&e<=a.end)return this.player.debug.log(this.TAG_NAME,"onSeeking() seek to mp4SampleRange",a,"in range"),void this._bufferService.seekSampleRange(e);this._bufferService.cleanSampleListAndSetSeekTime(e),await t.cancel(),this._loading=!1,this._setPrevSegmentEndTime(0),await this._loadSegment(e),this._startTick()})),Yh(this,"_tick",(async()=>{if(this._stopTick(),this._startTick(this._config.tickInterval),this.player.isPlayVodUseMSE()){const t=this.player.video.$videoElement;if(!t)return;if(((e=_v(t))&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6?0:e.end(e.length-1):0)<.1||!t.readyState)return;(function(e){return e&&!e.paused&&!e.ended&&0!==e.playbackRate&&0!==e.readyState})(t)&&await this._loadSegment()}else await this._loadSegment();var e})),this.TAG_NAME="Mp4",this.player=e,this._prevSegmentEndTime=0,this._tickTimer=null,this._loading=!1,this._config=(i=t,Object.assign({tickInterval:500,preloadTime:10,bufferBehind:10,segmentDuration:void 0,url:"",retry:3,retryDelay:100},i)),this._bufferService=new Bv(this,e),this._bandwidthService=new Jb,this._loader=new Pv(this,this.player,{url:t.url,retry:t.retry,retryDelay:t.retryDelay}),this.player.isPlayVod()&&(this.player.on(At.playVodPause,(e=>{e?this.onPause():this.onPlay()})),this.player.isPlayVodUseMSE()?this.player.on(At.playVodVideoSeekingByMse,this.onVideoSeeking.bind(this)):this.player.on(At.playVodSeek,this.onSeeking.bind(this))),this.player.debug.log(this.TAG_NAME,"init")}async destroy(){await this._reset(),await this._bufferService.destroy()}async _reset(){this._stopTick(),await this._loader.reset(),await this._bufferService.reset(),this._prevSegmentEndTime=0,this._loading=!1,this._bandwidthService.reset()}async loadSource(e){this.player.debug.log(this.TAG_NAME,`loadSource() ${e}`),e&&await this._loader.changeUrl(e),this._startTick(this._config.tickInterval),await this._loadSegment(0)}async _loadSegment(e){var t,i,s,r;if(this._loading)return;let a=this.player.getRenderCurrentPts();a/=1e3,this.player.isPlayVodUseMSE()&&(a=this.player.getVideoCurrentTime());let o,n=this.player.isPlayVod()&&this.player.playVod.isSeeking();if(this._prevSegmentEndTime&&Lo(n)&&this._prevSegmentEndTime>this.player._opt.preloadTime*this.player.playVod.rate+a)return void this.player.debug.log(this.TAG_NAME,`_loadSegment() and _prevSegmentEndTime is ${this._prevSegmentEndTime} and current time is ${a} more than ${this.player._opt.preloadTime*this.player.playVod.rate+a} and return`);this._loading=!0;try{o=null!=e?await this._loader.loadSegmentByTime(e):await this._loader.loadNextSegment()}catch(e){console.error(e)}if(!o)return void(this._loading=!1);this._emitOnLoaded(o);const l=Math.min((null===(t=o.video)||void 0===t?void 0:t.endTime)||1/0,(null===(i=o.audio)||void 0===i?void 0:i.endTime)||1/0);this._setPrevSegmentEndTime(l);try{var d,h;await this._bufferService.appendBuffer(o.data,o.option.range[0],null===(d=o.video)||void 0===d?void 0:d.frames,null===(h=o.audio)||void 0===h?void 0:h.frames,this._loader.meta.moov),await this._bufferService.evictBuffer(this._config.bufferBehind)}catch(e){console.error(e)}finally{this._loading=!1}this._loader.isLastSegment((null===(s=o.video)||void 0===s?void 0:s.index)||(null===(r=o.audio)||void 0===r?void 0:r.index)||0)?this._end():this._loadSegment()}_end(){this._bufferService.endOfStream(),this._stopTick()}_emitOnLoaded(e){const{data:t,response:i,option:s}=e,{firstByteTime:r,startTime:a,endTime:o,contentLength:n}=s||{},l=o-a;this._bandwidthService.addRecord(n||t.byteLength,l)}resetBandwidth(){this._bandwidthService.reset()}_setPrevSegmentEndTime(e){this.player.debug.log(this.TAG_NAME,`setPrevSegmentEndTime() ${e}`),this._prevSegmentEndTime=e}_startTick(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._stopTick(),this._tickTimer=setTimeout(this._tick,e)}_stopTick(){clearTimeout(this._tickTimer)}onPause(){this.player.debug.log(this.TAG_NAME,"onPause()"),this._bufferService.demuxerPause(),this._stopTick()}async onPlay(){this.player.debug.log(this.TAG_NAME,"onPlay()"),this._bufferService.demuxerResume(),await this._loadSegment(),this._startTick()}speedInfo(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}}class Fv extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="Mp4Decoder",this.canVideoPlay=!1,this.$videoElement=this.player.video.$videoElement,this.mp4=null,this.eventsDestroy=[],this.bandwidthEstimateInterval=null,this.mp4=new Mv(e),this._bindEvents(),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this._stopBandwidthEstimateInterval(),this.mp4&&(await this.mp4.destroy(),this.mp4=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.$videoElement=null,this.player.debugLog(this.TAG_NAME,"destroy"),!0}_bindEvents(){this.mp4.on(Or,(e=>{this.player.emitError(_t.mp4Error,e)}))}_startBandwidthEstimateInterval(){this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{const e=this.mp4.speedInfo();this.player.emit(At.kBps,(e.avgSpeed/1024/8).toFixed(2)),this.mp4.resetBandwidth()}),1e3)}_stopBandwidthEstimateInterval(){this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}async loadSource(e){return this.player.debugLog(this.TAG_NAME,`loadSource() ${e}`),this.url=e,await this.mp4.loadSource(e),this._startBandwidthEstimateInterval(),!0}}class Uv extends Oo{constructor(e,t){if(super(),this.player=e,this.player.$container.classList.add("jb-pro-container-playback"),this._showPrecision=null,this._startTime=null,this._playStartTime=null,this._playingTimestamp=null,this._fps=parseInt(t.fps,10)||e._opt.playbackFps,this._isUseFpsRender=!!ko(t.isUseFpsRender),this._rate=1,this._audioTimestamp=0,this._videoTimestamp=0,this.controlType=t.controlType||Z.normal,t.controlType&&-1===[Z.normal,Z.simple].indexOf(t.controlType)&&(this.player.debugWarn("Playback","constructor()","controlType is not in [normal,simple]",t.controlType),this.controlType=Z.normal),this._currentLocalTimestamp=0,this._localOneFrameTimestamp=t.localOneFrameTimestamp||40,this._localCalculateTimeInterval=null,this._isUseLocalCalculateTime=!!ko(t.isUseLocalCalculateTime),this._isPlaybackPauseClearCache=!Lo(t.isPlaybackPauseClearCache),this._isCacheBeforeDecodeForFpsRender=!!ko(t.isCacheBeforeDecodeForFpsRender),this._startfpsTime=null,this._startFpsTimestamp=null,this._checkStatsInterval=null,this._playbackTs=0,this._renderFps=0,this._isUseLocalCalculateTime?this._startLocalCalculateTime():this._listen(),this.playbackList=[],this._playbackListStartTimestamp=null,this._totalDuration=0,t.controlType===Z.normal)this.initPlaybackList(t.playList,t.showPrecision,t.startTime);else if(t.controlType===Z.simple){t.duration&&(this._totalDuration=1e3*t.duration);let e=t.startTime||0;e>this.totalDuration&&(e=this.totalDuration),this.setStartTime(e)}this.player.on(At.playbackPause,(e=>{e?this.pause():this.resume()}));const i={fps:this._fps,isUseFpsRender:this._isUseFpsRender,localOneFrameTimestamp:this._localOneFrameTimestamp,isUseLocalCalculateTime:this._isUseLocalCalculateTime,uiUsePlaybackPause:t.uiUsePlaybackPause,showControl:t.showControl};try{e.debugLog("Playback","init",JSON.stringify(i))}catch(t){e.debugLog("Playback","init",i)}}destroy(){this._startTime=null,this._showPrecision=null,this._playStartTime=null,this._playingTimestamp=null,this._totalDuration=0,this._audioTimestamp=0,this._videoTimestamp=0,this._fps=null,this._isUseFpsRender=!1,this._rate=1,this.playbackList=[],this._playbackListStartTimestamp=null,this._localCalculateTimeInterval=null,this._currentLocalTimestamp=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._renderFps=0,this._playbackTs=0,this._stopLocalCalculateTime(),this.clearStatsInterval(),this.player.$container&&this.player.$container.classList.remove("jb-pro-container-playback"),this.off(),this.player.debugLog("Playback","destroy")}_listen(){this.player.on(At.stats,(e=>{const t=e.ts;this._playStartTime||(this._playStartTime=t-1e3);let i=t-this._playStartTime;if(this.setPlayingTimestamp(i),this.player.isPlaybackUseMSE()&&this.player.isPlaying()&&0===e.videoCurrentTimeDiff&&(this.player.debugWarn(this.TAG_NAME,`updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is ${e.videoCurrentTime}\n and next update video currentTime`),this.player.mseDecoder.updateVideoCurrentTimeByBufferStart()),this.player.isStreamEnd()&&this.player.isPlaying())if(this.player.isPlaybackUseMSE()&&0===e.videoCurrentTimeDiff){this.player.mseDecoder.isCurrentTimeInBufferEnd()&&this.player.emit(At.playbackEnd)}else{const e=this.player.getDemuxBufferLength(),t=this.player.getCanvasVideoBufferLength();0===e&&0===t&&this.player.emit(At.playbackEnd)}}))}pause(){this.clearStatsInterval()}resume(){this.startCheckStatsInterval()}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._startFpsTimestamp||(this._startFpsTimestamp=fa()),Wa(e.ts)&&(this.player.updateStats({fps:!0,ts:e.ts}),this._playbackTs=e.ts,this._startfpsTime||(this._startfpsTime=e.ts),this._renderFps+=1);const t=fa(),i=t-this._startFpsTimestamp;if(i<1e3)return;let s=null;this._startfpsTime&&(s=this._playbackTs-this._startfpsTime),this.player.emit(At.playbackStats,{fps:this._renderFps,rate:this.rate,start:this._startfpsTime,end:this._playbackTs,timestamp:i,dataTimestamp:s,audioBufferSize:this.player.audio?this.player.audio.bufferSize:0,videoBufferSize:this.player.video?this.player.video.bufferSize:0,ts:this._playbackTs}),this._renderFps=0,this._startfpsTime=this._playbackTs,this._startFpsTimestamp=t}updateLocalOneFrameTimestamp(e){this._localOneFrameTimestamp=e}_startLocalCalculateTime(){this._stopLocalCalculateTime(),this._localCalculateTimeInterval=setInterval((()=>{const e=this._currentLocalTimestamp;this._playStartTime||(this._playStartTime=e-1e3);let t=e-this._playStartTime;this.setPlayingTimestamp(t)}),1e3)}startCheckStatsInterval(){this.clearStatsInterval(),this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}_stopLocalCalculateTime(){this._localCalculateTimeInterval&&(clearInterval(this._localCalculateTimeInterval),this._localCalculateTimeInterval=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}increaseLocalTimestamp(){this._isUseLocalCalculateTime&&(this._currentLocalTimestamp+=this._localOneFrameTimestamp)}initPlaybackList(e,t,i){this.playbackList=e||[];let s=0;if(this.playbackList.forEach(((e,t)=>{10===eo(e.start)?(e.startTimestamp=1e3*e.start,e.startTime=Da(e.startTimestamp)):(e.startTimestamp=e.start,e.startTime=Da(e.startTimestamp)),10===eo(e.end)?(e.endTimestamp=1e3*e.end,e.endTime=Da(e.endTimestamp)):(e.endTimestamp=e.end,e.endTime=Da(e.endTimestamp)),e.duration=e.end-e.start,s+=e.duration})),this._totalDuration=s,this.player.debugLog("Playback",this.playbackList),this.playbackList.length>0){const e=this.playbackList[0].startTimestamp;this._playbackListStartTimestamp=e;let t=e;i&&(10===eo(i)&&(i*=1e3),this._isTimeInPlaybackList(i)&&(t=i)),this.setStartTime(t)}const r=t||Bi;this.setShowPrecision(r)}get totalDuration(){return(this._totalDuration||0)/1e3}get startTime(){return this._startTime||0}setStartTime(e){this._startTime=e,this._playingTimestamp=e,this._playStartTime=null}setRate(e){this._rate=e,this.player.emit(At.playbackRateChange,e)}get fps(){return this._fps}get rate(){return this._rate}get isUseFpsRender(){return this._isUseFpsRender}get isUseLocalCalculateTime(){return this._isUseLocalCalculateTime}get showPrecision(){return this._showPrecision}get is60Min(){return this.showPrecision===Bi}get is30Min(){return this.showPrecision===Mi}get is10Min(){return this.showPrecision===Fi}get is5Min(){return this.showPrecision===Ui}get is1Min(){return this.showPrecision===Ui}get isPlaybackPauseClearCache(){return this._isPlaybackPauseClearCache}get isCacheBeforeDecodeForFpsRender(){return this._isCacheBeforeDecodeForFpsRender}setShowPrecision(e){Ni.includes(e)||(this.player.debugWarn("Playback","setShowPrecision()","type is not in PLAYBACK_CONTROL_TIME_PRECISION_ARRAY",e),e=Bi),this._showPrecision&&this._showPrecision===e||(this._showPrecision=e,this.player.emit(At.playbackPrecision,this._showPrecision,this.playbackList),this.player.emit(At.playbackShowPrecisionChange,this._showPrecision))}setPlayingTimestamp(e){let t;if(this.controlType===Z.normal){t=this.startTime+e,this._playingTimestamp=t,this.player.emit(At.playbackTime,t);const i=new Date(t);this.player.emit(At.playbackTimestamp,{ts:t,hour:i.getHours(),min:i.getMinutes(),second:i.getSeconds()})}else this.controlType===Z.simple&&(t=this.startTime+Math.round(e/1e3),t>this.totalDuration&&(this.player.debugLog("Playback","setPlayingTimestamp()",`timestamp ${t} > this.totalDuration ${this.totalDuration}`),t=this.totalDuration),this._playingTimestamp=t,this.player.emit(At.playbackTime,t),this.player.emit(At.playbackTimestamp,{ts:t}))}get playingTimestamp(){return this._playingTimestamp}narrowPrecision(){const e=Ni.indexOf(this.showPrecision)-1;if(e>=0){const t=Ni[e];this.setShowPrecision(t)}}expandPrecision(){const e=Ni.indexOf(this.showPrecision)+1;if(e<=Ni.length-1){const t=Ni[e];this.setShowPrecision(t)}}seek(e){if(this.player.debugLog("Playback","seek()",e),this.controlType===Z.normal){if("true"===e.hasRecord){let t=e.time;"min"===e.type&&(t=60*e.time);let i=function(e){let t={};e>-1&&(t={hour:Math.floor(e/60/60)%60,min:Math.floor(e/60)%60,second:e%60});return t}(t);if(this._playbackListStartTimestamp){const e=new Date(this._playbackListStartTimestamp).setHours(i.hour,i.min,i.second,0);i.timestamp=e;const t=this._findMoreInfoByTimestamp(e);i&&t.more&&(i.more=t.more)}this.player.emit(At.playbackSeek,i)}}else if(this.controlType===Z.simple){let t=e.time;this.player.emit(At.playbackSeek,{ts:t})}}currentTimeScroll(){this.player.emit(At.playbackTimeScroll)}_findMoreInfoByTimestamp(e){let t=null;return this.playbackList.forEach(((i,s)=>{i.startTimestamp<=e&&i.endTimestamp>=e&&(t=i)})),t}_isTimeInPlaybackList(e){let t=!1;return this.playbackList.forEach(((i,s)=>{i.startTimestamp<=e&&i.endTimestamp>=e&&(t=!0)})),t}getControlType(){return this.controlType}isControlTypeNormal(){return this.controlType===Z.normal}isControlTypeSimple(){return this.controlType===Z.simple}isPlaybackPauseNotClearCacheAndCacheBeforeDecode(){return Lo(this.isPlaybackPauseClearCache)&&this.isCacheBeforeDecodeForFpsRender}isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender(){return this.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.isUseFpsRender}}class Ov extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="zoom",this.bindEvents=[],this.isDragging=!1,this.isGesturing=!1,this.currentZoom=1,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,this.prevGestureScale=null,this.prevGestureTouches=[],this._isZooming=!1,this.tempPosition={x:0,y:0},this.videoPosition={left:0,top:0},this.player,this.player.on(At.zooming,this._handleZooming.bind(this)),e.debugLog("zoom","init")}destroy(){this._unbindEvents(),this.bindEvents=[],this.isDragging=!1,this.currentZoom=1,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,this.tempPosition={x:0,y:0},this.videoPosition={left:0,top:0},this.off(),this.player.debugLog("zoom","destroy")}_handleZooming(e){if(e){this.player.$container.classList.add("jb-pro-zoom-control"),this._bindEvents();const e=this.player.video.$videoElement.style.transform;let t=this.player.video.$videoElement.offsetLeft,i=this.player.video.$videoElement.offsetTop;t=parseFloat(t),i=parseFloat(i),t&&(this.videoPosition.left=t),i&&(this.videoPosition.top=i),this.prevVideoElementStyleTransform=e;let s=e.match(/scale\([0-9., ]*\)/g);if(s&&s[0]){let e=s[0].replace("scale(","").replace(")","");this.prevVideoElementStyleScale=e.split(",")}this._isZooming=!0}else{this.player.$container.classList.remove("jb-pro-zoom-control"),this._unbindEvents(),this._resetVideoPosition(),this.player.$container.style.cursor="auto";let e=this.prevVideoElementStyleTransform;this.player.video.$videoElement.style.transform=e,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,Sa()&&this.player._opt.useWebFullScreen&&this.player.resize(),this._isZooming=!1}}_bindEvents(){const{events:{proxy:e}}=this.player,t=Fo(),i=e(this.player.$container,t.move,this.handleMouseMove.bind(this)),s=e(this.player.$container,t.down,this.handleMouseDown.bind(this)),r=e(window,t.up,this.handleMouseUp.bind(this));if(this.bindEvents.push(i,s,r),Sa()&&this.player._opt.zoomSupportGestureInMobile)if(Ta()){this.handleGestureChangeThrottle=Ia(this.handleGestureChangeForAndroid.bind(this),100);const t=e(this.player.$container,"touchstart",this.handleGestureStartForAndroid.bind(this)),i=e(this.player.$container,"touchmove",this.handleGestureChangeThrottle.bind(this)),s=e(this.player.$container,"touchend",this.handleGestureEndForAndroid.bind(this));this.bindEvents.push(t,i,s)}else{this.handleGestureChangeThrottle=Ia(this.handleGestureChange.bind(this),100);const t=e(this.player.$container,"gesturestart",this.handleGestureStart.bind(this)),i=e(this.player.$container,"gesturechange",this.handleGestureChangeThrottle.bind(this)),s=e(this.player.$container,"gestureend",this.handleGestureEnd.bind(this));this.bindEvents.push(t,i,s)}}_unbindEvents(){this.bindEvents.forEach((e=>{e&&e()}))}handleMouseMove(e){if(e.stopPropagation(),this.isDragging&&this.player.zooming){e.preventDefault();const{posX:t,posY:i}=ho(e),s=this.tempPosition.x-t,r=this.tempPosition.y-i;this.videoPosition.left=this.videoPosition.left-s,this.videoPosition.top=this.videoPosition.top-r,this.tempPosition.x=t,this.tempPosition.y=i,this.updateVideoPosition()}}handleMouseDown(e){e.stopPropagation();const t=oo(e);if(this.player.zooming&&(t.matches("video")||t.matches("canvas"))){e.preventDefault();const{posX:t,posY:i}=ho(e);this.player.$container.style.cursor="grabbing",this.tempPosition.x=t,this.tempPosition.y=i,this.isDragging=!0,this.player.debugLog("zoom","handleMouseDown is dragging true")}}handleMouseUp(e){e.stopPropagation(),this.isDragging&&this.player.zooming&&(e.preventDefault(),this.tempPosition={x:0,y:0},this.isDragging=!1,this.player.$container.style.cursor="grab",this.player.debugLog("zoom","handleMouseUp is dragging false"))}handleGestureStart(e){e.stopPropagation(),this.player.zooming&&(null===this.prevGestureScale&&(this.prevGestureScale=e.scale),this.isGesturing=!0)}handleGestureStartForAndroid(e){e.stopPropagation(),this.player.zooming&&e.touches.length>=2&&(this.isGesturing=!0,this.prevGestureTouches=e.touches)}handleGestureChangeForAndroid(e){if(e.stopPropagation(),e.preventDefault(),this.player.zooming&&this.isGesturing&&e.touches.length>=2){const s=e.touches,r=t(s[0],s[1])/t(this.prevGestureTouches[0],this.prevGestureTouches[1]);i(s[0],s[1]),i(this.prevGestureTouches[0],this.prevGestureTouches[1]),null===this.prevGestureScale&&(this.prevGestureScale=r);const a=r-this.prevGestureScale,o=this.player._opt.zoomSupportGestureInMobileSpeed;a>0?this.expandPrecision(o):a<0&&this.narrowPrecision(o)}function t(e,t){var i=t.pageX-e.pageX,s=t.pageY-e.pageY;return Math.sqrt(i*i+s*s)}function i(e,t){var i=e.pageX-t.pageX,s=e.pageY-t.pageY;return 180*Math.atan2(s,i)/Math.PI}}handleGestureEndForAndroid(e){e.stopPropagation(),this.player.zooming&&(this.prevGestureScale=null,this.isGesturing=!1,this.prevGestureTouches=[])}handleGestureChange(e){if(e.stopPropagation(),this.player.zooming&&this.isGesturing&&null!==this.prevGestureScale){const t=e.scale,i=t-this.prevGestureScale,s=this.player._opt.zoomSupportGestureInMobileSpeed;i>0?this.expandPrecision(s):i<0&&this.narrowPrecision(s),this.prevGestureScale=t}}handleGestureEnd(e){e.stopPropagation(),this.player.zooming&&(this.prevGestureScale=null,this.isGesturing=!1)}updateVideoPosition(){const e=this.player.video.$videoElement;e.style.left=this.videoPosition.left+"px",e.style.top=this.videoPosition.top+"px"}_resetVideoPosition(){this.player.resize(),this.tempPosition={x:0,y:0},this.videoPosition={left:0,top:0},this.currentZoom=1,this.isDragging=!1}narrowPrecision(e){this.currentZoom<=1||(this.currentZoom-=1,this.updateVideoElementScale(e))}expandPrecision(e){this.currentZoom>=this.player._opt.zoomMaxScale||(this.currentZoom+=1,this.updateVideoElementScale(e))}updateCurrentZoom(e,t){e<1||e>this.player._opt.zoomMaxScale||(this.currentZoom=e,this.updateVideoElementScale(t))}updatePrevVideoElementStyleScale(e){this.prevVideoElementStyleScale=e}updateVideoElementScale(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;const t=this.player.video.$videoElement;let i=t.style.transform,s=1,r=1;if(this.prevVideoElementStyleScale){const e=this.prevVideoElementStyleScale[0];void 0!==e&&(s=e,r=e);const t=this.prevVideoElementStyleScale[1];void 0!==t&&(r=t)}r=Ra(r),s=Ra(s);const a=e*s*(this.currentZoom-1)+s,o=e*r*(this.currentZoom-1)+r;let n;n=-1===i.indexOf("scale(")?i+` scale(${a},${o})`:i.replace(/scale\([0-9., ]*\)/,`scale(${a},${o})`),this.player.debugLog("zoom",`updateVideoElementScale end is X: ${s} -> ${a}, Y: ${r} -> ${o} style is ${n}`),t.style.transform=n}isZooming(){return this._isZooming}}class Nv extends Oo{constructor(e){super(),this.player=e,this.faceDetector=null,this.objectDetector=null,this.imageDetector=null,this.occlusionDetector=null,this.initFaceDetector(),this.initObjectDetector(),this.initImageDetector(),this.initOcclusionDetector();let t="init";this.faceDetector&&(t+=" and use faceDetector"),this.objectDetector&&(t+=" and use objectDetector"),this.imageDetector&&(t+=" and use imageDetector"),this.occlusionDetector&&(t+=" and use occlusionDetector"),this.player.debugLog("AiLoader",t)}destroy(){this.off(),this.faceDetector&&(this.faceDetector.destroy(),this.faceDetector=null),this.objectDetector&&(this.objectDetector.destroy(),this.objectDetector=null),this.imageDetector&&(this.imageDetector.destroy(),this.imageDetector=null),this.occlusionDetector&&(this.occlusionDetector.destroy(),this.occlusionDetector=null),this.player.debugLog("AiLoader","destroy")}initFaceDetector(){if(this.player._opt.useFaceDetector&&window.JessibucaProFaceDetector){const e=new JessibucaProFaceDetector({detectWidth:this.player._opt.aiFaceDetectWidth,showRect:!1,debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init face detector success"),this.faceDetector=e,this.faceDetector.on("jessibuca-pro-face-detector-info",(e=>{if(this.player.emit(At.aiFaceDetectorInfo,e),this.player._opt.aiFaceDetectShowRect){const t=this.player._opt.aiFaceDetectRectConfig||{},i=(e.list||[]).map((e=>(e.type="rect",e.color=t.borderColor||"#0000FF",e.lineWidth=t.borderWidth||2,e)));this.player.video&&this.player.video.addAiContentToCanvas(i)}}))}))}}initObjectDetector(){if(this.player._opt.useObjectDetector&&window.JessibucaProObjectDetector){const e=new JessibucaProObjectDetector({detectWidth:this.player._opt.aiObjectDetectWidth,showRect:!1,debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init object detector success"),this.objectDetector=e,this.objectDetector.on("jessibuca-pro-object-detector-info",(e=>{if(this.player.emit(At.aiObjectDetectorInfo,e),this.player._opt.aiObjectDetectShowRect){const t=[],i=this.player._opt.aiObjectDetectRectConfig||{};(e.list||[]).forEach((e=>{const s={type:"rect",color:i.borderColor||"#0000FF",lineWidth:i.borderWidth||2,x:e.rect.x,y:e.rect.y,width:e.rect.width,height:e.rect.height},r={type:"text",color:i.color||"#000",fontSize:i.fontSize||14,text:e.zh,x:e.rect.x,y:e.rect.y-25};t.push(s,r)})),this.player.video&&this.player.video.addAiContentToCanvas(t)}}))}))}}initImageDetector(){if(this.player._opt.useImageDetector&&window.JessibucaProImageDetector){const e=new JessibucaProImageDetector({debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init image detector success"),this.imageDetector=e}))}}initOcclusionDetector(){if(this.player._opt.useOcclusionDetector&&window.JessibucaProOcclusionDetector){const e=new JessibucaProOcclusionDetector({debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init occlusion detector success"),this.occlusionDetector=e}))}}updateFaceDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.faceDetector&&this.faceDetector.updateConfig(e)}updateObjectDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.objectDetector&&this.objectDetector.updateConfig(e)}updateImageDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.imageDetector&&this.imageDetector.updateConfig(e)}updateOcclusionDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.occlusionDetector&&this.occlusionDetector.updateConfig(e)}}class jv extends Oo{constructor(e){super(),this.player=e,this.LOG_NAME="Contextmenu",this.menuList=[],this.$contextmenus=e.control.$contextmenus,Sa()?this.player.debugWarn(this.LOG_NAME,"not support mobile"):this.init(),e.debugLog(this.LOG_NAME,"init")}destroy(){this.menuList=[],this.player.debugLog(this.LOG_NAME,"destroy")}get isShow(){return Ac(this.player.$container,"jb-pro-contextmenus-show")}show(){gc(this.player.$container,"jb-pro-contextmenus-show")}hide(){yc(this.player.$container,"jb-pro-contextmenus-show")}init(){const{events:{proxy:e},debug:t}=this.player;this.player._opt.contextmenuBtns.length>0&&this.player._opt.contextmenuBtns.forEach((e=>{this.addMenuItem(e)})),e(this.player.$container,"contextmenu",(e=>{e.preventDefault(),this.show();const t=e.clientX,i=e.clientY,{height:s,width:r,left:a,top:o}=this.player.$container.getBoundingClientRect(),{height:n,width:l}=this.$contextmenus.getBoundingClientRect();let d=t-a,h=i-o;t+l>a+r&&(d=r-l),i+n>o+s&&(h=s-n),ya(this.$contextmenus,{left:`${d}px`,top:`${h}px`})})),e(this.player.$container,"click",(e=>{_c(e,this.$contextmenus)||this.hide()})),this.player.on(At.blur,(()=>{this.hide()}))}_validateMenuItem(e){let t=!0;return e.content||(this.player.debugWarn(this.LOG_NAME,"content is required"),t=!1),t}addMenuItem(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=So(Ms);if(e=Object.assign({},t,e),!this._validateMenuItem(e))return;const{events:{proxy:i},debug:s}=this.player,r=Pa(),a=`\n
      \n ${e.content}\n
      \n `,o=Array.from(this.$contextmenus.children)[e.index];o?o.insertAdjacentHTML("beforebegin",a):bc(this.$contextmenus,a);const n=this.$contextmenus.querySelector(`.jb-pro-contextmenu-${r}`);e.click&&i(n,"click",(t=>{t.preventDefault(),e.click.call(this.player,this,t),this.hide()})),this.menuList.push({uuid:r,$menuItem:n})}}class Gv extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="CommonWebrtc",this.rtcPeerConnection=null,this.videoStream=null,this.isDisconnected=!1,this.isH264=this.player.isWebrtcH264(),this.eventsDestroy=[],this.supportVideoFrameCallbackHandle=null,this.isInitInfo=!1,this.$videoElement=this.player.video.$videoElement,this.bandwidthEstimateInterval=null,this.rtcPeerTrackVideoReceiver=null,this.rtcPeerTrackAudioReceiver=null,this.prevWebrtcVideoStats={},this.prevWebrtcAudioStats={},this.currentWebrtcStats={},this.player._opt.webrtcUseCanvasRender&&this.isH264&&(this.$videoElement=document.createElement("video"),Ca()&&(this.$videoElement.style.position="absolute"),this._initVideoEvents()),this.$videoElement.muted=!0,this._initRtcPeerConnection()}destroy(){if(this.isDisconnected=!1,this.isInitInfo=!1,this.prevWebrtcVideoStats={},this.currentWebrtcStats={},this.rtcPeerTrackVideoReceiver=null,this.rtcPeerTrackAudioReceiver=null,this._stopBandwidthEstimateInterval(),this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.isH264&&(this.videoStream&&(this.videoStream.getTracks().forEach((e=>e.stop())),this.videoStream=null),this.$videoElement))if(this.player._opt.webrtcUseCanvasRender){this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"));try{this.$videoElement.load()}catch(e){}}else this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject"));this.$videoElement=null,this.rtcPeerConnection&&(this.rtcPeerConnection.onicecandidate=ca,this.rtcPeerConnection.ontrack=ca,this.rtcPeerConnection.onconnectionstatechange=ca,this.rtcPeerConnection.ondatachannel=ca,this.rtcPeerConnection.close(),this.rtcPeerConnection=null)}_initVideoEvents(){this.player.debugLog(this.TAG_NAME,"_initVideoEvents()");const{proxy:e}=this.player.events,t=e(this.$videoElement,ls,(()=>{this.player.debugLog(this.TAG_NAME,"video canplay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video play"),this._startCanvasRender(),this._initRenderSize()})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video play error ",e)}))})),i=e(this.$videoElement,ds,(()=>{this.player.debugLog(this.TAG_NAME,"video waiting")})),s=e(this.$videoElement,us,(()=>{this.player.debugLog(this.TAG_NAME,"video loadedmetadata")})),r=e(this.$videoElement,hs,(e=>{parseInt(e.timeStamp,10),this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"video is paused and next try to replay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video is paused and replay success")})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video is paused and replay error ",e)})))})),a=e(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate)}));this.eventsDestroy.push(t,i,r,a,s)}_initRtcPeerConnection(){const e=new RTCPeerConnection,t=this.player;e.addTransceiver("video",{direction:"recvonly"}),e.addTransceiver("audio",{direction:"recvonly"}),e.onsignalingstatechange=e=>{this.player.debugLog(this.TAG_NAME,"onsignalingstatechange[本地端的信号状态]",e)},e.onicegatheringstatechange=t=>{this.player.debugLog(this.TAG_NAME,"onicegatheringstatechange[ICE收集状态]",t,e.iceGatheringState)},e.onnegotiationneeded=e=>{this.player.debugLog(this.TAG_NAME,"onnegotiationneeded[通信环境发生变化]",e)},e.oniceconnectionstatechange=i=>{this.player.debugLog(this.TAG_NAME,"oniceconnectionstatechange",e.iceConnectionState);const s=e.iceConnectionState;switch(this.player.emit(At.webrtcOnIceConnectionStateChange,s),this.isDisconnected="disconnected"===s,e.iceConnectionState){case"new":case"checking":case"closed":case"connected":case"completed":break;case"failed":t.emit(At.webrtcFailed);break;case"disconnected":t.emit(At.webrtcDisconnect);break;case"closed":t.emit(At.webrtcClosed)}},e.onicecandidate=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidate",e),e.candidate&&this.player.debugLog(this.TAG_NAME,"Remote ICE candidate: ",e.candidate.candidate)},e.ontrack=t=>{if(this.player.debugLog(this.TAG_NAME,"ontrack",t),"video"===t.track.kind){this.player.debugLog(this.TAG_NAME,"ontrack video"),this.rtcPeerTrackVideoReceiver=e.getReceivers().find((function(e){return e.track===t.track})),this.rtcPeerTrackVideoReceiver&&this._startBandwidthEstimateInterval();let i=t.streams[0];this.$videoElement.autoplay=!0,this.$videoElement.srcObject=i,this.videoStream=i}else"audio"===t.track.kind&&(this.player.debugLog(this.TAG_NAME,"ontrack audio"),this.rtcPeerTrackAudioReceiver=e.getReceivers().find((function(e){return e.track===t.track})),this.rtcPeerTrackAudioReceiver&&this._startBandwidthEstimateInterval())},e.onicecandidateerror=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidateerror[candidate错误]",e),this.player.emitError(_t.webrtcIceCandidateError,e)},e.onconnectionstatechange=i=>{switch(this.player.debugLog(this.TAG_NAME,"onconnectionstatechange[所有ICE 状态总览]",i),this.player.emit(At.webrtcOnConnectionStateChange,e.connectionState),e.connectionState){case"new":case"connecting":case"connected":case"disconnected":break;case"failed":this.isDisconnected&&t.emit(At.webrtcFailed)}},this.rtcPeerConnection=e}_startBandwidthEstimateInterval(){this.player.debugLog(this.TAG_NAME,"_startBandwidthEstimateInterval"),this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{this.rtcPeerTrackVideoReceiver&&this.rtcPeerTrackVideoReceiver.getStats().then((e=>{let t={},i=0;e.forEach((e=>{if(e)switch(e.type){case Ar:("succeeded"===e.state||e.bytesReceived)&&(this.currentWebrtcStats.timestamp=e.timestamp,this.currentWebrtcStats.rtt=e.currentRoundTripTime||-1,this.currentWebrtcStats.bytesReceived=e.bytesReceived||0,this.currentWebrtcStats.bytesSent=e.bytesSent||0);break;case _r:this.currentWebrtcStats.remoteCandidate=e||{};break;case vr:this.currentWebrtcStats.localCandidate=e||{};break;case br:this.currentWebrtcStats.lastTimeStamp=e.timestamp;const s=((e.timestamp||0)-(this.prevWebrtcVideoStats.timestamp||0))/1e3,r=Number(e.bytesReceived||0)-Number(this.prevWebrtcVideoStats.bytesReceived||0),a=Math.floor(r/s);i+=a,t.vbps=a,this.prevWebrtcVideoStats=e;break;case Sr:e.frameWidth&&e.frameHeight&&(this.currentWebrtcStats.frameWidth=e.frameWidth||0,this.currentWebrtcStats.frameHeight=e.frameHeight||0)}})),this.rtcPeerTrackAudioReceiver?this.rtcPeerTrackAudioReceiver.getStats().then((e=>{e.forEach((e=>{if(e&&e.type===br){this.currentWebrtcStats.lastTimeStamp=e.timestamp;const s=((e.timestamp||0)-(this.prevWebrtcAudioStats.timestamp||0))/1e3,r=Number(e.bytesReceived||0)-Number(this.prevWebrtcAudioStats.bytesReceived||0),a=Math.floor(r/s);i+=a,t.abps=a,this.prevWebrtcAudioStats=e}})),this.player.updateStats(t),this.player.emit(At.kBps,(i/1024).toFixed(2))})):(this.player.updateStats(t),this.player.emit(At.kBps,(i/1024).toFixed(2)))}))}),1e3)}_stopBandwidthEstimateInterval(){this.player.debugLog(this.TAG_NAME,"_stopBandwidthEstimateInterval"),this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}_startCanvasRender(){Io()?this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)):(this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.player.video.render({$video:this.$videoElement,ts:0})}),40))}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math.max(t.mediaTime,this.$videoElement.currentTime),10)||0;this.player.handleRender(),this.player.video.render({$video:this.$videoElement,ts:i}),this.player.updateStats({dts:i}),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}_initRenderSize(){this.isInitInfo||(this.player.video.updateVideoInfo({width:this.$videoElement.videoWidth,height:this.$videoElement.videoHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0)}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}isVideoPlaying(){return this.$videoElement&&Lo(this.$videoElement.paused)&&Lo(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}}class Vv extends Gv{constructor(e){super(e),this.TAG_NAME="WebrtcForSRSDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}loadSource(e){return new Promise(((t,i)=>{const s=this.rtcPeerConnection;s.createOffer().then((r=>{s.setLocalDescription(r),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t){return fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:t})}(e,r.sdp).then((e=>{this.player.debugLog(this.TAG_NAME,`getWebRtcRemoteSdp response and code is ${e.code}`);const r=e;if(r&&0!==r.code)return this.player.debugError(this.TAG_NAME,`response json code ${r.code}`),i(r.msg);r?s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:r})).then((()=>{t()})).catch((e=>{this.player&&this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),i(e)})):(this.player.debugError(this.TAG_NAME,"response sdp is null"),i("response sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),i(e)}))}))}}class Wv extends Gv{constructor(e){super(e),this.TAG_NAME="WebrtcForOthersDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}loadSource(e){return new Promise(((t,i)=>{const s=this.rtcPeerConnection;s.createOffer().then((r=>{s.setLocalDescription(r),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t){return fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:t})}(e,r.sdp).then((e=>{this.player.debugLog(this.TAG_NAME,`getWebRtcRemoteSdp response and code is ${e.code}`),e.text().then((e=>{this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp response");try{let t=JSON.parse(e);this.player.debugLog(this.TAG_NAME,"this is json sdp response"),0!=t.code&&(this.player.debugError(this.TAG_NAME,`response json code ${t.code}`),i(new Error(`response sdp json code: ${t.code}`))),e=t.sdp}catch(e){this.player.debugLog(this.TAG_NAME,"this is raw sdp response")}e?s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e})).then((()=>{t()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),i(e)})):(this.player.debugError(this.TAG_NAME,"loadSource sdp is null"),i("sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource response.text() error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),i(e)}))}))}}class zv extends Gv{constructor(e){super(e),this.rtcPeerConnectionDataChannel=null,this.player.isWebrtcH265()&&(this.streamRate=va((t=>{e.emit(At.kBps,(t/1024).toFixed(2))}))),this.TAG_NAME="WebrtcForM7SDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.stopStreamRateInterval(),this.rtcPeerConnectionDataChannel&&(this.rtcPeerConnectionDataChannel.onopen=ca,this.rtcPeerConnectionDataChannel.onclose=ca,this.rtcPeerConnectionDataChannel.onmessage=ca,this.rtcPeerConnectionDataChannel.close(),this.rtcPeerConnectionDataChannel=null),this.player.debugLog(this.TAG_NAME,"destroy")}_initRtcPeerConnection(){const e=new RTCPeerConnection,t=this.player;e.addTransceiver("video",{direction:"recvonly"}),e.addTransceiver("audio",{direction:"recvonly"}),e.onsignalingstatechange=e=>{this.player.debugLog(this.TAG_NAME,"onsignalingstatechange[本地端的信号状态]",e)},e.onicegatheringstatechange=t=>{this.player.debugLog(this.TAG_NAME,"onicegatheringstatechange[ICE收集状态]",t,e.iceGatheringState)},e.onnegotiationneeded=e=>{this.player.debugLog(this.TAG_NAME,"onnegotiationneeded[通信环境发生变化]",e)},e.oniceconnectionstatechange=i=>{this.player.debugLog(this.TAG_NAME,"oniceconnectionstatechange",e.iceConnectionState);const s=e.iceConnectionState;switch(this.player.emit(At.webrtcOnIceConnectionStateChange,s),this.isDisconnected="disconnected"===s,e.iceConnectionState){case"new":case"checking":case"closed":case"connected":case"completed":break;case"failed":t.emit(At.webrtcFailed);break;case"disconnected":t.emit(At.webrtcDisconnect);break;case"closed":t.emit(At.webrtcClosed)}},e.onicecandidate=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidate",e),e.candidate&&this.player.debugLog(this.TAG_NAME,"Remote ICE candidate: ",e.candidate.candidate)},e.ontrack=i=>{this.player.debugLog(this.TAG_NAME,"ontrack",i);const s=t.getWebrtcVideo();if(t.isWebrtcH264())if("video"===i.track.kind){this.player.debugLog(this.TAG_NAME,"ontrack video"),this.rtcPeerTrackVideoReceiver=e.getReceivers().find((function(e){return e.track===i.track})),this.rtcPeerTrackVideoReceiver&&this._startBandwidthEstimateInterval();let t=i.streams[0];s.autoplay=!0,s.srcObject=t,this.videoStream=t}else"audio"===i.track.kind&&(this.player.debugLog(this.TAG_NAME,"ontrack audio"),this.rtcPeerTrackAudioReceiver=e.getReceivers().find((function(e){return e.track===i.track})),this.rtcPeerTrackAudioReceiver&&this._startBandwidthEstimateInterval())},e.onicecandidateerror=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidateerror[candidate错误]",e),this.player.emitError(_t.webrtcIceCandidateError,e)},e.onconnectionstatechange=i=>{switch(this.player.debugLog(this.TAG_NAME,"onconnectionstatechange[所有ICE 状态总览]",i),this.player.emit(At.webrtcOnConnectionStateChange,e.connectionState),e.connectionState){case"new":case"connecting":case"connected":case"disconnected":break;case"failed":this.isDisconnected&&t.emit(At.webrtcFailed)}},e.ondatachannel=e=>{const t=e.channel;this.player.debugLog(this.TAG_NAME,"ondatachannel"),t.onopen=()=>{this.player.debugLog(this.TAG_NAME,"ondatachannel and onopen")},t.onmessage=e=>{const t=e.data;if(this.player.isWebrtcH264())return this.player.debugWarn(this.TAG_NAME,"ondatachannel is H265 but decode is h264 so emit webrtcStreamH265 "),void this.player.emit(At.webrtcStreamH265);this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"ondatachannel and player is destroyed"):(this.streamRate&&this.streamRate(t.byteLength),this.player.demux&&this.player.demux.dispatch(t))},t.onclose=()=>{this.player.debugWarn(this.TAG_NAME,"ondatachannel and onclose")},this.rtcPeerConnectionDataChannel=t};e.createDataChannel("signal").onmessage=e=>{this.player.debugLog(this.TAG_NAME,"signalChannel,onmessage",e);JSON.parse(e.data).type},this.rtcPeerConnection=e}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}loadSource(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{const r=this.rtcPeerConnection;r.createOffer().then((a=>{r.setLocalDescription(a),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t,i){let s={"Content-Type":"application/sdp"};return i.username&&i.password&&(s.Authorization="Basic "+btoa(i.username+":"+i.password)),fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:s,body:t})}(e,a.sdp,t).then((e=>{e.text().then((e=>{this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp response"),e?r.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e})).then((()=>{this.player.isWebrtcH265()&&this.startStreamRateInterval(),i()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),s(e)})):(this.player.debugError(this.TAG_NAME,"loadSource sdp is null"),s("sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource response.text() error",e.toString(),e),s(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),s(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),s(e)}))}))}}class $v extends Gv{constructor(e){super(e),this.TAG_NAME="WebrtcForZLMDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}loadSource(e){return new Promise(((t,i)=>{const s=this.rtcPeerConnection;s.createOffer().then((r=>{s.setLocalDescription(r),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t){return zl({url:e,type:"POST",data:t,contentType:"text/plain;charset=utf-8",processData:!1,dataType:"json"})}(e,r.sdp).then((e=>{this.player.debugLog(this.TAG_NAME,`getWebRtcRemoteSdp response and code is ${e.code}`);const r=e;if(r&&0!==r.code)return this.player.debugError(this.TAG_NAME,`response json code ${r.code}`),i(r.msg);r&&r.sdp?s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:r.sdp})).then((()=>{t()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),i(e)})):(this.player.debugError(this.TAG_NAME,"response sdp is null"),i("sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),i(e)}))}))}}class Hv extends Oo{constructor(e){if(super(),this.TAG_NAME="AliyunRtc",this.player=e,!window.AliRTS)throw new Error("AliyunRtc is not defined");this.aliyunRtc=window.AliRTS.createClient(),this.aliyunRtcRemoteStream=null,this.$videoElement=this.player.video.$videoElement,this.listenEvents(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.aliyunRtc&&(this.aliyunRtcRemoteStream&&(this.aliyunRtcRemoteStream=null),this.aliyunRtc.unsubscribe(),this.aliyunRtc=null),this.$videoElement=null,this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}listenEvents(){this.aliyunRtc.on("onError",(e=>{this.player.debugLog(this.TAG_NAME,`onError and code is ${e.errorCode} and message: ${e.message}`),10400!==e.errorCode&&(this.player.debugError(this.TAG_NAME,`onError and code is ${e.errorCode} and message: ${e.message}`),this.player.emitError(_t.aliyunRtcError,e))})),this.aliyunRtc.on("reconnect",(e=>{this.player.debugLog(this.TAG_NAME,"reconnect",e)}));const e="canplay",t="waiting",i="playing",s="media";this.aliyunRtc.on("onPlayEvent",(r=>{if(r.event===e)this.player.debugLog(this.TAG_NAME,"onPlayEvent and canplay");else if(r.event===t)this.player.debugLog(this.TAG_NAME,"onPlayEvent and playing - > waiting");else if(r.event===i)this.player.debugLog(this.TAG_NAME,"onPlayEvent and waiting -> playing");else if(r.event===s){const e=r.data;let t={},i=0;if(e.audio){const s=Math.floor(e.audio.bytesReceivedPerSecond);i+=s,t.abps=s}if(e.video){const s=Math.floor(e.video.bytesReceivedPerSecond);i+=s,t.vbps=s}this.player.updateStats(t),this.player.emit(At.kBps,(i/1024).toFixed(2))}}))}loadSource(e){return new Promise(((t,i)=>{this.aliyunRtc.isSupport({isReceiveVideo:!0}).then((()=>{this.aliyunRtc.subscribe(e,{}).then((e=>{this.aliyunRtcRemoteStream=e,e.play(this.$videoElement),t()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource and subscribe is not success: ",e.message),i(e.message)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource and is not support: ",e.message),i(e.message)}))}))}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}isVideoPlaying(){return this.$videoElement&&Lo(this.$videoElement.paused)&&Lo(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}}class Jv{constructor(e){this.player=e,this.TAG_NAME="PressureObserverCpu",this.observer=null,this.latestCpuInfo=null,this.currentLevel=-1,this.observeCpuSuccess=!1,this._init(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.observer&&(this.observeCpuSuccess&&this.observer.disconnect(),this.observer=null),this.latestCpuInfo=null,this.currentLevel=-1,this.player.debugLog(this.TAG_NAME,"destroy")}getCurrentCpuState(){return this.currentLevel}_init(){Lo(Bo())?this.player.debugLog(this.TAG_NAME,"not support PressureObserver"):(this.observer=new PressureObserver((e=>{const t=(e||[]).find((e=>"cpu"===e.source));if(t){switch(this.latestCpuInfo=t,t.state){case"nominal":this.currentLevel=0;break;case"fair":this.currentLevel=1;break;case"serious":this.currentLevel=2;break;case"critical":this.currentLevel=3;break;default:this.currentLevel=-1}this.player.emit(At.pressureObserverCpu,this.currentLevel)}})),this.observer&&this.observer.observe("cpu",{sampleInterval:1e3}).then((()=>{this.observeCpuSuccess=!0,this.player.debugLog(this.TAG_NAME,"observe cpu success")})).catch((()=>{this.observeCpuSuccess=!1,this.player.debugLog(this.TAG_NAME,"observe cpu fail")})))}}class qv extends Qo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),this.TAG_NAME="DynamicWatermark",this.isPauseAnimation=!1,this.isStopAnimation=!1,this.rafID=null,this.options=t,this.speed=t.speed||.2,this.isDynamic=!0,this.shadowRootDynamicDom=null,this.isGhost=!0===t.isGhost,this.isGhost&&(this.TAG_NAME="GhostWatermark"),this.ghostConfig={on:t.on||5,off:t.off||5},this.waterMarkWillRemove=!1,this.waterMarkWillAdd=!1,this.player.once(At.start,this.start.bind(this)),this.player.debugLog(this.TAG_NAME,"int")}destroy(){super.destroy(),this.shadowRootDynamicDom=null,this.stopAnimation(),this.rafID&&(cancelAnimationFrame(this.rafID),this.rafID=null)}start(){const e=decodeURIComponent("JessibucaPro%20%E4%BD%93%E9%AA%8C");let t=this.player.getVideoInfo();t||(t={width:200,height:200}),this.update({text:{content:e,fontSize:this.options.fontSize||18,color:this.options.color||"black"},left:t.width*Math.random(),top:t.height*Math.random(),opacity:this.options.opacity||.15}),this.startAnimation()}startAndResize(){this.start(),this.resize()}startAnimation(){if(!this.rafID){let e=1,t=1,i=Math.random(),s={width:0,height:0};const r=()=>{try{if(Lo(this.isPauseAnimation)&&this.shadowRootDynamicDom&&this.shadowRootInnerDom){const a=this.shadowRootInnerDom,o=this.shadowRootDynamicDom,n=a.getBoundingClientRect(),l=o.getBoundingClientRect();if(l.width&&l.height&&(s.width=l.width,s.height=l.height),!this.shadowRootInnerDom.contains(this.shadowRootDynamicDom))return this.isGhost?Lo(this.waterMarkWillAdd)&&(this.waterMarkWillAdd=!0,setTimeout((()=>{this._addDom(n,s),this.waterMarkWillAdd=!1}),1e3*this.ghostConfig.off)):this._addDom(n,s),void(0!==this.speed&&requestAnimationFrame(r));const d=Math.min(1,0===this.speed?0:this.speed?this.speed:.2);let h=l.left-n.left,c=l.top-n.top;h+=d*t*i,c+=d*e*(1-i),h+s.width>n.width?(t=-1,i=Math.random()):h<0&&(t=1,i=Math.random()),c+s.height>n.height?(e=-1,i=Math.random()):c<0&&(e=1,i=Math.random()),h=Math.min(n.width-s.width,h),c=Math.min(n.height-s.height,c);const u=h/n.width*100,p=c/n.height*100;this.shadowRootDynamicDom.style.left=`${u}%`,this.shadowRootDynamicDom.style.top=`${p}%`,Lo(this.waterMarkWillRemove)&&this.isGhost&&(this.waterMarkWillRemove=!0,setTimeout((()=>{this._removeDom(),this.waterMarkWillRemove=!1}),1e3*this.ghostConfig.on))}}catch(e){}if(this.isStopAnimation)return this.isStopAnimation=!1,cancelAnimationFrame(this.rafID),void(this.rafID=null);0!==this.speed&&requestAnimationFrame(r)};this.rafID=requestAnimationFrame(r)}}_addDom(e,t){if(this.shadowRootInnerDom&&this.shadowRootDynamicDom){this.shadowRootInnerDom.appendChild(this.shadowRootDynamicDom);let i=e.width*Math.random(),s=e.height*Math.random();i=Math.min(e.width-2*t.width,i),s=Math.min(e.height-2*t.height,s),this.shadowRootDynamicDom.style.left=`${i}px`,this.shadowRootDynamicDom.style.top=`${s}px`}}resumeAnimation(){this.isPauseAnimation=!1}pauseAnimation(){this.isPauseAnimation=!0}stopAnimation(){this.isStopAnimation=!0}}class Kv extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="DrawRectangle",this.drawingRectangle=!1,this.isDragging=!1,this.bindEvents=[],this.$rectBox=null,this._resetPoint(),this.player.on(At.drawingRect,this._handleDrawingRect.bind(this)),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this._unbindEvents(),this.drawingRectangle=!1,this.isDragging=!1,this._removeRectBox(),this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}_resetPoint(){this.startPagePoint={x:0,y:0},this.startPoint={x:0,y:0},this.endPoint={x:0,y:0}}_handleDrawingRect(e){this.drawingRectangle=e,e?this._bindEvents():(this._unbindEvents(),this._removeRectBox())}_bindEvents(){const{events:{proxy:e}}=this.player,t=e(this.player.$container,"mousemove",this.handleMouseMove.bind(this)),i=e(this.player.$container,"mousedown",this.handleMouseDown.bind(this)),s=e(window,"mouseup",this.handleMouseUp.bind(this));this.bindEvents.push(t,i,s)}_unbindEvents(){this.bindEvents.forEach((e=>{e&&e()})),this.bindEvents=[]}_removeRectBox(){if(this.$rectBox){if(!Sc(this.$rectBox)){const e=this.player.$container.querySelector(".jb-pro-drawing-rect-box");e&&this.player.$container&&this.player.$container.removeChild(e)}this.$rectBox=null}}handleMouseDown(e){if(e.stopPropagation(),!this.drawingRectangle)return;this._removeRectBox();const t=e.offsetX,i=e.offsetY;this.startPoint.x=t,this.startPoint.y=i,this.startPagePoint.x=e.pageX-this.player.$container.offsetLeft,this.startPagePoint.y=e.pageY-this.player.$container.offsetTop,this.$rectBox=document.createElement("div"),this.$rectBox.classList.add("jb-pro-drawing-rect-box"),this.$rectBox.style.border=`${this.player._opt.drawingRectLineWidth}px solid ${this.player._opt.drawingRectColor}`,this.$rectBox.style.position="absolute",this.$rectBox.style.left=`${this.startPoint.x}px`,this.$rectBox.style.top=`${this.startPoint.y}px`,this.player.$container.appendChild(this.$rectBox),this.isDragging=!0}handleMouseMove(e){if(e.stopPropagation(),!this.isDragging)return;if(!this.drawingRectangle)return;if(!this.$rectBox)return;const t=this.player.$container,i=this.player.getControlHeight(),s=e.pageX-t.offsetLeft,r=e.pageY-t.offsetTop;if(sn&&(a=n,this.endPoint.x=this.startPoint.x+a),o>l&&(o=l,this.endPoint.y=this.startPoint.y+o),this.$rectBox.style.width=`${a}px`,this.$rectBox.style.height=`${o}px`}handleMouseUp(e){if(e.stopPropagation(),this.drawingRectangle&&this.isDragging){e.preventDefault(),this.isDragging=!1,this.player._opt.drawingRectEndRemoveDom&&this._removeRectBox();const t={startPoint:this.startPoint,endPoint:this.endPoint,width:Math.abs(this.endPoint.x-this.startPoint.x),height:Math.abs(this.endPoint.y-this.startPoint.y)};this.player._opt.isResize,this.player.emit(At.drawingRectInfo,t),this._resetPoint()}}}class Yv extends Oo{constructor(e,t){super(),this.player=e,this.TAG_NAME="PlayVod",this.player.$container.classList.add("jb-pro-container-play-vod"),this._showPrecision=null,this._startTime=null,this._playingTimestamp=null,this._fps=parseInt(t.fps,10)||e._opt.playbackFps,this._isUseFpsRender=!!ko(t.isUseFpsRender),this._rate=1,this._audioTimestamp=0,this._videoTimestamp=0,this._currentLocalTimestamp=0,this._localOneFrameTimestamp=t.localOneFrameTimestamp||40,this._localCalculateTimeInterval=null,this._isUseLocalCalculateTime=!!ko(t.isUseLocalCalculateTime),this._isPlaybackPauseClearCache=!Lo(t.isPlaybackPauseClearCache),this._isCacheBeforeDecodeForFpsRender=!!ko(t.isCacheBeforeDecodeForFpsRender),this._startfpsTime=null,this._startFpsTimestamp=null,this._checkStatsInterval=null,this._playbackTs=0,this._renderFps=0,this._seekingTimestamp=null,this._isLessThanCurrentTime=!1,this._isEnded=!1,this._isEndedOnce=!1,this._listen(),this._totalDuration=0,t.duration&&(this._totalDuration=1e3*t.duration);let i=t.startTime||0;i>this.totalDuration&&(i=Da(this.totalDuration,10)),this.setStartTime(i),this.player.on(At.playVodPause,(e=>{e?this.pause():this.resume()}));const s={fps:this._fps,isUseFpsRender:this._isUseFpsRender,localOneFrameTimestamp:this._localOneFrameTimestamp,isUseLocalCalculateTime:this._isUseLocalCalculateTime,uiUsePlaybackPause:t.uiUsePlaybackPause,showControl:t.showControl};e.debug.log(this.TAG_NAME,"init",JSON.stringify(s))}destroy(){this._startTime=null,this._showPrecision=null,this._playingTimestamp=null,this._totalDuration=0,this._audioTimestamp=0,this._videoTimestamp=0,this._fps=null,this._isUseFpsRender=!1,this._rate=1,this._localCalculateTimeInterval=null,this._currentLocalTimestamp=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._renderFps=0,this._playbackTs=0,this._prevTs=0,this._isEndedOnce=!1,this._isEnded=!1,this._stopLocalCalculateTime(),this.clearStatsInterval(),this.player.$container&&this.player.$container.classList.remove("jessibuca-container-play-vod"),this.off(),this.player.debug.log(this.TAG_NAME,"destroy")}_listen(){this.player.on(At.stats,(e=>{if(this.player.playVodPause)return;let t=e.ts;this.player.isPlayVodUseMSE()&&(this.player.isPlaying()&&0===e.videoCurrentTimeDiff&&(this.player.debugWarn(this.TAG_NAME,`updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is ${e.videoCurrentTime}\n and next update video currentTime`),this.player.mseDecoder.updateVideoCurrentTimeByBufferStart()),t=1e3*e.videoCurrentTime),this.setPlayingTimestamp(t),this._prevTs=t,this.checkIsEnded()}))}checkIsEnded(){this.isEnded()&&(this._isEnded=!0,this._removeSeekingTimestamp(),this.player.emit(At.playVodEnded))}isEnded(){let e=!1;if(this._isEnded)return!0;this.player.isPlayVodUseMSE()&&this.player.video&&this.player.video.isEnded()&&(e=!0);const t=Math.abs(this.playingTimestamp-this._totalDuration);return t<700&&(this._isEndedOnce&&(this.player.debug.log(this.TAG_NAME,"isEnded()",`diff playingTimestamp is ${this.playingTimestamp} and totalDuration is ${this._totalDuration} ${t} < 700`),e=!0),this._isEndedOnce||(this._isEndedOnce=!0)),e}updateDuration(e){this._totalDuration=1e3*e}pause(){this.clearStatsInterval()}resume(){this.startCheckStatsInterval()}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._startFpsTimestamp||(this._startFpsTimestamp=fa()),Wa(e.ts)&&(this.player.updateStats({fps:!0,ts:e.ts}),this._playbackTs=e.ts,this._startfpsTime||(this._startfpsTime=e.ts),this._renderFps+=1);const t=fa(),i=t-this._startFpsTimestamp;if(i<1e3)return;let s=null;this._startfpsTime&&(s=this._playbackTs-this._startfpsTime),this.player.emit(At.playVodStats,{fps:this._renderFps,rate:this.rate,start:this._startfpsTime,end:this._playbackTs,timestamp:i,dataTimestamp:s,audioBufferSize:this.player.audio?this.player.audio.bufferSize:0,videoBufferSize:this.player.video?this.player.video.bufferSize:0,ts:this._playbackTs}),this._renderFps=0,this._startfpsTime=this._playbackTs,this._startFpsTimestamp=t}updateLocalOneFrameTimestamp(e){this._localOneFrameTimestamp=e}startCheckStatsInterval(){this.clearStatsInterval(),this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}_stopLocalCalculateTime(){this._localCalculateTimeInterval&&(clearInterval(this._localCalculateTimeInterval),this._localCalculateTimeInterval=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}increaseLocalTimestamp(){this._isUseLocalCalculateTime&&(this._currentLocalTimestamp+=this._localOneFrameTimestamp)}get totalDuration(){return Math.round(this._totalDuration/1e3)}get startTime(){return this._startTime||0}setStartTime(e){this._startTime=e,this._playingTimestamp=e}setRate(e){this._rate=e,this.player.emit(At.playVodRateChange,e)}get fps(){return this._fps}get rate(){return this._rate}get isUseFpsRender(){return this._isUseFpsRender}get isUseLocalCalculateTime(){return this._isUseLocalCalculateTime}get isPlaybackPauseClearCache(){return this._isPlaybackPauseClearCache}get isCacheBeforeDecodeForFpsRender(){return this._isCacheBeforeDecodeForFpsRender}setPlayingTimestamp(e){let t;t=this.startTime+Math.round(e/1e3),t>this.totalDuration&&(this.player.debug.log(this.TAG_NAME,"setPlayingTimestamp()",`timestamp ${t} > this.totalDuration ${this.totalDuration}`),t=this.totalDuration),this._playingTimestamp=t,this.player.emit(At.playVodTime,t),this._prevTs&&this._prevTs}get playingTimestamp(){return 1e3*this._playingTimestamp}getCurrentTime(){return this.playingTimestamp/1e3}get seekingTimestamp(){return null===this._seekingTimestamp?null:1e3*this._seekingTimestamp}isSeeking(){return null!==this._seekingTimestamp}isSeekingLessThanCurrentTime(){return this.isSeeking()&&this._isLessThanCurrentTime}_removeSeekingTimestamp(){this._seekingTimestamp=null,this._isLessThanCurrentTime=!1}removeSeekingTimestamp(){const e=this._seekingTimestamp;this._removeSeekingTimestamp(),this.player.emit(At.playVodSeekEnd,e)}seek(e){let t=e.time;if(t>this.totalDuration&&(t=parseInt(this.totalDuration,10)),t<0&&(t=0),this.player.debug.log(this.TAG_NAME,"seek()",e.time,t),this._seekingTimestamp=t,this.player.emit(At.playVodSeek,t),this.player.isPlayVodUseMSE()){const e=this.player.video.getCurrentTime();this._isLessThanCurrentTime=t=this.player._opt.playVodForwardMaxRateDecodeIFrame}}class Qv extends Oo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this._opt={},this.TAG_NAME="Player",this.$container=e;const i=To();if(this._opt=Object.assign({},i,t),this.debug=new Nr(this),this.debugLog(this.TAG_NAME,"init and version is",_a),this._opt.forceNoOffscreen=!0,this._canPlayAppleMpegurl=!1,(Ca()||La())&&(this._canPlayAppleMpegurl=co(),this.debugLog(this.TAG_NAME,"isIOS or isSafari and canPlayAppleMpegurl",this._canPlayAppleMpegurl)),this._opt.autoUseSystemFullScreen&&(ko(Vr.isEnabled)&&ko(this._opt.useWebFullScreen)&&(this.debugLog(this.TAG_NAME,"screenfull.isEnabled is true and _opt.useWebFullScreen is true , set _opt.useWebFullScreen false"),this._opt.useWebFullScreen=!1),Lo(Vr.isEnabled)&&Lo(this._opt.useWebFullScreen)&&(this.debugLog(this.TAG_NAME,"screenfull.isEnabled is false and _opt.useWebFullScreen is false , set _opt.useWebFullScreen true"),this._opt.useWebFullScreen=!0)),Do()&&(this.debugLog(this.TAG_NAME,"isIphone and set _opt.videoRenderSupportScale false"),this._opt.videoRenderSupportScale=!1,ro()&&ko(this._opt.isHls)&&Lo(this._opt.supportHls265)&&(this.debugLog(this.TAG_NAME,"isIphone and is in wechat and is hls so set supportHls265 true"),this._opt.supportHls265=!0)),Lo(this._opt.playFailedAndReplay)&&(this.debugLog(this.TAG_NAME,"_opt.playFailedAndReplay is false and set others replay params false"),this._opt.webglAlignmentErrorReplay=!1,this._opt.webglContextLostErrorReplay=!1,this._opt.autoWasm=!1,this._opt.mseDecodeErrorReplay=!1,this._opt.mediaSourceTsIsMaxDiffReplay=!1,this._opt.wcsDecodeErrorReplay=!1,this._opt.wasmDecodeErrorReplay=!1,this._opt.simdDecodeErrorReplay=!1,this._opt.videoElementPlayingFailedReplay=!1,this._opt.networkDelayTimeoutReplay=!1,this._opt.widthOrHeightChangeReplay=!1,this._opt.simdH264DecodeVideoWidthIsTooLargeReplay=!1,this._opt.mediaSourceUseCanvasRenderPlayFailedReplay=!1,this._opt.heartTimeoutReplay=!1,this._opt.loadingTimeoutReplay=!1,this._opt.websocket1006ErrorReplay=!1,this._opt.streamErrorReplay=!1,this._opt.streamEndReplay=!1,this._opt.mseWaitVideoCanplayAutoWasm=!1),this._opt.hiddenControl&&(this.debugLog(this.TAG_NAME,"_opt.hiddenControl is true and set others show btn to false"),Object.keys(this._opt.operateBtns).forEach((e=>{this._opt.operateBtns[e]&&-1===(""+e).indexOf("Fn")&&(this._opt.operateBtns[e]=!1)})),this._opt.showBandwidth=!1,this._opt.extendOperateBtns=[],this._opt.controlHtml="",this.isPlayback()&&(this._opt.playbackConfig.showControl=!1)),this._opt.preferredHardDecode&&(this._opt.useMSE=!0,this._opt.useWCS=!0,this._opt.decoderErrorAutoWasm=!1,this._opt.mseDecodeAudio=!0,this._opt.wcsDecodeAudio=!0,this._opt.mseDecoderUseWorker=!0),this._opt.watermarkConfig={image:{src:"data:image/png;base64,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",width:75,height:24},opacity:.1,right:10,top:10},this._opt.forceNoOffscreen||("undefined"==typeof OffscreenCanvas?(this._opt.forceNoOffscreen=!0,this._opt.useOffscreen=!1):this._opt.useOffscreen=!0),this._opt.isMpeg4&&(this.debugLog(this.TAG_NAME,"isMpeg4 is true, so set _opt.useWasm true and others params false"),this._opt.useWCS=!1,this._opt.useMSE=!1,this._opt.isNakedFlow=!1,this._opt.useSIMD=!1,this._opt.isFmp4=!1,this._opt.useWasm=!0),this.isPlayback()&&(ko(this._opt.useMSE)&&ko(this._opt.mseDecoderUseWorker)&&this.debugLog(this.TAG_NAME,"isPlayback and mseDecoderUseWorker is true, so set mseDecoderUseWorker false"),this._opt.mseDecoderUseWorker=!1),this.isPlayVod()&&(this._opt.mseDecoderUseWorker=!1),this._opt.poster&&(this._opt.background=this._opt.poster),Lo(this._opt.muted)&&(this._opt.isNotMute=!0),this._opt.mseDecoderUseWorker&&(this._opt.mseDecoderUseWorker=!!(Fr.Worker&&Fr.MediaSource&&"canConstructInDedicatedWorker"in Fr.MediaSource&&!0===Fr.MediaSource.canConstructInDedicatedWorker),Lo(this._opt.mseDecoderUseWorker)&&this.debugLog(this.TAG_NAME,"mseDecoderUseWorker is true but not support so set _opt.mseDecoderUseWorker = false")),(this.isOldHls()||this.isWebrtcH264()||this.isAliyunRtc())&&(this.debugLog(this.TAG_NAME,"isOldHls or isWebrtcH264 or isAliyunRtc is true, so set some params false and set _opt.recordType = webm"),this._opt.useWCS=!1,this._opt.useMSE=!1,this._opt.isNakedFlow=!1,this._opt.useSIMD=!1,this._opt.isFmp4=!1,this._opt.useWasm=!1,this._opt.recordType=w),this._opt.isNakedFlow&&(this.debugLog(this.TAG_NAME,"isNakedFlow is true, so set _opt.mseDecodeAudio false"),this._opt.mseDecodeAudio=!1),wa()&&(this.debugLog(this.TAG_NAME,"isFirefox is true, so set _opt.mseDecodeAudio false"),this._opt.mseDecodeAudio=!1),!this.isOldHls()&&!this.isWebrtcH264()){if(this._opt.useWCS){const e=function(){let e=!1;return"VideoDecoder"in Fr&&"function"==typeof Fr.VideoDecoder&&(e=!0),e}(),t=Ua();this._opt.useWCS=e,this._opt.useWCS&&this._opt.isH265&&(this._opt.useWCS=t),this._opt.useWCS||this.debugWarn(this.TAG_NAME,`\n useWCS is true,\n and supportWCS is ${e}, supportHevcWCS is ${t} , _opt.isH265 is ${this._opt.isH265}\n so set useWCS false`),this._opt.useWCS&&(this._opt.wcsDecodeAudio&&(this._opt.wcsDecodeAudio=function(){let e=!1;return"AudioDecoder"in Fr&&"function"==typeof Fr.AudioDecoder&&(e=!0),e}(),this._opt.wcsDecodeAudio||this.debugWarn(this.TAG_NAME,"wcsDecodeAudio is true, but not support so set wcsDecodeAudio false")),this._opt.useOffscreen?this._opt.wcsUseVideoRender=!1:this._opt.wcsUseVideoRender&&(this._opt.wcsUseVideoRender=Oa()&&Na(),this._opt.wcsUseVideoRender||this.debugWarn(this.TAG_NAME,"wcsUseVideoRender is true, but not support so set wcsUseVideoRender false")))}if(this._opt.useMSE){const e=function(){let e=!1;return"MediaSource"in Fr&&"function"==typeof Fr.MediaSource&&"function"==typeof Fr.MediaSource.isTypeSupported&&(e=!0),e}()||function(){let e=!1;return!("MediaSource"in Fr)&&"ManagedMediaSource"in Fr&&"function"==typeof Fr.ManagedMediaSource&&"function"==typeof Fr.ManagedMediaSource.isTypeSupported&&(e=!0),e}(),t=Fa()||function(){let e=!1;return!("MediaSource"in Fr)&&"ManagedMediaSource"in Fr&&Fr.ManagedMediaSource&&(Fr.ManagedMediaSource.isTypeSupported(Ei)||Fr.ManagedMediaSource.isTypeSupported(Ti)||Fr.ManagedMediaSource.isTypeSupported(wi)||Fr.ManagedMediaSource.isTypeSupported(ki)||Fr.ManagedMediaSource.isTypeSupported(Li))&&(e=!0),e}();this._opt.useMSE=e,this._opt.useMSE&&this._opt.isH265&&(this._opt.useMSE=t),this._opt.useMSE||this.debugWarn(this.TAG_NAME,`\n useMSE is true,\n and supportMSE is ${e}, supportHevcMSE is ${t} , _opt.isH265 is ${this._opt.isH265}\n so set useMSE false`)}}if(Lo(this._opt.useMSE)&&(this._opt.mseDecodeAudio=!1),Lo(this._opt.useWCS)&&(this._opt.wcsDecodeAudio=!1),this._opt.useMSE?(this._opt.useWCS&&this.debugWarn(this.TAG_NAME,"useMSE is true and useWCS is true then useWCS set true->false"),this._opt.forceNoOffscreen||this.debugWarn(this.TAG_NAME,"useMSE is true and forceNoOffscreen is false then forceNoOffscreen set false->true"),this._opt.useWCS=!1,this._opt.forceNoOffscreen=!0):this._opt.useWCS,this._opt.isWebrtc&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isWebrtc is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this._opt.isHls&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isHls is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this.isPlayVod()&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isPlayVod is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this._opt.isAliyunRtc&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isAliyunRtc is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this.isStreamWebTransport()&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"is stream use webTransport is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this._opt.wcsDecodeAudio&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"is wcsDecodeAudio true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),Lo(this._opt.demuxUseWorker)&&(this._opt.mseDecoderUseWorker=!1),(this.isPlayback()||this.isPlayVod())&&(this._opt.mseDecoderUseWorker=!1),this._opt.useMThreading&&(this._opt.useMThreading="undefined"!=typeof SharedArrayBuffer,this._opt.useMThreading||this.debugWarn(this.TAG_NAME,"useMThreading is true, but not support so set useMThreading false")),this._opt.useSIMD||-1!==this._opt.decoder.indexOf("-simd")){const e=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),t=Do();this._opt.useSIMD=e&&Lo(t),this._opt.useSIMD||this.debugWarn(this.TAG_NAME,`useSIMD is true, but not support(isSupportSimd is ${e} ,isIphone is ${t}) so set useSIMD false`)}var s;this._opt.useSIMD?-1===this._opt.decoder.indexOf("-simd")?this._opt.useMThreading?this._opt.decoder=this._opt.decoder.replace("decoder-pro.js","decoder-pro-simd-mt.js"):this._opt.decoder=this._opt.decoder.replace("decoder-pro.js","decoder-pro-simd.js"):this._opt.useMThreading&&(this._opt.decoder=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-simd-mt.js")):-1!==this._opt.decoder.indexOf("-simd")?this._opt.useMThreading?this._opt.decoder=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-mt.js"):this._opt.decoder=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro.js"):this._opt.useMThreading&&(this._opt.decoder=this._opt.decoder.replace("decoder-pro.js","decoder-pro-mt.js")),-1!==this._opt.decoder.indexOf("-simd")?this._opt.useMThreading?(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-old.js")):(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-old.js")):this._opt.useMThreading?(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-old.js")):(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro.js","decoder-pro-old.js")),Lo(this._opt.hasAudio)&&(this._opt.operateBtns.audio=!1),Lo(this._opt.hasVideo)&&(this._opt.operateBtns.fullscreen=!1,this._opt.operateBtns.screenshot=!1,this._opt.operateBtns.record=!1,this._opt.operateBtns.ptz=!1,this._opt.operateBtns.quality=!1,this._opt.operateBtns.zoom=!1),this._opt.qualityConfig&&0===this._opt.qualityConfig.length&&this._opt.operateBtns.quality&&(this._opt.operateBtns.quality=!1,this.debugWarn(this.TAG_NAME,"_opt.qualityConfig is empty, so set operateBtns.quality false")),ko(this._opt.useWebGPU)&&(this._opt.useWebGPU=function(){let e=!1;return"gpu"in navigator&&(e=!0),e}(),Lo(this._opt.useWebGPU)&&this.debugWarn(this.TAG_NAME,"useWebGPU is true, but not support so set useWebGPU false")),this._opt.useMSE&&this._opt.mseWaitVideoCanplayTimeout>this._opt.loadingTimeout&&(this.debugWarn(this.TAG_NAME,`mseWaitVideoCanplayTimeout ${this._opt.mseWaitVideoCanplayTimeout} is greater than loadingTimeout ${this._opt.loadingTimeout}, so set mseWaitVideoCanplayTimeout = loadingTimeout -1`),this._opt.mseWaitVideoCanplayTimeout=Math.max(this._opt.loadingTimeout-1,1)),this._opt.hasControl=this._hasControl(),this._loading=!1,this._playing=!1,this._playbackPause=!1,this._playVodPause=!1,this._hasLoaded=!1,this._zooming=!1,this._drawingRect=!1,this._destroyed=!1,this._destroyLock=!1,this._closed=!1,this._checkHeartTimeout=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this._checkVisibleHiddenTimeout=null,this._startBpsTime=null,this._isPlayingBeforePageHidden=!1,this._stats={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._tempTsList=[],this._allStatsData={},this._faceDetectActive=!1,this._objectDetectActive=!1,this._occlusionDetectActive=!1,this._imageDetectActive=!1,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._videoTimestamp=0,this._audioTimestamp=0,this._latestAudioTimestamp=0,this._videoIframeIntervalTs=0,this._streamQuality=this._opt.defaultStreamQuality||"",!this._streamQuality&&this._opt.qualityConfig.length>0&&(this._streamQuality=this._opt.qualityConfig[0]||""),this._visibility=!0,this._lastestVisibilityChangeTimestamp=null,this._tempWorkerStats=null,this._historyFpsList=[],this._historyVideoDiffList=[],this._tempStreamList=[],this._tempInnerPlayBgobj=null,this._flvMetaData=null,this._flvMetaDataFps=null,this._serverInfo=null,this._mseWorkerData={},this._isStreamEnd=!1,Lo(this._opt.useMSE)&&Lo(this._opt.useWCS)&&!this.isWebrtcH264()&&!this.isOldHls()&&(this._opt.useWasm=!0),(this.isOldHls()||this.isWebrtcH264())&&(this._opt.hasVideo=!0,this._opt.hasAudio=!0),this._opt.hasVideo||(this._opt.useMSE=!1,this._opt.useWCS=!1),this._opt.useWasm&&(this._opt.useOffscreen?this._opt.wasmUseVideoRender=!1:this._opt.wasmUseVideoRender&&(this._opt.wasmUseVideoRender=xa()&&Oa()&&Na(),this._opt.wasmUseVideoRender||this.debugWarn(this.TAG_NAME,"use wasm video render, but not support so set wasmUseVideoRender false"),this._opt.wasmUseVideoRender&&this._opt.wasmPlayAudioUseVideoRender&&(this._opt.wasmPlayAudioUseVideoRender=function(){let e=!1;return"AudioData"in Fr&&"function"==typeof Fr.AudioData&&(e=!0),e}(),this._opt.wasmPlayAudioUseVideoRender||this.debugWarn(this.TAG_NAME,"use wasm video render play audio, but not support so set wasmPlayAudioUseVideoRender false"))),this._opt.useSIMD?this.debugLog(this.TAG_NAME,"use simd wasm"):this.debugLog(this.TAG_NAME,"use wasm")),this._opt.useWasm&&(this._opt.useFaceDetector&&window.JessibucaProFaceDetector||this._opt.useObjectDetector&&window.JessibucaProObjectDetector||this._opt.useOcclusionDetector&&window.JessibucaProOcclusionDetector||this._opt.useImageDetector&&window.JessibucaProImageDetector)?(this.ai=new Nv(this),this._opt.useFaceDetector&&window.JessibucaProFaceDetector||(this._opt.operateBtns.aiFace=!1),this._opt.useObjectDetector&&window.JessibucaProObjectDetector||(this._opt.operateBtns.aiObject=!1),this._opt.useOcclusionDetector&&window.JessibucaProOcclusionDetector||(this._opt.operateBtns.aiOcclusion=!1),this._opt.useImageDetector&&this._opt.aiImageDetectActive&&window.JessibucaProImageDetector&&(this.imageDetectActive=!0)):(this._opt.operateBtns.aiObject=!1,this._opt.operateBtns.aiFace=!1,this._opt.operateBtns.aiOcclusion=!1),this._opt.useFaceDetector&&(this._opt.useWasm&&window.JessibucaProFaceDetector||this.debugWarn(this.TAG_NAME,`use face detector, useWasm is ${this._opt.useWasm} and window.JbProFaceDetector is null`)),this._opt.useObjectDetector&&(this._opt.useWasm&&window.JessibucaProObjectDetector||this.debugWarn(this.TAG_NAME,`use object detector, useWasm is ${this._opt.useWasm} and window.JbProObjectDetector is null`)),this._opt.useOcclusionDetector&&(this._opt.useWasm&&window.JessibucaProOcclusionDetector||this.debugWarn(this.TAG_NAME,`use occlusion detector, useWasm is ${this._opt.useWasm} and window.JessibucaProOcclusionDetector is null`)),this._opt.useImageDetector&&(this._opt.useWasm&&window.JessibucaProImageDetector||this.debugWarn(this.TAG_NAME,`use image detector, useWasm is ${this._opt.useWasm} and window.JessibucaProImageDetector is null`)),this._opt.videoRenderType&&(this.debugLog(this.TAG_NAME,`videoRenderType is ${this._opt.videoRenderType}`),this._opt.videoRenderType===q?(this._opt.useVideoRender=!0,this._opt.useCanvasRender=!1):this._opt.videoRenderType===J&&(this._opt.useVideoRender=!1,this._opt.useCanvasRender=!0)),this._opt.useVideoRender&&(this._opt.useWasm&&!this._opt.useOffscreen?(this._opt.wasmUseVideoRender=xa()&&Oa()&&Na(),this._opt.wasmUseVideoRender||this.debugWarn(this.TAG_NAME,"use wasm video render, but not support so set wasmUseVideoRender false")):this._opt.useWCS&&!this._opt.useOffscreen&&(this._opt.wcsUseVideoRender=Oa()&&Na(),this._opt.wcsUseVideoRender||this.debugWarn(this.TAG_NAME,"use wcs video render, but not support so set wcsUseVideoRender false"))),this._opt.useCanvasRender&&(this._opt.useMSE&&Lo(this._opt.mseDecoderUseWorker)&&(this._opt.mseUseCanvasRender=!0),this._opt.useWasm&&(this._opt.wasmUseVideoRender=!1),this._opt.useWCS&&(this._opt.wcsUseVideoRender=!1),this.isOldHls()&&!Ca()&&(this._opt.hlsUseCanvasRender=!0),this.isWebrtcH264()&&(this._opt.webrtcUseCanvasRender=!0)),this._opt.useVideoRender=!1,this._opt.useCanvasRender=!1,this._opt.useWasm?this._opt.wasmUseVideoRender?this._opt.useVideoRender=!0:this._opt.useCanvasRender=!0:this._opt.useWCS?this._opt.wcsUseVideoRender?this._opt.useVideoRender=!0:this._opt.useCanvasRender=!0:this._opt.useMSE?this._opt.mseUseCanvasRender?this._opt.useCanvasRender=!0:this._opt.useVideoRender=!0:this.isOldHls()?this._opt.hlsUseCanvasRender?this._opt.useCanvasRender=!0:this._opt.useVideoRender=!0:this.isWebrtcH264()&&(this._opt.webrtcUseCanvasRender?this._opt.useCanvasRender=!0:this._opt.useVideoRender=!0),this._opt.useCanvasRender&&this.useVideoPlayAudio()&&(this.debugLog(this.TAG_NAME,"useCanvasRender is true and useVideoPlayAudio() return true, so set wcsDecodeAudio false"),this._opt.wcsDecodeAudio=!1,this._opt.wasmPlayAudioUseVideoRender=!1),s=this,Object.defineProperty(s,"rect",{get:()=>{let e={};return s.$container&&(e=s.$container.getBoundingClientRect(),e.width=Math.max(e.width,s.$container.clientWidth),e.height=Math.max(e.height,s.$container.clientHeight)),e}}),["bottom","height","left","right","top","width"].forEach((e=>{Object.defineProperty(s,e,{get:()=>s.rect[e]||0})})),this.events=new Uo(this),this._opt.hasVideo&&(this.video=new pn(this),this.recorder=new wl(this)),this.isOldHls()?(this.hlsDecoder=new ZA(this),this.loaded=!0):this.isWebrtcH264()?(this._opt.isWebrtcForZLM?this.webrtc=new $v(this):this._opt.isWebrtcForSRS?this.webrtc=new Vv(this):this._opt.isWebrtcForOthers?this.webrtc=new Wv(this):this.webrtc=new zv(this),this.loaded=!0):this.isAliyunRtc()?(this.aliyunRtcDecoder=new Hv(this),this.loaded=!0):(this.isUseHls265()&&(this.hlsDecoder=new wv(this)),this.isWebrtcH265()&&(this.webrtc=new zv(this)),this.isPlayVodMp4()&&(this.mp4Decoder=new Fv(this)),Lo(uo(this._opt))?this.decoderWorker=new Rl(this):this.loaded=!0),this.stream=null,this.demux=null,this._lastVolume=null,this._isMute=null,this._isInZoom=!1,this._playingStartTimestamp=null,this.isMSEVideoDecoderInitializationFailedNotSupportHevc=!1,this.isMSEAudioDecoderError=!1,this.isMSEPlaybackRateChangePause=!1,this.isMSECurrentMoreThanBufferedPause=!1,this.isPlayFailedAndPaused=!1,this._seiList=[],this._opt.useWCS&&!this._opt.hasAudio&&Lo(this._opt.demuxUseWorker)&&(this.loaded=!0),this._opt.useMSE&&Lo(this._opt.mseDecoderUseWorker)&&!this._opt.hasAudio&&Lo(this._opt.demuxUseWorker)&&(this.loaded=!0),this.control=new wc(this),this._opt.contextmenuBtns.length>0&&Lo(this._opt.disableContextmenu)&&Ea()?this.contextmenu=new jv(this):ko(this._opt.disableContextmenu)&&this._opt.contextmenuBtns.length>0&&Ea()&&this.debugWarn(this.TAG_NAME,"disableContextmenu is true, but contextmenuBtns is not empty, so Contextmenu can not be created,please check"),this.isPlayback()&&(this.playback=new Uv(this,this._opt.playbackConfig)),this.isPlayVod()&&(this.playVod=new Yv(this,this._opt.playVodConfig)),this._opt.operateBtns.zoom&&(this.zoom=new Ov(this)),/(iphone|ipad|ipod|ios|android)/i.test(window.navigator.userAgent.toLowerCase())&&Lo(this._opt.supportLockScreenPlayAudio&&La())&&(this.keepScreenOn=new xc(this)),(e=>{try{const t=t=>{oo(t)===e.$container&&(e.emit(bt.fullscreen,e.fullscreen),e.fullscreen?e._opt.useMSE&&e.resize():e.resize())};Vr.on("change",t),e.events.destroys.push((()=>{Vr.off("change",t)}))}catch(e){}if(e.on(At.decoderWorkerInit,(()=>{e.debugLog("player","listen decoderWorkerInit and set loaded true"),e.loaded=!0})),e.on(At.play,(()=>{e.loading=!1})),e.on(At.fullscreen,(t=>{if(t)try{Vr.request(e.$container).then((()=>{})).catch((t=>{e.debugError("player","fullscreen request error",t,t.toString()),e.emitError(_t.fullscreenError,t.toString()),Sa()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}))}catch(t){Sa()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}else try{Vr.exit().then((()=>{e.webFullscreen&&(e.webFullscreen=!1)})).catch((t=>{e.debugError("player","fullscreen exit error",t,t.toString()),e.emitError(_t.fullscreenError,t.toString()),e.webFullscreen&&(e.webFullscreen=!1)}))}catch(t){e.webFullscreen&&(e.webFullscreen=!1)}})),Sa()&&e.on(At.webFullscreen,(t=>{t?e.$container.classList.add("jb-pro-fullscreen-web"):e.$container.classList.remove("jb-pro-fullscreen-web"),e.emit(bt.fullscreen,e.fullscreen)})),e.on(At.resize,(()=>{e.resize()})),e._opt.debug){const t=[At.timeUpdate,At.currentPts,At.videoSEI,At.videoSEISyncPts,At.performance,At.videoSmooth],i=[At.stats,At.playbackStats,At.playbackTimestamp,At.flvMetaData,At.playToRenderTimes,At.audioInfo,At.videoInfo];Object.keys(At).forEach((s=>{e.on(At[s],(function(r){if(!t.includes(s)){i.includes(s)&&(r=JSON.stringify(r));for(var a=arguments.length,o=new Array(a>1?a-1:0),n=1;n{e.on(_t[t],(function(){for(var i=arguments.length,s=new Array(i),r=0;r{this.updateOption({rotate:e?270:0}),this.resize()}),10)}get webFullscreen(){return this.$container.classList.contains("jb-pro-fullscreen-web")}set loaded(e){this._hasLoaded=e}get loaded(){return this._hasLoaded||this.isOldHls()||this.isWebrtcH264()||this._opt.useMSE&&Lo(this._opt.hasAudio)&&Lo(this._opt.demuxUseWorker)||this._opt.useWCS&&!this._opt.hasAudio&&Lo(this._opt.demuxUseWorker)}set playing(e){this.isClosed()&&e?this.debugLog(this.TAG_NAME,"player is closed, so can not play"):(e&&ko(this.loading)&&(this.loading=!1),this.playing!==e&&(this._playing=e,this.emit(At.playing,e),e?(this.emit(At.volumechange,this.volume),this.emit(At.play)):this.emit(At.pause)))}get playing(){return this._playing}get volume(){return this.audio&&this.audio.volume||0}set volume(e){e!==this.volume&&(this.audio?(this.audio.setVolume(e),this._lastVolume=this.volume,this._isMute=0===this.volume):this.debugWarn(this.TAG_NAME,"set volume error, audio is null"))}get lastVolume(){return this._lastVolume}set loading(e){this.loading!==e&&(this._loading=e,this.emit(At.loading,this._loading))}get loading(){return this._loading}set zooming(e){this.isDestroyedOrClosed()||this.zooming!==e&&(this.zoom||(this.zoom=new Ov(this)),this._zooming=e,this.emit(At.zooming,this.zooming))}get zooming(){return this._zooming}set drawingRect(e){this.isDestroyedOrClosed()||this.drawingRect!==e&&(this.drawRectangle||(this.drawRectangle=new Kv(this)),this._drawingRect=e,this.emit(At.drawingRect,this.drawingRect))}get drawingRect(){return this._drawingRect}set recording(e){e?this.playing&&!this.recording&&(this.recorder&&this.recorder.startRecord(),this.isDemuxInWorker()&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!0})):this.recording&&(this.isDemuxInWorker()&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!1}),this.recorder&&this.recorder.stopRecordAndSave().then((()=>{})).catch((e=>{})))}get recording(){return!!this.recorder&&this.recorder.isRecording}set audioTimestamp(e){null!==e&&(this._audioTimestamp=e)}get audioTimestamp(){return this._audioTimestamp}set latestAudioTimestamp(e){null!==e&&(this._latestAudioTimestamp=e)}get latestAudioTimestamp(){return this._latestAudioTimestamp}get videoTimestamp(){return this._stats.currentPts||this._stats.ts}set streamQuality(e){this.streamQuality!==e&&(this._streamQuality=e,this.emit(At.streamQualityChange,e))}get streamQuality(){return this._streamQuality}get isDebug(){return ko(this._opt.debug)}get scaleType(){const e=this._opt,t=e.isResize,i=e.isFullResize;let s=di;return Lo(i)&&Lo(t)?s=di:Lo(i)&&ko(t)?s=hi:ko(i)&&ko(t)&&(s=ci),s}set visibility(e){this._visibility!==e&&(this._visibility=e,this.emit(At.visibilityChange,e),this._lastestVisibilityChangeTimestamp=fa(),e?this.clearVisibilityHiddenTimeout():this.startVisibilityHiddenTimeout())}get visibility(){return this._visibility}set playbackPause(e){this._playbackPause!==e&&(this._playbackPause=e,this.emit(At.playbackPause,e),this.emit(At.playbackPauseOrResume,e))}get playbackPause(){return this.isPlayback()&&this._playbackPause}set playVodPause(e){this.playVod&&(this.playVod.isEnded()&&Lo(e)?this.emit(At.playVodEndedAndReplay):this._playVodPause!==e&&(this._playVodPause=e,this.emit(At.playVodPause,e),this.emit(At.playVodPauseOrResume,e)))}get playVodPause(){return this.isPlayVod()&&this._playVodPause}set videoIframeIntervalTs(e){this._videoIframeIntervalTs=e}get videoIframeIntervalTs(){return this._videoIframeIntervalTs}set faceDetectActive(e){this._faceDetectActive!==e&&(this._faceDetectActive=e,this.emit(At.faceDetectActive,e))}get faceDetectActive(){return this._faceDetectActive}set objectDetectActive(e){this._objectDetectActive!==e&&(this._objectDetectActive=e,this.emit(At.objectDetectActive,e))}get objectDetectActive(){return this._objectDetectActive}set occlusionDetectActive(e){this._occlusionDetectActive!==e&&(this._occlusionDetectActive=e,this.emit(At.occlusionDetectActive,e))}get occlusionDetectActive(){return this._occlusionDetectActive}set imageDetectActive(e){this._imageDetectActive!==e&&(this._imageDetectActive=e)}get imageDetectActive(){return this._imageDetectActive}get isUseWorkerDemuxAndDecode(){return this.stream&&this.stream.getStreamType()===y}isDestroyed(){return this._destroyed}isDestroying(){return this._destroyed&&this._destroyLock}isClosed(){return this._closed}isDestroyedOrClosed(){return this.isDestroyed()||this.isClosed()}isLoading(){return this.loading}isPlaying(){let e=!1;return this._opt.playType===v?e=this.playing:this._opt.playType===S&&(e=Lo(this.playbackPause)&&this.playing),e}updateOption(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._opt=Object.assign({},this._opt,e),ko(t)&&this.decoderWorker&&Object.keys(e).forEach((t=>{this.decoderWorker.updateWorkConfig({key:t,value:e[t]})}))}init(){return new Promise(((e,t)=>{Bo()&&(this.pressureObserverCpu=new Jv(this)),this.video||this._opt.hasVideo&&(this.video=new pn(this)),this.audio||this._opt.hasAudio&&(this.audio=new Pn(this)),this.stream||(this.stream=new Wn(this)),this.isOldHls()?(this.hlsDecoder||(this.hlsDecoder=new ZA(this),this.loaded=!0),e()):this.isWebrtcH264()?(this.webrtc||(this._opt.isWebrtcForZLM?this.webrtc=new $v(this):this._opt.isWebrtcForSRS?this.webrtc=new Vv(this):this._opt.isWebrtcForOthers?this.webrtc=new Wv(this):this.webrtc=new zv(this),this.loaded=!0),e()):this.isAliyunRtc()?(this.aliyunRtcDecoder||(this.aliyunRtcDecoder=new Hv(this),this.loaded=!0),e()):(this.demux||this._opt.hasVideo&&!this.isUseWorkerDemuxAndDecode&&(this.demux=new Jh(this)),this._opt.useWCS&&(this.webcodecsDecoder||(this.webcodecsDecoder=new rc(this),!this._opt.hasAudio&&Lo(this._opt.demuxUseWorker)&&(this.loaded=!0))),this._opt.useMSE&&Lo(this._opt.mseDecoderUseWorker)&&(this.mseDecoder||(this.mseDecoder=new Cc(this),!this._opt.hasAudio&&Lo(this._opt.demuxUseWorker)&&(this.loaded=!0))),this.isUseHls265()&&(this.hlsDecoder||(this.hlsDecoder=new wv(this))),this.isWebrtcH265()&&(this.webrtc||(this.webrtc=new zv(this))),this.isPlayVodMp4()&&(this.mp4Decoder||(this.mp4Decoder=new Fv(this))),this.decoderWorker?this.loaded?e():this.once(At.decoderWorkerInit,(()=>{this.isDestroyedOrClosed()?(this.debugError(this.TAG_NAME,"init() failed and player is destroyed"),t("init() failed and player is destroyed")):(this.loaded=!0,e())})):Lo(uo(this._opt))?(this.decoderWorker=new Rl(this),this.once(At.decoderWorkerInit,(()=>{this.isDestroyedOrClosed()?(this.debugError(this.TAG_NAME,"init() failed and player is destroyed"),t("init() failed and player is destroyed")):(this.loaded=!0,e())}))):e())}))}play(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(!e&&!this._opt.url)return s("url is empty");this._closed=!1,this.loading=!0,this.playing=!1,this._times.playInitStart=fa(),e||(e=this._opt.url),this._opt.url=e,this.control&&this._opt.loadingBackground&&this.control.initLoadingBackground(),this.init().then((()=>{this.debugLog(this.TAG_NAME,"play() init and next fetch stream"),this._times.playStart=fa(),this._opt.isNotMute&&this.mute(!1),this.enableWakeLock(),this.checkLoadingTimeout(),this.stream?(this.stream.once(_t.fetchError,(e=>{this.emitError(_t.fetchError,e)})),this.stream.once(_t.websocketError,(e=>{this.emitError(_t.websocketError,e)})),this.stream.once(At.streamEnd,(e=>{this.emit(At.streamEnd,e)})),this.stream.once(_t.hlsError,(e=>{this.emitError(_t.hlsError,e)})),this.stream.once(_t.webrtcError,(e=>{this.emitError(_t.webrtcError,e)})),this.stream.once(At.streamSuccess,(()=>{i(),this._times.streamResponse=fa(),this.video&&this.video.play(),this.checkStatsInterval(),this.isPlayback()&&this.playback?this.playback.startCheckStatsInterval():this.isPlayVod()&&this.playVod&&this.playVod.startCheckStatsInterval();const e=Number("1")||1;setTimeout((()=>{this.destroy(),console.error("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码)"),alert("Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"),window.location.reload()}),60*e*60*1e3)})),this.stream.fetchStream(e,t)):(this.debugWarn(this.TAG_NAME,`play() this.stream is null and is isDestroyedOrClosed is ${this.isDestroyedOrClosed()}`),s("this.stream is null"))})).catch((e=>{s(e)}))}))}playForControl(){return new Promise(((e,t)=>{this.debugLog(this.TAG_NAME,`playForControl() and pauseAndNextPlayUseLastFrameShow is ${this._opt.pauseAndNextPlayUseLastFrameShow}`),this._opt.pauseAndNextPlayUseLastFrameShow&&this._tempInnerPlayBgobj&&this._tempInnerPlayBgobj.loadingBackground&&this.updateOption({loadingBackground:this._tempInnerPlayBgobj.loadingBackground,loadingBackgroundWidth:this._tempInnerPlayBgobj.loadingBackgroundWidth,loadingBackgroundHeight:this._tempInnerPlayBgobj.loadingBackgroundHeight}),this.play().then((t=>{e(t)})).catch((e=>{t(e)}))}))}close(){return new Promise(((e,t)=>{this._close().then((()=>{this.video&&this.video.clearView(),e()})).catch((e=>{t(e)}))}))}resumeAudioAfterPause(){this.lastVolume&&Lo(this._isMute)&&(this.volume=this.lastVolume)}async _close(){this._closed=!0,this.video&&(this.video.resetInit(),this.video.pause(!0)),this.loading=!1,this.recording=!1,this.zooming=!1,this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.isPlayback()&&this.playback&&this.playback.clearStatsInterval(),this.isPlayVod()&&this.playVod&&this.playVod.clearStatsInterval(),this.releaseWakeLock(),this.resetStats(),this._audioTimestamp=0,this._videoTimestamp=0,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this.decoderWorker&&(await this.decoderWorker.destroy(),this.decoderWorker=null),this.stream&&(await this.stream.destroy(),this.stream=null),this.demux&&(this.demux.destroy(),this.demux=null),this.webcodecsDecoder&&(await this.webcodecsDecoder.destroy(),this.webcodecsDecoder=null),this.mseDecoder&&(this.mseDecoder.destroy(),this.mseDecoder=null),this.hlsDecoder&&(await this.hlsDecoder.destroy(),this.hlsDecoder=null),this.webrtc&&(this.webrtc.destroy(),this.webrtc=null),this.aliyunRtcDecoder&&(this.aliyunRtcDecoder.destroy(),this.aliyunRtcDecoder=null),this.audio&&(await this.audio.destroy(),this.audio=null),this.mp4Decoder&&(await this.mp4Decoder.destroy(),this.mp4Decoder=null),this.playing=!1}pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((t,i)=>{e?this.close().then((()=>{t()})).catch((e=>{i(e)})):this._close().then((()=>{t()})).catch((e=>{i(e)}))}))}pauseForControl(){return new Promise(((e,t)=>{if(this.debugLog(this.TAG_NAME,"_pauseInner()"),this._opt.pauseAndNextPlayUseLastFrameShow&&this.video){const e=this.video.screenshot("","png",.92,"base64");if(e){const t=this.getVideoInfo();t?(this.debugLog(this.TAG_NAME,`pauseForControl() and loadingBackground width is ${t.width} and height is ${t.height}`),this._tempInnerPlayBgobj={loadingBackground:e,loadingBackgroundWidth:t.width,loadingBackgroundHeight:t.height}):this.debugWarn(this.TAG_NAME,"pauseForControl() and videoInfo is null")}else this.debugWarn(this.TAG_NAME,"pauseForControl() and loadingBackground is null")}this.pause().then((t=>{e(t)})).catch((e=>{t(e)}))}))}isAudioMute(){let e=!0;return this.audio&&(e=this.audio.isMute),e}isAudioNotMute(){return!this.isAudioMute()}mute(e){this.audio&&this.audio.mute(e)}resize(){this.video&&this.video.resize()}startRecord(e,t){this.recording||(this.recorder.setFileName(e,t),this.recording=!0)}cancelRecord(){return new Promise(((e,t)=>{this.recorder||t("recorder is null"),this.recording&&(this._opt.useWasm&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!1}),this.recorder.cancelRecord().then((()=>{e()})).catch((e=>{t(e)})))}))}stopRecordAndSave(e,t){return new Promise(((i,s)=>{this.recorder||s("recorder is null"),this.recording?(this._opt.useWasm&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!1}),this.recorder.stopRecordAndSave(e,t).then((e=>{i(e)})).catch((e=>{s(e)}))):s("recorder is not recording")}))}_hasControl(){let e=!1,t=!1;return Object.keys(this._opt.operateBtns).forEach((e=>{this._opt.operateBtns[e]&&-1===(""+e).indexOf("Fn")&&(t=!0)})),(this._opt.showBandwidth||t)&&(e=!0),this._opt.extendOperateBtns&&this._opt.extendOperateBtns.length>0&&(e=!0),this.isPlayback()&&this._opt.playbackConfig.showControl&&(e=!0),this._opt.controlHtml&&(e=!0),e}useWasmDecode(){return Lo(this._opt.useMSE)&&Lo(this._opt.useWCS)}canVideoTrackWritter(){const e=this._opt;return!this.isOldHls()&&!this.isWebrtcH264()&&Lo(e.useMSE)&&!this.isAliyunRtc()&&(e.useWCS&&Lo(e.useOffscreen)&&e.wcsUseVideoRender||this.useWasmDecode())}checkHeartTimeout$2(){if(Lo(this.playbackPause)&&this.playing){if(this.isDestroyedOrClosed())return void this.debugWarn(this.TAG_NAME,"checkHeartTimeout$2 but player is destroyed");if(Lo(this.isHistoryFpsListAllZero()))return void this.debugWarn(this.TAG_NAME,"checkHeartTimeout$2 but fps is not all zero");if(0!==this._stats.fps)return void this.debugWarn(this.TAG_NAME,`checkHeartTimeout$2 but fps is ${this._stats.fps}`);const e=this._historyFpsList.join(",");this.debugWarn(this.TAG_NAME,`checkHeartTimeout$2 and\n pause and emit delayTimeout event and\n current vbps is ${this._stats.vbps} and\n current fps is ${this._stats.fps} and\n history FpsList is ${e} and\n current visibility is ${this.visibility} and`),this.emit(At.timeout,At.delayTimeout),this.emit(At.delayTimeout)}else this.debugLog(this.TAG_NAME,`checkHeartTimeout$2 playbackPause is ${this.playbackPause}, playing is ${this.playing}`)}checkStatsInterval(){this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}checkLoadingTimeout(){this._checkLoadingTimeout=setTimeout((()=>{this.playing?this.debugWarn(this.TAG_NAME,`checkLoadingTimeout but loading is ${this.loading} and playing is ${this.playing}`):this.isDestroyedOrClosed()?this.debugWarn(this.TAG_NAME,"checkLoadingTimeout but player is destroyed"):(this.debugWarn(this.TAG_NAME,"checkLoadingTimeout and pause and emit loadingTimeout event"),this.emit(At.timeout,At.loadingTimeout),this.emit(At.loadingTimeout))}),1e3*this._opt.loadingTimeout)}clearCheckLoadingTimeout(){this._checkLoadingTimeout&&(this.debugLog(this.TAG_NAME,"clearCheckLoadingTimeout"),clearTimeout(this._checkLoadingTimeout),this._checkLoadingTimeout=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}handleRender(){this.isDestroyedOrClosed()?this.debugLog(this.TAG_NAME,"handleRender but player is destroyed or closed"):(this.loading&&(this.clearCheckLoadingTimeout(),this.loading=!1,this.emit(At.start)),this.playing||(this.playing=!0))}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.isDestroyedOrClosed())return void this.debugLog(this.TAG_NAME,"updateStats but player is closed or destroyed");if(this._startBpsTime||(this._startBpsTime=fa()),Wa(e.ts)){const t=parseInt(e.ts,10);this._stats.ts=t,this._tempTsList.push(t),null===this._playingStartTimestamp&&t>0&&(this._playingStartTimestamp=t)}Wa(e.dts)&&(this._stats.dts=parseInt(e.dts,10)),Wa(e.mseTs)&&(this._stats.mseTs=e.mseTs),Wa(e.buf)&&(this._stats.buf=e.buf),Wa(e.netBuf)&&(this._stats.netBuf=e.netBuf),Wa(e.currentPts)&&(this._stats.currentPts=e.currentPts),e.fps&&(this._stats.fps+=1),e.dfps&&(this._stats.dfps+=1),e.abps&&(this._stats.abps+=e.abps),e.vbps&&(this._stats.vbps+=e.vbps),e.workerStats&&(this._tempWorkerStats=e.workerStats),e.isDropping&&(this._stats.isDropping=e.isDropping),e.mseVideoBufferDelayTime&&(this._stats.mseVideoBufferDelayTime=parseInt(1e3*e.mseVideoBufferDelayTime,10));const t=fa();if(t-this._startBpsTime<1e3)return;null!==this._playingStartTimestamp&&this._stats.fps>0&&(this._stats.pTs+=1);let i=0,s=0,r=0,a=0,o=0;this.isPlayStream()&&this._opt.useMSE&&(this.mseDecoder?(i=this.mseDecoder.checkSourceBufferDelay(),i=parseInt(1e3*i,10),s=this.mseDecoder.checkSourceBufferStore(),s=s.toFixed(2),a=this.mseDecoder.getDecodePlaybackRate(),o=this.mseDecoder.getPendingSegmentsLength()):this.isMseDecoderUseWorker()&&(i=this.video.checkSourceBufferDelay(),i=parseInt(1e3*i,10),s=this.video.checkSourceBufferStore(),s=s.toFixed(2),a=this.video.getDecodePlaybackRate())),this._opt.useWCS&&this.webcodecsDecoder&&(r=this.webcodecsDecoder.getDecodeDiffTimes()),this.isOldHls()&&this.hlsDecoder&&(i=this.hlsDecoder.checkHlsBufferedDelay(),i=parseInt(1e3*i,10));let n=0,l=0,d=0;this.isUseHls265()&&this.hlsDecoder&&(i=this.hlsDecoder.checkHlsBufferedDelay(),i=i.toFixed(2),n=this.hlsDecoder.getDemuxBufferedListLength(),d=this.hlsDecoder.getDemuxVideoBufferedListLength(),l=this.hlsDecoder.getDemuxAudioBufferedListLength());let h=0,c=0,u=0,p=!1,m=0,f=0;this._opt.useWasm||this._opt.demuxUseWorker?this._tempWorkerStats&&(c=this._tempWorkerStats.demuxBufferDelay,u=this._tempWorkerStats.audioDemuxBufferDelay,h=this._tempWorkerStats.streamBufferByteLength,this._stats.netBuf=this._tempWorkerStats.netBuf,m=this._tempWorkerStats.pushLatestDelay,p=this._tempWorkerStats.isStreamTsMoreThanLocal,this._stats.buf=this._tempWorkerStats.latestDelay,f=this._tempWorkerStats.wasmDecodeDelay):this.demux&&(h=this.demux.getInputByteLength(),m=this.demux.getPushLatestDelay(),p=this.demux.getIsStreamTsMoreThanLocal(),this.demux.bufferList&&(c=this.demux.bufferList.length));let g=0,y=0;this.audio&&this.audio.bufferList&&(g=this.audio.bufferList.length,y=parseInt(g*this.audio.oneBufferDuration,10));let A=0,b=0;if(this.isPlayback()&&this.video){this._opt.playbackConfig.isUseFpsRender&&(A=this.video.bufferList&&this.video.bufferList.length||0);let e=this.video.getStreamFps();const t=e>0?1e3/e:0;b=parseInt(t*A+t*c,10)}let v=0;this.videoTimestamp>0&&(v=this._stats.dts-this.videoTimestamp);const _=v+this._stats.netBuf;this.isOldHls()&&(this._stats.fps=this.hlsDecoder.getFps()),this._stats.fps>this._stats.maxFps&&(this._stats.maxFps=this._stats.fps);let S=this.getVideoCurrentTime();const E=this._stats.videoCurrentTime;let T=-1;E&&S&&(T=Ra((S-E).toFixed(2)),S=S.toFixed(2));let w=0;this.audioTimestamp>0&&(w=this.audioTimestamp-this.getRenderCurrentPts()),this._allStatsData=Object.assign(this._stats,{audioBuffer:g,audioBufferDelayTs:y,audioTs:this.audioTimestamp,latestAudioTs:this.latestAudioTimestamp,playbackVideoBuffer:A,playbackVideoWaitingBuffer:0,playbackAudioWaitingBuffer:0,playbackCacheDataDuration:b,demuxBuffer:c,pushLatestDelay:m,audioDemuxBuffer:u,streamBuffer:h,mseDelay:i,mseStore:s,mseDecodePlaybackRate:a,msePendingBuffer:o,wcsDecodeDiffTimes:r,wasmDecodeDelay:f,hlsDelay:i,hlsDemuxLength:n,hlsDemuxAudioLength:l,hlsDemuxVideoLength:d,delayTs:v,totalDelayTs:_,isStreamTsMoreThanLocal:p,videoCurrentTime:S,videoCurrentTimeDiff:T,audioSyncVideo:w});let k=null,C=null,D="";if(this.isPlayer()&&this._opt.hasVideo&&this.playing){k=function(e,t){let i=3;const s=t||25;return e<=s*(1/4)?i=0:e<=.5*s?i=1:e<=s*(3/4)&&(i=2),i}(this._stats.fps,this._flvMetaDataFps),this._allStatsData.performance=k;const e=this.checkVideoSmooth(this._allStatsData);D=e.reason,C=e.result,this._allStatsData.videoSmooth=C}this.emit(At.stats,this._allStatsData),this._allStatsData.streamBuffer>this._opt.flvDemuxBufferSizeMaxLarge&&this.getDemuxType()===L&&this.emit(_t.flvDemuxBufferSizeTooLarge,this._allStatsData.streamBuffer),this._opt.hasVideo?(this.updateHistoryFpsList(this._stats.fps,this._allStatsData.videoCurrentTimeDiff),Wa(k)&&this.emit(At.performance,k),Wa(C)&&this.emit(At.videoSmooth,C,D)):this._opt.hasAudio&&this.updateHistoryFpsList(this._stats.abps,0),this._stats.fps=0,this._stats.dfps=0,this._stats.abps=0,this._stats.vbps=0,this._tempTsList=[],this._stats.isDropping=!1,this._startBpsTime=t}resetStats(){this._startBpsTime=null,this._playingStartTimestamp=null,this._historyFpsList=[],this._historyVideoDiffList=[],this._stats={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._allStatsData={},this._tempTsList=[]}checkVideoSmooth(e){let t=!0,i="";if(this._opt.videoBuffer,this._opt.videoBufferDelay,this.isWebrtcH264()||this.isOldHls())return{result:t,reason:i};if(0===e.vbps&&Lo(this._opt.isHls)&&(i="vbpsIsZero",this.debugLog(this.TAG_NAME,`checkVideoSmooth false because ${i}`),t=!1),t&&e.isDropping&&(i="isDroppingIsTrue",this.debugLog(this.TAG_NAME,`checkVideoSmooth false because ${i}`),t=!1),t&&this.visibility&&this._historyFpsList.length>=this._opt.heartTimeout){const s=function(e){const t=Math.max(...e),i=Math.min(...e);return e.filter((e=>e!==t&&e!==i))}(this._historyFpsList),r=s.reduce(((e,t)=>e+t),0)/s.length,a=.83*r;e.fps=1.5||e.videoCurrentTimeDiff<=.5)&&-1!==e.videoCurrentTimeDiff){if(i="videoCurrentTimeDiffIsNotNormal",this.debugLog(this.TAG_NAME,`checkVideoSmooth false because videoCurrentTimeDiff is ${e.videoCurrentTimeDiff}`),0===Number(e.videoCurrentTimeDiff)){const e=this.isVideoPlaying(),t=this.getVideoCurrentTime(),i=this.getVideoBufferTimeRange();let s=-1,r=-1;i&&(s=i.start,r=i.end),this.debugLog(this.TAG_NAME,`checkVideoSmooth and videoCurrentTimeDiff is 0 so check\n videoCurrentTime is ${t} and isPlaying is ${e}\n bufferStartTime is ${s} and bufferEndTime is ${r}`)}t=!1}return{result:t,reason:i}}enableWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.enable()}releaseWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.disable()}clearBufferDelay(){this._opt.useWasm?this.decoderWorker&&this.decoderWorker.clearWorkBuffer(!0):this.demux&&this.demux.clearBuffer(!0)}doDestroy(){this.emit(At.beforeDestroy)}handlePlayToRenderTimes(){if(this.isDestroyedOrClosed())return void this.debugLog(this.TAG_NAME,"handlePlayToRenderTimes but player is closed or destroyed");const e=this.getPlayToRenderTimes();this.emit(At.playToRenderTimes,e)}getPlayToRenderTimes(){const e=this._times;return e.playTimestamp=e.playStart-e.playInitStart,e.streamTimestamp=e.streamStart-e.playStart,e.streamResponseTimestamp=e.streamResponse-e.streamStart>0?e.streamResponse-e.streamStart:0,e.demuxTimestamp=e.demuxStart-e.streamResponse>0?e.demuxStart-e.streamResponse:0,e.decodeTimestamp=e.decodeStart-e.demuxStart>0?e.decodeStart-e.demuxStart:0,e.videoTimestamp=e.videoStart-e.decodeStart,e.allTimestamp=e.videoStart-e.playInitStart,e}getOption(){return this._opt}getPlayType(){return this._opt.playType}isPlayer(){return this._opt.playType===v}isPlayback(){return this._opt.playType===S}isPlayVod(){return this._opt.playType===E}isPlayStream(){return this.isPlayer()||this.isPlayback()}isDemuxSetCodecInit(){let e=!0,t=this._opt;return t.useWCS&&!t.useOffscreen?e=!!this.webcodecsDecoder&&this.webcodecsDecoder.hasInit:t.useMSE&&(e=!!this.mseDecoder&&this.mseDecoder.hasInit),e}isDemuxDecodeFirstIIframeInit(){let e=!0,t=this._opt;return t.useWCS&&!t.useOffscreen?e=!!this.webcodecsDecoder&&this.webcodecsDecoder.isDecodeFirstIIframe:t.useMSE&&(e=!!this.mseDecoder&&this.mseDecoder.isDecodeFirstIIframe),e}isAudioPlaybackRateSpeed(){let e=!1;return this.audio&&(e=this.audio.isPlaybackRateSpeed()),e}getPlayingTimestamp(){return this._stats.pTs}getRecordingType(){let e=null;return this.recorder&&(e=this.recorder.getType()),e}getRecordingByteLength(){let e=0;return this.recording&&(e=this.recorder.getToTalByteLength()),e}getRecordingDuration(){let e=0;return this.recording&&(e=this.recorder.getTotalDuration()),e}getDecodeType(){let e="";const t=this.getOption();return this.isWebrtcH264()?z:this.isAliyunRtc()?H:this.isOldHls()?$:(t.useMSE&&(e+=O+" ",t.mseDecoderUseWorker&&(e+="worker")),t.useWCS&&(e+=N+" "),t.useWasm&&(e+=G+" ",t.useSIMD&&(e+=V+" "),t.useMThreading&&(e+=W+" ")),t.useOffscreen&&(e+=j+" "),e)}getDemuxType(){return this._opt.demuxType}getRenderType(){let e="";return this.video&&(e=this.video.getType()),e}getCanvasRenderType(){let e="";return this.video&&(e=this.video.getCanvasType()),e}getAudioEngineType(){let e="";return this.audio&&(e=this.audio.getEngineType()),e}getStreamType(){let e="";return this.stream&&(e=this.stream.getStreamType()),e}isStreamTypeNotWorker(){return-1===this.getStreamType().indexOf(y)}getAllStatsData(){return this._allStatsData}isFlvDemux(){return this._opt.demuxType===L}isM7SDemux(){return this._opt.demuxType===C}isNakedFlowDemux(){return this._opt.demuxType===P}isMpeg4Demux(){return this._opt.demuxType===B}isTsDemux(){return this._opt.demuxType===F}isFmp4Demux(){return this._opt.demuxType===I}togglePerformancePanel(e){this.updateOption({showPerformance:e}),this.emit(At.togglePerformancePanel,e)}setScaleMode(e){let t={isFullResize:!1,isResize:!1,aspectRatio:"default"};switch(e=Number(e)){case di:t.isFullResize=!1,t.isResize=!1;break;case hi:t.isFullResize=!1,t.isResize=!0;break;case ci:t.isFullResize=!0,t.isResize=!0}this.updateOption(t),this.resize(),this.emit(At.viewResizeChange,e)}startVisibilityHiddenTimeout(){this.clearVisibilityHiddenTimeout(),this._opt.pageVisibilityHiddenTimeout>0&&(this.visibilityHiddenTimeout=setTimeout((()=>{this.emit(At.visibilityHiddenTimeout)}),1e3*this._opt.pageVisibilityHiddenTimeout))}clearVisibilityHiddenTimeout(){this._checkVisibleHiddenTimeout&&(clearTimeout(this._checkVisibleHiddenTimeout),this._checkVisibleHiddenTimeout=null)}faceDetect(e){this.faceDetectActive=e,Lo(e)&&this.video&&this.video.addAiContentToCanvas([])}objectDetect(e){this.objectDetectActive=e,Lo(e)&&this.video&&this.video.addAiContentToCanvas([])}occlusionDetect(e){this.occlusionDetectActive=e}downloadNakedFlowFile(){this.demux&&this.demux.downloadNakedFlowFile&&this.demux.downloadNakedFlowFile()}downloadFmp4File(){this.demux&&this.demux.downloadFmp4File&&this.demux.downloadFmp4File()}downloadMpeg4File(){const e=new Blob([this._tempStreamList]);try{const t=document.createElement("a");t.href=window.URL.createObjectURL(e),t.download=Date.now()+".mpeg4",t.click(),window.URL.revokeObjectURL(t.href)}catch(e){console.error("downloadMpeg4File",e)}}hasCacheOnGopBuffer(){const e=this.videoIframeIntervalTs,t=this._allStatsData.demuxBuffer,i=this._allStatsData.maxFps;let s=!1;if(e&&t&&i){s=1e3/i*t>e}return s}addContentToCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.video&&this.video.addContentToCanvas(e)}addContentToContainer(){}sendWebsocketMessage(e){const t=this.getStreamType();t===m||t===y+" "+m?this.stream.sendMessage(e):this.debugWarn(this.TAG_NAME,`sendWebsocketMessage: stream type is not websocket, current stream type is ${this.getStreamType()}`)}checkIsInRender(){const e=this._stats;return e.vbps>0&&e.fps>0}setControlHtml(e){this.control&&this.control.$controlHtml&&(this.control.$controlHtml.innerHTML=e)}clearControlHtml(){this.control&&this.control.$controlHtml&&(this.control.$controlHtml.innerHTML="")}toggleControlHtml(e){this.control&&this.control.toggleControlHtml(e)}getControlHtmlIsShow(){return!!this.control&&this.control.getControlHtmlIsShow()}getControlHtml(){return this.control?this.control.getControlHtml():null}setExtendHtml(e){this.control&&(this.control.$extendDom?this.control.updateExtendDom(e):this.control.addExtendDom({html:e,showBeforePlay:!0}))}clearExtendHtml(){this.control&&this.control.removeExtendDom()}toggleExtendHtml(e){this.control&&this.control.toggleExtendDom(e)}getExtendHtmlIsShow(){return!!this.control&&this.control.getExtendDomIsShow()}getExtendHtml(){return this.control?this.control.getExtendDom():null}updateWatermark(e){this.singleWatermark||(this.singleWatermark=new Qo(this)),this.singleWatermark&&this.singleWatermark.update(e)}removeWatermark(){this.singleWatermark&&this.singleWatermark.remove()}getVideoInfo(){let e=null;return this.video&&(e=this.video.getVideoInfo()),e}getAudioInfo(){let e=null;return this.audio&&(e=this.audio.getAudioInfo()),e}getVideoPlaybackQuality(){let e=null;return this.video&&(e=this.video.getPlaybackQuality()),e}emitError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.emit(At.error,e,t),this.emit(e,t)}updateHistoryFpsList(e,t){this.playbackPause||Lo(this.visibility)||(this._historyFpsList.length>this._opt.heartTimeout&&(this._historyFpsList.shift(),this._historyVideoDiffList.shift()),this._historyFpsList.push(e),this._historyVideoDiffList.push(t),this.isHistoryFpsListAllZero()&&this.checkHeartTimeout$2())}isHistoryFpsListAllZero(){let e=!0;if(this._historyFpsList.length0){e=!1;break}if(e)for(let t=0;t0){e=!1;break}return e}isUseHls265(){return ko(this._opt.isHls)&&ko(this._opt.supportHls265)}isHls(){return ko(this._opt.isHls)}isOldHls(){return ko(this._opt.isHls)&&Lo(this._opt.supportHls265)}isWebrtcNotH265(){return ko(this._opt.isWebrtc)&&Lo(this._opt.isWebrtcH265)}isWebrtcH264(){return ko(this._opt.isWebrtc)&&Lo(this._opt.isWebrtcH265)}isWebrtcH265(){return ko(this._opt.isWebrtc)&&ko(this._opt.isWebrtcH265)}isAliyunRtc(){return ko(this._opt.isAliyunRtc)}isUseHls265UseMse(){return this.isUseHls265()&&this.isUseMSE()}isStreamWebTransport(){return this.getStreamType()===g}isPlaybackCacheBeforeDecodeForFpsRender(){return this.isPlayback()&&ko(this._opt.playbackConfig.isCacheBeforeDecodeForFpsRender)&&ko(this._opt.useWCS)}isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender(){return this.isPlayback()&&Lo(this._opt.playbackConfig.isPlaybackPauseClearCache)&&ko(this._opt.playbackConfig.isCacheBeforeDecodeForFpsRender)}isPlaybackUseWCS(){return this.isPlayback()&&ko(this._opt.useWCS)}isPlaybackUseMSE(){return this.isPlayback()&&ko(this._opt.useMSE)}isPlaybackUseWASM(){return this.isPlayback()&&ko(this._opt.useWasm)}isPlayUseMSE(){return this.isPlayer()&&ko(this._opt.useMSE)}isMSEDecodeAudio(){return this._opt.useMSE&&this._opt.mseDecodeAudio}isWCSDecodeAudio(){this._opt.useWCS&&this._opt.wcsDecodeAudio}isPlayVodUseMSE(){return this.isPlayVod()&&ko(this._opt.useMSE)}isPlayVodNotUseMSE(){return this.isPlayVod()&&Lo(this._opt.useMSE)}isPlayVodMp4(){return this.isPlayVod()&&ko(this._opt.isFmp4)}isInWebFullscreen(){return this._opt.useWebFullScreen&&Sa()&&this.fullscreen}getPlaybackRate(){let e=1;return ko(this.isPlayback())&&this.playback&&(e=this.playback.rate),e}getPlayVodRate(){let e=1;return this.isPlayVod()&&this.playVod&&(e=this.playVod.rate),e}isPlaybackOnlyDecodeIFrame(){return ko(this.isPlayback())&&this.getPlaybackRate()>=this._opt.playbackForwardMaxRateDecodeIFrame&&!this.isMSEDecodeAudio()}pushTempStream(e){const t=new Uint8Array(e);this._tempStreamList.push(t)}updateLoadingText(e){this.loading&&this.control&&this.control.updateLoadingText(e)}getVideoCurrentTime(){let e=0;return this.video&&(this._opt.useMSE?this.mseDecoder?e=this.mseDecoder.getVideoCurrentTime():this.isMseDecoderUseWorker()&&(e=this.video.getVideoCurrentTime()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.getVideoCurrentTime():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.getVideoCurrentTime())),e}getVideoBufferTimeRange(){let e=null;return this.video&&(this._opt.useMSE?this.mseDecoder?e=this.mseDecoder.getVideoBufferTimeRange():this.isMseDecoderUseWorker()&&(e=this.video.getVideoBufferTimeRange()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.getVideoBufferTimeRange():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.getVideoBufferTimeRange())),e}isVideoPlaying(){let e=!0;return this.video&&(this._opt.useMSE?this.mseDecoder?e=this.mseDecoder.isVideoPlaying():this.isMseDecoderUseWorker()&&(e=this.video.isVideoPlaying()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.isVideoPlaying():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.isVideoPlaying())),e}addMemoryLog(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s0){const e=t/1e3;this._flvMetaDataFps=e}}Va(e.hasAudio)&&Lo(e.hasAudio)&&(this.debugLog("updateMetaData","hasAudio",e.hasAudio,"and update _opt.hasAudio"),this._opt.hasAudio=e.hasAudio),Va(e.hasVideo)&&Lo(e.hasVideo)&&(this.debugLog("updateMetaData","hasVideo",e.hasVideo,"and update _opt.hasVideo"),this._opt.hasVideo=e.hasVideo),e.server&&(this._serverInfo=(e.server+"").substring(0,13)),e.MetaDataCreator&&(this._serverInfo=e.MetaDataCreator)}this.emit(At.flvMetaData,e)}getMetaData(){return this._flvMetaData}getExtendBtnList(){return this.control.getExtendBtnList().map((e=>({name:e.name,$container:e.$iconContainer,$btn:e.$iconWrap,$activeBtn:e.$activeIconWrap})))}getCpuLevel(){let e=null;return this.pressureObserverCpu&&(e=this.pressureObserverCpu.getCurrentCpuState()),e}isRecordTypeFlv(){return this.recorder&&this._opt.recordType===k}isRecordTypeMp4(){return this.recorder&&this._opt.recordType===T}isRecordTypeWebm(){return this.recorder&&this._opt.recordType===w}isDemuxInWorker(){return this._opt.useWasm||this._opt.demuxUseWorker}isUseMSE(){return ko(this._opt.useMSE)}isUseWCS(){return ko(this._opt.useWCS)}isUseWASM(){return ko(this._opt.useWasm)}isMseDecoderUseWorker(){return this.isUseMSE()&&ko(this._opt.mseDecoderUseWorker)}getAudioSyncVideoDiff(){return this.audioTimestamp-this.getRenderCurrentPts()}getCurrentVideoAndAudio(){return{video:this.getRenderCurrentPts(),audio:this.audioTimestamp}}getMseVideoBufferDelayTime(){let e=0;return this._opt.useMSE&&this.mseDecoder&&(this.mseDecoder?e=this.mseDecoder.getVideoBufferDelayTime():this.isMseDecoderUseWorker()&&(e=this.video.getVideoBufferDelayTime()),e=parseInt(1e3*e,10)),e}updateCurrentPts(e){this.updateStats({currentPts:e}),this.emit(At.currentPts,e),this.emitVideSeiSyncPts(e)}emitVideoSei(e){this.emit(At.videoSEI,e),this._seiList.push(e)}emitVideSeiSyncPts(e){if(0===this._seiList.length||Lo(this._opt.isEmitSEI))return;const t=1e3*this._opt.videoSEISyncPtsDiff,i=e-t,s=e+t,r=[];this._seiList.forEach((t=>{t.ts>=i&&t.ts<=s&&(t.pts=e,r.push(t))})),r.forEach((e=>{this.emit(At.videoSEISyncPts,e)})),this._seiList=this._seiList.filter((e=>e.ts>s))}getRenderCurrentPts(){let e=0;return e=this._stats.currentPts?this._stats.currentPts:this.videoTimestamp-this.getMseVideoBufferDelayTime(),e}openSyncAudioAndVideo(){return this._opt.syncAudioAndVideo&&this._opt.hasVideo}showTipsMessageByCode(e){if(this.control){const t=this._opt.showMessageConfig[e]||"未知异常";this.control.showTipsMessage(t,e)}}showTipsMessageByContent(e){this.control&&e&&this.control.showTipsMessage(e)}hideTipsMessage(){this.control&&this.control.hideTipsMessage()}decoderCheckFirstIFrame(){ko(this._opt.checkFirstIFrame)&&(this.mseDecoder?this.mseDecoder.isDecodeFirstIIframe=!1:this.webcodecsDecoder&&(this.webcodecsDecoder.isDecodeFirstIIframe=!1))}isHlsCanVideoPlay(){return this._canPlayAppleMpegurl&&this.isOldHls()}setPtzPosition(e){this.control&&this.control.updatePtzPosition(e)}setRotate(e){this.updateOption({rotate:e}),this.resize()}setPlayFailedAndPaused(){this.isPlayFailedAndPaused=!0}getMseMineType(){let e={};return this.mseDecoder&&(e=this.mseDecoder.getMimeType()),e}getMaxDelayTs(){return this._opt.videoBuffer+this._opt.videoBufferDelay}isMseVideoStateInited(){return!this.video||this.video.getReadyStateInited()}showPlayBtn(){this.control&&this.control.showPlayBtn()}toggleControlExtendBtn(e,t){this.control&&this.control.toggleExtendBtn(e,t)}getControlExtendBtnActive(e){let t=!1;return this.control&&(t=this.control.getExtendBtnActive(e)),t}useVideoPlayAudio(){return this._opt.hasAudio&&(this._opt.useWCS&&this._opt.wcsDecodeAudio||this._opt.useWasm&&this._opt.wasmPlayAudioUseVideoRender)}isControlBarShow(){const e=this._opt.hasControl,t=this._opt.controlAutoHide;let i=e&&!t;return i&&this.control&&(i=this.control.getBarIsShow()),i}getControlBarShow(){let e=!1;return this.control&&(e=this.control.getBarIsShow()),e}toggleControlBar(e){this.control&&(this.control.toggleBar(e),this.resize())}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s1?t-1:0),s=1;s1&&0===e[e.length-1]&&0===e[e.length-2]}getShowVideoRect(){let e=this.width,t=this.height;const i=this.getControlHeight();return Sa()&&this.fullscreen&&(this._opt.useWebFullScreen||this._opt.androidMobileFullscreenRotate)?e-=i:t-=i,{width:e,height:t}}updateControlSize(e){this.updateOption({controlSize:e}),this.control&&this.control.updateControlSize(),this.resize()}isStreamEnd(){let e=!1;return Lo(this._opt.checkStreamEnd)&&(e=this._isStreamEnd),e}getDemuxBufferLength(){let e=0;return this.demux&&(e=this.demux.getBufferListLength()),e}getCanvasVideoBufferLength(){let e=0;return this.video&&(e=this.video.getBufferListLength()),e}updateStreamEndInner(){this._isStreamEnd=!0}checkPlaybackEnd(){return this.isPlayback()&&Lo(this._opt.checkStreamEnd),!1}getWebrtcVideo(){let e=null;return this.webrtc&&(e=this.webrtc.$videoElement),e}updateDynamicWatermark(e){this.dynamicWatermark&&this.removeDynamicWatermark(),this.dynamicWatermark=new qv(this,e),this.dynamicWatermark.startAndResize()}updateGhostWatermark(e){this.ghostWatermark&&this.removeGhostWatermark();const t=Object.assign({},e,{isGhost:!0});this.ghostWatermark=new qv(this,t),this.ghostWatermark.startAndResize()}removeDynamicWatermark(){this.dynamicWatermark&&(this.dynamicWatermark.destroy(),this.dynamicWatermark=null)}removeGhostWatermark(){this.ghostWatermark&&(this.ghostWatermark.destroy(),this.ghostWatermark=null)}playVodForward(e){return new Promise(((t,i)=>{e=ga(Number(e),.1,32),this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"playVodRate",value:e}),this.playVod.setRate(e),this.video&&this.video.setRate(e),this.audio&&this.audio.setRate(e),this.isUseHls265()||this.demux.initPlaybackCacheLoop(),t()}))}playVodSeek(e){return new Promise(((t,i)=>{this.playVod?(this.playVod.seek({time:e}),t()):i("playVod is null")}))}playVodForwardJumping(e){return new Promise(((t,i)=>{let s=this.getRenderCurrentPts()/1e3;this.isPlayVodUseMSE()&&(s=this.getVideoCurrentTime()),this.playVodSeek(s+e).then((()=>{t()})).catch((e=>{i(e)}))}))}playVodBackwordJumping(e){return new Promise(((t,i)=>{let s=this.getRenderCurrentPts()/1e3;this.isPlayVodUseMSE()&&(s=this.getVideoCurrentTime()),this.playVodSeek(s-e).then((()=>{t()})).catch((e=>{i(e)}))}))}getPlayVodDuration(){return this.playVod.totalDuration}getPlayVodCurrentTime(){return this.playVod.currentTime}}class Xv{constructor(e){this.player=e,this.globalSetting=null;const t=Pa();this.defaultSettings={watermark_id:`JbPro_${t}`,watermark_prefix:`JbPro_mask_${t}`,watermark_txt:"JbPro 测试水印",watermark_x:0,watermark_y:0,watermark_rows:0,watermark_cols:0,watermark_x_space:0,watermark_y_space:0,watermark_font:"微软雅黑",watermark_color:"black",watermark_fontsize:"18px",watermark_alpha:.15,watermark_width:150,watermark_height:100,watermark_angle:15,watermark_parent_width:0,watermark_parent_height:0,watermark_parent_node:null},this.load({text:decodeURIComponent("JessibucaPro%20%E4%BD%93%E9%AA%8C"),color:"white"}),this.player.debugLog("Watermark","int")}destroy(){this._removeMark(),this.globalSetting=null,this.defaultSettings=null,this.player.debugLog("Watermark","destroy")}remove(){}load(e){this.globalSetting=e,this._loadMark(e)}resize(){this.player.debugLog("Watermark","resize()"),this.globalSetting&&this._loadMark(this.globalSetting)}_loadMark(){let e=this.defaultSettings;if(1===arguments.length&&"object"==typeof arguments[0]){var t=arguments[0]||{};for(let i in t)t[i]&&e[i]&&t[i]===e[i]||(t[i]||0===t[i])&&(e[i]=t[i])}var i=document.getElementById(e.watermark_id);i&&i.parentNode&&i.parentNode.removeChild(i);var s="string"==typeof e.watermark_parent_node?document.getElementById(e.watermark_parent_node):e.watermark_parent_node,r=s||document.body;const a=r.getBoundingClientRect();var o=Math.max(r.scrollWidth,r.clientWidth,a.width),n=Math.max(r.scrollHeight,r.clientHeight,a.height),l=arguments[0]||{},d=r;(l.watermark_parent_width||l.watermark_parent_height)&&d&&(e.watermark_x=e.watermark_x+0,e.watermark_y=e.watermark_y+0);var h=document.getElementById(e.watermark_id),c=null;if(h)h.shadowRoot&&(c=h.shadowRoot);else{(h=document.createElement("div")).id=e.watermark_id,h.setAttribute("style","pointer-events: none !important; display: block !important"),c="function"==typeof h.attachShadow?h.attachShadow({mode:"open"}):h;var u=r.children,p=Math.floor(Math.random()*(u.length-1))+1;u[p]?r.insertBefore(h,u[p]):r.appendChild(h)}e.watermark_cols=parseInt((o-e.watermark_x)/(e.watermark_width+e.watermark_x_space));var m,f=parseInt((o-e.watermark_x-e.watermark_width*e.watermark_cols)/e.watermark_cols);e.watermark_x_space=f?e.watermark_x_space:f,e.watermark_rows=parseInt((n-e.watermark_y)/(e.watermark_height+e.watermark_y_space));var g,y,A,b=parseInt((n-e.watermark_y-e.watermark_height*e.watermark_rows)/e.watermark_rows);e.watermark_y_space=b?e.watermark_y_space:b,s?(m=e.watermark_x+e.watermark_width*e.watermark_cols+e.watermark_x_space*(e.watermark_cols-1),g=e.watermark_y+e.watermark_height*e.watermark_rows+e.watermark_y_space*(e.watermark_rows-1)):(m=0+e.watermark_x+e.watermark_width*e.watermark_cols+e.watermark_x_space*(e.watermark_cols-1),g=0+e.watermark_y+e.watermark_height*e.watermark_rows+e.watermark_y_space*(e.watermark_rows-1));for(var v=0;v\n \n \n ${f.watermark_txt}\n \n \n ${f.watermark_txt}\n \n \n \n \n `,_=window.btoa(unescape(encodeURIComponent(v)));var S=document.createElement("div");S.style.position="absolute",S.style.left="0px",S.style.top="0px",S.style.overflow="hidden",S.style.zIndex="9999999",S.style.width=o+"px",S.style.height=n+"px",S.style.display="block",S.style["-ms-user-select"]="none",S.style.backgroundImage=`url(data:image/svg+xml;base64,${_})`,c.appendChild(S)}_removeMark(){const e=this.defaultSettings;var t=document.getElementById(e.watermark_id);if(t){var i=t.parentNode;i&&i.removeChild(t)}}_calcTextSize(){const{watermark_txt:e,watermark_font:t,watermark_fontsize:i}=this.globalSetting,s=document.createElement("span");s.innerHTML=e,s.setAttribute("style",`font-family: ${t}; font-size: ${i}px; visibility: hidden; display: inline-block`),document.querySelector("body").appendChild(s);const r={width:s.offsetWidth,height:s.offsetHeight};return s.remove(),r}}const e_="right",t_="left",i_="up",s_="down",r_="leftUp",a_="leftDown",o_="rightUp",n_="rightDown",l_="zoomExpand",d_="zoomNarrow",h_="apertureFar",c_="apertureNear",u_="focusFar",p_="focusNear",m_="setPos",f_="calPos",g_="delPos",y_="wiperOpen",A_="wiperClose",b_="cruiseStart",v_={stop:0,fiStop:0,right:1,left:2,up:8,down:4,leftUp:10,leftDown:6,rightUp:9,rightDown:5,zoomExpand:16,zoomNarrow:32,apertureFar:72,apertureNear:68,focusFar:66,focusNear:65,setPos:129,calPos:130,delPos:131,wiperOpen:140,wiperClose:141,setCruise:132,decCruise:133,cruiseStart:136,cruiseStop:0},__=[25,50,75,100,125,150,175,200,225,250],S_=[1,2,3,4,5,6,7,8,9,16],E_=[16,48,80,112,144,160,176,192,208,224];function T_(e){const{type:t,speed:i=5,index:s=0}=e,r=function(e){return __[(e=e||5)-1]||__[4]}(i);let a,o,n,l;if(a=v_[t],!a)return"";switch(t){case i_:case s_:case h_:case c_:n=r;break;case e_:case t_:case u_:case p_:o=r;break;case r_:case a_:case o_:case n_:o=r,n=r;break;case l_:case d_:l=function(e){return E_[(e=e||5)-1]||E_[4]}(i);break;case f_:case g_:case m_:n=w_(s);break;case A_:case y_:o=1;break;case b_:o=w_(s)}return function(e,t,i,s){let r=[];r[0]=165,r[1]=15,r[2]=1,r[3]=0,r[4]=0,r[5]=0,r[6]=0,e&&(r[3]=e);t&&(r[4]=t);i&&(r[5]=i);s&&(r[6]=s);return r[7]=(r[0]+r[1]+r[2]+r[3]+r[4]+r[5]+r[6])%256,function(e){let t="";for(let i=0;it)){for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i===t?s[r]=L_(e[r]):"object"==typeof e[r]?s[r]=C_(e[r],t,i+1):s[r]=e[r]);return s}}function D_(){return(new Date).toLocaleString()}class x_{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player=e,this.TAG_NAME="MemoryLogger",this.logMaxSize=(null==t?void 0:t.logMaxSize)||204800,this.logSize=0,this.logTextArray=[],this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.clear(),this.player.debugLog(this.TAG_NAME,"destroy")}clear(){this.logSize=0,this.logTextArray=[]}logCache(){let e="";try{for(var t=arguments.length,i=new Array(t),s=0;sC_(e)));e="[JbPro] "+D_()+JSON.stringify(r)}catch(e){return}if(this.logSize+=e.length,this.logTextArray.push(e),this.logSize>this.logMaxSize){const e=this.logTextArray.shift();this.logSize-=e.length}}getLog(){return this.logTextArray.join("\n")}getLogBlob(){const e=this.getLog();return new Blob([e],{type:"text/plain"})}download(){const e=this.getLog();this.clear();const t=new Blob([e],{type:"text/plain"});an(t,"JbPro-"+D_()+".log")}}class R_ extends Oo{constructor(e){super(),this.player=e,this.TAG_NAME="Network",this.online=this.isOnline(),this.prevOnline=this.online,this.interval=null,this._initListener(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.off(),this._stopCheck(),window.removeEventListener("online",this._updateOnlineStatus),window.removeEventListener("offline",this._updateOfflineStatus),this.player.debugLog(this.TAG_NAME,"destroy")}_initListener(){window.addEventListener("online",this._updateOnlineStatus.bind(this)),window.addEventListener("offline",this._updateOfflineStatus.bind(this))}_stopCheck(){this.interval&&(clearInterval(this.interval),this.interval=null)}_startCheck(){this.interval=setInterval((()=>{this.isOnline()!==this.prevOnline&&(this.isOnline()?this._updateOnlineStatus():this._updateOfflineStatus())}),1e3)}_updateOnlineStatus(){this.prevOnline=this.online,this.online=!0,this.logStatus(),this.emit("online")}_updateOfflineStatus(){this.prevOnline=this.online,this.online=!1,this.logStatus(),this.emit("offline")}logStatus(){const e=this.prevOnline?"online":"offline",t=this.online?"online":"offline";this.player.debugLog(this.TAG_NAME,`prevOnline: ${this.prevOnline}, online: ${this.online}, status: ${e} -> ${t}`)}isOnline(){return void 0===navigator.onLine||navigator.onLine}isOffline(){return!this.isOnline()}}class P_ extends Oo{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this._opt={},this.TAG_NAME="JbPro",this.$container=null,Object.keys(e).forEach((t=>{if(void 0===e[t])throw new Error(`JbPro option "${t}" can not be undefined`)})),this.originalOptions=e;const t=Eo();let i=Object.assign({},t,e);i.url="",i.isMulti&&(i.debugUuid=_o()),this.debug=new Nr(this);let s=e.container;if("string"==typeof e.container&&(s=document.querySelector(e.container)),!s)throw this.debugError("JbPro","JbPro need container option and now container is",e.container),new Error("JbPro need container option");if(Lo(i.isLive)){const e=document.createElement("video");return e.muted=!0,e.setAttribute("controlsList","nodownload"),e.disablePictureInPicture="disablePictureInPicture",e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.height="100%",e.style.width="100%",s.appendChild(e),this.$videoElement=e,this.$container=s,void(this._opt=i)}if(i.decoder&&Lo(-1!==i.decoder.indexOf("decoder-pro.js")||-1!==i.decoder.indexOf("decoder-pro-simd.js")))throw this.debugError("JbPro",`JbPro decoder ${i.decoder} must be decoder-pro.js or decoder-pro-simd.js`),new Error(`JbPro decoder ${i.decoder} must be decoder-pro.js or decoder-pro-simd.js`);if("CANVAS"===s.nodeName||"VIDEO"===s.nodeName)throw this.debugError("JbPro",`JbPro container type can not be ${s.nodeName} type`),new Error(`JbPro container type can not be ${s.nodeName} type`);if(i.videoBuffer>=i.heartTimeout)throw this.debugError("JbPro",`JbPro videoBuffer ${i.videoBuffer}s must be less than heartTimeout ${i.heartTimeout}s`),new Error(`JbPro videoBuffer ${i.videoBuffer}s must be less than heartTimeout ${i.heartTimeout}s`);if(!s.classList)throw this.debugError(this.TAG_NAME,"JbPro container is invalid, must be a DOM Element",s),new Error("JbPro container is invalid, must be a DOM Element",s);if(this._checkHasCreated(s))throw this.debugError("JbPro","JbPro container has been created and can not be created again",s),new Error("JbPro container has been created and can not be created again",s);var r,a,o;if(s.classList.add("jb-pro-container"),r=s,a=re,o=Pa(),r&&(r.dataset?r.dataset[a]=o:r.setAttribute("data-"+a,o)),delete i.container,Wa(i.videoBuffer)&&(i.videoBuffer=1e3*Number(i.videoBuffer)),Wa(i.videoBufferDelay)&&(i.videoBufferDelay=1e3*Number(i.videoBufferDelay)),Wa(i.networkDelay)&&(i.networkDelay=1e3*Number(i.networkDelay)),Wa(i.aiFaceDetectInterval)&&(i.aiFaceDetectInterval=1e3*Number(i.aiFaceDetectInterval)),Wa(i.aiObjectDetectInterval)&&(i.aiObjectDetectInterval=1e3*Number(i.aiObjectDetectInterval)),Wa(i.timeout)&&(Ga(i.loadingTimeout)&&(i.loadingTimeout=i.timeout),Ga(i.heartTimeout)&&(i.heartTimeout=i.timeout)),Wa(i.autoWasm)&&(Ga(i.decoderErrorAutoWasm)&&(i.decoderErrorAutoWasm=i.autoWasm),Ga(i.hardDecodingNotSupportAutoWasm)&&(i.hardDecodingNotSupportAutoWasm=i.autoWasm),Ga(i.mseWaitVideoCanplayAutoWasm)&&(i.mseWaitVideoCanplayAutoWasm=i.autoWasm)),Wa(i.aiFaceDetectLevel)&&Ga(i.aiFaceDetectWidth)){const e=ir[i.aiFaceDetectLevel];e&&(i.aiFaceDetectWidth=e)}if(Wa(i.aiObjectDetectLevel)&&Ga(i.aiObjectDetectWidth)){const e=sr[i.aiObjectDetectLevel];e&&(i.aiObjectDetectWidth=e)}ko(i.isCrypto)&&(i.isM7sCrypto=!0),this._opt=i,this.debugLog("JbPro","init start"),i.videoBuffer>1e4&&this.debugWarn(this.TAG_NAME,`videoBuffer ${i.videoBuffer/1e3}s is too long, will black screen for ${i.videoBuffer/1e3}s , it is recommended to set it to less than 10s`),this._destroyed=!1,this._destroyLock=!1,this.$container=s,this._tempPlayBgObj={},this._tempVideoLastIframeInfo={},this._tempPlayerIsMute=!0,this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this._streamErrorReplayTimes=0,this._streamEndReplayTimes=0,this._websocket1006ErrorReplayTimes=0,this.events=new Uo(this),this._opt.isUseNewFullscreenWatermark?this.watermark=new Zv(this):this.watermark=new Xv(this),this.memoryLogger=new x_(this),this.network=new R_(this),this._websocket1006ErrorRetryLog=[],this._mseDecodeErrorRetryLog=[],this._wcsDecodeErrorRetryLog=[],this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this.widthOrHeightChangeReplayDelayTimeout=null,this.streamErrorReplayDelayTimeout=null,this.streamEndReplayDelayTimeout=null,this.playbackPauseTimeout=null,this.playbackResumeTimeout=null,this.initDecoderWorkerTimeout=null,this.$loadingBgImage=null,this.$loadingBg=null,this._initOnLock(),this._initPlayer(s,i),this._initWatermark(),this._initNetwork(),this.debugLog("JbPro",'init success and version is "9-19-2024"'),console.log('JbPro Version is "9-19-2024" and is Trial Version[试用版本]')}destroy(){return new Promise(((e,t)=>{if(this.debugLog("JbPro","destroy()"),this._destroyLock)return t("JbPro is destroying");this._destroyLock=!0,this._destroyed=!0,this.off(),this._removeTimeout(),this._clearInitDecoderWorkerTimeout(),this._initOnLock(),this.$videoElement&&(this.$videoElement.pause(),this.$videoElement.currentTime=0,this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject")),this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src")),this.$container&&this.$container.removeChild(this.$videoElement),this.$videoElement=null),this._removeLoadingBackgroundForIOS();const i=()=>{this.player.destroy().then((()=>{this.player=null,this._destroy(),this._destroyLock=!1,e()})).catch((e=>{this._destroyLock=!1,t(e)}))};this.player?this._hasLoaded()?(this.debugLog(this.TAG_NAME,"destroy() player has loaded and next destroy"),i()):(this.debugLog(this.TAG_NAME,"destroy() player has not loaded and waiting load"),this.player.on(At.load,(()=>{this.debugLog(this.TAG_NAME,"destroy() player has not loaded and load success and next destroy"),i()}))):(this._destroy(),this._destroyLock=!1,e())}))}_removeTimeout(){this.widthOrHeightChangeReplayDelayTimeout&&(clearTimeout(this.widthOrHeightChangeReplayDelayTimeout),this.widthOrHeightChangeReplayDelayTimeout=null),this.streamErrorReplayDelayTimeout&&(clearTimeout(this.streamErrorReplayDelayTimeout),this.streamErrorReplayDelayTimeout=null),this.streamEndReplayDelayTimeout&&(clearTimeout(this.streamEndReplayDelayTimeout),this.streamEndReplayDelayTimeout=null),this.playbackPauseTimeout&&(clearTimeout(this.playbackPauseTimeout),this.playbackPauseTimeout=null),this.playbackResumeTimeout&&(clearTimeout(this.playbackResumeTimeout),this.playbackResumeTimeout=null)}_destroy(){var e,t;this.events&&(this.events.destroy(),this.events=null),this.watermark&&(this.watermark.destroy(),this.watermark=null),this.network&&(this.network.destroy(),this.network=null),this.memoryLogger&&(this.memoryLogger.destroy(),this.memoryLogger=null),this.$container&&(this.$container.classList.remove("jb-pro-container"),this.$container.classList.remove("jb-pro-fullscreen-web"),e=this.$container,t=re,e&&(e.dataset?delete e.dataset[t]:e.removeAttribute("data-"+t)),this.$container=null),this._tempPlayBgObj=null,this._tempVideoLastIframeInfo=null,this._isNetworkOfflinePaused=!1,this._playerOnLock=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this._tempPlayerIsMute=!0,this._resetReplayTimes(),this.debugLog("JbPro","destroy end"),this._opt={},this.debug=null}_resetReplayTimes(){this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this._streamErrorReplayTimes=0,this._streamEndReplayTimes=0,this._websocket1006ErrorReplayTimes=0,this._websocket1006ErrorRetryLog=[],this._mseDecodeErrorRetryLog=[],this._wcsDecodeErrorRetryLog=[]}_getOriginalOpt(){const e=Eo();return Object.assign({},e,this.originalOptions)}_initPlayer(e,t){this.player=new Qv(e,t),this._bindEvents()}_resetPlayer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(((t,i)=>{try{this.debugLog(this.TAG_NAME,"_resetPlayer()",JSON.stringify(e))}catch(t){this.debugLog(this.TAG_NAME,"_resetPlayer()",e)}const s=()=>{this._opt.url="",this._opt.playOptions={},this._opt=Object.assign(this._opt,e),this._initPlayer(this.$container,this._opt)},r=()=>{this.player.destroy().then((()=>{this.player=null,s(),this.debugLog(this.TAG_NAME,"_resetPlayer() end"),t()})).catch((e=>{this.debugError(this.TAG_NAME,"_resetPlayer() error",e),i(e)}))};this.player?this._hasLoaded()?(this.debugLog(this.TAG_NAME,"_resetPlayer() player has loaded"),r()):(this.debugLog(this.TAG_NAME,"_resetPlayer() player has not loaded and waiting load"),this.player.on(At.load,(()=>{this.debugLog(this.TAG_NAME,"_resetPlayer() player has not loaded and load success,next destroy and init player"),r()}))):(s(),this.debugLog(this.TAG_NAME,"_resetPlayer() end"),t())}))}_bindEvents(){var e=this;Object.keys(bt).forEach((t=>{this.player.on(bt[t],(function(){for(var i=arguments.length,s=new Array(i),r=0;r{this.player&&this.player.showTipsMessageByCode(e)})),this.player.once(At.beforeDestroy,(()=>{this.emit(At.close),this.destroy().then((()=>{})).catch((e=>{}))})),this.player.on(At.resize,(()=>{this.watermark&&this.watermark.resize()})),this.player.on(At.fullscreen,(()=>{this.watermark&&this.watermark.resize()})),this.player.on(At.videoInfo,(()=>{this.player&&(this.player.singleWatermark&&this.player.singleWatermark.resize(),this.player.ghostWatermark&&this.player.ghostWatermark.resize(),this.player.dynamicWatermark&&this.player.dynamicWatermark.resize())})),this.player.on(At.memoryLog,(function(){e.memoryLogger.logCache(...arguments)})),this.player.on(At.downloadMemoryLog,(()=>{this.downloadMemoryLog()}))}_initWatermark(){if(this._opt.fullscreenWatermarkConfig.text=decodeURIComponent("JessibucaPro%20%E4%BD%93%E9%AA%8C"),this._opt.fullscreenWatermarkConfig.color="white",io(this._opt.fullscreenWatermarkConfig)){const e=$a(this.$container,this._opt.fullscreenWatermarkConfig);if(!e.watermark_txt)return void this.debugWarn("JbPro","fullscreenWatermarkConfig text is empty");this.watermark.load(e)}}_initNetwork(){this.network.on(At.online,(()=>{if(this.emit(At.networkState,At.online),this.isDestroyed())this.debugLog(this.TAG_NAME,"network online and JbPro is destroyed");else if(this.debugLog(this.TAG_NAME,"network online"),this._isNetworkOfflinePaused&&this._isNetworkOfflinePausedAndNextPlayConfig&&this._isNetworkOfflinePausedAndNextPlayConfig.url){const e=this._isNetworkOfflinePausedAndNextPlayConfig.url,t=this._isNetworkOfflinePausedAndNextPlayConfig.playOptions;this._streamErrorReplayTimes++;const i=this._isNetworkOfflinePausedAndNextPlayConfig.type||"unknown";this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this.debugLog(this.TAG_NAME,`${i} and network online and _streamErrorReplayTimes is ${this._streamErrorReplayTimes} and reset player and play`),this.play(e,t).then((()=>{this.debugLog(this.TAG_NAME,`${i} and network online and play success`)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.fetchError,{},e),this.debugError(this.TAG_NAME,`${i} and network online and play error`,e.toString(),e)}))}})),this.network.on(At.offline,(()=>{this.emit(At.networkState,At.offline),this.debugLog(this.TAG_NAME,"network offline")}))}_checkHasCreated(e){if(!e)return!1;const t=function(e,t){return e?e.dataset?e.dataset[t]:e.getAttribute("data-"+t):""}(e,re);return!!t}_initOnLock(){this.webglAlignmentErrorOnLock=!1,this.webglContextLostErrorOnLock=!1,this.mediaSourceH265NotSupportOnLock=!1,this.mediaSourceFullOnLock=!1,this.mediaSourceAppendBufferErrorOnLock=!1,this.mseSourceBufferErrorOnLock=!1,this.mediaSourceBufferedIsZeroErrorOnLock=!1,this.mseAddSourceBufferErrorOnLock=!1,this.mediaSourceDecoderConfigurationErrorOnLock=!1,this.mediaSourceTsIsMaxDiffOnLock=!1,this.mseWidthOrHeightChangeOnLock=!1,this.mediaSourceAudioG711NotSupportOnLock=!1,this.mediaSourceAudioInitTimeoutOnLock=!1,this.mediaSourceAudioNoDataTimeoutOnLock=!1,this.mseWorkerAddSourceBufferErrorOnLock=!1,this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1,this.webcodecsH265NotSupportOnLock=!1,this.webcodecsUnsupportedConfigurationErrorOnLock=!1,this.webcodecsDecodeConfigureErrorOnLock=!1,this.webcodecsDecodeErrorOnLock=!1,this.wcsWidthOrHeightChangeOnLock=!1,this.webcodecsAudioNoDataTimeoutOnLock=!1,this.webcodecsAudioInitTimeoutOnLock=!1,this.simdDecodeErrorOnLock=!1,this.wasmWidthOrHeightChangeOnLock=!1,this.wasmUseVideoRenderErrorOnLock=!1,this.notSupportNewWasmOnLock=!1,this.videoElementPlayingFailedOnLock=!1,this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1,this.networkDelayTimeoutOnLock=!1,this.flvDemuxBufferSizeTooLargeOnLock=!1,this.fetchErrorOnLock=!1,this.streamEndOnLock=!1,this.websocketErrorOnLock=!1,this.webrtcErrorOnLock=!1,this.hlsErrorOnLock=!1,this.aliyunRtcErrorOnLock=!1,this.decoderWorkerInitErrorOnLock=!1,this.decoderWorkerWasmErrorOnLock=!1,this.videoElementPlayingFailedForWebrtcOnLock=!1,this.videoInfoErrorOnLock=!1,this.playbackEndOnLock=!1,this.webrtcStreamH265OnLock=!1,this.mseWaitVideoCanplayTimeoutOnLock=!1}isDestroyed(){return this._destroyed}getOption(){return this.player?this.player.getOption():{}}setDebug(e){this.debugLog("JbPro",`setDebug() ${e}`),this._opt.debug=!!e,this.player?this.player.updateOption({debug:!!e},!0):this.debugWarn("JbPro","player is not init")}getIsDebug(){let e=!1;return this.player&&(e=this.player._opt.debug),e}mute(){this.debugLog("JbPro","mute()"),this.player&&this.player.mute(!0)}cancelMute(){this.debugLog("JbPro","cancelMute() and is mute is ",this.isMute()),this.player&&this.player.isAudioMute()&&this.player.mute(!1)}setVolume(e){this.debugLog("JbPro",`setVolume() ${e}`),this.player&&(this.player.volume=e)}getVolume(){let e=null;return this.player&&(e=this.player.volume,e=parseFloat(e).toFixed(2)),e}audioResume(){this.debugLog("JbPro","audioResume() and call cancelMute()"),this.cancelMute()}setTimeout(e){this.debugLog("JbPro",`setTimeout() ${e}`),e=Number(e),isNaN(e)?this.debugWarn("JbPro",`setTimeout error: ${e} is not a number`):(this._opt.timeout=e,this._opt.loadingTimeout=e,this._opt.heartTimeout=e,this.player&&this.player.updateOption({timeout:e,loadingTimeout:e,heartTimeout:e}))}setScaleMode(e){this.debugLog("JbPro",`setScaleMode() ${e}`),this.player?this.player.setScaleMode(e):this.debugWarn("JbPro","setScaleMode() player is null")}pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((t,i)=>{this.debugLog("JbPro",`pause() ${e}`),this.isDestroyed()&&i("JbPro is destroyed"),(this._opt.pauseAndNextPlayUseLastFrameShow||this._opt.replayUseLastFrameShow)&&(this._tempPlayBgObj=this._getVideoLastIframeInfo()),this._tempPlayerIsMute=this.isMute(),this._pause(e).then((e=>{t(e)})).catch((e=>{i(e)}))}))}_pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((t,i)=>{if(this.debugLog("JbPro",`_pause() ${e}`),this.isDestroyed())return i("JbPro is destroyed");this._resetReplayTimes(),this.player?this.player.pause(e).then((e=>{t(e)})).catch((e=>{i(e)})):i("player is null")}))}close(){return new Promise(((e,t)=>{if(this.isDestroyed())return t("JbPro is destroyed");this.debugLog("JbPro","close() and inner destroy()"),this.destroy().then((()=>{e()})).catch((e=>{t(e)}))}))}clearView(){this.debugLog("JbPro","clearView()"),this.player&&this.player.video?this.getRenderType()===J?this.player.video.clearView():this.debugWarn("JbPro","clearView","render type is video, not support clearView, please use canvas render type"):this.debugWarn("JbPro","clearView","player is null")}play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(this.isDestroyed())return s("JbPro is destroyed");try{this.debugLog("JbPro",`play() ${e}`,JSON.stringify(t))}catch(i){this.debugLog("JbPro",`play() ${e}`,t)}if(!e&&!this._opt.url)return this.emit(At.error,_t.playError),void s("url is null and this._opt.url is null");if(e&&(e=(""+e).trim(),-1===e.indexOf("http:")&&-1===e.indexOf("https:")&&-1===e.indexOf("webrtc:")&&-1===e.indexOf("ws:")&&-1===e.indexOf("wss:")&&-1===e.indexOf("wt:")&&-1===e.indexOf("artc:")))return s(`url ${e} must be "http:" or "https:" or "webrtc:" or "ws:" or "wss:" or "wt:" or "artc:" protocol`);if(Lo(this._opt.isLive))return this.$videoElement.controls="controls",this.$videoElement.muted=!1,this.$videoElement.src=e,this.$videoElement.play(),void i(this.$videoElement);if(this._opt.isM7sCrypto){let r=t.cryptoKey||this._opt.playOptions.cryptoKey,a=t.cryptoIV||this._opt.playOptions.cryptoIV;if(this._opt.m7sCryptoKey&&(!r||!a)){const e=this._opt.m7sCryptoKey.split(".");r=bo(e[0]),a=bo(e[1])}if(!r||!a){const r=e||this._opt.url;return void this._cryptoPlay(r).then((r=>{let{cryptoIV:a,cryptoKey:o}=r;this._opt.playOptions.cryptoKey=o,this._opt.playOptions.cryptoIV=a,t.cryptoIV=a,t.cryptoKey=o,this._playBefore(e,t).then((()=>{i()})).catch((e=>{s(e)}))})).catch((e=>{s(e)}))}this._opt.playOptions.cryptoKey=r,this._opt.playOptions.cryptoIV=a,t.cryptoIV=a,t.cryptoKey=r}else if(this._opt.isXorCrypto){let e=t.cryptoKey||this._opt.playOptions.cryptoKey,i=t.cryptoIV||this._opt.playOptions.cryptoIV;if(this._opt.xorCryptoKey&&(!e||!i)){const t=this._opt.xorCryptoKey.split(".");e=bo(t[0]),i=bo(t[1])}e&&i&&(this._opt.playOptions.cryptoKey=e,this._opt.playOptions.cryptoIV=i,t.cryptoIV=i,t.cryptoKey=e)}else if(this._opt.isSm4Crypto){let e=t.cryptoKey||this._opt.playOptions.cryptoKey,i=t.cryptoIV||this._opt.playOptions.cryptoIV;if(this._opt.sm4CryptoKey&&(!e||!i)){const t=this._opt.sm4CryptoKey.split(".");2===t.length&&(e=vl(t[0]),i=vl(t[1]))}e&&i&&(this._opt.playOptions.cryptoKey=e,this._opt.playOptions.cryptoIV=i,t.cryptoIV=i,t.cryptoKey=e)}this._playBefore(e,t).then((()=>{i()})).catch((e=>{s(e)}))}))}_playBefore(e,t){return new Promise(((i,s)=>{if(this.player)if(e)if(this._opt.url)if(e===this._opt.url)if(this.player.playing)this.debugLog("JbPro","_playBefore","playing and resolve()"),i();else{this.debugLog("JbPro","_playBefore","this._opt.url === url and pause -> play and destroy play");let e=this._getOriginalOpt();(this._opt.pauseAndNextPlayUseLastFrameShow||this._opt.replayUseLastFrameShow)&&this._tempPlayBgObj&&this._tempPlayBgObj.loadingBackground&&(e=Object.assign(e,this._tempPlayBgObj)),Lo(this._tempPlayerIsMute)&&(e.isNotMute=!0,this._tempPlayerIsMute=!0);const t=this._opt.url,r=this._opt.playOptions;this._resetPlayer(e).then((()=>{this._play(t,r).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore this.player.play error",e),this.emit(At.crashLog,this.getCrashLog("this.player.play 1",e)),s(e)}))})).catch((e=>{this.debugError("JbPro","_resetPlayer error",e),s(e)}))}else{this.debugLog("JbPro","_playBefore",`\n this._url.url is ${this._opt.url}\n and new url is ${e}\n and destroy and play new url`);const r=this._getOriginalOpt();this._resetPlayer(r).then((()=>{this._play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(At.crashLog,this.getCrashLog("this.player.play 2",e)),s(e)}))})).catch((e=>{this.debugError("JbPro","_resetPlayer error",e)}))}else this._play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(At.crashLog,this.getCrashLog("this.player.play 3",e)),s(e)}));else{let e=this._getOriginalOpt();(this._opt.pauseAndNextPlayUseLastFrameShow||this._opt.replayUseLastFrameShow)&&this._tempPlayBgObj&&this._tempPlayBgObj.loadingBackground&&(e=Object.assign(e,this._tempPlayBgObj)),Lo(this._tempPlayerIsMute)&&(e.isNotMute=!0,this._tempPlayerIsMute=!0);const t=this._opt.url,r=this._opt.playOptions;this._resetPlayer(e).then((()=>{this._play(t,r).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(At.crashLog,this.getCrashLog("this.player.play 4",e)),s(e)}))})).catch((e=>{this.debugError("JbPro","_resetPlayer error",e)}))}else e?this._play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(At.crashLog,this.getCrashLog("this.player.play 5",e)),s(e)})):this._play(this._opt.url,this._opt.playOptions).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(At.crashLog,this.getCrashLog("this.player.play 6",e)),s(e)}))}))}_cryptoPlay(e){return new Promise(((t,i)=>{const s=function(e){const t=(e||document.location.toString()).split("//"),i=t[1].indexOf("/");let s=t[1].substring(i);return-1!=s.indexOf("?")&&(s=s.split("?")[0]),s}(e);let r=this._opt.cryptoKeyUrl,a="";const o=vo(e);if(r){if(a=r,this._opt.isM7sCrypto&&-1===a.indexOf("/crypto/?stream=")){const e=vo(r);a=e.origin+se+`?stream=${s}`}}else r=o.origin+se,a=r+`?stream=${s}`;var n;this.player.debugLog("JbPro",`_cryptoPlay() cryptoKeyUrl: ${a} and opt.cryptoKeyUrl: ${this._opt.cryptoKeyUrl}`),(n=a,new Promise(((e,t)=>{zl.get(n).then((t=>{e(t)})).catch((e=>{t(e)}))}))).then((e=>{if(e){const s=e.split("."),r=bo(s[0]),a=bo(s[1]);a&&r?t({cryptoIV:a,cryptoKey:r}):i("get cryptoIV or cryptoKey error")}else i(`cryptoKeyUrl: getM7SCryptoStreamKey ${a} res is null`)})).catch((e=>{i(e)}))}))}playback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(this.isDestroyed())return s("JbPro is destroyed");try{this.debugLog("JbPro",`playback() ${e}, options: `,JSON.stringify(t))}catch(i){this.debugLog("JbPro",`playback() ${e}, options: `,t)}if(Lo(this._opt.isLive))return s("this._opt.isLive is false, can not playback");const r=To(),a=Object.assign({},r.playbackConfig,this._opt.playbackConfig,t);Lo(a.isUseFpsRender)&&a.isCacheBeforeDecodeForFpsRender&&(a.isCacheBeforeDecodeForFpsRender=!1,this.debugWarn("JbPro","playbackConfig.isUseFpsRender is false, isCacheBeforeDecodeForFpsRender can not be ture, isCacheBeforeDecodeForFpsRender is set to false")),0===a.rateConfig.length&&a.showRateBtn&&(a.showRateBtn=!1,this.debugWarn("JbPro","playbackConfig.rateConfig.length is 0, showRateBtn can not be ture, showRateBtn is set to false")),a.controlType,Z.simple,this._resetPlayer({videoBuffer:0,playbackConfig:a,playType:S,openWebglAlignment:!0,useMSE:a.useMSE,useWCS:a.useWCS,useSIMD:a.useSIMD}).then((()=>{this.play(e,t).then((()=>{i()})).catch((e=>{s(e)}))})).catch((e=>{s(e)}))}))}playbackPause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this.debugLog("JbPro",`playbackPause() ${e}`),this._opt.playType===v?Promise.reject("playType is player, can not call playbackPause method"):new Promise(((t,i)=>{if(!this.player)return i("player is null");ko(e)?this._pause().then((()=>{t()})).catch((e=>{i(e)})):(this.player.playbackPause=!0,this.player.recording=!1,this.player.zooming=!1,this.playbackPauseTimeout=setTimeout((()=>{this.playbackPauseTimeout=null,t()}),100))})))}playbackResume(){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this.debugLog("JbPro","playbackResume()"),this._opt.playType===v?Promise.reject("playType is player, can not call playbackResume method"):new Promise(((e,t)=>{if(!this.player)return t("player is null");this.player.playbackPause=!1,this.playbackResumeTimeout=setTimeout((()=>{this.playbackResumeTimeout=null,e()}),100)})))}forward(e){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this.debugLog("JbPro",`forward() ${e}`),Lo(this._opt.isLive)||this._opt.playType===v?(this.debugLog("JbPro",`forward() and this._opt.isLive is ${this._opt.isLive} and this._opt.playType is ${this._opt.playType}`),Promise.reject("forward() method only just for playback type")):Ma(Number(e))?new Promise(((t,i)=>{this.player?(e=ga(Number(e),.1,32),this.player.decoderWorker&&this.player.decoderWorker.updateWorkConfig({key:"playbackRate",value:e}),this.player.playback.setRate(e),this.player.video&&this.player.video.setRate(e),this.player.audio&&this.player.audio.setRate(e),(this.player.isPlaybackUseWCS()||this.player.isPlaybackUseMSE())&&(this.player.demux&&Lo(this.player.isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender())&&this.player.demux.dropBuffer$2(),this.player.isPlaybackCacheBeforeDecodeForFpsRender()&&this.player.demux.initPlaybackCacheLoop()),t()):i("player is not playing")})):Promise.reject(`forward() params "rate": ${e} must be number type`))}playbackForward(e){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):new Promise(((t,i)=>{this.forward(e).then((()=>{t()})).catch((e=>{i(e)}))}))}normal(){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):new Promise(((e,t)=>{this.forward(1).then((()=>{e()})).catch((e=>{t(e)}))}))}playbackNormal(){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):new Promise(((e,t)=>{this.normal().then((()=>{e()})).catch((e=>{t(e)}))}))}updatePlaybackForwardMaxRateDecodeIFrame(e){this.isDestroyed()||(this.debugLog("JbPro",`updatePlaybackForwardMaxRateDecodeIFrame() ${e}`),e=Number(e),e=ga(e=parseInt(e,10),1,8),this._opt.playbackForwardMaxRateDecodeIFrame=e,this.player?this.player.updateOption({playbackForwardMaxRateDecodeIFrame:e},!0):this.debugWarn("JbPro","updatePlaybackForwardMaxRateDecodeIFrame() player is null"))}setPlaybackStartTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setPlaybackStartTime() ${e}`);const t=eo(e);this.player?this.player.isPlayback()?t<10&&0!==e&&this.player.playback.isControlTypeNormal()?this.debugWarn("JbPro",`setPlaybackStartTime() control type is normal and timestamp: ${e} is not valid`):this.player.playback.isControlTypeSimple()&&e>this.player.playback.totalDuration?this.debugWarn("JbPro",`setPlaybackStartTime() control type is simple and timestamp: ${e} is more than ${this.player.playback.totalDuration}`):this.player.playing&&(this.player.playback.isControlTypeNormal()&&10===t&&(e*=1e3),this.player.playback.setStartTime(e),this.playbackClearCacheBuffer()):this.debugWarn("JbPro","setPlaybackStartTime() playType is not playback"):this.debugWarn("JbPro","setPlaybackStartTime() player is null")}setPlaybackShowPrecision(e){this.isDestroyed()||(this.debugLog("JbPro",`setPlaybackShowPrecision() ${e}`),this.player?this.player.isPlayback()?this.player.playback.isControlTypeNormal()?this.player.playback.setShowPrecision(e):this.debugWarn("JbPro","control type is not normal , not support!"):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}playbackCurrentTimeScroll(){this.isDestroyed()||(this.debugLog("JbPro","playbackCurrentTimeScroll()"),this.player?this.player.isPlayback()?this.player.playback.isControlTypeNormal()?this.player.playback.currentTimeScroll():this.debugWarn("JbPro","control type is not normal , not support!"):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}playbackClearCacheBuffer(){this.isDestroyed()||(this.debugLog("JbPro","playbackClearCacheBuffer()"),this.player?this.player.isPlayback()?(this.player.video&&this.player.video.clear(),this.player.audio&&this.player.audio.clear(),this.clearBufferDelay()):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}getPlaybackCurrentRate(){return this.player?this.player.isPlayback()?this.player.getPlaybackRate():(this.debugWarn("JbPro","playType is not playback"),1):(this.debugWarn("JbPro","player is null"),1)}updatePlaybackLocalOneFrameTimestamp(e){this.isDestroyed()||(this.debugLog("JbPro",`updatePlaybackLocalOneFrameTimestamp() ${e}`),this.player?this.player.isPlayback()?this.player.playback.updateLocalOneFrameTimestamp(e):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}setStreamQuality(e){if(this.isDestroyed())return;if(this.debugLog("JbPro",`setStreamQuality() ${e}`),!this.player)return void this.debugWarn("JbPro","player is null");if(!this.player._opt.operateBtns.quality)return void this.debugWarn("JbPro","player._opt.operateBtns.quality is false");(this.player._opt.qualityConfig||[]).includes(e)?this.player.streamQuality=e:this.debugWarn("JbPro",`quality: ${e} is not in qualityList`)}_play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(!this.player)return s("player is null");let r=!1;this._opt.url&&this._opt.url!==e&&(r=!0),this._opt.url=e,this._opt.playOptions=t;const u=e.split("?")[0],p=u.startsWith("http://")||u.startsWith("https://"),m=u.startsWith("webrtc://"),f=u.startsWith("artc://"),g=u.startsWith("wt://"),y=u.startsWith("ws://")||u.startsWith("wss://"),A=p||y,b=p&&u.endsWith(".m3u8"),v=A&&u.endsWith(".flv"),_=A&&(u.endsWith(".fmp4")||u.endsWith(".mp4")),S=A&&u.endsWith(".mpeg4"),E=A&&(u.endsWith(".h264")||u.endsWith(".h265")),T=A&&u.endsWith(".ts");let w=this._opt.isWebrtcForZLM||!1,k=this._opt.isWebrtcForSRS||!1,U=this._opt.isWebrtcForOthers||!1;m&&(-1!==e.indexOf("/index/api/webrtc")?(w=!0,k=!1,U=!1):-1!==e.indexOf("/rtc/v1/play/")&&(k=!0,w=!1,U=!1));let O=null,N=null;if(v&&Lo(this._opt.isFlv)&&this._resetDemuxType("isFlv"),_&&Lo(this._opt.isFmp4)&&this._resetDemuxType("isFmp4"),S&&Lo(this._opt.isMpeg4)&&this._resetDemuxType("isMpeg4"),E&&Lo(this._opt.isNakedFlow)&&this._resetDemuxType("isNakedFlow"),T&&Lo(this._opt.isTs)&&this._resetDemuxType("isTs"),b&&Lo(this._opt.isHls)&&this._resetDemuxType("isHls"),p?O=this._opt.isHls?n:o:g?O=d:m?O=l:f?O=h:y&&(O=a),this._opt.isNakedFlow?N=P:this._opt.isFmp4?N=I:this._opt.isMpeg4?N=B:this._opt.isFlv?N=L:this._opt.isTs?N=F:this._opt.isHls?N=D:m?N=x:f?N=M:g?N=R:y&&(N=C),!O||!N)return this._opt.playFailedAndPausedShowMessage&&this.showErrorMessageTips("url is not support"),s(`play url ${e} is invalid, protocol is ${c[O]}, demuxType is ${N}`);this.debugLog("JbPro",`play url ${e} protocol is ${c[O]}, demuxType is ${N}`);const j=()=>{this.player.on(_t.webglAlignmentError,this._handleWebglAlignmentError.bind(this)),this.player.on(_t.webglContextLostError,this._handleWebglContextLostError.bind(this)),this.player.on(_t.mediaSourceH265NotSupport,this._handleMediaSourceH265NotSupport.bind(this)),this.player.on(_t.mseWaitVideoCanplayTimeout,this._handleMseWaitVideoCanplayTimeout.bind(this)),this.player.on(_t.mediaSourceFull,this._handleMediaSourceFull.bind(this)),this.player.on(_t.mediaSourceAppendBufferError,this._handleMediaSourceAppendBufferError.bind(this)),this.player.on(_t.mseSourceBufferError,this._handleMseSourceBufferError.bind(this)),this.player.on(_t.mediaSourceBufferedIsZeroError,this._handleMediaSourceBufferedIsZeroError.bind(this)),this.player.on(_t.mseAddSourceBufferError,this._handleMseAddSourceBufferError.bind(this)),this.player.on(_t.mediaSourceDecoderConfigurationError,this._handleMediaSourceDecoderConfigurationError.bind(this)),this.player.on(_t.mediaSourceTsIsMaxDiff,this._handleMediaSourceTsIsMaxDiff.bind(this)),this.player.on(_t.mseWidthOrHeightChange,this._handleMseWidthOrHeightChange.bind(this)),this.player.on(_t.mediaSourceAudioG711NotSupport,this._handleMediaSourceAudioG711NotSupport.bind(this)),this.player.on(_t.mediaSourceAudioInitTimeout,this._handleMediaSourceAudioInitTimeout.bind(this)),this.player.once(_t.mediaSourceAudioNoDataTimeout,this._handleMediaSourceAudioNoDataTimeout.bind(this)),this.player.on(_t.mseWorkerAddSourceBufferError,this._handleMseWorkerAddSourceBufferError.bind(this)),this.player.on(_t.mediaSourceUseCanvasRenderPlayFailed,this._handleMediaSourceUseCanvasRenderPlayFailed.bind(this)),this.player.on(_t.webcodecsH265NotSupport,this._handleWebcodecsH265NotSupport.bind(this)),this.player.on(_t.webcodecsUnsupportedConfigurationError,this._handleWebcodecsUnsupportedConfigurationError.bind(this)),this.player.on(_t.webcodecsDecodeConfigureError,this._handleWebcodecsDecodeConfigureError.bind(this)),this.player.on(_t.webcodecsDecodeError,this._handleWebcodecsDecodeError.bind(this)),this.player.on(_t.wcsWidthOrHeightChange,this._handleWcsWidthOrHeightChange.bind(this)),this.player.on(_t.webcodecsAudioNoDataTimeout,this._handleWebcodecsAudioNoDataTimeout.bind(this)),this.player.on(_t.webcodecsAudioInitTimeout,this._handleWebcodecsAudioInitTimeout.bind(this)),this.player.on(_t.simdDecodeError,this._handleSimdDecodeError.bind(this)),this.player.on(_t.wasmWidthOrHeightChange,this._handleWasmWidthOrHeightChange.bind(this)),this.player.on(_t.wasmUseVideoRenderError,this._handleWasmUseVideoRenderError.bind(this)),this.player.on(_t.notSupportNewWasm,this._handleNotSupportNewWasm.bind(this)),this.player.on(_t.videoElementPlayingFailed,this._handleVideoElementPlayingFailed.bind(this)),this.player.on(_t.simdH264DecodeVideoWidthIsTooLarge,this._handleSimdH264DecodeVideoWidthIsTooLarge.bind(this)),this.player.on(At.networkDelayTimeout,this._handleNetworkDelayTimeout.bind(this)),this.player.on(At.flvDemuxBufferSizeTooLarge,this._handleFlvDemuxBufferSizeTooLarge.bind(this)),this.player.on(_t.fetchError,this._handleFetchError.bind(this)),this.player.on(At.streamEnd,this._handleStreamEnd.bind(this)),this.player.on(_t.websocketError,this._handleWebsocketError.bind(this)),this.player.on(_t.webrtcError,this._handleWebrtcError.bind(this)),this.player.on(_t.hlsError,this._handleHlsError.bind(this)),this.player.on(_t.aliyunRtcError,this._handleAliyunRtcError.bind(this)),this.player.on(_t.decoderWorkerInitError,this._handleDecoderWorkerInitError.bind(this)),this.player.on(_t.decoderWorkerWasmError,this._handleDecoderWorkerWasmError.bind(this)),this.player.on(_t.videoElementPlayingFailedForWebrtc,this._handleVideoElementPlayingFailedForWebrtc.bind(this)),this.player.on(_t.videoInfoError,this._handleVideoInfoError.bind(this)),this.player.on(At.webrtcStreamH265,this._handleWebrtcStreamH265.bind(this)),this.player.on(At.playbackEnd,this._handlePlaybackEnd.bind(this)),this.player.on(At.delayTimeout,this._handleDelayTimeout.bind(this)),this.player.on(At.loadingTimeout,this._handleLoadingTimeout.bind(this)),this.player.isPlayVod()&&(this.player.on(At.playVodEnded,this._handlePlayVodEnded.bind(this)),this.player.on(At.playVodEndedAndReplay,this._handlePlayVodEndedAndReplay.bind(this))),this._hasLoaded()?(this.debugLog(this.TAG_NAME,"_playNext and _hasLoaded() is true"),this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_hasLoaded() and play error",e),this.emit(At.crashLog,this.getCrashLog("_hasLoaded() and play error",e)),this.player&&this.player.pause().then((()=>{s(e)})).catch((e=>{s(e),this.debugError("JbPro","_hasLoaded() and play error and next pause error",e)}))}))):(this.debugLog(this.TAG_NAME,"_playNext and waiting decoderWorkerInit callback"),this._checkInitDecoderWorkerTimeout(),this.player.once(At.decoderWorkerInit,(()=>{this._clearInitDecoderWorkerTimeout(),this.isDestroyed()?this.debugLog("JbPro","decoderWorkerInit but player is destroyed"):(this.debugLog(this.TAG_NAME,"_playNext and decoderWorkerInit callback and next play"),this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","decoderWorkerInit and play error",e),this.emit(At.crashLog,this.getCrashLog("decoderWorkerInit and play error",e)),this.player&&this.player.pause().then((()=>{s(e)})).catch((e=>{s(e),this.debugError("JbPro","decoderWorkerInit and play error and next pause error",e)}))})))})))},G=this.player.getOption(),V=this._opt.isHls&&Lo(this._opt.supportHls265),W=m&&Lo(this._opt.isWebrtcH265),z=this._opt.isHls&&!!co(),$=this._opt.isHls&&G.demuxUseWorker;if(V||W||f||r||S||z||$)this.debugLog("JbPro",`need reset player and\n isOldHls is ${V} and isOldWebrtc is ${W} and\n isAliyunRtc is ${f} and\n needResetPlayer(url change) is ${r} and\n isMpeg4 is ${S} and\n isHlsCanVideoPlay is ${z} and\n isHlsButDemuxUseWorker is ${$}`),this._resetPlayer({protocol:O,demuxType:N,isHls:this._opt.isHls,isFmp4:this._opt.isFmp4,isWebrtc:m,isWebrtcForZLM:w,isWebrtcForSRS:k,isWebrtcForOthers:U,isAliyunRtc:f,cryptoKey:t.cryptoKey||"",cryptoIV:t.cryptoIV||"",url:e,playOptions:t}).then((()=>{j()})).catch((e=>{s("reset player error")}));else{const e={protocol:O,demuxType:N,isHls:this._opt.isHls,isWebrtc:m,isAliyunRtc:f,isFlv:this._opt.isFlv,isFmp4:this._opt.isFmp4,isMpeg4:this._opt.isMpeg4,isNakedFlow:this._opt.isNakedFlow,isTs:this._opt.isTs,cryptoKey:t.cryptoKey||"",cryptoIV:t.cryptoIV||""};this._opt.isNakedFlow&&(e.mseDecodeAudio=!1,e.wcsDecodeAudio=!1),this.player.updateOption(e),j()}}))}_resetDemuxType(e){this._opt.isFlv=!1,this._opt.isFmp4=!1,this._opt.isMpeg4=!1,this._opt.isNakedFlow=!1,this._opt.isHls=!1,this._opt.isWebrtc=!1,this._opt.isWebrtcForZLM=!1,this._opt.isWebrtcForSRS=!1,this._opt.isWebrtcForOthers=!1,this._opt.isAliyunRtc=!1,this._opt.isTs=!1,e&&(this._opt[e]=!0)}resize(){this.isDestroyed()||(this.debugLog("JbPro","resize()"),this.player&&this.player.resize())}setBufferTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setBufferTime() ${e}`),(e=Number(e))>10&&this.debugWarn("JbPro",`setBufferTime() buffer time is ${e} second, is too large, video will show blank screen until cache ${e} second buffer data`);const t=1e3*e;this._opt.videoBuffer=t,this.player?this.player.updateOption({videoBuffer:t},!0):this.debugWarn("JbPro","setBufferTime() player is null")}setBufferDelayTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setBufferDelayTime() ${e}`),(e=Number(e))<.2&&this.debugWarn("JbPro",`setBufferDelayTime() buffer time delay is ${e} second, is too small`);const t=1e3*(e=ga(e,.2,100));this._opt.videoBufferDelay=t,this.player?this.player.updateOption({videoBufferDelay:t},!0):this.debugWarn("JbPro","setBufferDelayTime() player is null")}setRotate(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setRotate() ${e}`),e=parseInt(e,10);this._opt.rotate!==e&&-1!==[0,90,180,270].indexOf(e)?(this._opt.rotate=e,this.player?this.player.setRotate(e):this.debugWarn("JbPro","setRotate() player is null")):this.debugWarn("JbPro",`setRotate() rotate is ${e} and this._opt.rotate is ${this._opt.rotate}`)}setMirrorRotate(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setMirrorRotate() ${e}`);e||(e="none"),this._opt.mirrorRotate!==e&&-1!==["none","level","vertical"].indexOf(e)?(this._opt.mirrorRotate=e,this.player?(this.player.updateOption({mirrorRotate:e}),this.resize()):this.debugWarn("JbPro","setMirrorRotate() player is null")):this.debugWarn("JbPro",`setMirrorRotate() mirrorRotate is ${e} and this._opt.mirrorRotate is ${this._opt.mirrorRotate}`)}setAspectRatio(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setAspectRatio() ${e}`);e||(e="default"),this._opt.aspectRatio!==e&&-1!==["default","4:3","16:9"].indexOf(e)?(this._opt.aspectRatio=e,this.player?(this.player.updateOption({aspectRatio:e}),this.resize()):this.debugWarn("JbPro","setAspectRatio() player is null")):this.debugWarn("JbPro",`setAspectRatio() aspectRatio is ${e} and this._opt.aspectRatio is ${this._opt.mirrorRotate}`)}hasLoaded(){return!0}_hasLoaded(){return this.player&&this.player.loaded||!1}setKeepScreenOn(){this.isDestroyed()||(this.debugLog("JbPro","setKeepScreenOn()"),this._opt.keepScreenOn=!0,this.player?this.player.updateOption({keepScreenOn:!0}):this.debugWarn("JbPro","setKeepScreenOn() player is not ready"))}setFullscreen(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setFullscreen() ${e}`);const t=!!e;this.player?this.player.fullscreen!==t?this.player.fullscreen=t:this.debugWarn("JbPro",`setFullscreen() fullscreen is ${t} and this.player.fullscreen is ${this.player.fullscreen}`):this.debugWarn("JbPro","setFullscreen() player is not ready")}setWebFullscreen(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setWebFullscreen() ${e}`);const t=!!e;this.player?this.player.webFullscreen=t:this.debugWarn("JbPro","setWebFullscreen() player is not ready")}screenshot(e,t,i,s){if(!this.isDestroyed())return this.debugLog("JbPro",`screenshot() ${e} ${t} ${i} ${s}`),this.player&&this.player.video?this.player.video.screenshot(e,t,i,s):(this.debugWarn("JbPro","screenshot() player is not ready"),null)}screenshotWatermark(e){return new Promise(((t,i)=>{if(this.isDestroyed())return i("player is destroyed");this.debugLog("JbPro","screenshotWatermark()",e),this.player&&this.player.video?this.player.video.screenshotWatermark(e).then((e=>{t(e)})).catch((e=>{i(e)})):(this.debugWarn("JbPro","screenshotWatermark() player is not ready"),i("player is not ready"))}))}screenshotCopyrightWatermark(e){return new Promise(((t,i)=>{if(this.isDestroyed())return i("player is destroyed");this.debugLog("JbPro","screenshotCopyrightWatermark()",e),this.player&&this.player.video?this.player.video.screenshotCopyrightWatermark(e).then((e=>{t(e)})).catch((e=>{i(e)})):(this.debugWarn("JbPro","screenshotCopyrightWatermark() player is not ready"),i("player is not ready"))}))}startRecord(e,t){return new Promise(((i,s)=>this.isDestroyed()?s("player is destroyed"):(this.debugLog("JbPro",`startRecord() ${e} ${t}`),this.player?void(this.player.playing?(this.player.startRecord(e,t),i()):(this.debugWarn("JbPro","startRecord() player is not playing"),s("not playing"))):(this.debugWarn("JbPro","startRecord() player is not ready"),s("player is not ready")))))}stopRecordAndSave(e,t){return new Promise(((i,s)=>{if(this.isDestroyed())return s("player is destroyed");this.debugLog("JbPro",`stopRecordAndSave() ${e} ${t}`),this.player&&this.player.recording?this.player.stopRecordAndSave(e,t).then((e=>{i(e)})).catch((e=>{s(e)})):s("not recording")}))}cancelRecord(){return new Promise(((e,t)=>this.isDestroyed()?t("player is destroyed"):(this.debugLog("JbPro","cancelRecord()"),this.player?void this.player.cancelRecord().then((()=>{e()})).catch((e=>{t(e)})):(this.debugWarn("JbPro","cancelRecord() player is not ready"),t("player is not ready")))))}isPlaying(){let e=!1;return this.player&&(e=this.player.isPlaying()),e}isLoading(){return!!this.player&&this.player.loading}isPause(){let e=!1;return this._opt.playType===v?e=!this.isPlaying()&&!this.isLoading():this._opt.playType===S&&this.player&&(e=this.player.playbackPause),e}isPaused(){return this.isPause()}isPlaybackPause(){let e=!1;return this._opt.playType===S&&this.player&&(e=this.player.playbackPause),e}isMute(){let e=!0;return this.player&&(e=this.player.isAudioMute()),e}isRecording(){return this.player&&this.player.recorder&&this.player.recorder.recording||!1}isFullscreen(){let e=!1;return this.player&&(e=this.player.fullscreen),e}isWebFullscreen(){let e=!1;return this.player&&(e=this.player.webFullscreen),e}clearBufferDelay(){this.isDestroyed()||(this.debugLog("JbPro","clearBufferDelay()"),this.player?this.player.clearBufferDelay():this.debugWarn("JbPro","clearBufferDelay() player is not init"))}setNetworkDelayTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setNetworkDelayTime() ${e}`),(e=Number(e))<1&&this.debugWarn("JbPro",`setNetworkDelayTime() network delay is ${e} second, is too small`);const t=1e3*(e=ga(e,1,100));this._opt.networkDelay=t,this.player?this.player.updateOption({networkDelay:t},!0):this.debugWarn("JbPro","setNetworkDelayTime() player is null")}getDecodeType(){let e="";return this.player&&(e=this.player.getDecodeType()),e}getRenderType(){let e="";return this.player&&(e=this.player.getRenderType()),e}getAudioEngineType(){let e="";return this.player&&(e=this.player.getAudioEngineType()),e}getPlayingTimestamp(){let e=0;return this.player&&(e=this.player.getPlayingTimestamp()),e}getStatus(){let e=Cs;return this.player&&(e=this.player.loading?ws:this.player.playing?ks:Ls),e}getPlayType(){return this.player?this.player._opt.playType:v}togglePerformancePanel(e){if(this.isDestroyed())return;this.debugLog("JbPro",`togglePerformancePanel() ${e}`);const t=this.player._opt.showPerformance;let i=!t;Va(e)&&(i=e),i!==t?this.player?this.player.togglePerformancePanel(i):this.debugWarn("JbPro","togglePerformancePanel() failed, this.player is not init"):this.debugWarn("JbPro",`togglePerformancePanel() failed, showPerformance is prev: ${t} === now: ${i}`)}openZoom(){if(!this.isDestroyed())if(this.debugLog("JbPro","openZoom()"),this.player){if(this.player.isDestroyedOrClosed())return void this.debugWarn("JbPro","openZoom() failed, this.player is destroyed or paused");this.player.zooming=!0}else this.debugWarn("JbPro","openZoom() failed, this.player is not init")}closeZoom(){if(!this.isDestroyed())if(this.debugLog("JbPro","closeZoom()"),this.player){if(this.player.isDestroyedOrClosed())return void this.debugWarn("JbPro","openZoom() failed, this.player is destroyed or paused");this.player.zooming=!1}else this.debugWarn("JbPro","closeZoom() failed, this.player is not init")}isZoomOpen(){let e=!1;return this.player&&(e=this.player.zooming),e}toggleZoom(e){this.isDestroyed()||(this.debugLog("JbPro",`toggleZoom() ${e}`),Va(e)||(e=!this.isZoomOpen()),ko(e)?this.openZoom():Lo(!1)&&this.closeZoom())}expandZoom(){this.isDestroyed()||(this.debugLog("JbPro","expandZoom()"),this.player&&this.player.zoom&&this.player.zooming?this.player.zoom.expandPrecision():this.debugWarn("JbPro","expandZoom() failed, zoom is not open or not init"))}narrowZoom(){this.isDestroyed()||(this.debugLog("JbPro","narrowZoom()"),this.player&&this.player.zoom&&this.player.zooming?this.player.zoom.narrowPrecision():this.debugWarn("JbPro","narrowZoom failed, zoom is not open or not init"))}updateCurrentZoom(e){this.isDestroyed()||(this.debugLog("JbPro","updateCurrentZoom()",e),this.player&&this.player.zoom&&this.player.zooming?this.player.zoom.updateCurrentZoom(e):this.debugWarn("JbPro","narrowZoom failed, zoom is not open or not init"))}getCurrentZoomIndex(){if(this.isDestroyed())return;let e=1;return this.player&&this.player.zoom&&(e=this.player.zoom.currentZoom),e}setNakedFlowFps(e){return new Promise(((t,i)=>{if(this.isDestroyed())return i("player is destroyed");if(this.debugLog("JbPro","setNakedFlowFps()",e),Ga(e))return i("setNakedFlowFps() fps is empty");let s=Number(e);s=ga(s,1,100),this._opt.nakedFlowFps=s,this.player?this.player.updateOption({nakedFlowFps:s}):this.debugWarn("JbPro","setNakedFlowFps() player is null"),t()}))}getCrashLog(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!this.player)return;const i=this.player.getAllStatsData(),s=this.player;let r={url:this._opt.url,playType:s.isPlayback()?"playback":"live",demuxType:s.getDemuxType(),decoderType:s.getDecodeType(),renderType:s.getRenderType(),videoInfo:{encType:"",width:"",height:""},audioInfo:{encType:"",sampleRate:"",channels:""},audioEngine:s.getAudioEngineType(),allTimes:i.pTs,timestamp:fa(),type:e,error:yo(t)||e};if(s.video){const e=s.video.videoInfo||{};r.videoInfo={encType:e.encType||"",width:e.width||"",height:e.height||""}}if(s.audio){const e=s.audio.audioInfo||{};r.audioInfo={encType:e.encType||"",sampleRate:e.sampleRate||"",channels:e.channels||""}}return r}updateDebugLevel(e){this.isDestroyed()||(this.debugLog("JbPro","updateDebugLevel()",e),e===K||e===Y?e!==this.player._opt.debugLevel?(this._opt.debugLevel=e,this.player?this.player.updateOption({debugLevel:e},!0):this.debugWarn("JbPro","updateDebugLevel() player is null")):this.debugWarn("JbPro",`updateDebugLevel() level is same, level: ${e}`):this.debugWarn("JbPro",`updateDebugLevel() level is not valid, level: ${e}`))}updateWatermark(e){this.isDestroyed()||(this.debugLog("JbPro","updateWatermark()",e),this.player?this.player.updateWatermark(e):this.debugWarn("JbPro","updateWatermark() player is not init"))}removeWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeWatermark()"),this.player?this.player.removeWatermark():this.debugWarn("JbPro","removeWatermark() player is not init"))}updateFullscreenWatermark(e){if(!this.isDestroyed())if(this.debugLog("JbPro","updateFullscreenWatermark()",e),io(e)){this._opt.fullscreenWatermarkConfig=e;const t=$a(this.$container,e);if(!t.watermark_txt)return void this.debugWarn("JbPro","fullscreenWatermarkConfig text is empty");this.watermark.load(t)}else this.debugWarn("JbPro",`updateFullscreenWatermark() config is not valid, config: ${e}`)}removeFullscreenWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeFullscreenWatermark()"),this.watermark?this.watermark.remove():this.debugWarn("JbPro","removeFullscreenWatermark() watermark is not init"))}faceDetectOpen(){this.isDestroyed()||(this.debugLog("JbPro","faceDetectOpen()"),this.player?this.player.faceDetect(!0):this.debugWarn("JbPro","faceDetectOpen() player is not init"))}faceDetectClose(){this.isDestroyed()||(this.debugLog("JbPro","faceDetectClose()"),this.player?this.player.faceDetect(!1):this.debugWarn("JbPro","faceDetectClose() player is not init"))}objectDetectOpen(){this.isDestroyed()||(this.debugLog("JbPro","objectDetectOpen()"),this.player?this.player.objectDetect(!0):this.debugWarn("JbPro","objectDetectOpen() player is not init"))}objectDetectClose(){this.isDestroyed()||(this.debugLog("JbPro","objectDetectClose()"),this.player?this.player.objectDetect(!1):this.debugWarn("JbPro","objectDetectClose() player is not init"))}sendWebsocketMessage(e){this.isDestroyed()||(this.debugLog("JbPro","sendWebsocketMessage()",e),this.player?this.player.sendWebsocketMessage(e):this.debugWarn("JbPro","sendWebsocketMessage() player is not init"))}addContentToCanvas(e){this.isDestroyed()||(this.debugLog("JbPro","addContentToCanvas()"),this.player?this.player.addContentToCanvas(e):this.debugWarn("JbPro","addContentToCanvas() player is not init"))}clearContentToCanvas(){this.isDestroyed()||(this.debugLog("JbPro","clearContentToCanvas()"),this.player?this.player.addContentToCanvas([]):this.debugWarn("JbPro","clearContentToCanvas() player is not init"))}addContentToContainer(e){this.isDestroyed()||(this.debugLog("JbPro","addContentToContainer()"),this.player?this.player.addContentToContainer(e):this.debugWarn("JbPro","addContentToContainer() player is not init"))}clearContentToContainer(){this.isDestroyed()||(this.debugLog("JbPro","clearContentToContainer()"),this.player?this.player.addContentToContainer([]):this.debugWarn("JbPro","clearContentToContainer() player is not init"))}setControlHtml(e){this.isDestroyed()||(this.debugLog("JbPro","setControlHtml()",e),this.player?this.player.setControlHtml(e):this.debugWarn("JbPro","setControlHtml() player is not init"))}clearControlHtml(){this.isDestroyed()||(this.debugLog("JbPro","clearControlHtml()"),this.player?this.player.clearControlHtml():this.debugWarn("JbPro","clearControlHtml() player is not init"))}toggleControlHtml(e){this.isDestroyed()||(this.debugLog("JbPro",`toggleControlHtml() ${e}`),this.player?this.player.toggleControlHtml(e):this.debugWarn("JbPro","toggleControlHtml() player is not init"))}getControlHtmlIsShow(){return!!this.player&&this.player.getControlHtmlIsShow()}getControlHtml(){return this.player?this.player.getControlHtml():null}setExtendHtml(e){this.isDestroyed()||(this.debugLog("JbPro","setExtendHtml()",e),this.player?this.player.setExtendHtml(e):this.debugWarn("JbPro","setExtendHtml() player is not init"))}clearExtendHtml(){this.isDestroyed()||(this.debugLog("JbPro","clearExtendHtml()"),this.player?this.player.clearExtendHtml():this.debugWarn("JbPro","clearExtendHtml() player is not init"))}toggleExtendHtml(e){this.isDestroyed()||(this.debugLog("JbPro",`toggleExtendHtml() ${e}`),this.player?this.player.toggleExtendHtml(e):this.debugWarn("JbPro","toggleExtendHtml() player is not init"))}getExtendHtmlIsShow(){return!!this.player&&this.player.getExtendHtmlIsShow()}getExtendHtml(){return this.player?this.player.getExtendHtml():null}getVideoInfo(){let e=null;return this.player&&(e=this.player.getVideoInfo()),e}getAudioInfo(){let e=null;return this.player&&(e=this.player.getAudioInfo()),e}setSm4CryptoKey(e){if(this.isDestroyed())return;this.debugLog("JbPro","setSm4CryptoKey()",e);const t=(e=""+e).split(".");if(32!==e.length&&2!==t.length)return void this.debugWarn("JbPro",`setSm4CryptoKey() key is invalid and length is ${e.length} !== 32`);if(2===t.length&&(32!==t[0].length||32!==t[1].length))return void this.debugWarn("JbPro",`setSm4CryptoKey() key is invalid and key length is ${t[0].length} !== 32 or iv length ${t[1].length} !== 32`);this._opt.sm4CryptoKey=e;let i=2===t.length;if(i&&(this._opt.playOptions.cryptoKey=vl(t[0]),this._opt.playOptions.cryptoIV=vl(t[1])),this.player){const t={sm4CryptoKey:e};i&&(t.cryptoKey=this._opt.playOptions.cryptoKey,t.cryptoIV=this._opt.playOptions.cryptoIV),this.player.updateOption(t,!0)}else this.debugWarn("JbPro","setSm4CryptoKey() player is null")}setM7sCryptoKey(e){this.isDestroyed()||(this.debugLog("JbPro","setM7sCryptoKey()",e),e=""+e,this._opt.m7sCryptoKey=e,this.player?this.player.updateOption({m7sCryptoKey:e},!0):this.debugWarn("JbPro","setM7sCryptoKey() player is null"))}setXorCryptoKey(e){this.isDestroyed()||(this.debugLog("JbPro","setXorCryptoKey()",e),e=""+e,this._opt.xorCryptoKey=e,this.player?this.player.updateOption({xorCryptoKey:e},!0):this.debugWarn("JbPro","setXorCryptoKey() player is null"))}updateLoadingText(e){this.isDestroyed()||(this.debugLog("JbPro","updateLoadingText()",e),this.player?this.player.updateLoadingText(e):this.debugWarn("JbPro","updateLoadingText() player is null"))}updateIsEmitSEI(e){this.isDestroyed()||(this.debugLog("JbPro","updateIsEmitSEI()",e),this._opt.isEmitSEI=e,this.player?this.player.updateOption({isEmitSEI:e},!0):this.debugWarn("JbPro","updateIsEmitSEI() player is null"))}getPTZCmd(e,t){return this.debugLog("JbPro","getPTZCmd()",e),e?this.player?T_({type:e,index:0,speed:t}):(this.debugWarn("JbPro","getPTZCmd() player is null"),null):(this.debugWarn("JbPro","getPTZCmd() ptz is null"),null)}downloadTempNakedFlowFile(){return new Promise(((e,t)=>{this.player?(this.player.downloadNakedFlowFile(),e()):t("player is not init")}))}downloadTempFmp4File(){return new Promise(((e,t)=>{if(this.isDestroyed())return t("player is destroyed");this.player?(this.player.downloadFmp4File(),e()):t("player is not init")}))}downloadTempMpeg4File(){return new Promise(((e,t)=>{if(this.isDestroyed())return t("player is destroyed");this.player?(this.player.downloadMpeg4File(),e()):t("player is not init")}))}downloadMemoryLog(){this.isDestroyed()||this.memoryLogger&&this.memoryLogger.download()}_getVideoLastIframeInfo(){const e=this.getVideoInfo()||{},t={loadingBackground:this.screenshot("","png",.92,"base64"),loadingBackgroundWidth:e.width||0,loadingBackgroundHeight:e.height||0};return t.loadingBackground&&t.loadingBackgroundWidth&&t.loadingBackgroundHeight&&(this._tempVideoLastIframeInfo=t),this._tempVideoLastIframeInfo||{}}getExtendBtnList(){this.debugLog("JbPro","getExtendBtnList()");let e=[];return this.player?e=this.player.getExtendBtnList():this.debugWarn("JbPro","getExtendBtnList() player is null"),e}getFlvMetaData(){this.debugLog("JbPro","getFlvMetaData()");let e=null;return this.player?e=this.player.getMetaData():this.debugWarn("JbPro","getFlvMetaData() player is null"),e}updateAiFaceDetectInterval(e){if(this.isDestroyed())return;this.debugLog("JbPro","updateAiFaceDetectInterval()",e);const t=1e3*(e=Number(e));this._opt.aiFaceDetectInterval=t,this.player?this.player.updateOption({aiFaceDetectInterval:t}):this.debugWarn("JbPro","updateAiFaceDetectInterval() player is null")}updateAiFaceDetectLevel(e){if(this.isDestroyed())return;if(this.debugLog("JbPro","updateAiFaceDetectLevel()",e),!ir[e])return void this.debugWarn("JbPro",`'updateAiFaceDetectLevel() level ${e} is invalid'`);const t=ir[e];this._opt.aiFaceDetectWidth=t,this.player?(this.player.updateOption({aiFaceDetectWidth:t}),this.player.ai&&this.player.ai.updateFaceDetectorConfig({detectWidth:t})):this.debugWarn("JbPro","updateAiFaceDetectLevel() player is null")}updateAiObjectDetectInterval(e){if(this.isDestroyed())return;this.debugLog("JbPro","updateAiObjectDetectInterval()",e);const t=1e3*(e=Number(e));this._opt.aiObjectDetectInterval=t,this.player?this.player.updateOption({aiObjectDetectInterval:t}):this.debugWarn("JbPro","updateAiObjectDetectInterval() player is null")}updateAiObjectDetectLevel(e){if(this.isDestroyed())return;if(this.debugLog("JbPro","updateAiObjectDetectLevel()",e),!sr[e])return void this.debugWarn("JbPro",`'updateAiObjectDetectLevel() level ${e} is invalid'`);const t=sr[e];this._opt.aiObjectDetectWidth=t,this.player?(this.player.updateOption({aiObjectDetectWidth:t}),this.player.ai&&this.player.ai.updateObjectDetectorConfig({detectWidth:t})):this.debugWarn("JbPro","updateAiObjectDetectLevel() player is null")}setCryptoKeyUrl(e){this.isDestroyed()||(this.debugLog("JbPro","setCryptoKeyUrl()",e),e&&(this._opt.cryptoKeyUrl=e))}showErrorMessageTips(e){this.isDestroyed()||(this.debugLog("JbPro","showErrorMessageTips()",e),e&&(this.player?this.player.showTipsMessageByContent(e):this.debugWarn("JbPro","showErrorMessageTips() player is null")))}setPtzPosition(e){this.debugLog("JbPro","setPtzPosition()",e),e&&!to(e)&&(this.player?this.player.setPtzPosition(e):this.debugWarn("JbPro","setPtzPosition() player is null"))}hideErrorMessageTips(){this.isDestroyed()||(this.debugLog("JbPro","hideErrorMessageTips()"),this.player?this.player.hideTipsMessage():this.debugWarn("JbPro","hideErrorMessageTips() player is null"))}getContainerRect(){return this._getContainerRect()}proxy(e,t,i,s){return this.events.proxy(e,t,i,s)}getUrl(){return this._opt.url}toggleControlExtendBtn(e,t){this.isDestroyed()||(this.debugLog(this.TAG_NAME,`toggleControlExtendBtn() ${e} ${t}`),this.player?this.player.toggleControlExtendBtn(e,t):this.debugWarn(this.TAG_NAME,"toggleControlExtendBtn() player is null"))}getControlExtendBtnActive(e){if(this.isDestroyed())return;this.debugLog(this.TAG_NAME,`getControlExtendBtnActive() ${e}`);let t=!1;return this.player?t=this.player.getControlExtendBtnActive(e):this.debugWarn(this.TAG_NAME,"getControlExtendBtnActive() player is null"),t}toggleControlBar(e){this.isDestroyed()||(this.debugLog(this.TAG_NAME,`toggleControlBar() ${e}`),this.player?this.player.toggleControlBar(e):this.debugWarn(this.TAG_NAME,"toggleControlBar() player is null"))}getControlBarShow(){if(this.isDestroyed())return!1;this.debugLog(this.TAG_NAME,"getControlBarShow()");let e=!1;return this.player?e=this.player.getControlBarShow():this.debugWarn(this.TAG_NAME,"getControlBarShow() player is null"),e}static getCopyrightWatermarkHash(e){return Ja(e)}static extractScreenshotCopyrightWatermark(e){return function(e){for(var t=e,i=0,s=0,r=0;r<32;r++)s|=(1&t[i])<=5){const s=i[0],r=i[i.length-1],a=r-s;a<=1e4&&(this.debugWarn(this.TAG_NAME,`retry type is ${e}, and retry length is ${i.length}, and start is ${s} and end is ${r} and diff is ${a}`),t=!1)}return t}_initLoadingBackgroundForIOS(e){(La()||Ca())&&e.loadingBackground&&e.loadingBackgroundWidth&&e.loadingBackgroundHeight&&(this._initLoadingBg(),"default"===this.player._opt.aspectRatio||Sa()?this.player.getRenderType()===J?this._doInitLoadingBackgroundForCanvas(e):this.player.getRenderType()===q&&this._doInitLoadingBackgroundForVideo(e):this._doInitLoadingBackgroundForRatio(e))}_doInitLoadingBackgroundForVideo(e){this.debugLog(this.TAG_NAME,"_doInitLoadingBackgroundForVideo");const t=this._getContainerRect();let i=t.width,s=t.height;const r=this.player._opt;s-=this.player.getControlHeight();let a=i,o=s;const n=r.rotate;270!==n&&90!==n||(a=s,o=i),this.$loadingBgImage.width=a,this.$loadingBgImage.height=o,this.$loadingBgImage.src=e.loadingBackground;let l=(i-a)/2,d=(s-o)/2,h="contain";r.isResize||(h="fill"),r.isFullResize&&(h="none");let c="";"none"===r.mirrorRotate&&n&&(c+=" rotate("+n+"deg)"),"level"===r.mirrorRotate?c+=" rotateY(180deg)":"vertical"===r.mirrorRotate&&(c+=" rotateX(180deg)"),this._opt.videoRenderSupportScale&&(this.$loadingBgImage.style.objectFit=h),this.$loadingBgImage.style.transform=c,this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.left=l+"px",this.$loadingBgImage.style.top=d+"px",this.$loadingBgImage.complete?gc(this.$loadingBg,"show"):this.$loadingBgImage.onload=()=>{gc(this.$loadingBg,"show"),this.$loadingBgImage.onload=null}}_doInitLoadingBackgroundForCanvas(e){this.debugLog(this.TAG_NAME,"_doInitLoadingBackgroundForCanvas");const t=this._getContainerRect();let i=t.width,s=t.height;const r=this.player._opt;s-=this.player.getControlHeight();let a=i,o=s;const n=r.rotate;let l=(i-a)/2,d=(s-o)/2;270!==n&&90!==n||(a=s,o=i),this.$loadingBgImage.width=a,this.$loadingBgImage.height=o,this.$loadingBgImage.src=e.loadingBackground;const h=i/a,c=s/o;let u=h>c?c:h;Lo(r.isResize)&&h!==c&&(u=h+","+c),r.isFullResize&&(u=h>c?h:c);let p="scale("+u+")";"none"===r.mirrorRotate&&n&&(p+=" rotate("+n+"deg)"),"level"===r.mirrorRotate?p+=" rotateY(180deg)":"vertical"===r.mirrorRotate&&(p+=" rotateX(180deg)"),this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.transform=p,this.$loadingBgImage.style.left=l+"px",this.$loadingBgImage.style.top=d+"px",this.$loadingBgImage.complete?gc(this.$loadingBg,"show"):this.$loadingBgImage.onload=()=>{gc(this.$loadingBg,"show"),this.$loadingBgImage.onload=null}}_doInitLoadingBackgroundForRatio(e){this.debugLog(this.TAG_NAME,"_doInitLoadingBackgroundForRatio");const t=this.player._opt.aspectRatio.split(":").map(Number),i=this._getContainerRect();let s=i.width,r=i.height,a=this.player.getControlHeight();r-=a;const o=e.loadingBackgroundWidth,n=e.loadingBackgroundHeight,l=o/n,d=t[0]/t[1];if(this.$loadingBgImage.src=e.loadingBackground,l>d){const e=d*n/o;this.$loadingBgImage.style.width=100*e+"%",this.$loadingBgImage.style.height=`calc(100% - ${a}px)`,this.$loadingBgImage.style.padding=`0 ${(s-s*e)/2}px`}else{const e=o/d/n;this.$loadingBgImage.style.width="100%",this.$loadingBgImage.style.height=`calc(${100*e}% - ${a}px)`,this.$loadingBgImage.style.padding=(r-r*e)/2+"px 0"}this.$loadingBgImage.complete?gc(this.$loadingBg,"show"):this.$loadingBgImage.onload=()=>{gc(this.$loadingBg,"show"),this.$loadingBgImage.onload=null}}_initLoadingBg(){if(!this.$loadingBg){const e=document.createElement("div"),t=document.createElement("img");e.className="jb-pro-loading-bg-for-ios",this.$loadingBg=e,this.$loadingBgImage=t,e.appendChild(t),this.$container.appendChild(e)}}_removeLoadingBackgroundForIOS(){if(this.$loadingBg){this.debugLog(this.TAG_NAME,"_removeLoadingBackgroundForIOS()");if(!Sc(this.$loadingBg)){const e=this.$container.querySelector(".jb-pro-loading-bg-for-ios");e&&this.$container&&this.$container.removeChild(e)}this.$loadingBg=null,this.$loadingBgImage=null}}_getContainerRect(){let e={};return this.$container&&(e=this.$container.getBoundingClientRect(),e.width=Math.max(e.width,this.$container.clientWidth),e.height=Math.max(e.height,this.$container.clientHeight)),e}_isNeedNetworkDisconnectReplay(){return this._opt.networkDisconnectReplay&&this.network.isOffline()}_handleWebglAlignmentError(e){if(this.isDestroyed())this.debugLog("JbPro","webglAlignmentError but player is destroyed");else if(this.webglAlignmentErrorOnLock)this.debugLog("JbPro","webglAlignmentErrorOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.webglAlignmentError,e)),this.webglAlignmentErrorOnLock=!0,this.player&&this.player._opt.webglAlignmentErrorReplay){this.debugLog("JbPro","webglAlignmentError");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({openWebglAlignment:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webglAlignmentError and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webglAlignmentError,{},e),this.debugError("JbPro","webglAlignmentError and play error",t)})).finally((()=>{this.webglAlignmentErrorOnLock=!1}))})).catch((e=>{this.webglAlignmentErrorOnLock=!1,this.debugError("JbPro","webglAlignmentError and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.webglAlignmentError,{},e),this.debugLog("JbPro","webglAlignmentError and webglAlignmentErrorReplay is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webglAlignmentError,{},e),this.debugError("JbPro","webglAlignmentError and pause error",t)})).finally((()=>{this.webglAlignmentErrorOnLock=!1}))}}_handleWebglContextLostError(e){if(this.isDestroyed())return void this.debugLog("JbPro","webglContextLostError but player is destroyed");if(this.webglContextLostErrorOnLock)return void this.debugLog("JbPro","webglContextLostErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.webglContextLostError,e));const t=this._getVideoLastIframeInfo();if(this.webglContextLostErrorOnLock=!0,this.player&&this.player._opt.webglContextLostErrorReplay){this.debugLog("JbPro","webglContextLostError");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","webglContextLostError and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.webglContextLostError,t,e),this.debugError("JbPro","webglContextLostError and play error",i)})).finally((()=>{this.webglContextLostErrorOnLock=!1}))})).catch((i=>{this.webglContextLostErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.webglContextLostError,t,e),this.debugError("JbPro","webglContextLostError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.webglContextLostError,t,e),this.debugLog("JbPro","webglContextLostError and webglContextLostErrorReplay is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.webglContextLostError,t,e),this.debugError("JbPro","webglAlignmentError and pause error",i)})).finally((()=>{this.webglContextLostErrorOnLock=!1}))}}_handleMediaSourceH265NotSupport(e){if(this.isDestroyed())this.debugLog("JbPro","mediaSourceH265NotSupport but player is destroyed");else if(this.mediaSourceH265NotSupportOnLock)this.debugLog("JbPro","mediaSourceH265NotSupportOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceH265NotSupport,e)),this.mediaSourceH265NotSupportOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceH265NotSupport,e),this.debugError("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play error",t)})).finally((()=>{this.mediaSourceH265NotSupportOnLock=!1}))})).catch((t=>{this.mediaSourceH265NotSupportOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceH265NotSupport,{},e),this.debugError("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceH265NotSupport,{},e),this.debugLog("JbPro","mediaSourceH265NotSupport and autoWasm is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceH265NotSupport,{},e),this.debugError("JbPro","mediaSourceH265NotSupport and pause error",t)})).finally((()=>{this.mediaSourceH265NotSupportOnLock=!1}))}}_handleMseWaitVideoCanplayTimeout(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","mseWaitVideoCanplayTimeout but player is destroyed");else if(this.mseWaitVideoCanplayTimeoutOnLock)this.debugLog("JbPro","mseWaitVideoCanplayTimeoutOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.mseWaitVideoCanplayTimeout,e)),this.mseWaitVideoCanplayTimeoutOnLock=!0,this.player&&this.player._opt.mseWaitVideoCanplayAutoWasm){this.debugLog("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mseWaitVideoCanplayTimeout,e),this.debugError("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play error",t)})).finally((()=>{this.mseWaitVideoCanplayTimeoutOnLock=!1}))})).catch((t=>{this.mseWaitVideoCanplayTimeoutOnLock=!1,this.emit(At.playFailedAndPaused,_t.mseWaitVideoCanplayTimeout,{},e),this.debugError("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.mseWaitVideoCanplayTimeout,{},e),this.debugLog("JbPro","mseWaitVideoCanplayTimeout and autoWasm is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceH265NotSupport,{},e),this.debugError("JbPro","mediaSourceH265NotSupport and pause error",t)})).finally((()=>{this.mseWaitVideoCanplayTimeoutOnLock=!1}))}}_handleMediaSourceFull(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceFull but player is destroyed"));if(this.mediaSourceFullOnLock)return void this.debugLog("JbPro","mediaSourceFullOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceFull,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceFullOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Lr)?this._mseDecodeErrorRetryLog.push(fa()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`mediaSourceFull and auto wasm ${Lo(o)?" and is not meaningful Retry":""} [mse-> ${a?"wasm":"mse"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceFull and reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceFull,t,e),this.debugError("JbPro","mediaSourceFull and reset player and play error",i)})).finally((()=>{this.mediaSourceFullOnLock=!1}))})).catch((i=>{this.mediaSourceFullOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceFull,t,e),this.debugError("JbPro","mediaSourceFull and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceFull,t,e),this.debugLog("JbPro","mediaSourceFull and autoWasm is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceFull,t,e),this.debugError("JbPro","mediaSourceFull and pause error",i)})).finally((()=>{this.mediaSourceFullOnLock=!1}))}}_handleMediaSourceAppendBufferError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAppendBufferError but player is destroyed"));if(this.mediaSourceAppendBufferErrorOnLock)return void this.debugLog("JbPro","mediaSourceAppendBufferErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceAppendBufferError,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceAppendBufferErrorOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Lr)?this._mseDecodeErrorRetryLog.push(fa()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.player.isMSEAudioDecoderError&&(this.player.debugLog("JbPro","mediaSourceAppendBufferError and isMSEAudioDecoderError is true so set mseDecodeAudio = false"),r.mseDecodeAudio=!1),this.debugLog("JbPro",`mediaSourceAppendBufferError and auto wasm ${Lo(o)?" and is not meaningful Retry":""} [mse-> ${a?"wasm":"mse"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceAppendBufferError and reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAppendBufferError,t,e),this.debugError("JbPro","mediaSourceAppendBufferError and reset player and play error",i)})).finally((()=>{this.mediaSourceAppendBufferErrorOnLock=!1}))})).catch((i=>{this.mediaSourceAppendBufferErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceAppendBufferError,t,e),this.debugError("JbPro","mediaSourceAppendBufferError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAppendBufferError,t,e),this.debugLog("JbPro","mediaSourceAppendBufferError and autoWasm is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAppendBufferError,t,e),this.debugError("JbPro","mediaSourceAppendBufferError and pause error",i)})).finally((()=>{this.mediaSourceAppendBufferErrorOnLock=!1}))}}_handleMseSourceBufferError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseSourceBufferError but player is destroyed"));if(this.mseSourceBufferErrorOnLock)return void this.debugLog("JbPro","mseSourceBufferErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mseSourceBufferError,e));const t=this._getVideoLastIframeInfo();if(this.mseSourceBufferErrorOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={};if(this.player._opt.mseDecoderUseWorker)r={mseDecoderUseWorker:!1},this.debugLog("JbPro","mseSourceBufferError auto wasm [mse worker -> mse] reset player and play");else{let e=this.player._opt.decoderErrorAutoWasm,t=!0;e?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Lr)?this._mseDecodeErrorRetryLog.push(fa()):(e=!0,t=!1,r={useMSE:!1,useWCS:!1}),this.player.isMSEVideoDecoderInitializationFailedNotSupportHevc&&(this.debugLog("JbPro","mseSourceBufferError and isMSEVideoDecoderInitializationFailedNotSupportHevc is true so auto wasm"),r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`mseSourceBufferError auto wasm ${Lo(t)?" and is not meaningful Retry":""} [mse-> ${e?"wasm":"mse"}] reset player and play`)}this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mseSourceBufferError reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mseSourceBufferError,t,e),this.debugError("JbPro","mseSourceBufferError reset player and play error",i)})).finally((()=>{this.mseSourceBufferErrorOnLock=!1}))})).catch((i=>{this.mseSourceBufferErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.mseSourceBufferError,t,e),this.debugError("JbPro","mseSourceBufferError _resetPlayer and play error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.mseSourceBufferError,t,e),this.debugLog("JbPro","mseSourceBufferError and autoWasm is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mseSourceBufferError,t,e),this.debugError("JbPro","mseSourceBufferError and pause error:",i)})).finally((()=>{this.mseSourceBufferErrorOnLock=!1}))}}_handleMediaSourceBufferedIsZeroError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceBufferedIsZeroError but player is destroyed"));if(this.mediaSourceBufferedIsZeroErrorOnLock)return void this.debugLog("JbPro","mediaSourceBufferedIsZeroErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceBufferedIsZeroError,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceBufferedIsZeroErrorOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Lr)?this._mseDecodeErrorRetryLog.push(fa()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`mediaSourceBufferedIsZeroError auto wasm ${Lo(o)?" and is not meaningful Retry":""} [mse-> ${a?"wasm":"mse"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceBufferedIsZeroError reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceBufferedIsZeroError,t,e),this.debugError("JbPro","mediaSourceBufferedIsZeroError reset player and play error",i)})).finally((()=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1}))})).catch((i=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceBufferedIsZeroError,t,e),this.debugError("JbPro","mediaSourceBufferedIsZeroError _resetPlayer and play error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceBufferedIsZeroError,t,e),this.debugLog("JbPro","mediaSourceBufferedIsZeroError and autoWasm is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceBufferedIsZeroError,t,e),this.debugError("JbPro","mediaSourceBufferedIsZeroError and pause error:",i)})).finally((()=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1}))}}_handleMseAddSourceBufferError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseAddSourceBufferError but player is destroyed"));if(this.mseAddSourceBufferErrorOnLock)return void this.debugLog("JbPro","mseAddSourceBufferErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mseAddSourceBufferError,e));const t=this._getVideoLastIframeInfo();if(this.mseAddSourceBufferErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={useMSE:!1,useWCS:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mseAddSourceBufferError,t,e),this.debugError("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play error",i)})).finally((()=>{this.mseAddSourceBufferErrorOnLock=!1}))})).catch((i=>{this.mseAddSourceBufferErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.mseAddSourceBufferError,t,e),this.debugError("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] _resetPlayer and play error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.mseAddSourceBufferError,t,e),this.debugLog("JbPro","mseAddSourceBufferError and autoWasm is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mseAddSourceBufferError,t,e),this.debugError("JbPro","mseAddSourceBufferError and pause error",i)})).finally((()=>{this.mseAddSourceBufferErrorOnLock=!1}))}}_handleMediaSourceDecoderConfigurationError(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","mediaSourceDecoderConfigurationError but player is destroyed");else if(this.mediaSourceDecoderConfigurationErrorOnLock)this.debugLog("JbPro","mediaSourceDecoderConfigurationErrorOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceDecoderConfigurationError,e)),this.mediaSourceDecoderConfigurationErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;let s={useMSE:!1,useWCS:!1};this._resetPlayer(s).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceDecoderConfigurationError,e),this.debugError("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play error",t)})).finally((()=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1}))})).catch((t=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceDecoderConfigurationError,e),this.debugError("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceDecoderConfigurationError,e),this.debugLog("JbPro","mediaSourceDecoderConfigurationError and autoWasm is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceDecoderConfigurationError,e),this.debugError("JbPro","mediaSourceDecoderConfigurationError and pause error",t)})).finally((()=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1}))}}_handleMediaSourceTsIsMaxDiff(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceTsIsMaxDiff but player is destroyed"));if(this.mediaSourceTsIsMaxDiffOnLock)return void this.debugLog("JbPro","mediaSourceTsIsMaxDiffOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceTsIsMaxDiff,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceTsIsMaxDiffOnLock=!0,this.player&&this.player._opt.mediaSourceTsIsMaxDiffReplay){this.debugLog("JbPro","mediaSourceTsIsMaxDiff reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceTsIsMaxDiff replay success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceTsIsMaxDiff,t,e),this.debugError("JbPro","mediaSourceTsIsMaxDiff replay error",i)})).finally((()=>{this.mediaSourceTsIsMaxDiffOnLock=!1}))})).catch((i=>{this.mediaSourceTsIsMaxDiffOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceTsIsMaxDiff,t,e),this.debugError("JbPro","mediaSourceTsIsMaxDiff _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceTsIsMaxDiff,t,e),this.debugLog("JbPro","mediaSourceTsIsMaxDiff and replay is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.mediaSourceTsIsMaxDiff,t,e),this.debugError("JbPro","mediaSourceTsIsMaxDiff and pause error",i)})).finally((()=>{this.mediaSourceTsIsMaxDiffOnLock=!1}))}}_handleMseWidthOrHeightChange(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseWidthOrHeightChange but player is destroyed"));if(this.mseWidthOrHeightChangeOnLock)return void this.debugLog("JbPro","mseWidthOrHeightChangeOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.mseWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this.mseWidthOrHeightChangeOnLock=!0,this.player&&this.player._opt.widthOrHeightChangeReplay){this.debugLog("JbPro","mseWidthOrHeightChange and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.player._opt.widthOrHeightChangeReplayDelayTime>0?this.widthOrHeightChangeReplayDelayTimeout=setTimeout((()=>{this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this.debug&&this.debugLog("JbPro","mseWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this.play(e,s).then((()=>{this.debugLog("JbPro","mseWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))}),1e3*this.player._opt.widthOrHeightChangeReplayDelayTime):this.play(e,s).then((()=>{this.debugLog("JbPro","mseWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))})).catch((e=>{this.mseWidthOrHeightChangeOnLock=!1,this.emit(At.playFailedAndPaused,_t.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(At.playFailedAndPaused,_t.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange error and pause error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))}}_handleMediaSourceAudioG711NotSupport(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAudioG711NotSupport but player is destroyed"));if(this.mediaSourceAudioG711NotSupportOnLock)return void this.debugLog("JbPro","mediaSourceAudioG711NotSupportOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mediaSourceAudioG711NotSupportOnLock=!0,this.player&&this.player._opt.mediaSourceAudioG711NotSupportReplay){this.debugLog("JbPro","mediaSourceAudioG711NotSupport and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mediaSourceAudioG711NotSupport and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport and reset player and play error",e)})).finally((()=>{this.mediaSourceAudioG711NotSupportOnLock=!1}))})).catch((e=>{this.mediaSourceAudioG711NotSupportOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport error and pause error",e)})).finally((()=>{this.mediaSourceAudioG711NotSupportOnLock=!1}))}}_handleMediaSourceAudioInitTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAudioInitTimeout but player is destroyed"));if(this.mediaSourceAudioInitTimeoutOnLock)return void this.debugLog("JbPro","mediaSourceAudioInitTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mediaSourceAudioInitTimeoutOnLock=!0,this.player&&this.player._opt.mediaSourceAudioInitTimeoutReplay){this.debugLog("JbPro","mediaSourceAudioInitTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mediaSourceAudioInitTimeout and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioInitTimeout,i,t),this.debugError("JbPro","mediaSourceAudioInitTimeout and reset player and play error",e)})).finally((()=>{this.mediaSourceAudioInitTimeoutOnLock=!1}))})).catch((e=>{this.mediaSourceAudioInitTimeoutOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceAudioInitTimeout,i,t),this.debugError("JbPro","mediaSourceAudioInitTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioInitTimeout,i),this.debugError("JbPro","mediaSourceAudioInitTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioInitTimeout,i),this.debugError("JbPro","mediaSourceAudioInitTimeout error and pause error",e)})).finally((()=>{this.mediaSourceAudioInitTimeoutOnLock=!1}))}}_handleMediaSourceAudioNoDataTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAudioNoDataTimeout but player is destroyed"));if(this.mediaSourceAudioNoDataTimeoutOnLock)return void this.debugLog("JbPro","mediaSourceAudioNoDataTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mediaSourceAudioNoDataTimeoutOnLock=!0,this.player&&this.player._opt.mediaSourceAudioNoDataTimeoutReplay){this.debugLog("JbPro","mediaSourceAudioNoDataTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mediaSourceAudioNoDataTimeout and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioNoDataTimeout,i,t),this.debugError("JbPro","mediaSourceAudioNoDataTimeout and reset player and play error",e)})).finally((()=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1}))})).catch((e=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceAudioNoDataTimeout,i,t),this.debugError("JbPro","mediaSourceAudioNoDataTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioNoDataTimeout,i),this.debugError("JbPro","mediaSourceAudioNoDataTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mediaSourceAudioNoDataTimeout,i),this.debugError("JbPro","mediaSourceAudioNoDataTimeout error and pause error",e)})).finally((()=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1}))}}_handleMseWorkerAddSourceBufferError(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseWorkerAddSourceBufferError but player is destroyed"));if(this.mseWorkerAddSourceBufferErrorOnLock)return void this.debugLog("JbPro","mseWorkerAddSourceBufferErrorOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mseWorkerAddSourceBufferErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mseWorkerAddSourceBufferError and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecoderUseWorker:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mseWorkerAddSourceBufferError and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mseWorkerAddSourceBufferError,i,t),this.debugError("JbPro","mseWorkerAddSourceBufferError and reset player and play error",e)})).finally((()=>{this.mseWorkerAddSourceBufferErrorOnLock=!1}))})).catch((e=>{this.mseWorkerAddSourceBufferErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.mseWorkerAddSourceBufferError,i,t),this.debugError("JbPro","mseWorkerAddSourceBufferError and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.mseWorkerAddSourceBufferError,i),this.debugError("JbPro","mseWorkerAddSourceBufferError and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.mseWorkerAddSourceBufferError,i),this.debugError("JbPro","mseWorkerAddSourceBufferError error and pause error",e)})).finally((()=>{this.mseWorkerAddSourceBufferErrorOnLock=!1}))}}_handleMediaSourceUseCanvasRenderPlayFailed(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailed but player is destroyed");else if(this.mediaSourceUseCanvasRenderPlayFailedOnLock)this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailedOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.mediaSourceUseCanvasRenderPlayFailed,e)),this.mediaSourceUseCanvasRenderPlayFailedOnLock=!0,this.player&&this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplay&&this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplayType){this.debugLog("JbPro",`mediaSourceUseCanvasRenderPlayFailed relayType is ${this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplayType} and reset player and play`);const t=this._opt.url,i=this._opt.playOptions;let s={};const r=this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplayType;r===J?s={useMSE:!1,useWCS:!1}:r===q&&(s={useVideoRender:!0,useCanvasRender:!1}),this._resetPlayer(s).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailed and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceUseCanvasRenderPlayFailed,e),this.debugError("JbPro","mediaSourceUseCanvasRenderPlayFailed and reset player and play error",t)})).finally((()=>{this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1}))})).catch((t=>{this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1,this.emit(At.playFailedAndPaused,_t.mediaSourceUseCanvasRenderPlayFailed,e),this.debugError("JbPro","mediaSourceUseCanvasRenderPlayFailed auto and _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailed and pause player success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.mediaSourceUseCanvasRenderPlayFailed,e),this.debugError("JbPro","mediaSourceUseCanvasRenderPlayFailed and pause",t)})).finally((()=>{this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1}))}}_handleWebcodecsH265NotSupport(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","webcodecsH265NotSupport but player is destroyed");else if(this.webcodecsH265NotSupportOnLock)this.debugLog("JbPro","webcodecsH265NotSupportOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.webcodecsH265NotSupport,e)),this.webcodecsH265NotSupportOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsH265NotSupport,e),this.debugError("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play error",t)})).finally((()=>{this.webcodecsH265NotSupportOnLock=!1}))})).catch((e=>{this.webcodecsH265NotSupportOnLock=!1,this.debugError("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] _resetPlayer and play error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.webcodecsH265NotSupport,e),this.debugLog("JbPro","webcodecsH265NotSupport and autoWasm is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsH265NotSupport,e),this.debugError("JbPro","webcodecsH265NotSupport and pause error",t)})).finally((()=>{this.webcodecsH265NotSupportOnLock=!1}))}}_handleWebcodecsUnsupportedConfigurationError(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","webcodecsUnsupportedConfigurationError but player is destroyed");else if(this.webcodecsUnsupportedConfigurationErrorOnLock)this.debugLog("JbPro","webcodecsUnsupportedConfigurationErrorOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.webcodecsUnsupportedConfigurationError,e)),this.webcodecsUnsupportedConfigurationErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsUnsupportedConfigurationError,e),this.debugError("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play error",t)})).finally((()=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1}))})).catch((t=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.webcodecsUnsupportedConfigurationError,e),this.debugError("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.webcodecsUnsupportedConfigurationError,e),this.debugLog("JbPro","webcodecsUnsupportedConfigurationError and autoWasm is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsUnsupportedConfigurationError,e),this.debugError("JbPro","webcodecsUnsupportedConfigurationError and pause error",t)})).finally((()=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1}))}}_handleWebcodecsDecodeConfigureError(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","webcodecsDecodeConfigureError but player is destroyed");else if(this.webcodecsDecodeConfigureErrorOnLock)this.debugLog("JbPro","webcodecsDecodeConfigureErrorOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.webcodecsDecodeConfigureError,e)),this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsDecodeConfigureError,e),this.debugError("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play error",t)})).finally((()=>{this.webcodecsDecodeConfigureErrorOnLock=!1}))})).catch((t=>{this.webcodecsDecodeConfigureErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.webcodecsDecodeConfigureError,e),this.debugError("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.webcodecsDecodeConfigureError,e),this.debugLog("JbPro","webcodecsDecodeConfigureError and autoWasm is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsDecodeConfigureError,e),this.debugError("JbPro","webcodecsDecodeConfigureError and pause error",t)})).finally((()=>{this.webcodecsDecodeConfigureErrorOnLock=!1}))}}_handleWebcodecsDecodeError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webcodecsDecodeError but player is destroyed"));if(this.webcodecsDecodeErrorOnLock)return void this.debugLog("JbPro","webcodecsDecodeErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.webcodecsDecodeError,e));const t=this._getVideoLastIframeInfo();if(this.webcodecsDecodeErrorOnLock=!0,this.player&&this.player._opt.wcsDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Cr)?this._wcsDecodeErrorRetryLog.push(fa()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`webcodecs decode error autoWasm ${Lo(o)?" and is not meaningful Retry":""} [wcs-> ${a?"wasm":"wcs"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","webcodecs decode error reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.webcodecsDecodeError,t,e),this.debugError("JbPro","webcodecs decode error reset player and play error",i)})).finally((()=>{this.webcodecsDecodeErrorOnLock=!1}))})).catch((()=>{this.webcodecsDecodeErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.webcodecsDecodeError,t,e),this.debugError("JbPro","webcodecs decode error _resetPlayer error")}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.webcodecsDecodeError,t,e),this.debugLog("JbPro","webcodecs decode error and autoWasm is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.webcodecsDecodeError,t,e),this.debugError("JbPro","webcodecs decode error and pause error",i)})).finally((()=>{this.webcodecsDecodeErrorOnLock=!1}))}}_handleWcsWidthOrHeightChange(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","wcsWidthOrHeightChange but player is destroyed"));if(this.wcsWidthOrHeightChangeOnLock)return void this.debugLog("JbPro","wcsWidthOrHeightChangeOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.wcsWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this.wcsWidthOrHeightChangeOnLock=!0,this.player&&this.player._opt.widthOrHeightChangeReplay){this.debugLog("JbPro","wcsWidthOrHeightChange and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._opt.widthOrHeightChangeReplayDelayTime>0?this.widthOrHeightChangeReplayDelayTimeout=setTimeout((()=>{this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this.debug&&this.debugLog("JbPro","wcsWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this.play(e,s).then((()=>{this.debugLog("JbPro","wcsWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}),1e3*this._opt.widthOrHeightChangeReplayDelayTime):this.play(e,s).then((()=>{this.debugLog("JbPro","wcsWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))})).catch((e=>{this.wcsWidthOrHeightChangeOnLock=!1,this.emit(At.playFailedAndPaused,_t.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(At.playFailedAndPaused,_t.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange error and pause error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}}_handleWebcodecsAudioNoDataTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webcodecsAudioNoDataTimeout but player is destroyed"));if(this.webcodecsAudioNoDataTimeoutOnLock)return void this.debugLog("JbPro","webcodecsAudioNoDataTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.webcodecsAudioNoDataTimeoutOnLock=!0,this.player&&this.player._opt.webcodecsAudioNoDataTimeoutReplay){this.debugLog("JbPro","webcodecsAudioNoDataTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={wcsDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","webcodecsAudioNoDataTimeout and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.webcodecsAudioNoDataTimeout,i,t),this.debugError("JbPro","webcodecsAudioNoDataTimeout and reset player and play error",e)})).finally((()=>{this.webcodecsAudioNoDataTimeoutOnLock=!1}))})).catch((e=>{this.webcodecsAudioNoDataTimeoutOnLock=!1,this.emit(At.playFailedAndPaused,_t.webcodecsAudioNoDataTimeout,i,t),this.debugError("JbPro","webcodecsAudioNoDataTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.webcodecsAudioNoDataTimeout,i),this.debugError("JbPro","webcodecsAudioNoDataTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.webcodecsAudioNoDataTimeout,i),this.debugError("JbPro","webcodecsAudioNoDataTimeout error and pause error",e)})).finally((()=>{this.webcodecsAudioNoDataTimeoutOnLock=!1}))}}_handleWebcodecsAudioInitTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webcodecsAudioInitTimeout but player is destroyed"));if(this.webcodecsAudioInitTimeoutOnLock)return void this.debugLog("JbPro","webcodecsAudioInitTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.webcodecsAudioInitTimeoutOnLock=!0,this.player&&this.player._opt.webcodecsAudioInitTimeoutReplay){this.debugLog("JbPro","webcodecsAudioInitTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={wcsDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","webcodecsAudioInitTimeout and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.webcodecsAudioInitTimeout,i,t),this.debugError("JbPro","webcodecsAudioInitTimeout and reset player and play error",e)})).finally((()=>{this.webcodecsAudioInitTimeoutOnLock=!1}))})).catch((e=>{this.webcodecsAudioInitTimeoutOnLock=!1,this.emit(At.playFailedAndPaused,_t.webcodecsAudioInitTimeout,i,t),this.debugError("JbPro","webcodecsAudioInitTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.webcodecsAudioInitTimeout,i),this.debugError("JbPro","webcodecsAudioInitTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.webcodecsAudioInitTimeout,i),this.debugError("JbPro","webcodecsAudioInitTimeout error and pause error",e)})).finally((()=>{this.webcodecsAudioInitTimeoutOnLock=!1}))}}_handleSimdDecodeError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","simdDecodeError but player is destroyed"));if(this.simdDecodeErrorOnLock)return void this.debugLog("JbPro","simdDecodeErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.simdDecodeError,e));const t=this._getVideoLastIframeInfo();if(this.simdDecodeErrorOnLock=!0,this.player&&this.player._opt.simdDecodeErrorReplay){this.debugLog("JbPro",`simdDecodeError error simdDecodeErrorReplayType is ${this.player._opt.simdDecodeErrorReplayType} and reset player and play`);const i=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.simdDecodeErrorReplayType===G&&(r={useSIMD:!1}),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","simdDecodeError and reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError and reset player and play error",i)})).finally((()=>{this.simdDecodeErrorOnLock=!1}))})).catch((i=>{this.simdDecodeErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError and simdDecodeErrorReplay is false")})).catch((i=>{this.emit(At.playFailedAndPaused,_t.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError error and pause error",i)})).finally((()=>{this.simdDecodeErrorOnLock=!1}))}}_handleWasmWidthOrHeightChange(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","wasmWidthOrHeightChange but player is destroyed"));if(this.wasmWidthOrHeightChangeOnLock)return void this.debugLog("JbPro","wasmWidthOrHeightChangeOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.wasmWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this.wasmWidthOrHeightChangeOnLock=!0,this.player&&this.player._opt.widthOrHeightChangeReplay){this.debugLog("JbPro","wasmWidthOrHeightChange and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._opt.widthOrHeightChangeReplayDelayTime>0?this.widthOrHeightChangeReplayDelayTimeout=setTimeout((()=>{this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this.debug&&this.debugLog("JbPro","wasmWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this.play(e,s).then((()=>{this.debugLog("JbPro","wasmWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}),1e3*this._opt.widthOrHeightChangeReplayDelayTime):this.play(e,s).then((()=>{this.debugLog("JbPro","wasmWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,_t.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))})).catch((e=>{this.wasmWidthOrHeightChangeOnLock=!1,this.emit(At.playFailedAndPaused,_t.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(At.playFailedAndPaused,_t.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{this.emit(At.playFailedAndPaused,_t.wasmWidthOrHeightChange,i),this.debugError("JbPro","wasmWidthOrHeightChange error and pause error",e)})).finally((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}}_handleWasmUseVideoRenderError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","wasmUseVideoRenderError but player is destroyed"));if(this.wasmUseVideoRenderErrorOnLock)return void this.debugLog("JbPro","wasmUseVideoRenderErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.wasmUseVideoRenderError,e)),this.debugLog("JbPro","wasmUseVideoRenderError and reset player and play");const t=this._opt.url,i=this._opt.playOptions;this.wasmUseVideoRenderErrorOnLock=!0,this._resetPlayer({useVideoRender:!1,useCanvasRender:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","wasmUseVideoRenderError and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.wasmUseVideoRenderError,{},e),this.debugError("JbPro","wasmUseVideoRenderError and reset player and play error",t)})).finally((()=>{this.wasmUseVideoRenderErrorOnLock=!1}))})).catch((t=>{this.wasmUseVideoRenderErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.wasmUseVideoRenderError,{},e),this.debugError("JbPro","wasmUseVideoRenderError and _resetPlayer error",t)}))}_handleNotSupportNewWasm(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","notSupportNewWasm but player is destroyed"));if(this.notSupportNewWasmOnLock)return void this.debugLog("JbPro","notSupportNewWasmOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.notSupportNewWasm,e)),this.notSupportNewWasmOnLock=!0,this.debugLog("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useOldWasm:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.webcodecsH265NotSupport,e),this.debugError("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play error",t)})).finally((()=>{this.notSupportNewWasmOnLock=!1}))})).catch((e=>{this.notSupportNewWasmOnLock=!1,this.debugError("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] _resetPlayer and play error",e)}))}_handleVideoElementPlayingFailed(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","videoElementPlayingFailed but player is destroyed"));if(this.videoElementPlayingFailedOnLock)return void this.debugLog("JbPro","videoElementPlayingFailedOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.videoElementPlayingFailed,e));const t=this._getVideoLastIframeInfo();if(this.videoElementPlayingFailedOnLock=!0,this.player&&this.player._opt.videoElementPlayingFailedReplay){this.debugLog("JbPro",`videoElementPlayingFailed and useMSE is ${this._opt.useMSE} and reset player and play`);const i=this._opt.url,s=this._opt.playOptions;let r={useMSE:!1,useVideoRender:!1,useCanvasRender:!0};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","videoElementPlayingFailed and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and reset player and play error",t)})).finally((()=>{this.videoElementPlayingFailedOnLock=!1}))})).catch((t=>{this.videoElementPlayingFailedOnLock=!1,this.emit(At.playFailedAndPaused,_t.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and videoElementPlayingFailedReplay is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and _pause error",t)})).finally((()=>{this.videoElementPlayingFailedOnLock=!1}))}}_handleSimdH264DecodeVideoWidthIsTooLarge(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLarge but player is destroyed");else if(this.simdH264DecodeVideoWidthIsTooLargeOnLock)this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLargeOnLock is true");else if(this.emit(At.crashLog,this.getCrashLog(_t.simdH264DecodeVideoWidthIsTooLarge,e)),this.simdH264DecodeVideoWidthIsTooLargeOnLock=!0,this.player&&this.player._opt.simdH264DecodeVideoWidthIsTooLargeReplay){this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLarge and reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useSIMD:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLarge and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and reset player and play error",t)})).finally((()=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1}))})).catch((t=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1,this.emit(At.playFailedAndPaused,_t.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and simdDecodeErrorReplay is false")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and pause error",t)})).finally((()=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1}))}}_handleNetworkDelayTimeout(e){if(this.player._opt.networkDelayTimeoutReplay){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","networkDelayTimeout but player is destroyed"));if(this.networkDelayTimeoutOnLock)return void this.debugLog("JbPro","networkDelayTimeoutOnLock is true");this.emit(At.crashLog,this.getCrashLog(At.networkDelayTimeout,e));const t=this._getVideoLastIframeInfo();this.debugLog("JbPro","network delay time out and reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player&&this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this.networkDelayTimeoutOnLock=!0,this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","wasm decode error and reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,At.networkDelayTimeout,t,e),this.debugError("JbPro","wasm decode error and reset player and play error",i)})).finally((()=>{this.networkDelayTimeoutOnLock=!1}))})).catch((()=>{this.networkDelayTimeoutOnLock=!1,this.emit(At.playFailedAndPaused,At.networkDelayTimeout,t,e),this.debugError("JbPro","wasm decode error and _resetPlayer error")}))}}_handleFlvDemuxBufferSizeTooLarge(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","flvDemuxBufferSizeTooLarge but player is destroyed"));if(this.flvDemuxBufferSizeTooLargeOnLock)return void this.debugLog("JbPro","flvDemuxBufferSizeTooLargeOnLock is true");const t=this._getVideoLastIframeInfo();if(this.flvDemuxBufferSizeTooLargeOnLock=!0,this.player._opt.flvDemuxBufferSizeTooLargeReplay){this.emit(At.crashLog,this.getCrashLog(At.flvDemuxBufferSizeTooLarge,e)),this.debugLog("JbPro","flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeReplay = true and reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player&&this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog(this.TAG_NAME,"flv Demux Buffer Size Too Large and reset player and play success")})).catch((i=>{this.emit(At.playFailedAndPaused,At.flvDemuxBufferSizeTooLarge,t,e),this.debugError(this.TAG_NAME,"flv Demux Buffer Size Too Large and reset player and play error",i)})).finally((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1}))})).catch((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1,this.emit(At.playFailedAndPaused,At.flvDemuxBufferSizeTooLarge,t,e),this.debugError(this.TAG_NAME,"flv Demux Buffer Size Too Large and _resetPlayer error")}))}else if(this._opt.flvDemuxBufferSizeTooLargeEmitFailed){this.debugLog(this.TAG_NAME,"flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeEmitFailed = true and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.flvDemuxBufferSizeTooLarge,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.flvDemuxBufferSizeTooLarge,t,e),this.debugError(this.TAG_NAME,"flv Demux Buffer Size Too Large",i)})).finally((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1}))}}_handleFetchError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","fetchError but player is destroyed"));if(this.fetchErrorOnLock)return void this.debugLog("JbPro","fetchErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.fetchError,e));const t=this._getVideoLastIframeInfo(),i=this._isNeedNetworkDisconnectReplay();if(this.fetchErrorOnLock=!0,this.player._opt.streamErrorReplay||i){i?this.debugLog("JbPro","fetch error and network is disconnect and reset player and play"):this.debugLog("JbPro",`fetch error and streamErrorReplay is true and _streamErrorReplayTimes is ${this._streamErrorReplayTimes}, streamErrorReplayDelayTime is ${this._opt.streamErrorReplayDelayTime}, next replay`);let s={};this.player._opt.replayUseLastFrameShow&&(s=Object.assign({},s,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(s.isNotMute=!0);const r=this._opt.playOptions,a=this._opt.url,o=i?1:this._opt.streamErrorReplayDelayTime;this._resetPlayer(s).then((()=>{this.streamErrorReplayDelayTimeout=setTimeout((()=>{if(this.streamErrorReplayDelayTimeout=null,this.isDestroyed())this.debug&&this.debugLog("JbPro","fetch error and _resetPlayer but player is destroyed and return");else{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","fetch error and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:a,options:r,type:_t.fetchError});this._streamErrorReplayTimes++,this.play(a,r).then((()=>{this.debugLog("JbPro","fetch error and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.fetchError,{},e),this.debugError("JbPro","fetch error and reset player and play error",t)})).finally((()=>{this.fetchErrorOnLock=!1}))}}),1e3*o)})).catch((t=>{this.fetchErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.fetchError,{},e),this.debugError("JbPro","fetch error and _resetPlayer error",t)}))}else{this.debugLog("JbPro","fetch error and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.fetchError,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.fetchError,t,e),this.debugError("JbPro","fetch error and pause",i)})).finally((()=>{this.fetchErrorOnLock=!1}))}}_handleStreamEnd(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","streamEnd but player is destroyed and return"));if(this.streamEndOnLock)return void this.debugLog("JbPro","streamEndOnLock is true");this.emit(At.crashLog,this.getCrashLog(At.streamEnd,e));const t=this._getVideoLastIframeInfo(),i=""+e=="1006"&&this.player._opt.websocket1006ErrorReplay,s=!!i&&this._checkIsMeaningfulRetry(kr),r=i&&s,a=this.player._opt.streamEndReplay,o=this._isNeedNetworkDisconnectReplay();if(this.streamEndOnLock=!0,r||a||o){o?this.debugLog("JbPro","streamEnd and network is disconnect and reset player and play"):r?this.debugLog("JbPro",`streamEnd and websocket1006ErrorReplay is true and error is 1006 and _websocket1006ErrorReplayTimes is ${this._websocket1006ErrorReplayTimes} , delay ${this._opt.websocket1006ErrorReplayDelayTime}s reset player and play`):this.debugLog("JbPro",`streamEnd and isStreamEndReplay is true and and _streamEndReplayTimes is ${this._streamEndReplayTimes} , delay ${this._opt.streamEndReplayDelayTime}s reset player and play`);const s=this._opt.playOptions,a=this._opt.url;i&&this._websocket1006ErrorRetryLog.push(fa());let n={};this.player._opt.replayUseLastFrameShow&&(n=Object.assign({},n,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(n.isNotMute=!0);let l=r?this._opt.websocket1006ErrorReplayDelayTime:this._opt.streamEndReplayDelayTime;o&&(l=1),this._resetPlayer(n).then((()=>{this.streamEndReplayDelayTimeout=setTimeout((()=>{if(this.streamEndReplayDelayTimeout=null,this._removeLoadingBackgroundForIOS(),this.isDestroyed())o?this.debug&&this.debugLog("JbPro","streamEnd and network is disconnect and _resetPlayer() but player is destroyed and return"):r?this.debug&&this.debugLog("JbPro","streamEnd and 1006 error and _resetPlayer() but player is destroyed and return"):this.debug&&this.debugLog("JbPro","streamEnd and _resetPlayer() but player is destroyed and return");else{if(this._isNeedNetworkDisconnectReplay())return r?this.debugLog("JbPro","streamEnd and 1006 error network is offline and wait network online to play , so return"):this.debugLog("JbPro","streamEnd and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:a,options:s,type:r?_t.websocket1006Error:_t.streamEnd});r?this._websocket1006ErrorReplayTimes++:this._streamEndReplayTimes++,this.play(a,s).then((()=>{r?this.debugLog("JbPro","streamEnd and 1006 error and reset player and play success"):this.debugLog("JbPro","streamEnd and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.streamEnd,{},e),r?this.debugError("JbPro","streamEnd and 1006 error and reset player and play error",t):this.debugError("JbPro","streamEnd and reset player and play error",t)})).finally((()=>{this.streamEndOnLock=!1}))}}),1e3*l)})).catch((t=>{this.streamEndOnLock=!1,this.emit(At.playFailedAndPaused,_t.streamEnd,{},e),r?this.debugError("JbPro","streamEnd and 1006 and _resetPlayer error",t):this.debugError("JbPro","streamEnd and _resetPlayer error",t)}))}else{i?this.debugLog("JbPro","streamEnd pause player "+(Lo(s)?"and is not meaningful retry":"")):this.debugLog("JbPro","streamEnd pause player");const r=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(r).then((()=>{this.emit(At.playFailedAndPaused,At.streamEnd,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,At.streamEnd,t,e),this.debugError("JbPro","streamEnd pause",i)})).finally((()=>{this.streamEndOnLock=!1}))}}_handleWebsocketError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","websocketError but player is destroyed"));if(this.websocketErrorOnLock)return void this.debugLog("JbPro","websocketErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.websocketError,e));const t=this._getVideoLastIframeInfo(),i=this._isNeedNetworkDisconnectReplay();if(this.websocketErrorOnLock=!0,this.player._opt.streamErrorReplay||i){i?this.debugLog("JbPro","websocketError error and network is disconnect and reset player and play"):this.debugLog("JbPro",`websocketError error and streamErrorReplay is true and _streamErrorReplayTimes is ${this._streamErrorReplayTimes} and streamErrorReplayDelayTime is ${this._opt.streamErrorReplayDelayTime}, next replay`);let s={};this.player._opt.replayUseLastFrameShow&&(s=Object.assign({},s,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(s.isNotMute=!0);const r=this._opt.playOptions,a=this._opt.url,o=i?1:this._opt.streamErrorReplayDelayTime;this._resetPlayer(s).then((()=>{this.streamErrorReplayDelayTimeout=setTimeout((()=>{if(this.streamErrorReplayDelayTimeout=null,this.isDestroyed())i?this.debug&&this.debugLog("JbPro","websocketError error and network is disconnect and _resetPlayer() but player is destroyed and return"):this.debug&&this.debugLog("JbPro","websocketError error and _resetPlayer() but player is destroyed and return");else{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","websocketError error and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:a,options:r,type:_t.websocketError});this._streamErrorReplayTimes++,this.play(a,r).then((()=>{this.debugLog("JbPro","websocketError error and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,_t.fetchError,{},e),this.debugError("JbPro","websocketError error and reset player and play error",t)})).finally((()=>{this.websocketErrorOnLock=!1}))}}),1e3*o)})).catch((t=>{this.websocketErrorOnLock=!1,this.emit(At.playFailedAndPaused,_t.fetchError,{},e),this.debugError("JbPro","websocketError error and _resetPlayer error",t)}))}else{this.debugLog("JbPro","websocketError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.websocketError,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.websocketError,t,e),this.debugError("JbPro","websocketError and pause",i)})).finally((()=>{this.websocketErrorOnLock=!1}))}}_handleWebrtcError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webrtcError but player is destroyed"));if(this.webrtcErrorOnLock)return void this.debugLog("JbPro","webrtcErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.webrtcError,e));const t=this._getVideoLastIframeInfo();if(this._isNeedNetworkDisconnectReplay()){this.debugLog("JbPro","webrtcError error and network is offline and wait network online to play , so _resetPlayer and wait play");const i=this._opt.playOptions,s=this._opt.url;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._isNetworkOfflinePaused=!0,this._isNetworkOfflinePausedAndNextPlayConfig={url:s,options:i,type:_t.webrtcError}})).catch((()=>{this.emit(At.playFailedAndPaused,_t.webrtcError,t,e),this.debugError("JbPro","webrtcError and _resetPlayer error")})).finally((()=>{this.webrtcErrorOnLock=!1}))}else{this.debugLog("JbPro","webrtcError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.webrtcErrorOnLock=!0,this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.webrtcError,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.webrtcError,t,e),this.debugError("JbPro","webrtcError and pause",i)})).finally((()=>{this.webrtcErrorOnLock=!1}))}}_handleHlsError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","hlsError but player is destroyed"));if(this.hlsErrorOnLock)return void this.debugLog("JbPro","hlsErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.hlsError,e));const t=this._getVideoLastIframeInfo();if(this._isNeedNetworkDisconnectReplay()){this.debugLog("JbPro","hlsError error and network is offline and wait network online to play , so _resetPlayer and wait play");const i=this._opt.playOptions,s=this._opt.url;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Lo(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._isNetworkOfflinePaused=!0,this._isNetworkOfflinePausedAndNextPlayConfig={url:s,options:i,type:_t.hlsError}})).catch((()=>{this.emit(At.playFailedAndPaused,_t.hlsError,t,e),this.debugError("JbPro","hlsError and _resetPlayer error")})).finally((()=>{this.hlsErrorOnLock=!1}))}else{this.debugLog("JbPro","hlsError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.hlsErrorOnLock=!0,this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.hlsError,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.hlsError,t,e),this.debugError("JbPro","hlsError and pause",i)})).finally((()=>{this.hlsErrorOnLock=!1}))}}_handleAliyunRtcError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","aliyunRtcError but player is destroyed"));if(this.aliyunRtcErrorOnLock)return void this.debugLog("JbPro","aliyunRtcErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.aliyunRtcError,e));const t=this._getVideoLastIframeInfo();this.debugLog("JbPro","aliyunRtcError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.aliyunRtcErrorOnLock=!0,this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.aliyunRtcError,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.aliyunRtcError,t,e),this.debugError("JbPro","aliyunRtcError and pause",i)})).finally((()=>{this.aliyunRtcErrorOnLock=!1}))}_handleDecoderWorkerInitError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","decoderWorkerInitError but player is destroyed"));if(this.decoderWorkerInitErrorOnLock)return void this.debugLog("JbPro","decoderWorkerInitErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.decoderWorkerInitError,e));const t=this._getVideoLastIframeInfo();this.debugLog("JbPro","decoderWorkerInitError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.decoderWorkerInitErrorOnLock=!0,this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.decoderWorkerInitError,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.decoderWorkerInitError,t,e),this.debugError("JbPro","decoderWorkerInitError and pause",i)})).finally((()=>{this.decoderWorkerInitErrorOnLock=!1}))}_handleDecoderWorkerWasmError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","decoderWorkerWasmError but player is destroyed"));if(this.decoderWorkerWasmErrorOnLock)return void this.debugLog("JbPro","decoderWorkerWasmErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.decoderWorkerWasmError,e)),this.debugLog("JbPro","decoderWorkerWasmError and pause player");const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.decoderWorkerWasmErrorOnLock=!0,this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.decoderWorkerWasmError,{},e)})).catch((t=>{this.emit(At.playFailedAndPaused,_t.decoderWorkerWasmError,{},e),this.debugError("JbPro","decoderWorkerWasmError and pause",t)})).finally((()=>{this.decoderWorkerWasmErrorOnLock=!1}))}_handleVideoElementPlayingFailedForWebrtc(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","videoElementPlayingFailedForWebrtc but player is destroyed"));if(this.videoElementPlayingFailedForWebrtcOnLock)return void this.debugLog("JbPro","videoElementPlayingFailedForWebrtcOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.videoElementPlayingFailedForWebrtc,e)),this.debugLog("JbPro","videoElementPlayingFailedForWebrtc and pause player");const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.videoElementPlayingFailedForWebrtcOnLock=!0,this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.videoElementPlayingFailedForWebrtc,{},e)})).catch((t=>{this.emit(At.playFailedAndPaused,_t.videoElementPlayingFailedForWebrtc,{},e),this.debugError("JbPro","videoElementPlayingFailedForWebrtc and pause",t)})).finally((()=>{this.videoElementPlayingFailedForWebrtcOnLock=!1}))}_handleVideoInfoError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","videoInfoError but player is destroyed"));if(this.videoInfoErrorOnLock)return void this.debugLog("JbPro","videoInfoErrorOnLock is true");this.emit(At.crashLog,this.getCrashLog(_t.videoInfoError,e)),this.debugLog("JbPro","videoInfoError and pause player");const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.videoInfoErrorOnLock=!0,this._pause(t).then((()=>{this.emit(At.playFailedAndPaused,_t.videoInfoError,{},e)})).catch((t=>{this.emit(At.playFailedAndPaused,_t.videoInfoError,{},e),this.debugError("JbPro","videoInfoError and pause",t)})).finally((()=>{this.videoInfoErrorOnLock=!1}))}_handleWebrtcStreamH265(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webrtcStreamH265 but player is destroyed"));if(this.webrtcStreamH265OnLock)return void this.debugLog("JbPro","webrtcStreamH265OnLock is true");this.debugLog("JbPro","webrtcStreamH265 and reset player and play");const t=this._opt.url,i=this._opt.playOptions;this.webrtcStreamH265OnLock=!0,this._resetPlayer({isWebrtcH265:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webrtcStreamH265 and reset player and play success")})).catch((t=>{this.emit(At.playFailedAndPaused,At.webrtcStreamH265,{},e),this.debugError("JbPro","webrtcStreamH265 and reset player and play error",t)})).finally((()=>{this.webrtcStreamH265OnLock=!1}))})).catch((()=>{this.webrtcStreamH265OnLock=!1,this.emit(At.playFailedAndPaused,At.webrtcStreamH265,{},e),this.debugError("JbPro","webrtcStreamH265 and _resetPlayer error")}))}_handlePlaybackEnd(){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","playbackEnd but player is destroyed"));if(this.playbackEndOnLock)return void this.debugLog("JbPro","playbackEndOnLock is true");const e=!1===this._opt.playFailedUseLastFrameShow,t=this._getVideoLastIframeInfo();this.player.setPlayFailedAndPaused(),this.playbackEndOnLock=!0,this._pause(e).then((()=>{this.emit(At.playFailedAndPaused,At.playbackEnd,t,"")})).catch((e=>{this.emit(At.playFailedAndPaused,At.playbackEnd,t,""),this.debugError("JbPro","playbackEnd and pause",e)})).finally((()=>{this.playbackEndOnLock=!1}))}_handleDelayTimeout(e){if(this.isDestroyed())return void(this.debug&&this.debugWarn("JbPro","delay timeout replay but player is destroyed"));this.emit(At.crashLog,this.getCrashLog(At.delayTimeout,e));const t=this._getVideoLastIframeInfo();if(this.player&&this.player._opt.heartTimeoutReplay&&(this._heartTimeoutReplayTimes{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","delayTimeout and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:i,options:s,type:At.delayTimeout});this.play(i,s).then((()=>{})).catch((i=>{this.emit(At.playFailedAndPaused,At.delayTimeout,t,e),this.debugError("JbPro","delay timeout replay error",i)}))})).catch((i=>{this.emit(At.playFailedAndPaused,At.delayTimeout,t,e),this.debugError("JbPro","delay timeout _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,At.delayTimeout,t,e),this.player&&(this.emit(At.delayTimeoutRetryEnd),this.emit(At.playFailedAndPaused,At.delayTimeoutRetryEnd)),this.debugWarn("JbPro",`delayTimeoutRetryEnd and\n opt.heartTimeout is ${this.player&&this.player._opt.heartTimeout} and\n opt.heartTimeoutReplay is ${this.player&&this.player._opt.heartTimeoutReplay} and\n opt.heartTimeoutReplayTimes is ${this.player&&this.player._opt.heartTimeoutReplayTimes},and\n local._heartTimeoutReplayTimes is ${this._heartTimeoutReplayTimes}`)})).catch((i=>{this.emit(At.playFailedAndPaused,At.delayTimeout,t,e),this.debugError("JbPro","delay timeout and pause error",i)}))}}_handleLoadingTimeout(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","loading timeout but player is destroyed"));this.emit(At.crashLog,this.getCrashLog(At.loadingTimeout,e));const t=this._getVideoLastIframeInfo();if(this.player&&this.player._opt.loadingTimeoutReplay&&(this._loadingTimeoutReplayTimes{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","loadingTimeout and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:i,options:s,type:At.loadingTimeout});this.play(i,s).then((()=>{})).catch((i=>{this.emit(At.playFailedAndPaused,At.loadingTimeout,t,e),this.debugError("JbPro","loading timeout replay error",i)}))})).catch((i=>{this.emit(At.playFailedAndPaused,At.loadingTimeout,t,e),this.debugError("JbPro","loading timeout _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,At.loadingTimeout,t,e),this.player&&(this.emit(At.loadingTimeoutRetryEnd),this.emit(At.playFailedAndPaused,At.loadingTimeoutRetryEnd,t,e),this._opt.loadingTimeoutRetryEndShowPlayBtn&&this.player.showPlayBtn()),this.debugLog("JbPro",`loadingTimeoutRetryEnd and\n opt.loadingTimeout is ${this.player&&this.player._opt.loadingTimeout} and\n opt.loadingTimeoutReplay is ${this.player&&this.player._opt.loadingTimeoutReplay} and\n local._loadingTimeoutReplayTimes time is ${this._loadingTimeoutReplayTimes} and\n opt.loadingTimeoutReplayTimes is ${this.player&&this.player._opt.loadingTimeoutReplayTimes}`)})).catch((i=>{this.emit(At.playFailedAndPaused,At.loadingTimeout,t,e),this.debugError("JbPro","loading timeout and pause error",i)}))}}_handleInitDecoderWorkerTimeout(e){if(this.isDestroyed())return void this.debugLog("JbPro","InitDecoderWorkerTimeout but player is destroyed");this.emit(At.crashLog,this.getCrashLog(_t.initDecoderWorkerTimeout,e)),this.debugLog("JbPro","InitDecoderWorkerTimeout and pause player");const t=this._getVideoLastIframeInfo(),i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(At.playFailedAndPaused,_t.initDecoderWorkerTimeout,t,e)})).catch((i=>{this.emit(At.playFailedAndPaused,_t.initDecoderWorkerTimeout,t,e),this.debugError("JbPro","videoInfoError and pause",i)}))}_handlePlayVodEnded(){if(this.isDestroyed())return void this.debugLog("JbPro","_handlePlayVodEnded but player is destroyed");if(this.player._opt.playVodEndedAndAutoReplay)return this.debugLog(this.TAG_NAME,"play vod ended and replay player"),void this._handlePlayVodEndedAndReplay();this.debugLog(this.TAG_NAME,"play vod ended and pause player");const e=!1===this._opt.playFailedUseLastFrameShow;this._pause(e).then((()=>{this.debugLog("JbPro","play vod ended and pause success")})).catch((e=>{this.debugError("JbPro","play vod ended and pause error",e)}))}_handlePlayVodEndedAndReplay(){const e=this._opt.url,t=this._opt.playOptions;this._resetPlayer().then((()=>{this.play(e,t).then((()=>{this.debug.log(this.TAG_NAME,"playVodEndedAndReplay and reset player and play success")})).catch((e=>{this.emit(At.playFailedAndPaused,At.playVodEndedAndReplay),this.debug.error(this.TAG_NAME,"playVodEndedAndReplay and reset player and play error",e)}))})).catch((()=>{this.emit(At.playFailedAndPaused,At.playVodEndedAndReplay),this.debugError(this.TAG_NAME,"playVodEndedAndReplay and _resetPlayer error")}))}_checkInitDecoderWorkerTimeout(){this._clearInitDecoderWorkerTimeout(),this.initDecoderWorkerTimeout=setTimeout((()=>{this._handleInitDecoderWorkerTimeout(_t.initDecoderWorkerTimeout)}),1e3*this._opt.initDecoderWorkerTimeout)}_clearInitDecoderWorkerTimeout(){this.initDecoderWorkerTimeout&&(clearTimeout(this.initDecoderWorkerTimeout),this.initDecoderWorkerTimeout=null)}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s1?t-1:0),s=1;s{if(this.isDestroyed())return t("player is destroyed");this.debugLog("JbPro","resetPlayer()");const i=this._getOriginalOpt();this._resetPlayer(i).then((()=>{this.debugLog("JbPro","resetPlayer() success"),e()})).catch((e=>{this.debugWarn("JbPro","resetPlayer() error",e.toString(),e),t(e)}))}))}updateDynamicWatermark(e){this.isDestroyed()||(this.debugLog("JbPro","updateDynamicWatermark()",e),this.player?this.player.updateDynamicWatermark(e):this.debugWarn("JbPro","updateDynamicWatermark() player is not init"))}removeDynamicWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeDynamicWatermark()"),this.player?this.player.removeDynamicWatermark():this.debugWarn("JbPro","removeDynamicWatermark() player is not init"))}updateGhostWatermark(e){this.isDestroyed()||(this.debugLog("JbPro","updateGhostWatermark()",e),this.player?this.player.updateGhostWatermark(e):this.debugWarn("JbPro","updateGhostWatermark() player is not init"))}removeGhostWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeGhostWatermark()"),this.player?this.player.removeGhostWatermark():this.debugWarn("JbPro","removeGhostWatermark() player is not init"))}playVod(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{const r=To(),a=Object.assign({},r.playVodConfig,this._opt.playVodConfig,t);this._resetPlayer({videoBuffer:0,playType:E,playVodConfig:a,cryptoKey:t.cryptoKey||"",cryptoIV:t.cryptoIV||"",openWebglAlignment:!0,useMSE:a.useMSE,useWCS:a.useWCS,useSIMD:a.useSIMD,supportHls265:!0}).then((()=>{this.play(e,t).then((()=>{i()})).catch((e=>{s(e)}))})).catch((e=>{s(e)}))}))}playVodPause(){return this.debug.log("JbPro","playVodPause()"),new Promise(((e,t)=>{this.player.playVodPause=!0,e()}))}playVodResume(){return this.debug.log("JbPro","playVodResume()"),new Promise(((e,t)=>{this.player.playVodPause=!1,e()}))}playVodForward(e){return this.debugLog("JbPro",`playVodForward() ${e}`),Lo(this._opt.isLive)||this._opt.playType!==E?Promise.reject("forward() method only just for play vod type"):Ma(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodForward(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodForward() params "rate": ${e} must be number type`)}playVodNormal(){return this.playVodForward(1)}playVodSeek(e){return this.debugLog("JbPro",`playVodSeek() ${e}`),Lo(this._opt.isLive)||this._opt.playType!==E?Promise.reject("playVodSeek() method only just for play vod type"):Ma(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodSeek(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodSeek() params "time": ${e} must be number type`)}playVodForwardJumping(e){return this.debugLog("JbPro",`playVodForwardJumping() ${e}`),Lo(this._opt.isLive)||this._opt.playType!==E?Promise.reject("playVodForwardJumping() method only just for play vod type"):Ma(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodForwardJumping(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodForwardJumping() params "time": ${e} must be number type`)}playVodBackwordJumping(e){return this.debugLog("JbPro",`playVodBackwordJumping() ${e}`),Lo(this._opt.isLive)||this._opt.playType!==E?Promise.reject("playVodBackwordJumping() method only just for play vod type"):Ma(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodBackwordJumping(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodBackwordJumping() params "time": ${e} must be number type`)}getPlayVodDuration(){let e=0;return this.player&&(e=this.player.getPlayVodDuration()),e}getPlayVodCurrentTime(){let e=0;return this.player&&(e=this.player.getPlayVodCurrentTime()),e}getPlayVodCurrentRate(){let e=1;return this.player&&(e=this.player.getPlayVodCurrentRate()),e}}return P_.ERROR=_t,P_.EVENTS=bt,window.JessibucaPro=P_,window.JbPro=P_,window.WebPlayerPro=P_,P_})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["jessibuca-demo"]=e(t.crypto$1)}(this,(function(t){"use strict";function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=s(t);const n=v;!function(t,e){const s=v,i=t();for(;;)try{if(371152===-parseInt(s(685))/1*(-parseInt(s(824))/2)+-parseInt(s(504))/3*(parseInt(s(755))/4)+parseInt(s(590))/5*(parseInt(s(493))/6)+parseInt(s(661))/7+parseInt(s(927))/8+parseInt(s(593))/9+-parseInt(s(916))/10*(parseInt(s(520))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bt);const o={websocket:1,fetch:2,hls:3,webrtc:4,webTransport:5,aliyunRtc:6,ts:7},a=["",n(634),"fetch",n(833),n(579),n(599),"aliyunRtc","ts"],h={fetch:n(782),hls:"hls",websocket:"websocket",webrtc:"webrtc",webTransport:"webTransport",worker:"worker",aliyunRtc:n(882),mp4:n(521)},c={player:n(692),playerAudio:n(645),playbackTF:"playbackTF",talk:"talk",playVod:n(606)},l={mp4:n(521),webm:"webm",flv:n(628),mov:n(550)},d={flv:n(628),m7s:"m7s",hls:"hls",webrtc:n(579),webTransport:n(599),nakedFlow:n(574),fmp4:n(516),mpeg4:n(591),aliyunRtc:n(882),ts:"ts",g711:n(908),pcm:"pcm"},u={flv:n(505),m7s:n(484),hls:n(682),fmp4:n(912),mpeg4:n(671),webrtc:n(811),webTransport:n(673),nakedFlow:"裸流",aliyunRtc:"AliyunRtc",ts:"TS"},p={mse:n(597),wcs:n(650),offscreen:n(551),wasm:n(764),simd:"simd",mt:"mt",webrtc:n(579),hls:"hls",aliyunRtc:n(882)},f={canvas:n(616),video:n(598)},m={debug:"debug",warn:"warn"},g={click:n(770),mouseDownAndUp:n(566)},A={normal:n(733),simple:n(911)},y={normal:n(733),small:n(898)},b=n(543);function v(t,e){const s=bt();return(v=function(t,e){return s[t-=477]})(t,e)}const S=36e5,w=n(876),E="jbprov",I=1e4,T={playIsNotPauseOrUrlIsNull:"播放地址不能为空",webglAlignmentError:n(607),webglContextLostError:n(588),mediaSourceH265NotSupport:n(477),mseSourceBufferFull:n(499),mediaSourceAppendBufferError:n(936),mseSourceBufferError:"解码失败",mseAddSourceBufferError:n(936),mseWorkerAddSourceBufferError:"初始化解码器失败",mediaSourceDecoderConfigurationError:n(936),mediaSourceTsIsMaxDiff:n(727),mseWidthOrHeightChange:n(727),mediaSourceAudioG711NotSupport:n(740),mediaSourceAudioInitTimeout:n(618),mediaSourceAudioNoDataTimeout:n(794),mediaSourceUseCanvasRenderPlayFailed:n(839),mediaSourceBufferedIsZeroError:n(727),webcodecsH265NotSupport:"不支持硬解码H265",webcodecsUnsupportedConfigurationError:n(936),webcodecsDecodeConfigureError:n(936),webcodecsDecodeError:n(735),webcodecsAudioInitTimeout:n(618),webcodecsAudioNoDataTimeout:n(794),wcsWidthOrHeightChange:"解码失败",wasmDecodeError:"解码失败",simdDecodeError:n(735),wasmWidthOrHeightChange:n(727),wasmUseVideoRenderError:n(577),videoElementPlayingFailed:n(577),simdH264DecodeVideoWidthIsTooLarge:n(689),networkDelayTimeout:n(730),fetchError:n(530),streamEnd:n(805),websocket1006Error:n(713),websocketError:"请求失败",webrtcError:n(530),hlsError:n(530),decoderWorkerInitError:n(514),decoderWorkerWasmError:n(873),videoElementPlayingFailedForWebrtc:n(577),videoInfoError:n(741),webrtcStreamH265:n(870),delayTimeout:n(608),loadingTimeout:n(492),loadingTimeoutRetryEnd:n(492),delayTimeoutRetryEnd:"播放超时重播失败",flvDemuxBufferSizeTooLarge:n(619),audioChannelError:n(496),aliyunRtcError:n(530),mseWaitVideoCanplayTimeout:n(727),initDecoderWorkerTimeout:n(841)},k={playType:c[n(692)],videoBuffer:1e3,videoBufferDelay:1e3,networkDelay:1e4,isResize:!0,isFullResize:!1,isFlv:!1,isHls:!1,isFmp4:!1,isWebrtc:!1,isWebrtcForZLM:!1,isWebrtcForSRS:!1,isWebrtcForOthers:!1,isNakedFlow:!1,isMpeg4:!1,isAliyunRtc:!1,isTs:!1,debug:!1,debugLevel:m[n(594)],debugUuid:"",isMulti:!0,multiIndex:-1,hotKey:!1,loadingTimeout:10,heartTimeout:10,timeout:10,pageVisibilityHiddenTimeout:300,loadingTimeoutReplay:!0,heartTimeoutReplay:!0,loadingTimeoutReplayTimes:3,heartTimeoutReplayTimes:3,heartTimeoutReplayUseLastFrameShow:!0,replayUseLastFrameShow:!0,replayShowLoadingIcon:!1,supportDblclickFullscreen:!1,showBandwidth:!1,showPerformance:!1,mseCorrectTimeDuration:20,mseCorrectAudioTimeDuration:20,keepScreenOn:!0,isNotMute:!1,muted:!0,hasAudio:!0,hasVideo:!0,operateBtns:{fullscreen:!1,screenshot:!1,play:!1,audio:!1,record:!1,ptz:!1,quality:!1,zoom:!1,close:!1,scale:!1,performance:!1,logSave:!1,aiFace:!1,aiObject:!1,aiOcclusion:!1,fullscreenFn:null,fullscreenExitFn:null,screenshotFn:null,playFn:null,pauseFn:null,recordFn:null,recordStopFn:null},extendOperateBtns:[],contextmenuBtns:[],watermarkConfig:{},controlAutoHide:!1,controlAutoHideDelayTime:5,hasControl:!1,controlSize:y[n(733)],loadingIcon:!0,loadingIconStyle:{},loadingText:"",background:"",poster:"",backgroundLoadingShow:!0,loadingBackground:"",loadingBackgroundWidth:0,loadingBackgroundHeight:0,decoder:n(899),decoderOld:n(849),decoderAudio:"decoder-pro-audio.js",decoderHard:n(866),decoderHardNotWasm:n(548),wasmMp4RecorderDecoder:"jessibuca-pro-mp4-recorder-decoder.js",decoderWASM:"",isDecoderUseCDN:!1,url:"",rotate:0,mirrorRotate:n(736),aspectRatio:n(885),playbackConfig:{playList:[],fps:"",showControl:!0,controlType:A.normal,duration:0,startTime:"",showRateBtn:!1,rateConfig:[],showPrecision:"",showPrecisionBtn:!0,isCacheBeforeDecodeForFpsRender:!1,uiUsePlaybackPause:!1,isPlaybackPauseClearCache:!0,isUseFpsRender:!1,isUseLocalCalculateTime:!1,localOneFrameTimestamp:40,supportWheel:!1,useWCS:!1,useMSE:!1,useSIMD:!0},qualityConfig:[],defaultStreamQuality:"",scaleConfig:["拉伸","缩放","正常"],forceNoOffscreen:!0,hiddenAutoPause:!1,protocol:o[n(782)],demuxType:d[n(628)],useWasm:!1,useOldWasm:!1,useMSE:!1,useWCS:!1,useSIMD:!0,useMThreading:!1,preferredHardDecode:!1,wcsUseVideoRender:!0,wcsUseWebgl2Render:!1,wasmUseVideoRender:!0,mseUseCanvasRender:!1,hlsUseCanvasRender:!1,webrtcUseCanvasRender:!1,useOffscreen:!1,useWebGPU:!1,mseDecodeErrorReplay:!0,wcsDecodeErrorReplay:!0,wasmDecodeErrorReplay:!0,simdDecodeErrorReplay:!0,simdDecodeErrorReplayType:p[n(764)],autoWasm:!0,decoderErrorAutoWasm:!1,hardDecodingNotSupportAutoWasm:!0,webglAlignmentErrorReplay:!0,webglContextLostErrorReplay:!0,openWebglAlignment:!1,syncAudioAndVideo:!0,syncAudioAndVideoDiff:400,playbackDelayTime:1e3,playbackFps:25,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!0,useVideoRender:!0,useCanvasRender:!1,videoRenderType:"",networkDelayTimeoutReplay:!1,recordType:l[n(521)],checkFirstIFrame:!0,nakedFlowFps:25,audioEngine:null,isShowRecordingUI:!0,isShowZoomingUI:!0,useFaceDetector:!1,useObjectDetector:!1,useImageDetector:!1,useOcclusionDetector:!1,ptzPositionConfig:{},ptzShowType:n(715),ptzClickType:g[n(770)],ptzStopEmitDelay:.3,ptzZoomShow:!1,ptzApertureShow:!1,ptzFocusShow:!1,ptzMoreArrowShow:!1,ptzCruiseShow:!1,ptzFogShow:!1,ptzWiperShow:!1,ptzSupportDraggable:!1,weiXinInAndroidAudioBufferSize:4800,isCryptoAudio:!1,isM7sCrypto:!1,isSm4Crypto:!1,isSm4CryptoH265V2:!1,isXorCrypto:!1,sm4CryptoKey:"",m7sCryptoKey:"",xorCryptoKey:"",cryptoKey:"",cryptoIV:"",cryptoKeyUrl:"",listenWindowResizeAuoResize:!0,orientationChangeResize:!1,useWebFullScreen:!1,ptsMaxDiff:3600,aiFaceDetectLevel:2,aiFaceDetectWidth:240,aiFaceDetectShowRect:!0,aiFaceDetectInterval:1e3,aiFaceDetectRectConfig:{},aiObjectDetectLevel:2,aiObjectDetectWidth:240,aiObjectDetectShowRect:!0,aiObjectDetectInterval:1e3,aiObjectDetectRectConfig:{},aiOcclusionDetectInterval:1e3,aiImageDetectDrop:!1,aiImageDetectActive:!1,videoRenderSupportScale:!0,mediaSourceTsIsMaxDiffReplay:!0,controlHtml:"",isH265:!1,isWebrtcH265:!1,supportLockScreenPlayAudio:!0,supportHls265:!0,isEmitSEI:!1,pauseAndNextPlayUseLastFrameShow:!1,demuxUseWorker:!0,playFailedAndReplay:!0,showMessageConfig:T,videoElementPlayingFailedReplay:!0,mp4RecordUseWasm:!0,mseAutoCleanupSourceBuffer:!0,mseAutoCleanupMaxBackwardDuration:30,mseAutoCleanupMinBackwardDuration:10,widthOrHeightChangeReplay:!0,simdH264DecodeVideoWidthIsTooLargeReplay:!0,mediaSourceAudioG711NotSupportReplay:!0,mediaSourceAudioInitTimeoutReplay:!0,mediaSourceAudioNoDataTimeoutReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplay:!0,mediaSourceUseCanvasRenderPlayFailedReplayType:f[n(598)],webcodecsAudioInitTimeoutReplay:!0,webcodecsAudioNoDataTimeoutReplay:!0,widthOrHeightChangeReplayDelayTime:0,ghostWatermarkConfig:{on:5,off:5,content:"",fontSize:12,color:n(897),opacity:.15,speed:.2},dynamicWatermarkConfig:{content:"",speed:.2,fontSize:12,color:n(897),opacity:.15},isDropSameTimestampGop:!1,mseDecodeAudio:!0,wcsDecodeAudio:!0,nakedFlowH265DemuxUseNew:!0,nakedFlowDemuxUseNew:!0,extendDomConfig:{html:"",showBeforePlay:!1,showAfterLoading:!0},disableContextmenu:!1,mseDecoderUseWorker:!0,openMemoryLog:!1,mainThreadFetchUseWorker:!0,playFailedAndPausedShowPlayBtn:!0,mseCorrectionTimestamp:!0,flvDemuxBufferSizeTooLargeReplay:!1,flvDemuxBufferSizeTooLargeEmitFailed:!1,flvDemuxBufferSizeMaxLarge:1048576,isCheckInView:!1,hiddenControl:!1,androidMobileFullscreenRotate:!0,disableModule:{ptz:!1,record:!1,zoom:!1,watermark:!1,playback:!1},recordWebMSupportSeek:!1,wasmPlayAudioUseVideoRender:!1,mseWaitVideoCanplayTimeout:6,mseWaitVideoCanplayAutoWasm:!0,zoomMaxScale:5,zoomSupportGestureInMobile:!1,zoomSupportGestureInMobileSpeed:.2,drawingRectColor:n(913),drawingRectLineWidth:1,drawingRectEndRemoveDom:!0,videoSEISyncPtsDiff:.2,initShowPlayBtn:!1,checkStreamEnd:!0,autoUseSystemFullScreen:!0,preloadTime:30,playVodConfig:{showRateBtn:!1,rateConfig:[],useWCS:!1,useMSE:!0,useSIMD:!0},playVodForwardMaxRateDecodeIFrame:8,playVodEndedAndAutoReplay:!1,playVodEndedAndShowPlayBtn:!0},_={playType:k.playType,playbackForwardMaxRateDecodeIFrame:k[n(789)],isMulti:k.isMulti,isM7sCrypto:k.isM7sCrypto,supportHls265:k[n(823)],pauseAndNextPlayUseLastFrameShow:k.pauseAndNextPlayUseLastFrameShow,widthOrHeightChangeReplayDelayTime:k[n(802)],controlSize:k[n(656)],multiIndex:k.multiIndex,isFlv:k.isFlv,isFmp4:k[n(920)],isMpeg4:k[n(693)],isNakedFlow:k[n(592)],isHls:k[n(539)],isWebrtc:k[n(712)],isWebrtcForZLM:k.isWebrtcForZLM,isWebrtcForSRS:k[n(863)],isWebrtcForOthers:k.isWebrtcForOthers,isAliyunRtc:k.isAliyunRtc,isTs:k.isTs,url:"",container:"",playbackConfig:{},playVodConfig:{},fullscreenWatermarkConfig:{},playbackForwardMaxRatePlayAudio:!1,playOptions:{},isLive:!0,playFailedUseLastFrameShow:!0,playFailedAndPausedShowMessage:!0,isUseNewFullscreenWatermark:!0,websocket1006ErrorReplay:!0,websocket1006ErrorReplayDelayTime:1,streamErrorReplay:!1,streamErrorReplayDelayTime:1,streamEndReplay:!1,streamEndReplayDelayTime:1,networkDisconnectReplay:!0,loadingTimeoutRetryEndShowPlayBtn:!0,initDecoderWorkerTimeout:10},C={init:n(851),initVideo:n(827),render:n(842),playAudio:n(751),initAudio:n(878),kBps:"kBps",decode:"decode",audioCode:n(621),audioNalu:n(750),audioAACSequenceHeader:"audioAACSequenceHeader",videoCode:n(837),videoCodec:n(688),videoNalu:n(672),videoPayload:n(722),audioPayload:"audioPayload",wasmError:"wasmError",workerFetch:n(762),iframeIntervalTs:"iframeIntervalTs",isDropping:n(848),workerEnd:n(919),networkDelay:n(500),playbackStreamVideoFps:n(534),wasmWidthOrHeightChange:n(930),simdDecodeError:n(844),simdH264DecodeVideoWidthIsTooLarge:n(796),websocketOpen:"websocketOpen",closeEnd:n(776),tempStream:n(739),videoSEI:n(769),flvScriptData:n(648),aacSequenceHeader:"aacSequenceHeader",videoSequenceHeader:n(869),flvBufferData:n(519),checkFirstIFrame:"checkFirstIFrame",mseHandle:n(668),mseFirstRenderTime:n(706),mseError:n(880),notSupportNewWasm:n(695)},R={audio:1,video:2},D={audio:8,video:9,scriptData:18},L={init:"init",decode:"decode",audioDecode:"audioDecode",videoDecode:n(535),initAudioCodec:n(649),initVideoCodec:n(639),close:n(626),updateConfig:n(900),resetDecode:n(640),clearBuffer:n(809),resetAudioDecode:"resetAudioDecode",resetVideoDecode:"resetVideoDecode",fetchStream:"fetchStream",sendWsMessage:n(791),mseUpdateVideoTimestamp:n(922),playbackIsPause:n(883)},x={fetch:n(782),destroy:n(547),destroyEnd:n(910),buffer:n(702),fetchError:"fetchError",fetchClose:n(631),fetchSuccess:n(537)},P={fetch:n(782),sendMessage:"sendMessage",destroy:n(547),destroyEnd:"destroyEnd",buffer:"buffer",websocketError:"websocketError",websocketClose:n(767),websocketOpen:"websocketOpen"},B={fullscreen:n(596),webFullscreen:n(615),decoderWorkerInit:n(861),play:n(495),playing:n(518),pause:n(781),mute:"mute",load:"load",loading:n(806),zooming:n(677),drawingRect:n(633),drawingRectInfo:n(635),videoInfo:n(812),timeUpdate:n(868),audioInfo:n(838),log:n(662),error:"error",kBps:n(552),timeout:"timeout",delayTimeout:n(538),delayTimeoutRetryEnd:"delayTimeoutRetryEnd",loadingTimeout:"loadingTimeout",loadingTimeoutRetryEnd:"loadingTimeoutRetryEnd",stats:n(614),performance:n(771),videoSmooth:n(728),faceDetectActive:n(564),objectDetectActive:n(638),occlusionDetectActive:"occlusionDetectActive",imageDetectActive:n(719),record:"record",recording:n(544),recordingTimestamp:n(716),recordStart:n(690),recordEnd:n(511),recordCreateError:"recordCreateError",recordBlob:n(807),recordCancel:n(642),buffer:n(702),videoFrame:n(549),videoSEI:"videoSEI",videoSEISyncPts:n(627),start:n(820),metadata:n(581),resize:n(744),volumechange:n(760),volume:"volume",destroy:"destroy",beforeDestroy:n(909),streamEnd:n(560),streamRate:"streamRate",streamAbps:n(651),streamVbps:n(875),streamDts:"streamDts",streamSuccess:"streamSuccess",streamMessage:"streamMessage",streamError:"streamError",streamStats:"streamStats",streamEndInner:n(540),mseSourceOpen:n(665),mseSourceClose:"mseSourceClose",mseSourceended:n(881),mseSourceStartStreaming:n(759),mseSourceEndStreaming:n(817),mseSourceBufferError:n(489),mseAddSourceBufferError:"mseAddSourceBufferError",mseWorkerAddSourceBufferError:n(753),mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:n(669),videoWaiting:n(659),videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:n(826),playToRenderTimes:"playToRenderTimes",playbackTime:"playbackTime",playbackTimestamp:"playbackTimestamp",playbackTimeScroll:n(503),playbackPrecision:"playbackPrecision",playbackShowPrecisionChange:"playbackShowPrecisionChange",playbackJustTime:n(569),playbackStats:n(865),playbackSeek:n(697),playbackPause:n(734),playbackPauseOrResume:n(914),playbackRateChange:n(758),playbackPreRateChange:n(531),playbackEnd:n(611),playVodStats:n(813),playVodPause:n(663),playVodPauseOrResume:"playVodPauseOrResume",playVodRateChange:n(941),playVodTime:n(932),playVodTimeCache:n(696),playVodSeek:n(525),playVodSeekEnd:n(679),playVodVideoSeekingByMse:n(746),playVodVideoSeekedByMse:n(641),playVodCanplay:"playVodCanplay",playVodWaiting:n(625),playVodEndedAndReplay:n(675),playVodEnded:n(557),ptz:n(522),streamQualityChange:n(710),visibilityChange:n(629),netBuf:n(888),close:n(626),networkDelayTimeout:n(846),togglePerformancePanel:n(792),viewResizeChange:"viewResizeChange",flvDemuxBufferSizeTooLarge:n(793),talkGetUserMediaSuccess:n(498),talkGetUserMediaFail:n(779),talkGetUserMediaTimeout:n(780),talkStreamStart:n(603),talkStreamOpen:n(545),talkStreamClose:n(666),talkStreamError:n(575),talkStreamInactive:n(497),talkStreamMsg:"talkStreamMsg",webrtcDisconnect:n(542),webrtcFailed:n(889),webrtcClosed:"webrtcClosed",webrtcChecking:n(536),webrtcConnected:"webrtcConnected",webrtcCompleted:n(587),webrtcOnConnectionStateChange:"webrtcOnConnectionStateChange",webrtcOnIceConnectionStateChange:n(528),crashLog:n(931),focus:n(822),blur:"blur",inView:n(670),visibilityHiddenTimeout:n(580),websocketOpen:"websocketOpen",websocketClose:n(767),websocketError:n(698),websocketMessage:n(828),aiObjectDetectorInfo:n(721),aiFaceDetectorInfo:n(890),aiOcclusionDetectResult:"aiOcclusionDetectResult",aiImageDetectResult:n(680),playFailedAndPaused:n(637),audioResumeState:n(933),webrtcStreamH265:n(507),flvMetaData:n(935),talkFailedAndStop:n(804),removeLoadingBgImage:n(834),memoryLog:"memoryLog",downloadMemoryLog:n(562),pressureObserverCpu:n(921),currentPts:"currentPts",online:n(774),offline:n(847),networkState:"networkState",clickInitPlayer:n(674)},M={load:B.load,timeUpdate:B[n(868)],videoInfo:B[n(812)],audioInfo:B[n(838)],error:B.error,kBps:B[n(552)],start:B[n(820)],timeout:B.timeout,loadingTimeout:B.loadingTimeout,loadingTimeoutRetryEnd:B.loadingTimeoutRetryEnd,delayTimeout:B[n(538)],delayTimeoutRetryEnd:B[n(765)],fullscreen:n(790),webFullscreen:B[n(615)],play:B[n(495)],pause:B.pause,mute:B[n(610)],stats:B.stats,performance:B[n(771)],recordingTimestamp:B.recordingTimestamp,recordStart:B[n(690)],recordCreateError:B[n(506)],recordEnd:B[n(511)],recordBlob:B[n(807)],recordCancel:B.recordCancel,playToRenderTimes:B[n(646)],playbackSeek:B[n(697)],playbackStats:B[n(865)],playbackTimestamp:B[n(708)],playbackPauseOrResume:B.playbackPauseOrResume,playbackPreRateChange:B[n(531)],playbackRateChange:B[n(758)],playbackShowPrecisionChange:B[n(705)],playbackEnd:B[n(611)],playVodEnded:B[n(557)],playVodPauseOrResume:B[n(582)],playVodRateChange:B[n(941)],playVodTime:B[n(932)],playVodSeek:B[n(525)],playVodSeekEnd:B[n(679)],ptz:B[n(522)],streamQualityChange:B[n(710)],zooming:B[n(677)],crashLog:B[n(931)],focus:B[n(822)],blur:B[n(795)],visibilityHiddenTimeout:B[n(580)],visibilityChange:B[n(629)],websocketOpen:B[n(526)],websocketClose:B.websocketClose,networkDelayTimeout:B[n(846)],aiObjectDetectorInfo:B[n(721)],aiFaceDetectorInfo:B[n(890)],aiOcclusionDetectResult:B[n(555)],aiImageDetectResult:B[n(680)],playFailedAndPaused:B[n(637)],streamEnd:B[n(560)],audioResumeState:B.audioResumeState,videoSEI:B[n(769)],videoSEISyncPts:B[n(627)],flvMetaData:B[n(935)],webrtcOnConnectionStateChange:B[n(821)],webrtcOnIceConnectionStateChange:B.webrtcOnIceConnectionStateChange,currentPts:B[n(934)],videoSmooth:B.videoSmooth,networkState:B.networkState,volume:B.volume,drawingRectInfo:B[n(635)],clickInitPlayer:B[n(674)]};n(666),n(575),n(497),n(780),n(804),n(857),n(868),n(838),n(620),n(820),n(502),n(768),n(538),n(765),n(495),n(781),n(610),n(646),n(526),n(767),n(637),n(933);const F={talkStreamError:B[n(575)],talkStreamClose:B[n(666)]},O={playError:n(595),fetchError:"fetchError",websocketError:n(698),webcodecsH265NotSupport:n(836),webcodecsDecodeError:n(894),webcodecsUnsupportedConfigurationError:n(687),webcodecsDecodeConfigureError:n(636),webcodecsAudioInitTimeout:n(604),webcodecsAudioNoDataTimeout:n(856),mediaSourceH265NotSupport:n(928),mediaSourceAudioG711NotSupport:"mediaSourceAudioG711NotSupport",mediaSourceAudioInitTimeout:"mediaSourceAudioInitTimeout",mediaSourceAudioNoDataTimeout:n(686),mediaSourceDecoderConfigurationError:"mediaSourceDecoderConfigurationError",mediaSourceFull:B[n(669)],mseSourceBufferError:B[n(489)],mseAddSourceBufferError:B[n(786)],mseWorkerAddSourceBufferError:B[n(753)],mediaSourceAppendBufferError:"mediaSourceAppendBufferError",mediaSourceTsIsMaxDiff:n(772),mediaSourceUseCanvasRenderPlayFailed:n(720),mediaSourceBufferedIsZeroError:n(800),wasmDecodeError:n(797),wasmUseVideoRenderError:n(622),simdH264DecodeVideoWidthIsTooLarge:n(796),simdDecodeError:"simdDecodeError",hlsError:n(845),webrtcError:"webrtcError",webrtcClosed:B.webrtcClosed,webrtcIceCandidateError:"webrtcIceCandidateError",webglAlignmentError:n(877),wasmWidthOrHeightChange:n(930),mseWidthOrHeightChange:"mseWidthOrHeightChange",wcsWidthOrHeightChange:n(652),widthOrHeightChange:n(481),tallWebsocketClosedByError:"tallWebsocketClosedByError",flvDemuxBufferSizeTooLarge:B[n(793)],audioChannelError:n(707),webglContextLostError:n(816),videoElementPlayingFailed:n(926),videoElementPlayingFailedForWebrtc:n(684),decoderWorkerInitError:n(872),decoderWorkerWasmError:n(777),videoInfoError:n(584),streamEnd:B[n(560)],websocket1006Error:n(563),delayTimeout:B[n(538)],loadingTimeout:B[n(502)],networkDelayTimeout:B[n(846)],fullscreenError:n(902),aliyunRtcError:n(559),mseWaitVideoCanplayTimeout:n(757),initDecoderWorkerTimeout:"initDecoderWorkerTimeout",notSupportNewWasm:n(695),playVodMp4Error:n(532),mp4Error:n(578),...F},U={notConnect:n(676),open:n(553),close:n(626),error:n(620)};n(850),n(510),n(681);const j={download:n(808),base64:n(479),blob:n(512)},N={download:"download",blob:"blob"},V={7:n(938),12:"H265(HEVC)",99:n(671)},z={h264:7,h265:12,mpeg4:99},G={h264:"H264(AVC)",h265:n(896)},H={AAC:10,ALAW:7,MULAW:8,MP3:2},W={AAC:"AAC",ALAW:n(704),MULAW:n(711),MP3:n(556)},K={10:n(494),7:n(906),8:"MULAW",2:"MP3"},Q={sps:7,pps:8,iFrame:5,kUnspecified:0,kSliceNonIDR:1,kSliceDPA:2,kSliceDPB:3,kSliceDPC:4,kSliceIDR:5,kSliceSEI:6,kSliceSPS:7,kSlicePPS:8,kSliceAUD:9,kEndOfSequence:10,kEndOfStream:11,kFiller:12,kSPSExt:13,kReserved0:14},Y={pFrame:1,iFrame:19,kSliceIDR_W_RADL:19,nLp:20,kSliceIDR_N_LP:20,craNut:21,kSliceCRA_NUT:21,vps:32,kSliceVPS:32,sps:33,kSliceSPS:33,pps:34,kSlicePPS:34,kSliceAUD:35,sei:39,prefixSei:39,suffixSei:40},q={full:0,auto:1,fullAuto:2},J={webcodecs:n(835),webgl:n(737),webgl2:n(747),webgpu:n(725),offscreen:n(551),mse:n(597),hls:"hls",webrtc:n(579)},X={key:"key",delta:n(647)},Z={avc:n(524),hev:'video/mp4; codecs="hev1.1.6.L123.b0"',hev2:n(929),hev3:'video/mp4;codecs="hev1.2.4.L120.90"',hev4:n(901),hev5:n(709)},$={ended:n(729),open:"open",closed:n(658)};Math[n(829)](40);const tt={esc:27,arrowUp:38,arrowDown:40},et={oneHour:n(683),halfHour:"halfHour",tenMin:n(887),fiveMin:n(891)},st={oneHour:n(655),halfHour:n(717),tenMin:n(810),fiveMin:n(657)};n(843),n(565);const it=["oneHour",n(864),n(887),n(891)],rt=["up",n(699),n(601),n(509),n(691),n(748),n(572),n(825)],nt={up:"up",right:n(699),down:n(601),left:n(509),leftUp:n(831),leftDown:n(761),rightUp:"rightUp",rightDown:n(576),stop:n(749),fiStop:n(644),zoomExpand:"zoomExpand",zoomNarrow:n(726),apertureFar:n(745),apertureNear:n(852),focusFar:"focusFar",focusNear:"focusNear",cruiseStart:n(533),cruiseStop:n(819),fogOpen:n(623),fogClose:n(862),wiperOpen:n(602),wiperClose:n(678)},ot=(n(664),n(773),n(858),{png:n(586),jpeg:n(487),webp:n(701)}),at={sourceClose:"sourceclose",sourceOpen:n(561),sourceended:n(570),startstreaming:"startstreaming",endstreaming:n(859),qualitychange:n(942)},ht={canplay:n(766),waiting:"waiting",timeUpdate:n(478),ratechange:n(660),stalled:n(558),progress:n(886),loadedmetadata:n(718)},ct={h264:n(501),h265:n(491)},lt={keyframeIsRequiredError:n(832),canNotDecodeClosedCodec:n(486),unsupportedConfiguration:"Unsupported configuration",decoderFailure:n(624),decodingError:n(854),decoderError:n(752),hevcDecodingIsNotSupported:n(818)},dt={abortError:"The user aborted a request",abortError2:n(788),abort:n(788)},ut={loading:n(806),playing:n(518),paused:n(605),destroy:n(547)},pt={sequenceHeader:0,nalu:1},ft={keyFrame:1,interFrame:2};n(850),n(600),n(731),n(923),n(482);n(643),n(620),n(630);n(664),n(600),n(923),n(480),n(594),n(667);const mt={worklet:n(667),script:n(654),active:"active"},gt={name:"",index:0,icon:"",iconHover:"",iconTitle:"",activeIcon:"",activeIconHover:"",activeIconTitle:"",click:null,activeClick:null},At={content:"",click:null,index:0};n(756),n(609),n(617),n(940),n(743),n(523),n(830),n(903),n(567),n(815),n(653),n(939),n(488),n(860),n(589);const yt={keyFrame:1,interFrame:2};function bt(){const t=["playing","flvBufferData","77tsDvKg","mp4","ptz","multiMouseover",'video/mp4; codecs="avc1.64002A"',"playVodSeek","websocketOpen","remote-outbound-rtp","webrtcOnIceConnectionStateChange","play() failed because the user didn't interact with the document first","请求失败","playbackPreRateChange","playVodMp4Error","cruiseStart","playbackStreamVideoFps","videoDecode","webrtcChecking","fetchSuccess","delayTimeout","isHls","streamEndInner","webrtc-connected","webrtcDisconnect","JessibucaPro","recording","talkStreamOpen","webrtc-failed","destroy","decoder-pro-hard-not-wasm.js","videoFrame","mov","offscreen","kBps","open","readystatechange","aiOcclusionDetectResult","MP3","playVodEnded","stalled","aliyunRtcError","streamEnd","sourceopen","downloadMemoryLog","websocket1006Error","faceDetectActive","5min","mouseDownAndUp","multiDragstart","memory access out of bounds","playbackJustTime","sourceended","idle","left-down","csrc","nakedFlow","talkStreamError","rightDown","video自动渲染失败","mp4Error","webrtc","visibilityHiddenTimeout","metadata","playVodPauseOrResume","audio packet","videoInfoError","sei-in-time","image/png","webrtcCompleted","webgl 上下文丢失","container","3653580AtSUDQ","mpeg4","isNakedFlow","4355784KoVuZg","warn","playIsNotPauseOrUrlIsNull","fullscreen$2","mse","video","webTransport","rtp","down","wiperOpen","talkStreamStart","webcodecsAudioInitTimeout","paused","playVod","Webgl 渲染失败","播放超时重播失败","#FFCC00","mute","playbackEnd","canplaythrough","remote-candidate","stats","webFullscreen","canvas","multiFullscreen","初始化音频解码器失败","FLV待解封装buffer过大","error","audioCode","wasmUseVideoRenderError","fogOpen","Decoder failure","playVodWaiting","close","videoSEISyncPts","flv","visibilityChange","message","fetchClose","seeking","drawingRect","websocket","drawingRectInfo","webcodecsDecodeConfigureError","playFailedAndPaused","objectDetectActive","initVideoCodec","resetDecode","playVodVideoSeekedByMse","recordCancel","stream","fiStop","playerAudio","playToRenderTimes","delta","flvScriptData","initAudioCodec","wcs","streamAbps","wcsWidthOrHeightChange","multiDragleave","script","one-hour","controlSize","five-min","closed","videoWaiting","ratechange","2572885RaNmhA","log","playVodPause","g711a","mseSourceOpen","talkStreamClose","worklet","mseHandle","mseSourceBufferFull","inView","MPEG4","videoNalu","WebTransport","clickInitPlayer","playVodEndedAndReplay","notConnect","zooming","wiperClose","playVodSeekEnd","aiImageDetectResult","full","HLS","oneHour","videoElementPlayingFailedForWebrtc","1KSGXPq","mediaSourceAudioNoDataTimeout","webcodecsUnsupportedConfigurationError","videoCodec","不支持该分辨率的视频","recordStart","left-up","player","isMpeg4","subtitle-playlist","notSupportNewWasm","playVodTimeCache","playbackSeek","websocketError","right","connecting","image/webp","buffer","load-retry","ALAW(g711a)","playbackShowPrecisionChange","mseFirstRenderTime","audioChannelError","playbackTimestamp",'video/mp4;codecs="hev1.4.10.L120.90"',"streamQualityChange","MULAW(g711u)","isWebrtc","流异常结束","mseDecodeError","vertical","recordingTimestamp","half-hour","loadedmetadata","imageDetectActive","mediaSourceUseCanvasRenderPlayFailed","aiObjectDetectorInfo","videoPayload","loadeddata","stream-parsed","webgpu","zoomNarrow","流异常","videoSmooth","ended","网络超时重播失败","jtt","complete","normal","playbackPause","解码失败","none","webgl","no-audio-track","tempStream","硬解码不支持G711a/u音频格式","解析视频分辨率失败","streamError","multiSelected","resize","apertureFar","playVodVideoSeekingByMse","webgl2","right-up","stop","audioNalu","playAudio","Decoder error","mseWorkerAddSourceBufferError","track","148492hqQMGn","#343434","mseWaitVideoCanplayTimeout","playbackRateChange","mseSourceStartStreaming","volumechange","leftDown","workerFetch","hls-level-loaded","wasm","delayTimeoutRetryEnd","canplay","websocketClose","loadingTimeoutRetryEnd","videoSEI","click","performance","mediaSourceTsIsMaxDiff","g711u","online","webrtc-checking","closeEnd","decoderWorkerWasmError","sourcebuffer-created","talkGetUserMediaFail","talkGetUserMediaTimeout","pause","fetch","MEDIA_ERR_DECODE","sei","window","mseAddSourceBufferError","peer-connection","AbortError","playbackForwardMaxRateDecodeIFrame","fullscreen","sendWsMessage","togglePerformancePanel","flvDemuxBufferSizeTooLarge","等待音频数据超时","blur","simdH264DecodeVideoWidthIsTooLarge","wasmDecodeError","candidate-pair","webrtc-closed","mediaSourceBufferedIsZeroError","load-start","widthOrHeightChangeReplayDelayTime","mp3","talkFailedAndStop","请求结束","loading","recordBlob","download","clearBuffer","ten-min","Webrtc","videoInfo","playVodStats","global","multiDragenter","webglContextLostError","mseSourceEndStreaming","HEVC decoding is not supported","cruiseStop","start","webrtcOnConnectionStateChange","focus","supportHls265","1395166APIXyT","right-down","videoSyncAudio","initVideo","websocketMessage","ceil","multiMousedown","leftUp","A key frame is required after configure() or flush()","hls","removeLoadingBgImage","webcodecs","webcodecsH265NotSupport","videoCode","audioInfo","MediaSource解码使用canvas渲染失败","emptied","初始化解码worker超时","render","30min","simdDecodeError","hlsError","networkDelayTimeout","offline","isDropping","decoder-pro-old.js","empty","init","apertureNear","certificate","Decoding error","media-source","webcodecsAudioNoDataTimeout","load","pcm","endstreaming","1-1","decoderWorkerInit","fogClose","isWebrtcForSRS","halfHour","playbackStats","decoder-pro-hard.js","object","timeUpdate","videoSequenceHeader","webrtc不支持H265","outbound-rtp","decoderWorkerInitError","wasm解码失败","NotAllowedError","streamVbps","/crypto/","webglAlignmentError","initAudio","inbound-rtp","mseError","mseSourceended","aliyunRtc","playbackIsPause","waiting","default","progress","tenMin","netBuf","webrtcFailed","aiFaceDetectorInfo","fiveMin","durationchange","subtitle-segments","webcodecsDecodeError","ws1006","H265(HEVC)","white","small","decoder-pro.js","updateConfig",'video/mp4;codecs="hev1.3.E.L120.90"',"fullscreenError","multiMousemove","switch-url-success","data-channel","ALAW","decoder-pro-audio-player.js","g711","beforeDestroy","destroyEnd","simple","FMP4","red","playbackPauseOrResume","demuxed-track","2350120YGJBmg","codec","ttfb","workerEnd","isFmp4","pressureObserverCpu","mseUpdateVideoTimestamp","tcp","receiver","transport","videoElementPlayingFailed","1455056UVRdUD","mediaSourceH265NotSupport",'video/mp4;codecs="hev1.1.6.L120.90"',"wasmWidthOrHeightChange","crashLog","playVodTime","audioResumeState","currentPts","flvMetaData","初始化解码器失败","ulaw","H264(AVC)","multiDrop","multiDblSelected","playVodRateChange","qualitychange","不支持硬解码H265","timeupdate","base64","0000000000","widthOrHeightChange","udp","sender","M7S","load-response-headers","Cannot call 'decode' on a closed codec","image/jpeg","3-1","mseSourceBufferError","remote-inbound-rtp","hevc","加载超时重播失败","6wmDxgH","AAC","play","音频通道错误","talkStreamInactive","talkGetUserMediaSuccess","缓冲区已满","networkDelay","avc","loadingTimeout","playbackTimeScroll","36qYOBds","FLV","recordCreateError","webrtcStreamH265","flv-script-data","left","buffering","recordEnd","blob","buffereos","初始化worker失败","speed","fmp4","alaw"];return(bt=function(){return t})()}n(594),n(782),n(628),n(907);const vt={SUBTITLE_SEGMENTS:n(893),HLS_MANIFEST_LOADED:"hls-manifest-loaded",HLS_LEVEL_LOADED:n(763),DEMUXED_TRACK:n(915),FLV_SCRIPT_DATA:n(508),METADATA_PARSED:"metadata-parsed",TTFB:n(918),LOAD_RETRY:n(703),LOAD_START:n(801),SPEED:n(515),LOAD_COMPLETE:"load-complete",LOAD_RESPONSE_HEADERS:n(485),SEI:n(784),SEI_IN_TIME:n(585),NO_AUDIO_TRACK:n(738),REMOVE_BUFFER:"remove-buffer",BUFFEREOS:n(513),SOURCEBUFFER_CREATED:n(778),SWITCH_URL_FAILED:"switch-url-failed",SWITCH_URL_SUCCESS:n(904),SUBTITLE_PLAYLIST:n(694),STREAM_PARSED:n(724),ERROR:n(620)},St=[0,160,240,320,480,640],wt=[0,160,240,320,480,640],Et=["轻松","正常","较高","高"],It={idle:n(571),connecting:n(700),buffering:n(510),error:n(620),complete:n(732)},Tt={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:n(783),4:"MEDIA_ERR_SRC_NOT_SUPPORTED"},kt={videoDecoderInitializationFailed:"video decoder initialization failed",audioDecoderError:n(583),playFailedBecauseNotNotInteractWithTheDocumentFirst:n(529)};n(874);const _t={memoryAccessOutOfBounds:n(568)},Ct={video:1,audio:2},Rt={PACKET_TYPE_SEQ_START:0,PACKET_TYPE_FRAMES:1,PACKET_TYPE_SEQ_END:2,PACKET_TYPE_FRAMESX:3,PACKET_TYPE_METADATA:4},Dt={FT_KEY:16,FT_INTER:32},Lt={CandidatePair:n(798),Certificate:n(853),Codec:n(917),Csrc:n(573),DataCahnnel:n(905),InboundRtp:n(879),LocalCandidate:"local-candidate",OutboundRtp:n(871),PeerConnection:n(787),Receiver:n(924),RemoteCandidate:n(613),RemoteInboundRtp:n(490),RemoteOutboundRtp:n(527),Sender:n(483),Stream:n(643),Track:n(754),Transport:n(925),MediaSource:n(855)},xt=9e4,Pt=45e4,Bt=9e4,Mt={ws1006:n(895),mseDecodeError:n(714),wcsDecodeError:"wcsDecodeError",streamError:n(742)},Ft={ulaw:n(937),alaw:n(517),mp3:n(803)},Ot=48e3;n(775),n(541),n(546),n(799);const Ut={created:"created",loading:n(806),playing:n(518)},jt=typeof window===n(867)&&window[n(785)]===window?window:typeof self===n(867)&&self.self===self?self:typeof global===n(867)&&global[n(814)]===global?global:void 0,Nt=(n(766),n(612),n(892),n(840),n(729),n(620),n(723),n(495),"progress"),Vt=(n(660),n(632),n(558),n(478),n(760),n(884),n(554),{error:"error"});function zt(t,e){const s=Gt();return(zt=function(t,e){return s[t-=481]})(t,e)}function Gt(){const t=["log","JbPro","debugUuid","308elQpUI","249918knXlEl","16386948cLeQgc","4315650GNJwKS","998716rsAtaN","warn","132912cNtfqY","83010dmmXke","_opt","[❌❌❌][","length","error","debugLevel","4sNUsJj","debug","[✅✅✅][","1157315DibIqz"];return(Gt=function(){return t})()}!function(t,e){const s=zt,i=t();for(;;)try{if(933560===-parseInt(s(482))/1+parseInt(s(490))/2+-parseInt(s(487))/3*(parseInt(s(499))/4)+-parseInt(s(489))/5+-parseInt(s(493))/6+-parseInt(s(486))/7*(-parseInt(s(492))/8)+parseInt(s(488))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Gt);class Ht{constructor(t){const e=zt;this.log=function(e){const s=zt;if(t[s(494)].debugLevel==m[s(500)]){const o=t[s(494)][s(485)]?"["+t[s(494)].debugUuid+"]":"";for(var i=arguments[s(496)],r=new Array(i>1?i-1:0),n=1;n1?r-1:0),o=1;o1?n-1:0),a=1;a32&&console[e(116)](e(144)),t<=this[e(120)]){let s=this[e(137)]>>>32-t;return this[e(137)]<<=t,this[e(120)]-=t,s}let s=this[e(120)]?this[e(137)]:0;s>>>=32-this._current_word_bits_left;let i=t-this[e(120)];this[e(132)]();let r=Math[e(136)](i,this[e(120)]),n=this[e(137)]>>>32-r;return this[e(137)]<<=r,this._current_word_bits_left-=r,s=s<>>e))return this[t(137)]<<=e,this._current_word_bits_left-=e,e;return this[t(132)](),e+this[t(124)]()}readUEG(){const t=$t;let e=this[t(124)]();return this[t(134)](e+1)-1}[$t(139)](){let t=this[$t(117)]();return 1&t?t+1>>>1:-1*(t>>>1)}}const ie=re;function re(t,e){const s=he();return(re=function(t,e){return s[t-=416]})(t,e)}!function(t,e){const s=re,i=t();for(;;)try{if(236521===parseInt(s(444))/1+parseInt(s(452))/2*(-parseInt(s(420))/3)+parseInt(s(459))/4+-parseInt(s(443))/5+-parseInt(s(461))/6*(parseInt(s(445))/7)+-parseInt(s(473))/8*(-parseInt(s(419))/9)+parseInt(s(462))/10*(-parseInt(s(464))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(he);const ne=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],oe=ne,ae=ne;function he(){const t=["allStreamsSameTimeFraming zero is Not Supported","readBool","profile: ","getLATMValue","mp4a.40.","4252590vlTHzi","3bWKdcF","sampling_freq_index","Could not found ADTS syncword until payload end","sbr","length","audio_object_type","read","channels","Flv: AAC invalid sampling frequency index!","data_","buflen","more than 2 numProgram Not Supported","iserro","sampleRate: ","current_syncword_offset_","has_last_incomplete_data","other_data_present","aac","object_type","channel: ","set","channel_config","byteLength","50550qGXYnk","401956MRsdDv","7kviiSn","bufpos","readNextAACFrame","readBits","firefox","buffer","chan_config","387636yGDwSO","mp4a.40.2","bufoff","sampling_index","error","sampling_frequency","findNextSyncwordOffset","1038448NOqsIn","indexOf","1411206YZnKTO","310zUWptV","subarray","162668rFfCmR","ext_object_type","more than 2 numLayer Not Supported","sample_rate","aacEncoderConfigurationRecord","log","frameLengthType = ","sequenceHeader","toLowerCase","8yGaIIu","readByte",". Only frameLengthType = 0 Supported","audioMuxVersionA is Not Supported","slice","destroy","eof_flag_","data"];return(he=function(){return t})()}function ce(t){let{profile:e,sampleRate:s,channel:i}=t;return new Uint8Array([175,0,e<<3|(14&s)>>1,(1&s)<<7|i<<3])}function le(t){const e=re;return de(t)&&t[1]===pt[e(471)]}function de(t){return t[0]>>4===H.AAC}function ue(t,e){if(t===re(453)){if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}function pe(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return 1024*e/t}const fe=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function me(t){const e=re;let s=new Uint8Array(t),i=null,r=0,n=0,o=0,a=null;if(r=n=s[0]>>>3,o=(7&s[0])<<1|s[1]>>>7,o<0||o>=fe.length)return void console[e(456)](e(428));let h=fe[o],c=(120&s[1])>>>3;if(c<0||c>=8)return void console[e(469)]("Flv: AAC invalid channel configuration");5===r&&(a=(7&s[1])<<1|s[2]>>>7,s[2]);let l=jt.navigator.userAgent[e(472)]();return-1!==l[e(460)](e(449))?o>=6?(r=5,i=new Array(4),a=o-3):(r=2,i=new Array(2),a=o):-1!==l.indexOf("android")?(r=2,i=new Array(2),a=o):(r=5,a=o,i=new Array(4),o>=6?a=o-3:1===c&&(r=2,i=new Array(2),a=o)),i[0]=r<<3,i[0]|=(15&o)>>>1,i[1]=(15&o)<<7,i[1]|=(15&c)<<3,5===r&&(i[1]|=(15&a)>>>1,i[2]=(1&a)<<7,i[2]|=8,i[3]=0),{audioType:e(437),config:i,sampleRate:h,channelCount:c,objectType:r,codec:e(418)+r,originalCodec:"mp4a.40."+n}}class ge{constructor(t){const e=re;this[e(450)]=t,this[e(430)]=t[e(424)],this[e(446)]=0,this[e(454)]=0,this[e(432)]=!1}[ie(426)](t){const e=ie;let s=0,i=0;for(;t;){if(t<0||this[e(446)]>=this[e(430)])return this[e(432)]=!0,0;this[e(432)]=!1,i=this[e(454)]+t>8?8-this[e(454)]:t,s<<=i,s+=this[e(450)][this[e(446)]]>>8-this.bufoff-i&255>>8-i,this[e(454)]+=i,t-=i,8==this.bufoff&&(this[e(446)]++,this[e(454)]=0)}return s}look(t){const e=ie;let s=this.bufpos,i=this[e(454)],r=this[e(426)](t);return this.bufpos=s,this[e(454)]=i,r}read_golomb(){const t=ie;let e;for(e=0;0==this[t(426)](1)&&!this[t(432)];e++);return(1<=i[e(442)])return this.eof_flag_=!0,i[e(442)];if(4095===(i[s+0]<<8|i[s+1])>>>4)return s;s++}}[ie(447)](){const t=ie;let e=this.data_,s=null;for(;null==s&&!this[t(479)];){let i=this.current_syncword_offset_,r=(8&e[i+1])>>>3,n=(6&e[i+1])>>>1,o=1&e[i+1],a=(192&e[i+2])>>>6,h=(60&e[i+2])>>>2,c=(1&e[i+2])<<2|(192&e[i+3])>>>6,l=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+l>this[t(429)][t(442)]){this.eof_flag_=!0,this[t(435)]=!0;break}let d=1===o?7:9,u=l-d;i+=d;let p=this[t(458)](i+u);if(this.current_syncword_offset_=p,0!==r&&1!==r||0!==n)continue;let f=e[t(463)](i,i+u);s={},s[t(425)]=a+1,s.sampling_freq_index=h,s[t(457)]=oe[h],s[t(441)]=c,s[t(480)]=f}return s}hasIncompleteData(){return this[ie(435)]}getIncompleteData(){const t=ie;return this[t(435)]?this[t(429)][t(463)](this[t(434)]):null}}class we{constructor(t){const e=ie;this[e(429)]=t,this[e(479)]=!1,this[e(434)]=this[e(458)](0),this[e(479)]&&console[e(456)](e(422))}[ie(458)](t){const e=ie;let s=t,i=this[e(429)];for(;;){if(s+1>=i[e(442)])return this[e(479)]=!0,i[e(442)];if(695===(i[s+0]<<3|i[s+1]>>>5))return s;s++}}[ie(417)](t){const e=ie;let s=t[e(448)](2),i=0;for(let r=0;r<=s;r++)i<<=8,i|=t[e(474)]();return i}[ie(447)](t){const e=ie;let s=this[e(429)],i=null;for(;null==i&&!this[e(479)];){let r=this.current_syncword_offset_,n=(31&s[r+1])<<8|s[r+2];if(r+3+n>=this[e(429)].byteLength){this.eof_flag_=!0,this[e(435)]=!0;break}let o=new se(s[e(463)](r+3,r+3+n)),a=null;if(o[e(482)]()){if(null==t){console.warn("StreamMuxConfig Missing"),this[e(434)]=this[e(458)](r+3+n),o[e(478)]();continue}a=t}else{let t=o[e(482)]();if(t&&o[e(482)]()){console[e(456)](e(476)),o[e(478)]();break}if(t&&this[e(417)](o),!o[e(482)]()){console[e(456)](e(481)),o[e(478)]();break}if(0!==o[e(448)](6)){console[e(456)]("more than 2 numSubFrames Not Supported"),o[e(478)]();break}if(0!==o[e(448)](4)){console.error(e(431)),o[e(478)]();break}if(0!==o[e(448)](3)){console[e(456)](e(466)),o.destroy();break}let s=t?this[e(417)](o):0,i=o[e(448)](5);s-=5;let r=o.readBits(4);s-=4;let n=o[e(448)](4);s-=4,o.readBits(3),s-=3,s>0&&o[e(448)](s);let h=o[e(448)](3);if(0!==h){console[e(456)](e(470)+h+e(475)),o[e(478)]();break}o[e(474)]();let c=o.readBool();if(c)if(t)this[e(417)](o);else{let t=0;for(;;){t<<=8;let s=o[e(482)]();if(t+=o[e(474)](),!s)break}console[e(469)](t)}o[e(482)]()&&o[e(474)](),a={},a[e(425)]=i,a[e(421)]=r,a[e(457)]=oe[a.sampling_freq_index],a.channel_config=n,a[e(436)]=c}let h=0;for(;;){let t=o.readByte();if(h+=t,255!==t)break}let c=new Uint8Array(h);for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:0;return(t[s]<<24>>>0)+(t[s+1]<<16)+(t[s+2]<<8)+(t[s+3]||0)}function Ie(t){const e=ke;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(t[e(291)]<4)return[];const i=t.length,r=[];let n,o=0;for(;o+s>>=8),o+=s,n){if(o+n>i)break;r[e(285)](t[e(298)](o,o+n)),o+=n}return r}function Te(t,e){const s=ke,i=t[s(291)];let r=e?2:1,n=0,o=0,a="";for(;255===t[r];)n+=255,r++;for(n+=t[r++];255===t[r];)o+=255,r++;if(o+=t[r++],5===n&&i>r+16)for(let e=0;e<16;e++)a+=t[r][s(296)](16),r++;return{payload:t.subarray(r),type:n,size:o,uuid:a}}function ke(t,e){const s=Ce();return(ke=function(t,e){return s[t-=285]})(t,e)}function _e(t){const e=ke,s=t[e(301)],i=new Uint8Array(4);i[0]=s>>>24&255,i[1]=s>>>16&255,i[2]=s>>>8&255,i[3]=255&s;const r=new Uint8Array(s+4);return r[e(286)](i,0),r[e(286)](t,4),r}function Ce(){const t=["178758IGHARc","length","9lBKJLw","242644ReSmEf","setUint32","3014020nIMJSL","toString","34925JrnJts","subarray","12ggVhfN","2287024chNqaZ","byteLength","594345pGcqRu","push","set","shift","395230XBQVIQ","63jCcyzt"];return(Ce=function(){return t})()}!function(t,e){const s=ke,i=t();for(;;)try{if(143848===-parseInt(s(297))/1+-parseInt(s(288))/2+-parseInt(s(299))/3*(-parseInt(s(293))/4)+-parseInt(s(302))/5+-parseInt(s(290))/6*(-parseInt(s(289))/7)+-parseInt(s(300))/8*(-parseInt(s(292))/9)+-parseInt(s(295))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ce);const Re=Ks;function De(){}function Le(t){const e=Ks;let s=null;const i=[e(412),e(662),e(577),e(411)];let r=0;for(;!s&&r0&&void 0!==arguments[0]?arguments[0]:"";const s=e[t(473)](","),i=atob(s[1]),r=s[0][t(575)](t(693),"")[t(575)](";base64","");let n=i[t(503)],o=new Uint8Array(n);for(;n--;)o[n]=i[t(627)](n);return new File([o],t(522),{type:r})}function Be(){const t=Ks;return(new Date)[t(659)]()}function Me(t,e,s){const i=Ks;return Math[i(438)](Math.min(t,Math[i(438)](e,s)),Math.min(e,s))}function Fe(t,e,s){const i=Ks;if(t)return"object"==typeof e&&Object[i(664)](e).forEach((s=>{Fe(t,s,e[s])})),t[i(424)][e]=s,t}function Oe(t,e){const s=Ks;let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t)return 0;const r=getComputedStyle(t,null)[s(615)](e);return i?parseFloat(r):r}function Ue(){const t=Ks;return performance&&"function"==typeof performance[t(587)]?performance.now():Date[t(587)]()}function je(t){let e=0,s=Ue();return i=>{if(!es(i))return;e+=i;const r=Ue(),n=r-s;n>=1e3&&(t(e/n*1e3),s=r,e=0)}}!function(t,e){const s=Ks,i=t();for(;;)try{if(713350===-parseInt(s(508))/1+parseInt(s(581))/2+parseInt(s(602))/3*(-parseInt(s(619))/4)+parseInt(s(398))/5+-parseInt(s(656))/6+parseInt(s(495))/7*(parseInt(s(434))/8)+parseInt(s(561))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(zs),(()=>{const t=Ks;try{if(typeof WebAssembly===t(475)&&"function"==typeof WebAssembly[t(593)]){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly[t(538)])return new(WebAssembly[t(646)])(e)instanceof WebAssembly.Instance}}catch(t){}})();const Ne=Re(649),Ve=Re(589);Re(618),Re(643);function ze(){const t=Re;return/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i[t(445)](window[t(644)][t(594)][t(563)]())}function Ge(){return!(ze()||function(){const t=Re;return/ipad|android(?!.*mobile)|tablet|kindle|silk/i[t(445)](window[t(644)][t(594)][t(563)]())}())}function He(){const t=Re,e=window[t(644)][t(594)][t(563)]();return/android/i[t(445)](e)}function We(){const t=Re,e=window[t(644)][t(594)][t(563)]();return/firefox/i[t(445)](e)}function Ke(){const t=Re,e=window.navigator[t(594)][t(563)]()||"",s={type:"",version:""},i={IE:window[t(679)]||t(679)in window,Chrome:e[t(634)](t(459))>-1&&e[t(634)](t(399))>-1,Firefox:e.indexOf(t(672))>-1,Opera:e[t(634)](t(642))>-1,Safari:e[t(634)](t(399))>-1&&-1==e.indexOf(t(459)),Edge:e[t(634)](t(440))>-1,QQBrowser:/qqbrowser/[t(445)](e),WeixinBrowser:/MicroMessenger/i[t(445)](e)};for(let r in i)if(i[r]){let i="";if("IE"===r){const s=e[t(603)](/(msie\s|trident.*rv:)([\w.]+)/);s&&s[t(503)]>2&&(i=e[t(603)](/(msie\s|trident.*rv:)([\w.]+)/)[2])}else if(r===t(551)){for(let e in navigator[t(639)])navigator[t(639)][e].type===t(402)&&(r="360");const s=e[t(603)](/chrome\/([\d.]+)/);s&&s[t(503)]>1&&(i=s[1])}else if("Firefox"===r){const s=e[t(603)](/firefox\/([\d.]+)/);s&&s[t(503)]>1&&(i=s[1])}else if(r===t(510)){const s=e[t(603)](/opera\/([\d.]+)/);s&&s[t(503)]>1&&(i=s[1])}else if(r===t(684)){const s=e[t(603)](/version\/([\d.]+)/);s&&s.length>1&&(i=s[1])}else if(r===t(518)){const s=e.match(/edge\/([\d.]+)/);s&&s[t(503)]>1&&(i=s[1])}else if(r===t(529)){const t=e.match(/qqbrowser\/([\d.]+)/);t&&t.length>1&&(i=t[1])}s[t(421)]=r,s[t(632)]=parseInt(i)}return s}function Qe(){const t=Re,e=window.navigator[t(594)][t(563)]();return e&&/iphone|ipad|ipod|ios/[t(445)](e)}function Ye(){const t=Re,e=window[t(644)][t(594)];return!e[t(603)](/Chrome/gi)&&!!e[t(603)](/Safari/gi)}function qe(t,e){const s=Re;if(0===arguments[s(503)])return null;var i,r=e||"{y}-{m}-{d} {h}:{i}:{s}";typeof t===s(475)?i=t:(10===(""+t).length&&(t=1e3*parseInt(t)),t=+t,i=new Date(t));var n={y:i[s(394)](),m:i[s(658)]()+1,d:i[s(700)](),h:i.getHours(),i:i[s(571)](),s:i.getSeconds(),a:i.getDay()},o=r[s(575)](/{(y|m|d|h|i|s|a)+}/g,((t,e)=>{var s=n[e];return"a"===e?["一","二","三","四","五","六","日"][s-1]:(t.length>0&&s<10&&(s="0"+s),s||0)}));return o}function Je(){const t=Re;let e=!1;return t(544)in jt&&typeof jt[t(544)]===t(673)&&(e=!0),e}function Xe(t){if(typeof t!==Re(514))return t;var e=Number(t);return isNaN(e)?t:e}function Ze(){const t=Re;return t(645)[t(575)](/[xy]/g,(function(e){const s=t;var i=16*Math.random()|0;return("x"==e?i:3&i|8)[s(624)](16)}))}function $e(t,e){let s,i,r=!1;return function n(){const o=Ks;for(var a=arguments[o(503)],h=new Array(a),c=0;c{r=!1,s&&(n[o(403)](i,s),s=null,i=null)}),e)}}function ts(t){const e=Re;if(null==t||""==t)return"0 Bytes";const s=new Array(e(517),"KB","MB","GB","TB","PB","EB","ZB","YB");let i=0;const r=parseFloat(t);i=Math[e(494)](Math.log(r)/Math[e(703)](1024));var n=r/Math[e(578)](1024,i);return(n=n[e(702)](2))+s[i]}function es(t){const e=Re;return"[object Number]"===Object[e(661)].toString[e(407)](t)}function ss(){const t=Re;let e=!1;return t(628)in jt&&jt[t(628)]&&(jt[t(628)][t(698)](Z[t(532)])||jt[t(628)].isTypeSupported(Z[t(669)])||jt[t(628)][t(698)](Z.hev3)||jt[t(628)][t(698)](Z[t(655)])||jt[t(628)][t(698)](Z[t(622)]))&&(e=!0),e}function is(){const t=Re,e=Ke();return e[t(421)][t(563)]()===t(459)&&e[t(632)]>=107}function rs(){let t=!1;return"MediaStreamTrackGenerator"in window&&(t=!0),t}function ns(){let t=!1;return"MediaStream"in window&&(t=!0),t}function os(t,e){const s=Re;let i=window[s(420)].createObjectURL(e),r=window[s(455)].createElement("a");r[s(638)]=t,r.href=i;let n=window[s(455)][s(483)](s(474));n[s(548)](s(623),!0,!0),r[s(580)](n),setTimeout((()=>{window[s(420)].revokeObjectURL(i)}),Qe()?1e3:0)}function as(t){return null==t}function hs(t){return!0===t||!1===t}function cs(t){return!as(t)}function ls(t){const e=Re;let s={left:"",right:"",top:"",bottom:"",opacity:1,backgroundColor:"",image:{src:"",width:"100",height:"60"},text:{content:"",fontSize:"14",color:e(477),width:"",height:""},rect:{color:e(630),lineWidth:2,width:"",height:"",fill:"",fillOpacity:.2},line:{x1:"",y1:"",x2:"",y2:"",color:e(630),lineWidth:2},polygon:{color:e(630),lineWidth:2,list:[],fill:"",fillOpacity:.2},html:""};const i=Object[e(390)](s[e(583)],t[e(583)]||{}),r=Object[e(390)](s[e(614)],t.text||{}),n=Object[e(390)](s[e(535)],t[e(535)]||{}),o=Object.assign(s.line,t.line||{});return s=Object.assign(s,t,{image:i,text:r,rect:n,line:o}),s}function ds(t,e){const s=Re;let i={container:t||"",text:"",opacity:"",angle:"",color:"",fontSize:"",fontFamily:""};return i=Object[s(390)](i,e),{watermark_parent_node:i.container,watermark_alpha:i[s(479)],watermark_angle:i[s(553)],watermark_fontsize:i[s(476)],watermark_color:i[s(395)],watermark_font:i[s(608)],watermark_txt:i[s(614)]}}function us(t,e){return new Promise(((s,i)=>{const r=Ks;let n=ls(e);if(!n[r(583)].src&&!n.text[r(512)])return s(t);let o=document.createElement(r(509));o[r(597)]=e[r(597)],o[r(686)]=e[r(686)];let a=o.getContext("2d");a[r(484)]=!0,a.imageSmoothingEnabled&&(a[r(641)]=r(540));let h=0,c=0;es(n[r(521)])?h=n[r(521)]:es(n[r(409)])&&(h=o.width-n[r(409)]),es(n[r(458)])?c=n[r(458)]:es(n[r(423)])&&(c=o[r(686)]-n.bottom);const l=new Image;l[r(419)]=t,l[r(513)]=()=>{const t=r;if(a[t(468)](l,0,0),n[t(583)]&&n[t(583)][t(419)]){const r=new Image;r[t(419)]=n[t(583)][t(419)],r[t(416)](t(635),t(467)),r.onload=()=>{const i=t;h-=n.image[i(597)],a.drawImage(r,h,c,n.image[i(597)],n[i(583)][i(686)]),s(o.toDataURL(e[i(584)],e.quality))},r[t(671)]=t=>{i()}}else n.text&&n[t(614)].content&&(a.font=n.text[t(476)]+t(487),a.fillStyle=n[t(614)][t(395)],a[t(617)]=t(409),a[t(685)](n.text[t(512)],h,c),s(o[t(665)](e[t(584)],e.quality)))},l[r(671)]=t=>{i(t)}}))}function ps(t){const e=Re;var s,i=0;if(0===t[e(503)])return i;for(s=0;s{const r=Ks;if(!e[r(681)])return s(t);let n=document.createElement(r(509));n[r(597)]=e[r(597)],n[r(686)]=e[r(686)];let o=n[r(456)]("2d");o[r(484)]=!0,o[r(484)]&&(o[r(641)]="high");const a=new Image;a[r(419)]=t,a.onload=()=>{const t=r;o[t(468)](a,0,0);const i=ps(e[t(681)]),h=o[t(545)](0,0,n.width,n[t(686)]);(function(t,e){for(var s=t[Re(431)],i=0,r=0;r<32;r++){var n=e>>r&1,o=254&s[i]|n;s[i]=o,i+=4}})(h,i),o[t(663)](h,0,0),s(n[t(665)](e[t(584)],e[t(497)]))},a.onerror=t=>{i(t)}}))}function ms(t){const e=Re;var s;if(t>-1){var i=Math.floor(t/3600),r=Math[e(494)](t/60)%60,n=t%60;s=i<10?"0"+i+":":i+":",r<10&&(s+="0"),s+=r+":",(n=Math.round(n))<10&&(s+="0"),s+=n[e(702)](0)}return s}function gs(t,e){let s="";if(t>-1){const i=Math[Re(494)](t/60)%60;let r=t%60;r=Math.round(r),s=i<10?"0"+i+":":i+":",r<10&&(s+="0"),s+=r,!as(e)&&(e<10&&(e="0"+e),s+=":"+e)}return s}function As(t){const e=Re;let s="";if(t>-1){const i=Math[e(494)](t/60/60)%60;let r=Math[e(494)](t/60)%60,n=t%60;r=Math[e(464)](r),s=i<10?"0"+i+":":i+":",r<10&&(s+="0"),s+=r+":",n<10&&(s+="0"),s+=n}return s}function ys(t,e){const s=Re,i=Math[s(494)](e/60)%60,r=Math.floor(e%60);return new Date(t)[s(527)](i,r,0,0)}function bs(t,e){const s=Re,i=Math.floor(e/60/60)%60,r=Math[s(494)](e/60)%60,n=e%60;return new Date(t).setHours(i,r,n,0)}function vs(t){return(""+t).length}function Ss(t){return t&&0===Object.keys(t).length}function ws(t){return!Ss(t)}function Es(t){return typeof t===Re(514)}const Is=()=>{const t=Re,e=window[t(644)][t(594)];return/MicroMessenger/i[t(445)](e)},Ts=()=>{const t=Re,e=window[t(644)][t(594)];return/Chrome/i.test(e)};function ks(t){const e=Re,s=t||window[e(414)];return s[e(682)]||s.srcElement}function _s(){return We()&&function(){const t=Re,e=navigator[t(594)][t(563)]();return/macintosh|mac os x/i[t(445)](e)}()}function Cs(t){return typeof t===Re(673)}function Rs(t){const e=Re;if(ze()){let s=0,i=0;if(1===t[e(564)].length){let r=t[e(564)][0];s=r[e(453)],i=r[e(653)]}return{posX:s,posY:i}}let s=0,i=0;const r=t||window.event;return r[e(601)]||r.pageY?(s=r[e(601)],i=r[e(613)]):(r[e(453)]||r[e(653)])&&(s=t[e(453)]+document[e(547)].scrollLeft+document.body.scrollLeft,i=t[e(653)]+document[e(547)].scrollTop+document.body[e(677)]),{posX:s,posY:i}}function Ds(){const t=Re;let e=document[t(537)](t(463)),s=e[t(425)]("application/vnd.apple.mpegurl");return e=null,s}function Ls(t){const e=Re;let s=Js(t[e(636)])&&(t[e(519)]||t[e(435)]&&!t[e(391)])&&Js(t[e(620)]);return!!(Js(s)&&t[e(519)]&&t[e(501)]&&Js(t.demuxUseWorker))||(!!(Js(s)&&t[e(435)]&&t[e(549)])||s)}function xs(t){const e=Re;let s=null,i=31&t[0];return(i===Q.sps||i===Q.pps)&&(s=G[e(469)]),!s&&(i=(126&t[0])>>1,(i===Y[e(633)]||i===Y.sps||i===Y[e(629)])&&(s=G[e(588)])),s}function Ps(t){const e=Re;const s=function(t){const e=Ks;return t[e(528)]()[e(603)](/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}(t[e(624)]()),i=new Blob([s],{type:e(536)});return URL.createObjectURL(i)}function Bs(t){return Ps(t)}function Ms(t){t[Re(541)]()}function Fs(t){t[Re(541)]()}function Os(){const t=Re;return window[t(695)][t(647)]===t(558)||window.location[t(701)]===t(631)}function Us(t){const e=Re,s=Object[e(661)].toString;return function(t){const i=e;switch(s[i(407)](t)){case i(546):case i(511):case i(530):return!0;default:try{return t instanceof Error}catch(t){return!1}}}(t)?t[e(697)]:null==t?"":"object"==typeof t?JSON[e(691)](t,null,2):String(t)}function js(t,e){const s=Re;e&&(t=t[s(696)]((t=>t.type&&t[s(421)]===e)));let i=t[0],r=null,n=1;if(t[s(503)]>0){let e=t[1];e&&e.ts-i.ts>1e5&&(i=e,n=2)}if(i)for(let o=n;o=1e3){t[o-1].ts-i.ts<1e3&&(r=o+1)}}}return r}function Ns(t){const e=Re;for(var s=(t+"="[e(422)]((4-t[e(503)]%4)%4))[e(575)](/\-/g,"+")[e(575)](/_/g,"/"),i=window.atob(s),r=new Uint8Array(i[e(503)]),n=0;n>4===ft[e(472)]&&t[1]===pt[e(565)]}function qs(t){return!0===t||t===Re(520)}function Js(t){return!0!==t&&"true"!==t}function Xs(t){return t.replace(/-([a-z])/g,(function(t,e){return e[Ks(461)]()}))}function Zs(){const t=Re;return/iphone/i[t(445)](navigator[t(594)])}function $s(){const t=Re;return window[t(427)]&&window[t(427)][t(609)]?window[t(427)][t(609)]:null}function ti(){const t=Re;try{var e=document[t(537)](t(509));return!(!window[t(612)]||!e[t(456)](t(611)))}catch(t){return!1}}function ei(){const t=Re;let e=!1;return t(396)in HTMLVideoElement[t(661)]&&(e=!0),e}function si(){const t=Re;let e=!1;return t(428)in jt&&typeof jt[t(428)]===t(673)&&(e=!0),e}function ii(t,e){const s=Re,i=Ie(t[s(579)](5));let r=!1;return i.forEach((t=>{const i=s,n=e?t[0]>>>1&63:31&t[0];(e&&(n===Y[i(568)]||n===Y[i(667)]||n===Y.craNut)||Js(e)&&n===Q[i(568)])&&(r=!0)})),r}function ri(){const t=Re;let e={down:"mousedown",move:t(576),up:"mouseup",click:t(623)};return ze()&&(e={down:t(560),move:"touchmove",up:"touchend",click:t(623)}),e}const ni=ai;function oi(){const t=["master","133669kzQVqG","length","push","211340mwPGra","addEventListener","bind","27KYqyxT","proxy","440ixWbVK","14PyYIMA","84156GjsABJ","removeEventListener","6ROXzKx","515135IVNMrk","83372MjmWcs","2QQIMRB","29608AHDmMS","forEach","560iKLoBo","destroys","18515653tAglkW","51ElymJK"];return(oi=function(){return t})()}function ai(t,e){const s=oi();return(ai=function(t,e){return s[t-=160]})(t,e)}!function(t,e){const s=ai,i=t();for(;;)try{if(193252===-parseInt(s(163))/1*(parseInt(s(178))/2)+-parseInt(s(161))/3*(parseInt(s(177))/4)+parseInt(s(176))/5*(-parseInt(s(175))/6)+-parseInt(s(181))/7*(parseInt(s(179))/8)+-parseInt(s(169))/9*(parseInt(s(166))/10)+parseInt(s(171))/11*(-parseInt(s(173))/12)+parseInt(s(160))/13*(parseInt(s(172))/14))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(oi);class hi{constructor(t){const e=ai;this[e(182)]=[],this[e(170)]=this[e(170)][e(168)](this),this[e(162)]=t}[ni(170)](t,e,s){const i=ni;let r=arguments[i(164)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)return;if(Array.isArray(e))return e.map((e=>this[i(170)](t,e,s,r)));t[i(167)](e,s,r);const n=()=>{Cs(t[i(174)])&&t.removeEventListener(e,s,r)};return this[i(182)][i(165)](n),n}destroy(){const t=ni;this[t(162)].debugLog("Events","destroy"),this[t(182)][t(180)]((t=>t())),this[t(182)]=[]}}function ci(){const t=["13632GAyscY","765455eiWqyZ","16QUvnAA","clientHeight","height","clientWidth","width","998268GkaJQW","2453955xEJBvi","511622UsYXmw","bottom","10804689PgCyyR","defineProperty","$container","max","right","top","4wlSQoV","177232PxmYnw"];return(ci=function(){return t})()}function li(t,e){const s=ci();return(li=function(t,e){return s[t-=161]})(t,e)}!function(t,e){const s=li,i=t();for(;;)try{if(365819===-parseInt(s(178))/1+-parseInt(s(171))/2*(-parseInt(s(169))/3)+parseInt(s(167))/4*(-parseInt(s(170))/5)+parseInt(s(176))/6+-parseInt(s(177))/7+-parseInt(s(168))/8+parseInt(s(161))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ci);function di(t,e){const s=ui();return(di=function(t,e){return s[t-=266]})(t,e)}function ui(){const t=["catch","5jjxBYk","stats","listen decoderWorkerInit and set loaded true","10XwSHTt","player","fullscreenError","debugWarn","videoSEISyncPts","1069753jSCnCI","flvMetaData","_opt","$container","forEach","175164dxycLH","12FlWlsA","playbackTimestamp","timeUpdate","debug","performance","16176380MFLUqc","useWebFullScreen","7264444nVplpp","destroys","remove","debugError","debugLog","push","49006906vvOrDX","emitError","2424QXDpHb","webFullscreen","playToRenderTimes","stringify","includes","jb-pro-fullscreen-web","request","keys","length","player event error","player events","exit","loading","videoSEI","classList","toString","2JoTTff","273huPrVi","then","fullscreen","decoderWorkerInit","4268049UUaovx","play","playbackStats","30285zqXxnE","emit","resize","off","events","loaded","change","audioInfo","fullscreen exit error"];return(ui=function(){return t})()}!function(t,e){const s=di,i=t();for(;;)try{if(954972===-parseInt(s(305))/1*(parseInt(s(279))/2)+parseInt(s(284))/3+parseInt(s(318))/4*(-parseInt(s(297))/5)+-parseInt(s(310))/6*(-parseInt(s(280))/7)+parseInt(s(326))/8*(-parseInt(s(287))/9)+-parseInt(s(300))/10*(parseInt(s(316))/11)+-parseInt(s(311))/12*(-parseInt(s(324))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ui);const pi=fi;function fi(t,e){const s=gi();return(fi=function(t,e){return s[t-=100]})(t,e)}!function(t,e){const s=fi,i=t();for(;;)try{if(382455===parseInt(s(115))/1*(-parseInt(s(113))/2)+parseInt(s(114))/3*(-parseInt(s(110))/4)+parseInt(s(104))/5*(-parseInt(s(116))/6)+-parseInt(s(105))/7+parseInt(s(107))/8*(-parseInt(s(106))/9)+-parseInt(s(111))/10+parseInt(s(101))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(gi);class mi{on(t,e,s){const i=fi,r=this.e||(this.e={});return(r[t]||(r[t]=[]))[i(109)]({fn:e,ctx:s}),this}[pi(112)](t,e,s){const i=this;function r(){const n=fi;i[n(117)](t,r);for(var o=arguments[n(102)],a=new Array(o),h=0;h1?i-1:0),n=1;n{delete i[t]})),void delete this.e;const r=i[t],n=[];if(r&&e)for(let t=0,i=r[s(102)];t0?(s[0]=2*(a*o+l*i+h*n-c*r)/d,s[1]=2*(h*o+l*r+c*i-a*n)/d,s[2]=2*(c*o+l*n+a*r-h*i)/d):(s[0]=2*(a*o+l*i+h*n-c*r),s[1]=2*(h*o+l*r+c*i-a*n),s[2]=2*(c*o+l*n+a*r-h*i)),Ri(t,e,s),t},getTranslation:function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},getScaling:Di,getRotation:function(t,e){var s=Pi,i=new(Ii[s(497)])(3);Di(i,e);var r=1/i[0],n=1/i[1],o=1/i[2],a=e[0]*r,h=e[1]*n,c=e[2]*o,l=e[4]*r,d=e[5]*n,u=e[6]*o,p=e[8]*r,f=e[9]*n,m=e[10]*o,g=a+d+m,A=0;return g>0?(A=2*Math[s(498)](g+1),t[3]=.25*A,t[0]=(u-f)/A,t[1]=(p-c)/A,t[2]=(h-l)/A):a>d&&a>m?(A=2*Math.sqrt(1+a-d-m),t[3]=(u-f)/A,t[0]=.25*A,t[1]=(h+l)/A,t[2]=(p+c)/A):d>m?(A=2*Math[s(498)](1+d-a-m),t[3]=(p-c)/A,t[0]=(h+l)/A,t[1]=.25*A,t[2]=(u+f)/A):(A=2*Math[s(498)](1+m-a-d),t[3]=(h-l)/A,t[0]=(p+c)/A,t[1]=(u+f)/A,t[2]=.25*A),t},fromRotationTranslationScale:function(t,e,s,i){var r=e[0],n=e[1],o=e[2],a=e[3],h=r+r,c=n+n,l=o+o,d=r*h,u=r*c,p=r*l,f=n*c,m=n*l,g=o*l,A=a*h,y=a*c,b=a*l,v=i[0],S=i[1],w=i[2];return t[0]=(1-(f+g))*v,t[1]=(u+b)*v,t[2]=(p-y)*v,t[3]=0,t[4]=(u-b)*S,t[5]=(1-(d+g))*S,t[6]=(m+A)*S,t[7]=0,t[8]=(p+y)*w,t[9]=(m-A)*w,t[10]=(1-(d+f))*w,t[11]=0,t[12]=s[0],t[13]=s[1],t[14]=s[2],t[15]=1,t},fromRotationTranslationScaleOrigin:function(t,e,s,i,r){var n=e[0],o=e[1],a=e[2],h=e[3],c=n+n,l=o+o,d=a+a,u=n*c,p=n*l,f=n*d,m=o*l,g=o*d,A=a*d,y=h*c,b=h*l,v=h*d,S=i[0],w=i[1],E=i[2],I=r[0],T=r[1],k=r[2],_=(1-(m+A))*S,C=(p+v)*S,R=(f-b)*S,D=(p-v)*w,L=(1-(u+A))*w,x=(g+y)*w,P=(f+b)*E,B=(g-y)*E,M=(1-(u+m))*E;return t[0]=_,t[1]=C,t[2]=R,t[3]=0,t[4]=D,t[5]=L,t[6]=x,t[7]=0,t[8]=P,t[9]=B,t[10]=M,t[11]=0,t[12]=s[0]+I-(_*I+D*T+P*k),t[13]=s[1]+T-(C*I+L*T+B*k),t[14]=s[2]+k-(R*I+x*T+M*k),t[15]=1,t},fromQuat:function(t,e){var s=e[0],i=e[1],r=e[2],n=e[3],o=s+s,a=i+i,h=r+r,c=s*o,l=i*o,d=i*a,u=r*o,p=r*a,f=r*h,m=n*o,g=n*a,A=n*h;return t[0]=1-d-f,t[1]=l+A,t[2]=u-g,t[3]=0,t[4]=l-A,t[5]=1-c-f,t[6]=p+m,t[7]=0,t[8]=u+g,t[9]=p-m,t[10]=1-c-d,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},frustum:function(t,e,s,i,r,n,o){var a=1/(s-e),h=1/(r-i),c=1/(n-o);return t[0]=2*n*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*n*h,t[6]=0,t[7]=0,t[8]=(s+e)*a,t[9]=(r+i)*h,t[10]=(o+n)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*n*2*c,t[15]=0,t},perspectiveNO:Li,perspective:xi,perspectiveZO:function(t,e,s,i,r){var n,o=1/Math[Pi(496)](e/2);return t[0]=o/s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(n=1/(i-r),t[10]=r*n,t[14]=r*i*n):(t[10]=-1,t[14]=-i),t},perspectiveFromFieldOfView:function(t,e,s,i){var r=Pi,n=Math[r(496)](e[r(487)]*Math.PI/180),o=Math.tan(e[r(506)]*Math.PI/180),a=Math[r(496)](e[r(492)]*Math.PI/180),h=Math[r(496)](e.rightDegrees*Math.PI/180),c=2/(a+h),l=2/(n+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-(a-h)*c*.5,t[9]=(n-o)*l*.5,t[10]=i/(s-i),t[11]=-1,t[12]=0,t[13]=0,t[14]=i*s/(s-i),t[15]=0,t},orthoNO:Bi,ortho:Mi,orthoZO:function(t,e,s,i,r,n,o){var a=1/(e-s),h=1/(i-r),c=1/(n-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=c,t[11]=0,t[12]=(e+s)*a,t[13]=(r+i)*h,t[14]=n*c,t[15]=1,t},lookAt:function(t,e,s,i){var r,n,o,a,h,c,l,d,u,p,f=Pi,m=e[0],g=e[1],A=e[2],y=i[0],b=i[1],v=i[2],S=s[0],w=s[1],E=s[2];return Math[f(507)](m-S)0&&(d*=f=1/Math.sqrt(f),u*=f,p*=f);var m=c*p-l*u,g=l*d-h*p,A=h*u-c*d;return(f=m*m+g*g+A*A)>0&&(m*=f=1/Math[r(498)](f),g*=f,A*=f),t[0]=m,t[1]=g,t[2]=A,t[3]=0,t[4]=u*A-p*g,t[5]=p*m-d*A,t[6]=d*g-u*m,t[7]=0,t[8]=d,t[9]=u,t[10]=p,t[11]=0,t[12]=n,t[13]=o,t[14]=a,t[15]=1,t},str:function(t){return Pi(493)+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},frob:function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},add:function(t,e,s){return t[0]=e[0]+s[0],t[1]=e[1]+s[1],t[2]=e[2]+s[2],t[3]=e[3]+s[3],t[4]=e[4]+s[4],t[5]=e[5]+s[5],t[6]=e[6]+s[6],t[7]=e[7]+s[7],t[8]=e[8]+s[8],t[9]=e[9]+s[9],t[10]=e[10]+s[10],t[11]=e[11]+s[11],t[12]=e[12]+s[12],t[13]=e[13]+s[13],t[14]=e[14]+s[14],t[15]=e[15]+s[15],t},subtract:Fi,multiplyScalar:function(t,e,s){return t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s,t[4]=e[4]*s,t[5]=e[5]*s,t[6]=e[6]*s,t[7]=e[7]*s,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12]*s,t[13]=e[13]*s,t[14]=e[14]*s,t[15]=e[15]*s,t},multiplyScalarAndAdd:function(t,e,s,i){return t[0]=e[0]+s[0]*i,t[1]=e[1]+s[1]*i,t[2]=e[2]+s[2]*i,t[3]=e[3]+s[3]*i,t[4]=e[4]+s[4]*i,t[5]=e[5]+s[5]*i,t[6]=e[6]+s[6]*i,t[7]=e[7]+s[7]*i,t[8]=e[8]+s[8]*i,t[9]=e[9]+s[9]*i,t[10]=e[10]+s[10]*i,t[11]=e[11]+s[11]*i,t[12]=e[12]+s[12]*i,t[13]=e[13]+s[13]*i,t[14]=e[14]+s[14]*i,t[15]=e[15]+s[15]*i,t},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},equals:function(t,e){var s=Pi,i=t[0],r=t[1],n=t[2],o=t[3],a=t[4],h=t[5],c=t[6],l=t[7],d=t[8],u=t[9],p=t[10],f=t[11],m=t[12],g=t[13],A=t[14],y=t[15],b=e[0],v=e[1],S=e[2],w=e[3],E=e[4],I=e[5],T=e[6],k=e[7],_=e[8],C=e[9],R=e[10],D=e[11],L=e[12],x=e[13],P=e[14],B=e[15];return Math.abs(i-b)<=bi*Math[s(490)](1,Math[s(507)](i),Math[s(507)](b))&&Math.abs(r-v)<=Ii[s(502)]*Math[s(490)](1,Math.abs(r),Math.abs(v))&&Math[s(507)](n-S)<=bi*Math.max(1,Math[s(507)](n),Math.abs(S))&&Math[s(507)](o-w)<=Ii[s(502)]*Math.max(1,Math[s(507)](o),Math[s(507)](w))&&Math[s(507)](a-E)<=Ii[s(502)]*Math.max(1,Math[s(507)](a),Math.abs(E))&&Math[s(507)](h-I)<=Ii[s(502)]*Math.max(1,Math[s(507)](h),Math.abs(I))&&Math[s(507)](c-T)<=bi*Math[s(490)](1,Math[s(507)](c),Math.abs(T))&&Math.abs(l-k)<=Ii[s(502)]*Math[s(490)](1,Math[s(507)](l),Math[s(507)](k))&&Math[s(507)](d-_)<=Ii[s(502)]*Math[s(490)](1,Math[s(507)](d),Math[s(507)](_))&&Math.abs(u-C)<=Ii[s(502)]*Math[s(490)](1,Math[s(507)](u),Math[s(507)](C))&&Math[s(507)](p-R)<=Ii[s(502)]*Math[s(490)](1,Math[s(507)](p),Math[s(507)](R))&&Math[s(507)](f-D)<=Ii[s(502)]*Math[s(490)](1,Math[s(507)](f),Math[s(507)](D))&&Math[s(507)](m-L)<=bi*Math[s(490)](1,Math.abs(m),Math.abs(L))&&Math[s(507)](g-x)<=bi*Math[s(490)](1,Math[s(507)](g),Math[s(507)](x))&&Math.abs(A-P)<=Ii[s(502)]*Math[s(490)](1,Math[s(507)](A),Math[s(507)](P))&&Math[s(507)](y-B)<=Ii[s(502)]*Math[s(490)](1,Math.abs(y),Math.abs(B))},mul:Oi,sub:Ui});function Ni(){var t=Vi,e=new(Ii[t(418)])(3);return Ii[t(418)]!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Vi(t,e){var s=Ji();return(Vi=function(t,e){return s[t-=395]})(t,e)}function zi(t){var e=Vi,s=t[0],i=t[1],r=t[2];return Math[e(397)](s,i,r)}function Gi(t,e,s){return t[0]=e[0]-s[0],t[1]=e[1]-s[1],t[2]=e[2]-s[2],t}function Hi(t,e,s){return t[0]=e[0]*s[0],t[1]=e[1]*s[1],t[2]=e[2]*s[2],t}function Wi(t,e,s){return t[0]=e[0]/s[0],t[1]=e[1]/s[1],t[2]=e[2]/s[2],t}function Ki(t,e){var s=Vi,i=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return Math[s(397)](i,r,n)}function Qi(t,e){var s=e[0]-t[0],i=e[1]-t[1],r=e[2]-t[2];return s*s+i*i+r*r}function Yi(t){var e=t[0],s=t[1],i=t[2];return e*e+s*s+i*i}function qi(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ji(){var t=["1455YANiSx","RANDOM","cos","max","21qXrAnm","floor","ceil","145662obIeWU","3595850RhmIap","round","36020prlEJY","abs","length","sqrt","1418448EmGGaS","728631VCgKjB","11BZhMZu","EPSILON","sin","ARRAY_TYPE","acos","513678PmsJVh","min","3692RDsWDG","hypot","2pZUxrZ"];return(Ji=function(){return t})()}!function(t,e){for(var s=Vi,i=t();;)try{if(249714===-parseInt(s(409))/1*(parseInt(s(398))/2)+parseInt(s(420))/3+-parseInt(s(396))/4*(parseInt(s(399))/5)+-parseInt(s(406))/6*(parseInt(s(403))/7)+parseInt(s(413))/8+-parseInt(s(414))/9+-parseInt(s(407))/10*(-parseInt(s(415))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ji);var Xi,Zi,$i=Gi,tr=Hi,er=Wi,sr=Ki,ir=Qi,rr=zi,nr=Yi,or=(Xi=Ni(),function(t,e,s,i,r,n){var o,a,h=Vi;for(!e&&(e=3),!s&&(s=0),a=i?Math[h(395)](i*e+s,t[h(411)]):t[h(411)],o=s;o0&&(o=1/Math[s(412)](o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t},dot:qi,cross:function(t,e,s){var i=e[0],r=e[1],n=e[2],o=s[0],a=s[1],h=s[2];return t[0]=r*h-n*a,t[1]=n*o-i*h,t[2]=i*a-r*o,t},lerp:function(t,e,s,i){var r=e[0],n=e[1],o=e[2];return t[0]=r+i*(s[0]-r),t[1]=n+i*(s[1]-n),t[2]=o+i*(s[2]-o),t},hermite:function(t,e,s,i,r,n){var o=n*n,a=o*(2*n-3)+1,h=o*(n-2)+n,c=o*(n-1),l=o*(3-2*n);return t[0]=e[0]*a+s[0]*h+i[0]*c+r[0]*l,t[1]=e[1]*a+s[1]*h+i[1]*c+r[1]*l,t[2]=e[2]*a+s[2]*h+i[2]*c+r[2]*l,t},bezier:function(t,e,s,i,r,n){var o=1-n,a=o*o,h=n*n,c=a*o,l=3*n*a,d=3*h*o,u=h*n;return t[0]=e[0]*c+s[0]*l+i[0]*d+r[0]*u,t[1]=e[1]*c+s[1]*l+i[1]*d+r[1]*u,t[2]=e[2]*c+s[2]*l+i[2]*d+r[2]*u,t},random:function(t,e){var s=Vi;e=e||1;var i=2*Ii[s(400)]()*Math.PI,r=2*Ii[s(400)]()-1,n=Math[s(412)](1-r*r)*e;return t[0]=Math.cos(i)*n,t[1]=Math[s(417)](i)*n,t[2]=r*e,t},transformMat4:function(t,e,s){var i=e[0],r=e[1],n=e[2],o=s[3]*i+s[7]*r+s[11]*n+s[15];return o=o||1,t[0]=(s[0]*i+s[4]*r+s[8]*n+s[12])/o,t[1]=(s[1]*i+s[5]*r+s[9]*n+s[13])/o,t[2]=(s[2]*i+s[6]*r+s[10]*n+s[14])/o,t},transformMat3:function(t,e,s){var i=e[0],r=e[1],n=e[2];return t[0]=i*s[0]+r*s[3]+n*s[6],t[1]=i*s[1]+r*s[4]+n*s[7],t[2]=i*s[2]+r*s[5]+n*s[8],t},transformQuat:function(t,e,s){var i=s[0],r=s[1],n=s[2],o=s[3],a=e[0],h=e[1],c=e[2],l=r*c-n*h,d=n*a-i*c,u=i*h-r*a,p=r*u-n*d,f=n*l-i*u,m=i*d-r*l,g=2*o;return l*=g,d*=g,u*=g,p*=2,f*=2,m*=2,t[0]=a+l+p,t[1]=h+d+f,t[2]=c+u+m,t},rotateX:function(t,e,s,i){var r=Vi,n=[],o=[];return n[0]=e[0]-s[0],n[1]=e[1]-s[1],n[2]=e[2]-s[2],o[0]=n[0],o[1]=n[1]*Math[r(401)](i)-n[2]*Math[r(417)](i),o[2]=n[1]*Math.sin(i)+n[2]*Math[r(401)](i),t[0]=o[0]+s[0],t[1]=o[1]+s[1],t[2]=o[2]+s[2],t},rotateY:function(t,e,s,i){var r=Vi,n=[],o=[];return n[0]=e[0]-s[0],n[1]=e[1]-s[1],n[2]=e[2]-s[2],o[0]=n[2]*Math.sin(i)+n[0]*Math[r(401)](i),o[1]=n[1],o[2]=n[2]*Math.cos(i)-n[0]*Math[r(417)](i),t[0]=o[0]+s[0],t[1]=o[1]+s[1],t[2]=o[2]+s[2],t},rotateZ:function(t,e,s,i){var r=Vi,n=[],o=[];return n[0]=e[0]-s[0],n[1]=e[1]-s[1],n[2]=e[2]-s[2],o[0]=n[0]*Math[r(401)](i)-n[1]*Math[r(417)](i),o[1]=n[0]*Math.sin(i)+n[1]*Math[r(401)](i),o[2]=n[2],t[0]=o[0]+s[0],t[1]=o[1]+s[1],t[2]=o[2]+s[2],t},angle:function(t,e){var s=Vi,i=t[0],r=t[1],n=t[2],o=e[0],a=e[1],h=e[2],c=Math[s(412)](i*i+r*r+n*n)*Math[s(412)](o*o+a*a+h*h),l=c&&qi(t,e)/c;return Math[s(419)](Math.min(Math.max(l,-1),1))},zero:function(t){return t[0]=0,t[1]=0,t[2]=0,t},str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},equals:function(t,e){var s=Vi,i=t[0],r=t[1],n=t[2],o=e[0],a=e[1],h=e[2];return Math.abs(i-o)<=bi*Math[s(402)](1,Math.abs(i),Math[s(410)](o))&&Math.abs(r-a)<=Ii[s(416)]*Math[s(402)](1,Math.abs(r),Math[s(410)](a))&&Math[s(410)](n-h)<=Ii[s(416)]*Math[s(402)](1,Math.abs(n),Math.abs(h))},sub:$i,mul:tr,div:er,dist:sr,sqrDist:ir,len:rr,sqrLen:nr,forEach:or});function hr(t,e){var s=cr();return(hr=function(t,e){return s[t-=305]})(t,e)}function cr(){var t=["ARRAY_TYPE","1699232ckbJSq","27gJQSut","length","sqrt","max","12GoqRFh","hypot","1387824ZDgplA","532984VQxxoQ","floor","1515194UICVky","ceil","EPSILON","1093127AaFlku","1811445FjaNBn","abs","1mXxpfQ","RANDOM","round","30MIaWad","2219657WLRbpL","min"];return(cr=function(){return t})()}function lr(){var t=["64CEKLHO","185vmKATN","2DKryIl","933449hbjfld","573762WdgbdG","5794788rLHfcW","14tPYRsM","475854YJyfKH","50ghotfg","49452KUqzKG","469251wsnlHL","443722RsZVGu"];return(lr=function(){return t})()}function dr(t,e){var s=lr();return(dr=function(t,e){return s[t-=236]})(t,e)}function ur(t,e){const s=fr();return(ur=function(t,e){return s[t-=271]})(t,e)}!function(t,e){for(var s=hr,i=t();;)try{if(410119===parseInt(s(321))/1*(parseInt(s(315))/2)+-parseInt(s(312))/3+parseInt(s(313))/4+-parseInt(s(319))/5+-parseInt(s(310))/6*(-parseInt(s(318))/7)+-parseInt(s(305))/8*(-parseInt(s(306))/9)+parseInt(s(324))/10*(-parseInt(s(325))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(cr),Zi=new Si(4),Si!=Float32Array&&(Zi[0]=0,Zi[1]=0,Zi[2]=0,Zi[3]=0),function(t,e){for(var s=dr,i=t();;)try{if(378435===parseInt(s(237))/1+-parseInt(s(240))/2*(parseInt(s(242))/3)+parseInt(s(247))/4*(parseInt(s(239))/5)+parseInt(s(245))/6*(parseInt(s(244))/7)+-parseInt(s(238))/8*(-parseInt(s(236))/9)+-parseInt(s(246))/10*(parseInt(s(241))/11)+-parseInt(s(243))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lr);const pr=ur;function fr(){const t=["ELEMENT_ARRAY_BUFFER","CLAMP_TO_EDGE","UNPACK_ALIGNMENT","pixelStorei","positions","program","uniformLocations","STATIC_DRAW","shaderSource","3240680Hvebzt","_programInfo","UNSIGNED_BYTE","yTexture","destroy","position","_clear","TEXTURE0","getShaderParameter","texturePosition","indices","10gBIWdr","vertexPosition","enableVertexAttribArray","utexture","_initShaderProgram","height","texParameteri","LINEAR","activeTexture","attachShader","TRIANGLES","FLOAT","getProgramInfoLog","render","linkProgram","deleteProgram","deleteTexture","TEXTURE1","log","44842633QsyJpc","ytexture","aTexturePosition","10LhVaZP","_utexture","52842gxXGrL","getAttribLocation","LINK_STATUS","deleteBuffer","BLEND","_drawScene","uProjectionMatrix","LUMINANCE","9NKAUFf","COMPILE_STATUS","createProgram","width","9171336irDSPF","concat","createBuffer","TEXTURE_MAG_FILTER","TEXTURE_WRAP_T","getProgramParameter","clearColor","uModelMatrix","getShaderInfoLog","drawElements","_ytexture","874578XiHWKs","getUniformLocation","viewport","blendFunc","TEXTURE_2D","uTexture","vtexture","_vtexture","TEXTURE_WRAP_S","aVertexPosition","ARRAY_BUFFER","bindTexture","_createTexture","76576xlNrtE","RGBA","texImage2D","_calRect","useProgram","uniform1i","texPosition","attribLocations","bufferData","createShader","_rgbatexture","rgbaTexture","clearDepth","uViewMatrix","_initBuffers","DEPTH_BUFFER_BIT","rgbatexture","763GRSIDf","slice","5747880YvVjmp","TEXTURE2","TEXTURE_MIN_FILTER","_loadShader","deleteShader","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","isyuv","_buffers","bindBuffer","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "];return(fr=function(){return t})()}!function(t,e){const s=ur,i=t();for(;;)try{if(684883===parseInt(s(272))/1*(parseInt(s(332))/2)+parseInt(s(319))/3+-parseInt(s(371))/4+-parseInt(s(351))/5+parseInt(s(296))/6*(-parseInt(s(349))/7)+parseInt(s(308))/8*(-parseInt(s(304))/9)+-parseInt(s(294))/10*(-parseInt(s(291))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fr);class mr{constructor(t,e){const s=ur;this.gl=t,e&&this.gl[s(365)](this.gl[s(364)],1);const i=this._initShaderProgram();this._programInfo={program:i,attribLocations:{vertexPosition:t[s(297)](i,s(328)),texturePosition:t[s(297)](i,s(293))},uniformLocations:{projectionMatrix:t[s(320)](i,s(302)),modelMatrix:t[s(320)](i,s(315)),viewMatrix:t[s(320)](i,s(345)),rgbatexture:t[s(320)](i,s(343)),ytexture:t[s(320)](i,s(374)),utexture:t.getUniformLocation(i,s(324)),vtexture:t.getUniformLocation(i,"vTexture"),isyuv:t.getUniformLocation(i,s(358))}},this[s(359)]=this[s(346)](),this[s(342)]=this[s(331)](),this._ytexture=this[s(331)](),this[s(295)]=this[s(331)](),this[s(326)]=this[s(331)]()}[pr(375)](){const t=pr;this.gl[t(287)](this._programInfo[t(367)]),this.gl[t(299)](this[t(359)][t(376)]),this.gl[t(299)](this[t(359)].texPosition),this.gl.deleteBuffer(this[t(359)][t(271)]),this.gl[t(288)](this[t(342)]),this.gl[t(288)](this[t(318)]),this.gl[t(288)](this[t(295)]),this.gl[t(288)](this[t(326)]),this._programInfo=null,this[t(359)]=null,this[t(342)]=null,this[t(318)]=null,this._utexture=null,this[t(326)]=null,this.gl=null}[pr(276)](){const t=pr,e=t(361),s=this[t(354)](this.gl.VERTEX_SHADER,e),i=this[t(354)](this.gl.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),r=this.gl[t(306)]();return this.gl[t(281)](r,s),this.gl.attachShader(r,i),this.gl[t(286)](r),this.gl[t(313)](r,this.gl[t(298)])?r:(console.log("Unable to initialize the shader program: "+this.gl[t(284)](r)),null)}[pr(354)](t,e){const s=pr,i=this.gl,r=i[s(341)](t);return i[s(370)](r,e),i.compileShader(r),i[s(379)](r,i[s(305)])?r:(console[s(290)]("An error occurred compiling the shaders: "+i[s(316)](r)),i[s(355)](r),null)}[pr(346)](){const t=pr,e=this.gl,s=e.createBuffer();e[t(360)](e[t(329)],s);const i=[-1,-1,1,-1,1,1,-1,1];e.bufferData(e[t(329)],new Float32Array(i),e.STATIC_DRAW);var r=[];r=r[t(309)]([0,1],[1,1],[1,0],[0,0]);const n=e[t(310)]();e.bindBuffer(e[t(329)],n),e[t(340)](e[t(329)],new Float32Array(r),e.STATIC_DRAW);const o=e.createBuffer();e[t(360)](e[t(362)],o);return e[t(340)](e[t(362)],new Uint16Array([0,1,2,0,2,3]),e[t(369)]),{positions:i,position:s,texPosition:n,indices:o}}[pr(331)](){const t=pr;let e=this.gl.createTexture();return this.gl[t(330)](this.gl[t(323)],e),this.gl.texParameteri(this.gl[t(323)],this.gl[t(311)],this.gl[t(279)]),this.gl.texParameteri(this.gl[t(323)],this.gl[t(353)],this.gl[t(279)]),this.gl[t(278)](this.gl.TEXTURE_2D,this.gl[t(327)],this.gl[t(363)]),this.gl[t(278)](this.gl[t(323)],this.gl[t(312)],this.gl[t(363)]),e}[pr(301)](t,e,s){const i=pr;this.gl[i(321)](0,0,t,e),this.gl.enable(this.gl[i(300)]),this.gl[i(322)](this.gl.SRC_ALPHA,this.gl[i(356)]),this.gl[i(360)](this.gl[i(329)],this[i(359)].position),this.gl[i(340)](this.gl.ARRAY_BUFFER,new Float32Array(this[i(359)][i(366)]),this.gl[i(369)]),this.gl.vertexAttribPointer(this[i(372)][i(339)][i(273)],2,this.gl[i(283)],!1,0,0),this.gl.enableVertexAttribArray(this[i(372)].attribLocations[i(273)]),this.gl[i(360)](this.gl[i(329)],this._buffers[i(338)]),this.gl.vertexAttribPointer(this[i(372)][i(339)][i(380)],2,this.gl[i(283)],!1,0,0),this.gl[i(274)](this[i(372)].attribLocations[i(380)]),this.gl[i(360)](this.gl.ELEMENT_ARRAY_BUFFER,this[i(359)][i(271)]);s?(this.gl[i(280)](this.gl[i(378)]+3),this.gl.bindTexture(this.gl[i(323)],this._ytexture),this.gl[i(280)](this.gl[i(378)]+4),this.gl.bindTexture(this.gl.TEXTURE_2D,this._utexture),this.gl[i(280)](this.gl.TEXTURE0+5),this.gl[i(330)](this.gl[i(323)],this[i(326)])):(this.gl[i(280)](this.gl[i(378)]+2),this.gl.bindTexture(this.gl.TEXTURE_2D,this._rgbatexture)),this.gl[i(336)](this[i(372)][i(367)]),this.gl[i(337)](this[i(372)].uniformLocations[i(348)],2),this.gl[i(337)](this[i(372)].uniformLocations[i(292)],3),this.gl[i(337)](this[i(372)][i(368)][i(275)],4),this.gl[i(337)](this[i(372)][i(368)][i(325)],5),this.gl.uniform1i(this._programInfo.uniformLocations.isyuv,s?1:0),this.gl[i(317)](this.gl[i(282)],6,this.gl.UNSIGNED_SHORT,0)}_calRect(t,e,s,i,r,n){let o=2*t/r-1,a=2*(n-e-i)/n-1,h=2*(t+s)/r-1,c=2*(n-e)/n-1;return[o,a,h,a,h,c,o,c]}[pr(377)](){const t=pr;this.gl[t(314)](0,0,0,1),this.gl[t(344)](1),this.gl.clear(this.gl[t(357)]|this.gl[t(347)])}[pr(285)](t,e,s,i,r){const n=pr,o=this.gl;this[n(377)](),o[n(280)](o[n(378)]),o.bindTexture(o[n(323)],this[n(318)]),o[n(334)](o[n(323)],0,o.LUMINANCE,t,e,0,o.LUMINANCE,o[n(373)],s),o[n(280)](o[n(289)]),o[n(330)](o[n(323)],this[n(295)]),o[n(334)](o[n(323)],0,o[n(303)],t/2,e/2,0,o[n(303)],o[n(373)],i),o[n(280)](o[n(352)]),o[n(330)](o[n(323)],this._vtexture),o[n(334)](o[n(323)],0,o[n(303)],t/2,e/2,0,o[n(303)],o[n(373)],r),this[n(359)][n(366)]=[-1,-1,1,-1,1,1,-1,1],this[n(301)](t,e,!0)}renderYUV(t,e,s){const i=pr;let r=s[i(350)](0,t*e),n=s[i(350)](t*e,t*e*5/4),o=s.slice(t*e*5/4,t*e*3/2);const a=this.gl;this[i(377)](),a[i(280)](a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this[i(318)]),a[i(334)](a[i(323)],0,a[i(303)],t,e,0,a[i(303)],a[i(373)],r),a[i(280)](a[i(289)]),a[i(330)](a[i(323)],this[i(295)]),a.texImage2D(a[i(323)],0,a.LUMINANCE,t/2,e/2,0,a[i(303)],a.UNSIGNED_BYTE,n),a[i(280)](a[i(352)]),a[i(330)](a.TEXTURE_2D,this._vtexture),a[i(334)](a[i(323)],0,a[i(303)],t/2,e/2,0,a[i(303)],a[i(373)],o),this[i(359)][i(366)]=[-1,-1,1,-1,1,1,-1,1],this[i(301)](t,e,!0)}drawDom(t,e,s,i,r){const n=pr,o=this.gl;o[n(280)](o.TEXTURE0),o.bindTexture(o[n(323)],this[n(342)]),o[n(334)](o[n(323)],0,o[n(333)],o.RGBA,o[n(373)],r),this._buffers.positions=this[n(335)](s,i,r[n(307)],r[n(277)],t,e),this[n(301)](t,e,!1)}}function gr(t,e){const s=vr();return(gr=function(t,e){return s[t-=175]})(t,e)}const Ar=gr;!function(t,e){const s=gr,i=t();for(;;)try{if(170854===parseInt(s(263))/1*(parseInt(s(194))/2)+-parseInt(s(205))/3+parseInt(s(248))/4+parseInt(s(258))/5*(parseInt(s(227))/6)+-parseInt(s(252))/7*(parseInt(s(220))/8)+parseInt(s(195))/9*(parseInt(s(261))/10)+parseInt(s(241))/11*(parseInt(s(177))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vr);const yr={YUV_I420:1,YUV_NV12:2,RGBA:3,DOM:4};class br{constructor(t){const e=gr;this[e(262)]=t,this[e(233)]=null,this[e(184)]=null,this[e(234)]=null,this.textureGroupInfo=null,this[e(238)]=!1,this[e(197)]=this[e(267)](),this[e(243)]=!1,this._initPipeline()[e(214)]((t=>{const s=e;this[s(243)]||(this.pipeline=t,this[s(184)]=this[s(254)](),this[s(184)]&&(this[s(238)]=!0))}))}[Ar(183)](){const t=Ar;this[t(243)]=!1,this[t(262)]&&(this.gpu[t(246)][t(183)](),this[t(262)]=null),this.hasInited=!1,this.pipeline=null,this[t(184)]=null,this[t(234)]=null,this.textureGroupInfo=null}[Ar(267)](){const t=Ar,e=this[t(262)].device,s=new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),i=e[t(236)]({size:s[t(198)],usage:window[t(208)][t(250)]|window[t(208)][t(202)]});e[t(206)][t(186)](i,0,s);const r=new Float32Array([0,1,1,1,1,0,0,0]),n=e.createBuffer({size:r[t(198)],usage:window.GPUBufferUsage[t(250)]|window[t(208)][t(202)]});e[t(206)][t(186)](n,0,r);const o=new Uint16Array([0,1,2,0,2,3]),a=e[t(236)]({size:o[t(198)],usage:window[t(208)][t(235)]|window.GPUBufferUsage.COPY_DST});return e[t(206)].writeBuffer(a,0,o),{positionBuffer:i,texpositionBuffer:n,indexBuffer:a}}[Ar(225)](){return new Promise(((t,e)=>{const s=gr,i=this.gpu.device,r=this[s(262)].format,n=s(199),o=s(189),a={layout:s(209),vertex:{module:i.createShaderModule({code:n}),entryPoint:"main",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:s(180)}]},{arrayStride:8,attributes:[{shaderLocation:1,offset:0,format:s(213)}]}]},primitive:{topology:s(211)},fragment:{module:i[s(219)]({code:o}),entryPoint:s(185),targets:[{format:r}]},depthStencil:{depthWriteEnabled:!0,depthCompare:s(190),format:s(226)}};i[s(203)](a).then((e=>{t(e)}))[s(207)]((t=>{e(t)}))}))}[Ar(254)](){const t=Ar;if(!this.gpu)return null;const e=this[t(262)][t(246)],s=this[t(233)],i=ji[t(251)]();ji[t(265)](i,-1,1,-1,1,.1,100);const r=Ti();ji[t(223)](r);const n=ji[t(251)]();ji[t(247)](n,ar[t(256)](0,0,0),ar[t(256)](0,0,-1),ar[t(256)](0,1,0));const o=e[t(236)]({size:64,usage:window[t(208)][t(187)]|window[t(208)][t(202)]});e[t(206)][t(186)](o,0,r);const a=e[t(236)]({size:64,usage:window.GPUBufferUsage[t(187)]|window[t(208)].COPY_DST});e[t(206)][t(186)](a,0,n);const h=e[t(236)]({size:64,usage:window[t(208)][t(187)]|window[t(208)][t(202)]});e[t(206)].writeBuffer(h,0,i);return{modelMatrixBuffer:o,viewMatrixBuffer:a,projectMatrixBuffer:h,group:e.createBindGroup({label:t(188),layout:s[t(192)](0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:{buffer:a}},{binding:2,resource:{buffer:h}}]})}}_initTextureGroupInfo(t,e){const s=Ar,i=this[s(262)].device,r=this[s(233)],n=i[s(257)]({size:[t,e],format:s(259),usage:window[s(229)][s(228)]|window[s(229)][s(202)]|window[s(229)][s(221)]}),o=i[s(257)]({size:[t/2,e/2],format:s(259),usage:window[s(229)][s(228)]|window[s(229)][s(202)]|window[s(229)][s(221)]}),a=i[s(257)]({size:[t/2,e/2],format:s(259),usage:window[s(229)].TEXTURE_BINDING|window[s(229)][s(202)]|window[s(229)].RENDER_ATTACHMENT}),h=i.createTexture({size:[t/2,e/2],format:"rg8unorm",usage:window[s(229)][s(228)]|window[s(229)].COPY_DST|window[s(229)][s(221)]}),c=i[s(257)]({size:[t,e],format:s(232),usage:window[s(229)][s(228)]|window[s(229)][s(202)]|window[s(229)][s(221)]}),l=i[s(236)]({size:4,usage:window[s(208)].UNIFORM|window[s(208)][s(202)]}),d=i[s(191)]({magFilter:"linear",minFilter:s(237)}),u=i.createBindGroup({label:s(179),layout:r.getBindGroupLayout(1),entries:[{binding:0,resource:d},{binding:1,resource:{buffer:l}},{binding:2,resource:n.createView()},{binding:3,resource:o[s(218)]()},{binding:4,resource:a.createView()},{binding:5,resource:h[s(218)]()},{binding:6,resource:c.createView()}]});return{yTexture:n,uTexture:o,vTexture:a,uvTexture:h,rgbaTexture:c,pixelTypeBuffer:l,group:u}}[Ar(181)](){const t=Ar,e=this[t(262)].device,s=this[t(262)][t(255)],i=e.createCommandEncoder(),r={colorAttachments:[{view:s[t(266)]()[t(218)](),clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:t(224)}],depthStencilAttachment:{view:this.depthTexture[t(218)](),depthClearValue:1,depthLoadOp:t(239),depthStoreOp:t(224)}},n=i[t(210)](r);n[t(244)](this[t(233)]),n[t(196)](0,this.matrixGroupInfo[t(201)]),n[t(196)](1,this.textureGroupInfo[t(201)]),n[t(264)](0,this[t(197)][t(193)]),n[t(264)](1,this[t(197)].texpositionBuffer),n[t(217)](this[t(197)][t(253)],t(182)),n[t(215)](6),n.end(),e.queue[t(242)]([i[t(175)]()])}[Ar(200)](t,e,s){const i=Ar;if(!this[i(238)])return;let r=s[i(204)](0,t*e),n=s[i(204)](t*e,t*e*5/4),o=s[i(204)](t*e*5/4,t*e*3/2);const a=this[i(262)][i(246)];!this[i(234)]&&(this[i(234)]=this[i(262)][i(246)][i(257)]({size:[t,e],format:i(226),usage:window.GPUTextureUsage[i(221)]})),!this.textureGroupInfo&&(this[i(176)]=this._initTextureGroupInfo(t,e)),a[i(206)][i(186)](this[i(176)][i(240)],0,new Uint32Array([yr[i(216)]])),a.queue[i(249)]({texture:this[i(176)][i(245)]},r,{bytesPerRow:t,rowsPerImage:e},[t,e]),a[i(206)][i(249)]({texture:this[i(176)][i(260)]},n,{bytesPerRow:t/2,rowsPerImage:e/2},[t/2,e/2]),a[i(206)].writeTexture({texture:this[i(176)].vTexture},o,{bytesPerRow:t/2,rowsPerImage:e/2},[t/2,e/2]),this[i(181)]()}renderYUV_NV12(t,e,s){const i=Ar;if(!this[i(238)])return;const r=this[i(262)][i(246)];!this.depthTexture&&(this[i(234)]=this[i(262)][i(246)].createTexture({size:[t,e],format:i(226),usage:window[i(229)][i(221)]})),!this[i(176)]&&(this[i(176)]=this[i(178)](t,e));let n=s[i(204)](0,t*e),o=s[i(204)](t*e,t*e*3/2);r[i(206)][i(186)](this.textureGroupInfo[i(240)],0,new Uint32Array([yr.YUV_NV12])),r[i(206)].writeTexture({texture:this[i(176)][i(245)]},n,{bytesPerRow:t,rowsPerImage:e},[t,e]),r[i(206)][i(249)]({texture:this[i(176)].uvTexture},o,{bytesPerRow:t,rowsPerImage:e/2},[t/2,e/2]),this._drawScene()}[Ar(268)](t){const e=Ar;if(!this[e(238)])return;const s=this[e(262)][e(246)],i=t.displayWidth,r=t[e(231)];!this.depthTexture&&(this[e(234)]=this.gpu.device[e(257)]({size:[i,r],format:"depth24plus",usage:window[e(229)][e(221)]})),!this.textureGroupInfo&&(this.textureGroupInfo=this[e(178)](i,r)),s[e(206)].writeBuffer(this[e(176)][e(240)],0,new Uint32Array([yr[e(230)]])),s[e(206)][e(222)]({source:t},{texture:this[e(176)][e(212)]},[i,r]),this[e(181)]()}[Ar(239)](){}}function vr(){const t=["then","drawIndexed","YUV_I420","setIndexBuffer","createView","createShaderModule","8GKcBRc","RENDER_ATTACHMENT","copyExternalImageToTexture","identity","store","_initPipeline","depth24plus","54oEENmU","TEXTURE_BINDING","GPUTextureUsage","DOM","displayHeight","rgba8unorm","pipeline","depthTexture","INDEX","createBuffer","linear","hasInited","clear","pixelTypeBuffer","12969VCLjWu","submit","isDestroyed","setPipeline","yTexture","device","lookAt","48520kfbNUY","writeTexture","VERTEX","create","1474627ZfBcoe","indexBuffer","_initMatrixGroupInfo","context","fromValues","createTexture","16325ZfBxRu","r8unorm","uTexture","3130lnqdGJ","gpu","45742UBYzUO","setVertexBuffer","ortho","getCurrentTexture","_initBuffer","render","finish","textureGroupInfo","2724rWQyMX","_initTextureGroupInfo","group1","float32x3","_drawScene","uint16","destroy","matrixGroupInfo","main","writeBuffer","UNIFORM","group0","\n @group(1) @binding(0) var mySampler: sampler;\n @group(1) @binding(1) var pixelType: i32;\n @group(1) @binding(2) var yTexture: texture_2d;\n @group(1) @binding(3) var uTexture: texture_2d;\n @group(1) @binding(4) var vTexture: texture_2d;\n @group(1) @binding(5) var uvTexture: texture_2d;\n @group(1) @binding(6) var rgbaTexture: texture_2d;\n\n const YUV2RGB : mat4x4 = mat4x4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n @fragment\n fn main(\n @location(0) vTexturePosition: vec2\n ) -> @location(0) vec4 {\n if(pixelType == 1){\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(vTexture, mySampler, vTexturePosition).r;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else if (pixelType == 2) {\n\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uvTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(uvTexture, mySampler, vTexturePosition).g;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else {\n\n return textureSample(rgbaTexture, mySampler, vTexturePosition);\n }\n\n }\n\n ","less","createSampler","getBindGroupLayout","positionBuffer","12kwDowx","153uwjNDS","setBindGroup","buffers","byteLength","\n\n @binding(0) @group(0) var uModelMatrix : mat4x4;\n @binding(1) @group(0) var uViewMatrix : mat4x4;\n @binding(2) @group(0) var uProjectionMatrix : mat4x4;\n\n struct VertexOutput {\n @builtin(position) Position : vec4,\n @location(0) vTexturePosition : vec2,\n }\n\n @vertex\n fn main(\n @location(0) aVertexPosition : vec4,\n @location(1) aTexturePosition : vec2\n ) -> VertexOutput {\n var output : VertexOutput;\n var tmppos : vec4 = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n output.Position = vec4(tmppos.x, tmppos.y, (tmppos.z+1.)/2., tmppos.w); // webgl z [-1, 1], webgpu z [0, 1], 这里z做下调整 z-webgpu = (z-webgl+1)/2\n output.vTexturePosition = aTexturePosition;\n return output;\n }\n\n ","renderYUV","group","COPY_DST","createRenderPipelineAsync","slice","622218lcnYiF","queue","catch","GPUBufferUsage","auto","beginRenderPass","triangle-list","rgbaTexture","float32x2"];return(vr=function(){return t})()}const Sr=wr;function wr(t,e){const s=Er();return(wr=function(t,e){return s[t-=372]})(t,e)}function Er(){const t=[" rotateY(180deg)","shadowRootRealDom","debugLog","fill","div","update","right","572675DTmEiy","vertical","destroy","none","-webkit-text-size-adjust","px)","resize()","deg)","content","_initDom","image","removeChild","forEach","isFullResize","sort","fontSize","getShowVideoRect","overflow","innerHTML","transformOrigin","hidden","atan2","140SdAnZV","1379ddwcUm","_resizeDomForVideo","polygon","borderColor","100%","absolute","block","list","fillOpacity","getRenderType","appendChild","getVideoInfo","line","_updateDom","isResize"," rotate(","transform","default","zIndex","color","opacity","top","TAG_NAME","_resizeDomRatio","727533LRwWhl","36704LTJnMS","mirrorRotate","backgroundColor","text","createTextNode","-webkit-user-select","img","-moz-user-select","-webkit-tap-highlight-color","_resizeDomForCanvas","solid","$container","polygon(","createElement","style","open","scale(","index","rotate(","html","left","scale","13964412skqRcv","px ","2390180akJAWJ","objectFit","42pzFVNu","indexOf","px 0","configList","width","bottom","function","setAttribute","-o-user-select","map","rect","676235VCRxgP","% - ","aspectRatio","display","shadowRootInnerDom","-ms-user-select","rotate","player","position","_opt","9999999","height","padding","settingLine","borderWidth","isDynamic","113991buuzsN","calc(","position: absolute; top: 0; left: 0; width: 0; height: 0;display: none;"," rotateX(180deg)","user-select","sqrt","push","shadowRoot","52bFxLhs","getControlHeight","children","insertBefore","borderStyle","int","length","attachShadow","src","lineWidth","_removeDom","level"];return(Er=function(){return t})()}!function(t,e){const s=wr,i=t();for(;;)try{if(670735===parseInt(s(396))/1+-parseInt(s(383))/2+-parseInt(s(412))/3*(-parseInt(s(420))/4)+-parseInt(s(439))/5*(parseInt(s(385))/6)+parseInt(s(462))/7*(-parseInt(s(487))/8)+parseInt(s(486))/9*(parseInt(s(461))/10)+parseInt(s(381))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Er);class Ir{constructor(t){const e=wr;this.player=t,this[e(484)]="SingleWatermark",this[e(388)]=[],this[e(419)]=null,this[e(433)]=null,this[e(400)]=null,this[e(380)]=1,this[e(411)]=!1,this._initDom(),this[e(403)].debugLog(this[e(484)],e(425))}[Sr(441)](){const t=Sr;this[t(388)]=[],this.shadowRootInnerDom=null,this[t(411)]=!1,this[t(380)]=1,this[t(419)]&&(this[t(403)][t(498)][t(450)](this.shadowRootRealDom),this[t(419)]=null,this[t(433)]=null),this.player[t(434)](this[t(484)],"destroy")}resize(){const t=Sr;this.player.debugLog(this[t(484)],t(445)),this[t(403)][t(405)][t(398)]===t(479)||ze()?this.player[t(471)]()===f.canvas?this[t(496)]():this[t(403)][t(471)]()===f.video&&this._resizeDomForVideo():this[t(485)]()}[Sr(448)](){const t=Sr,e=this[t(403)][t(498)];let s=null;const i=document.createElement("div");i.setAttribute(t(373),"pointer-events: none !important;display: block !important;"),s=typeof i.attachShadow===t(391)?i[t(427)]({mode:t(374)}):i[t(419)]?i[t(419)]:i;const r=document[t(372)](t(436));r[t(392)]("style",t(414)),s[t(472)](r);const n=e[t(422)],o=Math.floor(Math.random()*(n[t(426)]-1))+1;n[o]?e[t(423)](i,n[o]):e[t(472)](i),this[t(400)]=r,this[t(433)]=i,this[t(419)]=s}[Sr(437)](t){const e=Sr;this[e(430)]();let s=[];Array.isArray(t)?s=t:ws(t)&&s[e(418)](t);let i=s.map((t=>ls(t)));this.configList=i,this[e(475)]()}[Sr(463)](){const t=Sr,e=this[t(403)].getVideoInfo();if(!(e&&e[t(407)]>0&&e[t(389)]>0))return;let s=e[t(389)],i=e[t(407)];const r=this[t(403)][t(405)],n=this[t(403)][t(455)]();let o=n[t(407)],a=n[t(389)];const h=r[t(402)];let c=(a-s)/2,l=(o-i)/2;(270===h||90===h)&&(s=e[t(407)],i=e[t(389)]);const d=a/s,u=o/i;let p=d>u?u:d;!r[t(476)]&&d!==u&&(p=d+","+u),r[t(452)]&&(p=d>u?d:u);let f="scale("+p+")";r[t(488)]===t(442)&&h&&(f+=t(477)+h+t(446)),"level"===r[t(488)]?f+=t(432):"vertical"===r[t(488)]&&(f+=t(415)),this[t(380)]=-1!==(""+p)[t(386)](",")?d:p,this[t(400)][t(373)][t(478)]=f,this.shadowRootInnerDom.style[t(379)]=c+"px",this[t(400)][t(373)][t(483)]=l+"px",this.shadowRootInnerDom.style[t(389)]=e[t(389)]+"px",this[t(400)][t(373)].height=e[t(407)]+"px",this[t(400)][t(373)].display="block"}[Sr(496)](){const t=Sr,e=this[t(403)][t(473)]();if(!(e&&e[t(407)]>0&&e[t(389)]>0))return;const s=this[t(403)][t(405)],i=this[t(403)].getShowVideoRect();let r=i[t(389)],n=i[t(407)],o=e.width,a=e[t(407)];const h=s[t(402)];let c=(r-o)/2,l=(n-a)/2;(270===h||90===h)&&(o=e[t(407)],a=e.width);const d=r/o,u=n/a;let p=d>u?u:d;!s.isResize&&d!==u&&(p=d+","+u),s[t(452)]&&(p=d>u?d:u);let f=t(375)+p+")";"none"===s[t(488)]&&h&&(f+=t(477)+h+t(446)),s[t(488)]===t(431)?f+=t(432):s[t(488)]===t(440)&&(f+=" rotateX(180deg)"),this[t(400)][t(373)][t(407)]=e[t(407)]+"px",this[t(400)][t(373)].width=e[t(389)]+"px",this[t(400)].style.padding="0",this[t(400)][t(373)][t(478)]=f,this[t(400)].style[t(379)]=c+"px",this[t(400)][t(373)][t(483)]=l+"px",this.shadowRootInnerDom.style[t(399)]="block"}[Sr(485)](){const t=Sr,e=this[t(403)].getVideoInfo();if(!(e&&e[t(407)]>0&&e.width>0))return;const s=this[t(403)][t(405)][t(398)].split(":")[t(394)](Number),i=this[t(403)].getShowVideoRect();let r=i.width,n=i[t(407)],o=this[t(403)][t(421)]();const a=e[t(389)]/e.height,h=s[0]/s[1];if(a>h){const s=h*e[t(407)]/e[t(389)];this[t(400)].style.width=100*s+"%",this[t(400)][t(373)].height="calc(100% - "+o+t(444),this.shadowRootInnerDom.style[t(408)]="0 "+(r-r*s)/2+"px"}else{const s=e.width/h/e[t(407)];this[t(400)][t(373)][t(389)]=t(466),this.shadowRootInnerDom[t(373)][t(407)]=t(413)+100*s+t(397)+o+t(444),this[t(400)][t(373)][t(408)]=(n-n*s)/2+t(387)}this[t(400)][t(373)][t(399)]=t(468)}[Sr(475)](){const t=Sr;this[t(419)]&&this[t(388)][t(451)]((e=>{const s=t,i=document[s(372)](s(436));let r=null;if(e[s(449)]&&e[s(449)][s(428)]?(r=document.createElement(s(493)),r.style.height=s(466),r[s(373)].width="100%",r[s(373)][s(384)]="contain",r[s(428)]=e[s(449)][s(428)]):e[s(490)]&&e[s(490)][s(447)]?r=document[s(491)](e[s(490)][s(447)]):e[s(395)]&&e[s(395)][s(481)]&&e[s(395)][s(389)]?r=document[s(372)](s(436)):e[s(378)]?r=document.createElement(s(436)):e[s(474)]&&e[s(474)].x1&&e[s(474)].y1&&e[s(474)].x2&&e.line.y2?r=document.createElement("div"):e.polygon&&e[s(464)][s(469)]&&e[s(464)][s(469)][s(426)]>=3&&(r=document.createElement(s(436))),r){if(i.appendChild(r),i[s(373)].visibility="",i[s(373)][s(404)]="absolute",i.style[s(399)]=s(468),i[s(373)][s(401)]="none",i[s(373)][s(494)]=s(442),i[s(373)][s(492)]=s(442),i.style[s(393)]=s(442),i[s(373)][s(416)]=s(442),i[s(373)]["-webkit-touch-callout"]=s(442),i.style[s(495)]="rgba(0,0,0,0)",i[s(373)][s(443)]="none",i[s(373)]["-webkit-touch-callout"]=s(442),i.style[s(482)]=e[s(482)],cs(e[s(379)])&&(es(e.left)?i[s(373)][s(379)]=e.left+"px":i[s(373)][s(379)]=e.left),cs(e[s(438)])&&(es(e[s(438)])?i[s(373)].right=e.right+"px":i[s(373)].right=e.right),cs(e.top)&&(es(e[s(483)])?i.style.top=e[s(483)]+"px":i[s(373)].top=e.top),cs(e[s(390)])&&(es(e.bottom)?i.style[s(390)]=e[s(390)]+"px":i[s(373)][s(390)]=e[s(390)]),e[s(489)]&&(i.style[s(489)]=e[s(489)]),i.style[s(456)]=s(459),i[s(373)][s(480)]=s(406),e[s(449)]&&e.image[s(428)])i[s(373)][s(389)]=e[s(449)][s(389)]+"px",i.style[s(407)]=e[s(449)][s(407)]+"px";else if(e[s(490)]&&e[s(490)][s(447)])i[s(373)][s(454)]=e[s(490)][s(454)]+"px",i[s(373)][s(481)]=e[s(490)][s(481)],e[s(490)][s(389)]&&(i[s(373)][s(389)]=e[s(490)][s(389)]+"px"),e[s(490)][s(407)]&&(i.style[s(407)]=e[s(490)][s(407)]+"px");else if(e[s(395)]&&e[s(395)][s(481)]&&e.rect[s(389)]){if(i[s(373)][s(389)]=e[s(395)].width+"px",i[s(373)][s(407)]=e[s(395)][s(407)]+"px",i[s(373)][s(410)]=e[s(395)][s(429)]+"px",i[s(373)][s(424)]=s(497),i[s(373)][s(465)]=e[s(395)].color,e[s(395)][s(435)]){const t=document[s(372)]("div");t[s(373)][s(404)]="absolute",t[s(373)][s(389)]=s(466),t.style[s(407)]="100%",t.style[s(489)]=e[s(395)][s(435)],e[s(395)][s(470)]&&(t[s(373)].opacity=e[s(395)][s(470)]),i[s(472)](t)}}else if(e.html)i.style.width=s(466),i[s(373)][s(407)]=s(466),i[s(457)]=e.html;else if(e[s(474)]&&e[s(474)].x1&&e[s(474)].y1&&e[s(474)].x2&&e[s(474)].y2)this.settingLine(i,e[s(474)]);else if(e[s(464)]&&e[s(464)][s(469)]&&e[s(464)][s(469)][s(426)]>=3){i[s(373)][s(389)]=s(466),i[s(373)][s(407)]=s(466);let t=e[s(464)][s(469)];const r=e[s(464)][s(481)],n=e[s(464)][s(429)];if(t=t[s(453)](((t,e)=>{const i=s;return(t[i(376)]||0)-(e[i(376)]||0)})),e[s(464)][s(435)]){const r=document[s(372)](s(436));r.style[s(404)]="absolute",r[s(373)][s(389)]="100%",r[s(373)][s(407)]="100%";const n=s(499)+t[s(394)]((t=>t.x+s(382)+t.y+"px")).join(", ")+")";r[s(373)].clipPath=n,r[s(373)].backgroundColor=e[s(464)].fill,e.polygon[s(470)]&&(r[s(373)][s(482)]=e[s(464)][s(470)]),i.appendChild(r)}t[s(451)](((e,o)=>{const a=s,h=document[a(372)](a(436));if(o===t[a(426)]-1){const s=t[0],o={x1:e.x,y1:e.y,x2:s.x,y2:s.y,color:r,lineWidth:n};return this.settingLine(h,o),void i[a(472)](h)}const c=t[o+1],l={x1:e.x,y1:e.y,x2:c.x,y2:c.y,color:r,lineWidth:n};this[a(409)](h,l),i[a(472)](h)}))}this.isDynamic&&(this.shadowRootDynamicDom=i),this.shadowRootInnerDom.appendChild(i)}}))}[Sr(409)](t,e){const s=Sr,i=e.x1,r=e.y1,n=e.x2,o=e.y2;var a=Math[s(417)]((i-n)**2+(r-o)**2),h=180*Math[s(460)](o-r,n-i)/Math.PI;t.style[s(489)]=e[s(481)],t.style[s(389)]=a+"px",t[s(373)][s(407)]=e[s(429)]+"px",t[s(373)][s(404)]=s(467),t[s(373)][s(483)]=r+"px",t[s(373)][s(379)]=i+"px",t.style[s(478)]=s(377)+h+s(446),t.style[s(458)]="0 0"}remove(){this[Sr(430)]()}_removeDom(){const t=Sr;this[t(400)]&&(this[t(400)][t(457)]="")}}const Tr=kr;function kr(t,e){const s=Cr();return(kr=function(t,e){return s[t-=485]})(t,e)}!function(t,e){const s=kr,i=t();for(;;)try{if(117298===parseInt(s(548))/1+-parseInt(s(531))/2*(parseInt(s(538))/3)+-parseInt(s(565))/4+-parseInt(s(537))/5+parseInt(s(487))/6*(parseInt(s(540))/7)+parseInt(s(516))/8+parseInt(s(525))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Cr);class _r extends mi{constructor(){const t=kr;super(),this.TAG_NAME="",this.videoInfo={width:null,height:null,encType:null,encTypeCode:null},this[t(553)]=!1,this.prevAiFaceDetectTime=null,this[t(547)]=null,this[t(552)]=null,this[t(510)]=null,this[t(495)]=null,this[t(542)]=[],this[t(567)]=[],this[t(579)]=[],this.streamFps=0}destroy(){const t=kr;this[t(506)](),this[t(510)]&&(this[t(510)].destroy(),this[t(510)]=null),this[t(542)]=[],this[t(495)]&&(this.aiContentWatermark[t(562)](),this[t(495)]=null),this[t(567)]=[],this[t(556)]=null,this[t(547)]=null,this.streamFps=0,this[t(535)]()}[Tr(506)](){const t=Tr;this[t(558)]={width:null,height:null,encType:null,encTypeCode:null},this[t(553)]=!1}getHasInit(){return this.init}updateVideoInfo(t){const e=Tr;cs(t[e(529)])&&(this.videoInfo[e(518)]=V[t.encTypeCode],this.videoInfo[e(529)]=t.encTypeCode),cs(t[e(518)])&&(this.videoInfo.encType=t[e(518)]),cs(t[e(517)])&&(this[e(558)].width=t[e(517)]),cs(t[e(536)])&&(this[e(558)][e(536)]=t[e(536)]),cs(this[e(558)].encType)&&cs(this[e(558)][e(536)])&&cs(this[e(558)].width)&&!this.init&&(this[e(500)][e(573)](B[e(558)],this.videoInfo),this[e(553)]=!0)}getVideoInfo(){return this[Tr(558)]}[Tr(555)](){this.tempContentList=[],this.tempAiContentList=[]}[Tr(509)](){const t=Tr;if(this[t(500)][t(581)]("CommonVideo",t(505)),this[t(500)][t(578)][t(574)]===t(494)||ze()?this[t(499)]():this[t(486)](),this[t(510)]&&this.contentWatermark[t(509)](),this[t(495)]&&this[t(495)][t(509)](),this[t(500)].singleWatermark&&this.player.singleWatermark[t(509)](),this.player.ghostWatermark&&this[t(500)][t(539)][t(509)](),this[t(500)][t(560)]&&this.player[t(560)][t(509)](),this.player.zoom&&this[t(500)].zooming){const e=this._getStyleScale();this[t(500)].zoom[t(585)](e),this[t(500)][t(580)][t(490)]()}}[Tr(486)](){const t=Tr;this.player.debugLog(t(561),t(563));const e=this[t(500)][t(578)][t(574)].split(":").map(Number),s=this[t(500)][t(496)]();let i=s.width,r=s[t(536)],n=this[t(500)][t(543)]();const o=this[t(558)],a=o[t(517)]/o[t(536)],h=e[0]/e[1];if(this[t(511)]()===f[t(526)]&&(this[t(513)].style.left="0",this.$videoElement[t(586)].top="0",this[t(513)][t(586)][t(530)]=t(566)),this[t(511)]()===f[t(521)]&&this[t(500)][t(578)][t(492)]&&(this[t(513)][t(586)][t(584)]=t(571)),a>h){const e=h*o[t(536)]/o[t(517)];this.$videoElement[t(586)].width=100*e+"%",this[t(513)][t(586)][t(536)]="calc(100% - "+n+t(489),this[t(513)][t(586)][t(491)]="0 "+(i-i*e)/2+"px"}else{const e=o[t(517)]/h/o[t(536)];this[t(513)][t(586)][t(517)]="100%",this[t(513)][t(586)][t(536)]=t(551)+100*e+t(572)+n+t(489),this[t(513)][t(586)][t(491)]=(r-r*e)/2+t(498)}}[Tr(568)](){}[Tr(515)](){}[Tr(512)](t){}[Tr(511)](){return""}[Tr(520)](){return""}[Tr(504)](){return 0}[Tr(550)](){return this[Tr(577)]}[Tr(514)](){return!0}[Tr(533)](){return this[Tr(514)]()}[Tr(541)](){return null}[Tr(576)](t){const e=Tr;this[e(500)][e(581)](e(561),"setStreamFps",t),this[e(577)]=t}[Tr(554)](){const t=Tr;let e=arguments[t(575)]>0&&void 0!==arguments[0]?arguments[0]:[];this[t(542)]=e,this[t(532)]()}[Tr(519)](){const t=Tr;let e=arguments[t(575)]>0&&void 0!==arguments[0]?arguments[0]:[];this[t(567)]=e,this[t(564)]()}[Tr(532)](){const t=Tr;if(this.tempContentList[t(575)]>0){!this.contentWatermark&&(this.contentWatermark=new Ir(this.player),this[t(510)][t(509)]());const e=[];this[t(542)][t(569)]((s=>{const i=t;let r={left:s.x||0,top:s.y||0};s[i(544)]===i(522)?r[i(522)]={content:s[i(522)],fontSize:s[i(502)]||"14",color:s.color||i(503)}:s.type===i(524)?r[i(524)]={width:s.width,height:s[i(536)],color:s[i(545)]||i(488),lineWidth:s[i(501)]||2,fill:s[i(571)]||"",fillOpacity:s[i(549)]||.2}:"polygon"===s[i(544)]?r.polygon={list:s[i(588)],color:s[i(545)]||i(488),lineWidth:s[i(501)]||2,fill:s.fill,fillOpacity:s[i(549)]||.2}:s[i(544)]===i(534)&&(r[i(534)]={color:s[i(545)]||i(488),lineWidth:s.lineWidth||2,x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2}),e[i(557)](r)})),this[t(510)][t(493)](e)}else this[t(510)]&&this.contentWatermark.remove()}doAddAiContentToWatermark(){const t=Tr;if(this[t(567)][t(575)]>0){!this[t(495)]&&(this[t(495)]=new Ir(this[t(500)]),this[t(495)][t(509)]());const e=this.tempAiContentList[t(582)]((e=>{const s=t;let i={left:e.x,top:e.y};return e[s(544)]===s(522)?i[s(522)]={content:e[s(522)],fontSize:e[s(502)],color:e[s(545)]}:e[s(544)]===s(524)&&(i[s(524)]={width:e[s(517)],height:e[s(536)],color:e.color,lineWidth:e[s(501)]}),i}));this[t(495)][t(493)](e)}else this.aiContentWatermark&&this[t(495)][t(570)]()}[Tr(485)](){const t=Tr;let e=this[t(513)][t(586)].transform[t(587)](/scale\([0-9., ]*\)/g),s="";if(e&&e[0]){s=e[0].replace(t(583),"").replace(")","")[t(508)](",")}return s}[Tr(507)](){return!0}[Tr(559)](){}[Tr(528)](){}[Tr(523)](){}[Tr(497)](){return this[Tr(546)]}[Tr(527)](){const t=Tr;let e=0;return this[t(579)]&&(e=this[t(579)].length),e}}function Cr(){const t=["7PaHKwN","getPlaybackQuality","tempContentList","getControlHeight","type","color","TAG_NAME","prevAiObjectDetectTime","182508AhazCb","fillOpacity","getStreamFps","calc(","prevOcclusionDetectTime","init","addContentToCanvas","clearView","prevAiFaceDetectTime","push","videoInfo","screenshotByCurrentWatermark","dynamicWatermark","CommonVideo","destroy","_resizeRatio()","doAddAiContentToWatermark","650488gKdWft","none","tempAiContentList","play","forEach","remove","fill","% - ","emit","aspectRatio","length","setStreamFps","streamFps","_opt","bufferList","zoom","debugLog","map","scale(","objectFit","updatePrevVideoElementStyleScale","style","match","list","_getStyleScale","_resizeRatio","28164rofDqq","green","px)","updateVideoElementScale","padding","videoRenderSupportScale","update","default","aiContentWatermark","getShowVideoRect","getName","px 0","_resize","player","lineWidth","fontSize","#000","getCurrentTime","resize()","resetInit","getReadyStateInited","split","resize","contentWatermark","getType","setRate","$videoElement","isPlaying","pause","862424kFIKAR","width","encType","addAiContentToCanvas","getCanvasType","video","text","bindMediaStream","rect","2988936nYYsRP","canvas","getBufferListLength","initCanvasViewSize","encTypeCode","transform","9122JHYPgj","doAddContentToWatermark","isVideoPlaying","line","off","height","1074600XBroSE","87Aznbov","ghostWatermark"];return(Cr=function(){return t})()}function Rr(t,e){var s=Lr();return(Rr=function(t,e){return s[t-=344]})(t,e)}var Dr=Rr;function Lr(){var t=["Deprecated: Expected third argument to be a object","dispatchEvent","innerText","createElement","name","could not download file","fromCharCode","download","origin","webkitURL","document","createElementNS","userAgent","location","2612484ZKHEsr","data:attachment/file;","1600548Syyidq","href","readAsDataURL","noopener","initMouseEvent","string","result","34870QzgEyn","target","error","status","test","msSaveOrOpenBlob","5263839cQsCjj","replace","87zXQOoh","safari","_blank","URL","application/octet-stream","HEAD","global","autoBom","downloading...","send","revokeObjectURL","6718095ITIMYD","undefined","click","HTMLElement","7762320VCvmim","type","open","10434012zLtvRp","onerror","createObjectURL","title","http://www.w3.org/1999/xhtml","blob","self","response","rel","object","onloadend","onload"];return(Lr=function(){return t})()}!function(t,e){for(var s=Rr,i=t();;)try{if(885072===-parseInt(s(354))/1+-parseInt(s(361))/2*(-parseInt(s(369))/3)+parseInt(s(352))/4+parseInt(s(380))/5+-parseInt(s(387))/6+parseInt(s(367))/7+parseInt(s(384))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Lr);var xr=typeof window===Dr(396)&&window.window===window?window:typeof self===Dr(396)&&self[Dr(393)]===self?self:typeof global===Dr(396)&&global[Dr(375)]===global?global:void 0;function Pr(t,e,s){var i=Dr,r=new XMLHttpRequest;r.open("GET",t),r.responseType=i(392),r[i(398)]=function(){Or(r[i(394)],e,s)},r[i(388)]=function(){var t=i;console[t(363)](t(404))},r.send()}function Br(t){var e=Dr,s=new XMLHttpRequest;s[e(386)](e(374),t,!1);try{s[e(378)]()}catch(t){}return s.status>=200&&s[e(364)]<=299}function Mr(t){var e=Dr;try{t[e(400)](new MouseEvent(e(382)))}catch(i){var s=document.createEvent("MouseEvents");s[e(358)](e(382),!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t[e(400)](s)}}var Fr=xr.navigator&&/Macintosh/[Dr(365)](navigator[Dr(350)])&&/AppleWebKit/[Dr(365)](navigator.userAgent)&&!/Safari/.test(navigator[Dr(350)]),Or=typeof window!==Dr(396)||window!==xr?function(){}:Dr(345)in HTMLAnchorElement.prototype&&!Fr?function(t,e,s){var i=Dr,r=xr[i(372)]||xr[i(347)],n=document[i(349)](i(391),"a");e=e||t[i(403)]||i(345),n[i(345)]=e,n[i(395)]=i(357),typeof t===i(359)?(n[i(355)]=t,n[i(346)]!==location[i(346)]?Br(n[i(355)])?Pr(t,e,s):Mr(n,n[i(362)]=i(371)):Mr(n)):(n.href=r[i(389)](t),setTimeout((function(){var t=i;r[t(379)](n[t(355)])}),4e4),setTimeout((function(){Mr(n)}),0))}:"msSaveOrOpenBlob"in navigator?function(t,e,s){var i,r,n,o=Dr;if(e=e||t[o(403)]||o(345),typeof t===o(359))if(Br(t))Pr(t,e,s);else{var a=document[o(402)]("a");a[o(355)]=t,a[o(362)]=o(371),setTimeout((function(){Mr(a)}))}else navigator[o(366)]((i=t,typeof(r=s)===(n=Dr)(381)?r={autoBom:!1}:typeof r!==n(396)&&(console.warn(n(399)),r={autoBom:!r}),r[n(376)]&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(i[n(385)])?new Blob([String[n(344)](65279),i],{type:i.type}):i),e)}:function(t,e,s,i){var r=Dr;if((i=i||open("",r(371)))&&(i[r(348)][r(390)]=i.document.body[r(401)]=r(377)),typeof t===r(359))return Pr(t,e,s);var n=t[r(385)]===r(373),o=/constructor/i[r(365)](xr[r(383)])||xr[r(370)],a=/CriOS\/[\d]+/[r(365)](navigator[r(350)]);if((a||n&&o||Fr)&&typeof FileReader!==r(381)){var h=new FileReader;h[r(397)]=function(){var t=r,e=h[t(360)];e=a?e:e[t(368)](/^data:[^;]*;/,t(353)),i?i[t(351)].href=e:location=e,i=null},h[r(356)](t)}else{var c=xr[r(372)]||xr[r(347)],l=c[r(389)](t);i?i[r(351)]=l:location.href=l,i=null,setTimeout((function(){c[r(379)](l)}),4e4)}};const Ur=jr;function jr(t,e){const s=Nr();return(jr=function(t,e){return s[t-=325]})(t,e)}function Nr(){const t=["indices","_loadShader","blendFunc","drawBox","LINK_STATUS","linkProgram","bindTexture","_initBuffers","\n precision highp float;\n uniform float uLineWidth;\n uniform vec4 uRect;\n uniform vec3 uLineColor;\n uniform vec2 uResolution;\n\n\n float inBox(vec2 st, vec4 rect){\n\n vec2 bl = step(rect.xy,st);\n float pct = bl.x * bl.y;\n\n vec2 tr = step(st, rect.zw);\n pct *= tr.x * tr.y;\n\n return pct;\n }\n\n void main(void) {\n\n vec2 cur = gl_FragCoord.xy/uResolution;\n\n float xlinewidth = uLineWidth/uResolution.x;\n float ylinewidth = uLineWidth/uResolution.y;\n\n // vec4 outRect = uRect + vec4(-1.*xlinewidth/2., -1.*ylinewidth/2., xlinewidth/2., ylinewidth/2.);\n // vec4 inRect = uRect + vec4(xlinewidth/2., ylinewidth/2., -1.*xlinewidth/2., -1.*ylinewidth/2.);\n\n vec4 outRect = uRect + vec4(-1.*xlinewidth/2., -1.*ylinewidth/2., xlinewidth/2., ylinewidth/2.);\n vec4 inRect = uRect;\n\n float a = inBox(cur, outRect);\n float b = inBox(cur, inRect);\n\n gl_FragColor = mix(vec4(0., 0., 0., 0.), vec4(uLineColor.rgb, 1.0), a-b);\n\n }\n ","7800JDWvcm","deleteBuffer","destroy","fromValues","programInfo","An error occurred compiling the shaders: ","vertexPosition","CLAMP_TO_EDGE","log","uniform1f","deleteShader","STATIC_DRAW","getProgramInfoLog","TRIANGLES","createBuffer","1614894IpACKF","attachShader","getAttribLocation","uResolution","129654LRerTF","uRect","_drawScene","VERTEX_SHADER","uniform3f","compileShader","UNPACK_ALIGNMENT","_initShaderProgram","texParameteri","ELEMENT_ARRAY_BUFFER","6339228nOcZvw","SRC_ALPHA","FLOAT","vertexAttribPointer","linewidth","23697epbUbb","TEXTURE_WRAP_T","shaderSource","getProgramParameter","TEXTURE_MAG_FILTER","getUniformLocation","getShaderInfoLog","ONE_MINUS_SRC_ALPHA","ARRAY_BUFFER","viewport","uLineColor","linecolor","2xxOJUc","COMPILE_STATUS","uniform2f","uniformLocations","deleteProgram","pixelStorei","rect","buffers","\n attribute vec4 aVertexPosition;\n void main(void) {\n gl_Position = aVertexPosition;\n }\n ","bindBuffer","aVertexPosition","enableVertexAttribArray","uniform4f","6752090dCtRtZ","bufferData","TEXTURE_2D","drawElements","104BPenfZ","getShaderParameter","createProgram","298589ShMcAT","attribLocations","4128300BCfpal","LINEAR"];return(Nr=function(){return t})()}!function(t,e){const s=jr,i=t();for(;;)try{if(726708===parseInt(s(392))/1*(-parseInt(s(372))/2)+parseInt(s(341))/3+-parseInt(s(394))/4+-parseInt(s(385))/5+parseInt(s(355))/6+-parseInt(s(345))/7*(parseInt(s(389))/8)+parseInt(s(360))/9*(parseInt(s(326))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Nr);Ur(328),Ur(352),Ur(397),Ur(403),Ur(347),Ur(399);function Vr(t,e){const s=Gr();return(Vr=function(t,e){return s[t-=292]})(t,e)}function zr(t){return new Promise(((e,s)=>{const i=Vr;navigator[i(294)]?navigator[i(294)][i(302)]().then((r=>{const n=i;r?r[n(298)]().then((i=>{const o=n;if(i){const n=t.getContext(o(293));if(n){const t=navigator[o(294)][o(299)]();n[o(300)]({device:i,format:t,alphaMode:"opaque"}),e({adapter:r,device:i,context:n,format:t})}else s('WebGPU "context" create fail')}else s(o(303))}))[n(309)]((t=>{s(n(295))})):s(n(304))}))[i(309)]((t=>{s(i(308))})):s("WebGPU not support!!")}))}function Gr(){const t=["gpu",'WebGPU "adapter.requestDevice()" fail',"6KGdjsu","9SXKznq","requestDevice","getPreferredCanvasFormat","configure","12IfhVrL","requestAdapter",'WebGPU "device" request fail','WebGPU "adapter" request fail is empty',"1609791BnBQJB","10fJSqib","1471037UebDJq",'WebGPU "navigator.gpu.requestAdapter()" fail',"catch","1955288vziGxg","3789832qGHdPX","47305335rqoisU","745710bwJnxf","2538242brawID","webgpu"];return(Gr=function(){return t})()}!function(t,e){const s=Vr,i=t();for(;;)try{if(923789===-parseInt(s(307))/1+-parseInt(s(296))/2*(parseInt(s(305))/3)+parseInt(s(310))/4*(parseInt(s(306))/5)+-parseInt(s(301))/6*(parseInt(s(292))/7)+parseInt(s(311))/8*(-parseInt(s(297))/9)+-parseInt(s(313))/10+parseInt(s(312))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Gr);const Hr=Kr;!function(t,e){const s=Kr,i=t();for(;;)try{if(488285===parseInt(s(374))/1*(parseInt(s(399))/2)+parseInt(s(395))/3+parseInt(s(372))/4+parseInt(s(364))/5*(-parseInt(s(387))/6)+parseInt(s(419))/7+parseInt(s(415))/8*(parseInt(s(365))/9)+-parseInt(s(413))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Qr);class Wr{constructor(t,e){const s=Kr;this[s(370)]=t,this.gl=e;const i=s(422),r=s(408),n=e[s(382)](e[s(416)]);if(e[s(391)](n,i),e.compileShader(n),!e[s(376)](n,e.COMPILE_STATUS))throw e.getShaderInfoLog(n);const o=e.createShader(e[s(402)]);if(e[s(391)](o,r),e[s(398)](o),!e.getShaderParameter(o,e[s(363)]))throw e[s(403)](o);const a=e[s(378)]();if(e[s(421)](a,n),e[s(421)](a,o),e[s(375)](a),!e[s(396)](a,e[s(386)]))throw e.getProgramInfoLog(a);e[s(380)](a);const h=e.createBuffer();e[s(379)](e[s(407)],h),e[s(418)](e[s(407)],new Float32Array([-1,-1,-1,1,1,1,1,-1]),e.STATIC_DRAW);const c=e[s(385)](a,"xy");e[s(424)](c,2,e[s(367)],!1,0,0),e[s(397)](c);const l=e.createTexture();e[s(406)](e[s(362)],l),e[s(368)](e[s(362)],e[s(412)],e.NEAREST),e[s(368)](e[s(362)],e[s(410)],e[s(425)]),e[s(368)](e[s(362)],e[s(383)],e[s(414)]),e[s(368)](e.TEXTURE_2D,e[s(411)],e[s(414)]),this[s(405)]=a,this[s(390)]=h,this[s(409)]=n,this[s(392)]=o,this[s(393)]=l}destroy(){const t=Kr;this.gl[t(401)](this[t(405)]),this.gl[t(394)](this[t(390)]),this.gl.deleteTexture(this[t(393)]),this.gl.deleteShader(this.vertexShader),this.gl[t(366)](this[t(392)]),this[t(405)]=null,this.buffer=null,this[t(409)]=null,this[t(392)]=null,this[t(393)]=null,this.gl=null}[Hr(417)](t){const e=Hr;this[e(370)].width=t[e(388)],this.canvas[e(381)]=t[e(400)];const s=this.gl;s[e(384)](s[e(362)],0,s.RGBA,s.RGBA,s[e(371)],t),s[e(373)](0,0,s[e(389)],s[e(423)]),s.clearColor(1,0,0,1),s[e(369)](s[e(404)]),s[e(420)](s[e(377)],0,4)}}function Kr(t,e){const s=Qr();return(Kr=function(t,e){return s[t-=362]})(t,e)}function Qr(){const t=["4816756FeuQds","drawArrays","attachShader","\n attribute vec2 xy;\n varying highp vec2 uv;\n void main(void) {\n gl_Position = vec4(xy, 0.0, 1.0);\n // Map vertex coordinates (-1 to +1) to UV coordinates (0 to 1).\n // UV coordinates are Y-flipped relative to vertex coordinates.\n uv = vec2((1.0 + xy.x) / 2.0, (1.0 - xy.y) / 2.0);\n }\n ","drawingBufferHeight","vertexAttribPointer","NEAREST","TEXTURE_2D","COMPILE_STATUS","196720OSMrnb","53046bwlzCU","deleteShader","FLOAT","texParameteri","clear","canvas","UNSIGNED_BYTE","3283828lBRxre","viewport","23fJMbNT","linkProgram","getShaderParameter","TRIANGLE_FAN","createProgram","bindBuffer","useProgram","height","createShader","TEXTURE_WRAP_S","texImage2D","getAttribLocation","LINK_STATUS","24NQKKhG","displayWidth","drawingBufferWidth","buffer","shaderSource","fragmentShader","texture","deleteBuffer","2073699vbEuDD","getProgramParameter","enableVertexAttribArray","compileShader","1276eangKE","displayHeight","deleteProgram","FRAGMENT_SHADER","getShaderInfoLog","COLOR_BUFFER_BIT","program","bindTexture","ARRAY_BUFFER","\n varying highp vec2 uv;\n uniform sampler2D texture;\n void main(void) {\n gl_FragColor = texture2D(texture, uv);\n }\n ","vertexShader","TEXTURE_MIN_FILTER","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","23414250hBqCfD","CLAMP_TO_EDGE","1048CTdzXm","VERTEX_SHADER","render","bufferData"];return(Qr=function(){return t})()}const Yr=Jr;function qr(){const t=["isWcsWebgpu","type","preventDefault","canvasVideo","893536xCywWw","events","length","left","renderType","png"," rotateX(180deg)","getContext","stencil","initFps","createWebGPUContext error is ","_initCanvasRender","12888Ltvliy","$container","webglContextLostError","webglRectRender","_initContextGl2() createContextGL2 error","clearRect","2191188EXMIav","isWebglContextLost","debugError","undefined","_resize","debugWarn","_bindContextGlEvents","3198152tDaiNT","then","render","clearView","isWcsWebgl2","screenshotCopyrightWatermark","getCanvasType","isFullResize","toDataURL","8565651GhNEbv","removeChild","width","absolute","split","pause","string","transform","createContextGL() version ","2TFdmcg","contextGl","style","320rSTpdH","webglcontextrestored ","createElement","bitmaprenderer","_initContext2D","webglcontextrestored","setStreamFps","mirrorRotate","CommonCanvasLoader","destroy","webGPURender","webgl2","quality","base64","webglcontextlost error and destroy webglRectRender","level","openWebglAlignment","emitError","webgpu","_resize()","getStreamFps","webglRender","getContextAttributes","265342cADJRt","videoInfo","createContextGL success","context2D","webglcontextlost error","$videoElement","1100HHuizP","play","download","height","_opt","3350OAyyvi","CommonCanvasLoader and _initContextGl createContextGL error"," and next use webgl render","webglcontextlost error and destroy webglRender","webgl","getShowVideoRect","_initContextGPU","proxyDestroyList","off","resize","_initContextGl","player","appendChild","getType","format","webglcontextlost error, getContextAttributes().stencil is false","79219PSXDFm","filename","debugLog","catch","webGPURender init success","blob","webGPURender init failed because context is null and next use webgl render","isDestroyedOrClosed","_initContextGl2"," rotate(","screenshot","deg)","canvas"];return(qr=function(){return t})()}function Jr(t,e){const s=qr();return(Jr=function(t,e){return s[t-=433]})(t,e)}!function(t,e){const s=Jr,i=t();for(;;)try{if(826557===-parseInt(s(486))/1*(parseInt(s(443))/2)+parseInt(s(461))/3+parseInt(s(468))/4+parseInt(s(523))/5*(parseInt(s(455))/6)+-parseInt(s(539))/7*(-parseInt(s(489))/8)+parseInt(s(477))/9+parseInt(s(518))/10*(-parseInt(s(512))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(qr);class Xr extends _r{constructor(t){const e=Jr;super(),this.player=t;const s=document[e(491)](e(438));s.style.position=e(480),s[e(488)].top=0,s.style[e(446)]=0,this[e(517)]=s,t[e(456)][e(535)](this[e(517)]),this[e(515)]=null,this[e(487)]=null,this[e(510)]=null,this[e(458)]=null,this[e(499)]=null,this[e(462)]=!1,this[e(472)]=!1,this[e(439)]=!1,this[e(492)]=null,this[e(447)]=null,this[e(530)]=[],this[e(454)]()}[Yr(498)](){const t=Yr;super.destroy(),this[t(530)].length>0&&(this.proxyDestroyList.forEach((t=>{t&&t()})),this[t(530)]=[]),this[t(510)]&&(this[t(510)][t(498)](),this[t(510)]=null),this[t(458)]&&(this.webglRectRender[t(498)](),this[t(458)]=null),this[t(499)]&&(this[t(499)][t(498)](),this[t(499)]=null),this[t(492)]&&(this[t(492)]=null),this[t(487)]&&(this.contextGl=null),this[t(515)]&&(this.context2D[t(460)](0,0,this.$videoElement[t(479)],this[t(517)].height),this.context2D=null),this[t(447)]=null,this[t(462)]=!1,this[t(439)]=!1,this[t(472)]=!1,this[t(513)]={width:"",height:"",encType:""},this[t(517)][t(479)]=0,this.$videoElement[t(521)]=0,this.player[t(456)][t(478)](this[t(517)]),this[t(517)]=null,this.init=!1,this[t(531)]()}[Yr(493)](){const t=Yr;let e=arguments[t(445)]>0&&void 0!==arguments[0]?arguments[0]:{};this.context2D=this[t(517)][t(450)]("2d",e)}[Yr(533)](){const t=Yr;if(this[t(534)][t(444)],this.contextGl=Le(this[t(517)]),!this[t(487)])throw this[t(534)].debugError(t(497),"_initContextGl() createContextGL error"),new Error(t(524));this[t(467)](),this.webglRender=new mr(this.contextGl,this[t(534)][t(522)].openWebglAlignment)}[Yr(434)](){const t=Yr;if(this[t(487)]=xe(this[t(517)]),this[t(487)]){this[t(467)](2);try{this[t(510)]=new Wr(this[t(517)],this[t(487)])}catch(e){this[t(534)].debugError(t(497),"create webgl2Render error is "+e+" and next use context2d.draw render"),this[t(487)]=null,this[t(510)]=null,this._initContext2D()}}else this.player.debugError(t(497),t(459))}_bindContextGlEvents(){const t=Yr;let e=arguments[t(445)]>0&&void 0!==arguments[0]?arguments[0]:1;const{proxy:s}=this[t(534)][t(444)],i=s(this[t(517)],"webglcontextlost",(s=>{const i=t;s[i(441)](),this[i(534)][i(463)](i(442),i(516),s),this.isWebglContextLost=!0,this[i(510)]&&(this[i(534)].debugLog(i(497),i(526)),this[i(510)][i(498)](),this.webglRender=null),this[i(458)]&&(this[i(534)][i(541)](i(497),i(503)),this[i(458)].destroy(),this.webglRectRender=null),this[i(487)]=null,setTimeout((()=>{const t=i;if(this[t(534)].debugLog(t(497),t(485)+e),1===e?this.contextGl=Le(this[t(517)]):2===e&&(this.contextGl=xe(this.$videoElement)),this.player[t(541)]("CommonCanvasLoader",t(514)),this.contextGl&&this[t(487)][t(511)]){const s=this[t(487)].getContextAttributes();s&&s[t(451)]?(1===e?this[t(510)]=new mr(this.contextGl,this[t(534)][t(522)][t(505)]):2===e&&(this.webglRender=new Wr(this.$videoElement,this[t(487)])),this[t(462)]=!1,this[t(534)][t(541)](t(497),"webglcontextlost error reset and getContextAttributes().stencil is true")):(this.player[t(463)]("CommonCanvasLoader",t(538)),this.player.emitError(O[t(457)]))}else this.player[t(463)](t(497),t(538)),this.player[t(506)](O[t(457)])}),500)})),r=s(this.$videoElement,t(494),(e=>{const s=t;e.preventDefault(),this[s(534)].debugLog(s(497),s(490),e)}));this[t(530)].push(i,r)}[Yr(529)](){const t=Yr;zr(this[t(517)])[t(469)]((e=>{const s=t;this[s(534)][s(433)]()||(e?(this[s(499)]=new br(e),this.player.debugLog(s(497),s(543))):(this[s(534)][s(466)](s(497),s(545)),this[s(447)]=J.webgl,this._initContextGl()))}))[t(542)]((e=>{const s=t;this.player[s(433)]()||(this[s(534)][s(466)](s(497),s(453)+e+s(525)),this[s(447)]=J.webgl,this._initContextGl())}))}initCanvasViewSize(){const t=Yr;this[t(517)].width=this[t(513)][t(479)],this[t(517)][t(521)]=this.videoInfo[t(521)],this[t(532)]()}[Yr(436)](t,e,s,i){const r=Yr;t=t||Be(),i=i||j[r(520)];let n=.92;!ot[e]&&j[e]&&(i=e,e=r(448),s=void 0),typeof s===r(483)&&(i=s,s=void 0),typeof s!==r(464)&&(n=Number(s));const o=ot[e]||ot[r(448)],a=this[r(517)][r(476)](o,n);if(i===j.base64)return a;{const e=Pe(a);if(i===j[r(544)])return e;if(i===j[r(520)]){const s=o.split("/")[1];Or(e,t+"."+s)}}}screenshotWatermark(t){return new Promise(((e,s)=>{const i=Jr;Es(t)&&(t={filename:t}),(t=t||{})[i(479)]=this[i(513)][i(479)],t[i(521)]=this[i(513)][i(521)],t[i(540)]=t.filename||Be(),t[i(537)]=t.format?ot[t.format]:ot[i(448)],t[i(501)]=Number(t[i(501)])||.92,t[i(440)]=t[i(440)]||j[i(520)];const r=this[i(517)][i(476)](t[i(537)],t.quality);us(r,t).then((s=>{const n=i;if(t.type===j[n(502)])e(r);else{const i=Pe(s);if(t[n(440)]===j.blob)e(i);else if(t[n(440)]===j.download){e();const s=t.format.split("/")[1];Or(i,t.filename+"."+s)}}}))[i(542)]((t=>{s(t)}))}))}[Yr(473)](t){return new Promise(((e,s)=>{const i=Jr;if(Es(t)){(t=(t={filename:t})||{})[i(479)]=this[i(513)].width,t[i(521)]=this.videoInfo[i(521)],t[i(540)]=t.filename||Be(),t[i(537)]=t[i(537)]?ot[t[i(537)]]:ot[i(448)],t[i(501)]=Number(t[i(501)])||.92,t.type=t[i(440)]||j[i(520)];const r=this[i(517)].toDataURL(t.format,t[i(501)]);fs(r,t).then((s=>{const n=i;if(t[n(440)]===j.base64)e(r);else{const i=Pe(s);if(t[n(440)]===j[n(544)])e(i);else if(t.type===j.download){e();const s=t[n(537)][n(481)]("/")[1];Or(i,t.filename+"."+s)}}})).catch((t=>{s(t)}))}}))}screenshotByCurrentWatermark(t){}[Yr(470)](){}[Yr(471)](){super[Yr(471)]()}[Yr(519)](){}[Yr(482)](){}[Yr(465)](){const t=Yr;this[t(534)].debugLog(t(442),t(508));const e=this.player._opt,s=this[t(534)][t(528)]();let i=s[t(479)],r=s[t(521)],n=this[t(517)].width,o=this[t(517)][t(521)];const a=e.rotate;let h=(i-n)/2,c=(r-o)/2;(270===a||90===a)&&(n=this[t(517)][t(521)],o=this.$videoElement[t(479)]);const l=i/n,d=r/o;let u=l>d?d:l;Js(e.isResize)&&l!==d&&(u=l+","+d),e[t(475)]&&(u=l>d?l:d);let p="scale("+u+")";"none"===e.mirrorRotate&&a&&(p+=t(435)+a+t(437)),e[t(496)]===t(504)?p+=" rotateY(180deg)":"vertical"===e[t(496)]&&(p+=t(449)),this[t(517)][t(488)][t(521)]=this.videoInfo[t(521)]+"px",this.$videoElement.style[t(479)]=this.videoInfo[t(479)]+"px",this[t(517)].style.padding="0",this.$videoElement[t(488)][t(484)]=p,this[t(517)][t(488)].left=h+"px",this.$videoElement.style.top=c+"px"}[Yr(452)](){}[Yr(495)](t){}[Yr(509)](){return 25}[Yr(536)](){return f[Yr(438)]}[Yr(474)](){const t=Yr;let e=this.renderType===J[t(507)]?J[t(507)]:J[t(527)];return this[t(472)]?e=J[t(500)]:this[t(439)]&&(e=J.webgpu),e}}const Zr=$r;function $r(t,e){const s=tn();return($r=function(t,e){return s[t-=389]})(t,e)}function tn(){const t=["_initContextGl2","text","1936110nStchT","useOffscreen","_initWebglRenderForWCS","occlusionDetector","offscreen","renderType","_initContextGPU","imageDetectActive","536dwmInx","startRender","aiOcclusionDetectInterval","clear","faceDetectActive"," and error: ","objectDetector","_supportOffscreen","player","#008000","useWebGPU","webglRectRender","doRender","_opt","push","webGPURender","videoFrame","emit","tempContentList","currentTime","debugWarn","renderYUV","doRender webgpu render and error: ","drawDom","$video","lineWidth","prevAiObjectDetectTime","aiFaceDetectInterval"," and drop","doAddContentToWebGlCanvas","fillText","COLOR_BUFFER_BIT","aiImageDetectDrop","height","transferFromImageBitmap","length","1291535puaMaZ","context2D","doRender() and webcodecs context is lost","firstRenderTime","check","px Arial","CanvasVideoLoader","data","textBaseline","yuvList","54110wGdNBd","doAddContentToCanvas","doAddAiContentToWatermark","webglRender","349512FfaxXw","1034418AdVMAe","detect","output","mse","clearRect","objectDetectActive","_initTempTextCanvas","useWCS","type","isDestroyedOrClosed","9UGNwVk","$videoElement","isWebrtcH264","debugError","forEach","TAG_NAME","toString","contextGl","render","then","8793LabGMY","rect","aiObjectDetectInterval","fillStyle","useMSE","prevAiFaceDetectTime","doRender webgpu render is not init","updateStats","clearView","shift","bitmaprenderer","12065180WtKuhV","tempTextCanvasCtx","top","hls","_initContext2D","CanvasVideo","drawImage","812amebNe","color","destroy","webgpu","debugLog"," and next use webgl render","width","tempTextCanvas","mseUseCanvasRender","webcodecs","doRender() and webgl context is lost","imageDetector","wcsUseWebgl2Render","prevAiOcclusionDetectTime","font","isOldHls","aiImageDetectResult","webGPURender init success","getContext","webrtc","createElement","createImageBitmap","fontSize","webgl","useCanvasRender","_bindOffscreen","isWebglContextLost","isWcsWebgpu","mseDecoder","buffer"];return(tn=function(){return t})()}!function(t,e){const s=$r,i=t();for(;;)try{if(325690===-parseInt(s(511))/1+parseInt(s(512))/2+-parseInt(s(403))/3*(parseInt(s(421))/4)+-parseInt(s(497))/5+parseInt(s(453))/6+parseInt(s(507))/7*(-parseInt(s(461))/8)+-parseInt(s(393))/9*(-parseInt(s(414))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(tn);class en extends Xr{constructor(t){const e=$r;super(t),this[e(398)]="CanvasVideo",this[e(506)]=[],this[e(428)]=null,this[e(415)]=null,this[e(469)].debugLog(e(419),"init")}async[Zr(423)](){const t=Zr;super.destroy(),this[t(506)]=[],this[t(428)]&&(this[t(415)].clearRect(0,0,this.tempTextCanvas.width,this[t(428)].height),this[t(428)][t(427)]=0,this[t(428)][t(494)]=0,this[t(428)]=null),this.player[t(425)](t(503),t(423))}_initCanvasRender(){const t=Zr;this[t(469)][t(474)][t(390)]&&!this[t(468)]()?(this[t(458)]=J[t(430)],this[t(469)][t(474)][t(471)]?zr(this[t(394)])[t(402)]((e=>{const s=t;this[s(469)][s(392)]()||(e?(this[s(476)]=new br(e),this[s(448)]=!0,this[s(469)][s(425)](this[s(398)],s(438))):(this[s(469)][s(481)](this[s(398)],"webGPURender init failed because context is null and next use webgl render"),this[s(455)]()))})).catch((()=>{const s=t;this[s(469)][s(392)]()||(this.player[s(481)](this[s(398)],"createWebGPUContext error is "+e+s(426)),this[s(455)]())})):this[t(455)]()):this[t(469)][t(474)][t(407)]&&this.player[t(474)][t(429)]?(this[t(458)]=J.mse,this[t(418)]()):this[t(469)][t(436)]()&&this[t(469)]._opt[t(445)]?(this.renderType=J[t(417)],this[t(418)]()):this.player[t(395)]()&&this[t(469)][t(474)].webrtcUseCanvasRender?(this[t(458)]=J[t(440)],this[t(418)]()):this._supportOffscreen()?(this[t(458)]=J[t(457)],this[t(446)]()):this[t(469)][t(474)].useWebGPU?(this[t(458)]=J[t(424)],this[t(459)]()):(this.renderType=J[t(444)],this._initContextGl())}_initWebglRenderForWCS(){const t=Zr;this.player._opt[t(433)]&&ti()?(this[t(451)](),this.webglRender&&(this.isWcsWebgl2=!0)):this[t(418)]()}[Zr(468)](){const t=Zr;return"function"==typeof this[t(394)][Ks(533)]&&this[t(469)][t(474)][t(454)]}_bindOffscreen(){const t=Zr;this[t(413)]=this[t(394)].getContext(t(413))}[Zr(401)](t){const e=Zr;this[e(506)][e(475)](t),this[e(462)]()}[Zr(462)](){const t=Zr;for(;!(this.yuvList[t(496)]<=0);){const e=this[t(506)][t(412)]();this[t(473)](e)}}[Zr(473)](t){const e=Zr;if(this.renderType!==J[e(515)]){const s={ts:t.ts||0,fps:!0};this[e(469)][e(410)](s)}switch(this[e(458)]){case J[e(457)]:this.bitmaprenderer[e(495)](t[e(450)]);break;case J[e(444)]:case J.webgpu:if(this[e(447)])return void this[e(469)][e(481)](e(503),e(431));let s=t.output;if(this[e(469)][e(465)]&&this[e(469)].ai&&this.player.ai.faceDetector){null===this[e(408)]&&(this.prevAiFaceDetectTime=Be());const i=Be();i-this.prevAiFaceDetectTime>=this.player[e(474)][e(488)]&&(s=this.player.ai.faceDetector[e(513)]({width:this[e(394)][e(427)],height:this[e(394)][e(494)],data:t[e(514)],ts:t.ts||0}),this[e(408)]=i)}if(this[e(469)][e(517)]&&this.player.ai&&this[e(469)].ai[e(467)]){null===this.prevAiObjectDetectTime&&(this.prevAiObjectDetectTime=Be());const i=Be();i-this[e(487)]>=this.player[e(474)][e(405)]&&(s=this.player.ai[e(467)][e(513)]({width:this[e(394)][e(427)],height:this.$videoElement.height,data:t[e(514)],ts:t.ts||0}),this[e(487)]=i)}if(this[e(469)].occlusionDetectActive&&this[e(469)].ai&&this[e(469)].ai[e(456)]){null===this[e(434)]&&(this[e(434)]=Be());const s=Be();if(s-this[e(434)]>=this[e(469)][e(474)][e(463)]){const i=this.player.ai[e(456)][e(501)]({width:this[e(394)][e(427)],height:this[e(394)][e(494)],data:t[e(514)]});this.prevAiOcclusionDetectTime=s,i&&this[e(469)].emit(B.aiOcclusionDetectResult,{ts:t.ts||0})}}if(this[e(469)][e(460)]&&this[e(469)].ai&&this[e(469)].ai.imageDetector){const s=this[e(469)].ai[e(432)][e(501)]({width:this[e(394)][e(427)],height:this.$videoElement.height,data:t[e(514)]});if(s&&s[e(504)]&&(this[e(469)][e(478)](B[e(437)],{type:s[e(391)],ts:t.ts||0}),this[e(469)]._opt[e(493)]))return void this[e(469)][e(425)]("CanvasVideoLoader","doRender() and ai image detect result type is "+s[e(391)]+e(489))}if(this[e(458)]===J.webgpu)try{if(!this[e(476)])return void this[e(469)][e(481)](e(503),e(409));this[e(476)].renderYUV(this[e(394)].width,this[e(394)][e(494)],s)}catch(t){this.player[e(396)]("CanvasVideoLoader",e(483)+t[e(399)]())}else if(this[e(458)]===J[e(444)])try{this[e(510)][e(482)](this[e(394)][e(427)],this.$videoElement[e(494)],s)}catch(t){this[e(469)][e(396)](e(503),"doRender webgl render context is lost "+(this.contextGl&&this[e(400)].isContextLost())+e(466)+t[e(399)]())}break;case J[e(430)]:if(this.webGPURender)this.webGPURender[e(401)](t[e(477)]),Ms(t[e(477)]);else if(this[e(510)])this.webglRender[e(401)](t[e(477)]),Ms(t[e(477)]);else if(this[e(498)])if(Cs(t[e(477)][e(442)]))try{t.videoFrame.createImageBitmap().then((s=>{const i=e;this[i(498)][i(420)](s,0,0,this[i(394)][i(427)],this.$videoElement.height),Ms(t[i(477)])}))}catch(t){}else this[e(498)].drawImage(t[e(477)],0,0,this.$videoElement.width,this[e(394)][e(494)]),Ms(t[e(477)]);else this.player[e(481)](e(503),e(499));break;case J[e(515)]:this[e(498)][e(420)](t[e(485)],0,0,this[e(394)][e(427)],this[e(394)][e(494)]);break;case J[e(417)]:this.context2D.drawImage(t[e(485)],0,0,this[e(394)][e(427)],this.$videoElement[e(494)]);break;case J[e(440)]:this.context2D[e(420)](t[e(485)],0,0,this.$videoElement[e(427)],this[e(394)][e(494)])}let s=t.ts||0;this.renderType===J.mse&&(s=parseInt(1e3*t[e(485)][e(480)],10)+(this[e(469)][e(449)][e(500)]||0)),this[e(469)].updateCurrentPts(s),this.doAddContentToWatermark(),this[e(509)]()}[Zr(411)](){const t=Zr;switch(super[t(411)](),this[t(458)]){case J[t(457)]:(function(t,e){const s=Re,i=document.createElement(s(509));i[s(597)]=t,i.height=e;const r=window[s(444)](i,0,0,t,e);return i[s(597)]=0,i[s(686)]=0,r})(this[t(394)][t(427)],this.$videoElement[t(494)])[t(402)]((e=>{const s=t;this.bitmaprenderer[s(495)](e)}));break;case J.webgl:this.contextGl[t(464)](this[t(400)][t(492)]);break;case J[t(424)]:this.webGPURender[t(464)]();break;case J.webcodecs:this[t(476)]?this.webGPURender[t(464)]():this[t(400)]?this[t(400)][t(464)](this[t(400)].COLOR_BUFFER_BIT):this[t(498)]&&this.context2D[t(516)](0,0,this[t(394)].width,this[t(394)][t(494)]);break;case J[t(515)]:this[t(498)][t(516)](0,0,this[t(394)][t(427)],this[t(394)][t(494)]);break;case J[t(417)]:this[t(498)][t(516)](0,0,this[t(394)][t(427)],this[t(394)].height);break;case J[t(440)]:this.context2D[t(516)](0,0,this[t(394)].width,this.$videoElement[t(494)])}}[Zr(389)](){const t=Zr;this[t(428)]=document[t(441)]("canvas"),this.tempTextCanvasCtx=this[t(428)][t(439)]("2d"),this[t(428)][t(427)]=600,this[t(428)].height=20}[Zr(508)](){const t=Zr;this[t(479)].length>0&&this[t(498)]&&function(t){const e=Re;let{ctx:s,list:i}=t;s[e(694)](),(i||[])[e(506)]((t=>{const i=e;"text"===t[i(421)]?(s.font=(t[i(476)]||12)+i(499),s[i(489)]=t[i(395)]||"green",s.fillText(t.text,t.x,t.y)):t[i(421)]===i(535)&&(s.strokeStyle=t[i(395)]||i(630),s[i(591)]=t[i(591)]||2,s[i(471)](t.x,t.y,t[i(597)],t[i(686)]))})),s[e(492)]()}({ctx:this[t(498)],list:this[t(479)]})}[Zr(490)](){const t=Zr;this[t(479)].length>0&&this.contextGl&&this[t(472)]&&this[t(479)][t(397)]((e=>{const s=t,i=e.x,r=e.y;if(e[s(391)]===s(404)){const t=e[s(427)],n=e[s(494)],o=function(t){const e=Re;return[parseInt(t[e(482)](1,3),16)/255,parseInt(t[e(482)](3,5),16)/255,parseInt(t[e(482)](5,7),16)/255,1]}(e[s(422)]||s(470)),a=e[s(486)]||4;if(!t||!n)return;this[s(472)].drawBox({x:i,y:r,width:t,height:n,lineColor:o,lineWidth:a,canvasWidth:this[s(394)][s(427)],canvasHeight:this[s(394)][s(494)]})}else if("text"===e.type){const t=e[s(452)]||"";if(!t)return;const n=e[s(443)]||20,o=e.color||s(470);!this[s(428)]&&this[s(389)](),this[s(415)][s(516)](0,0,this.tempTextCanvas[s(427)],this[s(428)][s(494)]),this[s(415)][s(435)]=n+s(502),this[s(415)][s(406)]=o,this[s(415)][s(505)]=s(416),this.tempTextCanvasCtx[s(491)](t,0,0),this[s(510)][s(484)](this[s(394)].width,this[s(394)].height,i,r,this.tempTextCanvas)}}))}}function sn(t,e){const s=nn();return(sn=function(t,e){return s[t-=330]})(t,e)}const rn=sn;function nn(){const t=["getPlaybackQuality","wasmUseVideoRenderError","h264","not support requestVideoFrameCallback and use timeupdate event to update stats","faceDetector","_handleUpdatePlaybackRate","canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play() success","cancelVideoFrameCallback","poster","getCurrentTime","totalVideoFrames","aiOcclusionDetectInterval"," and message is ","10628610BMQhJu"," and return;","getVideoCurrentTime","split","removeChild","audioDecoderError","none"," , delay buffer is more than ","render() and ai image detect result type is ","destroy","_getVideoCurrentTime","renderedVideoFrames","translateZ(0)"," and bufferedLength is ","toDataURL","_play error and\n e.name is ","objectFit","removeAttribute","emit","_detectAndFixStuckPlayback","_play","updateStats","rotate","visibilityChange is true and lastTime is ","bindMediaStream"," and isRetryPlaying is ","_checkVodVideoWaiting","initCanvasViewSize","contain","high","off","playVodVideoSeekingByMse","events","emitError","pause","_createScreenShotCanvas","mediaStream","catch","render error"," - current is ","Error Code ","videoRenderSupportScale","_replay(webrtc H264) then but not playing and retry play times is ","stalled"," < 0, and buffered is ","_getPlaybackRate"," ,videoReadyState is ","videoInfo"," is ","aiFaceDetectInterval","17948249hhjLdg","output","checkVideoCanplayTimeout","clearReplayTimeout"," and isAndroid ","canvasContext","screenshotCopyrightWatermark","10pQVYwK","playVodTimeCache"," ,canplayReceived is ","waiting and currentTime is "," and update currentTime to ","getHasInit","Mse Mine Type: ","_delayEmitVodVideoWaitingInterval","isMseDecoderUseWorker"," and drop","isUseMSE","bind","clearVisibilityChangePlayTimeout","waiting","_checkVodVideoWaiting and player is destroyed or closed and return","videoElementPlayingFailed","canplayReceived","mediaTime","playVod","_replay","aiImageDetectDrop","width","imageDetector","left"," < 0 and check video is paused : ","drawImage","_checkVodVideoWaiting and currentTime is ","_cancelVideoFrameCallback"," and timeout","seeked","creationTime","14mTPZsj"," rotateY(180deg)","png","getLoadedPercent","top","type"," , diff is ","isUseHls265UseMse","imageDetectActive","_play error and player is isDestroyedOrClosed and return","firstRenderTime","Video Info: ","resize","currentTime","screenshot failed, video is not ready","_delayPlay","play","_detectAndFixStuckPlayback() and isStalled is ","getMseMineType","isRenderRetryPlaying","_removeProgressProxyDestroy","data","_play success","close","getBufferMaxDelayTime","message","stop","debugWarn","mseDecoder","2648922rqxYvQ","videoFrameCallback() and isDestroyedOrClosed and return"," and emit error to use canvas render","isPaused","$canvasElement","getVideoBufferLastTime","videoFrameCallback","clearCheckVideoCanplayTimeout","videoElementPlayingFailedForWebrtc"," ,seek to ","canplay and video is paused and try to play","getDecodePlaybackRate"," and retry play","render() video is paused and replay success","getType","isDestroyedOrClosed","debugLog","_play then but not playing and retry play and isRetryPlayingTimes is ","12OqNSdc","requestVideoFrameCallback","canVideoTrackWritter","undefined","isRetryPlaying","render() error, video is paused and replay error ","height","mseUseCanvasRender","getDuration","max","videoHeight","string","readyState is 0 and set _delayPlay to true and listen canplay event to play","error","_replay() and isPlaying is ","player","h5-page","pauseDelayTimeout","edge","isRenderRetryPlayingTimes","isMSECurrentMoreThanBufferedPause","push","fixChromeVideoFlashBug","name","_getVideoReadyState","backdropFilter","updateVideoTimestamp","imageSmoothingQuality","pause and isNow is ","isPlayVodUseMSE","mirrorRotate","updateVideoInfo","blur(0px)","videoDecoderInitializationFailed","eventListenList","setRate","null","indexOf","playbackRate","src"," and isDestroyedOrClosed is ","muted","clearPauseDelayTimeout","_mseWorkerData","transform","getVideoPlaybackQuality","video","write","fixMobileAutoFullscreen and isIOS ","isFullResize","_delayEmitVodVideoWaiting","$container","playsinline","screenshotWatermark","I420"," so next try to play","updateCurrentPts","forEach","debugError","328zSBFLJ","isRetryPlayingTimes","loadedmetadata","isMSEVideoDecoderInitializationFailedNotSupportHevc","timeUpdate","isHlsCanVideoPlay","then","_clearDelayEmitVodVideoWaiting","checkSourceBufferDelay","146514cRYgsv","blob","clearRect","vertical","load","buffered","3273345HCLgGn","mediaSourceBufferedIsZeroError","prevAiObjectDetectTime","start"," and startTime is ","x5-video-player-type","handleUpdatePlaybackRate and buffered is ","detectAndFixStuckPlaybackStartTime","stringify","timeupdate","audio","true","disablePictureInPicture","_isNeedAddBackDropFilter"," and new time is ","toString","code","srcObject","fixMobileAutoFullscreen","_replay then but not playing and retry play times is ","aiOcclusionDetectResult","ended","isPlaying","setAttribute","end","canvas","imageSmoothingEnabled","_play error","base64","noposter",",\n e.toString() is ","emit playVodWaiting","waiting and isDestroyedOrClosed,so return","canplay and isDestroyedOrClosed,so return","play and readyState: ","isSeeking","38769McWoDK","7141344bhcsij","webkit-playsinline","videoBuffer","occlusionDetector","videoFrame",",\n e.message is ","supportVideoFrameCallbackHandle","canplay and video is paused and isMSECurrentMoreThanBufferedPause is ","mseWaitVideoCanplayTimeout","checkVideoCanplayTimeout and video is not playing and buffer store is ","isWebrtcH264","progress","canplay","vwriter","visibilityChangePlayTimeout","_times","filename","9eRjHMj","prevAiOcclusionDetectTime","isEnded","occlusionDetectActive"," set playbackRate is ","_opt","isMSEAudioDecoderError","playVodVideoSeekedByMse"," and currentTime is ","video.buffered is empty","mseDecoderUseWorker"," rotateX(180deg)","Video","_detectAndFixStuckPlayback() and video is stuck and currentTime is ","$videoElement","render() and ai occlusion detect result is true","trackGenerator","videoWidth","download","quality","awriter","useVideoPlayAudio","writable","prevAiFaceDetectTime","useMSE","geLoadedTime","audioTrackGenerator","clear","videoStart","TAG_NAME","isAliyunRtc","_removeProgressProxyDestroy()","seeking","progressProxyDestroy","encTypeCode","getWriter","chrome","rate","removeLoadingBgImage","init","format","readyState","paused","_getBufferStore","style","padding","appendChild","detect","absolute","isMSEPlaybackRateChangePause","getShowVideoRect","canplay and video is paused and isMSEPlaybackRateChangePause is ","screenshot failed, video is not ready and stats is ","clearView","replayTimeout","length","doAddContentToWatermark","_canScreenshot","droppedVideoFrames","_checkVodVideoWaitingInterval","handleRender","isOldHls","faceDetectActive","isResize","check","objectDetector","render","getReadyStateInited"];return(nn=function(){return t})()}!function(t,e){const s=sn,i=t();for(;;)try{if(559095===-parseInt(s(488))/1*(-parseInt(s(342))/2)+-parseInt(s(530))/3*(-parseInt(s(479))/4)+-parseInt(s(494))/5+-parseInt(s(402))/6*(-parseInt(s(373))/7)+-parseInt(s(531))/8*(parseInt(s(548))/9)+parseInt(s(629))/10+-parseInt(s(335))/11*(parseInt(s(420))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(nn);class on extends _r{constructor(t){const e=sn;super(),this[e(435)]=t,this[e(577)]=e(560);const s=document.createElement(e(466));s[e(461)]=!0,s[e(506)]=!0,He()&&(s[e(624)]=e(523)),s[e(592)].position=e(596),s.style[e(377)]=0,s[e(592)][e(365)]=0,this[e(388)]=!1,t[e(471)][e(594)](s),this[e(562)]=s,this.$canvasElement=null,this[e(340)]=null,this[e(665)]=null,this.vwriter=null,this.awriter=null,this[e(564)]=null,this.audioTrackGenerator=null,this[e(442)](),this[e(512)](),this[e(385)](),this[e(454)]=[],this[e(392)]=!1,this.isRenderRetryPlayingTimes=0,this.isRetryPlaying=!1,this[e(480)]=0,this[e(358)]=!1,this[e(581)]=null,this[e(337)]=null,this.visibilityChangePlayTimeout=null,this[e(437)]=null,this[e(602)]=null,this.detectAndFixStuckPlaybackStartTime=null;const i=ei();this[e(537)]=null,this[e(607)]=null,this._delayEmitVodVideoWaitingInterval=null;const{proxy:r}=this[e(435)][e(661)],n=r(this[e(562)],e(543),(()=>{const t=e;if(this[t(435)][t(417)]())this[t(435)].debugLog(this[t(577)],t(527));else if(this[t(435)][t(418)](this[t(577)],t(543)),this[t(358)]=!0,this[t(435)][t(449)]()){if(this[t(435)][t(360)][t(550)]())return void this[t(435)][t(418)](this[t(577)],"canplay and isPlayVodUseMSE and isEnded");this[t(486)](),this._clearCheckVodVideoWaiting(),this[t(435)][t(647)](B.playVodCanplay),this[t(405)]()&&(this.player[t(418)](this[t(577)],"canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play()"),this.$videoElement&&this.$videoElement[t(389)]()[t(485)]((()=>{const e=t;this.player[e(418)](this[e(577)],e(622))})))}else this[t(388)]?(this[t(409)](),this[t(649)]()):this.$videoElement[t(590)]&&(this[t(435)].isMSEPlaybackRateChangePause?(this[t(435)][t(418)](this.TAG_NAME,t(599)+this.player[t(597)]+t(475)),this[t(435)].isMSEPlaybackRateChangePause=!1,this[t(649)]()):this[t(435)][t(440)]?(this[t(435)][t(418)](this[t(577)],t(538)+this[t(435)].isMSECurrentMoreThanBufferedPause+t(475)),this[t(435)].isMSECurrentMoreThanBufferedPause=!1,this[t(649)]()):(this[t(435)][t(400)](this[t(577)],t(412)),this[t(649)]()))})),o=r(this[e(562)],e(355),(()=>{const t=e;this[t(435)][t(417)]()?this.player[t(418)](this.TAG_NAME,t(526)):(this[t(435)].debugLog(this.TAG_NAME,t(345)+this[t(625)]()),this[t(435)][t(449)]()&&Js(this[t(435)][t(401)].isCurrentTimeInBufferEnd())&&(this[t(470)](),this[t(655)]()))})),a=r(this[e(562)],e(481),(()=>{const t=e;this[t(435)][t(418)](this[t(577)],t(481))})),h=r(this.$videoElement,e(503),(s=>{const r=e;if(!this.player.isDestroyedOrClosed()){if(Js(i)){const e=parseInt(1e3*this[r(625)](),10);if(t[r(541)]()||this.player[r(609)]()||this.player[r(578)]())this.player[r(647)](B[r(483)],e),t[r(608)](),t[r(650)]({fps:!0,ts:e,dts:e}),this[r(435)].updateCurrentPts(e);else if(qs(this[r(435)][r(553)][r(572)])&&Js(this[r(435)][r(553)][r(427)]))if(this[r(435)][r(401)]){let t=parseInt(1e3*this[r(625)](),10)+(this.player.mseDecoder[r(383)]||0);this[r(435)].updateCurrentPts(t)}else if(this.player[r(553)][r(558)]){let t=parseInt(1e3*this.getCurrentTime(),10)+(this[r(435)][r(463)][r(383)]||0);this[r(435)][r(476)](t)}this[r(604)]()}this[r(435)].isMseDecoderUseWorker()&&(this.player.decoderWorker[r(446)](this[r(625)]()),this[r(621)]())}})),c=r(this.$videoElement,e(433),(t=>{const s=e;if(!this[s(562)].error)return void this[s(435)].debugError(this.TAG_NAME,"on error",t);let i={};if(this[s(435)].isUseMSE()&&(i=this.player[s(391)]()),this[s(435)][s(478)](this[s(577)],s(669)+this[s(562)][s(433)][s(510)]+" "+Tt[this[s(562)][s(433)][s(510)]]+"; Details: "+this[s(562)].error[s(398)]+"; "+s(384)+JSON[s(502)](this[s(332)])+"; "+s(348)+i[s(466)]+"; "),this.player.isUseMSE()){this.$videoElement[s(433)][s(510)];const t=this[s(562)].error.message;-1!==t[s(457)](kt[s(453)])&&(this[s(435)][s(482)]=!0),-1!==t.indexOf(kt[s(634)])&&(this.player[s(554)]=!0)}this[s(435)][s(484)]()})),l=r(this[e(562)],e(672),(()=>{this[e(648)](!0)}));if(this[e(581)]=r(this[e(562)],"progress",(()=>{this._detectAndFixStuckPlayback()})),this.eventListenList[e(441)](n,o,h,c,a,l),this[e(435)][e(352)]()){const t=r(this[e(562)],ht.ratechange,(()=>{const t=e;this[t(435)].debugLog(this[t(577)],"video playback Rate change",this[t(562)]&&this[t(562)][t(458)]),this[t(562)]&&this[t(562)][t(590)]&&(this[t(435)][t(400)](this[t(577)],"ratechange and video is paused and sent isMSEPlaybackRateChangePause true"),this.player[t(597)]=!0)}));this.eventListenList[e(441)](t),this[e(435)].on(B.visibilityChange,(t=>{const s=e;t&&(this[s(545)]=setTimeout((()=>{const t=s;if(this[t(354)](),this[t(435)][t(516)]()&&this[t(562)]){const e=this[t(407)]();e-this[t(562)][t(386)]>this[t(397)]()&&(this[t(435)][t(418)](this[t(577)],t(652)+e+" and currentTime is "+this[t(562)].currentTime+" so set currentTime to lastTime"),this[t(562)][t(386)]=e)}}),300))}))}if(this[e(435)][e(449)]()){const t=r(this[e(562)],Nt,(()=>{const t=e;this[t(435)][t(418)](this.TAG_NAME,t(542)),this[t(435)][t(647)](B[t(343)],this[t(376)]())})),s=r(this.$videoElement,e(580),(()=>{const t=e;this[t(435)][t(418)](this[t(577)],t(580),this[t(562)][t(386)]),this[t(435)][t(647)](B[t(660)],this.$videoElement[t(386)])})),i=r(this[e(562)],e(371),(()=>{const t=e;this[t(435)][t(418)](this[t(577)],"seeked",this[t(562)][t(386)]),this[t(435)][t(360)][t(529)]()&&this.player[t(360)].removeSeekingTimestamp(),this[t(435)].emit(B[t(555)],this[t(562)].currentTime)}));this[e(454)].push(t,s,i)}ei()?!this.supportVideoFrameCallbackHandle&&(this[e(435)][e(418)](this.TAG_NAME,"support requestVideoFrameCallback and use videoFrameCallback"),this.supportVideoFrameCallbackHandle=this[e(562)][e(421)](this[e(408)][e(353)](this))):this[e(435)][e(400)](this[e(577)],e(619)),this[e(435)][e(418)](this[e(577)],e(587))}async[rn(638)](){const t=rn;if(super[t(638)](),this[t(409)](),this[t(338)](),this[t(354)](),this[t(462)](),this._cancelVideoFrameCallback(),this[t(393)](),this[t(454)][t(603)]&&(this[t(454)][t(477)]((t=>{t()})),this[t(454)]=[]),this.isRenderRetryPlaying=!1,this[t(439)]=0,this[t(424)]=!1,this[t(480)]=0,this.canplayReceived=!1,this[t(435)]._opt.videoRenderSupportScale&&this[t(507)]()){const e=this[t(435)][t(471)];e[t(592)][t(445)]=t(635),e[t(592)][t(464)]=t(635)}if(this[t(406)]&&(this[t(406)][t(426)]=0,this[t(406)][t(363)]=0,this.$canvasElement=null),this[t(340)]=null,this[t(562)]){this[t(562)][t(663)]&&(this[t(562)].pause(),this[t(562)][t(461)]=!0),this[t(562)][t(386)]=0,this.$videoElement[t(511)]&&(this[t(562)][t(511)]=null,this.$videoElement[t(646)]("srcObject")),this[t(562)][t(459)]&&(this[t(562)][t(459)]="",this.$videoElement.removeAttribute(t(459)));try{this[t(562)][t(492)]()}catch(t){}this[t(435)].$container[t(633)](this[t(562)]),this[t(562)]=null}this.trackGenerator&&(this[t(564)][t(399)](),this[t(564)]=null),this[t(574)]&&(this[t(574)][t(399)](),this[t(574)]=null),this[t(544)]&&(await this.vwriter.close(),this[t(544)]=null),this[t(568)]&&(await this[t(568)][t(396)](),this[t(568)]=null),this._delayPlay=!1,this[t(665)]&&(this[t(665)].getTracks()[t(477)]((t=>t.stop())),this[t(665)]=null),this[t(659)](),this.player[t(418)](this[t(577)],t(638))}[rn(664)](){const t=rn,e=document.createElement(t(519));this[t(406)]=e,this[t(340)]=e.getContext("2d"),this[t(340)][t(520)]=!0,this.canvasContext.imageSmoothingEnabled&&(this[t(340)][t(447)]=t(658))}bindMediaStream(){const t=rn;if(this[t(435)][t(422)]()&&rs()&&ns()&&!this.mediaStream){this[t(435)][t(418)](this[t(577)],t(653)),this[t(564)]=new MediaStreamTrackGenerator({kind:t(466)}),this[t(435)][t(569)]()&&(this[t(574)]=new MediaStreamTrackGenerator({kind:t(504)}),this.awriter=this[t(574)][t(570)].getWriter());const e=[this[t(564)]];this.audioTrackGenerator&&e[t(441)](this[t(574)]),this.mediaStream=new MediaStream(e),this[t(562)][t(511)]=this.mediaStream,this.vwriter=this[t(564)].writable[t(583)]()}}[rn(408)](t){const e=rn;let s=arguments[e(603)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this[e(435)][e(417)]())return void this[e(435)].debugLog(this[e(577)],e(403));this[e(435)].handleRender();const i=parseInt(1e3*Math[e(429)](s.mediaTime,this.getCurrentTime()),10)||0;if(this[e(435)][e(380)]())this.player.updateStats({fps:!0,ts:i});else if(this[e(435)][e(350)]()){!this[e(435)][e(546)][e(576)]&&(this[e(435)][e(546)].videoStart=Be(),this[e(435)].handlePlayToRenderTimes());const t=i+(this[e(435)][e(463)].firstRenderTime||0);if(this[e(435)][e(650)]({fps:!0,dfps:!0,ts:t,mseTs:i}),this[e(435)][e(647)](B[e(483)],t),Js(this[e(347)]())&&s.width&&s[e(426)]){const t={width:s[e(363)],height:s[e(426)]};this[e(451)](t),this[e(656)]()}}if(this.player[e(541)]()||this[e(435)][e(609)]()||this[e(435)][e(578)]()){if(this[e(435)].emit(B[e(483)],i),Js(this[e(347)]())&&s[e(363)]&&s[e(426)]){const t={width:s[e(363)],height:s.height};!this.videoInfo[e(582)]&&!this.player[e(609)]()&&(t.encTypeCode=z[e(618)]),this[e(451)](t)}this.player[e(650)]({fps:!0,ts:i,dts:i}),this[e(435)].updateCurrentPts(i),this[e(604)]()}else if(qs(this[e(435)][e(553)].useMSE)&&Js(this[e(435)][e(553)][e(427)])){if(this[e(435)][e(401)]){let t=parseInt(1e3*Math[e(429)](s[e(359)],this[e(625)]()),10)+(this[e(435)][e(401)][e(383)]||0);this[e(435)][e(476)](t)}else if(this[e(435)][e(553)][e(558)]){let t=parseInt(1e3*Math[e(429)](s[e(359)],this[e(625)]()),10)+(this[e(435)][e(463)][e(383)]||0);this.player.updateCurrentPts(t)}this.doAddContentToWatermark()}this[e(537)]=this[e(562)].requestVideoFrameCallback(this.videoFrameCallback[e(353)](this))}[rn(442)](){const t=rn;if(this[t(435)][t(553)][t(670)]&&this[t(507)]()){const e=this.player[t(471)];e[t(592)][t(445)]=t(452),e[t(592)][t(464)]=t(641)}}[rn(512)](){const t=rn,e=Qe(),s=He();(e||s)&&(this[t(435)][t(418)](this[t(577)],t(468)+e+t(339)+s),this[t(562)][t(517)](t(532),t(505)),this.$videoElement[t(517)](t(472),t(505)),this.$videoElement.setAttribute(t(499),t(436)))}[rn(648)](t){const e=rn,s=this.$videoElement,i=s[e(493)],r=s[e(589)];if(this[e(435)][e(418)](this.TAG_NAME,e(390)+t+e(344)+this[e(358)]+e(331)+r+e(642)+i.length+e(498)+(i[e(603)]>0?i.start(0):e(456))+e(556)+s[e(386)]),t||Js(this[e(358)])||r<2){if(i[e(603)]>0&&s[e(386)]=1e3*this[e(435)][e(553)].mseWaitVideoCanplayTimeout&&(this[e(435)][e(400)](this[e(577)],e(561)+s.currentTime+e(379)+t+e(370)),this[e(435)][e(647)](O[e(539)],t))}}else this[e(393)]()}[rn(393)](){const t=rn;this[t(581)]&&(this[t(435)][t(418)](this[t(577)],t(579)),this[t(581)](),this.progressProxyDestroy=null),this[t(501)]=null}[rn(507)](){const t=rn,e=Ke()[t(378)].toLowerCase();return e===t(584)||e===t(438)}[rn(405)](){const t=rn;let e=!0;return this[t(562)]&&(e=this[t(562)][t(590)]),e}isPause(){return this[rn(405)]()}[rn(444)](){const t=rn;let e=0;return this[t(562)]&&(e=this[t(562)][t(589)]),e}[rn(639)](){const t=rn;let e=0;return this.$videoElement&&(e=this[t(562)][t(386)]),e}[rn(389)](){const t=rn;if(this[t(562)]){const e=this._getVideoReadyState();if(this.player[t(418)](this[t(577)],t(528)+e),0===e)return this[t(435)][t(418)](this[t(577)],t(432)),this._delayPlay=!0,void(null===this[t(337)]&&(this[t(337)]=setTimeout((()=>{const e=t;if(this[e(409)](),!this[e(435)][e(417)]()&&Js(this[e(516)]())){const t=this._getBufferStore();this[e(435)][e(400)](this.TAG_NAME,e(540)+t+e(414)),this[e(562)][e(386)]=t,this._replay()}}),1e3)));this[t(649)]()}}[rn(649)](){const t=rn;this[t(562)]&&this.$videoElement[t(389)]().then((()=>{const e=t;this[e(388)]=!1,this[e(435)][e(418)](this.TAG_NAME,e(395)),this[e(516)]()?(this.player[e(647)](B[e(586)]),this.isRetryPlayingTimes=0,this[e(424)]=!1):this.replayTimeout=setTimeout((()=>{const t=e;this[t(338)](),this[t(361)]()}),100)})).catch((e=>{const s=t;this[s(435)][s(417)]()?this[s(435)][s(418)](this.TAG_NAME,s(382)):(this[s(435)][s(418)](this.TAG_NAME,s(644)+e[s(443)]+",\n e.message is "+e[s(398)]+",\n e.toString() is "+e[s(509)]()),this[s(435)][s(478)](this[s(577)],s(521),e),this[s(424)]=!1,this.replayTimeout=setTimeout((()=>{const t=s;this[t(338)](),this[t(361)]()}),100))}))}[rn(361)](){const t=rn;if(!this[t(516)]()&&Js(this[t(435)].isDestroyedOrClosed())&&Js(this.isRetryPlaying)){if(this[t(424)]=!0,this[t(480)]>=3){let e="";return void(this[t(435)].isWebrtcH264()?(e=t(671)+this[t(480)]+" and emit error",this[t(435)][t(478)](this.TAG_NAME,e),this[t(435)][t(662)](O[t(410)],e)):(e=t(513)+this[t(480)]+t(404),this[t(435)].debugError(this[t(577)],e),this[t(435)][t(662)](O[t(357)],e)))}this[t(435)][t(400)](this.TAG_NAME,t(419)+this[t(480)]),this[t(649)](),this[t(480)]++}else this[t(435)][t(418)](this[t(577)],t(434)+this[t(516)]()+t(654)+this[t(424)]+t(460)+this[t(435)][t(417)]()+t(630))}[rn(663)](t){const e=rn;this[e(435)][e(418)](this[e(577)],e(448)+t),this[e(516)]()&&(t?(this.$videoElement&&this[e(562)][e(663)](),this[e(369)]()):this[e(437)]=setTimeout((()=>{const t=e;this.clearPauseDelayTimeout(),this.$videoElement&&this[t(562)].pause(),this[t(369)]()}),100))}clearView(){const t=rn;super[t(601)](),this[t(562)]&&(this.$videoElement[t(663)](),this[t(562)][t(386)]=0,this[t(562)][t(459)]&&(this[t(562)].src="",this[t(562)][t(646)]("src")),this[t(562)][t(511)]&&(this[t(562)][t(511)]=null,this[t(562)][t(646)](t(511))))}screenshot(t,e,s,i){const r=rn;if(!this._canScreenshot())return this.player[r(400)](this[r(577)],r(600)+this[r(444)]()),null;t=t||Be(),i=i||j[r(566)];let n=.92;!ot[e]&&j[e]&&(i=e,e=r(375),s=void 0),typeof s===r(431)&&(i=s,s=void 0),typeof s!==r(423)&&(n=Number(s));const o=this.$videoElement;!this[r(406)]&&this[r(664)]();let a=this[r(406)];a[r(363)]=o[r(565)],a[r(426)]=o[r(430)],this[r(340)][r(367)](o,0,0,a.width,a[r(426)]);const h=ot[e]||ot[r(375)],c=a[r(643)](h,n);if(this[r(340)][r(490)](0,0,a[r(363)],a[r(426)]),a[r(363)]=0,a[r(426)]=0,i===j[r(522)])return c;{const e=Pe(c);if(i===j.blob)return e;if(i===j.download){const s=h[r(632)]("/")[1];Or(e,t+"."+s)}}}[rn(473)](t){return new Promise(((e,s)=>{const i=sn;if(Es(t)&&(t={filename:t}),!this[i(605)]())return this[i(435)][i(400)](this[i(577)],i(387)),s(i(387));const r=this[i(562)];(t=t||{})[i(363)]=r.videoWidth,t.height=r[i(430)],t[i(547)]=t[i(547)]||Be(),t[i(588)]=t[i(588)]?ot[t[i(588)]]:ot[i(375)],t[i(567)]=Number(t.quality)||.92,t.type=t.type||j[i(566)],!this[i(406)]&&this[i(664)]();let n=this.$canvasElement;n.width=r[i(565)],n[i(426)]=r.videoHeight,this.canvasContext[i(367)](r,0,0,n[i(363)],n[i(426)]);const o=n.toDataURL(t[i(588)],t[i(567)]);this[i(340)][i(490)](0,0,n[i(363)],n[i(426)]),n[i(363)]=0,n[i(426)]=0,us(o,t)[i(485)]((s=>{const r=i;if(t[r(378)]===j[r(522)])e(o);else{const i=Pe(s);if(t[r(378)]===j.blob)e(i);else if(t[r(378)]===j[r(566)]){e();const s=t[r(588)][r(632)]("/")[1];Or(i,t[r(547)]+"."+s)}}}))[i(666)]((t=>{s(t)}))}))}[rn(341)](t){return new Promise(((e,s)=>{const i=sn;if(Es(t)&&(t={filename:t}),!this[i(605)]())return this[i(435)][i(400)](this.TAG_NAME,i(387)),s(i(387));const r=this.$videoElement;(t=t||{})[i(363)]=r[i(565)],t.height=r[i(430)],t[i(547)]=t.filename||Be(),t[i(588)]=t[i(588)]?ot[t.format]:ot[i(375)],t[i(567)]=Number(t[i(567)])||.92,t[i(378)]=t.type||j[i(566)],!this[i(406)]&&this[i(664)]();let n=this[i(406)];n[i(363)]=r[i(565)],n.height=r[i(430)],this[i(340)][i(367)](r,0,0,n[i(363)],n.height);const o=n[i(643)](t[i(588)],t.quality);this[i(340)].clearRect(0,0,n[i(363)],n[i(426)]),n.width=0,n.height=0,fs(o,t).then((s=>{const r=i;if(t.type===j[r(522)])e(o);else{const i=Pe(s);if(t[r(378)]===j[r(489)])e(i);else if(t[r(378)]===j.download){e();const s=t[r(588)].split("/")[1];Or(i,t[r(547)]+"."+s)}}}))[i(666)]((t=>{s(t)}))}))}screenshotByCurrentWatermark(t){}[rn(656)](){this[rn(385)]()}[rn(575)](){const t=rn,e=this.$videoElement,s=e.buffered,i=s[t(603)]?s[t(518)](s[t(603)]-1):0;e.currentTime=i}[rn(614)](t){const e=rn;if(this.vwriter){if(!this[e(562)][e(511)]&&(this[e(562)][e(511)]=this[e(665)]),this[e(405)]()){const t=this[e(444)]();if(this[e(435)][e(400)](this.TAG_NAME,"render() error, video is paused and readyState is "+t),4===t&&Js(this[e(392)])){if(this.isRenderRetryPlaying=!0,this[e(439)]>3){const s="render() error, video is paused and readyState is "+t+", retry times is "+this[e(439)]+", emit error and use canvas render";return this.player[e(478)](this[e(577)],s),void this[e(435)][e(662)](O.videoElementPlayingFailed,s)}this[e(562)][e(389)]()[e(485)]((()=>{const t=e;this[t(439)]=0,this[t(392)]=!1,this[t(435)][t(418)](this[t(577)],t(415))}))[e(666)]((t=>{const s=e;this[s(392)]=!1,this[s(439)]++,this[s(435)][s(418)](this[s(577)],"_play error render() error, video is paused and replay error and\n e.name is "+t[s(443)]+s(536)+t.message+s(524)+t[s(509)]()),this[s(435)][s(478)](this[s(577)],s(425),t)}))}}if(this[e(435)][e(650)]({fps:!0,ts:t.ts||0}),t[e(535)])this.vwriter[e(467)](t.videoFrame),Ms(t[e(535)]);else if(t[e(336)]){let r=t[e(336)];if(this.player[e(610)]&&this[e(435)].ai&&this[e(435)].ai[e(620)]){null===this[e(571)]&&(this[e(571)]=Be());const s=Be();s-this[e(571)]>this[e(435)][e(553)][e(334)]&&(r=this[e(435)].ai[e(620)][e(595)]({width:this.videoInfo[e(363)],height:this[e(332)].height,data:t[e(336)],ts:t.ts||0}),this[e(571)]=s)}if(this.player.objectDetectActive&&this[e(435)].ai&&this[e(435)].ai[e(613)]){null===this[e(496)]&&(this[e(496)]=Be());const s=Be();s-this.prevAiObjectDetectTime>this[e(435)]._opt.aiObjectDetectInterval&&(r=this.player.ai[e(613)][e(595)]({width:this.videoInfo[e(363)],height:this[e(332)][e(426)],data:t[e(336)],ts:t.ts||0}),this[e(496)]=s)}if(this[e(435)][e(551)]&&this[e(435)].ai&&this[e(435)].ai[e(534)]){null===this.prevAiOcclusionDetectTime&&(this[e(549)]=Be());const s=Be();if(s-this.prevAiOcclusionDetectTime>=this.player[e(553)][e(627)]){const i=this[e(435)].ai[e(534)][e(612)]({width:this[e(332)][e(363)],height:this[e(332)][e(426)],data:t[e(336)],ts:t.ts||0});this[e(549)]=s,i&&(this.player[e(418)](this[e(577)],e(563)),this[e(435)][e(647)](B[e(514)],{ts:t.ts||0}))}}if(this[e(435)][e(381)]&&this[e(435)].ai&&this[e(435)].ai[e(364)]){const s=this[e(435)].ai[e(364)][e(612)]({width:this[e(332)].width,height:this[e(332)].height,data:t.output,ts:t.ts||0});if(s&&s[e(394)]&&(this[e(435)][e(647)](B.aiImageDetectResult,{type:s[e(378)],ts:t.ts||0}),this[e(435)][e(553)][e(362)]))return void this[e(435)][e(418)](this.TAG_NAME,e(637)+s[e(378)]+e(351))}try{const n=(s=r,i={format:e(474),codedWidth:this.videoInfo[e(363)],codedHeight:this[e(332)][e(426)],timestamp:1e3*t.ts},new VideoFrame(s,i));this[e(544)].write(n),Ms(n)}catch(t){this[e(435)].debugError(this[e(577)],e(667),t),this.player.emitError(O[e(617)],"code is "+t[e(510)]+e(628)+t[e(398)])}}this.player[e(476)](t.ts||0),this[e(604)](),this.doAddAiContentToWatermark()}else this[e(435)][e(400)](this.TAG_NAME,"render and this.vwriter is null");var s,i}_resize(){const t=rn;this[t(435)][t(418)](this[t(577)],"_resize()");const e=this[t(435)][t(553)],s=e[t(651)],i=this[t(435)][t(598)]();let r=i[t(363)],n=i[t(426)];this[t(562)][t(363)]=r,this[t(562)][t(426)]=n,this[t(562)].style.width=r+"px",this.$videoElement.style[t(426)]=n+"px",(270===s||90===s)&&(this[t(562)][t(363)]=n,this.$videoElement[t(426)]=r,this[t(562)][t(592)][t(363)]=n+"px",this[t(562)][t(592)][t(426)]=r+"px");let o=(r-this[t(562)][t(363)])/2,a=(n-this[t(562)][t(426)])/2,h=t(657);Js(e[t(611)])&&(h="fill"),e[t(469)]&&(h=t(635));let c="";e[t(450)]===t(635)&&s&&(c+=" rotate("+s+"deg)"),"level"===e.mirrorRotate?c+=t(374):e[t(450)]===t(491)&&(c+=t(559)),this[t(435)][t(553)][t(670)]&&(this[t(562)][t(592)][t(645)]=h),this[t(562)][t(592)][t(464)]=c,this[t(562)][t(592)][t(593)]="0",this[t(562)][t(592)][t(365)]=o+"px",this[t(562)][t(592)][t(377)]=a+"px"}[rn(416)](){return f[rn(466)]}[rn(625)](){const t=rn;return this[t(562)][t(386)]}[rn(516)](){const t=rn;return this[t(562)]&&Js(this[t(562)].paused)&&Js(this[t(562)][t(515)])&&0!==this.$videoElement[t(458)]&&0!==this[t(562)][t(589)]}isVideoPlaying(){return this[rn(516)]()}[rn(605)](){const t=rn;return this.$videoElement&&this.$videoElement[t(589)]>=1}[rn(616)](){const t=rn;let e=null;if(this[t(562)]){if(Cs(this[t(562)][t(465)])){const s=this.$videoElement.getVideoPlaybackQuality();e={droppedVideoFrames:s[t(606)]||s.corruptedVideoFrames,totalVideoFrames:s[t(626)],creationTime:s[t(372)]}}else e={droppedVideoFrames:this.$videoElement.webkitDroppedFrameCount,totalVideoFrames:this[t(562)].webkitDecodedFrameCount,creationTime:Be()};e&&(e[t(640)]=e[t(626)]-e[t(606)])}return e}[rn(455)](t){const e=rn;this[e(562)]&&(this[e(562)][e(458)]=t)}get[rn(585)](){const t=rn;let e=1;return this.$videoElement&&(e=this.$videoElement[t(458)]),e}[rn(409)](){const t=rn;this[t(337)]&&(clearTimeout(this[t(337)]),this.checkVideoCanplayTimeout=null)}[rn(338)](){const t=rn;this[t(602)]&&(clearTimeout(this[t(602)]),this[t(602)]=null)}[rn(354)](){const t=rn;this[t(545)]&&(clearTimeout(this[t(545)]),this[t(545)]=null)}[rn(462)](){const t=rn;this[t(437)]&&(clearTimeout(this[t(437)]),this[t(437)]=null)}[rn(369)](){const t=rn;this[t(537)]&&this.$videoElement&&(this[t(562)][t(623)](this[t(537)]),this.supportVideoFrameCallbackHandle=null)}[rn(591)](){const t=rn,e=this[t(562)];let s=0;return e[t(493)].length>0&&(s=e[t(493)][t(497)](0)),s}[rn(621)](){const t=rn,e=this.$videoElement,s=e.buffered;s.length&&s.start(0);const i=s[t(603)]?s[t(518)](s[t(603)]-1):0;let r=e[t(386)];const n=i-r,o=this[t(397)]();if(this.player[t(650)]({mseVideoBufferDelayTime:n}),n>o)this[t(435)][t(418)](this[t(577)],"handleUpdatePlaybackRate and buffered is "+i+" and current is "+r+t(636)+o+t(333)+n+t(508)+i),e[t(386)]=i,r=e.currentTime;else if(n<0&&0===i)return this.player.debugWarn(this.TAG_NAME,"handleUpdatePlaybackRate and delay buffer is "+i+t(668)+r+" = "+n+t(366)+e[t(590)]+" "),void this.player.emit(O[t(495)],t(557));if(r>1){const s=this[t(330)](i-r);e[t(458)]!==s&&(this[t(435)][t(418)](this[t(577)],t(500)+i+" and current time is "+r+" and delay is "+(i-r)+t(552)+s+" "),e[t(458)]=s)}}_getPlaybackRate(t){const e=rn,s=this[e(562)];let i=this[e(435)][e(553)].videoBufferDelay+this[e(435)][e(553)][e(533)];const r=Math[e(429)](i,1e3),n=r/2;return t*=1e3,1===s[e(458)]?t>r?1.2:1:t<=n?1:s.playbackRate}[rn(631)](){const t=rn;let e=0;return this[t(562)]&&(e=this[t(562)][t(386)]),e}[rn(407)](){const t=rn,e=this.$videoElement;let s=0;if(e){const i=e[t(493)];i[t(603)]&&i.start(0);s=i.length?i.end(i[t(603)]-1):0}return s}getVideoBufferDelayTime(){const t=rn,e=this[t(562)];const s=this.getVideoBufferLastTime()-e[t(386)];return s>0?s:0}[rn(487)](){const t=rn,e=this[t(562)];let s=0,i=0;return e.buffered.length>0&&(i=e[t(493)][t(518)](e.buffered.length-1),s=i-e[t(386)]),s<0&&(this[t(435)][t(400)](this.TAG_NAME,"checkVideoSourceBufferDelay "+s+t(673)+i+" ,currentTime is "+e[t(386)]+" , try to seek "+e[t(386)]+" to "+i),e[t(386)]=i,e[t(590)]&&(this[t(435)][t(400)](this[t(577)],"checkSourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true"),this[t(435)][t(440)]=!0),s=0),s}checkSourceBufferStore(){const t=rn,e=this[t(562)];let s=0;return e.buffered[t(603)]>0&&(s=e.currentTime-e[t(493)][t(497)](0)),s}getVideoBufferTimeRange(){const t=rn,e=this[t(562)];let s=null;if(e){const i=e[t(493)],r=i[t(603)]?i.start(0):0,n=i[t(603)]?i.end(i[t(603)]-1):0;s={start:r,end:n,diff:n-r}}return s}[rn(413)](){const t=rn;let e=0;const s=this[t(562)];return s&&(e=s[t(458)]),e}getBufferMaxDelayTime(){const t=rn;let e=(this.player[t(553)][t(533)]+this[t(435)]._opt.videoBufferDelay)/1e3;return Math.max(5,e+3)}[rn(615)](){return this[rn(444)]()>=1}[rn(486)](){const t=rn;this[t(349)]&&(clearTimeout(this[t(349)]),this[t(349)]=null)}_clearCheckVodVideoWaiting(){const t=rn;this[t(607)]&&(clearTimeout(this._checkVodVideoWaitingInterval),this[t(607)]=null)}[rn(470)](){const t=rn;this._clearDelayEmitVodVideoWaiting(),this[t(349)]=setTimeout((()=>{const e=t;this.player[e(417)]()?this[e(435)][e(418)](this.TAG_NAME,"_delayEmitVodVideoWaitingInterval and player is destroyed or closed and return"):(this[e(435)][e(418)](this.TAG_NAME,e(525)),this[e(435)][e(647)](B.playVodWaiting))}),100)}[rn(655)](){this._clearCheckVodVideoWaiting(),this._checkVodVideoWaitingInterval=setTimeout((()=>{const t=sn;this[t(435)].isDestroyedOrClosed()?this[t(435)][t(418)](this[t(577)],t(356)):this[t(562)]&&(this[t(435)][t(418)](this.TAG_NAME,t(368)+this.$videoElement[t(386)]+t(346)+(this[t(562)][t(386)]+.1)),this.$videoElement[t(386)]=this[t(562)][t(386)]+.1)}),4e3)}setCurrentTime(t){const e=rn;this[e(562)]&&(this.$videoElement[e(386)]=t)}[rn(550)](){const t=rn;let e=!1;return this[t(562)]&&(e=this[t(562)][t(515)]),e}[rn(573)](){const t=rn;let e=0;return this[t(562)]&&this[t(562)][t(493)][t(603)]>0&&(e=this[t(562)][t(493)].end(this[t(562)][t(493)][t(603)]-1)),e}[rn(428)](){const t=rn;let e=0;return this[t(562)]&&(e=this[t(562)].duration),e}[rn(376)](){const t=rn;let e=0;if(this.$videoElement){const s=this[t(428)]();s&&(e=this[t(573)]()/s)}return e}}const an=cn;function hn(){const t=["_initContext2D","_renderFps","toString","videoFrame","debugError","pause","10782056LGCtpN","setRate","player","context2D"," pre fps is ","10535zZpyER","preFps","ceil","CanvasVideoPlayVod","fps","init","renderYUV","_initContextGl","bufferList","24xEpMQN","doRender webgpu render is not init","4682875QLbHIH","_stopSync","isPlaybackPauseClearCache","playVodPause","isPlayback","_doPlay","bufferSize","setFps ","_sync"," and error: ","$videoElement","playVod","397570FmHdJt","debugLog","initFps, has calc fps","playbackRate","clear","playing","render","playbackConfig","height","rate is","isWcsWebgl2","_opt","1396pOxVee","9QpovnL","setStreamFps","contextGl","_initCanvasRender","rate","webgl","_startFpsTimestamp","debugWarn","9gbTcSV","CanvasVideoPlayback","renderType","updateStats","playback","_hasCalcFps","playInterval","createImageBitmap","isUseFpsRender","width","TAG_NAME","initFps"," -> ","pushData","initVideoDelay","shift","bufferListLength is","187186wRhVRN","10443UzItgE","fps is","delayTimeout","setFps, same fps ","then","143NVOHkU","fragDuration","wcsUseWebgl2Render","clearView","startRender","drawImage","length","buffer","resume","floor","handleRender","streamFps","isContextLost","setFps","webgpu","tfTs","output","getCanvasType","useWCS","15119351palDSP","playbackDelayTime","calc fps is ","buffer size is ","push","webGPURender","initVideo","setFps min","webglRender","destroy","setFps max","_startfpsTime"," and updatePreFps","1182ziVLLD","isPlayVod","playbackPause","doRender webgpu render and error: ","_firstTimestamp","forEach"];return(hn=function(){return t})()}function cn(t,e){const s=hn();return(cn=function(t,e){return s[t-=237]})(t,e)}!function(t,e){const s=cn,i=t();for(;;)try{if(900386===parseInt(s(327))/1*(-parseInt(s(352))/2)+parseInt(s(237))/3*(-parseInt(s(326))/4)+-parseInt(s(302))/5+parseInt(s(274))/6*(-parseInt(s(291))/7)+parseInt(s(286))/8*(parseInt(s(335))/9)+parseInt(s(314))/10*(parseInt(s(242))/11)+parseInt(s(300))/12*(parseInt(s(261))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(hn);class ln extends Xr{constructor(t){const e=cn;super(t),this[e(345)]=t.isPlayVod()?e(294):e(336),this[e(299)]=[],this[e(319)]=!1,this[e(341)]=null,this[e(295)]=1,this[e(292)]=1,t[e(275)]()&&(this.fps=25,this.preFps=25),this[e(253)]=0,this[e(317)]=1,this._firstTimestamp=null,this[e(281)]=0,this[e(272)]=null,this[e(333)]=null,this._hasCalcFps=!1,this[e(288)][e(306)]()?this.player.on(B[e(276)],(t=>{const s=e;t?(this[s(285)](),this[s(288)][s(339)][s(304)]&&this[s(318)]()):this[s(250)]()})):this[e(288)][e(275)]()&&this[e(288)].on(B[e(305)],(t=>{t?this.pause():this.resume()})),this[e(288)].debugLog(this.TAG_NAME,e(296))}async destroy(){const t=cn;this[t(303)](),this[t(318)](),this._firstTimestamp=null,this.playing=!1,this[t(317)]=1,this[t(295)]=1,this.preFps=1,this[t(281)]=0,this[t(272)]=null,this[t(333)]=null,this._hasCalcFps=!1,super[t(270)](),this[t(288)][t(315)](this.TAG_NAME,"destroy")}[an(330)](){const t=an;this[t(288)]._opt[t(260)]?(this[t(337)]=J.webcodecs,ti()&&this[t(288)][t(325)][t(244)]?(this._initContextGl2(),this.webglRender&&(this[t(324)]=!0)):this[t(280)]()):this[t(288)][t(325)].useWebGPU?(this[t(337)]=J[t(256)],this._initContextGPU()):(this.renderType=J[t(332)],this[t(298)]())}[an(310)](){const t=an;this[t(303)](),this._doPlay(),this[t(341)]=setInterval((()=>{this[t(307)]()}),this[t(243)])}[an(307)](){const t=an;if(this.bufferList[t(248)]>0){const e=this[t(299)][t(350)]();e&&e[t(249)]&&(this._doRender(e[t(249)]),this.player[t(252)](),this.player.isPlayback()?this[t(288)][t(339)][t(338)]({ts:e.ts,tfTs:e[t(257)]}):this.player.isPlayVod()&&this.player[t(313)][t(338)]({ts:e.ts,tfTs:e[t(257)]}))}}[an(303)](){const t=an;this[t(341)]&&(clearInterval(this[t(341)]),this[t(341)]=null)}_doRender(t){const e=an;if(this[e(288)][e(325)][e(260)])if(this.webglRender)this[e(269)][e(320)](t),Ms(t);else if(Cs(t[e(342)]))try{t.createImageBitmap()[e(241)]((s=>{const i=e;this[i(289)][i(247)](s,0,0,this[i(312)].width,this.$videoElement[i(322)]),Ms(t)}))}catch(t){}else this[e(289)].drawImage(t,0,0,this.$videoElement.width,this.$videoElement[e(322)]),Ms(t);else if(this[e(259)]()===J.webgl)try{this.webglRender[e(297)](this.$videoElement.width,this[e(312)][e(322)],t)}catch(t){this[e(288)].debugError(this[e(345)],"doRender webgl render context is lost "+(this[e(329)]&&this[e(329)][e(254)]())+e(311)+t[e(282)]())}else if(this[e(259)]()===J[e(256)])try{if(!this[e(266)])return void this[e(288)][e(334)](this[e(345)],e(301));this[e(266)][e(297)](this[e(312)][e(344)],this[e(312)].height,t)}catch(t){this.player[e(284)](this[e(345)],e(277)+t.toString())}}get[an(331)](){return this[an(317)]}get[an(243)](){const t=an;return Math[t(293)](1e3/(this[t(295)]*this[t(317)]))}get[an(308)](){const t=an;return this.bufferList[t(248)]}getStreamFps(){return this.streamFps}[an(346)](){const t=an;this._hasCalcFps?this[t(288)].debugLog(this.TAG_NAME,t(316)):this.player[t(306)]()?(this[t(292)]=Me(this[t(288)][t(339)][t(295)],1,100),this[t(295)]=this[t(292)]):this.player[t(275)]()&&(this[t(292)]=Me(this[t(288)].playVod[t(295)],1,100),this.fps=this[t(292)])}setFps(t){const e=an;t!==this[e(295)]?(t>100&&this[e(288)][e(334)](this[e(345)],e(271),t),t<0&&this[e(288)][e(334)](this.TAG_NAME,e(268),t),this[e(295)]=Me(t,1,100),this[e(288)][e(315)](this[e(345)],e(309)+this[e(292)]+e(347)+this[e(295)]),this.player.isPlayback()&&this.player.playback[e(343)]?this._sync():this.player[e(275)]()&&this[e(310)]()):this.player[e(315)](this[e(345)],e(240)+t)}setStreamFps(t){const e=an;this[e(288)].debugLog(this[e(345)],"setStreamFps",t),this[e(340)]=!0,this[e(253)]=t,this[e(292)]=t,this[e(255)](t)}[an(287)](t){const e=an;t!==this[e(317)]&&(this.playbackRate=t,(this[e(288)][e(306)]()&&this[e(288)][e(339)][e(343)]||this.player[e(275)]())&&this[e(310)]())}render$2(t){const e=an;null===this[e(278)]&&(this[e(278)]=t.ts);const s={tfTs:t.ts-this[e(278)],ts:t.ts};t[e(283)]?s[e(249)]=t.videoFrame:s.buffer=t[e(258)],this[e(299)][e(265)](s),this[e(246)](),this[e(288)][e(252)](),this.player.isPlayback()?this[e(288)][e(339)].updateStats({ts:t.ts,tfTs:s[e(257)]}):this.player.isPlayVod()&&this[e(288)][e(313)][e(338)]({ts:t.ts,tfTs:s.tfTs})}[an(246)](){const t=an;for(;!(this[t(299)][t(248)]<=0);){const e=this[t(299)][t(350)]();this._doRender(e[t(249)])}}[an(348)](t){const e=an;null===this[e(278)]&&(this[e(278)]=t.ts);const s={tfTs:t.ts-this[e(278)],ts:t.ts};if(t[e(283)]?s.buffer=t[e(283)]:s[e(249)]=t[e(258)],this[e(288)][e(306)]()){const t=this.player._opt[e(321)].isCacheBeforeDecodeForFpsRender;if(!t&&this[e(308)]>this[e(295)]*this[e(317)]*2&&(this[e(288)][e(334)](this[e(345)],e(264)+this[e(308)]),this[e(307)]()),this[e(299)][e(265)](s),!this[e(340)]){const t=js(this.bufferList);null!==t&&t!==this[e(292)]&&(this[e(288)].debugLog(this[e(345)],"calc fps is "+t+e(290)+this[e(292)]+e(273)),this[e(328)](t))}if(!t){const t=this.bufferList[e(248)],s=t/(this[e(295)]*this[e(317)]);this[e(288)][e(315)](this.TAG_NAME,e(323),s),s<=1?this[e(255)](this.preFps):(this.setFps(this[e(295)]+Math[e(251)](s*this[e(317)])),this[e(288)][e(334)](this[e(345)],e(323),s,e(238),this[e(295)],e(351),t))}}else if(this[e(288)][e(275)]()&&(this[e(299)][e(265)](s),!this._hasCalcFps)){const t=js(this[e(299)]);null!==t&&t!==this[e(292)]&&(this.player[e(315)](this.TAG_NAME,e(263)+t+e(290)+this[e(292)]+" and updatePreFps"),this[e(328)](t))}}[an(267)](){const t=an;(this[t(288)][t(306)]()&&this[t(288)][t(339)].isUseFpsRender||this[t(288)][t(275)]())&&this[t(310)](),this[t(319)]=!0}[an(349)](){const t=an,e=this[t(288)][t(325)][t(262)];e>0?this[t(239)]=setTimeout((()=>{this.initVideo()}),e):this.initVideo()}[an(245)](){const t=an;super[t(245)](),this.contextGl.clear(this[t(329)].COLOR_BUFFER_BIT)}[an(318)](){const t=an;this[t(288)][t(325)].useWCS&&this[t(299)][t(279)]((t=>{t.buffer&&Ms(t.buffer)})),this[t(299)]=[]}[an(250)](){const t=an;(this[t(288)][t(306)]()&&this[t(288)][t(339)][t(343)]||this[t(288)][t(275)]())&&this[t(310)](),this.playing=!0}[an(285)](){const t=an;(this[t(288)].isPlayback()&&this.player[t(339)][t(343)]||this[t(288)][t(275)]())&&this[t(303)](),this.playing=!1}}var dn=pn;function un(){var t=["3012378MSrPCK","424INDgFi","103858JjCFkg","1719YFtCOE","189415HDmLDs","1118dHAoAL","render$2","672xvLnXI","5743550HKBSvN","VideoPlayVod","12rceQjI","destroy","207326BBeofS"];return(un=function(){return t})()}function pn(t,e){var s=un();return(pn=function(t,e){return s[t-=175]})(t,e)}!function(t,e){for(var s=pn,i=t();;)try{if(289926===parseInt(s(177))/1+parseInt(s(180))/2*(parseInt(s(182))/3)+-parseInt(s(185))/4*(-parseInt(s(179))/5)+parseInt(s(175))/6+parseInt(s(187))/7+parseInt(s(176))/8*(-parseInt(s(178))/9)+-parseInt(s(183))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(un);class fn extends on{constructor(t){var e=pn;super(t),this.TAG_NAME=t.isPlayback()?"VideoPlayback":e(184)}async destroy(){super[pn(186)]()}[dn(181)](t){this.render(t)}}const mn=An;function gn(){const t=["isWebrtc","523370MYmiEC","mseUseCanvasRender","isAliyunRtc","_opt","playVod","playbackTF","86348vIOgGE","259tGfCRq","8HlYAPQ","2084590Djxgcf","3303408BTzzzA","getLoaderFactory","playType","useMSE","141066FDfKet","wcsUseVideoRender","1512324EeNMWI","useOffscreen","88bHJkUU","2031720ZNfjbZ","1JhcuKR","wasmUseVideoRender","9ezNBwv","supportHls265","isWebrtcH265"];return(gn=function(){return t})()}function An(t,e){const s=gn();return(An=function(t,e){return s[t-=251]})(t,e)}!function(t,e){const s=An,i=t();for(;;)try{if(435676===-parseInt(s(254))/1*(-parseInt(s(266))/2)+-parseInt(s(276))/3+parseInt(s(268))/4*(-parseInt(s(260))/5)+-parseInt(s(274))/6*(parseInt(s(267))/7)+parseInt(s(270))/8+parseInt(s(256))/9*(parseInt(s(269))/10)+-parseInt(s(252))/11*(-parseInt(s(253))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(gn);class yn{constructor(t){const e=An;return new(yn[e(271)](t[e(263)]))(t)}static[mn(271)](t){const e=mn;return t[e(273)]?t[e(261)]?en:on:t.isHls&&Js(t[e(257)])||t[e(259)]&&Js(t[e(258)])?t.useCanvasRender?en:on:t[e(262)]?on:t.useWCS?t.playType===c[e(265)]||t[e(272)]===c[e(264)]?!t[e(251)]&&t[e(275)]?fn:ln:!t[e(251)]&&t.wcsUseVideoRender?on:en:t[e(272)]===c.playbackTF||t[e(272)]===c.playVod?ln:t[e(255)]&&!t[e(251)]?on:en}}function bn(t,e){const s=Sn();return(bn=function(t,e){return s[t-=432]})(t,e)}const vn=bn;function Sn(){const t=["state","channels","volumechange","sampleRate","stop","audioContextState","init","_destroyWorklet","setRate","2emnjvZ","closeAudio","7457216NkpPXG","getEngineType","finally","audioEnabled","createBuffer","mediaStreamAudioDestinationNode","depth","hasInitScriptNode","11760IKilVp","port","send close and wait 10ms destroy directly","gainNode","running","then","scriptNode","initScriptNode","off","gain","createBufferSource","491103UubmmU","hasAudio","$audio","player","toFixed","length","buffer","encType","audioContext","disconnect","isPlaying","lastVolume","value","mute","isMute","clearAudioResumeStateTimeout","encTypeCode","createMediaStreamDestination","clear","workletProcessorNode","createGain","destroy","TAG_NAME","audioResumeState","audioBufferSourceNode","emit","destination","audioInfo","3155844iWkaoC","audioContextContextResumeLock","3951OrbOtA","3581464rOAvPD","getAudioInfo","isStateRunning","1314750MOLmZi","playing","play","updateAudioInfo","bufferList","AudioContext","bufferSize","setVolume","workletWorkerCloseTimeout","audioResumeStateTimeout","15WEhlyL","_prevVolume","volume","isStateSuspended","start","5661138jgtdEc","webkitAudioContext","resetInit","resume","suspended","getAudioBufferSize"];return(Sn=function(){return t})()}!function(t,e){const s=bn,i=t();for(;;)try{if(649372===-parseInt(s(504))/1+parseInt(s(483))/2*(-parseInt(s(447))/3)+parseInt(s(450))/4+parseInt(s(463))/5*(parseInt(s(453))/6)+-parseInt(s(468))/7+parseInt(s(485))/8+-parseInt(s(449))/9*(-parseInt(s(493))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Sn);class wn extends mi{constructor(t){const e=bn;super(),this[e(457)]=[],this.player=t,this[e(506)]=null,this.scriptNode=null,this[e(438)]=null,this[e(461)]=null,this[e(492)]=!1,this[e(512)]=new(window[e(458)]||window[e(469)])({sampleRate:Ot}),this.gainNode=this[e(512)][e(439)]();const s=this[e(512)][e(503)]();s[e(510)]=this[e(512)][e(489)](1,1,22050),s.connect(this[e(512)][e(445)]),s.noteOn?s.noteOn(0):s[e(467)](0),this.audioBufferSourceNode=s,this[e(490)]=this[e(512)][e(436)](),this.gainNode[e(502)][e(516)]=0,this[e(464)]=null,this.playing=!1,this[e(446)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1,this[e(505)]=!1,this.audioResumeStateTimeout=null,this[e(448)]=!1}async[vn(440)](){const t=vn;return this[t(484)](),this[t(470)](),this[t(434)](),this[t(512)]&&(await this[t(512)].close(),this[t(512)]=null),this[t(496)]&&(this.gainNode.disconnect(),this[t(496)]=null),this.hasAudio=!1,this[t(454)]=!1,this[t(499)]&&(this[t(499)][t(513)](),this[t(499)].onaudioprocess=De,this.scriptNode=null),await this[t(481)](),this[t(438)]&&(this[t(438)].disconnect(),this[t(438)].port.onmessage=De,this[t(438)]=null),this.audioBufferSourceNode&&(this[t(443)][t(478)](),this[t(443)]=null),this.mediaStreamAudioDestinationNode&&(this[t(490)][t(513)](),this[t(490)]=null),this[t(492)]=!1,this[t(464)]=null,this[t(448)]=!1,this[t(501)](),!0}[vn(481)](){return new Promise(((t,e)=>{const s=bn;this[s(438)]?(this[s(438)][s(494)].postMessage({type:s(440)}),this[s(461)]=setTimeout((()=>{const e=s;this[e(507)].debugLog(this[e(441)],e(495)),this[e(461)]&&(clearTimeout(this.workletWorkerCloseTimeout),this[e(461)]=null),t()}),10)):t()}))}[vn(470)](){const t=vn;this[t(446)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this[t(480)]=!1}[vn(451)](){return this.audioInfo}[vn(456)](t){const e=vn;t.encTypeCode&&(this[e(446)][e(435)]=t[e(435)],this.audioInfo[e(511)]=K[t.encTypeCode]),t[e(475)]&&(this.audioInfo.channels=t.channels),t[e(477)]&&(this[e(446)].sampleRate=t.sampleRate),t[e(491)]&&(this[e(446)].depth=t.depth),this[e(446)].sampleRate&&this.audioInfo[e(475)]&&this.audioInfo[e(511)]&&!this[e(480)]&&(this[e(507)][e(444)](B[e(446)],this[e(446)]),this[e(480)]=!0)}get[vn(514)](){return this.playing}get[vn(433)](){const t=vn;return 0===this[t(496)][t(502)][t(516)]||this[t(466)]()}get[vn(465)](){const t=vn;return this[t(496)].gain[t(516)]}get[vn(459)](){const t=vn;return this[t(457)][t(509)]}get audioContextState(){const t=vn;let e=null;return this[t(512)]&&(e=this[t(512)][t(474)]),e}[vn(500)](){}initMobileScriptNode(){}initWorkletScriptNode(){}[vn(486)](){return""}[vn(432)](t){const e=vn;t?(this[e(460)](0),this.clear()):this[e(460)](this.player[e(515)]||.5)}[vn(460)](t){const e=vn;t=parseFloat(t)[e(508)](2),isNaN(t)||(this[e(488)](!0),t=Me(t,0,1),null!==this[e(464)]&&this[e(464)]===t||(null===this._prevVolume?this[e(507)][e(444)](B[e(432)],0===t):0===this[e(464)]&&t>0?this[e(507)][e(444)](B[e(432)],!1):this[e(464)]>0&&0===t&&this[e(507)][e(444)](B[e(432)],!0),this.gainNode[e(502)][e(516)]=t,this.player[e(444)](B[e(476)],this[e(507)][e(465)]),this.player.emit(B[e(465)],this[e(507)].volume),this[e(464)]=t))}[vn(484)](){const t=vn;this.hasInitScriptNode&&(this.scriptNode&&this[t(499)][t(513)](this[t(496)]),this[t(438)]&&this[t(438)][t(513)](this[t(496)]),this[t(496)]&&(this[t(496)].disconnect(this[t(490)]),!this[t(506)]&&this[t(496)][t(513)](this[t(512)].destination))),this[t(437)]()}[vn(488)](t){const e=vn;if(t&&this[e(466)]()){if(this[e(448)])return;this[e(448)]=!0,this[e(512)][e(471)]()[e(498)]((()=>{const t=e;this[t(507)].emit(B.audioResumeState,{state:this[t(479)],isRunning:this[t(452)]()})}))[e(487)]((()=>{this.audioContextContextResumeLock=!1})),this[e(462)]=setTimeout((()=>{const t=e;this[t(434)](),this.audioContextContextResumeLock=!1,this[t(466)]()&&this[t(507)][t(444)](B[t(442)],{state:this[t(479)],isRunning:this[t(452)]()})}),1e3)}}isStateRunning(){const t=vn;return this[t(479)]===t(497)}isStateSuspended(){const t=vn;return this[t(479)]===t(472)}clearAudioResumeStateTimeout(){this.audioResumeStateTimeout&&(clearTimeout(this.audioResumeStateTimeout),this.audioResumeStateTimeout=null)}[vn(437)](){this[vn(457)]=[]}[vn(455)](t,e){}pause(){this[vn(454)]=!1}[vn(471)](){this[vn(454)]=!0}[vn(482)](t){}[vn(473)](){return 0}}const En=In;function In(t,e){const s=Tn();return(In=function(t,e){return s[t-=334]})(t,e)}function Tn(){const t=["set","22934ZwHrBL","95ISZvAF","right","channel","95832NnXGhp","15043qBvjjc","shift","provide","200nioHYN","8217ZdqgnI","5817744JKGljK","audio","length","3016TsAELP","bufferList","bufferSize","player","size","debugWarn","4524052SWFDJi","buffer","left","2090343TpHaUf","56990dsNXDT","tempAudioTimestamp","provide()"];return(Tn=function(){return t})()}!function(t,e){const s=In,i=t();for(;;)try{if(638087===-parseInt(s(354))/1*(parseInt(s(353))/2)+parseInt(s(348))/3+-parseInt(s(345))/4+-parseInt(s(334))/5*(parseInt(s(357))/6)+parseInt(s(358))/7*(-parseInt(s(339))/8)+-parseInt(s(336))/9+parseInt(s(349))/10*(parseInt(s(335))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Tn);class kn{constructor(t,e,s,i){const r=In;this.player=t,this[r(337)]=e,this[r(356)]=s,this[r(341)]=i}destroy(){const t=In;this[t(346)]=null,this[t(356)]=null}extract(t,e){const s=In;let i=this[s(360)](e);for(let e=0;e=a){try{for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:0;const r=2*(e=e||0);!(i>=0)&&(i=(t[s(428)]-r)/2);const n=2*i;this[s(457)](i+this[s(406)]);const o=this[s(487)];this[s(483)][s(502)](t[s(520)](r,r+n),o),this[s(406)]+=i}putBuffer(t,e){const s=_n;let i=arguments[s(428)]>2&&void 0!==arguments[2]?arguments[2]:0;e=e||0,!(i>=0)&&(i=t[s(504)]-e),this[s(425)](t[s(483)],t[s(455)]+e,i)}[_n(513)](t){const e=_n;(!(t>=0)||t>this[e(406)])&&(t=this[e(504)]),this[e(406)]-=t,this[e(490)]+=t}receiveSamples(t){const e=_n;let s=arguments[e(428)]>1&&void 0!==arguments[1]?arguments[1]:0;const i=2*s,r=this[e(410)];t[e(502)](this[e(404)][e(520)](r,r+i)),this[e(513)](s)}[_n(474)](t){const e=_n;let s=arguments[e(428)]>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const r=this[e(410)]+2*s,n=2*i;t[e(502)](this[e(404)][e(520)](r,r+n))}[_n(457)](){const t=_n;const e=parseInt(2*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0));if(this[t(404)][t(428)]0&&void 0!==arguments[0]?arguments[0]:0;this[t(457)](this[t(406)]+e)}[_n(459)](){const t=_n;this._position>0&&(this[t(404)][t(502)](this[t(404)][t(520)](this[t(410)],this[t(487)])),this[t(490)]=0)}}class Rn{constructor(t){const e=_n;t?(this[e(491)]=new Cn,this._outputBuffer=new Cn):this[e(491)]=this[e(431)]=null}[_n(439)](){const t=_n;this[t(505)](),this[t(431)]&&(this[t(431)][t(439)](),this._outputBuffer=null),this[t(491)]&&(this[t(491)][t(439)](),this[t(491)]=null)}get inputBuffer(){return this[_n(491)]}set inputBuffer(t){this[_n(491)]=t}get outputBuffer(){return this[_n(431)]}set[_n(484)](t){this[_n(431)]=t}[_n(505)](){const t=_n;this[t(491)][t(505)](),this[t(431)][t(505)]()}}class Dn extends Rn{constructor(t){const e=_n;super(t),this[e(501)](),this[e(534)]=1}[_n(439)](){super.destroy()}set rate(t){this[_n(534)]=t}[_n(501)](){const t=_n;this[t(435)]=0,this[t(419)]=0,this[t(519)]=0}[_n(405)](){const t=_n,e=new Dn;return e[t(452)]=this._rate,e}process(){const t=_n,e=this[t(491)][t(504)];this._outputBuffer.ensureAdditionalCapacity(e/this[t(534)]+1);const s=this.transpose(e);this._inputBuffer[t(513)](),this._outputBuffer[t(516)](s)}[_n(414)](){const t=_n;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(0===e)return 0;const s=this._inputBuffer[t(483)],i=this._inputBuffer[t(410)],r=this[t(431)][t(483)],n=this[t(431)][t(487)];let o=0,a=0;for(;this.slopeCount<1;)r[n+2*a]=(1-this[t(435)])*this.prevSampleL+this[t(435)]*s[i],r[n+2*a+1]=(1-this[t(435)])*this[t(519)]+this[t(435)]*s[i+1],a+=1,this[t(435)]+=this[t(534)];if(this.slopeCount-=1,1!==e)t:for(;;){for(;this[t(435)]>1;)if(this.slopeCount-=1,o+=1,o>=e-1)break t;const h=i+2*o;r[n+2*a]=(1-this[t(435)])*s[h]+this.slopeCount*s[h+2],r[n+2*a+1]=(1-this.slopeCount)*s[h+1]+this[t(435)]*s[h+3],a+=1,this[t(435)]+=this[t(534)]}return this.prevSampleL=s[i+2*e-2],this[t(519)]=s[i+2*e-1],a}}class Ln{constructor(t){this[_n(481)]=t}destroy(){}get pipe(){return this[_n(481)]}get[_n(535)](){return this._pipe.inputBuffer}get outputBuffer(){const t=_n;return this[t(481)][t(484)]}[_n(493)](){throw new Error(_n(532))}[_n(495)](){const t=_n;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;for(;this[t(484)].frameCount2&&void 0!==arguments[2]?arguments[2]:xn;super(e),this[s(470)]=i,this[s(521)]=t,this[s(411)]=22050,this[s(517)]=0,this.outputBufferPosition=0,this[s(490)]=0}[_n(439)](){const t=_n;this[t(505)](),this.sourceSound[t(439)](),this.sourceSound=null,this._sourcePosition=0,this.outputBufferPosition=0,this[t(490)]=0}get[_n(455)](){return this[_n(490)]}set[_n(455)](t){const e=_n;if(t>this._position)throw new RangeError("New position may not be greater than current position");const s=this.outputBufferPosition-(this[e(490)]-t);if(s<0)throw new RangeError(e(527));this.outputBufferPosition=s,this[e(490)]=t}get[_n(509)](){return this[_n(517)]}set sourcePosition(t){const e=_n;this[e(505)](),this[e(517)]=t}[_n(530)](){this.callback()}[_n(493)](){const t=_n;let e=arguments[t(428)]>0&&void 0!==arguments[0]?arguments[0]:0;const s=new Float32Array(2*e),i=this[t(521)].extract(s,e,this[t(517)]);this[t(517)]+=i,this[t(535)].putSamples(s,0,i)}[_n(474)](t){const e=_n;let s=arguments[e(428)]>1&&void 0!==arguments[1]?arguments[1]:0;this.fillOutputBuffer(this[e(510)]+s);const i=Math[e(478)](s,this[e(484)][e(504)]-this[e(510)]);this[e(484)][e(474)](t,this[e(510)],i);const r=this[e(510)]+i;return this[e(510)]=Math[e(478)](this[e(411)],r),this[e(484)][e(513)](Math[e(489)](r-this[e(411)],0)),this[e(490)]+=i,i}handleSampleData(t){const e=_n;this[e(474)](t[e(475)],4096)}clear(){const t=_n;super[t(505)](),this[t(510)]=0}}const Mn=[[124,186,248,310,372,434,496,558,620,682,744,806,868,930,992,1054,1116,1178,1240,1302,1364,1426,1488,0],[-100,-75,-50,-25,25,50,75,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-20,-15,-10,-5,5,10,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-4,-3,-2,-1,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Fn=-10/1.5;class On extends Rn{constructor(t){const e=_n;super(t),this[e(444)]=!0,this[e(445)]=!1,this[e(422)]=null,this.refMidBuffer=null,this[e(447)]=0,this[e(494)]=!0,this[e(514)]=!0,this[e(466)]=1,this[e(529)](44100,0,0,8)}[_n(439)](){this[_n(505)](),super.destroy()}[_n(505)](){const t=_n;super[t(505)](),this[t(423)](),this[t(417)]=null}[_n(423)](){const t=_n;this[t(445)]&&(this[t(445)]=!1),this[t(422)]=null}[_n(529)](t,e,s,i){const r=_n;t>0&&(this[r(403)]=t),i>0&&(this[r(434)]=i),e>0?(this[r(443)]=e,this[r(494)]=!1):this.autoSeqSetting=!0,s>0?(this[r(454)]=s,this[r(514)]=!1):this.autoSeekSetting=!0,this[r(515)](),this[r(420)](this[r(434)]),this[r(412)]=this[r(466)]}set[_n(412)](t){const e=_n;let s;this[e(466)]=t,this[e(515)](),this[e(415)]=this[e(466)]*(this[e(482)]-this.overlapLength),this[e(500)]=0,s=Math[e(433)](this[e(415)]+.5),this[e(465)]=Math.max(s+this[e(447)],this[e(482)])+this[e(450)]}get[_n(412)](){return this[_n(466)]}get inputChunkSize(){return this[_n(465)]}get[_n(511)](){const t=_n;return this.overlapLength+Math.max(0,this[t(482)]-2*this.overlapLength)}[_n(420)](){const t=_n;let e,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;e=this.sampleRate*s/1e3,e=e<16?16:e,e-=e%8,this[t(447)]=e,this[t(417)]=new Float32Array(2*this[t(447)]),this.midBuffer=new Float32Array(2*this[t(447)])}checkLimits(t,e,s){return ts?s:t}[_n(515)](){const t=_n;let e,s;this[t(494)]&&(e=150+-50*this[t(466)],e=this[t(507)](e,50,125),this[t(443)]=Math[t(433)](e+.5)),this[t(514)]&&(s=28.333333333333332+Fn*this[t(466)],s=this[t(507)](s,15,25),this[t(454)]=Math.floor(s+.5)),this[t(482)]=Math[t(433)](this.sampleRate*this[t(443)]/1e3),this[t(450)]=Math[t(433)](this[t(403)]*this[t(454)]/1e3)}set[_n(497)](t){this._quickSeek=t}[_n(405)](){const t=_n,e=new On;return e[t(412)]=this[t(466)],e[t(529)](this[t(403)],this[t(443)],this[t(454)],this[t(434)]),e}[_n(525)](){const t=_n;return this._quickSeek?this[t(522)]():this[t(458)]()}[_n(458)](){const t=_n;let e,s,i,r=0;for(this[t(451)](),e=0,s=Number[t(426)];rs&&(s=i,e=r);return e}[_n(522)](){const t=_n;let e,s,i,r,n,o=0;for(this[t(451)](),s=Number[t(426)],e=0,r=0,n=0;o<4;o+=1){let a=0;for(;Mn[o][a]&&(n=r+Mn[o][a],!(n>=this[t(450)]));)i=this[t(432)](2*n,this[t(417)]),i>s&&(s=i,e=n),a+=1;r=e}return e}preCalculateCorrelationReferenceStereo(){const t=_n;let e,s,i=0;for(;i=this[t(465)];){e=this.seekBestOverlapPosition(),this[t(431)][t(473)](this[t(447)]),this[t(479)](Math[t(433)](e)),this[t(431)][t(516)](this[t(447)]),s=this[t(482)]-2*this.overlapLength,s>0&&this[t(431)][t(429)](this[t(491)],e+this[t(447)],s);const r=this._inputBuffer[t(410)]+2*(e+this.seekWindowLength-this[t(447)]);this[t(422)][t(502)](this._inputBuffer.vector.subarray(r,r+2*this[t(447)])),this.skipFract+=this[t(415)],i=Math[t(433)](this[t(500)]),this[t(500)]-=i,this[t(491)][t(513)](i)}}}const Un=function(t,e){return(t>e?t-e:e-t)>1e-10};function jn(){const t=["_node","join","600553YnMHvv","virtualTempo","7522501yScuUW","sampleReq","_tempo","_soundtouch","5320808azLrEH","stretch","callback","listeners","11xTlBki","ensureAdditionalCapacity","extract","data","detail","numberOfChannels","min","overlap","_intermediateBuffer","_pipe","seekWindowLength","vector","outputBuffer","transposer","_filter","endIndex","5alzqPD","max","_position","_inputBuffer","calculateEffectiveRateAndTempo","fillInputBuffer","autoSeqSetting","fillOutputBuffer","exp","quickSeek","getChannelData","3wRheiJ","skipFract","reset","set","formattedTimePlayed","frameCount","clear","8OeaYcV","checkLimits","disconnect","sourcePosition","outputBufferPosition","outputChunkSize","9310455cUbZQI","receive","autoSeekSetting","calculateSequenceParameters","put","_sourcePosition","virtualPitch","prevSampleR","subarray","sourceSound","seekBestOverlapPositionStereoQuick","name","forEach","seekBestOverlapPosition","1539182Jrzffh","New position falls outside of history buffer","onaudioprocess","setParameters","onEnd","connect","fillInputBuffer() not overridden","removeEventListener","_rate","inputBuffer","sampleRate","_vector","clone","_frameCount","5828184SaOHgl","off","duration","startIndex","historyBufferSize","tempo","call","transpose","nominalSkip","process","refMidBuffer","push","prevSampleL","calculateOverlapLength","31844370AnnoND","midBuffer","clearMidBuffer","createScriptProcessor","putSamples","MIN_VALUE","percentagePlayed","length","putBuffer","tempoChange","_outputBuffer","calculateCrossCorrelationStereo","floor","overlapMs","slopeCount","receiveSamples","dualChannel","pitchOctaves","destroy","pitch","pitchSemitones","timePlayed","sequenceMs","_quickSeek","midBufferDirty","node","overlapLength","buffer","virtualRate","seekLength","preCalculateCorrelationReferenceStereo","rate","addEventListener","seekWindowMs","position","overlapStereo","ensureCapacity","seekBestOverlapPositionStereo","rewind"];return(jn=function(){return t})()}class Nn{constructor(){const t=_n;this[t(485)]=new Dn(!1),this[t(469)]=new On(!1),this[t(491)]=new Cn,this[t(480)]=new Cn,this[t(431)]=new Cn,this._rate=0,this[t(466)]=0,this[t(518)]=1,this.virtualRate=1,this.virtualTempo=1,this[t(492)]()}destroy(){const t=_n;this.clear(),this._inputBuffer[t(439)](),this._intermediateBuffer[t(439)](),this[t(431)].destroy(),this._inputBuffer=null,this[t(480)]=null,this[t(431)]=null}[_n(505)](){const t=_n;this[t(485)][t(505)](),this.stretch.clear()}[_n(405)](){const t=_n,e=new Nn;return e[t(452)]=this.rate,e[t(412)]=this[t(412)],e}get[_n(452)](){return this[_n(534)]}set rate(t){this[_n(449)]=t,this.calculateEffectiveRateAndTempo()}set rateChange(t){this[_n(534)]=1+.01*t}get tempo(){return this._tempo}set[_n(412)](t){this[_n(463)]=t,this.calculateEffectiveRateAndTempo()}set[_n(430)](t){this[_n(412)]=1+.01*t}set[_n(440)](t){this.virtualPitch=t,this.calculateEffectiveRateAndTempo()}set[_n(438)](t){const e=_n;this[e(440)]=Math[e(496)](.69314718056*t),this[e(492)]()}set[_n(441)](t){this[_n(438)]=t/12}get[_n(535)](){return this[_n(491)]}get outputBuffer(){return this[_n(431)]}[_n(492)](){const t=_n,e=this[t(466)],s=this[t(534)];this._tempo=this[t(463)]/this[t(518)],this[t(534)]=this[t(449)]*this.virtualPitch,Un(this[t(466)],e)&&(this[t(469)][t(412)]=this._tempo),Un(this[t(534)],s)&&(this[t(485)][t(452)]=this[t(534)]),this[t(534)]>1?this[t(431)]!=this[t(485)][t(484)]&&(this[t(469)][t(535)]=this[t(491)],this[t(469)][t(484)]=this[t(480)],this[t(485)][t(535)]=this[t(480)],this[t(485)][t(484)]=this[t(431)]):this[t(431)]!=this[t(469)].outputBuffer&&(this[t(485)][t(535)]=this[t(491)],this[t(485)].outputBuffer=this[t(480)],this[t(469)].inputBuffer=this._intermediateBuffer,this[t(469)].outputBuffer=this[t(431)])}[_n(416)](){const t=_n;this[t(534)]>1?(this[t(469)][t(416)](),this[t(485)][t(416)]()):(this[t(485)][t(416)](),this[t(469)][t(416)]())}}_n(439),_n(437),_n(455),_n(455),_n(474);_n(439),_n(427),_n(446),_n(440),_n(441),_n(452),_n(412),_n(531),_n(508),_n(408);const Vn=zn;function zn(t,e){const s=Hn();return(zn=function(t,e){return s[t-=400]})(t,e)}!function(t,e){const s=zn,i=t();for(;;)try{if(469128===parseInt(s(413))/1+-parseInt(s(408))/2*(-parseInt(s(417))/3)+-parseInt(s(402))/4+-parseInt(s(403))/5*(-parseInt(s(410))/6)+-parseInt(s(409))/7+-parseInt(s(414))/8*(-parseInt(s(411))/9)+-parseInt(s(401))/10*(-parseInt(s(407))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hn);class Gn{constructor(t,e,s){const i=zn;this[i(415)]=t,this[i(419)]=e,this.soundTouch=new Nn,this[i(418)].tempo=1,this[i(418)][i(404)]=1,this[i(406)]=new Bn(s,this[i(418)])}[Vn(416)](){const t=Vn;this[t(406)]&&(this[t(406)][t(416)](),this[t(406)]=null),this[t(418)]&&(this[t(418)][t(416)](),this[t(418)]=null)}setRate(t){const e=Vn;t!==this.soundTouch.rate&&(this[e(418)][e(412)]=t)}provide(t){const e=Vn;let s=new Float32Array(2*t),i=this[e(406)][e(405)](s,t),r=new Float32Array(i),n=new Float32Array(i);for(let t=0;t{"init"===t.data.message?(this.audioBufferSize=t.data.audioBufferSize,this.start=t.data.start,this.channels=t.data.channels,this.state=0,this.offset=0,this.samplesArray=[]):"stop"===t.data.message?(this.state=0,this.start=!1,this.offset=0,this.samplesArray=[]):"data"===t.data.message?this.samplesArray.push(t.data.buffer):"zero"===t.data.message&&this.samplesArray.push({left:new Float32Array(this.audioBufferSize).fill(0),right:new Float32Array(this.audioBufferSize).fill(0)})}}process(t,e,s){const i=e[0][0],r=e[0][1];if(0===this.offset&&this.port.postMessage({message:"beep"}),0===this.state)this.state=1;else if(1===this.state&&this.samplesArray.length>=4)this.state=2;else if(2===this.state){const t=this.samplesArray[0];for(let e=0;e -","118839KrRyDd","initWorkletScriptNode audioContext is null","hasAudio","syncAudioAndVideoDiff","assign","openSyncAudioAndVideo","_delayPlay","right","workletProcessorNode","isMute","port","audioTimestamp","$audio","join","set",", diff is ","defaultPlaybackRate",",and bufferItem.size is 0, fill zero","fillScriptNodeOutputBuffer","shift","video","workletProcessorNode is null","bufferList size is ","initProcessor","1918648WPCXsQ","volume","destroy"," is less than current time ","scriptNodeInterval","interval script node and bufferList is ","script start time ",", fill zero","handleScriptNodeCallback","mediaStreamAudioDestinationNode","play failed and add document click event listener","audioBufferSize","removeEventListener","initIntervalScriptNode","_bindAudioProxy","connect","appendChild",",\n and video is ","audioInfo","getBufferListTimestamp","_opt","then","body","create audio element","debugLog","getCurrentVideoAndAudio","getChannelData","initWorkletScriptNode","getAudioBufferSizeByType",", and drop","_audioElementPlay success and volume is ","length","3873816HVfgzQ","stream","buffer","playbackRate","isActiveEngineType","createBufferSource","initScriptNode","getRenderCurrentPts"," and fill zero","20mqgmin","audioWorklet","audioContext","AudioContext","click","postMessage","player","events","engineType","_getAudioElementReadyState","bufferList size is 0 and outputBufferLength is ","initWorkletScriptNode error","engine active , audioSyncVideoOption\n item.ts is "," > 1000 and update audioTimestamp from ","1532992cbtWfc","clear","audioSyncVideoOption more than diff :","absolute"," to ","eventListenList","latestAudioTimestamp",",\n and ts list is ","handleScriptNodeCallback() player is destroyed or closed","init","audioSyncVideoOption ","audioEngine","abs","audio","calcPlaybackRateByBuffer","left","_audioElementPlay error","scriptNode","3139171OMQqHH","oneBufferDuration","bind","revokeObjectURL","map"," outputBufferLength is ","getBufferListDuration",",\n and bufferList is ","bufferList","play failed and retry play","$container"," or playing is ","removeChild","clearWorkletUrlTimeout","currentTime","rateProcessor","data","isDestroyedOrClosed","bufferList length ","floor","getAudioSyncVideoDiff",", audioBufferSize: ","720195ekHsmj","getEngineType","zero","createElement","worklet","ended","diff is ","style","play vod and firstBufferItem.ts is ","workletUrl","isPlayVodSeeking"," , waiting and bufferList is ","_audioElementPlay"," and currentVideoTimestamp is ","active","outputBuffer","readyState is 0 and set _delayPlay to true","worklet-processor","onmessage","paused","visibility","destination","gainNode","playing","play","engine active , audioSyncVideoOption ","sampleRate","audioElementPlay","fill","size","hasInitScriptNode","parentNode","srcObject"," and end","updatePlaybackRate","play success and remove document click event listener","script","hasVideo","supportLockScreenPlayAudio","channels","play has not init script node","getAutoAudioEngineType","isPlaybackRateSpeed"," ,\n and audio is ","function","canplay","isPlaybackOnlyDecodeIFrame","play and readyState: ","debugError","weiXinInAndroidAudioBufferSize"," less than diff :","debugWarn","tierDownToProcessScript","-100%","TAG_NAME","calcPlaybackRateBySync","isAudioPlayer","isPlayVod"," more than ","6513885dtsnaV","initWorkletScriptNode() player is destroyed","duration","start","_provide","isMoreThanMinBufferDuration"," and audioTimestamp is ","isAudioPlaying","initProcessScriptNode"];return(Yn=function(){return t})()}!function(t,e){const s=Qn,i=t();for(;;)try{if(694584===-parseInt(s(526))/1*(parseInt(s(397))/2)+-parseInt(s(451))/3+parseInt(s(411))/4+parseInt(s(510))/5+parseInt(s(388))/6+-parseInt(s(429))/7+parseInt(s(356))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yn);class qn extends wn{constructor(t){const e=Qn;super(t),this.TAG_NAME="AudioContext",this[e(348)]=1,this[e(391)]=1,this[e(444)]=null,this.processor=null,this[e(360)]=null,this[e(405)]=this[e(492)](),this[e(367)]=this[e(384)](),this[e(344)]=null,this[e(532)]=!1,this[e(416)]=[],this[e(460)]=null,this[e(442)]=null,this.player._opt[e(489)]&&Qe()&&(this[e(344)]=document[e(454)](e(424)),Object[e(530)](this[e(344)][e(458)],{position:e(414),left:e(504),top:e(504)}),t[e(439)]?t[e(439)].appendChild(this[e(344)]):document[e(378)][e(372)](this[e(344)]),this._bindAudioProxy(),this[e(403)][e(380)]("AudioContext",e(379))),this.scriptStartTime=0,this.player[e(380)]("AudioContext",e(420),"engineType: "+this[e(405)]+e(450)+this[e(367)])}async[Kn(358)](){const t=Kn;return await super.destroy(),this[t(460)]&&(URL[t(432)](this[t(460)]),this[t(460)]=null),this[t(442)]&&(clearTimeout(this[t(442)]),this[t(442)]=null),this[t(416)][t(387)]&&(this[t(416)].forEach((t=>{t()})),this[t(416)]=[]),this[t(344)]&&(this[t(344)].pause(),this[t(344)][t(483)]=null,this[t(344)][t(482)]&&this[t(344)].parentNode[t(441)](this[t(344)]),this[t(344)]=null),this[t(524)]&&(this[t(524)][t(358)](),this[t(524)]=null),this[t(444)]&&(this[t(444)][t(358)](),this[t(444)]=null),this[t(360)]&&(clearInterval(this[t(360)]),this[t(360)]=null),this[t(348)]=1,this[t(391)]=1,this[t(521)]=0,this.audioBufferSize=0,this[t(405)]=mt[t(487)],this.player.debugLog("AudioContext",t(358)),!0}[Kn(517)](){const t=Kn;return this[t(344)]&&Js(this[t(344)][t(470)])&&Js(this[t(344)][t(456)])&&0!==this.$audio.playbackRate&&0!==this[t(344)].readyState}[Kn(370)](){const t=Kn,{proxy:e}=this[t(403)][t(404)],s=e(this[t(344)],t(496),(()=>{const e=t;this.player[e(380)](e(400),e(496)),this[e(532)]&&this[e(463)]()}));this[t(416)][t(520)](s)}[Kn(406)](){let t=0;return this.$audio&&(t=this.$audio.readyState),t}[Kn(478)](){const t=Kn;if(this[t(344)]){const e=this[t(406)]();if(this[t(403)][t(380)](t(400),t(498)+e),!(0!==e||Is()&&Qe()))return this[t(403)][t(502)](t(400),t(467)),void(this[t(532)]=!0);this[t(463)]()}}[Kn(463)](){const t=Kn;this[t(344)]&&this[t(344)][t(475)]()[t(377)]((()=>{const e=t;this[e(532)]=!1,this[e(403)].debugLog(e(400),e(386),this[e(344)][e(357)]),setTimeout((()=>{const t=e;!this[t(517)]()&&(this[t(403)].debugWarn(t(400),t(438)),this[t(463)]())}),100),this[e(517)]()&&(this[e(403)][e(380)](e(400),e(486)),document[e(368)](e(401),this[e(463)][e(431)](this)))})).catch((e=>{const s=t;this.player.debugError(s(400),s(427),e),this[s(403)][s(380)](s(400),s(366)),document.addEventListener(s(401),this[s(463)][s(431)](this))}))}getAudioBufferSize(){return this[Kn(367)]}get[Kn(430)](){const t=Kn;return this[t(367)]/this[t(399)][t(477)]*1e3}get[Kn(392)](){return this[Kn(405)]===mt.active}[Kn(435)](){return this.bufferList.length*this.oneBufferDuration}[Kn(515)](){const t=Kn;return this[t(435)]()>=100*this[t(391)]}initProcessor(){const t=Kn;this[t(524)]=new kn(this[t(403)],this,this[t(374)][t(490)],this[t(367)]),this[t(444)]=new Gn(this.player,this,this[t(524)])}[Kn(492)](){const t=Kn;let e=this[t(403)][t(376)][t(422)]||mt[t(487)];const s=()=>{const s=t;e=Is()&&He()?mt[s(465)]:(Qe()&&this.player[s(376)][s(489)]||Os()&&this[s(523)](),mt[s(487)])};return this.player[t(376)][t(422)]?this.player[t(376)][t(422)]===mt[t(455)]&&Os()&&this[t(523)]()?e=mt[t(487)]:this[t(403)]._opt[t(422)]===mt[t(465)]?e=mt[t(465)]:this.player[t(376)][t(422)]===mt[t(487)]?e=mt.script:s():s(),e}getAudioBufferSizeByType(){const t=Kn,e=this[t(405)];this.player._opt[t(488)];const s=this[t(403)][t(376)][t(500)];return e===mt[t(455)]?1024:e===mt[t(465)]?s||4800:1024}[Kn(523)](){const t=Kn;return this[t(399)]&&this[t(399)][t(398)]&&typeof this[t(399)][t(398)].addModule===t(495)}[Kn(394)](){const t=Kn;this[t(474)]=!0,this[t(481)]||(this[t(355)](),this.engineType===mt[t(455)]?this[t(383)]():this[t(405)]===mt[t(465)]?this[t(369)]():this[t(405)]===mt.script&&this.initProcessScriptNode(),this.audioElementPlay())}[Kn(452)](){return this[Kn(405)]}[Kn(493)](){const t=Kn;return this.playbackRate>this[t(348)]}[Kn(518)](){const t=Kn,e=this[t(399)].createScriptProcessor(this.audioBufferSize,0,this[t(374)].channels);e[t(519)]=e=>{const s=t,i=e[s(466)];this[s(364)](i)},e[t(371)](this[t(473)]),this[t(428)]=e,this.gainNode[t(371)](this[t(365)]),this[t(344)]?this[t(344)][t(483)]=this[t(365)][t(389)]:this[t(473)][t(371)](this.audioContext.destination),this[t(481)]=!0}initIntervalScriptNode(){const t=Kn;this[t(521)]=0;const e=1e3*this[t(367)]/this[t(399)].sampleRate;this[t(360)]=setInterval((()=>{const e=t;if(0===this.bufferList.length||Js(this[e(474)])||this.isMute)return void(this[e(474)]&&Js(this.isMute)&&this[e(403)][e(380)](e(400),e(361)+this.bufferList[e(387)]+e(440)+this[e(474)]));const s=this.audioContext[e(393)](),i=this[e(399)].createBuffer(this[e(374)][e(490)],this.audioBufferSize,this[e(399)][e(477)]);this[e(364)](i,(()=>{const t=e;this[t(521)]{const e=t;if(this.player[e(446)]())return void this.player[e(380)]("AudioContext",e(511));if(!this[e(399)])return void this[e(403)][e(502)](e(400),e(527));let s=[1];2===this[e(374)][e(490)]&&(s=[1,1]);try{this[e(534)]=new AudioWorkletNode(this[e(399)],e(468),{numberOfOutputs:this[e(374)][e(490)],outputChannelCount:s})}catch(t){this[e(403)][e(499)](e(400),e(408),t),this[e(534)]=null,this.tierDownToProcessScript()}this[e(534)]&&(this[e(534)][e(371)](this[e(473)]),this[e(473)][e(371)](this[e(365)]),this[e(344)]?this[e(344)].srcObject=this[e(365)][e(389)]:this[e(473)][e(371)](this[e(399)].destination),this[e(481)]=!0,this[e(534)][e(342)].postMessage({message:e(420),audioBufferSize:this.audioBufferSize,start:!0,channels:this[e(374)][e(490)]}),this[e(534)].port[e(469)]=t=>{const s=e;this[s(534)]?this[s(399)]?this[s(364)](this.workletProcessorNode,null,!0):this[s(534)][s(342)][s(402)]({message:"zero"}):this[s(403)].debugError(s(400),s(353))})})),this[t(442)]=setTimeout((()=>{const e=t;URL[e(432)](this[e(460)]),this[e(460)]=null,this[e(442)]=null}),I)}[Kn(503)](){const t=Kn;this[t(403)].debugLog("AudioContext","tierDownToProcessScript"),this[t(405)]=mt[t(487)],this.audioBufferSize=this[t(384)](),this[t(518)](),this.audioElementPlay()}[Kn(364)](t,e){const s=Kn;let i=arguments[s(387)]>2&&void 0!==arguments[2]&&arguments[2];e=e||De;let r,n=t[s(387)];i&&(r=t,n=this.audioBufferSize);const o=this[s(374)][s(490)];if(this[s(474)]&&this[s(515)]()){if(this[s(403)][s(376)],this.player[s(446)]())return this[s(403)][s(380)](this[s(505)],s(419)),i?r[s(342)][s(402)]({message:s(453)}):this.fillScriptNodeOutputBuffer(t,o),void e();if(this[s(403)][s(531)]()&&qs(this[s(403)][s(471)])){this[s(506)]();const n=this[s(403)].getAudioSyncVideoDiff();if(n>this[s(403)]._opt[s(529)]){const a=this.player[s(381)](),h=this[s(375)]();return this[s(403)].debugWarn(s(400),s(413)+n+s(373)+a[s(352)]+s(494)+a[s(424)]+s(462)+this[s(437)][s(387)]+s(418)+h[s(345)](",")+s(396)),i?r[s(342)][s(402)]({message:s(453)}):this.fillScriptNodeOutputBuffer(t,o),void e()}}let a=this[s(514)](n);if(0===a[s(480)])return Js(this[s(403)][s(497)]())&&this.player[s(502)](s(400),s(354)+this.bufferList[s(387)]+s(434)+n+s(349)),i?r.port[s(402)]({message:s(453)}):this[s(350)](t,o),void e();a&&a.ts&&(this[s(403)].audioTimestamp=a.ts),i?r[s(342)][s(402)]({message:s(445),buffer:a}):this[s(350)](t,o,a),e()}else 0===this[s(437)].length&&this[s(474)]&&Js(this[s(535)])&&Js(this.player[s(497)]())&&Js(this[s(403)][s(461)]())&&this[s(403)][s(502)]("AudioContext",s(407)+n+s(363)),i?r[s(342)].postMessage({message:s(453)}):this[s(350)](t,o),e()}[Kn(350)](t,e,s){const i=Kn;if(1===e){const e=t[i(382)](0);s?0===s[i(480)]?e[i(479)](0):e.set(s.left):e.fill(0)}else if(2===e){const e=t[i(382)](0),r=t.getChannelData(1);s?0===s[i(480)]?(e[i(479)](0),r[i(479)](0)):(e[i(346)](s[i(426)]),r[i(346)](s[i(533)])):(e[i(479)](0),r.fill(0))}}[Kn(475)](t,e){const s=Kn;if(!this[s(535)])if(this[s(481)]){if(this[s(528)]=!0,this.player[s(417)]=e,this[s(437)][s(520)]({buffer:t,ts:e}),this[s(403)][s(508)]()){const t=this[s(437)][0],e=this[s(403)][s(343)],i=Math[s(423)](t.ts-e);i>1e3&&(this[s(403)][s(343)]=t.ts,this[s(403)][s(380)](this[s(505)],s(459)+t.ts+s(516)+e+s(347)+i+s(410)+e+s(415)+t.ts))}Js(this[s(403)][s(531)]())&&qs(this[s(403)].isPlayStream())&&this.calcPlaybackRateByBuffer()}else this[s(403)][s(502)](s(400),s(491))}[Kn(506)](){const t=Kn;if(this[t(535)])return;if(!this[t(474)])return;const e=Math[t(448)](2e3/this[t(430)]);if(this.bufferList.length>e)return this[t(403)][t(502)]("AudioContext",t(447)+this.bufferList[t(387)]+t(509)+e+t(385)),void this[t(412)]();const s=this[t(403)][t(449)]();if(this[t(452)]()===mt[t(465)]){if(s<-this[t(403)][t(376)].syncAudioAndVideoDiff){this[t(403)][t(502)]("AudioContext",t(476)+-this.player[t(376)][t(529)]+t(501)+s+",\n and bufferlist is "+this.bufferList.length);const e=this[t(403)][t(395)]();for(;this.bufferList[t(387)]>0;){const s=this.bufferList[0],i=s.ts-e;if(i>-this.player._opt.syncAudioAndVideoDiff/2){this[t(403)][t(343)]=s.ts,this.player[t(380)](t(400),t(409)+s.ts+t(464)+e+", diff is "+i+t(525)+this[t(403)][t(376)].syncAudioAndVideoDiff/2+t(484));break}this[t(437)][t(351)](),this[t(403)][t(343)]=s.ts}}}else{let e=this[t(391)];s<-this[t(403)][t(376)][t(529)]?e===this.defaultPlaybackRate&&(this[t(403)].debugLog("AudioContext",t(421)+-this[t(403)][t(376)][t(529)]+t(501)+s+",\n speed up, playbackRate is "+e+t(436)+this.bufferList[t(387)]),e=this[t(348)]+.2):s>-this[t(403)][t(376)][t(529)]/2&&e!==this[t(348)]&&(this[t(403)].debugLog(t(400),t(457)+s+" > -"+this.player[t(376)][t(529)]/2+" and speed to 1"),e=this[t(348)]),this[t(485)](e)}}[Kn(425)](){const t=Kn;if(this.isMute)return;if(!this[t(474)])return;let e=this[t(391)],s=1e3,i=5e3;this[t(507)]&&(s=this[t(403)][t(376)].videoBufferDelay,i=this[t(403)][t(376)].videoBufferMax);const r=Math[t(448)](s/this.oneBufferDuration),n=Math[t(448)](i/this[t(430)]);if(this.bufferList.length>n)return this[t(403)][t(502)](t(400),t(447)+this[t(437)].length+" more than "+n+t(385)),void this[t(412)]();this[t(452)]()!==mt[t(465)]&&(this[t(437)][t(387)]>r?(e=this[t(348)]+.2,this[t(403)][t(380)]("AudioContext",t(447)+this[t(437)][t(387)]+" more than "+r+", speed up, playbackRate is "+e)):this.bufferList[t(387)]t.ts))}}const Jn=Xn;function Xn(t,e){const s=Zn();return(Xn=function(t,e){return s[t-=433]})(t,e)}function Zn(){const t=["4921980mXrLUo","stringify","muted","depth","channels","audioInfo","aliyunRtcDecoder","encType","$videoElement","resetInit","4309440NZgXbp","Audio","init","60063bjEHOw","40nonXxF","debugLog","isPlaying","isPlaybackRateSpeed","volume","volumechange","webrtc","play audio error","getAudioInfo","10070907lGEnyO","webrtcUseCanvasRender","$video","encTypeCode","updateAudioInfo","hlsUseCanvasRender","325XfkpKP","destroy","play","emit","TAG_NAME","debugError","getAudioBufferSize","_opt","close","_prevVolume","getEngineType","audio","player","initScriptNodeDelay","isMute","57948tdFtbb","off","aliyunRtcRemoteStream","audioEnabled","write","9ZoCckR","mute","pause","711515YewBxd","setRate","lastVolume","Video","clear","hlsDecoder","sampleRate","video","initScriptNode","2109666pDgEXh","10lQsbio"];return(Zn=function(){return t})()}!function(t,e){const s=Xn,i=t();for(;;)try{if(574856===parseInt(s(487))/1+-parseInt(s(449))/2*(parseInt(s(448))/3)+parseInt(s(479))/4*(parseInt(s(464))/5)+-parseInt(s(433))/6+-parseInt(s(435))/7+parseInt(s(445))/8*(-parseInt(s(484))/9)+parseInt(s(434))/10*(parseInt(s(458))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Zn);class $n extends mi{constructor(t){const e=Xn;super(),this[e(476)]=t,this[e(468)]=e(446),this[e(460)]=t[e(494)][e(443)],this[e(447)]=!1,this[e(476)][e(471)][e(463)]&&(this[e(460)]=this[e(476)][e(492)][e(443)]),this[e(476)][e(471)][e(459)]&&(this.$video=this.player[e(455)].$videoElement),this[e(440)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this._prevVolume=null,this[e(476)].debugLog("Audio",e(447))}async[Jn(465)](){const t=Jn;return this.resetInit(),this[t(480)](),this[t(473)]=null,this[t(476)][t(450)](t(446),"destroy"),!0}[Jn(444)](){const t=Jn;this[t(447)]=!1,this[t(440)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""}}[Jn(457)](){return this[Jn(440)]}[Jn(462)](t){const e=Jn;t[e(461)]&&(this.audioInfo[e(461)]=t[e(461)],this[e(440)][e(442)]=K[t[e(461)]]),t[e(442)]&&(this[e(440)][e(442)]=t[e(442)]),t.channels&&(this[e(440)][e(439)]=t[e(439)]),t[e(493)]&&(this[e(440)].sampleRate=t[e(493)]),t[e(438)]&&(this[e(440)][e(438)]=t[e(438)]),this.audioInfo[e(493)]&&this.audioInfo[e(439)]&&this.audioInfo.encType&&!this[e(447)]&&(this[e(476)].debugLog(e(446),"audioInfo",JSON[e(436)](this[e(440)])),this[e(476)][e(467)](B[e(440)],this[e(440)]),this[e(447)]=!0)}get[Jn(451)](){return!0}get[Jn(453)](){const t=Jn;return qs(this.$video[t(437)])?0:this[t(460)][t(453)]}get[Jn(478)](){const t=Jn;return 0===this[t(460)][t(453)]||qs(this[t(460)][t(437)])}[Jn(485)](t){const e=Jn;this.setVolume(t?0:this[e(476)][e(489)]||.5)}setVolume(t){const e=Jn;t=parseFloat(t),isNaN(t)||(this[e(460)][e(437)]&&(this[e(460)][e(437)]=!1),t=Me(t,0,1),Qe()&&(this[e(460)].muted=0===t),this[e(476)].isAliyunRtc()&&this[e(476)].aliyunRtcDecoder&&this[e(476)][e(441)].aliyunRtcRemoteStream&&(this[e(476)].aliyunRtcDecoder[e(481)][e(437)]=0===t),null!==this._prevVolume&&this._prevVolume===t||(null===this._prevVolume?this[e(476)].emit(B[e(485)],0===t):0===this[e(473)]&&t>0?this.player[e(467)](B[e(485)],!1):this[e(473)]>0&&0===t&&this[e(476)][e(467)](B[e(485)],!0),this[e(460)].volume=t,this[e(476)].emit(B[e(454)],this.player[e(453)]),this[e(476)][e(467)](B.volume,this[e(476)].volume),this[e(473)]=t))}[Jn(491)](){}[Jn(466)](t,e){const s=Jn,i=this[s(476)][s(494)].awriter;if(i)if(t[s(472)])try{i.write(t),Fs(t)}catch(t){this[s(476)].debugError(s(490),s(456),t)}else try{const r=function(t,e){const s=Re,i={...e,format:"f32-planar",data:new Float32Array(0)};if(i[s(559)]=t[0][s(503)],1===t.length)i[s(431)]=new Float32Array(t[0]);else if(2===t[s(503)]){const e=new Float32Array(t[0].length+t[1][s(503)]);e[s(610)](t[0],0),e.set(t[1],t[0][s(503)]),i[s(431)]=e}return new AudioData(i)}(t,{sampleRate:Ot,numberOfChannels:this.audioInfo[s(439)],timestamp:1e3*e});i[s(483)](r),Fs(r)}catch(t){this.player[s(469)](s(490),s(456),t)}else this[s(476)].debugWarn("Audio","play and this.awriter is null")}[Jn(486)](){}resume(){}[Jn(474)](){return Jn(475)}[Jn(452)](){return!1}[Jn(488)](t){}[Jn(495)](){}[Jn(477)](){}[Jn(482)](){this[Jn(485)](!1)}[Jn(470)](){return 2048}}function to(){const t=["initScriptNodeDelay","TAG_NAME","playbackDelayTime","player","playVodSeekEnd","listenPlaybackPause","updatePlaybackRate","listenSeekEnd","40maAatt","822059Vhlvke","40mmjwaW","4266732zuQJXv","AudioPlayVodLoader","bind","isSeeking","playVodPause","destroy","debugLog","resume","setRate","_opt","play","clear","AudioPlaybackLoader","audioTimestamp","pause","1739961ZZihNz","listenPlayVodPause","listenSeeking and update audioTimestamp to","25ZjeZQe","init","isPlayVod","playbackPause","1087098yRSwOA","1145688majivV","isPlaybackPauseClearCache","defaultPlaybackRate","517941DpNBIb","delayTimeout","3062583BSgSIG","isPlayback"];return(to=function(){return t})()}const eo=so;function so(t,e){const s=to();return(so=function(t,e){return s[t-=240]})(t,e)}!function(t,e){const s=so,i=t();for(;;)try{if(549349===parseInt(s(259))/1+-parseInt(s(256))/2+parseInt(s(248))/3+parseInt(s(274))/4+parseInt(s(251))/5*(parseInt(s(255))/6)+parseInt(s(272))/7*(-parseInt(s(271))/8)+-parseInt(s(261))/9*(parseInt(s(273))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(to);class io extends qn{constructor(t){const e=so;super(t),this[e(260)]=null,this[e(264)]=this[e(266)][e(262)]()?e(245):e(275),this[e(266)][e(262)]()?this.player.on(B[e(254)],this[e(268)][e(276)](this)):this.player[e(253)]()&&(this.player.on(B[e(278)],this.listenPlayVodPause[e(276)](this)),this[e(266)].on(B[e(267)],this[e(270)][e(276)](this))),this[e(266)][e(280)](this[e(264)],e(252))}async[eo(279)](){const t=eo;return this[t(260)]&&(clearTimeout(this[t(260)]),this[t(260)]=null),await super[t(279)](),this[t(266)][t(280)](this.TAG_NAME,t(279)),!0}[eo(268)](t){const e=eo;t?(this.pause(),this[e(266)][e(262)]()&&this[e(266)].playback[e(257)]&&this[e(244)]()):this[e(240)]()}[eo(249)](t){const e=eo;t?this[e(247)]():this[e(240)]()}[eo(270)](t){const e=eo;t*=1e3,this[e(266)][e(280)](this[e(264)],e(250),t),this.player[e(246)]=t,this.clear()}[eo(263)](){const t=eo,e=this[t(266)][t(242)][t(265)];e>0?this[t(260)]=setTimeout((()=>{this.initScriptNode()}),e):this.initScriptNode()}[eo(241)](t){const e=eo;t!==this[e(258)]&&this.rateProcessor&&(this[e(266)][e(280)](this[e(264)],e(241),t),this[e(258)]=t,this[e(269)](t))}[eo(243)](t,e){const s=eo;this[s(266)][s(253)]()&&this[s(266)].playVod[s(277)]()?this[s(266)][s(280)](this[s(264)],"play, isSeeking, return"):super[s(243)](t,e)}}function ro(t,e){var s=no();return(ro=function(t,e){return s[t-=271]})(t,e)}function no(){var t=["clear","player","1845347rGRzRJ","1969677BQbNgU","3755016qCaHPo","14689312IqQfaP","2fDzsjN","pause","5687919QzcZNA","TAG_NAME","4FZmqqZ","playing","debugLog","play","init","7970535fCDUUV","destroy","425234LTUZiy","24DfsMKZ","20YXYHjl","resume"];return(no=function(){return t})()}var oo=ro;!function(t,e){for(var s=ro,i=t();;)try{if(832975===-parseInt(s(291))/1*(-parseInt(s(281))/2)+-parseInt(s(288))/3*(-parseInt(s(274))/4)+-parseInt(s(279))/5+parseInt(s(289))/6+-parseInt(s(287))/7*(-parseInt(s(282))/8)+-parseInt(s(272))/9*(-parseInt(s(283))/10)+-parseInt(s(290))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(no);class ao extends qn{constructor(t){var e=ro;super(t),this[e(273)]="AudioPlayerLoader",this.isAudioPlayer=!0,this[e(286)].debugLog(this.TAG_NAME,e(278))}async[oo(280)](){var t=oo;return await super.destroy(),this.player[t(276)](this[t(273)],t(280)),!0}[oo(277)](t,e){var s=oo;Js(this[s(275)])||super[s(277)](t,e)}[oo(271)](){var t=oo;this[t(286)].debugLog(this[t(273)],"pause"),this[t(275)]=!1,this[t(285)]()}[oo(284)](){var t=oo;this.player[t(276)](this[t(273)],t(284)),this[t(275)]=!0}}function ho(t,e){const s=lo();return(ho=function(t,e){return s[t-=443]})(t,e)}const co=ho;function lo(){const t=["AudioWebrtcPlayerLoader","pause","muted","srcObject","emit","push","_handleClickPlay","addEventListener","258651TjpWIf","debugWarn","60wtKRAX","off","eventsDestroy","volume","5537784jQejSr","debugLog","30wJDgwy","TAG_NAME","audio play error","destroy","lastVolume","mute","catch","bindStream","getEngineType","3yubfOJ","setVolume","updateStats","731003vBxFke","10BuNLDs","$video","_handleDocumentClickPlay","_initAudioEvents","bind","9066750YQiSOf","removeEventListener","resetInit","timeStamp","763032NsdQgJ","forEach","audio","click","391844NnmgWA","events","handleRender","isMute","player","resume","_prevVolume","590432PpVkjk","play"];return(lo=function(){return t})()}!function(t,e){const s=ho,i=t();for(;;)try{if(432276===parseInt(s(488))/1+parseInt(s(448))/2*(parseInt(s(475))/3)+parseInt(s(492))/4*(parseInt(s(479))/5)+parseInt(s(466))/6*(parseInt(s(478))/7)+-parseInt(s(464))/8+-parseInt(s(458))/9*(-parseInt(s(460))/10)+-parseInt(s(484))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lo);class uo extends mi{constructor(t){const e=ho;super(),this[e(467)]=e(450),this[e(480)]=new Audio,this[e(445)]=t,this.init=!1,this[e(447)]=null,this.eventsDestroy=[],this[e(481)]=this._handleClickPlay[e(483)](this),this[e(482)](),this[e(445)][e(465)](this.TAG_NAME,"init")}async[co(469)](){const t=co;return this[t(486)](),this[t(461)](),this[t(462)].length&&(this[t(462)][t(489)]((t=>t())),this.eventsDestroy=[]),this[t(447)]=null,this[t(480)]&&(this[t(480)][t(451)](),this[t(480)].srcObject=null,this[t(480)]=null),this[t(445)][t(465)](this[t(467)],t(469)),!0}_initAudioEvents(){const t=co,{proxy:e}=this[t(445)][t(493)],s=e(this[t(480)],"timeupdate",(e=>{const s=t,i=parseInt(e[s(487)],10);this.player[s(443)](),this.player[s(477)]({ts:i})}));this[t(462)][t(455)](s)}resetInit(){this.init=!1}[co(456)](){const t=co;this[t(480)]&&(this[t(480)].play(),document[t(485)](t(491),this._handleDocumentClickPlay))}[co(473)](t){const e=co;this[e(480)][e(453)]=t,this[e(480)].volume=1,this.$video[e(449)]()[e(472)]((t=>{const s=e;this[s(445)][s(459)](this[s(467)],s(468),t),document[s(457)](s(491),this[s(481)])}))}[co(474)](){return co(490)}get isPlaying(){return!0}get[co(463)](){const t=co;return qs(this.$video.muted)?0:this[t(480)][t(463)]}get[co(444)](){const t=co;return 0===this[t(480)][t(463)]||qs(this[t(480)].muted)}[co(471)](t){const e=co;this[e(476)](t?0:this[e(445)][e(470)]||.5)}[co(476)](t){const e=co;t=parseFloat(t),isNaN(t)||null===this[e(480)]||(this[e(480)][e(452)]&&(this[e(480)][e(452)]=!1),t=Me(t,0,1),Qe()&&(this.$video[e(452)]=0===t),null!==this._prevVolume&&this[e(447)]===t||(null===this[e(447)]?this[e(445)][e(454)](B[e(471)],0===t):0===this._prevVolume&&t>0?this.player[e(454)](B.mute,!1):this[e(447)]>0&&0===t&&this[e(445)][e(454)](B[e(471)],!0),this[e(480)][e(463)]=t,this[e(445)][e(454)](B.volumechange,this[e(445)].volume),this[e(445)].emit(B[e(463)],this.player[e(463)]),this[e(447)]=t))}[co(451)](){}[co(446)](){}audioEnabled(){this[co(471)](!1)}}function po(t,e){const s=mo();return(po=function(t,e){return s[t-=169]})(t,e)}const fo=po;function mo(){const t=["mseDecodeAudio","isHls","getLoaderFactory","isAliyunRtc","1906260IYLdxp","608RYXYrE","useMSE","33EAZfyQ","useWasm","526269LhGFoS","playbackTF","12428510pKGhFP","useWCS","wcsDecodeAudio","playerAudio","4082604OvuOWT","5rzfzQS","6fmzDWg","playVod","9450840EBQibT","99701wwANrH","2907000tbUqit","isWebrtc","playType","9fCcNTi"];return(mo=function(){return t})()}!function(t,e){const s=po,i=t();for(;;)try{if(808566===-parseInt(s(169))/1*(parseInt(s(177))/2)+-parseInt(s(181))/3+parseInt(s(175))/4*(-parseInt(s(176))/5)+parseInt(s(179))/6+-parseInt(s(180))/7*(-parseInt(s(190))/8)+-parseInt(s(184))/9*(-parseInt(s(171))/10)+-parseInt(s(192))/11*(-parseInt(s(189))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mo);class go{constructor(t){return new(go.getLoaderFactory(t._opt))(t)}static[fo(187)](t){const e=fo;return t[e(183)]===c[e(170)]?t[e(191)]&&t.mseDecodeAudio||t[e(172)]&&t[e(173)]?$n:io:t.playType===c[e(178)]?t.useMSE&&t.mseDecodeAudio||t[e(172)]&&t.wcsDecodeAudio?$n:io:t[e(183)]===c[e(174)]?t[e(182)]?uo:ao:t[e(186)]&&Js(t.supportHls265)||t.isWebrtc&&Js(t.isWebrtcH265)||t[e(191)]&&t[e(185)]||t[e(188)]||t[e(172)]&&t[e(173)]||t[e(193)]&&t.wasmPlayAudioUseVideoRender?$n:qn}}function Ao(){const t=["10358802VzIlAN","signal","7vkocmp","reader.read() and this._requestAbort is true so return","1767660yLrWVy","destroy","FetchStream","player","AbortError","_times","3833224EBcFXr","getStreamType"," and emit error and next abort()","3290008ZagaYa","fetch done","debugError","abortError","name","status","toFixed","length","pipeTo","byteLength","streamRateInterval","377361jFcvdD","streamEnd","string","_status","fetch","fetchStream","kBps","TAG_NAME","not support WritableStream and use getReader() to read stream","fetchError","writableStream","buffering","writableStream.write() and this.abortController.signal.aborted so return","debugLog","streamStart","aborted","destroy and writableStream.close()","abortError2","reader.read().catch() and this.abortController.signal.aborted so return","read","stopStreamRateInterval","fetch response status is ","12GbLohN","reader.read() and this.abortController.signal.aborted so return",'writableStream.write() and value is "',"171372ZOUZNw","writableStream.write() and this._requestAbort is true so return","emit","locked","playing","indexOf","_closeWritableStream","getReader","catch",'" string so return',"abort","idle","abortController","170nufpjS"," and ok is ","close","50272948FFASpN","complete","startStreamRateInterval",'reader.read() and value is "',"then","abortController.abort() success","6rzcJMZ","assign","streamRate","5MaTMjU","debugWarn","toString","body","_requestAbort"];return(Ao=function(){return t})()}const yo=bo;function bo(t,e){const s=Ao();return(bo=function(t,e){return s[t-=109]})(t,e)}!function(t,e){const s=bo,i=t();for(;;)try{if(890259===parseInt(s(149))/1*(-parseInt(s(124))/2)+parseInt(s(146))/3*(-parseInt(s(167))/4)+parseInt(s(158))/5+-parseInt(s(154))/6+-parseInt(s(156))/7*(-parseInt(s(164))/8)+-parseInt(s(178))/9*(parseInt(s(137))/10)+parseInt(s(140))/11*(parseInt(s(121))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ao);class vo extends mi{constructor(t){const e=bo;super(),this[e(161)]=t,this[e(185)]=e(160),this[e(128)]=!1,this[e(153)]=!1,this[e(181)]=It[e(135)],this[e(109)]=null,this[e(136)]=new AbortController,this[e(148)]=je((s=>{const i=e;t[i(126)](B[i(184)],(s/1024)[i(173)](2))})),this.streamRateInterval=null,t.debugLog(this.TAG_NAME,"init")}async[yo(159)](){const t=yo;return this[t(134)](),await this[t(130)](),this.off(),this[t(181)]=It[t(135)],this[t(148)]=null,this[t(119)](),this[t(161)][t(112)](this[t(185)],t(159)),!0}[yo(142)](){const t=yo;this[t(119)](),this.streamRateInterval=setInterval((()=>{const e=t;this[e(148)]&&this[e(148)](0)}),1e3)}[yo(119)](){const t=yo;this[t(177)]&&(clearInterval(this[t(177)]),this[t(177)]=null)}async[yo(130)](){const t=yo;if(this[t(109)]&&Js(this.writableStream[t(127)]))try{await this[t(109)][t(139)](),this[t(109)]=null,this.player[t(112)](this.TAG_NAME,"close writableStream success")}catch(e){this.player[t(112)](this.TAG_NAME,t(115),e)}}[yo(183)](t){const e=yo;let s=arguments[e(174)]>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:i}=this[e(161)];this[e(161)][e(163)][e(113)]=Be();const r=Object[e(147)]({signal:this[e(136)].signal},{headers:s.headers||{}});fetch(t,r)[e(144)]((t=>{const s=e;if(this._requestAbort)return this[s(181)]=It[s(135)],void t.body.cancel();if(!function(t){const e=Re;return t.ok&&t[e(480)]>=200&&t[e(480)]<=299}(t))return this[s(161)][s(169)](this[s(185)],s(120)+t[s(172)]+s(138)+t.ok+s(166)),this[s(134)](),void this[s(126)](O[s(187)],"fetch response status is "+t[s(172)]+" and ok is "+t.ok);if(this[s(126)](B.streamSuccess),this.startStreamRateInterval(),"undefined"!=typeof WritableStream)this.player[s(112)](this[s(185)],"use WritableStream() to read stream"),this[s(109)]=new WritableStream({write:t=>{const e=s;return this[e(136)]&&this[e(136)][e(155)]&&this[e(136)][e(155)].aborted?(this[e(161)][e(112)](this[e(185)],e(111)),void(this[e(181)]=It.complete)):qs(this._requestAbort)?(this[e(161)][e(112)](this[e(185)],e(125)),this[e(181)]=It.complete,void this[e(134)]()):typeof t!==e(180)?(this[e(181)]=It[e(110)],this[e(148)]&&this[e(148)](t[e(176)]),i.dispatch(t)):void this.player.debugWarn(this[e(185)],e(123)+t+'" string so return')},close:()=>{const t=s;this._status=It[t(141)],i.close(),this[t(126)](B[t(179)],t(168))},abort:t=>{const e=s;if(this.abortController&&this.abortController[e(155)]&&this[e(136)][e(155)][e(114)])return this[e(161)][e(112)](this.TAG_NAME,"writableStream.abort() and this.abortController.signal.aborted so return"),void(this[e(181)]=It.complete);i[e(139)]();const r=t[e(151)]();-1===r[e(129)](dt[e(170)])&&-1===r[e(129)](dt[e(116)])&&t[e(171)]!==dt[e(134)]&&(this[e(134)](),this[e(126)](O[e(187)],t))}}),t[s(152)][s(175)](this[s(109)])[s(132)]((t=>{const e=s;t[e(171)]!==e(162)&&this[e(161)].debugLog(this[e(185)],"res.body.pipeTo() error",t[e(171)],t[e(151)]())}));else{this[s(161)][s(112)](this.TAG_NAME,s(186));const e=t[s(152)][s(131)](),r=()=>{const t=s;e[t(118)]()[t(144)]((e=>{const s=t;let{done:n,value:o}=e;return n?(this[s(181)]=It[s(141)],i[s(139)](),void this[s(126)](B[s(179)],s(168))):this[s(136)]&&this[s(136)][s(155)]&&this.abortController[s(155)][s(114)]?(this.player.debugLog(this.TAG_NAME,s(122)),void(this._status=It.complete)):qs(this._requestAbort)?(this[s(161)][s(112)](this[s(185)],s(157)),this[s(181)]=It[s(141)],void this.abort()):void(typeof o!==s(180)?(this[s(181)]=It[s(110)],this.streamRate&&this[s(148)](o[s(176)]),i.dispatch(o),r()):this[s(161)][s(150)](this[s(185)],s(143)+o+s(133)))}))[t(132)]((e=>{const s=t;if(this[s(136)]&&this[s(136)].signal&&this[s(136)][s(155)].aborted)return this[s(161)][s(112)](this[s(185)],s(117)),void(this._status=It.complete);i[s(139)]();const r=e[s(151)]();-1===r[s(129)](dt.abortError)&&-1===r[s(129)](dt.abortError2)&&e[s(171)]!==dt[s(134)]&&(this[s(134)](),this[s(126)](O.fetchError,e))}))};r()}}))[e(132)]((t=>{const s=e;this.abortController&&this.abortController[s(155)]&&this[s(136)][s(155)][s(114)]||"AbortError"!==t[s(171)]&&(i[s(139)](),this[s(134)](),this[s(126)](O.fetchError,t))}))}[yo(134)](){const t=yo;if(this[t(153)]=!0,this.abortController)try{this[t(136)].abort(),this[t(136)]=null,this[t(161)][t(112)](this[t(185)],t(145))}catch(e){this[t(136)]=null,this.player[t(112)](this.TAG_NAME,"abortController.abort() error",e)}}[yo(165)](){return h[yo(182)]}}function So(){function t(t){return!0===t||"true"===t}const e="The user aborted a request",s="AbortError",i="AbortError",r="fetch",n="destroy",o="destroyEnd",a="buffer",h="fetchError",c="fetchClose",l="fetchSuccess",d="idle",u="buffering",p="complete";let f=new class{constructor(){this._requestAbort=!1,this._status=d,this.writableStream=null,this.isChrome=!1,this.abortController=new AbortController}destroy(){var t;this.abort(),this.writableStream&&(!1===(t=this.writableStream.locked)||"false"===t)&&this.writableStream.close().catch((t=>{})),this.writableStream=null,this._status=d}fetchStream(r){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=Object.assign({signal:this.abortController.signal},{headers:n.headers||{}});fetch(r,o).then((r=>{if(this._requestAbort)return this._status=d,void r.body.cancel();if(!function(t){return t.ok&&t.status>=200&&t.status<=299}(r))return this.abort(),void postMessage({cmd:h,message:`fetch response status is ${r.status} and ok is ${r.ok}`});if(postMessage({cmd:l}),"undefined"!=typeof WritableStream)this.writableStream=new WritableStream({write:e=>{if(!(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted))return t(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof e&&(this._status=u,postMessage({cmd:a,buffer:e},[e.buffer])));this._status=p},close:()=>{this._status=p,postMessage({cmd:c})},abort:t=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=t.toString();-1===r.indexOf(e)&&-1===r.indexOf(s)&&t.name!==i&&(this.abort(),postMessage({cmd:h,message:t.toString()}))}}),r.body.pipeTo(this.writableStream).catch((t=>{}));else{const n=r.body.getReader(),o=()=>{n.read().then((e=>{let{done:s,value:i}=e;return s?(this._status=p,void postMessage({cmd:c})):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?void(this._status=p):t(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof i&&(this._status=u,postMessage({cmd:a,buffer:i},[i.buffer]),o()))})).catch((t=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=t.toString();-1===r.indexOf(e)&&-1===r.indexOf(s)&&t.name!==i&&(this.abort(),postMessage({cmd:h,message:t.toString()}))}))};o()}})).catch((t=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==t.name&&(this.abort(),postMessage({cmd:h,message:t.toString()}))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null}catch(t){this.abortController=null}}};self.onmessage=e=>{const s=e.data;switch(s.cmd){case r:f.isChrome=t(s.isChrome),f.fetchStream(s.url,JSON.parse(s.options));break;case n:f.destroy(),f=null,postMessage({cmd:o})}}}const wo=Io;function Eo(){const t=["18296PDLfta","14565NMSmEU","off","toFixed","debugLog","workerClearTimeout","onmessage","25198ZCHxcP","fetchWorker","1875310VwSNzQ","URL","1603MGlIef","player","3mKSGwL","kBps","send close but not response and destroy directly","destroy","destroyResolve","1060JkaVZt","debugWarn","8038431nEfErX","workerUrl","5776464dqWSTR","send destroy","postMessage","playing","decoderWorkerCloseTimeout","TAG_NAME","_initFetchWorker","terminate","FetchStreamWorker","20062060HeAMoK","streamRate","_stopStreamRateInterval","init","_destroy"];return(Eo=function(){return t})()}function Io(t,e){const s=Eo();return(Io=function(t,e){return s[t-=443]})(t,e)}!function(t,e){const s=Io,i=t();for(;;)try{if(533514===parseInt(s(446))/1+-parseInt(s(448))/2*(parseInt(s(452))/3)+-parseInt(s(457))/4*(-parseInt(s(476))/5)+-parseInt(s(461))/6+-parseInt(s(450))/7*(-parseInt(s(475))/8)+-parseInt(s(459))/9+parseInt(s(470))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Eo);class To extends mi{constructor(t){const e=Io;super(),this[e(466)]=e(469),this.player=t,this[e(464)]=!1,this[e(447)]=null,this[e(444)]=null,this.workerUrl=null,this[e(456)]=null,this[e(465)]=null,this.streamRate=je((s=>{const i=e;t.emit(B[i(453)],(s/1024)[i(478)](2))})),this.streamRateInterval=null,this[e(467)](),t.debugLog(this[e(466)],e(473))}[wo(455)](){return new Promise(((t,e)=>{const s=Io;this.fetchWorker?(this[s(451)][s(443)](this[s(466)],s(462)),this[s(447)][s(463)]({cmd:x[s(455)]}),this.destroyResolve=t,this[s(465)]=setTimeout((()=>{const e=s;this[e(451)][e(458)](this[e(466)],e(454)),this[e(465)]&&(clearTimeout(this.decoderWorkerCloseTimeout),this[e(465)]=null),this._destroy(),setTimeout((()=>{t()}),0)}),2e3)):(this[s(474)](),setTimeout((()=>{t()}),0))}))}[wo(474)](){const t=wo;this[t(477)](),this[t(465)]&&(clearTimeout(this[t(465)]),this.decoderWorkerCloseTimeout=null),this[t(460)]&&(window[t(449)].revokeObjectURL(this.workerUrl),this[t(460)]=null),this[t(444)]&&(clearTimeout(this[t(444)]),this[t(444)]=null),this[t(472)](),this[t(471)]=null,this[t(447)]&&(this[t(447)][t(468)](),this[t(447)][t(445)]=null,this[t(447)]=null),this.destroyResolve&&(this[t(456)](),this[t(456)]=null),this[t(451)][t(443)](this[t(466)],"destroy")}[wo(467)](){let t=Bs(So);const e=new Worker(t);this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),I),e.onmessage=t=>{const{demux:e}=this.player,s=t.data;switch(s.cmd){case x.buffer:this.streamRate&&this.streamRate(s.buffer.byteLength),e.dispatch(s.buffer);break;case x.fetchSuccess:this.emit(B.streamSuccess),this._startStreamRateInterval();break;case x.fetchClose:e.close(),this.emit(B.streamEnd,"fetch done");break;case x.fetchError:e.close(),this.emit(O.fetchError,s.message);break;case x.destroyEnd:this._destroy()}},this.fetchWorker=e}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}fetchStream(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player._times.streamStart=Be(),this.fetchWorker.postMessage({cmd:x.fetch,url:t,isChrome:Ts(),options:JSON.stringify(e)})}getStreamType(){return h.fetch}}const ko=_o;function _o(t,e){const s=Ro();return(_o=function(t,e){return s[t-=193]})(t,e)}!function(t,e){const s=_o,i=t();for(;;)try{if(873635===parseInt(s(260))/1*(parseInt(s(254))/2)+parseInt(s(220))/3*(parseInt(s(202))/4)+parseInt(s(217))/5*(parseInt(s(232))/6)+-parseInt(s(244))/7+parseInt(s(206))/8+-parseInt(s(250))/9+-parseInt(s(237))/10*(parseInt(s(211))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ro);class Co extends mi{constructor(t){const e=_o;super(),this[e(246)]=t,this.TAG_NAME=e(219),this[e(242)]=null,this[e(194)]=U[e(240)],this[e(253)]=null,this.requestAbort=!1,this[e(235)]=[],this.streamRate=je((s=>{const i=e;t.emit(B[i(195)],(s/1024).toFixed(2))})),this[e(205)]=null,t[e(212)](this[e(265)],e(241))}async[ko(263)](){const t=ko;this[t(224)](),this.stopStreamRateInterval(),this[t(253)]=null,this[t(243)](),this[t(246)].debugLog(this[t(265)],t(263))}startStreamRateInterval(){const t=ko;this[t(215)](),this[t(205)]=setInterval((()=>{const e=t;this.streamRate&&this[e(247)](0)}),1e3)}stopStreamRateInterval(){const t=ko;this.streamRateInterval&&(clearInterval(this[t(205)]),this[t(205)]=null)}[ko(218)](t){const e=ko,s=this[e(246)],{events:{proxy:i},demux:r}=s,n=t[e(201)]||[];this[e(242)]=new WebSocket(this[e(253)],n),this[e(242)][e(226)]="arraybuffer";const o=i(this[e(242)],"open",(()=>{const t=e;this.player[t(212)](this[t(265)],t(207)),this[t(194)]=U[t(230)],this[t(214)](B.streamSuccess),this.player.emit(B[t(203)]),this.startStreamRateInterval()})),a=i(this[e(242)],e(222),(t=>{const s=e;typeof t[s(225)]!==s(204)?(this.streamRate&&this[s(247)](t[s(225)][s(251)]),this[s(248)](t.data)):this[s(246)][s(236)](this[s(265)],s(216)+t[s(225)]+'" string so return')})),h=i(this[e(242)],e(196),(t=>{const s=e;if(!this[s(246)][s(197)]())return qs(this.requestAbort)?(this[s(231)]=!1,void this[s(246)][s(212)](this.TAG_NAME,s(228))):void(this.socketStatus!==U[s(213)]?(this[s(246)].debugLog(this.TAG_NAME,"socket close and code is "+t[s(255)]),1006===t.code&&this[s(246)][s(227)](this.TAG_NAME,s(200)+t.code),r.close(),this[s(194)]=U[s(196)],this.player.emit(B[s(221)],t[s(255)]),this[s(214)](B[s(239)],t[s(255)])):this.player[s(212)](this.TAG_NAME,s(256)))})),c=i(this[e(242)],e(213),(t=>{const s=e;if(this[s(246)][s(197)]())return;if(qs(this[s(231)]))return this[s(231)]=!1,void this[s(246)][s(212)](this.TAG_NAME,"socket close and requestAbort is true");this[s(246)][s(227)](this[s(265)],s(238),t),this.socketStatus=U.error;const i=t[s(193)]?s(233):s(199);this[s(214)](O[s(234)],i),r[s(196)](),this[s(246)].debugLog(this[s(265)],"socket error:",i)}));this.socketDestroyFnList[e(208)](o,a,h,c)}[ko(224)](){const t=ko;!this.socket||0!==this.socket[t(258)]&&1!==this[t(242)][t(258)]?this[t(242)]&&this[t(246)][t(212)](this[t(265)],"_closeWebSocket() socket is null or socket status is "+(this[t(242)]&&this[t(242)][t(258)])):(this.requestAbort=!0,this.socket[t(196)](1e3,t(249))),this[t(235)][t(264)]((t=>t())),this[t(242)][t(209)]=null,this.socket.onmessage=null,this[t(242)][t(259)]=null,this[t(242)][t(262)]=null,this[t(242)]=null,this[t(194)]=U[t(240)],this.streamRate=null}[ko(248)](t){const e=ko,{demux:s}=this[e(246)];s?s[e(198)](t):this.player[e(236)](this.TAG_NAME,e(223))}[ko(245)](t,e){const s=ko;this[s(246)][s(210)][s(266)]=Be(),this.wsUrl=t,this[s(218)](e)}sendMessage(t){const e=ko;this[e(242)]?this[e(194)]===U[e(230)]?this[e(242)][e(257)](t):this[e(246)][e(227)](this[e(265)],e(252)+this.socketStatus):this[e(246)][e(227)](this[e(265)],e(261))}[ko(229)](){return h.websocket}}function Ro(){const t=["18DzOMiW","websocketClose","message","websocket handle message demux is null so return","_closeWebSocket","data","binaryType","debugError","socket close and requestAbort is true","getStreamType","open","requestAbort","6446004suvFWB","websocket user aborted","websocketError","socketDestroyFnList","debugWarn","220WiibyR","socket error","streamEnd","notConnect","init","socket","off","1083005coAVNy","fetchStream","player","streamRate","_handleMessage","Client disconnecting","4464171RXzXvR","byteLength","websocket send message error and socket status is ","wsUrl","17326vGNjII","code","socket close and status is error, so return","send","readyState","onclose","97JEBuSw","websocket send message socket is null","onerror","destroy","forEach","TAG_NAME","streamStart","isTrusted","socketStatus","kBps","close","isDestroyedOrClosed","dispatch","websocket error","socket close abnormally and code is ","protocols","220348XLtBiA","websocketOpen","string","streamRateInterval","12537088tpRbEu","socket open","push","onopen","_times","1143967oxhPfs","debugLog","error","emit","stopStreamRateInterval",'websocket handle message message is "',"5qcgxkF","_createWebSocket","WebsocketStream"];return(Ro=function(){return t})()}function Do(){function t(t){return!0===t||"true"===t}const e={fetch:"fetch",sendMessage:"sendMessage",destroy:"destroy",destroyEnd:"destroyEnd",buffer:"buffer",websocketError:"websocketError",websocketClose:"websocketClose",websocketOpen:"websocketOpen"};let s=new class{constructor(){this.socket=null,this.wsUrl=null,this.requestAbort=!1}destroy(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState||(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socket.onopen=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.onmessage=null,this.socket=null}fetchStream(t,e){this.wsUrl=t,this._createWebSocket(e)}sendMessage(t){this.socket&&1===this.socket.readyState&&this.socket.send(t)}_createWebSocket(t){const e=t.protocols||[];this.socket=new WebSocket(this.wsUrl,e),this.socket.binaryType="arraybuffer",this.socket.onopen=this._handleWebsocketOpen.bind(this),this.socket.onclose=this._handleWebsocketClose.bind(this),this.socket.onerror=this._handleWebsocketError.bind(this),this.socket.onmessage=this._handleWebsocketMessage.bind(this)}_handleWebsocketOpen(){postMessage({cmd:e.websocketOpen})}_handleWebsocketClose(s){t(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:e.websocketClose,code:s.code})}_handleWebsocketError(s){t(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:e.websocketError,isTrusted:s.isTrusted})}_handleWebsocketMessage(t){if("string"==typeof t.data)return;const s=new Uint8Array(t.data);postMessage({cmd:e.buffer,buffer:s},[s.buffer])}};self.onmessage=t=>{const i=t.data;switch(i.cmd){case e.fetch:s.fetchStream(i.url,i.options);break;case e.destroy:s.destroy(),s=null,postMessage({cmd:e.destroyEnd});break;case e.send:s.sendMessage(i.message)}}}const Lo=xo;function xo(t,e){const s=Po();return(xo=function(t,e){return s[t-=443]})(t,e)}function Po(){const t=["debugLog","revokeObjectURL","send destroy","246939xuXHwv","_destroy","wsUrl","URL","2679072YwgGwF","379069KVxgzd","streamRate","notConnect","6866163QpwXWL","destroy","debugWarn","24270mjFVcA","TAG_NAME","socketStatus","init","kBps","4nfbjvp","workerUrl","player","8rhrVOf","off","workerClearTimeout","_closeWebSocket","4SmTdPx","decoderWorkerCloseTimeout","_initWebsocketWorker","websocketWorker","send close but not response and destroy directly","_stopStreamRateInterval","612215WUKOby","terminate","6695640wVQAlA","77JuQuGu","emit","destroyResolve"];return(Po=function(){return t})()}!function(t,e){const s=xo,i=t();for(;;)try{if(592074===-parseInt(s(474))/1*(parseInt(s(447))/2)+parseInt(s(473))/3+-parseInt(s(454))/4*(-parseInt(s(460))/5)+parseInt(s(462))/6+-parseInt(s(469))/7*(parseInt(s(450))/8)+-parseInt(s(477))/9+-parseInt(s(480))/10*(-parseInt(s(463))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Po);class Bo extends mi{constructor(t){const e=xo;super(),this[e(449)]=t,this[e(443)]="WebsocketStreamWorker",this[e(471)]=null,this[e(444)]=U[e(476)],this[e(457)]=null,this[e(452)]=null,this[e(448)]=null,this[e(465)]=null,this[e(455)]=null,this[e(475)]=je((s=>{const i=e;t[i(464)](B[i(446)],(s/1024).toFixed(2))})),this.streamRateInterval=null,this[e(456)](),this.player[e(466)](this[e(443)],e(445))}[Lo(478)](){return new Promise(((t,e)=>{const s=xo;this[s(457)]?(this.player[s(466)](this.TAG_NAME,s(468)),this[s(453)](),this[s(465)]=t,this.decoderWorkerCloseTimeout=setTimeout((()=>{const e=s;this[e(449)][e(479)](this[e(443)],e(458)),this[e(455)]&&(clearTimeout(this[e(455)]),this[e(455)]=null),this[e(470)](),t()}),2e3)):(this[s(470)](),t())}))}_destroy(){const t=Lo;this[t(451)](),this[t(455)]&&(clearTimeout(this[t(455)]),this[t(455)]=null),this[t(448)]&&(window[t(472)][t(467)](this.workerUrl),this.workerUrl=null),this[t(452)]&&(clearTimeout(this[t(452)]),this[t(452)]=null),this[t(459)](),this[t(475)]=null,this.websocketWorker&&(this[t(457)][t(461)](),this[t(457)].onmessage=null,this.websocketWorker=null),this[t(465)]&&(this[t(465)](),this.destroyResolve=null),this[t(471)]=null,this[t(449)].debugLog(this[t(443)],t(478))}[Lo(456)](){let t=Bs(Do);const e=new Worker(t);this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),I),e.onmessage=t=>{const{demux:e}=this.player,s=t.data;switch(s.cmd){case P.buffer:this.streamRate&&this.streamRate(s.buffer.byteLength),e.dispatch(s.buffer);break;case P.websocketOpen:this.player.debugLog(this.TAG_NAME,"socket open"),this.socketStatus=U.open,this.emit(B.streamSuccess),this.player.emit(B.websocketOpen),this._startStreamRateInterval();break;case P.websocketClose:if(this.player.isDestroyedOrClosed())return;if(this.socketStatus===U.error)return void this.player.debugLog(this.TAG_NAME,"socket close and status is error, so return");this.player.debugLog(this.TAG_NAME,`socket close and code is ${s.code}`),1006===s.code&&this.player.debugError(this.TAG_NAME,`socket close abnormally and code is ${s.code}`),e.close(),this.socketStatus=U.close,this.player.emit(B.websocketClose,s.code),this.emit(B.streamEnd,s.code);break;case P.websocketError:if(this.player.isDestroyedOrClosed())return;this.player.debugError(this.TAG_NAME,"socket error"),this.socketStatus=U.error;const t=s.isTrusted?"websocket user aborted":"websocket error";this.emit(O.websocketError,t),e.close(),this.player.debugLog(this.TAG_NAME,"socket error:",t);break;case P.destroyEnd:this._destroy()}},this.websocketWorker=e}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_closeWebSocket(){this.websocketWorker&&this.websocketWorker.postMessage({cmd:P.destroy})}fetchStream(t,e){this.player._times.streamStart=Be(),this.wsUrl=t,this.websocketWorker&&this.websocketWorker.postMessage({cmd:P.fetch,url:t,options:e})}sendMessage(t){this.websocketWorker&&this.websocketWorker.postMessage({cmd:P.sendMessage,message:t})}getStreamType(){return h.websocket}}const Mo=Oo;function Fo(){const t=["58583KiEvdC","_times","1726985LeDUJz","229624ZThTqR","emit","then","608740WIToUZ","2ppWNMD","1557786wsCKER","loadSource","off","debugLog","streamStart","56MRelot","catch","fetchStream","hlsError","player","HlsStream","36IjJZea","370019gLhyNp","loadSource success","533748GSmSZK"];return(Fo=function(){return t})()}function Oo(t,e){const s=Fo();return(Oo=function(t,e){return s[t-=253]})(t,e)}!function(t,e){const s=Oo,i=t();for(;;)try{if(219850===parseInt(s(275))/1*(parseInt(s(262))/2)+parseInt(s(254))/3+-parseInt(s(258))/4+-parseInt(s(257))/5+parseInt(s(263))/6+-parseInt(s(255))/7*(-parseInt(s(268))/8)+parseInt(s(274))/9*(-parseInt(s(261))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fo);class Uo extends mi{constructor(t){const e=Oo;super(),this[e(272)]=t,t[e(266)](e(273),"init")}async destroy(){const t=Oo;return this[t(265)](),this[t(272)][t(266)](t(273),"destroy"),!0}[Mo(270)](t){const e=Mo,{hlsDecoder:s,debug:i}=this[e(272)];this.player[e(256)][e(267)]=Be(),s[e(264)](t)[e(260)]((()=>{const t=e;this.player[t(266)](t(273),t(253)),this[t(259)](B.streamSuccess)}))[e(269)]((t=>{const s=e;this.emit(O[s(271)],t)}))}getStreamType(){return h.hls}}const jo=No;function No(t,e){const s=Vo();return(No=function(t,e){return s[t-=411]})(t,e)}function Vo(){const t=["pathname","original url is ","then","emit","origin","1952700LEKwLt","5473974lQUGKy","loadSource error","getStreamType","/webrtc/play","webrtcError","fetchStream","replace","destroy","webrtc","location","webrtc:","debugLog","7930480YAcTug","off","287140EfzXmx","debugError","player","streamStart","583978toQrKq","WebrtcStream","5622040WcWvoG","loadSource success",", and new url is: ","7vwvlDU","_times","9zGCCVq","191836bPnXFu","webrctUrl"];return(Vo=function(){return t})()}!function(t,e){const s=No,i=t();for(;;)try{if(659501===parseInt(s(417))/1+parseInt(s(421))/2+-parseInt(s(436))/3+-parseInt(s(429))/4+-parseInt(s(423))/5+-parseInt(s(437))/6*(-parseInt(s(426))/7)+parseInt(s(415))/8*(parseInt(s(428))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Vo);class zo extends mi{constructor(t){const e=No;super(),this[e(419)]=t,this[e(430)]=null,t.debugLog(e(422),"init")}async[jo(444)](){const t=jo;return this[t(430)]=null,this[t(416)](),this[t(419)][t(414)](t(422),t(444)),!0}[jo(442)](t){const e=jo;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{webrtc:i,debug:r}=this[e(419)];if(this[e(419)][e(427)][e(420)]=Be(),this[e(430)]=t[e(443)](e(413),window[e(412)].protocol),this[e(419)].isWebrtcForM7S()&&-1===this[e(430)].indexOf(e(440))){const s=new URL(this[e(430)]),i=e(440)+s[e(431)];this.webrctUrl=s[e(435)]+i+s.search,this[e(419)].debugLog(e(422),e(432)+t+e(425)+this.webrctUrl)}i.loadSource(this[e(430)],s)[e(433)]((()=>{const t=e;this[t(419)].debugLog("WebrtcStream",t(424)),this[t(434)](B.streamSuccess)})).catch((t=>{const s=e;this[s(419)][s(418)](s(422),s(438),t),this[s(434)](O[s(441)],t)}))}[jo(439)](){return h[jo(411)]}}const Go=Wo;function Ho(){const t=["763223iHZhVu","2286903rQFmnY","input","transport","wtUrl","ready","https:","abort","72178wHbjyq","toFixed","3288964swOKUU","readable","streamSuccess","webTransport","destroy","_times","replace","debugWarn","player","streamRateInterval","_createWebTransport","3255765lLpYki","init","WebTransportLoader","then","createBidirectionalStream","kBps","startStreamRateInterval","emit","streamRate","3631470tbIrci","382940mchdrF","close","debugLog","fetchStream"];return(Ho=function(){return t})()}function Wo(t,e){const s=Ho();return(Wo=function(t,e){return s[t-=303]})(t,e)}!function(t,e){const s=Wo,i=t();for(;;)try{if(384858===parseInt(s(332))/1+-parseInt(s(305))/2+-parseInt(s(333))/3+-parseInt(s(328))/4+parseInt(s(318))/5+-parseInt(s(327))/6+parseInt(s(307))/7)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ho);class Ko extends mi{constructor(t){const e=Wo;super(),this.player=t,this.transport=null,this[e(336)]=null,this[e(326)]=je((s=>{const i=e;t[i(325)](B[i(323)],(s/1024)[i(306)](2))})),this[e(316)]=null,t[e(330)](e(320),e(319))}async[Go(311)](){const t=Go;return this[t(304)](),this.off(),this[t(315)][t(330)](t(320),"destroy"),!0}[Go(324)](){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this[Wo(326)]&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){const t=Go;this.streamRateInterval&&(clearInterval(this[t(316)]),this[t(316)]=null)}[Go(317)](){const t=Go,e=this[t(315)],{debug:s,events:{proxy:i},demux:r}=e;try{this[t(335)]=new WebTransport(this[t(336)]),this.transport[t(337)][t(321)]((()=>{const e=t;this[e(325)](B[e(309)]),this[e(324)](),this[e(335)][e(322)]()[e(321)]((t=>{const s=e;t[s(308)].pipeTo(new WritableStream(r[s(334)]))}))})).catch((e=>{const s=t;this.player[s(314)]("WebTransportLoader","_createWebTransport-ready",e)}))}catch(e){this.player[t(314)](t(320),t(317),e)}}[Go(331)](t){const e=Go;this[e(315)][e(312)].streamStart=Be(),this[e(336)]=t[e(313)](/^wt:/,e(303)),this._createWebTransport()}[Go(304)](){const t=Go;if(this[t(335)])try{this[t(335)][t(329)](),this[t(335)]=null}catch(e){this[t(335)]=null}}getStreamType(){return h[Go(310)]}}const Qo=qo;function Yo(){const t=["1714828ozFfpF","streamStart","8796XEwhmy","_opt","32589952EBzRCw","11268558FyLKrJ","WorkerStream","off","259928mgWKNu","websocket","getStreamType","sendMessage","init","4131591KtnQyd","505alehYP","fetchStream","player","destroy","debugLog","decoderWorker","5540430pnTFPG"];return(Yo=function(){return t})()}function qo(t,e){const s=Yo();return(qo=function(t,e){return s[t-=474]})(t,e)}!function(t,e){const s=qo,i=t();for(;;)try{if(982933===-parseInt(s(477))/1+parseInt(s(490))/2+-parseInt(s(482))/3+-parseInt(s(492))/4*(-parseInt(s(483))/5)+-parseInt(s(489))/6+-parseInt(s(474))/7+parseInt(s(494))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yo);class Jo extends mi{constructor(t){const e=qo;super(),this[e(485)]=t,this.workUrl=null,t[e(487)](e(475),e(481))}async[Qo(486)](){const t=Qo;return this.workUrl=null,this[t(476)](),this[t(485)][t(487)](t(475),t(486)),!0}[Qo(480)](t){this[Qo(485)].decoderWorker.workerSendMessage(t)}[Qo(484)](t){const e=Qo;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.workUrl=t,this[e(485)]._times[e(491)]=Be(),this.player[e(488)].workerFetchStream(t,s)}[Qo(479)](){const t=Qo,e=this[t(485)][t(493)].protocol===o.fetch?h.fetch:h[t(478)];return h.worker+" "+e}}function Xo(){const t=["20112JTpJqZ","destroy","1492665TOKUjk","debugLog","3735152zkZKUE","aliyunRtc","player","33YxlAZL","init","loadSource","7619590XUjjTS","catch","then","fetchStream","TAG_NAME","AliyunRtcLoader","aliyunRtcError","loadSource error","5027634YaBtmX","loadSource success","47TfvtIR","off","21IQEhee","_times","24632cHgtNr","1548588WcfURI","95FTRrin","debugError"];return(Xo=function(){return t})()}const Zo=$o;function $o(t,e){const s=Xo();return($o=function(t,e){return s[t-=364]})(t,e)}!function(t,e){const s=$o,i=t();for(;;)try{if(500298===parseInt(s(365))/1*(-parseInt(s(369))/2)+parseInt(s(375))/3+parseInt(s(373))/4*(parseInt(s(371))/5)+-parseInt(s(370))/6*(parseInt(s(367))/7)+-parseInt(s(377))/8+-parseInt(s(391))/9+parseInt(s(383))/10*(parseInt(s(380))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xo);class ta extends mi{constructor(t){const e=$o;super(),this[e(387)]=e(388),this[e(379)]=t,t.debugLog(this.TAG_NAME,e(381))}async[Zo(374)](){const t=Zo;return this[t(366)](),this[t(379)].debugLog(this.TAG_NAME,"destroy"),!0}[Zo(386)](t){const e=Zo,{aliyunRtcDecoder:s}=this[e(379)];this[e(379)][e(368)].streamStart=Be(),s[e(382)](t)[e(385)]((()=>{const t=e;this.player[t(376)](this[t(387)],t(364)),this.emit(B.streamSuccess)}))[e(384)]((t=>{const s=e;this[s(379)][s(372)](this.TAG_NAME,s(390),t),this.emit(O[s(389)],t)}))}getStreamType(){return h[Zo(378)]}}function ea(){const t=["_times","off","player","31671740YEXhvj","1886515ilNTpa","destroy","12oROFyq","194179FDpxgb","fetchStream","playVodMp4Error","8184843SnIrIJ","652169VfeYjq","loadSource","loadSource success","mp4","then","2vmrhrl","init","debugLog","1170532DlDyjS","Mp4StreamLoader","emit","log","debug","2443899dpdSGR","streamStart","TAG_NAME","8kjaRFH"];return(ea=function(){return t})()}function sa(t,e){const s=ea();return(sa=function(t,e){return s[t-=291]})(t,e)}const ia=sa;!function(t,e){const s=sa,i=t();for(;;)try{if(496887===parseInt(s(306))/1*(parseInt(s(315))/2)+-parseInt(s(295))/3+-parseInt(s(318))/4+-parseInt(s(303))/5*(parseInt(s(305))/6)+-parseInt(s(310))/7*(parseInt(s(298))/8)+-parseInt(s(309))/9+parseInt(s(302))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ea);class ra extends mi{constructor(t){const e=sa;super(),this[e(297)]=e(291),this.player=t,t[e(294)][e(293)](this.TAG_NAME,e(316))}[ia(304)](){const t=ia;this[t(300)](),this[t(301)][t(294)][t(293)](this[t(297)],t(304))}[ia(307)](t){const e=ia,{mp4Decoder:s}=this[e(301)];this[e(301)][e(299)][e(296)]=Be(),s[e(311)](t)[e(314)]((()=>{const t=e;this[t(301)][t(317)](this.TAG_NAME,t(312)),this[t(292)](B.streamSuccess)})).catch((t=>{const s=e;this.emit(O[s(308)],t)}))}getStreamType(){return h[ia(313)]}}function na(){const t=["16OZvqXP","_opt","1668699gZdtge","2229862FHjQwc","66ottwru","3678SESjoz","getLoaderFactory","aliyunRtc","1340280gJbNlu","playVod","12SgBUvB","webrtc","webTransport","websocket","fetch","hls","player","1113CNhXNC","1775315xXStEP","12jaDnqP","217090bCMxNI","1ZVKebt","41086838OtKIeh","playerAudio"];return(na=function(){return t})()}const oa=aa;function aa(t,e){const s=na();return(aa=function(t,e){return s[t-=331]})(t,e)}!function(t,e){const s=aa,i=t();for(;;)try{if(937255===-parseInt(s(344))/1*(parseInt(s(350))/2)+-parseInt(s(331))/3+parseInt(s(342))/4*(-parseInt(s(341))/5)+parseInt(s(352))/6*(-parseInt(s(340))/7)+parseInt(s(347))/8*(parseInt(s(349))/9)+parseInt(s(343))/10*(parseInt(s(351))/11)+-parseInt(s(333))/12*(-parseInt(s(345))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(na);class ha{constructor(t){const e=aa;return new(ha.getLoaderFactory(t[e(348)]))(t)}static[oa(353)](t){const e=oa,{protocol:s,useWasm:i,playType:r,useWCS:n,useMSE:a,demuxUseWorker:h,mainThreadFetchUseWorker:l,isFmp4:d}=t;return r===c[e(332)]&&d?ra:s===o[e(338)]?Uo:s===o[e(334)]?zo:s===o[e(335)]?Ko:s===o[e(354)]?ta:s===o[e(337)]?r===c.playerAudio?Jo:r===c[e(339)]?i&&!Ls(t)||h?Jo:l?To:vo:n||a?h?Jo:l?To:vo:Jo:s===o[e(336)]?r===c[e(346)]?Jo:r===c.player?i&&!Ls(t)||h?Jo:l?Bo:Co:n||a?h?Jo:l?Bo:Co:Jo:void 0}}!function(t,e){for(var s=la,i=t();;)try{if(940503===parseInt(s(425))/1+-parseInt(s(281))/2+-parseInt(s(332))/3+parseInt(s(239))/4+-parseInt(s(334))/5+-parseInt(s(509))/6*(-parseInt(s(326))/7)+-parseInt(s(515))/8*(-parseInt(s(350))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(da);var ca=Qt((function(t){var e=la;function s(t,e){var n=la;if(!t)throw n(324);e=e||{type:n(522)},e=new i(t,e);var o=this;function a(s){var i=n;s&&(e[i(466)]=function(){var t=i;s(),s=e[t(466)]=null});var o=new r(t,e);(g=new o(t,e))[i(271)](),u(i(427)),!e[i(547)]&&console[i(213)](i(142),g[i(504)][i(206)],i(368),e[i(188)])}function h(t){var s=n;if(t=t||function(){},g){if(o[s(257)]===s(489))return o[s(431)](),void setTimeout((function(){h(t)}),1);o[s(257)]!==s(427)&&!e[s(547)]&&console[s(199)]('Recording state should be: "recording", however current state is: ',o.state),!e[s(547)]&&console[s(213)](s(459)+e[s(188)]+" stream."),e[s(188)]!==s(193)?g.stop(i):(g[s(252)](),i()),u("stopped")}else m();function i(i){var r=s;if(g){Object.keys(g)[r(214)]((function(t){var e=r;typeof g[t]!==e(237)&&(o[t]=g[t])}));var n=g[r(436)];if(!n){if(!i)throw r(422);g[r(436)]=n=i}if(n&&!e.disableLogs&&console.log(n[r(188)],"->",v(n.size)),t){var a;try{a=p[r(235)](n)}catch(t){}typeof t[r(229)]===r(237)?t.call(o,a):t(a)}e[r(211)]&&l((function(t){var s=r,i={};i[e[s(188)]+s(157)]=t,x.Store(i)}))}else typeof t[r(229)]===r(237)?t[r(229)](o,""):t("")}}function c(t){var e=n;postMessage((new FileReaderSync)[e(377)](t))}function l(t,s){var i=n;if(!t)throw"Pass a callback function over getDataURL.";var r=s?s[i(436)]:(g||{}).blob;if(!r)return!e.disableLogs&&console[i(199)](i(143)),void setTimeout((function(){l(t,s)}),1e3);if(typeof Worker===i(297)||navigator[i(467)]){var o=new FileReader;o.readAsDataURL(r),o[i(273)]=function(e){t(e[i(171)].result)}}else{var a=function(t){var e=i;try{var s=p[e(235)](new Blob([t[e(494)](),e(540)+t[e(206)]+"(eee.data);}"],{type:"application/javascript"})),r=new Worker(s);return p[e(212)](s),r}catch(t){}}(c);a[i(543)]=function(e){t(e[i(187)])},a.postMessage(r)}}function d(t){var e=n;t=t||0,"paused"!==o.state?o[e(257)]!==e(345)&&(t>=o[e(270)]?h(o[e(127)]):(t+=1e3,setTimeout((function(){d(t)}),1e3))):setTimeout((function(){d(t)}),1e3)}function u(t){var e=n;o&&(o[e(257)]=t,typeof o.onStateChanged[e(229)]===e(237)?o[e(462)][e(229)](o,t):o[e(462)](t))}var f=n(460)+e[n(188)]+n(556);function m(){var t=n;!0!==e[t(547)]&&console[t(199)](f)}var g,A={startRecording:function(s){var r=n;return!e[r(547)]&&console[r(213)](r(473),o.version),s&&(e=new i(t,s)),!e[r(547)]&&console.log(r(200)+e[r(188)]+" stream."),g?(g[r(233)](),g[r(271)](),u(r(427)),o[r(270)]&&d(),o):(a((function(){o[r(270)]&&d()})),o)},stopRecording:h,pauseRecording:function(){var t=n;g?o.state===t(427)?(u(t(489)),g[t(370)](),!e.disableLogs&&console.log("Paused recording.")):!e[t(547)]&&console[t(199)](t(381),o[t(257)]):m()},resumeRecording:function(){var t=n;g?"paused"===o[t(257)]?(u(t(427)),g.resume(),!e[t(547)]&&console.log("Resumed recording.")):!e[t(547)]&&console[t(199)](t(201),o.state):m()},initRecorder:a,setRecordingDuration:function(t,e){var s=n;if(typeof t===s(297))throw s(347);if("number"!=typeof t)throw s(359);return o[s(270)]=t,o.onRecordingStopped=e||function(){},{onRecordingStopped:function(t){o.onRecordingStopped=t}}},clearRecordedData:function(){var t=n;g?(g.clearRecordedData(),!e.disableLogs&&console[t(213)](t(452))):m()},getBlob:function(){if(g)return g[n(436)];m()},getDataURL:l,toURL:function(){var t=n;if(g)return p[t(235)](g[t(436)]);m()},getInternalRecorder:function(){return g},save:function(t){g?S(g[n(436)],t):m()},getFromDisk:function(t){g?s[n(265)](e.type,t):m()},setAdvertisementArray:function(t){var s=n;e[s(247)]=[];for(var i=t[s(451)],r=0;r-1&&"netscape"in window&&/ rv:/[e(287)](navigator[e(485)]),A=!m&&!f&&!!navigator[e(374)]||w()||-1!==navigator[e(485)][e(383)]()[e(413)](e(534)),y=/^((?!chrome|android).)*safari/i.test(navigator[e(485)]);y&&!A&&-1!==navigator.userAgent[e(413)](e(300))&&(y=!1,A=!0);var b=window[e(389)];function v(t){var s=e;if(0===t)return s(421);var i=parseInt(Math[s(354)](Math[s(213)](t)/Math[s(213)](1e3)),10);return(t/Math[s(409)](1e3,i)).toPrecision(3)+" "+["Bytes","KB","MB","GB","TB"][i]}function S(t,s){var i=e;if(!t)throw i(366);if(!t.type)try{t[i(188)]=i(180)}catch(t){}var r=(t[i(188)]||i(180))[i(269)]("/")[1];if(-1!==r.indexOf(";")&&(r=r[i(269)](";")[0]),s&&-1!==s[i(413)](".")){var n=s[i(269)](".");s=n[0],r=n[1]}var o=(s||Math.round(9999999999*Math[i(408)]())+888888888)+"."+r;if(void 0!==navigator[i(373)])return navigator.msSaveOrOpenBlob(t,o);if(typeof navigator[i(249)]!==i(297))return navigator[i(249)](t,o);var a=document[i(346)]("a");a[i(555)]=p[i(235)](t),a.download=o,a.style=i(289),(document.body||document[i(417)])[i(419)](a),typeof a[i(264)]===i(237)?a.click():(a[i(171)]=i(379),a[i(542)](new MouseEvent(i(264),{view:window,bubbles:!0,cancelable:!0}))),p[i(212)](a[i(555)])}function w(){var t=e;return typeof window!==t(297)&&typeof window[t(319)]===t(536)&&"renderer"===window[t(319)][t(188)]||(!("undefined"==typeof process||"object"!=typeof process[t(399)]||!process.versions[t(248)])||"object"==typeof navigator&&typeof navigator.userAgent===t(388)&&navigator[t(485)][t(413)](t(397))>=0)}function E(t,s){var i=e;return t&&t.getTracks?t[i(525)]().filter((function(t){var e=i;return t.kind===(s||e(245))})):[]}function I(t,s){var i=e;i(277)in s?s[i(277)]=t:i(318)in s?s[i(318)]=t:s[i(277)]=t}typeof b===e(297)&&typeof webkitMediaStream!==e(297)&&(b=webkitMediaStream),typeof b!==e(297)&&typeof b[e(317)][e(252)]===e(297)&&(b[e(317)][e(252)]=function(){var t=e;this[t(525)]()[t(214)]((function(e){e[t(252)]()}))}),s[e(420)]=S,s.getTracks=E,s.getSeekableBlob=function(t,s){var i=e;if(typeof EBML===i(297))throw new Error("Please link: https://www.webrtc-experiment.com/EBML.js");var r=new(EBML[i(435)]),n=new EBML.Decoder,o=EBML[i(286)],a=new FileReader;a[i(273)]=function(t){var e=i;n.decode(this[e(294)])[e(214)]((function(t){r[e(197)](t)})),r[e(252)]();var a=o[e(464)](r[e(210)],r[e(174)],r[e(375)]),h=this[e(294)][e(133)](r[e(465)]),c=new Blob([a,h],{type:e(180)});s(c)},a[i(550)](t)},s[e(481)]=v,s[e(125)]=w;var T={};function k(){var t=e;if(g||y||f)return!0;navigator[t(557)];var s,i,r=navigator[t(485)],n=""+parseFloat(navigator.appVersion),o=parseInt(navigator[t(557)],10);return(A||m)&&(s=r[t(413)](t(341)),n=r[t(234)](s+7)),-1!==(i=n.indexOf(";"))&&(n=n.substring(0,i)),-1!==(i=n[t(413)](" "))&&(n=n.substring(0,i)),o=parseInt(""+n,10),isNaN(o)&&(n=""+parseFloat(navigator[t(557)]),o=parseInt(navigator[t(557)],10)),o>=49}function _(t,s){var i=e,r=this;if(void 0===t)throw'First argument "MediaStream" is required.';if(typeof MediaRecorder===i(297))throw i(378);if((s=s||{mimeType:i(180)}).type===i(245)){var n;if(E(t,i(522))[i(451)]&&E(t,i(245))[i(451)])navigator[i(467)]?(n=new b)[i(190)](E(t,i(245))[0]):n=new b(E(t,i(245))),t=n;(!s[i(361)]||-1===s[i(361)][i(494)]().toLowerCase().indexOf(i(245)))&&(s[i(361)]=i(A?226:349)),s[i(361)]&&"audio/ogg"!==s[i(361)][i(494)]()[i(383)]()&&navigator[i(467)]&&(s[i(361)]=i(349))}var o,a=[];function h(){var t=i;r[t(492)].push((new Date).getTime()),typeof s.onTimeStamp===t(237)&&s[t(170)](r.timestamps[r[t(492)][t(451)]-1],r.timestamps)}function c(t){var e=i;return o&&o[e(361)]?o[e(361)]:t[e(361)]||e(180)}function l(){a=[],o=null,r[i(492)]=[]}this[i(527)]=function(){return a},this[i(271)]=function(){var e=i;r[e(436)]=null,r[e(233)](),r[e(492)]=[],d=[],a=[];var n=s;!s[e(547)]&&console[e(213)](e(165),n),o&&(o=null),A&&!k()&&(n="video/vp8"),typeof MediaRecorder.isTypeSupported===e(237)&&n[e(361)]&&!MediaRecorder.isTypeSupported(n.mimeType)&&(!s.disableLogs&&console.warn(e(497),n.mimeType),n[e(361)]=s.type===e(245)?e(226):e(180));try{o=new MediaRecorder(t,n),s.mimeType=n[e(361)]}catch(e){o=new MediaRecorder(t)}n[e(361)]&&!MediaRecorder[e(449)]&&e(469)in o&&!1===o[e(469)](n[e(361)])&&!s[e(547)]&&console[e(199)](e(497),n.mimeType),o.ondataavailable=function(t){var i=e;if(t[i(187)]&&d.push(i(266)+v(t.data.size)),"number"!=typeof s[i(231)])!t[i(187)]||!t[i(187)][i(376)]||t[i(187)].size<100||r[i(436)]?r[i(145)]&&(r[i(145)](new Blob([],{type:c(n)})),r[i(145)]=null):(r[i(436)]=s[i(283)]?t[i(187)]:new Blob([t.data],{type:c(n)}),r[i(145)]&&(r[i(145)](r.blob),r[i(145)]=null));else if(t[i(187)]&&t[i(187)][i(376)]&&(a[i(243)](t.data),h(),"function"==typeof s[i(480)])){var o=s[i(283)]?t[i(187)]:new Blob([t[i(187)]],{type:c(n)});s[i(480)](o)}},o[e(154)]=function(){var t=e;d[t(243)](t(144))},o.onpause=function(){var t=e;d[t(243)](t(489))},o[e(314)]=function(){var t=e;d.push(t(138))},o[e(298)]=function(){var t=e;d[t(243)](t(345))},o.onerror=function(t){var i=e;t&&(!t.name&&(t[i(206)]=i(395)),d[i(243)](i(299)+t),s[i(547)]||(-1!==t[i(206)][i(494)]().toLowerCase()[i(413)]("invalidstate")?console[i(454)](i(549),t):-1!==t[i(206)][i(494)]()[i(383)]()[i(413)](i(173))?console[i(454)](i(244),n[i(361)],") is not supported.",t):-1!==t[i(206)].toString().toLowerCase()[i(413)](i(167))?console[i(454)](i(323),t):t.name===i(401)?console[i(454)](i(151),t):t.name===i(360)?console[i(454)](i(192),t):"OtherRecordingError"===t[i(206)]?console[i(454)](i(471),t):t[i(206)]===i(380)?console[i(454)](i(402),t):console[i(454)](i(254),t)),function(t){var e=i;if(!r[e(411)]&&o&&o[e(257)]===e(430))return delete s[e(331)],void o[e(305)](6e5);setTimeout(void 0,1e3)}(),"inactive"!==o.state&&"stopped"!==o.state&&o[i(252)]())},typeof s[e(231)]===e(152)?(h(),o[e(305)](s[e(231)])):o[e(305)](36e5),s[e(466)]&&s.initCallback()},this[i(492)]=[],this[i(252)]=function(t){var e=i;t=t||function(){},r[e(411)]=!0,o&&(this.recordingCallback=t,o.state===e(427)&&o.stop(),typeof s[e(231)]===e(152)&&setTimeout((function(){var t=e;r.blob=new Blob(a,{type:c(s)}),r[t(145)](r[t(436)])}),100))},this[i(370)]=function(){var t=i;o&&o[t(257)]===t(427)&&o[t(370)]()},this[i(185)]=function(){var t=i;o&&"paused"===o[t(257)]&&o[t(185)]()},this.clearRecordedData=function(){var t=i;o&&"recording"===o[t(257)]&&r[t(252)](l),l()},this[i(184)]=function(){return o},this[i(436)]=null,this[i(545)]=function(){var t=i;return o?o[t(257)]||"inactive":t(430)};var d=[];this[i(385)]=function(){return d},void 0===s[i(166)]&&(s[i(166)]=!1);r=this;(function e(){var n=i;if(o&&!1!==s[n(166)])return!1===function(){var e=i;if("active"in t){if(!t[e(429)])return!1}else if(e(438)in t&&t[e(438)])return!1;return!0}()?(!s[n(547)]&&console.log(n(202)),void r[n(252)]()):void setTimeout(e,1e3)})(),this[i(206)]=i(310),this.toString=function(){return this.name}}function C(t,i){var r=e;if(!E(t,r(245))[r(451)])throw"Your stream has no audio tracks.";var n,o=this,a=[],h=[],c=!1,l=0,d=2,u=(i=i||{})[r(470)];function f(){var e=r;if(!1===i[e(166)])return!0;if(e(429)in t){if(!t.active)return!1}else if("ended"in t&&t[e(438)])return!1;return!0}function m(t,e){var s=r;function i(t,e){var s,i=la,r=t.numberOfAudioChannels,n=t.leftBuffers[i(133)](0),o=t.rightBuffers.slice(0),a=t[i(178)],h=t[i(490)],c=t[i(470)];function l(t,e,s){var r,n,o=i,a=Math.round(t.length*(e/s)),h=[],c=Number((t[o(451)]-1)/(a-1));h[0]=t[0];for(var l=1;l96e3)&&!i[r(547)]&&console[r(213)](r(512)),!i.disableLogs&&i.desiredSampRate&&console[r(213)](r(207)+i[r(470)]);var S=!1;function w(){var t=r;a=[],h=[],l=0,T=!1,c=!1,S=!1,g=null,o[t(499)]=a,o.rightchannel=h,o[t(176)]=d,o[t(470)]=u,o.sampleRate=v,o.recordingLength=l,k={left:[],right:[],recordingLength:0}}function I(){var t=r;n&&(n[t(450)]=null,n[t(518)](),n=null),A&&(A[t(518)](),A=null),w()}this[r(370)]=function(){S=!0},this[r(185)]=function(){var t=r;if(!1===f())throw t(132);if(!c)return!i[t(547)]&&console[t(213)]("Seems recording has been restarted."),void this.record();S=!1},this.clearRecordedData=function(){var t=r;i.checkForInactiveTracks=!1,c&&this[t(252)](I),I()},this[r(206)]=r(291),this.toString=function(){return this[r(206)]};var T=!1;n.onaudioprocess=function(t){var e=r;if(!S)if(!1===f()&&(!i[e(547)]&&console[e(213)](e(202)),n.disconnect(),c=!1),c){!T&&(T=!0,i[e(403)]&&i[e(403)](),i[e(466)]&&i.initCallback());var s=t.inputBuffer[e(539)](0),u=new Float32Array(s);if(a[e(243)](u),2===d){var p=t[e(275)][e(539)](1),m=new Float32Array(p);h[e(243)](m)}l+=b,o[e(491)]=l,typeof i[e(231)]!==e(297)&&(k[e(491)]+=b,k[e(130)][e(243)](u),2===d&&k.right[e(243)](m))}else A&&(A[e(518)](),A=null)},g[r(371)]?n[r(546)](g[r(371)]()):n.connect(g[r(260)]),this[r(499)]=a,this[r(529)]=h,this[r(176)]=d,this[r(470)]=u,this[r(178)]=v,o[r(491)]=l;var k={left:[],right:[],recordingLength:0};function _(){var t=r;c&&typeof i[t(480)]===t(237)&&void 0!==i.timeSlice&&(k[t(130)][t(451)]?(m({desiredSampRate:u,sampleRate:v,numberOfAudioChannels:d,internalInterleavedLength:k[t(491)],leftBuffers:k[t(130)],rightBuffers:1===d?[]:k[t(500)]},(function(e,s){var r=t,n=new Blob([s],{type:"audio/wav"});i[r(480)](n),setTimeout(_,i[r(231)])})),k={left:[],right:[],recordingLength:0}):setTimeout(_,i[t(231)]))}}function R(t,s){var i=e;if(typeof html2canvas===i(297))throw i(241);!(s=s||{})[i(329)]&&(s[i(329)]=10);var r=!1;[i(209),i(531),i(147)].forEach((function(t){var e=i;t in document[e(346)](e(442))&&(r=!0)}));var n,o,a,h=!(!window[i(392)]&&!window[i(374)]||!window.chrome),c=50,l=navigator[i(485)].match(/Chrom(e|ium)\/([0-9]+)\./);if(h&&l&&l[2]&&(c=parseInt(l[2],10)),h&&c<52&&(r=!1),s[i(208)]&&(r=!1),r)if(!s[i(547)]&&console[i(213)](i(558)),t instanceof HTMLCanvasElement)n=t;else{if(!(t instanceof CanvasRenderingContext2D))throw i(333);n=t[i(442)]}else navigator[i(467)]&&!s[i(547)]&&console[i(454)]("Canvas recording is NOT supported in Firefox.");this.record=function(){var t=i;if(a=!0,r&&!s.useWhammyRecorder){var e;"captureStream"in n?e=n[t(209)](25):t(531)in n?e=n[t(531)](25):"webkitCaptureStream"in n&&(e=n.webkitCaptureStream(25));try{var h=new b;h.addTrack(E(e,"video")[0]),e=h}catch(t){}if(!e)throw t(217);(o=new _(e,{mimeType:s[t(361)]||"video/webm"}))[t(271)]()}else m[t(131)]=[],f=(new Date)[t(321)](),p();s.initCallback&&s[t(466)]()},this.getWebPImages=function(e){var r=i;if(t[r(358)][r(383)]()===r(442)){var n=m.frames[r(451)];m[r(131)][r(214)]((function(t,e){var i=r,o=n-e;!s[i(547)]&&console[i(213)](o+"/"+n+" frames remaining"),s.onEncodingCallback&&s.onEncodingCallback(o,n);var a=t.image[i(290)](i(501),1);m[i(131)][e].image=a})),!s[r(547)]&&console[r(213)]("Generating WebM"),e()}else e()},this[i(252)]=function(t){var e=i;a=!1;var n=this;r&&o?o[e(252)](t):this[e(528)]((function(){var i=e;m[i(433)]((function(e){var r=i;!s[r(547)]&&console[r(213)](r(444)),n[r(436)]=e,n.blob.forEach&&(n[r(436)]=new Blob([],{type:"video/webm"})),t&&t(n[r(436)]),m[r(131)]=[]}))}))};var d=!1;function u(){m.frames=[],a=!1,d=!1}function p(){var e,r,n,o=i;if(d)return f=(new Date)[o(321)](),setTimeout(p,500);if(t[o(358)][o(383)]()===o(442)){var h=(new Date)[o(321)]()-f;return f=(new Date)[o(321)](),m[o(131)][o(243)]({image:(e=i,r=document.createElement("canvas"),n=r.getContext("2d"),r[e(423)]=t[e(423)],r[e(284)]=t[e(284)],n[e(251)](t,0,0),r),duration:h}),void(a&&setTimeout(p,s[o(329)]))}html2canvas(t,{grabMouse:void 0===s[o(302)]||s[o(302)],onrendered:function(t){var e=o,i=(new Date)[e(321)]()-f;if(!i)return setTimeout(p,s[e(329)]);f=(new Date)[e(321)](),m.frames.push({image:t[e(290)](e(501),1),duration:i}),a&&setTimeout(p,s[e(329)])}})}this[i(370)]=function(){d=!0,o instanceof _&&o[i(370)]()},this[i(185)]=function(){var t=i;d=!1,o instanceof _?o[t(185)]():!a&&this[t(271)]()},this.clearRecordedData=function(){a&&this.stop(u),u()},this.name=i(204),this[i(494)]=function(){return this.name};var f=(new Date)[i(321)](),m=new(L[i(396)])(100)}function D(t,s){var i=e;function r(t){var e=i;t=void 0!==t?t:10;var s=(new Date)[e(321)]()-l;return s?a?(l=(new Date)[e(321)](),setTimeout(r,100)):(l=(new Date)[e(321)](),c.paused&&c[e(461)](),p[e(251)](c,0,0,u[e(423)],u[e(284)]),d[e(131)].push({duration:s,image:u.toDataURL(e(501))}),void(!o&&setTimeout(r,t,t))):setTimeout(r,t,t)}function n(t,e,s,r,n){var o=i,a=document[o(346)](o(442));a.width=u[o(423)],a[o(284)]=u[o(284)];var h,c,l,d=a[o(364)]("2d"),p=[],f=-1===e,m=e&&e>0&&e<=t[o(451)]?e:t[o(451)],g=0,A=0,y=0,b=Math[o(426)](Math[o(409)](255,2)+Math[o(409)](255,2)+Math.pow(255,2)),v=s&&s>=0&&s<=1?s:0,S=r&&r>=0&&r<=1?r:0,w=!1;c=-1,l=(h={length:m,functionToLoop:function(e,s){var i,r,n,a=o,h=function(){!w&&n-i<=n*S||(f&&(w=!0),p.push(t[s])),e()};if(w)h();else{var c=new Image;c[a(273)]=function(){var t=a;d[t(251)](c,0,0,u.width,u[t(284)]);var e=d[t(227)](0,0,u.width,u[t(284)]);i=0,r=e.data[t(451)],n=e.data[t(451)]/4;for(var s=0;s127)throw e(181);return[128|t.trackNum,t[e(159)]>>8,255&t[e(159)],s][e(484)]((function(t){return String[e(137)](t)}))[e(443)]("")+t[e(365)]}({discardable:0,frame:t[s(187)][s(133)](4),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math[s(198)](e)});return e+=t.duration,{data:r,id:163}})))}function r(t){for(var e=la,s=[];t>0;)s.push(255&t),t>>=8;return new Uint8Array(s[e(440)]())}function n(t){var e=la;return new Uint8Array(t[e(269)]("")[e(484)]((function(t){return t[e(126)](0)})))}function o(t){var e=la,s=[];t=(t[e(451)]%8?new Array(9-t[e(451)]%8)[e(443)]("0"):"")+t;for(var i=0;i1?2*a[0][t(423)]:a[0][t(423)];var c=1;(3===e||4===e)&&(c=2),(5===e||6===e)&&(c=3),(7===e||8===e)&&(c=4),(9===e||10===e)&&(c=5),o[t(284)]=a[0].height*c}else o[t(423)]=h.width||360,o[t(284)]=h[t(284)]||240;s&&s instanceof HTMLVideoElement&&f(s),a[t(214)]((function(t,e){f(t,e)})),setTimeout(p,h[t(329)])}}function f(t,e){var s=i;if(!n){var r=0,o=0,h=t[s(423)],c=t[s(284)];1===e&&(r=t.width),2===e&&(o=t.height),3===e&&(r=t.width,o=t[s(284)]),4===e&&(o=2*t[s(284)]),5===e&&(r=t.width,o=2*t[s(284)]),6===e&&(o=3*t[s(284)]),7===e&&(r=t[s(423)],o=3*t[s(284)]),typeof t.stream[s(130)]!==s(297)&&(r=t.stream.left),typeof t[s(163)][s(524)]!==s(297)&&(o=t[s(163)][s(524)]),typeof t[s(163)].width!==s(297)&&(h=t[s(163)].width),void 0!==t[s(163)].height&&(c=t.stream[s(284)]),a[s(251)](t,r,o,h,c),"function"==typeof t.stream[s(393)]&&t[s(163)].onRender(a,r,o,h,c,e)}}function m(t){var e,r,n,o=i,a=document[o(346)](o(522));return e=t,r=a,(n=i)(277)in r?r[n(277)]=e:n(318)in r?r[n(318)]=e:r[n(277)]=e,a[o(308)]=s,a[o(394)]=!0,a[o(508)]=0,a[o(423)]=t[o(423)]||h.width||360,a.height=t[o(284)]||h[o(284)]||240,a[o(461)](),a}function g(e){var s=i;r=[],(e=e||t)[s(214)]((function(t){var e=s;if(t[e(525)]()[e(312)]((function(t){var s=e;return t[s(232)]===s(522)}))[e(451)]){var i=m(t);i[e(163)]=t,r.push(i)}}))}typeof c!==i(297)?u[i(238)]=c:typeof webkitAudioContext!==i(297)&&(u[i(238)]=webkitAudioContext),this[i(398)]=function(){p()},this[i(330)]=function(e){var s=i;if(!e)throw s(324);!(e instanceof Array)&&(e=[e]),e[s(214)]((function(e){var i=s,n=new d;if(e[i(525)]().filter((function(t){var e=i;return t[e(232)]===e(522)}))[i(451)]){var o=m(e);o[i(163)]=e,r[i(243)](o),n[i(190)](e.getTracks()[i(312)]((function(t){var e=i;return t.kind===e(522)}))[0])}if(e[i(525)]()[i(312)]((function(t){var e=i;return t.kind===e(245)}))[i(451)]){var a=h[i(410)].createMediaStreamSource(e);h[i(348)]=h[i(410)][i(371)](),a[i(546)](h[i(348)]),n[i(190)](h[i(348)][i(163)][i(525)]()[i(312)]((function(t){var e=i;return t[e(232)]===e(245)}))[0])}t[i(243)](n)}))},this.releaseStreams=function(){var t=i;r=[],n=!0,h.gainNode&&(h[t(441)].disconnect(),h[t(441)]=null),h[t(282)][t(451)]&&(h[t(282)][t(214)]((function(t){t.disconnect()})),h[t(282)]=[]),h[t(348)]&&(h[t(348)].disconnect(),h[t(348)]=null),h[t(410)]&&h[t(410)][t(191)](),h.audioContext=null,a[t(357)](0,0,o[t(423)],o[t(284)]),o[t(163)]&&(o.stream[t(252)](),o[t(163)]=null)},this[i(316)]=function(t){t&&!(t instanceof Array)&&(t=[t]),g(t)},this[i(206)]="MultiStreamsMixer",this[i(494)]=function(){return this.name},this[i(303)]=function(){var e=i;n=!1;var s=function(){var t,e=i;g(),e(209)in o?t=o[e(209)]():e(531)in o?t=o.mozCaptureStream():!h[e(547)]&&console.error(e(262));var s=new d;return t[e(525)]()[e(312)]((function(t){var s=e;return t[s(232)]===s(522)})).forEach((function(t){s[e(190)](t)})),o[e(163)]=s,s}(),r=function(){var e=i;!u[e(267)]&&(u[e(267)]=new(u[e(238)])),h[e(410)]=u[e(267)],h[e(282)]=[],!0===h.useGainNode&&(h.gainNode=h[e(410)][e(225)](),h.gainNode[e(546)](h.audioContext.destination),h.gainNode.gain.value=0);var s=0;if(t[e(214)]((function(t){var i=e;if(t.getTracks()[i(312)]((function(t){var e=i;return t[e(232)]===e(245)}))[i(451)]){s++;var r=h[i(410)][i(400)](t);!0===h[i(328)]&&r[i(546)](h.gainNode),h.audioSources.push(r)}})),!s)return;return h.audioDestination=h[e(410)][e(371)](),h.audioSources.forEach((function(t){var s=e;t[s(546)](h[s(348)])})),h[e(348)].stream}();return r&&r[e(525)]().filter((function(t){var s=e;return t[s(232)]===s(245)}))[e(214)]((function(t){s.addTrack(t)})),t[e(214)]((function(t){t[e(224)]})),s}}function M(t,s){var i=e;t=t||[];var r,n,o=this;!(s=s||{elementClass:i(322),mimeType:i(180),video:{width:360,height:240}})[i(329)]&&(s[i(329)]=10),!s.video&&(s[i(522)]={}),!s[i(522)][i(423)]&&(s[i(522)][i(423)]=360),!s[i(522)][i(284)]&&(s[i(522)][i(284)]=240),this[i(271)]=function(){var e,o=i;r=new B(t,s[o(169)]||o(322)),(e=[],t[i(214)]((function(t){E(t,"video").forEach((function(t){e[la(243)](t)}))})),e)[o(451)]&&(r[o(329)]=s.frameInterval||10,r[o(423)]=s[o(522)].width||360,r[o(284)]=s[o(522)][o(284)]||240,r[o(398)]()),s.previewStream&&"function"==typeof s[o(293)]&&s.previewStream(r[o(303)]()),(n=new _(r[o(303)](),s))[o(271)]()},this[i(252)]=function(t){var e=i;n&&n[e(252)]((function(s){var i=e;o[i(436)]=s,t(s),o[i(233)]()}))},this[i(370)]=function(){n&&n[i(370)]()},this[i(185)]=function(){n&&n.resume()},this[i(233)]=function(){var t=i;n&&(n.clearRecordedData(),n=null),r&&(r[t(219)](),r=null)},this[i(250)]=function(e){var o=i;if(!e)throw o(324);!(e instanceof Array)&&(e=[e]),t[o(337)](e),n&&r&&(r[o(330)](e),s[o(293)]&&"function"==typeof s[o(293)]&&s.previewStream(r[o(303)]()))},this[i(316)]=function(t){r&&(t&&!(t instanceof Array)&&(t=[t]),r[i(316)](t))},this[i(161)]=function(){return r},this[i(206)]=i(486),this[i(494)]=function(){return this[i(206)]}}function F(t,s){var i,r,n,o=e;function a(e,c){var l=o;if(!s.workerPath&&!c)return i=!1,void fetch(l(479))[l(292)]((function(t){var s=l;t[s(220)]()[s(292)]((function(t){a(e,t)}))}));if(!s[l(246)]&&c instanceof ArrayBuffer){var d=new Blob([c],{type:l(164)});s[l(246)]=p[l(235)](d)}!s[l(246)]&&console.error(l(405)),(r=new Worker(s[l(246)]))[l(477)](s[l(476)]||l(535)),r.addEventListener(l(424),(function(e){var o=l;e[o(187)]===o(406)?(r[o(477)]({width:s[o(423)],height:s[o(284)],bitrate:s[o(445)]||1200,timebaseDen:s[o(506)]||30,realtime:s.realtime}),new ReadableStream({start:function(e){var r=la,n=document[r(346)]("canvas"),o=document[r(346)](r(522)),a=!0;o[r(277)]=t,o[r(394)]=!0,o[r(284)]=s.height,o[r(423)]=s[r(423)],o.volume=0,o[r(463)]=function(){var t=r;n[t(423)]=s[t(423)],n[t(284)]=s.height;var h=n.getContext("2d"),c=1e3/s.frameRate,l=setInterval((function(){var r=t;if(i&&(clearInterval(l),e[r(191)]()),a&&(a=!1,s[r(315)]&&s[r(315)]()),h[r(251)](o,0,0),e[r(263)].state!==r(552))try{e.enqueue(h[r(227)](0,0,s[r(423)],s[r(284)]))}catch(t){}}),c)},o[r(461)]()}}).pipeTo(new WritableStream({write:function(t){var e=o;i?console[e(454)](e(356)):r.postMessage(t[e(187)][e(514)],[t[e(187)][e(514)]])}}))):e.data&&!n&&h[o(243)](e[o(187)])}))}(typeof ReadableStream===o(297)||"undefined"==typeof WritableStream)&&console[o(454)](o(516)),(s=s||{})[o(423)]=s[o(423)]||640,s.height=s[o(284)]||480,s[o(506)]=s.frameRate||30,s[o(445)]=s[o(445)]||1200,s.realtime=s[o(428)]||!0,this.record=function(){var e=o;h=[],n=!1,this[e(436)]=null,a(t),typeof s[e(466)]===e(237)&&s[e(466)]()},this.pause=function(){n=!0},this[o(185)]=function(){n=!1};var h=[];this[o(252)]=function(t){i=!0;var e,s,n=this;e=function(){var e=la;n[e(436)]=new Blob(h,{type:e(180)}),t(n[e(436)])},s=o,r?(r[s(415)](s(424),(function(t){null===t[s(187)]&&(r.terminate(),r=null,e&&e())})),r[s(477)](null)):e&&e()},this[o(206)]=o(179),this[o(494)]=function(){return this[o(206)]},this.clearRecordedData=function(){h=[],n=!1,this[o(436)]=null},this[o(436)]=null}s[e(258)]=x,"function"!==e(297)&&(s[e(301)]=P),"function"!==e(297)&&(s[e(486)]=M),"function"!==e(297)&&(s.RecordRTCPromisesHandler=function(t,i){var r=e;if(!this)throw r(553);if(typeof t===r(297))throw r(253);var n=this;n.recordRTC=new s(t,i),this.startRecording=function(){return new Promise((function(t,e){var s=la;try{n[s(418)][s(124)](),t()}catch(t){e(t)}}))},this[r(150)]=function(){return new Promise((function(t,e){var s=la;try{n[s(418)][s(150)]((function(i){var r=s;n.blob=n[r(418)][r(448)](),n.blob&&n[r(436)][r(376)]?t(i):e(r(141),n[r(436)])}))}catch(t){e(t)}}))},this[r(189)]=function(){return new Promise((function(t,e){var s=la;try{n[s(418)][s(189)](),t()}catch(t){e(t)}}))},this[r(431)]=function(){return new Promise((function(t,e){var s=la;try{n[s(418)][s(431)](),t()}catch(t){e(t)}}))},this.getDataURL=function(t){return new Promise((function(t,e){var s=la;try{n[s(418)][s(447)]((function(e){t(e)}))}catch(t){e(t)}}))},this.getBlob=function(){return new Promise((function(t,e){var s=la;try{t(n.recordRTC[s(448)]())}catch(t){e(t)}}))},this.getInternalRecorder=function(){return new Promise((function(t,e){var s=la;try{t(n[s(418)][s(184)]())}catch(t){e(t)}}))},this[r(313)]=function(){return new Promise((function(t,e){try{t(n.recordRTC.reset())}catch(t){e(t)}}))},this[r(498)]=function(){return new Promise((function(t,e){var s=la;try{t(n[s(418)].destroy())}catch(t){e(t)}}))},this[r(545)]=function(){return new Promise((function(t,e){var s=la;try{t(n[s(418)][s(545)]())}catch(t){e(t)}}))},this[r(436)]=null,this[r(168)]=r(432)}),"function"!==e(297)&&(s.WebAssemblyRecorder=F)}));function la(t,e){var s=da();return(la=function(t,e){return s[t-=122]})(t,e)}function da(){var t=["Video","Electron","startDrawingFrames","versions","createMediaStreamSource","OutOfMemory","The UA cannot provide the codec or recording option that has been requested.","onAudioProcessStarted","onerror","workerPath parameter is missing.","READY","webm","random","pow","audioContext","manuallyStopped","MRecordRTC","indexOf","WEBP","addEventListener","image/png","documentElement","recordRTC","appendChild","invokeSaveAsDialog","0 Bytes","Recording failed.","width","message","1024254oGiVxp","sqrt","recording","realtime","active","inactive","resumeRecording","5.6.2","compile","discardable","Reader","blob","lacing","ended","StereoAudioRecorder is set to record number of channels: ","reverse","gainNode","canvas","join","Recording finished!","bitrate","bitsPerSecond","getDataURL","getBlob","isTypeSupported","onaudioprocess","length","Cleared old recorded data.","bin","error","createScriptProcessor","readwrite","leftChannel","transaction","Stopped recording ",'It seems that recorder is destroyed or "startRecording" is not invoked for ',"play","onStateChanged","onplaying","makeMetadataSeekable","metadataSize","initCallback","mozGetUserMedia","onsuccess","canRecordMimeType","desiredSampRate","Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.","autoplay","RecordRTC version: ","URL","cloneNode","webAssemblyPath","postMessage","all","https://unpkg.com/webm-wasm@latest/dist/webm-worker.js","ondataavailable","bytesToSize","WebAudio API has no support on this browser.","Legal values for buffer-size are ","map","userAgent","MultiStreamRecorder","add","Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45","paused","internalInterleavedLength","recordingLength","timestamps","init","toString","RecordRTC","exports","MediaRecorder API seems unable to record mimeType:","destroy","leftchannel","right","image/webp","open","Recorder state changed:","constructor","onError","frameRate","MultiStreamsMixer","volume","6oDOWzV"," blob ","workerURL","sample-rate must be under range 22050 and 96000.","window","buffer","5496mAdvDn","Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js","opacity","disconnect","setUint16","mediaType","videoRecorder","video","LIST","top","getTracks"," from disk!","getArrayOfBlobs","getWebPImages","rightchannel","video width/height","mozCaptureStream","audio/wav","set","chrome/","https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm","object","ceil","requestAnimationFrame","getChannelData","this.onmessage = function (eee) {","Store","dispatchEvent","onmessage","-1000em","getState","connect","disableLogs","absolute","The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.","readAsArrayBuffer","replace","closed",'Use "new RecordRTCPromisesHandler()"',"recorderType","href"," recorder.","appVersion","Your browser supports both MediRecorder API and canvas.captureStream!","audioBlob","gifRecorder","startRecording","isElectron","charCodeAt","onRecordingStopped","document","playsInline","left","frames","Please make sure MediaStream is active.","slice","max","VP8","*","fromCharCode","resumed","Using frames-interval:","put","Empty blob.","Initialized recorderType:","Blob encoder did not finish its job yet.","started","recordingCallback","RIFF","webkitCaptureStream","(eee.data);}","webkitAudioContext","stopRecording","The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.","number","style","onstart","addFrame","quality","Blob","position","timecode","invisible","getMixer","getUserMedia","stream","text/javascript","Passing following config over MediaRecorder API.","checkForInactiveTracks","security","version","elementClass","onTimeStamp","target","trackNum","notsupported","duration","screen","numberOfAudioChannels","commonjsGlobal","sampleRate","WebAssemblyRecorder","video/webm","TrackNumber > 127 not supported","IndexedDB API are not available in this browser.","MediaStream must have either audio or video tracks.","getInternalRecorder","resume","setUint32","data","type","pauseRecording","addTrack","close","A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.","gif",";this.onmessage = function (eee) {","audioRecorder","callback","read","round","warn","started recording ","Unable to resume the recording. Recording state: ","MediaStream seems stopped.","view","CanvasRecorder","stringify","name","Desired sample-rate: ","useWhammyRecorder","captureStream","metadatas","autoWriteToDisk","revokeObjectURL","log","forEach","setQuality","onGifPreview","captureStream API are NOT available.","setInt16","releaseStreams","arrayBuffer","onloadedmetadata","Storage","file:","fullcanvas","createGain","audio/webm","getImageData","Edge","call","whammy","timeSlice","kind","clearRecordedData","substring","createObjectURL","application/javascript","function","AudioContext","5546692PpLaZo","initRecorder","Please link: https://www.webrtc-experiment.com/screenshot.js","substr","push","MIME type (","audio","workerPath","advertisement","electron","msSaveBlob","addStreams","drawImage","stop",'First argument "MediaStream" is required.',"MediaRecorder Error","clearedRecordedData","script","state","DiskStorage","src","destination","OPR/","Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features","_controlledReadableStream","click","getFromDisk","ondataavailable: ","AudioContextConstructor","Neither URL nor webkitURL detected.","split","recordingDuration","record","offsetHeight","onload","dataStoreName","inputBuffer","get","srcObject","amd","https://www.webrtc-experiment.com/gif-recorder.js","body","2305232AQVFdi","audioSources","getNativeBlob","height","destroyed","tools","test","Getting recorded ","display:none;opacity:0;color:transparent;","toDataURL","StereoAudioRecorder","then","previewStream","result","now","bufferSize","undefined","onstop","error: ","CriOS","GifRecorder","showMousePointer","getMixedStream","location","start","writeToDisk","requestData","className","createObjectStore","MediaStreamRecorder","cancelAnimationFrame","filter","reset","onresume","onVideoProcessStarted","resetVideoStreams","prototype","mozSrcObject","process","canvas resolutions","getTime","multi-streams-mixer","MediaRecorder security error","First parameter is required.","noWorker","3773329hpdsEj","dbName","useGainNode","frameInterval","appendStreams","timeslice","2397123MBilWt","Please pass either HTMLCanvasElement or CanvasRenderingContext2D.","5225165DUcaCK","setUint8","Using recorderType:","concat","keyframe","videoBlob","onGifRecordingStarted","Chrome","byteLength","setRepeat","save","stopped","createElement","recordingDuration is required.","audioDestination","audio/ogg","12933ESkSKO","HTMLVideoElement","Whammy","WhammyRecorder","floor","console","Got image, but recorder is finished!","clearRect","nodeName","recordingDuration must be a number.","IllegalStreamModification","mimeType","image/gif","objectStore","getContext","frame","Blob object is required.","Something went wrong. Maybe WebP format is not supported in the current browser.","for output-type:","createJavaScriptNode","pause","createMediaStreamDestination","setVersion","msSaveOrOpenBlob","webkitGetUserMedia","cues","size","readAsDataURL","Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.","_blank","GenericError","Unable to pause the recording. Recording state: ","offsetWidth","toLowerCase","addStream","getAllStates","navigator","V_VP8","string","MediaStream","gifBlob","toFixed","webkitRTCPeerConnection","onRender","muted","UnknownError"];return(da=function(){return t})()}function ua(t,e){const s=fa();return(ua=function(t,e){return s[t-=271]})(t,e)}const pa=ua;function fa(){const t=["byteLength","2107SEdxLR","81335CVDfXq","readBool","_ebsp2rbsp","readByte","Unknown","104042nbFFZe","toFixed","3GsCzxR","3392ccaXXi","readBits","3670506Dnezsr","readSEG","_skipScalingList","3703640HjpHFx","Main","4:2:0","buffer","2aVfhxZ","getProfileString","destroy","getLevelString","4:2:2","3605371lcsEKq","parseSPS$2","toString","174kWfRjw","getChromaFormatString","readUEG","parseSPS","853236tRtmLG"];return(fa=function(){return t})()}!function(t,e){const s=ua,i=t();for(;;)try{if(418343===parseInt(s(279))/1*(-parseInt(s(299))/2)+parseInt(s(301))/3*(parseInt(s(291))/4)+parseInt(s(294))/5*(parseInt(s(287))/6)+-parseInt(s(293))/7*(-parseInt(s(302))/8)+parseInt(s(272))/9+-parseInt(s(275))/10+-parseInt(s(284))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fa);class ma{static _ebsp2rbsp(t){const e=ua;let s=t,i=s[e(292)],r=new Uint8Array(i),n=0;for(let t=0;t=2&&3===s[t]&&0===s[t-1]&&0===s[t-2]||(r[n]=s[t],n++);return new Uint8Array(r[e(278)],0,n)}static[pa(290)](t){const e=pa;let s=ma[e(296)](t),i=new se(s);i[e(297)]();let r=i[e(297)]();i.readByte();let n=i[e(297)]();i.readUEG();let o=ma[e(280)](r),a=ma[e(282)](n),h=1,c=420,l=[0,420,422,444],d=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(h=i[e(289)](),3===h&&i[e(271)](1),h<=3&&(c=l[h]),d=i.readUEG()+8,i[e(289)](),i[e(271)](1),i[e(295)]())){let t=3!==h?8:12;for(let s=0;s0&&t<16?(S=s[t-1],w=r[t-1]):255===t&&(S=i[e(297)]()<<8|i[e(297)](),w=i.readByte()<<8|i[e(297)]())}if(i[e(295)]()&&i[e(295)](),i[e(295)]()&&(i[e(271)](4),i[e(295)]()&&i[e(271)](24)),i.readBool()&&(i[e(289)](),i[e(289)]()),i[e(295)]()){let t=i[e(271)](32),s=i[e(271)](32);I=i[e(295)](),T=s,k=2*t,E=T/k}}let _=1;(1!==S||1!==w)&&(_=S/w);let C=0,R=0;if(0===h)C=1,R=2-g;else{C=3===h?1:2,R=(1===h?2:1)*(2-g)}let D=16*(f+1),L=16*(m+1)*(2-g);D-=(A+y)*C,L-=(b+v)*R;let x=Math.ceil(D*_);return i.destroy(),i=null,{profile_string:o,level_string:a,bit_depth:d,ref_frames:p,chroma_format:c,chroma_format_string:ma[e(288)](c),frame_rate:{fixed:I,fps:E,fps_den:k,fps_num:T},sar_ratio:{width:S,height:w},codec_size:{width:D,height:L},present_size:{width:x,height:L}}}static[pa(285)](t){const e=pa;let s=t.subarray(1,4),i="avc1.";for(let t=0;t<3;t++){let r=s[t][e(286)](16);r.length<2&&(r="0"+r),i+=r}let r=ma[e(296)](t),n=new se(r);n.readByte();let o=n[e(297)]();n[e(297)]();let a=n[e(297)]();n[e(289)]();let h=ma[e(280)](o),c=ma[e(282)](a),l=1,d=420,u=[0,420,422,444],p=8,f=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=n[e(289)](),3===l&&n[e(271)](1),l<=3&&(d=u[l]),p=n[e(289)]()+8,f=n[e(289)]()+8,n.readBits(1),n.readBool())){let t=3!==l?8:12;for(let s=0;s0&&t<16?(I=s[t-1],T=i[t-1]):255===t&&(I=n.readByte()<<8|n[e(297)](),T=n[e(297)]()<<8|n[e(297)]())}if(n[e(295)]()&&n[e(295)](),n[e(295)]()&&(n.readBits(4),n[e(295)]()&&n[e(271)](24)),n[e(295)]()&&(n[e(289)](),n.readUEG()),n[e(295)]()){let t=n[e(271)](32),s=n[e(271)](32);_=n[e(295)](),C=s,R=2*t,k=C/R}}let D=1;(1!==I||1!==T)&&(D=I/T);let L=0,x=0;if(0===l)L=1,x=2-b;else{L=3===l?1:2,x=(1===l?2:1)*(2-b)}let P=16*(A+1),B=16*(y+1)*(2-b);P-=(v+S)*L,B-=(w+E)*x;let M=Math.ceil(P*D);return n[e(281)](),n=null,{codec_mimetype:i,profile_idc:o,level_idc:a,profile_string:h,level_string:c,chroma_format_idc:l,bit_depth:p,bit_depth_luma:p,bit_depth_chroma:f,ref_frames:g,chroma_format:d,chroma_format_string:ma[e(288)](d),frame_rate:{fixed:_,fps:k,fps_den:R,fps_num:C},sar_ratio:{width:I,height:T},codec_size:{width:P,height:B},present_size:{width:M,height:B}}}static[pa(274)](t,e){const s=pa;let i=8,r=8,n=0;for(let o=0;o=this[e(292)])return this[e(280)]=!0,0;this.iserro=!1,i=this.bufoff+t>8?8-this[e(295)]:t,s<<=i,s+=this[e(281)][this[e(291)]]>>8-this[e(295)]-i&255>>8-i,this[e(295)]+=i,t-=i,8==this.bufoff&&(this[e(291)]++,this[e(295)]=0)}return s}[Aa(287)](t){const e=Aa;let s=this[e(291)],i=this[e(295)],r=this[e(290)](t);return this[e(291)]=s,this[e(295)]=i,r}[Aa(277)](){const t=Aa;let e;for(e=0;0===this[t(290)](1)&&!this[t(280)];e++);return(1<>>24&255,t>>>16&255,t>>>8&255,255&t]),r=new Uint8Array(t+4);r.set(i,0),r.set(s[e(232)],4),s[e(232)]=r}if(s[e(222)]){const t=s.pps[e(283)],i=new Uint8Array([t>>>24&255,t>>>16&255,t>>>8&255,255&t]),r=new Uint8Array(t+4);r[e(237)](i,0),r[e(237)](s.pps,4),s[e(222)]=r}return s}function ka(t,e){const s=Ia();return(ka=function(t,e){return s[t-=219]})(t,e)}function _a(t){const e=ka;let{sps:s,pps:i}=t,r=8+s[e(283)]+1+2+i.byteLength,n=!1;const o=ma[e(242)](s);66!==s[3]&&77!==s[3]&&88!==s[3]&&(n=!0,r+=4);let a=new Uint8Array(r);a[0]=1,a[1]=s[1],a[2]=s[2],a[3]=s[3],a[4]=255,a[5]=225;let h=s.byteLength;a[6]=h>>>8,a[7]=255&h;let c=8;a[e(237)](s,8),c+=h,a[c]=1;let l=i.byteLength;a[c+1]=l>>>8,a[c+2]=255&l,a[e(237)](i,c+3),c+=3+l,n&&(a[c]=252|o[e(292)],a[c+1]=248|o[e(277)]-8,a[c+2]=248|o[e(284)]-8,a[c+3]=0,c+=4);const d=[23,0,0,0,0],u=new Uint8Array(d.length+a.byteLength);return u[e(237)](d,0),u[e(237)](a,d[e(297)]),u}function Ca(t,e){const s=ka;let i=[];i[0]=e?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i[s(297)]+t[s(283)]);return r[s(237)](i,0),r[s(237)](t,i.length),r}function Ra(t){return 31&t[0]}function Da(t){return t===Q.kSliceSEI}function La(t){return!function(t){const e=ka;return t===Q[e(232)]||t===Q[e(222)]}(t)&&!Da(t)}function xa(t){return t===Q[ka(226)]}!function(t,e){const s=ka,i=t();for(;;)try{if(557955===parseInt(s(234))/1+parseInt(s(288))/2*(parseInt(s(276))/3)+-parseInt(s(295))/4+parseInt(s(270))/5+-parseInt(s(248))/6+-parseInt(s(263))/7+-parseInt(s(219))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ia);class Pa{constructor(t){const e=ka;this[e(230)]=t,this[e(247)]=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this[e(247)]&&console.error(e(241))}[Ea(221)](t){const e=Ea;let s=t,i=this[e(230)];for(;;){if(s+3>=i[e(283)])return this.eofFlag=!0,i[e(283)];let t=i[s+0]<<24|i[s+1]<<16|i[s+2]<<8|i[s+3],r=i[s+0]<<16|i[s+1]<<8|i[s+2];if(1===t||1===r)return s;s++}}readNextNaluPayload(){const t=Ea;let e=this.data,s=null;for(;null==s&&!this[t(247)];){let i=this[t(299)];i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let r=31&e[i],n=(128&e[i])>>>7,o=this[t(221)](i);this[t(299)]=o,r>=Q[t(262)]||0===n&&(s={type:r,data:e.subarray(i,o)})}return s}}class Ba{constructor(t){const e=Ea;let s=t.data[e(283)];this[e(278)]=t[e(278)],this[e(230)]=new Uint8Array(4+s),new DataView(this[e(230)][e(296)])[e(227)](0,s),this.data[e(237)](t[e(230)],4)}}function Ma(){const t=["5414sKGNtS","GetUE","470412EwYJIR","m_len","2071170RNyPOP","1028yawhbw","length","m_zeros","8033910zGdIBG","m_bits","m_idx","GetBit","m_data","1461fIgHhG","GetBYTE","2785515HpEmhl","835219rwXGzn","73CglrPF","m_byte","GetSE","8GBaHwn"];return(Ma=function(){return t})()}const Fa=Oa;function Oa(t,e){const s=Ma();return(Oa=function(t,e){return s[t-=396]})(t,e)}!function(t,e){const s=Oa,i=t();for(;;)try{if(395448===parseInt(s(398))/1*(parseInt(s(402))/2)+-parseInt(s(415))/3*(-parseInt(s(407))/4)+-parseInt(s(396))/5+-parseInt(s(406))/6+parseInt(s(397))/7*(parseInt(s(401))/8)+parseInt(s(404))/9+parseInt(s(410))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ma);Fa(416),Fa(413),Fa(403),Fa(400);const Ua=ja;function ja(t,e){const s=Na();return(ja=function(t,e){return s[t-=182]})(t,e)}function Na(){const t=["SPSParser sps_seq_parameter_set_id > 15","5375634lZDHIV","9676936uORBig","GetUE","17121630ctHmlF","391452mTwLHE","_ebsp2rbsp","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","40IeTUgA","32762VyvHDz","299164aHzYPU","19WbeCMi","SPSParser sps_max_sub_layers_minus1 > 6","warn","GetWord","9006732jNpwfV","SPSParser chroma_format_idc > 3","7wrLELm"];return(Na=function(){return t})()}!function(t,e){const s=ja,i=t();for(;;)try{if(615058===-parseInt(s(198))/1*(parseInt(s(196))/2)+parseInt(s(192))/3+parseInt(s(197))/4*(-parseInt(s(195))/5)+parseInt(s(188))/6+-parseInt(s(186))/7*(-parseInt(s(189))/8)+parseInt(s(184))/9+-parseInt(s(191))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Na);Ua(193);!function(t,e){const s=Ga,i=t();for(;;)try{if(206843===parseInt(s(429))/1*(-parseInt(s(436))/2)+parseInt(s(434))/3*(-parseInt(s(422))/4)+-parseInt(s(433))/5+parseInt(s(417))/6+parseInt(s(442))/7*(-parseInt(s(426))/8)+-parseInt(s(430))/9*(-parseInt(s(439))/10)+parseInt(s(418))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ha);const Va=t=>{let e=t,s=e[Ga(424)],i=new Uint8Array(s),r=0;for(let t=0;t=2&&3===e[t]&&0===e[t-1]&&0===e[t-2]||(i[r]=e[t],r++);return new Uint8Array(i.buffer,0,r)},za=t=>{const e=Ga;switch(t){case 0:return"4:0:0";case 1:return e(440);case 2:return"4:2:2";case 3:return e(428);default:return e(438)}};function Ga(t,e){const s=Ha();return(Ga=function(t,e){return s[t-=417]})(t,e)}function Ha(){const t=["destroy","1442FtTRkI","1710432DVoHnf","3713534pjXoQx",".B0","readBits","readBool","593996WLTndk","min","byteLength",".1.L","7728ugFLPK","readByte","4:4:4","1GfPKkz","1060011yJccoG","toFixed","readUEG","1257965DimVhb","3cvmzRC","push","104586IatxYx","readSEG","Unknown","20NxzBQO","4:2:0"];return(Ha=function(){return t})()}const Wa=Qa;function Ka(){const t=["readUEG","parsePPS","byteLength","getProfileString","Main","11544430ukVwLa","toFixed","parseSPS","4:2:0",".1.L","SCC","getChromaFormatString","Rext","readBool","5048oHbwxr","hvc1.","4840626DtragS","1295tjprZj","getLevelString","buffer","14651811vWGLwF","1ryObTP","Unknown","4:2:2","min","readSEG","readByte","push","destroy",".B0","_ebsp2rbsp","23898FxlCzS","1725956TbEhMX","Main10","20xZEVRU","readBits","1059396ygsmww"];return(Ka=function(){return t})()}function Qa(t,e){const s=Ka();return(Qa=function(t,e){return s[t-=101]})(t,e)}!function(t,e){const s=Qa,i=t();for(;;)try{if(859710===parseInt(s(105))/1*(parseInt(s(116))/2)+-parseInt(s(137))/3+-parseInt(s(120))/4*(parseInt(s(118))/5)+parseInt(s(115))/6+-parseInt(s(101))/7*(parseInt(s(135))/8)+parseInt(s(104))/9+parseInt(s(126))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ka);class Ya{static _ebsp2rbsp(t){const e=Qa;let s=t,i=s[e(123)],r=new Uint8Array(i),n=0;for(let t=0;t=2&&3===s[t]&&0===s[t-1]&&0===s[t-2]||(r[n]=s[t],n++);return new Uint8Array(r[e(103)],0,n)}static parseVPS(t){const e=Qa;let s=Ya[e(114)](t),i=new se(s);return i[e(110)](),i[e(110)](),i.readBits(4),i[e(119)](2),i[e(119)](6),{num_temporal_layers:i[e(119)](3)+1,temporal_id_nested:i[e(134)]()}}static[Wa(128)](t){const e=Wa;let s=Ya[e(114)](t),i=new se(s);i[e(110)](),i[e(110)]();let r=0,n=0,o=0,a=0;i[e(119)](4);let h=i[e(119)](3);i[e(134)]();let c=i[e(119)](2),l=i.readBool(),d=i[e(119)](5),u=i.readByte(),p=i.readByte(),f=i[e(110)](),m=i[e(110)](),g=i[e(110)](),A=i[e(110)](),y=i[e(110)](),b=i.readByte(),v=i[e(110)](),S=i[e(110)](),w=i.readByte(),E=[],I=[];for(let t=0;t0)for(let t=h;t<8;t++)i[e(119)](2);for(let t=0;t1&&i[e(109)]();for(let t=0;t0&&t<=16?(M=s[t-1],F=r[t-1]):255===t&&(M=i[e(119)](16),F=i.readBits(16))}if(i[e(134)]()&&i[e(134)](),i[e(134)]()){i[e(119)](3),i.readBool(),i[e(134)]()&&(i.readByte(),i[e(110)](),i[e(110)]())}if(i[e(134)]()&&(i[e(121)](),i.readUEG()),i[e(134)](),i[e(134)](),i[e(134)](),P=i.readBool(),P&&(i[e(121)](),i.readUEG(),i.readUEG(),i.readUEG()),i.readBool()){if(U=i[e(119)](32),j=i[e(119)](32),i[e(134)]()&&i[e(121)](),i[e(134)]()){let t=!1,s=!1,r=!1;t=i[e(134)](),s=i.readBool(),(t||s)&&(r=i[e(134)](),r&&(i[e(110)](),i.readBits(5),i[e(134)](),i[e(119)](5)),i[e(119)](4),i.readBits(4),r&&i[e(119)](4),i[e(119)](5),i[e(119)](5),i[e(119)](5));for(let n=0;n<=h;n++){let n=i[e(134)]();O=n;let o=!0,a=1;!n&&(o=i.readBool());let h=!1;if(o?i.readUEG():h=i.readBool(),!h&&(a=i[e(121)]()+1),t){for(let t=0;t>6&3,i[e(442)]=t[1]>>5&1,i.general_profile_idc=31&t[1],i[e(348)]=t[2]<<24|t[3]<<16|t[4]<<8|t[5],i[e(349)]=t[6]<<24|t[7]<<16|t[8]<<8|t[9],i[e(349)]=i[e(349)]<<16|t[10]<<8|t[11],i.general_level_idc=t[12],i[e(451)]=(15&t[13])<<8|t[14],i[e(426)]=3&t[15],i.chromaFormat=3&t[16],i.bitDepthLumaMinus8=7&t[17],i[e(375)]=7&t[18],i[e(455)]=t[19]<<8|t[20],i[e(461)]=t[21]>>6&3,i[e(433)]=t[21]>>3&7,i[e(437)]=t[21]>>2&1,i[e(388)]=3&t[21];let r=t[22],n=t[e(383)](23);for(let t=0;t0)for(let e=s;e<8;e++)t[i(448)](2);r[i(406)]=[],r[i(405)]=[],r.sub_layer_profile_idc=[],r[i(431)]=[],r.sub_layer_progressive_source_flag=[],r[i(367)]=[],r[i(466)]=[],r.sub_layer_frame_only_constraint_flag=[],r[i(345)]=[];for(let e=0;e{const e=Ga;let s=Va(t),i=new se(s);return i[e(427)](),i.readByte(),i[e(420)](4),i.readBits(2),i[e(420)](6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}})(s),a=(t=>{const e=Ga;let s=Va(t),i=new se(s);i[e(427)](),i[e(427)]();let r=0,n=0,o=0,a=0;i[e(420)](4);let h=i[e(420)](3);i[e(421)]();let c=i[e(420)](2),l=i[e(421)](),d=i[e(420)](5),u=i.readByte(),p=i[e(427)](),f=i.readByte(),m=i[e(427)](),g=i[e(427)](),A=i[e(427)](),y=i[e(427)](),b=i[e(427)](),v=i[e(427)](),S=i[e(427)](),w=i[e(427)](),E=[],I=[];for(let t=0;t0)for(let t=h;t<8;t++)i[e(420)](2);for(let t=0;t1&&i.readSEG();for(let t=0;t0&&t<16?(M=s[t-1],F=r[t-1]):255===t&&(M=i[e(420)](16),F=i[e(420)](16))}if(i[e(421)]()&&i[e(421)](),i[e(421)]()&&(i[e(420)](3),i[e(421)](),i[e(421)]()&&(i[e(427)](),i.readByte(),i[e(427)]())),i[e(421)]()&&(i[e(432)](),i[e(432)]()),i[e(421)](),i.readBool(),i.readBool(),P=i.readBool(),P&&(r+=i[e(432)](),n+=i[e(432)](),o+=i[e(432)](),a+=i[e(432)]()),i[e(421)]()&&(U=i[e(420)](32),j=i[e(420)](32),i[e(421)]()&&(i.readUEG(),i[e(421)]()))){let t=!1,s=!1,r=!1;t=i[e(421)](),s=i[e(421)](),(t||s)&&(r=i[e(421)](),r&&(i[e(427)](),i[e(420)](5),i[e(421)](),i[e(420)](5)),i.readBits(4),i[e(420)](4),r&&i[e(420)](4),i[e(420)](5),i[e(420)](5),i.readBits(5));for(let n=0;n<=h;n++){let n=i[e(421)]();O=n;let o=!1,a=1;!n&&(o=i[e(421)]());let h=!1;if(o?i[e(437)]():h=i.readBool(),!h&&(cpbcnt=i.readUEG()+1),t)for(let t=0;t{const e=Ga;let s=Va(t),i=new se(s);i[e(427)](),i.readByte(),i[e(432)](),i[e(432)](),i.readBool(),i[e(421)](),i[e(420)](3),i[e(421)](),i[e(421)](),i.readUEG(),i.readUEG(),i[e(437)](),i[e(421)](),i[e(421)](),i[e(421)]()&&i[e(432)](),i[e(437)](),i[e(437)](),i[e(421)](),i[e(421)](),i[e(421)](),i[e(421)]();let r=i[e(421)](),n=i.readBool(),o=1;return n&&r?o=0:n?o=3:r&&(o=2),{parallelismType:o}})(i);n=Object.assign(n,o,a,h);let c=23+(5+s[e(462)])+(5+r.byteLength)+(5+i[e(462)]),l=new Uint8Array(c);l[0]=1,l[1]=(3&n.general_profile_space)<<6|(n[e(442)]?1:0)<<5|31&n[e(430)],l[2]=n[e(414)]||0,l[3]=n.general_profile_compatibility_flags_2||0,l[4]=n[e(419)]||0,l[5]=n[e(403)]||0,l[6]=n[e(447)]||0,l[7]=n[e(409)]||0,l[8]=n[e(334)]||0,l[9]=n[e(361)]||0,l[10]=n[e(472)]||0,l[11]=n[e(336)]||0,l[12]=60,l[13]=240|(3840&n[e(451)])>>8,l[14]=255&n[e(451)],l[15]=252|3&n[e(426)],l[16]=252|3&n[e(360)],l[17]=248|7&n[e(399)],l[18]=248|7&n[e(410)],l[19]=0,l[20]=0,l[21]=(3&n.constant_frame_rate)<<6|(7&n[e(373)])<<3|(n[e(338)]?1:0)<<2|3,l[22]=3,l[23]=128|Y.vps,l[24]=0,l[25]=1,l[26]=(65280&s[e(462)])>>8,l[27]=(255&s[e(462)])>>0,l.set(s,28),l[23+(5+s[e(462)])+0]=128|Y.sps,l[23+(5+s[e(462)])+1]=0,l[23+(5+s[e(462)])+2]=1,l[23+(5+s[e(462)])+3]=(65280&r[e(462)])>>8,l[23+(5+s[e(462)])+4]=(255&r.byteLength)>>0,l[e(351)](r,23+(5+s[e(462)])+5),l[23+(5+s[e(462)]+5+r.byteLength)+0]=128|Y[e(344)],l[23+(5+s[e(462)]+5+r[e(462)])+1]=0,l[23+(5+s.byteLength+5+r[e(462)])+2]=1,l[23+(5+s.byteLength+5+r[e(462)])+3]=(65280&i.byteLength)>>8,l[23+(5+s[e(462)]+5+r.byteLength)+4]=(255&i[e(462)])>>0,l[e(351)](i,23+(5+s[e(462)]+5+r.byteLength)+5);const d=[28,0,0,0,0],u=new Uint8Array(d[e(413)]+l[e(462)]);return u.set(d,0),u[e(351)](l,d[e(413)]),u}function eh(t,e){const s=nh;let i=[];i[0]=e?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i.length+t.byteLength);return r[s(351)](i,0),r[s(351)](t,i[s(413)]),r}function sh(t){return(126&t[0])>>1}function ih(t){return!((e=t)>=32&&e<=40);var e}function rh(t){return t>=16&&t<=21}function nh(t,e){const s=$a();return(nh=function(t,e){return s[t-=329]})(t,e)}!function(t,e){const s=nh,i=t();for(;;)try{if(292358===-parseInt(s(402))/1*(parseInt(s(382))/2)+-parseInt(s(329))/3*(-parseInt(s(333))/4)+-parseInt(s(445))/5*(parseInt(s(411))/6)+-parseInt(s(407))/7*(-parseInt(s(331))/8)+-parseInt(s(390))/9+-parseInt(s(438))/10+parseInt(s(454))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}($a);class oh{constructor(t){const e=nh;this.data=t,this[e(352)]=!1,this[e(335)]=this[e(365)](0),this.eofFlag&&console[e(471)](e(424))}[qa(365)](t){const e=qa;let s=t,i=this[e(398)];for(;;){if(s+3>=i[e(462)])return this[e(352)]=!0,i[e(462)];let t=i[s+0]<<24|i[s+1]<<16|i[s+2]<<8|i[s+3],r=i[s+0]<<16|i[s+1]<<8|i[s+2];if(1===t||1===r)return s;s++}}readNextNaluPayload(){const t=qa;let e=this[t(398)],s=null;for(;null==s&&!this.eofFlag;){let i=this[t(335)];i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let r=e[i]>>1&63,n=(128&e[i])>>>7,o=this.findNextStartCodeOffset(i);this[t(335)]=o,0===n&&(s={type:r,data:e[t(428)](i,o)})}return s}}class ah{constructor(t){const e=qa;let s=t[e(398)].byteLength;this.type=t[e(459)],this[e(398)]=new Uint8Array(4+s),new DataView(this[e(398)].buffer)[e(417)](0,s),this[e(398)].set(t[e(398)],4)}}const hh=ch;function ch(t,e){const s=lh();return(ch=function(t,e){return s[t-=223]})(t,e)}function lh(){const t=["fileName","11928TQgTEd","codecId","player","presentWidth","assign","config","initMetaData","h264","handleAddNaluTrack","pps","sampleRate","videoType","10883864MIOaEB","depth","slice","codec","getToTalByteLength","AAC","15191676eEBReV","1596968pdAvEf","originalCodec","channelCount","timescale","setFileName","TAG_NAME","initAudioAacExtraData","presentHeight","_reset","2210zpbFUx","metaInfo","isH264","audioMetaInfo","46anYnkO","extraData","recorderCommon","sps","10120050DviGgh","stopRecordAndSave","handleAddTrack","_recordingTimestamp","codecHeight","refSampleDuration","13202mEbIdk","codecWidth","audioCodeId","153942CVTAJU","recordingInterval","destroy","3234bajQVL","avcc","vps","stopRecordingInterval","_isRecording"];return(lh=function(){return t})()}!function(t,e){const s=ch,i=t();for(;;)try{if(896894===-parseInt(s(248))/1+-parseInt(s(261))/2*(parseInt(s(274))/3)+-parseInt(s(229))/4*(-parseInt(s(257))/5)+-parseInt(s(223))/6*(-parseInt(s(271))/7)+-parseInt(s(241))/8+parseInt(s(247))/9+parseInt(s(265))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lh);class dh extends mi{constructor(t){const e=ch;super(),this[e(253)]=e(263),this[e(231)]=t,this[e(228)]="",this[e(227)]=!1,this[e(268)]=0,this.recordingInterval=null,this[e(264)]=null,this.pps=null,this.vps=null,this.codecId=null,this[e(273)]=null,this[e(258)]={codecWidth:0,codecHeight:0,presentWidth:0,presentHeight:0,refSampleDuration:0,timescale:1e3,avcc:null,videoType:""},this.audioMetaInfo={timescale:1e3,sampleRate:0,refSampleDuration:0,channelCount:0,codec:"",originalCodec:"",audioType:"",extraData:new Uint8Array(0)}}[hh(276)](){const t=hh;this[t(256)](),this.sps=null,this.pps=null,this.vps=null,this[t(230)]=null,this.audioCodeId=null,this[t(258)]=null,this[t(260)]=null}get[hh(259)](){const t=hh;return this[t(230)]===z[t(236)]}get isH265(){return this.codecId===z.h265}[hh(252)](t){this[hh(228)]=t}get isRecording(){return this._isRecording}get recording(){return this[hh(227)]}get recordTime(){return this[hh(268)]}startRecord(){}[hh(237)](t,e,s,i){}handleAddAudioTrack(t,e){}[hh(267)](t){}[hh(266)](){}startRecordingInterval(){}isWasmMp4(){return!1}[hh(226)](){const t=hh;this[t(275)]&&clearInterval(this[t(275)]),this[t(275)]=null}[hh(245)](){return 0}[hh(256)](){const t=hh;this[t(228)]="",this[t(227)]=!1,this._recordingTimestamp=0,this[t(226)]()}[hh(235)](t,e){const s=hh;let i;const r=t[s(243)](5);if(this[s(230)]=e,this[s(258)][s(224)]=r,e===z[s(236)])i=Ta(r);else if(e===z.h265){i=function(t){const e=nh;let s=23;const i=t[s];if((63&i)!==Y[e(374)])return console.warn(e(339)+i),{};s+=2,s+=1;const r=t[s+1]|t[s]<<8;s+=2;const n=t[e(383)](s,s+r);s+=r;const o=t[s];if((63&o)!==Y.sps)return console[e(423)]("parseHEVCDecoderVPSAndSPSAndPPS and sps tag is "+o),{};s+=2,s+=1;const a=t[s+1]|t[s]<<8;s+=2;const h=t.slice(s,s+a);s+=a;const c=t[s];if((63&c)!==Y[e(344)])return console[e(423)](e(337)+c),{};s+=2,s+=1;const l=t[s+1]|t[s]<<8;s+=2;const d=t[e(383)](s,s+l),u=new Uint8Array([a>>>24&255,a>>>16&255,a>>>8&255,255&a]),p=new Uint8Array([l>>>24&255,l>>>16&255,l>>>8&255,255&l]),f=new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r]),m=new Uint8Array(a+4);m[e(351)](u,0),m[e(351)](h,4);const g=new Uint8Array(l+4);g[e(351)](p,0),g[e(351)](d,4);const A=new Uint8Array(r+4);return A[e(351)](f,0),A.set(n,4),{sps:m,pps:g,vps:A}}(r);const e=Ja(t);i=Object[s(233)](i,e)}i&&(i.vps&&(this[s(225)]=i[s(225)]),i[s(238)]&&(this[s(238)]=i[s(238)]),i[s(264)]&&(this[s(264)]=i.sps),i.presentWidth&&(this[s(258)].presentWidth=i[s(232)]),i[s(255)]&&(this.metaInfo[s(255)]=i[s(255)]),i[s(272)]&&(this[s(258)][s(272)]=i[s(272)]),i[s(269)]&&(this[s(258)][s(269)]=i.codecHeight),i.timescale&&(this.metaInfo[s(251)]=i[s(251)]),i.refSampleDuration&&(this.metaInfo[s(270)]=i.refSampleDuration),i[s(240)]&&(this[s(258)][s(240)]=i.videoType))}initAudioMetaData(t,e){const s=hh;this[s(273)]=e;const i=t[0]>>1&1;let r=null;e===H[s(246)]?(r=function(t){const e=ie;let s={},i=new ge(t);return i[e(426)](16),s[e(438)]=Ae(i),s[e(467)]=ye(i,s),s[e(451)]=i.read(4),s[e(451)]{const h=e;n[h(398)]=function(t){const e=h;i[e(455)](this[e(449)]).forEach((function(t){s[e(426)](t)})),s[e(402)]();const n=r[e(439)](s.metadatas,s[e(454)],s[e(365)]),a=this.result[e(387)](s[e(412)]),c=new Blob([n,a],{type:e(397)});o(c)},n[h(419)](t)}))}[ph(359)](){const t=ph,e={type:t(460),mimeType:t(364),timeSlice:1e3,onTimeStamp:e=>{const s=t;this[s(389)]&&this.player[s(427)](s(384),s(360)+e),null===this[s(405)]&&(this[s(405)]=e),this[s(450)]=(e-this[s(405)])/1e3},ondataavailable:e=>{const s=t;this.totalByteLength+=e[s(446)],this.player&&this[s(389)][s(427)](s(384),"ondataavailable",e[s(446)])},disableLogs:!this[t(389)][t(456)][t(467)]};try{let s=null;if(this[t(389)][t(424)]()===f.canvas)s=this[t(389)][t(460)][t(410)].captureStream(25),this[t(389)].debugLog(this[t(414)],"startRecord and render type is canvas and use captureStream");else if(this[t(389)][t(460)][t(434)])s=this[t(389)].video[t(434)],this[t(389)][t(427)](this[t(414)],t(416));else{if(Js(this[t(368)]()))return void this[t(389)].emitError(B[t(379)],"startCanvasRender error");this[t(389)][t(432)]()||this[t(389)][t(456)][t(408)]||this[t(389)][t(456)][t(371)]?s=this[t(369)][t(471)](25):this[t(389)][t(367)]()?s=this[t(389)][t(462)].videoStream:this[t(389)][t(380)]()&&(s=this[t(369)][t(471)](25)),this[t(389)].debugLog(this[t(414)],"startRecord and use local canvas render video and captureStream")}if(!s)return this[t(389)].debugError(t(384),t(448)),void this[t(389)].emitError(B[t(379)],t(440));if(this[t(389)][t(463)]&&this[t(389)][t(463)].mediaStreamAudioDestinationNode&&this[t(389)][t(463)][t(382)].stream&&!this[t(389)][t(463)][t(433)]()&&this[t(389)][t(463)][t(423)]&&this[t(389)]._opt[t(423)]){const e=this[t(389)][t(463)][t(382)][t(420)];if(e.getAudioTracks()[t(438)]>0){const i=e.getAudioTracks()[0];i&&i.enabled&&s[t(372)](i)}}this.recorder=ca(s,e)}catch(e){return this[t(389)][t(469)](t(384),"startRecord error",e),void this[t(389)][t(390)](B[t(379)],e)}this[t(363)]&&(this[t(395)]=!0,this[t(389)][t(457)](B[t(375)],!0),this[t(363)].startRecording(),this[t(389)][t(427)]("RecorderRTC",t(445)),this[t(389)][t(457)](B[t(428)]),this[t(470)]())}[ph(470)](){const t=ph;this[t(399)](),this.recordingInterval=window[t(451)]((()=>{const e=t;this[e(389)][e(457)](B[e(411)],this[e(450)])}),1e3)}stopRecordAndSave(){const t=ph;let e=arguments[t(438)]>0&&void 0!==arguments[0]?arguments[0]:N[t(378)],s=arguments.length>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;(!this.recorder||!this._isRecording)&&r(n(361)),s&&this[n(452)](s),this.recorder[n(435)]((()=>{const t=n;this.player[t(427)](t(384),"stop recording");const s=(this.fileName||Be())+"."+l.webm;if(this[t(389)][t(456)][t(443)]);else{if(e===N.blob){const e=this[t(363)][t(441)]();i(e),this[t(389)][t(457)](B[t(409)],e)}else i(),this.recorder.save(s);this.player.emit(B[t(388)]),this[t(396)](),this[t(389)][t(457)](B.recording,!1)}}))}))}[ph(418)](){return new Promise(((t,e)=>{const s=fh;if(this[s(389)][s(427)](this[s(414)],s(431)),!this[s(363)]||!this._isRecording)return t();this[s(363)].stopRecording((()=>{const e=s;this[e(396)](),this[e(389)][e(457)](B[e(375)],!1),this[e(389)][e(457)](B[e(429)]),t()}))}))}[ph(376)](){return this.totalByteLength}getTotalDuration(){return this.recordTime}[ph(385)](){return l[ph(422)]}initMetaData(){}_startCanvasRender(){const t=ph;return this[t(417)](),this[t(369)]?(ei()?(this.player[t(427)](this[t(414)],t(392)),this[t(458)]=this[t(389)].video.$videoElement[t(444)](this[t(381)][t(415)](this))):(this[t(389)].debugLog(this[t(414)],t(374)),this[t(461)](),this[t(464)]=setInterval((()=>{const e=t;this[e(407)]&&this[e(407)].drawImage(this[e(389)][e(460)][e(410)],0,0,this[e(369)].width,this[e(369)][e(453)])}),40)),!0):(this[t(389)][t(469)](this[t(414)],t(447)),!1)}[ph(417)](){const t=ph,e=this.player[t(436)]();!this.canvasElement&&e&&(this[t(369)]=document[t(400)](t(406)),this[t(407)]=this[t(369)][t(413)]("2d"),e[t(404)]&&e[t(453)]&&(this[t(369)].width=e[t(404)],this[t(369)][t(453)]=e[t(453)]))}[ph(459)](){const t=ph;this[t(407)]&&(this[t(407)].clearRect(0,0,this.canvasElement.width,this[t(369)].height),this[t(407)]=null),this[t(369)]&&(this[t(369)][t(404)]=0,this[t(369)].height=0,this.canvasElement=null)}_stopCanvasRender(){this[ph(464)]&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}_stopSupportVideoFrameCallback(){const t=ph;this[t(458)]&&this.player[t(460)][t(410)]&&(this.player.video.$videoElement[t(377)](this.supportVideoFrameCallbackHandle),this[t(458)]=null)}[ph(381)](){const t=ph;this[t(389)][t(366)]()?this[t(389)][t(427)](this[t(414)],t(430)):(this.canvasElementCtx&&this[t(407)].drawImage(this.player[t(460)][t(410)],0,0,this[t(369)][t(404)],this[t(369)].height),this[t(458)]=this.player[t(460)][t(410)][t(444)](this[t(381)][t(415)](this)))}}const gh=Ah;function Ah(t,e){const s=bh();return(Ah=function(t,e){return s[t-=262]})(t,e)}!function(t,e){const s=Ah,i=t();for(;;)try{if(224148===parseInt(s(289))/1*(parseInt(s(287))/2)+-parseInt(s(267))/3+-parseInt(s(304))/4*(parseInt(s(362))/5)+-parseInt(s(315))/6*(-parseInt(s(349))/7)+-parseInt(s(302))/8*(parseInt(s(262))/9)+-parseInt(s(264))/10*(parseInt(s(288))/11)+parseInt(s(350))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bh);class yh{static init(){const t=Ah;yh[t(364)]={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],free:[],edts:[],elst:[],stss:[]};for(let e in yh[t(364)])yh.types[t(312)](e)&&(yh[t(364)][e]=[e[t(269)](0),e.charCodeAt(1),e.charCodeAt(2),e[t(269)](3)]);let e=yh[t(347)]={};e.FTYP=new Uint8Array([105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,97,118,99,49,109,112,52,49,0,0,0,0]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e[t(311)]=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e[t(297)]=e.STTS,e[t(298)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e[t(265)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e[t(354)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e[t(271)]=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(290)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[gh(310)](t){const e=gh;let s=8,i=null,r=Array.prototype[e(307)].call(arguments,1),n=r.length;for(let t=0;t>>24&255,i[1]=s>>>16&255,i[2]=s>>>8&255,i[3]=255&s,i[e(338)](t,4);let o=8;for(let t=0;t=Math[i(332)](2,32)-1?(o=16,a=new Uint8Array(s+o),a[i(338)](new Uint8Array([0,0,0,1]),0),a[i(338)](yh.types[i(316)],4),a[i(338)](new Uint8Array([s+8>>>56&255,s+8>>>48&255,s+8>>>40&255,s+8>>>32&255,s+8>>>24&255,s+8>>>16&255,s+8>>>8&255,s+8&255]),8)):(a=new Uint8Array(s+o),a[0]=s+8>>>24&255,a[1]=s+8>>>16&255,a[2]=s+8>>>8&255,a[3]=s+8&255,a[i(338)](yh.types[i(316)],4));for(let t=0;t>>24&255,t>>>16&255,t>>>8&255,255&t,e>>>24&255,e>>>16&255,e>>>8&255,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3]))}static[gh(328)](t){const e=gh;return yh.box(yh[e(364)][e(328)],yh.tkhd(t),yh[e(300)](t))}static[gh(330)](t){const e=gh;let s=t.id,i=t.duration,r=t[e(293)],n=t.presentHeight;return t[e(324)]===e(357)?yh.box(yh.types[e(330)],new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,n>>>8&255,255&n,0,0])):t.type===e(270)?yh.box(yh.types[e(330)],new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0])):void 0}static[gh(266)](t,e){const s=gh;return yh[s(310)](yh[s(364)][s(266)],yh.elst(t,e))}static[gh(318)](t,e){const s=gh;let i=0;for(let r=0;r>>24&255,i>>>16&255,i>>>8&255,255&i,255,255,255,255,0,1,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,1,0,0]))}static[gh(300)](t){const e=gh;return yh.box(yh[e(364)].mdia,yh.mdhd(t),yh[e(306)](t),yh.minf(t))}static[gh(279)](t){const e=gh;let s=t[e(334)]/t.refSampleDuration,i=s*t[e(320)]/t[e(334)];return yh[e(310)](yh[e(364)][e(279)],new Uint8Array([0,0,0,0,206,186,253,168,206,186,253,168,s>>>24&255,s>>>16&255,s>>>8&255,255&s,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(t){const e=gh;let s=null;return s="audio"===t[e(324)]?yh[e(347)][e(354)]:yh[e(347)].HDLR_VIDEO,yh.box(yh[e(364)][e(306)],s)}static[gh(359)](t){const e=gh;let s=null;return s=t[e(324)]===e(270)?yh[e(310)](yh[e(364)][e(329)],yh.constants.SMHD):yh[e(310)](yh.types[e(327)],yh[e(347)][e(290)]),yh.box(yh[e(364)][e(359)],s,yh[e(263)](),yh[e(284)](t))}static[gh(263)](){const t=gh;return yh[t(310)](yh[t(364)][t(263)],yh[t(310)](yh.types[t(326)],yh[t(347)][t(323)]))}static[gh(284)](t){const e=gh;let s=t[e(285)],i=[{No:1,num:0,sampleDelte:1,chunkNo:1,duration:s[0][e(320)]}],r=[s[0][e(320)]],n=s[e(278)];for(let t=0;t>>24&255,s>>>16&255,s>>>8&255,255&s]),r=i.byteLength,n=new Uint8Array(r+8*s);n[e(338)](i,0);for(let i=0;i>>24&255,t[i][e(336)]>>>16&255,t[i][e(336)]>>>8&255,255&t[i][e(336)],t[i][e(356)]>>>24&255,t[i][e(356)]>>>16&255,t[i][e(356)]>>>8&255,255&t[i].sampleDelte]),r),r+=8;return yh[e(310)](yh[e(364)][e(314)],n)}static stss(t){const e=gh;let s=[],i=t[e(278)];for(let r=0;r>>24&255,r>>>16&255,r>>>8&255,255&r]),o=n[e(360)],a=new Uint8Array(o+4*r);a[e(338)](n,0);for(let t=0;t>>24&255,s[t]>>>16&255,s[t]>>>8&255,255&s[t]]),o),o+=4;return yh[e(310)](yh[e(364)].stss,a)}static stsc(t){const e=gh;let s=t[e(278)],i=new Uint8Array([0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s]),r=i.byteLength,n=new Uint8Array(r+12*s);n.set(i,0);for(let i=0;i>>24&255,s>>>16&255,s>>>8&255,255&s,o>>>24&255,o>>>16&255,o>>>8&255,255&o,a>>>24&255,a>>>16&255,a>>>8&255,255&a]),r),r+=12}return yh[e(310)](yh[e(364)][e(277)],n)}static[gh(340)](t){const e=gh;let s=t[e(278)],i=new Uint8Array([0,0,0,0,0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s]),r=i.byteLength,n=new Uint8Array(r+4*s);n[e(338)](i,0);for(let i=0;i>>24&255,s>>>16&255,s>>>8&255,255&s]),r),r+=4}return yh[e(310)](yh.types[e(340)],n)}static[gh(322)](t,e){const s=gh;let i=e[0].chunkOffset;return yh[s(310)](yh[s(364)].stco,new Uint8Array([0,0,0,0,0,0,0,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i]))}static[gh(365)](t){const e=gh;return"audio"===t[e(324)]?t[e(294)]===e(308)?yh.box(yh.types[e(365)],yh[e(347)][e(282)],yh[e(308)](t)):yh.box(yh.types.stsd,yh[e(347)][e(282)],yh[e(309)](t)):t[e(301)]===e(345)?yh.box(yh[e(364)][e(365)],yh[e(347)].STSD_PREFIX,yh.avc1(t)):yh[e(310)](yh[e(364)][e(365)],yh.constants[e(282)],yh[e(275)](t))}static[gh(308)](t){const e=gh;let s=t[e(344)],i=t.sampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return yh[e(310)](yh[e(364)][e(268)],r)}static[gh(309)](t){const e=gh;let s=t[e(344)],i=t[e(280)],r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return yh[e(310)](yh[e(364)][e(309)],r,yh[e(325)](t))}static esds(t){const e=gh;let s=t.config||[],i=s[e(278)],r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5][e(299)]([i])[e(299)](s)[e(299)]([6,1,2]));return yh[e(310)](yh[e(364)][e(325)],r)}static[gh(276)](t){const e=gh;let s=t[e(313)],i=t[e(346)],r=t[e(281)],n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return yh[e(310)](yh[e(364)].avc1,n,yh[e(310)](yh[e(364)].avcC,s))}static[gh(275)](t){const e=gh;let s=t.avcc;const i=t[e(346)],r=t.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return yh[e(310)](yh.types[e(275)],n,yh.box(yh[e(364)].hvcC,s))}static[gh(321)](t){const e=gh;return yh[e(310)](yh[e(364)][e(321)],yh[e(292)](t))}static trex(t){let e=t.id,s=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return yh.box(yh.types.trex,s)}static[gh(358)](t,e){const s=gh;return yh[s(310)](yh.types.moof,yh[s(291)](t[s(305)]),yh[s(353)](t,e))}static[gh(291)](t){const e=gh;let s=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return yh[e(310)](yh[e(364)].mfhd,s)}static[gh(353)](t,e){const s=gh;let i=t.id,r=yh[s(310)](yh[s(364)][s(348)],new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),n=yh[s(310)](yh.types[s(343)],new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e])),o=yh[s(333)](t),a=yh.trun(t,o[s(360)]+16+16+8+16+8+8);return yh[s(310)](yh[s(364)][s(353)],r,n,a,o)}static[gh(333)](t){const e=gh;let s=t[e(285)]||[],i=s.length,r=new Uint8Array(4+i);for(let t=0;t>>24&255,r>>>16&255,r>>>8&255,255&r,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0);for(let t=0;t>>24&255,e>>>16&255,e>>>8&255,255&e,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n[s(283)]<<2|n[s(331)],n.isDependedOn<<6|n.hasRedundancy<<4|n[s(319)],0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12+16*t)}return yh[s(310)](yh[s(364)].trun,o)}static[gh(316)](t){const e=gh;return yh[e(310)](yh[e(364)][e(316)],t)}}function bh(){const t=["STTS","hasOwnProperty","avcc","stts","522ybXhPp","mdat","init","elst","isNonSync","duration","mvex","stco","DREF","type","esds","dref","vmhd","trak","smhd","tkhd","dependsOn","pow","sdtp","timescale","cts","num","refSampleDuration","set","indexOf","stsz","flags","isDependedOn","tfdt","channelCount","avc","codecWidth","constants","tfhd","26817LbISNi","1543500XOwQER","isKeyframe","chunkNo","traf","HDLR_AUDIO","hasRedundancy","sampleDelte","video","moof","minf","byteLength","generateInitSegment","160ypCsvm","stss","types","stsd","18sPzgrY","dinf","64370xXENHo","HDLR_VIDEO","edts","219171iUnHtf",".mp3","charCodeAt","audio","SMHD","ftyp","moov","data","hvc1","avc1","stsc","length","mdhd","sampleRate","codecHeight","STSD_PREFIX","isLeading","stbl","samples","push","2rylehS","638tRPdjw","297295PtJwzr","VMHD","mfhd","trex","presentWidth","codec","size","mvhd","STCO","STSZ","concat","mdia","videoType","191336NkCnrd","FTYP","5104EmPSrW","sequenceNumber","hdlr","slice","mp3","mp4a","box"];return(bh=function(){return t})()}function vh(t,e){const s=Sh();return(vh=function(t,e){return s[t-=224]})(t,e)}function Sh(){const t=["_isRecording","getToTalByteLength","set","vps","586675bMfZCY","audio","start recording","2739285YEiAEO","891881AsFSIe","recordingInterval","_reset","length","audioCacheTrack","originalDts","cts","sequenceNumber","recordBlob","isH264","isRecording","bufferList","emit","fileName","_handleAddFmp4AudioTrack","assign","player","debugError","stopRecordingInterval","4WTxZEC","totalByteLength","isKeyframe","duration","TAG_NAME","2038340szVndT","push","899718AnPAFb","metaInfo","isH265","setFileName","sps","recorderMP4","size","destroy","handleAddNaluTrack","2421560zuOcLS","stop recording fail, isRecording is false ","application/octet-stream","pps","debugLog","_startRecordingInterval","handleAddAudioTrack","pts","totalAudioByteLength","video","_handleAddFmp4Track, isRecording is false ","getTotalDuration","data","init","setInterval","35vSyNqJ","84GSJOeq","39290GxYqaj","audioMetaInfo","byteLength","stop recording","startRecord","_formatFmp4Track","audioSequenceNumber","_handleAddFmp4Track","_handleAddFmp4Track, is h264 and this.sps or this.pps is null ","mp4","totalDuration","generateInitSegment","cacheTrack","_formatAudioFmp4Track","audioBufferList","trackList length is ","stop recording fail, this.bufferList.length is 0 ","cancel recording","totalAudioDuration","recording","dts"];return(Sh=function(){return t})()}yh[gh(317)]();const wh=vh;!function(t,e){const s=vh,i=t();for(;;)try{if(496113===-parseInt(s(238))/1+-parseInt(s(290))/2*(-parseInt(s(289))/3)+-parseInt(s(257))/4*(parseInt(s(234))/5)+-parseInt(s(264))/6*(-parseInt(s(288))/7)+-parseInt(s(273))/8+parseInt(s(237))/9+parseInt(s(262))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Sh);class Eh extends dh{constructor(t){const e=vh;super(t),this[e(261)]=e(269),this._reset(),t.debugLog(this[e(261)],e(286))}[wh(271)](){const t=wh;super.destroy(),this._reset(),this[t(254)][t(277)](this[t(261)],t(271))}[wh(240)](){const t=wh;super[t(240)](),this.totalDuration=0,this[t(227)]=0,this[t(258)]=0,this[t(281)]=0,this[t(249)]=[],this.audioBufferList=[],this[t(302)]={},this[t(242)]={},this.sequenceNumber=0,this[t(296)]=0}[wh(294)](){const t=wh;this[t(230)]=!0,this[t(254)][t(250)](B[t(228)],!0),this[t(254)].debugLog(this[t(261)],t(236)),this[t(254)][t(250)](B.recordStart),this._startRecordingInterval()}[wh(278)](){const t=wh;this[t(256)](),this[t(239)]=window[t(287)]((()=>{const e=t;this[e(254)][e(250)](B.recordingTimestamp,this[e(284)]())}),1e3)}_formatFmp4Track(t,e,s,i){const r=wh;return{id:1,sequenceNumber:++this[r(245)],size:t[r(292)],dts:s,cts:i,isKeyframe:e,data:t,duration:0,flags:{isLeading:0,dependsOn:e?2:1,isDependedOn:e?1:0,hasRedundancy:0,isNonSync:e?0:1}}}[wh(303)](t,e){const s=wh;return{id:2,sequenceNumber:++this[s(296)],size:t[s(292)],dts:e,pts:e,cts:0,data:new Uint8Array(t),duration:0,originalDts:e,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}}[wh(272)](t,e,s,i){const r=wh;this[r(302)].id&&s>=this.cacheTrack.dts?(this[r(302)][r(260)]=s-this.cacheTrack[r(229)],this[r(297)](this.cacheTrack)):this[r(302)]={},this[r(302)]=this[r(295)](t,e,s,i)}[wh(279)](t,e){}[wh(297)](t){const e=wh;if(!this[e(248)])return void this.player[e(255)](this[e(261)],e(283));if((null===this[e(268)]||null===this[e(276)])&&this.isH264)return void this[e(254)][e(255)](this[e(261)],e(298));if((null===this.sps||null===this.pps||null===this.vps)&&this[e(266)])return void this.player[e(255)](this.TAG_NAME,"_handleAddFmp4Track, is h265 and this.sps or this.pps or this.vps is null ");const s=Object[e(253)]({},t);s[e(280)]=s[e(229)]+s[e(244)];const i=s[e(285)];if(s[e(259)])if(this[e(247)]){const t=new Uint8Array(this[e(268)].byteLength+this.pps[e(292)]);t.set(this[e(268)],0),t.set(this[e(276)],this[e(268)][e(292)]);const r=new Uint8Array(t.byteLength+i[e(292)]);r[e(232)](t,0),r.set(i,t[e(292)]),s[e(285)]=r}else if(this[e(266)]){const t=new Uint8Array(this[e(268)].byteLength+this[e(276)][e(292)]+this[e(233)][e(292)]);t[e(232)](this[e(233)],0),t.set(this.sps,this[e(233)][e(292)]),t.set(this[e(276)],this[e(233)][e(292)]+this[e(268)][e(292)]);const r=new Uint8Array(t[e(292)]+i[e(292)]);r.set(t,0),r[e(232)](i,t.byteLength),s[e(285)]=r}s[e(270)]=s[e(285)][e(292)],this.totalDuration+=s[e(260)],this[e(258)]+=s[e(285)].byteLength,s[e(260)]=0,s.originalDts=s[e(229)],delete s.id,delete s[e(245)],this.bufferList[e(263)](s)}[wh(252)](t){const e=wh,s=Object[e(253)]({},t);s[e(280)]=s[e(229)]+s.cts,s[e(270)]=s[e(285)][e(292)],this[e(227)]+=s.duration,this[e(281)]+=s[e(285)][e(292)],s[e(260)]=0,s[e(243)]=s.dts,delete s.id,delete s[e(245)],this[e(304)][e(263)](s)}[wh(284)](){return this[wh(300)]/1e3}getType(){return l[wh(299)]}[wh(231)](){return this[wh(258)]+this.totalAudioByteLength}stopRecordAndSave(){const t=wh;let e=arguments[t(241)]>0&&void 0!==arguments[0]?arguments[0]:N.download,s=arguments[t(241)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;if(!this[n(248)])return this[n(254)][n(255)](this.TAG_NAME,n(274)),r(n(274));if(0===this[n(249)][n(241)])return this.player[n(255)](this[n(261)],n(225)),r(n(225));s&&this[n(267)](s);const o={id:1,type:n(282),sps:this.sps,pps:this[n(276)],samples:this[n(249)],sequenceNumber:this.bufferList[n(241)],length:0,addSampleNum:1,duration:0,...this[n(265)]},a={id:2,type:n(235),sequenceNumber:this[n(304)][n(241)],samples:this[n(304)],...this[n(291)]},h=[o];a.samples[n(241)]>0&&h[n(263)](a),this[n(254)].debugLog(this[n(261)],n(224)+h.length);const c=yh[n(301)]({timescale:1e3,duration:this.totalDuration},h,this[n(258)]+this.totalAudioByteLength);this.player[n(277)](this[n(261)],n(293));const d=new Blob([c],{type:n(275)});if(e===N.blob)i(d),this[n(254)][n(250)](B[n(246)],d);else{i();os((this[n(251)]||Be())+"."+l.mp4,d)}this[n(240)](),this[n(254)][n(250)](B[n(228)],!1)}))}cancelRecord(){return new Promise(((t,e)=>{const s=vh;if(this[s(254)][s(277)](this[s(261)],s(226)),!this[s(248)])return t();this[s(240)](),this[s(254)][s(250)](B[s(228)],!1),this.player.emit(B.recordCancel),t()}))}_getBufferTs(t){}}function Ih(){const t=Th;for(var e=arguments[t(506)],s=new Array(e),i=0;i{const i=t,n=new r((0|e[i(505)])+(0|s[i(505)]));return n[i(517)](e,0),n.set(s,0|e.byteLength),n}),new r)}function Th(t,e){const s=kh();return(Th=function(t,e){return s[t-=499]})(t,e)}function kh(){const t=["constructor","9puwktj","2685154dKsYMd","56DNKNMd","1384596paRuSw","byteLength","length","158255qVRblD","9171HFamWx","reduce","toString","1289813qkreRx","186eCQGkN","substr","hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ","708303bDWjaO","12490DLtAZD","set","52481176GnbsZg"];return(kh=function(){return t})()}function _h(t){const e=Th;if((t=t.replace(/\s/g,""))[e(506)]%2!=0)return console.error(e(514),t.length),null;const s=new Uint8Array(t[e(506)]/2);for(let i=0;i{const e=t;this[e(145)][e(173)](B.recordingTimestamp,this[e(154)]())}),1e3)}[Ch(175)](t){this[Ch(148)]=t}[Ch(160)](t){this.aacSequenceHeader=t}[Ch(190)](t){this[Ch(151)]=t}[Ch(144)](t,e){const s=Ch;this[s(192)](e);const i=this[s(167)](e);this[s(188)]=!0,this._createBufferItem(t,D[s(129)],i)}[Ch(150)](t,e){const s=Ch;this[s(192)](e);const i=this[s(167)](e);this[s(185)]=!0,this[s(165)](t,D.audio,i)}[Ch(192)](t){const e=Ch;null===this[e(164)]&&this[e(137)]&&(this[e(164)]=t,this[e(145)][e(195)](this[e(189)],e(196)+t))}[Ch(167)](t){const e=Ch;t>this[e(176)]&&(this[e(176)]=t);let s=0;return this[e(164)]&&t>=this[e(164)]&&(s=t-this[e(164)]),s>this.prevTimestamp?this.prevTimestamp=s:s=this[e(143)],s}[Ch(165)](t,e,s){const i=Ch,r=this._createFlvPacket(t,e,s),n=this[i(132)](r);this.totalByteLength+=n.byteLength,this[i(179)][i(134)](n)}[Ch(132)](t){const e=Ch;let s=11+t.header[e(135)],i=new Uint8Array(s+4);i[0]=t[e(193)][e(182)];let r=new DataView(i[e(133)]);return i[1]=t[e(193)][e(135)]>>16&255,i[2]=t[e(193)][e(135)]>>8&255,i[3]=255&t[e(193)][e(135)],i[4]=t[e(193)][e(200)]>>16&255,i[5]=t[e(193)][e(200)]>>8&255,i[6]=255&t[e(193)].timestamp,i[7]=t[e(193)][e(200)]>>24&255,i[8]=0,i[9]=0,i[10]=0,r[e(178)](s,s),i[e(139)](t[e(146)].subarray(0,t[e(193)][e(135)]),11),i}[Ch(183)](){const t=Ch;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,s=arguments[t(135)]>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[t(135)]>2&&void 0!==arguments[2]?arguments[2]:0;return{header:{length:e?e[t(135)]:0,timestamp:i,type:s},payload:e}}[Ch(186)](){const t=Ch;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N[t(152)],s=arguments.length>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;if(!this[n(159)])return this.player[n(156)](this.TAG_NAME,"stop recording fail, isRecording is false "),r(n(158));if(0===this[n(179)].length)return this[n(145)][n(156)](this[n(189)],n(168)),r(n(168));s&&this.setFileName(s);const o=new Uint8Array([70,76,86,1,0,0,0,0,9,0,0,0,0]);this[n(188)]&&(o[4]|=1),this[n(185)]&&(o[4]|=4);let a=[o];if(this[n(148)]){const t=this[n(183)](this[n(148)],D[n(187)]),e=this[n(132)](t);a.push(e)}if(this.videoSequenceHeader){const t=this[n(183)](this[n(151)],D.video),e=this._createFlvTag(t);a[n(134)](e)}if(this[n(136)]){const t=this._createFlvPacket(this[n(136)],D.audio),e=this._createFlvTag(t);a.push(e)}const h=function(t){const e=Th,s=t[0][e(500)];return t[e(509)](((t,i)=>{const r=e,n=new s((0|t[r(505)])+(0|i.byteLength));return n[r(517)](t,0),n[r(517)](i,0|t[r(505)]),n}),new s)}(a[n(142)](this[n(179)]));this[n(145)][n(195)](this[n(189)],n(155));const c=new Blob([h],{type:n(199)});if(e===N[n(170)])i(c),this[n(145)].emit(B[n(198)],c);else{i();os((this[n(162)]||Be())+"."+l[n(153)],c)}this._reset(),this[n(145)][n(173)](B.recording,!1)}))}[Ch(180)](){return new Promise(((t,e)=>{const s=Dh;if(this[s(145)][s(195)](this[s(189)],"cancel recording"),!this[s(159)])return t();this[s(157)](),this[s(145)][s(173)](B[s(163)],!1),this.player[s(173)](B.recordCancel),t()}))}getTotalDuration(){const t=Ch;let e=0;return null!==this.startTime&&null!==this[t(176)]&&(e=this[t(176)]-this[t(164)]),Math[t(197)](e/1e3)}[Ch(149)](){return l[Ch(153)]}[Ch(166)](){return this.totalByteLength}}const xh=Bh;function Ph(){const t=["fisrtStartCodeOffset","10pOdSUs","stats","versionLayer","3806649lpCYBw","20Jootdb","reset","tempBuffer","2724246CAapGk","dispatch","state","1391045JuGEBj","slice","length","isDestroyed","findFirstStartCode","20482eDCLsZ","3240QyWPgr","findSecondStartCode","Init","21340022SuomHU","1863756uZBibf","parsedOffset","39TCJTED","init","data","secondStartCodeOffset","20538tvPior","set","player","off"];return(Ph=function(){return t})()}function Bh(t,e){const s=Ph();return(Bh=function(t,e){return s[t-=457]})(t,e)}!function(t,e){const s=Bh,i=t();for(;;)try{if(892246===-parseInt(s(459))/1*(parseInt(s(483))/2)+parseInt(s(457))/3+parseInt(s(472))/4*(parseInt(s(478))/5)+parseInt(s(475))/6+-parseInt(s(463))/7*(-parseInt(s(484))/8)+-parseInt(s(471))/9+parseInt(s(468))/10*(-parseInt(s(487))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ph);const Mh={init:0,findFirstStartCode:1,findSecondStartCode:2};class Fh extends mi{constructor(t){const e=Bh;super(),this[e(465)]=t,this[e(481)]=!1,this[e(473)]()}destroy(){const t=Bh;this[t(481)]=!1,this[t(466)](),this[t(473)]()}[xh(473)](){const t=xh;this[t(469)]=Mh[t(460)],this[t(474)]=new Uint8Array(0),this[t(458)]=0,this[t(470)]=0}[xh(476)](t,e){const s=xh;let i=new Uint8Array(this[s(474)].length+t[s(480)]);for(i[s(464)](this[s(474)],0),i[s(464)](t,this.tempBuffer.length),this[s(474)]=i;!this[s(481)];){if(this[s(477)]==Mh[s(486)]){let t=!1;for(;this[s(474)][s(480)]-this.parsedOffset>=2&&!this[s(481)];)if(255==this.tempBuffer[this[s(458)]]){if(!(!1&this[s(474)][this[s(458)]+1])){this[s(470)]=this[s(474)][this.parsedOffset+1],this[s(477)]=Mh[s(482)],this[s(467)]=this[s(458)],this[s(458)]+=2,t=!0;break}this[s(458)]++}else this.parsedOffset++;if(t)continue;break}if(this[s(477)]==Mh[s(482)]){let t=!1;for(;this[s(474)][s(480)]-this[s(458)]>=2&&!this.isDestroyed;)if(255==this[s(474)][this.parsedOffset]){if(this[s(474)][this[s(458)]+1]==this[s(470)]){this[s(477)]=Mh[s(485)],this.secondStartCodeOffset=this[s(458)],this[s(458)]+=2,t=!0;break}this.parsedOffset++}else this[s(458)]++;if(t)continue;break}if(this[s(477)]==Mh[s(485)]){let t=this[s(474)][s(479)](this.fisrtStartCodeOffset,this[s(462)]);this.emit(s(461),t,e),this[s(474)]=this[s(474)][s(479)](this[s(462)]),this.fisrtStartCodeOffset=0,this[s(458)]=2,this.state=Mh.findFirstStartCode}}}}function Oh(t,e){const s=jh();return(Oh=function(t,e){return s[t-=291]})(t,e)}const Uh=Oh;function jh(){const t=["6QDmgMy","getTotalDuration","1258340IQogsn","audioCacheTrack","byteLength","mp4","cancel recording","isWasmMp4","wasmMp4RecorderStarted","setFileName","catch","stop recording fail, isRecording is false ","MP3","metaInfo","recordTime","cacheTrack","debugError","recordingTimestamp","payload","2084060fcQwdO","debugLevel","init","_isRecording","stopRecord error","dts","wasmMp4RecorderDecoder","avcc","recording","blob","push","isRecording","16sCoWbx","getVideoInfo","_recordingTimestamp","finally","1051379iNOUFl","depth","cts","start recording","debugLog","_reset","isIFrame","JessibucaProMp4Recorder","519937omLsFA","forEach","sendAudioFrame","_opt","audioMetaInfo","audioCodeId","emitError","totalAudioDuration","stopRecord","audio","2673126UnfVIz","video","height","startRecordingInterval","_prevHandleAddNaluTrack","destroy","recordCreateError","stopRecordingInterval","startRecord error","hasAudio","wasmMp4Recorder","length","handleAddNaluTrack","setInterval","hasVideo","sampleRate","recorderWasmMP4","pendingVideoFrames","recordingInterval","pendingAudioFrames","startRecord","codecId","then","handleAddAudioTrack","TAG_NAME","stop recording fail, recording time is 0 ","160RrlSmM","1694286sfMFJv","_prevHandleAddAudioTrack","totalAudioByteLength","_handleAddAudioTrack","dispatch","recordStart","player","4149XEyjVX","emit","4KPCZjB","debug","encTypeCode","mp3Demuxer","recordBlob","duration","totalByteLength","channels"];return(jh=function(){return t})()}!function(t,e){const s=Oh,i=t();for(;;)try{if(456856===parseInt(s(309))/1*(parseInt(s(301))/2)+parseInt(s(302))/3+-parseInt(s(311))/4*(parseInt(s(321))/5)+parseInt(s(319))/6*(parseInt(s(354))/7)+-parseInt(s(350))/8*(parseInt(s(372))/9)+parseInt(s(338))/10+parseInt(s(362))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(jh);class Nh extends dh{constructor(t){const e=Oh;super(t),this[e(299)]=e(291),this[e(359)](),this[e(382)]=null,this[e(314)]=null,this.wasmMp4RecorderStarted=!1,this[e(294)]=[],this[e(292)]=[],t[e(358)](this.TAG_NAME,e(340))}[Uh(377)](){const t=Uh;super[t(377)](),this[t(314)]&&(this.mp3Demuxer[t(377)](),this[t(314)]=null),this._reset(),this[t(308)].debugLog(this[t(299)],t(377))}[Uh(359)](){const t=Uh;super._reset(),this.cacheTrack={},this[t(322)]={},this[t(369)]=0,this[t(317)]=0,this[t(304)]=0,this[t(381)]=!1,this[t(386)]=!1}getType(){return l[Uh(324)]}[Uh(326)](){return!0}[Uh(320)](){return this[Uh(352)]/1e3}getToTalByteLength(){return this[Uh(317)]+this.totalAudioByteLength}[Uh(295)](){const t=Uh,e=this[t(308)],s=this[t(308)].getAudioInfo(),i=this[t(308)][t(351)](),r={};if(this[t(296)]){const e={type:this.codecId,width:i.width,height:i[t(374)],extraData:this[t(332)][t(345)]};r[t(373)]=e,this[t(386)]=!0}if(s[t(313)]){const e={type:s.encTypeCode,sampleRate:s[t(387)],channels:s[t(318)],extraData:this[t(366)].extraData,depth:s[t(355)]};this[t(367)]=s[t(313)],r[t(371)]=e,this.hasAudio=!0}this[t(382)]=new(window[t(361)])({debug:e[t(365)][t(312)],debugLevel:e[t(365)][t(339)],debugUuid:e[t(365)].debugUuid,decoder:e._opt[t(344)]}),this[t(382)].on(t(336),(e=>{this[t(352)]=Math.round(e/1e3)})),this[t(341)]=!0,this[t(382)][t(295)](r)[t(297)]((()=>{const e=t;this.player[e(310)](B[e(346)],!0),this[e(327)]=!0,this[e(308)][e(358)](this.TAG_NAME,e(357)),this[e(308)].emit(B[e(307)]),this.startRecordingInterval()})).catch((e=>{const s=t;this[s(308)][s(335)](this[s(299)],s(380),e),this[s(308)][s(368)](B[s(378)],e)}))}[Uh(375)](){const t=Uh;this[t(379)](),this[t(293)]=window[t(385)]((()=>{const e=t;this[e(308)][e(310)](B[e(336)],this[e(333)])}),1e3)}stopRecordAndSave(){const t=Uh;let e=arguments[t(383)]>0&&void 0!==arguments[0]?arguments[0]:N.download,s=arguments[t(383)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;return this[n(349)]?0===this[n(352)]?(this[n(308)][n(335)](this[n(299)],n(300)),r("stop recording fail, recording time is 0 ")):(s&&this[n(328)](s),void this[n(382)][n(370)]()[n(297)]((t=>{const s=n;if(e===N[s(347)])i(t),this.player[s(310)](B[s(315)],t);else{i();os((this.fileName||Be())+"."+l[s(324)],t)}})).catch((t=>{const e=n;this.player[e(335)](this[e(299)],e(342),t),r(t)})).finally((()=>{const t=n;this[t(359)](),this[t(308)].emit(B[t(346)],!1)}))):(this[n(308)].debugError(this.TAG_NAME,n(330)),r(n(330)))}))}cancelRecord(){return new Promise(((t,e)=>{const s=Oh;if(this[s(308)][s(358)](this.TAG_NAME,s(325)),!this[s(349)]||0===this[s(352)])return t();this.wasmMp4Recorder[s(370)]()[s(297)]((e=>{t()}))[s(329)]((t=>{const i=s;this.player[i(335)](this[i(299)],"stopRecord error",t),e(t)}))[s(353)]((()=>{const t=s;this[t(359)](),this[t(308)].emit(B[t(346)],!1),this[t(308)][t(310)](B.recordCancel)}))}))}[Uh(298)](t,e){const s=Uh;Js(this.hasAudio)||(this[s(327)]?(this[s(294)][s(383)]>0&&(this.pendingAudioFrames.forEach((t=>{const e=s;this[e(303)](t[e(337)],t[e(343)])})),this[s(294)]=[]),this[s(303)](t,e)):this[s(294)][s(348)]({payload:t,dts:e}))}[Uh(303)](t,e){const s=Uh;this.audioCodeId===H[s(331)]?(!this[s(314)]&&(this.mp3Demuxer=new Fh(this.player),this[s(314)].on("data",((t,e)=>{this[s(305)](t,e)}))),this.mp3Demuxer[s(306)](t,e)):this[s(305)](t,e)}_handleAddAudioTrack(t,e){const s=Uh;this[s(322)].id&&e>=this.audioCacheTrack[s(343)]?(this[s(322)].duration=e-this[s(322)][s(343)],this[s(369)]+=this.audioCacheTrack.duration,this[s(304)]+=this[s(322)][s(337)][s(323)],this[s(382)][s(364)](this.audioCacheTrack[s(337)],this[s(322)][s(343)])):this.audioCacheTrack={},this[s(322)]={id:2,payload:t,dts:e}}[Uh(384)](t,e,s,i){const r=Uh;Js(this[r(386)])||(this[r(327)]?(this[r(292)][r(383)]>0&&(this[r(292)][r(363)]((t=>{const e=r;this[e(376)](t.payload,t[e(360)],t[e(343)],t[e(356)])})),this[r(292)]=[]),this[r(376)](t,e,s,i)):this[r(292)].push({payload:t,isIFrame:e,dts:s,cts:i}))}[Uh(376)](t,e,s,i){const r=Uh;this[r(334)].id&&s>=this.cacheTrack.dts?(this[r(334)][r(316)]=s-this.cacheTrack[r(343)],this.totalByteLength+=this[r(334)][r(337)].byteLength,this[r(382)].sendVideoFrame(this.cacheTrack[r(337)],this[r(334)][r(360)],this[r(334)].dts,this[r(334)][r(356)])):this[r(334)]={},this[r(334)]={id:1,payload:t,isIFrame:e,dts:s,cts:i}}}const Vh=Gh;!function(t,e){const s=Gh,i=t();for(;;)try{if(317049===-parseInt(s(359))/1*(-parseInt(s(350))/2)+parseInt(s(358))/3+-parseInt(s(361))/4*(-parseInt(s(351))/5)+parseInt(s(364))/6*(-parseInt(s(369))/7)+parseInt(s(366))/8+parseInt(s(365))/9*(-parseInt(s(360))/10)+parseInt(s(367))/11*(parseInt(s(354))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hh);class zh{constructor(t){const e=Gh;return new(zh[e(356)](t,t[e(368)]))(t)}static[Vh(356)](t,e){const s=Vh;if(t.isOldHls()||t[s(353)]()||t[s(363)]())return mh;if(e.recordType===l[s(355)]){if(e[s(362)]||e[s(349)]||e.useWCS)return window[s(357)]&&e[s(352)]?Nh:Eh}else if(e[s(348)]===l.flv)return Lh;return mh}}function Gh(t,e){const s=Hh();return(Gh=function(t,e){return s[t-=348]})(t,e)}function Hh(){const t=["useMSE","1037602NzqwcM","5QgTpmh","mp4RecordUseWasm","isWebrtcH264","684cWniRY","mp4","getLoaderFactory","JessibucaProMp4Recorder","14553VMXqmQ","1NsvQIF","1030sDrdyL","2427296rELpil","useWasm","isAliyunRtc","2064714PqDVVB","47340QCdtHz","294320fkGeHn","6886FPtKmF","_opt","7UZaiCU","recordType"];return(Hh=function(){return t})()}function Wh(t,e,s){let i=t;if(e+s=128){s.push(String[e(355)](65535&t)),r+=2;continue}}}else if(i[r]<240){if(Wh(i,r,2)){let t=(15&i[r])<<12|(63&i[r+1])<<6|63&i[r+2];if(t>=2048&&55296!=(63488&t)){s[e(347)](String[e(355)](65535&t)),r+=3;continue}}}else if(i[r]<248&&Wh(i,r,3)){let t=(7&i[r])<<18|(63&i[r+1])<<12|(63&i[r+2])<<6|63&i[r+3];if(t>65536&&t<1114112){t-=65536,s[e(347)](String.fromCharCode(t>>>10|55296)),s[e(347)](String[e(355)](1023&t|56320)),r+=4;continue}}s[e(347)](String[e(355)](65533)),++r}return s[e(352)]("")}function Qh(t,e){const s=Yh();return(Qh=function(t,e){return s[t-=347]})(t,e)}function Yh(){const t=["1007469bgReoD","61846sVmdbU","143GmtIWr","join","256nCiEsn","21490RWlIqW","fromCharCode","14106pDKGJA","210210zrsSHr","1308JVJtZb","390970IASMCm","540rOrdNs","length","push","303hzyvMx"];return(Yh=function(){return t})()}!function(t,e){const s=Qh,i=t();for(;;)try{if(155806===parseInt(s(350))/1+parseInt(s(357))/2+-parseInt(s(348))/3*(-parseInt(s(358))/4)+-parseInt(s(360))/5*(-parseInt(s(356))/6)+parseInt(s(354))/7*(parseInt(s(353))/8)+parseInt(s(349))/9+parseInt(s(359))/10*(-parseInt(s(351))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yh);const qh=Xh;function Jh(){const t=["parseDate","size","data","error","8518ULDiyv","12GAAYls","16430zYCNzT","AMF","getUint8","407JQAZUn","getFloat64","parseObject","1646949zXGXoR","value","toString","getUint32","654fjdvOb","1754776YRCoEq","getInt16","setInt16","parseLongString","83167PtxyBE","parseValue","1524140RUjhXq","parseString","26056789ElenXd","name","push","5670jYlPMT","parseVariable","warn","objectEnd","getUint16"];return(Jh=function(){return t})()}function Xh(t,e){const s=Jh();return(Xh=function(t,e){return s[t-=139]})(t,e)}!function(t,e){const s=Xh,i=t();for(;;)try{if(960295===parseInt(s(153))/1*(-parseInt(s(148))/2)+-parseInt(s(156))/3+parseInt(s(149))/4*(parseInt(s(167))/5)+-parseInt(s(160))/6*(parseInt(s(165))/7)+parseInt(s(161))/8+parseInt(s(139))/9*(parseInt(s(150))/10)+parseInt(s(169))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Jh);let Zh=function(){const t=Xh;let e=new ArrayBuffer(2);return new DataView(e)[t(163)](0,256,!0),256===new Int16Array(e)[0]}();class $h{static parseScriptData(t,e,s){const i=Xh;let r={};try{let n=$h[i(166)](t,e,s),o=$h[i(166)](t,e+n.size,s-n.size);r[n[i(146)]]=o[i(146)]}catch(t){console.error(i(151),t[i(158)]())}return r}static[qh(155)](t,e,s){const i=qh;let r=$h[i(168)](t,e,s),n=$h[i(166)](t,e+r[i(145)],s-r.size),o=n[i(142)];return{data:{name:r[i(146)],value:n[i(146)]},size:r[i(145)]+n[i(145)],objectEnd:o}}static[qh(140)](t,e,s){return $h[qh(155)](t,e,s)}static[qh(168)](t,e,s){const i=qh;let r,n=new DataView(t,e,s)[i(143)](0,!Zh);return r=n>0?Kh(new Uint8Array(t,e+2,n)):"",{data:r,size:2+n}}static[qh(164)](t,e,s){const i=qh;let r,n=new DataView(t,e,s)[i(159)](0,!Zh);return r=n>0?Kh(new Uint8Array(t,e+4,n)):"",{data:r,size:4+n}}static parseDate(t,e,s){const i=qh;let r=new DataView(t,e,s),n=r[i(154)](0,!Zh);return n+=60*r[i(162)](8,!Zh)*1e3,{data:new Date(n),size:10}}static[qh(166)](t,e,s){const i=qh;let r,n=new DataView(t,e,s),o=1,a=n[i(152)](0),h=!1;try{switch(a){case 0:r=n[i(154)](1,!Zh),o+=8;break;case 1:r=!!n[i(152)](1),o+=1;break;case 2:{let n=$h[i(168)](t,e+1,s-1);r=n[i(146)],o+=n.size;break}case 3:{r={};let a=0;for(9==(16777215&n[i(159)](s-4,!Zh))&&(a=3);o{const t=e;window[t(409)][t(329)](this[t(218)]),this[t(218)]=null,this[t(215)]=null}),I)}this.decoderWorker=new Worker(s),this[e(364)](),this._listenPlaybackEvents(),t[e(379)](e(184),"init and decoder url is "+s),t.on(B[e(396)],(()=>{const s=e;this[s(308)]({key:s(437),value:t.visibility})}))}destroy(){return new Promise(((t,e)=>{const s=ic;if(this[s(196)][s(251)])if(this[s(196)][s(379)]("decoderWorker",s(416)),this[s(184)]){const e={};this[s(196)][s(306)]()&&(e.isVideoInited=this[s(196)][s(382)]()),this[s(184)].postMessage({cmd:L[s(262)],options:e}),this[s(394)]=t,this[s(227)]=setTimeout((()=>{const e=s;this[e(196)][e(353)](e(184),e(428)),this[e(298)](),setTimeout((()=>{t()}),0)}),2e3)}else this[s(196)].debugWarn(s(184),"has loaded but decoderWorker is null and destroy directly"),this[s(298)](),setTimeout((()=>{t()}),0);else this[s(196)][s(379)](s(184),"has not loaded and destroy directly"),this[s(298)](),setTimeout((()=>{t()}),0)}))}[rc(298)](){const t=rc;this[t(227)]&&(clearTimeout(this[t(227)]),this[t(227)]=null),this[t(218)]&&(window[t(409)][t(329)](this[t(218)]),this.workerUrl=null),this[t(215)]&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.decoderWorker&&(this.decoderWorker[t(326)](),this[t(184)][t(380)]=null,this.decoderWorker[t(351)]=null,this.decoderWorker.onmessage=null,this[t(184)]=null),this[t(196)][t(379)](t(184),t(220)),this[t(394)]&&(this[t(394)](),this[t(394)]=null),this.isDestroyed=!0}_listenPlaybackEvents(){const t=rc;this[t(196)][t(249)]()&&(this[t(196)][t(379)](this[t(389)],t(252)),this.player.on(B[t(363)],(t=>{this.updatePlaybackIsPause(t)})))}[rc(364)](){const t=rc;this[t(196)],this[t(184)][t(380)]=e=>{const s=t,i=e[s(175)]||"",r=e[s(375)]||"",n=i&&(-1!==i[s(267)](s(323))||-1!==i[s(267)]("wasm://")),o=i&&-1!==i[s(267)](s(246));n&&o&&-1!==r[s(267)](_t[s(293)])?this[s(196)][s(379)]("decoderWorker",s(207)+i+",message: "+r,e):(this.player[s(425)]("decoderWorker","onerror filename: "+i+s(442)+r,e),n?this.player[s(423)](O.decoderWorkerWasmError,s(229)+i+s(442)+r):this[s(196)].emitError(O[s(331)],"filename: "+i+s(442)+r))},this[t(184)][t(351)]=e=>{const s=t;this.player.debugError(s(184),s(351),e)},this[t(184)][t(217)]=e=>{const s=t,i=e.data;switch(i.cmd){case C[s(203)]:this.player[s(379)]("decoderWorker",s(431),C[s(203)]),this.decoderWorker&&this[s(366)](),!this[s(196)][s(251)]&&this[s(196)].emit(B[s(283)]),this[s(196)][s(345)](B[s(294)]);break;case C.videoCode:this[s(196)][s(379)]("decoderWorker","onmessage:",C.videoCode,i.code),!this.player._times[s(386)]&&(this.player[s(337)][s(386)]=Be()),this.player[s(311)].updateVideoInfo({encTypeCode:i[s(234)]});break;case C[s(255)]:this[s(196)].debugLog("decoderWorker",s(431),C.videoCodec,i[s(235)]),this[s(196)].recorder&&this[s(196)][s(250)][s(173)](i[s(344)],i.codecId),this.player[s(311)][s(318)]({encTypeCode:i[s(235)]});break;case C.audioCode:this[s(196)][s(379)]("decoderWorker",s(431),C.audioCode,i[s(234)]),this[s(196)].audio&&this.player[s(324)][s(272)]({encTypeCode:i[s(234)]});break;case C[s(206)]:this.player[s(379)]("decoderWorker",s(431),C[s(206)]),this.player[s(250)]&&this[s(196)][s(250)][s(357)](i[s(344)]);break;case C.initVideo:if(this[s(196)].debugLog(s(184),s(431),C[s(185)],s(414)+i.w+s(286)+i.h),as(i.w)||as(i.h))return void this[s(196)][s(423)](O[s(332)],s(312)+i.w+s(381)+i.h+" is empty");if(this[s(196)][s(311)].bindMediaStream(),this.player[s(311)][s(318)]({width:i.w,height:i.h}),!this[s(196)]._opt[s(291)]&&i.w/2%4!=0&&this[s(196)][s(388)]()===f[s(412)])return void this.player[s(423)](O[s(370)]);this[s(196)][s(311)][s(201)](),this[s(196)][s(362)].playType===c[s(401)]?(this[s(196)][s(311)][s(231)](),this[s(196)][s(311)][s(399)]()):this[s(196)][s(183)]()&&(this[s(196)][s(311)][s(231)](),this.player[s(311)][s(399)]());break;case C[s(320)]:if(this[s(196)][s(379)](s(184),s(431),C.initAudio,s(219)+i[s(211)]+s(296)+i[s(279)]),i[s(211)]>2)return void this[s(196)][s(423)](O[s(432)],s(373)+i[s(211)]+s(367)+2);this[s(196)][s(324)]&&(this[s(196)][s(324)][s(272)](i),(this[s(196)][s(362)][s(417)]===c[s(196)]||this[s(196)][s(362)][s(417)]===c.playbackTF||this.player[s(183)]())&&this[s(196)][s(324)][s(213)]());break;case C[s(427)]:if(!this.player[s(311)])return void this[s(196)][s(353)](s(184),"onmessage render but video is null");if(this[s(196)][s(410)]()){if(Js(this[s(196)][s(311)][s(429)]()))return void this[s(196)][s(353)](s(184),s(189));this[s(196)][s(311)].render(i),this[s(196)][s(297)](),this[s(196)][s(345)](B.timeUpdate,i.ts),this[s(196)][s(209)]({dfps:!0,buf:i[s(392)]}),!this[s(196)][s(337)].videoStart&&(this.player[s(337)][s(263)]=Be(),this[s(196)].handlePlayToRenderTimes())}else if(this[s(196)].isPlayback())this[s(196)][s(209)]({dfps:!0}),Js(this.player[s(363)])?(this[s(196)][s(400)].isUseLocalCalculateTime&&this[s(196)].playback[s(408)](),this[s(196)][s(400)][s(365)]?this.player[s(311)][s(360)](i):this[s(196)].video[s(404)](i)):this[s(196)][s(400)][s(292)]()&&this.player[s(400)][s(365)]&&this[s(196)][s(311)][s(360)](i);else if(this.player[s(183)]())if(this[s(196)][s(223)].isSeeking()){const t=this[s(196)][s(223)].seekingTimestamp;Math[s(420)](i.ts-t)<500&&(this.player[s(223)].removeSeekingTimestamp(),this[s(196)][s(209)]({dfps:!0}),this[s(196)].video.render$2(i))}else this[s(196)][s(209)]({dfps:!0}),this[s(196)][s(311)][s(404)](i);break;case C[s(204)]:this[s(196)][s(250)]&&this[s(196)][s(250)][s(421)]&&this.player[s(362)][s(288)]===l[s(376)]&&this[s(196)][s(250)].handleAddNaluTrack(i.buffer,i[s(260)],i.ts,i[s(415)]);break;case C[s(256)]:this[s(196)][s(250)]&&this.player[s(250)][s(421)]&&this[s(196)][s(362)][s(288)]===l[s(376)]&&this[s(196)][s(250)][s(371)]()&&this[s(196)][s(250)][s(411)](i.buffer,i.ts);break;case C[s(393)]:const{webcodecsDecoder:t,mseDecoder:e}=this[s(196)];this[s(196)][s(209)]({buf:i[s(392)]});const r=new Uint8Array(i[s(266)]);this[s(196)][s(362)][s(225)]&&!this[s(196)][s(362)][s(391)]?t[s(195)](r,i.ts,i[s(260)],i[s(415)]):this.player._opt[s(212)]&&e[s(195)](r,i.ts,i[s(260)],i.cts);break;case C[s(426)]:if(this[s(196)][s(362)][s(212)]){const t=new Uint8Array(i[s(266)]);this[s(196)][s(199)][s(413)](t,i.ts,i.cts)}break;case C[s(347)]:if(!this.player[s(324)])return void this[s(196)][s(353)](s(184),s(407));if(this[s(196)][s(342)]&&this[s(196)][s(324)]||!this[s(196)].video)if(!this[s(196)]._opt[s(232)]&&this[s(196)][s(297)](),this[s(196)][s(362)][s(417)]===c.player)this[s(196)].audio.play(i[s(344)],i.ts);else if(this[s(196)][s(362)][s(417)]===c[s(401)])Js(this[s(196)][s(363)])?this[s(196)][s(324)][s(285)](i[s(344)],i.ts):this[s(196)].playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this[s(196)][s(400)][s(365)]&&this[s(196)][s(324)][s(285)](i.buffer,i.ts);else if(this.player[s(183)]()&&Js(this[s(196)][s(182)])){if(this[s(196)][s(223)][s(194)]())return;this.player.audio[s(285)](i.buffer,i.ts)}break;case C[s(397)]:if(i[s(316)]===B[s(314)])this[s(196)][s(434)]?this[s(196)][s(434)][s(345)](B[s(314)]):this.player[s(353)](s(184),s(197));else if(i.type===B.streamRate)this[s(196)][s(345)](B[s(216)],(i.value/1024)[s(177)](2));else if(i.type===B[s(328)])this[s(196)]?(i[s(180)]===h[s(403)]&&this.player[s(345)](B[s(430)],i[s(352)]),this[s(196)][s(434)]?this.player.stream[s(345)](B.streamEnd,i[s(352)]):this[s(196)][s(353)](s(184),s(359))):this[s(196)][s(353)](s(184),s(358));else if(i.type===B[s(258)])this.player[s(313)]();else if(i[s(316)]===O.websocketError)this[s(196)]&&this[s(196)][s(434)]?this[s(196)].stream.emit(O.websocketError,i[s(180)]):this.player[s(353)](s(184),s(339));else if(i.type===O[s(418)])this[s(196)]&&this[s(196)][s(434)]?this[s(196)].stream[s(345)](O.fetchError,i[s(180)]):this[s(196)][s(353)](s(184),s(179));else if(i[s(316)]===B[s(270)])this[s(196)][s(209)]({abps:i[s(180)]});else if(i[s(316)]===B.streamVbps)!this[s(196)]._times[s(435)]&&(this[s(196)]._times.demuxStart=Be()),this[s(196)][s(209)]({vbps:i[s(180)]});else if(i.type===B[s(349)])this[s(196)][s(209)]({dts:i[s(180)]});else if(i.type===B[s(187)])this[s(196)][s(209)]({netBuf:i[s(180)]});else if(i[s(316)]===B.networkDelayTimeout)this[s(196)].emit(B.networkDelayTimeout,i.value);else if(i[s(316)]===B[s(287)]){const t=JSON[s(273)](i[s(180)]);this[s(196)][s(209)]({workerStats:t})}else i.type===B[s(368)]&&this[s(196)].emit(B[s(368)]);break;case C[s(398)]:this[s(196)]&&(this[s(196)][s(261)]=i.value);break;case C[s(277)]:this[s(196)]&&this[s(196)][s(209)]({isDropping:!0});break;case C.checkFirstIFrame:this[s(196)].decoderCheckFirstIFrame();break;case C[s(439)]:this[s(196)]&&this[s(196)][s(311)]&&this[s(196)][s(311)][s(210)](i[s(180)]);break;case C[s(387)]:this[s(196)][s(423)](O[s(387)],i[s(180)]);break;case C[s(193)]:this[s(196)].emitError(O[s(193)],i[s(180)]);break;case C.simdDecodeError:this[s(196)][s(423)](O[s(275)]);break;case C[s(346)]:this[s(196)][s(379)](s(184),s(431),C[s(346)]),this[s(196)].destroy(),console[s(240)]("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),alert("Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"),window[s(440)][s(284)]();break;case C[s(276)]:this[s(196)].debugLog(s(184),s(431),C[s(276)]),this._destroy();break;case C[s(208)]:this[s(196)]&&this[s(196)][s(378)](i.buffer);break;case C[s(186)]:this[s(196)]&&this[s(196)].emitVideoSei({ts:i.ts,data:new Uint8Array(i[s(344)])});break;case C[s(402)]:if(this[s(196)]){if(this[s(196)][s(395)]()){const t=new Uint8Array(i[s(344)]);this[s(196)][s(250)][s(190)](t)}const t=sc(new Uint8Array(i[s(344)]));t&&t[s(301)]&&this[s(196)].updateMetaData(t[s(301)])}break;case C[s(309)]:if(this.player&&this[s(196)].isRecordTypeFlv()){const t=new Uint8Array(i[s(344)]);this[s(196)].recorder[s(290)](t,i.ts)}break;case C[s(265)]:if(this[s(196)]&&this[s(196)][s(395)]()){const t=new Uint8Array(i[s(344)]);this[s(196)][s(250)][s(348)](t,i.ts)}break;case C[s(289)]:if(this.player&&this[s(196)].isRecordTypeFlv()&&this[s(196)][s(245)]){const t=new Uint8Array(i.buffer);i[s(316)]===R[s(311)]?this.player[s(250)][s(200)](t,i.ts):i[s(316)]===R[s(324)]&&this[s(196)][s(250)].addAudio(t,i.ts)}break;case C[s(356)]:this[s(196)]&&(this[s(196)].debugLog(s(184),"onmessage:",C[s(356)]),this[s(196)].video[s(340)].srcObject=i[s(356)]);break;case C[s(192)]:this[s(196)]&&(this[s(196)][s(379)](s(184),s(431),C[s(192)],i[s(180)]),this[s(196)][s(253)][s(202)]=Number(i[s(180)]));break;case C[s(372)]:this[s(196)]&&(this[s(196)][s(379)](s(184),"onmessage:",C[s(372)],i[s(180)],i.msg),this[s(196)][s(423)](i[s(180)],i[s(352)]));break;case C[s(244)]:this[s(196)]&&(this.player[s(379)](this[s(389)],s(431),C[s(244)]),this[s(196)].emitError(O[s(244)]));break;default:this[s(196)][i[s(419)]]&&this.player[i.cmd](i)}}}[rc(366)](){const t=rc,e={debug:this[t(196)]._opt.debug,debugLevel:this[t(196)][t(362)][t(335)],debugUuid:this.player._opt.debugUuid,useOffscreen:this.player._opt[t(391)],useWCS:this[t(196)][t(362)][t(225)],useMSE:this[t(196)][t(362)][t(212)],videoBuffer:this[t(196)][t(362)][t(268)],videoBufferDelay:this[t(196)][t(362)][t(174)],openWebglAlignment:this[t(196)][t(362)][t(291)],playType:this[t(196)][t(362)][t(417)],hasAudio:this[t(196)]._opt.hasAudio,hasVideo:this[t(196)][t(362)][t(232)],playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:this[t(196)]._opt[t(241)],playbackIsCacheBeforeDecodeForFpsRender:this[t(196)][t(362)][t(310)].isCacheBeforeDecodeForFpsRender,sampleRate:this[t(196)][t(324)]&&this[t(196)][t(324)][t(222)]&&this[t(196)][t(324)].audioContext[t(279)]||Ot,audioBufferSize:this[t(196)][t(324)]&&this.player.audio[t(274)]()||1024,networkDelay:this.player[t(362)].networkDelay,visibility:this.player.visibility,useSIMD:this.player[t(362)][t(354)],recordType:this[t(196)][t(362)].recordType,checkFirstIFrame:this[t(196)][t(362)][t(191)],isM7sCrypto:this[t(196)][t(362)].isM7sCrypto,isXorCrypto:this[t(196)][t(362)][t(436)],isSm4Crypto:this[t(196)]._opt[t(330)],isSm4CryptoH265V2:this[t(196)]._opt[t(307)],sm4CryptoKey:this[t(196)][t(362)][t(315)],m7sCryptoAudio:this[t(196)][t(362)][t(385)],isFlv:this[t(196)][t(362)][t(422)],isFmp4:this[t(196)]._opt[t(214)],isMpeg4:this[t(196)][t(362)][t(317)],isTs:this[t(196)]._opt.isTs,isNakedFlow:this[t(196)][t(362)].isNakedFlow,isHls265:this.player.isUseHls265(),isEmitSEI:this.player[t(362)][t(303)],isRecordTypeFlv:this[t(196)][t(395)](),isWasmMp4:this.player[t(250)]&&this[t(196)].recorder.isWasmMp4()||!1,isChrome:Ts(),isFirefox:We(),supportMSEDecodeHevc:ss(),isDropSameTimestampGop:this.player[t(362)][t(443)],mseDecodeAudio:this[t(196)][t(362)][t(336)],wcsDecodeAudio:this[t(196)][t(362)][t(341)],nakedFlowH265DemuxUseNew:this[t(196)][t(362)][t(257)],mseDecoderUseWorker:this[t(196)]._opt[t(424)],mseAutoCleanupMinBackwardDuration:this[t(196)][t(362)][t(374)],mseAutoCleanupMaxBackwardDuration:this[t(196)][t(362)].mseAutoCleanupMaxBackwardDuration,mseCorrectTimeDuration:this[t(196)]._opt.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:this[t(196)][t(362)][t(355)],nakedFlowDemuxUseNew:this[t(196)]._opt[t(295)],nakedFlowFps:this.player[t(362)][t(321)],checkStreamEnd:this[t(196)][t(362)][t(300)]};this[t(184)][t(325)]({cmd:L[t(203)],opt:JSON.stringify(e)}),this[t(196)]._opt[t(405)]&&this[t(196)][t(362)][t(405)][t(350)]>0&&this[t(196)][t(362)][t(333)]&&this.player._opt[t(333)][t(350)]>0&&(this.updateWorkConfig({key:"cryptoKey",value:this[t(196)][t(362)].cryptoKey}),this.updateWorkConfig({key:t(333),value:this.player[t(362)].cryptoIV}))}[rc(195)](t,e,s){const i=rc;this.player[i(362)][i(417)]===c.player?this[i(196)].isUseHls265()?this._decodeVideoNoDelay(t,e,s):this[i(338)](t,e,s):this[i(196)]._opt.playType===c[i(401)]?this[i(196)].isPlaybackOnlyDecodeIFrame()?s&&(this.player[i(379)]("decoderWorker",i(221)+this.player[i(311)][i(264)]+i(205)),this[i(188)](t,e,s)):1===this.player[i(311)].rate?this._decodeVideo(t,e,s):this._decodeVideoNoDelay(t,e,s):this[i(196)][i(183)]()&&this._decodeVideoNoDelay(t,e,s)}[rc(338)](t,e,s){const i=rc,r={type:R[i(311)],ts:Math[i(242)](e,0),isIFrame:s};this.decoderWorker.postMessage({cmd:L.decode,buffer:t,options:r},[t.buffer])}[rc(188)](t,e,s){const i=rc;this[i(184)].postMessage({cmd:L[i(438)],buffer:t,ts:Math[i(242)](e,0),isIFrame:s},[t[i(344)]])}[rc(413)](t,e){const s=rc;this[s(196)][s(362)][s(417)]===c[s(196)]?this.player._opt[s(225)]||this[s(196)][s(362)][s(212)]||this.player[s(361)]()?this[s(406)](t,e):this[s(224)](t,e):this.player[s(362)][s(417)]===c[s(401)]?this.player.isPlaybackOnlyDecodeIFrame()||(1===this[s(196)][s(311)][s(264)]?this[s(224)](t,e):this[s(406)](t,e)):this[s(196)][s(183)]()&&this[s(406)](t,e)}_decodeAudio(t,e){const s=rc,i={type:R.audio,ts:Math[s(242)](e,0)};this[s(184)].postMessage({cmd:L.decode,buffer:t,options:i},[t[s(344)]])}[rc(406)](t,e){const s=rc;this[s(184)][s(325)]({cmd:L[s(259)],buffer:t,ts:Math[s(242)](e,0)},[t[s(344)]])}updateWorkConfig(t){const e=rc;this[e(184)]&&this[e(184)][e(325)]({cmd:L[e(384)],key:t[e(304)],value:t.value})}workerFetchStream(t){const e=rc;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{_opt:i}=this[e(196)];let r=[];s[e(433)]&&(r=s[e(433)],delete s.protocols);const n={protocol:i[e(238)],isFlv:i[e(422)],isFmp4:i.isFmp4,isMpeg4:i[e(317)],isNakedFlow:i.isNakedFlow,isTs:i[e(178)],options:s};this[e(184)][e(325)]({cmd:L[e(271)],url:t,protocols:r,opt:JSON[e(343)](n)})}[rc(305)](){const t=rc;let e=arguments[t(322)]>0&&void 0!==arguments[0]&&arguments[0];this.decoderWorker[t(325)]({cmd:L[t(236)],needClear:e})}workerSendMessage(t){const e=rc;this[e(184)][e(325)]({cmd:L[e(383)],message:t})}[rc(230)](t){const e=rc;this[e(184)][e(325)]({cmd:L[e(319)],message:t})}[rc(278)](t){const e=rc;this[e(184)][e(325)]({cmd:L[e(237)],isPause:t})}}var ac=kc;!function(t,e){for(var s=kc,i=t();;)try{if(893812===parseInt(s(523))/1+-parseInt(s(455))/2*(parseInt(s(473))/3)+parseInt(s(456))/4*(-parseInt(s(498))/5)+-parseInt(s(524))/6*(parseInt(s(493))/7)+parseInt(s(548))/8+parseInt(s(461))/9+parseInt(s(509))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vc);var hc,cc=ac(500),lc="text/html",dc=/^(?:text|application)\/xml/i,uc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,pc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,fc=/^\s*$/,mc={},gc={},Ac="",yc={type:"GET",beforeSend:bc,success:bc,error:bc,complete:bc,context:null,xhr:function(){return new(window[ac(513)])},accepts:{json:cc,xml:ac(476),html:lc,text:ac(482),"*":"*/"[ac(454)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:bc,contentType:ac(501)};function bc(){}function vc(){var t=["getElementsByTagName","reject","href","slice","success","concat","2MJskwH","374116KkwJsS","content-type","getJSON","promise","parentNode","15846219qJWNpD","parse","open","call","html","dataType","contentType","complete","ajaxSetup","setTimeout","Last-Modified","object","3688437bJCLdI","toLowerCase","text","application/xml, text/xml","add","type","getTime","processData","push","text/plain","If-Modified-Since","%20","replace","documentElement","head","xhrFields","parseerror","data","xhr","url","7736575DyLTxm","script","crossDomain","getAllResponseHeaders","length","45GseDLg","firstChild","application/json, text/javascript","application/x-www-form-urlencoded; charset=UTF-8","prototype","scriptCharset","context","setRequestHeader","headers","json","send","9158880GOwrte","responseText","status","protocol","XMLHttpRequest","test","toString","location","value","error","toUpperCase","onreadystatechange","Content-Type","overrideMimeType","69943jEHuRJ","6klNMPn","X-Requested-With","timeout","POST","Accept","indexOf","callback","password","async","join","abort","clearTimeout","etag","charset","accepts","mimeType","[object Array]","document","onload","createElement","$1_=","jsonp","username","function","10590040sgtuDo","clearAttributes","beforeSend","resolve","post","src","GET"];return(vc=function(){return t})()}var Sc=function(t,e){var s=ac;typeof t===s(472)&&(e=t,t=void 0);var i=Dc({},e=e||{});for(var r in yc)void 0===i[r]&&(i[r]=yc[r]);try{var n={},o=new Promise((function(t,e){var i=s;n[i(551)]=t,n[i(556)]=e}));o[s(551)]=n.resolve,o[s(556)]=n.reject,i[s(459)]=o}catch(t){i[s(459)]={resolve:bc,reject:bc}}var a=pc.exec(window[s(516)][s(557)].toLowerCase())||[];i.url=((t||i.url||window.location[s(557)])+"")[s(485)](/#.*$/,"").replace(/^\/\//,a[1]+"//");var h=i[s(492)];!i[s(495)]&&(i[s(495)]=/^([\w-]+:)?\/\/([^\/]+)/.test(i[s(492)])&&RegExp.$2!==window[s(516)].href);var c=i[s(466)];if(c===s(545)){if(!/=\?/[s(514)](i[s(492)])){var l=(i.jsonp||s(530))+"=?";i.url=_c(i[s(492)],l)}return function(t){var e,s=ac,i=t.jsonpCallback||"jsonp"+Pc(),r=window[s(541)][s(543)](s(494)),n={abort:function(){i in window&&(window[i]=bc)}},o=window[s(541)][s(555)](s(487))[0]||window.document[s(486)];function a(i){var r=s;window[r(535)](e),n[r(534)](),Ic(i[r(478)],n,i.type,t),h()}function h(){var t=s;r[t(549)]?r.clearAttributes():r[t(542)]=r[t(520)]=r.onerror=null,r.parentNode&&r[t(460)].removeChild(r),r=null,delete window[i]}return r.onerror=function(t){a(t)},window[i]=function(s){window.clearTimeout(e),wc(s,n,t),h()},Cc(t),r[s(553)]=t[s(492)].replace(/=\?/,"="+i),r.src=_c(r[s(553)],"_="+(new Date)[s(479)]()),r[s(532)]=!0,t[s(503)]&&(r[s(537)]=t[s(503)]),o.insertBefore(r,o[s(499)]),t[s(526)]>0&&(e=window.setTimeout((function(){var e=s;n.abort(),Ic(e(526),n,e(526),t),h()}),t[s(526)])),t.promise[s(534)]=function(){n[s(534)]()},t.promise[s(491)]=n,t[s(459)]}(i)}Cc(i);var d=i[s(538)][c]||i[s(538)]["*"],u={};/^([\w-]+:)\/\//[s(514)](i[s(492)])?RegExp.$1:window[s(516)][s(512)];var p,f=yc[s(491)]();!i[s(495)]&&!u[s(525)]&&(u[s(525)]="XMLHttpRequest"),i.ifModified&&(mc[h]&&(u[s(483)]=mc[h]),gc[h]&&(u["If-None-Match"]=gc[h])),d&&(u[s(528)]=d,d[s(529)](",")>-1&&(d=d.split(",",2)[0]),f.overrideMimeType&&f[s(522)](d));var m=!/^(?:GET|HEAD)$/[s(514)](i[s(478)][s(519)]());if((i.data&&m&&!1!==i[s(467)]||e[s(467)])&&(u[s(521)]=i.contentType),!1===i.cache&&!m){var g=/([?&])_=[^&]*/;i[s(492)]=g[s(514)](h)?h[s(485)](g,s(544)+Pc()):h+(/\?/[s(514)](h)?"&":"?")+"_="+Pc()}i[s(506)]=Dc(u,i[s(506)]||{}),f[s(520)]=function(){var t,e,r=s;if(4===f.readyState){clearTimeout(p);var n,o=!1;if(f[r(511)]>=200&&f.status<300||304===f[r(511)]){if(Ac=f[r(496)](),i.ifModified){var a=Tc(r(471));a&&(mc[h]=a),(a=Tc(r(536)))&&(gc[h]=a)}c=c||(t=f.getResponseHeader(r(457)),e=ac,t&&(t===lc?e(465):t===cc?"json":dc[e(514)](t)&&"xml")||e(475)),n=f[r(510)];try{"xml"===c?n=f.responseXML:c===r(507)&&(n=fc[r(514)](n)?null:JSON[r(462)](n))}catch(t){o=t}o?Ic(o,r(489),f,i):wc(n,f,i)}else Ic(null,r(518),f,i)}};var A=!(s(532)in i)||i[s(532)];if(f[s(463)](i.type,i.url,A,i[s(546)],i[s(531)]),i[s(488)])for(var y in i[s(488)])f[y]=i[s(488)][y];for(var y in i[s(539)]&&f[s(522)]&&f[s(522)](i[s(539)]),i.headers)void 0!==i.headers[y]&&f[s(505)](y,i[s(506)][y]+"");return!1===function(t,e){var s=ac,i=e[s(504)];if(!1===e[s(550)][s(464)](i,t,e))return!1}(f,i)?(f[s(534)](),!1):(i.timeout>0&&(p=window[s(470)]((function(){var t=s;f.onreadystatechange=bc,f[t(534)](),Ic(null,t(526),f,i)}),i[s(526)])),f[s(508)](i[s(490)]?i[s(490)]:null),i[s(459)][s(534)]=function(){f[s(534)]()},i[s(459)])};function wc(t,e,s){var i=ac,r=s[i(504)],n=i(559);s[i(559)][i(464)](r,t,n,e),s[i(459)].resolve(t,n,e),Ec(n,e,s)}function Ec(t,e,s){var i=ac,r=s[i(504)];s[i(468)][i(464)](r,e,t)}function Ic(t,e,s,i){var r=ac,n=i[r(504)];i.error.call(n,s,e,t),i[r(459)].reject(s,e,t),Ec(e,s,i)}function Tc(t){var e,s=ac;if(!hc){for(hc={};e=uc.exec(Ac);)hc[e[1][s(474)]()]=e[2];e=hc[t[s(474)]()]}return null===e?null:e}function kc(t,e){var s=vc();return(kc=function(t,e){return s[t-=454]})(t,e)}function _c(t,e){return(t+"&"+e)[ac(485)](/[&?]{1,2}/,"?")}function Cc(t){var e,s,i,r,n=ac;Lc(t)&&!(t[n(490)]instanceof FormData)&&t[n(480)]&&(t[n(490)]=(e=t[n(490)],(r=[])[(i=ac)(477)]=function(t,e){this[i(481)](encodeURIComponent(t)+"="+encodeURIComponent(e))},Rc(r,e,s),r[i(533)]("&")[i(485)](i(484),"+"))),t[n(490)]&&(!t[n(478)]||t[n(478)].toUpperCase()===n(554))&&(t[n(492)]=_c(t[n(492)],t[n(490)]))}function Rc(t,e,s,i){var r,n,o=ac,a=(r=e,n=ac,Object[n(502)][n(515)][n(464)](r)===n(540));for(var h in e){var c=e[h];i&&(h=s?i:i+"["+(a?"":h)+"]"),!i&&a?t.add(c.name,c[o(517)]):(s?a(c):Lc(c))?Rc(t,c,s,h):t.add(h,c)}}function Dc(t){for(var e=ac,s=Array[e(502)][e(558)],i=s[e(464)](arguments,1),r=0,n=i[e(497)];r255)return!1;return!0}function Oc(){var t=["cfb","invalid counter bytes size (must be 16 bytes)","199628rYFoLK","integer value out of safe range","3200092bIrPKq","_aes","cbc","decrypt","push","invalid counter value (must be an integer)","24QUMLAL","745029tviMxk","PKCS#7 invalid padding byte","490ejlZot","invalid ciphertext size (must be 16 bytes)","0123456789abcdef","invalid initialation vector size (must be 16 bytes)","defineProperty","MAX_SAFE_INTEGER","_Ke","142686ujnoGH","115Qqynqh","Cipher Feedback","substr","ctr","length","key","Cipher Block Chaining","setValue","invalid plaintext size (must be multiple of 16 bytes)","492JZTrsT","Counter","encrypt","_remainingCounter","invalid initialation vector size (must be 16 size)","setBytes","67956GMNiNL","slice","_lastPrecipherIndex","_lastPrecipher","_lastCipherblock","name","prototype","Uint8Array","807opLdPK","2934Nhrotd","_counter","_prepare","segmentSize","AES must be instanitated with `new`","buffer","PKCS#7 invalid length","Counter must be instanitated with `new`","PKCS#7 padding byte out of range","34488lpPXDg","invalid ciphertext size (must be multiple of 16 bytes)","invalid ciphertext size (must be segmentSize bytes)","Array contains invalid value: ","increment","ecb","description","Output Feedback","fromCharCode","_shiftRegister","number","invalid plaintext size (must be 16 bytes)","join","_remainingCounterIndex","_Kd","unsupported array-like object","charCodeAt","set"];return(Oc=function(){return t})()}function Uc(t,e){var s=ll;if(t[s(388)]&&t.name===s(381))return e&&(t=t[s(375)]?t[s(375)]():Array[s(380)][s(375)].call(t)),t;if(Array.isArray(t)){if(!Fc(t))throw new Error(s(395)+t);return new Uint8Array(t)}if(Mc(t[s(363)])&&Fc(t))return new Uint8Array(t);throw new Error(s(335))}function jc(t){return new Uint8Array(t)}function Nc(t,e,s,i,r){var n=ll;(null!=i||null!=r)&&(t=t[n(375)]?t[n(375)](i,r):Array[n(380)][n(375)].call(t,i,r)),e[n(337)](t,s)}!function(t,e){for(var s=ll,i=t();;)try{if(651976===-parseInt(s(382))/1*(-parseInt(s(383))/2)+parseInt(s(349))/3+-parseInt(s(342))/4+parseInt(s(359))/5*(parseInt(s(358))/6)+-parseInt(s(374))/7*(-parseInt(s(348))/8)+parseInt(s(392))/9*(parseInt(s(351))/10)+-parseInt(s(340))/11*(parseInt(s(368))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Oc);var Vc,zc,Gc={toBytes:function(t){var e=ll,s=[],i=0;for(t=encodeURI(t);i191&&r<224?(s[e(346)](String[e(328)]((31&r)<<6|63&t[i+1])),i+=2):(s[e(346)](String[e(328)]((15&r)<<12|(63&t[i+1])<<6|63&t[i+2])),i+=3)}return s[e(332)]("")}},Hc=(zc=(Vc=ll)(353),{toBytes:function(t){for(var e=ll,s=[],i=0;i>4]+zc[15&r])}return s.join("")}}),Wc={16:10,24:12,32:14},Kc=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Qc=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Yc=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],qc=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Jc=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Xc=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Zc=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],$c=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],tl=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],el=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],sl=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],il=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],rl=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],nl=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],ol=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function al(t){for(var e=ll,s=[],i=0;i>2,this._Ke[i][s%4]=o[s],this[t(334)][e-i][s%4]=o[s];for(var a,h=0,c=n;c>16&255]<<24^Qc[a>>8&255]<<16^Qc[255&a]<<8^Qc[a>>24&255]^Kc[h]<<24,h+=1,8!=n)for(s=1;s>8&255]<<8^Qc[a>>16&255]<<16^Qc[a>>24&255]<<24;for(s=n/2+1;s>2,d=c%4,this[t(357)][l][d]=o[s],this._Kd[e-l][d]=o[s++],c++}for(var l=1;l>24&255]^rl[a>>16&255]^nl[a>>8&255]^ol[255&a]},hl.prototype[Bc(370)]=function(t){var e=Bc;if(16!=t.length)throw new Error(e(331));for(var s=this[e(357)][e(363)]-1,i=[0,0,0,0],r=al(t),n=0;n<4;n++)r[n]^=this._Ke[0][n];for(var o=1;o>24&255]^Jc[r[(n+1)%4]>>16&255]^Xc[r[(n+2)%4]>>8&255]^Zc[255&r[(n+3)%4]]^this[e(357)][o][n];r=i[e(375)]()}var a,h=jc(16);for(n=0;n<4;n++)a=this[e(357)][s][n],h[4*n]=255&(Qc[r[n]>>24&255]^a>>24),h[4*n+1]=255&(Qc[r[(n+1)%4]>>16&255]^a>>16),h[4*n+2]=255&(Qc[r[(n+2)%4]>>8&255]^a>>8),h[4*n+3]=255&(Qc[255&r[(n+3)%4]]^a);return h},hl[Bc(380)].decrypt=function(t){var e=Bc;if(16!=t[e(363)])throw new Error(e(352));for(var s=this[e(334)].length-1,i=[0,0,0,0],r=al(t),n=0;n<4;n++)r[n]^=this[e(334)][0][n];for(var o=1;o>24&255]^tl[r[(n+3)%4]>>16&255]^el[r[(n+2)%4]>>8&255]^sl[255&r[(n+1)%4]]^this[e(334)][o][n];r=i[e(375)]()}var a,h=jc(16);for(n=0;n<4;n++)a=this[e(334)][s][n],h[4*n]=255&(Yc[r[n]>>24&255]^a>>24),h[4*n+1]=255&(Yc[r[(n+3)%4]>>16&255]^a>>16),h[4*n+2]=255&(Yc[r[(n+2)%4]>>8&255]^a>>8),h[4*n+3]=255&(Yc[255&r[(n+1)%4]]^a);return h};var cl=function(t){var e=Bc;if(!(this instanceof cl))throw Error(e(387));this[e(326)]="Electronic Code Block",this[e(379)]=e(325),this[e(343)]=new hl(t)};function ll(t,e){var s=Oc();return(ll=function(t,e){return s[t-=325]})(t,e)}cl[Bc(380)][Bc(370)]=function(t){var e=Bc;if((t=Uc(t))[e(363)]%16!=0)throw new Error(e(367));for(var s=jc(t.length),i=jc(16),r=0;rNumber[e(356)])throw new Error(e(341));for(var s=15;s>=0;--s)this[e(384)][s]=t%256,t=parseInt(t/256)},fl.prototype[Bc(373)]=function(t){var e=Bc;if(16!=(t=Uc(t,!0))[e(363)])throw new Error(e(339));this[e(384)]=t},fl.prototype[Bc(396)]=function(){for(var t=Bc,e=15;e>=0;e--){if(255!==this[t(384)][e]){this[t(384)][e]++;break}this[t(384)][e]=0}};var ml=function(t,e){var s=Bc;if(!(this instanceof ml))throw Error(s(387));this.description=s(369),this[s(379)]=s(362),!(e instanceof fl)&&(e=new fl(e)),this[s(384)]=e,this[s(371)]=null,this[s(333)]=16,this[s(343)]=new hl(t)};ml[Bc(380)][Bc(370)]=function(t){for(var e=Bc,s=Uc(t,!0),i=0;i16)throw new Error(e(391));for(var i=t[e(363)]-s,r=0;r>>2]>>>24-a%4*8&255;s[n+a>>>2]|=h<<24-(n+a)%4*8}else for(var c=0;c>>2]=r[c>>>2];return this[e(550)]+=o,this},clamp:function(){var e=i,s=this.words,r=this.sigBytes;s[r>>>2]&=4294967295<<32-r%4*8,s.length=t[e(532)](r/4)},clone:function(){var t=i,e=c[t(540)][t(510)](this);return e.words=this[t(504)][t(547)](0),e},random:function(t){for(var e=i,s=[],r=0;r>>2]>>>24-o%4*8&255;n[e(531)]((a>>>4)[e(544)](16)),n[e(531)]((15&a)[e(544)](16))}return n[e(529)]("")},parse:function(t){for(var e=i,s=t[e(548)],r=[],n=0;n>>3]|=parseInt(t[e(500)](n,2),16)<<24-n%8*4;return new(l[e(542)])(r,s/2)}},p=d[i(528)]={stringify:function(t){for(var e=i,s=t[e(504)],r=t.sigBytes,n=[],o=0;o>>2]>>>24-o%4*8&255;n[e(531)](String.fromCharCode(a))}return n.join("")},parse:function(t){for(var e=i,s=t[e(548)],r=[],n=0;n>>2]|=(255&t[e(527)](n))<<24-n%4*8;return new l.init(r,s)}},f=d[i(524)]={stringify:function(t){var e=i;try{return decodeURIComponent(escape(p.stringify(t)))}catch(t){throw new Error(e(526))}},parse:function(t){return p.parse(unescape(encodeURIComponent(t)))}},m=h.BufferedBlockAlgorithm=c[i(533)]({reset:function(){var t=i;this[t(545)]=new(l[t(542)]),this._nDataBytes=0},_append:function(t){var e=i;typeof t==e(511)&&(t=f[e(497)](t)),this[e(545)][e(519)](t),this[e(543)]+=t.sigBytes},_process:function(e){var s,r=i,n=this._data,o=n[r(504)],a=n[r(550)],h=this[r(546)],c=a/(4*h),d=(c=e?t[r(532)](c):t[r(549)]((0|c)-this[r(520)],0))*h,u=t[r(525)](4*d,a);if(d){for(var p=0;p>>2]|=t[o]<<24-o%4*8;i[s(387)](this,n,r)}else i[s(373)](this,arguments)};r.prototype=s}}(),t[e(385)][e(386)]},(r=Tl)(378)==r(378)?t[r(372)]=i(vl):i(s[r(366)])}));function kl(){var t=["createCommonjsModule","init","undefined","472791hChPPT","2487520DDWvcL","9bWEGDO","lib","WordArray","call","3244200jDjNmM","20MDgVpN","CryptoJS","byteLength","413025oDRcAb","buffer","function","4538515CRpilU","exports","apply","6366488hDTgHy","commonjsGlobal","310332uCvaEh","6SYnYBS","object"];return(kl=function(){return t})()}var _l=Rl;!function(t,e){for(var s=Rl,i=t();;)try{if(622994===-parseInt(s(406))/1+-parseInt(s(403))/2+-parseInt(s(401))/3*(-parseInt(s(390))/4)+-parseInt(s(393))/5+-parseInt(s(395))/6+-parseInt(s(391))/7*(parseInt(s(388))/8)+parseInt(s(387))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Cl);Yt[_l(413)]((function(t,e){var s,i,r,n=_l;s=Yt[n(396)],i=function(t){var e=n;return function(){var e=Rl,s=t,i=s[e(412)].WordArray,r=s[e(394)];function n(t){return t<<8&4278255360|t>>>8&16711935}r[e(399)]=r[e(410)]={stringify:function(t){for(var s=e,i=t[s(400)],r=t[s(414)],n=[],o=0;o>>2]>>>16-o%4*8&65535;n[s(392)](String[s(405)](a))}return n[s(409)]("")},parse:function(t){for(var s=e,r=t[s(397)],n=[],o=0;o>>1]|=t.charCodeAt(o)<<16-o%2*16;return i[s(389)](n,2*r)}},r.Utf16LE={stringify:function(t){for(var s=e,i=t[s(400)],r=t[s(414)],o=[],a=0;a>>2]>>>16-a%4*8&65535);o[s(392)](String[s(405)](h))}return o[s(409)]("")},parse:function(t){for(var s=e,r=t[s(397)],o=[],a=0;a>>1]|=n(t[s(386)](a)<<16-a%2*16);return i[s(389)](o,2*r)}}}(),t[e(394)][e(399)]},(r=Rl)(398)==r(398)?t[r(402)]=i(vl):"undefined"===r(404)&&(void 0)[r(407)]?(void 0)([r(408)],i):i(s[r(411)])}));function Cl(){var t=["lib","createCommonjsModule","sigBytes","charCodeAt","32116293WSryIA","24Nmqwvh","create","76NUBGwG","1910006hYubmG","push","4742305vTIDUy","enc","2885214kkrhXa","commonjsGlobal","length","object","Utf16","words","24051ltKVDN","exports","214462sTWoGu","function","fromCharCode","742671GEDAen","amd","./core","join","Utf16BE","CryptoJS"];return(Cl=function(){return t})()}function Rl(t,e){var s=Cl();return(Rl=function(t,e){return s[t-=386]})(t,e)}var Dl=xl;!function(t,e){for(var s=xl,i=t();;)try{if(186381===-parseInt(s(240))/1+parseInt(s(227))/2+-parseInt(s(236))/3+-parseInt(s(228))/4+parseInt(s(233))/5*(parseInt(s(238))/6)+parseInt(s(217))/7*(-parseInt(s(243))/8)+-parseInt(s(222))/9*(-parseInt(s(229))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ll);Yt[Dl(225)]((function(t,e){var s,i,r,n=Dl;s=Yt[n(220)],i=function(t){var e,s,i,r=n;return i=(s=t)[(e=xl)(219)][e(230)],s[e(214)].Base64={stringify:function(t){var s=e,i=t[s(226)],r=t[s(232)],n=this[s(237)];t[s(221)]();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(i[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|i[a+2>>>2]>>>24-(a+2)%4*8&255,c=0;c<4&&a+.75*c>>6*(3-c)&63));var l=n[s(213)](64);if(l)for(;o[s(224)]%4;)o[s(239)](l);return o[s(215)]("")},parse:function(t){var s=e,r=t.length,n=this[s(237)],o=this[s(218)];if(!o){o=this[s(218)]=[];for(var a=0;a>>6-h%4*2;o[a>>>2]|=c<<24-a%4*8,a++}return i[n(216)](o,a)}(t,r,o)},_map:e(244)},t[r(214)][r(231)]},(r=xl)(241)==r(241)?t[r(223)]=i(vl):"undefined"===r(234)&&(void 0)[r(242)]?(void 0)([r(235)],i):i(s.CryptoJS)}));function Ll(){var t=["149503jKaZWE","object","amd","16uAOOLm","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","charCodeAt","charAt","enc","join","create","534877nSpsPq","_reverseMap","lib","commonjsGlobal","clamp","684UQWVRf","exports","length","createCommonjsModule","words","237308PHkIDG","563240pVYaVs","60190HnbPRi","WordArray","Base64","sigBytes","5JHtNpR","function","./core","203199ApBJXe","_map","726906kDvMDf","push"];return(Ll=function(){return t})()}function xl(t,e){var s=Ll();return(xl=function(t,e){return s[t-=213]})(t,e)}var Pl=Ml;function Bl(){var t=["words","charAt","60562orrIPL","length","./core","_safe_map","1713264GcYVbP","join","3772524eBrTnH","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","enc","commonjsGlobal","clamp","createCommonjsModule","6bZIvMF","187002JKBtNA","indexOf","CryptoJS","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","14SifRsn","772735jwMolS","6iLeIeY","64990575UAOjEk","Base64url","470pCdiiz","amd","_map","function","WordArray","charCodeAt","sigBytes","push","object","344262Nvcstc","68EuFCXa","exports","11nXgIHa"];return(Bl=function(){return t})()}!function(t,e){for(var s=Ml,i=t();;)try{if(992965===-parseInt(s(525))/1*(parseInt(s(506))/2)+parseInt(s(500))/3*(-parseInt(s(501))/4)+-parseInt(s(524))/5*(parseInt(s(518))/6)+-parseInt(s(523))/7*(parseInt(s(510))/8)+-parseInt(s(519))/9*(parseInt(s(528))/10)+parseInt(s(503))/11*(-parseInt(s(512))/12)+parseInt(s(526))/13)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Bl);Yt[Pl(517)]((function(t,e){var s,i,r,n=Pl;s=Yt[n(515)],i=function(t){var e,s,i,r=n;return e=Ml,i=(s=t).lib[e(532)],s.enc[e(527)]={stringify:function(t,s){var i=e;void 0===s&&(s=!0);var r=t[i(504)],n=t[i(497)],o=s?this[i(509)]:this[i(530)];t[i(516)]();for(var a=[],h=0;h>>2]>>>24-h%4*8&255)<<16|(r[h+1>>>2]>>>24-(h+1)%4*8&255)<<8|r[h+2>>>2]>>>24-(h+2)%4*8&255,l=0;l<4&&h+.75*l>>6*(3-l)&63));var d=o.charAt(64);if(d)for(;a.length%4;)a[i(498)](d);return a[i(511)]("")},parse:function(t,s){var r=e;void 0===s&&(s=!0);var n=t[r(507)],o=s?this[r(509)]:this[r(530)],a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var h=0;h>>6-h%4*2;o[a>>>2]|=c<<24-a%4*8,a++}return i.create(o,a)}(t,n,a)},_map:e(522),_safe_map:e(513)},t[r(514)][r(527)]},(r=Ml)(499)==r(499)?t[r(502)]=i(vl):"undefined"===r(531)&&(void 0)[r(529)]?(void 0)([r(508)],i):i(s[r(521)])}));function Ml(t,e){var s=Bl();return(Ml=function(t,e){return s[t-=496]})(t,e)}var Fl=Ol;function Ol(t,e){var s=Ul();return(Ol=function(t,e){return s[t-=282]})(t,e)}!function(t,e){for(var s=Ol,i=t();;)try{if(710987===-parseInt(s(313))/1*(-parseInt(s(282))/2)+-parseInt(s(292))/3+-parseInt(s(295))/4*(-parseInt(s(290))/5)+parseInt(s(304))/6+parseInt(s(284))/7*(-parseInt(s(309))/8)+parseInt(s(305))/9*(-parseInt(s(298))/10)+parseInt(s(296))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ul);Yt[Fl(307)]((function(t,e){var s,i,r;s=Wt,i=function(t){var e=Ol;return function(e){var s=Ol,i=t,r=i[s(294)],n=r.WordArray,o=r.Hasher,a=i.algo,h=[];!function(){for(var t=s,i=0;i<64;i++)h[i]=4294967296*e[t(314)](e[t(310)](i+1))|0}();var c=a.MD5=o[s(308)]({_doReset:function(){this[s(301)]=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var i=s,r=0;r<16;r++){var n=e+r,o=t[n];t[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a=this[i(301)][i(311)],c=t[e+0],f=t[e+1],m=t[e+2],g=t[e+3],A=t[e+4],y=t[e+5],b=t[e+6],v=t[e+7],S=t[e+8],w=t[e+9],E=t[e+10],I=t[e+11],T=t[e+12],k=t[e+13],_=t[e+14],C=t[e+15],R=a[0],D=a[1],L=a[2],x=a[3];R=l(R,D,L,x,c,7,h[0]),x=l(x,R,D,L,f,12,h[1]),L=l(L,x,R,D,m,17,h[2]),D=l(D,L,x,R,g,22,h[3]),R=l(R,D,L,x,A,7,h[4]),x=l(x,R,D,L,y,12,h[5]),L=l(L,x,R,D,b,17,h[6]),D=l(D,L,x,R,v,22,h[7]),R=l(R,D,L,x,S,7,h[8]),x=l(x,R,D,L,w,12,h[9]),L=l(L,x,R,D,E,17,h[10]),D=l(D,L,x,R,I,22,h[11]),R=l(R,D,L,x,T,7,h[12]),x=l(x,R,D,L,k,12,h[13]),L=l(L,x,R,D,_,17,h[14]),R=d(R,D=l(D,L,x,R,C,22,h[15]),L,x,f,5,h[16]),x=d(x,R,D,L,b,9,h[17]),L=d(L,x,R,D,I,14,h[18]),D=d(D,L,x,R,c,20,h[19]),R=d(R,D,L,x,y,5,h[20]),x=d(x,R,D,L,E,9,h[21]),L=d(L,x,R,D,C,14,h[22]),D=d(D,L,x,R,A,20,h[23]),R=d(R,D,L,x,w,5,h[24]),x=d(x,R,D,L,_,9,h[25]),L=d(L,x,R,D,g,14,h[26]),D=d(D,L,x,R,S,20,h[27]),R=d(R,D,L,x,k,5,h[28]),x=d(x,R,D,L,m,9,h[29]),L=d(L,x,R,D,v,14,h[30]),R=u(R,D=d(D,L,x,R,T,20,h[31]),L,x,y,4,h[32]),x=u(x,R,D,L,S,11,h[33]),L=u(L,x,R,D,I,16,h[34]),D=u(D,L,x,R,_,23,h[35]),R=u(R,D,L,x,f,4,h[36]),x=u(x,R,D,L,A,11,h[37]),L=u(L,x,R,D,v,16,h[38]),D=u(D,L,x,R,E,23,h[39]),R=u(R,D,L,x,k,4,h[40]),x=u(x,R,D,L,c,11,h[41]),L=u(L,x,R,D,g,16,h[42]),D=u(D,L,x,R,b,23,h[43]),R=u(R,D,L,x,w,4,h[44]),x=u(x,R,D,L,T,11,h[45]),L=u(L,x,R,D,C,16,h[46]),R=p(R,D=u(D,L,x,R,m,23,h[47]),L,x,c,6,h[48]),x=p(x,R,D,L,v,10,h[49]),L=p(L,x,R,D,_,15,h[50]),D=p(D,L,x,R,y,21,h[51]),R=p(R,D,L,x,T,6,h[52]),x=p(x,R,D,L,g,10,h[53]),L=p(L,x,R,D,E,15,h[54]),D=p(D,L,x,R,f,21,h[55]),R=p(R,D,L,x,S,6,h[56]),x=p(x,R,D,L,C,10,h[57]),L=p(L,x,R,D,b,15,h[58]),D=p(D,L,x,R,k,21,h[59]),R=p(R,D,L,x,A,6,h[60]),x=p(x,R,D,L,I,10,h[61]),L=p(L,x,R,D,m,15,h[62]),D=p(D,L,x,R,w,21,h[63]),a[0]=a[0]+R|0,a[1]=a[1]+D|0,a[2]=a[2]+L|0,a[3]=a[3]+x|0},_doFinalize:function(){var t=s,i=this[t(288)],r=i[t(311)],n=8*this[t(300)],o=8*i[t(299)];r[o>>>5]|=128<<24-o%32;var a=e[t(312)](n/4294967296),h=n;r[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r[14+(o+64>>>9<<4)]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),i[t(299)]=4*(r[t(303)]+1),this[t(291)]();for(var c=this[t(301)],l=c[t(311)],d=0;d<4;d++){var u=l[d];l[d]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return c},clone:function(){var t=s,e=o[t(283)][t(306)](this);return e[t(301)]=this._hash[t(283)](),e}});function l(t,e,s,i,r,n,o){var a=t+(e&s|~e&i)+r+o;return(a<>>32-n)+e}function d(t,e,s,i,r,n,o){var a=t+(e&i|s&~i)+r+o;return(a<>>32-n)+e}function u(t,e,s,i,r,n,o){var a=t+(e^s^i)+r+o;return(a<>>32-n)+e}function p(t,e,s,i,r,n,o){var a=t+(s^(e|~i))+r+o;return(a<>>32-n)+e}i[s(293)]=o._createHelper(c),i.HmacMD5=o._createHmacHelper(c)}(Math),t[e(293)]},(r=Ol)(289)==r(289)?t[r(285)]=i(vl):"undefined"===r(286)&&(void 0)[r(297)]?(void 0)([r(287)],i):i(s[r(302)])}));function Ul(){var t=["sin","words","floor","1kEHqYg","abs","1683842mzQchz","clone","1184365yLhbgu","exports","function","./core","_data","object","16295VhQAzw","_process","449838NmWSYp","MD5","lib","524eeanRO","4699244MbIYLa","amd","6605430fjdNSh","sigBytes","_nDataBytes","_hash","CryptoJS","length","4028382vJwABQ","9cBDhoU","call","createCommonjsModule","extend","40bxERxA"];return(Ul=function(){return t})()}var jl=Vl;function Nl(){var t=["commonjsGlobal","init","words","floor","createCommonjsModule","_nDataBytes","_createHmacHelper","object","extend","1306662NfVtbj","sigBytes","240724RmYeWk","amd","702cLFPZy","_hash","algo","./core","2345DMqlDz","59373EYtVga","98956jvwFtM","143068dWSuoU","HmacSHA1","_process","Hasher","clone","SHA1","function","8GklqdW","_data","2773854kZqyBj"];return(Nl=function(){return t})()}function Vl(t,e){var s=Nl();return(Vl=function(t,e){return s[t-=483]})(t,e)}!function(t,e){for(var s=Vl,i=t();;)try{if(136675===parseInt(s(494))/1+parseInt(s(486))/2+parseInt(s(493))/3+-parseInt(s(495))/4+-parseInt(s(492))/5*(-parseInt(s(488))/6)+-parseInt(s(484))/7*(-parseInt(s(502))/8)+-parseInt(s(504))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Nl);Yt[jl(509)]((function(t,e){var s,i,r;s=Yt[jl(505)],i=function(t){return e=Vl,i=(s=t).lib,r=i.WordArray,n=i[e(498)],o=s[e(490)],a=[],h=o[e(500)]=n[e(483)]({_doReset:function(){var t=e;this[t(489)]=new(r[t(506)])([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,s){for(var i=this[e(489)].words,r=i[0],n=i[1],o=i[2],h=i[3],c=i[4],l=0;l<80;l++){if(l<16)a[l]=0|t[s+l];else{var d=a[l-3]^a[l-8]^a[l-14]^a[l-16];a[l]=d<<1|d>>>31}var u=(r<<5|r>>>27)+c+a[l];u+=l<20?1518500249+(n&o|~n&h):l<40?1859775393+(n^o^h):l<60?(n&o|n&h|o&h)-1894007588:(n^o^h)-899497514,c=h,h=o,o=n<<30|n>>>2,n=r,r=u}i[0]=i[0]+r|0,i[1]=i[1]+n|0,i[2]=i[2]+o|0,i[3]=i[3]+h|0,i[4]=i[4]+c|0},_doFinalize:function(){var t=e,s=this[t(503)],i=s[t(507)],r=8*this[t(510)],n=8*s[t(485)];return i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=Math[t(508)](r/4294967296),i[15+(n+64>>>9<<4)]=r,s.sigBytes=4*i.length,this[t(497)](),this._hash},clone:function(){var t=e,s=n[t(499)].call(this);return s[t(489)]=this._hash.clone(),s}}),s[e(500)]=n._createHelper(h),s[e(496)]=n[e(511)](h),t.SHA1;var e,s,i,r,n,o,a,h},(r=Vl)(512)==r(512)?t.exports=i(vl):"undefined"===r(501)&&(void 0)[r(487)]?(void 0)([r(491)],i):i(s.CryptoJS)}));function zl(t,e){var s=Hl();return(zl=function(t,e){return s[t-=442]})(t,e)}var Gl=zl;!function(t,e){for(var s=zl,i=t();;)try{if(554462===parseInt(s(449))/1+parseInt(s(467))/2*(parseInt(s(452))/3)+-parseInt(s(473))/4*(-parseInt(s(443))/5)+-parseInt(s(445))/6+-parseInt(s(462))/7*(-parseInt(s(448))/8)+parseInt(s(468))/9+-parseInt(s(459))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hl);Yt[Gl(469)]((function(t,e){var s,i,r,n=Gl;s=Yt[n(454)],i=function(t){var e=n;return function(e){var s=zl,i=t,r=i[s(463)],n=r.WordArray,o=r[s(447)],a=i[s(457)],h=[],c=[];!function(){var t=s;function i(t){for(var s=e.sqrt(t),i=2;i<=s;i++)if(!(t%i))return!1;return!0}function r(t){return 4294967296*(t-(0|t))|0}for(var n=2,o=0;o<64;)i(n)&&(o<8&&(h[o]=r(e[t(465)](n,.5))),c[o]=r(e[t(465)](n,1/3)),o++),n++}();var l=[],d=a[s(470)]=o.extend({_doReset:function(){var t=s;this[t(446)]=new(n[t(474)])(h.slice(0))},_doProcessBlock:function(t,e){for(var i=s,r=this[i(446)][i(453)],n=r[0],o=r[1],a=r[2],h=r[3],d=r[4],u=r[5],p=r[6],f=r[7],m=0;m<64;m++){if(m<16)l[m]=0|t[e+m];else{var g=l[m-15],A=(g<<25|g>>>7)^(g<<14|g>>>18)^g>>>3,y=l[m-2],b=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[m]=A+l[m-7]+b+l[m-16]}var v=n&o^n&a^o&a,S=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=f+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&u^~d&p)+c[m]+l[m];f=p,p=u,u=d,d=h+w|0,h=a,a=o,o=n,n=w+(S+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+a|0,r[3]=r[3]+h|0,r[4]=r[4]+d|0,r[5]=r[5]+u|0,r[6]=r[6]+p|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=s,i=this[t(455)],r=i[t(453)],n=8*this[t(444)],o=8*i[t(442)];return r[o>>>5]|=128<<24-o%32,r[14+(o+64>>>9<<4)]=e[t(456)](n/4294967296),r[15+(o+64>>>9<<4)]=n,i.sigBytes=4*r[t(450)],this._process(),this._hash},clone:function(){var t=s,e=o[t(464)][t(451)](this);return e[t(446)]=this._hash[t(464)](),e}});i[s(470)]=o[s(461)](d),i[s(460)]=o._createHmacHelper(d)}(Math),t[e(470)]},(r=zl)(466)==r(466)?t[r(458)]=i(vl):"undefined"===r(471)&&(void 0).amd?(void 0)([r(472)],i):i(s.CryptoJS)}));function Hl(){var t=["_createHelper","70QPFivJ","lib","clone","pow","object","2kLunDa","3935538mQfFRG","createCommonjsModule","SHA256","function","./core","1926476obLovM","init","sigBytes","5miwoDE","_nDataBytes","560520dXhZWs","_hash","Hasher","369992elhIml","13201rMEVyM","length","call","614274OCPild","words","commonjsGlobal","_data","floor","algo","exports","9514680HjaMnI","HmacSHA256"];return(Hl=function(){return t})()}function Wl(){var t=["9jokzNS","extend","_createHmacHelper","330047EFdekv","algo","./sha256","init","250hjqtWO","exports","_doFinalize","./core","1075508UajDTq","7562664sIXJxY","amd","3858ctgZpU","SHA224","1688040XVQzhU","sigBytes","6aYGTKm","object","HmacSHA224","WordArray","4748401gtBYQu","17119700dxvGjp","call","_hash"];return(Wl=function(){return t})()}!function(t,e){for(var s=Kl,i=t();;)try{if(510360===parseInt(s(388))/1+parseInt(s(366))/2*(parseInt(s(373))/3)+parseInt(s(370))/4+-parseInt(s(375))/5+parseInt(s(377))/6*(-parseInt(s(381))/7)+-parseInt(s(371))/8*(parseInt(s(385))/9)+parseInt(s(382))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Wl);Qt((function(t,e){var s,i,r;s=Wt,i=function(t){return e=Kl,i=(s=t).lib[e(380)],r=s[e(389)],n=r.SHA256,o=r[e(374)]=n[e(386)]({_doReset:function(){var t=e;this[t(384)]=new(i[t(365)])([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=e,s=n[t(368)][t(383)](this);return s[t(376)]-=4,s}}),s.SHA224=n._createHelper(o),s[e(379)]=n[e(387)](o),t.SHA224;var e,s,i,r,n,o},(r=Kl)(378)==r(378)?t[r(367)]=i(vl):i(s.CryptoJS)}));function Kl(t,e){var s=Wl();return(Kl=function(t,e){return s[t-=364]})(t,e)}var Ql=ql;function Yl(){var t=["908994nosRve","2432958dhQIZa","_createHelper","Hasher","commonjsGlobal","./x64-core","createCommonjsModule","words","Word","5917060hvfoTO","WordArray","SHA512","floor","CryptoJS","high","18fNwpcR","274076aeSVQQ","function","low","_nDataBytes","object","amd","4298912fecyok","5sTwXtG","clone","_createHmacHelper","lib","25946658zXmzwE","toX32","extend","init","276647iovBfh","algo","apply","sigBytes","_hash","./core","exports"];return(Yl=function(){return t})()}function ql(t,e){var s=Yl();return(ql=function(t,e){return s[t-=432]})(t,e)}!function(t,e){for(var s=ql,i=t();;)try{if(786800===-parseInt(s(453))/1+parseInt(s(469))/2+parseInt(s(454))/3+-parseInt(s(462))/4*(parseInt(s(438))/5)+parseInt(s(468))/6*(-parseInt(s(446))/7)+-parseInt(s(437))/8+parseInt(s(442))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yl);Yt[Ql(459)]((function(t,e){var s,i,r;s=Yt[Ql(457)],i=function(t){return function(){var e=ql,s=t,i=s[e(441)][e(456)],r=s.x64,n=r[e(461)],o=r[e(463)],a=s[e(447)];function h(){var t=e;return n.create[t(448)](n,arguments)}var c=[h(1116352408,3609767458),h(1899447441,602891725),h(3049323471,3964484399),h(3921009573,2173295548),h(961987163,4081628472),h(1508970993,3053834265),h(2453635748,2937671579),h(2870763221,3664609560),h(3624381080,2734883394),h(310598401,1164996542),h(607225278,1323610764),h(1426881987,3590304994),h(1925078388,4068182383),h(2162078206,991336113),h(2614888103,633803317),h(3248222580,3479774868),h(3835390401,2666613458),h(4022224774,944711139),h(264347078,2341262773),h(604807628,2007800933),h(770255983,1495990901),h(1249150122,1856431235),h(1555081692,3175218132),h(1996064986,2198950837),h(2554220882,3999719339),h(2821834349,766784016),h(2952996808,2566594879),h(3210313671,3203337956),h(3336571891,1034457026),h(3584528711,2466948901),h(113926993,3758326383),h(338241895,168717936),h(666307205,1188179964),h(773529912,1546045734),h(1294757372,1522805485),h(1396182291,2643833823),h(1695183700,2343527390),h(1986661051,1014477480),h(2177026350,1206759142),h(2456956037,344077627),h(2730485921,1290863460),h(2820302411,3158454273),h(3259730800,3505952657),h(3345764771,106217008),h(3516065817,3606008344),h(3600352804,1432725776),h(4094571909,1467031594),h(275423344,851169720),h(430227734,3100823752),h(506948616,1363258195),h(659060556,3750685593),h(883997877,3785050280),h(958139571,3318307427),h(1322822218,3812723403),h(1537002063,2003034995),h(1747873779,3602036899),h(1955562222,1575990012),h(2024104815,1125592928),h(2227730452,2716904306),h(2361852424,442776044),h(2428436474,593698344),h(2756734187,3733110249),h(3204031479,2999351573),h(3329325298,3815920427),h(3391569614,3928383900),h(3515267271,566280711),h(3940187606,3454069534),h(4118630271,4000239992),h(116418474,1914138554),h(174292421,2731055270),h(289380356,3203993006),h(460393269,320620315),h(685471733,587496836),h(852142971,1086792851),h(1017036298,365543100),h(1126000580,2618297676),h(1288033470,3409855158),h(1501505948,4234509866),h(1607167915,987167468),h(1816402316,1246189591)],l=[];!function(){for(var t=0;t<80;t++)l[t]=h()}();var d=a.SHA512=i[e(444)]({_doReset:function(){var t=e;this[t(450)]=new(o[t(445)])([new(n[t(445)])(1779033703,4089235720),new(n[t(445)])(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new(n[t(445)])(1359893119,2917565137),new n.init(2600822924,725511199),new(n[t(445)])(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,s){for(var i=e,r=this._hash[i(460)],n=r[0],o=r[1],a=r[2],h=r[3],d=r[4],u=r[5],p=r[6],f=r[7],m=n[i(467)],g=n[i(433)],A=o[i(467)],y=o[i(433)],b=a[i(467)],v=a[i(433)],S=h[i(467)],w=h[i(433)],E=d[i(467)],I=d[i(433)],T=u.high,k=u.low,_=p[i(467)],C=p[i(433)],R=f.high,D=f[i(433)],L=m,x=g,P=A,B=y,M=b,F=v,O=S,U=w,j=E,N=I,V=T,z=k,G=_,H=C,W=R,K=D,Q=0;Q<80;Q++){var Y,q,J=l[Q];if(Q<16)q=J.high=0|t[s+2*Q],Y=J[i(433)]=0|t[s+2*Q+1];else{var X=l[Q-15],Z=X.high,$=X[i(433)],tt=(Z>>>1|$<<31)^(Z>>>8|$<<24)^Z>>>7,et=($>>>1|Z<<31)^($>>>8|Z<<24)^($>>>7|Z<<25),st=l[Q-2],it=st[i(467)],rt=st[i(433)],nt=(it>>>19|rt<<13)^(it<<3|rt>>>29)^it>>>6,ot=(rt>>>19|it<<13)^(rt<<3|it>>>29)^(rt>>>6|it<<26),at=l[Q-7],ht=at[i(467)],ct=at.low,lt=l[Q-16],dt=lt[i(467)],ut=lt[i(433)];q=(q=(q=tt+ht+((Y=et+ct)>>>0>>0?1:0))+nt+((Y+=ot)>>>0>>0?1:0))+dt+((Y+=ut)>>>0>>0?1:0),J[i(467)]=q,J.low=Y}var pt,ft=j&V^~j&G,mt=N&z^~N&H,gt=L&P^L&M^P&M,At=x&B^x&F^B&F,yt=(L>>>28|x<<4)^(L<<30|x>>>2)^(L<<25|x>>>7),bt=(x>>>28|L<<4)^(x<<30|L>>>2)^(x<<25|L>>>7),vt=(j>>>14|N<<18)^(j>>>18|N<<14)^(j<<23|N>>>9),St=(N>>>14|j<<18)^(N>>>18|j<<14)^(N<<23|j>>>9),wt=c[Q],Et=wt[i(467)],It=wt[i(433)],Tt=W+vt+((pt=K+St)>>>0>>0?1:0),kt=bt+At;W=G,K=H,G=V,H=z,V=j,z=N,j=O+(Tt=(Tt=(Tt=Tt+ft+((pt+=mt)>>>0>>0?1:0))+Et+((pt+=It)>>>0>>0?1:0))+q+((pt+=Y)>>>0>>0?1:0))+((N=U+pt|0)>>>0>>0?1:0)|0,O=M,U=F,M=P,F=B,P=L,B=x,L=Tt+(yt+gt+(kt>>>0>>0?1:0))+((x=pt+kt|0)>>>0>>0?1:0)|0}g=n[i(433)]=g+x,n[i(467)]=m+L+(g>>>0>>0?1:0),y=o[i(433)]=y+B,o[i(467)]=A+P+(y>>>0>>0?1:0),v=a[i(433)]=v+F,a[i(467)]=b+M+(v>>>0>>0?1:0),w=h[i(433)]=w+U,h[i(467)]=S+O+(w>>>0>>0?1:0),I=d[i(433)]=I+N,d[i(467)]=E+j+(I>>>0>>0?1:0),k=u.low=k+z,u[i(467)]=T+V+(k>>>0>>0?1:0),C=p[i(433)]=C+H,p[i(467)]=_+G+(C>>>0>>0?1:0),D=f[i(433)]=D+K,f.high=R+W+(D>>>0>>0?1:0)},_doFinalize:function(){var t=e,s=this._data,i=s[t(460)],r=8*this[t(434)],n=8*s[t(449)];return i[n>>>5]|=128<<24-n%32,i[30+(n+128>>>10<<5)]=Math[t(465)](r/4294967296),i[31+(n+128>>>10<<5)]=r,s[t(449)]=4*i.length,this._process(),this[t(450)][t(443)]()},clone:function(){var t=e,s=i.clone.call(this);return s._hash=this._hash[t(439)](),s},blockSize:32});s[e(464)]=i[e(455)](d),s.HmacSHA512=i[e(440)](d)}(),t.SHA512},(r=ql)(435)==r(435)?t[r(452)]=i(vl):"undefined"===r(432)&&(void 0)[r(436)]?(void 0)([r(451),r(458)],i):i(s[r(466)])}));function Jl(t,e){var s=Xl();return(Jl=function(t,e){return s[t-=268]})(t,e)}!function(t,e){for(var s=Jl,i=t();;)try{if(280892===parseInt(s(285))/1*(parseInt(s(295))/2)+-parseInt(s(284))/3+-parseInt(s(279))/4+-parseInt(s(293))/5+-parseInt(s(274))/6+parseInt(s(296))/7*(parseInt(s(291))/8)+-parseInt(s(280))/9*(-parseInt(s(269))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xl);Qt((function(t,e){var s,i,r;s=Wt,i=function(t){var e,s,i,r,n,o,a,h,c=Jl;return i=(s=t)[(e=Jl)(297)],r=i[e(288)],n=i[e(294)],o=s[e(272)],a=o[e(268)],h=o.SHA384=a[e(283)]({_doReset:function(){var t=e;this[t(271)]=new(n[t(273)])([new(r[t(273)])(3418070365,3238371032),new(r[t(273)])(1654270250,914150663),new(r[t(273)])(2438529370,812702999),new(r[t(273)])(355462360,4144912697),new(r[t(273)])(1731405415,4290775857),new(r[t(273)])(2394180231,1750603025),new(r[t(273)])(3675008525,1694076839),new(r[t(273)])(1203062813,3204075428)])},_doFinalize:function(){var t=e,s=a[t(281)][t(290)](this);return s.sigBytes-=16,s}}),s[e(286)]=a[e(276)](h),s[e(298)]=a[e(277)](h),t[c(286)]},"object"===(r=Jl)(289)?t[r(282)]=i(vl):"undefined"===r(287)&&(void 0).amd?(void 0)([r(292),r(270),r(278)],i):i(s[r(275)])}));function Xl(){var t=["function","Word","object","call","47216fkunhQ","./core","2489440omvKxj","WordArray","2vCVpEu","525SLtCnW","x64","HmacSHA384","SHA512","1154690wINbGV","./x64-core","_hash","algo","init","2587716encriQ","CryptoJS","_createHelper","_createHmacHelper","./sha512","767280ecSQPt","90nCIBBK","_doFinalize","exports","extend","735723YGUvIJ","49787bMziyX","SHA384"];return(Xl=function(){return t})()}function Zl(t,e){var s=td();return(Zl=function(t,e){return s[t-=391]})(t,e)}var $l=Zl;function td(){var t=["object","createCommonjsModule","_state","extend","algo","blockSize","exports","amd","1063912vgZpIv","16519840DHpPNC","_createHelper","high","init","100JQHgUQ","lib","_nDataBytes","6190107ZTSQxZ","call","slice","cfg","137266tFofSd","27GPwAln","35346KKHqku","SHA3","_process","outputLength","./x64-core","function","sigBytes","push","WordArray","5139YIfufX","4358436VvFhIp","low","554IMnYXr","./core","HmacSHA3","commonjsGlobal","create","Word","Hasher","_createHmacHelper","words","clone"];return(td=function(){return t})()}!function(t,e){for(var s=Zl,i=t();;)try{if(592654===parseInt(s(428))/1+-parseInt(s(398))/2*(parseInt(s(395))/3)+-parseInt(s(396))/4+parseInt(s(421))/5*(-parseInt(s(430))/6)+parseInt(s(424))/7+-parseInt(s(416))/8*(parseInt(s(429))/9)+parseInt(s(417))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(td);Yt[$l(409)]((function(t,e){var s,i,r,n=$l;s=Yt[n(401)],i=function(t){var e=n;return function(e){var s=Zl,i=t,r=i[s(422)],n=r[s(394)],o=r[s(404)],a=i.x64[s(403)],h=i[s(412)],c=[],l=[],d=[];!function(){for(var t=s,e=1,i=0,r=0;r<24;r++){c[e+5*i]=(r+1)*(r+2)/2%64;var n=(2*e+3*i)%5;e=i%5,i=n}for(e=0;e<5;e++)for(i=0;i<5;i++)l[e+5*i]=i+(2*e+3*i)%5*5;for(var o=1,h=0;h<24;h++){for(var u=0,p=0,f=0;f<7;f++){if(1&o){var m=(1<>>24)|4278255360&(a<<24|a>>>8),h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),(D=r[o])[i(419)]^=h,D[i(397)]^=a}for(var p=0;p<24;p++){for(var f=0;f<5;f++){for(var m=0,g=0,A=0;A<5;A++)m^=(D=r[f+5*A])[i(419)],g^=D.low;var y=u[f];y.high=m,y[i(397)]=g}for(f=0;f<5;f++){var b=u[(f+4)%5],v=u[(f+1)%5],S=v.high,w=v.low;for(m=b.high^(S<<1|w>>>31),g=b[i(397)]^(w<<1|S>>>31),A=0;A<5;A++)(D=r[f+5*A])[i(419)]^=m,D.low^=g}for(var E=1;E<25;E++){var I=(D=r[E])[i(419)],T=D.low,k=c[E];k<32?(m=I<>>32-k,g=T<>>32-k):(m=T<>>64-k,g=I<>>64-k);var _=u[l[E]];_[i(419)]=m,_.low=g}var C=u[0],R=r[0];for(C.high=R[i(419)],C[i(397)]=R[i(397)],f=0;f<5;f++)for(A=0;A<5;A++){var D=r[E=f+5*A],L=u[E],x=u[(f+1)%5+5*A],P=u[(f+2)%5+5*A];D[i(419)]=L[i(419)]^~x[i(419)]&P.high,D[i(397)]=L[i(397)]^~x.low&P[i(397)]}D=r[0];var B=d[p];D.high^=B[i(419)],D[i(397)]^=B[i(397)]}},_doFinalize:function(){var t=s,i=this._data,r=i[t(406)];this[t(423)];var o=8*i[t(392)],a=32*this[t(413)];r[o>>>5]|=1<<24-o%32,r[(e.ceil((o+1)/a)*a>>>5)-1]|=128,i[t(392)]=4*r.length,this[t(432)]();for(var h=this[t(410)],c=this[t(427)][t(433)]/8,l=c/8,d=[],u=0;u>>24)|4278255360&(f<<24|f>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d.push(m),d[t(393)](f)}return new(n[t(420)])(d,c)},clone:function(){for(var t=s,e=o[t(407)][t(425)](this),i=e[t(410)]=this[t(410)][t(426)](0),r=0;r<25;r++)i[r]=i[r][t(407)]();return e}});i.SHA3=o[s(418)](p),i[s(400)]=o[s(405)](p)}(Math),t[e(431)]},(r=Zl)(408)==r(408)?t[r(414)]=i(vl):"undefined"===r(391)&&(void 0)[r(415)]?(void 0)([r(399),r(434)],i):i(s.CryptoJS)}));var ed=sd;function sd(t,e){var s=id();return(sd=function(t,e){return s[t-=441]})(t,e)}!function(t,e){for(var s=sd,i=t();;)try{if(469264===-parseInt(s(454))/1+-parseInt(s(465))/2*(-parseInt(s(448))/3)+-parseInt(s(457))/4*(-parseInt(s(451))/5)+parseInt(s(445))/6+-parseInt(s(442))/7*(-parseInt(s(458))/8)+-parseInt(s(460))/9+-parseInt(s(444))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(id);Yt[ed(446)]((function(t,e){var s,i,r;s=Yt[ed(450)],i=function(t){return function(e){var s=sd,i=t,r=i[s(453)],n=r.WordArray,o=r[s(443)],a=i.algo,h=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=n[s(463)]([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),p=n[s(463)]([1352829926,1548603684,1836072691,2053994217,0]),f=a[s(441)]=o[s(452)]({_doReset:function(){var t=s;this[t(464)]=n[t(463)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=s,r=0;r<16;r++){var n=e+r,o=t[n];t[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,f,S,w,E,I,T,k,_,C,R,D=this[i(464)][i(459)],L=u[i(459)],x=p[i(459)],P=h[i(459)],B=c[i(459)],M=l.words,F=d[i(459)];for(I=a=D[0],T=f=D[1],k=S=D[2],_=w=D[3],C=E=D[4],r=0;r<80;r+=1)R=a+t[e+P[r]]|0,R+=r<16?m(f,S,w)+L[0]:r<32?g(f,S,w)+L[1]:r<48?A(f,S,w)+L[2]:r<64?y(f,S,w)+L[3]:b(f,S,w)+L[4],R=(R=v(R|=0,M[r]))+E|0,a=E,E=w,w=v(S,10),S=f,f=R,R=I+t[e+B[r]]|0,R+=r<16?b(T,k,_)+x[0]:r<32?y(T,k,_)+x[1]:r<48?A(T,k,_)+x[2]:r<64?g(T,k,_)+x[3]:m(T,k,_)+x[4],R=(R=v(R|=0,F[r]))+C|0,I=C,C=_,_=v(k,10),k=T,T=R;R=D[1]+S+_|0,D[1]=D[2]+w+C|0,D[2]=D[3]+E+I|0,D[3]=D[4]+a+T|0,D[4]=D[0]+f+k|0,D[0]=R},_doFinalize:function(){var t=s,e=this._data,i=e[t(459)],r=8*this[t(467)],n=8*e[t(447)];i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e[t(447)]=4*(i.length+1),this._process();for(var o=this._hash,a=o[t(459)],h=0;h<5;h++){var c=a[h];a[h]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var t=s,e=o[t(466)].call(this);return e[t(464)]=this[t(464)][t(466)](),e}});function m(t,e,s){return t^e^s}function g(t,e,s){return t&e|~t&s}function A(t,e,s){return(t|~e)^s}function y(t,e,s){return t&s|e&~s}function b(t,e,s){return t^(e|~s)}function v(t,e){return t<>>32-e}i[s(441)]=o._createHelper(f),i[s(468)]=o._createHmacHelper(f)}(),t.RIPEMD160},(r=sd)(461)==r(461)?t[r(455)]=i(vl):"undefined"===r(456)&&(void 0)[r(462)]?(void 0)([r(449)],i):i(s.CryptoJS)}));function id(){var t=["Hasher","417470OhdDWd","5623542oXCkaK","createCommonjsModule","sigBytes","409536ClSKht","./core","commonjsGlobal","414095ObsLyF","extend","lib","333941SquPaS","exports","function","12yanspF","2808376YpSked","words","7454889LNQiwU","object","amd","create","_hash","2SRyRwp","clone","_nDataBytes","HmacRIPEMD160","RIPEMD160","7gaHKuF"];return(id=function(){return t})()}var rd=od;function nd(){var t=["update","parse","2cbxCeX","51010YNnNpB","amd","commonjsGlobal","Base","3852YbZUou","object","clamp","string","concat","init","324284tIUFJk","finalize","blockSize","4988690eIPEMI","HMAC","10760104VXRboz","algo","27896385pcIqVi","function","extend","6466452qLZwXn","_oKey","7OGMZdn","reset","words","3099XjBOJs","_iKey","clone","_hasher","sigBytes","1503EsGczv","createCommonjsModule","lib","enc","exports"];return(nd=function(){return t})()}!function(t,e){for(var s=od,i=t();;)try{if(899904===parseInt(s(306))/1*(parseInt(s(317))/2)+-parseInt(s(294))/3*(-parseInt(s(311))/4)+parseInt(s(320))/5+-parseInt(s(327))/6+parseInt(s(329))/7*(parseInt(s(322))/8)+parseInt(s(299))/9*(parseInt(s(307))/10)+-parseInt(s(324))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(nd);Yt[rd(300)]((function(t,e){var s,i,r;s=Yt[rd(309)],i=function(t){var e,s,i,r;i=(s=t)[(e=od)(301)][e(310)],r=s[e(302)].Utf8,s[e(323)][e(321)]=i[e(326)]({init:function(t,s){var i=e;t=this[i(297)]=new(t[i(316)]),typeof s==i(314)&&(s=r[i(305)](s));var n=t[i(319)],o=4*n;s[i(298)]>o&&(s=t[i(318)](s)),s[i(313)]();for(var a=this[i(328)]=s[i(296)](),h=this[i(295)]=s[i(296)](),c=a[i(293)],l=h[i(293)],d=0;d>>2];t[e(505)]-=s}};n[i(522)]=u.extend({cfg:u[i(492)][i(557)]({mode:m,padding:g}),reset:function(){var t,e=i;u.reset[e(520)](this);var s=this[e(492)],r=s.iv,n=s.mode;this[e(504)]==this[e(490)]?t=n[e(532)]:(t=n.createDecryptor,this._minBufferSize=1),this[e(525)]&&this._mode[e(481)]==t?this[e(525)][e(488)](this,r&&r[e(534)]):(this[e(525)]=t.call(n,this,r&&r[e(534)]),this[e(525)][e(481)]=t)},_doProcessBlock:function(t,e){var s=i;this[s(525)][s(556)](t,e)},_doFinalize:function(){var t,e=i,s=this.cfg[e(480)];return this[e(504)]==this[e(490)]?(s[e(495)](this[e(548)],this[e(508)]),t=this[e(559)](!!e(538))):(t=this[e(559)](!!e(538)),s[e(484)](t)),t},blockSize:4});var A=n[i(513)]=o[i(557)]({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),y=(r[i(523)]={})[i(543)]={stringify:function(t){var e=i,s=t.ciphertext,r=t[e(483)];return(r?a.create([1398893684,1701076831])[e(482)](r).concat(s):s)[e(500)](l)},parse:function(t){var e,s=i,r=l[s(545)](t),n=r[s(534)];return 1398893684==n[0]&&1701076831==n[1]&&(e=a.create(n[s(515)](2,4)),n[s(486)](0,4),r[s(505)]-=16),A[s(546)]({ciphertext:r,salt:e})}},b=n.SerializableCipher=o[i(557)]({cfg:o[i(557)]({format:y}),encrypt:function(t,e,s,r){var n=i;r=this[n(492)][n(557)](r);var o=t[n(532)](s,r),a=o.finalize(e),h=o[n(492)];return A[n(546)]({ciphertext:a,key:s,iv:h.iv,algorithm:t,mode:h[n(533)],padding:h[n(480)],blockSize:t[n(508)],formatter:r[n(523)]})},decrypt:function(t,e,s,r){var n=i;return r=this[n(492)][n(557)](r),e=this._parse(e,r[n(523)]),t[n(529)](s,r).finalize(e[n(487)])},_parse:function(t,e){var s=i;return typeof t==s(503)?e[s(545)](t,this):t}}),v=(r.kdf={}).OpenSSL={execute:function(t,e,s,r,n){var o=i;if(!r&&(r=a.random(8)),n)h=d.create({keySize:e+s,hasher:n})[o(530)](t,r);else var h=d.create({keySize:e+s})[o(530)](t,r);var c=a[o(546)](h[o(534)][o(515)](e),4*s);return h[o(505)]=4*e,A.create({key:h,iv:c,salt:r})}},S=n[i(531)]=b[i(557)]({cfg:b[i(492)][i(557)]({kdf:v}),encrypt:function(t,e,s,r){var n=i,o=(r=this.cfg[n(557)](r))[n(507)][n(558)](s,t[n(497)],t[n(493)],r[n(483)],r[n(527)]);r.iv=o.iv;var a=b[n(539)].call(this,t,e,o[n(555)],r);return a.mixIn(o),a},decrypt:function(t,e,s,r){var n=i;r=this[n(492)][n(557)](r),e=this[n(498)](e,r[n(523)]);var o=r[n(507)].execute(s,t[n(497)],t[n(493)],e.salt,r[n(527)]);return r.iv=o.iv,b[n(510)][n(520)](this,t,e,o[n(555)],r)}})}()},(r=pd)(491)==r(491)?t.exports=i(vl):"undefined"===r(552)&&(void 0).amd?(void 0)(["./core",r(544)],i):i(s[r(536)])}));function pd(t,e){var s=ud();return(pd=function(t,e){return s[t-=475]})(t,e)}var fd=md;function md(t,e){var s=gd();return(md=function(t,e){return s[t-=468]})(t,e)}!function(t,e){for(var s=md,i=t();;)try{if(297907===parseInt(s(472))/1*(-parseInt(s(480))/2)+parseInt(s(469))/3+parseInt(s(493))/4+-parseInt(s(470))/5+-parseInt(s(483))/6*(-parseInt(s(476))/7)+-parseInt(s(474))/8*(-parseInt(s(477))/9)+-parseInt(s(487))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(gd);Yt[fd(495)]((function(t,e){var s,i,r,n=fd;s=Yt[n(471)],i=function(t){var e=n;return t[e(496)][e(479)]=function(){var s=e,i=t[s(491)].BlockCipherMode[s(488)]();function r(t,e,i,r){var n,o=s,a=this[o(497)];a?(n=a.slice(0),this[o(497)]=void 0):n=this[o(492)],r[o(486)](n,0);for(var h=0;h>24&255)){var e=t>>16&255,s=t>>8&255,i=255&t;255===e?(e=0,255===s?(s=0,255===i?i=0:++i):++s):++e,t=0,t+=e<<16,t+=s<<8,t+=i}else t+=1<<24;return t}var n=i[s(382)]=i[s(366)]({processBlock:function(t,e){var i,n=s,o=this[n(381)],a=o[n(362)],h=this[n(379)],c=this._counter;h&&(c=this[n(387)]=h[n(359)](0),this[n(379)]=void 0),0===((i=c)[0]=r(i[0]))&&(i[1]=r(i[1]));var l=c[n(359)](0);o[n(373)](l,0);for(var d=0;d>>2]|=o<<24-a%4*8,t.sigBytes+=o},unpad:function(t){var s=e,i=255&t[s(173)][t[s(178)]-1>>>2];t[s(178)]-=i}},t.pad[e(159)]},"object"===(r=Dd)(182)?t[r(163)]=i(vl):"undefined"===r(169)&&(void 0)[r(167)]?(void 0)(["./core",r(170)],i):i(s[r(176)])}));var Ld=xd;function xd(t,e){var s=Pd();return(xd=function(t,e){return s[t-=230]})(t,e)}function Pd(){var t=["1432497ZYCgll","lib","./cipher-core","WordArray","commonjsGlobal","sigBytes","11559KqHSkS","exports","createCommonjsModule","2465kOXZLw","concat","./core","908980GAzfOE","pad","30PrFRbz","CryptoJS","1268829HJVzyr","360cpnsGc","8EFQSEb","207230EYmqgO","create","object","Iso10126","4wQqcYY","function","words","random","426867IFESdY"];return(Pd=function(){return t})()}!function(t,e){for(var s=xd,i=t();;)try{if(171448===-parseInt(s(236))/1+-parseInt(s(240))/2*(parseInt(s(251))/3)+parseInt(s(257))/4+-parseInt(s(254))/5*(parseInt(s(234))/6)+-parseInt(s(244))/7+-parseInt(s(235))/8*(parseInt(s(233))/9)+-parseInt(s(231))/10*(-parseInt(s(245))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Pd);Yt[Ld(253)]((function(t,e){var s,i,r,n=Ld;s=Yt[n(249)],i=function(t){var e=n;return t.pad[e(239)]={pad:function(s,i){var r=e,n=4*i,o=n-s[r(250)]%n;s[r(255)](t[r(246)].WordArray[r(243)](o-1))[r(255)](t[r(246)][r(248)][r(237)]([o<<24],1))},unpad:function(t){var s=e,i=255&t[s(242)][t.sigBytes-1>>>2];t[s(250)]-=i}},t[e(230)].Iso10126},(r=xd)(238)==r(238)?t[r(252)]=i(vl):"undefined"===r(241)&&(void 0).amd?(void 0)([r(256),r(247)],i):i(s[r(232)])}));var Bd=Md;function Md(t,e){var s=Fd();return(Md=function(t,e){return s[t-=436]})(t,e)}function Fd(){var t=["1127108VZJFcV","WordArray","./core","Iso97971","1312116GjedLF","CryptoJS","sigBytes","create","1208232JywwAl","object","concat","pad","amd","64520CvPVWN","1614GaJBPk","184OKdaSu","lib","27128lqNqaj","44AMIEdO","1224CTDaei","2369001PSySme","5BqaZoO","createCommonjsModule","ZeroPadding","exports","511AKeAyD"];return(Fd=function(){return t})()}!function(t,e){for(var s=Md,i=t();;)try{if(581555===parseInt(s(453))/1*(parseInt(s(452))/2)+-parseInt(s(458))/3+-parseInt(s(438))/4*(-parseInt(s(459))/5)+parseInt(s(442))/6+parseInt(s(437))/7*(parseInt(s(455))/8)+-parseInt(s(457))/9*(-parseInt(s(451))/10)+-parseInt(s(456))/11*(parseInt(s(446))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fd);Yt[Bd(460)]((function(t,e){var s,i,r;s=Wt,i=function(t){var e=Md;return t[e(449)].Iso97971={pad:function(s,i){var r=e;s[r(448)](t[r(454)][r(439)][r(445)]([2147483648],1)),t[r(449)][r(461)][r(449)](s,i)},unpad:function(s){var i=e;t[i(449)][i(461)].unpad(s),s[i(444)]--}},t[e(449)][e(441)]},"object"===(r=Md)(447)?t[r(436)]=i(vl):i(s[r(443)])}));var Od=Ud;function Ud(t,e){var s=jd();return(Ud=function(t,e){return s[t-=477]})(t,e)}!function(t,e){for(var s=Ud,i=t();;)try{if(347753===-parseInt(s(495))/1+parseInt(s(493))/2*(parseInt(s(496))/3)+-parseInt(s(484))/4+parseInt(s(487))/5*(parseInt(s(488))/6)+-parseInt(s(489))/7*(-parseInt(s(486))/8)+parseInt(s(477))/9+-parseInt(s(480))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(jd);Yt[Od(478)]((function(t,e){var s,i,r,n=Od;s=Yt[n(494)],i=function(t){var e=n;return t.pad.ZeroPadding={pad:function(t,e){var s=Ud,i=4*e;t[s(485)](),t[s(490)]+=i-(t[s(490)]%i||i)},unpad:function(t){var e=Ud,s=t[e(492)],i=t[e(490)]-1;for(i=t.sigBytes-1;i>=0;i--)if(s[i>>>2]>>>24-i%4*8&255){t.sigBytes=i+1;break}}},t[e(479)][e(482)]},(r=Ud)(497)==r(497)?t.exports=i(vl):"undefined"===r(481)&&(void 0)[r(491)]?(void 0)(["./core",r(483)],i):i(s[r(498)])}));function jd(){var t=["3243357olVGCY","createCommonjsModule","pad","9349670BgNtoq","function","ZeroPadding","./cipher-core","592720udQPBQ","clamp","8fKMYjm","80sxhJkm","225942XZrRik","3301781wEJFAf","sigBytes","amd","words","69722hoEjpj","commonjsGlobal","38529VsPHhu","3MjYTar","object","CryptoJS"];return(jd=function(){return t})()}var Nd=zd;function Vd(){var t=["NoPadding","exports","object","14999110tUFUId","7170966pHoFEl","amd","913848OsOvOv","82924MKBinf","pad","75733692WxFpOT","./core","88FMKThr","7dhDncZ","840303SknyNr","11xQanCt","commonjsGlobal","CryptoJS","4vIiIhb","85sSEbEq","678516cgPwvG","createCommonjsModule"];return(Vd=function(){return t})()}function zd(t,e){var s=Vd();return(zd=function(t,e){return s[t-=114]})(t,e)}!function(t,e){for(var s=zd,i=t();;)try{if(870413===-parseInt(s(129))/1+parseInt(s(119))/2*(-parseInt(s(121))/3)+parseInt(s(130))/4*(-parseInt(s(120))/5)+-parseInt(s(127))/6*(parseInt(s(114))/7)+-parseInt(s(134))/8*(parseInt(s(115))/9)+-parseInt(s(126))/10+parseInt(s(116))/11*(parseInt(s(132))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Vd);Yt[Nd(122)]((function(t,e){var s,i,r,n=Nd;s=Yt[n(117)],i=function(t){var e=n;return t[e(131)][e(123)]={pad:function(){},unpad:function(){}},t[e(131)].NoPadding},"object"===(r=zd)(125)?t[r(124)]=i(vl):i(s[r(118)])}));var Gd=Hd;!function(t,e){for(var s=Hd,i=t();;)try{if(651211===parseInt(s(149))/1*(parseInt(s(143))/2)+parseInt(s(128))/3+parseInt(s(127))/4+parseInt(s(135))/5+parseInt(s(142))/6*(-parseInt(s(141))/7)+-parseInt(s(140))/8*(-parseInt(s(129))/9)+parseInt(s(133))/10*(-parseInt(s(139))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Wd);Yt[Gd(134)]((function(t,e){var s,i,r,n=Gd;s=Yt[n(150)],i=function(t){var e,s,i,r,o=n;return i=(s=t)[(e=Hd)(126)].CipherParams,r=s.enc.Hex,s[e(138)][e(147)]={stringify:function(t){var s=e;return t[s(137)][s(131)](r)},parse:function(t){var s=e,n=r.parse(t);return i[s(148)]({ciphertext:n})}},t.format[o(147)]},"object"===(r=Hd)(136)?t[r(144)]=i(vl):"undefined"===r(146)&&(void 0)[r(130)]?(void 0)(["./core",r(145)],i):i(s[r(132)])}));function Hd(t,e){var s=Wd();return(Hd=function(t,e){return s[t-=126]})(t,e)}function Wd(){var t=["3430mBbFBm","createCommonjsModule","4507760qynBOG","object","ciphertext","format","46387MdFOSt","2229512dtNLNh","7520940avSGFu","6eTGkox","18gTGIAh","exports","./cipher-core","function","Hex","create","139303KyXAtI","commonjsGlobal","lib","520376xpJiou","151866NZeirW","27RjOIxB","amd","toString","CryptoJS"];return(Wd=function(){return t})()}var Kd=Yd;function Qd(){var t=["_nRounds","./core","_invKeySchedule","object","createCommonjsModule","4873330hdJbKm","1UDMSqq","6346016GLxsWy","5lFQnll","21saRoVD","./cipher-core","AES","sigBytes","function","_createHelper","./enc-base64","./md5","3415809lCmWDn","_key","_keyPriorReset","BlockCipher","lib","_keySchedule","extend","646638qgNHTi","words","algo","CryptoJS","_doCryptBlock","307336ErIvsc","amd","7040316UgtcKc","commonjsGlobal","11223837EUpDXJ","40SHaQUp","exports"];return(Qd=function(){return t})()}function Yd(t,e){var s=Qd();return(Yd=function(t,e){return s[t-=337]})(t,e)}!function(t,e){for(var s=Yd,i=t();;)try{if(811942===-parseInt(s(349))/1*(parseInt(s(367))/2)+parseInt(s(360))/3+parseInt(s(350))/4*(-parseInt(s(351))/5)+parseInt(s(338))/6+parseInt(s(352))/7*(-parseInt(s(372))/8)+-parseInt(s(340))/9+-parseInt(s(341))/10*(-parseInt(s(348))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Qd);Yt[Kd(347)]((function(t,e){var s,i,r,n=Kd;s=Yt[n(339)],i=function(t){var e=n;return function(){var e=Yd,s=t,i=s[e(364)][e(363)],r=s[e(369)],n=[],o=[],a=[],h=[],c=[],l=[],d=[],u=[],p=[],f=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var s=0,i=0;for(e=0;e<256;e++){var r=i^i<<1^i<<2^i<<3^i<<4;r=r>>>8^255&r^99,n[s]=r,o[r]=s;var m=t[s],g=t[m],A=t[g],y=257*t[r]^16843008*r;a[s]=y<<24|y>>>8,h[s]=y<<16|y>>>16,c[s]=y<<8|y>>>24,l[s]=y,y=16843009*A^65537*g^257*m^16843008*s,d[r]=y<<24|y>>>8,u[r]=y<<16|y>>>16,p[r]=y<<8|y>>>24,f[r]=y,s?(s=m^t[t[t[A^m]]],i^=t[t[i]]):s=i=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],g=r[e(354)]=i[e(366)]({_doReset:function(){var t=e;if(!this[t(343)]||this[t(362)]!==this._key){for(var s=this[t(362)]=this[t(361)],i=s[t(368)],r=s[t(355)]/4,o=4*((this[t(343)]=r+6)+1),a=this._keySchedule=[],h=0;h6&&h%r==4&&(g=n[g>>>24]<<24|n[g>>>16&255]<<16|n[g>>>8&255]<<8|n[255&g]):(g=n[(g=g<<8|g>>>24)>>>24]<<24|n[g>>>16&255]<<16|n[g>>>8&255]<<8|n[255&g],g^=m[h/r|0]<<24),a[h]=a[h-r]^g);for(var c=this[t(345)]=[],l=0;l>>24]]^u[n[g>>>16&255]]^p[n[g>>>8&255]]^f[n[255&g]]}}},encryptBlock:function(t,s){var i=e;this[i(371)](t,s,this[i(365)],a,h,c,l,n)},decryptBlock:function(t,s){var i=e,r=t[s+1];t[s+1]=t[s+3],t[s+3]=r,this._doCryptBlock(t,s,this[i(345)],d,u,p,f,o),r=t[s+1],t[s+1]=t[s+3],t[s+3]=r},_doCryptBlock:function(t,e,s,i,r,n,o,a){for(var h=this._nRounds,c=t[e]^s[0],l=t[e+1]^s[1],d=t[e+2]^s[2],u=t[e+3]^s[3],p=4,f=1;f>>24]^r[l>>>16&255]^n[d>>>8&255]^o[255&u]^s[p++],g=i[l>>>24]^r[d>>>16&255]^n[u>>>8&255]^o[255&c]^s[p++],A=i[d>>>24]^r[u>>>16&255]^n[c>>>8&255]^o[255&l]^s[p++],y=i[u>>>24]^r[c>>>16&255]^n[l>>>8&255]^o[255&d]^s[p++];c=m,l=g,d=A,u=y}m=(a[c>>>24]<<24|a[l>>>16&255]<<16|a[d>>>8&255]<<8|a[255&u])^s[p++],g=(a[l>>>24]<<24|a[d>>>16&255]<<16|a[u>>>8&255]<<8|a[255&c])^s[p++],A=(a[d>>>24]<<24|a[u>>>16&255]<<16|a[c>>>8&255]<<8|a[255&l])^s[p++],y=(a[u>>>24]<<24|a[c>>>16&255]<<16|a[l>>>8&255]<<8|a[255&d])^s[p++],t[e]=m,t[e+1]=g,t[e+2]=A,t[e+3]=y},keySize:8});s[e(354)]=i[e(357)](g)}(),t[e(354)]},(r=Yd)(346)==r(346)?t[r(342)]=i(vl):"undefined"===r(356)&&(void 0)[r(337)]?(void 0)([r(344),r(358),r(359),"./evpkdf",r(353)],i):i(s[r(370)])}));var qd=Xd;function Jd(){var t=["encryptBlock","decryptBlock","./enc-base64","lib","DES","exports","length","2652400JMkaKC","16LDMxIq","2803332QJbmeN","4021975OhDWwu","extend","Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.","621702uInJdn","./md5","_rBlock","createCommonjsModule","_des1","TripleDES","commonjsGlobal","_doCryptBlock","8jvuxFB","120181aiSKXT","createEncryptor","amd","algo","_subKeys","object","CryptoJS","slice","call","2114796YThCMm","function","610DwsPbv","create","267102pUujoN","_invSubKeys","_key","_des3","_lBlock","_createHelper","./core"];return(Jd=function(){return t})()}function Xd(t,e){var s=Jd();return(Xd=function(t,e){return s[t-=401]})(t,e)}!function(t,e){for(var s=Xd,i=t();;)try{if(540286===parseInt(s(427))/1*(parseInt(s(426))/2)+-parseInt(s(436))/3+parseInt(s(412))/4+-parseInt(s(415))/5+-parseInt(s(418))/6+-parseInt(s(414))/7*(parseInt(s(413))/8)+-parseInt(s(440))/9*(-parseInt(s(438))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Jd);Yt[qd(421)]((function(t,e){var s,i,r,n=qd;s=Yt[n(424)],i=function(t){var e=n;return function(){var e=Xd,s=t,i=s[e(408)],r=i.WordArray,n=i.BlockCipher,o=s[e(430)],a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],h=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=o.DES=n[e(416)]({_doReset:function(){for(var t=e,s=this[t(442)].words,i=[],r=0;r<56;r++){var n=a[r]-1;i[r]=s[n>>>5]>>>31-n%32&1}for(var o=this[t(431)]=[],l=0;l<16;l++){var d=o[l]=[],u=c[l];for(r=0;r<24;r++)d[r/6|0]|=i[(h[r]-1+u)%28]<<31-r%6,d[4+(r/6|0)]|=i[28+(h[r+24]-1+u)%28]<<31-r%6;for(d[0]=d[0]<<1|d[0]>>>31,r=1;r<7;r++)d[r]=d[r]>>>4*(r-1)+3;d[7]=d[7]<<5|d[7]>>>27}var p=this[t(441)]=[];for(r=0;r<16;r++)p[r]=o[15-r]},encryptBlock:function(t,s){var i=e;this[i(425)](t,s,this[i(431)])},decryptBlock:function(t,s){var i=e;this[i(425)](t,s,this[i(441)])},_doCryptBlock:function(t,s,i){var r=e;this[r(402)]=t[s],this[r(420)]=t[s+1],p[r(435)](this,4,252645135),p.call(this,16,65535),f[r(435)](this,2,858993459),f[r(435)](this,8,16711935),p.call(this,1,1431655765);for(var n=0;n<16;n++){for(var o=i[n],a=this[r(402)],h=this[r(420)],c=0,u=0;u<8;u++)c|=l[u][((h^o[u])&d[u])>>>0];this[r(402)]=h,this[r(420)]=a^c}var m=this[r(402)];this[r(402)]=this[r(420)],this._rBlock=m,p[r(435)](this,1,1431655765),f[r(435)](this,8,16711935),f.call(this,2,858993459),p[r(435)](this,16,65535),p[r(435)](this,4,252645135),t[s]=this[r(402)],t[s+1]=this[r(420)]},keySize:2,ivSize:2,blockSize:2});function p(t,s){var i=e,r=(this[i(402)]>>>t^this[i(420)])&s;this[i(420)]^=r,this[i(402)]^=r<>>t^this[i(402)])&s;this._lBlock^=r,this._rBlock^=r<>>2]>>>24-h%4*8&255;a=(a+n[o]+c)%256;var l=n[o];n[o]=n[a],n[a]=l}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var t=this._S,e=this._i,s=this._j,i=0,r=0;r<4;r++){s=(s+t[e=(e+1)%256])%256;var n=t[e];t[e]=t[s],t[s]=n,i|=t[(t[e]+t[s])%256]<<24-8*r}return this._i=e,this._j=s,i}s.RC4=i._createHelper(n);var a=r.RC4Drop=n.extend({cfg:n[e(301)].extend({drop:192}),_doReset:function(){var t=e;n[t(311)][t(295)](this);for(var s=this.cfg[t(302)];s>0;s--)o[t(295)](this)}});s[e(313)]=i[e(312)](a)}(),t[e(292)]},"object"===(r=tu)(287)?t[r(293)]=i(vl):"undefined"===r(283)&&(void 0)[r(291)]?(void 0)([r(299),"./enc-base64",r(315),r(310),r(296)],i):i(s[r(309)])}));var eu=iu;function su(){var t=["createCommonjsModule","words","./md5","402583hwLFVT","CryptoJS","Rabbit","call","object","3494712WhDsoJ","840VHOZCr","2AOKyYB","27708xssegL","exports","1120490UcXUXK","42QYGDrM","33700755lpcprP","lib","424uzOwfs","171865FTXPpw","103473MTwTQk","./core","function","extend","_createHelper","amd","StreamCipher","_key"];return(su=function(){return t})()}function iu(t,e){var s=su();return(iu=function(t,e){return s[t-=497]})(t,e)}!function(t,e){for(var s=iu,i=t();;)try{if(803500===parseInt(s(507))/1*(parseInt(s(514))/2)+parseInt(s(515))/3*(-parseInt(s(521))/4)+-parseInt(s(522))/5+parseInt(s(518))/6*(-parseInt(s(517))/7)+parseInt(s(512))/8+parseInt(s(523))/9*(-parseInt(s(513))/10)+parseInt(s(519))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(su);Yt[eu(504)]((function(t,e){var s,i,r;s=Wt,i=function(t){var e=iu;return function(){var e=iu,s=t,i=s[e(520)][e(502)],r=s.algo,n=[],o=[],a=[],h=r[e(509)]=i[e(499)]({_doReset:function(){for(var t=e,s=this[t(503)][t(505)],i=this.cfg.iv,r=0;r<4;r++)s[r]=16711935&(s[r]<<8|s[r]>>>24)|4278255360&(s[r]<<24|s[r]>>>8);var n=this._X=[s[0],s[3]<<16|s[2]>>>16,s[1],s[0]<<16|s[3]>>>16,s[2],s[1]<<16|s[0]>>>16,s[3],s[2]<<16|s[1]>>>16],o=this._C=[s[2]<<16|s[2]>>>16,4294901760&s[0]|65535&s[1],s[3]<<16|s[3]>>>16,4294901760&s[1]|65535&s[2],s[0]<<16|s[0]>>>16,4294901760&s[2]|65535&s[3],s[1]<<16|s[1]>>>16,4294901760&s[3]|65535&s[0]];for(this._b=0,r=0;r<4;r++)c[t(510)](this);for(r=0;r<8;r++)o[r]^=n[r+4&7];if(i){var a=i[t(505)],h=a[0],l=a[1],d=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),u=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),p=d>>>16|4294901760&u,f=u<<16|65535&d;for(o[0]^=d,o[1]^=p,o[2]^=u,o[3]^=f,o[4]^=d,o[5]^=p,o[6]^=u,o[7]^=f,r=0;r<4;r++)c[t(510)](this)}},_doProcessBlock:function(t,s){var i=e,r=this._X;c[i(510)](this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var o=0;o<4;o++)n[o]=16711935&(n[o]<<8|n[o]>>>24)|4278255360&(n[o]<<24|n[o]>>>8),t[s+o]^=n[o]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,s=0;s<8;s++)o[s]=e[s];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,s=0;s<8;s++){var i=t[s]+e[s],r=65535&i,n=i>>>16,h=((r*r>>>17)+r*n>>>15)+n*n,c=((4294901760&i)*i|0)+((65535&i)*i|0);a[s]=h^c}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}s[e(509)]=i[e(500)](h)}(),t[e(509)]},"object"===(r=iu)(511)?t[r(516)]=i(vl):"undefined"===r(498)&&(void 0)[r(501)]?(void 0)([r(497),"./enc-base64",r(506),"./evpkdf","./cipher-core"],i):i(s[r(508)])}));function ru(){var t=["call","_createHelper","CryptoJS","438707mlmkZT","6TIdzjm","5QwfBES","commonjsGlobal","cfg","7298034PbcnJs","lib","621693yfrDeO","3478755XASyYB","./cipher-core","./core","111223vTlZfX","words","extend","./md5","RabbitLegacy","6573268TfRcXW","8jBeoHX","./evpkdf","19854970FirKDt","./enc-base64","object","StreamCipher","function"];return(ru=function(){return t})()}function nu(t,e){var s=ru();return(nu=function(t,e){return s[t-=230]})(t,e)}!function(t,e){for(var s=nu,i=t();;)try{if(863999===parseInt(s(232))/1*(parseInt(s(233))/2)+parseInt(s(240))/3+parseInt(s(248))/4+-parseInt(s(234))/5*(parseInt(s(237))/6)+-parseInt(s(243))/7*(-parseInt(s(249))/8)+-parseInt(s(239))/9+-parseInt(s(251))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ru);Qt((function(t,e){var s,i,r;s=Yt[nu(235)],i=function(t){return function(){var e=nu,s=t,i=s[e(238)][e(254)],r=s.algo,n=[],o=[],a=[],h=r[e(247)]=i[e(245)]({_doReset:function(){var t=e,s=this._key.words,i=this[t(236)].iv,r=this._X=[s[0],s[3]<<16|s[2]>>>16,s[1],s[0]<<16|s[3]>>>16,s[2],s[1]<<16|s[0]>>>16,s[3],s[2]<<16|s[1]>>>16],n=this._C=[s[2]<<16|s[2]>>>16,4294901760&s[0]|65535&s[1],s[3]<<16|s[3]>>>16,4294901760&s[1]|65535&s[2],s[0]<<16|s[0]>>>16,4294901760&s[2]|65535&s[3],s[1]<<16|s[1]>>>16,4294901760&s[3]|65535&s[0]];this._b=0;for(var o=0;o<4;o++)c[t(256)](this);for(o=0;o<8;o++)n[o]^=r[o+4&7];if(i){var a=i[t(244)],h=a[0],l=a[1],d=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),u=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),p=d>>>16|4294901760&u,f=u<<16|65535&d;for(n[0]^=d,n[1]^=p,n[2]^=u,n[3]^=f,n[4]^=d,n[5]^=p,n[6]^=u,n[7]^=f,o=0;o<4;o++)c.call(this)}},_doProcessBlock:function(t,s){var i=e,r=this._X;c[i(256)](this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var o=0;o<4;o++)n[o]=16711935&(n[o]<<8|n[o]>>>24)|4278255360&(n[o]<<24|n[o]>>>8),t[s+o]^=n[o]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,s=0;s<8;s++)o[s]=e[s];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,s=0;s<8;s++){var i=t[s]+e[s],r=65535&i,n=i>>>16,h=((r*r>>>17)+r*n>>>15)+n*n,c=((4294901760&i)*i|0)+((65535&i)*i|0);a[s]=h^c}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}s.RabbitLegacy=i[e(230)](h)}(),t.RabbitLegacy},(r=nu)(253)==r(253)?t.exports=i(vl):"undefined"===r(255)&&(void 0).amd?(void 0)([r(242),r(252),r(246),r(250),r(241)],i):i(s[r(231)])}));const ou=au;function au(t,e){const s=hu();return(au=function(t,e){return s[t-=232]})(t,e)}!function(t,e){const s=au,i=t();for(;;)try{if(207067===-parseInt(s(240))/1*(-parseInt(s(246))/2)+parseInt(s(262))/3+parseInt(s(244))/4*(parseInt(s(235))/5)+-parseInt(s(258))/6+-parseInt(s(248))/7+parseInt(s(242))/8+-parseInt(s(250))/9*(-parseInt(s(263))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(hu);Yt[ou(257)]((function(t,e){const s=ou;!function(e,s,i){const r=au;"object"===r(243)?t[r(251)]=s(vl):"undefined"===r(259)&&(void 0)[r(241)]?(void 0)(["./core",r(260),r(253),r(254),"./cipher-core"],s):s(e[r(238)])}(Yt[s(236)],(function(t){const e=s;return function(){const e=au;var s=t,i=s[e(249)][e(232)],r=s.algo;const n=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var h={pbox:[],sbox:[]};function c(t,s){const i=e;let r=s>>24&255,n=s>>16&255,o=s>>8&255,a=255&s,h=t[i(234)][0][r]+t[i(234)][1][n];return h^=t[i(234)][2][o],h+=t[i(234)][3][a],h}function l(t,s,i){const r=e;let o,a=s,h=i;for(let e=0;e=i&&(n=0);let h=0,c=0,d=0;for(let e=0;e<18;e+=2)d=l(t,h,c),h=d[r(261)],c=d.right,t[r(239)][e]=h,t[r(239)][e+1]=c;for(let e=0;e<4;e++)for(let s=0;s<256;s+=2)d=l(t,h,c),h=d[r(261)],c=d[r(247)],t[r(234)][e][s]=h,t[r(234)][e][s+1]=c}(h,i,r)}},encryptBlock:function(t,s){const i=e;var r=l(h,t[s],t[s+1]);t[s]=r[i(261)],t[s+1]=r[i(247)]},decryptBlock:function(t,s){const i=e;var r=function(t,s,i){const r=e;let n,o=s,a=i;for(let e=17;e>1;--e)o^=t[r(239)][e],a=c(t,o)^a,n=o,o=a,a=n;return n=o,o=a,a=n,a^=t.pbox[1],o^=t[r(239)][0],{left:o,right:a}}(h,t[s],t[s+1]);t[s]=r[i(261)],t[s+1]=r[i(247)]},blockSize:2,keySize:4,ivSize:2});s[e(256)]=i._createHelper(d)}(),t[e(256)]}))}));function hu(){const t=["./md5","./evpkdf","extend","Blowfish","createCommonjsModule","2052654ymwLlg","function","./enc-base64","left","410862kpYfot","20LszDvT","BlockCipher","_key","sbox","3125RDsPOk","commonjsGlobal","_keyPriorReset","CryptoJS","pbox","781jvYxzC","amd","933528IKQRWo","object","964LQtrtg","sigBytes","326FowoZP","right","1082697WtCQeq","lib","775233ZhpLDs","exports","words"];return(hu=function(){return t})()}function cu(t,e){var s=du();return(cu=function(t,e){return s[t-=471]})(t,e)}var lu=cu;function du(){var t=["./format-hex","./enc-base64url","3ikFREt","object","./rabbit-legacy","12rFsTZI","./pad-iso97971","exports","./enc-base64","./evpkdf","createCommonjsModule","./lib-typedarrays","./tripledes","./aes","./blowfish","867488NYSPGg","./rabbit","./mode-ofb","./sha224","9hJfdwA","2553536PxHtqt","15883jZKvUk","14350RaATmQ","amd","./pad-ansix923","./mode-ecb","./core","./pbkdf2","./sha3","./sha384","./x64-core","./enc-utf16","./md5","CryptoJS","./mode-ctr-gladman","1080440DnWeVT","22925450udZLCS","commonjsGlobal","./sha512","./mode-ctr","1948330SfiaBW","./hmac"];return(du=function(){return t})()}!function(t,e){for(var s=cu,i=t();;)try{if(457802===-parseInt(s(488))/1+-parseInt(s(495))/2*(-parseInt(s(475))/3)+-parseInt(s(508))/4+-parseInt(s(471))/5+-parseInt(s(478))/6*(-parseInt(s(494))/7)+-parseInt(s(493))/8+-parseInt(s(492))/9*(-parseInt(s(509))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(du);var uu=Yt[lu(483)]((function(t,e){var s,i;s=Yt[lu(510)],"object"===(i=cu)(476)?t[i(480)]=vl:s.CryptoJS=s[i(506)]}));function pu(){const t=["then","toString","byteLength","3091285NYULoN","7561500ytCZxR","2039816QVbymu","6DesQIv","ModeOfOperation","7gYzwpn","741116wItNqE","1175009XUJNRj","slice","Counter","ctr","set","length","873522taKwXL","WordArray","lib","14078180quYknx","16vuclmD"];return(pu=function(){return t})()}function fu(t,e){const s=pu();return(fu=function(t,e){return s[t-=340]})(t,e)}function mu(t){return t[3]|t[2]<<8|t[1]<<16|t[0]<<24}function gu(t){const e=fu,s=[];for(let i=0;i>>2]|=t[i]<<24-i%4*8;return uu[e(352)][e(351)].create(s,t.length)}function Au(){const t=["2980230CKMnhJ","arrayBuffer.length","slice","2jGsgVA","pkcs#5","pkcs#7","substr","iv is invalid","codePointAt","error","splice","63pRfWxy","599176MKqTKy","join","key is invalid","12xXqRiZ","includes","1002267Acfuqc","length","61840toaSBS","string","push","2260686PYUpPL","867227pbWheX","fromCodePoint","set","580792TKaNcs","array","1573CoGUpC","none","map","cbc","byteLength"];return(Au=function(){return t})()}!function(t,e){const s=fu,i=t();for(;;)try{if(834462===parseInt(s(344))/1+parseInt(s(343))/2*(parseInt(s(340))/3)+-parseInt(s(360))/4+-parseInt(s(358))/5+-parseInt(s(359))/6*(-parseInt(s(342))/7)+parseInt(s(354))/8*(parseInt(s(350))/9)+-parseInt(s(353))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pu),function(t,e){const s=Lu,i=t();for(;;)try{if(436044===-parseInt(s(122))/1*(parseInt(s(135))/2)+-parseInt(s(147))/3*(-parseInt(s(125))/4)+parseInt(s(132))/5+-parseInt(s(121))/6+parseInt(s(149))/7+-parseInt(s(144))/8*(parseInt(s(143))/9)+parseInt(s(118))/10*(parseInt(s(127))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Au);const yu=16,bu=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],vu=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Su(t){const e=Lu,s=[];for(let i=0,r=t[e(117)];i{const s=e;return 1===(t=t.toString(16))[s(117)]?"0"+t:t}))[e(145)]("")}function Eu(t){const e=Lu,s=[];for(let i=0,r=t[e(117)];i>>6),s[e(120)](128|63&r);else if(r<=55295||r>=57344&&r<=65535)s[e(120)](224|r>>>12),s[e(120)](128|r>>>6&63),s[e(120)](128|63&r);else{if(!(r>=65536&&r<=1114111))throw s.push(r),new Error("input is not supported");i++,s[e(120)](240|r>>>18&28),s[e(120)](128|r>>>12&63),s[e(120)](128|r>>>6&63),s[e(120)](128|63&r)}}return s}function Iu(t){const e=Lu,s=[];for(let i=0,r=t[e(117)];i=240&&t[i]<=247?(s[e(120)](String[e(123)](((7&t[i])<<18)+((63&t[i+1])<<12)+((63&t[i+2])<<6)+(63&t[i+3]))),i+=3):t[i]>=224&&t[i]<=239?(s[e(120)](String[e(123)](((15&t[i])<<12)+((63&t[i+1])<<6)+(63&t[i+2]))),i+=2):t[i]>=192&&t[i]<=223?(s.push(String[e(123)](((31&t[i])<<6)+(63&t[i+1]))),i++):s.push(String[e(123)](t[i]));return s[e(145)]("")}function Tu(t,e){const s=31&e;return t<>>32-s}function ku(t){return(255&bu[t>>>24&255])<<24|(255&bu[t>>>16&255])<<16|(255&bu[t>>>8&255])<<8|255&bu[255&t]}function _u(t){return t^Tu(t,2)^Tu(t,10)^Tu(t,18)^Tu(t,24)}function Cu(t){return t^Tu(t,13)^Tu(t,23)}function Ru(t,e,s){const i=new Array(4),r=new Array(4);for(let e=0;e<4;e++)r[0]=255&t[4*e],r[1]=255&t[4*e+1],r[2]=255&t[4*e+2],r[3]=255&t[4*e+3],i[e]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];for(let t,e=0;e<32;e+=4)t=i[1]^i[2]^i[3]^s[e+0],i[0]^=_u(ku(t)),t=i[2]^i[3]^i[0]^s[e+1],i[1]^=_u(ku(t)),t=i[3]^i[0]^i[1]^s[e+2],i[2]^=_u(ku(t)),t=i[0]^i[1]^i[2]^s[e+3],i[3]^=_u(ku(t));for(let t=0;t<16;t+=4)e[t]=i[3-t/4]>>>24&255,e[t+1]=i[3-t/4]>>>16&255,e[t+2]=i[3-t/4]>>>8&255,e[t+3]=255&i[3-t/4]}function Du(t,e,s){const i=new Array(4),r=new Array(4);for(let e=0;e<4;e++)r[0]=255&t[0+4*e],r[1]=255&t[1+4*e],r[2]=255&t[2+4*e],r[3]=255&t[3+4*e],i[e]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let t,s=0;s<32;s+=4)t=i[1]^i[2]^i[3]^vu[s+0],e[s+0]=i[0]^=Cu(ku(t)),t=i[2]^i[3]^i[0]^vu[s+1],e[s+1]=i[1]^=Cu(ku(t)),t=i[3]^i[0]^i[1]^vu[s+2],e[s+2]=i[2]^=Cu(ku(t)),t=i[0]^i[1]^i[2]^vu[s+3],e[s+3]=i[3]^=Cu(ku(t));if(0===s)for(let t,s=0;s<16;s++)t=e[s],e[s]=e[31-s],e[31-s]=t}function Lu(t,e){const s=Au();return(Lu=function(t,e){return s[t-=117]})(t,e)}function xu(t,e,s){const i=Lu;let{padding:r=i(137),mode:n,iv:o=[],output:a=i(119)}=arguments[i(117)]>3&&void 0!==arguments[3]?arguments[3]:{};if(n===i(130)&&(typeof o===i(119)&&(o=Su(o)),16!==o[i(117)]))throw new Error(i(139));if("string"==typeof e&&(e=Su(e)),16!==e[i(117)])throw new Error(i(146));if(t="string"==typeof t?0!==s?Eu(t):Su(t):[...t],(r===i(136)||"pkcs#7"===r)&&0!==s){const e=yu-t.length%yu;for(let s=0;s=yu;){const e=t[i(134)](u,u+16),r=new Array(16);if(n===i(130))for(let t=0;tt.length&&i+r<=s.length?t[n(161)]-e:i+r>s.length&&e+r<=t.length?s.length-i:e+r<=t.length&&i+r<=s[n(161)]?r:s[n(161)]>24&255,t>>16&255,t>>8&255,255&t)}function Hu(t,e){var s=qu;return e+3>>19)^(i<<23|i>>>9)}function Qu(t,e){var s=new Array(36);s[0]=Hu(e,0),s[1]=Hu(e,4),s[2]=Hu(e,8),s[3]=Hu(e,12);for(var i=0;i<32;i++)s[i+4]=s[i]^Yu(s[i+1]^s[i+2]^s[i+3]^t[i]);var r=new Array(4);for(i=35;i>=32;i--)r[35-i]=s[i];return function(t){for(var e=qu,s=new Array(4*t[e(161)]),i=0;i>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function qu(t,e){var s=Xu();return(qu=function(t,e){return s[t-=158]})(t,e)}function Ju(t,e,s){var i=qu;if(null==t||null==t||t[i(161)]%16!=0)return console[i(169)](i(165)),null;if(null==s||null==s||s[i(161)]<=0)return console[i(169)](i(170)),null;if(null==e||null==e||e[i(161)]%16!=0)return console.log(i(177)),null;for(var r=Wu(t),n=Math[i(166)](s[i(161)]/16),o=new Array(s[i(161)]),a=e[i(171)](),h=0;h timestamp is ","isEmitSEI","isDemuxDecodeFirstIIframeInit","hasAudio","startPlaybackLoopInterval","\n maybe trigger black screen or flower screen",",bufferList is ","type","videoBuffer","initInterval() and is worker stream so return","isXorCrypto opt.xorCryptoKey is null","_doDecodeByHls() player is destroyed or closed"," an set streamFps is 25","wcsDecodeAudio","5094446EVUvYs"," > ","mp4"," more than ","_doDecode"," ts is ","getDelay() and preDelayTimestamp is ","_isEnhancedH265Header","off","dropping","addAudio","demux() isVideoSequenceHeader(enhancedH265) is true and nalUnitSize is ","cryptoPayloadAudio","bufferStartLocalTs","startTimestamp","pushBuffer(), isDropSameTimestampGop is true and\n hasIframe is ","isRecordTypeMp4",",\n diff is ","recording",", and hasAudio is ","_basefps","firstTimestamp","handleRecording",", streamVideoFps is ","playbackCacheBeforeDecodeForFpsRender, bufferListLength is "," and preTsDuration is ","_decodeEnhancedH265Video","hasIframeInBufferList","pushLatestDelay","initInterval() and is vod mp4 so return","isPlayback","isUseMSE","prevPayloadBufferSize"," null",", isVideoSequenceHeader is true","getNotDroppingDelayTs","getStreamType","addVideoSequenceHeader",",\n delay is ","sm4CryptoKey","\n diff is ","pushBuffer() audio ts is ","initInterval() and is hls and support hls265 so return","getPlaybackRate","handleAddAudioTrack","FT_KEY"," and\n ts is ","isDropping","isCryptoAudio","videoInfo.encTypeCode is ","isStreamTsMoreThanLocal"," ,delay is "," and isVideoAndNextAudio is ","now"," and\n ts is ",", data.type is ","getTime","clearStopInterval","isAllIframeInBufferList","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","isRecordTypeFlv","isPlayer","map","calcNetworkDelay dts is ",", set dropping is true","findIndex","cryptoKey","ms and return -1","preIframeTs","pushBuffer() video and isIFrame is ","pushBuffer() video ts is ","video","isPlayVodMp4","updateStats","decoderWorker","kSliceSEI","2390262trCalH"," pushBuffer video ts is ","getVideoInfo",", bufferListLength is ","ceil","slice","audio","isDestroyedOrClosed","useWCS, pushLatestDelay is ","networkDelayTimeout","payload","isXorCrypto"," and next drop buffer","clearBuffer,buffer length is ","isM7sCrypto"," and maxDiff is ","preTimestampDuration","videoBufferDelay",",\n diff is "," data.type is ","nalUnitSize","initPlaybackCacheLoop"," and\n bufferList is ","calcIframeIntervalTimestamp","_postMessageToLoopWorker","8nGbODv","encTypeCode","h265","initInterval"," and isNotPushDropping is ","isHistoryIntervalDiffTimeAllLarge","_opt","forEach",", isAacCodecPacket is true","4412511OUqFRo","preFrameTs","handlePlaybackPause","resetAllDelay",", need clear is ","loop demux diff time is ","preTimestamp","_calcDecodeFps","addAACSequenceHeader","useWCS","updateNalUnitSize"];return($u=function(){return t})()}function tp(t,e){const s=$u();return(tp=function(t,e){return s[t-=465]})(t,e)}!function(t,e){const s=tp,i=t();for(;;)try{if(753083===-parseInt(s(644))/1+parseInt(s(651))/2*(-parseInt(s(607))/3)+parseInt(s(530))/4*(-parseInt(s(580))/5)+parseInt(s(505))/6+-parseInt(s(688))/7*(-parseInt(s(659))/8)+parseInt(s(539))/9+parseInt(s(640))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}($u);class ep extends mi{constructor(t){const e=tp;super(),this[e(668)]=e(626),this[e(623)]=t,this[e(569)]=null,this[e(709)]=null,this.startTimestamp=null,this[e(577)]=null,this.preLoopTimestamp=null,this[e(610)]=null,this.bufferStartLocalTs=null,this.preIframeTs=null,this[e(540)]=null,this[e(545)]=null,this.preTimestampDuration=0,this[e(720)]=0,this[e(479)]=!1,this[e(641)]=-1,this[e(716)]=-1,this[e(618)]=[],this.historyIntervalDiffTimeList=[],this[e(614)]=[],this[e(642)]=null,this[e(553)]=null,this[e(622)]=null,this[e(697)]=!1,this[e(634)]=!1,this[e(525)]=null,this[e(533)](),this[e(601)]()}[Zu(603)](){const t=Zu;this[t(486)](),this[t(618)]=[],this[t(627)]=[],this[t(614)]=[],this[t(642)]=null,this.playbackStreamAudioFps=null,this[t(622)]=null,this[t(709)]=null,this[t(702)]=null,this[t(610)]=null,this[t(701)]=null,this[t(577)]=null,this.preLoopTimestamp=null,this.preIframeTs=null,this.preTimestamp=null,this.preTimestampDuration=0,this[t(720)]=0,this[t(479)]=!1,this[t(641)]=-1,this.pushLatestDelay=-1,this[t(697)]=!1,this.isPushDropping=!1,this.nalUnitSize=null,this[t(696)](),this[t(623)][t(606)](t(626),"destroy")}[Zu(601)](){const t=Zu;this[t(623)][t(635)]()&&this.player[t(643)]()&&(this[t(623)][t(606)](this[t(668)],t(601)),this[t(623)].on(B[t(638)],this[t(541)].bind(this)))}[Zu(476)](){const t=Zu;return this.dropping||this[t(634)]}getDelay(t,e){const s=Zu;if(!t||!this[s(623)].isDemuxDecodeFirstIIframeInit())return-1;if(e===R.audio)return this[s(641)];if(this.preDelayTimestamp&&this.preDelayTimestamp>t)return this[s(577)]-t>1e3&&this[s(623)][s(554)](s(626),s(694)+this.preDelayTimestamp+" > timestamp is "+t+s(691)+(this[s(577)]-t)+s(605)+this[s(641)]),this[s(577)]=t,this[s(641)];if(this.firstTimestamp){if(t){const e=Date[s(482)]()-this[s(702)],i=t-this.firstTimestamp;e>=i?(this[s(479)]=!1,this.delay=e-i):(this[s(479)]=!0,this[s(641)]=i-e)}}else this[s(709)]=t,this.startTimestamp=Date.now(),this[s(641)]=-1;return this[s(577)]=t,this[s(641)]}getDelayNotUpdateDelay(t,e){const s=Zu;if(!t||!this[s(623)][s(676)]())return-1;if(e===R.audio)return this[s(716)];if(this[s(577)]&&this[s(577)]-t>1e3)return this[s(623)][s(554)](s(626),"getDelayNotUpdateDelay() and preDelayTimestamp is "+this[s(577)]+s(674)+t+s(691)+(this[s(577)]-t)+s(496)),-1;if(this[s(709)]){let e=-1;if(t){const i=Date[s(482)]()-this[s(702)],r=t-this[s(709)];e=i>=r?i-r:r-i}return e}return-1}[Zu(658)](){const t=Zu;this[t(709)]=null,this[t(702)]=null,this[t(641)]=-1,this[t(697)]=!1}resetAllDelay(){const t=Zu;this[t(658)](),this[t(577)]=null}[Zu(533)](){const t=Zu;this[t(623)][t(501)]()?this.player[t(606)](t(626),t(717)):this[t(623)].isUseHls265()?this.player[t(606)](t(626),t(471)):-1===this[t(623)][t(465)]().indexOf(h.worker)?this[t(623)][t(566)]()?this.player[t(606)](t(626),"initInterval() and playback and playbackIsCacheBeforeDecodeForFpsRender is true so return"):(this.player[t(606)]("CommonDemux",t(568)),this[t(657)](),this.stopId=setInterval((()=>{const e=t;if(this[e(623)][e(512)]())return;let s=(new Date)[e(485)]();!this[e(565)]&&(this[e(565)]=s);const i=s-this[e(565)];this[e(656)](i),i>100&&this[e(623)][e(554)](e(626),e(544)+i),this[e(657)](),this.preLoopTimestamp=(new Date)[e(485)]()}),20)):this[t(623)].debugLog("CommonDemux",t(683))}clearStopInterval(){const t=Zu;this.stopId&&(clearInterval(this[t(569)]),this[t(569)]=null)}[Zu(678)](){this.initPlaybackCacheLoop()}[Zu(656)](t){const e=Zu;this.historyIntervalDiffTimeList[e(595)]>5&&this[e(627)][e(582)](),this.historyIntervalDiffTimeList[e(571)](t)}[Zu(535)](){const t=Zu;if(this[t(627)][t(595)]<5)return!1;for(let e=0;e{const t=tp;let e=null;this[t(618)][t(595)]&&(e=this[t(618)][t(582)](),this[t(617)](e))};e();const s=Math[t(509)](1e3/(this[t(642)]*this[t(623)][t(472)]()));this.player[t(606)](t(626),t(669)+s+", playbackStreamFps is "+this[t(642)]+", playbackRate is "+this[t(623)].getPlaybackRate()),this[t(569)]=setInterval(e,s)}[Zu(657)](){const t=Zu;let e;const s=this[t(623)][t(536)][t(682)],i=this[t(623)][t(536)][t(522)],r=this[t(623)][t(536)][t(559)]===c[t(623)];if(this[t(618)][t(595)]){if(this[t(634)])return void this.player.debugWarn(t(626),"_loop isPushDropping is true and bufferList length is "+this[t(618)][t(595)]);if(this[t(697)]){for(e=this[t(618)][t(582)](),this.player[t(554)]("CommonDemux","_loop is dropping and data.ts is "+e.ts+t(484)+e[t(681)]+t(574)+e[t(587)]+t(589)+this.delay+t(597)+this[t(618)][t(595)]);!e[t(587)]&&this[t(618)][t(595)];)e=this[t(618)].shift();const s=this[t(664)](e.ts,e[t(681)]);e[t(587)]&&s<=this[t(723)]()&&(this.player[t(606)](t(626),t(552)+this[t(641)]),this.dropping=!1,this[t(617)](e),this[t(616)](e))}else if(this[t(623)][t(718)]()||this.player.isPlayUseMSE()||0===s||this[t(623)][t(562)]())for(;this[t(618)][t(595)];)e=this[t(618)][t(582)](),this[t(617)](e);else if(e=this[t(618)][0],-1===this[t(652)](e.ts,e[t(681)]))this[t(623)][t(606)](t(626),t(645)+e.ts+t(524)+e[t(681)]),this.bufferList.shift(),this[t(617)](e),this[t(616)](e);else if(this[t(641)]>i+s&&r)this[t(715)]()?(this[t(623)].debugWarn(t(626),t(670)+this.delay+t(493)),this[t(542)](),this[t(697)]=!0,this[t(623)][t(502)]({isDropping:!0})):(this[t(618)].shift(),this[t(617)](e),this[t(616)](e));else for(;this[t(618)][t(595)];){if(e=this[t(618)][0],!(this.getDelay(e.ts,e[t(681)])>s)){this.delay<0&&this[t(623)][t(554)](t(626),"_loop delay is "+this[t(641)]+" bufferList is "+this[t(618)]);break}this[t(618)][t(582)](),this[t(617)](e)}}else-1!==this[t(641)]&&this.player[t(606)](t(626),"loop() bufferList is empty and reset delay"),this.resetAllDelay()}[Zu(692)](t,e,s,i){const r=Zu;let n=arguments[r(595)]>4&&void 0!==arguments[4]?arguments[4]:0;const o=this[r(623)];let a={ts:s,cts:n,type:e,isIFrame:!1};this[r(623)][r(490)]()?(e===R.video&&o[r(536)].playType===c.player&&this[r(637)](s),o._opt[r(548)]&&!o[r(536)][r(588)]?(e===R[r(500)]&&(a.isIFrame=i),this.pushBuffer(t,a)):o[r(536)].useMSE?(e===R[r(500)]&&(a[r(587)]=i),this[r(600)](t,a)):e===R[r(500)]?o[r(503)]&&o.decoderWorker[r(560)](t,s,i):e===R[r(511)]&&o._opt[r(677)]&&o[r(503)]&&o[r(503)][r(660)](t,s)):this[r(623)][r(718)]()?(e===R[r(500)]&&(a[r(587)]=i),this[r(623)].isPlaybackOnlyDecodeIFrame()?e===R[r(500)]&&i&&this[r(600)](t,a):this[r(623)][r(566)]()?this[r(600)](t,a):1===this[r(623)][r(472)]()?this.pushBuffer(t,a):this[r(600)](t,a,!1)):this[r(623)][r(562)]()&&(e===R[r(500)]&&(a[r(587)]=i),this.pushBuffer(t,a))}[Zu(649)](t,e,s,i){const r=Zu;let n=arguments[r(595)]>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments[r(595)]>5&&void 0!==arguments[5]?arguments[5]:"hls";if(this[r(623)][r(512)]())return void this[r(623)].debugLog(this.TAG_NAME,r(685));let a=!1;if(e===R[r(511)]&&le(t)&&(this[r(623)].debugLog(r(626),o+r(585)+s+r(538)),a=!0,this[r(623)].isRecordTypeFlv())){const e=new Uint8Array(t);this.player[r(592)][r(547)](e,s)}let h=!1;if(e===R[r(500)]&&i&&Ys(t)&&(this[r(623)][r(606)]("CommonDemux",o+r(506)+s+", isVideoSequenceHeader is true"),h=!0,this.player[r(489)]())){const e=new Uint8Array(t);this[r(623)][r(592)][r(466)](e,s)}this[r(623)].recording&&Js(h)&&Js(a)&&this[r(710)](t,e,s,i,n),e===R[r(500)]?this[r(623)].isPlayVod()&&Js(this[r(623)][r(581)]())&&this[r(623)][r(556)]&&this[r(623)][r(556)][r(612)]()?i&&this._doDecoderDecode({ts:s,cts:n,payload:t,type:R[r(500)],isIFrame:i}):this._doDecoderDecode({ts:s,cts:n,payload:t,type:R[r(500)],isIFrame:i}):e===R[r(511)]&&(this[r(623)][r(562)]()&&Js(this[r(623)][r(581)]())&&this[r(623)][r(556)]&&this[r(623)][r(556)][r(612)]()||this[r(617)]({ts:s,payload:t,type:R.audio}))}[Zu(586)](t,e,s,i){const r=Zu;let n=arguments[r(595)]>4&&void 0!==arguments[4]?arguments[4]:0;this[r(692)](t,e,s,i,n)}[Zu(647)](t,e,s,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this[Zu(692)](t,e,s,i,r)}_doDecodeByPs(t,e,s,i){const r=Zu;let n=arguments[r(595)]>4&&void 0!==arguments[4]?arguments[4]:0;this[r(692)](t,e,s,i,n)}_doDecodeByMp4(t,e,s,i){const r=Zu;let n=arguments[r(595)]>4&&void 0!==arguments[4]?arguments[4]:0;this[r(649)](t,e,s,i,n,r(690))}[Zu(616)](t){const e=Zu,s=t.ts;if(0===this[e(618)].length)return;let i=this[e(618)][0];const r=i.ts-s,n=t.type===R[e(500)]&&i[e(681)]===R[e(511)],o=t[e(681)]===R[e(500)]&&Ys(t[e(515)]);(r<=20||n||o)&&(this[e(623)].debugLog(e(626),e(629)+t.type+e(594)+s+e(576)+i.type+e(693)+i.ts+e(469)+r+e(481)+n+" and isVideoSqeHeader is "+o),this[e(618)][e(582)](),this[e(617)](i))}[Zu(617)](t){const e=Zu,s=this[e(623)],{webcodecsDecoder:i,mseDecoder:r}=s;this.player[e(490)]()&&this[e(623)][e(502)]({buf:this[e(641)]}),t[e(681)]===R[e(511)]?s[e(536)][e(677)]&&(s[e(536)].useMSE&&s._opt[e(624)]?r[e(660)](t[e(515)],t.ts):s[e(536)][e(548)]&&s[e(536)][e(687)]?i[e(660)](t[e(515)],t.ts):s[e(503)]&&s[e(503)][e(660)](t[e(515)],t.ts)):t[e(681)]===R.video&&(s[e(536)][e(675)]&&this.findSei(t[e(515)],t.ts),s[e(536)][e(548)]&&!s[e(536)][e(588)]?i[e(560)](t[e(515)],t.ts,t[e(587)],t[e(550)]):s._opt[e(584)]?r[e(560)](t[e(515)],t.ts,t[e(587)],t[e(550)]):s[e(503)]&&s[e(503)][e(560)](t[e(515)],t.ts,t[e(587)]))}[Zu(600)](t,e){const s=Zu;let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const r=this[s(623)]._opt[s(682)],n=this[s(623)]._opt[s(522)],o=this[s(623)][s(490)]();if(e[s(681)]===R.audio&&le(t)){if(this[s(623)].debugLog("CommonDemux",s(470)+e.ts+s(538)),this[s(623)][s(489)]()){const i=new Uint8Array(t);this[s(623)][s(592)][s(547)](i,e.ts)}this[s(617)]({ts:e.ts,payload:t,type:R.audio})}else if(e.type===R[s(500)]&&e[s(587)]&&Ys(t)){if(this[s(623)][s(606)](s(626),s(499)+e.ts+s(722)),this[s(623)][s(489)]()){const i=new Uint8Array(t);this[s(623)].recorder[s(466)](i,e.ts)}this[s(617)]({ts:e.ts,payload:t,type:R[s(500)],isIFrame:e[s(587)],cts:e[s(550)]})}else{if(this[s(623)][s(706)]&&this.handleRecording(t,e[s(681)],e.ts,e[s(587)],e[s(550)]),o){if(e[s(681)]===R.video){if(this.preTimestampDuration>0){const t=e.ts-this.preTimestamp,i=this[s(521)]+this[s(521)]/2;t>=i&&this[s(623)].debugLog("CommonDemux","pushBuffer() video and isIFrame is "+e[s(587)]+s(483)+e.ts+", preTs is "+this[s(545)]+s(523)+t+s(713)+this.preTimestampDuration+s(520)+i+s(679))}if(null!==this.preTimestamp&&this.preTimestamp>=e.ts&&(this.player[s(554)](s(626),s(498)+e[s(587)]+s(475)+e.ts+" less than (or equal) preTs is "+this[s(545)]+s(557)+t.byteLength+s(663)+this[s(720)]),this[s(545)]-e.ts>S&&(this[s(623)][s(554)]("CommonDemux",s(567)+e.ts+s(653)+this[s(545)]+s(705)+(this.preTimestamp-e.ts)+s(691)+S+s(573)),this.resetAllDelay()),this[s(623)][s(536)].isDropSameTimestampGop&&Js(e[s(587)])&&this[s(623)][s(676)]())){const t=this[s(715)](),e=Js(this[s(634)]);return this[s(623)].debugLog(s(626),s(703)+t+s(534)+e+s(517)),void(t&&e?this[s(667)]():this.clearBuffer(!0))}this[s(545)]>0&&(this[s(521)]=e.ts-this[s(545)]),this[s(720)]=t[s(665)],this.preTimestamp=e.ts}if(this[s(623)].isDemuxDecodeFirstIIframeInit()){let t=this[s(664)](e.ts,e[s(681)]);this[s(716)]=t;const i=n+r;this[s(623)]._opt[s(584)]?this[s(641)]>0&&t>i&&this[s(641)]0&&t>i&&this.delay0&&(this[t(622)]=e,this.player.video&&this[t(623)][t(500)][t(590)](this[t(622)]),this[t(642)]=s?e+s:e,Js(this[t(623)][t(536)][t(677)])&&(this[t(623)][t(606)](this[t(668)],t(661)),this[t(553)]=0),this[t(526)]())),as(this.playbackStreamAudioFps)&&(s=js(this.bufferList,R[t(511)]),s>0&&(this.playbackStreamAudioFps=s,e?this[t(642)]=e+s:this.playbackStreamFps=s,this[t(526)]())),as(this[t(622)])&&as(this[t(553)])){const i=this[t(618)][t(491)]((e=>({type:e[t(681)],ts:e.ts})));this[t(623)][t(606)](t(626),t(572)+s+t(711)+e+t(508)+this[t(618)].length+" and ts list is "+JSON.stringify(i))}const i=this[t(639)]()>0,r=i?60:40;this[t(618)][t(595)]>=r&&(this[t(623)].debugWarn(t(626),t(712)+this.bufferList[t(595)]+t(691)+r+t(707)+i+t(686)),this.playbackStreamVideoFps=e,this[t(623)][t(500)]&&this.player[t(500)].setStreamFps(this[t(622)]),i?(this[t(553)]=25,this[t(642)]=this[t(622)]+this.playbackStreamAudioFps):this[t(642)]=this[t(622)],this.initPlaybackCacheLoop())}}[Zu(667)](){const t=Zu;if(this[t(618)][t(595)]>0){let e=this.bufferList[t(494)]((e=>{const s=t;return qs(e.isIFrame)&&e.type===R[s(500)]}));if(this[t(487)]())for(let s=0;s=this.getNotDroppingDelayTs()){this[t(623)][t(606)](t(626),t(488)+s+" and tempDelay is "+r+t(563)+this[t(723)]()),e=s;break}}if(e>=0){this[t(634)]=!0,this[t(623)][t(502)]({isDropping:!0});const s=this[t(618)][t(595)];this[t(618)]=this[t(618)].slice(e);const i=this.bufferList.shift();this[t(542)](),this[t(652)](i.ts,i[t(681)]),this[t(617)](i),this[t(634)]=!1,this[t(623)].debugLog(t(626),"dropBuffer$2() iFrameIndex is "+e+t(615)+s+" ,and new bufferList length is "+this[t(618)][t(595)]+t(655)+this[t(641)]+" ")}else this.isPushDropping=!1}0===this[t(618)][t(595)]&&(this[t(634)]=!1)}[Zu(578)](){const t=Zu;let e=arguments[t(595)]>0&&void 0!==arguments[0]&&arguments[0];this[t(623)].debugLog("CommonDemux",t(518)+this[t(618)][t(595)]+t(543)+e+t(633)+this[t(623)]._opt[t(671)]),e&&(this.bufferList=[]),this[t(623)][t(490)]()&&(this.resetAllDelay(),qs(this[t(623)][t(536)][t(671)])&&(this.dropping=!0,this.player[t(502)]({isDropping:!0}))),this[t(623)][t(621)]()}[Zu(637)](t){const e=Zu;if(!(this.player[e(676)]()&&t>0))return;null===this[e(610)]?(this[e(610)]=t,this[e(701)]=Be()):ts?i-s:0;r>this[e(623)][e(536)].networkDelay&&this[e(623)][e(536)][e(559)]===c[e(623)]&&(this[e(623)].debugWarn(e(626),"delay is more than networkDelay and now dts:"+t+",start dts is "+this[e(610)]+e(662)+s+",local diff is "+i+e(480)+r+", _opt.networkDelay is "+this[e(623)]._opt.networkDelay),this[e(623)][e(570)](B[e(514)],r)),this[e(623)].updateStats({netBuf:r})}[Zu(528)](t){const e=Zu;if(null===this[e(497)])this[e(497)]=t;else if(this[e(497)]{const i=t;s[i(681)]===R[i(500)]&&(e+=1)})),e}getAudioBufferLength(){const t=Zu;let e=0;return this.bufferList[t(537)]((s=>{const i=t;s[i(681)]===R[i(511)]&&(e+=1)})),e}hasIframeInBufferList(){const t=Zu;return this[t(618)][t(609)]((e=>{const s=t;return e.type===R[s(500)]&&e.isIFrame}))}[Zu(487)](){const t=Zu,e=this[t(646)]();let s=0;return this.bufferList[t(537)]((e=>{const i=t;e[i(681)]===R[i(500)]&&e[i(587)]&&(s+=1)})),e===s}[Zu(555)](){return 0}[Zu(620)](){return this[Zu(479)]}close(){}reset(){}findSei(t,e){const s=Zu;let i=arguments[s(595)]>2&&void 0!==arguments[2]&&arguments[2],r=4;cs(this.nalUnitSize)&&(r=this[s(525)]);const n=Ie(t.slice(5),r);if(Js(i)){const t=this[s(623)][s(507)]();t&&t[s(613)]&&(i=t[s(613)]===G[s(532)])}n[s(537)]((t=>{const r=s,n=i?t[0]>>>1&63:31&t[0],o=i&&(n===Y[r(608)]||n===Y.prefixSei),a=Js(i)&&n===Q[r(504)];if(o||a){const s=Te(t,i);this[r(623)][r(598)]({ts:e,data:s[r(515)]})}}))}[Zu(710)](t,e,s,i,r){const n=Zu;if(this[n(623)][n(489)]()){const i=new Uint8Array(t);e===R[n(500)]?this[n(623)][n(592)].addVideo(i,s):e===R[n(511)]&&this.player[n(592)][n(698)](i,s)}else if(this[n(623)][n(704)]()){const o=new Uint8Array(t);if(this[n(623)][n(592)].isWasmMp4()){if(e===R[n(500)])this[n(623)].recorder[n(636)](o.slice(5),i,s,r);else if(e===R[n(511)]){const e=new Uint8Array(t);this[n(623)].recorder[n(473)](de(e)?e[n(510)](2):e[n(510)](1),s)}}else e===R[n(500)]&&this[n(623)].recorder[n(636)](o.slice(5),i,s,r)}}updateNalUnitSize(t){const e=Zu,s=15&t[0];this[e(623)].video[e(654)]({encTypeCode:s});const i=s===z[e(532)];this[e(525)]=function(t,e){let s=null;return e?t[ke(291)]>=28&&(s=1+(3&t[26])):t.length>=12&&(s=1+(3&t[9])),s}(t,i),this[e(623)][e(606)](this.TAG_NAME,"demux() isVideoSequenceHeader is true and isHevc is "+i+e(630)+this[e(525)])}cryptoPayload(t,e){const s=Zu;let i=this[s(623)],r=t;if(i._opt[s(519)])if(i[s(536)][s(495)]&&i[s(536)][s(495)][s(665)]>0&&i._opt[s(591)]&&i[s(536)][s(591)][s(665)]>0){const e=this[s(623)][s(500)][s(507)]();e[s(531)]?r=function(t,e,s){const i=fu;let r=arguments[i(349)]>3&&void 0!==arguments[3]&&arguments[3];e=new Uint8Array(e),s=new Uint8Array(s);const n=t[i(357)];let o=5;for(;on)break;let h=t[o+4],c=!1;if(r?(h=h>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(h)):(h&=31,c=1===h||5===h),c){const r=t.slice(o+4+2,o+4+a);let n=new(gl[i(341)].ctr)(e,new(gl[i(346)])(s));const h=n.decrypt(r);n=null,t.set(h,o+4+2)}o=o+4+a}return t}(t,i[s(536)][s(495)],i._opt[s(591)],e.encTypeCode===z.h265):i[s(554)](this[s(668)],s(478)+e[s(531)])}else i[s(579)](this[s(668)],s(631)+(i._opt[s(495)]&&i[s(536)].cryptoKey[s(665)])+s(611)+(i[s(536)].cryptoIV&&i[s(536)][s(591)][s(665)])+s(721));else if(i._opt.isSm4Crypto)if(i[s(536)][s(468)]){const e=this.player[s(500)][s(507)]()[s(531)]===z[s(532)],n=this[s(623)][s(536)][s(575)];r=i[s(536)][s(495)]&&i[s(536)][s(495)].byteLength>0&&i[s(536)].cryptoIV&&i[s(536)].cryptoIV[s(665)]>0?function(t,e,s){var i=qu;let r=arguments[i(161)]>3&&void 0!==arguments[3]&&arguments[3],n=arguments[i(161)]>4&&void 0!==arguments[4]&&arguments[4];e=new Uint8Array(e),s=new Uint8Array(s);const o=t[i(158)];let a=5;for(;ao)break;let c=t[a+4],l=!1,d=2;if(r?(n&&(d=3),c=c>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][i(173)](c)):(c&=31,l=1===c||5===c),l){const r=Ju(e,s,t[i(171)](a+4+d,a+4+h));t[i(159)](r,a+4+d)}a=a+4+h}return t}(t,i[s(536)][s(495)],i._opt.cryptoIV,e,n):function(t,e){const s=Lu;let i=arguments[s(117)]>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=t[s(131)];let o=new Uint8Array(t[s(134)](0,5)),a=5;for(;an){const e=new Uint8Array(o.length+t[s(117)]-a);e.set(o,0),e.set(t[s(134)](a),o[s(117)]),o=e;break}let l=t[a+4],d=!1,u=2;if(i?(r&&(u=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][s(148)](l)):(l&=31,d=1===l||5===l),d){const i=xu(t[s(134)](a+4+u,a+4+c),e,0,{padding:s(128),output:s(126)});let r=i[i[s(117)]-1];if(r>0&&r<16){let t=!0;for(let e=1;e<=r;e++)if(i[i[s(117)]-e]!==r){t=!1;break}t&&i[s(142)](i[s(117)]-r,r)}const n=new Uint8Array(u);n[s(124)](t[s(134)](a+4,a+4+u),0);const h=_e(Ih(n,new Uint8Array(i))),l=new Uint8Array(o[s(117)]+h[s(117)]);l.set(o,0),l[s(124)](h,o[s(117)]),o=l}else{const e=t.slice(a+4,a+4+c),i=new Uint8Array(o[s(117)]+4+e[s(117)]);i[s(124)](o,0),i[s(124)](h,o.length),i[s(124)](e,o[s(117)]+4),o=i}a=a+4+c}return o}(t,i[s(536)].sm4CryptoKey,e,n)}else!i[s(536)].sm4CryptoKey&&i[s(579)](this[s(668)],"isSm4Crypto opt.sm4CryptoKey is null");else if(i[s(536)][s(516)])if(i._opt[s(495)]&&i[s(536)][s(495)].byteLength>0&&i[s(536)].cryptoIV&&i._opt.cryptoIV[s(665)]>0){const e=this[s(623)][s(500)][s(507)]();r=function(t,e,s){const i=Mu;let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=t[i(312)];let o=5;for(;on)break;let h=t[o+4],c=!1;if(r?(h=h>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][i(311)](h)):(h&=31,c=1===h||5===h),c){const r=Fu(t[i(309)](o+4,o+4+a),e,s);t.set(r,o+4)}o=o+4+a}return t}(t,i._opt[s(495)],i[s(536)][s(591)],e[s(531)]===z.h265)}else i[s(579)](this.TAG_NAME,s(684));return r}[Zu(700)](t){const e=Zu;let s=this.player;if(Js(s[e(536)][e(477)]))return t;let i=t;if(s[e(536)].isM7sCrypto)if(s[e(536)].cryptoKey&&s._opt[e(495)][e(665)]>0&&s._opt[e(591)]&&s[e(536)].cryptoIV.byteLength>0){t[0]>>4===H[e(648)]&&(i=function(t,e,s){const i=fu;if(t[i(357)]<=30)return t;const r=t[i(345)](32);let n=new(gl[i(341)][i(347)])(e,new(gl[i(346)])(s));const o=n.decrypt(r);return n=null,t[i(348)](o,32),t}(t,s[e(536)][e(495)],s[e(536)][e(591)]))}else s.debugError(this[e(668)],"isM7sCrypto cryptoKey.length is "+(s[e(536)].cryptoKey&&s[e(536)][e(495)][e(665)])+e(611)+(s[e(536)][e(591)]&&s[e(536)][e(591)][e(665)])+e(721));return i}[Zu(714)](t,e){const s=Zu,i=t[0],r=48&i,n=15&i,o=t[s(510)](1,5),a=new ArrayBuffer(4),h=new Uint32Array(a),c="a"==String[s(673)](o[0]);if(n===Rt.PACKET_TYPE_SEQ_START){if(r===Dt[s(474)]){const e=t[s(510)](5);if(c);else{const t=new Uint8Array(5+e.length);t[s(666)]([28,0,0,0,0],0),t[s(666)](e,5),this[s(549)](t),this[s(623)][s(606)](this[s(668)],s(699)+this[s(525)]),this[s(692)](t,R[s(500)],0,!0,0)}}}else if(n===Rt[s(619)]){let i=t,n=0;const o=r===Dt[s(474)];if(o&&this[s(528)](e),c);else{h[0]=t[4],h[1]=t[3],h[2]=t[2],h[3]=0,n=h[0];i=eh(t[s(510)](8),o),i=this.cryptoPayload(i,o),this[s(692)](i,R.video,e,o,n)}}else if(n===Rt.PACKET_TYPE_FRAMESX){const i=r===Dt[s(474)],n=t.slice(5);i&&this.calcIframeIntervalTimestamp(e);let o=eh(n,i);o=this[s(625)](o,i),this[s(692)](o,R.video,e,i,0)}}[Zu(695)](t){return 128==(128&t)}[Zu(541)](t){const e=Zu;qs(t)?this.clearStopInterval():this[e(678)]()}[Zu(546)](t){const e=Zu,s=t.map((t=>{const e=tp;return{ts:t[e(672)]||t[e(564)],type:t[e(681)]}}));this[e(614)]=this[e(614)][e(596)](s);const i=js(this[e(614)],R[e(500)]);if(i)this[e(623)].debugLog(this[e(668)],e(650)+i+", update base fps is "+this[e(708)]),this[e(708)]=i,this[e(614)]=[],this._postMessageToLoopWorker(e(602),{baseFps:this._basefps});else if(this[e(623)][e(606)](this[e(668)],e(583)),this._tempSampleTsList[e(595)]>200)return this[e(623)][e(606)](this[e(668)],"_calcDecodeFps() _tempSampleTsList is more than 200, clear and use base fps update "+this[e(708)]),this[e(614)]=[],this[e(529)](e(602),{baseFps:this[e(708)]}),!0;return null!==i}[Zu(599)](){const t=Zu;return!this[t(623)][t(719)]()}[Zu(561)](){return this[Zu(618)].length}[Zu(604)](){return 0}}const sp=ip;function ip(t,e){const s=rp();return(ip=function(t,e){return s[t-=205]})(t,e)}function rp(){const t=["demand","next","write","1556552cdJPrQ","resolve","consumed","U16","writeU32","560216mXEGjV","874804tdgBxo","value","Unsupported type","done","return","byteOffset","number","EOF","4215530cQkwIa","byteLength","lastReadPromise","5zgDCyZ","call","throw","pull","8cvyCaK","then","buffer","close","malloc","7vjaGsd","read","consume","length","readU16","__awaiter","set","2714826hsHUBM","apply","subarray","writeU8","3orrFWs","flush","10777140CbcSaD","6829524YZdesf","readU8","U32","need"];return(rp=function(){return t})()}!function(t,e){const s=ip,i=t();for(;;)try{if(649703===-parseInt(s(217))/1+parseInt(s(212))/2*(-parseInt(s(249))/3)+parseInt(s(218))/4*(parseInt(s(229))/5)+parseInt(s(245))/6*(parseInt(s(238))/7)+parseInt(s(233))/8*(parseInt(s(205))/9)+-parseInt(s(226))/10+parseInt(s(251))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(rp);var np=function(t,e,s,i){return new(s||(s=Promise))((function(r,n){const o=ip;function a(t){const e=ip;try{c(i[e(210)](t))}catch(t){n(t)}}function h(t){const e=ip;try{c(i[e(231)](t))}catch(t){n(t)}}function c(t){const e=ip;var i;t[e(221)]?r(t[e(219)]):(i=t.value,i instanceof s?i:new s((function(t){t(i)})))[e(234)](a,h)}c((i=i[o(246)](t,e||[]))[o(210)]())}))};const op=Symbol(32),ap=Symbol(16),hp=Symbol(8);class cp{constructor(t){const e=sp;this.g=t,this.consumed=0,t&&(this.need=t[e(210)]()[e(219)])}setG(t){const e=sp;this.g=t,this[e(209)](t[e(210)]()[e(219)],!0)}consume(){const t=sp;this[t(235)]&&this[t(214)]&&(this.buffer.copyWithin(0,this[t(214)]),this[t(235)]=this[t(235)][t(247)](0,this[t(235)][t(241)]-this[t(214)]),this[t(214)]=0)}[sp(209)](t,e){const s=sp;return e&&this[s(240)](),this[s(208)]=t,this.flush()}[sp(239)](t){return np(this,void 0,void 0,(function*(){const e=ip;return this.lastReadPromise&&(yield this.lastReadPromise),this[e(228)]=new Promise(((s,i)=>{const r=e;var n;this.reject=i,this[r(213)]=t=>{const e=r;delete this.lastReadPromise,delete this[e(213)],delete this.need,s(t)};this[r(209)](t,!0)||null===(n=this[r(232)])||void 0===n||n[r(230)](this,t)}))}))}readU32(){return this[sp(239)](op)}[sp(242)](){return this[sp(239)](ap)}[sp(206)](){return this[sp(239)](hp)}[sp(236)](){const t=sp;var e;this.g&&this.g[t(222)](),this[t(235)]&&this[t(235)][t(247)](0,0),null===(e=this.reject)||void 0===e||e[t(230)](this,new Error(t(225))),delete this[t(228)]}[sp(250)](){const t=sp;if(!this.buffer||!this.need)return;let e=null;const s=this[t(235)][t(247)](this[t(214)]);let i=0;const r=e=>s[t(241)]<(i=e);if(typeof this[t(208)]===t(224)){if(r(this[t(208)]))return;e=s[t(247)](0,i)}else if(this.need===op){if(r(4))return;e=s[0]<<24|s[1]<<16|s[2]<<8|s[3]}else if(this.need===ap){if(r(2))return;e=s[0]<<8|s[1]}else if(this[t(208)]===hp){if(r(1))return;e=s[0]}else if(t(235)in this[t(208)]){if(t(223)in this.need){if(r(this[t(208)][t(227)]-this[t(208)][t(223)]))return;new Uint8Array(this[t(208)][t(235)],this[t(208)][t(223)]).set(s[t(247)](0,i)),e=this[t(208)]}else if(this.g)return void this.g[t(231)](new Error(t(220)))}else{if(r(this[t(208)][t(227)]))return;new Uint8Array(this[t(208)])[t(244)](s[t(247)](0,i)),e=this[t(208)]}return this[t(214)]+=i,this.g?this.demand(this.g.next(e)[t(219)],!0):this[t(213)]&&this[t(213)](e),e}[sp(211)](t){const e=sp;if(t instanceof Uint8Array?this.malloc(t[e(241)])[e(244)](t):e(235)in t?this.malloc(t[e(227)]).set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength)):this.malloc(t[e(227)])[e(244)](new Uint8Array(t)),!this.g&&!this[e(213)])return new Promise((t=>this[e(232)]=t));this.flush()}[sp(216)](t){const e=sp;this[e(237)](4)[e(244)]([t>>24&255,t>>16&255,t>>8&255,255&t]),this[e(250)]()}writeU16(t){this[sp(237)](2).set([t>>8&255,255&t]),this.flush()}[sp(248)](t){const e=sp;this[e(237)](1)[0]=t,this[e(250)]()}[sp(237)](t){const e=sp;if(this[e(235)]){const s=this[e(235)].length,i=s+t;if(i<=this[e(235)].buffer[e(227)]-this[e(235)].byteOffset)this[e(235)]=new Uint8Array(this[e(235)][e(235)],this[e(235)][e(223)],i);else{const t=new Uint8Array(i);t.set(this[e(235)]),this[e(235)]=t}return this[e(235)][e(247)](s,i)}return this[e(235)]=new Uint8Array(t),this[e(235)]}}cp[sp(207)]=op,cp[sp(215)]=ap,cp.U8=hp;const lp=dp;function dp(t,e){const s=up();return(dp=function(t,e){return s[t-=168]})(t,e)}function up(){const t=["length","audio","byteLength","updateStats","scriptData","player"," and ignore","demux() codecId is ","nalUnitSize","debugWarn","onMetaData","cryptoPayloadAudio","updateNalUnitSize","calcIframeIntervalTimestamp","620yPmJOy","TAG_NAME","payload.length is ","dispatch","_isEnhancedH265Header","hasVideo","891138lxvLSw","buffer","destroy"," less than 6 and ignore","1230258rFaKAP","demuxStart","_opt","getInputByteLength","FlvDemux","write","hasAudio","5815AHCMZs","init","3vJWiTt","recorder","demux() type is ","dispatch() this.input is null","_times","addMetaData","cryptoPayload","keyFrame","820kVyzqQ","46928ADpxiY","debugLog","95366CTvHtB","_doDecode","1376928gcGfxf","demux","slice","input","demux() isIFrame is false and unit type is IDR and update to true","11754qargdF","h264","close","video"];return(up=function(){return t})()}!function(t,e){const s=dp,i=t();for(;;)try{if(168711===parseInt(s(189))/1*(parseInt(s(200))/2)+-parseInt(s(176))/3+-parseInt(s(170))/4*(parseInt(s(187))/5)+parseInt(s(180))/6+parseInt(s(202))/7+-parseInt(s(198))/8+parseInt(s(207))/9*(parseInt(s(197))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(up);class pp extends ep{constructor(t){const e=dp;super(t),this[e(171)]=e(184),this[e(205)]=new cp(this.demux()),t[e(199)](this.TAG_NAME,e(188))}destroy(){const t=dp;super[t(178)](),this[t(205)]&&(this[t(205)][t(209)](),this.input=null),this.player[t(199)](this[t(171)],t(178))}[lp(173)](t){const e=lp;this.input?this[e(205)][e(185)](t):this[e(216)]&&this[e(216)][e(220)](this[e(171)],e(192))}*[lp(203)](){const t=lp;yield 9;const e=new ArrayBuffer(4),s=new Uint8Array(e),i=new Uint32Array(e),r=this[t(216)];for(;;){if(!this[t(205)])return;s[3]=0;const e=yield 15,n=e[4];s[0]=e[7],s[1]=e[6],s[2]=e[5];const o=i[0];s[0]=e[10],s[1]=e[9],s[2]=e[8],s[3]=e[11];let a=i[0];const h=(yield o)[t(204)]();if(!r)return;switch(n){case D[t(212)]:if(r[t(182)][t(186)]&&(r.updateStats({abps:h[t(213)]}),h[t(213)]>0)){let e=this[t(222)](h);this[t(201)](e,R.audio,a)}break;case D.video:if(r._opt[t(175)]&&h.length>=6){let e=a;r[t(214)]({vbps:h[t(213)],dts:e}),!r._times[t(181)]&&(r[t(193)].demuxStart=Be());const s=h[0];if(this[t(174)](s))this._decodeEnhancedH265Video(h,e);else{const e=15&s;let r=(s>>4&15)===yt[t(196)];const n=e===z.h265,o=e===z[t(208)];if(Js(n||o))return void this.player[t(220)](this[t(171)],t(218)+e+t(217));Js(r)&&qs(ii(h,n))&&(this.player[t(199)](this[t(171)],t(206)),r=!0),r&&(this[t(169)](a),null===this[t(219)]&&Ys(h)&&this[t(168)](h)),i[0]=h[4],i[1]=h[3],i[2]=h[2],i[3]=0;let c=i[0],l=this[t(195)](h,r);this._doDecode(l,R[t(210)],a,r,c)}}else h[t(211)]<6&&r[t(220)](this[t(171)],t(172)+h[t(211)]+t(179));break;case D[t(215)]:if(this[t(216)].isRecordTypeFlv()){const e=new Uint8Array(h);this[t(216)][t(190)][t(194)](e)}const e=sc(h);e&&e[t(221)]&&r.updateMetaData(e[t(221)]);break;default:r[t(199)](this.TAG_NAME,t(191)+n)}}}[lp(209)](){const t=lp;this[t(205)]&&(this[t(205)][t(209)](),this[t(205)]=null)}[lp(183)](){const t=lp;let e=0;return this.input&&this.input[t(177)]&&(e=this.input[t(177)][t(213)]),e}}function fp(){const t=["calcIframeIntervalTimestamp","_opt","demuxStart","_doDecode","player","150057IiTWve","16bqFcGe","and return","77vFhseJ","getUint8","audio","cryptoPayload","init","3056155qAYnoJ","hasAudio","_isEnhancedH265Header","1500651omZJMF","536650xBLaka","dispatch","dv byteLength is","debugLog","getUint32","4XYgYSe","4582932xCxKOf","video","7eHgKlR","destroy","4750858paEpJb","M7sDemux","54734ffUsUa","TAG_NAME","_times","debugWarn","updateStats","byteLength"];return(fp=function(){return t})()}function mp(t,e){const s=fp();return(mp=function(t,e){return s[t-=354]})(t,e)}!function(t,e){const s=mp,i=t();for(;;)try{if(413574===-parseInt(s(373))/1*(parseInt(s(377))/2)+-parseInt(s(364))/3+-parseInt(s(370))/4*(-parseInt(s(361))/5)+parseInt(s(371))/6+-parseInt(s(375))/7+parseInt(s(354))/8*(parseInt(s(388))/9)+-parseInt(s(365))/10*(-parseInt(s(356))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fp);class gp extends ep{constructor(t){const e=mp;super(t),this[e(378)]=e(376),t[e(368)](this[e(378)],e(360))}destroy(){const t=mp;super.destroy(),this[t(387)][t(368)](this[t(378)],t(374))}dispatch(t){const e=mp,s=this[e(387)],i=new DataView(t),r=i[e(357)](0),n=i[e(369)](1,!1),o=new ArrayBuffer(4),a=new Uint32Array(o);switch(r){case R[e(358)]:if(s[e(384)][e(362)]){const i=new Uint8Array(t,5);s[e(381)]({abps:i[e(382)]}),i[e(382)]>0&&this._doDecode(i,r,n)}break;case R[e(372)]:if(s._opt.hasVideo)if(!s[e(379)][e(385)]&&(s[e(379)][e(385)]=Be()),i[e(382)]>=11){const o=new Uint8Array(t,5);let h=n;s[e(381)]({vbps:o[e(382)],dts:h});const c=o[0];if(this[e(363)](c))this._decodeEnhancedH265Video(o,n);else{const t=i[e(357)](5)>>4==1;t&&this[e(383)](n),a[0]=o[4],a[1]=o[3],a[2]=o[2],a[3]=0;let s=a[0],h=this[e(359)](o,t);this[e(386)](h,r,n,t,s)}}else this[e(387)][e(380)](this[e(378)],e(366),e(367),i[e(382)],e(355))}}}var Ap=bp;function yp(){var t=["570765JvlTiq","1136196pzpuzG","271384HpGPfU","2498356HFihZv","30GclCaH","debugLog","init","110376LTtxvj","4KnuhME","destroy","99GUszJk","234187wvHQHJ","WebTransportDemux","player","TAG_NAME","151130gINUfv","209KYPMtu"];return(yp=function(){return t})()}function bp(t,e){var s=yp();return(bp=function(t,e){return s[t-=452]})(t,e)}!function(t,e){for(var s=bp,i=t();;)try{if(228838===-parseInt(s(463))/1+-parseInt(s(460))/2*(parseInt(s(452))/3)+-parseInt(s(453))/4+-parseInt(s(456))/5*(-parseInt(s(459))/6)+parseInt(s(455))/7+parseInt(s(454))/8*(parseInt(s(462))/9)+-parseInt(s(467))/10*(-parseInt(s(468))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(yp);class vp extends pp{constructor(t){var e=bp;super(t),this[e(466)]="WebTransportDemux",t[e(457)](e(464),e(458))}[Ap(461)](){var t=Ap;super[t(461)](),this[t(465)][t(457)](t(464),t(461))}}function Sp(t,e){const s=Ip();return(Sp=function(t,e){return s[t-=410]})(t,e)}const wp=Sp;!function(t,e){const s=Sp,i=t();for(;;)try{if(829659===-parseInt(s(433))/1*(-parseInt(s(415))/2)+-parseInt(s(427))/3+-parseInt(s(420))/4*(parseInt(s(432))/5)+parseInt(s(417))/6+-parseInt(s(421))/7+parseInt(s(430))/8+parseInt(s(426))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ip);class Ep{constructor(t){const e=Sp;this[e(414)]=t,this[e(424)]=0,this[e(413)]=8*t[e(418)]}get[wp(425)](){const t=wp;return this.bitLength-this[t(424)]}[wp(428)](t){if(this[wp(425)]1&&void 0!==arguments[1])||arguments[1];return this[e(412)](t,this[e(424)],s)}getBits(t,e){const s=wp;let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this[s(425)]>>r,o=8-r;if(o>=t)return i&&(this[s(424)]+=t),n>>o-t;{i&&(this.index+=o);const r=t-o;return n<>>1:-1*(t>>>1)}[wp(431)](){return 1===this[wp(419)](1)}readUByte(){const t=wp;let e=arguments[t(422)]>0&&void 0!==arguments[0]?arguments[0]:1;return this[t(419)](8*e)}readUShort(){return this[wp(419)](16)}readUInt(){return this[wp(419)](32)}}function Ip(){const t=["readEG","index","bitsAvailable","6979410LTAdqJ","3243753kTxyrx","skipBits","skipEG","7906448hROgpe","readBoolean","4340830heLCTg","1EEgREQ","skipLZ","readUEG","getBits","bitLength","data","280846JeFUvD","skipUEG","6056568seGBxW","byteLength","readBits","4KoZCwq","941997mDdgfx","length"];return(Ip=function(){return t})()}const Tp=_p;function kp(){const t=["isfms","vps","getNaluAudioDts","getInputByteLength","handleAddNaluStartCode","10SIuZGB","handleVideoH265NaluList","length","179864RWCltA","3KcEhGN","extractNALu$3","forEach","8YkRtqs","video","streamAudioType","112584klNNSo","prefixSei","handleNALu","_opt","isEmitSEI","h264","getNaluDts","isSendAACSeqHeader","href","addNaluToBuffer","337508JeGowF","readUEG","nakedFlowDemuxUseNew","handleAudioG711ANalu","createElement","_doDecode","downloadTempNalu","lastBuf","isIFrame","extractH264SEI","parseVideo265Header","destroy","demuxStart","isSendSeqHeader","byteLength","handleVideoH265Nalu","payload","handleVideoH265Frames","localAudioDts","calcIframeIntervalTimestamp","handleAudioG711UNalu","click","units","streamVideoType"," this.streamVideoType is null","slice","handleVideoH264Nalu is avc seq head nalType is ","handleVideoH264NaluList","1661072CFojoX","emitVideoSei","downloadNakedFlowFile","set","kSliceIDR","extractH265PPS","pps","suffixSei","pendingUnits","extractH264PPS","2870560uurFzj","_times","handleVideoFrames","URL","handleAudioAACNalu","audioContext","handleVideoH264Nalu","1798461vVDSTh","ALAW","createObjectURL","nakedFlowH265DemuxUseNew","extractH265SEI","AAC","audio","handleVideoNalu","kSliceSEI","sps","now","_preDoDecode","push","10240FwvqpT","tempNaluBufferList","handleVideoH264Frames","parseVideo264Header","sampleRate","debugLog","player","TAG_NAME","download","subarray","iFrame","600FsxXtY","extractNALu",".h264","dispatch naluArray.length === 0","handleVideoH264NaluList isSendSeqHeader is false","handleVideoH265NaluList isSendSeqHeader is false","readUByte","readBits","error","localDts","reduce","debugWarn","extractNALu$2","vcl","init","updateStats","h265","audioBufferSize"];return(kp=function(){return t})()}function _p(t,e){const s=kp();return(_p=function(t,e){return s[t-=186]})(t,e)}!function(t,e){const s=_p,i=t();for(;;)try{if(133086===parseInt(s(259))/1+parseInt(s(266))/2+-parseInt(s(260))/3*(parseInt(s(276))/4)+-parseInt(s(222))/5*(-parseInt(s(233))/6)+parseInt(s(192))/7*(parseInt(s(263))/8)+-parseInt(s(209))/9*(parseInt(s(256))/10)+-parseInt(s(202))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(kp);class Cp extends ep{constructor(t){const e=_p;super(t),this[e(229)]="NakedFlowDemux",this[e(283)]=null,this[e(252)]=null,this[e(218)]=null,this[e(198)]=null,this[e(187)]=null,this[e(265)]=null,this[e(223)]=new Uint8Array(0),this[e(200)]={},this[e(242)]=0,this[e(289)]=!1,this[e(273)]=!1,t.debugLog(this.TAG_NAME,e(247))}[Tp(287)](){const t=Tp;super[t(287)](),this[t(283)]=null,this[t(252)]=null,this[t(218)]=null,this[t(198)]=null,this.streamVideoType=null,this[t(265)]=null,this[t(223)]=new Uint8Array(0),this.pendingUnits={},this[t(242)]=0,this[t(294)]=0,this[t(289)]=!1,this[t(273)]=!1,this[t(228)][t(227)](this[t(229)],"destroy")}dispatch(t){const e=Tp;this[e(228)];const s=new Uint8Array(t);if(this[e(228)][e(269)][e(278)]){const t=this.extractNALu$3(s);if(0===t[e(258)])return void this[e(228)][e(227)](this.TAG_NAME,e(236));this.handleVideoFrames(t)}else this[e(245)](s)}[Tp(275)](t){const e=Tp,s=t[e(290)]+this[e(223)].byteLength,i=new Uint8Array(s);i[e(195)](this.tempNaluBufferList,0),i.set(t,this[e(223)][e(290)]),this[e(223)]=i}[Tp(194)](){const t=Tp,e=new Blob([this[t(223)]]);try{const s=document[t(280)]("a");s[t(274)]=window[t(205)][t(211)](e),s[t(230)]=Date[t(219)]()+t(235),s[t(297)](),window[t(205)].revokeObjectURL(s.href)}catch(e){console[t(241)](t(282),e)}}[Tp(272)](){const t=Tp,e=this[t(228)][t(269)].nakedFlowFps;return this[t(242)]=this[t(242)]+parseInt(1e3/e,10),this.localDts}[Tp(253)](){const t=Tp,e=this[t(228)].audio[t(207)][t(226)],s=this[t(228)][t(215)][t(250)];return this[t(242)]+parseInt(s/e*1e3)}[Tp(234)](t){const e=Tp;let s,i,r=0,n=t[e(290)],o=0,a=[];for(;r1)for(let t=0;t{const s=e,i=Ra(t);i===Q[s(198)]||i===Q[s(218)]?this[s(208)](t):La(i)&&r[s(221)](t)})),1===r[e(258)])this[e(208)](r[0]);else{if(function(t){const e=ka;if(0===t[e(297)])return!1;const s=Ra(t[0]);for(let i=1;i{this[e(208)](t)}))}}else if(this[e(187)]===G[e(249)])if(this.player[e(269)][e(212)]){const t=this[e(255)](s),i=this[e(234)](t);if(0===i.length)return void this[e(228)][e(244)](this[e(229)],e(216),"h265 naluList.length === 0");const r=[];if(i[e(262)]((t=>{const s=e,i=sh(t);i===Y.pps||i===Y.sps||i===Y.vps?this[s(291)](t):ih(i)&&r[s(221)](t)})),1===r[e(258)])this[e(291)](r[0]);else{if(function(t){const e=nh;if(0===t[e(413)])return!1;const s=sh(t[0]);for(let i=1;i{this[e(291)](t)}))}}else{sh(s)===Y[e(198)]?this[e(197)](s):this.handleVideoH265Nalu(s)}else this[e(228)][e(244)](this[e(229)],e(188))}[Tp(201)](t){const e=Tp,s=this.handleAddNaluStartCode(t);this.extractNALu(s)[e(262)]((t=>{const s=e;Da(Ra(t))?this[s(285)](t):this.handleVideoH264Nalu(t)}))}[Tp(197)](t){const e=Tp,s=this.handleAddNaluStartCode(t);this[e(234)](s)[e(262)]((t=>{const s=e,i=sh(t);i===Y[nh(346)]?this[s(213)](t):this[s(291)](t)}))}[Tp(285)](t){const e=this.handleAddNaluStartCode(t);this.extractNALu(e).forEach((t=>{this[_p(208)](t)}))}[Tp(213)](t){const e=Tp,s=this[e(255)](t);this.extractNALu(s)[e(262)]((t=>{this[e(291)](t)}))}[Tp(255)](t){const e=Tp,s=[0,0,0,1],i=new Uint8Array(t[e(258)]+s[e(258)]);return i[e(195)](s),i[e(195)](t,s[e(258)]),i}[Tp(206)](t){const e=Tp;if(!t||t[e(290)]<1)return;!this.streamAudioType&&(this[e(265)]=W[e(214)]);let s=new Uint8Array(t);const i=s[e(189)](0,7);if(s=s[e(189)](7),!this[e(273)]){const t=(192&i[2])>>6,s=(60&i[2])>>2,r=(1&i[2])<<2|(192&i[3])>>6,n=new Uint8Array([175,0,t<<3|(14&s)>>1,(1&s)<<7|r<<3]);this[e(273)]=!0,this[e(281)](n,R.audio,0,!1,0)}const r=this[e(253)](),n=new Uint8Array(s[e(258)]+2);n.set([175,1],0),n[e(195)](s,2),this._doDecode(n,R[e(215)],r,!1,0)}[Tp(279)](t){const e=Tp;if(!t||t[e(290)]<1)return;!this[e(265)]&&(this[e(265)]=W[e(210)]);let s=new Uint8Array(t);const i=this[e(253)](),r=new Uint8Array(s[e(258)]+1);r[e(195)]([114],0),r[e(195)](s,1),this[e(281)](r,R[e(215)],i,!1,0)}[Tp(296)](t){const e=Tp;if(!t||t[e(290)]<1)return;!this[e(265)]&&(this[e(265)]=W.MULAW);let s=new Uint8Array(t);const i=this[e(253)](),r=new Uint8Array(s[e(258)]+1);r[e(195)]([130],0),r.set(s,1),this[e(281)](r,R.audio,i,!1,0)}[Tp(208)](t){const e=Tp,s=Ra(t);switch(s){case Q[e(218)]:this[e(218)]=t;break;case Q.pps:this.pps=t}if(this.isSendSeqHeader){if(this[e(218)]&&this[e(198)]){const t=_a({sps:this[e(218)],pps:this[e(198)]}),s=this[e(242)];this[e(281)](t,R[e(264)],s,!0,0),this[e(218)]=null,this[e(198)]=null}if(La(s)){!this[e(228)][e(203)][e(288)]&&(this.player[e(203)].demuxStart=Be());const i=xa(s),r=this.getNaluDts(),n=function(t,e){const s=ka;let i=[];i[0]=e?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=t[s(283)]>>24&255,i[6]=t[s(283)]>>16&255,i[7]=t[s(283)]>>8&255,i[8]=255&t[s(283)];const r=new Uint8Array(i.length+t[s(283)]);return r.set(i,0),r[s(237)](t,i[s(297)]),r}(t,i);this._preDoDecode(n,R[e(264)],r,i,0)}else this.player[e(244)](this[e(229)],e(190)+s)}else if(this.sps&&this[e(198)]){this.isSendSeqHeader=!0;const t=_a({sps:this[e(218)],pps:this.pps});this[e(281)](t,R.video,0,!0,0),this[e(218)]=null,this[e(198)]=null}}[Tp(191)](t,e,s){const i=Tp;if(this[i(289)]){!this[i(228)]._times[i(288)]&&(this[i(228)][i(203)][i(288)]=Be());const s=this[i(272)](),r=Ca(t[i(243)](((t,e)=>{const s=i,r=_e(t),n=_e(e),o=new Uint8Array(r[s(290)]+n[s(290)]);return o.set(r,0),o[s(195)](n,r[s(290)]),o})),e);this._preDoDecode(r,R[i(264)],s,e,0)}else this.player[i(244)](this[i(229)],i(237))}[Tp(291)](t){const e=Tp,s=sh(t);switch(s){case Y[e(252)]:this[e(252)]=t;break;case Y.sps:this.sps=t;break;case Y[e(198)]:this[e(198)]=t}if(this.isSendSeqHeader){if(this[e(252)]&&this[e(218)]&&this[e(198)]){const t=th({vps:this[e(252)],sps:this.sps,pps:this[e(198)]}),s=this[e(242)];this[e(281)](t,R[e(264)],s,!0,0),this.vps=null,this[e(218)]=null,this[e(198)]=null}if(ih(s)){!this[e(228)][e(203)][e(288)]&&(this[e(228)][e(203)].demuxStart=Be());const i=rh(s),r=this[e(272)](),n=function(t,e){const s=nh;let i=[];i[0]=e?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=t[s(462)]>>24&255,i[6]=t.byteLength>>16&255,i[7]=t[s(462)]>>8&255,i[8]=255&t[s(462)];const r=new Uint8Array(i.length+t.byteLength);return r[s(351)](i,0),r[s(351)](t,i.length),r}(t,i);this[e(220)](n,R[e(264)],r,i,0)}}else if(this[e(252)]&&this[e(218)]&&this.pps){this[e(289)]=!0;const t=th({vps:this[e(252)],sps:this.sps,pps:this[e(198)]});this[e(281)](t,R[e(264)],0,!0,0),this[e(252)]=null,this[e(218)]=null,this.pps=null}}[Tp(257)](t,e,s){const i=Tp;if(this.isSendSeqHeader){!this[i(228)][i(203)][i(288)]&&(this.player[i(203)][i(288)]=Be());const s=this[i(272)](),r=eh(t[i(243)](((t,e)=>{const s=i,r=_e(t),n=_e(e),o=new Uint8Array(r[s(290)]+n[s(290)]);return o[s(195)](r,0),o[s(195)](n,r[s(290)]),o})),e);this[i(220)](r,R[i(264)],s,e,0)}else this.player[i(244)](this.TAG_NAME,i(238))}_preDoDecode(t,e,s,i,r){const n=Tp;this[n(228)][n(248)]({vbps:t[n(290)],dts:s}),i&&this[n(295)](s),this._doDecode(t,R.video,s,i,r)}[Tp(254)](){const t=Tp;let e=0;return this.lastBuf&&(e=this[t(283)][t(290)]),e}[Tp(204)](t){const e=Tp;if(!this[e(187)])for(let s of t)if(this[e(187)]=xs(s),this[e(187)])break;this.streamVideoType?this[e(187)]===G[e(271)]?this.handleVideoH264Frames(t):this[e(187)]===G.h265&&this[e(293)](t):this[e(228)][e(244)](this[e(229)],"handleVideoFrames streamVideoType is null")}[Tp(224)](t){const e=Tp;let s=[],i=[],r=!1,n=!1;this.pendingUnits[e(186)]&&(s=this[e(200)].units,n=this.pendingUnits[e(246)],r=this[e(200)][e(232)],this[e(200)]={});let o={};for(let a of t){if(a[e(290)]<4)continue;const t=Ra(a);let h=!1,c=t===Q.kSliceIDR;(t===Q.kSliceNonIDR||t===Q[e(196)])&&(o=this[e(225)](a),h=!0),s[e(258)]&&n&&(o.isfms||!h)&&(i[e(221)]({units:s,isIFrame:r}),s=[],r=!1,n=!1),s[e(221)](a),r=r||c,n=n||h}s[e(258)]&&(this[e(200)]={units:s,vcl:n,iFrame:r}),i[e(262)]((t=>{const s=e,i=t.units,r=t[s(284)];let n=null,o=null;if(i[s(262)]((t=>{const e=s,i=31&t[0];switch(i){case Q[e(198)]:this[e(198)]=t;break;case Q.sps:this[e(218)]=t;break;case Q[e(217)]:o=t}if(La(i)){const s=_e(t);if(n){const t=new Uint8Array(n[e(290)]+s.byteLength);t[e(195)](n,0),t[e(195)](s,n[e(290)]),n=t}else n=s}})),!this[s(289)]&&this.sps&&this[s(198)]){this.isSendSeqHeader=!0;const t=_a({sps:this[s(218)],pps:this.pps});this[s(281)](t,R.video,0,!0,0),this[s(218)]=null,this[s(198)]=null}if(this.isSendSeqHeader){if(this[s(218)]&&this[s(198)]){const t=_a({sps:this[s(218)],pps:this.pps}),e=this[s(242)];this._doDecode(t,R[s(264)],e,!0,0),this.sps=null,this.pps=null}if(n){!this[s(228)][s(203)][s(288)]&&(this.player[s(203)][s(288)]=Be());const t=this[s(272)](),e=Ca(n,r);if(this.player._opt.isEmitSEI&&o){const e=Te(o,!1);this.player[s(193)]({ts:t,data:e[s(292)]})}this[s(220)](e,R.video,t,r,0)}}}))}[Tp(293)](t){const e=Tp;let s=[],i=[],r=!1,n=!1;this[e(200)][e(186)]&&(s=this.pendingUnits.units,n=this[e(200)][e(246)],r=this[e(200)][e(232)],this.pendingUnits={});let o={};for(let a of t){if(a.byteLength<4)continue;const t=sh(a);let h=!1,c=rh(t);ih(t)&&(o=this[e(286)](a),h=!0),s[e(258)]&&n&&(o[e(251)]||!h)&&(i[e(221)]({units:s,isIFrame:r}),s=[],r=!1,n=!1),s[e(221)](a),r=r||c,n=n||h}s[e(258)]&&(this[e(200)]={units:s,vcl:n,iFrame:r}),i[e(262)]((t=>{const s=e,i=t[s(186)],r=t[s(284)];let n=null,o=null;if(i[s(262)]((t=>{const e=s,i=t[0]>>>1&63;switch(i){case Y[e(198)]:this[e(198)]=t;break;case Y.sps:this[e(218)]=t;break;case Y.vps:this[e(252)]=t;break;case Y[e(199)]:case Y[e(267)]:o=t}if(ih(i)){const s=_e(t);if(n){const t=new Uint8Array(n.byteLength+s.byteLength);t[e(195)](n,0),t[e(195)](s,n[e(290)]),n=t}else n=s}})),!this[s(289)]&&this.sps&&this[s(198)]&&this[s(252)]){this[s(289)]=!0;const t=th({sps:this[s(218)],pps:this[s(198)],vps:this[s(252)]});this[s(281)](t,R.video,0,!0,0),this[s(218)]=null,this.pps=null,this[s(252)]=null}if(this.isSendSeqHeader){if(this[s(218)]&&this[s(198)]&&this.vps){const t=th({sps:this[s(218)],pps:this.pps,vps:this[s(252)]}),e=this[s(242)];this[s(281)](t,R.video,e,!0,0),this.sps=null,this[s(198)]=null,this[s(252)]=null}if(n){!this[s(228)]._times[s(288)]&&(this[s(228)]._times[s(288)]=Be());const t=this[s(272)](),e=eh(n,r);if(this[s(228)][s(269)][s(270)]&&o){const e=Te(o,!0);this.player[s(193)]({ts:t,data:e.payload})}this[s(220)](e,R[s(264)],t,r,0)}}}))}handleVideoH265Frames_1(t){const e=Tp;t[e(262)]((t=>{this[e(216)](t)}))}[Tp(225)](t){const e=Tp,s=new Ep(t);s.readUByte();return{isfms:0===s[e(277)](),sType:s[e(277)]()}}parseVideo265Header(t){const e=Tp,s=new Ep(t);return s[e(239)](),{nalType:s.readBits(6),isfms:0===s.readBits(1),sType:s[e(240)](3)}}}var Rp=Dp;function Dp(t,e){var s=xp();return(Dp=function(t,e){return s[t-=250]})(t,e)}!function(t,e){for(var s=Dp,i=t();;)try{if(802421===-parseInt(s(258))/1+parseInt(s(260))/2+-parseInt(s(262))/3+-parseInt(s(250))/4*(-parseInt(s(261))/5)+-parseInt(s(255))/6+parseInt(s(254))/7+parseInt(s(252))/8*(-parseInt(s(253))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(xp);class Lp extends ep{constructor(t){var e=Dp;super(t),this[e(257)]=t,this.TAG_NAME=e(251),t.debugLog("EmptyDemux","init")}[Rp(256)](){var t=Rp;super.destroy(),this[t(257)][t(259)](t(251),t(256))}}function xp(){var t=["debugLog","888342exrRvI","3934065ZvhfhK","147348eZSwVc","4WQeCJt","EmptyDemux","477968yieBsm","9lmEJKp","3885224XDyjaE","591780IBBxvt","destroy","player","776103dzRpVa"];return(xp=function(){return t})()}var Pp=Mp;!function(t,e){for(var s=Mp,i=t();;)try{if(398777===-parseInt(s(475))/1*(-parseInt(s(804))/2)+-parseInt(s(1396))/3*(parseInt(s(399))/4)+-parseInt(s(1479))/5*(-parseInt(s(377))/6)+-parseInt(s(686))/7+-parseInt(s(405))/8*(-parseInt(s(1163))/9)+parseInt(s(1455))/10*(parseInt(s(452))/11)+parseInt(s(810))/12*(-parseInt(s(319))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fp);var Bp=Qt((function(t,e){var s,r,n=Mp,o=(s=new Date,r=4,{setLogLevel:function(t){var e=Mp;r=t==this[e(1477)]?1:t==this[e(1219)]?2:t==this[e(316)]?3:(this[e(1153)],4)},debug:function(t,e){var i=Mp;void 0===console[i(1477)]&&(console[i(1477)]=console[i(496)]),1>=r&&console[i(1477)]("["+o[i(400)](new Date-s,1e3)+"]","["+t+"]",e)},log:function(t,e){var s=Mp;this[s(1477)](t[s(910)])},info:function(t,e){var i=Mp;2>=r&&console[i(1219)]("["+o[i(400)](new Date-s,1e3)+"]","["+t+"]",e)},warn:function(t,e){var i=Mp;3>=r&&console[i(316)]("["+o[i(400)](new Date-s,1e3)+"]","["+t+"]",e)},error:function(t,e){var i=Mp;4>=r&&console[i(1153)]("["+o[i(400)](new Date-s,1e3)+"]","["+t+"]",e)}});o.getDurationString=function(t,e){var s,i=Mp;function r(t,e){for(var s=Mp,i=(""+t)[s(1204)](".");i[0][s(993)]0){for(var i="",r=0;r0&&(i+=","),i+="["+o[e(400)](t[e(1201)](r))+","+o[e(400)](t[e(1394)](r))+"]";return i}return e(1494)},e[n(652)]=o;var a=function(t){var e=n;if(!(t instanceof ArrayBuffer))throw e(529);this[e(1524)]=t,this[e(411)]=new DataView(t),this[e(618)]=0};a[n(987)][n(1160)]=function(){return this[n(618)]},a.prototype[n(1399)]=function(){return this[n(1524)].byteLength},a[n(987)][n(1257)]=function(){var t=n;return this[t(1524)][t(1083)]},a[n(987)][n(680)]=function(t){var e=n,s=Math[e(1164)](0,Math[e(1301)](this.buffer.byteLength,t));return this.position=isNaN(s)||!isFinite(s)?0:s,!0},a[n(987)][n(1348)]=function(){return this[n(1160)]()>=this.getEndPosition()},a[n(987)][n(1225)]=function(t,e){var s=n,i=0;if(this[s(618)]+t<=this[s(1524)][s(1083)]){switch(t){case 1:i=e?this[s(411)][s(727)](this.position):this[s(411)][s(369)](this.position);break;case 2:i=e?this[s(411)].getInt16(this[s(618)]):this[s(411)][s(325)](this[s(618)]);break;case 3:if(e)throw s(1428);i=this[s(411)][s(369)](this[s(618)])<<16,i|=this[s(411)].getUint8(this.position+1)<<8,i|=this[s(411)].getUint8(this.position+2);break;case 4:i=e?this.dataview[s(1072)](this[s(618)]):this[s(411)][s(1539)](this.position);break;case 8:if(e)throw s(1165);i=this[s(411)].getUint32(this[s(618)])<<32,i|=this[s(411)][s(1539)](this[s(618)]+4);break;default:throw s(1071)+t}return this[s(618)]+=t,i}throw s(1217)},a[n(987)][n(276)]=function(){return this[n(1225)](1,!1)},a[n(987)][n(625)]=function(){return this[n(1225)](2,!1)},a[n(987)].readUint24=function(){return this[n(1225)](3,!1)},a.prototype.readUint32=function(){return this[n(1225)](4,!1)},a.prototype[n(761)]=function(){return this[n(1225)](8,!1)},a.prototype[n(901)]=function(t){var e=n;if(this[e(618)]+t<=this[e(1524)][e(1083)]){for(var s="",i=0;ithis[e(848)]&&(this[e(848)]=s);else{for(i<1&&(i=1);s>i;)i*=2;var r=new ArrayBuffer(i),o=new Uint8Array(this[e(1110)]);new Uint8Array(r,0,o.length)[e(481)](o),this[e(1524)]=r,this[e(848)]=s}}},h[n(987)][n(570)]=function(){var t=n;if(this[t(848)]!=this._buffer[t(1083)]){var e=new ArrayBuffer(this[t(848)]),s=new Uint8Array(e),i=new Uint8Array(this._buffer,0,s[t(993)]);s[t(481)](i),this[t(1524)]=e}},h[n(1097)]=!1,h[n(1186)]=!0,h[n(987)]._byteLength=0,Object.defineProperty(h.prototype,n(1083),{get:function(){var t=n;return this[t(848)]-this[t(1518)]}}),Object.defineProperty(h.prototype,n(1524),{get:function(){return this[n(570)](),this._buffer},set:function(t){var e=n;this[e(1110)]=t,this[e(647)]=new DataView(this._buffer,this._byteOffset),this[e(848)]=this[e(1110)][e(1083)]}}),Object[n(886)](h[n(987)],n(1439),{get:function(){return this._byteOffset},set:function(t){var e=n;this[e(1518)]=t,this[e(647)]=new DataView(this[e(1110)],this[e(1518)]),this[e(848)]=this[e(1110)][e(1083)]}}),Object.defineProperty(h[n(987)],n(1115),{get:function(){return this[n(647)]},set:function(t){var e=n;this[e(1518)]=t[e(1439)],this[e(1110)]=t[e(1524)],this._dataView=new DataView(this[e(1110)],this[e(1518)]),this._byteLength=this._byteOffset+t[e(1083)]}}),h[n(987)].seek=function(t){var e=n,s=Math[e(1164)](0,Math[e(1301)](this[e(1083)],t));this[e(618)]=isNaN(s)||!isFinite(s)?0:s},h.prototype[n(1122)]=function(){var t=n;return this[t(618)]>=this[t(848)]},h.prototype.mapUint8Array=function(t){var e=n;this[e(1352)](1*t);var s=new Uint8Array(this[e(1110)],this[e(1439)]+this[e(618)],t);return this.position+=1*t,s},h.prototype.readInt32Array=function(t,e){var s=n;t=null==t?this[s(1083)]-this[s(618)]/4:t;var i=new Int32Array(t);return h[s(1119)](i[s(1524)],0,this.buffer,this.byteOffset+this.position,t*i[s(511)]),h[s(543)](i,null==e?this[s(729)]:e),this[s(618)]+=i[s(1083)],i},h[n(987)][n(585)]=function(t,e){var s=n;t=null==t?this[s(1083)]-this[s(618)]/2:t;var i=new Int16Array(t);return h[s(1119)](i.buffer,0,this[s(1524)],this[s(1439)]+this[s(618)],t*i[s(511)]),h[s(543)](i,null==e?this[s(729)]:e),this[s(618)]+=i.byteLength,i},h.prototype[n(1283)]=function(t){var e=n;t=null==t?this.byteLength-this[e(618)]:t;var s=new Int8Array(t);return h[e(1119)](s[e(1524)],0,this[e(1524)],this[e(1439)]+this.position,t*s.BYTES_PER_ELEMENT),this.position+=s[e(1083)],s},h[n(987)][n(1427)]=function(t,e){var s=n;t=null==t?this[s(1083)]-this.position/4:t;var i=new Uint32Array(t);return h[s(1119)](i[s(1524)],0,this[s(1524)],this.byteOffset+this[s(618)],t*i[s(511)]),h[s(543)](i,null==e?this[s(729)]:e),this[s(618)]+=i[s(1083)],i},h[n(987)][n(414)]=function(t,e){var s=n;t=null==t?this[s(1083)]-this.position/2:t;var i=new Uint16Array(t);return h[s(1119)](i.buffer,0,this[s(1524)],this[s(1439)]+this[s(618)],t*i[s(511)]),h[s(543)](i,null==e?this.endianness:e),this[s(618)]+=i[s(1083)],i},h.prototype[n(1407)]=function(t){var e=n;t=null==t?this[e(1083)]-this[e(618)]:t;var s=new Uint8Array(t);return h.memcpy(s.buffer,0,this.buffer,this.byteOffset+this[e(618)],t*s[e(511)]),this.position+=s[e(1083)],s},h[n(987)][n(821)]=function(t,e){var s=n;t=null==t?this[s(1083)]-this[s(618)]/8:t;var i=new Float64Array(t);return h[s(1119)](i.buffer,0,this[s(1524)],this.byteOffset+this[s(618)],t*i[s(511)]),h[s(543)](i,null==e?this[s(729)]:e),this[s(618)]+=i.byteLength,i},h[n(987)][n(1406)]=function(t,e){var s=n;t=null==t?this[s(1083)]-this[s(618)]/4:t;var i=new Float32Array(t);return h.memcpy(i[s(1524)],0,this[s(1524)],this[s(1439)]+this[s(618)],t*i[s(511)]),h[s(543)](i,null==e?this.endianness:e),this[s(618)]+=i[s(1083)],i},h[n(987)].readInt32=function(t){var e=n,s=this[e(647)][e(1072)](this[e(618)],null==t?this[e(729)]:t);return this.position+=4,s},h[n(987)].readInt16=function(t){var e=n,s=this[e(647)][e(524)](this[e(618)],null==t?this[e(729)]:t);return this[e(618)]+=2,s},h[n(987)][n(1061)]=function(){var t=n,e=this[t(647)][t(727)](this.position);return this.position+=1,e},h[n(987)].readUint32=function(t){var e=n,s=this[e(647)][e(1539)](this[e(618)],null==t?this[e(729)]:t);return this.position+=4,s},h[n(987)][n(625)]=function(t){var e=n,s=this._dataView[e(325)](this[e(618)],null==t?this.endianness:t);return this.position+=2,s},h[n(987)].readUint8=function(){var t=n,e=this[t(647)][t(369)](this[t(618)]);return this[t(618)]+=1,e},h[n(987)][n(917)]=function(t){var e=n,s=this[e(647)][e(671)](this.position,null==t?this.endianness:t);return this.position+=4,s},h[n(987)][n(940)]=function(t){var e=n,s=this[e(647)][e(836)](this[e(618)],null==t?this.endianness:t);return this[e(618)]+=8,s},h[n(729)]=new Int8Array(new Int16Array([1])[n(1524)])[0]>0,h.memcpy=function(t,e,s,i,r){var o=n,a=new Uint8Array(t,e,r),h=new Uint8Array(s,i,r);a[o(481)](h)},h[n(543)]=function(t,e){var s=n;return e==this[s(729)]?t:this[s(1517)](t)},h[n(425)]=function(t,e){var s=n;return this[s(729)]==e?t:this[s(1517)](t)},h.flipArrayEndianness=function(t){for(var e=n,s=new Uint8Array(t[e(1524)],t[e(1439)],t[e(1083)]),i=0;io;r--,o++){var a=s[o];s[o]=s[r],s[r]=a}return t},h.prototype.failurePosition=0,String[n(1146)]=function(t){for(var e=n,s=[],i=0;i>16),this.writeUint8((65280&t)>>8),this.writeUint8(255&t)},h.prototype[n(600)]=function(t,e){var s=n,i=this[s(618)];this.seek(t),this.writeUint32(e),this[s(680)](i)},h.prototype.mapInt32Array=function(t,e){var s=n;this[s(1352)](4*t);var i=new Int32Array(this[s(1110)],this[s(1439)]+this.position,t);return h[s(543)](i,null==e?this[s(729)]:e),this.position+=4*t,i},h[n(987)].mapInt16Array=function(t,e){var s=n;this[s(1352)](2*t);var i=new Int16Array(this._buffer,this[s(1439)]+this[s(618)],t);return h[s(543)](i,null==e?this[s(729)]:e),this[s(618)]+=2*t,i},h[n(987)].mapInt8Array=function(t){var e=n;this._realloc(1*t);var s=new Int8Array(this[e(1110)],this[e(1439)]+this[e(618)],t);return this[e(618)]+=1*t,s},h[n(987)].mapUint32Array=function(t,e){var s=n;this[s(1352)](4*t);var i=new Uint32Array(this._buffer,this.byteOffset+this[s(618)],t);return h[s(543)](i,null==e?this[s(729)]:e),this.position+=4*t,i},h[n(987)][n(540)]=function(t,e){var s=n;this[s(1352)](2*t);var i=new Uint16Array(this[s(1110)],this.byteOffset+this[s(618)],t);return h.arrayToNative(i,null==e?this.endianness:e),this[s(618)]+=2*t,i},h[n(987)][n(860)]=function(t,e){var s=n;this[s(1352)](8*t);var i=new Float64Array(this[s(1110)],this.byteOffset+this.position,t);return h.arrayToNative(i,null==e?this[s(729)]:e),this.position+=8*t,i},h[n(987)][n(936)]=function(t,e){var s=n;this[s(1352)](4*t);var i=new Float32Array(this[s(1110)],this.byteOffset+this.position,t);return h[s(543)](i,null==e?this[s(729)]:e),this[s(618)]+=4*t,i};var l=function(t){var e=n;this.buffers=[],this[e(1523)]=-1,t&&(this.insertBuffer(t),this[e(1523)]=0)};l[n(987)]=new h(new ArrayBuffer,0,h[n(1097)]),l.prototype[n(689)]=function(){var t,e=n;return this[e(1523)]>-1||(this[e(368)][e(993)]>0?0===(t=this[e(368)][0])[e(913)]?(this.buffer=t,this[e(1523)]=0,o[e(1477)](e(1332),"Stream ready for parsing"),!0):(o[e(316)](e(1332),e(1483)),this[e(870)](),!1):(o[e(316)](e(1332),e(997)),this.logBufferLevel(),!1))},ArrayBuffer[n(1199)]=function(t,e){var s=n;o.debug(s(872),s(1473)+(t[s(1083)]+e[s(1083)]));var i=new Uint8Array(t.byteLength+e.byteLength);return i[s(481)](new Uint8Array(t),0),i[s(481)](new Uint8Array(e),t[s(1083)]),i[s(1524)]},l[n(987)][n(1343)]=function(t,e,s){var i,r=n;return(i=new Uint8Array(s)).set(new Uint8Array(t,e,s)),i[r(1524)][r(913)]=t[r(913)]+e,i[r(1524)][r(1533)]=0,i[r(1524)]},l[n(987)].insertBuffer=function(t){for(var e=n,s=!0,i=0;ir[e(1083)]){this[e(368)].splice(i,1),i--;continue}o[e(316)](e(1332),"Buffer (fileStart: "+t[e(913)]+" - Length: "+t[e(1083)]+") already appended, ignoring")}else t[e(913)]+t.byteLength<=r.fileStart||(t=this[e(1343)](t,0,r[e(913)]-t[e(913)])),o.debug(e(1332),"Appending new buffer (fileStart: "+t[e(913)]+e(1167)+t.byteLength+")"),this.buffers[e(839)](i,0,t),0===i&&(this[e(1524)]=t);s=!1;break}if(t[e(913)]0)){s=!1;break}t=this[e(1343)](t,a,h)}}s&&(o.debug("MultiBufferStream",e(1380)+t[e(913)]+" - Length: "+t[e(1083)]+")"),this[e(368)][e(409)](t),0===i&&(this[e(1524)]=t))},l[n(987)][n(870)]=function(t){var e,s,i,r,a,h=n,c=[],l="";for(i=0,r=0,e=0;e0&&(l+=a[h(1394)]-1+"]");var d=t?o[h(1219)]:o.debug;0===this.buffers.length?d(h(1332),h(334)):d("MultiBufferStream",""+this[h(368)][h(993)]+h(1340)+i+"/"+r+h(1206)+l)},l[n(987)][n(855)]=function(){var t,e,s=n;for(t=0;t"+this[e(1524)].byteLength+")"),!0}return!1}return!1},l[n(987)][n(1112)]=function(t,e,s){var i,r=n,a=null,h=-1;for(i=!0===t?0:this.bufferIndex;i=e?(o[r(1477)](r(1332),"Found position in existing buffer #"+h),h):-1:-1},l[n(987)][n(772)]=function(t){var e,s,i,r=n,o=void 0!==t?t:this[r(1523)];if(s=this[r(368)][o],this.buffers.length>o+1)for(e=o+1;e>3;return 31===n&&r.data.length>=2&&(n=32+((7&r[s(588)][0])<<3)+((224&r[s(588)][1])>>5)),n}return null},i[t(643)]=function(e){i[t(715)].call(this,4,e)},i[t(643)].prototype=new(i[t(715)]),i[t(643)].prototype[t(1430)]=function(e){var s=t;this.oti=e[s(276)](),this[s(943)]=e[s(276)](),this[s(309)]=0!=(this.streamType>>1&1),this[s(943)]=this.streamType>>>2,this[s(344)]=e[s(466)](),this[s(616)]=e[s(597)](),this[s(1106)]=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},i[t(891)]=function(e){var s=t;i[s(715)][s(482)](this,5,e)},i[t(891)][t(987)]=new(i[t(715)]),i[t(1469)]=function(e){var s=t;i.Descriptor[s(482)](this,6,e)},i.SLConfigDescriptor.prototype=new(i[t(715)]),this};"undefined"!==n(1480)&&(e[n(595)]=d);var u={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:[n(1184),"idat",n(297),"skip",n(364),n(805)],FULL_BOXES:["hmhd",n(1007),n(1472),n(1538),n(852),"ipro",n(1042)],CONTAINER_BOXES:[["moov",["trak",n(443)]],[n(497)],["edts"],[n(972)],[n(655)],[n(1456)],[n(1371),[n(1317),n(467)]],[n(708),[n(354)]],[n(751),[n(1124)]],[n(1124),[n(544),n(1317),n(467)]],[n(1069)],[n(290)],[n(573)],[n(435),[n(1006)]],[n(364)],[n(1305)],[n(1080)],[n(805)],[n(373)],[n(445)],[n(586)],[n(1245)],[n(879)],[n(483),[n(657)]],[n(967),[n(1077)]],[n(629)],[n(587)],["j2kH"],[n(1415),[n(1032)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var t=n;u.FullBox.prototype=new(u[t(965)]),u.ContainerBox[t(987)]=new(u[t(965)]),u[t(780)][t(987)]=new(u[t(965)]),u[t(500)][t(987)]=new(u[t(1504)]),u[t(562)][t(827)]((function(e){u[t(1229)](e)})),u[t(1265)][t(827)]((function(e){u[t(1019)](e)})),u[t(1419)][t(827)]((function(e){u[t(1263)](e[0],null,e[1])}))},Box:function(t,e,s){var i=n;this[i(1342)]=t,this[i(342)]=e,this[i(644)]=s},FullBox:function(t,e,s){var i=n;u[i(965)][i(482)](this,t,e,s),this[i(1003)]=0,this.version=0},ContainerBox:function(t,e,s){var i=n;u[i(965)].call(this,t,e,s),this[i(1411)]=[]},SampleEntry:function(t,e,s,i){var r=n;u[r(688)][r(482)](this,t,e),this[r(649)]=s,this[r(1201)]=i},SampleGroupEntry:function(t){this[n(591)]=t},TrackGroupTypeBox:function(t,e){var s=n;u.FullBox[s(482)](this,t,e)},createBoxCtor:function(t,e){var s=n;u[s(895)][s(409)](t),u[t+"Box"]=function(e){var i=s;u[i(965)][i(482)](this,t,e)},u[t+s(965)][s(987)]=new u.Box,e&&(u[t+"Box"][s(987)][s(1430)]=e)},createFullBoxCtor:function(t,e){var s=n;u[t+s(965)]=function(e){var i=s;u[i(1504)][i(482)](this,t,e)},u[t+s(965)].prototype=new(u[s(1504)]),u[t+"Box"][s(987)][s(1430)]=function(t){var i=s;this[i(355)](t),e&&e[i(482)](this,t)}},addSubBoxArrays:function(t){var e=n;if(t){this[e(1196)]=t;for(var s=t[e(993)],i=0;is?(o[h(1153)](h(866),h(1260)+p+"' has a size "+d+h(1062)+s),{code:u[h(601)],type:p,size:d,hdr_size:l,start:c}):0!==d&&c+d>t[h(1399)]()?(t[h(680)](c),o[h(1219)]("BoxParser","Not enough data in stream to parse the entire '"+p+h(376)),{code:u[h(601)],type:p,size:d,hdr_size:l,start:c}):e?{code:u.OK,type:p,size:d,hdr_size:l,start:c}:(u[p+h(965)]?i=new(u[p+h(965)])(d):p!==h(644)?(o[h(316)](h(866),h(714)+p+"'"),(i=new(u[h(965)])(p,d))[h(523)]=!0):u.UUIDBoxes[a]?i=new(u[h(1173)][a])(d):(o[h(316)](h(866),h(952)+a+"'"),(i=new(u[h(965)])(p,d))[h(644)]=a,i[h(523)]=!0),i.hdr_size=l,i.start=c,i[h(501)]===u[h(965)][h(987)][h(501)]&&i[h(1342)]!==h(1184)&&(o[h(1219)](h(866),"'"+f+h(1422)),i[h(388)](t)),i.parse(t),(r=t[h(1160)]()-(i[h(1201)]+i[h(342)]))<0?(o.warn(h(866),h(296)+f+h(1436)+-r+h(755)),t[h(680)](i[h(1201)]+i[h(342)])):r>0&&(o.error(h(866),h(296)+f+h(548)+r+" more bytes than the indicated box data size, seeking backwards"),0!==i[h(342)]&&t[h(680)](i[h(1201)]+i[h(342)])),{code:u.OK,box:i,size:i.size})},u[n(965)][n(987)][n(1430)]=function(t){var e=n;"mdat"!=this.type?this[e(588)]=t[e(1407)](this[e(342)]-this.hdr_size):0===this[e(342)]?t.seek(t[e(1399)]()):t[e(680)](this.start+this.size)},u[n(965)].prototype.parseDataAndRewind=function(t){var e=n;this.data=t[e(1407)](this.size-this.hdr_size),t.position-=this[e(342)]-this[e(649)]},u[n(1504)][n(987)][n(388)]=function(t){var e=n;this[e(355)](t),this.data=t[e(1407)](this[e(342)]-this[e(649)]),this[e(649)]-=4,t[e(618)]-=this[e(342)]-this[e(649)]},u.FullBox.prototype[n(355)]=function(t){var e=n;this.version=t[e(276)](),this[e(1003)]=t[e(466)](),this[e(649)]+=4},u[n(1504)][n(987)][n(1430)]=function(t){var e=n;this.parseFullHeader(t),this[e(588)]=t.readUint8Array(this[e(342)]-this[e(649)])},u[n(688)][n(987)][n(1430)]=function(t){for(var e,s,i=n;t[i(1160)]()>10&31,s[1]=this.language>>5&31,s[2]=31&this.language,this[e(340)]=String.fromCharCode(s[0]+96,s[1]+96,s[2]+96)},u[n(1383)]="Visual",u.SAMPLE_ENTRY_TYPE_AUDIO="Audio",u[n(906)]=n(1020),u[n(665)]=n(768),u[n(1232)]=n(957),u[n(1393)]=n(1261),u.SAMPLE_ENTRY_TYPE_TEXT=n(489),u[n(780)][n(987)].parseHeader=function(t){var e=n;t[e(1407)](6),this[e(621)]=t[e(625)](),this.hdr_size+=8},u.SampleEntry.prototype[n(1430)]=function(t){var e=n;this.parseHeader(t),this[e(588)]=t.readUint8Array(this.size-this[e(649)])},u[n(780)][n(987)].parseDataAndRewind=function(t){var e=n;this.parseHeader(t),this[e(588)]=t[e(1407)](this.size-this[e(649)]),this[e(649)]-=8,t[e(618)]-=this[e(342)]-this[e(649)]},u[n(780)][n(987)][n(776)]=function(t){var e=n;u.ContainerBox[e(987)][e(1430)][e(482)](this,t)},u[n(932)](u[n(906)]),u[n(932)](u[n(665)]),u.createMediaSampleEntryCtor(u[n(1232)]),u[n(932)](u[n(1393)]),u[n(932)](u[n(401)]),u.createMediaSampleEntryCtor(u[n(1383)],(function(t){var e,s=n;this[s(1437)](t),t.readUint16(),t[s(625)](),t[s(1427)](3),this[s(1046)]=t[s(625)](),this[s(553)]=t[s(625)](),this[s(302)]=t[s(597)](),this[s(833)]=t[s(597)](),t[s(597)](),this[s(1049)]=t[s(625)](),e=Math[s(1301)](31,t.readUint8()),this[s(1423)]=t[s(901)](e),e<31&&t[s(901)](31-e),this[s(375)]=t.readUint16(),t[s(625)](),this.parseFooter(t)})),u[n(932)](u[n(909)],(function(t){var e=n;this[e(1437)](t),t[e(1427)](2),this[e(662)]=t[e(625)](),this.samplesize=t[e(625)](),t[e(625)](),t.readUint16(),this[e(882)]=t[e(597)]()/65536,this[e(776)](t)})),u[n(635)](u[n(1383)],n(499)),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(938)),u[n(635)](u[n(1383)],n(766)),u[n(635)](u[n(1383)],n(771)),u.createSampleEntryCtor(u[n(1383)],"av01"),u[n(635)](u[n(1383)],"dav1"),u[n(635)](u[n(1383)],n(1004)),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(890)),u[n(635)](u[n(1383)],n(1223)),u[n(635)](u[n(1383)],n(703)),u.createSampleEntryCtor(u[n(1383)],"dvh1"),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1030)),u[n(635)](u[n(1383)],"vvi1"),u.createSampleEntryCtor(u[n(1383)],"vvs1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,n(599)),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1156)),u[n(635)](u[n(1383)],n(312)),u[n(635)](u[n(1383)],n(1314)),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),u[n(635)](u[n(1383)],"mjp2"),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1024)),u[n(635)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(640)),u[n(635)](u[n(909)],n(706)),u[n(635)](u[n(909)],n(748)),u[n(635)](u[n(909)],n(1562)),u[n(635)](u.SAMPLE_ENTRY_TYPE_AUDIO,n(654)),u[n(635)](u[n(909)],n(830)),u[n(635)](u.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),u[n(635)](u.SAMPLE_ENTRY_TYPE_AUDIO,n(1307)),u[n(635)](u[n(909)],"mhm1"),u[n(635)](u[n(909)],n(664)),u[n(1087)](u[n(1383)],n(1117)),u[n(1087)](u.SAMPLE_ENTRY_TYPE_AUDIO,n(1125)),u[n(1087)](u[n(1232)],n(1044)),u.createEncryptedSampleEntryCtor(u[n(1393)],n(468)),u[n(1087)](u[n(401)],n(308)),u[n(1087)](u[n(665)],n(504)),u[n(1229)](n(1105),(function(t){var e=n,s=16*(1+(1&(1&t[e(276)]())));this[e(989)]=[];for(var i=0;i<3;i++)16==s?this.layer_size[i]=t[e(625)]():this[e(989)][i]=t[e(597)]()})),u[n(1229)](n(1041),(function(t){var e=n;this.op_index=t[e(276)]()})),u[n(1019)](n(1243),(function(t){var e=n;this[e(1434)]=t.readCString();var s=this[e(342)]-this[e(649)]-(this[e(1434)][e(993)]+1);this.aux_subtype=t[e(1407)](s)})),u[n(1229)](n(1088),(function(t){var e=n,s=t[e(276)]();if(s>>7&!1)o[e(1153)](e(924));else if(this[e(1231)]=127&s,1===this[e(1231)])if(s=t[e(276)](),this[e(650)]=s>>5&7,this[e(981)]=31&s,s=t.readUint8(),this.seq_tier_0=s>>7&1,this[e(834)]=s>>6&1,this.twelve_bit=s>>5&1,this[e(782)]=s>>4&1,this[e(885)]=s>>3&1,this.chroma_subsampling_y=s>>2&1,this[e(478)]=3&s,s=t[e(276)](),this[e(1064)]=s>>5&7,0===this[e(1064)]){if(this[e(293)]=s>>4&1,1===this[e(293)])this[e(990)]=15&s;else if(this[e(674)]=15&s,0!==this[e(674)])return void o.error("av1C reserved_2 parsing problem");var i=this[e(342)]-this[e(649)]-4;this[e(944)]=t[e(1407)](i)}else o.error("av1C reserved_1 parsing problem");else o[e(1153)](e(1550)+this.version+e(1059))})),u.createBoxCtor(n(794),(function(t){var e,s,i=n;for(this[i(420)]=t.readUint8(),this.AVCProfileIndication=t.readUint8(),this[i(763)]=t[i(276)](),this.AVCLevelIndication=t.readUint8(),this[i(576)]=3&t[i(276)](),this[i(1175)]=31&t[i(276)](),s=this[i(342)]-this[i(649)]-6,this[i(557)]=[],e=0;e0&&(this[i(1556)]=t[i(1407)](s))})),u[n(1229)](n(1028),(function(t){var e=n;this[e(488)]=t[e(597)](),this[e(616)]=t.readUint32(),this[e(1106)]=t.readUint32()})),u[n(1019)](n(1309),(function(t){var e=n,s=t[e(276)]();this[e(1082)]=128==(128&s),this[e(1333)]=64==(64&s),this[e(753)]=(63&s)>>2,t.readUint24()})),u.createBoxCtor(n(630),(function(t){var e,s=n;for(this.channel_count=t[s(625)](),this[s(626)]=[],this[s(878)]=[],this[s(602)]=[],e=0;e=32768&&this.component_type_urls[e(409)](t[e(779)]())}})),u.createFullBoxCtor(n(320),(function(t){var e,s,i=n;if(e=t.readUint32(),this[i(1104)]=[],0===this[i(1231)])for(s=0;s>7}else(this[e(1549)]===e(361)||this[e(1549)]===e(298))&&(this[e(1515)]=t[e(1407)](this[e(342)]-4))})),u[n(1019)](n(690),(function(t){this[n(324)](t),this.notice=t.readCString()})),u[n(1019)]("cslg",(function(t){var e=n;0===this[e(1231)]&&(this[e(858)]=t[e(510)](),this[e(1282)]=t[e(510)](),this.greatestDecodeToDisplayDelta=t[e(510)](),this[e(1457)]=t[e(510)](),this[e(589)]=t[e(510)]())})),u[n(1019)](n(1078),(function(t){var e,s,i=n;if(e=t[i(597)](),this.sample_counts=[],this.sample_offsets=[],0===this[i(1231)])for(s=0;s>6,this[e(536)]=s>>1&31,this[e(285)]=(1&s)<<2|i>>6&3,this[e(1051)]=i>>3&7,this[e(265)]=i>>2&1,this.bit_rate_code=3&i|r>>5&7})),u[n(1229)]("dec3",(function(t){var e=n,s=t.readUint16();this.data_rate=s>>3,this.num_ind_sub=7&s,this.ind_subs=[];for(var i=0;i>6,r[e(536)]=o>>1&31,r[e(285)]=(1&o)<<4|a>>4&15,r.acmod=a>>1&7,r[e(265)]=1&a,r[e(261)]=h>>1&15,r[e(261)]>0&&(r[e(1285)]=(1&h)<<8|t[e(276)]())}})),u[n(1019)]("dfLa",(function(t){var e=n,s=[],i=[e(1252),e(1299),e(1250),e(1207),e(883),e(1197),e(1038),e(793)];for(this[e(355)](t);;){var r=t[e(276)](),o=Math[e(1301)](127&r,i[e(993)]-1);if(o?t[e(1407)](t[e(466)]()):(t.readUint8Array(13),this.samplerate=t[e(597)]()>>12,t[e(1407)](20)),s[e(409)](i[o]),128&r)break}this[e(1441)]=s[e(993)]+" ("+s.join(", ")+")"})),u.createBoxCtor(n(519),(function(t){var e=n;this[e(1025)]=t[e(761)]()})),u[n(1229)](n(812),(function(t){var e=n;this[e(1158)]=t[e(597)]()})),u[n(1229)](n(1484),(function(t){var e=n;this.bytessent=t[e(761)]()})),u[n(1229)](n(986),(function(t){var e=n;if(this[e(1021)]=t[e(276)](),this[e(273)]=t[e(276)](),this[e(676)]=t[e(625)](),this.InputSampleRate=t[e(597)](),this[e(1450)]=t[e(1194)](),this[e(1350)]=t.readUint8(),0!==this[e(1350)]){this[e(1277)]=t.readUint8(),this[e(1017)]=t.readUint8(),this[e(1214)]=[];for(var s=0;s=4;)this[e(950)][i]=t[e(901)](4),s-=4,i++})),u[n(1019)](n(713),(function(t){var e=n;0===this[e(1231)]&&(t[e(597)](),this[e(929)]=t[e(901)](4),t[e(1427)](3),this[e(613)]=t[e(901)](this.size-this.hdr_size-20),"\0"===this.name[this.name[e(993)]-1]&&(this[e(613)]=this[e(613)][e(918)](0,-1)))})),u[n(1229)](n(1275),(function(t){var e,s,i,r,o=n;this.configurationVersion=t[o(276)](),r=t[o(276)](),this[o(639)]=r>>6,this[o(1286)]=(32&r)>>5,this[o(1015)]=31&r,this[o(428)]=t[o(597)](),this[o(1123)]=t.readUint8Array(6),this[o(292)]=t[o(276)](),this[o(722)]=4095&t[o(625)](),this[o(666)]=3&t[o(276)](),this[o(379)]=3&t.readUint8(),this[o(1471)]=7&t[o(276)](),this[o(1162)]=7&t.readUint8(),this.avgFrameRate=t[o(625)](),r=t.readUint8(),this[o(692)]=r>>6,this[o(684)]=(13&r)>>3,this[o(419)]=(4&r)>>2,this[o(576)]=3&r,this[o(266)]=[];var a=t[o(276)]();for(e=0;e>7,h[o(979)]=63&r;var c=t.readUint16();for(s=0;s>4&15,this[s(1403)]=15&e,e=t[s(276)](),this[s(1185)]=e>>4&15,1===this[s(1231)]||2===this[s(1231)]?this[s(454)]=15&e:this[s(454)]=0,this[s(1491)]=[];var i=0;if(this.version<2)i=t.readUint16();else{if(2!==this[s(1231)])throw s(951);i=t[s(597)]()}for(var r=0;r>7,this[e(1111)]=1&s})),u[n(1019)]("infe",(function(t){var e=n;if((0===this.version||1===this[e(1231)])&&(this[e(1449)]=t[e(625)](),this[e(438)]=t[e(625)](),this[e(1235)]=t[e(779)](),this[e(1271)]=t[e(779)](),this.content_encoding=t.readCString()),1===this.version)return this[e(1373)]=t[e(901)](4),o[e(316)](e(866),"Cannot parse extension type"),void t.seek(this.start+this[e(342)]);this[e(1231)]>=2&&(2===this[e(1231)]?this[e(1449)]=t[e(625)]():3===this[e(1231)]&&(this[e(1449)]=t[e(597)]()),this[e(438)]=t[e(625)](),this[e(900)]=t[e(901)](4),this[e(1235)]=t[e(779)](),this[e(900)]===e(1036)?(this.content_type=t.readCString(),this.content_encoding=t[e(779)]()):"uri "===this[e(900)]&&(this[e(966)]=t.readCString()))})),u[n(1019)](n(1077),(function(t){var e,s,i=n;for(entry_count=t[i(597)](),this[i(507)]=[],e=0;e>7==1,1&this[i(1003)]?h.property_index=(127&a)<<8|t[i(276)]():h[i(267)]=127&a}}})),u.createFullBoxCtor("iref",(function(t){var e,s,i=n;for(this[i(367)]=[];t[i(1160)]()>7,r[e(358)]=127&a,r[e(358)]){case 0:r[e(591)]=t.readString(4);break;case 1:r[e(591)]=t.readString(4),r.grouping_type_parameter=t[e(597)]();break;case 2:case 3:break;case 4:r.sub_track_id=t[e(597)]();break;default:o[e(316)](e(866),e(331))}}})),u[n(1229)](n(560),(function(t){this[n(889)]=t.readUint16()})),u[n(1229)](n(1063),(function(t){var e=n;this.period=t[e(597)](),this[e(608)]=t[e(597)]()})),p.prototype[n(509)]=function(){return"("+this.x+","+this.y+")"},u.createBoxCtor(n(1558),(function(t){var e=n;this[e(747)]=[],this[e(747)][0]=new p(t[e(625)](),t[e(625)]()),this.display_primaries[1]=new p(t.readUint16(),t[e(625)]()),this[e(747)][2]=new p(t[e(625)](),t[e(625)]()),this[e(963)]=new p(t[e(625)](),t[e(625)]()),this.max_display_mastering_luminance=t.readUint32(),this[e(339)]=t[e(597)]()})),u.createFullBoxCtor(n(1242),(function(t){var e=n;1==this.version?(this[e(1490)]=t[e(761)](),this[e(440)]=t[e(761)](),this[e(1543)]=t[e(597)](),this.duration=t.readUint64()):(this[e(1490)]=t[e(597)](),this[e(440)]=t[e(597)](),this.timescale=t[e(597)](),this.duration=t[e(597)]()),this[e(324)](t),t[e(625)]()})),u[n(1019)](n(484),(function(t){var e=n;1&this.flags&&(o[e(316)](e(866),e(736)),this[e(1231)]=1),1==this[e(1231)]?this[e(1315)]=t[e(761)]():this[e(1315)]=t[e(597)]()})),u.createFullBoxCtor("meta",(function(t){var e=n;this[e(1411)]=[],u.ContainerBox[e(987)][e(1430)][e(482)](this,t)})),u[n(1019)]("mfhd",(function(t){var e=n;this.sequence_number=t[e(597)]()})),u[n(1019)](n(371),(function(t){var e=n;this[e(1465)]=t[e(597)]()})),u[n(1019)]("mskC",(function(t){var e=n;this[e(389)]=t[e(276)]()})),u[n(1019)](n(270),(function(t){var e=n;1==this[e(1231)]?(this.creation_time=t[e(761)](),this.modification_time=t[e(761)](),this[e(1543)]=t[e(597)](),this[e(998)]=t[e(761)]()):(this[e(1490)]=t.readUint32(),this[e(440)]=t[e(597)](),this[e(1543)]=t[e(597)](),this[e(998)]=t[e(597)]()),this[e(811)]=t[e(597)](),this[e(740)]=t.readUint16()>>8,t.readUint16(),t[e(1427)](2),this[e(460)]=t[e(1427)](9),t[e(1427)](6),this[e(1227)]=t[e(597)]()})),u[n(1229)](n(1296),(function(t){var e=n;this[e(1322)]=t[e(597)]()})),u.createBoxCtor(n(693),(function(t){this[n(1322)]=t.readUint64()})),u[n(1019)](n(1193),(function(t){var e=n,s=t.readUint32();this[e(1198)]=[];for(var i=0;i0){var s=t[e(597)]();this[e(412)]=[];for(var i=0;i0&&(this.data=t[e(1407)](r))})),u[n(1019)](n(712),(function(t){var e=n;this[e(1046)]=t[e(597)](),this[e(553)]=t[e(597)]()})),u[n(1019)]("enof",(function(t){var e=n;this[e(1046)]=t[e(597)](),this[e(553)]=t[e(597)]()})),u[n(1019)](n(298),(function(t){var e=n;this[e(1046)]=t[e(597)](),this[e(553)]=t[e(597)]()})),u[n(1263)](n(777),null,[n(712),n(298),n(614)]),u[n(1229)]("rtp ",(function(t){var e=n;this[e(1168)]=t[e(901)](4),this[e(1408)]=t[e(901)](this[e(342)]-this[e(649)]-4)})),u[n(1019)](n(867),(function(t){var e=n;1&this[e(1003)]&&(this[e(1372)]=t.readUint32(),this.aux_info_type_parameter=t[e(597)]());var s=t[e(597)]();this[e(912)]=[];for(var i=0;i>7,this[e(995)]=s>>6&1,this[e(1431)]&&(this[e(998)]=t.readUint32()),this[e(995)]&&(this.accurateStatisticsFlag=t[e(276)](),this[e(845)]=t[e(625)](),this[e(746)]=t[e(625)]()),this.dependency=[];for(var i=t[e(276)](),r=0;r>7,this[e(853)]=127&s})),u.createSampleGroupCtor(n(566),(function(t){var e=n;if(this.operation_point_count=t.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this[e(881)])+9)o.warn(e(866),e(1121)+this[e(591)]+e(338)),this.data=t[e(1407)](this[e(289)]-2);else{if(1===this[e(881)])this[e(628)]=t[e(625)]();else{this.target_rate_share=[],this.available_bitrate=[];for(var s=0;s>4,this[e(842)]=15&s,this[e(710)]=t[e(276)](),this[e(899)]=t[e(276)](),this[e(725)]=u.parseHex16(t),this.constant_IV_size=0,this[e(381)]=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=t[e(276)](),this.constant_IV=t.readUint8Array(this.constant_IV_size))})),u.createSampleGroupCtor(n(1397),(function(t){var e=n;o[e(316)](e(866),"Sample Group type: "+this[e(591)]+e(1294))})),u[n(742)](n(638),(function(t){var e=n,s=t[e(276)]();this[e(1137)]=63&s})),u[n(742)]("tele",(function(t){var e=n,s=t[e(276)]();this[e(677)]=s>>7})),u.createSampleGroupCtor(n(1325),(function(t){var e=n;o[e(316)](e(866),e(384)+this[e(591)]+e(1294))})),u[n(742)](n(762),(function(t){var e=n;o[e(316)](e(866),e(384)+this[e(591)]+" not fully parsed")})),u[n(742)](n(532),(function(t){var e=n;o[e(316)](e(866),e(384)+this.grouping_type+e(1294))})),u[n(1019)](n(467),(function(t){var e=n;this[e(591)]=t.readString(4),1===this[e(1231)]?this[e(1192)]=t[e(597)]():this[e(1192)]=0,this.entries=[];for(var s=t.readUint32(),i=0;i>6,this[s(988)][r]=e>>4&3,this.sample_is_depended_on[r]=e>>2&3,this.sample_has_redundancy[r]=3&e})),u[n(1019)](n(390)),u[n(1019)](n(1317),(function(t){var e=n;this.grouping_type=t.readString(4),o.debug(e(866),"Found Sample Groups of type "+this[e(591)]),1===this[e(1231)]?this[e(681)]=t.readUint32():this.default_length=0,this.version>=2&&(this[e(291)]=t[e(597)]()),this[e(494)]=[];for(var s=t.readUint32(),i=0;i>31&1,r[e(450)]=2147483647&o,r[e(1230)]=t.readUint32(),o=t.readUint32(),r[e(1386)]=o>>31&1,r[e(970)]=o>>28&7,r[e(1272)]=268435455&o}})),u.SingleItemTypeReferenceBox=function(t,e,s,i){var r=n;u[r(965)][r(482)](this,t,e),this[r(649)]=s,this.start=i},u[n(417)].prototype=new(u[n(965)]),u[n(417)].prototype[n(1430)]=function(t){var e=n;this[e(1215)]=t[e(625)]();var s=t[e(625)]();this[e(367)]=[];for(var i=0;i>4&15,this[i(968)][e+1]=15&r}else if(8===this[i(473)])for(e=0;e0)for(s=0;s>4&15,this[e(1287)]=15&s}this[e(1425)]=t[e(276)](),this[e(734)]=t[e(276)](),this[e(427)]=u[e(1316)](t),1===this[e(1425)]&&0===this[e(734)]&&(this[e(705)]=t[e(276)](),this.default_constant_IV=t[e(1407)](this.default_constant_IV_size))})),u.createFullBoxCtor(n(1366),(function(t){var e=n;1==this[e(1231)]?this[e(278)]=t[e(761)]():this[e(278)]=t[e(597)]()})),u[n(1019)](n(451),(function(t){var e=n,s=0;this[e(547)]=t[e(597)](),this[e(342)]-this.hdr_size>s&&this[e(1003)]&u[e(1118)]?(this[e(495)]=t[e(761)](),s+=8):this[e(495)]=0,this.size-this[e(649)]>s&&this[e(1003)]&u.TFHD_FLAG_SAMPLE_DESC?(this[e(286)]=t[e(597)](),s+=4):this[e(286)]=0,this.size-this[e(649)]>s&&this[e(1003)]&u[e(469)]?(this[e(1561)]=t[e(597)](),s+=4):this[e(1561)]=0,this.size-this[e(649)]>s&&this.flags&u[e(1289)]?(this.default_sample_size=t.readUint32(),s+=4):this[e(514)]=0,this[e(342)]-this[e(649)]>s&&this.flags&u[e(421)]?(this[e(904)]=t[e(597)](),s+=4):this[e(904)]=0})),u[n(1019)](n(1006),(function(t){var e=n;this[e(615)]=t.readUint32(),t.readUint24();var s=t[e(276)]();this.length_size_of_traf_num=s>>4&3,this[e(1026)]=s>>2&3,this[e(366)]=3&s,this[e(494)]=[];for(var i=t[e(597)](),r=0;r>8,t[e(625)](),this.matrix=t[e(694)](9),this[e(1046)]=t[e(597)](),this.height=t[e(597)]()})),u.createBoxCtor("tmax",(function(t){this[n(1158)]=t.readUint32()})),u[n(1229)](n(1391),(function(t){var e=n;this[e(1158)]=t[e(597)]()})),u[n(1229)](n(975),(function(t){var e=n;this[e(1025)]=t[e(597)]()})),u[n(1229)]("tpay",(function(t){var e=n;this[e(1025)]=t[e(597)]()})),u[n(1229)](n(773),(function(t){var e=n;this.bytessent=t[e(761)]()})),u.TrackGroupTypeBox[n(987)][n(1430)]=function(t){var e=n;this[e(355)](t),this.track_group_id=t[e(597)]()},u[n(457)](n(1128)),u[n(1532)]=function(t,e,s,i){var r=n;u[r(965)][r(482)](this,t,e),this[r(649)]=s,this.start=i},u[n(1532)].prototype=new(u[n(965)]),u[n(1532)].prototype[n(1430)]=function(t){var e=n;this[e(819)]=t[e(1427)]((this[e(342)]-this.hdr_size)/4)},u[n(1018)][n(987)].parse=function(t){for(var e,s,i=n;t[i(1160)]()s&&this[e(1003)]&u[e(404)]?(this[e(1093)]=t[e(510)](),s+=4):this[e(1093)]=0,this[e(342)]-this.hdr_size>s&&this[e(1003)]&u.TRUN_FLAGS_FIRST_FLAG?(this[e(1310)]=t[e(597)](),s+=4):this[e(1310)]=0,this[e(1249)]=[],this[e(1385)]=[],this[e(347)]=[],this[e(1507)]=[],this[e(342)]-this[e(649)]>s)for(var i=0;i>7&1,this[s(1027)]=i>>6&1,this[s(1336)]=i>>5&1,this.block_reversed=i>>4&1,this[s(1379)]=i>>3&1,this[s(1138)]=t.readUint32(),this[s(533)]=t.readUint32(),this.tile_align_size=t[s(597)](),this.num_tile_cols_minus_one=t[s(597)](),this[s(1546)]=t[s(597)]()}})),u[n(1019)]("url ",(function(t){var e=n;1!==this[e(1003)]&&(this[e(413)]=t[e(779)]())})),u[n(1019)](n(1530),(function(t){var e=n;this[e(613)]=t[e(779)](),this[e(342)]-this[e(649)]-this[e(613)].length-1>0&&(this.location=t[e(779)]())})),u[n(1338)](n(1147),!0,!1,(function(t){var e=n;this[e(935)]=t[e(901)](this[e(342)]-this.hdr_size)[e(1127)](/&/g,"&")[e(1127)](//g,e(385))[e(1127)](/"/g,""")[e(1127)](/'/g,e(1176))})),u.createUUIDBox(n(552),!0,!1,(function(t){var e=n;this[e(934)]=u[e(1316)](t);var s=t[e(597)]();s>0&&(this.data=t[e(1407)](s))})),u.createUUIDBox(n(1448),!0,!1),u[n(1338)](n(1270),!0,!1,(function(t){var e=n;this[e(1392)]=t[e(466)](),this.default_IV_size=t[e(276)](),this[e(427)]=u[e(1316)](t)})),u[n(1338)](n(907),!0,!1,(function(t){var e=n;this[e(294)]=t[e(276)](),this.entries=[];for(var s=0;s>4,this.chromaSubsampling=e>>1&7,this[s(1268)]=1&e,this.colourPrimaries=t[s(276)](),this[s(559)]=t[s(276)](),this[s(465)]=t[s(276)](),this.codecIntializationDataSize=t.readUint16(),this[s(1081)]=t[s(1407)](this[s(648)])):(this.profile=t[s(276)](),this[s(1488)]=t.readUint8(),e=t.readUint8(),this[s(567)]=e>>4&15,this[s(1424)]=15&e,e=t[s(276)](),this.chromaSubsampling=e>>4&15,this[s(1319)]=e>>1&7,this[s(1268)]=1&e,this[s(648)]=t[s(625)](),this.codecIntializationData=t[s(1407)](this[s(648)]))})),u.createBoxCtor(n(620),(function(t){var e=n;this[e(1074)]=t[e(901)](this[e(342)]-this[e(649)])})),u[n(1019)](n(1084),(function(t){var e,s,i=n,r={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(t){var e=Mp;this[e(1100)]=t[e(276)](),this[e(781)]=8},stream_read_2_bytes:function(t){var e=Mp;this[e(1100)]=t[e(625)](),this.num_held_bits=16},extract_bits:function(t){var e=Mp,s=this[e(1100)]>>this[e(781)]-t&(1<1){for(r.stream_read_1_bytes(t),this.ptl_sublayer_present_mask=0,s=this[i(550)]-2;s>=0;--s){var h=r[i(1256)](1);this[i(1109)]|=h<1;++s)r[i(1256)](1);for(this[i(1247)]=[],s=this[i(550)]-2;s>=0;--s)this[i(1109)]&1<>=1;s+=u[e(687)](r,0),s+=".",0===this[e(1275)].general_tier_flag?s+="L":s+="H",s+=this[e(1275)][e(292)];var o=!1,a="";for(t=5;t>=0;t--)(this[e(1275)][e(1123)][t]||o)&&(a="."+u[e(687)](this.hvcC[e(1123)][t],0)+a,o=!0);s+=a}return s},u[n(1172)][n(987)][n(887)]=u[n(961)][n(987)].getCodec=function(){var t,e=n,s=u[e(780)][e(987)][e(887)][e(482)](this);if(this.vvcC){s+="."+this[e(1084)][e(1015)],this[e(1084)][e(1286)]?s+=".H":s+=".L",s+=this.vvcC.general_level_idc;var i="";if(this[e(1084)][e(470)]){var r,o=[],a=0;for(a|=this[e(1084)][e(1267)]<<7,a|=this.vvcC[e(1502)]<<6,t=0;t>2&63,o[e(409)](a),a&&(r=t),a=this[e(1084)][e(470)][t]>>2&3;if(void 0===r)i=e(275);else{i=".C";var h=e(846),c=0,l=0;for(t=0;t<=r;++t)for(c=c<<8|o[t],l+=8;l>=5;){i+=h[c>>l-5&31],c&=(1<<(l-=5))-1}l&&(i+=h[31&(c<<=5-l)])}}s+=i}return s},u[n(269)][n(987)][n(887)]=function(){var t=n,e=u.SampleEntry[t(987)].getCodec.call(this);if(this.esds&&this[t(306)][t(1339)]){var s=this[t(306)][t(1339)][t(527)](),i=this[t(306)][t(1339)][t(575)]();return e+"."+u[t(687)](s)+(i?"."+i:"")}return e},u[n(1453)][n(987)][n(887)]=function(){var t=n,e=u[t(780)][t(987)].getCodec[t(482)](this);return this[t(578)]?e+"."+this[t(578)]:e},u[n(825)][n(987)][n(887)]=u[n(1092)][n(987)].getCodec=function(){var t=n,e=u.SampleEntry[t(987)].getCodec[t(482)](this),s=this[t(1037)][t(1488)];0==s&&(s="00");var i=this[t(1037)][t(567)];return 8==i&&(i="08"),e+".0"+this[t(1037)][t(1113)]+"."+s+"."+i},u.av01SampleEntry[n(987)][n(887)]=function(){var t,e=n,s=u.SampleEntry[e(987)][e(887)].call(this),i=this[e(1088)][e(981)];return i<10&&(i="0"+i),2===this[e(1088)][e(650)]&&1===this.av1C[e(834)]?t=1===this.av1C[e(1329)]?"12":"10":this[e(1088)].seq_profile<=2&&(t=1===this[e(1088)][e(834)]?"10":"08"),s+"."+this[e(1088)].seq_profile+"."+i+(this[e(1088)][e(1467)]?"H":"M")+"."+t},u[n(965)][n(987)][n(1461)]=function(t,e){var s=n;this[s(342)]+=8,this[s(342)]>c&&(this[s(342)]+=8),this[s(1342)]===s(644)&&(this.size+=16),o[s(1477)](s(1159),"Writing box "+this.type+" of size: "+this[s(342)]+" at position "+t.getPosition()+(e||"")),this[s(342)]>c?t.writeUint32(1):(this.sizePosition=t[s(1160)](),t.writeUint32(this.size)),t.writeString(this[s(1342)],null,4),this.type===s(644)&&t[s(790)](this[s(644)]),this[s(342)]>c&&t[s(632)](this[s(342)])},u[n(1504)][n(987)][n(1461)]=function(t){var e=n;this[e(342)]+=4,u.Box.prototype.writeHeader[e(482)](this,t," v="+this.version+e(382)+this[e(1003)]),t[e(1135)](this.version),t[e(408)](this[e(1003)])},u[n(965)][n(987)][n(501)]=function(t){var e=n;this[e(1342)]===e(1184)?this[e(588)]&&(this.size=this[e(588)][e(993)],this.writeHeader(t),t[e(790)](this[e(588)])):(this[e(342)]=this.data?this[e(588)][e(993)]:0,this[e(1461)](t),this[e(588)]&&t[e(790)](this[e(588)]))},u[n(688)].prototype[n(501)]=function(t){var e=n;this[e(342)]=0,this[e(1461)](t);for(var s=0;s=2&&t[i(1341)](this[i(286)]),t[i(1341)](this[i(494)][i(993)]),e=0;e0)for(e=0;e+1s?1:0,this[e(1003)]=0,this.size=4,1===this.version&&(this.size+=4),this[e(1461)](t),1===this[e(1231)]?t[e(632)](this.baseMediaDecodeTime):t[e(1341)](this[e(278)])},u[n(774)][n(987)][n(501)]=function(t){var e=n;this[e(1231)]=0,this[e(342)]=4,this[e(1003)]&u[e(1118)]&&(this.size+=8),this.flags&u[e(1065)]&&(this[e(342)]+=4),this[e(1003)]&u[e(469)]&&(this[e(342)]+=4),this[e(1003)]&u[e(1289)]&&(this[e(342)]+=4),this.flags&u.TFHD_FLAG_SAMPLE_FLAGS&&(this[e(342)]+=4),this.writeHeader(t),t.writeUint32(this.track_id),this.flags&u[e(1118)]&&t[e(632)](this[e(495)]),this[e(1003)]&u.TFHD_FLAG_SAMPLE_DESC&&t.writeUint32(this[e(286)]),this[e(1003)]&u[e(469)]&&t[e(1341)](this.default_sample_duration),this[e(1003)]&u[e(1289)]&&t[e(1341)](this[e(514)]),this[e(1003)]&u[e(421)]&&t.writeUint32(this.default_sample_flags)},u[n(844)].prototype[n(501)]=function(t){var e=n;this.version=0,this[e(342)]=80,this[e(1461)](t),t[e(1341)](this[e(1490)]),t[e(1341)](this[e(440)]),t[e(1341)](this.track_id),t[e(1341)](0),t[e(1341)](this.duration),t[e(1341)](0),t.writeUint32(0),t.writeInt16(this[e(877)]),t[e(1150)](this[e(561)]),t[e(1150)](this[e(740)]<<8),t[e(317)](0),t[e(832)](this[e(460)]),t[e(1341)](this.width),t[e(1341)](this.height)},u.trexBox[n(987)].write=function(t){var e=n;this[e(1231)]=0,this[e(1003)]=0,this[e(342)]=20,this[e(1461)](t),t.writeUint32(this.track_id),t.writeUint32(this[e(286)]),t.writeUint32(this[e(1561)]),t[e(1341)](this[e(514)]),t.writeUint32(this[e(904)])},u.trunBox.prototype[n(501)]=function(t){var e=n;this[e(1231)]=0,this[e(342)]=4,this.flags&u.TRUN_FLAGS_DATA_OFFSET&&(this[e(342)]+=4),this[e(1003)]&u[e(318)]&&(this[e(342)]+=4),this[e(1003)]&u.TRUN_FLAGS_DURATION&&(this[e(342)]+=4*this.sample_duration.length),this[e(1003)]&u.TRUN_FLAGS_SIZE&&(this[e(342)]+=4*this.sample_size[e(993)]),this[e(1003)]&u[e(1506)]&&(this.size+=4*this[e(347)][e(993)]),this[e(1003)]&u[e(492)]&&(this.size+=4*this[e(1507)].length),this[e(1461)](t),t[e(1341)](this[e(903)]),this[e(1003)]&u[e(404)]&&(this.data_offset_position=t.getPosition(),t[e(733)](this[e(1093)])),this[e(1003)]&u[e(318)]&&t[e(1341)](this[e(1310)]);for(var s=0;s-1||t[s]instanceof u[i(965)]||e[s]instanceof u.Box||typeof t[s]===i(1378)||typeof e[s]===i(1378)||typeof t[s]===i(1144)||typeof e[s]===i(1144)||t.subBoxNames&&t[i(1196)][i(1505)](s[i(918)](0,4))>-1||e[i(1196)]&&e[i(1196)][i(1505)](s[i(918)](0,4))>-1||"data"===s||s===i(1201)||s===i(342)||s===i(1490)||"modification_time"===s||u[i(1216)][i(1505)](s)>-1||t[s]===e[s]))return!1;return!0},u[n(1171)]=function(t,e){var s=n;if(!u.boxEqualFields(t,e))return!1;for(var i=0;i=e?t:new Array(e-t[i(993)]+1)[i(1152)](s)+t}function o(t){var e=Mp,s=Math[e(490)](t/3600),i=Math[e(490)]((t-3600*s)/60),n=Math.floor(t-3600*s-60*i),o=Math[e(490)](1e3*(t-3600*s-60*i-n));return r(s,2)+":"+r(i,2)+":"+r(n,2)+"."+r(o,3)}for(var a=this[i(1280)](s),h="",c=0;c1)for(e=1;e-1&&this.fragmentedTracks[e(839)](s,1)},y[n(987)].setExtractionOptions=function(t,e,s){var i=n,r=this[i(418)](t);if(r){var o={};this[i(383)].push(o),o.id=t,o.user=e,o[i(497)]=r,r.nextSample=0,o[i(305)]=1e3,o.samples=[],s&&s[i(1335)]&&(o.nb_samples=s[i(1335)])}},y[n(987)][n(1195)]=function(t){for(var e=n,s=-1,i=0;i-1&&this[e(383)][e(839)](s,1)},y[n(987)].parse=function(){var t,e,s=n;if(!this[s(447)]||this[s(447)]())for(;;){if(this[s(770)]&&this[s(770)]()){if(this[s(1485)]())continue;return}if(this[s(941)]&&this.saveParsePosition(),(t=u.parseOneBox(this[s(701)],false))[s(1346)]===u[s(601)]){if(this[s(1388)]){if(this[s(1388)](t))continue;return}return}var i;switch(i=(e=t[s(1519)])[s(1342)]!==s(644)?e[s(1342)]:e[s(644)],this[s(1411)][s(409)](e),i){case s(1184):this[s(1489)][s(409)](e);break;case s(751):this[s(1308)][s(409)](e);break;case s(486):this.moovStartFound=!0,0===this[s(1489)][s(993)]&&(this[s(1094)]=!0);default:void 0!==this[i]&&o[s(316)]("ISOFile",s(1057)+i+s(487)),this[i]=e}this.updateUsedBytes&&this[s(1013)](e,t)}},y[n(987)][n(323)]=function(t){var e=n;if(null==t)throw"Buffer must be defined and non empty";if(void 0===t.fileStart)throw"Buffer must have a fileStart property";return 0===t[e(1083)]?(o[e(316)](e(277),e(356)+t[e(913)]+")"),this[e(701)][e(870)](),!1):(o[e(1219)](e(277),"Processing buffer (fileStart: "+t.fileStart+")"),t.usedBytes=0,this[e(701)][e(386)](t),this[e(701)].logBufferLevel(),!!this.stream.initialized()||(o[e(316)](e(277),e(1259)),!1))},y[n(987)][n(395)]=function(t,e){var s,i=n;if(this[i(323)](t))return this[i(1430)](),this.moovStartFound&&!this[i(847)]&&(this[i(847)]=!0,this.onMoovStart&&this[i(1548)]()),this[i(486)]?(!this[i(702)]&&(this[i(902)](),this.sampleListBuilt=!0),this[i(707)](),this[i(1302)]&&!this[i(1276)]&&(this[i(1276)]=!0,this[i(1302)](this[i(1234)]())),this[i(789)](e),this[i(429)]?(s=this[i(429)],this[i(429)]=void 0):s=this[i(660)],this.stream[i(596)]&&(s=this.stream[i(596)](s))):s=this.nextParsePosition?this[i(660)]:0,this[i(1288)]&&this.onSidx&&!this.sidxSent&&(this[i(1182)](this.sidx),this.sidxSent=!0),this.meta&&(this[i(584)]&&!this[i(1323)]&&(this[i(584)](),this.itemListBuilt=!0),this[i(786)]&&this[i(786)](this[i(808)])),this[i(701)][i(855)]&&(o[i(1219)](i(277),i(728)+t[i(913)]+i(1334)+s),this.stream[i(870)](),this[i(701)][i(855)](),this.stream[i(870)](!0),o.info("ISOFile",i(416)+this.getAllocatedSampleDataSize())),s},y[n(987)][n(1234)]=function(){var t,e,s,i,r,o,a=n,h={},c=new Date("1904-01-01T00:00:00Z").getTime();if(this[a(486)])for(h[a(992)]=!0,h[a(998)]=this[a(486)][a(270)][a(998)],h[a(1543)]=this[a(486)][a(270)].timescale,h[a(264)]=null!=this.moov[a(708)],h[a(264)]&&this[a(486)][a(708)][a(484)]&&(h[a(1315)]=this[a(486)].mvex[a(484)][a(1315)]),h[a(1094)]=this[a(1094)],h[a(634)]=null!=this[a(486)][a(1472)],h[a(471)]=[],h[a(471)][a(409)](this[a(352)][a(1228)]),h[a(471)]=h.brands.concat(this[a(352)][a(950)]),h[a(1238)]=new Date(c+1e3*this.moov[a(270)].creation_time),h[a(410)]=new Date(c+1e3*this[a(486)][a(270)][a(440)]),h[a(737)]=[],h[a(835)]=[],h[a(603)]=[],h[a(1053)]=[],h[a(802)]=[],h[a(1486)]=[],h[a(683)]=[],t=0;t0?h.mime+='video/mp4; codecs="':h[a(835)]&&h[a(835)][a(993)]>0?h[a(1036)]+=a(598):h.mime+='application/mp4; codecs="',t=0;t=s[i(1141)].length)&&(o[i(1219)](i(277),i(530)+r.id+i(1008)+Math[i(1164)](0,s[i(851)]-r[i(305)])+","+(s[i(851)]-1)+"]"),o[i(1219)](i(277),i(416)+this[i(1169)]()),this[i(1174)]&&this.onSegment(r.id,r[i(394)],r[i(999)].buffer,s[i(851)],t||s[i(851)]>=s[i(1141)][i(993)]),r[i(999)]=null,r!==this[i(446)][e]))break}}if(null!==this[i(948)])for(e=0;e=s[i(1141)].length)&&(o[i(1477)](i(277),i(458)+h.id+" for sample "+s[i(851)]),this[i(948)]&&this.onSamples(h.id,h[i(394)],h.samples),h[i(1141)]=[],h!==this[i(383)][e]))break}}}},y[n(987)][n(787)]=function(t){var e=n,s=this[e(348)](t,!0);return s[e(993)]?s[0]:null},y.prototype[n(348)]=function(t,e){var s=[];return y._sweep[n(482)](this,t,s,e),s},y[n(659)]=function(t,e,s){var i=n;for(var r in this[i(1342)]&&this.type==t&&e.push(this),this[i(1411)]){if(e[i(993)]&&s)return;y[i(659)].call(this[i(1411)][r],t,e,s)}},y[n(987)][n(582)]=function(t){var e=n,s=this[e(418)](t);return s?s[e(1141)]:void 0},y[n(987)][n(1536)]=function(t,e){var s=this[n(418)](t);return this.getSample(s,e)},y[n(987)].releaseUsedSamples=function(t,e,s){var i=n,r=0,a=this[i(418)](t);a[i(1492)]||(a[i(1492)]=0);for(var h=a[i(1492)];ht*r[c(1543)]){d=i-1;break}e&&r[c(959)]&&(l=i)}for(e&&(d=l),t=s[c(1141)][d][c(699)],s[c(851)]=d;s[c(1141)][d][c(1442)]===s[c(1141)][d].size&&s[c(1141)][d+1];)d++;return a=s[c(1141)][d][c(912)]+s.samples[d].alreadyRead,o[c(1219)](c(277),c(1266)+(e?c(332):"")+" sample #"+s[c(851)]+c(362)+s[c(1203)][c(547)]+c(551)+o.getDurationString(t,h)+c(1298)+a),{offset:a,time:t/h}},y.prototype[n(873)]=function(t){var e,s=n;return t[s(1141)]?((e=t[s(1141)][t[s(1141)][s(993)]-1]).cts+e[s(998)])/e[s(1543)]:1/0},y[n(987)].seek=function(t,e){var s,i,r,a=n,h=this[a(486)],c={offset:1/0,time:1/0};if(this.moov){for(r=0;rthis[a(873)](s)||((i=this.seekTrack(t,e,s))[a(912)]-1){c=l;break}switch(c){case e(1331):if(o[e(956)](e(682))[e(481)](e(977),0)[e(481)](e(1458),[0,0,0]),h[e(481)]("width",s[e(1046)])[e(481)](e(553),s[e(553)])[e(481)](e(302),72<<16)[e(481)](e(833),72<<16)[e(481)](e(1049),1)[e(481)](e(1423),s.type+e(1103))[e(481)](e(375),24),s[e(439)]){var f=new(u[e(646)]);f[e(1430)](new a(s[e(439)])),h[e(1363)](f)}else if(s[e(528)]){var m=new(u[e(709)]);m[e(1430)](new a(s[e(528)])),h[e(1363)](m)}break;case"Audio":o[e(956)]("smhd")[e(481)](e(826),s.balance||0),h[e(481)]("channel_count",s[e(662)]||2)[e(481)](e(525),s[e(525)]||16)[e(481)](e(882),s[e(882)]||65536);break;case"Hint":o[e(956)](e(741));break;case e(957):if(o[e(956)](e(431)),s[e(1342)]===e(669))h[e(481)](e(1321),s[e(1321)]||e(704)).set(e(976),s[e(976)]||"")[e(481)]("auxiliary_mime_types",s[e(1010)]||"");break;case e(768):o[e(956)](e(1007));break;case e(1261):default:o.add(e(1007))}s[e(1258)]&&h.addBox(s[e(1258)]),s[e(1079)]&&s.description_boxes[e(827)]((function(t){h[e(1363)](t)})),o[e(956)](e(1456))[e(956)](e(980))[e(765)]((new u["url Box"]).set(e(1003),1));var g=o[e(956)](e(1371));return g.add(e(1306)).addEntry(h),g[e(956)](e(485))[e(481)]("sample_counts",[])[e(481)](e(1354),[]),g[e(956)](e(1409))[e(481)](e(849),[]).set(e(865),[]).set("sample_description_index",[]),g[e(956)](e(441)).set(e(1104),[]),g[e(956)]("stsz")[e(481)]("sample_sizes",[]),this[e(486)][e(708)].add("trex")[e(481)](e(547),s.id)[e(481)](e(286),s[e(286)]||1).set("default_sample_duration",s[e(1561)]||0)[e(481)](e(514),s.default_sample_size||0).set("default_sample_flags",s.default_sample_flags||0),this.buildTrakSampleLists(i),s.id}},u.Box[n(987)].computeSize=function(t){var e=n,s=t||new h;s.endianness=h[e(1097)],this.write(s)},y[n(987)][n(343)]=function(t,e,s){var i=n,r=s||{},o={},a=this[i(418)](t);if(null!==a){o[i(1464)]=a[i(1141)][i(993)],o[i(547)]=a[i(1203)][i(547)],o[i(1543)]=a[i(972)][i(1242)].timescale,o[i(1208)]=r.sample_description_index?r[i(798)]-1:0,o[i(1258)]=a[i(972)].minf.stbl[i(1306)][i(494)][o[i(1208)]],o[i(588)]=e,o.size=e[i(1083)],o[i(1442)]=o[i(342)],o[i(998)]=r.duration||1,o[i(699)]=r[i(699)]||0,o[i(749)]=r[i(749)]||0,o[i(959)]=r.is_sync||!1,o.is_leading=r.is_leading||0,o.depends_on=r[i(1440)]||0,o[i(1068)]=r.is_depended_on||0,o.has_redundancy=r.has_redundancy||0,o[i(313)]=r[i(313)]||0,o[i(912)]=0,o[i(982)]=r.subsamples,a[i(1141)][i(409)](o),a[i(1520)]+=o[i(342)],a.samples_duration+=o[i(998)],void 0===a[i(840)]&&(a[i(840)]=r[i(749)]),this.processSamples();var h=this[i(623)](o);return this[i(1363)](h),h[i(1460)](),h[i(1291)][0][i(823)][0].data_offset=h[i(342)]+8,this[i(956)](i(1184)).data=new Uint8Array(e),o}},y[n(987)][n(623)]=function(t){var e=n,s=0;s=t[e(959)]?1<<25:65536;var i=new u.moofBox;i[e(956)](e(724))[e(481)](e(279),this[e(345)]),this[e(345)]++;var r=i[e(956)]("traf"),o=this[e(418)](t[e(547)]);return r.add(e(451))[e(481)]("track_id",t[e(547)])[e(481)](e(1003),u[e(1531)]),r.add(e(1366))[e(481)](e(278),t[e(749)]-(o[e(840)]||0)),r.add(e(544))[e(481)](e(1003),u[e(404)]|u[e(433)]|u[e(1095)]|u[e(1506)]|u[e(492)]).set(e(1093),0)[e(481)](e(1310),0).set(e(903),1)[e(481)](e(1249),[t[e(998)]]).set(e(1385),[t[e(342)]]).set(e(347),[s]).set(e(1507),[t.cts-t.dts]),i},y[n(987)][n(1563)]=0,y[n(987)][n(1e3)]=0,y.prototype[n(884)]=function(){var t,e,s,i,r,o,a=n;for(this[a(1377)]=this[a(486)].mvhd[a(998)],this[a(486)][a(270)][a(998)]=0,t=0;t=2&&(c=r[a][l(591)]+"/0",(h=new d(r[a][l(591)],0))[l(1040)]=!0,!e.sample_groups_info[c]&&(e[l(1269)][c]=h))}else for(a=0;a=2&&(c=i[a][l(591)]+"/0",h=new d(i[a].grouping_type,0),!t[l(1269)][c]&&(t[l(1269)][c]=h))},y.setSampleGroupProperties=function(t,e,s,i){var r,o,a=n;for(r in e[a(1327)]=[],i){var h;if(e[a(1327)][r]={},e.sample_groups[r].grouping_type=i[r].grouping_type,e[a(1327)][r][a(1192)]=i[r].grouping_type_parameter,s>=i[r].last_sample_in_run&&(i[r][a(336)]<0&&(i[r][a(336)]=0),i[r][a(1055)]++,i[r][a(1055)]<=i[r].sbgp[a(494)][a(993)]-1&&(i[r][a(336)]+=i[r].sbgp[a(494)][i[r].entry_index].sample_count)),i[r][a(1055)]<=i[r][a(467)][a(494)][a(993)]-1?e[a(1327)][r][a(1521)]=i[r][a(467)].entries[i[r].entry_index].group_description_index:e[a(1327)][r][a(1521)]=-1,0!==e[a(1327)][r].group_description_index)h=i[r][a(1047)]?i[r][a(1047)]:i[r].description,e.sample_groups[r][a(1521)]>0?(o=e[a(1327)][r].group_description_index>65535?(e[a(1327)][r][a(1521)]>>16)-1:e[a(1327)][r][a(1521)]-1,h&&o>=0&&(e.sample_groups[r][a(1258)]=h[a(494)][o])):h&&h[a(1231)]>=2&&h[a(291)]>0&&(e.sample_groups[r][a(1258)]=h[a(494)][h[a(291)]-1])}},y[n(678)]=function(t,e,s){var i=n;e&&(t?(e[i(1404)]=t[i(1404)][s],e[i(1440)]=t[i(988)][s],e[i(1068)]=t.sample_is_depended_on[s],e[i(571)]=t[i(1438)][s]):(e[i(1404)]=0,e[i(1440)]=0,e[i(1068)]=0,e[i(571)]=0))},y.prototype.buildSampleLists=function(){var t,e,s=n;for(t=0;tv&&(S++,v<0&&(v=0),v+=o.sample_counts[S]),e>0?(t.samples[e-1][_(998)]=o[_(1354)][S],t[_(1120)]+=t[_(1141)][e-1][_(998)],C.dts=t[_(1141)][e-1][_(749)]+t[_(1141)][e-1][_(998)]):C[_(749)]=0,a?(e>=w&&(E++,w<0&&(w=0),w+=a[_(824)][E]),C[_(699)]=t[_(1141)][e][_(749)]+a[_(314)][E]):C[_(699)]=C[_(749)],h?(e==h[_(508)][I]-1?(C[_(959)]=!0,I++):(C[_(959)]=!1,C[_(313)]=0),l&&l[_(494)][T].sample_delta+k==e+1&&(C[_(982)]=l[_(494)][T][_(982)],k+=l[_(494)][T][_(721)],T++)):C[_(959)]=!0,y[_(678)](t[_(972)].minf[_(1371)][_(1033)],C,C[_(1464)]),C.degradation_priority=p?p[_(1357)][e]:0,l&&l[_(494)][T].sample_delta+k==e&&(C[_(982)]=l.entries[T][_(982)],k+=l.entries[T][_(721)]),(d[_(993)]>0||u[_(993)]>0)&&y[_(280)](t,C,e,t[_(1269)])}e>0&&(t[_(1141)][e-1][_(998)]=Math[_(1164)](t[_(972)].mdhd.duration-t[_(1141)][e-1][_(749)],0),t[_(1120)]+=t[_(1141)][e-1].duration)}},y[n(987)][n(707)]=function(){var t,e,s,i,r,o,a,h,c,l,d,p,f,m,g,A=n;if(void 0!==this.moov)for(;this[A(1563)]0&&y[A(393)](p,d,d[A(1130)],p[A(972)][A(655)][A(1371)][A(1544)],d.sgpds),e=0;e0?m[A(749)]=p[A(1141)][p[A(1141)][A(993)]-2].dts+p[A(1141)][p[A(1141)][A(993)]-2][A(998)]:(d[A(1366)]?m[A(749)]=d[A(1366)][A(278)]:m[A(749)]=0,p.first_traf_merged=!0),m.cts=m[A(749)],b[A(1003)]&u.TRUN_FLAGS_CTS_OFFSET&&(m.cts=m[A(749)]+b[A(1507)][s]),g=a,b[A(1003)]&u.TRUN_FLAGS_FLAGS?g=b[A(347)][s]:0===s&&b[A(1003)]&u[A(318)]&&(g=b[A(1310)]),m[A(959)]=!(g>>16&1),m[A(1404)]=g>>26&3,m[A(1440)]=g>>24&3,m[A(1068)]=g>>22&3,m[A(571)]=g>>20&3,m[A(313)]=65535&g;var v=!!(d[A(451)][A(1003)]&u.TFHD_FLAG_BASE_DATA_OFFSET),S=!!(d[A(451)][A(1003)]&u[A(1531)]),w=!!(b[A(1003)]&u[A(404)]),E=0;E=v?d[A(451)][A(495)]:S||0===e?l.start:h,0===e&&0===s?w?m[A(912)]=E+b[A(1093)]:m.offset=E:m.offset=h,h=m.offset+m[A(342)],(d.sbgps.length>0||d.sgpds[A(993)]>0||p[A(972)].minf[A(1371)][A(1130)][A(993)]>0||p[A(972)][A(655)][A(1371)][A(1544)][A(993)]>0)&&y[A(280)](p,m,m[A(928)],d[A(1269)])}}if(d[A(1132)]){p.has_fragment_subsamples=!0;var I=d[A(1418)];for(e=0;e-1))return null;var c=(s=this[i(701)].buffers[a])[i(1083)]-(r[i(912)]+r[i(1442)]-s[i(913)]);if(r.size-r[i(1442)]<=c)return o[i(1477)](i(277),i(569)+e+" data (alreadyRead: "+r[i(1442)]+" offset: "+(r[i(912)]+r[i(1442)]-s[i(913)])+" read size: "+(r[i(342)]-r[i(1442)])+i(1151)+r[i(342)]+")"),h[i(1119)](r.data.buffer,r.alreadyRead,s,r[i(912)]+r[i(1442)]-s[i(913)],r[i(342)]-r[i(1442)]),s.usedBytes+=r[i(342)]-r[i(1442)],this[i(701)].logBufferLevel(),r[i(1442)]=r[i(342)],r;if(0===c)return null;o[i(1477)]("ISOFile",i(569)+e+" partial data (alreadyRead: "+r.alreadyRead+" offset: "+(r[i(912)]+r[i(1442)]-s.fileStart)+i(1129)+c+" full size: "+r.size+")"),h[i(1119)](r.data.buffer,r[i(1442)],s,r[i(912)]+r[i(1442)]-s[i(913)],c),r[i(1442)]+=c,s[i(1533)]+=c,this[i(701)][i(870)]()}},y[n(987)][n(1090)]=function(t,e){var s=n,i=t[s(1141)][e];return i[s(588)]?(this.samplesDataSize-=i[s(342)],i.data=null,i[s(1258)]=null,delete i[s(313)],delete i.depends_on,delete i[s(1208)],delete i.has_redundancy,delete i[s(1068)],delete i[s(1404)],delete i[s(959)],delete i[s(850)],delete i[s(928)],delete i[s(1543)],delete i.cts,delete i[s(749)],delete i[s(912)],delete i[s(342)],delete i[s(547)],delete i[s(998)],i[s(1442)]=0,i.size):0},y.prototype[n(1169)]=function(){return this.samplesDataSize},y[n(987)][n(1157)]=function(){var t,e=n,s="";for(t=0;t0&&(s+=","),s+=this[e(486)][e(592)][t][e(972)][e(655)].stbl.stsd[e(494)][0][e(887)]()}return s},y[n(987)][n(1462)]=function(t){var e,s=n;if(!this[s(486)]||!this.moov[s(708)])return null;for(e=0;e0&&(s[i(1226)]=h[i(828)][i(1529)][h[i(820)][i(1187)][t].protection_index-1]),h[i(820)][i(1187)][t][i(900)]?s.type=h.iinf[i(1187)][t].item_type:s[i(1342)]="mime",s.content_type=h[i(820)].item_infos[t][i(1271)],s.content_encoding=h[i(820)][i(1187)][t][i(474)];if(h.grpl)for(t=0;t0&&f[i(267)]-1-1))return null;var l=(e=this.stream[i(368)][c])[i(1083)]-(a.offset+a[i(1442)]-e[i(913)]);if(!(a[i(993)]-a[i(1442)]<=l))return o[i(1477)](i(277),i(1359)+t+i(817)+r+i(745)+a[i(1442)]+" offset: "+(a[i(912)]+a[i(1442)]-e.fileStart)+i(1129)+l+" full extent size: "+a.length+i(720)+s[i(342)]+")"),h.memcpy(s[i(588)][i(1524)],s.alreadyRead,e,a[i(912)]+a.alreadyRead-e.fileStart,l),a[i(1442)]+=l,s[i(1442)]+=l,e[i(1533)]+=l,this.stream[i(870)](),null;o[i(1477)](i(277),"Getting item #"+t+i(817)+r+i(1413)+a[i(1442)]+i(1429)+(a.offset+a[i(1442)]-e[i(913)])+i(1129)+(a.length-a[i(1442)])+i(1200)+a[i(993)]+" full item size: "+s[i(342)]+")"),h.memcpy(s[i(588)][i(1524)],s.alreadyRead,e,a.offset+a[i(1442)]-e[i(913)],a.length-a[i(1442)]),e.usedBytes+=a[i(993)]-a.alreadyRead,this[i(701)][i(870)](),s[i(1442)]+=a[i(993)]-a[i(1442)],a[i(1442)]=a.length}}return s[i(1442)]===s[i(342)]?s:null},y[n(987)][n(311)]=function(t){var e=n,s=this[e(1491)][t];if(s[e(588)]){this[e(310)]-=s[e(342)],s.data=null,s[e(1442)]=0;for(var i=0;i0?this[r(486)][r(592)][t][r(1141)][0].duration:0),e[r(409)](i)}return e},y[n(987)][n(391)]=function(){var t=n,e={};return e.moov=this.moov,this[t(486)]&&this.moov[t(592)]&&this[t(486)][t(592)][t(993)]>1&&(e.moovAudioNum=this[t(486)][t(592)][0][t(1141)][t(993)],e[t(1284)]=this[t(486)][t(592)][1].samples[t(993)]),e},u[n(965)][n(987)].printHeader=function(t){var e=n;this[e(342)]+=8,this.size>c&&(this[e(342)]+=8),this[e(1342)]===e(644)&&(this[e(342)]+=16),t[e(496)](t[e(541)]+e(1318)+this[e(342)]),t[e(496)](t.indent+e(380)+this[e(1342)])},u[n(1504)][n(987)][n(1540)]=function(t){var e=n;this.size+=4,u.Box[e(987)].printHeader[e(482)](this,t),t[e(496)](t[e(541)]+e(1209)+this[e(1231)]),t[e(496)](t.indent+"flags:"+this[e(1003)])},u[n(965)].prototype[n(1547)]=function(t){this.printHeader(t)},u.ContainerBox[n(987)][n(1547)]=function(t){var e=n;this[e(1540)](t);for(var s=0;s>8)),t[e(496)](t.indent+e(1368)+this[e(460)][e(1152)](", ")),t[e(496)](t[e(541)]+"next_track_id: "+this.next_track_id)},u[n(844)][n(987)][n(1547)]=function(t){var e=n;u[e(1504)].prototype[e(1540)][e(482)](this,t),t[e(496)](t[e(541)]+e(1382)+this[e(1490)]),t[e(496)](t.indent+e(444)+this[e(440)]),t[e(496)](t[e(541)]+e(876)+this[e(547)]),t.log(t.indent+e(1058)+this.duration),t[e(496)](t[e(541)]+e(1170)+(this[e(740)]>>8)),t.log(t[e(541)]+e(1368)+this[e(460)][e(1152)](", ")),t[e(496)](t[e(541)]+e(1034)+this.layer),t[e(496)](t[e(541)]+e(1482)+this[e(561)]),t[e(496)](t.indent+e(816)+this[e(1046)]),t[e(496)](t[e(541)]+e(807)+this[e(553)])};var b={createFile:function(t,e){var s=n,i=void 0===t||t,r=new y(e);return r[s(1414)]=!i,r}};"undefined"!==n(1480)&&(e.createFile=b[n(1459)])}));function Mp(t,e){var s=Fp();return(Mp=function(t,e){return s[t-=261]})(t,e)}function Fp(){var t=["stop","isEos","setAllUsedBytes","ChannelMappingFamily","Not enough data in stream to parse the type and size of the box","_realloc","fromCharCode","sample_deltas","step_count","], [","priority","emsg","Getting item #","mergeNextBuffer","Position ","parseUUID","addBox","sttsBox","dynamicSize","tfdt","matrix_coefficients","matrix: ","udes","sample_rate","stbl","aux_info_type","extension_type","writeInt8Array","dobr","luminanceMax","initial_duration","undefined","pad_unknown","Appending new buffer (fileStart: ","metx","creation_time: ","SAMPLE_ENTRY_TYPE_VISUAL","mvif","sample_size","starts_with_SAP","audio","processIncompleteBox","properties","ptl_present_flag","tmin","default_AlgorithmID","SAMPLE_ENTRY_TYPE_SYSTEM","end","ispe","213rtOMDX","stsa","Track #","getEndPosition","DataStream","ptl_num_sub_profiles","setInt32","length_size","is_leading","getWidth","readFloat32Array","readUint8Array","sdptext","stsc","XMLSubtitlein4Parser","boxes","DataStream.save: Can't create object URL."," data (alreadyRead: ","discardMdatData","etyp","presentation_time","unpack","first_sample_index","CONTAINER_BOXES","component_format","nalu","' box writing not yet implemented, keeping unparsed data in memory for later write","compressorname","colorSpace","default_isProtected","setSegmentOptions","readUint32Array","No method for reading signed 24 bits values"," offset: ","parse","durationFlag","avg_frame_rate","readInt64","aux_type","Removing buffer #","' did not read the entire indicated box data size (missing ","parseHeader","sample_has_redundancy","byteOffset","depends_on","numMetadataBlocks","alreadyRead","writeStruct","whitePointChromaticity_x","data_format","transfer_characteristics","angle","a2394f525a9b4f14a2446c427c648df4","item_ID","OutputGain","int16","num_bad_rows","stxtSampleEntry","destroy","996280qzqiXP","dinf","compositionStartTime","opcolor","createFile","computeSize","writeHeader","getTrexById"," with new size ","number","_size","lang","seq_tier_0","meta","SLConfigDescriptor","vide","bit_depth_luma_minus8","iods","Trying to create a new buffer of size: ","tsyn","media_rate_fraction","extents","debug","encode","905jOpMva","object","subtitles","alternate_group: ","The first buffer should have a fileStart of 0","dmed","processIncompleteMdat","hintTracks","avc4SampleEntry","level","mdats","creation_time","items","lastValidSample","sidxSent","(empty)","quat_y","getBuffer","download","num_bad_pixels","Adjusting box ","Generating initialization segment","data_offset_position","ptl_multilayer_enabled","component_index","FullBox","indexOf","TRUN_FLAGS_FLAGS","sample_composition_time_offset","codec_specific_parameters","resources","vertOffD","iloc","block_size","brst","rap ","ICC_profile","vSpacing","flipArrayEndianness","_byteOffset","box","samples_size","group_description_index","bits_per_channels","bufferIndex","buffer","uncC","max_picture_width",", remaining: ","TKHD_FLAG_ENABLED","protections","urn ","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","TrackReferenceTypeBox","usedBytes","luminanceMin","extent_index","getTrackSample","length_size_of_traf_num","xml ","getUint32","printHeader","component_little_endian","TFHD_FLAG_DUR_EMPTY","timescale","sgpds","onError","num_tile_rows_minus_one","print","onMoovStart","colour_type","av1C version ","OCR_ES_ID","int32","body","getPrimaryItem","default_crypt_byte_block","ext","tag","mdcv","eqiv","target","default_sample_duration","ac-4","lastMoofIndex","num_dep_sub","sizePosition","ols_idx","isFragmented","lfeon","nalu_arrays","property_index","image_width","mp4aSampleEntry","mvhd","AVCLevelIndication","SampleGroupEntry","OutputChannelCount","AVCProfileIndication",".CA","readUint8","ISOFile","baseMediaDecodeTime","sequence_number","setSampleGroupProperties","writeInt8","avll","parseConfig","bad_rows","bsmod","default_sample_description_index","Item storage with reference to other files: not supported","frma","description_length","tref","default_group_description_index","general_level_idc","initial_presentation_delay_present","fragment_count","payl","Parsing of box '","free","prof","isSubtitle","getDescriptorName","descs","horizresolution","parseRemainingDescriptors","num_bad_cols","nb_samples","esds","stz2","enct","upStream","itemsDataSize","releaseItem","vp09","degradation_priority","sample_offsets","sample_is_depended_on","warn","writeUint16","TRUN_FLAGS_FIRST_FLAG","91HTtDnY","co64","styp","writeFloat32","checkBuffer","parseLanguage","getUint16","scheme_version","cleanApertureHeightN","discardable","trexs","tfdtBox","Unknown leva assignement type","RAP","stscBox","No more buffer in memory","prgr","last_sample_in_run","Adjusted seek position (after checking data already in buffer): "," sample group length","min_display_mastering_luminance","languageString","smhdBox","size","addSample","bufferSize","nextMoofNumber","mapInt8Array","sample_flags","getBoxes","bad_columns","Error in length field in stz2 box","style_record","ftyp","attribute_list","trex","parseFullHeader","Ignoring empty buffer (fileStart: ","cmpd","assignment_type","writeUint32Array","bad_pixels","rICC"," on track ","_dynamicSize","meco","DIFF_BOXES_PROP_NAMES","length_size_of_sample_num","references","buffers","getUint8","initial_delay","mfro","VisualSampleEntry","strd","cslgBox","depth","' box","3342tNCFqL","writeInitializationSegment","chroma_format_idc","type:","constant_IV"," f=","extractedTracks","Sample Group type: ",">","insertBuffer","uint8","parseDataAndRewind","bits_per_pixel","senc","getPerformanceInfo","dac3","initSampleGroups","user","appendBuffer","horizOffN","int16le","max_content_light_level","34156aMfMeW","getDurationString","SAMPLE_ENTRY_TYPE_TEXT","max_picture_height","Seeking at time ","TRUN_FLAGS_DATA_OFFSET","33256SpJxze","schemeURI","fieldCount","writeUint24","push","modified","dataview","kid","location","readUint16Array","addTrack","Sample data size in memory: ","SingleItemTypeReferenceBox","getTrackById","temporalIdNested","configurationVersion","TFHD_FLAG_SAMPLE_FLAGS","Box of type ","chunk_index","itemId","nativeToEndian","co64Box","default_KID","general_profile_compatibility","nextSeekPosition","writeFooter","sthd","pdin","TRUN_FLAGS_DURATION","stdp","mfra","media_rate_integer","prft","item_protection_index","avcDecoderConfigRecord","modification_time","stco","writeCString","pssh","modification_time: ","sinf","fragmentedTracks","restoreParsePosition","getChannelCount","stcoBox","referenced_size","tfhd","11OYMbFh","cts_shift","index_size","Allocating sample #","und","createTrackGroupCtor","Sending samples on track #","fscod","matrix","quat_z","float64le","reference_ID","sampleProcessingStarted","matrixCoefficients","readUint24","sbgp","encs","TFHD_FLAG_SAMPLE_DUR","general_constraint_info","brands","horizontal_justification","field_size","content_encoding","1269PKLOlp","track_width","wbbr","chroma_sample_position","ptl_frame_only_constraint_flag","No sample in track, cannot seek! Using time ","set","call","udta","mehd","stts","moov",", overriding previous occurrence","bufferSizeDB","Text","floor","parseFromString","TRUN_FLAGS_CTS_OFFSET","subsegments","entries","base_data_offset","log","trak","general_sub_profile_idc","avc1","TrackGroupTypeBox","write","Found ","primaryRChromaticity_x","encm","levels","iaug","associations","sample_numbers","toString","readInt32","BYTES_PER_ELEMENT","accurateStatisticsFlag","MP4BoxStream","default_sample_size","greatestDecodeToDisplayDelta","Creating media fragment on track #","int32be","hev1SampleEntry","dimm","earliest_presentation_time","item_id","value","has_unparsed_data","getInt16","samplesize","removeUsedSamples","getOTI","hevcDecoderConfigRecord","Needs an array buffer","Sending fragmented data on track #","Unknown Sample Group type: ","vipr","row_align_size","charCodeAt","readUint","bsid","stsh","elst","stream_read_2_bytes","mapUint16Array","indent","props","arrayToNative","trun","mdhdBox","lastBoxStartPosition","track_id","' read ","UUIDs","num_sublayers",", time ","d08a4f1810f34a82b6c832d8aba183d3","height","cleanApertureWidthN","avc3SampleEntry","elstBox","SPS","crypt_byte_block","transferCharacteristics","lsel","alternate_group","BASIC_BOXES","Track created with MP4Box.js","6d1d9b0542d544e680e2141daff757b2","findDescriptor","rash","bitDepth","sampleEntryCodes","Getting sample #","_trimAlloc","has_redundancy","mapUint8Array","iref","maxFALL","getAudioConfig","lengthSizeMinusOne","roll_distance","mime_format","focal_length_x","track_height","cmex","getTrackSamplesInfo","entity_groups","flattenItemInfo","readInt16Array","rinf","grpl","data","compositionEndTime","Flushing remaining samples","grouping_type","traks","getHeight","document","MPEG4DescriptorParser","getEndFilePositionAfter","readUint32",'audio/mp4; codecs="',"vvcN","adjustUint32","ERR_NOT_ENOUGH_DATA","channel_associations","videoTracks","metadata","bad_pixel_row","itemToFragmentedTrackFile","mdatBox","bytes","stream_read_1_bytes","tsel","message_data","config","name","enof","track_ID","maxBitrate","extent_length","position","stvi","vttC","data_reference_index","num_bytes_constraint_info","createSingleSampleMoof","Item storage with construction_method : not supported","readUint16","channel_indexes","SmDm","target_rate_share","ipco","cdef","setUint16","writeUint64","cstring","hasIOD","createSampleEntryCtor","payt","reference_type","sync","general_profile_space","uncv","oti","vertOffN","DecoderConfigDescriptor","uuid","float32le","avcCBox","_dataView","codecIntializationDataSize","hdr_size","seq_profile","sbpm","Log"," (released size: ","ec-3","minf","ASCII","kind","writeType","_sweep","nextParsePosition"," box writing not yet implemented, keeping unparsed data in memory for later write","channel_count","Concatenating buffer for box parsing (length: ","mhm2","SAMPLE_ENTRY_TYPE_METADATA","parallelismType","absolute_time","favc","stpp"," at position ","getFloat32","SampleGroup for type ","boxEqualFields","reserved_2","sample_offset","PreSkip","level_independently_decodable","process_sdtp","irot","seek","default_length","vmhd","otherTracks","numTemporalLayers","colour_primaries","527849lxmojW","decimalToHex","ContainerBox","initialized","cprt","No segmentation callback set!","constantFrameRate","nump","readInt32Array","SubtitleSampleEntry","vertical_justification","Adjusting data_offset with new value ","kinds","cts"," on track #","stream","sampleListBuilt","lhe1","nonamespace","default_constant_IV_size","mp4a","updateSampleLists","mvex","hvcCBox","isProtected","moovBox","clef","hdlr","Unknown box type: '","Descriptor","tags","hSpacing","extent_offset","MP4Box"," full item size: ","sample_delta","min_spatial_segmentation_idc","pixi","mfhd","KID","movie_timescale","getInt8","Done processing buffer (fileStart: ","endianness","equal","rapAlignement","getText","writeInt32","default_Per_Sample_IV_Size","Allocating item #","mehd box incorrectly uses flags set to 1, converting version to 1","tracks","absolute_duration","scnm","volume","hmhd","createSampleGroupCtor"," (total: ","bad_pixel_column"," partial data (alreadyRead: ","avgFrameRate","display_primaries","ac-3","dts","item_count","moof","num_total_samples","max_ref_per_pic","getSampleSize"," bytes), seeking forward","mapUint32Array","pmax","avc2SampleEntry","extended_language","createEntityToGroupCtor","readUint64","tscl","profile_compatibility","num_ind_sub","addEntry","avc3","[row: ","Metadata","test","hasIncompleteMdat","avc4","findEndContiguousBuf","tpyl","tfhdBox","float32","parseFooter","tapt","quat_x","readCString","SampleEntry","num_held_bits","monochrome","URL","ref_to","elng","processItems","getBox","base_offset","processSamples","writeUint8Array","entity_ids","nb_PPS_nalus","RESERVED","avcC","seekTrack","parsingMdat","first_offset","sample_description_index","correction_applied","ntp_timestamp","sample_number","metadataTracks","switch_group","478xkdbbD","strk","addSubBoxArrays","height: ","onItem","movie_duration","201432nGSKzS","rate","dmax","dependsOn_ES_ID","stereo_indication_type","prdi","width: "," extent #","tenc","track_ids","iinf","readFloat64Array","ipmas","truns","sample_counts","vp08SampleEntry","balance","forEach","ipro","Not enough bytes left in the parent box to parse a new box","Opus","available_bitrate","writeInt32Array","vertresolution","high_bitdepth","audioTracks","getFloat64","uint16le","mehdBox","splice","first_dts","edits","skip_byte_block","stri","tkhdBox","avgBitRate","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","moovStartSent","_byteLength","first_chunk","moof_number","nextSample","bxml","num_leading_samples","scheme_id_uri","cleanBuffers","iso4","leva","compositionToDTSShift","moovStartFound","mapFloat64Array","construction_method","full_range_flag"," not found in buffered data","stsz","samples_per_chunk","BoxParser","saio","skew_factor","revokeObjectURL","logBufferLevel","layerNumber","ArrayBuffer","getTrackDuration","sub_track_id","avss","track_id: ","layer","channel_types","trgr","setAttribute","operation_point_count","samplerate","VORBIS_COMMENT","resetTables","chroma_subsampling_x","defineProperty","getCodec","schm","layer_id","hev1","DecoderSpecificInfo","isMetadata","stsdBox","default_sample_info_size","boxCodes","setInt16","media_time","AudioSampleEntry","Per_Sample_IV_Size","item_type","readString","buildSampleLists","sample_count","default_sample_flags","isHint","SAMPLE_ENTRY_TYPE_HINT","d4807ef2ca3946958e5426cb9e46a79f","substring","SAMPLE_ENTRY_TYPE_AUDIO","msg","segment_duration","offset","fileStart","stssBox","ptl_multilayer_enabled_flag","moof_offset","readFloat32","slice","discard_priority","addUsedBytes","alst","mapInt32Array","hvc1SampleEntry","av1C marker problem","_self","apply","num_channels","number_in_traf","handler","click","ref_track_id","createMediaSampleEntryCtor","init","system_id","LiveServerManifest","mapFloat32Array","kindBox","avc2","TKHD_FLAG_IN_PREVIEW","readFloat64","saveParsePosition","writeUCS2String","streamType","configOBUs","nclx","image_height","tx3g","onSamples","SampleEntry ","compatible_brands","version of iloc box not supported","Unknown uuid type: '","completeness","setNextSeekPositionFromSample","constant_frame_rate","add","Subtitle","maximum_bitrate","is_sync","Unknown sample entry type: ","vvi1SampleEntry","ftypBox","white_point","<","Box","item_uri_type","iprp","sample_sizes","writeString","SAP_type","event_duration","mdia"," writing not yet implemented, keeping unparsed data in memory for later write","box_record","totl","schema_location","graphicsmode","component_type_urls","nalu_type","dref","seq_level_idx_0","subsamples","video","essential","writeInt16Array","dOps","prototype","sample_depends_on","layer_size","initial_presentation_delay_minus_one","component_bit_depth_minus_one","hasMoov","length","ES_ID","avgRateFlag","prol","No buffer to start parsing from","duration","segmentStream","samplesDataSize","first_output_sample","ES_Descriptor","flags","hvc1","u16stringle","tfra","nmhd"," for samples [","pts","auxiliary_mime_types","stss","primaryRChromaticity_y","updateUsedBytes","bitrate","general_profile_idc","reserved","CoupledCount","trefBox","createFullBoxCtor","Hint","Version","emsgBox","wvtt","mjpg","bytessent","length_size_of_trun_num","block_pad_lsb","btrt","uint32","vvc1","seekLists","tyco","sdtp","layer: ","SingleItemTypeReferenceBoxLarge","mime","vpcC","PICTURE"," (too small to be a box)","is_fragment","a1op","mere","setFloat32","encu","ranges","width","fragment_description"," of size ","frame_count","albc","acmod","sync_sample_numbers","subtitleTracks","Error accessing position in the MultiBufferStream","entry_index","parseOneBox","Duplicate Box of type: ","duration: "," not supported","trep","readInt8"," greater than its container size ","maxr","reserved_1","TFHD_FLAG_SAMPLE_DESC","isFragmentationInitialized","ind_subs","is_depended_on","vttc","Exporting on track #","readInt method not implemented for size: ","getInt32","Textin4Parser","text","avc1SampleEntry","shadowed_sample_numbers","ipma","ctts","description_boxes","hinf","codecIntializationData","all_ref_pics_intra","byteLength","vvcC","scheme_uri","presentation_time_delta","createEncryptedSampleEntryCtor","av1C","buildTrakSampleLists","releaseSample","u16stringbe","vp09SampleEntry","data_offset","isProgressive","TRUN_FLAGS_SIZE","Unlimited box size not supported for type: '","BIG_ENDIAN","CoLL","chunk_run_index","held_bits","padding_flag","getSampleRate"," Compressor","chunk_offsets","a1lx","avgBitrate","stszBox","getSample","ptl_sublayer_present_mask","_buffer","axis","findPosition","profile","language","dataView","sbtt","encv","TFHD_FLAG_BASE_DATA_OFFSET","memcpy","samples_duration","Mismatch in ","isEof","general_constraint_indicator","traf","enca","afbr","replace","msrc"," read size: ","sbgps","int32le","subs","Error reading extent index","minimum_bitrate","writeUint8","smhd","NAL_unit_type","pixel_size","edts","primaryBChromaticity_y","samples","MetadataSampleEntry"," has an invalid size ","function","scif","fromCharCodeUint8","a5d40b30e81411ddba2f0800200c9a66","string","seekPoints","writeInt16"," full size: ","join","error","num_leading_samples_known","payloadID","vp08","getCodecs","time","BoxWriter","getPosition","displayFlags","bit_depth_chroma_minus8","1503wlQlXW","max","No method for reading signed 64 bits values","writeUint16Array"," - Length: ","descriptionformat","getAllocatedSampleDataSize","volume: ","boxEqual","vvc1SampleEntry","UUIDBoxes","onSegment","nb_SPS_nalus","'","uint16","primaryBChromaticity_x","initialize","component_count","used","onSidx","mapInt16Array","mdat","base_offset_size","LITTLE_ENDIAN","item_infos","elngBox","pow","pitm","parseOneDescriptor","grouping_type_parameter","padb","readInt16","unsetExtractionOptions","subBoxNames","CUESHEET","padbits","concat"," full extent size: ","start","Found box of type '","tkhd","split","primaryGChromaticity_y"," bytes), continuous ranges: ","SEEKTABLE","description_index","version:","drefBox","cleanApertureWidthD","infe","File uses negative stts sample delta, using value 1 instead, sync may be lost!","ChannelMapping","from_item_ID","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","Not enough bytes in buffer","trpy","info","uint32le","TKHD_FLAG_IN_MOVIE","flush","hvt1","num_entities_in_group","readAnyInt","protection","next_track_id","major_brand","createBoxCtor","subsegment_duration","version","SAMPLE_ENTRY_TYPE_SUBTITLE","traf_number","getInfo","item_name","ssix","altr","created","mvhdBox","writeFloat64","fobr","mdhd","auxC","createFragment","schi","subSequenceIdentifier","sublayer_level_idc","hasItem","sample_duration","APPLICATION","shift","STREAMINFO","component_types","mfhdBox","PPS","extract_bits","getLength","description","Not ready to start parsing","Box of type '","System","mett","createContainerBoxCtor","group_id","FULL_BOXES","Seeking to ","ptl_frame_only_constraint","videoFullRangeFlag","sample_groups_info","8974dbce7be74c5184f97148f9882554","content_type","SAP_delta_time","subSeqDirectionFlag","vmhdBox","hvcC","readySent","StreamCount","roll","to_item_ID","parseSample","int8","leastDecodeToDisplayDelta","readInt8Array","moovVideoNum","chan_loc","general_tier_flag","default_skip_byte_block","sidx","TFHD_FLAG_SAMPLE_SIZE","entry_count","trafs","protection_index","TrackReference "," not fully parsed","pos_y","npck","save"," and offset: ","PADDING","u16string","min","onReady","isVideo","getItem","hnti","stsd","mha2","moofs","ccst","first_sample_flags","sample_info_size","bit_depth_minus8","num_output_samples","avs3","fragment_duration","parseHex16","sgpd","size:","transferFunction","setUint32","namespace","packetssent","itemListBuilt","sent","tsas","component_align_size","sample_groups","documentString","twelve_bit","txtC","Visual","MultiBufferStream","intra_pred_used",") - next buffer to fetch should have a fileStart position of ","nbSamples","block_little_endian","cttsBox","createUUIDBox","esd"," stored buffer(s) (","writeUint32","type","reduceBuffer","offset_size","pos_x","code"];return(Fp=function(){return t})()}function Op(){const t=["exports","debugWarn","175030SnTKDf","2259YQWLVz","length","6584TBQWAA","function","set","Memory","stack overflow","object","destroy","1507SFPIkX","init error","init","274729XzSbEE","instance","slice","1630jZdWKn","TAG_NAME","instantiate","912502gTuSGO","player","buffer","debuglog","catch","message","every","wasm not supported","Module","byteLength","TransportDescrambler","437122vgQcHB","parse","15CKdqLC","then","2923848tsOhlr","transport","debugLog","23176TLHVSW","reverse","memory"];return(Op=function(){return t})()}Bp[Pp(652)],Bp[Pp(513)],Bp[Pp(1400)],Bp.MultiBufferStream,Bp[Pp(595)],Bp[Pp(866)],Bp[Pp(1410)],Bp.Textin4Parser,Bp.ISOFile,Bp[Pp(1459)];const Up=jp;function jp(t,e){const s=Op();return(jp=function(t,e){return s[t-=425]})(t,e)}function Np(t){return t.reduce(((t,e)=>256*t+e))}function Vp(t){const e=jp,s=[101,103,119,99],i=t.length-28,r=t[e(451)](i,i+s[e(438)]);return s[e(461)](((t,e)=>t===r[e]))}!function(t,e){const s=jp,i=t();for(;;)try{if(983398===parseInt(s(455))/1+-parseInt(s(466))/2*(parseInt(s(426))/3)+parseInt(s(431))/4*(-parseInt(s(452))/5)+parseInt(s(428))/6+-parseInt(s(449))/7+parseInt(s(439))/8*(parseInt(s(437))/9)+-parseInt(s(436))/10*(-parseInt(s(446))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Op);Up(445),Up(429);const zp=Gp;function Gp(t,e){const s=Hp();return(Gp=function(t,e){return s[t-=397]})(t,e)}function Hp(){const t=["cryptoPayload","bind","fileStart","getAllocatedSampleDataSize","removeUsedSamples","video","isHevc","channel_count","offset","length","timescale","data","videoTrackId","982584fjvleW","1038czyrwl","hasAudio",'video/mp4; codecs="avc1.640028,mp4a.40.2"',"set","197732vneIRB","stop","indexOf","4581HeWZMn","hvcC","createFile","buffer","tempFmp4List","getInputByteLength","_opt","download","3714NhtfYw","replace","calcIframeIntervalTimestamp","onError","onSamples","_listenMp4Box","flush","debugError","_doDecodeByFmp4","getTrackById","seqHeader","avcC","audio","mp4Box","destroy","getSeqHeader","revokeObjectURL","appendBuffer","init","888TSfhjW","href","dispatch","entries","TAG_NAME","click","sample_rate","codec","DataStream","downloadFmp4File","stbl","player","cts","debugLog","byteLength","mp4a.40.","mp4Box onError","updateStats","705fZmHhr","audioTrackId","stsd","854210KTqqMJ","duration","debugWarn","onReady","write","videoTracks","start","181336GaDYiC","130PlmlUd"];return(Hp=function(){return t})()}!function(t,e){const s=Gp,i=t();for(;;)try{if(166233===-parseInt(s(448))/1+parseInt(s(468))/2+-parseInt(s(464))/3*(parseInt(s(420))/4)+-parseInt(s(438))/5*(-parseInt(s(401))/6)+parseInt(s(441))/7+parseInt(s(463))/8+-parseInt(s(471))/9*(parseInt(s(449))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hp);class Wp extends ep{constructor(t){const e=Gp;super(t),this[e(424)]="Fmp4Demux",this.player=t,this.mp4Box=Bp[e(473)](),this.tempFmp4List=[],this[e(458)]=0,this[e(462)]=null,this[e(439)]=null,this.isHevc=!1,this[e(406)](),t[e(433)](this[e(424)],e(419))}destroy(){const t=Gp;this.mp4Box&&(this[t(414)][t(469)](),this.mp4Box[t(407)](),this.mp4Box.destroy(),this[t(414)]=null),this[t(397)]=[],this[t(458)]=0,this[t(462)]=null,this[t(439)]=null,this[t(456)]=!1,this[t(431)][t(433)](this.TAG_NAME,t(415))}[zp(406)](){const t=zp;this.mp4Box[t(444)]=this[t(444)].bind(this),this[t(414)].onError=this[t(404)].bind(this),this.mp4Box[t(405)]=this[t(405)][t(451)](this)}[zp(444)](t){const e=zp;this[e(431)][e(433)](this[e(424)],e(444),t);const s=t[e(446)][0],i=t.audioTracks[0];if(s){this.videoTrackId=s.id;const t=this[e(416)](s);t&&(this[e(431)][e(433)](this[e(424)],e(411),t),this[e(409)](t,R[e(455)],0,!0,0)),this[e(414)].setExtractionOptions(s.id)}if(i&&this[e(431)][e(399)][e(465)]){this[e(439)]=i.id;const t=i[e(413)]||{},s=ae[e(470)](t[e(426)]),r=i[e(427)][e(402)](e(435),"");this[e(414)].setExtractionOptions(i.id);const n={profile:parseInt(r,10),sampleRate:s,channel:t[e(457)]},o=ce(n);this[e(431)][e(433)](this[e(424)],"aacADTSHeader",o,"config",n),this._doDecodeByFmp4(o,R[e(413)],0,!1,0)}this[e(414)][e(447)]()}[zp(404)](t){const e=zp;this[e(431)][e(408)](this[e(424)],e(436),t)}onSamples(t,e,s){const i=zp;if(t===this[i(462)]){for(const t of s){const e=t[i(461)],s=t.is_sync,r=1e3*t[i(432)]/t[i(460)];t.duration,t[i(460)],this[i(431)][i(437)]({vbps:e[i(434)],dts:r}),s&&this[i(403)](r);let n=null;n=this[i(456)]?eh(e,s):Ca(e,s);let o=this[i(450)](n,s);this[i(409)](o,R[i(455)],r,s,0)}this[i(414)][i(454)](t)}else if(t===this[i(439)]){if(this.player[i(399)][i(465)]){for(const t of s){const e=t[i(461)];this[i(431)].updateStats({abps:e.byteLength});const s=1e3*t[i(432)]/t[i(460)];t[i(442)],t[i(460)];const r=new Uint8Array(e[i(434)]+2);r[i(467)]([175,1],0),r[i(467)](e,2),this[i(409)](r,R[i(413)],s,!1,0)}this.mp4Box[i(454)](t)}}else this.player[i(443)](this[i(424)],"onSamples() trackId error",t)}[zp(416)](t){const e=zp,s=this[e(414)][e(410)](t.id);for(const t of s.mdia.minf[e(430)][e(440)][e(423)])if(t[e(412)]||t[e(472)]){const s=new(Bp[e(428)])(void 0,0,Bp[e(428)].BIG_ENDIAN);let i=[];t[e(412)]?(t[e(412)][e(445)](s),i=[23,0,0,0,0]):(this[e(456)]=!0,t[e(472)].write(s),i=[28,0,0,0,0]);const r=new Uint8Array(s[e(474)],8),n=new Uint8Array(i.length+r[e(459)]);return n.set(i,0),n[e(467)](r,i[e(459)]),n}return null}[zp(422)](t){const e=zp;let s=new Uint8Array(t);s[e(474)][e(452)]=this.offset,this[e(458)]+=s[e(434)],this[e(414)][e(418)](s[e(474)])}[zp(429)](){const t=zp,e=new Blob(this.tempFmp4List,{type:t(466)}),s=URL.createObjectURL(e),i=document.createElement("a");i[t(421)]=s,i[t(400)]=Be()+".fmp4",i[t(425)](),URL[t(417)](s)}[zp(398)](){const t=zp;let e=0;return this[t(414)]&&(e=this[t(414)][t(453)]()),e}}var Kp=Qp;function Qp(t,e){var s=qp();return(Qp=function(t,e){return s[t-=220]})(t,e)}!function(t,e){for(var s=Qp,i=t();;)try{if(543438===parseInt(s(230))/1*(-parseInt(s(221))/2)+parseInt(s(226))/3*(-parseInt(s(235))/4)+-parseInt(s(233))/5*(parseInt(s(234))/6)+-parseInt(s(231))/7*(parseInt(s(225))/8)+parseInt(s(228))/9+parseInt(s(229))/10*(-parseInt(s(223))/11)+parseInt(s(236))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(qp);class Yp extends ep{constructor(t){var e=Qp;super(t),this.player=t,this[e(227)]="Mpeg4Demux",this[e(220)].debugLog(this[e(232)],e(222))}[Kp(224)](){var t=Kp;super[t(224)](),this[t(220)].debugLog(this[t(232)],t(224))}}function qp(){var t=["LOG_NAME","5YaTWhv","4990362wSWMzl","292BcGRbd","25382772pMWKLO","player","161238SZHAYg","init","11rKGOPt","destroy","1544nWIRAh","25431MfrRaS","TAG_NAME","9731853fbdsZk","2485070ERXNVi","6tlauJL","17059NuWwFo"];return(qp=function(){return t})()}function Jp(){var t=["reduce","397242AeoWHt","20djQdPi","9520290TigJNo","7559783xzwcau","128NMEGOt","347331AswAjQ","length","48nVrAwQ","100lnodpl","1240014vmziAj","723793sfoQpq","byteLength","1022385xHFCkE","filter","set"];return(Jp=function(){return t})()}function Xp(t,e){var s=Jp();return(Xp=function(t,e){return s[t-=203]})(t,e)}function Zp(){for(var t=Xp,e=arguments[t(210)],s=new Array(e),i=0;ie+s[t(215)]),0));let n=0;return s.forEach((e=>{var s=t;r[s(218)](e,n),n+=e[s(215)]})),r}!function(t,e){for(var s=Xp,i=t();;)try{if(970858===-parseInt(s(216))/1+parseInt(s(213))/2+-parseInt(s(209))/3*(parseInt(s(211))/4)+parseInt(s(212))/5*(-parseInt(s(204))/6)+-parseInt(s(214))/7*(-parseInt(s(208))/8)+parseInt(s(206))/9+parseInt(s(205))/10*(parseInt(s(207))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Jp);const $p=rf;!function(t,e){const s=rf,i=t();for(;;)try{if(280120===parseInt(s(405))/1+-parseInt(s(359))/2+-parseInt(s(374))/3+parseInt(s(396))/4*(parseInt(s(376))/5)+-parseInt(s(389))/6*(parseInt(s(369))/7)+parseInt(s(354))/8*(parseInt(s(398))/9)+-parseInt(s(407))/10*(parseInt(s(401))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ef);const tf={kMPEG1Audio:3,kMPEG2Audio:4,kPESPrivateData:6,kADTSAAC:15,kLOASAAC:17,kAC3:129,kEAC3:135,kMetadata:21,kSCTE35:134,kH264:27,kH265:36};function ef(){const t=["pid","7909qTtpRH","height","stream_type","mimeType","411748zvQgyn","indexOf","2080zNwANO","original_codec_mimetype","fps","hasVideo","sampling_freq_index","1912288wszdie","audioDataRate","channel_count","_search","audio_object_type","282702POfbCl","isComplete","floor","audioCodec","data","sarDen","audioSampleRate","videoCodec","sampling_rate","codec_mimetype","11711jtyRJl","chromaFormat","refFrames","width","dts","973011QmqGih","channel_config","102665gpTUPq","object_type","sarNum","nearest_pts","slices","level","len","random_access_indicator","filepositions","expected_length","times","getNearestKeyframe","hasKeyframesIndex","522gjShtz","hasAudio","mp4a.40.","videoDataRate","keyframesIndex","toLowerCase","firefox","76fyLQIm","android","9VLvorl","userAgent"];return(ef=function(){return t})()}class sf{constructor(){const t=rf;this[t(380)]=[],this.total_length=0,this[t(385)]=0,this[t(383)]=0}}function rf(t,e){const s=ef();return(rf=function(t,e){return s[t-=354]})(t,e)}class nf{constructor(){const t=rf;this[t(400)]=null,this[t(363)]=null,this[t(403)]=null,this[t(383)]=null}}class of{constructor(){const t=rf;this[t(400)]=null,this.stream_id=null,this[t(382)]=null,this.data=null,this.pts=null,this[t(379)]=null,this[t(373)]=null}}const af=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];class hf{constructor(){const t=rf;this[t(404)]=null,this.duration=null,this[t(390)]=null,this.hasVideo=null,this[t(362)]=null,this[t(366)]=null,this[t(355)]=null,this[t(392)]=null,this.audioSampleRate=null,this.audioChannelCount=null,this[t(372)]=null,this.height=null,this[t(409)]=null,this.profile=null,this[t(381)]=null,this.refFrames=null,this[t(370)]=null,this[t(378)]=null,this[t(364)]=null,this.metadata=null,this.segments=null,this.segmentCount=null,this[t(388)]=null,this[t(393)]=null}[$p(360)](){const t=$p;let e=!1===this[t(390)]||!0===this[t(390)]&&null!=this.audioCodec&&null!=this[t(365)]&&null!=this.audioChannelCount,s=!1===this[t(410)]||!0===this.hasVideo&&null!=this[t(366)]&&null!=this[t(372)]&&null!=this[t(402)]&&null!=this[t(409)]&&null!=this.profile&&null!=this.level&&null!=this[t(371)]&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this[t(364)];return null!=this.mimeType&&e&&s}isSeekable(){return!0===this.hasKeyframesIndex}[$p(387)](t){const e=$p;if(null==this.keyframesIndex)return null;let s=this[e(393)],i=this[e(357)](s[e(386)],t);return{index:i,milliseconds:s.times[i],fileposition:s[e(384)][i]}}[$p(357)](t,e){const s=$p;let i=0,r=t.length-1,n=0,o=0,a=r;for(e=t[n]&&e=6?(r=5,s=new Array(4),a=n-3):(r=2,s=new Array(2),a=n):-1!==h.indexOf(e(397))?(r=2,s=new Array(2),a=n):(r=5,a=n,s=new Array(4),n>=6?a=n-3:1===o&&(r=2,s=new Array(2),a=n)),s[0]=r<<3,s[0]|=(15&n)>>>1,s[1]=(15&n)<<7,s[1]|=(15&o)<<3,5===r&&(s[1]|=(15&a)>>>1,s[2]=(1&a)<<7,s[2]|=8,s[3]=0),this.config=s,this[e(367)]=af[n],this.sampling_index=n,this[e(356)]=o,this[e(377)]=r,this.original_object_type=i,this[e(368)]="mp4a.40."+r,this[e(408)]=e(391)+i}}const lf=uf;function df(){const t=["_initPmt","KLVA","avcc","parseOpusPayload","parseChunks() sync_byte = ","sync_offset","samples","_getPcrBase","has_audio_","cryptoPayloadAudio","dispatchVideoInitSegment","ref_frames","isHevc","aacADTSHeader","current_pmt_pid_","12794bBpken","164kwVDVm","channelCount","chromaFormat","videoCodec","kMetadata","meta","Generated first HEVCDecoderConfigurationRecord for mimeType: ","pid_stream_type","profile_string","kSliceNonIDR","min","aac","AAC: Channel configuration changed from ","AAC","hasVideo","byteLength","parsePES","parseH265Payload","sarRatio","video_metadata_changed_","payload_unit_start_indicator","chroma_format_string","mimeType","concat","len","asynchronous_klv_pids","AAC: SamplingFrequencyIndex changed from ","AAC: Detected pts overlapped, ","chroma_format","video_metadata_","aac_last_incomplete_data_","presentHeight","player","Parsed first PMT: ","width","original_object_type","channel_config","total_length","sampling_rate","eac3","parseH264Payload","debugLog","profile","Video: Coded Resolution changed from ","forEach","kSlicePPS",", dts=","parseTimedID3MetadataPayload","dispatchAudioMediaSegment","parseSPS$2","pes_slice_queues_","bit_stream_mode","details","8603320ndiBdW","107HgrirF","mseDecodeAudio","emitPESSlices","dispatchAudioVideoMediaSegment","parsePESPrivateDataPayload","synchronous_klv_pids","Not Supported Opus channel count.","audio_object_type","loas_previous_frame","last_pcr_","parseSection","sar_ratio","dts","clearSlices","length","dispatchAudioInitSegment","present_size","ac-3","config_","AAC: AudioObjectType changed from ","readNextAACFrame","timestamp_offset_","dispatchVideoMediaSegment","kH265","syncOffset",", stream_id=","random_access_indicator","audioSampleRateIndex","file_position","sampling_freq_index","updateVideoInfo","detectVideoMetadataChange","h264","elementary_stream_priority_indicator","audio_track_","parseAC3Payload","ms, PES pts: ","pat_","emitSectionSlices","version_number","sampling_frequency","timescale","Generated first AVCDecoderConfigurationRecord for mimeType: ","fps_num",", not start with 0x47, so break","hasAudio","vps","video",", pts=","ac3","audioChannelCount","frameRate","2067475BxzzpN","object_type","getIncompleteData","isInitSegmentDispatched","codecWidth","opus","payload","AC3: Bit Stream Identification changed from ","timescale_","channel_count","codec","buffer","parseEAC3Payload","pid","kLOASAAC","AC3: BitStream Mode changed from ","dispatchPESPrivateDataDescriptor","audioCodec","_doDecodeVideo","Video: Codec mimeType changed from ","Opus: SamplingFrequencyIndex changed from ","height","originalCodec","SMPTE 2038 Metadata: pid=","readNextNaluPayload","scte_35_pids","parsePAT","hvcc","frame_rate","detectAudioMetadataChange","parsePMT","AC3: Channel Mode changed from ","updateStats","timed_id3_pids","debugWarn","set","cts","pps","AC3: Sampling Frequency changed from ","parseVPS","original_codec_mimetype","profile: ","TAG_NAME","AC3: Low Frequency Effects Channel On changed from ","MP3: AudioObjectType changed from ","kPESPrivateData","dispatch","nearest_pts","subarray","parseLOASAACPayload","audioSampleRate","Synchronous KLV Metadata: pid=","from","7421544HYLIUs","891WKyTMQ","current_program_","parseSynchronousKLVMetadataPayload","parsePMT: table_id ","kAC3","ts_packet_size","H265: Critical h265 metadata has been changed, attempt to re-generate InitSegment","_doDecodeAudio","expected: ","Timed ID3 Metadata: pid=","parseSPS","TAG","24807MfIwyU","common_pids","Audio: Audio Codecs changed from ","cryptoPayload"," to ","parsePAT: table_id ","_remainingPacketData","abs","parsePES: packet_start_code_prefix should be 1 but with value ","_doDecodeByTs","channel_mode","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","mp3","duration_","audio_metadata_","stream_type","7mWrUlj","adts_aac","duration","data","kEAC3","pmt_","section_slice_queues_","parseSCTE35","program_pmt_map_","codec_size","kMPEG2Audio","sps","handleSectionSlice","sample_rate","push","first_parse_","handlePESSlice","sarDen","h265","fps","stream_id","MP3: SamplingFrequencyIndex changed from "," is not corresponded to PMT!","destroy","has_video_","sampling_index","ID3 ","media_info_","_preDoDecode","kSCTE35","tsPacketSize","parseADTSAACPayload","audio","kMPEG1Audio","network_pid","Opus","probe","stringify","smpte2038_pids","kH264","bit_stream_identification","loas_aac","_getTimestamp","parseAsynchronousKLVMetadataPayload","fromCharCode","refSampleDuration","TsDemux","pcr_pid","getNearestTimestampMilliseconds","codecHeight","parsePPS",'video/mp2t; codecs="',"bitDepth",", syncOffset = "," is not corresponded to PAT!","_opt","kADTSAAC","error","handlePESSlice: packet_start_code_prefix should be 1 but with value ","isFirstDispatch and tsPacketSize = ","presentWidth","debugError","kSliceSPS","9Zxigin","3310140ZEMyZO","low_frequency_effects_channel_on","229212rADSFL","last_pcr_base_","video_init_segment_dispatched_","Parsed first PAT: ","type","audio_last_sample_pts_","isIFrame","slices","VANC","video_track_","codec_mimetype","sarNum","config","MP3: Channel count changed from ","kSliceVPS","parseMP3Payload","pes_private_data_pids","audio_init_segment_dispatched_","expected_length","program_number","floor","Asynchronous KLV Metadata: pid="];return(df=function(){return t})()}function uf(t,e){const s=df();return(uf=function(t,e){return s[t-=262]})(t,e)}!function(t,e){const s=uf,i=t();for(;;)try{if(724489===parseInt(s(381))/1*(parseInt(s(326))/2)+-parseInt(s(499))/3*(parseInt(s(327))/4)+-parseInt(s(433))/5+parseInt(s(287))/6*(parseInt(s(515))/7)+parseInt(s(486))/8+parseInt(s(286))/9*(parseInt(s(380))/10)+-parseInt(s(487))/11*(parseInt(s(289))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(df);class pf extends ep{constructor(t){const e=uf;super(t),this[e(359)]=t,this[e(475)]=e(269),this[e(530)]=!0,this.tsPacketSize=0,this[e(405)]=0,this.pmt_=null,this[e(399)]=null,this[e(542)]=new hf,this[e(441)]=90,this[e(512)]=0,this[e(418)]={version_number:0,network_pid:0,program_map_pid:{}},this[e(488)]=null,this[e(325)]=-1,this[e(523)]={},this[e(377)]={},this[e(521)]={},this[e(356)]={vps:null,sps:null,pps:null,details:null},this.audio_metadata_={codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},this[e(390)]=null,this[e(290)]=NaN,this[e(402)]=0,this[e(294)]=void 0,this.aac_last_incomplete_data_=null,this.has_video_=!1,this[e(319)]=!1,this[e(291)]=!1,this[e(306)]=!1,this[e(346)]=!1,this.audio_metadata_changed_=!1,this[e(389)]=null,this[e(298)]={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this[e(415)]={type:e(547),id:2,sequenceNumber:0,samples:[],length:0},this[e(505)]=null,this[e(359)][e(368)](this[e(475)],"init")}[lf(538)](){const t=lf;this[t(542)]=null,this[t(377)]=null,this[t(521)]=null,this[t(356)]=null,this[t(513)]=null,this[t(357)]=null,this.video_track_=null,this[t(415)]=null,this._remainingPacketData=null,super[t(538)]()}[lf(551)](t){const e=lf;let s=new Uint8Array(t),i=-1,r=188;if(s[e(342)]<=3*r)return{needMoreData:!0};for(;-1===i;){let t=Math[e(337)](1e3,s[e(342)]-3*r);for(let e=0;e=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:r,sync_offset:i})}[lf(311)](){return{program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}}[lf(479)](t){const e=lf;let s=new Uint8Array(t);this[e(505)]&&(s=Zp(this[e(505)],s),this[e(505)]=null);let i=s[e(444)];const r=this.parseChunks(i);r?this[e(505)]=s.subarray(r):s[e(395)]>>6;i[1];let o=(31&i[1])<<8|i[2],a=(48&i[3])>>>4,h=15&i[3],c=!(!this[e(520)]||this[e(520)][e(270)]!==o),l={},d=4;if(2==a||3==a){let t=i[4];if(t>0&&(c||3==a)){if(l.discontinuity_indicator=(128&i[5])>>>7,l[e(407)]=(64&i[5])>>>6,l[e(414)]=(32&i[5])>>>5,(16&i[5])>>>4){let t=300*this[e(318)](i)+((1&i[10])<<8|i[11]);this.last_pcr_=t}}if(2==a||5+t===188){s+=188,204===this[e(545)]&&(s+=16);continue}d=5+t}if(1==a||3==a)if(0===o||o===this[e(325)]||null!=this[e(520)]&&this[e(520)][e(334)][o]===tf[e(544)]){let i=188-d;this[e(527)](t,s+d,i,{pid:o,payload_unit_start_indicator:n,continuity_conunter:h,random_access_indicator:l[e(407)]})}else if(null!=this[e(520)]&&null!=this[e(520)][e(334)][o]){let i=188-d,r=this[e(520)][e(334)][o];(o===this[e(520)][e(500)][e(413)]||o===this.pmt_[e(500)][e(533)]||o===this[e(520)][e(500)][e(516)]||o===this.pmt_[e(500)].loas_aac||o===this.pmt_[e(500)][e(430)]||o===this[e(520)].common_pids.eac3||o===this[e(520)].common_pids[e(438)]||o===this[e(520)][e(500)].mp3||!0===this.pmt_[e(305)][o]||!0===this[e(520)][e(466)][o]||!0===this[e(520)][e(386)][o]||!0===this.pmt_[e(352)][o])&&this[e(531)](t,s+d,i,{pid:o,stream_type:r,payload_unit_start_indicator:n,continuity_conunter:h,random_access_indicator:l.random_access_indicator})}s+=188,204===this[e(545)]&&(s+=16)}return this[e(384)](),s}[lf(527)](t,e,s,i){const r=lf;let n=new Uint8Array(t,e,s),o=this[r(521)][i[r(446)]];if(i[r(347)]){let a=n[0];if(null!=o&&0!==o.total_length){let n=new Uint8Array(t,e+1,Math[r(337)](s,a));o[r(296)][r(529)](n),o[r(364)]+=n[r(342)],o.total_length===o.expected_length?this[r(419)](o,i):this[r(394)](o,i)}for(let h=1+a;h=o[r(307)]&&this[r(394)](o,i),h+=c.byteLength}}else if(null!=o&&0!==o[r(364)]){let n=new Uint8Array(t,e,Math.min(s,o[r(307)]-o[r(364)]));o[r(296)][r(529)](n),o[r(364)]+=n.byteLength,o[r(364)]===o[r(307)]?this.emitSectionSlices(o,i):o[r(364)]>=o[r(307)]&&this[r(394)](o,i)}}[lf(531)](t,e,s,i){const r=lf;let n=new Uint8Array(t,e,s),o=n[0]<<16|n[1]<<8|n[2];n[3];let a=n[4]<<8|n[5];if(i.payload_unit_start_indicator){if(1!==o)return void this[r(359)].debugWarn(this[r(475)],r(281)+o);let t=this[r(377)][i.pid];t&&(0===t[r(307)]||t[r(307)]===t[r(364)]?this[r(383)](t,i):this.clearSlices(t,i)),this[r(377)][i[r(446)]]=new sf,this.pes_slice_queues_[i[r(446)]][r(407)]=i.random_access_indicator}if(null==this[r(377)][i.pid])return;let h=this.pes_slice_queues_[i[r(446)]];h[r(296)][r(529)](n),i[r(347)]&&(h.expected_length=0===a?0:a+6),h[r(364)]+=n[r(342)],h[r(307)]>0&&h[r(307)]===h[r(364)]?this[r(383)](h,i):h.expected_length>0&&h[r(307)]>>6,h=s[8];(2===a||3===a)&&(i=this[e(265)](s,9),o=3===a?this._getTimestamp(s,14):i);let c,l=9+h;if(0!==n){if(n<3+h)return void this[e(359)][e(467)](this[e(475)],"Malformed PES: PES_packet_length < 3 + PES_header_data_length");c=n-3-h}else c=s.byteLength-l;let d=s[e(481)](l,l+c);switch(t[e(514)]){case tf[e(548)]:case tf[e(525)]:this[e(304)](d,i);break;case tf[e(478)]:this[e(520)].common_pids[e(438)]===t.pid?this[e(314)](d,i):this[e(520)][e(500)][e(430)]===t[e(446)]?this[e(416)](d,i):this[e(520)][e(500)].eac3===t.pid?this[e(445)](d,i):this[e(520)][e(352)][t.pid]?this[e(266)](d,t[e(446)],r):this[e(520)][e(553)][t.pid]?this.parseSMPTE2038MetadataPayload(d,i,o,t[e(446)],r):this[e(385)](d,i,o,t.pid,r);break;case tf.kADTSAAC:this[e(546)](d,i);break;case tf[e(447)]:this[e(482)](d,i);break;case tf[e(491)]:this.parseAC3Payload(d,i);break;case tf[e(519)]:this.parseEAC3Payload(d,i);break;case tf[e(331)]:this[e(520)].timed_id3_pids[t[e(446)]]?this.parseTimedID3MetadataPayload(d,i,o,t.pid,r):this[e(520)][e(386)][t[e(446)]]&&this[e(489)](d,i,o,t.pid,r);break;case tf[e(262)]:this[e(367)](d,i,o,t[e(407)]);break;case tf[e(404)]:this[e(344)](d,i,o,t[e(407)])}}else if((188===r||191===r||240===r||241===r||255===r||242===r||248===r)&&t[e(514)]===tf[e(478)]){let i,o=6;i=0!==n?n:s[e(342)]-o;let a=s.subarray(o,o+i);this.parsePESPrivateDataPayload(a,void 0,void 0,t[e(446)],r)}}else this[e(359)][e(284)](this.TAG_NAME,e(507)+i)}[lf(459)](t){const e=lf;let s=t[0];if(0!==s)return void Log.e(this[e(498)],e(504)+s+e(277));let i=(15&t[1])<<8|t[2];t[3],t[4];let r=(62&t[5])>>>1,n=1&t[5],o=t[6];t[7];let a=null;if(1===n&&0===o)a={version_number:0,network_pid:0,program_pmt_pid:{}},a[e(420)]=r;else if(a=this.pat_,null==a)return;let h=i-5-4,c=-1,l=-1;for(let s=8;s<8+h;s+=4){let i=t[s]<<8|t[s+1],r=(31&t[s+2])<<8|t[s+3];0===i?a[e(549)]=r:(a.program_pmt_pid[i]=r,-1===c&&(c=i),-1===l&&(l=r))}1===n&&0===o&&(null==this[e(418)]&&this[e(359)][e(368)](this[e(475)],e(292)+JSON[e(552)](a)),this.pat_=a,this[e(488)]=c,this[e(325)]=l)}[lf(463)](t){const e=lf;let s=t[0];if(2!==s)return void this[e(359)].debugError(this[e(475)],e(490)+s+e(537));let i,r=(15&t[1])<<8|t[2],n=t[3]<<8|t[4],o=(62&t[5])>>>1,a=1&t[5],h=t[6];if(t[7],1===a&&0===h)i=this[e(311)](),i[e(308)]=n,i.version_number=o,this[e(523)][n]=i;else if(i=this[e(523)][n],null==i)return;i[e(270)]=(31&t[8])<<8|t[9];let c=(15&t[10])<<8|t[11],l=12+c,d=r-9-c-4;for(let s=l;s0){for(let r=s+5;r0)for(let r=s+5;r1&&(this[s(359)].debugWarn(this[s(475)],"AAC: Detected pts overlapped, "+(s(495)+t+s(417)+r)+"ms"),r=t)}}let n,o=new Se(t),a=null,h=r;for(;null!=(a=o[s(401)]());){i=1024/a.sampling_frequency*1e3;const t={codec:s(338),data:a};0==this[s(306)]?(this[s(513)]={codec:"aac",audio_object_type:a.audio_object_type,sampling_freq_index:a[s(410)],sampling_frequency:a[s(421)],channel_config:a.channel_config},this.dispatchAudioInitSegment(t)):this.detectAudioMetadataChange(t)&&(this[s(375)](),this[s(396)](t)),n=h;let e=Math[s(309)](h);const r=new Uint8Array(a.data[s(395)]+2);r[s(468)]([175,1],0),r[s(468)](a[s(518)],2);let o={payload:r,length:r[s(342)],pts:e,dts:e,type:R[s(547)]};this[s(415)][s(317)][s(529)](o),this.audio_track_[s(395)]+=r[s(342)],h+=i}o.hasIncompleteData()&&(this[s(357)]=o[s(435)]()),n&&(this[s(294)]=n)}[lf(482)](t,e){const s=lf;if(this[s(539)]&&!this[s(291)])return;if(this[s(357)]){let e=new Uint8Array(t[s(342)]+this[s(357)][s(342)]);e[s(468)](this[s(357)],0),e[s(468)](t,this[s(357)][s(342)]),t=e}let i,r;if(null!=e&&(r=e/this[s(441)]),this[s(513)].codec===s(338)){if(null==e&&null!=this[s(294)])i=1024/this[s(513)].sampling_frequency*1e3,r=this[s(294)]+i;else if(null==e)return void this.player.debugWarn(this[s(475)],"AAC: Unknown pts");if(this[s(357)]&&this[s(294)]){i=1024/this[s(513)].sampling_frequency*1e3;let t=this[s(294)]+i;Math[s(506)](t-r)>1&&(this[s(359)][s(467)](this[s(498)],s(354)+(s(495)+t+s(417)+r+"ms")),r=t)}}let n,o=new we(t),a=null,h=r;for(;null!=(a=o.readNextAACFrame(as(this[s(389)])?void 0:this[s(389)]));){this[s(389)]=a,i=1024/a.sampling_frequency*1e3;const t={codec:s(338),data:a};0==this[s(306)]?(this[s(513)]={codec:s(338),audio_object_type:a.audio_object_type,sampling_freq_index:a[s(410)],sampling_frequency:a[s(421)],channel_config:a.channel_config},this[s(396)](t)):this[s(462)](t)&&(this[s(375)](),this[s(396)](t)),n=h;let e=Math[s(309)](h);const r=new Uint8Array(a.data.length+2);r.set([175,1],0),r[s(468)](a[s(518)],2);let o={payload:r,length:r[s(342)],pts:e,dts:e,type:R[s(547)]};this[s(415)].samples[s(529)](o),this[s(415)].length+=r[s(342)],h+=i}o.hasIncompleteData()&&(this[s(357)]=o[s(435)]()),n&&(this[s(294)]=n)}parseAC3Payload(t,e){}parseEAC3Payload(t,e){}[lf(314)](t,e){}parseMP3Payload(t,e){const s=lf;if(this[s(539)]&&!this[s(291)])return;let i=[44100,48e3,32e3,0],r=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],o=t[1]>>>3&3,a=(6&t[1])>>1,h=(t[2],(12&t[2])>>>2),c=3!==(t[3]>>>6&3)?2:1,l=0,d=34;switch(s(511),o){case 0:l=n[h];break;case 2:l=r[h];break;case 3:l=i[h]}switch(a){case 1:d=34,s(395);break;case 2:d=33,s(395);break;case 3:d=32,s(395)}const u={};u.object_type=d,u[s(528)]=l,u.channel_count=c,u[s(518)]=t;const p={codec:s(511),data:u};0==this[s(306)]?(this[s(513)]={codec:s(511),object_type:d,sample_rate:l,channel_count:c},this[s(396)](p)):this[s(462)](p)&&(this[s(375)](),this.dispatchAudioInitSegment(p));let f={payload:t,length:t[s(342)],pts:e/this[s(441)],dts:e/this.timescale_,type:R[s(547)]};this[s(415)][s(317)][s(529)](f),this[s(415)][s(395)]+=t[s(342)]}detectAudioMetadataChange(t){const e=lf;if(t[e(443)]!==this[e(513)][e(443)])return this[e(359)][e(368)](this[e(475)],e(501)+(this[e(513)].codec+e(503)+t[e(443)])),!0;if(t[e(443)]===e(338)&&this[e(513)].codec===e(338)){const s=t.data;if(s[e(388)]!==this.audio_metadata_[e(388)])return this[e(359)][e(368)](this[e(475)],e(400)+(this[e(513)].audio_object_type+" to ")+s[e(388)]),!0;if(s[e(410)]!==this[e(513)][e(410)])return this[e(359)][e(368)](this[e(475)],e(353)+(this[e(513)][e(410)]+e(503)+s[e(410)])),!0;if(s[e(363)]!==this[e(513)][e(363)])return this[e(359)].debugLog(this[e(475)],e(339)+(this[e(513)][e(363)]+e(503)+s[e(363)])),!0}else if("ac-3"===t.codec&&"ac-3"===this.audio_metadata_[e(443)]){const s=t[e(518)];if(s[e(421)]!==this[e(513)][e(421)])return this[e(359)][e(368)](this[e(475)],e(471)+(this[e(513)][e(421)]+" to ")+s[e(421)]),!0;if(s.bit_stream_identification!==this[e(513)][e(263)])return this[e(359)][e(368)](this.TAG_NAME,e(440)+(this[e(513)].bit_stream_identification+e(503)+s[e(263)])),!0;if(s[e(378)]!==this[e(513)].bit_stream_mode)return this.player[e(368)](this[e(475)],e(448)+(this.audio_metadata_[e(378)]+e(503)+s[e(378)])),!0;if(s.channel_mode!==this.audio_metadata_[e(509)])return this[e(359)][e(368)](this[e(475)],e(464)+(this[e(513)][e(509)]+e(503)+s[e(509)])),!0;if(s[e(288)]!==this.audio_metadata_.low_frequency_effects_channel_on)return this[e(359)][e(368)](this[e(475)],e(476)+(this.audio_metadata_[e(288)]+e(503)+s[e(288)])),!0}else if(t.codec===e(438)&&"opus"===this[e(513)][e(443)]){const s=t[e(332)];if(s[e(528)]!==this[e(513)][e(528)])return this[e(359)][e(368)](this[e(475)],e(453)+(this[e(513)].sample_rate+" to ")+s[e(528)]),!0;if(s[e(442)]!==this[e(513)].channel_count)return this[e(359)][e(368)](this[e(475)],"Opus: Channel count changed from "+(this[e(513)][e(442)]+e(503)+s[e(442)])),!0}else if(t[e(443)]===e(511)&&this[e(513)].codec===e(511)){const s=t[e(518)];if(s[e(434)]!==this[e(513)][e(434)])return this[e(359)][e(368)](this.TAG_NAME,e(477)+(this[e(513)][e(434)]+e(503)+s[e(434)])),!0;if(s.sample_rate!==this.audio_metadata_[e(528)])return this[e(359)][e(368)](this[e(475)],e(536)+(this[e(513)][e(528)]+e(503)+s[e(528)])),!0;if(s[e(442)]!==this[e(513)].channel_count)return this[e(359)][e(368)](this[e(475)],e(302)+(this[e(513)][e(442)]+e(503)+s[e(442)])),!0}return!1}[lf(396)](t){const e=lf;let s={};s[e(293)]="audio",s.id=this.audio_track_.id,s[e(422)]=1e3,s[e(517)]=this[e(512)];let i="";if(this[e(513)].codec===e(338)){let r="aac"===t.codec?t[e(518)]:null,n=new cf(r);s.audioSampleRate=n[e(365)],s.audioSampleRateIndex=n[e(540)],s.channelCount=n[e(442)],s[e(443)]=n.codec_mimetype,s[e(455)]=n[e(473)],s.config=n[e(301)],s[e(268)]=1024/s[e(483)]*s[e(422)],i=H[e(340)];const o=ce({profile:this.player[e(278)][e(382)]?n[e(434)]:n[e(362)],sampleRate:s.audioSampleRateIndex,channel:s.channelCount});console[e(280)](e(324),e(474)+n[e(434)]+", sampleRate: "+s[e(408)]+", channel: "+s[e(328)]),this[e(508)](o,R.audio,0,!1,0)}else this.audio_metadata_[e(443)]===e(398)||"ec-3"===this[e(513)][e(443)]||"opus"===this[e(513)].codec||this[e(513)][e(443)]===e(511)&&(s.audioSampleRate=this.audio_metadata_[e(528)],s[e(328)]=this[e(513)][e(442)],s.codec=e(511),s[e(455)]=e(511),s[e(301)]=void 0,i=H.MP3);0==this.audio_init_segment_dispatched_&&this[e(359)].debugLog(this[e(475)],"Generated first AudioSpecificConfig for mimeType: "+s[e(443)]),this[e(306)]=!0,this[e(346)]=!1;let r=this.media_info_;r[e(426)]=!0,r[e(450)]=s[e(455)],r[e(483)]=s[e(483)],r[e(431)]=s[e(328)],r[e(341)]&&r[e(330)]?r[e(349)]=e(274)+r[e(330)]+","+r[e(450)]+'"':r[e(349)]=e(274)+r.audioCodec+'"',i&&this[e(359)].audio.updateAudioInfo({encTypeCode:i,channels:s[e(328)],sampleRate:s.audioSampleRate})}[lf(449)](t,e,s){let i={};i[lf(446)]=t,i.stream_type=e,i.descriptor=s}[lf(385)](t,e,s,i,r){const n=lf;let o=new of;if(o[n(446)]=i,o[n(535)]=r,o[n(351)]=t.byteLength,o[n(518)]=t,null!=e){let t=Math[n(309)](e/this[n(441)]);o.pts=t}else o[n(480)]=this.getNearestTimestampMilliseconds();if(null!=s){let t=Math[n(309)](s/this[n(441)]);o.dts=t}}[lf(374)](t,e,s,i,r){const n=lf;this[n(359)][n(368)](this[n(475)],n(496)+i+", pts="+e+", dts="+s+n(406)+r)}parseSynchronousKLVMetadataPayload(t,e,s,i,r){const n=lf;this.player[n(368)](this.TAG_NAME,n(484)+i+n(429)+e+n(373)+s+n(406)+r)}[lf(266)](t,e,s){const i=lf;this[i(359)].debugLog(this[i(475)],i(310)+e+", stream_id="+s)}parseSMPTE2038MetadataPayload(t,e,s,i,r){const n=lf;this[n(359)][n(368)](this[n(475)],n(456)+i+n(429)+e+", dts="+s+n(406)+r)}[lf(271)](){const t=lf;if(null!=this[t(294)])return Math[t(309)](this.audio_last_sample_pts_);if(null!=this[t(390)]){return Math[t(309)](this.last_pcr_/300/this[t(441)])}}[lf(543)](){const t=lf,e=this[t(298)],s=this.audio_track_;let i=e[t(317)];s[t(317)].length>0&&(i=e[t(317)][t(350)](s.samples),i=i.sort(((e,s)=>{const i=t;return e[i(393)]-s[i(393)]}))),i[t(371)]((e=>{const s=t,i=new Uint8Array(e[s(439)]);delete e[s(439)],e[s(293)]===R.video?this[s(451)]({...e,payload:i}):e.type===R[s(547)]&&this[s(494)]({...e,payload:i})})),e[t(317)]=[],e[t(395)]=0,s[t(317)]=[],s.length=0}[lf(451)](t){const e=lf,s=new Uint8Array(t[e(439)]);let i=null;i=t[e(323)]?eh(s,t[e(295)]):Ca(s,t.isIFrame),this.player[e(465)]({dts:t[e(393)],vbps:i.byteLength}),t.isIFrame&&this.calcIframeIntervalTimestamp(t[e(393)]);let r=this[e(502)](i,t[e(295)]);this[e(508)](r,R[e(428)],t[e(393)],t[e(295)],t[e(469)])}[lf(494)](t){const e=lf,s=new Uint8Array(t[e(439)]);this[e(359)][e(465)]({abps:s[e(342)]});let i=this[e(320)](s);this[e(508)](i,R[e(547)],t[e(393)],!1,0)}getInputByteLength(){const t=lf;return this._remainingPacketData&&this[t(505)][t(342)]||0}[lf(318)](t){const e=lf;let s=33554432*t[6]+131072*t[7]+512*t[8]+2*t[9]+(128&t[10])/128+this[e(402)];return s+4294967296>>3&3,n=(6&s[1])>>1,o=(240&s[2])>>>4,a=(12&s[2])>>>2,h=3!==(s[3]>>>6&3)?2:1,c=0,l=0,d=e(486);switch(r){case 0:c=If[a];break;case 2:c=Ef[a];break;case 3:c=wf[a]}switch(n){case 1:o<_f.length&&(l=_f[o]);break;case 2:o{const t=e;this._clearAudioSourceBufferCheckTimeout(),this[t(485)][t(420)](O[t(477)])}),1e3)),void Ms(t);if(this[e(485)][e(418)]())this[e(485)].updateStats({dfps:!0}),!this[e(485)][e(440)].videoStart&&(this[e(485)][e(440)][e(507)]=Be(),this[e(485)][e(494)]()),this.player[e(386)][e(450)]({videoFrame:t,ts:t[e(451)]}),this[e(485)].handleRender();else if(this.player[e(436)]())this[e(485)][e(390)]({dfps:!0}),Js(this[e(485)][e(367)])?(this.player[e(407)][e(424)]&&this[e(485)].playback[e(476)](),this[e(485)][e(407)][e(405)]?this[e(485)].video.pushData({videoFrame:t,ts:t[e(451)]}):this.player.video[e(474)]({videoFrame:t,ts:t[e(451)]})):this[e(485)].playback[e(363)]()&&this[e(485)][e(407)][e(405)]&&this[e(485)].video[e(517)]({videoFrame:t,ts:t[e(451)]});else if(this.player[e(511)]())if(this.player.playVod[e(500)]()){const s=this[e(485)][e(383)][e(473)];Math[e(447)](s-t[e(451)])<500&&(this[e(485)].playVod[e(491)](),this[e(485)].updateStats({dfps:!0}),this[e(485)][e(386)].render$2({videoFrame:t,ts:t[e(451)]}))}else this[e(485)][e(390)]({dfps:!0}),this[e(485)][e(386)][e(474)]({videoFrame:t,ts:t[e(451)]})}}[Lf(372)](t){const e=Lf;this[e(485)][e(412)](this.TAG_NAME,e(416),t[e(449)],t);const s=t.toString();-1!==s[e(515)](lt.unsupportedConfiguration)?this[e(485)][e(460)](O.webcodecsUnsupportedConfigurationError,s):-1!==s[e(515)](lt[e(396)])?this[e(485)][e(460)](O.webcodecsDecodeError,s):-1!==s[e(515)](lt[e(462)])?this[e(485)][e(460)](O[e(400)],s):-1!==s[e(515)](lt[e(442)])?this[e(485)].emitError(O[e(400)],s):-1!==s[e(515)](lt[e(364)])&&this.player[e(460)](O[e(454)],s)}[Lf(492)](t){const e=Lf;this[e(485)]&&(this.player.isDestroyedOrClosed()?this[e(485)][e(448)](this[e(453)],"decodeVideo() player is destroyed"):this[e(485)][e(418)]()?this[e(485)][e(415)][e(378)](t,t[e(451)]):this.player.isPlayback()||this.player[e(511)]()&&(this[e(485)].playVod[e(500)]()||this[e(485)].audio[e(378)](t,t[e(451)])))}[Lf(459)](t){const e=Lf;this[e(485)][e(412)](this[e(453)],e(446),t[e(449)],t)}decodeVideo(t,e,s,i){const r=Lf;if(this[r(485)])if(this[r(485)][r(512)]())this[r(485)][r(448)](this[r(453)],r(385));else if(this.hasInit)if(!this[r(362)]&&s&&(this[r(362)]=!0),this[r(362)]){if(this.isDecodeStateClosed())return void this[r(485)].debugWarn(this.TAG_NAME,r(502));if(s&&0===t[1]){const e=15&t[0];let s={};if(e===z[r(391)]){s=Ta(t[r(437)](5))}else e===z[r(443)]&&(s=Ja(t));const i=this[r(485)][r(386)].videoInfo;i&&i.width&&i[r(471)]&&s&&s[r(490)]&&s[r(401)]&&(s[r(490)]!==i[r(520)]||s[r(401)]!==i.height)&&(this[r(485)][r(448)](this.TAG_NAME,"decodeVideo: video width or height is changed,\n old width is "+i[r(520)]+r(430)+i[r(471)]+r(441)+s[r(490)]+r(478)+s[r(401)]+r(439)),this[r(455)]=!0,this[r(485)][r(460)](O[r(434)],r(472)+i.width+"->"+i.height+" height "+s[r(490)]+"->"+s[r(401)]))}if(this[r(455)])return void this.player[r(448)](this[r(453)],r(393));if(Ys(t))return void this[r(485)].debugLog(this[r(453)],r(392));if(t[r(465)]<12)return void this[r(485)][r(448)](this[r(453)],r(402)+t.byteLength);let i=!1,n=(new Date)[r(365)]();!this.prevTimestamp&&(this.prevTimestamp=n,i=!0);const o=n-this[r(419)];this[r(504)]=o,o>500&&!i&&this.player.isPlayer()&&this[r(485)][r(448)](this.TAG_NAME,"decodeVideo diff time is ",o);const a=t[r(437)](5),h=new EncodedVideoChunk({data:a,timestamp:e,type:s?X[r(427)]:X[r(395)]});this[r(485)].emit(B[r(505)],e);try{this[r(423)].decode(h)}catch(t){this.player[r(412)](this[r(453)],r(398),t);const e=t[r(452)]();-1!==e[r(515)](lt[r(488)])?this.player[r(460)](O.webcodecsDecodeError,e):-1!==e[r(515)](lt[r(498)])&&this[r(485)][r(460)](O[r(400)],e)}this[r(419)]=(new Date).getTime()}else this[r(485)][r(377)](this[r(453)],r(444));else if(s&&t[1]===pt[r(387)]){const e=15&t[0];if(this.player.video[r(413)]({encTypeCode:e}),e===z.h265&&!is()){const t=Ke();return this.player.debugWarn(this[r(453)],"WebcodecsDecoder not support hevc decode",t[r(466)],t.version),void this[r(485)][r(460)](O[r(454)])}!this[r(485)][r(440)].decodeStart&&(this.player._times[r(411)]=Be());let s=null,i=null;const n=t[r(437)](5);if(e===z[r(391)]?(i=Ta(n),s={codec:i[r(403)],description:n}):e===z[r(443)]&&(i=Xa(n),s={codec:i[r(403)],description:n}),!s||s&&!s[r(403)]||i&&0===i[r(490)]&&0===i[r(401)])return this[r(485)][r(448)](this.TAG_NAME,r(499),JSON[r(497)](s)),void this[r(485)][r(460)](O.webcodecsDecodeConfigureError,r(369));s[r(508)]=i[r(401)],s[r(375)]=i[r(490)],!this[r(399)]&&(this[r(485)][r(377)](this[r(453)],r(501)+i[r(490)]+","+i.codecHeight),this[r(485)][r(386)].updateVideoInfo({width:i[r(490)],height:i[r(401)]}),this[r(485)].video[r(516)](),this[r(399)]=!0),this.player[r(384)]&&this[r(485)]._opt[r(509)]===l[r(374)]&&this.player[r(384)].initMetaData(t,e),this[r(485)][r(386)].bindMediaStream(),this.player[r(377)](this[r(453)],"decoder.configure() and codec is "+s[r(403)]);try{s[r(370)]=!0,s[r(388)]="prefer-hardware",this.decoder[r(425)](s),this.hasInit=!0}catch(t){this.player[r(412)](this.TAG_NAME,"configure error",t[r(449)],t);const e=t[r(452)]();-1!==e[r(515)](lt[r(364)])?this[r(485)].emitError(O[r(454)],e):this[r(485)][r(460)](O.webcodecsDecodeConfigureError,e)}}else this[r(485)][r(448)](this.TAG_NAME,r(409)+s+" , payload is "+t[1]+r(382))}decodeAudio(t,e){const s=Lf;if(this[s(485)])if(this.player.isDestroyedOrClosed())this[s(485)][s(448)](this[s(453)],"decodeAudio() player is destroyed");else if(this[s(461)]){if(le(t))return void this[s(485)].debugLog(this.TAG_NAME,s(397));if(this[s(422)](),this[s(362)]){if(this.isAudioDecodeStateClosed())return void this.player[s(448)](this[s(453)],s(410));const i=this.isAAC?t[s(437)](2):t[s(437)](1),r=i[s(368)]/this.player.audio[s(486)].sampleRate*1e3,n=new EncodedAudioChunk({type:s(427),data:i,timestamp:e,duration:parseInt(r,10)});try{this[s(394)].decode(n)}catch(t){this[s(485)].debugError(this.TAG_NAME,s(506),t),t.toString()}}}else{const e=t[0]>>4,i=t[0]>>1&1,r=e===H[s(404)],n=e===H[s(361)],o=e===H[s(381)],a=H.MULAW;let h="";h=n?i?16:8:0===i?8:16;const c={codec:"",numberOfChannels:"",sampleRate:""};let d=null;if(n||r){let e=null;if(le(t)){const i=t.slice(2);e=me(i),e&&(c[s(403)]=e[s(518)],c[s(435)]=e.channelCount,c[s(373)]=e[s(373)]),d=i,this.isAAC=n}else r&&(e=Df(t),e&&(c.codec=Ft[s(417)],c[s(435)]=e[s(496)],c[s(373)]=e[s(366)]))}else(a||o)&&(c[s(403)]=o?Ft[s(489)]:Ft[s(464)],c.numberOfChannels=1,c[s(373)]=8e3);if(c[s(403)]&&c[s(435)]&&c[s(373)]){!this.isAudioInitInfo&&(this[s(485)][s(415)][s(406)]({encTypeCode:e,channels:c[s(435)],sampleRate:c[s(373)],depth:h}),this[s(432)]=!0),this[s(485)].recorder&&this[s(485)][s(519)][s(509)]===l[s(374)]&&d&&this[s(485)].recorder[s(484)](d),this[s(485)][s(377)](this[s(453)],"decoderAudio.configure() and codec is "+c[s(403)]);try{this[s(394)][s(425)](c),this._clearAudioSourceBufferCheckTimeout(),this[s(461)]=!0,null===this[s(469)]&&(this[s(469)]=setTimeout((()=>{const t=s;this._clearAudioNoDataCheckTimeout(),this[t(485)].emit(O.webcodecsAudioNoDataTimeout)}),1e3))}catch(t){this[s(485)].debugError(this.TAG_NAME,s(470),t[s(449)],t),t.toString()}}}}updateMediaSourceDuration(t){const e=Lf;this[e(487)]&&(this.mediaSource[e(463)]=t)}[Lf(467)](){const t=Lf;this[t(438)]&&(clearTimeout(this[t(438)]),this[t(438)]=null)}[Lf(422)](){const t=Lf;this[t(469)]&&(clearTimeout(this[t(469)]),this.audioSourceNoDataCheckTimeout=null)}[Lf(445)](){return this.decodeDiffTimestamp}isDecodeStateClosed(){const t=Lf;return this[t(423)][t(433)]===t(458)}[Lf(414)](){const t=Lf;return this[t(423)][t(433)]===t(510)}isDecodeStateUnConfigured(){const t=Lf;return"unconfigured"===this[t(423)][t(433)]}isAudioDecodeStateClosed(){const t=Lf;return this[t(394)].state===t(458)}[Lf(380)](){const t=Lf;return this.decoderAudio[t(433)]===t(510)}isAudioDecodeStateUnConfigured(){const t=Lf;return this[t(394)].state===t(421)}}function Bf(){const t=["decoder","isUseLocalCalculateTime","configure","init","key","initDecoderAudio","isAudioDecodeStateClosed",", old height is ","wcsDecodeAudio","isAudioInitInfo","state","wcsWidthOrHeightChange","numberOfChannels","isPlayback","slice","audioSourceBufferCheckTimeout",",\n and emit change event","_times",",\n new width is ","decoderError","h265","VideoDecoder first frame is not iFrame","getDecodeDiffTimes","AudioDecoder handleError:","abs","debugWarn","code","render","timestamp","toString","TAG_NAME","webcodecsH265NotSupport","isWidthOrHeightChanged","isAAC","8PoYIQV","closed","handleErrorAudio","emitError","hasAudioInit","decodingError","duration","ulaw","byteLength","type","_clearAudioSourceBufferCheckTimeout","hasInit","audioSourceNoDataCheckTimeout","configure audio error","height","width ","seekingTimestamp","render$2","close","increaseLocalTimestamp","webcodecsAudioInitTimeout",", new height is ","prevDts","initDecoder","2820645kMSjMm","2350476zDVqsL","handleDecode","initAudioAacExtraData","player","audioInfo","mediaSource","keyframeIsRequiredError","alaw","codecWidth","removeSeekingTimestamp","handleDecodeAudio","92260hFFhLl","handlePlayToRenderTimes","flush","channelCount","stringify","canNotDecodeClosedCodec","decodeVideo and webcodecs configure is","isSeeking","updateVideoInfo: ","VideoDecoder isDecodeStateClosed true","2773700YbqXuo","decodeDiffTimestamp","timeUpdate","AudioDecoder","videoStart","codedHeight","recordType","configured","isPlayVod","isDestroyedOrClosed","needInitAudio","checkFirstIFrame","indexOf","initCanvasViewSize","pushData","originalCodec","_opt","width","3127733frSqKb","off","AAC","isDecodeFirstIIframe","isPlaybackPauseNotClearCacheAndCacheBeforeDecode","hevcDecodingIsNotSupported","getTime","samplingRate","playbackPause","length","configure or configure.code is null","optimizeForLatency","destroy","handleError","sampleRate","mp4","codedWidth","98731GEzVHC","debugLog","play","114vGKvPD","isAudioDecodeStateConfigured","ALAW"," so drop this frame","playVod","recorder","decodeVideo() player is destroyed","video","sequenceHeader","hardwareAcceleration","Webcodecs","updateStats","h264","decodeVideo and payload is video sequence header so drop this frame","decodeVideo: video width or height is changed, and return","decoderAudio","delta","decoderFailure","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","VideoDecoder","isInitInfo","webcodecsDecodeError","codecHeight","decodeVideo and payload is too small , payload length is ","codec","MP3","isUseFpsRender","updateAudioInfo","playback","3852876CkXWOB","decodeVideo has not init , isIframe is ","AudioDecoder isDecodeStateClosed true","decodeStart","debugError","updateVideoInfo","isDecodeStateConfigured","audio","VideoDecoder handleError:","mp3","isPlayer","prevTimestamp","emit","unconfigured","_clearAudioNoDataCheckTimeout"];return(Bf=function(){return t})()}const Mf=Ff;function Ff(t,e){const s=Of();return(Ff=function(t,e){return s[t-=310]})(t,e)}function Of(){const t=["16gPAlrJ","停止录制","物品识别激活","135144OCGDDA","","性能面板激活","保存日志","操作盘","1982844tahOez","关闭电子放大","人脸识别激活","10683135pUmYgU","759204kUBVuf","退出全屏","物品识别","人脸识别","电子放大","1959744QJZtVj","5rirPCx","1360898RTESig","性能面板","操作盘激活","keys","3505098OnIhnr",'">
      \n '];return(Of=function(){return t})()}!function(t,e){const s=Ff,i=t();for(;;)try{if(840301===parseInt(s(325))/1+-parseInt(s(330))/2+-parseInt(s(314))/3+parseInt(s(334))/4+-parseInt(s(315))/5*(-parseInt(s(320))/6)+-parseInt(s(316))/7*(-parseInt(s(322))/8)+parseInt(s(333))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Of);const Uf={play:"播放",pause:"暂停",audio:"",mute:"",screenshot:"截图",loading:"",fullscreen:"全屏",fullscreenExit:Mf(310),record:"录制",recordStop:Mf(323),narrow:"缩小",expand:"放大",ptz:Mf(329),ptzActive:Mf(318),zoom:Mf(313),zoomStop:Mf(331),close:"关闭",performance:Mf(317),performanceActive:Mf(327),face:Mf(312),faceActive:Mf(332),object:Mf(311),objectActive:Mf(324),occlusion:"遮挡物检查",occlusionActive:"遮挡物检查激活",logSave:Mf(328)};var jf=Object[Mf(319)](Uf).reduce(((t,e)=>{const s=Mf;return t[e]='\n '+Uf[e]+s(326):"")+"\n",t}),{});function Nf(){const t=['
      ','\n
      \n
      ',"aiFace","$scaleMenuList","ptzFocusShow","\n ","
      \n
      \n ","$objectDetect","jb-pro-controls-show-auto-hide","$playbackCurrentTime","controlHtml",".jb-pro-ptz-cruise-play",".jb-pro-controls-playback-time-inner","querySelector",".jb-pro-ptz-wiper-open",".jb-pro-controls-playback-time-scroll",".jb-pro-playback-control-time",".jb-pro-object","playType","\n ",".jb-pro-controls-playback-current-time-text","$ptzControlCircular",".jb-pro-zoom-stop",".jb-pro-controls-right","$playBig","playVod","playVodConfig",".jb-pro-ptz-focus-far",'
      ','
      ',"$playbackProgressPlayed","ptzMoreArrowShow","ptzWiperShow","$playbackProgressCache",'\n
      \n ','\n
      \n
      \n
      \n ',".jb-pro-playback-expand",".jb-pro-loading-bg","$ptz",".jb-pro-occlusion-active","$poster","loadingIcon",".jb-pro-ptz-aperture-near","42596HRAeJQ","96lLNASd","play","$playbackProgressTime","
      \n
      \n ","fullscreenExit","showControl","$contextmenus","$qualityMenu","$zoomExpand","$controlsPlaybackBtns",'
      ',"
      \n
      \n ",'\n
      ',".jb-pro-fullscreen-exit","1217625kwvUge",".jb-pro-ptz-arrow","add",".jb-pro-zoom-narrow","$volumePanel",".jb-pro-ptz-narrow",".jb-pro-poster","playbackTF",'
      ',"$controlsInner",".jb-pro-icon-audio",".jb-pro-volume-panel-wrap",'
      \n
      电子放大
      \n
      ',".jb-pro-control-progress-simple","performance","$playbackProgressHover",'
      ',".jb-pro-tips-message",".jb-pro-speed-menu",'\n
      \n
      \n
      \n
      \n ',"$controlsRight","$playbackProgressIndicator","ptzActive","$ptzWiperClose",'\n
      \n
      ',"$zoom",".jb-pro-play",".jb-pro-object-active","$volumePanelWrap",'\n
      \n
      \n \n \n 巡航开\n \n
      \n
      \n \n \n 巡航关\n \n
      \n
      \n ',"beforeend","3587640JsEPxz",'\n
      \n
      \n \n \n 光圈+\n \n
      \n
      \n \n \n 光圈-\n \n
      \n
      \n ',"$scaleMenu","\n\n ",".jb-pro-recording","$ptzApertureNear",".jb-pro-ptz-cruise-pause","ptzZoomShow",'
      \n
      ',".jb-pro-progress-cache","loading",".jb-pro-ptz-wiper-close","$recording",".jb-pro-playback-time-one-wrap",".jb-pro-play-big","$pause","close",".jb-pro-occlusion","showBandwidth","$speedMenu","$volumeHandle",".jb-pro-tips-message-close","simple","$record",'
      ',"$logSave","background","$volumePanelText",'
      \n
      ',"hasVideo",".jb-pro-tips-message-content",'\n
      \n
      ',"$ptzWiperOpen",".jb-pro-zoom","loadingText","_opt","\n ",".jb-pro-fullscreen",".jb-pro-playback-time-second-wrap","hasControl",'
      ',".jb-pro-pause",'
      ',"$faceDetect","audio",'
      ',"scale",'
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00:00
      \n
      \n
      \n
      \n
      \n ',"narrow",'
      ',"pause",".jb-pro-loading-text",'
      ','\n
      ',"controlAutoHide",".jb-pro-face",".jb-pro-logSave",".jb-pro-volume-panel-text","$play",'
      \n
      \n
      \n
      \n
      00:00:00
      \n
      ','\n
      \n
      \n \n \n 雨刷开\n \n
      \n
      \n \n \n 雨刷关\n \n
      \n
      \n ',".jb-pro-ptz-bg-active",'
      ','\n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00
      \n
      \n
      \n ',"$zoomNarrow","logSave","$volumeOn","$occlusionDetectActive","
      ","objectActive","$playbackProgress","zoom","zoomStop","occlusionActive",".jb-pro-quality-menu",".jb-pro-scale-icon-text","showRateBtn","\n ","$ptzActive",'\n
      \n ',"aiOcclusion","$controlHtml",".jb-pro-ptz-fog-open",".jb-pro-progress-indicator",".jb-pro-performance","querySelectorAll","$occlusionDetect",".jb-pro-zoom-expand","$ptzCruisePlay","\n ",'\n
      \n
      \n
      \n
      \n
      \n
      \n ',".jb-pro-screenshot",".jb-pro-loading-bg-image",".jb-pro-progress-hover","$close",".jb-pro-ptz-control",".jb-pro-record-stop",')">
      ',"$tipsMessage","$playbackTimeList",".jb-pro-contextmenus",".jb-pro-volume-panel-handle","$volumeOff",".jb-pro-quality-menu-list","$loadingText",".jb-pro-record",".jb-pro-speed-icon-text",'\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n ',"insertAdjacentHTML","$ptzApertureFar","\n ","$fullscreenExit","$playbackTimeInner","classList","showPrecisionBtn",".jb-pro-scale-menu-list",'
      ',".jb-pro-volume-panel","$faceDetectActive",".jb-pro-ptz-active",'\n
      \n
      \n \n \n 透雾开\n \n
      \n
      \n \n \n 透雾关\n \n
      \n
      \n ',".jb-pro-controls-bottom",'\n
      \n
      \n ',".jb-pro-speed","ptzCruiseShow","$zoomStop2","ptz","mute",'\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n ',"aiObject","$qualityMenuList","396548VyRUTq",".jb-pro-performance-active","$loading","637280UaXdvU","$playbackTimeListOne","$objectDetectActive","ptzApertureShow","$recordingTime","4159656HZXKIK","$playbackNarrow","$playbackExpand",'\n
      \n
      \n
      \n
      \n
      \n
      \n ','
      ',"fullscreen","$controls","record","$ptzFogOpen",'
      ',"playbackConfig","$qualityText","$performancePanel"];return(Nf=function(){return t})()}function Vf(t,e){const s=Nf();return(Vf=function(t,e){return s[t-=483]})(t,e)}!function(t,e){const s=Vf,i=t();for(;;)try{if(401561===-parseInt(s(595))/1+-parseInt(s(659))/2*(parseInt(s(660))/3)+parseInt(s(598))/4+-parseInt(s(674))/5+parseInt(s(603))/6+parseInt(s(705))/7+parseInt(s(511))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Nf);function zf(t,e){let s=!1;return t.forEach((t=>{const i=Kf;!s&&t[i(423)]<=e&&t[i(417)]>e&&(s=!0)})),s}function Gf(){const t=["213563aEJmAJ",'" data-min="',"push","endTimestamp","length","$playbackTimeListOne","second","title","jb-pro-playback-time-title-tips-left","startTimestamp","\n
      \n ","3TRraBO",'" data-type="',"insertAdjacentHTML","3151088hZrLxP","hasRecord",'" data-second="','"\n data-time="','\n
      ',"9PXUjzB",":00","beforeend","3322766fUtYNL",":30","30lowTvi","$playbackTimeListSecond","1624330iTVFvA","4412120wvWwcx","max","replace",'">','" data-has-record="',"min","6640376SOTPBJ","3243460ochDKx","
      \n "];return(Gf=function(){return t})()}function Hf(){const t=Kf;let e=arguments[t(418)]>0&&void 0!==arguments[0]?arguments[0]:[],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;const r=e[t(418)],n=s.length,o=Math[t(406)](r,n),a=2e3,h=Math[t(391)](o/a);let c=0,l=0;function d(){const n=t;let o="",u="";for(let t=0;t\n 0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(423)];for(let r=0;r<1440;r++){const n=r%60==0;let o=!1;i&&(o=zf(e,ys(i,r))),s[t(416)]({title:gs(r),timestamp:r,dataType:t(410),hasRecord:o,isStart:n})}return s}(t);Hf(s,function(){const t=Kf;let e=[];for(let s=0;s<24;s++){let i=s+t(398);s<10&&(i="0"+i),e[t(416)]({title:i,hour:s,min:0,second:0})}return e}(),e)}function Kf(t,e){const s=Gf();return(Kf=function(t,e){return s[t-=382]})(t,e)}function Qf(t,e){const s=function(){const t=Kf;let e=arguments[t(418)]>0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(423)];for(let r=0;r<1440;r++){let n=60*r,o=n%1800==0,a=!1;i&&(a=zf(e,bs(i,n))),s[t(416)]({title:As(n),timestamp:n,dataType:t(420),hasRecord:a,isStart:o});let h=60*r+30;o=h%1800==0,i&&(a=zf(e,bs(i,h))),s.push({title:As(h),timestamp:h,dataType:t(420),hasRecord:a,isStart:o})}return s}(t);Hf(s,function(){const t=Kf;let e=[];for(let s=0;s<24;s++){let i=s+t(398),r=s+t(401);s<10&&(i="0"+i,r="0"+r),e[t(416)]({title:i,hour:s,min:0,second:0}),e.push({title:r,hour:s,min:30,second:0})}return e}(),e)}function Yf(t,e){const s=function(){const t=Kf;let e=arguments[t(418)]>0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(423)];for(let r=0;r<144;r++)for(let n=0;n<60;n++){let o=10*n+600*r,a=o%600==0,h=!1;i&&(h=zf(e,bs(i,o))),s[t(416)]({title:As(o),timestamp:o,dataType:t(420),isStart:a,hasRecord:h})}return s}(t);Hf(s,function(){const t=Kf;let e=[];for(let s=0;s<24;s++){let i=s+t(398);s<10&&(i="0"+i),e.push({title:i,hour:s,min:0,second:0});for(let r=1;r<6;r++){let n=r+"0";e.push({title:i[t(407)](":00",":"+n),hour:s,min:10*r,second:0})}}return e}(),e)}function qf(t,e){const s=function(){const t=Kf;let e=arguments[t(418)]>0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(423)];for(let r=0;r<288;r++)for(let n=0;n<60;n++){let o=5*n+300*r,a=o%300==0,h=!1;i&&(h=zf(e,bs(i,o))),s[t(416)]({title:As(o),timestamp:o,dataType:"second",isStart:a,hasRecord:h})}return s}(t);Hf(s,function(){const t=Kf;let e=[];for(let s=0;s<24;s++){let i=s+t(398);s<10&&(i="0"+i),e[t(416)]({title:i,hour:s,min:0,second:0}),e.push({title:i[t(407)](t(398),":05"),hour:s,min:5,second:0});for(let r=1;r<6;r++){let n=r+"0",o=r+"5";e.push({title:i.replace(t(398),":"+n),hour:s,min:10*r,second:0}),e[t(416)]({title:i.replace(":00",":"+o),hour:s,min:10*r+5,second:0})}}return e}(),e)}function Jf(t){const e=$f,s=Math[e(135)](t/3600),i=Math.floor((t-3600*s)/60),r=Math[e(135)](t-3600*s-60*i);return(s>0?[s,i,r]:[i,r])[e(131)]((t=>t<10?"0"+t:String(t)))[e(132)](":")}function Xf(t,e,s){const i=$f,r=t[i(140)],{left:n}=r[i(134)](),o=Me((ze()?s[i(136)][0][i(139)]:s[i(141)])-n,0,r.clientWidth),a=parseInt(o/r[i(133)]*e,10);return{second:a,time:Jf(a),width:o,percentage:Me(o/r[i(133)],0,1)}}function Zf(){const t=["getBoundingClientRect","floor","touches","33atADmS","20zemXUE","clientX","$playbackProgress","pageX","3006ABmgyH","967560MfHQot","48feTWRx","firstElementChild","1392300bIbSPe","494292hqHsyL","12RLMhGe","40954sLCmgl","remove","9544elmZsi","428695NxnUnE","23480zUTNFI","map","join","clientWidth"];return(Zf=function(){return t})()}function $f(t,e){const s=Zf();return($f=function(t,e){return s[t-=131]})(t,e)}function tm(t,e){return Me(t/e,0,1)}function em(){const t=["3xFhbEr","parentNode","getComputedStyle","replaceChild","documentElement","211wFXNlD","aria-label","forEach","8322wpwuch","8874616eDApAv","keys","beforeend","max","left","width","data-balloon-pos","786380QxTaGT","lastElementChild","insertAdjacentHTML","innerHeight","afterbegin","clientHeight","style","lastChild","innerWidth","removeChild","appendChild","indexOf","from","1373712SXUsxi","getBoundingClientRect","createElement","3742sBLUow","contains","getPropertyValue","classList","top","firstChild","418kkknER","remove","querySelector","height","4960nbQEVE","clientWidth","14264EGdAFs","12555774OcpmWB","length","firstElementChild","108sDwLDF"];return(em=function(){return t})()}function sm(t,e){return t[am(332)].add(e)}function im(t,e){const s=am;return t.classList[s(336)](e)}function rm(t,e){const s=am;return t[s(332)][s(330)](e)}function nm(t,e){const s=am;return e instanceof Element?t[s(323)](e):t.insertAdjacentHTML(s(357),String(e)),t[s(363)]||t[s(320)]}function om(t,e,s){const i=am;return t&&t[i(319)]&&cs(e)&&(t[i(319)][e]=s),t}function am(t,e){const s=em();return(am=function(t,e){return s[t-=317]})(t,e)}function hm(t,e){const s=am;return t.composedPath&&t.composedPath()[s(324)](e)>-1}function cm(t){const e=am;let s=!1;return t&&t.parentNode&&(t[e(347)][e(322)](t),s=!0),s}function lm(){const t=['\n
      \n
      \n MSE待解码帧 ',"tenMin","playVodWaiting","\n\n ","showBandwidth","$poster",'\n
      \n
      \n 视频格式 ',"isInitPlayer","dataset","transform","$playbackNarrow",'\n
      \n 可能内存泄漏 是}\n
      \n ',"wcsDecodeDiffTimes","vbps","px)","normal",".jb-pro-speed-menu-item","$faceDetect",'
      \n
      \n
      \n 视频帧率(fps) ','
      \n 是否超过一倍率推流 是\n
      \n ','
      \n
      \n
      \n 解码(ms) ',"playFailedAndPausedShowPlayBtn","playVodTimeCache","totalDuration","pTs","$speedMenuList","videoTimestamp","extendBtnList","usedJSHeapSize",'\n
      \n
      \n 视频码率(bit) ',"showPrecisionBtn","halfHour","beforeend",'\n
      \n
      \n 解封装(ms) ',"encType","demuxTimestamp","streamQuality","operateBtns","decodeTimestamp","hlsDemuxVideoLength","top","playVodEndedAndShowPlayBtn","mseStore","quality","defaultView",'\n
      \n 固定FPS ',"isDropping",'
      \n HLS缓冲时长(ms) ',"classList","isAliyunRtc","msePendingBuffer","mseDecodeAudio","useWebFullScreen","playVodSeekEnd","scaleConfig","webFullscreen","playbackConfig","getCpuLevel","playing","setAttribute","tabindex","controlsRightRect","$volumeOn","1083696EeszuH","getRecordingDuration",'\n
      \n 音频显示时间(ms) ',"isPlaying",'\n
      \n
      \n 音频引擎 ',"type","scaleType","isOldHls","$volumeHandle","$ptzActive",'\n
      \n 是否在丢帧 ',"playbackTime",'\n
      \n CPU压力情况 ',"mseDelay","resize","$playbackProgressIndicator","$play","translateX(-50%) translateY(0) rotate(0)","listenWindowResizeAuoResize","showRateBtn","useMSE",'\n
      \n 待解封装数据(byte) ',"playType",'\n
      \n 服务器信息 ',"$recordingTime","playbackPause",'\n
      \n
      \n ',"hasControl","label","off","jb-pro-object-",".jb-pro-scale-menu-item","recording",'
      \n
      \n
      \n 音频缓冲帧 ',"playVodEnded","getCanvasRenderType","isShowZoomingUI",'\n
      \n
      \n 视频待渲染帧 ',"\n ","droppedVideoFrames","$performance","isAudioPlaybackRateSpeed","data","$tipsMessage","$loading","$iconWrap",'\n
      \n
      \n videoBuffer缓存时间(ms) ',"getControlHeight","9001144NluQoL","remove loading bg image",'倍\n
      \n
      \n 播放模式 ',"hasVideo","streamResponseTimestamp","destroys","rect","isUseHls265",'\n
      \n
      \n 开始请求地址(ms) ',"loading",'\n
      \n UUid ',"$zoomStop","object",'\n
      \n WCS解码间隔(ms) ',"recordingTimestamp","Control","isWebrtcH264","$record","defineProperty","\n
      \n ","jb-pro-speed-menu-item-active","getStreamType","cancelAnimationFrame"," / ","$playbackCurrentTime","scale","getRenderType","9jVSFBi",'
      \n
      \n
      \n 可使用的内存 ','\n
      \n
      \n 已使用的内存 ',"px) translateY(","\n
      \n ","totalDelayTs","isAudioNotMute","useWCS","true","text/html","block","$loadingBgImage",'
      \n
      \n
      \n 视频(宽x高) ',"playbackPrecision","$container","videoInfo",'\n
      \n
      \n 解码模式 ',"load","delayTs","playVodPause","getDecodeType",'\n
      \n
      \n 最新缓冲时长(ms) ','\n
      \n 视频显示时间(ms) ',"forEach","height","_times","controlsPlaybackBtnsRect","$playbackTimeListOne","pushLatestDelay",'\n
      \n
      \n 初始化到页面渲染(ms) ',"playVodConfig","querySelectorAll","4362547RYsTyu","\n
      \n ",'\n
      \n 是否播放流畅 ',"$objectDetect","$playbackTimeScroll","value","hlsDemuxLength","rate","style","px) translateY(-","videoCurrentTimeDiff","audioBuffer","playVodTime","\n
      \n ","streamTimestamp","createdMoment","$volumeOff","controlType","$zoomControls",'\n
      \n 音视频同步时间戳(ms) ',"动态FPS","dfps",'\n
      \n
      \n ",'
      \n
      \n
      \n HLS待解码帧 ',"simple","$performanceActive","isEnded","translateX(","aria-hidden","getStreamFps",'\n
      \n
      \n 音频采样率 ',"is1Min","$occlusionDetectActive","$fullscreenExit","translateX(0) translateY(0) rotate(0)","isPlayback",'\n
      \n
      \n 总延迟(网络+解码)(ms) ',"audioBufferDelayTs","remove","$playbackTimeListSecond","$ptz","rateConfig","controlsPlaybackTimeInner",'\n
      \n 解码前-解码后延迟(ms) ',"renderedVideoFrames",'\n
      \n 音频码率(bit) ',"$playbackCurrentTimeText","$faceDetectActive","_opt",'\n
      \n MSE缓冲时长(ms) ',"$playbackTimeInner","allTimestamp","$speedMenuItems","fps",'\n
      \n
      \n 视频录制大小 ','\n
      \n
      \n 页面开始渲染(ms) ',"showControl","getHours","insertAdjacentHTML","control","fiveMin",'\n
      \n
      \n ","18202440bIiVgU","$scaleMenuList","$volumePanel","disabled","jb-pro-fullscreen-android-rotate","width",'
      \n
      \n
      \n MSE缓存时长(s) ','\n
      \n
      \n Video已丢弃帧 ','\n
      \n
      \n 请求响应(ms) ',"emit","hidden","none","stats","find","videoCurrentTime","\n
      \n ","is60Min",'\n
      \n 播放倍率 ',"isStreamTsMoreThanLocal","$recordStop","jsHeapSizeLimit","hlsDelay","totalJSHeapSize","_serverInfo","volumechange","playVod","$volumePanelText","$playbackExpand",'\n
      \n
      \n 音频缓冲时长(ms) ',"kBps","zooming","video","$speed",'\n
      \n 解封装模式 ',"absolute","0 KB/s","faceDetectActive",'\n
      \n 渲染引擎 ',"oneHour","kbpsShow","$ptzControl","calc(","showPerformance","length","$qualityMenu",'\n
      \n
      \n 音频待解码帧 ',"$performancePanel","is10Min","playbackCacheDataDuration","5lZrezq",'\n
      \n 播放器初始化(ms) ',"getMinutes","$activeIconWrap","$scaleMenu","2124963DHOiNe","innerText",'\n
      \n 播放器版本 ',"innerHTML","rotate(0)","\n ","canvas","add","2RzhHNK",".jb-pro-quality-menu-item",'\n
      \n 视频解码时间(ms) ',"destroy","$scaleMenuItems","display","videoSmooth","flex","
      \n ","maxFps","playVodRateChange","% - ","100%","jb-pro-quality-menu-item-active",'\n
      \n 网速 ','\n
      \n
      \n 解码帧率(fps) ',"playback","mseVideoBufferDelayTime","objectDetectActive","3459462uKSkWl","demuxBuffer","$playBig","固定FPS","netBuf","channels","audioSyncVideo","isPlayVod","showAfterLoading","change","fullscreen","jb-pro-ptz-controls-show",'\n
      \n Video已渲染帧 ',"$loadingBg","changePercisitionInterval","\n
      \n ","$playbackProgressTime",'\n
      \n 网络请求组件 ',"mseDecodePlaybackRate","androidMobileFullscreenRotate","$zoom","removeLoadingBgImage",'\n
      \n
      \n MSE解码时间(ms) ',"jb-pro-scale-menu-item-active","isPlayer","playingTimestamp","rafId","$speedText","129777RiUhSk","abps","push","playVodSeek","mseTs"];return(lm=function(){return t})()}function dm(t,e){const s=lm();return(dm=function(t,e){return s[t-=248]})(t,e)}!function(t,e){const s=Kf,i=t();for(;;)try{if(853509===-parseInt(s(404))/1+-parseInt(s(400))/2+parseInt(s(383))/3*(-parseInt(s(386))/4)+-parseInt(s(405))/5+parseInt(s(402))/6*(parseInt(s(414))/7)+parseInt(s(411))/8*(-parseInt(s(397))/9)+parseInt(s(412))/10*(parseInt(s(395))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Gf),function(t,e){const s=$f,i=t();for(;;)try{if(371287===parseInt(s(149))/1*(parseInt(s(138))/2)+parseInt(s(148))/3*(parseInt(s(153))/4)+parseInt(s(152))/5*(-parseInt(s(144))/6)+parseInt(s(146))/7+-parseInt(s(151))/8*(-parseInt(s(142))/9)+-parseInt(s(143))/10+parseInt(s(137))/11*(parseInt(s(147))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Zf),function(t,e){const s=am,i=t();for(;;)try{if(954958===parseInt(s(351))/1*(-parseInt(s(329))/2)+parseInt(s(346))/3*(parseInt(s(341))/4)+-parseInt(s(339))/5*(parseInt(s(354))/6)+-parseInt(s(342))/7+parseInt(s(355))/8+parseInt(s(345))/9*(-parseInt(s(362))/10)+parseInt(s(335))/11*(parseInt(s(326))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(em),function(t,e){const s=dm,i=t();for(;;)try{if(604325===parseInt(s(437))/1+-parseInt(s(390))/2*(-parseInt(s(382))/3)+parseInt(s(505))/4+parseInt(s(377))/5*(-parseInt(s(409))/6)+-parseInt(s(612))/7+-parseInt(s(553))/8+parseInt(s(580))/9*(parseInt(s(328))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lm);var um=(t,e)=>{const s=dm,{events:{proxy:i}}=t;let r=null,n=null,o=null,a=null;if(t[s(305)][s(523)]){r=document.createElement(s(565)),n=s(535)+Gs(),r[s(501)](s(285),s(588)),r[s(501)](s(502),-1),r.setAttribute("id",n),r[s(510)]=s(589),r[s(547)]="about:blank",Fe(r,{display:s(590),position:s(362),top:"0",left:"0",height:s(402),width:s(402),overflow:s(338),pointerEvents:s(339),zIndex:"-1"}),o=t.width,a=t[s(604)];const e=$e((()=>{const e=s;(t[e(333)]!==o||t.height!==a)&&(o=t[e(333)],a=t.height,t[e(337)](B[e(519)]))}),500);i(r,s(597),(()=>{const t=s;i(r.contentDocument[t(486)],t(519),(()=>{e()}))})),t[s(594)][s(263)](r)}t.on(B[s(393)],(()=>{const e=s;if(r)try{if(!cm(r)){const s=t.$container.querySelector("#"+n);s&&t[e(594)]&&t[e(594)].removeChild(s)}}catch(t){}d&&(clearInterval(d),d=null),p=null,m=null,g=0,r=null,n=null,o=null,a=null})),t.on(B[s(352)],(()=>{!function(t){const i=s;if(0===t)Fe(e[i(504)],i(395),i(339)),Fe(e[i(253)],i(395),"flex"),Fe(e[i(513)],i(482),"48px");else if(e.$volumeHandle&&e[i(330)]){const s=Oe(e[i(330)],i(604))||60,r=Oe(e.$volumeHandle,i(604)),n=s-(s-r)*t-r;Fe(e.$volumeHandle,"top",n+"px"),Fe(e[i(504)],i(395),"flex"),Fe(e[i(253)],i(395),i(339))}e[i(354)]&&(e.$volumePanelText[i(385)]=parseInt(100*t))}(t.volume)})),t.on(B.loading,(i=>{const r=s;e[r(449)]=!1,Fe(e[r(549)],r(395),r(i?397:339)),(Js(t[r(305)].backgroundLoadingShow)&&qs(i)||Js(i))&&Fe(e.$poster,r(395),r(339)),i&&(Fe(e[r(411)],r(395),r(339)),Fe(e[r(548)],"display",r(339)),e[r(469)][r(603)]((t=>{const e=r;t.createdMoment===Ut[e(562)]&&(t.$iconWrap&&Fe(t[e(550)],e(395),"flex"),t[e(380)]&&Fe(t[e(380)],e(395),e(339)))}))),!i&&t[r(305)][r(272)][r(417)]&&e.$extendDom&&Fe(e.$extendDom,r(395),"block"),!i&&t[r(579)]()===f.canvas&&Js(t[r(305)][r(525)])&&h()})),t.on(B[s(430)],(()=>{h()}));const h=()=>{const i=s;e[i(591)]&&e.$loadingBg&&e[i(591)][i(321)]&&(t.debugLog(i(568),i(554)),e.$loadingBgImage[i(333)]=0,e[i(591)][i(604)]=0,e[i(591)][i(321)]="",Fe(e[i(422)],i(395),"none"))},l=e=>{const i=s;ks(e)===t[i(594)]&&(t[i(419)],b(),t[i(305)][i(428)]&&ze()&&(t[i(419)]?(t[i(594)].classList[i(389)](i(332)),t.setRotate(270)):(t[i(594)][i(490)][i(295)](i(332)),t.setRotate(0)),y()))};let d=null,p=null,m=null,g=0;const y=()=>{const e=s;p=t.rect,p[e(333)]=parseInt(p[e(333)],10),p.height=parseInt(p.height,10),g=0,d=setInterval((()=>{const s=e,i=Jt.isFullscreen;m=t[s(559)],m[s(333)]=parseInt(m.width,10),m.height=parseInt(m[s(604)],10);const r={width:screen[s(333)],height:screen[s(604)]},n=m[s(333)]===p[s(333)]&&m[s(604)]===p[s(604)],o=!i||r[s(333)]-m[s(333)]<10&&r[s(604)]-m.height<10;if(n&&o||g>=5)return d&&(clearInterval(d),d=null),void S((()=>{E()}));p=m,g++}),1e3)},b=i=>{const r=s;if(Js(t[r(508)]()))return;let n=hs(i)?i:t.fullscreen;Fe(e[r(290)],r(395),r(n?397:339)),Fe(e[r(274)],r(395),n?"none":r(397))},v=()=>{const e=s;return t[e(305)][e(527)]===c.playbackTF&&t[e(305)].playbackConfig[e(313)]},S=i=>{const r=s;ze()&&e[r(270)]&&(t._opt[r(494)]||t[r(305)][r(428)])&&setTimeout((()=>{const s=r;if(t[s(419)]){const i=t[s(552)]();let r=t[s(604)]/2-t[s(333)]+i/2,n=t[s(604)]/2-i/2;if(e.$controls[s(620)][s(451)]=s(284)+-r+s(621)+n+s(326),e[s(255)]){const i=156,r=30,n=t[s(333)]/2+i/2-r/2;e[s(255)].style.transform=s(284)+-n+"px) translateY("+t.height/2+s(326)}if(e.$recording){const i=101,r=20,n=t[s(333)]/2+i/2-r/2;e.$recording.style[s(451)]=s(284)+-n+s(583)+t[s(604)]/2+s(326)}e[s(368)]&&(e[s(368)][s(620)].transform="rotate(-90deg)")}else e[s(270)][s(620)][s(451)]=s(291),e[s(255)]&&(e.$zoomControls[s(620)][s(451)]=s(522)),e[s(325)]&&(e[s(325)][s(620)].transform=s(522)),e[s(368)]&&(e.$ptzControl[s(620)][s(451)]=s(386));i&&i()}),10)};try{Jt.on(s(418),l),t.events[s(558)][s(439)]((()=>{Jt[s(534)]("change",l)}))}catch(t){}t.on(B[s(497)],(t=>{ze()&&(b(t),S((()=>{E()})))})),t.on(B[s(537)],(()=>{const i=s;t[i(500)]&&(Fe(e[i(570)],i(395),t.recording?i(339):i(397)),Fe(e[i(347)],i(395),t[i(537)]?i(397):i(339)),(t[i(305)][i(532)]||t[i(305)][i(275)])&&(Fe(e.$recording,i(395),t[i(537)]?i(397):i(339)),Js(t[i(537)])&&e[i(529)]&&(e[i(529)][i(385)]=ms(0))))})),t.on(B[s(567)],(t=>{const i=s;e[i(529)]&&(e[i(529)][i(385)]=ms(t))})),t.on(B.zooming,(()=>{const i=s;t[i(500)]&&(Fe(e[i(429)],"display",t.zooming?i(339):"flex"),Fe(e[i(564)],i(395),t[i(358)]?"flex":i(339)),(t[i(305)][i(532)]||t._opt[i(541)])&&Fe(e[i(255)],i(395),t[i(358)]?i(397):"none"))})),t.on(B.playing,(t=>{w(t)}));const w=i=>{const r=s;i?(Fe(e[r(521)],"display","none"),Fe(e.$playBig,r(395),r(339))):(t.isPlayFailedAndPaused&&Js(t[r(305)][r(463)])?(Fe(e[r(521)],"display","none"),Fe(e[r(411)],r(395),r(339))):(Fe(e[r(521)],"display",r(397)),Fe(e.$playBig,"display",r(590))),t[r(416)]()&&t[r(305)][r(483)]&&t.playVod[r(283)]()&&(Fe(e[r(521)],r(395),r(397)),Fe(e[r(411)],r(395),r(590)))),Fe(e[r(319)],r(395),r(i?397:339)),Fe(e.$screenshot,r(395),i?"flex":r(339)),Fe(e[r(570)],r(395),i?"flex":r(339)),Fe(e[r(372)],"display",i?"flex":r(339)),Fe(e.$volume,r(395),r(i?397:339)),Fe(e[r(297)],r(395),r(i?397:339)),Fe(e.$zoom,r(395),i?r(397):"none"),Fe(e[r(381)],"display",r(i?397:339)),Fe(e.$faceDetect,r(395),r(i?397:339)),Fe(e[r(615)],r(395),i?"flex":r(339)),Fe(e[r(264)],r(395),i?r(397):"none"),Fe(e.$controlHtml,"display",i?"flex":"none"),(t[r(292)]()||t[r(416)]())&&Fe(e[r(262)],r(395),r(i?397:339)),b(),e.extendBtnList[r(603)]((t=>{const e=r;t[e(252)]===Ut[e(500)]&&(t[e(550)]&&Fe(t[e(550)],e(395),e(i?397:339)),t[e(380)]&&Fe(t[e(380)],"display","none"))})),t[r(305)][r(370)]?Fe(e[r(282)],r(395),r(i?397:339)):(Fe(e.$performance,"display",i?"flex":r(339)),Fe(e[r(282)],r(395),r(339))),Fe(e[r(447)],r(395),r(339)),Fe(e[r(514)],"display",r(339)),Fe(e[r(347)],"display",r(339)),Fe(e[r(564)],r(395),r(339)),Fe(e.$faceDetectActive,r(395),r(339)),Fe(e.$objectDetectActive,r(395),"none"),!i&&(e[r(360)]&&(e.$speed.innerHTML=function(t){const e=Re;if(null==t||""===t)return"0 KB/s";let s=parseFloat(t);return s=s.toFixed(2),s+e(498)}("")),Fe(e[r(255)],r(395),"none"),Fe(e[r(325)],"display",r(339)),e.$ptzControl&&e.$ptzControl.classList[r(295)](r(420))),E(),i&&I()};t.isPlayback()&&t.on(B[s(530)],(t=>{w(!t)})),t.on(B[s(357)],(i=>{const r=s,n=function(t){const e=Re;if(null==t||""===t||0===parseFloat(t)||t===e(574))return e(441);const s=[e(498),e(572),"GB/s",e(683),e(436),e(523),e(590),e(599)];let i=0;const r=parseFloat(t/8);i=Math[e(494)](Math.log(r)/Math.log(1024));let n=r/Math[e(578)](1024,i);return n=n.toFixed(2),n+(s[i]||s[0])}(i);e[r(367)]=n,t._opt[r(446)]&&(e[r(360)]&&(e[r(360)].innerHTML=n),E())}));const E=()=>{const i=s;if(v()&&t[i(305)][i(498)][i(254)]===A[i(457)]){let s=e.controlsInnerRect[i(333)]-e.controlsLeftRect[i(333)]-e.controlsRightRect[i(333)]-e[i(606)].width;ze()&&t[i(497)]&&(s=e.controlsInnerRect[i(604)]-e.controlsLeftRect[i(604)]-e[i(503)].height-e.controlsPlaybackBtnsRect.height),e[i(307)].style[i(333)]=s+"px"}},I=()=>{const i=s;if(!v()||t[i(305)][i(498)][i(254)]!==A[i(457)])return;const r=e[i(577)][i(620)].left;let n=parseInt(r,10);const o=e[i(299)][i(333)];n=n-o/2>0?parseInt(n-o/2,10):0,e[i(307)].scrollLeft=n};if(v()){const i=()=>{const i=s;if(v()){let s=0;const r=t.playback&&t[i(406)][i(434)];if(r){const n=new Date(r),o=n[i(314)](),a=n[i(379)](),h=n.getSeconds();t[i(406)][i(344)]?s=60*o+a:t[i(406)].is30Min?s=2*(60*o+a)+parseInt(h/30,10):t[i(406)][i(375)]?s=6*(60*o+a)+parseInt(h/10,10):t[i(406)].is5Min?s=12*(60*o+a)+parseInt(h/5,10):t.playback[i(288)]&&(s=60*(60*o+a)+parseInt(h,10)),e[i(577)].style.left=s+"px"}}},r=t=>{const i=s;e[i(452)].classList[i(295)](i(331)),e.$playbackExpand[i(490)].remove(i(331)),t===et[i(366)]&&e.$playbackNarrow[i(490)][i(389)](i(331)),t===et[i(317)]&&e[i(355)][i(490)][i(389)](i(331))};t.on(B[s(516)],(r=>{const n=s;if(t[n(305)].playbackConfig[n(254)]===A.normal)e[n(303)]&&(e[n(303)].innerText=qe(r,"{h}:{i}:{s}")),i();else if(t._opt.playbackConfig.controlType===A[n(281)]){const s=tm(r,t.playback[n(465)]);e[n(271)].style[n(333)]=100*s+"%",e[n(520)][n(620)][n(322)]=n(369)+100*s+n(401)+7+n(456),e[n(425)].innerText=Jf(r)+n(576)+Jf(t[n(406)][n(465)])}})),t.on(B[s(593)],((n,o)=>{const a=s;v()&&t[a(305)].playbackConfig.controlType===A[a(457)]&&(e.$playbackTimeScroll[a(490)].remove(st[a(366)],st[a(473)],st[a(317)],st[a(443)]),e[a(616)][a(490)][a(389)](st[n]),e[a(435)]&&(window[a(575)](e[a(435)]),e[a(435)]=null),e[a(423)]&&(clearTimeout(e.changePercisitionInterval),e[a(423)]=null),e.$playbackTimeListOne.innerHTML="",e[a(296)][a(385)]="",e[a(423)]=setTimeout((()=>{const s=a;switch(e[s(607)][s(385)]="",e.$playbackTimeListSecond[s(385)]="",n){case et.oneHour:Wf(o,e);break;case et[s(473)]:Qf(o,e);break;case et[s(443)]:Yf(o,e);break;case et[s(317)]:qf(o,e)}i(),t._opt[s(498)][s(472)]&&r(n),I()}),16))})),t.on(B.resize,(()=>{S((()=>{E()}))})),t.on(B.playbackTimeScroll,(()=>{I()})),E()}if(t[s(416)]()&&(t.on(B[s(599)],(t=>{w(!t)})),t.on(B[s(249)],(i=>{const r=s,n=tm(i,t[r(353)][r(465)]);e[r(271)].style[r(333)]=100*n+"%",e[r(520)][r(620)].left="calc("+100*n+r(401)+7+r(456),e[r(425)][r(383)]=Jf(i)+r(576)+Jf(t.playVod.totalDuration)})),t.on(B[s(464)],(t=>{const i=s;e.$playbackProgressCache[i(620)][i(333)]=100*t+"%"})),t.on(B[s(444)],(()=>{const t=s;Fe(e[t(549)],t(395),"flex")})),t.on(B.playVodCanplay,(()=>{const t=s;Fe(e.$loading,t(395),t(339))})),t.on(B[s(440)],(()=>{const t=s;Fe(e[t(549)],t(395),t(397))})),t.on(B[s(495)],(()=>{const t=s;Fe(e.$loading,"display",t(339))})),t.on(B[s(539)],(()=>{const i=s;e[i(271)][i(620)][i(333)]=i(402),e.$playbackProgressIndicator.style[i(322)]=i(369)+100+i(401)+7+i(456),e[i(425)][i(383)]=Jf(t.playVod.totalDuration)+i(576)+Jf(t[i(353)][i(465)])}))),t._opt[s(479)].quality&&t._opt[s(320)][s(371)]>0){t.on(B.streamQualityChange,(t=>{i(t)}));const i=t=>{const i=s;e[i(258)][i(383)]=t,e[i(276)][i(603)]((e=>{const s=i,r=e[s(450)][s(485)];e.classList.remove(s(403)),r===t&&e[s(490)][s(389)](s(403))}))};(()=>{const i=s,r=t._opt[i(320)]||[];let n="";r[i(603)]((t=>{const e=i;n+=e(256)+t+'">'+t+e(398)})),n&&(e.$qualityMenuList[i(315)]("beforeend",n),Object.defineProperty(e,i(276),{value:t[i(594)][i(611)](i(391))}))})(),t[s(478)]&&i(t[s(478)])}if(t[s(305)][s(479)][s(578)]&&t[s(305)][s(496)][s(371)]>0){t.on(B.viewResizeChange,(t=>{i(t)}));const i=i=>{const r=s,n=t[r(305)][r(496)][i];e[r(257)][r(383)]=n,e[r(394)][r(603)]((t=>{const e=r,s=t[e(450)][e(578)];t.classList.remove("jb-pro-scale-menu-item-active"),Xe(s)===Xe(i)&&t[e(490)].add(e(432))}))};(()=>{const i=s,r=t[i(305)][i(496)]||[];let n="";r[i(603)](((t,e)=>{const s=i;n+=s(268)+e+'">'+t+s(398)})),n&&(e[i(329)][i(315)](i(474),n),Object[i(571)](e,"$scaleMenuItems",{value:t.$container[i(611)](i(536))}))})(),i(t[s(511)])}if(t[s(292)]()&&t[s(305)][s(498)][s(524)]&&t[s(305)].playbackConfig[s(298)][s(371)]>0){t.on(B.playbackRateChange,(t=>{i(t)}));const i=i=>{const r=s,n=t[r(305)][r(498)][r(298)][r(341)]((t=>Xe(t[r(617)])===Xe(i)));n&&(e[r(436)].innerText=n[r(533)],e[r(309)].forEach((t=>{const e=r,s=t[e(450)][e(260)];t[e(490)][e(295)](e(573)),Xe(s)===Xe(i)&&t[e(490)][e(389)](e(573))})))};(()=>{const i=s,r=t._opt.playbackConfig[i(298)];let n="";r.forEach(((t,e)=>{const s=i;n+=s(318)+t[s(617)]+'">'+t[s(533)]+"
      \n "})),n&&(e.$speedMenuList[i(315)](i(474),n),Object[i(571)](e,i(309),{value:t.$container[i(611)](i(458))}))})();const r=t[s(406)]?t[s(406)][s(269)]:1;i(r)}if(t[s(416)]()&&t._opt[s(610)].showRateBtn&&t._opt.playVodConfig[s(298)][s(371)]>0){t.on(B[s(400)],(t=>{i(t)}));const i=i=>{const r=s,n=t._opt[r(610)].rateConfig[r(341)]((t=>Xe(t[r(617)])===Xe(i)));n&&(e[r(436)][r(383)]=n.label,e.$speedMenuItems[r(603)]((t=>{const e=r,s=t[e(450)][e(260)];t[e(490)][e(295)](e(573)),Xe(s)===Xe(i)&&t[e(490)][e(389)](e(573))})))};(()=>{const i=s,r=t[i(305)].playVodConfig[i(298)];let n="";r[i(603)](((t,e)=>{const s=i;n+=s(318)+t[s(617)]+'">'+t.label+s(398)})),n&&(e[i(467)][i(315)]("beforeend",n),Object.defineProperty(e,i(309),{value:t[i(594)][i(611)](i(458))}))})();const r=t[s(353)]?t[s(353)][s(269)]:1;i(r)}t.on(B[s(340)],(function(){const i=s;let r=arguments[i(371)]>0&&void 0!==arguments[0]?arguments[0]:{};if(t[i(305)][i(370)]){Fe(e[i(374)],i(395),"block"),e.$performancePanel[i(385)]="";const s=Ve,n=$s(),o=t[i(499)](),a=cs(o)&&-1!==o?""+Et[o]:"",h=t[i(359)]&&t.video[i(595)]||{},c=t[i(324)]&&t.audio.audioInfo||{},l=t[i(605)]||{},d=t[i(579)](),p=t[i(540)](),m=t[i(600)](),g=t.getDemuxType(),A=t[i(574)](),y=t.getAudioEngineType();let b=t[i(506)](),v=t.getRecordingByteLength();const S=t[i(546)](),w=t.videoIframeIntervalTs;b=ms(b),v=ts(v);const E=t[i(292)]()?"录播":"直播";let I=r[i(488)];const T=t[i(305)][i(525)]&&t[i(305)][i(493)],k=t[i(316)]?t.control[i(367)]:i(363),_=t[i(323)](),C=t[i(351)]||"",R=i(384)+s+"
      \n
      \n "+(C?i(528)+C+"
      \n
      \n ":"")+i(387)+(t._opt.isMulti?i(563)+t[i(305)].debugUuid+i(424):"")+i(387)+(t.isInMulti()?'\n
      \n 窗口下标 '+t[i(305)].multiIndex+i(424):"")+"\n "+(n?'\n
      \n 内存大小限制 '+ts(n[i(348)])+i(581)+ts(n[i(350)])+i(582)+ts(n[i(470)])+i(424):"")+i(387)+(a?i(517)+a+i(584):"")+i(445)+(n&&n[i(470)]>n[i(350)]?i(453):"")+'\n\n
      \n 播放模式 '+E+i(250)+(t[i(292)]()?i(345)+t.playback[i(619)]+i(555)+(t[i(406)][i(259)]?i(412):i(266))+i(279)+(t[i(406)][i(259)]?i(487)+t.video[i(286)]()+"\n
      \n ":"")+i(543):"")+i(361)+u[g]+i(596)+m+'
      \n
      \n
      \n 渲染组件 '+d+i(250)+(d===f[i(388)]?i(365)+p+i(424):"")+i(426)+A+i(448)+(h[i(476)]||"-")+i(592)+(h[i(333)]||"-")+"x"+(h[i(604)]||"-")+"\n
      \n "+(t[i(433)]()?'\n
      \n 视频GOP(ms) '+(w||"-")+i(343):"")+'\n
      \n 音频格式 '+(W[c[i(476)]]||"-")+i(509)+(y||"-")+'\n
      \n
      \n 音频通道 '+(c[i(414)]||"-")+i(287)+(c.sampleRate||"-")+i(250)+(t[i(433)]()?i(378)+l.playTimestamp+i(561)+l[i(251)]+i(336)+l[i(557)]+i(475)+l[i(477)]+i(462)+l[i(480)]+i(312)+l[i(468)]+i(609)+l[i(308)]+i(424)+(t[i(537)]?'\n
      \n 视频录制时间 '+b+i(311)+v+i(613):"")+i(387):"")+i(302)+r[i(438)]+i(471)+r[i(455)]+i(460)+r[i(310)]+'\n
      \n
      \n 视频峰值帧率(fps) '+r[i(399)]+i(405)+r[i(267)]+i(538)+r[i(248)]+i(356)+r[i(294)]+i(250)+(t[i(433)]()?'\n
      \n 视频待解码帧 '+r[i(410)]+"\n
      \n ":'\n
      \n 缓存时长(ms) '+r[i(376)]+i(542)+r[i(277)]+'\n
      \n
      \n 视频待解码帧 '+r[i(410)]+i(373)+r.audioDemuxBuffer+i(613))+i(526)+r.streamBuffer+i(250)+(t[i(305)][i(525)]?i(306)+r[i(518)]+i(442)+r[i(492)]+i(334)+r[i(484)]+i(431)+r[i(441)]+'\n
      \n
      \n MSE播放模式 '+(r[i(427)]>1?"加速":"正常")+i(424):"")+"\n "+(t[i(305)][i(587)]?i(566)+r[i(454)]+i(424):"")+i(387)+(t[i(512)]()?i(489)+r[i(349)]+i(572):"")+i(387)+(t[i(560)]()?'
      \n HLS缓冲时长(ms) '+r[i(349)]+i(280)+r[i(618)]+'\n
      \n
      \n HLS待解码视频帧 '+r[i(481)]+'\n
      \n
      \n HLS待解码音频帧 '+r[i(278)]+i(572):"")+i(387)+(t[i(433)]()&&_?i(421)+_[i(301)]+i(335)+_[i(544)]+i(327):"")+i(387)+(t[i(433)]()?'\n
      \n 网络延迟(ms) '+r[i(413)]+'\n
      \n
      \n 缓冲时长(ms) '+r.buf+i(601)+r[i(608)]+i(584):"")+"\n "+(t[i(305)][i(525)]||t[i(569)]()||t[i(491)]()?'\n
      \n video显示时间(s) '+r[i(342)]+'\n
      \n
      \n video间隔时间(s) '+r[i(622)]+i(551)+r[i(407)]+i(584):"")+i(602)+(r.currentPts||r.ts)+i(250)+(t[i(305)].hasAudio&&t[i(586)]()&&Js(T)?i(507)+r.audioTs+i(279)+(t[i(305)][i(556)]?i(265)+r[i(415)]+"\n
      \n ":"")+'\n
      \n 音频播放模式 '+(S?"加速":"正常")+"\n
      \n ":"")+i(392)+r[i(273)]+i(250)+(t[i(433)]()?i(300)+r[i(598)]+i(293)+r[i(585)]+"
      \n
      \n ":"")+"\n "+(t[i(433)]()&&r[i(346)]?i(461):"")+i(387)+(t[i(433)]()?i(614)+r[i(396)]+i(424):"")+"\n "+(t[i(433)]()?i(515)+I+i(424):"")+i(404)+k+'
      \n
      \n
      \n 播放时长(s) '+ms(r[i(466)])+i(531);e[i(374)].insertAdjacentHTML(i(474),R)}else e[i(374)].innerHTML="",Fe(e.$performancePanel,i(395),"none")})),t.on(B[s(261)],(t=>{const i=s;Fe(e[i(545)],"display",i(t?339:397)),Fe(e.$performanceActive,i(395),i(t?397:339))})),t.on(B[s(364)],(t=>{const i=s;Fe(e[i(459)],i(395),t?"none":i(397)),Fe(e[i(304)],"display",t?i(397):"none")})),t.on(B[s(408)],(t=>{const i=s;Fe(e.$objectDetect,i(395),t?"none":i(397)),Fe(e.$objectDetectActive,i(395),i(t?397:339))})),t.on(B.occlusionDetectActive,(t=>{const i=s;Fe(e[i(264)],i(395),i(t?339:397)),Fe(e[i(289)],i(395),i(t?397:339))}))};function pm(){var t=["3001026WZNDwR","413256MJdKHi","controlsPlaybackBtnsRect","$playbackTimeInner","426555QvREBz","17027kqzAIb","544145rznAHv","defineProperty","$controls","19260MBlUSV","$controlsPlaybackBtns","28FeMkOe","440460GCiIJD","getBoundingClientRect","controlsRect","controlsPlaybackTimeInner","$controlsLeft","controlsInnerRect","$controlsInner","$controlsRight","controlsRightRect","1448VXPNXR"];return(pm=function(){return t})()}function fm(t,e){var s=pm();return(fm=function(t,e){return s[t-=126]})(t,e)}!function(t,e){for(var s=fm,i=t();;)try{if(260260===-parseInt(s(135))/1*(-parseInt(s(141))/2)+parseInt(s(134))/3+parseInt(s(131))/4+-parseInt(s(136))/5+-parseInt(s(142))/6+-parseInt(s(130))/7+-parseInt(s(129))/8*(-parseInt(s(139))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pm);function mm(){const t=["cruiseStop","dataset","preventDefault","isFocus","fullscreen","isDroging","mousedown","mouseout","length","$zoomNarrow","arrow","click","8087830UCWXnn","flex","zoomExpand","$playBig","ptzStopEmitDelay","playbackConfig","jb-pro-ptz-bg-active-show","fullscreenExitFn","$record","zoom","streamQuality","$ptzFocusNear","downloadMemoryLog","mouseup","$objectDetect","none","ptzSupportDraggable","pauseForControl","$objectDetectActive","fiStop","$tipsMessageClose","$playbackProgressTip","$ptzBgActive","1438182rRrfpX","offsetTop","mousemove","playForControl","$ptzApertureNear","$ptzFogClose","$fullscreen","narrowPrecision","ptzFogShow","tempPtzPosition","touches","$ptzActive","zoomNarrow","percentage","isInWebFullscreen","_opt","detail","$qualityMenuList","$volumePanelWrap","$ptzNarrow","audio","left","fullscreenFn","seek","screenshotFn","recordStopFn","$ptzWiperClose","stopPropagation","ptzFocusShow","jb-pro-ptz-control-","fogClose","offsetLeft","_lastVolume","$speedMenuList","$occlusionDetectActive","$tipsMessageContent","$playbackTimeInner","fogOpen","wheel","$volumeHandle","playbackPause","mouseover","clientWidth","jb-pro-ptz-bg-active-","$volumeOn","$tipsMessage","lastVolume","grab","controlAutoHide","ptz","$controls","jb-pro-volume-panel-wrap-show","div.jb-pro-quality-menu-item","isPlayVod","totalDuration","$play","setScaleMode","playFn","showRateBtn","$screenshot","63952aVECmU","div.jb-pro-playback-time-minute-one","target","speed","second","isInitPlayer","$ptzControl","apertureFar","319021EsPRWd","objectDetect","$qualityMenu","$ptzApertureFar","$zoom","$volumeOff","innerHTML","close","screenshot","251622trLWSj","apertureNear","pauseFn","togglePerformancePanel","ptzClickType","$ptzExpand","add","$ptz","$close","stop","display","mouseDownAndUp","78272TelmYS","$playbackProgress","down","wiperClose","jb-pro-ptz-controls-show","174nAtHkZ","aiFace","$performanceActive","composedPath","height","focusFar","$ptzWiperOpen","contextmenu","forEach","isVolumeDroging","$occlusionDetect","playVodPause","matches","div.jb-pro-speed-menu-item","12YBnsdY","$ptzFogOpen","cursor","$faceDetectActive","$scaleMenuList","$recordStop","ptzCruiseShow","jb-pro-scale-menu-shown","$speedMenu","supportWheel","playType","ptzApertureShow","expandPrecision","200aeKMSO","playbackTF","hasControl","playVodForward","performance","$playbackProgressIndicator","controlType","catch","classList","playback","$ptzControlCircular","video","doDestroy","$container","$volume","playVod","120WrYpKS","playbackPreRateChange","resumeAudioAfterPause","indexOf","6nNnRaW","quality","faceDetect","isPtzControlDroging","occlusionDetect","$performance","$recordingStop","aiOcclusion","jb-pro-quality-menu-shown","$scaleMenu","$playbackNarrow","zooming","focusNear","top","recording","scale","$zoomExpand","$faceDetect","ptzZoomShow","getBoundingClientRect","$ptzFocusFar","style","remove","playVodConfig","clientY","$volumePanel","then","$zoomStop","volume","recordFn","play","15494622bpUUIz","emit","jb-pro-speed-menu-shown","block","$logSave","$playbackExpand","controlAutoHideDelayTime"];return(mm=function(){return t})()}function gm(t,e){const s=mm();return(gm=function(t,e){return s[t-=498]})(t,e)}!function(t,e){const s=gm,i=t();for(;;)try{if(583226===parseInt(s(561))/1*(parseInt(s(634))/2)+-parseInt(s(707))/3+-parseInt(s(582))/4*(-parseInt(s(630))/5)+-parseInt(s(587))/6*(parseInt(s(553))/7)+-parseInt(s(614))/8*(parseInt(s(570))/9)+-parseInt(s(684))/10+-parseInt(s(665))/11*(-parseInt(s(601))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mm);function Am(t,e){var s=ym();return(Am=function(t,e){return s[t-=500]})(t,e)}function ym(){var t=["type","getElementsByTagName","30MjEBfw","cssText","47452ZrhnCC","4252950nOWQxI","5432OVmYDw","style","11yETZHx","1304bDFJIp","top","257105cezhQn","createElement","undefined","head","207SOSmhe","insertAt","insertBefore","22942qHcrUJ","text/css","firstChild","createTextNode","appendChild","102510lmyUnk","8479119yxosBg"];return(ym=function(){return t})()}function bm(t,e){var s=Am;void 0===e&&(e={});var i=e[s(515)];if(t&&typeof document!==s(512)){var r=document[s(513)]||document[s(500)](s(513))[0],n=document[s(511)](s(506));n[s(524)]=s(518),i===s(509)&&r[s(519)]?r[s(516)](n,r[s(519)]):r[s(521)](n),n.styleSheet?n.styleSheet[s(502)]=t:n.appendChild(document[s(520)](t))}}!function(t,e){for(var s=Am,i=t();;)try{if(439519===parseInt(s(507))/1*(-parseInt(s(517))/2)+parseInt(s(514))/3*(-parseInt(s(503))/4)+-parseInt(s(510))/5*(-parseInt(s(501))/6)+parseInt(s(505))/7*(-parseInt(s(508))/8)+parseInt(s(504))/9+parseInt(s(522))/10+parseInt(s(523))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ym);function vm(){const t=["arrowUp","getAttribute","fullscreen","arrowDown","keydown","preventDefault","1530046EzfMCc","9astOpT","796240UJBVit","246638OvMPuJ","38187EoVxOt","13768150NQJoxS","toUpperCase","568DprJHA","23116aVHPig","activeElement","esc","push","isFocus","TEXTAREA","230339bUPSzt","keyCode","contenteditable","12HsBBfP","INPUT","volume"];return(vm=function(){return t})()}function Sm(t,e){const s=vm();return(Sm=function(t,e){return s[t-=237]})(t,e)}bm('@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@-webkit-keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}@keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}.jb-pro-container video::-webkit-media-controls{display:none!important}.jb-pro-container .jb-pro-icon{cursor:pointer;width:16px;height:16px;display:inline-block}.jb-pro-container .jb-pro-ptz-controls{position:absolute;width:156px;height:156px;visibility:hidden;opacity:0;border-radius:78px;background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%;transition:visibility .3s,opacity .3s;right:43px;bottom:135px}.jb-pro-container .jb-pro-ptz-controls.show-vertical{right:43px}.jb-pro-container .jb-pro-ptz-controls.show-vertical .jb-pro-ptz-btns{left:0;top:156px}.jb-pro-container .jb-pro-ptz-controls.show-level{right:163px}.jb-pro-container .jb-pro-ptz-controls.show-level .jb-pro-ptz-btns{min-height:156px;left:144px;top:0;display:flex;flex-direction:column;justify-content:center}.jb-pro-container .jb-pro-ptz-controls.jb-pro-ptz-controls-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-bg-active{visibility:hidden;opacity:0;width:156px;height:156px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAE4CAMAAAD4oR9YAAAAM1BMVEX///////////////////////////9HcEz///////////////////////////////////85yRS0AAAAEXRSTlO5DCgVgZBxAK2fQDRkBR5XTPLKM/gAABnnSURBVHja7F0Jkqs6DGQPO9z/tD8Jq6WWbCCvIjKfzAGmulrW3ooedr6ui+M4TdP++SXPr1l/SdL3aRrHhv7ZyA5qb9xe0L3Am+DrkzeCL/BeX908MezTuPsfOArdgl3KsZuhq99fk/Tx3waum+ByAHua5QbYilkzY1aP728YhrH5InrfBa57OLAtVjpRbYaumex04dq4APeC7vnVSfo/45bXLe33jGscMx3f0A1vyg3t69e2dRL/NeA6wrgdcCvjyPM2U25mXDt9xVD3f/qN0yi3Mm6P20S54vlXtGPS/R3GPSbYOsC4ZAvmJtiaGiL3Zlzx/Ht+Y/KXTJXbqmaqe9za1VYn3N7YpX/OVGev2qduOLIiB7xqOzGuWCiXFVmWtU3368A5lkqeOJI21I5XXaORxVRnxmUTdNnY/4U3riNvHMJts9XRtdXVUttipdzrK/4x7UyY6sK4Gbo+nU21T1zKcd9AGJetlMvyLKvj3zXVfeqQElMljINx3MK4xVQ3xj2Ry7N/6CiMOIfYyVUXWxUyBx7HuZRbcHt9bf/Lb9zsHlzKzabauJaK47iVcC7jJujS33/joKkmxDnM4QiJ4xDjZuT+DXQW3jgxV012qcPuiePhCGfchlv1/P0D6Czmqmuq2gPGkbIS8Q4ZsNU3dGP3Y2+cW1RyKpkrbAnwqhi3iXHFHrU3bFVV5c3vBsCsOALjkXErAW85F3rjFvBm5Kos+TngCOXYG7fA1ojFER7GPUHbmer0tfGPANeROM6pjvDMQSkrsWQ1d564Fbr61964TvSqDa6O0ELmAtvGuc2rrpQrn/aa/qCpYq+6mSpOVhnjWBy38u2JXFl9yL8acg6CV3Ur5yxVZfW4AsRxG+XKssz6n3njVMYR4Eg8sj1yi3tgtroxrpyhG38gc+h8PYddPQ551dVQW5jju2/cG7kXdB946Uy9cbDnQOpxuCCHcq5dHDcht8D2/K67VxPNGtLJd7qDTcgb1zLGbXEcY9z0Fd39GReTzIH1B/2lcxrGTYxj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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-up{transform:rotate(-90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left{transform:rotate(180deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-down{transform:rotate(90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-up{transform:rotate(-135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-up{transform:rotate(-45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-down{transform:rotate(135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-down{transform:rotate(45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-control{position:absolute;left:53px;top:53px;width:50px;height:50px;background:#fff;border-radius:50%;transition:left .3s,top .3s}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left{left:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-up{top:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right{left:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-down{top:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-up{top:39px;left:39px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-down{left:39px;top:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-up{top:39px;left:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-down{top:67px;left:67px}.jb-pro-container .jb-pro-ptz-icon{position:relative}.jb-pro-container .jb-pro-ptz-icon:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-btns{display:block;position:absolute;left:0;top:156px;width:156px;box-sizing:border-box;padding:0 30px}.jb-pro-container .jb-pro-ptz-btns .jb-pro-ptz-btn{display:flex;justify-content:space-between}.jb-pro-container .jb-pro-ptz-expand .jb-pro-ptz-expand-icon{display:inline-block;width:28px;height:28px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAANlBMVEVfX19fX19fX19fX19fX19fX19fX19HcExfX19fX19fX1/////Pz8+oqKjCwsKhoaHn5+eWlpaOqTaDAAAAC3RSTlP/3CaKxwJiAELtp4ri/s4AAACuSURBVCjPfZPREoUgCERXBdPRyv7/Z6/Z1aQp9oWJMyYLiKUrOIpAJBdGCldgbzBkPM/QEoTI3jBEPBRDhwEvChe08Q1Ge0ImvIq4Qj8ljrLdH77CyQPWlCdHC0Q1e9rmmuC+oQN9Q4LwcQg40L6eyqm0uEpXSUqe3fKpkkqL+Y/o+07SrahNEO0T0LBsvOitf4xsLqiNTB32wtqaVKosGLO2mhUrS93+PZ4D99wPqzMJVcbEyA8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-expand:hover .jb-pro-ptz-expand-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////i4uLZ2dnIyMjExMS8vLy+iXNeAAAACnRSTlMAYomLxwEm9+NCLo6DKwAAALNJREFUKM99k9kWgyAMRIMmEMLm/39tKaVKFJkXl3sYJ4sAXeQ3ZOcYd0+gRYblFBuFLYoS2ot5lpvYn8zJQ65TO2GVNmdCmQq/qczw4gjpejD14BgmhziEIvCjVRlPioftHW6A7xBB1a8CCUMvsuSqEkPM7eZX6h8GrQ67bYpNIbRL6rb4/k2EfVXKsgmqfQrW9qnGq96a28jGQG1ky2HXpVysyYyeDIhWq7le6ua9P36HD6+2GRi8iBZBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-narrow .jb-pro-ptz-narrow-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/9/f2/v7/y8vLUObqxAAAADXRSTlMA3IrE6SZi9wI+y0gNXAn3CgAAAI5JREFUKM+Fk1kOwyAMBQ04bJHT3P+0JVUMNMWv8zvSk1cipfjAKXHwhR7k6KTjYp7dVuWLug1XWB5wz96T/JD2O3Phmv0k5ypL6lVVFIPYpLOka5WKSSFvS0/BloHYlkza5HkMzrvVLo8ZlRr7mtFYWBBsBQ4BjC//GTxcGVw2PpOVHQ6fJj7qS4936OoN2K4e5yE6N1UAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-narrow:hover .jb-pro-ptz-narrow-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAJ1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v7X19ckk9ihAAAACnRSTlMA9+NCAsuKJsRiPv/2GwAAAJlJREFUGNNjYAAC5gxFoTYDBijw1FoFBIumQHjsUavAYGkBmGu0CgqUwRqlYNyFIO2Fq+BAnIGBJQrBXerAwLkKCUxgYELmKjBYIXMXM2Qhc5cxdCFzVzBoIXMXMYAcsRsMdgEdgs4FKT4DBqdAitGMQrMIzRkojlRB9wKaB9G8z+CMGjgshjCuMCjoWNxRAxYt2KGRYgJiAQAnZcjElaB/xwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-far .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAASFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+kpKRzc3ODg4PFxcW1tbXW1tbk5OT29vaVlZVmZmZ8vCMFAAAADHRSTlMAxGJ5Mssm9+NCiYtiH91SAAABAklEQVQoz41T7Q6DIAyEJQooUL55/zddhVazzZjdHyqXXo8DhWCYTWqltNyN+MZLuxP69UGti/vAsl6c0e4L+tQ2yv1AEbvecMhO5cXdYhk+6aO3WGrNAMwentlMz/ZAKIlNoRsqY2wtFWu9t8wasc0iYVN0LkQfrG1zbxNyrIBcntOQrH1Ukkb60QcxYF1xMA2dh8zWj6ZDsLCsIrL4Ds5Hm9FMbCEROWUB0COaLXEIZJKV7CKybGO7UuxjxY2C/TkMbxboKBQCxgMN6MCJQ6Ch/QjOZg/B13LGx8FDTe3IFvl+Bc9XBi3UWoex68qeL/vxmdyxyvz3NJ8f9dDef36HN7koIK2LjxB0AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-far:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v6cnJzr6+u/v7+xsbGlpaXNzc3b29vqh7uRAAAAC3RSTlMAyRjKA59J/3PzPhe1wxwAAAD2SURBVCjPjZPrssMgCIR1mkYtisD7P+zBCyZpM5mzv5hs0M8VnZvaok9BlXzc3FXbO5z0vtifFC5Kn8OL4UfxwVvuHm61d5Z0b6ZGZZwZpQAUosWsjVZntVS1sH3ZFo1IRVYfGXgx+VGwNkkIVbhq9/jm3cAhaNv1Uk3IA8mNn7D3kbQeWK3TLH2jCthrDFcTMwUWaKiClc9mJtJWhS3SF5BpJqMQW1b3xwnkDahMoHYomkeJRgSENA/MFsKML7fgoCBVbGvM+Cx4JcKWbWHKK/h1ZYS1Jy/nK3u8bB3KhzG5deMxtfv3aO7/Heq+9ms8h9fxHP4AHzAWU9zlWNgAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-near .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+FhYWbm5vz8/Nzc3OwsLDi4uLDw8PW1tZmZmYgm6a+AAAAC3RSTlMAYmOLx4kn9+NCIVJiPGAAAAD+SURBVCjPjVPttoMgDMOJAqOU8uH7v+qKFN2c597lF5LTJg1VqQG3aGuM1bNTV0wWDtjpg3pq+IB+npyzcIE9ejsDXzDCrjccs+tOariF3n2OLyw5xko0vh9MDjNb9Q0hp2GK3cixlIApe4/JD9appR8SFxWAUFLg6n63iB1irnY1Jv0mlrok7nUdcZRa1YeshxBA9iijChlxI6iZEaBgSEL2tkRcymPGGJpqlbZ6uDg0WR/F0DwuMpxDkYwiIXA8hO2uMJdGCCK6teB8RQoY8xGfevQjxYQt25qoRwDT25MRBjZ7GtP/P/afa3LHmrflXa+ruf661Hvv+et3eAF6Fh3v+sSUGgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-near:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZn///+qqqq9vb3z8/PMzMzo6Oja2tpXGg+mAAAACnRSTlP/JomLxwJiAONCr+rW2wAAAOtJREFUKM99U9sWhCAInEpLBS///7WLEWy7p9O8qEzCMBIOQ15DAlLYsoegS9yFMKQ93skl4Adh+ZI54Q8pG5nxgKzkgkcsk4zhmQxRyN1OPHqtncjOu5AuppcJ6s1EHTA1YzC3Wgq3YmzGqpsmlwZAo7F8oLEVKoeE6+TbSxK0JJ/3FLOwFnUxzXuoltYDDMLoAlmYXLAWIrkqbdZKs+q4KBfkNV1uwGaBim9TdLWS3R7iGRvCNTPB7JvGlc5EXK8cKbrxooint73RzXh7Msl6Oj/uT/b62O9j8sj6gMXX0Xwf6jP3Zr9DtNAHTYMMXrXSK0YAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-far .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAPFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////92dnbs7OyFhYWjo6Pe3t7Ly8uxsbG8vLyG+Q0EAAAAC3RSTlMAiWJjx9wm/0Lti7mfpe0AAADaSURBVCjPfVMJDoQgDERFC/bg8P9/XUSO6CqTqA0TptNDpSrMpC2A1btRT8wrNKzzjdo03KC3zhkLD9imbeAFhd3sG2kvZQ2v0NknfGBJZKkhBM9MxOxDKBV1N4iHi0TRHYjN01Qi7/kK2PtyNDU7DAEJgDAAN0u1jsQEFEkcVVmrqjeXrkWRmC67eqbgG7bJyvkQSQkvUvec7szpek6t9ubWJSK/uJVSm+APzHKCh++DWWuH4plQKNYOpfappcjy2VvJn9744cjGwx6uyXjBxqs5Xuqsvf/9Dj8rLhRg+bQ5VAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-far:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZmZmZn///+xsbGoqKjt7e309PTExMTQ0NDe3t774OlGAAAAC3RSTlP/itxixwImAELtp8B2gZgAAADmSURBVCjPjZMLjsUgCEVpq60G8Lf/xQ62gvNeOmZuUiWeKHC1cKnC5iJAdFuwJXgmf+xg2g//G54OPuTOCUOEL8WgMMCLwgPP+Abj2aF38CrnBR7whw6Bo4fWUk7MMrQ2OrpAq0GspTLLgKg1wTailNITZA0EaTkZGjIAY5NwlATah5CGRMJYj50tFtlWiapsLvAPRdtL/WOmET7QzZyl5ywzp7NWsjBJ1odsragJqeJ9HGFNZoLaJw71hMTm0O7NeDE1Z6YsU5rGL69sedmXXz0ToW8PzA/oV09T8OJR32fb7+B17Qe3WwtC9PVbHAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-near .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAARVBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/////t7e2dnZ3W1tbGxsa3t7eDg4Oqqqri4uKTk5NImu/5AAAADXRSTlMAYieJ3MvE/0Lti4oh87zNagAAAOtJREFUKM+NU1sOwyAMY30FtoWS8Lj/UZe2gWpVh2aJH1wcO0mNqbDj4gDc8rLmiscEDdPji3rP8IX5fXLWwQWuaVu4gbKDuyPdsJMz3GLefcIPbJ6PDCEAFDlUAJiORM3NigQFAXAFlqOeRhWJyFFIHxNGvRrN0mp470U++3axGM2RAmXcXqKnkDSN0a9WIk5Sa01MpDXBQAdVtrA8lBhFnnKpsmoo5VBrhszV0KuJ5N2tP92O50iQjpzcctravoihdoi0Q1NrfN56m0VWzFBoje+OrD/s7pr0F0yUr6s5/LvUu/bz+B2ep+IHdMIV2SUZfCsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-near:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////c3Nz09PTp6enR0dHFxcW7u7uwsLAUKT0cAAAADXRSTlMA3IrE6WIm9wI+y0gNQZpqdwAAAOdJREFUKM99U9GShCAMQ8BF3Cmlpfz/r15dAe88l8zwQiQkoRrTEa3zIXhno7lhWxcYWNbtN/fa4Q/218VFDzf4of0O8A/h3TQfOGU/ytsOj9gPVyt8warkmYEQQAgABYDxTKROz88koS6AVIB1fRCNbSI1cVUy15Jq27LGjTtyzipPeWw40/IXQkrHyZSRmqw3LaQgctFNKYzYyGACfEXossLMojFEj7J0WfdwJ3dD9uY2X25tL0Hj45mTR87Y66u9IQFsDS1bL57o7JbUDNIofvpk08eej8kTe3Hz0ZwP9UFfv8OgfgBUByCEUZhYtAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-play .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJWSURBVHgBtZe/b9pAFMefbSYWMjCjdOtmYEYqXVC3umMlBFRiT7qxkexITcdKSDUSYna2iqX+E/DG6LCQgcETUiR+5Pv8I3Kc+McF5ysZ3x2++9x79/zuLFEG9Xq9s/1+r8my/AnVJq4z/2LZfB0Oh1tFUQxd1+208aQ0GAa7kCTpMgRJk4kJXk+nU5NEoe12W8PM/wrAotIx2Z+w3MkE7XQ6Q3S4otNlY5zPUZdL7wiMBUsRIK/fDeWvhQ92XS0HrQia83cCsqoIyMug8gQ9Ho/DpF7FYpEajQa9VTBoyIZxWeEfv6IndSqVSjQYDKhcLtNqtaLtdkuigmGSZVn/XKiqqr9wqyZ1YEtbrRZVKhX3zvX1ei0Eh7Ufa7Xan8C9VRIUg9lyQZfzO19VOOugkBpAgaXRtnq97oLZ5ZvNJm0YQkBZ8m63E7YyKl5ntrrf77vlJCF/qzLlKLZ4NBqRpmmuF2LBlLOyBFYBchDKlIeWyyWNx+PUtS2Qtx+eJA6i2WzmQtMEA+8KnA+73a6N+jkJil1pGAbN5/PMfRBIZsGn3+LFvSABMYiBgpnJgZEeFHQD4EzQrOsWI4N/nrY2uPg/eeefV8WvAKfALOsWJ3jzA++rcqjhB25OXAd244nA62AjV4LGxWLhIBk/oPiF8pc9mUy+BZVnyQEzueEZUb5yjyvhBiX6BCw2YTGvdZNyAkYPZsprT/rgO/K2vDcdQQH7jes7gPcv/kvqyCcKbEVX6PxVAG76QWPGPZAIDcEZqGECTQyokpe9wp8VfNqzyA2L9M+KRzm19l1i6ZQBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-play:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ5SURBVHgBtZe7buJAFIYPjsVFAok3wBUlYcUDLNvQISUSDVVCA0IUYZ8gmzcgBeIiJLwdFau8QToaQKygovI20CJBARKX/Y/jICPAF3B+yRpjZvzNOWfOzLGLLKrZbAaXy+WdKIq32+1WcrlcQe0vZb1e/8XvQT6ff7fyLpdZh0qlEr+5uXne7XZxMpciCIKMSfzGBBSyCwVMAqxpEXYEhzdeAJYtQ2u12h2aJq4gXadSLpf7aQptNBoPm81GJofEsc5ms9/0zwT9j3K5HHUSyEJ4ovV6vXkSyjHEyvxDXyCAHxGy4hEUq+4JjWQ02O/30xV65rTbQ9lKNEWjEYFAgFKpFMViMbpQnOfFPRSKWxnldrtVaDqdpnA4THalefMDinx8sDOYrY7H45RIJOy6PMibjch3F24AJEmSeo3HY+p2u7RYLEzHwNqogOUcpSvFrk4mk5Zcjry9FZCX1+46qj5dzvEOhUKGfQVyWAyPRCLqojsnEYtohpiSE5rP59TpdEhRFMN+Itw7Q3DpGq1WKxqNRurF90YC75+gnXszulBsVbvdpl6vZwpkwasDNWVw9r3BWlu5Op1OVdBkMrEzTD11RO1exmUJytb0+30aDodkV7DyjT2rBpNrG8zg3WwQW9ZqtS4CatASt/sVhAC/GA3glWk1bqcEo+TPwm0P5QeYySt9jRS9UQe54vF4fqEZkMNCdXivrw4PoJlMZoad5IeDYE7F+0KhcPC+syVotVotIQ5PdLm4CD8CGkJZfAIhzlw3SWRdM+T9q9frLbHnTnUwrfBZfPCiecQG8v3MBHj/HvAm4/P55HMwW1C9tG8a/RmsGH1CnNJ/17UakVMOx7kAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-pause .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHySURBVHgBxZc7bsJAEIbHdprQJAU1ckln3FM4J4jTIkSMRB9uQDhBlBPECIk2yQ1MSeeIxg0KZQoKKpSCR/4xtsXTNmA7v2ThHe/ut7M7O7sIFEOGYdzO5/OSJEn3KGp4ZDy33ucxP6vVqo86H71ez47qT4iCLZfLJ0EQmhuQKNlo89rtdk06FVqtVjV49kZrr86RicG2TdMcx4LWarUWGjzT5Rqjn7tdsJAi8Ch4C4op1TGl75S8GKwCPOWC6FsRNDKAL5SOZER30HcAhbFFEUFTLBapXC5v2fL5/J7tiOCXofHLlVfikRhRrSqVChUKBXIchyaTiWtrNBruYLjM9jB5jlmup4vFQqMYyuVydKE03vsuVBTFR8pIcFD317REGQlRXBJ5PSl+iktCskgZC57eZA5l/Q/Uy4lTykjYq1++p5EHb1LC9rRdKA7dT8pO64yERG/SmVM8m81OqW7yckr8Ztv2r6Io1whnLawF59fhcLiVY0ejkWsfDAYUJfRfB+snOE85J2KRvym9RGF2Op06vwRbhg9YHgmlIz7E235B2vwC1x1VVdl7jZLT3nVF2q0BsJUg+ODFTDpU0wP3PfC5a2wB+BD7CuqLgws/TQQYn7cyxYfxfdc6ViEUujMAHUlER4cKHfhbATvPjBUG8/UH1xXJDxHoYGQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-pause:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH/SURBVHgBxVY7bsJAEJ01CAkJKUhUULmiDSnpoKYINyBuQIgi3AA4QZQKIQq4QaChhhuQCxAXSERUSDSIb944axSS+CPA5kn27o7X+2Z2dz6CXKDT6URXq1UqGAw+Hg6HDB4V4qj8rAsh9N1uN9rv971KpTJ2Wk84kW2322csVv1BYr+gEGMo8Foul7uWc6w+NJvNjKIoHXRVOgMg74K8AXLdFWm73a7BujpdDh3rZH8TCw8JLYlPSFutVh7NG10feigUetA0bcEDxZTiDFU0L+QN1M1mc1z7SBoIBGrkcGkSiQQlk8kTWSQS+SP7D3CzJ76c3A/yi61kodOP6XSaYrEYzWYzWi6XhiybzVI8HjfGLLeDNGxoWpohF8C50CXgwMK+r0gNCuQTENnyitQgRT4BQSOlyFvrKsRdCapC/uPuFqR0G1IZExfkH94NSzkHkk+Ap4wNUiTqPvmH74gUDoe7dOYWr9dr13M5sfNxBnjQ7/dXuVwuDGHG7ieOr9Pp9CTGzudzQz6ZTMgJ2FFtMBh8HvMpx0Ro/UEeBQq2slgsatw/uoxMsBp5A64WG+bgxE9LpVIPpUWDrgv7csUE4nEdlWCNPCC0JJXEF5Wg8MchHs11CWpCVvZVkBfckksyrneHVnMEuQRXitiqPBS4lwpEJYmORkc7Qju0IzPxBZ2t+3mW/JtqAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKgSURBVHgBtZe/jtpAEMYH28WJioIa+URDF8MTkAalO6cH4YIiFbk8QXS8QO6oUlCAkGjDtTRHJBoa4nQ0KBZdJApoEAV/Mp9jkAF7bXPcJ5ndtdf725nZWdYxiijDMBKr1SqhKIqKNpdms9mcRxkjFqZTsVjMy7J8x1WdL9WjC6D97Xb73G63m0HjxULAvnI1T+FlMfxBBPeEwoW73Q6we7pcViwWe8+utwKhDFQZ+IOrGr1eAH9ksOkLdSz8Rd5xu1RzBmfdFkvupwz8dmUgBENeYNAZtFQqGVwY9DZSnTVi6+Decrn8h0JYWSgUKJfLHdrL5ZKm0ykNBgOazWbCd9nNt3CzgoZjpUohlEqlKJPJHN3DJHRdp16vR51Ox/ddTiVkw70NlSTp7rRDMpmkWq1G4/HYvmANSpHghXg8To1Gw/M5W1oGVEZD07TvXNy4O8Btw+GQFouFbV06nabRaGRbhbaf8AzvTiYTr8c32Wz2p8KrSuMgJ7x6IEa4AIuivau9tNlsNGm9XqsBY9gxhOvCCi728wa7OCHhRzQAZl2pVGyXRZEoBAoFCDGs1+v2QooiUfpIHE+LBEL+VatVezVfDcp/whYJhAWBVHFvCEFCfz8op6cpORuxJRokajz98tSRae+97OJnUS/RanQLkwNQ4FrzsA2yyU0Gf/br2e12A90LlwYAkS5Pdrm/wRs+/rh1ChAshuV7wTqAQoTAarVat6gorll8YWvzXBXmbdTUcY3/sK/L+4ppmnPeF/9SCGsvAXIsH8+gDthkMFyepyuJgS0GHh3w5NNOzO0zeMHVD/R64BMDP53d93vBORW+0GVnpvmpS0NBXXDDSacwR9K5kxaPok+NUJ8VDlzlQucJvKNj63G2/U3/E78fZqx/rk0w4ggu8jUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK2SURBVHgBtVa9jtpAEB58/EqArqCBBqehorgTVDQxPVJOiD5QAEJUeYLjniBcgRACKeQJQsQDBBoqkIigookraC1BwT+ZcQBBsNd7Ovgk2LV3vd/M7PyZgBPlclnc7XZPFovFv91uRZPJdL9fktfr9W987udyuRbPWSajDUgm3d3dPSOhBMaQUaAXu93eSKVSCryVtFQqPaBWXznJNMlR8zo3aa1W+7zZbIo4vYd3QBCEQjqdfjEkrVarzyhlAa4EvOt6JpNJ6ZJWKpUnHH7A9VHMZrNfLkjJO9Ecv3Aqwg2A1osevFs4vCQP5SF0Op3g9XrPflar1egzut9vCNVHzPS3j8EkcCAcDkMgELh4PxqNoNvtwmw20/tUXC6XSRyLqqZ7LS80CgaDqiY8IEESiQSIoqi7B53qE40qqVYsolTgdrshEokAeh9IkgRGIDPTPhJYC8SD4eg3k52RQNQi7XQ66txms+kepEUcjUah2Wxqrq9Wq6h5Pp8/4CUzD1osFuqPFwfnIsE1IBKbyDqANIzFYhCPx+EtYPmCGQxAppJlGQaDAVwLaFlBgRtAx7T/SNGNZWCg1WqpoeP3+4EX0+kUJpOJNiEqKWA49HGusA6gwPd4PMCLXq+nu4bpsK+6LVV9YMDlcqnkPKD7JyF1oFD+PSSHV9ZB4/EYQqEQGGE4HEK73dZdR+Ua6nh4gWXtD3AkfCL3+XzHZ4pfyrekIQnHApr2A2oqn4YM1TvDWkr3xbozPVAxJ0KaH1MRFllSvQG3gYztz7FtOct/mLqorZDhulD2BVzWJKW2kTZckVjBnviM8IKUQBtQ40ck/w7vAIUhnvGYz+cvwpHZbGNHkcQMwtXGnICs9YrCF/Q2GHb4e3IJBxLgo44ACsY6afbT4XDUWd09N+kpqOhTDT55Jf9/Z0b4C/UJLQCcLGi1AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIjSURBVHgBtZe9UsJAEMc3l1Q0WvAA2NEp1MyInVbGnoE8AVrSqW+gT2CY4QGwpTEFNcaOEqksKKiYcYYP/xsSJoRwx8f5n7nRu9u73+7lbu8waAc5jnM6m81sIcQlqhcoOZTTsHvAZT6fv5um2XZdd6Caz1DBMNm9YRgPMYhKHhx8brVaHu0LrVQqNjx/2wOWlAtnn9MiT4VWq9VHDHii4zXAPFdJsPGPwK1gIwHk7/dC+sXgAsBjroioFZsmpznCuHKLxeIxqqwirdVqvGmcbaOy2SyVSqW1tuFwGJTRaES7CEGd8TJbXOEo4YkjG8BQ27ZT+7rdLrXbbSUcx4+P3oOIVQ4Wr0Cj0aBMJiO1Q6Q1PvsirFzSkeKVqNfrKjM+8xeCybRMbUcrn88HRSasqs2R5kijisWitB+reiKm0+mhaS5VvMwqCdIs1WYKoJZljUmj+NwqobS8D7Wp1+tJ+5EPvkWYD33SIE4S/X5faoOHgCdC+jsdKc5GnJUUGiNIzwrpbjwh76tOpxMAJ5OJyjTwKp7wP/CnvM06LeFzdPwNd4AFihL+Chom/U86/HmiAr4CGOR4M2r0fX9cKBR+8e816deg2WzeRJW15ABPXvgxRXoVPFfiDWbSAhF7iJiXvUyagMmHmZlmGYK/aXn7HPSNAWui3AH4s9EnG8ibiy94DL6l3W8jL3zvetsMpNCEAw4cKGPCc9r8WeGj/YuBMlikP+yn3EGZYjlWAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAI5SURBVHgBxZZLjtpAEIbLjUFih8QFnBUrJCIOEHOCROIACStALBhOMMwJMlkgBCyYnCDMCUJWrJCQYB+zBwkJFiBe+QvZyEz86IEezSc1dj/w76pyV5dGEnS73cR6vf4SiUQ+HY9HE0MJu5GmaSNcFrvd7hn3vXK5bIU9TwsTw8Oqh8PhzhGRoIf1tSBxX9F2u12FVfVXiL3ksVgs1khWtNVqfcfljm7HgtW5l1Zrbyh4Fo7FYh8LhcLCGRDu2U6nc69YkDG22+0v98DZ0mazaQgh/tLbUUOMHy9E8eH8treDJ8lkkgzDuBibz+c0m81otVqRBAu4+QO7WecerDSDBB3RbDbrOTcej2kwGFAIvNc5dPVTTLHpv9INpNNpyufzBEsC1yF81dOVf8KslCHIEy4SjUYjIxDLDDoGKYAtDrNW13VT7Pf7azOOJ6lUKnAeySLB7jVIIezmMAS9A/igxIIUwns3VBQ+HpFCLMsKnGcjhX0CKLF2MpnQcrkMXIPzuX+KKax9phthtw6Hw7BlVqVSGel25wntqqy02WxOFnLj+xB6/HNTwmdXTqdTGTHmfKA7lhKSxAOCbPr9g90n82X6AcGfTgVxUTngtKlD+J4UAw/2S6VSzulfJAe8SZ3fiNRiQbTgHvgvI0H4Gxb9IAVwTexVmHmmQbiCD1suHy26En7xaDSa86p/A4ttrpuIT3ohpLcTxw/tAWJ9vzUaSWCLm3DXZzS+z7hELFzYjX/i8fiTu9T04x9LgQk+PbvDKQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALxSURBVHgBtVYrrBpBFJ0FFAqBqCIrUXRBk5QaUleewBBIlwSDoW1CUlzz0CSlaJJHA8FgqMBg4CWIKkpRuEfQCDAYAvSeYYfsLgss6fYkk5ndmXvP/c1HYjaQTqdjbrf7PQ0VarLWgBW1Cdput3tutVrdW7qka5OZTEZ1uVwfaBhj9jDf7/ePzWazwe4hVFVVPhwOT3cQnRFLkvS20WjMzRMuCzKFyH7/AxkAg18oQp/ME24LsgENfcwBkJfvQqHQejqd/jr905HJGpnMHIYW3iHGp5AS2df/QabpfiKHfCdCVCN1qh1hv9/PIpEIi0ajLBgMskAgcDZfKBTMYjJVL8+nh7MeS/8ioFiQbDYbtlgseA/lXq+Xt9lsxrrdLkulUmw8Hp/poLB+JC+rkpa7FysiKEokEpyo3+/zBiIrr2EU1kKmWCxariMvsy46IRJWZFBSLpf5GApgvZUSYLlcstFoxMfwHnKQN4Mi+cYdDoe/IGpmslKpxJV0Oh223W7ZLcTjcb6uVqtxLxFayJtkfSga2Sycy+X4YnhlBzAQhGI9euTRqnhAaNjkKA5Unl0yALlD0SC0Au12m/fIvx5nRxsEYV2lUrHMgxmiYMwGwmiE1qzDrSiKSv0r8QMxF2Wdz+fZer3mhXAJCP9gMOCGAiBJJpM8h6jqXq9nWO+hLfGH9ohiVoTFIEbxwFqECMoQInwLy4V3mEMe0SB7YWtMJJzoVK7fLnkgKg65BVBM8Bj5gjHwDORoGNfrdUMu9SDnfl7d+HqAEArFCYNQYoxtAODfJSIBimTWpV2Swxt8PLwiRAgjGrwXuEVGmBNXw6MxP5KXMWYTCKs4U+2COH6g59tCu6uG7A7AYxteCcypVU+EmgVZbcJxkO4HcmplIEQuMcGOTz8nyT6T7on4Npw0mMBzgDnkqUZWNfyzWujQM/FB79lVQh2xeudbZ0VE36mvipzdRagjjtFtnSBlr9nxuS9uGCidk1HPdFp1xcvsGv4CcbeEIeSIw9MAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM0SURBVHgBtVa/SyNREJ7dBLVQELU4bdwrtFJOUCxsXEG0Ue4OK6tLKhEb/QsO/4LzChVtvGvE0sPOxtiYJuFyJBBICtOlSSAQCEnIj5tvyC676ybZYPLB4y373ptv5puZt6uQB1xeXup+v/9zs9lc4qHxK621VFAUJYbRaDSeDw4O7rvZUroQBXw+3zcm0ckbMkx8enh4+It6IWQijYlueiByI95g4oxzQXW+OD8/X1JV9e87yACNbbxeXV0dOxcUJxnn6okfx6l/OOHcnr0hhIzsFcg06jNa8obwbErKOfs+CDIhUdUbxrhJiGrknAW8HB4bGyNN02h+fp6mp6dpcnLStj46OkpbW1vOY1q5XJZ8iqTX19dPnYpkZmZGSObm5qharVI+n5cZ5ENDQzKy2SxFIhFaW1ujTCZDqVTKaabA+z4qrdy9uhHB0PLyskSTSCRkVCoV16gRLfYODw/T7e2tOOQE5zKocmRf3Mggzd7eHvEtQnd3dxSNRl3JgGKxaEaE6HEO553gOllXuQ3W3ch2d3fFyMvLS1siKxYXF0XWh4cHOYfzUMgKpE1t3Y026LouhxCVF8DBhYUFcz9m5HF7e9u5VUOV2pp8dnaWpqamPJMBKysrEh2kNRAOh2VG/q14c7XhILzb3993zYMT2IOCcTo4MTEhkqKgrPCx1gGePxgv6vW6EKJYNjc3qVQqSSG0A+RPJpPiKACS1dVVaQ9UdSwWs+33c6n+47ZYchqKx+NCvLOzI80NiWAMEkFyeM75lx5FdFhD4SCXIEJluxRbTLm4uDjmcv3RLgIYgrfILZBOpymXy0m+UImIDLLCATyHQiFbLq1gB/90bHwrcNPAILwGAaREcz8+Pso6CNsRGZDGx0eS8xXqRgh5DYkgIwZuFQPdyGACfwJ+PHGhnHKUOnkEetS4U72Co/uNWdoC3yovUVqBiD1EZW4fGRk5MwkBjjKIBRoAarXa12AwWLARIpdY4McC9RcnR0dHZjPabhosMOkG9S9S2/8MMLDfRKhljawjoYU4wNXby79OgavxJwrEyFlPhBZinasYH+pPPOMaNL4wMJphJZ553Bt/Zp3wHwTYnvHjbDCuAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANOSURBVHgBtVc9TCJBFB52r7jYyCXWnhcbO1aru8RErjGXWBxX2BijGG1svNhJo56VhQU2ViQsgdDQYEFDc5rQ0BDoaMgRGhoKaMhdCHDve+6QZVhgMfglm9mdn/e9v3kz6xEusL+/79c0bcvj8fjpc8V6gCY9VXqK3W73MZFIpN3I80wj03X9il79wh2q/X7fJAXvTdNszkQaDAZXaHF0BrIRcvLKERE/OQ3qYwh/06shXg8vRPl8PlEqlZ4nktoIV8QcgBxwItbfitBOvL6+XioWi2XZp8kXIryaN6FNdpSM8spvthRWUmPaJ25vb4vV1VVRqVSGBCwtLYm1tTUeW1hY4KfVak2hFe+J+B+5+QkfnL2Hh4fI1KAq/OLiQlxeXorl5WWxsbEhNjc3RbvdFrVajVvMkcTlclmk02nRaDTGETfJ1Z+wlTxWLP84zQoEAkwEodlslh+QqZDWY36hUGByp3m9Xu88Ho+HNaokfidCCAIh2kgkMlYQAOtyuZy4vb1lBW9ubnidCioa37klkw0nQrgWgpLJJMfXDUAOBbEO66GAAkOS+tSRk5MTXgjr4FIAMXULrIObz87O1CHv8fHxR03thXAkDhbahezt7TlpzkA8sc7uUngIQIhUgNRr70AWQsu7u7uBEPTBdaqboQTcCIUgXL4DUBzjTrHVDcP4BmVlR6fTYVLg9PSU9yC2CIghEG7HHIC2GluJOGYyGR6DYiDCGEKD/iErNS2sU238QnH9rGqDopDP5zm+EIJ3aL6zs8NEUAKCQSiVwxp4BFaHQqGRwkJoRqPRkEZ7tCjGAAJQHED28PDAVkirsX1kUcAc7FEXWc5c7+iQTltnpyMgHNYgUSSZBL5BhqTBHkVMAZnxKsijMbQ6Vf+/FFe/mFLs6/X6IJZ20t3dXXb34uIihwFuTqVSI3Mt0nPia3LtpVLot461V0FWLiiBZwzMWCx2xOSy5+DgIEya/BRvA1xfvlKxr+JjUBwola/Fy81u7iDCX5JwiJSPHNJm3sQWoTnUp06a57XFIrxW+0dug8guutM8EvEHpxPIJRDDH6qFA2UmrSSrg0SO5HJLjhDdUxue+bLtQG7QqR8ggVvC4beCFHumRMSxVJxEJvEfnFm91YrgD/sAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANwSURBVHgBtZa/SyNBFMffboJaKAS10SZ7hXqFegGbCyjmUPTAH3eHlZWmULG6u/Kqi/9BLEQRIdoKigf2l1Q2ChGtBLmtFAQloPgL1HvfRyZuJhuzBvOFzezOj/eZee/NZAzyoMXFxYjf7+99enqK8GNxlZVtyhiGYXOZ5vo/MzMzW17sGaVgPp/vN2DkTbZpmqs8wfloNJqh10AZZjEs8QpYAfzx8TE6Ozub9AQFkGf7l55dWLbYTmxqamruRehbAl8CG5UEOvTNmWSmekHCVAgIJVgB9eHHD1bJSTPp7NXe3k68Hejg4CBvdF1dHTU0NFBVVRVdXl7S/f09nZ+fl2BS4Pb29geXMXyIe5eXlxM6FMaHh4dpY2ODGhsbybIsamlpyUFQog/geE5PT2l3d5eurq6KgTPc7x22kpGN5T+3Xl1dXdTa2ipGDw8P5bm7uyvoB3hTU5P0t22b9vb2ZFIu+smxjSOmEbfW2tpaAcJgMpkUQ25ACG4+Ojqi7e1tqq6uprGxMRmvi8P1BaXJLyE34MjIiBja2dmhzs5O8iLAMUGMw3h4yCkOobDYs+YHfXAkEpGBWJ1KJMTUqzAObh4cHNSbAisrK0FTrw0Gg5I4GKiEBAmHwwUzV2pubpZJOV0KD0EIkS6TlxxwViALMcvx8fGcEdQhKzs6OvIGYxLIcEwIxuFSvEP19fXSjpzQ5RsdHf3M5XtV8fDwIFDs0f7+frq+vpYtAjAMwu3oA/X09MgqEcf9/X1pQ/wBQhuyPZ1O56/SNOO+oaGhMAM+6rM5Ozuj4+NjiS+M4B2ZGQqFBHRyckLd3d2USqWor6+Pbm5uZAySqa2tjdbX1+VbU2Z6evoX3JumIoIBHA6ATUxMyCl1cXEhQOxD1ON9c3NT9qjufl2K5a+pqdliA4liHWEc7kOiwMXOvYpvwJA02KOILwS3FoGuoTTlWDKMJJUQ4qwfDmoyAwMDkkiYIBIOsS2iJH7k7MW1JPu3VpbUyYWVw91u4oWtcjyjOSi0tLQU54bvVBnh+vKJry82PnKHAydFDI1UATFwTgHzoIgtZvPW4Cxw1VlX0YtZFhjT6wvOXrgBK+ZnjcqXimHMrbHUZXuSV43kCpE3IUTzvPfjr75s61pYWAgx/Ctndy9/WlxaCsKPzZs+xc8Ww9IvwZT+A8hTw5fcMmXrAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-arrow{cursor:pointer;position:absolute;width:0;height:0}.jb-pro-container .jb-pro-ptz-arrow-up{left:71px;top:15px;border:7px solid transparent;border-bottom:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right{top:71px;right:15px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left{left:15px;top:71px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-down{left:71px;bottom:15px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-up{transform:rotate(45deg);left:32px;top:33px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-up{transform:rotate(-45deg);right:32px;top:33px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-down{transform:rotate(45deg);left:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-down{transform:rotate(-45deg);right:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-loading-bg{display:none}.jb-pro-container .jb-pro-loading-bg,.jb-pro-container .jb-pro-poster{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-play-big{position:absolute;display:none;height:100%;width:100%;z-index:11;background:rgba(0,0,0,.4)}.jb-pro-container .jb-pro-play-big:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-position:50%}.jb-pro-container .jb-pro-play-big:hover:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==")}.jb-pro-container .jb-pro-recording{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:101px;height:20px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-recording .jb-pro-recording-red-point{width:8px;height:8px;background:#ff1f1f;border-radius:50%;-webkit-animation:magentaPulse 1s linear infinite;animation:magentaPulse 1s linear infinite}.jb-pro-container .jb-pro-recording .jb-pro-recording-time{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-recording .jb-pro-recording-stop{height:100%}.jb-pro-container .jb-pro-recording .jb-pro-icon-recordStop{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:156px;height:30px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-zoom-controls .jb-pro-icon{vertical-align:top}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-narrow{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-tips{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-expand,.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-stop2{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-loading{display:none;flex-direction:column;justify-content:center;align-items:center;position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.jb-pro-container .jb-pro-loading-text{line-height:20px;font-size:13px;color:#fff;margin-top:10px}.jb-pro-container .jb-pro-controls{background-color:#161616;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;z-index:40;left:0;right:0;bottom:0;height:38px;width:100%;padding-left:13px;padding-right:13px;font-size:14px;color:#fff;opacity:0;visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container .jb-pro-controls.jb-pro-controls-small{height:30px;padding-left:8px;padding-right:8px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-controls-item{padding:0 5px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-icon{width:14px;height:14px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-icon-text{font-size:12px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-menu-item{font-size:12px;text-align:center;width:40px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-wrap{width:40px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item{position:relative;display:flex;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen-exit,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-microphone-close,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-pause,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-play,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-quality-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record-stop,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-scale-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-screenshot,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-template-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-volume,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom-stop{display:none}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed{padding:0}.jb-pro-container .jb-pro-controls .jb-pro-controls-item-html{position:relative;display:none;justify-content:center}.jb-pro-container .jb-pro-controls .jb-pro-playback-control-time{position:relative;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-icon-mute{z-index:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom{display:flex;justify-content:space-between;height:100%}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-left,.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-right{display:flex;align-items:center}.jb-pro-container.jb-pro-controls-show .jb-pro-controls{opacity:1;visibility:visible}.jb-pro-container.jb-pro-controls-show-auto-hide .jb-pro-controls{opacity:.8;visibility:visible;display:none}.jb-pro-container.jb-pro-hide-cursor *{cursor:none!important}.jb-pro-container .jb-pro-icon-loading{width:50px;height:50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAIVBMVEVHcEx4eHh4eHh4eHh4eHh3d3d4eHh4eHh4eHh4eHh4eHiqaCaRAAAACnRSTlMAikwX3CxpwZ7zIGi5xgAAAZ9JREFUOMt9lb9Lw0AUx2Njqm4iGEqmEnBxslKUdhJctFMVcW5wKZ0CLpJJQRw6iVqQbg3FtPdX+l5+XHJ3796bQj557773fe8ujtOI+6jz5p84dHjTkYD4+RhT9CIRZWRPJr1bChnbY532GhT4oUpbI6HEuqvgIH9544dh9J4/rpr0Ms8oV3zMNT7X1MXSmaznzfHjM4n72moe5n8ryYrW9rKRvgf0S93JA7yKa9lbzUg3keJb8OVCtwkrFmoO4MnsAuj5rGqnZg+GZXUXkl9NjEui9n3YA9XgpMgakLXz6ujMTIgrCkPVv0Jil8KgKQN/wRN69hLcb1vrbR2nQkxwiZTGQ5Teb7TO8PUaS8Q03sE+zkjP8qbjzgJtEhRbV4gnlkOFeM7hDYNdxPbiYFvKSHN6L2NmY5WzMYPtplZdTxncRvn2sI+DHIoug22jWMaA12Y7BrXzrG8BX32XPMDKWVzw1bdMOnH1KNqNi8toqn7JGumZnStXLi0e4tcP6R3I635Nc/mzsMxl9aux9b78UVmn2pve8u6eR50j9c0/ywzyVl5+z84AAAAASUVORK5CYII=");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;-webkit-animation-name:rotation;animation-name:rotation;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jb-pro-container .jb-pro-icon-screenshot{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEzMzMzMzMzMzMzMzMzNzc3MzMzMzMzNzc3Nzc3MzMzMzMwv5ahDAAAAC3RSTlMAW+8S2UGVwyyZnOTRhEMAAAEfSURBVDjLzZKxbsJADIYdBQpsSCyVMlXAdEuQYGKpWFk6dWHJgsQ7sMDSpUv3PgITAQT0f7ly57ucQ45KXRAZot+/89k+X4ju9KzL4XOhlm3pR0enYrWViSRPXQIQSASkRSkIJEFRimYCuQAHSW89IOv6SH5TCsuAj68Ab1wDzqkAzqoC7AUAPtgsABgkBBgkCJiNHehGok//KRVsHqd+3Dj1/vukt3AH/Jj05s5/AmyZhFVWXDls44iVvfQWkCvgxU6g9ZdJfCLvjJbYaT3GvjOY4mQSG3SJGjhr/Y1Xohp+TGKqqzexZ/1GVGdNCitt6R8zVvb9d+JmKdl8o5sPWbtxT6zFuJcDQtk92MNmYiXHquYlZlVt1j4P6cd7fgHFW7Nhqu29TwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-screenshot:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEz////////////////////////////////////////////////////////NXt0CAAAADnRSTlMAWe+X2TINXUYZvctoYyuS2NgAAAEVSURBVDjLzZKhDsJADIZLCAsEg8WgEGCWGSwCgZxB4MgEAonB8wQEXoBH4BEWXgPJgEBG0mdgR3u77raRYAgnlq+9+/t3TQF+dKbZcJXSYSnzlViT457lRScKmBqILSFA3GoO8S4E+Ex5JiSJ4CbVdyOQdZNomX9D4dl+ko3NC8vFFmhPy8FIsi0ZlwLBW/LY5BxYYreUSgoFAEmhB5Rc9OCbUoXmTmDadQKTn4y6A/XTaoSKdb6KyGU6RJ7eHgpb3ABinAoil303xB6vQnRahNhXvMdre+fzOgxVrokX4jHAnBh8PALU8Eq8BqgTg/vePF8tpuPy9/NFaalSc273RizarYqfkswjifNMQ/TyTGMv4v87L+ks5gqDbc9OAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEzMzMzHx8fMzMzMzMzOzs7MzMz4IlKVAAAABnRSTlMA6xIU1hVqIuOVAAAAMUlEQVQ4y2NgGFYgLS3RAEQziQFZoxKjEqMSaBJpEAkgIw1ZQlBQRAEs4QhkDeIMDgAWx1gMHyIL4wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEz///////////////////////+3ygHaAAAABnRSTlMA7OgSFBXMmAA4AAAAM0lEQVQ4y2NgGFYgLS3JAUQzi6WlJY5KjEqMSqBJpEEkgIw0ZAklJSUDsISikpLQIM7gAJjhWp6XcaOxAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAHlBMVEVHcEzGxsbMzMzMzMzLy8vMzMzMzMzNzc3MzMzMzMxEZ/aQAAAACXRSTlMADPKKKeBxlV6neZ4mAAAArUlEQVQ4y2NgGDZgJhpowCURAJeYpIQENJEkCgWRgCeShAGyjfgl2EqwS7BFToZJiLg4ICTEImdOh0pwRM6cDJcIjpw5E6aDFeh8B5gECBCUYAkKCoMbNXNSOlyCgUEQ4apJJmxIEkjOVWFgxi4RgEsikGQJnEYp4pLA6VxUDyJLIAUJcRLIwY7qXKSIQvOHWCQODzKIleBPPjgTHM4kijNR48oGkajiYUMykwMAAfmZhUjBISQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMA8gyMLeRw1x2DBpWGN2QDAAAAt0lEQVQ4y2NgGDbgDBpIwCVRAJc4KIgEZM4EwCU2KSEBHySJCcg29iBJGCBLgHUs24FdYlnNYZiESksDXKJALebMaagES8yZw3CJypgzZ2A6WIHOd4BJgABMgh2XBEtpaBjcqDMHs+ESDFyLEK46aMGGkEB2rgQDJ3aJAFwSUSRL4DQKp+VHcTkXxYMoEkhBQpwEcrCjSCBHFJo/1GIO408MOJMPzgSHM4niTNS4skENqnjYkMzkAEgzyFpeX6L3AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAOVBMVEVHcEz///////////////////////////////////////////////////////////////////////99PJZNAAAAEnRSTlMAMPndsnZj1CSYPcmL6wsdoU80pOJLAAABu0lEQVRIx5VV26KEIAhMA++p9f8fezatFDPr8LSrjMxwiWlqzRuMYKW0ENH46c3WuGyVLXEduuO83UyK59fl1jX5EEUXD9DOaSh43XEP5zUIdZ4pAecTofVnWSt3ip4rx7N61vjnY1D30CpH4QQR8vsP+RA5Rs3KpjfMU/pMim/LgbvH7DF2F8sU0owqapKLqgnhuGWwImUagn2zhUX6WQQoYkXG9WxSAJd700/ygsCpAoliaDsPiG48GM1X5Ft/06sfp8DrDE+3DpekWjxM6366fgEcnklC+AIIWYQmPEeAaUmjFOnhCLDfxZRH+w1gU5b/DYjfNcyJ0p7dxX8B+FwxQVtvAGB5ig0d5gFA5KbzS91hI8CenvlHflfN/XvzJQnxbBEko1gbvVnPii+FadSVRUEaYylQfJtpLB+aRG4LY/80yKdUbCraM0lozGR4ewZ0Wtnj1iC7hjWKNnjYmR62W15cLlL3+2pyMR09jccyuyUrHKsvthc5xsY1iWJ0Xk3t+2XP7AnWwrAQmBH6asXubmL1Z5Lz6o992jWiu9lnMSiQsK27FS9NxhCumZgB2fTBPFsFolhZr5B/D3o9sJAI6skAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEwimP0imPwimP8imPwimP0imPsimP0imfsimPwimP0imPwimf8imPwimPwimPxLmg1rAAAAD3RSTlMA15sisGUvdz3szYwMT8H+hDJEAAABx0lEQVQ4y3WUO08CQRCADxBQchBiMDE24KswFlw0Wtig/oHzUWglJBZWio3GDjUxlhhrEzT+ABMrO2iptLLVRluDggI+xtmdXW73LkxxNzvfzuzszNwZhhDzdOxqaPGgYrgkOgFczh90ezAJQmpL2v6OHYnqk2aWxOTtAnu/O/Y5XNZXmTZjo3ot7aESwLdFeqAM0MoJkMf9ltwVQJ9PcQN0UFIJogvdJgLQVFMsAlxyBaPmVBDCE8W7qd+2SDsx0q4OwhSrCG134W54jDfKLjDNxaL8/9AAMM/solptRnoALBbwEPWYrOEzLnrZsTGoMW+fBHG2SiLPUNI6KMOH8QS/XsCMBYQekIEv7NGZF/Rht2yqmA4i3UG9O0iTqgMfhirDhRdU8XJZqqEO8tDAqje8IIt1r+I5HmBjfD9AxQ1MgJQRpc6GJRALHOAS1WRlhMs4VaSFzwIWzCUF3op71kdNsNs/FDCuA58YqCQl7IhN3WbDnlLtfjnuON515WM17c7w41QPOuBIzDT5wqi0T4ESGV3gjtTjkuPATwHoX9+cPRlmmvJ57YAir2qKy459QL/UhrS/uAu3xf8KiX3DI+b22t6jc9F/qfaum9E1pJ4AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEzMzMzOzs7Pz8/MzMzMzMzNzc3MzMzMzMzMzMzMzMzMzMzNzc3MzMzMzMxdHBitAAAADnRSTlMA8AwGYt0aUcg+til5kgmZywUAAAGWSURBVDjL1VM9SwNBEB12IcGkMagxNktQSZFCYimIJAqKpZ3Vco3YBYs0NkKQgBg4ECtLFSFVCGgQrERBsLayPE0Ip7n5De73BdKLTrE3ezPvze6+GYDfsAQKy/Rz0i/OZJjY9XREuohTKulS+ZFGiADfyZXU5uHktI44VH5apDx554aXwJqloiIwiEsStAjCAsRNF1jCmGqa4Vc+BvS4JkjwzyPE6xiwzsxxeTbZxqjkANSWZFkoIj5bQBl4aBDfkPDNpeRRialB+SRAFz8UU1sAaEUjSCDoJ7iukZJ1V+c01bFczM1pWaa+a0Rp7MHn4V8Z1R9vLLCv9WjKdVFfk77JP+bZdz35YAfKXx6KhKp93abUYVbrj49g9aAYSuFCLbPUwzdCsYEWTloXgw1oGwQbENeuKwxzXhxwAADRMFd+zzRc6AAASY6RH8VjUHaXTrlOpDgCUP3gelc01e2d+f16cWbnQ46BGCRNVsWAWQJVw2xGfUXVv2k1OsLfazXqblzS99u1FwKFvBJioXBY2+r82U75Ab7O0ypVV0wKAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEz///////////////////////////////////////////////////////////////////+GUsxbAAAAEXRSTlMA3clDHfdfDQbsVG00u4Cqkr04dRsAAAGaSURBVEjH7VXLdsQgCPUBAROdjP//s1UTDUxsz3TRTc+wC94bHsLVmP9hkE8LIdvgupt2tFhcpy2CMZyVxNePEoqDp4hwEGz5PTqWoZNzLrmD9riltBEYzzpZQ8bweXy56Qy6Tivsp5JQYtawuMH3eJlSxIJtdSSa4xer4lMB89pK23mKrwjZVpsRzLq35vEE3+r26h6w5EKppcp3fP2lIpTPWJvoXoobeNI1sM3haHvx56tu2sdElJ54GbnPQ7RZ1sCpl8qPEMXBNQ8vN82jNbzLCPzGSDOZj/2Bqd19R1rELIEbDFrUJfKYdlALbDuDMko/hz7t8DqtCfr8h1Vt4rn7eh/6Ph37ch20aW8McsfGCOXzcr+GOlQG1rJ2HSHUDO/4Mu01qVAqTCpCJfgZ3phTS2pKm5aZOMUbs7Q6nk6L8UzRh6W78jH+gD/VRxHokPuNgUGTaPPR+zDR1mrlvcGgwkAVacSbeoN4Z0rb5/6XLrW/2GTLk2NhXHRKzrqAt9cD4rr4ddvae0NAYgOICdZyvPj4UYRf2BdfbB8iWvnTUwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAG1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxi4XDRAAAACHRSTlMAf3WqJmy+7azWNnMAAADNSURBVDjLxZQ9E4IwDIaLfMzCOTDSOz07OjLir5CR0dmJFVHIzzZtnMzbOzcyZHnuaXpJWmO2ji4GhpAzzZeQzw8FKCj1pMHss9OgpwsGOS0YGOcVUMPsfBVkmJoVCBJW0FFB6SFIaMKAlRGDnEiDkuM00lP3SmL6H5QSh+iIr9ZWVWntUV9Z4qWbHAWrhcUYNLC4Wwm3xb1r2mOQYoVn2EKFAVb81KHiQQq6L3vSUoMBUmSzgCKbVeiL3eTp3Odf8H1sxRAZZNZt/Vt8AHcPQbiQQVF+AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAe4Fzh7MZbKPtN8gpX19xAAAA3klEQVQ4y8XUIQ7CQBAF0CWhKQHDGtQKQFcURUgqEARBED0Aoqp3IKnoATAEW8MNOACmhQYKcyi6uyjmr+aLqXj56bSbVoh/J3HBxcw0ZfA2c3FiQLGeQcWh1lOVDDJTAeCbCgAR6QqCDj0xCEU5Bl2BIALKMwhdKjGILRUYfCIOEynlvABANk64M5jabJxHfJY2I76yzYu/ZCc0s1WbNYAQ3jxqwMoGHoqWGHpUQajEgcYYcKWFtjLE4FGJQewoxODRDQOqKPPcHl9sfzSXa/0L349tEDsOsp/8+2/xAY+BZBY9KhM5AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzKysrMzMzMzMzMzMzMzMzMzMzMzMzMzMzNzc3MzMz8gU00AAAACnRSTlMAL0jMZKt96hGJsSKv1QAAAJ9JREFUOMvN078KQFAYBfCbJEw2q6SUyWxTnsJT2JTJ6D38Gb6n5PpT6BwbuaNfTnz3fEp9fZwAP7czD0MsGCzBYJcEYsGwBEHQQRB0EII1CMAWdAOzyJUvJ4jyDVyZVHKGpj9guEI2IuhaDFadYnCkIm9I+kPgn8t+kI7kOsT72HcwQnJR9Gofy8DrwwtHK8pLzdeALg5fNb6cdJ1fOjOGYrl5CLFcggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAL0TQf2frEaZYt8E+idL4AAAAnUlEQVQ4y2NgoDdgUcAuzr4Hh4TaGQHsBp3BLsG+BoeE2hnsEkCDsEqADMIqATIImwTYICwSEIPQJFhnBjKInUGSUA2CSPCcOcIwB1ki5xRM4iiDDrKEzQlsEuUF2CVY0jbgkDhjMLQkEkj0IM4gQQ1EHMHOOXMiakRpTiQQtXgTA+7kgzvB4UyiuBM17myAM+Pgzmq4MyfO7EwjAAAEf+BAxqI/agAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMztXryaAAAAD3RSTlMAHd4P7ztyiy1OnKhdx7uY2gyAAAAB8ElEQVQ4y72Uu0vDQBzHE45C3SJFaSGjUEiRpJRCBifXokkpSv0DfOBrEKxUUSoFH9ClFAUfU7c4OARRCs5WjThIsJuDlLo4ldvPe8SYxGyCt1zgw+dev+8vHPcvYybvfCR2OgUv2CoLdI62bUn3gq5UJxOomZofXPUNrIChJRklfcDSiKK2bYQ6PiCaREk0EQoYPFYa3F73F+DGsBJLmAjBAMBKakG15KAxqIhd2KuK5reRccBDNbqGJhfSlnNc/kBh4OY+vaoR5QrRC0afKgxMrKdXNKI8yxRENpyd+i0VA6wMm5IOBmORCwfAFjGwolofevbuPrvpGhRgpVaqiJflrLuUQQFRToS9l894EMDe7q6yL7/G5wMATc5mQCiAvQo3HAbwLtyYHQZgTxhohgGUa/CP12EA16W2/Ou4ZEj1dNG9oPMkZGiwJWQ8j+huPoJy9Z/XHTfUFSbAURveCtE5px5vs7hQDKS25FSDn2KR5Up1/lRmIHne7BvKd82LMRJbSjr5M40lmaYZ5/PRpiCpizjJyk+CwOGOzACLpSdz02QxkiuRhd8dNOwkV7zl2YX1mcySKJrQiPkXY9klSt6rkJPRwIlmzrcWSGyzHuTb11V/N0y/S6SdwdCR4m/47OIN7XOQCfwJwHGp8IcfyRdBLEZK4Uxp6wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAP1BMVEVHcEz///////////////////////////////////////////////////////////////////////////////9KjZoYAAAAFHRSTlMAbk2o8o0P5TsGnVojFi/XHcV9urLaq0oAAAIQSURBVEjH3ZZZkqswDEXxLM8T+1/rkw0BuwM0f131+IvDyZVk6SrL8p88QCHp8UAnWmoWoG8AwQRN4/vOiqwUuwWqiob646MMhEW+KnMLMIXffgiZoODBusb7kCzjByF7OOszkOyp4amJ7fWVPwCN6BpyWRypvANPCvi7u4aTXe13YI+KkYA5bMRTSMlLnSyGwisSH40B0FJOrKVB6iAw2U7sGgPgQ/DTPQjitCOZT4Q6gWCtGwGFbSM34ENUNSpAKTACmC31rnRgJwjDdkFAJpfkAsZcAJvCSVQB2FaWWKdB/ATMAHwIUYL21lRBZRDiC5AnsBHBUqxEyaraFMoz0AnvHNa6xDWS34FGgNf6PYAEZoCt+BroUWFVbeb5HbCqSvB2cToyca+Adjlycdawt0C/HeyScl1W/w3gsU3aAd7JF8AuAN6isr7NAogXAFeq59Ec7ifAm49hF8wCMWfVNXAeCAkjEGuBr6R5ZGJzBrl4gGniBME+w8aMMyCsNZtfaemnmYaAQ6I3Rz0fnDhHJxc93Vrr7sHWjP3XRtTba2L3EkdFVaPC6YmXxKI9DGF1YPLdiwfD2r37cL5nDVw+uKzU5K27hsXCXPtyC2uyyl0D0p2TY7VaIvFYWU0Dm8TdOXmrVp52HG4lU4K/N38PpS/Kw70dbmb/sC0WCcQwNNzzjrzUj7veUyIIyL/4m/EP8V829O8zh5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAM1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzNzc3MzMzNzc3MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxDm1AzAAAAEXRSTlMAHqw+E8It/gjxc03jhGDTlgAjE2kAAAI6SURBVEjHpVbZkoQgDBwg3Of/f+12gtfMbK1Yy4NampCju4Ov1y8ruNyyo9fyCibVlNW6vUu29GpWQwTVdPTernqwffHex0WP4Nro3k+PrMKCvew/PcZ95aoNsY9yua+cGxTZsnf2K7ch4CAdGnWwYx/5LgKZCgxGdrhH3BeqNmnwviFXPZbQJmcM25HJ5n7/Pczr2QqksMJfO7BJOHLKLWFdMiL1QXYRwFagMklb4GB1zS7s8Le3fqH7Q28tVLkKdIzeaOJB2OKtY8KfTQCUa4++dNsLbrqpTR7xguHGt8hfg8P+seuaEkNdBjahzOD7g1cHP21SL2LtMNBKMdTRJjffTX1wVgrsEb1ITJU6QknwYJAcQky2cE02NbzPp70KyKggtpu9xM7Ik+CBIqY+8FrYyRUkrs+MEm1TG6tG9LZxNDNFGDue63TYGgIHqUUcuNhvhyZtn5LnlDq3Juxa4noCuX0scErOpNMDCrVcHPCS5rFGuQR9KZpxnB6CQ0ZO+AIBcTPk3UdbTx1L7jLEEHsMW7ZYm8NlIFyxn8+xdL7MURYEhzd5k2N2TabxIAORwC2r00QQfNSgrnqTJfh7cDmDu9ggtV0EZFr7kGu4KAxtNDln406TLwF9iZCIwn9EfjPuncRHYm5x3NfK3cFAS5kWxljSnTFlPHBAUFg5HsCCVOd9cdwXq+027un2QJlMjqISJutCDceRtTTuT4+1Q3HWHR8cu0fh9sGvADTYH9iLah/9nPz5+/MDJnQfoIVoAnQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAQlBMVEVHcEz////////////////////////////////////////////////////////////////////////////////////1bZCPAAAAFXRSTlMAeVoYDS1pBiPv4/g6lkzO2qSxvoixscijAAACi0lEQVRIx51W2ZLcIAwcLnPf+P9/NS2wp5xkq0ziF3ZRC3R0i/l8fvi04oxx89n+RBi1sqB38TKw7lw7lNzDa3U0e57bHhJ4d567HlqGC08eLAj9Gv8XD4/OwtsdhlfCW2s9LfWtuNrMhG1uLWP17Xh14LF4m8dx1OJ9jkm85YCYch5JzDVy81on3MFYkpTNYGmHHloYI+aqlNhlh5ZSvmH1AyBUwPcMX+u/clW3XYvA2YgRGXyZIZX6PXv0l3GlV9Jp9FKcK7mytJIg8xEeBdaBtV4P8tAixexnp73tY7ZBkrk9WEL8t7ZUDqtIA3jXa8sODSeUVqw5aztT+g4QeNAgM0PGTA0+EmfVeUvU0CEW4hX+lt/zseE7jJKDSmi0EUKBhr7EAMKPvNjOA9Fz4Yk/CFgcGRSdkYOHCLRxQfzKRN5SB/b5Ot8SzzQiKqcb6ipFdCfi1JI84OBdxzarhJ8RkpxHOQszl7bpn0GpmnXq6R4OfTkwwlyUWzeQg7rSLNhNUzEUEqJF3DMHeeXgqRIaYwHimLKipK8hMZOYVfJ5oKtIFSgXk5z4KcNx3GOIPGYfPigh9YGHBNQKVKbZhxMnqq+OHfWBHARZfWm1dnfSXfJuXInplse8wy39zkisdQ5kuLY+Bpc5hwGiH8Mx1rE24DFaLqXkfrNVkjk+8JPTPF0bUw+R9MCVuA8ks/xDyF/9orMqpBQeiob5RbIbmv7/TxvoX1Oqa914TsYg7QUWx8Y7R89JQY8mY6Dat1G5GARuMOgYHY9cbL1vNvc++fk67olLk4nrQSl7457OPqdeKn+vEwm4LPzW87DyXvqIyei9znHS+cZz9SxV+Qf8nNbjn37NkDx4+PmCXzHOLUMtjgmUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEwgmv8imPwimPwhmP8imP8imPwimPwmmf8imPwimPwhmP0imPwimPwimPwimPsimP0imPoLqfILAAAAEnRSTlMADprCJBnU/gXwh3LiUKxAXjJ/ELXKAAACbklEQVRIx5VW2bbjIAwLa1jM9v8/O7Iht+09MwPlpS2VwLZkJ9f1lxVG1joPdZ0u1ZIxurhv8DH6dMpQI5t439GAEc7xYPgTRnAtV7plReRhd5kDP8+fd+wzt70yPhIJzWT7/6DCJCAYLReZPMIuJC4pClSktHqbNpJO1aTmmAme3cvtWs9NSfq52CPhnJNjlbVHwgmWSWGHeQHcKFjj7fygwidf2fa4mbVOuladcnsoDn9/CKKAWf6HEtpANiJvUp9Fgr0SvocPP/sqjOCK9ktpyCAo4Kt/d4n4/6baseNKAt5XrauPN1A4ZLAd30RUI4kNfELVx+yd3lrXYIg1Bp/B/dGs5N8mPsJoVyiwkofQSlm+K9aiwmoQMDoI4wefoK/rhkESrSuV+BR2i6HZH9juLzxCtBmn6rFmB66gNJQwBOSxncT/N3FAlxAoLQfJDy2+6rMLI3aznl9fhOcGSdZzoNhex2K3TXJEVe3M4Zb6QhHuJc5BWakYIqqietcPw6FK+EHofUHRqtLEQ5X8dKVENXXgEpLOpcjwkFI30YFVHE8fyx2ShZJ/ydTKlZwZ4BCOv/af9uMi0DILe4kieynScgPbhai+DRDckTT6N6zJpI3HMghM3BMg+q9pHmwrbR0Q0D5wc0JHPy0E5Ur7Nf3Rk68LnR0NHfO28/T5P4cNr+uLFR7eEdiNxvMRbd5Onlqsis4iIVdme4di3akWOz+3T0aUnFWHa8QZrO51NO69MeLPafrNuBenxel/3d21j8k/jyxf+75OQabFxOtuT94G3Lpjzb0zBn2Dl0ep/waPidQ/p/XB60Dp7e8F/QO7WSJg4zEzdwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcExru/9ru/9qu/9ru/9ru/9ru/9ru/9svP9ruv9ru/9ru/9ru/9ru/9ru/9ru/9ru/9ru/+3uxEqAAAAEnRSTlMA5q0cR/PC/ggSKtN5OIhaa5izIOiAAAACV0lEQVRIx5VW2ZLjMAiMToNu/f/PboNsJ5PaKWv8kKRkWkDTQF6v/zyUfO+JX9sP1dKKd/v2acQcm992kbo1R4il7iHIif0BRNtCUOozH4cikAdt2YfjRLTnzN15/8I85wFCI2xDzlnyMLO7R0aFoTzbFGB+jIkYLkyePvmW8d2fs2ZfZuv8It9s6zvV5uSr2LmKb9oVh37QvpjYOcf8fcO3Cb1jGqOU0SvTTd6X2KUBLgKdLzaiDtE2n+isTh8/+AX7E6/Vh/NNSyfVm10RXIe1nxXRapmsDQB7SMnkmE0IxgqvUn0jteEf1T2CHXgr0gjZllGk1HoJL7lD7fRpD20CgJcwQ6EdSh3lLK0zVfuqz2WvPlPJh7HqnCQ4MysxoAYQE0vHub/toRuqzRy5pEUvbg62MzlJQn1MHBe1x7WSAddpNDSN1c9wRMhKfi2jrICwAIsQvHkD7Al41bOrBNC1Y7QdmSg15LDokGETJB/imxYJKfmFMDqI3FjUkDS3NSEDjBaxknRYSb+4nj4kC43W2OKrkqGB8jV2Fq03YiWbhHQTpUV1mMHXWYf8HlNX7ZUQRC6iwBAIK0r0ILr1UxqKsPattAkhwSIiMl76bT/Ft/TbTy2jHQoM7Cz9isHVMb6GILl0H4DGivbw7xNc8rAtiJn3O/qvD6JT/wgs7Y370ZSdWmbZWEKiG1lXImldW7Q1jGMbZW9tUVKZmGjjGvf+EXAqzWiX5OfFSHVp/zjbfGPc3whdcbTF67V2N1e79qYMru2/AnzVYFsdWFt/+nOypv8vQvoHou4gOtSrG5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTM7OzszMzM3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzW8hQDoAAAAMdFJOUwC/gO8ra6tUQNmVEKtAA1gAAAE4SURBVDjLzZMhT8RAEIWnpS3tXcWdQ6wgOJIKfFdUICv6AyruB5w4EuSJCwRXgUBWkGArLsEi6JVuaZkfxawguSWz/p7azLdtdt97C3ASagp+PpeXPDjHVx7McMWDCBc8qPCZB4m44YFIeOBh+ckCf9z+sCCYqi8WvA/5Nwu26cfA+JRBs4h7WmX/tr9AXcQHAPdgzEPZh5idTQBOZ3zyiModISKQGxZ7dd85E0SKfMGjM7vXeI/5AE5LvrwpcK9IOrQYB5BlCsFIvjzgrkaSjsBZbmC9XsGsAxfn8gKXpL9sSlnQFBwFTTuaKWXgI5Ar+sfHTrW6DUDO+2jEEtCNQ9wL6gNujMvvdFS3eugxGT51fBXxTvF1wLLngbT0BGphKalAy0MQ3Z4Ha2V7UoMFJKkFVAWcvH4B0OJfd9YsTl0AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwD2qdfrViyAwW2XORBGtSCsD6SyAAABN0lEQVRIx+2VzQ7DIAyDYfxToH7/p10CbQ+T2s33Rb1MijM3/qDG/EurolD9zSNRggBU0hFelMABmenfADhGkJDhGUFGgiX6I1AAQlDgZK/td8ELtQORiTmIq42I2bYdCD8NjzPmYQxO+rbn2S5qzEUF6YjkgcJude56X3s0SoL7LRAeylyaVPiFq0Jyx230mpeXmXVOHssRbhackhCq25Sny++xcBW1n6Snqw6BTgrqRP6kzfDcgmRLGonDWSf2OecwB491dOrEVZpNsxiyiHzWJ0Z+BbBwzaoWVb49HrqVfSkxHen7WNznLhzl8xpQlT3E9oHUtYaufB+7NY9g9ctbjFfj/h1DwXUrzDltMn1Ql9M814EQWPLmEBg4R7JSzpFQxTmSBMkLvJKOhFHfKEEnv3L/+qw3DuMPzAFH9pIAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAtUExURUdwTBGW2xKV2hKW3BKW2xGW3BKW2xGW3BGW2xKW2xKV3RGW2xGW2xGW3BKW2+P2IvgAAAAOdFJOUwC/gCvzq1RAleURc9VmrA9rXAAAAT9JREFUOMvNkzFLw1AUhU+SxtTahnZyC+IsIeAenDuE/oJQcS/FTYTi6hKcHYpDZ/EXBME95BeURpM0Me39Db4Mgk/u23umcL8kvHfOucBBKEr5eW95xoMjeuBBlyY86NOQBwt654HrPPHAca/YuUHrDQsG9eybBWa1+GLBqvS3LJiNX0vGJw/R0N6LJ+/f6x9I3uwG0D+luRU0FnmdCtBy6ZM7KvQdjgXwJYuNZVNrFfqF8IX+nFm/oBvyS2iZ8OWxgH4u1IZmU4kgfoa5E77c0jwhoTYCbTRFGE7QrXFCveCURkK/2cRBCp2gFYiyWk7Jw4AgXOmQZMAqa9uAeCP+JsViihtb9OKIPtBUuvy8jeqyHRpMhvc5X0W6Lvg60HrPg0DREySOoqQJKRbByRWbExaqlSoVwB0rwCLFwesHquttxhcsa64AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTH3G63zE6n3G7H3F633G7H3F633G633F7H3F7HvG7H3G7H3F6xOzy+EAAAAMdFJOUwC/hKbvK0BT2XURZct0z00AAAE3SURBVDjLzZMhU8NAEIX3LiSUNqI1qBMMChFRgYxAd07E4CI6HQwzEUXgKjC4CH5ABAKJyA+oaHqBJO3+KPaYYSZh9nyfyuyXu7l77x3ASSgu+flYX/HgHOc8kC4wwikPMnzhQaTueKAiHvi43bFg0m4OLPBM9sWCjyb9ZsHm8NkwPiUQT8MjfSX/fn+F/C3syJf9YB7oLsDkjIaiHix5QCNbGBmAFPve+3lXi/0viLB3ZnmDz5g2ICry5daAvCbZhSE2oIsFeC35ssJljiQbgZitIY7nIGu4wLG+xBnpL5tClxQhCANR1Q5TSmCCQK7YjftOVbYNUOxot0EsHl0uwHdFfcD14PJLG9W9HfpMho81X0V8MnwdcHvkgS4cBcqVo6QKHQ9B1a6XY1zAcSiIFg6QlXDy+gEd714RcAqEowAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTL+/v76+vsDAwL+/v7+/v7+/v8DAwL+/v7+/v96T4QgAAAAJdFJOUwBAgSCbs9hZap+hQJoAAADvSURBVDjLY2AYRkAJCAygbEZBQUEBKJtpJhDAOJpA9kSYxESgKphuIaBuhASqyYzESjC2hDRilQBZ64BFgm2qMLPYNCwSkQpAwlMBWYIRzJsKYrKCxZSRncKSDFYzBSNY2MD2MqRhSFgqgClPAwwJBxwSbAk4jGKZDCKZp2JIsEOcOx0ztjQDYL5ENwsYJKrTsMSvGSgepzVg2pE5qSikPRPT8sopBuDod0ATZ54JsbZyBrJgAVAp1Ax2oPXMykjxYQaLA2CMoERUZQDMrgBUCc8CKIdzAvHJhyQJpLQLSu0TCaV2lPwBSu0KQy+LAwBuJj5UbruNggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTP///////////////////////////////////////////////w2imYoAAAAMdFJOUwBAgBvfrFmcw4wrbtGliFoAAAD2SURBVDjLY2AYRkAJCAygbEZBQUEBKJvpDBDAODpA9kGYxEGgKphuIaBuhASqyYzESjBu79yIVWIP0NoCLBIsR4WZJY5gkYiZACRqFJAlGMG8EyAmK1hMGdkp7M4gkus4RrCwBIApFwwJmwlgqsYAQ6IAIrEAwygHHEaxngJbfhRDgg0sxHoMM7Z0AmC+RAPsJ4S5NE5gid8VoHg8sgHTDh/PzM60HkzLc44bgKMf3RKuMwoQ+dNIgswJDAycUDPYjhgwMCsjxYcJLA6AMYISUTkBMLsaUCVqEqAcngPEJx+SJJDSLii1HySU2lHyByi1Kwy9LA4AqflRBKNSA88AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTBCT2xKV2hGY2hKW2xGW2xGW2xGW2xKX3BGX3BKW23povfoAAAAKdFJOUwBAgRybs9hZLG6hrV9tAAAA80lEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTgmZiFViFtBaBywSbEuFmcWWYZGIUgASXgrIEoxg3lIQkxUspozsFJZkEMmxBCNY2MD2MqRhSFgpgCkvAwwJBxwSbAk4jGJZAbZ8KYYEO8S5yzFjSysA5kt0s5YKc6guwxK/baB4XDYB045Vi4pCyrMwLa9aYgCOfgc0cY5VEGurViIJMhcAlULNYF9mwMCsjBQfZrA4AMYISkRVBcDsCkCV8CqAcrgWEJ98SJJASrug1L6QUGpHyR+g1K4w9LI4ALk0RHtSETFcAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTHzD63zE6n7H7H3F7H3F633G63zF7H3G7H3F7H3F68TinBIAAAAKdFJOUwBAgR+Z31ipwW4yAjb9AAAA+UlEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTmmZiFViFtBaBywSrMuFmSWWYpGoUgASXgrIEowgHtsKEJMDLKaM7BSWYLCaJRjBwloAploxJKwUwJSXAYYE2KUMVRgSrAFgKhTDKPbFIJJ5OYYEG1iIfRlmbGkVwHyJBlhWCDNrrMASvxageFw6AdOOqKCklrQuTMuzlhiAo98BTZx5FcTarJXIgglApVBr2ZYaMDArI8WHKSwOgDGCElFZBTC7GlAlvBKgHK4FxCcfkiSQ0i4otS8klNpR8gcotSsMvSwOAIs+RIlIrewIAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA51JREFUaEPtmT1oFEEUx9/bnRALGxE70btkZjcR7QMiRisRbCzEQvxCLGyEhCDRBC/RoNaWFgYLFUSwUBAUDKKFFqIQ3OzNJpfCyspS8HaejNyG87J7t7N3l03gttydefP/vbcz8+YNwhZ/cIvrhx5A3hFMjEAQBDwMwzOmAi3LWhBCLDTr5/t+ycSubdtLnPOncX1iAfQAlmXdNBmkru2RVgBSSspg+5kQ4lRjv1iAIAgqRFTIMIju0i2AWNvrAKSUowDwLqP4tACm9rWmbABCiFxXKimlhu0BtPFHtdc19wj4vn/Wtu3XnPOfWVByA5BSngCAuwCwryb8Hud8EhGNltANB/B9/5BlWXcA4GCMx/8g4jjn/H7aaGwYgOd5BxhjcwCgPd/0QcRVAJhM2l3rO3cdQEq5GxFvEdH5VsLX7aKIH8MwLLmu+zapb9cAFhcXt/f3988AwJip8Jj2L2zbLg0MDHxr/NY1gCAIpohIJ2V2BwC0iUd9fX2lQqFQ6cQvtJbICSGOxHhlVOdKjuPMl8vlqzrxI6IdWUAQ8Um1Wp0ZGhryiYghYrUtgDQionxJT0al1IwGkVJeBAANvieNDQB4joglzvmilHIXAIwrpX67rmuUamfKcxoTvnoQ3/dP27Z9g4j2J4C81KBCiC9LS0suY2yMiC7rttoZuQBEQhsiopfT6wAwUvv+hjE2XSwWP0kpRxBxgohO1kPmDhAHEgTBUaVU1XGc98vLy8eVUhoqbpPLPwIx6/wqEV2ovX8AALzZ/Ng0EWgQGa1iLQ8xPYCUyx8YHjt7EWjm2I7sAy0it7ERqNWEDkeiklIJg8pFWwC1ZC6SM9NYc1oXgcaiVlxVYmVlZW8YhlMAcCnFvOkEQPqqRBqASLTneTsZY3pjapZSpwF4Y1nW7ODg4Ie202kTgGiwSqWyrVqtXgOA6Zj0OhGAiF4R0azrup87dqDJAlA/eLlcnkDESQCI0us4gOdEdNtxnK+tfkHjA027AJEgKeUVANBROVd7p3fixwAwJ4T43kp4nR2zylynAOoE/JuAiPiDcx6kFb5pAEwF5zKJ2xXZrH9uc6BTUD0AAGh639Xo6bjUI+G/NglS+p3Y87wCY+y/2ozJSGkuRDLekQFjbEexWPxVryfpjuxhllKhNtwtAESc55xHx9M1hsR0WlcOlFLHTLyv26Ypi5hesyql5oeHh3VBeN2T6TxgCtXN9j2Abno3je0tH4G/KbtRT7VUKs8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAwdJREFUaEPtmTuIFTEUhv8fLSxsFrET3UIQRHtBRNdKBBsLsRBfiIWNoIisD1xfqLWlhYuFCiJYKAgKLqKFFqIgoiBoYWVlKbjwy4HMJXs3M5Nk7tzZCzfdvZPk/F9OHicnxIgXjrh+jAG69mCpByStB3AgQ+AcybmqdpJmEvv9SvJhqE0QwBm4lGikqD4VAaCMvh+R3NffrgzgB4DJDCPWpC2AYN+LACTtAPAqU3wsQGr/pikPgGSnO5Ukgx0DNJhRzZp27gFJBwE8J/k7B6UzAEl7ANwEsNEJvwVgmmTSFjp0AEnbANwAsDUw4v8AnCZ5O9YbQwOQtBnAdQA28nXlp/NG8HT1G7cOIGkNgKsADtepDnx/C2CG5Muytq0BSFoJ4DKAUxnC+5s8cSCf+j+0CXDBjAJYNgAA6+Keg7AwpldyAXqBHMmpwKjYyThJclbSSQBWfyIT5IF5kuQ3SctJzjcCiBHhxUu2GM24gRx1IGtj+gDw2I34Z0mrbXcC8JdkUqidFecEAj4fZD+A8wA2lYA8NVCSHyRtcGvouKtrg9EJQKHVB7Ht9ByALe7jCwAXSb6TZP+dAbC3D7JzgBDITgDzJF9L2u2gQoectV0yAD7IEffjDgC7plaVJQdgYotdLOYSMwaI2gETr51jD1SN6qDOgSobw/WAywltLxRVhBIxi7LxInaxUCHHFvmCpFkorWInoR8LheqsA2DB3LGIRdPIAznBXC1AIVrSKncwVYXUMQB2Sl8h+SYQOCanVaIBPJAVAM5aqBAIr6sAnjnh78s82aoHQkYlWYwz7YXXIQCLRK+R/Fg3BYcO4HnlhPPKIfefTYX7dm8m+aVOuNdP+1OoSow79KzKL5LfY4UvGYBUwZ0s4qYiazzY7RRqCtfZIm4qfGBrAEDle1e/0FDoUTKvUxiT3gfsaWlBbibFUsyDiKSkBK9nf4LkH19P2RvZ3cxUIVoEmCVZXE97DFXPrJY52JUy+lY3Ji2S8cxq4i3jsahk3QdSodqsPwZoc3Rj+h55D/wH5CHfQHNA9EUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA9JJREFUaEPtmU+IE1ccx7+/N7O0BwUn24UeRKOd7LalvS+I6HoSwYsH8SCtLf1jEqWoyLJVMfEP6nlNIgi6eFChCB4UChaU0h7aQ1GQrnFSdw9e/JNs9LTFzPvJZI27m8xk5k02m13I3sK+33vfz/u9N+/7fo+wzP9ometHF6DTGfTMQF+mYNqwd6sKlFLcK++P3WsWF8nkUyr9stAeTcXN624xrgDVAUgcVxmk1lbaGPIFyFocou9fSonYzvo4d4BsYQLgaIhB0EYA174bAFaNWpuFhrthxDsxQQCMrKXUPwGbvfr2BSglYh39UjmwXYCwy2kh4jqegd5M/itdaL8+i5vPwwB1DMDIWNuJcBbA545wAs4V4+YIiJQ+oYsOYGTzGwniDIANLjP+hkCHiglzNGg2Fg3AGB3/Ugj9NBO2+4ujSSaMeJ2uc+PbDhC5aK1GhU6CeY+/8IZz9E+CnSomBn7zim0bQF/m4QqbPkgDOKgufH4EAzdZaKny3vUP6vtqG0BvtnCUwY4p01oFcOIZuCJ7elKvvo9OtLyESMN7IzeViA3VC3TshiY4Wkz2j0Uyj3+aMX5shAIhuia4kn6Z+DSPu6xjiCotAQQRMeuXaJJYpqsgOetbcBV8TZA+ANxgotRU3Hz48SWr7800DjHL6VJyQMlqh/I5jYZvFsTI5XcRa0cA/sLDv98iieMv98X++Sj7aEBCPwjwD9W2LNMdAqhJnQMyc5D9DGBwRhzukK4fK/647q9I1hoE6DDAO+ZBdh6gEaQ3V9hi27JS3tf/u3Hhv20kpQPldsgthQw0fOcnpc3fVK2EhosEmE33x9LJwKxM54Lj/Ap0SeoCBPz+qVw7uxnwmdQFOge8R1n0DDg1ISaxqSbJy0oE2pTvqhStbOK5FQy2ka6vOTVkoL6o5VaVWHX+yVoh7KMAvvPbNq1mQNmNBgGoiV55fry3R+jOweRpqQMBMO4wxImp5Cd/tGynVQBqg0UvT3z4eroyDMaxenvdHIBvE/GJYnzgb69MtjUDboMa2ceHCTQCoGqvPQBuSOZT5WT/fb8luOgANUFGxkoQYVja+Lq2iQm4ygKnS3tj//oJf9+PamUuzBJqJsY59Jz/9wh6+iJpFoIKXzIAqoI7solbFdksvmN7YKGgugAMNH3vqp9pN+vhtq5VMqT2PpAbjwrW59VmVAYL8iASCfdGBvm/bpQPrCvP1eP+RpYrXA5XKgTaBkA0Voqb1eupL4DToFo5YLlVZfadtkHKIqrPrFLIsXL8s0k3LaHuA6pQ7WzfBWjn7Abpe9ln4C11Qo9Pmb2aMgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA8hJREFUaEPtmU1oU1kUx//nvthx4cJqX3RgGLsQBNG1tq8Z7axkwM0sxIX4hbhwIygibfPMeyapunY5iymzGAURZjEDAwoVm8SPhSiIKAjtQtAmiooLiyb3yEtNm76+5L37kjQp5C2Te879/+65H+eeS1jlH61y/egCtDuCNSOQyH3cWirNHVIXKO6kYvqdenbxqVlLxS8J8Txp6Ne9bDwBnA5IiIRKJ5W2LDHsB2BmC6zqmxk3UkP6AbedJ4CZfTsNcL9qJ077VgHU8r0MID5V2EsCk2HEBwbIFdT8M/aGBkgaelt3KtOB7QKEnU9NsGt7BMyp2cOa4P8tY3M+DE/bAC7cK+xnxmUwtjvCCXzFHtRHiEhpC11xADOTjwG4BCLDY8S/MvhsyoheDRqNFQMwc292QmppEPb7i6MZgEdqna7V9i0HSNx/95MscRLgo/7CXS0IWS6VrFRs8+1ati0DSEzm18kesgGcURa+3OAfSGklY5ueuP9qGYCZzceZySKC1gQAgPkvXtNjpXatn258CmlYSOSSg/qwW+B8usH9SSM6Ec/lTxM7iR/3hgEh4Jpk2Kkh/UVikiP2MBUbAggiYjFfchajtB0QM/fuOFg64D8H8QHQTQ3CsowNT8cffdLnPn8+KyXPpWKb1FLtYJ0tbbU84asCyRYOEmiMwTtq+P63JJAYH9AfxTOFbUTlNXRyPlmTdpsAKlIXQZyDDJJGGbx7/l++BSHM5EDfg7HMm91CRM6B+fdqyA4AWA5iZd/++hWymDaid+OZ/G8EGgXB65DrhAi4Jw3NsORj5VRC4A8AW+tN2Q6KwKJM54b2HcD3EtMFCLojqVw7uxHwGdVQ992OjkC5JqSJPRXw2qlEsMpFo1OonMx9/7gE211z8iirLC1qeVUlxrLvtwgU4wBO+K2bpgCoVSX8ASqiRx682hgp/jBaL6UOBsC3pMTFdCyaaUI6HRyg0llicnptqWfdeTBMd3pdH4D/kyQupgf7HtaKZIj7gDpAdefxzOw5IjECoJxeewEQ6CZBpmwj+thvCq44QEWQmZ09BYjzLHFk4SQm/C2KIm3/svGZn/AFP+qVucYi4BbmbLnOb5rGr+zB6MugwjsGQFVwWxZxoyLr2bdtDTQLqgsAQt33LvdIe6UenvNaJUQqJ3Hi3ut+KSNLajMqfQV5EAnzRuZoEF8ivfZw74dqPbXeyP4MVSoE0DoAmkgafeXrqS+A08CpHBDTPpXRd9oGKYuoPrNqETlhD/w446Ul1H1AFaqV7bsArRzdIL5XfQS+AaeCtE+rbksUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA1RJREFUaEPtmT1oFEEUx9/bFLFKJzG2WiknZObFxlO8RtFC8SuFWlrYGBtRRNCghV9YmFQWgoVaaAS1ULRRRKvbmYBBQezVYBOIGFMkT0ZuYXPufOxdspuDO7jibmfe/H/z3sy8eYvQ4R/scP3QBSjbg8EemJyc3La4uHgUETcx82YAWNum+N8A8IWZrxLR41ZtBQForUeY+Xarg/j6MfMVIrroa5f13AuglOJWDLfQ56aU8mzefk4ApdR9ADiW12ir7RFxXAgxkqe/FUBrvYeZXzQbY+bh3t7ed5VKZTrPQM2eNHYQ8VGGjTtSypOhtq0AcRyPIeKptCEppTfkbAM3AxhbcRwfyYJg5nEiCvKEVZBS6hUA7EoEIeJ+IcTz0JlpbpcFYNrYIBDxlhDijG88lwd+IGJ/YoCZ1xPRd5/BUA/Mzc31VavVWRcEM18jovOuMV0eWLL7tBM+RoBS6isAbEzERFFUHRwc/JD8dnjishDikg2iSIAJADiU8uhdIjqRFuZYEweI6Gmuc8AWs6EhVK/XR3t6eg4zMyKiEQ/MvOSwQsS3iHhhZmbmY61W++UIp/dSyu2FAmit3zDzTjMoItaFEFuVUt8AYCB0ElLtZqWUfYUCZHlQKXUQAJ60AAC2Nbhia8AWglprAoB7jYQwmGXVACSKzRqJomgLAJjvBh/JqgPwCQ7dRAoPIZ/w5HkXIHQGQlOHvCd56PjdEOpoD6TShT/MfD19OXeFQCPnOYeIaxYWFiaGhoZGQ9Pv5nZthVA6XWjkOsMJRGj+b/IhIURtVQCkIUJvYKUCONLf/+67tjuw+T+rLlTYLmSDCDmwbOIbF6CgC1Vba8B3m3JBuMQXDuC4iGQy+MSXAhAKESK+NAAfRKj4UgFsEHnElw5gBGit9wFAUqy9kbco1vY2Gsfxsha2QrbV1K42gIimAPDvw8zTRLQuy0ZhpcU8AMZ7zPws1ee1lHJ3LoDlLu7mAcioZFuLvYWV130AU1NT/fPz8zuyqtWIuFcI8TKXBxo7QaEvOCyQD6SUx20T4K33F/iKKVOj7yrqBWhsiSv6ki8zNBBPCyHGfKEXBGCMrMBr1mZtPxHxEzN/jqLoYbr07oIIBvDNRFnPuwBlzXwybsd74C95KWhPrxIhsgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAthJREFUaEPtmTuMTUEYx3//TrWdeLRUJCrReISGUBCvLVAqNGiEiASh8IoClUKyBQqPBAWhsREqnYRE9NgoV0T3yci5m9mzc2bmnHvvOXuTO8ktbs7MN//ffPP45hsx4kUjrp8xQNcezPaAmW0EDgFrgLXA0j7F/wG+AlckPW5qKwvAzE4At5p2ktHusqTzGfUWVEkCmJk1MdygzQ1Jp+u2iwKY2X3gcF2jfdS/I8l5O7tUApjZTuBlwNIk8E7STHYvQMCTzs6jgI27ko7l2o4B3AaO+4YkJadcVcdlAGfLzA5WQGR7IgbwGtjuCdoj6UXuyJTrhQBcnQjETUmnUv3FAH4CyzwDKyX9SBnM9QAwIWk2AXFV0tlYnzGAebtPP9OnEPkNWO2J2STpQ+9/xBOXJF2ogmgT4Amw3xNyT9JRX1gEYq+kZyGIoQGY2UXgAPyPt5x4V8qH1TRwDvgk6XdkOr2XtLltgLfA1qLTj5I2mNl3YEWDdTQraaJtgAVryMz2AU8bAFC1Boc5hYKbgJmtB6aKgDCbZdEAeLuOWyPrit+qFMmiA0gJrjr4yu1an0Ip4Z6Hss6hMUBu6FD3JB9PodwRGGkPeOHCX+CafzmPDUAR85wBlrgwQ5LbUueV3AHsaxGbmR8uOAGTPYga8f+0pG2LBWAOosYNrFOAqith6L5bdQee81optG7nHIjE8DlnVlB8EVa3AxCJ4VMAleJbB2gAERXfCUANiKT4zgAyILLEdwoQgcgW3zlAIWA30EvWXq+bFBvESTzQxFZqSyqdAe7i7xIAvTIjaXnIRmupxZoAznvPvTZvJO2oCzDQ5G5NgPKbRGWyt7X0egrAzFwedktFtnqXpFe1PFAsxLYfOEIaH0g6UjUAyXx/i09MQY2pq2gSoPDEsB/5QuJPSnLrMFqyAAqIQT+zloX9Aj4DX4CHfuo9RpANkBqJrr6PAboa+V6/I++Bf0in3kCazcMZAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTMDAwL+/v7+/v7+/v76+vr+/v7+/v7+/v7+/v7+/v7+/vxtcv/AAAAALdFJOUwBVdZCpGdZE7C3B0wnY6AAAAV9JREFUOMt1lDtPwzAQx20ghGwVsHVJhQRDlsywWKqEULsw8FhRJ2iWiglGGJvFCw8xIVVCSEwkKU25L4ftpOHs2Cclsu7v370smxCLecRh+xOH8Ja5kGEs/6dtYf1XONcWZurbwwRCQjYZ9l7uHAPAOBHpI1QC/QSY9g84ldmnAn7Z3htwsfZnvSe54eJd5hlcC7gccxTwSETZEr5+714vLRdfkFraVNtetXLpR7ha+mkHCV1Y/q8ZOW8AgDkecsIaAEIcGbIGyLUq4KcBYl0o7QAB4FZACBMrQKpaJOCZQqyAIhgayYEpgD1DZghXCvBTNJFKmCvgzmhcCEsBwMjSRx6BslYftRX0JLYKrAsLqzDC54EFMwvy58QhMM8hFNq0UpwET+sLC9/4BmEBTytyRCIbDoAEiR1Qp1dbRxfoyv9g3ogaKVuXhVZZbtqX6Ez6H23PxG4CM259QDwt/h8ABfK8nDqSAAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwCCyreU7KZVRCDaZnETLwj6WaYVAAABUUlEQVRIx5WV2Q6EIAxFoVBWxf7/184AOnGUsvTBqDmXrqRCzNou1kwGtyZIQNuiD0P6evWTURFUMtIoPO+iVoGIZPkMqkdKA0jZgoJ6suQc2EoiGBldOoQ9HSDk5+GTs1Fqo9IlcEpvNv3qv0MBhSalIFSv3+MCJCY8fUaCxasycrMu9dp5VTUhubXZ6CqsAvn66ZAsx+e8fON37oT3bZ4aiRU0kDlavGSrQI95HPBZACt8FuCL16IruBVkzBeBW+CLYHvyfiDQd96IpHpOMqP++fAq9VMQ7rwrM5+6gjwG/3y/D/m8ylPYpvpAeqO7DfvwMPO9D6jnBabG56YFZx77fEjD+9AyLdYEhp8nxoNh5wmJtfY8AS+wzIZZrJNcC4h3wV8IH1p87Iyfnc6XVaAd7ICHAsebw97zgDSxZ/yvViiPuYUfTe650knM2+7Ywz9yOCklzohLOwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwDjmTC6Y0KBVakX8s8iC3JYR1wyAAABVUlEQVRIx62V2baFIAiGcwJRS97/aU/Zbtht0VzrcJOuvl/AAabpXy1RF0F/m2h2PX5mzucEuO9gMon1MY7KlG8w4LImC1XFQmxDGVkm1DYpXi0qS1gXTEGzKoqNS1ajAxPqJDikFLcFS+aukYJffRfXnAj9kYUXFVi86wzzPjuCFRXBwS3KaC/Pt02Ww7uf1jz3BVYtX/OsyDQFDn7yswPXb+Ovs39eJJWwxrOXV4thgC+//QBf/uMAXwAa4AuRBvgdWR58CB2B+eaRG5e8QO7Jn2sIAvzhbdsDnXzev8q0BengGXv8EciH3y1CY5++yI/BRNx82g/La7lc7b0Am/tUC6n3HoZ4SbDyy5BgzSNivV6wbPXeIPOpHlOU+CjkTQKvQOpXdRdJvn+5xttWQa4EZUOzluonT6+q72X6Zb0+T/lNhQd7hg9vm8LWUhW5gT4iN7c/0ZUo8Q3AttYAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURUdwTBKV2hGW2xKW2xKW2xKW2xGV3BGW2xGW3BGX2xKW3BKW2xCX2xKW2yDN61kAAAANdFJOUwCAVKxm3T/DmhrxKw97YQBGAAABaklEQVQ4y2NgIA6wGqCLMCqAqV4HdIm9F0Ek22UMM9hiG4AkVzQDA+cmx+YyJJnDlw8wMNQaNpfevbu0QgxJgrN3JQPD3VvhjU57kESnOZqvvXuJgcEXxVFMEkDt1w11gZYwoVgue3d5SzaQSgCydZG1TMkBU8vBuq9guBcqNBNDgj0GQrMEb0CVYEmA2ViANRQZ795tQPZduADciXcVUNSthGu4hGrAJawagBIXsWoAClzGqgEocRWrBqDIrQNQDTPRXZ8A0cB41wBNQgGiQfbubTQJAagGDB0GIA0OsnevbkCTCADiu4J374ahW34JqAEIbiXMRJOAgkvMKJYgJBx6717AKiF4F4eOu+jxgQCXGHBIKPDgkBC8JYCURJDtQHYWN4oEcvpZiyR+C9lZtkgSKKG1CyGOGrxItleixjrcLFBWRAYcMIkG9NQMiY67N7AlcxAQwMwA6SBxM2xZQ3jtVRPsRQ83sg8ACMIUxzzE8wsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTP///////////////////////////////////8kBMKEAAAAJdFJOUwCt0igUwJdJePGbgLgAAADcSURBVDjL1ZMxEoIwFESTCaOWFDapqeicnAALTiANnaWlnVewDTMW/7b+aCAb8jkAVIHN2/lsNkrt73lf8M08nnF1pAYFR/dFmAAx7SIoi4iDbRrWDMAuQFzmmxAGbjjJgjj6dCjMCAND/o8RWQMzUgIRKYE/wsC5TJIRR74rBUZaqqXwLZEXT0WTDGwLW1aavJWQir9qadw++NgykWoMNtcykh8Q5EECgr5C+jjpGjHjPGhPU5eVzyfPJitfnUyhPg6ywMKZ7BygcYcsPCj1Kc8uXYPqpeSLs6PnC4w8S+8OJ9MLAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABS1JREFUaEPVmgmoVVUUhr+fosKC5ogGSsqIpKQwMqjIBpsICdMGQ7ISo4wGApugJCoxLClssElpNEuaI5okKjOI5onKhEQrSiKiaKA/Vu3zOu+8c88593qvj7fgcO99e6/h33udtdda+4khThri9tM1ALaPAQ4Btso9GwNfAyuBb7JHUnzvCq0XANuTgePSs00bFr0L3BuPpF/b4BswtSMAyfDzgYPXRznweQ7ID53IaguA7ROBGcC4TpRV8IRL3SNpVrtyGwOwfVYoaaHgW2AZsBT4CliXnt+BXYBd02d8D5c7rIWc+ZJigRpTIwC2rwauKZH6NLBA0jONNQK2jwJOAU4FtijwPgpMkRTga6kWgO2XgSMKkjoyvGiN7d3SwpxZGHsVOEPSmjoElQBsPwScVhAyR9LMOsHtjNu+Hri8wPMBMF7SqipZLQHYvgq4tsA8S1KZK7Vjb+lc24cDsfJ5ul/SlLYBpGjzVIFxsaTw2Z6R7S2BnwoKpkta0Epp6Q7YfqEQKl+XdGjPLM8Jtn088GzuT9/FOyjpkzL9AwCkQ+qB3OSPki9GOrBByPZ1wBU5ZY9LOrkpgDcLJ2zlFvYCke2NgFcK58VkSRFU+lG/HbA9EYg4nNE7kkb3wsg6mSWesEhSMdz2z0Zt3wRcnBO+wVc/0217WMpesyRxraSd6nbgfWC/NOm3OP4lRVowKGQ73sXIeDMaJ+nFvDF9LmQ78pR8nr5U0oRBsTwpLQnn8yTlPeR/F7I9HngiZ/A0SXcPJoDQbftHIHOjLyTt1WoHLgBuyQ3uKylC6KBS8UyS1C/w5F3oRuDSnLWbSPqzynrbkSdFfG6nGstE3inpkbrVsf0Y0OfKVQAWA5OSwJWS9mggPEJuhN5OaLWkqBMqyfZ9QF/4rALwPHBskrZC0pgGwsPFRtbNazH+s6TIfeoA3JqqwH/nVQG4HTg3SVsnadsGwiMznQYMiM91vKmgP7tuXjHVrgJwGXBDTuC2g3kGZHbYXhQVWva7CkCkyg/nAIyRtKJuhXo9bjuSyOFJzypJ2ff/XCqHdBTwXs6gmZLm9NrAKvm29wY+zc1ZKGlqnqeYzH0PbJ8mLJM0dpABTAfuyNkwVdLCKgDFGniEpC8HC4TtaONEOyej4cUaubgDFwLzcgw9q4HrFsV2pAxvANuluaWpfRHAAUAUNJsmpmhrjJa0tk5ht8dtRx0cITqjAYlcv5c49zJHKI2QmtEG3wXbcaDGwZrRamBsmTuX1cTxEi8H8qnEJElLur3KreTZfgk4Mjc+Q9L8svmtuhLnAUWGka06A90EZjt6UdGTymiJpCxHG6CqqrHVL4lKnMMkRaXWE7J9M3BRwXUmSnqrlcK61uLbwIEF5lGSou3XVbJ9F3BOQeglkgJUS2rS3P0F2LwgYYKkaKWvN9neGYgT//QSYR9Hil/lurUAQqjtOMyK9UEkWXMlfdgJihTn45CK1GCHChmVIBoBSCBixU8qKIrdmRuXG5LigqOWbO+fjA7jizsbqcxsINLsfJ3REkRjAAlEVQUWbfDncjc0UYz/BewJjCh8lgGNZvJsSctt75MabLUg2gKQQBydSrwyn63dgRYTrpQUdwR91BRE2wAyDbYPSk2nuPOKVW6X4t15EHhS0mdlzE1AdAygsFpxwX0CEJcUuwM7lhgULhW5VRgeHYnXmiBuAeI2SXHN272b+gKgzRKQrYFIBNdI+qOJwQ13oi8/68oOdGpYO3xpJ2LV/45zI/t3hSEDoBXYIQ/gH99H3EBePlczAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABYZJREFUaEPVmXmoVVUUxn8f0WRzVkJlIWVGUmIJWWADTVaUldFclCnSQBQYNv1RSCWGVFRSlkRh0GBS2YBmJWGJUBHNNJiYWQSZfwTRxBfrce5jv/3Ovefc++4z3oKLD/fea61v7bXXdMQQJw1x/ekKANs7AOcA44Ddkt/2wJbk9z2wTNIP3TLcgADYvhw4q/gFiLq0ClgBLJf0Ud1DZfs6AmD7UuA64JiBCAf+BR4GHpH0TSe82gJgO6x9PXBqJ8JanPktQABzJP3VDu/aAGzfADzYhPnPQLjFUuA7YHPx+xPYHxhZ/Bt/nw4c14TP+8CFkjbWBVELgO2ngfD3nJYBCyW9Wldg7LN9cigKXATsnJ39HTi+7tuoBGDb3VI852P7QOBO4MoSGaMlfVtlmJYAbL8HHJsxmSdpdhXjdtZt3wPcWnJmhKRfWvFqCsD2PODm7PBdksJiXSfbJwDvZIzfAM6VFG+plEoBFNHmlezEc5LCZweNbEcSjMSX0iJJ09sFsDwLlaslTRo0zRPGts8AXstkTZYUOvWjfjdQJKnFyc7PgCmS1m0NACHD9t3AbYm8yNiT6wKIWJxm2JmSFm4t5QsA2wBvZ/liuqRFuR59bsD2JcAzyaYPJU1oV3nbF8fjAw4DlnTy8Es8YYWk06oAPJnF5I6sb/tF4LxC2CZJ+3VghGFAVK17JmdHSVqf8uq9AdtR+kZNsmOx4Y9I/5KiLGiLbEc4jLDYQ5IqE2aZANvxFqNwbNBNkh5oBiAsFpZr0FJJU9vSvNjcRQBRPKbhfJWkE5sBuBe4JVmcIemJ/xNAyLb9a+JGGyRF+dFLqQstAK5J1g6XFCG0berWDRQA8py0raR/et2z8YftiD4RhRq0naS/W2lv+2wgIkNEm5x630BRaufrj0l6tso6tpcAqSuPkfR1GYAoic8sFtZJOqgG8w+Ao6r2NVnfKCn6hJZkO4+MkyStLgPwJhB1etBaSRNrMA8XG1u1r8n6Fkl7VJ21/VDRBTa29nHt9A28AJxf7NosaXgN5lGZzgD2rdpbsh6N0MyqcyWl9si0Y0sBPA6kVd/wTnJAKNTlR/wUcEUCdBdJ0bX1UArgPmBWsnGipLVVFipb7zKAKCJHFXL6uV0K4NpiMtDQabakaGrapm4BsH0o8GWiwEuSosbqpRRARIQNyVq/rFcXSRcBxBt5NJHbvJQo812gVmOdA+sigCifpyX8x0v6uPQGCgDRWEeD3aCOemDb0XrGm9q1KKevrnt7jX22DwFiqLBX8X8rJZ2S88n7gSOBaGiiMg3aBEyQ9FO7Cgx0v+1ooiJEN2iapEhqfaispcyLuo5uYSAAbEf7GBOJBkXpcETZdKIMwN7AGiAtJS6QFIluq5DtlcBJdVy52VglD6nBa6ykLwYbge05wB2JnLckNUqcfuJbDbbS0qJxcJik6NQGhWzfD9yYMI9ucKqkGByXUtVo8ceSOmecpE+6jcB2XsqEiFmS5reSVQVgNNBbeyeMwioxSh8w2Y6GPzJ+2os0+H4OxPtr6rqVzbbtMcBXJZpGkTVf0qedoCjifCSpq4B9WvBoCaISQDC2PQKIN5GPF6MqjCuOsqOpn6bK2R5fKB3K75QpHpPouUAkvrTPaAqiFoACRMxpwuqNniE3WsxrXk++0EQzHr3rwVGSZP+WGTymD3MlrbEdLerzdUDUBtCQaDvSeXyQKPPZTrwpztwuKS1h4tZrgWgbQALkaOCy4hNrn1FHTRTxdmKQ8LKksjdWC0THADK/jtQ/BQhQBwBl7Wi4VNRWoXhMJN6tA7TJTSyQFJ95u/OlPlfEdjzOALI7EIVgzEfb+nyaGSh3p4h+Pd1jV26gjiUHuqe4ibD6eklRqvfQkAHQzABDHsB/7aMVT352GH8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-speed-icon-text{font-size:14px;min-width:30px;height:20px;line-height:20px;cursor:pointer;text-align:center}.jb-pro-container .jb-pro-speed{box-sizing:border-box;text-align:center;font-size:14px;color:#fff;width:90px}.jb-pro-container .jb-pro-menu-list,.jb-pro-container .jb-pro-quality-menu-list,.jb-pro-container .jb-pro-scale-menu-list,.jb-pro-container .jb-pro-speed-menu-list{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;overflow:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.jb-pro-container .jb-pro-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-speed-menu-shown{visibility:visible;opacity:1}.jb-pro-container .icon-title-tips{pointer-events:none;position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:rgba(0,0,0,.5);border-radius:4px}.jb-pro-container .icon-title{display:inline-block;padding:5px 10px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container .jb-pro-quality-menu{padding:8px 0}.jb-pro-container .jb-pro-menu-item,.jb-pro-container .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-speed-menu-item{display:block;height:25px;line-height:25px;margin:0;padding:0 10px;cursor:pointer;font-size:14px;text-align:center;width:50px;color:hsla(0,0%,100%,.5);transition:color .3s,background-color .3s}.jb-pro-container .jb-pro-menu-item:hover,.jb-pro-container .jb-pro-quality-menu-item:hover,.jb-pro-container .jb-pro-scale-menu-item:hover,.jb-pro-container .jb-pro-speed-menu-item:hover{background-color:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-menu-item:focus,.jb-pro-container .jb-pro-quality-menu-item:focus,.jb-pro-container .jb-pro-scale-menu-item:focus,.jb-pro-container .jb-pro-speed-menu-item:focus{outline:none}.jb-pro-container .jb-pro-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-speed-menu-item-active{color:#2298fc}.jb-pro-container .jb-pro-volume-panel-wrap{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%) translateY(22%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;height:120px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-wrap.jb-pro-volume-panel-wrap-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-volume-panel{cursor:pointer;position:absolute;top:21px;height:60px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-text{position:absolute;left:0;top:0;width:50px;height:20px;line-height:20px;text-align:center;color:#fff;font-size:12px}.jb-pro-container .jb-pro-volume-panel-handle{position:absolute;top:48px;left:50%;width:12px;height:12px;border-radius:12px;margin-left:-6px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:before{bottom:-54px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:after{bottom:6px;background:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-volume-panel-handle:after,.jb-pro-container .jb-pro-volume-panel-handle:before{content:"";position:absolute;display:block;left:50%;width:3px;margin-left:-1px;height:60px}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-controls,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-controls{width:100vh}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-play-big:after,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-play-big:after{transform:translate(-50%,-50%) rotate(270deg)}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading{flex-direction:row}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading-text,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading-text{transform:rotate(270deg)}.jb-pro-container .jb-pro-contextmenus{display:none;flex-direction:column;position:absolute;z-index:120;left:10px;top:10px;min-width:200px;padding:5px 0;background-color:rgba(0,0,0,.9);border-radius:3px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu{cursor:pointer;font-size:12px;display:block;color:#fff;padding:10px 15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu a{color:#fff;text-decoration:none}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span{display:inline-block;padding:0 7px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span.art-current,.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span:hover{color:var(--theme)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:last-child{border-bottom:none}.jb-pro-container.jb-pro-contextmenus-show .jb-pro-contextmenus{display:flex}.jb-pro-container .jb-pro-extend-dom{position:relative;width:100%;height:100%;display:none}.jb-pro-container-playback .jb-pro-controls{height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center{flex:1;display:flex;box-sizing:border-box;justify-content:space-between;font-size:12px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time{box-sizing:border-box;flex:1;position:relative;height:100%}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-inner{width:300px;height:100%;overflow-y:hidden;overflow-x:auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time{position:absolute;left:0;top:0;height:15px;width:1px;background-color:red;text-align:center;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time-text{position:absolute;box-sizing:border-box;padding:0 5px;width:60px;left:-25px;top:15px;border:1px solid red;height:15px;line-height:15px;cursor:move;background-color:#fff;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll{position:relative;width:1440px;margin:0 auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-hour{width:1440px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.half-hour{width:2880px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.ten-min{width:8640px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.five-min{width:17280px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-min{width:86400px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-list{position:relative;background-color:#ccc;height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-day{height:100%;overflow:hidden}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-one-wrap{height:8px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-wrap{height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-btns{display:flex;align-items:center}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one{float:left;width:1px;height:8px;margin:0;cursor:default;position:relative;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.active,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.active{background-color:orange;cursor:pointer}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.start,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.start{background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one:hover .jb-pro-playback-time-title-tips,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one:hover .jb-pro-playback-time-title-tips{visibility:visible;opacity:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips{pointer-events:none;position:absolute;left:0;top:100%;visibility:hidden;opacity:0;transform:translateX(13%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:#000;border-radius:4px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips.jb-pro-playback-time-title-tips-left{transform:translateX(-100%)}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips .jb-pro-playback-time-title{display:inline-block;padding:2px 5px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute{float:left;position:relative;width:60px;box-sizing:border-box;border-top:1px solid #999;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left;height:25px;line-height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child{border-left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child .jb-pro-playback-time-hour-text{left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:after,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:after{content:"";position:absolute;left:0;top:-8px;width:1px;height:14px;background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-text{position:absolute;left:-13px}.jb-pro-container-playback .jb-pro-playback-expand.disabled .jb-pro-icon-expand,.jb-pro-container-playback .jb-pro-playback-narrow.disabled .jb-pro-icon-narrow{cursor:no-drop}.jb-pro-container-playback .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-playback .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-playback .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-playback .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-playback .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-playback .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-playback .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-play-vod .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-play-vod .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-play-vod .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-play-vod .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-play-vod .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-play-vod .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-play-vod .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-playback.jb-pro-fullscreen-web .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-playback-time-inner{overflow-y:auto}.jb-pro-zoom-control{cursor:-webkit-grab;cursor:grab}.jb-pro-performance-panel{position:absolute;box-sizing:border-box;z-index:10000;left:0;top:0;padding:5px;font-size:10px;background:rgba(0,0,0,.2);color:#fff;max-height:100%;overflow-y:auto;display:none}.jb-pro-performance-panel .jb-pro-performance-item{display:flex;align-items:center;margin-top:3px;color:#fff}.jb-pro-performance-panel .jb-pro-performance-item-block{height:10px}.jb-pro-tips-message{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.8),hsla(0,0%,100%,0));overflow:auto;box-sizing:content-box;z-index:10;display:none}.jb-pro-tips-message:before{color:hsla(0,0%,100%,.3);content:"X";font-family:Arial,Helvetica,sans-serif;font-size:40px;left:0;line-height:1;margin-top:-20px;position:absolute;text-shadow:2em 2em 4em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.jb-pro-tips-message .jb-pro-tips-message-close{position:absolute;z-index:99999;right:0;top:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.jb-pro-tips-message .jb-pro-tips-message-close .jb-pro-tips-message-close-icon{width:20px;height:20px;border-radius:10px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-color:#fff;background-size:100% 100%}.jb-pro-tips-message .jb-pro-tips-message-content{overflow:auto;padding:35px;box-sizing:border-box;width:100%;height:100%;z-index:99999}.jb-pro-tips-message .jb-pro-tips-message-content .jb-pro-tips-message-content-item{font-size:14px;color:#fff;text-align:center;line-height:1.5}'),function(t,e){const s=Sm,i=t();for(;;)try{if(167493===-parseInt(s(244))/1+-parseInt(s(259))/2+-parseInt(s(257))/3*(parseInt(s(238))/4)+-parseInt(s(258))/5*(parseInt(s(247))/6)+-parseInt(s(256))/7+-parseInt(s(237))/8*(parseInt(s(260))/9)+parseInt(s(261))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vm);const wm=Em;function Em(t,e){const s=Im();return(Em=function(t,e){return s[t-=173]})(t,e)}function Im(){const t=["$ptzApertureFar","innerText","ease","$volumeHandle","$playbackTimeListOne","right","deg)","\n
      ","left","$playbackTimeList",'
      \n ','\n
      \n ',"$ptzCruisePlay","$ptzWiperClose","$recordingTime","$tipsMessageContent","$scaleText","getExtendBtnActive","contain",'-active">\n ","hotKey","split","extend button icon is required","auto","index","src","created","$zoomStop","iconHover",".jb-pro-loading-bg","$controlsLeft","from",".jb-pro-poster","$loadingText","\n ","display","background","$ptz","multiIndex","extend button name: ","$ptzWiperOpen","loadingIconStyle","click","\n
      \n ","$playbackTimeScroll","transform","loadingBackgroundWidth","removeExtendDom","$ptzFogClose","mouseout","$tipsMessageClose","107KLGnIc","$volumePanelWrap","isInMulti","top","$qualityMenu","_initLoadingBackgroundForRatio","width",".jb-pro-icon-loading","hideTipsMessage","player",") no-repeat center","100%","updateControlSize","scale(",'\n
      \n ',"autoSize","preventDefault","animationIterationCount","jb-pro-controls-show-auto-hide",'\n ',"forEach","$speedMenuList","$volume","addExtendDom","$ptzControlCircular","getBtnIndex","default","isResize","video","$faceDetect","$controlsPlaybackBtns","initLoadingBackground()","controlsPlaybackBtnsRect","$ptzControl","none","_initLoadingBackgroundForCanvas","
      ","\n
      \n ","px 0","activeIconHover","_initLoadingBackgroundForVideo","643040dwrHDq","bottom","_validateExtendBtn","$play","$recording","updateExtendDom","updatePtzPosition","
      \n ","updateLoadingText","init","resizeLoadingBackground","videoRenderSupportScale","toggleExtendDom","24fTlhGo","$controls","initLoadingBackground",".jb-pro-control-extend-","$record","canvas","$controlsRight","remove","$zoom","style","$logSave","iconTitle","controlsRightRect","$performancePanel","$objectDetect","$zoomControls","small","children","$iconWrap",".jb-pro-loading","$zoomNarrow","call","kbpsShow","0 KB/s","addExtendBtn","push","474332ADAaJN","getExtendDomIsShow","$playbackNarrow","$playbackProgressPlayed","keys","aspectRatio","destroy","length","$performanceActive","classList","$volumePanel","$playbackProgressHover","$$playbackProgressTip",'">\n ',"$scaleMenu","$volumeOn","backgroundImage","loadingBackgroundHeight","icon",'
      Error Type:',"$playbackTimeInner","$speed","$loadingBgImage","height","$volumePanelText","initLoadingIconStyle","findIndex","$scaleMenuList","beforebegin","100% 100%",".jb-pro-ptz-controls","jb-pro-controls-small","removeChild","hasAnimation","$occlusionDetectActive",".jb-pro-extend-dom","debugWarn","flex","$ptzBgActive",".jb-pro-recording","2174600KSsKWK","activeIconTitle","extend button name is required",".jb-pro-play-big","getControlHtml","background-size","getControlHeight","$recordingStop","$loadingBg","$controlHtml","animationName","map","mirrorRotate","insertAdjacentHTML","$contextmenus","9GXbVJX","showPlayBtn",'">\n ',"vertical","mouseover","activeIcon"];return(Im=function(){return t})()}!function(t,e){const s=Em,i=t();for(;;)try{if(123944===-parseInt(s(340))/1*(-parseInt(s(278))/2)+-parseInt(s(176))/3*(-parseInt(s(428))/4)+parseInt(s(389))/5+-parseInt(s(295))/6+-parseInt(s(177))/7*(parseInt(s(402))/8)+-parseInt(s(237))/9*(-parseInt(s(222))/10)+-parseInt(s(273))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Im);class Tm{constructor(t){const e=Em;var s,i;this[e(349)]=t,this.TAG_NAME="Control",this[e(187)]=[],((t,e)=>{const s=Vf;t[s(740)][s(744)]&&t[s(740)][s(518)]?t.$container.classList[s(676)](s(624)):t[s(491)][s(577)][s(676)]("jb-pro-controls-show");const i=t[s(740)],r=i.operateBtns,n=s(500)+(i[s(613)][s(578)]?s(736)+jf[s(501)]+s(713)+jf.expand+s(671):"")+"\n
      \n ",o=s(527);t[s(491)][s(572)](s(704),"\n "+(i[s(731)]?s(490)+i[s(731)]+s(561):"")+'\n
      \n \n
      \n '+(i[s(657)]?s(650)+jf[s(715)]+s(672)+i[s(739)]+s(671):"")+s(621)+(i[s(744)]&&r[s(661)]?'
      ':"")+s(621)+(i[s(744)]&&r[s(590)]?s(506)+i[s(499)]+'">\n
      \n
      \n
      \n
      \n
      \n '+(i[s(647)]?s(693):"")+s(586)+(i[s(712)]?'\n
      \n
      \n \n \n 缩放+\n \n
      \n
      \n \n \n 缩放-\n \n
      \n
      \n ':"")+s(553)+(i[s(601)]?s(706):"")+s(553)+(i[s(620)]?'\n
      \n
      \n \n \n 聚焦+\n \n
      \n
      \n \n \n 聚焦-\n \n
      \n
      \n ':"")+"\n "+(i[s(588)]?s(703):"")+s(553)+(i.ptzFogShow?s(584):"")+s(708)+(i[s(648)]?s(524):"")+"\n
      \n
      \n ":"")+s(635)+(i[s(734)]?s(698)+jf[s(501)]+s(686)+jf.expand+s(733)+jf.zoomStop+s(523)+jf[s(496)]+s(622):"")+"\n\n "+(i[s(744)]?s(651)+(i[s(723)]?s(612):"")+s(617)+i[s(626)]+s(663)+(i[s(634)]===c[s(681)]&&i[s(613)].showControl&&i[s(613)].controlType===A[s(492)]?n:"")+s(574)+(i[s(634)]===c.playbackTF&&i[s(613)][s(665)]&&i[s(613)].controlType===A[s(727)]?o:"")+s(574)+(i.playType===c[s(641)]?o:"")+s(543)+(i[s(634)]===c[s(681)]&&i[s(613)][s(540)]||i.playType===c.playVod&&i[s(642)][s(540)]?s(606):"")+"\n "+(r[s(721)]?'
      '+jf[s(721)]+s(532):"")+s(741)+(r.logSave?s(670)+jf[s(529)]+s(532):"")+s(741)+(r.performance?s(485)+jf[s(688)]+s(517)+jf.performanceActive+s(532):"")+s(741)+(r[s(618)]?'
      '+jf.face+s(616)+jf[s(494)]+s(532):"")+s(741)+(r[s(593)]?s(690)+jf.object+'
      '+jf[s(533)]+s(532):"")+"\n "+(r[s(544)]?s(502)+jf.occlusion+s(644)+jf[s(537)]+s(532):"")+s(741)+(r.quality?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':"")+s(741)+(r[s(489)]?s(554):"")+s(741)+(r[s(487)]?'\n
      \n
      \n '+jf.audio+s(541)+jf[s(591)]+s(592):"")+"\n "+(r.play?s(607)+jf.play+s(526)+jf[s(503)]+"
      ":"")+s(741)+(r[s(514)]?s(580)+jf[s(514)]+"
      ":"")+s(741)+(r[s(610)]?'
      '+jf.record+s(682)+jf[s(496)]+"
      ":"")+s(741)+(r.ptz?s(483)+jf[s(590)]+s(488)+jf[s(696)]+s(532):"")+s(741)+(r[s(535)]?s(505)+jf[s(535)]+'
      '+jf[s(536)]+s(532):"")+s(741)+(r[s(608)]?s(729)+jf[s(608)]+s(645)+jf[s(664)]+s(532):"")+"\n
      \n
      \n
      \n ":"")+s(571)),Object.defineProperty(e,s(656),{value:t[s(491)][s(629)](s(680)),configurable:!0}),Object[s(513)](e,"$loadingBg",{value:t[s(491)][s(629)](s(653)),configurable:!0}),Object[s(513)](e,"$loadingBgImage",{value:t.$container.querySelector(s(556)),configurable:!0}),Object[s(513)](e,s(597),{value:t[s(491)].querySelector(".jb-pro-loading"),configurable:!0}),Object.defineProperty(e,s(568),{value:t[s(491)][s(629)](s(504)),configurable:!0}),Object[s(513)](e,s(522),{value:t[s(491)][s(629)](s(700)),configurable:!0}),Object.defineProperty(e,s(640),{value:t[s(491)][s(629)](s(719)),configurable:!0}),Object[s(513)](e,s(717),{value:t.$container[s(629)](s(709)),configurable:!0}),Object[s(513)](e,s(602),{value:t.$container[s(629)](".jb-pro-recording-time"),configurable:!0}),Object[s(513)](e,"$recordingStop",{value:t[s(491)][s(629)](s(508)),configurable:!0}),Object.defineProperty(e,s(720),{value:t[s(491)][s(629)](s(484)),configurable:!0}),Object[s(513)](e,s(609),{value:t[s(491)].querySelector(".jb-pro-controls"),configurable:!0}),Object[s(513)](e,s(683),{value:t[s(491)][s(629)](s(585)),configurable:!0}),Object.defineProperty(e,s(510),{value:t[s(491)][s(629)](".jb-pro-controls-left"),configurable:!0}),Object[s(513)](e,s(694),{value:t[s(491)][s(629)](s(639)),configurable:!0}),Object.defineProperty(e,"$volume",{value:t[s(491)][s(629)](".jb-pro-volume"),configurable:!0}),Object[s(513)](e,s(702),{value:t[s(491)][s(629)](s(685)),configurable:!0}),Object[s(513)](e,s(732),{value:t[s(491)].querySelector(s(521)),configurable:!0}),Object.defineProperty(e,s(678),{value:t[s(491)][s(629)](s(581)),configurable:!0}),Object.defineProperty(e,s(725),{value:t.$container.querySelector(s(565)),configurable:!0}),Object[s(513)](e,s(530),{value:t[s(491)][s(629)](s(684)),configurable:!0}),Object[s(513)](e,s(566),{value:t[s(491)][s(629)](".jb-pro-icon-mute"),configurable:!0}),Object[s(513)](e,"$fullscreen",{value:t[s(491)][s(629)](s(742)),configurable:!0}),Object[s(513)](e,s(575),{value:t.$container[s(629)](s(673)),configurable:!0}),Object[s(513)](e,s(728),{value:t.$container[s(629)](s(569)),configurable:!0}),Object[s(513)](e,"$recordStop",{value:t.$container[s(629)](s(560)),configurable:!0}),Object[s(513)](e,"$screenshot",{value:t.$container[s(629)](s(555)),configurable:!0}),Object[s(513)](e,"$speed",{value:t.$container[s(629)](s(587)),configurable:!0}),Object[s(513)](e,s(545),{value:t[s(491)].querySelector(".jb-pro-controls-item-html"),configurable:!0}),Object[s(513)](e,"$playbackTime",{value:t[s(491)].querySelector(".jb-pro-controls-playback-time"),configurable:!0}),Object.defineProperty(e,s(576),{value:t[s(491)][s(629)](s(628)),configurable:!0}),Object[s(513)](e,"$playbackTimeScroll",{value:t.$container[s(629)](s(631)),configurable:!0}),Object.defineProperty(e,s(563),{value:t[s(491)].querySelector(".jb-pro-controls-playback-time-list"),configurable:!0}),Object[s(513)](e,s(599),{value:t[s(491)][s(629)](s(718)),configurable:!0}),Object[s(513)](e,"$playbackTimeListSecond",{value:t[s(491)][s(629)](s(743)),configurable:!0}),Object[s(513)](e,s(625),{value:t[s(491)][s(629)](".jb-pro-controls-playback-current-time"),configurable:!0}),Object.defineProperty(e,"$playbackCurrentTimeText",{value:t.$container[s(629)](s(636)),configurable:!0}),Object[s(513)](e,s(669),{value:t[s(491)].querySelector(".jb-pro-controls-playback-btns"),configurable:!0}),Object[s(513)](e,s(604),{value:t.$container[s(629)](".jb-pro-playback-narrow"),configurable:!0}),Object[s(513)](e,s(605),{value:t[s(491)][s(629)](s(652)),configurable:!0}),Object[s(513)](e,s(654),{value:t[s(491)][s(629)](".jb-pro-ptz"),configurable:!0}),Object[s(513)](e,s(542),{value:t[s(491)].querySelector(s(583)),configurable:!0}),Object[s(513)](e,s(509),{value:t[s(491)].querySelector(".jb-pro-ptz-controls"),configurable:!0}),Object[s(513)](e,"$ptzBgActive",{value:t[s(491)][s(629)](s(525)),configurable:!0}),Object[s(513)](e,s(637),{value:t.$container.querySelector(s(559)),configurable:!0}),Object[s(513)](e,"$ptzArrows",{value:t.$container[s(549)](s(675)),configurable:!0}),Object[s(513)](e,"$ptzExpand",{value:t.$container.querySelector(".jb-pro-ptz-expand"),configurable:!0}),Object[s(513)](e,s(512),{value:t[s(491)][s(629)](s(679)),configurable:!0}),Object[s(513)](e,s(573),{value:t.$container[s(629)](".jb-pro-ptz-aperture-far"),configurable:!0}),Object.defineProperty(e,s(710),{value:t.$container[s(629)](s(658)),configurable:!0}),Object.defineProperty(e,"$ptzFocusFar",{value:t[s(491)][s(629)](s(643)),configurable:!0}),Object.defineProperty(e,"$ptzFocusNear",{value:t.$container.querySelector(s(498)),configurable:!0}),Object[s(513)](e,s(552),{value:t[s(491)][s(629)](s(627)),configurable:!0}),Object[s(513)](e,"$ptzCruisePause",{value:t.$container[s(629)](s(711)),configurable:!0}),Object[s(513)](e,s(611),{value:t.$container[s(629)](s(546)),configurable:!0}),Object[s(513)](e,"$ptzFogClose",{value:t[s(491)][s(629)](".jb-pro-ptz-fog-close"),configurable:!0}),Object.defineProperty(e,s(737),{value:t[s(491)][s(629)](s(630)),configurable:!0}),Object[s(513)](e,s(697),{value:t[s(491)][s(629)](s(716)),configurable:!0}),Object[s(513)](e,s(614),{value:t[s(491)][s(629)](".jb-pro-quality-icon-text"),configurable:!0}),Object.defineProperty(e,s(667),{value:t[s(491)].querySelector(s(538)),configurable:!0}),Object[s(513)](e,s(594),{value:t[s(491)][s(629)](s(567)),configurable:!0}),Object[s(513)](e,"$scaleText",{value:t.$container[s(629)](s(539)),configurable:!0}),Object[s(513)](e,s(707),{value:t[s(491)].querySelector(".jb-pro-scale-menu"),configurable:!0}),Object[s(513)](e,s(619),{value:t[s(491)].querySelector(s(579)),configurable:!0}),Object[s(513)](e,s(699),{value:t.$container.querySelector(s(738)),configurable:!0}),Object[s(513)](e,"$zoomStop",{value:t.$container[s(629)](s(638)),configurable:!0}),Object[s(513)](e,s(528),{value:t[s(491)].querySelector(s(677)),configurable:!0}),Object[s(513)](e,s(668),{value:t[s(491)].querySelector(s(551)),configurable:!0}),Object[s(513)](e,s(589),{value:t[s(491)][s(629)](".jb-pro-zoom-stop2"),configurable:!0}),Object.defineProperty(e,s(558),{value:t[s(491)][s(629)](s(495)),configurable:!0}),Object[s(513)](e,"$zoomControls",{value:t[s(491)][s(629)](".jb-pro-zoom-controls"),configurable:!0}),Object[s(513)](e,s(615),{value:t[s(491)][s(629)](".jb-pro-performance-panel"),configurable:!0}),Object[s(513)](e,s(493),{value:t[s(491)].querySelector(s(548)),configurable:!0}),Object[s(513)](e,"$performanceActive",{value:t.$container[s(629)](s(596)),configurable:!0}),Object.defineProperty(e,s(486),{value:t[s(491)].querySelector(s(519)),configurable:!0}),Object[s(513)](e,s(582),{value:t[s(491)][s(629)](".jb-pro-face-active"),configurable:!0}),Object[s(513)](e,s(623),{value:t.$container.querySelector(s(633)),configurable:!0}),Object.defineProperty(e,s(600),{value:t[s(491)][s(629)](s(701)),configurable:!0}),Object[s(513)](e,s(550),{value:t[s(491)][s(629)](s(722)),configurable:!0}),Object.defineProperty(e,s(531),{value:t[s(491)][s(629)](s(655)),configurable:!0}),Object.defineProperty(e,s(666),{value:t.$container.querySelector(s(564)),configurable:!0}),Object[s(513)](e,"$speedText",{value:t.$container[s(629)](s(570)),configurable:!0}),Object[s(513)](e,s(724),{value:t[s(491)].querySelector(s(692)),configurable:!0}),Object[s(513)](e,s(507),{value:t[s(491)][s(629)](".jb-pro-speed-menu-list"),configurable:!0}),Object[s(513)](e,s(730),{value:t.$container[s(629)](s(520)),configurable:!0}),Object[s(513)](e,s(534),{value:t[s(491)][s(629)](s(687)),configurable:!0}),Object[s(513)](e,"$playbackProgressTip",{value:t[s(491)][s(629)](s(516)),configurable:!0}),Object[s(513)](e,s(689),{value:t[s(491)][s(629)](s(557)),configurable:!0}),Object[s(513)](e,s(646),{value:t[s(491)].querySelector(".jb-pro-progress-played"),configurable:!0}),Object.defineProperty(e,s(649),{value:t.$container[s(629)](s(714))}),Object.defineProperty(e,s(695),{value:t[s(491)][s(629)](s(547)),configurable:!0}),Object[s(513)](e,s(662),{value:t[s(491)][s(629)](s(632)),configurable:!0}),Object[s(513)](e,s(562),{value:t[s(491)][s(629)](s(691)),configurable:!0}),Object[s(513)](e,s(497),{value:t[s(491)][s(629)](s(726)),configurable:!0}),Object[s(513)](e,s(515),{value:t.$container[s(629)](s(735)),configurable:!0})})(t,this),t._opt[e(292)][e(435)]>0&&t[e(188)].extendOperateBtns[e(368)]((t=>{this[e(426)](t)})),t._opt[e(190)]&&t[e(188)].extendDomConfig[e(254)]&&this[e(371)](t._opt[e(190)]),s=this,i=fm,Object[i(137)](s,i(144),{get:()=>{var t=i;return s[t(138)]&&s[t(138)][t(143)]()||{}},configurable:!0}),Object.defineProperty(s,i(147),{get:()=>{var t=i;return s[t(126)]&&s.$controlsInner[t(143)]()||{}},configurable:!0}),Object[i(137)](s,"controlsLeftRect",{get:()=>{var t=i;return s[t(146)]&&s.$controlsLeft[t(143)]()||{}},configurable:!0}),Object[i(137)](s,i(128),{get:()=>{var t=i;return s[t(127)]&&s[t(127)][t(143)]()||{}},configurable:!0}),Object[i(137)](s,i(145),{get:()=>{var t=i;return s.$playbackTimeInner&&s[t(133)][t(143)]()||{}},configurable:!0}),Object.defineProperty(s,i(132),{get:()=>{var t=i;return s[t(140)]&&s.$controlsPlaybackBtns[t(143)]()||{width:0}},configurable:!0}),um(t,this),((t,e)=>{const s=gm,{events:{proxy:i},debug:r}=t,n=t[s(508)],o=n.operateBtns;function a(t){const i=s,{bottom:r,height:n}=e[i(659)][i(653)](),{height:o}=e.$volumeHandle[i(653)]();return Me(r-t.y-o/2,0,n-o/2)/(n-o)}function h(i){const r=s;let n=arguments[r(680)]>1&&void 0!==arguments[1]&&arguments[1];i[r(590)]()[r(633)](t[r(627)])>-1?e[r(675)]=!0:e.isFocus=!1,n&&!t.fullscreen&&t[r(508)][r(616)]&&t[r(508)].controlAutoHide&&(e[r(675)]?(Fe(e[r(543)],r(580),r(668)),d()):(u(),Fe(e.$controls,"display",r(699))))}if(Ge()?i(window,[s(683),s(594)],(t=>{t[s(520)](),h(t)})):i(window,s(683),(t=>{t[s(520)](),h(t,!0)})),i(e[s(543)],"click",(t=>{t[s(520)]()})),o[s(664)]&&(i(e.$pause,s(683),(e=>{const i=s;n.playType===c[i(615)]&&n[i(689)].uiUsePlaybackPause?t[i(533)]=!0:n[i(611)]===c[i(629)]?t[i(598)]=!0:Cs(o.pauseFn)?o[i(572)]():t[i(701)]()})),i(e[s(548)],"click",(e=>{const i=s;n[i(611)]===c[i(615)]&&t[i(533)]?t[i(533)]=!1:n[i(611)]===c.playVod?t[i(598)]=!1:Cs(o[i(550)])?o[i(550)]():t[i(710)]()[i(660)]((()=>{t[i(632)]()}))[i(621)]((t=>{}))}))),i(e[s(687)],s(683),(i=>{const r=s;n.playType===c[r(615)]&&t[r(533)]?t.playbackPause=!1:n[r(611)]===c[r(629)]?t[r(598)]=!1:e[r(558)]?t.emit(B.clickInitPlayer):Cs(o[r(550)])?o[r(550)]():t[r(710)]().then((()=>{t[r(632)]()}))})),o[s(569)]&&i(e[s(552)],s(683),(e=>{const i=s;e[i(520)](),Cs(o[i(517)])?o[i(517)]():t[i(625)][i(569)]()})),o[s(513)]&&(Ge()&&(i(e[s(628)],s(534),(()=>{const t=s;e[t(511)][t(622)].add(t(544))})),i(e[s(628)],s(679),(()=>{const t=s;e[t(511)][t(622)].remove("jb-pro-volume-panel-wrap-show")})),i(e[s(659)],"click",(e=>{const i=s;e[i(520)](),t[i(662)]=a(e)})),i(e.$volumeHandle,s(678),(t=>{const i=s;t[i(520)](),e[i(596)]=!0})),i(e[s(532)],"mousemove",(i=>{e[s(596)]&&(t.volume=a(i))})),i(document,s(697),(()=>{const t=s;e.isVolumeDroging&&(e[t(596)]=!1)}))),i(e[s(537)],s(683),(i=>{const r=s;i.stopPropagation(),Fe(e.$volumeOn,r(580),"none"),Fe(e[r(566)],r(580),"block");const n=t[r(662)];t[r(662)]=0,t[r(525)]=Ge()?n:1})),i(e[s(566)],"click",(i=>{const r=s;i[r(520)](),Fe(e[r(537)],r(580),"block"),Fe(e[r(566)],r(580),r(699)),t[r(662)]=Ge()?t[r(539)]||.5:1}))),o.record&&(i(e[s(692)],s(683),(e=>{const i=s;e.stopPropagation(),Cs(o[i(663)])?o[i(663)]():t[i(648)]=!0})),i(e[s(606)],s(683),(e=>{const i=s;e[i(520)](),Cs(o[i(518)])?o[i(518)]():t[i(648)]=!1}))),i(e[s(640)],"click",(e=>{const i=s;e[i(520)](),Cs(o[i(518)])?o[i(518)]():t.recording=!1})),o.fullscreen&&(i(e[s(499)],"click",(e=>{const i=s;e[i(520)](),Cs(o[i(515)])?o.fullscreenFn():t[i(676)]=!0})),i(e.$fullscreenExit,s(683),(e=>{const i=s;e[i(520)](),Cs(o[i(691)])?o[i(691)]():t[i(676)]=!1}))),o[s(542)]){i(e[s(577)],"click",(t=>{const i=s;t[i(520)](),Fe(e[i(504)],i(580),i(685)),Fe(e[i(577)],"display",i(699)),e[i(559)].classList.add("jb-pro-ptz-controls-show")})),i(e[s(504)],s(683),(t=>{const i=s;t[i(520)](),Fe(e[i(577)],i(580),i(685)),Fe(e.$ptzActive,i(580),i(699)),e[i(559)].classList[i(656)](i(586))}));const p=ri();if(e.$ptzArrows.forEach((r=>{const o=s;if(n[o(574)]===g[o(683)])i(r,o(683),(s=>{const i=o;s.stopPropagation();const r=s.currentTarget[i(673)][i(682)];e[i(706)][i(622)].add(i(690)),e[i(706)][i(622)][i(576)]("jb-pro-ptz-bg-active-"+r),e[i(624)][i(622)][i(576)](i(522)+r),t[i(666)](B[i(542)],Xs(r)),setTimeout((()=>{const s=i;e[s(706)][s(622)][s(656)]("jb-pro-ptz-bg-active-show"),rt[s(595)]((t=>{const i=s;e[i(706)][i(622)][i(656)](i(536)+t),e[i(624)].classList[i(656)](i(522)+t)})),t[s(666)](B.ptz,nt[s(579)])}),1e3*n[i(688)])}));else if(n[o(574)]===g[o(581)]){let s=!1;i(r,p.down,(i=>{const r=o;i.stopPropagation(),s=!0;const n=i.currentTarget[r(673)][r(682)];e[r(706)].classList[r(576)]("jb-pro-ptz-bg-active-show"),e.$ptzBgActive[r(622)][r(576)](r(536)+n),e[r(624)].classList[r(576)]("jb-pro-ptz-control-"+n),t[r(666)](B[r(542)],Xs(n))}));const n=()=>{const i=o;s=!1,e[i(706)][i(622)].remove("jb-pro-ptz-bg-active-show"),rt[i(595)]((t=>{const s=i;e[s(706)][s(622)].remove("jb-pro-ptz-bg-active-"+t),e.$ptzControlCircular[s(622)][s(656)](s(522)+t)})),t[i(666)](B[i(542)],nt.stop)};i(r,p.up,(t=>{t[o(520)](),s&&n()})),i(window,p.up,(t=>{t[o(520)](),s&&n()}))}})),n[s(652)])if(n[s(574)]===g[s(683)])i(e[s(575)],s(683),(e=>{const i=s;e[i(520)](),t[i(666)](B[i(542)],nt.zoomExpand),setTimeout((()=>{const e=i;t[e(666)](B[e(542)],nt.stop)}),1e3*n.ptzStopEmitDelay)})),i(e[s(512)],"click",(e=>{const i=s;e.stopPropagation(),t[i(666)](B[i(542)],nt[i(505)]),setTimeout((()=>{const e=i;t[e(666)](B.ptz,nt[e(579)])}),1e3*n.ptzStopEmitDelay)}));else if(n[s(574)]===g[s(581)]){let f=!1,m=!1;i(e[s(575)],p.down,(e=>{const i=s;e[i(520)](),f=!0,t[i(666)](B[i(542)],nt[i(686)])})),i(e[s(512)],p[s(584)],(e=>{const i=s;e.stopPropagation(),m=!0,t.emit(B.ptz,nt[i(505)])}));const y=()=>{const e=s;f=!1,m=!1,t[e(666)](B[e(542)],nt[e(579)])};i(e[s(575)],p.up,(t=>{t[s(520)](),f&&y()})),i(e.$ptzNarrow,p.up,(t=>{t[s(520)](),m&&y()})),i(window,p.up,(t=>{t.stopPropagation(),(f||m)&&y()}))}if(n[s(612)])if(n.ptzClickType===g[s(683)])i(e[s(564)],s(683),(e=>{const i=s;e[i(520)](),t[i(666)](B[i(542)],nt[i(560)]),setTimeout((()=>{const e=i;t[e(666)](B.ptz,nt[e(703)])}),1e3*n.ptzStopEmitDelay)})),i(e.$ptzApertureNear,s(683),(e=>{const i=s;e[i(520)](),t[i(666)](B[i(542)],nt[i(571)]),setTimeout((()=>{t.emit(B.ptz,nt.fiStop)}),1e3*n[i(688)])}));else if(n[s(574)]===g[s(581)]){let b=!1,v=!1;i(e[s(564)],p.down,(e=>{const i=s;e[i(520)](),b=!0,t[i(666)](B[i(542)],nt[i(560)])})),i(e[s(711)],p[s(584)],(e=>{const i=s;e[i(520)](),v=!0,t[i(666)](B.ptz,nt[i(571)])}));const S=()=>{const e=s;b=!1,v=!1,t[e(666)](B[e(542)],nt[e(703)])};i(e[s(564)],p.up,(t=>{t[s(520)](),b&&S()})),i(e[s(711)],p.up,(t=>{t[s(520)](),v&&S()})),i(window,p.up,(t=>{t[s(520)](),(b||v)&&S()}))}if(n[s(521)])if(n[s(574)]===g[s(683)])i(e.$ptzFocusFar,s(683),(e=>{const i=s;e[i(520)](),t[i(666)](B.ptz,nt[i(592)]),setTimeout((()=>{t.emit(B.ptz,nt.fiStop)}),1e3*n[i(688)])})),i(e[s(695)],s(683),(e=>{const i=s;e[i(520)](),t.emit(B[i(542)],nt[i(646)]),setTimeout((()=>{const e=i;t.emit(B[e(542)],nt.fiStop)}),1e3*n.ptzStopEmitDelay)}));else if(n[s(574)]===g.mouseDownAndUp){let w=!1,E=!1;i(e[s(654)],p[s(584)],(e=>{const i=s;e[i(520)](),w=!0,t.emit(B[i(542)],nt[i(592)])})),i(e[s(695)],p.down,(e=>{const i=s;e.stopPropagation(),E=!0,t[i(666)](B[i(542)],nt.focusNear)}));const I=()=>{const e=s;w=!1,E=!1,t[e(666)](B[e(542)],nt.fiStop)};i(e[s(654)],p.up,(t=>{t[s(520)](),w&&I()})),i(e[s(695)],p.up,(t=>{t[s(520)](),E&&I()})),i(window,p.up,(t=>{t[s(520)](),(w||E)&&I()}))}if(n[s(607)]&&(i(e.$ptzCruisePlay,s(683),(e=>{const i=s;e[i(520)](),t[i(666)](B.ptz,nt.cruiseStart)})),i(e.$ptzCruisePause,s(683),(e=>{const i=s;e.stopPropagation(),t[i(666)](B[i(542)],nt[i(672)])}))),n[s(501)]&&(i(e[s(602)],s(683),(e=>{const i=s;e[i(520)](),t[i(666)](B[i(542)],nt[i(530)])})),i(e[s(498)],s(683),(e=>{const i=s;e[i(520)](),t.emit(B[i(542)],nt[i(523)])}))),n.ptzWiperShow&&(i(e[s(593)],s(683),(e=>{e[s(520)](),t.emit(B.ptz,nt.wiperOpen)})),i(e[s(519)],"click",(e=>{const i=s;e[i(520)](),t.emit(B[i(542)],nt[i(585)])}))),n[s(700)]){function T(){const t=s;e[t(637)]&&(e.isPtzControlDroging=!1,e[t(559)][t(655)][t(603)]=t(540),e[t(502)]={x:0,y:0})}e.isPtzControlDroging=!1,e[s(502)]={x:0,y:0},i(e[s(559)],p.down,(t=>{const i=s;t.stopPropagation(),e[i(637)]=!0,e[i(559)][i(655)].cursor="grabbing";const{posX:r,posY:n}=Rs(t);e[i(502)]={x:r,y:n}})),i(e[s(559)],p.move,(t=>{const i=s;if(e.isPtzControlDroging){t.stopPropagation();const{posX:s,posY:r}=Rs(t),n=e[i(502)].x-s,o=e[i(502)].y-r;e.$ptzControl.style[i(514)]=e[i(559)][i(524)]-n+"px",e.$ptzControl[i(655)][i(647)]=e[i(559)][i(708)]-o+"px",e[i(502)]={x:s,y:r}}})),i(e.$ptzControl,p.up,(t=>{t[s(520)](),T()})),i(window,p.up,(t=>{t[s(520)](),T()}))}}o[s(618)]&&(i(e[s(639)],s(683),(e=>{const i=s;e[i(520)](),t[i(573)](!0)})),i(e[s(589)],s(683),(e=>{const i=s;e[i(520)](),t[i(573)](!1)}))),o.logSave&&i(e[s(669)],s(683),(e=>{const i=s;e[i(520)](),t[i(696)]()})),o[s(588)]&&(i(e[s(651)],s(683),(e=>{const i=s;e[i(520)](),t[i(636)](!0)})),i(e[s(604)],s(683),(e=>{const i=s;e[i(520)](),t[i(636)](!1)}))),o.aiObject&&(i(e[s(698)],s(683),(e=>{const i=s;e[i(520)](),t[i(562)](!0)})),i(e[s(702)],s(683),(e=>{const i=s;e[i(520)](),t[i(562)](!1)}))),o[s(641)]&&(i(e[s(597)],"click",(e=>{e.stopPropagation(),t.occlusionDetect(!0)})),i(e[s(527)],"click",(e=>{const i=s;e.stopPropagation(),t[i(638)](!1)})));let l=null;const d=()=>{const i=s;u(),l=setTimeout((()=>{const t=gm;Fe(e[t(543)],t(580),t(699))}),1e3*t._opt[i(671)])},u=()=>{l&&(clearTimeout(l),l=null)};if(t._opt[s(616)]&&t[s(508)][s(541)]&&Ge()&&(i(t.$container,"mouseover",(()=>{const i=s;!t[i(676)]&&(Fe(e[i(543)],"display",i(668)),d())})),i(t.$container,s(709),(()=>{const i=s;t.$container&&e[i(543)]&&(t.fullscreen?e.$controls[i(655)][i(580)]===i(699)&&(Fe(e[i(543)],i(580),i(668)),d()):e[i(543)].style[i(580)]===i(699)&&(Fe(e.$controls,i(580),i(668)),d()))})),i(t[s(627)],s(679),(()=>{const t=s;u(),Fe(e[t(543)],t(580),t(699))}))),t[s(508)].playType===c.playbackTF){let k=t[s(508)].playbackConfig[s(620)];t[s(508)].playbackConfig.showRateBtn&&(i(e.$speedMenu,s(534),(()=>{const t=s;e[t(526)][t(622)][t(576)](t(667))})),i(e[s(609)],s(679),(()=>{const t=s;e[t(526)][t(622)][t(656)]("jb-pro-speed-menu-shown")})),i(e[s(526)],s(683),(e=>{const i=s,r=ks(e);if(r[i(599)]("div.jb-pro-speed-menu-item")){const e=r[i(673)];t[i(666)](B[i(631)],e[i(556)])}}))),k===A.normal?(i(e[s(644)],s(683),(e=>{const i=s;e[i(520)](),t[i(623)]&&t[i(623)][i(500)]()})),i(e[s(670)],s(683),(e=>{const i=s;e[i(520)](),t[i(623)]&&t[i(623)][i(613)]()})),i(e.$playbackTimeList,s(683),(e=>{const i=s,r=ks(e);r[i(599)](i(554))&&t[i(623)]&&t[i(623)][i(516)](r[i(673)])})),t._opt[s(689)][s(610)]&&i(e[s(529)],s(531),(e=>{const i=s;e[i(674)](),(e.wheelDelta?e.wheelDelta/120:-(e[i(509)]||0)/3)>0?t.playback&&t[i(623)][i(613)]():t[i(623)]&&t[i(623)][i(500)]()}))):k===A.simple&&(e[s(677)]=!1,i(e[s(583)],s(683),(i=>{const r=s;if(i[r(555)]!==e[r(619)]){let s=0,n=0;if(t.isInWebFullscreen())s=i[r(503)][0][r(658)]/t[r(591)],n=s*t.playback[r(547)];else{const o=Xf(e,t[r(623)][r(547)],i);s=o[r(506)],n=o[r(557)]}t.playback&&t[r(623)][r(516)]({time:n})}})),i(e.$playbackProgress,s(709),(i=>{const r=s;Fe(e.$playbackProgressTip,r(580),r(668));const{width:n,time:o}=Xf(e,t[r(623)][r(547)],i);e[r(705)][r(567)]=o;const a=e[r(705)][r(535)];n<=a/2?Fe(e[r(705)],r(514),0):n>e.$playbackProgress[r(535)]-a/2?Fe(e[r(705)],"left",e[r(583)]-a+"px"):Fe(e.$playbackProgressTip,r(514),n-a/2+"px")})),i(e[s(583)],s(679),(()=>{const t=s;Fe(e.$playbackProgressTip,t(580),t(699))})),i(e[s(619)],s(678),(t=>{e.isDroging=!0})),i(e[s(583)],s(709),(i=>{const r=s;if(e[r(677)]){const{second:s,percentage:n}=Xf(e,t[r(623)][r(547)],i);t.playback&&t[r(623)].seek({time:s})}})),i(e[s(583)],s(697),(t=>{const i=s;e[i(677)]&&(e[i(677)]=!1)})))}t[s(546)]()&&(t[s(508)][s(657)][s(551)]&&(i(e[s(609)],s(534),(()=>{const t=s;e.$speedMenuList.classList[t(576)](t(667))})),i(e.$speedMenu,s(679),(()=>{const t=s;e[t(526)][t(622)][t(656)](t(667))})),i(e[s(526)],s(683),(e=>{const i=s,r=ks(e);if(r[i(599)](i(600))){const e=r.dataset;t[i(617)](e[i(556)])}}))),e.isDroging=!1,i(e[s(583)],s(683),(i=>{const r=s;if(i[r(555)]!==e[r(619)]){let s=0,n=0;if(t[r(507)]())s=i[r(503)][0][r(658)]/t.height,n=s*t.playVod[r(547)];else{const o=Xf(e,t[r(629)][r(547)],i);s=o[r(506)],n=o[r(557)]}t[r(629)]&&t.playVod[r(516)]({time:n})}})),i(e[s(583)],"mousemove",(i=>{const r=s;Fe(e.$playbackProgressTip,r(580),r(668));const{width:n,time:o}=Xf(e,t[r(629)].totalDuration,i);e[r(705)].innerHTML=o;const a=e[r(705)].clientWidth;n<=a/2?Fe(e[r(705)],r(514),0):n>e.$playbackProgress.clientWidth-a/2?Fe(e.$playbackProgressTip,r(514),e.$playbackProgress-a+"px"):Fe(e[r(705)],"left",n-a/2+"px")})),i(e[s(583)],s(679),(()=>{const t=s;Fe(e[t(705)],t(580),t(699))})),i(e.$playbackProgressIndicator,s(678),(t=>{e.isDroging=!0})),i(e.$playbackProgress,s(709),(i=>{const r=s;if(e[r(677)]){const{second:s,percentage:n}=Xf(e,t[r(629)].totalDuration,i);t.playVod&&t[r(629)][r(516)]({time:s})}})),i(e.$playbackProgress,s(697),(t=>{const i=s;e[i(677)]&&(e[i(677)]=!1)}))),o.quality&&(i(e[s(563)],"mouseover",(()=>{const t=s;e[t(510)][t(622)].add(t(642))})),i(e[s(563)],"mouseout",(()=>{const t=s;e.$qualityMenuList[t(622)].remove(t(642))})),i(e[s(510)],s(683),(e=>{const i=s,r=ks(e);if(r[i(599)](i(545))){const e=r[i(673)];t[i(694)]=e[i(635)]}}))),o[s(649)]&&(i(e[s(643)],s(534),(()=>{const t=s;e[t(605)][t(622)][t(576)](t(608))})),i(e[s(643)],s(679),(()=>{const t=s;e[t(605)][t(622)][t(656)](t(608))})),i(e[s(605)],s(683),(e=>{const i=s,r=ks(e);if(r[i(599)]("div.jb-pro-scale-menu-item")){const e=r[i(673)];t[i(549)](e.scale)}}))),o[s(693)]&&(i(e[s(565)],s(683),(e=>{const i=s;e[i(520)](),t[i(645)]=!0})),i(e[s(661)],s(683),(e=>{const i=s;e[i(520)](),t[i(645)]=!1}))),i(e[s(650)],s(683),(e=>{const i=s;e[i(520)](),t.zoom&&t.zoom[i(613)]()})),i(e[s(681)],s(683),(e=>{const i=s;e[i(520)](),t.zoom&&t[i(693)][i(500)]()})),i(e.$zoomStop2,"click",(e=>{const i=s;e[i(520)](),t[i(645)]=!1})),o[s(568)]&&i(e[s(578)],"click",(e=>{const i=s;e[i(520)](),t[i(626)]()})),i(e[s(704)],s(683),(t=>{const i=s;t[i(520)](),e[i(528)][i(567)]="",Fe(e[i(538)],i(580),"none")}))})(t,this),t[e(188)][e(309)]&&Ge()&&((t,e)=>{const s=Sm,{events:{proxy:i}}=t;let r={};function n(t,e){const s=Sm;r[t]?r[t][s(241)](e):r[t]=[e]}e.keys=r,n(tt[s(240)],(()=>{const e=s;t.fullscreen&&(t[e(252)]=!1)})),n(tt[s(250)],(()=>{t[s(249)]+=.05})),n(tt[s(253)],(()=>{t[s(249)]-=.05})),i(window,s(254),(t=>{const i=s;if(e[i(242)]){const e=document[i(239)].tagName[i(262)](),s=document[i(239)][i(251)](i(246));if(e!==i(248)&&e!==i(243)&&""!==s&&"true"!==s){const e=r[t[i(245)]];e&&(t[i(255)](),e.forEach((t=>t())))}}}))})(t,this),this[e(186)]=0,this[e(404)](),ws(t[e(188)][e(330)])&&this.initLoadingIconStyle(t._opt[e(330)]),ws(t[e(188)].ptzPositionConfig)&&this.updatePtzPosition(t[e(188)].ptzPositionConfig),t[e(188)].initShowPlayBtn&&(this[e(184)]=!0,this[e(238)]()),this[e(352)](),this[e(424)]="0 KB/s",this[e(349)][e(285)](e(258),e(398))}[wm(434)](){const t=wm;if(this[t(415)]){this[t(415)][t(289)]="";if(!cm(this[t(415)])){const e=this[t(349)][t(286)][t(194)](t(261));e&&this[t(349)][t(286)]&&this[t(349)][t(286)][t(214)](e)}delete this[t(415)]}if(this[t(265)]){if(!cm(this[t(265)])){const e=this.player[t(286)][t(194)](t(321));e&&this.player.$container&&this[t(349)][t(286)][t(214)](e)}delete this.$poster}if(this[t(357)]){if(!cm(this[t(357)])){const e=this[t(349)][t(286)][t(194)](t(421));e&&this[t(349)].$container&&this[t(349)][t(286)][t(214)](e)}delete this[t(357)]}if(this.$loadingBg){if(!cm(this.$loadingBg)){const e=this[t(349)].$container[t(194)](t(318));e&&this[t(349)][t(286)]&&this[t(349)][t(286)][t(214)](e)}delete this[t(230)]}if(this[t(403)]){if(!cm(this[t(403)])){const e=this.player[t(286)][t(194)](t(276));e&&this[t(349)].$container&&this[t(349)][t(286)][t(214)](e)}delete this[t(403)]}if(this[t(185)]){if(!cm(this[t(185)])){const e=this[t(349)][t(286)][t(194)](t(225));e&&this[t(349)][t(286)]&&this[t(349)].$container[t(214)](e)}delete this.$playBig}if(this[t(393)]){if(!cm(this[t(393)])){const e=this.player[t(286)][t(194)](t(221));e&&this[t(349)].$container&&this.player.$container[t(214)](e)}delete this[t(393)]}if(this[t(381)]){if(!cm(this[t(381)])){const e=this.player.$container[t(194)](t(212));e&&this[t(349)][t(286)]&&this[t(349)][t(286)][t(214)](e)}delete this[t(381)]}if(this[t(417)]){if(!cm(this[t(417)])){const e=this[t(349)].$container[t(194)](t(287));e&&this.player[t(286)]&&this[t(349)].$container[t(214)](e)}delete this.$zoomControls}if(this[t(236)]){this.$contextmenus[t(289)]="";if(!cm(this[t(236)])){const e=this.player[t(286)][t(194)](".jb-pro-contextmenus");e&&this[t(349)][t(286)]&&this[t(349)].$container[t(214)](e)}delete this[t(236)]}if(this[t(264)]){if(!cm(this[t(264)])){const e=this[t(349)][t(286)][t(194)](t(178));e&&this[t(349)][t(286)]&&this[t(349)][t(286)].removeChild(e)}delete this[t(264)]}if(this.$extendDom){if(!cm(this[t(361)])){const e=this[t(349)][t(286)][t(194)](t(217));e&&this[t(349)][t(286)]&&this[t(349)][t(286)][t(214)](e)}delete this[t(361)]}try{delete this[t(301)],delete this[t(339)],delete this.$playbackProgressTime,delete this.$playbackProgressIndicator,delete this[t(431)],delete this[t(173)],delete this[t(174)],delete this[t(284)],delete this[t(412)],delete this[t(369)],delete this[t(268)],delete this.$speedText,delete this[t(236)],delete this[t(216)],delete this.$occlusionDetect,delete this[t(281)],delete this[t(416)],delete this.$faceDetectActive,delete this[t(377)],delete this[t(436)],delete this[t(279)],delete this[t(415)],delete this.$zoomControls,delete this[t(294)],delete this.$zoomStop2,delete this[t(271)],delete this[t(422)],delete this[t(316)],delete this[t(410)],delete this[t(209)],delete this[t(196)],delete this[t(302)],delete this[t(181)],delete this[t(344)],delete this.$qualityText,delete this[t(299)],delete this[t(329)],delete this[t(337)],delete this[t(306)],delete this.$ptzCruisePause,delete this[t(298)],delete this[t(358)],delete this.$ptzFocusFar,delete this.$ptzApertureNear,delete this[t(243)],delete this.$ptzNarrow,delete this[t(359)],delete this.$ptzArrows,delete this[t(372)],delete this[t(220)],delete this.$ptzControl,delete this[t(189)],delete this[t(326)],delete this.$playbackExpand,delete this[t(430)],delete this[t(378)],delete this[t(280)],delete this.$playbackCurrentTime,delete this.$playbackTimeListSecond,delete this[t(247)],delete this[t(252)],delete this[t(333)],delete this[t(202)],delete this[t(263)],delete this[t(231)],delete this[t(203)],delete this[t(266)],delete this[t(183)],delete this[t(406)],delete this.$fullscreenExit,delete this.$fullscreen,delete this[t(260)],delete this[t(197)],delete this[t(246)],delete this[t(438)],delete this[t(206)],delete this[t(341)],delete this[t(370)],delete this[t(408)],delete this[t(319)],delete this[t(269)],delete this[t(403)],delete this[t(360)],delete this[t(229)],delete this[t(300)],delete this[t(393)],delete this[t(185)],delete this[t(392)],delete this.$loadingText,delete this[t(357)],delete this[t(204)],delete this[t(230)],delete this.$poster,delete this[t(361)],delete this.controlsRect,delete this.controlsInnerRect,delete this.controlsLeftRect,delete this[t(414)],delete this.controlsPlaybackTimeInner,delete this[t(380)]}catch(t){}this[t(432)]=null,this[t(186)]=0,this.extendBtnList=[],this[t(424)]=t(425),this.player[t(286)]&&(this[t(349)][t(286)][t(437)][t(409)](t(366)),this.player.$container[t(437)][t(409)](t(262))),this[t(349)].debugLog(t(258),t(434))}[wm(373)](){return this[wm(186)]++}[wm(363)](){const t=wm,e=this[t(349)];e[t(286)][t(411)].padding="0 0";const s=e[t(346)],i=e.height,r=s/i,n=e[t(376)][t(290)][t(346)]/e[t(376)].$videoElement[t(205)];if(r>n){const r=(s-i*n)/2;e.$container[t(411)][t(270)]="0 "+r+"px"}else{const r=(i-s/n)/2;e.$container.style.padding=r+t(386)}}[wm(404)](){const t=wm,e=this[t(349)];e._opt[t(255)]&&e[t(188)][t(335)]&&e[t(188)][t(199)]&&(e.debugLog(t(258),t(379)),this[t(349)][t(188)][t(433)]===t(374)||ze()?e[t(355)]()===f[t(407)]?this._initLoadingBackgroundForCanvas():e.getRenderType()===f[t(376)]&&this[t(388)]():this[t(345)](),om(this[t(230)],t(324),"block"),e[t(188)][t(255)]="")}[wm(399)](){const t=wm;this[t(204)][t(314)]&&this.$loadingBgImage[t(346)]>0&&this[t(204)].height>0&&Oe(this[t(230)],t(324),!1)!==t(382)&&(this.player[t(188)][t(433)]===t(374)||ze()?this.player[t(355)]()===f[t(407)]?this[t(383)]():this.player[t(355)]()===f.video&&this[t(388)]():this[t(345)]())}[wm(207)](t){const e=wm,s=this[e(349)][e(286)][e(194)](e(347));s&&(t[e(346)]&&om(s,"width",t[e(346)]+"px"),t[e(205)]&&om(s,e(205),t[e(205)]+"px"),t[e(325)]&&om(s,e(198),'url("'+t[e(325)]+'")'),!1===t[e(215)]&&(om(s,e(232),e(382)),om(s,"animationDuration",0),om(s,"animationTimingFunction",e(245)),om(s,e(365),1)))}[wm(345)](){const t=wm,e=this.player._opt[t(433)][t(310)](":")[t(233)](Number),s=this[t(349)][t(193)](),i=this[t(349)][t(228)](),r=s[t(346)],n=s.height,o={width:this.player[t(188)][t(335)],height:this[t(349)][t(188)][t(199)]},a=o.width/o[t(205)],h=e[0]/e[1];if(this.player[t(188)][t(255)]&&(this.$loadingBgImage[t(314)]=this.player[t(188)][t(255)]),a>h){const e=h*o[t(205)]/o[t(346)];this[t(204)][t(411)].width=100*e+"%",this[t(204)][t(411)].height=t(291)+i+t(282),this[t(204)].style[t(270)]="0 "+(r-r*e)/2+"px"}else{const e=o[t(346)]/h/o[t(205)];this[t(204)][t(411)].width=t(351),this[t(204)].style[t(205)]=t(180)+100*e+"% - "+i+t(282),this.$loadingBgImage[t(411)][t(270)]=(n-n*e)/2+t(386)}}[wm(383)](){const t=wm,e=this[t(349)],s=e._opt,i=e[t(193)](),r=i[t(205)],n=i[t(346)],o={width:this[t(349)][t(188)].loadingBackgroundWidth,height:this[t(349)][t(188)].loadingBackgroundHeight};let a=o[t(346)],h=o.height;const c=s[t(272)];let l=(n-a)/2,d=(r-h)/2;(270===c||90===c)&&(a=o[t(205)],h=o[t(346)]);const u=n/a,p=r/h;let f=u>p?p:u;Js(s[t(375)])&&u!==p&&(f=u+","+p),s[t(288)]&&(f=u>p?u:p);let m=t(353)+f+")";s[t(234)]===t(382)&&c&&(m+=" rotate("+c+t(249)),s.mirrorRotate===t(267)?m+=t(191):"vertical"===s[t(234)]&&(m+=t(275)),this[t(204)][t(346)]=o.width,this[t(204)].height=o[t(205)],e[t(188)].loadingBackground&&(this[t(204)][t(314)]=e._opt[t(255)]),this[t(204)][t(411)][t(270)]="0",this[t(204)][t(411)][t(334)]=m,this.$loadingBgImage[t(411)][t(251)]=l+"px",this[t(204)][t(411)][t(343)]=d+"px"}[wm(388)](){const t=wm,e=this[t(349)],s=e[t(188)],i=e[t(193)](),r=i[t(346)],n=i[t(205)];let o=i.width,a=i[t(205)];const h=s[t(272)];(270===h||90===h)&&(o=n,a=r),this[t(204)][t(346)]=o,this[t(204)][t(205)]=a,e[t(188)][t(255)]&&(this[t(204)][t(314)]=e[t(188)][t(255)]);let c=(r-o)/2,l=(n-a)/2,d=t(304);!s[t(375)]&&(d="fill"),s[t(288)]&&(d="none");let u="";"none"===s[t(234)]&&h&&(u+=" rotate("+h+t(249)),s.mirrorRotate===t(267)?u+=t(191):s[t(234)]===t(240)&&(u+=t(275)),this[t(349)][t(188)][t(400)]&&(this[t(204)][t(411)].objectFit=d),this[t(204)].style[t(334)]=u,this[t(204)][t(411)].padding="0",this.$loadingBgImage[t(411)].left=c+"px",this.$loadingBgImage.style[t(343)]=l+"px"}[wm(391)](t){const e=wm;let s=!0;if(!t[e(192)]&&(this[e(349)][e(218)]("Control",e(224)),s=!1),s){-1!==this[e(187)][e(208)]((e=>e.name===t.name))&&(this.player[e(218)]("Control",e(328)+t[e(192)]+" is already exist"),s=!1)}return s&&!t.icon&&(this[e(349)][e(218)](e(258),e(311)),s=!1),s}[wm(426)](){const t=wm;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=Hs(gt);if(e=Object[t(274)]({},s,e),!this[t(391)](e))return;const i=e[t(192)]||"",r=this.$controlsRight,n=e.createdMoment||Ut.playing,o=e.activeIcon&&e[t(356)],a=t(354)+i+t(296)+(e.icon?t(253)+i+t(175)+i+t(239)+(e[t(413)]?t(367)+e[t(413)]+t(396):"")+t(250):"")+"\n "+(e[t(242)]?t(253)+i+t(305)+i+t(362)+(e[t(223)]?t(367)+e[t(223)]+t(396):"")+t(308):"")+t(332),h=Array[t(320)](r[t(419)])[e[t(313)]];h?h.insertAdjacentHTML(t(210),a):nm(r,a);const c=r[t(194)](".jb-pro-controls-item-wrap-"+i),l=e[t(200)]?r[t(194)](".jb-pro-icon-extend-"+i):null,d=e[t(200)]?r[t(194)](t(405)+i):null,u=e[t(242)]?r.querySelector(t(293)+i+"-active"):null,p=e.activeIcon?r[t(194)](t(405)+i+"-active"):null,{events:{proxy:f},debug:m}=this[t(349)];e[t(200)]&&(om(l,t(325),t(182)+e[t(200)]+") no-repeat center"),om(l,"background-size",t(211)),n===Ut[t(315)]?om(d,t(324),t(219)):om(d,t(324),t(382)),e[t(317)]&&(f(l,"mouseover",(()=>{const s=t;om(l,s(325),s(182)+e[s(317)]+") no-repeat center"),om(l,s(227),s(211))})),f(l,t(338),(()=>{const s=t;om(l,s(325),s(182)+e[s(200)]+s(350)),om(l,s(227),s(211))})))),e[t(242)]&&(om(u,t(325),t(182)+e[t(242)]+t(350)),om(u,"background-size",t(211)),om(p,t(324),t(382)),e[t(387)]&&(f(u,t(241),(()=>{const s=t;om(u,"background",s(182)+e.activeIconHover+s(350)),om(u,s(227),s(211))})),f(u,t(338),(()=>{const s=t;om(u,s(325),"url("+e.activeIcon+s(350)),om(u,s(227),s(211))})))),e[t(331)]&&l&&f(l,t(331),(s=>{const i=t;s[i(364)](),o&&(om(d,i(324),i(382)),om(p,i(324),i(219))),this[i(349)].isInMulti()?e[i(331)].call(this[i(349)],s,this.player._opt.multiIndex):e[i(331)][i(423)](this[i(349)],s)})),e[t(356)]&&u&&f(u,t(331),(s=>{const i=t;s[i(364)](),om(d,i(324),"flex"),om(p,i(324),i(382)),this[i(349)][i(342)]()?e[i(356)][i(423)](this[i(349)],s,this[i(349)]._opt[i(327)]):e[i(356)][i(423)](this[i(349)],s)})),this[t(187)][t(427)]({name:i,createdMoment:n,$iconContainer:c,$iconWrap:d,$activeIconWrap:p})}toggleExtendBtn(t,e){const s=wm,i=this[s(187)][s(277)]((e=>e[s(192)]===t));i&&i[s(259)]&&i[s(420)]&&(!hs(e)&&(e="none"===Oe(i[s(259)],s(324),!1)),e?(om(i[s(420)],s(324),s(382)),om(i.$activeIconWrap,s(324),s(219))):(om(i[s(420)],s(324),s(219)),om(i.$activeIconWrap,s(324),s(382))))}[wm(303)](t){const e=wm,s=this[e(187)][e(277)]((s=>s[e(192)]===t));let i=!1;return s&&s[e(259)]&&(i=Oe(s[e(259)],e(324),!1)!==e(382)),i}addExtendDom(t){const e=wm;if(t[e(254)]){const s=e(297)+t[e(254)]+e(385);this[e(349)][e(286)][e(235)](e(256),s),Object.defineProperty(this,e(361),{value:this[e(349)].$container.querySelector(e(217)),configurable:!0}),t.showBeforePlay&&om(this[e(361)],e(324),e(179))}}[wm(401)](t){const e=wm;this[e(361)]&&(!hs(t)&&(t=Oe(this.$extendDom,e(324),!1)===e(382)),t?om(this.$extendDom,e(324),e(179)):om(this[e(361)],e(324),"none"))}[wm(394)](t){const e=wm;this.$extendDom&&(this[e(361)][e(289)]=t)}[wm(336)](){const t=wm;this.$extendDom&&(this[t(361)][t(289)]="")}[wm(397)](t){const e=wm;this[e(322)]&&(this[e(322)][e(244)]=t)}[wm(307)](){return this[wm(187)]}showTipsMessage(t,e){const s=wm,i=this[s(264)],r=this[s(301)];if(i){const n=s(195)+t+"
      \n "+(e?s(201)+e+s(384):"")+s(323);r.innerHTML=n,om(i,s(324),s(179))}}[wm(348)](){const t=wm,e=this[t(264)],s=this.$tipsMessageContent;e&&(s[t(289)]="",om(e,t(324),t(382)))}[wm(395)](t){const e=wm,s=this.$ptzControl;if(ws(t)&&s){let i=e(312);t[e(251)]&&(i=Number(t.left)===t[e(251)]?t.left+"px":t.left),om(s,"left",i);let r=e(312);t[e(343)]&&(r=Number(t.top)===t.top?t[e(343)]+"px":t.top),om(s,"top",r);let n=e(312);t.bottom&&(n=Number(t[e(390)])===t.bottom?t[e(390)]+"px":t[e(390)]),om(s,e(390),n);let o="auto";t[e(248)]&&(o=Number(t[e(248)])===t[e(248)]?t.right+"px":t[e(248)]),om(s,"right",o)}}[wm(238)](){const t=wm;om(this[t(185)],"display",t(179))}[wm(283)](t){const e=wm;this[e(403)]&&(!hs(t)&&(t="none"===Oe(this[e(403)],e(324),!1)),om(this[e(403)],e(324),t?"flex":e(382)))}getBarIsShow(){const t=wm;let e=!1;return this[t(403)]&&(e=Oe(this[t(403)],t(324),!1)!==t(382)),e}toggleControlHtml(t){const e=wm;this.$controlHtml&&(!hs(t)&&(t=Oe(this[e(231)],e(324),!1)===e(382)),t?om(this.$controlHtml,e(324),e(179)):om(this[e(231)],e(324),e(382)))}getControlHtmlIsShow(){let t=!1;return this[wm(231)]&&(t="none"!==Oe(this.$controlHtml,"display",!1)),t}[wm(429)](){const t=wm;let e=!1;return this[t(361)]&&(e="none"!==Oe(this[t(361)],"display",!1)),e}[wm(257)](){const t=wm;return this[t(361)]?this[t(361)]:null}[wm(226)](){const t=wm;return this.$controlHtml?this[t(231)]:null}[wm(352)](){const t=wm;if(this.$controls){const e=this[t(349)][t(188)].controlSize,s=t(213);e===y[t(418)]?Js(rm(this[t(403)],s))&&sm(this[t(403)],s):e===y.normal&&rm(this[t(403)],s)&&im(this[t(403)],s)}}}function km(t,e){const s=Cm();return(km=function(t,e){return s[t-=194]})(t,e)}bm(".jb-pro-container{position:relative;width:100%;height:100%;overflow:hidden}.jb-pro-container.jb-pro-fullscreen-web{position:fixed;z-index:9999;left:0;top:0;right:0;bottom:0;width:100vw!important;height:100vh!important;background:#000}.jb-pro-container .jb-pro-loading-bg-for-ios{position:absolute;z-index:100;left:0;top:0;right:0;bottom:0;height:100%;width:100%;opacity:0;visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-loading-bg-for-ios.show{opacity:1;visibility:visible}"),function(t,e){const s=km,i=t();for(;;)try{if(787198===parseInt(s(232))/1+parseInt(s(206))/2+parseInt(s(220))/3+-parseInt(s(225))/4+parseInt(s(211))/5+-parseInt(s(214))/6+parseInt(s(228))/7*(parseInt(s(215))/8))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Cm);var _m=t=>{const e=km,{_opt:s,events:{proxy:i}}=t;if(s.supportDblclickFullscreen&&i(t[e(194)],e(207),(s=>{const i=e,r=ks(s).nodeName[i(233)]();(r===i(208)||r===i(234))&&(t.fullscreen=!t[i(218)])})),i(document,e(213),(()=>{const i=e;t.visibility=i(219)===document.visibilityState,t[i(210)](i(213),document[i(198)]),s[i(231)]&&(t[i(210)]("visibilitychange",i(236),document.visibilityState,t[i(204)]),i(219)===document[i(198)]?t[i(204)]&&t[i(202)]():(t[i(204)]=t[i(200)],t.playing&&t[i(203)]()))})),Ge()&&i(document,[e(226),e(216)],(s=>{const i=e;hm(s,t[i(194)])?(qs(t._opt[i(212)])&&"contextmenu"===s[i(230)]&&s[i(196)](),t[i(195)]=s[i(199)][i(209)]===i(235),t[i(205)]=!0,t[i(221)](B.focus)):(t[i(195)]=!1,t[i(205)]=!1,t.emit(B[i(217)]))})),s[e(223)]){const s=$e((()=>{const s=e;t[s(221)](B[s(224)],function(t){const e=am,s=t[e(327)](),i=window[e(365)]||document[e(350)][e(318)],r=window[e(321)]||document[e(350)][e(340)],n=s.top<=i&&s[e(333)]+s.height>=0,o=s[e(359)]<=r&&s[e(359)]+s[e(360)]>=0;return n&&o}(t[s(194)]))}),200);i(window,"scroll",(()=>s()))}if(s.orientationChangeResize){const s=$e((()=>{const s=e;t[s(221)](B[s(222)])}),500);i(window,e(227),(()=>{s()})),screen&&screen[e(201)]&&screen.orientation[e(229)]&&i(screen[e(201)],e(197),(()=>{s()}))}};function Cm(){const t=["4573992XHpqkf","contextmenu","blur","fullscreen","visible","1017693yHZzyW","emit","resize","isCheckInView","inView","826208CeVWop","click","orientationchange","7Wyfwzi","onchange","type","hiddenAutoPause","1328955FfQfaa","toLowerCase","video","INPUT","hiddenAutoPause is true ","$container","isInput","preventDefault","change","visibilityState","target","playing","orientation","play","pause","_isPlayingBeforePageHidden","isFocus","51734VnAZSQ","dblclick","canvas","tagName","debugLog","366695HEHbCs","disableContextmenu","visibilitychange","8072346vGVlkp"];return(Cm=function(){return t})()}const Rm=Dm;function Dm(t,e){const s=xm();return(Dm=function(t,e){return s[t-=492]})(t,e)}!function(t,e){const s=Dm,i=t();for(;;)try{if(505671===-parseInt(s(504))/1+-parseInt(s(527))/2+-parseInt(s(575))/3+parseInt(s(515))/4*(-parseInt(s(513))/5)+-parseInt(s(554))/6*(-parseInt(s(531))/7)+parseInt(s(524))/8*(parseInt(s(556))/9)+parseInt(s(536))/10*(parseInt(s(514))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(xm);class Lm{static[Rm(572)](){const t=Rm;Lm[t(518)]={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in Lm[t(518)])Lm[t(518)][t(550)](e)&&(Lm[t(518)][e]=[e[t(567)](0),e[t(567)](1),e[t(567)](2),e[t(567)](3)]);let e=Lm.constants={};e[t(506)]=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e[t(522)]=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(538)]=e.STCO=e[t(522)],e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e[t(559)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e[t(508)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e[t(579)]=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(512)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[Rm(565)](t){const e=Rm;let s=8,i=null,r=Array[e(533)][e(525)][e(568)](arguments,1),n=r.length;for(let t=0;t>>24&255,i[1]=s>>>16&255,i[2]=s>>>8&255,i[3]=255&s,i[e(540)](t,4);let o=8;for(let t=0;t>>24&255,t>>>16&255,t>>>8&255,255&t,e>>>24&255,e>>>16&255,e>>>8&255,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(t){const e=Rm;return Lm[e(565)](Lm[e(518)][e(507)],Lm[e(581)](t),Lm[e(577)](t))}static[Rm(581)](t){const e=Rm;let s=t.id,i=t.duration,r=t[e(560)],n=t.presentHeight;return Lm[e(565)](Lm[e(518)][e(581)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,n>>>8&255,255&n,0,0]))}static[Rm(577)](t){const e=Rm;return Lm[e(565)](Lm[e(518)][e(577)],Lm[e(561)](t),Lm[e(547)](t),Lm.minf(t))}static[Rm(561)](t){const e=Rm;let s=t[e(510)],i=t[e(570)];return Lm[e(565)](Lm[e(518)][e(561)],new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static[Rm(547)](t){const e=Rm;let s=null;return s="audio"===t[e(493)]?Lm.constants[e(562)]:Lm.constants.HDLR_VIDEO,Lm[e(565)](Lm[e(518)][e(547)],s)}static[Rm(529)](t){const e=Rm;let s=null;return s="audio"===t[e(493)]?Lm[e(565)](Lm[e(518)][e(526)],Lm[e(503)].SMHD):Lm[e(565)](Lm[e(518)][e(584)],Lm[e(503)].VMHD),Lm[e(565)](Lm.types.minf,s,Lm[e(585)](),Lm[e(566)](t))}static[Rm(585)](){const t=Rm;return Lm[t(565)](Lm[t(518)].dinf,Lm.box(Lm[t(518)][t(578)],Lm[t(503)][t(508)]))}static[Rm(566)](t){const e=Rm;return Lm[e(565)](Lm[e(518)][e(566)],Lm[e(563)](t),Lm[e(565)](Lm[e(518)][e(509)],Lm[e(503)][e(522)]),Lm.box(Lm.types.stsc,Lm[e(503)][e(538)]),Lm.box(Lm.types.stsz,Lm[e(503)][e(497)]),Lm.box(Lm[e(518)][e(494)],Lm[e(503)][e(553)]))}static[Rm(563)](t){const e=Rm;return t[e(493)]===e(520)?t[e(564)]===e(551)?Lm[e(565)](Lm[e(518)][e(563)],Lm.constants[e(492)],Lm[e(551)](t)):Lm[e(565)](Lm[e(518)].stsd,Lm[e(503)][e(492)],Lm[e(573)](t)):t[e(499)]===e(502)?Lm[e(565)](Lm[e(518)][e(563)],Lm[e(503)][e(492)],Lm[e(500)](t)):Lm[e(565)](Lm[e(518)][e(563)],Lm[e(503)][e(492)],Lm[e(582)](t))}static[Rm(551)](t){const e=Rm;let s=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Lm[e(565)](Lm[e(518)][e(537)],r)}static[Rm(573)](t){const e=Rm;let s=t[e(549)],i=t[e(571)],r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Lm[e(565)](Lm[e(518)].mp4a,r,Lm[e(548)](t))}static[Rm(548)](t){const e=Rm;let s=t[e(546)]||[],i=s[e(539)],r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5][e(516)]([i])[e(516)](s)[e(516)]([6,1,2]));return Lm[e(565)](Lm[e(518)].esds,r)}static[Rm(500)](t){const e=Rm;let s=t[e(555)];const i=t[e(495)],r=t[e(521)];let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Lm[e(565)](Lm[e(518)][e(500)],n,Lm[e(565)](Lm.types[e(498)],s))}static[Rm(582)](t){const e=Rm;let s=t[e(555)];const i=t[e(495)],r=t.codecHeight;let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Lm[e(565)](Lm[e(518)][e(582)],n,Lm[e(565)](Lm[e(518)][e(532)],s))}static[Rm(552)](t){const e=Rm;return Lm[e(565)](Lm[e(518)][e(552)],Lm[e(496)](t))}static[Rm(496)](t){const e=Rm;let s=t.id,i=new Uint8Array([0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Lm[e(565)](Lm.types[e(496)],i)}static[Rm(535)](t,e){const s=Rm;return Lm[s(565)](Lm[s(518)][s(535)],Lm[s(541)](t[s(528)]),Lm[s(543)](t,e))}static[Rm(541)](t){const e=Rm;let s=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return Lm[e(565)](Lm.types[e(541)],s)}static traf(t,e){const s=Rm;let i=t.id,r=Lm[s(565)](Lm[s(518)][s(545)],new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),n=Lm[s(565)](Lm.types[s(544)],new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e])),o=Lm[s(511)](t),a=Lm[s(517)](t,o[s(519)]+16+16+8+16+8+8);return Lm[s(565)](Lm[s(518)][s(543)],r,n,a,o)}static[Rm(511)](t){const e=Rm;let s=new Uint8Array(5),i=t[e(557)];return s[4]=i[e(558)]<<6|i[e(530)]<<4|i[e(569)]<<2|i.hasRedundancy,Lm[e(565)](Lm[e(518)][e(511)],s)}static[Rm(517)](t,e){const s=Rm;let i=new Uint8Array(28);e+=36,i[s(540)]([0,0,15,1,0,0,0,1,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0);let r=t[s(570)],n=t[s(523)],o=t[s(557)],a=t[s(534)];return i[s(540)]([r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,o[s(558)]<<2|o[s(530)],o[s(569)]<<6|o[s(574)]<<4|o[s(505)],0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),Lm[s(565)](Lm.types[s(517)],i)}static[Rm(583)](t){const e=Rm;return Lm.box(Lm[e(518)][e(583)],t)}}function xm(){const t=["vmhd","dinf","STSD_PREFIX","type","stco","codecWidth","trex","STSZ","avcC","videoType","avc1","generateInitSegment","avc","constants","922861zVwLZc","isNonSync","FTYP","trak","DREF","stts","timescale","sdtp","VMHD","25QZRukm","800591uBjZmW","157232kkyTJQ","concat","trun","types","byteLength","audio","codecHeight","STTS","size","32HjZgdi","slice","smhd","1627608lJmTAD","sequenceNumber","minf","dependsOn","14jRzrAz","hvcC","prototype","cts","moof","260xXYOJJ",".mp3","STSC","length","set","mfhd","mvhd","traf","tfdt","tfhd","config","hdlr","esds","channelCount","hasOwnProperty","mp3","mvex","STCO","609540xatKat","avcc","1024614fGFlix","flags","isLeading","HDLR_VIDEO","presentWidth","mdhd","HDLR_AUDIO","stsd","audioType","box","stbl","charCodeAt","call","isDependedOn","duration","audioSampleRate","init","mp4a","hasRedundancy","335982gWaczc","moov","mdia","dref","SMHD","ftyp","tkhd","hvc1","mdat"];return(xm=function(){return t})()}Lm[Rm(572)]();const Pm=Mm;function Bm(){const t=["checkFirstIFrame","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","_times","_clearAudioNoDataCheckTimeout","videoInfo","push","_getPlaybackRate"," , delay buffer is more than ","handleUpdatePlaybackRate and buffered is ","isMSECurrentMoreThanBufferedPause","MediaSource","mp4","removeBuffer() sourceBuffer error","firstAudioTime is ","code is ","getPendingSegmentsLength","handleRender","addSourceBuffer","updateVideoCurrentTimeByBufferStart","mediaSourceH265NotSupport","appendBuffer","mediaSourceAddSourceBufferError","_clearAudioSourceBufferCheckTimeout"," and isIframe is ","startstreaming","removeSourceBuffer() audioSourceBuffer error","mediaSourceBufferedIsZeroError","isAudioInitInfo","refSampleDuration","removeSourceBuffer"," and prevTs is ","isWidthOrHeightChanged","_decodeVideo","238622GXMUIt","checkSourceBufferStore"," , try to seek ",'video/mp4; codecs="',"endOfStream()","video.buffered is empty","isSupportVideoFrameCallback","disableRemotePlayback","isKeyframe","isDecodeFirstIIframe","prevTs","flags","_checkVideoPlayCurrentTime","mseDecodeAudio","hasInit","warn","needInitAudio","mediaSourceObjectURL","playbackRate","_checkAudioTsIsMaxDiff","shift","video play error "," cacheAudioTrack dts is ","decodeAudio first frame is not iFrame","audioSourceBuffer","video is paused and next try to replay","config","isAAC","appendAudioBuffer() this.mediaSource.addSourceBuffer()","decodeAudio and has already initialized and payload is aac codec packet so drop this frame",", new height is ","_doCleanUpSourceBuffer","prevDts","prevAudioDts","updateend","audioMeta","isVideoPlaying","set","audioSourceNoDataCheckTimeout","updateStats","stringify","63plfkir","_initAudioSourceBuffer","mseUseCanvasRender","updateAudioInfo","videoType","mseSourceClose","emit","videoFrameCallback","requestVideoFrameCallback","increaseLocalTimestamp","mdat","this.sourceBuffer.appendBuffer()","videoMimeType"," and ts is ","updating","_checkTsIsMaxDiff","video loadedmetadata","prevTimestamp","\n decodeVideo: video width or height is changed,\n old width is ","data","mediaSourceTsIsMaxDiff","mseAutoCleanupMaxBackwardDuration","isPlaybackPauseNotClearCacheAndCacheBeforeDecode"," and prev time is ","isPlaying","353766GHlUaF","decodeVideo: video width or height is changed, and return","_resetInIt","closed"," and prev ts is ","pendingRemoveRanges"," and diff is ","videoStart","mseWidthOrHeightChange","_doRemoveRanges() sourceBuffer error"," so set currentTime to lastTime","mediaSource"," < 0 and set currentTime ","ratechange and video is paused","pendingAudioSegments","updateVideoInfo: ","debugError","firstRenderTime","revokeObjectURL","error","mseSourceOpen","sourceended","getMseBufferMaxDelayTime","getSourceBufferUpdating","sequenceHeader","updateMediaSourceDuration","isStateOpen","onMediaSourceSourceOpen() audioSourceBuffer is null and next init","videoMeta","getVideoBufferLastTime","sourceClose","start","prevAudioTs","h265","getDecodePlaybackRate","length","playbackPause","pendingSegments","channelCount","video canplay and use canvas render and fps is 25"," = ","appendBuffer() this.mediaSourceAppendBufferError is true","abortSourceBuffer"," < 0, and buffered is ","_useManagedMediaSource","off","loadedmetadata","playbackPause is false and _opt.checkFirstIFrame is true so set isDecodeFirstIIframe = false","checkMSESourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true","srcObject","isPlayVod","play","_doAppendSegments() mediaSource is closed or ended and return","isInitInfo","catch"," and currentTime is ","forEach"," and prev dts is ","dts","canvasRenderInterval","recordType","_initSourceBuffer","generateInitSegment","codecHeight","updateVideoInfo","URL","sourceBuffer","timeUpdate","audio","abs","ManagedMediaSource qualitychange","abortSourceBuffer() abort audioSourceBuffer","getVideoBufferRangeList","TAG_NAME","13398407iTMKMF","decodeVideo is max diff, prevTs is ","debugLog","_decodeAudio","removeAttribute","vbps","decodeVideo","avc"," and this.isAvc === null is ",";codecs=","muted"," and\n $videoElement ts is ","decodeVideo and payload is video sequence header so drop this frame"," ,\n and diff is ","appendBuffer() this.mediaSourceAddSourceBufferError is true","mseSourceBufferError"," and mseCorrectTimeDuration is ","decodeVideo is max diff , ts is ","sourceOpen","audioSequenceNumber","initVideoEvents","debugWarn","_hasPendingRemoveRanges","isPlayer","99pPAKal"," to ","_onMediaSourceSourceOpen","mediaSourceAppendBufferError","audioSampleRate","message","$videoElement"," < 0 and check video is paused : ","mseSourceended","player","destroy","video play","getMimeType","visibilityChange is true and lastTime is ","mediaSource is not attached to video or mediaSource is closed","audioMimeType",", diff is ",", but not in render and vbps is ","mseCorrectAudioTimeDuration","timescale","checkIsInRender"," ms","getAudioSourceBufferUpdating","_handleUpdatePlaybackRate","playback","video canplay and requestVideoFrameCallback and use videoFrameCallback"," ,\n and now ts is ","codecWidth","decodeVideo() player is destroyed","state","_doAppendSegments","initMetaData","mediaTime","decodeAudio is max diff , ts is ","stop","_needCleanupSourceBuffer","height","cacheTrack = {} now dts is ","appendAudioBuffer() this.mediaSourceBufferError is true","hasAudio"," and message is ","appendAudioBuffer","firstAudioTime","ended","video waiting","_decodeVideo payload bytes is 0 and return","ratechange","render","34336BKhlnT","_decodeAudioConfigurationRecord","mediaSource is end","7890170trtjSG","paused","pause","mseAutoCleanupMinBackwardDuration","getDecodeDiffTimes","mseAddSourceBufferError","isDestroyedOrClosed"," and emit replay","buffer","isPlaybackPauseClearCache","handlePlayToRenderTimes","_stats","_stopCanvasRender","removeBuffer",",\n and emit change event","end","videoBufferDelay"," and return","isPlayback","max"," and end is ","types","decodeVideo and payload is too small , payload length is ","updateVideoCurrentTimeByBufferStart current time is ","mseSourceStartStreaming","sampleRate","_decodeConfigurationRecord","_handleUpdateBufferDelayTime","cts","width","duration","75KYzJzL","slice","clearUpAllSourceBuffer","fps","pendingAudioRemoveRanges","checkVideoPlayCurrentTime store is ","firstRenderTime is ","prevPayloadBufferSize","bind","mseAutoCleanupSourceBuffer","this.audioSourceBuffer.appendBuffer()","cacheTrack","cacheTrack duration is ","codec","1hGdEQO","moof","initCanvasViewSize","isStateEnded","removeBuffer() audioSourceBuffer error","_bindMediaSourceEvents","getVideoBufferStartTime"," and this.audioMimeType is ","byteLength","playVod","_hasPendingSegments","video","playVodPause","buffered","_doRemoveRanges","_doRemoveRanges() audioSourceBuffer error","endstreaming","remove","ManagedMediaSource startstreaming","decodeAudio is max diff, prevTs is ","mseSourceBufferError this.sourceBuffer","AAC","isUseHls265"," and new time is null and use last buffer start time","mediaSourceFull","code","timeStamp","eventListenList","appendAudioBuffer() player is destroyed"," so drop this frame","mediaSourceAppendBufferFull","cacheAudioTrack"," , payload is "," and firstRenderTime is ","mediaSourceError","video canplay","config is not empty object and codecWidth is ","checkVideoPlayCurrentTime","hasAudioInit","_opt","cancelVideoFrameCallback","getTime","appendAudioBuffer() this.mediaSourceAppendBufferError is true",", height ","decodeVideo has not init , isIframe is ","supportVideoFrameCallbackHandle","emitError","decodeDiffTimestamp",",\n and prevPayloadBufferSize is ","mediaSourceAudioInitTimeout",",\n firstAudioTime is ","createObjectURL","getVideoBufferDelayTime","appendBuffer() this.mediaSourceAppendBufferFull is true","toString"," and delay is ","removeBuffer() start is ","hasPendingEos","samplingRate"," cacheTrack dts is ","size","readyState","sequenceNumber","init and using ManagedMediaSource","width ","decodeStart","audioSourceBufferCheckTimeout","h264","canplay","decodeVideo first frame is not iFrame","mseUseCanvasRender is ","decodeAudio\n local dts is < 0 , ts is ",",\n firstRenderTime is ","42572ABDbQM","decodeAudio","7534968ljacHX","mseSourceEndStreaming","endOfStream","decodeVideo\n local dts is < 0 , ts is ",", old height is ","isAvc","mseCorrectTimeDuration","ManagedMediaSource",",\n and mseCorrectTimeDuration is ","abort","getVideoBufferTimeRange","videoBuffer"," - current is ","mediaSourceBufferError","src","video playback Rate change","videoFrameCallback() player is destroyed","getVideoBufferEndTime","then","isStateClosed","mpeg","currentTime","checkSourceBufferEndLessThanCurrentTime","recorder"];return(Bm=function(){return t})()}function Mm(t,e){const s=Bm();return(Mm=function(t,e){return s[t-=316]})(t,e)}!function(t,e){const s=Mm,i=t();for(;;)try{if(564049===parseInt(s(478))/1*(parseInt(s(610))/2)+-parseInt(s(651))/3*(parseInt(s(551))/4)+-parseInt(s(464))/5*(parseInt(s(676))/6)+parseInt(s(553))/7+-parseInt(s(430))/8*(-parseInt(s(382))/9)+-parseInt(s(433))/10+parseInt(s(358))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Bm);class Fm extends mi{constructor(t){const e=Mm;super(),this[e(357)]=e(587),this[e(391)]=t,this[e(678)](),this[e(328)]=e(560)in jt&&!(e(587)in jt),this.mediaSource=this[e(328)]?new(jt[e(560)]):new(jt[e(587)]),this[e(619)]=!!Js(t[e(517)][e(577)]),this[e(627)]=null,!this._useManagedMediaSource&&(this[e(627)]=jt[e(349)][e(529)](this.mediaSource)),this[e(616)]=ei(),this.canvasRenderInterval=null,t[e(517)][e(653)]?(this[e(388)]=document.createElement(e(489)),this[e(328)]?(this[e(388)][e(617)]=!0,this.$videoElement[e(333)]=this[e(687)]):this.$videoElement[e(567)]=this[e(627)],this.initVideoEvents()):(this._useManagedMediaSource?(this[e(391)][e(489)][e(388)][e(617)]=!0,this[e(391)].video[e(388)][e(333)]=this.mediaSource):this.player[e(489)][e(388)][e(567)]=this.mediaSourceObjectURL,this[e(388)]=this[e(391)][e(489)][e(388)]),this._bindMediaSourceEvents(),this.audioSourceBufferCheckTimeout=null,this[e(648)]=null,this[e(535)]=!1,this[e(391)][e(451)]()?this[e(391)].on(B[e(320)],(s=>{const i=e;Js(s)?(t[i(517)][i(442)]&&(qs(t._opt.checkFirstIFrame)&&(this[i(391)][i(360)](this.TAG_NAME,i(331)),this.isDecodeFirstIIframe=!1),this[i(466)]()),this[i(388)].play()):(this[i(388)][i(435)](),this.cacheTrack={})})):this[e(391)][e(334)]()&&this[e(391)].on(B[e(490)],(t=>{const s=e;Js(t)?this[s(388)].play():(this[s(388)][s(435)](),this.cacheTrack={})})),this[e(328)]?this[e(391)][e(360)](this[e(357)],e(541)):this[e(391)][e(360)](this[e(357)],"init")}[Pm(392)](){const t=Pm;this.stop(),this[t(599)](),this[t(580)](),this[t(445)](),this[t(505)][t(319)]&&(this[t(505)][t(340)]((t=>t())),this[t(505)]=[]),this.supportVideoFrameCallbackHandle&&this[t(388)]&&(this.$videoElement[t(518)](this[t(523)]),this[t(523)]=null),this[t(388)]&&(this[t(391)][t(517)][t(653)]&&(this[t(388)][t(435)]&&(this[t(388)].pause(),this[t(388)][t(368)]=!0),this.$videoElement[t(574)]=0,this[t(388)][t(567)]&&(this[t(388)].src="",this[t(388)][t(362)](t(567)))),this[t(388)]=null),this[t(627)]&&(window[t(349)][t(694)](this[t(627)]),this[t(627)]=null),this[t(678)](),this.mediaSource=null,this[t(329)](),this[t(391)].debugLog(this[t(357)],t(392))}[Pm(626)](){const t=Pm;return this[t(391)]._opt[t(421)]&&this[t(391)][t(517)][t(623)]}[Pm(678)](){const t=Pm;this.isAvc=null,this[t(637)]=null,this[t(704)]={},this[t(645)]={},this.sourceBuffer=null,this[t(634)]=null,this[t(624)]=!1,this[t(516)]=!1,this[t(337)]=!1,this.isAudioInitInfo=!1,this[t(397)]="",this[t(663)]="",this[t(475)]={},this[t(509)]={},this[t(540)]=0,this[t(377)]=0,this.firstRenderTime=null,this[t(424)]=null,this[t(388)]=null,this[t(508)]=!1,this[t(385)]=!1,this[t(598)]=!1,this[t(566)]=!1,this[t(512)]=!1,this.prevTimestamp=null,this[t(525)]=null,this[t(642)]=null,this[t(643)]=null,this[t(471)]=0,this[t(608)]=!1,this[t(620)]=null,this.prevAudioTs=null,this.eventListenList=[],this[t(681)]=[],this[t(321)]=[],this[t(468)]=[],this[t(690)]=[],this[t(523)]=null}get[Pm(411)](){const t=Pm;return this[t(687)]&&this[t(687)].readyState}get[Pm(702)](){return this.state===$.open}get[Pm(572)](){const t=Pm;return this[t(411)]===$[t(679)]}get isStateEnded(){const t=Pm;return this[t(411)]===$[t(425)]}get[Pm(463)](){const t=Pm;return this[t(687)]&&this[t(687)][t(463)]||-1}set duration(t){const e=Pm;this.mediaSource[e(463)]=t}[Pm(483)](){const t=Pm,{events:{proxy:e}}=this[t(391)],s=e(this[t(687)],at.sourceOpen,(()=>{const e=t;this[e(391)].debugLog(this.TAG_NAME,e(376)),this[e(384)](),this[e(391)][e(657)](B[e(696)])})),i=e(this.mediaSource,at.sourceClose,(()=>{const e=t;this.player[e(360)](this[e(357)],e(706)),this[e(391)][e(657)](B[e(656)])})),r=e(this[t(687)],at[t(697)],(()=>{const e=t;this[e(391)][e(360)](this[e(357)],e(697)),this[e(391)].emit(B[e(390)])}));this[t(505)][t(582)](s,i,r);const n=e(this[t(388)],ht[t(351)],(e=>{const s=t;if(Js(this.isSupportVideoFrameCallback))if(this[s(391)][s(402)]())this[s(391)][s(593)]();else{const t=parseInt(e[s(504)],10);this.player[s(360)](this.TAG_NAME,s(548)+this[s(391)][s(517)].mseUseCanvasRender+s(369)+t+s(399)+this.player[s(444)][s(363)]+" and fps is "+this.player[s(444)][s(467)])}}));if(this[t(505)][t(582)](n),this[t(328)]){const s=e(this.mediaSource,at[t(601)],(()=>{const e=t;this[e(391)][e(360)](this[e(357)],e(496)),this[e(391)][e(657)](B[e(457)])})),i=e(this[t(687)],at[t(494)],(()=>{const e=t;this.player.debugLog(this[e(357)],"ManagedMediaSource endstreaming"),this.player[e(657)](B[e(554)])})),r=e(this[t(687)],at.qualitychange,(()=>{const e=t;this[e(391)][e(360)](this[e(357)],e(354))}));this[t(505)][t(582)](s,i,r)}}[Pm(384)](){const t=Pm;!this.sourceBuffer&&(this[t(391)][t(360)]("MediaSource","onMediaSourceSourceOpen() sourceBuffer is null and next init"),this[t(345)]()),!this[t(634)]&&(this[t(391)].debugLog(t(587),t(703)),this[t(652)]()),this[t(488)]()&&this[t(412)]()}[Pm(378)](){const t=Pm,{proxy:e}=this.player.events;this[t(391)].on(B.visibilityChange,(t=>{t&&setTimeout((()=>{const t=Mm;if(this[t(391)][t(675)]()&&this[t(388)]){const e=this[t(705)]();e-this.$videoElement[t(574)]>this[t(698)]()&&(this[t(391)][t(360)](this[t(357)],t(395)+e+t(339)+this[t(388)][t(574)]+t(686)),this[t(388)][t(574)]=e)}}),300)}));const s=e(this[t(388)],ht[t(546)],(()=>{const e=t;this[e(391)][e(360)](this[e(357)],e(513)),this[e(388)][e(335)]().then((()=>{const t=e;this[t(391)].emit(B.removeLoadingBgImage),ei()?!this[t(523)]&&(this.player.debugLog(this.TAG_NAME,t(407)),this.supportVideoFrameCallbackHandle=this.$videoElement[t(659)](this.videoFrameCallback[t(472)](this))):this[t(391)].isUseHls265()&&(this[t(391)][t(360)](this[t(357)],t(323)),this[t(445)](),this[t(343)]=setInterval((()=>{const e=t;this[e(391)].video[e(429)]({$video:this[e(388)],ts:parseInt(1e3*this.$videoElement[e(574)],10)||0})}),40)),this[t(391)][t(360)](this[t(357)],t(393))}))[e(338)]((t=>{const s=e;this[s(391)].debugError(this[s(357)],s(631),t),this[s(391)][s(524)](O.mediaSourceUseCanvasRenderPlayFailed,s(591)+t[s(503)]+" and message is "+t.message)}))})),i=e(this[t(388)],ht.waiting,(()=>{const e=t;this[e(391)].debugLog(this[e(357)],e(426))})),r=e(this.$videoElement,ht[t(330)],(()=>{const e=t;this[e(391)][e(360)](this[e(357)],e(667))})),n=e(this.$videoElement,ht[t(351)],(e=>{const s=t;parseInt(e.timeStamp,10),this[s(388)].paused&&(this[s(391)].debugWarn(this[s(357)],s(635)),this[s(388)][s(335)]()[s(571)]((()=>{const t=s;this.player[t(360)](this[t(357)],"video is paused and replay success")}))[s(338)]((t=>{const e=s;this[e(391)].debugWarn(this[e(357)],"video is paused and replay error ",t)})))})),o=e(this.$videoElement,ht[t(428)],(()=>{const e=t;this.player[e(360)](this.TAG_NAME,e(568),this[e(388)]&&this.$videoElement[e(628)]),this[e(388)]&&this[e(388)][e(434)]&&this.player[e(379)](this.TAG_NAME,e(689))}));this[t(505)][t(582)](s,i,n,o,r)}videoFrameCallback(t){const e=Pm;let s=arguments[e(319)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this[e(391)][e(439)]())return void this[e(391)].debugLog(this[e(357)],e(569));const i=parseInt(1e3*Math[e(452)](s[e(414)],this[e(388)][e(574)]),10)||0;this[e(391)][e(593)](),this[e(391)][e(489)][e(429)]({$video:this[e(388)],ts:i}),this[e(391)][e(500)]()&&this.player[e(649)]({fps:!0,ts:i}),this.supportVideoFrameCallbackHandle=this[e(388)][e(659)](this[e(658)][e(472)](this))}[Pm(364)](t,e,s,i){const r=Pm,n=this[r(391)];if(n)if(this[r(391)][r(439)]())this[r(391)].debugWarn(this[r(357)],r(410));else if(this.hasInit)if(!this[r(619)]&&s&&(this[r(619)]=!0),this.isDecodeFirstIIframe){if(s&&0===t[1]){const e=15&t[0];let s={};if(e===z[r(545)]){s=Ta(t[r(465)](5))}else e===z[r(317)]&&(s=Ja(t));const i=this[r(391)][r(489)][r(581)];i&&i.width&&i[r(418)]&&s&&s.codecWidth&&s[r(347)]&&(s[r(409)]!==i[r(462)]||s[r(347)]!==i[r(418)])&&(this.player.debugWarn(this[r(357)],r(669)+i[r(462)]+r(557)+i[r(418)]+",\n new width is "+s[r(409)]+r(640)+s[r(347)]+r(447)),this[r(608)]=!0,this[r(391)][r(524)](O[r(684)],r(542)+i[r(462)]+"->"+s.codecWidth+r(521)+i[r(418)]+"->"+s[r(347)]))}if(this[r(608)])return void this[r(391)][r(379)](this[r(357)],r(677));if(Ys(t))return void this.player[r(360)](this.TAG_NAME,r(370));if(t[r(486)]<12)return void this[r(391)][r(379)](this[r(357)],r(455)+t[r(486)]);let n=e;if(this[r(391)][r(381)]()){if(null===this[r(693)]&&(this[r(693)]=e,this[r(391)][r(360)](this[r(357)],r(470)+this[r(693)])),n=e-this[r(693)],n<0&&(this[r(391)][r(379)](this.TAG_NAME,r(556)+e+r(607)+this[r(620)]+r(550)+this[r(693)]+r(374)+this.player[r(517)][r(559)]),n=null===this[r(642)]?0:this[r(642)]+this[r(391)][r(517)][r(559)],this[r(666)](e)))return this[r(391)].debugWarn(this[r(357)],r(375)+e+r(607)+this[r(620)]+r(398)+(this[r(620)]-e)+r(440)),void this.player.emitError(O.mediaSourceTsIsMaxDiff,r(359)+this[r(620)]+" and ts is "+e);if(null!==this[r(642)]&&n<=this.prevDts){if(this.player.debugWarn(this[r(357)],"\n decodeVideo dts is less than(or equal) prev dts ,\n dts is "+n+r(341)+this[r(642)]+r(408)+e+r(680)+this[r(620)]+" ,\n and diff is "+(e-this.prevTs)+r(511)+this.firstRenderTime+r(600)+s+r(561)+this.player[r(517)].mseCorrectTimeDuration+r(526)+this.prevPayloadBufferSize+" and payload size is "+t[r(486)]),n===this[r(642)]&&this[r(471)]===t[r(486)])return void this[r(391)][r(379)](this[r(357)],"decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame");if(n=this[r(642)]+this[r(391)][r(517)][r(559)],this[r(666)](e))return this[r(391)][r(379)](this[r(357)],"decodeVideo is max diff , ts is "+e+" and prevTs is "+this.prevTs+r(398)+(this[r(620)]-e)+r(440)),void this[r(657)](O[r(671)],r(359)+this.prevTs+r(664)+e)}}this[r(391)].isPlayer()?this[r(609)](t,n,s,i,e):this[r(391)].isPlayback()?Js(this.player[r(320)])?(this[r(391)].playback.isUseLocalCalculateTime&&this[r(391)][r(406)][r(660)](),this._decodeVideo(t,n,s,i,e)):this.player[r(406)][r(673)]()&&this[r(609)](t,n,s,i,e):this.player.isPlayVod()&&Js(this[r(391)][r(490)])&&this[r(609)](t,n,s,i,e),this[r(642)]=n,this[r(471)]=t[r(486)],this[r(620)]=e}else this.player[r(360)](this.TAG_NAME,r(547));else if(s&&t[1]===pt[r(700)]){const i=15&t[0];if(n.video[r(348)]({encTypeCode:i}),i===z[r(317)]&&Js(ss()))return void this.player[r(524)](O[r(596)]);!n[r(579)][r(543)]&&(n[r(579)][r(543)]=Be()),this[r(624)]=this._decodeConfigurationRecord(t,e,s,i)}else this.player.debugWarn(this.TAG_NAME,r(522)+s+r(510)+t[1]+r(507))}[Pm(552)](t,e){const s=Pm;if(this[s(391)])if(this[s(391)].isDestroyedOrClosed())this.player[s(379)](this.TAG_NAME,"decodeAudio() player is destroyed");else if(Js(this[s(516)]))this.hasAudioInit=this[s(431)](t,e);else{let i=e;if(le(t))return void this[s(391)][s(360)](this[s(357)],s(639));if(this[s(580)](),this[s(619)]){if(this[s(391)][s(381)]()){if(null===this[s(424)]&&(this.firstAudioTime=e,this.player[s(360)](this[s(357)],s(590)+this[s(424)])),i=e-this.firstAudioTime,i<0&&(this[s(391)].debugWarn(this.TAG_NAME,s(549)+e+s(607)+this[s(316)]+s(528)+this[s(424)]),i=null===this[s(643)]?0:this[s(643)]+this[s(391)][s(517)][s(400)],this[s(629)](e)))return this[s(391)][s(379)](this[s(357)],s(415)+e+" and prevTs is "+this.prevAudioDts+s(398)+(this[s(643)]-e)+s(440)),void this[s(391)].emitError(O.mediaSourceTsIsMaxDiff,s(497)+this[s(643)]+s(664)+e);null!==this[s(316)]&&i<=this.prevAudioDts&&(this[s(391)].debugWarn(this[s(357)],"\n decodeAudio dts is less than(or equal) prev dts ,\n dts is "+i+" and prev dts is "+this[s(643)]+s(408)+e+s(680)+this.prevAudioTs+s(371)+(e-this[s(316)])),i=this.prevAudioDts+this[s(391)]._opt[s(400)])}this[s(391)][s(381)]()?this[s(361)](t,i,e):this[s(391)][s(451)]()?Js(this[s(391)].playbackPause)?this._decodeAudio(t,i,e):this[s(391)][s(406)][s(673)]()&&this[s(361)](t,i,e):this.player[s(334)]()&&Js(this.player[s(490)])&&this[s(361)](t,i,e),this.prevAudioTs=e,this[s(643)]=i}else this[s(391)].debugLog(this[s(357)],s(633))}}[Pm(666)](t){const e=Pm;return this[e(620)]>0&&tS}[Pm(629)](t){const e=Pm;return this[e(316)]>0&&tS}[Pm(459)](t,e,s,i){const r=Pm;let n=t.slice(5),o={};if(i===z[r(545)]?o=Ta(n):i===z[r(317)]&&(o=Xa(n)),Ss(o)||0===o[r(409)]&&0===o[r(347)]){this[r(391)][r(379)](this[r(357)],r(459),o);let t="";return t=Ss(o)?"config is empty object":r(514)+o.codecWidth+" and codecHeight is "+o[r(347)],this.player[r(524)](O.mediaSourceDecoderConfigurationError,t),!1}!this[r(337)]&&(this[r(391)][r(360)](this.TAG_NAME,r(691)+o[r(409)]+","+o[r(347)]),this[r(391)].video[r(348)]({width:o[r(409)],height:o.codecHeight}),this[r(391)][r(489)][r(480)](),this[r(337)]=!0),this[r(391)][r(576)]&&this[r(391)][r(517)][r(344)]===l.mp4&&this[r(391)][r(576)][r(413)](t,i);const a={id:Ct[r(489)],type:"video",timescale:1e3,duration:0,avcc:n,codecWidth:o.codecWidth,codecHeight:o[r(347)],videoType:o[r(655)]},h=Lm[r(346)](a);return this[r(558)]=i===z[r(545)],o[r(477)]?this.videoMimeType=r(613)+o.codec+'"':this[r(663)]=this.isAvc?Z[r(365)]:Z.hev,this._initSourceBuffer(),this[r(597)](h[r(441)]),this[r(540)]=0,this[r(475)]={},!0}_decodeAudioConfigurationRecord(t,e){const s=Pm,i=t[0]>>4,r=t[0]>>1&1,n=i===H.MP3,o=i===H[s(499)];let a="";if(a=o?r?16:8:0===r?8:16,Js(o||n))return this[s(391)][s(379)](this[s(357)],"_decodeAudioConfigurationRecord audio codec is not support , codecId is "+i+" ant auto wasm decode"),this[s(391)][s(657)](O.mediaSourceAudioG711NotSupport),!1;const h={id:Ct.audio,type:"audio",timescale:1e3};let c={};if(le(t)){if(c=me(t.slice(2)),!c)return!1;h[s(386)]=c[s(458)],h[s(322)]=c[s(322)],h[s(636)]=c[s(636)],h[s(605)]=1024/h[s(386)]*h[s(401)]}else{if(!n)return!1;if(c=Df(t),!c)return!1;h[s(386)]=c[s(536)],h[s(322)]=c.channelCount,h.refSampleDuration=1152/h[s(386)]*h[s(401)]}h[s(477)]=c[s(477)],h[s(463)]=0;let l=s(588),d=c[s(477)],u=null;n&&Js(We())?(l=s(573),d="",u=new Uint8Array):u=Lm[s(346)](h);let p=h.type+"/"+l;return d&&d[s(319)]>0&&(p+=s(367)+d),Js(this[s(604)])&&(this.player.audio[s(654)]({encTypeCode:i,channels:h[s(322)],sampleRate:h[s(386)],depth:a}),this[s(604)]=!0),this[s(397)]=p,this[s(637)]=o,this._initAudioSourceBuffer(),this[s(423)](u[s(441)]),!0}[Pm(345)](){const t=Pm,{events:{proxy:e}}=this[t(391)];if(null===this[t(350)]&&null!==this.mediaSource&&this.isStateOpen&&this[t(663)]){try{this[t(350)]=this[t(687)].addSourceBuffer(this.videoMimeType),this[t(391)][t(360)](this.TAG_NAME,"_initSourceBuffer() this.mediaSource.addSourceBuffer()",this[t(663)])}catch(e){return this.player.debugError(this.TAG_NAME,"appendBuffer() this.mediaSource.addSourceBuffer()",e[t(503)],e),this.player[t(524)](O[t(438)],t(591)+e[t(503)]+t(422)+e.message),void(this[t(598)]=!0)}if(this[t(350)]){const s=e(this[t(350)],t(695),(e=>{const s=t;this[s(566)]=!0,this[s(391)].debugError(this.TAG_NAME,s(498),e),this.player.emitError(O[s(373)],e[s(532)]())})),i=e(this[t(350)],t(644),(()=>{const e=t;this[e(380)]()?this[e(492)]():this[e(488)]()?this[e(412)]():this[e(535)]&&(this.player[e(360)](this[e(357)],e(578)),this[e(555)]())}));this[t(505)][t(582)](s,i)}}else this[t(391)][t(360)](this[t(357)],"_initSourceBuffer and this.isStateOpen is "+this[t(702)]+t(366)+(null===this[t(558)]))}_initAudioSourceBuffer(){const t=Pm,{events:{proxy:e}}=this[t(391)];if(null===this[t(634)]&&null!==this[t(687)]&&this[t(702)]&&this[t(397)]){try{this.audioSourceBuffer=this[t(687)][t(594)](this[t(397)]),this[t(599)](),this.player[t(360)](this[t(357)],"_initAudioSourceBuffer() this.mediaSource.addSourceBuffer()",this.audioMimeType)}catch(e){return this.player.debugError(this[t(357)],t(638),e[t(503)],e),this[t(391)][t(524)](O[t(438)],"code is "+e.code+t(422)+e.message),void(this.mediaSourceAddSourceBufferError=!0)}if(this[t(634)]){const s=e(this.audioSourceBuffer,t(695),(e=>{const s=t;this.mediaSourceBufferError=!0,this[s(391)].debugError(this[s(357)],"mseSourceBufferError this.audioSourceBuffer",e),this[s(391)][s(524)](O[s(373)],e[s(532)]())})),i=e(this.audioSourceBuffer,t(644),(()=>{const e=t;this[e(380)]()?this[e(492)]():this[e(488)]()?this[e(412)]():this[e(535)]&&(this[e(391)][e(360)](this.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),this.endOfStream())}));this[t(505)][t(582)](s,i),null===this[t(648)]&&(this[t(648)]=setTimeout((()=>{const e=t;this._clearAudioNoDataCheckTimeout(),this[e(391)][e(657)](O.mediaSourceAudioNoDataTimeout)}),1e3))}}else this.player[t(360)](this[t(357)],"_initAudioSourceBuffer and this.isStateOpen is "+this[t(702)]+t(485)+this[t(397)])}[Pm(609)](t,e,s,i,r){const n=Pm,o=this[n(391)];let a=t.slice(5),h=a[n(486)];if(0===h)return void o.debugWarn(this[n(357)],n(427));let c=(new Date)[n(519)](),l=!1;!this[n(668)]&&(this.prevTimestamp=c,l=!0);const d=c-this[n(668)];this[n(525)]=d,d>1e3&&!l&&this[n(391)][n(381)]()&&o.debugLog(this[n(357)],"_decodeVideo now time is "+c+n(674)+this[n(668)]+", diff time is "+d+n(403));const u=this.$videoElement;if(this.cacheTrack.id&&e>=this[n(475)].dts){let t=8+this[n(475)].size,s=new Uint8Array(t);s[0]=t>>>24&255,s[1]=t>>>16&255,s[2]=t>>>8&255,s[3]=255&t,s[n(647)](Lm[n(454)][n(661)],4),s[n(647)](this.cacheTrack.data,8),this[n(475)].duration=e-this.cacheTrack[n(342)],this[n(475)][n(463)]>1e3&&this[n(391)].debugWarn(this.TAG_NAME,"cacheTrack duration is "+this[n(475)][n(463)]+" ms");let i=Lm[n(479)](this[n(475)],this[n(475)].dts);this[n(475)]={};let a=new Uint8Array(i[n(486)]+s[n(486)]);a[n(647)](i,0),a[n(647)](s,i[n(486)]),this[n(597)](a[n(441)]),o[n(657)](B[n(351)],r),o.isPlayer()?o[n(500)]()?o[n(649)]({dfps:!0,mseTs:e}):o.updateStats({fps:!0,dfps:!0,ts:r,mseTs:e}):o[n(451)]()?o[n(406)][n(649)]({ts:r}):o[n(334)]()&&o[n(487)][n(649)]({ts:r}),!o[n(579)].videoStart&&(o[n(579)][n(683)]=Be(),o[n(443)]())}else o[n(360)](this[n(357)],n(419)+e+", and ts is "+r+n(537)+(this.cacheTrack&&this[n(475)].dts)),this.cacheTrack={};!this[n(475)]&&(this[n(475)]={}),this[n(475)].id=Ct[n(489)],this.cacheTrack.sequenceNumber=++this[n(540)],this[n(475)][n(538)]=h,this.cacheTrack.dts=e,this[n(475)][n(461)]=i,this.cacheTrack[n(618)]=s,this.cacheTrack[n(670)]=a,this[n(475)][n(621)]={isLeading:0,dependsOn:s?2:1,isDependedOn:s?1:0,hasRedundancy:0,isNonSync:s?0:1},o[n(517)][n(653)]&&Js(this[n(616)])&&Js(o.isUseHls265())&&o[n(489)][n(429)]({$video:u,ts:e}),this.prevTimestamp=(new Date)[n(519)]()}_stopCanvasRender(){const t=Pm;this[t(343)]&&(clearInterval(this[t(343)]),this.canvasRenderInterval=null)}[Pm(361)](t,e,s){const i=Pm,r=this[i(391)];let n=this[i(637)]?t[i(465)](2):t[i(465)](1),o=n[i(486)];if(this.cacheAudioTrack.id&&e>=this[i(509)][i(342)]){let t=8+this.cacheAudioTrack[i(538)],s=new Uint8Array(t);s[0]=t>>>24&255,s[1]=t>>>16&255,s[2]=t>>>8&255,s[3]=255&t,s[i(647)](Lm.types[i(661)],4),s[i(647)](this[i(509)][i(670)],8),this[i(509)][i(463)]=e-this[i(509)][i(342)],this[i(509)].duration>1e3&&this[i(391)][i(379)](this[i(357)],i(476)+this[i(475)].duration+i(403));let r=Lm[i(479)](this[i(509)],this.cacheAudioTrack.dts);this[i(509)]={};let n=new Uint8Array(r[i(486)]+s[i(486)]);n[i(647)](r,0),n.set(s,r.byteLength),this[i(423)](n.buffer)}else r[i(360)](this[i(357)],"cacheAudioTrack = {} now dts is "+e+i(632)+(this.cacheAudioTrack&&this[i(509)].dts)),this[i(509)]={};!this[i(509)]&&(this[i(509)]={}),this.cacheAudioTrack.id=Ct[i(352)],this.cacheAudioTrack.sequenceNumber=++this[i(377)],this[i(509)].size=o,this[i(509)][i(342)]=e,this[i(509)].cts=0,this.cacheAudioTrack[i(670)]=n,this.cacheAudioTrack[i(621)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}[Pm(597)](t){const e=Pm;this[e(391)][e(439)]()?this.player.debugWarn(this[e(357)],"appendBuffer() player is destroyed"):(this[e(391)],this[e(598)]?this[e(391)][e(379)](this[e(357)],e(372)):this[e(508)]?this[e(391)].debugWarn(this[e(357)],e(531)):this[e(385)]?this.player[e(379)](this[e(357)],e(325)):this.mediaSourceBufferError?this[e(391)].debugWarn(this[e(357)],"appendBuffer() this.mediaSourceBufferError is true"):(this.pendingSegments.push(t),this[e(350)]&&(this[e(391)][e(381)]()&&this[e(405)](),this[e(391)][e(451)]()&&(this._handleUpdateBufferDelayTime(),this[e(622)]()),this.player[e(334)](),Js(this[e(391)][e(334)]())&&this[e(391)][e(517)][e(473)]&&this[e(417)]()&&this[e(641)](),Js(this[e(699)]())&&this[e(702)]&&Js(this[e(380)]()))?this[e(412)]():this[e(572)]?(this[e(566)]=!0,this.player[e(524)](O.mseSourceBufferError,e(396))):this[e(481)]&&(this[e(566)]=!0,this.player[e(524)](O[e(373)],e(432)))))}[Pm(423)](t){const e=Pm;this[e(391)].isDestroyedOrClosed()?this[e(391)].debugWarn(this.TAG_NAME,e(506)):(this.player,this[e(598)]?this.player[e(379)](this[e(357)],"appendAudioBuffer() this.mediaSourceAddSourceBufferError is true"):this[e(508)]?this[e(391)][e(379)](this[e(357)],"appendAudioBuffer() this.mediaSourceAppendBufferFull is true"):this[e(385)]?this[e(391)][e(379)](this[e(357)],e(520)):this.mediaSourceBufferError?this[e(391)][e(379)](this[e(357)],e(420)):(this[e(690)][e(582)](t),this[e(634)]&&(this[e(391)].isPlayer()&&this[e(405)](),this[e(391)][e(451)]()&&(this[e(460)](),this[e(622)]()),this[e(391)].isPlayVod(),Js(this[e(391)][e(334)]())&&this[e(391)]._opt[e(473)]&&this[e(417)]()&&this[e(641)](),Js(this[e(404)]())&&this[e(702)]&&Js(this[e(380)]()))?this[e(412)]():this[e(572)]?(this.mediaSourceBufferError=!0,this[e(391)].emitError(O.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):this.isStateEnded&&(this[e(566)]=!0,this[e(391)][e(524)](O[e(373)],e(432)))))}[Pm(699)](){const t=Pm;return this[t(350)]&&this[t(350)][t(665)]}getAudioSourceBufferUpdating(){const t=Pm;return this[t(634)]&&this[t(634)].updating}[Pm(416)](){const t=Pm;this[t(326)](),this[t(606)](),this[t(555)]()}checkSourceBufferDelay(){const t=Pm,e=this[t(388)];let s=0,i=0;return e[t(491)][t(319)]>0&&(i=e[t(491)][t(448)](e[t(491)].length-1),s=i-e.currentTime),s<0&&(this[t(391)].debugWarn(this[t(357)],"checkMSESourceBufferDelay "+s+t(327)+i+" ,currentTime is "+e.currentTime+t(612)+e[t(574)]+" to "+i),e[t(574)]=i,e[t(434)]&&(this[t(391)].debugWarn(this[t(357)],t(332)),this[t(391)][t(586)]=!0),s=0),s}checkSourceBufferStore(){const t=Pm,e=this[t(388)];let s=0;return e[t(491)][t(319)]>0&&(s=e[t(574)]-e[t(491)][t(707)](0)),s}[Pm(575)](){const t=Pm,e=this.$videoElement;let s=0;return e.buffered[t(319)]>0&&(s=e[t(491)][t(448)](e[t(491)].length-1)-e[t(574)]),s}[Pm(437)](){return this[Pm(525)]}[Pm(446)](t,e){const s=Pm,i=_s();if(this.player[s(360)](this[s(357)],s(534)+t+s(453)+e+" and _isMacOsFirefox is "+i),this[s(702)]&&Js(i)){if(Js(this[s(699)]()))try{this[s(350)][s(495)](t,e)}catch(t){this.player[s(379)](this[s(357)],s(589),t)}if(Js(this[s(404)]()))try{this[s(634)][s(495)](t,e)}catch(t){this[s(391)][s(379)](this[s(357)],s(482),t)}}}clearUpAllSourceBuffer(){const t=Pm;if(this[t(350)]){const e=this.sourceBuffer.buffered;for(let s=0;s=1)if(this.getSourceBufferUpdating()||this.getAudioSourceBufferUpdating())this[t(535)]=!0;else{this[t(535)]=!1;try{this[t(391)][t(360)](this[t(357)],t(614)),this[t(687)][t(555)]()}catch(e){this[t(391)].debugWarn(this.TAG_NAME,"endOfStream() error",e)}}}[Pm(326)](){const t=Pm;if(this[t(702)]){if(this.sourceBuffer){try{this[t(391)][t(360)](this[t(357)],"abortSourceBuffer() abort sourceBuffer"),this[t(350)][t(562)]()}catch(t){}Js(this.getSourceBufferUpdating())&&this[t(492)]()}if(this[t(634)]){try{this[t(391)][t(360)](this[t(357)],t(355)),this[t(634)][t(562)]()}catch(t){}Js(this.getAudioSourceBufferUpdating())&&this[t(492)]()}}this[t(350)]=null,this[t(634)]=null}[Pm(606)](){const t=Pm;if(!this[t(572)]&&this.mediaSource){if(this[t(350)])try{this[t(391)][t(360)](this[t(357)],"removeSourceBuffer() sourceBuffer"),this[t(687)][t(606)](this[t(350)])}catch(e){this[t(391)].debugError(this[t(357)],"removeSourceBuffer() sourceBuffer error",e)}if(this[t(634)])try{this[t(391)][t(360)](this[t(357)],"removeSourceBuffer() audioSourceBuffer"),this[t(687)][t(606)](this[t(634)])}catch(e){this[t(391)][t(692)](this.TAG_NAME,t(602),e)}}}[Pm(488)](){const t=Pm;return this[t(321)][t(319)]>0||this[t(690)][t(319)]>0}[Pm(592)](){return this.pendingSegments.length}[Pm(405)](){const t=Pm;if(!this[t(388)])return;const e=this[t(388)];this[t(391)][t(517)][t(564)],this.player._opt.videoBufferDelay;const s=e[t(491)];s[t(319)]&&s[t(707)](0);const i=s[t(319)]?s.end(s.length-1):0;let r=e[t(574)];const n=i-r,o=this.getMseBufferMaxDelayTime();if(this[t(391)][t(649)]({mseVideoBufferDelayTime:n}),0===this[t(388)][t(539)])return;if(n>o)this[t(391)][t(360)](this[t(357)],t(585)+i+" and current is "+r+t(584)+o+" is "+n+" and new time is "+i),e[t(574)]=i,r=e[t(574)];else if(n<0&&0===i)return this[t(391)][t(379)](this.TAG_NAME,"handleUpdatePlaybackRate and delay buffer is "+i+t(565)+r+t(324)+n+t(389)+e.paused+" "),void this[t(391)][t(657)](O[t(603)],t(615));const a=this[t(583)](i-r);e[t(628)]!==a&&(this[t(391)].debugLog(this[t(357)],t(585)+i+" and current time is "+r+t(533)+(i-r)+" set playbackRate is "+a+" "),e.playbackRate=a)}[Pm(460)](){const t=Pm,e=this[t(530)]();this.player[t(649)]({mseVideoBufferDelayTime:e})}_checkVideoPlayCurrentTime(){const t=Pm,e=this[t(611)]();if(e<0){const s=this[t(484)]();this[t(391)].debugWarn(this[t(357)],"checkVideoPlayCurrentTime store is "+e+t(688)+this[t(388)][t(574)]+t(383)+s),this[t(388)][t(574)]=s}}[Pm(595)](){const t=Pm;if(!this[t(388)])return;const e=this.$videoElement[t(574)],s=this[t(356)]();if(1===s.length){const i=s[0][t(448)],r=Math[t(353)](i-e);if(r<1)return void this[t(391)][t(360)](this[t(357)],t(456)+e+" and buffer end is "+i+t(682)+r+t(450))}let i=null;for(let r=0;r{const e=t;this[e(599)](),this.player[e(657)](O[e(527)])}),1e3)));if(Js(this[t(699)]())&&this[t(321)][t(319)]>0){const e=this[t(321)].shift();try{this[t(350)][t(597)](e)}catch(e){this[t(391)].debugError(this.TAG_NAME,t(662),e.code,e),22===e.code?(this[t(416)](),this[t(508)]=!0,this[t(391)][t(524)](O[t(502)],"code is "+e[t(503)]+t(422)+e[t(387)])):11===e[t(503)]?(this[t(416)](),this[t(385)]=!0,this[t(391)][t(524)](O.mediaSourceAppendBufferError,t(591)+e[t(503)]+" and message is "+e.message)):(this[t(416)](),this[t(566)]=!0,this.player.emitError(B[t(373)],t(591)+e[t(503)]+" and message is "+e.message))}}if(Js(this[t(404)]())&&this.pendingAudioSegments[t(319)]>0){const e=this[t(690)].shift();try{this[t(634)].appendBuffer(e)}catch(e){this[t(391)].debugError(this.TAG_NAME,t(474),e[t(503)],e),22===e[t(503)]?(this[t(416)](),this[t(508)]=!0,this[t(391)].emitError(O[t(502)],t(591)+e[t(503)]+t(422)+e[t(387)])):11===e[t(503)]?(this[t(416)](),this[t(385)]=!0,this[t(391)].emitError(O[t(385)],t(591)+e.code+t(422)+e[t(387)])):(this[t(416)](),this[t(566)]=!0,this[t(391)][t(524)](B.mseSourceBufferError,t(591)+e[t(503)]+t(422)+e.message))}}}else this.player[t(360)](this[t(357)],"_doAppendSegments() sourceBuffer is null and wait init and return")}[Pm(641)](){const t=Pm;if(!this.$videoElement)return;const e=this[t(388)][t(574)];if(this[t(350)]){const s=this[t(350)][t(491)];let i=!1;for(let r=0;r=this[t(391)]._opt[t(672)]){i=!0;let s=e-this[t(391)][t(517)][t(436)];this[t(681)].push({start:n,end:s})}}else o=this[t(391)]._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let s=e-this.player[t(517)][t(436)];this.pendingAudioRemoveRanges[t(582)]({start:n,end:s})}}else o0||this[t(468)][t(319)]>0}[Pm(492)](){const t=Pm;if(this.sourceBuffer&&Js(this[t(699)]())){let e=this.pendingRemoveRanges;for(;e[t(319)]&&Js(this[t(699)]());){let s=e[t(630)]();try{this[t(350)][t(495)](s[t(707)],s[t(448)])}catch(e){this[t(391)][t(379)](this[t(357)],t(685),e)}}}if(this[t(634)]&&Js(this.getAudioSourceBufferUpdating())){let e=this.pendingAudioRemoveRanges;for(;e[t(319)]&&Js(this[t(404)]());){let s=e.shift();try{this[t(634)][t(495)](s[t(707)],s[t(448)])}catch(e){this[t(391)][t(379)](this.TAG_NAME,t(493),e)}}}}[Pm(318)](){const t=Pm;let e=0;const s=this[t(388)];return s&&(e=s[t(628)]),e}[Pm(583)](t){const e=Pm,s=this[e(388)];let i=this[e(391)][e(517)][e(449)]+this[e(391)][e(517)][e(564)];const r=Math[e(452)](i,1e3),n=r/2;return t*=1e3,1===s[e(628)]?t>r?1.2:1:t<=n?1:s[e(628)]}[Pm(417)](){const t=Pm;if(Js(this[t(391)][t(517)].mseAutoCleanupSourceBuffer)||!this[t(388)])return!1;const e=this[t(388)],s=e[t(491)],i=e[t(574)];return s.length>=1&&i-s[t(707)](0)>=this[t(391)]._opt[t(672)]}getVideoCurrentTime(){const t=Pm;let e=0;return this.$videoElement&&(e=this[t(388)][t(574)]),e}[Pm(705)](){const t=Pm,e=this.$videoElement;let s=0;if(e){const i=e.buffered;i[t(319)]&&i[t(707)](0);s=i.length?i[t(448)](i.length-1):0}return s}[Pm(563)](){const t=Pm,e=this[t(388)];let s=null;if(e){const i=e.buffered,r=i[t(319)]?i.start(0):0,n=i[t(319)]?i.end(i[t(319)]-1):0;s={start:r,end:n,diff:n-r}}return s}[Pm(484)](){const t=Pm,e=this[t(388)];let s=0;if(e){const i=e[t(491)];s=i.length?i[t(707)](0):0}return s}[Pm(570)](){const t=Pm,e=this[t(388)];let s=0;if(e){const i=e.buffered;s=i[t(319)]?i.end(i.length-1):0}return s}[Pm(356)](){const t=Pm,e=this[t(388)];let s=[];if(e){const i=e[t(491)];for(let e=0;e0?s:0}_clearAudioSourceBufferCheckTimeout(){const t=Pm;this.audioSourceBufferCheckTimeout&&(clearTimeout(this[t(544)]),this[t(544)]=null)}[Pm(580)](){const t=Pm;this[t(648)]&&(clearTimeout(this[t(648)]),this[t(648)]=null)}[Pm(394)](){const t=Pm;return{video:this[t(663)],audio:this[t(397)]}}[Pm(698)](){const t=Pm;let e=(this[t(391)][t(517)][t(564)]+this[t(391)][t(517)][t(449)])/1e3;return Math.max(5,e+3)}[Pm(646)](){const t=Pm;return this.$videoElement&&Js(this[t(388)].paused)&&Js(this.$videoElement.ended)&&0!==this[t(388)][t(628)]&&0!==this[t(388)][t(539)]}isCurrentTimeInBufferEnd(){const t=Pm;let e=!1;if(this[t(388)]){const s=this[t(388)][t(574)],i=this[t(570)](),r=Math[t(353)](i-s);e=r<1,e&&this[t(391)][t(360)](this.TAG_NAME,"isCurrentTimeInBufferEnd and currentTime is "+s+" and end is "+i+" and diff is "+r)}return e}[Pm(515)](){const t=Pm,e=this.checkSourceBufferStore();if(e<0){const s=this[t(484)]();this[t(391)].debug[t(625)](this.TAG_NAME,t(469)+e+" < 0 and set currentTime "+this.$videoElement[t(574)]+t(383)+s),this[t(388)][t(574)]=s}}[Pm(701)](t){const e=Pm;this[e(687)]&&(this[e(687)].duration=t)}}const Om=Um;function Um(t,e){const s=zm();return(Um=function(t,e){return s[t-=429]})(t,e)}!function(t,e){const s=Um,i=t();for(;;)try{if(526458===parseInt(s(453))/1+-parseInt(s(442))/2+-parseInt(s(484))/3*(-parseInt(s(456))/4)+-parseInt(s(431))/5*(-parseInt(s(472))/6)+parseInt(s(443))/7+parseInt(s(480))/8+parseInt(s(485))/9*(-parseInt(s(467))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(zm);const jm=Om(488),Nm=()=>Om(455)in navigator&&-1===window.navigator[Om(452)][Om(470)](Om(476))&&Js(Qe());class Vm{constructor(t){const e=Om;this[e(478)]=t,this[e(450)]=!1,Nm()?(this.player.debugLog(e(477),e(439)),this._wakeLock=null,this[e(492)]=()=>{const t=e;null!==this[t(435)]&&"visible"===document[t(465)]&&this[t(464)]()},document[e(471)](e(491),this[e(492)]),document[e(471)](e(433),this[e(492)])):(this.player.debugLog(e(477),e(481)),this[e(437)]=document[e(436)]("video"),this[e(437)][e(429)]("title",e(434)),this[e(437)][e(429)](e(461),""),this[e(473)](this[e(437)],"webm",jm),this[e(473)](this.noSleepVideo,"mp4","data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACORtZGF03gIATGF2YzU4LjM1LjEwMAACMEAOAAACcQYF//9t3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2MSByMzAyNyA0MTIxMjc3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTAgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0wIHdlaWdodHA9MCBrZXlpbnQ9MjUwIGtleWludF9taW49MTAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAADvZYiED/JigADD7JycnJycnJycnJycnJycnJycnJ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114BGCAHARggBwEYIAcBGCAHARggBwAAAAdBmjgf4BLYARggBwEYIAcBGCAHARggBwAAAAdBmlQH+AS2ARggBwEYIAcBGCAHARggBwAAAAdBmmA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZrAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0Ga4D/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbAD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbID/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBm0A/wCWwARggBwEYIAcBGCAHAAAAB0GbYD/AJbABGCAHARggBwEYIAcAAAAHQZuAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0Gb4D/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBmgA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmiA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmkA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZpgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwAAAAdBmsA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmuA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmwA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZsgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtgP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GbgD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdB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"),Object[e(458)](this[e(437)][e(482)],{position:e(459),left:e(447),top:e(447)}),document.querySelector(e(448))[e(449)](this[e(437)]),this[e(486)]=()=>{const t=e;this[t(437)]&&this[t(437)][t(468)]>4&&(this[t(437)].currentTime=1)},this[e(437)][e(471)](e(489),this[e(486)]))}destroy(){const t=Om;if(this._wakeLock&&(this[t(435)].release(),this[t(435)]=null),this.noSleepVideo){this[t(486)]&&this[t(437)][t(441)](t(489),this[t(486)]);try{this[t(437)][t(432)]&&this[t(437)][t(432)][t(475)](this[t(437)])}catch(e){this.player[t(457)](t(477),t(483))}this[t(437)]=null}this.handleVisibilityChange&&(document.removeEventListener("visibilitychange",this[t(492)]),document[t(441)](t(433),this[t(492)]))}[Om(473)](t,e,s){const i=Om;var r=document[i(436)]("source");r.src=s,r[i(474)]="video/"+e,t[i(446)](r)}get[Om(490)](){return this[Om(450)]}[Om(464)](){const t=Om;if(Nm())return navigator[t(455)].request(t(445))[t(451)]((e=>{const s=t;this[s(435)]=e,this[s(450)]=!0,this[s(478)].debugLog(s(455),"Wake Lock active."),this[s(435)][s(471)](s(440),(()=>{const t=s;this[t(478)].debugLog(t(455),t(460))}))})).catch((e=>{const s=t;throw this.enabled=!1,this[s(478)].debugWarn(s(455),e[s(479)]+", "+e.message),e}));return this[t(437)][t(454)]()[t(451)]((e=>{const s=t;return this[s(478)][s(438)]("wakeLock",s(487)),this[s(450)]=!0,e}))[t(469)]((e=>{const s=t;throw this[s(478)][s(457)](s(455),s(462)+e[s(479)]+", "+e[s(430)]),this.enabled=!1,e}))}[Om(463)](){const t=Om;Nm()?(this._wakeLock&&this[t(435)].release(),this._wakeLock=null):this[t(437)]&&this[t(437)][t(444)](),this[t(450)]=!1,this.player.debugLog("wakeLock",t(466))}}function zm(){const t=["2235495lKeGXi","parentNode","fullscreenchange","No Sleep","_wakeLock","createElement","noSleepVideo","debugLog","Native Wake Lock API supported.","release","removeEventListener","1312878SYHozA","6396719MQAKOe","pause","screen","appendChild","-100%","body","append","enabled","then","userAgent","898333anxvQC","play","wakeLock","2231028urynoZ","debugWarn","assign","absolute","Wake Lock released.","playsinline","noSleepVideo ","disable","enable","visibilityState","Disabling wake lock.","19620iyCFQi","currentTime","catch","indexOf","addEventListener","6qgotng","_addSourceToVideo","type","removeChild","Samsung","NoSleep","player","name","2685912FprNWN","Native Wake Lock API not supported. so use video element.","style","Failed to remove noSleepVideo element.","3dPIEnf","9036GDYZQb","handleNoSleepVideoTimeUpdate","noSleepVideo Wake Lock active.","data:video/webm;base64,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ggOtgPj//qOHggPBgPj//qOHggPVgPj//qOHggPpgPj//qOegQPvANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCA/2A+P/+o4eCBBGA+P/+o4eCBCWA+P/+o4eCBDmA+P/+o4eCBE2A+P/+o56BBFMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IEiID4//6jh4IEnID4//6jh4IEsID4//6jnoEEtwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggTEgPj//qOHggTYgPj//qOHggTsgPj//qOHggUAgPj//qOHggUUgPj//qOegQUbANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBSiA+P/+o4eCBTyA+P/+o4eCBVCA+P/+o4eCBWSA+P/+o4eCBXiA+P/+o56BBX8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IFjID4//6jh4IFoID4//6jh4IFtID4//6jh4IFyID4//6jh4IF3ID4//6jnoEF4wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggXwgPj//qOHggYEgPj//qOHggYYgPj//qOHggYsgPj//qOHggZAgPj//qOegQZHANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBlSA+P/+o4eCBmiA+P/+o4eCBnyA+P/+o4eCBpCA+P/+o4eCBqSA+P/+o56BBqsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IGuID4//6jh4IGzID4//6jh4IG4ID4//6jh4IG9ID4//6jh4IHCID4//6jnoEHDwDRAgAFEBAUYABhYL/QACIAEM1+tck+ccwAAKOHggccgPj//qOHggcwgPj//qOHggdEgPj//qOHggdYgPj//qOHggdsgPj//qOegQdzANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCB4CA+P/+o4eCB5SA+P/+o4eCB6iA+P/+o4eCB7yA+P/+o4eCB9CA+P/+o56BB9cA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IH5ID4//6jh4IH+ID4//6jh4IIDID4//6jh4IIIID4//6jh4IINID4//6jnoEIOwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgghIgPj//qOHgghcgPj//qOHgghwgPj//qOHggiEgPj//qOegQifANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCMCA+P/+o4eCCNSA+P/+o4eCCOiA+P/+o4eCCPyA+P/+o56BCQMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IJEID4//6jh4IJJID4//6jh4IJOID4//6jh4IJTID4//6jh4IJYID4//6jnoEJZwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggl0gPj//qOHggmIgPj//qOHggmcgPj//qOHggmwgPj//qOHggnEgPj//qOegQnLANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCdiA+P/+o4eCCeyA+P/+o4eCCgCA+P/+o4eCChSA+P/+o4eCCiiA+P/+o56BCi8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IKPID4//6jh4IKUID4//6jh4IKZID4//6jh4IKeID4//6jh4IKjID4//6jnoEKkwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggqggPj//qOHggq0gPj//qOHggrIgPj//qOHggrcgPj//qOHggrwgPj//qOegQr3ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCwSA+P/+o4eCCxiA+P/+o4eCCyyA+P/+o4eCC0CA+P/+o4eCC1SA+P/+o56BC1sA0QIABRAQFGAAYWC/0AAiABDNfrXJPnHMAACjh4ILaID4//6jh4ILfID4//6jh4ILkID4//6jh4ILpID4//6jh4ILuID4//6jnoELvwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggvMgPj//qOHggvggPj//qOHggv0gPj//qOHggwIgPj//qOHggwcgPj//qOegQwjANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDDCA+P/+o4eCDESA+P/+o4eCDFiA+P/+o4eCDGyA+P/+o4eCDICA+P/+o56BDIcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IMlID4//6jh4IMqID4//6jh4IMvID4//6jh4IM0ID4//6jnoEM6wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg0MgPj//qOHgg0ggPj//qOHgg00gPj//qOHgg1IgPj//qOegQ1PANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDVyA+P/+o4eCDXCA+P/+o4eCDYSA+P/+o4eCDZiA+P/+o4eCDayA+P/+o56BDbMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4INwID4//6jh4IN1ID4//6jh4IN6ID4//6jh4IN/ID4//6jh4IOEID4//6jnoEOFwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg4kgPj//qOHgg44gPj//qOHgg5MgPj//qOHgg5ggPj//qOHgg50gPj//qOegQ57ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDoiA+P/+o4eCDpyA+P/+o4eCDrCA+P/+o4eCDsSA+P/+o4eCDtiA+P/+o56BDt8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IO7ID4//6jh4IPAID4//6jh4IPFID4//6jh4IPKID4//6jh4IPPID4//6jnoEPQwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg9QgPj//qOHgg9kgPj//qOHgg94gPj//qOHgg+MgPj//qOHgg+ggPj//qOegQ+nANECAAUQEBRgAGFgv9AAIgAQzX61yT5xzAAAo4eCD7SA+P/+o4eCD8iA+P/+o4eCD9yA+P/+o4eCD/CA+P/+o4eCEASA+P/+o56BEAsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IQGID4//6jh4IQLID4//6jh4IQQID4//6jh4IQVID4//6jh4IQaID4//6jnoEQbwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghB8gPj//qOHghCQgPj//qOHghCkgPj//qOHghC4gPj//qOHghDMgPj//qOegRDTANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEOCA+P/+o4eCEPSA+P/+o4eCEQiA+P/+o56BETcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IRQ4D4//6jh4IRV4D4//6jh4IRa4D4//6jh4IRf4D4//6jh4IRk4D4//6jnoERmwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghGngPj//qOHghG7gPj//qOHghHPgPj//qOHghHjgPj//qOHghH3gPj//qOegRH/ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEguA+P/+o4eCEh+A+P/+o4eCEjOA+P/+o4eCEkeA+P/+o4eCEluA+P/+o56BEmMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4ISb4D4//6jh4ISg4D4//6jh4ISl4D4//6jh4ISq4D4//6jh4ISv4D4//6jnoESxwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghLTgPj//qOHghLngPj//qOHghL7gPj//qOHghMPgPj//qOHghMjgPj//qOegRMrANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEzeA+P/+o4eCE0uA+P/+o4eCE1+A+P/+o4eCE3OA+P/+oAEAAAAAAAAPoYeCE4cA+P/+daKDB/KBHFO7a5G7j7OBB7eK94EB8YIDX/CBDA==","timeupdate","isEnabled","visibilitychange","handleVisibilityChange","setAttribute","message"];return(zm=function(){return t})()}function Gm(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Hm={exports:{}};!function(t,e){var s,i,r,n,o;s=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,i=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(t,e,s){if(s=s||{},t=t.trim(),!(e=e.trim())){if(!s.alwaysNormalize)return t;var r=o.parseURL(t);if(!r)throw new Error("Error trying to parse base URL.");return r.path=o.normalizePath(r.path),o.buildURLFromParts(r)}var n=o.parseURL(e);if(!n)throw new Error("Error trying to parse relative URL.");if(n.scheme)return s.alwaysNormalize?(n.path=o.normalizePath(n.path),o.buildURLFromParts(n)):e;var a=o.parseURL(t);if(!a)throw new Error("Error trying to parse base URL.");if(!a.netLoc&&a.path&&"/"!==a.path[0]){var h=i.exec(a.path);a.netLoc=h[1],a.path=h[2]}a.netLoc&&!a.path&&(a.path="/");var c={scheme:a.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc&&(c.netLoc=a.netLoc,"/"!==n.path[0]))if(n.path){var l=a.path,d=l.substring(0,l.lastIndexOf("/")+1)+n.path;c.path=o.normalizePath(d)}else c.path=a.path,n.params||(c.params=a.params,n.query||(c.query=a.query));return null===c.path&&(c.path=s.alwaysNormalize?o.normalizePath(n.path):n.path),o.buildURLFromParts(c)},parseURL:function(t){var e=s.exec(t);return e?{scheme:e[1]||"",netLoc:e[2]||"",path:e[3]||"",params:e[4]||"",query:e[5]||"",fragment:e[6]||""}:null},normalizePath:function(t){for(t=t.split("").reverse().join("").replace(r,"");t.length!==(t=t.replace(n,"")).length;);return t.split("").reverse().join("")},buildURLFromParts:function(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}},t.exports=o}(Hm);var Wm=Hm.exports;function Km(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,i)}return s}function Qm(t){for(var e=1;e`):ig}(e)}))}const ag=ng,hg=/^(\d+)x(\d+)$/,cg=/(.+?)=(".*?"|.*?)(?:,|$)/g;class lg{constructor(t){"string"==typeof t&&(t=lg.parseAttrList(t)),Jm(this,t)}get clientAttrs(){return Object.keys(this).filter((t=>"X-"===t.substring(0,2)))}decimalInteger(t){const e=parseInt(this[t],10);return e>Number.MAX_SAFE_INTEGER?1/0:e}hexadecimalInteger(t){if(this[t]){let e=(this[t]||"0x").slice(2);e=(1&e.length?"0":"")+e;const s=new Uint8Array(e.length/2);for(let t=0;tNumber.MAX_SAFE_INTEGER?1/0:e}decimalFloatingPoint(t){return parseFloat(this[t])}optionalFloat(t,e){const s=this[t];return s?parseFloat(s):e}enumeratedString(t){return this[t]}bool(t){return"YES"===this[t]}decimalResolution(t){const e=hg.exec(this[t]);if(null!==e)return{width:parseInt(e[1],10),height:parseInt(e[2],10)}}static parseAttrList(t){let e;const s={};for(cg.lastIndex=0;null!==(e=cg.exec(t));){let t=e[2];0===t.indexOf('"')&&t.lastIndexOf('"')===t.length-1&&(t=t.slice(1,-1));s[e[1].trim()]=t}return s}}function dg(t){return"SCTE35-OUT"===t||"SCTE35-IN"===t}class ug{constructor(t,e){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,e){const s=e.attr;for(const e in s)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==s[e]){ag.warn(`DATERANGE tag attribute: "${e}" does not match for tags with ID: "${t.ID}"`),this._badValueForSameId=e;break}t=Jm(new lg({}),s,t)}if(this.attr=t,this._startDate=new Date(t["START-DATE"]),"END-DATE"in this.attr){const t=new Date(this.attr["END-DATE"]);Xm(t.getTime())&&(this._endDate=t)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;const t=this.duration;return null!==t?new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){const t=this.attr.decimalFloatingPoint("DURATION");if(Xm(t))return t}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&Xm(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}class pg{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var fg="audio",mg="video",gg="audiovideo";class Ag{constructor(t){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[fg]:null,[mg]:null,[gg]:null},this.baseurl=t}setByteRange(t,e){const s=t.split("@",2);let i;i=1===s.length?(null==e?void 0:e.byteRangeEndOffset)||0:parseInt(s[1]),this._byteRange=[i,parseInt(s[0])+i]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Wm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(t){this._url=t}}class yg extends Ag{constructor(t,e){super(e),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new pg,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=t}get decryptdata(){const{levelkeys:t}=this;if(!t&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{const t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;if(!Xm(this.programDateTime))return null;const t=Xm(this.duration)?this.duration:0;return this.programDateTime+1e3*t}get encrypted(){var t;if(null!=(t=this._decryptdata)&&t.encrypted)return!0;if(this.levelkeys){const t=Object.keys(this.levelkeys),e=t.length;if(e>1||1===e&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(t){if(this.levelkeys){const e=this.levelkeys[t];e&&!this._decryptdata&&(this._decryptdata=e.getDecryptData(this.sn))}}abortRequests(){var t,e;null==(t=this.loader)||t.abort(),null==(e=this.keyLoader)||e.abort()}setElementaryStreamInfo(t,e,s,i,r,n=!1){const{elementaryStreams:o}=this,a=o[t];a?(a.startPTS=Math.min(a.startPTS,e),a.endPTS=Math.max(a.endPTS,s),a.startDTS=Math.min(a.startDTS,i),a.endDTS=Math.max(a.endDTS,r)):o[t]={startPTS:e,endPTS:s,startDTS:i,endDTS:r,partial:n}}clearElementaryStreamInfo(){const{elementaryStreams:t}=this;t[fg]=null,t[mg]=null,t[gg]=null}}class bg extends Ag{constructor(t,e,s,i,r){super(s),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new pg,this.duration=t.decimalFloatingPoint("DURATION"),this.gap=t.bool("GAP"),this.independent=t.bool("INDEPENDENT"),this.relurl=t.enumeratedString("URI"),this.fragment=e,this.index=i;const n=t.enumeratedString("BYTERANGE");n&&this.setByteRange(n,r),r&&(this.fragOffset=r.fragOffset+r.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:t}=this;return!!(t.audio||t.video||t.audiovideo)}}class vg{constructor(t){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=t}reloaded(t){if(!t)return this.advanced=!0,void(this.updated=!0);const e=this.lastPartSn-t.lastPartSn,s=this.lastPartIndex-t.lastPartIndex;this.updated=this.endSN!==t.endSN||!!s||!!e||!this.live,this.advanced=this.endSN>t.endSN||e>0||0===e&&s>0,this.updated||this.advanced?this.misses=Math.floor(.6*t.misses):this.misses=t.misses+1,this.availabilityDelay=t.availabilityDelay}get hasProgramDateTime(){return!!this.fragments.length&&Xm(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){const t=this.driftEndTime-this.driftStartTime;if(t>0){return 1e3*(this.driftEnd-this.driftStart)/t}return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var t;return null!=(t=this.fragments)&&t.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}function Sg(t){return Uint8Array.from(atob(t),(t=>t.charCodeAt(0)))}function wg(t){const e=t.split(":");let s=null;if("data"===e[0]&&2===e.length){const t=e[1].split(";"),i=t[t.length-1].split(",");if(2===i.length){const e="base64"===i[0],r=i[1];e?(t.splice(-1,1),s=Sg(r)):s=function(t){const e=Eg(t).subarray(0,16),s=new Uint8Array(16);return s.set(e,16-e.length),s}(r)}}return s}function Eg(t){return Uint8Array.from(unescape(encodeURIComponent(t)),(t=>t.charCodeAt(0)))}const Ig="undefined"!=typeof self?self:void 0;var Tg={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},kg="org.w3.clearkey",_g="com.apple.streamingkeydelivery",Cg="com.microsoft.playready",Rg="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function Dg(t){switch(t){case _g:return Tg.FAIRPLAY;case Cg:return Tg.PLAYREADY;case Rg:return Tg.WIDEVINE;case kg:return Tg.CLEARKEY}}var Lg="edef8ba979d64acea3c827dcd51d21ed";function xg(t){switch(t){case Tg.FAIRPLAY:return _g;case Tg.PLAYREADY:return Cg;case Tg.WIDEVINE:return Rg;case Tg.CLEARKEY:return kg}}function Pg(t){const{drmSystems:e,widevineLicenseUrl:s}=t,i=e?[Tg.FAIRPLAY,Tg.WIDEVINE,Tg.PLAYREADY,Tg.CLEARKEY].filter((t=>!!e[t])):[];return!i[Tg.WIDEVINE]&&s&&i.push(Tg.WIDEVINE),i}const Bg=null!=Ig&&null!=(Mg=Ig.navigator)&&Mg.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;var Mg;function Fg(t,e,s){return Uint8Array.prototype.slice?t.slice(e,s):new Uint8Array(Array.prototype.slice.call(t,e,s))}const Og=(t,e)=>e+10<=t.length&&73===t[e]&&68===t[e+1]&&51===t[e+2]&&t[e+3]<255&&t[e+4]<255&&t[e+6]<128&&t[e+7]<128&&t[e+8]<128&&t[e+9]<128,Ug=(t,e)=>e+10<=t.length&&51===t[e]&&68===t[e+1]&&73===t[e+2]&&t[e+3]<255&&t[e+4]<255&&t[e+6]<128&&t[e+7]<128&&t[e+8]<128&&t[e+9]<128,jg=(t,e)=>{const s=e;let i=0;for(;Og(t,e);){i+=10;i+=Ng(t,e+6),Ug(t,e+10)&&(i+=10),e+=i}if(i>0)return t.subarray(s,s+i)},Ng=(t,e)=>{let s=0;return s=(127&t[e])<<21,s|=(127&t[e+1])<<14,s|=(127&t[e+2])<<7,s|=127&t[e+3],s},Vg=(t,e)=>Og(t,e)&&Ng(t,e+6)+10<=t.length-e,zg=t=>{const e=Wg(t);for(let t=0;tt&&"PRIV"===t.key&&"com.apple.streaming.transportStreamTimestamp"===t.info,Hg=t=>{const e=String.fromCharCode(t[0],t[1],t[2],t[3]),s=Ng(t,4);return{type:e,size:s,data:t.subarray(10,10+s)}},Wg=t=>{let e=0;const s=[];for(;Og(t,e);){const i=Ng(t,e+6);e+=10;const r=e+i;for(;e+8"PRIV"===t.type?Qg(t):"W"===t.type[0]?qg(t):Yg(t),Qg=t=>{if(t.size<2)return;const e=Xg(t.data,!0),s=new Uint8Array(t.data.subarray(e.length+1));return{key:t.type,info:e,data:s.buffer}},Yg=t=>{if(t.size<2)return;if("TXXX"===t.type){let e=1;const s=Xg(t.data.subarray(e),!0);e+=s.length+1;const i=Xg(t.data.subarray(e));return{key:t.type,info:s,data:i}}const e=Xg(t.data.subarray(1));return{key:t.type,data:e}},qg=t=>{if("WXXX"===t.type){if(t.size<2)return;let e=1;const s=Xg(t.data.subarray(e),!0);e+=s.length+1;const i=Xg(t.data.subarray(e));return{key:t.type,info:s,data:i}}const e=Xg(t.data);return{key:t.type,data:e}},Jg=t=>{if(8===t.data.byteLength){const e=new Uint8Array(t.data),s=1&e[3];let i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,s&&(i+=47721858.84),Math.round(i)}},Xg=(t,e=!1)=>{const s=$g();if(s){const i=s.decode(t);if(e){const t=i.indexOf("\0");return-1!==t?i.substring(0,t):i}return i.replace(/\0/g,"")}const i=t.length;let r,n,o,a="",h=0;for(;h>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:a+=String.fromCharCode(r);break;case 12:case 13:n=t[h++],a+=String.fromCharCode((31&r)<<6|63&n);break;case 14:n=t[h++],o=t[h++],a+=String.fromCharCode((15&r)<<12|(63&n)<<6|(63&o)<<0)}}return a};let Zg;function $g(){if(!navigator.userAgent.includes("PlayStation 4"))return Zg||void 0===self.TextDecoder||(Zg=new self.TextDecoder("utf-8")),Zg}const tA=function(t){let e="";for(let s=0;s>24,t[e+1]=s>>16&255,t[e+2]=s>>8&255,t[e+3]=255&s}function lA(t,e){const s=[];if(!e.length)return s;const i=t.byteLength;for(let r=0;r1?r+n:i;if(rA(t.subarray(r+4,r+8))===e[0])if(1===e.length)s.push(t.subarray(r+8,o));else{const i=lA(t.subarray(r+8,o),e.slice(1));i.length&&sA.apply(s,i)}r=o}return s}function dA(t){const e=[],s=t[0];let i=8;const r=oA(t,i);i+=4;let n=0,o=0;0===s?(n=oA(t,i),o=oA(t,i+4),i+=8):(n=aA(t,i),o=aA(t,i+8),i+=16),i+=2;let a=t.length+o;const h=nA(t,i);i+=2;for(let s=0;s>>31)return ag.warn("SIDX has hierarchical references (not supported)"),null;const h=oA(t,s);s+=4,e.push({referenceSize:o,subsegmentDuration:h,info:{duration:h/r,start:a,end:a+o-1}}),a+=o,s+=4,i=s}return{earliestPresentationTime:n,timescale:r,version:s,referencesCount:h,references:e}}function uA(t){const e=[],s=lA(t,["moov","trak"]);for(let t=0;t{const s=oA(t,4),i=e[s];i&&(i.default={duration:oA(t,12),flags:oA(t,20)})})),e}function pA(t){const e=t.subarray(8),s=e.subarray(86),i=rA(e.subarray(4,8));let r=i;const n="enca"===i||"encv"===i;if(n){const t=lA(e,[i])[0];lA(t.subarray("enca"===i?28:78),["sinf"]).forEach((t=>{const e=lA(t,["schm"])[0];if(e){const s=rA(e.subarray(4,8));if("cbcs"===s||"cenc"===s){const e=lA(t,["frma"])[0];e&&(r=rA(e))}}}))}switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{const t=lA(s,["avcC"])[0];r+="."+mA(t[1])+mA(t[2])+mA(t[3]);break}case"mp4a":{const t=lA(e,[i])[0],s=lA(t.subarray(28),["esds"])[0];if(s&&s.length>12){let t=4;if(3!==s[t++])break;t=fA(s,t),t+=2;const e=s[t++];if(128&e&&(t+=2),64&e&&(t+=s[t++]),4!==s[t++])break;t=fA(s,t);const i=s[t++];if(64!==i)break;if(r+="."+mA(i),t+=12,5!==s[t++])break;t=fA(s,t);const n=s[t++];let o=(248&n)>>3;31===o&&(o+=1+((7&n)<<3)+((224&s[t])>>5)),r+="."+o}break}case"hvc1":case"hev1":{const t=lA(s,["hvcC"])[0],e=t[1],i=["","A","B","C"][e>>6],n=31&e,o=oA(t,2),a=(32&e)>>5?"H":"L",h=t[12],c=t.subarray(6,12);r+="."+i+n,r+="."+o.toString(16).toUpperCase(),r+="."+a+h;let l="";for(let t=c.length;t--;){const e=c[t];if(e||l){l="."+e.toString(16).toUpperCase()+l}}r+=l;break}case"dvh1":case"dvhe":{const t=lA(s,["dvcC"])[0],e=t[2]>>1&127,i=t[2]<<5&32|t[3]>>3&31;r+="."+gA(e)+"."+gA(i);break}case"vp09":{const t=lA(s,["vpcC"])[0],e=t[4],i=t[5],n=t[6]>>4&15;r+="."+gA(e)+"."+gA(i)+"."+gA(n);break}case"av01":{const t=lA(s,["av1C"])[0],e=t[1]>>>5,i=31&t[1],n=t[2]>>>7?"H":"M",o=(64&t[2])>>6,a=(32&t[2])>>5,h=2===e&&o?a?12:10:o?10:8,c=(16&t[2])>>4,l=(8&t[2])>>3,d=(4&t[2])>>2,u=3&t[2],p=1,f=1,m=1,g=0;r+="."+e+"."+gA(i)+n+"."+gA(h)+"."+c+"."+l+d+u+"."+gA(p)+"."+gA(f)+"."+gA(m)+"."+g;break}}return{codec:r,encrypted:n}}function fA(t,e){const s=e+5;for(;128&t[e++]&&e{const h=a.byteOffset-8;lA(a,["traf"]).map((a=>{const c=lA(a,["tfdt"]).map((t=>{const e=t[0];let s=oA(t,4);return 1===e&&(s*=Math.pow(2,32),s+=oA(t,8)),s/r}))[0];return void 0!==c&&(t=c),lA(a,["tfhd"]).map((c=>{const l=oA(c,4),d=16777215&oA(c,0);let u=0;const p=0!=(16&d);let f=0;const m=0!=(32&d);let g=8;l===n&&(0!=(1&d)&&(g+=8),0!=(2&d)&&(g+=4),0!=(8&d)&&(u=oA(c,g),g+=4),p&&(f=oA(c,g),g+=4),m&&(g+=4),"video"===e.type&&(o=function(t){if(!t)return!1;const e=t.indexOf("."),s=e<0?t:t.substring(0,e);return"hvc1"===s||"hev1"===s||"dvh1"===s||"dvhe"===s}(e.codec)),lA(a,["trun"]).map((n=>{const a=n[0],c=16777215&oA(n,0),l=0!=(1&c);let d=0;const p=0!=(4&c),m=0!=(256&c);let g=0;const A=0!=(512&c);let y=0;const b=0!=(1024&c),v=0!=(2048&c);let S=0;const w=oA(n,4);let E=8;l&&(d=oA(n,E),E+=4),p&&(E+=4);let I=d+h;for(let h=0;h>1&63;return 39===t||40===t}return 6===(31&e)}function wA(t,e,s,i){const r=EA(t);let n=0;n+=e;let o=0,a=0,h=0;for(;n=r.length)break;h=r[n++],o+=h}while(255===h);a=0;do{if(n>=r.length)break;h=r[n++],a+=h}while(255===h);const t=r.length-n;let e=n;if(at){ag.error(`Malformed SEI payload. ${a} is too small, only ${t} bytes left to parse.`);break}if(4===o){if(181===r[e++]){const t=nA(r,e);if(e+=2,49===t){const t=oA(r,e);if(e+=4,1195456820===t){const t=r[e++];if(3===t){const n=r[e++],a=31&n,h=64&n,c=h?2+3*a:0,l=new Uint8Array(c);if(h){l[0]=n;for(let t=1;t16){const t=[];for(let s=0;s<16;s++){const i=r[e++].toString(16);t.push(1==i.length?"0"+i:i),3!==s&&5!==s&&7!==s&&9!==s||t.push("-")}const n=a-16,h=new Uint8Array(n);for(let t=0;t0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;const o=new Uint8Array(4);return s&&s.byteLength>0&&new DataView(o.buffer).setUint32(0,s.byteLength,!1),function(t,...e){const s=e.length;let i=8,r=s;for(;r--;)i+=e[r].byteLength;const n=new Uint8Array(i);for(n[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=255&i,n.set(t,4),r=0,i=8;r>8*(15-s)&255;return e}(t);return new kA(this.method,this.uri,"identity",this.keyFormatVersions,e)}const e=wg(this.uri);if(e)switch(this.keyFormat){case Rg:this.pssh=e,e.length>=22&&(this.keyId=e.subarray(e.length-22,e.length-6));break;case Cg:{const t=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=IA(t,null,e);const s=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(s)),r=i.substring(i.indexOf("<"),i.length),n=(new DOMParser).parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(n){const t=n.childNodes[0]?n.childNodes[0].nodeValue:n.getAttribute("VALUE");if(t){const e=Sg(t).subarray(0,16);!function(t){const e=function(t,e,s){const i=t[e];t[e]=t[s],t[s]=i};e(t,0,3),e(t,1,2),e(t,4,5),e(t,6,7)}(e),this.keyId=e}}break}default:{let t=e.subarray(0,16);if(16!==t.length){const e=new Uint8Array(16);e.set(t,16-t.length),t=e}this.keyId=t;break}}if(!this.keyId||16!==this.keyId.byteLength){let t=TA[this.uri];if(!t){const e=Object.keys(TA).length%Number.MAX_SAFE_INTEGER;t=new Uint8Array(16);new DataView(t.buffer,12,4).setUint32(0,e),TA[this.uri]=t}this.keyId=t}return this}}const _A=/\{\$([a-zA-Z0-9-_]+)\}/g;function CA(t){return _A.test(t)}function RA(t,e,s){if(null!==t.variableList||t.hasVariableRefs)for(let i=s.length;i--;){const r=s[i],n=e[r];n&&(e[r]=DA(t,n))}}function DA(t,e){if(null!==t.variableList||t.hasVariableRefs){const s=t.variableList;return e.replace(_A,(e=>{const i=e.substring(2,e.length-1),r=null==s?void 0:s[i];return void 0===r?(t.playlistParsingError||(t.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${i}"`)),e):r}))}return e}function LA(t,e,s){let i,r,n=t.variableList;if(n||(t.variableList=n={}),"QUERYPARAM"in e){i=e.QUERYPARAM;try{const t=new self.URL(s).searchParams;if(!t.has(i))throw new Error(`"${i}" does not match any query parameter in URI: "${s}"`);r=t.get(i)}catch(e){t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${e.message}`))}}else i=e.NAME,r=e.VALUE;i in n?t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${i}"`)):n[i]=r||""}function xA(t,e,s){const i=e.IMPORT;if(s&&i in s){let e=t.variableList;e||(t.variableList=e={}),e[i]=s[i]}else t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}function PA(t=!0){if("undefined"==typeof self)return;return(t||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}const BA={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function MA(t,e,s=!0){return!t.split(",").some((t=>!FA(t,e,s)))}function FA(t,e,s=!0){var i;const r=PA(s);return null!=(i=null==r?void 0:r.isTypeSupported(OA(t,e)))&&i}function OA(t,e){return`${e}/mp4;codecs="${t}"`}function UA(t){if(t){const e=t.substring(0,4);return BA.video[e]}return 2}function jA(t){return t.split(",").reduce(((t,e)=>{const s=BA.video[e];return s?(2*s+t)/(t?3:2):(BA.audio[e]+t)/(t?2:1)}),0)}const NA={};const VA=/flac|opus/i;function zA(t,e=!0){return t.replace(VA,(t=>function(t,e=!0){if(NA[t])return NA[t];const s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[t];for(let i=0;i0&&i.length({id:t.attrs.AUDIO,audioCodec:t.audioCodec}))),SUBTITLES:n.map((t=>({id:t.attrs.SUBTITLES,textCodec:t.textCodec}))),"CLOSED-CAPTIONS":[]};let a=0;for(WA.lastIndex=0;null!==(i=WA.exec(t));){const t=new lg(i[1]),n=t.TYPE;if(n){const i=o[n],h=r[n]||[];r[n]=h,RA(s,t,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);const c=t.LANGUAGE,l=t["ASSOC-LANGUAGE"],d=t.CHANNELS,u=t.CHARACTERISTICS,p=t["INSTREAM-ID"],f={attrs:t,bitrate:0,id:a++,groupId:t["GROUP-ID"]||"",name:t.NAME||c||"",type:n,default:t.bool("DEFAULT"),autoselect:t.bool("AUTOSELECT"),forced:t.bool("FORCED"),lang:c,url:t.URI?qA.resolve(t.URI,e):""};if(l&&(f.assocLang=l),d&&(f.channels=d),u&&(f.characteristics=u),p&&(f.instreamId=p),null!=i&&i.length){const t=qA.findGroup(i,f.groupId)||i[0];$A(f,t,"audioCodec"),$A(f,t,"textCodec")}h.push(f)}}return r}static parseLevelPlaylist(t,e,s,i,r,n){const o=new vg(e),a=o.fragments;let h,c,l,d=null,u=0,p=0,f=0,m=0,g=null,A=new yg(i,e),y=-1,b=!1,v=null;for(QA.lastIndex=0,o.m3u8=t,o.hasVariableRefs=CA(t);null!==(h=QA.exec(t));){b&&(b=!1,A=new yg(i,e),A.start=f,A.sn=u,A.cc=m,A.level=s,d&&(A.initSegment=d,A.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,v&&(A.setByteRange(v),v=null)));const t=h[1];if(t){A.duration=parseFloat(t);const e=(" "+h[2]).slice(1);A.title=e||null,A.tagList.push(e?["INF",t,e]:["INF",t])}else if(h[3]){if(Xm(A.duration)){A.start=f,l&&sy(A,l,o),A.sn=u,A.level=s,A.cc=m,a.push(A);const t=(" "+h[3]).slice(1);A.relurl=DA(o,t),ty(A,g),g=A,f+=A.duration,u++,p=0,b=!0}}else if(h[4]){const t=(" "+h[4]).slice(1);g?A.setByteRange(t,g):A.setByteRange(t)}else if(h[5])A.rawProgramDateTime=(" "+h[5]).slice(1),A.tagList.push(["PROGRAM-DATE-TIME",A.rawProgramDateTime]),-1===y&&(y=a.length);else{if(h=h[0].match(YA),!h){ag.warn("No matches on slow regex match for level playlist!");continue}for(c=1;c0&&t.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=t.optionalFloat("PART-HOLD-BACK",0),o.holdBack=t.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{const t=new lg(r);o.partTarget=t.decimalFloatingPoint("PART-TARGET");break}case"PART":{let t=o.partList;t||(t=o.partList=[]);const s=p>0?t[t.length-1]:void 0,i=p++,n=new lg(r);RA(o,n,["BYTERANGE","URI"]);const a=new bg(n,A,e,i,s);t.push(a),A.duration+=a.duration;break}case"PRELOAD-HINT":{const t=new lg(r);RA(o,t,["URI"]),o.preloadHint=t;break}case"RENDITION-REPORT":{const t=new lg(r);RA(o,t,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(t);break}default:ag.warn(`line parsed but not handled: ${h}`)}}}g&&!g.relurl?(a.pop(),f-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(ty(A,g),A.cc=m,o.fragmentHint=A,l&&sy(A,l,o));const S=a.length,w=a[0],E=a[S-1];if(f+=o.skippedSegments*o.targetduration,f>0&&S&&E){o.averagetargetduration=f/S;const t=E.sn;o.endSN="initSegment"!==t?t:0,o.live||(E.endList=!0),w&&(o.startCC=w.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(f+=o.fragmentHint.duration),o.totalduration=f,o.endCC=m,y>0&&function(t,e){let s=t[e];for(let i=e;i--;){const e=t[i];if(!e)return;e.programDateTime=s.programDateTime-1e3*e.duration,s=e}}(a,y),o}}function JA(t,e,s){var i,r;const n=new lg(t);RA(s,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);const o=null!=(i=n.METHOD)?i:"",a=n.URI,h=n.hexadecimalInteger("IV"),c=n.KEYFORMATVERSIONS,l=null!=(r=n.KEYFORMAT)?r:"identity";a&&n.IV&&!h&&ag.error(`Invalid IV: ${n.IV}`);const d=a?qA.resolve(a,e):"",u=(c||"1").split("/").map(Number).filter(Number.isFinite);return new kA(o,d,l,u,h)}function XA(t){const e=new lg(t).decimalFloatingPoint("TIME-OFFSET");return Xm(e)?e:null}function ZA(t,e){let s=(t||"").split(/[ ,]+/).filter((t=>t));["video","audio","text"].forEach((t=>{const i=s.filter((e=>function(t,e){const s=BA[e];return!!s&&!!s[t.slice(0,4)]}(e,t)));i.length&&(e[`${t}Codec`]=i.join(","),s=s.filter((t=>-1===i.indexOf(t))))})),e.unknownCodecs=s}function $A(t,e,s){const i=e[s];i&&(t[s]=i)}function ty(t,e){t.rawProgramDateTime?t.programDateTime=Date.parse(t.rawProgramDateTime):null!=e&&e.programDateTime&&(t.programDateTime=e.endProgramDateTime),Xm(t.programDateTime)||(t.programDateTime=null,t.rawProgramDateTime=null)}function ey(t,e,s,i){t.relurl=e.URI,e.BYTERANGE&&t.setByteRange(e.BYTERANGE),t.level=s,t.sn="initSegment",i&&(t.levelkeys=i),t.initSegment=null}function sy(t,e,s){t.levelkeys=e;const{encryptedFragments:i}=s;i.length&&i[i.length-1].levelkeys===e||!Object.keys(e).some((t=>e[t].isCommonEncryption))||i.push(t)}var iy="manifest",ry="level",ny="audioTrack",oy="subtitleTrack",ay="main",hy="audio",cy="subtitle";function ly(t){const{type:e}=t;switch(e){case ny:return hy;case oy:return cy;default:return ay}}function dy(t,e){let s=t.url;return void 0!==s&&0!==s.indexOf("data:")||(s=e.url),s}class uy{constructor(t){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=t,this.registerListeners()}startLoad(t){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:t}=this;t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.LEVEL_LOADING,this.onLevelLoading,this),t.on(tg.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.on(tg.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){const{hls:t}=this;t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.LEVEL_LOADING,this.onLevelLoading,this),t.off(tg.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.off(tg.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(t){const e=this.hls.config,s=e.pLoader,i=e.loader,r=new(s||i)(e);return this.loaders[t.type]=r,r}getInternalLoader(t){return this.loaders[t.type]}resetInternalLoader(t){this.loaders[t]&&delete this.loaders[t]}destroyInternalLoaders(){for(const t in this.loaders){const e=this.loaders[t];e&&e.destroy(),this.resetInternalLoader(t)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(t,e){const{url:s}=e;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:iy,url:s,deliveryDirectives:null})}onLevelLoading(t,e){const{id:s,level:i,pathwayId:r,url:n,deliveryDirectives:o}=e;this.load({id:s,level:i,pathwayId:r,responseType:"text",type:ry,url:n,deliveryDirectives:o})}onAudioTrackLoading(t,e){const{id:s,groupId:i,url:r,deliveryDirectives:n}=e;this.load({id:s,groupId:i,level:null,responseType:"text",type:ny,url:r,deliveryDirectives:n})}onSubtitleTrackLoading(t,e){const{id:s,groupId:i,url:r,deliveryDirectives:n}=e;this.load({id:s,groupId:i,level:null,responseType:"text",type:oy,url:r,deliveryDirectives:n})}load(t){var e;const s=this.hls.config;let i,r=this.getInternalLoader(t);if(r){const e=r.context;if(e&&e.url===t.url&&e.level===t.level)return void ag.trace("[playlist-loader]: playlist request ongoing");ag.log(`[playlist-loader]: aborting previous loader for type: ${t.type}`),r.abort()}if(i=t.type===iy?s.manifestLoadPolicy.default:Jm({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(t),Xm(null==(e=t.deliveryDirectives)?void 0:e.part)){let e;if(t.type===ry&&null!==t.level?e=this.hls.levels[t.level].details:t.type===ny&&null!==t.id?e=this.hls.audioTracks[t.id].details:t.type===oy&&null!==t.id&&(e=this.hls.subtitleTracks[t.id].details),e){const t=e.partTarget,s=e.targetduration;if(t&&s){const e=1e3*Math.max(3*t,.8*s);i=Jm({},i,{maxTimeToFirstByteMs:Math.min(e,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(e,i.maxTimeToFirstByteMs)})}}}const n=i.errorRetry||i.timeoutRetry||{},o={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:n.maxNumRetry||0,retryDelay:n.retryDelayMs||0,maxRetryDelay:n.maxRetryDelayMs||0},a={onSuccess:(t,e,s,i)=>{const r=this.getInternalLoader(s);this.resetInternalLoader(s.type);const n=t.data;0===n.indexOf("#EXTM3U")?(e.parsing.start=performance.now(),qA.isMediaPlaylist(n)?this.handleTrackOrLevelPlaylist(t,e,s,i||null,r):this.handleMasterPlaylist(t,e,s,i)):this.handleManifestParsingError(t,s,new Error("no EXTM3U delimiter"),i||null,e)},onError:(t,e,s,i)=>{this.handleNetworkError(e,s,!1,t,i)},onTimeout:(t,e,s)=>{this.handleNetworkError(e,s,!0,void 0,t)}};r.load(t,o,a)}handleMasterPlaylist(t,e,s,i){const r=this.hls,n=t.data,o=dy(t,s),a=qA.parseMasterPlaylist(n,o);if(a.playlistParsingError)return void this.handleManifestParsingError(t,s,a.playlistParsingError,i,e);const{contentSteering:h,levels:c,sessionData:l,sessionKeys:d,startTimeOffset:u,variableList:p}=a;this.variableList=p;const{AUDIO:f=[],SUBTITLES:m,"CLOSED-CAPTIONS":g}=qA.parseMasterPlaylistMedia(n,o,a);if(f.length){f.some((t=>!t.url))||!c[0].audioCodec||c[0].attrs.AUDIO||(ag.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),f.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new lg({}),bitrate:0,url:""}))}r.trigger(tg.MANIFEST_LOADED,{levels:c,audioTracks:f,subtitles:m,captions:g,contentSteering:h,url:o,stats:e,networkDetails:i,sessionData:l,sessionKeys:d,startTimeOffset:u,variableList:p})}handleTrackOrLevelPlaylist(t,e,s,i,r){const n=this.hls,{id:o,level:a,type:h}=s,c=dy(t,s),l=Xm(a)?a:Xm(o)?o:0,d=ly(s),u=qA.parseLevelPlaylist(t.data,c,l,d,0,this.variableList);if(h===iy){const t={attrs:new lg({}),bitrate:0,details:u,name:"",url:c};n.trigger(tg.MANIFEST_LOADED,{levels:[t],audioTracks:[],url:c,stats:e,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}e.parsing.end=performance.now(),s.levelDetails=u,this.handlePlaylistLoaded(u,t,e,s,i,r)}handleManifestParsingError(t,e,s,i,r){this.hls.trigger(tg.ERROR,{type:eg.NETWORK_ERROR,details:sg.MANIFEST_PARSING_ERROR,fatal:e.type===iy,url:t.url,err:s,error:s,reason:s.message,response:t,context:e,networkDetails:i,stats:r})}handleNetworkError(t,e,s=!1,i,r){let n=`A network ${s?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${t.type}`;t.type===ry?n+=`: ${t.level} id: ${t.id}`:t.type!==ny&&t.type!==oy||(n+=` id: ${t.id} group-id: "${t.groupId}"`);const o=new Error(n);ag.warn(`[playlist-loader]: ${n}`);let a=sg.UNKNOWN,h=!1;const c=this.getInternalLoader(t);switch(t.type){case iy:a=s?sg.MANIFEST_LOAD_TIMEOUT:sg.MANIFEST_LOAD_ERROR,h=!0;break;case ry:a=s?sg.LEVEL_LOAD_TIMEOUT:sg.LEVEL_LOAD_ERROR,h=!1;break;case ny:a=s?sg.AUDIO_TRACK_LOAD_TIMEOUT:sg.AUDIO_TRACK_LOAD_ERROR,h=!1;break;case oy:a=s?sg.SUBTITLE_TRACK_LOAD_TIMEOUT:sg.SUBTITLE_LOAD_ERROR,h=!1}c&&this.resetInternalLoader(t.type);const l={type:eg.NETWORK_ERROR,details:a,fatal:h,url:t.url,loader:c,context:t,error:o,networkDetails:e,stats:r};if(i){const s=(null==e?void 0:e.url)||t.url;l.response=Qm({url:s,data:void 0},i)}this.hls.trigger(tg.ERROR,l)}handlePlaylistLoaded(t,e,s,i,r,n){const o=this.hls,{type:a,level:h,id:c,groupId:l,deliveryDirectives:d}=i,u=dy(e,i),p=ly(i),f="number"==typeof i.level&&p===ay?h:void 0;if(!t.fragments.length){const t=new Error("No Segments found in Playlist");return void o.trigger(tg.ERROR,{type:eg.NETWORK_ERROR,details:sg.LEVEL_EMPTY_ERROR,fatal:!1,url:u,error:t,reason:t.message,response:e,context:i,level:f,parent:p,networkDetails:r,stats:s})}t.targetduration||(t.playlistParsingError=new Error("Missing Target Duration"));const m=t.playlistParsingError;if(m)o.trigger(tg.ERROR,{type:eg.NETWORK_ERROR,details:sg.LEVEL_PARSING_ERROR,fatal:!1,url:u,error:m,reason:m.message,response:e,context:i,level:f,parent:p,networkDetails:r,stats:s});else switch(t.live&&n&&(n.getCacheAge&&(t.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(t.ageHeader)||(t.ageHeader=0)),a){case iy:case ry:o.trigger(tg.LEVEL_LOADED,{details:t,level:f||0,id:c||0,stats:s,networkDetails:r,deliveryDirectives:d});break;case ny:o.trigger(tg.AUDIO_TRACK_LOADED,{details:t,id:c||0,groupId:l||"",stats:s,networkDetails:r,deliveryDirectives:d});break;case oy:o.trigger(tg.SUBTITLE_TRACK_LOADED,{details:t,id:c||0,groupId:l||"",stats:s,networkDetails:r,deliveryDirectives:d})}}}function py(t,e){let s;try{s=new Event("addtrack")}catch(t){s=document.createEvent("Event"),s.initEvent("addtrack",!1,!1)}s.track=t,e.dispatchEvent(s)}function fy(t,e){const s=t.mode;if("disabled"===s&&(t.mode="hidden"),t.cues&&!t.cues.getCueById(e.id))try{if(t.addCue(e),!t.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(s){ag.debug(`[texttrack-utils]: ${s}`);try{const s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,t.addCue(s)}catch(t){ag.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${t}`)}}"disabled"===s&&(t.mode=s)}function my(t){const e=t.mode;if("disabled"===e&&(t.mode="hidden"),t.cues)for(let e=t.cues.length;e--;)t.removeCue(t.cues[e]);"disabled"===e&&(t.mode=e)}function gy(t,e,s,i){const r=t.mode;if("disabled"===r&&(t.mode="hidden"),t.cues&&t.cues.length>0){const r=function(t,e,s){const i=[],r=function(t,e){if(et[s].endTime)return-1;let i=0,r=s;for(;i<=r;){const n=Math.floor((r+i)/2);if(et[n].startTime&&i-1)for(let n=r,o=t.length;n=e&&r.endTime<=s)i.push(r);else if(r.startTime>s)return i}return i}(t.cues,e,s);for(let e=0;e{const t=Sy();try{t&&new t(0,Number.POSITIVE_INFINITY,"")}catch(t){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function Iy(t,e){return t.getTime()/1e3-e}function Ty(t){return Uint8Array.from(t.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}class ky{constructor(t){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=t,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){const{hls:t}=this;t.on(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.on(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(tg.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){const{hls:t}=this;t.off(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.off(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(tg.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(t,e){this.media=e.media}onMediaDetaching(){this.id3Track&&(my(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(t){const e=this.getID3Track(t.textTracks);return e.mode="hidden",e}getID3Track(t){if(this.media){for(let e=0;eEy&&(i=Ey);i-s<=0&&(i=s+.25);for(let t=0;tt.type===yy&&a:"video"===i?t=>t.type===vy&&o:t=>t.type===yy&&a||t.type===vy&&o,gy(r,e,s,t)}}onLevelUpdated(t,{details:e}){if(!this.media||!e.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{dateRangeCuesAppended:s,id3Track:i}=this,{dateRanges:r}=e,n=Object.keys(r);if(i){const t=Object.keys(s).filter((t=>!n.includes(t)));for(let e=t.length;e--;){const r=t[e];Object.keys(s[r].cues).forEach((t=>{i.removeCue(s[r].cues[t])})),delete s[r]}}const o=e.fragments[e.fragments.length-1];if(0===n.length||!Xm(null==o?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const a=o.programDateTime/1e3-o.start,h=Sy();for(let t=0;t{if(e!==i.id){const s=r[e];if(s.class===i.class&&s.startDate>i.startDate&&(!t||i.startDatethis.timeupdate(),this.hls=t,this.config=t.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){const{config:t,levelDetails:e}=this;return void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:e?t.liveMaxLatencyDurationCount*e.targetduration:0}get targetLatency(){const{levelDetails:t}=this;if(null===t)return null;const{holdBack:e,partHoldBack:s,targetduration:i}=t,{liveSyncDuration:r,liveSyncDurationCount:n,lowLatencyMode:o}=this.config,a=this.hls.userConfig;let h=o&&s||e;(a.liveSyncDuration||a.liveSyncDurationCount||0===h)&&(h=void 0!==r?r:n*i);const c=i;return h+Math.min(1*this.stallCount,c)}get liveSyncPosition(){const t=this.estimateLiveEdge(),e=this.targetLatency,s=this.levelDetails;if(null===t||null===e||null===s)return null;const i=s.edge,r=t-e-this.edgeStalled,n=i-s.totalduration,o=i-(this.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(n,r),o)}get drift(){const{levelDetails:t}=this;return null===t?1:t.drift}get edgeStalled(){const{levelDetails:t}=this;if(null===t)return 0;const e=3*(this.config.lowLatencyMode&&t.partTarget||t.targetduration);return Math.max(t.age-e,0)}get forwardBufferLength(){const{media:t,levelDetails:e}=this;if(!t||!e)return 0;const s=t.buffered.length;return(s?t.buffered.end(s-1):e.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(tg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(tg.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(tg.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(tg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(tg.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(tg.ERROR,this.onError,this)}onMediaAttached(t,e){this.media=e.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(t,{details:e}){this.levelDetails=e,e.advanced&&this.timeupdate(),!e.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(t,e){var s;e.details===sg.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(s=this.levelDetails)&&s.live&&ag.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){const{media:t,levelDetails:e}=this;if(!t||!e)return;this.currentTime=t.currentTime;const s=this.computeLatency();if(null===s)return;this._latency=s;const{lowLatencyMode:i,maxLiveSyncPlaybackRate:r}=this.config;if(!i||1===r||!e.live)return;const n=this.targetLatency;if(null===n)return;const o=s-n;if(o.05&&this.forwardBufferLength>1){const e=Math.min(2,Math.max(1,r)),s=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;t.playbackRate=Math.min(e,Math.max(1,s))}else 1!==t.playbackRate&&0!==t.playbackRate&&(t.playbackRate=1)}estimateLiveEdge(){const{levelDetails:t}=this;return null===t?null:t.edge+t.age}computeLatency(){const t=this.estimateLiveEdge();return null===t?null:t-this.currentTime}}const Cy=["NONE","TYPE-0","TYPE-1",null];const Ry=["SDR","PQ","HLG"];var Dy="",Ly="YES",xy="v2";function Py(t){const{canSkipUntil:e,canSkipDateRanges:s,age:i}=t;return e&&i!!t)).map((t=>t.substring(0,4))).join(","),this.addGroupId("audio",t.attrs.AUDIO),this.addGroupId("text",t.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(t){return Fy(this._audioGroups,t)}hasSubtitleGroup(t){return Fy(this._subtitleGroups,t)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(t,e){if(e)if("audio"===t){let t=this._audioGroups;t||(t=this._audioGroups=[]),-1===t.indexOf(e)&&t.push(e)}else if("text"===t){let t=this._subtitleGroups;t||(t=this._subtitleGroups=[]),-1===t.indexOf(e)&&t.push(e)}}get urlId(){return 0}set urlId(t){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var t;return null==(t=this.audioGroups)?void 0:t[0]}get textGroupId(){var t;return null==(t=this.subtitleGroups)?void 0:t[0]}addFallback(){}}function Fy(t,e){return!(!e||!t)&&-1!==t.indexOf(e)}function Oy(t,e){const s=e.startPTS;if(Xm(s)){let i,r=0;e.sn>t.sn?(r=s-t.start,i=t):(r=t.start-s,i=e),i.duration!==r&&(i.duration=r)}else if(e.sn>t.sn){t.cc===e.cc&&t.minEndPTS?e.start=t.start+(t.minEndPTS-t.start):e.start=t.start+t.duration}else e.start=Math.max(t.start-e.duration,0)}function Uy(t,e,s,i,r,n){i-s<=0&&(ag.warn("Fragment should have a positive duration",e),i=s+e.duration,n=r+e.duration);let o=s,a=i;const h=e.startPTS,c=e.endPTS;if(Xm(h)){const t=Math.abs(h-s);Xm(e.deltaPTS)?e.deltaPTS=Math.max(t,e.deltaPTS):e.deltaPTS=t,o=Math.max(s,h),s=Math.min(s,h),r=Math.min(r,e.startDTS),a=Math.min(i,c),i=Math.max(i,c),n=Math.max(n,e.endDTS)}const l=s-e.start;0!==e.start&&(e.start=s),e.duration=i-e.start,e.startPTS=s,e.maxStartPTS=o,e.startDTS=r,e.endPTS=i,e.minEndPTS=a,e.endDTS=n;const d=e.sn;if(!t||dt.endSN)return 0;let u;const p=d-t.startSN,f=t.fragments;for(f[p]=e,u=p;u>0;u--)Oy(f[u],f[u-1]);for(u=p;u=0;t--){const e=i[t].initSegment;if(e){s=e;break}}t.fragmentHint&&delete t.fragmentHint.endPTS;let r,n=0;if(function(t,e,s){const i=e.skippedSegments,r=Math.max(t.startSN,e.startSN)-e.startSN,n=(t.fragmentHint?1:0)+(i?e.endSN:Math.min(t.endSN,e.endSN))-e.startSN,o=e.startSN-t.startSN,a=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,h=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments;for(let t=r;t<=n;t++){const r=h[o+t];let n=a[t];i&&!n&&t{t.relurl&&(n=t.cc-i.cc),Xm(t.startPTS)&&Xm(t.endPTS)&&(i.start=i.startPTS=t.startPTS,i.startDTS=t.startDTS,i.maxStartPTS=t.maxStartPTS,i.endPTS=t.endPTS,i.endDTS=t.endDTS,i.minEndPTS=t.minEndPTS,i.duration=t.endPTS-t.startPTS,i.duration&&(r=i),e.PTSKnown=e.alignedSliding=!0),i.elementaryStreams=t.elementaryStreams,i.loader=t.loader,i.stats=t.stats,t.initSegment&&(i.initSegment=t.initSegment,s=t.initSegment)})),s){(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach((t=>{var e;!t||t.initSegment&&t.initSegment.relurl!==(null==(e=s)?void 0:e.relurl)||(t.initSegment=s)}))}if(e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some((t=>!t)),e.deltaUpdateFailed){ag.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let t=e.skippedSegments;t--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=function(t,e,s){const i=Jm({},t);s&&s.forEach((t=>{delete i[t]}));return Object.keys(e).forEach((t=>{const s=new ug(e[t].attr,i[t]);s.isValid?i[t]=s:ag.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[t].attr)}"`)})),i}(t.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));const o=e.fragments;if(n){ag.warn("discontinuity sliding from playlist, take drift into account");for(let t=0;t{e.elementaryStreams=t.elementaryStreams,e.stats=t.stats})),r?Uy(e,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):Ny(t,e),o.length&&(e.totalduration=e.edge-o[0].start),e.driftStartTime=t.driftStartTime,e.driftStart=t.driftStart;const a=e.advancedDateTime;if(e.advanced&&a){const t=e.edge;e.driftStart||(e.driftStartTime=a,e.driftStart=t),e.driftEndTime=a,e.driftEnd=t}else e.driftEndTime=t.driftEndTime,e.driftEnd=t.driftEnd,e.advancedDateTime=t.advancedDateTime}function Ny(t,e){const s=e.startSN+e.skippedSegments-t.startSN,i=t.fragments;s<0||s>=i.length||Vy(e,i[s].start)}function Vy(t,e){if(e){const s=t.fragments;for(let i=t.skippedSegments;i{const{details:s}=t;null!=s&&s.fragments&&s.fragments.forEach((t=>{t.level=e}))}))}function Wy(t){switch(t.details){case sg.FRAG_LOAD_TIMEOUT:case sg.KEY_LOAD_TIMEOUT:case sg.LEVEL_LOAD_TIMEOUT:case sg.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Ky(t,e){const s=Wy(e);return t.default[(s?"timeout":"error")+"Retry"]}function Qy(t,e){const s="linear"===t.backoff?1:Math.pow(2,e);return Math.min(s*t.retryDelayMs,t.maxRetryDelayMs)}function Yy(t){return Qm(Qm({},t),{errorRetry:null,timeoutRetry:null})}function qy(t,e,s,i){if(!t)return!1;const r=null==i?void 0:i.code,n=e499)}(r)||!!s);return t.shouldRetry?t.shouldRetry(t,e,s,i,n):n}const Jy=function(t,e){let s=0,i=t.length-1,r=null,n=null;for(;s<=i;){r=(s+i)/2|0,n=t[r];const o=e(n);if(o>0)s=r+1;else{if(!(o<0))return n;i=r-1}}return null};function Xy(t,e,s=0,i=0,r=.005){let n=null;if(t){n=e[t.sn-e[0].sn+1]||null;const i=t.endDTS-s;i>0&&i<15e-7&&(s+=15e-7)}else 0===s&&0===e[0].start&&(n=e[0]);if(n&&((!t||t.level===n.level)&&0===Zy(s,i,n)||function(t,e,s){if(e&&0===e.start&&e.level0){const i=e.tagList.reduce(((t,e)=>("INF"===e[0]&&(t+=parseFloat(e[1])),t)),s);return t.start<=i}return!1}(n,t,Math.min(r,i))))return n;const o=Jy(e,Zy.bind(null,s,i));return!o||o===t&&n?n:o}function Zy(t=0,e=0,s){if(s.start<=t&&s.start+s.duration>t)return 0;const i=Math.min(e,s.duration+(s.deltaPTS?s.deltaPTS:0));return s.start+s.duration-i<=t?1:s.start-i>t&&s.start?-1:0}function $y(t,e,s){const i=1e3*Math.min(e,s.duration+(s.deltaPTS?s.deltaPTS:0));return(s.endProgramDateTime||0)-i>t}var tb=0,eb=2,sb=3,ib=5,rb=0,nb=1,ob=2;class ab{constructor(t,e){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=ag.log.bind(ag,`${e}:`),this.warn=ag.warn.bind(ag,`${e}:`),this.hls=t}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(t,e,s){const i=null==e?void 0:e.renditionReports;if(i){let r=-1;for(let s=0;s=0&&t>e.partTarget&&(o+=1)}const a=s&&Py(s);return new By(n,o>=0?o:void 0,a)}}}loadPlaylist(t){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(t){return this.canLoad&&!!t&&!!t.url&&(!t.details||t.details.live)}shouldReloadPlaylist(t){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(t)}playlistLoaded(t,e,s){const{details:i,stats:r}=e,n=self.performance.now(),o=r.loading.first?Math.max(0,n-r.loading.first):0;if(i.advancedDateTime=Date.now()-o,i.live||null!=s&&s.live){if(i.reloaded(s),s&&this.log(`live playlist ${t} ${i.advanced?"REFRESHED "+i.lastPartSn+"-"+i.lastPartIndex:i.updated?"UPDATED":"MISSED"}`),s&&i.fragments.length>0&&jy(s,i),!this.canLoad||!i.live)return;let o,a,h;if(i.canBlockReload&&i.endSN&&i.advanced){const t=this.hls.config.lowLatencyMode,r=i.lastPartSn,n=i.endSN,c=i.lastPartIndex,l=r===n,d=t?0:c;-1!==c?(a=l?n+1:r,h=l?d:c+1):a=n+1;const u=i.age,p=u+i.ageHeader;let f=Math.min(p-i.partTarget,1.5*i.targetduration);if(f>0){if(s&&f>s.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${s.tuneInGoal} to: ${f} with playlist age: ${i.age}`),f=0;else{const t=Math.floor(f/i.targetduration);if(a+=t,void 0!==h){h+=Math.round(f%i.targetduration/i.partTarget)}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${u.toFixed(2)}s goal: ${f} skip sn ${t} to part ${h}`)}i.tuneInGoal=f}if(o=this.getDeliveryDirectives(i,e.deliveryDirectives,a,h),t||!l)return void this.loadPlaylist(o)}else(i.canBlockReload||i.canSkipUntil)&&(o=this.getDeliveryDirectives(i,e.deliveryDirectives,a,h));const c=this.hls.mainForwardBufferInfo,l=c?c.end-c.len:0,d=function(t,e=1/0){let s=1e3*t.targetduration;if(t.updated){const i=t.fragments,r=4;if(i.length&&s*r>e){const t=1e3*i[i.length-1].duration;tthis.requestScheduled+d&&(this.requestScheduled=r.loading.start),void 0!==a&&i.canBlockReload?this.requestScheduled=r.loading.first+d-(1e3*i.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+dthis.loadPlaylist(o)),u)}else this.clearTimer()}getDeliveryDirectives(t,e,s,i){let r=Py(t);return null!=e&&e.skip&&t.deltaUpdateFailed&&(s=e.msn,i=e.part,r=Dy),new By(s,i,r)}checkRetry(t){const e=t.details,s=Wy(t),i=t.errorAction,{action:r,retryCount:n=0,retryConfig:o}=i||{},a=!!i&&!!o&&(r===ib||!i.resolved&&r===eb);if(a){var h;if(this.requestScheduled=-1,n>=o.maxNumRetry)return!1;if(s&&null!=(h=t.context)&&h.deliveryDirectives)this.warn(`Retrying playlist loading ${n+1}/${o.maxNumRetry} after "${e}" without delivery-directives`),this.loadPlaylist();else{const t=Qy(o,n);this.timer=self.setTimeout((()=>this.loadPlaylist()),t),this.warn(`Retrying playlist loading ${n+1}/${o.maxNumRetry} after "${e}" in ${t}ms`)}t.levelRetry=!0,i.resolved=!0}return a}}class hb{constructor(t,e=0,s=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=t,this.alpha_=t?Math.exp(Math.log(.5)/t):0,this.estimate_=e,this.totalWeight_=s}sample(t,e){const s=Math.pow(this.alpha_,t);this.estimate_=e*(1-s)+s*this.estimate_,this.totalWeight_+=t}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const t=1-Math.pow(this.alpha_,this.totalWeight_);if(t)return this.estimate_/t}return this.estimate_}}class cb{constructor(t,e,s,i=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=s,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new hb(t),this.fast_=new hb(e),this.defaultTTFB_=i,this.ttfb_=new hb(t)}update(t,e){const{slow_:s,fast_:i,ttfb_:r}=this;s.halfLife!==t&&(this.slow_=new hb(t,s.getEstimate(),s.getTotalWeight())),i.halfLife!==e&&(this.fast_=new hb(e,i.getEstimate(),i.getTotalWeight())),r.halfLife!==t&&(this.ttfb_=new hb(t,r.getEstimate(),r.getTotalWeight()))}sample(t,e){const s=(t=Math.max(t,this.minDelayMs_))/1e3,i=8*e/s;this.fast_.sample(s,i),this.slow_.sample(s,i)}sampleTTFB(t){const e=t/1e3,s=Math.sqrt(2)*Math.exp(-Math.pow(e,2)/2);this.ttfb_.sample(s,Math.max(t,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}}const lb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},db={};function ub(t,e,s,i,r,n){const o=t.audioCodec?t.audioGroups:null,a=null==n?void 0:n.audioCodec,h=null==n?void 0:n.channels,c=h?parseInt(h):a?1/0:2;let l=null;if(null!=o&&o.length)try{l=1===o.length&&o[0]?e.groups[o[0]].channels:o.reduce(((t,s)=>{if(s){const i=e.groups[s];if(!i)throw new Error(`Audio track group ${s} not found`);Object.keys(i.channels).forEach((e=>{t[e]=(t[e]||0)+i.channels[e]}))}return t}),{2:0})}catch(t){return!0}return void 0!==t.videoCodec&&(t.width>1920&&t.height>1088||t.height>1920&&t.width>1088||t.frameRate>Math.max(i,30)||"SDR"!==t.videoRange&&t.videoRange!==s||t.bitrate>Math.max(r,8e6))||!!l&&Xm(c)&&Object.keys(l).some((t=>parseInt(t)>c))}function pb(t,e,s){const i=t.videoCodec,r=t.audioCodec;if(!i||!r||!s)return Promise.resolve(lb);const n={width:t.width,height:t.height,bitrate:Math.ceil(Math.max(.9*t.bitrate,t.averageBitrate)),framerate:t.frameRate||30},o=t.videoRange;"SDR"!==o&&(n.transferFunction=o.toLowerCase());const a=i.split(",").map((t=>({type:"media-source",video:Qm(Qm({},n),{},{contentType:OA(t,"video")})})));return r&&t.audioGroups&&t.audioGroups.forEach((t=>{var s;t&&(null==(s=e.groups[t])||s.tracks.forEach((e=>{if(e.groupId===t){const t=e.channels||"",s=parseFloat(t);Xm(s)&&s>2&&a.push.apply(a,r.split(",").map((t=>({type:"media-source",audio:{contentType:OA(t,"audio"),channels:""+s}}))))}})))})),Promise.all(a.map((t=>{const e=function(t){const{audio:e,video:s}=t,i=s||e;if(i){const t=i.contentType.split('"')[1];if(s)return`r${s.height}x${s.width}f${Math.ceil(s.framerate)}${s.transferFunction||"sd"}_${t}_${Math.ceil(s.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${t}`}return""}(t);return db[e]||(db[e]=s.decodingInfo(t))}))).then((t=>({supported:!t.some((t=>!t.supported)),configurations:a,decodingInfoResults:t}))).catch((t=>({supported:!1,configurations:a,decodingInfoResults:[],error:t})))}function fb(t,e){let s=!1,i=[];return t&&(s="SDR"!==t,i=[t]),e&&(i=e.allowedVideoRanges||Ry.slice(0),s=void 0!==e.preferHDR?e.preferHDR:function(){if("function"==typeof matchMedia){const t=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(t.media!==e.media)return!0===t.matches}return!1}(),i=s?i.filter((t=>"SDR"!==t)):["SDR"]),{preferHDR:s,allowedVideoRanges:i}}function mb(t,e){ag.log(`[abr] start candidates with "${t}" ignored because ${e}`)}function gb(t,e,s){if("attrs"in t){const s=e.indexOf(t);if(-1!==s)return s}for(let i=0;i-1===i.indexOf(t)))}(a,e.characteristics))&&(void 0===s||s(t,e))}function yb(t,e){const{audioCodec:s,channels:i}=t;return!(void 0!==s&&(e.audioCodec||"").substring(0,4)!==s.substring(0,4)||void 0!==i&&i!==(e.channels||"2"))}function bb(t,e,s){for(let i=e;i;i--)if(s(t[i]))return i;for(let i=e+1;i{const n=this.fragments[i];if(!n)return;if(r>=n.body.sn)return;if(!n.buffered&&!n.loaded)return void(n.body.type===s&&this.removeFragment(n.body));const o=n.range[t];o&&o.time.some((t=>{const s=!this.isTimeBuffered(t.startPTS,t.endPTS,e);return s&&this.removeFragment(n.body),s}))}))}detectPartialFragments(t){const e=this.timeRanges,{frag:s,part:i}=t;if(!e||"initSegment"===s.sn)return;const r=kb(s),n=this.fragments[r];if(!n||n.buffered&&s.gap)return;const o=!s.relurl;if(Object.keys(e).forEach((t=>{const r=s.elementaryStreams[t];if(!r)return;const a=e[t],h=o||!0===r.partial;n.range[t]=this.getBufferedTimes(s,i,h,a)})),n.loaded=null,Object.keys(n.range).length){n.buffered=!0;(n.body.endList=s.endList||n.body.endList)&&(this.endListFragments[n.body.type]=n),Tb(n)||this.removeParts(s.sn-1,s.type)}else this.removeFragment(n.body)}removeParts(t,e){const s=this.activePartLists[e];s&&(this.activePartLists[e]=s.filter((e=>e.fragment.sn>=t)))}fragBuffered(t,e){const s=kb(t);let i=this.fragments[s];!i&&e&&(i=this.fragments[s]={body:t,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},t.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)}getBufferedTimes(t,e,s,i){const r={time:[],partial:s},n=t.start,o=t.end,a=t.minEndPTS||o,h=t.maxStartPTS||n;for(let t=0;t=e&&a<=s){r.time.push({startPTS:Math.max(n,i.start(t)),endPTS:Math.min(o,i.end(t))});break}if(ne){const e=Math.max(n,i.start(t)),s=Math.min(o,i.end(t));s>e&&(r.partial=!0,r.time.push({startPTS:e,endPTS:s}))}else if(o<=e)break}return r}getPartialFragment(t){let e,s,i,r=null,n=0;const{bufferPadding:o,fragments:a}=this;return Object.keys(a).forEach((h=>{const c=a[h];c&&Tb(c)&&(s=c.body.start-o,i=c.body.end+o,t>=s&&t<=i&&(e=Math.min(t-s,i-t),n<=e&&(r=c.body,n=e)))})),r}isEndListAppended(t){const e=this.endListFragments[t];return void 0!==e&&(e.buffered||Tb(e))}getState(t){const e=kb(t),s=this.fragments[e];return s?s.buffered?Tb(s)?wb:Eb:Sb:vb}isTimeBuffered(t,e,s){let i,r;for(let n=0;n=i&&e<=r)return!0;if(e<=i)return!1}return!1}onFragLoaded(t,e){const{frag:s,part:i}=e;if("initSegment"===s.sn||s.bitrateTest)return;const r=i?null:e,n=kb(s);this.fragments[n]={body:s,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(t,e){const{frag:s,part:i,timeRanges:r}=e;if("initSegment"===s.sn)return;const n=s.type;if(i){let t=this.activePartLists[n];t||(this.activePartLists[n]=t=[]),t.push(i)}this.timeRanges=r,Object.keys(r).forEach((t=>{const e=r[t];this.detectEvictedFragments(t,e,n,i)}))}onFragBuffered(t,e){this.detectPartialFragments(e)}hasFragment(t){const e=kb(t);return!!this.fragments[e]}hasParts(t){var e;return!(null==(e=this.activePartLists[t])||!e.length)}removeFragmentsInRange(t,e,s,i,r){i&&!this.hasGaps||Object.keys(this.fragments).forEach((n=>{const o=this.fragments[n];if(!o)return;const a=o.body;a.type!==s||i&&!a.gap||a.startt&&(o.buffered||r)&&this.removeFragment(a)}))}removeFragment(t){const e=kb(t);t.stats.loaded=0,t.clearElementaryStreamInfo();const s=this.activePartLists[t.type];if(s){const e=t.sn;this.activePartLists[t.type]=s.filter((t=>t.fragment.sn!==e))}delete this.fragments[e],t.endList&&delete this.endListFragments[t.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}}function Tb(t){var e,s,i;return t.buffered&&(t.body.gap||(null==(e=t.range.video)?void 0:e.partial)||(null==(s=t.range.audio)?void 0:s.partial)||(null==(i=t.range.audiovideo)?void 0:i.partial))}function kb(t){return`${t.type}_${t.level}_${t.sn}`}const _b={length:0,start:()=>0,end:()=>0};class Cb{static isBuffered(t,e){try{if(t){const s=Cb.getBuffered(t);for(let t=0;t=s.start(t)&&e<=s.end(t))return!0}}catch(t){}return!1}static bufferInfo(t,e,s){try{if(t){const i=Cb.getBuffered(t),r=[];let n;for(n=0;nn&&(i[r-1].end=t[e].end):i.push(t[e])}else i.push(t[e])}else i=t;let r,n=0,o=e,a=e;for(let t=0;t=h&&es.startCC||t&&t.cc{if(this.loader&&this.loader.destroy(),t.gap){if(t.tagList.some((t=>"GAP"===t[0])))return void a(Ub(t));t.gap=!1}const h=this.loader=t.loader=r?new r(i):new n(i),c=Ob(t),l=Yy(i.fragLoadPolicy.default),d={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===t.sn?1/0:Mb};t.stats=h.stats,h.load(c,d,{onSuccess:(e,s,i,r)=>{this.resetLoader(t,h);let n=e.data;i.resetIV&&t.decryptdata&&(t.decryptdata.iv=new Uint8Array(n.slice(0,16)),n=n.slice(16)),o({frag:t,part:null,payload:n,networkDetails:r})},onError:(e,i,r,n)=>{this.resetLoader(t,h),a(new jb({type:eg.NETWORK_ERROR,details:sg.FRAG_LOAD_ERROR,fatal:!1,frag:t,response:Qm({url:s,data:void 0},e),error:new Error(`HTTP Error ${e.code} ${e.text}`),networkDetails:r,stats:n}))},onAbort:(e,s,i)=>{this.resetLoader(t,h),a(new jb({type:eg.NETWORK_ERROR,details:sg.INTERNAL_ABORTED,fatal:!1,frag:t,error:new Error("Aborted"),networkDetails:i,stats:e}))},onTimeout:(e,s,i)=>{this.resetLoader(t,h),a(new jb({type:eg.NETWORK_ERROR,details:sg.FRAG_LOAD_TIMEOUT,fatal:!1,frag:t,error:new Error(`Timeout after ${d.timeout}ms`),networkDetails:i,stats:e}))},onProgress:(s,i,r,n)=>{e&&e({frag:t,part:null,payload:r,networkDetails:n})}})}))}loadPart(t,e,s){this.abort();const i=this.config,r=i.fLoader,n=i.loader;return new Promise(((o,a)=>{if(this.loader&&this.loader.destroy(),t.gap||e.gap)return void a(Ub(t,e));const h=this.loader=t.loader=r?new r(i):new n(i),c=Ob(t,e),l=Yy(i.fragLoadPolicy.default),d={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Mb};e.stats=h.stats,h.load(c,d,{onSuccess:(i,r,n,a)=>{this.resetLoader(t,h),this.updateStatsFromPart(t,e);const c={frag:t,part:e,payload:i.data,networkDetails:a};s(c),o(c)},onError:(s,i,r,n)=>{this.resetLoader(t,h),a(new jb({type:eg.NETWORK_ERROR,details:sg.FRAG_LOAD_ERROR,fatal:!1,frag:t,part:e,response:Qm({url:c.url,data:void 0},s),error:new Error(`HTTP Error ${s.code} ${s.text}`),networkDetails:r,stats:n}))},onAbort:(s,i,r)=>{t.stats.aborted=e.stats.aborted,this.resetLoader(t,h),a(new jb({type:eg.NETWORK_ERROR,details:sg.INTERNAL_ABORTED,fatal:!1,frag:t,part:e,error:new Error("Aborted"),networkDetails:r,stats:s}))},onTimeout:(s,i,r)=>{this.resetLoader(t,h),a(new jb({type:eg.NETWORK_ERROR,details:sg.FRAG_LOAD_TIMEOUT,fatal:!1,frag:t,part:e,error:new Error(`Timeout after ${d.timeout}ms`),networkDetails:r,stats:s}))}})}))}updateStatsFromPart(t,e){const s=t.stats,i=e.stats,r=i.total;if(s.loaded+=i.loaded,r){const i=Math.round(t.duration/e.duration),n=Math.min(Math.round(s.loaded/r),i),o=(i-n)*Math.round(s.loaded/n);s.total=s.loaded+o}else s.total=Math.max(s.loaded,s.total);const n=s.loading,o=i.loading;n.start?n.first+=o.first-o.start:(n.start=o.start,n.first=o.first),n.end=o.end}resetLoader(t,e){t.loader=null,this.loader===e&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),e.destroy()}}function Ob(t,e=null){const s=e||t,i={frag:t,part:e,responseType:"arraybuffer",url:s.url,headers:{},rangeStart:0,rangeEnd:0},r=s.byteRangeStartOffset,n=s.byteRangeEndOffset;if(Xm(r)&&Xm(n)){var o;let e=r,s=n;if("initSegment"===t.sn&&"AES-128"===(null==(o=t.decryptdata)?void 0:o.method)){const t=n-r;t%16&&(s=n+(16-t%16)),0!==r&&(i.resetIV=!0,e=r-16)}i.rangeStart=e,i.rangeEnd=s}return i}function Ub(t,e){const s=new Error(`GAP ${t.gap?"tag":"attribute"} found`),i={type:eg.MEDIA_ERROR,details:sg.FRAG_GAP,fatal:!1,frag:t,error:s,networkDetails:null};return e&&(i.part=e),(e||t).stats.aborted=!0,new jb(i)}class jb extends Error{constructor(t){super(t.error.message),this.data=void 0,this.data=t}}class Nb{constructor(t,e){this.subtle=void 0,this.aesIV=void 0,this.subtle=t,this.aesIV=e}decrypt(t,e){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},e,t)}}class Vb{constructor(t,e){this.subtle=void 0,this.key=void 0,this.subtle=t,this.key=e}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}}class zb{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(t){const e=new DataView(t),s=new Uint32Array(4);for(let t=0;t<4;t++)s[t]=e.getUint32(4*t);return s}initTable(){const t=this.sBox,e=this.invSBox,s=this.subMix,i=s[0],r=s[1],n=s[2],o=s[3],a=this.invSubMix,h=a[0],c=a[1],l=a[2],d=a[3],u=new Uint32Array(256);let p=0,f=0,m=0;for(m=0;m<256;m++)u[m]=m<128?m<<1:m<<1^283;for(m=0;m<256;m++){let s=f^f<<1^f<<2^f<<3^f<<4;s=s>>>8^255&s^99,t[p]=s,e[s]=p;const a=u[p],m=u[a],g=u[m];let A=257*u[s]^16843008*s;i[p]=A<<24|A>>>8,r[p]=A<<16|A>>>16,n[p]=A<<8|A>>>24,o[p]=A,A=16843009*g^65537*m^257*a^16843008*p,h[s]=A<<24|A>>>8,c[s]=A<<16|A>>>16,l[s]=A<<8|A>>>24,d[s]=A,p?(p=a^u[u[u[g^a]]],f^=u[u[f]]):p=f=1}}expandKey(t){const e=this.uint8ArrayToUint32Array_(t);let s=!0,i=0;for(;i{if(!this.subtle)return Promise.reject(new Error("web crypto not initialized"));this.logOnce("WebCrypto AES decrypt");return new Nb(this.subtle,new Uint8Array(s)).decrypt(t.buffer,e)})).catch((i=>(ag.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${i.name}: ${i.message}`),this.onWebCryptoError(t,e,s))))}onWebCryptoError(t,e,s){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(t,e,s);const i=this.flush();if(i)return i.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(t){let e=t;const s=t.length-t.length%16;return s!==t.length&&(e=Fg(t,0,s),this.remainderData=Fg(t,s)),e}logOnce(t){this.logEnabled&&(ag.log(`[decrypter]: ${t}`),this.logEnabled=!1)}}const Hb=function(t){let e="";const s=t.length;for(let i=0;i1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}{constructor(t,e,s,i,r){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Wb,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=r,this.logPrefix=i,this.log=ag.log.bind(ag,`${i}:`),this.warn=ag.warn.bind(ag,`${i}:`),this.hls=t,this.fragmentLoader=new Fb(t.config),this.keyLoader=s,this.fragmentTracker=e,this.config=t.config,this.decrypter=new Gb(t.config),t.on(tg.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(t){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const t=this.fragCurrent;null!=t&&t.loader&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Wb}_streamEnded(t,e){if(e.live||t.nextStart||!t.end||!this.media)return!1;const s=e.partList;if(null!=s&&s.length){const t=s[s.length-1];return Cb.isBuffered(this.media,t.start+t.duration/2)}const i=e.fragments[e.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(i)}getLevelDetails(){var t;if(this.levels&&null!==this.levelLastLoaded)return null==(t=this.levelLastLoaded)?void 0:t.details}onMediaAttached(t,e){const s=this.media=this.mediaBuffer=e.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),s.addEventListener("seeking",this.onvseeking),s.addEventListener("ended",this.onvended);const i=this.config;this.levels&&i.autoStartLoad&&this.state===Wb&&this.startLoad(i.startPosition)}onMediaDetaching(){const t=this.media;null!=t&&t.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),t&&this.onvseeking&&this.onvended&&(t.removeEventListener("seeking",this.onvseeking),t.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){const{config:t,fragCurrent:e,media:s,mediaBuffer:i,state:r}=this,n=s?s.currentTime:0,o=Cb.bufferInfo(i||s,n,t.maxBufferHole);if(this.log(`media seeking to ${Xm(n)?n.toFixed(3):n}, state: ${r}`),this.state===$b)this.resetLoadingState();else if(e){const s=t.maxFragLookUpTolerance,i=e.start-s,r=e.start+e.duration+s;if(!o.len||ro.end){const t=n>r;(n{if(this.fragContextChanged(t))return this.warn(`Fragment ${t.sn}${e.part?" p: "+e.part.index:""} of level ${t.level} was dropped during download.`),void this.fragmentTracker.removeFragment(t);t.stats.chunkCount++,this._handleFragmentLoadProgress(e)})).then((e=>{if(!e)return;const s=this.state;this.fragContextChanged(t)?(s===Yb||!this.fragCurrent&&s===Xb)&&(this.fragmentTracker.removeFragment(t),this.state=Kb):("payload"in e&&(this.log(`Loaded fragment ${t.sn} of level ${t.level}`),this.hls.trigger(tg.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e))})).catch((e=>{this.state!==Wb&&this.state!==tv&&(this.warn(`Frag error: ${(null==e?void 0:e.message)||e}`),this.resetFragmentLoading(t))}))}clearTrackerIfNeeded(t){var e;const{fragmentTracker:s}=this;if(s.getState(t)===Sb){const e=t.type,i=this.getFwdBufferInfo(this.mediaBuffer,e),r=Math.max(t.duration,i?i.len:this.config.maxBufferLength),n=this.backtrackFragment;(1===(n?t.sn-n.sn:0)||this.reduceMaxBufferLength(r,t.duration))&&s.removeFragment(t)}else 0===(null==(e=this.mediaBuffer)?void 0:e.buffered.length)?s.removeAllFragments():s.hasParts(t.type)&&(s.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type}),s.getState(t)===wb&&s.removeFragment(t))}checkLiveUpdate(t){if(t.updated&&!t.live){const e=t.fragments[t.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type})}t.fragments[0]||(t.deltaUpdateFailed=!0)}flushMainBuffer(t,e,s=null){if(!(t-e))return;const i={startOffset:t,endOffset:e,type:s};this.hls.trigger(tg.BUFFER_FLUSHING,i)}_loadInitSegment(t,e){this._doFragLoad(t,e).then((e=>{if(!e||this.fragContextChanged(t)||!this.levels)throw new Error("init load aborted");return e})).then((e=>{const{hls:s}=this,{payload:i}=e,r=t.decryptdata;if(i&&i.byteLength>0&&null!=r&&r.key&&r.iv&&"AES-128"===r.method){const n=self.performance.now();return this.decrypter.decrypt(new Uint8Array(i),r.key.buffer,r.iv.buffer).catch((e=>{throw s.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e})).then((i=>{const r=self.performance.now();return s.trigger(tg.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:n,tdecrypt:r}}),e.payload=i,this.completeInitSegmentLoad(e)}))}return this.completeInitSegmentLoad(e)})).catch((e=>{this.state!==Wb&&this.state!==tv&&(this.warn(e),this.resetFragmentLoading(t))}))}completeInitSegmentLoad(t){const{levels:e}=this;if(!e)throw new Error("init load aborted, missing levels");const s=t.frag.stats;this.state=Kb,t.frag.data=new Uint8Array(t.payload),s.parsing.start=s.buffering.start=self.performance.now(),s.parsing.end=s.buffering.end=self.performance.now(),this.tick()}fragContextChanged(t){const{fragCurrent:e}=this;return!t||!e||t.sn!==e.sn||t.level!==e.level}fragBufferedComplete(t,e){var s,i,r,n;const o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${t.type} sn: ${t.sn}${e?" part: "+e.index:""} of ${this.playlistType===ay?"level":"track"} ${t.level} (frag:[${(null!=(s=t.startPTS)?s:NaN).toFixed(3)}-${(null!=(i=t.endPTS)?i:NaN).toFixed(3)}] > buffer:${o?Hb(Cb.getBuffered(o)):"(detached)"})`),"initSegment"!==t.sn){var a;if(t.type!==cy){const e=t.elementaryStreams;if(!Object.keys(e).some((t=>!!e[t])))return void(this.state=Kb)}const e=null==(a=this.levels)?void 0:a[t.level];null!=e&&e.fragmentError&&(this.log(`Resetting level fragment error count of ${e.fragmentError} on frag buffered`),e.fragmentError=0)}this.state=Kb,o&&(!this.loadedmetadata&&t.type==ay&&o.buffered.length&&(null==(r=this.fragCurrent)?void 0:r.sn)===(null==(n=this.fragPrevious)?void 0:n.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(t){const{transmuxer:e}=this;if(!e)return;const{frag:s,part:i,partsLoaded:r}=t,n=!r||0===r.length||r.some((t=>!t)),o=new Rb(s.level,s.sn,s.stats.chunkCount+1,0,i?i.index:-1,!n);e.flush(o)}_handleFragmentLoadProgress(t){}_doFragLoad(t,e,s=null,i){var r;const n=null==e?void 0:e.details;if(!this.levels||!n)throw new Error(`frag load aborted, missing level${n?"":" detail"}s`);let o=null;if(!t.encrypted||null!=(r=t.decryptdata)&&r.key?!t.encrypted&&n.encryptedFragments.length&&this.keyLoader.loadClear(t,n.encryptedFragments):(this.log(`Loading key for ${t.sn} of [${n.startSN}-${n.endSN}], ${"[stream-controller]"===this.logPrefix?"level":"track"} ${t.level}`),this.state=Qb,this.fragCurrent=t,o=this.keyLoader.load(t).then((t=>{if(!this.fragContextChanged(t.frag))return this.hls.trigger(tg.KEY_LOADED,t),this.state===Qb&&(this.state=Kb),t})),this.hls.trigger(tg.KEY_LOADING,{frag:t}),null===this.fragCurrent&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),s=Math.max(t.start,s||0),this.config.lowLatencyMode&&"initSegment"!==t.sn){const r=n.partList;if(r&&i){s>t.end&&n.fragmentHint&&(t=n.fragmentHint);const a=this.getNextPart(r,t,s);if(a>-1){const h=r[a];let c;return this.log(`Loading part sn: ${t.sn} p: ${h.index} cc: ${t.cc} of playlist [${n.startSN}-${n.endSN}] parts [0-${a}-${r.length-1}] ${"[stream-controller]"===this.logPrefix?"level":"track"}: ${t.level}, target: ${parseFloat(s.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=Yb,c=o?o.then((s=>!s||this.fragContextChanged(s.frag)?null:this.doFragPartsLoad(t,h,e,i))).catch((t=>this.handleFragLoadError(t))):this.doFragPartsLoad(t,h,e,i).catch((t=>this.handleFragLoadError(t))),this.hls.trigger(tg.FRAG_LOADING,{frag:t,part:h,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):c}if(!t.url||this.loadedEndOfParts(r,s))return Promise.resolve(null)}}this.log(`Loading fragment ${t.sn} cc: ${t.cc} ${n?"of ["+n.startSN+"-"+n.endSN+"] ":""}${"[stream-controller]"===this.logPrefix?"level":"track"}: ${t.level}, target: ${parseFloat(s.toFixed(3))}`),Xm(t.sn)&&!this.bitrateTest&&(this.nextLoadPosition=t.start+t.duration),this.state=Yb;const a=this.config.progressive;let h;return h=a&&o?o.then((e=>!e||this.fragContextChanged(null==e?void 0:e.frag)?null:this.fragmentLoader.load(t,i))).catch((t=>this.handleFragLoadError(t))):Promise.all([this.fragmentLoader.load(t,a?i:void 0),o]).then((([t])=>(!a&&t&&i&&i(t),t))).catch((t=>this.handleFragLoadError(t))),this.hls.trigger(tg.FRAG_LOADING,{frag:t,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):h}doFragPartsLoad(t,e,s,i){return new Promise(((r,n)=>{var o;const a=[],h=null==(o=s.details)?void 0:o.partList,c=e=>{this.fragmentLoader.loadPart(t,e,i).then((i=>{a[e.index]=i;const n=i.part;this.hls.trigger(tg.FRAG_LOADED,i);const o=zy(s,t.sn,e.index+1)||Gy(h,t.sn,e.index+1);if(!o)return r({frag:t,part:n,partsLoaded:a});c(o)})).catch(n)};c(e)}))}handleFragLoadError(t){if("data"in t){const e=t.data;t.data&&e.details===sg.INTERNAL_ABORTED?this.handleFragLoadAborted(e.frag,e.part):this.hls.trigger(tg.ERROR,e)}else this.hls.trigger(tg.ERROR,{type:eg.OTHER_ERROR,details:sg.INTERNAL_EXCEPTION,err:t,error:t,fatal:!0});return null}_handleTransmuxerFlush(t){const e=this.getCurrentContext(t);if(!e||this.state!==Xb)return void(this.fragCurrent||this.state===Wb||this.state===tv||(this.state=Kb));const{frag:s,part:i,level:r}=e,n=self.performance.now();s.stats.parsing.end=n,i&&(i.stats.parsing.end=n),this.updateLevelTiming(s,i,r,t.partial)}getCurrentContext(t){const{levels:e,fragCurrent:s}=this,{level:i,sn:r,part:n}=t;if(null==e||!e[i])return this.warn(`Levels object was unset while buffering fragment ${r} of level ${i}. The current chunk will not be buffered.`),null;const o=e[i],a=n>-1?zy(o,r,n):null,h=a?a.fragment:function(t,e,s){if(null==t||!t.details)return null;const i=t.details;let r=i.fragments[e-i.startSN];return r||(r=i.fragmentHint,r&&r.sn===e?r:en&&this.flushMainBuffer(o,t.start)}getFwdBufferInfo(t,e){const s=this.getLoadPosition();return Xm(s)?this.getFwdBufferInfoAtPos(t,s,e):null}getFwdBufferInfoAtPos(t,e,s){const{config:{maxBufferHole:i}}=this,r=Cb.bufferInfo(t,e,i);if(0===r.len&&void 0!==r.nextStart){const n=this.fragmentTracker.getBufferedFrag(e,s);if(n&&r.nextStart=i&&(s.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0)}getAppendedFrag(t,e=ay){const s=this.fragmentTracker.getAppendedFrag(t,ay);return s&&"fragment"in s?s.fragment:s}getNextFragment(t,e){const s=e.fragments,i=s.length;if(!i)return null;const{config:r}=this,n=s[0].start;let o;if(e.live){const a=r.initialLiveManifestSize;if(ie}getNextFragmentLoopLoading(t,e,s,i,r){const n=t.gap,o=this.getNextFragment(this.nextLoadPosition,e);if(null===o)return o;if(t=o,n&&t&&!t.gap&&s.nextStart){const e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,s.nextStart,i);if(null!==e&&s.len+e.len>=r)return this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${t.sn}`),null}return t}mapToInitFragWhenRequired(t){return null==t||!t.initSegment||null!=t&&t.initSegment.data||this.bitrateTest?t:t.initSegment}getNextPart(t,e,s){let i=-1,r=!1,n=!0;for(let o=0,a=t.length;o-1&&ss.start&&s.loaded}getInitialLiveFragment(t,e){const s=this.fragPrevious;let i=null;if(s){if(t.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${s.programDateTime}`),i=function(t,e,s){if(null===e||!Array.isArray(t)||!t.length||!Xm(e))return null;if(e<(t[0].programDateTime||0))return null;if(e>=(t[t.length-1].endProgramDateTime||0))return null;s=s||0;for(let i=0;i=t.startSN&&r<=t.endSN){const n=e[r-t.startSN];s.cc===n.cc&&(i=n,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`))}i||(i=function(t,e){return Jy(t,(t=>t.cce?-1:0))}(e,s.cc),i&&this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`))}}else{const e=this.hls.liveSyncPosition;null!==e&&(i=this.getFragmentAtPosition(e,this.bitrateTest?t.fragmentEnd:t.edge,t))}return i}getFragmentAtPosition(t,e,s){const{config:i}=this;let{fragPrevious:r}=this,{fragments:n,endSN:o}=s;const{fragmentHint:a}=s,{maxFragLookUpTolerance:h}=i,c=s.partList,l=!!(i.lowLatencyMode&&null!=c&&c.length&&a);let d;if(l&&a&&!this.bitrateTest&&(n=n.concat(a),o=a.sn),te-h?0:h)}else d=n[n.length-1];if(d){const t=d.sn-s.startSN,e=this.fragmentTracker.getState(d);if((e===Eb||e===wb&&d.gap)&&(r=d),r&&d.sn===r.sn&&(!l||c[0].fragment.sn>d.sn)){if(r&&d.level===r.level){const e=n[t+1];d=d.sn=n-e.maxFragLookUpTolerance&&r<=o;if(null!==i&&s.duration>i&&(r${t.startSN} prev-sn: ${r?r.sn:"na"} fragments: ${i}`),n}return r}waitForCdnTuneIn(t){return t.live&&t.canBlockReload&&t.partTarget&&t.tuneInGoal>Math.max(t.partHoldBack,3*t.partTarget)}setStartPosition(t,e){let s=this.startPosition;if(s ${null==(i=this.fragCurrent)?void 0:i.url}`);const r=e.details===sg.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(s,!0);const n=e.errorAction,{action:o,retryCount:a=0,retryConfig:h}=n||{};if(n&&o===ib&&h){this.resetStartWhenNotLoaded(this.levelLastLoaded);const i=Qy(h,a);this.warn(`Fragment ${s.sn} of ${t} ${s.level} errored with ${e.details}, retrying loading ${a+1}/${h.maxNumRetry} in ${i}ms`),n.resolved=!0,this.retryDate=self.performance.now()+i,this.state=qb}else if(h&&n){if(this.resetFragmentErrors(t),!(a.5;r&&this.reduceMaxBufferLength(i.len,(null==e?void 0:e.duration)||10);const n=!r;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${s} buffer`),e&&(this.fragmentTracker.removeFragment(e),this.nextLoadPosition=e.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(t){t===hy&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==Wb&&(this.state=Kb)}afterBufferFlushed(t,e,s){if(!t)return;const i=Cb.getBuffered(t);this.fragmentTracker.detectEvictedFragments(e,i,s),this.state===$b&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Kb}resetStartWhenNotLoaded(t){if(!this.loadedmetadata){this.startFragRequested=!1;const e=t?t.details:null;null!=e&&e.live?(this.startPosition=-1,this.setStartPosition(e,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(t){this.warn(`The loading context changed while buffering fragment ${t.sn} of level ${t.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(t=0){this.fragmentTracker.removeFragmentsInRange(t,1/0,this.playlistType,!1,!0)}updateLevelTiming(t,e,s,i){var r;const n=s.details;if(!n)return void this.warn("level.details undefined");if(!Object.keys(t.elementaryStreams).reduce(((e,r)=>{const o=t.elementaryStreams[r];if(o){const a=o.endPTS-o.startPTS;if(a<=0)return this.warn(`Could not parse fragment ${t.sn} ${r} duration reliably (${a})`),e||!1;const h=i?0:Uy(n,t,o.startPTS,o.endPTS,o.startDTS,o.endDTS);return this.hls.trigger(tg.LEVEL_PTS_UPDATED,{details:n,level:s,drift:h,type:r,frag:t,start:o.startPTS,end:o.endPTS}),!0}return e}),!1)&&null===(null==(r=this.transmuxer)?void 0:r.error)){const e=new Error(`Found no media in fragment ${t.sn} of level ${t.level} resetting transmuxer to fallback to playlist timing`);if(0===s.fragmentError&&(s.fragmentError++,t.gap=!0,this.fragmentTracker.removeFragment(t),this.fragmentTracker.fragBuffered(t,!0)),this.warn(e.message),this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_PARSING_ERROR,fatal:!1,error:e,frag:t,reason:`Found no media in msn ${t.sn} of level "${s.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=Zb,this.hls.trigger(tg.FRAG_PARSED,{frag:t,part:e})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(t){"demuxerWorker"===t.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(t){const e=this._state;e!==t&&(this._state=t,this.log(`${e}->${t}`))}get state(){return this._state}}class rv{constructor(){this.chunks=[],this.dataLength=0}push(t){this.chunks.push(t),this.dataLength+=t.length}flush(){const{chunks:t,dataLength:e}=this;let s;return t.length?(s=1===t.length?t[0]:function(t,e){const s=new Uint8Array(e);let i=0;for(let e=0;e0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:yy,duration:Number.POSITIVE_INFINITY});r{if(Xm(t))return 90*t;return 9e4*e+(s?9e4*s.baseTime/s.timescale:0)};function hv(t,e){return 255===t[e]&&240==(246&t[e+1])}function cv(t,e){return 1&t[e+1]?7:9}function lv(t,e){return(3&t[e+3])<<11|t[e+4]<<3|(224&t[e+5])>>>5}function dv(t,e){return e+1=t.length)return!1;const i=lv(t,e);if(i<=s)return!1;const r=e+i;return r===t.length||dv(t,r)}return!1}function pv(t,e,s,i,r){if(!t.samplerate){const n=function(t,e,s,i){let r,n,o,a;const h=navigator.userAgent.toLowerCase(),c=i,l=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];r=1+((192&e[s+2])>>>6);const d=(60&e[s+2])>>>2;if(!(d>l.length-1))return o=(1&e[s+2])<<2,o|=(192&e[s+3])>>>6,ag.log(`manifest codec:${i}, ADTS type:${r}, samplingIndex:${d}`),/firefox/i.test(h)?d>=6?(r=5,a=new Array(4),n=d-3):(r=2,a=new Array(2),n=d):-1!==h.indexOf("android")?(r=2,a=new Array(2),n=d):(r=5,a=new Array(4),i&&(-1!==i.indexOf("mp4a.40.29")||-1!==i.indexOf("mp4a.40.5"))||!i&&d>=6?n=d-3:((i&&-1!==i.indexOf("mp4a.40.2")&&(d>=6&&1===o||/vivaldi/i.test(h))||!i&&1===o)&&(r=2,a=new Array(2)),n=d)),a[0]=r<<3,a[0]|=(14&d)>>1,a[1]|=(1&d)<<7,a[1]|=o<<3,5===r&&(a[1]|=(14&n)>>1,a[2]=(1&n)<<7,a[2]|=8,a[3]=0),{config:a,samplerate:l[d],channelCount:o,codec:"mp4a.40."+r,manifestCodec:c};{const e=new Error(`invalid ADTS sampling index:${d}`);t.emit(tg.ERROR,tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_PARSING_ERROR,fatal:!0,error:e,reason:e.message})}}(e,s,i,r);if(!n)return;t.config=n.config,t.samplerate=n.samplerate,t.channelCount=n.channelCount,t.codec=n.codec,t.manifestCodec=n.manifestCodec,ag.log(`parsed codec:${t.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function fv(t){return 9216e4/t}function mv(t,e,s,i,r){const n=i+r*fv(t.samplerate),o=function(t,e){const s=cv(t,e);if(e+s<=t.length){const i=lv(t,e)-s;if(i>0)return{headerLength:s,frameLength:i}}}(e,s);let a;if(o){const{frameLength:i,headerLength:r}=o,h=r+i,c=Math.max(0,s+h-e.length);c?(a=new Uint8Array(h-r),a.set(e.subarray(s+r,e.length),0)):a=e.subarray(s+r,s+h);const l={unit:a,pts:n};return c||t.samples.push(l),{sample:l,length:h,missing:c}}const h=e.length-s;a=new Uint8Array(h),a.set(e.subarray(s,e.length),0);return{sample:{unit:a,pts:n},length:h,missing:-1}}let gv=null;const Av=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],yv=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],bv=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],vv=[0,1,1,4];function Sv(t,e,s,i,r){if(s+24>e.length)return;const n=wv(e,s);if(n&&s+n.frameLength<=e.length){const o=i+r*(9e4*n.samplesPerFrame/n.sampleRate),a={unit:e.subarray(s,s+n.frameLength),pts:o,dts:o};return t.config=[],t.channelCount=n.channelCount,t.samplerate=n.sampleRate,t.samples.push(a),{sample:a,length:n.frameLength,missing:0}}}function wv(t,e){const s=t[e+1]>>3&3,i=t[e+1]>>1&3,r=t[e+2]>>4&15,n=t[e+2]>>2&3;if(1!==s&&0!==r&&15!==r&&3!==n){const o=t[e+2]>>1&1,a=t[e+3]>>6,h=1e3*Av[14*(3===s?3-i:3===i?3:4)+r-1],c=yv[3*(3===s?0:2===s?1:2)+n],l=3===a?1:2,d=bv[s][i],u=vv[i],p=8*d*u,f=Math.floor(d*h/c+o)*u;if(null===gv){const t=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);gv=t?parseInt(t[1]):0}return!!gv&&gv<=87&&2===i&&h>=224e3&&0===a&&(t[e+3]=128|t[e+3]),{sampleRate:c,channelCount:l,frameLength:f,samplesPerFrame:p}}}function Ev(t,e){return 255===t[e]&&224==(224&t[e+1])&&0!=(6&t[e+1])}function Iv(t,e){return e+1{let s=0,i=5;e+=i;const r=new Uint32Array(1),n=new Uint32Array(1),o=new Uint8Array(1);for(;i>0;){o[0]=t[e];const a=Math.min(i,8),h=8-a;n[0]=4278190080>>>24+h<>h,s=s?s<e.length)return-1;if(11!==e[s]||119!==e[s+1])return-1;const n=e[s+4]>>6;if(n>=3)return-1;const o=[48e3,44100,32e3][n],a=63&e[s+4],h=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*a+n];if(s+h>e.length)return-1;const c=e[s+6]>>5;let l=0;2===c?l+=2:(1&c&&1!==c&&(l+=2),4&c&&(l+=2));const d=(e[s+6]<<8|e[s+7])>>12-l&1,u=[2,1,2,3,3,4,4,5][c]+d,p=e[s+5]>>3,f=7&e[s+5],m=new Uint8Array([n<<6|p<<1|f>>2,(3&f)<<6|c<<3|d<<2|a>>4,a<<4&224]),g=i+r*(1536/o*9e4),A=e.subarray(s,s+h);return t.config=m,t.channelCount=u,t.samplerate=o,t.samples.push({unit:A,pts:g}),h}class Dv{constructor(t){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=t,this.bytesAvailable=t.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const t=this.data,e=this.bytesAvailable,s=t.byteLength-e,i=new Uint8Array(4),r=Math.min(4,e);if(0===r)throw new Error("no bytes available");i.set(t.subarray(s,s+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=8*r,this.bytesAvailable-=r}skipBits(t){let e;t=Math.min(t,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>t?(this.word<<=t,this.bitsAvailable-=t):(e=(t-=this.bitsAvailable)>>3,t-=e<<3,this.bytesAvailable-=e,this.loadWord(),this.word<<=t,this.bitsAvailable-=t)}readBits(t){let e=Math.min(this.bitsAvailable,t);const s=this.word>>>32-e;if(t>32&&ag.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=e,this.bitsAvailable>0)this.word<<=e;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return e=t-e,e>0&&this.bitsAvailable?s<>>t))return this.word<<=t,this.bitsAvailable-=t,t;return this.loadWord(),t+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const t=this.skipLZ();return this.readBits(t+1)-1}readEG(){const t=this.readUEG();return 1&t?1+t>>>1:-1*(t>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(t){let e,s=8,i=8;for(let r=0;r{var n;switch(i.type){case 1:{let e=!1;o=!0;const r=i.data;if(h&&r.length>4){const t=new Dv(r).readSliceType();2!==t&&4!==t&&7!==t&&9!==t||(e=!0)}var c;if(e)null!=(c=a)&&c.frame&&!a.key&&(this.pushAccessUnit(a,t),a=this.VideoSample=null);a||(a=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts,"")),a.frame=!0,a.key=e;break}case 5:o=!0,null!=(n=a)&&n.frame&&!a.key&&(this.pushAccessUnit(a,t),a=this.VideoSample=null),a||(a=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts,"")),a.key=!0,a.frame=!0;break;case 6:o=!0,wA(i.data,1,s.pts,e.samples);break;case 7:{var l,d;o=!0,h=!0;const e=i.data,s=new Dv(e).readSPS();if(!t.sps||t.width!==s.width||t.height!==s.height||(null==(l=t.pixelRatio)?void 0:l[0])!==s.pixelRatio[0]||(null==(d=t.pixelRatio)?void 0:d[1])!==s.pixelRatio[1]){t.width=s.width,t.height=s.height,t.pixelRatio=s.pixelRatio,t.sps=[e],t.duration=r;const i=e.subarray(1,4);let n="avc1.";for(let t=0;t<3;t++){let e=i[t].toString(16);e.length<2&&(e="0"+e),n+=e}t.codec=n}break}case 8:o=!0,t.pps=[i.data];break;case 9:o=!0,t.audFound=!0,a&&this.pushAccessUnit(a,t),a=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts,"");break;case 12:o=!0;break;default:o=!1,a&&(a.debug+="unknown NAL "+i.type+" ")}if(a&&o){a.units.push(i)}})),i&&a&&(this.pushAccessUnit(a,t),this.VideoSample=null)}parseAVCNALu(t,e){const s=e.byteLength;let i=t.naluState||0;const r=i,n=[];let o,a,h,c=0,l=-1,d=0;for(-1===i&&(l=0,d=31&e[0],i=0,c=1);c=0){const t={data:e.subarray(l,a),type:d};n.push(t)}else{const s=this.getLastNalUnit(t.samples);s&&(r&&c<=4-r&&s.state&&(s.data=s.data.subarray(0,s.data.byteLength-r)),a>0&&(s.data=bA(s.data,e.subarray(0,a)),s.state=0))}c=0&&i>=0){const t={data:e.subarray(l,s),type:d,state:i};n.push(t)}if(0===n.length){const s=this.getLastNalUnit(t.samples);s&&(s.data=bA(s.data,e))}return t.naluState=i,n}}class xv{constructor(t,e,s){this.keyData=void 0,this.decrypter=void 0,this.keyData=s,this.decrypter=new Gb(e,{removePKCS7Padding:!1})}decryptBuffer(t){return this.decrypter.decrypt(t,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(t,e,s){const i=t[e].unit;if(i.length<=16)return;const r=i.subarray(16,i.length-i.length%16),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(n).then((r=>{const n=new Uint8Array(r);i.set(n,16),this.decrypter.isSync()||this.decryptAacSamples(t,e+1,s)}))}decryptAacSamples(t,e,s){for(;;e++){if(e>=t.length)return void s();if(!(t[e].unit.length<32)&&(this.decryptAacSample(t,e,s),!this.decrypter.isSync()))return}}getAvcEncryptedData(t){const e=16*Math.floor((t.length-48)/160)+16,s=new Int8Array(e);let i=0;for(let e=32;e{r.data=this.getAvcDecryptedUnit(n,o),this.decrypter.isSync()||this.decryptAvcSamples(t,e,s+1,i)}))}decryptAvcSamples(t,e,s,i){if(t instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;e++,s=0){if(e>=t.length)return void i();const r=t[e].units;for(;!(s>=r.length);s++){const n=r[s];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(t,e,s,i,n),this.decrypter.isSync())))return}}}}const Pv=188;class Bv{constructor(t,e,s){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=t,this.config=e,this.typeSupported=s,this.videoParser=new Lv}static probe(t){const e=Bv.syncOffset(t);return e>0&&ag.warn(`MPEG2-TS detected but first sync word found @ offset ${e}`),-1!==e}static syncOffset(t){const e=t.length;let s=Math.min(940,e-Pv)+1,i=0;for(;i1&&(0===n&&o>2||a+Pv>s))return n}i++}return-1}static createTrack(t,e){return{container:"video"===t||"audio"===t?"video/mp2t":void 0,type:t,id:iA[t],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===t?e:void 0}}resetInitSegment(t,e,s,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Bv.createTrack("video"),this._audioTrack=Bv.createTrack("audio",i),this._id3Track=Bv.createTrack("id3"),this._txtTrack=Bv.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=e,this.videoCodec=s,this._duration=i}resetTimeStamp(){}resetContiguity(){const{_audioTrack:t,_videoTrack:e,_id3Track:s}=this;t&&(t.pesData=null),e&&(e.pesData=null),s&&(s.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(t,e,s=!1,i=!1){let r;s||(this.sampleAes=null);const n=this._videoTrack,o=this._audioTrack,a=this._id3Track,h=this._txtTrack;let c=n.pid,l=n.pesData,d=o.pid,u=a.pid,p=o.pesData,f=a.pesData,m=null,g=this.pmtParsed,A=this._pmtId,y=t.length;if(this.remainderData&&(y=(t=bA(this.remainderData,t)).length,this.remainderData=null),y>4>1){if(v=e+5+t[e+4],v===e+Pv)continue}else v=e+4;switch(y){case c:i&&(l&&(r=Nv(l))&&this.videoParser.parseAVCPES(n,h,r,!1,this._duration),l={data:[],size:0}),l&&(l.data.push(t.subarray(v,e+Pv)),l.size+=e+Pv-v);break;case d:if(i){if(p&&(r=Nv(p)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,r);break;case"mp3":this.parseMPEGPES(o,r);break;case"ac3":this.parseAC3PES(o,r)}p={data:[],size:0}}p&&(p.data.push(t.subarray(v,e+Pv)),p.size+=e+Pv-v);break;case u:i&&(f&&(r=Nv(f))&&this.parseID3PES(a,r),f={data:[],size:0}),f&&(f.data.push(t.subarray(v,e+Pv)),f.size+=e+Pv-v);break;case 0:i&&(v+=t[v]+1),A=this._pmtId=Fv(t,v);break;case A:{i&&(v+=t[v]+1);const r=Ov(t,v,this.typeSupported,s,this.observer);c=r.videoPid,c>0&&(n.pid=c,n.segmentCodec=r.segmentVideoCodec),d=r.audioPid,d>0&&(o.pid=d,o.segmentCodec=r.segmentAudioCodec),u=r.id3Pid,u>0&&(a.pid=u),null===m||g||(ag.warn(`MPEG-TS PMT found at ${e} after unknown PID '${m}'. Backtracking to sync byte @${b} to parse all TS packets.`),m=null,e=b-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:m=y}}else v++;v>0&&Uv(this.observer,new Error(`Found ${v} TS packet/s that do not start with 0x47`)),n.pesData=l,o.pesData=p,a.pesData=f;const S={audioTrack:o,videoTrack:n,id3Track:a,textTrack:h};return i&&this.extractRemainingSamples(S),S}flush(){const{remainderData:t}=this;let e;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e}extractRemainingSamples(t){const{audioTrack:e,videoTrack:s,id3Track:i,textTrack:r}=t,n=s.pesData,o=e.pesData,a=i.pesData;let h;if(n&&(h=Nv(n))?(this.videoParser.parseAVCPES(s,r,h,!0,this._duration),s.pesData=null):s.pesData=n,o&&(h=Nv(o))){switch(e.segmentCodec){case"aac":this.parseAACPES(e,h);break;case"mp3":this.parseMPEGPES(e,h);break;case"ac3":this.parseAC3PES(e,h)}e.pesData=null}else null!=o&&o.size&&ag.log("last AAC PES packet truncated,might overlap between fragments"),e.pesData=o;a&&(h=Nv(a))?(this.parseID3PES(i,h),i.pesData=null):i.pesData=a}demuxSampleAes(t,e,s){const i=this.demux(t,s,!0,!this.config.progressive),r=this.sampleAes=new xv(this.observer,this.config,e);return this.decrypt(i,r)}decrypt(t,e){return new Promise((s=>{const{audioTrack:i,videoTrack:r}=t;i.samples&&"aac"===i.segmentCodec?e.decryptAacSamples(i.samples,0,(()=>{r.samples?e.decryptAvcSamples(r.samples,0,0,(()=>{s(t)})):s(t)})):r.samples&&e.decryptAvcSamples(r.samples,0,0,(()=>{s(t)}))}))}destroy(){this._duration=0}parseAACPES(t,e){let s=0;const i=this.aacOverFlow;let r,n,o,a=e.data;if(i){this.aacOverFlow=null;const e=i.missing,r=i.sample.unit.byteLength;if(-1===e)a=bA(i.sample.unit,a);else{const n=r-e;i.sample.unit.set(a.subarray(0,e),n),t.samples.push(i.sample),s=i.missing}}for(r=s,n=a.length;r0;)a+=n}}parseID3PES(t,e){if(void 0===e.pts)return void ag.warn("[tsdemuxer]: ID3 PES unknown PTS");const s=Jm({},e,{type:this._videoTrack?vy:yy,duration:Number.POSITIVE_INFINITY});t.samples.push(s)}}function Mv(t,e){return((31&t[e+1])<<8)+t[e+2]}function Fv(t,e){return(31&t[e+10])<<8|t[e+11]}function Ov(t,e,s,i,r){const n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=e+3+((15&t[e+1])<<8|t[e+2])-4;for(e+=12+((15&t[e+10])<<8|t[e+11]);e0){let i=e+5,r=a;for(;r>2;){if(106===t[i])!0!==s.ac3?ag.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=o,n.segmentAudioCodec="ac3");const e=t[i+1]+2;i+=e,r-=e}}break;case 194:case 135:return Uv(r,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return Uv(r,new Error("Unsupported HEVC in M2TS found")),n}e+=a+5}return n}function Uv(t,e,s){ag.warn(`parsing error: ${e.message}`),t.emit(tg.ERROR,tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_PARSING_ERROR,fatal:!1,levelRetry:s,error:e,reason:e.message})}function jv(t){ag.log(`${t} with AES-128-CBC encryption found in unencrypted stream`)}function Nv(t){let e,s,i,r,n,o=0;const a=t.data;if(!t||0===t.size)return null;for(;a[0].length<19&&a.length>1;)a[0]=bA(a[0],a[1]),a.splice(1,1);e=a[0];if(1===(e[0]<<16)+(e[1]<<8)+e[2]){if(s=(e[4]<<8)+e[5],s&&s>t.size-6)return null;const h=e[7];192&h&&(r=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&h?(n=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,r-n>54e5&&(ag.warn(`${Math.round((r-n)/9e4)}s delta between PTS and DTS, align them`),r=n)):n=r),i=e[8];let c=i+9;if(t.size<=c)return null;t.size-=c;const l=new Uint8Array(t.size);for(let t=0,s=a.length;ts){c-=s;continue}e=e.subarray(c),s-=c,c=0}l.set(e,o),o+=s}return s&&(s-=i+3),{data:l,pts:r,dts:n,len:s}}return null}class Vv{static getSilentFrame(t,e){if("mp4a.40.2"===t){if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}const zv=Math.pow(2,32)-1;class Gv{static init(){let t;for(t in Gv.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},Gv.types)Gv.types.hasOwnProperty(t)&&(Gv.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);const e=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),s=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);Gv.HDLR_TYPES={video:e,audio:s};const i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),r=new Uint8Array([0,0,0,0,0,0,0,0]);Gv.STTS=Gv.STSC=Gv.STCO=r,Gv.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Gv.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),Gv.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Gv.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const n=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),a=new Uint8Array([0,0,0,1]);Gv.FTYP=Gv.box(Gv.types.ftyp,n,a,n,o),Gv.DINF=Gv.box(Gv.types.dinf,Gv.box(Gv.types.dref,i))}static box(t,...e){let s=8,i=e.length;const r=i;for(;i--;)s+=e[i].byteLength;const n=new Uint8Array(s);for(n[0]=s>>24&255,n[1]=s>>16&255,n[2]=s>>8&255,n[3]=255&s,n.set(t,4),i=0,s=8;i>24&255,t>>16&255,t>>8&255,255&t,s>>24,s>>16&255,s>>8&255,255&s,i>>24,i>>16&255,i>>8&255,255&i,85,196,0,0]))}static mdia(t){return Gv.box(Gv.types.mdia,Gv.mdhd(t.timescale,t.duration),Gv.hdlr(t.type),Gv.minf(t))}static mfhd(t){return Gv.box(Gv.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}static minf(t){return"audio"===t.type?Gv.box(Gv.types.minf,Gv.box(Gv.types.smhd,Gv.SMHD),Gv.DINF,Gv.stbl(t)):Gv.box(Gv.types.minf,Gv.box(Gv.types.vmhd,Gv.VMHD),Gv.DINF,Gv.stbl(t))}static moof(t,e,s){return Gv.box(Gv.types.moof,Gv.mfhd(t),Gv.traf(s,e))}static moov(t){let e=t.length;const s=[];for(;e--;)s[e]=Gv.trak(t[e]);return Gv.box.apply(null,[Gv.types.moov,Gv.mvhd(t[0].timescale,t[0].duration)].concat(s).concat(Gv.mvex(t)))}static mvex(t){let e=t.length;const s=[];for(;e--;)s[e]=Gv.trex(t[e]);return Gv.box.apply(null,[Gv.types.mvex,...s])}static mvhd(t,e){e*=t;const s=Math.floor(e/(zv+1)),i=Math.floor(e%(zv+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,s>>24,s>>16&255,s>>8&255,255&s,i>>24,i>>16&255,i>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return Gv.box(Gv.types.mvhd,r)}static sdtp(t){const e=t.samples||[],s=new Uint8Array(4+e.length);let i,r;for(i=0;i>>8&255),r.push(255&i),r=r.concat(Array.prototype.slice.call(s));for(e=0;e>>8&255),n.push(255&i),n=n.concat(Array.prototype.slice.call(s));const o=Gv.box(Gv.types.avcC,new Uint8Array([1,r[3],r[4],r[5],255,224|t.sps.length].concat(r).concat([t.pps.length]).concat(n))),a=t.width,h=t.height,c=t.pixelRatio[0],l=t.pixelRatio[1];return Gv.box(Gv.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a>>8&255,255&a,h>>8&255,255&h,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,Gv.box(Gv.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Gv.box(Gv.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,255&c,l>>24,l>>16&255,l>>8&255,255&l])))}static esds(t){const e=t.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(t.config).concat([6,1,2]))}static audioStsd(t){const e=t.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,e>>8&255,255&e,0,0])}static mp4a(t){return Gv.box(Gv.types.mp4a,Gv.audioStsd(t),Gv.box(Gv.types.esds,Gv.esds(t)))}static mp3(t){return Gv.box(Gv.types[".mp3"],Gv.audioStsd(t))}static ac3(t){return Gv.box(Gv.types["ac-3"],Gv.audioStsd(t),Gv.box(Gv.types.dac3,t.config))}static stsd(t){return"audio"===t.type?"mp3"===t.segmentCodec&&"mp3"===t.codec?Gv.box(Gv.types.stsd,Gv.STSD,Gv.mp3(t)):"ac3"===t.segmentCodec?Gv.box(Gv.types.stsd,Gv.STSD,Gv.ac3(t)):Gv.box(Gv.types.stsd,Gv.STSD,Gv.mp4a(t)):Gv.box(Gv.types.stsd,Gv.STSD,Gv.avc1(t))}static tkhd(t){const e=t.id,s=t.duration*t.timescale,i=t.width,r=t.height,n=Math.floor(s/(zv+1)),o=Math.floor(s%(zv+1));return Gv.box(Gv.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,o>>24,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,r>>8&255,255&r,0,0]))}static traf(t,e){const s=Gv.sdtp(t),i=t.id,r=Math.floor(e/(zv+1)),n=Math.floor(e%(zv+1));return Gv.box(Gv.types.traf,Gv.box(Gv.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])),Gv.box(Gv.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,n>>24,n>>16&255,n>>8&255,255&n])),Gv.trun(t,s.length+16+20+8+16+8+8),s)}static trak(t){return t.duration=t.duration||4294967295,Gv.box(Gv.types.trak,Gv.tkhd(t),Gv.mdia(t))}static trex(t){const e=t.id;return Gv.box(Gv.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(t,e){const s=t.samples||[],i=s.length,r=12+16*i,n=new Uint8Array(r);let o,a,h,c,l,d;for(e+=8+r,n.set(["video"===t.type?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0),o=0;o>>24&255,h>>>16&255,h>>>8&255,255&h,c>>>24&255,c>>>16&255,c>>>8&255,255&c,l.isLeading<<2|l.dependsOn,l.isDependedOn<<6|l.hasRedundancy<<4|l.paddingValue<<1|l.isNonSync,61440&l.degradPrio,15&l.degradPrio,d>>>24&255,d>>>16&255,d>>>8&255,255&d],12+16*o);return Gv.box(Gv.types.trun,n)}static initSegment(t){Gv.types||Gv.init();const e=Gv.moov(t);return bA(Gv.FTYP,e)}}Gv.types=void 0,Gv.HDLR_TYPES=void 0,Gv.STTS=void 0,Gv.STSC=void 0,Gv.STCO=void 0,Gv.STSZ=void 0,Gv.VMHD=void 0,Gv.SMHD=void 0,Gv.STSD=void 0,Gv.FTYP=void 0,Gv.DINF=void 0;function Hv(t,e,s=1,i=!1){const r=t*e*s;return i?Math.round(r):r}function Wv(t,e=!1){return Hv(t,1e3,1/9e4,e)}let Kv,Qv=null,Yv=null;class qv{constructor(t,e,s,i=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=t,this.config=e,this.typeSupported=s,this.ISGenerated=!1,null===Qv){const t=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Qv=t?parseInt(t[1]):0}if(null===Yv){const t=navigator.userAgent.match(/Safari\/(\d+)/i);Yv=t?parseInt(t[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(t){ag.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=t}resetNextTimestamp(){ag.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){ag.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(t){let e=!1;const s=t.reduce(((t,s)=>{const i=s.pts-t;return i<-4294967296?(e=!0,Jv(t,s.pts)):i>0?t:s.pts}),t[0].pts);return e&&ag.debug("PTS rollover detected"),s}remux(t,e,s,i,r,n,o,a){let h,c,l,d,u,p,f=r,m=r;const g=t.pid>-1,A=e.pid>-1,y=e.samples.length,b=t.samples.length>0,v=o&&y>0||y>1;if((!g||b)&&(!A||v)||this.ISGenerated||o){if(this.ISGenerated){var S,w,E,I;const t=this.videoTrackConfig;!t||e.width===t.width&&e.height===t.height&&(null==(S=e.pixelRatio)?void 0:S[0])===(null==(w=t.pixelRatio)?void 0:w[0])&&(null==(E=e.pixelRatio)?void 0:E[1])===(null==(I=t.pixelRatio)?void 0:I[1])||this.resetInitSegment()}else l=this.generateIS(t,e,r,n);const s=this.isVideoContiguous;let i,o=-1;if(v&&(o=function(t){for(let e=0;e0){ag.warn(`[mp4-remuxer]: Dropped ${o} out of ${y} video samples due to a missing keyframe`);const t=this.getVideoStartPts(e.samples);e.samples=e.samples.slice(o),e.dropped+=o,m+=(e.samples[0].pts-t)/e.inputTimeScale,i=m}else-1===o&&(ag.warn(`[mp4-remuxer]: No keyframe found out of ${y} video samples`),p=!1);if(this.ISGenerated){if(b&&v){const s=this.getVideoStartPts(e.samples),i=(Jv(t.samples[0].pts,s)-s)/e.inputTimeScale;f+=Math.max(0,i),m+=Math.max(0,-i)}if(b){if(t.samplerate||(ag.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),l=this.generateIS(t,e,r,n)),c=this.remuxAudio(t,f,this.isAudioContiguous,n,A||v||a===hy?m:void 0),v){const i=c?c.endPTS-c.startPTS:0;e.inputTimeScale||(ag.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),l=this.generateIS(t,e,r,n)),h=this.remuxVideo(e,m,s,i)}}else v&&(h=this.remuxVideo(e,m,s,0));h&&(h.firstKeyFrame=o,h.independent=-1!==o,h.firstKeyFramePTS=i)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(s.samples.length&&(u=Xv(s,r,this._initPTS,this._initDTS)),i.samples.length&&(d=Zv(i,r,this._initPTS))),{audio:c,video:h,initSegment:l,independent:p,text:d,id3:u}}generateIS(t,e,s,i){const r=t.samples,n=e.samples,o=this.typeSupported,a={},h=this._initPTS;let c,l,d,u=!h||i,p="audio/mp4";if(u&&(c=l=1/0),t.config&&r.length){switch(t.timescale=t.samplerate,t.segmentCodec){case"mp3":o.mpeg?(p="audio/mpeg",t.codec=""):o.mp3&&(t.codec="mp3");break;case"ac3":t.codec="ac-3"}a.audio={id:"audio",container:p,codec:t.codec,initSegment:"mp3"===t.segmentCodec&&o.mpeg?new Uint8Array(0):Gv.initSegment([t]),metadata:{channelCount:t.channelCount}},u&&(d=t.inputTimeScale,h&&d===h.timescale?u=!1:c=l=r[0].pts-Math.round(d*s))}if(e.sps&&e.pps&&n.length){if(e.timescale=e.inputTimeScale,a.video={id:"main",container:"video/mp4",codec:e.codec,initSegment:Gv.initSegment([e]),metadata:{width:e.width,height:e.height}},u)if(d=e.inputTimeScale,h&&d===h.timescale)u=!1;else{const t=this.getVideoStartPts(n),e=Math.round(d*s);l=Math.min(l,Jv(n[0].dts,t)-e),c=Math.min(c,t-e)}this.videoTrackConfig={width:e.width,height:e.height,pixelRatio:e.pixelRatio}}if(Object.keys(a).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:c,timescale:d},this._initDTS={baseTime:l,timescale:d}):c=d=void 0,{tracks:a,initPTS:c,timescale:d}}remuxVideo(t,e,s,i){const r=t.inputTimeScale,n=t.samples,o=[],a=n.length,h=this._initPTS;let c,l,d=this.nextAvcDts,u=8,p=this.videoSampleDuration,f=Number.POSITIVE_INFINITY,m=Number.NEGATIVE_INFINITY,g=!1;if(!s||null===d){const t=e*r,i=n[0].pts-Jv(n[0].dts,n[0].pts);Qv&&null!==d&&Math.abs(t-i-d)<15e3?s=!0:d=t-i}const A=h.baseTime*r/h.timescale;for(let t=0;t0?t-1:t].dts&&(g=!0)}g&&n.sort((function(t,e){const s=t.dts-e.dts,i=t.pts-e.pts;return s||i})),c=n[0].dts,l=n[n.length-1].dts;const y=l-c,b=y?Math.round(y/(a-1)):p||t.inputTimeScale/30;if(s){const t=c-d,s=t>b,i=t<-1;if((s||i)&&(s?ag.warn(`AVC: ${Wv(t,!0)} ms (${t}dts) hole between fragments detected at ${e.toFixed(3)}`):ag.warn(`AVC: ${Wv(-t,!0)} ms (${t}dts) overlapping between fragments detected at ${e.toFixed(3)}`),!i||d>=n[0].pts||Qv)){c=d;const e=n[0].pts-t;if(s)n[0].dts=c,n[0].pts=e;else for(let s=0;se);s++)n[s].dts-=t,n[s].pts-=t;ag.log(`Video: Initial PTS/DTS adjusted: ${Wv(e,!0)}/${Wv(c,!0)}, delta: ${Wv(t,!0)} ms`)}}c=Math.max(0,c);let v=0,S=0,w=c;for(let t=0;t0?e.dts-n[t-1].dts:b;if(h=t>0?e.pts-n[t-1].pts:b,s.stretchShortVideoTrack&&null!==this.nextAudioPts){const t=Math.floor(s.maxBufferHole*r),n=(i?f+i*r:this.nextAudioPts)-e.pts;n>t?(p=n-o,p<0?p=o:k=!0,ag.log(`[mp4-remuxer]: It is approximately ${n/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=o}else p=o}const l=Math.round(e.pts-e.dts);_=Math.min(_,p),R=Math.max(R,p),C=Math.min(C,h),D=Math.max(D,h),o.push(new $v(e.key,p,c,l))}if(o.length)if(Qv){if(Qv<70){const t=o[0].flags;t.dependsOn=2,t.isNonSync=0}}else if(Yv&&D-C0&&(i&&Math.abs(g-m)<9e3||Math.abs(Jv(p[0].pts-A,g)-m)<20*h),p.forEach((function(t){t.pts=Jv(t.pts-A,g)})),!s||m<0){if(p=p.filter((t=>t.pts>=0)),!p.length)return;m=0===r?0:i&&!u?Math.max(0,g):p[0].pts}if("aac"===t.segmentCodec){const e=this.config.maxAudioFramesDrift;for(let s=0,i=m;s=e*h&&c<1e4&&u){let e=Math.round(a/h);i=o-e*h,i<0&&(e--,i+=h),0===s&&(this.nextAudioPts=m=i),ag.warn(`[mp4-remuxer]: Injecting ${e} audio frame @ ${(i/n).toFixed(3)}s due to ${Math.round(1e3*a/n)} ms gap.`);for(let n=0;n0))return;S+=f;try{y=new Uint8Array(S)}catch(t){return void this.observer.emit(tg.ERROR,tg.ERROR,{type:eg.MUX_ERROR,details:sg.REMUX_ALLOC_ERROR,fatal:!1,error:t,bytes:S,reason:`fail allocating audio mdat ${S}`})}if(!l){new DataView(y.buffer).setUint32(0,S),y.set(Gv.types.mdat,4)}}y.set(r,f);const h=r.byteLength;f+=h,d.push(new $v(!0,a,h,0)),v=n}const E=d.length;if(!E)return;const I=d[d.length-1];this.nextAudioPts=m=v+o*I.duration;const T=l?new Uint8Array(0):Gv.moof(t.sequenceNumber++,b/o,Jm({},t,{samples:d}));t.samples=[];const k=b/n,_=m/n,C={data1:T,data2:y,startPTS:k,endPTS:_,startDTS:k,endDTS:_,type:"audio",hasAudio:!0,hasVideo:!1,nb:E};return this.isAudioContiguous=!0,C}remuxEmptyAudio(t,e,s,i){const r=t.inputTimeScale,n=r/(t.samplerate?t.samplerate:r),o=this.nextAudioPts,a=this._initDTS,h=9e4*a.baseTime/a.timescale,c=(null!==o?o:i.startDTS*r)+h,l=i.endDTS*r+h,d=1024*n,u=Math.ceil((l-c)/d),p=Vv.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(ag.warn("[mp4-remuxer]: remux empty Audio"),!p)return void ag.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");const f=[];for(let t=0;t4294967296;)t+=s;return t}function Xv(t,e,s,i){const r=t.samples.length;if(!r)return;const n=t.inputTimeScale;for(let o=0;ot.pts-e.pts));const n=t.samples;return t.samples=[],{samples:n}}class $v{constructor(t,e,s,i){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=e,this.size=s,this.cts=i,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:t?2:1,isNonSync:t?0:1}}}function tS(t,e){const s=null==t?void 0:t.codec;if(s&&s.length>4)return s;if(e===fg){if("ec-3"===s||"ac-3"===s||"alac"===s)return s;if("fLaC"===s||"Opus"===s){return zA(s,!1)}const t="mp4a.40.5";return ag.info(`Parsed audio codec "${s}" or audio object type not handled. Using "${t}"`),t}return ag.warn(`Unhandled video codec "${s}"`),"hvc1"===s||"hev1"===s?"hvc1.1.6.L120.90":"av01"===s?"av01.0.04M.08":"avc1.42e01e"}try{Kv=self.performance.now.bind(self.performance)}catch(t){ag.debug("Unable to use Performance API on this environment"),Kv=null==Ig?void 0:Ig.Date.now}const eS=[{demux:class{constructor(t,e){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=e}resetTimeStamp(){}resetInitSegment(t,e,s,i){const r=this.videoTrack=nv("video",1),n=this.audioTrack=nv("audio",1),o=this.txtTrack=nv("text",1);if(this.id3Track=nv("id3",1),this.timeOffset=0,null==t||!t.byteLength)return;const a=uA(t);if(a.video){const{id:t,timescale:e,codec:s}=a.video;r.id=t,r.timescale=o.timescale=e,r.codec=s}if(a.audio){const{id:t,timescale:e,codec:s}=a.audio;n.id=t,n.timescale=e,n.codec=s}o.id=iA.text,r.sampleDuration=0,r.duration=n.duration=i}resetContiguity(){this.remainderData=null}static probe(t){return function(t){const e=t.byteLength;for(let s=0;s8&&109===t[s+4]&&111===t[s+5]&&111===t[s+6]&&102===t[s+7])return!0;s=i>1?s+i:e}return!1}(t)}demux(t,e){this.timeOffset=e;let s=t;const i=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(s=bA(this.remainderData,t));const e=function(t){const e={valid:null,remainder:null},s=lA(t,["moof"]);if(s.length<2)return e.remainder=t,e;const i=s[s.length-1];return e.valid=Fg(t,0,i.byteOffset-8),e.remainder=Fg(t,i.byteOffset-8),e}(s);this.remainderData=e.remainder,i.samples=e.valid||new Uint8Array}else i.samples=s;const n=this.extractID3Track(i,e);return r.samples=vA(e,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:n,textTrack:this.txtTrack}}flush(){const t=this.timeOffset,e=this.videoTrack,s=this.txtTrack;e.samples=this.remainderData||new Uint8Array,this.remainderData=null;const i=this.extractID3Track(e,this.timeOffset);return s.samples=vA(t,e),{videoTrack:e,audioTrack:nv(),id3Track:i,textTrack:nv()}}extractID3Track(t,e){const s=this.id3Track;if(t.samples.length){const i=lA(t.samples,["emsg"]);i&&i.forEach((t=>{const i=function(t){const e=t[0];let s="",i="",r=0,n=0,o=0,a=0,h=0,c=0;if(0===e){for(;"\0"!==rA(t.subarray(c,c+1));)s+=rA(t.subarray(c,c+1)),c+=1;for(s+=rA(t.subarray(c,c+1)),c+=1;"\0"!==rA(t.subarray(c,c+1));)i+=rA(t.subarray(c,c+1)),c+=1;i+=rA(t.subarray(c,c+1)),c+=1,r=oA(t,12),n=oA(t,16),a=oA(t,20),h=oA(t,24),c=28}else if(1===e){c+=4,r=oA(t,c),c+=4;const e=oA(t,c);c+=4;const n=oA(t,c);for(c+=4,o=2**32*e+n,Zm(o)||(o=Number.MAX_SAFE_INTEGER,ag.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),a=oA(t,c),c+=4,h=oA(t,c),c+=4;"\0"!==rA(t.subarray(c,c+1));)s+=rA(t.subarray(c,c+1)),c+=1;for(s+=rA(t.subarray(c,c+1)),c+=1;"\0"!==rA(t.subarray(c,c+1));)i+=rA(t.subarray(c,c+1)),c+=1;i+=rA(t.subarray(c,c+1)),c+=1}return{schemeIdUri:s,value:i,timeScale:r,presentationTime:o,presentationTimeDelta:n,eventDuration:a,id:h,payload:t.subarray(c,t.byteLength)}}(t);if(kv.test(i.schemeIdUri)){const t=Xm(i.presentationTime)?i.presentationTime/i.timeScale:e+i.presentationTimeDelta/i.timeScale;let r=4294967295===i.eventDuration?Number.POSITIVE_INFINITY:i.eventDuration/i.timeScale;r<=.001&&(r=Number.POSITIVE_INFINITY);const n=i.payload;s.samples.push({data:n,len:n.byteLength,dts:t,pts:t,type:vy,duration:r})}}))}return s}demuxSampleAes(t,e,s){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},remux:class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(t){this.initPTS=t,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(t,e,s,i){this.audioCodec=e,this.videoCodec=s,this.generateInitSegment(function(t,e){if(!t||!e)return t;const s=e.keyId;s&&e.isCommonEncryption&&lA(t,["moov","trak"]).forEach((t=>{const e=lA(t,["mdia","minf","stbl","stsd"])[0].subarray(8);let i=lA(e,["enca"]);const r=i.length>0;r||(i=lA(e,["encv"])),i.forEach((t=>{lA(r?t.subarray(28):t.subarray(78),["sinf"]).forEach((t=>{const e=AA(t);if(e){const t=e.subarray(8,24);t.some((t=>0!==t))||(ag.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${tA(t)} -> ${tA(s)}`),e.set(s,8))}}))}))}));return t}(t,i)),this.emitInitSegment=!0}generateInitSegment(t){let{audioCodec:e,videoCodec:s}=this;if(null==t||!t.byteLength)return this.initTracks=void 0,void(this.initData=void 0);const i=this.initData=uA(t);i.audio&&(e=tS(i.audio,fg)),i.video&&(s=tS(i.video,mg));const r={};i.audio&&i.video?r.audiovideo={container:"video/mp4",codec:e+","+s,initSegment:t,id:"main"}:i.audio?r.audio={container:"audio/mp4",codec:e,initSegment:t,id:"audio"}:i.video?r.video={container:"video/mp4",codec:s,initSegment:t,id:"main"}:ag.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=r}remux(t,e,s,i,r,n){var o,a;let{initPTS:h,lastEndTime:c}=this;const l={audio:void 0,video:void 0,text:i,id3:s,initSegment:void 0};Xm(c)||(c=this.lastEndTime=r||0);const d=e.samples;if(null==d||!d.length)return l;const u={initPTS:void 0,timescale:1};let p=this.initData;if(null!=(o=p)&&o.length||(this.generateInitSegment(d),p=this.initData),null==(a=p)||!a.length)return ag.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),l;this.emitInitSegment&&(u.tracks=this.initTracks,this.emitInitSegment=!1);const f=function(t,e){let s=0,i=0,r=0;const n=lA(t,["moof","traf"]);for(let t=0;tt+e.info.duration||0),0);s=Math.max(s,t+n.earliestPresentationTime/n.timescale),i=s-e}}if(i&&Xm(i))return i}return i||r}(d,p),m=function(t,e){return lA(e,["moof","traf"]).reduce(((e,s)=>{const i=lA(s,["tfdt"])[0],r=i[0],n=lA(s,["tfhd"]).reduce(((e,s)=>{const n=oA(s,4),o=t[n];if(o){let t=oA(i,4);if(1===r){if(t===eA)return ag.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),e;t*=eA+1,t+=oA(i,8)}const s=t/(o.timescale||9e4);if(Xm(s)&&(null===e||sr}(h,g,r,f)||u.timescale!==h.timescale&&n)&&(u.initPTS=g-r,h&&1===h.timescale&&ag.warn("Adjusting initPTS by "+(u.initPTS-h.baseTime)),this.initPTS=h={baseTime:u.initPTS,timescale:1});const A=t?g-h.baseTime/h.timescale:c,y=A+f;!function(t,e,s){lA(e,["moof","traf"]).forEach((e=>{lA(e,["tfhd"]).forEach((i=>{const r=oA(i,4),n=t[r];if(!n)return;const o=n.timescale||9e4;lA(e,["tfdt"]).forEach((t=>{const e=t[0],i=s*o;if(i){let s=oA(t,4);if(0===e)s-=i,s=Math.max(s,0),cA(t,4,s);else{s*=Math.pow(2,32),s+=oA(t,8),s-=i,s=Math.max(s,0);const e=Math.floor(s/(eA+1)),r=Math.floor(s%(eA+1));cA(t,4,e),cA(t,8,r)}}}))}))}))}(p,d,h.baseTime/h.timescale),f>0?this.lastEndTime=y:(ag.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const b=!!p.audio,v=!!p.video;let S="";b&&(S+="audio"),v&&(S+="video");const w={data1:d,startPTS:A,startDTS:A,endPTS:y,endDTS:y,type:S,hasAudio:b,hasVideo:v,nb:1,dropped:0};return l.audio="audio"===w.type?w:void 0,l.video="audio"!==w.type?w:void 0,l.initSegment=u,l.id3=Xv(s,r,h,h),i.samples.length&&(l.text=Zv(i,r,h)),l}}},{demux:Bv,remux:qv},{demux:class extends ov{constructor(t,e){super(),this.observer=void 0,this.config=void 0,this.observer=t,this.config=e}resetInitSegment(t,e,s,i){super.resetInitSegment(t,e,s,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:e,duration:i,inputTimeScale:9e4,dropped:0}}static probe(t){if(!t)return!1;const e=jg(t,0);let s=(null==e?void 0:e.length)||0;if(Tv(t,s))return!1;for(let e=t.length;s0&&null!=(null==e?void 0:e.key)&&null!==e.iv&&null!=e.method&&(s=e);return s}(n,e);if(b&&"AES-128"===b.method){const t=this.getDecrypter();if(!t.isSync())return this.decryptionPromise=t.webCryptoDecrypt(n,b.key.buffer,b.iv.buffer).then((t=>{const e=this.push(t,null,s);return this.decryptionPromise=null,e})),this.decryptionPromise;{let e=t.softwareDecrypt(n,b.key.buffer,b.iv.buffer);if(s.part>-1&&(e=t.flush()),!e)return r.executeEnd=Kv(),iS(s);n=new Uint8Array(e)}}const v=this.needsProbing(c,l);if(v){const t=this.configureTransmuxer(n);if(t)return ag.warn(`[transmuxer] ${t.message}`),this.observer.emit(tg.ERROR,tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_PARSING_ERROR,fatal:!1,error:t,reason:t.message}),r.executeEnd=Kv(),iS(s)}(c||l||p||v)&&this.resetInitSegment(y,f,m,A,e),(c||p||v)&&this.resetInitialTimestamp(g),h||this.resetContiguity();const S=this.transmux(n,b,u,d,s),w=this.currentTransmuxState;return w.contiguous=!0,w.discontinuity=!1,w.trackSwitch=!1,r.executeEnd=Kv(),S}flush(t){const e=t.transmuxing;e.executeStart=Kv();const{decrypter:s,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return r.then((()=>this.flush(t)));const n=[],{timeOffset:o}=i;if(s){const e=s.flush();e&&n.push(this.push(e,null,t))}const{demuxer:a,remuxer:h}=this;if(!a||!h)return e.executeEnd=Kv(),[iS(t)];const c=a.flush(o);return rS(c)?c.then((e=>(this.flushRemux(n,e,t),n))):(this.flushRemux(n,c,t),n)}flushRemux(t,e,s){const{audioTrack:i,videoTrack:r,id3Track:n,textTrack:o}=e,{accurateTimeOffset:a,timeOffset:h}=this.currentTransmuxState;ag.log(`[transmuxer.ts]: Flushed fragment ${s.sn}${s.part>-1?" p: "+s.part:""} of level ${s.level}`);const c=this.remuxer.remux(i,r,n,o,h,a,!0,this.id);t.push({remuxResult:c,chunkMeta:s}),s.transmuxing.executeEnd=Kv()}resetInitialTimestamp(t){const{demuxer:e,remuxer:s}=this;e&&s&&(e.resetTimeStamp(t),s.resetTimeStamp(t))}resetContiguity(){const{demuxer:t,remuxer:e}=this;t&&e&&(t.resetContiguity(),e.resetNextTimestamp())}resetInitSegment(t,e,s,i,r){const{demuxer:n,remuxer:o}=this;n&&o&&(n.resetInitSegment(t,e,s,i),o.resetInitSegment(t,e,s,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(t,e,s,i,r){let n;return n=e&&"SAMPLE-AES"===e.method?this.transmuxSampleAes(t,e,s,i,r):this.transmuxUnencrypted(t,s,i,r),n}transmuxUnencrypted(t,e,s,i){const{audioTrack:r,videoTrack:n,id3Track:o,textTrack:a}=this.demuxer.demux(t,e,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,n,o,a,e,s,!1,this.id),chunkMeta:i}}transmuxSampleAes(t,e,s,i,r){return this.demuxer.demuxSampleAes(t,e,s).then((t=>({remuxResult:this.remuxer.remux(t.audioTrack,t.videoTrack,t.id3Track,t.textTrack,s,i,!1,this.id),chunkMeta:r})))}configureTransmuxer(t){const{config:e,observer:s,typeSupported:i,vendor:r}=this;let n;for(let e=0,s=eS.length;e({remuxResult:{},chunkMeta:t});function rS(t){return"then"in t&&t.then instanceof Function}class nS{constructor(t,e,s,i,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=t,this.videoCodec=e,this.initSegmentData=s,this.duration=i,this.defaultInitPts=r||null}}class oS{constructor(t,e,s,i,r,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=t,this.contiguous=e,this.accurateTimeOffset=s,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=n}}var aS={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function r(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function n(t,e,i,n,o){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new r(i,n||t,o),h=s?s+e:e;return t._events[h]?t._events[h].fn?t._events[h]=[t._events[h],a]:t._events[h].push(a):(t._events[h]=a,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),a.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,n=i.length,o=new Array(n);r{(e=e||{}).frag=this.frag,e.id=this.id,t===tg.ERROR&&(this.error=e.error),this.hls.trigger(t,e)};this.observer=new hS,this.observer.on(tg.FRAG_DECRYPTED,n),this.observer.on(tg.ERROR,n);const o=PA(r.preferManagedMediaSource)||{isTypeSupported:()=>!1},a={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&"undefined"!=typeof Worker){if(r.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{r.workerPath?(ag.log(`loading Web Worker ${r.workerPath} for "${e}"`),this.workerContext=function(t){const e=new self.URL(t,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}(r.workerPath)):(ag.log(`injecting Web Worker for "${e}"`),this.workerContext=function(){const t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(t);return{worker:new self.Worker(e),objectURL:e}}()),this.onwmsg=t=>this.onWorkerMessage(t);const{worker:t}=this.workerContext;t.addEventListener("message",this.onwmsg),t.onerror=t=>{const s=new Error(`${t.message} (${t.filename}:${t.lineno})`);r.enableWorker=!1,ag.warn(`Error in "${e}" Web Worker, fallback to inline`),this.hls.trigger(tg.ERROR,{type:eg.OTHER_ERROR,details:sg.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:s})},t.postMessage({cmd:"init",typeSupported:a,vendor:"",id:e,config:JSON.stringify(r)})}catch(t){ag.warn(`Error setting up "${e}" Web Worker, fallback to inline`,t),this.resetWorker(),this.error=null,this.transmuxer=new sS(this.observer,a,r,"",e)}return}}this.transmuxer=new sS(this.observer,a,r,"",e)}resetWorker(){if(this.workerContext){const{worker:t,objectURL:e}=this.workerContext;e&&self.URL.revokeObjectURL(e),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{const t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}const t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(t,e,s,i,r,n,o,a,h,c){var l,d;h.transmuxing.start=self.performance.now();const{transmuxer:u}=this,p=n?n.start:r.start,f=r.decryptdata,m=this.frag,g=!(m&&r.cc===m.cc),A=!(m&&h.level===m.level),y=m?h.sn-m.sn:-1,b=this.part?h.part-this.part.index:-1,v=0===y&&h.id>1&&h.id===(null==m?void 0:m.stats.chunkCount),S=!A&&(1===y||0===y&&(1===b||v&&b<=0)),w=self.performance.now();(A||y||0===r.stats.parsing.start)&&(r.stats.parsing.start=w),!n||!b&&S||(n.stats.parsing.start=w);const E=!(m&&(null==(l=r.initSegment)?void 0:l.url)===(null==(d=m.initSegment)?void 0:d.url)),I=new oS(g,S,a,A,p,E);if(!S||g||E){ag.log(`[transmuxer-interface, ${r.type}]: Starting new transmux session for sn: ${h.sn} p: ${h.part} level: ${h.level} id: ${h.id}\n discontinuity: ${g}\n trackSwitch: ${A}\n contiguous: ${S}\n accurateTimeOffset: ${a}\n timeOffset: ${p}\n initSegmentChange: ${E}`);const t=new nS(s,i,e,o,c);this.configureTransmuxer(t)}if(this.frag=r,this.part=n,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:t,decryptdata:f,chunkMeta:h,state:I},t instanceof ArrayBuffer?[t]:[]);else if(u){const e=u.push(t,f,h,I);rS(e)?(u.async=!0,e.then((t=>{this.handleTransmuxComplete(t)})).catch((t=>{this.transmuxerError(t,h,"transmuxer-interface push error")}))):(u.async=!1,this.handleTransmuxComplete(e))}}flush(t){t.transmuxing.start=self.performance.now();const{transmuxer:e}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:t});else if(e){let s=e.flush(t);rS(s)||e.async?(rS(s)||(s=Promise.resolve(s)),s.then((e=>{this.handleFlushResult(e,t)})).catch((e=>{this.transmuxerError(e,t,"transmuxer-interface flush error")}))):this.handleFlushResult(s,t)}}transmuxerError(t,e,s){this.hls&&(this.error=t,this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_PARSING_ERROR,chunkMeta:e,frag:this.frag||void 0,fatal:!1,error:t,err:t,reason:s}))}handleFlushResult(t,e){t.forEach((t=>{this.handleTransmuxComplete(t)})),this.onFlush(e)}onWorkerMessage(t){const e=t.data;if(null==e||!e.event)return void ag.warn("worker message received with no "+(e?"event name":"data"));const s=this.hls;if(this.hls)switch(e.event){case"init":{var i;const t=null==(i=this.workerContext)?void 0:i.objectURL;t&&self.URL.revokeObjectURL(t);break}case"transmuxComplete":this.handleTransmuxComplete(e.data);break;case"flush":this.onFlush(e.data);break;case"workerLog":ag[e.data.logType]&&ag[e.data.logType](e.data.message);break;default:e.data=e.data||{},e.data.frag=this.frag,e.data.id=this.id,s.trigger(e.event,e.data)}}configureTransmuxer(t){const{transmuxer:e}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:t}):e&&e.configure(t)}handleTransmuxComplete(t){t.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(t)}}function lS(t,e){if(t.length!==e.length)return!1;for(let s=0;st[s]!==e[s]))}function uS(t,e){return e.label.toLowerCase()===t.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(t.lang||"").toLowerCase())}class pS{constructor(t){this.buffered=void 0;const e=(e,s,i)=>{if((s>>>=0)>i-1)throw new DOMException(`Failed to execute '${e}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${i})`);return t[s][e]};this.buffered={get length(){return t.length},end:s=>e("end",s,t.length),start:s=>e("start",s,t.length)}}}class fS{constructor(t){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=t}append(t,e,s){const i=this.queues[e];i.push(t),1!==i.length||s||this.executeNext(e)}insertAbort(t,e){this.queues[e].unshift(t),this.executeNext(e)}appendBlocker(t){let e;const s=new Promise((t=>{e=t})),i={execute:e,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(i,t),s}executeNext(t){const e=this.queues[t];if(e.length){const s=e[0];try{s.execute()}catch(e){ag.warn(`[buffer-operation-queue]: Exception executing "${t}" SourceBuffer operation: ${e}`),s.onError(e);const i=this.buffers[t];null!=i&&i.updating||this.shiftAndExecuteNext(t)}}}shiftAndExecuteNext(t){this.queues[t].shift(),this.executeNext(t)}current(t){return this.queues[t][0]}}const mS=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/;function gS(t){const e=t.querySelectorAll("source");[].slice.call(e).forEach((e=>{t.removeChild(e)}))}const AS={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},yS=t=>String.fromCharCode(AS[t]||t),bS=15,vS=100,SS={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},wS={17:2,18:4,21:6,22:8,23:10,19:13,20:15},ES={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},IS={25:2,26:4,29:6,30:8,31:10,27:13,28:15},TS=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class kS{constructor(){this.time=null,this.verboseLevel=0}log(t,e){if(this.verboseLevel>=t){const s="function"==typeof e?e():e;ag.log(`${this.time} [${t}] ${s}`)}}}const _S=function(t){const e=[];for(let s=0;svS&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=vS)}moveCursor(t){const e=this.pos+t;if(t>1)for(let t=this.pos+1;t=144&&this.backSpace();const e=yS(t);this.pos>=vS?this.logger.log(0,(()=>"Cannot insert "+t.toString(16)+" ("+e+") at position "+this.pos+". Skipping it!")):(this.chars[this.pos].setChar(e,this.currPenState),this.moveCursor(1))}clearFromPos(t){let e;for(e=t;e"pacData = "+JSON.stringify(t)));let e=t.row-1;if(this.nrRollUpRows&&e"bkgData = "+JSON.stringify(t))),this.backSpace(),this.setPen(t),this.insertChar(32)}setRollUpRows(t){this.nrRollUpRows=t}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,(()=>this.getDisplayText()));const t=this.currRow+1-this.nrRollUpRows,e=this.rows.splice(t,1)[0];e.clear(),this.rows.splice(this.currRow,0,e),this.logger.log(2,"Rolling up")}getDisplayText(t){t=t||!1;const e=[];let s="",i=-1;for(let s=0;s0&&(s=t?"["+e.join(" | ")+"]":e.join("\n")),s}getTextAndFormat(){return this.rows}}class xS{constructor(t,e,s){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=t,this.outputFilter=e,this.mode=null,this.verbose=0,this.displayedMemory=new LS(s),this.nonDisplayedMemory=new LS(s),this.lastOutputScreen=new LS(s),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=s}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(t){this.outputFilter=t}setPAC(t){this.writeScreen.setPAC(t)}setBkgData(t){this.writeScreen.setBkgData(t)}setMode(t){t!==this.mode&&(this.mode=t,this.logger.log(2,(()=>"MODE="+t)),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=t)}insertChars(t){for(let e=0;ee+": "+this.writeScreen.getDisplayText(!0))),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0))),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(t){this.logger.log(2,"RU("+t+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(t)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){const t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(()=>"DISP: "+this.displayedMemory.getDisplayText()))}this.outputDataUpdate(!0)}ccTO(t){this.logger.log(2,"TO("+t+") - Tab Offset"),this.writeScreen.moveCursor(t)}ccMIDROW(t){const e={flash:!1};if(e.underline=t%2==1,e.italics=t>=46,e.italics)e.foreground="white";else{const s=Math.floor(t/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];e.foreground=i[s]}this.logger.log(2,"MIDROW: "+JSON.stringify(e)),this.writeScreen.setPen(e)}outputDataUpdate(t=!1){const e=this.logger.time;null!==e&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,e,this.lastOutputScreen),t&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:e):this.cueStartTime=e,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(t){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,t,this.displayedMemory),this.cueStartTime=t))}}class PS{constructor(t,e,s){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const i=this.logger=new kS;this.channels=[null,new xS(t,e,i),new xS(t+1,s,i)]}getHandler(t){return this.channels[t].getHandler()}setHandler(t,e){this.channels[t].setHandler(e)}addData(t,e){this.logger.time=t;for(let t=0;t"["+_S([e[t],e[t+1]])+"] -> ("+_S([s,i])+")"));const o=this.cmdHistory;if(s>=16&&s<=31){if(MS(s,i,o)){BS(null,null,o),this.logger.log(3,(()=>"Repeated command ("+_S([s,i])+") is dropped"));continue}BS(s,i,this.cmdHistory),r=this.parseCmd(s,i),r||(r=this.parseMidrow(s,i)),r||(r=this.parsePAC(s,i)),r||(r=this.parseBackgroundAttributes(s,i))}else BS(null,null,o);if(!r&&(n=this.parseChars(s,i),n)){const t=this.currentChannel;if(t&&t>0){this.channels[t].insertChars(n)}else this.logger.log(2,"No channel found yet. TEXT-MODE?")}r||n||this.logger.log(2,(()=>"Couldn't parse cleaned data "+_S([s,i])+" orig: "+_S([e[t],e[t+1]])))}}parseCmd(t,e){if(!((20===t||28===t||21===t||29===t)&&e>=32&&e<=47)&&!((23===t||31===t)&&e>=33&&e<=35))return!1;const s=20===t||21===t||23===t?1:2,i=this.channels[s];return 20===t||21===t||28===t||29===t?32===e?i.ccRCL():33===e?i.ccBS():34===e?i.ccAOF():35===e?i.ccAON():36===e?i.ccDER():37===e?i.ccRU(2):38===e?i.ccRU(3):39===e?i.ccRU(4):40===e?i.ccFON():41===e?i.ccRDC():42===e?i.ccTR():43===e?i.ccRTD():44===e?i.ccEDM():45===e?i.ccCR():46===e?i.ccENM():47===e&&i.ccEOC():i.ccTO(e-32),this.currentChannel=s,!0}parseMidrow(t,e){let s=0;if((17===t||25===t)&&e>=32&&e<=47){if(s=17===t?1:2,s!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const i=this.channels[s];return!!i&&(i.ccMIDROW(e),this.logger.log(3,(()=>"MIDROW ("+_S([t,e])+")")),!0)}return!1}parsePAC(t,e){let s;if(!((t>=17&&t<=23||t>=25&&t<=31)&&e>=64&&e<=127)&&!((16===t||24===t)&&e>=64&&e<=95))return!1;const i=t<=23?1:2;s=e>=64&&e<=95?1===i?SS[t]:ES[t]:1===i?wS[t]:IS[t];const r=this.channels[i];return!!r&&(r.setPAC(this.interpretPAC(s,e)),this.currentChannel=i,!0)}interpretPAC(t,e){let s;const i={color:null,italics:!1,indent:null,underline:!1,row:t};return s=e>95?e-96:e-64,i.underline=1==(1&s),s<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(s/2)]:s<=15?(i.italics=!0,i.color="white"):i.indent=4*Math.floor((s-16)/2),i}parseChars(t,e){let s,i=null,r=null;if(t>=25?(s=2,r=t-8):(s=1,r=t),r>=17&&r<=19){let t;t=17===r?e+80:18===r?e+112:e+144,this.logger.log(2,(()=>"Special char '"+yS(t)+"' in channel "+s)),i=[t]}else t>=32&&t<=127&&(i=0===e?[t]:[t,e]);return i&&this.logger.log(3,(()=>"Char codes = "+_S(i).join(","))),i}parseBackgroundAttributes(t,e){if(!((16===t||24===t)&&e>=32&&e<=47)&&!((23===t||31===t)&&e>=45&&e<=47))return!1;let s;const i={};16===t||24===t?(s=Math.floor((e-32)/2),i.background=TS[s],e%2==1&&(i.background=i.background+"_semi")):45===e?i.background="transparent":(i.foreground="black",47===e&&(i.underline=!0));const r=t<=23?1:2;return this.channels[r].setBkgData(i),!0}reset(){for(let t=0;tt)&&(this.startTime=t),this.endTime=e,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}var OS=function(){if(null!=Ig&&Ig.VTTCue)return self.VTTCue;const t=["","lr","rl"],e=["start","middle","end","left","right"];function s(t,e){if("string"!=typeof e)return!1;if(!Array.isArray(t))return!1;const s=e.toLowerCase();return!!~t.indexOf(s)&&s}function i(t){return s(e,t)}function r(t,...e){let s=1;for(;s100)throw new Error("Position must be between 0 and 100.");b=t,this.hasBeenReset=!0}})),Object.defineProperty(a,"positionAlign",r({},h,{get:function(){return v},set:function(t){const e=i(t);if(!e)throw new SyntaxError("An invalid or illegal string was specified.");v=e,this.hasBeenReset=!0}})),Object.defineProperty(a,"size",r({},h,{get:function(){return S},set:function(t){if(t<0||t>100)throw new Error("Size must be between 0 and 100.");S=t,this.hasBeenReset=!0}})),Object.defineProperty(a,"align",r({},h,{get:function(){return w},set:function(t){const e=i(t);if(!e)throw new SyntaxError("An invalid or illegal string was specified.");w=e,this.hasBeenReset=!0}})),a.displayState=void 0}return n.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},n}();class US{decode(t,e){if(!t)return"";if("string"!=typeof t)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(t))}}function jS(t){function e(t,e,s,i){return 3600*(0|t)+60*(0|e)+(0|s)+parseFloat(i||0)}const s=t.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return s?parseFloat(s[2])>59?e(s[2],s[3],0,s[4]):e(s[1],s[2],s[3],s[4]):null}class NS{constructor(){this.values=Object.create(null)}set(t,e){this.get(t)||""===e||(this.values[t]=e)}get(t,e,s){return s?this.has(t)?this.values[t]:e[s]:this.has(t)?this.values[t]:e}has(t){return t in this.values}alt(t,e,s){for(let i=0;i=0&&s<=100)return this.set(t,s),!0}return!1}}function VS(t,e,s,i){const r=i?t.split(i):[t];for(const t in r){if("string"!=typeof r[t])continue;const i=r[t].split(s);if(2!==i.length)continue;e(i[0],i[1])}}const zS=new OS(0,0,""),GS="middle"===zS.align?"middle":"center";function HS(t,e,s){const i=t;function r(){const e=jS(t);if(null===e)throw new Error("Malformed timestamp: "+i);return t=t.replace(/^[^\sa-zA-Z-]+/,""),e}function n(){t=t.replace(/^\s+/,"")}if(n(),e.startTime=r(),n(),"--\x3e"!==t.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i);t=t.slice(3),n(),e.endTime=r(),n(),function(t,e){const i=new NS;VS(t,(function(t,e){let r;switch(t){case"region":for(let r=s.length-1;r>=0;r--)if(s[r].id===e){i.set(t,s[r].region);break}break;case"vertical":i.alt(t,e,["rl","lr"]);break;case"line":r=e.split(","),i.integer(t,r[0]),i.percent(t,r[0])&&i.set("snapToLines",!1),i.alt(t,r[0],["auto"]),2===r.length&&i.alt("lineAlign",r[1],["start",GS,"end"]);break;case"position":r=e.split(","),i.percent(t,r[0]),2===r.length&&i.alt("positionAlign",r[1],["start",GS,"end","line-left","line-right","auto"]);break;case"size":i.percent(t,e);break;case"align":i.alt(t,e,["start",GS,"end","left","right"])}}),/:/,/\s/),e.region=i.get("region",null),e.vertical=i.get("vertical","");let r=i.get("line","auto");"auto"===r&&-1===zS.line&&(r=-1),e.line=r,e.lineAlign=i.get("lineAlign","start"),e.snapToLines=i.get("snapToLines",!0),e.size=i.get("size",100),e.align=i.get("align",GS);let n=i.get("position","auto");"auto"===n&&50===zS.position&&(n="start"===e.align||"left"===e.align?0:"end"===e.align||"right"===e.align?100:50),e.position=n}(t,e)}function WS(t){return t.replace(//gi,"\n")}class KS{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new US,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(t){const e=this;function s(){let t=e.buffer,s=0;for(t=WS(t);s>>0).toString()};function JS(t,e,s){return qS(t.toString())+qS(e.toString())+qS(s)}function XS(t,e,s,i,r,n,o){const a=new KS,h=Xg(new Uint8Array(t)).trim().replace(QS,"\n").split("\n"),c=[],l=e?function(t,e=1){return Hv(t,9e4,1/e)}(e.baseTime,e.timescale):0;let d,u="00:00.000",p=0,f=0,m=!0;a.oncue=function(t){const n=s[i];let o=s.ccOffset;const a=(p-l)/9e4;if(null!=n&&n.new&&(void 0!==f?o=s.ccOffset=n.start:function(t,e,s){let i=t[e],r=t[i.prevCC];if(!r||!r.new&&i.new)return t.ccOffset=t.presentationOffset=i.start,void(i.new=!1);for(;null!=(n=r)&&n.new;){var n;t.ccOffset+=i.start-r.start,i.new=!1,i=r,r=t[i.prevCC]}t.presentationOffset=s}(s,i,a)),a){if(!e)return void(d=new Error("Missing initPTS for VTT MPEGTS"));o=a-s.presentationOffset}const h=t.endTime-t.startTime,u=Jv(9e4*(t.startTime+o-f),9e4*r)/9e4;t.startTime=Math.max(u,0),t.endTime=Math.max(u+h,0);const m=t.text.trim();t.text=decodeURIComponent(encodeURIComponent(m)),t.id||(t.id=JS(t.startTime,t.endTime,m)),t.endTime>0&&c.push(t)},a.onparsingerror=function(t){d=t},a.onflush=function(){d?o(d):n(c)},h.forEach((t=>{if(m){if(YS(t,"X-TIMESTAMP-MAP=")){m=!1,t.slice(16).split(",").forEach((t=>{YS(t,"LOCAL:")?u=t.slice(6):YS(t,"MPEGTS:")&&(p=parseInt(t.slice(7)))}));try{f=function(t){let e=parseInt(t.slice(-3));const s=parseInt(t.slice(-6,-4)),i=parseInt(t.slice(-9,-7)),r=t.length>9?parseInt(t.substring(0,t.indexOf(":"))):0;if(!(Xm(e)&&Xm(s)&&Xm(i)&&Xm(r)))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${t}`);return e+=1e3*s,e+=6e4*i,e+=36e5*r,e}(u)/1e3}catch(t){d=t}return}""===t&&(m=!1)}a.parse(t+"\n")})),a.flush()}const ZS="stpp.ttml.im1t",$S=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,tw=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,ew={left:"start",center:"center",right:"end",start:"start",end:"end"};function sw(t,e,s,i){const r=lA(new Uint8Array(t),["mdat"]);if(0===r.length)return void i(new Error("Could not parse IMSC1 mdat"));const n=r.map((t=>Xg(t))),o=function(t,e,s=1,i=!1){return Hv(t,e,1/s,i)}(e.baseTime,1,e.timescale);try{n.forEach((t=>s(function(t,e){const s=new DOMParser,i=s.parseFromString(t,"text/xml").getElementsByTagName("tt")[0];if(!i)throw new Error("Invalid ttml");const r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},n=Object.keys(r).reduce(((t,e)=>(t[e]=i.getAttribute(`ttp:${e}`)||r[e],t)),{}),o="preserve"!==i.getAttribute("xml:space"),a=rw(iw(i,"styling","style")),h=rw(iw(i,"layout","region")),c=iw(i,"body","[begin]");return[].map.call(c,(t=>{const s=nw(t,o);if(!s||!t.hasAttribute("begin"))return null;const i=hw(t.getAttribute("begin"),n),r=hw(t.getAttribute("dur"),n);let c=hw(t.getAttribute("end"),n);if(null===i)throw aw(t);if(null===c){if(null===r)throw aw(t);c=i+r}const l=new OS(i-e,c-e,s);l.id=JS(l.startTime,l.endTime,l.text);const d=function(t,e,s){const i="http://www.w3.org/ns/ttml#styling";let r=null;const n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],o=null!=t&&t.hasAttribute("style")?t.getAttribute("style"):null;o&&s.hasOwnProperty(o)&&(r=s[o]);return n.reduce(((s,n)=>{const o=ow(e,i,n)||ow(t,i,n)||ow(r,i,n);return o&&(s[n]=o),s}),{})}(h[t.getAttribute("region")],a[t.getAttribute("style")],a),{textAlign:u}=d;if(u){const t=ew[u];t&&(l.lineAlign=t),l.align=u}return Jm(l,d),l})).filter((t=>null!==t))}(t,o))))}catch(t){i(t)}}function iw(t,e,s){const i=t.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(s)):[]}function rw(t){return t.reduce(((t,e)=>{const s=e.getAttribute("xml:id");return s&&(t[s]=e),t}),{})}function nw(t,e){return[].slice.call(t.childNodes).reduce(((t,s,i)=>{var r;return"br"===s.nodeName&&i?t+"\n":null!=(r=s.childNodes)&&r.length?nw(s,e):e?t+s.textContent.trim().replace(/\s+/g," "):t+s.textContent}),"")}function ow(t,e,s){return t&&t.hasAttributeNS(e,s)?t.getAttributeNS(e,s):null}function aw(t){return new Error(`Could not parse ttml timestamp ${t}`)}function hw(t,e){if(!t)return null;let s=jS(t);return null===s&&($S.test(t)?s=function(t,e){const s=$S.exec(t),i=(0|s[4])+(0|s[5])/e.subFrameRate;return 3600*(0|s[1])+60*(0|s[2])+(0|s[3])+i/e.frameRate}(t,e):tw.test(t)&&(s=function(t,e){const s=tw.exec(t),i=Number(s[1]);switch(s[2]){case"h":return 3600*i;case"m":return 60*i;case"ms":return 1e3*i;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}(t,e))),s}function cw(t){return t.characteristics&&/transcribes-spoken-dialog/gi.test(t.characteristics)&&/describes-music-and-sound/gi.test(t.characteristics)?"captions":"subtitles"}function lw(t,e){return!!t&&t.kind===cw(e)&&uS(e,t)}class dw{constructor(t){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=t,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(t){this.streamController=t}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:t}=this;t.on(tg.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),t.on(tg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(tg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(tg.BUFFER_CODECS,this.onBufferCodecs,this),t.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:t}=this;t.off(tg.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),t.off(tg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(tg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(tg.BUFFER_CODECS,this.onBufferCodecs,this),t.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(t,e){const s=this.hls.levels[e.droppedLevel];this.isLevelAllowed(s)&&this.restrictedLevels.push({bitrate:s.bitrate,height:s.height,width:s.width})}onMediaAttaching(t,e){this.media=e.media instanceof HTMLVideoElement?e.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(t,e){const s=this.hls;this.restrictedLevels=[],this.firstLevel=e.firstLevel,s.config.capLevelToPlayerSize&&e.video&&this.startCapping()}onLevelsUpdated(t,e){this.timer&&Xm(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(t,e){this.hls.config.capLevelToPlayerSize&&e.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);const t=this.hls.levels;if(t.length){const e=this.hls,s=this.getMaxLevel(t.length-1);s!==this.autoLevelCapping&&ag.log(`Setting autoLevelCapping to ${s}: ${t[s].height}p@${t[s].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),e.autoLevelCapping=s,e.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=e.autoLevelCapping}}}getMaxLevel(t){const e=this.hls.levels;if(!e.length)return-1;const s=e.filter(((e,s)=>this.isLevelAllowed(e)&&s<=t));return this.clientRect=null,dw.getMaxLevelByMediaSize(s,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const t=this.media,e={width:0,height:0};if(t){const s=t.getBoundingClientRect();e.width=s.width,e.height=s.height,e.width||e.height||(e.width=s.right-s.left||t.width||0,e.height=s.bottom-s.top||t.height||0)}return this.clientRect=e,e}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let t=1;if(!this.hls.config.ignoreDevicePixelRatio)try{t=self.devicePixelRatio}catch(t){}return t}isLevelAllowed(t){return!this.restrictedLevels.some((e=>t.bitrate===e.bitrate&&t.width===e.width&&t.height===e.height))}static getMaxLevelByMediaSize(t,e,s){if(null==t||!t.length)return-1;let i=t.length-1;const r=Math.max(e,s);for(let e=0;e=r||s.height>=r)&&(n=s,!(o=t[e+1])||n.width!==o.width||n.height!==o.height)){i=e;break}}var n,o;return i}}const uw="[eme]";class pw{constructor(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=pw.CDMCleanupPromise?[pw.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=ag.debug.bind(ag,uw),this.log=ag.log.bind(ag,uw),this.warn=ag.warn.bind(ag,uw),this.error=ag.error.bind(ag,uw),this.hls=t,this.config=t.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();const t=this.config;t.requestMediaKeySystemAccessFunc=null,t.licenseXhrSetup=t.licenseResponseCallback=void 0,t.drmSystems=t.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(tg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(tg.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(tg.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(tg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(tg.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(tg.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(t){const{drmSystems:e,widevineLicenseUrl:s}=this.config,i=e[t];if(i)return i.licenseUrl;if(t===Tg.WIDEVINE&&s)return s;throw new Error(`no license server URL configured for key-system "${t}"`)}getServerCertificateUrl(t){const{drmSystems:e}=this.config,s=e[t];if(s)return s.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${t}"]`)}attemptKeySystemAccess(t){const e=this.hls.levels,s=(t,e,s)=>!!t&&s.indexOf(t)===e,i=e.map((t=>t.audioCodec)).filter(s),r=e.map((t=>t.videoCodec)).filter(s);return i.length+r.length===0&&r.push("avc1.42e01e"),new Promise(((e,s)=>{const n=t=>{const o=t.shift();this.getMediaKeysPromise(o,i,r).then((t=>e({keySystem:o,mediaKeys:t}))).catch((e=>{t.length?n(t):s(e instanceof fw?e:new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_NO_ACCESS,error:e,fatal:!0},e.message))}))};n(t)}))}requestMediaKeySystemAccess(t,e){const{requestMediaKeySystemAccessFunc:s}=this.config;if("function"!=typeof s){let t=`Configured requestMediaKeySystemAccess is not a function ${s}`;return null===Bg&&"http:"===self.location.protocol&&(t=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(t))}return s(t,e)}getMediaKeysPromise(t,e,s){const i=function(t,e,s,i){let r;switch(t){case Tg.FAIRPLAY:r=["cenc","sinf"];break;case Tg.WIDEVINE:case Tg.PLAYREADY:r=["cenc"];break;case Tg.CLEARKEY:r=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${t}`)}return function(t,e,s,i){return[{initDataTypes:t,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map((t=>({contentType:`audio/mp4; codecs="${t}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null}))),videoCapabilities:s.map((t=>({contentType:`video/mp4; codecs="${t}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null})))}]}(r,e,s,i)}(t,e,s,this.config.drmSystemOptions),r=this.keySystemAccessPromises[t];let n=null==r?void 0:r.keySystemAccess;if(!n){this.log(`Requesting encrypted media "${t}" key-system access with config: ${JSON.stringify(i)}`),n=this.requestMediaKeySystemAccess(t,i);const e=this.keySystemAccessPromises[t]={keySystemAccess:n};return n.catch((e=>{this.log(`Failed to obtain access to key-system "${t}": ${e}`)})),n.then((s=>{this.log(`Access for key-system "${s.keySystem}" obtained`);const i=this.fetchServerCertificate(t);return this.log(`Create media-keys for "${t}"`),e.mediaKeys=s.createMediaKeys().then((e=>(this.log(`Media-keys created for "${t}"`),i.then((s=>s?this.setMediaKeysServerCertificate(e,t,s):e))))),e.mediaKeys.catch((e=>{this.error(`Failed to create media-keys for "${t}"}: ${e}`)})),e.mediaKeys}))}return n.then((()=>r.mediaKeys))}createMediaKeySessionContext({decryptdata:t,keySystem:e,mediaKeys:s}){this.log(`Creating key-system session "${e}" keyId: ${tA(t.keyId||[])}`);const i=s.createSession(),r={decryptdata:t,keySystem:e,mediaKeys:s,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(t){const e=t.decryptdata;if(e.pssh){const s=this.createMediaKeySessionContext(t),i=this.getKeyIdString(e),r="cenc";this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(s,r,e.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(t)}getKeyIdString(t){if(!t)throw new Error("Could not read keyId of undefined decryptdata");if(null===t.keyId)throw new Error("keyId is null");return tA(t.keyId)}updateKeySession(t,e){var s;const i=t.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyID ${tA((null==(s=t.decryptdata)?void 0:s.keyId)||[])}\n } (data length: ${e?e.byteLength:e})`),i.update(e)}selectKeySystemFormat(t){const e=Object.keys(t.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${t.sn} ${t.type}: ${t.level}) key formats ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)),this.keyFormatPromise}getKeyFormatPromise(t){return new Promise(((e,s)=>{const i=Pg(this.config),r=t.map(Dg).filter((t=>!!t&&-1!==i.indexOf(t)));return this.getKeySystemSelectionPromise(r).then((({keySystem:t})=>{const i=xg(t);i?e(i):s(new Error(`Unable to find format for key-system "${t}"`))})).catch(s)}))}loadKey(t){const e=t.keyInfo.decryptdata,s=this.getKeyIdString(e),i=`(keyId: ${s} format: "${e.keyFormat}" method: ${e.method} uri: ${e.uri})`;this.log(`Starting session for key ${i}`);let r=this.keyIdToKeySessionPromise[s];return r||(r=this.keyIdToKeySessionPromise[s]=this.getKeySystemForKeyPromise(e).then((({keySystem:s,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${t.frag.sn} ${t.frag.type}: ${t.frag.level} using key ${i}`),this.attemptSetMediaKeys(s,r).then((()=>{this.throwIfDestroyed();const t=this.createMediaKeySessionContext({keySystem:s,mediaKeys:r,decryptdata:e});return this.generateRequestWithPreferredKeySession(t,"cenc",e.pssh,"playlist-key")}))))),r.catch((t=>this.handleError(t)))),r}throwIfDestroyed(t="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(t){this.hls&&(this.error(t.message),t instanceof fw?this.hls.trigger(tg.ERROR,t.data):this.hls.trigger(tg.ERROR,{type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_NO_KEYS,error:t,fatal:!0}))}getKeySystemForKeyPromise(t){const e=this.getKeyIdString(t),s=this.keyIdToKeySessionPromise[e];if(!s){const e=Dg(t.keyFormat),s=e?[e]:Pg(this.config);return this.attemptKeySystemAccess(s)}return s}getKeySystemSelectionPromise(t){if(t.length||(t=Pg(this.config)),0===t.length)throw new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(t)}_onMediaEncrypted(t){const{initDataType:e,initData:s}=t;if(this.debug(`"${t.type}" event: init data type: "${e}"`),null===s)return;let i,r;if("sinf"===e&&this.config.drmSystems[Tg.FAIRPLAY]){const t=rA(new Uint8Array(s));try{const e=Sg(JSON.parse(t).sinf),s=AA(new Uint8Array(e));if(!s)return;i=s.subarray(8,24),r=Tg.FAIRPLAY}catch(t){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{const t=function(t){if(!(t instanceof ArrayBuffer)||t.byteLength<32)return null;const e={version:0,systemId:"",kids:null,data:null},s=new DataView(t),i=s.getUint32(0);if(t.byteLength!==i&&i>44)return null;if(1886614376!==s.getUint32(4))return null;if(e.version=s.getUint32(8)>>>24,e.version>1)return null;e.systemId=tA(new Uint8Array(t,12,16));const r=s.getUint32(28);if(0===e.version){if(i-32this.generateRequestWithPreferredKeySession(r,e,s,"encrypted-event-key-match")));break}}h||(h=o[n]=this.getKeySystemSelectionPromise([r]).then((({keySystem:t,mediaKeys:r})=>{var o;this.throwIfDestroyed();const a=new kA("ISO-23001-7",n,null!=(o=xg(t))?o:"");return a.pssh=new Uint8Array(s),a.keyId=i,this.attemptSetMediaKeys(t,r).then((()=>{this.throwIfDestroyed();const i=this.createMediaKeySessionContext({decryptdata:a,keySystem:t,mediaKeys:r});return this.generateRequestWithPreferredKeySession(i,e,s,"encrypted-event-no-match")}))}))),h.catch((t=>this.handleError(t)))}_onWaitingForKey(t){this.log(`"${t.type}" event`)}attemptSetMediaKeys(t,e){const s=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${t}"`);const i=Promise.all(s).then((()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(e)}));return this.setMediaKeysQueue.push(i),i.then((()=>{this.log(`Media-keys set for "${t}"`),s.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((t=>-1===s.indexOf(t)))}))}generateRequestWithPreferredKeySession(t,e,s,i){var r,n;const o=null==(r=this.config.drmSystems)||null==(n=r[t.keySystem])?void 0:n.generateRequest;if(o)try{const i=o.call(this.hls,e,s,t);if(!i)throw new Error("Invalid response from configured generateRequest filter");e=i.initDataType,s=t.decryptdata.pssh=i.initData?new Uint8Array(i.initData):null}catch(t){var a;if(this.warn(t.message),null!=(a=this.hls)&&a.config.debug)throw t}if(null===s)return this.log(`Skipping key-session request for "${i}" (no initData)`),Promise.resolve(t);const h=this.getKeyIdString(t.decryptdata);this.log(`Generating key-session request for "${i}": ${h} (init data type: ${e} length: ${s?s.byteLength:null})`);const c=new hS,l=t._onmessage=e=>{const s=t.mediaKeysSession;if(!s)return void c.emit("error",new Error("invalid state"));const{messageType:i,message:r}=e;this.log(`"${i}" message event for session "${s.sessionId}" message size: ${r.byteLength}`),"license-request"===i||"license-renewal"===i?this.renewLicense(t,r).catch((t=>{this.handleError(t),c.emit("error",t)})):"license-release"===i?t.keySystem===Tg.FAIRPLAY&&(this.updateKeySession(t,Eg("acknowledged")),this.removeSession(t)):this.warn(`unhandled media key message type "${i}"`)},d=t._onkeystatuseschange=e=>{if(!t.mediaKeysSession)return void c.emit("error",new Error("invalid state"));this.onKeyStatusChange(t);const s=t.keyStatus;c.emit("keyStatus",s),"expired"===s&&(this.warn(`${t.keySystem} expired for key ${h}`),this.renewKeySession(t))};t.mediaKeysSession.addEventListener("message",l),t.mediaKeysSession.addEventListener("keystatuseschange",d);const u=new Promise(((t,e)=>{c.on("error",e),c.on("keyStatus",(s=>{s.startsWith("usable")?t():"output-restricted"===s?e(new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===s?e(new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${s}"`)):"expired"===s?e(new Error("key expired while generating request")):this.warn(`unhandled key status change "${s}"`)}))}));return t.mediaKeysSession.generateRequest(e,s).then((()=>{var e;this.log(`Request generated for key-session "${null==(e=t.mediaKeysSession)?void 0:e.sessionId}" keyId: ${h}`)})).catch((t=>{throw new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_NO_SESSION,error:t,fatal:!1},`Error generating key-session request: ${t}`)})).then((()=>u)).catch((e=>{throw c.removeAllListeners(),this.removeSession(t),e})).then((()=>(c.removeAllListeners(),t)))}onKeyStatusChange(t){t.mediaKeysSession.keyStatuses.forEach(((e,s)=>{this.log(`key status change "${e}" for keyStatuses keyId: ${tA("buffer"in s?new Uint8Array(s.buffer,s.byteOffset,s.byteLength):new Uint8Array(s))} session keyId: ${tA(new Uint8Array(t.decryptdata.keyId||[]))} uri: ${t.decryptdata.uri}`),t.keyStatus=e}))}fetchServerCertificate(t){const e=this.config,s=new(0,e.loader)(e),i=this.getServerCertificateUrl(t);return i?(this.log(`Fetching server certificate for "${t}"`),new Promise(((r,n)=>{const o={responseType:"arraybuffer",url:i},a=e.certLoadPolicy.default,h={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(t,e,s,i)=>{r(t.data)},onError:(e,s,r,a)=>{n(new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:Qm({url:o.url,data:void 0},e)},`"${t}" certificate request failed (${i}). Status: ${e.code} (${e.text})`))},onTimeout:(e,s,r)=>{n(new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:o.url,data:void 0}},`"${t}" certificate request timed out (${i})`))},onAbort:(t,e,s)=>{n(new Error("aborted"))}};s.load(o,h,c)}))):Promise.resolve()}setMediaKeysServerCertificate(t,e,s){return new Promise(((i,r)=>{t.setServerCertificate(s).then((r=>{this.log(`setServerCertificate ${r?"success":"not supported by CDM"} (${null==s?void 0:s.byteLength}) on "${e}"`),i(t)})).catch((t=>{r(new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:t,fatal:!0},t.message))}))}))}renewLicense(t,e){return this.requestLicense(t,new Uint8Array(e)).then((e=>this.updateKeySession(t,new Uint8Array(e)).catch((t=>{throw new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:t,fatal:!0},t.message)}))))}unpackPlayReadyKeyMessage(t,e){const s=String.fromCharCode.apply(null,new Uint16Array(e.buffer));if(!s.includes("PlayReadyKeyMessage"))return t.setRequestHeader("Content-Type","text/xml; charset=utf-8"),e;const i=(new DOMParser).parseFromString(s,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let e;for(let s=0,i=r.length;s in key message");return Eg(atob(h))}setupLicenseXHR(t,e,s,i){const r=this.config.licenseXhrSetup;return r?Promise.resolve().then((()=>{if(!s.decryptdata)throw new Error("Key removed");return r.call(this.hls,t,e,s,i)})).catch((n=>{if(!s.decryptdata)throw n;return t.open("POST",e,!0),r.call(this.hls,t,e,s,i)})).then((s=>{t.readyState||t.open("POST",e,!0);return{xhr:t,licenseChallenge:s||i}})):(t.open("POST",e,!0),Promise.resolve({xhr:t,licenseChallenge:i}))}requestLicense(t,e){const s=this.config.keyLoadPolicy.default;return new Promise(((i,r)=>{const n=this.getLicenseServerUrl(t.keySystem);this.log(`Sending license request to URL: ${n}`);const o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!t.mediaKeysSession)return r(new Error("invalid state"));if(4===o.readyState)if(200===o.status){this._requestLicenseFailureCount=0;let e=o.response;this.log(`License received ${e instanceof ArrayBuffer?e.byteLength:e}`);const s=this.config.licenseResponseCallback;if(s)try{e=s.call(this.hls,o,n,t)}catch(t){this.error(t)}i(e)}else{const a=s.errorRetry,h=a?a.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>h||o.status>=400&&o.status<500)r(new fw({type:eg.KEY_SYSTEM_ERROR,details:sg.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:n,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${n}). Status: ${o.status} (${o.statusText})`));else{const s=h-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${s} attempts left`),this.requestLicense(t,e).then(i,r)}}},t.licenseXhr&&t.licenseXhr.readyState!==XMLHttpRequest.DONE&&t.licenseXhr.abort(),t.licenseXhr=o,this.setupLicenseXHR(o,n,t,e).then((({xhr:e,licenseChallenge:s})=>{t.keySystem==Tg.PLAYREADY&&(s=this.unpackPlayReadyKeyMessage(e,s)),e.send(s)}))}))}onMediaAttached(t,e){if(!this.config.emeEnabled)return;const s=e.media;this.media=s,s.addEventListener("encrypted",this.onMediaEncrypted),s.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){const t=this.media,e=this.mediaKeySessions;t&&(t.removeEventListener("encrypted",this.onMediaEncrypted),t.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},kA.clearKeyUriToKeyIdMap();const s=e.length;pw.CDMCleanupPromise=Promise.all(e.map((t=>this.removeSession(t))).concat(null==t?void 0:t.setMediaKeys(null).catch((t=>{this.log(`Could not clear media keys: ${t}`)})))).then((()=>{s&&(this.log("finished closing key sessions and clearing media keys"),e.length=0)})).catch((t=>{this.log(`Could not close sessions and clear media keys: ${t}`)}))}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(t,{sessionKeys:e}){if(e&&this.config.emeEnabled&&!this.keyFormatPromise){const t=e.reduce(((t,e)=>(-1===t.indexOf(e.keyFormat)&&t.push(e.keyFormat),t)),[]);this.log(`Selecting key-system from session-keys ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)}}removeSession(t){const{mediaKeysSession:e,licenseXhr:s}=t;if(e){this.log(`Remove licenses and keys and close session ${e.sessionId}`),t._onmessage&&(e.removeEventListener("message",t._onmessage),t._onmessage=void 0),t._onkeystatuseschange&&(e.removeEventListener("keystatuseschange",t._onkeystatuseschange),t._onkeystatuseschange=void 0),s&&s.readyState!==XMLHttpRequest.DONE&&s.abort(),t.mediaKeysSession=t.decryptdata=t.licenseXhr=void 0;const i=this.mediaKeySessions.indexOf(t);return i>-1&&this.mediaKeySessions.splice(i,1),e.remove().catch((t=>{this.log(`Could not remove session: ${t}`)})).then((()=>e.close())).catch((t=>{this.log(`Could not close session: ${t}`)}))}}}pw.CDMCleanupPromise=void 0;class fw extends Error{constructor(t,e){super(e),this.data=void 0,t.error||(t.error=new Error(e)),this.data=t,t.err=t.error}}var mw,gw,Aw;!function(t){t.MANIFEST="m",t.AUDIO="a",t.VIDEO="v",t.MUXED="av",t.INIT="i",t.CAPTION="c",t.TIMED_TEXT="tt",t.KEY="k",t.OTHER="o"}(mw||(mw={})),function(t){t.DASH="d",t.HLS="h",t.SMOOTH="s",t.OTHER="o"}(gw||(gw={})),function(t){t.OBJECT="CMCD-Object",t.REQUEST="CMCD-Request",t.SESSION="CMCD-Session",t.STATUS="CMCD-Status"}(Aw||(Aw={}));const yw={[Aw.OBJECT]:["br","d","ot","tb"],[Aw.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[Aw.SESSION]:["cid","pr","sf","sid","st","v"],[Aw.STATUS]:["bs","rtp"]};class bw{constructor(t,e){this.value=void 0,this.params=void 0,Array.isArray(t)&&(t=t.map((t=>t instanceof bw?t:new bw(t)))),this.value=t,this.params=e}}class vw{constructor(t){this.description=void 0,this.description=t}}function Sw(t,e,s,i){return new Error(`failed to ${t} "${r=e,Array.isArray(r)?JSON.stringify(r):r instanceof Map?"Map{}":r instanceof Set?"Set{}":"object"==typeof r?JSON.stringify(r):String(r)}" as ${s}`,{cause:i});var r}const ww="Bare Item";const Ew=/[\x00-\x1f\x7f]+/;function Iw(t,e,s){return Sw("serialize",t,e,s)}function Tw(t){if(!1===ArrayBuffer.isView(t))throw Iw(t,"Byte Sequence");return`:${e=t,btoa(String.fromCharCode(...e))}:`;var e}function kw(t){if(function(t){return t<-999999999999999||99999999999999912)throw Iw(t,"Decimal");const s=e.toString();return s.includes(".")?s:`${s}.0`}function Rw(t){const e=(s=t).description||s.toString().slice(7,-1);var s;if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e))throw Iw(e,"Token");return e}function Dw(t){switch(typeof t){case"number":if(!Xm(t))throw Iw(t,ww);return Number.isInteger(t)?kw(t):Cw(t);case"string":return function(t){if(Ew.test(t))throw Iw(t,"String");return`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}(t);case"symbol":return Rw(t);case"boolean":return function(t){if("boolean"!=typeof t)throw Iw(t,"Boolean");return t?"?1":"?0"}(t);case"object":if(t instanceof Date)return function(t){return`@${kw(t.getTime()/1e3)}`}(t);if(t instanceof Uint8Array)return Tw(t);if(t instanceof vw)return Rw(t);default:throw Iw(t,ww)}}function Lw(t){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(t))throw Iw(t,"Key");return t}function xw(t){return null==t?"":Object.entries(t).map((([t,e])=>!0===e?`;${Lw(t)}`:`;${Lw(t)}=${Dw(e)}`)).join("")}function Pw(t){return t instanceof bw?`${Dw(t.value)}${xw(t.params)}`:Dw(t)}function Bw(t,e={whitespace:!0}){if("object"!=typeof t)throw Iw(t,"Dict");const s=t instanceof Map?t.entries():Object.entries(t),i=null!=e&&e.whitespace?" ":"";return Array.from(s).map((([t,e])=>{e instanceof bw==!1&&(e=new bw(e));let s=Lw(t);var i;return!0===e.value?s+=xw(e.params):(s+="=",Array.isArray(e.value)?s+=`(${(i=e).value.map(Pw).join(" ")})${xw(i.params)}`:s+=Pw(e)),s})).join(`,${i}`)}const Mw=t=>Math.round(t),Fw=t=>100*Mw(t/100),Ow={br:Mw,d:Mw,bl:Fw,dl:Fw,mtp:Fw,nor:(t,e)=>(null!=e&&e.baseUrl&&(t=function(t,e){const s=new URL(t),i=new URL(e);if(s.origin!==i.origin)return t;const r=s.pathname.split("/").slice(1),n=i.pathname.split("/").slice(1,-1);for(;r[0]===n[0];)r.shift(),n.shift();for(;n.length;)n.shift(),r.unshift("..");return r.join("/")}(t,e.baseUrl)),encodeURIComponent(t)),rtp:Fw,tb:Mw};function Uw(t,e){const s={};if(null==t||"object"!=typeof t)return s;const i=Object.keys(t).sort(),r=Jm({},Ow,null==e?void 0:e.formatters),n=null==e?void 0:e.filter;return i.forEach((i=>{if(null!=n&&n(i))return;let o=t[i];const a=r[i];a&&(o=a(o,e)),"v"===i&&1===o||"pr"==i&&1===o||(t=>"number"==typeof t?Xm(t):null!=t&&""!==t&&!1!==t)(o)&&((t=>"ot"===t||"sf"===t||"st"===t)(i)&&"string"==typeof o&&(o=new vw(o)),s[i]=o)})),s}function jw(t,e={}){return t?function(t,e){return Bw(t,e)}(Uw(t,e),Jm({whitespace:!1},e)):""}function Nw(t,e,s){return Jm(t,function(t,e={}){if(!t)return{};const s=Object.entries(t),i=Object.entries(yw).concat(Object.entries((null==e?void 0:e.customHeaderMap)||{})),r=s.reduce(((t,e)=>{var s;const[r,n]=e,o=(null==(s=i.find((t=>t[1].includes(r))))?void 0:s[0])||Aw.REQUEST;return null!=t[o]||(t[o]={}),t[o][r]=n,t}),{});return Object.entries(r).reduce(((t,[s,i])=>(t[s]=jw(i,e),t)),{})}(e,s))}const Vw=/CMCD=[^&#]+/;function zw(t,e,s){const i=function(t,e={}){if(!t)return"";const s=jw(t,e);return`CMCD=${encodeURIComponent(s)}`}(e,s);if(!i)return t;if(Vw.test(t))return t.replace(Vw,i);const r=t.includes("?")?"&":"?";return`${t}${r}${i}`}function Gw(t,e,s,i){t&&Object.keys(e).forEach((r=>{const n=t.filter((t=>t.groupId===r)).map((t=>{const n=Jm({},t);return n.details=void 0,n.attrs=new lg(n.attrs),n.url=n.attrs.URI=Hw(t.url,t.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),n.groupId=n.attrs["GROUP-ID"]=e[r],n.attrs["PATHWAY-ID"]=i,n}));t.push(...n)}))}function Hw(t,e,s,i){const{HOST:r,PARAMS:n,[s]:o}=i;let a;e&&(a=null==o?void 0:o[e],a&&(t=a));const h=new self.URL(t);return r&&!a&&(h.host=r),n&&Object.keys(n).sort().forEach((t=>{t&&h.searchParams.set(t,n[t])})),h.href}const Ww=/^age:\s*[\d.]+\s*$/im;class Kw{constructor(t){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=t&&t.xhrSetup||null,this.stats=new pg,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const t=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),t&&(t.onreadystatechange=null,t.onprogress=null,4!==t.readyState&&(this.stats.aborted=!0,t.abort()))}abort(){var t;this.abortInternal(),null!=(t=this.callbacks)&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(t,e,s){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=t,this.config=e,this.callbacks=s,this.loadInternal()}loadInternal(){const{config:t,context:e}=this;if(!t||!e)return;const s=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;const r=this.xhrSetup;r?Promise.resolve().then((()=>{if(this.loader===s&&!this.stats.aborted)return r(s,e.url)})).catch((t=>{if(this.loader===s&&!this.stats.aborted)return s.open("GET",e.url,!0),r(s,e.url)})).then((()=>{this.loader!==s||this.stats.aborted||this.openAndSendXhr(s,e,t)})).catch((t=>{this.callbacks.onError({code:s.status,text:t.message},e,s,i)})):this.openAndSendXhr(s,e,t)}openAndSendXhr(t,e,s){t.readyState||t.open("GET",e.url,!0);const i=e.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:n}=s.loadPolicy;if(i)for(const e in i)t.setRequestHeader(e,i[e]);e.rangeEnd&&t.setRequestHeader("Range","bytes="+e.rangeStart+"-"+(e.rangeEnd-1)),t.onreadystatechange=this.readystatechange.bind(this),t.onprogress=this.loadprogress.bind(this),t.responseType=e.responseType,self.clearTimeout(this.requestTimeout),s.timeout=r&&Xm(r)?r:n,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),t.send()}readystatechange(){const{context:t,loader:e,stats:s}=this;if(!t||!e)return;const i=e.readyState,r=this.config;if(!s.aborted&&i>=2&&(0===s.loading.first&&(s.loading.first=Math.max(self.performance.now(),s.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start)))),4===i)){self.clearTimeout(this.requestTimeout),e.onreadystatechange=null,e.onprogress=null;const i=e.status,n="text"!==e.responseType;if(i>=200&&i<300&&(n&&e.response||null!==e.responseText)){s.loading.end=Math.max(self.performance.now(),s.loading.first);const r=n?e.response:e.responseText,o="arraybuffer"===e.responseType?r.byteLength:r.length;if(s.loaded=s.total=o,s.bwEstimate=8e3*s.total/(s.loading.end-s.loading.first),!this.callbacks)return;const a=this.callbacks.onProgress;if(a&&a(s,t,r,e),!this.callbacks)return;const h={url:e.responseURL,data:r,code:i};this.callbacks.onSuccess(h,s,t,e)}else{const n=r.loadPolicy.errorRetry;qy(n,s.retry,!1,{url:t.url,data:void 0,code:i})?this.retry(n):(ag.error(`${i} while loading ${t.url}`),this.callbacks.onError({code:i,text:e.statusText},t,e,s))}}}loadtimeout(){if(!this.config)return;const t=this.config.loadPolicy.timeoutRetry;if(qy(t,this.stats.retry,!0))this.retry(t);else{var e;ag.warn(`timeout while loading ${null==(e=this.context)?void 0:e.url}`);const t=this.callbacks;t&&(this.abortInternal(),t.onTimeout(this.stats,this.context,this.loader))}}retry(t){const{context:e,stats:s}=this;this.retryDelay=Qy(t,s.retry),s.retry++,ag.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==e?void 0:e.url}, retrying ${s.retry}/${t.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(t){const e=this.stats;e.loaded=t.loaded,t.lengthComputable&&(e.total=t.total)}getCacheAge(){let t=null;if(this.loader&&Ww.test(this.loader.getAllResponseHeaders())){const e=this.loader.getResponseHeader("age");t=e?parseFloat(e):null}return t}getResponseHeader(t){return this.loader&&new RegExp(`^${t}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(t):null}}const Qw=/(\d+)-(\d+)\/(\d+)/;class Yw{constructor(t){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=t.fetchSetup||qw,this.controller=new self.AbortController,this.stats=new pg}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var t;this.abortInternal(),null!=(t=this.callbacks)&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(t,e,s){const i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();const r=function(t,e){const s={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Jm({},t.headers))};t.rangeEnd&&s.headers.set("Range","bytes="+t.rangeStart+"-"+String(t.rangeEnd-1));return s}(t,this.controller.signal),n=s.onProgress,o="arraybuffer"===t.responseType,a=o?"byteLength":"length",{maxTimeToFirstByteMs:h,maxLoadTimeMs:c}=e.loadPolicy;this.context=t,this.config=e,this.callbacks=s,this.request=this.fetchSetup(t,r),self.clearTimeout(this.requestTimeout),e.timeout=h&&Xm(h)?h:c,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),s.onTimeout(i,t,this.response)}),e.timeout),self.fetch(this.request).then((r=>{this.response=this.loader=r;const a=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(this.requestTimeout),e.timeout=c,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),s.onTimeout(i,t,this.response)}),c-(a-i.loading.start)),!r.ok){const{status:t,statusText:e}=r;throw new Jw(e||"fetch, bad network response",t,r)}return i.loading.first=a,i.total=function(t){const e=t.get("Content-Range");if(e){const t=function(t){const e=Qw.exec(t);if(e)return parseInt(e[2])-parseInt(e[1])+1}(e);if(Xm(t))return t}const s=t.get("Content-Length");if(s)return parseInt(s)}(r.headers)||i.total,n&&Xm(e.highWaterMark)?this.loadProgressively(r,i,t,e.highWaterMark,n):o?r.arrayBuffer():"json"===t.responseType?r.json():r.text()})).then((r=>{const o=this.response;if(!o)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);const h=r[a];h&&(i.loaded=i.total=h);const c={url:o.url,data:r,code:o.status};n&&!Xm(e.highWaterMark)&&n(i,t,r,o),s.onSuccess(c,i,t,o)})).catch((e=>{if(self.clearTimeout(this.requestTimeout),i.aborted)return;const r=e&&e.code||0,n=e?e.message:null;s.onError({code:r,text:n},t,e?e.details:null,i)}))}getCacheAge(){let t=null;if(this.response){const e=this.response.headers.get("age");t=e?parseFloat(e):null}return t}getResponseHeader(t){return this.response?this.response.headers.get(t):null}loadProgressively(t,e,s,i=0,r){const n=new rv,o=t.body.getReader(),a=()=>o.read().then((o=>{if(o.done)return n.dataLength&&r(e,s,n.flush(),t),Promise.resolve(new ArrayBuffer(0));const h=o.value,c=h.length;return e.loaded+=c,c=i&&r(e,s,n.flush(),t)):r(e,s,h,t),a()})).catch((()=>Promise.reject()));return a()}}function qw(t,e){return new self.Request(t.url,e)}class Jw extends Error{constructor(t,e,s){super(t),this.code=void 0,this.details=void 0,this.code=e,this.details=s}}const Xw=/\s/,Zw={newCue(t,e,s,i){const r=[];let n,o,a,h,c;const l=self.VTTCue||self.TextTrackCue;for(let u=0;u=16?h--:h++;const i=WS(c.trim()),p=JS(e,s,i);null!=t&&null!=(d=t.cues)&&d.getCueById(p)||(o=new l(e,s,i),o.id=p,o.line=u+1,o.align="left",o.position=10+Math.min(80,10*Math.floor(8*h/32)),r.push(o))}return t&&r.length&&(r.sort(((t,e)=>"auto"===t.line||"auto"===e.line?0:t.line>8&&e.line>8?e.line-t.line:t.line-e.line)),r.forEach((e=>fy(t,e)))),r}},$w=Qm(Qm({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Kw,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class{constructor(t){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{const{fragCurrent:t,partCurrent:e,hls:s}=this,{autoLevelEnabled:i,media:r}=s;if(!t||!r)return;const n=performance.now(),o=e?e.stats:t.stats,a=e?e.duration:t.duration,h=n-o.loading.start,c=s.minAutoLevel;if(o.aborted||o.loaded&&o.loaded===o.total||t.level<=c)return this.clearTimer(),void(this._nextAutoLevel=-1);if(!i||r.paused||!r.playbackRate||!r.readyState)return;const l=s.mainForwardBufferInfo;if(null===l)return;const d=this.bwEstimator.getEstimateTTFB(),u=Math.abs(r.playbackRate);if(h<=Math.max(d,a/(2*u)*1e3))return;const p=l.len/u,f=o.loading.first?o.loading.first-o.loading.start:-1,m=o.loaded&&f>-1,g=this.getBwEstimate(),A=s.levels,y=A[t.level],b=o.total||Math.max(o.loaded,Math.round(a*y.averageBitrate/8));let v=m?h-f:h;v<1&&m&&(v=Math.min(h,8*o.loaded/g));const S=m?1e3*o.loaded/v:0,w=S?(b-o.loaded)/S:8*b/g+d/1e3;if(w<=p)return;const E=S?8*S:g;let I,T=Number.POSITIVE_INFINITY;for(I=t.level-1;I>c;I--){const t=A[I].maxBitrate;if(T=this.getTimeToLoadFrag(d/1e3,E,a*t,!A[I].details),T=w)return;if(T>10*a)return;s.nextLoadLevel=s.nextAutoLevel=I,m?this.bwEstimator.sample(h-Math.min(d,f),o.loaded):this.bwEstimator.sampleTTFB(h);const k=A[I].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>k&&this.resetEstimator(k),this.clearTimer(),ag.warn(`[abr] Fragment ${t.sn}${e?" part "+e.index:""} of level ${t.level} is loading too slowly;\n Time to underbuffer: ${p.toFixed(3)} s\n Estimated load time for current fragment: ${w.toFixed(3)} s\n Estimated load time for down switch fragment: ${T.toFixed(3)} s\n TTFB estimate: ${0|f} ms\n Current BW estimate: ${Xm(g)?0|g:"Unknown"} bps\n New BW estimate: ${0|this.getBwEstimate()} bps\n Switching to level ${I} @ ${0|k} bps`),s.trigger(tg.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:e,stats:o})},this.hls=t,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(t){t&&(ag.log(`setting initial bwe to ${t}`),this.hls.config.abrEwmaDefaultEstimate=t),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const t=this.hls.config;return new cb(t.abrEwmaSlowVoD,t.abrEwmaFastVoD,t.abrEwmaDefaultEstimate)}registerListeners(){const{hls:t}=this;t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.FRAG_LOADING,this.onFragLoading,this),t.on(tg.FRAG_LOADED,this.onFragLoaded,this),t.on(tg.FRAG_BUFFERED,this.onFragBuffered,this),t.on(tg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(tg.LEVEL_LOADED,this.onLevelLoaded,this),t.on(tg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(tg.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),t.on(tg.ERROR,this.onError,this)}unregisterListeners(){const{hls:t}=this;t&&(t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.FRAG_LOADING,this.onFragLoading,this),t.off(tg.FRAG_LOADED,this.onFragLoaded,this),t.off(tg.FRAG_BUFFERED,this.onFragBuffered,this),t.off(tg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(tg.LEVEL_LOADED,this.onLevelLoaded,this),t.off(tg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(tg.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),t.off(tg.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(t,e){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(t,e){const s=e.frag;if(!this.ignoreFragment(s)){var i;if(!s.bitrateTest)this.fragCurrent=s,this.partCurrent=null!=(i=e.part)?i:null;this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(t,e){this.clearTimer()}onError(t,e){if(!e.fatal)switch(e.details){case sg.BUFFER_ADD_CODEC_ERROR:case sg.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case sg.FRAG_LOAD_TIMEOUT:{const t=e.frag,{fragCurrent:s,partCurrent:i}=this;if(t&&s&&t.sn===s.sn&&t.level===s.level){const e=performance.now(),s=i?i.stats:t.stats,r=e-s.loading.start,n=s.loading.first?s.loading.first-s.loading.start:-1;if(s.loaded&&n>-1){const t=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(r-Math.min(t,n),s.loaded)}else this.bwEstimator.sampleTTFB(r)}break}}}getTimeToLoadFrag(t,e,s,i){return t+s/e+(i?this.lastLevelLoadSec:0)}onLevelLoaded(t,e){const s=this.hls.config,{loading:i}=e.stats,r=i.end-i.start;Xm(r)&&(this.lastLevelLoadSec=r/1e3),e.details.live?this.bwEstimator.update(s.abrEwmaSlowLive,s.abrEwmaFastLive):this.bwEstimator.update(s.abrEwmaSlowVoD,s.abrEwmaFastVoD)}onFragLoaded(t,{frag:e,part:s}){const i=s?s.stats:e.stats;if(e.type===ay&&this.bwEstimator.sampleTTFB(i.loading.first-i.loading.start),!this.ignoreFragment(e)){if(this.clearTimer(),e.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const t=s?s.duration:e.duration,r=this.hls.levels[e.level],n=(r.loaded?r.loaded.bytes:0)+i.loaded,o=(r.loaded?r.loaded.duration:0)+t;r.loaded={bytes:n,duration:o},r.realBitrate=Math.round(8*n/o)}if(e.bitrateTest){const t={stats:i,frag:e,part:s,id:e.type};this.onFragBuffered(tg.FRAG_BUFFERED,t),e.bitrateTest=!1}else this.lastLoadedFragLevel=e.level}}onFragBuffered(t,e){const{frag:s,part:i}=e,r=null!=i&&i.stats.loaded?i.stats:s.stats;if(r.aborted)return;if(this.ignoreFragment(s))return;const n=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(n,r.loaded),r.bwEstimate=this.getBwEstimate(),s.bitrateTest?this.bitrateTestDelay=n/1e3:this.bitrateTestDelay=0}ignoreFragment(t){return t.type!==ay||"initSegment"===t.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:t,minAutoLevel:e}=this.hls,s=this.getBwEstimate(),i=this.hls.config.maxStarvationDelay,r=this.findBestLevel(s,e,t,0,i,1,1);if(r>-1)return r;const n=this.hls.firstLevel,o=Math.min(Math.max(n,e),t);return ag.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${n} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const t=this.forcedAutoLevel,e=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(!(-1===t||e&&s&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return t;const i=e&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==t){const e=this.hls.levels;if(e.length>Math.max(t,i)&&e[t].loadError<=e[i].loadError)return t}return this._nextAutoLevel=i,this.nextAutoLevelKey=this.getAutoLevelKey(),i}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:t,partCurrent:e,hls:s}=this,{maxAutoLevel:i,config:r,minAutoLevel:n}=s,o=e?e.duration:t?t.duration:0,a=this.getBwEstimate(),h=this.getStarvationDelay();let c=r.abrBandWidthFactor,l=r.abrBandWidthUpFactor;if(h){const t=this.findBestLevel(a,n,i,h,0,c,l);if(t>=0)return t}let d=o?Math.min(o,r.maxStarvationDelay):r.maxStarvationDelay;if(!h){const t=this.bitrateTestDelay;if(t){d=(o?Math.min(o,r.maxLoadingDelay):r.maxLoadingDelay)-t,ag.info(`[abr] bitrate test took ${Math.round(1e3*t)}ms, set first fragment max fetchDuration to ${Math.round(1e3*d)} ms`),c=l=1}}const u=this.findBestLevel(a,n,i,h,d,c,l);if(ag.info(`[abr] ${h?"rebuffering expected":"buffer is empty"}, optimal quality level ${u}`),u>-1)return u;const p=s.levels[n],f=s.levels[s.loadLevel];return(null==p?void 0:p.bitrate)<(null==f?void 0:f.bitrate)?n:s.loadLevel}getStarvationDelay(){const t=this.hls,e=t.media;if(!e)return 1/0;const s=e&&0!==e.playbackRate?Math.abs(e.playbackRate):1,i=t.mainForwardBufferInfo;return(i?i.len:0)/s}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(t,e,s,i,r,n,o){var a;const h=i+r,c=this.lastLoadedFragLevel,l=-1===c?this.hls.firstLevel:c,{fragCurrent:d,partCurrent:u}=this,{levels:p,allAudioTracks:f,loadLevel:m,config:g}=this.hls;if(1===p.length)return 0;const A=p[l],y=!(null==A||null==(a=A.details)||!a.live),b=-1===m||-1===c;let v,S="SDR",w=(null==A?void 0:A.frameRate)||0;const{audioPreference:E,videoPreference:I}=g,T=this.audioTracksByGroup||(this.audioTracksByGroup=function(t){return t.reduce(((t,e)=>{let s=t.groups[e.groupId];s||(s=t.groups[e.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),s.tracks.push(e);const i=e.channels||"2";return s.channels[i]=(s.channels[i]||0)+1,s.hasDefault=s.hasDefault||e.default,s.hasAutoSelect=s.hasAutoSelect||e.autoselect,s.hasDefault&&(t.hasDefaultAudio=!0),s.hasAutoSelect&&(t.hasAutoSelectAudio=!0),t}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}(f));if(b){if(-1!==this.firstSelection)return this.firstSelection;const i=this.codecTiers||(this.codecTiers=function(t,e,s,i){return t.slice(s,i+1).reduce(((t,s)=>{if(!s.codecSet)return t;const i=s.audioGroups;let r=t[s.codecSet];r||(t[s.codecSet]=r={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!i,fragmentError:0}),r.minBitrate=Math.min(r.minBitrate,s.bitrate);const n=Math.min(s.height,s.width);return r.minHeight=Math.min(r.minHeight,n),r.minFramerate=Math.min(r.minFramerate,s.frameRate),r.maxScore=Math.max(r.maxScore,s.score),r.fragmentError+=s.fragmentError,r.videoRanges[s.videoRange]=(r.videoRanges[s.videoRange]||0)+1,i&&i.forEach((t=>{if(!t)return;const s=e.groups[t];s&&(r.hasDefaultAudio=r.hasDefaultAudio||e.hasDefaultAudio?s.hasDefault:s.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(s.channels).forEach((t=>{r.channels[t]=(r.channels[t]||0)+s.channels[t]})))})),t}),{})}(p,T,e,s)),r=function(t,e,s,i,r){const n=Object.keys(t),o=null==i?void 0:i.channels,a=null==i?void 0:i.audioCodec,h=o&&2===parseInt(o);let c=!0,l=!1,d=1/0,u=1/0,p=1/0,f=0,m=[];const{preferHDR:g,allowedVideoRanges:A}=fb(e,r);for(let e=n.length;e--;){const s=t[n[e]];c=s.channels[2]>0,d=Math.min(d,s.minHeight),u=Math.min(u,s.minFramerate),p=Math.min(p,s.minBitrate);const i=A.filter((t=>s.videoRanges[t]>0));i.length>0&&(l=!0,m=i)}d=Xm(d)?d:0,u=Xm(u)?u:0;const y=Math.max(1080,d),b=Math.max(30,u);p=Xm(p)?p:s,s=Math.max(p,s),l||(e=void 0,m=[]);const v=n.reduce(((e,i)=>{const r=t[i];if(i===e)return e;if(r.minBitrate>s)return mb(i,`min bitrate of ${r.minBitrate} > current estimate of ${s}`),e;if(!r.hasDefaultAudio)return mb(i,"no renditions with default or auto-select sound found"),e;if(a&&i.indexOf(a.substring(0,4))%5!=0)return mb(i,`audio codec preference "${a}" not found`),e;if(o&&!h){if(!r.channels[o])return mb(i,`no renditions with ${o} channel sound found (channels options: ${Object.keys(r.channels)})`),e}else if((!a||h)&&c&&0===r.channels[2])return mb(i,"no renditions with stereo sound found"),e;return r.minHeight>y?(mb(i,`min resolution of ${r.minHeight} > maximum of ${y}`),e):r.minFramerate>b?(mb(i,`min framerate of ${r.minFramerate} > maximum of ${b}`),e):m.some((t=>r.videoRanges[t]>0))?r.maxScore=jA(e)||r.fragmentError>t[e].fragmentError)?e:(f=r.maxScore,i):(mb(i,`no variants with VIDEO-RANGE of ${JSON.stringify(m)} found`),e)}),void 0);return{codecSet:v,videoRanges:m,preferHDR:g,minFramerate:u,minBitrate:p}}(i,S,t,E,I),{codecSet:n,videoRanges:o,minFramerate:a,minBitrate:h,preferHDR:c}=r;v=n,S=c?o[o.length-1]:o[0],w=a,t=Math.max(t,h),ag.log(`[abr] picked start tier ${JSON.stringify(r)}`)}else v=null==A?void 0:A.codecSet,S=null==A?void 0:A.videoRange;const k=u?u.duration:d?d.duration:0,_=this.bwEstimator.getEstimateTTFB()/1e3,C=[];for(let a=s;a>=e;a--){var R;const e=p[a],d=a>l;if(!e)continue;if(g.useMediaCapabilities&&!e.supportedResult&&!e.supportedPromise){const s=navigator.mediaCapabilities;"function"==typeof(null==s?void 0:s.decodingInfo)&&ub(e,T,S,w,t,E)?(e.supportedPromise=pb(e,T,s),e.supportedPromise.then((t=>{if(!this.hls)return;e.supportedResult=t;const s=this.hls.levels,i=s.indexOf(e);t.error?ag.warn(`[abr] MediaCapabilities decodingInfo error: "${t.error}" for level ${i} ${JSON.stringify(t)}`):t.supported||(ag.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${i} ${JSON.stringify(t)}`),i>-1&&s.length>1&&(ag.log(`[abr] Removing unsupported level ${i}`),this.hls.removeLevel(i)))}))):e.supportedResult=lb}if(v&&e.codecSet!==v||S&&e.videoRange!==S||d&&w>e.frameRate||!d&&w>0&&w=2*k&&0===r?p[a].averageBitrate:p[a].maxBitrate,x=this.getTimeToLoadFrag(_,D,L*I,void 0===f);if(D>=L&&(a===c||0===e.loadError&&0===e.fragmentError)&&(x<=_||!Xm(x)||y&&!this.bitrateTestDelay||x${a} adjustedbw(${Math.round(D)})-bitrate=${Math.round(D-L)} ttfb:${_.toFixed(1)} avgDuration:${I.toFixed(1)} maxFetchDuration:${h.toFixed(1)} fetchDuration:${x.toFixed(1)} firstSelection:${b} codecSet:${v} videoRange:${S} hls.loadLevel:${m}`)),b&&(this.firstSelection=a),a}}return-1}set nextAutoLevel(t){const{maxAutoLevel:e,minAutoLevel:s}=this.hls,i=Math.min(Math.max(t,s),e);this._nextAutoLevel!==i&&(this.nextAutoLevelKey="",this._nextAutoLevel=i)}},bufferController:class{constructor(t){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=t=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=t=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{const{media:t,mediaSource:e}=this;this.log("Media source opened"),t&&(t.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(tg.MEDIA_ATTACHED,{media:t,mediaSource:e})),e&&e.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:t,_objectUrl:e}=this;t!==e&&ag.error(`Media element src was set while attaching MediaSource (${e} > ${t})`)},this.hls=t;const e="[buffer-controller]";var s;this.appendSource=(s=PA(t.config.preferManagedMediaSource),"undefined"!=typeof self&&s===self.ManagedMediaSource),this.log=ag.log.bind(ag,e),this.warn=ag.warn.bind(ag,e),this.error=ag.error.bind(ag,e),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){const{hls:t}=this;t.on(tg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(tg.BUFFER_RESET,this.onBufferReset,this),t.on(tg.BUFFER_APPENDING,this.onBufferAppending,this),t.on(tg.BUFFER_CODECS,this.onBufferCodecs,this),t.on(tg.BUFFER_EOS,this.onBufferEos,this),t.on(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(tg.LEVEL_UPDATED,this.onLevelUpdated,this),t.on(tg.FRAG_PARSED,this.onFragParsed,this),t.on(tg.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){const{hls:t}=this;t.off(tg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(tg.BUFFER_RESET,this.onBufferReset,this),t.off(tg.BUFFER_APPENDING,this.onBufferAppending,this),t.off(tg.BUFFER_CODECS,this.onBufferCodecs,this),t.off(tg.BUFFER_EOS,this.onBufferEos,this),t.off(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(tg.LEVEL_UPDATED,this.onLevelUpdated,this),t.off(tg.FRAG_PARSED,this.onFragParsed,this),t.off(tg.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new fS(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(t,e){let s=2;(e.audio&&!e.video||!e.altAudio)&&(s=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=s,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(t,e){const s=this.media=e.media,i=PA(this.appendSource);if(s&&i){var r;const t=this.mediaSource=new i;this.log(`created media source: ${null==(r=t.constructor)?void 0:r.name}`),t.addEventListener("sourceopen",this._onMediaSourceOpen),t.addEventListener("sourceended",this._onMediaSourceEnded),t.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.addEventListener("startstreaming",this._onStartStreaming),t.addEventListener("endstreaming",this._onEndStreaming));const e=this._objectUrl=self.URL.createObjectURL(t);if(this.appendSource)try{s.removeAttribute("src");const i=self.ManagedMediaSource;s.disableRemotePlayback=s.disableRemotePlayback||i&&t instanceof i,gS(s),function(t,e){const s=self.document.createElement("source");s.type="video/mp4",s.src=e,t.appendChild(s)}(s,e),s.load()}catch(t){s.src=e}else s.src=e;s.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){const{media:t,mediaSource:e,_objectUrl:s}=this;if(e){if(this.log("media source detaching"),"open"===e.readyState)try{e.endOfStream()}catch(t){this.warn(`onMediaDetaching: ${t.message} while calling endOfStream`)}this.onBufferReset(),e.removeEventListener("sourceopen",this._onMediaSourceOpen),e.removeEventListener("sourceended",this._onMediaSourceEnded),e.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.removeEventListener("startstreaming",this._onStartStreaming),e.removeEventListener("endstreaming",this._onEndStreaming)),t&&(t.removeEventListener("emptied",this._onMediaEmptied),s&&self.URL.revokeObjectURL(s),this.mediaSrc===s?(t.removeAttribute("src"),this.appendSource&&gS(t),t.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(tg.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach((t=>{this.resetBuffer(t)})),this._initSourceBuffer()}resetBuffer(t){const e=this.sourceBuffer[t];try{var s;if(e)this.removeBufferListeners(t),this.sourceBuffer[t]=void 0,null!=(s=this.mediaSource)&&s.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(e)}catch(e){this.warn(`onBufferReset ${t}`,e)}}onBufferCodecs(t,e){const s=this.getSourceBufferTypes().length,i=Object.keys(e);if(i.forEach((t=>{if(s){const s=this.tracks[t];if(s&&"function"==typeof s.buffer.changeType){var i;const{id:r,codec:n,levelCodec:o,container:a,metadata:h}=e[t],c=GA(s.codec,s.levelCodec),l=null==c?void 0:c.replace(mS,"$1");let d=GA(n,o);const u=null==(i=d)?void 0:i.replace(mS,"$1");if(d&&l!==u){"audio"===t.slice(0,5)&&(d=zA(d,this.appendSource));const e=`${a};codecs=${d}`;this.appendChangeType(t,e),this.log(`switching codec ${c} to ${d}`),this.tracks[t]={buffer:s.buffer,codec:n,container:a,levelCodec:o,metadata:h,id:r}}}}else this.pendingTracks[t]=e[t]})),s)return;const r=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==r&&(this.log(`${r} bufferCodec event(s) expected ${i.join(",")}`),this.bufferCodecEventsExpected=r),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}appendChangeType(t,e){const{operationQueue:s}=this,i={execute:()=>{const i=this.sourceBuffer[t];i&&(this.log(`changing ${t} sourceBuffer type to ${e}`),i.changeType(e)),s.shiftAndExecuteNext(t)},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn(`Failed to change ${t} SourceBuffer type`,e)}};s.append(i,t,!!this.pendingTracks[t])}onBufferAppending(t,e){const{hls:s,operationQueue:i,tracks:r}=this,{data:n,type:o,frag:a,part:h,chunkMeta:c}=e,l=c.buffering[o],d=self.performance.now();l.start=d;const u=a.stats.buffering,p=h?h.stats.buffering:null;0===u.start&&(u.start=d),p&&0===p.start&&(p.start=d);const f=r.audio;let m=!1;"audio"===o&&"audio/mpeg"===(null==f?void 0:f.container)&&(m=!this.lastMpegAudioChunk||1===c.id||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);const g=a.start,A={execute:()=>{if(l.executeStart=self.performance.now(),m){const t=this.sourceBuffer[o];if(t){const e=g-t.timestampOffset;Math.abs(e)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${g} (delta: ${e}) sn: ${a.sn})`),t.timestampOffset=g)}}this.appendExecutor(n,o)},onStart:()=>{},onComplete:()=>{const t=self.performance.now();l.executeEnd=l.end=t,0===u.first&&(u.first=t),p&&0===p.first&&(p.first=t);const{sourceBuffer:e}=this,s={};for(const t in e)s[t]=Cb.getBuffered(e[t]);this.appendErrors[o]=0,"audio"===o||"video"===o?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(tg.BUFFER_APPENDED,{type:o,frag:a,part:h,chunkMeta:c,parent:a.type,timeRanges:s})},onError:t=>{const e={type:eg.MEDIA_ERROR,parent:a.type,details:sg.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:a,part:h,chunkMeta:c,error:t,err:t,fatal:!1};if(t.code===DOMException.QUOTA_EXCEEDED_ERR)e.details=sg.BUFFER_FULL_ERROR;else{const t=++this.appendErrors[o];e.details=sg.BUFFER_APPEND_ERROR,this.warn(`Failed ${t}/${s.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),t>=s.config.appendErrorMaxRetry&&(e.fatal=!0)}s.trigger(tg.ERROR,e)}};i.append(A,o,!!this.pendingTracks[o])}onBufferFlushing(t,e){const{operationQueue:s}=this,i=t=>({execute:this.removeExecutor.bind(this,t,e.startOffset,e.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(tg.BUFFER_FLUSHED,{type:t})},onError:e=>{this.warn(`Failed to remove from ${t} SourceBuffer`,e)}});e.type?s.append(i(e.type),e.type):this.getSourceBufferTypes().forEach((t=>{s.append(i(t),t)}))}onFragParsed(t,e){const{frag:s,part:i}=e,r=[],n=i?i.elementaryStreams:s.elementaryStreams;n[gg]?r.push("audiovideo"):(n[fg]&&r.push("audio"),n[mg]&&r.push("video"));0===r.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${s.type} level: ${s.level} sn: ${s.sn}`),this.blockBuffers((()=>{const t=self.performance.now();s.stats.buffering.end=t,i&&(i.stats.buffering.end=t);const e=i?i.stats:s.stats;this.hls.trigger(tg.FRAG_BUFFERED,{frag:s,part:i,stats:e,id:s.type})}),r)}onFragChanged(t,e){this.trimBuffers()}onBufferEos(t,e){this.getSourceBufferTypes().reduce(((t,s)=>{const i=this.sourceBuffer[s];return!i||e.type&&e.type!==s||(i.ending=!0,i.ended||(i.ended=!0,this.log(`${s} sourceBuffer now EOS`))),t&&!(i&&!i.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((()=>{this.getSourceBufferTypes().forEach((t=>{const e=this.sourceBuffer[t];e&&(e.ending=!1)}));const{mediaSource:t}=this;t&&"open"===t.readyState?(this.log("Calling mediaSource.endOfStream()"),t.endOfStream()):t&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${t.readyState}`)})))}onLevelUpdated(t,{details:e}){e.fragments.length&&(this.details=e,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){const{hls:t,details:e,media:s}=this;if(!s||null===e)return;if(!this.getSourceBufferTypes().length)return;const i=t.config,r=s.currentTime,n=e.levelTargetDuration,o=e.live&&null!==i.liveBackBufferLength?i.liveBackBufferLength:i.backBufferLength;if(Xm(o)&&o>0){const t=Math.max(o,n),e=Math.floor(r/n)*n-t;this.flushBackBuffer(r,n,e)}if(Xm(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){const t=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),e=Math.max(t,n),s=Math.floor(r/n)*n+e;this.flushFrontBuffer(r,n,s)}}flushBackBuffer(t,e,s){const{details:i,sourceBuffer:r}=this;this.getSourceBufferTypes().forEach((n=>{const o=r[n];if(o){const r=Cb.getBuffered(o);if(r.length>0&&s>r.start(0)){if(this.hls.trigger(tg.BACK_BUFFER_REACHED,{bufferEnd:s}),null!=i&&i.live)this.hls.trigger(tg.LIVE_BACK_BUFFER_REACHED,{bufferEnd:s});else if(o.ended&&r.end(r.length-1)-t<2*e)return void this.log(`Cannot flush ${n} back buffer while SourceBuffer is in ended state`);this.hls.trigger(tg.BUFFER_FLUSHING,{startOffset:0,endOffset:s,type:n})}}}))}flushFrontBuffer(t,e,s){const{sourceBuffer:i}=this;this.getSourceBufferTypes().forEach((r=>{const n=i[r];if(n){const i=Cb.getBuffered(n),o=i.length;if(o<2)return;const a=i.start(o-1),h=i.end(o-1);if(s>a||t>=a&&t<=h)return;if(n.ended&&t-h<2*e)return void this.log(`Cannot flush ${r} front buffer while SourceBuffer is in ended state`);this.hls.trigger(tg.BUFFER_FLUSHING,{startOffset:a,endOffset:1/0,type:r})}}))}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||"open"!==this.mediaSource.readyState)return;const{details:t,hls:e,media:s,mediaSource:i}=this,r=t.fragments[0].start+t.totalduration,n=s.duration,o=Xm(i.duration)?i.duration:0;t.live&&e.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(t)):(r>o&&r>n||!Xm(n))&&(this.log(`Updating Media Source duration to ${r.toFixed(3)}`),i.duration=r)}updateSeekableRange(t){const e=this.mediaSource,s=t.fragments;if(s.length&&t.live&&null!=e&&e.setLiveSeekableRange){const i=Math.max(0,s[0].start),r=Math.max(i,i+t.totalduration);this.log(`Media Source duration is set to ${e.duration}. Setting seekable range to ${i}-${r}.`),e.setLiveSeekableRange(i,r)}}checkPendingTracks(){const{bufferCodecEventsExpected:t,operationQueue:e,pendingTracks:s}=this,i=Object.keys(s).length;if(i&&(!t||2===i||"audiovideo"in s)){this.createSourceBuffers(s),this.pendingTracks={};const t=this.getSourceBufferTypes();if(t.length)this.hls.trigger(tg.BUFFER_CREATED,{tracks:this.tracks}),t.forEach((t=>{e.executeNext(t)}));else{const t=new Error("could not create source buffer for media codec(s)");this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:t,reason:t.message})}}}createSourceBuffers(t){const{sourceBuffer:e,mediaSource:s}=this;if(!s)throw Error("createSourceBuffers called when mediaSource was null");for(const r in t)if(!e[r]){var i;const n=t[r];if(!n)throw Error(`source buffer exists for track ${r}, however track does not`);let o=-1===(null==(i=n.levelCodec)?void 0:i.indexOf(","))?n.levelCodec:n.codec;o&&"audio"===r.slice(0,5)&&(o=zA(o,this.appendSource));const a=`${n.container};codecs=${o}`;this.log(`creating sourceBuffer(${a})`);try{const t=e[r]=s.addSourceBuffer(a),i=r;this.addBufferListener(i,"updatestart",this._onSBUpdateStart),this.addBufferListener(i,"updateend",this._onSBUpdateEnd),this.addBufferListener(i,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(i,"bufferedchange",((t,e)=>{const s=e.removedRanges;null!=s&&s.length&&this.hls.trigger(tg.BUFFER_FLUSHED,{type:r})})),this.tracks[r]={buffer:t,codec:o,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(t){this.error(`error while trying to add sourceBuffer: ${t.message}`),this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:t,sourceBufferName:r,mimeType:a})}}}get mediaSrc(){var t;const e=(null==(t=this.media)?void 0:t.firstChild)||this.media;return null==e?void 0:e.src}_onSBUpdateStart(t){const{operationQueue:e}=this;e.current(t).onStart()}_onSBUpdateEnd(t){var e;if("closed"===(null==(e=this.mediaSource)?void 0:e.readyState))return void this.resetBuffer(t);const{operationQueue:s}=this;s.current(t).onComplete(),s.shiftAndExecuteNext(t)}_onSBUpdateError(t,e){var s;const i=new Error(`${t} SourceBuffer error. MediaSource readyState: ${null==(s=this.mediaSource)?void 0:s.readyState}`);this.error(`${i}`,e),this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.BUFFER_APPENDING_ERROR,sourceBufferName:t,error:i,fatal:!1});const r=this.operationQueue.current(t);r&&r.onError(i)}removeExecutor(t,e,s){const{media:i,mediaSource:r,operationQueue:n,sourceBuffer:o}=this,a=o[t];if(!i||!r||!a)return this.warn(`Attempting to remove from the ${t} SourceBuffer, but it does not exist`),void n.shiftAndExecuteNext(t);const h=Xm(i.duration)?i.duration:1/0,c=Xm(r.duration)?r.duration:1/0,l=Math.max(0,e),d=Math.min(s,h,c);d>l&&(!a.ending||a.ended)?(a.ended=!1,this.log(`Removing [${l},${d}] from the ${t} SourceBuffer`),a.remove(l,d)):n.shiftAndExecuteNext(t)}appendExecutor(t,e){const s=this.sourceBuffer[e];if(s)s.ended=!1,s.appendBuffer(t);else if(!this.pendingTracks[e])throw new Error(`Attempting to append to the ${e} SourceBuffer, but it does not exist`)}blockBuffers(t,e=this.getSourceBufferTypes()){if(!e.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(t);const{operationQueue:s}=this,i=e.map((t=>s.appendBlocker(t)));Promise.all(i).then((()=>{t(),e.forEach((t=>{const e=this.sourceBuffer[t];null!=e&&e.updating||s.shiftAndExecuteNext(t)}))}))}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(t,e,s){const i=this.sourceBuffer[t];if(!i)return;const r=s.bind(this,t);this.listeners[t].push({event:e,listener:r}),i.addEventListener(e,r)}removeBufferListeners(t){const e=this.sourceBuffer[t];e&&this.listeners[t].forEach((t=>{e.removeEventListener(t.event,t.listener)}))}},capLevelController:dw,errorController:class{constructor(t){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=t,this.log=ag.log.bind(ag,"[info]:"),this.warn=ag.warn.bind(ag,"[warning]:"),this.error=ag.error.bind(ag,"[error]:"),this.registerListeners()}registerListeners(){const t=this.hls;t.on(tg.ERROR,this.onError,this),t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const t=this.hls;t&&(t.off(tg.ERROR,this.onError,this),t.off(tg.ERROR,this.onErrorOut,this),t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(t){}stopLoad(){this.playlistError=0}getVariantLevelIndex(t){return(null==t?void 0:t.type)===ay?t.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(t,e){var s,i;if(e.fatal)return;const r=this.hls,n=e.context;switch(e.details){case sg.FRAG_LOAD_ERROR:case sg.FRAG_LOAD_TIMEOUT:case sg.KEY_LOAD_ERROR:case sg.KEY_LOAD_TIMEOUT:return void(e.errorAction=this.getFragRetryOrSwitchAction(e));case sg.FRAG_PARSING_ERROR:if(null!=(s=e.frag)&&s.gap)return void(e.errorAction={action:tb,flags:rb});case sg.FRAG_GAP:case sg.FRAG_DECRYPT_ERROR:return e.errorAction=this.getFragRetryOrSwitchAction(e),void(e.errorAction.action=eb);case sg.LEVEL_EMPTY_ERROR:case sg.LEVEL_PARSING_ERROR:{var o,a;const t=e.parent===ay?e.level:r.loadLevel;e.details===sg.LEVEL_EMPTY_ERROR&&null!=(o=e.context)&&null!=(a=o.levelDetails)&&a.live?e.errorAction=this.getPlaylistRetryOrSwitchAction(e,t):(e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t))}return;case sg.LEVEL_LOAD_ERROR:case sg.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==n?void 0:n.level)&&(e.errorAction=this.getPlaylistRetryOrSwitchAction(e,n.level)));case sg.AUDIO_TRACK_LOAD_ERROR:case sg.AUDIO_TRACK_LOAD_TIMEOUT:case sg.SUBTITLE_LOAD_ERROR:case sg.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){const t=r.levels[r.loadLevel];if(t&&(n.type===ny&&t.hasAudioGroup(n.groupId)||n.type===oy&&t.hasSubtitleGroup(n.groupId)))return e.errorAction=this.getPlaylistRetryOrSwitchAction(e,r.loadLevel),e.errorAction.action=eb,void(e.errorAction.flags=nb)}return;case sg.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const t=r.levels[r.loadLevel],s=null==t?void 0:t.attrs["HDCP-LEVEL"];s?e.errorAction={action:eb,flags:ob,hdcpLevel:s}:this.keySystemError(e)}return;case sg.BUFFER_ADD_CODEC_ERROR:case sg.REMUX_ALLOC_ERROR:case sg.BUFFER_APPEND_ERROR:return void(e.errorAction=this.getLevelSwitchAction(e,null!=(i=e.level)?i:r.loadLevel));case sg.INTERNAL_EXCEPTION:case sg.BUFFER_APPENDING_ERROR:case sg.BUFFER_FULL_ERROR:case sg.LEVEL_SWITCH_ERROR:case sg.BUFFER_STALLED_ERROR:case sg.BUFFER_SEEK_OVER_HOLE:case sg.BUFFER_NUDGE_ON_STALL:return void(e.errorAction={action:tb,flags:rb})}e.type===eg.KEY_SYSTEM_ERROR&&this.keySystemError(e)}keySystemError(t){const e=this.getVariantLevelIndex(t.frag);t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e)}getPlaylistRetryOrSwitchAction(t,e){const s=Ky(this.hls.config.playlistLoadPolicy,t),i=this.playlistError++;if(qy(s,i,Wy(t),t.response))return{action:ib,flags:rb,retryConfig:s,retryCount:i};const r=this.getLevelSwitchAction(t,e);return s&&(r.retryConfig=s,r.retryCount=i),r}getFragRetryOrSwitchAction(t){const e=this.hls,s=this.getVariantLevelIndex(t.frag),i=e.levels[s],{fragLoadPolicy:r,keyLoadPolicy:n}=e.config,o=Ky(t.details.startsWith("key")?n:r,t),a=e.levels.reduce(((t,e)=>t+e.fragmentError),0);if(i){t.details!==sg.FRAG_GAP&&i.fragmentError++;if(qy(o,a,Wy(t),t.response))return{action:ib,flags:rb,retryConfig:o,retryCount:a}}const h=this.getLevelSwitchAction(t,s);return o&&(h.retryConfig=o,h.retryCount=a),h}getLevelSwitchAction(t,e){const s=this.hls;null==e&&(e=s.loadLevel);const i=this.hls.levels[e];if(i){var r,n;const e=t.details;i.loadError++,e===sg.BUFFER_APPEND_ERROR&&i.fragmentError++;let h=-1;const{levels:c,loadLevel:l,minAutoLevel:d,maxAutoLevel:u}=s;s.autoLevelEnabled||(s.loadLevel=-1);const p=null==(r=t.frag)?void 0:r.type,f=(p===hy&&e===sg.FRAG_PARSING_ERROR||"audio"===t.sourceBufferName&&(e===sg.BUFFER_ADD_CODEC_ERROR||e===sg.BUFFER_APPEND_ERROR))&&c.some((({audioCodec:t})=>i.audioCodec!==t)),m="video"===t.sourceBufferName&&(e===sg.BUFFER_ADD_CODEC_ERROR||e===sg.BUFFER_APPEND_ERROR)&&c.some((({codecSet:t,audioCodec:e})=>i.codecSet!==t&&i.audioCodec===e)),{type:g,groupId:A}=null!=(n=t.context)?n:{};for(let s=c.length;s--;){const r=(s+l)%c.length;if(r!==l&&r>=d&&r<=u&&0===c[r].loadError){var o,a;const s=c[r];if(e===sg.FRAG_GAP&&p===ay&&t.frag){const e=c[r].details;if(e){const s=Xy(t.frag,e.fragments,t.frag.start);if(null!=s&&s.gap)continue}}else{if(g===ny&&s.hasAudioGroup(A)||g===oy&&s.hasSubtitleGroup(A))continue;if(p===hy&&null!=(o=i.audioGroups)&&o.some((t=>s.hasAudioGroup(t)))||p===cy&&null!=(a=i.subtitleGroups)&&a.some((t=>s.hasSubtitleGroup(t)))||f&&i.audioCodec===s.audioCodec||!f&&i.audioCodec!==s.audioCodec||m&&i.codecSet===s.codecSet)continue}h=r;break}}if(h>-1&&s.loadLevel!==h)return t.levelRetry=!0,this.playlistError=0,{action:eb,flags:rb,nextAutoLevel:h}}return{action:eb,flags:nb}}onErrorOut(t,e){var s;switch(null==(s=e.errorAction)?void 0:s.action){case tb:break;case eb:this.sendAlternateToPenaltyBox(e),e.errorAction.resolved||e.details===sg.FRAG_GAP?/MediaSource readyState: ended/.test(e.error.message)&&(this.warn(`MediaSource ended after "${e.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):e.fatal=!0}e.fatal&&this.hls.stopLoad()}sendAlternateToPenaltyBox(t){const e=this.hls,s=t.errorAction;if(!s)return;const{flags:i,hdcpLevel:r,nextAutoLevel:n}=s;switch(i){case rb:this.switchLevel(t,n);break;case ob:r&&(e.maxHdcpLevel=Cy[Cy.indexOf(r)-1],s.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${e.maxHdcpLevel}" or lower`)}s.resolved||this.switchLevel(t,n)}switchLevel(t,e){void 0!==e&&t.errorAction&&(this.warn(`switching to level ${e} after ${t.details}`),this.hls.nextAutoLevel=e,t.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},fpsController:class{constructor(t){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=t,this.registerListeners()}setStreamController(t){this.streamController=t}registerListeners(){this.hls.on(tg.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(tg.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(t,e){const s=this.hls.config;if(s.capLevelOnFPSDrop){const t=e.media instanceof self.HTMLVideoElement?e.media:null;this.media=t,t&&"function"==typeof t.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),s.fpsDroppedMonitoringPeriod)}}checkFPS(t,e,s){const i=performance.now();if(e){if(this.lastTime){const t=i-this.lastTime,r=s-this.lastDroppedFrames,n=e-this.lastDecodedFrames,o=1e3*r/t,a=this.hls;if(a.trigger(tg.FPS_DROP,{currentDropped:r,currentDecoded:n,totalDroppedFrames:s}),o>0&&r>a.config.fpsDroppedMonitoringThreshold*n){let t=a.currentLevel;ag.warn("drop FPS ratio greater than max allowed value for currentLevel: "+t),t>0&&(-1===a.autoLevelCapping||a.autoLevelCapping>=t)&&(t-=1,a.trigger(tg.FPS_DROP_LEVEL_CAPPING,{level:t,droppedLevel:a.currentLevel}),a.autoLevelCapping=t,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=s,this.lastDecodedFrames=e}}checkFPSInterval(){const t=this.media;if(t)if(this.isVideoPlaybackQualityAvailable){const e=t.getVideoPlaybackQuality();this.checkFPS(t,e.totalVideoFrames,e.droppedVideoFrames)}else this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Bg,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:Zw,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends iv{constructor(t,e,s){super(t,e,s,"[subtitle-stream-controller]",cy),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){const{hls:t}=this;t.on(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.LEVEL_LOADED,this.onLevelLoaded,this),t.on(tg.ERROR,this.onError,this),t.on(tg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(tg.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.on(tg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(tg.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.on(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(tg.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:t}=this;t.off(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.LEVEL_LOADED,this.onLevelLoaded,this),t.off(tg.ERROR,this.onError,this),t.off(tg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(tg.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.off(tg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(tg.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.off(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(tg.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(t){this.stopLoad(),this.state=Kb,this.setInterval(500),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(t,e){this.mainDetails=e.details}onSubtitleFragProcessed(t,e){const{frag:s,success:i}=e;if(this.fragPrevious=s,this.state=Kb,!i)return;const r=this.tracksBuffered[this.currentTrackId];if(!r)return;let n;const o=s.start;for(let t=0;t=r[t].start&&o<=r[t].end){n=r[t];break}const a=s.start+s.duration;n?n.end=a:(n={start:o,end:a},r.push(n)),this.fragmentTracker.fragBuffered(s),this.fragBufferedComplete(s,null)}onBufferFlushing(t,e){const{startOffset:s,endOffset:i}=e;if(0===s&&i!==Number.POSITIVE_INFINITY){const t=i-1;if(t<=0)return;e.endOffsetSubtitles=Math.max(0,t),this.tracksBuffered.forEach((e=>{for(let s=0;snew My(t))):(this.tracksBuffered=[],this.levels=e.map((t=>{const e=new My(t);return this.tracksBuffered[e.id]=[],e})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,cy),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(t,e){var s;if(this.currentTrackId=e.id,null==(s=this.levels)||!s.length||-1===this.currentTrackId)return void this.clearInterval();const i=this.levels[this.currentTrackId];null!=i&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.setInterval(500)}onSubtitleTrackLoaded(t,e){var s;const{currentTrackId:i,levels:r}=this,{details:n,id:o}=e;if(!r)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);const a=r[o];if(o>=r.length||!a)return;this.log(`Subtitle track ${o} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let h=0;if(n.live||null!=(s=a.details)&&s.live){const t=this.mainDetails;if(n.deltaUpdateFailed||!t)return;const e=t.fragments[0];var c;if(a.details)h=this.alignPlaylists(n,a.details,null==(c=this.levelLastLoaded)?void 0:c.details),0===h&&e&&(h=e.start,Vy(n,h));else n.hasProgramDateTime&&t.hasProgramDateTime?(Bb(n,t),h=n.fragments[0].start):e&&(h=e.start,Vy(n,h))}if(a.details=n,this.levelLastLoaded=a,o===i&&(this.startFragRequested||!this.mainDetails&&n.live||this.setStartPosition(this.mainDetails||n,h),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===Kb)){Xy(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),a.details=void 0)}}_handleFragmentLoadComplete(t){const{frag:e,payload:s}=t,i=e.decryptdata,r=this.hls;if(!this.fragContextChanged(e)&&s&&s.byteLength>0&&null!=i&&i.key&&i.iv&&"AES-128"===i.method){const t=performance.now();this.decrypter.decrypt(new Uint8Array(s),i.key.buffer,i.iv.buffer).catch((t=>{throw r.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((s=>{const i=performance.now();r.trigger(tg.FRAG_DECRYPTED,{frag:e,payload:s,stats:{tstart:t,tdecrypt:i}})})).catch((t=>{this.warn(`${t.name}: ${t.message}`),this.state=Kb}))}}doTick(){if(this.media){if(this.state===Kb){const{currentTrackId:t,levels:e}=this,s=null==e?void 0:e[t];if(!s||!e.length||!s.details)return;const{config:i}=this,r=this.getLoadPosition(),n=Cb.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,i.maxBufferHole),{end:o,len:a}=n,h=this.getFwdBufferInfo(this.media,ay),c=s.details;if(a>this.getMaxBufferLength(null==h?void 0:h.len)+c.levelTargetDuration)return;const l=c.fragments,d=l.length,u=c.edge;let p=null;const f=this.fragPrevious;if(ou-t?0:t;p=Xy(f,l,Math.max(l[0].start,o),e),!p&&f&&f.startthis.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null;const e=Ay(this.media.textTracks);for(let s=0;s-1&&this.toggleTrackModes()}registerListeners(){const{hls:t}=this;t.on(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(tg.LEVEL_LOADING,this.onLevelLoading,this),t.on(tg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(tg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(tg.ERROR,this.onError,this)}unregisterListeners(){const{hls:t}=this;t.off(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(tg.LEVEL_LOADING,this.onLevelLoading,this),t.off(tg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(tg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(tg.ERROR,this.onError,this)}onMediaAttached(t,e){this.media=e.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(t){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,t)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId);Ay(this.media.textTracks).forEach((t=>{my(t)})),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(t,e){this.tracks=e.subtitleTracks}onSubtitleTrackLoaded(t,e){const{id:s,groupId:i,details:r}=e,n=this.tracksInGroup[s];if(!n||n.groupId!==i)return void this.warn(`Subtitle track with id:${s} and group:${i} not found in active group ${null==n?void 0:n.groupId}`);const o=n.details;n.details=e.details,this.log(`Subtitle track ${s} "${n.name}" lang:${n.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId&&this.playlistLoaded(s,e,o)}onLevelLoading(t,e){this.switchLevel(e.level)}onLevelSwitching(t,e){this.switchLevel(e.level)}switchLevel(t){const e=this.hls.levels[t];if(!e)return;const s=e.subtitleGroups||null,i=this.groupIds;let r=this.currentTrack;if(!s||(null==i?void 0:i.length)!==(null==s?void 0:s.length)||null!=s&&s.some((t=>-1===(null==i?void 0:i.indexOf(t))))){this.groupIds=s,this.trackId=-1,this.currentTrack=null;const t=this.tracks.filter((t=>!s||-1!==s.indexOf(t.groupId)));if(t.length)this.selectDefaultTrack&&!t.some((t=>t.default))&&(this.selectDefaultTrack=!1),t.forEach(((t,e)=>{t.id=e}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=t;const e=this.hls.config.subtitlePreference;if(!r&&e){this.selectDefaultTrack=!1;const s=gb(e,t);if(s>-1)r=t[s];else{const t=gb(e,this.tracks);r=this.tracks[t]}}let i=this.findTrackId(r);-1===i&&r&&(i=this.findTrackId(null));const n={subtitleTracks:t};this.log(`Updating subtitle tracks, ${t.length} track(s) found in "${null==s?void 0:s.join(",")}" group-id`),this.hls.trigger(tg.SUBTITLE_TRACKS_UPDATED,n),-1!==i&&-1===this.trackId&&this.setSubtitleTrack(i)}else this.shouldReloadPlaylist(r)&&this.setSubtitleTrack(this.trackId)}findTrackId(t){const e=this.tracksInGroup,s=this.selectDefaultTrack;for(let i=0;i-1){const t=this.tracksInGroup[i];return this.setSubtitleTrack(i),t}if(s)return null;{const s=gb(t,e);if(s>-1)return e[s]}}}return null}loadPlaylist(t){super.loadPlaylist();const e=this.currentTrack;if(this.shouldLoadPlaylist(e)&&e){const s=e.id,i=e.groupId;let r=e.url;if(t)try{r=t.addDirectives(r)}catch(t){this.warn(`Could not construct new URL with HLS Delivery Directives: ${t}`)}this.log(`Loading subtitle playlist for id ${s}`),this.hls.trigger(tg.SUBTITLE_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:t||null})}}toggleTrackModes(){const{media:t}=this;if(!t)return;const e=Ay(t.textTracks),s=this.currentTrack;let i;if(s&&(i=e.filter((t=>uS(s,t)))[0],i||this.warn(`Unable to find subtitle TextTrack with name "${s.name}" and language "${s.lang}"`)),[].slice.call(e).forEach((t=>{"disabled"!==t.mode&&t!==i&&(t.mode="disabled")})),i){const t=this.subtitleDisplay?"showing":"hidden";i.mode!==t&&(i.mode=t)}}setSubtitleTrack(t){const e=this.tracksInGroup;if(!this.media)return void(this.queuedDefaultTrack=t);if(t<-1||t>=e.length||!Xm(t))return void this.warn(`Invalid subtitle track id: ${t}`);this.clearTimer(),this.selectDefaultTrack=!1;const s=this.currentTrack,i=e[t]||null;if(this.trackId=t,this.currentTrack=i,this.toggleTrackModes(),!i)return void this.hls.trigger(tg.SUBTITLE_TRACK_SWITCH,{id:t});const r=!!i.details&&!i.details.live;if(t===this.trackId&&i===s&&r)return;this.log(`Switching to subtitle-track ${t}`+(i?` "${i.name}" lang:${i.lang} group:${i.groupId}`:""));const{id:n,groupId:o="",name:a,type:h,url:c}=i;this.hls.trigger(tg.SUBTITLE_TRACK_SWITCH,{id:n,groupId:o,name:a,type:h,url:c});const l=this.switchParams(i.url,null==s?void 0:s.details,i.details);this.loadPlaylist(l)}},timelineController:class{constructor(t){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=t,this.config=t.config,this.Cues=t.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},t.on(tg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(tg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(tg.FRAG_LOADING,this.onFragLoading,this),t.on(tg.FRAG_LOADED,this.onFragLoaded,this),t.on(tg.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.on(tg.FRAG_DECRYPTED,this.onFragDecrypted,this),t.on(tg.INIT_PTS_FOUND,this.onInitPtsFound,this),t.on(tg.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.on(tg.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:t}=this;t.off(tg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(tg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(tg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(tg.FRAG_LOADING,this.onFragLoading,this),t.off(tg.FRAG_LOADED,this.onFragLoaded,this),t.off(tg.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.off(tg.FRAG_DECRYPTED,this.onFragDecrypted,this),t.off(tg.INIT_PTS_FOUND,this.onInitPtsFound,this),t.off(tg.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.off(tg.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){const t=new FS(this,"textTrack1"),e=new FS(this,"textTrack2"),s=new FS(this,"textTrack3"),i=new FS(this,"textTrack4");this.cea608Parser1=new PS(1,t,e),this.cea608Parser2=new PS(3,s,i)}}addCues(t,e,s,i,r){let n=!1;for(let t=r.length;t--;){const i=r[t],l=(o=i[0],a=i[1],h=e,c=s,Math.min(a,c)-Math.max(o,h));if(l>=0&&(i[0]=Math.min(i[0],e),i[1]=Math.max(i[1],s),n=!0,l/(s-e)>.5))return}var o,a,h,c;if(n||r.push([e,s]),this.config.renderTextTracksNatively){const r=this.captionsTracks[t];this.Cues.newCue(r,e,s,i)}else{const r=this.Cues.newCue(null,e,s,i);this.hls.trigger(tg.CUES_PARSED,{type:"captions",cues:r,track:t})}}onInitPtsFound(t,{frag:e,id:s,initPTS:i,timescale:r}){const{unparsedVttFrags:n}=this;"main"===s&&(this.initPTS[e.cc]={baseTime:i,timescale:r}),n.length&&(this.unparsedVttFrags=[],n.forEach((t=>{this.onFragLoaded(tg.FRAG_LOADED,t)})))}getExistingTrack(t,e){const{media:s}=this;if(s)for(let i=0;i{my(t[e]),delete t[e]})),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:t}=this;if(!t)return;const e=t.textTracks;if(e)for(let t=0;tt.textCodec===ZS));if(this.config.enableWebVTT||i&&this.config.enableIMSC1){if(lS(this.tracks,s))return void(this.tracks=s);if(this.textTracks=[],this.tracks=s,this.config.renderTextTracksNatively){const t=this.media,e=t?Ay(t.textTracks):null;if(this.tracks.forEach(((t,s)=>{let i;if(e){let s=null;for(let i=0;inull!==t)).map((t=>t.label));t.length&&ag.warn(`Media element contains unused subtitle tracks: ${t.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const t=this.tracks.map((t=>({label:t.name,kind:t.type.toLowerCase(),default:t.default,subtitleTrack:t})));this.hls.trigger(tg.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:t})}}}onManifestLoaded(t,e){this.config.enableCEA708Captions&&e.captions&&e.captions.forEach((t=>{const e=/(?:CC|SERVICE)([1-4])/.exec(t.instreamId);if(!e)return;const s=`textTrack${e[1]}`,i=this.captionsProperties[s];i&&(i.label=t.name,t.lang&&(i.languageCode=t.lang),i.media=t)}))}closedCaptionsForLevel(t){const e=this.hls.levels[t.level];return null==e?void 0:e.attrs["CLOSED-CAPTIONS"]}onFragLoading(t,e){if(this.enabled&&e.frag.type===ay){var s,i;const{cea608Parser1:t,cea608Parser2:r,lastSn:n}=this,{cc:o,sn:a}=e.frag,h=null!=(s=null==(i=e.part)?void 0:i.index)?s:-1;t&&r&&(a!==n+1||a===n&&h!==this.lastPartIndex+1||o!==this.lastCc)&&(t.reset(),r.reset()),this.lastCc=o,this.lastSn=a,this.lastPartIndex=h}}onFragLoaded(t,e){const{frag:s,payload:i}=e;if(s.type===cy)if(i.byteLength){const t=s.decryptdata,r="stats"in e;if(null==t||!t.encrypted||r){const t=this.tracks[s.level],r=this.vttCCs;r[s.cc]||(r[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc),t&&t.textCodec===ZS?this._parseIMSC1(s,i):this._parseVTTs(e)}}else this.hls.trigger(tg.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:new Error("Empty subtitle payload")})}_parseIMSC1(t,e){const s=this.hls;sw(e,this.initPTS[t.cc],(e=>{this._appendCues(e,t.level),s.trigger(tg.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:t})}),(e=>{ag.log(`Failed to parse IMSC1: ${e}`),s.trigger(tg.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:e})}))}_parseVTTs(t){var e;const{frag:s,payload:i}=t,{initPTS:r,unparsedVttFrags:n}=this,o=r.length-1;if(!r[s.cc]&&-1===o)return void n.push(t);const a=this.hls;XS(null!=(e=s.initSegment)&&e.data?bA(s.initSegment.data,new Uint8Array(i)):i,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,(t=>{this._appendCues(t,s.level),a.trigger(tg.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})}),(e=>{const r="Missing initPTS for VTT MPEGTS"===e.message;r?n.push(t):this._fallbackToIMSC1(s,i),ag.log(`Failed to parse VTT cue: ${e}`),r&&o>s.cc||a.trigger(tg.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:e})}))}_fallbackToIMSC1(t,e){const s=this.tracks[t.level];s.textCodec||sw(e,this.initPTS[t.cc],(()=>{s.textCodec=ZS,this._parseIMSC1(t,e)}),(()=>{s.textCodec="wvtt"}))}_appendCues(t,e){const s=this.hls;if(this.config.renderTextTracksNatively){const s=this.textTracks[e];if(!s||"disabled"===s.mode)return;t.forEach((t=>fy(s,t)))}else{const i=this.tracks[e];if(!i)return;const r=i.default?"default":"subtitles"+e;s.trigger(tg.CUES_PARSED,{type:"subtitles",cues:t,track:r})}}onFragDecrypted(t,e){const{frag:s}=e;s.type===cy&&this.onFragLoaded(tg.FRAG_LOADED,e)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(t,e){this.initCea608Parsers();const{cea608Parser1:s,cea608Parser2:i}=this;if(!this.enabled||!s||!i)return;const{frag:r,samples:n}=e;if(r.type!==ay||"NONE"!==this.closedCaptionsForLevel(r))for(let t=0;tgy(t[i],e,s)))}if(this.config.renderTextTracksNatively&&0===e&&void 0!==i){const{textTracks:t}=this;Object.keys(t).forEach((s=>gy(t[s],e,i)))}}}extractCea608Data(t){const e=[[],[]],s=31&t[0];let i=2;for(let r=0;r0&&-1===t?(this.log(`Override startPosition with lastCurrentTime @${e.toFixed(3)}`),t=e,this.state=Kb):(this.loadedmetadata=!1,this.state=Jb),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}doTick(){switch(this.state){case Kb:this.doTickIdle();break;case Jb:{var t;const{levels:e,trackId:s}=this,i=null==e||null==(t=e[s])?void 0:t.details;if(i){if(this.waitForCdnTuneIn(i))break;this.state=ev}break}case qb:{var e;const t=performance.now(),s=this.retryDate;if(!s||t>=s||null!=(e=this.media)&&e.seeking){const{levels:t,trackId:e}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==t?void 0:t[e])||null),this.state=Kb}break}case ev:{const t=this.waitingData;if(t){const{frag:e,part:s,cache:i,complete:r}=t;if(void 0!==this.initPTS[e.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=Yb;const t={frag:e,part:s,payload:i.flush(),networkDetails:null};this._handleFragmentLoadProgress(t),r&&super._handleFragmentLoadComplete(t)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${e.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{const t=this.getLoadPosition(),s=Cb.bufferInfo(this.mediaBuffer,t,this.config.maxBufferHole);Zy(s.end,this.config.maxFragLookUpTolerance,e)<0&&(this.log(`Waiting fragment cc (${e.cc}) @ ${e.start} cancelled because another fragment at ${s.end} is needed`),this.clearWaitingFragment())}}else this.state=Kb}}this.onTickEnd()}clearWaitingFragment(){const t=this.waitingData;t&&(this.fragmentTracker.removeFragment(t.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Kb)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){const{media:t}=this;null!=t&&t.readyState&&(this.lastCurrentTime=t.currentTime)}doTickIdle(){const{hls:t,levels:e,media:s,trackId:i}=this,r=t.config;if(!s&&(this.startFragRequested||!r.startFragPrefetch)||null==e||!e[i])return;const n=e[i],o=n.details;if(!o||o.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(o))return void(this.state=Jb);const a=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&a&&(this.bufferFlushed=!1,this.afterBufferFlushed(a,fg,hy));const h=this.getFwdBufferInfo(a,hy);if(null===h)return;const{bufferedTrack:c,switchingTrack:l}=this;if(!l&&this._streamEnded(h,o))return t.trigger(tg.BUFFER_EOS,{type:"audio"}),void(this.state=$b);const d=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,ay),u=h.len,p=this.getMaxBufferLength(null==d?void 0:d.len),f=o.fragments,m=f[0].start;let g=this.flushing?this.getLoadPosition():h.end;if(l&&s){const t=this.getLoadPosition();c&&!dS(l.attrs,c.attrs)&&(g=t),o.PTSKnown&&tm||h.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),s.currentTime=m+.05)}if(u>=p&&!l&&gd.end+o.targetduration;if(b||(null==d||!d.len)&&h.len){const t=this.getAppendedFrag(A.start,ay);if(null===t)return;if(y||(y=!!t.gap||!!b&&0===d.len),b&&!y||y&&h.nextStart&&h.nextStartnew My(t)))}onAudioTrackSwitching(t,e){const s=!!e.url;this.trackId=e.id;const{fragCurrent:i}=this;i&&(i.abortRequests(),this.removeUnbufferedFrags(i.start)),this.resetLoadingState(),s?this.setInterval(100):this.resetTransmuxer(),s?(this.switchingTrack=e,this.state=Kb,this.flushAudioIfNeeded(e)):(this.switchingTrack=null,this.bufferedTrack=e,this.state=Wb),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(t,e){this.mainDetails=e.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(tg.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(t,e){var s;if(null==this.mainDetails)return void(this.cachedTrackLoadedData=e);const{levels:i}=this,{details:r,id:n}=e;if(!i)return void this.warn(`Audio tracks were reset while loading level ${n}`);this.log(`Audio track ${n} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);const o=i[n];let a=0;if(r.live||null!=(s=o.details)&&s.live){this.checkLiveUpdate(r);const t=this.mainDetails;if(r.deltaUpdateFailed||!t)return;var h;if(!o.details&&r.hasProgramDateTime&&t.hasProgramDateTime)Bb(r,t),a=r.fragments[0].start;else a=this.alignPlaylists(r,o.details,null==(h=this.levelLastLoaded)?void 0:h.details)}o.details=r,this.levelLastLoaded=o,this.startFragRequested||!this.mainDetails&&r.live||this.setStartPosition(this.mainDetails||r,a),this.state!==Jb||this.waitForCdnTuneIn(r)||(this.state=Kb),this.tick()}_handleFragmentLoadProgress(t){var e;const{frag:s,part:i,payload:r}=t,{config:n,trackId:o,levels:a}=this;if(!a)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);const h=a[o];if(!h)return void this.warn("Audio track is undefined on fragment load progress");const c=h.details;if(!c)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(s.start);const l=n.defaultAudioCodec||h.audioCodec||"mp4a.40.2";let d=this.transmuxer;d||(d=this.transmuxer=new cS(this.hls,hy,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const u=this.initPTS[s.cc],p=null==(e=s.initSegment)?void 0:e.data;if(void 0!==u){const t=!1,e=i?i.index:-1,n=-1!==e,o=new Rb(s.level,s.sn,s.stats.chunkCount,r.byteLength,e,n);d.push(r,p,l,"",s,i,c.totalduration,t,o,u)}else{this.log(`Unknown video PTS for cc ${s.cc}, waiting for video PTS before demuxing audio frag ${s.sn} of [${c.startSN} ,${c.endSN}],track ${o}`);const{cache:t}=this.waitingData=this.waitingData||{frag:s,part:i,cache:new rv,complete:!1};t.push(new Uint8Array(r)),this.waitingVideoCC=this.videoTrackCC,this.state=ev}}_handleFragmentLoadComplete(t){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(t)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(t,e){const s=e.tracks.audio;s&&(this.mediaBuffer=s.buffer||null),e.tracks.video&&(this.videoBuffer=e.tracks.video.buffer||null)}onFragBuffered(t,e){const{frag:s,part:i}=e;if(s.type===hy)if(this.fragContextChanged(s))this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);else{if("initSegment"!==s.sn){this.fragPrevious=s;const t=this.switchingTrack;t&&(this.bufferedTrack=t,this.switchingTrack=null,this.hls.trigger(tg.AUDIO_TRACK_SWITCHED,Qm({},t)))}this.fragBufferedComplete(s,i)}else if(!this.loadedmetadata&&s.type===ay){const t=this.videoBuffer||this.media;if(t){Cb.getBuffered(t).length&&(this.loadedmetadata=!0)}}}onError(t,e){var s;if(e.fatal)this.state=tv;else switch(e.details){case sg.FRAG_GAP:case sg.FRAG_PARSING_ERROR:case sg.FRAG_DECRYPT_ERROR:case sg.FRAG_LOAD_ERROR:case sg.FRAG_LOAD_TIMEOUT:case sg.KEY_LOAD_ERROR:case sg.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(hy,e);break;case sg.AUDIO_TRACK_LOAD_ERROR:case sg.AUDIO_TRACK_LOAD_TIMEOUT:case sg.LEVEL_PARSING_ERROR:e.levelRetry||this.state!==Jb||(null==(s=e.context)?void 0:s.type)!==ny||(this.state=Kb);break;case sg.BUFFER_APPEND_ERROR:case sg.BUFFER_FULL_ERROR:if(!e.parent||"audio"!==e.parent)return;if(e.details===sg.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(e)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case sg.INTERNAL_EXCEPTION:this.recoverWorkerError(e)}}onBufferFlushing(t,{type:e}){e!==mg&&(this.flushing=!0)}onBufferFlushed(t,{type:e}){if(e!==mg){this.flushing=!1,this.bufferFlushed=!0,this.state===$b&&(this.state=Kb);const t=this.mediaBuffer||this.media;t&&(this.afterBufferFlushed(t,e,hy),this.tick())}}_handleTransmuxComplete(t){var e;const s="audio",{hls:i}=this,{remuxResult:r,chunkMeta:n}=t,o=this.getCurrentContext(n);if(!o)return void this.resetWhenMissingContext(n);const{frag:a,part:h,level:c}=o,{details:l}=c,{audio:d,text:u,id3:p,initSegment:f}=r;if(!this.fragContextChanged(a)&&l){if(this.state=Xb,this.switchingTrack&&d&&this.completeAudioSwitch(this.switchingTrack),null!=f&&f.tracks){const t=a.initSegment||a;this._bufferInitSegment(c,f.tracks,t,n),i.trigger(tg.FRAG_PARSING_INIT_SEGMENT,{frag:t,id:s,tracks:f.tracks})}if(d){const{startPTS:t,endPTS:e,startDTS:s,endDTS:i}=d;h&&(h.elementaryStreams[fg]={startPTS:t,endPTS:e,startDTS:s,endDTS:i}),a.setElementaryStreamInfo(fg,t,e,s,i),this.bufferFragmentData(d,a,h,n)}if(null!=p&&null!=(e=p.samples)&&e.length){const t=Jm({id:s,frag:a,details:l},p);i.trigger(tg.FRAG_PARSING_METADATA,t)}if(u){const t=Jm({id:s,frag:a,details:l},u);i.trigger(tg.FRAG_PARSING_USERDATA,t)}}else this.fragmentTracker.removeFragment(a)}_bufferInitSegment(t,e,s,i){if(this.state!==Xb)return;e.video&&delete e.video;const r=e.audio;if(!r)return;r.id="audio";const n=t.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${n}/${r.codec}]`),n&&1===n.split(",").length&&(r.levelCodec=n),this.hls.trigger(tg.BUFFER_CODECS,e);const o=r.initSegment;if(null!=o&&o.byteLength){const t={type:"audio",frag:s,part:null,chunkMeta:i,parent:s.type,data:o};this.hls.trigger(tg.BUFFER_APPENDING,t)}this.tickImmediate()}loadFragment(t,e,s){const i=this.fragmentTracker.getState(t);var r;if(this.fragCurrent=t,this.switchingTrack||i===vb||i===wb)if("initSegment"===t.sn)this._loadInitSegment(t,e);else if(null!=(r=e.details)&&r.live&&!this.initPTS[t.cc]){this.log(`Waiting for video PTS in continuity counter ${t.cc} of live stream before loading audio fragment ${t.sn} of level ${this.trackId}`),this.state=ev;const s=this.mainDetails;s&&s.fragments[0].start!==e.details.fragments[0].start&&Bb(e.details,s)}else this.startFragRequested=!0,super.loadFragment(t,e,s);else this.clearTrackerIfNeeded(t)}flushAudioIfNeeded(t){const{media:e,bufferedTrack:s}=this,i=null==s?void 0:s.attrs,r=t.attrs;e&&i&&(i.CHANNELS!==r.CHANNELS||s.name!==t.name||s.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(t){const{hls:e}=this;this.flushAudioIfNeeded(t),this.bufferedTrack=t,this.switchingTrack=null,e.trigger(tg.AUDIO_TRACK_SWITCHED,Qm({},t))}},audioTrackController:class extends ab{constructor(t){super(t,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:t}=this;t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(tg.LEVEL_LOADING,this.onLevelLoading,this),t.on(tg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(tg.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.on(tg.ERROR,this.onError,this)}unregisterListeners(){const{hls:t}=this;t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(tg.LEVEL_LOADING,this.onLevelLoading,this),t.off(tg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(tg.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.off(tg.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(t,e){this.tracks=e.audioTracks||[]}onAudioTrackLoaded(t,e){const{id:s,groupId:i,details:r}=e,n=this.tracksInGroup[s];if(!n||n.groupId!==i)return void this.warn(`Audio track with id:${s} and group:${i} not found in active group ${null==n?void 0:n.groupId}`);const o=n.details;n.details=e.details,this.log(`Audio track ${s} "${n.name}" lang:${n.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId&&this.playlistLoaded(s,e,o)}onLevelLoading(t,e){this.switchLevel(e.level)}onLevelSwitching(t,e){this.switchLevel(e.level)}switchLevel(t){const e=this.hls.levels[t];if(!e)return;const s=e.audioGroups||null,i=this.groupIds;let r=this.currentTrack;if(!s||(null==i?void 0:i.length)!==(null==s?void 0:s.length)||null!=s&&s.some((t=>-1===(null==i?void 0:i.indexOf(t))))){this.groupIds=s,this.trackId=-1,this.currentTrack=null;const t=this.tracks.filter((t=>!s||-1!==s.indexOf(t.groupId)));if(t.length)this.selectDefaultTrack&&!t.some((t=>t.default))&&(this.selectDefaultTrack=!1),t.forEach(((t,e)=>{t.id=e}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=t;const e=this.hls.config.audioPreference;if(!r&&e){const s=gb(e,t,yb);if(s>-1)r=t[s];else{const t=gb(e,this.tracks);r=this.tracks[t]}}let i=this.findTrackId(r);-1===i&&r&&(i=this.findTrackId(null));const o={audioTracks:t};this.log(`Updating audio tracks, ${t.length} track(s) found in group(s): ${null==s?void 0:s.join(",")}`),this.hls.trigger(tg.AUDIO_TRACKS_UPDATED,o);const a=this.trackId;if(-1!==i&&-1===a)this.setAudioTrack(i);else if(t.length&&-1===a){var n;const e=new Error(`No audio track selected for current audio group-ID(s): ${null==(n=this.groupIds)?void 0:n.join(",")} track count: ${t.length}`);this.warn(e.message),this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:e})}}else this.shouldReloadPlaylist(r)&&this.setAudioTrack(this.trackId)}onError(t,e){!e.fatal&&e.context&&(e.context.type!==ny||e.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(e.context.groupId)||(this.requestScheduled=-1,this.checkRetry(e)))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(t){this.selectDefaultTrack=!1,this.setAudioTrack(t)}setAudioOption(t){const e=this.hls;if(e.config.audioPreference=t,t){const s=this.allAudioTracks;if(this.selectDefaultTrack=!1,s.length){const i=this.currentTrack;if(i&&Ab(t,i,yb))return i;const r=gb(t,this.tracksInGroup,yb);if(r>-1){const t=this.tracksInGroup[r];return this.setAudioTrack(r),t}if(i){let i=e.loadLevel;-1===i&&(i=e.firstAutoLevel);const r=function(t,e,s,i,r){const n=e[i],o=e.reduce(((t,e,s)=>{const i=e.uri;return(t[i]||(t[i]=[])).push(s),t}),{})[n.uri];o.length>1&&(i=Math.max.apply(Math,o));const a=n.videoRange,h=n.frameRate,c=n.codecSet.substring(0,4),l=bb(e,i,(e=>{if(e.videoRange!==a||e.frameRate!==h||e.codecSet.substring(0,4)!==c)return!1;const i=e.audioGroups,n=s.filter((t=>!i||-1!==i.indexOf(t.groupId)));return gb(t,n,r)>-1}));return l>-1?l:bb(e,i,(e=>{const i=e.audioGroups,n=s.filter((t=>!i||-1!==i.indexOf(t.groupId)));return gb(t,n,r)>-1}))}(t,e.levels,s,i,yb);if(-1===r)return null;e.nextLoadLevel=r}if(t.channels||t.audioCodec){const e=gb(t,s);if(e>-1)return s[e]}}}return null}setAudioTrack(t){const e=this.tracksInGroup;if(t<0||t>=e.length)return void this.warn(`Invalid audio track id: ${t}`);this.clearTimer(),this.selectDefaultTrack=!1;const s=this.currentTrack,i=e[t],r=i.details&&!i.details.live;if(t===this.trackId&&i===s&&r)return;if(this.log(`Switching to audio-track ${t} "${i.name}" lang:${i.lang} group:${i.groupId} channels:${i.channels}`),this.trackId=t,this.currentTrack=i,this.hls.trigger(tg.AUDIO_TRACK_SWITCHING,Qm({},i)),r)return;const n=this.switchParams(i.url,null==s?void 0:s.details,i.details);this.loadPlaylist(n)}findTrackId(t){const e=this.tracksInGroup;for(let s=0;s{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=t=>{try{this.apply(t,{ot:mw.MANIFEST,su:!this.initialized})}catch(t){ag.warn("Could not generate manifest CMCD data.",t)}},this.applyFragmentData=t=>{try{const e=t.frag,s=this.hls.levels[e.level],i=this.getObjectType(e),r={d:1e3*e.duration,ot:i};i!==mw.VIDEO&&i!==mw.AUDIO&&i!=mw.MUXED||(r.br=s.bitrate/1e3,r.tb=this.getTopBandwidth(i)/1e3,r.bl=this.getBufferLength(i)),this.apply(t,r)}catch(t){ag.warn("Could not generate segment CMCD data.",t)}},this.hls=t;const e=this.config=t.config,{cmcd:s}=e;null!=s&&(e.pLoader=this.createPlaylistLoader(),e.fLoader=this.createFragmentLoader(),this.sid=s.sessionId||function(){try{return crypto.randomUUID()}catch(t){try{const t=URL.createObjectURL(new Blob),e=t.toString();return URL.revokeObjectURL(t),e.slice(e.lastIndexOf("/")+1)}catch(t){let e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(t=>{const s=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?s:3&s|8).toString(16)}))}}}(),this.cid=s.contentId,this.useHeaders=!0===s.useHeaders,this.includeKeys=s.includeKeys,this.registerListeners())}registerListeners(){const t=this.hls;t.on(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(tg.MEDIA_DETACHED,this.onMediaDetached,this),t.on(tg.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const t=this.hls;t.off(tg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(tg.MEDIA_DETACHED,this.onMediaDetached,this),t.off(tg.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(t,e){this.media=e.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(t,e){var s,i;this.audioBuffer=null==(s=e.tracks.audio)?void 0:s.buffer,this.videoBuffer=null==(i=e.tracks.video)?void 0:i.buffer}createData(){var t;return{v:1,sf:gw.HLS,sid:this.sid,cid:this.cid,pr:null==(t=this.media)?void 0:t.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(t,e={}){Jm(e,this.createData());const s=e.ot===mw.INIT||e.ot===mw.VIDEO||e.ot===mw.MUXED;this.starved&&s&&(e.bs=!0,e.su=!0,this.starved=!1),null==e.su&&(e.su=this.buffering);const{includeKeys:i}=this;i&&(e=Object.keys(e).reduce(((t,s)=>(i.includes(s)&&(t[s]=e[s]),t)),{})),this.useHeaders?(t.headers||(t.headers={}),Nw(t.headers,e)):t.url=zw(t.url,e)}getObjectType(t){const{type:e}=t;return"subtitle"===e?mw.TIMED_TEXT:"initSegment"===t.sn?mw.INIT:"audio"===e?mw.AUDIO:"main"===e?this.hls.audioTracks.length?mw.VIDEO:mw.MUXED:void 0}getTopBandwidth(t){let e,s=0;const i=this.hls;if(t===mw.AUDIO)e=i.audioTracks;else{const t=i.maxAutoLevel,s=t>-1?t+1:i.levels.length;e=i.levels.slice(0,s)}for(const t of e)t.bitrate>s&&(s=t.bitrate);return s>0?s:NaN}getBufferLength(t){const e=this.hls.media,s=t===mw.AUDIO?this.audioBuffer:this.videoBuffer;if(!s||!e)return NaN;return 1e3*Cb.bufferInfo(s,e.currentTime,this.config.maxBufferHole).len}createPlaylistLoader(){const{pLoader:t}=this.config,e=this.applyPlaylistData,s=t||this.config.loader;return class{constructor(t){this.loader=void 0,this.loader=new s(t)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(t,s,i){e(t),this.loader.load(t,s,i)}}}createFragmentLoader(){const{fLoader:t}=this.config,e=this.applyFragmentData,s=t||this.config.loader;return class{constructor(t){this.loader=void 0,this.loader=new s(t)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(t,s,i){e(t),this.loader.load(t,s,i)}}}},contentSteeringController:class{constructor(t){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=t,this.log=ag.log.bind(ag,"[content-steering]:"),this.registerListeners()}registerListeners(){const t=this.hls;t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(tg.ERROR,this.onError,this)}unregisterListeners(){const t=this.hls;t&&(t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(tg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(tg.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const t=1e3*this.timeToLoad-(performance.now()-this.updated);if(t>0)return void this.scheduleRefresh(this.uri,t)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(t){const e=this.levels;e&&(this.levels=e.filter((e=>e!==t)))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(t,e){const{contentSteering:s}=e;null!==s&&(this.pathwayId=s.pathwayId,this.uri=s.uri,this.started&&this.startLoad())}onManifestParsed(t,e){this.audioTracks=e.audioTracks,this.subtitleTracks=e.subtitleTracks}onError(t,e){const{errorAction:s}=e;if((null==s?void 0:s.action)===eb&&s.flags===nb){const t=this.levels;let i=this.pathwayPriority,r=this.pathwayId;if(e.context){const{groupId:s,pathwayId:i,type:n}=e.context;s&&t?r=this.getPathwayForGroupId(s,n,r):i&&(r=i)}r in this.penalizedPathways||(this.penalizedPathways[r]=performance.now()),!i&&t&&(i=t.reduce(((t,e)=>(-1===t.indexOf(e.pathwayId)&&t.push(e.pathwayId),t)),[])),i&&i.length>1&&(this.updatePathwayPriority(i),s.resolved=this.pathwayId!==r),s.resolved||ag.warn(`Could not resolve ${e.details} ("${e.error.message}") with content-steering for Pathway: ${r} levels: ${t?t.length:t} priorities: ${JSON.stringify(i)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(t){this.levels=t;let e=this.getLevelsForPathway(this.pathwayId);if(0===e.length){const s=t[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${s}"`),e=this.getLevelsForPathway(s),this.pathwayId=s}return e.length!==t.length?(this.log(`Found ${e.length}/${t.length} levels in Pathway "${this.pathwayId}"`),e):t}getLevelsForPathway(t){return null===this.levels?[]:this.levels.filter((e=>t===e.pathwayId))}updatePathwayPriority(t){let e;this.pathwayPriority=t;const s=this.penalizedPathways,i=performance.now();Object.keys(s).forEach((t=>{i-s[t]>3e5&&delete s[t]}));for(let i=0;i0){this.log(`Setting Pathway to "${r}"`),this.pathwayId=r,Hy(e),this.hls.trigger(tg.LEVELS_UPDATED,{levels:e});const t=this.hls.levels[n];o&&t&&this.levels&&(t.attrs["STABLE-VARIANT-ID"]!==o.attrs["STABLE-VARIANT-ID"]&&t.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${t.bitrate}`),this.hls.nextLoadLevel=n);break}}}getPathwayForGroupId(t,e,s){const i=this.getLevelsForPathway(s).concat(this.levels||[]);for(let s=0;s{const{ID:r,"BASE-ID":n,"URI-REPLACEMENT":o}=t;if(e.some((t=>t.pathwayId===r)))return;const a=this.getLevelsForPathway(n).map((t=>{const e=new lg(t.attrs);e["PATHWAY-ID"]=r;const n=e.AUDIO&&`${e.AUDIO}_clone_${r}`,a=e.SUBTITLES&&`${e.SUBTITLES}_clone_${r}`;n&&(s[e.AUDIO]=n,e.AUDIO=n),a&&(i[e.SUBTITLES]=a,e.SUBTITLES=a);const h=Hw(t.uri,e["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",o),c=new My({attrs:e,audioCodec:t.audioCodec,bitrate:t.bitrate,height:t.height,name:t.name,url:h,videoCodec:t.videoCodec,width:t.width});if(t.audioGroups)for(let e=1;e{this.log(`Loaded steering manifest: "${i}"`);const n=t.data;if(1!==n.VERSION)return void this.log(`Steering VERSION ${n.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=n.TTL;const{"RELOAD-URI":o,"PATHWAY-CLONES":a,"PATHWAY-PRIORITY":h}=n;if(o)try{this.uri=new self.URL(o,i).href}catch(t){return this.enabled=!1,void this.log(`Failed to parse Steering Manifest RELOAD-URI: ${o}`)}this.scheduleRefresh(this.uri||s.url),a&&this.clonePathways(a);const c={steeringManifest:n,url:i.toString()};this.hls.trigger(tg.STEERING_MANIFEST_LOADED,c),h&&this.updatePathwayPriority(h)},onError:(t,e,s,i)=>{if(this.log(`Error loading steering manifest: ${t.code} ${t.text} (${e.url})`),this.stopLoad(),410===t.code)return this.enabled=!1,void this.log(`Steering manifest ${e.url} no longer available`);let r=1e3*this.timeToLoad;if(429!==t.code)this.scheduleRefresh(this.uri||e.url,r);else{const t=this.loader;if("function"==typeof(null==t?void 0:t.getResponseHeader)){const e=t.getResponseHeader("Retry-After");e&&(r=1e3*parseFloat(e))}this.log(`Steering manifest ${e.url} rate limited`)}},onTimeout:(t,e,s)=>{this.log(`Timeout loading steering manifest (${e.url})`),this.scheduleRefresh(this.uri||e.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,a,h)}scheduleRefresh(t,e=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout((()=>{var e;const s=null==(e=this.hls)?void 0:e.media;!s||s.ended?this.scheduleRefresh(t,1e3*this.timeToLoad):this.loadSteeringManifest(t)}),e)}}});function tE(t){return t&&"object"==typeof t?Array.isArray(t)?t.map(tE):Object.keys(t).reduce(((e,s)=>(e[s]=tE(t[s]),e)),{}):t}function eE(t){const e=t.loader;if(e!==Yw&&e!==Kw)ag.log("[config]: Custom loader detected, cannot enable progressive streaming"),t.progressive=!1;else{(function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(t){}return!1})()&&(t.loader=Yw,t.progressive=!0,t.enableSoftwareAES=!0,ag.log("[config]: Progressive streaming enabled, using FetchLoader"))}}let sE;class iE extends ab{constructor(t,e){super(t,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=e,this._registerListeners()}_registerListeners(){const{hls:t}=this;t.on(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(tg.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(tg.LEVEL_LOADED,this.onLevelLoaded,this),t.on(tg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(tg.FRAG_BUFFERED,this.onFragBuffered,this),t.on(tg.ERROR,this.onError,this)}_unregisterListeners(){const{hls:t}=this;t.off(tg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(tg.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(tg.LEVEL_LOADED,this.onLevelLoaded,this),t.off(tg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(tg.FRAG_BUFFERED,this.onFragBuffered,this),t.off(tg.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((t=>{t.loadError=0,t.fragmentError=0})),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(t,e){this.resetLevels()}onManifestLoaded(t,e){const s=this.hls.config.preferManagedMediaSource,i=[],r={},n={};let o=!1,a=!1,h=!1;e.levels.forEach((t=>{var e,c;const l=t.attrs;let{audioCodec:d,videoCodec:u}=t;-1!==(null==(e=d)?void 0:e.indexOf("mp4a.40.34"))&&(sE||(sE=/chrome|firefox/i.test(navigator.userAgent)),sE&&(t.audioCodec=d=void 0)),d&&(t.audioCodec=d=zA(d,s)),0===(null==(c=u)?void 0:c.indexOf("avc1"))&&(u=t.videoCodec=function(t){const e=t.split(",");for(let t=0;t2){let i=s.shift()+".";i+=parseInt(s.shift()).toString(16),i+=("000"+parseInt(s.shift()).toString(16)).slice(-4),e[t]=i}}return e.join(",")}(u));const{width:p,height:f,unknownCodecs:m}=t;if(o||(o=!(!p||!f)),a||(a=!!u),h||(h=!!d),null!=m&&m.length||d&&!MA(d,"audio",s)||u&&!MA(u,"video",s))return;const{CODECS:g,"FRAME-RATE":A,"HDCP-LEVEL":y,"PATHWAY-ID":b,RESOLUTION:v,"VIDEO-RANGE":S}=l,w=`${`${b||"."}-`}${t.bitrate}-${v}-${A}-${g}-${S}-${y}`;if(r[w])if(r[w].uri===t.url||t.attrs["PATHWAY-ID"])r[w].addGroupId("audio",l.AUDIO),r[w].addGroupId("text",l.SUBTITLES);else{const e=n[w]+=1;t.attrs["PATHWAY-ID"]=new Array(e+1).join(".");const s=new My(t);r[w]=s,i.push(s)}else{const e=new My(t);r[w]=e,n[w]=1,i.push(e)}})),this.filterAndSortMediaOptions(i,e,o,a,h)}filterAndSortMediaOptions(t,e,s,i,r){let n=[],o=[],a=t;if((s||i)&&r&&(a=a.filter((({videoCodec:t,videoRange:e,width:s,height:i})=>{return(!!t||!(!s||!i))&&(!!(r=e)&&Ry.indexOf(r)>-1);var r}))),0===a.length)return void Promise.resolve().then((()=>{if(this.hls){e.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(e.levels[0].attrs)}`);const t=new Error("no level with compatible codecs found in manifest");this.hls.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:e.url,error:t,reason:t.message})}}));if(e.audioTracks){const{preferManagedMediaSource:t}=this.hls.config;n=e.audioTracks.filter((e=>!e.audioCodec||MA(e.audioCodec,"audio",t))),rE(n)}e.subtitles&&(o=e.subtitles,rE(o));const h=a.slice(0);a.sort(((t,e)=>{if(t.attrs["HDCP-LEVEL"]!==e.attrs["HDCP-LEVEL"])return(t.attrs["HDCP-LEVEL"]||"")>(e.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&t.height!==e.height)return t.height-e.height;if(t.frameRate!==e.frameRate)return t.frameRate-e.frameRate;if(t.videoRange!==e.videoRange)return Ry.indexOf(t.videoRange)-Ry.indexOf(e.videoRange);if(t.videoCodec!==e.videoCodec){const s=UA(t.videoCodec),i=UA(e.videoCodec);if(s!==i)return i-s}if(t.uri===e.uri&&t.codecSet!==e.codecSet){const s=jA(t.codecSet),i=jA(e.codecSet);if(s!==i)return i-s}return t.averageBitrate!==e.averageBitrate?t.averageBitrate-e.averageBitrate:0}));let c=h[0];if(this.steering&&(a=this.steering.filterParsedLevels(a),a.length!==h.length))for(let t=0;ts&&s===$w.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=t)}break}const d=r&&!i,u={levels:a,audioTracks:n,subtitleTracks:o,sessionData:e.sessionData,sessionKeys:e.sessionKeys,firstLevel:this._firstLevel,stats:e.stats,audio:r,video:i,altAudio:!d&&n.some((t=>!!t.url))};this.hls.trigger(tg.MANIFEST_PARSED,u),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return 0===this._levels.length?null:this._levels}get level(){return this.currentLevelIndex}set level(t){const e=this._levels;if(0===e.length)return;if(t<0||t>=e.length){const s=new Error("invalid level idx"),i=t<0;if(this.hls.trigger(tg.ERROR,{type:eg.OTHER_ERROR,details:sg.LEVEL_SWITCH_ERROR,level:t,fatal:i,error:s,reason:s.message}),i)return;t=Math.min(t,e.length-1)}const s=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,n=e[t],o=n.attrs["PATHWAY-ID"];if(this.currentLevelIndex=t,this.currentLevel=n,s===t&&n.details&&i&&r===o)return;this.log(`Switching to level ${t} (${n.height?n.height+"p ":""}${n.videoRange?n.videoRange+" ":""}${n.codecSet?n.codecSet+" ":""}@${n.bitrate})${o?" with Pathway "+o:""} from level ${s}${r?" with Pathway "+r:""}`);const a={level:t,attrs:n.attrs,details:n.details,bitrate:n.bitrate,averageBitrate:n.averageBitrate,maxBitrate:n.maxBitrate,realBitrate:n.realBitrate,width:n.width,height:n.height,codecSet:n.codecSet,audioCodec:n.audioCodec,videoCodec:n.videoCodec,audioGroups:n.audioGroups,subtitleGroups:n.subtitleGroups,loaded:n.loaded,loadError:n.loadError,fragmentError:n.fragmentError,name:n.name,id:n.id,uri:n.uri,url:n.url,urlId:0,audioGroupIds:n.audioGroupIds,textGroupIds:n.textGroupIds};this.hls.trigger(tg.LEVEL_SWITCHING,a);const h=n.details;if(!h||h.live){const t=this.switchParams(n.uri,null==i?void 0:i.details,h);this.loadPlaylist(t)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(t){this.manualLevelIndex=t,void 0===this._startLevel&&(this._startLevel=t),-1!==t&&(this.level=t)}get firstLevel(){return this._firstLevel}set firstLevel(t){this._firstLevel=t}get startLevel(){if(void 0===this._startLevel){const t=this.hls.config.startLevel;return void 0!==t?t:this.hls.firstAutoLevel}return this._startLevel}set startLevel(t){this._startLevel=t}onError(t,e){!e.fatal&&e.context&&e.context.type===ry&&e.context.level===this.level&&this.checkRetry(e)}onFragBuffered(t,{frag:e}){if(void 0!==e&&e.type===ay){const t=e.elementaryStreams;if(!Object.keys(t).some((e=>!!t[e])))return;const s=this._levels[e.level];null!=s&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(t,e){var s;const{level:i,details:r}=e,n=this._levels[i];var o;if(!n)return this.warn(`Invalid level index ${i}`),void(null!=(o=e.deliveryDirectives)&&o.skip&&(r.deltaUpdateFailed=!0));i===this.currentLevelIndex?(0===n.fragmentError&&(n.loadError=0),this.playlistLoaded(i,e,n.details)):null!=(s=e.deliveryDirectives)&&s.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(t){super.loadPlaylist();const e=this.currentLevelIndex,s=this.currentLevel;if(s&&this.shouldLoadPlaylist(s)){let i=s.uri;if(t)try{i=t.addDirectives(i)}catch(t){this.warn(`Could not construct new URL with HLS Delivery Directives: ${t}`)}const r=s.attrs["PATHWAY-ID"];this.log(`Loading level index ${e}${void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:""} with${r?" Pathway "+r:""} ${i}`),this.clearTimer(),this.hls.trigger(tg.LEVEL_LOADING,{url:i,level:e,pathwayId:s.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(t){this.level=t,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=t)}removeLevel(t){var e;const s=this._levels.filter(((e,s)=>s!==t||(this.steering&&this.steering.removeLevel(e),e===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,e.details&&e.details.fragments.forEach((t=>t.level=-1))),!1)));Hy(s),this._levels=s,this.currentLevelIndex>-1&&null!=(e=this.currentLevel)&&e.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(tg.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(t,{levels:e}){this._levels=e}checkMaxAutoUpdated(){const{autoLevelCapping:t,maxAutoLevel:e,maxHdcpLevel:s}=this.hls;this._maxAutoLevel!==e&&(this._maxAutoLevel=e,this.hls.trigger(tg.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:e,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s}))}}function rE(t){const e={};t.forEach((t=>{const s=t.groupId||"";t.id=e[s]=e[s]||0,e[s]++}))}class nE{constructor(t){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=t}abort(t){for(const s in this.keyUriToKeyInfo){const i=this.keyUriToKeyInfo[s].loader;if(i){var e;if(t&&t!==(null==(e=i.context)?void 0:e.frag.type))return;i.abort()}}}detach(){for(const t in this.keyUriToKeyInfo){const e=this.keyUriToKeyInfo[t];(e.mediaKeySessionContext||e.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[t]}}destroy(){this.detach();for(const t in this.keyUriToKeyInfo){const e=this.keyUriToKeyInfo[t].loader;e&&e.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(t,e=sg.KEY_LOAD_ERROR,s,i,r){return new jb({type:eg.NETWORK_ERROR,details:e,fatal:!1,frag:t,response:r,error:s,networkDetails:i})}loadClear(t,e){if(this.emeController&&this.config.emeEnabled){const{sn:s,cc:i}=t;for(let t=0;t{r.setKeyFormat(t)}));break}}}}load(t){return!t.decryptdata&&t.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(t).then((e=>this.loadInternal(t,e))):this.loadInternal(t)}loadInternal(t,e){var s,i;e&&t.setKeyFormat(e);const r=t.decryptdata;if(!r){const s=new Error(e?`Expected frag.decryptdata to be defined after setting format ${e}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(t,sg.KEY_LOAD_ERROR,s))}const n=r.uri;if(!n)return Promise.reject(this.createKeyLoadError(t,sg.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${n}"`)));let o=this.keyUriToKeyInfo[n];if(null!=(s=o)&&s.decryptdata.key)return r.key=o.decryptdata.key,Promise.resolve({frag:t,keyInfo:o});var a;if(null!=(i=o)&&i.keyLoadPromise)switch(null==(a=o.mediaKeySessionContext)?void 0:a.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then((e=>(r.key=e.keyInfo.decryptdata.key,{frag:t,keyInfo:o})))}switch(o=this.keyUriToKeyInfo[n]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===r.keyFormat?this.loadKeyHTTP(o,t):this.loadKeyEME(o,t);case"AES-128":return this.loadKeyHTTP(o,t);default:return Promise.reject(this.createKeyLoadError(t,sg.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(t,e){const s={frag:e,keyInfo:t};if(this.emeController&&this.config.emeEnabled){const e=this.emeController.loadKey(s);if(e)return(t.keyLoadPromise=e.then((e=>(t.mediaKeySessionContext=e,s)))).catch((e=>{throw t.keyLoadPromise=null,e}))}return Promise.resolve(s)}loadKeyHTTP(t,e){const s=this.config,i=new(0,s.loader)(s);return e.keyLoader=t.loader=i,t.keyLoadPromise=new Promise(((r,n)=>{const o={keyInfo:t,frag:e,responseType:"arraybuffer",url:t.decryptdata.uri},a=s.keyLoadPolicy.default,h={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(t,e,s,i)=>{const{frag:o,keyInfo:a,url:h}=s;if(!o.decryptdata||a!==this.keyUriToKeyInfo[h])return n(this.createKeyLoadError(o,sg.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),i));a.decryptdata.key=o.decryptdata.key=new Uint8Array(t.data),o.keyLoader=null,a.loader=null,r({frag:o,keyInfo:a})},onError:(t,s,i,r)=>{this.resetLoader(s),n(this.createKeyLoadError(e,sg.KEY_LOAD_ERROR,new Error(`HTTP Error ${t.code} loading key ${t.text}`),i,Qm({url:o.url,data:void 0},t)))},onTimeout:(t,s,i)=>{this.resetLoader(s),n(this.createKeyLoadError(e,sg.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),i))},onAbort:(t,s,i)=>{this.resetLoader(s),n(this.createKeyLoadError(e,sg.INTERNAL_ABORTED,new Error("key loading aborted"),i))}};i.load(o,h,c)}))}resetLoader(t){const{frag:e,keyInfo:s,url:i}=t,r=s.loader;e.keyLoader===r&&(e.keyLoader=null,s.loader=null),delete this.keyUriToKeyInfo[i],r&&r.destroy()}}function oE(){return self.SourceBuffer||self.WebKitSourceBuffer}function aE(){if(!PA())return!1;const t=oE();return!t||t.prototype&&"function"==typeof t.prototype.appendBuffer&&"function"==typeof t.prototype.remove}class hE{constructor(t,e,s,i){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=t,this.media=e,this.fragmentTracker=s,this.hls=i}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(t,e){const{config:s,media:i,stalled:r}=this;if(null===i)return;const{currentTime:n,seeking:o}=i,a=this.seeking&&!o,h=!this.seeking&&o;if(this.seeking=o,n!==t){if(this.moved=!0,o||(this.nudgeRetry=0),null!==r){if(this.stallReported){const t=self.performance.now()-r;ag.warn(`playback not stuck anymore @${n}, after ${Math.round(t)}ms`),this.stallReported=!1}this.stalled=null}return}if(h||a)return void(this.stalled=null);if(i.paused&&!o||i.ended||0===i.playbackRate||!Cb.getBuffered(i).length)return void(this.nudgeRetry=0);const c=Cb.bufferInfo(i,n,0),l=c.nextStart||0;if(o){const t=c.len>2,s=!l||e&&e.start<=n||l-n>2&&!this.fragmentTracker.getPartialFragment(n);if(t||s)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var d;if(!(c.len>0)&&!l)return;const t=Math.max(l,c.start||0)-n,e=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,s=(null==e||null==(d=e.details)?void 0:d.live)?2*e.details.targetduration:2,r=this.fragmentTracker.getPartialFragment(n);if(t>0&&(t<=s||r))return void(i.paused||this._trySkipBufferHole(r))}const u=self.performance.now();if(null===r)return void(this.stalled=u);const p=u-r;if(!o&&p>=250&&(this._reportStall(c),!this.media))return;const f=Cb.bufferInfo(i,n,s.maxBufferHole);this._tryFixBufferStall(f,p)}_tryFixBufferStall(t,e){const{config:s,fragmentTracker:i,media:r}=this;if(null===r)return;const n=r.currentTime,o=i.getPartialFragment(n);if(o){if(this._trySkipBufferHole(o)||!this.media)return}(t.len>s.maxBufferHole||t.nextStart&&t.nextStart-n1e3*s.highBufferWatchdogPeriod&&(ag.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(t){const{hls:e,media:s,stallReported:i}=this;if(!i&&s){this.stallReported=!0;const i=new Error(`Playback stalling at @${s.currentTime} due to low buffer (${JSON.stringify(t)})`);ag.warn(i.message),e.trigger(tg.ERROR,{type:eg.MEDIA_ERROR,details:sg.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:t.len})}}_trySkipBufferHole(t){const{config:e,hls:s,media:i}=this;if(null===i)return 0;const r=i.currentTime,n=Cb.bufferInfo(i,r,0),o=r0&&n.len<1&&i.readyState<3,c=o-r;if(c>0&&(a||h)){if(c>e.maxBufferHole){const{fragmentTracker:e}=this;let s=!1;if(0===r){const t=e.getAppendedFrag(0,ay);t&&o1?(t=0,this.bitrateTest=!0):t=s.firstAutoLevel),s.nextLoadLevel=t,this.level=s.loadLevel,this.loadedmetadata=!1}e>0&&-1===t&&(this.log(`Override startPosition with lastCurrentTime @${e.toFixed(3)}`),t=e),this.state=Kb,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}else this._forceStartLoad=!0,this.state=Wb}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case sv:{const{levels:t,level:e}=this,s=null==t?void 0:t[e],i=null==s?void 0:s.details;if(i&&(!i.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(i))break;this.state=Kb;break}if(this.hls.nextLoadLevel!==this.level){this.state=Kb;break}break}case qb:{var t;const e=self.performance.now(),s=this.retryDate;if(!s||e>=s||null!=(t=this.media)&&t.seeking){const{levels:t,level:e}=this,s=null==t?void 0:t[e];this.resetStartWhenNotLoaded(s||null),this.state=Kb}}}this.state===Kb&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){const{hls:t,levelLastLoaded:e,levels:s,media:i}=this;if(null===e||!i&&(this.startFragRequested||!t.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;const r=t.nextLoadLevel;if(null==s||!s[r])return;const n=s[r],o=this.getMainFwdBufferInfo();if(null===o)return;const a=this.getLevelDetails();if(a&&this._streamEnded(o,a)){const t={};return this.altAudio&&(t.type="video"),this.hls.trigger(tg.BUFFER_EOS,t),void(this.state=$b)}t.loadLevel!==r&&-1===t.manualLevel&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=t.nextLoadLevel=r;const h=n.details;if(!h||this.state===sv||h.live&&this.levelLastLoaded!==n)return this.level=r,void(this.state=sv);const c=o.len,l=this.getMaxBufferLength(n.maxBitrate);if(c>=l)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);const d=this.backtrackFragment?this.backtrackFragment.start:o.end;let u=this.getNextFragment(d,h);if(this.couldBacktrack&&!this.fragPrevious&&u&&"initSegment"!==u.sn&&this.fragmentTracker.getState(u)!==Eb){var p;const t=(null!=(p=this.backtrackFragment)?p:u).sn-h.startSN,e=h.fragments[t-1];e&&u.cc===e.cc&&(u=e,this.fragmentTracker.removeFragment(e))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(u&&this.isLoopLoading(u,d)){if(!u.gap){const t=this.audioOnly&&!this.altAudio?fg:mg,e=(t===mg?this.videoBuffer:this.mediaBuffer)||this.media;e&&this.afterBufferFlushed(e,t,ay)}u=this.getNextFragmentLoopLoading(u,h,o,ay,l)}u&&(!u.initSegment||u.initSegment.data||this.bitrateTest||(u=u.initSegment),this.loadFragment(u,n,d))}loadFragment(t,e,s){const i=this.fragmentTracker.getState(t);this.fragCurrent=t,i===vb||i===wb?"initSegment"===t.sn?this._loadInitSegment(t,e):this.bitrateTest?(this.log(`Fragment ${t.sn} of level ${t.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(t,e)):(this.startFragRequested=!0,super.loadFragment(t,e,s)):this.clearTrackerIfNeeded(t)}getBufferedFrag(t){return this.fragmentTracker.getBufferedFrag(t,ay)}followingBufferedFrag(t){return t?this.getBufferedFrag(t.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:t,media:e}=this;if(null!=e&&e.readyState){let s;const i=this.getAppendedFrag(e.currentTime);i&&i.start>1&&this.flushMainBuffer(0,i.start-1);const r=this.getLevelDetails();if(null!=r&&r.live){const t=this.getMainFwdBufferInfo();if(!t||t.len<2*r.targetduration)return}if(!e.paused&&t){const e=t[this.hls.nextLoadLevel],i=this.fragLastKbps;s=i&&this.fragCurrent?this.fragCurrent.duration*e.maxBitrate/(1e3*i)+1:0}else s=0;const n=this.getBufferedFrag(e.currentTime+s);if(n){const t=this.followingBufferedFrag(n);if(t){this.abortCurrentFrag();const e=t.maxStartPTS?t.maxStartPTS:t.start,s=t.duration,i=Math.max(n.end,e+Math.min(Math.max(s-this.config.maxFragLookUpTolerance,s*(this.couldBacktrack?.5:.125)),s*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(i,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const t=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,t&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.state){case Qb:case Yb:case qb:case Xb:case Zb:this.state=Kb}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(t,e){super.flushMainBuffer(t,e,this.altAudio?"video":null)}onMediaAttached(t,e){super.onMediaAttached(t,e);const s=e.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),s.addEventListener("playing",this.onvplaying),s.addEventListener("seeked",this.onvseeked),this.gapController=new hE(this.config,s,this.fragmentTracker,this.hls)}onMediaDetaching(){const{media:t}=this;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){const t=this.media,e=t?t.currentTime:null;Xm(e)&&this.log(`Media seeked to ${e.toFixed(3)}`);const s=this.getMainFwdBufferInfo();null!==s&&0!==s.len?this.tick():this.warn(`Main forward buffer length on "seeked" event ${s?s.len:"empty"})`)}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(tg.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(t,e){let s=!1,i=!1;e.levels.forEach((t=>{const e=t.audioCodec;e&&(s=s||-1!==e.indexOf("mp4a.40.2"),i=i||-1!==e.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=s&&i&&!function(){var t;const e=oE();return"function"==typeof(null==e||null==(t=e.prototype)?void 0:t.changeType)}(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=e.levels,this.startFragRequested=!1}onLevelLoading(t,e){const{levels:s}=this;if(!s||this.state!==Kb)return;const i=s[e.level];(!i.details||i.details.live&&this.levelLastLoaded!==i||this.waitForCdnTuneIn(i.details))&&(this.state=sv)}onLevelLoaded(t,e){var s;const{levels:i}=this,r=e.level,n=e.details,o=n.totalduration;if(!i)return void this.warn(`Levels were reset while loading level ${r}`);this.log(`Level ${r} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""}, cc [${n.startCC}, ${n.endCC}] duration:${o}`);const a=i[r],h=this.fragCurrent;!h||this.state!==Yb&&this.state!==qb||h.level!==e.level&&h.loader&&this.abortCurrentFrag();let c=0;if(n.live||null!=(s=a.details)&&s.live){var l;if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;c=this.alignPlaylists(n,a.details,null==(l=this.levelLastLoaded)?void 0:l.details)}if(a.details=n,this.levelLastLoaded=a,this.hls.trigger(tg.LEVEL_UPDATED,{details:n,level:r}),this.state===sv){if(this.waitForCdnTuneIn(n))return;this.state=Kb}this.startFragRequested?n.live&&this.synchronizeToLiveEdge(n):this.setStartPosition(n,c),this.tick()}_handleFragmentLoadProgress(t){var e;const{frag:s,part:i,payload:r}=t,{levels:n}=this;if(!n)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);const o=n[s.level],a=o.details;if(!a)return this.warn(`Dropping fragment ${s.sn} of level ${s.level} after level details were reset`),void this.fragmentTracker.removeFragment(s);const h=o.videoCodec,c=a.PTSKnown||!a.live,l=null==(e=s.initSegment)?void 0:e.data,d=this._getAudioCodec(o),u=this.transmuxer=this.transmuxer||new cS(this.hls,ay,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),p=i?i.index:-1,f=-1!==p,m=new Rb(s.level,s.sn,s.stats.chunkCount,r.byteLength,p,f),g=this.initPTS[s.cc];u.push(r,l,d,h,s,i,a.totalduration,c,m,g)}onAudioTrackSwitching(t,e){const s=this.altAudio;if(!!!e.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const t=this.fragCurrent;t&&(this.log("Switching to main audio track, cancel main fragment load"),t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();const t=this.hls;s&&(t.trigger(tg.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),t.trigger(tg.AUDIO_TRACK_SWITCHED,e)}}onAudioTrackSwitched(t,e){const s=e.id,i=!!this.hls.audioTracks[s].url;if(i){const t=this.videoBuffer;t&&this.mediaBuffer!==t&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=t)}this.altAudio=i,this.tick()}onBufferCreated(t,e){const s=e.tracks;let i,r,n=!1;for(const t in s){const e=s[t];if("main"===e.id){if(r=t,i=e,"video"===t){const e=s[t];e&&(this.videoBuffer=e.buffer)}}else n=!0}n&&i?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(t,e){const{frag:s,part:i}=e;if(s&&s.type!==ay)return;if(this.fragContextChanged(s))return this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),void(this.state===Zb&&(this.state=Kb));const r=i?i.stats:s.stats;this.fragLastKbps=Math.round(8*r.total/(r.buffering.end-r.loading.first)),"initSegment"!==s.sn&&(this.fragPrevious=s),this.fragBufferedComplete(s,i)}onError(t,e){var s;if(e.fatal)this.state=tv;else switch(e.details){case sg.FRAG_GAP:case sg.FRAG_PARSING_ERROR:case sg.FRAG_DECRYPT_ERROR:case sg.FRAG_LOAD_ERROR:case sg.FRAG_LOAD_TIMEOUT:case sg.KEY_LOAD_ERROR:case sg.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ay,e);break;case sg.LEVEL_LOAD_ERROR:case sg.LEVEL_LOAD_TIMEOUT:case sg.LEVEL_PARSING_ERROR:e.levelRetry||this.state!==sv||(null==(s=e.context)?void 0:s.type)!==ry||(this.state=Kb);break;case sg.BUFFER_APPEND_ERROR:case sg.BUFFER_FULL_ERROR:if(!e.parent||"main"!==e.parent)return;if(e.details===sg.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(e)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case sg.INTERNAL_EXCEPTION:this.recoverWorkerError(e)}}checkBuffer(){const{media:t,gapController:e}=this;if(t&&e&&t.readyState){if(this.loadedmetadata||!Cb.getBuffered(t).length){const t=this.state!==Kb?this.fragCurrent:null;e.poll(this.lastCurrentTime,t)}this.lastCurrentTime=t.currentTime}}onFragLoadEmergencyAborted(){this.state=Kb,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(t,{type:e}){if(e!==fg||this.audioOnly&&!this.altAudio){const t=(e===mg?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(t,e,ay),this.tick()}}onLevelsUpdated(t,e){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=e.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:t}=this;if(!t)return;const e=t.currentTime;let s=this.startPosition;if(s>=0&&e0&&(r{const{hls:i}=this;if(!s||this.fragContextChanged(t))return;e.fragmentError=0,this.state=Kb,this.startFragRequested=!1,this.bitrateTest=!1;const r=t.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),i.trigger(tg.FRAG_LOADED,s),t.bitrateTest=!1}))}_handleTransmuxComplete(t){var e;const s="main",{hls:i}=this,{remuxResult:r,chunkMeta:n}=t,o=this.getCurrentContext(n);if(!o)return void this.resetWhenMissingContext(n);const{frag:a,part:h,level:c}=o,{video:l,text:d,id3:u,initSegment:p}=r,{details:f}=c,m=this.altAudio?void 0:r.audio;if(this.fragContextChanged(a))this.fragmentTracker.removeFragment(a);else{if(this.state=Xb,p){if(null!=p&&p.tracks){const t=a.initSegment||a;this._bufferInitSegment(c,p.tracks,t,n),i.trigger(tg.FRAG_PARSING_INIT_SEGMENT,{frag:t,id:s,tracks:p.tracks})}const t=p.initPTS,e=p.timescale;Xm(t)&&(this.initPTS[a.cc]={baseTime:t,timescale:e},i.trigger(tg.INIT_PTS_FOUND,{frag:a,id:s,initPTS:t,timescale:e}))}if(l&&f&&"initSegment"!==a.sn){const t=f.fragments[a.sn-1-f.startSN],e=a.sn===f.startSN,s=!t||a.cc>t.cc;if(!1!==r.independent){const{startPTS:t,endPTS:i,startDTS:r,endDTS:o}=l;if(h)h.elementaryStreams[l.type]={startPTS:t,endPTS:i,startDTS:r,endDTS:o};else if(l.firstKeyFrame&&l.independent&&1===n.id&&!s&&(this.couldBacktrack=!0),l.dropped&&l.independent){const r=this.getMainFwdBufferInfo(),n=(r?r.end:this.getLoadPosition())+this.config.maxBufferHole,h=l.firstKeyFramePTS?l.firstKeyFramePTS:t;if(!e&&n2&&(a.gap=!0);a.setElementaryStreamInfo(l.type,t,i,r,o),this.backtrackFragment&&(this.backtrackFragment=a),this.bufferFragmentData(l,a,h,n,e||s)}else{if(!e&&!s)return void this.backtrack(a);a.gap=!0}}if(m){const{startPTS:t,endPTS:e,startDTS:s,endDTS:i}=m;h&&(h.elementaryStreams[fg]={startPTS:t,endPTS:e,startDTS:s,endDTS:i}),a.setElementaryStreamInfo(fg,t,e,s,i),this.bufferFragmentData(m,a,h,n)}if(f&&null!=u&&null!=(e=u.samples)&&e.length){const t={id:s,frag:a,details:f,samples:u.samples};i.trigger(tg.FRAG_PARSING_METADATA,t)}if(f&&d){const t={id:s,frag:a,details:f,samples:d.samples};i.trigger(tg.FRAG_PARSING_USERDATA,t)}}}_bufferInitSegment(t,e,s,i){if(this.state!==Xb)return;this.audioOnly=!!e.audio&&!e.video,this.altAudio&&!this.audioOnly&&delete e.audio;const{audio:r,video:n,audiovideo:o}=e;if(r){let e=t.audioCodec;const s=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){e&&(e=-1!==e.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");const t=r.metadata;t&&"channelCount"in t&&1!==(t.channelCount||1)&&-1===s.indexOf("firefox")&&(e="mp4a.40.5")}e&&-1!==e.indexOf("mp4a.40.5")&&-1!==s.indexOf("android")&&"audio/mpeg"!==r.container&&(e="mp4a.40.2",this.log(`Android: force audio codec to ${e}`)),t.audioCodec&&t.audioCodec!==e&&this.log(`Swapping manifest audio codec "${t.audioCodec}" for "${e}"`),r.levelCodec=e,r.id="main",this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${e||""}/${t.audioCodec||""}/${r.codec}]`)}n&&(n.levelCodec=t.videoCodec,n.id="main",this.log(`Init video buffer, container:${n.container}, codecs[level/parsed]=[${t.videoCodec||""}/${n.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${t.codecs}/${o.codec}]`),this.hls.trigger(tg.BUFFER_CODECS,e),Object.keys(e).forEach((t=>{const r=e[t].initSegment;null!=r&&r.byteLength&&this.hls.trigger(tg.BUFFER_APPENDING,{type:t,data:r,frag:s,part:null,chunkMeta:i,parent:s.type})})),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,ay)}backtrack(t){this.couldBacktrack=!0,this.backtrackFragment=t,this.resetTransmuxer(),this.flushBufferGap(t),this.fragmentTracker.removeFragment(t),this.fragPrevious=null,this.nextLoadPosition=t.start,this.state=Kb}checkFragmentChanged(){const t=this.media;let e=null;if(t&&t.readyState>1&&!1===t.seeking){const s=t.currentTime;if(Cb.isBuffered(t,s)?e=this.getAppendedFrag(s):Cb.isBuffered(t,s+.1)&&(e=this.getAppendedFrag(s+.1)),e){this.backtrackFragment=null;const t=this.fragPlaying,s=e.level;t&&e.sn===t.sn&&t.level===s||(this.fragPlaying=e,this.hls.trigger(tg.FRAG_CHANGED,{frag:e}),t&&t.level===s||this.hls.trigger(tg.LEVEL_SWITCHED,{level:s}))}}}get nextLevel(){const t=this.nextBufferedFrag;return t?t.level:-1}get currentFrag(){const t=this.media;return t?this.fragPlaying||this.getAppendedFrag(t.currentTime):null}get currentProgramDateTime(){const t=this.media;if(t){const e=t.currentTime,s=this.currentFrag;if(s&&Xm(e)&&Xm(s.programDateTime)){const t=s.programDateTime+1e3*(e-s.start);return new Date(t)}}return null}get currentLevel(){const t=this.currentFrag;return t?t.level:-1}get nextBufferedFrag(){const t=this.currentFrag;return t?this.followingBufferedFrag(t):null}get forceStartLoad(){return this._forceStartLoad}}class lE{static get version(){return"1.5.13"}static isMSESupported(){return aE()}static isSupported(){return function(){if(!aE())return!1;const t=PA();return"function"==typeof(null==t?void 0:t.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((e=>t.isTypeSupported(OA(e,"video"))))||["mp4a.40.2","fLaC"].some((e=>t.isTypeSupported(OA(e,"audio")))))}()}static getMediaSource(){return PA()}static get Events(){return tg}static get ErrorTypes(){return eg}static get ErrorDetails(){return sg}static get DefaultConfig(){return lE.defaultConfig?lE.defaultConfig:$w}static set DefaultConfig(t){lE.defaultConfig=t}constructor(t={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new hS,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,function(t,e){if("object"==typeof console&&!0===t||"object"==typeof t){og(t,"debug","log","info","warn","error");try{ng.log(`Debug logs enabled for "${e}" in hls.js version 1.5.13`)}catch(t){ng=rg}}else ng=rg}(t.debug||!1,"Hls instance");const e=this.config=function(t,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==e.liveMaxLatencyDurationCount&&(void 0===e.liveSyncDurationCount||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==e.liveMaxLatencyDuration&&(void 0===e.liveSyncDuration||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const s=tE(t),i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((t=>{const r=`${"level"===t?"playlist":t}LoadPolicy`,n=void 0===e[r],o=[];i.forEach((i=>{const a=`${t}Loading${i}`,h=e[a];if(void 0!==h&&n){o.push(a);const t=s[r].default;switch(e[r]={default:t},i){case"TimeOut":t.maxLoadTimeMs=h,t.maxTimeToFirstByteMs=h;break;case"MaxRetry":t.errorRetry.maxNumRetry=h,t.timeoutRetry.maxNumRetry=h;break;case"RetryDelay":t.errorRetry.retryDelayMs=h,t.timeoutRetry.retryDelayMs=h;break;case"MaxRetryTimeout":t.errorRetry.maxRetryDelayMs=h,t.timeoutRetry.maxRetryDelayMs=h}}})),o.length&&ag.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${r}": ${JSON.stringify(e[r])}`)})),Qm(Qm({},s),e)}(lE.DefaultConfig,t);this.userConfig=t,e.progressive&&eE(e);const{abrController:s,bufferController:i,capLevelController:r,errorController:n,fpsController:o}=e,a=new n(this),h=this.abrController=new s(this),c=this.bufferController=new i(this),l=this.capLevelController=new r(this),d=new o(this),u=new uy(this),p=new ky(this),f=e.contentSteeringController,m=f?new f(this):null,g=this.levelController=new iE(this,m),A=new Ib(this),y=new nE(this.config),b=this.streamController=new cE(this,A,y);l.setStreamController(b),d.setStreamController(b);const v=[u,g,b];m&&v.splice(1,0,m),this.networkControllers=v;const S=[h,c,l,d,p,A];this.audioTrackController=this.createController(e.audioTrackController,v);const w=e.audioStreamController;w&&v.push(new w(this,A,y)),this.subtitleTrackController=this.createController(e.subtitleTrackController,v);const E=e.subtitleStreamController;E&&v.push(new E(this,A,y)),this.createController(e.timelineController,S),y.emeController=this.emeController=this.createController(e.emeController,S),this.cmcdController=this.createController(e.cmcdController,S),this.latencyController=this.createController(_y,S),this.coreComponents=S,v.push(a);const I=a.onErrorOut;"function"==typeof I&&this.on(tg.ERROR,I,a)}createController(t,e){if(t){const s=new t(this);return e&&e.push(s),s}return null}on(t,e,s=this){this._emitter.on(t,e,s)}once(t,e,s=this){this._emitter.once(t,e,s)}removeAllListeners(t){this._emitter.removeAllListeners(t)}off(t,e,s=this,i){this._emitter.off(t,e,s,i)}listeners(t){return this._emitter.listeners(t)}emit(t,e,s){return this._emitter.emit(t,e,s)}trigger(t,e){if(this.config.debug)return this.emit(t,t,e);try{return this.emit(t,t,e)}catch(e){if(ag.error("An internal error happened while handling event "+t+'. Error message: "'+e.message+'". Here is a stacktrace:',e),!this.triggeringException){this.triggeringException=!0;const s=t===tg.ERROR;this.trigger(tg.ERROR,{type:eg.OTHER_ERROR,details:sg.INTERNAL_EXCEPTION,fatal:s,event:t,error:e}),this.triggeringException=!1}}return!1}listenerCount(t){return this._emitter.listenerCount(t)}destroy(){ag.log("destroy"),this.trigger(tg.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((t=>t.destroy())),this.networkControllers.length=0,this.coreComponents.forEach((t=>t.destroy())),this.coreComponents.length=0;const t=this.config;t.xhrSetup=t.fetchSetup=void 0,this.userConfig=null}attachMedia(t){ag.log("attachMedia"),this._media=t,this.trigger(tg.MEDIA_ATTACHING,{media:t})}detachMedia(){ag.log("detachMedia"),this.trigger(tg.MEDIA_DETACHING,void 0),this._media=null}loadSource(t){this.stopLoad();const e=this.media,s=this.url,i=this.url=Wm.buildAbsoluteURL(self.location.href,t,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,ag.log(`loadSource:${i}`),e&&s&&(s!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(e)),this.trigger(tg.MANIFEST_LOADING,{url:t})}startLoad(t=-1){ag.log(`startLoad(${t})`),this.started=!0,this.networkControllers.forEach((e=>{e.startLoad(t)}))}stopLoad(){ag.log("stopLoad"),this.started=!1,this.networkControllers.forEach((t=>{t.stopLoad()}))}resumeBuffering(){this.started&&this.networkControllers.forEach((t=>{"fragmentLoader"in t&&t.startLoad(-1)}))}pauseBuffering(){this.networkControllers.forEach((t=>{"fragmentLoader"in t&&t.stopLoad()}))}swapAudioCodec(){ag.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){ag.log("recoverMediaError");const t=this._media;this.detachMedia(),t&&this.attachMedia(t)}removeLevel(t){this.levelController.removeLevel(t)}get levels(){const t=this.levelController.levels;return t||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(t){ag.log(`set currentLevel:${t}`),this.levelController.manualLevel=t,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(t){ag.log(`set nextLevel:${t}`),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(t){ag.log(`set loadLevel:${t}`),this.levelController.manualLevel=t}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(t){this.levelController.nextLoadLevel=t}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(t){ag.log(`set firstLevel:${t}`),this.levelController.firstLevel=t}get startLevel(){const t=this.levelController.startLevel;return-1===t&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:t}set startLevel(t){ag.log(`set startLevel:${t}`),-1!==t&&(t=Math.max(t,this.minAutoLevel)),this.levelController.startLevel=t}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(t){const e=!!t;e!==this.config.capLevelToPlayerSize&&(e?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=e)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimate():NaN}set bandwidthEstimate(t){this.abrController.resetEstimator(t)}get ttfbEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimateTTFB():NaN}set autoLevelCapping(t){this._autoLevelCapping!==t&&(ag.log(`set autoLevelCapping:${t}`),this._autoLevelCapping=t,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(t){(function(t){return Cy.indexOf(t)>-1})(t)&&this._maxHdcpLevel!==t&&(this._maxHdcpLevel=t,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return-1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:t,config:{minAutoBitrate:e}}=this;if(!t)return 0;const s=t.length;for(let i=0;i=e)return i;return 0}get maxAutoLevel(){const{levels:t,autoLevelCapping:e,maxHdcpLevel:s}=this;let i;if(i=-1===e&&null!=t&&t.length?t.length-1:e,s)for(let e=i;e--;){const i=t[e].attrs["HDCP-LEVEL"];if(i&&i<=s)return e}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(t){this.abrController.nextAutoLevel=t}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(t){var e;return null==(e=this.audioTrackController)?void 0:e.setAudioOption(t)}setSubtitleOption(t){var e;return null==(e=this.subtitleTrackController)||e.setSubtitleOption(t),null}get allAudioTracks(){const t=this.audioTrackController;return t?t.allAudioTracks:[]}get audioTracks(){const t=this.audioTrackController;return t?t.audioTracks:[]}get audioTrack(){const t=this.audioTrackController;return t?t.audioTrack:-1}set audioTrack(t){const e=this.audioTrackController;e&&(e.audioTrack=t)}get allSubtitleTracks(){const t=this.subtitleTrackController;return t?t.allSubtitleTracks:[]}get subtitleTracks(){const t=this.subtitleTrackController;return t?t.subtitleTracks:[]}get subtitleTrack(){const t=this.subtitleTrackController;return t?t.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(t){const e=this.subtitleTrackController;e&&(e.subtitleTrack=t)}get subtitleDisplay(){const t=this.subtitleTrackController;return!!t&&t.subtitleDisplay}set subtitleDisplay(t){const e=this.subtitleTrackController;e&&(e.subtitleDisplay=t)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(t){this.config.lowLatencyMode=t}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}}function dE(t,e){const s=pE();return(dE=function(t,e){return s[t-=408]})(t,e)}lE.defaultConfig=void 0;const uE=dE;function pE(){const t=["h265","paused","_initRenderSize","mediaTime","destroy","type","$videoElement","totalVideoFrames","31686DdgliA","init","length","player","_bindEvents","ErrorTypes","then","bind","42VZDsqW","BUFFER_FLUSHING","KEY_LOADING","FRAG_DECRYPTED","supportVideoFrameCallbackHandle","removeAttribute","max","debugLog","position"," ,currentTime is ","_stopCanvasRender","182RCmsBZ","884618mZeWiG","playbackRate","_startFpsInterval","width","forEach","MANIFEST_LOADING 开始加载playlist m3u8资源","MEDIA_DETACHING","bandwidthEstimateInterval","initVideoEvents","canplay","handleRender","fpsInterval","buffered","initVideoPlay","handlePlayToRenderTimes","hls","isDestroyedOrClosed","isInitInfo","NETWORK_ERROR","currentTime","events","fatal","MANIFEST_LOADED playlist m3u8文件加载完成","decodeStart","bandwidthEstimate","absolute","Events","FRAG_PARSING_INIT_SEGMENT","height","hlsFps","_stopBandwidthEstimateInterval","push","video","metadata","debugError","FPS_DROP","checkHlsBufferedDelay ","muted","startLoad","waiting","indexOf","video canplay","16TOKnLq","src","339005DiocQV","toFixed","video is paused and replay error ","video is paused and replay success","pause","MANIFEST_LOADING","12975252svVEup","video play","BUFFER_APPENDING","updateStats"," , try to seek ","useCanvasRender"," < 0, and buffered is ","video waiting","getFps","BUFFER_APPENDED","_startBandwidthEstimateInterval","MEDIA_ATTACHED","5317722AFapaS","videoFrameCallback","style","kBps","hlsPrevFrams","webkitDecodedFrameCount","ratechange","isSupported","FRAG_LOADED","eventsDestroy","13WfoPHp","videoStart","timeUpdate","updateVideoInfo","422106qfNKfL","MEDIA_DETACHED","10YmuEmc"," to ","TAG_NAME","h264","getVideoPlaybackQuality","_times","init hls error ,not support ","14105729okxoGr","36mjRqbA","_startCanvasRender","_opt","timeStamp","canVideoPlay","canvasRenderInterval","BUFFER_CODECS","requestVideoFrameCallback","audio","_initHls","autoplay","updateAudioInfo","debugWarn","video playback Rate change","cancelVideoFrameCallback","demuxStart","catch","render","createElement","isHlsCanVideoPlay","loadSource","tracks","BUFFER_CREATED"];return(pE=function(){return t})()}!function(t,e){const s=dE,i=t();for(;;)try{if(942553===parseInt(s(507))/1+parseInt(s(487))/2*(parseInt(s(495))/3)+parseInt(s(456))/4*(-parseInt(s(414))/5)+-parseInt(s(446))/6*(-parseInt(s(506))/7)+-parseInt(s(412))/8*(parseInt(s(432))/9)+-parseInt(s(448))/10*(parseInt(s(455))/11)+parseInt(s(420))/12*(parseInt(s(442))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pE);class fE extends mi{constructor(t){const e=dE;super(),this[e(490)]=t,this[e(450)]="HlsDecoder",t[e(458)],this[e(460)]=!1,this[e(485)]=null,this.canvasRenderInterval=null,this[e(514)]=null,this[e(518)]=null,this.hlsFps=0,this.hlsPrevFrams=0,this[e(524)]=!1,this[e(441)]=[],this[e(499)]=null,this.player[e(475)]()?(this[e(485)]=this[e(490)].video[e(485)],this[e(460)]=!0):lE[e(439)]()?(this[e(485)]=this[e(490)][e(539)].$videoElement,this[e(522)]=new lE({}),this[e(465)](),this[e(491)]()):this[e(490)][e(541)](this[e(450)],e(454)),this[e(490)].debugLog(this[e(450)],e(488))}[uE(483)](){return new Promise(((t,e)=>{const s=dE;if(this[s(499)]&&this.$videoElement&&(this.$videoElement[s(470)](this[s(499)]),this[s(499)]=null),this[s(522)]&&(this[s(522)][s(483)](),this.hls=null),this.eventsDestroy.length&&(this.eventsDestroy[s(511)]((t=>t())),this[s(441)]=[]),this[s(524)]=!1,this[s(505)](),this._stopBandwidthEstimateInterval(),this._stopFpsInterval(),this[s(490)][s(458)][s(425)]&&this.$videoElement){this[s(485)][s(418)]&&(this[s(485)][s(418)](),this[s(485)][s(544)]=!0),this.$videoElement[s(526)]=0,this[s(485)][s(413)]&&(this[s(485)][s(413)]="",this.$videoElement[s(500)](s(413)));try{this.$videoElement.load()}catch(t){}}this[s(485)]=null,this[s(536)]=0,this[s(490)][s(502)](this[s(450)],"destroy"),setTimeout((()=>{t()}),0)}))}checkHlsBufferedDelay(){const t=uE,e=this[t(485)];let s=0;const i=e[t(519)],r=i[t(489)]?i.end(i[t(489)]-1):0;return s=r-e[t(526)],s<0&&(this[t(490)].debugWarn(this.TAG_NAME,t(543)+s+t(426)+r+t(504)+e.currentTime+t(424)+e[t(526)]+t(449)+r),e.currentTime=r,s=0),s}[uE(428)](){return this.hlsFps}[uE(457)](){const t=uE;ei()?this[t(499)]=this[t(485)][t(463)](this[t(433)][t(494)](this)):(this[t(505)](),this[t(461)]=setInterval((()=>{const e=t;this[e(490)].video[e(473)]({$video:this.$videoElement,ts:parseInt(1e3*this.$videoElement[e(526)],10)||0})}),40))}_stopCanvasRender(){const t=uE;this[t(461)]&&(clearInterval(this[t(461)]),this.canvasRenderInterval=null)}videoFrameCallback(t){const e=uE;let s=arguments[e(489)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this[e(490)][e(523)]())return void this.player[e(502)](this[e(450)],"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math[e(501)](s[e(482)],this[e(485)][e(526)]),10)||0;this[e(490)][e(539)][e(473)]({$video:this[e(485)],ts:i}),this.player[e(517)](),this.player[e(423)]({dts:i}),this.supportVideoFrameCallbackHandle=this[e(485)].requestVideoFrameCallback(this.videoFrameCallback[e(494)](this))}_startBandwidthEstimateInterval(){const t=uE;this[t(537)](),this[t(514)]=setInterval((()=>{const e=t;let s=0;this.hls[e(531)]&&(s=this[e(522)][e(531)]),this[e(490)].emit(B[e(435)],(s/1024/8/10)[e(415)](2))}),1e3)}[uE(537)](){const t=uE;this[t(514)]&&(clearInterval(this[t(514)]),this.bandwidthEstimateInterval=null)}_startFpsInterval(){const t=uE;this[t(505)](),this[t(518)]=setInterval((()=>{const e=t;if(this.$videoElement)if(Cs(this.$videoElement[e(452)])){const t=this[e(485)].getVideoPlaybackQuality();this[e(536)]=t[e(486)]-this[e(436)],this[e(436)]=t[e(486)]}else{const t=this[e(485)][e(437)]||0;this[e(536)]=t-this[e(436)],this[e(436)]=t}}),1e3)}_stopFpsInterval(){const t=uE;this[t(518)]&&(clearInterval(this[t(518)]),this.fpsInterval=null)}[uE(465)](){const t=uE;this[t(490)]._opt[t(425)]&&(this[t(485)]=document[t(474)](t(539)),this[t(485)][t(544)]=!0,Ye()&&(this[t(485)][t(434)][t(503)]=t(532)),this[t(515)]()),this[t(522)].attachMedia(this[t(485)])}[uE(491)](){const t=uE,e=this[t(490)],{proxy:s}=this[t(490)].events;this[t(522)];const i=this.$videoElement,r=ei(),n=s(i,ht[t(444)],(s=>{const i=t;if(this[i(522)]){const t=parseInt(s[i(459)],10);this[i(490)][i(458)][i(425)]&&Js(r)&&e[i(423)]({ts:t,dts:t})}}));this[t(441)][t(538)](n),this[t(522)].on(lE[t(533)].ERROR,((e,s)=>{const i=t;if(s[i(528)])switch(s[i(484)]){case lE[i(492)][i(525)]:this[i(490)][i(468)](this[i(450)],"fatal network error encountered, try to recover"),this[i(522)][i(408)]();break;case lE[i(492)].MEDIA_ERROR:this[i(490)][i(468)](this[i(450)],"fatal media error encountered, try to recover"),this.hls.recoverMediaError()}})),this.hls.on(lE[t(533)].MEDIA_ATTACHING,(()=>{})),this[t(522)].on(lE[t(533)][t(431)],(()=>{})),this.hls.on(lE[t(533)][t(513)],(()=>{})),this[t(522)].on(lE.Events[t(447)],(()=>{})),this[t(522)].on(lE[t(533)].BUFFER_RESET,(()=>{})),this[t(522)].on(lE[t(533)][t(462)],(()=>{})),this.hls.on(lE[t(533)][t(478)],(()=>{})),this[t(522)].on(lE[t(533)][t(422)],((e,s)=>{const i=t;this[i(490)][i(502)](this.TAG_NAME,i(422),s[i(484)])})),this[t(522)].on(lE.Events[t(429)],(()=>{})),this.hls.on(lE[t(533)].BUFFER_EOS,(()=>{})),this[t(522)].on(lE.Events[t(496)],(()=>{})),this[t(522)].on(lE[t(533)].BUFFER_FLUSHED,(()=>{})),this[t(522)].on(lE[t(533)][t(419)],(()=>{const e=t;this[e(490)][e(502)](this[e(450)],e(512))})),this[t(522)].on(lE[t(533)].MANIFEST_LOADED,((e,s)=>{const i=t;this.player.debugLog(this.TAG_NAME,i(529),s.url)})),this[t(522)].on(lE[t(533)].MANIFEST_PARSED,(()=>{const s=t;this[s(490)].debugLog(this[s(450)],"MANIFEST_PARSED playlist m3u8解析完成"),!e[s(453)].demuxStart&&(e[s(453)][s(471)]=Be())})),this.hls.on(lE[t(533)].LEVEL_LOADING,(()=>{})),this.hls.on(lE.Events.LEVEL_LOADED,((t,e)=>{})),this[t(522)].on(lE[t(533)].FRAG_LOADING,(()=>{})),this.hls.on(lE[t(533)][t(440)],((s,i)=>{const r=t;!e[r(453)][r(530)]&&(e[r(453)].decodeStart=Be())})),this[t(522)].on(lE[t(533)].BUFFER_APPENDING,(()=>{const s=t;!e[s(453)][s(443)]&&(e[s(453)][s(443)]=Be(),e[s(521)]())})),this[t(522)].on(lE[t(533)][t(498)],(()=>{})),this[t(522)].on(lE.Events[t(497)],(()=>{})),this[t(522)].on(lE.Events[t(497)],(()=>{})),this[t(522)].on(lE[t(533)][t(542)],(t=>{})),this[t(522)].on(lE[t(533)].FPS_DROP_LEVEL_CAPPING,(t=>{})),this[t(522)].on(lE[t(533)].FRAG_PARSING_INIT_SEGMENT,((e,s)=>{const i=t;this[i(490)][i(502)](this[i(450)],i(534),s);const r=!!(s&&s[i(477)]&&s[i(477)][i(464)]),n=!!(s&&s[i(477)]&&s[i(477)][i(539)]);if(r&&s[i(477)].audio){let t=s.tracks[i(464)];const e=t[i(540)]&&t[i(540)].channelCount?t[i(540)].channelCount:0,r=t.codec;this[i(490)][i(464)]&&this[i(490)].audio[i(467)]({encType:r,channels:e,sampleRate:44100})}if(n&&s[i(477)][i(539)]){let t=s.tracks[i(539)];const e={encTypeCode:-1!==t.codec[i(410)]("avc")?z[i(451)]:z[i(479)]};t[i(540)]&&(e[i(510)]=t[i(540)].width,e[i(535)]=t[i(540)][i(535)]),this[i(490)].video&&this[i(490)][i(539)].updateVideoInfo(e)}}))}initVideoPlay(t){const e=uE;this[e(490)][e(458)][e(425)]&&(this[e(485)]=document[e(474)](e(539)),this[e(515)]()),this[e(485)][e(466)]=!0,this[e(485)][e(544)]=!0,this[e(485)].src=t}[uE(481)](){const t=uE;!this[t(524)]&&(this[t(490)][t(539)][t(445)]({width:this[t(485)].videoWidth,height:this[t(485)].videoHeight}),this[t(490)].video.initCanvasViewSize(),this[t(524)]=!0)}initVideoEvents(){const t=uE,{proxy:e}=this.player[t(527)],s=e(this[t(485)],ht[t(516)],(()=>{const e=t;this[e(490)][e(502)](this[e(450)],e(411)),this.$videoElement.play().then((()=>{const t=e;this[t(490)].debugLog(this.TAG_NAME,t(421)),this[t(457)](),this[t(481)]()}))[e(472)]((t=>{const s=e;this[s(490)][s(468)](this[s(450)],"video play error ",t)}))})),i=e(this.$videoElement,ht[t(409)],(()=>{const e=t;this[e(490)][e(502)](this[e(450)],e(427))})),r=e(this[t(485)],ht[t(444)],(e=>{const s=t,i=parseInt(e[s(459)],10);this[s(490)][s(517)](),this[s(490)].updateStats({ts:i}),this[s(485)][s(480)]&&(this[s(490)][s(468)](this[s(450)],"video is paused and next try to replay"),this[s(485)].play()[s(493)]((()=>{const t=s;this[t(490)][t(502)](this[t(450)],t(417))}))[s(472)]((t=>{const e=s;this[e(490)].debugWarn(this[e(450)],e(416),t)})))})),n=e(this.$videoElement,ht[t(438)],(()=>{const e=t;this[e(490)][e(502)](this[e(450)],e(469),this[e(485)]&&this[e(485)][e(508)])}));this[t(441)][t(538)](s,i,r,n)}[uE(476)](t){return new Promise(((e,s)=>{const i=dE;this[i(460)]?(this[i(520)](t),this[i(430)](),this[i(509)](),e()):this[i(522)].on(lE[i(533)][i(431)],(()=>{const s=i;this[s(522)][s(476)](t),this[s(430)](),this[s(509)](),e()}))}))}}function mE(t,e){var s=gE();return(mE=function(t,e){return s[t-=488]})(t,e)}function gE(){var t=["1167BrzVqu","2784104pWEqjp","35MDUwSg","2426924fyYtQv","18euRQue","696834FEqHPV","6364771XhFuzI","2572AVCuuD","1282440tNnIkJ","81491UoDGyU"];return(gE=function(){return t})()}function AE(){const t=["retryCheckFunc","getPrototypeOf","responseType","XHR","json","replace","retryCount","status","_runing","destroy","_receivedLength","text","onCancel","_canceled","_retryCheckFunc",",done,","Content-Length","call","range","shift","_processTask","getReader","currentTarget","isFetchSupport","_loadCompleteReject","_alive","exec","request","method","send","loader","_running","_onCancel","type","setRequestHeader","_startLoad",",index,","[task request setTimeout],retry","body","58454DhkNcp","1508nZCdDr","promise","signal","timeout","_queue","_loadChunk","_config","1897ycrUBB","catch","_onProgress","content-length","map","abort","_withCredentials","url","priOptions","_writeIdx","_onProcessMinLen","emit","number","_logger","resolve","xhr.onerror.status:","split","open","[xhr_loader->],tast :","23248gnPtxA","GET","[object Date]","1386954bvEvUN","[task request catch err]","getAllResponseHeaders","options","_aborted",", end,","isArray","slice","_timeout","transformRequest",",load sub range, ","【fetchLoader,onProgress call】,task,","【fetchLoader,onProgress cache】,len,","_xhr","response","isFetch","_responseType","readyState","keys","816jLQHvk","vid","age","isNaN","_method","then","_currentTask",",range,","TAG_NAME","read","running","concat","ARRAY_BUFFER","TEXT","index","_url","object","player","reject","【xhrLoader task】, range","【fetchLoader,onProgress extra end】,len,",", allRange, ","463475yfsTds","byteLength","_body","_onLoad",",receivedLength","all","_retryTimer",", start,","_abortController","Range","done","indexOf","_onReadyStatechange","endTime","toString","statusText","_internalOpen",", datalen,","_priOptions","debugLog","append","params","alive","[object Object]","4VCxCcM","forEach","bad network response","_loaderType","value","removeAllListeners","_transformResponse","headers","stringify","_cache","load","_vid","round","target","_firstRtt","_onTimeout",",retry range,","finally","_startTime","106YjHqzt","【fetchLoader,onProgress extra start】,size,","bind","_reader","Task","join","_headers","length","now",", writeIdx,","FETCH","JSON","credentials","toISOString","used","[xhr.send->] tast,","same-origin","assign","prototype","isTimeout","startTime","loaderType","toLowerCase","_loader","3275805Zrbwkv","_index","receiveLen","_retryCount","isSupported","[fetchLoader onProgress end],task,","_credentials","onProgress of bad response.body.getReader","REAL_TIME_SPEED","onload","_loadCompleteResolve","undefined","_timeoutTimer","_request",", done,","[fetch load end], index,","_getHeaders","push","_range","cancel","set","fetch","977420BwlgbY","18ltPmEb","_response","get","onProgress"];return(AE=function(){return t})()}!function(t,e){for(var s=mE,i=t();;)try{if(881018===parseInt(s(493))/1+parseInt(s(497))/2+parseInt(s(494))/3*(parseInt(s(491))/4)+-parseInt(s(496))/5*(-parseInt(s(489))/6)+-parseInt(s(490))/7+-parseInt(s(495))/8*(parseInt(s(488))/9)+parseInt(s(492))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(gE);const yE=TE;!function(t,e){const s=TE,i=t();for(;;)try{if(656205===parseInt(s(413))/1*(parseInt(s(300))/2)+parseInt(s(437))/3*(-parseInt(s(394))/4)+parseInt(s(370))/5+parseInt(s(329))/6+-parseInt(s(307))/7*(-parseInt(s(326))/8)+-parseInt(s(460))/9*(-parseInt(s(459))/10)+-parseInt(s(299))/11*(-parseInt(s(348))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(AE);const bE=2097152,vE={FETCH:"fetch",XHR:"xhr"},SE={ARRAY_BUFFER:"arraybuffer",TEXT:"text",JSON:yE(468)},wE={REAL_TIME_SPEED:"real_time_speed"},EE=Object[yE(431)][yE(384)];function IE(t){const e=yE;if(EE[e(481)](t)!==e(393))return!1;const s=Object[e(465)](t);return null===s||s===Object[e(431)]}function TE(t,e){const s=AE();return(TE=function(t,e){return s[t-=299]})(t,e)}function kE(t){if(!t||null===t[0]||void 0===t[0]||0===t[0]&&(null===t[1]||void 0===t[1]))return;let e="bytes="+t[0]+"-";return t[1]&&(e+=t[1]),e}function _E(t){const e=yE;return encodeURIComponent(t)[e(469)](/%3A/gi,":")[e(469)](/%24/g,"$")[e(469)](/%2C/gi,",")[e(469)](/%20/g,"+")[e(469)](/%5B/gi,"[")[e(469)](/%5D/gi,"]")}function CE(t,e){const s=yE;if(!t)return;if(!e)return t;let i;const r=Object[s(347)](e).map((t=>{const r=s;if(i=e[t],null!=i)return Array[r(335)](i)?t+="[]":i=[i],i[r(311)]((e=>{const s=r;var i;return!function(t){const e=yE;return EE.call(t)===e(328)}(e)?null!==(i=e)&&typeof i===yE(364)&&(e=JSON[s(402)](e)):e=e[s(426)](),_E(t)+"="+_E(e)}))[r(418)]("&")})).filter(Boolean)[s(418)]("&");if(r){const e=t[s(381)]("#");-1!==e&&(t=t[s(336)](0,e)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}function RE(t,e,s,i,r,n,o,a,h,c,l){const d=yE;r=null!=r?parseFloat(r):null,i=parseInt(i||"0",10),Number[d(351)](i)&&(i=0);return{data:t,done:e,option:{range:h,vid:c,index:a,contentLength:i,age:r,startTime:n,firstByteTime:o,endTime:Date[d(421)](),priOptions:l},response:s}}function DE(t,e){return Math[yE(406)](8*t*1e3/e/1024)}class LE extends Error{constructor(t,e,s,i){const r=yE;super(i),vf(this,r(470),0),vf(this,r(432),!1),vf(this,r(434),vE[r(423)]),vf(this,r(433),0),vf(this,r(383),0),vf(this,r(332),{}),this.url=t,this[r(491)]=e,this.response=s}}class xE extends mi{constructor(t){const e=yE;super(),vf(this,"_abortController",null),vf(this,"_timeoutTimer",null),vf(this,e(416),null),vf(this,e(461),null),vf(this,e(333),!1),vf(this,e(438),-1),vf(this,e(455),null),vf(this,e(474),0),vf(this,"_running",!1),vf(this,"_logger",null),vf(this,e(405),""),vf(this,e(317),0),vf(this,e(496),null),vf(this,e(388),null),vf(this,e(356),"FetchLoader"),this[e(365)]=t}[yE(404)](t){const e=yE;var s;let{url:i,vid:r,timeout:n,responseType:o,onProgress:a,index:h,onTimeout:c,onCancel:l,range:d,transformResponse:u,request:p,params:f,logger:m,method:g,headers:A,body:y,mode:b,credentials:v,cache:S,redirect:w,referrer:E,referrerPolicy:I,onProcessMinLen:T,priOptions:k}=t;this[e(333)]=!1,this._onProcessMinLen=T,this[e(496)]=l,this[e(378)]=typeof AbortController!==e(448)&&new AbortController,this[e(495)]=!0,this[e(438)]=h,this[e(455)]=d||[0,0],this[e(405)]=r||i,this[e(388)]=k||{};const _={method:g,headers:A,body:y,mode:b,credentials:v,cache:S,redirect:w,referrer:E,referrerPolicy:I,signal:null===(s=this[e(378)])||void 0===s?void 0:s[e(302)]};let C=!1;clearTimeout(this[e(449)]),i=CE(i,f);const R=kE(d);R&&(A=p?p[e(401)]:_.headers=_[e(401)]||(Headers?new Headers:{}),Headers&&A instanceof Headers?A[e(390)](e(379),R):A[e(379)]=R),n&&(this[e(449)]=setTimeout((()=>{const t=e;if(C=!0,this[t(456)](),c){const e=new LE(i,_,null,"timeout");e.isTimeout=!0,c(e,{index:this[t(438)],range:this._range,vid:this[t(405)],priOptions:this._priOptions})}}),n));const D=Date[e(421)]();return(cs(h)||cs(d))&&this[e(365)].debugLog(this[e(356)],"[fetch load start], index,",h,e(355),d),new Promise(((t,s)=>{const r=e;fetch(p||i,p?void 0:_)[r(353)]((async e=>{const n=r;if(clearTimeout(this[n(449)]),this[n(461)]=e,this[n(333)]||!this[n(495)])return;if(u&&(e=u(e,i)||e),!e.ok)throw new LE(i,_,e,n(396));const c=Date.now();let l;if(o===SE[n(361)])l=await e[n(475)](),this[n(495)]=!1;else if(o===SE[n(424)])l=await e[n(468)](),this[n(495)]=!1;else{if(a)return this[n(321)]=t,this[n(366)]=s,void this._loadChunk(e,a,D,c);{l=await e.arrayBuffer(),l=new Uint8Array(l),this._running=!1;const t=Date[n(421)]()-D,s=DE(l[n(371)],t);this.emit(wE[n(445)],{speed:s,len:l[n(371)],time:t,vid:this[n(405)],index:this[n(438)],range:this._range,priOptions:this._priOptions})}}(cs(h)||cs(d))&&this[n(365)].debugLog(this[n(356)],n(452),h,",range,",d),t(RE(l,!0,e,e[n(401)][n(462)](n(480)),e[n(401)].get(n(350)),D,c,h,d,this[n(405)],this._priOptions))}))[r(308)]((t=>{const e=r;var n;clearTimeout(this[e(449)]),this[e(495)]=!1,this[e(333)]&&!C||((t=t instanceof LE?t:new LE(i,_,null,null===(n=t)||void 0===n?void 0:n.message))[e(433)]=D,t[e(383)]=Date[e(421)](),t[e(432)]=C,t[e(332)]={index:this._index,range:this[e(455)],vid:this[e(405)],priOptions:this._priOptions},s(t))}))}))}async cancel(){const t=yE;if(!this[t(333)]){if(this[t(333)]=!0,this[t(495)]=!1,this[t(461)]){try{this._reader&&await this[t(416)].cancel()}catch(t){}this._response=this._reader=null}if(this._abortController){try{this[t(378)].abort()}catch(t){}this[t(378)]=null}this[t(496)]&&this._onCancel({index:this[t(438)],range:this[t(455)],vid:this[t(405)],priOptions:this[t(388)]})}}[yE(305)](t,e,s,i){const r=yE;if(!t[r(502)]||!t.body[r(485)]){this[r(495)]=!1;const e=new LE(t[r(314)],"",t,r(444));return e.options={index:this[r(438)],range:this[r(455)],vid:this[r(405)],priOptions:this[r(388)]},void this[r(366)](e)}this[r(317)]>0&&(this[r(403)]=new Uint8Array(bE),this[r(316)]=0);const n=this[r(416)]=t.body[r(485)]();let o,a,h;const c=async()=>{const l=r;var d;a=Date.now();try{o=await n[l(357)](),h=Date[l(421)]()}catch(t){return h=Date[l(421)](),void(!this[l(333)]&&(this[l(495)]=!1,t[l(332)]={index:this[l(438)],range:this._range,vid:this._vid,priOptions:this[l(388)]},this.reject(t)))}const u=(null===(d=this._range)||void 0===d?void 0:d[l(420)])>0?this._range[0]:0,p=u+this[l(474)];if(this[l(333)])return this[l(495)]=!1,void e(void 0,!1,{range:[p,p],vid:this[l(405)],index:this[l(438)],startTime:a,endTime:h,st:s,firstByteTime:i,priOptions:this[l(388)]},t);const f=o.value?o.value[l(371)]:0;let m;if(this[l(474)]+=f,this.player[l(389)](this[l(356)],l(340),this[l(455)],l(377),p,l(334),u+this[l(474)],l(451),o[l(380)]),this[l(317)]>0){if(this._writeIdx+f>=this[l(317)]||o[l(380)])m=new Uint8Array(this._writeIdx+f),m.set(this._cache.slice(0,this._writeIdx),0),f>0&&m[l(457)](o[l(398)],this[l(316)]),this[l(316)]=0,this.player[l(389)](this[l(356)],"【fetchLoader,onProgress enough】,done,",o[l(380)],",len,",m[l(371)],", writeIdx,",this._writeIdx);else if(f>0&&this[l(316)]+f0){const t=new Uint8Array(this[l(316)]+f+2048);this[l(365)][l(389)](this.TAG_NAME,l(414),this._writeIdx+f+2048,l(387),f,l(422),this[l(316)]),t[l(457)](this._cache[l(336)](0,this[l(316)]),0),f>0&&t[l(457)](o[l(398)],this._writeIdx),this[l(316)]+=f,delete this._cache,this[l(403)]=t,this.player.debugLog(this[l(356)],l(368),f,l(422),this[l(316)])}}else m=o[l(398)];if((m&&m.byteLength>0||o[l(380)])&&e(m,o[l(380)],{range:[this[l(455)][0]+this[l(474)]-(m?m[l(371)]:0),this[l(455)][0]+this[l(474)]],vid:this._vid,index:this[l(438)],startTime:a,endTime:h,st:s,firstByteTime:i,priOptions:this[l(388)]},t),o[l(380)]){const e=Date[l(421)]()-s,r=DE(this[l(474)],e);this[l(318)](wE[l(445)],{speed:r,len:this[l(474)],time:e,vid:this[l(405)],index:this._index,range:this[l(455)],priOptions:this[l(388)]}),this[l(495)]=!1,this[l(365)].debugLog(this[l(356)],l(442),this[l(455)],l(479),o[l(380)]),this[l(321)](RE(o,!0,t,t.headers[l(462)](l(480)),t[l(401)][l(462)](l(350)),s,i,this[l(438)],this[l(455)],this[l(405)],this._priOptions))}else c()};c()}get[yE(439)](){return this._receivedLength}get[yE(358)](){return this._running}set[yE(358)](t){this[yE(495)]=t}static[yE(441)](){return!(typeof fetch===yE(448))}}class PE{constructor(t,e,s){const i=yE;vf(this,i(356),i(417)),this[i(301)]=function(){const t=yE;let e,s;const i=new Promise(((t,i)=>{e=t,s=i}));return i.used=!1,i[t(321)]=function(){return i[t(427)]=!0,e(...arguments)},i[t(366)]=function(){return i.used=!0,s(...arguments)},i}(),this[i(392)]=!!e[i(463)],this[i(397)]=t,this.player=s,this._loader=t===vE.FETCH&&window[i(458)]?new xE(s):new BE(s),this[i(306)]=e,this._retryCount=0,this[i(376)]=null,this[i(477)]=!1,this[i(478)]=e[i(464)]}[yE(490)](){const{retry:t,retryDelay:e,onRetryError:s,transformError:i,...r}=this._config,n=async()=>{const o=TE;try{const t=await this[o(436)][o(404)](r);this.promise[o(321)](t)}catch(a){if(this._loader[o(358)]=!1,this.player[o(389)](this[o(356)],o(330),a),this[o(477)])return;a.loaderType=this[o(397)],a[o(470)]=this[o(440)];let h=a;i&&(h=i(h)||h),s&&this[o(440)]>0&&s(h,this[o(440)],{index:r[o(362)],vid:r[o(349)],range:r[o(482)],priOptions:r.priOptions}),this[o(440)]++;let c=!0;if(this[o(478)]&&(c=this[o(478)](a)),c&&this[o(440)]<=t)return clearTimeout(this[o(376)]),this.player[o(389)](this[o(356)],o(501),this[o(440)],o(410),r[o(482)]),void(this[o(376)]=setTimeout(n,e));this.promise[o(366)](h)}};return n(),this.promise}async[yE(456)](){const t=yE;return clearTimeout(this[t(376)]),this[t(477)]=!0,this[t(436)][t(358)]=!1,this[t(436)][t(456)]()}get[yE(358)](){const t=yE;return this._loader&&this[t(436)][t(358)]}get[yE(494)](){return this._loader}}class BE extends mi{constructor(t){const e=yE;super(),vf(this,e(342),null),vf(this,e(333),!1),vf(this,e(449),null),vf(this,e(455),null),vf(this,e(474),0),vf(this,"_url",null),vf(this,e(309),null),vf(this,"_index",-1),vf(this,"_headers",null),vf(this,"_currentChunkSizeKB",384),vf(this,e(337),null),vf(this,e(342),null),vf(this,e(313),null),vf(this,e(412),-1),vf(this,e(447),null),vf(this,e(488),null),vf(this,e(472),!1),vf(this,e(320),!1),vf(this,e(405),""),vf(this,"_responseType",void 0),vf(this,e(443),void 0),vf(this,e(352),void 0),vf(this,"_transformResponse",void 0),vf(this,e(408),void 0),vf(this,"_onCancel",null),vf(this,e(388),null),vf(this,e(356),"XhrLoader"),this[e(365)]=t}[yE(404)](t){const e=yE;clearTimeout(this[e(449)]),this[e(455)]=t[e(482)],this[e(309)]=t[e(463)],this._index=t[e(362)],this._headers=t[e(401)],this[e(313)]="include"===t[e(425)]||t.credentials===e(429),this[e(372)]=t[e(502)]||null,t[e(492)]&&(this[e(352)]=t.method),this._timeout=t.timeout||null,this._runing=!0,this[e(405)]=t[e(349)]||t[e(314)],this[e(345)]=t[e(466)],this._firstRtt=-1,this._onTimeout=t.onTimeout,this[e(496)]=t[e(476)],this[e(450)]=t[e(491)],this[e(388)]=t[e(315)]||{},this.player[e(389)](this[e(356)],e(367),this[e(455)]),this[e(363)]=CE(t[e(314)],t[e(391)]);const s=Date[e(421)]();return new Promise(((t,s)=>{const i=e;this[i(447)]=t,this[i(488)]=s,this._startLoad()}))[e(308)]((t=>{const i=e;if(clearTimeout(this[i(449)]),this[i(472)]=!1,!this[i(333)])throw(t=t instanceof LE?t:new LE(this._url,this[i(450)])).startTime=s,t.endTime=Date.now(),t[i(332)]={index:this._index,vid:this[i(405)],priOptions:this[i(388)]},t}))}[yE(499)](){const t=yE;let e=null;if(this[t(345)]===SE[t(360)]&&this._range&&this[t(455)][t(420)]>1)if(this._onProgress){this[t(408)]=-1;const s=1024*this._currentChunkSizeKB,i=this[t(455)][0]+this[t(474)];let r=this[t(455)][1];s{const s=e;var i,r,n;this[s(495)]=!1;const o=new LE(this[s(363)],this[s(450)],null==t||null===(i=t[s(486)])||void 0===i?void 0:i[s(343)],s(322)+(null==t||null===(r=t[s(486)])||void 0===r?void 0:r[s(471)])+",statusText,"+(null==t||null===(n=t.currentTarget)||void 0===n?void 0:n.statusText));o[s(332)]={index:this[s(438)],range:this[s(455)],vid:this[s(405)],priOptions:this._priOptions},this[s(488)](o)},s.ontimeout=t=>{const s=e;this[s(456)]();const i=new LE(this[s(363)],this[s(450)],{status:408},s(303));this._onTimeout&&(i[s(432)]=!0,this[s(409)](i,{index:this[s(438)],range:this[s(455)],vid:this[s(405)],priOptions:this[s(388)]})),i[s(332)]={index:this._index,range:this[s(455)],vid:this[s(405)],priOptions:this[s(388)]},this._loadCompleteReject(i)};const i=this[e(419)]||{},r=kE(t);r&&(i[e(379)]=r),i&&Object[e(347)](i)[e(395)]((t=>{s[e(498)](t,i[t])})),this.player[e(389)](this[e(356)],e(428),this[e(455)],e(339),t),s[e(493)](this[e(372)])}catch(s){s[e(332)]={index:this[e(438)],range:t,vid:this._vid,priOptions:this[e(388)]},this[e(488)](s)}}_onReadyStatechange(t){const e=yE;2===t[e(407)][e(346)]&&this[e(408)]<0&&(this[e(408)]=Date[e(421)]())}[yE(373)](t){const e=yE;var s;const i=t[e(407)][e(471)];if(i<200||i>299){const s=new LE(this._url,null,{...t.target[e(343)],status:i},"bad response,status:"+i);return s[e(332)]={index:this[e(438)],range:this._range,vid:this[e(405)],priOptions:this[e(388)]},this._loadCompleteReject(s)}let r,n=null,o=!1;const a=(null===(s=this[e(455)])||void 0===s?void 0:s[e(420)])>0?this[e(455)][0]:0;if(this[e(345)]===SE.ARRAY_BUFFER){var h;const s=new Uint8Array(t[e(407)][e(343)]);if(r=a+this._receivedLength,s&&s[e(371)]>0){this._receivedLength+=s[e(371)];const t=Date[e(421)]()-this[e(412)],i=DE(this[e(474)],t);this[e(318)](wE[e(445)],{speed:i,len:this[e(474)],time:t,vid:this[e(405)],index:this[e(438)],range:[r,a+this[e(474)]],priOptions:this[e(388)]})}n=s,o=!((null===(h=this[e(455)])||void 0===h?void 0:h[e(420)])>1&&this._range[1]&&this[e(474)]], tast :",this._range,", start",r,"end ",a+this[e(474)],",dataLen,",s?s[e(371)]:0,e(374),this._receivedLength,e(500),this._index,e(451),o)}else o=!0,n=t[e(407)][e(343)];let c={ok:i>=200&&i<300,status:i,statusText:this[e(342)][e(385)],url:this[e(342)].responseURL,headers:this[e(453)](this[e(342)]),body:this._xhr[e(343)]};this[e(400)]&&(c=this[e(400)](c,this[e(363)])||c),this._onProgress&&this[e(309)](n,o,{index:this[e(438)],vid:this[e(405)],range:[r,a+this[e(474)]],startTime:this[e(412)],endTime:Date[e(421)](),priOptions:this._priOptions},c),o?(this[e(472)]=!1,this[e(447)]&&this._loadCompleteResolve(RE(this[e(309)]?null:n,o,c,c[e(401)][e(310)],c[e(401)][e(350)],this[e(412)],this[e(408)],this[e(438)],this[e(455)],this[e(405)],this[e(388)]))):this[e(499)]()}[yE(456)](){const t=yE;if(!this[t(333)])return this[t(333)]=!0,this[t(472)]=!1,super[t(399)](),this[t(496)]&&this._onCancel({index:this[t(438)],range:this._range,vid:this[t(405)],priOptions:this[t(388)]}),this[t(342)]?this[t(342)][t(312)]():void 0}static[yE(441)](){return typeof XMLHttpRequest!==yE(448)}get[yE(439)](){return this[yE(474)]}get[yE(358)](){return this[yE(495)]}set[yE(358)](t){this[yE(495)]=t}_getHeaders(t){const e=yE,s=t[e(331)]().trim()[e(323)]("\r\n"),i={};for(const t of s){const s=t.split(": ");i[s[0][e(435)]()]=s.slice(1)[e(418)](": ")}return i}}class ME extends mi{constructor(t,e){const s=yE;super(),vf(this,s(497),vE.FETCH),vf(this,"_queue",[]),vf(this,"_alive",[]),vf(this,s(354),null),vf(this,s(306),void 0),this[s(365)]=e,this[s(306)]=function(t){const e=yE;return{loaderType:vE.FETCH,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:SE[e(361)],range:void 0,url:"",params:void 0,method:e(327),headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0,...t}}(t),(this[s(306)][s(434)]===vE.XHR||!xE[s(441)]())&&(this.type=vE[s(467)])}[yE(473)](){const t=yE;this[t(304)]=[],this._alive=[],this[t(354)]=null}[yE(344)](){return this.type===vE.FETCH}static[yE(487)](){return xE[yE(441)]()}load(t){const e=yE;let s=arguments[e(420)]>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof t&&t?s=t:s[e(314)]=t||s.url||this[e(306)][e(314)],s=Object[e(430)]({},this[e(306)],s),s[e(391)]&&(s.params=Object.assign({},s[e(391)])),s[e(401)]&&IE(s[e(401)])&&(s[e(401)]=Object[e(430)]({},s[e(401)])),s[e(502)]&&IE(s.body)&&(s[e(502)]=Object[e(430)]({},s[e(502)])),s[e(338)]&&(s=s[e(338)](s)||s);const i=new PE(this[e(497)],s,this.player);return i[e(494)].on(wE[e(445)],(t=>{this[e(318)](wE.REAL_TIME_SPEED,t)})),this[e(304)][e(454)](i),1===this._queue.length&&(!this[e(354)]||!this._currentTask[e(358)])&&this[e(484)](),i[e(301)]}async[yE(456)](){const t=yE,e=this[t(304)].map((e=>e[t(456)]()))[t(359)](this[t(489)][t(311)]((e=>e[t(456)]())));this._currentTask&&e[t(454)](this[t(354)][t(456)]()),this[t(304)]=[],this[t(489)]=[],await Promise[t(375)](e),await function(){let t=arguments[Re(503)]>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((e=>setTimeout(e,t)))}()}[yE(484)](){const t=yE;if(this[t(354)]=this[t(304)][t(483)](),!this[t(354)])return;this._currentTask.alive&&this._alive[t(454)](this[t(354)]);const e=this[t(354)][t(490)]()[t(308)]((t=>{}));e&&"function"==typeof e[t(411)]&&e[t(411)]((()=>{const e=t;var s,i;null!==(s=this[e(354)])&&void 0!==s&&s[e(392)]&&(null===(i=this[e(489)])||void 0===i?void 0:i[e(420)])>0&&(this._alive=this._alive.filter((t=>t&&t!==this[e(354)]))),this[e(484)]()}))}}const FE=OE;function OE(t,e){const s=NE();return(OE=function(t,e){return s[t-=471]})(t,e)}!function(t,e){const s=OE,i=t();for(;;)try{if(615097===parseInt(s(485))/1+parseInt(s(495))/2+-parseInt(s(471))/3*(parseInt(s(476))/4)+-parseInt(s(475))/5+parseInt(s(478))/6+parseInt(s(474))/7+-parseInt(s(473))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(NE);const UE={NETWORK:FE(472),NETWORK_TIMEOUT:FE(493),NETWORK_FORBIDDEN:FE(477),OTHER:FE(486),MANIFEST:FE(490),HLS:FE(484),DEMUX:"demux"};class jE extends Error{constructor(t,e,s,i,r){const n=FE;super(r||(null==s?void 0:s[n(488)])),this.errorType=t===UE[n(482)]?UE[n(492)]:t,this[n(480)]=s,this[n(479)]=i,this[n(491)]=this.message}static[FE(487)](t,e,s,i,r){return t instanceof jE?t:(t instanceof Error&&(s=t,t=""),t||(t=UE[FE(489)]),new jE(t,e,s,i,r))}static[FE(472)](t){const e=FE;var s;return new jE(null!=t&&t[e(481)]?UE.NETWORK_TIMEOUT:UE[e(492)],null,t instanceof Error?t:null,{url:null==t?void 0:t.url,response:null==t?void 0:t[e(494)],httpCode:null==t||null===(s=t.response)||void 0===s?void 0:s[e(483)]})}}function NE(){const t=["network_timeout","response","1870078NinGtM","409704rSLgQV","network","3416000BboCkC","1655255qQqINN","137810AhxCWl","32gKZVZB","network_forbidden","5313180WugPPz","ext","originError","isTimeout","NETWORK_TIMEOUT","status","hls","105169lNEosd","other","create","message","OTHER","manifest","errorMessage","NETWORK"];return(NE=function(){return t})()}const VE=ZE;!function(t,e){const s=ZE,i=t();for(;;)try{if(767017===parseInt(s(275))/1+-parseInt(s(293))/2*(-parseInt(s(376))/3)+parseInt(s(316))/4*(-parseInt(s(309))/5)+parseInt(s(349))/6*(parseInt(s(281))/7)+-parseInt(s(271))/8*(-parseInt(s(321))/9)+parseInt(s(329))/10+-parseInt(s(379))/11*(parseInt(s(269))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(aI);const zE=/^#(EXT[^:]*)(?::(.*))?$/,GE=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,HE=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,WE=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function KE(t){const e=ZE,s=t.match(zE);if(s&&s[1])return[s[1].replace(e(328),""),s[2]]}function QE(t){const e=ZE,s={};let i=GE.exec(t);for(;i;)s[i[1]]=i[2]||i[3],i=GE[e(302)](t);return s}function YE(t,e){if(!e||!t||HE[ZE(381)](t))return t;const s=WE.exec(e);return s?"/"===t[0]?s[1]+t:s[1]+s[2]+t:t}const qE={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function JE(t,e){const s=ZE,i=qE[t];if(i&&e&&e.length)for(let t=0;t>8*(15-e)&255}}}function aI(){const t=["METHOD","text","slice","7qhXjTh","name","totalDuration","isInitSegment","ENDLIST","identity","map","lang","split","MEDIA-SEQUENCE","AUTOSELECT","version","3494vZnfsk","SUBTITLE","closedCaptionsStream","audioGroup","url","RESOLUTION","#EXTINF:","ClosedCaptions","MAP","exec","TARGETDURATION","subtitleGroup","segments","bitrate","live","keyFormat","96440oOBWSu","CHANNELS","duration","AUDIO","key","textCodec","includes","272HaPJwB","KEYFORMATVERSIONS","channels","isLast","forEach","45RAiKat","CODECS","PLAYLIST-TYPE","LANGUAGE","TYPE","targetDuration","filter","EXT-X-","502950lfYoZG","KEYFORMAT","isMaster","streams","setIVFromSN","audioStreams","MEDIA","AES-128","AVERAGE-BANDWIDTH","subtitleStreams","number","hasVideo","mediaType","width","SubTitle","STREAM-INF","audio","YES","NONE","trim","5100798cazOtD","#EXT-X-TARGETDURATION:","title","clone","EXTINF","videoCodec","group","DISCONTINUITY","SUBTITLES","URI","initSegment","end","endCC","push","start","byteRange","setByteRange","isMediaPlaylist","VERSION","VIDEO","Video","parse","keyFormatVersions","hasAudio","autoSelect","endSN","encrypt ","147dbHLMl","DEFAULT","startSN","11TJrPCp","default","test","setTrackExist","KEY","15538332dGlRCP","audioCodec","2023904JQMQvt","method","CLOSED-CAPTIONS","startCC","1122491OdtNXP","type","length"];return(aI=function(){return t})()}class hI{static[VE(370)](){const t=VE;let e=arguments[t(277)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(277)]>1?arguments[1]:void 0;if(!e.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");const i=function(t){const e=ZE;return t.split(/[\r\n]/)[e(287)]((t=>t[e(348)]()))[e(327)](Boolean)}(e);return hI[t(366)](e)?function(t,e){const s=VE,i=new rI;i.url=e;let r,n=new nI,o=null,a=null,h=0,c=0,l=0,d=0,u=!1;for(;(r=t[d++])&&!u;){if("#"!==r[0]){n.sn=c,n.cc=l,n[s(297)]=YE(r,e),a&&(n[s(313)]=a[s(352)](c)),o&&(n[s(359)]=o),i[s(305)][s(362)](n),n=new nI,c++;continue}const t=KE(r);if(!t)continue;const[d,p]=t;switch(d){case s(367):i[s(292)]=parseInt(p);break;case s(323):i[s(276)]=null==p?void 0:p.toUpperCase();break;case s(303):i[s(326)]=parseFloat(p);break;case s(285):{const t=i[s(305)][i[s(305)][s(277)]-1];t&&(t.isLast=!0),i.live=!1,u=!0}break;case s(290):c=i[s(378)]=parseInt(p);break;case"DISCONTINUITY-SEQUENCE":l=i[s(274)]=parseInt(p);break;case s(356):l++;break;case"BYTERANGE":n[s(365)](p,i[s(305)][i[s(305)][s(277)]-1]);break;case s(353):{const[t,e]=p[s(289)](",");n[s(363)]=h,n[s(311)]=parseFloat(t),h+=n[s(311)],n[s(351)]=e}break;case s(268):{const t=QE(p);if(t.METHOD===s(347)){a=null;break}if(t[s(278)]!==s(336))throw new Error(s(375)+t[s(278)]+"/"+t[s(330)]+" is not supported");if(a=new oI,a[s(272)]=t[s(278)],a[s(297)]=/^blob:/[s(381)](t[s(358)])?t[s(358)]:YE(t.URI,e),a[s(308)]=t[s(330)]||s(286),a[s(371)]=t[s(317)],t.IV){let e=t.IV[s(280)](2);e=(1&e[s(277)]?"0":"")+e,a.iv=new Uint8Array(e[s(277)]/2);for(let t=0,i=e.length/2;t{t.id=e})),o.length&&(o.forEach(((t,e)=>{t.id=e})),i[s(332)][s(320)]((t=>{const e=s;t[e(296)]&&(t[e(334)]=o[e(327)]((s=>s[e(355)]===t[e(296)])))}))),a[s(277)]&&(a[s(320)](((t,e)=>{t.id=e})),i[s(332)][s(320)]((t=>{const e=s;t.subtitleGroup&&(t[e(338)]=a[e(327)]((s=>s.group===t[e(304)])))}))),i}(i,s)}static[VE(366)](t){const e=VE;return t[e(315)](e(299))||t[e(315)](e(350))}}const cI=dI;function lI(){const t=["player","12EADXnp","_audioLoader","_loader","network","live","hls","cancel","1333232XomSIV","poll","_subtitleLoader","MANIFEST","length","HLS_LEVEL_LOADED","HLS_MANIFEST_LOADED","parse","LOAD_RETRY","emit","all","_onLoaderRetry","debugLog","18464CXqMKJ","35FaQshb","TAG_NAME","config","text","load","data","304683PVExPC","segments","stopPoll","38500VExlJA","2753055YhCGRI","destroy","625495GAAytd","push","132738mLcmvz","pollRetryCount","_timer"];return(lI=function(){return t})()}function dI(t,e){const s=lI();return(dI=function(t,e){return s[t-=221]})(t,e)}!function(t,e){const s=dI,i=t();for(;;)try{if(143605===parseInt(s(251))/1*(parseInt(s(231))/2)+-parseInt(s(258))/3+parseInt(s(222))/4+-parseInt(s(225))/5+parseInt(s(227))/6*(parseInt(s(252))/7)+-parseInt(s(238))/8+parseInt(s(223))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lI);class uI{constructor(t){const e=dI;vf(this,"_onLoaderRetry",((t,e)=>{const s=dI;this[s(236)].emit(vt[s(246)],{error:jE[s(234)](t),retryTime:e})})),this.hls=t,this.player=t.player,this[e(253)]="HlsManifestLoader",this[e(229)]=null;const{retryCount:s,retryDelay:i,loadTimeout:r,fetchOptions:n}=this.hls.config;this[e(233)]=new ME({...n,responseType:e(255),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(249)]},this[e(230)]),this[e(232)]=new ME({...n,responseType:e(255),retry:s,retryDelay:i,timeout:r,onRetryError:this._onLoaderRetry},this[e(230)]),this[e(240)]=new ME({...n,responseType:"text",retry:s,retryDelay:i,timeout:r,onRetryError:this._onLoaderRetry},this[e(230)])}async[cI(224)](){const t=cI;await this[t(221)](),this[t(232)]&&(this[t(232)][t(224)](),this[t(232)]=null),this[t(240)]&&(this[t(240)][t(224)](),this[t(240)]=null),this[t(233)]&&(this[t(233)].destroy(),this[t(233)]=null)}async[cI(256)](t,e,s){const i=cI;this[i(230)][i(250)](this.TAG_NAME,"load()",t,e,s);const r=[this._loader[i(256)](t)];let n,o,a,h,c,l;e&&r[i(226)](this[i(232)][i(256)](e)),s&&r[i(226)](this[i(240)][i(256)](s));try{const[t,s,h]=await Promise.all(r);if(!t)return[];n=t.data,e?(o=null==s?void 0:s.data,a=null==h?void 0:h.data):a=null==s?void 0:s[i(257)]}catch(t){throw jE[i(234)](t)}try{var d;if(h=hI[i(245)](n,t),!1===(null===(d=h)||void 0===d?void 0:d[i(235)])&&h[i(259)]&&!h[i(259)][i(242)])throw new Error("empty segments list");o&&(c=hI[i(245)](o,e)),a&&(l=hI[i(245)](a,s))}catch(t){throw new jE(UE[i(241)],UE.HLS,t)}return h&&(h.isMaster?this.hls[i(247)](vt[i(244)],{playlist:h}):this[i(236)][i(247)](vt[i(243)],{playlist:h})),[h,c,l]}[cI(239)](t,e,s,i,r,n){const o=cI;clearTimeout(this[o(229)]),n=n||3e3;let a=this.hls[o(254)][o(228)];const h=async()=>{const c=o;clearTimeout(this[c(229)]);try{const r=await this[c(256)](t,e,s);if(!r[0])return;a=this[c(236)].config.pollRetryCount,i(r[0],r[1],r[2])}catch(t){a--,a<=0&&r(t)}this[c(229)]=setTimeout(h,n)};this[o(229)]=setTimeout(h,n)}[cI(221)](){const t=cI;return clearTimeout(this[t(229)]),this[t(237)]()}[cI(237)](){const t=cI;return Promise[t(248)]([this[t(233)].cancel(),this[t(232)][t(237)]()])}}function pI(t,e){var s=mI();return(pI=function(t,e){return s[t-=176]})(t,e)}var fI=pI;function mI(){var t=["22UkEXYw","length","_chunkSpeeds","17142XZFkNm","_speeds","reset","push","98MVpgMJ","152rxZdZf","1999476hMUxoa","addChunkRecord","1011530hmSaQY","5647KnhiwX","reduce","897252cGfCef","slice","93904kNGmsE","6226990AevRWU","getLatestSpeed","addRecord"];return(mI=function(){return t})()}!function(t,e){for(var s=pI,i=t();;)try{if(378098===-parseInt(s(195))/1*(parseInt(s(183))/2)+-parseInt(s(186))/3*(parseInt(s(191))/4)+-parseInt(s(194))/5+-parseInt(s(177))/6+parseInt(s(190))/7*(parseInt(s(179))/8)+parseInt(s(192))/9+parseInt(s(180))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mI);class gI{constructor(){vf(this,"_chunkSpeeds",[]),vf(this,"_speeds",[])}[fI(182)](t,e){var s=fI;t&&e&&(this[s(187)][s(189)](8e3*t/e),this[s(187)]=this._speeds[s(178)](-3))}[fI(193)](t,e){var s=fI;t&&e&&(this._chunkSpeeds[s(189)](8e3*t/e),this[s(185)]=this[s(185)][s(178)](-100))}getAvgSpeed(){var t=fI;return this._chunkSpeeds.length||this[t(187)][t(184)]?this[t(187)][t(184)]?this[t(187)][t(176)](((t,e)=>t+e))/this[t(187)][t(184)]:this._chunkSpeeds[t(176)](((t,e)=>t+e))/this[t(185)][t(184)]:0}[fI(181)](){var t=fI;return this[t(185)].length||this._speeds.length?this[t(187)].length?this[t(187)][this[t(187)][t(184)]-1]:this._chunkSpeeds[this._chunkSpeeds[t(184)]-1]:0}[fI(188)](){var t=fI;this[t(185)]=[],this[t(187)]=[]}}function AI(){const t=["arraybuffer","LOAD_RESPONSE_HEADERS","reset","emit","getAvgSpeed","_bandwidthService","20SwPdeY","all","544064aBccGG","player","103125TnooQz","_audioSegmentLoader","218382EXwFjA","key","load","length","_keyCache","LOAD_RETRY","_loadSegment","getLatestSpeed","resetBandwidth","error","keys","destroy","then","url","cancel","LOAD_START","_keyLoader","9qcLdZj","_mapCache","_emitOnLoaded","speedInfo","_segmentLoader","addRecord","SPEED","initSegment","220623mlrgJs","2vGCiqF","10926810QTijDa","4344809bNnNKu","loadVideoSegment","hls","byteLength","headers","config","4573842zIYriI","data","_onLoaderRetry","loadAudioSegment"];return(AI=function(){return t})()}const yI=bI;function bI(t,e){const s=AI();return(bI=function(t,e){return s[t-=327]})(t,e)}!function(t,e){const s=bI,i=t();for(;;)try{if(547119===parseInt(s(350))/1*(parseInt(s(376))/2)+parseInt(s(375))/3+-parseInt(s(344))/4*(parseInt(s(348))/5)+parseInt(s(334))/6+parseInt(s(328))/7+parseInt(s(346))/8*(parseInt(s(367))/9)+-parseInt(s(327))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(AI);class vI{constructor(t){const e=bI;vf(this,e(369),((t,s)=>{const i=e,{data:r,response:n,option:o}=t,{firstByteTime:a,startTime:h,endTime:c,contentLength:l}=o||{},d=c-h;this[i(343)][i(372)](l||r[i(331)],d),this[i(330)][i(341)](vt[i(373)],{time:d,byteLength:l,url:s}),this[i(330)].emit(vt.LOAD_COMPLETE,{url:s,elapsed:d||0}),this[i(330)].emit(vt.TTFB,{url:s,responseUrl:n[i(363)],elapsed:a-h}),this[i(330)].emit(vt[i(339)],{headers:n[i(332)]})})),vf(this,e(336),((t,s)=>{const i=e;this[i(330)][i(341)](vt[i(355)],{error:jE.network(t),retryTime:s})})),this[e(330)]=t,this[e(347)]=t[e(347)],this._bandwidthService=new gI;const{retryCount:s,retryDelay:i,loadTimeout:r,fetchOptions:n}=this[e(330)][e(333)];this[e(371)]=new ME({...n,responseType:e(338),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(336)]},this.player),this[e(349)]=new ME({...n,responseType:e(338),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(336)]},this.player),this._keyLoader=new ME({...n,responseType:e(338),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(336)]},this[e(347)])}[yI(361)](){const t=yI;this[t(340)](),this._keyLoader&&(this[t(366)].destroy(),this._keyLoader=null),this._audioSegmentLoader&&(this[t(349)][t(361)](),this[t(349)]=null),this[t(371)]&&(this[t(371)].destroy(),this[t(371)]=null)}[yI(370)](){const t=yI;return{speed:this._bandwidthService[t(357)](),avgSpeed:this._bandwidthService[t(342)]()}}[yI(358)](){const t=yI;this[t(343)][t(340)]()}[yI(352)](t,e,s){const i=yI;let r=arguments[i(353)]>3&&void 0!==arguments[3]?arguments[3]:s;const n=[];return t&&(n[0]=this.loadVideoSegment(t,s)),e&&(n[1]=this[i(337)](e,r)),Promise[i(345)](n)}[yI(329)](t,e){const s=yI;return this[s(356)](this[s(371)],t,e)}loadAudioSegment(t,e){const s=yI;return this[s(356)](this[s(349)],t,e)}async[yI(356)](t,e,s){const i=yI;var r;let n,o,a,h,c;const l=[];if(this[i(330)][i(341)](vt[i(365)],{url:e.url}),l[0]=t[i(352)](e[i(363)]),s&&e[i(374)]){var d;const s=e[i(374)][i(363)];n=this._mapCache[s],!n&&(this[i(330)][i(341)](vt[i(365)],{url:s}),l[1]=t[i(352)](s)[i(362)]((t=>{const e=i;if(t){Object[e(360)](this[e(368)])>30&&(this[e(368)]={}),n=this[e(368)][s]=t.data,this[e(369)](t,s)}})));const r=null===(d=e.initSegment[i(351)])||void 0===d?void 0:d[i(363)];r&&(c=e[i(374)][i(351)].iv,h=this[i(354)][r],!h&&(this[i(330)][i(341)](vt[i(365)],{url:r}),l[2]=this[i(366)][i(352)](r)[i(362)]((t=>{const e=i;t&&(h=this[e(354)][r]=t[e(335)],this._emitOnLoaded(t,r))}))))}const u=null===(r=e[i(351)])||void 0===r?void 0:r[i(363)];u&&(a=e[i(351)].iv,o=this._keyCache[u],!o&&(this.hls[i(341)](vt[i(365)],{url:u}),l[3]=this[i(366)].load(u)[i(362)]((t=>{const e=i;t&&(o=this._keyCache[u]=t[e(335)],this[e(369)](t,u))}))));const[p]=await Promise[i(345)](l);if(!p)return;const f=p[i(335)];return this[i(369)](p,e[i(363)]),{data:f,map:n,key:o,mapKey:h,keyIv:a,mapKeyIv:c}}[yI(340)](){const t=yI;this[t(359)]=null,this[t(368)]={},this._keyCache={},this[t(343)][t(340)]()}async cancel(){const t=yI;await Promise[t(345)]([this[t(366)].cancel(),this._segmentLoader[t(364)](),this[t(349)][t(364)]()])}}function SI(t,e){const s=II();return(SI=function(t,e){return s[t-=303]})(t,e)}const wI=SI;!function(t,e){const s=SI,i=t();for(;;)try{if(148498===parseInt(s(348))/1*(parseInt(s(317))/2)+-parseInt(s(307))/3*(parseInt(s(309))/4)+-parseInt(s(334))/5+parseInt(s(313))/6+parseInt(s(347))/7*(-parseInt(s(327))/8)+parseInt(s(320))/9+parseInt(s(331))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(II);class EI{constructor(t,e,s){const i=SI;this.live=void 0,this.id=0,this[i(345)]=0,this[i(318)]=0,this.height=0,this.name="",this.url="",this.audioCodec="",this.videoCodec="",this.textCodec="",this[i(329)]=0,this[i(324)]=0,this[i(314)]=0,this[i(352)]=-1,this[i(321)]=0,this[i(319)]=0,this.snDiff=null,this[i(350)]=[],this[i(304)]=[],this.subtitleStreams=[],this.closedCaptions=[],this[i(353)]=null,this[i(305)]=null,this[i(340)]="HlsStream",this[i(312)](t,e,s)}get lastSegment(){const t=SI;return this[t(350)][t(316)]?this[t(350)][this.segments.length-1]:null}get segmentDuration(){const t=SI;var e;return this[t(319)]||(null===(e=this[t(350)][0])||void 0===e?void 0:e[t(328)])||0}get[wI(343)](){return this[wI(337)]}get endTime(){const t=wI;var e;return(null===(e=this[t(330)])||void 0===e?void 0:e[t(351)])||0}get[wI(333)](){const t=wI;var e;return(null===(e=this[t(305)])||void 0===e?void 0:e[t(352)])||0}[wI(323)](t,e){return this._clearSegments(t,e)}getAudioSegment(t){const e=wI;if(!t||!this[e(353)])return;const s=t.sn-this.snDiff;return this[e(353)][e(350)].find((t=>t.sn===s))}[wI(312)](t,e){const s=wI;this[s(346)]=t[s(346)],Array.isArray(t[s(350)])?((null===this[s(322)]||void 0===this.live)&&(this[s(322)]=t[s(322)]),this[s(308)](t,this),this[s(329)]=t[s(329)],this[s(324)]=t[s(324)],this[s(314)]=t[s(314)],this[s(352)]=t.endSN||-1,this[s(321)]=t.totalDuration,this.targetDuration=t[s(319)],this[s(322)]=t[s(322)],e&&this[s(353)]&&Array[s(339)](e[s(350)])&&(this._updateSegments(e,this[s(353)]),(null===this[s(349)]||void 0===this[s(349)])&&t.segments[s(316)]&&e[s(350)][s(316)]&&(this.snDiff=t[s(350)][0].sn-e[s(350)][0].sn))):(this.id=t.id,this.bitrate=t[s(345)],this[s(318)]=t.width,this.height=t[s(354)],this.name=t[s(325)],this.audioCodec=t[s(344)],this.videoCodec=t.videoCodec,this[s(315)]=t[s(315)],this[s(304)]=t[s(304)],this.subtitleStreams=t[s(310)],!this[s(353)]&&this[s(304)][s(316)]&&(this.currentAudioStream=this[s(304)][s(336)]((t=>t[s(326)]))||this[s(304)][0]),!this[s(305)]&&this[s(310)][s(316)]&&(this[s(305)]=this.subtitleStreams[s(336)]((t=>t[s(326)]))||this.subtitleStreams[0]))}[wI(303)](t){const e=wI;if(!(t&&this.currentSubtitleStream&&Array[e(339)](t.segments)))return;const s=this[e(308)](t,this[e(305)]),i=this[e(305)].segments;return i[e(316)]>100&&(this[e(305)][e(350)]=i[e(311)](100)),s?s.map((t=>{const s=e;return{sn:t.sn,url:t.url,duration:t[s(328)],start:t[s(335)],end:t[s(351)],lang:this[s(305)][s(306)]}})):void 0}[wI(332)](t){const e=wI,s=this.subtitleStreams[e(336)]((s=>s[e(306)]===t)),i=this[e(305)];s&&(this[e(305)]=s,i[e(350)]=[])}[wI(338)](t,e){const s=wI;let i=0;const r=this[s(350)];for(let e=0,s=r.length;e=t){i=e;break}return i>e&&(i=e),i&&(this[s(350)]=this[s(350)][s(311)](i),this.currentAudioStream&&(this[s(353)][s(350)]=this[s(353)][s(350)][s(311)](i))),e-i}_updateSegments(t,e){const s=wI,i=e[s(350)];if(this.live){const r=i[i[s(316)]-1],n=(null==r?void 0:r.sn)||-1;if(nt.sn===n)),a=o<0?t[s(350)]:t[s(350)][s(311)](o+1);if(i.length&&a[s(316)]){let t=r[s(351)];a.forEach((e=>{const i=s;e[i(335)]=t,t=e[i(351)]}));const e=(null==r?void 0:r.cc)||-1;e>a[0].cc&&a[s(341)]((t=>t.cc+=e))}return e.endSN=t[s(352)],e.segments=i.concat(a),a}}else e[s(350)]=t[s(350)]}}function II(){const t=["find","endTime","_clearSegments","isArray","TAG_NAME","forEach","findIndex","liveEdge","audioCodec","bitrate","url","7jSlGtV","17iJamWT","snDiff","segments","end","endSN","currentAudioStream","height","updateSubtitle","audioStreams","currentSubtitleStream","lang","809619NgtAYb","_updateSegments","4abWlEk","subtitleStreams","slice","update","1070862cZXBzG","startSN","textCodec","length","1282xTyhPS","width","targetDuration","2041389GASHGo","totalDuration","live","clearOldSegment","endCC","name","default","1109392bqansI","duration","startCC","lastSegment","1628650wZirCU","switchSubtitle","currentSubtitleEndSn","110075JhunxP","start"];return(II=function(){return t})()}function TI(t,e){var s=_I();return(TI=function(t,e){return s[t-=455]})(t,e)}var kI=TI;function _I(){var t=["checkSegmentTrackChange","236DLqPrl","forEach","getSegmentByIndex","setNextSegmentByIndex()","735270buqdOz","end","_segmentPointer","clearOldSegment() update _segmentPointer:","reduce","url","update","6503544JFRUkN","440MjZBZq"," and clamp result is ","HlsPlaylist","length","TAG_NAME","44715qiMywC","moveSegmentPointer","debugWarn","hasVideo","filter","currentSegments","streams","584163fVkHCL","findSegmentIndexByTime",", this.dvrWindow:","debugLog","clearOldSegment() segments.length:","switchSubtitle"," <= maxPlaylistSize:","live","liveEdge","559390KxTQKF","2181410uvSYfc"," startTime <= 0","currentStream","updateSubtitle","duration","emit","currentSubtitleStream","hls","setNextSegmentByIndex","isArray","dvrWindow","isEmpty","upsertPlaylist() playlist is null","getAudioSegment","lastSegment","start","player","totalDuration","4573790xgDRLS","clearOldSegment","endTime","currentSegment","segments","reset","isMaster","upsertPlaylist","hasAudio"];return(_I=function(){return t})()}!function(t,e){for(var s=TI,i=t();;)try{if(547863===-parseInt(s(455))/1+parseInt(s(484))/2+parseInt(s(468))/3*(-parseInt(s(513))/4)+-parseInt(s(503))/5+-parseInt(s(462))/6+parseInt(s(485))/7+parseInt(s(463))/8*(parseInt(s(475))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(_I);class CI{constructor(t){var e=TI;this[e(492)]=t,this.player=t[e(501)],this[e(474)]=[],this.currentStream=null,this[e(495)]=0,this[e(457)]=-1,this.TAG_NAME=e(465)}destroy(){this[TI(508)]()}get[kI(499)](){var t,e=kI;return null===(t=this.currentStream)||void 0===t?void 0:t[e(499)]}get[kI(506)](){var t,e=kI;return null===(t=this[e(473)])||void 0===t?void 0:t[this[e(457)]]}get nextSegment(){var t;return null===(t=this[kI(473)])||void 0===t?void 0:t[this._segmentPointer+1]}get currentSegments(){var t,e=kI;return null===(t=this[e(487)])||void 0===t?void 0:t[e(507)]}get currentSubtitleEndSn(){var t;return null===(t=this.currentStream)||void 0===t?void 0:t.currentSubtitleEndSn}get[kI(483)](){var t,e=kI;return null===(t=this[e(487)])||void 0===t?void 0:t[e(483)]}get totalDuration(){var t,e=kI;return(null===(t=this[e(487)])||void 0===t?void 0:t[e(502)])||0}get seekRange(){var t=kI;const e=this[t(473)];if(e&&e[t(466)])return[e[0][t(500)],e[e[t(466)]-1][t(456)]]}get[kI(496)](){var t;return!(null!==(t=this.currentSegments)&&void 0!==t&&t.length)}get isLive(){var t,e=kI;return null===(t=this[e(487)])||void 0===t?void 0:t[e(482)]}get hasSubtitle(){var t,e=kI;return!(null===(t=this[e(487)])||void 0===t||!t[e(491)])}[kI(498)](t){var e,s=kI;return null===(e=this[s(487)])||void 0===e?void 0:e[s(498)](t)}[kI(469)](t){var e,s=kI;null==t&&(t=this._segmentPointer+1),this[s(457)]=Me(t,-1,null===(e=this[s(473)])||void 0===e?void 0:e.length),this[s(501)][s(478)](this[s(467)],"moveSegmentPointer() and param pos is "+t+s(464)+this._segmentPointer)}[kI(508)](){this[kI(474)]=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}[kI(515)](t){var e;return null===(e=this[kI(473)])||void 0===e?void 0:e[t]}[kI(493)](){var t=kI;let e=arguments[t(466)]>0&&void 0!==arguments[0]?arguments[0]:0;this[t(457)]=e-1,this.player[t(478)](this[t(467)],t(516),e,this[t(457)])}[kI(476)](t){var e=kI;const s=this.currentSegments;if(s){for(let i,r=0,n=s.length;r=i[e(500)]&&tt[i(460)]))[i(514)](((t,e)=>{var s=i;this.streams[e]?this.streams[e][s(461)](t):this[s(474)][e]=new EI(t)})),this[i(487)]=this[i(474)][0];else if(Array[i(494)](t.segments)){const r=this[i(487)];if(r){r[i(461)](t,e,s);const n=r[i(488)](s);n&&this[i(492)][i(490)](vt.SUBTITLE_SEGMENTS,{list:n})}else this[i(508)](),this[i(487)]=this[i(474)][0]=new EI(t,e,s)}this[i(487)]&&this.hls.isLive&&!this[i(495)]&&(this[i(495)]=this[i(473)][i(459)](((t,e)=>t+=e[i(489)]),0))}[kI(480)](t){var e;null===(e=this.currentStream)||void 0===e||e.switchSubtitle(t)}[kI(504)](){var t=kI;let e=arguments[t(466)]>0&&void 0!==arguments[0]?arguments[0]:50;const s=this.currentStream;if(!this[t(495)]||!s)return;const i=s.endTime-this[t(495)];if(i<=0)return void this[t(501)][t(478)](this.TAG_NAME,"clearOldSegment() stream.endTime:"+s[t(505)]+t(477)+this[t(495)]+t(486));const r=s[t(507)];if(r[t(466)]<=e)return void this[t(501)].debugLog(this[t(467)],t(479)+r[t(466)]+t(481)+e);const n=this[t(457)];this[t(457)]=s[t(504)](i,n),this[t(501)][t(478)](this[t(467)],t(458),n,this[t(457)]),this[t(501)][t(478)](this[t(467)],t(473),this[t(473)])}[kI(512)](t,e){var s=kI;const i=this[s(476)](t),r=this[s(515)](i);if(!r)return;if(!r[s(511)]&&!r[s(471)])return;if(2!==e&&r[s(511)]&&r[s(471)])return r;if(r[s(456)]-t>.3)return;const n=this[s(515)](i+1);return n&&(n.hasAudio||n[s(471)])&&(n[s(511)]!==r.hasAudio||n[s(471)]!==r[s(471)])?n:void 0}}function RI(){const t=["data","1725563MOSDcI","20drFppO","player","key","importKey","1003428koPsKZ","27KynnUv","AES-CBC","_decryptSegment","map","CBC","_decryptData","612834zKhUJx","675592zEbfne","subtle","decrypt","226210DuyNaL","AES","encrypt","crypto","14953380Drvsfe","hls","6ZMEyMq","568419tEtKkk","raw","mode"];return(RI=function(){return t})()}const DI=LI;function LI(t,e){const s=RI();return(LI=function(t,e){return s[t-=205]})(t,e)}!function(t,e){const s=LI,i=t();for(;;)try{if(337215===-parseInt(s(212))/1+-parseInt(s(205))/2+parseInt(s(223))/3+-parseInt(s(228))/4*(parseInt(s(216))/5)+-parseInt(s(222))/6*(-parseInt(s(227))/7)+parseInt(s(213))/8*(-parseInt(s(206))/9)+parseInt(s(220))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(RI);DI(215);class xI{constructor(t,e){const s=DI;this[s(221)]=t,this[s(229)]=e;const i=window[s(219)]||window.msCrypto;this.subtle=i&&(i[s(214)]||i.webkitSubtle),this.externalDecryptor=null}[DI(215)](t,e){const s=DI;if(!t&&!e)return;const i=[];return t&&(i[0]=this[s(208)](t)),e&&(i[1]=this[s(208)](e)),Promise.all(i)}async _decryptSegment(t){const e=DI;let s=t[e(226)];return t[e(230)]&&(s=await this[e(211)](t[e(226)],t.key,t.keyIv)),t[e(209)]?Zp(t[e(209)],s):s}async _decryptData(t,e,s){const i=DI;if(this.externalDecryptor)return await this.externalDecryptor.decrypt(t,e,s);if(this[i(214)]){const r=await this[i(214)][i(231)](i(224),e,{name:i(207)},!1,[i(218),i(215)]),n=await this[i(214)].decrypt({name:i(207),iv:s},r,t);return new Uint8Array(n)}t=gu(t),e=gu(e),s=gu(s);return function(t){const{words:e}=t,{sigBytes:s}=t,i=new Uint8Array(s);for(let t=0;t>>2]>>>24-t%4*8&255;return i}(uu[i(217)][i(215)]({ciphertext:t},e,{iv:s,mode:uu[i(225)][i(210)]}))}}function PI(){const t=1,e=2,s="hlsTs";class i{constructor(t){this.type=t.type,this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.seekingMaxDiff=t.seekingMaxDiff||1e4,this.allSampleList=[],this.isDebug=t.debug||!1,this.TAG_NAME=t.type+"LoopWorker",this.debugUuid=t.debugUuid||"xxxx",this.debugLog(this.TAG_NAME,"init",t)}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(t){this.debugLog(this.TAG_NAME,`updateBaseFps() baseFps is ${t}`),this.baseFps=t,this._clearInterval(),this._startInterval()}updatePlayRate(t){this.debugLog(this.TAG_NAME,`updatePlayRate() rate is ${t}`),this.playRate=t,this._clearInterval(),this._startInterval()}seekSampleRange(t){this.debugLog(this.TAG_NAME,`seekSampleRange() time is ${t}`);const s=1e3*t;let i=0,r=-1;for(let t=0;t{let e=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=e),this.startBpsTime||(this.startBpsTime=e);const s=e-this.preLoopTimestamp;if(s>2*t&&this.debugLog(this.TAG_NAME,`loop interval is ${s}ms, more than ${t} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){e-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=e)}}),t)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((r=>{r.type===e?(i.videoListLength++,r.duration&&(this.type===s?i.buferredDuration+=Math.round(r.duration/90):i.buferredDuration+=r.duration)):r.type===t&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let s=null;if(this.allSampleList.length)if(s=this.allSampleList.shift(),s.type===e){postMessage({cmd:"decodeVideo",...s},[s.payload.buffer]);let e=this.allSampleList[0];for(;e&&e.type===t;)s=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...s},[s.payload.buffer]),e=this.allSampleList[0]}else if(s.type===t){postMessage({cmd:"decodeAudio",...s},[s.payload.buffer]);let i=this.allSampleList[0];for(;i;){if(s=this.allSampleList.shift(),s.type===e){postMessage({cmd:"decodeVideo",...s},[s.payload.buffer]),i=null;break}s.type===t&&(postMessage({cmd:"decodeAudio",...s},[s.payload.buffer]),i=this.allSampleList[0])}}}debugLog(t){if(this.isDebug){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i1?e-1:0),i=1;i1?e-1:0),i=1;i{const e=t.data;switch(e.cmd){case"init":r=new i(e.options);break;case"updateBaseFps":r.updateBaseFps(e.baseFps);break;case"updatePlayRate":r.updatePlayRate(e.rate);break;case"seekSampleRange":r.seekSampleRange(e.time);break;case"cleanSampleList":r.cleanSampleList();break;case"setSeekingTime":r.setSeekingTime(e.time);break;case"pause":r.pause();break;case"resume":r.resume();break;case"sample":r.pushSample(e);break;case"destroy":r.destroy(),r=null}}}const BI=MI;function MI(t,e){const s=FI();return(MI=function(t,e){return s[t-=237]})(t,e)}function FI(){const t=["seekSampleRange","samples","660537HpfHiH","2pWVqxo",",\n originPts is ","postMessage","updateStats","payload","splice","destroy","_calculateBaseDts","_isUseWorker","isHevc","_doFixAudioInternal","decodeVideo","isUseMSE","player","timescale","_times","loopWorker","min","_parseAudioData","cryptoPayloadAudio","_baseDts","hlsTs",",\n sample duration is ","_sps","baseDts","TS packet did not start with 0x47","round","_audioNextPts","_parseVideoData","audioTrack","3224812RipTUv","emitVideoSei","emit","_doDecodeByHls","audio gap detected,\n pts is ","36uwXyxm","debugLog","setSeekingTime","_audioPid","playVodRateChange","decodeAudio","debugUuid","objectType","\n ref sample duration is ","_opt",", channel: ","seqHeader","sampleDuration","frames","video","demuxStart","allListLength",",\n originPts is ","initVideoTrack",",\n origin dts is ","_createVideoSample","_lastAudioExceptionGapDot","_pps",",\n duration is ","set","_initLoopWorker","channelCount","probe","_videoPesData","push","_videoNextDts","2017150xNyLDS","start","cts",",\n audio pts: ","end","_pmtId","_isSendAACSeqHeader","_postMessageToLoopWorker","_hasCalcFps","max","originalPts","videoTrack","tempSampleListInfo","_initLoopWorker()","playVod","forEach","demuxAndFix","_audioLastSample","workerClearTimeout",",\n originPts is ","sampleListInfo","isFinite","_videoTimestampBreak","h265","codec","_videoLastSample","pause","_audioCodecType","videoListLength","vps","URL","formatTimescale","pts","_remainingPacketData","_parsePES","cleanSampleList","getInputByteLength",",\n nextPts is ","dts","getSampleVideoListLength","audioListLength","pid is 0x1fff and ignore","h264","_audioTimestampBreak",",\n base dts: ","data","getPlayVodDuration",",\n nextPts is ","TAG_NAME",",\n ref sample duration is ","getSampleAudioListLength","geVodLoadedTime","cryptoPayload","_fix",", sampleRate:","init",",\n first dts is ","sps","listen playVodRateChange","abs","_baseDtsInited","buferredDuration","_basefps",",\n sample Duration is ","sort","_calcDecodeFps","4670974DymmMK","profile: ","samplingFrequencyIndex","initAudioTrack"," ,\n ref Sample DurationInt is ","startPrefixError","error","debugWarn",",\n next dts is ","9bOrFPd","audio","_gopId","type","isSeeking","_codecType","pps","35850jdRJNs","2219VkQPOl","_resetBaseDtsWhenStreamBreaked","Unsupported stream. type: ","\n pts is ","workerUrl","large video gap between chunk,\n next dts is ","isPlayVod","subarray","map","_lastAudioExceptionOverlapDot","_videoPid","buffer","playVodTimeCache","debug","aac parseADTS error","loop worker is not init, can not post message","isIFrame","pid is 17 and ignore","length",",\n detect is: ","_doDecodeVideo",",\n count is ","code","sample","revokeObjectURL","15784grDAGW","byteLength","175755MUHrDt","_demux","aac seq header not send","sampleRate","Unknown pid: ","aac seq header","_lastAudioExceptionLargeGapDot","_audioPesData","_fixVideo","_doDecodeAudio","concat","534bcfRMJ","floor","terminate","cleanSampleListAndSetSeekTime",",\n dts is ","HlsTsDemux"];return(FI=function(){return t})()}!function(t,e){const s=MI,i=t();for(;;)try{if(416297===-parseInt(s(377))/1+parseInt(s(378))/2*(parseInt(s(358))/3)+parseInt(s(408))/4+-parseInt(s(330))/5*(parseInt(s(369))/6)+parseInt(s(331))/7*(-parseInt(s(356))/8)+-parseInt(s(323))/9*(-parseInt(s(248))/10)+parseInt(s(314))/11*(parseInt(s(413))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(FI);class OI extends ep{constructor(t){const e=MI;super(t),this[e(391)]=t,this[e(253)]=-1,this[e(281)]=null,this[e(245)]=[],this[e(365)]=[],this[e(325)]=0,this[e(341)]=-1,this[e(416)]=-1,this[e(328)]=z.h264,this._audioCodecType=H.AAC,this._vps=null,this[e(401)]=null,this[e(239)]=null,this.TAG_NAME=e(374),this.videoTrack=OI[e(431)](),this[e(407)]=OI[e(317)](),this[e(398)]=-1,this._baseDtsInited=!1,this[e(310)]=25,this._hasAudio=!1,this._hasVideo=!1,this[e(405)]=void 0,this[e(247)]=void 0,this._audioTimestampBreak=!1,this[e(270)]=!1,this[e(238)]=0,this[e(340)]=0,this._lastAudioExceptionLargeGapDot=0,this._isSendAACSeqHeader=!1,this[e(266)]=null,this[e(335)]=null,this.loopWorker=null,this.tempSampleListInfo={},this.vps=null,this.sps=null,this[e(329)]=null,this[e(386)]()&&this[e(242)](),this.player[e(337)]()&&this[e(386)]()&&this[e(391)].on(B[e(417)],(t=>{const s=e;this[s(391)].debugLog(this[s(296)],s(306),t),this[s(255)]("updatePlayRate",{rate:t})})),this.player[e(414)](this[e(296)],"init")}[BI(384)](){const t=BI;super[t(384)](),this[t(335)]&&(URL[t(355)](this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this[t(266)]),this[t(266)]=null),this[t(394)]&&(this.loopWorker.postMessage({cmd:t(384)}),this.loopWorker[t(371)](),this[t(394)]=null),this.videoTrack=null,this[t(407)]=null,this[t(260)]={},this[t(398)]=-1,this[t(308)]=!1,this[t(310)]=25,this[t(256)]=!1,this[t(405)]=void 0,this[t(247)]=void 0,this._audioTimestampBreak=!1,this[t(270)]=!1,this._lastAudioExceptionGapDot=0,this[t(340)]=0,this[t(364)]=0,this[t(254)]=!1,this.player[t(414)](this[t(296)],"destroy")}static[BI(431)](){return{samples:[]}}static[BI(317)](){return{samples:[]}}static[BI(244)](t){return!!t[BI(349)]&&(71===t[0]&&71===t[188]&&71===t[376])}[BI(282)](t){const e=BI,s=t[8];if(null==s||t[e(349)]t[e(349)]-6)return;let n,o;const a=t[7];return 192&a&&(n=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&a?(o=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2,n-o>54e5&&(n=o)):o=n),{data:t.subarray(9+s),pts:n,dts:o,originalPts:n,originalDts:o}}[BI(359)](t){const e=BI;let s=arguments[e(349)]>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments[e(349)]>2&&void 0!==arguments[2])||arguments[2];s&&(this[e(253)]=-1,this[e(259)]=OI[e(431)](),this[e(407)]=OI.initAudioTrack()),!i||s?(this._remainingPacketData=null,this[e(245)]=[],this[e(365)]=[],this[e(391)].isPlayVod()&&this[e(391)][e(262)][e(327)]()&&(this[e(259)][e(376)]=[],this[e(407)][e(376)]=[])):(this[e(259)][e(376)]=[],this.audioTrack[e(376)]=[],this[e(281)]&&(t=Zp(this[e(281)],t),this[e(281)]=null));let r=t[e(349)];const n=r%188;n&&(this[e(281)]=t[e(338)](r-n),r-=n);for(let s=0;s>4>1){if(n=s+5+t[s+4],n===s+188)continue}else n=s+4;switch(r){case 0:i&&(n+=t[n]+1),this[e(253)]=(31&t[n+10])<<8|t[n+11];break;case this[e(253)]:{i&&(n+=t[n]+1);const s=n+3+((15&t[n+1])<<8|t[n+2])-4;for(n+=12+((15&t[n+10])<<8|t[n+11]);n=s)return[];const n=[];for(;r{const e=i,o=r?t[0]>>>1&63:31&t[0];switch(o){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!r&&5!==o||r&&5===o)break;n[e(347)]=!0,this[e(325)]++;break;case 6:case 39:case 40:if(!r&&6!==o||r&&6===o)break;const i=Te(function(t){const e=ke,s=t[e(301)],i=[];let r=1;for(;r=i)return;const n=r,o=[],a=(60&t[r+2])>>>2,h=ne[a];if(!h)throw new Error("Invalid sampling index: "+a);const c=1+((192&t[r+2])>>>6),l=(1&t[r+2])<<2|(192&t[r+3])>>>6;let d,u,p=0;const f=pe(h);for(;r+7>5,i-r=i?void 0:t[s(463)](r),frames:o,samplingFrequencyIndex:a,sampleRate:h,objectType:c,channelCount:l,originCodec:s(418)+c}}(e[t(293)],e[t(258)]);if(s){if(this.audioTrack[t(272)]=s[t(272)],this[t(407)][t(361)]=s[t(361)],this[t(407)][t(243)]=s[t(243)],!this[t(254)]){const e=ce({profile:s[t(420)],sampleRate:s.samplingFrequencyIndex,channel:s[t(243)]});this[t(254)]=!0,this[t(391)][t(414)](this.TAG_NAME,t(363),t(315)+s.objectType+t(302)+s[t(361)]+",sampleRateIndex: "+s[t(316)]+t(423)+s[t(243)]),this._doDecodeByHls(e,R[t(324)],0,!1,0)}if(this._isSendAACSeqHeader){const e=[];s[t(426)][t(263)]((s=>{const i=t,r=s.pts,n=new Uint8Array(s[i(293)].length+2);n.set([175,1],0),n[i(241)](s[i(293)],2);const o={type:R[i(324)],pts:r,dts:r,payload:n};e[i(246)](o)})),this.audioTrack.samples=this[t(407)][t(376)][t(368)](e)}else this[t(391)].debugWarn(this[t(296)],t(360))}else this.player[t(321)](this[t(296)],t(345))}this[t(365)]=[]}else e&&"startPrefixError"===e[t(353)]&&(this[t(365)]=[])}[BI(301)](){const t=BI;let e=arguments[t(349)]>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments[t(349)]>2&&void 0!==arguments[2])||arguments[2];e=Math[t(404)](9e4*e);const r=this.videoTrack,n=this[t(407)],o=r.samples,a=n.samples;if(!o[t(349)]&&!a.length)return;const h=o[0],c=a[0];let l=0;if(o[t(349)]&&a[t(349)]&&(l=h[t(286)]-c[t(280)]),!this[t(308)]&&this[t(385)](),s&&(this._calculateBaseDts(),this._baseDts-=e),!i){this[t(247)]=l>0?e+l:e,this[t(405)]=l>0?e:e-l;const s=h?h.dts-this._baseDts-this[t(247)]:0,i=c?c.pts-this[t(398)]-this[t(405)]:0;Math[t(307)](s||i)>Bt&&(this[t(385)](this[t(407)],this[t(259)]),this._baseDts-=e)}this[t(332)](),this._fixAudio(n),this._fixVideo(r);let d=r.samples[t(368)](n[t(376)]);d=d[t(339)]((e=>{const s=t;return e[s(286)]=Math[s(404)](e[s(286)]/90),e[s(280)]=Math.round(e[s(280)]/90),e[s(250)]=e[s(280)]-e.dts,e}))[t(312)](((e,s)=>{const i=t;return e.dts-s[i(286)]})),d[t(263)]((e=>{const s=t,i=new Uint8Array(e[s(382)]);delete e[s(382)],this[s(386)]()?this.loopWorker[s(380)]({...e,payload:i,cmd:s(354)},[i[s(342)]]):e[s(326)]===R[s(427)]?this[s(351)]({...e,payload:i}):e[s(326)]===R.audio&&this[s(367)]({...e,payload:i})})),Js(this[t(256)])&&this[t(386)]()&&(this[t(256)]=this[t(313)](d))}[BI(385)](){const t=BI,e=this[t(407)],s=this[t(259)],i=e[t(376)],r=s.samples;if(!i[t(349)]&&!r.length)return!1;let n=1/0,o=1/0;i[t(349)]&&(e.baseDts=n=i[0].pts),r[t(349)]&&(s[t(402)]=o=r[0].dts),this._baseDts=Math.min(n,o);const a=o-n;return Number[t(269)](a)&&Math[t(307)](a)>45e3&&this[t(391)].debugWarn(this[t(296)],"large av first frame gap,\n video pts: "+o+t(251)+n+t(292)+this[t(398)]+t(350)+a),this[t(308)]=!0,!0}[BI(332)](){const t=BI;if(this[t(308)]&&this[t(270)]&&this[t(291)]){if(!this[t(385)](this.audioTrack,this[t(259)]))return;this[t(398)]-=Math[t(395)](this[t(405)],this[t(247)]),this[t(265)]=null,this[t(273)]=null,this[t(270)]=!1,this._audioTimestampBreak=!1}}_fixAudio(t){const e=BI,s=t.samples;s[e(349)]&&(s[e(263)]((t=>{const s=e;t[s(280)]-=this._baseDts,t[s(286)]=t.pts})),this[e(388)](t,s,9e4))}[BI(366)](t){const e=BI,s=t[e(376)];if(!s.length)return;if(s[e(263)]((t=>{const s=e;t[s(286)]-=this[s(398)],t[s(280)]-=this._baseDts})),void 0===this[e(247)]){const t=s[0];this[e(247)]=t[e(286)]}const i=s[e(349)];let r=0;const n=s[0],o=s[1],a=this._videoNextDts-n.dts;let h;Math[e(307)](a)>45e3&&(n[e(286)]+=a,n.pts+=a,this[e(391)][e(321)](this[e(296)],e(336)+this[e(247)]+e(304)+n[e(286)]+",\n next dts is "+(o&&o[e(286)])+e(240)+a),o&&Math[e(307)](o[e(286)]-n[e(286)])>Bt&&(this[e(270)]=!0,s[e(263)](((t,s)=>{const i=e;0!==s&&(t[i(286)]+=a,t[i(280)]+=a)}))));const c=t.samples[0],l=t[e(376)][i-1];h=1===i?9e3:Math[e(370)]((l.dts-c[e(286)])/(i-1));for(let n=0;nBt||r<0){this[e(270)]=!0,r=this[e(291)]?h:Math[e(257)](r,2700);const i=this[e(405)]||0;a&&a.dts>i&&(r=h),this.player.debugWarn(this[e(296)],"large video gap between frames,\n time is "+o/t[e(392)]+e(373)+o+e(432)+s[n].originalDts+e(322)+this[e(247)]+e(311)+r+e(318)+h)}s[n].duration=r,this[e(247)]+=r}}[BI(388)](t,e,s){const i=BI;!t.sampleDuration&&(t.sampleDuration=pe(t[i(392)],s));const r=t[i(425)];if(void 0===this[i(405)]){const t=e[0];this[i(405)]=t[i(280)]}for(let s=0;s=3*r&&a<=xt&&!Ye()){ue(t[i(272)],t[i(243)])||e[0][i(293)][i(338)]();const h=Math[i(370)](a/r);Math.abs(o.pts-this[i(238)])>Pt&&(this[i(238)]=o[i(280)]),this.player.debugWarn(this[i(296)],i(412)+e[i(280)]+i(379)+e[i(258)]+i(352)+h+",\n nextPts is "+n+i(297)+r);for(let t=0;t=-9e4?(Math.abs(o[i(280)]-this[i(340)])>Pt&&(this._lastAudioExceptionOverlapDot=o[i(280)],this[i(391)][i(321)](this.TAG_NAME,"audio overlap detected,\n pts is "+o[i(280)]+i(430)+o[i(258)]+i(295)+n+",\n ref sample duration is "+r)),e[i(383)](s,1),s--):(Math[i(307)](a)>=xt&&(this[i(291)]=!0,Math[i(307)](o[i(280)]-this[i(364)])>Pt&&(this[i(364)]=o[i(280)],this[i(391)].debugWarn(this[i(296)],"large audio gap detected,\n time is "+o[i(280)]/1e3+i(334)+o.pts+i(267)+o[i(258)]+i(285)+n+i(400)+a+i(421)+r))),o[i(286)]=o[i(280)]=n,this[i(405)]+=r)}}[BI(386)](){return!this[BI(391)].isUseMSE()}[BI(242)](){const t=BI;this[t(391)][t(414)](this[t(296)],t(261));const e=Bs(PI);let s=new Worker(e);this.workerUrl=e,this[t(266)]=setTimeout((()=>{const e=t;window[e(278)][e(355)](this[e(335)]),this.workerUrl=null,this[e(266)]=null}),I),s[t(380)]({cmd:t(303),options:{type:t(399),seekingMaxDiff:1e4,debug:this[t(391)][t(422)][t(344)],debugUuid:this[t(391)][t(422)][t(419)]}}),s.onmessage=e=>{const s=t,i=e[s(293)];switch(i.cmd){case s(389):this[s(351)](i);break;case s(418):this[s(367)](i);break;case s(268):if(this[s(260)]=i,this[s(391)].isPlayVodNotUseMSE()){const t=this[s(299)](),e=this[s(391)][s(294)]();t&&e&&this.player[s(410)](B[s(343)],t/(1e3*e))}}},this.loopWorker=s}[BI(255)](t,e){const s=BI;this[s(386)]()&&(this.loopWorker?this.loopWorker[s(380)]({cmd:t,...e}):this.player[s(321)](this[s(296)],s(346)))}[BI(367)](t){const e=BI,s=new Uint8Array(t[e(382)]);this[e(391)][e(381)]({abps:s.byteLength});let i=this[e(397)](s);this._doDecodeByHls(i,R[e(324)],t[e(286)],!1,0)}[BI(351)](t){const e=BI,s=new Uint8Array(t[e(382)]);let i=null;i=t[e(387)]?eh(s,t[e(347)]):Ca(s,t[e(347)]),this[e(391)][e(381)]({dts:t[e(286)],vbps:i.byteLength});const r=t[e(280)]-t[e(286)];let n=this[e(300)](i,t.isIFrame);this[e(411)](n,R.video,t[e(286)],t[e(347)],r)}getBuferredDuration(){const t=BI;return this[t(260)][t(309)]||0}getSampleListLength(){const t=BI;return this.tempSampleListInfo[t(429)]||0}[BI(298)](){const t=BI;return this[t(260)][t(288)]||0}[BI(287)](){const t=BI;return this[t(260)][t(276)]||0}[BI(284)](){const t=BI;return this[t(281)]&&this[t(281)][t(357)]||0}getSampleRange(){const t=BI;return{start:this[t(260)][t(249)]||0,end:this[t(260)][t(252)]||0}}[BI(375)](t){const e=BI;this._postMessageToLoopWorker(e(375),{time:t})}[BI(372)](t){const e=BI;Js(this.player[e(390)]())&&(this.clearBuffer(!0),this[e(255)](e(283)),this[e(255)](e(415),{time:t}))}[BI(274)](){this[BI(255)]("pause")}resume(){this[BI(255)]("resume")}[BI(299)](){const t=BI;let e=0;return e=this.getSampleRange()[t(252)],e}}const UI=jI;function jI(t,e){const s=ZI();return(jI=function(t,e){return s[t-=297]})(t,e)}function NI(t){const e=jI;let s=arguments[e(346)]>1&&void 0!==arguments[1]?arguments[1]:0;return(t[s]<<8)+(t[s+1]||0)}function VI(t){const e=jI;let s=arguments[e(346)]>1&&void 0!==arguments[1]?arguments[1]:0;return(t[s]<<24>>>0)+(t[s+1]<<16)+(t[s+2]<<8)+(t[s+3]||0)}function zI(t){const e=jI;let s=arguments[e(346)]>1&&void 0!==arguments[1]?arguments[1]:0;const i=Math[e(428)](2,32);return VI(t,s)*i+VI(t,s+4)}!function(t,e){const s=jI,i=t();for(;;)try{if(403846===parseInt(s(300))/1+parseInt(s(434))/2+-parseInt(s(458))/3+parseInt(s(377))/4+-parseInt(s(309))/5+parseInt(s(326))/6*(parseInt(s(337))/7)+parseInt(s(322))/8*(-parseInt(s(441))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ZI);const GI={AAC:UI(474),G711PCMA:UI(390),G711PCMU:UI(299)},HI={AVC:UI(404),HEVC:UI(314)};class WI{static getFrameDuration(t){return 1024*(arguments[UI(346)]>1&&void 0!==arguments[1]?arguments[1]:9e4)/t}static[UI(368)](t){const e=UI;return WI.FREQ[e(356)](t)}}function KI(t,e,s,i,r,n){const o=UI,a=[],h=null==r?void 0:r[o(450)],c=e[o(450)],l=i[o(450)],d=s[o(347)],u=null==n?void 0:n[o(450)];let p,f;u&&(p={},u[o(376)]((t=>{p[t-1]=!0}))),h&&(f=[],h[o(376)]((t=>{const e=o;let{count:s,offset:i}=t;for(let t=0;t{const e=o;let{count:i,delta:r}=t;for(let t=0;t=E&&(v++,E=c[v+1]?c[v+1][e(312)]-1:1/0),w+=c[v][e(461)])})),a}function QI(t,e){const s=UI;return t[s(352)]=NI(e,6),t[s(318)]=NI(e,24),t[s(383)]=NI(e,26),t[s(470)]=VI(e,28),t[s(463)]=VI(e,32),t[s(313)]=NI(e,40),t[s(388)]=NI(e,74),78}function YI(t,e){const s=UI;return t[s(352)]=NI(e,6),t.channelCount=NI(e,16),t[s(396)]=NI(e,18),t.sampleRate=VI(e,24)/65536,28}function qI(t,e,s){const i=UI;if(!t)return;if(t[i(366)]!==t[i(343)][i(346)])throw new Error("box "+t[i(395)]+i(480));const r={start:t[i(418)],size:t[i(366)],headerSize:t[i(362)],type:t[i(395)]};return e&&(r[i(305)]=t[i(343)][t[i(362)]],r.flags=function(t){let e=arguments[jI(346)]>1&&void 0!==arguments[1]?arguments[1]:0;return(t[e]<<16)+(t[e+1]<<8)+(t[e+2]||0)}(t[i(343)],t[i(362)]+1),r[i(362)]+=4),s(r,t[i(343)][i(440)](r[i(362)]),r[i(418)]+r[i(362)]),r}vf(WI,UI(392),[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);const JI=function(t,e,s){const i=UI,r=String(s),n=e>>0;let o=Math.ceil(n/r[i(346)]);const a=[],h=String(t);for(;o--;)a[i(307)](r);return a.join("")[i(481)](0,n-h[i(346)])+h},XI=function(){const t=UI,e=[];for(var s=arguments[t(346)],i=new Array(s),r=0;r{const i=t;e[i(307)](JI(Number(s)[i(341)](16),2,0))})),e[0]};function ZI(){const t=["height","codec","moovToTrack","sampleDescriptionIndex","handlerType","depth","numOfArrays","g7110a","stbl","FREQ","referenced_size","moov","type","sampleSize","sampleCount","language","mp4a.","vide","hSpacing","kid","lengthSizeMinusOne","avc","SAP_delta_time","pssh","stsz","pts","hvc1","stsc","esds","config","trackId","BytesOfClearData","find","configurationVersion","kidValue","start","traf","defaultSampleDuration","firstSampleFlags","cts","moovToSamples","soun","sampleRateIndex","subsegment_duration","first_offset","pow","flags","AVCLevelIndication","ulaw","hdlr","trak","843770UmxRUN","map","ext","keyframe","tkhd","generalProfileIdc","subarray","19746ZKcLgY","vSpacing","tenc","mdhd","generalTierFlag","mdia","useEME","probe","codecType","entries","vps","samples","AAC","slice","BytesOfProtectedData","stss","baseMediaDecodeTime","574335LCvJCo","G711PCMA","hev1.1.6.L93.B0","samplesPerChunk","references","vertresolution","co64","present","defaultSampleSize","filter","trun","isVideoEncryption","horizresolution","avcC","graphicsmode","spsLength","aac","InitializationVector","baseDataOffset","getFrameDuration","earliest_presentation_time","tkhdDuration"," size !== data.length","substring","G711PCMU","findBox","duration","avc2","frma","AVCProfileIndication","sarRatio","default_IsEncrypted","ftyp","starts_with_SAP","hvcC","data_format","dataOffset","sampleRate","g7110m","307526saqgXl","profileCompatibility","enca","avgFrameRate","mfhd","version","objectType","push","mvhd","187355aDiCDV","avc1.","join","firstChunk","frameCount","hevc","mvhdTimecale","pps","audioSenc","width","encv","mp4a.40.2","generalConstraintIndicatorFlags","2504mfokWo","stco","padStart","dts","126294tNtFKN","schi","pasp","vmhd","reference_ID","unknown video stsd entry","tfhd","alaw","esds config is null","tfdt","sps","14whaPFO","SAP_type","subsamples","default_IV_size","toString","timescale","data","data_size","fromCharCode","length","entrySizes","generalProfileCompatibility","generalLevelIdc","sidx","avc4","dataReferenceIndex","ppsLength","sinf","avc1","indexOf","opcolor","stts","sampleDuration","ctts","entryCount","headerSize","warn","formatTimescale","parseSampleFlags","size","AVC","getRateIndexByRate","sequenceNumber","stsd","channelCount","buffer","mp4a","isAudioEncryption","from","forEach","2191900VLrlre","gopId","minf","smhd","senc","default_KID"];return(ZI=function(){return t})()}class $I{static probe(t){const e=UI;return!!$I[e(483)](t,[e(490)])}static[UI(483)](t,e){const s=UI;let i=arguments[s(346)]>2&&void 0!==arguments[2]?arguments[2]:0;const r=[];if(!t)return r;let n=0,o="",a=0;for(;t[s(346)]>7;){if(n=VI(t),o=String.fromCharCode.apply(null,t[s(440)](4,8)),a=8,1===n?(n=zI(t,8),a+=8):!n&&(n=t[s(346)]),!e[0]||o===e[0]){const h=t[s(440)](0,n);if(!(e.length<2))return $I[s(483)](h[s(440)](a),e[s(454)](1),i+a);r[s(307)]({start:i,size:n,headerSize:a,type:o,data:h})}i+=n,t=t.subarray(n)}return r}static[UI(332)](t){return qI(t,!0,((t,e)=>{const s=jI;t[s(413)]=VI(e);let i=4;const r=1&t[s(429)],n=2&t[s(429)],o=8&t[s(429)],a=16&t[s(429)],h=32&t.flags;r&&(i+=4,t[s(476)]=VI(e,i),i+=4),n&&(t[s(386)]=VI(e,i),i+=4),o&&(t[s(420)]=VI(e,i),i+=4),a&&(t[s(466)]=VI(e,i),i+=4),h&&(t.defaultSampleFlags=VI(e,i))}))}static[UI(350)](t){return qI(t,!0,((t,e)=>{const s=jI;let i=0;t[s(330)]=VI(e,i),i+=4,t[s(342)]=VI(e,i),i+=4,0===t[s(305)]?(t[s(478)]=VI(e,i),i+=4,t[s(427)]=VI(e,i),i+=4):(t[s(478)]=zI(e,i),i+=8,t[s(427)]=zI(e,i),i+=8),i+=2,t[s(462)]=[];const r=NI(e,i);i+=2;for(let n=0;n>31&1,r[s(393)]=2147483647&n,r[s(426)]=VI(e,i),i+=4,n=VI(e,i),i+=4,r[s(491)]=n>>31&1,r[s(338)]=n>>28&7,r[s(405)]=268435455&n}}))}static[UI(394)](t){return qI(t,!1,((t,e,s)=>{const i=jI;t[i(308)]=$I[i(308)]($I[i(483)](e,[i(308)],s)[0]),t[i(433)]=$I[i(483)](e,[i(433)],s)[i(435)]((t=>$I[i(433)](t))),t.pssh=$I.pssh($I[i(483)](e,[i(406)],s)[0])}))}static[UI(308)](t){return qI(t,!0,((t,e)=>{const s=jI;let i=0;1===t.version?(t.timescale=VI(e,16),t.duration=zI(e,20),i+=28):(t[s(342)]=VI(e,8),t.duration=VI(e,12),i+=16),t.nextTrackId=VI(e,i+76)}))}static[UI(433)](t){return qI(t,!1,((t,e,s)=>{const i=jI;t[i(438)]=$I.tkhd($I[i(483)](e,[i(438)],s)[0]),t.mdia=$I.mdia($I[i(483)](e,[i(446)],s)[0])}))}static[UI(438)](t){return qI(t,!0,((t,e)=>{const s=jI;let i=0;1===t[s(305)]?(t[s(413)]=VI(e,16),t[s(484)]=zI(e,24),i+=32):(t.trackId=VI(e,8),t.duration=VI(e,16),i+=20),t[s(318)]=VI(e,i+52),t[s(383)]=VI(e,i+56)}))}static[UI(446)](t){return qI(t,!1,((t,e,s)=>{const i=jI;t[i(444)]=$I[i(444)]($I[i(483)](e,[i(444)],s)[0]),t[i(432)]=$I[i(432)]($I[i(483)](e,[i(432)],s)[0]),t[i(379)]=$I[i(379)]($I.findBox(e,[i(379)],s)[0])}))}static mdhd(t){return qI(t,!0,((t,e)=>{const s=jI;let i=0;1===t[s(305)]?(t.timescale=VI(e,16),t[s(484)]=zI(e,20),i+=28):(t[s(342)]=VI(e,8),t[s(484)]=VI(e,12),i+=16);const r=NI(e,i);t[s(398)]=String[s(345)](96+(r>>10&31),96+(r>>5&31),96+(31&r))}))}static[UI(432)](t){return qI(t,!0,((t,e)=>{const s=jI;0===t.version&&(t[s(387)]=String[s(345)].apply(null,e[s(440)](4,8)))}))}static minf(t){return qI(t,!1,((t,e,s)=>{const i=jI;t[i(329)]=$I[i(329)]($I.findBox(e,[i(329)],s)[0]),t[i(380)]=$I[i(380)]($I[i(483)](e,[i(380)],s)[0]),t[i(391)]=$I[i(391)]($I[i(483)](e,[i(391)],s)[0])}))}static[UI(329)](t){return qI(t,!0,((t,e)=>{const s=jI;t[s(472)]=NI(e),t[s(357)]=[NI(e,2),NI(e,4),NI(e,6)]}))}static[UI(380)](t){return qI(t,!0,((t,e)=>{t.balance=NI(e)}))}static[UI(391)](t){return qI(t,!1,((t,e,s)=>{const i=jI;var r,n,o;t[i(370)]=$I[i(370)]($I[i(483)](e,[i(370)],s)[0]),t[i(358)]=$I[i(358)]($I[i(483)](e,[i(358)],s)[0]),t[i(360)]=$I[i(360)]($I.findBox(e,[i(360)],s)[0]),t[i(410)]=$I[i(410)]($I[i(483)](e,[i(410)],s)[0]),t[i(407)]=$I.stsz($I[i(483)](e,[i(407)],s)[0]),t[i(323)]=$I.stco($I[i(483)](e,[i(323)],s)[0]),!t.stco&&(t[i(464)]=$I[i(464)]($I[i(483)](e,[i(464)],s)[0]),t[i(323)]=t[i(464)]);const a=null===(r=t[i(370)][i(450)][0])||void 0===r||null===(n=r[i(354)])||void 0===n||null===(o=n[i(327)])||void 0===o?void 0:o[i(443)].default_IV_size;t[i(456)]=$I[i(456)]($I[i(483)](e,["stss"],s)[0]),t[i(381)]=$I[i(381)]($I[i(483)](e,[i(381)],s)[0],a)}))}static[UI(381)](t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return qI(t,!0,((t,s)=>{const i=jI;let r=0;const n=VI(s,r);r+=4,t.samples=[];for(let o=0;o{const s=jI,i=[],r=[];let n=0;for(let t=0;t<16;t++)r[s(307)](XI(e[n+t]));if(n+=16,t.version>0){const t=VI(e,n);n+=4;for(let r=0;r<(""+t)[s(346)];r++)for(let t=0;t<16;t++){const t=e[n];n+=1,i[s(307)](XI(t))}}const o=VI(e,n);t[s(344)]=o,n+=4,t[s(402)]=i,t.system_id=r,t[s(372)]=e}))}static[UI(370)](t){return qI(t,!0,((t,e,s)=>{const i=jI;t[i(361)]=VI(e),t[i(450)]=$I.findBox(e[i(440)](4),[],s+4)[i(435)]((t=>{const e=i;switch(t[e(395)]){case"avc1":case e(485):case"avc3":case e(351):return $I[e(355)](t);case"hvc1":case"hev1":return $I[e(409)](t);case e(373):return $I[e(373)](t);case"alaw":case e(431):return $I[e(333)](t);case e(302):return qI(t,!1,((t,s,i)=>{const r=e;t[r(371)]=NI(s,16),t.samplesize=NI(s,18),t[r(298)]=VI(s,24)/65536,s=s[r(440)](28),t[r(354)]=$I.sinf($I.findBox(s,[r(354)],i)[0]),t.esds=$I.esds($I[r(483)](s,["esds"],i)[0])}));case e(319):return qI(t,!1,((t,s,i)=>{const r=e;t[r(318)]=NI(s,24),t.height=NI(s,26),t.horizresolution=VI(s,28),t[r(463)]=VI(s,32),s=s[r(440)](78),t[r(354)]=$I[r(354)]($I[r(483)](s,[r(354)],i)[0]),t[r(471)]=$I[r(471)]($I[r(483)](s,[r(471)],i)[0]),t[r(492)]=$I.hvcC($I[r(483)](s,[r(492)],i)[0]),t[r(328)]=$I[r(328)]($I[r(483)](s,["pasp"],i)[0])}))}}))[i(467)](Boolean)}))}static[UI(443)](t){return qI(t,!1,((t,e)=>{const s=jI;let i=6;t[s(489)]=e[i],i+=1,t[s(340)]=e[i],i+=1,t[s(382)]=[];for(let r=0;r<16;r++)t[s(382)][s(307)](XI(e[i])),i+=1}))}static[UI(327)](t){return qI(t,!1,((t,e,s)=>{const i=jI;t[i(443)]=$I[i(443)]($I.findBox(e,[i(443)],s)[0])}))}static sinf(t){return qI(t,!1,((t,e,s)=>{const i=jI;t[i(327)]=$I.schi($I.findBox(e,["schi"],s)[0]),t[i(486)]=$I.frma($I[i(483)](e,["frma"],s)[0])}))}static[UI(486)](t){return qI(t,!1,((t,e)=>{const s=jI;t[s(493)]="";for(let i=0;i<4;i++)t[s(493)]+=String[s(345)](e[i])}))}static[UI(355)](t){return qI(t,!1,((t,e,s)=>{const i=jI,r=QI(t,e),n=e.subarray(r);s+=r,t[i(471)]=$I[i(471)]($I.findBox(n,[i(471)],s)[0]),t[i(328)]=$I[i(328)]($I[i(483)](n,["pasp"],s)[0])}))}static avcC(t){return qI(t,!1,((t,e)=>{const s=jI;t[s(416)]=e[0],t[s(487)]=e[1],t[s(301)]=e[2],t[s(430)]=e[3],t.codec=function(t){const e=UI;let s,i=e(310);for(let r=0;r<3;r++)s=t[r][e(341)](16),s.length<2&&(s="0"+s),i+=s;return i}([e[1],e[2],e[3]]),t[s(403)]=3&e[4],t.spsLength=31&e[5],t.sps=[];let i=6;for(let r=0;r{const i=jI,r=QI(t,e),n=e[i(440)](r);s+=r,t.hvcC=$I[i(492)]($I.findBox(n,["hvcC"],s)[0]),t.pasp=$I[i(328)]($I[i(483)](n,[i(328)],s)[0])}))}static hvcC(t){return qI(t,!1,((e,s)=>{const i=jI;e[i(343)]=t[i(343)],e[i(384)]=i(460),e[i(416)]=s[0];const r=s[1];e.generalProfileSpace=r>>6,e[i(445)]=(32&r)>>5,e[i(439)]=31&r,e[i(348)]=VI(s,2),e[i(321)]=s[i(440)](6,12),e[i(349)]=s[12],e[i(303)]=NI(s,19),e.numOfArrays=s[22],e[i(451)]=[],e[i(336)]=[],e[i(316)]=[];let n=23,o=0,a=0,h=0;for(let t=0;t{t[jI(401)]=VI(e),t.vSpacing=VI(e,4)}))}static mp4a(t){return qI(t,!1,((t,e,s)=>{const i=jI,r=YI(t,e);t[i(411)]=$I.esds($I.findBox(e.subarray(r),["esds"],s+r)[0])}))}static[UI(411)](t){return qI(t,!0,((t,e)=>{const s=jI;t[s(384)]=s(399);let i=0,r=0,n=0,o=0;for(;e[s(346)];){for(i=0,o=e[i],r=e[i+1],i+=2;128&r;)n=(127&r)<<7,r=e[i],i+=1;if(n+=127&r,3===o)e=e[s(440)](i+3);else{if(4!==o){if(5===o){const r=t.config=e[s(440)](i,i+n);let o=(248&r[0])>>3;return 31===o&&r[s(346)]>=2&&(o=32+((7&r[0])<<3)+((224&r[1])>>5)),t[s(306)]=o,t[s(384)]+=o.toString(16),void("."===t.codec[t[s(384)][s(346)]-1]&&(t[s(384)]=t[s(384)][s(481)](0,t[s(384)][s(346)]-1)))}return void("."===t[s(384)][t[s(384)][s(346)]-1]&&(t[s(384)]=t[s(384)][s(481)](0,t.codec.length-1)))}t[s(384)]+=(e[i][s(341)](16)+".")[s(324)](3,"0"),e=e[s(440)](i+13)}}}))}static[UI(333)](t){return qI(t,!1,((t,e)=>{YI(t,e)}))}static[UI(358)](t){return qI(t,!0,((t,e)=>{const s=jI,i=VI(e),r=[];let n=4;for(let t=0;t{const s=jI,i=VI(e),r=[];let n=4;if(1===t[s(305)])for(let t=0;t{const s=jI,i=VI(e),r=[];let n=4;for(let t=0;t{const s=jI,i=VI(e),r=VI(e,4),n=[];if(!i){let t=8;for(let i=0;i{const s=jI,i=VI(e),r=[];let n=4;for(let t=0;t{const s=jI,i=VI(e),r=[];let n=4;for(let t=0;t{const s=jI,i=VI(e),r=[];let n=4;for(let t=0;t{const i=jI;t[i(304)]=$I[i(304)]($I[i(483)](e,[i(304)],s)[0]),t[i(419)]=$I.findBox(e,[i(419)],s)[i(435)]((t=>$I.traf(t)))}))}static[UI(304)](t){return qI(t,!0,((t,e)=>{t[jI(369)]=VI(e)}))}static traf(t){return qI(t,!1,((t,e,s)=>{const i=jI;t.tfhd=$I[i(332)]($I[i(483)](e,[i(332)],s)[0]),t[i(335)]=$I[i(335)]($I.findBox(e,[i(335)],s)[0]),t[i(468)]=$I[i(468)]($I[i(483)](e,[i(468)],s)[0])}))}static[UI(468)](t){return qI(t,!0,((t,e)=>{const s=jI,{version:i,flags:r}=t,n=e[s(346)],o=t[s(397)]=VI(e);let a=4;if(n>a&&1&r&&(t[s(297)]=-(1+~VI(e,a)),a+=4),n>a&&4&r&&(t[s(421)]=VI(e,a),a+=4),t.samples=[],n>a){let n;for(let h=0;h{const s=jI;1===t[s(305)]?t[s(457)]=zI(e):t.baseMediaDecodeTime=VI(e)}))}static[UI(448)](t){const e=UI;return!!$I[e(483)](t,[e(490)])}static[UI(365)](t){return{isLeading:(12&t[0])>>>2,dependsOn:3&t[0],isDependedOn:(192&t[1])>>>6,hasRedundancy:(48&t[1])>>>4,paddingValue:(14&t[1])>>>1,isNonSyncSample:1&t[1],degradationPriority:t[2]<<8|t[3]}}static[UI(385)](t,e,s){const i=UI;var r,n;const o=t[i(433)];if(!o||!o[i(346)])return;const a=o[i(415)]((t=>{const e=i;var s,r;return(null===(s=t[e(446)])||void 0===s||null===(r=s[e(432)])||void 0===r?void 0:r.handlerType)===e(400)})),h=o[i(415)]((t=>{const e=i;var s,r;return(null===(s=t[e(446)])||void 0===s||null===(r=s.hdlr)||void 0===r?void 0:r.handlerType)===e(424)}));if(a&&e){var c,l,d,u,p,f,m;const s=e,r=null===(c=a[i(438)])||void 0===c?void 0:c[i(413)];null!=r&&(s.id=a.tkhd[i(413)]),s[i(479)]=a[i(438)][i(484)],s.mvhdDurtion=t.mvhd.duration,s[i(315)]=t[i(308)][i(342)],s[i(342)]=s.formatTimescale=a[i(446)][i(444)].timescale,s.duration=a[i(446)][i(444)].duration||s.mvhdDurtion/s.mvhdTimecale*s[i(342)];const n=a.mdia[i(379)].stbl[i(370)][i(450)][0];if(s[i(318)]=n[i(318)],s[i(383)]=n.height,n[i(328)]&&(s[i(488)]=[n[i(328)].hSpacing,n[i(328)][i(442)]]),n[i(492)])s[i(449)]=HI.HEVC,s.codec=n.hvcC.codec,s[i(451)]=n[i(492)][i(451)],s[i(336)]=n.hvcC[i(336)],s[i(316)]=n[i(492)][i(316)],s.hvcC=n[i(492)][i(343)];else{if(!n[i(471)])throw new Error(i(331));s[i(449)]=HI[i(367)],s[i(384)]=n.avcC.codec,s[i(336)]=n.avcC[i(336)],s[i(316)]=n[i(471)].pps}var g,A,y,b,v,S,w,E;if(s[i(465)]=!0,s.ext={},s.ext[i(456)]=null===(l=a[i(446)])||void 0===l||null===(d=l.minf)||void 0===d||null===(u=d[i(391)])||void 0===u?void 0:u.stss,s.ext[i(360)]=null===(p=a[i(446)])||void 0===p||null===(f=p[i(379)])||void 0===f||null===(m=f[i(391)])||void 0===m?void 0:m.ctts,n&&n[i(395)]===i(319))s[i(469)]=!0,n[i(382)]=null===(g=n[i(354)])||void 0===g||null===(A=g[i(327)])||void 0===A?void 0:A[i(443)][i(382)],n[i(489)]=null===(y=n[i(354)])||void 0===y||null===(b=y.schi)||void 0===b?void 0:b[i(443)][i(489)],n[i(340)]=null===(v=n[i(354)])||void 0===v||null===(S=v.schi)||void 0===S?void 0:S[i(443)][i(340)],s.videoSenc=a[i(446)][i(379)].stbl[i(381)]&&a[i(446)][i(379)][i(391)][i(381)][i(452)],n.data_format=null===(w=n.sinf)||void 0===w||null===(E=w[i(486)])||void 0===E?void 0:E[i(493)],s.useEME=t[i(447)],s.kidValue=t[i(417)],s[i(406)]=t[i(406)],s[i(319)]=n}if(h&&s){var I,T,k,_,C,R,D,L,x;const e=s,o=null===(I=h[i(438)])||void 0===I?void 0:I[i(413)];null!=o&&(e.id=h[i(438)][i(413)]),e[i(479)]=h[i(438)].duration,e.mvhdDurtion=t.mvhd[i(484)],e[i(315)]=t[i(308)][i(342)],e[i(342)]=e[i(364)]=h[i(446)][i(444)][i(342)],e[i(484)]=h[i(446)][i(444)][i(484)]||e.mvhdDurtion/e[i(315)]*e[i(342)];const a=h[i(446)][i(379)][i(391)][i(370)][i(450)][0];switch(e[i(396)]=a.sampleSize,e[i(298)]=a.sampleRate,e[i(371)]=a.channelCount,e.present=!0,a[i(395)]){case"alaw":e.codecType=e[i(384)]=GI[i(459)],e[i(298)]=8e3;break;case i(431):e[i(449)]=e[i(384)]=GI[i(482)],e[i(298)]=8e3;break;default:e.codecType=GI[i(453)],e[i(359)]=WI[i(477)](e.sampleRate,e[i(342)]),e[i(425)]=WI[i(368)](e[i(298)]),e[i(306)]=(null===(r=a[i(411)])||void 0===r?void 0:r[i(306)])||2,a.esds&&(e[i(412)]=Array[i(375)](a[i(411)][i(412)])),e[i(384)]=(null===(n=a[i(411)])||void 0===n?void 0:n[i(384)])||i(320)}var P,B,M,F,O,U,j,N;if(e[i(359)]=WI[i(477)](e[i(298)],e[i(342)]),e[i(306)]=(null===(T=a[i(411)])||void 0===T?void 0:T[i(306)])||2,a[i(411)]&&(a.esds.config?e[i(412)]=Array[i(375)](a[i(411)].config):console[i(363)](i(334))),e[i(384)]=(null===(k=a[i(411)])||void 0===k?void 0:k[i(384)])||i(320),e[i(425)]=WI[i(368)](e[i(298)]),e[i(436)]={},e[i(436)][i(456)]=null===(_=h[i(446)])||void 0===_||null===(C=_[i(379)])||void 0===C||null===(R=C[i(391)])||void 0===R?void 0:R.stss,e[i(436)].ctts=null===(D=h[i(446)])||void 0===D||null===(L=D[i(379)])||void 0===L||null===(x=L[i(391)])||void 0===x?void 0:x[i(360)],e.present=!0,a&&a.type===i(302))e[i(374)]=!0,a[i(493)]=null===(P=a.sinf)||void 0===P||null===(B=P[i(486)])||void 0===B?void 0:B[i(493)],a[i(382)]=null===(M=a[i(354)])||void 0===M||null===(F=M.schi)||void 0===F?void 0:F[i(443)].default_KID,a[i(489)]=null===(O=a[i(354)])||void 0===O||null===(U=O[i(327)])||void 0===U?void 0:U[i(443)][i(489)],a.default_IV_size=null===(j=a[i(354)])||void 0===j||null===(N=j[i(327)])||void 0===N?void 0:N.tenc[i(340)],e[i(317)]=h[i(446)][i(379)].stbl[i(381)]&&h.mdia[i(379)][i(391)][i(381)][i(452)],e.useEME=t[i(447)],e.kidValue=t[i(417)],e.enca=a}if(s&&(s[i(469)]=!!e&&e.isVideoEncryption),e&&(e[i(374)]=!!s&&s[i(374)]),null!=e&&e.encv||null!=s&&s.enca){var V,z;const t=null==e||null===(V=e[i(319)])||void 0===V?void 0:V[i(382)],r=null==s||null===(z=s[i(302)])||void 0===z?void 0:z.default_KID,n=t||r?(t||r)[i(311)](""):null;e&&(e[i(402)]=n),s&&(s.kid=n)}return e&&(e[i(429)]=3841),s&&(s[i(429)]=1793),{videoTrack:e,audioTrack:s}}static evaluateDefaultDuration(t,e,s){const i=UI;var r;const n=null==e||null===(r=e[i(452)])||void 0===r?void 0:r[i(346)];if(!n)return 1024;return 1024*n/e[i(342)]*t.timescale/s}static moofToSamples(t,e,s){const i=UI,r={};return t[i(304)]&&(e&&(e[i(369)]=t[i(304)][i(369)]),s&&(s[i(369)]=t[i(304)][i(369)])),t[i(419)].forEach((t=>{const n=i;let{tfhd:o,tfdt:a,trun:h}=t;if(!o||!h)return;a&&(e&&e.id===o[n(413)]&&(e[n(457)]=a[n(457)]),s&&s.id===o[n(413)]&&(s[n(457)]=a[n(457)]));const c=o[n(466)]||0,l=o[n(420)]||$I.evaluateDefaultDuration(e,s,h[n(452)][n(346)]||h.sampleCount);let d=h[n(297)]||0,u=0,p=-1;if(!h[n(452)][n(346)]&&h.sampleCount){r[o[n(413)]]=[];for(let t=0;t{const s=n;return(t={offset:d,dts:u,pts:u+(t[s(422)]||0),duration:t[s(484)]||l,size:t[s(366)]||c,gopId:p,keyframe:0===e||null!==t.flags&&void 0!==t.flags&&(65536&t.flags)>>>0!=65536}).keyframe&&(p++,t[s(378)]=p),u+=t[s(484)],d+=t[s(366)],t}))})),r}static[UI(423)](t){const e=UI,s=t[e(433)];if(!s||!s.length)return;const i=s[e(415)]((t=>{const s=e;var i,r;return(null===(i=t[s(446)])||void 0===i||null===(r=i.hdlr)||void 0===r?void 0:r.handlerType)===s(400)})),r=s[e(415)]((t=>{const s=e;var i,r;return"soun"===(null===(i=t.mdia)||void 0===i||null===(r=i[s(432)])||void 0===r?void 0:r.handlerType)}));if(!i&&!r)return;let n,o;if(i){var a,h;const t=null===(a=i[e(446)])||void 0===a||null===(h=a[e(379)])||void 0===h?void 0:h[e(391)];if(!t)return;const{stts:s,stsc:r,stsz:o,stco:c,stss:l,ctts:d}=t;if(!(s&&r&&o&&c&&l))return;n=KI(s,r,o,c,d,l)}if(r){var c,l,d;const t=null===(c=r[e(446)])||void 0===c||null===(l=c[e(379)])||void 0===l?void 0:l[e(391)];if(!t)return;const s=null===(d=r[e(446)][e(444)])||void 0===d?void 0:d[e(342)],{stts:i,stsc:n,stsz:a,stco:h}=t;if(!(s&&i&&n&&a&&h))return;o=KI(i,n,a,h)}return{videoSamples:n,audioSamples:o}}}function tT(){const t=["1095YLGaTV","96jlVVBB","35794LJMnUQ","46753svShEe","401507nwhJzw","3047nKjHrk","25760eAsyRa","1500160rLhyXp","min","max","1472ZhYcBn","18sksQVI","length","3633504vsUZVr"];return(tT=function(){return t})()}function eT(t,e){const s=tT();return(eT=function(t,e){return s[t-=244]})(t,e)}!function(t,e){const s=eT,i=t();for(;;)try{if(516274===parseInt(s(244))/1+-parseInt(s(256))/2+-parseInt(s(254))/3*(-parseInt(s(250))/4)+parseInt(s(247))/5+parseInt(s(255))/6*(-parseInt(s(257))/7)+parseInt(s(253))/8*(-parseInt(s(251))/9)+parseInt(s(246))/10*(parseInt(s(245))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(tT);const sT=rT;function iT(){const t=["type","codecType","1793238WNYnum","cannot found moov box","pts","_calcDecodeFps","revokeObjectURL","debugWarn","audioTrack","codec","sort","postMessage","size","keyframe","isPlayVod","moofToSamples","subarray","cryptoPayload","_isUseWorker","18VtjFfr","data","h265","loopWorker","demux","audio","sampleRate","checkInitAudio","isIFrame","init","start","_postMessageToLoopWorker","getPlayVodDuration","sampleListInfo","isPlayVodNotUseMSE","cleanSampleList","_doDecodeAudio","sps","baseMediaDecodeTime","1949945lLOgBw","payload","pause","7538796jJpWKz","seqHeader","TAG_NAME","videoData audio init success","isInitVideo","updateStats","moov","channelCount","debugUuid","onmessage","destroy","video init success","player","terminate","playVodTimeCache","resume","4886eQtVHx","getSampleRange","_opt","_basefps","hlsFmp4","objectType","offset","findBox","workerClearTimeout","aac","map","3hRZjmB","getSampleAudioListLength","vps","isHevc","workerUrl","end","moof","cmd","dts","3136aRWPgT","allListLength","moovToTrack","_hasCalcFps","length","byteLength","debugError","cleanSampleListAndSetSeekTime","samples","set","isInitAudio","gopId","2116020IwZLuA","clearBuffer","duration","11895620wqWIWk","videoTrack","cryptoPayloadAudio","buffer","updatePlayRate","checkInitVideo","_initLoopWorker","1008673XUEbih","push","keys","tempSampleListInfo","isUseMSE","geVodLoadedTime","loop worker is not init, can not post message","_initLoopWorker()","_doDecodeVideo","sampleRateIndex","URL","_doDecodeByHls","pps","video","debugLog","videoListLength","_sendAccADTSHeader","buferredDuration"];return(iT=function(){return t})()}function rT(t,e){const s=iT();return(rT=function(t,e){return s[t-=381]})(t,e)}!function(t,e){const s=rT,i=t();for(;;)try{if(607210===-parseInt(s(452))/1+-parseInt(s(472))/2*(-parseInt(s(421))/3)+-parseInt(s(442))/4+-parseInt(s(391))/5*(-parseInt(s(489))/6)+-parseInt(s(410))/7*(parseInt(s(430))/8)+-parseInt(s(394))/9+parseInt(s(445))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(iT);class nT extends ep{constructor(t){const e=rT;super(t),this[e(406)]=t,this[e(396)]="HlsFmp4Demux",this[e(455)]={},this[e(398)]=!1,this[e(440)]=!1,this[e(446)]={id:1,samples:[],sps:[],pps:[],vps:[],codec:""},this[e(478)]={id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""},this[e(418)]=null,this[e(425)]=null,this.loopWorker=null,this[e(433)]=!1,this[e(413)]=25,this[e(488)]()&&this[e(451)](),this.player[e(484)]()&&this[e(488)]()&&this[e(406)].on(B.playVodRateChange,(t=>{const s=e;this[s(406)][s(466)](this[s(396)],"listen playVodRateChange",t),this[s(383)](s(449),{rate:t})})),t[e(466)](this[e(396)],e(381))}[sT(404)](){const t=sT;super[t(404)](),this.workerUrl&&(URL[t(476)](this[t(425)]),this[t(425)]=null),this[t(418)]&&(clearTimeout(this[t(418)]),this.workerClearTimeout=null),this[t(492)]&&(this[t(492)][t(481)]({cmd:t(404)}),this[t(492)][t(407)](),this[t(492)]=null),this[t(433)]=!1,this[t(446)]=null,this.audioTrack=null,this[t(398)]=!1,this.isInitAudio=!1,this[t(413)]=25,this[t(406)][t(466)](this[t(396)],t(404))}[sT(493)](t,e){const s=sT;let i=this.audioTrack,r=this[s(446)];if(this[s(496)](),this[s(450)](),i[s(438)]=[],r[s(438)]=[],e){if(this.player[s(399)]({abps:e[s(435)]}),Js(this[s(440)])){const t=$I[s(417)](e,[s(400)])[0];if(!t)return void this.player[s(436)](this.TAG_NAME,"cannot found moov box");$I.moovToTrack($I.moov(t),null,i),this[s(496)]()&&(this[s(406)][s(466)](this.TAG_NAME,"audioData audio init success"),this[s(468)](i))}const t=$I[s(417)](e,[s(427)])[0];if(t){const r=$I[s(485)]($I.moof(t),null,i)[i.id],n=i[s(390)];if(r){const o=t.start;r[s(420)]((t=>{const r=s;t[r(416)]+=o;const a=e[r(486)](t[r(416)],t.offset+t[r(482)]),h=t[r(429)]+n,c=new Uint8Array(a[r(434)]+2);c.set([175,1],0),c[r(439)](a,2),i.samples[r(453)]({type:R[r(494)],pts:h,dts:h,payload:c,duration:t.duration,size:c[r(435)]})}))}}}if(t){if(this[s(406)][s(399)]({vbps:t[s(435)]}),Js(this[s(398)])&&Js(this.isInitAudio)){const e=$I.findBox(t,["moov"])[0];if(!e)throw new Error(s(473));if($I[s(432)]($I[s(400)](e),r,i),Js(this[s(440)])&&this.checkInitAudio()&&(this[s(406)][s(466)](this[s(396)],s(397),i),this[s(468)](i)),this[s(450)]()){this[s(406)][s(466)](this.TAG_NAME,s(405));let t=null;r.codecType===ct[s(491)]?r[s(389)][s(434)]&&r.vps.length&&r[s(464)].length&&(t=th({sps:r[s(389)][0],pps:r[s(464)][0],vps:r[s(423)][0]})):r[s(389)].length&&r[s(464)][s(434)]&&(t=_a({sps:r[s(389)][0],pps:r[s(464)][0]})),t&&(this.player[s(466)](this.TAG_NAME,s(395)),this[s(463)](t,R.video,0,!0,0))}}const e=$I[s(417)](t,["moof"])[0];if(e){const n=$I[s(485)]($I[s(427)](e),r,i),o=r[s(390)],a=i[s(390)],h=e[s(382)];Object[s(454)](n).forEach((e=>{const c=s;r.id==e?n[e][c(420)]((e=>{const s=c;e.offset+=h;const i={type:R[s(465)],pts:(e[s(474)]||e[s(429)])+o,dts:e[s(429)]+o,units:[],payload:null,isIFrame:!1};i[s(444)]=e[s(444)],i[s(441)]=e[s(441)],e[s(483)]&&(i.isIFrame=!0);const n=t[s(486)](e.offset,e[s(416)]+e[s(482)]);i.payload=n,r[s(438)][s(453)](i)})):i.id==e&&n[e][c(420)]((e=>{const s=c;e.offset+=h;const r=t[s(486)](e[s(416)],e[s(416)]+e.size),n=e[s(429)]+a,o=new Uint8Array(r[s(434)]+2);o.set([175,1],0),o.set(r,2),i[s(438)][s(453)]({type:R[s(494)],pts:n,dts:n,payload:o,duration:e[s(444)],size:o.byteLength})}))}))}}const n=r.samples.concat(i[s(438)]);n[s(480)](((t,e)=>{const i=s;return t.dts-e[i(429)]})),n.forEach((t=>{const e=s,i=new Uint8Array(t[e(392)]);delete t[e(392)],this[e(488)]()?this[e(492)][e(481)]({...t,payload:i,cmd:"sample"},[i[e(448)]]):t[e(470)]===R.video?this[e(460)]({...t,payload:i}):t[e(470)]===R.audio&&this[e(388)]({...t,payload:i})})),Js(this[s(433)])&&this._isUseWorker()&&(this._hasCalcFps=this[s(475)](n))}[sT(496)](){const t=sT;return this[t(440)]=!!(this[t(478)][t(495)]&&this[t(478)][t(401)]&&this.audioTrack[t(479)]&&this[t(478)][t(471)]===t(419)),this[t(440)]}[sT(450)](){const t=sT;return this.isInitVideo=!!(this[t(446)][t(464)][t(434)]&&this[t(446)][t(389)][t(434)]&&this[t(446)].codec),this[t(398)]}[sT(468)](t){const e=sT,s=ce({profile:t[e(415)],sampleRate:t[e(461)],channel:t[e(401)]});this[e(463)](s,R[e(494)],0,!0,0)}[sT(451)](){const t=sT;this[t(406)].debugLog(this[t(396)],t(459));const e=Bs(PI);let s=new Worker(e);this[t(425)]=e,this[t(418)]=setTimeout((()=>{const e=t;window[e(462)][e(476)](this.workerUrl),this[e(425)]=null,this[e(418)]=null}),I),s[t(481)]({cmd:t(381),options:{type:t(414),seekingMaxDiff:1e4,debug:this[t(406)][t(412)].debug,debugUuid:this[t(406)]._opt[t(402)]}}),s[t(403)]=e=>{const s=t,i=e[s(490)];switch(i[s(428)]){case"decodeVideo":this[s(460)](i);break;case"decodeAudio":this._doDecodeAudio(i);break;case s(385):if(this.tempSampleListInfo=i,this.player[s(386)]()){const t=this[s(457)](),e=this[s(406)][s(384)]();t&&e&&this.player.emit(B[s(408)],t/(1e3*e))}}},this[t(492)]=s}_postMessageToLoopWorker(t,e){const s=sT;this[s(488)]()&&(this[s(492)]?this[s(492)][s(481)]({cmd:t,...e}):this[s(406)][s(477)](this[s(396)],s(458)))}[sT(388)](t){const e=sT,s=new Uint8Array(t[e(392)]);this[e(406)][e(399)]({abps:s[e(435)]}),this[e(447)](s),this[e(463)](s,R.audio,t[e(429)],!1,0)}_doDecodeVideo(t){const e=sT,s=new Uint8Array(t[e(392)]);let i=null;i=t[e(424)]?eh(s,t[e(497)]):Ca(s,t[e(497)]),this[e(406)][e(399)]({dts:t[e(429)],vbps:i.byteLength});const r=t.pts-t[e(429)];let n=this[e(487)](i,t[e(497)]);this._doDecodeByHls(n,R[e(465)],t.dts,t[e(497)],r)}getBuferredDuration(){const t=sT;return this.tempSampleListInfo[t(469)]||0}getSampleListLength(){const t=sT;return this[t(455)][t(431)]||0}[sT(422)](){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){const t=sT;return this.tempSampleListInfo[t(467)]||0}[sT(411)](){const t=sT;return{start:this.tempSampleListInfo[t(382)]||0,end:this.tempSampleListInfo[t(426)]||0}}seekSampleRange(t){this[sT(383)]("seekSampleRange",{time:t})}[sT(437)](t){const e=sT;Js(this.player[e(456)]())&&(this[e(443)](!0),this[e(383)](e(387)),this[e(383)]("setSeekingTime",{time:t}))}[sT(393)](){this[sT(383)]("pause")}[sT(409)](){const t=sT;this[t(383)](t(409))}geVodLoadedTime(){const t=sT;let e=0;return e=this[t(411)]()[t(426)],e}}const oT=hT;function aT(){const t=[", startTime:","hls","init and isMP4 is ","472905sEPldE","18444540NFkLMR","isMP4",", contiguous:","player","6944466hTxBfU","55958FyXThk","HlsTransmuxer",", discontinuity:","byteLength","_demuxer","4695560rWdNNf","3CIaKrT",", needInit:","_initSegmentId",", audioChunk:","debugLog","demux","344DUzCGX","demuxAndFix","3005130AiRUAD","transmux","destroy","HLS","18uoLBLC","373748rRyYME","DEMUX","TAG_NAME"];return(aT=function(){return t})()}function hT(t,e){const s=aT();return(hT=function(t,e){return s[t-=484]})(t,e)}!function(t,e){const s=hT,i=t();for(;;)try{if(698870===parseInt(s(488))/1+-parseInt(s(513))/2+-parseInt(s(500))/3*(parseInt(s(499))/4)+-parseInt(s(508))/5+-parseInt(s(493))/6+parseInt(s(494))/7*(-parseInt(s(506))/8)+parseInt(s(512))/9*(parseInt(s(489))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(aT);class cT{constructor(t,e){const s=hT;this[s(486)]=t,this[s(492)]=this.hls.player,this[s(490)]=e,this[s(502)]="",this[s(484)]=s(495),this[s(498)]=e?new nT(this.hls[s(492)]):new OI(this[s(486)][s(492)]),this[s(492)][s(504)](this[s(484)],s(487)+e)}[oT(510)](){const t=oT;this._demuxer&&(this[t(498)][t(510)](),this[t(498)]=null)}[oT(509)](t,e,s,i,r,n){const o=oT;this[o(492)][o(504)](this[o(484)],"transmux videoChunk:"+(t&&t.byteLength)+o(503)+(e&&e[o(497)])+o(496)+s+o(491)+i+o(485)+r+o(501)+n);const a=this._demuxer;try{this.isMP4?a[o(505)](t,e):a[o(507)](Zp(t,e),s,i,r)}catch(t){throw new jE(UE[o(514)],UE[o(511)],t)}}}var lT=uT;function dT(){var t=["clearAllBuffer","probe","TAG_NAME","debugError","_needInitSegment","_decryptor","seamlessSwitch","getBufferedSegments","length","pause","decrypt","hls","getSampleVideoListLength","30XNzLwn","transmux","_baseDts","debugLog","212310bgkQBJ","409806snLRYa","10ySjvoY","1428572bEdZZl","getSampleAudioListLength","updateDuration","_transmuxer","3731661wskWGa","baseDts","getSampleListLength","480905xWckmI","seekSampleRange","player","decryptBuffer","getBufferedAudioSegments","_demuxer","isStateOpen","endOfStream","demuxerPause","updateDuration()","_directAppend","getBuferredDuration","resume","_sourceCreated","destroy","setLiveSeekableRange","createSource error: chunk is not ts","cleanSampleListAndSetSeekTime","createSource","12681042enImWb","8ULLXzW","nbSb","HlsBufferService","_softVideo","mseDecoder","_mse","17310uXefDz","33flCKSt"];return(dT=function(){return t})()}function uT(t,e){var s=dT();return(uT=function(t,e){return s[t-=455]})(t,e)}!function(t,e){for(var s=uT,i=t();;)try{if(254722===-parseInt(s(488))/1+parseInt(s(468))/2*(-parseInt(s(469))/3)+-parseInt(s(490))/4+parseInt(s(497))/5*(-parseInt(s(483))/6)+-parseInt(s(487))/7*(-parseInt(s(462))/8)+-parseInt(s(494))/9*(-parseInt(s(489))/10)+parseInt(s(461))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(dT);class pT{constructor(t){var e=uT;this[e(481)]=t,this[e(499)]=t.player,this._decryptor=new xI(this[e(481)],this[e(499)]),this[e(493)]=null,this[e(467)]=null,this[e(465)]=null,this[e(455)]=!1,this._needInitSegment=!0,this[e(507)]=!1,this.TAG_NAME=e(464)}async[lT(456)](){var t=lT;this[t(465)]=null,this._transmuxer&&(this[t(493)][t(456)](),this[t(493)]=null)}get[lT(495)](){var t,e,s=lT;return null===(t=this[s(493)])||void 0===t||null===(e=t[s(502)])||void 0===e?void 0:e[s(485)]}get[lT(463)](){return 0}async[lT(492)](t){var e=lT;this.player[e(486)](this[e(472)],e(506),t),this[e(499)].isPlayVod()&&(this[e(499)].playVod[e(492)](t),this[e(499)].isPlayVodUseMSE()&&this[e(499)][e(466)]&&this.player[e(466)][e(503)]&&this[e(499)].mseDecoder.updateMediaSourceDuration(t))}[lT(508)](){var t,e,s=lT;return null===(t=this[s(493)])||void 0===t||null===(e=t[s(502)])||void 0===e?void 0:e[s(508)]()}[lT(477)](){var t,e,s=lT;return null===(t=this[s(493)])||void 0===t||null===(e=t[s(502)])||void 0===e?void 0:e[s(496)]()}[lT(501)](){var t,e,s=lT;return null===(t=this._transmuxer)||void 0===t||null===(e=t[s(502)])||void 0===e?void 0:e[s(491)]()}getBufferedVideoSegments(){var t,e,s=lT;return null===(t=this[s(493)])||void 0===t||null===(e=t[s(502)])||void 0===e?void 0:e[s(482)]()}[lT(460)](t,e,s,i){var r=lT;if(this._sourceCreated)return;const n=t||e;n&&(OI[r(471)](n)?!this._transmuxer&&(this[r(493)]=new cT(this.hls,!1)):$I[r(471)](n)?!this._transmuxer&&(this[r(493)]=new cT(this[r(481)],!0)):this[r(499)][r(473)](this[r(472)],r(458)))}async appendBuffer(t,e,s,i,r,n,o){var a=lT;if(null!=s&&s[a(478)]||null!=i&&i[a(478)])return this[a(474)],this._transmuxer[a(484)](s,i,r,n,o,this[a(474)]||r),!0}async[lT(470)](){var t=lT;this[t(499)][t(486)](this[t(472)],t(470))}[lT(500)](t,e){var s=lT;return this[s(475)][s(480)](t,e)}async reset(){var t=lT;t(478),this[t(493)]=null,this[t(474)]=!0,this[t(507)]=!1}async[lT(504)](){var t=lT;this[t(465)]&&this._softVideo[t(504)]()}async[lT(457)](t,e){}[lT(476)](){this[lT(474)]=!0}getTsSampleRange(){var t,e,s=lT;return null===(t=this[s(493)])||void 0===t||null===(e=t[s(502)])||void 0===e?void 0:e.getSampleRange()}[lT(498)](t){var e,s,i=lT;return null===(e=this[i(493)])||void 0===e||null===(s=e._demuxer)||void 0===s?void 0:s[i(498)](t)}cleanSampleListAndSetSeekTime(t){var e,s,i=lT;null===(e=this[i(493)])||void 0===e||null===(s=e[i(502)])||void 0===s||s[i(459)](t)}[lT(505)](){var t,e,s=lT;null===(t=this[s(493)])||void 0===t||null===(e=t[s(502)])||void 0===e||e[s(479)]()}demuxerResume(){var t,e,s=lT;null===(t=this._transmuxer)||void 0===t||null===(e=t[s(502)])||void 0===e||e[s(509)]()}}function fT(t,e){const s=mT();return(fT=function(t,e){return s[t-=256]})(t,e)}function mT(){const t=["_seiSet","10055262JmeMNr","emitter","4538487ItSNLT","2971068LeuBFt","3386736XwMItk","8650865cpjFPR","clear","37815995JOFRyv","SEI","forEach","add","push","reset","emit","1675747BNigcZ","delete","time"];return(mT=function(){return t})()}const gT=fT;!function(t,e){const s=fT,i=t();for(;;)try{if(882716===-parseInt(s(268))/1+-parseInt(s(258))/2+parseInt(s(256))/3+parseInt(s(257))/4+-parseInt(s(259))/5+-parseInt(s(272))/6+parseInt(s(261))/7)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mT);class AT{constructor(t){const e=fT;this.emitter=t,this[e(271)]=new Set,t.on(vt[e(262)],(t=>{const s=e;t&&this[s(271)][s(264)](t)}))}throw(t){const e=fT;if(null==t||!this[e(271)].size)return;const s=t-.2,i=t+.2,r=[];this[e(271)].forEach((t=>{const n=e;t.time>=s&&t[n(270)]<=i&&r[n(265)](t)})),r[e(263)]((t=>{const s=e;this._seiSet[s(269)](t),this[s(273)][s(267)](vt.SEI_IN_TIME,t)}))}[gT(266)](){const t=gT;this._seiSet[t(260)]()}}function yT(t,e){const s=vT();return(yT=function(t,e){return s[t-=409]})(t,e)}const bT=yT;function vT(){const t=["842765safcAt","reduce","_stats","102sMGDoW","setEncodeType","responseUrl","samples","fps","setVideoMeta","fpsDen","sampleRate","25962cMgmUy","_bindEvents","length","fpsNum","299592PpIIMy","reset","type","domain","setFpsFromScriptData","videoCodec","getStats","METADATA_PARSED","duration","19406025EneKTm","_timescale","bitrate","height","audioCodec","units","gop","_core","_bitsAccumulateSize","channelCount","DEMUXED_TRACK","setAudioMeta","6108704KJZrjC","width","speedInfo","remaining","split","setDomain","bufferInfo","samplerate","encodeType","TTFB","889bBFiPj","slice","_bitsAccumulateDuration","codec","2857hHNQsC","track","codecType","48501IdWRao"];return(vT=function(){return t})()}!function(t,e){const s=yT,i=t();for(;;)try{if(470117===-parseInt(s(455))/1*(parseInt(s(462))/2)+parseInt(s(458))/3+-parseInt(s(420))/4+-parseInt(s(459))/5+-parseInt(s(416))/6*(parseInt(s(451))/7)+-parseInt(s(441))/8+parseInt(s(429))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vT);class ST{constructor(t){const e=yT;this[e(430)]=t,this.encodeType="",this[e(433)]="",this[e(425)]="",this[e(423)]="",this[e(412)]=0,this[e(431)]=0,this.width=0,this[e(432)]=0,this[e(448)]=0,this[e(438)]=0,this[e(435)]=0,this._bitsAccumulateSize=0,this._bitsAccumulateDuration=0}[bT(426)](){const t=bT;return{encodeType:this.encodeType,audioCodec:this.audioCodec,videoCodec:this[t(425)],domain:this[t(423)],fps:this[t(412)],bitrate:this[t(431)],width:this[t(442)],height:this[t(432)],samplerate:this[t(448)],channelCount:this[t(438)],gop:this.gop}}[bT(409)](t){this[bT(449)]=t}[bT(424)](t){var e;let{data:s}=t;const i=null==s||null===(e=s.onMetaData)||void 0===e?void 0:e.framerate;i&&i>0&&i<100&&(this.fps=i)}[bT(413)](t){const e=bT;if(this[e(442)]=t[e(442)],this[e(432)]=t[e(432)],this[e(425)]=t[e(454)],this[e(449)]=t[e(457)],t[e(419)]&&t.fpsDen){const s=t[e(419)]/t[e(414)];s>0&&s<100&&(this.fps=s)}}[bT(440)](t){const e=bT;this[e(433)]=t[e(454)],this.samplerate=t[e(415)],this[e(438)]=t[e(438)]}[bT(446)](t){const e=bT;this[e(423)]=t[e(445)]("/")[e(452)](2,3)[0]}updateBitrate(t){const e=bT;if((!this[e(412)]||this[e(412)]>=100)&&t[e(418)]){const s=t[e(460)](((t,s)=>t+s[e(428)]),0)/t[e(418)];this[e(412)]=Math.round(this[e(430)]/s)}t.forEach((t=>{const s=e;1===t.gopId&&this[s(435)]++,this[s(453)]+=t[s(428)]/(this[s(430)]/1e3),this[s(437)]+=t[s(434)][s(460)](((t,e)=>t+e[s(418)]),0),this[s(453)]>=1e3&&(this[s(431)]=8*this[s(437)],this[s(453)]=0,this[s(437)]=0)}))}}class wT{constructor(t){const e=bT;let s=arguments[e(418)]>1&&void 0!==arguments[1]?arguments[1]:1e3;vf(this,e(436),null),vf(this,"_samples",[]),this[e(436)]=t,this[e(430)]=s,this[e(461)]=new ST(s),this[e(417)]()}getStats(){const t=bT;var e,s,i,r,n,o,a;const{currentTime:h=0,decodeFps:c=0}=(null===(e=this._core)||void 0===e?void 0:e.media)||{};return{...this[t(461)][t(426)](),downloadSpeed:(null===(s=this[t(436)])||void 0===s||null===(i=s[t(443)])||void 0===i?void 0:i.call(s).speed)||0,avgSpeed:(null===(r=this[t(436)])||void 0===r||null===(n=r[t(443)])||void 0===n?void 0:n.call(r).avgSpeed)||0,currentTime:h,bufferEnd:(null===(o=this._core)||void 0===o||null===(a=o[t(447)]())||void 0===a?void 0:a[t(444)])||0,decodeFps:c}}_bindEvents(){const t=bT;this[t(436)].on(vt[t(439)],(e=>this[t(461)].updateBitrate(e[t(411)]))),this[t(436)].on(vt.FLV_SCRIPT_DATA,(e=>{const s=t;this[s(461)][s(424)](e)})),this[t(436)].on(vt[t(427)],(e=>{const s=t;"video"===e[s(422)]?this._stats[s(413)](e[s(456)]):this[s(461)][s(440)](e.track)})),this._core.on(vt[t(450)],(e=>{const s=t;this[s(461)].setDomain(e[s(410)])}))}[bT(421)](){const t=bT;this._samples=[],this[t(461)]=new ST(this._timescale)}}function ET(t,e){const s=TT();return(ET=function(t,e){return s[t-=330]})(t,e)}const IT=ET;function TT(){const t=["2644336EEHsbC","2361540hsspSr","start","end","buffers","808148htcMJF","length","buffered","reduce","2893443CVBdzU","1133534kVsjdu","1523253gsVYow","get","totalLength","9pXyabf","2028985CTbWeg","push","8FXUkxH"];return(TT=function(){return t})()}!function(t,e){const s=ET,i=t();for(;;)try{if(540303===parseInt(s(331))/1+-parseInt(s(336))/2+parseInt(s(337))/3*(parseInt(s(343))/4)+-parseInt(s(341))/5+-parseInt(s(345))/6+parseInt(s(335))/7+-parseInt(s(344))/8*(parseInt(s(340))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(TT);IT(346),IT(347),IT(338),IT(330),IT(339);function kT(t,e){const s=CT();return(kT=function(t,e){return s[t-=214]})(t,e)}function _T(t){const e=kT;if(t)try{return t[e(228)]}catch(t){}}function CT(){const t=["buffered","940hWFMhK","2070NcOzVA","12NynOHh","start","238ZEDwHf","reduce","28810UMNARM","6988CZHCYU","2238648TXBhIw","1307766OkSMBk","1085381CoOErS","length","642BrhuJK","187716KKcMVe","940FwNojO","end"];return(CT=function(){return t})()}function RT(t,e){const s=kT;if(!t||!t.length)return[];const i=[];for(let r=0,n=t[s(223)];rt+(e[1]-e[0])),0):0}function LT(t,e){const s=PT();return(LT=function(t,e){return s[t-=272]})(t,e)}!function(t,e){const s=kT,i=t();for(;;)try{if(841416===-parseInt(s(226))/1*(parseInt(s(224))/2)+-parseInt(s(221))/3+parseInt(s(219))/4*(-parseInt(s(229))/5)+-parseInt(s(225))/6*(-parseInt(s(216))/7)+parseInt(s(220))/8+parseInt(s(230))/9*(parseInt(s(218))/10)+-parseInt(s(222))/11*(parseInt(s(214))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(CT);const xT=LT;function PT(){const t=["cancel","loadSource","baseDts","_reset","load","_segmentProcessing","is live","onSeeking","3032118FdlFFe","_pollM3U8","and next _loadSegment()","demuxerResume","playVod","440hSUpAG","findSegmentIndexByTime","nextSeg is null and return","bind","clearOldSegment","getRenderCurrentPts","nextSeg","_manifestLoader","onPlay","createSource","end","isDestroyedOrClosed","_stats","getBufferedVideoSegments","_reqAndBufferSegment","and seekTime is","demuxerPause","resetBandwidth","in range","_loadSegment()","_loadM3U8","destroy","appendBuffer","_refreshM3U8","playVodPause","destroy end","_tickInterval"," and current time is ","clear buffer from ","bitrate","$videoElement","_loadSegment","_stopTick","log","16GZbOMK"," and seg is","audioCodec","_urlSwitching","1550808fIykJX","upsertPlaylist","_prevSegCc","subtitleStreams","_prevSegmentEndTime","currentSubtitleStream","_switchUrlOpts","config","_tickTimer","_loadData","audio seg","Hls256","currentAudioStream","_prevSegSn","totalDuration","url","_reset()","2532342AlAARg","lastSegment","_playlist","_end()","destroy()","speedInfo","nextSegment","fatal","updateDuration","isPlayVod","_refreshM3U8()","setNextSegmentByIndex","getSegmentByIndex","debugLog","_loadSegmentDirect() !seg","onPause","onPlay()","getBufferedAudioSegments","playVodSeek","_seiService","video","onVideoSeeking() and seekRange is","isEmpty","targetLatency","_bufferService","373805RHOiyE","player","decryptBuffer return null","_startTick","curSeg","getVideoCurrentTime","start","startTime","getDemuxVideoBufferedListLength","init","getDemuxBufferedListLength","getTsSampleRange","190663DvtAAr","_reloadOnPlay","_getSeamlessSwitchPoint","_loadSegmentDirect()","catch","isMaster","_emitError","_end","getBufferedSegments","cleanSampleListAndSetSeekTime","listen playVodSeek"," more than ","abs","isLive"," and segIndex is ","2873284gJPehN","videoCodec","SWITCH_URL_FAILED","_segmentLoader","handlePlayVodPause","debug","video seg","debugWarn","isPlayVodUseMSE","onVideoSeeking","2xNbooY","playVodVideoSeekingByMse","_clear","decryptBuffer","_tick","currentStream","paused","preloadTime","hasSubtitle","reset","getStats","_loadSegmentDirect() not appended","create","SUBTITLE_PLAYLIST","_opt","canVideoPlay","emit","_loadSegmentDirect","originError","isSeeking","835422Zdftju","TAG_NAME","trim","_loadSegment() and _prevSegmentEndTime is ","this._playlist is null and return","streams","error","SWITCH_URL_SUCCESS","downloadSpeed","onSeeking() seek to tsSampleRange","currentSegment","getBuferredDuration","5KmCvzg","table","_refreshM3U8() mediaPlaylist is empty","currentTime","all","_disconnectTimer","length","seg.isLast"];return(PT=function(){return t})()}!function(t,e){const s=LT,i=t();for(;;)try{if(469893===-parseInt(s(413))/1+parseInt(s(280))/2*(parseInt(s(371))/3)+parseInt(s(440))/4+parseInt(s(312))/5*(-parseInt(s(388))/6)+parseInt(s(300))/7+parseInt(s(367))/8*(parseInt(s(328))/9)+-parseInt(s(333))/10*(parseInt(s(425))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(PT);class BT extends mi{constructor(t){const e=LT;let s=arguments[e(318)]>1&&void 0!==arguments[1]?arguments[1]:{};var i;super(),vf(this,e(364),(async()=>{const t=e;if(this[t(325)])return void this[t(414)][t(277)](t(352),"_segmentProcessing is ture and return");if(!this._playlist)return void this[t(414)].debugWarn(t(352),t(304));const s=this[t(390)][t(310)],i=this[t(390)][t(394)];if(this[t(414)][t(401)](this[t(301)],t(352),t(417),s&&s[t(386)],t(339),i&&i.url),i){if(this.player[t(397)]()){let e=this.player[t(338)]();e/=1e3,this[t(414)][t(278)]()&&(e=this[t(414)][t(418)]());let s=this[t(414)][t(332)][t(299)]();if(this[t(375)]&&Js(s)&&this[t(375)]>this[t(414)][t(294)][t(287)]*this[t(414)].playVod.rate+e)return void this[t(414)][t(275)][t(366)](this[t(301)],t(303)+this[t(375)]+t(360)+e+t(436)+(this[t(414)]._opt[t(287)]*this[t(414)][t(332)].rate+e)+" and return");this._prevSegmentEndTime=i[t(343)]}return this[t(297)]()}this.player[t(401)](this.TAG_NAME,t(335))})),this[e(414)]=t,this[e(378)]=null,this[e(340)]=null,this[e(273)]=null,this[e(390)]=null,this[e(412)]=null,this[e(407)]=null,this[e(345)]=null,this[e(384)]=null,this[e(373)]=null,this._tickTimer=null,this[e(359)]=500,this[e(325)]=!1,this[e(426)]=!1,this._switchUrlOpts=null,this[e(317)]=null,this[e(375)]=0,this[e(301)]=e(382),this[e(295)]=!1,this.$videoElement=null,this.config=(i=s,s={isLive:!0,maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,...i}),this._manifestLoader=new uI(this),this[e(273)]=new vI(this),this[e(390)]=new CI(this),this[e(412)]=new pT(this),this[e(407)]=new AT(this),this[e(345)]=new wT(this,9e4),this[e(414)].isPlayVod()&&(this[e(414)].on(B[e(357)],this[e(274)][e(336)](this)),this[e(414)][e(278)]()?this[e(414)].on(B[e(281)],this[e(279)].bind(this)):this.player.on(B[e(406)],this[e(327)].bind(this))),this[e(414)].debug[e(366)](this[e(301)],e(422))}async[xT(354)](){const t=xT;this[t(414)][t(401)](this[t(301)],t(392)),this[t(390)][t(289)](),this[t(273)][t(289)](),this[t(407)][t(289)](),await Promise.all([this[t(282)](),this[t(412)].destroy()]),this._manifestLoader&&(await this._manifestLoader.destroy(),this[t(340)]=null),this[t(273)]&&(this[t(273)].destroy(),this[t(273)]=null),this[t(390)]&&(this._playlist[t(354)](),this[t(390)]=null),this.player.debugLog(this[t(301)],t(358))}[xT(416)](){const t=xT;this[t(365)](),this[t(379)]=setTimeout((()=>{this[t(284)]()}),this[t(359)])}[xT(365)](){const t=xT;this[t(379)]&&clearTimeout(this._tickTimer),this[t(379)]=null}[xT(284)](){const t=xT;this[t(414)][t(344)]()?this[t(414)][t(401)](this[t(301)],"_tick() player is destroyed"):(this._startTick(),this[t(364)]())}get[xT(438)](){const t=xT;return this._playlist[t(438)]}get[xT(305)](){const t=xT;return this[t(390)][t(305)]}get currentStream(){const t=xT;return this[t(390)][t(285)]}get hasSubtitle(){const t=xT;return this._playlist[t(288)]}get[xT(322)](){const t=xT;var e;return null===(e=this[t(412)])||void 0===e?void 0:e[t(322)]}speedInfo(){const t=xT;return this[t(273)][t(393)]()}[xT(350)](){const t=xT;this[t(273)][t(350)]()}[xT(290)](){const t=xT;return this[t(345)][t(290)]()}async[xT(321)](t){const e=xT;return await this[e(323)](),await this._loadData(t),this._startTick(),!0}async[xT(380)](t){const e=xT;try{t&&(t=t[e(302)]())}catch(t){}if(!t)throw this[e(431)](new jE(UE.OTHER,UE.OTHER,null,null,"m3u8 url is missing"));const s=await this._loadM3U8(t),{currentStream:i}=this[e(390)];if(this._urlSwitching){var r,n;if(0===i[e(362)]&&null!==(r=this[e(377)])&&void 0!==r&&r[e(362)])i.bitrate=null===(n=this[e(377)])||void 0===n?void 0:n[e(362)];const t=this[e(427)]();this[e(378)][e(420)]=t;const s=this[e(390)][e(334)](t),o=this[e(390)][e(400)](s+1);if(o){const t=o[e(419)];this[e(414)][e(277)](this.TAG_NAME,e(361)+t)}}s&&(this.isLive?(this.player[e(401)](this[e(301)],e(326)),this._bufferService.setLiveSeekableRange(0,4294967295),this[e(378)][e(411)]{const s=t;let[i,a,h]=e;i?(this[s(390)][s(372)](i,a,h),this[s(438)]&&this._pollM3U8(r,n,o)):this[s(414)].debugWarn(this[s(301)],s(314))}))[t(429)]((e=>{const s=t;throw this[s(431)](jE[s(292)](e))}))}[xT(329)](t,e,s){const i=xT;var r;let n=this[i(390)][i(410)];this[i(340)].poll(t,e,s,((t,e,s)=>{const r=i;this[r(390)][r(372)](t,e,s),this[r(390)][r(337)](),t&&n&&!this[r(390)][r(410)]&&this[r(364)](),n&&(n=this[r(390)].isEmpty)}),(t=>{const e=i;this[e(431)](jE[e(292)](t))}),1e3*((null===(r=this._playlist[i(389)])||void 0===r?void 0:r.duration)||0))}async _loadSegmentDirect(){const t=xT,e=this[t(390)][t(394)];if(!e)return void this[t(414)][t(401)](this[t(301)],t(402));let s=!1,i=null;try{this._segmentProcessing=!0,s=await this[t(347)](e,this[t(390)].getAudioSegment(e))}catch(t){i=t}finally{this[t(325)]=!1}return i?this[t(431)](jE[t(292)](i)):(s?(this[t(370)]&&(this[t(370)]=!1,this[t(296)](vt[t(307)],{url:this[t(378)][t(386)]})),this._playlist.moveSegmentPointer(),this[t(414)][t(401)](this[t(301)],t(428),t(319),e.isLast),e.isLast?(this.player[t(401)](this[t(301)],t(428),t(319)),this._end()):(this[t(414)][t(401)](this[t(301)],t(428),t(330)),this[t(364)]())):this.player[t(401)](this[t(301)],t(291)),s)}async[xT(347)](t,e){const s=xT;this[s(414)].debugLog(this[s(301)],s(276),t&&t[s(386)],s(381),e&&e[s(386)]);const i=t?t.cc:e.cc,r=this[s(373)]!==i;let n=[];try{n=await this[s(273)][s(324)](t,e,r)}catch(t){throw t.fatal=!1,this[s(273)][s(306)]=t,t}if(!n[0])return;const o=await this[s(412)][s(283)](...n);if(!o)return void this[s(414)][s(401)](this[s(301)],s(415));const a=t?t.sn:e.sn,h=t?t[s(419)]:e.start,c=this[s(390)][s(285)];return this._bufferService[s(342)](o[0],o[1],null==c?void 0:c[s(441)],null==c?void 0:c[s(369)]),await this[s(412)][s(355)](t,e,o[0],o[1],r,this[s(384)]===a-1,h),this[s(373)]=i,this[s(384)]=a,!0}async[xT(282)](){const t=xT;this.player[t(401)](this[t(301)],"_clear()"),clearTimeout(this[t(317)]),this[t(365)](),await Promise[t(316)]([this[t(273)][t(320)](),this[t(340)].stopPoll()]),this[t(325)]=!1}async[xT(323)](){const t=xT;let e=arguments[t(318)]>0&&void 0!==arguments[0]&&arguments[0];return this[t(414)][t(401)](this.TAG_NAME,t(387)),this[t(426)]=!1,this[t(384)]=null,this._prevSegCc=null,this[t(377)]=null,this[t(375)]=0,this[t(390)].reset(),this[t(273)][t(289)](),this._seiService[t(289)](),this[t(345)][t(289)](),await this[t(282)](),this._bufferService.reset(e)}[xT(432)](){const t=xT;this[t(414)].debugLog(this[t(301)],t(391)),this[t(282)]()}_emitError(t){const e=xT;var s;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r;!1===(null===(s=t[e(298)])||void 0===s?void 0:s[e(395)])?console.warn(t):(console[e(313)](t),console[e(306)](t),console.error(null===(r=this.media)||void 0===r?void 0:r[e(306)]),this[e(365)](),this[e(370)]&&(this[e(370)]=!1,this[e(296)](vt[e(272)],t)),i&&this[e(432)](),this[e(407)][e(289)](),this[e(296)](vt.ERROR,t));return t}[xT(427)](){const t=xT,{media:e}=this;let s=e[t(315)];if(!e[t(286)]){var i;const r=this._playlist.findSegmentIndexByTime(e[t(315)]),n=this[t(390)][t(400)](r),o=null===(i=this._stats)||void 0===i?void 0:i[t(290)]()[t(308)];if(o&&n){s+=n.duration*this[t(390)][t(285)][t(362)]/o+1}else s+=5}return s}async[xT(341)](){const t=xT;this[t(414)][t(275)][t(366)](this[t(301)],t(404)),this._bufferService[t(331)](),await this[t(364)](),this[t(416)]()}[xT(403)](){const t=xT;this.player.debug[t(366)](this[t(301)],"onPause()"),this._bufferService[t(349)](),this[t(365)](),this._segmentLoader.reset()}async[xT(274)](t){t?this[xT(403)]():await this.onPlay()}async[xT(327)](t){const e=xT;this.player[e(275)][e(366)](this[e(301)],e(435),t);const s=this[e(412)][e(424)]();if(this[e(414)][e(275)].log(this[e(301)],e(309),s),s&&s[e(419)]<=t&&t<=s[e(343)])return this.player[e(275)][e(366)](this.TAG_NAME,e(309),s,e(351)),void this[e(412)].seekSampleRange(t);const i=this[e(390)].findSegmentIndexByTime(t),r=this[e(390)][e(400)](i);null==i||!r||this[e(325)]&&r===this[e(390)][e(394)]||(this[e(414)].debug[e(366)](this[e(301)],"onSeeking() seek to "+t+e(439)+i+e(368),r),this._bufferService[e(434)](t),this._playlist[e(399)](i),this[e(365)](),this[e(375)]=0,await this[e(273)].cancel(),await this[e(297)](),this[e(416)]())}async[xT(279)](t){const e=xT;this[e(414)][e(275)][e(366)](this[e(301)],"listen playVodVideoSeekingByMse",t);const s=this[e(390)].seekRange;if(this[e(414)][e(401)](this[e(301)],e(409),s,e(348),t),s){const i=Me(t,s[0]+.1,s[1]-.1);if(i>=0&&Math[e(437)](t-i)>=.1)return this.player.debugLog(this[e(301)],"onVideoSeeking() update current time",i),void(this[e(414)][e(408)][e(363)][e(315)]=i)}await this[e(327)](t)}getDemuxBuferredDuration(){const t=xT;return this._bufferService[t(311)]()||0}[xT(423)](){const t=xT;return this[t(412)][t(433)]()||0}getDemuxAudioBufferedListLength(){const t=xT;return this[t(412)][t(405)]()||0}[xT(421)](){const t=xT;return this[t(412)][t(346)]()||0}}const MT=OT;function FT(){const t=["TAG_NAME","hls","_startBandwidthEstimateInterval","kBps","_stopBandwidthEstimateInterval","video","1157103GvHIxs","getDemuxBuferredDuration","debugLog","resetBandwidth","507883fpiZyE","1936842HcqGtS","$videoElement","988939AJlqmx","8SoVzRv","avgSpeed","destroy","10BSFnKu","checkHlsBufferedDelay","181682zXpTKD","4KCBbDY","18133621YoEjql","getDemuxVideoBufferedListLength","toFixed","eventsDestroy","hlsError","ERROR","player","getDemuxAudioBufferedListLength","_bindEvents","bandwidthEstimateInterval","12wOEuUC","3034230TYoNvM","getDemuxBufferedListLength","loadSource"];return(FT=function(){return t})()}function OT(t,e){const s=FT();return(OT=function(t,e){return s[t-=133]})(t,e)}!function(t,e){const s=OT,i=t();for(;;)try{if(304495===-parseInt(s(156))/1+parseInt(s(165))/2*(parseInt(s(142))/3)+parseInt(s(166))/4*(-parseInt(s(143))/5)+-parseInt(s(157))/6+-parseInt(s(159))/7*(parseInt(s(160))/8)+parseInt(s(152))/9*(-parseInt(s(163))/10)+parseInt(s(167))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(FT);class UT extends mi{constructor(t){const e=OT;super(),vf(this,e(146),"Hls256Decoder"),this[e(138)]=t,this[e(158)]=this.player[e(151)][e(158)],this[e(147)]=null,this[e(135)]=[],this.bandwidthEstimateInterval=null,this.hls=new BT(t),this._bindEvents()}async[MT(162)](){const t=MT;return this[t(150)](),this[t(147)]&&(await this[t(147)][t(162)](),this[t(147)]=null),this[t(135)].length&&(this.eventsDestroy.forEach((t=>t())),this[t(135)]=[]),this[t(158)]=null,this[t(138)][t(154)](this[t(146)],t(162)),!0}[MT(140)](){const t=MT;this[t(147)].on(vt[t(137)],(e=>{const s=t;this[s(138)].emitError(O[s(136)],e)}))}_startBandwidthEstimateInterval(){const t=MT;this[t(150)](),this[t(141)]=setInterval((()=>{const e=t,s=this[e(147)].speedInfo();this.player.emit(B[e(149)],(s[e(161)]/1024/8)[e(134)](2)),this[e(147)][e(155)]()}),1e3)}[MT(150)](){const t=MT;this.bandwidthEstimateInterval&&(clearInterval(this[t(141)]),this.bandwidthEstimateInterval=null)}async[MT(145)](t){const e=MT;return this.url=t,await this[e(147)][e(145)](t),this[e(148)](),!0}[MT(164)](){const t=MT;let e=0;return this[t(147)]&&(e=this[t(147)][t(153)]()),e}[MT(144)](){const t=MT;let e=0;return this[t(147)]&&(e=this[t(147)][t(144)]()),e}[MT(139)](){const t=MT;let e=0;return this[t(147)]&&(e=this[t(147)][t(139)]()),e}[MT(133)](){const t=MT;let e=0;return this[t(147)]&&(e=this[t(147)][t(133)]()),e}}function jT(){const t=["type","pts","default_KID","9306710unScwV","mvhd","size","soun","set","handlerType","duration","stbl","length","4105bUSZRz","keyframe","offset","mdia","vide","335360ZbksUi","timescale","endTime","enca","mdhd","reduce","gopId","9XCdgFF","forEach","2773211GUnpjV","2046tbtEnp","8XvjVhG","30zcGZin","map","height","hdlr","entries","entrySizes","channelCount","sampleRate","encv","isNaN","esds","sinf","codec","width","412932AFOfLW","275CIZWGI","schi","trak","minf","tenc","stsd","byteLength","find","filter","avcC","487582oBEwzi","sampleSize","push","463112PbIsSA","samplesPerChunk","firstChunk"];return(jT=function(){return t})()}function NT(t,e){const s=GT,i=t.trak;if(!i||!i[s(343)])return;const r=i.find((t=>{const e=s;var i,r;return(null===(i=t[e(347)])||void 0===i||null===(r=i[e(364)])||void 0===r?void 0:r[e(340)])===e(348)})),n=i[s(383)]((t=>{const e=s;var i,r;return"soun"===(null===(i=t[e(347)])||void 0===i||null===(r=i[e(364)])||void 0===r?void 0:r[e(340)])}));if(!r&&!n)return;let o,a=[],h=[];if(r){var c,l,d;const t=null===(c=r[s(347)])||void 0===c||null===(l=c[s(379)])||void 0===l?void 0:l[s(342)];if(!t)return;const i=null===(d=r[s(347)][s(353)])||void 0===d?void 0:d[s(350)],{stts:n,stsc:h,stsz:u,stco:p,stss:f,ctts:m}=t;if(!(i&&n&&h&&u&&p&&f))return;a=VT(e,i,n,h,u,p,f,m),o=a[s(362)]((t=>t[s(341)]))}if(n){var u,p,f;const t=null===(u=n[s(347)])||void 0===u||null===(p=u[s(379)])||void 0===p?void 0:p.stbl;if(!t)return;const i=null===(f=n[s(347)].mdhd)||void 0===f?void 0:f[s(350)],{stts:r,stsc:a,stsz:c,stco:l}=t;if(!(i&&r&&a&&c&&l))return;h=VT(e,i,r,a,c,l,null,null,o)}return{videoSegments:a,audioSegments:h}}function VT(t,e,s,i,r,n,o,a,h){const c=GT,l=[],d=[],u=[],p=i[c(365)],f=n.entries,m=r[c(366)],g=null==o?void 0:o[c(365)],A=null==a?void 0:a[c(365)];let y,b;A&&(y=[],A.forEach((t=>{const e=c;let{count:s,offset:i}=t;for(let t=0;t{b[t-1]=!0})));let v,S,w=0,E=0,I=0,T=0,k=0,_=p[0][c(330)],C=p[1]?p[1][c(331)]-1:1/0,R=0,D=-1;s[c(365)].forEach((t=>{const e=c;let{count:s,delta:i}=t;S=i;for(let t=0;t=C&&(T++,C=p[T+1]?p[T+1][e(331)]-1:1/0),_+=p[T][e(330)])}));const L=l[c(343)];if(!L||o&&!l[0][c(345)])return;const x=[];let P,B=[],M=0,F=0;const O=t=>{const s=c;var i;P=B[B.length-1],x.push({index:x[s(343)],startTime:(null===(i=x[x[s(343)]-1])||void 0===i?void 0:i[s(351)])||B[0].startTime/e,endTime:(P.startTime+P[s(341)])/e,duration:t,range:[B[0].offset,P[s(346)]+P.size],frames:B}),M=0,B=[]};if(o){const s=t*e;for(let t=0,i=d[c(343)];ts)&&O(M/e):O(M/e)}else{let s=(h=h||[])[0]||t;for(let i=0;i=L||r+F>=s)&&(F+=r-s,O(r),s=h[x.length]||t)}}return x}function zT(t){const e=GT;let s="",i="",r=0,n=0,o=0,a=0,h=0,c=0,l=0;t[e(336)]&&(h=t[e(336)][e(341)]/t[e(336)][e(350)]);const d=t[e(378)];if(d){const C=d[e(383)]((t=>{const s=e;var i,r;return"vide"===(null===(i=t[s(347)])||void 0===i||null===(r=i[s(364)])||void 0===r?void 0:r.handlerType)})),R=d[e(383)]((t=>{const s=e;var i,r;return(null===(i=t.mdia)||void 0===i||null===(r=i[s(364)])||void 0===r?void 0:r.handlerType)===s(338)}));let D,L=null;var u,p,f,m,g,A,y,b,v,S,w,E,I,T,k,_;if(C)if(L=null===(u=C[e(347)])||void 0===u||null===(p=u.minf)||void 0===p||null===(f=p[e(342)])||void 0===f?void 0:f[e(381)][e(365)][0],L)if(r=L[e(374)],n=L[e(363)],c=null===(m=C[e(347)])||void 0===m||null===(g=m[e(353)])||void 0===g?void 0:g[e(350)],s=null===(A=L[e(385)]||L.hvcC)||void 0===A?void 0:A.codec,L.type===e(369))D=null===(y=L[e(372)])||void 0===y||null===(b=y[e(377)])||void 0===b?void 0:b[e(380)][e(334)];if(R)if(L=null===(v=R[e(347)])||void 0===v||null===(S=v.minf)||void 0===S||null===(w=S[e(342)])||void 0===w?void 0:w[e(381)][e(365)][0],L)if(o=L[e(367)],a=L[e(368)],i=null===(E=L[e(371)])||void 0===E?void 0:E[e(373)],l=null===(I=R[e(347)])||void 0===I||null===(T=I[e(353)])||void 0===T?void 0:T.timescale,L[e(332)]===e(352))D=D||(null===(k=L[e(372)])||void 0===k||null===(_=k[e(377)])||void 0===_?void 0:_.tenc[e(334)]);return{kid:D?D.join(""):null,videoCodec:s,audioCodec:i,width:r,height:n,videoTimescale:c,audioChannelCount:o,audioSampleRate:a,duration:h,audioTimescale:l,moov:t}}}function GT(t,e){const s=jT();return(GT=function(t,e){return s[t-=330]})(t,e)}function HT(t){return"number"==typeof t&&!Number[GT(370)](t)}function WT(){const t=GT;for(var e=arguments[t(343)],s=new Array(e),i=0;ie+s[t(382)]),0));let n=0;return s[t(357)]((e=>{const s=t;r[s(339)](e,n),n+=e[s(382)]})),r}function KT(){var t=["4614399AmlYqZ","2757640cenXzP","34449dFeNJP","1QdcJnM","112xpfVOF","8GWTaQs","497242cuJYCP","set","222ZewCuO","11KlUeTq","_data","6952510BTGVEG","clear","15588432DSRsKg","get","973HnOqQk","create"];return(KT=function(){return t})()}function QT(t,e){var s=KT();return(QT=function(t,e){return s[t-=346]})(t,e)}!function(t,e){const s=GT,i=t();for(;;)try{if(488688===parseInt(s(386))/1+-parseInt(s(389))/2+parseInt(s(361))/3*(parseInt(s(349))/4)+parseInt(s(344))/5*(-parseInt(s(359))/6)+parseInt(s(358))/7*(-parseInt(s(360))/8)+-parseInt(s(356))/9*(-parseInt(s(335))/10)+parseInt(s(376))/11*(-parseInt(s(375))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(jT);var YT=QT;!function(t,e){for(var s=QT,i=t();;)try{if(354760===-parseInt(s(362))/1*(parseInt(s(348))/2)+-parseInt(s(361))/3*(parseInt(s(346))/4)+-parseInt(s(360))/5+-parseInt(s(350))/6*(parseInt(s(357))/7)+-parseInt(s(347))/8*(parseInt(s(359))/9)+parseInt(s(353))/10*(parseInt(s(351))/11)+parseInt(s(355))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(KT);class qT{constructor(){var t=QT;vf(this,t(352),Object[t(358)](null))}[YT(349)](t,e){this[YT(352)][t]=e}[YT(356)](t){return this._data[t]}[YT(354)](){var t=YT;this[t(352)]=Object[t(358)](null)}}const JT=XT;function XT(t,e){const s=ZT();return(XT=function(t,e){return s[t-=410]})(t,e)}function ZT(){const t=["getSegmentByTime","meta","min","4634272bzaBon","range",", state,","findBox","mp4","loadSegmentByTime","mdat","loadMetaProcess","isLastSegment","setCurrentSegment","url","cannot find moov box","_config","updateDuration","segmentDuration","loadData","load","buffer","loadMeta","[loadMetaProcess],task,[","size","get","_bufferService","[load moov end!!!!!]","getOrLoadMeta","vid","index","byteLength","duration","[loadMetaProcess],data not done,setstate false,[","[loadMeta start]","player","120azUgHf","init","MP4Loader","clear","find","3147174UBmyxF","moovEnd","25603776qPcSvr","changeUrl","debugLog","cannot parse moov box","audioSegments","[loadMetaProcess],moov not all, range,","_getCacheKey","endTime","slice","[loadMetaProcess start], range,","cannot find moov or mdat box","20983qdONuI","preload","audio","loadCacheMeta","_loadSegment","cannot parse segments","isSegmentLoading","push","_error","_loader","TAG_NAME","maxDownloadInfoSize","[MP4loader reset func call loader.cancel]","arraybuffer","947166uuTtpN","moov","_currentSegmentIndex","max","destroy","data","start",",err,","length","[loadMetaProcess],data done,setstate true,[","4421116VZVosw","5876710WWWDNC","videoSegments","reset","_currentLoadingSegmentIndex","cancel","downloadInfo","startTime","cache","isMetaLoaded",",dataLen,"];return(ZT=function(){return t})()}!function(t,e){const s=XT,i=t();for(;;)try{if(652027===parseInt(s(467))/1*(parseInt(s(449))/2)+parseInt(s(454))/3+parseInt(s(417))/4+parseInt(s(492))/5+-parseInt(s(481))/6+-parseInt(s(491))/7+-parseInt(s(456))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ZT);class $T extends mi{constructor(t,e){const s=XT;let i=arguments[s(489)]>2&&void 0!==arguments[2]?arguments[2]:{};var r;super(),vf(this,"_transformError",(t=>t)),this[s(477)]=s(451),this[s(429)]=(r=i,{vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:XT(480),cache:null,...r});const{vid:n,cache:o,...a}=this[s(429)];this[s(421)]=t,this[s(448)]=e,this[s(442)]=n||a[s(427)],this[s(427)]=a[s(427)],this[s(415)]={},this.downloadInfo=[],this.videoSegments=[],this[s(460)]=[],this[s(411)]=new qT,this._currentSegmentIndex=-1,this[s(495)]=-1,this[s(434)],this[s(475)],this._loader=new ME(a,e),this[s(476)].on("real_time_speed",(t=>{})),this.player[s(458)](this.TAG_NAME,s(450))}async[JT(485)](){const t=JT;await this[t(494)](),this[t(411)][t(452)](),this.player[t(458)](this[t(477)],t(485))}get[JT(412)](){const t=JT;return this[t(493)].length||this[t(460)][t(489)]}[JT(426)](t){HT(t)&&(this._currentSegmentIndex=t)}[JT(425)](t){const e=JT;if(HT(t)){var s,i;return t>=((null===(s=this[e(493)][this[e(493)][e(489)]-1])||void 0===s?void 0:s[e(443)])||(null===(i=this[e(460)][this[e(460)][e(489)]-1])||void 0===i?void 0:i.index)||0)}return!1}[JT(473)](t){return t===this[JT(495)]}async[JT(457)](t){const e=JT;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=arguments.length>2?arguments[2]:void 0,r=arguments[e(489)]>3?arguments[3]:void 0;await this[e(494)](r),t&&(this.url=t),s&&(this[e(442)]=s),i&&(this[e(429)][e(455)]=i)}async[JT(441)](t){const e=JT;return!this.isMetaLoaded&&await this[e(435)](t),this[e(415)]}async[JT(424)](t,e,s,i){const r=JT;let[n,o]=e;this[r(475)]=!1,this.player[r(458)](this[r(477)],r(465),[n,o]);await this.loadData([n,o||this[r(429)][r(455)]],t,{onProgress:async(e,a,h)=>{const c=r;if(this[c(415)]&&null!=h&&h[c(418)]&&h[c(418)][c(489)]>0&&h[c(418)][1]>=o&&(a=!0,this[c(448)][c(458)](this[c(477)],c(490),n,o,"]")),a&&null!=h&&h[c(418)]&&h[c(418)][c(489)]>0&&h.range[1]0&&s(e,a,h),!this.meta[c(482)]&&!this[c(475)]&&e&&e[c(444)]>0){this[c(434)]=WT(this[c(434)],e);let r=$I[c(420)](this[c(434)],["moov"])[0];if(!r){const e=$I[c(420)](this[c(434)],[c(423)])[0];if(a){if(!e)return this._error=!0,void s(null,a,h,{err:"cannot find moov or mdat box"});{const s=e[c(487)]+e[c(437)],n=await this.loadData([s,""],t,i);n&&(r=$I[c(420)](n.data,[c(482)])[0])}}}if(r&&a&&r[c(437)]>r[c(486)][c(489)]&&(this[c(448)][c(458)](this[c(477)],c(461),h[c(418)][1],c(413),this[c(434)][c(444)],c(419),a),await this.loadMetaProcess(t,[h[c(418)][1],r.start+r[c(437)]-1],s)),r&&r[c(437)]<=r[c(486)][c(489)]&&!this.meta[c(482)]){const t=$I[c(482)](r);if(!t)return this[c(475)]=!0,void s(null,a,h,{err:"cannot parse moov box"});const e=NT(t,this[c(429)][c(431)]);if(!e)return this[c(475)]=!0,void s(null,a,h,{err:c(472)});this[c(415)]=zT(t);const{videoSegments:i,audioSegments:n}=e;this[c(493)]=i,this[c(460)]=n,this.player.debugLog(this[c(477)],"[loadMetaProcess] moov ok"),s(void 0,a,{meta:{meta:this[c(415)],videoSegments:i,audioSegments:n}})}}},...i})}async[JT(435)](t,e,s){const i=JT,r=[];this.player[i(458)](this[i(477)],i(447));let n=await this[i(432)]([0,e||this._config[i(455)]],t,s);if(!n)return;r[i(474)](n);let o=$I.findBox(n[i(486)],["moov"])[0];if(!o){const e=$I[i(420)](n[i(486)],["mdat"])[0];if(!e)throw new MediaError(i(466),n.data);const a=e[i(487)]+e.size;if(n=await this[i(432)]([a],t,s),!n)return;if(r[i(474)](n),o=$I.findBox(n[i(486)],[i(482)],a)[0],!o)throw new MediaError(i(428),n.data)}if(o[i(437)]>o[i(486)][i(489)]){if(n=await this[i(432)]([n[i(486)][i(489)],o[i(487)]+o[i(437)]-1],t,s),!n)return;r[i(474)](n),o[i(486)]=WT(o[i(486)],n.data)}const a=$I.moov(o);if(!a)throw new MediaError(i(459),o[i(486)]);const h=NT(a,this._config[i(431)]);if(!h)throw new MediaError(i(472),o[i(486)]);this[i(415)]=zT(a);const{videoSegments:c,audioSegments:l}=h;return this[i(493)]=c,this[i(460)]=l,this[i(448)].debugLog(this[i(477)],i(440),this[i(415)],c,l),this.meta&&this[i(421)][i(439)][i(430)](this.meta[i(445)]),{meta:this[i(415)],videoSegments:c,audioSegments:l,responses:r}}[JT(470)](t,e){const s=JT,{moov:i}=t,r=NT(i,this[s(429)][s(431)]),{videoSegments:n,audioSegments:o}=r;this[s(493)]=n,this.audioSegments=o,this[s(483)]=e,this[s(415)]=t}[JT(414)](t){const e=JT;let s,i;return this[e(493)][e(489)]?(s=this[e(493)][e(453)]((s=>s[e(410)]<=t&&s[e(463)]>t)),s&&(i=this[e(460)][s[e(443)]])):i=this.audioSegments[e(453)]((s=>s[e(410)]<=t&&s[e(463)]>t)),{video:s,audio:i}}async[JT(422)](t,e){const s=JT;let i=!(arguments[s(489)]>2&&void 0!==arguments[2])||arguments[2],r=arguments[s(489)]>3&&void 0!==arguments[3]?arguments[3]:{};!this[s(412)]&&await this[s(435)](e);const{video:n,audio:o}=this.getSegmentByTime(t);return this[s(471)](n,o,e,i,r)}async loadNextSegment(t){const e=JT;let s=!(arguments[e(489)]>1&&void 0!==arguments[1])||arguments[1],i=arguments[e(489)]>2&&void 0!==arguments[2]?arguments[2]:{};!this[e(412)]&&await this.loadMeta();const r=this[e(493)][this[e(483)]+1],n=this[e(460)][this[e(483)]+1];return this[e(471)](r,n,t,s,i)}async[JT(468)](t){const e=JT;if(!this[e(412)]&&await this[e(435)](!0),!t||t<0)return;const{video:s,audio:i}=this[e(414)](t),r=Math[e(484)]((null==s?void 0:s[e(443)])||0,(null==i?void 0:i[e(443)])||0);if(!r)return;const n=this[e(493)][e(464)](0,r),o=this.audioSegments[e(464)](0,r),a=async t=>{const s=e;t>r||(await this[s(471)](n[t],o[t],!0,!1),await a(t+1))};await a(0)}[JT(496)](){const t=JT;return this[t(476)][t(496)]()}async[JT(494)](){const t=JT;!(arguments[t(489)]>0&&void 0!==arguments[0]&&arguments[0])&&(this[t(448)][t(458)](this[t(477)],t(479)),await this[t(476)][t(496)]()),this[t(442)]=this[t(427)]="",this.meta={},this[t(497)]=[],this[t(493)]=[],this[t(460)]=[],this[t(483)]=-1,this._currentLoadingSegmentIndex=-1}async destroy(){const t=JT;await this[t(494)](),this[t(411)].clear()}async[JT(471)](t,e,s,i,r){const n=JT;if(!t&&!e)return;const o=(null==t?void 0:t[n(443)])||(null==e?void 0:e[n(443)])||0;let a;this[n(495)]=o;try{a=await this[n(432)]([Math[n(416)]((null==t?void 0:t[n(418)][0])||1/0,(null==e?void 0:e.range[0])||1/0),Math[n(484)]((null==t?void 0:t[n(418)][1])||0,(null==e?void 0:e[n(418)][1])||0)],s,r)}finally{this[n(495)]=-1}return a?(i&&(this[n(483)]=o),a.video=t,a[n(469)]=e,a):void 0}async[JT(432)](t,e,s){const i=JT,r=this[i(462)](t),n=await this.cache[i(438)](r);let o;if(n)o={data:n,state:!0,options:{fromCache:!0,range:t,vid:this[i(442)]}};else{const e=s&&s[i(427)]?s[i(427)]:this[i(427)];o=await this._loader[i(433)](e,{range:t,vid:this[i(442)],...s})}if(o)return!n&&(o[i(486)]&&this[i(497)][i(474)]({startTime:o.startTime,endTime:o[i(463)],size:o[i(486)].byteLength,range:t}),this[i(497)]&&this[i(497)][i(489)]>this[i(429)].maxDownloadInfoSize&&(this.downloadInfo=this[i(497)][i(464)](-this._config[i(478)]))),o}[JT(462)](t){const e=JT;return(this[e(442)]||this[e(427)])+":"+t}}const tk=ek;function ek(t,e){const s=sk();return(ek=function(t,e){return s[t-=243]})(t,e)}function sk(){const t=["keyframe","timescale","byteLength","decoderData","demux","_videoSamples","sample","videoSamples","moovToTrack","TAG_NAME","audioListLength","type","118811wNcjyu","_lastRemainBufferStartPos","debug","38208gDSGAa","audio","init","kidValue","checkInitAudio","payload","147618xGLwNk","sampleRateIndex","moov is required","6238960FCcAuL","isUseMSE","push","sampleListInfo","clearBuffer","_audioSamples","useEME","offset","cannot parse samples from moov box","end","buferredDuration","isIFrame","playVodRateChange","isInitVideo","_doDecodeVideo","startPts","vps","subarray","geVodLoadedTime","listen playVodRateChange","setSeekingTime","getSampleRange","_lastRemainBuffer","initVideoTrack","isPlayVod","player","8lPhAjm","debugLog","baseMediaDecodeTime","duration","postMessage","1760pwMfQR","pause","sampleRate","concat","workerClearTimeout","getSampleListLength","isHevc","audioSamples","audioTrack","h265","emit","sort","codecType","_initLoopWorker","reset","set","decodeVideo","cmd","forEach","revokeObjectURL","updatePlayRate","buffer","checkInitVideo","cryptoPayload","_isUseWorker","workerUrl","cannot found video frame #","endPts","cleanSampleListAndSetSeekTime","loop worker is not init, can not post message","audioSenc","destroy","codec","index","_doDecodeByMp4","moovToSamples","demuxPart","_hasCalcFps","getSampleVideoListLength","_basefps","length","getSampleAudioListLength","decodeAudio","allListLength","12266901XSEapn","Mp4Demux","video","tempSampleListInfo","videoSenc","loopWorker","sps","URL","sampleOffset","seekSampleRange","7944ZklUZR","_doDecodeAudio","pps","gopId","_calcDecodeFps","max","_postMessageToLoopWorker","samples","_opt","size","cleanSampleList","dts","objectType","getPlayVodDuration","_sendAccADTSHeader","videoTrack","slice","isInitAudio","parseSamples","pts","channelCount","onmessage","2823016XANQmh","mp4","initAudioTrack"];return(sk=function(){return t})()}!function(t,e){const s=ek,i=t();for(;;)try{if(910067===parseInt(s(352))/1+-parseInt(s(256))/2*(-parseInt(s(361))/3)+parseInt(s(355))/4+parseInt(s(261))/5*(parseInt(s(315))/6)+-parseInt(s(364))/7+-parseInt(s(337))/8+parseInt(s(305))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(sk);class ik extends ep{constructor(t){const e=ek;super(t),this[e(255)]=t,this[e(349)]=e(306),this._videoSamples=[],this._audioSamples=[],this[e(252)]=[],this._lastRemainBufferStartPos=0,this[e(330)]=ik[e(253)](),this[e(269)]=ik[e(339)](),this[e(243)]=!1,this[e(332)]=!1,this[e(267)]=!1,this[e(308)]={},this[e(298)]=!1,this._basefps=25,this[e(285)]()&&this[e(274)](),this.player[e(254)]()&&this[e(285)]()&&this[e(255)].on(B[e(376)],(t=>{const s=e;this[s(255)][s(257)](this[s(349)],s(249),t),this._postMessageToLoopWorker(s(281),{rate:t})}))}destroy(){const t=ek;super[t(292)](),this[t(308)]={},this[t(300)]=25}static[tk(253)](){return{id:1,samples:[],sps:[],pps:[],vps:[],codec:""}}static initAudioTrack(){return{id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""}}parseSamples(t){const e=tk;if(!t)throw new Error(e(363));if(!this[e(330)][e(293)]&&!this[e(269)][e(293)]&&($I[e(348)](t,this.videoTrack,this[e(269)]),this.videoSenc=this.videoTrack[e(309)],this[e(291)]=this[e(269)][e(291)],this[e(283)]()&&this[e(329)](this.audioTrack),this[e(359)]())){let t=null;this[e(330)].codecType===ct[e(270)]?this[e(330)][e(311)][e(301)]&&this[e(330)][e(246)][e(301)]&&this[e(330)][e(317)].length&&(t=th({sps:this.videoTrack[e(311)][0],pps:this[e(330)][e(317)][0],vps:this.videoTrack[e(246)][0]})):this[e(330)][e(311)][e(301)]&&this[e(330)][e(317)][e(301)]&&(t=_a({sps:this[e(330)].sps[0],pps:this[e(330)][e(317)][0]})),t&&this[e(295)](t,R[e(307)],0,!0,0)}if(!this._audioSamples[e(301)]&&!this[e(345)][e(301)]){const s=$I[e(296)](t);if(!s)throw new Error(e(372));this[e(345)]=s[e(347)]||[],this[e(369)]=s[e(268)]||[]}}[tk(344)](t,e,s,i,r){const n=tk;this[n(359)](),this[n(283)](),this.parseSamples(r);const o=this[n(330)],a=this.audioTrack;let h,c,l;if(o.samples=[],a[n(322)]=[],s){let i;for(let r=s[0],a=s[1];r<=a;r++){if(h=this[n(345)][r],!h)throw new Error(n(287)+r);l=h[n(371)]-e,c=t[n(247)](l,l+h[n(324)]),i={type:R[n(307)],dts:1e3*h[n(326)]/o.timescale,pts:1e3*(h[n(334)]||h[n(326)])/o[n(341)],units:[],payload:null,isIFrame:!1},i[n(259)]=h[n(259)],i[n(318)]=h[n(318)],h[n(340)]&&(i[n(375)]=!0),i[n(360)]=c,o[n(322)].push(i)}o[n(258)]=o.samples[0][n(326)]}if(i){for(let s=i[0],r=i[1];s<=r;s++){if(h=this[n(369)][s],!h)throw new Error(n(287)+s);l=h.offset-e,c=t[n(247)](l,l+h[n(324)]);const i=1e3*h[n(326)]/a[n(341)],r=new Uint8Array(c[n(301)]+2);r[n(276)]([175,1],0),r[n(276)](c,2),a[n(322)][n(366)]({type:R[n(356)],dts:i,pts:i,payload:r,duration:h[n(259)],size:r.byteLength})}a[n(258)]=a[n(322)][0][n(326)]}const d=o[n(322)][n(264)](a[n(322)]);d[n(272)](((t,e)=>{const s=n;return t[s(326)]-e[s(326)]})),d[n(279)]((t=>{const e=n,s=new Uint8Array(t[e(360)]);delete t[e(360)],this[e(285)]()?this[e(310)][e(260)]({...t,payload:s,cmd:e(346)},[s[e(282)]]):t.type===R.video?this._doDecodeVideo({...t,payload:s}):t[e(351)]===R[e(356)]&&this._doDecodeAudio({...t,payload:s})})),Js(this[n(298)])&&this[n(285)]()&&(this[n(298)]=this[n(319)](d))}[tk(297)](t,e,s,i,r,n,o,a){const h=tk;if(this.checkInitAudio(),this[h(283)](),this[h(333)](r),this[h(330)][h(370)]=n,this[h(269)][h(370)]=n,this[h(252)]&&this[h(252)][h(342)]>0&&e>this[h(353)]&&e<=this[h(353)]+this[h(252)][h(342)]){let s=0;for(;s<20;)try{const s=this[h(252)][h(247)](0,e-this._lastRemainBufferStartPos),i=new Uint8Array(t[h(342)]+s[h(342)]);i[h(276)](s,0),i.set(new Uint8Array(t),s.byteLength),t=i,e-=s[h(342)],this[h(252)]=null,this._lastRemainBufferStartPos=0;break}catch(t){if(!(s<20))throw new Error("new Uint8Array error:,"+t.errorMessage);s++}}const c=this[h(330)],l=this.audioTrack;c[h(322)]=[],l[h(322)]=[],c[h(309)]=null,l[h(291)]=null;let d,u,p,f=0,m=0;if(this._videoSamples[h(301)]>0&&s[h(301)]>0){let i;const r=t[h(342)]+e;for(let n=s[0];n<=s[1];n++){if(d=this[h(345)][n],!d)throw new Error(h(287)+n);d[h(371)]>=e&&d.offset+d[h(324)]<=r&&(p=d.offset-e,f=p+d[h(324)],u=t[h(247)](p,f),i={type:R.video,dts:d[h(326)],pts:d.pts||d[h(326)],units:[],payload:null,isIFrame:!1},i[h(259)]=d.duration,i[h(318)]=d[h(318)],i[h(313)]=d.index,d[h(340)]&&(i[h(375)]=!0),i.payload=u,i[h(324)]=d[h(324)],c[h(322)].push(i))}c[h(322)][h(301)]>0&&(c[h(318)]=c[h(322)][0][h(318)],c[h(258)]=c.samples[0][h(326)],c[h(245)]=c.samples[0][h(334)]/c[h(341)],c[h(288)]=c.samples[c[h(322)].length-1][h(334)]/c[h(341)],this[h(309)]&&(c[h(309)]=this[h(309)].slice(c[h(322)][0].sampleOffset,c.samples[0][h(313)]+c[h(322)].length),c[h(358)]=o))}if(this[h(369)][h(301)]>0&&i[h(301)]>0){for(let s=i[0];s<=i[1];s++){if(d=this._audioSamples[s],!d)throw new Error(h(287)+s);if(d[h(371)]>=e&&d.offset+d[h(324)]<=t[h(342)]+e){p=d[h(371)]-e,m=p+d[h(324)],u=t[h(247)](p,m);const s=new Uint8Array(u[h(301)]+2);s[h(276)]([175,1],0),s[h(276)](u,2),l[h(322)][h(366)]({type:R.audio,dts:d[h(326)],pts:d[h(326)],payload:s,duration:d[h(259)],sampleOffset:d[h(294)],size:s[h(342)]})}}l[h(322)][h(301)]>0&&(l[h(318)]=l.samples[0][h(318)]||c[h(318)],l[h(258)]=l[h(322)][0].dts,l[h(245)]=l[h(322)][0][h(334)]/l[h(341)],l[h(288)]=l[h(322)][l.samples[h(301)]-1][h(334)]/l.timescale,this.audioSenc&&(l[h(291)]=this[h(291)][h(331)](l.samples[0][h(313)],l[h(322)][0][h(313)]+l[h(322)][h(301)]),l.kidValue=o))}this.decoderData(c,l,a),this[h(252)]=t[h(247)](Math[h(320)](f,m)),this[h(252)][h(342)]>0?this[h(353)]=e+t.byteLength-this._lastRemainBuffer[h(342)]:this[h(353)]=0}[tk(275)](){const t=tk;this[t(345)]=[],this[t(369)]=[],this[t(252)]=null,this[t(353)]=0,this[t(330)]=ik[t(253)](),this[t(269)]=ik[t(339)]()}[tk(343)](t,e,s){}[tk(359)](){const t=tk;return this[t(332)]=!!(this.audioTrack[t(263)]&&this[t(269)].channelCount&&this[t(269)][t(293)]&&"aac"===this[t(269)][t(273)]),this.isInitAudio}[tk(283)](){const t=tk;return this[t(243)]=!!(this[t(330)][t(317)][t(301)]&&this[t(330)][t(311)][t(301)]&&this.videoTrack[t(293)]),this[t(243)]}[tk(329)](t){const e=tk,s=ce({profile:t[e(327)],sampleRate:t[e(362)],channel:t[e(335)]});this._doDecodeByMp4(s,R[e(356)],0,!0,0)}[tk(274)](){const t=tk,e=Bs(PI);let s=new Worker(e);this[t(286)]=e,this[t(265)]=setTimeout((()=>{const e=t;window[e(312)][e(280)](this[e(286)]),this.workerUrl=null,this[e(265)]=null}),I),s.postMessage({cmd:t(357),options:{type:t(338),seekingMaxDiff:1e4,debug:this[t(255)]._opt[t(354)],debugUuid:this.player[t(323)].debugUuid}}),s[t(336)]=e=>{const s=t,i=e.data;switch(i[s(278)]){case s(277):this[s(244)](i);break;case s(303):this[s(316)](i);break;case s(367):if(this[s(308)]=i,this[s(255)].isPlayVodNotUseMSE()){const t=this.geVodLoadedTime(),e=this[s(255)][s(328)]();t&&e&&this.player[s(271)](B.playVodTimeCache,t/(1e3*e))}}},this.loopWorker=s}[tk(321)](t,e){const s=tk;this[s(255)].isUseMSE()||(this[s(310)]?this[s(310)][s(260)]({cmd:t,...e}):this.player.debug.warn(this[s(349)],s(290)))}[tk(316)](t){const e=tk,s=new Uint8Array(t[e(360)]);this._doDecodeByMp4(s,R.audio,t[e(326)],!1,0)}[tk(244)](t){const e=tk,s=new Uint8Array(t.payload);let i=null;i=t[e(267)]?eh(s,t.isIFrame):Ca(s,t[e(375)]),this[e(255)].updateStats({dts:t[e(326)]});const r=t.pts-t[e(326)];i=this[e(284)](i,t[e(375)]),this[e(295)](i,R[e(307)],t[e(326)],t.isIFrame,r)}getBuferredDuration(){const t=tk;return this[t(308)][t(374)]||0}[tk(266)](){const t=tk;return this.tempSampleListInfo[t(304)]||0}[tk(302)](){const t=tk;return this[t(308)][t(350)]||0}[tk(299)](){return this.tempSampleListInfo.videoListLength||0}[tk(251)](){const t=tk;return{start:this[t(308)].start||0,end:this.tempSampleListInfo[t(373)]||0}}seekSampleRange(t){const e=tk;this[e(321)](e(314),{time:t})}[tk(289)](t){const e=tk;Js(this[e(255)][e(365)]())&&(this[e(368)](!0),this[e(321)](e(325)),this[e(321)](e(250),{time:t}))}[tk(262)](){this[tk(321)]("pause")}resume(){this[tk(321)]("resume")}[tk(248)](){const t=tk;let e=0;return e=this[t(251)]()[t(373)],e}}const rk=nk;function nk(t,e){const s=ok();return(nk=function(t,e){return s[t-=302]})(t,e)}function ok(){const t=["_softVideo","currentTime","endOfStream","player","125300nccSpj","_needInitSegment","destroy","_mse","isPlayVodUseMSE","length","remove track","_demuxer","reset","appendBuffer","2956540OccNgy","cleanSampleListAndSetSeekTime","mp4","5MskNMl","forEach","seekSampleRange","demuxerPause","6885342ZmJoXa","isPlayVod","3509106QfZKSS","_sourceCreated","99357xRNklF","demuxerResume","8GFFArk","media","playVod","TAG_NAME","demux","getSampleRange","8BxPQrk","evictBuffer","3508463BvcBJA","updateDuration","20946690UeIbIy","mseDecoder","_remuxer","index","videoTrack","updateDuration()","Mp4BufferService"];return(ok=function(){return t})()}!function(t,e){const s=nk,i=t();for(;;)try{if(416362===-parseInt(s(307))/1+-parseInt(s(336))/2*(parseInt(s(328))/3)+parseInt(s(317))/4*(-parseInt(s(320))/5)+parseInt(s(326))/6+parseInt(s(338))/7*(-parseInt(s(330))/8)+-parseInt(s(324))/9+parseInt(s(340))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ok);class ak{constructor(t,e){const s=nk;this[s(333)]=s(302),this[s(319)]=t,this[s(306)]=e,this[s(314)]=new ik(e),this[s(342)]=null,this[s(310)]=null,this[s(303)]=null,this._needInitSegment=!0,this._sourceCreated=!1}async[rk(309)](){const t=rk;this[t(303)]=null,this[t(314)]=null,this[t(342)]=null}async[rk(316)](t,e,s,i,r){const n=rk;if(!t||!t[n(312)])return;if(!this[n(314)])return;let o,a;s&&(o=[s[0][n(343)],s[s[n(312)]-1][n(343)]]),i&&(a=[i[0][n(343)],i[i[n(312)]-1][n(343)]]),(o||a)&&this._demuxer[n(334)](t,e,o,a,r)}async[rk(337)](t){const e=rk,s=this[e(319)][e(331)];if(!this[e(310)]||!this[e(314)]||!s||!t||t<0)return;const i=s[e(304)]-t;if(i<=0)return;if(function(t){const e=kT;return t&&t[e(223)]?1===t[e(223)]&&t[e(227)](0)-t[e(215)](0)<1e-6||1===t[e(223)]&&t[e(215)](0)<0?0:t[e(215)](0):0}(_T(s))+1>=i)return;const r=this[e(314)];return[r[e(344)],r.audioTrack][e(321)]((t=>{const s=e;console.error(s(313))})),!0}async[rk(315)](){const t=rk;this[t(327)]=!1,this[t(308)]=!0}async[rk(305)](){}async[rk(339)](t){const e=rk;this[e(306)].debugLog(this[e(333)],e(345),t),this[e(306)][e(325)]()&&(this[e(306)][e(332)].updateDuration(t),this[e(306)][e(311)]()&&this[e(306)].mseDecoder&&this[e(306)][e(341)].isStateOpen&&this[e(306)][e(341)].updateMediaSourceDuration(t))}[rk(322)](t){const e=rk;this[e(314)][e(322)](t)}cleanSampleListAndSetSeekTime(t){const e=rk;this[e(314)][e(318)](t)}[rk(323)](){var t;null===(t=this[rk(314)])||void 0===t||t.pause()}[rk(329)](){var t;null===(t=this[rk(314)])||void 0===t||t.resume()}[rk(335)](){return this._demuxer.getSampleRange()}}const hk=ck;function ck(t,e){const s=lk();return(ck=function(t,e){return s[t-=169]})(t,e)}function lk(){const t=["appendBuffer","playVodPause","player","_config","_tick","demuxerPause","bind","error","min","onPause","init","2379mGHhWa","11PlbolP","listen playVodSeek onSeeking() ","playVod","_tickTimer","_reset","evictBuffer","onPlay","_bufferService","8509580FrEXuA","Mp4","option","cleanSampleListAndSetSeekTime","244815GIXkNM","byteLength","speedInfo","video","_setPrevSegmentEndTime","63eGeoRO","audio"," and segment ","isSegmentLoading","getRenderCurrentPts","in range","onSeeking"," is loading so return","4398462GpwNCA","onPause()","tickInterval","isPlayVodUseMSE","TAG_NAME","_emitOnLoaded","reset","duration","endTime","isLastSegment","_stopTick","loadSource","1398776sjObjj","1105224mnjdOG","assign","debug","endOfStream","$videoElement","144hEqljt","_loader","playVodVideoSeekingByMse","index","onSeeking() seek to mp4SampleRange"," and segment is null so return","url","onPlay()","_loading","_loadSegment","_bandwidthService","moov","readyState","5875107QLkGjG","onVideoSeeking","isPlayVod","180PtUMgS","length","preloadTime","data","onSeeking() ","_startTick","listen playVodVideoSeekingByMse","seekSampleRange","cancel","_opt","_end","_prevSegmentEndTime","getAvgSpeed"," and return","destroy","resetBandwidth","frames","end"," and current time is ","log","loadSegmentByTime"];return(lk=function(){return t})()}!function(t,e){const s=ck,i=t();for(;;)try{if(779744===parseInt(s(194))/1*(parseInt(s(238))/2)+-parseInt(s(220))/3+-parseInt(s(232))/4+-parseInt(s(207))/5*(-parseInt(s(254))/6)+parseInt(s(251))/7+parseInt(s(233))/8*(parseInt(s(212))/9)+-parseInt(s(203))/10*(parseInt(s(195))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lk);class dk extends mi{constructor(t){const e=ck;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var i;super(),vf(this,e(252),(async t=>{const s=e;this.player[s(235)].log(this[s(224)],s(260),t),await this.onSeeking(t)})),vf(this,e(218),(async t=>{const s=e;this[s(185)][s(235)].log(this.TAG_NAME,s(196)+t);const i=this[s(239)],{video:r,audio:n}=i.getSegmentByTime(t),o=r||n;if(!o)return void this[s(185)][s(235)][s(181)](this.TAG_NAME,s(258)+t+s(243));if(i[s(215)](o[s(241)]))return this._setPrevSegmentEndTime(0),void this[s(185)][s(235)][s(181)](this.TAG_NAME,"onSeeking() "+t+s(214)+o[s(241)]+s(219));if(this[s(185)].isPlayVodUseMSE()){const e=this.player[s(210)][s(237)],i=function(t){const e=kT;let s=arguments[e(223)]>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[e(223)]>2&&void 0!==arguments[2]?arguments[2]:0;if(!t||!t.length)return{start:0,end:0,buffers:[]};let r=0,n=0,o=0,a=0,h=0,c=0,l=0;const d=RT(t,i);for(let t=0,e=d.length;t=e[0]&&se[1]&&(c=e[0],l=e[1])}}return{start:r,end:n,index:o,buffers:d,nextStart:a,nextEnd:h,prevStart:c,prevEnd:l,currentTime:s,behind:s-r,remaining:n?n-s:0,length:DT(d)}}(_T(e),t,.1);if(i[s(179)]&&(i[s(179)]>=o[s(228)]||i[s(179)]>=e[s(227)]))return void this[s(185)].debug[s(181)](this[s(224)],s(258)+t+" and end is "+i.end+s(214)+o[s(241)]+" is loading so return")}const a=this[s(202)].getSampleRange();if(this[s(185)].debug[s(181)](this.TAG_NAME,s(242),a),a&&a.start<=t&&t<=a[s(179)])return this[s(185)].debug[s(181)](this[s(224)],s(242),a,s(217)),void this[s(202)][s(169)](t);this._bufferService[s(206)](t),await i[s(170)](),this[s(246)]=!1,this[s(211)](0),await this._loadSegment(t),this[s(259)]()})),vf(this,e(187),(async()=>{const t=e;if(this[t(230)](),this[t(259)](this._config.tickInterval),this[t(185)].isPlayVodUseMSE()){const e=this[t(185)][t(210)][t(237)];if(!e)return;if(function(t){const e=kT;return t&&t[e(223)]?1===t[e(223)]&&t.end(0)-t[e(215)](0)<1e-6?0:t[e(227)](t[e(223)]-1):0}(_T(e))<.1||!e[t(250)])return;(function(t){const e=Re;return t&&!t[e(470)]&&!t[e(585)]&&0!==t[e(555)]&&0!==t[e(621)]})(e)&&await this[t(247)]()}else await this[t(247)]()})),this.TAG_NAME=e(204),this[e(185)]=t,this[e(173)]=0,this._tickTimer=null,this._loading=!1,this[e(186)]=(i=s,Object[ck(234)]({tickInterval:500,preloadTime:10,bufferBehind:10,segmentDuration:void 0,url:"",retry:3,retryDelay:100},i)),this[e(202)]=new ak(this,t),this[e(248)]=new gI,this._loader=new $T(this,this.player,{url:s[e(244)],retry:s.retry,retryDelay:s.retryDelay}),this.player.isPlayVod()&&(this[e(185)].on(B[e(184)],(t=>{const s=e;t?this[s(192)]():this[s(201)]()})),this.player[e(223)]()?this[e(185)].on(B[e(240)],this[e(252)][e(189)](this)):this[e(185)].on(B.playVodSeek,this.onSeeking[e(189)](this))),this.player[e(235)][e(181)](this[e(224)],e(193))}async[hk(176)](){const t=hk;await this[t(199)](),await this._bufferService[t(176)]()}async[hk(199)](){const t=hk;this[t(230)](),await this[t(239)][t(226)](),await this[t(202)][t(226)](),this[t(173)]=0,this._loading=!1,this[t(248)].reset()}async[hk(231)](t){const e=hk;this[e(185)][e(235)][e(181)](this[e(224)],"loadSource() "+t),t&&await this[e(239)].changeUrl(t),this[e(259)](this[e(186)][e(222)]),await this[e(247)](0)}async _loadSegment(t){const e=hk;var s,i,r,n;if(this._loading)return;let o=this[e(185)][e(216)]();o/=1e3,this[e(185)][e(223)]()&&(o=this[e(185)].getVideoCurrentTime());let a,h=this[e(185)][e(253)]()&&this[e(185)][e(197)].isSeeking();if(this[e(173)]&&Js(h)&&this._prevSegmentEndTime>this.player[e(171)][e(256)]*this[e(185)].playVod.rate+o)return void this[e(185)].debug[e(181)](this[e(224)],"_loadSegment() and _prevSegmentEndTime is "+this._prevSegmentEndTime+e(180)+o+" more than "+(this[e(185)][e(171)][e(256)]*this[e(185)][e(197)].rate+o)+e(175));this[e(246)]=!0;try{a=null!=t?await this[e(239)][e(182)](t):await this[e(239)].loadNextSegment()}catch(t){console.error(t)}if(!a)return void(this[e(246)]=!1);this[e(225)](a);const c=Math[e(191)]((null===(s=a[e(210)])||void 0===s?void 0:s[e(228)])||1/0,(null===(i=a[e(213)])||void 0===i?void 0:i.endTime)||1/0);this[e(211)](c);try{var l,d;await this[e(202)][e(183)](a[e(257)],a[e(205)].range[0],null===(l=a[e(210)])||void 0===l?void 0:l[e(178)],null===(d=a.audio)||void 0===d?void 0:d[e(178)],this._loader.meta[e(249)]),await this._bufferService[e(200)](this[e(186)].bufferBehind)}catch(t){console[e(190)](t)}finally{this[e(246)]=!1}this[e(239)][e(229)]((null===(r=a.video)||void 0===r?void 0:r[e(241)])||(null===(n=a[e(213)])||void 0===n?void 0:n.index)||0)?this[e(172)]():this[e(247)]()}_end(){const t=hk;this._bufferService[t(236)](),this[t(230)]()}_emitOnLoaded(t){const e=hk,{data:s,response:i,option:r}=t,{firstByteTime:n,startTime:o,endTime:a,contentLength:h}=r||{},c=a-o;this[e(248)].addRecord(h||s[e(208)],c)}[hk(177)](){const t=hk;this._bandwidthService[t(226)]()}_setPrevSegmentEndTime(t){const e=hk;this[e(185)][e(235)][e(181)](this[e(224)],"setPrevSegmentEndTime() "+t),this._prevSegmentEndTime=t}[hk(259)](){const t=hk;let e=arguments[t(255)]>0&&void 0!==arguments[0]?arguments[0]:0;this[t(230)](),this[t(198)]=setTimeout(this[t(187)],e)}[hk(230)](){clearTimeout(this[hk(198)])}[hk(192)](){const t=hk;this[t(185)][t(235)][t(181)](this[t(224)],t(221)),this[t(202)][t(188)](),this._stopTick()}async[hk(201)](){const t=hk;this.player[t(235)][t(181)](this[t(224)],t(245)),this[t(202)].demuxerResume(),await this._loadSegment(),this[t(259)]()}[hk(209)](){const t=hk;return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this[t(248)][t(174)]()}}}const uk=pk;function pk(t,e){const s=mk();return(pk=function(t,e){return s[t-=497]})(t,e)}!function(t,e){const s=pk,i=t();for(;;)try{if(232075===-parseInt(s(500))/1+-parseInt(s(508))/2*(-parseInt(s(523))/3)+-parseInt(s(506))/4+parseInt(s(528))/5+-parseInt(s(507))/6*(-parseInt(s(520))/7)+parseInt(s(516))/8+-parseInt(s(515))/9*(parseInt(s(513))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mk);class fk extends mi{constructor(t){const e=pk;super(),this[e(510)]=t,this[e(518)]="Mp4Decoder",this.canVideoPlay=!1,this.$videoElement=this[e(510)][e(498)][e(499)],this[e(525)]=null,this.eventsDestroy=[],this[e(501)]=null,this.mp4=new dk(t),this._bindEvents(),this[e(510)][e(522)](this[e(518)],e(514))}async[uk(502)](){const t=uk;return this[t(511)](),this[t(525)]&&(await this.mp4[t(502)](),this.mp4=null),this[t(505)][t(503)]&&(this.eventsDestroy[t(517)]((t=>t())),this[t(505)]=[]),this[t(499)]=null,this[t(510)][t(522)](this[t(518)],"destroy"),!0}[uk(529)](){const t=uk;this.mp4.on(Vt[t(521)],(e=>{const s=t;this[s(510)][s(497)](O.mp4Error,e)}))}[uk(527)](){const t=uk;this[t(511)](),this[t(501)]=setInterval((()=>{const e=t,s=this[e(525)][e(519)]();this[e(510)][e(526)](B[e(512)],(s[e(504)]/1024/8).toFixed(2)),this[e(525)].resetBandwidth()}),1e3)}[uk(511)](){const t=uk;this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this[t(501)]=null)}async loadSource(t){const e=uk;return this[e(510)].debugLog(this[e(518)],"loadSource() "+t),this[e(509)]=t,await this[e(525)][e(524)](t),this._startBandwidthEstimateInterval(),!0}}function mk(){const t=["player","_stopBandwidthEstimateInterval","kBps","30zztkDj","init","361566JONKud","1224552JsqmSl","forEach","TAG_NAME","speedInfo","217arbEiW","error","debugLog","3BcvMnw","loadSource","mp4","emit","_startBandwidthEstimateInterval","1115985JgNpgP","_bindEvents","emitError","video","$videoElement","129196VWjAqA","bandwidthEstimateInterval","destroy","length","avgSpeed","eventsDestroy","1610012lIXnGO","24762JzwSml","760186ctivEg","url"];return(mk=function(){return t})()}const gk=Ak;function Ak(t,e){const s=bk();return(Ak=function(t,e){return s[t-=248]})(t,e)}!function(t,e){const s=Ak,i=t();for(;;)try{if(409768===parseInt(s(289))/1+parseInt(s(299))/2+parseInt(s(282))/3+parseInt(s(261))/4+parseInt(s(291))/5*(parseInt(s(360))/6)+parseInt(s(378))/7*(parseInt(s(367))/8)+-parseInt(s(305))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bk);class yk extends mi{constructor(t,e){const s=Ak;if(super(),this[s(269)]=t,this[s(269)][s(286)][s(267)][s(323)]("jb-pro-container-playback"),this[s(379)]=null,this[s(359)]=null,this._playStartTime=null,this[s(257)]=null,this[s(345)]=parseInt(e[s(366)],10)||t[s(308)][s(248)],this[s(263)]=!!qs(e[s(268)]),this[s(373)]=1,this[s(303)]=0,this[s(325)]=0,this[s(254)]=e[s(254)]||A[s(370)],e[s(254)]&&-1===[A[s(370)],A.simple][s(369)](e[s(254)])&&(this[s(269)].debugWarn("Playback",s(362),s(281),e[s(254)]),this[s(254)]=A.normal),this[s(371)]=0,this[s(375)]=e.localOneFrameTimestamp||40,this._localCalculateTimeInterval=null,this[s(290)]=!!qs(e[s(256)]),this._isPlaybackPauseClearCache=!Js(e[s(356)]),this[s(307)]=!!qs(e[s(342)]),this._startfpsTime=null,this[s(285)]=null,this[s(312)]=null,this._playbackTs=0,this[s(354)]=0,this[s(290)]?this._startLocalCalculateTime():this[s(368)](),this[s(306)]=[],this[s(361)]=null,this[s(288)]=0,e[s(254)]===A[s(370)])this.initPlaybackList(e[s(259)],e[s(349)],e.startTime);else if(e[s(254)]===A[s(351)]){e.duration&&(this._totalDuration=1e3*e.duration);let t=e[s(324)]||0;t>this[s(292)]&&(t=this[s(292)]),this[s(380)](t)}this.player.on(B[s(284)],(t=>{t?this.pause():this.resume()}));const i={fps:this[s(345)],isUseFpsRender:this[s(263)],localOneFrameTimestamp:this[s(375)],isUseLocalCalculateTime:this[s(290)],uiUsePlaybackPause:e[s(279)],showControl:e.showControl};try{t[s(275)]("Playback",s(320),JSON[s(322)](i))}catch(e){t[s(275)](s(352),"init",i)}}destroy(){const t=Ak;this[t(359)]=null,this[t(379)]=null,this[t(339)]=null,this._playingTimestamp=null,this[t(288)]=0,this._audioTimestamp=0,this[t(325)]=0,this[t(345)]=null,this[t(263)]=!1,this._rate=1,this[t(306)]=[],this._playbackListStartTimestamp=null,this[t(314)]=null,this[t(371)]=0,this._startfpsTime=null,this[t(285)]=null,this[t(354)]=0,this[t(357)]=0,this[t(316)](),this.clearStatsInterval(),this.player[t(286)]&&this[t(269)][t(286)][t(267)].remove(t(271)),this[t(313)](),this[t(269)].debugLog(t(352),t(283))}[gk(368)](){this.player.on(B.stats,(t=>{const e=Ak,s=t.ts;!this._playStartTime&&(this[e(339)]=s-1e3);let i=s-this._playStartTime;if(this.setPlayingTimestamp(i),this[e(269)][e(297)]()&&this.player[e(327)]()&&0===t[e(381)]&&(this[e(269)].debugWarn(this[e(374)],"updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is "+t[e(331)]+e(382)),this[e(269)][e(280)][e(350)]()),this[e(269)][e(328)]()&&this[e(269)][e(327)]())if(this[e(269)][e(297)]()&&0===t[e(381)]){this[e(269)][e(280)].isCurrentTimeInBufferEnd()&&this[e(269)][e(273)](B[e(264)])}else{const t=this[e(269)].getDemuxBufferLength(),s=this[e(269)][e(334)]();0===t&&0===s&&this[e(269)][e(273)](B[e(264)])}}))}[gk(326)](){this[gk(276)]()}resume(){this[gk(355)]()}[gk(294)](){const t=gk;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!this[t(285)]&&(this[t(285)]=Be()),cs(e.ts)&&(this[t(269)].updateStats({fps:!0,ts:e.ts}),this[t(357)]=e.ts,!this[t(251)]&&(this[t(251)]=e.ts),this[t(354)]+=1);const s=Be(),i=s-this[t(285)];if(i<1e3)return;let r=null;this[t(251)]&&(r=this[t(357)]-this._startfpsTime),this[t(269)][t(273)](B[t(315)],{fps:this[t(354)],rate:this[t(329)],start:this[t(251)],end:this[t(357)],timestamp:i,dataTimestamp:r,audioBufferSize:this.player[t(321)]?this[t(269)][t(321)][t(272)]:0,videoBufferSize:this[t(269)].video?this[t(269)][t(298)][t(272)]:0,ts:this[t(357)]}),this[t(354)]=0,this._startfpsTime=this[t(357)],this[t(285)]=s}[gk(385)](t){this[gk(375)]=t}[gk(274)](){const t=gk;this._stopLocalCalculateTime(),this[t(314)]=setInterval((()=>{const e=t,s=this[e(371)];!this[e(339)]&&(this[e(339)]=s-1e3);let i=s-this[e(339)];this[e(343)](i)}),1e3)}[gk(355)](){const t=gk;this[t(276)](),this[t(312)]=setInterval((()=>{this[t(294)]()}),1e3)}[gk(316)](){const t=gk;this[t(314)]&&(clearInterval(this[t(314)]),this[t(314)]=null)}[gk(276)](){this[gk(312)]&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}increaseLocalTimestamp(){this[gk(290)]&&(this._currentLocalTimestamp+=this._localOneFrameTimestamp)}[gk(364)](t,e,s){const i=gk;this[i(306)]=t||[];let r=0;if(this[i(306)][i(300)](((t,e)=>{const s=i;10===vs(t[s(295)])?(t[s(346)]=1e3*t[s(295)],t[s(324)]=qe(t[s(346)])):(t[s(346)]=t[s(295)],t[s(324)]=qe(t[s(346)])),10===vs(t[s(338)])?(t.endTimestamp=1e3*t.end,t[s(253)]=qe(t[s(260)])):(t[s(260)]=t[s(338)],t.endTime=qe(t.endTimestamp)),t[s(250)]=t.end-t[s(295)],r+=t[s(250)]})),this[i(288)]=r,this[i(269)].debugLog(i(352),this[i(306)]),this[i(306)][i(383)]>0){const t=this[i(306)][0][i(346)];this._playbackListStartTimestamp=t;let e=t;s&&(10===vs(s)&&(s*=1e3),this[i(363)](s)&&(e=s)),this[i(380)](e)}const n=e||et.oneHour;this[i(347)](n)}get totalDuration(){return(this[gk(288)]||0)/1e3}get[gk(324)](){return this._startTime||0}setStartTime(t){const e=gk;this[e(359)]=t,this[e(257)]=t,this._playStartTime=null}[gk(340)](t){const e=gk;this[e(373)]=t,this[e(269)][e(273)](B.playbackRateChange,t)}get[gk(366)](){return this._fps}get rate(){return this._rate}get[gk(268)](){return this[gk(263)]}get isUseLocalCalculateTime(){return this[gk(290)]}get[gk(349)](){return this[gk(379)]}get is60Min(){const t=gk;return this[t(349)]===et[t(365)]}get[gk(330)](){const t=gk;return this.showPrecision===et[t(278)]}get[gk(344)](){return this[gk(349)]===et.tenMin}get[gk(266)](){const t=gk;return this[t(349)]===et[t(376)]}get[gk(309)](){const t=gk;return this[t(349)]===et[t(376)]}get[gk(356)](){return this[gk(384)]}get[gk(342)](){return this[gk(307)]}[gk(347)](t){const e=gk;!it.includes(t)&&(this[e(269)][e(377)](e(352),e(304),e(336),t),t=et[e(365)]),this._showPrecision&&this[e(379)]===t||(this[e(379)]=t,this[e(269)][e(273)](B[e(319)],this[e(379)],this[e(306)]),this[e(269)][e(273)](B.playbackShowPrecisionChange,this[e(379)]))}[gk(343)](t){const e=gk;let s;if(this[e(254)]===A.normal){s=this.startTime+t,this._playingTimestamp=s,this.player[e(273)](B[e(358)],s);const i=new Date(s);this[e(269)][e(273)](B.playbackTimestamp,{ts:s,hour:i[e(372)](),min:i[e(348)](),second:i[e(252)]()})}else this[e(254)]===A[e(351)]&&(s=this[e(324)]+Math[e(277)](t/1e3),s>this[e(292)]&&(this[e(269)][e(275)](e(352),e(353),e(310)+s+e(270)+this[e(292)]),s=this.totalDuration),this._playingTimestamp=s,this[e(269)][e(273)](B[e(358)],s),this[e(269)][e(273)](B.playbackTimestamp,{ts:s}))}get[gk(287)](){return this._playingTimestamp}narrowPrecision(){const t=gk,e=it[t(369)](this[t(349)])-1;if(e>=0){const t=it[e];this.setShowPrecision(t)}}[gk(318)](){const t=gk,e=it[t(369)](this[t(349)])+1;if(e<=it.length-1){const s=it[e];this[t(347)](s)}}[gk(255)](t){const e=gk;if(this[e(269)][e(275)]("Playback",e(337),t),this[e(254)]===A[e(370)]){if("true"===t[e(262)]){let s=t[e(293)];t.type===e(341)&&(s=60*t.time);let i=function(t){const e=Re;let s={};t>-1&&(s={hour:Math.floor(t/60/60)%60,min:Math[e(494)](t/60)%60,second:t%60});return s}(s);if(this[e(361)]){const t=new Date(this[e(361)])[e(335)](i[e(249)],i[e(341)],i[e(301)],0);i.timestamp=t;const s=this[e(311)](t);i&&s[e(317)]&&(i.more=s[e(317)])}this[e(269)][e(273)](B[e(296)],i)}}else if(this[e(254)]===A[e(351)]){let s=t[e(293)];this[e(269)][e(273)](B[e(296)],{ts:s})}}currentTimeScroll(){const t=gk;this[t(269)][t(273)](B[t(258)])}[gk(311)](t){const e=gk;let s=null;return this[e(306)][e(300)](((i,r)=>{const n=e;i[n(346)]<=t&&i[n(260)]>=t&&(s=i)})),s}_isTimeInPlaybackList(t){const e=gk;let s=!1;return this[e(306)][e(300)](((i,r)=>{i[e(346)]<=t&&i.endTimestamp>=t&&(s=!0)})),s}[gk(302)](){return this[gk(254)]}isControlTypeNormal(){return this[gk(254)]===A.normal}[gk(265)](){const t=gk;return this.controlType===A[t(351)]}[gk(332)](){const t=gk;return Js(this[t(356)])&&this[t(342)]}[gk(333)](){const t=gk;return this[t(332)]()&&this[t(268)]}}function bk(){const t=["isPlaying","isStreamEnd","rate","is30Min","videoCurrentTime","isPlaybackPauseNotClearCacheAndCacheBeforeDecode","isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender","getCanvasVideoBufferLength","setHours","type is not in PLAYBACK_CONTROL_TIME_PRECISION_ARRAY","seek()","end","_playStartTime","setRate","min","isCacheBeforeDecodeForFpsRender","setPlayingTimestamp","is10Min","_fps","startTimestamp","setShowPrecision","getMinutes","showPrecision","updateVideoCurrentTimeByBufferStart","simple","Playback","setPlayingTimestamp()","_renderFps","startCheckStatsInterval","isPlaybackPauseClearCache","_playbackTs","playbackTime","_startTime","1505334lctmgu","_playbackListStartTimestamp","constructor()","_isTimeInPlaybackList","initPlaybackList","oneHour","fps","16ucdKcl","_listen","indexOf","normal","_currentLocalTimestamp","getHours","_rate","TAG_NAME","_localOneFrameTimestamp","fiveMin","debugWarn","17087iSZmGc","_showPrecision","setStartTime","videoCurrentTimeDiff","\n and next update video currentTime","length","_isPlaybackPauseClearCache","updateLocalOneFrameTimestamp","playbackFps","hour","duration","_startfpsTime","getSeconds","endTime","controlType","seek","isUseLocalCalculateTime","_playingTimestamp","playbackTimeScroll","playList","endTimestamp","529932cPctXu","hasRecord","_isUseFpsRender","playbackEnd","isControlTypeSimple","is5Min","classList","isUseFpsRender","player"," > this.totalDuration ","jb-pro-container-playback","bufferSize","emit","_startLocalCalculateTime","debugLog","clearStatsInterval","round","halfHour","uiUsePlaybackPause","mseDecoder","controlType is not in [normal,simple]","822303cWgZyQ","destroy","playbackPause","_startFpsTimestamp","$container","playingTimestamp","_totalDuration","423106OXBmAJ","_isUseLocalCalculateTime","15FTxqqW","totalDuration","time","updateStats","start","playbackSeek","isPlaybackUseMSE","video","935840pgPpBL","forEach","second","getControlType","_audioTimestamp","setShowPrecision()","14808519hmcRzB","playbackList","_isCacheBeforeDecodeForFpsRender","_opt","is1Min","timestamp ","_findMoreInfoByTimestamp","_checkStatsInterval","off","_localCalculateTimeInterval","playbackStats","_stopLocalCalculateTime","more","expandPrecision","playbackPrecision","init","audio","stringify","add","startTime","_videoTimestamp","pause"];return(bk=function(){return t})()}function vk(){const t=["match","debugLog","_bindEvents","classList","handleGestureEndForAndroid","isZooming","handleGestureEnd","handleGestureChangeForAndroid",", Y: ","sqrt","isDragging","_handleZooming","video","handleMouseDown is dragging true","handleMouseUp is dragging false","bindEvents","expandPrecision","forEach","3351864puogWs","_resetVideoPosition","handleMouseUp","bind","1926235TOeDvj","useWebFullScreen","offsetLeft","isGesturing","_isZooming","prevGestureTouches","cursor","prevVideoElementStyleScale","375382IyOwSQ","zoom","16278LalBDq","3tLTwtY","$container","grabbing","zoomMaxScale","zoomSupportGestureInMobile","style","resize","off","split","updateVideoElementScale","handleMouseMove","1005976DaYzMs","handleGestureStart","atan2","prevGestureScale","touchend","_opt","$videoElement","pageY","grab","videoPosition"," scale(","pageX","narrowPrecision","14781015kHwclT","down","currentZoom","updateVideoPosition","push","jb-pro-zoom-control","tempPosition"," style is ","replace","gesturechange","add","scale(","touchmove","preventDefault","top","handleGestureChange","gesturestart","updatePrevVideoElementStyleScale","touches","handleGestureChangeThrottle","left","player","remove","zooming","488078vDReiK","handleGestureStartForAndroid","_unbindEvents","transform","91HAtrXs","stopPropagation","length","TAG_NAME","prevVideoElementStyleTransform","destroy","auto","scale"," -> ","touchstart"];return(vk=function(){return t})()}const Sk=wk;function wk(t,e){const s=vk();return(wk=function(t,e){return s[t-=222]})(t,e)}!function(t,e){const s=wk,i=t();for(;;)try{if(449099===-parseInt(s(268))/1+-parseInt(s(312))/2*(parseInt(s(315))/3)+parseInt(s(231))/4+-parseInt(s(304))/5+parseInt(s(314))/6*(parseInt(s(272))/7)+-parseInt(s(300))/8+parseInt(s(244))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vk);class Ek extends mi{constructor(t){const e=wk;super(),this[e(265)]=t,this[e(275)]=e(313),this[e(297)]=[],this[e(292)]=!1,this[e(307)]=!1,this[e(246)]=1,this[e(276)]=null,this[e(311)]=null,this[e(234)]=null,this[e(309)]=[],this[e(308)]=!1,this[e(250)]={x:0,y:0},this[e(240)]={left:0,top:0},this[e(265)],this[e(265)].on(B[e(267)],this[e(293)][e(303)](this)),t[e(283)](e(313),"init")}destroy(){const t=wk;this[t(270)](),this[t(297)]=[],this.isDragging=!1,this.currentZoom=1,this[t(276)]=null,this.prevVideoElementStyleScale=null,this.tempPosition={x:0,y:0},this[t(240)]={left:0,top:0},this[t(227)](),this[t(265)][t(283)](t(313),t(277))}[Sk(293)](t){const e=Sk;if(t){this[e(265)].$container[e(285)][e(254)](e(249)),this[e(284)]();const t=this[e(265)][e(294)][e(237)][e(225)][e(271)];let s=this[e(265)][e(294)][e(237)][e(306)],i=this[e(265)][e(294)][e(237)].offsetTop;s=parseFloat(s),i=parseFloat(i),s&&(this[e(240)][e(264)]=s),i&&(this[e(240)][e(258)]=i),this[e(276)]=t;let r=t[e(282)](/scale\([0-9., ]*\)/g);if(r&&r[0]){let t=r[0][e(252)]("scale(","").replace(")","");this.prevVideoElementStyleScale=t[e(228)](",")}this[e(308)]=!0}else{this.player[e(316)].classList[e(266)](e(249)),this[e(270)](),this[e(301)](),this[e(265)][e(316)][e(225)].cursor=e(278);let t=this[e(276)];this[e(265)][e(294)][e(237)][e(225)].transform=t,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,ze()&&this.player[e(236)][e(305)]&&this[e(265)].resize(),this[e(308)]=!1}}[Sk(284)](){const t=Sk,{events:{proxy:e}}=this[t(265)],s=ri(),i=e(this[t(265)][t(316)],s.move,this[t(230)].bind(this)),r=e(this[t(265)].$container,s[t(245)],this.handleMouseDown[t(303)](this)),n=e(window,s.up,this.handleMouseUp[t(303)](this));if(this[t(297)][t(248)](i,r,n),ze()&&this[t(265)][t(236)][t(224)])if(He()){this.handleGestureChangeThrottle=$e(this[t(289)][t(303)](this),100);const s=e(this[t(265)].$container,t(281),this[t(269)][t(303)](this)),i=e(this[t(265)][t(316)],t(256),this.handleGestureChangeThrottle[t(303)](this)),r=e(this[t(265)][t(316)],t(235),this[t(286)][t(303)](this));this[t(297)][t(248)](s,i,r)}else{this[t(263)]=$e(this.handleGestureChange[t(303)](this),100);const s=e(this.player[t(316)],t(260),this[t(232)][t(303)](this)),i=e(this[t(265)].$container,t(253),this[t(263)].bind(this)),r=e(this[t(265)][t(316)],"gestureend",this[t(288)][t(303)](this));this[t(297)][t(248)](s,i,r)}}_unbindEvents(){const t=Sk;this.bindEvents[t(299)]((t=>{t&&t()}))}[Sk(230)](t){const e=Sk;if(t.stopPropagation(),this.isDragging&&this[e(265)].zooming){t[e(257)]();const{posX:s,posY:i}=Rs(t),r=this[e(250)].x-s,n=this.tempPosition.y-i;this.videoPosition.left=this.videoPosition[e(264)]-r,this[e(240)].top=this[e(240)][e(258)]-n,this[e(250)].x=s,this.tempPosition.y=i,this.updateVideoPosition()}}handleMouseDown(t){const e=Sk;t.stopPropagation();const s=ks(t);if(this[e(265)].zooming&&(s.matches("video")||s.matches("canvas"))){t.preventDefault();const{posX:s,posY:i}=Rs(t);this.player[e(316)].style[e(310)]=e(222),this[e(250)].x=s,this[e(250)].y=i,this.isDragging=!0,this[e(265)][e(283)]("zoom",e(295))}}[Sk(302)](t){const e=Sk;t[e(273)](),this[e(292)]&&this[e(265)][e(267)]&&(t[e(257)](),this[e(250)]={x:0,y:0},this[e(292)]=!1,this[e(265)].$container.style[e(310)]=e(239),this[e(265)][e(283)](e(313),e(296)))}[Sk(232)](t){const e=Sk;t[e(273)](),this[e(265)].zooming&&(null===this.prevGestureScale&&(this[e(234)]=t[e(279)]),this[e(307)]=!0)}[Sk(269)](t){const e=Sk;t[e(273)](),this[e(265)][e(267)]&&t[e(262)][e(274)]>=2&&(this[e(307)]=!0,this[e(309)]=t.touches)}[Sk(289)](t){const e=Sk;if(t[e(273)](),t[e(257)](),this[e(265)][e(267)]&&this[e(307)]&&t[e(262)].length>=2){const r=t[e(262)],n=s(r[0],r[1])/s(this[e(309)][0],this[e(309)][1]);i(r[0],r[1]),i(this[e(309)][0],this[e(309)][1]),null===this[e(234)]&&(this[e(234)]=n);const o=n-this[e(234)],a=this[e(265)][e(236)].zoomSupportGestureInMobileSpeed;o>0?this[e(298)](a):o<0&&this.narrowPrecision(a)}function s(t,s){const i=e;var r=s[i(242)]-t[i(242)],n=s[i(238)]-t.pageY;return Math[i(291)](r*r+n*n)}function i(t,s){const i=e;var r=t[i(242)]-s[i(242)],n=t[i(238)]-s[i(238)];return 180*Math[i(233)](n,r)/Math.PI}}[Sk(286)](t){const e=Sk;t[e(273)](),this[e(265)][e(267)]&&(this.prevGestureScale=null,this.isGesturing=!1,this[e(309)]=[])}[Sk(259)](t){const e=Sk;if(t[e(273)](),this[e(265)][e(267)]&&this[e(307)]&&null!==this[e(234)]){const s=t[e(279)],i=s-this[e(234)],r=this[e(265)][e(236)].zoomSupportGestureInMobileSpeed;i>0?this[e(298)](r):i<0&&this[e(243)](r),this[e(234)]=s}}[Sk(288)](t){const e=Sk;t[e(273)](),this[e(265)][e(267)]&&(this[e(234)]=null,this[e(307)]=!1)}[Sk(247)](){const t=Sk,e=this[t(265)][t(294)][t(237)];e[t(225)].left=this[t(240)][t(264)]+"px",e[t(225)][t(258)]=this[t(240)][t(258)]+"px"}_resetVideoPosition(){const t=Sk;this[t(265)][t(226)](),this[t(250)]={x:0,y:0},this[t(240)]={left:0,top:0},this[t(246)]=1,this[t(292)]=!1}[Sk(243)](t){const e=Sk;this[e(246)]<=1||(this[e(246)]-=1,this.updateVideoElementScale(t))}[Sk(298)](t){const e=Sk;this[e(246)]>=this[e(265)][e(236)][e(223)]||(this[e(246)]+=1,this.updateVideoElementScale(t))}updateCurrentZoom(t,e){const s=Sk;t<1||t>this.player[s(236)][s(223)]||(this[s(246)]=t,this[s(229)](e))}[Sk(261)](t){this[Sk(311)]=t}updateVideoElementScale(){const t=Sk;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;const s=this.player[t(294)][t(237)];let i=s[t(225)][t(271)],r=1,n=1;if(this.prevVideoElementStyleScale){const e=this[t(311)][0];void 0!==e&&(r=e,n=e);const s=this[t(311)][1];void 0!==s&&(n=s)}n=Xe(n),r=Xe(r);const o=e*r*(this[t(246)]-1)+r,a=e*n*(this[t(246)]-1)+n;let h;h=-1===i.indexOf(t(255))?i+(t(241)+o+",")+a+")":i[t(252)](/scale\([0-9., ]*\)/,"scale("+o+","+a+")"),this[t(265)][t(283)](t(313),"updateVideoElementScale end is X: "+r+t(280)+o+t(290)+n+t(280)+a+t(251)+h),s[t(225)][t(271)]=h}[Sk(287)](){return this[Sk(308)]}}const Ik=kk;function Tk(){const t=["AiLoader","initImageDetector","then","video","borderColor","aiObjectDetectShowRect","borderWidth","updateOcclusionDetectorConfig","250789UKAGzQ","color","JessibucaProObjectDetector","initFaceDetector","type","off","#0000FF","updateImageDetectorConfig","debugLog","1148885wdZJEG","imageDetector","debugLevel","51309MurqLs","faceDetector","addAiContentToCanvas","jessibuca-pro-object-detector-info","width","occlusionDetector","3777XKHbob","init image detector success","debug","10JbvDRw","lineWidth","1522yhzMAJ","load","push","_opt","initOcclusionDetector","updateObjectDetectorConfig"," and use objectDetector"," and use imageDetector","aiFaceDetectShowRect","useObjectDetector","destroy","880592keNqYm","useFaceDetector","updateConfig","length","list","122496FWogrQ","194Hrnhuf","aiFaceDetectRectConfig","184tDQNnQ","init face detector success","player","fontSize","aiObjectDetectWidth","objectDetector","useOcclusionDetector","JessibucaProOcclusionDetector","rect","useImageDetector","debugUuid","#000"," and use occlusionDetector","emit"];return(Tk=function(){return t})()}function kk(t,e){const s=Tk();return(kk=function(t,e){return s[t-=456]})(t,e)}!function(t,e){const s=kk,i=t();for(;;)try{if(199589===-parseInt(s(511))/1*(parseInt(s(464))/2)+-parseInt(s(506))/3*(-parseInt(s(466))/4)+parseInt(s(497))/5+-parseInt(s(463))/6+-parseInt(s(488))/7+parseInt(s(458))/8+parseInt(s(500))/9*(parseInt(s(509))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Tk);class _k extends mi{constructor(t){const e=kk;super(),this[e(468)]=t,this.faceDetector=null,this[e(471)]=null,this[e(498)]=null,this[e(505)]=null,this[e(491)](),this.initObjectDetector(),this.initImageDetector(),this[e(515)]();let s="init";this.faceDetector&&(s+=" and use faceDetector"),this.objectDetector&&(s+=e(517)),this.imageDetector&&(s+=e(518)),this.occlusionDetector&&(s+=e(478)),this.player[e(496)](e(480),s)}[Ik(457)](){const t=Ik;this[t(493)](),this[t(501)]&&(this[t(501)][t(457)](),this.faceDetector=null),this[t(471)]&&(this[t(471)][t(457)](),this[t(471)]=null),this[t(498)]&&(this[t(498)].destroy(),this[t(498)]=null),this[t(505)]&&(this.occlusionDetector[t(457)](),this[t(505)]=null),this[t(468)].debugLog(t(480),t(457))}[Ik(491)](){const t=Ik;if(this[t(468)]._opt[t(459)]&&window.JessibucaProFaceDetector){const e=new JessibucaProFaceDetector({detectWidth:this[t(468)][t(514)].aiFaceDetectWidth,showRect:!1,debug:this[t(468)][t(514)][t(508)],debugLevel:this[t(468)][t(514)][t(499)],debugUuid:this[t(468)]._opt[t(476)]});e[t(512)]()[t(482)]((()=>{const s=t;this.player[s(496)](s(480),s(467)),this[s(501)]=e,this.faceDetector.on("jessibuca-pro-face-detector-info",(t=>{const e=s;if(this.player[e(479)](B.aiFaceDetectorInfo,t),this[e(468)][e(514)][e(519)]){const s=this[e(468)][e(514)][e(465)]||{},i=(t.list||[]).map((t=>{const i=e;return t[i(492)]="rect",t[i(489)]=s[i(484)]||i(494),t[i(510)]=s.borderWidth||2,t}));this[e(468)][e(483)]&&this[e(468)][e(483)][e(502)](i)}}))}))}}initObjectDetector(){const t=Ik;if(this[t(468)][t(514)][t(456)]&&window[t(490)]){const e=new JessibucaProObjectDetector({detectWidth:this[t(468)][t(514)][t(470)],showRect:!1,debug:this[t(468)][t(514)].debug,debugLevel:this[t(468)]._opt[t(499)],debugUuid:this[t(468)][t(514)][t(476)]});e[t(512)]()[t(482)]((()=>{const s=t;this[s(468)][s(496)](s(480),"init object detector success"),this[s(471)]=e,this.objectDetector.on(s(503),(t=>{const e=s;if(this.player[e(479)](B.aiObjectDetectorInfo,t),this.player[e(514)][e(485)]){const s=[],i=this[e(468)][e(514)].aiObjectDetectRectConfig||{};(t[e(462)]||[]).forEach((t=>{const r=e,n={type:"rect",color:i.borderColor||r(494),lineWidth:i[r(486)]||2,x:t.rect.x,y:t[r(474)].y,width:t[r(474)][r(504)],height:t[r(474)].height},o={type:"text",color:i.color||r(477),fontSize:i[r(469)]||14,text:t.zh,x:t.rect.x,y:t.rect.y-25};s[r(513)](n,o)})),this.player.video&&this.player[e(483)][e(502)](s)}}))}))}}[Ik(481)](){const t=Ik;if(this[t(468)][t(514)][t(475)]&&window.JessibucaProImageDetector){const e=new JessibucaProImageDetector({debug:this.player._opt[t(508)],debugLevel:this.player[t(514)][t(499)],debugUuid:this[t(468)][t(514)][t(476)]});e[t(512)]()[t(482)]((()=>{const s=t;this[s(468)][s(496)](s(480),s(507)),this.imageDetector=e}))}}[Ik(515)](){const t=Ik;if(this[t(468)][t(514)][t(472)]&&window[t(473)]){const e=new JessibucaProOcclusionDetector({debug:this[t(468)][t(514)][t(508)],debugLevel:this[t(468)]._opt[t(499)],debugUuid:this[t(468)][t(514)].debugUuid});e[t(512)]()[t(482)]((()=>{const s=t;this.player[s(496)]("AiLoader","init occlusion detector success"),this[s(505)]=e}))}}updateFaceDetectorConfig(){const t=Ik;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this[t(501)]&&this[t(501)][t(460)](e)}[Ik(516)](){const t=Ik;let e=arguments[t(461)]>0&&void 0!==arguments[0]?arguments[0]:{};this[t(471)]&&this[t(471)][t(460)](e)}[Ik(495)](){const t=Ik;let e=arguments[t(461)]>0&&void 0!==arguments[0]?arguments[0]:{};this.imageDetector&&this[t(498)][t(460)](e)}[Ik(487)](){const t=Ik;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.occlusionDetector&&this[t(505)][t(460)](e)}}const Ck=Dk;function Rk(){const t=["insertAdjacentHTML","getBoundingClientRect","654HOxAlB","3128744dZKLnY","307720IlOery","LOG_NAME","8tRGdZI","_validateMenuItem","173860SuVZro","beforebegin","content is required","menuList","init",".jb-pro-contextmenu-","assign","length","clientX","show","5533iqaQtl","contextmenuBtns","5380RHuzkC","72ydcgbD","forEach","$contextmenus","debugWarn","children","Contextmenu","destroy","88944gjZWsu","\n
      \n ","230127nPZmVX","debugLog","player","addMenuItem","jb-pro-contextmenus-show","hide","push",'\n
      0&&this.player[t(258)][t(284)][t(287)]((t=>{this.addMenuItem(t)})),e(this[t(297)][t(256)],"contextmenu",(e=>{const s=t;e[s(257)](),this.show();const i=e[s(281)],r=e[s(259)],{height:n,width:o,left:a,top:h}=this.player[s(256)][s(266)](),{height:c,width:l}=this.$contextmenus.getBoundingClientRect();let d=i-a,u=r-h;i+l>a+o&&(d=o-l),r+c>h+n&&(u=n-c),Fe(this[s(288)],{left:d+"px",top:u+"px"})})),e(this[t(297)][t(256)],"click",(e=>{const s=t;!hm(e,this[s(288)])&&this[s(300)]()})),this.player.on(B.blur,(()=>{this[t(300)]()}))}_validateMenuItem(t){const e=Ck;let s=!0;return!t[e(262)]&&(this.player[e(289)](this[e(270)],e(275)),s=!1),s}[Ck(298)](){const t=Ck;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=Hs(At);if(e=Object[t(279)]({},s,e),!this[t(272)](e))return;const{events:{proxy:i},debug:r}=this.player,n=Ze(),o=t(253)+n+'">\n '+e.content+t(294),a=Array.from(this[t(288)][t(290)])[e[t(261)]];a?a[t(265)](t(274),o):nm(this[t(288)],o);const h=this[t(288)][t(264)](t(278)+n);e[t(255)]&&i(h,t(255),(s=>{const i=t;s[i(257)](),e[i(255)][i(260)](this[i(297)],this,s),this[i(300)]()})),this[t(276)][t(252)]({uuid:n,$menuItem:h})}}const xk=Pk;function Pk(t,e){const s=Bk();return(Pk=function(t,e){return s[t-=464]})(t,e)}function Bk(){const t=["mediaTime","rtcPeerTrackVideoReceiver","eventsDestroy","392852fpzwsi","frameHeight","140nVkDBD","ontrack video","bytesSent","videoFrameCallback","webrtcOnConnectionStateChange","TAG_NAME","kBps","connectionState","type","closed","handleRender","video play error ","getVideoBufferTimeRange","getTracks","915816Kbbpzg","_initRtcPeerConnection","connecting","frameWidth","onconnectionstatechange[所有ICE 状态总览]","onicecandidate","video play","track","bytesReceived","timeStamp","checking","failed","candidate","timeUpdate","onicegatheringstatechange","updateStats","bandwidthEstimateInterval","currentTime","paused","CommonWebrtc","prevWebrtcVideoStats","rtcPeerTrackAudioReceiver","disconnected","webrtcDisconnect","forEach","updateVideoInfo","isVideoPlaying","currentWebrtcStats","requestVideoFrameCallback","videoHeight","webrtcClosed","src","then","360837RtMmbc","ontrack","supportVideoFrameCallbackHandle","canvasRenderInterval","isInitInfo","destroy","push","_startBandwidthEstimateInterval","CandidatePair","ratechange","position","videoStream","_initRenderSize","pause","lastTimeStamp","max","isH264","emit","timestamp","webrtcOnIceConnectionStateChange","InboundRtp","loadedmetadata","readyState","play","ended","webrtcUseCanvasRender","isDisconnected","onicegatheringstatechange[ICE收集状态]","vbps","kind","webrtcFailed","5dMgqAZ","muted","waiting","video","getStats","length","getReceivers","oniceconnectionstatechange","abps","rtcPeerConnection","debugWarn","RemoteCandidate","onsignalingstatechange[本地端的信号状态]","cancelVideoFrameCallback","videoWidth","123663aCaHgS","video waiting","iceConnectionState","emitError","ontrack audio","currentRoundTripTime","toFixed","rtt","_stopBandwidthEstimateInterval","removeAttribute","onnegotiationneeded[通信环境发生变化]","autoplay","player","webrtcIceCandidateError","_initVideoEvents","_stopCanvasRender","video is paused and next try to replay","onsignalingstatechange","succeeded","audio","initCanvasViewSize","connected","_initVideoEvents()","recvonly","srcObject","1058808VnKxTI","$videoElement","video is paused and replay success","prevWebrtcAudioStats","bind","absolute","debugLog","stop","LocalCandidate","floor","localCandidate","1982666xhslQR","canplay","new","_opt","addTransceiver","streams","completed","186484XukGYx","_startCanvasRender","16ucBjSC","onnegotiationneeded","end","onconnectionstatechange"];return(Bk=function(){return t})()}!function(t,e){const s=Pk,i=t();for(;;)try{if(292066===-parseInt(s(564))/1+parseInt(s(566))/2*(-parseInt(s(521))/3)+-parseInt(s(573))/4*(parseInt(s(506))/5)+parseInt(s(546))/6+parseInt(s(557))/7+-parseInt(s(589))/8+parseInt(s(475))/9*(parseInt(s(575))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Bk);class Mk extends mi{constructor(t){const e=Pk;super(),this[e(533)]=t,this.TAG_NAME=e(608),this.rtcPeerConnection=null,this[e(486)]=null,this.isDisconnected=!1,this.isH264=this[e(533)].isWebrtcH264(),this[e(572)]=[],this[e(477)]=null,this[e(479)]=!1,this[e(547)]=this[e(533)][e(509)].$videoElement,this[e(605)]=null,this[e(571)]=null,this.rtcPeerTrackAudioReceiver=null,this[e(609)]={},this[e(549)]={},this[e(469)]={},this[e(533)][e(560)][e(500)]&&this[e(491)]&&(this[e(547)]=document.createElement(e(509)),Ye()&&(this.$videoElement.style[e(485)]=e(551)),this[e(535)]()),this[e(547)][e(507)]=!0,this[e(590)]()}[xk(480)](){const t=xk;if(this[t(501)]=!1,this.isInitInfo=!1,this[t(609)]={},this[t(469)]={},this[t(571)]=null,this[t(610)]=null,this[t(529)](),this[t(477)]&&this.$videoElement&&(this[t(547)][t(519)](this[t(477)]),this[t(477)]=null),this[t(572)][t(511)]&&(this[t(572)].forEach((t=>t())),this.eventsDestroy=[]),this[t(491)]&&(this[t(486)]&&(this[t(486)][t(588)]()[t(466)]((e=>e[t(553)]())),this.videoStream=null),this[t(547)]))if(this.player[t(560)][t(500)]){this[t(547)][t(488)]&&(this[t(547)][t(488)](),this[t(547)][t(507)]=!0),this[t(547)][t(606)]=0,this[t(547)].src&&(this[t(547)][t(473)]="",this[t(547)][t(530)](t(473)));try{this[t(547)].load()}catch(t){}}else this[t(547)].srcObject&&(this[t(547)][t(545)]=null,this[t(547)][t(530)](t(545)));this[t(547)]=null,this[t(515)]&&(this[t(515)][t(594)]=De,this[t(515)][t(476)]=De,this.rtcPeerConnection[t(569)]=De,this[t(515)].ondatachannel=De,this[t(515)].close(),this[t(515)]=null)}[xk(535)](){const t=xk;this[t(533)][t(552)](this[t(580)],t(543));const{proxy:e}=this.player.events,s=e(this.$videoElement,ht[t(558)],(()=>{const e=t;this[e(533)][e(552)](this.TAG_NAME,"video canplay"),this.$videoElement[e(498)]()[e(474)]((()=>{const t=e;this[t(533)].debugLog(this[t(580)],t(595)),this[t(565)](),this[t(487)]()})).catch((t=>{const s=e;this[s(533)][s(516)](this[s(580)],s(586),t)}))})),i=e(this.$videoElement,ht[t(508)],(()=>{const e=t;this[e(533)][e(552)](this[e(580)],e(522))})),r=e(this[t(547)],ht[t(496)],(()=>{const e=t;this[e(533)][e(552)](this[e(580)],"video loadedmetadata")})),n=e(this[t(547)],ht[t(602)],(e=>{const s=t;parseInt(e[s(598)],10),this.$videoElement.paused&&(this[s(533)][s(516)](this[s(580)],s(537)),this[s(547)][s(498)]().then((()=>{const t=s;this[t(533)][t(552)](this.TAG_NAME,t(548))})).catch((t=>{const e=s;this[e(533)][e(516)](this[e(580)],"video is paused and replay error ",t)})))})),o=e(this[t(547)],ht[t(484)],(()=>{const e=t;this[e(533)][e(552)](this[e(580)],"video playback Rate change",this.$videoElement&&this[e(547)].playbackRate)}));this[t(572)][t(481)](s,i,n,o,r)}[xk(590)](){const t=xk,e=new RTCPeerConnection,s=this[t(533)];e[t(561)](t(509),{direction:t(544)}),e[t(561)]("audio",{direction:t(544)}),e[t(538)]=e=>{const s=t;this[s(533)].debugLog(this[s(580)],s(518),e)},e[t(603)]=s=>{const i=t;this[i(533)].debugLog(this[i(580)],i(502),s,e.iceGatheringState)},e[t(567)]=e=>{const s=t;this[s(533)][s(552)](this[s(580)],s(531),e)},e[t(513)]=i=>{const r=t;this[r(533)].debugLog(this.TAG_NAME,r(513),e.iceConnectionState);const n=e[r(523)];switch(this[r(533)][r(492)](B[r(494)],n),this.isDisconnected=n===r(464),e.iceConnectionState){case r(559):case r(599):case"closed":break;case"failed":s[r(492)](B[r(505)]);break;case r(464):s.emit(B[r(465)]);break;case r(542):case r(563):break;case r(584):s.emit(B[r(472)])}},e[t(594)]=e=>{const s=t;this.player[s(552)](this.TAG_NAME,s(594),e),e.candidate&&this[s(533)][s(552)](this.TAG_NAME,"Remote ICE candidate: ",e[s(601)][s(601)])},e.ontrack=s=>{const i=t;if(this.player[i(552)](this[i(580)],i(476),s),s[i(596)][i(504)]===i(509)){this[i(533)][i(552)](this[i(580)],i(576)),this[i(571)]=e[i(512)]().find((function(t){const e=i;return t.track===s[e(596)]})),this[i(571)]&&this[i(482)]();let t=s[i(562)][0];this.$videoElement[i(532)]=!0,this[i(547)][i(545)]=t,this[i(486)]=t}else s[i(596)][i(504)]===i(540)&&(this[i(533)][i(552)](this[i(580)],i(525)),this.rtcPeerTrackAudioReceiver=e[i(512)]().find((function(t){const e=i;return t[e(596)]===s[e(596)]})),this[i(610)]&&this[i(482)]())},e.onicecandidateerror=e=>{const s=t;this[s(533)][s(552)](this.TAG_NAME,"onicecandidateerror[candidate错误]",e),this[s(533)][s(524)](O[s(534)],e)},e[t(569)]=i=>{const r=t;switch(this[r(533)][r(552)](this.TAG_NAME,r(593),i),this[r(533)].emit(B[r(579)],e[r(582)]),e[r(582)]){case r(559):case r(591):case r(542):case r(464):break;case r(600):this.isDisconnected&&s[r(492)](B[r(505)]);case r(584):}},this[t(515)]=e}_startBandwidthEstimateInterval(){const t=xk;this.player[t(552)](this[t(580)],t(482)),this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{const e=t;this.rtcPeerTrackVideoReceiver&&this[e(571)][e(510)]()[e(474)]((t=>{const s=e;let i={},r=0;t[s(466)]((t=>{const e=s;if(t)switch(t[e(583)]){case Lt[e(483)]:(t.state===e(539)||t[e(597)])&&(this.currentWebrtcStats[e(493)]=t[e(493)],this[e(469)][e(528)]=t[e(526)]||-1,this.currentWebrtcStats[e(597)]=t[e(597)]||0,this[e(469)][e(577)]=t[e(577)]||0);break;case Lt[e(517)]:this[e(469)].remoteCandidate=t||{};break;case Lt[e(554)]:this.currentWebrtcStats[e(556)]=t||{};break;case Lt.InboundRtp:this[e(469)].lastTimeStamp=t[e(493)];const s=((t[e(493)]||0)-(this[e(609)][e(493)]||0))/1e3,n=Number(t[e(597)]||0)-Number(this[e(609)][e(597)]||0),o=Math[e(555)](n/s);r+=o,i[e(503)]=o,this[e(609)]=t;break;case Lt.Track:t.frameWidth&&t[e(574)]&&(this[e(469)][e(592)]=t[e(592)]||0,this[e(469)][e(574)]=t[e(574)]||0)}})),this[s(610)]?this.rtcPeerTrackAudioReceiver[s(510)]()[s(474)]((t=>{const e=s;t[e(466)]((t=>{const s=e;if(t&&t[s(583)]===Lt[s(495)]){this[s(469)][s(489)]=t[s(493)];const e=((t[s(493)]||0)-(this[s(549)][s(493)]||0))/1e3,n=Number(t[s(597)]||0)-Number(this[s(549)][s(597)]||0),o=Math[s(555)](n/e);r+=o,i[s(514)]=o,this.prevWebrtcAudioStats=t}})),this[e(533)][e(604)](i),this[e(533)][e(492)](B[e(581)],(r/1024)[e(527)](2))})):(this[s(533)][s(604)](i),this[s(533)][s(492)](B[s(581)],(r/1024)[s(527)](2)))}))}),1e3)}[xk(529)](){const t=xk;this[t(533)][t(552)](this[t(580)],"_stopBandwidthEstimateInterval"),this.bandwidthEstimateInterval&&(clearInterval(this[t(605)]),this.bandwidthEstimateInterval=null)}[xk(565)](){const t=xk;ei()?this[t(477)]=this[t(547)][t(470)](this.videoFrameCallback[t(550)](this)):(this[t(536)](),this[t(478)]=setInterval((()=>{const e=t;this[e(533)][e(509)].render({$video:this[e(547)],ts:0})}),40))}[xk(536)](){this[xk(478)]&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}videoFrameCallback(t){const e=xk;let s=arguments[e(511)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this[e(533)].isDestroyedOrClosed())return void this.player[e(552)](this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math[e(490)](s[e(570)],this.$videoElement.currentTime),10)||0;this.player[e(585)](),this[e(533)][e(509)].render({$video:this[e(547)],ts:i}),this.player[e(604)]({dts:i}),this[e(477)]=this.$videoElement[e(470)](this[e(578)][e(550)](this))}[xk(487)](){const t=xk;!this.isInitInfo&&(this[t(533)][t(509)][t(467)]({width:this.$videoElement[t(520)],height:this[t(547)][t(471)]}),this.player[t(509)][t(541)](),this[t(479)]=!0)}getVideoCurrentTime(){const t=xk;let e=0;return this[t(547)]&&(e=this.$videoElement[t(606)]),e}[xk(468)](){const t=xk;return this.$videoElement&&Js(this.$videoElement[t(607)])&&Js(this[t(547)][t(499)])&&0!==this[t(547)].playbackRate&&0!==this[t(547)][t(497)]}[xk(587)](){const t=xk,e=this[t(547)];let s=null;if(e){const i=e.buffered,r=i[t(511)]?i.start(0):0,n=i[t(511)]?i[t(568)](i[t(511)]-1):0;s={start:r,end:n,diff:n-r}}return s}}function Fk(){const t=["follow","12ZinVVU","username","2421DKudqH","include","8844823BlRYWH","1668ASQfRV","5475mGgxvF","no-referrer","7FSAnnf","cors","text/plain;charset=utf-8","no-cache","json","6OLKIQR","application/sdp","password","Basic ","4868676QJvTnK","55oMQpeM","261460aKQYbL","367150JfHhKg","3181460JrFZMu","2584dlKHer","POST"];return(Fk=function(){return t})()}function Ok(t,e){const s=Fk();return(Ok=function(t,e){return s[t-=218]})(t,e)}function Uk(t,e){const s=jk();return(Uk=function(t,e){return s[t-=387]})(t,e)}function jk(){const t=["sdp","TAG_NAME","loadSource getWebRtcRemoteSdp response error","catch","debugLog","20rxbHWn","init","getWebRtcRemoteSdp loadSource","rtcPeerConnection","code","response json code ","8phRxnX","destroy","then","setRemoteDescription","2gAdyGy","930838YpSNdU","loadSource","loadSource setRemoteDescription error","1407336SIYhtO","1451132mzChMz","createOffer","12782860sbyDnL","response sdp is null","getWebRtcRemoteSdp response and code is ","toString","setLocalDescription","6047279TKrYzL","WebrtcForSRSDecoder","player","debugError","answer","loadSource rtcPeerConnection.createOffer() error","msg","2963700ekqUBN","8354295BElzJW"];return(jk=function(){return t})()}!function(t,e){const s=Ok,i=t();for(;;)try{if(486016===parseInt(s(222))/1*(-parseInt(s(241))/2)+-parseInt(s(234))/3*(parseInt(s(233))/4)+parseInt(s(224))/5+parseInt(s(220))/6*(parseInt(s(236))/7)+parseInt(s(225))/8*(parseInt(s(230))/9)+parseInt(s(223))/10*(-parseInt(s(221))/11)+parseInt(s(228))/12*(parseInt(s(232))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fk);const Nk=Uk;!function(t,e){const s=Uk,i=t();for(;;)try{if(581425===-parseInt(s(402))/1*(-parseInt(s(401))/2)+-parseInt(s(420))/3+parseInt(s(406))/4+parseInt(s(391))/5*(-parseInt(s(405))/6)+parseInt(s(413))/7*(parseInt(s(397))/8)+-parseInt(s(421))/9+parseInt(s(408))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(jk);class Vk extends Mk{constructor(t){const e=Uk;super(t),this[e(387)]=e(414),this[e(415)][e(390)](this[e(387)],e(392))}[Nk(398)](){const t=Nk;super[t(398)](),this[t(415)][t(390)](this.TAG_NAME,t(398))}[Nk(403)](t){return new Promise(((e,s)=>{const i=Uk,r=this[i(394)];r[i(407)]().then((n=>{const o=i;r[o(412)](n),this[o(415)][o(390)](this[o(387)],o(393)),function(t,e){const s=Ok;return fetch(t,{method:s(226),mode:s(237),cache:s(239),credentials:"include",redirect:s(227),referrerPolicy:s(235),headers:{"Content-Type":s(242)},body:e})}(t,n[o(422)])[o(399)]((t=>{const i=o;this[i(415)][i(390)](this[i(387)],i(410)+t[i(395)]);const n=t;if(n&&0!==n[i(395)])return this.player[i(416)](this[i(387)],i(396)+n[i(395)]),s(n[i(419)]);n?r[i(400)](new RTCSessionDescription({type:i(417),sdp:n}))[i(399)]((()=>{e()}))[i(389)]((t=>{const e=i;this.player&&this[e(415)][e(416)](this[e(387)],e(404),t.toString(),t),s(t)})):(this.player[i(416)](this.TAG_NAME,i(409)),s(i(409)))}))[o(389)]((t=>{const e=o;this.player.debugError(this[e(387)],e(388),t.toString(),t),s(t)}))}))[i(389)]((t=>{const e=i;this[e(415)].debugError(this[e(387)],e(418),t[e(411)](),t),s(t)}))}))}}const zk=Gk;function Gk(t,e){const s=Hk();return(Gk=function(t,e){return s[t-=187]})(t,e)}function Hk(){const t=["catch","getWebRtcRemoteSdp response and code is ","response sdp json code: ","then","toString","getWebRtcRemoteSdp response","answer","code","createOffer","WebrtcForOthersDecoder","4326804hTvqBi","player","26pfkwXB","sdp","24sIdExU","text","rtcPeerConnection","376383YbfZFh","debugError","loadSource","1966008hCqnoO","parse","15433569IbXefa","debugLog","TAG_NAME","6187315ZSwttN","1578883nVWOBs","loadSource sdp is null","loadSource rtcPeerConnection.createOffer() error","sdp is null","this is json sdp response","destroy","7240359otuiqm","this is raw sdp response","loadSource getWebRtcRemoteSdp response error"];return(Hk=function(){return t})()}!function(t,e){const s=Gk,i=t();for(;;)try{if(875483===-parseInt(s(213))/1+parseInt(s(199))/2*(-parseInt(s(204))/3)+parseInt(s(207))/4+-parseInt(s(212))/5+parseInt(s(197))/6+-parseInt(s(219))/7+parseInt(s(201))/8*(parseInt(s(209))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hk);class Wk extends Mk{constructor(t){const e=Gk;super(t),this[e(211)]=e(196),this[e(198)][e(210)](this[e(211)],"init")}[zk(218)](){const t=zk;super[t(218)](),this[t(198)][t(210)](this[t(211)],"destroy")}[zk(206)](t){return new Promise(((e,s)=>{const i=Gk,r=this[i(203)];r[i(195)]()[i(190)]((n=>{const o=i;r.setLocalDescription(n),this[o(198)][o(210)](this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(t,e){const s=Ok;return fetch(t,{method:s(226),mode:"cors",cache:s(239),credentials:s(231),redirect:s(227),referrerPolicy:s(235),headers:{"Content-Type":"application/sdp"},body:e})}(t,n[o(200)]).then((t=>{const i=o;this[i(198)][i(210)](this[i(211)],i(188)+t[i(194)]),t[i(202)]()[i(190)]((t=>{const n=i;this.player.debugLog(this.TAG_NAME,n(192));try{let e=JSON[n(208)](t);this[n(198)][n(210)](this[n(211)],n(217)),0!=e[n(194)]&&(this.player[n(205)](this[n(211)],"response json code "+e.code),s(new Error(n(189)+e[n(194)]))),t=e.sdp}catch(t){this[n(198)][n(210)](this.TAG_NAME,n(220))}t?r.setRemoteDescription(new RTCSessionDescription({type:n(193),sdp:t}))[n(190)]((()=>{e()})).catch((t=>{const e=n;this[e(198)].debugError(this.TAG_NAME,"loadSource setRemoteDescription error",t[e(191)](),t),s(t)})):(this[n(198)][n(205)](this[n(211)],n(214)),s(n(216)))}))[i(187)]((t=>{const e=i;this[e(198)][e(205)](this[e(211)],"loadSource response.text() error",t[e(191)](),t),s(t)}))}))[o(187)]((t=>{const e=o;this[e(198)].debugError(this.TAG_NAME,e(221),t[e(191)](),t),s(t)}))}))[i(187)]((t=>{const e=i;this[e(198)][e(205)](this[e(211)],e(215),t[e(191)](),t),s(t)}))}))}}const Kk=Qk;function Qk(t,e){const s=Yk();return(Qk=function(t,e){return s[t-=216]})(t,e)}function Yk(){const t=["channel","offer","iceConnectionState","onnegotiationneeded[通信环境发生变化]","iceGatheringState","28zlcZCG","find","oniceconnectionstatechange","onicecandidate","destroy","240qhAxqj","kind","getWebRtcRemoteSdp loadSource","data","rtcPeerTrackVideoReceiver","ondatachannel and onclose","setLocalDescription","then","onsignalingstatechange[本地端的信号状态]","isDestroyedOrClosed","disconnected","loadSource setRemoteDescription error","debugLog","_initRtcPeerConnection","candidate","streamRate","answer","loadSource","_startBandwidthEstimateInterval","remove","type","demux","webrtcOnConnectionStateChange","rtcPeerConnectionDataChannel","startStreamRateInterval","failed","getWebrtcVideo","kBps","onicecandidateerror","connectionState","webrtcStreamH265","emit","1994284gruhOV","ontrack video","player","loadSource getWebRtcRemoteSdp response error","onopen","sdp","stopStreamRateInterval","byteLength","12927rLQafn","TAG_NAME","debugError","ontrack","init","recvonly","475NBbQnY","closed","1217752hZkNfM","getWebRtcRemoteSdp response","onconnectionstatechange","createOffer","new","onicegatheringstatechange","videoStream","onmessage","228085ZPVSLy","debugWarn","streamRateInterval","rtcPeerTrackAudioReceiver","getReceivers","track","video","Remote ICE candidate: ","isWebrtcH265","isWebrtcH264","srcObject","710InFJwp","onclose","rtcPeerConnection","559308YVPfrU","loadSource rtcPeerConnection.createOffer() error","ontrack audio","38LneJwP","toString","toFixed","addTransceiver","loadSource sdp is null","webrtcOnIceConnectionStateChange","completed","WebrtcForM7SDecoder","setRemoteDescription","signal","checking","webrtcFailed","webrtcIceCandidateError","connecting","webrtcDisconnect","8874aHgpgF","catch","audio","32877ZjIxbJ","length","signalChannel,onmessage","connected"];return(Yk=function(){return t})()}!function(t,e){const s=Qk,i=t();for(;;)try{if(451436===-parseInt(s(263))/1+-parseInt(s(266))/2*(parseInt(s(233))/3)+parseInt(s(225))/4+-parseInt(s(239))/5*(-parseInt(s(281))/6)+parseInt(s(293))/7*(parseInt(s(241))/8)+-parseInt(s(284))/9*(-parseInt(s(260))/10)+-parseInt(s(249))/11*(parseInt(s(298))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yk);class qk extends Mk{constructor(t){const e=Qk;super(t),this[e(216)]=null,this.player.isWebrtcH265()&&(this.streamRate=je((s=>{const i=e;t[i(224)](B[i(220)],(s/1024)[i(268)](2))}))),this[e(234)]=e(273),this[e(227)][e(310)](this[e(234)],e(237))}[Kk(297)](){const t=Kk;super[t(297)](),this.stopStreamRateInterval(),this[t(216)]&&(this[t(216)][t(229)]=De,this[t(216)][t(261)]=De,this[t(216)][t(248)]=De,this[t(216)].close(),this.rtcPeerConnectionDataChannel=null),this[t(227)][t(310)](this.TAG_NAME,t(297))}[Kk(311)](){const t=Kk,e=new RTCPeerConnection,s=this.player;e.addTransceiver("video",{direction:"recvonly"}),e[t(269)](t(283),{direction:t(238)}),e.onsignalingstatechange=e=>{const s=t;this.player[s(310)](this[s(234)],s(306),e)},e[t(246)]=s=>{const i=t;this[i(227)][i(310)](this[i(234)],"onicegatheringstatechange[ICE收集状态]",s,e[i(292)])},e.onnegotiationneeded=e=>{const s=t;this[s(227)][s(310)](this[s(234)],s(291),e)},e[t(295)]=i=>{const r=t;this[r(227)][r(310)](this.TAG_NAME,r(295),e[r(290)]);const n=e[r(290)];switch(this[r(227)][r(224)](B[r(271)],n),this.isDisconnected=n===r(308),e[r(290)]){case r(245):case r(276):case"closed":break;case r(218):s.emit(B.webrtcFailed);break;case r(308):s[r(224)](B[r(280)]);break;case r(287):case r(272):break;case r(240):s.emit(B.webrtcClosed)}},e[t(296)]=e=>{const s=t;this[s(227)].debugLog(this.TAG_NAME,"onicecandidate",e),e.candidate&&this.player[s(310)](this[s(234)],s(256),e[s(312)][s(312)])},e[t(236)]=i=>{const r=t;this.player[r(310)](this[r(234)],r(236),i);const n=s[r(219)]();if(s[r(258)]())if(i[r(254)][r(299)]===r(255)){this[r(227)][r(310)](this[r(234)],r(226)),this.rtcPeerTrackVideoReceiver=e.getReceivers().find((function(t){const e=r;return t.track===i[e(254)]})),this[r(302)]&&this[r(316)]();let t=i.streams[0];n.autoplay=!0,n[r(259)]=t,this[r(247)]=t}else i[r(254)][r(299)]===r(283)&&(this[r(227)].debugLog(this[r(234)],r(265)),this[r(252)]=e[r(253)]()[r(294)]((function(t){const e=r;return t[e(254)]===i[e(254)]})),this.rtcPeerTrackAudioReceiver&&this[r(316)]())},e[t(221)]=e=>{const s=t;this[s(227)][s(310)](this.TAG_NAME,"onicecandidateerror[candidate错误]",e),this[s(227)].emitError(O[s(278)],e)},e[t(243)]=i=>{const r=t;switch(this[r(227)][r(310)](this[r(234)],"onconnectionstatechange[所有ICE 状态总览]",i),this[r(227)].emit(B[r(320)],e[r(222)]),e.connectionState){case r(245):case r(279):case r(287):case r(308):break;case"failed":this.isDisconnected&&s.emit(B[r(277)]);case r(240):}},e.ondatachannel=e=>{const s=t,i=e[s(288)];this.player.debugLog(this[s(234)],"ondatachannel"),i.onopen=()=>{const t=s;this.player[t(310)](this[t(234)],"ondatachannel and onopen")},i[s(248)]=t=>{const e=s,i=t.data;if(this[e(227)][e(258)]())return this[e(227)][e(250)](this[e(234)],"ondatachannel is H265 but decode is h264 so emit webrtcStreamH265 "),void this[e(227)].emit(B[e(223)]);this[e(227)][e(307)]()?this.player[e(250)](this[e(234)],"ondatachannel and player is destroyed"):(this[e(313)]&&this[e(313)](i[e(232)]),this[e(227)][e(319)]&&this[e(227)].demux.dispatch(i))},i[s(261)]=()=>{const t=s;this[t(227)][t(250)](this[t(234)],t(303))},this.rtcPeerConnectionDataChannel=i};e.createDataChannel(t(275))[t(248)]=e=>{const s=t;this[s(227)][s(310)](this.TAG_NAME,s(286),e);switch(JSON.parse(e[s(301)])[s(318)]){case s(289):case s(314):case"candidate":case s(317):}},this[t(262)]=e}[Kk(217)](){const t=Kk;this[t(231)](),this[t(251)]=setInterval((()=>{const e=t;this[e(313)]&&this[e(313)](0)}),1e3)}[Kk(231)](){const t=Kk;this[t(251)]&&(clearInterval(this[t(251)]),this.streamRateInterval=null)}[Kk(315)](t){const e=Kk;let s=arguments[e(285)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=e,o=this[n(262)];o[n(244)]()[n(305)]((e=>{const a=n;o[a(304)](e),this[a(227)][a(310)](this[a(234)],a(300)),function(t,e,s){const i=Ok;let r={"Content-Type":i(242)};return s[i(229)]&&s[i(218)]&&(r.Authorization=i(219)+btoa(s[i(229)]+":"+s[i(218)])),fetch(t,{method:i(226),mode:i(237),cache:i(239),credentials:i(231),redirect:i(227),referrerPolicy:i(235),headers:r,body:e})}(t,e[a(230)],s).then((t=>{const e=a;t.text()[e(305)]((t=>{const s=e;this[s(227)][s(310)](this[s(234)],s(242)),t?o[s(274)](new RTCSessionDescription({type:"answer",sdp:t}))[s(305)]((()=>{const t=s;this[t(227)][t(257)]()&&this[t(217)](),i()}))[s(282)]((t=>{const e=s;this[e(227)][e(235)](this[e(234)],e(309),t[e(267)](),t),r(t)})):(this[s(227)].debugError(this[s(234)],s(270)),r("sdp is null"))}))[e(282)]((t=>{const s=e;this.player[s(235)](this[s(234)],"loadSource response.text() error",t.toString(),t),r(t)}))}))[a(282)]((t=>{const e=a;this[e(227)][e(235)](this[e(234)],e(228),t[e(267)](),t),r(t)}))}))[n(282)]((t=>{const e=n;this[e(227)][e(235)](this.TAG_NAME,e(264),t[e(267)](),t),r(t)}))}))}}const Jk=Xk;function Xk(t,e){const s=$k();return(Xk=function(t,e){return s[t-=422]})(t,e)}!function(t,e){const s=Xk,i=t();for(;;)try{if(601995===-parseInt(s(433))/1*(-parseInt(s(427))/2)+-parseInt(s(453))/3*(parseInt(s(434))/4)+parseInt(s(431))/5+parseInt(s(437))/6*(-parseInt(s(424))/7)+parseInt(s(444))/8*(parseInt(s(441))/9)+parseInt(s(450))/10+-parseInt(s(426))/11*(parseInt(s(448))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}($k);class Zk extends Mk{constructor(t){const e=Xk;super(t),this[e(430)]=e(432),this[e(445)].debugLog(this.TAG_NAME,e(456))}[Jk(452)](){const t=Jk;super[t(452)](),this[t(445)].debugLog(this[t(430)],"destroy")}[Jk(435)](t){return new Promise(((e,s)=>{const i=Xk,r=this.rtcPeerConnection;r[i(425)]().then((n=>{const o=i;r[o(429)](n),this[o(445)][o(422)](this[o(430)],"getWebRtcRemoteSdp loadSource"),function(t,e){const s=Ok;return Sc({url:t,type:s(226),data:e,contentType:s(238),processData:!1,dataType:s(240)})}(t,n[o(423)])[o(451)]((t=>{const i=o;this[i(445)][i(422)](this.TAG_NAME,i(454)+t[i(438)]);const n=t;if(n&&0!==n[i(438)])return this.player[i(440)](this[i(430)],"response json code "+n[i(438)]),s(n[i(446)]);n&&n[i(423)]?r[i(428)](new RTCSessionDescription({type:i(439),sdp:n[i(423)]}))[i(451)]((()=>{e()})).catch((t=>{const e=i;this[e(445)][e(440)](this[e(430)],e(455),t.toString(),t),s(t)})):(this[i(445)][i(440)](this[i(430)],"response sdp is null"),s(i(442)))}))[o(449)]((t=>{const e=o;this[e(445)][e(440)](this.TAG_NAME,e(436),t[e(443)](),t),s(t)}))})).catch((t=>{const e=i;this[e(445)].debugError(this[e(430)],e(447),t[e(443)](),t),s(t)}))}))}}function $k(){const t=["loadSource getWebRtcRemoteSdp response error","18966IbVYrV","code","answer","debugError","2308653JJIPQU","sdp is null","toString","24geTrqj","player","msg","loadSource rtcPeerConnection.createOffer() error","46932QzIOOj","catch","8541560lScKpm","then","destroy","114XrSerS","getWebRtcRemoteSdp response and code is ","loadSource setRemoteDescription error","init","debugLog","sdp","455pcAWUe","createOffer","3993uHsgCr","10222mHfrvZ","setRemoteDescription","setLocalDescription","TAG_NAME","3073280rHExdU","WebrtcForZLMDecoder","108WlgUXV","59284HHBOgx","loadSource"];return($k=function(){return t})()}const t_=s_;function e_(){const t=["debugLog","onPlayEvent and canplay","onError and code is ","start","destroy","$videoElement","listenEvents","AliRTS","224lCDjVg","event","length","errorCode","isVideoPlaying","playbackRate","off","message","bytesReceivedPerSecond","vbps","364683PBzHyR"," and message: ","onError","aliyunRtc","AliyunRtc","2HLbwxA","media","end","44htYxSW","445716GcZuyZ","aliyunRtcError","audio","PLAYING","TAG_NAME","toFixed","player","updateStats","play","WAITING","1751240bjQuJM","aliyunRtcRemoteStream","paused","getVideoBufferTimeRange","getVideoCurrentTime","MEDIA","535zfjVen","canplay","catch","abps","reconnect","200552aOicKH","emit","emitError","readyState","video","onPlayEvent and playing - > waiting","AliyunRtc is not defined","init","7598403rURmiA","data","loadSource and subscribe is not success: ","playing","debugError","floor","then","currentTime","55716stpFDd","1005916rmntwK","createClient"];return(e_=function(){return t})()}function s_(t,e){const s=e_();return(s_=function(t,e){return s[t-=100]})(t,e)}!function(t,e){const s=s_,i=t();for(;;)try{if(513687===parseInt(s(100))/1+parseInt(s(105))/2*(parseInt(s(109))/3)+parseInt(s(147))/4+-parseInt(s(125))/5*(parseInt(s(146))/6)+parseInt(s(157))/7*(-parseInt(s(130))/8)+parseInt(s(138))/9+parseInt(s(119))/10*(parseInt(s(108))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(e_);class i_ extends mi{constructor(t){const e=s_;if(super(),this[e(113)]=e(104),this[e(115)]=t,!window[e(156)])throw new Error(e(136));this[e(103)]=window[e(156)][e(148)](),this[e(120)]=null,this.$videoElement=this[e(115)][e(134)][e(154)],this[e(155)](),this.player[e(149)](this.TAG_NAME,e(137))}[t_(153)](){const t=t_;this[t(103)]&&(this.aliyunRtcRemoteStream&&(this[t(120)]=null),this[t(103)].unsubscribe(),this[t(103)]=null),this[t(154)]=null,this[t(163)](),this[t(115)][t(149)](this.TAG_NAME,t(153))}[t_(155)](){const t=t_;this[t(103)].on(t(102),(e=>{const s=t;this.player[s(149)](this[s(113)],s(151)+e.errorCode+s(101)+e[s(164)]),10400!==e[s(160)]&&(this[s(115)].debugError(this[s(113)],s(151)+e.errorCode+" and message: "+e[s(164)]),this[s(115)][s(132)](O[s(110)],e))})),this.aliyunRtc.on(t(129),(e=>{const s=t;this[s(115)][s(149)](this[s(113)],"reconnect",e)}));const e={CANPLAY:t(126),WAITING:"waiting",PLAYING:t(141),MEDIA:t(106)};this[t(103)].on("onPlayEvent",(s=>{const i=t;if(s[i(158)]===e.CANPLAY)this[i(115)][i(149)](this.TAG_NAME,i(150));else if(s[i(158)]===e[i(118)])this.player[i(149)](this.TAG_NAME,i(135));else if(s[i(158)]===e[i(112)])this[i(115)][i(149)](this[i(113)],"onPlayEvent and waiting -> playing");else if(s[i(158)]===e[i(124)]){const t=s[i(139)];let e={},r=0;if(t[i(111)]){const s=Math[i(143)](t[i(111)][i(165)]);r+=s,e[i(128)]=s}if(t[i(134)]){const s=Math.floor(t.video[i(165)]);r+=s,e[i(166)]=s}this[i(115)][i(116)](e),this[i(115)][i(131)](B.kBps,(r/1024)[i(114)](2))}}))}loadSource(t){return new Promise(((e,s)=>{const i=s_;this[i(103)].isSupport({isReceiveVideo:!0})[i(144)]((()=>{const r=i;this.aliyunRtc.subscribe(t,{})[r(144)]((t=>{const s=r;this.aliyunRtcRemoteStream=t,t[s(117)](this[s(154)]),e()}))[r(127)]((t=>{const e=r;this[e(115)][e(142)](this.TAG_NAME,e(140),t[e(164)]),s(t.message)}))}))[i(127)]((t=>{const e=i;this[e(115)][e(142)](this[e(113)],"loadSource and is not support: ",t[e(164)]),s(t[e(164)])}))}))}[t_(123)](){const t=t_;let e=0;return this.$videoElement&&(e=this[t(154)][t(145)]),e}[t_(161)](){const t=t_;return this[t(154)]&&Js(this.$videoElement[t(121)])&&Js(this[t(154)].ended)&&0!==this.$videoElement[t(162)]&&0!==this[t(154)][t(133)]}[t_(122)](){const t=t_,e=this[t(154)];let s=null;if(e){const i=e.buffered,r=i[t(159)]?i[t(152)](0):0,n=i[t(159)]?i[t(107)](i[t(159)]-1):0;s={start:r,end:n,diff:n-r}}return s}}const r_=n_;function n_(t,e){const s=o_();return(n_=function(t,e){return s[t-=425]})(t,e)}function o_(){const t=["TAG_NAME","428063tgrbKx","observe cpu fail","latestCpuInfo","then","currentLevel","pressureObserverCpu","observer","observe cpu success","player","1352964ZeSlPB","_init","find","5793015FFoUsg","destroy","debugLog","source","init","3GVlJnV","cpu","3100426WXJhQv","2340002EsrRbw","getCurrentCpuState","observeCpuSuccess","1595958eZnioc","20396008lBknMu","critical","PressureObserverCpu"];return(o_=function(){return t})()}!function(t,e){const s=n_,i=t();for(;;)try{if(849416===parseInt(s(451))/1+parseInt(s(442))/2*(parseInt(s(440))/3)+-parseInt(s(432))/4+parseInt(s(435))/5+parseInt(s(446))/6+parseInt(s(443))/7+-parseInt(s(447))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(o_);class a_{constructor(t){const e=n_;this[e(431)]=t,this[e(450)]=e(449),this[e(429)]=null,this.latestCpuInfo=null,this[e(427)]=-1,this[e(445)]=!1,this[e(433)](),this[e(431)][e(437)](this.TAG_NAME,e(439))}destroy(){const t=n_;this[t(429)]&&(this[t(445)]&&this[t(429)].disconnect(),this.observer=null),this[t(425)]=null,this[t(427)]=-1,this[t(431)][t(437)](this.TAG_NAME,t(436))}[r_(444)](){return this[r_(427)]}[r_(433)](){const t=r_;Js(si())?this[t(431)][t(437)](this[t(450)],"not support PressureObserver"):(this[t(429)]=new PressureObserver((e=>{const s=t,i=(e||[])[s(434)]((t=>{const e=s;return t[e(438)]===e(441)}));if(i){switch(this[s(425)]=i,i.state){case"nominal":this.currentLevel=0;break;case"fair":this[s(427)]=1;break;case"serious":this[s(427)]=2;break;case s(448):this[s(427)]=3;break;default:this[s(427)]=-1}this.player.emit(B[s(428)],this[s(427)])}})),this.observer&&this[t(429)].observe(t(441),{sampleInterval:1e3})[t(426)]((()=>{const e=t;this.observeCpuSuccess=!0,this[e(431)][e(437)](this[e(450)],e(430))})).catch((()=>{const e=t;this[e(445)]=!1,this.player[e(437)](this[e(450)],e(452))})))}}const h_=c_;function c_(t,e){const s=d_();return(c_=function(t,e){return s[t-=329]})(t,e)}!function(t,e){const s=c_,i=t();for(;;)try{if(975262===parseInt(s(343))/1*(-parseInt(s(357))/2)+-parseInt(s(359))/3*(-parseInt(s(370))/4)+parseInt(s(351))/5+parseInt(s(337))/6+-parseInt(s(349))/7+parseInt(s(352))/8+parseInt(s(355))/9*(parseInt(s(380))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(d_);class l_ extends Ir{constructor(t){const e=c_;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(t),this.TAG_NAME=e(361),this.isPauseAnimation=!1,this[e(331)]=!1,this[e(367)]=null,this[e(350)]=s,this[e(344)]=s.speed||.2,this[e(379)]=!0,this[e(348)]=null,this[e(334)]=!0===s.isGhost,this[e(334)]&&(this[e(332)]="GhostWatermark"),this.ghostConfig={on:s.on||5,off:s[e(364)]||5},this[e(358)]=!1,this[e(339)]=!1,this.player.once(B.start,this[e(342)][e(372)](this)),this[e(369)][e(329)](this[e(332)],e(353))}[h_(377)](){const t=h_;super[t(377)](),this[t(348)]=null,this[t(356)](),this[t(367)]&&(cancelAnimationFrame(this[t(367)]),this.rafID=null)}[h_(342)](){const t=h_,e=decodeURIComponent(b+t(347));let s=this[t(369)].getVideoInfo();!s&&(s={width:200,height:200}),this[t(363)]({text:{content:e,fontSize:this[t(350)].fontSize||18,color:this[t(350)].color||t(341)},left:s[t(366)]*Math[t(336)](),top:s[t(376)]*Math[t(336)](),opacity:this.options[t(375)]||.15}),this[t(362)]()}[h_(338)](){const t=h_;this[t(342)](),this[t(374)]()}[h_(362)](){const t=h_;if(!this[t(367)]){let e=1,s=1,i=Math[t(336)](),r={width:0,height:0};const n=()=>{const o=t;try{if(Js(this[o(360)])&&this.shadowRootDynamicDom&&this[o(354)]){const t=this.shadowRootInnerDom,a=this[o(348)],h=t.getBoundingClientRect(),c=a[o(373)]();if(c[o(366)]&&c[o(376)]&&(r.width=c[o(366)],r[o(376)]=c[o(376)]),!this[o(354)][o(346)](this.shadowRootDynamicDom))return this[o(334)]?Js(this.waterMarkWillAdd)&&(this[o(339)]=!0,setTimeout((()=>{const t=o;this[t(345)](h,r),this[t(339)]=!1}),1e3*this.ghostConfig[o(364)])):this._addDom(h,r),void(0!==this[o(344)]&&requestAnimationFrame(n));const l=Math.min(1,0===this[o(344)]?0:this.speed?this[o(344)]:.2);let d=c.left-h[o(368)],u=c[o(330)]-h.top;d+=l*s*i,u+=l*e*(1-i),d+r.width>h[o(366)]?(s=-1,i=Math[o(336)]()):d<0&&(s=1,i=Math[o(336)]()),u+r[o(376)]>h[o(376)]?(e=-1,i=Math[o(336)]()):u<0&&(e=1,i=Math[o(336)]()),d=Math[o(335)](h.width-r[o(366)],d),u=Math[o(335)](h[o(376)]-r[o(376)],u);const p=d/h.width*100,f=u/h[o(376)]*100;this[o(348)][o(333)][o(368)]=p+"%",this[o(348)][o(333)][o(330)]=f+"%",Js(this[o(358)])&&this[o(334)]&&(this[o(358)]=!0,setTimeout((()=>{const t=o;this._removeDom(),this[t(358)]=!1}),1e3*this[o(340)].on))}}catch(t){}if(this[o(331)])return this.isStopAnimation=!1,cancelAnimationFrame(this[o(367)]),void(this[o(367)]=null);0!==this[o(344)]&&requestAnimationFrame(n)};this[t(367)]=requestAnimationFrame(n)}}[h_(345)](t,e){const s=h_;if(this[s(354)]&&this[s(348)]){this[s(354)][s(378)](this[s(348)]);let i=t.width*Math[s(336)](),r=t[s(376)]*Math.random();i=Math.min(t.width-2*e[s(366)],i),r=Math.min(t[s(376)]-2*e.height,r),this.shadowRootDynamicDom.style[s(368)]=i+"px",this[s(348)][s(333)][s(330)]=r+"px"}}[h_(371)](){this[h_(360)]=!1}[h_(365)](){this[h_(360)]=!0}[h_(356)](){this.isStopAnimation=!0}}function d_(){const t=["isDynamic","30LdTNVs","debugLog","top","isStopAnimation","TAG_NAME","style","isGhost","min","random","1804932TLPtzJ","startAndResize","waterMarkWillAdd","ghostConfig","black","start","1dxhzyg","speed","_addDom","contains","%20%E4%BD%93%E9%AA%8C","shadowRootDynamicDom","9422819gRPuOC","options","1828165fqxSfe","10772512NUWqoC","int","shadowRootInnerDom","2589048tepkfo","stopAnimation","2364106QEQESD","waterMarkWillRemove","3zxmHLM","isPauseAnimation","DynamicWatermark","startAnimation","update","off","pauseAnimation","width","rafID","left","player","2509588RaZmml","resumeAnimation","bind","getBoundingClientRect","resize","opacity","height","destroy","appendChild"];return(d_=function(){return t})()}const u_=f_;!function(t,e){const s=f_,i=t();for(;;)try{if(269320===parseInt(s(184))/1*(parseInt(s(147))/2)+parseInt(s(151))/3+parseInt(s(129))/4+-parseInt(s(145))/5+parseInt(s(164))/6+parseInt(s(150))/7+-parseInt(s(156))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(m_);class p_ extends mi{constructor(t){const e=f_;super(),this[e(153)]=t,this[e(137)]=e(124),this[e(152)]=!1,this[e(140)]=!1,this[e(180)]=[],this[e(142)]=null,this[e(138)](),this[e(153)].on(B[e(160)],this[e(130)].bind(this)),this.player.debugLog(this.TAG_NAME,"init")}[u_(172)](){const t=u_;this[t(155)](),this[t(152)]=!1,this.isDragging=!1,this._removeRectBox(),this[t(167)](),this[t(153)][t(174)](this[t(137)],t(172))}_resetPoint(){const t=u_;this.startPagePoint={x:0,y:0},this[t(148)]={x:0,y:0},this[t(132)]={x:0,y:0}}[u_(130)](t){const e=u_;this[e(152)]=t,t?this[e(125)]():(this[e(155)](),this[e(170)]())}[u_(125)](){const t=u_,{events:{proxy:e}}=this[t(153)],s=e(this.player[t(179)],"mousemove",this[t(141)].bind(this)),i=e(this[t(153)][t(179)],t(126),this[t(143)][t(169)](this)),r=e(window,"mouseup",this.handleMouseUp.bind(this));this[t(180)][t(177)](s,i,r)}[u_(155)](){const t=u_;this[t(180)][t(134)]((t=>{t&&t()})),this[t(180)]=[]}[u_(170)](){const t=u_;if(this.$rectBox){if(!cm(this[t(142)])){const e=this[t(153)][t(179)].querySelector(".jb-pro-drawing-rect-box");e&&this.player[t(179)]&&this[t(153)][t(179)][t(133)](e)}this[t(142)]=null}}[u_(143)](t){const e=u_;if(t[e(146)](),!this.drawingRectangle)return;this._removeRectBox();const s=t[e(161)],i=t[e(168)];this.startPoint.x=s,this.startPoint.y=i,this[e(136)].x=t[e(176)]-this[e(153)][e(179)][e(163)],this.startPagePoint.y=t[e(175)]-this.player.$container[e(185)],this[e(142)]=document[e(135)](e(154)),this.$rectBox[e(139)][e(183)](e(178)),this[e(142)][e(173)][e(128)]=this[e(153)]._opt[e(149)]+e(181)+this[e(153)][e(159)].drawingRectColor,this[e(142)][e(173)].position=e(162),this[e(142)][e(173)][e(127)]=this.startPoint.x+"px",this.$rectBox[e(173)].top=this[e(148)].y+"px",this[e(153)].$container[e(171)](this[e(142)]),this[e(140)]=!0}[u_(141)](t){const e=u_;if(t.stopPropagation(),!this[e(140)])return;if(!this[e(152)])return;if(!this[e(142)])return;const s=this[e(153)][e(179)],i=this[e(153)][e(157)](),r=t[e(176)]-s[e(163)],n=t[e(175)]-s[e(185)];if(rh&&(o=h,this.endPoint.x=this[e(148)].x+o),a>c&&(a=c,this[e(132)].y=this[e(148)].y+a),this[e(142)][e(173)][e(165)]=o+"px",this.$rectBox[e(173)][e(158)]=a+"px"}[u_(182)](t){const e=u_;if(t[e(146)](),this[e(152)]&&this[e(140)]){t.preventDefault(),this[e(140)]=!1,this.player[e(159)][e(131)]&&this[e(170)]();const s={startPoint:this.startPoint,endPoint:this.endPoint,width:Math.abs(this.endPoint.x-this[e(148)].x),height:Math[e(166)](this[e(132)].y-this[e(148)].y)};this[e(153)][e(159)][e(144)],this[e(153)].emit(B.drawingRectInfo,s),this[e(138)]()}}}function f_(t,e){const s=m_();return(f_=function(t,e){return s[t-=124]})(t,e)}function m_(){const t=["stopPropagation","54JYvapF","startPoint","drawingRectLineWidth","982219lKAFhN","1183686ySINBu","drawingRectangle","player","div","_unbindEvents","9909816fUnZel","getControlHeight","height","_opt","drawingRect","offsetX","absolute","offsetLeft","2941350ZCNOIC","width","abs","off","offsetY","bind","_removeRectBox","appendChild","destroy","style","debugLog","pageY","pageX","push","jb-pro-drawing-rect-box","$container","bindEvents","px solid ","handleMouseUp","add","10259kiNlFO","offsetTop","DrawRectangle","_bindEvents","mousedown","left","border","2037680WVgfIn","_handleDrawingRect","drawingRectEndRemoveDom","endPoint","removeChild","forEach","createElement","startPagePoint","TAG_NAME","_resetPoint","classList","isDragging","handleMouseMove","$rectBox","handleMouseDown","isResize","1517350ZeLbID"];return(m_=function(){return t})()}const g_=y_;function A_(){const t=["isRateMoreThanMaxRate","seek()","round","increaseLocalTimestamp","_localOneFrameTimestamp","isPlaybackPauseClearCache","isSeeking","bufferSize","_checkStatsInterval","_isLessThanCurrentTime","_isUseLocalCalculateTime","resume"," < ","106156iVcOyN","_renderFps","_audioTimestamp","off","init","2285598SkgexE","emit","updateStats","length","_prevTs","getCurrentTime","_videoTimestamp","playVodTime","_isUseFpsRender","85851XjEyyt","seekingTimestamp","1157973xQGOgM","_currentLocalTimestamp","duration","_rate","timestamp ","isCacheBeforeDecodeForFpsRender","seek","stats","log","_startfpsTime","_startFpsTimestamp","setPlayingTimestamp","_isCacheBeforeDecodeForFpsRender","videoCurrentTime","PlayVod","_isEndedOnce","_listen","player","4546520UkhGFR","playVodSeek","playbackFps","clearUpAllSourceBuffer","_isPlaybackPauseClearCache"," > this.totalDuration ","TAG_NAME","setRate","setPlayingTimestamp()","totalDuration","$container","_seekingTimestamp","_fps","stringify","debug","playVodPause","uiUsePlaybackPause","_playingTimestamp","time","isSeekingLessThanCurrentTime","3ZzmtsR","1208TVUkAu","_playbackTs","jb-pro-container-play-vod","_isEnded","_totalDuration","startTime","remove","isPlayVodUseMSE","setStartTime","playVodSeekEnd","removeSeekingTimestamp","audio","updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is ","abs","playingTimestamp","_showPrecision","pause","_startTime","clearStatsInterval","isEnded","add","isEnded()","playVodRateChange","updateDuration","2871354zgGmqs","isUseFpsRender","_opt","fps","_localCalculateTimeInterval","video","classList","isPlaying","isUseLocalCalculateTime","2147411JiLONP","playVodForwardMaxRateDecodeIFrame","mseDecoder","destroy","_removeSeekingTimestamp","rate"];return(A_=function(){return t})()}function y_(t,e){const s=A_();return(y_=function(t,e){return s[t-=315]})(t,e)}!function(t,e){const s=y_,i=t();for(;;)try{if(661158===-parseInt(s(399))/1+parseInt(s(388))/2+-parseInt(s(330))/3*(parseInt(s(383))/4)+-parseInt(s(417))/5+parseInt(s(355))/6+-parseInt(s(364))/7+parseInt(s(331))/8*(parseInt(s(397))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(A_);class b_ extends mi{constructor(t,e){const s=y_;super(),this[s(416)]=t,this[s(316)]=s(413),this[s(416)][s(320)][s(361)][s(351)](s(333)),this[s(346)]=null,this[s(348)]=null,this._playingTimestamp=null,this[s(322)]=parseInt(e.fps,10)||t[s(357)][s(419)],this[s(396)]=!!qs(e.isUseFpsRender),this[s(402)]=1,this[s(385)]=0,this._videoTimestamp=0,this._currentLocalTimestamp=0,this._localOneFrameTimestamp=e.localOneFrameTimestamp||40,this._localCalculateTimeInterval=null,this[s(380)]=!!qs(e.isUseLocalCalculateTime),this[s(421)]=!Js(e[s(375)]),this[s(411)]=!!qs(e.isCacheBeforeDecodeForFpsRender),this[s(408)]=null,this[s(409)]=null,this._checkStatsInterval=null,this[s(332)]=0,this[s(384)]=0,this[s(321)]=null,this._isLessThanCurrentTime=!1,this._isEnded=!1,this[s(414)]=!1,this[s(415)](),this._totalDuration=0,e[s(401)]&&(this[s(335)]=1e3*e[s(401)]);let i=e[s(336)]||0;i>this.totalDuration&&(i=qe(this[s(319)],10)),this.setStartTime(i),this[s(416)].on(B[s(325)],(t=>{t?this[s(347)]():this.resume()}));const r={fps:this[s(322)],isUseFpsRender:this[s(396)],localOneFrameTimestamp:this[s(374)],isUseLocalCalculateTime:this[s(380)],uiUsePlaybackPause:e[s(326)],showControl:e.showControl};t[s(324)][s(407)](this[s(316)],s(387),JSON[s(323)](r))}[g_(367)](){const t=g_;this[t(348)]=null,this[t(346)]=null,this[t(327)]=null,this[t(335)]=0,this._audioTimestamp=0,this[t(394)]=0,this[t(322)]=null,this[t(396)]=!1,this[t(402)]=1,this._localCalculateTimeInterval=null,this[t(400)]=0,this._startfpsTime=null,this[t(409)]=null,this._renderFps=0,this._playbackTs=0,this[t(392)]=0,this[t(414)]=!1,this._isEnded=!1,this._stopLocalCalculateTime(),this[t(349)](),this[t(416)][t(320)]&&this[t(416)].$container.classList[t(337)]("jessibuca-container-play-vod"),this[t(386)](),this.player.debug[t(407)](this[t(316)],t(367))}_listen(){const t=g_;this[t(416)].on(B[t(406)],(e=>{const s=t;if(this[s(416)][s(325)])return;let i=e.ts;this[s(416)][s(338)]()&&(this[s(416)][s(362)]()&&0===e.videoCurrentTimeDiff&&(this[s(416)].debugWarn(this[s(316)],s(343)+e[s(412)]+"\n and next update video currentTime"),this[s(416)][s(366)].updateVideoCurrentTimeByBufferStart()),i=1e3*e[s(412)]),this[s(410)](i),this[s(392)]=i,this.checkIsEnded()}))}checkIsEnded(){const t=g_;this.isEnded()&&(this[t(334)]=!0,this[t(368)](),this[t(416)][t(389)](B.playVodEnded))}[g_(350)](){const t=g_;let e=!1;if(this[t(334)])return!0;this[t(416)][t(338)]()&&this[t(416)][t(360)]&&this[t(416)].video.isEnded()&&(e=!0);const s=Math[t(344)](this[t(345)]-this[t(335)]);return s<700&&(this[t(414)]&&(this[t(416)][t(324)].log(this.TAG_NAME,t(352),"diff playingTimestamp is "+this[t(345)]+" and totalDuration is "+this[t(335)]+" "+s+t(382)+700),e=!0),!this[t(414)]&&(this._isEndedOnce=!0)),e}[g_(354)](t){this[g_(335)]=1e3*t}[g_(347)](){this[g_(349)]()}[g_(381)](){this.startCheckStatsInterval()}[g_(390)](){const t=g_;let e=arguments[t(391)]>0&&void 0!==arguments[0]?arguments[0]:{};!this[t(409)]&&(this[t(409)]=Be()),cs(e.ts)&&(this[t(416)][t(390)]({fps:!0,ts:e.ts}),this[t(332)]=e.ts,!this[t(408)]&&(this[t(408)]=e.ts),this[t(384)]+=1);const s=Be(),i=s-this[t(409)];if(i<1e3)return;let r=null;this[t(408)]&&(r=this._playbackTs-this[t(408)]),this[t(416)].emit(B.playVodStats,{fps:this[t(384)],rate:this[t(369)],start:this[t(408)],end:this._playbackTs,timestamp:i,dataTimestamp:r,audioBufferSize:this[t(416)][t(342)]?this.player.audio[t(377)]:0,videoBufferSize:this[t(416)][t(360)]?this[t(416)][t(360)][t(377)]:0,ts:this[t(332)]}),this[t(384)]=0,this[t(408)]=this[t(332)],this[t(409)]=s}updateLocalOneFrameTimestamp(t){this[g_(374)]=t}startCheckStatsInterval(){const t=g_;this.clearStatsInterval(),this[t(378)]=setInterval((()=>{this[t(390)]()}),1e3)}_stopLocalCalculateTime(){const t=g_;this[t(359)]&&(clearInterval(this[t(359)]),this._localCalculateTimeInterval=null)}[g_(349)](){const t=g_;this[t(378)]&&(clearInterval(this[t(378)]),this._checkStatsInterval=null)}[g_(373)](){const t=g_;this._isUseLocalCalculateTime&&(this[t(400)]+=this._localOneFrameTimestamp)}get[g_(319)](){return Math[g_(372)](this._totalDuration/1e3)}get startTime(){return this[g_(348)]||0}[g_(339)](t){const e=g_;this[e(348)]=t,this[e(327)]=t}[g_(317)](t){const e=g_;this._rate=t,this[e(416)][e(389)](B[e(353)],t)}get[g_(358)](){return this[g_(322)]}get[g_(369)](){return this[g_(402)]}get[g_(356)](){return this[g_(396)]}get[g_(363)](){return this._isUseLocalCalculateTime}get[g_(375)](){return this._isPlaybackPauseClearCache}get[g_(404)](){return this[g_(411)]}[g_(410)](t){const e=g_;let s;s=this.startTime+Math[e(372)](t/1e3),s>this[e(319)]&&(this[e(416)].debug[e(407)](this[e(316)],e(318),e(403)+s+e(315)+this[e(319)]),s=this.totalDuration),this[e(327)]=s,this[e(416)][e(389)](B[e(395)],s),this[e(392)]&&this[e(392)]}get playingTimestamp(){return 1e3*this[g_(327)]}[g_(393)](){return this[g_(345)]/1e3}get[g_(398)](){const t=g_;return null===this[t(321)]?null:1e3*this[t(321)]}[g_(376)](){return null!==this[g_(321)]}[g_(329)](){const t=g_;return this[t(376)]()&&this[t(379)]}[g_(368)](){const t=g_;this._seekingTimestamp=null,this[t(379)]=!1}[g_(341)](){const t=g_,e=this[t(321)];this._removeSeekingTimestamp(),this[t(416)].emit(B[t(340)],e)}[g_(405)](t){const e=g_;let s=t.time;if(s>this.totalDuration&&(s=parseInt(this[e(319)],10)),s<0&&(s=0),this[e(416)][e(324)][e(407)](this.TAG_NAME,e(371),t[e(328)],s),this[e(321)]=s,this[e(416)][e(389)](B[e(418)],s),this[e(416)][e(338)]()){const t=this.player[e(360)].getCurrentTime();this._isLessThanCurrentTime=s=this[t(416)][t(357)][t(365)]}}const v_=S_;function S_(t,e){const s=w_();return(S_=function(t,e){return s[t-=454]})(t,e)}function w_(){const t=["setRate","fps","demuxBufferDelay"," and window.JbProObjectDetector is null","_tempWorkerStats","downloadNakedFlowFile","toggleExtendBtn","getPlayToRenderTimes","checkHeartTimeout$2 and\n pause and emit delayTimeout event and\n current vbps is ","play is destroying","contains","_opt","isControlBarShow","clearExtendHtml","checkStatsInterval","aiFace","pageVisibilityHiddenTimeout","getMseVideoBufferDelayTime","isNotMute","and update _opt.hasVideo","removeDynamicWatermark","349329GnIHTo","decoderAudio","toggleExtendDom","showTipsMessage","emitVideSeiSyncPts","visibilityChange","faceDetectActive","getExtendHtml","getRecordingDuration","init and version is","screenshot","clearCheckLoadingTimeout","1542BgkCFk","getVideoPlaybackQuality","aiImageDetectActive","loadingBackgroundWidth","getDecodeDiffTimes","isNakedFlowDemux","demuxType","TAG_NAME","isPlayStream","addExtendDom","loaded","_destroyed","click","playbackTF","checkVideoSmooth","updateHistoryFpsList","dynamicWatermarkConfig","_destroy","use wasm","3484NhcfjJ","isOldHls or isWebrtcH264 or isAliyunRtc is true, so set some params false and set _opt.recordType = webm","useMSE","decoder-pro-simd-mt.js","hasAudio","getIsStreamTsMoreThanLocal","play","small","isVideoPlaying","destroy","getRenderElement","webTransport","ptz","mp4","hasInit","_mseWorkerData","container width is 0, please check the container width","recording","latestDelay","shift","use offscreen","getControlHtml","getPlayVodCurrentTime","getDemuxAudioBufferedListLength","isLoading","downloadMpeg4File","initPlaybackCacheLoop","_hasLoaded","32IGBHCL","getInputByteLength","viewResizeChange","useObjectDetector","isMpeg4 is true, so set _opt.useWasm true and others params false","_faceDetectActive","videoTimestamp","isMSEPlaybackRateChangePause","useWebGPU is true, but not support so set useWebGPU false","_videoIframeIntervalTs","clearBufferDelay","delayTimeout","checkLoadingTimeout but loading is ","height","$controlHtml","_seiList","isMseDecoderUseWorker","isDemuxInWorker","isPlaybackRateSpeed","isResize","flv","filter","_playing","playVod is null","_startBpsTime"," and bufferEndTime is ","then","websocket1006ErrorReplay","isDropping","streamEndReplay","getDecodePlaybackRate","playback","getVideoCurrentTime","cancelRecord","useWebGPU","pauseForControl() and loadingBackground width is ","timeout","sendMessage","togglePerformancePanel","isWebrtcH265","_times","checkLoadingTimeout","mseWaitVideoCanplayTimeout ","getRecordingByteLength","isFmp4","occlusionDetect","wcsUseVideoRender","mseWaitVideoCanplayAutoWasm","isUseHls265","downloadFmp4File","_closed","checkHeartTimeout$2 but fps is not all zero","playing","streamErrorReplay","getCanvasRenderType","setPtzPosition","mseDecoder","fetchStream"," is greater than loadingTimeout ","isWebrtcForM7S","_tempTsList","getRenderCurrentPts","isFullResize","decoderWorker","lastVolume","multiIndex","keys","decoder","isUseHls265UseMse","control","audio","wasmDecodeErrorReplay","videoIframeIntervalTs","memoryLog","preferredHardDecode","wasmPlayAudioUseVideoRender","now","mediaSourceUseCanvasRenderPlayFailedReplay"," ,isIphone is ","_stats","$iconContainer","loadingTimeout","getStreamType","contextmenu","JessibucaProFaceDetector","setScaleMode","extendOperateBtns","decoder-pro-hard.js","updateWorkConfig","checkVideoSmooth false because videoCurrentTimeDiff is ","getMetaData","843lIUWrV","_streamQuality","watermarkConfig","enableWakeLock","isStreamEnd","isEmitSEI","Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng","checkVideoSmooth false because ","_objectDetectActive","toggleControlBar","keepScreenOn","buf","playTimestamp","isWebrtc","innerHTML","wcsUseVideoRender is true, but not support so set wcsUseVideoRender false","isMSEAudioDecoderError","demuxStart","\n useWCS is true,\n and supportWCS is ","loading","websocketError","reason","wasm","MetaDataCreator","_playVodPause","_flvMetaDataFps","getType","isDecodeFirstIIframe","_isInZoom",".mpeg4","useFaceDetector","getReadyStateInited","$videoElement","use object detector, useWasm is ","_destroyLock","url is empty","getPlayVodRate","removeExtendDom","useWCS","hlsUseCanvasRender","mseDecoderUseWorker is true but not support so set _opt.mseDecoderUseWorker = false","background","videoCurrentTime","_drawingRect","updateWatermark","playType","audioTimestamp","use wasm video render play audio, but not support so set wasmPlayAudioUseVideoRender false","removeGhostWatermark","assign","log","use face detector, useWasm is ","result","zoom","poster","_historyVideoDiffList","addAiContentToCanvas","Player options","oneBufferDuration","addContentToContainer","flvMetaData","mseTs","defaultStreamQuality","_loading","recorder is null","isHls is true and demuxUseWorker is true then demuxUseWorker set true->false","isPlayVodUseMSE","aiOcclusion","use webrtc for ZLM","webglAlignmentErrorReplay","isFmp4Demux","isPlaybackUseWASM","isFirefox is true, so set _opt.mseDecodeAudio false","resetStats","checkVideoSmooth false because ","videoBufferDelay","hls","isPlayVodSeeking","webFullscreen","toggleControlHtml","stopRecordAndSave","error","remove","controlHtml","playVodBackwordJumping","isPlayVodNotUseMSE","maxFps","playbackForwardMaxRateDecodeIFrame","mseDecodeAudio","playbackConfig","loadingBackgroundHeight","isPlaying","playForControl() and pauseAndNextPlayUseLastFrameShow is ","getExtendHtmlIsShow","handleRender but player is destroyed or closed","decoder-pro-audio.js","updateMetaData","videoBuffer","download","update","aliyunRtcDecoder","decoderWorkerInit","getVideoBufferTimeRange","catch","isMSEVideoDecoderInitializationFailedNotSupportHevc","startRecord","isDroppingIsTrue","push","videoElementPlayingFailedReplay","loadingBackground","isAliyunRtc","isPlayer","simdDecodeErrorReplay","isWebrtcNotH265","use webrtc for M7S","base64","zooming","pTs","decoderCheckFirstIFrame","ghostWatermark",", supportHevcWCS is ","isNakedFlow is true, so set _opt.mseDecodeAudio false","streamEnd","getAudioInfo","videoSEI","decoder-pro-simd.js","playInitStart","demux","$activeIconWrap","videoRenderSupportScale","floor","removeWatermark","checkStreamEnd","use webrtc for SRS","isOldHls","use image detector, useWasm is ","hideTipsMessage","isEnabled"," , _opt.isH265 is ","addMemoryLog","isPlayUseMSE","sendWebsocketMessage","webrtcError","getExtendBtnList","use webrtc for Others","webrtc","JessibucaProOcclusionDetector","getPendingSegmentsLength","aliyunRtc","isLastVideoDiffIsZero","fpsIsLow","screenfull.isEnabled is false and _opt.useWebFullScreen is false , set _opt.useWebFullScreen true","widthOrHeightChangeReplay","bufferList","isPlayVodMp4","mp4Decoder","visibility","checkPlaybackEnd","width","_opt.playFailedAndReplay is false and set others replay params false","reduce","showControl","Player","debugWarn","auto","wasmUseVideoRender","_allStatsData","init() failed and player is destroyed","url","operateBtns","decoder-pro-hard-not-wasm.js","_occlusionDetectActive","_playingStartTimestamp","getControlHeight","clearVisibilityHiddenTimeout","useVideoRender","decoderOld","useOcclusionDetector","fullscreen","simdH264DecodeVideoWidthIsTooLargeReplay","use aliyun rtc","isPlaybackUseWCS","androidMobileFullscreenRotate","occlusionDetectActive","isRecordTypeFlv","getMimeType","video","heartTimeoutReplay","-simd","server","_audioTimestamp","forceNoOffscreen","releaseWakeLock","pushTempStream","streamQuality","controlSize","videoStart","_flvMetaData","getVideoInfo","_playbackPause","checkLoadingTimeout but player is destroyed","use WCS","useCanvasRender","isStreamWebTransport"," and window.JessibucaProOcclusionDetector is null","clearBuffer","_isMute","useImageDetector","\n and current ts list is "," and window.JessibucaProImageDetector is null","emit","useWebFullScreen",") so set useSIMD false","hiddenControl","visibilityHiddenTimeout","addContentToCanvas","checkHeartTimeout$2 playbackPause is ","_isStreamEnd","location","player","href","showTipsMessageByContent","drawRectangle","close","enable","imageDetectActive","isAudioMute","stats","checkHlsBufferedDelay","playStart","isUseWorkerDemuxAndDecode","updateStats","singleWatermark","_latestAudioTimestamp","webrtcUseCanvasRender","hasVideo","events","checkFirstIFrame","playVodConfig","_checkVisibleHiddenTimeout","allTimestamp","substring","_videoTimestamp","full","_historyFpsList","checkIsInRender","mute","mseDecoderUseWorker","getCanvasType","name","stream","resize","videoCurrentTimeDiffIsNotNormal","_opt.qualityConfig is empty, so set operateBtns.quality false","mseUseCanvasRender","disable","pauseAndNextPlayUseLastFrameShow","checkSourceBufferDelay","updateControlSize","playbackPauseOrResume","startAndResize","checkVideoSmooth false\n because fps is ","debug","getBufferListLength","getFps","isSeeking"," and window.JbProFaceDetector is null","abps","isPlaybackUseMSE","isWebrtc is true and demuxUseWorker is true then demuxUseWorker set true->false","decodeTimestamp","isMSECurrentMoreThanBufferedPause","isWebrtcForSRS","quality","dts","max","vbps","stringify","playVodPause","use occlusion detector, useWasm is ","getControlHtmlIsShow","useSIMD is true, but not support(isSupportSimd is ","getControlBarShow","autoWasm","_pauseInner()","isPlayVod is true and demuxUseWorker is true then demuxUseWorker set true->false","pauseForControl","streamResponseTimestamp","objectDetectActive","currentTime","useMThreading","getPlaybackRate","use wasm video render, but not support so set wasmUseVideoRender false","webm","isCacheBeforeDecodeForFpsRender","join","isUseMSE","streamBuffer","JessibucaProImageDetector","isDestroyed","recordType","getAllStatsData","isRecordTypeMp4","debugLog","getBarIsShow","nakedFlow","_serverInfo","drawingRect","\n so set useWCS false","822825oFAfZa","simd","vbpsIsZero","isHls","859770Royttj","useWasm","websocket","getExtendDom","checkSourceBufferStore","rate","streamBufferByteLength","_checkHeartTimeout","getExtendDomIsShow","getRenderType","playToRenderTimes","worker","isWebrtcH264","replace","2301230YRdUFZ","wasmDecodeDelay","play() this.stream is null and is isDestroyedOrClosed is ","toggleControlExtendBtn","volumechange","beforeDestroy","isStreamTsMoreThanLocal","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码)","updateStats but player is closed or destroyed","getHistoryVideoDiffList","emitError","streamResponse","isUseFpsRender","fetchError","setPlayFailedAndPaused","useVideoPlayAudio","isDestroyedOrClosed","mseVideoBufferDelayTime","isPlayFailedAndPaused","clearView","playbackPause","doDestroy","disableContextmenu","pts","use hls 265","container height is 0, please check the container height","length","_zooming","JessibucaProObjectDetector","getCanvasVideoBufferLength","fullAuto","checkVideoSmooth and videoCurrentTimeDiff is 0 so check\n videoCurrentTime is ","isWebrtcForZLM","isPlayVod","isWCSDecodeAudio","screenfull.isEnabled is true and _opt.useWebFullScreen is true , set _opt.useWebFullScreen false","recorder","default","mpeg4","_close","showTipsMessageByCode","streamSuccess","and update _opt.hasAudio","$extendDom","streamQualityChange","getExtendBtnActive","isDebug","wcsDecodeAudio","resumeAudioAfterPause","setExtendHtml","data:image/png;base64,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","getDecodeType","playVod","toggleBar","canvas","streamStart","_isPlayingBeforePageHidden","_imageDetectActive","dfps","hlsError","use MSE","controlAutoHide","isTsDemux","isPlayback","pushLatestDelay","use wcs video render, but not support so set wcsUseVideoRender false","2980EXmXGB","useMSE is true and forceNoOffscreen is false then forceNoOffscreen set false->true","getAudioEngineType","createObjectURL","hasControl","demuxTimestamp","isPlaybackOnlyDecodeIFrame","aiObject","isWebrtcForOthers","isHistoryFpsListAllZero","decoder-pro.js","m7s","decoderHard","videoCurrentTimeDiff","set volume error, audio is null","updateStreamEndInner","\n useMSE is true,\n and supportMSE is ","resetInit","toFixed","334404lhfqbq","performance"," and playing is ","videoSEISyncPtsDiff","isDemuxDecodeFirstIIframeInit","isDemuxSetCodecInit","videoRenderType","_hasControl","_tempStreamList","isRecording","once","isHlsCanVideoPlay","webcodecsDecoder","wcs","getMseMineType","audioDemuxBufferDelay","this.stream is null","_lastestVisibilityChangeTimestamp","isInWebFullscreen","startVisibilityHiddenTimeout","decoderHardNotWasm","start","qualityConfig","createElement","latestAudioTimestamp","png","setControlHtml","useMSE is true and useWCS is true then useWCS set true->false","getDemuxBufferLength","isMpeg4"," and\n current visibility is ","isClosed","useCanvasRender is true and useVideoPlayAudio() return true, so set wcsDecodeAudio false","currentPts","flvDemuxBufferSizeTooLarge","isIOS or isSafari and canPlayAppleMpegurl","handleRender","toggleExtendHtml","use hls","loadingTimeoutReplay","updateExtendDom","isEnded","_visibility","pauseForControl() and loadingBackground is null","decoderErrorAutoWasm","netBuf","isNakedFlow","hlsDecoder","flvDemuxBufferSizeMaxLarge","recorder is not recording","_lastVolume","decoder-pro-old.js","getCpuLevel","forEach","use mpeg4","playForControl","_tempInnerPlayBgobj","getVideoBufferDelayTime","offscreen","dynamicWatermark","wcsDecodeErrorReplay","isInMulti","isMseVideoStateInited","URL","updateLoadingText","updateOption","$container","_checkStatsInterval","use worker MSE","updateDynamicWatermark","getCurrentCpuState","indexOf","pressureObserverCpu","heartTimeout","checkHeartTimeout$2","useOffscreen","player is closed, so can not play","getOption","syncAudioAndVideo","_canPlayAppleMpegurl","decodeStart","demuxUseWorker","emitVideoSei","clearStatsInterval","getPlayingTimestamp","volume","decoder-pro-mt.js","startCheckStatsInterval","isStreamTypeNotWorker","getCurrentVideoAndAudio","downloadMemoryLog","is wcsDecodeAudio true and demuxUseWorker is true then demuxUseWorker set true->false","_checkLoadingTimeout","\n so set useMSE false","sendWebsocketMessage: stream type is not websocket, current stream type is ","wcsDecodeAudio is true, but not support so set wcsDecodeAudio false","mseWaitVideoCanplayTimeout","useSIMD","classList","showBandwidth","supportHls265","isH265","jb-pro-fullscreen-web","getDemuxType","isM7SDemux","playVodSeek","videoSmooth"];return(w_=function(){return t})()}!function(t,e){const s=S_,i=t();for(;;)try{if(302595===-parseInt(s(798))/1+parseInt(s(571))/2+parseInt(s(948))/3*(parseInt(s(829))/4)+parseInt(s(651))/5*(-parseInt(s(810))/6)+-parseInt(s(670))/7*(parseInt(s(857))/8)+parseInt(s(567))/9+parseInt(s(585))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(w_);class E_ extends mi{constructor(t){const e=S_;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this._opt={},this.TAG_NAME=e(1110),this.$container=t;const i=Qs();if(this[e(788)]=Object[e(997)]({},i,s),this[e(520)]=new Ht(this),this[e(561)](this[e(817)],e(807),Ve+":"+Ne),this[e(788)][e(1139)]=!0,this._canPlayAppleMpegurl=!1,(Ye()||Qe())&&(this[e(749)]=Ds(),this[e(561)](this[e(817)],e(705),this[e(749)])),this[e(788)].autoUseSystemFullScreen&&(qs(Jt.isEnabled)&&qs(this._opt.useWebFullScreen)&&(this.debugLog(this[e(817)],e(620)),this[e(788)][e(469)]=!1),Js(Jt[e(1085)])&&Js(this._opt[e(469)])&&(this[e(561)](this[e(817)],e(1099)),this[e(788)].useWebFullScreen=!0)),Zs()&&(this.debugLog(this[e(817)],"isIphone and set _opt.videoRenderSupportScale false"),this[e(788)][e(1077)]=!1,Is()&&qs(this._opt.isHls)&&Js(this[e(788)][e(770)])&&(this[e(561)](this[e(817)],"isIphone and is in wechat and is hls so set supportHls265 true"),this._opt[e(770)]=!0)),Js(this[e(788)].playFailedAndReplay)&&(this.debugLog(this[e(817)],e(1107)),this[e(788)][e(1017)]=!1,this[e(788)].webglContextLostErrorReplay=!1,this[e(788)][e(541)]=!1,this[e(788)].mseDecodeErrorReplay=!1,this[e(788)].mediaSourceTsIsMaxDiffReplay=!1,this[e(788)][e(730)]=!1,this[e(788)][e(928)]=!1,this[e(788)][e(1060)]=!1,this._opt[e(1056)]=!1,this[e(788)].networkDelayTimeoutReplay=!1,this[e(788)][e(1100)]=!1,this[e(788)][e(1127)]=!1,this[e(788)][e(934)]=!1,this._opt[e(1135)]=!1,this[e(788)][e(709)]=!1,this._opt[e(884)]=!1,this[e(788)][e(910)]=!1,this[e(788)][e(886)]=!1,this._opt[e(904)]=!1),this[e(788)][e(471)]&&(this[e(561)](this[e(817)],"_opt.hiddenControl is true and set others show btn to false"),Object[e(923)](this[e(788)][e(1117)]).forEach((t=>{const s=e;this[s(788)][s(1117)][t]&&-1===(""+t)[s(741)]("Fn")&&(this._opt.operateBtns[t]=!1)})),this[e(788)][e(769)]=!1,this[e(788)].extendOperateBtns=[],this[e(788)].controlHtml="",this[e(648)]()&&(this[e(788)][e(1037)][e(1109)]=!1)),this._opt[e(931)]&&(this._opt[e(831)]=!0,this[e(788)][e(986)]=!0,this[e(788)][e(714)]=!1,this[e(788)][e(1036)]=!0,this[e(788)][e(632)]=!0,this[e(788)].mseDecoderUseWorker=!0),this[e(788)].watermarkConfig={image:{src:e(635),width:75,height:24},opacity:.1,right:10,top:10},!this[e(788)].forceNoOffscreen&&(typeof OffscreenCanvas===Ks(640)?(this[e(788)][e(1139)]=!0,this[e(788)][e(745)]=!1):this[e(788)].useOffscreen=!0),this[e(788)][e(699)]&&(this[e(561)](this.TAG_NAME,e(861)),this[e(788)][e(986)]=!1,this[e(788)][e(831)]=!1,this[e(788)].isNakedFlow=!1,this._opt.useSIMD=!1,this[e(788)].isFmp4=!1,this[e(788)][e(572)]=!0),this[e(648)]()&&(qs(this[e(788)].useMSE)&&qs(this[e(788)][e(505)])&&this[e(561)](this.TAG_NAME,"isPlayback and mseDecoderUseWorker is true, so set mseDecoderUseWorker false"),this[e(788)][e(505)]=!1),this[e(618)]()&&(this[e(788)].mseDecoderUseWorker=!1),this[e(788)][e(1002)]&&(this[e(788)][e(989)]=this[e(788)].poster),Js(this._opt.muted)&&(this[e(788)][e(795)]=!0),this._opt[e(505)]&&(this[e(788)][e(505)]=function(){const t=Re;return!!(jt[t(447)]&&jt.MediaSource&&t(689)in jt[t(628)]&&!0===jt[t(628)][t(689)])}(),Js(this._opt[e(505)])&&this[e(561)](this[e(817)],e(988))),(this.isOldHls()||this.isWebrtcH264()||this.isAliyunRtc())&&(this.debugLog(this.TAG_NAME,e(830)),this[e(788)].useWCS=!1,this._opt[e(831)]=!1,this[e(788)][e(716)]=!1,this._opt.useSIMD=!1,this[e(788)].isFmp4=!1,this[e(788)][e(572)]=!1,this[e(788)][e(558)]=l[e(551)]),this[e(788)].isNakedFlow&&(this[e(561)](this[e(817)],e(1069)),this[e(788)][e(1036)]=!1),We()&&(this[e(561)](this[e(817)],e(1020)),this[e(788)][e(1036)]=!1),!this[e(1082)]()&&!this[e(583)]()){if(this._opt[e(986)]){const t=function(){const t=Re;let e=!1;return t(531)in jt&&typeof jt[t(531)]===t(673)&&(e=!0),e}(),s=is();this._opt[e(986)]=t,this[e(788)][e(986)]&&this[e(788)][e(771)]&&(this._opt[e(986)]=s),!this[e(788)][e(986)]&&this[e(1111)](this[e(817)],e(966)+t+e(1068)+s+" , _opt.isH265 is "+this[e(788)].isH265+e(566)),this._opt[e(986)]&&(this[e(788)].wcsDecodeAudio&&(this[e(788)][e(632)]=function(){const t=Re;let e=!1;return"AudioDecoder"in jt&&typeof jt[t(607)]===t(673)&&(e=!0),e}(),!this[e(788)][e(632)]&&this[e(1111)](this.TAG_NAME,e(765))),this._opt[e(745)]?this[e(788)].wcsUseVideoRender=!1:this[e(788)][e(903)]&&(this[e(788)].wcsUseVideoRender=rs()&&ns(),!this[e(788)][e(903)]&&this[e(1111)](this[e(817)],e(963))))}if(this[e(788)][e(831)]){const t=function(){const t=Re;let e=!1;return t(628)in jt&&typeof jt.MediaSource===t(673)&&typeof jt[t(628)][t(698)]===t(673)&&(e=!0),e}()||function(){const t=Re;let e=!1;return!(t(628)in jt)&&"ManagedMediaSource"in jt&&typeof jt[t(660)]===t(673)&&typeof jt.ManagedMediaSource[t(698)]===t(673)&&(e=!0),e}(),s=ss()||function(){const t=Re;let e=!1;return!("MediaSource"in jt)&&"ManagedMediaSource"in jt&&jt[t(660)]&&(jt[t(660)][t(698)](Z[t(532)])||jt[t(660)].isTypeSupported(Z[t(669)])||jt[t(660)][t(698)](Z.hev3)||jt[t(660)][t(698)](Z[t(655)])||jt[t(660)][t(698)](Z[t(622)]))&&(e=!0),e}();this[e(788)][e(831)]=t,this[e(788)][e(831)]&&this[e(788)][e(771)]&&(this[e(788)][e(831)]=s),!this[e(788)][e(831)]&&this[e(1111)](this[e(817)],e(667)+t+", supportHevcMSE is "+s+e(1086)+this[e(788)][e(771)]+e(763))}}if(Js(this[e(788)][e(831)])&&(this[e(788)].mseDecodeAudio=!1),Js(this._opt[e(986)])&&(this[e(788)][e(632)]=!1),this[e(788)].useMSE?(this[e(788)][e(986)]&&this[e(1111)](this[e(817)],e(697)),!this._opt[e(1139)]&&this[e(1111)](this[e(817)],e(652)),this._opt.useWCS=!1,this[e(788)].forceNoOffscreen=!0):this[e(788)][e(986)],this[e(788)][e(961)]&&this._opt[e(751)]&&(this[e(1111)](this.TAG_NAME,e(527)),this[e(788)][e(751)]=!1),this._opt[e(570)]&&this[e(788)][e(751)]&&(this[e(1111)](this[e(817)],e(1013)),this[e(788)][e(751)]=!1),this[e(618)]()&&this._opt.demuxUseWorker&&(this[e(1111)](this[e(817)],e(543)),this[e(788)].demuxUseWorker=!1),this[e(788)][e(1058)]&&this[e(788)][e(751)]&&(this[e(1111)](this[e(817)],"isAliyunRtc is true and demuxUseWorker is true then demuxUseWorker set true->false"),this[e(788)][e(751)]=!1),this[e(461)]()&&this[e(788)].demuxUseWorker&&(this[e(1111)](this.TAG_NAME,"is stream use webTransport is true and demuxUseWorker is true then demuxUseWorker set true->false"),this[e(788)][e(751)]=!1),this[e(788)][e(632)]&&this._opt[e(751)]&&(this[e(1111)](this[e(817)],e(761)),this[e(788)].demuxUseWorker=!1),Js(this[e(788)][e(751)])&&(this[e(788)][e(505)]=!1),(this[e(648)]()||this[e(618)]())&&(this[e(788)][e(505)]=!1),this[e(788)][e(548)]&&(this[e(788)][e(548)]=typeof SharedArrayBuffer!==Re(640),!this._opt.useMThreading&&this[e(1111)](this[e(817)],"useMThreading is true, but not support so set useMThreading false")),this[e(788)].useSIMD||-1!==this._opt.decoder[e(741)](e(1136))){const t=WebAssembly[Re(692)](new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),s=Zs();this[e(788)].useSIMD=t&&Js(s),!this[e(788)][e(767)]&&this.debugWarn(this[e(817)],e(539)+t+e(935)+s+e(470))}this._opt[e(767)]?-1===this[e(788)][e(924)].indexOf("-simd")?this[e(788)][e(548)]?this._opt[e(924)]=this[e(788)][e(924)].replace(e(661),e(832)):this[e(788)][e(924)]=this._opt[e(924)][e(584)](e(661),"decoder-pro-simd.js"):this[e(788)][e(548)]&&(this[e(788)][e(924)]=this[e(788)].decoder[e(584)](e(1073),e(832))):-1!==this[e(788)].decoder.indexOf(e(1136))?this[e(788)].useMThreading?this[e(788)][e(924)]=this[e(788)].decoder[e(584)](e(1073),e(756)):this._opt[e(924)]=this[e(788)][e(924)][e(584)](e(1073),e(661)):this[e(788)][e(548)]&&(this[e(788)][e(924)]=this[e(788)][e(924)][e(584)]("decoder-pro.js","decoder-pro-mt.js")),-1!==this[e(788)][e(924)][e(741)]("-simd")?this[e(788)][e(548)]?(this[e(788)][e(799)]=this[e(788)].decoder[e(584)](e(832),e(1043)),this[e(788)][e(663)]=this[e(788)][e(924)].replace(e(832),"decoder-pro-hard.js"),this._opt[e(690)]=this._opt[e(924)][e(584)](e(832),e(1118)),this[e(788)][e(1124)]=this[e(788)][e(924)].replace(e(832),"decoder-pro-old.js")):(this[e(788)].decoderAudio=this[e(788)].decoder.replace("decoder-pro-simd.js",e(1043)),this[e(788)][e(663)]=this[e(788)][e(924)].replace(e(1073),e(944)),this[e(788)].decoderHardNotWasm=this._opt[e(924)][e(584)](e(1073),e(1118)),this[e(788)][e(1124)]=this[e(788)][e(924)][e(584)](e(1073),e(721))):this[e(788)][e(548)]?(this[e(788)].decoderAudio=this[e(788)].decoder.replace(e(756),e(1043)),this._opt[e(663)]=this[e(788)][e(924)][e(584)]("decoder-pro-mt.js",e(944)),this._opt[e(690)]=this._opt.decoder[e(584)](e(756),e(1118)),this[e(788)][e(1124)]=this._opt[e(924)][e(584)]("decoder-pro-mt.js",e(721))):(this._opt[e(799)]=this[e(788)][e(924)][e(584)](e(661),"decoder-pro-audio.js"),this[e(788)][e(663)]=this._opt[e(924)].replace(e(661),e(944)),this[e(788)][e(690)]=this[e(788)][e(924)][e(584)]("decoder-pro.js",e(1118)),this._opt[e(1124)]=this._opt[e(924)].replace(e(661),"decoder-pro-old.js")),Js(this[e(788)][e(833)])&&(this[e(788)].operateBtns[e(927)]=!1),Js(this[e(788)][e(493)])&&(this[e(788)][e(1117)][e(1126)]=!1,this[e(788)][e(1117)].screenshot=!1,this[e(788)].operateBtns.record=!1,this._opt[e(1117)][e(841)]=!1,this[e(788)][e(1117)][e(531)]=!1,this._opt[e(1117)][e(1001)]=!1),this[e(788)].qualityConfig&&0===this[e(788)][e(692)].length&&this[e(788)].operateBtns.quality&&(this[e(788)][e(1117)][e(531)]=!1,this.debugWarn(this[e(817)],e(511))),qs(this[e(788)][e(891)])&&(this[e(788)][e(891)]=function(){let t=!1;return Re(500)in navigator&&(t=!0),t}(),Js(this._opt[e(891)])&&this[e(1111)](this[e(817)],e(865))),this[e(788)][e(831)]&&this[e(788)][e(766)]>this[e(788)][e(938)]&&(this[e(1111)](this[e(817)],e(899)+this[e(788)].mseWaitVideoCanplayTimeout+e(915)+this._opt.loadingTimeout+", so set mseWaitVideoCanplayTimeout = loadingTimeout -1"),this._opt[e(766)]=Math[e(533)](this[e(788)][e(938)]-1,1)),this[e(788)].hasControl=this[e(677)](),this[e(1011)]=!1,this[e(879)]=!1,this[e(457)]=!1,this[e(972)]=!1,this[e(856)]=!1,this[e(612)]=!1,this._drawingRect=!1,this._destroyed=!1,this[e(982)]=!1,this[e(907)]=!1,this[e(578)]=null,this._checkLoadingTimeout=null,this[e(737)]=null,this[e(497)]=null,this[e(881)]=null,this[e(641)]=!1,this[e(936)]={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._tempTsList=[],this[e(1114)]={},this[e(862)]=!1,this[e(956)]=!1,this[e(1119)]=!1,this[e(642)]=!1,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._videoTimestamp=0,this._audioTimestamp=0,this[e(491)]=0,this._videoIframeIntervalTs=0,this[e(949)]=this[e(788)][e(1010)]||"",!this[e(949)]&&this[e(788)][e(692)][e(611)]>0&&(this[e(949)]=this._opt[e(692)][0]||""),this._visibility=!0,this[e(687)]=null,this[e(781)]=null,this[e(502)]=[],this[e(1003)]=[],this[e(678)]=[],this._tempInnerPlayBgobj=null,this[e(455)]=null,this[e(973)]=null,this[e(564)]=null,this[e(844)]={},this[e(475)]=!1,Js(this[e(788)].useMSE)&&Js(this._opt[e(986)])&&!this[e(583)]()&&!this.isOldHls()&&(this[e(788)][e(572)]=!0),(this.isOldHls()||this[e(583)]())&&(this[e(788)][e(493)]=!0,this._opt[e(833)]=!0),!this[e(788)][e(493)]&&(this[e(788)][e(831)]=!1,this[e(788)][e(986)]=!1),this[e(788)][e(572)]&&(this._opt[e(745)]?this[e(788)][e(1113)]=!1:this[e(788)][e(1113)]&&(this._opt[e(1113)]=Je()&&rs()&&ns(),!this[e(788)].wasmUseVideoRender&&this[e(1111)](this.TAG_NAME,e(550)),this[e(788)][e(1113)]&&this[e(788)][e(932)]&&(this[e(788)][e(932)]=function(){const t=Re;let e=!1;return t(534)in jt&&typeof jt[t(534)]===t(673)&&(e=!0),e}(),!this[e(788)].wasmPlayAudioUseVideoRender&&this[e(1111)](this[e(817)],e(995)))),this[e(788)].useSIMD?this.debugLog(this[e(817)],"use simd wasm"):this[e(561)](this[e(817)],e(828))),this[e(788)][e(572)]&&(this[e(788)][e(978)]&&window[e(941)]||this[e(788)][e(860)]&&window[e(613)]||this[e(788)][e(1125)]&&window[e(1094)]||this[e(788)][e(465)]&&window.JessibucaProImageDetector)?(this.ai=new _k(this),!(this[e(788)][e(978)]&&window[e(941)])&&(this[e(788)][e(1117)][e(792)]=!1),!(this._opt[e(860)]&&window[e(613)])&&(this._opt[e(1117)][e(658)]=!1),!(this[e(788)][e(1125)]&&window[e(1094)])&&(this[e(788)].operateBtns.aiOcclusion=!1),this[e(788)][e(465)]&&this._opt[e(812)]&&window[e(556)]&&(this[e(483)]=!0)):(this[e(788)].operateBtns[e(658)]=!1,this[e(788)][e(1117)][e(792)]=!1,this._opt[e(1117)][e(1015)]=!1),this[e(788)].useFaceDetector&&(!this._opt[e(572)]||!window[e(941)])&&this[e(1111)](this.TAG_NAME,e(999)+this[e(788)][e(572)]+e(524)),this[e(788)].useObjectDetector&&(!this[e(788)].useWasm||!window.JessibucaProObjectDetector)&&this.debugWarn(this[e(817)],e(981)+this[e(788)][e(572)]+e(780)),this[e(788)][e(1125)]&&(!this[e(788)][e(572)]||!window[e(1094)])&&this[e(1111)](this[e(817)],e(537)+this[e(788)].useWasm+e(462)),this[e(788)][e(465)]&&(!this[e(788)][e(572)]||!window[e(556)])&&this[e(1111)](this[e(817)],e(1083)+this[e(788)][e(572)]+e(467)),this[e(788)].videoRenderType&&(this[e(561)](this[e(817)],"videoRenderType is "+this[e(788)].videoRenderType),this[e(788)][e(676)]===f.video?(this[e(788)][e(1123)]=!0,this[e(788)][e(460)]=!1):this._opt.videoRenderType===f[e(639)]&&(this._opt.useVideoRender=!1,this[e(788)][e(460)]=!0)),this[e(788)][e(1123)]&&(this[e(788)][e(572)]&&!this[e(788)][e(745)]?(this._opt[e(1113)]=Je()&&rs()&&ns(),!this[e(788)][e(1113)]&&this[e(1111)](this[e(817)],e(550))):this[e(788)][e(986)]&&!this[e(788)].useOffscreen&&(this._opt[e(903)]=rs()&&ns(),!this[e(788)][e(903)]&&this[e(1111)](this[e(817)],e(650)))),this[e(788)][e(460)]&&(this._opt[e(831)]&&Js(this[e(788)][e(505)])&&(this[e(788)].mseUseCanvasRender=!0),this._opt.useWasm&&(this._opt[e(1113)]=!1),this[e(788)][e(986)]&&(this._opt[e(903)]=!1),this[e(1082)]()&&!Ye()&&(this[e(788)][e(987)]=!0),this.isWebrtcH264()&&(this[e(788)][e(492)]=!0)),this._opt[e(1123)]=!1,this[e(788)][e(460)]=!1,this[e(788)][e(572)]?this[e(788)].wasmUseVideoRender?this[e(788)][e(1123)]=!0:this._opt[e(460)]=!0:this._opt[e(986)]?this[e(788)][e(903)]?this[e(788)][e(1123)]=!0:this._opt[e(460)]=!0:this[e(788)][e(831)]?this[e(788)][e(512)]?this[e(788)][e(460)]=!0:this[e(788)][e(1123)]=!0:this[e(1082)]()?this._opt[e(987)]?this._opt[e(460)]=!0:this[e(788)][e(1123)]=!0:this[e(583)]()&&(this[e(788)][e(492)]?this._opt[e(460)]=!0:this[e(788)].useVideoRender=!0),this[e(788)].useCanvasRender&&this[e(600)]()&&(this[e(561)](this[e(817)],e(702)),this[e(788)].wcsDecodeAudio=!1,this[e(788)][e(932)]=!1),(t=>{const e=li;Object[e(162)](t,"rect",{get:()=>{const s=e;let i={};return t.$container&&(i=t[s(163)].getBoundingClientRect(),i[s(175)]=Math[s(164)](i[s(175)],t[s(163)][s(174)]),i.height=Math.max(i[s(173)],t[s(163)][s(172)])),i}}),[e(179),e(173),"left",e(165),e(166),e(175)].forEach((e=>{Object.defineProperty(t,e,{get:()=>t.rect[e]||0})}))})(this),this[e(494)]=new hi(this),this[e(788)][e(493)]&&(this[e(1134)]=new yn(this),this.recorder=new zh(this)),this.isOldHls()?(this[e(717)]=new fE(this),this[e(820)]=!0):this[e(583)]()?(this[e(788)][e(617)]?this[e(1093)]=new Zk(this):this[e(788)][e(530)]?this.webrtc=new Vk(this):this[e(788)].isWebrtcForOthers?this.webrtc=new Wk(this):this[e(1093)]=new qk(this),this[e(820)]=!0):this.isAliyunRtc()?(this[e(1048)]=new i_(this),this[e(820)]=!0):(this.isUseHls265()&&(this[e(717)]=new UT(this)),this[e(896)]()&&(this[e(1093)]=new qk(this)),this[e(1102)]()&&(this[e(1103)]=new fk(this)),Js(Ls(this._opt))?this.decoderWorker=new oc(this):this[e(820)]=!0),this[e(508)]=null,this[e(1075)]=null,this[e(720)]=null,this[e(464)]=null,this._isInZoom=!1,this._playingStartTimestamp=null,this[e(1052)]=!1,this[e(964)]=!1,this[e(864)]=!1,this[e(529)]=!1,this[e(603)]=!1,this[e(872)]=[],this[e(788)].useWCS&&!this[e(788)][e(833)]&&Js(this._opt.demuxUseWorker)&&(this[e(820)]=!0),this[e(788)][e(831)]&&Js(this._opt[e(505)])&&!this[e(788)][e(833)]&&Js(this[e(788)][e(751)])&&(this[e(820)]=!0),this[e(926)]=new Tm(this),this._opt.contextmenuBtns[e(611)]>0&&Js(this[e(788)][e(607)])&&Ge()?this[e(940)]=new Lk(this):qs(this[e(788)][e(607)])&&this[e(788)].contextmenuBtns[e(611)]>0&&Ge()&&this[e(1111)](this.TAG_NAME,"disableContextmenu is true, but contextmenuBtns is not empty, so Contextmenu can not be created,please check"),this[e(648)]()&&(this[e(888)]=new yk(this,this[e(788)][e(1037)])),this[e(618)]()&&(this[e(637)]=new b_(this,this._opt[e(496)])),this[e(788)][e(1117)][e(1001)]&&(this[e(1001)]=new Ek(this)),function(){const t=Re;return/(iphone|ipad|ipod|ios|android)/i[t(445)](window[t(644)].userAgent[t(563)]())}()&&Js(this[e(788)].supportLockScreenPlayAudio&&Qe())&&(this[e(958)]=new Vm(this)),(t=>{const e=di;try{const s=e=>{const s=di;ks(e)===t.$container&&(t[s(288)](M[s(282)],t[s(282)]),t[s(282)]?t[s(307)].useMSE&&t.resize():t[s(289)]())};Jt.on(e(293),s),t[e(291)][e(319)][e(323)]((()=>{Jt[e(290)]("change",s)}))}catch(t){}if(t.on(B[e(283)],(()=>{const s=e;t[s(322)]("player",s(299)),t[s(292)]=!0})),t.on(B[e(285)],(()=>{t[e(275)]=!1})),t.on(B[e(282)],(s=>{const i=e;if(s)try{Jt[i(269)](t[i(308)])[i(281)]((()=>{}))[i(296)]((e=>{const s=i;t[s(321)](s(301),"fullscreen request error",e,e[s(278)]()),t[s(325)](O[s(302)],e[s(278)]()),ze()&&t._opt.useWebFullScreen&&(t.webFullscreen=!0)}))}catch(e){ze()&&t[i(307)][i(317)]&&(t[i(327)]=!0)}else try{Jt[i(274)]()[i(281)]((()=>{t[i(327)]&&(t.webFullscreen=!1)}))[i(296)]((e=>{const s=i;t[s(321)]("player",s(295),e,e.toString()),t[s(325)](O[s(302)],e[s(278)]()),t[s(327)]&&(t[s(327)]=!1)}))}catch(e){t[i(327)]&&(t[i(327)]=!1)}})),ze()&&t.on(B[e(327)],(s=>{const i=e;s?t[i(308)][i(277)].add(i(268)):t[i(308)][i(277)][i(320)](i(268)),t[i(288)](M.fullscreen,t[i(282)])})),t.on(B[e(289)],(()=>{t[e(289)]()})),t._opt[e(314)]){const s=[B[e(313)],B.currentPts,B[e(276)],B[e(304)],B[e(315)],B.videoSmooth],i=[B[e(298)],B[e(286)],B[e(312)],B[e(306)],B[e(328)],B[e(294)],B.videoInfo];Object[e(270)](B)[e(309)]((e=>{t.on(B[e],(function(r){const n=di;if(!s[n(267)](e)){i[n(267)](e)&&(r=JSON[n(266)](r));for(var o=arguments[n(271)],a=new Array(o>1?o-1:0),h=1;h{t.on(O[e],(function(){const s=di;for(var i=arguments[s(271)],r=new Array(i),n=0;n{const s=e;this[s(735)]({rotate:t?270:0}),this[s(509)]()}),10)}get[v_(1026)](){const t=v_;return this[t(736)][t(768)][t(787)](t(772))}set[v_(820)](t){this[v_(856)]=t}get[v_(820)](){const t=v_;return this[t(856)]||this[t(1082)]()||this.isWebrtcH264()||this[t(788)].useMSE&&Js(this[t(788)][t(833)])&&Js(this[t(788)].demuxUseWorker)||this._opt.useWCS&&!this[t(788)][t(833)]&&Js(this._opt[t(751)])}set[v_(909)](t){const e=v_;this[e(701)]()&&t?this[e(561)](this[e(817)],e(746)):(t&&qs(this[e(967)])&&(this[e(967)]=!1),this[e(909)]!==t&&(this[e(879)]=t,this.emit(B[e(909)],t),t?(this[e(468)](B[e(589)],this[e(755)]),this[e(468)](B[e(835)])):this[e(468)](B.pause)))}get[v_(909)](){return this._playing}get[v_(755)](){const t=v_;return this.audio&&this.audio[t(755)]||0}set[v_(755)](t){const e=v_;t!==this[e(755)]&&(this[e(927)]?(this[e(927)].setVolume(t),this._lastVolume=this[e(755)],this[e(464)]=0===this[e(755)]):this[e(1111)](this[e(817)],e(665)))}get lastVolume(){return this[v_(720)]}set loading(t){const e=v_;this.loading!==t&&(this[e(1011)]=t,this[e(468)](B[e(967)],this[e(1011)]))}get[v_(967)](){return this[v_(1011)]}set[v_(1064)](t){const e=v_;this.isDestroyedOrClosed()||this[e(1064)]!==t&&(!this[e(1001)]&&(this[e(1001)]=new Ek(this)),this[e(612)]=t,this[e(468)](B.zooming,this[e(1064)]))}get zooming(){return this[v_(612)]}set[v_(565)](t){const e=v_;this[e(601)]()||this[e(565)]!==t&&(!this.drawRectangle&&(this.drawRectangle=new p_(this)),this[e(991)]=t,this.emit(B[e(565)],this.drawingRect))}get[v_(565)](){return this[v_(991)]}set[v_(846)](t){const e=v_;t?this[e(909)]&&!this[e(846)]&&(this.recorder&&this.recorder[e(1053)](),this.isDemuxInWorker()&&this.decoderWorker&&this[e(920)][e(945)]({key:e(679),value:!0})):this[e(846)]&&(this[e(874)]()&&this[e(920)]&&this[e(920)][e(945)]({key:e(679),value:!1}),this[e(621)]&&this[e(621)][e(1028)]().then((()=>{}))[e(1051)]((t=>{})))}get[v_(846)](){const t=v_;return!!this[t(621)]&&this[t(621)][t(679)]}set[v_(994)](t){null!==t&&(this._audioTimestamp=t)}get[v_(994)](){return this._audioTimestamp}set[v_(694)](t){null!==t&&(this[v_(491)]=t)}get[v_(694)](){return this._latestAudioTimestamp}get[v_(863)](){return this[v_(936)].currentPts||this._stats.ts}set[v_(1142)](t){const e=v_;this[e(1142)]!==t&&(this[e(949)]=t,this.emit(B[e(629)],t))}get[v_(1142)](){return this[v_(949)]}get[v_(631)](){const t=v_;return qs(this._opt[t(520)])}get scaleType(){const t=v_,e=this[t(788)],s=e[t(876)],i=e.isFullResize;let r=q.full;return Js(i)&&Js(s)?r=q[t(501)]:Js(i)&&qs(s)?r=q[t(1112)]:qs(i)&&qs(s)&&(r=q[t(615)]),r}set[v_(1104)](t){const e=v_;this[e(712)]!==t&&(this._visibility=t,this[e(468)](B[e(803)],t),this._lastestVisibilityChangeTimestamp=Be(),t?this[e(1122)]():this[e(689)]())}get visibility(){return this[v_(712)]}set[v_(605)](t){const e=v_;this[e(457)]!==t&&(this[e(457)]=t,this[e(468)](B[e(605)],t),this[e(468)](B[e(517)],t))}get[v_(605)](){return this[v_(648)]()&&this._playbackPause}set[v_(536)](t){const e=v_;this[e(637)]&&(this[e(637)][e(711)]()&&Js(t)?this[e(468)](B.playVodEndedAndReplay):this[e(972)]!==t&&(this[e(972)]=t,this[e(468)](B[e(536)],t),this[e(468)](B.playVodPauseOrResume,t)))}get playVodPause(){const t=v_;return this[t(618)]()&&this[t(972)]}set[v_(929)](t){this[v_(866)]=t}get[v_(929)](){return this[v_(866)]}set[v_(804)](t){const e=v_;this[e(862)]!==t&&(this[e(862)]=t,this[e(468)](B[e(804)],t))}get[v_(804)](){return this[v_(862)]}set[v_(546)](t){const e=v_;this._objectDetectActive!==t&&(this[e(956)]=t,this.emit(B[e(546)],t))}get[v_(546)](){return this[v_(956)]}set occlusionDetectActive(t){const e=v_;this[e(1119)]!==t&&(this[e(1119)]=t,this[e(468)](B[e(1131)],t))}get[v_(1131)](){return this._occlusionDetectActive}set imageDetectActive(t){this[v_(642)]!==t&&(this._imageDetectActive=t)}get imageDetectActive(){return this[v_(642)]}get isUseWorkerDemuxAndDecode(){const t=v_;return this[t(508)]&&this[t(508)][t(939)]()===h[t(582)]}[v_(557)](){return this[v_(821)]}isDestroying(){const t=v_;return this._destroyed&&this[t(982)]}[v_(701)](){return this[v_(907)]}isDestroyedOrClosed(){return this[v_(557)]()||this.isClosed()}[v_(853)](){return this.loading}[v_(1039)](){const t=v_;let e=!1;return this._opt[t(993)]===c[t(477)]?e=this[t(909)]:this._opt.playType===c[t(823)]&&(e=Js(this.playbackPause)&&this[t(909)]),e}[v_(735)](t){const e=v_;let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this[e(788)]=Object.assign({},this[e(788)],t),qs(s)&&this[e(920)]&&Object[e(923)](t)[e(723)]((s=>{const i=e;this[i(920)][i(945)]({key:s,value:t[s]})}))}init(){return new Promise(((t,e)=>{const s=S_;si()&&(this[s(742)]=new a_(this)),!this.video&&this._opt[s(493)]&&(this[s(1134)]=new yn(this)),!this[s(927)]&&this[s(788)][s(833)]&&(this[s(927)]=new go(this)),!this[s(508)]&&(this.stream=new ha(this)),this[s(1082)]()?(!this[s(717)]&&(this[s(717)]=new fE(this),this[s(820)]=!0),t()):this[s(583)]()?(this.webrtc||(this[s(788)][s(617)]?this[s(1093)]=new Zk(this):this._opt[s(530)]?this[s(1093)]=new Vk(this):this._opt[s(659)]?this[s(1093)]=new Wk(this):this[s(1093)]=new qk(this),this[s(820)]=!0),t()):this.isAliyunRtc()?(!this.aliyunRtcDecoder&&(this[s(1048)]=new i_(this),this[s(820)]=!0),t()):(!this[s(1075)]&&this[s(788)][s(493)]&&!this[s(488)]&&(this.demux=new gf(this)),this[s(788)].useWCS&&!this[s(682)]&&(this.webcodecsDecoder=new Pf(this),!this[s(788)][s(833)]&&Js(this[s(788)][s(751)])&&(this[s(820)]=!0)),this._opt[s(831)]&&Js(this[s(788)][s(505)])&&!this[s(913)]&&(this[s(913)]=new Fm(this),!this[s(788)][s(833)]&&Js(this._opt[s(751)])&&(this[s(820)]=!0)),this[s(905)]()&&!this[s(717)]&&(this[s(717)]=new UT(this)),this[s(896)]()&&!this[s(1093)]&&(this[s(1093)]=new qk(this)),this[s(1102)]()&&!this.mp4Decoder&&(this[s(1103)]=new fk(this)),this.decoderWorker?this[s(820)]?t():this[s(680)](B[s(1049)],(()=>{const i=s;this[i(601)]()?(this.debugError(this[i(817)],i(1115)),e(i(1115))):(this[i(820)]=!0,t())})):Js(Ls(this[s(788)]))?(this.decoderWorker=new oc(this),this.once(B[s(1049)],(()=>{const i=s;this[i(601)]()?(this.debugError(this[i(817)],i(1115)),e("init() failed and player is destroyed")):(this[i(820)]=!0,t())}))):t())}))}play(t){const e=v_;let s=arguments[e(611)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=e;if(!t&&!this[n(788)][n(1116)])return r(n(983));this[n(907)]=!1,this[n(967)]=!0,this[n(909)]=!1,this[n(897)][n(1074)]=Be(),!t&&(t=this[n(788)][n(1116)]),this[n(788)][n(1116)]=t,this[n(926)]&&this[n(788)][n(1057)]&&this[n(926)].initLoadingBackground(),this.init()[n(883)]((()=>{const e=n;this[e(561)](this[e(817)],"play() init and next fetch stream"),this[e(897)][e(487)]=Be(),this[e(788)].isNotMute&&this.mute(!1),this[e(951)](),this[e(898)](),this[e(508)]?(this[e(508)].once(O.fetchError,(t=>{const s=e;this[s(595)](O[s(598)],t)})),this[e(508)][e(680)](O[e(968)],(t=>{const s=e;this[s(595)](O[s(968)],t)})),this.stream.once(B[e(1070)],(t=>{const s=e;this.emit(B[s(1070)],t)})),this[e(508)][e(680)](O.hlsError,(t=>{const s=e;this[s(595)](O[s(644)],t)})),this[e(508)].once(O[e(1090)],(t=>{const s=e;this[s(595)](O[s(1090)],t)})),this[e(508)][e(680)](B[e(626)],(()=>{const t=e;i(),this[t(897)][t(596)]=Be(),this[t(1134)]&&this[t(1134)].play(),this[t(791)](),this.isPlayback()&&this[t(888)]?this[t(888)].startCheckStatsInterval():this[t(618)]()&&this[t(637)]&&this[t(637)][t(757)]();const s=Number("1")||1;setTimeout((()=>{const e=t;this[e(838)](),console.error(e(592)),alert(e(954)),window[e(476)].reload()}),60*s*60*1e3)})),this[e(508)][e(914)](t,s)):(this[e(1111)](this[e(817)],e(587)+this[e(601)]()),r(e(686)))})).catch((t=>{r(t)}))}))}[v_(725)](){return new Promise(((t,e)=>{const s=S_;this[s(561)](this[s(817)],s(1040)+this[s(788)][s(514)]),this[s(788)][s(514)]&&this[s(726)]&&this[s(726)][s(1057)]&&this[s(735)]({loadingBackground:this[s(726)][s(1057)],loadingBackgroundWidth:this[s(726)][s(813)],loadingBackgroundHeight:this._tempInnerPlayBgobj[s(1038)]}),this.play()[s(883)]((e=>{t(e)}))[s(1051)]((t=>{e(t)}))}))}[v_(481)](){return new Promise(((t,e)=>{const s=S_;this[s(624)]()[s(883)]((()=>{const e=s;this[e(1134)]&&this[e(1134)][e(604)](),t()}))[s(1051)]((t=>{e(t)}))}))}[v_(633)](){const t=v_;this[t(921)]&&Js(this[t(464)])&&(this[t(755)]=this[t(921)])}async[v_(624)](){const t=v_;this[t(907)]=!0,this.video&&(this[t(1134)][t(668)](),this[t(1134)].pause(!0)),this[t(967)]=!1,this[t(846)]=!1,this[t(1064)]=!1,this[t(809)](),this.clearStatsInterval(),this.isPlayback()&&this[t(888)]&&this[t(888)].clearStatsInterval(),this.isPlayVod()&&this[t(637)]&&this[t(637)].clearStatsInterval(),this[t(1140)](),this[t(1021)](),this[t(1138)]=0,this[t(500)]=0,this[t(897)]={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this[t(920)]&&(await this.decoderWorker[t(838)](),this[t(920)]=null),this[t(508)]&&(await this[t(508)][t(838)](),this[t(508)]=null),this[t(1075)]&&(this.demux.destroy(),this[t(1075)]=null),this[t(682)]&&(await this.webcodecsDecoder[t(838)](),this[t(682)]=null),this[t(913)]&&(this[t(913)][t(838)](),this.mseDecoder=null),this[t(717)]&&(await this[t(717)][t(838)](),this[t(717)]=null),this.webrtc&&(this[t(1093)].destroy(),this.webrtc=null),this[t(1048)]&&(this[t(1048)][t(838)](),this[t(1048)]=null),this[t(927)]&&(await this[t(927)].destroy(),this[t(927)]=null),this.mp4Decoder&&(await this.mp4Decoder[t(838)](),this[t(1103)]=null),this[t(909)]=!1}pause(){const t=v_;let e=arguments[t(611)]>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((s,i)=>{const r=t;e?this.close()[r(883)]((()=>{s()}))[r(1051)]((t=>{i(t)})):this[r(624)]()[r(883)]((()=>{s()}))[r(1051)]((t=>{i(t)}))}))}[v_(544)](){return new Promise(((t,e)=>{const s=S_;if(this[s(561)](this[s(817)],s(542)),this[s(788)].pauseAndNextPlayUseLastFrameShow&&this.video){const t=this[s(1134)][s(808)]("",s(695),.92,s(1063));if(t){const e=this[s(456)]();e?(this.debugLog(this[s(817)],s(892)+e.width+" and height is "+e[s(870)]),this[s(726)]={loadingBackground:t,loadingBackgroundWidth:e[s(1106)],loadingBackgroundHeight:e[s(870)]}):this.debugWarn(this.TAG_NAME,"pauseForControl() and videoInfo is null")}else this[s(1111)](this[s(817)],s(713))}this.pause()[s(883)]((e=>{t(e)}))[s(1051)]((t=>{e(t)}))}))}[v_(484)](){const t=v_;let e=!0;return this[t(927)]&&(e=this[t(927)].isMute),e}isAudioNotMute(){return!this[v_(484)]()}[v_(504)](t){const e=v_;this[e(927)]&&this[e(927)][e(504)](t)}resize(){const t=v_;this.video&&this[t(1134)].resize()}startRecord(t,e){const s=v_;this[s(846)]||(this[s(621)].setFileName(t,e),this.recording=!0)}[v_(890)](){return new Promise(((t,e)=>{const s=S_;!this[s(621)]&&e("recorder is null"),this[s(846)]&&(this[s(788)][s(572)]&&this[s(920)]&&this[s(920)][s(945)]({key:s(679),value:!1}),this.recorder.cancelRecord()[s(883)]((()=>{t()}))[s(1051)]((t=>{e(t)})))}))}[v_(1028)](t,e){return new Promise(((s,i)=>{const r=S_;!this[r(621)]&&i(r(1012)),this[r(846)]?(this[r(788)][r(572)]&&this[r(920)]&&this.decoderWorker.updateWorkConfig({key:r(679),value:!1}),this.recorder[r(1028)](t,e)[r(883)]((t=>{s(t)}))[r(1051)]((t=>{i(t)}))):i(r(719))}))}[v_(677)](){const t=v_;let e=!1,s=!1;return Object[t(923)](this[t(788)][t(1117)])[t(723)]((e=>{const i=t;this._opt[i(1117)][e]&&-1===(""+e)[i(741)]("Fn")&&(s=!0)})),(this[t(788)][t(769)]||s)&&(e=!0),this._opt[t(943)]&&this[t(788)][t(943)].length>0&&(e=!0),this[t(648)]()&&this._opt.playbackConfig[t(1109)]&&(e=!0),this._opt[t(1031)]&&(e=!0),e}useWasmDecode(){const t=v_;return Js(this[t(788)][t(831)])&&Js(this._opt[t(986)])}canVideoTrackWritter(){const t=v_,e=this._opt;return!this.isOldHls()&&!this[t(583)]()&&Js(e.useMSE)&&!this[t(1058)]()&&(e[t(986)]&&Js(e[t(745)])&&e[t(903)]||this.useWasmDecode())}[v_(744)](){const t=v_;if(Js(this[t(605)])&&this[t(909)]){if(this[t(601)]())return void this[t(1111)](this[t(817)],"checkHeartTimeout$2 but player is destroyed");if(Js(this[t(660)]()))return void this[t(1111)](this[t(817)],t(908));if(0!==this._stats[t(778)])return void this[t(1111)](this[t(817)],"checkHeartTimeout$2 but fps is "+this[t(936)][t(778)]);const e=this[t(502)][t(553)](",");this[t(1111)](this.TAG_NAME,t(785)+this[t(936)][t(534)]+" and\n current fps is "+this[t(936)].fps+" and\n history FpsList is "+e+t(700)+this[t(1104)]+" and"),this[t(468)](B[t(893)],B[t(868)]),this[t(468)](B.delayTimeout)}else this[t(561)](this[t(817)],t(474)+this[t(605)]+", playing is "+this.playing)}checkStatsInterval(){const t=v_;this[t(737)]=setInterval((()=>{this[t(489)]()}),1e3)}[v_(898)](){const t=v_;this[t(762)]=setTimeout((()=>{const e=t;this[e(909)]?this[e(1111)](this[e(817)],e(869)+this[e(967)]+e(672)+this.playing):this[e(601)]()?this.debugWarn(this[e(817)],e(458)):(this[e(1111)](this.TAG_NAME,"checkLoadingTimeout and pause and emit loadingTimeout event"),this[e(468)](B[e(893)],B[e(938)]),this[e(468)](B[e(938)]))}),1e3*this[t(788)].loadingTimeout)}[v_(809)](){const t=v_;this[t(762)]&&(this[t(561)](this.TAG_NAME,"clearCheckLoadingTimeout"),clearTimeout(this[t(762)]),this[t(762)]=null)}[v_(753)](){const t=v_;this._checkStatsInterval&&(clearInterval(this[t(737)]),this[t(737)]=null)}[v_(706)](){const t=v_;this[t(601)]()?this.debugLog(this[t(817)],t(1042)):(this[t(967)]&&(this.clearCheckLoadingTimeout(),this[t(967)]=!1,this.emit(B[t(691)])),!this[t(909)]&&(this[t(909)]=!0))}[v_(489)](){const t=v_;let e=arguments[t(611)]>0&&void 0!==arguments[0]?arguments[0]:{};if(this[t(601)]())return void this.debugLog(this[t(817)],t(593));if(!this[t(881)]&&(this[t(881)]=Be()),cs(e.ts)){const s=parseInt(e.ts,10);this[t(936)].ts=s,this[t(917)].push(s),null===this[t(1120)]&&s>0&&(this[t(1120)]=s)}cs(e[t(532)])&&(this._stats.dts=parseInt(e.dts,10)),cs(e[t(1009)])&&(this[t(936)][t(1009)]=e.mseTs),cs(e[t(959)])&&(this[t(936)][t(959)]=e[t(959)]),cs(e[t(715)])&&(this._stats[t(715)]=e[t(715)]),cs(e[t(703)])&&(this[t(936)][t(703)]=e[t(703)]),e[t(778)]&&(this[t(936)][t(778)]+=1),e[t(643)]&&(this._stats.dfps+=1),e[t(525)]&&(this[t(936)][t(525)]+=e[t(525)]),e[t(534)]&&(this[t(936)].vbps+=e.vbps),e.workerStats&&(this[t(781)]=e.workerStats),e[t(885)]&&(this[t(936)][t(885)]=e[t(885)]),e[t(602)]&&(this[t(936)][t(602)]=parseInt(1e3*e.mseVideoBufferDelayTime,10));const s=Be();if(s-this[t(881)]<1e3)return;null!==this[t(1120)]&&this[t(936)].fps>0&&(this[t(936)][t(1065)]+=1);let i=0,r=0,n=0,o=0,a=0;this[t(818)]()&&this[t(788)][t(831)]&&(this[t(913)]?(i=this[t(913)][t(515)](),i=parseInt(1e3*i,10),r=this[t(913)][t(575)](),r=r[t(669)](2),o=this[t(913)][t(887)](),a=this.mseDecoder[t(1095)]()):this[t(873)]()&&(i=this[t(1134)][t(515)](),i=parseInt(1e3*i,10),r=this[t(1134)][t(575)](),r=r[t(669)](2),o=this[t(1134)][t(887)]())),this[t(788)][t(986)]&&this[t(682)]&&(n=this[t(682)][t(814)]()),this.isOldHls()&&this.hlsDecoder&&(i=this[t(717)][t(486)](),i=parseInt(1e3*i,10));let h=0,c=0,l=0;this[t(905)]()&&this[t(717)]&&(i=this.hlsDecoder.checkHlsBufferedDelay(),i=i.toFixed(2),h=this[t(717)].getDemuxBufferedListLength(),l=this.hlsDecoder.getDemuxVideoBufferedListLength(),c=this[t(717)][t(852)]());let u=0,p=0,f=0,m=!1,g=0,A=0;this._opt[t(572)]||this[t(788)][t(751)]?this._tempWorkerStats&&(p=this[t(781)][t(779)],f=this[t(781)][t(685)],u=this[t(781)][t(577)],this[t(936)][t(715)]=this[t(781)][t(715)],g=this._tempWorkerStats[t(649)],m=this[t(781)][t(591)],this[t(936)][t(959)]=this[t(781)][t(847)],A=this[t(781)][t(586)]):this[t(1075)]&&(u=this[t(1075)][t(858)](),g=this[t(1075)].getPushLatestDelay(),m=this[t(1075)][t(834)](),this[t(1075)][t(1101)]&&(p=this[t(1075)][t(1101)][t(611)]));let y=0,b=0;this[t(927)]&&this[t(927)][t(1101)]&&(y=this[t(927)][t(1101)].length,b=parseInt(y*this.audio[t(1006)],10));let v=0,S=0;if(this[t(648)]()&&this[t(1134)]){this[t(788)][t(1037)][t(597)]&&(v=this[t(1134)][t(1101)]&&this[t(1134)][t(1101)][t(611)]||0);let e=this[t(1134)].getStreamFps();const s=e>0?1e3/e:0;S=parseInt(s*v+s*p,10)}let w=0;this[t(863)]>0&&(w=this._stats[t(532)]-this.videoTimestamp);const E=w+this[t(936)].netBuf;this[t(1082)]()&&(this[t(936)][t(778)]=this[t(717)][t(522)]()),this[t(936)].fps>this[t(936)][t(1034)]&&(this[t(936)][t(1034)]=this._stats[t(778)]);let I=this[t(889)]();const T=this._stats[t(990)];let k=-1;T&&I&&(k=Xe((I-T)[t(669)](2)),I=I.toFixed(2));let _=0;this[t(994)]>0&&(_=this[t(994)]-this[t(918)]()),this[t(1114)]=Object[t(997)](this[t(936)],{audioBuffer:y,audioBufferDelayTs:b,audioTs:this[t(994)],latestAudioTs:this.latestAudioTimestamp,playbackVideoBuffer:v,playbackVideoWaitingBuffer:0,playbackAudioWaitingBuffer:0,playbackCacheDataDuration:S,demuxBuffer:p,pushLatestDelay:g,audioDemuxBuffer:f,streamBuffer:u,mseDelay:i,mseStore:r,mseDecodePlaybackRate:o,msePendingBuffer:a,wcsDecodeDiffTimes:n,wasmDecodeDelay:A,hlsDelay:i,hlsDemuxLength:h,hlsDemuxAudioLength:c,hlsDemuxVideoLength:l,delayTs:w,totalDelayTs:E,isStreamTsMoreThanLocal:m,videoCurrentTime:I,videoCurrentTimeDiff:k,audioSyncVideo:_});let C=null,R=null,D="";if(this[t(1059)]()&&this[t(788)][t(493)]&&this.playing){C=function(t,e){let s=3;const i=e||25;return t<=i*(1/4)?s=0:t<=.5*i?s=1:t<=i*(3/4)&&(s=2),s}(this[t(936)][t(778)],this[t(973)]),this[t(1114)][t(671)]=C;const e=this[t(824)](this[t(1114)]);D=e[t(969)],R=e[t(1e3)],this._allStatsData.videoSmooth=R}this.emit(B[t(485)],this[t(1114)]),this[t(1114)][t(555)]>this._opt[t(718)]&&this[t(773)]()===d[t(877)]&&this.emit(O[t(704)],this._allStatsData[t(555)]),this._opt.hasVideo?(this.updateHistoryFpsList(this._stats.fps,this[t(1114)].videoCurrentTimeDiff),cs(C)&&this.emit(B[t(671)],C),cs(R)&&this.emit(B[t(776)],R,D)):this[t(788)][t(833)]&&this[t(825)](this[t(936)].abps,0),this[t(936)].fps=0,this[t(936)][t(643)]=0,this[t(936)][t(525)]=0,this[t(936)][t(534)]=0,this._tempTsList=[],this._stats[t(885)]=!1,this._startBpsTime=s}[v_(1021)](){const t=v_;this._startBpsTime=null,this._playingStartTimestamp=null,this[t(502)]=[],this[t(1003)]=[],this[t(936)]={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this[t(1114)]={},this[t(917)]=[]}checkVideoSmooth(t){const e=v_;let s=!0,i="";if(this._opt.videoBuffer,this._opt[e(1023)],this[e(583)]()||this[e(1082)]())return{result:s,reason:i};if(0===t[e(534)]&&Js(this[e(788)][e(570)])&&(i=e(569),this[e(561)](this[e(817)],e(955)+i),s=!1),s&&t[e(885)]&&(i=e(1054),this[e(561)](this.TAG_NAME,e(1022)+i),s=!1),s&&this.visibility&&this[e(502)][e(611)]>=this[e(788)][e(743)]){const r=function(t){const e=Re,s=Math[e(438)](...t),i=Math.min(...t);return t[e(696)]((t=>t!==s&&t!==i))}(this[e(502)]),n=r[e(1108)](((t,e)=>t+e),0)/r.length,o=.83*n;t.fps=1.5||t.videoCurrentTimeDiff<=.5)&&-1!==t[e(664)]){if(i=e(510),this[e(561)](this[e(817)],e(946)+t[e(664)]),0===Number(t[e(664)])){const t=this[e(837)](),s=this[e(889)](),i=this.getVideoBufferTimeRange();let r=-1,n=-1;i&&(r=i[e(691)],n=i.end),this[e(561)](this[e(817)],e(616)+s+" and isPlaying is "+t+"\n bufferStartTime is "+r+e(882)+n)}s=!1}return{result:s,reason:i}}[v_(951)](){const t=v_;this[t(788)][t(958)]&&this[t(958)]&&this[t(958)][t(482)]()}releaseWakeLock(){const t=v_;this[t(788)].keepScreenOn&&this[t(958)]&&this[t(958)][t(513)]()}[v_(867)](){const t=v_;this[t(788)][t(572)]?this.decoderWorker&&this.decoderWorker.clearWorkBuffer(!0):this.demux&&this.demux[t(463)](!0)}[v_(606)](){const t=v_;this[t(468)](B[t(590)])}handlePlayToRenderTimes(){const t=v_;if(this[t(601)]())return void this[t(561)](this[t(817)],"handlePlayToRenderTimes but player is closed or destroyed");const e=this[t(784)]();this[t(468)](B[t(581)],e)}[v_(784)](){const t=v_,e=this[t(897)];return e[t(960)]=e[t(487)]-e[t(1074)],e.streamTimestamp=e.streamStart-e[t(487)],e[t(545)]=e.streamResponse-e[t(640)]>0?e[t(596)]-e[t(640)]:0,e[t(656)]=e.demuxStart-e.streamResponse>0?e[t(965)]-e[t(596)]:0,e[t(528)]=e[t(750)]-e[t(965)]>0?e[t(750)]-e[t(965)]:0,e[t(863)]=e[t(454)]-e[t(750)],e[t(498)]=e[t(454)]-e[t(1074)],e}[v_(747)](){return this[v_(788)]}getPlayType(){const t=v_;return this[t(788)][t(993)]}[v_(1059)](){const t=v_;return this._opt[t(993)]===c[t(477)]}[v_(648)](){const t=v_;return this[t(788)][t(993)]===c[t(823)]}[v_(618)](){const t=v_;return this._opt[t(993)]===c.playVod}[v_(1025)](){const t=v_;let e=!1;return this[t(618)]()&&this[t(637)]&&(e=this[t(637)][t(523)]()),e}[v_(818)](){return this[v_(1059)]()||this.isPlayback()}[v_(675)](){const t=v_;let e=!0,s=this._opt;return s[t(986)]&&!s.useOffscreen?e=!!this[t(682)]&&this.webcodecsDecoder[t(843)]:s[t(831)]&&(e=!!this[t(913)]&&this.mseDecoder.hasInit),e}[v_(674)](){const t=v_;let e=!0,s=this[t(788)];return s[t(986)]&&!s[t(745)]?e=!!this[t(682)]&&this[t(682)][t(975)]:s[t(831)]&&(e=!!this[t(913)]&&this[t(913)].isDecodeFirstIIframe),e}isAudioPlaybackRateSpeed(){const t=v_;let e=!1;return this[t(927)]&&(e=this.audio[t(875)]()),e}[v_(754)](){const t=v_;return this[t(936)][t(1065)]}getRecordingType(){const t=v_;let e=null;return this.recorder&&(e=this[t(621)][t(974)]()),e}[v_(900)](){const t=v_;let e=0;return this[t(846)]&&(e=this[t(621)].getToTalByteLength()),e}[v_(806)](){const t=v_;let e=0;return this[t(846)]&&(e=this[t(621)].getTotalDuration()),e}[v_(636)](){const t=v_;let e="";const s=this[t(747)]();return this[t(583)]()?p[t(1093)]:this[t(1058)]()?p[t(1096)]:this[t(1082)]()?p[t(1024)]:(s[t(831)]&&(e+=p.mse+" ",s.mseDecoderUseWorker&&(e+=t(582))),s[t(986)]&&(e+=p[t(683)]+" "),s[t(572)]&&(e+=p[t(970)]+" ",s[t(767)]&&(e+=p[t(568)]+" "),s[t(548)]&&(e+=p.mt+" ")),s[t(745)]&&(e+=p[t(728)]+" "),e)}[v_(773)](){return this[v_(788)].demuxType}[v_(580)](){const t=v_;let e="";return this[t(1134)]&&(e=this[t(1134)][t(974)]()),e}[v_(911)](){const t=v_;let e="";return this.video&&(e=this.video[t(506)]()),e}[v_(653)](){const t=v_;let e="";return this[t(927)]&&(e=this[t(927)].getEngineType()),e}[v_(939)](){const t=v_;let e="";return this[t(508)]&&(e=this[t(508)].getStreamType()),e}[v_(758)](){const t=v_;return-1===this[t(939)]()[t(741)](h[t(582)])}[v_(559)](){return this[v_(1114)]}isFlvDemux(){const t=v_;return this._opt[t(816)]===d[t(877)]}[v_(774)](){const t=v_;return this[t(788)][t(816)]===d[t(662)]}[v_(815)](){const t=v_;return this[t(788)].demuxType===d[t(563)]}isMpeg4Demux(){const t=v_;return this[t(788)][t(816)]===d[t(623)]}[v_(647)](){const t=v_;return this[t(788)][t(816)]===d.ts}[v_(1018)](){return this._opt.demuxType===d.fmp4}togglePerformancePanel(t){const e=v_;this.updateOption({showPerformance:t}),this[e(468)](B[e(895)],t)}[v_(942)](t){const e=v_;t=Number(t);let s={isFullResize:!1,isResize:!1,aspectRatio:e(622)};switch(t){case q[e(501)]:s[e(919)]=!1,s[e(876)]=!1;break;case q[e(1112)]:s[e(919)]=!1,s[e(876)]=!0;break;case q.fullAuto:s[e(919)]=!0,s[e(876)]=!0}this[e(735)](s),this.resize(),this.emit(B[e(859)],t)}[v_(689)](){const t=v_;this[t(1122)](),this._opt.pageVisibilityHiddenTimeout>0&&(this[t(472)]=setTimeout((()=>{const e=t;this[e(468)](B[e(472)])}),1e3*this[t(788)][t(793)]))}[v_(1122)](){const t=v_;this[t(497)]&&(clearTimeout(this[t(497)]),this._checkVisibleHiddenTimeout=null)}faceDetect(t){const e=v_;this[e(804)]=t,Js(t)&&this.video&&this.video[e(1004)]([])}objectDetect(t){const e=v_;this.objectDetectActive=t,Js(t)&&this[e(1134)]&&this[e(1134)][e(1004)]([])}[v_(902)](t){this.occlusionDetectActive=t}downloadNakedFlowFile(){const t=v_;this.demux&&this[t(1075)][t(782)]&&this[t(1075)][t(782)]()}[v_(906)](){const t=v_;this[t(1075)]&&this[t(1075)][t(906)]&&this.demux[t(906)]()}[v_(854)](){const t=v_,e=new Blob([this[t(678)]]);try{const s=document[t(693)]("a");s.href=window[t(733)][t(654)](e),s[t(1046)]=Date[t(933)]()+t(977),s[t(822)](),window[t(733)].revokeObjectURL(s[t(478)])}catch(e){console[t(1029)](t(854),e)}}hasCacheOnGopBuffer(){const t=v_,e=this.videoIframeIntervalTs,s=this[t(1114)].demuxBuffer,i=this._allStatsData.maxFps;let r=!1;if(e&&s&&i){r=1e3/i*s>e}return r}[v_(473)](){const t=v_;let e=arguments[t(611)]>0&&void 0!==arguments[0]?arguments[0]:[];this[t(1134)]&&this[t(1134)][t(473)](e)}[v_(1007)](){v_(611)}[v_(1089)](t){const e=v_,s=this.getStreamType();s===h[e(573)]||s===h[e(582)]+" "+h[e(573)]?this[e(508)][e(894)](t):this[e(1111)](this.TAG_NAME,e(764)+this.getStreamType())}[v_(503)](){const t=v_,e=this[t(936)];return e[t(534)]>0&&e[t(778)]>0}[v_(696)](t){const e=v_;this[e(926)]&&this[e(926)][e(871)]&&(this[e(926)][e(871)][e(962)]=t)}clearControlHtml(){const t=v_;this.control&&this[t(926)][t(871)]&&(this[t(926)][t(871)][t(962)]="")}[v_(1027)](t){const e=v_;this[e(926)]&&this[e(926)][e(1027)](t)}getControlHtmlIsShow(){const t=v_;return!!this[t(926)]&&this[t(926)][t(538)]()}[v_(850)](){const t=v_;return this.control?this[t(926)][t(850)]():null}[v_(634)](t){const e=v_;this.control&&(this[e(926)][e(628)]?this[e(926)][e(710)](t):this[e(926)][e(819)]({html:t,showBeforePlay:!0}))}[v_(790)](){const t=v_;this[t(926)]&&this[t(926)][t(985)]()}[v_(707)](t){const e=v_;this[e(926)]&&this[e(926)][e(800)](t)}[v_(1041)](){const t=v_;return!!this.control&&this[t(926)][t(579)]()}[v_(805)](){const t=v_;return this[t(926)]?this.control[t(574)]():null}updateWatermark(t){const e=v_;!this[e(490)]&&(this[e(490)]=new Ir(this)),this.singleWatermark&&this.singleWatermark[e(1047)](t)}[v_(1079)](){const t=v_;this[t(490)]&&this[t(490)][t(1030)]()}getVideoInfo(){const t=v_;let e=null;return this[t(1134)]&&(e=this[t(1134)][t(456)]()),e}[v_(1071)](){const t=v_;let e=null;return this[t(927)]&&(e=this[t(927)].getAudioInfo()),e}[v_(811)](){const t=v_;let e=null;return this[t(1134)]&&(e=this[t(1134)].getPlaybackQuality()),e}emitError(t){const e=v_;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this[e(468)](B[e(1029)],t,s),this[e(468)](t,s)}[v_(825)](t,e){const s=v_;this[s(605)]||Js(this[s(1104)])||(this[s(502)][s(611)]>this._opt.heartTimeout&&(this[s(502)][s(848)](),this[s(1003)].shift()),this._historyFpsList.push(t),this[s(1003)].push(e),this[s(660)]()&&this[s(744)]())}[v_(660)](){const t=v_;let e=!0;if(this[t(502)][t(611)]0){e=!1;break}if(e)for(let s=0;s0){e=!1;break}return e}[v_(905)](){const t=v_;return qs(this[t(788)][t(570)])&&qs(this[t(788)].supportHls265)}[v_(570)](){const t=v_;return qs(this[t(788)][t(570)])}[v_(1082)](){const t=v_;return qs(this[t(788)][t(570)])&&Js(this[t(788)][t(770)])}[v_(1061)](){const t=v_;return qs(this._opt[t(961)])&&Js(this._opt[t(896)])}[v_(583)](){const t=v_;return qs(this._opt[t(961)])&&Js(this[t(788)][t(896)])}[v_(896)](){const t=v_;return qs(this[t(788)][t(961)])&&qs(this[t(788)][t(896)])}isAliyunRtc(){const t=v_;return qs(this._opt[t(1058)])}[v_(925)](){const t=v_;return this[t(905)]()&&this[t(554)]()}[v_(461)](){const t=v_;return this[t(939)]()===h[t(840)]}isPlaybackCacheBeforeDecodeForFpsRender(){const t=v_;return this[t(648)]()&&qs(this[t(788)][t(1037)][t(552)])&&qs(this[t(788)][t(986)])}isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender(){const t=v_;return this[t(648)]()&&Js(this[t(788)][t(1037)].isPlaybackPauseClearCache)&&qs(this[t(788)].playbackConfig[t(552)])}[v_(1129)](){const t=v_;return this[t(648)]()&&qs(this[t(788)].useWCS)}[v_(526)](){const t=v_;return this[t(648)]()&&qs(this[t(788)][t(831)])}[v_(1019)](){return this[v_(648)]()&&qs(this._opt.useWasm)}[v_(1088)](){const t=v_;return this[t(1059)]()&&qs(this[t(788)][t(831)])}isMSEDecodeAudio(){const t=v_;return this._opt.useMSE&&this[t(788)][t(1036)]}[v_(619)](){const t=v_;this[t(788)][t(986)]&&this._opt[t(632)]}[v_(1014)](){const t=v_;return this.isPlayVod()&&qs(this[t(788)][t(831)])}[v_(1033)](){const t=v_;return this.isPlayVod()&&Js(this[t(788)][t(831)])}[v_(1102)](){const t=v_;return this[t(618)]()&&qs(this._opt[t(901)])}[v_(688)](){const t=v_;return this[t(788)].useWebFullScreen&&ze()&&this[t(1126)]}[v_(549)](){const t=v_;let e=1;return qs(this[t(648)]())&&this.playback&&(e=this[t(888)][t(576)]),e}[v_(984)](){const t=v_;let e=1;return this.isPlayVod()&&this[t(637)]&&(e=this[t(637)][t(576)]),e}[v_(657)](){const t=v_;return qs(this[t(648)]())&&this[t(549)]()>=this[t(788)][t(1035)]&&!this.isMSEDecodeAudio()}[v_(1141)](t){const e=v_,s=new Uint8Array(t);this._tempStreamList[e(1055)](s)}updateLoadingText(t){const e=v_;this[e(967)]&&this.control&&this[e(926)][e(734)](t)}[v_(889)](){const t=v_;let e=0;return this[t(1134)]&&(this[t(788)].useMSE?this.mseDecoder?e=this[t(913)][t(889)]():this[t(873)]()&&(e=this[t(1134)][t(889)]()):this[t(583)]()&&this.webrtc?e=this[t(1093)].getVideoCurrentTime():this[t(1058)]()&&this[t(1048)]&&(e=this[t(1048)][t(889)]())),e}[v_(1050)](){const t=v_;let e=null;return this[t(1134)]&&(this[t(788)][t(831)]?this[t(913)]?e=this[t(913)].getVideoBufferTimeRange():this[t(873)]()&&(e=this.video.getVideoBufferTimeRange()):this.isWebrtcH264()&&this[t(1093)]?e=this[t(1093)][t(1050)]():this[t(1058)]()&&this[t(1048)]&&(e=this.aliyunRtcDecoder[t(1050)]())),e}[v_(837)](){const t=v_;let e=!0;return this[t(1134)]&&(this[t(788)].useMSE?this.mseDecoder?e=this.mseDecoder[t(837)]():this.isMseDecoderUseWorker()&&(e=this.video[t(837)]()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.isVideoPlaying():this.isAliyunRtc()&&this[t(1048)]&&(e=this[t(1048)][t(837)]())),e}[v_(1087)](t){const e=v_;for(var s=arguments[e(611)],i=new Array(s>1?s-1:0),r=1;r0){const t=s/1e3;this[e(973)]=t}}hs(t[e(833)])&&Js(t[e(833)])&&(this[e(561)](e(1044),"hasAudio",t[e(833)],e(627)),this[e(788)][e(833)]=t[e(833)]),hs(t.hasVideo)&&Js(t[e(493)])&&(this.debugLog(e(1044),"hasVideo",t[e(493)],e(796)),this[e(788)].hasVideo=t.hasVideo),t.server&&(this[e(564)]=(t[e(1137)]+"")[e(499)](0,13)),t[e(971)]&&(this[e(564)]=t[e(971)])}this[e(468)](B[e(1008)],t)}[v_(947)](){return this[v_(455)]}[v_(1091)](){const t=v_;return this[t(926)][t(1091)]().map((e=>{const s=t;return{name:e[s(507)],$container:e[s(937)],$btn:e.$iconWrap,$activeBtn:e[s(1076)]}}))}[v_(722)](){const t=v_;let e=null;return this[t(742)]&&(e=this[t(742)][t(740)]()),e}[v_(1132)](){const t=v_;return this[t(621)]&&this._opt[t(558)]===l[t(877)]}[v_(560)](){const t=v_;return this.recorder&&this[t(788)][t(558)]===l[t(842)]}isRecordTypeWebm(){const t=v_;return this[t(621)]&&this._opt[t(558)]===l[t(551)]}[v_(874)](){const t=v_;return this[t(788)][t(572)]||this[t(788)][t(751)]}[v_(554)](){const t=v_;return qs(this[t(788)][t(831)])}isUseWCS(){const t=v_;return qs(this[t(788)][t(986)])}isUseWASM(){return qs(this[v_(788)].useWasm)}[v_(873)](){const t=v_;return this[t(554)]()&&qs(this[t(788)][t(505)])}getAudioSyncVideoDiff(){const t=v_;return this[t(994)]-this[t(918)]()}[v_(759)](){const t=v_;return{video:this[t(918)](),audio:this[t(994)]}}[v_(794)](){const t=v_;let e=0;return this[t(788)][t(831)]&&this[t(913)]&&(this[t(913)]?e=this.mseDecoder[t(727)]():this[t(873)]()&&(e=this[t(1134)].getVideoBufferDelayTime()),e=parseInt(1e3*e,10)),e}updateCurrentPts(t){const e=v_;this[e(489)]({currentPts:t}),this.emit(B[e(703)],t),this[e(802)](t)}[v_(752)](t){const e=v_;this[e(468)](B[e(1072)],t),this[e(872)][e(1055)](t)}[v_(802)](t){const e=v_;if(0===this[e(872)].length||Js(this[e(788)][e(953)]))return;const s=1e3*this._opt[e(673)],i=t-s,r=t+s,n=[];this[e(872)][e(723)]((s=>{const o=e;s.ts>=i&&s.ts<=r&&(s[o(608)]=t,n[o(1055)](s))})),n[e(723)]((t=>{this[e(468)](B.videoSEISyncPts,t)})),this[e(872)]=this._seiList[e(878)]((t=>t.ts>r))}getRenderCurrentPts(){const t=v_;let e=0;return e=this[t(936)][t(703)]?this[t(936)][t(703)]:this.videoTimestamp-this[t(794)](),e}openSyncAudioAndVideo(){const t=v_;return this[t(788)][t(748)]&&this[t(788)][t(493)]}[v_(625)](t){const e=v_;if(this[e(926)]){const s=this[e(788)].showMessageConfig[t]||"未知异常";this[e(926)][e(801)](s,t)}}[v_(479)](t){const e=v_;this[e(926)]&&t&&this[e(926)][e(801)](t)}[v_(1084)](){const t=v_;this[t(926)]&&this[t(926)][t(1084)]()}[v_(1066)](){const t=v_;qs(this[t(788)][t(495)])&&(this[t(913)]?this.mseDecoder[t(975)]=!1:this.webcodecsDecoder&&(this[t(682)][t(975)]=!1))}[v_(681)](){return this[v_(749)]&&this.isOldHls()}[v_(912)](t){this.control&&this.control.updatePtzPosition(t)}setRotate(t){const e=v_;this.updateOption({rotate:t}),this[e(509)]()}[v_(599)](){this[v_(603)]=!0}[v_(684)](){const t=v_;let e={};return this[t(913)]&&(e=this.mseDecoder[t(1133)]()),e}getMaxDelayTs(){const t=v_;return this[t(788)][t(1045)]+this._opt.videoBufferDelay}[v_(732)](){const t=v_;return!this[t(1134)]||this[t(1134)][t(979)]()}showPlayBtn(){this[v_(926)]&&this.control.showPlayBtn()}[v_(588)](t,e){const s=v_;this[s(926)]&&this[s(926)][s(783)](t,e)}getControlExtendBtnActive(t){const e=v_;let s=!1;return this[e(926)]&&(s=this[e(926)][e(630)](t)),s}useVideoPlayAudio(){const t=v_;return this[t(788)].hasAudio&&(this[t(788)].useWCS&&this[t(788)].wcsDecodeAudio||this._opt.useWasm&&this[t(788)][t(932)])}[v_(789)](){const t=v_,e=this[t(788)][t(655)],s=this._opt[t(646)];let i=e&&!s;return i&&this[t(926)]&&(i=this[t(926)][t(562)]()),i}[v_(540)](){const t=v_;let e=!1;return this.control&&(e=this[t(926)][t(562)]()),e}[v_(957)](t){const e=v_;this[e(926)]&&(this[e(926)][e(638)](t),this[e(509)]())}debugLog(t){const e=v_;if(this._opt[e(520)]&&this[e(520)]){for(var s=arguments[e(611)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r1&&0===e[e[t(611)]-1]&&0===e[e[t(611)]-2]}getShowVideoRect(){const t=v_;let e=this[t(1106)],s=this[t(870)];const i=this[t(1121)]();return ze()&&this[t(1126)]&&(this[t(788)][t(469)]||this[t(788)][t(1130)])?e-=i:s-=i,{width:e,height:s}}updateControlSize(t){const e=v_;this[e(735)]({controlSize:t}),this[e(926)]&&this[e(926)][e(516)](),this.resize()}[v_(952)](){const t=v_;let e=!1;return Js(this[t(788)][t(1080)])&&(e=this._isStreamEnd),e}[v_(698)](){const t=v_;let e=0;return this[t(1075)]&&(e=this.demux[t(521)]()),e}[v_(614)](){const t=v_;let e=0;return this.video&&(e=this.video[t(521)]()),e}[v_(666)](){this._isStreamEnd=!0}[v_(1105)](){const t=v_;return this[t(648)]()&&Js(this[t(788)][t(1080)]),!1}getWebrtcVideo(){const t=v_;let e=null;return this[t(1093)]&&(e=this[t(1093)][t(980)]),e}[v_(739)](t){const e=v_;this[e(729)]&&this[e(797)](),this[e(729)]=new l_(this,t),this[e(729)][e(518)]()}updateGhostWatermark(t){const e=v_;this[e(1067)]&&this[e(996)]();const s=Object[e(997)]({},t,{isGhost:!0});this[e(1067)]=new l_(this,s),this[e(1067)].startAndResize()}[v_(797)](){const t=v_;this[t(729)]&&(this.dynamicWatermark.destroy(),this[t(729)]=null)}[v_(996)](){const t=v_;this.ghostWatermark&&(this[t(1067)].destroy(),this[t(1067)]=null)}playVodForward(t){return new Promise(((e,s)=>{const i=S_;t=Me(Number(t),.1,32),this[i(920)]&&this.decoderWorker[i(945)]({key:"playVodRate",value:t}),this[i(637)][i(777)](t),this[i(1134)]&&this[i(1134)].setRate(t),this[i(927)]&&this[i(927)][i(777)](t),!this.isUseHls265()&&this[i(1075)][i(855)](),e()}))}[v_(775)](t){return new Promise(((e,s)=>{const i=S_;this.playVod?(this[i(637)].seek({time:t}),e()):s(i(880))}))}playVodForwardJumping(t){return new Promise(((e,s)=>{const i=S_;let r=this[i(918)]()/1e3;this[i(1014)]()&&(r=this[i(889)]()),this.playVodSeek(r+t)[i(883)]((()=>{e()}))[i(1051)]((t=>{s(t)}))}))}[v_(1032)](t){return new Promise(((e,s)=>{const i=S_;let r=this[i(918)]()/1e3;this[i(1014)]()&&(r=this[i(889)]()),this[i(775)](r-t)[i(883)]((()=>{e()})).catch((t=>{s(t)}))}))}getPlayVodDuration(){return this[v_(637)].totalDuration}[v_(851)](){const t=v_;return this[t(637)][t(547)]}}var I_=T_;function T_(t,e){var s=k_();return(T_=function(t,e){return s[t-=411]})(t,e)}function k_(){var t=["6YuNFTP","max","_loadMark","watermark_x","watermark_cols","watermark_parent_height","random","globalSetting","MozTransform","deg)","JbPro 测试水印","div","JbPro_","watermark_prefix","2106744nZxGsj","watermark_y","debugLog","3173845jECYtz","destroy","top","left","visibility","length","watermark_id","watermark_parent_width","210jEKXkQ","18px","color","none","load","textAlign","block","watermark_angle","1159164SWYtfA","webkitTransform","position","549567YrZmXM","Watermark","white","7Elqzcy","setAttribute","createElement","watermark_alpha","absolute","floor","watermark_font","attachShadow","style","removeChild","function","watermark_x_space","getBoundingClientRect","object","defaultSettings","fontFamily","clientHeight","open","shadowRoot","watermark_width","382671lhPafr","97725FVEOnQ","rotate(","9999999","fontSize","createTextNode","hidden","watermark_fontsize","parentNode","height","overflow","black","clientWidth","_removeMark","watermark_parent_node","getElementById","4410856EBDvBq","watermark_txt","appendChild","watermark_y_space","remove","watermark_rows","watermark_height","%20%E4%BD%93%E9%AA%8C","微软雅黑","width","string","OTransform","display","zIndex","player","opacity","resize()","center"];return(k_=function(){return t})()}!function(t,e){for(var s=T_,i=t();;)try{if(410871===parseInt(s(429))/1+parseInt(s(495))/2+parseInt(s(498))/3+parseInt(s(476))/4+-parseInt(s(479))/5*(parseInt(s(462))/6)+parseInt(s(501))/7*(parseInt(s(444))/8)+-parseInt(s(428))/9*(parseInt(s(487))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(k_);class __{constructor(t){var e=T_;this[e(458)]=t,this.globalSetting=null;const s=Ze();this[e(422)]={watermark_id:e(474)+s,watermark_prefix:"JbPro_mask_"+s,watermark_txt:e(472),watermark_x:0,watermark_y:0,watermark_rows:0,watermark_cols:0,watermark_x_space:0,watermark_y_space:0,watermark_font:e(452),watermark_color:e(439),watermark_fontsize:e(488),watermark_alpha:.15,watermark_width:150,watermark_height:100,watermark_angle:15,watermark_parent_width:0,watermark_parent_height:0,watermark_parent_node:null},this[e(491)]({text:decodeURIComponent(b+e(451)),color:e(500)}),this[e(458)][e(478)](e(499),"int")}[I_(480)](){var t=I_;this[t(441)](),this[t(469)]=null,this[t(422)]=null,this.player[t(478)](t(499),t(480))}[I_(448)](){}[I_(491)](t){var e=I_;this.globalSetting=t,this[e(464)](t)}resize(){var t=I_;this.player.debugLog(t(499),t(460)),this.globalSetting&&this[t(464)](this[t(469)])}[I_(464)](){var t=I_;let e=this[t(422)];if(1===arguments[t(484)]&&typeof arguments[0]===t(421)){var s=arguments[0]||{};for(let t in s)s[t]&&e[t]&&s[t]===e[t]||(s[t]||0===s[t])&&(e[t]=s[t])}var i=document[t(443)](e[t(485)]);i&&i.parentNode&&i[t(436)][t(417)](i);var r=typeof e[t(442)]===t(454)?document[t(443)](e[t(442)]):e[t(442)],n=r||document.body;const o=n[t(420)]();var a=Math[t(463)](n.scrollWidth,n[t(440)],o[t(453)]),h=Math.max(n.scrollHeight,n[t(424)],o.height),c=arguments[0]||{},l=n;(c[t(486)]||c[t(467)])&&l&&(e.watermark_x=e[t(465)]+0,e[t(477)]=e.watermark_y+0);var d=document[t(443)](e[t(485)]),u=null;if(d)d.shadowRoot&&(u=d[t(426)]);else{(d=document.createElement(t(473))).id=e.watermark_id,d[t(502)]("style","pointer-events: none !important; display: block !important"),u=typeof d[t(415)]===t(418)?d[t(415)]({mode:t(425)}):d;var p=n.children,f=Math[t(413)](Math[t(468)]()*(p[t(484)]-1))+1;p[f]?n.insertBefore(d,p[f]):n[t(446)](d)}e.watermark_cols=parseInt((a-e[t(465)])/(e[t(427)]+e[t(419)]));var m,g=parseInt((a-e[t(465)]-e[t(427)]*e[t(466)])/e[t(466)]);e[t(419)]=g?e.watermark_x_space:g,e[t(449)]=parseInt((h-e[t(477)])/(e[t(450)]+e[t(447)]));var A,y,b,v=parseInt((h-e[t(477)]-e[t(450)]*e[t(449)])/e[t(449)]);e[t(447)]=v?e[t(447)]:v,r?(m=e[t(465)]+e[t(427)]*e.watermark_cols+e[t(419)]*(e[t(466)]-1),A=e[t(477)]+e.watermark_height*e[t(449)]+e[t(447)]*(e[t(449)]-1)):(m=0+e.watermark_x+e[t(427)]*e.watermark_cols+e.watermark_x_space*(e[t(466)]-1),A=0+e[t(477)]+e[t(450)]*e[t(449)]+e[t(447)]*(e[t(449)]-1));for(var S=0;S\n \n \n \n \n \n \n ','" y="',"; font-size:","player","insertBefore","appendChild","btoa","white","-ms-user-select","body","span","1lDggnE","watermark_txt","style","273404BtCYUW","pointer-events: none !important; display: block !important","scrollWidth","width","defaultSettings","160coruWi",'" patternUnits="userSpaceOnUse" patternTransform="rotate(','\n \n \n '+g[t(172)]+t(181)+v+t(161)+y+t(206)+A+t(199)+b+t(180)+g.watermark_angle+')">\n '+g.watermark_txt+t(160),w=window[t(166)](unescape(encodeURIComponent(S)));var E=document[t(140)](t(215));E.style.position="absolute",E.style[t(204)]="0px",E[t(173)].top=t(214),E[t(173)][t(131)]=t(213),E.style.zIndex=t(135),E.style.width=a+"px",E.style[t(207)]=h+"px",E[t(173)][t(200)]=t(133),E[t(173)][t(168)]=t(159),E[t(173)].backgroundImage=t(146)+w+")",u.appendChild(E)}[C_(143)](){var t=C_;const e=this.defaultSettings;var s=document[t(132)](e.watermark_id);if(s){var i=s[t(184)];i&&i[t(137)](s)}}[C_(130)](){var t=C_;const{watermark_txt:e,watermark_font:s,watermark_fontsize:i}=this.globalSetting,r=document[t(140)](t(170));r[t(138)]=e,r.setAttribute(t(173),"font-family: "+s+t(185)+i+t(208)),document[t(202)](t(169))[t(165)](r);const n={width:r.offsetWidth,height:r.offsetHeight};return r[t(212)](),n}}const x_=N_;function P_(){const t=["zoomNarrow","fiStop","52fpnkWV","leftUp","calPos","2520048NXhxLK","3274173eJUpIY","apertureNear","4616GCLMCH","cruiseStart","down","focusFar","delPos","toString","apertureFar","zoomExpand","wiperClose","rightUp","13743pcdpnD","rightDown","459570DyAvlp","leftDown","left","569684gueouO","cruiseStop","wiperOpen","focusNear","5AsWfNQ","setPos","right","299910jqiEbU","2254600eiHmke"];return(P_=function(){return t})()}!function(t,e){const s=N_,i=t();for(;;)try{if(974373===-parseInt(s(478))/1+parseInt(s(486))/2+-parseInt(s(485))/3*(-parseInt(s(489))/4)+parseInt(s(482))/5*(parseInt(s(492))/6)+-parseInt(s(493))/7+parseInt(s(495))/8*(-parseInt(s(473))/9)+parseInt(s(475))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(P_);const B_={stop:"stop",fiStop:x_(488),right:"right",left:"left",up:"up",down:"down",leftUp:x_(490),leftDown:x_(476),rightUp:x_(472),rightDown:x_(474),zoomExpand:x_(470),zoomNarrow:x_(487),apertureFar:x_(469),apertureNear:"apertureNear",focusFar:"focusFar",focusNear:x_(481),setPos:x_(483),calPos:x_(491),delPos:x_(499),wiperOpen:x_(480),wiperClose:"wiperClose",cruiseStart:x_(496),cruiseStop:x_(479)},M_={stop:0,fiStop:0,right:1,left:2,up:8,down:4,leftUp:10,leftDown:6,rightUp:9,rightDown:5,zoomExpand:16,zoomNarrow:32,apertureFar:72,apertureNear:68,focusFar:66,focusNear:65,setPos:129,calPos:130,delPos:131,wiperOpen:140,wiperClose:141,setCruise:132,decCruise:133,cruiseStart:136,cruiseStop:0},F_=[25,50,75,100,125,150,175,200,225,250],O_=[1,2,3,4,5,6,7,8,9,16],U_=[16,48,80,112,144,160,176,192,208,224];function j_(t){const e=x_,{type:s,speed:i=5,index:r=0}=t,n=F_[(i||5)-1]||F_[4];let o,a,h,c;if(o=M_[s],!o)return"";switch(s){case B_.up:case B_[e(497)]:case B_[e(469)]:case B_[e(494)]:h=n;break;case B_[e(484)]:case B_[e(477)]:case B_[e(498)]:case B_.focusNear:a=n;break;case B_.leftUp:case B_[e(476)]:case B_[e(472)]:case B_[e(474)]:a=n,h=n;break;case B_.zoomExpand:case B_[e(487)]:c=U_[(i||5)-1]||U_[4];break;case B_[e(491)]:case B_[e(499)]:case B_.setPos:h=V_(r);break;case B_[e(471)]:case B_.wiperOpen:a=1;break;case B_[e(496)]:a=V_(r)}return function(t,e,s,i){let r=[];return r[0]=165,r[1]=15,r[2]=1,r[3]=0,r[4]=0,r[5]=0,r[6]=0,t&&(r[3]=t),e&&(r[4]=e),s&&(r[5]=s),i&&(r[6]=i),r[7]=(r[0]+r[1]+r[2]+r[3]+r[4]+r[5]+r[6])%256,function(t){const e=x_;let s="";for(let i=0;ie)){for(const n in t)Object[i(292)].hasOwnProperty[i(266)](t,n)&&(s===e?r[n]=K_(t[n]):typeof t[n]===i(277)?r[n]=Q_(t[n],e,s+1):r[n]=t[n]);return r}}function Y_(){const t=z_;return(new Date)[t(279)]()}class q_{constructor(t){const e=z_;let s=arguments[e(295)]>1&&void 0!==arguments[1]?arguments[1]:{};this[e(273)]=t,this[e(299)]=e(260),this[e(262)]=(null==s?void 0:s.logMaxSize)||204800,this[e(268)]=0,this.logTextArray=[],this[e(273)][e(270)](this.TAG_NAME,e(291))}[z_(285)](){const t=z_;this[t(275)](),this[t(273)][t(270)](this[t(299)],t(285))}[z_(275)](){const t=z_;this.logSize=0,this[t(272)]=[]}[z_(289)](){const t=z_;let e="";try{for(var s=arguments.length,i=new Array(s),r=0;rQ_(t)));e=t(261)+Y_()+JSON[t(269)](n)}catch(t){return}if(this[t(268)]+=e[t(295)],this[t(272)][t(257)](e),this.logSize>this[t(262)]){const e=this[t(272)][t(274)]();this.logSize-=e[t(295)]}}[z_(256)](){const t=z_;return this.logTextArray[t(278)]("\n")}[z_(258)](){const t=z_,e=this[t(256)]();return new Blob([e],{type:t(283)})}download(){const t=z_,e=this[t(256)]();this[t(275)]();const s=new Blob([e],{type:"text/plain"});Or(s,t(271)+Y_()+t(264))}}function J_(){const t=["bind","6ktIjjm",", status: ","onLine","Network","init","10QHhLtj","_updateOnlineStatus","3822pRrloE","isOffline","905556NvFvNg"," -> ","online","_startCheck","1592505iJZVMQ","_stopCheck","prevOnline","isOnline","2872ppwsdl","2777283eUreTX","player","388828TkhWuA","2swPDAO","emit","removeEventListener","interval","_updateOfflineStatus","debugLog","TAG_NAME","addEventListener","logStatus","off","152208uLGeBe","prevOnline: ","offline","_initListener","100794ZogNCY"];return(J_=function(){return t})()}const X_=Z_;function Z_(t,e){const s=J_();return(Z_=function(t,e){return s[t-=359]})(t,e)}!function(t,e){const s=Z_,i=t();for(;;)try{if(258531===-parseInt(s(388))/1*(parseInt(s(378))/2)+parseInt(s(392))/3+parseInt(s(366))/4+-parseInt(s(370))/5*(parseInt(s(394))/6)+-parseInt(s(364))/7*(-parseInt(s(374))/8)+-parseInt(s(375))/9*(-parseInt(s(362))/10)+-parseInt(s(377))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(J_);class $_ extends mi{constructor(t){const e=Z_;super(),this.player=t,this[e(384)]=e(360),this[e(368)]=this.isOnline(),this[e(372)]=this.online,this[e(381)]=null,this[e(391)](),this[e(376)].debugLog(this.TAG_NAME,e(361))}destroy(){const t=Z_;this[t(387)](),this[t(371)](),window[t(380)](t(368),this._updateOnlineStatus),window[t(380)](t(390),this[t(382)]),this.player[t(383)](this[t(384)],"destroy")}[X_(391)](){const t=X_;window[t(385)]("online",this[t(363)][t(393)](this)),window[t(385)](t(390),this[t(382)][t(393)](this))}[X_(371)](){const t=X_;this[t(381)]&&(clearInterval(this[t(381)]),this[t(381)]=null)}[X_(369)](){const t=X_;this[t(381)]=setInterval((()=>{const e=t;this[e(373)]()!==this[e(372)]&&(this.isOnline()?this._updateOnlineStatus():this[e(382)]())}),1e3)}[X_(363)](){const t=X_;this[t(372)]=this[t(368)],this.online=!0,this[t(386)](),this[t(379)]("online")}_updateOfflineStatus(){const t=X_;this[t(372)]=this.online,this[t(368)]=!1,this[t(386)](),this[t(379)]("offline")}logStatus(){const t=X_,e=this.prevOnline?"online":t(390),s=this.online?t(368):t(390);this[t(376)][t(383)](this[t(384)],t(389)+this[t(372)]+", online: "+this.online+t(395)+e+t(367)+s)}[X_(373)](){const t=X_;return void 0===navigator.onLine||navigator[t(359)]}[X_(365)](){return!this.isOnline()}}function tC(t,e){const s=eC();return(tC=function(t,e){return s[t-=269]})(t,e)}function eC(){const t=["filetype","substr","8rVRlkA","search","origin","length","4596aYgONI","4513250dSWRia","6MRFfwV","pathname","port","apply","hostname","1276yxmnrA","5820920XSJEzb","The URL did not match the expected pattern, url=","host","location","1354365QNprIT","760128crdVwZ","hash","test","SyntaxError","5194865YNcWtw","fromCharCode","href","478205eHKiye"];return(eC=function(){return t})()}!function(t,e){const s=tC,i=t();for(;;)try{if(521147===parseInt(s(291))/1+parseInt(s(284))/2+-parseInt(s(271))/3*(-parseInt(s(278))/4)+-parseInt(s(288))/5*(parseInt(s(273))/6)+parseInt(s(272))/7+parseInt(s(294))/8*(parseInt(s(283))/9)+-parseInt(s(279))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(eC);const sC=iC;function iC(t,e){const s=rC();return(iC=function(t,e){return s[t-=438]})(t,e)}function rC(){const t=["narrowZoom","_loadingTimeoutReplayTimes","simdH264DecodeVideoWidthIsTooLarge and simdDecodeErrorReplay is false","_resetPlayer() player has not loaded and load success,next destroy and init player","getPlayVodDuration","online","mediaSourceBufferedIsZeroErrorOnLock","flv Demux Buffer Size Too Large and reset player and play error","clearBufferDelay","narrowPrecision","isDestroyedOrClosed","videoElementPlayingFailed and reset player and play error","mediaSourceH265NotSupport but player is destroyed","toggleZoom() ","mediaSourceH265NotSupport and pause error","pause -> play and destroy play","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play error","downloadFmp4File","networkDelay","_doInitLoadingBackgroundForRatio","webrtcStreamH265 and reset player and play success","startRecord() player is not ready","resetPlayer() success","mediaSourceAudioNoDataTimeout error and pause error","s must be less than heartTimeout ","simdH264DecodeVideoWidthIsTooLargeOnLock","webcodecsAudioInitTimeout","mediaSourceDecoderConfigurationError and autoWasm is false","decoderErrorAutoWasm","webcodecs decode error and pause error","_handlePlaybackEnd","delay timeout and pause error","playbackConfig.rateConfig.length is 0, showRateBtn can not be ture, showRateBtn is set to false","sampleRate","mediaSourceBufferedIsZeroError _resetPlayer and play error","_handleWasmUseVideoRenderError","this.player.play 4","updateDrawRectangleConfig","webglAlignmentError and pause error","videoElementPlayingFailedForWebrtcOnLock","setControlHtml() player is not init","isFlv","JbPro Version is ","_tempPlayBgObj","this._opt.isLive is false, can not playback","loadingTimeoutRetryEndShowPlayBtn","sendWebsocketMessage","fetchErrorOnLock is true","webcodecsH265NotSupport auto wasm [wcs-> wasm] _resetPlayer and play error","mseWidthOrHeightChange but player is destroyed","removeFullscreenWatermark() watermark is not init","toggleDrawRectangle","_handleMediaSourceDecoderConfigurationError","currentTime","playbackResumeTimeout","setPtzPosition"," and\n opt.heartTimeoutReplay is ","] reset player and play","widthOrHeightChangeReplay","getControlExtendBtnActive() ","onload","bind","endsWith","player is not playing","loadingTimeoutReplayTimes","$loadingBg","mseAddSourceBufferError","mseWorkerAddSourceBufferError and reset player and play","playVodPause"," and end is ","playVodSeek","_handleMediaSourceTsIsMaxDiff","webglAlignmentErrorOnLock","playVodEndedAndReplay and reset player and play error","webglAlignmentError","screenshot() player is not ready",' must be "http:" or "https:" or "webrtc:" or "ws:" or "wss:" or "wt:" or "artc:" protocol',"WebPlayerPro","mediaSourceAudioInitTimeout and reset player and play error","wt:","setCryptoKeyUrl()","ws://","webcodecsH265NotSupport and pause error","_handleMseWorkerAddSourceBufferError","streamEnd and _resetPlayer() but player is destroyed and return","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play error","quality: ","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play success","JessibucaPro","webcodecsAudioInitTimeout but player is destroyed","hideErrorMessageTips","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play","videoBuffer","webglContextLostErrorOnLock","webcodecs decode error and autoWasm is false","aiFaceDetectWidth","simdDecodeError error simdDecodeErrorReplayType is ","mediaSourceUseCanvasRenderPlayFailedReplay","togglePerformancePanel() ","setAspectRatio() ","aiFaceDetectLevel","wcsDecodeErrorReplay","mediaSourceFull and reset player and play error","mediaSourceAudioInitTimeout and _resetPlayer error","_playBefore _play error","watermark","streamEnd pause","setDebug() ","initDecoderWorkerTimeout","nodeName","audioInfo","updateWatermark()","player","mediaSourceAudioG711NotSupport error and pause error","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play success","isLive","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play","getControlHeight","player._opt.operateBtns.quality is false","webrtc:","updatePlaybackLocalOneFrameTimestamp","objectDetectClose","playbackEnd but player is destroyed","mseSourceBufferError reset player and play success","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play success","setBufferTime() buffer time is ","notSupportNewWasm","mseAddSourceBufferError but player is destroyed","stopRecordAndSave","setM7sCryptoKey()","assign","updateGhostWatermark","nakedFlow","mediaSourceAudioG711NotSupport and reset player and play error","heartTimeout","mseWidthOrHeightChangeOnLock","videoElementPlayingFailedForWebrtc","mseWaitVideoCanplayAutoWasm","simdDecodeError and reset player and play success","setXorCryptoKey() player is null","removeGhostWatermark() player is not init","downloadTempFmp4File","pauseAndNextPlayUseLastFrameShow","_removeTimeout","emit","mirrorRotate","srcObject"," rotate(","recording","setBufferDelayTime() ","_playNext and waiting decoderWorkerInit callback","getPTZCmd","removeAttribute","mediaSourceUseCanvasRenderPlayFailed and pause player success","aiObjectDetectWidth","mseWidthOrHeightChange","debugWarn","load","mseWaitVideoCanplayTimeout but player is destroyed","getControlExtendBtnActive","mediaSourceTsIsMaxDiff and replay is false","setTimeout","setXorCryptoKey()","_bindEvents","networkDisconnectReplay"," second, is too large, video will show blank screen until cache ","streamEndReplayDelayTime","render type is video, not support clearView, please use canvas render type","isSm4Crypto","hlsErrorOnLock","fetch error and pause","getFlvMetaData","getCopyrightWatermarkHash","setTimeout error: ","isFmp4","setStartTime","getIsDebug","webcodecsAudioNoDataTimeoutOnLock","getExtendHtmlIsShow","screenshotWatermark()","updateDynamicWatermark() player is not init",", streamErrorReplayDelayTime is ","decoderWorkerInitError but player is destroyed","networkDelayTimeout but player is destroyed","902153Kheakc","zoom","getVideoInfo","clearContentToContainer()","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play","hasLoaded","3912372mtiQMf","websocketError error and streamErrorReplay is true and _streamErrorReplayTimes is ","objectDetectOpen","dynamicWatermark","webglAlignmentError and webglAlignmentErrorReplay is false","calc(","faceDetectClose()","webglContextLostErrorReplay","hlsError","downloadMpeg4File","webrtcStreamH265OnLock","playbackPauseTimeout","removeWatermark()","webcodecsDecodeErrorOnLock is true","simdDecodeError and reset player and play error","objectFit","2bsnHGi","webFullscreen","removeDynamicWatermark()","clearBufferDelay()","cryptoKeyUrl","playVodPause()","getControlHtmlIsShow","setControlHtml","updateAiFaceDetectInterval","setScaleMode() player is null","setExtendHtml()","videoBuffer ","decoderWorkerInitError and pause player","clearContentToCanvas","simdH264DecodeVideoWidthIsTooLarge and reset player and play error","removeFullscreenWatermark","streamEnd and 1006 error and reset player and play error",".ts","openZoom() failed, this.player is destroyed or paused","_handleMseWaitVideoCanplayTimeout","webcodecsH265NotSupportOnLock is true","hlsError error and network is offline and wait network online to play , so _resetPlayer and wait play","loadingTimeoutRetryEnd and\n opt.loadingTimeout is ","updateControlSize","_isNetworkOfflinePausedAndNextPlayConfig","setVolume() ","setMirrorRotate() player is null"," is invalid, protocol is ","mseWaitVideoCanplayTimeout","jb-pro-fullscreen-web","once","sendWebsocketMessage()","style","aliyunRtc","_handleMediaSourceAudioG711NotSupport","setFullscreen","_handleWebcodecsDecodeError","_handleSimdDecodeError","setPlaybackStartTime","mediaSourceUseCanvasRenderPlayFailedReplayType","'updateAiObjectDetectLevel() level ","mediaSourceAudioInitTimeout and reset player and play success",".m3u8","wasm decode error and reset player and play success",'playVodSeek() params "time": ',"webcodecsAudioInitTimeout and reset player and play success","need reset player and\n isOldHls is ","getRenderElement","this.player.play 5","memoryLogger","updatePlaybackForwardMaxRateDecodeIFrame() ","finally","webcodecsUnsupportedConfigurationError","fetchError","player is not ready","src","getAudioEngineType","_play","encType","setXorCryptoKey","string","_pause","beforeDestroy","_handleWebcodecsH265NotSupport","objectDetectOpen() player is not init","mediaSourceAppendBufferError","mseDecodeErrorReplay","objectDetectClose() player is not init","openDrawRectangle()","mediaSourceH265NotSupport and autoWasm is false","CANVAS","mseDecodeError","fetchErrorOnLock","webcodecsAudioNoDataTimeout and reset player and play error","playing","not playing","isPaused","videoInfoError and pause","streamEndOnLock","complete","delayTimeout","setPtzPosition() player is null","closeDrawRectangle()","updateAiFaceDetectInterval()","isHls","artc:","isPause","getFlvMetaData() player is null","simdH264DecodeVideoWidthIsTooLargeReplay","showPerformance","mediaSourceBufferedIsZeroError reset player and play success","_initLoadingBg","websocket1006ErrorReplayDelayTime","playFailedAndPaused",", next replay","_handleDecoderWorkerInitError","totalDuration","networkDelayTimeoutReplay","loadingBackground","fetch","dropBuffer$2","_checkHasCreated","simdH264DecodeVideoWidthIsTooLarge and _resetPlayer error","mseWidthOrHeightChange error and pause error"," and is not meaningful Retry","webglAlignmentError and play error","playError","color","_heartTimeoutReplayTimes","this.player.play 3","setKeepScreenOn() player is not ready","isWebrtcForOthers","forEach","_checkIsMeaningfulRetry","mediaSourceAudioNoDataTimeout but player is destroyed"," and network online and _streamErrorReplayTimes is ","\n and destroy and play new url","playbackEndOnLock","webglAlignmentError and _resetPlayer error","setRotate() player is null","mediaSourceUseCanvasRenderPlayFailed relayType is ","setWebFullscreen() player is not ready","supportHls265","playbackEndOnLock is true"," and\n isAliyunRtc is ","reject","playbackConfig.isUseFpsRender is false, isCacheBeforeDecodeForFpsRender can not be ture, isCacheBeforeDecodeForFpsRender is set to false","toggleControlBar() ","loaded","hls","_handleWebcodecsAudioInitTimeout","getBoundingClientRect","mediaSourceBufferedIsZeroErrorOnLock is true","retry type is "," and\n opt.loadingTimeoutReplay is ","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play success","openDrawRectangle() failed, this.player is not init","mseSourceBufferError auto wasm ",'JbPro option "',"downloadMemoryLog","webTransport","mediaSourceH265NotSupportOnLock","_getContainerRect","fetchError but player is destroyed","rotate","appendChild","expandZoom()","top","togglePerformancePanel() failed, this.player is not init","setNakedFlowFps() fps is empty","mute","clearControlHtml","left","mediaSourceAppendBufferErrorOnLock is true","JbPro need container option","https://","playback() ","%20%E4%BD%93%E9%AA%8C","wcs","webrtcError","setNakedFlowFps","destroy() player has not loaded and waiting load","playbackClearCacheBuffer","setRate","webcodecsH265NotSupport and autoWasm is false"," and opt.cryptoKeyUrl: ","networkDelayTimeout","getPlayVodCurrentRate","isM7sCrypto","decoderWorkerInitErrorOnLock","playVodForwardJumping","videoInfoErrorOnLock","webrtcStreamH265 but player is destroyed","webglContextLostError and play success","websocketErrorOnLock","fullscreenWatermarkConfig","clearControlHtml() player is not init","100%","webcodecsAudioNoDataTimeoutOnLock is true","demux","removeChild","streamErrorReplayDelayTime","webcodecsUnsupportedConfigurationErrorOnLock","simdDecodeError and _resetPlayer error","fullscreenWatermarkConfig text is empty","updateGhostWatermark() player is not init","addContentToContainer","playbackEnd","updateControlSize() ","watermark_txt","openZoom","showErrorMessageTips","playVodSeek() ","mediaSourceAudioG711NotSupportOnLock","this._opt.url === url and ","videoElementPlayingFailedForWebrtc but player is destroyed","cancelMute() and is mute is ","mseWorkerAddSourceBufferError"," and old is ","webcodecs decode error _resetPlayer error","isPlaying","mediaSourceTsIsMaxDiff reset player and play","proxy","playbackClearCacheBuffer()","px 0","simdDecodeErrorReplayType","mseWorkerAddSourceBufferError and reset player and play success","wasmUseVideoRenderError and reset player and play","toggleControlExtendBtn","mediaSourceFull and autoWasm is false","getOption","aliyunRtcError and pause player","_handleWebglAlignmentError","webrtcError error and network is offline and wait network online to play , so _resetPlayer and wait play","_resetReplayTimes","/index/api/webrtc","removeWatermark() player is not init","updateDynamicWatermark()","loadingBackgroundHeight","videoElementPlayingFailedOnLock","mediaSourceTsIsMaxDiffReplay","resize","mediaSourceAudioInitTimeoutOnLock","$videoElement","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] _resetPlayer error","playVodBackwordJumping() ","getControlBarShow() player is null","debugUuid","wasm decode error and reset player and play error","mediaSourceUseCanvasRenderPlayFailed and pause"," and\n isMpeg4 is ","videoInfo","events","div","setPtzPosition()","https:","mediaSourceTsIsMaxDiffOnLock is true","wasmWidthOrHeightChange and reset player and play success","keys","playbackConfig","networkState","mediaSourceDecoderConfigurationError but player is destroyed","loadingTimeoutRetryEnd","clearContentToCanvas()","webglAlignmentErrorOnLock is true","streamEnd and reset player and play success","join","mediaSourceAudioInitTimeout"," rotateY(180deg)","none","_websocket1006ErrorReplayTimes","_handleFlvDemuxBufferSizeTooLarge","isCrypto","wasmWidthOrHeightChange and _resetPlayer error"," rotateX(180deg)"," is not valid","screenshot","wcsWidthOrHeightChange and _resetPlayer error","webglAlignmentErrorReplay","playbackPause","playVodBackwordJumping","sendWebsocketMessage() player is not init"," and this.player.fullscreen is ","delay timeout replay error","_resetPlayer error","init success and version is ","videoElementPlayingFailed and videoElementPlayingFailedReplay is false","videoElementPlayingFailedForWebrtcOnLock is true","hideErrorMessageTips() player is null","mseWidthOrHeightChange and reset player and play","_handleWebglContextLostError","wcsWidthOrHeightChange error and pause error","multiIndex","classList","isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender","startsWith","simdH264DecodeVideoWidthIsTooLarge and reset player and play","_handleNetworkDelayTimeout","_getVideoLastIframeInfo","mseDecodeAudio","mpeg4","flvDemuxBufferSizeTooLargeReplay"," type","_handleStreamEnd","mediaSourceDecoderConfigurationError and pause error","disablePictureInPicture","streamEnd and 1006 error and _resetPlayer() but player is destroyed and return","clearBufferDelay() player is not init","getControlHtml","openDrawRectangle",".jb-pro-loading-bg-for-ios","_initOnLock"," res is null","updateWorkConfig","updateLoadingText","warn","isUseFpsRender","hlsError and _resetPlayer error","setPlayFailedAndPaused","aliyunRtcErrorOnLock","getCrashLog","url is not support","loading timeout but player is destroyed","_handleLoadingTimeout","videoElementPlayingFailed and useMSE is ","forward","getPlayingTimestamp","streamEnd and 1006 and _resetPlayer error","mediaSourceAudioNoDataTimeout and reset player and play","mediaSourceAudioG711NotSupportReplay","_handleWebcodecsDecodeConfigureError","removeGhostWatermark()","streamEnd and network is disconnect and _resetPlayer() but player is destroyed and return","setMirrorRotate","setRotate","webrtcErrorOnLock is true","_wcsDecodeErrorRetryLog","wasmUseVideoRenderError and reset player and play success","wasmWidthOrHeightChangeOnLock is true","webcodecsAudioNoDataTimeout and _resetPlayer error","delayTimeoutRetryEnd and\n opt.heartTimeout is ","debugLevel"," and this._opt.playType is ","_handleInitDecoderWorkerTimeout","_destroyed","webcodecsAudioNoDataTimeout and reset player and play","and is not meaningful retry","startRecord() ","setControlHtml()","websocket","getDecodeType","TAG_NAME","webcodecsAudioNoDataTimeout and reset player and play success","mediaSourceAppendBufferError and isMSEAudioDecoderError is true so set mseDecodeAudio = false","mediaSourceAudioInitTimeout and reset player and play","originalOptions","getPlaybackRate","isResize",", demuxType is ","isFullResize"," !== 32","getPlayVodCurrentTime","quality","simdDecodeError and simdDecodeErrorReplay is false","_handleHlsError","playFailedUseLastFrameShow","loading timeout _resetPlayer error",", and start is "," and\n loadingTimeoutReplayTimes is ","map","mediaSourceDecoderConfigurationErrorOnLock is true","websocket1006Error","_resetPlayer","mediaSourceTsIsMaxDiffOnLock"," [wcs-> ","loading timeout replay error","setAspectRatio","_handleWebrtcStreamH265","playbackNormal","toggleControlHtml","flv Demux Buffer Size Too Large and reset player and play success","getControlBarShow()","url","webrtcStreamH265 and reset player and play","_playNext and decoderWorkerInit callback and next play","_streamEndReplayTimes","decoderWorkerInit","webcodecsDecodeConfigureError","loadingTimeoutReplay","flvDemuxBufferSizeTooLarge","indexOf","padding","mseAddSourceBufferErrorOnLock is true","fmp4","container"," is not in qualityList","playbackResume","_playBefore","_resetPlayer()","simdDecodeErrorOnLock","isWebrtcForSRS","logCache","websocketError error and reset player and play success","webcodecsAudioNoDataTimeout but player is destroyed","playVodForward","_destroy","aliyunRtcError","push"," and network online and play success","clearExtendHtml()","removeWatermark","createElement","showPlayBtn","videoElementPlayingFailed",'" can not be undefined',"toggleControlBar() player is null","startRecord","resetPlayer()","videoBufferDelay","decoder","JbPro","webglContextLostError and _resetPlayer error"," and streamErrorReplayDelayTime is ","keepScreenOn","decoderWorkerWasmErrorOnLock","transform","updateIsEmitSEI() player is null",".fmp4","streamEnd pause player","updateIsEmitSEI()","playVodNormal","websocketError and pause","faceDetect","updateCurrentZoom()","playbackEnd and pause","mediaSourceFull and _resetPlayer error","play() ","_resetDemuxType","stringify","mediaSourceTsIsMaxDiff replay success","expandZoom() failed, zoom is not open or not init","playbackForwardMaxRateDecodeIFrame","mediaSourceAudioInitTimeoutOnLock is true","isZoomOpen","setWebFullscreen","streamEnd and websocket1006ErrorReplay is true and error is 1006 and _websocket1006ErrorReplayTimes is ","wasmUseVideoRenderError","removeDynamicWatermark() player is not init","_handleWebcodecsAudioNoDataTimeout","websocketError error and network is disconnect and reset player and play","aspectRatio","updateAiFaceDetectLevel","hlsErrorOnLock is true","removeDynamicWatermark","_handlePlayVodEnded","setDebug","getControlExtendBtnActive() player is null","_handleMediaSourceH265NotSupport","fullscreen","faceDetectOpen()","screenshotWatermark() player is not ready","isPlayback","isPlaybackPause","loadingTimeout and network is offline and wait network online to play , so return","webrtcStreamH265","delayTimeout and network is offline and wait network online to play , so return","setM7sCryptoKey","isControlTypeSimple","aliyunRtcErrorOnLock is true","_streamErrorReplayTimes","controlsList","isMpeg4","playVodConfig","playVodEndedAndReplay and _resetPlayer error","wasmUseVideoRenderErrorOnLock","toggleControlExtendBtn() ","className","cancelMute","mseWorkerAddSourceBufferError and reset player and play error","setNetworkDelayTime","audioResume() and call cancelMute()","mseSourceBufferErrorOnLock","height","_removeLoadingBackgroundForIOS()","videoElementPlayingFailed and _pause error","addContentToContainer()","mse","clear","aiObjectDetectLevel","updateIsEmitSEI","updateLoadingText()","mediaSourceAudioG711NotSupportOnLock is true","_handleMediaSourceAudioInitTimeout","webcodecsAudioNoDataTimeoutReplay","mediaSourceDecoderConfigurationError","_handleMediaSourceAppendBufferError","setNetworkDelayTime() network delay is ","togglePerformancePanel","_isNetworkOfflinePaused","setNakedFlowFps() player is null","simdH264DecodeVideoWidthIsTooLarge and reset player and play success","playbackPause() ","5cOkZYK","_handleMediaSourceBufferedIsZeroError","fetch error and reset player and play error","demuxUseWorker","isAliyunRtc","play vod ended and pause error","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play error","isNotMute","deg)","updateAiObjectDetectLevel() player is null","getPTZCmd()","toggleExtendHtml","setRotate() ","cancelRecord() player is not ready","getFlvMetaData()","wcsWidthOrHeightChangeOnLock is true","videoInfoError and pause player","videoElementPlayingFailedReplay","loadingBackgroundWidth","playing and resolve()","websocket1006ErrorReplay","updateAiObjectDetectLevel()","playType","mute()","websocketError and pause player","setBufferDelayTime() player is null","timeout","player is not init","destroy","mseSourceBufferError auto wasm [mse worker -> mse] reset player and play","play vod ended and pause success","?stream=","wcsWidthOrHeightChange and reset player and play error","objectDetectOpen()","getMetaData","closeDrawRectangle","mediaSourceDecoderConfigurationErrorOnLock","mseWaitVideoCanplayTimeoutOnLock is true","useWCS","6yHzVoc","wasmUseVideoRenderError and _resetPlayer error","cryptoIV",".mpeg4","controls","setShowPrecision","setPlaybackStartTime() control type is simple and timestamp: ","decoderWorkerWasmError","setFullscreen() fullscreen is "," and\n needResetPlayer(url change) is ","log","wasmWidthOrHeightChange and reset player and play error","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play success","showTipsMessageByCode","mediaSourceUseCanvasRenderPlayFailed and reset player and play error","expandPrecision","catch","setBufferTime() ","setPlaybackStartTime() playType is not playback","mseDecoderUseWorker","calc(100% - ","jb-pro-loading-bg-for-ios","_isNeedNetworkDisconnectReplay","flvDemuxBufferSizeTooLargeOnLock is true","/rtc/v1/play/","network",'playVodForward() params "rate": ',"mseSourceBufferError reset player and play error","wcsWidthOrHeightChange and reset player and play success","_initNetwork","audioResume","decoderWorkerInitErrorOnLock is true","updateFullscreenWatermark","19965530Pcfzty","useSIMD","_handleMediaSourceUseCanvasRenderPlayFailed","streamEnd and _resetPlayer error","JbPro decoder ","_mseDecodeErrorRetryLog","currentZoom","webrtcStreamH265 and reset player and play error","cryptoKey","hlsError and pause player","useMSE","url ","mseSourceBufferError and autoWasm is false","getExtendBtnList() player is null","webrtcError and pause"," , delay ","notSupportNewWasmOnLock","webcodecsH265NotSupportOnLock","ws:","mseWorkerAddSourceBufferError but player is destroyed","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play success","updateOption","expandZoom","playVodEnded","isControlTypeNormal","webcodecsAudioInitTimeout and _resetPlayer error","decoderWorkerInit and play error","m7s","fill","flv","webcodecsDecodeConfigureError and pause error","_handleWebsocketError","close","decoderWorkerWasmError and pause","setMirrorRotate() ","mseWaitVideoCanplayTimeoutOnLock","canvas","controlSize","simdDecodeErrorReplay","init start","getAllStatsData","flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeReplay = true and reset player and play","nodownload","mediaSourceFullOnLock","_handleDelayTimeout","narrowZoom()","webcodecsDecodeErrorOnLock","updateWatermark","player is null","mediaSourceAudioNoDataTimeoutReplay","webcodecsDecodeConfigureError and autoWasm is false","streamEndReplayDelayTimeout","_pause() ","ghostWatermark","mediaSourceAppendBufferErrorOnLock","playback","loadingTimeout","streamEnd","wasmUseVideoRenderError and reset player and play error","_destroyLock","flvDemuxBufferSizeTooLargeOnLock","isMSEVideoDecoderInitializationFailedNotSupportHevc","pause","screenshotWatermark","mediaSourceFullOnLock is true","_resetPlayer() player has loaded","getExtendBtnList()","setSm4CryptoKey","JbPro container type can not be ","fetch error and pause player","downloadTempNakedFlowFile","webcodecsUnsupportedConfigurationError but player is destroyed","qualityConfig","updateDynamicWatermark","mseWidthOrHeightChangeOnLock is true","not recording","wcsWidthOrHeightChangeOnLock"," must be decoder-pro.js or decoder-pro-simd.js","mediaSourceAudioG711NotSupport and _resetPlayer error","decoder-pro-simd.js"," and this._opt.aspectRatio is ","videoElementPlayingFailedForWebrtc and pause player","JbPro container has been created and can not be created again","playVodForwardJumping() ","rateConfig","setAspectRatio() player is null","getExtendHtml","setSm4CryptoKey() player is null","isWebFullscreen","muted","wcsDecodeError","isMute","_hasLoaded","singleWatermark","mseAddSourceBufferErrorOnLock","drawingRect","clearContentToContainer() player is not init","websocketError but player is destroyed","mseWorkerAddSourceBufferError and _resetPlayer error","artc://","decoderWorkerWasmErrorOnLock is true","streamEndReplay","mediaSourceH265NotSupport","webglAlignmentError but player is destroyed","EVENTS","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play","absolute","then","networkDelayTimeoutOnLock","mediaSourceBufferedIsZeroError reset player and play error","_handleWcsWidthOrHeightChange","mediaSourceFull and reset player and play success","wasm decode error and _resetPlayer error","wcsWidthOrHeightChange","notSupportNewWasm auto wasm [wasm-> old wasm] _resetPlayer and play error","isWebrtcH265","webcodecsUnsupportedConfigurationErrorOnLock is true","m7sCryptoKey","updateDebugLevel() player is null","screenshotCopyrightWatermark() player is not ready","setSm4CryptoKey()","level","mediaSourceUseCanvasRenderPlayFailed auto and _resetPlayer and play error","forward() method only just for playback type","webcodecsH265NotSupport","playType is not playback"," and network online and play error","playVodEndedAndAutoReplay","webrtc://","mediaSourceH265NotSupportOnLock is true"," second, is too small",".h265","reset player error"," and\n local._loadingTimeoutReplayTimes time is ","volume","webcodecsAudioInitTimeoutOnLock","showTipsMessageByContent","loading","mediaSourceUseCanvasRenderPlayFailed and reset player and play success","updateAiObjectDetectInterval()","setExtendHtml() player is not init","playVodResume()","JbPro need container option and now container is","memoryLog","getPTZCmd() ptz is null","mseSourceBufferError","isTs","14510720DOejTk","streamEnd pause player "," !== 32 or iv length ","sm4CryptoKey","_websocket1006ErrorRetryLog","s , it is recommended to set it to less than 10s","webcodecsAudioNoDataTimeout","playVodForwardJumping() method only just for play vod type","resetPlayer() error","setStreamQuality","hlsError and pause","isDestroyed","playFailedAndPausedShowMessage","initPlaybackCacheLoop","websocketError error and network is disconnect and _resetPlayer() but player is destroyed and return","max","scale(","aiObjectDetectInterval"," is not a number","playVodEndedAndReplay and reset player and play success","aiFaceDetectInterval","_handleWasmWidthOrHeightChange","mseWorkerAddSourceBufferErrorOnLock","cryptoKeyUrl: getM7SCryptoStreamKey ","_tempPlayerIsMute","faceDetectClose() player is not init","playbackCurrentTimeScroll","faceDetectOpen() player is not init","play vod ended and pause player","simdH264DecodeVideoWidthIsTooLarge but player is destroyed","updateControlSize() failed, this.player is not init","mseAddSourceBufferError auto wasm [mse-> wasm] _resetPlayer and play error","JbPro is destroyed","_handleMediaSourceFull","mediaSourceAppendBufferError and pause error","downloadTempMpeg4File","wasmWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed","mediaSourceAudioNoDataTimeout and _resetPlayer error","webglContextLostError and play error","webcodecsUnsupportedConfigurationError and pause error","playbackCurrentTimeScroll()"," [mse-> ","763932deBZni","_resetPlayer() error","playVodSeek() method only just for play vod type","_doInitLoadingBackgroundForVideo","_handlePlayVodEnded but player is destroyed","debugLog","mediaSourceFull","clearExtendHtml() player is not init","heartTimeoutReplay","remove","openDrawRectangle() failed, this.player is destroyed or paused","error","this.player.play 2","cancelRecord","getUrl","getVolume","mediaSourceAudioNoDataTimeout","_resetPlayer() player has not loaded and waiting load","mediaSourceUseCanvasRenderPlayFailedOnLock","toggleZoom","default","isXorCrypto"," and this._opt.mirrorRotate is ","mediaSourceTsIsMaxDiff and pause error","clearView()"," protocol is ","toggleControlHtml() ","toggleExtendHtml() player is not init","ERROR","toggleControlBar","mediaSourceH265NotSupport auto wasm [mse-> wasm] _resetPlayer error","setPlaybackShowPrecision","heartTimeoutReplayTimes","_handleVideoInfoError","toggleControlExtendBtn() player is null","mediaSourceAppendBufferError and auto wasm ","streamEnd and network is disconnect and reset player and play","destroy() player has not loaded and load success and next destroy","decoderWorkerInitError","webcodecsDecodeConfigureErrorOnLock","mediaSourceFull and auto wasm ","webcodecsAudioInitTimeoutReplay","downloadNakedFlowFile","_doInitLoadingBackgroundForCanvas","'updateAiFaceDetectLevel() level ","_handleDecoderWorkerWasmError","offline","_initWatermark","control type is not normal , not support!"," must be number type","isRecording","origin","flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeEmitFailed = true and pause player","simdDecodeError error and pause error","fetch error and network is disconnect and reset player and play","fetch error and network is offline and wait network online to play , so return","wasm","stopRecordAndSave() ","playVodResume","delay timeout replay but player is destroyed","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play error","toggleControlHtml() player is not init","webglContextLostError","InitDecoderWorkerTimeout and pause player","websocketError","_handleMseWidthOrHeightChange","getRenderType","mseWidthOrHeightChange and _resetPlayer error","updatePlaybackLocalOneFrameTimestamp() ","audio","mediaSourceFull and pause error"," and\n opt.loadingTimeoutReplayTimes is ","JbPro videoBuffer ","forward() and this._opt.isLive is ","clearContentToCanvas() player is not init","mediaSourceAudioNoDataTimeoutOnLock","playbackResume()","objectDetect","isDrawRectangleOpen","widthOrHeightChangeReplayDelayTime","videoInfoError but player is destroyed","updateLocalOneFrameTimestamp","playbackTF","removeGhostWatermark","mediaSourceAppendBufferError and reset player and play success","_clearInitDecoderWorkerTimeout","resetPlayer","setNetworkDelayTime() ","fetch error and _resetPlayer error","videoElementPlayingFailed and reset player and play success","mediaSourceAppendBufferError and autoWasm is false","_handleMseAddSourceBufferError","narrowZoom failed, zoom is not open or not init","_tempVideoLastIframeInfo","_getOriginalOpt","extractScreenshotCopyrightWatermark","fetch error and reset player and play success","wasmWidthOrHeightChange","jb-pro-container","play url ","includes","isCacheBeforeDecodeForFpsRender","updateAiObjectDetectInterval() player is null","delay timeout and\n replay time is ","img","recorder","mediaSourceUseCanvasRenderPlayFailed","objectDetectClose()","operateBtns","websocketError error and network is offline and wait network online to play , so return","querySelector","contain","_opt","mseWidthOrHeightChange and reset player and play error","$loadingBgImage","playVod","startRecord() player is not playing","simdH264DecodeVideoWidthIsTooLarge","aliyunRtcError and pause","simdDecodeErrorOnLock is true","width","playType is player, can not call playbackResume method","webglAlignmentError and play success","mediaSourceTsIsMaxDiff","isFullscreen","webrtcStreamH265 and _resetPlayer error","setScaleMode() ","webcodecsDecodeError","updateDebugLevel() level is not valid, level: ","nakedFlowFps","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play error","length","mediaSourceBufferedIsZeroError auto wasm ","setBufferDelayTime","mseWorkerAddSourceBufferErrorOnLock is true","mediaSourceAppendBufferError and reset player and play error","screenshotCopyrightWatermark","getPTZCmd() player is null","isAudioMute","_removeLoadingBackgroundForIOS","clientHeight","webcodecs decode error reset player and play error","s reset player and play","websocketErrorOnLock is true","type","getAudioInfo","wcsDecodeAudio","currentTimeScroll","setKeepScreenOn","replayUseLastFrameShow","play vod ended and replay player","simdH264DecodeVideoWidthIsTooLargeOnLock is true","fetch error and streamErrorReplay is true and _streamErrorReplayTimes is ","setExtendHtml","271408Xetsfj",".flv","_handleWebcodecsUnsupportedConfigurationError","zooming","isNakedFlow","destroy end","webcodecsDecodeConfigureErrorOnLock is true","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] _resetPlayer and play error","$container","setBufferTime() player is null","wasmWidthOrHeightChange and reset player and play","getControlBarShow",'forward() params "rate": ',"addContentToCanvas() player is not init","http://","fetch error and _resetPlayer but player is destroyed and return","setTimeout() ","closeZoom() failed, this.player is not init","webrtc","mediaSourceAudioG711NotSupport","setAttribute","crashLog","replayShowLoadingIcon","debug","vertical","videoElementPlayingFailed but player is destroyed","wcsWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed","_resetPlayer() end","isPlaybackUseMSE",", options: ","_handleFetchError","mseSourceBufferError and pause error:","play","px)","decoderWorkerWasmError but player is destroyed","_handleAliyunRtcError","webcodecsDecodeError but player is destroyed","normal","_checkInitDecoderWorkerTimeout","streamEnd but player is destroyed and return","mediaSourceUseCanvasRenderPlayFailedOnLock is true","streamEnd and 1006 error and reset player and play success","wasmWidthOrHeightChangeOnLock","toFixed","getStatus","_cryptoPlay","closeZoom","toggleDrawRectangle() ","widthOrHeightChangeReplayDelayTimeout","playOptions","_handleWebrtcError","forward() method only just for play vod type","wasmWidthOrHeightChange but player is destroyed","delayTimeoutRetryEnd","cancelRecord()","togglePerformancePanel() failed, showPerformance is prev: ","network online and JbPro is destroyed","player is destroyed","decoderWorkerInit and play error and next pause error","setScaleMode","_handleVideoElementPlayingFailed","simdDecodeError","videoInfoError","toString","network online","openZoom() failed, this.player is not init","showRateBtn","updateDebugLevel() level is same, level: ","closeDrawRectangle() failed, this.player is not init","updateAiFaceDetectLevel() player is null","updateDebugLevel()","_handleNotSupportNewWasm","mediaSourceBufferedIsZeroError","setKeepScreenOn()","_initPlayer","hideTipsMessage","_handleSimdH264DecodeVideoWidthIsTooLarge","updateFullscreenWatermark()","addContentToCanvas()","clearView","setAspectRatio() aspectRatio is ","streamEnd and 1006 error network is offline and wait network online to play , so return","playbackRate","hlsError but player is destroyed","split","wt://","autoWasm","video"," and\n isHlsCanVideoPlay is ","mediaSourceTsIsMaxDiff replay error","debugError","xorCryptoKey",'playVodForwardJumping() params "time": ',"_handlePlayVodEndedAndReplay","base64","decoderWorkerInitError and pause","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play","white","_updateMultiIndex ","playVodEndedAndReplay","hardDecodingNotSupportAutoWasm","openZoom()","show","ws1006","webrtcErrorOnLock","_handleVideoElementPlayingFailedForWebrtc","playType is player, can not call playbackPause method","setBufferDelayTime() buffer time delay is ","mediaSourceAudioG711NotSupport but player is destroyed","mseAddSourceBufferError and autoWasm is false","updateAiFaceDetectInterval() player is null","mseWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed","streamErrorReplayDelayTimeout","isWebrtcForZLM","mediaSourceAudioNoDataTimeout and reset player and play error","15760134xuWhSE","addContentToCanvas"," and reset player and play","wasmWidthOrHeightChange error and pause error","mseWaitVideoCanplayTimeout and autoWasm is false","png"];return(rC=function(){return t})()}!function(t,e){const s=iC,i=t();for(;;)try{if(935531===-parseInt(s(1188))/1*(parseInt(s(1515))/2)+parseInt(s(1034))/3+-parseInt(s(1499))/4*(parseInt(s(773))/5)+-parseInt(s(812))/6*(parseInt(s(1493))/7)+parseInt(s(992))/8+-parseInt(s(1303))/9+parseInt(s(845))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(rC);class nC extends mi{constructor(){const t=iC;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this[t(1146)]={},this.TAG_NAME="JbPro",this.$container=null,Object[t(529)](e)[t(1627)]((s=>{const i=t;if(void 0===e[s])throw new Error(i(1653)+s+i(685))})),this.originalOptions=e;const s=Ws();let i=Object[t(1439)]({},s,e);i[t(653)]="",i.isMulti&&(i[t(518)]=Gs()),this[t(1211)]=new Ht(this);let r=e[t(665)];if(typeof e[t(665)]===t(1575)&&(r=document[t(1144)](e.container)),!r)throw this[t(1278)]("JbPro",t(987),e.container),new Error(t(445));if(Js(i.isLive)){const e=document[t(682)](t(1275));return e[t(934)]=!0,e[t(1208)](t(741),t(887)),e[t(576)]="disablePictureInPicture",e[t(1547)].position=t(951),e[t(1547)][t(438)]=0,e[t(1547)][t(443)]=0,e.style[t(753)]="100%",e.style[t(1154)]=t(468),r[t(1660)](e),this[t(514)]=e,this.$container=r,void(this[t(1146)]=i)}if(i[t(690)]&&Js(-1!==i[t(690)][t(661)]("decoder-pro.js")||-1!==i[t(690)][t(661)](t(924))))throw this[t(1278)](t(691),t(849)+i[t(690)]+t(922)),new Error(t(849)+i.decoder+" must be decoder-pro.js or decoder-pro-simd.js");if(r[t(1418)]===t(1585)||"VIDEO"===r[t(1418)])throw this[t(1278)](t(691),t(913)+r.nodeName+t(573)),new Error(t(913)+r[t(1418)]+" type");if(i[t(1401)]>=i[t(1443)])throw this.debugError(t(691),"JbPro videoBuffer "+i[t(1401)]+"s must be less than heartTimeout "+i[t(1443)]+"s"),new Error(t(1106)+i[t(1401)]+t(1333)+i.heartTimeout+"s");if(!r.classList)throw this[t(1278)](this[t(622)],"JbPro container is invalid, must be a DOM Element",r),new Error("JbPro container is invalid, must be a DOM Element",r);if(this[t(1616)](r))throw this[t(1278)](t(691),t(927),r),new Error(t(927),r);if(r.classList.add(t(1132)),function(t,e,s){const i=Re;t&&(t[i(449)]?t[i(449)][e]=s:t.setAttribute(i(493)+e,s))}(r,E,Ze()),delete i[t(665)],cs(i.videoBuffer)&&(i[t(1401)]=1e3*Number(i[t(1401)])),cs(i[t(689)])&&(i.videoBufferDelay=1e3*Number(i.videoBufferDelay)),cs(i[t(1327)])&&(i[t(1327)]=1e3*Number(i[t(1327)])),cs(i[t(1012)])&&(i.aiFaceDetectInterval=1e3*Number(i[t(1012)])),cs(i[t(1009)])&&(i[t(1009)]=1e3*Number(i[t(1009)])),cs(i[t(799)])&&(as(i[t(901)])&&(i[t(901)]=i[t(799)]),as(i[t(1443)])&&(i[t(1443)]=i[t(799)])),cs(i[t(1274)])&&(as(i[t(1337)])&&(i[t(1337)]=i.autoWasm),as(i[t(1288)])&&(i.hardDecodingNotSupportAutoWasm=i[t(1274)]),as(i.mseWaitVideoCanplayAutoWasm)&&(i[t(1446)]=i[t(1274)])),cs(i[t(1409)])&&as(i[t(1404)])){const e=St[i[t(1409)]];e&&(i.aiFaceDetectWidth=e)}if(cs(i[t(759)])&&as(i[t(1463)])){const e=wt[i[t(759)]];e&&(i[t(1463)]=e)}qs(i[t(543)])&&(i.isM7sCrypto=!0),this._opt=i,this.debugLog(t(691),t(884)),i[t(1401)]>1e4&&this[t(1465)](this.TAG_NAME,t(1526)+i[t(1401)]/1e3+"s is too long, will black screen for "+i[t(1401)]/1e3+t(997)),this[t(615)]=!1,this[t(904)]=!1,this[t(1196)]=r,this[t(1352)]={},this._tempVideoLastIframeInfo={},this._tempPlayerIsMute=!0,this[t(1310)]=0,this._heartTimeoutReplayTimes=0,this[t(740)]=0,this[t(656)]=0,this._websocket1006ErrorReplayTimes=0,this[t(523)]=new hi(this),this[t(1146)].isUseNewFullscreenWatermark?this[t(1414)]=new L_(this):this[t(1414)]=new __(this),this[t(1564)]=new q_(this),this[t(837)]=new $_(this),this[t(996)]=[],this[t(850)]=[],this[t(607)]=[],this[t(769)]=!1,this[t(1539)]={},this[t(1236)]=null,this[t(1300)]=null,this.streamEndReplayDelayTimeout=null,this[t(1510)]=null,this[t(1363)]=null,this[t(1417)]=null,this.$loadingBgImage=null,this[t(1374)]=null,this._initOnLock(),this[t(1262)](r,i),this[t(1081)](),this[t(841)](),this[t(1039)](t(691),t(556)+Ve+":"+Ne),console.log(t(1351)+Ve+":"+Ne+" and is Trial Version[试用版本]")}[sC(801)](){return new Promise(((t,e)=>{const s=iC;if(this[s(1039)]("JbPro","destroy()"),this[s(904)])return e("JbPro is destroying");this[s(904)]=!0,this._destroyed=!0,this.off(),this[s(1452)](),this[s(1119)](),this[s(582)](),this[s(514)]&&(this.$videoElement[s(907)](),this.$videoElement[s(1362)]=0,this.$videoElement.srcObject&&(this[s(514)][s(1455)]=null,this[s(514)][s(1461)](s(1455))),this[s(514)][s(1570)]&&(this[s(514)][s(1570)]="",this[s(514)][s(1461)]("src")),this.$container&&this[s(1196)][s(471)](this[s(514)]),this.$videoElement=null),this[s(1173)]();const i=()=>{const i=s;this[i(1421)][i(801)]()[i(952)]((()=>{const e=i;this[e(1421)]=null,this[e(676)](),this[e(904)]=!1,t()}))[i(828)]((t=>{this[i(904)]=!1,e(t)}))};this[s(1421)]?this[s(937)]()?(this[s(1039)](this[s(622)],"destroy() player has loaded and next destroy"),i()):(this.debugLog(this[s(622)],s(452)),this[s(1421)].on(B[s(1466)],(()=>{const t=s;this[t(1039)](this[t(622)],t(1071)),i()}))):(this._destroy(),this._destroyLock=!1,t())}))}_removeTimeout(){const t=sC;this[t(1236)]&&(clearTimeout(this[t(1236)]),this.widthOrHeightChangeReplayDelayTimeout=null),this[t(1300)]&&(clearTimeout(this.streamErrorReplayDelayTimeout),this.streamErrorReplayDelayTimeout=null),this[t(896)]&&(clearTimeout(this[t(896)]),this[t(896)]=null),this[t(1510)]&&(clearTimeout(this.playbackPauseTimeout),this.playbackPauseTimeout=null),this[t(1363)]&&(clearTimeout(this.playbackResumeTimeout),this[t(1363)]=null)}[sC(676)](){const t=sC;this.events&&(this[t(523)][t(801)](),this[t(523)]=null),this[t(1414)]&&(this.watermark.destroy(),this[t(1414)]=null),this.network&&(this[t(837)][t(801)](),this.network=null),this[t(1564)]&&(this[t(1564)][t(801)](),this[t(1564)]=null),this[t(1196)]&&(this[t(1196)].classList[t(1043)](t(1132)),this[t(1196)][t(564)][t(1043)](t(1544)),function(t,e){const s=Re;t&&(t[s(449)]?delete t[s(449)][e]:t[s(676)](s(493)+e))}(this.$container,E),this[t(1196)]=null),this._tempPlayBgObj=null,this._tempVideoLastIframeInfo=null,this[t(769)]=!1,this._playerOnLock=!1,this[t(1539)]={},this[t(1016)]=!0,this[t(505)](),this[t(1039)]("JbPro",t(1193)),this[t(1146)]={},this[t(1211)]=null}[sC(505)](){const t=sC;this[t(1310)]=0,this._heartTimeoutReplayTimes=0,this[t(740)]=0,this._streamEndReplayTimes=0,this[t(541)]=0,this._websocket1006ErrorRetryLog=[],this[t(850)]=[],this[t(607)]=[]}_getOriginalOpt(){const t=sC,e=Ws();return Object[t(1439)]({},e,this[t(626)])}[sC(1262)](t,e){const s=sC;this.player=new E_(t,e),this[s(1472)]()}_resetPlayer(){const t=sC;let e=arguments[t(1165)]>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(((s,i)=>{const r=t;try{this[r(1039)](this.TAG_NAME,"_resetPlayer()",JSON[r(709)](e))}catch(t){this.debugLog(this.TAG_NAME,r(669),e)}const n=()=>{const t=r;this._opt[t(653)]="",this[t(1146)][t(1237)]={},this[t(1146)]=Object.assign(this._opt,e),this[t(1262)](this[t(1196)],this._opt)},o=()=>{const t=r;this[t(1421)][t(801)]()[t(952)]((()=>{const e=t;this[e(1421)]=null,n(),this.debugLog(this[e(622)],e(1215)),s()}))[t(828)]((e=>{const s=t;this[s(1278)](this.TAG_NAME,s(1035),e),i(e)}))};this[r(1421)]?this[r(937)]()?(this.debugLog(this.TAG_NAME,r(910)),o()):(this[r(1039)](this[r(622)],r(1051)),this[r(1421)].on(B[r(1466)],(()=>{const t=r;this[t(1039)](this[t(622)],t(1312)),o()}))):(n(),this.debugLog(this[r(622)],r(1215)),s())}))}[sC(1472)](){const t=sC;var e=this;Object[t(529)](M).forEach((s=>{const i=t;this[i(1421)].on(M[s],(function(){const t=i;for(var r=arguments.length,n=new Array(r),o=0;o{const s=t;this.player&&this.player[s(825)](e)})),this[t(1421)][t(1545)](B[t(1577)],(()=>{const e=t;this[e(1453)](B.close),this[e(801)]()[e(952)]((()=>{}))[e(828)]((t=>{}))})),this[t(1421)].on(B[t(512)],(()=>{const e=t;this[e(1414)]&&this[e(1414)][e(512)]()})),this.player.on(B[t(729)],(()=>{const e=t;this.watermark&&this[e(1414)].resize()})),this[t(1421)].on(B[t(522)],(()=>{const e=t;this[e(1421)]&&(this[e(1421)][e(938)]&&this[e(1421)][e(938)].resize(),this[e(1421)][e(898)]&&this[e(1421)][e(898)][e(512)](),this[e(1421)][e(1502)]&&this[e(1421)][e(1502)][e(512)]())})),this[t(1421)].on(B[t(988)],(function(){const s=t;e[s(1564)][s(672)](...arguments)})),this[t(1421)].on(B.downloadMemoryLog,(()=>{this[t(1654)]()}))}[sC(1081)](){const t=sC;if(this[t(1146)][t(466)].text=decodeURIComponent(b+t(448)),this._opt[t(466)][t(1622)]=t(1285),ws(this[t(1146)][t(466)])){const e=ds(this[t(1196)],this[t(1146)][t(466)]);if(!e[t(480)])return void this[t(1465)](t(691),t(475));this[t(1414)][t(1466)](e)}}[sC(841)](){const t=sC;this[t(837)].on(B[t(1314)],(()=>{const e=t;if(this[e(1453)](B[e(531)],B[e(1314)]),this[e(1003)]())this[e(1039)](this[e(622)],e(1244));else if(this.debugLog(this[e(622)],e(1252)),this[e(769)]&&this[e(1539)]&&this[e(1539)][e(653)]){const t=this._isNetworkOfflinePausedAndNextPlayConfig[e(653)],s=this[e(1539)][e(1237)];this[e(740)]++;const i=this[e(1539)][e(1178)]||"unknown";this[e(769)]=!1,this[e(1539)]={},this[e(1039)](this.TAG_NAME,i+e(1630)+this[e(740)]+e(1305)),this[e(1220)](t,s)[e(952)]((()=>{const t=e;this[t(1039)](this.TAG_NAME,i+t(679))}))[e(828)]((t=>{const s=e;this.emit(B[s(1608)],O.fetchError,{},t),this.debugError(this.TAG_NAME,i+s(971),t[s(1251)](),t)}))}})),this[t(837)].on(B[t(1080)],(()=>{const e=t;this.emit(B[e(531)],B.offline),this[e(1039)](this.TAG_NAME,"network offline")}))}[sC(1616)](t){if(!t)return!1;return!!function(t,e){const s=Re;return t?t[s(449)]?t[s(449)][e]:t[s(557)](s(493)+e):""}(t,E)}[sC(582)](){const t=sC;this[t(1381)]=!1,this[t(1402)]=!1,this.mediaSourceH265NotSupportOnLock=!1,this[t(888)]=!1,this[t(899)]=!1,this[t(752)]=!1,this.mediaSourceBufferedIsZeroErrorOnLock=!1,this[t(939)]=!1,this.mediaSourceDecoderConfigurationErrorOnLock=!1,this[t(644)]=!1,this[t(1444)]=!1,this[t(484)]=!1,this.mediaSourceAudioInitTimeoutOnLock=!1,this[t(1109)]=!1,this[t(1014)]=!1,this[t(1052)]=!1,this[t(862)]=!1,this[t(473)]=!1,this.webcodecsDecodeConfigureErrorOnLock=!1,this[t(891)]=!1,this[t(921)]=!1,this[t(1486)]=!1,this.webcodecsAudioInitTimeoutOnLock=!1,this[t(670)]=!1,this[t(1230)]=!1,this[t(745)]=!1,this.notSupportNewWasmOnLock=!1,this[t(510)]=!1,this[t(1334)]=!1,this[t(953)]=!1,this[t(905)]=!1,this.fetchErrorOnLock=!1,this[t(1593)]=!1,this[t(465)]=!1,this[t(1292)]=!1,this[t(1478)]=!1,this[t(590)]=!1,this.decoderWorkerInitErrorOnLock=!1,this.decoderWorkerWasmErrorOnLock=!1,this.videoElementPlayingFailedForWebrtcOnLock=!1,this.videoInfoErrorOnLock=!1,this[t(1632)]=!1,this[t(1509)]=!1,this[t(880)]=!1}[sC(1003)](){return this[sC(615)]}[sC(501)](){const t=sC;return this[t(1421)]?this[t(1421)].getOption():{}}[sC(726)](t){const e=sC;this[e(1039)]("JbPro",e(1416)+t),this[e(1146)][e(1211)]=!!t,this[e(1421)]?this.player[e(866)]({debug:!!t},!0):this[e(1465)]("JbPro","player is not init")}[sC(1485)](){const t=sC;let e=!1;return this[t(1421)]&&(e=this[t(1421)]._opt[t(1211)]),e}mute(){const t=sC;this.debugLog(t(691),t(796)),this[t(1421)]&&this[t(1421)].mute(!0)}[sC(748)](){const t=sC;this[t(1039)]("JbPro",t(487),this[t(936)]()),this[t(1421)]&&this[t(1421)][t(1172)]()&&this[t(1421)][t(441)](!1)}setVolume(t){const e=sC;this[e(1039)](e(691),e(1540)+t),this[e(1421)]&&(this[e(1421)][e(979)]=t)}[sC(1049)](){const t=sC;let e=null;return this[t(1421)]&&(e=this[t(1421)][t(979)],e=parseFloat(e)[t(1231)](2)),e}[sC(842)](){const t=sC;this.debugLog(t(691),t(751)),this.cancelMute()}[sC(1470)](t){const e=sC;this.debugLog("JbPro",e(1204)+t),t=Number(t),isNaN(t)?this[e(1465)]("JbPro",e(1482)+t+e(1010)):(this[e(1146)][e(799)]=t,this[e(1146)][e(901)]=t,this._opt[e(1443)]=t,this.player&&this[e(1421)][e(866)]({timeout:t,loadingTimeout:t,heartTimeout:t}))}[sC(1247)](t){const e=sC;this.debugLog(e(691),e(1160)+t),this[e(1421)]?this.player[e(1247)](t):this[e(1465)](e(691),e(1524))}[sC(907)](){const t=sC;let e=arguments[t(1165)]>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((s,i)=>{const r=t;this[r(1039)](r(691),"pause() "+e),this.isDestroyed()&&i(r(1024)),(this[r(1146)][r(1451)]||this[r(1146)][r(1183)])&&(this._tempPlayBgObj=this[r(569)]()),this[r(1016)]=this[r(936)](),this[r(1576)](e).then((t=>{s(t)}))[r(828)]((t=>{i(t)}))}))}[sC(1576)](){const t=sC;let e=arguments[t(1165)]>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((s,i)=>{const r=t;if(this.debugLog(r(691),r(897)+e),this[r(1003)]())return i(r(1024));this[r(505)](),this.player?this[r(1421)][r(907)](e).then((t=>{s(t)}))[r(828)]((t=>{i(t)})):i(r(893))}))}[sC(877)](){return new Promise(((t,e)=>{const s=iC;if(this[s(1003)]())return e(s(1024));this[s(1039)](s(691),"close() and inner destroy()"),this[s(801)]()[s(952)]((()=>{t()}))[s(828)]((t=>{e(t)}))}))}[sC(1267)](){const t=sC;this[t(1039)]("JbPro",t(1058)),this[t(1421)]&&this[t(1421)][t(1275)]?this[t(1100)]()===f[t(881)]?this[t(1421)].video[t(1267)]():this.debugWarn("JbPro","clearView",t(1476)):this[t(1465)](t(691),"clearView",t(893))}[sC(1220)](){const t=sC;let e=arguments[t(1165)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(1165)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=t;if(this.isDestroyed())return r("JbPro is destroyed");try{this.debugLog(n(691),n(707)+e,JSON[n(709)](s))}catch(t){this[n(1039)](n(691),n(707)+e,s)}if(!e&&!this._opt[n(653)])return this[n(1453)](B.error,O[n(1621)]),void r("url is null and this._opt.url is null");if(e&&(e=(""+e).trim(),-1===e.indexOf("http:")&&-1===e.indexOf(n(526))&&-1===e[n(661)](n(1428))&&-1===e[n(661)](n(863))&&-1===e.indexOf("wss:")&&-1===e.indexOf(n(1388))&&-1===e.indexOf(n(1600))))return r(n(856)+e+n(1385));if(Js(this[n(1146)][n(1424)]))return this.$videoElement[n(816)]=n(816),this.$videoElement.muted=!1,this.$videoElement.src=e,this[n(514)][n(1220)](),void i(this[n(514)]);if(this._opt.isM7sCrypto){let t=s[n(853)]||this._opt.playOptions[n(853)],o=s[n(814)]||this[n(1146)][n(1237)][n(814)];if(this._opt[n(962)]&&(!t||!o)){const e=this[n(1146)].m7sCryptoKey[n(1272)](".");t=Ns(e[0]),o=Ns(e[1])}if(!t||!o){const t=e||this[n(1146)].url;return void this[n(1233)](t)[n(952)]((t=>{const o=n;let{cryptoIV:a,cryptoKey:h}=t;this[o(1146)][o(1237)][o(853)]=h,this[o(1146)][o(1237)][o(814)]=a,s[o(814)]=a,s.cryptoKey=h,this[o(668)](e,s)[o(952)]((()=>{i()}))[o(828)]((t=>{r(t)}))}))[n(828)]((t=>{r(t)}))}this[n(1146)][n(1237)][n(853)]=t,this[n(1146)].playOptions[n(814)]=o,s[n(814)]=o,s[n(853)]=t}else if(this[n(1146)][n(1055)]){let t=s[n(853)]||this._opt[n(1237)].cryptoKey,e=s[n(814)]||this[n(1146)].playOptions[n(814)];if(this[n(1146)].xorCryptoKey&&(!t||!e)){const s=this[n(1146)][n(1279)].split(".");t=Ns(s[0]),e=Ns(s[1])}t&&e&&(this[n(1146)].playOptions.cryptoKey=t,this[n(1146)].playOptions[n(814)]=e,s[n(814)]=e,s.cryptoKey=t)}else if(this[n(1146)][n(1477)]){let t=s.cryptoKey||this[n(1146)][n(1237)][n(853)],e=s[n(814)]||this[n(1146)][n(1237)][n(814)];if(this._opt.sm4CryptoKey&&(!t||!e)){const s=this[n(1146)][n(995)].split(".");2===s[n(1165)]&&(t=_h(s[0]),e=_h(s[1]))}t&&e&&(this[n(1146)].playOptions[n(853)]=t,this[n(1146)][n(1237)][n(814)]=e,s[n(814)]=e,s[n(853)]=t)}this._playBefore(e,s)[n(952)]((()=>{i()}))[n(828)]((t=>{r(t)}))}))}[sC(668)](t,e){return new Promise(((s,i)=>{const r=iC;if(this.player)if(t)if(this[r(1146)].url)if(t===this[r(1146)][r(653)])if(this[r(1421)][r(1589)])this[r(1039)](r(691),r(668),r(792)),s();else{this[r(1039)](r(691),r(668),r(485)+r(1324));let t=this[r(1128)]();(this._opt[r(1451)]||this._opt[r(1183)])&&this[r(1352)]&&this[r(1352)][r(1613)]&&(t=Object[r(1439)](t,this._tempPlayBgObj)),Js(this[r(1016)])&&(t[r(780)]=!0,this[r(1016)]=!0);const e=this[r(1146)][r(653)],n=this[r(1146)].playOptions;this[r(643)](t)[r(952)]((()=>{this._play(e,n).then((()=>{s()})).catch((t=>{const e=iC;this[e(1278)](e(691),"_playBefore this.player.play error",t),this.emit(B[e(1209)],this[e(591)]("this.player.play 1",t)),i(t)}))}))[r(828)]((t=>{const e=r;this.debugError("JbPro",e(555),t),i(t)}))}else{this[r(1039)]("JbPro",r(668),"\n this._url.url is "+this[r(1146)].url+"\n and new url is "+t+r(1631));const n=this[r(1128)]();this[r(643)](n)[r(952)]((()=>{const n=r;this._play(t,e).then((()=>{s()}))[n(828)]((t=>{const e=n;this[e(1278)](e(691),e(1413),t),this[e(1453)](B[e(1209)],this[e(591)](e(1046),t)),i(t)}))}))[r(828)]((t=>{const e=r;this[e(1278)](e(691),e(555),t)}))}else this[r(1572)](t,e)[r(952)]((()=>{s()}))[r(828)]((t=>{const e=r;this.debugError(e(691),e(1413),t),this[e(1453)](B.crashLog,this[e(591)](e(1624),t)),i(t)}));else{let t=this[r(1128)]();(this[r(1146)][r(1451)]||this[r(1146)][r(1183)])&&this[r(1352)]&&this[r(1352)].loadingBackground&&(t=Object[r(1439)](t,this[r(1352)])),Js(this._tempPlayerIsMute)&&(t[r(780)]=!0,this[r(1016)]=!0);const e=this[r(1146)].url,n=this[r(1146)][r(1237)];this[r(643)](t)[r(952)]((()=>{const t=r;this._play(e,n).then((()=>{s()}))[t(828)]((e=>{const s=t;this.debugError(s(691),s(1413),e),this[s(1453)](B[s(1209)],this[s(591)](s(1345),e)),i(e)}))}))[r(828)]((t=>{const e=r;this.debugError(e(691),e(555),t)}))}else t?this[r(1572)](t,e)[r(952)]((()=>{s()}))[r(828)]((t=>{const e=r;this[e(1278)](e(691),e(1413),t),this[e(1453)](B[e(1209)],this[e(591)](e(1563),t)),i(t)})):this._play(this[r(1146)][r(653)],this[r(1146)][r(1237)])[r(952)]((()=>{s()})).catch((t=>{const e=r;this[e(1278)](e(691),e(1413),t),this[e(1453)](B[e(1209)],this[e(591)]("this.player.play 6",t)),i(t)}))}))}[sC(1233)](t){return new Promise(((e,s)=>{const i=iC,r=function(t){const e=Re,s=(t||document.location.toString())[e(473)]("//"),i=s[1][e(634)]("/");let r=s[1][e(482)](i);return-1!=r[e(634)]("?")&&(r=r[e(473)]("?")[0]),r}(t);let n=this[i(1146)][i(1519)],o="";const a=Vs(t);if(n){if(o=n,this[i(1146)][i(459)]&&-1===o[i(661)](w+i(804))){const t=Vs(n);o=t.origin+w+(i(804)+r)}}else n=a[i(1085)]+w,o=n+"?stream="+r;var h;this[i(1421)][i(1039)](i(691),"_cryptoPlay() cryptoKeyUrl: "+o+i(456)+this[i(1146)][i(1519)]),(h=o,new Promise(((t,e)=>{const s=fu;Sc.get(h)[s(355)]((e=>{t(e)})).catch((t=>{e(t)}))})))[i(952)]((t=>{const r=i;if(t){const i=t.split("."),r=Ns(i[0]),n=Ns(i[1]);n&&r?e({cryptoIV:n,cryptoKey:r}):s("get cryptoIV or cryptoKey error")}else s(r(1015)+o+r(583))}))[i(828)]((t=>{s(t)}))}))}[sC(900)](t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=iC;if(this[r(1003)]())return i("JbPro is destroyed");try{this.debugLog(r(691),"playback() "+t+r(1217),JSON[r(709)](e))}catch(s){this[r(1039)](r(691),r(447)+t+r(1217),e)}if(Js(this[r(1146)][r(1424)]))return i(r(1353));const n=Qs(),o=Object[r(1439)]({},n[r(530)],this[r(1146)].playbackConfig,e);Js(o[r(587)])&&o.isCacheBeforeDecodeForFpsRender&&(o[r(1135)]=!1,this[r(1465)]("JbPro",r(1641))),0===o[r(929)][r(1165)]&&o[r(1254)]&&(o[r(1254)]=!1,this[r(1465)]("JbPro",r(1341))),o.controlType,A.simple,this._resetPlayer({videoBuffer:0,playbackConfig:o,playType:c[r(1116)],openWebglAlignment:!0,useMSE:o[r(855)],useWCS:o.useWCS,useSIMD:o.useSIMD})[r(952)]((()=>{const n=r;this[n(1220)](t,e)[n(952)]((()=>{s()})).catch((t=>{i(t)}))})).catch((t=>{i(t)}))}))}[sC(550)](){const t=sC;let e=arguments[t(1165)]>0&&void 0!==arguments[0]&&arguments[0];return this[t(1003)]()?Promise.reject(t(1024)):(this.debugLog(t(691),t(772)+e),this[t(1146)][t(795)]===c[t(1421)]?Promise[t(1640)](t(1294)):new Promise(((s,i)=>{const r=t;if(!this[r(1421)])return i("player is null");qs(e)?this._pause()[r(952)]((()=>{s()}))[r(828)]((t=>{i(t)})):(this.player[r(550)]=!0,this[r(1421)][r(1457)]=!1,this[r(1421)].zooming=!1,this[r(1510)]=setTimeout((()=>{this[r(1510)]=null,s()}),100))})))}[sC(667)](){const t=sC;return this[t(1003)]()?Promise.reject("JbPro is destroyed"):(this[t(1039)]("JbPro",t(1110)),this[t(1146)].playType===c.player?Promise[t(1640)](t(1155)):new Promise(((e,s)=>{const i=t;if(!this.player)return s(i(893));this[i(1421)][i(550)]=!1,this[i(1363)]=setTimeout((()=>{this[i(1363)]=null,e()}),100)})))}[sC(596)](t){const e=sC;return this[e(1003)]()?Promise[e(1640)](e(1024)):(this.debugLog("JbPro","forward() "+t),Js(this[e(1146)][e(1424)])||this._opt[e(795)]===c[e(1421)]?(this.debugLog(e(691),e(1107)+this[e(1146)][e(1424)]+e(613)+this[e(1146)][e(795)]),Promise[e(1640)](e(968))):es(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1421)]?(t=Me(Number(t),.1,32),this[r(1421)].decoderWorker&&this[r(1421)].decoderWorker[r(584)]({key:r(1270),value:t}),this.player[r(900)][r(454)](t),this[r(1421)][r(1275)]&&this[r(1421)][r(1275)][r(454)](t),this[r(1421)][r(1103)]&&this[r(1421)][r(1103)][r(454)](t),(this.player.isPlaybackUseWCS()||this.player[r(1216)]())&&(this[r(1421)][r(470)]&&Js(this[r(1421)][r(565)]())&&this[r(1421)].demux[r(1615)](),this[r(1421)].isPlaybackCacheBeforeDecodeForFpsRender()&&this[r(1421)][r(470)][r(1005)]()),s()):i(r(1372))})):Promise[e(1640)](e(1200)+t+e(1083)))}playbackForward(t){const e=sC;return this[e(1003)]()?Promise[e(1640)](e(1024)):new Promise(((s,i)=>{const r=e;this[r(596)](t)[r(952)]((()=>{s()}))[r(828)]((t=>{i(t)}))}))}[sC(1225)](){const t=sC;return this[t(1003)]()?Promise[t(1640)]("JbPro is destroyed"):new Promise(((e,s)=>{const i=t;this[i(596)](1)[i(952)]((()=>{e()}))[i(828)]((t=>{s(t)}))}))}[sC(649)](){const t=sC;return this[t(1003)]()?Promise.reject(t(1024)):new Promise(((e,s)=>{const i=t;this.normal()[i(952)]((()=>{e()}))[i(828)]((t=>{s(t)}))}))}updatePlaybackForwardMaxRateDecodeIFrame(t){const e=sC;this[e(1003)]()||(this[e(1039)]("JbPro",e(1565)+t),t=Number(t),t=Me(t=parseInt(t,10),1,8),this[e(1146)][e(712)]=t,this[e(1421)]?this[e(1421)][e(866)]({playbackForwardMaxRateDecodeIFrame:t},!0):this[e(1465)](e(691),"updatePlaybackForwardMaxRateDecodeIFrame() player is null"))}[sC(1553)](t){const e=sC;if(this[e(1003)]())return;this[e(1039)](e(691),"setPlaybackStartTime() "+t);const s=vs(t);this[e(1421)]?this[e(1421)][e(732)]()?s<10&&0!==t&&this.player[e(900)][e(869)]()?this[e(1465)](e(691),"setPlaybackStartTime() control type is normal and timestamp: "+t+e(546)):this[e(1421)][e(900)][e(738)]()&&t>this[e(1421)].playback[e(1611)]?this[e(1465)](e(691),e(818)+t+" is more than "+this[e(1421)][e(900)][e(1611)]):this.player[e(1589)]&&(this.player[e(900)][e(869)]()&&10===s&&(t*=1e3),this[e(1421)].playback[e(1484)](t),this[e(453)]()):this[e(1465)](e(691),e(830)):this[e(1465)](e(691),"setPlaybackStartTime() player is null")}[sC(1065)](t){const e=sC;this[e(1003)]()||(this[e(1039)]("JbPro","setPlaybackShowPrecision() "+t),this[e(1421)]?this[e(1421)][e(732)]()?this.player[e(900)].isControlTypeNormal()?this[e(1421)][e(900)][e(817)](t):this[e(1465)](e(691),e(1082)):this[e(1465)](e(691),e(970)):this[e(1465)](e(691),e(893)))}[sC(1018)](){const t=sC;this.isDestroyed()||(this[t(1039)](t(691),t(1032)),this[t(1421)]?this[t(1421)][t(732)]()?this[t(1421)].playback[t(869)]()?this[t(1421)][t(900)][t(1181)]():this[t(1465)]("JbPro",t(1082)):this.debugWarn(t(691),t(970)):this[t(1465)](t(691),"player is null"))}playbackClearCacheBuffer(){const t=sC;this[t(1003)]()||(this.debugLog(t(691),t(494)),this[t(1421)]?this[t(1421)].isPlayback()?(this[t(1421)][t(1275)]&&this[t(1421)][t(1275)][t(758)](),this[t(1421)][t(1103)]&&this[t(1421)][t(1103)][t(758)](),this[t(1317)]()):this.debugWarn(t(691),t(970)):this[t(1465)](t(691),t(893)))}getPlaybackCurrentRate(){const t=sC;return this.player?this[t(1421)][t(732)]()?this[t(1421)][t(627)]():(this[t(1465)](t(691),t(970)),1):(this.debugWarn("JbPro",t(893)),1)}[sC(1429)](t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),e(1102)+t),this.player?this[e(1421)][e(732)]()?this[e(1421)][e(900)][e(1115)](t):this[e(1465)]("JbPro","playType is not playback"):this[e(1465)](e(691),"player is null"))}[sC(1001)](t){const e=sC;if(this.isDestroyed())return;if(this[e(1039)](e(691),"setStreamQuality() "+t),!this[e(1421)])return void this[e(1465)]("JbPro",e(893));if(!this[e(1421)]._opt[e(1142)][e(633)])return void this[e(1465)]("JbPro",e(1427));(this[e(1421)][e(1146)][e(917)]||[])[e(1134)](t)?this[e(1421)].streamQuality=t:this[e(1465)](e(691),e(1395)+t+e(666))}[sC(1572)](){const t=sC;let e=arguments[t(1165)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(1165)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=t;if(!this.player)return r(n(893));let h=!1;this[n(1146)][n(653)]&&this[n(1146)][n(653)]!==e&&(h=!0),this[n(1146)].url=e,this._opt[n(1237)]=s;const c=e[n(1272)]("?")[0],l=c[n(566)](n(1202))||c[n(566)](n(446)),u=c[n(566)](n(973)),p=c.startsWith(n(944)),f=c[n(566)](n(1273)),m=c[n(566)](n(1390))||c[n(566)]("wss://"),g=l||m,A=l&&c[n(1371)](n(1557)),y=g&&c.endsWith(n(1189)),b=g&&(c[n(1371)](n(698))||c.endsWith(".mp4")),v=g&&c[n(1371)](n(815)),S=g&&(c[n(1371)](".h264")||c[n(1371)](n(976))),w=g&&c[n(1371)](n(1532));let E=this[n(1146)][n(1301)]||!1,I=this[n(1146)].isWebrtcForSRS||!1,T=this[n(1146)][n(1626)]||!1;u&&(-1!==e[n(661)](n(506))?(E=!0,I=!1,T=!1):-1!==e[n(661)](n(836))&&(I=!0,E=!1,T=!1));let k=null,_=null;if(y&&Js(this[n(1146)].isFlv)&&this._resetDemuxType(n(1350)),b&&Js(this[n(1146)][n(1483)])&&this._resetDemuxType(n(1483)),v&&Js(this._opt.isMpeg4)&&this[n(708)](n(742)),S&&Js(this[n(1146)][n(1192)])&&this[n(708)](n(1192)),w&&Js(this[n(1146)][n(991)])&&this._resetDemuxType(n(991)),A&&Js(this[n(1146)][n(1599)])&&this[n(708)](n(1599)),l?k=this[n(1146)][n(1599)]?o[n(1644)]:o[n(1614)]:f?k=o.webTransport:u?k=o[n(1206)]:p?k=o[n(1548)]:m&&(k=o[n(620)]),this[n(1146)][n(1192)]?_=d[n(1441)]:this[n(1146)][n(1483)]?_=d[n(664)]:this[n(1146)].isMpeg4?_=d[n(571)]:this[n(1146)][n(1350)]?_=d[n(874)]:this[n(1146)].isTs?_=d.ts:this[n(1146)][n(1599)]?_=d[n(1644)]:u?_=d[n(1206)]:p?_=d[n(1548)]:f?_=d[n(1655)]:m&&(_=d[n(872)]),!k||!_)return this[n(1146)][n(1004)]&&this[n(482)](n(592)),r(n(1133)+e+n(1542)+a[k]+n(629)+_);this.debugLog(n(691),n(1133)+e+n(1059)+a[k]+", demuxType is "+_);const C=()=>{const t=n;this[t(1421)].on(O[t(1383)],this._handleWebglAlignmentError.bind(this)),this[t(1421)].on(O[t(1096)],this[t(561)].bind(this)),this[t(1421)].on(O[t(947)],this[t(728)][t(1370)](this)),this.player.on(O[t(1543)],this[t(1534)][t(1370)](this)),this[t(1421)].on(O[t(1040)],this._handleMediaSourceFull[t(1370)](this)),this[t(1421)].on(O[t(1580)],this[t(766)][t(1370)](this)),this[t(1421)].on(O.mseSourceBufferError,this._handleMseSourceBufferError.bind(this)),this.player.on(O[t(1260)],this[t(774)][t(1370)](this)),this[t(1421)].on(O[t(1375)],this._handleMseAddSourceBufferError[t(1370)](this)),this[t(1421)].on(O[t(765)],this[t(1361)].bind(this)),this.player.on(O[t(1157)],this[t(1380)][t(1370)](this)),this[t(1421)].on(O.mseWidthOrHeightChange,this[t(1099)][t(1370)](this)),this[t(1421)].on(O[t(1207)],this._handleMediaSourceAudioG711NotSupport.bind(this)),this[t(1421)].on(O[t(538)],this[t(763)][t(1370)](this)),this.player[t(1545)](O.mediaSourceAudioNoDataTimeout,this._handleMediaSourceAudioNoDataTimeout[t(1370)](this)),this[t(1421)].on(O[t(488)],this[t(1392)].bind(this)),this[t(1421)].on(O[t(1140)],this[t(847)].bind(this)),this[t(1421)].on(O.webcodecsH265NotSupport,this[t(1578)][t(1370)](this)),this[t(1421)].on(O[t(1567)],this[t(1190)][t(1370)](this)),this[t(1421)].on(O[t(658)],this[t(601)][t(1370)](this)),this[t(1421)].on(O[t(1161)],this[t(1551)][t(1370)](this)),this[t(1421)].on(O[t(958)],this[t(955)][t(1370)](this)),this[t(1421)].on(O[t(998)],this[t(719)].bind(this)),this.player.on(O[t(1335)],this[t(1645)][t(1370)](this)),this[t(1421)].on(O[t(1249)],this[t(1552)][t(1370)](this)),this[t(1421)].on(O[t(1131)],this[t(1013)][t(1370)](this)),this.player.on(O.wasmUseVideoRenderError,this[t(1344)][t(1370)](this)),this[t(1421)].on(O[t(1435)],this[t(1259)].bind(this)),this.player.on(O[t(684)],this[t(1248)][t(1370)](this)),this.player.on(O[t(1151)],this[t(1264)].bind(this)),this[t(1421)].on(B.networkDelayTimeout,this[t(568)][t(1370)](this)),this[t(1421)].on(B[t(660)],this[t(542)][t(1370)](this)),this.player.on(O[t(1568)],this[t(1218)][t(1370)](this)),this[t(1421)].on(B[t(902)],this[t(574)].bind(this)),this.player.on(O[t(1098)],this[t(876)][t(1370)](this)),this.player.on(O[t(450)],this[t(1238)][t(1370)](this)),this.player.on(O[t(1507)],this[t(635)][t(1370)](this)),this[t(1421)].on(O[t(677)],this._handleAliyunRtcError[t(1370)](this)),this[t(1421)].on(O[t(1072)],this[t(1610)][t(1370)](this)),this[t(1421)].on(O[t(819)],this[t(1079)].bind(this)),this[t(1421)].on(O[t(1445)],this[t(1293)][t(1370)](this)),this.player.on(O[t(1250)],this[t(1067)][t(1370)](this)),this.player.on(B[t(735)],this[t(648)][t(1370)](this)),this[t(1421)].on(B[t(478)],this[t(1339)][t(1370)](this)),this[t(1421)].on(B[t(1595)],this[t(889)].bind(this)),this[t(1421)].on(B[t(901)],this[t(594)][t(1370)](this)),this[t(1421)].isPlayVod()&&(this.player.on(B[t(868)],this[t(725)].bind(this)),this[t(1421)].on(B[t(1287)],this[t(1281)][t(1370)](this))),this[t(937)]()?(this[t(1039)](this[t(622)],"_playNext and _hasLoaded() is true"),this[t(1421)][t(1220)](e,s).then((()=>{i()}))[t(828)]((e=>{const s=t;this.debugError(s(691),"_hasLoaded() and play error",e),this[s(1453)](B[s(1209)],this[s(591)]("_hasLoaded() and play error",e)),this[s(1421)]&&this[s(1421)].pause().then((()=>{r(e)})).catch((t=>{const e=s;r(t),this[e(1278)]("JbPro","_hasLoaded() and play error and next pause error",t)}))}))):(this[t(1039)](this[t(622)],t(1459)),this[t(1226)](),this[t(1421)][t(1545)](B[t(657)],(()=>{const n=t;this[n(1119)](),this[n(1003)]()?this[n(1039)](n(691),"decoderWorkerInit but player is destroyed"):(this[n(1039)](this[n(622)],n(655)),this[n(1421)][n(1220)](e,s).then((()=>{i()}))[n(828)]((t=>{const e=n;this[e(1278)](e(691),e(871),t),this[e(1453)](B.crashLog,this[e(591)](e(871),t)),this[e(1421)]&&this[e(1421)][e(907)]()[e(952)]((()=>{r(t)}))[e(828)]((t=>{const s=e;r(t),this[s(1278)]("JbPro",s(1246),t)}))})))})))},R=this.player[n(501)](),D=this[n(1146)][n(1599)]&&Js(this[n(1146)][n(1637)]),L=u&&Js(this._opt[n(960)]),x=this[n(1146)][n(1599)]&&!!Ds(),P=this[n(1146)][n(1599)]&&R[n(776)];if(D||L||p||h||v||x||P)this[n(1039)](n(691),n(1561)+D+" and isOldWebrtc is "+L+n(1639)+p+n(821)+h+n(521)+v+n(1276)+x+" and\n isHlsButDemuxUseWorker is "+P),this[n(643)]({protocol:k,demuxType:_,isHls:this[n(1146)].isHls,isFmp4:this[n(1146)][n(1483)],isWebrtc:u,isWebrtcForZLM:E,isWebrtcForSRS:I,isWebrtcForOthers:T,isAliyunRtc:p,cryptoKey:s[n(853)]||"",cryptoIV:s[n(814)]||"",url:e,playOptions:s}).then((()=>{C()}))[n(828)]((t=>{r(n(977))}));else{const t={protocol:k,demuxType:_,isHls:this._opt.isHls,isWebrtc:u,isAliyunRtc:p,isFlv:this[n(1146)].isFlv,isFmp4:this[n(1146)].isFmp4,isMpeg4:this[n(1146)].isMpeg4,isNakedFlow:this[n(1146)][n(1192)],isTs:this[n(1146)].isTs,cryptoKey:s[n(853)]||"",cryptoIV:s[n(814)]||""};this[n(1146)].isNakedFlow&&(t[n(570)]=!1,t[n(1180)]=!1),this.player[n(866)](t),C()}}))}[sC(708)](t){const e=sC;this[e(1146)][e(1350)]=!1,this[e(1146)][e(1483)]=!1,this._opt[e(742)]=!1,this._opt[e(1192)]=!1,this[e(1146)][e(1599)]=!1,this[e(1146)].isWebrtc=!1,this[e(1146)].isWebrtcForZLM=!1,this[e(1146)][e(671)]=!1,this._opt.isWebrtcForOthers=!1,this[e(1146)][e(777)]=!1,this[e(1146)][e(991)]=!1,t&&(this[e(1146)][t]=!0)}resize(){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),"resize()"),this[t(1421)]&&this[t(1421)][t(512)]())}setBufferTime(t){const e=sC;if(this[e(1003)]())return;this[e(1039)](e(691),e(829)+t),(t=Number(t))>10&&this.debugWarn(e(691),e(1434)+t+e(1474)+t+" second buffer data");const s=1e3*t;this._opt[e(1401)]=s,this[e(1421)]?this[e(1421)][e(866)]({videoBuffer:s},!0):this[e(1465)](e(691),e(1197))}[sC(1167)](t){const e=sC;if(this[e(1003)]())return;this[e(1039)]("JbPro",e(1458)+t),(t=Number(t))<.2&&this[e(1465)](e(691),e(1295)+t+e(975));const s=1e3*(t=Me(t,.2,100));this[e(1146)][e(689)]=s,this.player?this[e(1421)].updateOption({videoBufferDelay:s},!0):this[e(1465)](e(691),e(798))}[sC(605)](t){const e=sC;if(this[e(1003)]())return;this[e(1039)](e(691),e(785)+t),t=parseInt(t,10);this[e(1146)].rotate!==t&&-1!==[0,90,180,270][e(661)](t)?(this[e(1146)].rotate=t,this[e(1421)]?this[e(1421)][e(605)](t):this[e(1465)](e(691),e(1634))):this[e(1465)](e(691),"setRotate() rotate is "+t+" and this._opt.rotate is "+this[e(1146)][e(1659)])}[sC(604)](t){const e=sC;if(this.isDestroyed())return;this[e(1039)]("JbPro",e(879)+t);const s=[e(540),e(966),e(1212)];!t&&(t=e(540)),this[e(1146)][e(1454)]!==t&&-1!==s.indexOf(t)?(this[e(1146)][e(1454)]=t,this[e(1421)]?(this[e(1421)][e(866)]({mirrorRotate:t}),this[e(512)]()):this[e(1465)](e(691),e(1541))):this[e(1465)]("JbPro","setMirrorRotate() mirrorRotate is "+t+e(1056)+this[e(1146)][e(1454)])}[sC(647)](t){const e=sC;if(this.isDestroyed())return;this[e(1039)](e(691),e(1408)+t);const s=[e(1054),"4:3","16:9"];!t&&(t=e(1054)),this._opt[e(721)]!==t&&-1!==s[e(661)](t)?(this[e(1146)][e(721)]=t,this.player?(this.player[e(866)]({aspectRatio:t}),this[e(512)]()):this[e(1465)](e(691),e(930))):this[e(1465)](e(691),e(1268)+t+e(925)+this._opt[e(1454)])}[sC(1498)](){return!0}[sC(937)](){const t=sC;return this[t(1421)]&&this[t(1421)][t(1643)]||!1}[sC(1182)](){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(1261)),this._opt[t(694)]=!0,this[t(1421)]?this.player[t(866)]({keepScreenOn:!0}):this[t(1465)](t(691),t(1625)))}[sC(1550)](t){const e=sC;if(this[e(1003)]())return;this.debugLog(e(691),"setFullscreen() "+t);const s=!!t;this[e(1421)]?this[e(1421)].fullscreen!==s?this[e(1421)][e(729)]=s:this.debugWarn(e(691),e(820)+s+e(553)+this[e(1421)][e(729)]):this[e(1465)](e(691),"setFullscreen() player is not ready")}[sC(715)](t){const e=sC;if(this.isDestroyed())return;this[e(1039)](e(691),"setWebFullscreen() "+t);const s=!!t;this[e(1421)]?this[e(1421)][e(1516)]=s:this[e(1465)](e(691),e(1636))}[sC(547)](t,e,s,i){const r=sC;if(!this[r(1003)]())return this.debugLog("JbPro","screenshot() "+t+" "+e+" "+s+" "+i),this[r(1421)]&&this[r(1421)][r(1275)]?this[r(1421)][r(1275)][r(547)](t,e,s,i):(this[r(1465)](r(691),r(1384)),null)}[sC(908)](t){return new Promise(((e,s)=>{const i=iC;if(this[i(1003)]())return s(i(1245));this.debugLog(i(691),i(1488),t),this[i(1421)]&&this[i(1421)][i(1275)]?this[i(1421)][i(1275)][i(908)](t).then((t=>{e(t)}))[i(828)]((t=>{s(t)})):(this[i(1465)](i(691),i(731)),s(i(1569)))}))}[sC(1170)](t){return new Promise(((e,s)=>{const i=iC;if(this[i(1003)]())return s(i(1245));this.debugLog("JbPro","screenshotCopyrightWatermark()",t),this[i(1421)]&&this[i(1421)][i(1275)]?this[i(1421)][i(1275)][i(1170)](t)[i(952)]((t=>{e(t)}))[i(828)]((t=>{s(t)})):(this[i(1465)](i(691),i(964)),s(i(1569)))}))}[sC(687)](t,e){return new Promise(((s,i)=>{const r=iC;return this[r(1003)]()?i(r(1245)):(this[r(1039)](r(691),r(618)+t+" "+e),this[r(1421)]?void(this[r(1421)][r(1589)]?(this.player[r(687)](t,e),s()):(this[r(1465)]("JbPro",r(1150)),i(r(1590)))):(this.debugWarn(r(691),r(1330)),i("player is not ready")))}))}[sC(1437)](t,e){return new Promise(((s,i)=>{const r=iC;if(this.isDestroyed())return i(r(1245));this[r(1039)]("JbPro",r(1091)+t+" "+e),this[r(1421)]&&this.player[r(1457)]?this[r(1421)][r(1437)](t,e)[r(952)]((t=>{s(t)}))[r(828)]((t=>{i(t)})):i(r(920))}))}[sC(1047)](){return new Promise(((t,e)=>{const s=iC;return this[s(1003)]()?e(s(1245)):(this[s(1039)](s(691),s(1242)),this[s(1421)]?void this.player[s(1047)]()[s(952)]((()=>{t()}))[s(828)]((t=>{e(t)})):(this[s(1465)](s(691),s(786)),e(s(1569))))}))}[sC(491)](){const t=sC;let e=!1;return this[t(1421)]&&(e=this[t(1421)].isPlaying()),e}isLoading(){const t=sC;return!!this[t(1421)]&&this[t(1421)][t(982)]}[sC(1601)](){const t=sC;let e=!1;return this[t(1146)][t(795)]===c.player?e=!this.isPlaying()&&!this.isLoading():this[t(1146)][t(795)]===c[t(1116)]&&this[t(1421)]&&(e=this[t(1421)][t(550)]),e}[sC(1591)](){return this[sC(1601)]()}[sC(733)](){const t=sC;let e=!1;return this[t(1146)][t(795)]===c.playbackTF&&this[t(1421)]&&(e=this[t(1421)][t(550)]),e}[sC(936)](){let t=!0;return this[sC(1421)]&&(t=this.player.isAudioMute()),t}[sC(1084)](){const t=sC;return this[t(1421)]&&this.player[t(1139)]&&this[t(1421)][t(1139)][t(1457)]||!1}[sC(1158)](){const t=sC;let e=!1;return this.player&&(e=this[t(1421)][t(729)]),e}[sC(933)](){const t=sC;let e=!1;return this[t(1421)]&&(e=this[t(1421)].webFullscreen),e}[sC(1317)](){const t=sC;this.isDestroyed()||(this.debugLog(t(691),t(1518)),this[t(1421)]?this[t(1421)][t(1317)]():this[t(1465)](t(691),t(578)))}[sC(750)](t){const e=sC;if(this[e(1003)]())return;this[e(1039)](e(691),e(1121)+t),(t=Number(t))<1&&this[e(1465)](e(691),e(767)+t+e(975));const s=1e3*(t=Me(t,1,100));this[e(1146)][e(1327)]=s,this[e(1421)]?this[e(1421)][e(866)]({networkDelay:s},!0):this.debugWarn("JbPro","setNetworkDelayTime() player is null")}[sC(621)](){const t=sC;let e="";return this[t(1421)]&&(e=this[t(1421)][t(621)]()),e}getRenderType(){const t=sC;let e="";return this[t(1421)]&&(e=this.player[t(1100)]()),e}[sC(1571)](){const t=sC;let e="";return this[t(1421)]&&(e=this[t(1421)][t(1571)]()),e}[sC(597)](){const t=sC;let e=0;return this.player&&(e=this[t(1421)][t(597)]()),e}[sC(1232)](){const t=sC;let e=ut.destroy;return this[t(1421)]&&(e=this.player[t(982)]?ut[t(982)]:this[t(1421)][t(1589)]?ut[t(1589)]:ut.paused),e}getPlayType(){const t=sC;return this[t(1421)]?this[t(1421)][t(1146)].playType:c[t(1421)]}[sC(768)](t){const e=sC;if(this[e(1003)]())return;this[e(1039)](e(691),e(1407)+t);const s=this[e(1421)][e(1146)][e(1604)];let i=!s;hs(t)&&(i=t),i!==s?this[e(1421)]?this[e(1421)].togglePerformancePanel(i):this[e(1465)](e(691),e(439)):this[e(1465)]("JbPro",e(1243)+s+" === now: "+i)}[sC(481)](){const t=sC;if(!this[t(1003)]())if(this.debugLog(t(691),t(1289)),this[t(1421)]){if(this[t(1421)].isDestroyedOrClosed())return void this[t(1465)](t(691),"openZoom() failed, this.player is destroyed or paused");this[t(1421)][t(1191)]=!0}else this[t(1465)](t(691),t(1253))}[sC(1234)](){const t=sC;if(!this[t(1003)]())if(this[t(1039)](t(691),"closeZoom()"),this[t(1421)]){if(this[t(1421)][t(1319)]())return void this[t(1465)](t(691),t(1533));this[t(1421)].zooming=!1}else this[t(1465)](t(691),t(1205))}isZoomOpen(){const t=sC;let e=!1;return this[t(1421)]&&(e=this[t(1421)].zooming),e}[sC(1053)](t){const e=sC;this[e(1003)]()||(this.debugLog(e(691),e(1322)+t),!hs(t)&&(t=!this[e(714)]()),qs(t)?this[e(481)]():Js(!1)&&this[e(1234)]())}[sC(867)](){const t=sC;this[t(1003)]()||(this[t(1039)]("JbPro",t(1661)),this[t(1421)]&&this[t(1421)][t(1494)]&&this[t(1421)][t(1191)]?this[t(1421)][t(1494)][t(827)]():this.debugWarn(t(691),t(711)))}[sC(1309)](){const t=sC;this[t(1003)]()||(this.debugLog(t(691),t(890)),this.player&&this.player[t(1494)]&&this.player[t(1191)]?this[t(1421)][t(1494)][t(1318)]():this[t(1465)](t(691),t(1126)))}updateCurrentZoom(t){const e=sC;this.isDestroyed()||(this[e(1039)]("JbPro",e(704),t),this[e(1421)]&&this.player[e(1494)]&&this.player[e(1191)]?this.player[e(1494)].updateCurrentZoom(t):this.debugWarn(e(691),e(1126)))}getCurrentZoomIndex(){const t=sC;if(this.isDestroyed())return;let e=1;return this[t(1421)]&&this[t(1421)][t(1494)]&&(e=this[t(1421)].zoom[t(851)]),e}[sC(451)](t){return new Promise(((e,s)=>{const i=iC;if(this[i(1003)]())return s(i(1245));if(this[i(1039)]("JbPro","setNakedFlowFps()",t),as(t))return s(i(440));let r=Number(t);r=Me(r,1,100),this[i(1146)][i(1163)]=r,this[i(1421)]?this[i(1421)].updateOption({nakedFlowFps:r}):this[i(1465)]("JbPro",i(770)),e()}))}[sC(591)](t){const e=sC;let s=arguments[e(1165)]>1&&void 0!==arguments[1]?arguments[1]:"";if(!this.player)return;const i=this[e(1421)][e(885)](),r=this[e(1421)];let n={url:this[e(1146)].url,playType:r[e(732)]()?e(900):"live",demuxType:r.getDemuxType(),decoderType:r[e(621)](),renderType:r.getRenderType(),videoInfo:{encType:"",width:"",height:""},audioInfo:{encType:"",sampleRate:"",channels:""},audioEngine:r[e(1571)](),allTimes:i.pTs,timestamp:Be(),type:t,error:Us(s)||t};if(r[e(1275)]){const t=r[e(1275)][e(522)]||{};n[e(522)]={encType:t[e(1573)]||"",width:t[e(1154)]||"",height:t[e(753)]||""}}if(r[e(1103)]){const t=r.audio[e(1419)]||{};n.audioInfo={encType:t[e(1573)]||"",sampleRate:t[e(1342)]||"",channels:t.channels||""}}return n}updateDebugLevel(t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),e(1258),t),t===m[e(1211)]||t===m[e(586)]?t!==this[e(1421)][e(1146)][e(612)]?(this[e(1146)][e(612)]=t,this.player?this[e(1421)][e(866)]({debugLevel:t},!0):this[e(1465)]("JbPro",e(963))):this[e(1465)]("JbPro",e(1255)+t):this.debugWarn(e(691),e(1162)+t))}[sC(892)](t){const e=sC;this[e(1003)]()||(this[e(1039)]("JbPro",e(1420),t),this[e(1421)]?this.player[e(892)](t):this[e(1465)](e(691),"updateWatermark() player is not init"))}[sC(681)](){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(1511)),this[t(1421)]?this.player[t(681)]():this[t(1465)]("JbPro",t(507)))}[sC(844)](t){const e=sC;if(!this[e(1003)]())if(this[e(1039)](e(691),e(1265),t),ws(t)){this._opt.fullscreenWatermarkConfig=t;const s=ds(this[e(1196)],t);if(!s[e(480)])return void this[e(1465)](e(691),e(475));this[e(1414)].load(s)}else this[e(1465)](e(691),"updateFullscreenWatermark() config is not valid, config: "+t)}[sC(1530)](){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),"removeFullscreenWatermark()"),this[t(1414)]?this[t(1414)][t(1043)]():this.debugWarn(t(691),t(1359)))}faceDetectOpen(){const t=sC;this[t(1003)]()||(this.debugLog(t(691),t(730)),this[t(1421)]?this[t(1421)][t(703)](!0):this[t(1465)]("JbPro",t(1019)))}faceDetectClose(){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(1505)),this[t(1421)]?this.player[t(703)](!1):this[t(1465)](t(691),t(1017)))}[sC(1501)](){const t=sC;this[t(1003)]()||(this.debugLog(t(691),t(806)),this[t(1421)]?this[t(1421)][t(1111)](!0):this[t(1465)](t(691),t(1579)))}[sC(1430)](){const t=sC;this.isDestroyed()||(this.debugLog(t(691),t(1141)),this.player?this[t(1421)][t(1111)](!1):this.debugWarn(t(691),t(1582)))}[sC(1355)](t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),e(1546),t),this[e(1421)]?this.player[e(1355)](t):this[e(1465)](e(691),e(552)))}[sC(1304)](t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),e(1266)),this[e(1421)]?this.player[e(1304)](t):this[e(1465)](e(691),e(1201)))}[sC(1528)](){const t=sC;this.isDestroyed()||(this[t(1039)](t(691),t(534)),this.player?this.player[t(1304)]([]):this[t(1465)](t(691),t(1108)))}addContentToContainer(t){const e=sC;this.isDestroyed()||(this[e(1039)]("JbPro",e(756)),this.player?this[e(1421)][e(477)](t):this[e(1465)](e(691),"addContentToContainer() player is not init"))}clearContentToContainer(){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(1496)),this[t(1421)]?this[t(1421)][t(477)]([]):this[t(1465)]("JbPro",t(941)))}setControlHtml(t){const e=sC;this[e(1003)]()||(this.debugLog("JbPro",e(619),t),this[e(1421)]?this.player[e(1522)](t):this[e(1465)](e(691),e(1349)))}clearControlHtml(){const t=sC;this[t(1003)]()||(this[t(1039)]("JbPro","clearControlHtml()"),this[t(1421)]?this.player[t(442)]():this.debugWarn(t(691),t(467)))}[sC(650)](t){const e=sC;this[e(1003)]()||(this.debugLog(e(691),e(1060)+t),this.player?this[e(1421)][e(650)](t):this[e(1465)](e(691),e(1095)))}[sC(1521)](){const t=sC;return!!this.player&&this.player[t(1521)]()}[sC(579)](){const t=sC;return this[t(1421)]?this[t(1421)].getControlHtml():null}[sC(1187)](t){const e=sC;this.isDestroyed()||(this[e(1039)](e(691),e(1525),t),this[e(1421)]?this[e(1421)][e(1187)](t):this[e(1465)](e(691),e(985)))}clearExtendHtml(){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(680)),this[t(1421)]?this[t(1421)].clearExtendHtml():this.debugWarn(t(691),t(1041)))}[sC(784)](t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),"toggleExtendHtml() "+t),this.player?this[e(1421)][e(784)](t):this.debugWarn(e(691),e(1061)))}getExtendHtmlIsShow(){const t=sC;return!!this[t(1421)]&&this[t(1421)][t(1487)]()}[sC(931)](){return this[sC(1421)]?this.player.getExtendHtml():null}getVideoInfo(){const t=sC;let e=null;return this[t(1421)]&&(e=this[t(1421)][t(1495)]()),e}[sC(1179)](){const t=sC;let e=null;return this[t(1421)]&&(e=this[t(1421)][t(1179)]()),e}[sC(912)](t){const e=sC;if(this[e(1003)]())return;this[e(1039)](e(691),e(965),t);const s=(t=""+t)[e(1272)](".");if(32!==t[e(1165)]&&2!==s[e(1165)])return void this[e(1465)](e(691),"setSm4CryptoKey() key is invalid and length is "+t[e(1165)]+e(631));if(2===s.length&&(32!==s[0][e(1165)]||32!==s[1].length))return void this[e(1465)]("JbPro","setSm4CryptoKey() key is invalid and key length is "+s[0][e(1165)]+e(994)+s[1][e(1165)]+" !== 32");this._opt.sm4CryptoKey=t;let i=2===s[e(1165)];if(i&&(this._opt[e(1237)][e(853)]=_h(s[0]),this[e(1146)][e(1237)][e(814)]=_h(s[1])),this[e(1421)]){const s={sm4CryptoKey:t};i&&(s.cryptoKey=this[e(1146)][e(1237)][e(853)],s[e(814)]=this[e(1146)].playOptions.cryptoIV),this.player.updateOption(s,!0)}else this[e(1465)]("JbPro",e(932))}[sC(737)](t){const e=sC;this[e(1003)]()||(this[e(1039)]("JbPro",e(1438),t),t=""+t,this[e(1146)][e(962)]=t,this[e(1421)]?this[e(1421)][e(866)]({m7sCryptoKey:t},!0):this.debugWarn(e(691),"setM7sCryptoKey() player is null"))}[sC(1574)](t){const e=sC;this[e(1003)]()||(this.debugLog(e(691),e(1471),t),t=""+t,this[e(1146)][e(1279)]=t,this[e(1421)]?this.player[e(866)]({xorCryptoKey:t},!0):this[e(1465)](e(691),e(1448)))}[sC(585)](t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),e(761),t),this[e(1421)]?this.player[e(585)](t):this[e(1465)](e(691),"updateLoadingText() player is null"))}[sC(760)](t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),e(700),t),this[e(1146)].isEmitSEI=t,this[e(1421)]?this[e(1421)].updateOption({isEmitSEI:t},!0):this[e(1465)](e(691),e(697)))}[sC(1460)](t,e){const s=sC;return this[s(1039)]("JbPro",s(783),t),t?this.player?j_({type:t,index:0,speed:e}):(this.debugWarn(s(691),s(1171)),null):(this[s(1465)](s(691),s(989)),null)}[sC(915)](){return new Promise(((t,e)=>{const s=iC;this[s(1421)]?(this[s(1421)][s(1076)](),t()):e("player is not init")}))}[sC(1450)](){return new Promise(((t,e)=>{const s=iC;if(this[s(1003)]())return e("player is destroyed");this[s(1421)]?(this[s(1421)][s(1326)](),t()):e(s(800))}))}[sC(1027)](){return new Promise(((t,e)=>{const s=iC;if(this[s(1003)]())return e(s(1245));this[s(1421)]?(this[s(1421)][s(1508)](),t()):e("player is not init")}))}[sC(1654)](){const t=sC;this[t(1003)]()||this[t(1564)]&&this.memoryLogger.download()}[sC(569)](){const t=sC,e=this.getVideoInfo()||{},s={loadingBackground:this[t(547)]("",t(1308),.92,t(1282)),loadingBackgroundWidth:e[t(1154)]||0,loadingBackgroundHeight:e[t(753)]||0};return s[t(1613)]&&s[t(791)]&&s[t(509)]&&(this[t(1127)]=s),this[t(1127)]||{}}getExtendBtnList(){const t=sC;this.debugLog(t(691),t(911));let e=[];return this[t(1421)]?e=this[t(1421)].getExtendBtnList():this[t(1465)]("JbPro",t(858)),e}[sC(1480)](){const t=sC;this.debugLog(t(691),t(787));let e=null;return this[t(1421)]?e=this.player[t(807)]():this.debugWarn(t(691),t(1602)),e}[sC(1523)](t){const e=sC;if(this[e(1003)]())return;this.debugLog("JbPro",e(1598),t);const s=1e3*(t=Number(t));this[e(1146)][e(1012)]=s,this[e(1421)]?this.player[e(866)]({aiFaceDetectInterval:s}):this[e(1465)]("JbPro",e(1298))}[sC(722)](t){const e=sC;if(this[e(1003)]())return;if(this[e(1039)](e(691),"updateAiFaceDetectLevel()",t),!St[t])return void this[e(1465)]("JbPro",e(1078)+t+" is invalid'");const s=St[t];this._opt[e(1404)]=s,this.player?(this[e(1421)][e(866)]({aiFaceDetectWidth:s}),this[e(1421)].ai&&this[e(1421)].ai.updateFaceDetectorConfig({detectWidth:s})):this[e(1465)](e(691),e(1257))}updateAiObjectDetectInterval(t){const e=sC;if(this.isDestroyed())return;this.debugLog(e(691),e(984),t);const s=1e3*(t=Number(t));this._opt[e(1009)]=s,this[e(1421)]?this[e(1421)][e(866)]({aiObjectDetectInterval:s}):this.debugWarn(e(691),e(1136))}updateAiObjectDetectLevel(t){const e=sC;if(this[e(1003)]())return;if(this[e(1039)]("JbPro",e(794),t),!wt[t])return void this[e(1465)](e(691),e(1555)+t+" is invalid'");const s=wt[t];this[e(1146)].aiObjectDetectWidth=s,this[e(1421)]?(this[e(1421)].updateOption({aiObjectDetectWidth:s}),this[e(1421)].ai&&this[e(1421)].ai.updateObjectDetectorConfig({detectWidth:s})):this[e(1465)](e(691),e(782))}setCryptoKeyUrl(t){const e=sC;this[e(1003)]()||(this[e(1039)]("JbPro",e(1389),t),t&&(this._opt.cryptoKeyUrl=t))}showErrorMessageTips(t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),"showErrorMessageTips()",t),t&&(this[e(1421)]?this[e(1421)][e(981)](t):this[e(1465)](e(691),"showErrorMessageTips() player is null")))}setPtzPosition(t){const e=sC;this[e(1039)](e(691),e(525),t),t&&!Ss(t)&&(this[e(1421)]?this.player[e(1364)](t):this.debugWarn("JbPro",e(1596)))}[sC(1399)](){const t=sC;this.isDestroyed()||(this[t(1039)](t(691),"hideErrorMessageTips()"),this[t(1421)]?this[t(1421)][t(1263)]():this[t(1465)](t(691),t(559)))}getContainerRect(){return this[sC(1657)]()}[sC(493)](t,e,s,i){const r=sC;return this.events[r(493)](t,e,s,i)}[sC(1048)](){const t=sC;return this[t(1146)][t(653)]}[sC(499)](t,e){const s=sC;this.isDestroyed()||(this[s(1039)](this[s(622)],s(746)+t+" "+e),this.player?this[s(1421)][s(499)](t,e):this[s(1465)](this[s(622)],s(1068)))}getControlExtendBtnActive(t){const e=sC;if(this[e(1003)]())return;this[e(1039)](this[e(622)],e(1368)+t);let s=!1;return this[e(1421)]?s=this[e(1421)][e(1468)](t):this[e(1465)](this[e(622)],e(727)),s}[sC(1063)](t){const e=sC;this.isDestroyed()||(this.debugLog(this[e(622)],e(1642)+t),this.player?this[e(1421)].toggleControlBar(t):this[e(1465)](this[e(622)],e(686)))}[sC(1199)](){const t=sC;if(this[t(1003)]())return!1;this[t(1039)](this.TAG_NAME,t(652));let e=!1;return this[t(1421)]?e=this[t(1421)][t(1199)]():this[t(1465)](this.TAG_NAME,t(517)),e}static[sC(1481)](t){return ps(t)}static[sC(1129)](t){return function(t){for(var e=t,s=0,i=0,r=0;r<32;r++)i|=(1&e[s])<=5){const r=i[0],n=i[i[e(1165)]-1],o=n-r;o<=1e4&&(this[e(1465)](this[e(622)],e(1648)+t+", and retry length is "+i[e(1165)]+e(638)+r+e(1378)+n+" and diff is "+o),s=!1)}return s}_initLoadingBackgroundForIOS(t){const e=sC;(Qe()||Ye())&&t[e(1613)]&&t[e(791)]&&t[e(509)]&&(this[e(1606)](),"default"===this[e(1421)]._opt.aspectRatio||ze()?this.player.getRenderType()===f[e(881)]?this._doInitLoadingBackgroundForCanvas(t):this[e(1421)][e(1100)]()===f[e(1275)]&&this[e(1037)](t):this[e(1328)](t))}[sC(1037)](t){const e=sC;this.debugLog(this[e(622)],e(1037));const s=this[e(1657)]();let i=s[e(1154)],r=s[e(753)];const n=this.player[e(1146)];r-=this[e(1421)].getControlHeight();let o=i,a=r;const h=n[e(1659)];(270===h||90===h)&&(o=r,a=i),this.$loadingBgImage.width=o,this.$loadingBgImage[e(753)]=a,this.$loadingBgImage[e(1570)]=t.loadingBackground;let c=(i-o)/2,l=(r-a)/2,d=e(1145);!n[e(628)]&&(d=e(873)),n[e(630)]&&(d=e(540));let u="";n[e(1454)]===e(540)&&h&&(u+=e(1456)+h+"deg)"),n[e(1454)]===e(966)?u+=e(539):n[e(1454)]===e(1212)&&(u+=e(545)),this._opt.videoRenderSupportScale&&(this[e(1148)][e(1547)][e(1514)]=d),this[e(1148)][e(1547)][e(696)]=u,this.$loadingBgImage[e(1547)].padding="0",this.$loadingBgImage[e(1547)][e(443)]=c+"px",this[e(1148)].style[e(438)]=l+"px",this.$loadingBgImage[e(1594)]?sm(this[e(1374)],e(1290)):this[e(1148)][e(1369)]=()=>{const t=e;sm(this[t(1374)],t(1290)),this.$loadingBgImage[t(1369)]=null}}_doInitLoadingBackgroundForCanvas(t){const e=sC;this[e(1039)](this[e(622)],e(1077));const s=this[e(1657)]();let i=s[e(1154)],r=s.height;const n=this[e(1421)][e(1146)];r-=this.player[e(1426)]();let o=i,a=r;const h=n[e(1659)];let c=(i-o)/2,l=(r-a)/2;(270===h||90===h)&&(o=r,a=i),this[e(1148)][e(1154)]=o,this[e(1148)][e(753)]=a,this[e(1148)][e(1570)]=t.loadingBackground;const d=i/o,u=r/a;let p=d>u?u:d;Js(n[e(628)])&&d!==u&&(p=d+","+u),n.isFullResize&&(p=d>u?d:u);let f=e(1008)+p+")";"none"===n[e(1454)]&&h&&(f+=" rotate("+h+e(781)),n[e(1454)]===e(966)?f+=" rotateY(180deg)":n[e(1454)]===e(1212)&&(f+=e(545)),this[e(1148)][e(1547)][e(662)]="0",this[e(1148)][e(1547)][e(696)]=f,this.$loadingBgImage[e(1547)][e(443)]=c+"px",this.$loadingBgImage.style[e(438)]=l+"px",this[e(1148)][e(1594)]?sm(this[e(1374)],e(1290)):this[e(1148)][e(1369)]=()=>{const t=e;sm(this[t(1374)],"show"),this.$loadingBgImage[t(1369)]=null}}[sC(1328)](t){const e=sC;this[e(1039)](this[e(622)],"_doInitLoadingBackgroundForRatio");const s=this[e(1421)][e(1146)][e(721)][e(1272)](":")[e(640)](Number),i=this[e(1657)]();let r=i[e(1154)],n=i[e(753)],o=this[e(1421)].getControlHeight();n-=o;const a={width:t[e(791)],height:t[e(509)]},h=a[e(1154)]/a[e(753)],c=s[0]/s[1];if(this[e(1148)][e(1570)]=t.loadingBackground,h>c){const t=c*a.height/a.width;this[e(1148)].style[e(1154)]=100*t+"%",this[e(1148)][e(1547)].height=e(832)+o+e(1221),this[e(1148)][e(1547)][e(662)]="0 "+(r-r*t)/2+"px"}else{const t=a[e(1154)]/c/a[e(753)];this[e(1148)][e(1547)].width=e(468),this[e(1148)][e(1547)].height=e(1504)+100*t+"% - "+o+e(1221),this[e(1148)][e(1547)].padding=(n-n*t)/2+e(495)}this[e(1148)][e(1594)]?sm(this.$loadingBg,"show"):this.$loadingBgImage[e(1369)]=()=>{const t=e;sm(this[t(1374)],t(1290)),this.$loadingBgImage[t(1369)]=null}}_initLoadingBg(){const t=sC;if(!this[t(1374)]){const e=document.createElement(t(524)),s=document[t(682)](t(1138));e[t(747)]=t(833),this[t(1374)]=e,this[t(1148)]=s,e[t(1660)](s),this[t(1196)][t(1660)](e)}}[sC(1173)](){const t=sC;if(this[t(1374)]){this[t(1039)](this[t(622)],t(754));if(!cm(this.$loadingBg)){const e=this[t(1196)].querySelector(t(581));e&&this[t(1196)]&&this[t(1196)].removeChild(e)}this.$loadingBg=null,this.$loadingBgImage=null}}[sC(1657)](){const t=sC;let e={};return this.$container&&(e=this[t(1196)][t(1646)](),e.width=Math.max(e.width,this[t(1196)].clientWidth),e[t(753)]=Math[t(1007)](e[t(753)],this[t(1196)][t(1174)])),e}[sC(834)](){const t=sC;return this[t(1146)][t(1473)]&&this.network.isOffline()}[sC(503)](t){const e=sC;if(this[e(1003)]())this[e(1039)](e(691),e(948));else if(this[e(1381)])this[e(1039)]("JbPro",e(535));else if(this[e(1453)](B.crashLog,this[e(591)](O[e(1383)],t)),this[e(1381)]=!0,this.player&&this[e(1421)][e(1146)][e(549)]){this[e(1039)](e(691),e(1383));const s=this[e(1146)][e(653)],i=this[e(1146)][e(1237)];this[e(643)]({openWebglAlignment:!0})[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this.debugLog(t(691),t(1156))})).catch((e=>{const s=r;this[s(1453)](B.playFailedAndPaused,O[s(1383)],{},t),this[s(1278)](s(691),s(1620),e)}))[r(1566)]((()=>{this.webglAlignmentErrorOnLock=!1}))}))[e(828)]((t=>{const s=e;this.webglAlignmentErrorOnLock=!1,this[s(1278)](s(691),s(1633),t)}))}else{const s=!1===this[e(1146)][e(636)];this[e(1421)].setPlayFailedAndPaused(),this._pause(s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O[s(1383)],{},t),this[s(1039)](s(691),s(1503))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(1383)],{},t),this[i(1278)](i(691),i(1347),s)})).finally((()=>{this.webglAlignmentErrorOnLock=!1}))}}[sC(561)](t){const e=sC;if(this[e(1003)]())return void this[e(1039)](e(691),"webglContextLostError but player is destroyed");if(this.webglContextLostErrorOnLock)return void this[e(1039)](e(691),"webglContextLostErrorOnLock is true");this[e(1453)](B[e(1209)],this.getCrashLog(O.webglContextLostError,t));const s=this[e(569)]();if(this[e(1402)]=!0,this[e(1421)]&&this[e(1421)]._opt[e(1506)]){this.debugLog(e(691),e(1096));const i=this[e(1146)].url,r=this[e(1146)][e(1237)];let n={};this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this[e(1421)][e(1146)][e(1210)]})),Js(this.isMute())&&(n[e(780)]=!0),this._resetPlayer(n)[e(952)]((()=>{const n=e;this.play(i,r).then((()=>{const t=iC;this[t(1039)]("JbPro",t(464))}))[n(828)]((e=>{const i=n;this[i(1453)](B[i(1608)],O[i(1096)],s,t),this[i(1278)](i(691),i(1030),e)})).finally((()=>{this[n(1402)]=!1}))})).catch((i=>{const r=e;this[r(1402)]=!1,this.emit(B[r(1608)],O[r(1096)],s,t),this[r(1278)](r(691),r(692),i)}))}else{const i=!1===this[e(1146)].playFailedUseLastFrameShow;this[e(1421)][e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1096)],s,t),this[i(1039)](i(691),"webglContextLostError and webglContextLostErrorReplay is false")}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],O.webglContextLostError,s,t),this[r(1278)](r(691),"webglAlignmentError and pause error",i)}))[e(1566)]((()=>{this[e(1402)]=!1}))}}[sC(728)](t){const e=sC;if(this[e(1003)]())this[e(1039)](e(691),e(1321));else if(this.mediaSourceH265NotSupportOnLock)this.debugLog(e(691),e(974));else if(this[e(1453)](B[e(1209)],this[e(591)](O.mediaSourceH265NotSupport,t)),this[e(1656)]=!0,this[e(1421)]&&this[e(1421)][e(1146)].hardDecodingNotSupportAutoWasm){this[e(1039)](e(691),e(1400));const s=this._opt[e(653)],i=this[e(1146)][e(1237)];this[e(643)]({useMSE:!1,useWCS:!1})[e(952)]((()=>{const r=e;this.play(s,i).then((()=>{const t=iC;this[t(1039)](t(691),t(1650))}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O[s(947)],t),this.debugError("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play error",e)}))[r(1566)]((()=>{this[r(1656)]=!1}))}))[e(828)]((s=>{const i=e;this[i(1656)]=!1,this[i(1453)](B[i(1608)],O[i(947)],{},t),this[i(1278)](i(691),i(1064),s)}))}else{const s=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(1576)](s).then((()=>{const s=e;this.emit(B[s(1608)],O[s(947)],{},t),this[s(1039)](s(691),s(1584))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O.mediaSourceH265NotSupport,{},t),this[i(1278)](i(691),"mediaSourceH265NotSupport and pause error",s)})).finally((()=>{this[e(1656)]=!1}))}}[sC(1534)](t){const e=sC;if(this.isDestroyed())this[e(1211)]&&this[e(1039)](e(691),e(1467));else if(this[e(880)])this[e(1039)](e(691),e(810));else if(this[e(1453)](B[e(1209)],this[e(591)](O[e(1543)],t)),this.mseWaitVideoCanplayTimeoutOnLock=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(1446)]){this[e(1039)](e(691),e(1425));const s=this._opt[e(653)],i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1})[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this[t(1039)](t(691),t(865))}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O[s(1543)],t),this[s(1278)](s(691),s(1325),e)}))[r(1566)]((()=>{this[r(880)]=!1}))})).catch((s=>{const i=e;this[i(880)]=!1,this[i(1453)](B[i(1608)],O[i(1543)],{},t),this[i(1278)](i(691),i(515),s)}))}else{const s=!1===this._opt[e(636)];this.player[e(589)](),this._pause(s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O[s(1543)],{},t),this[s(1039)](s(691),s(1307))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O.mediaSourceH265NotSupport,{},t),this[i(1278)](i(691),i(1323),s)}))[e(1566)]((()=>{this.mseWaitVideoCanplayTimeoutOnLock=!1}))}}[sC(1025)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),"mediaSourceFull but player is destroyed"));if(this.mediaSourceFullOnLock)return void this[e(1039)](e(691),e(909));this[e(1453)](B[e(1209)],this.getCrashLog(O.mediaSourceFull,t));const s=this[e(569)]();if(this[e(888)]=!0,this[e(1421)]&&this.player[e(1146)][e(1581)]){const i=this[e(1146)][e(653)],r=this[e(1146)][e(1237)];let n={},o=this[e(1421)][e(1146)][e(1337)],a=!0;o?n={useMSE:!1,useWCS:!1}:this[e(1628)](Mt[e(1586)])?this[e(850)].push(Be()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this[e(1039)](e(691),e(1074)+(Js(a)?" and is not meaningful Retry":"")+e(1033)+e(o?1090:757)+e(1366)),this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this[e(1421)][e(1146)][e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this._resetPlayer(n)[e(952)]((()=>{const n=e;this[n(1220)](i,r)[n(952)]((()=>{const t=n;this.debugLog(t(691),t(956))}))[n(828)]((e=>{const i=n;this.emit(B[i(1608)],O[i(1040)],s,t),this[i(1278)](i(691),i(1411),e)}))[n(1566)]((()=>{this[n(888)]=!1}))}))[e(828)]((i=>{const r=e;this[r(888)]=!1,this[r(1453)](B[r(1608)],O[r(1040)],s,t),this.debugError(r(691),r(706),i)}))}else{const i=!1===this[e(1146)].playFailedUseLastFrameShow;this.player[e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this.emit(B[i(1608)],O[i(1040)],s,t),this[i(1039)](i(691),i(500))}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],O[r(1040)],s,t),this.debugError(r(691),r(1104),i)}))[e(1566)]((()=>{this[e(888)]=!1}))}}_handleMediaSourceAppendBufferError(t){const e=sC;if(this[e(1003)]())return void(this.debug&&this[e(1039)](e(691),"mediaSourceAppendBufferError but player is destroyed"));if(this[e(899)])return void this[e(1039)](e(691),e(444));this[e(1453)](B[e(1209)],this[e(591)](O[e(1580)],t));const s=this[e(569)]();if(this.mediaSourceAppendBufferErrorOnLock=!0,this[e(1421)]&&this[e(1421)]._opt.mseDecodeErrorReplay){const i=this[e(1146)][e(653)],r=this[e(1146)].playOptions;let n={},o=this.player._opt.decoderErrorAutoWasm,a=!0;o?n={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Mt.mseDecodeError)?this._mseDecodeErrorRetryLog[e(678)](Be()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this[e(1421)].isMSEAudioDecoderError&&(this[e(1421)][e(1039)](e(691),e(624)),n[e(570)]=!1),this[e(1039)](e(691),e(1069)+(Js(a)?e(1619):"")+" [mse-> "+(o?"wasm":"mse")+e(1366)),this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this[e(1421)]._opt[e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const n=e;this.play(i,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(1118))}))[n(828)]((e=>{const i=n;this[i(1453)](B.playFailedAndPaused,O[i(1580)],s,t),this.debugError(i(691),i(1169),e)})).finally((()=>{this[n(899)]=!1}))}))[e(828)]((i=>{const r=e;this[r(899)]=!1,this[r(1453)](B[r(1608)],O[r(1580)],s,t),this.debugError(r(691),"mediaSourceAppendBufferError and _resetPlayer error",i)}))}else{const i=!1===this[e(1146)][e(636)];this[e(1421)].setPlayFailedAndPaused(),this[e(1576)](i).then((()=>{const i=e;this[i(1453)](B[i(1608)],O.mediaSourceAppendBufferError,s,t),this[i(1039)](i(691),i(1124))}))[e(828)]((i=>{const r=e;this.emit(B[r(1608)],O[r(1580)],s,t),this[r(1278)](r(691),r(1026),i)})).finally((()=>{this[e(899)]=!1}))}}_handleMseSourceBufferError(t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),"mseSourceBufferError but player is destroyed"));if(this[e(752)])return void this[e(1039)](e(691),"mseSourceBufferErrorOnLock is true");this.emit(B[e(1209)],this[e(591)](O[e(990)],t));const s=this[e(569)]();if(this.mseSourceBufferErrorOnLock=!0,this[e(1421)]&&this.player[e(1146)][e(1581)]){const i=this[e(1146)][e(653)],r=this[e(1146)][e(1237)];let n={};if(this[e(1421)]._opt[e(831)])n={mseDecoderUseWorker:!1},this.debugLog(e(691),e(802));else{let t=this[e(1421)]._opt[e(1337)],s=!0;t?n={useMSE:!1,useWCS:!1}:this[e(1628)](Mt[e(1586)])?this._mseDecodeErrorRetryLog[e(678)](Be()):(t=!0,s=!1,n={useMSE:!1,useWCS:!1}),this[e(1421)][e(906)]&&(this[e(1039)]("JbPro","mseSourceBufferError and isMSEVideoDecoderInitializationFailedNotSupportHevc is true so auto wasm"),n={useMSE:!1,useWCS:!1}),this[e(1039)](e(691),e(1652)+(Js(s)?" and is not meaningful Retry":"")+e(1033)+e(t?1090:757)+e(1366))}this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this[e(1421)][e(1146)].replayShowLoadingIcon})),Js(this.isMute())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const n=e;this[n(1220)](i,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(1432))})).catch((e=>{const i=n;this[i(1453)](B[i(1608)],O.mseSourceBufferError,s,t),this[i(1278)](i(691),i(839),e)}))[n(1566)]((()=>{this[n(752)]=!1}))}))[e(828)]((i=>{const r=e;this[r(752)]=!1,this[r(1453)](B[r(1608)],O.mseSourceBufferError,s,t),this[r(1278)](r(691),"mseSourceBufferError _resetPlayer and play error",i)}))}else{const i=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this.emit(B[i(1608)],O.mseSourceBufferError,s,t),this[i(1039)](i(691),i(857))})).catch((i=>{const r=e;this.emit(B[r(1608)],O.mseSourceBufferError,s,t),this.debugError(r(691),r(1219),i)}))[e(1566)]((()=>{this[e(752)]=!1}))}}_handleMediaSourceBufferedIsZeroError(t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),"mediaSourceBufferedIsZeroError but player is destroyed"));if(this.mediaSourceBufferedIsZeroErrorOnLock)return void this[e(1039)](e(691),e(1647));this.emit(B[e(1209)],this[e(591)](O[e(1260)],t));const s=this[e(569)]();if(this[e(1315)]=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(1581)]){const i=this[e(1146)][e(653)],r=this[e(1146)][e(1237)];let n={},o=this[e(1421)][e(1146)][e(1337)],a=!0;o?n={useMSE:!1,useWCS:!1}:this[e(1628)](Mt[e(1586)])?this[e(850)][e(678)](Be()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",e(1166)+(Js(a)?e(1619):"")+e(1033)+(o?e(1090):"mse")+"] reset player and play"),this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this.player._opt[e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n).then((()=>{const n=e;this[n(1220)](i,r).then((()=>{const t=n;this[t(1039)](t(691),t(1605))}))[n(828)]((e=>{const i=n;this[i(1453)](B[i(1608)],O[i(1260)],s,t),this[i(1278)]("JbPro",i(954),e)}))[n(1566)]((()=>{this[n(1315)]=!1}))})).catch((i=>{const r=e;this[r(1315)]=!1,this[r(1453)](B[r(1608)],O[r(1260)],s,t),this.debugError(r(691),r(1343),i)}))}else{const i=!1===this[e(1146)].playFailedUseLastFrameShow;this[e(1421)][e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1260)],s,t),this.debugLog(i(691),"mediaSourceBufferedIsZeroError and autoWasm is false")}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],O.mediaSourceBufferedIsZeroError,s,t),this[r(1278)](r(691),"mediaSourceBufferedIsZeroError and pause error:",i)}))[e(1566)]((()=>{this[e(1315)]=!1}))}}[sC(1125)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),e(1436)));if(this[e(939)])return void this[e(1039)]("JbPro",e(663));this[e(1453)](B.crashLog,this[e(591)](O[e(1375)],t));const s=this[e(569)]();if(this.mseAddSourceBufferErrorOnLock=!0,this[e(1421)]&&this.player._opt.hardDecodingNotSupportAutoWasm){this[e(1039)]("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play");const i=this._opt[e(653)],r=this[e(1146)][e(1237)];let n={useMSE:!1,useWCS:!1};this[e(1421)][e(1146)].replayUseLastFrameShow&&(n=Object[e(1439)]({},n,s,{loadingIcon:this.player[e(1146)][e(1210)]})),Js(this[e(936)]())&&(n.isNotMute=!0),this[e(643)](n)[e(952)]((()=>{const n=e;this[n(1220)](i,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(1423))}))[n(828)]((e=>{const i=n;this[i(1453)](B[i(1608)],O[i(1375)],s,t),this[i(1278)]("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play error",e)}))[n(1566)]((()=>{this[n(939)]=!1}))})).catch((i=>{const r=e;this[r(939)]=!1,this.emit(B[r(1608)],O[r(1375)],s,t),this.debugError(r(691),r(1023),i)}))}else{const i=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(1576)](i).then((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1375)],s,t),this[i(1039)](i(691),i(1297))}))[e(828)]((i=>{const r=e;this.emit(B[r(1608)],O[r(1375)],s,t),this[r(1278)](r(691),"mseAddSourceBufferError and pause error",i)}))[e(1566)]((()=>{this[e(939)]=!1}))}}[sC(1361)](t){const e=sC;if(this[e(1003)]())this.debug&&this[e(1039)](e(691),e(532));else if(this.mediaSourceDecoderConfigurationErrorOnLock)this.debugLog(e(691),e(641));else if(this[e(1453)](B[e(1209)],this[e(591)](O[e(765)],t)),this[e(809)]=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(1288)]){this.debugLog(e(691),e(950));const s=this[e(1146)][e(653)],i=this[e(1146)][e(1237)];let r={useMSE:!1,useWCS:!1};this._resetPlayer(r)[e(952)]((()=>{const r=e;this.play(s,i).then((()=>{const t=iC;this[t(1039)](t(691),"mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play success")}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O[s(765)],t),this.debugError(s(691),s(1094),e)})).finally((()=>{this[r(809)]=!1}))})).catch((s=>{const i=e;this[i(809)]=!1,this.emit(B[i(1608)],O[i(765)],t),this[i(1278)](i(691),"mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] _resetPlayer and play error",s)}))}else{const s=!1===this._opt[e(636)];this[e(1421)].setPlayFailedAndPaused(),this[e(1576)](s)[e(952)]((()=>{const s=e;this.emit(B.playFailedAndPaused,O[s(765)],t),this[s(1039)](s(691),s(1336))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(765)],t),this.debugError(i(691),i(575),s)})).finally((()=>{this[e(809)]=!1}))}}[sC(1380)](t){const e=sC;if(this[e(1003)]())return void(this.debug&&this[e(1039)](e(691),"mediaSourceTsIsMaxDiff but player is destroyed"));if(this[e(644)])return void this[e(1039)](e(691),e(527));this[e(1453)](B[e(1209)],this[e(591)](O[e(1157)],t));const s=this[e(569)]();if(this[e(644)]=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(511)]){this[e(1039)]("JbPro",e(492));const i=this[e(1146)].url,r=this[e(1146)][e(1237)];let n={};this.player[e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this[e(1421)][e(1146)].replayShowLoadingIcon})),Js(this.isMute())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const n=e;this[n(1220)](i,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(710))})).catch((e=>{const i=n;this[i(1453)](B[i(1608)],O.mediaSourceTsIsMaxDiff,s,t),this.debugError(i(691),i(1277),e)}))[n(1566)]((()=>{this[n(644)]=!1}))}))[e(828)]((i=>{const r=e;this.mediaSourceTsIsMaxDiffOnLock=!1,this[r(1453)](B.playFailedAndPaused,O[r(1157)],s,t),this.debugError("JbPro","mediaSourceTsIsMaxDiff _resetPlayer error",i)}))}else{const i=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this.emit(B[i(1608)],O[i(1157)],s,t),this.debugLog(i(691),i(1469))})).catch((i=>{const r=e;this.emit(B[r(1608)],O[r(1157)],s,t),this[r(1278)](r(691),r(1057),i)}))[e(1566)]((()=>{this.mediaSourceTsIsMaxDiffOnLock=!1}))}}[sC(1099)](t){const s=sC;if(this.isDestroyed())return void(this[s(1211)]&&this[s(1039)]("JbPro",s(1358)));if(this[s(1444)])return void this[s(1039)]("JbPro",s(919));this[s(1453)](B[s(1209)],this[s(591)](O[s(1464)],t));const i=this[s(569)]();if(this[s(1444)]=!0,this[s(1421)]&&this.player[s(1146)][s(1367)]){this.debugLog("JbPro",s(560));const e=this._opt[s(653)],r=this[s(1146)][s(1237)];let n={};this.player[s(1146)][s(1183)]&&(n=Object.assign({},n,i,{loadingIcon:this[s(1421)][s(1146)][s(1210)]})),Js(this[s(936)]())&&(n.isNotMute=!0),this[s(643)](n)[s(952)]((()=>{const n=s;this[n(1421)][n(1146)][n(1113)]>0?this[n(1236)]=setTimeout((()=>{const s=n;this[s(1236)]=null,this[s(1003)]()?this[s(1211)]&&this[s(1039)](s(691),s(1299)):this.play(e,r).then((()=>{const t=s;this.debugLog(t(691),"mseWidthOrHeightChange and reset player and play success")}))[s(828)]((e=>{const r=s;this[r(1453)](B[r(1608)],O.mseWidthOrHeightChange,i,t),this[r(1278)]("JbPro","mseWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))}),1e3*this.player[n(1146)][n(1113)]):this[n(1220)](e,r)[n(952)]((()=>{const t=n;this.debugLog(t(691),"mseWidthOrHeightChange and reset player and play success")}))[n(828)]((e=>{const s=n;this[s(1453)](B[s(1608)],O[s(1464)],i,t),this[s(1278)]("JbPro",s(1147),e)})).finally((()=>{this[n(1444)]=!1}))}))[s(828)]((e=>{const r=s;this.mseWidthOrHeightChangeOnLock=!1,this[r(1453)](B[r(1608)],O[r(1464)],i,t),this[r(1278)](r(691),r(1101),e)}))}else{const r=!1===this[s(1146)].playFailedUseLastFrameShow;this.player[s(589)](),this._pause(r)[s(952)]((()=>{const r=s;this[r(1453)](B[r(1608)],O.mseWidthOrHeightChange,i,t),this[r(1278)](r(691),r(1101),e)}))[s(828)]((e=>{const r=s;this.emit(B[r(1608)],O[r(1464)],i,t),this.debugError(r(691),r(1618),e)})).finally((()=>{this[s(1444)]=!1}))}}[sC(1549)](t){const s=sC;if(this[s(1003)]())return void(this[s(1211)]&&this.debugLog("JbPro",s(1296)));if(this[s(484)])return void this[s(1039)](s(691),s(762));const i=this[s(569)]();if(this[s(484)]=!0,this[s(1421)]&&this[s(1421)]._opt[s(600)]){this[s(1039)](s(691),"mediaSourceAudioG711NotSupport and reset player and play");const e=this[s(1146)][s(653)],r=this[s(1146)].playOptions;let n={mseDecodeAudio:!1};this[s(1421)][s(1146)][s(1183)]&&(n=Object[s(1439)]({},n,i,{loadingIcon:this[s(1421)][s(1146)][s(1210)]})),Js(this[s(936)]())&&(n[s(780)]=!0),this[s(643)](n)[s(952)]((()=>{const n=s;this[n(1220)](e,r)[n(952)]((()=>{this[n(1039)]("JbPro","mediaSourceAudioG711NotSupport and reset player and play success")}))[n(828)]((e=>{const s=n;this[s(1453)](B[s(1608)],O.mediaSourceAudioG711NotSupport,i,t),this[s(1278)]("JbPro",s(1442),e)}))[n(1566)]((()=>{this[n(484)]=!1}))})).catch((e=>{const r=s;this.mediaSourceAudioG711NotSupportOnLock=!1,this[r(1453)](B.playFailedAndPaused,O[r(1207)],i,t),this[r(1278)](r(691),r(923),e)}))}else{const r=!1===this[s(1146)][s(636)];this[s(1421)][s(589)](),this[s(1576)](r)[s(952)]((()=>{const r=s;this[r(1453)](B.playFailedAndPaused,O[r(1207)],i,t),this[r(1278)]("JbPro",r(923),e)}))[s(828)]((e=>{const r=s;this[r(1453)](B[r(1608)],O[r(1207)],i,t),this[r(1278)](r(691),r(1422),e)}))[s(1566)]((()=>{this[s(484)]=!1}))}}[sC(763)](t){const s=sC;if(this.isDestroyed())return void(this[s(1211)]&&this[s(1039)](s(691),"mediaSourceAudioInitTimeout but player is destroyed"));if(this[s(513)])return void this[s(1039)](s(691),s(713));const i=this[s(569)]();if(this.mediaSourceAudioInitTimeoutOnLock=!0,this.player&&this[s(1421)][s(1146)].mediaSourceAudioInitTimeoutReplay){this[s(1039)]("JbPro",s(625));const e=this[s(1146)][s(653)],r=this[s(1146)][s(1237)];let n={mseDecodeAudio:!1};this.player[s(1146)][s(1183)]&&(n=Object[s(1439)]({},n,i,{loadingIcon:this[s(1421)][s(1146)].replayShowLoadingIcon})),Js(this[s(936)]())&&(n[s(780)]=!0),this[s(643)](n)[s(952)]((()=>{const n=s;this.play(e,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(1556))}))[n(828)]((e=>{const s=n;this[s(1453)](B[s(1608)],O[s(538)],i,t),this[s(1278)](s(691),s(1387),e)}))[n(1566)]((()=>{this[n(513)]=!1}))}))[s(828)]((e=>{const r=s;this[r(513)]=!1,this[r(1453)](B.playFailedAndPaused,O.mediaSourceAudioInitTimeout,i,t),this[r(1278)]("JbPro",r(1412),e)}))}else{const t=!1===this[s(1146)][s(636)];this[s(1421)][s(589)](),this._pause(t).then((()=>{const t=s;this[t(1453)](B[t(1608)],O.mediaSourceAudioInitTimeout,i),this.debugError(t(691),t(1412),e)}))[s(828)]((t=>{const e=s;this[e(1453)](B[e(1608)],O.mediaSourceAudioInitTimeout,i),this[e(1278)](e(691),"mediaSourceAudioInitTimeout error and pause error",t)}))[s(1566)]((()=>{this.mediaSourceAudioInitTimeoutOnLock=!1}))}}_handleMediaSourceAudioNoDataTimeout(t){const s=sC;if(this.isDestroyed())return void(this[s(1211)]&&this.debugLog(s(691),s(1629)));if(this[s(1109)])return void this[s(1039)](s(691),"mediaSourceAudioNoDataTimeoutOnLock is true");const i=this[s(569)]();if(this[s(1109)]=!0,this[s(1421)]&&this.player[s(1146)][s(894)]){this.debugLog(s(691),s(599));const e=this._opt[s(653)],r=this._opt.playOptions;let n={mseDecodeAudio:!1};this.player[s(1146)][s(1183)]&&(n=Object[s(1439)]({},n,i,{loadingIcon:this[s(1421)]._opt[s(1210)]})),Js(this[s(936)]())&&(n[s(780)]=!0),this._resetPlayer(n)[s(952)]((()=>{const n=s;this[n(1220)](e,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),"mediaSourceAudioNoDataTimeout and reset player and play success")}))[n(828)]((e=>{const s=n;this[s(1453)](B.playFailedAndPaused,O.mediaSourceAudioNoDataTimeout,i,t),this[s(1278)]("JbPro",s(1302),e)}))[n(1566)]((()=>{this[n(1109)]=!1}))}))[s(828)]((e=>{const r=s;this[r(1109)]=!1,this.emit(B[r(1608)],O.mediaSourceAudioNoDataTimeout,i,t),this[r(1278)](r(691),r(1029),e)}))}else{const t=!1===this[s(1146)].playFailedUseLastFrameShow;this[s(1421)].setPlayFailedAndPaused(),this[s(1576)](t)[s(952)]((()=>{const t=s;this[t(1453)](B.playFailedAndPaused,O[t(1050)],i),this.debugError(t(691),t(1029),e)}))[s(828)]((t=>{const e=s;this[e(1453)](B[e(1608)],O.mediaSourceAudioNoDataTimeout,i),this[e(1278)](e(691),e(1332),t)}))[s(1566)]((()=>{this[s(1109)]=!1}))}}[sC(1392)](t){const s=sC;if(this.isDestroyed())return void(this[s(1211)]&&this.debugLog(s(691),s(864)));if(this[s(1014)])return void this.debugLog("JbPro",s(1168));const i=this[s(569)]();if(this[s(1014)]=!0,this[s(1421)]&&this[s(1421)][s(1146)][s(1288)]){this[s(1039)](s(691),s(1376));const e=this._opt[s(653)],r=this[s(1146)][s(1237)];let n={mseDecoderUseWorker:!1};this[s(1421)][s(1146)][s(1183)]&&(n=Object[s(1439)]({},n,i,{loadingIcon:this[s(1421)][s(1146)][s(1210)]})),Js(this[s(936)]())&&(n[s(780)]=!0),this[s(643)](n).then((()=>{const n=s;this[n(1220)](e,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(497))}))[n(828)]((e=>{const s=n;this[s(1453)](B[s(1608)],O[s(488)],i,t),this[s(1278)](s(691),s(749),e)}))[n(1566)]((()=>{this[n(1014)]=!1}))}))[s(828)]((e=>{const r=s;this[r(1014)]=!1,this.emit(B[r(1608)],O[r(488)],i,t),this[r(1278)]("JbPro",r(943),e)}))}else{const t=!1===this._opt[s(636)];this[s(1421)][s(589)](),this[s(1576)](t)[s(952)]((()=>{const t=s;this[t(1453)](B.playFailedAndPaused,O[t(488)],i),this[t(1278)](t(691),t(943),e)}))[s(828)]((t=>{const e=s;this[e(1453)](B[e(1608)],O[e(488)],i),this[e(1278)](e(691),"mseWorkerAddSourceBufferError error and pause error",t)}))[s(1566)]((()=>{this[s(1014)]=!1}))}}[sC(847)](t){const e=sC;if(this[e(1003)]())this[e(1211)]&&this[e(1039)](e(691),"mediaSourceUseCanvasRenderPlayFailed but player is destroyed");else if(this[e(1052)])this[e(1039)](e(691),e(1228));else if(this[e(1453)](B[e(1209)],this[e(591)](O[e(1140)],t)),this[e(1052)]=!0,this[e(1421)]&&this.player[e(1146)][e(1406)]&&this[e(1421)][e(1146)][e(1554)]){this[e(1039)]("JbPro",e(1635)+this.player[e(1146)][e(1554)]+e(1305));const s=this[e(1146)].url,i=this[e(1146)][e(1237)];let r={};const n=this[e(1421)][e(1146)][e(1554)];n===f.canvas?r={useMSE:!1,useWCS:!1}:n===f[e(1275)]&&(r={useVideoRender:!0,useCanvasRender:!1}),this[e(643)](r)[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this.debugLog(t(691),t(983))}))[r(828)]((e=>{const s=r;this.emit(B.playFailedAndPaused,O[s(1140)],t),this[s(1278)](s(691),s(826),e)}))[r(1566)]((()=>{this[r(1052)]=!1}))}))[e(828)]((s=>{const i=e;this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1,this[i(1453)](B.playFailedAndPaused,O[i(1140)],t),this[i(1278)](i(691),i(967),s)}))}else{const s=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(1576)](s).then((()=>{const t=e;this[t(1039)](t(691),t(1462))}))[e(828)]((s=>{const i=e;this[i(1453)](B.playFailedAndPaused,O[i(1140)],t),this[i(1278)](i(691),i(520),s)}))[e(1566)]((()=>{this[e(1052)]=!1}))}}_handleWebcodecsH265NotSupport(t){const e=sC;if(this[e(1003)]())this[e(1211)]&&this[e(1039)](e(691),"webcodecsH265NotSupport but player is destroyed");else if(this[e(862)])this.debugLog(e(691),e(1535));else if(this[e(1453)](B[e(1209)],this[e(591)](O[e(969)],t)),this[e(862)]=!0,this[e(1421)]&&this.player[e(1146)][e(1288)]){this[e(1039)]("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play");const s=this[e(1146)][e(653)],i=this._opt[e(1237)];this[e(643)]({useMSE:!1,useWCS:!1})[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this.debugLog("JbPro",t(1433))}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O[s(969)],t),this[s(1278)](s(691),s(1164),e)}))[r(1566)]((()=>{this[r(862)]=!1}))})).catch((t=>{const s=e;this.webcodecsH265NotSupportOnLock=!1,this[s(1278)]("JbPro",s(1357),t)}))}else{const s=!1===this._opt[e(636)];this[e(1421)].setPlayFailedAndPaused(),this[e(1576)](s)[e(952)]((()=>{const s=e;this.emit(B.playFailedAndPaused,O[s(969)],t),this[s(1039)](s(691),s(455))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(969)],t),this.debugError(i(691),i(1391),s)}))[e(1566)]((()=>{this[e(862)]=!1}))}}_handleWebcodecsUnsupportedConfigurationError(t){const e=sC;if(this[e(1003)]())this[e(1211)]&&this[e(1039)](e(691),e(916));else if(this[e(473)])this[e(1039)]("JbPro",e(961));else if(this.emit(B[e(1209)],this[e(591)](O[e(1567)],t)),this[e(473)]=!0,this[e(1421)]&&this.player[e(1146)][e(1288)]){this[e(1039)](e(691),e(1284));const s=this[e(1146)].url,i=this[e(1146)].playOptions;this[e(643)]({useMSE:!1,useWCS:!1})[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this.debugLog(t(691),t(824))}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O.webcodecsUnsupportedConfigurationError,t),this[s(1278)](s(691),"webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play error",e)})).finally((()=>{this[r(473)]=!1}))}))[e(828)]((s=>{const i=e;this[i(473)]=!1,this[i(1453)](B[i(1608)],O[i(1567)],t),this[i(1278)](i(691),"webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] _resetPlayer and play error",s)}))}else{const s=!1===this[e(1146)][e(636)];this.player.setPlayFailedAndPaused(),this._pause(s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O.webcodecsUnsupportedConfigurationError,t),this[s(1039)](s(691),"webcodecsUnsupportedConfigurationError and autoWasm is false")}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(1567)],t),this[i(1278)](i(691),i(1031),s)}))[e(1566)]((()=>{this[e(473)]=!1}))}}_handleWebcodecsDecodeConfigureError(t){const e=sC;if(this[e(1003)]())this.debug&&this[e(1039)](e(691),"webcodecsDecodeConfigureError but player is destroyed");else if(this[e(1073)])this[e(1039)](e(691),e(1194));else if(this[e(1453)](B.crashLog,this[e(591)](O[e(658)],t)),this.player&&this[e(1421)][e(1146)].hardDecodingNotSupportAutoWasm){this.debugLog("JbPro",e(1497));const s=this[e(1146)][e(653)],i=this[e(1146)][e(1237)];this[e(643)]({useMSE:!1,useWCS:!1}).then((()=>{const r=e;this.play(s,i)[r(952)]((()=>{this[r(1039)]("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play success")}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O[s(658)],t),this.debugError(s(691),s(779),e)})).finally((()=>{this[r(1073)]=!1}))})).catch((s=>{const i=e;this[i(1073)]=!1,this.emit(B[i(1608)],O[i(658)],t),this[i(1278)](i(691),i(1195),s)}))}else{const s=!1===this[e(1146)][e(636)];this.player[e(589)](),this[e(1576)](s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O.webcodecsDecodeConfigureError,t),this.debugLog(s(691),s(895))}))[e(828)]((s=>{const i=e;this.emit(B[i(1608)],O.webcodecsDecodeConfigureError,t),this[i(1278)](i(691),i(875),s)}))[e(1566)]((()=>{this[e(1073)]=!1}))}}_handleWebcodecsDecodeError(t){const e=sC;if(this.isDestroyed())return void(this[e(1211)]&&this[e(1039)](e(691),e(1224)));if(this[e(891)])return void this.debugLog(e(691),e(1512));this[e(1453)](B[e(1209)],this[e(591)](O[e(1161)],t));const s=this[e(569)]();if(this[e(891)]=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(1410)]){const i=this[e(1146)][e(653)],r=this._opt.playOptions;let n={},o=this[e(1421)][e(1146)][e(1337)],a=!0;o?n={useMSE:!1,useWCS:!1}:this[e(1628)](Mt[e(935)])?this[e(607)][e(678)](Be()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this[e(1039)](e(691),"webcodecs decode error autoWasm "+(Js(a)?e(1619):"")+e(645)+e(o?1090:449)+e(1366)),this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this.player[e(1146)][e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const n=e;this.play(i,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),"webcodecs decode error reset player and play success")})).catch((e=>{const i=n;this[i(1453)](B[i(1608)],O[i(1161)],s,t),this[i(1278)](i(691),i(1175),e)}))[n(1566)]((()=>{this.webcodecsDecodeErrorOnLock=!1}))}))[e(828)]((()=>{const i=e;this[i(891)]=!1,this[i(1453)](B[i(1608)],O.webcodecsDecodeError,s,t),this[i(1278)](i(691),i(490))}))}else{const i=!1===this._opt[e(636)];this[e(1421)][e(589)](),this._pause(i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1161)],s,t),this[i(1039)](i(691),i(1403))}))[e(828)]((i=>{const r=e;this[r(1453)](B.playFailedAndPaused,O.webcodecsDecodeError,s,t),this[r(1278)](r(691),r(1338),i)}))[e(1566)]((()=>{this[e(891)]=!1}))}}[sC(955)](t){const s=sC;if(this.isDestroyed())return void(this.debug&&this[s(1039)]("JbPro","wcsWidthOrHeightChange but player is destroyed"));if(this[s(921)])return void this.debugLog(s(691),s(788));this[s(1453)](B[s(1209)],this[s(591)](O.wcsWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this[s(921)]=!0,this[s(1421)]&&this[s(1421)][s(1146)][s(1367)]){this[s(1039)]("JbPro","wcsWidthOrHeightChange and reset player and play");const e=this[s(1146)][s(653)],r=this[s(1146)][s(1237)];let n={};this[s(1421)][s(1146)][s(1183)]&&(n=Object[s(1439)]({},n,i,{loadingIcon:this.player[s(1146)][s(1210)]})),Js(this[s(936)]())&&(n[s(780)]=!0),this._resetPlayer(n)[s(952)]((()=>{const n=s;this[n(1146)][n(1113)]>0?this[n(1236)]=setTimeout((()=>{const s=n;this[s(1236)]=null,this[s(1003)]()?this[s(1211)]&&this[s(1039)](s(691),s(1214)):this[s(1220)](e,r)[s(952)]((()=>{const t=s;this[t(1039)](t(691),t(840))}))[s(828)]((e=>{const r=s;this.emit(B[r(1608)],O[r(958)],i,t),this[r(1278)](r(691),r(805),e)}))[s(1566)]((()=>{this[s(921)]=!1}))}),1e3*this[n(1146)][n(1113)]):this[n(1220)](e,r).then((()=>{const t=n;this.debugLog("JbPro",t(840))})).catch((e=>{const s=n;this[s(1453)](B[s(1608)],O[s(958)],i,t),this.debugError("JbPro",s(805),e)}))[n(1566)]((()=>{this[n(921)]=!1}))}))[s(828)]((e=>{const r=s;this[r(921)]=!1,this[r(1453)](B[r(1608)],O[r(958)],i,t),this[r(1278)]("JbPro","wcsWidthOrHeightChange and _resetPlayer error",e)}))}else{const r=!1===this[s(1146)].playFailedUseLastFrameShow;this.player[s(589)](),this[s(1576)](r).then((()=>{const r=s;this.emit(B[r(1608)],O[r(958)],i,t),this.debugError(r(691),r(548),e)})).catch((e=>{const r=s;this[r(1453)](B[r(1608)],O[r(958)],i,t),this[r(1278)](r(691),r(562),e)}))[s(1566)]((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}}[sC(719)](t){const s=sC;if(this[s(1003)]())return void(this.debug&&this[s(1039)](s(691),s(674)));if(this[s(1486)])return void this.debugLog("JbPro",s(469));const i=this[s(569)]();if(this[s(1486)]=!0,this[s(1421)]&&this.player._opt[s(764)]){this.debugLog(s(691),s(616));const e=this[s(1146)][s(653)],r=this[s(1146)][s(1237)];let n={wcsDecodeAudio:!1};this[s(1421)][s(1146)].replayUseLastFrameShow&&(n=Object[s(1439)]({},n,i,{loadingIcon:this.player._opt[s(1210)]})),Js(this.isMute())&&(n[s(780)]=!0),this[s(643)](n)[s(952)]((()=>{const n=s;this[n(1220)](e,r).then((()=>{const t=n;this[t(1039)](t(691),t(623))}))[n(828)]((e=>{const s=n;this.emit(B[s(1608)],O.webcodecsAudioNoDataTimeout,i,t),this[s(1278)](s(691),s(1588),e)})).finally((()=>{this[n(1486)]=!1}))}))[s(828)]((e=>{const r=s;this[r(1486)]=!1,this[r(1453)](B[r(1608)],O[r(998)],i,t),this.debugError(r(691),r(610),e)}))}else{const t=!1===this[s(1146)][s(636)];this[s(1421)][s(589)](),this._pause(t)[s(952)]((()=>{const t=s;this[t(1453)](B.playFailedAndPaused,O[t(998)],i),this[t(1278)](t(691),t(610),e)}))[s(828)]((t=>{const e=s;this[e(1453)](B[e(1608)],O.webcodecsAudioNoDataTimeout,i),this.debugError(e(691),"webcodecsAudioNoDataTimeout error and pause error",t)})).finally((()=>{this[s(1486)]=!1}))}}_handleWebcodecsAudioInitTimeout(t){const s=sC;if(this[s(1003)]())return void(this[s(1211)]&&this[s(1039)](s(691),s(1398)));if(this[s(980)])return void this[s(1039)](s(691),"webcodecsAudioInitTimeoutOnLock is true");const i=this[s(569)]();if(this[s(980)]=!0,this.player&&this.player[s(1146)][s(1075)]){this[s(1039)](s(691),"webcodecsAudioInitTimeout and reset player and play");const e=this[s(1146)][s(653)],r=this[s(1146)][s(1237)];let n={wcsDecodeAudio:!1};this.player._opt[s(1183)]&&(n=Object.assign({},n,i,{loadingIcon:this[s(1421)]._opt.replayShowLoadingIcon})),Js(this[s(936)]())&&(n[s(780)]=!0),this[s(643)](n)[s(952)]((()=>{const n=s;this[n(1220)](e,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(1560))})).catch((e=>{const s=n;this[s(1453)](B.playFailedAndPaused,O[s(1335)],i,t),this[s(1278)](s(691),"webcodecsAudioInitTimeout and reset player and play error",e)}))[n(1566)]((()=>{this[n(980)]=!1}))}))[s(828)]((e=>{const r=s;this[r(980)]=!1,this.emit(B[r(1608)],O[r(1335)],i,t),this[r(1278)]("JbPro",r(870),e)}))}else{const t=!1===this[s(1146)][s(636)];this.player.setPlayFailedAndPaused(),this[s(1576)](t)[s(952)]((()=>{const t=s;this[t(1453)](B[t(1608)],O[t(1335)],i),this[t(1278)](t(691),t(870),e)}))[s(828)]((t=>{const e=s;this.emit(B[e(1608)],O.webcodecsAudioInitTimeout,i),this[e(1278)](e(691),"webcodecsAudioInitTimeout error and pause error",t)}))[s(1566)]((()=>{this.webcodecsAudioInitTimeoutOnLock=!1}))}}[sC(1552)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this.debugLog("JbPro","simdDecodeError but player is destroyed"));if(this[e(670)])return void this[e(1039)](e(691),e(1153));this[e(1453)](B[e(1209)],this[e(591)](O[e(1249)],t));const s=this[e(569)]();if(this[e(670)]=!0,this[e(1421)]&&this.player[e(1146)][e(883)]){this.debugLog(e(691),e(1405)+this[e(1421)][e(1146)][e(496)]+e(1305));const i=this._opt[e(653)],r=this[e(1146)][e(1237)];let n={};this[e(1421)][e(1146)][e(496)]===p[e(1090)]&&(n={useSIMD:!1}),this[e(1421)][e(1146)].replayUseLastFrameShow&&(n=Object.assign({},n,s,{loadingIcon:this[e(1421)][e(1146)].replayShowLoadingIcon})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n).then((()=>{const n=e;this[n(1220)](i,r).then((()=>{const t=n;this[t(1039)]("JbPro",t(1447))}))[n(828)]((e=>{const i=n;this[i(1453)](B.playFailedAndPaused,O.simdDecodeError,s,t),this[i(1278)](i(691),i(1513),e)}))[n(1566)]((()=>{this[n(670)]=!1}))}))[e(828)]((i=>{const r=e;this[r(670)]=!1,this.emit(B[r(1608)],O[r(1249)],s,t),this[r(1278)](r(691),r(474),i)}))}else{const i=!1===this._opt[e(636)];this.player[e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B.playFailedAndPaused,O[i(1249)],s,t),this[i(1278)]("JbPro",i(634))}))[e(828)]((i=>{const r=e;this[r(1453)](B.playFailedAndPaused,O[r(1249)],s,t),this.debugError(r(691),r(1087),i)}))[e(1566)]((()=>{this.simdDecodeErrorOnLock=!1}))}}[sC(1013)](t){const s=sC;if(this[s(1003)]())return void(this[s(1211)]&&this[s(1039)](s(691),s(1240)));if(this[s(1230)])return void this.debugLog(s(691),s(609));this[s(1453)](B[s(1209)],this.getCrashLog(O[s(1131)],t));const i=this[s(569)]();if(this[s(1230)]=!0,this.player&&this[s(1421)]._opt[s(1367)]){this[s(1039)](s(691),s(1198));const e=this[s(1146)][s(653)],r=this[s(1146)].playOptions;let n={};this[s(1421)][s(1146)].replayUseLastFrameShow&&(n=Object[s(1439)]({},n,i,{loadingIcon:this.player[s(1146)][s(1210)]})),Js(this[s(936)]())&&(n.isNotMute=!0),this[s(643)](n)[s(952)]((()=>{const n=s;this[n(1146)].widthOrHeightChangeReplayDelayTime>0?this[n(1236)]=setTimeout((()=>{const s=n;this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this[s(1211)]&&this.debugLog(s(691),s(1028)):this[s(1220)](e,r)[s(952)]((()=>{const t=s;this[t(1039)](t(691),t(528))}))[s(828)]((e=>{const r=s;this[r(1453)](B[r(1608)],O[r(1131)],i,t),this[r(1278)](r(691),r(823),e)}))[s(1566)]((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}),1e3*this[n(1146)][n(1113)]):this[n(1220)](e,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(528))})).catch((e=>{const s=n;this[s(1453)](B[s(1608)],O[s(1131)],i,t),this[s(1278)](s(691),s(823),e)}))[n(1566)]((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}))[s(828)]((e=>{const r=s;this.wasmWidthOrHeightChangeOnLock=!1,this[r(1453)](B[r(1608)],O[r(1131)],i,t),this[r(1278)](r(691),r(544),e)}))}else{const r=!1===this[s(1146)][s(636)];this[s(1421)][s(589)](),this[s(1576)](r)[s(952)]((()=>{const r=s;this[r(1453)](B[r(1608)],O[r(1131)],i,t),this[r(1278)](r(691),r(544),e)}))[s(828)]((t=>{const e=s;this[e(1453)](B[e(1608)],O[e(1131)],i),this[e(1278)]("JbPro",e(1306),t)}))[s(1566)]((()=>{this[s(1230)]=!1}))}}_handleWasmUseVideoRenderError(t){const e=sC;if(this[e(1003)]())return void(this.debug&&this[e(1039)](e(691),"wasmUseVideoRenderError but player is destroyed"));if(this[e(745)])return void this[e(1039)]("JbPro","wasmUseVideoRenderErrorOnLock is true");this.emit(B[e(1209)],this.getCrashLog(O[e(717)],t)),this.debugLog("JbPro",e(498));const s=this[e(1146)][e(653)],i=this[e(1146)].playOptions;this[e(745)]=!0,this[e(643)]({useVideoRender:!1,useCanvasRender:!0}).then((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this[t(1039)](t(691),t(608))})).catch((e=>{const s=r;this.emit(B[s(1608)],O[s(717)],{},t),this[s(1278)](s(691),s(903),e)}))[r(1566)]((()=>{this[r(745)]=!1}))}))[e(828)]((s=>{const i=e;this.wasmUseVideoRenderErrorOnLock=!1,this[i(1453)](B[i(1608)],O[i(717)],{},t),this[i(1278)](i(691),i(813),s)}))}[sC(1259)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),"notSupportNewWasm but player is destroyed"));if(this[e(861)])return void this[e(1039)](e(691),"notSupportNewWasmOnLock is true");this[e(1453)](B[e(1209)],this.getCrashLog(O[e(1435)],t)),this[e(861)]=!0,this.debugLog(e(691),"notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play");const s=this[e(1146)][e(653)],i=this[e(1146)][e(1237)];this[e(643)]({useOldWasm:!0})[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this[t(1039)](t(691),t(1396))}))[r(828)]((e=>{const s=r;this.emit(B.playFailedAndPaused,O[s(969)],t),this[s(1278)](s(691),s(1394),e)})).finally((()=>{this[r(861)]=!1}))})).catch((t=>{const s=e;this.notSupportNewWasmOnLock=!1,this.debugError(s(691),s(959),t)}))}_handleVideoElementPlayingFailed(t){const e=sC;if(this.isDestroyed())return void(this[e(1211)]&&this.debugLog(e(691),e(1213)));if(this[e(510)])return void this.debugLog(e(691),"videoElementPlayingFailedOnLock is true");this[e(1453)](B.crashLog,this.getCrashLog(O[e(684)],t));const s=this[e(569)]();if(this[e(510)]=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(790)]){this[e(1039)](e(691),e(595)+this[e(1146)][e(855)]+e(1305));const i=this[e(1146)][e(653)],r=this[e(1146)][e(1237)];let n={useMSE:!1,useVideoRender:!1,useCanvasRender:!0};this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this.player[e(1146)][e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const s=e;this[s(1220)](i,r)[s(952)]((()=>{const t=s;this[t(1039)](t(691),t(1123))}))[s(828)]((e=>{const i=s;this[i(1453)](B.playFailedAndPaused,O[i(684)],{},t),this.debugError(i(691),i(1320),e)}))[s(1566)]((()=>{this.videoElementPlayingFailedOnLock=!1}))})).catch((s=>{const i=e;this.videoElementPlayingFailedOnLock=!1,this[i(1453)](B[i(1608)],O[i(684)],{},t),this[i(1278)]("JbPro","videoElementPlayingFailed and _resetPlayer error",s)}))}else{const s=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this._pause(s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O[s(684)],{},t),this[s(1278)](s(691),s(557))}))[e(828)]((s=>{const i=e;this.emit(B.playFailedAndPaused,O[i(684)],{},t),this[i(1278)](i(691),i(755),s)}))[e(1566)]((()=>{this[e(510)]=!1}))}}[sC(1264)](t){const e=sC;if(this[e(1003)]())this[e(1211)]&&this.debugLog(e(691),e(1021));else if(this[e(1334)])this[e(1039)](e(691),e(1185));else if(this[e(1453)](B.crashLog,this.getCrashLog(O.simdH264DecodeVideoWidthIsTooLarge,t)),this[e(1334)]=!0,this[e(1421)]&&this[e(1421)][e(1146)][e(1603)]){this[e(1039)](e(691),e(567));const s=this[e(1146)][e(653)],i=this[e(1146)][e(1237)];this._resetPlayer({useSIMD:!1})[e(952)]((()=>{const r=e;this[r(1220)](s,i)[r(952)]((()=>{const t=r;this[t(1039)](t(691),t(771))}))[r(828)]((e=>{const s=r;this[s(1453)](B[s(1608)],O[s(1151)],{},t),this[s(1278)](s(691),s(1529),e)}))[r(1566)]((()=>{this[r(1334)]=!1}))}))[e(828)]((s=>{const i=e;this[i(1334)]=!1,this[i(1453)](B[i(1608)],O[i(1151)],{},t),this[i(1278)]("JbPro",i(1617),s)}))}else{const s=!1===this[e(1146)].playFailedUseLastFrameShow;this[e(1421)].setPlayFailedAndPaused(),this[e(1576)](s)[e(952)]((()=>{const s=e;this[s(1453)](B.playFailedAndPaused,O.simdH264DecodeVideoWidthIsTooLarge,{},t),this[s(1278)](s(691),s(1311))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(1151)],{},t),this[i(1278)]("JbPro","simdH264DecodeVideoWidthIsTooLarge and pause error",s)}))[e(1566)]((()=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1}))}}[sC(568)](t){const e=sC;if(this[e(1421)][e(1146)][e(1612)]){if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),e(1492)));if(this[e(953)])return void this[e(1039)]("JbPro","networkDelayTimeoutOnLock is true");this[e(1453)](B[e(1209)],this[e(591)](B.networkDelayTimeout,t));const s=this[e(569)]();this[e(1039)]("JbPro","network delay time out and reset player and play");const i=this._opt[e(653)],r=this[e(1146)][e(1237)];let n={};this[e(1421)]&&this.player[e(1146)].replayUseLastFrameShow&&(n=Object.assign({},n,s,{loadingIcon:this.player[e(1146)].replayShowLoadingIcon})),Js(this[e(936)]())&&(n[e(780)]=!0),this.networkDelayTimeoutOnLock=!0,this._resetPlayer(n).then((()=>{const n=e;this[n(1220)](i,r)[n(952)]((()=>{const t=n;this[t(1039)](t(691),t(1558))}))[n(828)]((e=>{const i=n;this[i(1453)](B[i(1608)],B[i(457)],s,t),this[i(1278)](i(691),i(519),e)}))[n(1566)]((()=>{this[n(953)]=!1}))}))[e(828)]((()=>{const i=e;this.networkDelayTimeoutOnLock=!1,this[i(1453)](B.playFailedAndPaused,B[i(457)],s,t),this[i(1278)]("JbPro",i(957))}))}}[sC(542)](t){const e=sC;if(this.isDestroyed())return void(this.debug&&this[e(1039)](e(691),"flvDemuxBufferSizeTooLarge but player is destroyed"));if(this.flvDemuxBufferSizeTooLargeOnLock)return void this.debugLog("JbPro",e(835));const s=this[e(569)]();if(this[e(905)]=!0,this.player[e(1146)][e(572)]){this[e(1453)](B[e(1209)],this.getCrashLog(B[e(660)],t)),this[e(1039)](e(691),e(886));const i=this._opt.url,r=this[e(1146)][e(1237)];let n={};this.player&&this[e(1421)][e(1146)][e(1183)]&&(n=Object[e(1439)]({},n,s,{loadingIcon:this[e(1421)]._opt[e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const n=e;this[n(1220)](i,r).then((()=>{const t=n;this[t(1039)](this[t(622)],t(651))})).catch((e=>{const i=n;this.emit(B.playFailedAndPaused,B[i(660)],s,t),this.debugError(this[i(622)],i(1316),e)})).finally((()=>{this[n(905)]=!1}))})).catch((()=>{const i=e;this[i(905)]=!1,this[i(1453)](B[i(1608)],B[i(660)],s,t),this[i(1278)](this[i(622)],"flv Demux Buffer Size Too Large and _resetPlayer error")}))}else if(this[e(1146)].flvDemuxBufferSizeTooLargeEmitFailed){this[e(1039)](this[e(622)],e(1086));const i=!1===this._opt[e(636)];this.player[e(589)](),this._pause(i)[e(952)]((()=>{const i=e;this[i(1453)](B.playFailedAndPaused,O[i(660)],s,t)}))[e(828)]((i=>{const r=e;this[r(1453)](B.playFailedAndPaused,O[r(660)],s,t),this[r(1278)](this[r(622)],"flv Demux Buffer Size Too Large",i)})).finally((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1}))}}[sC(1218)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this.debugLog("JbPro",e(1658)));if(this[e(1587)])return void this.debugLog(e(691),e(1356));this[e(1453)](B.crashLog,this[e(591)](O[e(1568)],t));const s=this[e(569)](),i=this._isNeedNetworkDisconnectReplay();if(this[e(1587)]=!0,this[e(1421)][e(1146)].streamErrorReplay||i){i?this.debugLog(e(691),e(1088)):this[e(1039)](e(691),e(1186)+this[e(740)]+e(1490)+this[e(1146)][e(472)]+e(1609));let r={};this[e(1421)][e(1146)][e(1183)]&&(r=Object[e(1439)]({},r,s,{loadingIcon:this[e(1421)][e(1146)].replayShowLoadingIcon})),Js(this[e(936)]())&&(r.isNotMute=!0);const n=this[e(1146)][e(1237)],o=this._opt[e(653)],a=i?1:this[e(1146)][e(472)];this._resetPlayer(r)[e(952)]((()=>{const s=e;this[s(1300)]=setTimeout((()=>{const e=s;if(this[e(1300)]=null,!this[e(1003)]())return this[e(834)]()?(this[e(1039)](e(691),e(1089)),this[e(769)]=!0,void(this[e(1539)]={url:o,options:n,type:O[e(1568)]})):(this[e(740)]++,void this.play(o,n)[e(952)]((()=>{const t=e;this[t(1039)](t(691),t(1130))}))[e(828)]((s=>{const i=e;this.emit(B.playFailedAndPaused,O[i(1568)],{},t),this.debugError(i(691),i(775),s)})).finally((()=>{this[e(1587)]=!1})));this.debug&&this[e(1039)](e(691),e(1203))}),1e3*a)})).catch((s=>{const i=e;this.fetchErrorOnLock=!1,this[i(1453)](B[i(1608)],O[i(1568)],{},t),this[i(1278)](i(691),i(1122),s)}))}else{this[e(1039)](e(691),e(914));const i=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1568)],s,t)}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],O[r(1568)],s,t),this[r(1278)]("JbPro",r(1479),i)}))[e(1566)]((()=>{this.fetchErrorOnLock=!1}))}}[sC(574)](t){const e=sC;if(this[e(1003)]())return void(this.debug&&this[e(1039)](e(691),e(1227)));if(this[e(1593)])return void this[e(1039)](e(691),"streamEndOnLock is true");this[e(1453)](B[e(1209)],this.getCrashLog(B[e(902)],t));const s=this._getVideoLastIframeInfo(),i=""+t=="1006"&&this[e(1421)][e(1146)][e(793)],r=!!i&&this[e(1628)](Mt[e(1291)]),n=i&&r,o=this.player[e(1146)][e(946)],a=this[e(834)]();if(this[e(1593)]=!0,n||o||a){a?this[e(1039)]("JbPro",e(1070)):n?this[e(1039)](e(691),e(716)+this[e(541)]+e(860)+this._opt[e(1607)]+e(1176)):this.debugLog(e(691),"streamEnd and isStreamEndReplay is true and and _streamEndReplayTimes is "+this._streamEndReplayTimes+e(860)+this[e(1146)][e(1475)]+"s reset player and play");const r=this._opt.playOptions,o=this[e(1146)].url;i&&this[e(996)][e(678)](Be());let h={};this.player._opt.replayUseLastFrameShow&&(h=Object[e(1439)]({},h,s,{loadingIcon:this[e(1421)][e(1146)].replayShowLoadingIcon})),Js(this[e(936)]())&&(h[e(780)]=!0);let c=n?this._opt[e(1607)]:this[e(1146)].streamEndReplayDelayTime;a&&(c=1),this[e(643)](h).then((()=>{this.streamEndReplayDelayTimeout=setTimeout((()=>{const e=iC;if(this[e(896)]=null,this._removeLoadingBackgroundForIOS(),!this[e(1003)]())return this[e(834)]()?(n?this.debugLog(e(691),e(1269)):this[e(1039)](e(691),"streamEnd and network is offline and wait network online to play , so return"),this[e(769)]=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:o,options:r,type:n?O[e(642)]:O.streamEnd})):(n?this[e(541)]++:this[e(656)]++,void this[e(1220)](o,r)[e(952)]((()=>{const t=e;n?this.debugLog("JbPro",t(1229)):this[t(1039)]("JbPro",t(536))}))[e(828)]((s=>{const i=e;this.emit(B[i(1608)],O[i(902)],{},t),n?this.debugError(i(691),i(1531),s):this.debugError(i(691),"streamEnd and reset player and play error",s)}))[e(1566)]((()=>{this[e(1593)]=!1})));a?this[e(1211)]&&this.debugLog("JbPro",e(603)):n?this.debug&&this[e(1039)](e(691),e(577)):this.debug&&this[e(1039)]("JbPro",e(1393))}),1e3*c)}))[e(828)]((s=>{const i=e;this[i(1593)]=!1,this[i(1453)](B[i(1608)],O[i(902)],{},t),n?this[i(1278)](i(691),i(598),s):this.debugError(i(691),i(848),s)}))}else{i?this[e(1039)](e(691),e(993)+(Js(r)?e(617):"")):this.debugLog(e(691),e(699));const n=!1===this[e(1146)].playFailedUseLastFrameShow;this[e(1421)][e(589)](),this[e(1576)](n)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],B[i(902)],s,t)}))[e(828)]((i=>{const r=e;this.emit(B[r(1608)],B[r(902)],s,t),this.debugError(r(691),r(1415),i)}))[e(1566)]((()=>{this[e(1593)]=!1}))}}[sC(876)](t){const e=sC;if(this[e(1003)]())return void(this.debug&&this.debugLog("JbPro",e(942)));if(this[e(465)])return void this[e(1039)]("JbPro",e(1177));this[e(1453)](B[e(1209)],this[e(591)](O[e(1098)],t));const s=this._getVideoLastIframeInfo(),i=this[e(834)]();if(this[e(465)]=!0,this[e(1421)][e(1146)].streamErrorReplay||i){i?this[e(1039)](e(691),e(720)):this[e(1039)](e(691),e(1500)+this[e(740)]+e(693)+this[e(1146)].streamErrorReplayDelayTime+e(1609));let r={};this[e(1421)]._opt[e(1183)]&&(r=Object[e(1439)]({},r,s,{loadingIcon:this[e(1421)][e(1146)][e(1210)]})),Js(this[e(936)]())&&(r[e(780)]=!0);const n=this[e(1146)][e(1237)],o=this[e(1146)][e(653)],a=i?1:this[e(1146)][e(472)];this[e(643)](r)[e(952)]((()=>{const s=e;this[s(1300)]=setTimeout((()=>{const e=s;if(this.streamErrorReplayDelayTimeout=null,!this.isDestroyed())return this._isNeedNetworkDisconnectReplay()?(this.debugLog(e(691),e(1143)),this[e(769)]=!0,void(this[e(1539)]={url:o,options:n,type:O[e(1098)]})):(this[e(740)]++,void this[e(1220)](o,n)[e(952)]((()=>{const t=e;this[t(1039)]("JbPro",t(673))}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(1568)],{},t),this[i(1278)](i(691),"websocketError error and reset player and play error",s)}))[e(1566)]((()=>{this[e(465)]=!1})));i?this[e(1211)]&&this[e(1039)](e(691),e(1006)):this[e(1211)]&&this[e(1039)]("JbPro","websocketError error and _resetPlayer() but player is destroyed and return")}),1e3*a)}))[e(828)]((s=>{const i=e;this[i(465)]=!1,this.emit(B[i(1608)],O.fetchError,{},t),this[i(1278)](i(691),"websocketError error and _resetPlayer error",s)}))}else{this[e(1039)]("JbPro",e(797));const i=!1===this._opt[e(636)];this[e(1421)][e(589)](),this._pause(i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1098)],s,t)}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],O[r(1098)],s,t),this[r(1278)](r(691),r(702),i)}))[e(1566)]((()=>{this.websocketErrorOnLock=!1}))}}_handleWebrtcError(t){const e=sC;if(this.isDestroyed())return void(this.debug&&this[e(1039)](e(691),"webrtcError but player is destroyed"));if(this.webrtcErrorOnLock)return void this[e(1039)]("JbPro",e(606));this[e(1453)](B.crashLog,this[e(591)](O[e(450)],t));const s=this[e(569)]();if(this[e(834)]()){this[e(1039)](e(691),e(504));const i=this[e(1146)][e(1237)],r=this[e(1146)][e(653)];let n={};this[e(1421)][e(1146)][e(1183)]&&(n=Object.assign({},n,s,{loadingIcon:this[e(1421)][e(1146)][e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const t=e;this[t(769)]=!0,this[t(1539)]={url:r,options:i,type:O.webrtcError}}))[e(828)]((()=>{const i=e;this.emit(B[i(1608)],O[i(450)],s,t),this[i(1278)](i(691),"webrtcError and _resetPlayer error")})).finally((()=>{this[e(1292)]=!1}))}else{this[e(1039)](e(691),"webrtcError and pause player");const i=!1===this[e(1146)][e(636)];this.player[e(589)](),this[e(1292)]=!0,this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B.playFailedAndPaused,O[i(450)],s,t)}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],O[r(450)],s,t),this.debugError("JbPro",r(859),i)})).finally((()=>{this[e(1292)]=!1}))}}_handleHlsError(t){const e=sC;if(this.isDestroyed())return void(this.debug&&this[e(1039)](e(691),e(1271)));if(this[e(1478)])return void this[e(1039)](e(691),e(723));this[e(1453)](B[e(1209)],this.getCrashLog(O.hlsError,t));const s=this[e(569)]();if(this[e(834)]()){this[e(1039)](e(691),e(1536));const i=this._opt[e(1237)],r=this[e(1146)].url;let n={};this.player[e(1146)].replayUseLastFrameShow&&(n=Object.assign({},n,s,{loadingIcon:this[e(1421)][e(1146)][e(1210)]})),Js(this[e(936)]())&&(n[e(780)]=!0),this[e(643)](n)[e(952)]((()=>{const t=e;this[t(769)]=!0,this[t(1539)]={url:r,options:i,type:O.hlsError}}))[e(828)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(1507)],s,t),this[i(1278)]("JbPro",i(588))}))[e(1566)]((()=>{this.hlsErrorOnLock=!1}))}else{this[e(1039)](e(691),e(854));const i=!1===this[e(1146)][e(636)];this.player[e(589)](),this.hlsErrorOnLock=!0,this[e(1576)](i).then((()=>{const i=e;this.emit(B.playFailedAndPaused,O[i(1507)],s,t)})).catch((i=>{const r=e;this[r(1453)](B[r(1608)],O[r(1507)],s,t),this[r(1278)](r(691),r(1002),i)})).finally((()=>{this.hlsErrorOnLock=!1}))}}[sC(1223)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),"aliyunRtcError but player is destroyed"));if(this.aliyunRtcErrorOnLock)return void this[e(1039)]("JbPro",e(739));this.emit(B.crashLog,this[e(591)](O.aliyunRtcError,t));const s=this._getVideoLastIframeInfo();this[e(1039)](e(691),e(502));const i=!1===this[e(1146)][e(636)];this[e(1421)].setPlayFailedAndPaused(),this.aliyunRtcErrorOnLock=!0,this._pause(i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O[i(677)],s,t)})).catch((i=>{const r=e;this.emit(B[r(1608)],O[r(677)],s,t),this.debugError(r(691),r(1152),i)}))[e(1566)]((()=>{this[e(590)]=!1}))}_handleDecoderWorkerInitError(t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),e(1491)));if(this[e(460)])return void this[e(1039)]("JbPro",e(843));this.emit(B.crashLog,this[e(591)](O[e(1072)],t));const s=this[e(569)]();this[e(1039)](e(691),e(1527));const i=!1===this[e(1146)][e(636)];this.player[e(589)](),this.decoderWorkerInitErrorOnLock=!0,this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B.playFailedAndPaused,O[i(1072)],s,t)}))[e(828)]((i=>{const r=e;this.emit(B[r(1608)],O[r(1072)],s,t),this[r(1278)](r(691),r(1283),i)}))[e(1566)]((()=>{this[e(460)]=!1}))}[sC(1079)](t){const e=sC;if(this[e(1003)]())return void(this.debug&&this[e(1039)](e(691),e(1222)));if(this[e(695)])return void this[e(1039)](e(691),e(945));this[e(1453)](B[e(1209)],this[e(591)](O.decoderWorkerWasmError,t)),this.debugLog(e(691),"decoderWorkerWasmError and pause player");const s=!1===this[e(1146)].playFailedUseLastFrameShow;this[e(1421)][e(589)](),this[e(695)]=!0,this[e(1576)](s)[e(952)]((()=>{this[e(1453)](B.playFailedAndPaused,O.decoderWorkerWasmError,{},t)}))[e(828)]((s=>{const i=e;this[i(1453)](B.playFailedAndPaused,O[i(819)],{},t),this[i(1278)](i(691),i(878),s)}))[e(1566)]((()=>{this[e(695)]=!1}))}[sC(1293)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)]("JbPro",e(486)));if(this.videoElementPlayingFailedForWebrtcOnLock)return void this[e(1039)](e(691),e(558));this.emit(B[e(1209)],this[e(591)](O[e(1445)],t)),this[e(1039)](e(691),e(926));const s=!1===this._opt[e(636)];this[e(1421)][e(589)](),this[e(1348)]=!0,this[e(1576)](s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O[s(1445)],{},t)}))[e(828)]((s=>{const i=e;this.emit(B[i(1608)],O[i(1445)],{},t),this.debugError("JbPro","videoElementPlayingFailedForWebrtc and pause",s)})).finally((()=>{this[e(1348)]=!1}))}[sC(1067)](t){const e=sC;if(this.isDestroyed())return void(this[e(1211)]&&this[e(1039)]("JbPro",e(1114)));if(this[e(462)])return void this.debugLog("JbPro","videoInfoErrorOnLock is true");this[e(1453)](B[e(1209)],this.getCrashLog(O[e(1250)],t)),this[e(1039)](e(691),e(789));const s=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this[e(462)]=!0,this._pause(s)[e(952)]((()=>{const s=e;this[s(1453)](B[s(1608)],O[s(1250)],{},t)}))[e(828)]((s=>{const i=e;this[i(1453)](B[i(1608)],O[i(1250)],{},t),this[i(1278)](i(691),i(1592),s)}))[e(1566)]((()=>{this[e(462)]=!1}))}[sC(648)](t){const e=sC;if(this[e(1003)]())return void(this.debug&&this[e(1039)](e(691),e(463)));if(this[e(1509)])return void this[e(1039)](e(691),"webrtcStreamH265OnLock is true");this[e(1039)]("JbPro",e(654));const s=this[e(1146)][e(653)],i=this[e(1146)].playOptions;this.webrtcStreamH265OnLock=!0,this._resetPlayer({isWebrtcH265:!0}).then((()=>{const r=e;this.play(s,i)[r(952)]((()=>{const t=r;this[t(1039)](t(691),t(1329))}))[r(828)]((e=>{const s=r;this.emit(B.playFailedAndPaused,B[s(735)],{},t),this[s(1278)](s(691),s(852),e)}))[r(1566)]((()=>{this[r(1509)]=!1}))}))[e(828)]((()=>{const s=e;this[s(1509)]=!1,this.emit(B[s(1608)],B[s(735)],{},t),this[s(1278)]("JbPro",s(1159))}))}_handlePlaybackEnd(){const t=sC;if(this[t(1003)]())return void(this[t(1211)]&&this[t(1039)](t(691),t(1431)));if(this.playbackEndOnLock)return void this[t(1039)]("JbPro",t(1638));const e=!1===this[t(1146)].playFailedUseLastFrameShow,s=this[t(569)]();this[t(1421)][t(589)](),this[t(1632)]=!0,this[t(1576)](e)[t(952)]((()=>{const e=t;this[e(1453)](B[e(1608)],B[e(478)],s,"")}))[t(828)]((e=>{const i=t;this[i(1453)](B[i(1608)],B[i(478)],s,""),this[i(1278)](i(691),i(705),e)}))[t(1566)]((()=>{this[t(1632)]=!1}))}[sC(889)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this.debugWarn(e(691),e(1093)));this.emit(B[e(1209)],this[e(591)](B[e(1595)],t));const s=this._getVideoLastIframeInfo();if(this.player&&this[e(1421)][e(1146)][e(1042)]&&(this._heartTimeoutReplayTimes{const n=e;if(this[n(834)]())return this[n(1039)]("JbPro",n(736)),this[n(769)]=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:i,options:r,type:B[n(1595)]});this[n(1220)](i,r)[n(952)]((()=>{}))[n(828)]((e=>{const i=n;this[i(1453)](B.playFailedAndPaused,B[i(1595)],s,t),this[i(1278)](i(691),i(554),e)}))})).catch((i=>{const r=e;this[r(1453)](B[r(1608)],B[r(1595)],s,t),this[r(1278)](r(691),"delay timeout _resetPlayer error",i)}))}else{const i=!1===this[e(1146)].playFailedUseLastFrameShow;this[e(1421)][e(589)](),this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],B[i(1595)],s,t),this.player&&(this[i(1453)](B.delayTimeoutRetryEnd),this.emit(B[i(1608)],B[i(1241)])),this.debugWarn("JbPro",i(611)+(this[i(1421)]&&this[i(1421)][i(1146)][i(1443)])+i(1365)+(this[i(1421)]&&this[i(1421)][i(1146)][i(1042)])+" and\n opt.heartTimeoutReplayTimes is "+(this[i(1421)]&&this[i(1421)][i(1146)][i(1066)])+",and\n local._heartTimeoutReplayTimes is "+this[i(1623)])})).catch((i=>{const r=e;this.emit(B[r(1608)],B.delayTimeout,s,t),this.debugError("JbPro",r(1340),i)}))}}[sC(594)](t){const e=sC;if(this[e(1003)]())return void(this[e(1211)]&&this[e(1039)](e(691),e(593)));this.emit(B[e(1209)],this[e(591)](B[e(901)],t));const s=this[e(569)]();if(this[e(1421)]&&this[e(1421)][e(1146)][e(659)]&&(this[e(1310)]{const n=e;if(this[n(834)]())return this.debugLog(n(691),n(734)),this[n(769)]=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:i,options:r,type:B[n(901)]});this.play(i,r)[n(952)]((()=>{}))[n(828)]((e=>{const i=n;this[i(1453)](B[i(1608)],B[i(901)],s,t),this[i(1278)](i(691),i(646),e)}))}))[e(828)]((i=>{const r=e;this.emit(B[r(1608)],B[r(901)],s,t),this.debugError(r(691),r(637),i)}))}else{const i=!1===this[e(1146)][e(636)];this[e(1421)][e(589)](),this._pause(i)[e(952)]((()=>{const i=e;this.emit(B[i(1608)],B[i(901)],s,t),this[i(1421)]&&(this[i(1453)](B[i(533)]),this[i(1453)](B[i(1608)],B[i(533)],s,t),this._opt[i(1354)]&&this[i(1421)][i(683)]()),this[i(1039)]("JbPro",i(1537)+(this[i(1421)]&&this[i(1421)][i(1146)][i(901)])+i(1649)+(this[i(1421)]&&this.player[i(1146)].loadingTimeoutReplay)+i(978)+this._loadingTimeoutReplayTimes+i(1105)+(this[i(1421)]&&this[i(1421)]._opt[i(1373)]))}))[e(828)]((i=>{const r=e;this[r(1453)](B[r(1608)],B.loadingTimeout,s,t),this[r(1278)](r(691),"loading timeout and pause error",i)}))}}[sC(614)](t){const e=sC;if(this[e(1003)]())return void this[e(1039)]("JbPro","InitDecoderWorkerTimeout but player is destroyed");this[e(1453)](B[e(1209)],this.getCrashLog(O.initDecoderWorkerTimeout,t)),this[e(1039)](e(691),e(1097));const s=this[e(569)](),i=!1===this._opt[e(636)];this[e(1421)].setPlayFailedAndPaused(),this[e(1576)](i)[e(952)]((()=>{const i=e;this[i(1453)](B[i(1608)],O.initDecoderWorkerTimeout,s,t)})).catch((i=>{const r=e;this[r(1453)](B.playFailedAndPaused,O[r(1417)],s,t),this[r(1278)]("JbPro",r(1592),i)}))}[sC(725)](){const t=sC;if(this[t(1003)]())return void this[t(1039)](t(691),t(1038));if(this[t(1421)][t(1146)][t(972)])return this[t(1039)](this.TAG_NAME,t(1184)),void this._handlePlayVodEndedAndReplay();this[t(1039)](this[t(622)],t(1020));const e=!1===this[t(1146)][t(636)];this[t(1576)](e).then((()=>{const e=t;this[e(1039)](e(691),e(803))}))[t(828)]((e=>{const s=t;this[s(1278)](s(691),s(778),e)}))}[sC(1281)](){const t=sC,e=this[t(1146)][t(653)],s=this[t(1146)][t(1237)];this[t(643)]()[t(952)]((()=>{const i=t;this[i(1220)](e,s).then((()=>{const t=i;this[t(1211)][t(822)](this[t(622)],t(1011))}))[i(828)]((t=>{const e=i;this[e(1453)](B[e(1608)],B[e(1287)]),this[e(1211)][e(1045)](this.TAG_NAME,e(1382),t)}))}))[t(828)]((()=>{const e=t;this.emit(B[e(1608)],B[e(1287)]),this[e(1278)](this[e(622)],e(744))}))}[sC(1226)](){const t=sC;this[t(1119)](),this.initDecoderWorkerTimeout=setTimeout((()=>{this[t(614)](O.initDecoderWorkerTimeout)}),1e3*this[t(1146)][t(1417)])}[sC(1119)](){const t=sC;this[t(1417)]&&(clearTimeout(this[t(1417)]),this.initDecoderWorkerTimeout=null)}[sC(1039)](t){const e=sC;if(this[e(1146)][e(1211)]&&this[e(1211)]){for(var s=arguments[e(1165)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r{const s=iC;if(this[s(1003)]())return e("player is destroyed");this[s(1039)]("JbPro",s(688));const i=this[s(1128)]();this[s(643)](i)[s(952)]((()=>{const e=s;this[e(1039)]("JbPro",e(1331)),t()})).catch((t=>{const i=s;this.debugWarn(i(691),i(1e3),t[i(1251)](),t),e(t)}))}))}[sC(918)](t){const e=sC;this[e(1003)]()||(this.debugLog(e(691),e(508),t),this.player?this[e(1421)].updateDynamicWatermark(t):this[e(1465)](e(691),e(1489)))}[sC(724)](){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(1517)),this.player?this.player.removeDynamicWatermark():this[t(1465)](t(691),t(718)))}updateGhostWatermark(t){const e=sC;this[e(1003)]()||(this[e(1039)](e(691),"updateGhostWatermark()",t),this[e(1421)]?this[e(1421)][e(1440)](t):this[e(1465)](e(691),e(476)))}[sC(1117)](){const t=sC;this[t(1003)]()||(this[t(1039)](t(691),t(602)),this[t(1421)]?this[t(1421)][t(1117)]():this[t(1465)](t(691),t(1449)))}playVod(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=iC,n=Qs(),o=Object[r(1439)]({},n[r(743)],this[r(1146)].playVodConfig,e);this[r(643)]({videoBuffer:0,playType:c[r(1149)],playVodConfig:o,cryptoKey:e[r(853)]||"",cryptoIV:e[r(814)]||"",openWebglAlignment:!0,useMSE:o.useMSE,useWCS:o[r(811)],useSIMD:o[r(846)],supportHls265:!0})[r(952)]((()=>{const n=r;this[n(1220)](t,e)[n(952)]((()=>{s()}))[n(828)]((t=>{i(t)}))}))[r(828)]((t=>{i(t)}))}))}[sC(1377)](){const t=sC;return this[t(1211)].log(t(691),t(1520)),new Promise(((e,s)=>{const i=t;this[i(1421)][i(1377)]=!0,e()}))}[sC(1092)](){const t=sC;return this[t(1211)][t(822)](t(691),t(986)),new Promise(((e,s)=>{const i=t;this[i(1421)][i(1377)]=!1,e()}))}[sC(675)](t){const e=sC;return this[e(1039)](e(691),"playVodForward() "+t),Js(this[e(1146)][e(1424)])||this[e(1146)][e(795)]!==c[e(1149)]?Promise[e(1640)](e(1239)):es(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1421)]?this[r(1421)][r(675)](t)[r(952)]((()=>{s()}))[r(828)]((t=>{i(t)})):i("player is not playing")})):Promise[e(1640)](e(838)+t+e(1083))}[sC(701)](){return this.playVodForward(1)}[sC(1379)](t){const e=sC;return this[e(1039)](e(691),e(483)+t),Js(this[e(1146)][e(1424)])||this._opt[e(795)]!==c[e(1149)]?Promise.reject(e(1036)):es(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1421)]?this.player[r(1379)](t)[r(952)]((()=>{s()}))[r(828)]((t=>{i(t)})):i(r(1372))})):Promise.reject(e(1559)+t+e(1083))}[sC(461)](t){const e=sC;return this[e(1039)](e(691),e(928)+t),Js(this[e(1146)][e(1424)])||this._opt[e(795)]!==c[e(1149)]?Promise[e(1640)](e(999)):es(Number(t))?new Promise(((s,i)=>{const r=e;this.player?this.player[r(461)](t)[r(952)]((()=>{s()}))[r(828)]((t=>{i(t)})):i(r(1372))})):Promise[e(1640)](e(1280)+t+e(1083))}[sC(551)](t){const e=sC;return this[e(1039)](e(691),e(516)+t),Js(this._opt[e(1424)])||this[e(1146)][e(795)]!==c[e(1149)]?Promise[e(1640)]("playVodBackwordJumping() method only just for play vod type"):es(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1421)]?this[r(1421)].playVodBackwordJumping(t)[r(952)]((()=>{s()})).catch((t=>{i(t)})):i(r(1372))})):Promise[e(1640)]('playVodBackwordJumping() params "time": '+t+e(1083))}[sC(1313)](){const t=sC;let e=0;return this[t(1421)]&&(e=this[t(1421)][t(1313)]()),e}[sC(632)](){const t=sC;let e=0;return this[t(1421)]&&(e=this[t(1421)][t(632)]()),e}[sC(458)](){const t=sC;let e=1;return this[t(1421)]&&(e=this.player[t(458)]()),e}}return nC[sC(1062)]=O,nC[sC(949)]=M,window[sC(1397)]=nC,window.JbPro=nC,window[sC(1386)]=nC,nC})); diff --git a/demo/public/pro/js/jessibuca-pro-multi-demo.js b/demo/public/pro/js/jessibuca-pro-multi-demo.js index 2285f71b..e4a57ff0 100644 --- a/demo/public/pro/js/jessibuca-pro-multi-demo.js +++ b/demo/public/pro/js/jessibuca-pro-multi-demo.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("crypto")):"function"==typeof define&&define.amd?define(["crypto"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["jessibuca-multi"]=t(e.crypto$1)}(this,(function(t){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=s(t);class a{on(e,t,i){const s=this.e||(this.e={});return(s[e]||(s[e]=[])).push({fn:t,ctx:i}),this}once(e,t,i){const s=this;function r(){s.off(e,r);for(var a=arguments.length,o=new Array(a),n=0;n1?i-1:0),r=1;r{delete i[e]})),void delete this.e;const s=i[e],r=[];if(s&&t)for(let e=0,i=s.length;e1?i-1:0),r=1;r1?i-1:0),r=1;r1?s-1:0),a=1;a32&&console.error("ExpGolomb: readBits() bits exceeded max 32bits!"),e<=this._current_word_bits_left){let t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}let t=this._current_word_bits_left?this._current_word:0;t>>>=32-this._current_word_bits_left;let i=e-this._current_word_bits_left;this._fillCurrentWord();let s=Math.min(i,this._current_word_bits_left),r=this._current_word>>>32-s;return this._current_word<<=s,this._current_word_bits_left-=s,t=t<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}readUEG(){let e=this._skipLeadingZero();return this.readBits(e+1)-1}readSEG(){let e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}const Yr=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],Qr=Yr,Xr=Yr;function Zr(e){let{profile:t,sampleRate:i,channel:s}=e;return new Uint8Array([175,0,t<<3|(14&i)>>1,(1&i)<<7|s<<3])}function ea(e){return ta(e)&&e[1]===Rs}function ta(e){return e[0]>>4===Ft}function ia(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}function sa(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return 1024*t/e}const ra=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function aa(e){let t=new Uint8Array(e),i=null,s=0,r=0,a=0,o=null;if(s=r=t[0]>>>3,a=(7&t[0])<<1|t[1]>>>7,a<0||a>=ra.length)return void console.error("Flv: AAC invalid sampling frequency index!");let n=ra[a],l=(120&t[1])>>>3;if(l<0||l>=8)return void console.log("Flv: AAC invalid channel configuration");5===s&&(o=(7&t[1])<<1|t[2]>>>7,t[2]);let d=Wr.navigator.userAgent.toLowerCase();return-1!==d.indexOf("firefox")?a>=6?(s=5,i=new Array(4),o=a-3):(s=2,i=new Array(2),o=a):-1!==d.indexOf("android")?(s=2,i=new Array(2),o=a):(s=5,o=a,i=new Array(4),a>=6?o=a-3:1===l&&(s=2,i=new Array(2),o=a)),i[0]=s<<3,i[0]|=(15&a)>>>1,i[1]=(15&a)<<7,i[1]|=(15&l)<<3,5===s&&(i[1]|=(15&o)>>>1,i[2]=(1&o)<<7,i[2]|=8,i[3]=0),{audioType:"aac",config:i,sampleRate:n,channelCount:l,objectType:s,codec:"mp4a.40."+s,originalCodec:"mp4a.40."+r}}class oa{constructor(e){this.buffer=e,this.buflen=e.length,this.bufpos=0,this.bufoff=0,this.iserro=!1}read(e){let t=0,i=0;for(;e;){if(e<0||this.bufpos>=this.buflen)return this.iserro=!0,0;this.iserro=!1,i=this.bufoff+e>8?8-this.bufoff:e,t<<=i,t+=this.buffer[this.bufpos]>>8-this.bufoff-i&255>>8-i,this.bufoff+=i,e-=i,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,i=this.bufoff,s=this.read(e);return this.bufpos=t,this.bufoff=i,s}read_golomb(){let e;for(e=0;0==this.read(1)&&!this.iserro;e++);return(1<=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095===(i[t+0]<<8|i[t+1])>>>4)return t;t++}}readNextAACFrame(){let e=this.data_,t=null;for(;null==t&&!this.eof_flag_;){let i=this.current_syncword_offset_,s=(8&e[i+1])>>>3,r=(6&e[i+1])>>>1,a=1&e[i+1],o=(192&e[i+2])>>>6,n=(60&e[i+2])>>>2,l=(1&e[i+2])<<2|(192&e[i+3])>>>6,d=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+d>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let h=1===a?7:9,c=d-h;i+=h;let u=this.findNextSyncwordOffset(i+c);if(this.current_syncword_offset_=u,0!==s&&1!==s||0!==r)continue;let p=e.subarray(i,i+c);t={},t.audio_object_type=o+1,t.sampling_freq_index=n,t.sampling_frequency=Qr[n],t.channel_config=l,t.data=p}return t}hasIncompleteData(){return this.has_last_incomplete_data}getIncompleteData(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null}}class ua{constructor(e){this.data_=e,this.eof_flag_=!1,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&console.error("Could not found ADTS syncword until payload end")}findNextSyncwordOffset(e){let t=e,i=this.data_;for(;;){if(t+1>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(695===(i[t+0]<<3|i[t+1]>>>5))return t;t++}}getLATMValue(e){let t=e.readBits(2),i=0;for(let s=0;s<=t;s++)i<<=8,i|=e.readByte();return i}readNextAACFrame(e){let t=this.data_,i=null;for(;null==i&&!this.eof_flag_;){let s=this.current_syncword_offset_,r=(31&t[s+1])<<8|t[s+2];if(s+3+r>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}let a=new Kr(t.subarray(s+3,s+3+r)),o=null;if(a.readBool()){if(null==e){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this.findNextSyncwordOffset(s+3+r),a.destroy();continue}o=e}else{let e=a.readBool();if(e&&a.readBool()){console.error("audioMuxVersionA is Not Supported"),a.destroy();break}if(e&&this.getLATMValue(a),!a.readBool()){console.error("allStreamsSameTimeFraming zero is Not Supported"),a.destroy();break}if(0!==a.readBits(6)){console.error("more than 2 numSubFrames Not Supported"),a.destroy();break}if(0!==a.readBits(4)){console.error("more than 2 numProgram Not Supported"),a.destroy();break}if(0!==a.readBits(3)){console.error("more than 2 numLayer Not Supported"),a.destroy();break}let t=e?this.getLATMValue(a):0,i=a.readBits(5);t-=5;let s=a.readBits(4);t-=4;let r=a.readBits(4);t-=4,a.readBits(3),t-=3,t>0&&a.readBits(t);let n=a.readBits(3);if(0!==n){console.error(`frameLengthType = ${n}. Only frameLengthType = 0 Supported`),a.destroy();break}a.readByte();let l=a.readBool();if(l)if(e)this.getLATMValue(a);else{let e=0;for(;;){e<<=8;let t=a.readBool();if(e+=a.readByte(),!t)break}console.log(e)}a.readBool()&&a.readByte(),o={},o.audio_object_type=i,o.sampling_freq_index=s,o.sampling_frequency=Qr[o.sampling_freq_index],o.channel_config=r,o.other_data_present=l}let n=0;for(;;){let e=a.readByte();if(n+=e,255!==e)break}let l=new Uint8Array(n);for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function ma(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(e.length<4)return[];const i=e.length,s=[];let r,a=0;for(;a+t>>=8),a+=t,r){if(a+r>i)break;s.push(e.subarray(a,a+r)),a+=r}return s}function ga(e,t){const i=e.length;let s=t?2:1,r=0,a=0,o="";for(;255===e[s];)r+=255,s++;for(r+=e[s++];255===e[s];)a+=255,s++;if(a+=e[s++],5===r&&i>s+16)for(let t=0;t<16;t++)o+=e[s].toString(16),s++;return{payload:e.subarray(s),type:r,size:a,uuid:o}}function fa(e){const t=e.byteLength,i=new Uint8Array(4);i[0]=t>>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t;const s=new Uint8Array(t+4);return s.set(i,0),s.set(e,4),s}function ya(){}function Aa(e){let t=null;const i=["webgl","experimental-webgl","moz-webgl","webkit-3d"];let s=0;for(;!t&&s0&&void 0!==arguments[0]?arguments[0]:"";const t=e.split(","),i=atob(t[1]),s=t[0].replace("data:","").replace(";base64","");let r=i.length,a=new Uint8Array(r);for(;r--;)a[r]=i.charCodeAt(r);return new File([a],"file",{type:s})}function _a(){return(new Date).getTime()}function Sa(e,t,i){return Math.max(Math.min(e,Math.max(t,i)),Math.min(t,i))}function wa(e,t,i){if(e)return"object"==typeof t&&Object.keys(t).forEach((i=>{wa(e,i,t[i])})),e.style[t]=i,e}function Ea(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)return 0;const s=getComputedStyle(e,null).getPropertyValue(t);return i?parseFloat(s):s}function Ta(){return performance&&"function"==typeof performance.now?performance.now():Date.now()}function ka(e){let t=0,i=Ta();return s=>{if(!Ga(s))return;t+=s;const r=Ta(),a=r-i;a>=1e3&&(e(t/a*1e3),i=r,t=0)}}(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})();const La='"9-19-2024"';function Ca(){return/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase())}function xa(){return!(Ca()||/ipad|android(?!.*mobile)|tablet|kindle|silk/i.test(window.navigator.userAgent.toLowerCase()))}function Da(){const e=window.navigator.userAgent.toLowerCase();return/android/i.test(e)}function Ra(){const e=window.navigator.userAgent.toLowerCase();return/firefox/i.test(e)}function Pa(){const e=window.navigator.userAgent.toLowerCase()||"",t={type:"",version:""},i={IE:window.ActiveXObject||"ActiveXObject"in window,Chrome:e.indexOf("chrome")>-1&&e.indexOf("safari")>-1,Firefox:e.indexOf("firefox")>-1,Opera:e.indexOf("opera")>-1,Safari:e.indexOf("safari")>-1&&-1==e.indexOf("chrome"),Edge:e.indexOf("edge")>-1,QQBrowser:/qqbrowser/.test(e),WeixinBrowser:/MicroMessenger/i.test(e)};for(let s in i)if(i[s]){let i="";if("IE"===s){const t=e.match(/(msie\s|trident.*rv:)([\w.]+)/);t&&t.length>2&&(i=e.match(/(msie\s|trident.*rv:)([\w.]+)/)[2])}else if("Chrome"===s){for(let e in navigator.mimeTypes)"application/360softmgrplugin"===navigator.mimeTypes[e].type&&(s="360");const t=e.match(/chrome\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Firefox"===s){const t=e.match(/firefox\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Opera"===s){const t=e.match(/opera\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Safari"===s){const t=e.match(/version\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("Edge"===s){const t=e.match(/edge\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if("QQBrowser"===s){const t=e.match(/qqbrowser\/([\d.]+)/);t&&t.length>1&&(i=t[1])}t.type=s,t.version=parseInt(i)}return t}function Ia(){const e=window.navigator.userAgent.toLowerCase();return e&&/iphone|ipad|ipod|ios/.test(e)}function Ba(){const e=window.navigator.userAgent;return!e.match(/Chrome/gi)&&!!e.match(/Safari/gi)}function Ma(e,t){if(0===arguments.length)return null;var i,s=t||"{y}-{m}-{d} {h}:{i}:{s}";"object"==typeof e?i=e:(10===(""+e).length&&(e=1e3*parseInt(e)),e=+e,i=new Date(e));var r={y:i.getFullYear(),m:i.getMonth()+1,d:i.getDate(),h:i.getHours(),i:i.getMinutes(),s:i.getSeconds(),a:i.getDay()},a=s.replace(/{(y|m|d|h|i|s|a)+}/g,((e,t)=>{var i=r[t];return"a"===t?["一","二","三","四","五","六","日"][i-1]:(e.length>0&&i<10&&(i="0"+i),i||0)}));return a}function Fa(){let e=!1;return"VideoFrame"in Wr&&"function"==typeof Wr.VideoFrame&&(e=!0),e}function Ua(e){if("string"!=typeof e)return e;var t=Number(e);return isNaN(t)?e:t}function Oa(){return"xxxxxxxxxxxx4xxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}function Na(e,t){let i,s,r=!1;return function a(){for(var o=arguments.length,n=new Array(o),l=0;l{r=!1,i&&(a.apply(s,i),i=null,s=null)}),t)}}function ja(e){if(null==e||""==e)return"0 Bytes";const t=new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");let i=0;const s=parseFloat(e);i=Math.floor(Math.log(s)/Math.log(1024));var r=s/Math.pow(1024,i);return(r=r.toFixed(2))+t[i]}function Ga(e){return"[object Number]"===Object.prototype.toString.call(e)}function Wa(){let e=!1;return"MediaSource"in Wr&&Wr.MediaSource&&(Wr.MediaSource.isTypeSupported(Ti)||Wr.MediaSource.isTypeSupported(ki)||Wr.MediaSource.isTypeSupported(Li)||Wr.MediaSource.isTypeSupported(Ci)||Wr.MediaSource.isTypeSupported(xi))&&(e=!0),e}function Va(){const e=Pa();return"chrome"===e.type.toLowerCase()&&e.version>=107}function za(){let e=!1;return"MediaStreamTrackGenerator"in window&&(e=!0),e}function $a(){let e=!1;return"MediaStream"in window&&(e=!0),e}function Ha(e,t){let i=window.URL.createObjectURL(t),s=window.document.createElement("a");s.download=e,s.href=i;let r=window.document.createEvent("MouseEvents");r.initEvent("click",!0,!0),s.dispatchEvent(r),setTimeout((()=>{window.URL.revokeObjectURL(i)}),Ia()?1e3:0)}function Ja(e){return null==e}function qa(e){return!0===e||!1===e}function Ka(e){return!Ja(e)}function Ya(e){let t={left:"",right:"",top:"",bottom:"",opacity:1,backgroundColor:"",image:{src:"",width:"100",height:"60"},text:{content:"",fontSize:"14",color:"#000",width:"",height:""},rect:{color:"green",lineWidth:2,width:"",height:"",fill:"",fillOpacity:.2},line:{x1:"",y1:"",x2:"",y2:"",color:"green",lineWidth:2},polygon:{color:"green",lineWidth:2,list:[],fill:"",fillOpacity:.2},html:""};const i=Object.assign(t.image,e.image||{}),s=Object.assign(t.text,e.text||{}),r=Object.assign(t.rect,e.rect||{}),a=Object.assign(t.line,e.line||{});return t=Object.assign(t,e,{image:i,text:s,rect:r,line:a}),t}function Qa(e,t){let i={container:e||"",text:"",opacity:"",angle:"",color:"",fontSize:"",fontFamily:""};return i=Object.assign(i,t),{watermark_parent_node:i.container,watermark_alpha:i.opacity,watermark_angle:i.angle,watermark_fontsize:i.fontSize,watermark_color:i.color,watermark_font:i.fontFamily,watermark_txt:i.text}}function Xa(e,t){return new Promise(((i,s)=>{let r=Ya(t);if(!r.image.src&&!r.text.content)return i(e);let a=document.createElement("canvas");a.width=t.width,a.height=t.height;let o=a.getContext("2d");o.imageSmoothingEnabled=!0,o.imageSmoothingEnabled&&(o.imageSmoothingQuality="high");let n=0,l=0;Ga(r.left)?n=r.left:Ga(r.right)&&(n=a.width-r.right),Ga(r.top)?l=r.top:Ga(r.bottom)&&(l=a.height-r.bottom);const d=new Image;d.src=e,d.onload=()=>{if(o.drawImage(d,0,0),r.image&&r.image.src){const e=new Image;e.src=r.image.src,e.setAttribute("crossOrigin","Anonymous"),e.onload=()=>{n-=r.image.width,o.drawImage(e,n,l,r.image.width,r.image.height),i(a.toDataURL(t.format,t.quality))},e.onerror=e=>{s()}}else r.text&&r.text.content&&(o.font=r.text.fontSize+"px 宋体",o.fillStyle=r.text.color,o.textAlign="right",o.fillText(r.text.content,n,l),i(a.toDataURL(t.format,t.quality)))},d.onerror=e=>{s(e)}}))}function Za(e){var t,i=0;if(0===e.length)return i;for(t=0;t{if(!t.copyright)return i(e);let r=document.createElement("canvas");r.width=t.width,r.height=t.height;let a=r.getContext("2d");a.imageSmoothingEnabled=!0,a.imageSmoothingEnabled&&(a.imageSmoothingQuality="high");const o=new Image;o.src=e,o.onload=()=>{a.drawImage(o,0,0);const e=Za(t.copyright),s=a.getImageData(0,0,r.width,r.height);!function(e,t){for(var i=e.data,s=0,r=0;r<32;r++){var a=t>>r&1,o=254&i[s]|a;i[s]=o,s+=4}}(s,e),a.putImageData(s,0,0),i(r.toDataURL(t.format,t.quality))},o.onerror=e=>{s(e)}}))}function to(e){var t;if(e>-1){var i=Math.floor(e/3600),s=Math.floor(e/60)%60,r=e%60;t=i<10?"0"+i+":":i+":",s<10&&(t+="0"),t+=s+":",(r=Math.round(r))<10&&(t+="0"),t+=r.toFixed(0)}return t}function io(e,t){let i="";if(e>-1){const s=Math.floor(e/60)%60;let r=e%60;r=Math.round(r),i=s<10?"0"+s+":":s+":",r<10&&(i+="0"),i+=r,Ja(t)||(t<10&&(t="0"+t),i+=":"+t)}return i}function so(e){let t="";if(e>-1){const i=Math.floor(e/60/60)%60;let s=Math.floor(e/60)%60,r=e%60;s=Math.round(s),t=i<10?"0"+i+":":i+":",s<10&&(t+="0"),t+=s+":",r<10&&(t+="0"),t+=r}return t}function ro(e,t){const i=Math.floor(t/60)%60,s=Math.floor(t%60);return new Date(e).setHours(i,s,0,0)}function ao(e,t){const i=Math.floor(t/60/60)%60,s=Math.floor(t/60)%60,r=t%60;return new Date(e).setHours(i,s,r,0)}function oo(e){return(""+e).length}function no(e){return e&&0===Object.keys(e).length}function lo(e){return!no(e)}function ho(e){return"string"==typeof e}const co=()=>{const e=window.navigator.userAgent;return/MicroMessenger/i.test(e)},uo=()=>{const e=window.navigator.userAgent;return/Chrome/i.test(e)};function po(e){const t=e||window.event;return t.target||t.srcElement}function mo(){return Ra()&&function(){const e=navigator.userAgent.toLowerCase();return/macintosh|mac os x/i.test(e)}()}function go(e){return"function"==typeof e}function fo(e){if(Ca()){let t=0,i=0;if(1===e.touches.length){let s=e.touches[0];t=s.clientX,i=s.clientY}return{posX:t,posY:i}}let t=0,i=0;const s=e||window.event;return s.pageX||s.pageY?(t=s.pageX,i=s.pageY):(s.clientX||s.clientY)&&(t=e.clientX+document.documentElement.scrollLeft+document.body.scrollLeft,i=e.clientY+document.documentElement.scrollTop+document.body.scrollTop),{posX:t,posY:i}}function yo(){let e=document.createElement("video"),t=e.canPlayType("application/vnd.apple.mpegurl");return e=null,t}function Ao(e){let t=Io(e.hasAudio)&&(e.useMSE||e.useWCS&&!e.useOffscreen)&&Io(e.demuxUseWorker);return!!(Io(t)&&e.useMSE&&e.mseDecodeAudio&&Io(e.demuxUseWorker))||(!!(Io(t)&&e.useWCS&&e.wcsDecodeAudio)||t)}function bo(e){let t=null,i=31&e[0];return i!==Gt&&i!==Wt||(t=Bt),t||(i=(126&e[0])>>1,i!==ii&&i!==ri&&i!==oi||(t=Mt)),t}function vo(e){e.close()}function _o(e){e.close()}function So(){return"https:"===window.location.protocol||"localhost"===window.location.hostname}function wo(e){const t=Object.prototype.toString;return function(e){switch(t.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:try{return e instanceof Error}catch(e){return!1}}}(e)?e.message:null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function Eo(e,t){t&&(e=e.filter((e=>e.type&&e.type===t)));let i=e[0],s=null,r=1;if(e.length>0){let t=e[1];t&&t.ts-i.ts>1e5&&(i=t,r=2)}if(i)for(let a=r;a=1e3){e[a-1].ts-i.ts<1e3&&(s=a+1)}}}return s}function To(e){for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),i=window.atob(t),s=new Uint8Array(i.length),r=0;r>4===Ps&&e[1]===Rs}function Po(e){return!0===e||"true"===e}function Io(e){return!0!==e&&"true"!==e}function Bo(e,t,i){e&&(e.dataset?e.dataset[t]=i:e.setAttribute("data-"+t,i))}function Mo(e,t){return e?e.dataset?e.dataset[t]:e.getAttribute("data-"+t):""}function Fo(e,t){e&&(e.dataset?delete e.dataset[t]:e.removeAttribute("data-"+t))}function Uo(e){return e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))}function Oo(){return/iphone/i.test(navigator.userAgent)}function No(){return window.performance&&window.performance.memory?window.performance.memory:null}function jo(){try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}}function Go(e){return e.trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}function Wo(){let e=!1;return"requestVideoFrameCallback"in HTMLVideoElement.prototype&&(e=!0),e}function Vo(){let e=!1;return"PressureObserver"in Wr&&"function"==typeof Wr.PressureObserver&&(e=!0),e}function zo(e,t){const i=ma(e.slice(5));let s=!1;return i.forEach((e=>{const i=t?e[0]>>>1&63:31&e[0];(t&&(i===Yt||i===Xt||i===ei)||Io(t)&&i===Vt)&&(s=!0)})),s}function $o(){let e={down:"mousedown",move:"mousemove",up:"mouseup",click:"click"};return Ca()&&(e={down:"touchstart",move:"touchmove",up:"touchend",click:"click"}),e}class Ho{constructor(e){this.destroys=[],this.proxy=this.proxy.bind(this),this.master=e}proxy(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e)return;if(Array.isArray(t))return t.map((t=>this.proxy(e,t,i,s)));e.addEventListener(t,i,s);const r=()=>{go(e.removeEventListener)&&e.removeEventListener(t,i,s)};return this.destroys.push(r),r}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((e=>e())),this.destroys=[]}}var Jo=1e-6,qo="undefined"!=typeof Float32Array?Float32Array:Array;function Ko(){var e=new qo(16);return qo!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Yo(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var Qo,Xo=function(e,t,i,s,r,a,o){var n=1/(t-i),l=1/(s-r),d=1/(a-o);return e[0]=-2*n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*d,e[11]=0,e[12]=(t+i)*n,e[13]=(r+s)*l,e[14]=(o+a)*d,e[15]=1,e};function Zo(e,t,i){var s=new qo(3);return s[0]=e,s[1]=t,s[2]=i,s}Qo=new qo(3),qo!=Float32Array&&(Qo[0]=0,Qo[1]=0,Qo[2]=0);class en{constructor(e,t){this.gl=e,t&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1);const i=this._initShaderProgram();this._programInfo={program:i,attribLocations:{vertexPosition:e.getAttribLocation(i,"aVertexPosition"),texturePosition:e.getAttribLocation(i,"aTexturePosition")},uniformLocations:{projectionMatrix:e.getUniformLocation(i,"uProjectionMatrix"),modelMatrix:e.getUniformLocation(i,"uModelMatrix"),viewMatrix:e.getUniformLocation(i,"uViewMatrix"),rgbatexture:e.getUniformLocation(i,"rgbaTexture"),ytexture:e.getUniformLocation(i,"yTexture"),utexture:e.getUniformLocation(i,"uTexture"),vtexture:e.getUniformLocation(i,"vTexture"),isyuv:e.getUniformLocation(i,"isyuv")}},this._buffers=this._initBuffers(),this._rgbatexture=this._createTexture(),this._ytexture=this._createTexture(),this._utexture=this._createTexture(),this._vtexture=this._createTexture()}destroy(){this.gl.deleteProgram(this._programInfo.program),this.gl.deleteBuffer(this._buffers.position),this.gl.deleteBuffer(this._buffers.texPosition),this.gl.deleteBuffer(this._buffers.indices),this.gl.deleteTexture(this._rgbatexture),this.gl.deleteTexture(this._ytexture),this.gl.deleteTexture(this._utexture),this.gl.deleteTexture(this._vtexture),this._programInfo=null,this._buffers=null,this._rgbatexture=null,this._ytexture=null,this._utexture=null,this._vtexture=null,this.gl=null}_initShaderProgram(){const e=this._loadShader(this.gl.VERTEX_SHADER,"\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n "),t=this._loadShader(this.gl.FRAGMENT_SHADER,"\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n "),i=this.gl.createProgram();return this.gl.attachShader(i,e),this.gl.attachShader(i,t),this.gl.linkProgram(i),this.gl.getProgramParameter(i,this.gl.LINK_STATUS)?i:(console.log("Unable to initialize the shader program: "+this.gl.getProgramInfoLog(i)),null)}_loadShader(e,t){const i=this.gl,s=i.createShader(e);return i.shaderSource(s,t),i.compileShader(s),i.getShaderParameter(s,i.COMPILE_STATUS)?s:(console.log("An error occurred compiling the shaders: "+i.getShaderInfoLog(s)),i.deleteShader(s),null)}_initBuffers(){const e=this.gl,t=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t);const i=[-1,-1,1,-1,1,1,-1,1];e.bufferData(e.ARRAY_BUFFER,new Float32Array(i),e.STATIC_DRAW);var s=[];s=s.concat([0,1],[1,1],[1,0],[0,0]);const r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,new Float32Array(s),e.STATIC_DRAW);const a=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,a);return e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),e.STATIC_DRAW),{positions:i,position:t,texPosition:r,indices:a}}_createTexture(){let e=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),e}_drawScene(e,t,i){this.gl.viewport(0,0,e,t),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this._buffers.position),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this._buffers.positions),this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this._programInfo.attribLocations.vertexPosition,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this._programInfo.attribLocations.vertexPosition),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this._buffers.texPosition),this.gl.vertexAttribPointer(this._programInfo.attribLocations.texturePosition,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this._programInfo.attribLocations.texturePosition),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this._buffers.indices);i?(this.gl.activeTexture(this.gl.TEXTURE0+3),this.gl.bindTexture(this.gl.TEXTURE_2D,this._ytexture),this.gl.activeTexture(this.gl.TEXTURE0+4),this.gl.bindTexture(this.gl.TEXTURE_2D,this._utexture),this.gl.activeTexture(this.gl.TEXTURE0+5),this.gl.bindTexture(this.gl.TEXTURE_2D,this._vtexture)):(this.gl.activeTexture(this.gl.TEXTURE0+2),this.gl.bindTexture(this.gl.TEXTURE_2D,this._rgbatexture)),this.gl.useProgram(this._programInfo.program),this.gl.uniform1i(this._programInfo.uniformLocations.rgbatexture,2),this.gl.uniform1i(this._programInfo.uniformLocations.ytexture,3),this.gl.uniform1i(this._programInfo.uniformLocations.utexture,4),this.gl.uniform1i(this._programInfo.uniformLocations.vtexture,5),this.gl.uniform1i(this._programInfo.uniformLocations.isyuv,i?1:0),this.gl.drawElements(this.gl.TRIANGLES,6,this.gl.UNSIGNED_SHORT,0)}_calRect(e,t,i,s,r,a){let o=2*e/r-1,n=2*(a-t-s)/a-1,l=2*(e+i)/r-1,d=2*(a-t)/a-1;return[o,n,l,n,l,d,o,d]}_clear(){this.gl.clearColor(0,0,0,1),this.gl.clearDepth(1),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}render(e,t,i,s,r){const a=this.gl;this._clear(),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this._ytexture),a.texImage2D(a.TEXTURE_2D,0,a.LUMINANCE,e,t,0,a.LUMINANCE,a.UNSIGNED_BYTE,i),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this._utexture),a.texImage2D(a.TEXTURE_2D,0,a.LUMINANCE,e/2,t/2,0,a.LUMINANCE,a.UNSIGNED_BYTE,s),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,this._vtexture),a.texImage2D(a.TEXTURE_2D,0,a.LUMINANCE,e/2,t/2,0,a.LUMINANCE,a.UNSIGNED_BYTE,r),this._buffers.positions=[-1,-1,1,-1,1,1,-1,1],this._drawScene(e,t,!0)}renderYUV(e,t,i){let s=i.slice(0,e*t),r=i.slice(e*t,e*t*5/4),a=i.slice(e*t*5/4,e*t*3/2);const o=this.gl;this._clear(),o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,this._ytexture),o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,e,t,0,o.LUMINANCE,o.UNSIGNED_BYTE,s),o.activeTexture(o.TEXTURE1),o.bindTexture(o.TEXTURE_2D,this._utexture),o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,e/2,t/2,0,o.LUMINANCE,o.UNSIGNED_BYTE,r),o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,this._vtexture),o.texImage2D(o.TEXTURE_2D,0,o.LUMINANCE,e/2,t/2,0,o.LUMINANCE,o.UNSIGNED_BYTE,a),this._buffers.positions=[-1,-1,1,-1,1,1,-1,1],this._drawScene(e,t,!0)}drawDom(e,t,i,s,r){const a=this.gl;a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,this._rgbatexture),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,r),this._buffers.positions=this._calRect(i,s,r.width,r.height,e,t),this._drawScene(e,t,!1)}}const tn=1,sn=2,rn=4;class an{constructor(e){this.gpu=e,this.pipeline=null,this.matrixGroupInfo=null,this.depthTexture=null,this.textureGroupInfo=null,this.hasInited=!1,this.buffers=this._initBuffer(),this.isDestroyed=!1,this._initPipeline().then((e=>{this.isDestroyed||(this.pipeline=e,this.matrixGroupInfo=this._initMatrixGroupInfo(),this.matrixGroupInfo&&(this.hasInited=!0))}))}destroy(){this.isDestroyed=!1,this.gpu&&(this.gpu.device.destroy(),this.gpu=null),this.hasInited=!1,this.pipeline=null,this.matrixGroupInfo=null,this.depthTexture=null,this.textureGroupInfo=null}_initBuffer(){const e=this.gpu.device,t=new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),i=e.createBuffer({size:t.byteLength,usage:window.GPUBufferUsage.VERTEX|window.GPUBufferUsage.COPY_DST});e.queue.writeBuffer(i,0,t);const s=new Float32Array([0,1,1,1,1,0,0,0]),r=e.createBuffer({size:s.byteLength,usage:window.GPUBufferUsage.VERTEX|window.GPUBufferUsage.COPY_DST});e.queue.writeBuffer(r,0,s);const a=new Uint16Array([0,1,2,0,2,3]),o=e.createBuffer({size:a.byteLength,usage:window.GPUBufferUsage.INDEX|window.GPUBufferUsage.COPY_DST});return e.queue.writeBuffer(o,0,a),{positionBuffer:i,texpositionBuffer:r,indexBuffer:o}}_initPipeline(){return new Promise(((e,t)=>{const i=this.gpu.device,s=this.gpu.format,r={layout:"auto",vertex:{module:i.createShaderModule({code:"\n\n @binding(0) @group(0) var uModelMatrix : mat4x4;\n @binding(1) @group(0) var uViewMatrix : mat4x4;\n @binding(2) @group(0) var uProjectionMatrix : mat4x4;\n\n struct VertexOutput {\n @builtin(position) Position : vec4,\n @location(0) vTexturePosition : vec2,\n }\n\n @vertex\n fn main(\n @location(0) aVertexPosition : vec4,\n @location(1) aTexturePosition : vec2\n ) -> VertexOutput {\n var output : VertexOutput;\n var tmppos : vec4 = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n output.Position = vec4(tmppos.x, tmppos.y, (tmppos.z+1.)/2., tmppos.w); // webgl z [-1, 1], webgpu z [0, 1], 这里z做下调整 z-webgpu = (z-webgl+1)/2\n output.vTexturePosition = aTexturePosition;\n return output;\n }\n\n "}),entryPoint:"main",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]},{arrayStride:8,attributes:[{shaderLocation:1,offset:0,format:"float32x2"}]}]},primitive:{topology:"triangle-list"},fragment:{module:i.createShaderModule({code:"\n @group(1) @binding(0) var mySampler: sampler;\n @group(1) @binding(1) var pixelType: i32;\n @group(1) @binding(2) var yTexture: texture_2d;\n @group(1) @binding(3) var uTexture: texture_2d;\n @group(1) @binding(4) var vTexture: texture_2d;\n @group(1) @binding(5) var uvTexture: texture_2d;\n @group(1) @binding(6) var rgbaTexture: texture_2d;\n\n const YUV2RGB : mat4x4 = mat4x4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n @fragment\n fn main(\n @location(0) vTexturePosition: vec2\n ) -> @location(0) vec4 {\n if(pixelType == 1){\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(vTexture, mySampler, vTexturePosition).r;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else if (pixelType == 2) {\n\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uvTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(uvTexture, mySampler, vTexturePosition).g;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else {\n\n return textureSample(rgbaTexture, mySampler, vTexturePosition);\n }\n\n }\n\n "}),entryPoint:"main",targets:[{format:s}]},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}};i.createRenderPipelineAsync(r).then((t=>{e(t)})).catch((e=>{t(e)}))}))}_initMatrixGroupInfo(){if(!this.gpu)return null;const e=this.gpu.device,t=this.pipeline,i=Ko();Xo(i,-1,1,-1,1,.1,100);const s=Ko();Yo(s);const r=Ko();!function(e,t,i,s){var r,a,o,n,l,d,h,c,u,p,m=t[0],g=t[1],f=t[2],y=s[0],A=s[1],b=s[2],v=i[0],_=i[1],S=i[2];Math.abs(m-v)Ya(e)));this.configList=i,this._updateDom()}_resizeDomForVideo(){const e=this.player.getVideoInfo();if(!(e&&e.height>0&&e.width>0))return;let t=e.width,i=e.height;const s=this.player._opt,r=this.player.getShowVideoRect();let a=r.height,o=r.width;const n=s.rotate;let l=(o-t)/2,d=(a-i)/2;270!==n&&90!==n||(t=e.height,i=e.width);const h=o/t,c=a/i;let u=h>c?c:h;s.isResize||h!==c&&(u=h+","+c),s.isFullResize&&(u=h>c?h:c);let p="scale("+u+")";"none"===s.mirrorRotate&&n&&(p+=" rotate("+n+"deg)"),"level"===s.mirrorRotate?p+=" rotateY(180deg)":"vertical"===s.mirrorRotate&&(p+=" rotateX(180deg)"),this.scale=-1!==(""+u).indexOf(",")?h:u,this.shadowRootInnerDom.style.transform=p,this.shadowRootInnerDom.style.left=l+"px",this.shadowRootInnerDom.style.top=d+"px",this.shadowRootInnerDom.style.width=e.width+"px",this.shadowRootInnerDom.style.height=e.height+"px",this.shadowRootInnerDom.style.display="block"}_resizeDomForCanvas(){const e=this.player.getVideoInfo();if(!(e&&e.height>0&&e.width>0))return;const t=this.player._opt,i=this.player.getShowVideoRect();let s=i.width,r=i.height,a=e.width,o=e.height;const n=t.rotate;let l=(s-a)/2,d=(r-o)/2;270!==n&&90!==n||(a=e.height,o=e.width);const h=s/a,c=r/o;let u=h>c?c:h;t.isResize||h!==c&&(u=h+","+c),t.isFullResize&&(u=h>c?h:c);let p="scale("+u+")";"none"===t.mirrorRotate&&n&&(p+=" rotate("+n+"deg)"),"level"===t.mirrorRotate?p+=" rotateY(180deg)":"vertical"===t.mirrorRotate&&(p+=" rotateX(180deg)"),this.shadowRootInnerDom.style.height=e.height+"px",this.shadowRootInnerDom.style.width=e.width+"px",this.shadowRootInnerDom.style.padding="0",this.shadowRootInnerDom.style.transform=p,this.shadowRootInnerDom.style.left=l+"px",this.shadowRootInnerDom.style.top=d+"px",this.shadowRootInnerDom.style.display="block"}_resizeDomRatio(){const e=this.player.getVideoInfo();if(!(e&&e.height>0&&e.width>0))return;const t=this.player._opt.aspectRatio.split(":").map(Number),i=this.player.getShowVideoRect();let s=i.width,r=i.height,a=this.player.getControlHeight();const o=e.width/e.height,n=t[0]/t[1];if(o>n){const t=n*e.height/e.width;this.shadowRootInnerDom.style.width=100*t+"%",this.shadowRootInnerDom.style.height=`calc(100% - ${a}px)`,this.shadowRootInnerDom.style.padding=`0 ${(s-s*t)/2}px`}else{const t=e.width/n/e.height;this.shadowRootInnerDom.style.width="100%",this.shadowRootInnerDom.style.height=`calc(${100*t}% - ${a}px)`,this.shadowRootInnerDom.style.padding=(r-r*t)/2+"px 0"}this.shadowRootInnerDom.style.display="block"}_updateDom(){this.shadowRoot&&this.configList.forEach((e=>{const t=document.createElement("div");let i=null;if(e.image&&e.image.src?(i=document.createElement("img"),i.style.height="100%",i.style.width="100%",i.style.objectFit="contain",i.src=e.image.src):e.text&&e.text.content?i=document.createTextNode(e.text.content):(e.rect&&e.rect.color&&e.rect.width||e.html||e.line&&e.line.x1&&e.line.y1&&e.line.x2&&e.line.y2||e.polygon&&e.polygon.list&&e.polygon.list.length>=3)&&(i=document.createElement("div")),i){if(t.appendChild(i),t.style.visibility="",t.style.position="absolute",t.style.display="block",t.style["-ms-user-select"]="none",t.style["-moz-user-select"]="none",t.style["-webkit-user-select"]="none",t.style["-o-user-select"]="none",t.style["user-select"]="none",t.style["-webkit-touch-callout"]="none",t.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",t.style["-webkit-text-size-adjust"]="none",t.style["-webkit-touch-callout"]="none",t.style.opacity=e.opacity,Ka(e.left)&&(Ga(e.left)?t.style.left=e.left+"px":t.style.left=e.left),Ka(e.right)&&(Ga(e.right)?t.style.right=e.right+"px":t.style.right=e.right),Ka(e.top)&&(Ga(e.top)?t.style.top=e.top+"px":t.style.top=e.top),Ka(e.bottom)&&(Ga(e.bottom)?t.style.bottom=e.bottom+"px":t.style.bottom=e.bottom),e.backgroundColor&&(t.style.backgroundColor=e.backgroundColor),t.style.overflow="hidden",t.style.zIndex="9999999",e.image&&e.image.src)t.style.width=e.image.width+"px",t.style.height=e.image.height+"px";else if(e.text&&e.text.content)t.style.fontSize=e.text.fontSize+"px",t.style.color=e.text.color,e.text.width&&(t.style.width=e.text.width+"px"),e.text.height&&(t.style.height=e.text.height+"px");else if(e.rect&&e.rect.color&&e.rect.width){if(t.style.width=e.rect.width+"px",t.style.height=e.rect.height+"px",t.style.borderWidth=e.rect.lineWidth+"px",t.style.borderStyle="solid",t.style.borderColor=e.rect.color,e.rect.fill){const i=document.createElement("div");i.style.position="absolute",i.style.width="100%",i.style.height="100%",i.style.backgroundColor=e.rect.fill,e.rect.fillOpacity&&(i.style.opacity=e.rect.fillOpacity),t.appendChild(i)}}else if(e.html)t.style.width="100%",t.style.height="100%",t.innerHTML=e.html;else if(e.line&&e.line.x1&&e.line.y1&&e.line.x2&&e.line.y2)this.settingLine(t,e.line);else if(e.polygon&&e.polygon.list&&e.polygon.list.length>=3){t.style.width="100%",t.style.height="100%";let i=e.polygon.list;const s=e.polygon.color,r=e.polygon.lineWidth;if(i=i.sort(((e,t)=>(e.index||0)-(t.index||0))),e.polygon.fill){const s=document.createElement("div");s.style.position="absolute",s.style.width="100%",s.style.height="100%";const r="polygon("+i.map((e=>`${e.x}px ${e.y}px`)).join(", ")+")";s.style.clipPath=r,s.style.backgroundColor=e.polygon.fill,e.polygon.fillOpacity&&(s.style.opacity=e.polygon.fillOpacity),t.appendChild(s)}i.forEach(((e,a)=>{const o=document.createElement("div");if(a===i.length-1){const a=i[0],n={x1:e.x,y1:e.y,x2:a.x,y2:a.y,color:s,lineWidth:r};return this.settingLine(o,n),void t.appendChild(o)}const n=i[a+1],l={x1:e.x,y1:e.y,x2:n.x,y2:n.y,color:s,lineWidth:r};this.settingLine(o,l),t.appendChild(o)}))}this.isDynamic&&(this.shadowRootDynamicDom=t),this.shadowRootInnerDom.appendChild(t)}}))}settingLine(e,t){const i=t.x1,s=t.y1,r=t.x2,a=t.y2;var o=Math.sqrt((i-r)**2+(s-a)**2),n=180*Math.atan2(a-s,r-i)/Math.PI;e.style.backgroundColor=t.color,e.style.width=o+"px",e.style.height=t.lineWidth+"px",e.style.position="absolute",e.style.top=s+"px",e.style.left=i+"px",e.style.transform="rotate("+n+"deg)",e.style.transformOrigin="0 0"}remove(){this._removeDom()}_removeDom(){this.shadowRootInnerDom&&(this.shadowRootInnerDom.innerHTML="")}}class nn extends a{constructor(){super(),this.TAG_NAME="",this.videoInfo={width:null,height:null,encType:null,encTypeCode:null},this.init=!1,this.prevAiFaceDetectTime=null,this.prevAiObjectDetectTime=null,this.prevOcclusionDetectTime=null,this.contentWatermark=null,this.aiContentWatermark=null,this.tempContentList=[],this.tempAiContentList=[],this.bufferList=[],this.streamFps=0}destroy(){this.resetInit(),this.contentWatermark&&(this.contentWatermark.destroy(),this.contentWatermark=null),this.tempContentList=[],this.aiContentWatermark&&(this.aiContentWatermark.destroy(),this.aiContentWatermark=null),this.tempAiContentList=[],this.prevAiFaceDetectTime=null,this.prevAiObjectDetectTime=null,this.streamFps=0,this.off()}resetInit(){this.videoInfo={width:null,height:null,encType:null,encTypeCode:null},this.init=!1}getHasInit(){return this.init}updateVideoInfo(e){Ka(e.encTypeCode)&&(this.videoInfo.encType=Rt[e.encTypeCode],this.videoInfo.encTypeCode=e.encTypeCode),Ka(e.encType)&&(this.videoInfo.encType=e.encType),Ka(e.width)&&(this.videoInfo.width=e.width),Ka(e.height)&&(this.videoInfo.height=e.height),Ka(this.videoInfo.encType)&&Ka(this.videoInfo.height)&&Ka(this.videoInfo.width)&&!this.init&&(this.player.emit(vt.videoInfo,this.videoInfo),this.init=!0)}getVideoInfo(){return this.videoInfo}clearView(){this.tempContentList=[],this.tempAiContentList=[]}resize(){if(this.player.debugLog("CommonVideo","resize()"),"default"===this.player._opt.aspectRatio||Ca()?this._resize():this._resizeRatio(),this.contentWatermark&&this.contentWatermark.resize(),this.aiContentWatermark&&this.aiContentWatermark.resize(),this.player.singleWatermark&&this.player.singleWatermark.resize(),this.player.ghostWatermark&&this.player.ghostWatermark.resize(),this.player.dynamicWatermark&&this.player.dynamicWatermark.resize(),this.player.zoom&&this.player.zooming){const e=this._getStyleScale();this.player.zoom.updatePrevVideoElementStyleScale(e),this.player.zoom.updateVideoElementScale()}}_resizeRatio(){this.player.debugLog("CommonVideo","_resizeRatio()");const e=this.player._opt.aspectRatio.split(":").map(Number),t=this.player.getShowVideoRect();let i=t.width,s=t.height,r=this.player.getControlHeight();const a=this.videoInfo,o=a.width/a.height,n=e[0]/e[1];if(this.getType()===q&&(this.$videoElement.style.left="0",this.$videoElement.style.top="0",this.$videoElement.style.transform="none"),this.getType()===K&&this.player._opt.videoRenderSupportScale&&(this.$videoElement.style.objectFit="fill"),o>n){const e=n*a.height/a.width;this.$videoElement.style.width=100*e+"%",this.$videoElement.style.height=`calc(100% - ${r}px)`,this.$videoElement.style.padding=`0 ${(i-i*e)/2}px`}else{const e=a.width/n/a.height;this.$videoElement.style.width="100%",this.$videoElement.style.height=`calc(${100*e}% - ${r}px)`,this.$videoElement.style.padding=(s-s*e)/2+"px 0"}}play(){}pause(){}setRate(e){}getType(){return""}getCanvasType(){return""}getCurrentTime(){return 0}getStreamFps(){return this.streamFps}isPlaying(){return!0}isVideoPlaying(){return this.isPlaying()}getPlaybackQuality(){return null}setStreamFps(e){this.player.debugLog("CommonVideo","setStreamFps",e),this.streamFps=e}addContentToCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.tempContentList=e,this.doAddContentToWatermark()}addAiContentToCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.tempAiContentList=e,this.doAddAiContentToWatermark()}doAddContentToWatermark(){if(this.tempContentList.length>0){this.contentWatermark||(this.contentWatermark=new on(this.player),this.contentWatermark.resize());const e=[];this.tempContentList.forEach((t=>{let i={left:t.x||0,top:t.y||0};"text"===t.type?i.text={content:t.text,fontSize:t.fontSize||"14",color:t.color||"#000"}:"rect"===t.type?i.rect={width:t.width,height:t.height,color:t.color||"green",lineWidth:t.lineWidth||2,fill:t.fill||"",fillOpacity:t.fillOpacity||.2}:"polygon"===t.type?i.polygon={list:t.list,color:t.color||"green",lineWidth:t.lineWidth||2,fill:t.fill,fillOpacity:t.fillOpacity||.2}:"line"===t.type&&(i.line={color:t.color||"green",lineWidth:t.lineWidth||2,x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2}),e.push(i)})),this.contentWatermark.update(e)}else this.contentWatermark&&this.contentWatermark.remove()}doAddAiContentToWatermark(){if(this.tempAiContentList.length>0){this.aiContentWatermark||(this.aiContentWatermark=new on(this.player),this.aiContentWatermark.resize());const e=this.tempAiContentList.map((e=>{let t={left:e.x,top:e.y};return"text"===e.type?t.text={content:e.text,fontSize:e.fontSize,color:e.color}:"rect"===e.type&&(t.rect={width:e.width,height:e.height,color:e.color,lineWidth:e.lineWidth}),t}));this.aiContentWatermark.update(e)}else this.aiContentWatermark&&this.aiContentWatermark.remove()}_getStyleScale(){let e=this.$videoElement.style.transform.match(/scale\([0-9., ]*\)/g),t="";if(e&&e[0]){t=e[0].replace("scale(","").replace(")","").split(",")}return t}getReadyStateInited(){return!0}screenshotByCurrentWatermark(){}initCanvasViewSize(){}bindMediaStream(){}getName(){return this.TAG_NAME}getBufferListLength(){let e=0;return this.bufferList&&(e=this.bufferList.length),e}}var ln="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0;function dn(e,t,i){var s=new XMLHttpRequest;s.open("GET",e),s.responseType="blob",s.onload=function(){pn(s.response,t,i)},s.onerror=function(){console.error("could not download file")},s.send()}function hn(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return t.status>=200&&t.status<=299}function cn(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(i){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var un=ln.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),pn="object"!=typeof window||window!==ln?function(){}:"download"in HTMLAnchorElement.prototype&&!un?function(e,t,i){var s=ln.URL||ln.webkitURL,r=document.createElementNS("http://www.w3.org/1999/xhtml","a");t=t||e.name||"download",r.download=t,r.rel="noopener","string"==typeof e?(r.href=e,r.origin!==location.origin?hn(r.href)?dn(e,t,i):cn(r,r.target="_blank"):cn(r)):(r.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(r.href)}),4e4),setTimeout((function(){cn(r)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"==typeof e)if(hn(e))dn(e,t,i);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){cn(s)}))}else navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}(e,i),t)}:function(e,t,i,s){if((s=s||open("","_blank"))&&(s.document.title=s.document.body.innerText="downloading..."),"string"==typeof e)return dn(e,t,i);var r="application/octet-stream"===e.type,a=/constructor/i.test(ln.HTMLElement)||ln.safari,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||r&&a||un)&&"undefined"!=typeof FileReader){var n=new FileReader;n.onloadend=function(){var e=n.result;e=o?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=e:location=e,s=null},n.readAsDataURL(e)}else{var l=ln.URL||ln.webkitURL,d=l.createObjectURL(e);s?s.location=d:location.href=d,s=null,setTimeout((function(){l.revokeObjectURL(d)}),4e4)}};function mn(e){return new Promise(((t,i)=>{navigator.gpu?navigator.gpu.requestAdapter().then((s=>{s?s.requestDevice().then((r=>{if(r){const a=e.getContext("webgpu");if(a){const e=navigator.gpu.getPreferredCanvasFormat();a.configure({device:r,format:e,alphaMode:"opaque"}),t({adapter:s,device:r,context:a,format:e})}else i('WebGPU "context" create fail')}else i('WebGPU "device" request fail')})).catch((e=>{i('WebGPU "adapter.requestDevice()" fail')})):i('WebGPU "adapter" request fail is empty')})).catch((e=>{i('WebGPU "navigator.gpu.requestAdapter()" fail')})):i("WebGPU not support!!")}))}class gn{constructor(e,t){this.canvas=e,this.gl=t;const i=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(i,"\n attribute vec2 xy;\n varying highp vec2 uv;\n void main(void) {\n gl_Position = vec4(xy, 0.0, 1.0);\n // Map vertex coordinates (-1 to +1) to UV coordinates (0 to 1).\n // UV coordinates are Y-flipped relative to vertex coordinates.\n uv = vec2((1.0 + xy.x) / 2.0, (1.0 - xy.y) / 2.0);\n }\n "),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw t.getShaderInfoLog(i);const s=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(s,"\n varying highp vec2 uv;\n uniform sampler2D texture;\n void main(void) {\n gl_FragColor = texture2D(texture, uv);\n }\n "),t.compileShader(s),!t.getShaderParameter(s,t.COMPILE_STATUS))throw t.getShaderInfoLog(s);const r=t.createProgram();if(t.attachShader(r,i),t.attachShader(r,s),t.linkProgram(r),!t.getProgramParameter(r,t.LINK_STATUS))throw t.getProgramInfoLog(r);t.useProgram(r);const a=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),t.STATIC_DRAW);const o=t.getAttribLocation(r,"xy");t.vertexAttribPointer(o,2,t.FLOAT,!1,0,0),t.enableVertexAttribArray(o);const n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),this.program=r,this.buffer=a,this.vertexShader=i,this.fragmentShader=s,this.texture=n}destroy(){this.gl.deleteProgram(this.program),this.gl.deleteBuffer(this.buffer),this.gl.deleteTexture(this.texture),this.gl.deleteShader(this.vertexShader),this.gl.deleteShader(this.fragmentShader),this.program=null,this.buffer=null,this.vertexShader=null,this.fragmentShader=null,this.texture=null,this.gl=null}render(e){this.canvas.width=e.displayWidth,this.canvas.height=e.displayHeight;const t=this.gl;t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight),t.clearColor(1,0,0,1),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4)}}class fn extends nn{constructor(e){super(),this.player=e;const t=document.createElement("canvas");t.style.position="absolute",t.style.top=0,t.style.left=0,this.$videoElement=t,e.$container.appendChild(this.$videoElement),this.context2D=null,this.contextGl=null,this.webglRender=null,this.webglRectRender=null,this.webGPURender=null,this.isWebglContextLost=!1,this.isWcsWebgl2=!1,this.isWcsWebgpu=!1,this.bitmaprenderer=null,this.renderType=null,this.proxyDestroyList=[],this._initCanvasRender()}destroy(){super.destroy(),this.proxyDestroyList.length>0&&(this.proxyDestroyList.forEach((e=>{e&&e()})),this.proxyDestroyList=[]),this.webglRender&&(this.webglRender.destroy(),this.webglRender=null),this.webglRectRender&&(this.webglRectRender.destroy(),this.webglRectRender=null),this.webGPURender&&(this.webGPURender.destroy(),this.webGPURender=null),this.bitmaprenderer&&(this.bitmaprenderer=null),this.contextGl&&(this.contextGl=null),this.context2D&&(this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height),this.context2D=null),this.renderType=null,this.isWebglContextLost=!1,this.isWcsWebgpu=!1,this.isWcsWebgl2=!1,this.videoInfo={width:"",height:"",encType:""},this.$videoElement.width=0,this.$videoElement.height=0,this.player.$container.removeChild(this.$videoElement),this.$videoElement=null,this.init=!1,this.off()}_initContext2D(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.context2D=this.$videoElement.getContext("2d",e)}_initContextGl(){if(this.player.events,this.contextGl=Aa(this.$videoElement),!this.contextGl)throw this.player.debugError("CommonCanvasLoader","_initContextGl() createContextGL error"),new Error("CommonCanvasLoader and _initContextGl createContextGL error");this._bindContextGlEvents(),this.webglRender=new en(this.contextGl,this.player._opt.openWebglAlignment)}_initContextGl2(){if(this.contextGl=ba(this.$videoElement),this.contextGl){this._bindContextGlEvents(2);try{this.webglRender=new gn(this.$videoElement,this.contextGl)}catch(e){this.player.debugError("CommonCanvasLoader",`create webgl2Render error is ${e} and next use context2d.draw render`),this.contextGl=null,this.webglRender=null,this._initContext2D()}}else this.player.debugError("CommonCanvasLoader","_initContextGl2() createContextGL2 error")}_bindContextGlEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;const{proxy:t}=this.player.events,i=t(this.$videoElement,"webglcontextlost",(t=>{t.preventDefault(),this.player.debugError("canvasVideo","webglcontextlost error",t),this.isWebglContextLost=!0,this.webglRender&&(this.player.debugLog("CommonCanvasLoader","webglcontextlost error and destroy webglRender"),this.webglRender.destroy(),this.webglRender=null),this.webglRectRender&&(this.player.debugLog("CommonCanvasLoader","webglcontextlost error and destroy webglRectRender"),this.webglRectRender.destroy(),this.webglRectRender=null),this.contextGl=null,setTimeout((()=>{if(this.player.debugLog("CommonCanvasLoader",`createContextGL() version ${e}`),1===e?this.contextGl=Aa(this.$videoElement):2===e&&(this.contextGl=ba(this.$videoElement)),this.player.debugLog("CommonCanvasLoader","createContextGL success"),this.contextGl&&this.contextGl.getContextAttributes){const t=this.contextGl.getContextAttributes();t&&t.stencil?(1===e?this.webglRender=new en(this.contextGl,this.player._opt.openWebglAlignment):2===e&&(this.webglRender=new gn(this.$videoElement,this.contextGl)),this.isWebglContextLost=!1,this.player.debugLog("CommonCanvasLoader","webglcontextlost error reset and getContextAttributes().stencil is true")):(this.player.debugError("CommonCanvasLoader","webglcontextlost error, getContextAttributes().stencil is false"),this.player.emitError(wt.webglContextLostError))}else this.player.debugError("CommonCanvasLoader","webglcontextlost error, getContextAttributes().stencil is false"),this.player.emitError(wt.webglContextLostError)}),500)})),s=t(this.$videoElement,"webglcontextrestored",(e=>{e.preventDefault(),this.player.debugLog("CommonCanvasLoader","webglcontextrestored ",e)}));this.proxyDestroyList.push(i,s)}_initContextGPU(){mn(this.$videoElement).then((e=>{this.player.isDestroyedOrClosed()||(e?(this.webGPURender=new an(e),this.player.debugLog("CommonCanvasLoader","webGPURender init success")):(this.player.debugWarn("CommonCanvasLoader","webGPURender init failed because context is null and next use webgl render"),this.renderType=gi,this._initContextGl()))})).catch((e=>{this.player.isDestroyedOrClosed()||(this.player.debugWarn("CommonCanvasLoader",`createWebGPUContext error is ${e} and next use webgl render`),this.renderType=gi,this._initContextGl())}))}initCanvasViewSize(){this.$videoElement.width=this.videoInfo.width,this.$videoElement.height=this.videoInfo.height,this.resize()}screenshot(e,t,i,s){e=e||_a(),s=s||Ct.download;let r=.92;!ss[t]&&Ct[t]&&(s=t,t="png",i=void 0),"string"==typeof i&&(s=i,i=void 0),void 0!==i&&(r=Number(i));const a=ss[t]||ss.png,o=this.$videoElement.toDataURL(a,r);if(s===Ct.base64)return o;{const t=va(o);if(s===Ct.blob)return t;if(s===Ct.download){const i=a.split("/")[1];pn(t,e+"."+i)}}}screenshotWatermark(e){return new Promise(((t,i)=>{ho(e)&&(e={filename:e}),(e=e||{}).width=this.videoInfo.width,e.height=this.videoInfo.height,e.filename=e.filename||_a(),e.format=e.format?ss[e.format]:ss.png,e.quality=Number(e.quality)||.92,e.type=e.type||Ct.download;const s=this.$videoElement.toDataURL(e.format,e.quality);Xa(s,e).then((i=>{if(e.type===Ct.base64)t(s);else{const s=va(i);if(e.type===Ct.blob)t(s);else if(e.type===Ct.download){t();const i=e.format.split("/")[1];pn(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}))}screenshotCopyrightWatermark(e){return new Promise(((t,i)=>{if(ho(e)){(e=(e={filename:e})||{}).width=this.videoInfo.width,e.height=this.videoInfo.height,e.filename=e.filename||_a(),e.format=e.format?ss[e.format]:ss.png,e.quality=Number(e.quality)||.92,e.type=e.type||Ct.download;const s=this.$videoElement.toDataURL(e.format,e.quality);eo(s,e).then((i=>{if(e.type===Ct.base64)t(s);else{const s=va(i);if(e.type===Ct.blob)t(s);else if(e.type===Ct.download){t();const i=e.format.split("/")[1];pn(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}}))}screenshotByCurrentWatermark(e){}render(){}clearView(){super.clearView()}play(){}pause(){}_resize(){this.player.debugLog("canvasVideo","_resize()");const e=this.player._opt,t=this.player.getShowVideoRect();let i=t.width,s=t.height,r=this.$videoElement.width,a=this.$videoElement.height;const o=e.rotate;let n=(i-r)/2,l=(s-a)/2;270!==o&&90!==o||(r=this.$videoElement.height,a=this.$videoElement.width);const d=i/r,h=s/a;let c=d>h?h:d;Io(e.isResize)&&d!==h&&(c=d+","+h),e.isFullResize&&(c=d>h?d:h);let u="scale("+c+")";"none"===e.mirrorRotate&&o&&(u+=" rotate("+o+"deg)"),"level"===e.mirrorRotate?u+=" rotateY(180deg)":"vertical"===e.mirrorRotate&&(u+=" rotateX(180deg)"),this.$videoElement.style.height=this.videoInfo.height+"px",this.$videoElement.style.width=this.videoInfo.width+"px",this.$videoElement.style.padding="0",this.$videoElement.style.transform=u,this.$videoElement.style.left=n+"px",this.$videoElement.style.top=l+"px"}initFps(){}setStreamFps(e){}getStreamFps(){return 25}getType(){return q}getCanvasType(){let e=this.renderType===yi?yi:gi;return this.isWcsWebgl2?e=fi:this.isWcsWebgpu&&(e=yi),e}}class yn extends fn{constructor(e){super(e),this.TAG_NAME="CanvasVideo",this.yuvList=[],this.tempTextCanvas=null,this.tempTextCanvasCtx=null,this.player.debugLog("CanvasVideo","init")}async destroy(){super.destroy(),this.yuvList=[],this.tempTextCanvas&&(this.tempTextCanvasCtx.clearRect(0,0,this.tempTextCanvas.width,this.tempTextCanvas.height),this.tempTextCanvas.width=0,this.tempTextCanvas.height=0,this.tempTextCanvas=null),this.player.debugLog("CanvasVideoLoader","destroy")}_initCanvasRender(){this.player._opt.useWCS&&!this._supportOffscreen()?(this.renderType=mi,this.player._opt.useWebGPU?mn(this.$videoElement).then((e=>{this.player.isDestroyedOrClosed()||(e?(this.webGPURender=new an(e),this.isWcsWebgpu=!0,this.player.debugLog(this.TAG_NAME,"webGPURender init success")):(this.player.debugWarn(this.TAG_NAME,"webGPURender init failed because context is null and next use webgl render"),this._initWebglRenderForWCS()))})).catch((()=>{this.player.isDestroyedOrClosed()||(this.player.debugWarn(this.TAG_NAME,`createWebGPUContext error is ${e} and next use webgl render`),this._initWebglRenderForWCS())})):this._initWebglRenderForWCS()):this.player._opt.useMSE&&this.player._opt.mseUseCanvasRender?(this.renderType=bi,this._initContext2D()):this.player.isOldHls()&&this.player._opt.useCanvasRender?(this.renderType=vi,this._initContext2D()):this.player.isWebrtcH264()&&this.player._opt.webrtcUseCanvasRender?(this.renderType=_i,this._initContext2D()):this._supportOffscreen()?(this.renderType=Ai,this._bindOffscreen()):this.player._opt.useWebGPU?(this.renderType=yi,this._initContextGPU()):(this.renderType=gi,this._initContextGl())}_initWebglRenderForWCS(){this.player._opt.wcsUseWebgl2Render&&jo()?(this._initContextGl2(),this.webglRender&&(this.isWcsWebgl2=!0)):this._initContext2D()}_supportOffscreen(){return"function"==typeof this.$videoElement.transferControlToOffscreen&&this.player._opt.useOffscreen}_bindOffscreen(){this.bitmaprenderer=this.$videoElement.getContext("bitmaprenderer")}render(e){this.yuvList.push(e),this.startRender()}startRender(){for(;!(this.yuvList.length<=0);){const e=this.yuvList.shift();this.doRender(e)}}doRender(e){if(this.renderType!==bi){const t={ts:e.ts||0,fps:!0};this.player.updateStats(t)}switch(this.renderType){case Ai:this.bitmaprenderer.transferFromImageBitmap(e.buffer);break;case gi:case yi:if(this.isWebglContextLost)return void this.player.debugWarn("CanvasVideoLoader","doRender() and webgl context is lost");let t=e.output;if(this.player.faceDetectActive&&this.player.ai&&this.player.ai.faceDetector){null===this.prevAiFaceDetectTime&&(this.prevAiFaceDetectTime=_a());const i=_a();i-this.prevAiFaceDetectTime>=this.player._opt.aiFaceDetectInterval&&(t=this.player.ai.faceDetector.detect({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output,ts:e.ts||0}),this.prevAiFaceDetectTime=i)}if(this.player.objectDetectActive&&this.player.ai&&this.player.ai.objectDetector){null===this.prevAiObjectDetectTime&&(this.prevAiObjectDetectTime=_a());const i=_a();i-this.prevAiObjectDetectTime>=this.player._opt.aiObjectDetectInterval&&(t=this.player.ai.objectDetector.detect({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output,ts:e.ts||0}),this.prevAiObjectDetectTime=i)}if(this.player.occlusionDetectActive&&this.player.ai&&this.player.ai.occlusionDetector){null===this.prevAiOcclusionDetectTime&&(this.prevAiOcclusionDetectTime=_a());const t=_a();if(t-this.prevAiOcclusionDetectTime>=this.player._opt.aiOcclusionDetectInterval){const i=this.player.ai.occlusionDetector.check({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output});this.prevAiOcclusionDetectTime=t,i&&this.player.emit(vt.aiOcclusionDetectResult,{ts:e.ts||0})}}if(this.player.imageDetectActive&&this.player.ai&&this.player.ai.imageDetector){const t=this.player.ai.imageDetector.check({width:this.$videoElement.width,height:this.$videoElement.height,data:e.output});if(t&&t.data&&(this.player.emit(vt.aiImageDetectResult,{type:t.type,ts:e.ts||0}),this.player._opt.aiImageDetectDrop))return void this.player.debugLog("CanvasVideoLoader",`doRender() and ai image detect result type is ${t.type} and drop`)}if(this.renderType===yi)try{if(!this.webGPURender)return void this.player.debugWarn("CanvasVideoLoader","doRender webgpu render is not init");this.webGPURender.renderYUV(this.$videoElement.width,this.$videoElement.height,t)}catch(e){this.player.debugError("CanvasVideoLoader",`doRender webgpu render and error: ${e.toString()}`)}else if(this.renderType===gi)try{this.webglRender.renderYUV(this.$videoElement.width,this.$videoElement.height,t)}catch(e){this.player.debugError("CanvasVideoLoader",`doRender webgl render context is lost ${this.contextGl&&this.contextGl.isContextLost()} and error: ${e.toString()}`)}break;case mi:if(this.webGPURender)this.webGPURender.render(e.videoFrame),vo(e.videoFrame);else if(this.webglRender)this.webglRender.render(e.videoFrame),vo(e.videoFrame);else if(this.context2D)if(go(e.videoFrame.createImageBitmap))try{e.videoFrame.createImageBitmap().then((t=>{this.context2D.drawImage(t,0,0,this.$videoElement.width,this.$videoElement.height),vo(e.videoFrame)}))}catch(e){}else this.context2D.drawImage(e.videoFrame,0,0,this.$videoElement.width,this.$videoElement.height),vo(e.videoFrame);else this.player.debugWarn("CanvasVideoLoader","doRender() and webcodecs context is lost");break;case bi:case vi:case _i:this.context2D.drawImage(e.$video,0,0,this.$videoElement.width,this.$videoElement.height)}let t=e.ts||0;this.renderType===bi&&(t=parseInt(1e3*e.$video.currentTime,10)+(this.player.mseDecoder.firstRenderTime||0)),this.player.updateCurrentPts(t),this.doAddContentToWatermark(),this.doAddAiContentToWatermark()}clearView(){switch(super.clearView(),this.renderType){case Ai:(function(e,t){const i=document.createElement("canvas");i.width=e,i.height=t;const s=window.createImageBitmap(i,0,0,e,t);return i.width=0,i.height=0,s})(this.$videoElement.width,this.$videoElement.height).then((e=>{this.bitmaprenderer.transferFromImageBitmap(e)}));break;case gi:this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT);break;case yi:this.webGPURender.clear();break;case mi:this.webGPURender?this.webGPURender.clear():this.contextGl?this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT):this.context2D&&this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height);break;case bi:case vi:case _i:this.context2D.clearRect(0,0,this.$videoElement.width,this.$videoElement.height)}}_initTempTextCanvas(){this.tempTextCanvas=document.createElement("canvas"),this.tempTextCanvasCtx=this.tempTextCanvas.getContext("2d"),this.tempTextCanvas.width=600,this.tempTextCanvas.height=20}doAddContentToCanvas(){this.tempContentList.length>0&&this.context2D&&function(e){let{ctx:t,list:i}=e;t.save(),(i||[]).forEach((e=>{"text"===e.type?(t.font=`${e.fontSize||12}px Arial`,t.fillStyle=e.color||"green",t.fillText(e.text,e.x,e.y)):"rect"===e.type&&(t.strokeStyle=e.color||"green",t.lineWidth=e.lineWidth||2,t.strokeRect(e.x,e.y,e.width,e.height))})),t.restore()}({ctx:this.context2D,list:this.tempContentList})}doAddContentToWebGlCanvas(){this.tempContentList.length>0&&this.contextGl&&this.webglRectRender&&this.tempContentList.forEach((e=>{const t=e.x,i=e.y;if("rect"===e.type){const r=e.width,a=e.height,o=(s=e.color||"#008000",[parseInt(s.substring(1,3),16)/255,parseInt(s.substring(3,5),16)/255,parseInt(s.substring(5,7),16)/255,1]),n=e.lineWidth||4;if(!r||!a)return;this.webglRectRender.drawBox({x:t,y:i,width:r,height:a,lineColor:o,lineWidth:n,canvasWidth:this.$videoElement.width,canvasHeight:this.$videoElement.height})}else if("text"===e.type){const s=e.text||"";if(!s)return;const r=e.fontSize||20,a=e.color||"#008000";this.tempTextCanvas||this._initTempTextCanvas(),this.tempTextCanvasCtx.clearRect(0,0,this.tempTextCanvas.width,this.tempTextCanvas.height),this.tempTextCanvasCtx.font=`${r}px Arial`,this.tempTextCanvasCtx.fillStyle=a,this.tempTextCanvasCtx.textBaseline="top",this.tempTextCanvasCtx.fillText(s,0,0),this.webglRender.drawDom(this.$videoElement.width,this.$videoElement.height,t,i,this.tempTextCanvas)}var s}))}}class An extends nn{constructor(e){super(),this.player=e,this.TAG_NAME="Video";const t=document.createElement("video");t.muted=!0,t.disablePictureInPicture=!0,Da()&&(t.poster="noposter"),t.style.position="absolute",t.style.top=0,t.style.left=0,this._delayPlay=!1,e.$container.appendChild(t),this.$videoElement=t,this.$canvasElement=null,this.canvasContext=null,this.mediaStream=null,this.vwriter=null,this.awriter=null,this.trackGenerator=null,this.audioTrackGenerator=null,this.fixChromeVideoFlashBug(),this.fixMobileAutoFullscreen(),this.resize(),this.eventListenList=[],this.isRenderRetryPlaying=!1,this.isRenderRetryPlayingTimes=0,this.isRetryPlaying=!1,this.isRetryPlayingTimes=0,this.canplayReceived=!1,this.progressProxyDestroy=null,this.checkVideoCanplayTimeout=null,this.visibilityChangePlayTimeout=null,this.pauseDelayTimeout=null,this.replayTimeout=null,this.detectAndFixStuckPlaybackStartTime=null;const i=Wo();this.supportVideoFrameCallbackHandle=null,this._checkVodVideoWaitingInterval=null,this._delayEmitVodVideoWaitingInterval=null;const{proxy:s}=this.player.events,r=s(this.$videoElement,"canplay",(()=>{if(this.player.isDestroyedOrClosed())this.player.debugLog(this.TAG_NAME,"canplay and isDestroyedOrClosed,so return");else if(this.player.debugLog(this.TAG_NAME,"canplay"),this.canplayReceived=!0,this.player.isPlayVodUseMSE()){if(this.player.playVod.isEnded())return void this.player.debugLog(this.TAG_NAME,"canplay and isPlayVodUseMSE and isEnded");this._clearDelayEmitVodVideoWaiting(),this._clearCheckVodVideoWaiting(),this.player.emit(vt.playVodCanplay),this.isPaused()&&(this.player.debugLog(this.TAG_NAME,"canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play()"),this.$videoElement&&this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play() success")})))}else this._delayPlay?(this.clearCheckVideoCanplayTimeout(),this._play()):this.$videoElement.paused&&(this.player.isMSEPlaybackRateChangePause?(this.player.debugLog(this.TAG_NAME,`canplay and video is paused and isMSEPlaybackRateChangePause is ${this.player.isMSEPlaybackRateChangePause} so next try to play`),this.player.isMSEPlaybackRateChangePause=!1,this._play()):this.player.isMSECurrentMoreThanBufferedPause?(this.player.debugLog(this.TAG_NAME,`canplay and video is paused and isMSECurrentMoreThanBufferedPause is ${this.player.isMSECurrentMoreThanBufferedPause} so next try to play`),this.player.isMSECurrentMoreThanBufferedPause=!1,this._play()):(this.player.debugWarn(this.TAG_NAME,"canplay and video is paused and try to play"),this._play()))})),a=s(this.$videoElement,"waiting",(()=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"waiting and isDestroyedOrClosed,so return"):(this.player.debugLog(this.TAG_NAME,"waiting and currentTime is "+this.getCurrentTime()),this.player.isPlayVodUseMSE()&&Io(this.player.mseDecoder.isCurrentTimeInBufferEnd())&&(this._delayEmitVodVideoWaiting(),this._checkVodVideoWaiting()))})),o=s(this.$videoElement,"loadedmetadata",(()=>{this.player.debugLog(this.TAG_NAME,"loadedmetadata")})),n=s(this.$videoElement,"timeupdate",(t=>{if(!this.player.isDestroyedOrClosed()){if(Io(i)){const t=parseInt(1e3*this.getCurrentTime(),10);if(e.isWebrtcH264()||this.player.isOldHls()||this.player.isAliyunRtc())this.player.emit(vt.timeUpdate,t),e.handleRender(),e.updateStats({fps:!0,ts:t,dts:t}),this.player.updateCurrentPts(t);else if(Po(this.player._opt.useMSE)&&Io(this.player._opt.mseUseCanvasRender))if(this.player.mseDecoder){let e=parseInt(1e3*this.getCurrentTime(),10)+(this.player.mseDecoder.firstRenderTime||0);this.player.updateCurrentPts(e)}else if(this.player._opt.mseDecoderUseWorker){let e=parseInt(1e3*this.getCurrentTime(),10)+(this.player._mseWorkerData.firstRenderTime||0);this.player.updateCurrentPts(e)}this.doAddContentToWatermark()}this.player.isMseDecoderUseWorker()&&(this.player.decoderWorker.updateVideoTimestamp(this.getCurrentTime()),this._handleUpdatePlaybackRate())}})),l=s(this.$videoElement,"error",(e=>{if(!this.$videoElement.error)return void this.player.debugError(this.TAG_NAME,"on error",e);let t={};if(this.player.isUseMSE()&&(t=this.player.getMseMineType()),this.player.debugError(this.TAG_NAME,"Error Code "+this.$videoElement.error.code+" "+mr[this.$videoElement.error.code]+"; Details: "+this.$videoElement.error.message+"; Video Info: "+JSON.stringify(this.videoInfo)+"; Mse Mine Type: "+t.video+"; "),this.player.isUseMSE()){this.$videoElement.error.code;const e=this.$videoElement.error.message;-1!==e.indexOf(gr)&&(this.player.isMSEVideoDecoderInitializationFailedNotSupportHevc=!0),-1!==e.indexOf(fr)&&(this.player.isMSEAudioDecoderError=!0)}this.player.isHlsCanVideoPlay()})),d=s(this.$videoElement,"stalled",(()=>{this._detectAndFixStuckPlayback(!0)}));if(this.progressProxyDestroy=s(this.$videoElement,"progress",(()=>{this._detectAndFixStuckPlayback()})),this.eventListenList.push(r,a,n,l,o,d),this.player.isUseMSE()){const e=s(this.$videoElement,ps,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate),this.$videoElement&&this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"ratechange and video is paused and sent isMSEPlaybackRateChangePause true"),this.player.isMSEPlaybackRateChangePause=!0)}));this.eventListenList.push(e),this.player.on(vt.visibilityChange,(e=>{e&&(this.visibilityChangePlayTimeout=setTimeout((()=>{if(this.clearVisibilityChangePlayTimeout(),this.player.isPlaying()&&this.$videoElement){const e=this.getVideoBufferLastTime();e-this.$videoElement.currentTime>this.getBufferMaxDelayTime()&&(this.player.debugLog(this.TAG_NAME,`visibilityChange is true and lastTime is ${e} and currentTime is ${this.$videoElement.currentTime} so set currentTime to lastTime`),this.$videoElement.currentTime=e)}}),300))}))}if(this.player.isPlayVodUseMSE()){const e=s(this.$videoElement,Vr,(()=>{this.player.debugLog(this.TAG_NAME,"progress"),this.player.emit(vt.playVodTimeCache,this.getLoadedPercent())})),t=s(this.$videoElement,"seeking",(()=>{this.player.debugLog(this.TAG_NAME,"seeking",this.$videoElement.currentTime),this.player.emit(vt.playVodVideoSeekingByMse,this.$videoElement.currentTime)})),i=s(this.$videoElement,"seeked",(()=>{this.player.debugLog(this.TAG_NAME,"seeked",this.$videoElement.currentTime),this.player.playVod.isSeeking()&&this.player.playVod.removeSeekingTimestamp(),this.player.emit(vt.playVodVideoSeekedByMse,this.$videoElement.currentTime)}));this.eventListenList.push(e,t,i)}Wo()?this.supportVideoFrameCallbackHandle||(this.player.debugLog(this.TAG_NAME,"support requestVideoFrameCallback and use videoFrameCallback"),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))):this.player.debugWarn(this.TAG_NAME,"not support requestVideoFrameCallback and use timeupdate event to update stats"),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){if(super.destroy(),this.clearCheckVideoCanplayTimeout(),this.clearReplayTimeout(),this.clearVisibilityChangePlayTimeout(),this.clearPauseDelayTimeout(),this._cancelVideoFrameCallback(),this._removeProgressProxyDestroy(),this.eventListenList.length&&(this.eventListenList.forEach((e=>{e()})),this.eventListenList=[]),this.isRenderRetryPlaying=!1,this.isRenderRetryPlayingTimes=0,this.isRetryPlaying=!1,this.isRetryPlayingTimes=0,this.canplayReceived=!1,this.player._opt.videoRenderSupportScale&&this._isNeedAddBackDropFilter()){const e=this.player.$container;e.style.backdropFilter="none",e.style.transform="none"}if(this.$canvasElement&&(this.$canvasElement.height=0,this.$canvasElement.width=0,this.$canvasElement=null),this.canvasContext=null,this.$videoElement){this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject")),this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"));try{this.$videoElement.load()}catch(e){}this.player.$container.removeChild(this.$videoElement),this.$videoElement=null}this.trackGenerator&&(this.trackGenerator.stop(),this.trackGenerator=null),this.audioTrackGenerator&&(this.audioTrackGenerator.stop(),this.audioTrackGenerator=null),this.vwriter&&(await this.vwriter.close(),this.vwriter=null),this.awriter&&(await this.awriter.close(),this.awriter=null),this._delayPlay=!1,this.mediaStream&&(this.mediaStream.getTracks().forEach((e=>e.stop())),this.mediaStream=null),this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}_createScreenShotCanvas(){const e=document.createElement("canvas");this.$canvasElement=e,this.canvasContext=e.getContext("2d"),this.canvasContext.imageSmoothingEnabled=!0,this.canvasContext.imageSmoothingEnabled&&(this.canvasContext.imageSmoothingQuality="high")}bindMediaStream(){if(this.player.canVideoTrackWritter()&&za()&&$a()&&!this.mediaStream){this.player.debugLog(this.TAG_NAME,"bindMediaStream"),this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.player.useVideoPlayAudio()&&(this.audioTrackGenerator=new MediaStreamTrackGenerator({kind:"audio"}),this.awriter=this.audioTrackGenerator.writable.getWriter());const e=[this.trackGenerator];this.audioTrackGenerator&&e.push(this.audioTrackGenerator),this.mediaStream=new MediaStream(e),this.$videoElement.srcObject=this.mediaStream,this.vwriter=this.trackGenerator.writable.getWriter()}}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() and isDestroyedOrClosed and return");this.player.handleRender();const i=parseInt(1e3*Math.max(t.mediaTime,this.getCurrentTime()),10)||0;if(this.player.isUseHls265UseMse())this.player.updateStats({fps:!0,ts:i});else if(this.player.isMseDecoderUseWorker()){this.player._times.videoStart||(this.player._times.videoStart=_a(),this.player.handlePlayToRenderTimes());const e=i+(this.player._mseWorkerData.firstRenderTime||0);if(this.player.updateStats({fps:!0,dfps:!0,ts:e,mseTs:i}),this.player.emit(vt.timeUpdate,e),Io(this.getHasInit())&&t.width&&t.height){const e={width:t.width,height:t.height};this.updateVideoInfo(e),this.initCanvasViewSize()}}if(this.player.isWebrtcH264()||this.player.isOldHls()||this.player.isAliyunRtc()){if(this.player.emit(vt.timeUpdate,i),Io(this.getHasInit())&&t.width&&t.height){const e={width:t.width,height:t.height};this.videoInfo.encTypeCode||this.player.isOldHls()||(e.encTypeCode=Pt),this.updateVideoInfo(e)}this.player.updateStats({fps:!0,ts:i,dts:i}),this.player.updateCurrentPts(i),this.doAddContentToWatermark()}else if(Po(this.player._opt.useMSE)&&Io(this.player._opt.mseUseCanvasRender)){if(this.player.mseDecoder){let e=parseInt(1e3*Math.max(t.mediaTime,this.getCurrentTime()),10)+(this.player.mseDecoder.firstRenderTime||0);this.player.updateCurrentPts(e)}else if(this.player._opt.mseDecoderUseWorker){let e=parseInt(1e3*Math.max(t.mediaTime,this.getCurrentTime()),10)+(this.player._mseWorkerData.firstRenderTime||0);this.player.updateCurrentPts(e)}this.doAddContentToWatermark()}this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}fixChromeVideoFlashBug(){if(this.player._opt.videoRenderSupportScale&&this._isNeedAddBackDropFilter()){const e=this.player.$container;e.style.backdropFilter="blur(0px)",e.style.transform="translateZ(0)"}}fixMobileAutoFullscreen(){const e=Ia(),t=Da();(e||t)&&(this.player.debugLog(this.TAG_NAME,`fixMobileAutoFullscreen and isIOS ${e} and isAndroid ${t}`),this.$videoElement.setAttribute("webkit-playsinline","true"),this.$videoElement.setAttribute("playsinline","true"),this.$videoElement.setAttribute("x5-video-player-type","h5-page"))}_detectAndFixStuckPlayback(e){const t=this.$videoElement,i=t.buffered,s=t.readyState;if(this.player.debugLog(this.TAG_NAME,`_detectAndFixStuckPlayback() and isStalled is ${e} ,canplayReceived is ${this.canplayReceived} ,videoReadyState is ${s} and bufferedLength is ${i.length} and startTime is ${i.length>0?i.start(0):"null"} and currentTime is ${t.currentTime}`),e||Io(this.canplayReceived)||s<2){if(i.length>0&&t.currentTime=1e3*this.player._opt.mseWaitVideoCanplayTimeout&&(this.player.debugWarn(this.TAG_NAME,`_detectAndFixStuckPlayback() and video is stuck and currentTime is ${t.currentTime} , diff is ${e} and timeout`),this.player.emit(wt.mseWaitVideoCanplayTimeout,e))}}else this._removeProgressProxyDestroy()}_removeProgressProxyDestroy(){this.progressProxyDestroy&&(this.player.debugLog(this.TAG_NAME,"_removeProgressProxyDestroy()"),this.progressProxyDestroy(),this.progressProxyDestroy=null),this.detectAndFixStuckPlaybackStartTime=null}_isNeedAddBackDropFilter(){const e=Pa().type.toLowerCase();return"chrome"===e||"edge"===e}isPaused(){let e=!0;return this.$videoElement&&(e=this.$videoElement.paused),e}isPause(){return this.isPaused()}_getVideoReadyState(){let e=0;return this.$videoElement&&(e=this.$videoElement.readyState),e}_getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}play(){if(this.$videoElement){const e=this._getVideoReadyState();if(this.player.debugLog(this.TAG_NAME,`play and readyState: ${e}`),0===e)return this.player.debugLog(this.TAG_NAME,"readyState is 0 and set _delayPlay to true and listen canplay event to play"),this._delayPlay=!0,void(null===this.checkVideoCanplayTimeout&&(this.checkVideoCanplayTimeout=setTimeout((()=>{if(this.clearCheckVideoCanplayTimeout(),!this.player.isDestroyedOrClosed()&&Io(this.isPlaying())){const e=this._getBufferStore();this.player.debugWarn(this.TAG_NAME,`checkVideoCanplayTimeout and video is not playing and buffer store is ${e} and retry play`),this.$videoElement.currentTime=e,this._replay()}}),1e3)));this._play()}}_play(){this.$videoElement&&this.$videoElement.play().then((()=>{this._delayPlay=!1,this.player.debugLog(this.TAG_NAME,"_play success"),this.isPlaying()?(this.player.emit(vt.removeLoadingBgImage),this.isRetryPlayingTimes=0,this.isRetryPlaying=!1):this.replayTimeout=setTimeout((()=>{this.clearReplayTimeout(),this._replay()}),100)})).catch((e=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_play error and player is isDestroyedOrClosed and return"):(this.player.debugLog(this.TAG_NAME,`_play error and\n e.name is ${e.name},\n e.message is ${e.message},\n e.toString() is ${e.toString()}`),this.player.debugError(this.TAG_NAME,"_play error",e),this.isRetryPlaying=!1,this.replayTimeout=setTimeout((()=>{this.clearReplayTimeout(),this._replay()}),100))}))}_replay(){if(!this.isPlaying()&&Io(this.player.isDestroyedOrClosed())&&Io(this.isRetryPlaying)){if(this.isRetryPlaying=!0,this.isRetryPlayingTimes>=3){let e="";return void(this.player.isWebrtcH264()?(e=`_replay(webrtc H264) then but not playing and retry play times is ${this.isRetryPlayingTimes} and emit error`,this.player.debugError(this.TAG_NAME,e),this.player.emitError(wt.videoElementPlayingFailedForWebrtc,e)):(e=`_replay then but not playing and retry play times is ${this.isRetryPlayingTimes} and emit error to use canvas render`,this.player.debugError(this.TAG_NAME,e),this.player.emitError(wt.videoElementPlayingFailed,e)))}this.player.debugWarn(this.TAG_NAME,`_play then but not playing and retry play and isRetryPlayingTimes is ${this.isRetryPlayingTimes}`),this._play(),this.isRetryPlayingTimes++}else this.player.debugLog(this.TAG_NAME,`_replay() and isPlaying is ${this.isPlaying()} and isRetryPlaying is ${this.isRetryPlaying} and isDestroyedOrClosed is ${this.player.isDestroyedOrClosed()} and return;`)}pause(e){this.player.debugLog(this.TAG_NAME,"pause and isNow is "+e),this.isPlaying()&&(e?(this.$videoElement&&this.$videoElement.pause(),this._cancelVideoFrameCallback()):this.pauseDelayTimeout=setTimeout((()=>{this.clearPauseDelayTimeout(),this.$videoElement&&this.$videoElement.pause(),this._cancelVideoFrameCallback()}),100))}clearView(){super.clearView(),this.$videoElement&&(this.$videoElement.pause(),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src")),this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject")))}screenshot(e,t,i,s){if(!this._canScreenshot())return this.player.debugWarn(this.TAG_NAME,`screenshot failed, video is not ready and stats is ${this._getVideoReadyState()}`),null;e=e||_a(),s=s||Ct.download;let r=.92;!ss[t]&&Ct[t]&&(s=t,t="png",i=void 0),"string"==typeof i&&(s=i,i=void 0),void 0!==i&&(r=Number(i));const a=this.$videoElement;this.$canvasElement||this._createScreenShotCanvas();let o=this.$canvasElement;o.width=a.videoWidth,o.height=a.videoHeight,this.canvasContext.drawImage(a,0,0,o.width,o.height);const n=ss[t]||ss.png,l=o.toDataURL(n,r);if(this.canvasContext.clearRect(0,0,o.width,o.height),o.width=0,o.height=0,s===Ct.base64)return l;{const t=va(l);if(s===Ct.blob)return t;if(s===Ct.download){const i=n.split("/")[1];pn(t,e+"."+i)}}}screenshotWatermark(e){return new Promise(((t,i)=>{if(ho(e)&&(e={filename:e}),!this._canScreenshot())return this.player.debugWarn(this.TAG_NAME,"screenshot failed, video is not ready"),i("screenshot failed, video is not ready");const s=this.$videoElement;(e=e||{}).width=s.videoWidth,e.height=s.videoHeight,e.filename=e.filename||_a(),e.format=e.format?ss[e.format]:ss.png,e.quality=Number(e.quality)||.92,e.type=e.type||Ct.download,this.$canvasElement||this._createScreenShotCanvas();let r=this.$canvasElement;r.width=s.videoWidth,r.height=s.videoHeight,this.canvasContext.drawImage(s,0,0,r.width,r.height);const a=r.toDataURL(e.format,e.quality);this.canvasContext.clearRect(0,0,r.width,r.height),r.width=0,r.height=0,Xa(a,e).then((i=>{if(e.type===Ct.base64)t(a);else{const s=va(i);if(e.type===Ct.blob)t(s);else if(e.type===Ct.download){t();const i=e.format.split("/")[1];pn(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}))}screenshotCopyrightWatermark(e){return new Promise(((t,i)=>{if(ho(e)&&(e={filename:e}),!this._canScreenshot())return this.player.debugWarn(this.TAG_NAME,"screenshot failed, video is not ready"),i("screenshot failed, video is not ready");const s=this.$videoElement;(e=e||{}).width=s.videoWidth,e.height=s.videoHeight,e.filename=e.filename||_a(),e.format=e.format?ss[e.format]:ss.png,e.quality=Number(e.quality)||.92,e.type=e.type||Ct.download,this.$canvasElement||this._createScreenShotCanvas();let r=this.$canvasElement;r.width=s.videoWidth,r.height=s.videoHeight,this.canvasContext.drawImage(s,0,0,r.width,r.height);const a=r.toDataURL(e.format,e.quality);this.canvasContext.clearRect(0,0,r.width,r.height),r.width=0,r.height=0,eo(a,e).then((i=>{if(e.type===Ct.base64)t(a);else{const s=va(i);if(e.type===Ct.blob)t(s);else if(e.type===Ct.download){t();const i=e.format.split("/")[1];pn(s,e.filename+"."+i)}}})).catch((e=>{i(e)}))}))}screenshotByCurrentWatermark(e){}initCanvasViewSize(){this.resize()}clear(){const e=this.$videoElement,t=e.buffered,i=t.length?t.end(t.length-1):0;e.currentTime=i}render(e){if(this.vwriter){if(this.$videoElement.srcObject||(this.$videoElement.srcObject=this.mediaStream),this.isPaused()){const e=this._getVideoReadyState();if(this.player.debugWarn(this.TAG_NAME,"render() error, video is paused and readyState is "+e),4===e&&Io(this.isRenderRetryPlaying)){if(this.isRenderRetryPlaying=!0,this.isRenderRetryPlayingTimes>3){const t="render() error, video is paused and readyState is "+e+", retry times is "+this.isRenderRetryPlayingTimes+", emit error and use canvas render";return this.player.debugError(this.TAG_NAME,t),void this.player.emitError(wt.videoElementPlayingFailed,t)}this.$videoElement.play().then((()=>{this.isRenderRetryPlayingTimes=0,this.isRenderRetryPlaying=!1,this.player.debugLog(this.TAG_NAME,"render() video is paused and replay success")})).catch((e=>{this.isRenderRetryPlaying=!1,this.isRenderRetryPlayingTimes++,this.player.debugLog(this.TAG_NAME,`_play error render() error, video is paused and replay error and\n e.name is ${e.name},\n e.message is ${e.message},\n e.toString() is ${e.toString()}`),this.player.debugError(this.TAG_NAME,"render() error, video is paused and replay error ",e)}))}}if(this.player.updateStats({fps:!0,ts:e.ts||0}),e.videoFrame)this.vwriter.write(e.videoFrame),vo(e.videoFrame);else if(e.output){let s=e.output;if(this.player.faceDetectActive&&this.player.ai&&this.player.ai.faceDetector){null===this.prevAiFaceDetectTime&&(this.prevAiFaceDetectTime=_a());const t=_a();t-this.prevAiFaceDetectTime>this.player._opt.aiFaceDetectInterval&&(s=this.player.ai.faceDetector.detect({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0}),this.prevAiFaceDetectTime=t)}if(this.player.objectDetectActive&&this.player.ai&&this.player.ai.objectDetector){null===this.prevAiObjectDetectTime&&(this.prevAiObjectDetectTime=_a());const t=_a();t-this.prevAiObjectDetectTime>this.player._opt.aiObjectDetectInterval&&(s=this.player.ai.objectDetector.detect({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0}),this.prevAiObjectDetectTime=t)}if(this.player.occlusionDetectActive&&this.player.ai&&this.player.ai.occlusionDetector){null===this.prevAiOcclusionDetectTime&&(this.prevAiOcclusionDetectTime=_a());const t=_a();if(t-this.prevAiOcclusionDetectTime>=this.player._opt.aiOcclusionDetectInterval){const i=this.player.ai.occlusionDetector.check({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0});this.prevAiOcclusionDetectTime=t,i&&(this.player.debugLog(this.TAG_NAME,"render() and ai occlusion detect result is true"),this.player.emit(vt.aiOcclusionDetectResult,{ts:e.ts||0}))}}if(this.player.imageDetectActive&&this.player.ai&&this.player.ai.imageDetector){const t=this.player.ai.imageDetector.check({width:this.videoInfo.width,height:this.videoInfo.height,data:e.output,ts:e.ts||0});if(t&&t.data&&(this.player.emit(vt.aiImageDetectResult,{type:t.type,ts:e.ts||0}),this.player._opt.aiImageDetectDrop))return void this.player.debugLog(this.TAG_NAME,`render() and ai image detect result type is ${t.type} and drop`)}try{const r=(t=s,i={format:"I420",codedWidth:this.videoInfo.width,codedHeight:this.videoInfo.height,timestamp:1e3*e.ts},new VideoFrame(t,i));this.vwriter.write(r),vo(r)}catch(e){this.player.debugError(this.TAG_NAME,"render error",e),this.player.emitError(wt.wasmUseVideoRenderError,`code is ${e.code} and message is ${e.message}`)}}this.player.updateCurrentPts(e.ts||0),this.doAddContentToWatermark(),this.doAddAiContentToWatermark()}else this.player.debugWarn(this.TAG_NAME,"render and this.vwriter is null");var t,i}_resize(){this.player.debugLog(this.TAG_NAME,"_resize()");const e=this.player._opt,t=e.rotate,i=this.player.getShowVideoRect();let s=i.width,r=i.height;this.$videoElement.width=s,this.$videoElement.height=r,this.$videoElement.style.width=s+"px",this.$videoElement.style.height=r+"px",270!==t&&90!==t||(this.$videoElement.width=r,this.$videoElement.height=s,this.$videoElement.style.width=r+"px",this.$videoElement.style.height=s+"px");let a=(s-this.$videoElement.width)/2,o=(r-this.$videoElement.height)/2,n="contain";Io(e.isResize)&&(n="fill"),e.isFullResize&&(n="none");let l="";"none"===e.mirrorRotate&&t&&(l+=" rotate("+t+"deg)"),"level"===e.mirrorRotate?l+=" rotateY(180deg)":"vertical"===e.mirrorRotate&&(l+=" rotateX(180deg)"),this.player._opt.videoRenderSupportScale&&(this.$videoElement.style.objectFit=n),this.$videoElement.style.transform=l,this.$videoElement.style.padding="0",this.$videoElement.style.left=a+"px",this.$videoElement.style.top=o+"px"}getType(){return K}getCurrentTime(){return this.$videoElement.currentTime}isPlaying(){return this.$videoElement&&Io(this.$videoElement.paused)&&Io(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}isVideoPlaying(){return this.isPlaying()}_canScreenshot(){return this.$videoElement&&this.$videoElement.readyState>=1}getPlaybackQuality(){let e=null;if(this.$videoElement){if(go(this.$videoElement.getVideoPlaybackQuality)){const t=this.$videoElement.getVideoPlaybackQuality();e={droppedVideoFrames:t.droppedVideoFrames||t.corruptedVideoFrames,totalVideoFrames:t.totalVideoFrames,creationTime:t.creationTime}}else e={droppedVideoFrames:this.$videoElement.webkitDroppedFrameCount,totalVideoFrames:this.$videoElement.webkitDecodedFrameCount,creationTime:_a()};e&&(e.renderedVideoFrames=e.totalVideoFrames-e.droppedVideoFrames)}return e}setRate(e){this.$videoElement&&(this.$videoElement.playbackRate=e)}get rate(){let e=1;return this.$videoElement&&(e=this.$videoElement.playbackRate),e}clearCheckVideoCanplayTimeout(){this.checkVideoCanplayTimeout&&(clearTimeout(this.checkVideoCanplayTimeout),this.checkVideoCanplayTimeout=null)}clearReplayTimeout(){this.replayTimeout&&(clearTimeout(this.replayTimeout),this.replayTimeout=null)}clearVisibilityChangePlayTimeout(){this.visibilityChangePlayTimeout&&(clearTimeout(this.visibilityChangePlayTimeout),this.visibilityChangePlayTimeout=null)}clearPauseDelayTimeout(){this.pauseDelayTimeout&&(clearTimeout(this.pauseDelayTimeout),this.pauseDelayTimeout=null)}_cancelVideoFrameCallback(){this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null)}_getBufferStore(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.buffered.start(0)),t}_handleUpdatePlaybackRate(){const e=this.$videoElement,t=e.buffered;t.length&&t.start(0);const i=t.length?t.end(t.length-1):0;let s=e.currentTime;const r=i-s,a=this.getBufferMaxDelayTime();if(this.player.updateStats({mseVideoBufferDelayTime:r}),r>a)this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current is ${s} , delay buffer is more than ${a} is ${r} and new time is ${i}`),e.currentTime=i,s=e.currentTime;else if(r<0&&0===i)return this.player.debugWarn(this.TAG_NAME,`handleUpdatePlaybackRate and delay buffer is ${i} - current is ${s} = ${r} < 0 and check video is paused : ${e.paused} `),void this.player.emit(wt.mediaSourceBufferedIsZeroError,"video.buffered is empty");if(s>1){const t=this._getPlaybackRate(i-s);e.playbackRate!==t&&(this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current time is ${s} and delay is ${i-s} set playbackRate is ${t} `),e.playbackRate=t)}}_getPlaybackRate(e){const t=this.$videoElement;let i=this.player._opt.videoBufferDelay+this.player._opt.videoBuffer;const s=Math.max(i,1e3),r=s/2;return e*=1e3,1===t.playbackRate?e>s?1.2:1:e<=r?1:t.playbackRate}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}getVideoBufferLastTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;i.length&&i.start(0);t=i.length?i.end(i.length-1):0}return t}getVideoBufferDelayTime(){const e=this.$videoElement;const t=this.getVideoBufferLastTime()-e.currentTime;return t>0?t:0}checkSourceBufferDelay(){const e=this.$videoElement;let t=0,i=0;return e.buffered.length>0&&(i=e.buffered.end(e.buffered.length-1),t=i-e.currentTime),t<0&&(this.player.debugWarn(this.TAG_NAME,`checkVideoSourceBufferDelay ${t} < 0, and buffered is ${i} ,currentTime is ${e.currentTime} , try to seek ${e.currentTime} to ${i}`),e.currentTime=i,e.paused&&(this.player.debugWarn(this.TAG_NAME,"checkSourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true"),this.player.isMSECurrentMoreThanBufferedPause=!0),t=0),t}checkSourceBufferStore(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.currentTime-e.buffered.start(0)),t}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}getDecodePlaybackRate(){let e=0;const t=this.$videoElement;return t&&(e=t.playbackRate),e}getBufferMaxDelayTime(){let e=(this.player._opt.videoBuffer+this.player._opt.videoBufferDelay)/1e3;return Math.max(5,e+3)}getReadyStateInited(){return this._getVideoReadyState()>=1}_clearDelayEmitVodVideoWaiting(){this._delayEmitVodVideoWaitingInterval&&(clearTimeout(this._delayEmitVodVideoWaitingInterval),this._delayEmitVodVideoWaitingInterval=null)}_clearCheckVodVideoWaiting(){this._checkVodVideoWaitingInterval&&(clearTimeout(this._checkVodVideoWaitingInterval),this._checkVodVideoWaitingInterval=null)}_delayEmitVodVideoWaiting(){this._clearDelayEmitVodVideoWaiting(),this._delayEmitVodVideoWaitingInterval=setTimeout((()=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_delayEmitVodVideoWaitingInterval and player is destroyed or closed and return"):(this.player.debugLog(this.TAG_NAME,"emit playVodWaiting"),this.player.emit(vt.playVodWaiting))}),100)}_checkVodVideoWaiting(){this._clearCheckVodVideoWaiting(),this._checkVodVideoWaitingInterval=setTimeout((()=>{this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_checkVodVideoWaiting and player is destroyed or closed and return"):this.$videoElement&&(this.player.debugLog(this.TAG_NAME,`_checkVodVideoWaiting and currentTime is ${this.$videoElement.currentTime} and update currentTime to ${this.$videoElement.currentTime+.1}`),this.$videoElement.currentTime=this.$videoElement.currentTime+.1)}),4e3)}setCurrentTime(e){this.$videoElement&&(this.$videoElement.currentTime=e)}isEnded(){let e=!1;return this.$videoElement&&(e=this.$videoElement.ended),e}geLoadedTime(){let e=0;return this.$videoElement&&this.$videoElement.buffered.length>0&&(e=this.$videoElement.buffered.end(this.$videoElement.buffered.length-1)),e}getDuration(){let e=0;return this.$videoElement&&(e=this.$videoElement.duration),e}getLoadedPercent(){let e=0;if(this.$videoElement){const t=this.getDuration();t&&(e=this.geLoadedTime()/t)}return e}}class bn extends fn{constructor(e){super(e),this.TAG_NAME=e.isPlayVod()?"CanvasVideoPlayVod":"CanvasVideoPlayback",this.bufferList=[],this.playing=!1,this.playInterval=null,this.fps=1,this.preFps=1,e.isPlayVod()&&(this.fps=25,this.preFps=25),this.streamFps=0,this.playbackRate=1,this._firstTimestamp=null,this._renderFps=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._hasCalcFps=!1,this.player.isPlayback()?this.player.on(vt.playbackPause,(e=>{e?(this.pause(),this.player.playback.isPlaybackPauseClearCache&&this.clear()):this.resume()})):this.player.isPlayVod()&&this.player.on(vt.playVodPause,(e=>{e?this.pause():this.resume()})),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){this._stopSync(),this.clear(),this._firstTimestamp=null,this.playing=!1,this.playbackRate=1,this.fps=1,this.preFps=1,this._renderFps=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._hasCalcFps=!1,super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}_initCanvasRender(){this.player._opt.useWCS?(this.renderType=mi,jo()&&this.player._opt.wcsUseWebgl2Render?(this._initContextGl2(),this.webglRender&&(this.isWcsWebgl2=!0)):this._initContext2D()):this.player._opt.useWebGPU?(this.renderType=yi,this._initContextGPU()):(this.renderType=gi,this._initContextGl())}_sync(){this._stopSync(),this._doPlay(),this.playInterval=setInterval((()=>{this._doPlay()}),this.fragDuration)}_doPlay(){if(this.bufferList.length>0){const e=this.bufferList.shift();e&&e.buffer&&(this._doRender(e.buffer),this.player.handleRender(),this.player.isPlayback()?this.player.playback.updateStats({ts:e.ts,tfTs:e.tfTs}):this.player.isPlayVod()&&this.player.playVod.updateStats({ts:e.ts,tfTs:e.tfTs}))}}_stopSync(){this.playInterval&&(clearInterval(this.playInterval),this.playInterval=null)}_doRender(e){if(this.player._opt.useWCS)if(this.webglRender)this.webglRender.render(e),vo(e);else if(go(e.createImageBitmap))try{e.createImageBitmap().then((t=>{this.context2D.drawImage(t,0,0,this.$videoElement.width,this.$videoElement.height),vo(e)}))}catch(e){}else this.context2D.drawImage(e,0,0,this.$videoElement.width,this.$videoElement.height),vo(e);else if(this.getCanvasType()===gi)try{this.webglRender.renderYUV(this.$videoElement.width,this.$videoElement.height,e)}catch(e){this.player.debugError(this.TAG_NAME,`doRender webgl render context is lost ${this.contextGl&&this.contextGl.isContextLost()} and error: ${e.toString()}`)}else if(this.getCanvasType()===yi)try{if(!this.webGPURender)return void this.player.debugWarn(this.TAG_NAME,"doRender webgpu render is not init");this.webGPURender.renderYUV(this.$videoElement.width,this.$videoElement.height,e)}catch(e){this.player.debugError(this.TAG_NAME,`doRender webgpu render and error: ${e.toString()}`)}}get rate(){return this.playbackRate}get fragDuration(){return Math.ceil(1e3/(this.fps*this.playbackRate))}get bufferSize(){return this.bufferList.length}getStreamFps(){return this.streamFps}initFps(){this._hasCalcFps?this.player.debugLog(this.TAG_NAME,"initFps, has calc fps"):this.player.isPlayback()?(this.preFps=Sa(this.player.playback.fps,1,100),this.fps=this.preFps):this.player.isPlayVod()&&(this.preFps=Sa(this.player.playVod.fps,1,100),this.fps=this.preFps)}setFps(e){e!==this.fps?(e>100&&this.player.debugWarn(this.TAG_NAME,"setFps max",e),e<0&&this.player.debugWarn(this.TAG_NAME,"setFps min",e),this.fps=Sa(e,1,100),this.player.debugLog(this.TAG_NAME,`setFps ${this.preFps} -> ${this.fps}`),(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync()):this.player.debugLog(this.TAG_NAME,`setFps, same fps ${e}`)}setStreamFps(e){this.player.debugLog(this.TAG_NAME,"setStreamFps",e),this._hasCalcFps=!0,this.streamFps=e,this.preFps=e,this.setFps(e)}setRate(e){e!==this.playbackRate&&(this.playbackRate=e,(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync())}render$2(e){null===this._firstTimestamp&&(this._firstTimestamp=e.ts);const t={tfTs:e.ts-this._firstTimestamp,ts:e.ts};e.videoFrame?t.buffer=e.videoFrame:t.buffer=e.output,this.bufferList.push(t),this.startRender(),this.player.handleRender(),this.player.isPlayback()?this.player.playback.updateStats({ts:e.ts,tfTs:t.tfTs}):this.player.isPlayVod()&&this.player.playVod.updateStats({ts:e.ts,tfTs:t.tfTs})}startRender(){for(;!(this.bufferList.length<=0);){const e=this.bufferList.shift();this._doRender(e.buffer)}}pushData(e){null===this._firstTimestamp&&(this._firstTimestamp=e.ts);const t={tfTs:e.ts-this._firstTimestamp,ts:e.ts};if(e.videoFrame?t.buffer=e.videoFrame:t.buffer=e.output,this.player.isPlayback()){const e=this.player._opt.playbackConfig.isCacheBeforeDecodeForFpsRender;if(e||this.bufferSize>this.fps*this.playbackRate*2&&(this.player.debugWarn(this.TAG_NAME,`buffer size is ${this.bufferSize}`),this._doPlay()),this.bufferList.push(t),!this._hasCalcFps){const e=Eo(this.bufferList);null!==e&&e!==this.preFps&&(this.player.debugLog(this.TAG_NAME,`calc fps is ${e} pre fps is ${this.preFps} and updatePreFps`),this.setStreamFps(e))}if(!e){const e=this.bufferList.length,t=e/(this.fps*this.playbackRate);this.player.debugLog(this.TAG_NAME,"rate is",t),t<=1?this.setFps(this.preFps):(this.setFps(this.fps+Math.floor(t*this.playbackRate)),this.player.debugWarn(this.TAG_NAME,"rate is",t,"fps is",this.fps,"bufferListLength is",e))}}else if(this.player.isPlayVod()&&(this.bufferList.push(t),!this._hasCalcFps)){const e=Eo(this.bufferList);null!==e&&e!==this.preFps&&(this.player.debugLog(this.TAG_NAME,`calc fps is ${e} pre fps is ${this.preFps} and updatePreFps`),this.setStreamFps(e))}}initVideo(){(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync(),this.playing=!0}initVideoDelay(){const e=this.player._opt.playbackDelayTime;e>0?this.delayTimeout=setTimeout((()=>{this.initVideo()}),e):this.initVideo()}clearView(){super.clearView(),this.contextGl.clear(this.contextGl.COLOR_BUFFER_BIT)}clear(){this.player._opt.useWCS&&this.bufferList.forEach((e=>{e.buffer&&vo(e.buffer)})),this.bufferList=[]}resume(){(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._sync(),this.playing=!0}pause(){(this.player.isPlayback()&&this.player.playback.isUseFpsRender||this.player.isPlayVod())&&this._stopSync(),this.playing=!1}}class vn extends An{constructor(e){super(e),this.TAG_NAME=e.isPlayback()?"VideoPlayback":"VideoPlayVod"}async destroy(){super.destroy()}render$2(e){this.render(e)}}class _n{constructor(e){return new(_n.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.useMSE?e.mseUseCanvasRender?yn:An:e.isHls&&Io(e.supportHls265)||e.isWebrtc&&Io(e.isWebrtcH265)?e.useCanvasRender?yn:An:e.isAliyunRtc?An:e.useWCS?e.playType===w||e.playType===E?!e.useOffscreen&&e.wcsUseVideoRender?vn:bn:!e.useOffscreen&&e.wcsUseVideoRender?An:yn:e.playType===w||e.playType===E?bn:e.wasmUseVideoRender&&!e.useOffscreen?An:yn}}class Sn extends a{constructor(e){super(),this.bufferList=[],this.player=e,this.$audio=null,this.scriptNode=null,this.workletProcessorNode=null,this.workletWorkerCloseTimeout=null,this.hasInitScriptNode=!1,this.audioContext=new(window.AudioContext||window.webkitAudioContext)({sampleRate:Or}),this.gainNode=this.audioContext.createGain();const t=this.audioContext.createBufferSource();t.buffer=this.audioContext.createBuffer(1,1,22050),t.connect(this.audioContext.destination),t.noteOn?t.noteOn(0):t.start(0),this.audioBufferSourceNode=t,this.mediaStreamAudioDestinationNode=this.audioContext.createMediaStreamDestination(),this.gainNode.gain.value=0,this._prevVolume=null,this.playing=!1,this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1,this.hasAudio=!1,this.audioResumeStateTimeout=null,this.audioContextContextResumeLock=!1}async destroy(){return this.closeAudio(),this.resetInit(),this.clearAudioResumeStateTimeout(),this.audioContext&&(await this.audioContext.close(),this.audioContext=null),this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),this.hasAudio=!1,this.playing=!1,this.scriptNode&&(this.scriptNode.disconnect(),this.scriptNode.onaudioprocess=ya,this.scriptNode=null),await this._destroyWorklet(),this.workletProcessorNode&&(this.workletProcessorNode.disconnect(),this.workletProcessorNode.port.onmessage=ya,this.workletProcessorNode=null),this.audioBufferSourceNode&&(this.audioBufferSourceNode.stop(),this.audioBufferSourceNode=null),this.mediaStreamAudioDestinationNode&&(this.mediaStreamAudioDestinationNode.disconnect(),this.mediaStreamAudioDestinationNode=null),this.hasInitScriptNode=!1,this._prevVolume=null,this.audioContextContextResumeLock=!1,this.off(),!0}_destroyWorklet(){return new Promise(((e,t)=>{this.workletProcessorNode?(this.workletProcessorNode.port.postMessage({type:"destroy"}),this.workletWorkerCloseTimeout=setTimeout((()=>{this.player.debugLog(this.TAG_NAME,"send close and wait 10ms destroy directly"),this.workletWorkerCloseTimeout&&(clearTimeout(this.workletWorkerCloseTimeout),this.workletWorkerCloseTimeout=null),e()}),10)):e()}))}resetInit(){this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this.init=!1}getAudioInfo(){return this.audioInfo}updateAudioInfo(e){e.encTypeCode&&(this.audioInfo.encTypeCode=e.encTypeCode,this.audioInfo.encType=jt[e.encTypeCode]),e.channels&&(this.audioInfo.channels=e.channels),e.sampleRate&&(this.audioInfo.sampleRate=e.sampleRate),e.depth&&(this.audioInfo.depth=e.depth),this.audioInfo.sampleRate&&this.audioInfo.channels&&this.audioInfo.encType&&!this.init&&(this.player.emit(vt.audioInfo,this.audioInfo),this.init=!0)}get isPlaying(){return this.playing}get isMute(){return 0===this.gainNode.gain.value||this.isStateSuspended()}get volume(){return this.gainNode.gain.value}get bufferSize(){return this.bufferList.length}get audioContextState(){let e=null;return this.audioContext&&(e=this.audioContext.state),e}initScriptNode(){}initMobileScriptNode(){}initWorkletScriptNode(){}getEngineType(){return""}mute(e){e?(this.setVolume(0),this.clear()):this.setVolume(this.player.lastVolume||.5)}setVolume(e){e=parseFloat(e).toFixed(2),isNaN(e)||(this.audioEnabled(!0),e=Sa(e,0,1),null!==this._prevVolume&&this._prevVolume===e||(null===this._prevVolume?this.player.emit(vt.mute,0===e):0===this._prevVolume&&e>0?this.player.emit(vt.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(vt.mute,!0),this.gainNode.gain.value=e,this.player.emit(vt.volumechange,this.player.volume),this.player.emit(vt.volume,this.player.volume),this._prevVolume=e))}closeAudio(){this.hasInitScriptNode&&(this.scriptNode&&this.scriptNode.disconnect(this.gainNode),this.workletProcessorNode&&this.workletProcessorNode.disconnect(this.gainNode),this.gainNode&&(this.gainNode.disconnect(this.mediaStreamAudioDestinationNode),this.$audio||this.gainNode.disconnect(this.audioContext.destination))),this.clear()}audioEnabled(e){if(e&&this.isStateSuspended()){if(this.audioContextContextResumeLock)return;this.audioContextContextResumeLock=!0,this.audioContext.resume().then((()=>{this.player.emit(vt.audioResumeState,{state:this.audioContextState,isRunning:this.isStateRunning()})})).finally((()=>{this.audioContextContextResumeLock=!1})),this.audioResumeStateTimeout=setTimeout((()=>{this.clearAudioResumeStateTimeout(),this.audioContextContextResumeLock=!1,this.isStateSuspended()&&this.player.emit(vt.audioResumeState,{state:this.audioContextState,isRunning:this.isStateRunning()})}),1e3)}}isStateRunning(){return"running"===this.audioContextState}isStateSuspended(){return"suspended"===this.audioContextState}clearAudioResumeStateTimeout(){this.audioResumeStateTimeout&&(clearTimeout(this.audioResumeStateTimeout),this.audioResumeStateTimeout=null)}clear(){this.bufferList=[]}play(e,t){}pause(){this.playing=!1}resume(){this.playing=!0}setRate(e){}getAudioBufferSize(){return 0}}class wn{constructor(e,t,i,s){this.player=e,this.audio=t,this.channel=i,this.bufferSize=s}destroy(){this.buffer=null,this.channel=null}extract(e,t){let i=this.provide(t);for(let t=0;t=o){try{for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:0;const s=2*(t=t||0);i>=0||(i=(e.length-s)/2);const r=2*i;this.ensureCapacity(i+this._frameCount);const a=this.endIndex;this.vector.set(e.subarray(s,s+r),a),this._frameCount+=i}putBuffer(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t=t||0,i>=0||(i=e.frameCount-t),this.putSamples(e.vector,e.position+t,i)}receive(e){e>=0&&!(e>this._frameCount)||(e=this.frameCount),this._frameCount-=e,this._position+=e}receiveSamples(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=2*t,s=this.startIndex;e.set(this._vector.subarray(s,s+i)),this.receive(t)}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s=this.startIndex+2*t,r=2*i;e.set(this._vector.subarray(s,s+r))}ensureCapacity(){const e=parseInt(2*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0));if(this._vector.length0&&void 0!==arguments[0]?arguments[0]:0;this.ensureCapacity(this._frameCount+e)}rewind(){this._position>0&&(this._vector.set(this._vector.subarray(this.startIndex,this.endIndex)),this._position=0)}}class Tn{constructor(e){e?(this._inputBuffer=new En,this._outputBuffer=new En):this._inputBuffer=this._outputBuffer=null}destroy(){this.clear(),this._outputBuffer&&(this._outputBuffer.destroy(),this._outputBuffer=null),this._inputBuffer&&(this._inputBuffer.destroy(),this._inputBuffer=null)}get inputBuffer(){return this._inputBuffer}set inputBuffer(e){this._inputBuffer=e}get outputBuffer(){return this._outputBuffer}set outputBuffer(e){this._outputBuffer=e}clear(){this._inputBuffer.clear(),this._outputBuffer.clear()}}class kn extends Tn{constructor(e){super(e),this.reset(),this._rate=1}destroy(){super.destroy()}set rate(e){this._rate=e}reset(){this.slopeCount=0,this.prevSampleL=0,this.prevSampleR=0}clone(){const e=new kn;return e.rate=this._rate,e}process(){const e=this._inputBuffer.frameCount;this._outputBuffer.ensureAdditionalCapacity(e/this._rate+1);const t=this.transpose(e);this._inputBuffer.receive(),this._outputBuffer.put(t)}transpose(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(0===e)return 0;const t=this._inputBuffer.vector,i=this._inputBuffer.startIndex,s=this._outputBuffer.vector,r=this._outputBuffer.endIndex;let a=0,o=0;for(;this.slopeCount<1;)s[r+2*o]=(1-this.slopeCount)*this.prevSampleL+this.slopeCount*t[i],s[r+2*o+1]=(1-this.slopeCount)*this.prevSampleR+this.slopeCount*t[i+1],o+=1,this.slopeCount+=this._rate;if(this.slopeCount-=1,1!==e)e:for(;;){for(;this.slopeCount>1;)if(this.slopeCount-=1,a+=1,a>=e-1)break e;const n=i+2*a;s[r+2*o]=(1-this.slopeCount)*t[n]+this.slopeCount*t[n+2],s[r+2*o+1]=(1-this.slopeCount)*t[n+1]+this.slopeCount*t[n+3],o+=1,this.slopeCount+=this._rate}return this.prevSampleL=t[i+2*e-2],this.prevSampleR=t[i+2*e-1],o}}const Ln=function(){};class Cn extends class{constructor(e){this._pipe=e}destroy(){}get pipe(){return this._pipe}get inputBuffer(){return this._pipe.inputBuffer}get outputBuffer(){return this._pipe.outputBuffer}fillInputBuffer(){throw new Error("fillInputBuffer() not overridden")}fillOutputBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;for(;this.outputBuffer.frameCount2&&void 0!==arguments[2]?arguments[2]:Ln;super(t),this.callback=i,this.sourceSound=e,this.historyBufferSize=22050,this._sourcePosition=0,this.outputBufferPosition=0,this._position=0}destroy(){this.clear(),this.sourceSound.destroy(),this.sourceSound=null,this._sourcePosition=0,this.outputBufferPosition=0,this._position=0}get position(){return this._position}set position(e){if(e>this._position)throw new RangeError("New position may not be greater than current position");const t=this.outputBufferPosition-(this._position-e);if(t<0)throw new RangeError("New position falls outside of history buffer");this.outputBufferPosition=t,this._position=e}get sourcePosition(){return this._sourcePosition}set sourcePosition(e){this.clear(),this._sourcePosition=e}onEnd(){this.callback()}fillInputBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=new Float32Array(2*e),i=this.sourceSound.extract(t,e,this._sourcePosition);this._sourcePosition+=i,this.inputBuffer.putSamples(t,0,i)}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillOutputBuffer(this.outputBufferPosition+t);const i=Math.min(t,this.outputBuffer.frameCount-this.outputBufferPosition);this.outputBuffer.extract(e,this.outputBufferPosition,i);const s=this.outputBufferPosition+i;return this.outputBufferPosition=Math.min(this.historyBufferSize,s),this.outputBuffer.receive(Math.max(s-this.historyBufferSize,0)),this._position+=i,i}handleSampleData(e){this.extract(e.data,4096)}clear(){super.clear(),this.outputBufferPosition=0}}const xn=[[124,186,248,310,372,434,496,558,620,682,744,806,868,930,992,1054,1116,1178,1240,1302,1364,1426,1488,0],[-100,-75,-50,-25,25,50,75,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-20,-15,-10,-5,5,10,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-4,-3,-2,-1,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Dn=-10/1.5;class Rn extends Tn{constructor(e){super(e),this._quickSeek=!0,this.midBufferDirty=!1,this.midBuffer=null,this.refMidBuffer=null,this.overlapLength=0,this.autoSeqSetting=!0,this.autoSeekSetting=!0,this._tempo=1,this.setParameters(44100,0,0,8)}destroy(){this.clear(),super.destroy()}clear(){super.clear(),this.clearMidBuffer(),this.refMidBuffer=null}clearMidBuffer(){this.midBufferDirty&&(this.midBufferDirty=!1),this.midBuffer=null}setParameters(e,t,i,s){e>0&&(this.sampleRate=e),s>0&&(this.overlapMs=s),t>0?(this.sequenceMs=t,this.autoSeqSetting=!1):this.autoSeqSetting=!0,i>0?(this.seekWindowMs=i,this.autoSeekSetting=!1):this.autoSeekSetting=!0,this.calculateSequenceParameters(),this.calculateOverlapLength(this.overlapMs),this.tempo=this._tempo}set tempo(e){let t;this._tempo=e,this.calculateSequenceParameters(),this.nominalSkip=this._tempo*(this.seekWindowLength-this.overlapLength),this.skipFract=0,t=Math.floor(this.nominalSkip+.5),this.sampleReq=Math.max(t+this.overlapLength,this.seekWindowLength)+this.seekLength}get tempo(){return this._tempo}get inputChunkSize(){return this.sampleReq}get outputChunkSize(){return this.overlapLength+Math.max(0,this.seekWindowLength-2*this.overlapLength)}calculateOverlapLength(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;e=this.sampleRate*t/1e3,e=e<16?16:e,e-=e%8,this.overlapLength=e,this.refMidBuffer=new Float32Array(2*this.overlapLength),this.midBuffer=new Float32Array(2*this.overlapLength)}checkLimits(e,t,i){return ei?i:e}calculateSequenceParameters(){let e,t;this.autoSeqSetting&&(e=150+-50*this._tempo,e=this.checkLimits(e,50,125),this.sequenceMs=Math.floor(e+.5)),this.autoSeekSetting&&(t=28.333333333333332+Dn*this._tempo,t=this.checkLimits(t,15,25),this.seekWindowMs=Math.floor(t+.5)),this.seekWindowLength=Math.floor(this.sampleRate*this.sequenceMs/1e3),this.seekLength=Math.floor(this.sampleRate*this.seekWindowMs/1e3)}set quickSeek(e){this._quickSeek=e}clone(){const e=new Rn;return e.tempo=this._tempo,e.setParameters(this.sampleRate,this.sequenceMs,this.seekWindowMs,this.overlapMs),e}seekBestOverlapPosition(){return this._quickSeek?this.seekBestOverlapPositionStereoQuick():this.seekBestOverlapPositionStereo()}seekBestOverlapPositionStereo(){let e,t,i,s=0;for(this.preCalculateCorrelationReferenceStereo(),e=0,t=Number.MIN_VALUE;st&&(t=i,e=s);return e}seekBestOverlapPositionStereoQuick(){let e,t,i,s,r,a=0;for(this.preCalculateCorrelationReferenceStereo(),t=Number.MIN_VALUE,e=0,s=0,r=0;a<4;a+=1){let o=0;for(;xn[a][o]&&(r=s+xn[a][o],!(r>=this.seekLength));)i=this.calculateCrossCorrelationStereo(2*r,this.refMidBuffer),i>t&&(t=i,e=r),o+=1;s=e}return e}preCalculateCorrelationReferenceStereo(){let e,t,i=0;for(;i=this.sampleReq;){e=this.seekBestOverlapPosition(),this._outputBuffer.ensureAdditionalCapacity(this.overlapLength),this.overlap(Math.floor(e)),this._outputBuffer.put(this.overlapLength),t=this.seekWindowLength-2*this.overlapLength,t>0&&this._outputBuffer.putBuffer(this._inputBuffer,e+this.overlapLength,t);const s=this._inputBuffer.startIndex+2*(e+this.seekWindowLength-this.overlapLength);this.midBuffer.set(this._inputBuffer.vector.subarray(s,s+2*this.overlapLength)),this.skipFract+=this.nominalSkip,i=Math.floor(this.skipFract),this.skipFract-=i,this._inputBuffer.receive(i)}}}const Pn=function(e,t){return(e>t?e-t:t-e)>1e-10};class In{constructor(){this.transposer=new kn(!1),this.stretch=new Rn(!1),this._inputBuffer=new En,this._intermediateBuffer=new En,this._outputBuffer=new En,this._rate=0,this._tempo=0,this.virtualPitch=1,this.virtualRate=1,this.virtualTempo=1,this.calculateEffectiveRateAndTempo()}destroy(){this.clear(),this._inputBuffer.destroy(),this._intermediateBuffer.destroy(),this._outputBuffer.destroy(),this._inputBuffer=null,this._intermediateBuffer=null,this._outputBuffer=null}clear(){this.transposer.clear(),this.stretch.clear()}clone(){const e=new In;return e.rate=this.rate,e.tempo=this.tempo,e}get rate(){return this._rate}set rate(e){this.virtualRate=e,this.calculateEffectiveRateAndTempo()}set rateChange(e){this._rate=1+.01*e}get tempo(){return this._tempo}set tempo(e){this.virtualTempo=e,this.calculateEffectiveRateAndTempo()}set tempoChange(e){this.tempo=1+.01*e}set pitch(e){this.virtualPitch=e,this.calculateEffectiveRateAndTempo()}set pitchOctaves(e){this.pitch=Math.exp(.69314718056*e),this.calculateEffectiveRateAndTempo()}set pitchSemitones(e){this.pitchOctaves=e/12}get inputBuffer(){return this._inputBuffer}get outputBuffer(){return this._outputBuffer}calculateEffectiveRateAndTempo(){const e=this._tempo,t=this._rate;this._tempo=this.virtualTempo/this.virtualPitch,this._rate=this.virtualRate*this.virtualPitch,Pn(this._tempo,e)&&(this.stretch.tempo=this._tempo),Pn(this._rate,t)&&(this.transposer.rate=this._rate),this._rate>1?this._outputBuffer!=this.transposer.outputBuffer&&(this.stretch.inputBuffer=this._inputBuffer,this.stretch.outputBuffer=this._intermediateBuffer,this.transposer.inputBuffer=this._intermediateBuffer,this.transposer.outputBuffer=this._outputBuffer):this._outputBuffer!=this.stretch.outputBuffer&&(this.transposer.inputBuffer=this._inputBuffer,this.transposer.outputBuffer=this._intermediateBuffer,this.stretch.inputBuffer=this._intermediateBuffer,this.stretch.outputBuffer=this._outputBuffer)}process(){this._rate>1?(this.stretch.process(),this.transposer.process()):(this.transposer.process(),this.stretch.process())}}class Bn{constructor(e,t,i){this.player=e,this.audio=t,this.soundTouch=new In,this.soundTouch.tempo=1,this.soundTouch.rate=1,this.filter=new Cn(i,this.soundTouch)}destroy(){this.filter&&(this.filter.destroy(),this.filter=null),this.soundTouch&&(this.soundTouch.destroy(),this.soundTouch=null)}setRate(e){e!==this.soundTouch.rate&&(this.soundTouch.tempo=e)}provide(e){let t=new Float32Array(2*e),i=this.filter.extract(t,e),s=new Float32Array(i),r=new Float32Array(i);for(let e=0;e{e()})),this.eventListenList=[]),this.$audio&&(this.$audio.pause(),this.$audio.srcObject=null,this.$audio.parentNode&&this.$audio.parentNode.removeChild(this.$audio),this.$audio=null),this.processor&&(this.processor.destroy(),this.processor=null),this.rateProcessor&&(this.rateProcessor.destroy(),this.rateProcessor=null),this.scriptNodeInterval&&(clearInterval(this.scriptNodeInterval),this.scriptNodeInterval=null),this.defaultPlaybackRate=1,this.playbackRate=1,this.scriptStartTime=0,this.audioBufferSize=0,this.engineType=Bs,this.player.debugLog("AudioContext","destroy"),!0}isAudioPlaying(){return this.$audio&&Io(this.$audio.paused)&&Io(this.$audio.ended)&&0!==this.$audio.playbackRate&&0!==this.$audio.readyState}_bindAudioProxy(){const{proxy:e}=this.player.events,t=e(this.$audio,"canplay",(()=>{this.player.debugLog("AudioContext","canplay"),this._delayPlay&&this._audioElementPlay()}));this.eventListenList.push(t)}_getAudioElementReadyState(){let e=0;return this.$audio&&(e=this.$audio.readyState),e}audioElementPlay(){if(this.$audio){const e=this._getAudioElementReadyState();if(this.player.debugLog("AudioContext",`play and readyState: ${e}`),!(0!==e||co()&&Ia()))return this.player.debugWarn("AudioContext","readyState is 0 and set _delayPlay to true"),void(this._delayPlay=!0);this._audioElementPlay()}}_audioElementPlay(){this.$audio&&this.$audio.play().then((()=>{this._delayPlay=!1,this.player.debugLog("AudioContext","_audioElementPlay success and volume is ",this.$audio.volume),setTimeout((()=>{this.isAudioPlaying()||(this.player.debugWarn("AudioContext","play failed and retry play"),this._audioElementPlay())}),100),this.isAudioPlaying()&&(this.player.debugLog("AudioContext","play success and remove document click event listener"),document.removeEventListener("click",this._audioElementPlay.bind(this)))})).catch((e=>{this.player.debugError("AudioContext","_audioElementPlay error",e),this.player.debugLog("AudioContext","play failed and add document click event listener"),document.addEventListener("click",this._audioElementPlay.bind(this))}))}getAudioBufferSize(){return this.audioBufferSize}get oneBufferDuration(){return this.audioBufferSize/this.audioContext.sampleRate*1e3}get isActiveEngineType(){return this.engineType===Ms}getBufferListDuration(){return this.bufferList.length*this.oneBufferDuration}isMoreThanMinBufferDuration(){return this.getBufferListDuration()>=100*this.playbackRate}initProcessor(){this.processor=new wn(this.player,this,this.audioInfo.channels,this.audioBufferSize),this.rateProcessor=new Bn(this.player,this,this.processor)}getAutoAudioEngineType(){let e=this.player._opt.audioEngine||Bs;const t=()=>{e=co()&&Da()?Ms:(Ia()&&this.player._opt.supportLockScreenPlayAudio||So()&&this.supportAudioWorklet(),Bs)};return this.player._opt.audioEngine?this.player._opt.audioEngine===Is&&So()&&this.supportAudioWorklet()?e=Bs:this.player._opt.audioEngine===Ms?e=Ms:this.player._opt.audioEngine===Bs?e=Bs:t():t(),e}getAudioBufferSizeByType(){const e=this.engineType;this.player._opt.hasVideo;const t=this.player._opt.weiXinInAndroidAudioBufferSize;return e===Is?1024:e===Ms?t||4800:1024}supportAudioWorklet(){return this.audioContext&&this.audioContext.audioWorklet&&"function"==typeof this.audioContext.audioWorklet.addModule}initScriptNode(){this.playing=!0,this.hasInitScriptNode||(this.initProcessor(),this.engineType===Is?this.initWorkletScriptNode():this.engineType===Ms?this.initIntervalScriptNode():this.engineType===Bs&&this.initProcessScriptNode(),this.audioElementPlay())}getEngineType(){return this.engineType}isPlaybackRateSpeed(){return this.playbackRate>this.defaultPlaybackRate}initProcessScriptNode(){const e=this.audioContext.createScriptProcessor(this.audioBufferSize,0,this.audioInfo.channels);e.onaudioprocess=e=>{const t=e.outputBuffer;this.handleScriptNodeCallback(t)},e.connect(this.gainNode),this.scriptNode=e,this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination),this.hasInitScriptNode=!0}initIntervalScriptNode(){this.scriptStartTime=0;const e=1e3*this.audioBufferSize/this.audioContext.sampleRate;this.scriptNodeInterval=setInterval((()=>{if(0===this.bufferList.length||Io(this.playing)||this.isMute)return void(this.playing&&Io(this.isMute)&&this.player.debugLog("AudioContext",`interval script node and bufferList is ${this.bufferList.length} or playing is ${this.playing}`));const e=this.audioContext.createBufferSource(),t=this.audioContext.createBuffer(this.audioInfo.channels,this.audioBufferSize,this.audioContext.sampleRate);this.handleScriptNodeCallback(t,(()=>{this.scriptStartTime{"init"===e.data.message?(this.audioBufferSize=e.data.audioBufferSize,this.start=e.data.start,this.channels=e.data.channels,this.state=0,this.offset=0,this.samplesArray=[]):"stop"===e.data.message?(this.state=0,this.start=!1,this.offset=0,this.samplesArray=[]):"data"===e.data.message?this.samplesArray.push(e.data.buffer):"zero"===e.data.message&&this.samplesArray.push({left:new Float32Array(this.audioBufferSize).fill(0),right:new Float32Array(this.audioBufferSize).fill(0)})}}process(e,t,i){const s=t[0][0],r=t[0][1];if(0===this.offset&&this.port.postMessage({message:"beep"}),0===this.state)this.state=1;else if(1===this.state&&this.samplesArray.length>=4)this.state=2;else if(2===this.state){const e=this.samplesArray[0];for(let t=0;t{if(this.player.isDestroyedOrClosed())return void this.player.debugLog("AudioContext","initWorkletScriptNode() player is destroyed");if(!this.audioContext)return void this.player.debugWarn("AudioContext","initWorkletScriptNode audioContext is null");let e=[1];2===this.audioInfo.channels&&(e=[1,1]);try{this.workletProcessorNode=new AudioWorkletNode(this.audioContext,"worklet-processor",{numberOfOutputs:this.audioInfo.channels,outputChannelCount:e})}catch(e){this.player.debugError("AudioContext","initWorkletScriptNode error",e),this.workletProcessorNode=null,this.tierDownToProcessScript()}this.workletProcessorNode&&(this.workletProcessorNode.connect(this.gainNode),this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination),this.hasInitScriptNode=!0,this.workletProcessorNode.port.postMessage({message:"init",audioBufferSize:this.audioBufferSize,start:!0,channels:this.audioInfo.channels}),this.workletProcessorNode.port.onmessage=e=>{this.workletProcessorNode?this.audioContext?this.handleScriptNodeCallback(this.workletProcessorNode,null,!0):this.workletProcessorNode.port.postMessage({message:"zero"}):this.player.debugError("AudioContext","workletProcessorNode is null")})})),this.clearWorkletUrlTimeout=setTimeout((()=>{URL.revokeObjectURL(this.workletUrl),this.workletUrl=null,this.clearWorkletUrlTimeout=null}),ne)}tierDownToProcessScript(){this.player.debugLog("AudioContext","tierDownToProcessScript"),this.engineType=Bs,this.audioBufferSize=this.getAudioBufferSizeByType(),this.initProcessScriptNode(),this.audioElementPlay()}handleScriptNodeCallback(e,t){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t=t||ya;let r=e.length;s&&(i=e,r=this.audioBufferSize);const a=this.audioInfo.channels;if(this.playing&&this.isMoreThanMinBufferDuration()){if(this.player._opt,this.player.isDestroyedOrClosed())return this.player.debugLog(this.TAG_NAME,"handleScriptNodeCallback() player is destroyed or closed"),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),void t();if(this.player.openSyncAudioAndVideo()&&Po(this.player.visibility)){this.calcPlaybackRateBySync();const r=this.player.getAudioSyncVideoDiff();if(r>this.player._opt.syncAudioAndVideoDiff){const o=this.player.getCurrentVideoAndAudio();return this.player.debugWarn("AudioContext",`audioSyncVideoOption more than diff :${r},\n and video is ${o.video} ,\n and audio is ${o.audio} , waiting and bufferList is ${this.bufferList.length}, fill zero`),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),void t()}}let o=this._provide(r);if(0===o.size)return Io(this.player.isPlaybackOnlyDecodeIFrame())&&this.player.debugWarn("AudioContext",`bufferList size is ${this.bufferList.length} outputBufferLength is ${r},and bufferItem.size is 0, fill zero`),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),void t();o&&o.ts&&(this.player.audioTimestamp=o.ts),s?i.port.postMessage({message:"data",buffer:o}):this.fillScriptNodeOutputBuffer(e,a,o),t()}else 0===this.bufferList.length&&this.playing&&Io(this.isMute)&&Io(this.player.isPlaybackOnlyDecodeIFrame())&&this.player.debugWarn("AudioContext",`bufferList size is 0 and outputBufferLength is ${r}, fill zero`),s?i.port.postMessage({message:"zero"}):this.fillScriptNodeOutputBuffer(e,a),t()}fillScriptNodeOutputBuffer(e,t,i){if(1===t){const t=e.getChannelData(0);i?0===i.size?t.fill(0):t.set(i.left):t.fill(0)}else if(2===t){const t=e.getChannelData(0),s=e.getChannelData(1);i?0===i.size?(t.fill(0),s.fill(0)):(t.set(i.left),s.set(i.right)):(t.fill(0),s.fill(0))}}play(e,t){this.isMute||(this.hasInitScriptNode?(this.hasAudio=!0,this.player.latestAudioTimestamp=t,this.bufferList.push({buffer:e,ts:t}),Io(this.player.openSyncAudioAndVideo())&&Po(this.player.isPlayStream())&&this.calcPlaybackRateByBuffer()):this.player.debugWarn("AudioContext","play has not init script node"))}calcPlaybackRateBySync(){if(this.isMute)return;if(!this.playing)return;const e=Math.floor(2e3/this.oneBufferDuration);if(this.bufferList.length>e)return this.player.debugWarn("AudioContext",`bufferList length ${this.bufferList.length} more than ${e}, and drop`),void this.clear();const t=this.player.getAudioSyncVideoDiff();if(this.getEngineType()===Ms){if(t<-this.player._opt.syncAudioAndVideoDiff){this.player.debugWarn("AudioContext",`engine active , audioSyncVideoOption ${-this.player._opt.syncAudioAndVideoDiff} less than diff :${t},\n and bufferlist is ${this.bufferList.length}`);const e=this.player.getRenderCurrentPts();for(;this.bufferList.length>0;){const t=this.bufferList[0],i=t.ts-e;if(i>-this.player._opt.syncAudioAndVideoDiff/2){this.player.audioTimestamp=t.ts,this.player.debugLog("AudioContext",`engine active , audioSyncVideoOption\n item.ts is ${t.ts} and currentVideoTimestamp is ${e}, diff is ${i} > -${this.player._opt.syncAudioAndVideoDiff/2} and end`);break}this.bufferList.shift(),this.player.audioTimestamp=t.ts}}}else{let e=this.playbackRate;t<-this.player._opt.syncAudioAndVideoDiff?e===this.defaultPlaybackRate&&(this.player.debugLog("AudioContext",`audioSyncVideoOption ${-this.player._opt.syncAudioAndVideoDiff} less than diff :${t},\n speed up, playbackRate is ${e},\n and bufferList is ${this.bufferList.length}`),e=this.defaultPlaybackRate+.2):t>-this.player._opt.syncAudioAndVideoDiff/2&&e!==this.defaultPlaybackRate&&(this.player.debugLog("AudioContext",`diff is ${t} > -${this.player._opt.syncAudioAndVideoDiff/2} and speed to 1`),e=this.defaultPlaybackRate),this.updatePlaybackRate(e)}}calcPlaybackRateByBuffer(){if(this.isMute)return;if(!this.playing)return;let e=this.playbackRate,t=1e3,i=5e3;this.isAudioPlayer&&(t=this.player._opt.videoBufferDelay,i=this.player._opt.videoBufferMax);const s=Math.floor(t/this.oneBufferDuration),r=Math.floor(i/this.oneBufferDuration);if(this.bufferList.length>r)return this.player.debugWarn("AudioContext",`bufferList length ${this.bufferList.length} more than ${r}, and drop`),void this.clear();this.getEngineType()!==Ms&&(this.bufferList.length>s?(e=this.defaultPlaybackRate+.2,this.player.debugLog("AudioContext",`bufferList length ${this.bufferList.length} more than ${s}, speed up, playbackRate is ${e}`)):this.bufferList.length0?this.player.emit(vt.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(vt.mute,!0),this.$video.volume=e,this.player.emit(vt.volumechange,this.player.volume),this.player.emit(vt.volume,this.player.volume),this._prevVolume=e))}clear(){}play(e,t){const i=this.player.video.awriter;if(i)if(e.close)try{i.write(e),_o(e)}catch(e){this.player.debugError("Video","play audio error",e)}else try{const s=function(e,t){const i={...t,format:"f32-planar",data:new Float32Array(0)};if(i.numberOfFrames=e[0].length,1===e.length)i.data=new Float32Array(e[0]);else if(2===e.length){const t=new Float32Array(e[0].length+e[1].length);t.set(e[0],0),t.set(e[1],e[0].length),i.data=t}return new AudioData(i)}(e,{sampleRate:Or,numberOfChannels:this.audioInfo.channels,timestamp:1e3*t});i.write(s),_o(s)}catch(e){this.player.debugError("Video","play audio error",e)}else this.player.debugWarn("Audio","play and this.awriter is null")}pause(){}resume(){}getEngineType(){return"audio"}isPlaybackRateSpeed(){return!1}setRate(e){}initScriptNode(){}initScriptNodeDelay(){}audioEnabled(){this.mute(!1)}getAudioBufferSize(){return 2048}}class Un extends Mn{constructor(e){super(e),this.delayTimeout=null,this.TAG_NAME=this.player.isPlayback()?"AudioPlaybackLoader":"AudioPlayVodLoader",this.player.isPlayback()?this.player.on(vt.playbackPause,this.listenPlaybackPause.bind(this)):this.player.isPlayVod()&&(this.player.on(vt.playVodPause,this.listenPlayVodPause.bind(this)),this.player.on(vt.playVodSeek,this.listenSeeking.bind(this))),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=null),await super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}listenPlaybackPause(e){e?(this.pause(),this.player.isPlayback()&&this.player.playback.isPlaybackPauseClearCache&&this.clear()):this.resume()}listenPlayVodPause(e){e?this.pause():this.resume()}listenSeeking(e){e*=1e3,this.player.debugLog(this.TAG_NAME,"listenSeeking and update audioTimestamp to",e),this.player.audioTimestamp=e,this.clear()}initScriptNodeDelay(){const e=this.player._opt.playbackDelayTime;e>0?this.delayTimeout=setTimeout((()=>{this.initScriptNode()}),e):this.initScriptNode()}setRate(e){e!==this.defaultPlaybackRate&&this.rateProcessor&&(this.player.debugLog(this.TAG_NAME,"setRate",e),this.defaultPlaybackRate=e,this.updatePlaybackRate(e))}play(e,t){this.player.isPlayVod()&&this.player.playVod.isSeeking()?this.player.debugLog(this.TAG_NAME,"play, isSeeking, return"):super.play(e,t)}}class On extends Mn{constructor(e){super(e),this.TAG_NAME="AudioPlayerLoader",this.isAudioPlayer=!0,this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return await super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}play(e,t){Io(this.playing)||super.play(e,t)}pause(){this.player.debugLog(this.TAG_NAME,"pause"),this.playing=!1,this.clear()}resume(){this.player.debugLog(this.TAG_NAME,"resume"),this.playing=!0}}class Nn extends a{constructor(e){super(),this.TAG_NAME="AudioWebrtcPlayerLoader",this.$video=new Audio,this.player=e,this.init=!1,this._prevVolume=null,this.eventsDestroy=[],this._handleDocumentClickPlay=this._handleClickPlay.bind(this),this._initAudioEvents(),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this.resetInit(),this.off(),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this._prevVolume=null,this.$video&&(this.$video.pause(),this.$video.srcObject=null,this.$video=null),this.player.debugLog(this.TAG_NAME,"destroy"),!0}_initAudioEvents(){const{proxy:e}=this.player.events,t=e(this.$video,"timeupdate",(e=>{const t=parseInt(e.timeStamp,10);this.player.handleRender(),this.player.updateStats({ts:t})}));this.eventsDestroy.push(t)}resetInit(){this.init=!1}_handleClickPlay(){this.$video&&(this.$video.play(),document.removeEventListener("click",this._handleDocumentClickPlay))}bindStream(e){this.$video.srcObject=e,this.$video.volume=1,this.$video.play().catch((e=>{this.player.debugWarn(this.TAG_NAME,"audio play error",e),document.addEventListener("click",this._handleDocumentClickPlay)}))}getEngineType(){return"audio"}get isPlaying(){return!0}get volume(){return Po(this.$video.muted)?0:this.$video.volume}get isMute(){return 0===this.$video.volume||Po(this.$video.muted)}mute(e){this.setVolume(e?0:this.player.lastVolume||.5)}setVolume(e){e=parseFloat(e),isNaN(e)||null===this.$video||(this.$video.muted&&(this.$video.muted=!1),e=Sa(e,0,1),Ia()&&(this.$video.muted=0===e),null!==this._prevVolume&&this._prevVolume===e||(null===this._prevVolume?this.player.emit(vt.mute,0===e):0===this._prevVolume&&e>0?this.player.emit(vt.mute,!1):this._prevVolume>0&&0===e&&this.player.emit(vt.mute,!0),this.$video.volume=e,this.player.emit(vt.volumechange,this.player.volume),this.player.emit(vt.volume,this.player.volume),this._prevVolume=e))}pause(){}resume(){}audioEnabled(){this.mute(!1)}}class jn{constructor(e){return new(jn.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){return e.playType===w||e.playType===E?e.useMSE&&e.mseDecodeAudio||e.useWCS&&e.wcsDecodeAudio?Fn:Un:e.playType===S?e.isWebrtc?Nn:On:e.isHls&&Io(e.supportHls265)||e.isWebrtc&&Io(e.isWebrtcH265)||e.useMSE&&e.mseDecodeAudio||e.isAliyunRtc||e.useWCS&&e.wcsDecodeAudio||e.useWasm&&e.wasmPlayAudioUseVideoRender?Fn:Mn}}class Gn extends a{constructor(e){super(),this.player=e,this.playing=!1,this._requestAbort=!1,this._status=cr,this.writableStream=null,this.abortController=new AbortController,this.streamRate=ka((t=>{e.emit(vt.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("FetchStream","init")}async destroy(){return this.abort(),await this._closeWritableStream(),this.off(),this._status=cr,this.streamRate=null,this.stopStreamRateInterval(),this.player.debugLog("FetchStream","destroy"),!0}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}async _closeWritableStream(){if(this.writableStream&&Io(this.writableStream.locked))try{await this.writableStream.close(),this.writableStream=null,this.player.debugLog("FetchStream","close writableStream success")}catch(e){this.player.debugLog("FetchStream","destroy and writableStream.close()",e)}}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:i}=this.player;this.player._times.streamStart=_a();const s=Object.assign({signal:this.abortController.signal},{headers:t.headers||{}});fetch(e,s).then((e=>{if(this._requestAbort)return this._status=cr,void e.body.cancel();if(!function(e){return e.ok&&e.status>=200&&e.status<=299}(e))return this.player.debugError("FetchStream",`fetch response status is ${e.status} and ok is ${e.ok} and emit error and next abort()`),this.abort(),void this.emit(wt.fetchError,`fetch response status is ${e.status} and ok is ${e.ok}`);if(this.emit(vt.streamSuccess),this.startStreamRateInterval(),"undefined"!=typeof WritableStream)this.player.debugLog("FetchStream","use WritableStream() to read stream"),this.writableStream=new WritableStream({write:e=>this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?(this.player.debugLog("FetchStream","writableStream.write() and this.abortController.signal.aborted so return"),void(this._status=pr)):Po(this._requestAbort)?(this.player.debugLog("FetchStream","writableStream.write() and this._requestAbort is true so return"),this._status=pr,void this.abort()):"string"!=typeof e?(this._status=ur,this.streamRate&&this.streamRate(e.byteLength),i.dispatch(e)):void this.player.debugWarn("FetchStream",`writableStream.write() and value is "${e}" string so return`),close:()=>{this._status=pr,i.close(),this.emit(vt.streamEnd,"fetch done")},abort:e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return this.player.debugLog("FetchStream","writableStream.abort() and this.abortController.signal.aborted so return"),void(this._status=pr);i.close();const t=e.toString();-1===t.indexOf(Es)&&-1===t.indexOf(Ts)&&e.name!==ks&&(this.abort(),this.emit(wt.fetchError,e))}}),e.body.pipeTo(this.writableStream).catch((e=>{"AbortError"!==e.name&&this.player.debugLog("FetchStream","res.body.pipeTo() error",e.name,e.toString())}));else{this.player.debugLog("FetchStream","not support WritableStream and use getReader() to read stream");const t=e.body.getReader(),s=()=>{t.read().then((e=>{let{done:t,value:r}=e;return t?(this._status=pr,i.close(),void this.emit(vt.streamEnd,"fetch done")):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?(this.player.debugLog("FetchStream","reader.read() and this.abortController.signal.aborted so return"),void(this._status=pr)):Po(this._requestAbort)?(this.player.debugLog("FetchStream","reader.read() and this._requestAbort is true so return"),this._status=pr,void this.abort()):void("string"!=typeof r?(this._status=ur,this.streamRate&&this.streamRate(r.byteLength),i.dispatch(r),s()):this.player.debugWarn("FetchStream",`reader.read() and value is "${r}" string so return`))})).catch((e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return this.player.debugLog("FetchStream","reader.read().catch() and this.abortController.signal.aborted so return"),void(this._status=pr);i.close();const t=e.toString();-1===t.indexOf(Es)&&-1===t.indexOf(Ts)&&e.name!==ks&&(this.abort(),this.emit(wt.fetchError,e))}))};s()}})).catch((e=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==e.name&&(i.close(),this.abort(),this.emit(wt.fetchError,e))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null,this.player.debugLog("FetchStream","abortController.abort() success")}catch(e){this.abortController=null,this.player.debugLog("FetchStream","abortController.abort() error",e)}}getStreamType(){return p}}class Wn extends a{constructor(e){super(),this.TAG_NAME="FetchWorkerLoader",this.player=e,this.playing=!1,this.fetchWorker=null,this.workerClearTimeout=null,this.workerUrl=null,this.destroyResolve=null,this.decoderWorkerCloseTimeout=null,this.streamRate=ka((t=>{e.emit(vt.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,this._initFetchWorker(),e.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{this.fetchWorker?(this.player.debugLog(this.TAG_NAME,"send destroy"),this.fetchWorker.postMessage({cmd:ot}),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this._destroy(),setTimeout((()=>{e()}),0)}),2e3)):(this._destroy(),setTimeout((()=>{e()}),0))}))}_destroy(){this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this._stopStreamRateInterval(),this.streamRate=null,this.fetchWorker&&(this.fetchWorker.terminate(),this.fetchWorker.onmessage=null,this.fetchWorker=null),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.player.debugLog(this.TAG_NAME,"destroy")}_initFetchWorker(){const e=Go(function(){function e(e){return!0===e||"true"===e}const t="The user aborted a request",i="AbortError",s="AbortError",r="fetch",a="destroy",o="destroyEnd",n="buffer",l="fetchError",d="fetchClose",h="fetchSuccess",c="idle",u="buffering",p="complete";let m=new class{constructor(){this._requestAbort=!1,this._status=c,this.writableStream=null,this.isChrome=!1,this.abortController=new AbortController}destroy(){var e;this.abort(),this.writableStream&&(!1===(e=this.writableStream.locked)||"false"===e)&&this.writableStream.close().catch((e=>{})),this.writableStream=null,this._status=c}fetchStream(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=Object.assign({signal:this.abortController.signal},{headers:a.headers||{}});fetch(r,o).then((r=>{if(this._requestAbort)return this._status=c,void r.body.cancel();if(!function(e){return e.ok&&e.status>=200&&e.status<=299}(r))return this.abort(),void postMessage({cmd:l,message:`fetch response status is ${r.status} and ok is ${r.ok}`});if(postMessage({cmd:h}),"undefined"!=typeof WritableStream)this.writableStream=new WritableStream({write:t=>{if(!(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted))return e(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof t&&(this._status=u,postMessage({cmd:n,buffer:t},[t.buffer])));this._status=p},close:()=>{this._status=p,postMessage({cmd:d})},abort:e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=e.toString();-1===r.indexOf(t)&&-1===r.indexOf(i)&&e.name!==s&&(this.abort(),postMessage({cmd:l,message:e.toString()}))}}),r.body.pipeTo(this.writableStream).catch((e=>{}));else{const a=r.body.getReader(),o=()=>{a.read().then((t=>{let{done:i,value:s}=t;return i?(this._status=p,void postMessage({cmd:d})):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?void(this._status=p):e(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof s&&(this._status=u,postMessage({cmd:n,buffer:s},[s.buffer]),o()))})).catch((e=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=e.toString();-1===r.indexOf(t)&&-1===r.indexOf(i)&&e.name!==s&&(this.abort(),postMessage({cmd:l,message:e.toString()}))}))};o()}})).catch((e=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==e.name&&(this.abort(),postMessage({cmd:l,message:e.toString()}))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null}catch(e){this.abortController=null}}};self.onmessage=t=>{const i=t.data;switch(i.cmd){case r:m.isChrome=e(i.isChrome),m.fetchStream(i.url,JSON.parse(i.options));break;case a:m.destroy(),m=null,postMessage({cmd:o})}}}.toString()),t=new Blob([e],{type:"text/javascript"});let i=URL.createObjectURL(t);const s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ne),s.onmessage=e=>{const{demux:t}=this.player,i=e.data;switch(i.cmd){case lt:this.streamRate&&this.streamRate(i.buffer.byteLength),t.dispatch(i.buffer);break;case ct:this.emit(vt.streamSuccess),this._startStreamRateInterval();break;case ht:t.close(),this.emit(vt.streamEnd,"fetch done");break;case dt:t.close(),this.emit(wt.fetchError,i.message);break;case nt:this._destroy()}},this.fetchWorker=s}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player._times.streamStart=_a(),this.fetchWorker.postMessage({cmd:at,url:e,isChrome:uo(),options:JSON.stringify(t)})}getStreamType(){return p}}class Vn extends a{constructor(e){super(),this.player=e,this.socket=null,this.socketStatus=Et,this.wsUrl=null,this.requestAbort=!1,this.socketDestroyFnList=[],this.streamRate=ka((t=>{e.emit(vt.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("WebsocketStream","init")}async destroy(){this._closeWebSocket(),this.stopStreamRateInterval(),this.wsUrl=null,this.off(),this.player.debugLog("WebsocketStream","destroy")}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_createWebSocket(e){const t=this.player,{events:{proxy:i},demux:s}=t,r=e.protocols||[];this.socket=new WebSocket(this.wsUrl,r),this.socket.binaryType="arraybuffer";const a=i(this.socket,"open",(()=>{this.player.debugLog("WebsocketStream","socket open"),this.socketStatus=Tt,this.emit(vt.streamSuccess),this.player.emit(vt.websocketOpen),this.startStreamRateInterval()})),o=i(this.socket,"message",(e=>{"string"!=typeof e.data?(this.streamRate&&this.streamRate(e.data.byteLength),this._handleMessage(e.data)):this.player.debugWarn("WebsocketStream",`websocket handle message message is "${e.data}" string so return`)})),n=i(this.socket,"close",(e=>{if(!this.player.isDestroyedOrClosed())return Po(this.requestAbort)?(this.requestAbort=!1,void this.player.debugLog("WebsocketStream","socket close and requestAbort is true")):void(this.socketStatus!==Lt?(this.player.debugLog("WebsocketStream",`socket close and code is ${e.code}`),1006===e.code&&this.player.debugError("WebsocketStream",`socket close abnormally and code is ${e.code}`),s.close(),this.socketStatus=kt,this.player.emit(vt.websocketClose,e.code),this.emit(vt.streamEnd,e.code)):this.player.debugLog("WebsocketStream","socket close and status is error, so return"))})),l=i(this.socket,"error",(e=>{if(this.player.isDestroyedOrClosed())return;if(Po(this.requestAbort))return this.requestAbort=!1,void this.player.debugLog("WebsocketStream","socket close and requestAbort is true");this.player.debugError("WebsocketStream","socket error",e),this.socketStatus=Lt;const t=e.isTrusted?"websocket user aborted":"websocket error";this.emit(wt.websocketError,t),s.close(),this.player.debugLog("WebsocketStream","socket error:",t)}));this.socketDestroyFnList.push(a,o,n,l)}_closeWebSocket(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState?this.socket&&this.player.debugLog("WebsocketStream",`_closeWebSocket() socket is null or socket status is ${this.socket&&this.socket.readyState}`):(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socketDestroyFnList.forEach((e=>e())),this.socket.onopen=null,this.socket.onmessage=null,this.socket.onclose=null,this.socket.onerror=null,this.socket=null,this.socketStatus=Et,this.streamRate=null}_handleMessage(e){const{demux:t}=this.player;t?t.dispatch(e):this.player.debugWarn("WebsocketStream","websocket handle message demux is null so return")}fetchStream(e,t){this.player._times.streamStart=_a(),this.wsUrl=e,this._createWebSocket(t)}sendMessage(e){this.socket?this.socketStatus===Tt?this.socket.send(e):this.player.debugError("WebsocketStream",`websocket send message error and socket status is ${this.socketStatus}`):this.player.debugError("WebsocketStream","websocket send message socket is null")}getStreamType(){return g}}class zn extends a{constructor(e){super(),this.player=e,this.TAG_NAME="WebsocketWorkerLoader",this.wsUrl=null,this.socketStatus=Et,this.websocketWorker=null,this.workerClearTimeout=null,this.workerUrl=null,this.destroyResolve=null,this.decoderWorkerCloseTimeout=null,this.streamRate=ka((t=>{e.emit(vt.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,this._initWebsocketWorker(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{this.websocketWorker?(this.player.debugLog(this.TAG_NAME,"send destroy"),this._closeWebSocket(),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn(this.TAG_NAME,"send close but not response and destroy directly"),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this._destroy(),e()}),2e3)):(this._destroy(),e())}))}_destroy(){this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this._stopStreamRateInterval(),this.streamRate=null,this.websocketWorker&&(this.websocketWorker.terminate(),this.websocketWorker.onmessage=null,this.websocketWorker=null),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.wsUrl=null,this.player.debugLog(this.TAG_NAME,"destroy")}_initWebsocketWorker(){const e=Go(function(){function e(e){return!0===e||"true"===e}const t={fetch:"fetch",sendMessage:"sendMessage",destroy:"destroy",destroyEnd:"destroyEnd",buffer:"buffer",websocketError:"websocketError",websocketClose:"websocketClose",websocketOpen:"websocketOpen"};let i=new class{constructor(){this.socket=null,this.wsUrl=null,this.requestAbort=!1}destroy(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState||(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socket.onopen=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.onmessage=null,this.socket=null}fetchStream(e,t){this.wsUrl=e,this._createWebSocket(t)}sendMessage(e){this.socket&&1===this.socket.readyState&&this.socket.send(e)}_createWebSocket(e){const t=e.protocols||[];this.socket=new WebSocket(this.wsUrl,t),this.socket.binaryType="arraybuffer",this.socket.onopen=this._handleWebsocketOpen.bind(this),this.socket.onclose=this._handleWebsocketClose.bind(this),this.socket.onerror=this._handleWebsocketError.bind(this),this.socket.onmessage=this._handleWebsocketMessage.bind(this)}_handleWebsocketOpen(){postMessage({cmd:t.websocketOpen})}_handleWebsocketClose(i){e(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:t.websocketClose,code:i.code})}_handleWebsocketError(i){e(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:t.websocketError,isTrusted:i.isTrusted})}_handleWebsocketMessage(e){if("string"==typeof e.data)return;const i=new Uint8Array(e.data);postMessage({cmd:t.buffer,buffer:i},[i.buffer])}};self.onmessage=e=>{const s=e.data;switch(s.cmd){case t.fetch:i.fetchStream(s.url,s.options);break;case t.destroy:i.destroy(),i=null,postMessage({cmd:t.destroyEnd});break;case t.send:i.sendMessage(s.message)}}}.toString()),t=new Blob([e],{type:"text/javascript"});let i=URL.createObjectURL(t);const s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ne),s.onmessage=e=>{const{demux:t}=this.player,i=e.data;switch(i.cmd){case ft:this.streamRate&&this.streamRate(i.buffer.byteLength),t.dispatch(i.buffer);break;case bt:this.player.debugLog(this.TAG_NAME,"socket open"),this.socketStatus=Tt,this.emit(vt.streamSuccess),this.player.emit(vt.websocketOpen),this._startStreamRateInterval();break;case At:if(this.player.isDestroyedOrClosed())return;if(this.socketStatus===Lt)return void this.player.debugLog(this.TAG_NAME,"socket close and status is error, so return");this.player.debugLog(this.TAG_NAME,`socket close and code is ${i.code}`),1006===i.code&&this.player.debugError(this.TAG_NAME,`socket close abnormally and code is ${i.code}`),t.close(),this.socketStatus=kt,this.player.emit(vt.websocketClose,i.code),this.emit(vt.streamEnd,i.code);break;case yt:if(this.player.isDestroyedOrClosed())return;this.player.debugError(this.TAG_NAME,"socket error"),this.socketStatus=Lt;const e=i.isTrusted?"websocket user aborted":"websocket error";this.emit(wt.websocketError,e),t.close(),this.player.debugLog(this.TAG_NAME,"socket error:",e);break;case gt:this._destroy()}},this.websocketWorker=s}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_closeWebSocket(){this.websocketWorker&&this.websocketWorker.postMessage({cmd:mt})}fetchStream(e,t){this.player._times.streamStart=_a(),this.wsUrl=e,this.websocketWorker&&this.websocketWorker.postMessage({cmd:ut,url:e,options:t})}sendMessage(e){this.websocketWorker&&this.websocketWorker.postMessage({cmd:pt,message:e})}getStreamType(){return g}}class $n extends a{constructor(e){super(),this.player=e,e.debugLog("HlsStream","init")}async destroy(){return this.off(),this.player.debugLog("HlsStream","destroy"),!0}fetchStream(e){const{hlsDecoder:t,debug:i}=this.player;this.player._times.streamStart=_a(),t.loadSource(e).then((()=>{this.player.debugLog("HlsStream","loadSource success"),this.emit(vt.streamSuccess)})).catch((e=>{this.emit(wt.hlsError,e)}))}getStreamType(){return m}}class Hn extends a{constructor(e){super(),this.player=e,this.webrctUrl=null,e.debugLog("WebrtcStream","init")}async destroy(){return this.webrctUrl=null,this.off(),this.player.debugLog("WebrtcStream","destroy"),!0}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{webrtc:i,debug:s}=this.player;if(this.player._times.streamStart=_a(),this.webrctUrl=e.replace("webrtc:",window.location.protocol),this.player.isWebrtcForM7S()&&-1===this.webrctUrl.indexOf("/webrtc/play")){const t=new URL(this.webrctUrl),i="/webrtc/play"+t.pathname;this.webrctUrl=t.origin+i+t.search,this.player.debugLog("WebrtcStream",`original url is ${e}, and new url is: ${this.webrctUrl}`)}i.loadSource(this.webrctUrl,t).then((()=>{this.player.debugLog("WebrtcStream","loadSource success"),this.emit(vt.streamSuccess)})).catch((e=>{this.player.debugError("WebrtcStream","loadSource error",e),this.emit(wt.webrtcError,e)}))}getStreamType(){return f}}class Jn extends a{constructor(e){super(),this.player=e,this.transport=null,this.wtUrl=null,this.streamRate=ka((t=>{e.emit(vt.kBps,(t/1024).toFixed(2))})),this.streamRateInterval=null,e.debugLog("WebTransportLoader","init")}async destroy(){return this.abort(),this.off(),this.player.debugLog("WebTransportLoader","destroy"),!0}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_createWebTransport(){const e=this.player,{debug:t,events:{proxy:i},demux:s}=e;try{this.transport=new WebTransport(this.wtUrl),this.transport.ready.then((()=>{this.emit(vt.streamSuccess),this.startStreamRateInterval(),this.transport.createBidirectionalStream().then((e=>{e.readable.pipeTo(new WritableStream(s.input))}))})).catch((e=>{this.player.debugWarn("WebTransportLoader","_createWebTransport-ready",e)}))}catch(e){this.player.debugWarn("WebTransportLoader","_createWebTransport",e)}}fetchStream(e){this.player._times.streamStart=_a(),this.wtUrl=e.replace(/^wt:/,"https:"),this._createWebTransport()}abort(){if(this.transport)try{this.transport.close(),this.transport=null}catch(e){this.transport=null}}getStreamType(){return y}}class qn extends a{constructor(e){super(),this.player=e,this.workUrl=null,e.debugLog("WorkerStream","init")}async destroy(){return this.workUrl=null,this.off(),this.player.debugLog("WorkerStream","destroy"),!0}sendMessage(e){this.player.decoderWorker.workerSendMessage(e)}fetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.workUrl=e,this.player._times.streamStart=_a(),this.player.decoderWorker.workerFetchStream(e,t)}getStreamType(){const e=this.player._opt.protocol;return A+" "+(e===n?p:g)}}class Kn extends a{constructor(e){super(),this.TAG_NAME="AliyunRtcLoader",this.player=e,e.debugLog(this.TAG_NAME,"init")}async destroy(){return this.off(),this.player.debugLog(this.TAG_NAME,"destroy"),!0}fetchStream(e){const{aliyunRtcDecoder:t}=this.player;this.player._times.streamStart=_a(),t.loadSource(e).then((()=>{this.player.debugLog(this.TAG_NAME,"loadSource success"),this.emit(vt.streamSuccess)})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource error",e),this.emit(wt.aliyunRtcError,e)}))}getStreamType(){return b}}class Yn extends a{constructor(e){super(),this.TAG_NAME="Mp4StreamLoader",this.player=e,e.debug.log(this.TAG_NAME,"init")}destroy(){this.off(),this.player.debug.log(this.TAG_NAME,"destroy")}fetchStream(e){const{mp4Decoder:t}=this.player;this.player._times.streamStart=_a(),t.loadSource(e).then((()=>{this.player.debugLog(this.TAG_NAME,"loadSource success"),this.emit(vt.streamSuccess)})).catch((e=>{this.emit(wt.playVodMp4Error,e)}))}getStreamType(){return v}}class Qn{constructor(e){return new(Qn.getLoaderFactory(e._opt))(e)}static getLoaderFactory(e){const{protocol:t,useWasm:i,playType:s,useWCS:r,useMSE:a,demuxUseWorker:u,mainThreadFetchUseWorker:p,isFmp4:m}=e;return s===E&&m?Yn:t===l?$n:t===d?Hn:t===h?Jn:t===c?Kn:t===n?s===S?qn:s===_?i&&!Ao(e)||u?qn:p?Wn:Gn:r||a?u?qn:p?Wn:Gn:qn:t===o?s===S?qn:s===_?i&&!Ao(e)||u?qn:p?zn:Vn:r||a?u?qn:p?zn:Vn:qn:void 0}}var Xn=Jr((function(e){function t(e,r){if(!e)throw"First parameter is required.";r=new i(e,r=r||{type:"video"});var a=this;function o(t){t&&(r.initCallback=function(){t(),t=r.initCallback=null});var i=new s(e,r);(p=new i(e,r)).record(),u("recording"),r.disableLogs||console.log("Initialized recorderType:",p.constructor.name,"for output-type:",r.type)}function n(e){if(e=e||function(){},p){if("paused"===a.state)return a.resumeRecording(),void setTimeout((function(){n(e)}),1);"recording"===a.state||r.disableLogs||console.warn('Recording state should be: "recording", however current state is: ',a.state),r.disableLogs||console.log("Stopped recording "+r.type+" stream."),"gif"!==r.type?p.stop(t):(p.stop(),t()),u("stopped")}else g();function t(t){if(p){Object.keys(p).forEach((function(e){"function"!=typeof p[e]&&(a[e]=p[e])}));var i=p.blob;if(!i){if(!t)throw"Recording failed.";p.blob=i=t}if(i&&!r.disableLogs&&console.log(i.type,"->",y(i.size)),e){var s;try{s=h.createObjectURL(i)}catch(e){}"function"==typeof e.call?e.call(a,s):e(s)}r.autoWriteToDisk&&d((function(e){var t={};t[r.type+"Blob"]=e,x.Store(t)}))}else"function"==typeof e.call?e.call(a,""):e("")}}function l(e){postMessage((new FileReaderSync).readAsDataURL(e))}function d(e,t){if(!e)throw"Pass a callback function over getDataURL.";var i=t?t.blob:(p||{}).blob;if(!i)return r.disableLogs||console.warn("Blob encoder did not finish its job yet."),void setTimeout((function(){d(e,t)}),1e3);if("undefined"==typeof Worker||navigator.mozGetUserMedia){var s=new FileReader;s.readAsDataURL(i),s.onload=function(t){e(t.target.result)}}else{var a=function(e){try{var t=h.createObjectURL(new Blob([e.toString(),"this.onmessage = function (eee) {"+e.name+"(eee.data);}"],{type:"application/javascript"})),i=new Worker(t);return h.revokeObjectURL(t),i}catch(e){}}(l);a.onmessage=function(t){e(t.data)},a.postMessage(i)}}function c(e){e=e||0,"paused"!==a.state?"stopped"!==a.state&&(e>=a.recordingDuration?n(a.onRecordingStopped):(e+=1e3,setTimeout((function(){c(e)}),1e3))):setTimeout((function(){c(e)}),1e3)}function u(e){a&&(a.state=e,"function"==typeof a.onStateChanged.call?a.onStateChanged.call(a,e):a.onStateChanged(e))}var p,m='It seems that recorder is destroyed or "startRecording" is not invoked for '+r.type+" recorder.";function g(){!0!==r.disableLogs&&console.warn(m)}var f={startRecording:function(t){return r.disableLogs||console.log("RecordRTC version: ",a.version),t&&(r=new i(e,t)),r.disableLogs||console.log("started recording "+r.type+" stream."),p?(p.clearRecordedData(),p.record(),u("recording"),a.recordingDuration&&c(),a):(o((function(){a.recordingDuration&&c()})),a)},stopRecording:n,pauseRecording:function(){p?"recording"===a.state?(u("paused"),p.pause(),r.disableLogs||console.log("Paused recording.")):r.disableLogs||console.warn("Unable to pause the recording. Recording state: ",a.state):g()},resumeRecording:function(){p?"paused"===a.state?(u("recording"),p.resume(),r.disableLogs||console.log("Resumed recording.")):r.disableLogs||console.warn("Unable to resume the recording. Recording state: ",a.state):g()},initRecorder:o,setRecordingDuration:function(e,t){if(void 0===e)throw"recordingDuration is required.";if("number"!=typeof e)throw"recordingDuration must be a number.";return a.recordingDuration=e,a.onRecordingStopped=t||function(){},{onRecordingStopped:function(e){a.onRecordingStopped=e}}},clearRecordedData:function(){p?(p.clearRecordedData(),r.disableLogs||console.log("Cleared old recorded data.")):g()},getBlob:function(){if(p)return p.blob;g()},getDataURL:d,toURL:function(){if(p)return h.createObjectURL(p.blob);g()},getInternalRecorder:function(){return p},save:function(e){p?A(p.blob,e):g()},getFromDisk:function(e){p?t.getFromDisk(r.type,e):g()},setAdvertisementArray:function(e){r.advertisement=[];for(var t=e.length,i=0;i-1&&"netscape"in window&&/ rv:/.test(navigator.userAgent),m=!u&&!c&&!!navigator.webkitGetUserMedia||b()||-1!==navigator.userAgent.toLowerCase().indexOf("chrome/"),g=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);g&&!m&&-1!==navigator.userAgent.indexOf("CriOS")&&(g=!1,m=!0);var f=window.MediaStream;function y(e){if(0===e)return"0 Bytes";var t=parseInt(Math.floor(Math.log(e)/Math.log(1e3)),10);return(e/Math.pow(1e3,t)).toPrecision(3)+" "+["Bytes","KB","MB","GB","TB"][t]}function A(e,t){if(!e)throw"Blob object is required.";if(!e.type)try{e.type="video/webm"}catch(e){}var i=(e.type||"video/webm").split("/")[1];if(-1!==i.indexOf(";")&&(i=i.split(";")[0]),t&&-1!==t.indexOf(".")){var s=t.split(".");t=s[0],i=s[1]}var r=(t||Math.round(9999999999*Math.random())+888888888)+"."+i;if(void 0!==navigator.msSaveOrOpenBlob)return navigator.msSaveOrOpenBlob(e,r);if(void 0!==navigator.msSaveBlob)return navigator.msSaveBlob(e,r);var a=document.createElement("a");a.href=h.createObjectURL(e),a.download=r,a.style="display:none;opacity:0;color:transparent;",(document.body||document.documentElement).appendChild(a),"function"==typeof a.click?a.click():(a.target="_blank",a.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))),h.revokeObjectURL(a.href)}function b(){return"undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type||(!("undefined"==typeof process||"object"!=typeof process.versions||!process.versions.electron)||"object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent.indexOf("Electron")>=0)}function v(e,t){return e&&e.getTracks?e.getTracks().filter((function(e){return e.kind===(t||"audio")})):[]}function _(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}void 0===f&&"undefined"!=typeof webkitMediaStream&&(f=webkitMediaStream),void 0!==f&&void 0===f.prototype.stop&&(f.prototype.stop=function(){this.getTracks().forEach((function(e){e.stop()}))}),t.invokeSaveAsDialog=A,t.getTracks=v,t.getSeekableBlob=function(e,t){if("undefined"==typeof EBML)throw new Error("Please link: https://www.webrtc-experiment.com/EBML.js");var i=new EBML.Reader,s=new EBML.Decoder,r=EBML.tools,a=new FileReader;a.onload=function(e){s.decode(this.result).forEach((function(e){i.read(e)})),i.stop();var a=r.makeMetadataSeekable(i.metadatas,i.duration,i.cues),o=this.result.slice(i.metadataSize),n=new Blob([a,o],{type:"video/webm"});t(n)},a.readAsArrayBuffer(e)},t.bytesToSize=y,t.isElectron=b;var S={};function w(){if(p||g||c)return!0;var e,t,i=navigator.userAgent,s=""+parseFloat(navigator.appVersion),r=parseInt(navigator.appVersion,10);return(m||u)&&(e=i.indexOf("Chrome"),s=i.substring(e+7)),-1!==(t=s.indexOf(";"))&&(s=s.substring(0,t)),-1!==(t=s.indexOf(" "))&&(s=s.substring(0,t)),r=parseInt(""+s,10),isNaN(r)&&(s=""+parseFloat(navigator.appVersion),r=parseInt(navigator.appVersion,10)),r>=49}function E(e,t){var i=this;if(void 0===e)throw'First argument "MediaStream" is required.';if("undefined"==typeof MediaRecorder)throw"Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.";if("audio"===(t=t||{mimeType:"video/webm"}).type){var s;if(v(e,"video").length&&v(e,"audio").length)navigator.mozGetUserMedia?(s=new f).addTrack(v(e,"audio")[0]):s=new f(v(e,"audio")),e=s;t.mimeType&&-1!==t.mimeType.toString().toLowerCase().indexOf("audio")||(t.mimeType=m?"audio/webm":"audio/ogg"),t.mimeType&&"audio/ogg"!==t.mimeType.toString().toLowerCase()&&navigator.mozGetUserMedia&&(t.mimeType="audio/ogg")}var r,a=[];function o(){i.timestamps.push((new Date).getTime()),"function"==typeof t.onTimeStamp&&t.onTimeStamp(i.timestamps[i.timestamps.length-1],i.timestamps)}function n(e){return r&&r.mimeType?r.mimeType:e.mimeType||"video/webm"}function l(){a=[],r=null,i.timestamps=[]}this.getArrayOfBlobs=function(){return a},this.record=function(){i.blob=null,i.clearRecordedData(),i.timestamps=[],d=[],a=[];var s=t;t.disableLogs||console.log("Passing following config over MediaRecorder API.",s),r&&(r=null),m&&!w()&&(s="video/vp8"),"function"==typeof MediaRecorder.isTypeSupported&&s.mimeType&&(MediaRecorder.isTypeSupported(s.mimeType)||(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",s.mimeType),s.mimeType="audio"===t.type?"audio/webm":"video/webm"));try{r=new MediaRecorder(e,s),t.mimeType=s.mimeType}catch(t){r=new MediaRecorder(e)}s.mimeType&&!MediaRecorder.isTypeSupported&&"canRecordMimeType"in r&&!1===r.canRecordMimeType(s.mimeType)&&(t.disableLogs||console.warn("MediaRecorder API seems unable to record mimeType:",s.mimeType)),r.ondataavailable=function(e){if(e.data&&d.push("ondataavailable: "+y(e.data.size)),"number"!=typeof t.timeSlice)!e.data||!e.data.size||e.data.size<100||i.blob?i.recordingCallback&&(i.recordingCallback(new Blob([],{type:n(s)})),i.recordingCallback=null):(i.blob=t.getNativeBlob?e.data:new Blob([e.data],{type:n(s)}),i.recordingCallback&&(i.recordingCallback(i.blob),i.recordingCallback=null));else if(e.data&&e.data.size&&(a.push(e.data),o(),"function"==typeof t.ondataavailable)){var r=t.getNativeBlob?e.data:new Blob([e.data],{type:n(s)});t.ondataavailable(r)}},r.onstart=function(){d.push("started")},r.onpause=function(){d.push("paused")},r.onresume=function(){d.push("resumed")},r.onstop=function(){d.push("stopped")},r.onerror=function(e){e&&(e.name||(e.name="UnknownError"),d.push("error: "+e),t.disableLogs||(-1!==e.name.toString().toLowerCase().indexOf("invalidstate")?console.error("The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.",e):-1!==e.name.toString().toLowerCase().indexOf("notsupported")?console.error("MIME type (",s.mimeType,") is not supported.",e):-1!==e.name.toString().toLowerCase().indexOf("security")?console.error("MediaRecorder security error",e):"OutOfMemory"===e.name?console.error("The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"IllegalStreamModification"===e.name?console.error("A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"OtherRecordingError"===e.name?console.error("Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.",e):"GenericError"===e.name?console.error("The UA cannot provide the codec or recording option that has been requested.",e):console.error("MediaRecorder Error",e)),function(e){if(!i.manuallyStopped&&r&&"inactive"===r.state)return delete t.timeslice,void r.start(6e5);setTimeout(void 0,1e3)}(),"inactive"!==r.state&&"stopped"!==r.state&&r.stop())},"number"==typeof t.timeSlice?(o(),r.start(t.timeSlice)):r.start(36e5),t.initCallback&&t.initCallback()},this.timestamps=[],this.stop=function(e){e=e||function(){},i.manuallyStopped=!0,r&&(this.recordingCallback=e,"recording"===r.state&&r.stop(),"number"==typeof t.timeSlice&&setTimeout((function(){i.blob=new Blob(a,{type:n(t)}),i.recordingCallback(i.blob)}),100))},this.pause=function(){r&&"recording"===r.state&&r.pause()},this.resume=function(){r&&"paused"===r.state&&r.resume()},this.clearRecordedData=function(){r&&"recording"===r.state&&i.stop(l),l()},this.getInternalRecorder=function(){return r},this.blob=null,this.getState=function(){return r&&r.state||"inactive"};var d=[];this.getAllStates=function(){return d},void 0===t.checkForInactiveTracks&&(t.checkForInactiveTracks=!1);i=this;!function s(){if(r&&!1!==t.checkForInactiveTracks)return!1===function(){if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}()?(t.disableLogs||console.log("MediaStream seems stopped."),void i.stop()):void setTimeout(s,1e3)}(),this.name="MediaStreamRecorder",this.toString=function(){return this.name}}function T(e,i){if(!v(e,"audio").length)throw"Your stream has no audio tracks.";var s,r=this,a=[],o=[],n=!1,l=0,d=2,c=(i=i||{}).desiredSampRate;function u(){if(!1===i.checkForInactiveTracks)return!0;if("active"in e){if(!e.active)return!1}else if("ended"in e&&e.ended)return!1;return!0}function p(e,t){function i(e,t){var i,s=e.numberOfAudioChannels,r=e.leftBuffers.slice(0),a=e.rightBuffers.slice(0),o=e.sampleRate,n=e.internalInterleavedLength,l=e.desiredSampRate;function d(e,t,i){var s=Math.round(e.length*(t/i)),r=[],a=Number((e.length-1)/(s-1));r[0]=e[0];for(var o=1;o96e3)&&(i.disableLogs||console.log("sample-rate must be under range 22050 and 96000.")),i.disableLogs||i.desiredSampRate&&console.log("Desired sample-rate: "+i.desiredSampRate);var b=!1;function _(){a=[],o=[],l=0,w=!1,n=!1,b=!1,m=null,r.leftchannel=a,r.rightchannel=o,r.numberOfAudioChannels=d,r.desiredSampRate=c,r.sampleRate=A,r.recordingLength=l,E={left:[],right:[],recordingLength:0}}function S(){s&&(s.onaudioprocess=null,s.disconnect(),s=null),g&&(g.disconnect(),g=null),_()}this.pause=function(){b=!0},this.resume=function(){if(!1===u())throw"Please make sure MediaStream is active.";if(!n)return i.disableLogs||console.log("Seems recording has been restarted."),void this.record();b=!1},this.clearRecordedData=function(){i.checkForInactiveTracks=!1,n&&this.stop(S),S()},this.name="StereoAudioRecorder",this.toString=function(){return this.name};var w=!1;s.onaudioprocess=function(e){if(!b)if(!1===u()&&(i.disableLogs||console.log("MediaStream seems stopped."),s.disconnect(),n=!1),n){w||(w=!0,i.onAudioProcessStarted&&i.onAudioProcessStarted(),i.initCallback&&i.initCallback());var t=e.inputBuffer.getChannelData(0),h=new Float32Array(t);if(a.push(h),2===d){var c=e.inputBuffer.getChannelData(1),p=new Float32Array(c);o.push(p)}l+=y,r.recordingLength=l,void 0!==i.timeSlice&&(E.recordingLength+=y,E.left.push(h),2===d&&E.right.push(p))}else g&&(g.disconnect(),g=null)},m.createMediaStreamDestination?s.connect(m.createMediaStreamDestination()):s.connect(m.destination),this.leftchannel=a,this.rightchannel=o,this.numberOfAudioChannels=d,this.desiredSampRate=c,this.sampleRate=A,r.recordingLength=l;var E={left:[],right:[],recordingLength:0};function T(){n&&"function"==typeof i.ondataavailable&&void 0!==i.timeSlice&&(E.left.length?(p({desiredSampRate:c,sampleRate:A,numberOfAudioChannels:d,internalInterleavedLength:E.recordingLength,leftBuffers:E.left,rightBuffers:1===d?[]:E.right},(function(e,t){var s=new Blob([t],{type:"audio/wav"});i.ondataavailable(s),setTimeout(T,i.timeSlice)})),E={left:[],right:[],recordingLength:0}):setTimeout(T,i.timeSlice))}}function k(e,t){if("undefined"==typeof html2canvas)throw"Please link: https://www.webrtc-experiment.com/screenshot.js";(t=t||{}).frameInterval||(t.frameInterval=10);var i=!1;["captureStream","mozCaptureStream","webkitCaptureStream"].forEach((function(e){e in document.createElement("canvas")&&(i=!0)}));var s,r,a,o=!(!window.webkitRTCPeerConnection&&!window.webkitGetUserMedia||!window.chrome),n=50,l=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);if(o&&l&&l[2]&&(n=parseInt(l[2],10)),o&&n<52&&(i=!1),t.useWhammyRecorder&&(i=!1),i)if(t.disableLogs||console.log("Your browser supports both MediRecorder API and canvas.captureStream!"),e instanceof HTMLCanvasElement)s=e;else{if(!(e instanceof CanvasRenderingContext2D))throw"Please pass either HTMLCanvasElement or CanvasRenderingContext2D.";s=e.canvas}else navigator.mozGetUserMedia&&(t.disableLogs||console.error("Canvas recording is NOT supported in Firefox."));this.record=function(){if(a=!0,i&&!t.useWhammyRecorder){var e;"captureStream"in s?e=s.captureStream(25):"mozCaptureStream"in s?e=s.mozCaptureStream(25):"webkitCaptureStream"in s&&(e=s.webkitCaptureStream(25));try{var o=new f;o.addTrack(v(e,"video")[0]),e=o}catch(e){}if(!e)throw"captureStream API are NOT available.";(r=new E(e,{mimeType:t.mimeType||"video/webm"})).record()}else p.frames=[],u=(new Date).getTime(),c();t.initCallback&&t.initCallback()},this.getWebPImages=function(i){if("canvas"===e.nodeName.toLowerCase()){var s=p.frames.length;p.frames.forEach((function(e,i){var r=s-i;t.disableLogs||console.log(r+"/"+s+" frames remaining"),t.onEncodingCallback&&t.onEncodingCallback(r,s);var a=e.image.toDataURL("image/webp",1);p.frames[i].image=a})),t.disableLogs||console.log("Generating WebM"),i()}else i()},this.stop=function(e){a=!1;var s=this;i&&r?r.stop(e):this.getWebPImages((function(){p.compile((function(i){t.disableLogs||console.log("Recording finished!"),s.blob=i,s.blob.forEach&&(s.blob=new Blob([],{type:"video/webm"})),e&&e(s.blob),p.frames=[]}))}))};var d=!1;function h(){p.frames=[],a=!1,d=!1}function c(){if(d)return u=(new Date).getTime(),setTimeout(c,500);if("canvas"===e.nodeName.toLowerCase()){var i=(new Date).getTime()-u;return u=(new Date).getTime(),p.frames.push({image:(s=document.createElement("canvas"),r=s.getContext("2d"),s.width=e.width,s.height=e.height,r.drawImage(e,0,0),s),duration:i}),void(a&&setTimeout(c,t.frameInterval))}var s,r;html2canvas(e,{grabMouse:void 0===t.showMousePointer||t.showMousePointer,onrendered:function(e){var i=(new Date).getTime()-u;if(!i)return setTimeout(c,t.frameInterval);u=(new Date).getTime(),p.frames.push({image:e.toDataURL("image/webp",1),duration:i}),a&&setTimeout(c,t.frameInterval)}})}this.pause=function(){d=!0,r instanceof E&&r.pause()},this.resume=function(){d=!1,r instanceof E?r.resume():a||this.record()},this.clearRecordedData=function(){a&&this.stop(h),h()},this.name="CanvasRecorder",this.toString=function(){return this.name};var u=(new Date).getTime(),p=new C.Video(100)}function L(e,t){function i(e){e=void 0!==e?e:10;var t=(new Date).getTime()-l;return t?a?(l=(new Date).getTime(),setTimeout(i,100)):(l=(new Date).getTime(),n.paused&&n.play(),c.drawImage(n,0,0,h.width,h.height),d.frames.push({duration:t,image:h.toDataURL("image/webp")}),void(r||setTimeout(i,e,e))):setTimeout(i,e,e)}function s(e,t,i,s,r){var a=document.createElement("canvas");a.width=h.width,a.height=h.height;var o=a.getContext("2d"),n=[],l=-1===t,d=t&&t>0&&t<=e.length?t:e.length,c=0,u=0,p=0,m=Math.sqrt(Math.pow(255,2)+Math.pow(255,2)+Math.pow(255,2)),g=i&&i>=0&&i<=1?i:0,f=s&&s>=0&&s<=1?s:0,y=!1;!function(e){var t=-1,i=e.length;!function s(){++t!==i?setTimeout((function(){e.functionToLoop(s,t)}),1):e.callback()}()}({length:d,functionToLoop:function(t,i){var s,r,a,d=function(){!y&&a-s<=a*f||(l&&(y=!0),n.push(e[i])),t()};if(y)d();else{var A=new Image;A.onload=function(){o.drawImage(A,0,0,h.width,h.height);var e=o.getImageData(0,0,h.width,h.height);s=0,r=e.data.length,a=e.data.length/4;for(var t=0;t127)throw"TrackNumber > 127 not supported";return[128|e.trackNum,e.timecode>>8,255&e.timecode,t].map((function(e){return String.fromCharCode(e)})).join("")+e.frame}({discardable:0,frame:e.data.slice(4),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math.round(t)});return t+=e.duration,{data:i,id:163}})))}function i(e){for(var t=[];e>0;)t.push(255&e),e>>=8;return new Uint8Array(t.reverse())}function s(e){var t=[];e=(e.length%8?new Array(9-e.length%8).join("0"):"")+e;for(var i=0;i1?2*a[0].width:a[0].width;var n=1;3!==e&&4!==e||(n=2),5!==e&&6!==e||(n=3),7!==e&&8!==e||(n=4),9!==e&&10!==e||(n=5),r.height=a[0].height*n}else r.width=o.width||360,r.height=o.height||240;t&&t instanceof HTMLVideoElement&&u(t),a.forEach((function(e,t){u(e,t)})),setTimeout(c,o.frameInterval)}}function u(e,t){if(!s){var i=0,r=0,o=e.width,n=e.height;1===t&&(i=e.width),2===t&&(r=e.height),3===t&&(i=e.width,r=e.height),4===t&&(r=2*e.height),5===t&&(i=e.width,r=2*e.height),6===t&&(r=3*e.height),7===t&&(i=e.width,r=3*e.height),void 0!==e.stream.left&&(i=e.stream.left),void 0!==e.stream.top&&(r=e.stream.top),void 0!==e.stream.width&&(o=e.stream.width),void 0!==e.stream.height&&(n=e.stream.height),a.drawImage(e,i,r,o,n),"function"==typeof e.stream.onRender&&e.stream.onRender(a,i,r,o,n,t)}}function p(e){var i=document.createElement("video");return function(e,t){"srcObject"in t?t.srcObject=e:"mozSrcObject"in t?t.mozSrcObject=e:t.srcObject=e}(e,i),i.className=t,i.muted=!0,i.volume=0,i.width=e.width||o.width||360,i.height=e.height||o.height||240,i.play(),i}function m(t){i=[],(t=t||e).forEach((function(e){if(e.getTracks().filter((function(e){return"video"===e.kind})).length){var t=p(e);t.stream=e,i.push(t)}}))}void 0!==n?h.AudioContext=n:"undefined"!=typeof webkitAudioContext&&(h.AudioContext=webkitAudioContext),this.startDrawingFrames=function(){c()},this.appendStreams=function(t){if(!t)throw"First parameter is required.";t instanceof Array||(t=[t]),t.forEach((function(t){var s=new d;if(t.getTracks().filter((function(e){return"video"===e.kind})).length){var r=p(t);r.stream=t,i.push(r),s.addTrack(t.getTracks().filter((function(e){return"video"===e.kind}))[0])}if(t.getTracks().filter((function(e){return"audio"===e.kind})).length){var a=o.audioContext.createMediaStreamSource(t);o.audioDestination=o.audioContext.createMediaStreamDestination(),a.connect(o.audioDestination),s.addTrack(o.audioDestination.stream.getTracks().filter((function(e){return"audio"===e.kind}))[0])}e.push(s)}))},this.releaseStreams=function(){i=[],s=!0,o.gainNode&&(o.gainNode.disconnect(),o.gainNode=null),o.audioSources.length&&(o.audioSources.forEach((function(e){e.disconnect()})),o.audioSources=[]),o.audioDestination&&(o.audioDestination.disconnect(),o.audioDestination=null),o.audioContext&&o.audioContext.close(),o.audioContext=null,a.clearRect(0,0,r.width,r.height),r.stream&&(r.stream.stop(),r.stream=null)},this.resetVideoStreams=function(e){!e||e instanceof Array||(e=[e]),m(e)},this.name="MultiStreamsMixer",this.toString=function(){return this.name},this.getMixedStream=function(){s=!1;var t=function(){var e;m(),"captureStream"in r?e=r.captureStream():"mozCaptureStream"in r?e=r.mozCaptureStream():o.disableLogs||console.error("Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features");var t=new d;return e.getTracks().filter((function(e){return"video"===e.kind})).forEach((function(e){t.addTrack(e)})),r.stream=t,t}(),i=function(){h.AudioContextConstructor||(h.AudioContextConstructor=new h.AudioContext);o.audioContext=h.AudioContextConstructor,o.audioSources=[],!0===o.useGainNode&&(o.gainNode=o.audioContext.createGain(),o.gainNode.connect(o.audioContext.destination),o.gainNode.gain.value=0);var t=0;if(e.forEach((function(e){if(e.getTracks().filter((function(e){return"audio"===e.kind})).length){t++;var i=o.audioContext.createMediaStreamSource(e);!0===o.useGainNode&&i.connect(o.gainNode),o.audioSources.push(i)}})),!t)return;return o.audioDestination=o.audioContext.createMediaStreamDestination(),o.audioSources.forEach((function(e){e.connect(o.audioDestination)})),o.audioDestination.stream}();return i&&i.getTracks().filter((function(e){return"audio"===e.kind})).forEach((function(e){t.addTrack(e)})),e.forEach((function(e){e.fullcanvas})),t}}function P(e,t){e=e||[];var i,s,r=this;(t=t||{elementClass:"multi-streams-mixer",mimeType:"video/webm",video:{width:360,height:240}}).frameInterval||(t.frameInterval=10),t.video||(t.video={}),t.video.width||(t.video.width=360),t.video.height||(t.video.height=240),this.record=function(){var r;i=new R(e,t.elementClass||"multi-streams-mixer"),(r=[],e.forEach((function(e){v(e,"video").forEach((function(e){r.push(e)}))})),r).length&&(i.frameInterval=t.frameInterval||10,i.width=t.video.width||360,i.height=t.video.height||240,i.startDrawingFrames()),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()),(s=new E(i.getMixedStream(),t)).record()},this.stop=function(e){s&&s.stop((function(t){r.blob=t,e(t),r.clearRecordedData()}))},this.pause=function(){s&&s.pause()},this.resume=function(){s&&s.resume()},this.clearRecordedData=function(){s&&(s.clearRecordedData(),s=null),i&&(i.releaseStreams(),i=null)},this.addStreams=function(r){if(!r)throw"First parameter is required.";r instanceof Array||(r=[r]),e.concat(r),s&&i&&(i.appendStreams(r),t.previewStream&&"function"==typeof t.previewStream&&t.previewStream(i.getMixedStream()))},this.resetVideoStreams=function(e){i&&(!e||e instanceof Array||(e=[e]),i.resetVideoStreams(e))},this.getMixer=function(){return i},this.name="MultiStreamRecorder",this.toString=function(){return this.name}}function I(e,t){var i,s,r;function a(){return new ReadableStream({start:function(s){var r=document.createElement("canvas"),a=document.createElement("video"),o=!0;a.srcObject=e,a.muted=!0,a.height=t.height,a.width=t.width,a.volume=0,a.onplaying=function(){r.width=t.width,r.height=t.height;var e=r.getContext("2d"),n=1e3/t.frameRate,l=setInterval((function(){if(i&&(clearInterval(l),s.close()),o&&(o=!1,t.onVideoProcessStarted&&t.onVideoProcessStarted()),e.drawImage(a,0,0),"closed"!==s._controlledReadableStream.state)try{s.enqueue(e.getImageData(0,0,t.width,t.height))}catch(e){}}),n)},a.play()}})}function o(e,l){if(!t.workerPath&&!l)return i=!1,void fetch("https://unpkg.com/webm-wasm@latest/dist/webm-worker.js").then((function(t){t.arrayBuffer().then((function(t){o(e,t)}))}));if(!t.workerPath&&l instanceof ArrayBuffer){var d=new Blob([l],{type:"text/javascript"});t.workerPath=h.createObjectURL(d)}t.workerPath||console.error("workerPath parameter is missing."),(s=new Worker(t.workerPath)).postMessage(t.webAssemblyPath||"https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm"),s.addEventListener("message",(function(e){"READY"===e.data?(s.postMessage({width:t.width,height:t.height,bitrate:t.bitrate||1200,timebaseDen:t.frameRate||30,realtime:t.realtime}),a().pipeTo(new WritableStream({write:function(e){i?console.error("Got image, but recorder is finished!"):s.postMessage(e.data.buffer,[e.data.buffer])}}))):e.data&&(r||n.push(e.data))}))}"undefined"!=typeof ReadableStream&&"undefined"!=typeof WritableStream||console.error("Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js"),(t=t||{}).width=t.width||640,t.height=t.height||480,t.frameRate=t.frameRate||30,t.bitrate=t.bitrate||1200,t.realtime=t.realtime||!0,this.record=function(){n=[],r=!1,this.blob=null,o(e),"function"==typeof t.initCallback&&t.initCallback()},this.pause=function(){r=!0},this.resume=function(){r=!1};var n=[];this.stop=function(e){i=!0;var t=this;!function(e){s?(s.addEventListener("message",(function(t){null===t.data&&(s.terminate(),s=null,e&&e())})),s.postMessage(null)):e&&e()}((function(){t.blob=new Blob(n,{type:"video/webm"}),e(t.blob)}))},this.name="WebAssemblyRecorder",this.toString=function(){return this.name},this.clearRecordedData=function(){n=[],r=!1,this.blob=null},this.blob=null}t.DiskStorage=x,t.GifRecorder=D,t.MultiStreamRecorder=P,t.RecordRTCPromisesHandler=function(e,i){if(!this)throw'Use "new RecordRTCPromisesHandler()"';if(void 0===e)throw'First argument "MediaStream" is required.';var s=this;s.recordRTC=new t(e,i),this.startRecording=function(){return new Promise((function(e,t){try{s.recordRTC.startRecording(),e()}catch(e){t(e)}}))},this.stopRecording=function(){return new Promise((function(e,t){try{s.recordRTC.stopRecording((function(i){s.blob=s.recordRTC.getBlob(),s.blob&&s.blob.size?e(i):t("Empty blob.",s.blob)}))}catch(e){t(e)}}))},this.pauseRecording=function(){return new Promise((function(e,t){try{s.recordRTC.pauseRecording(),e()}catch(e){t(e)}}))},this.resumeRecording=function(){return new Promise((function(e,t){try{s.recordRTC.resumeRecording(),e()}catch(e){t(e)}}))},this.getDataURL=function(e){return new Promise((function(e,t){try{s.recordRTC.getDataURL((function(t){e(t)}))}catch(e){t(e)}}))},this.getBlob=function(){return new Promise((function(e,t){try{e(s.recordRTC.getBlob())}catch(e){t(e)}}))},this.getInternalRecorder=function(){return new Promise((function(e,t){try{e(s.recordRTC.getInternalRecorder())}catch(e){t(e)}}))},this.reset=function(){return new Promise((function(e,t){try{e(s.recordRTC.reset())}catch(e){t(e)}}))},this.destroy=function(){return new Promise((function(e,t){try{e(s.recordRTC.destroy())}catch(e){t(e)}}))},this.getState=function(){return new Promise((function(e,t){try{e(s.recordRTC.getState())}catch(e){t(e)}}))},this.blob=null,this.version="5.6.2"},t.WebAssemblyRecorder=I}));class Zn{static _ebsp2rbsp(e){let t=e,i=t.byteLength,s=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(s[r]=t[e],r++);return new Uint8Array(s.buffer,0,r)}static parseSPS(e){let t=Zn._ebsp2rbsp(e),i=new Kr(t);i.readByte();let s=i.readByte();i.readByte();let r=i.readByte();i.readUEG();let a=Zn.getProfileString(s),o=Zn.getLevelString(r),n=1,l=420,d=[0,420,422,444],h=8;if((100===s||110===s||122===s||244===s||44===s||83===s||86===s||118===s||128===s||138===s||144===s)&&(n=i.readUEG(),3===n&&i.readBits(1),n<=3&&(l=d[n]),h=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool())){let e=3!==n?8:12;for(let t=0;t0&&e<16?(v=t[e-1],_=s[e-1]):255===e&&(v=i.readByte()<<8|i.readByte(),_=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){let e=i.readBits(32),t=i.readBits(32);w=i.readBool(),E=t,T=2*e,S=E/T}}let k=1;1===v&&1===_||(k=v/_);let L=0,C=0;if(0===n)L=1,C=2-g;else{L=3===n?1:2,C=(1===n?2:1)*(2-g)}let x=16*(p+1),D=16*(m+1)*(2-g);x-=(f+y)*L,D-=(A+b)*C;let R=Math.ceil(x*k);return i.destroy(),i=null,{profile_string:a,level_string:o,bit_depth:h,ref_frames:u,chroma_format:l,chroma_format_string:Zn.getChromaFormatString(l),frame_rate:{fixed:w,fps:S,fps_den:T,fps_num:E},sar_ratio:{width:v,height:_},codec_size:{width:x,height:D},present_size:{width:R,height:D}}}static parseSPS$2(e){let t=e.subarray(1,4),i="avc1.";for(let e=0;e<3;e++){let s=t[e].toString(16);s.length<2&&(s="0"+s),i+=s}let s=Zn._ebsp2rbsp(e),r=new Kr(s);r.readByte();let a=r.readByte();r.readByte();let o=r.readByte();r.readUEG();let n=Zn.getProfileString(a),l=Zn.getLevelString(o),d=1,h=420,c=[0,420,422,444],u=8,p=8;if((100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a)&&(d=r.readUEG(),3===d&&r.readBits(1),d<=3&&(h=c[d]),u=r.readUEG()+8,p=r.readUEG()+8,r.readBits(1),r.readBool())){let e=3!==d?8:12;for(let t=0;t0&&e<16?(w=t[e-1],E=i[e-1]):255===e&&(w=r.readByte()<<8|r.readByte(),E=r.readByte()<<8|r.readByte())}if(r.readBool()&&r.readBool(),r.readBool()&&(r.readBits(4),r.readBool()&&r.readBits(24)),r.readBool()&&(r.readUEG(),r.readUEG()),r.readBool()){let e=r.readBits(32),t=r.readBits(32);k=r.readBool(),L=t,C=2*e,T=L/C}}let x=1;1===w&&1===E||(x=w/E);let D=0,R=0;if(0===d)D=1,R=2-A;else{D=3===d?1:2,R=(1===d?2:1)*(2-A)}let P=16*(f+1),I=16*(y+1)*(2-A);P-=(b+v)*D,I-=(_+S)*R;let B=Math.ceil(P*x);return r.destroy(),r=null,{codec_mimetype:i,profile_idc:a,level_idc:o,profile_string:n,level_string:l,chroma_format_idc:d,bit_depth:u,bit_depth_luma:u,bit_depth_chroma:p,ref_frames:g,chroma_format:h,chroma_format_string:Zn.getChromaFormatString(h),frame_rate:{fixed:k,fps:T,fps_den:C,fps_num:L},sar_ratio:{width:w,height:E},codec_size:{width:P,height:I},present_size:{width:B,height:I}}}static _skipScalingList(e,t){let i=8,s=8,r=0;for(let a=0;a=this.buflen)return this.iserro=!0,0;this.iserro=!1,i=this.bufoff+e>8?8-this.bufoff:e,t<<=i,t+=this.buffer[this.bufpos]>>8-this.bufoff-i&255>>8-i,this.bufoff+=i,e-=i,8==this.bufoff&&(this.bufpos++,this.bufoff=0)}return t}look(e){let t=this.bufpos,i=this.bufoff,s=this.read(e);return this.bufpos=t,this.bufoff=i,s}read_golomb(){let e;for(e=0;0===this.read(1)&&!this.iserro;e++);return(1<>>24&255,e>>>16&255,e>>>8&255,255&e]),s=new Uint8Array(e+4);s.set(i,0),s.set(t.sps,4),t.sps=s}if(t.pps){const e=t.pps.byteLength,i=new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,255&e]),s=new Uint8Array(e+4);s.set(i,0),s.set(t.pps,4),t.pps=s}return t}function il(e){let{sps:t,pps:i}=e,s=8+t.byteLength+1+2+i.byteLength,r=!1;const a=Zn.parseSPS$2(t);66!==t[3]&&77!==t[3]&&88!==t[3]&&(r=!0,s+=4);let o=new Uint8Array(s);o[0]=1,o[1]=t[1],o[2]=t[2],o[3]=t[3],o[4]=255,o[5]=225;let n=t.byteLength;o[6]=n>>>8,o[7]=255&n;let l=8;o.set(t,8),l+=n,o[l]=1;let d=i.byteLength;o[l+1]=d>>>8,o[l+2]=255&d,o.set(i,l+3),l+=3+d,r&&(o[l]=252|a.chroma_format_idc,o[l+1]=248|a.bit_depth_luma-8,o[l+2]=248|a.bit_depth_chroma-8,o[l+3]=0,l+=4);const h=[23,0,0,0,0],c=new Uint8Array(h.length+o.byteLength);return c.set(h,0),c.set(o,h.length),c}function sl(e,t){let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}function rl(e){return 31&e[0]}function al(e){return e===Ht}function ol(e){return!function(e){return e===Gt||e===Wt}(e)&&!al(e)}function nl(e){return e===Vt}class ll{constructor(e){this.data=e,this.eofFlag=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this.eofFlag&&console.error("Could not find H264 startcode until payload end!")}findNextStartCodeOffset(e){let t=e,i=this.data;for(;;){if(t+3>=i.byteLength)return this.eofFlag=!0,i.byteLength;let e=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],s=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===e||1===s)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let i=this.currentStartcodeOffset;i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let s=31&e[i],r=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);this.currentStartcodeOffset=a,s>=Kt||0===r&&(t={type:s,data:e.subarray(i,a)})}return t}}class dl{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}const hl=e=>{let t=e,i=t.byteLength,s=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(s[r]=t[e],r++);return new Uint8Array(s.buffer,0,r)},cl=e=>{switch(e){case 0:return"4:0:0";case 1:return"4:2:0";case 2:return"4:2:2";case 3:return"4:4:4";default:return"Unknown"}};class ul{static _ebsp2rbsp(e){let t=e,i=t.byteLength,s=new Uint8Array(i),r=0;for(let e=0;e=2&&3===t[e]&&0===t[e-1]&&0===t[e-2]||(s[r]=t[e],r++);return new Uint8Array(s.buffer,0,r)}static parseVPS(e){let t=ul._ebsp2rbsp(e),i=new Kr(t);return i.readByte(),i.readByte(),i.readBits(4),i.readBits(2),i.readBits(6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}}static parseSPS(e){let t=ul._ebsp2rbsp(e),i=new Kr(t);i.readByte(),i.readByte();let s=0,r=0,a=0,o=0;i.readBits(4);let n=i.readBits(3);i.readBool();let l=i.readBits(2),d=i.readBool(),h=i.readBits(5),c=i.readByte(),u=i.readByte(),p=i.readByte(),m=i.readByte(),g=i.readByte(),f=i.readByte(),y=i.readByte(),A=i.readByte(),b=i.readByte(),v=i.readByte(),_=i.readByte(),S=[],w=[];for(let e=0;e0)for(let e=n;e<8;e++)i.readBits(2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<=16?(B=t[e-1],M=s[e-1]):255===e&&(B=i.readBits(16),M=i.readBits(16))}if(i.readBool()&&i.readBool(),i.readBool()){i.readBits(3),i.readBool(),i.readBool()&&(i.readByte(),i.readByte(),i.readByte())}if(i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool(),i.readBool(),i.readBool(),P=i.readBool(),P&&(i.readUEG(),i.readUEG(),i.readUEG(),i.readUEG()),i.readBool()){if(U=i.readBits(32),O=i.readBits(32),i.readBool()&&i.readUEG(),i.readBool()){let e=!1,t=!1,s=!1;e=i.readBool(),t=i.readBool(),(e||t)&&(s=i.readBool(),s&&(i.readByte(),i.readBits(5),i.readBool(),i.readBits(5)),i.readBits(4),i.readBits(4),s&&i.readBits(4),i.readBits(5),i.readBits(5),i.readBits(5));for(let r=0;r<=n;r++){let r=i.readBool();F=r;let a=!0,o=1;r||(a=i.readBool());let n=!1;if(a?i.readUEG():n=i.readBool(),n||(o=i.readUEG()+1),e){for(let e=0;e>6&3,i.general_tier_flag=e[1]>>5&1,i.general_profile_idc=31&e[1],i.general_profile_compatibility_flags=e[2]<<24|e[3]<<16|e[4]<<8|e[5],i.general_constraint_indicator_flags=e[6]<<24|e[7]<<16|e[8]<<8|e[9],i.general_constraint_indicator_flags=i.general_constraint_indicator_flags<<16|e[10]<<8|e[11],i.general_level_idc=e[12],i.min_spatial_segmentation_idc=(15&e[13])<<8|e[14],i.parallelismType=3&e[15],i.chromaFormat=3&e[16],i.bitDepthLumaMinus8=7&e[17],i.bitDepthChromaMinus8=7&e[18],i.avgFrameRate=e[19]<<8|e[20],i.constantFrameRate=e[21]>>6&3,i.numTemporalLayers=e[21]>>3&7,i.temporalIdNested=e[21]>>2&1,i.lengthSizeMinusOne=3&e[21];let s=e[22],r=e.slice(23);for(let e=0;e0)for(let t=i;t<8;t++)e.read(2);s.sub_layer_profile_space=[],s.sub_layer_tier_flag=[],s.sub_layer_profile_idc=[],s.sub_layer_profile_compatibility_flag=[],s.sub_layer_progressive_source_flag=[],s.sub_layer_interlaced_source_flag=[],s.sub_layer_non_packed_constraint_flag=[],s.sub_layer_frame_only_constraint_flag=[],s.sub_layer_level_idc=[];for(let t=0;t{let t=hl(e),i=new Kr(t);return i.readByte(),i.readByte(),i.readBits(4),i.readBits(2),i.readBits(6),{num_temporal_layers:i.readBits(3)+1,temporal_id_nested:i.readBool()}})(t),o=(e=>{let t=hl(e),i=new Kr(t);i.readByte(),i.readByte();let s=0,r=0,a=0,o=0;i.readBits(4);let n=i.readBits(3);i.readBool();let l=i.readBits(2),d=i.readBool(),h=i.readBits(5),c=i.readByte(),u=i.readByte(),p=i.readByte(),m=i.readByte(),g=i.readByte(),f=i.readByte(),y=i.readByte(),A=i.readByte(),b=i.readByte(),v=i.readByte(),_=i.readByte(),S=[],w=[];for(let e=0;e0)for(let e=n;e<8;e++)i.readBits(2);for(let e=0;e1&&i.readSEG();for(let e=0;e0&&e<16?(B=t[e-1],M=s[e-1]):255===e&&(B=i.readBits(16),M=i.readBits(16))}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(3),i.readBool(),i.readBool()&&(i.readByte(),i.readByte(),i.readByte())),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool(),i.readBool(),i.readBool(),P=i.readBool(),P&&(s+=i.readUEG(),r+=i.readUEG(),a+=i.readUEG(),o+=i.readUEG()),i.readBool()&&(U=i.readBits(32),O=i.readBits(32),i.readBool()&&(i.readUEG(),i.readBool()))){let e=!1,t=!1,s=!1;e=i.readBool(),t=i.readBool(),(e||t)&&(s=i.readBool(),s&&(i.readByte(),i.readBits(5),i.readBool(),i.readBits(5)),i.readBits(4),i.readBits(4),s&&i.readBits(4),i.readBits(5),i.readBits(5),i.readBits(5));for(let r=0;r<=n;r++){let r=i.readBool();F=r;let a=!1,o=1;r||(a=i.readBool());let n=!1;if(a?i.readSEG():n=i.readBool(),n||(cpbcnt=i.readUEG()+1),e)for(let e=0;e{let t=hl(e),i=new Kr(t);i.readByte(),i.readByte(),i.readUEG(),i.readUEG(),i.readBool(),i.readBool(),i.readBits(3),i.readBool(),i.readBool(),i.readUEG(),i.readUEG(),i.readSEG(),i.readBool(),i.readBool(),i.readBool()&&i.readUEG(),i.readSEG(),i.readSEG(),i.readBool(),i.readBool(),i.readBool(),i.readBool();let s=i.readBool(),r=i.readBool(),a=1;return r&&s?a=0:r?a=3:s&&(a=2),{parallelismType:a}})(i);r=Object.assign(r,a,o,n);let l=23+(5+t.byteLength)+(5+s.byteLength)+(5+i.byteLength),d=new Uint8Array(l);d[0]=1,d[1]=(3&r.general_profile_space)<<6|(r.general_tier_flag?1:0)<<5|31&r.general_profile_idc,d[2]=r.general_profile_compatibility_flags_1||0,d[3]=r.general_profile_compatibility_flags_2||0,d[4]=r.general_profile_compatibility_flags_3||0,d[5]=r.general_profile_compatibility_flags_4||0,d[6]=r.general_constraint_indicator_flags_1||0,d[7]=r.general_constraint_indicator_flags_2||0,d[8]=r.general_constraint_indicator_flags_3||0,d[9]=r.general_constraint_indicator_flags_4||0,d[10]=r.general_constraint_indicator_flags_5||0,d[11]=r.general_constraint_indicator_flags_6||0,d[12]=60,d[13]=240|(3840&r.min_spatial_segmentation_idc)>>8,d[14]=255&r.min_spatial_segmentation_idc,d[15]=252|3&r.parallelismType,d[16]=252|3&r.chroma_format_idc,d[17]=248|7&r.bit_depth_luma_minus8,d[18]=248|7&r.bit_depth_chroma_minus8,d[19]=0,d[20]=0,d[21]=(3&r.constant_frame_rate)<<6|(7&r.num_temporal_layers)<<3|(r.temporal_id_nested?1:0)<<2|3,d[22]=3,d[23]=128|ii,d[24]=0,d[25]=1,d[26]=(65280&t.byteLength)>>8,d[27]=(255&t.byteLength)>>0,d.set(t,28),d[23+(5+t.byteLength)+0]=128|ri,d[23+(5+t.byteLength)+1]=0,d[23+(5+t.byteLength)+2]=1,d[23+(5+t.byteLength)+3]=(65280&s.byteLength)>>8,d[23+(5+t.byteLength)+4]=(255&s.byteLength)>>0,d.set(s,23+(5+t.byteLength)+5),d[23+(5+t.byteLength+5+s.byteLength)+0]=128|oi,d[23+(5+t.byteLength+5+s.byteLength)+1]=0,d[23+(5+t.byteLength+5+s.byteLength)+2]=1,d[23+(5+t.byteLength+5+s.byteLength)+3]=(65280&i.byteLength)>>8,d[23+(5+t.byteLength+5+s.byteLength)+4]=(255&i.byteLength)>>0,d.set(i,23+(5+t.byteLength+5+s.byteLength)+5);const h=[28,0,0,0,0],c=new Uint8Array(h.length+d.byteLength);return c.set(h,0),c.set(d,h.length),c}function yl(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}function Al(e){return(126&e[0])>>1}function bl(e){return!function(e){return e>=32&&e<=40}(e)}function vl(e){return e>=16&&e<=21}class _l{constructor(e){this.data=e,this.eofFlag=!1,this.currentStartcodeOffset=this.findNextStartCodeOffset(0),this.eofFlag&&console.error("Could not find H265 startcode until payload end!")}findNextStartCodeOffset(e){let t=e,i=this.data;for(;;){if(t+3>=i.byteLength)return this.eofFlag=!0,i.byteLength;let e=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],s=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===e||1===s)return t;t++}}readNextNaluPayload(){let e=this.data,t=null;for(;null==t&&!this.eofFlag;){let i=this.currentStartcodeOffset;i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let s=e[i]>>1&63,r=(128&e[i])>>>7,a=this.findNextStartCodeOffset(i);this.currentStartcodeOffset=a,0===r&&(t={type:s,data:e.subarray(i,a)})}return t}}class Sl{constructor(e){let t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)}}class wl extends a{constructor(e){super(),this.TAG_NAME="recorderCommon",this.player=e,this.fileName="",this._isRecording=!1,this._recordingTimestamp=0,this.recordingInterval=null,this.sps=null,this.pps=null,this.vps=null,this.codecId=null,this.audioCodeId=null,this.metaInfo={codecWidth:0,codecHeight:0,presentWidth:0,presentHeight:0,refSampleDuration:0,timescale:1e3,avcc:null,videoType:""},this.audioMetaInfo={timescale:1e3,sampleRate:0,refSampleDuration:0,channelCount:0,codec:"",originalCodec:"",audioType:"",extraData:new Uint8Array(0)}}destroy(){this._reset(),this.sps=null,this.pps=null,this.vps=null,this.codecId=null,this.audioCodeId=null,this.metaInfo=null,this.audioMetaInfo=null}get isH264(){return this.codecId===Pt}get isH265(){return this.codecId===It}setFileName(e){this.fileName=e}get isRecording(){return this._isRecording}get recording(){return this._isRecording}get recordTime(){return this._recordingTimestamp}startRecord(){}handleAddNaluTrack(e,t,i,s){}handleAddAudioTrack(e,t){}handleAddTrack(e){}stopRecordAndSave(){}startRecordingInterval(){}isWasmMp4(){return!1}stopRecordingInterval(){this.recordingInterval&&clearInterval(this.recordingInterval),this.recordingInterval=null}getToTalByteLength(){return 0}_reset(){this.fileName="",this._isRecording=!1,this._recordingTimestamp=0,this.stopRecordingInterval()}initMetaData(e,t){let i;const s=e.slice(5);if(this.codecId=t,this.metaInfo.avcc=s,t===Pt)i=tl(s);else if(t===It){i=function(e){let t=23;const i=e[t];if((63&i)!==ii)return console.warn(`parseHEVCDecoderVPSAndSPSAndPPS and vpsTag is ${i}`),{};t+=2,t+=1;const s=e[t+1]|e[t]<<8;t+=2;const r=e.slice(t,t+s);t+=s;const a=e[t];if((63&a)!==ri)return console.warn(`parseHEVCDecoderVPSAndSPSAndPPS and sps tag is ${a}`),{};t+=2,t+=1;const o=e[t+1]|e[t]<<8;t+=2;const n=e.slice(t,t+o);t+=o;const l=e[t];if((63&l)!==oi)return console.warn(`parseHEVCDecoderVPSAndSPSAndPPS and pps tag is ${l}`),{};t+=2,t+=1;const d=e[t+1]|e[t]<<8;t+=2;const h=e.slice(t,t+d),c=new Uint8Array([o>>>24&255,o>>>16&255,o>>>8&255,255&o]),u=new Uint8Array([d>>>24&255,d>>>16&255,d>>>8&255,255&d]),p=new Uint8Array([s>>>24&255,s>>>16&255,s>>>8&255,255&s]),m=new Uint8Array(o+4);m.set(c,0),m.set(n,4);const g=new Uint8Array(d+4);g.set(u,0),g.set(h,4);const f=new Uint8Array(s+4);return f.set(p,0),f.set(r,4),{sps:m,pps:g,vps:f}}(s);const t=pl(e);i=Object.assign(i,t)}i&&(i.vps&&(this.vps=i.vps),i.pps&&(this.pps=i.pps),i.sps&&(this.sps=i.sps),i.presentWidth&&(this.metaInfo.presentWidth=i.presentWidth),i.presentHeight&&(this.metaInfo.presentHeight=i.presentHeight),i.codecWidth&&(this.metaInfo.codecWidth=i.codecWidth),i.codecHeight&&(this.metaInfo.codecHeight=i.codecHeight),i.timescale&&(this.metaInfo.timescale=i.timescale),i.refSampleDuration&&(this.metaInfo.refSampleDuration=i.refSampleDuration),i.videoType&&(this.metaInfo.videoType=i.videoType))}initAudioMetaData(e,t){this.audioCodeId=t;const i=e[0]>>1&1;let s=null;t===Ft?(s=function(e){let t={},i=new oa(e);return i.read(16),t.object_type=na(i),t.sample_rate=la(i,t),t.chan_config=i.read(4),t.chan_config{r.onload=function(e){i.decode(this.result).forEach((function(e){t.read(e)})),t.stop();const r=s.makeMetadataSeekable(t.metadatas,t.duration,t.cues),o=this.result.slice(t.metadataSize),n=new Blob([r,o],{type:"video/webm"});a(n)},r.readAsArrayBuffer(e)}))}startRecord(){const e={type:"video",mimeType:"video/webm;codecs=h264",timeSlice:1e3,onTimeStamp:e=>{this.player&&this.player.debugLog("RecorderRTC","record timestamp :"+e),null===this._startRecordingTimestamp&&(this._startRecordingTimestamp=e),this._recordingTimestamp=(e-this._startRecordingTimestamp)/1e3},ondataavailable:e=>{this.totalByteLength+=e.size,this.player&&this.player.debugLog("RecorderRTC","ondataavailable",e.size)},disableLogs:!this.player._opt.debug};try{let t=null;if(this.player.getRenderType()===q)t=this.player.video.$videoElement.captureStream(25),this.player.debugLog(this.TAG_NAME,"startRecord and render type is canvas and use captureStream");else if(this.player.video.mediaStream)t=this.player.video.mediaStream,this.player.debugLog(this.TAG_NAME,"startRecord and video mediaStream");else{if(Io(this._startCanvasRender()))return void this.player.emitError(vt.recordCreateError,"startCanvasRender error");this.player.isOldHls()||this.player._opt.useMSE||this.player._opt.useWCS?t=this.canvasElement.captureStream(25):this.player.isWebrtcH264()?t=this.player.webrtc.videoStream:this.player.isAliyunRtc()&&(t=this.canvasElement.captureStream(25)),this.player.debugLog(this.TAG_NAME,"startRecord and use local canvas render video and captureStream")}if(!t)return this.player.debugError("RecorderRTC","startRecord error and can not create stream"),void this.player.emitError(vt.recordCreateError,"can not create stream");if(this.player.audio&&this.player.audio.mediaStreamAudioDestinationNode&&this.player.audio.mediaStreamAudioDestinationNode.stream&&!this.player.audio.isStateSuspended()&&this.player.audio.hasAudio&&this.player._opt.hasAudio){const e=this.player.audio.mediaStreamAudioDestinationNode.stream;if(e.getAudioTracks().length>0){const i=e.getAudioTracks()[0];i&&i.enabled&&t.addTrack(i)}}this.recorder=Xn(t,e)}catch(e){return this.player.debugError("RecorderRTC","startRecord error",e),void this.player.emitError(vt.recordCreateError,e)}this.recorder&&(this._isRecording=!0,this.player.emit(vt.recording,!0),this.recorder.startRecording(),this.player.debugLog("RecorderRTC","start recording"),this.player.emit(vt.recordStart),this.startRecordingInterval())}startRecordingInterval(){this.stopRecordingInterval(),this.recordingInterval=window.setInterval((()=>{this.player.emit(vt.recordingTimestamp,this._recordingTimestamp)}),1e3)}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{this.recorder&&this._isRecording||s("recorder is not ready"),t&&this.setFileName(t),this.recorder.stopRecording((()=>{this.player.debugLog("RecorderRTC","stop recording");const t=(this.fileName||_a())+"."+k;if(this.player._opt.recordWebMSupportSeek);else{if(e===Dt){const e=this.recorder.getBlob();i(e),this.player.emit(vt.recordBlob,e)}else i(),this.recorder.save(t);this.player.emit(vt.recordEnd),this._reset(),this.player.emit(vt.recording,!1)}}))}))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.recorder||!this._isRecording)return e();this.recorder.stopRecording((()=>{this._reset(),this.player.emit(vt.recording,!1),this.player.emit(vt.recordCancel),e()}))}))}getToTalByteLength(){return this.totalByteLength}getTotalDuration(){return this.recordTime}getType(){return k}initMetaData(){}_startCanvasRender(){return this._initCanvasRender(),this.canvasElement?(Wo()?(this.player.debugLog(this.TAG_NAME,"use video frame callback"),this.supportVideoFrameCallbackHandle=this.player.video.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))):(this.player.debugLog(this.TAG_NAME,"use setInterval"),this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.canvasElementCtx&&this.canvasElementCtx.drawImage(this.player.video.$videoElement,0,0,this.canvasElement.width,this.canvasElement.height)}),40)),!0):(this.player.debugError(this.TAG_NAME,"canvasElement is null"),!1)}_initCanvasRender(){const e=this.player.getVideoInfo();!this.canvasElement&&e&&(this.canvasElement=document.createElement("canvas"),this.canvasElementCtx=this.canvasElement.getContext("2d"),e.width&&e.height&&(this.canvasElement.width=e.width,this.canvasElement.height=e.height))}_removeCanvasRender(){this.canvasElementCtx&&(this.canvasElementCtx.clearRect(0,0,this.canvasElement.width,this.canvasElement.height),this.canvasElementCtx=null),this.canvasElement&&(this.canvasElement.width=0,this.canvasElement.height=0,this.canvasElement=null)}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}_stopSupportVideoFrameCallback(){this.supportVideoFrameCallbackHandle&&this.player.video.$videoElement&&(this.player.video.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null)}videoFrameCallback(){this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed"):(this.canvasElementCtx&&this.canvasElementCtx.drawImage(this.player.video.$videoElement,0,0,this.canvasElement.width,this.canvasElement.height),this.supportVideoFrameCallbackHandle=this.player.video.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)))}}class Tl{static init(){Tl.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],free:[],edts:[],elst:[],stss:[]};for(let e in Tl.types)Tl.types.hasOwnProperty(e)&&(Tl.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=Tl.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,97,118,99,49,109,112,52,49,0,0,0,0]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,s=Array.prototype.slice.call(arguments,1),r=s.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let a=8;for(let e=0;e=Math.pow(2,32)-1?(a=16,o=new Uint8Array(i+a),o.set(new Uint8Array([0,0,0,1]),0),o.set(Tl.types.mdat,4),o.set(new Uint8Array([i+8>>>56&255,i+8>>>48&255,i+8>>>40&255,i+8>>>32&255,i+8>>>24&255,i+8>>>16&255,i+8>>>8&255,i+8&255]),8)):(o=new Uint8Array(i+a),o[0]=i+8>>>24&255,o[1]=i+8>>>16&255,o[2]=i+8>>>8&255,o[3]=i+8&255,o.set(Tl.types.mdat,4));for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3]))}static trak(e){return Tl.box(Tl.types.trak,Tl.tkhd(e),Tl.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,s=e.presentWidth,r=e.presentHeight;return"video"===e.type?Tl.box(Tl.types.tkhd,new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>>8&255,255&s,0,0,r>>>8&255,255&r,0,0])):"audio"===e.type?Tl.box(Tl.types.tkhd,new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0])):void 0}static edts(e,t){return Tl.box(Tl.types.edts,Tl.elst(e,t))}static elst(e,t){let i=0;for(let s=0;s>>24&255,i>>>16&255,i>>>8&255,255&i,255,255,255,255,0,1,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,0,1,0,0]))}static mdia(e){return Tl.box(Tl.types.mdia,Tl.mdhd(e),Tl.hdlr(e),Tl.minf(e))}static mdhd(e){let t=e.timescale/e.refSampleDuration,i=t*e.duration/e.timescale;return Tl.box(Tl.types.mdhd,new Uint8Array([0,0,0,0,206,186,253,168,206,186,253,168,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?Tl.constants.HDLR_AUDIO:Tl.constants.HDLR_VIDEO,Tl.box(Tl.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?Tl.box(Tl.types.smhd,Tl.constants.SMHD):Tl.box(Tl.types.vmhd,Tl.constants.VMHD),Tl.box(Tl.types.minf,t,Tl.dinf(),Tl.stbl(e))}static dinf(){return Tl.box(Tl.types.dinf,Tl.box(Tl.types.dref,Tl.constants.DREF))}static stbl(e){let t=e.samples,i=[{No:1,num:0,sampleDelte:1,chunkNo:1,duration:t[0].duration}],s=[t[0].duration],r=t.length;for(let e=0;e>>24&255,t>>>16&255,t>>>8&255,255&t]),s=i.byteLength,r=new Uint8Array(s+8*t);r.set(i,0);for(let i=0;i>>24&255,e[i].num>>>16&255,e[i].num>>>8&255,255&e[i].num,e[i].sampleDelte>>>24&255,e[i].sampleDelte>>>16&255,e[i].sampleDelte>>>8&255,255&e[i].sampleDelte]),s),s+=8;return Tl.box(Tl.types.stts,r)}static stss(e){let t=[],i=e.length;for(let s=0;s>>24&255,s>>>16&255,s>>>8&255,255&s]),a=r.byteLength,o=new Uint8Array(a+4*s);o.set(r,0);for(let e=0;e>>24&255,t[e]>>>16&255,t[e]>>>8&255,255&t[e]]),a),a+=4;return Tl.box(Tl.types.stss,o)}static stsc(e){let t=e.length,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]),s=i.byteLength,r=new Uint8Array(s+12*t);r.set(i,0);for(let i=0;i>>24&255,t>>>16&255,t>>>8&255,255&t,a>>>24&255,a>>>16&255,a>>>8&255,255&a,o>>>24&255,o>>>16&255,o>>>8&255,255&o]),s),s+=12}return Tl.box(Tl.types.stsc,r)}static stsz(e){let t=e.length,i=new Uint8Array([0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]),s=i.byteLength,r=new Uint8Array(s+4*t);r.set(i,0);for(let i=0;i>>24&255,t>>>16&255,t>>>8&255,255&t]),s),s+=4}return Tl.box(Tl.types.stsz,r)}static stco(e,t){let i=t[0].chunkOffset;return Tl.box(Tl.types.stco,new Uint8Array([0,0,0,0,0,0,0,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i]))}static stsd(e){return"audio"===e.type?"mp3"===e.codec?Tl.box(Tl.types.stsd,Tl.constants.STSD_PREFIX,Tl.mp3(e)):Tl.box(Tl.types.stsd,Tl.constants.STSD_PREFIX,Tl.mp4a(e)):"avc"===e.videoType?Tl.box(Tl.types.stsd,Tl.constants.STSD_PREFIX,Tl.avc1(e)):Tl.box(Tl.types.stsd,Tl.constants.STSD_PREFIX,Tl.hvc1(e))}static mp3(e){let t=e.channelCount,i=e.sampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Tl.box(Tl.types[".mp3"],s)}static mp4a(e){let t=e.channelCount,i=e.sampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Tl.box(Tl.types.mp4a,s,Tl.esds(e))}static esds(e){let t=e.config||[],i=t.length,s=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return Tl.box(Tl.types.esds,s)}static avc1(e){let t=e.avcc,i=e.codecWidth,s=e.codecHeight,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Tl.box(Tl.types.avc1,r,Tl.box(Tl.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,s=e.codecHeight;let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Tl.box(Tl.types.hvc1,r,Tl.box(Tl.types.hvcC,t))}static mvex(e){return Tl.box(Tl.types.mvex,Tl.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Tl.box(Tl.types.trex,i)}static moof(e,t){return Tl.box(Tl.types.moof,Tl.mfhd(e.sequenceNumber),Tl.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return Tl.box(Tl.types.mfhd,t)}static traf(e,t){let i=e.id,s=Tl.box(Tl.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),r=Tl.box(Tl.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=Tl.sdtp(e),o=Tl.trun(e,a.byteLength+16+16+8+16+8+8);return Tl.box(Tl.types.traf,s,r,o,a)}static sdtp(e){let t=e.samples||[],i=t.length,s=new Uint8Array(4+i);for(let e=0;e>>24&255,s>>>16&255,s>>>8&255,255&s,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);for(let e=0;e>>24&255,t>>>16&255,t>>>8&255,255&t,s>>>24&255,s>>>16&255,s>>>8&255,255&s,r.isLeading<<2|r.dependsOn,r.isDependedOn<<6|r.hasRedundancy<<4|r.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12+16*e)}return Tl.box(Tl.types.trun,a)}static mdat(e){return Tl.box(Tl.types.mdat,e)}}Tl.init();class kl extends wl{constructor(e){super(e),this.TAG_NAME="recorderMP4",this._reset(),e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this._reset(),this.player.debugLog(this.TAG_NAME,"destroy")}_reset(){super._reset(),this.totalDuration=0,this.totalAudioDuration=0,this.totalByteLength=0,this.totalAudioByteLength=0,this.bufferList=[],this.audioBufferList=[],this.cacheTrack={},this.audioCacheTrack={},this.sequenceNumber=0,this.audioSequenceNumber=0}startRecord(){this._isRecording=!0,this.player.emit(vt.recording,!0),this.player.debugLog(this.TAG_NAME,"start recording"),this.player.emit(vt.recordStart),this._startRecordingInterval()}_startRecordingInterval(){this.stopRecordingInterval(),this.recordingInterval=window.setInterval((()=>{this.player.emit(vt.recordingTimestamp,this.getTotalDuration())}),1e3)}_formatFmp4Track(e,t,i,s){return{id:1,sequenceNumber:++this.sequenceNumber,size:e.byteLength,dts:i,cts:s,isKeyframe:t,data:e,duration:0,flags:{isLeading:0,dependsOn:t?2:1,isDependedOn:t?1:0,hasRedundancy:0,isNonSync:t?0:1}}}_formatAudioFmp4Track(e,t){return{id:2,sequenceNumber:++this.audioSequenceNumber,size:e.byteLength,dts:t,pts:t,cts:0,data:new Uint8Array(e),duration:0,originalDts:t,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}}handleAddNaluTrack(e,t,i,s){this.cacheTrack.id&&i>=this.cacheTrack.dts?(this.cacheTrack.duration=i-this.cacheTrack.dts,this._handleAddFmp4Track(this.cacheTrack)):this.cacheTrack={},this.cacheTrack=this._formatFmp4Track(e,t,i,s)}handleAddAudioTrack(e,t){}_handleAddFmp4Track(e){if(!this.isRecording)return void this.player.debugError(this.TAG_NAME,"_handleAddFmp4Track, isRecording is false ");if((null===this.sps||null===this.pps)&&this.isH264)return void this.player.debugError(this.TAG_NAME,"_handleAddFmp4Track, is h264 and this.sps or this.pps is null ");if((null===this.sps||null===this.pps||null===this.vps)&&this.isH265)return void this.player.debugError(this.TAG_NAME,"_handleAddFmp4Track, is h265 and this.sps or this.pps or this.vps is null ");const t=Object.assign({},e);t.pts=t.dts+t.cts;const i=t.data;if(t.isKeyframe)if(this.isH264){const e=new Uint8Array(this.sps.byteLength+this.pps.byteLength);e.set(this.sps,0),e.set(this.pps,this.sps.byteLength);const s=new Uint8Array(e.byteLength+i.byteLength);s.set(e,0),s.set(i,e.byteLength),t.data=s}else if(this.isH265){const e=new Uint8Array(this.sps.byteLength+this.pps.byteLength+this.vps.byteLength);e.set(this.vps,0),e.set(this.sps,this.vps.byteLength),e.set(this.pps,this.vps.byteLength+this.sps.byteLength);const s=new Uint8Array(e.byteLength+i.byteLength);s.set(e,0),s.set(i,e.byteLength),t.data=s}t.size=t.data.byteLength,this.totalDuration+=t.duration,this.totalByteLength+=t.data.byteLength,t.duration=0,t.originalDts=t.dts,delete t.id,delete t.sequenceNumber,this.bufferList.push(t)}_handleAddFmp4AudioTrack(e){const t=Object.assign({},e);t.pts=t.dts+t.cts,t.size=t.data.byteLength,this.totalAudioDuration+=t.duration,this.totalAudioByteLength+=t.data.byteLength,t.duration=0,t.originalDts=t.dts,delete t.id,delete t.sequenceNumber,this.audioBufferList.push(t)}getTotalDuration(){return this.totalDuration/1e3}getType(){return T}getToTalByteLength(){return this.totalByteLength+this.totalAudioByteLength}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{if(!this.isRecording)return this.player.debugError(this.TAG_NAME,"stop recording fail, isRecording is false "),s("stop recording fail, isRecording is false ");if(0===this.bufferList.length)return this.player.debugError(this.TAG_NAME,"stop recording fail, this.bufferList.length is 0 "),s("stop recording fail, this.bufferList.length is 0 ");t&&this.setFileName(t);const r={id:1,type:"video",sps:this.sps,pps:this.pps,samples:this.bufferList,sequenceNumber:this.bufferList.length,length:0,addSampleNum:1,duration:0,...this.metaInfo},a={id:2,type:"audio",sequenceNumber:this.audioBufferList.length,samples:this.audioBufferList,...this.audioMetaInfo},o=[r];a.samples.length>0&&o.push(a),this.player.debugLog(this.TAG_NAME,`trackList length is ${o.length}`);const n=Tl.generateInitSegment({timescale:1e3,duration:this.totalDuration},o,this.totalByteLength+this.totalAudioByteLength);this.player.debugLog(this.TAG_NAME,"stop recording");const l=new Blob([n],{type:"application/octet-stream"});if(e===Dt)i(l),this.player.emit(vt.recordBlob,l);else{i();Ha((this.fileName||_a())+"."+T,l)}this._reset(),this.player.emit(vt.recording,!1)}))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.isRecording)return e();this._reset(),this.player.emit(vt.recording,!1),this.player.emit(vt.recordCancel),e()}))}_getBufferTs(e){}}function Ll(){for(var e=arguments.length,t=new Array(e),i=0;i{const i=new s((0|e.byteLength)+(0|t.byteLength));return i.set(e,0),i.set(t,0|e.byteLength),i}),new s)}function Cl(e){if((e=e.replace(/\s/g,"")).length%2!=0)return console.error("hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ",e.length),null;const t=new Uint8Array(e.length/2);for(let i=0;i{this.player.emit(vt.recordingTimestamp,this.getTotalDuration())}),1e3)}addMetaData(e){this.flvMetaData=e}addAACSequenceHeader(e){this.aacSequenceHeader=e}addVideoSequenceHeader(e){this.videoSequenceHeader=e}addVideo(e,t){this._setStartTime(t);const i=this._getBufferTs(t);this.hasVideo=!0,this._createBufferItem(e,He,i)}addAudio(e,t){this._setStartTime(t);const i=this._getBufferTs(t);this.hasAudio=!0,this._createBufferItem(e,$e,i)}_setStartTime(e){null===this.startTime&&this._isRecording&&(this.startTime=e,this.player.debugLog(this.TAG_NAME,`_setStartTime is ${e}`))}_getBufferTs(e){e>this.currentTime&&(this.currentTime=e);let t=0;return this.startTime&&e>=this.startTime&&(t=e-this.startTime),t>this.prevTimestamp?this.prevTimestamp=t:t=this.prevTimestamp,t}_createBufferItem(e,t,i){const s=this._createFlvPacket(e,t,i),r=this._createFlvTag(s);this.totalByteLength+=r.byteLength,this.bufferList.push(r)}_createFlvTag(e){let t=11+e.header.length,i=new Uint8Array(t+4);i[0]=e.header.type;let s=new DataView(i.buffer);return i[1]=e.header.length>>16&255,i[2]=e.header.length>>8&255,i[3]=255&e.header.length,i[4]=e.header.timestamp>>16&255,i[5]=e.header.timestamp>>8&255,i[6]=255&e.header.timestamp,i[7]=e.header.timestamp>>24&255,i[8]=0,i[9]=0,i[10]=0,s.setUint32(t,t),i.set(e.payload.subarray(0,e.header.length),11),i}_createFlvPacket(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return{header:{length:e?e.length:0,timestamp:i,type:t},payload:e}}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{if(!this.isRecording)return this.player.debugError(this.TAG_NAME,"stop recording fail, isRecording is false "),s("stop recording fail, isRecording is false ");if(0===this.bufferList.length)return this.player.debugError(this.TAG_NAME,"stop recording fail, this.bufferList.length is 0 "),s("stop recording fail, this.bufferList.length is 0 ");t&&this.setFileName(t);const r=new Uint8Array([70,76,86,1,0,0,0,0,9,0,0,0,0]);this.hasVideo&&(r[4]|=1),this.hasAudio&&(r[4]|=4);let a=[r];if(this.flvMetaData){const e=this._createFlvPacket(this.flvMetaData,Je),t=this._createFlvTag(e);a.push(t)}if(this.videoSequenceHeader){const e=this._createFlvPacket(this.videoSequenceHeader,He),t=this._createFlvTag(e);a.push(t)}if(this.aacSequenceHeader){const e=this._createFlvPacket(this.aacSequenceHeader,$e),t=this._createFlvTag(e);a.push(t)}const o=function(e){const t=e[0].constructor;return e.reduce(((e,i)=>{const s=new t((0|e.byteLength)+(0|i.byteLength));return s.set(e,0),s.set(i,0|e.byteLength),s}),new t)}(a.concat(this.bufferList));this.player.debugLog(this.TAG_NAME,"stop recording");const n=new Blob([o],{type:"application/octet-stream"});if(e===Dt)i(n),this.player.emit(vt.recordBlob,n);else{i();Ha((this.fileName||_a())+"."+L,n)}this._reset(),this.player.emit(vt.recording,!1)}))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.isRecording)return e();this._reset(),this.player.emit(vt.recording,!1),this.player.emit(vt.recordCancel),e()}))}getTotalDuration(){let e=0;return null!==this.startTime&&null!==this.currentTime&&(e=this.currentTime-this.startTime),Math.round(e/1e3)}getType(){return L}getToTalByteLength(){return this.totalByteLength}}const Dl={init:0,findFirstStartCode:1,findSecondStartCode:2};class Rl extends a{constructor(e){super(),this.player=e,this.isDestroyed=!1,this.reset()}destroy(){this.isDestroyed=!1,this.off(),this.reset()}reset(){this.stats=Dl.init,this.tempBuffer=new Uint8Array(0),this.parsedOffset=0,this.versionLayer=0}dispatch(e,t){let i=new Uint8Array(this.tempBuffer.length+e.length);for(i.set(this.tempBuffer,0),i.set(e,this.tempBuffer.length),this.tempBuffer=i;!this.isDestroyed;){if(this.state==Dl.Init){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(!(!1&this.tempBuffer[this.parsedOffset+1])){this.versionLayer=this.tempBuffer[this.parsedOffset+1],this.state=Dl.findFirstStartCode,this.fisrtStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==Dl.findFirstStartCode){let e=!1;for(;this.tempBuffer.length-this.parsedOffset>=2&&!this.isDestroyed;)if(255==this.tempBuffer[this.parsedOffset]){if(this.tempBuffer[this.parsedOffset+1]==this.versionLayer){this.state=Dl.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this.parsedOffset+=2,e=!0;break}this.parsedOffset++}else this.parsedOffset++;if(e)continue;break}if(this.state==Dl.findSecondStartCode){let e=this.tempBuffer.slice(this.fisrtStartCodeOffset,this.secondStartCodeOffset);this.emit("data",e,t),this.tempBuffer=this.tempBuffer.slice(this.secondStartCodeOffset),this.fisrtStartCodeOffset=0,this.parsedOffset=2,this.state=Dl.findFirstStartCode}}}}class Pl extends wl{constructor(e){super(e),this.TAG_NAME="recorderWasmMP4",this._reset(),this.wasmMp4Recorder=null,this.mp3Demuxer=null,this.wasmMp4RecorderStarted=!1,this.pendingAudioFrames=[],this.pendingVideoFrames=[],e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.mp3Demuxer&&(this.mp3Demuxer.destroy(),this.mp3Demuxer=null),this._reset(),this.player.debugLog(this.TAG_NAME,"destroy")}_reset(){super._reset(),this.cacheTrack={},this.audioCacheTrack={},this.totalAudioDuration=0,this.totalByteLength=0,this.totalAudioByteLength=0,this.hasAudio=!1,this.hasVideo=!1}getType(){return T}isWasmMp4(){return!0}getTotalDuration(){return this._recordingTimestamp/1e3}getToTalByteLength(){return this.totalByteLength+this.totalAudioByteLength}startRecord(){const e=this.player,t=this.player.getAudioInfo(),i=this.player.getVideoInfo(),s={};if(this.codecId){const e={type:this.codecId,width:i.width,height:i.height,extraData:this.metaInfo.avcc};s.video=e,this.hasVideo=!0}if(t.encTypeCode){const e={type:t.encTypeCode,sampleRate:t.sampleRate,channels:t.channels,extraData:this.audioMetaInfo.extraData,depth:t.depth};this.audioCodeId=t.encTypeCode,s.audio=e,this.hasAudio=!0}this.wasmMp4Recorder=new window.JessibucaProMp4Recorder({debug:e._opt.debug,debugLevel:e._opt.debugLevel,debugUuid:e._opt.debugUuid,decoder:e._opt.wasmMp4RecorderDecoder}),this.wasmMp4Recorder.on("recordingTimestamp",(e=>{this._recordingTimestamp=Math.round(e/1e3)})),this._isRecording=!0,this.wasmMp4Recorder.startRecord(s).then((()=>{this.player.emit(vt.recording,!0),this.wasmMp4RecorderStarted=!0,this.player.debugLog(this.TAG_NAME,"start recording"),this.player.emit(vt.recordStart),this.startRecordingInterval()})).catch((e=>{this.player.debugError(this.TAG_NAME,"startRecord error",e),this.player.emitError(vt.recordCreateError,e)}))}startRecordingInterval(){this.stopRecordingInterval(),this.recordingInterval=window.setInterval((()=>{this.player.emit(vt.recordingTimestamp,this.recordTime)}),1e3)}stopRecordAndSave(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xt,t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>this.isRecording?0===this._recordingTimestamp?(this.player.debugError(this.TAG_NAME,"stop recording fail, recording time is 0 "),s("stop recording fail, recording time is 0 ")):(t&&this.setFileName(t),void this.wasmMp4Recorder.stopRecord().then((t=>{if(e===Dt)i(t),this.player.emit(vt.recordBlob,t);else{i();Ha((this.fileName||_a())+"."+T,t)}})).catch((e=>{this.player.debugError(this.TAG_NAME,"stopRecord error",e),s(e)})).finally((()=>{this._reset(),this.player.emit(vt.recording,!1)}))):(this.player.debugError(this.TAG_NAME,"stop recording fail, isRecording is false "),s("stop recording fail, isRecording is false "))))}cancelRecord(){return new Promise(((e,t)=>{if(this.player.debugLog(this.TAG_NAME,"cancel recording"),!this.isRecording||0===this._recordingTimestamp)return e();this.wasmMp4Recorder.stopRecord().then((t=>{e()})).catch((e=>{this.player.debugError(this.TAG_NAME,"stopRecord error",e),t(e)})).finally((()=>{this._reset(),this.player.emit(vt.recording,!1),this.player.emit(vt.recordCancel)}))}))}handleAddAudioTrack(e,t){Io(this.hasAudio)||(this.wasmMp4RecorderStarted?(this.pendingAudioFrames.length>0&&(this.pendingAudioFrames.forEach((e=>{this._prevHandleAddAudioTrack(e.payload,e.dts)})),this.pendingAudioFrames=[]),this._prevHandleAddAudioTrack(e,t)):this.pendingAudioFrames.push({payload:e,dts:t}))}_prevHandleAddAudioTrack(e,t){this.audioCodeId===Ot?(this.mp3Demuxer||(this.mp3Demuxer=new Rl(this.player),this.mp3Demuxer.on("data",((e,t)=>{this._handleAddAudioTrack(e,t)}))),this.mp3Demuxer.dispatch(e,t)):this._handleAddAudioTrack(e,t)}_handleAddAudioTrack(e,t){this.audioCacheTrack.id&&t>=this.audioCacheTrack.dts?(this.audioCacheTrack.duration=t-this.audioCacheTrack.dts,this.totalAudioDuration+=this.audioCacheTrack.duration,this.totalAudioByteLength+=this.audioCacheTrack.payload.byteLength,this.wasmMp4Recorder.sendAudioFrame(this.audioCacheTrack.payload,this.audioCacheTrack.dts)):this.audioCacheTrack={},this.audioCacheTrack={id:2,payload:e,dts:t}}handleAddNaluTrack(e,t,i,s){Io(this.hasVideo)||(this.wasmMp4RecorderStarted?(this.pendingVideoFrames.length>0&&(this.pendingVideoFrames.forEach((e=>{this._prevHandleAddNaluTrack(e.payload,e.isIFrame,e.dts,e.cts)})),this.pendingVideoFrames=[]),this._prevHandleAddNaluTrack(e,t,i,s)):this.pendingVideoFrames.push({payload:e,isIFrame:t,dts:i,cts:s}))}_prevHandleAddNaluTrack(e,t,i,s){this.cacheTrack.id&&i>=this.cacheTrack.dts?(this.cacheTrack.duration=i-this.cacheTrack.dts,this.totalByteLength+=this.cacheTrack.payload.byteLength,this.wasmMp4Recorder.sendVideoFrame(this.cacheTrack.payload,this.cacheTrack.isIFrame,this.cacheTrack.dts,this.cacheTrack.cts)):this.cacheTrack={},this.cacheTrack={id:1,payload:e,isIFrame:t,dts:i,cts:s}}}class Il{constructor(e){return new(Il.getLoaderFactory(e,e._opt))(e)}static getLoaderFactory(e,t){if(e.isOldHls()||e.isWebrtcH264()||e.isAliyunRtc())return El;if(t.recordType===T){if(t.useWasm||t.useMSE||t.useWCS)return window.JessibucaProMp4Recorder&&t.mp4RecordUseWasm?Pl:kl}else if(t.recordType===L)return xl;return El}}function Bl(e,t,i){let s=e;if(t+i=128){t.push(String.fromCharCode(65535&e)),s+=2;continue}}}else if(i[s]<240){if(Bl(i,s,2)){let e=(15&i[s])<<12|(63&i[s+1])<<6|63&i[s+2];if(e>=2048&&55296!=(63488&e)){t.push(String.fromCharCode(65535&e)),s+=3;continue}}}else if(i[s]<248&&Bl(i,s,3)){let e=(7&i[s])<<18|(63&i[s+1])<<12|(63&i[s+2])<<6|63&i[s+3];if(e>65536&&e<1114112){e-=65536,t.push(String.fromCharCode(e>>>10|55296)),t.push(String.fromCharCode(1023&e|56320)),s+=4;continue}}t.push(String.fromCharCode(65533)),++s}return t.join("")}let Fl=function(){let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}();class Ul{static parseScriptData(e,t,i){let s={};try{let r=Ul.parseValue(e,t,i),a=Ul.parseValue(e,t+r.size,i-r.size);s[r.data]=a.data}catch(e){console.error("AMF",e.toString())}return s}static parseObject(e,t,i){let s=Ul.parseString(e,t,i),r=Ul.parseValue(e,t+s.size,i-s.size),a=r.objectEnd;return{data:{name:s.data,value:r.data},size:s.size+r.size,objectEnd:a}}static parseVariable(e,t,i){return Ul.parseObject(e,t,i)}static parseString(e,t,i){let s,r=new DataView(e,t,i).getUint16(0,!Fl);return s=r>0?Ml(new Uint8Array(e,t+2,r)):"",{data:s,size:2+r}}static parseLongString(e,t,i){let s,r=new DataView(e,t,i).getUint32(0,!Fl);return s=r>0?Ml(new Uint8Array(e,t+4,r)):"",{data:s,size:4+r}}static parseDate(e,t,i){let s=new DataView(e,t,i),r=s.getFloat64(0,!Fl);return r+=60*s.getInt16(8,!Fl)*1e3,{data:new Date(r),size:10}}static parseValue(e,t,i){let s,r=new DataView(e,t,i),a=1,o=r.getUint8(0),n=!1;try{switch(o){case 0:s=r.getFloat64(1,!Fl),a+=8;break;case 1:s=!!r.getUint8(1),a+=1;break;case 2:{let r=Ul.parseString(e,t+1,i-1);s=r.data,a+=r.size;break}case 3:{s={};let o=0;for(9==(16777215&r.getUint32(i-4,!Fl))&&(o=3);a{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ne)}this.decoderWorker=new Worker(t),this._initDecoderWorker(),this._listenPlaybackEvents(),e.debugLog("decoderWorker",`init and decoder url is ${t}`),e.on(vt.visibilityChange,(()=>{this.updateWorkConfig({key:"visibility",value:e.visibility})}))}destroy(){return new Promise(((e,t)=>{if(this.player.loaded)if(this.player.debugLog("decoderWorker","has loaded and post message to destroy"),this.decoderWorker){const t={};this.player.isMseDecoderUseWorker()&&(t.isVideoInited=this.player.isMseVideoStateInited()),this.decoderWorker.postMessage({cmd:Xe,options:t}),this.destroyResolve=e,this.decoderWorkerCloseTimeout=setTimeout((()=>{this.player.debugWarn("decoderWorker","send close but not response and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0)}),2e3)}else this.player.debugWarn("decoderWorker","has loaded but decoderWorker is null and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0);else this.player.debugLog("decoderWorker","has not loaded and destroy directly"),this._destroy(),setTimeout((()=>{e()}),0)}))}_destroy(){this.decoderWorkerCloseTimeout&&(clearTimeout(this.decoderWorkerCloseTimeout),this.decoderWorkerCloseTimeout=null),this.workerUrl&&(window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.decoderWorker&&(this.decoderWorker.terminate(),this.decoderWorker.onerror=null,this.decoderWorker.onmessageerror=null,this.decoderWorker.onmessage=null,this.decoderWorker=null),this.player.debugLog("decoderWorker","destroy"),this.destroyResolve&&(this.destroyResolve(),this.destroyResolve=null),this.isDestroyed=!0}_listenPlaybackEvents(){this.player.isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender()&&(this.player.debugLog(this.TAG_NAME,"listenPlaybackEvents"),this.player.on(vt.playbackPause,(e=>{this.updatePlaybackIsPause(e)})))}_initDecoderWorker(){this.player,this.decoderWorker.onerror=e=>{const t=e.filename||"",i=e.message||"",s=t&&(-1!==t.indexOf(".wasm")||-1!==t.indexOf("wasm://"));s&&-1!==i.indexOf(yr)?this.player.debugLog("decoderWorker",`onerror and ignore filename: ${t},message: ${i}`,e):(this.player.debugError("decoderWorker",`onerror filename: ${t},message: ${i}`,e),s?this.player.emitError(wt.decoderWorkerWasmError,`filename: ${t},message: ${i}`):this.player.emitError(wt.decoderWorkerInitError,`filename: ${t},message: ${i}`))},this.decoderWorker.onmessageerror=e=>{this.player.debugError("decoderWorker","onmessageerror",e)},this.decoderWorker.onmessage=e=>{const t=e.data;switch(t.cmd){case he:this.player.debugLog("decoderWorker","onmessage:",he),this.decoderWorker&&this._initWork(),this.player.loaded||this.player.emit(vt.load),this.player.emit(vt.decoderWorkerInit);break;case Ae:this.player.debugLog("decoderWorker","onmessage:",Ae,t.code),this.player._times.decodeStart||(this.player._times.decodeStart=_a()),this.player.video.updateVideoInfo({encTypeCode:t.code});break;case be:this.player.debugLog("decoderWorker","onmessage:",be,t.codecId),this.player.recorder&&this.player.recorder.initMetaData(t.buffer,t.codecId),this.player.video.updateVideoInfo({encTypeCode:t.codecId});break;case ge:this.player.debugLog("decoderWorker","onmessage:",ge,t.code),this.player.audio&&this.player.audio.updateAudioInfo({encTypeCode:t.code});break;case ye:this.player.debugLog("decoderWorker","onmessage:",ye),this.player.recorder&&this.player.recorder.initAudioAacExtraData(t.buffer);break;case ce:if(this.player.debugLog("decoderWorker","onmessage:",ce,`width:${t.w},height:${t.h}`),Ja(t.w)||Ja(t.h))return void this.player.emitError(wt.videoInfoError,`video width ${t.w} or height ${t.h} is empty`);if(this.player.video.bindMediaStream(),this.player.video.updateVideoInfo({width:t.w,height:t.h}),!this.player._opt.openWebglAlignment&&t.w/2%4!=0&&this.player.getRenderType()===q)return void this.player.emitError(wt.webglAlignmentError);this.player.video.initCanvasViewSize(),(this.player._opt.playType===w||this.player.isPlayVod())&&(this.player.video.initFps(),this.player.video.initVideoDelay());break;case me:if(this.player.debugLog("decoderWorker","onmessage:",me,`channels:${t.channels},sampleRate:${t.sampleRate}`),t.channels>2)return void this.player.emitError(wt.audioChannelError,`audio channel is ${t.channels}, max is 2`);this.player.audio&&(this.player.audio.updateAudioInfo(t),(this.player._opt.playType===_||this.player._opt.playType===w||this.player.isPlayVod())&&this.player.audio.initScriptNode());break;case ue:if(!this.player.video)return void this.player.debugWarn("decoderWorker","onmessage render but video is null");if(this.player.isPlayer()){if(Io(this.player.video.getHasInit()))return void this.player.debugWarn("decoderWorker","onmessage render but video has not init");this.player.video.render(t),this.player.handleRender(),this.player.emit(vt.timeUpdate,t.ts),this.player.updateStats({dfps:!0,buf:t.delay}),this.player._times.videoStart||(this.player._times.videoStart=_a(),this.player.handlePlayToRenderTimes())}else if(this.player.isPlayback())this.player.updateStats({dfps:!0}),Io(this.player.playbackPause)?(this.player.playback.isUseLocalCalculateTime&&this.player.playback.increaseLocalTimestamp(),this.player.playback.isUseFpsRender?this.player.video.pushData(t):this.player.video.render$2(t)):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player.playback.isUseFpsRender&&this.player.video.pushData(t);else if(this.player.isPlayVod())if(this.player.playVod.isSeeking()){const e=this.player.playVod.seekingTimestamp,i=Math.abs(t.ts-e);this.player.debug.log("decoderWorker","onmessage:",ue,`msg ts:${t.ts} and seekingTimestamp:${e} and diff:${i} and ignore render`),i<500&&(this.player.playVod.removeSeekingTimestamp(),this.player.updateStats({dfps:!0}),this.player.video.render$2(t))}else this.player.updateStats({dfps:!0}),this.player.video.render$2(t);break;case ve:this.player.recorder&&this.player.recorder.isRecording&&this.player._opt.recordType===T&&this.player.recorder.handleAddNaluTrack(t.buffer,t.isIFrame,t.ts,t.cts);break;case fe:this.player.recorder&&this.player.recorder.isRecording&&this.player._opt.recordType===T&&this.player.recorder.isWasmMp4()&&this.player.recorder.handleAddAudioTrack(t.buffer,t.ts);break;case _e:const{webcodecsDecoder:e,mseDecoder:i}=this.player;this.player.updateStats({buf:t.delay});const s=new Uint8Array(t.payload);this.player._opt.useWCS&&!this.player._opt.useOffscreen?e.decodeVideo(s,t.ts,t.isIFrame,t.cts):this.player._opt.useMSE&&i.decodeVideo(s,t.ts,t.isIFrame,t.cts);break;case Se:if(this.player._opt.useMSE){const e=new Uint8Array(t.payload);this.player.mseDecoder.decodeAudio(e,t.ts,t.cts)}break;case pe:if(!this.player.audio)return void this.player.debugWarn("decoderWorker","onmessage playAudio but audio is null");if(this.player.playing&&this.player.audio||!this.player.video)if(this.player._opt.hasVideo||this.player.handleRender(),this.player._opt.playType===_)this.player.audio.play(t.buffer,t.ts);else if(this.player._opt.playType===w)(Io(this.player.playbackPause)||this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player.playback.isUseFpsRender)&&this.player.audio.play(t.buffer,t.ts);else if(this.player.isPlayVod()&&Io(this.player.playVodPause)){if(this.player.playVod.isSeeking())return;this.player.audio.play(t.buffer,t.ts)}break;case we:if(t.type===vt.streamSuccess)this.player.stream?this.player.stream.emit(vt.streamSuccess):this.player.debugWarn("decoderWorker","onmessage and workerFetch response stream success but stream is null");else if(t.type===vt.streamRate)this.player.emit(vt.kBps,(t.value/1024).toFixed(2));else if(t.type===vt.streamEnd)this.player?(t.value===g&&this.player.emit(vt.websocketClose,t.msg),this.player.stream?this.player.stream.emit(vt.streamEnd,t.msg):this.player.debugWarn("decoderWorker","onmessage and workerFetch response stream end but player.stream is null")):this.player.debugWarn("decoderWorker","onmessage and workerFetch response stream end but player is null");else if(t.type===vt.streamEndInner)this.player.updateStreamEndInner();else if(t.type===wt.websocketError)this.player&&this.player.stream?this.player.stream.emit(wt.websocketError,t.value):this.player.debugWarn("decoderWorker","onmessage and workerFetch response websocket error but stream is null");else if(t.type===wt.fetchError)this.player&&this.player.stream?this.player.stream.emit(wt.fetchError,t.value):this.player.debugWarn("decoderWorker","onmessage and workerFetch response fetch error but stream is null");else if(t.type===vt.streamAbps)this.player.updateStats({abps:t.value});else if(t.type===vt.streamVbps)this.player._times.demuxStart||(this.player._times.demuxStart=_a()),this.player.updateStats({vbps:t.value});else if(t.type===vt.streamDts)this.player.updateStats({dts:t.value});else if(t.type===vt.netBuf)this.player.updateStats({netBuf:t.value});else if(t.type===vt.networkDelayTimeout)this.player.emit(vt.networkDelayTimeout,t.value);else if(t.type===vt.streamStats){const e=JSON.parse(t.value);this.player.updateStats({workerStats:e})}else t.type===vt.websocketOpen&&this.player.emit(vt.websocketOpen);break;case Ee:this.player&&(this.player.videoIframeIntervalTs=t.value);break;case Te:this.player&&this.player.updateStats({isDropping:!0});break;case Oe:this.player.decoderCheckFirstIFrame();break;case Le:this.player&&this.player.video&&this.player.video.setStreamFps(t.value);break;case De:this.player.emitError(wt.simdH264DecodeVideoWidthIsTooLarge,t.value);break;case Ce:this.player.emitError(wt.wasmWidthOrHeightChange,t.value);break;case xe:this.player.emitError(wt.simdDecodeError);break;case ke:this.player.debugLog("decoderWorker","onmessage:",ke),this.player.destroy(),console.error("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码),如需要购买商业授权,可以联系微信:bosswancheng"),alert("Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"),window.location.reload();break;case Re:this.player.debugLog("decoderWorker","onmessage:",Re),this._destroy();break;case Pe:this.player&&this.player.pushTempStream(t.buffer);break;case Ie:this.player&&this.player.emitVideoSei({ts:t.ts,data:new Uint8Array(t.buffer)});break;case Be:if(this.player){if(this.player.isRecordTypeFlv()){const e=new Uint8Array(t.buffer);this.player.recorder.addMetaData(e)}const e=Ol(new Uint8Array(t.buffer));e&&e.onMetaData&&this.player.updateMetaData(e.onMetaData)}break;case Me:if(this.player&&this.player.isRecordTypeFlv()){const e=new Uint8Array(t.buffer);this.player.recorder.addAACSequenceHeader(e,t.ts)}break;case Fe:if(this.player&&this.player.isRecordTypeFlv()){const e=new Uint8Array(t.buffer);this.player.recorder.addVideoSequenceHeader(e,t.ts)}break;case Ue:if(this.player&&this.player.isRecordTypeFlv()&&this.player.recording){const e=new Uint8Array(t.buffer);t.type===ze?this.player.recorder.addVideo(e,t.ts):t.type===Ve&&this.player.recorder.addAudio(e,t.ts)}break;case Ne:this.player&&(this.player.debugLog("decoderWorker","onmessage:",Ne),this.player.video.$videoElement.srcObject=t.mseHandle);break;case je:this.player&&(this.player.debugLog("decoderWorker","onmessage:",je,t.value),this.player._mseWorkerData.firstRenderTime=Number(t.value));break;case Ge:this.player&&(this.player.debugLog("decoderWorker","onmessage:",Ge,t.value,t.msg),this.player.emitError(t.value,t.msg));break;case We:this.player&&(this.player.debugLog(this.TAG_NAME,"onmessage:",We),this.player.emitError(wt.notSupportNewWasm));break;default:this.player[t.cmd]&&this.player[t.cmd](t)}}}_initWork(){const e={debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid,useOffscreen:this.player._opt.useOffscreen,useWCS:this.player._opt.useWCS,useMSE:this.player._opt.useMSE,videoBuffer:this.player._opt.videoBuffer,videoBufferDelay:this.player._opt.videoBufferDelay,openWebglAlignment:this.player._opt.openWebglAlignment,playType:this.player._opt.playType,hasAudio:this.player._opt.hasAudio,hasVideo:this.player._opt.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:this.player._opt.playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:this.player._opt.playbackConfig.isCacheBeforeDecodeForFpsRender,sampleRate:this.player.audio&&this.player.audio.audioContext&&this.player.audio.audioContext.sampleRate||Or,audioBufferSize:this.player.audio&&this.player.audio.getAudioBufferSize()||1024,networkDelay:this.player._opt.networkDelay,visibility:this.player.visibility,useSIMD:this.player._opt.useSIMD,recordType:this.player._opt.recordType,checkFirstIFrame:this.player._opt.checkFirstIFrame,isM7sCrypto:this.player._opt.isM7sCrypto,isXorCrypto:this.player._opt.isXorCrypto,isSm4Crypto:this.player._opt.isSm4Crypto,isSm4CryptoH265V2:this.player._opt.isSm4CryptoH265V2,sm4CryptoKey:this.player._opt.sm4CryptoKey,m7sCryptoAudio:this.player._opt.m7sCryptoAudio,isFlv:this.player._opt.isFlv,isFmp4:this.player._opt.isFmp4,isMpeg4:this.player._opt.isMpeg4,isTs:this.player._opt.isTs,isNakedFlow:this.player._opt.isNakedFlow,isHls265:this.player.isUseHls265(),isEmitSEI:this.player._opt.isEmitSEI,isRecordTypeFlv:this.player.isRecordTypeFlv(),isWasmMp4:this.player.recorder&&this.player.recorder.isWasmMp4()||!1,isChrome:uo(),isFirefox:Ra(),supportMSEDecodeHevc:Wa(),isDropSameTimestampGop:this.player._opt.isDropSameTimestampGop,mseDecodeAudio:this.player._opt.mseDecodeAudio,wcsDecodeAudio:this.player._opt.wcsDecodeAudio,nakedFlowH265DemuxUseNew:this.player._opt.nakedFlowH265DemuxUseNew,mseDecoderUseWorker:this.player._opt.mseDecoderUseWorker,mseAutoCleanupMinBackwardDuration:this.player._opt.mseAutoCleanupMinBackwardDuration,mseAutoCleanupMaxBackwardDuration:this.player._opt.mseAutoCleanupMaxBackwardDuration,mseCorrectTimeDuration:this.player._opt.mseCorrectTimeDuration,mseCorrectAudioTimeDuration:this.player._opt.mseCorrectAudioTimeDuration,nakedFlowDemuxUseNew:this.player._opt.nakedFlowDemuxUseNew,nakedFlowFps:this.player._opt.nakedFlowFps,checkStreamEnd:this.player._opt.checkStreamEnd};this.decoderWorker.postMessage({cmd:qe,opt:JSON.stringify(e)}),this.player._opt.cryptoKey&&this.player._opt.cryptoKey.byteLength>0&&this.player._opt.cryptoIV&&this.player._opt.cryptoIV.byteLength>0&&(this.updateWorkConfig({key:"cryptoKey",value:this.player._opt.cryptoKey}),this.updateWorkConfig({key:"cryptoIV",value:this.player._opt.cryptoIV}))}decodeVideo(e,t,i){this.player._opt.playType===_?this.player.isUseHls265()?this._decodeVideoNoDelay(e,t,i):this._decodeVideo(e,t,i):this.player._opt.playType===w?this.player.isPlaybackOnlyDecodeIFrame()?i&&(this.player.debugLog("decoderWorker",`current rate is ${this.player.video.rate},only decode i frame`),this._decodeVideoNoDelay(e,t,i)):1===this.player.video.rate?this._decodeVideo(e,t,i):this._decodeVideoNoDelay(e,t,i):this.player.isPlayVod()&&this._decodeVideoNoDelay(e,t,i)}_decodeVideo(e,t,i){const s={type:ze,ts:Math.max(t,0),isIFrame:i};this.decoderWorker.postMessage({cmd:Ke,buffer:e,options:s},[e.buffer])}_decodeVideoNoDelay(e,t,i){this.decoderWorker.postMessage({cmd:Qe,buffer:e,ts:Math.max(t,0),isIFrame:i},[e.buffer])}decodeAudio(e,t){this.player._opt.playType===_?this.player._opt.useWCS||this.player._opt.useMSE||this.player.isUseHls265()?this._decodeAudioNoDelay(e,t):this._decodeAudio(e,t):this.player._opt.playType===w?this.player.isPlaybackOnlyDecodeIFrame()||(1===this.player.video.rate?this._decodeAudio(e,t):this._decodeAudioNoDelay(e,t)):this.player.isPlayVod()&&this._decodeAudioNoDelay(e,t)}_decodeAudio(e,t){const i={type:Ve,ts:Math.max(t,0)};this.decoderWorker.postMessage({cmd:Ke,buffer:e,options:i},[e.buffer])}_decodeAudioNoDelay(e,t){this.decoderWorker.postMessage({cmd:Ye,buffer:e,ts:Math.max(t,0)},[e.buffer])}updateWorkConfig(e){this.decoderWorker&&this.decoderWorker.postMessage({cmd:Ze,key:e.key,value:e.value})}workerFetchStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{_opt:i}=this.player;let s=[];t.protocols&&(s=t.protocols,delete t.protocols);const r={protocol:i.protocol,isFlv:i.isFlv,isFmp4:i.isFmp4,isMpeg4:i.isMpeg4,isNakedFlow:i.isNakedFlow,isTs:i.isTs,options:t};this.decoderWorker.postMessage({cmd:tt,url:e,protocols:s,opt:JSON.stringify(r)})}clearWorkBuffer(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.decoderWorker.postMessage({cmd:et,needClear:e})}workerSendMessage(e){this.decoderWorker.postMessage({cmd:it,message:e})}updateVideoTimestamp(e){this.decoderWorker.postMessage({cmd:st,message:e})}updatePlaybackIsPause(e){this.decoderWorker.postMessage({cmd:rt,isPause:e})}}var jl,Gl="application/json, text/javascript",Wl="text/html",Vl=/^(?:text|application)\/xml/i,zl=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,$l=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hl=/^\s*$/,Jl={},ql={},Kl="",Yl={type:"GET",beforeSend:Ql,success:Ql,error:Ql,complete:Ql,context:null,xhr:function(){return new window.XMLHttpRequest},accepts:{json:Gl,xml:"application/xml, text/xml",html:Wl,text:"text/plain","*":"*/".concat("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:Ql,contentType:"application/x-www-form-urlencoded; charset=UTF-8"};function Ql(){}var Xl=function(e,t){"object"==typeof e&&(t=e,e=void 0);var i=od({},t=t||{});for(var s in Yl)void 0===i[s]&&(i[s]=Yl[s]);try{var r={},a=new Promise((function(e,t){r.resolve=e,r.reject=t}));a.resolve=r.resolve,a.reject=r.reject,i.promise=a}catch(e){i.promise={resolve:Ql,reject:Ql}}var o=$l.exec(window.location.href.toLowerCase())||[];i.url=((e||i.url||window.location.href)+"").replace(/#.*$/,"").replace(/^\/\//,o[1]+"//");var n=i.url;i.crossDomain||(i.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(i.url)&&RegExp.$2!==window.location.href);var l=i.dataType;if("jsonp"===l){if(!/=\?/.test(i.url)){var d=(i.jsonp||"callback")+"=?";i.url=sd(i.url,d)}return function(e){var t,i=e.jsonpCallback||"jsonp"+dd(),s=window.document.createElement("script"),r={abort:function(){i in window&&(window[i]=Ql)}},a=window.document.getElementsByTagName("head")[0]||window.document.documentElement;function o(i){window.clearTimeout(t),r.abort(),td(i.type,r,i.type,e),n()}s.onerror=function(e){o(e)},window[i]=function(i){window.clearTimeout(t),Zl(i,r,e),n()},rd(e),s.src=e.url.replace(/=\?/,"="+i),s.src=sd(s.src,"_="+(new Date).getTime()),s.async=!0,e.scriptCharset&&(s.charset=e.scriptCharset);a.insertBefore(s,a.firstChild),e.timeout>0&&(t=window.setTimeout((function(){r.abort(),td("timeout",r,"timeout",e),n()}),e.timeout));function n(){s.clearAttributes?s.clearAttributes():s.onload=s.onreadystatechange=s.onerror=null,s.parentNode&&s.parentNode.removeChild(s),s=null,delete window[i]}return e.promise.abort=function(){r.abort()},e.promise.xhr=r,e.promise}(i)}rd(i);var h=i.accepts[l]||i.accepts["*"],c={};/^([\w-]+:)\/\//.test(i.url)?RegExp.$1:window.location.protocol;var u,p=Yl.xhr();i.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest"),i.ifModified&&(Jl[n]&&(c["If-Modified-Since"]=Jl[n]),ql[n]&&(c["If-None-Match"]=ql[n])),h&&(c.Accept=h,h.indexOf(",")>-1&&(h=h.split(",",2)[0]),p.overrideMimeType&&p.overrideMimeType(h));var m=!/^(?:GET|HEAD)$/.test(i.type.toUpperCase());if((i.data&&m&&!1!==i.contentType||t.contentType)&&(c["Content-Type"]=i.contentType),!1===i.cache&&!m){var g=/([?&])_=[^&]*/;i.url=g.test(n)?n.replace(g,"$1_="+dd()):n+(/\?/.test(n)?"&":"?")+"_="+dd()}i.headers=od(c,i.headers||{}),p.onreadystatechange=function(){if(4===p.readyState){var e;clearTimeout(u);var t=!1;if(p.status>=200&&p.status<300||304===p.status){if(Kl=p.getAllResponseHeaders(),i.ifModified){var s=id("Last-Modified");s&&(Jl[n]=s),(s=id("etag"))&&(ql[n]=s)}l=l||function(e){return e&&(e===Wl?"html":e===Gl?"json":Vl.test(e)&&"xml")||"text"}(p.getResponseHeader("content-type")),e=p.responseText;try{"xml"===l?e=p.responseXML:"json"===l&&(e=Hl.test(e)?null:JSON.parse(e))}catch(e){t=e}t?td(t,"parseerror",p,i):Zl(e,p,i)}else td(null,"error",p,i)}};var f=!("async"in i)||i.async;if(p.open(i.type,i.url,f,i.username,i.password),i.xhrFields)for(var y in i.xhrFields)p[y]=i.xhrFields[y];for(var y in i.mimeType&&p.overrideMimeType&&p.overrideMimeType(i.mimeType),i.headers)void 0!==i.headers[y]&&p.setRequestHeader(y,i.headers[y]+"");return!1===function(e,t){var i=t.context;if(!1===t.beforeSend.call(i,e,t))return!1}(p,i)?(p.abort(),!1):(i.timeout>0&&(u=window.setTimeout((function(){p.onreadystatechange=Ql,p.abort(),td(null,"timeout",p,i)}),i.timeout)),p.send(i.data?i.data:null),i.promise.abort=function(){p.abort()},i.promise)};function Zl(e,t,i){var s=i.context,r="success";i.success.call(s,e,r,t),i.promise.resolve(e,r,t),ed(r,t,i)}function ed(e,t,i){var s=i.context;i.complete.call(s,t,e)}function td(e,t,i,s){var r=s.context;s.error.call(r,i,t,e),s.promise.reject(i,t,e),ed(t,i,s)}function id(e){var t;if(!jl){for(jl={};t=zl.exec(Kl);)jl[t[1].toLowerCase()]=t[2];t=jl[e.toLowerCase()]}return null===t?null:t}function sd(e,t){return(e+"&"+t).replace(/[&?]{1,2}/,"?")}function rd(e){!nd(e)||e.data instanceof FormData||!e.processData||(e.data=function(e,t){var i=[];return i.add=function(e,t){this.push(encodeURIComponent(e)+"="+encodeURIComponent(t))},ad(i,e,t),i.join("&").replace("%20","+")}(e.data)),!e.data||e.type&&"GET"!==e.type.toUpperCase()||(e.url=sd(e.url,e.data))}function ad(e,t,i,s){var r=function(e){return"[object Array]"===Object.prototype.toString.call(e)}(t);for(var a in t){var o=t[a];s&&(a=i?s:s+"["+(r?"":a)+"]"),!s&&r?e.add(o.name,o.value):(i?r(o):nd(o))?ad(e,o,i,a):e.add(a,o)}}function od(e){for(var t=Array.prototype.slice,i=t.call(arguments,1),s=0,r=i.length;s255)return!1;return!0}function ud(e,t){if(e.buffer&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!cd(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(hd(e.length)&&cd(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function pd(e){return new Uint8Array(e)}function md(e,t,i,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,i)}Xl.get=function(e,t,i,s){return ld(t)&&(s=s||i,i=t,t=void 0),Xl({url:e,data:t,success:i,dataType:s})},Xl.post=function(e,t,i,s){return ld(t)&&(s=s||i,i=t,t=void 0),Xl({type:"POST",url:e,data:t,success:i,dataType:s})},Xl.getJSON=function(e,t,i){return ld(t)&&(i=t,t=void 0),Xl({url:e,data:t,success:i,dataType:"json"})},Xl.ajaxSetup=function(e,t){return t?od(od(e,Yl),t):od(Yl,e)};var gd={toBytes:function(e){var t=[],i=0;for(e=encodeURI(e);i191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[i+1])),i+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[i+1])<<6|63&e[i+2])),i+=3)}return t.join("")}},fd=function(){var e="0123456789abcdef";return{toBytes:function(e){for(var t=[],i=0;i>4]+e[15&r])}return i.join("")}}}(),yd={16:10,24:12,32:14},Ad=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],bd=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],vd=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],_d=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],Sd=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],wd=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Ed=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],Td=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],kd=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Ld=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Cd=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],xd=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Dd=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Rd=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Pd=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Id(e){for(var t=[],i=0;i>2,this._Ke[i][t%4]=a[t],this._Kd[e-i][t%4]=a[t];for(var o,n=0,l=r;l>16&255]<<24^bd[o>>8&255]<<16^bd[255&o]<<8^bd[o>>24&255]^Ad[n]<<24,n+=1,8!=r)for(t=1;t>8&255]<<8^bd[o>>16&255]<<16^bd[o>>24&255]<<24;for(t=r/2+1;t>2,h=l%4,this._Ke[d][h]=a[t],this._Kd[e-d][h]=a[t++],l++}for(var d=1;d>24&255]^Dd[o>>16&255]^Rd[o>>8&255]^Pd[255&o]},Bd.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,i=[0,0,0,0],s=Id(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var a=1;a>24&255]^Sd[s[(r+1)%4]>>16&255]^wd[s[(r+2)%4]>>8&255]^Ed[255&s[(r+3)%4]]^this._Ke[a][r];s=i.slice()}var o,n=pd(16);for(r=0;r<4;r++)o=this._Ke[t][r],n[4*r]=255&(bd[s[r]>>24&255]^o>>24),n[4*r+1]=255&(bd[s[(r+1)%4]>>16&255]^o>>16),n[4*r+2]=255&(bd[s[(r+2)%4]>>8&255]^o>>8),n[4*r+3]=255&(bd[255&s[(r+3)%4]]^o);return n},Bd.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,i=[0,0,0,0],s=Id(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var a=1;a>24&255]^kd[s[(r+3)%4]>>16&255]^Ld[s[(r+2)%4]>>8&255]^Cd[255&s[(r+1)%4]]^this._Kd[a][r];s=i.slice()}var o,n=pd(16);for(r=0;r<4;r++)o=this._Kd[t][r],n[4*r]=255&(vd[s[r]>>24&255]^o>>24),n[4*r+1]=255&(vd[s[(r+3)%4]>>16&255]^o>>16),n[4*r+2]=255&(vd[s[(r+2)%4]>>8&255]^o>>8),n[4*r+3]=255&(vd[255&s[(r+1)%4]]^o);return n};var Md=function(e){if(!(this instanceof Md))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new Bd(e)};Md.prototype.encrypt=function(e){if((e=ud(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=pd(e.length),i=pd(16),s=0;sNumber.MAX_SAFE_INTEGER)throw new Error("integer value out of safe range");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)},Nd.prototype.setBytes=function(e){if(16!=(e=ud(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},Nd.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var jd=function(e,t){if(!(this instanceof jd))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof Nd||(t=new Nd(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new Bd(e)};jd.prototype.encrypt=function(e){for(var t=ud(e,!0),i=0;i16)throw new Error("PKCS#7 padding byte out of range");for(var i=e.length-t,s=0;s>>2]>>>24-a%4*8&255;t[s+a>>>2]|=o<<24-(s+a)%4*8}else for(var n=0;n>>2]=i[n>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i>>2]>>>24-r%4*8&255;s.push((a>>>4).toString(16)),s.push((15&a).toString(16))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new d.init(i,t/2)}},u=h.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],r=0;r>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(a))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new d.init(i,t)}},p=h.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},m=n.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i,s=this._data,r=s.words,a=s.sigBytes,o=this.blockSize,n=a/(4*o),l=(n=t?e.ceil(n):e.max((0|n)-this._minBufferSize,0))*o,h=e.min(4*l,a);if(l){for(var c=0;c>>2]|=e[r]<<24-r%4*8;t.call(this,s,i)}else t.apply(this,arguments)};s.prototype=e}}(),i.lib.WordArray)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.WordArray,s=e.enc;function r(e){return e<<8&4278255360|e>>>8&16711935}s.Utf16=s.Utf16BE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],r=0;r>>2]>>>16-r%4*8&65535;s.push(String.fromCharCode(a))}return s.join("")},parse:function(e){for(var i=e.length,s=[],r=0;r>>1]|=e.charCodeAt(r)<<16-r%2*16;return t.create(s,2*i)}},s.Utf16LE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],a=0;a>>2]>>>16-a%4*8&65535);s.push(String.fromCharCode(o))}return s.join("")},parse:function(e){for(var i=e.length,s=[],a=0;a>>1]|=r(e.charCodeAt(a)<<16-a%2*16);return t.create(s,2*i)}}}(),i.enc.Utf16)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.WordArray;function s(e,i,s){for(var r=[],a=0,o=0;o>>6-o%4*2;r[a>>>2]|=n<<24-a%4*8,a++}return t.create(r,a)}e.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,s=this._map;e.clamp();for(var r=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,n=0;n<4&&a+.75*n>>6*(3-n)&63));var l=s.charAt(64);if(l)for(;r.length%4;)r.push(l);return r.join("")},parse:function(e){var t=e.length,i=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var a=0;a>>6-o%4*2;r[a>>>2]|=n<<24-a%4*8,a++}return t.create(r,a)}e.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var i=e.words,s=e.sigBytes,r=t?this._safe_map:this._map;e.clamp();for(var a=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(i[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|i[o+2>>>2]>>>24-(o+2)%4*8&255,l=0;l<4&&o+.75*l>>6*(3-l)&63));var d=r.charAt(64);if(d)for(;a.length%4;)a.push(d);return a.join("")},parse:function(e,t){void 0===t&&(t=!0);var i=e.length,r=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var o=0;o>>24)|4278255360&(r<<24|r>>>8)}var a=this._hash.words,o=e[t+0],l=e[t+1],p=e[t+2],m=e[t+3],g=e[t+4],f=e[t+5],y=e[t+6],A=e[t+7],b=e[t+8],v=e[t+9],_=e[t+10],S=e[t+11],w=e[t+12],E=e[t+13],T=e[t+14],k=e[t+15],L=a[0],C=a[1],x=a[2],D=a[3];L=d(L,C,x,D,o,7,n[0]),D=d(D,L,C,x,l,12,n[1]),x=d(x,D,L,C,p,17,n[2]),C=d(C,x,D,L,m,22,n[3]),L=d(L,C,x,D,g,7,n[4]),D=d(D,L,C,x,f,12,n[5]),x=d(x,D,L,C,y,17,n[6]),C=d(C,x,D,L,A,22,n[7]),L=d(L,C,x,D,b,7,n[8]),D=d(D,L,C,x,v,12,n[9]),x=d(x,D,L,C,_,17,n[10]),C=d(C,x,D,L,S,22,n[11]),L=d(L,C,x,D,w,7,n[12]),D=d(D,L,C,x,E,12,n[13]),x=d(x,D,L,C,T,17,n[14]),L=h(L,C=d(C,x,D,L,k,22,n[15]),x,D,l,5,n[16]),D=h(D,L,C,x,y,9,n[17]),x=h(x,D,L,C,S,14,n[18]),C=h(C,x,D,L,o,20,n[19]),L=h(L,C,x,D,f,5,n[20]),D=h(D,L,C,x,_,9,n[21]),x=h(x,D,L,C,k,14,n[22]),C=h(C,x,D,L,g,20,n[23]),L=h(L,C,x,D,v,5,n[24]),D=h(D,L,C,x,T,9,n[25]),x=h(x,D,L,C,m,14,n[26]),C=h(C,x,D,L,b,20,n[27]),L=h(L,C,x,D,E,5,n[28]),D=h(D,L,C,x,p,9,n[29]),x=h(x,D,L,C,A,14,n[30]),L=c(L,C=h(C,x,D,L,w,20,n[31]),x,D,f,4,n[32]),D=c(D,L,C,x,b,11,n[33]),x=c(x,D,L,C,S,16,n[34]),C=c(C,x,D,L,T,23,n[35]),L=c(L,C,x,D,l,4,n[36]),D=c(D,L,C,x,g,11,n[37]),x=c(x,D,L,C,A,16,n[38]),C=c(C,x,D,L,_,23,n[39]),L=c(L,C,x,D,E,4,n[40]),D=c(D,L,C,x,o,11,n[41]),x=c(x,D,L,C,m,16,n[42]),C=c(C,x,D,L,y,23,n[43]),L=c(L,C,x,D,v,4,n[44]),D=c(D,L,C,x,w,11,n[45]),x=c(x,D,L,C,k,16,n[46]),L=u(L,C=c(C,x,D,L,p,23,n[47]),x,D,o,6,n[48]),D=u(D,L,C,x,A,10,n[49]),x=u(x,D,L,C,T,15,n[50]),C=u(C,x,D,L,f,21,n[51]),L=u(L,C,x,D,w,6,n[52]),D=u(D,L,C,x,m,10,n[53]),x=u(x,D,L,C,_,15,n[54]),C=u(C,x,D,L,l,21,n[55]),L=u(L,C,x,D,b,6,n[56]),D=u(D,L,C,x,k,10,n[57]),x=u(x,D,L,C,y,15,n[58]),C=u(C,x,D,L,E,21,n[59]),L=u(L,C,x,D,g,6,n[60]),D=u(D,L,C,x,S,10,n[61]),x=u(x,D,L,C,p,15,n[62]),C=u(C,x,D,L,v,21,n[63]),a[0]=a[0]+L|0,a[1]=a[1]+C|0,a[2]=a[2]+x|0,a[3]=a[3]+D|0},_doFinalize:function(){var t=this._data,i=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;i[r>>>5]|=128<<24-r%32;var a=e.floor(s/4294967296),o=s;i[15+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(i.length+1),this._process();for(var n=this._hash,l=n.words,d=0;d<4;d++){var h=l[d];l[d]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return n},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function d(e,t,i,s,r,a,o){var n=e+(t&i|~t&s)+r+o;return(n<>>32-a)+t}function h(e,t,i,s,r,a,o){var n=e+(t&s|i&~s)+r+o;return(n<>>32-a)+t}function c(e,t,i,s,r,a,o){var n=e+(t^i^s)+r+o;return(n<>>32-a)+t}function u(e,t,i,s,r,a,o){var n=e+(i^(t|~s))+r+o;return(n<>>32-a)+t}t.MD5=a._createHelper(l),t.HmacMD5=a._createHmacHelper(l)}(Math),i.MD5)})),Jr((function(e,t){var i,s,r,a,o,n,l,d;e.exports=(s=(i=d=Wd).lib,r=s.WordArray,a=s.Hasher,o=i.algo,n=[],l=o.SHA1=a.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],r=i[1],a=i[2],o=i[3],l=i[4],d=0;d<80;d++){if(d<16)n[d]=0|e[t+d];else{var h=n[d-3]^n[d-8]^n[d-14]^n[d-16];n[d]=h<<1|h>>>31}var c=(s<<5|s>>>27)+l+n[d];c+=d<20?1518500249+(r&a|~r&o):d<40?1859775393+(r^a^o):d<60?(r&a|r&o|a&o)-1894007588:(r^a^o)-899497514,l=o,o=a,a=r<<30|r>>>2,r=s,s=c}i[0]=i[0]+s|0,i[1]=i[1]+r|0,i[2]=i[2]+a|0,i[3]=i[3]+o|0,i[4]=i[4]+l|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[14+(s+64>>>9<<4)]=Math.floor(i/4294967296),t[15+(s+64>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),i.SHA1=a._createHelper(l),i.HmacSHA1=a._createHmacHelper(l),d.SHA1)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(e){var t=i,s=t.lib,r=s.WordArray,a=s.Hasher,o=t.algo,n=[],l=[];!function(){function t(t){for(var i=e.sqrt(t),s=2;s<=i;s++)if(!(t%s))return!1;return!0}function i(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(n[r]=i(e.pow(s,.5))),l[r]=i(e.pow(s,1/3)),r++),s++}();var d=[],h=o.SHA256=a.extend({_doReset:function(){this._hash=new r.init(n.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],r=i[1],a=i[2],o=i[3],n=i[4],h=i[5],c=i[6],u=i[7],p=0;p<64;p++){if(p<16)d[p]=0|e[t+p];else{var m=d[p-15],g=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,f=d[p-2],y=(f<<15|f>>>17)^(f<<13|f>>>19)^f>>>10;d[p]=g+d[p-7]+y+d[p-16]}var A=s&r^s&a^r&a,b=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=u+((n<<26|n>>>6)^(n<<21|n>>>11)^(n<<7|n>>>25))+(n&h^~n&c)+l[p]+d[p];u=c,c=h,h=n,n=o+v|0,o=a,a=r,r=s,s=v+(b+A)|0}i[0]=i[0]+s|0,i[1]=i[1]+r|0,i[2]=i[2]+a|0,i[3]=i[3]+o|0,i[4]=i[4]+n|0,i[5]=i[5]+h|0,i[6]=i[6]+c|0,i[7]=i[7]+u|0},_doFinalize:function(){var t=this._data,i=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return i[r>>>5]|=128<<24-r%32,i[14+(r+64>>>9<<4)]=e.floor(s/4294967296),i[15+(r+64>>>9<<4)]=s,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=a._createHelper(h),t.HmacSHA256=a._createHmacHelper(h)}(Math),i.SHA256)})),Jr((function(e,t){var i,s,r,a,o,n;e.exports=(s=(i=n=Wd).lib.WordArray,r=i.algo,a=r.SHA256,o=r.SHA224=a.extend({_doReset:function(){this._hash=new s.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),i.SHA224=a._createHelper(o),i.HmacSHA224=a._createHmacHelper(o),n.SHA224)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.Hasher,s=e.x64,r=s.Word,a=s.WordArray,o=e.algo;function n(){return r.create.apply(r,arguments)}var l=[n(1116352408,3609767458),n(1899447441,602891725),n(3049323471,3964484399),n(3921009573,2173295548),n(961987163,4081628472),n(1508970993,3053834265),n(2453635748,2937671579),n(2870763221,3664609560),n(3624381080,2734883394),n(310598401,1164996542),n(607225278,1323610764),n(1426881987,3590304994),n(1925078388,4068182383),n(2162078206,991336113),n(2614888103,633803317),n(3248222580,3479774868),n(3835390401,2666613458),n(4022224774,944711139),n(264347078,2341262773),n(604807628,2007800933),n(770255983,1495990901),n(1249150122,1856431235),n(1555081692,3175218132),n(1996064986,2198950837),n(2554220882,3999719339),n(2821834349,766784016),n(2952996808,2566594879),n(3210313671,3203337956),n(3336571891,1034457026),n(3584528711,2466948901),n(113926993,3758326383),n(338241895,168717936),n(666307205,1188179964),n(773529912,1546045734),n(1294757372,1522805485),n(1396182291,2643833823),n(1695183700,2343527390),n(1986661051,1014477480),n(2177026350,1206759142),n(2456956037,344077627),n(2730485921,1290863460),n(2820302411,3158454273),n(3259730800,3505952657),n(3345764771,106217008),n(3516065817,3606008344),n(3600352804,1432725776),n(4094571909,1467031594),n(275423344,851169720),n(430227734,3100823752),n(506948616,1363258195),n(659060556,3750685593),n(883997877,3785050280),n(958139571,3318307427),n(1322822218,3812723403),n(1537002063,2003034995),n(1747873779,3602036899),n(1955562222,1575990012),n(2024104815,1125592928),n(2227730452,2716904306),n(2361852424,442776044),n(2428436474,593698344),n(2756734187,3733110249),n(3204031479,2999351573),n(3329325298,3815920427),n(3391569614,3928383900),n(3515267271,566280711),n(3940187606,3454069534),n(4118630271,4000239992),n(116418474,1914138554),n(174292421,2731055270),n(289380356,3203993006),n(460393269,320620315),n(685471733,587496836),n(852142971,1086792851),n(1017036298,365543100),n(1126000580,2618297676),n(1288033470,3409855158),n(1501505948,4234509866),n(1607167915,987167468),n(1816402316,1246189591)],d=[];!function(){for(var e=0;e<80;e++)d[e]=n()}();var h=o.SHA512=t.extend({_doReset:function(){this._hash=new a.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],r=i[1],a=i[2],o=i[3],n=i[4],h=i[5],c=i[6],u=i[7],p=s.high,m=s.low,g=r.high,f=r.low,y=a.high,A=a.low,b=o.high,v=o.low,_=n.high,S=n.low,w=h.high,E=h.low,T=c.high,k=c.low,L=u.high,C=u.low,x=p,D=m,R=g,P=f,I=y,B=A,M=b,F=v,U=_,O=S,N=w,j=E,G=T,W=k,V=L,z=C,$=0;$<80;$++){var H,J,q=d[$];if($<16)J=q.high=0|e[t+2*$],H=q.low=0|e[t+2*$+1];else{var K=d[$-15],Y=K.high,Q=K.low,X=(Y>>>1|Q<<31)^(Y>>>8|Q<<24)^Y>>>7,Z=(Q>>>1|Y<<31)^(Q>>>8|Y<<24)^(Q>>>7|Y<<25),ee=d[$-2],te=ee.high,ie=ee.low,se=(te>>>19|ie<<13)^(te<<3|ie>>>29)^te>>>6,re=(ie>>>19|te<<13)^(ie<<3|te>>>29)^(ie>>>6|te<<26),ae=d[$-7],oe=ae.high,ne=ae.low,le=d[$-16],de=le.high,he=le.low;J=(J=(J=X+oe+((H=Z+ne)>>>0>>0?1:0))+se+((H+=re)>>>0>>0?1:0))+de+((H+=he)>>>0>>0?1:0),q.high=J,q.low=H}var ce,ue=U&N^~U&G,pe=O&j^~O&W,me=x&R^x&I^R&I,ge=D&P^D&B^P&B,fe=(x>>>28|D<<4)^(x<<30|D>>>2)^(x<<25|D>>>7),ye=(D>>>28|x<<4)^(D<<30|x>>>2)^(D<<25|x>>>7),Ae=(U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9),be=(O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9),ve=l[$],_e=ve.high,Se=ve.low,we=V+Ae+((ce=z+be)>>>0>>0?1:0),Ee=ye+ge;V=G,z=W,G=N,W=j,N=U,j=O,U=M+(we=(we=(we=we+ue+((ce+=pe)>>>0>>0?1:0))+_e+((ce+=Se)>>>0>>0?1:0))+J+((ce+=H)>>>0>>0?1:0))+((O=F+ce|0)>>>0>>0?1:0)|0,M=I,F=B,I=R,B=P,R=x,P=D,x=we+(fe+me+(Ee>>>0>>0?1:0))+((D=ce+Ee|0)>>>0>>0?1:0)|0}m=s.low=m+D,s.high=p+x+(m>>>0>>0?1:0),f=r.low=f+P,r.high=g+R+(f>>>0

      >>0?1:0),A=a.low=A+B,a.high=y+I+(A>>>0>>0?1:0),v=o.low=v+F,o.high=b+M+(v>>>0>>0?1:0),S=n.low=S+O,n.high=_+U+(S>>>0>>0?1:0),E=h.low=E+j,h.high=w+N+(E>>>0>>0?1:0),k=c.low=k+W,c.high=T+G+(k>>>0>>0?1:0),C=u.low=C+z,u.high=L+V+(C>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[30+(s+128>>>10<<5)]=Math.floor(i/4294967296),t[31+(s+128>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(h),e.HmacSHA512=t._createHmacHelper(h)}(),i.SHA512)})),Jr((function(e,t){var i,s,r,a,o,n,l,d;e.exports=(s=(i=d=Wd).x64,r=s.Word,a=s.WordArray,o=i.algo,n=o.SHA512,l=o.SHA384=n.extend({_doReset:function(){this._hash=new a.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}}),i.SHA384=n._createHelper(l),i.HmacSHA384=n._createHmacHelper(l),d.SHA384)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(e){var t=i,s=t.lib,r=s.WordArray,a=s.Hasher,o=t.x64.Word,n=t.algo,l=[],d=[],h=[];!function(){for(var e=1,t=0,i=0;i<24;i++){l[e+5*t]=(i+1)*(i+2)/2%64;var s=(2*e+3*t)%5;e=t%5,t=s}for(e=0;e<5;e++)for(t=0;t<5;t++)d[e+5*t]=t+(2*e+3*t)%5*5;for(var r=1,a=0;a<24;a++){for(var n=0,c=0,u=0;u<7;u++){if(1&r){var p=(1<>>24)|4278255360&(a<<24|a>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),(C=i[r]).high^=o,C.low^=a}for(var n=0;n<24;n++){for(var u=0;u<5;u++){for(var p=0,m=0,g=0;g<5;g++)p^=(C=i[u+5*g]).high,m^=C.low;var f=c[u];f.high=p,f.low=m}for(u=0;u<5;u++){var y=c[(u+4)%5],A=c[(u+1)%5],b=A.high,v=A.low;for(p=y.high^(b<<1|v>>>31),m=y.low^(v<<1|b>>>31),g=0;g<5;g++)(C=i[u+5*g]).high^=p,C.low^=m}for(var _=1;_<25;_++){var S=(C=i[_]).high,w=C.low,E=l[_];E<32?(p=S<>>32-E,m=w<>>32-E):(p=w<>>64-E,m=S<>>64-E);var T=c[d[_]];T.high=p,T.low=m}var k=c[0],L=i[0];for(k.high=L.high,k.low=L.low,u=0;u<5;u++)for(g=0;g<5;g++){var C=i[_=u+5*g],x=c[_],D=c[(u+1)%5+5*g],R=c[(u+2)%5+5*g];C.high=x.high^~D.high&R.high,C.low=x.low^~D.low&R.low}C=i[0];var P=h[n];C.high^=P.high,C.low^=P.low}},_doFinalize:function(){var t=this._data,i=t.words;this._nDataBytes;var s=8*t.sigBytes,a=32*this.blockSize;i[s>>>5]|=1<<24-s%32,i[(e.ceil((s+1)/a)*a>>>5)-1]|=128,t.sigBytes=4*i.length,this._process();for(var o=this._state,n=this.cfg.outputLength/8,l=n/8,d=[],h=0;h>>24)|4278255360&(u<<24|u>>>8),p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8),d.push(p),d.push(u)}return new r.init(d,n)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),i=0;i<25;i++)t[i]=t[i].clone();return e}});t.SHA3=a._createHelper(u),t.HmacSHA3=a._createHmacHelper(u)}(Math),i.SHA3)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(e){var t=i,s=t.lib,r=s.WordArray,a=s.Hasher,o=t.algo,n=r.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),l=r.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=r.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),h=r.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=r.create([0,1518500249,1859775393,2400959708,2840853838]),u=r.create([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var s=t+i,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var a,o,p,v,_,S,w,E,T,k,L,C=this._hash.words,x=c.words,D=u.words,R=n.words,P=l.words,I=d.words,B=h.words;for(S=a=C[0],w=o=C[1],E=p=C[2],T=v=C[3],k=_=C[4],i=0;i<80;i+=1)L=a+e[t+R[i]]|0,L+=i<16?m(o,p,v)+x[0]:i<32?g(o,p,v)+x[1]:i<48?f(o,p,v)+x[2]:i<64?y(o,p,v)+x[3]:A(o,p,v)+x[4],L=(L=b(L|=0,I[i]))+_|0,a=_,_=v,v=b(p,10),p=o,o=L,L=S+e[t+P[i]]|0,L+=i<16?A(w,E,T)+D[0]:i<32?y(w,E,T)+D[1]:i<48?f(w,E,T)+D[2]:i<64?g(w,E,T)+D[3]:m(w,E,T)+D[4],L=(L=b(L|=0,B[i]))+k|0,S=k,k=T,T=b(E,10),E=w,w=L;L=C[1]+p+T|0,C[1]=C[2]+v+k|0,C[2]=C[3]+_+S|0,C[3]=C[4]+a+w|0,C[4]=C[0]+o+E|0,C[0]=L},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;t[s>>>5]|=128<<24-s%32,t[14+(s+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var r=this._hash,a=r.words,o=0;o<5;o++){var n=a[o];a[o]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}return r},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function m(e,t,i){return e^t^i}function g(e,t,i){return e&t|~e&i}function f(e,t,i){return(e|~t)^i}function y(e,t,i){return e&i|t&~i}function A(e,t,i){return e^(t|~i)}function b(e,t){return e<>>32-t}t.RIPEMD160=a._createHelper(p),t.HmacRIPEMD160=a._createHmacHelper(p)}(),i.RIPEMD160)})),Jr((function(e,t){var i,s,r;e.exports=(s=(i=Wd).lib.Base,r=i.enc.Utf8,void(i.algo.HMAC=s.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=r.parse(t));var i=e.blockSize,s=4*i;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),n=a.words,l=o.words,d=0;d>>2];e.sigBytes-=t}};s.BlockCipher=h.extend({cfg:h.cfg.extend({mode:p,padding:m}),reset:function(){var e;h.reset.call(this);var t=this.cfg,i=t.iv,s=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=s.createEncryptor:(e=s.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,i&&i.words):(this._mode=e.call(s,this,i&&i.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4});var g=s.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),f=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,i=e.salt;return(i?a.create([1398893684,1701076831]).concat(i).concat(t):t).toString(l)},parse:function(e){var t,i=l.parse(e),s=i.words;return 1398893684==s[0]&&1701076831==s[1]&&(t=a.create(s.slice(2,4)),s.splice(0,4),i.sigBytes-=16),g.create({ciphertext:i,salt:t})}},y=s.SerializableCipher=r.extend({cfg:r.extend({format:f}),encrypt:function(e,t,i,s){s=this.cfg.extend(s);var r=e.createEncryptor(i,s),a=r.finalize(t),o=r.cfg;return g.create({ciphertext:a,key:i,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:s.format})},decrypt:function(e,t,i,s){return s=this.cfg.extend(s),t=this._parse(t,s.format),e.createDecryptor(i,s).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),A=(t.kdf={}).OpenSSL={execute:function(e,t,i,s,r){if(s||(s=a.random(8)),r)o=d.create({keySize:t+i,hasher:r}).compute(e,s);else var o=d.create({keySize:t+i}).compute(e,s);var n=a.create(o.words.slice(t),4*i);return o.sigBytes=4*t,g.create({key:o,iv:n,salt:s})}},b=s.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:A}),encrypt:function(e,t,i,s){var r=(s=this.cfg.extend(s)).kdf.execute(i,e.keySize,e.ivSize,s.salt,s.hasher);s.iv=r.iv;var a=y.encrypt.call(this,e,t,r.key,s);return a.mixIn(r),a},decrypt:function(e,t,i,s){s=this.cfg.extend(s),t=this._parse(t,s.format);var r=s.kdf.execute(i,e.keySize,e.ivSize,t.salt,s.hasher);return s.iv=r.iv,y.decrypt.call(this,e,t,r.key,s)}})}())})),Jr((function(e,t){var i;e.exports=((i=Wd).mode.CFB=function(){var e=i.lib.BlockCipherMode.extend();function t(e,t,i,s){var r,a=this._iv;a?(r=a.slice(0),this._iv=void 0):r=this._prevBlock,s.encryptBlock(r,0);for(var o=0;o>24&255)){var t=e>>16&255,i=e>>8&255,s=255&e;255===t?(t=0,255===i?(i=0,255===s?s=0:++s):++i):++t,e=0,e+=t<<16,e+=i<<8,e+=s}else e+=1<<24;return e}function s(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var r=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,r=i.blockSize,a=this._iv,o=this._counter;a&&(o=this._counter=a.slice(0),this._iv=void 0),s(o);var n=o.slice(0);i.encryptBlock(n,0);for(var l=0;l>>2]|=r<<24-a%4*8,e.sigBytes+=r},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Ansix923)})),Jr((function(e,t){var i;e.exports=((i=Wd).pad.Iso10126={pad:function(e,t){var s=4*t,r=s-e.sigBytes%s;e.concat(i.lib.WordArray.random(r-1)).concat(i.lib.WordArray.create([r<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Iso10126)})),Jr((function(e,t){var i;e.exports=((i=Wd).pad.Iso97971={pad:function(e,t){e.concat(i.lib.WordArray.create([2147483648],1)),i.pad.ZeroPadding.pad(e,t)},unpad:function(e){i.pad.ZeroPadding.unpad(e),e.sigBytes--}},i.pad.Iso97971)})),Jr((function(e,t){var i;e.exports=((i=Wd).pad.ZeroPadding={pad:function(e,t){var i=4*t;e.clamp(),e.sigBytes+=i-(e.sigBytes%i||i)},unpad:function(e){var t=e.words,i=e.sigBytes-1;for(i=e.sigBytes-1;i>=0;i--)if(t[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},i.pad.ZeroPadding)})),Jr((function(e,t){var i;e.exports=((i=Wd).pad.NoPadding={pad:function(){},unpad:function(){}},i.pad.NoPadding)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(e){var t=i,s=t.lib.CipherParams,r=t.enc.Hex;t.format.Hex={stringify:function(e){return e.ciphertext.toString(r)},parse:function(e){var t=r.parse(e);return s.create({ciphertext:t})}}}(),i.format.Hex)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.BlockCipher,s=e.algo,r=[],a=[],o=[],n=[],l=[],d=[],h=[],c=[],u=[],p=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var i=0,s=0;for(t=0;t<256;t++){var m=s^s<<1^s<<2^s<<3^s<<4;m=m>>>8^255&m^99,r[i]=m,a[m]=i;var g=e[i],f=e[g],y=e[f],A=257*e[m]^16843008*m;o[i]=A<<24|A>>>8,n[i]=A<<16|A>>>16,l[i]=A<<8|A>>>24,d[i]=A,A=16843009*y^65537*f^257*g^16843008*i,h[m]=A<<24|A>>>8,c[m]=A<<16|A>>>16,u[m]=A<<8|A>>>24,p[m]=A,i?(i=g^e[e[e[y^g]]],s^=e[e[s]]):i=s=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],g=s.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,i=e.sigBytes/4,s=4*((this._nRounds=i+6)+1),a=this._keySchedule=[],o=0;o6&&o%i==4&&(d=r[d>>>24]<<24|r[d>>>16&255]<<16|r[d>>>8&255]<<8|r[255&d]):(d=r[(d=d<<8|d>>>24)>>>24]<<24|r[d>>>16&255]<<16|r[d>>>8&255]<<8|r[255&d],d^=m[o/i|0]<<24),a[o]=a[o-i]^d);for(var n=this._invKeySchedule=[],l=0;l>>24]]^c[r[d>>>16&255]]^u[r[d>>>8&255]]^p[r[255&d]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,n,l,d,r)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,h,c,u,p,a),i=e[t+1],e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,s,r,a,o,n){for(var l=this._nRounds,d=e[t]^i[0],h=e[t+1]^i[1],c=e[t+2]^i[2],u=e[t+3]^i[3],p=4,m=1;m>>24]^r[h>>>16&255]^a[c>>>8&255]^o[255&u]^i[p++],f=s[h>>>24]^r[c>>>16&255]^a[u>>>8&255]^o[255&d]^i[p++],y=s[c>>>24]^r[u>>>16&255]^a[d>>>8&255]^o[255&h]^i[p++],A=s[u>>>24]^r[d>>>16&255]^a[h>>>8&255]^o[255&c]^i[p++];d=g,h=f,c=y,u=A}g=(n[d>>>24]<<24|n[h>>>16&255]<<16|n[c>>>8&255]<<8|n[255&u])^i[p++],f=(n[h>>>24]<<24|n[c>>>16&255]<<16|n[u>>>8&255]<<8|n[255&d])^i[p++],y=(n[c>>>24]<<24|n[u>>>16&255]<<16|n[d>>>8&255]<<8|n[255&h])^i[p++],A=(n[u>>>24]<<24|n[d>>>16&255]<<16|n[h>>>8&255]<<8|n[255&c])^i[p++],e[t]=g,e[t+1]=f,e[t+2]=y,e[t+3]=A},keySize:8});e.AES=t._createHelper(g)}(),i.AES)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib,s=t.WordArray,r=t.BlockCipher,a=e.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],n=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],c=a.DES=r.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;i<56;i++){var s=o[i]-1;t[i]=e[s>>>5]>>>31-s%32&1}for(var r=this._subKeys=[],a=0;a<16;a++){var d=r[a]=[],h=l[a];for(i=0;i<24;i++)d[i/6|0]|=t[(n[i]-1+h)%28]<<31-i%6,d[4+(i/6|0)]|=t[28+(n[i+24]-1+h)%28]<<31-i%6;for(d[0]=d[0]<<1|d[0]>>>31,i=1;i<7;i++)d[i]=d[i]>>>4*(i-1)+3;d[7]=d[7]<<5|d[7]>>>27}var c=this._invSubKeys=[];for(i=0;i<16;i++)c[i]=r[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,i){this._lBlock=e[t],this._rBlock=e[t+1],u.call(this,4,252645135),u.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),u.call(this,1,1431655765);for(var s=0;s<16;s++){for(var r=i[s],a=this._lBlock,o=this._rBlock,n=0,l=0;l<8;l++)n|=d[l][((o^r[l])&h[l])>>>0];this._lBlock=o,this._rBlock=a^n}var c=this._lBlock;this._lBlock=this._rBlock,this._rBlock=c,u.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(e,t){var i=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=i,this._lBlock^=i<>>e^this._lBlock)&t;this._lBlock^=i,this._rBlock^=i<192.");var t=e.slice(0,2),i=e.length<4?e.slice(0,2):e.slice(2,4),r=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=c.createEncryptor(s.create(t)),this._des2=c.createEncryptor(s.create(i)),this._des3=c.createEncryptor(s.create(r))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=r._createHelper(m)}(),i.TripleDES)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.StreamCipher,s=e.algo,r=s.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,i=e.sigBytes,s=this._S=[],r=0;r<256;r++)s[r]=r;r=0;for(var a=0;r<256;r++){var o=r%i,n=t[o>>>2]>>>24-o%4*8&255;a=(a+s[r]+n)%256;var l=s[r];s[r]=s[a],s[a]=l}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:8,ivSize:0});function a(){for(var e=this._S,t=this._i,i=this._j,s=0,r=0;r<4;r++){i=(i+e[t=(t+1)%256])%256;var a=e[t];e[t]=e[i],e[i]=a,s|=e[(e[t]+e[i])%256]<<24-8*r}return this._i=t,this._j=i,s}e.RC4=t._createHelper(r);var o=s.RC4Drop=r.extend({cfg:r.cfg.extend({drop:192}),_doReset:function(){r._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});e.RC4Drop=t._createHelper(o)}(),i.RC4)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.StreamCipher,s=e.algo,r=[],a=[],o=[],n=s.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=0;i<4;i++)e[i]=16711935&(e[i]<<8|e[i]>>>24)|4278255360&(e[i]<<24|e[i]>>>8);var s=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,i=0;i<4;i++)l.call(this);for(i=0;i<8;i++)r[i]^=s[i+4&7];if(t){var a=t.words,o=a[0],n=a[1],d=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),h=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),c=d>>>16|4294901760&h,u=h<<16|65535&d;for(r[0]^=d,r[1]^=c,r[2]^=h,r[3]^=u,r[4]^=d,r[5]^=c,r[6]^=h,r[7]^=u,i=0;i<4;i++)l.call(this)}},_doProcessBlock:function(e,t){var i=this._X;l.call(this),r[0]=i[0]^i[5]>>>16^i[3]<<16,r[1]=i[2]^i[7]>>>16^i[5]<<16,r[2]=i[4]^i[1]>>>16^i[7]<<16,r[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)r[s]=16711935&(r[s]<<8|r[s]>>>24)|4278255360&(r[s]<<24|r[s]>>>8),e[t+s]^=r[s]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,i=0;i<8;i++){var s=e[i]+t[i],r=65535&s,n=s>>>16,l=((r*r>>>17)+r*n>>>15)+n*n,d=((4294901760&s)*s|0)+((65535&s)*s|0);o[i]=l^d}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.Rabbit=t._createHelper(n)}(),i.Rabbit)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.StreamCipher,s=e.algo,r=[],a=[],o=[],n=s.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var r=0;r<4;r++)l.call(this);for(r=0;r<8;r++)s[r]^=i[r+4&7];if(t){var a=t.words,o=a[0],n=a[1],d=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),h=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),c=d>>>16|4294901760&h,u=h<<16|65535&d;for(s[0]^=d,s[1]^=c,s[2]^=h,s[3]^=u,s[4]^=d,s[5]^=c,s[6]^=h,s[7]^=u,r=0;r<4;r++)l.call(this)}},_doProcessBlock:function(e,t){var i=this._X;l.call(this),r[0]=i[0]^i[5]>>>16^i[3]<<16,r[1]=i[2]^i[7]>>>16^i[5]<<16,r[2]=i[4]^i[1]>>>16^i[7]<<16,r[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)r[s]=16711935&(r[s]<<8|r[s]>>>24)|4278255360&(r[s]<<24|r[s]>>>8),e[t+s]^=r[s]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,i=0;i<8;i++){var s=e[i]+t[i],r=65535&s,n=s>>>16,l=((r*r>>>17)+r*n>>>15)+n*n,d=((4294901760&s)*s|0)+((65535&s)*s|0);o[i]=l^d}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}e.RabbitLegacy=t._createHelper(n)}(),i.RabbitLegacy)})),Jr((function(e,t){var i;e.exports=(i=Wd,function(){var e=i,t=e.lib.BlockCipher,s=e.algo;const r=16,a=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],o=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var n={pbox:[],sbox:[]};function l(e,t){let i=t>>24&255,s=t>>16&255,r=t>>8&255,a=255&t,o=e.sbox[0][i]+e.sbox[1][s];return o^=e.sbox[2][r],o+=e.sbox[3][a],o}function d(e,t,i){let s,a=t,o=i;for(let t=0;t1;--t)a^=e.pbox[t],o=l(e,a)^o,s=a,a=o,o=s;return s=a,a=o,o=s,o^=e.pbox[1],a^=e.pbox[0],{left:a,right:o}}function c(e,t,i){for(let t=0;t<4;t++){e.sbox[t]=[];for(let i=0;i<256;i++)e.sbox[t][i]=o[t][i]}let s=0;for(let o=0;o=i&&(s=0);let n=0,l=0,h=0;for(let t=0;t>>2]|=e[i]<<24-i%4*8;return Vd.lib.WordArray.create(t,e.length)}const Hd=16,Jd=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],qd=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function Kd(e){const t=[];for(let i=0,s=e.length;i1===(e=e.toString(16)).length?"0"+e:e)).join("")}function Qd(e){const t=[];for(let i=0,s=e.length;i>>6),t.push(128|63&s);else if(s<=55295||s>=57344&&s<=65535)t.push(224|s>>>12),t.push(128|s>>>6&63),t.push(128|63&s);else{if(!(s>=65536&&s<=1114111))throw t.push(s),new Error("input is not supported");i++,t.push(240|s>>>18&28),t.push(128|s>>>12&63),t.push(128|s>>>6&63),t.push(128|63&s)}}return t}function Xd(e){const t=[];for(let i=0,s=e.length;i=240&&e[i]<=247?(t.push(String.fromCodePoint(((7&e[i])<<18)+((63&e[i+1])<<12)+((63&e[i+2])<<6)+(63&e[i+3]))),i+=3):e[i]>=224&&e[i]<=239?(t.push(String.fromCodePoint(((15&e[i])<<12)+((63&e[i+1])<<6)+(63&e[i+2]))),i+=2):e[i]>=192&&e[i]<=223?(t.push(String.fromCodePoint(((31&e[i])<<6)+(63&e[i+1]))),i++):t.push(String.fromCodePoint(e[i]));return t.join("")}function Zd(e,t){const i=31&t;return e<>>32-i}function eh(e){return(255&Jd[e>>>24&255])<<24|(255&Jd[e>>>16&255])<<16|(255&Jd[e>>>8&255])<<8|255&Jd[255&e]}function th(e){return e^Zd(e,2)^Zd(e,10)^Zd(e,18)^Zd(e,24)}function ih(e){return e^Zd(e,13)^Zd(e,23)}function sh(e,t,i){const s=new Array(4),r=new Array(4);for(let t=0;t<4;t++)r[0]=255&e[4*t],r[1]=255&e[4*t+1],r[2]=255&e[4*t+2],r[3]=255&e[4*t+3],s[t]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];for(let e,t=0;t<32;t+=4)e=s[1]^s[2]^s[3]^i[t+0],s[0]^=th(eh(e)),e=s[2]^s[3]^s[0]^i[t+1],s[1]^=th(eh(e)),e=s[3]^s[0]^s[1]^i[t+2],s[2]^=th(eh(e)),e=s[0]^s[1]^s[2]^i[t+3],s[3]^=th(eh(e));for(let e=0;e<16;e+=4)t[e]=s[3-e/4]>>>24&255,t[e+1]=s[3-e/4]>>>16&255,t[e+2]=s[3-e/4]>>>8&255,t[e+3]=255&s[3-e/4]}function rh(e,t,i){const s=new Array(4),r=new Array(4);for(let t=0;t<4;t++)r[0]=255&e[0+4*t],r[1]=255&e[1+4*t],r[2]=255&e[2+4*t],r[3]=255&e[3+4*t],s[t]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];s[0]^=2746333894,s[1]^=1453994832,s[2]^=1736282519,s[3]^=2993693404;for(let e,i=0;i<32;i+=4)e=s[1]^s[2]^s[3]^qd[i+0],t[i+0]=s[0]^=ih(eh(e)),e=s[2]^s[3]^s[0]^qd[i+1],t[i+1]=s[1]^=ih(eh(e)),e=s[3]^s[0]^s[1]^qd[i+2],t[i+2]=s[2]^=ih(eh(e)),e=s[0]^s[1]^s[2]^qd[i+3],t[i+3]=s[3]^=ih(eh(e));if(0===i)for(let e,i=0;i<16;i++)e=t[i],t[i]=t[31-i],t[31-i]=e}function ah(e,t,i){let{padding:s="pkcs#7",mode:r,iv:a=[],output:o="string"}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if("cbc"===r&&("string"==typeof a&&(a=Kd(a)),16!==a.length))throw new Error("iv is invalid");if("string"==typeof t&&(t=Kd(t)),16!==t.length)throw new Error("key is invalid");if(e="string"==typeof e?0!==i?Qd(e):Kd(e):[...e],("pkcs#5"===s||"pkcs#7"===s)&&0!==i){const t=Hd-e.length%Hd;for(let i=0;i=Hd;){const t=e.slice(c,c+16),s=new Array(16);if("cbc"===r)for(let e=0;ee.length&&s+r<=i.length?e.length-t:s+r>i.length&&t+r<=e.length?i.length-s:t+r<=e.length&&s+r<=i.length?r:i.length>24&255,e>>16&255,e>>8&255,255&e)}function gh(e,t){return t+3>>19)^(s<<23|s>>>9)}function Ah(e,t){var i=new Array(36);i[0]=gh(t,0),i[1]=gh(t,4),i[2]=gh(t,8),i[3]=gh(t,12);for(var s=0;s<32;s++)i[s+4]=i[s]^bh(i[s+1]^i[s+2]^i[s+3]^e[s]);var r=new Array(4);for(s=35;s>=32;s--)r[35-s]=i[s];var a=function(e){for(var t=new Array(4*e.length),i=0;i>>30)^(s<<10|s>>>22)^(s<<18|s>>>14)^(s<<24|s>>>8)}function vh(e,t,i){if(null==e||null==e||e.length%16!=0)return console.log("sm4 key is error!"),null;if(null==i||null==i||i.length<=0)return console.log("cipher is error!"),null;if(null==t||null==t||t.length%16!=0)return console.log("iv is error!"),null;for(var s=fh(e),r=Math.ceil(i.length/16),a=new Array(i.length),o=t.slice(),n=0;ne)return this.preDelayTimestamp-e>1e3&&this.player.debugWarn("CommonDemux",`getDelay() and preDelayTimestamp is ${this.preDelayTimestamp} > timestamp is ${e} more than ${this.preDelayTimestamp-e}ms and return ${this.delay}`),this.preDelayTimestamp=e,this.delay;if(this.firstTimestamp){if(e){const t=Date.now()-this.startTimestamp,i=e-this.firstTimestamp;t>=i?(this.isStreamTsMoreThanLocal=!1,this.delay=t-i):(this.isStreamTsMoreThanLocal=!0,this.delay=i-t)}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.preDelayTimestamp=e,this.delay}getDelayNotUpdateDelay(e,t){if(!e||!this.player.isDemuxDecodeFirstIIframeInit())return-1;if(t===Ve)return this.pushLatestDelay;if(this.preDelayTimestamp&&this.preDelayTimestamp-e>1e3)return this.player.debugWarn("CommonDemux",`getDelayNotUpdateDelay() and preDelayTimestamp is ${this.preDelayTimestamp} > timestamp is ${e} more than ${this.preDelayTimestamp-e}ms and return -1`),-1;if(this.firstTimestamp){let t=-1;if(e){const i=Date.now()-this.startTimestamp,s=e-this.firstTimestamp;t=i>=s?i-s:s-i}return t}return-1}resetDelay(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1}resetAllDelay(){this.resetDelay(),this.preDelayTimestamp=null}initInterval(){this.player.isPlayVodMp4()?this.player.debugLog("CommonDemux","initInterval() and is vod mp4 so return"):this.player.isUseHls265()?this.player.debugLog("CommonDemux","initInterval() and is hls and support hls265 so return"):-1===this.player.getStreamType().indexOf(A)?this.player.isPlaybackCacheBeforeDecodeForFpsRender()?this.player.debugLog("CommonDemux","initInterval() and playback and playbackIsCacheBeforeDecodeForFpsRender is true so return"):(this.player.debugLog("CommonDemux","setInterval()"),this._loop(),this.stopId=setInterval((()=>{if(this.player.isDestroyedOrClosed())return;let e=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=e);const t=e-this.preLoopTimestamp;this.updateHistoryIntervalDiffTimeList(t),t>100&&this.player.debugWarn("CommonDemux",`loop demux diff time is ${t}`),this._loop(),this.preLoopTimestamp=(new Date).getTime()}),20)):this.player.debugLog("CommonDemux","initInterval() and is worker stream so return")}clearStopInterval(){this.stopId&&(clearInterval(this.stopId),this.stopId=null)}startPlaybackLoopInterval(){this.initPlaybackCacheLoop()}updateHistoryIntervalDiffTimeList(e){this.historyIntervalDiffTimeList.length>5&&this.historyIntervalDiffTimeList.shift(),this.historyIntervalDiffTimeList.push(e)}isHistoryIntervalDiffTimeAllLarge(){if(this.historyIntervalDiffTimeList.length<5)return!1;for(let e=0;e{let e=null;this.bufferList.length&&(e=this.bufferList.shift(),this._doDecoderDecode(e))};e();const t=Math.ceil(1e3/(this.playbackStreamFps*this.player.getPlaybackRate()));this.player.debugLog("CommonDemux",`initPlaybackCacheLoop() and fragDuration is ${t}, playbackStreamFps is ${this.playbackStreamFps}, playbackRate is ${this.player.getPlaybackRate()}`),this.stopId=setInterval(e,t)}_loop(){let e;const t=this.player._opt.videoBuffer,i=this.player._opt.videoBufferDelay,s=this.player._opt.playType===_;if(this.bufferList.length){if(this.isPushDropping)return void this.player.debugWarn("CommonDemux",`_loop isPushDropping is true and bufferList length is ${this.bufferList.length}`);if(this.dropping){for(e=this.bufferList.shift(),this.player.debugWarn("CommonDemux",`_loop is dropping and data.ts is ${e.ts}, data.type is ${e.type}, data.isIFrame is ${e.isIFrame}, delay is ${this.delay} ,buffer list is ${this.bufferList.length}`);!e.isIFrame&&this.bufferList.length;)e=this.bufferList.shift();const t=this.getDelayNotUpdateDelay(e.ts,e.type);e.isIFrame&&t<=this.getNotDroppingDelayTs()&&(this.player.debugLog("CommonDemux",`_loop data isIFrame is true and delay is ${this.delay}`),this.dropping=!1,this._doDecoderDecode(e),this._decodeNext(e))}else if(this.player.isPlayback()||this.player.isPlayUseMSE()||0===t||this.player.isPlayVod())for(;this.bufferList.length;)e=this.bufferList.shift(),this._doDecoderDecode(e);else if(e=this.bufferList[0],-1===this.getDelay(e.ts,e.type))this.player.debugLog("CommonDemux",`delay is -1 and data.ts is ${e.ts} data.type is ${e.type}`),this.bufferList.shift(),this._doDecoderDecode(e),this._decodeNext(e);else if(this.delay>i+t&&s)this.hasIframeInBufferList()?(this.player.debugWarn("CommonDemux",`_loop delay is ${this.delay}, set dropping is true`),this.resetAllDelay(),this.dropping=!0,this.player.updateStats({isDropping:!0})):(this.bufferList.shift(),this._doDecoderDecode(e),this._decodeNext(e));else for(;this.bufferList.length;){if(e=this.bufferList[0],!(this.getDelay(e.ts,e.type)>t)){this.delay<0&&this.player.debugWarn("CommonDemux",`_loop delay is ${this.delay} bufferList is ${this.bufferList}`);break}this.bufferList.shift(),this._doDecoderDecode(e)}}else-1!==this.delay&&this.player.debugLog("CommonDemux","loop() bufferList is empty and reset delay"),this.resetAllDelay()}_doDecode(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;const a=this.player;let o={ts:i,cts:r,type:t,isIFrame:!1};this.player.isPlayer()?(t===ze&&a._opt.playType===_&&this.calcNetworkDelay(i),a._opt.useWCS&&!a._opt.useOffscreen||a._opt.useMSE?(t===ze&&(o.isIFrame=s),this.pushBuffer(e,o)):t===ze?a.decoderWorker&&a.decoderWorker.decodeVideo(e,i,s):t===Ve&&a._opt.hasAudio&&a.decoderWorker&&a.decoderWorker.decodeAudio(e,i)):this.player.isPlayback()?(t===ze&&(o.isIFrame=s),this.player.isPlaybackOnlyDecodeIFrame()?t===ze&&s&&this.pushBuffer(e,o):this.player.isPlaybackCacheBeforeDecodeForFpsRender()||1===this.player.getPlaybackRate()?this.pushBuffer(e,o):this.pushBuffer(e,o,!1)):this.player.isPlayVod()&&(t===ze&&(o.isIFrame=s),this.pushBuffer(e,o))}_doDecodeByHls(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"hls";if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"_doDecodeByHls() player is destroyed or closed");let o=!1;if(t===Ve&&ea(e)&&(this.player.debugLog("CommonDemux",`${a} pushBuffer audio ts is ${i}, isAacCodecPacket is true`),o=!0,this.player.isRecordTypeFlv())){const t=new Uint8Array(e);this.player.recorder.addAACSequenceHeader(t,i)}let n=!1;if(t===ze&&s&&Ro(e)&&(this.player.debugLog("CommonDemux",`${a} pushBuffer video ts is ${i}, isVideoSequenceHeader is true`),n=!0,this.player.isRecordTypeFlv())){const t=new Uint8Array(e);this.player.recorder.addVideoSequenceHeader(t,i)}this.player.recording&&Io(n)&&Io(o)&&this.handleRecording(e,t,i,s,r),t===ze?this.player.isPlayVod()&&Io(this.player.isPlayVodUseMSE())&&this.player.playVod&&this.player.playVod.isRateMoreThanMaxRate()?s&&this._doDecoderDecode({ts:i,cts:r,payload:e,type:ze,isIFrame:s}):this._doDecoderDecode({ts:i,cts:r,payload:e,type:ze,isIFrame:s}):t===Ve&&(this.player.isPlayVod()&&Io(this.player.isPlayVodUseMSE())&&this.player.playVod&&this.player.playVod.isRateMoreThanMaxRate()||this._doDecoderDecode({ts:i,payload:e,type:Ve}))}_doDecodeByFmp4(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(e,t,i,s,r)}_doDecodeByTs(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(e,t,i,s,r)}_doDecodeByPs(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(e,t,i,s,r)}_doDecodeByMp4(e,t,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecodeByHls(e,t,i,s,r,"mp4")}_decodeNext(e){const t=e.ts;if(0===this.bufferList.length)return;let i=this.bufferList[0];const s=i.ts-t,r=e.type===ze&&i.type===Ve,a=e.type===ze&&Ro(e.payload);(s<=20||r||a)&&(this.player.debugLog("CommonDemux",`decode data type is ${e.type} and\n ts is ${t} next data type is ${i.type} ts is ${i.ts}\n diff is ${s} and isVideoAndNextAudio is ${r} and isVideoSqeHeader is ${a}`),this.bufferList.shift(),this._doDecoderDecode(i))}_doDecoderDecode(e){const t=this.player,{webcodecsDecoder:i,mseDecoder:s}=t;this.player.isPlayer()&&this.player.updateStats({buf:this.delay}),e.type===Ve?t._opt.hasAudio&&(t._opt.useMSE&&t._opt.mseDecodeAudio?s.decodeAudio(e.payload,e.ts):t._opt.useWCS&&t._opt.wcsDecodeAudio?i.decodeAudio(e.payload,e.ts):t.decoderWorker&&t.decoderWorker.decodeAudio(e.payload,e.ts)):e.type===ze&&(t._opt.isEmitSEI&&this.findSei(e.payload,e.ts),t._opt.useWCS&&!t._opt.useOffscreen?i.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):t._opt.useMSE?s.decodeVideo(e.payload,e.ts,e.isIFrame,e.cts):t.decoderWorker&&t.decoderWorker.decodeVideo(e.payload,e.ts,e.isIFrame))}pushBuffer(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const s=this.player._opt.videoBuffer,r=this.player._opt.videoBufferDelay,a=this.player.isPlayer();if(t.type===Ve&&ea(e)){if(this.player.debugLog("CommonDemux",`pushBuffer() audio ts is ${t.ts}, isAacCodecPacket is true`),this.player.isRecordTypeFlv()){const i=new Uint8Array(e);this.player.recorder.addAACSequenceHeader(i,t.ts)}this._doDecoderDecode({ts:t.ts,payload:e,type:Ve})}else if(t.type===ze&&t.isIFrame&&Ro(e)){if(this.player.debugLog("CommonDemux",`pushBuffer() video ts is ${t.ts}, isVideoSequenceHeader is true`),this.player.isRecordTypeFlv()){const i=new Uint8Array(e);this.player.recorder.addVideoSequenceHeader(i,t.ts)}this._doDecoderDecode({ts:t.ts,payload:e,type:ze,isIFrame:t.isIFrame,cts:t.cts})}else{if(this.player.recording&&this.handleRecording(e,t.type,t.ts,t.isIFrame,t.cts),a){if(t.type===ze){if(this.preTimestampDuration>0){const e=t.ts-this.preTimestamp,i=this.preTimestampDuration+this.preTimestampDuration/2;e>=i&&this.player.debugLog("CommonDemux",`pushBuffer() video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts}, preTs is ${this.preTimestamp},\n diff is ${e} and preTsDuration is ${this.preTimestampDuration} and maxDiff is ${i}\n maybe trigger black screen or flower screen`)}if(null!==this.preTimestamp&&this.preTimestamp>=t.ts&&(this.player.debugWarn("CommonDemux",`pushBuffer() video and isIFrame is ${t.isIFrame} and\n ts is ${t.ts} less than (or equal) preTs is ${this.preTimestamp} and\n payloadBufferSize is ${e.byteLength} and prevPayloadBufferSize is ${this.prevPayloadBufferSize}`),this.preTimestamp-t.ts>se&&(this.player.debugWarn("CommonDemux",`pushBuffer() video\n ts is ${t.ts}, preTimestamp is ${this.preTimestamp},\n diff is ${this.preTimestamp-t.ts} more than 3600000\n and resetAllDelay()`),this.resetAllDelay()),this.player._opt.isDropSameTimestampGop&&Io(t.isIFrame)&&this.player.isDemuxDecodeFirstIIframeInit())){const e=this.hasIframeInBufferList(),t=Io(this.isPushDropping);return this.player.debugLog("CommonDemux",`pushBuffer(), isDropSameTimestampGop is true and\n hasIframe is ${e} and isNotPushDropping is ${t} and next drop buffer`),void(e&&t?this.dropBuffer$2():this.clearBuffer(!0))}this.preTimestamp>0&&(this.preTimestampDuration=t.ts-this.preTimestamp),this.prevPayloadBufferSize=e.byteLength,this.preTimestamp=t.ts}if(this.player.isDemuxDecodeFirstIIframeInit()){let e=this.getDelayNotUpdateDelay(t.ts,t.type);this.pushLatestDelay=e;const i=r+s;this.player._opt.useMSE?this.delay>0&&e>i&&this.delay ${r+s}, bufferList is ${this.bufferList.length}, delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()):this.delay>0&&e>i&&this.delay ${r+s},bufferList is ${this.bufferList.length}, delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()),this.isHistoryIntervalDiffTimeAllLarge()&&Io(this.player.visibility)&&(this.player._opt.useMSE?this.hasIframeInBufferList()&&!1===this.isPushDropping&&(this.player.debugWarn("CommonDemux",`useMSE, page visibility is false and\n history interval diff is ${this.historyIntervalDiffTimeList.join(",")} and\n bufferList is ${this.bufferList.length},\n delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()):this.hasIframeInBufferList()&&!1===this.isPushDropping&&(this.player.debugWarn("CommonDemux",`useWCS, page visibility is false and\n history interval diff is ${this.historyIntervalDiffTimeList.join(",")} and\n bufferList is ${this.bufferList.length},\n delay is ${this.delay} and dropBuffer$2()`),this.dropBuffer$2()))}}i?t.type===Ve?this.bufferList.push({ts:t.ts,payload:e,type:Ve}):t.type===ze&&this.bufferList.push({ts:t.ts,cts:t.cts,payload:e,type:ze,isIFrame:t.isIFrame}):t.type===ze?this._doDecoderDecode({ts:t.ts,cts:t.cts,payload:e,type:ze,isIFrame:t.isIFrame}):t.type===Ve&&this._doDecoderDecode({ts:t.ts,payload:e,type:Ve}),this.player.isPlaybackCacheBeforeDecodeForFpsRender()&&this.calcPlaybackStreamFps()}}calcPlaybackStreamFps(){if(Ja(this.playbackStreamVideoFps)||Ja(this.playbackStreamAudioFps)){let e=this.playbackStreamVideoFps,t=this.playbackStreamAudioFps;if(Ja(this.playbackStreamVideoFps)&&(e=Eo(this.bufferList,ze),e>0&&(this.playbackStreamVideoFps=e,this.player.video&&this.player.video.setStreamFps(this.playbackStreamVideoFps),this.playbackStreamFps=t?e+t:e,Io(this.player._opt.hasAudio)&&(this.player.debugLog(this.TAG_NAME,"playbackCacheBeforeDecodeForFpsRender,_opt.hasAudio is false and set streamAudioFps is 0"),this.playbackStreamAudioFps=0),this.initPlaybackCacheLoop())),Ja(this.playbackStreamAudioFps)&&(t=Eo(this.bufferList,Ve),t>0&&(this.playbackStreamAudioFps=t,this.playbackStreamFps=e?e+t:t,this.initPlaybackCacheLoop())),Ja(this.playbackStreamVideoFps)&&Ja(this.playbackStreamAudioFps)){const i=this.bufferList.map((e=>({type:e.type,ts:e.ts})));this.player.debugLog("CommonDemux",`playbackCacheBeforeDecodeForFpsRender, calc streamAudioFps is ${t}, streamVideoFps is ${e}, bufferListLength is ${this.bufferList.length} and ts list is ${JSON.stringify(i)}`)}const i=this.getAudioBufferLength()>0,s=i?60:40;this.bufferList.length>=s&&(this.player.debugWarn("CommonDemux",`playbackCacheBeforeDecodeForFpsRender, bufferListLength is ${this.bufferList.length} more than ${s}, and hasAudio is ${i} an set streamFps is 25`),this.playbackStreamVideoFps=e,this.player.video&&this.player.video.setStreamFps(this.playbackStreamVideoFps),i?(this.playbackStreamAudioFps=25,this.playbackStreamFps=this.playbackStreamVideoFps+this.playbackStreamAudioFps):this.playbackStreamFps=this.playbackStreamVideoFps,this.initPlaybackCacheLoop())}}dropBuffer$2(){if(this.bufferList.length>0){let e=this.bufferList.findIndex((e=>Po(e.isIFrame)&&e.type===ze));if(this.isAllIframeInBufferList())for(let t=0;t=this.getNotDroppingDelayTs()){this.player.debugLog("CommonDemux",`dropBuffer$2() isAllIframeInBufferList() is true, and index is ${t} and tempDelay is ${s} and notDroppingDelayTs is ${this.getNotDroppingDelayTs()}`),e=t;break}}if(e>=0){this.isPushDropping=!0,this.player.updateStats({isDropping:!0});const t=this.bufferList.length;this.bufferList=this.bufferList.slice(e);const i=this.bufferList.shift();this.resetAllDelay(),this.getDelay(i.ts,i.type),this._doDecoderDecode(i),this.isPushDropping=!1,this.player.debugLog("CommonDemux",`dropBuffer$2() iFrameIndex is ${e},and old bufferList length is ${t} ,and new bufferList length is ${this.bufferList.length} and new delay is ${this.delay} `)}else this.isPushDropping=!1}0===this.bufferList.length&&(this.isPushDropping=!1)}clearBuffer(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.player.debugLog("CommonDemux",`clearBuffer,buffer length is ${this.bufferList.length}, need clear is ${e} and _opt.checkFirstIFrame is ${this.player._opt.checkFirstIFrame}`),e&&(this.bufferList=[]),this.player.isPlayer()&&(this.resetAllDelay(),Po(this.player._opt.checkFirstIFrame)&&(this.dropping=!0,this.player.updateStats({isDropping:!0}))),this.player.decoderCheckFirstIFrame()}calcNetworkDelay(e){if(!(this.player.isDemuxDecodeFirstIIframeInit()&&e>0))return;null===this.bufferStartDts?(this.bufferStartDts=e,this.bufferStartLocalTs=_a()):et?i-t:0;s>this.player._opt.networkDelay&&this.player._opt.playType===_&&(this.player.debugWarn("CommonDemux",`delay is more than networkDelay and now dts:${e},start dts is ${this.bufferStartDts}, vs start is ${t},local diff is ${i} ,delay is ${s}, _opt.networkDelay is ${this.player._opt.networkDelay}`),this.player.emit(vt.networkDelayTimeout,s)),this.player.updateStats({netBuf:s})}calcIframeIntervalTimestamp(e){if(null===this.preIframeTs)this.preIframeTs=e;else if(this.preIframeTs{t.type===ze&&(e+=1)})),e}getAudioBufferLength(){let e=0;return this.bufferList.forEach((t=>{t.type===Ve&&(e+=1)})),e}hasIframeInBufferList(){return this.bufferList.some((e=>e.type===ze&&e.isIFrame))}isAllIframeInBufferList(){const e=this.getVideoBufferLength();let t=0;return this.bufferList.forEach((e=>{e.type===ze&&e.isIFrame&&(t+=1)})),e===t}getInputByteLength(){return 0}getIsStreamTsMoreThanLocal(){return this.isStreamTsMoreThanLocal}close(){}reset(){}findSei(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=4;Ka(this.nalUnitSize)&&(s=this.nalUnitSize);const r=ma(e.slice(5),s);if(Io(i)){const e=this.player.getVideoInfo();e&&e.encType&&(i=e.encType===Mt)}r.forEach((e=>{const s=i?e[0]>>>1&63:31&e[0],r=i&&(s===hi||s===di),a=Io(i)&&s===Ht;if(r||a){const s=ga(e,i);this.player.emitVideoSei({ts:t,data:s.payload})}}))}handleRecording(e,t,i,s,r){if(this.player.isRecordTypeFlv()){const s=new Uint8Array(e);t===ze?this.player.recorder.addVideo(s,i):t===Ve&&this.player.recorder.addAudio(s,i)}else if(this.player.isRecordTypeMp4()){const a=new Uint8Array(e);if(this.player.recorder.isWasmMp4()){if(t===ze)this.player.recorder.handleAddNaluTrack(a.slice(5),s,i,r);else if(t===Ve){const t=new Uint8Array(e);this.player.recorder.handleAddAudioTrack(ta(t)?t.slice(2):t.slice(1),i)}}else t===ze&&this.player.recorder.handleAddNaluTrack(a.slice(5),s,i,r)}}updateNalUnitSize(e){const t=15&e[0];this.player.video.updateVideoInfo({encTypeCode:t});const i=t===It;this.nalUnitSize=function(e,t){let i=null;return t?e.length>=28&&(i=1+(3&e[26])):e.length>=12&&(i=1+(3&e[9])),i}(e,i),this.player.debugLog(this.TAG_NAME,`demux() isVideoSequenceHeader is true and isHevc is ${i} and nalUnitSize is ${this.nalUnitSize}`)}cryptoPayload(e,t){let i=this.player,s=e;if(i._opt.isM7sCrypto)if(i._opt.cryptoKey&&i._opt.cryptoKey.byteLength>0&&i._opt.cryptoIV&&i._opt.cryptoIV.byteLength>0){const t=this.player.video.getVideoInfo();t.encTypeCode?s=function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];t=new Uint8Array(t),i=new Uint8Array(i);const r=e.byteLength;let a=5;for(;ar)break;let n=e[a+4],l=!1;if(s?(n=n>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(n)):(n&=31,l=1===n||5===n),l){const s=e.slice(a+4+2,a+4+o);let r=new Gd.ModeOfOperation.ctr(t,new Gd.Counter(i));const n=r.decrypt(s);r=null,e.set(n,a+4+2)}a=a+4+o}return e}(e,i._opt.cryptoKey,i._opt.cryptoIV,t.encTypeCode===It):i.debugWarn(this.TAG_NAME,`videoInfo.encTypeCode is ${t.encTypeCode}`)}else i.debugError(this.TAG_NAME,`isM7sCrypto cryptoKey.length is ${i._opt.cryptoKey&&i._opt.cryptoKey.byteLength} or cryptoIV.length is ${i._opt.cryptoIV&&i._opt.cryptoIV.byteLength} null`);else if(i._opt.isSm4Crypto)if(i._opt.sm4CryptoKey){const t=this.player.video.getVideoInfo().encTypeCode===It,r=this.player._opt.isSm4CryptoH265V2;s=i._opt.cryptoKey&&i._opt.cryptoKey.byteLength>0&&i._opt.cryptoIV&&i._opt.cryptoIV.byteLength>0?function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];t=new Uint8Array(t),i=new Uint8Array(i);const a=e.byteLength;let o=5;for(;oa)break;let l=e[o+4],d=!1,h=2;if(s?(r&&(h=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,d=1===l||5===l),d){const s=vh(t,i,e.slice(o+4+h,o+4+n));e.set(s,o+4+h)}o=o+4+n}return e}(e,i._opt.cryptoKey,i._opt.cryptoIV,t,r):function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=e.byteLength;let a=new Uint8Array(e.slice(0,5)),o=5;for(;or){const t=new Uint8Array(a.length+e.length-o);t.set(a,0),t.set(e.slice(o),a.length),a=t;break}let d=e[o+4],h=!1,c=2;if(i?(s&&(c=3),d=d>>>1&63,h=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(d)):(d&=31,h=1===d||5===d),h){const i=ah(e.slice(o+4+c,o+4+l),t,0,{padding:"none",output:"array"});let s=i[i.length-1];if(s>0&&s<16){let e=!0;for(let t=1;t<=s;t++)if(i[i.length-t]!==s){e=!1;break}e&&i.splice(i.length-s,s)}const r=new Uint8Array(c);r.set(e.slice(o+4,o+4+c),0);const n=fa(Ll(r,new Uint8Array(i))),d=new Uint8Array(a.length+n.length);d.set(a,0),d.set(n,a.length),a=d}else{const t=e.slice(o+4,o+4+l),i=new Uint8Array(a.length+4+t.length);i.set(a,0),i.set(n,a.length),i.set(t,a.length+4),a=i}o=o+4+l}return a}(e,i._opt.sm4CryptoKey,t,r)}else i._opt.sm4CryptoKey||i.debugError(this.TAG_NAME,"isSm4Crypto opt.sm4CryptoKey is null");else if(i._opt.isXorCrypto)if(i._opt.cryptoKey&&i._opt.cryptoKey.byteLength>0&&i._opt.cryptoIV&&i._opt.cryptoIV.byteLength>0){const t=this.player.video.getVideoInfo();s=function(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=e.byteLength;let a=5;for(;ar)break;let n=e[a+4],l=!1;if(s?(n=n>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(n)):(n&=31,l=1===n||5===n),l){const s=nh(e.slice(a+4,a+4+o),t,i);e.set(s,a+4)}a=a+4+o}return e}(e,i._opt.cryptoKey,i._opt.cryptoIV,t.encTypeCode===It)}else i.debugError(this.TAG_NAME,"isXorCrypto opt.xorCryptoKey is null");return s}cryptoPayloadAudio(e){let t=this.player;if(Io(t._opt.isCryptoAudio))return e;let i=e;if(t._opt.isM7sCrypto)if(t._opt.cryptoKey&&t._opt.cryptoKey.byteLength>0&&t._opt.cryptoIV&&t._opt.cryptoIV.byteLength>0){e[0]>>4===Ft&&(i=function(e,t,i){if(e.byteLength<=30)return e;const s=e.slice(32);let r=new Gd.ModeOfOperation.ctr(t,new Gd.Counter(i));const a=r.decrypt(s);return r=null,e.set(a,32),e}(e,t._opt.cryptoKey,t._opt.cryptoIV))}else t.debugError(this.TAG_NAME,`isM7sCrypto cryptoKey.length is ${t._opt.cryptoKey&&t._opt.cryptoKey.byteLength} or cryptoIV.length is ${t._opt.cryptoIV&&t._opt.cryptoIV.byteLength} null`);return i}_decodeEnhancedH265Video(e,t){const i=e[0],s=48&i,r=15&i,a=e.slice(1,5),o=new ArrayBuffer(4),n=new Uint32Array(o),l="a"==String.fromCharCode(a[0]);if(r===vr){if(s===wr){const t=e.slice(5);if(l);else{const e=new Uint8Array(5+t.length);e.set([28,0,0,0,0],0),e.set(t,5),this.updateNalUnitSize(e),this.player.debugLog(this.TAG_NAME,`demux() isVideoSequenceHeader(enhancedH265) is true and nalUnitSize is ${this.nalUnitSize}`),this._doDecode(e,ze,0,!0,0)}}}else if(r===_r){let i=e,r=0;const a=s===wr;if(a&&this.calcIframeIntervalTimestamp(t),l);else{n[0]=e[4],n[1]=e[3],n[2]=e[2],n[3]=0,r=n[0];i=yl(e.slice(8),a),i=this.cryptoPayload(i,a),this._doDecode(i,ze,t,a,r)}}else if(r===Sr){const i=s===wr,r=e.slice(5);i&&this.calcIframeIntervalTimestamp(t);let a=yl(r,i);a=this.cryptoPayload(a,i),this._doDecode(a,ze,t,i,0)}}_isEnhancedH265Header(e){return 128==(128&e)}handlePlaybackPause(e){Po(e)?this.clearStopInterval():this.startPlaybackLoopInterval()}_calcDecodeFps(e){const t=e.map((e=>({ts:e.dts||e.pts,type:e.type})));this._tempSampleTsList=this._tempSampleTsList.concat(t);const i=Eo(this._tempSampleTsList,ze);if(i)this.player.debugLog(this.TAG_NAME,`_calcDecodeFps() video fps is ${i}, update base fps is ${this._basefps}`),this._basefps=i,this._tempSampleTsList=[],this._postMessageToLoopWorker("updateBaseFps",{baseFps:this._basefps});else if(this.player.debugLog(this.TAG_NAME,"_calcDecodeFps() streamVideoFps is null"),this._tempSampleTsList.length>200)return this.player.debugLog(this.TAG_NAME,`_calcDecodeFps() _tempSampleTsList is more than 200, clear and use base fps update ${this._basefps}`),this._tempSampleTsList=[],this._postMessageToLoopWorker("updateBaseFps",{baseFps:this._basefps}),!0;return null!==i}_isUseWorker(){return!this.player.isUseMSE()}getBufferListLength(){return this.bufferList.length}geVodLoadedTime(){return 0}}var Sh=function(e,t,i,s){return new(i||(i=Promise))((function(r,a){function o(e){try{l(s.next(e))}catch(e){a(e)}}function n(e){try{l(s.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}l((s=s.apply(e,t||[])).next())}))};const wh=Symbol(32),Eh=Symbol(16),Th=Symbol(8);class kh{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return Sh(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,i)=>{var s;this.reject=i,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)};this.demand(e,!0)||null===(s=this.pull)||void 0===s||s.call(this,e)}))}))}readU32(){return this.read(wh)}readU16(){return this.read(Eh)}readU8(){return this.read(Th)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null;const t=this.buffer.subarray(this.consumed);let i=0;const s=e=>t.length<(i=e);if("number"==typeof this.need){if(s(this.need))return;e=t.subarray(0,i)}else if(this.need===wh){if(s(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===Eh){if(s(2))return;e=t[0]<<8|t[1]}else if(this.need===Th){if(s(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(s(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,i)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(s(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,i)),e=this.need}return this.consumed+=i,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){const t=this.buffer.length,i=t+e;if(i<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,i);else{const e=new Uint8Array(i);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,i)}return this.buffer=new Uint8Array(e),this.buffer}}kh.U32=wh,kh.U16=Eh,kh.U8=Th;class Lh extends _h{constructor(e){super(e),this.TAG_NAME="FlvDemux",this.input=new kh(this.demux()),e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.input&&(this.input.close(),this.input=null),this.player.debugLog(this.TAG_NAME,"destroy")}dispatch(e){this.input?this.input.write(e):this.player&&this.player.debugWarn(this.TAG_NAME,"dispatch() this.input is null")}*demux(){yield 9;const e=new ArrayBuffer(4),t=new Uint8Array(e),i=new Uint32Array(e),s=this.player;for(;;){if(!this.input)return;t[3]=0;const e=yield 15,r=e[4];t[0]=e[7],t[1]=e[6],t[2]=e[5];const a=i[0];t[0]=e[10],t[1]=e[9],t[2]=e[8],t[3]=e[11];let o=i[0];const n=(yield a).slice();if(!s)return;switch(r){case $e:if(s._opt.hasAudio&&(s.updateStats({abps:n.byteLength}),n.byteLength>0)){let e=this.cryptoPayloadAudio(n);this._doDecode(e,Ve,o)}break;case He:if(s._opt.hasVideo&&n.length>=6){let e=o;s.updateStats({vbps:n.byteLength,dts:e}),s._times.demuxStart||(s._times.demuxStart=_a());const t=n[0];if(this._isEnhancedH265Header(t))this._decodeEnhancedH265Video(n,e);else{const e=15&t;let s=(t>>4&15)===Ws;const r=e===It,a=e===Pt;if(Io(r||a))return void this.player.debugWarn(this.TAG_NAME,`demux() codecId is ${e} and ignore`);Io(s)&&Po(zo(n,r))&&(this.player.debugLog(this.TAG_NAME,"demux() isIFrame is false and unit type is IDR and update to true"),s=!0),s&&(this.calcIframeIntervalTimestamp(o),null===this.nalUnitSize&&Ro(n)&&this.updateNalUnitSize(n)),i[0]=n[4],i[1]=n[3],i[2]=n[2],i[3]=0;let l=i[0],d=this.cryptoPayload(n,s);this._doDecode(d,ze,o,s,l)}}else n.length<6&&s.debugWarn(this.TAG_NAME,`payload.length is ${n.length} less than 6 and ignore`);break;case Je:if(this.player.isRecordTypeFlv()){const e=new Uint8Array(n);this.player.recorder.addMetaData(e)}const e=Ol(n);e&&e.onMetaData&&s.updateMetaData(e.onMetaData);break;default:s.debugLog(this.TAG_NAME,`demux() type is ${r}`)}}}close(){this.input&&(this.input.close(),this.input=null)}getInputByteLength(){let e=0;return this.input&&this.input.buffer&&(e=this.input.buffer.byteLength),e}}class Ch extends _h{constructor(e){super(e),this.TAG_NAME="M7sDemux",e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}dispatch(e){const t=this.player,i=new DataView(e),s=i.getUint8(0),r=i.getUint32(1,!1),a=new ArrayBuffer(4),o=new Uint32Array(a);switch(s){case Ve:if(t._opt.hasAudio){const i=new Uint8Array(e,5);t.updateStats({abps:i.byteLength}),i.byteLength>0&&this._doDecode(i,s,r)}break;case ze:if(t._opt.hasVideo)if(t._times.demuxStart||(t._times.demuxStart=_a()),i.byteLength>=11){const a=new Uint8Array(e,5);let n=r;t.updateStats({vbps:a.byteLength,dts:n});const l=a[0];if(this._isEnhancedH265Header(l))this._decodeEnhancedH265Video(a,r);else{const e=i.getUint8(5)>>4==1;e&&this.calcIframeIntervalTimestamp(r),o[0]=a[4],o[1]=a[3],o[2]=a[2],o[3]=0;let t=o[0],n=this.cryptoPayload(a,e);this._doDecode(n,s,r,e,t)}}else this.player.debugWarn(this.TAG_NAME,"dispatch","dv byteLength is",i.byteLength,"and return")}}}class xh extends Lh{constructor(e){super(e),this.TAG_NAME="WebTransportDemux",e.debugLog("WebTransportDemux","init")}destroy(){super.destroy(),this.player.debugLog("WebTransportDemux","destroy")}}class Dh{constructor(e){this.data=e,this.index=0,this.bitLength=8*e.byteLength}get bitsAvailable(){return this.bitLength-this.index}skipBits(e){if(this.bitsAvailable1&&void 0!==arguments[1])||arguments[1];return this.getBits(e,this.index,t)}getBits(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>s,a=8-s;if(a>=e)return i&&(this.index+=e),r>>a-e;{i&&(this.index+=a);const s=e-a;return r<>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.readBits(8*e)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class Rh extends _h{constructor(e){super(e),this.TAG_NAME="NakedFlowDemux",this.lastBuf=null,this.vps=null,this.sps=null,this.pps=null,this.streamVideoType=null,this.streamAudioType=null,this.tempNaluBufferList=new Uint8Array(0),this.pendingUnits={},this.localDts=0,this.isSendSeqHeader=!1,this.isSendAACSeqHeader=!1,e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.lastBuf=null,this.vps=null,this.sps=null,this.pps=null,this.streamVideoType=null,this.streamAudioType=null,this.tempNaluBufferList=new Uint8Array(0),this.pendingUnits={},this.localDts=0,this.localAudioDts=0,this.isSendSeqHeader=!1,this.isSendAACSeqHeader=!1,this.player.debugLog(this.TAG_NAME,"destroy")}dispatch(e){this.player;const t=new Uint8Array(e);if(this.player._opt.nakedFlowDemuxUseNew){const e=this.extractNALu$3(t);if(0===e.length)return void this.player.debugLog(this.TAG_NAME,"dispatch naluArray.length === 0");this.handleVideoFrames(e)}else this.extractNALu$2(t)}addNaluToBuffer(e){const t=e.byteLength+this.tempNaluBufferList.byteLength,i=new Uint8Array(t);i.set(this.tempNaluBufferList,0),i.set(e,this.tempNaluBufferList.byteLength),this.tempNaluBufferList=i}downloadNakedFlowFile(){const e=new Blob([this.tempNaluBufferList]);try{const t=document.createElement("a");t.href=window.URL.createObjectURL(e),t.download=Date.now()+".h264",t.click(),window.URL.revokeObjectURL(t.href)}catch(e){console.error("downloadTempNalu",e)}}getNaluDts(){const e=this.player._opt.nakedFlowFps;return this.localDts=this.localDts+parseInt(1e3/e,10),this.localDts}getNaluAudioDts(){const e=this.player.audio.audioContext.sampleRate,t=this.player.audio.audioBufferSize;return this.localDts+parseInt(t/e*1e3)}extractNALu(e){let t,i,s=0,r=e.byteLength,a=0,o=[];for(;s1)for(let e=0;e{const t=rl(e);t===Wt||t===Gt?this.handleVideoH264Nalu(e):ol(t)&&s.push(e)})),1===s.length)this.handleVideoH264Nalu(s[0]);else{const e=function(e){if(0===e.length)return!1;const t=rl(e[0]);for(let i=1;i{this.handleVideoH264Nalu(e)}))}}else if(this.streamVideoType===Mt)if(this.player._opt.nakedFlowH265DemuxUseNew){const e=this.handleAddNaluStartCode(t),i=this.extractNALu(e);if(0===i.length)return void this.player.debugWarn(this.TAG_NAME,"handleVideoNalu","h265 naluList.length === 0");const s=[];if(i.forEach((e=>{const t=Al(e);t===oi||t===ri||t===ii?this.handleVideoH265Nalu(e):bl(t)&&s.push(e)})),1===s.length)this.handleVideoH265Nalu(s[0]);else{const e=function(e){if(0===e.length)return!1;const t=Al(e[0]);for(let i=1;i{this.handleVideoH265Nalu(e)}))}}else{Al(t)===oi?this.extractH265PPS(t):this.handleVideoH265Nalu(t)}else this.player.debugWarn(this.TAG_NAME," this.streamVideoType is null")}extractH264PPS(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{al(rl(e))?this.extractH264SEI(e):this.handleVideoH264Nalu(e)}))}extractH265PPS(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{const t=Al(e);t===li?this.extractH265SEI(e):this.handleVideoH265Nalu(e)}))}extractH264SEI(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{this.handleVideoH264Nalu(e)}))}extractH265SEI(e){const t=this.handleAddNaluStartCode(e);this.extractNALu(t).forEach((e=>{this.handleVideoH265Nalu(e)}))}handleAddNaluStartCode(e){const t=[0,0,0,1],i=new Uint8Array(e.length+t.length);return i.set(t),i.set(e,t.length),i}handleAudioAACNalu(e){if(!e||e.byteLength<1)return;this.streamAudioType||(this.streamAudioType=Nt.AAC);let t=new Uint8Array(e);const i=t.slice(0,7);if(t=t.slice(7),!this.isSendAACSeqHeader){const e=(192&i[2])>>6,t=(60&i[2])>>2,s=(1&i[2])<<2|(192&i[3])>>6,r=new Uint8Array([175,0,e<<3|(14&t)>>1,(1&t)<<7|s<<3]);this.isSendAACSeqHeader=!0,this._doDecode(r,Ve,0,!1,0)}const s=this.getNaluAudioDts(),r=new Uint8Array(t.length+2);r.set([175,1],0),r.set(t,2),this._doDecode(r,Ve,s,!1,0)}handleAudioG711ANalu(e){if(!e||e.byteLength<1)return;this.streamAudioType||(this.streamAudioType=Nt.ALAW);let t=new Uint8Array(e);const i=this.getNaluAudioDts(),s=new Uint8Array(t.length+1);s.set([114],0),s.set(t,1),this._doDecode(s,Ve,i,!1,0)}handleAudioG711UNalu(e){if(!e||e.byteLength<1)return;this.streamAudioType||(this.streamAudioType=Nt.MULAW);let t=new Uint8Array(e);const i=this.getNaluAudioDts(),s=new Uint8Array(t.length+1);s.set([130],0),s.set(t,1),this._doDecode(s,Ve,i,!1,0)}handleVideoH264Nalu(e){const t=rl(e);switch(t){case Gt:this.sps=e;break;case Wt:this.pps=e}if(this.isSendSeqHeader){if(this.sps&&this.pps){const e=il({sps:this.sps,pps:this.pps}),t=this.localDts;this._doDecode(e,ze,t,!0,0),this.sps=null,this.pps=null}if(ol(t)){this.player._times.demuxStart||(this.player._times.demuxStart=_a());const i=nl(t),s=this.getNaluDts(),r=function(e,t){let i=[];i[0]=t?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e.byteLength>>24&255,i[6]=e.byteLength>>16&255,i[7]=e.byteLength>>8&255,i[8]=255&e.byteLength;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}(e,i);this._preDoDecode(r,ze,s,i,0)}else this.player.debugWarn(this.TAG_NAME,`handleVideoH264Nalu is avc seq head nalType is ${t}`)}else if(this.sps&&this.pps){this.isSendSeqHeader=!0;const e=il({sps:this.sps,pps:this.pps});this._doDecode(e,ze,0,!0,0),this.sps=null,this.pps=null}}handleVideoH264NaluList(e,t,i){if(this.isSendSeqHeader){this.player._times.demuxStart||(this.player._times.demuxStart=_a());const i=this.getNaluDts(),s=sl(e.reduce(((e,t)=>{const i=fa(e),s=fa(t),r=new Uint8Array(i.byteLength+s.byteLength);return r.set(i,0),r.set(s,i.byteLength),r})),t);this._preDoDecode(s,ze,i,t,0)}else this.player.debugWarn(this.TAG_NAME,"handleVideoH264NaluList isSendSeqHeader is false")}handleVideoH265Nalu(e){const t=Al(e);switch(t){case ii:this.vps=e;break;case ri:this.sps=e;break;case oi:this.pps=e}if(this.isSendSeqHeader){if(this.vps&&this.sps&&this.pps){const e=fl({vps:this.vps,sps:this.sps,pps:this.pps}),t=this.localDts;this._doDecode(e,ze,t,!0,0),this.vps=null,this.sps=null,this.pps=null}if(bl(t)){this.player._times.demuxStart||(this.player._times.demuxStart=_a());const i=vl(t),s=this.getNaluDts(),r=function(e,t){let i=[];i[0]=t?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=e.byteLength>>24&255,i[6]=e.byteLength>>16&255,i[7]=e.byteLength>>8&255,i[8]=255&e.byteLength;const s=new Uint8Array(i.length+e.byteLength);return s.set(i,0),s.set(e,i.length),s}(e,i);this._preDoDecode(r,ze,s,i,0)}}else if(this.vps&&this.sps&&this.pps){this.isSendSeqHeader=!0;const e=fl({vps:this.vps,sps:this.sps,pps:this.pps});this._doDecode(e,ze,0,!0,0),this.vps=null,this.sps=null,this.pps=null}}handleVideoH265NaluList(e,t,i){if(this.isSendSeqHeader){this.player._times.demuxStart||(this.player._times.demuxStart=_a());const i=this.getNaluDts(),s=yl(e.reduce(((e,t)=>{const i=fa(e),s=fa(t),r=new Uint8Array(i.byteLength+s.byteLength);return r.set(i,0),r.set(s,i.byteLength),r})),t);this._preDoDecode(s,ze,i,t,0)}else this.player.debugWarn(this.TAG_NAME,"handleVideoH265NaluList isSendSeqHeader is false")}_preDoDecode(e,t,i,s,r){this.player.updateStats({vbps:e.byteLength,dts:i}),s&&this.calcIframeIntervalTimestamp(i),this._doDecode(e,ze,i,s,r)}getInputByteLength(){let e=0;return this.lastBuf&&(e=this.lastBuf.byteLength),e}handleVideoFrames(e){if(!this.streamVideoType)for(let t of e)if(this.streamVideoType=bo(t),this.streamVideoType)break;this.streamVideoType?this.streamVideoType===Bt?this.handleVideoH264Frames(e):this.streamVideoType===Mt&&this.handleVideoH265Frames(e):this.player.debugWarn(this.TAG_NAME,"handleVideoFrames streamVideoType is null")}handleVideoH264Frames(e){let t=[],i=[],s=!1,r=!1;this.pendingUnits.units&&(t=this.pendingUnits.units,r=this.pendingUnits.vcl,s=this.pendingUnits.iFrame,this.pendingUnits={});let a={};for(let o of e){if(o.byteLength<4)continue;const e=rl(o);let n=!1,l=e===$t;e!==zt&&e!==$t||(a=this.parseVideo264Header(o),n=!0),t.length&&r&&(a.isfms||!n)&&(i.push({units:t,isIFrame:s}),t=[],s=!1,r=!1),t.push(o),s=s||l,r=r||n}t.length&&(this.pendingUnits={units:t,vcl:r,iFrame:s}),i.forEach((e=>{const t=e.units,i=e.isIFrame;let s=null,r=null;if(t.forEach((e=>{const t=31&e[0];switch(t){case Wt:this.pps=e;break;case Gt:this.sps=e;break;case Ht:r=e}if(ol(t)){const t=fa(e);if(s){const e=new Uint8Array(s.byteLength+t.byteLength);e.set(s,0),e.set(t,s.byteLength),s=e}else s=t}})),!this.isSendSeqHeader&&this.sps&&this.pps){this.isSendSeqHeader=!0;const e=il({sps:this.sps,pps:this.pps});this._doDecode(e,ze,0,!0,0),this.sps=null,this.pps=null}if(this.isSendSeqHeader){if(this.sps&&this.pps){const e=il({sps:this.sps,pps:this.pps}),t=this.localDts;this._doDecode(e,ze,t,!0,0),this.sps=null,this.pps=null}if(s){this.player._times.demuxStart||(this.player._times.demuxStart=_a());const e=this.getNaluDts(),t=sl(s,i);if(this.player._opt.isEmitSEI&&r){const t=ga(r,!1);this.player.emitVideoSei({ts:e,data:t.payload})}this._preDoDecode(t,ze,e,i,0)}}}))}handleVideoH265Frames(e){let t=[],i=[],s=!1,r=!1;this.pendingUnits.units&&(t=this.pendingUnits.units,r=this.pendingUnits.vcl,s=this.pendingUnits.iFrame,this.pendingUnits={});let a={};for(let o of e){if(o.byteLength<4)continue;const e=Al(o);let n=!1,l=vl(e);bl(e)&&(a=this.parseVideo265Header(o),n=!0),t.length&&r&&(a.isfms||!n)&&(i.push({units:t,isIFrame:s}),t=[],s=!1,r=!1),t.push(o),s=s||l,r=r||n}t.length&&(this.pendingUnits={units:t,vcl:r,iFrame:s}),i.forEach((e=>{const t=e.units,i=e.isIFrame;let s=null,r=null;if(t.forEach((e=>{const t=e[0]>>>1&63;switch(t){case oi:this.pps=e;break;case ri:this.sps=e;break;case ii:this.vps=e;break;case hi:case di:r=e}if(bl(t)){const t=fa(e);if(s){const e=new Uint8Array(s.byteLength+t.byteLength);e.set(s,0),e.set(t,s.byteLength),s=e}else s=t}})),!this.isSendSeqHeader&&this.sps&&this.pps&&this.vps){this.isSendSeqHeader=!0;const e=fl({sps:this.sps,pps:this.pps,vps:this.vps});this._doDecode(e,ze,0,!0,0),this.sps=null,this.pps=null,this.vps=null}if(this.isSendSeqHeader){if(this.sps&&this.pps&&this.vps){const e=fl({sps:this.sps,pps:this.pps,vps:this.vps}),t=this.localDts;this._doDecode(e,ze,t,!0,0),this.sps=null,this.pps=null,this.vps=null}if(s){this.player._times.demuxStart||(this.player._times.demuxStart=_a());const e=this.getNaluDts(),t=yl(s,i);if(this.player._opt.isEmitSEI&&r){const t=ga(r,!0);this.player.emitVideoSei({ts:e,data:t.payload})}this._preDoDecode(t,ze,e,i,0)}}}))}handleVideoH265Frames_1(e){e.forEach((e=>{this.handleVideoNalu(e)}))}parseVideo264Header(e){const t=new Dh(e);t.readUByte();return{isfms:0===t.readUEG(),sType:t.readUEG()}}parseVideo265Header(e){const t=new Dh(e);return t.readUByte(),{nalType:t.readBits(6),isfms:0===t.readBits(1),sType:t.readBits(3)}}}class Ph extends _h{constructor(e){super(e),this.player=e,this.TAG_NAME="EmptyDemux",e.debugLog("EmptyDemux","init")}destroy(){super.destroy(),this.player.debugLog("EmptyDemux","destroy")}}var Ih=Jr((function(e,t){var s,r,a,o=(s=new Date,r=4,a={setLogLevel:function(e){r=e==this.debug?1:e==this.info?2:e==this.warn?3:(this.error,4)},debug:function(e,t){void 0===console.debug&&(console.debug=console.log),1>=r&&console.debug("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)},log:function(e,t){this.debug(e.msg)},info:function(e,t){2>=r&&console.info("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)},warn:function(e,t){3>=r&&console.warn("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)},error:function(e,t){4>=r&&console.error("["+o.getDurationString(new Date-s,1e3)+"]","["+e+"]",t)}},a);o.getDurationString=function(e,t){var i;function s(e,t){for(var i=(""+e).split(".");i[0].length0){for(var i="",s=0;s0&&(i+=","),i+="["+o.getDurationString(e.start(s))+","+o.getDurationString(e.end(s))+"]";return i}return"(empty)"},t.Log=o;var n=function(e){if(!(e instanceof ArrayBuffer))throw"Needs an array buffer";this.buffer=e,this.dataview=new DataView(e),this.position=0};n.prototype.getPosition=function(){return this.position},n.prototype.getEndPosition=function(){return this.buffer.byteLength},n.prototype.getLength=function(){return this.buffer.byteLength},n.prototype.seek=function(e){var t=Math.max(0,Math.min(this.buffer.byteLength,e));return this.position=isNaN(t)||!isFinite(t)?0:t,!0},n.prototype.isEos=function(){return this.getPosition()>=this.getEndPosition()},n.prototype.readAnyInt=function(e,t){var i=0;if(this.position+e<=this.buffer.byteLength){switch(e){case 1:i=t?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:i=t?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(t)throw"No method for reading signed 24 bits values";i=this.dataview.getUint8(this.position)<<16,i|=this.dataview.getUint8(this.position+1)<<8,i|=this.dataview.getUint8(this.position+2);break;case 4:i=t?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(t)throw"No method for reading signed 64 bits values";i=this.dataview.getUint32(this.position)<<32,i|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+e}return this.position+=e,i}throw"Not enough bytes in buffer"},n.prototype.readUint8=function(){return this.readAnyInt(1,!1)},n.prototype.readUint16=function(){return this.readAnyInt(2,!1)},n.prototype.readUint24=function(){return this.readAnyInt(3,!1)},n.prototype.readUint32=function(){return this.readAnyInt(4,!1)},n.prototype.readUint64=function(){return this.readAnyInt(8,!1)},n.prototype.readString=function(e){if(this.position+e<=this.buffer.byteLength){for(var t="",i=0;ithis._byteLength&&(this._byteLength=t);else{for(i<1&&(i=1);t>i;)i*=2;var s=new ArrayBuffer(i),r=new Uint8Array(this._buffer);new Uint8Array(s,0,r.length).set(r),this.buffer=s,this._byteLength=t}}},l.prototype._trimAlloc=function(){if(this._byteLength!=this._buffer.byteLength){var e=new ArrayBuffer(this._byteLength),t=new Uint8Array(e),i=new Uint8Array(this._buffer,0,t.length);t.set(i),this.buffer=e}},l.BIG_ENDIAN=!1,l.LITTLE_ENDIAN=!0,l.prototype._byteLength=0,Object.defineProperty(l.prototype,"byteLength",{get:function(){return this._byteLength-this._byteOffset}}),Object.defineProperty(l.prototype,"buffer",{get:function(){return this._trimAlloc(),this._buffer},set:function(e){this._buffer=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(l.prototype,"byteOffset",{get:function(){return this._byteOffset},set:function(e){this._byteOffset=e,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._buffer.byteLength}}),Object.defineProperty(l.prototype,"dataView",{get:function(){return this._dataView},set:function(e){this._byteOffset=e.byteOffset,this._buffer=e.buffer,this._dataView=new DataView(this._buffer,this._byteOffset),this._byteLength=this._byteOffset+e.byteLength}}),l.prototype.seek=function(e){var t=Math.max(0,Math.min(this.byteLength,e));this.position=isNaN(t)||!isFinite(t)?0:t},l.prototype.isEof=function(){return this.position>=this._byteLength},l.prototype.mapUint8Array=function(e){this._realloc(1*e);var t=new Uint8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},l.prototype.readInt32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Int32Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readInt16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Int16Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readInt8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Int8Array(e);return l.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},l.prototype.readUint32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Uint32Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readUint16Array=function(e,t){e=null==e?this.byteLength-this.position/2:e;var i=new Uint16Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readUint8Array=function(e){e=null==e?this.byteLength-this.position:e;var t=new Uint8Array(e);return l.memcpy(t.buffer,0,this.buffer,this.byteOffset+this.position,e*t.BYTES_PER_ELEMENT),this.position+=t.byteLength,t},l.prototype.readFloat64Array=function(e,t){e=null==e?this.byteLength-this.position/8:e;var i=new Float64Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readFloat32Array=function(e,t){e=null==e?this.byteLength-this.position/4:e;var i=new Float32Array(e);return l.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,e*i.BYTES_PER_ELEMENT),l.arrayToNative(i,null==t?this.endianness:t),this.position+=i.byteLength,i},l.prototype.readInt32=function(e){var t=this._dataView.getInt32(this.position,null==e?this.endianness:e);return this.position+=4,t},l.prototype.readInt16=function(e){var t=this._dataView.getInt16(this.position,null==e?this.endianness:e);return this.position+=2,t},l.prototype.readInt8=function(){var e=this._dataView.getInt8(this.position);return this.position+=1,e},l.prototype.readUint32=function(e){var t=this._dataView.getUint32(this.position,null==e?this.endianness:e);return this.position+=4,t},l.prototype.readUint16=function(e){var t=this._dataView.getUint16(this.position,null==e?this.endianness:e);return this.position+=2,t},l.prototype.readUint8=function(){var e=this._dataView.getUint8(this.position);return this.position+=1,e},l.prototype.readFloat32=function(e){var t=this._dataView.getFloat32(this.position,null==e?this.endianness:e);return this.position+=4,t},l.prototype.readFloat64=function(e){var t=this._dataView.getFloat64(this.position,null==e?this.endianness:e);return this.position+=8,t},l.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,l.memcpy=function(e,t,i,s,r){var a=new Uint8Array(e,t,r),o=new Uint8Array(i,s,r);a.set(o)},l.arrayToNative=function(e,t){return t==this.endianness?e:this.flipArrayEndianness(e)},l.nativeToEndian=function(e,t){return this.endianness==t?e:this.flipArrayEndianness(e)},l.flipArrayEndianness=function(e){for(var t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=0;ir;s--,r++){var a=t[r];t[r]=t[s],t[s]=a}return e},l.prototype.failurePosition=0,String.fromCharCodeUint8=function(e){for(var t=[],i=0;i>16),this.writeUint8((65280&e)>>8),this.writeUint8(255&e)},l.prototype.adjustUint32=function(e,t){var i=this.position;this.seek(e),this.writeUint32(t),this.seek(i)},l.prototype.mapInt32Array=function(e,t){this._realloc(4*e);var i=new Int32Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},l.prototype.mapInt16Array=function(e,t){this._realloc(2*e);var i=new Int16Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},l.prototype.mapInt8Array=function(e){this._realloc(1*e);var t=new Int8Array(this._buffer,this.byteOffset+this.position,e);return this.position+=1*e,t},l.prototype.mapUint32Array=function(e,t){this._realloc(4*e);var i=new Uint32Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i},l.prototype.mapUint16Array=function(e,t){this._realloc(2*e);var i=new Uint16Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=2*e,i},l.prototype.mapFloat64Array=function(e,t){this._realloc(8*e);var i=new Float64Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=8*e,i},l.prototype.mapFloat32Array=function(e,t){this._realloc(4*e);var i=new Float32Array(this._buffer,this.byteOffset+this.position,e);return l.arrayToNative(i,null==t?this.endianness:t),this.position+=4*e,i};var h=function(e){this.buffers=[],this.bufferIndex=-1,e&&(this.insertBuffer(e),this.bufferIndex=0)};(h.prototype=new l(new ArrayBuffer,0,l.BIG_ENDIAN)).initialized=function(){var e;return this.bufferIndex>-1||(this.buffers.length>0?0===(e=this.buffers[0]).fileStart?(this.buffer=e,this.bufferIndex=0,o.debug("MultiBufferStream","Stream ready for parsing"),!0):(o.warn("MultiBufferStream","The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o.warn("MultiBufferStream","No buffer to start parsing from"),this.logBufferLevel(),!1))},ArrayBuffer.concat=function(e,t){o.debug("ArrayBuffer","Trying to create a new buffer of size: "+(e.byteLength+t.byteLength));var i=new Uint8Array(e.byteLength+t.byteLength);return i.set(new Uint8Array(e),0),i.set(new Uint8Array(t),e.byteLength),i.buffer},h.prototype.reduceBuffer=function(e,t,i){var s;return(s=new Uint8Array(i)).set(new Uint8Array(e,t,i)),s.buffer.fileStart=e.fileStart+t,s.buffer.usedBytes=0,s.buffer},h.prototype.insertBuffer=function(e){for(var t=!0,i=0;is.byteLength){this.buffers.splice(i,1),i--;continue}o.warn("MultiBufferStream","Buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+") already appended, ignoring")}else e.fileStart+e.byteLength<=s.fileStart||(e=this.reduceBuffer(e,0,s.fileStart-e.fileStart)),o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.splice(i,0,e),0===i&&(this.buffer=e);t=!1;break}if(e.fileStart0)){t=!1;break}e=this.reduceBuffer(e,r,a)}}t&&(o.debug("MultiBufferStream","Appending new buffer (fileStart: "+e.fileStart+" - Length: "+e.byteLength+")"),this.buffers.push(e),0===i&&(this.buffer=e))},h.prototype.logBufferLevel=function(e){var t,i,s,r,a,n=[],l="";for(s=0,r=0,t=0;t0&&(l+=a.end-1+"]");var d=e?o.info:o.debug;0===this.buffers.length?d("MultiBufferStream","No more buffer in memory"):d("MultiBufferStream",this.buffers.length+" stored buffer(s) ("+s+"/"+r+" bytes), continuous ranges: "+l)},h.prototype.cleanBuffers=function(){var e,t;for(e=0;e"+this.buffer.byteLength+")"),!0}return!1}return!1},h.prototype.findPosition=function(e,t,i){var s,r=null,a=-1;for(s=!0===e?0:this.bufferIndex;s=t?(o.debug("MultiBufferStream","Found position in existing buffer #"+a),a):-1},h.prototype.findEndContiguousBuf=function(e){var t,i,s,r=void 0!==e?e:this.bufferIndex;if(i=this.buffers[r],this.buffers.length>r+1)for(t=r+1;t>3;return 31===s&&i.data.length>=2&&(s=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),s}return null},i.DecoderConfigDescriptor=function(e){i.Descriptor.call(this,4,e)},i.DecoderConfigDescriptor.prototype=new i.Descriptor,i.DecoderConfigDescriptor.prototype.parse=function(e){this.oti=e.readUint8(),this.streamType=e.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=e.readUint24(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32(),this.size-=13,this.parseRemainingDescriptors(e)},i.DecoderSpecificInfo=function(e){i.Descriptor.call(this,5,e)},i.DecoderSpecificInfo.prototype=new i.Descriptor,i.SLConfigDescriptor=function(e){i.Descriptor.call(this,6,e)},i.SLConfigDescriptor.prototype=new i.Descriptor,this};t.MPEG4DescriptorParser=c;var u={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){u.FullBox.prototype=new u.Box,u.ContainerBox.prototype=new u.Box,u.SampleEntry.prototype=new u.Box,u.TrackGroupTypeBox.prototype=new u.FullBox,u.BASIC_BOXES.forEach((function(e){u.createBoxCtor(e)})),u.FULL_BOXES.forEach((function(e){u.createFullBoxCtor(e)})),u.CONTAINER_BOXES.forEach((function(e){u.createContainerBoxCtor(e[0],null,e[1])}))},Box:function(e,t,i){this.type=e,this.size=t,this.uuid=i},FullBox:function(e,t,i){u.Box.call(this,e,t,i),this.flags=0,this.version=0},ContainerBox:function(e,t,i){u.Box.call(this,e,t,i),this.boxes=[]},SampleEntry:function(e,t,i,s){u.ContainerBox.call(this,e,t),this.hdr_size=i,this.start=s},SampleGroupEntry:function(e){this.grouping_type=e},TrackGroupTypeBox:function(e,t){u.FullBox.call(this,e,t)},createBoxCtor:function(e,t){u.boxCodes.push(e),u[e+"Box"]=function(t){u.Box.call(this,e,t)},u[e+"Box"].prototype=new u.Box,t&&(u[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,t){u[e+"Box"]=function(t){u.FullBox.call(this,e,t)},u[e+"Box"].prototype=new u.FullBox,u[e+"Box"].prototype.parse=function(e){this.parseFullHeader(e),t&&t.call(this,e)}},addSubBoxArrays:function(e){if(e){this.subBoxNames=e;for(var t=e.length,i=0;ii?(o.error("BoxParser","Box of type '"+h+"' has a size "+d+" greater than its container size "+i),{code:u.ERR_NOT_ENOUGH_DATA,type:h,size:d,hdr_size:l,start:n}):0!==d&&n+d>e.getEndPosition()?(e.seek(n),o.info("BoxParser","Not enough data in stream to parse the entire '"+h+"' box"),{code:u.ERR_NOT_ENOUGH_DATA,type:h,size:d,hdr_size:l,start:n}):t?{code:u.OK,type:h,size:d,hdr_size:l,start:n}:(u[h+"Box"]?s=new u[h+"Box"](d):"uuid"!==h?(o.warn("BoxParser","Unknown box type: '"+h+"'"),(s=new u.Box(h,d)).has_unparsed_data=!0):u.UUIDBoxes[a]?s=new u.UUIDBoxes[a](d):(o.warn("BoxParser","Unknown uuid type: '"+a+"'"),(s=new u.Box(h,d)).uuid=a,s.has_unparsed_data=!0),s.hdr_size=l,s.start=n,s.write===u.Box.prototype.write&&"mdat"!==s.type&&(o.info("BoxParser","'"+c+"' box writing not yet implemented, keeping unparsed data in memory for later write"),s.parseDataAndRewind(e)),s.parse(e),(r=e.getPosition()-(s.start+s.size))<0?(o.warn("BoxParser","Parsing of box '"+c+"' did not read the entire indicated box data size (missing "+-r+" bytes), seeking forward"),e.seek(s.start+s.size)):r>0&&(o.error("BoxParser","Parsing of box '"+c+"' read "+r+" more bytes than the indicated box data size, seeking backwards"),0!==s.size&&e.seek(s.start+s.size)),{code:u.OK,box:s,size:s.size})},u.Box.prototype.parse=function(e){"mdat"!=this.type?this.data=e.readUint8Array(this.size-this.hdr_size):0===this.size?e.seek(e.getEndPosition()):e.seek(this.start+this.size)},u.Box.prototype.parseDataAndRewind=function(e){this.data=e.readUint8Array(this.size-this.hdr_size),e.position-=this.size-this.hdr_size},u.FullBox.prototype.parseDataAndRewind=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=4,e.position-=this.size-this.hdr_size},u.FullBox.prototype.parseFullHeader=function(e){this.version=e.readUint8(),this.flags=e.readUint24(),this.hdr_size+=4},u.FullBox.prototype.parse=function(e){this.parseFullHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},u.ContainerBox.prototype.parse=function(e){for(var t,i;e.getPosition()>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},u.SAMPLE_ENTRY_TYPE_VISUAL="Visual",u.SAMPLE_ENTRY_TYPE_AUDIO="Audio",u.SAMPLE_ENTRY_TYPE_HINT="Hint",u.SAMPLE_ENTRY_TYPE_METADATA="Metadata",u.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",u.SAMPLE_ENTRY_TYPE_SYSTEM="System",u.SAMPLE_ENTRY_TYPE_TEXT="Text",u.SampleEntry.prototype.parseHeader=function(e){e.readUint8Array(6),this.data_reference_index=e.readUint16(),this.hdr_size+=8},u.SampleEntry.prototype.parse=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size)},u.SampleEntry.prototype.parseDataAndRewind=function(e){this.parseHeader(e),this.data=e.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,e.position-=this.size-this.hdr_size},u.SampleEntry.prototype.parseFooter=function(e){u.ContainerBox.prototype.parse.call(this,e)},u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_HINT),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_METADATA),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SUBTITLE),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SYSTEM),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_TEXT),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,(function(e){var t;this.parseHeader(e),e.readUint16(),e.readUint16(),e.readUint32Array(3),this.width=e.readUint16(),this.height=e.readUint16(),this.horizresolution=e.readUint32(),this.vertresolution=e.readUint32(),e.readUint32(),this.frame_count=e.readUint16(),t=Math.min(31,e.readUint8()),this.compressorname=e.readString(t),t<31&&e.readString(31-t),this.depth=e.readUint16(),e.readUint16(),this.parseFooter(e)})),u.createMediaSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,(function(e){this.parseHeader(e),e.readUint32Array(2),this.channel_count=e.readUint16(),this.samplesize=e.readUint16(),e.readUint16(),e.readUint16(),this.samplerate=e.readUint32()/65536,this.parseFooter(e)})),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_TEXT,"enct"),u.createEncryptedSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_METADATA,"encm"),u.createBoxCtor("a1lx",(function(e){var t=16*(1+(1&(1&e.readUint8())));this.layer_size=[];for(var i=0;i<3;i++)this.layer_size[i]=16==t?e.readUint16():e.readUint32()})),u.createBoxCtor("a1op",(function(e){this.op_index=e.readUint8()})),u.createFullBoxCtor("auxC",(function(e){this.aux_type=e.readCString();var t=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=e.readUint8Array(t)})),u.createBoxCtor("av1C",(function(e){var t=e.readUint8();if(t>>7&!1)o.error("av1C marker problem");else if(this.version=127&t,1===this.version)if(t=e.readUint8(),this.seq_profile=t>>5&7,this.seq_level_idx_0=31&t,t=e.readUint8(),this.seq_tier_0=t>>7&1,this.high_bitdepth=t>>6&1,this.twelve_bit=t>>5&1,this.monochrome=t>>4&1,this.chroma_subsampling_x=t>>3&1,this.chroma_subsampling_y=t>>2&1,this.chroma_sample_position=3&t,t=e.readUint8(),this.reserved_1=t>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=t>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&t;else if(this.reserved_2=15&t,0!==this.reserved_2)return void o.error("av1C reserved_2 parsing problem");var i=this.size-this.hdr_size-4;this.configOBUs=e.readUint8Array(i)}else o.error("av1C reserved_1 parsing problem");else o.error("av1C version "+this.version+" not supported")})),u.createBoxCtor("avcC",(function(e){var t,i;for(this.configurationVersion=e.readUint8(),this.AVCProfileIndication=e.readUint8(),this.profile_compatibility=e.readUint8(),this.AVCLevelIndication=e.readUint8(),this.lengthSizeMinusOne=3&e.readUint8(),this.nb_SPS_nalus=31&e.readUint8(),i=this.size-this.hdr_size-6,this.SPS=[],t=0;t0&&(this.ext=e.readUint8Array(i))})),u.createBoxCtor("btrt",(function(e){this.bufferSizeDB=e.readUint32(),this.maxBitrate=e.readUint32(),this.avgBitrate=e.readUint32()})),u.createFullBoxCtor("ccst",(function(e){var t=e.readUint8();this.all_ref_pics_intra=128==(128&t),this.intra_pred_used=64==(64&t),this.max_ref_per_pic=(63&t)>>2,e.readUint24()})),u.createBoxCtor("cdef",(function(e){var t;for(this.channel_count=e.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],t=0;t=32768&&this.component_type_urls.push(e.readCString())}})),u.createFullBoxCtor("co64",(function(e){var t,i;if(t=e.readUint32(),this.chunk_offsets=[],0===this.version)for(i=0;i>7}else("rICC"===this.colour_type||"prof"===this.colour_type)&&(this.ICC_profile=e.readUint8Array(this.size-4))})),u.createFullBoxCtor("cprt",(function(e){this.parseLanguage(e),this.notice=e.readCString()})),u.createFullBoxCtor("cslg",(function(e){0===this.version&&(this.compositionToDTSShift=e.readInt32(),this.leastDecodeToDisplayDelta=e.readInt32(),this.greatestDecodeToDisplayDelta=e.readInt32(),this.compositionStartTime=e.readInt32(),this.compositionEndTime=e.readInt32())})),u.createFullBoxCtor("ctts",(function(e){var t,i;if(t=e.readUint32(),this.sample_counts=[],this.sample_offsets=[],0===this.version)for(i=0;i>6,this.bsid=t>>1&31,this.bsmod=(1&t)<<2|i>>6&3,this.acmod=i>>3&7,this.lfeon=i>>2&1,this.bit_rate_code=3&i|s>>5&7})),u.createBoxCtor("dec3",(function(e){var t=e.readUint16();this.data_rate=t>>3,this.num_ind_sub=7&t,this.ind_subs=[];for(var i=0;i>6,s.bsid=r>>1&31,s.bsmod=(1&r)<<4|a>>4&15,s.acmod=a>>1&7,s.lfeon=1&a,s.num_dep_sub=o>>1&15,s.num_dep_sub>0&&(s.chan_loc=(1&o)<<8|e.readUint8())}})),u.createFullBoxCtor("dfLa",(function(e){var t=[],i=["STREAMINFO","PADDING","APPLICATION","SEEKTABLE","VORBIS_COMMENT","CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(e);;){var s=e.readUint8(),r=Math.min(127&s,i.length-1);if(r?e.readUint8Array(e.readUint24()):(e.readUint8Array(13),this.samplerate=e.readUint32()>>12,e.readUint8Array(20)),t.push(i[r]),128&s)break}this.numMetadataBlocks=t.length+" ("+t.join(", ")+")"})),u.createBoxCtor("dimm",(function(e){this.bytessent=e.readUint64()})),u.createBoxCtor("dmax",(function(e){this.time=e.readUint32()})),u.createBoxCtor("dmed",(function(e){this.bytessent=e.readUint64()})),u.createBoxCtor("dOps",(function(e){if(this.Version=e.readUint8(),this.OutputChannelCount=e.readUint8(),this.PreSkip=e.readUint16(),this.InputSampleRate=e.readUint32(),this.OutputGain=e.readInt16(),this.ChannelMappingFamily=e.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=e.readUint8(),this.CoupledCount=e.readUint8(),this.ChannelMapping=[];for(var t=0;t=4;)this.compatible_brands[i]=e.readString(4),t-=4,i++})),u.createFullBoxCtor("hdlr",(function(e){0===this.version&&(e.readUint32(),this.handler=e.readString(4),e.readUint32Array(3),this.name=e.readString(this.size-this.hdr_size-20),"\0"===this.name[this.name.length-1]&&(this.name=this.name.slice(0,-1)))})),u.createBoxCtor("hvcC",(function(e){var t,i,s,r;this.configurationVersion=e.readUint8(),r=e.readUint8(),this.general_profile_space=r>>6,this.general_tier_flag=(32&r)>>5,this.general_profile_idc=31&r,this.general_profile_compatibility=e.readUint32(),this.general_constraint_indicator=e.readUint8Array(6),this.general_level_idc=e.readUint8(),this.min_spatial_segmentation_idc=4095&e.readUint16(),this.parallelismType=3&e.readUint8(),this.chroma_format_idc=3&e.readUint8(),this.bit_depth_luma_minus8=7&e.readUint8(),this.bit_depth_chroma_minus8=7&e.readUint8(),this.avgFrameRate=e.readUint16(),r=e.readUint8(),this.constantFrameRate=r>>6,this.numTemporalLayers=(13&r)>>3,this.temporalIdNested=(4&r)>>2,this.lengthSizeMinusOne=3&r,this.nalu_arrays=[];var a=e.readUint8();for(t=0;t>7,o.nalu_type=63&r;var n=e.readUint16();for(i=0;i>4&15,this.length_size=15&t,t=e.readUint8(),this.base_offset_size=t>>4&15,1===this.version||2===this.version?this.index_size=15&t:this.index_size=0,this.items=[];var i=0;if(this.version<2)i=e.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";i=e.readUint32()}for(var s=0;s>7,this.axis=1&t})),u.createFullBoxCtor("infe",(function(e){if(0!==this.version&&1!==this.version||(this.item_ID=e.readUint16(),this.item_protection_index=e.readUint16(),this.item_name=e.readCString(),this.content_type=e.readCString(),this.content_encoding=e.readCString()),1===this.version)return this.extension_type=e.readString(4),o.warn("BoxParser","Cannot parse extension type"),void e.seek(this.start+this.size);this.version>=2&&(2===this.version?this.item_ID=e.readUint16():3===this.version&&(this.item_ID=e.readUint32()),this.item_protection_index=e.readUint16(),this.item_type=e.readString(4),this.item_name=e.readCString(),"mime"===this.item_type?(this.content_type=e.readCString(),this.content_encoding=e.readCString()):"uri "===this.item_type&&(this.item_uri_type=e.readCString()))})),u.createFullBoxCtor("ipma",(function(e){var t,i;for(entry_count=e.readUint32(),this.associations=[],t=0;t>7==1,1&this.flags?o.property_index=(127&a)<<8|e.readUint8():o.property_index=127&a}}})),u.createFullBoxCtor("iref",(function(e){var t,i;for(this.references=[];e.getPosition()>7,s.assignment_type=127&r,s.assignment_type){case 0:s.grouping_type=e.readString(4);break;case 1:s.grouping_type=e.readString(4),s.grouping_type_parameter=e.readUint32();break;case 2:case 3:break;case 4:s.sub_track_id=e.readUint32();break;default:o.warn("BoxParser","Unknown leva assignement type")}}})),u.createBoxCtor("lsel",(function(e){this.layer_id=e.readUint16()})),u.createBoxCtor("maxr",(function(e){this.period=e.readUint32(),this.bytes=e.readUint32()})),p.prototype.toString=function(){return"("+this.x+","+this.y+")"},u.createBoxCtor("mdcv",(function(e){this.display_primaries=[],this.display_primaries[0]=new p(e.readUint16(),e.readUint16()),this.display_primaries[1]=new p(e.readUint16(),e.readUint16()),this.display_primaries[2]=new p(e.readUint16(),e.readUint16()),this.white_point=new p(e.readUint16(),e.readUint16()),this.max_display_mastering_luminance=e.readUint32(),this.min_display_mastering_luminance=e.readUint32()})),u.createFullBoxCtor("mdhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.parseLanguage(e),e.readUint16()})),u.createFullBoxCtor("mehd",(function(e){1&this.flags&&(o.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=e.readUint64():this.fragment_duration=e.readUint32()})),u.createFullBoxCtor("meta",(function(e){this.boxes=[],u.ContainerBox.prototype.parse.call(this,e)})),u.createFullBoxCtor("mfhd",(function(e){this.sequence_number=e.readUint32()})),u.createFullBoxCtor("mfro",(function(e){this._size=e.readUint32()})),u.createFullBoxCtor("mskC",(function(e){this.bits_per_pixel=e.readUint8()})),u.createFullBoxCtor("mvhd",(function(e){1==this.version?(this.creation_time=e.readUint64(),this.modification_time=e.readUint64(),this.timescale=e.readUint32(),this.duration=e.readUint64()):(this.creation_time=e.readUint32(),this.modification_time=e.readUint32(),this.timescale=e.readUint32(),this.duration=e.readUint32()),this.rate=e.readUint32(),this.volume=e.readUint16()>>8,e.readUint16(),e.readUint32Array(2),this.matrix=e.readUint32Array(9),e.readUint32Array(6),this.next_track_id=e.readUint32()})),u.createBoxCtor("npck",(function(e){this.packetssent=e.readUint32()})),u.createBoxCtor("nump",(function(e){this.packetssent=e.readUint64()})),u.createFullBoxCtor("padb",(function(e){var t=e.readUint32();this.padbits=[];for(var i=0;i0){var t=e.readUint32();this.kid=[];for(var i=0;i0&&(this.data=e.readUint8Array(s))})),u.createFullBoxCtor("clef",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),u.createFullBoxCtor("enof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),u.createFullBoxCtor("prof",(function(e){this.width=e.readUint32(),this.height=e.readUint32()})),u.createContainerBoxCtor("tapt",null,["clef","prof","enof"]),u.createBoxCtor("rtp ",(function(e){this.descriptionformat=e.readString(4),this.sdptext=e.readString(this.size-this.hdr_size-4)})),u.createFullBoxCtor("saio",(function(e){1&this.flags&&(this.aux_info_type=e.readUint32(),this.aux_info_type_parameter=e.readUint32());var t=e.readUint32();this.offset=[];for(var i=0;i>7,this.avgRateFlag=t>>6&1,this.durationFlag&&(this.duration=e.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=e.readUint8(),this.avgBitRate=e.readUint16(),this.avgFrameRate=e.readUint16()),this.dependency=[];for(var i=e.readUint8(),s=0;s>7,this.num_leading_samples=127&t})),u.createSampleGroupCtor("rash",(function(e){if(this.operation_point_count=e.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)o.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=e.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=e.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var t=0;t>4,this.skip_byte_block=15&t,this.isProtected=e.readUint8(),this.Per_Sample_IV_Size=e.readUint8(),this.KID=u.parseHex16(e),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=e.readUint8(),this.constant_IV=e.readUint8Array(this.constant_IV_size))})),u.createSampleGroupCtor("stsa",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createSampleGroupCtor("sync",(function(e){var t=e.readUint8();this.NAL_unit_type=63&t})),u.createSampleGroupCtor("tele",(function(e){var t=e.readUint8();this.level_independently_decodable=t>>7})),u.createSampleGroupCtor("tsas",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createSampleGroupCtor("tscl",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createSampleGroupCtor("vipr",(function(e){o.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")})),u.createFullBoxCtor("sbgp",(function(e){this.grouping_type=e.readString(4),1===this.version?this.grouping_type_parameter=e.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var t=e.readUint32(),i=0;i>6,this.sample_depends_on[s]=t>>4&3,this.sample_is_depended_on[s]=t>>2&3,this.sample_has_redundancy[s]=3&t})),u.createFullBoxCtor("senc"),u.createFullBoxCtor("sgpd",(function(e){this.grouping_type=e.readString(4),o.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=e.readUint32():this.default_length=0,this.version>=2&&(this.default_group_description_index=e.readUint32()),this.entries=[];for(var t=e.readUint32(),i=0;i>31&1,s.referenced_size=2147483647&r,s.subsegment_duration=e.readUint32(),r=e.readUint32(),s.starts_with_SAP=r>>31&1,s.SAP_type=r>>28&7,s.SAP_delta_time=268435455&r}})),u.SingleItemTypeReferenceBox=function(e,t,i,s){u.Box.call(this,e,t),this.hdr_size=i,this.start=s},u.SingleItemTypeReferenceBox.prototype=new u.Box,u.SingleItemTypeReferenceBox.prototype.parse=function(e){this.from_item_ID=e.readUint16();var t=e.readUint16();this.references=[];for(var i=0;i>4&15,this.sample_sizes[t+1]=15&s}else if(8===this.field_size)for(t=0;t0)for(i=0;i>4&15,this.default_skip_byte_block=15&t}this.default_isProtected=e.readUint8(),this.default_Per_Sample_IV_Size=e.readUint8(),this.default_KID=u.parseHex16(e),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=e.readUint8(),this.default_constant_IV=e.readUint8Array(this.default_constant_IV_size))})),u.createFullBoxCtor("tfdt",(function(e){1==this.version?this.baseMediaDecodeTime=e.readUint64():this.baseMediaDecodeTime=e.readUint32()})),u.createFullBoxCtor("tfhd",(function(e){var t=0;this.track_id=e.readUint32(),this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=e.readUint64(),t+=8):this.base_data_offset=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=e.readUint32(),t+=4):this.default_sample_description_index=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=e.readUint32(),t+=4):this.default_sample_duration=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=e.readUint32(),t+=4):this.default_sample_size=0,this.size-this.hdr_size>t&&this.flags&u.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=e.readUint32(),t+=4):this.default_sample_flags=0})),u.createFullBoxCtor("tfra",(function(e){this.track_ID=e.readUint32(),e.readUint24();var t=e.readUint8();this.length_size_of_traf_num=t>>4&3,this.length_size_of_trun_num=t>>2&3,this.length_size_of_sample_num=3&t,this.entries=[];for(var i=e.readUint32(),s=0;s>8,e.readUint16(),this.matrix=e.readInt32Array(9),this.width=e.readUint32(),this.height=e.readUint32()})),u.createBoxCtor("tmax",(function(e){this.time=e.readUint32()})),u.createBoxCtor("tmin",(function(e){this.time=e.readUint32()})),u.createBoxCtor("totl",(function(e){this.bytessent=e.readUint32()})),u.createBoxCtor("tpay",(function(e){this.bytessent=e.readUint32()})),u.createBoxCtor("tpyl",(function(e){this.bytessent=e.readUint64()})),u.TrackGroupTypeBox.prototype.parse=function(e){this.parseFullHeader(e),this.track_group_id=e.readUint32()},u.createTrackGroupCtor("msrc"),u.TrackReferenceTypeBox=function(e,t,i,s){u.Box.call(this,e,t),this.hdr_size=i,this.start=s},u.TrackReferenceTypeBox.prototype=new u.Box,u.TrackReferenceTypeBox.prototype.parse=function(e){this.track_ids=e.readUint32Array((this.size-this.hdr_size)/4)},u.trefBox.prototype.parse=function(e){for(var t,i;e.getPosition()t&&this.flags&u.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=e.readInt32(),t+=4):this.data_offset=0,this.size-this.hdr_size>t&&this.flags&u.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=e.readUint32(),t+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>t)for(var i=0;i>7&1,this.block_pad_lsb=i>>6&1,this.block_little_endian=i>>5&1,this.block_reversed=i>>4&1,this.pad_unknown=i>>3&1,this.pixel_size=e.readUint32(),this.row_align_size=e.readUint32(),this.tile_align_size=e.readUint32(),this.num_tile_cols_minus_one=e.readUint32(),this.num_tile_rows_minus_one=e.readUint32()}})),u.createFullBoxCtor("url ",(function(e){1!==this.flags&&(this.location=e.readCString())})),u.createFullBoxCtor("urn ",(function(e){this.name=e.readCString(),this.size-this.hdr_size-this.name.length-1>0&&(this.location=e.readCString())})),u.createUUIDBox("a5d40b30e81411ddba2f0800200c9a66",!0,!1,(function(e){this.LiveServerManifest=e.readString(this.size-this.hdr_size).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})),u.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(e){this.system_id=u.parseHex16(e);var t=e.readUint32();t>0&&(this.data=e.readUint8Array(t))})),u.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),u.createUUIDBox("8974dbce7be74c5184f97148f9882554",!0,!1,(function(e){this.default_AlgorithmID=e.readUint24(),this.default_IV_size=e.readUint8(),this.default_KID=u.parseHex16(e)})),u.createUUIDBox("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(e){this.fragment_count=e.readUint8(),this.entries=[];for(var t=0;t>4,this.chromaSubsampling=t>>1&7,this.videoFullRangeFlag=1&t,this.colourPrimaries=e.readUint8(),this.transferCharacteristics=e.readUint8(),this.matrixCoefficients=e.readUint8(),this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize)):(this.profile=e.readUint8(),this.level=e.readUint8(),t=e.readUint8(),this.bitDepth=t>>4&15,this.colorSpace=15&t,t=e.readUint8(),this.chromaSubsampling=t>>4&15,this.transferFunction=t>>1&7,this.videoFullRangeFlag=1&t,this.codecIntializationDataSize=e.readUint16(),this.codecIntializationData=e.readUint8Array(this.codecIntializationDataSize))})),u.createBoxCtor("vttC",(function(e){this.text=e.readString(this.size-this.hdr_size)})),u.createFullBoxCtor("vvcC",(function(e){var t,i,s={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(e){this.held_bits=e.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(e){this.held_bits=e.readUint16(),this.num_held_bits=16},extract_bits:function(e){var t=this.held_bits>>this.num_held_bits-e&(1<1){for(s.stream_read_1_bytes(e),this.ptl_sublayer_present_mask=0,i=this.num_sublayers-2;i>=0;--i){var o=s.extract_bits(1);this.ptl_sublayer_present_mask|=o<1;++i)s.extract_bits(1);for(this.sublayer_level_idc=[],i=this.num_sublayers-2;i>=0;--i)this.ptl_sublayer_present_mask&1<>=1;t+=u.decimalToHex(s,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var r=!1,a="";for(e=5;e>=0;e--)(this.hvcC.general_constraint_indicator[e]||r)&&(a="."+u.decimalToHex(this.hvcC.general_constraint_indicator[e],0)+a,r=!0);t+=a}return t},u.vvc1SampleEntry.prototype.getCodec=u.vvi1SampleEntry.prototype.getCodec=function(){var e,t=u.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var i="";if(this.vvcC.general_constraint_info){var s,r=[],a=0;for(a|=this.vvcC.ptl_frame_only_constraint<<7,a|=this.vvcC.ptl_multilayer_enabled<<6,e=0;e>2&63,r.push(a),a&&(s=e),a=this.vvcC.general_constraint_info[e]>>2&3;if(void 0===s)i=".CA";else{i=".C";var o="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",n=0,l=0;for(e=0;e<=s;++e)for(n=n<<8|r[e],l+=8;l>=5;){i+=o[n>>l-5&31],n&=(1<<(l-=5))-1}l&&(i+=o[31&(n<<=5-l)])}}t+=i}return t},u.mp4aSampleEntry.prototype.getCodec=function(){var e=u.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var t=this.esds.esd.getOTI(),i=this.esds.esd.getAudioConfig();return e+"."+u.decimalToHex(t)+(i?"."+i:"")}return e},u.stxtSampleEntry.prototype.getCodec=function(){var e=u.SampleEntry.prototype.getCodec.call(this);return this.mime_format?e+"."+this.mime_format:e},u.vp08SampleEntry.prototype.getCodec=u.vp09SampleEntry.prototype.getCodec=function(){var e=u.SampleEntry.prototype.getCodec.call(this),t=this.vpcC.level;0==t&&(t="00");var i=this.vpcC.bitDepth;return 8==i&&(i="08"),e+".0"+this.vpcC.profile+"."+t+"."+i},u.av01SampleEntry.prototype.getCodec=function(){var e,t=u.SampleEntry.prototype.getCodec.call(this),i=this.av1C.seq_level_idx_0;return i<10&&(i="0"+i),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?e=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(e=1===this.av1C.high_bitdepth?"10":"08"),t+"."+this.av1C.seq_profile+"."+i+(this.av1C.seq_tier_0?"H":"M")+"."+e},u.Box.prototype.writeHeader=function(e,t){this.size+=8,this.size>d&&(this.size+=8),"uuid"===this.type&&(this.size+=16),o.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+e.getPosition()+(t||"")),this.size>d?e.writeUint32(1):(this.sizePosition=e.getPosition(),e.writeUint32(this.size)),e.writeString(this.type,null,4),"uuid"===this.type&&e.writeUint8Array(this.uuid),this.size>d&&e.writeUint64(this.size)},u.FullBox.prototype.writeHeader=function(e){this.size+=4,u.Box.prototype.writeHeader.call(this,e," v="+this.version+" f="+this.flags),e.writeUint8(this.version),e.writeUint24(this.flags)},u.Box.prototype.write=function(e){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(e),e.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(e),this.data&&e.writeUint8Array(this.data))},u.ContainerBox.prototype.write=function(e){this.size=0,this.writeHeader(e);for(var t=0;t=2&&e.writeUint32(this.default_sample_description_index),e.writeUint32(this.entries.length),t=0;t0)for(t=0;t+1t?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(e),1===this.version?e.writeUint64(this.baseMediaDecodeTime):e.writeUint32(this.baseMediaDecodeTime)},u.tfhdBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&u.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&u.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&u.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&u.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&u.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(e),e.writeUint32(this.track_id),this.flags&u.TFHD_FLAG_BASE_DATA_OFFSET&&e.writeUint64(this.base_data_offset),this.flags&u.TFHD_FLAG_SAMPLE_DESC&&e.writeUint32(this.default_sample_description_index),this.flags&u.TFHD_FLAG_SAMPLE_DUR&&e.writeUint32(this.default_sample_duration),this.flags&u.TFHD_FLAG_SAMPLE_SIZE&&e.writeUint32(this.default_sample_size),this.flags&u.TFHD_FLAG_SAMPLE_FLAGS&&e.writeUint32(this.default_sample_flags)},u.tkhdBox.prototype.write=function(e){this.version=0,this.size=80,this.writeHeader(e),e.writeUint32(this.creation_time),e.writeUint32(this.modification_time),e.writeUint32(this.track_id),e.writeUint32(0),e.writeUint32(this.duration),e.writeUint32(0),e.writeUint32(0),e.writeInt16(this.layer),e.writeInt16(this.alternate_group),e.writeInt16(this.volume<<8),e.writeUint16(0),e.writeInt32Array(this.matrix),e.writeUint32(this.width),e.writeUint32(this.height)},u.trexBox.prototype.write=function(e){this.version=0,this.flags=0,this.size=20,this.writeHeader(e),e.writeUint32(this.track_id),e.writeUint32(this.default_sample_description_index),e.writeUint32(this.default_sample_duration),e.writeUint32(this.default_sample_size),e.writeUint32(this.default_sample_flags)},u.trunBox.prototype.write=function(e){this.version=0,this.size=4,this.flags&u.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&u.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&u.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&u.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&u.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&u.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(e),e.writeUint32(this.sample_count),this.flags&u.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=e.getPosition(),e.writeInt32(this.data_offset)),this.flags&u.TRUN_FLAGS_FIRST_FLAG&&e.writeUint32(this.first_sample_flags);for(var t=0;t-1||e[i]instanceof u.Box||t[i]instanceof u.Box||void 0===e[i]||void 0===t[i]||"function"==typeof e[i]||"function"==typeof t[i]||e.subBoxNames&&e.subBoxNames.indexOf(i.slice(0,4))>-1||t.subBoxNames&&t.subBoxNames.indexOf(i.slice(0,4))>-1||"data"===i||"start"===i||"size"===i||"creation_time"===i||"modification_time"===i||u.DIFF_PRIMITIVE_ARRAY_PROP_NAMES.indexOf(i)>-1||e[i]===t[i]))return!1;return!0},u.boxEqual=function(e,t){if(!u.boxEqualFields(e,t))return!1;for(var i=0;i1)for(t=1;t-1&&this.fragmentedTracks.splice(t,1)},y.prototype.setExtractionOptions=function(e,t,i){var s=this.getTrackById(e);if(s){var r={};this.extractedTracks.push(r),r.id=e,r.user=t,r.trak=s,s.nextSample=0,r.nb_samples=1e3,r.samples=[],i&&i.nbSamples&&(r.nb_samples=i.nbSamples)}},y.prototype.unsetExtractionOptions=function(e){for(var t=-1,i=0;i-1&&this.extractedTracks.splice(t,1)},y.prototype.parse=function(){var e,t;if(!this.restoreParsePosition||this.restoreParsePosition())for(;;){if(this.hasIncompleteMdat&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this.saveParsePosition&&this.saveParsePosition(),(e=u.parseOneBox(this.stream,false)).code===u.ERR_NOT_ENOUGH_DATA){if(this.processIncompleteBox){if(this.processIncompleteBox(e))continue;return}return}var i;switch(i="uuid"!==(t=e.box).type?t.type:t.uuid,this.boxes.push(t),i){case"mdat":this.mdats.push(t);break;case"moof":this.moofs.push(t);break;case"moov":this.moovStartFound=!0,0===this.mdats.length&&(this.isProgressive=!0);default:void 0!==this[i]&&o.warn("ISOFile","Duplicate Box of type: "+i+", overriding previous occurrence"),this[i]=t}this.updateUsedBytes&&this.updateUsedBytes(t,e)}},y.prototype.checkBuffer=function(e){if(null==e)throw"Buffer must be defined and non empty";if(void 0===e.fileStart)throw"Buffer must have a fileStart property";return 0===e.byteLength?(o.warn("ISOFile","Ignoring empty buffer (fileStart: "+e.fileStart+")"),this.stream.logBufferLevel(),!1):(o.info("ISOFile","Processing buffer (fileStart: "+e.fileStart+")"),e.usedBytes=0,this.stream.insertBuffer(e),this.stream.logBufferLevel(),!!this.stream.initialized()||(o.warn("ISOFile","Not ready to start parsing"),!1))},y.prototype.appendBuffer=function(e,t){var i;if(this.checkBuffer(e))return this.parse(),this.moovStartFound&&!this.moovStartSent&&(this.moovStartSent=!0,this.onMoovStart&&this.onMoovStart()),this.moov?(this.sampleListBuilt||(this.buildSampleLists(),this.sampleListBuilt=!0),this.updateSampleLists(),this.onReady&&!this.readySent&&(this.readySent=!0,this.onReady(this.getInfo())),this.processSamples(t),this.nextSeekPosition?(i=this.nextSeekPosition,this.nextSeekPosition=void 0):i=this.nextParsePosition,this.stream.getEndFilePositionAfter&&(i=this.stream.getEndFilePositionAfter(i))):i=this.nextParsePosition?this.nextParsePosition:0,this.sidx&&this.onSidx&&!this.sidxSent&&(this.onSidx(this.sidx),this.sidxSent=!0),this.meta&&(this.flattenItemInfo&&!this.itemListBuilt&&(this.flattenItemInfo(),this.itemListBuilt=!0),this.processItems&&this.processItems(this.onItem)),this.stream.cleanBuffers&&(o.info("ISOFile","Done processing buffer (fileStart: "+e.fileStart+") - next buffer to fetch should have a fileStart position of "+i),this.stream.logBufferLevel(),this.stream.cleanBuffers(),this.stream.logBufferLevel(!0),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize())),i},y.prototype.getInfo=function(){var e,t,i,s,r,a,o={},n=new Date("1904-01-01T00:00:00Z").getTime();if(this.moov)for(o.hasMoov=!0,o.duration=this.moov.mvhd.duration,o.timescale=this.moov.mvhd.timescale,o.isFragmented=null!=this.moov.mvex,o.isFragmented&&this.moov.mvex.mehd&&(o.fragment_duration=this.moov.mvex.mehd.fragment_duration),o.isProgressive=this.isProgressive,o.hasIOD=null!=this.moov.iods,o.brands=[],o.brands.push(this.ftyp.major_brand),o.brands=o.brands.concat(this.ftyp.compatible_brands),o.created=new Date(n+1e3*this.moov.mvhd.creation_time),o.modified=new Date(n+1e3*this.moov.mvhd.modification_time),o.tracks=[],o.audioTracks=[],o.videoTracks=[],o.subtitleTracks=[],o.metadataTracks=[],o.hintTracks=[],o.otherTracks=[],e=0;e0?o.mime+='video/mp4; codecs="':o.audioTracks&&o.audioTracks.length>0?o.mime+='audio/mp4; codecs="':o.mime+='application/mp4; codecs="',e=0;e=i.samples.length)&&(o.info("ISOFile","Sending fragmented data on track #"+s.id+" for samples ["+Math.max(0,i.nextSample-s.nb_samples)+","+(i.nextSample-1)+"]"),o.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(s.id,s.user,s.segmentStream.buffer,i.nextSample,e||i.nextSample>=i.samples.length),s.segmentStream=null,s!==this.fragmentedTracks[t]))break}}if(null!==this.onSamples)for(t=0;t=i.samples.length)&&(o.debug("ISOFile","Sending samples on track #"+a.id+" for sample "+i.nextSample),this.onSamples&&this.onSamples(a.id,a.user,a.samples),a.samples=[],a!==this.extractedTracks[t]))break}}}},y.prototype.getBox=function(e){var t=this.getBoxes(e,!0);return t.length?t[0]:null},y.prototype.getBoxes=function(e,t){var i=[];return y._sweep.call(this,e,i,t),i},y._sweep=function(e,t,i){for(var s in this.type&&this.type==e&&t.push(this),this.boxes){if(t.length&&i)return;y._sweep.call(this.boxes[s],e,t,i)}},y.prototype.getTrackSamplesInfo=function(e){var t=this.getTrackById(e);return t?t.samples:void 0},y.prototype.getTrackSample=function(e,t){var i=this.getTrackById(e);return this.getSample(i,t)},y.prototype.releaseUsedSamples=function(e,t,i){var s=0,r=this.getTrackById(e);r.lastValidSample||(r.lastValidSample=0);for(var a=r.lastValidSample;ae*r.timescale){d=s-1;break}t&&r.is_sync&&(l=s)}for(t&&(d=l),e=i.samples[d].cts,i.nextSample=d;i.samples[d].alreadyRead===i.samples[d].size&&i.samples[d+1];)d++;return a=i.samples[d].offset+i.samples[d].alreadyRead,o.info("ISOFile","Seeking to "+(t?"RAP":"")+" sample #"+i.nextSample+" on track "+i.tkhd.track_id+", time "+o.getDurationString(e,n)+" and offset: "+a),{offset:a,time:e/n}},y.prototype.getTrackDuration=function(e){var t;return e.samples?((t=e.samples[e.samples.length-1]).cts+t.duration)/t.timescale:1/0},y.prototype.seek=function(e,t){var i,s,r,a=this.moov,n={offset:1/0,time:1/0};if(this.moov){for(r=0;rthis.getTrackDuration(i)||((s=this.seekTrack(e,t,i)).offset-1){o=l;break}switch(o){case"Visual":if(r.add("vmhd").set("graphicsmode",0).set("opcolor",[0,0,0]),a.set("width",t.width).set("height",t.height).set("horizresolution",72<<16).set("vertresolution",72<<16).set("frame_count",1).set("compressorname",t.type+" Compressor").set("depth",24),t.avcDecoderConfigRecord){var c=new u.avcCBox;c.parse(new n(t.avcDecoderConfigRecord)),a.addBox(c)}else if(t.hevcDecoderConfigRecord){var p=new u.hvcCBox;p.parse(new n(t.hevcDecoderConfigRecord)),a.addBox(p)}break;case"Audio":r.add("smhd").set("balance",t.balance||0),a.set("channel_count",t.channel_count||2).set("samplesize",t.samplesize||16).set("samplerate",t.samplerate||65536);break;case"Hint":r.add("hmhd");break;case"Subtitle":if(r.add("sthd"),"stpp"===t.type)a.set("namespace",t.namespace||"nonamespace").set("schema_location",t.schema_location||"").set("auxiliary_mime_types",t.auxiliary_mime_types||"");break;default:r.add("nmhd")}t.description&&a.addBox(t.description),t.description_boxes&&t.description_boxes.forEach((function(e){a.addBox(e)})),r.add("dinf").add("dref").addEntry((new u["url Box"]).set("flags",1));var m=r.add("stbl");return m.add("stsd").addEntry(a),m.add("stts").set("sample_counts",[]).set("sample_deltas",[]),m.add("stsc").set("first_chunk",[]).set("samples_per_chunk",[]).set("sample_description_index",[]),m.add("stco").set("chunk_offsets",[]),m.add("stsz").set("sample_sizes",[]),this.moov.mvex.add("trex").set("track_id",t.id).set("default_sample_description_index",t.default_sample_description_index||1).set("default_sample_duration",t.default_sample_duration||0).set("default_sample_size",t.default_sample_size||0).set("default_sample_flags",t.default_sample_flags||0),this.buildTrakSampleLists(i),t.id}},u.Box.prototype.computeSize=function(e){var t=e||new l;t.endianness=l.BIG_ENDIAN,this.write(t)},y.prototype.addSample=function(e,t,i){var s=i||{},r={},a=this.getTrackById(e);if(null!==a){r.number=a.samples.length,r.track_id=a.tkhd.track_id,r.timescale=a.mdia.mdhd.timescale,r.description_index=s.sample_description_index?s.sample_description_index-1:0,r.description=a.mdia.minf.stbl.stsd.entries[r.description_index],r.data=t,r.size=t.byteLength,r.alreadyRead=r.size,r.duration=s.duration||1,r.cts=s.cts||0,r.dts=s.dts||0,r.is_sync=s.is_sync||!1,r.is_leading=s.is_leading||0,r.depends_on=s.depends_on||0,r.is_depended_on=s.is_depended_on||0,r.has_redundancy=s.has_redundancy||0,r.degradation_priority=s.degradation_priority||0,r.offset=0,r.subsamples=s.subsamples,a.samples.push(r),a.samples_size+=r.size,a.samples_duration+=r.duration,void 0===a.first_dts&&(a.first_dts=s.dts),this.processSamples();var o=this.createSingleSampleMoof(r);return this.addBox(o),o.computeSize(),o.trafs[0].truns[0].data_offset=o.size+8,this.add("mdat").data=new Uint8Array(t),r}},y.prototype.createSingleSampleMoof=function(e){var t=0;t=e.is_sync?1<<25:65536;var i=new u.moofBox;i.add("mfhd").set("sequence_number",this.nextMoofNumber),this.nextMoofNumber++;var s=i.add("traf"),r=this.getTrackById(e.track_id);return s.add("tfhd").set("track_id",e.track_id).set("flags",u.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),s.add("tfdt").set("baseMediaDecodeTime",e.dts-(r.first_dts||0)),s.add("trun").set("flags",u.TRUN_FLAGS_DATA_OFFSET|u.TRUN_FLAGS_DURATION|u.TRUN_FLAGS_SIZE|u.TRUN_FLAGS_FLAGS|u.TRUN_FLAGS_CTS_OFFSET).set("data_offset",0).set("first_sample_flags",0).set("sample_count",1).set("sample_duration",[e.duration]).set("sample_size",[e.size]).set("sample_flags",[t]).set("sample_composition_time_offset",[e.cts-e.dts]),i},y.prototype.lastMoofIndex=0,y.prototype.samplesDataSize=0,y.prototype.resetTables=function(){var e,t,i,s,r,a;for(this.initial_duration=this.moov.mvhd.duration,this.moov.mvhd.duration=0,e=0;e=2&&(l=r[o].grouping_type+"/0",(n=new d(r[o].grouping_type,0)).is_fragment=!0,t.sample_groups_info[l]||(t.sample_groups_info[l]=n))}else for(o=0;o=2&&(l=s[o].grouping_type+"/0",n=new d(s[o].grouping_type,0),e.sample_groups_info[l]||(e.sample_groups_info[l]=n))},y.setSampleGroupProperties=function(e,t,i,s){var r,a;for(r in t.sample_groups=[],s){var o;if(t.sample_groups[r]={},t.sample_groups[r].grouping_type=s[r].grouping_type,t.sample_groups[r].grouping_type_parameter=s[r].grouping_type_parameter,i>=s[r].last_sample_in_run&&(s[r].last_sample_in_run<0&&(s[r].last_sample_in_run=0),s[r].entry_index++,s[r].entry_index<=s[r].sbgp.entries.length-1&&(s[r].last_sample_in_run+=s[r].sbgp.entries[s[r].entry_index].sample_count)),s[r].entry_index<=s[r].sbgp.entries.length-1?t.sample_groups[r].group_description_index=s[r].sbgp.entries[s[r].entry_index].group_description_index:t.sample_groups[r].group_description_index=-1,0!==t.sample_groups[r].group_description_index)o=s[r].fragment_description?s[r].fragment_description:s[r].description,t.sample_groups[r].group_description_index>0?(a=t.sample_groups[r].group_description_index>65535?(t.sample_groups[r].group_description_index>>16)-1:t.sample_groups[r].group_description_index-1,o&&a>=0&&(t.sample_groups[r].description=o.entries[a])):o&&o.version>=2&&o.default_group_description_index>0&&(t.sample_groups[r].description=o.entries[o.default_group_description_index-1])}},y.process_sdtp=function(e,t,i){t&&(e?(t.is_leading=e.is_leading[i],t.depends_on=e.sample_depends_on[i],t.is_depended_on=e.sample_is_depended_on[i],t.has_redundancy=e.sample_has_redundancy[i]):(t.is_leading=0,t.depends_on=0,t.is_depended_on=0,t.has_redundancy=0))},y.prototype.buildSampleLists=function(){var e,t;for(e=0;eb&&(v++,b<0&&(b=0),b+=a.sample_counts[v]),t>0?(e.samples[t-1].duration=a.sample_deltas[v],e.samples_duration+=e.samples[t-1].duration,k.dts=e.samples[t-1].dts+e.samples[t-1].duration):k.dts=0,o?(t>=_&&(S++,_<0&&(_=0),_+=o.sample_counts[S]),k.cts=e.samples[t].dts+o.sample_offsets[S]):k.cts=k.dts,n?(t==n.sample_numbers[w]-1?(k.is_sync=!0,w++):(k.is_sync=!1,k.degradation_priority=0),d&&d.entries[E].sample_delta+T==t+1&&(k.subsamples=d.entries[E].subsamples,T+=d.entries[E].sample_delta,E++)):k.is_sync=!0,y.process_sdtp(e.mdia.minf.stbl.sdtp,k,k.number),k.degradation_priority=u?u.priority[t]:0,d&&d.entries[E].sample_delta+T==t&&(k.subsamples=d.entries[E].subsamples,T+=d.entries[E].sample_delta),(h.length>0||c.length>0)&&y.setSampleGroupProperties(e,k,t,e.sample_groups_info)}t>0&&(e.samples[t-1].duration=Math.max(e.mdia.mdhd.duration-e.samples[t-1].dts,0),e.samples_duration+=e.samples[t-1].duration)}},y.prototype.updateSampleLists=function(){var e,t,i,s,r,a,o,n,l,d,h,c,p,m,g;if(void 0!==this.moov)for(;this.lastMoofIndex0&&y.initSampleGroups(c,h,h.sbgps,c.mdia.minf.stbl.sgpds,h.sgpds),t=0;t0?m.dts=c.samples[c.samples.length-2].dts+c.samples[c.samples.length-2].duration:(h.tfdt?m.dts=h.tfdt.baseMediaDecodeTime:m.dts=0,c.first_traf_merged=!0),m.cts=m.dts,f.flags&u.TRUN_FLAGS_CTS_OFFSET&&(m.cts=m.dts+f.sample_composition_time_offset[i]),g=o,f.flags&u.TRUN_FLAGS_FLAGS?g=f.sample_flags[i]:0===i&&f.flags&u.TRUN_FLAGS_FIRST_FLAG&&(g=f.first_sample_flags),m.is_sync=!(g>>16&1),m.is_leading=g>>26&3,m.depends_on=g>>24&3,m.is_depended_on=g>>22&3,m.has_redundancy=g>>20&3,m.degradation_priority=65535&g;var A=!!(h.tfhd.flags&u.TFHD_FLAG_BASE_DATA_OFFSET),b=!!(h.tfhd.flags&u.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),v=!!(f.flags&u.TRUN_FLAGS_DATA_OFFSET),_=0;_=A?h.tfhd.base_data_offset:b||0===t?d.start:n,m.offset=0===t&&0===i?v?_+f.data_offset:_:n,n=m.offset+m.size,(h.sbgps.length>0||h.sgpds.length>0||c.mdia.minf.stbl.sbgps.length>0||c.mdia.minf.stbl.sgpds.length>0)&&y.setSampleGroupProperties(c,m,m.number_in_traf,h.sample_groups_info)}}if(h.subs){c.has_fragment_subsamples=!0;var S=h.first_sample_index;for(t=0;t-1))return null;var a=(i=this.stream.buffers[r]).byteLength-(s.offset+s.alreadyRead-i.fileStart);if(s.size-s.alreadyRead<=a)return o.debug("ISOFile","Getting sample #"+t+" data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-i.fileStart)+" read size: "+(s.size-s.alreadyRead)+" full size: "+s.size+")"),l.memcpy(s.data.buffer,s.alreadyRead,i,s.offset+s.alreadyRead-i.fileStart,s.size-s.alreadyRead),i.usedBytes+=s.size-s.alreadyRead,this.stream.logBufferLevel(),s.alreadyRead=s.size,s;if(0===a)return null;o.debug("ISOFile","Getting sample #"+t+" partial data (alreadyRead: "+s.alreadyRead+" offset: "+(s.offset+s.alreadyRead-i.fileStart)+" read size: "+a+" full size: "+s.size+")"),l.memcpy(s.data.buffer,s.alreadyRead,i,s.offset+s.alreadyRead-i.fileStart,a),s.alreadyRead+=a,i.usedBytes+=a,this.stream.logBufferLevel()}},y.prototype.releaseSample=function(e,t){var i=e.samples[t];return i.data?(this.samplesDataSize-=i.size,i.data=null,i.description=null,delete i.degradation_priority,delete i.depends_on,delete i.description_index,delete i.has_redundancy,delete i.is_depended_on,delete i.is_leading,delete i.is_sync,delete i.moof_number,delete i.number_in_traf,delete i.timescale,delete i.cts,delete i.dts,delete i.offset,delete i.size,delete i.track_id,delete i.duration,i.alreadyRead=0,i.size):0},y.prototype.getAllocatedSampleDataSize=function(){return this.samplesDataSize},y.prototype.getCodecs=function(){var e,t="";for(e=0;e0&&(t+=","),t+=this.moov.traks[e].mdia.minf.stbl.stsd.entries[0].getCodec()}return t},y.prototype.getTrexById=function(e){var t;if(!this.moov||!this.moov.mvex)return null;for(t=0;t0&&(i.protection=a.ipro.protections[a.iinf.item_infos[e].protection_index-1]),a.iinf.item_infos[e].item_type?i.type=a.iinf.item_infos[e].item_type:i.type="mime",i.content_type=a.iinf.item_infos[e].content_type,i.content_encoding=a.iinf.item_infos[e].content_encoding;if(a.grpl)for(e=0;e0&&u.property_index-1-1))return null;var n=(t=this.stream.buffers[a]).byteLength-(r.offset+r.alreadyRead-t.fileStart);if(!(r.length-r.alreadyRead<=n))return o.debug("ISOFile","Getting item #"+e+" extent #"+s+" partial data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+n+" full extent size: "+r.length+" full item size: "+i.size+")"),l.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,n),r.alreadyRead+=n,i.alreadyRead+=n,t.usedBytes+=n,this.stream.logBufferLevel(),null;o.debug("ISOFile","Getting item #"+e+" extent #"+s+" data (alreadyRead: "+r.alreadyRead+" offset: "+(r.offset+r.alreadyRead-t.fileStart)+" read size: "+(r.length-r.alreadyRead)+" full extent size: "+r.length+" full item size: "+i.size+")"),l.memcpy(i.data.buffer,i.alreadyRead,t,r.offset+r.alreadyRead-t.fileStart,r.length-r.alreadyRead),t.usedBytes+=r.length-r.alreadyRead,this.stream.logBufferLevel(),i.alreadyRead+=r.length-r.alreadyRead,r.alreadyRead=r.length}}return i.alreadyRead===i.size?i:null},y.prototype.releaseItem=function(e){var t=this.items[e];if(t.data){this.itemsDataSize-=t.size,t.data=null,t.alreadyRead=0;for(var i=0;i0?this.moov.traks[e].samples[0].duration:0),t.push(s)}return t},y.prototype.getPerformanceInfo=function(){var e={};return e.moov=this.moov,this.moov&&this.moov.traks&&this.moov.traks.length>1&&(e.moovAudioNum=this.moov.traks[0].samples.length,e.moovVideoNum=this.moov.traks[1].samples.length),e},u.Box.prototype.printHeader=function(e){this.size+=8,this.size>d&&(this.size+=8),"uuid"===this.type&&(this.size+=16),e.log(e.indent+"size:"+this.size),e.log(e.indent+"type:"+this.type)},u.FullBox.prototype.printHeader=function(e){this.size+=4,u.Box.prototype.printHeader.call(this,e),e.log(e.indent+"version:"+this.version),e.log(e.indent+"flags:"+this.flags)},u.Box.prototype.print=function(e){this.printHeader(e)},u.ContainerBox.prototype.print=function(e){this.printHeader(e);for(var t=0;t>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"next_track_id: "+this.next_track_id)},u.tkhdBox.prototype.print=function(e){u.FullBox.prototype.printHeader.call(this,e),e.log(e.indent+"creation_time: "+this.creation_time),e.log(e.indent+"modification_time: "+this.modification_time),e.log(e.indent+"track_id: "+this.track_id),e.log(e.indent+"duration: "+this.duration),e.log(e.indent+"volume: "+(this.volume>>8)),e.log(e.indent+"matrix: "+this.matrix.join(", ")),e.log(e.indent+"layer: "+this.layer),e.log(e.indent+"alternate_group: "+this.alternate_group),e.log(e.indent+"width: "+this.width),e.log(e.indent+"height: "+this.height)};var A={createFile:function(e,t){var i=void 0===e||e,s=new y(t);return s.discardMdatData=!i,s}};t.createFile=A.createFile}));Ih.Log,Ih.MP4BoxStream,Ih.DataStream,Ih.MultiBufferStream,Ih.MPEG4DescriptorParser,Ih.BoxParser,Ih.XMLSubtitlein4Parser,Ih.Textin4Parser,Ih.ISOFile,Ih.createFile;class Bh extends _h{constructor(e){super(e),this.TAG_NAME="Fmp4Demux",this.player=e,this.mp4Box=Ih.createFile(),this.tempFmp4List=[],this.offset=0,this.videoTrackId=null,this.audioTrackId=null,this.isHevc=!1,this._listenMp4Box(),e.debugLog(this.TAG_NAME,"init")}destroy(){this.mp4Box&&(this.mp4Box.stop(),this.mp4Box.flush(),this.mp4Box.destroy(),this.mp4Box=null),this.tempFmp4List=[],this.offset=0,this.videoTrackId=null,this.audioTrackId=null,this.isHevc=!1,this.player.debugLog(this.TAG_NAME,"destroy")}_listenMp4Box(){this.mp4Box.onReady=this.onReady.bind(this),this.mp4Box.onError=this.onError.bind(this),this.mp4Box.onSamples=this.onSamples.bind(this)}onReady(e){this.player.debugLog(this.TAG_NAME,"onReady",e);const t=e.videoTracks[0],i=e.audioTracks[0];if(t){this.videoTrackId=t.id;const e=this.getSeqHeader(t);e&&(this.player.debugLog(this.TAG_NAME,"seqHeader",e),this._doDecodeByFmp4(e,ze,0,!0,0)),this.mp4Box.setExtractionOptions(t.id)}if(i&&this.player._opt.hasAudio){this.audioTrackId=i.id;const e=i.audio||{},t=Xr.indexOf(e.sample_rate),s=i.codec.replace("mp4a.40.","");this.mp4Box.setExtractionOptions(i.id);const r={profile:parseInt(s,10),sampleRate:t,channel:e.channel_count},a=Zr(r);this.player.debugLog(this.TAG_NAME,"aacADTSHeader",a,"config",r),this._doDecodeByFmp4(a,Ve,0,!1,0)}this.mp4Box.start()}onError(e){this.player.debugError(this.TAG_NAME,"mp4Box onError",e)}onSamples(e,t,i){if(e===this.videoTrackId){for(const e of i){const t=e.data,i=e.is_sync,s=1e3*e.cts/e.timescale;e.duration,e.timescale,this.player.updateStats({vbps:t.byteLength,dts:s}),i&&this.calcIframeIntervalTimestamp(s);let r=null;r=this.isHevc?yl(t,i):sl(t,i);let a=this.cryptoPayload(r,i);this._doDecodeByFmp4(a,ze,s,i,0)}this.mp4Box.removeUsedSamples(e)}else if(e===this.audioTrackId){if(this.player._opt.hasAudio){for(const e of i){const t=e.data;this.player.updateStats({abps:t.byteLength});const i=1e3*e.cts/e.timescale;e.duration,e.timescale;const s=new Uint8Array(t.byteLength+2);s.set([175,1],0),s.set(t,2),this._doDecodeByFmp4(s,Ve,i,!1,0)}this.mp4Box.removeUsedSamples(e)}}else this.player.debugWarn(this.TAG_NAME,"onSamples() trackId error",e)}getSeqHeader(e){const t=this.mp4Box.getTrackById(e.id);for(const e of t.mdia.minf.stbl.stsd.entries)if(e.avcC||e.hvcC){const t=new Ih.DataStream(void 0,0,Ih.DataStream.BIG_ENDIAN);let i=[];e.avcC?(e.avcC.write(t),i=[23,0,0,0,0]):(this.isHevc=!0,e.hvcC.write(t),i=[28,0,0,0,0]);const s=new Uint8Array(t.buffer,8),r=new Uint8Array(i.length+s.length);return r.set(i,0),r.set(s,i.length),r}return null}dispatch(e){let t=new Uint8Array(e);t.buffer.fileStart=this.offset,this.offset+=t.byteLength,this.mp4Box.appendBuffer(t.buffer)}downloadFmp4File(){const e=new Blob(this.tempFmp4List,{type:'video/mp4; codecs="avc1.640028,mp4a.40.2"'}),t=URL.createObjectURL(e),i=document.createElement("a");i.href=t,i.download=_a()+".fmp4",i.click(),URL.revokeObjectURL(t)}getInputByteLength(){let e=0;return this.mp4Box&&(e=this.mp4Box.getAllocatedSampleDataSize()),e}}class Mh extends _h{constructor(e){super(e),this.player=e,this.TAG_NAME="Mpeg4Demux",this.player.debugLog(this.LOG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.LOG_NAME,"destroy")}}function Fh(){for(var e=arguments.length,t=new Array(e),i=0;ie+t.byteLength),0));let r=0;return t.forEach((e=>{s.set(e,r),r+=e.byteLength})),s}const Uh=3,Oh=4,Nh=6,jh=15,Gh=17,Wh=129,Vh=135,zh=21,$h=134,Hh=27,Jh=36;class qh{constructor(){this.slices=[],this.total_length=0,this.expected_length=0,this.random_access_indicator=0}}class Kh{constructor(){this.pid=null,this.data=null,this.stream_type=null,this.random_access_indicator=null}}class Yh{constructor(){this.pid=null,this.stream_id=null,this.len=null,this.data=null,this.pts=null,this.nearest_pts=null,this.dts=null}}const Qh=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];class Xh{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t}isSeekable(){return!0===this.hasKeyframesIndex}getNearestKeyframe(e){if(null==this.keyframesIndex)return null;let t=this.keyframesIndex,i=this._search(t.times,e);return{index:i,milliseconds:t.times[i],fileposition:t.filepositions[i]}}_search(e,t){let i=0,s=e.length-1,r=0,a=0,o=s;for(t=e[r]&&t=6?(s=5,t=new Array(4),o=r-3):(s=2,t=new Array(2),o=r):-1!==n.indexOf("android")?(s=2,t=new Array(2),o=r):(s=5,o=r,t=new Array(4),r>=6?o=r-3:1===a&&(s=2,t=new Array(2),o=r)),t[0]=s<<3,t[0]|=(15&r)>>>1,t[1]=(15&r)<<7,t[1]|=(15&a)<<3,5===s&&(t[1]|=(15&o)>>>1,t[2]=(1&o)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=Qh[r],this.sampling_index=r,this.channel_count=a,this.object_type=s,this.original_object_type=i,this.codec_mimetype="mp4a.40."+s,this.original_codec_mimetype="mp4a.40."+i}}class ec extends _h{constructor(e){super(e),this.player=e,this.TAG_NAME="TsDemux",this.first_parse_=!0,this.tsPacketSize=0,this.syncOffset=0,this.pmt_=null,this.config_=null,this.media_info_=new Xh,this.timescale_=90,this.duration_=0,this.pat_={version_number:0,network_pid:0,program_map_pid:{}},this.current_program_=null,this.current_pmt_pid_=-1,this.program_pmt_map_={},this.pes_slice_queues_={},this.section_slice_queues_={},this.video_metadata_={vps:null,sps:null,pps:null,details:null},this.audio_metadata_={codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},this.last_pcr_=null,this.last_pcr_base_=NaN,this.timestamp_offset_=0,this.audio_last_sample_pts_=void 0,this.aac_last_incomplete_data_=null,this.has_video_=!1,this.has_audio_=!1,this.video_init_segment_dispatched_=!1,this.audio_init_segment_dispatched_=!1,this.video_metadata_changed_=!1,this.audio_metadata_changed_=!1,this.loas_previous_frame=null,this.video_track_={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this.audio_track_={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._remainingPacketData=null,this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.media_info_=null,this.pes_slice_queues_=null,this.section_slice_queues_=null,this.video_metadata_=null,this.audio_metadata_=null,this.aac_last_incomplete_data_=null,this.video_track_=null,this.audio_track_=null,this._remainingPacketData=null,super.destroy()}probe(e){let t=new Uint8Array(e),i=-1,s=188;if(t.byteLength<=3*s)return{needMoreData:!0};for(;-1===i;){let e=Math.min(1e3,t.byteLength-3*s);for(let r=0;r=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:s,sync_offset:i})}_initPmt(){return{program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}}dispatch(e){let t=new Uint8Array(e);this._remainingPacketData&&(t=Fh(this._remainingPacketData,t),this._remainingPacketData=null);let i=t.buffer;const s=this.parseChunks(i);s?this._remainingPacketData=t.subarray(s):t.length>>6;i[1];let a=(31&i[1])<<8|i[2],o=(48&i[3])>>>4,n=15&i[3],l=!(!this.pmt_||this.pmt_.pcr_pid!==a),d={},h=4;if(2==o||3==o){let e=i[4];if(e>0&&(l||3==o)){if(d.discontinuity_indicator=(128&i[5])>>>7,d.random_access_indicator=(64&i[5])>>>6,d.elementary_stream_priority_indicator=(32&i[5])>>>5,(16&i[5])>>>4){let e=300*this._getPcrBase(i)+((1&i[10])<<8|i[11]);this.last_pcr_=e}}if(2==o||5+e===188){t+=188,204===this.tsPacketSize&&(t+=16);continue}h=5+e}if(1==o||3==o)if(0===a||a===this.current_pmt_pid_||null!=this.pmt_&&this.pmt_.pid_stream_type[a]===$h){let i=188-h;this.handleSectionSlice(e,t+h,i,{pid:a,payload_unit_start_indicator:r,continuity_conunter:n,random_access_indicator:d.random_access_indicator})}else if(null!=this.pmt_&&null!=this.pmt_.pid_stream_type[a]){let i=188-h,s=this.pmt_.pid_stream_type[a];a!==this.pmt_.common_pids.h264&&a!==this.pmt_.common_pids.h265&&a!==this.pmt_.common_pids.adts_aac&&a!==this.pmt_.common_pids.loas_aac&&a!==this.pmt_.common_pids.ac3&&a!==this.pmt_.common_pids.eac3&&a!==this.pmt_.common_pids.opus&&a!==this.pmt_.common_pids.mp3&&!0!==this.pmt_.pes_private_data_pids[a]&&!0!==this.pmt_.timed_id3_pids[a]&&!0!==this.pmt_.synchronous_klv_pids[a]&&!0!==this.pmt_.asynchronous_klv_pids[a]||this.handlePESSlice(e,t+h,i,{pid:a,stream_type:s,payload_unit_start_indicator:r,continuity_conunter:n,random_access_indicator:d.random_access_indicator})}t+=188,204===this.tsPacketSize&&(t+=16)}return this.dispatchAudioVideoMediaSegment(),t}handleSectionSlice(e,t,i,s){let r=new Uint8Array(e,t,i),a=this.section_slice_queues_[s.pid];if(s.payload_unit_start_indicator){let o=r[0];if(null!=a&&0!==a.total_length){let r=new Uint8Array(e,t+1,Math.min(i,o));a.slices.push(r),a.total_length+=r.byteLength,a.total_length===a.expected_length?this.emitSectionSlices(a,s):this.clearSlices(a,s)}for(let n=1+o;n=a.expected_length&&this.clearSlices(a,s),n+=l.byteLength}}else if(null!=a&&0!==a.total_length){let r=new Uint8Array(e,t,Math.min(i,a.expected_length-a.total_length));a.slices.push(r),a.total_length+=r.byteLength,a.total_length===a.expected_length?this.emitSectionSlices(a,s):a.total_length>=a.expected_length&&this.clearSlices(a,s)}}handlePESSlice(e,t,i,s){let r=new Uint8Array(e,t,i),a=r[0]<<16|r[1]<<8|r[2];r[3];let o=r[4]<<8|r[5];if(s.payload_unit_start_indicator){if(1!==a)return void this.player.debugWarn(this.TAG_NAME,`handlePESSlice: packet_start_code_prefix should be 1 but with value ${a}`);let e=this.pes_slice_queues_[s.pid];e&&(0===e.expected_length||e.expected_length===e.total_length?this.emitPESSlices(e,s):this.clearSlices(e,s)),this.pes_slice_queues_[s.pid]=new qh,this.pes_slice_queues_[s.pid].random_access_indicator=s.random_access_indicator}if(null==this.pes_slice_queues_[s.pid])return;let n=this.pes_slice_queues_[s.pid];n.slices.push(r),s.payload_unit_start_indicator&&(n.expected_length=0===o?0:o+6),n.total_length+=r.byteLength,n.expected_length>0&&n.expected_length===n.total_length?this.emitPESSlices(n,s):n.expected_length>0&&n.expected_length>>6,n=t[8];2!==o&&3!==o||(i=this._getTimestamp(t,9),a=3===o?this._getTimestamp(t,14):i);let l,d=9+n;if(0!==r){if(r<3+n)return void this.player.debugWarn(this.TAG_NAME,"Malformed PES: PES_packet_length < 3 + PES_header_data_length");l=r-3-n}else l=t.byteLength-d;let h=t.subarray(d,d+l);switch(e.stream_type){case Uh:case Oh:this.parseMP3Payload(h,i);break;case Nh:this.pmt_.common_pids.opus===e.pid?this.parseOpusPayload(h,i):this.pmt_.common_pids.ac3===e.pid?this.parseAC3Payload(h,i):this.pmt_.common_pids.eac3===e.pid?this.parseEAC3Payload(h,i):this.pmt_.asynchronous_klv_pids[e.pid]?this.parseAsynchronousKLVMetadataPayload(h,e.pid,s):this.pmt_.smpte2038_pids[e.pid]?this.parseSMPTE2038MetadataPayload(h,i,a,e.pid,s):this.parsePESPrivateDataPayload(h,i,a,e.pid,s);break;case jh:this.parseADTSAACPayload(h,i);break;case Gh:this.parseLOASAACPayload(h,i);break;case Wh:this.parseAC3Payload(h,i);break;case Vh:this.parseEAC3Payload(h,i);break;case zh:this.pmt_.timed_id3_pids[e.pid]?this.parseTimedID3MetadataPayload(h,i,a,e.pid,s):this.pmt_.synchronous_klv_pids[e.pid]&&this.parseSynchronousKLVMetadataPayload(h,i,a,e.pid,s);break;case Hh:this.parseH264Payload(h,i,a,e.random_access_indicator);break;case Jh:this.parseH265Payload(h,i,a,e.random_access_indicator)}}else if((188===s||191===s||240===s||241===s||255===s||242===s||248===s)&&e.stream_type===Nh){let i,a=6;i=0!==r?r:t.byteLength-a;let o=t.subarray(a,a+i);this.parsePESPrivateDataPayload(o,void 0,void 0,e.pid,s)}}else this.player.debugError(this.TAG_NAME,`parsePES: packet_start_code_prefix should be 1 but with value ${i}`)}parsePAT(e){let t=e[0];if(0!==t)return void Log.e(this.TAG,`parsePAT: table_id ${t} is not corresponded to PAT!`);let i=(15&e[1])<<8|e[2];e[3],e[4];let s=(62&e[5])>>>1,r=1&e[5],a=e[6];e[7];let o=null;if(1===r&&0===a)o={version_number:0,network_pid:0,program_pmt_pid:{}},o.version_number=s;else if(o=this.pat_,null==o)return;let n=i-5-4,l=-1,d=-1;for(let t=8;t<8+n;t+=4){let i=e[t]<<8|e[t+1],s=(31&e[t+2])<<8|e[t+3];0===i?o.network_pid=s:(o.program_pmt_pid[i]=s,-1===l&&(l=i),-1===d&&(d=s))}1===r&&0===a&&(null==this.pat_&&this.player.debugLog(this.TAG_NAME,`Parsed first PAT: ${JSON.stringify(o)}`),this.pat_=o,this.current_program_=l,this.current_pmt_pid_=d)}parsePMT(e){let t=e[0];if(2!==t)return void this.player.debugError(this.TAG_NAME,`parsePMT: table_id ${t} is not corresponded to PMT!`);let i,s=(15&e[1])<<8|e[2],r=e[3]<<8|e[4],a=(62&e[5])>>>1,o=1&e[5],n=e[6];if(e[7],1===o&&0===n)i=this._initPmt(),i.program_number=r,i.version_number=a,this.program_pmt_map_[r]=i;else if(i=this.program_pmt_map_[r],null==i)return;i.pcr_pid=(31&e[8])<<8|e[9];let l=(15&e[10])<<8|e[11],d=12+l,h=s-9-l-4;for(let t=d;t0){for(let s=t+5;s0)for(let s=t+5;s1&&(this.player.debugWarn(this.TAG_NAME,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${s}ms`),s=e)}}let r,a=new ca(e),o=null,n=s;for(;null!=(o=a.readNextAACFrame());){i=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},this.dispatchAudioInitSegment(e)):this.detectAudioMetadataChange(e)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(e)),r=n;let t=Math.floor(n);const s=new Uint8Array(o.data.length+2);s.set([175,1],0),s.set(o.data,2);let a={payload:s,length:s.byteLength,pts:t,dts:t,type:Ve};this.audio_track_.samples.push(a),this.audio_track_.length+=s.byteLength,n+=i}a.hasIncompleteData()&&(this.aac_last_incomplete_data_=a.getIncompleteData()),r&&(this.audio_last_sample_pts_=r)}parseLOASAACPayload(e,t){if(this.has_video_&&!this.video_init_segment_dispatched_)return;if(this.aac_last_incomplete_data_){let t=new Uint8Array(e.byteLength+this.aac_last_incomplete_data_.byteLength);t.set(this.aac_last_incomplete_data_,0),t.set(e,this.aac_last_incomplete_data_.byteLength),e=t}let i,s;if(null!=t&&(s=t/this.timescale_),"aac"===this.audio_metadata_.codec){if(null==t&&null!=this.audio_last_sample_pts_)i=1024/this.audio_metadata_.sampling_frequency*1e3,s=this.audio_last_sample_pts_+i;else if(null==t)return void this.player.debugWarn(this.TAG_NAME,"AAC: Unknown pts");if(this.aac_last_incomplete_data_&&this.audio_last_sample_pts_){i=1024/this.audio_metadata_.sampling_frequency*1e3;let e=this.audio_last_sample_pts_+i;Math.abs(e-s)>1&&(this.player.debugWarn(this.TAG,`AAC: Detected pts overlapped, expected: ${e}ms, PES pts: ${s}ms`),s=e)}}let r,a=new ua(e),o=null,n=s;for(;null!=(o=a.readNextAACFrame(Ja(this.loas_previous_frame)?void 0:this.loas_previous_frame));){this.loas_previous_frame=o,i=1024/o.sampling_frequency*1e3;const e={codec:"aac",data:o};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:"aac",audio_object_type:o.audio_object_type,sampling_freq_index:o.sampling_freq_index,sampling_frequency:o.sampling_frequency,channel_config:o.channel_config},this.dispatchAudioInitSegment(e)):this.detectAudioMetadataChange(e)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(e)),r=n;let t=Math.floor(n);const s=new Uint8Array(o.data.length+2);s.set([175,1],0),s.set(o.data,2);let a={payload:s,length:s.byteLength,pts:t,dts:t,type:Ve};this.audio_track_.samples.push(a),this.audio_track_.length+=s.byteLength,n+=i}a.hasIncompleteData()&&(this.aac_last_incomplete_data_=a.getIncompleteData()),r&&(this.audio_last_sample_pts_=r)}parseAC3Payload(e,t){}parseEAC3Payload(e,t){}parseOpusPayload(e,t){}parseMP3Payload(e,t){if(this.has_video_&&!this.video_init_segment_dispatched_)return;let i=[44100,48e3,32e3,0],s=[22050,24e3,16e3,0],r=[11025,12e3,8e3,0],a=e[1]>>>3&3,o=(6&e[1])>>1;e[2];let n=(12&e[2])>>>2,l=3!==(e[3]>>>6&3)?2:1,d=0,h=34;switch(a){case 0:d=r[n];break;case 2:d=s[n];break;case 3:d=i[n]}switch(o){case 1:h=34;break;case 2:h=33;break;case 3:h=32}const c={};c.object_type=h,c.sample_rate=d,c.channel_count=l,c.data=e;const u={codec:"mp3",data:c};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:"mp3",object_type:h,sample_rate:d,channel_count:l},this.dispatchAudioInitSegment(u)):this.detectAudioMetadataChange(u)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(u));let p={payload:e,length:e.byteLength,pts:t/this.timescale_,dts:t/this.timescale_,type:Ve};this.audio_track_.samples.push(p),this.audio_track_.length+=e.byteLength}detectAudioMetadataChange(e){if(e.codec!==this.audio_metadata_.codec)return this.player.debugLog(this.TAG_NAME,`Audio: Audio Codecs changed from ${this.audio_metadata_.codec} to ${e.codec}`),!0;if("aac"===e.codec&&"aac"===this.audio_metadata_.codec){const t=e.data;if(t.audio_object_type!==this.audio_metadata_.audio_object_type)return this.player.debugLog(this.TAG_NAME,`AAC: AudioObjectType changed from ${this.audio_metadata_.audio_object_type} to ${t.audio_object_type}`),!0;if(t.sampling_freq_index!==this.audio_metadata_.sampling_freq_index)return this.player.debugLog(this.TAG_NAME,`AAC: SamplingFrequencyIndex changed from ${this.audio_metadata_.sampling_freq_index} to ${t.sampling_freq_index}`),!0;if(t.channel_config!==this.audio_metadata_.channel_config)return this.player.debugLog(this.TAG_NAME,`AAC: Channel configuration changed from ${this.audio_metadata_.channel_config} to ${t.channel_config}`),!0}else if("ac-3"===e.codec&&"ac-3"===this.audio_metadata_.codec){const t=e.data;if(t.sampling_frequency!==this.audio_metadata_.sampling_frequency)return this.player.debugLog(this.TAG_NAME,`AC3: Sampling Frequency changed from ${this.audio_metadata_.sampling_frequency} to ${t.sampling_frequency}`),!0;if(t.bit_stream_identification!==this.audio_metadata_.bit_stream_identification)return this.player.debugLog(this.TAG_NAME,`AC3: Bit Stream Identification changed from ${this.audio_metadata_.bit_stream_identification} to ${t.bit_stream_identification}`),!0;if(t.bit_stream_mode!==this.audio_metadata_.bit_stream_mode)return this.player.debugLog(this.TAG_NAME,`AC3: BitStream Mode changed from ${this.audio_metadata_.bit_stream_mode} to ${t.bit_stream_mode}`),!0;if(t.channel_mode!==this.audio_metadata_.channel_mode)return this.player.debugLog(this.TAG_NAME,`AC3: Channel Mode changed from ${this.audio_metadata_.channel_mode} to ${t.channel_mode}`),!0;if(t.low_frequency_effects_channel_on!==this.audio_metadata_.low_frequency_effects_channel_on)return this.player.debugLog(this.TAG_NAME,`AC3: Low Frequency Effects Channel On changed from ${this.audio_metadata_.low_frequency_effects_channel_on} to ${t.low_frequency_effects_channel_on}`),!0}else if("opus"===e.codec&&"opus"===this.audio_metadata_.codec){const t=e.meta;if(t.sample_rate!==this.audio_metadata_.sample_rate)return this.player.debugLog(this.TAG_NAME,`Opus: SamplingFrequencyIndex changed from ${this.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==this.audio_metadata_.channel_count)return this.player.debugLog(this.TAG_NAME,`Opus: Channel count changed from ${this.audio_metadata_.channel_count} to ${t.channel_count}`),!0}else if("mp3"===e.codec&&"mp3"===this.audio_metadata_.codec){const t=e.data;if(t.object_type!==this.audio_metadata_.object_type)return this.player.debugLog(this.TAG_NAME,`MP3: AudioObjectType changed from ${this.audio_metadata_.object_type} to ${t.object_type}`),!0;if(t.sample_rate!==this.audio_metadata_.sample_rate)return this.player.debugLog(this.TAG_NAME,`MP3: SamplingFrequencyIndex changed from ${this.audio_metadata_.sample_rate} to ${t.sample_rate}`),!0;if(t.channel_count!==this.audio_metadata_.channel_count)return this.player.debugLog(this.TAG_NAME,`MP3: Channel count changed from ${this.audio_metadata_.channel_count} to ${t.channel_count}`),!0}return!1}dispatchAudioInitSegment(e){let t={type:"audio"};t.id=this.audio_track_.id,t.timescale=1e3,t.duration=this.duration_;let i="";if("aac"===this.audio_metadata_.codec){let s="aac"===e.codec?e.data:null,r=new Zh(s);t.audioSampleRate=r.sampling_rate,t.audioSampleRateIndex=r.sampling_index,t.channelCount=r.channel_count,t.codec=r.codec_mimetype,t.originalCodec=r.original_codec_mimetype,t.config=r.config,t.refSampleDuration=1024/t.audioSampleRate*t.timescale,i=Ft;const a=Zr({profile:this.player._opt.mseDecodeAudio?r.object_type:r.original_object_type,sampleRate:t.audioSampleRateIndex,channel:t.channelCount});console.error("aacADTSHeader",`profile: ${r.object_type}, sampleRate: ${t.audioSampleRateIndex}, channel: ${t.channelCount}`),this._doDecodeByTs(a,Ve,0,!1,0)}else"ac-3"===this.audio_metadata_.codec||"ec-3"===this.audio_metadata_.codec||"opus"===this.audio_metadata_.codec||"mp3"===this.audio_metadata_.codec&&(t.audioSampleRate=this.audio_metadata_.sample_rate,t.channelCount=this.audio_metadata_.channel_count,t.codec="mp3",t.originalCodec="mp3",t.config=void 0,i=Ot);0==this.audio_init_segment_dispatched_&&this.player.debugLog(this.TAG_NAME,`Generated first AudioSpecificConfig for mimeType: ${t.codec}`),this.audio_init_segment_dispatched_=!0,this.video_metadata_changed_=!1;let s=this.media_info_;s.hasAudio=!0,s.audioCodec=t.originalCodec,s.audioSampleRate=t.audioSampleRate,s.audioChannelCount=t.channelCount,s.hasVideo&&s.videoCodec?s.mimeType=`video/mp2t; codecs="${s.videoCodec},${s.audioCodec}"`:s.mimeType=`video/mp2t; codecs="${s.audioCodec}"`,i&&this.player.audio.updateAudioInfo({encTypeCode:i,channels:t.channelCount,sampleRate:t.audioSampleRate})}dispatchPESPrivateDataDescriptor(e,t,i){}parsePESPrivateDataPayload(e,t,i,s,r){let a=new Yh;if(a.pid=s,a.stream_id=r,a.len=e.byteLength,a.data=e,null!=t){let e=Math.floor(t/this.timescale_);a.pts=e}else a.nearest_pts=this.getNearestTimestampMilliseconds();if(null!=i){let e=Math.floor(i/this.timescale_);a.dts=e}}parseTimedID3MetadataPayload(e,t,i,s,r){this.player.debugLog(this.TAG_NAME,`Timed ID3 Metadata: pid=${s}, pts=${t}, dts=${i}, stream_id=${r}`)}parseSynchronousKLVMetadataPayload(e,t,i,s,r){this.player.debugLog(this.TAG_NAME,`Synchronous KLV Metadata: pid=${s}, pts=${t}, dts=${i}, stream_id=${r}`)}parseAsynchronousKLVMetadataPayload(e,t,i){this.player.debugLog(this.TAG_NAME,`Asynchronous KLV Metadata: pid=${t}, stream_id=${i}`)}parseSMPTE2038MetadataPayload(e,t,i,s,r){this.player.debugLog(this.TAG_NAME,`SMPTE 2038 Metadata: pid=${s}, pts=${t}, dts=${i}, stream_id=${r}`)}getNearestTimestampMilliseconds(){if(null!=this.audio_last_sample_pts_)return Math.floor(this.audio_last_sample_pts_);if(null!=this.last_pcr_){return Math.floor(this.last_pcr_/300/this.timescale_)}}_preDoDecode(){const e=this.video_track_,t=this.audio_track_;let i=e.samples;t.samples.length>0&&(i=e.samples.concat(t.samples),i=i.sort(((e,t)=>e.dts-t.dts))),i.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,e.type===ze?this._doDecodeVideo({...e,payload:t}):e.type===Ve&&this._doDecodeAudio({...e,payload:t})})),e.samples=[],e.length=0,t.samples=[],t.length=0}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?yl(t,e.isIFrame):sl(t,e.isIFrame),this.player.updateStats({dts:e.dts,vbps:i.byteLength}),e.isIFrame&&this.calcIframeIntervalTimestamp(e.dts);let s=this.cryptoPayload(i,e.isIFrame);this._doDecodeByTs(s,ze,e.dts,e.isIFrame,e.cts)}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this.player.updateStats({abps:t.byteLength});let i=this.cryptoPayloadAudio(t);this._doDecodeByTs(i,Ve,e.dts,!1,0)}getInputByteLength(){return this._remainingPacketData&&this._remainingPacketData.byteLength||0}_getPcrBase(e){let t=33554432*e[6]+131072*e[7]+512*e[8]+2*e[9]+(128&e[10])/128+this.timestamp_offset_;return t+4294967296>>3&3,r=(6&t[1])>>1,a=(240&t[2])>>>4,o=(12&t[2])>>>2,n=3!==(t[3]>>>6&3)?2:1,l=0,d=0;switch(s){case 0:l=nc[o];break;case 2:l=oc[o];break;case 3:l=ac[o]}switch(r){case 1:a{this._clearAudioSourceBufferCheckTimeout(),this.player.emit(wt.webcodecsAudioInitTimeout)}),1e3)),void vo(e);if(this.player.isPlayer())this.player.updateStats({dfps:!0}),this.player._times.videoStart||(this.player._times.videoStart=_a(),this.player.handlePlayToRenderTimes()),this.player.video.render({videoFrame:e,ts:e.timestamp}),this.player.handleRender();else if(this.player.isPlayback())this.player.updateStats({dfps:!0}),Io(this.player.playbackPause)?(this.player.playback.isUseLocalCalculateTime&&this.player.playback.increaseLocalTimestamp(),this.player.playback.isUseFpsRender?this.player.video.pushData({videoFrame:e,ts:e.timestamp}):this.player.video.render$2({videoFrame:e,ts:e.timestamp})):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player.playback.isUseFpsRender&&this.player.video.pushData({videoFrame:e,ts:e.timestamp});else if(this.player.isPlayVod())if(this.player.playVod.isSeeking()){const t=this.player.playVod.seekingTimestamp;Math.abs(t-e.timestamp)<500&&(this.player.playVod.removeSeekingTimestamp(),this.player.updateStats({dfps:!0}),this.player.video.render$2({videoFrame:e,ts:e.timestamp}))}else this.player.updateStats({dfps:!0}),this.player.video.render$2({videoFrame:e,ts:e.timestamp})}}handleError(e){this.player.debugError(this.TAG_NAME,"VideoDecoder handleError:",e.code,e);const t=e.toString();-1!==t.indexOf(bs)?this.player.emitError(wt.webcodecsUnsupportedConfigurationError,t):-1!==t.indexOf(vs)||-1!==t.indexOf(_s)||-1!==t.indexOf(Ss)?this.player.emitError(wt.webcodecsDecodeError,t):-1!==t.indexOf(ws)&&this.player.emitError(wt.webcodecsH265NotSupport,t)}handleDecodeAudio(e){this.player&&(this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"decodeVideo() player is destroyed"):this.player.isPlayer()?this.player.audio.play(e,e.timestamp):this.player.isPlayback()||this.player.isPlayVod()&&(this.player.playVod.isSeeking()||this.player.audio.play(e,e.timestamp)))}handleErrorAudio(e){this.player.debugError(this.TAG_NAME,"AudioDecoder handleError:",e.code,e)}decodeVideo(e,t,i,s){if(this.player)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeVideo() player is destroyed");else if(this.hasInit)if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){if(this.isDecodeStateClosed())return void this.player.debugWarn(this.TAG_NAME,"VideoDecoder isDecodeStateClosed true");if(i&&0===e[1]){const t=15&e[0];let i={};if(t===Pt){i=tl(e.slice(5))}else t===It&&(i=pl(e));const s=this.player.video.videoInfo;s&&s.width&&s.height&&i&&i.codecWidth&&i.codecHeight&&(i.codecWidth!==s.width||i.codecHeight!==s.height)&&(this.player.debugWarn(this.TAG_NAME,`decodeVideo: video width or height is changed,\n old width is ${s.width}, old height is ${s.height},\n new width is ${i.codecWidth}, new height is ${i.codecHeight},\n and emit change event`),this.isWidthOrHeightChanged=!0,this.player.emitError(wt.wcsWidthOrHeightChange,`width ${s.width}->${s.height} height ${i.codecWidth}->${i.codecHeight}`))}if(this.isWidthOrHeightChanged)return void this.player.debugWarn(this.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(Ro(e))return void this.player.debugLog(this.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength<12)return void this.player.debugWarn(this.TAG_NAME,`decodeVideo and payload is too small , payload length is ${e.byteLength}`);let s=!1,r=(new Date).getTime();this.prevTimestamp||(this.prevTimestamp=r,s=!0);const a=r-this.prevTimestamp;this.decodeDiffTimestamp=a,a>500&&!s&&this.player.isPlayer()&&this.player.debugWarn(this.TAG_NAME,"decodeVideo diff time is ",a);const o=e.slice(5),n=new EncodedVideoChunk({data:o,timestamp:t,type:i?Si:wi});this.player.emit(vt.timeUpdate,t);try{this.decoder.decode(n)}catch(e){this.player.debugError(this.TAG_NAME,"VideoDecoder",e);const t=e.toString();(-1!==t.indexOf(ys)||-1!==t.indexOf(As))&&this.player.emitError(wt.webcodecsDecodeError,t)}this.prevTimestamp=(new Date).getTime()}else this.player.debugLog(this.TAG_NAME,"VideoDecoder first frame is not iFrame");else if(i&&e[1]===Rs){const t=15&e[0];if(this.player.video.updateVideoInfo({encTypeCode:t}),t===It&&!Va()){const e=Pa();return this.player.debugWarn(this.TAG_NAME,"WebcodecsDecoder not support hevc decode",e.type,e.version),void this.player.emitError(wt.webcodecsH265NotSupport)}this.player._times.decodeStart||(this.player._times.decodeStart=_a());let i=null,s=null;const r=e.slice(5);if(t===Pt?(s=tl(r),i={codec:s.codec,description:r}):t===It&&(s=ml(r),i={codec:s.codec,description:r}),!i||i&&!i.codec||s&&0===s.codecWidth&&0===s.codecHeight)return this.player.debugWarn(this.TAG_NAME,"decodeVideo and webcodecs configure is",JSON.stringify(i)),void this.player.emitError(wt.webcodecsDecodeConfigureError,"configure or configure.code is null");i.codedHeight=s.codecHeight,i.codedWidth=s.codecWidth,this.isInitInfo||(this.player.debugLog(this.TAG_NAME,`updateVideoInfo: ${s.codecWidth},${s.codecHeight}`),this.player.video.updateVideoInfo({width:s.codecWidth,height:s.codecHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0),this.player.recorder&&this.player._opt.recordType===T&&this.player.recorder.initMetaData(e,t),this.player.video.bindMediaStream(),this.player.debugLog(this.TAG_NAME,`decoder.configure() and codec is ${i.codec}`);try{i.optimizeForLatency=!0,i.hardwareAcceleration="prefer-hardware",this.decoder.configure(i),this.hasInit=!0}catch(e){this.player.debugError(this.TAG_NAME,"configure error",e.code,e);const t=e.toString();-1!==t.indexOf(ws)?this.player.emitError(wt.webcodecsH265NotSupport,t):this.player.emitError(wt.webcodecsDecodeConfigureError,t)}}else this.player.debugWarn(this.TAG_NAME,`decodeVideo has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)}decodeAudio(e,t){if(this.player)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeAudio() player is destroyed");else if(this.hasAudioInit){if(ea(e))return void this.player.debugLog(this.TAG_NAME,"decodeAudio and has already initialized and payload is aac codec packet so drop this frame");if(this._clearAudioNoDataCheckTimeout(),this.isDecodeFirstIIframe){if(this.isAudioDecodeStateClosed())return void this.player.debugWarn(this.TAG_NAME,"AudioDecoder isDecodeStateClosed true");const i=this.isAAC?e.slice(2):e.slice(1),s=i.length/this.player.audio.audioInfo.sampleRate*1e3,r=new EncodedAudioChunk({type:"key",data:i,timestamp:t,duration:parseInt(s,10)});try{this.decoderAudio.decode(r)}catch(e){this.player.debugError(this.TAG_NAME,"AudioDecoder",e),e.toString()}}}else{const t=e[0]>>4,i=e[0]>>1&1,s=t===Ot,r=t===Ft,a=t===Ut;let o="";o=r?i?16:8:0===i?8:16;const n={codec:"",numberOfChannels:"",sampleRate:""};let l=null;if(r||s){let t=null;if(ea(e)){const i=e.slice(2);t=aa(i),t&&(n.codec=t.originalCodec,n.numberOfChannels=t.channelCount,n.sampleRate=t.sampleRate),l=i,this.isAAC=r}else s&&(t=cc(e),t&&(n.codec=Ur,n.numberOfChannels=t.channelCount,n.sampleRate=t.samplingRate))}else n.codec=a?Fr:Mr,n.numberOfChannels=1,n.sampleRate=8e3;if(n.codec&&n.numberOfChannels&&n.sampleRate){this.isAudioInitInfo||(this.player.audio.updateAudioInfo({encTypeCode:t,channels:n.numberOfChannels,sampleRate:n.sampleRate,depth:o}),this.isAudioInitInfo=!0),this.player.recorder&&this.player._opt.recordType===T&&l&&this.player.recorder.initAudioAacExtraData(l),this.player.debugLog(this.TAG_NAME,`decoderAudio.configure() and codec is ${n.codec}`);try{this.decoderAudio.configure(n),this._clearAudioSourceBufferCheckTimeout(),this.hasAudioInit=!0,null===this.audioSourceNoDataCheckTimeout&&(this.audioSourceNoDataCheckTimeout=setTimeout((()=>{this._clearAudioNoDataCheckTimeout(),this.player.emit(wt.webcodecsAudioNoDataTimeout)}),1e3))}catch(e){this.player.debugError(this.TAG_NAME,"configure audio error",e.code,e),e.toString()}}}}updateMediaSourceDuration(e){this.mediaSource&&(this.mediaSource.duration=e)}_clearAudioSourceBufferCheckTimeout(){this.audioSourceBufferCheckTimeout&&(clearTimeout(this.audioSourceBufferCheckTimeout),this.audioSourceBufferCheckTimeout=null)}_clearAudioNoDataCheckTimeout(){this.audioSourceNoDataCheckTimeout&&(clearTimeout(this.audioSourceNoDataCheckTimeout),this.audioSourceNoDataCheckTimeout=null)}getDecodeDiffTimes(){return this.decodeDiffTimestamp}isDecodeStateClosed(){return"closed"===this.decoder.state}isDecodeStateConfigured(){return"configured"===this.decoder.state}isDecodeStateUnConfigured(){return"unconfigured"===this.decoder.state}isAudioDecodeStateClosed(){return"closed"===this.decoderAudio.state}isAudioDecodeStateConfigured(){return"configured"===this.decoderAudio.state}isAudioDecodeStateUnConfigured(){return"unconfigured"===this.decoderAudio.state}}const pc={play:"播放",pause:"暂停",audio:"",mute:"",screenshot:"截图",loading:"",fullscreen:"全屏",fullscreenExit:"退出全屏",record:"录制",recordStop:"停止录制",narrow:"缩小",expand:"放大",ptz:"操作盘",ptzActive:"操作盘激活",zoom:"电子放大",zoomStop:"关闭电子放大",close:"关闭",performance:"性能面板",performanceActive:"性能面板激活",face:"人脸识别",faceActive:"人脸识别激活",object:"物品识别",objectActive:"物品识别激活",occlusion:"遮挡物检查",occlusionActive:"遮挡物检查激活",logSave:"保存日志"};var mc=Object.keys(pc).reduce(((e,t)=>(e[t]=`\n \n ${pc[t]?`${pc[t]}`:""}\n`,e)),{});function gc(e,t){let i=!1;return e.forEach((e=>{i||e.startTimestamp<=t&&e.endTimestamp>t&&(i=!0)})),i}function fc(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0;const s=e.length,r=t.length,a=Math.max(s,r),o=2e3,n=Math.ceil(a/o);let l=0,d=0;function h(){let r="",a="";for(let i=0;i\n ${i.title}\n

      \n `);const o=t[d];o&&(a+=`\n
      ${o.title}
      \n `),d+=1}r&&i.$playbackTimeListOne.insertAdjacentHTML("beforeend",r),a&&i.$playbackTimeListSecond.insertAdjacentHTML("beforeend",a),l+=1,l0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<1440;s++){const r=s%60==0;let a=!1;i&&(a=gc(e,ro(i,s))),t.push({title:io(s),timestamp:s,dataType:"min",hasRecord:a,isStart:r})}return t}(e);fc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00";t<10&&(i="0"+i),e.push({title:i,hour:t,min:0,second:0})}return e}(),t)}function Ac(e,t){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<1440;s++){let r=60*s,a=r%1800==0,o=!1;i&&(o=gc(e,ao(i,r))),t.push({title:so(r),timestamp:r,dataType:"second",hasRecord:o,isStart:a});let n=60*s+30;a=n%1800==0,i&&(o=gc(e,ao(i,n))),t.push({title:so(n),timestamp:n,dataType:"second",hasRecord:o,isStart:a})}return t}(e);fc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00",s=t+":30";t<10&&(i="0"+i,s="0"+s),e.push({title:i,hour:t,min:0,second:0}),e.push({title:s,hour:t,min:30,second:0})}return e}(),t)}function bc(e,t){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<144;s++)for(let r=0;r<60;r++){let a=10*r+600*s,o=a%600==0,n=!1;i&&(n=gc(e,ao(i,a))),t.push({title:so(a),timestamp:a,dataType:"second",isStart:o,hasRecord:n})}return t}(e);fc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00";t<10&&(i="0"+i),e.push({title:i,hour:t,min:0,second:0});for(let s=1;s<6;s++){let r=s+"0";e.push({title:i.replace(":00",":"+r),hour:t,min:10*s,second:0})}}return e}(),t)}function vc(e,t){const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];const i=(e[0]||{}).startTimestamp;for(let s=0;s<288;s++)for(let r=0;r<60;r++){let a=5*r+300*s,o=a%300==0,n=!1;i&&(n=gc(e,ao(i,a))),t.push({title:so(a),timestamp:a,dataType:"second",isStart:o,hasRecord:n})}return t}(e);fc(i,function(){let e=[];for(let t=0;t<24;t++){let i=t+":00";t<10&&(i="0"+i),e.push({title:i,hour:t,min:0,second:0}),e.push({title:i.replace(":00",":05"),hour:t,min:5,second:0});for(let s=1;s<6;s++){let r=s+"0",a=s+"5";e.push({title:i.replace(":00",":"+r),hour:t,min:10*s,second:0}),e.push({title:i.replace(":00",":"+a),hour:t,min:10*s+5,second:0})}}return e}(),t)}function _c(e){const t=Math.floor(e/3600),i=Math.floor((e-3600*t)/60),s=Math.floor(e-3600*t-60*i);return(t>0?[t,i,s]:[i,s]).map((e=>e<10?`0${e}`:String(e))).join(":")}function Sc(e,t,i){const s=e.$playbackProgress,{left:r}=s.getBoundingClientRect(),a=Sa((Ca()?i.touches[0].clientX:i.pageX)-r,0,s.clientWidth),o=parseInt(a/s.clientWidth*t,10);return{second:o,time:_c(o),width:a,percentage:Sa(a/s.clientWidth,0,1)}}function wc(e,t){return Sa(e/t,0,1)}function Ec(e,t){return e.classList.add(t)}function Tc(e,t){return e.classList.remove(t)}function kc(e,t){return e.classList.contains(t)}function Lc(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML("beforeend",String(t)),e.lastElementChild||e.lastChild}function Cc(e,t,i){return e&&e.style&&Ka(t)&&(e.style[t]=i),e}function xc(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function Dc(e){let t=!1;return e&&e.parentNode&&(e.parentNode.removeChild(e),t=!0),t}var Rc=(e,t)=>{const{events:{proxy:i}}=e;let s=null,r=null,a=null,o=null;if(e._opt.listenWindowResizeAuoResize){s=document.createElement("object"),r=`jb-pro-object-${Lo()}`,s.setAttribute("aria-hidden","true"),s.setAttribute("tabindex",-1),s.setAttribute("id",r),s.type="text/html",s.data="about:blank",wa(s,{display:"block",position:"absolute",top:"0",left:"0",height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:"-1"}),a=e.width,o=e.height;const t=Na((()=>{e.width===a&&e.height===o||(a=e.width,o=e.height,e.emit(vt.resize))}),500);i(s,"load",(()=>{i(s.contentDocument.defaultView,"resize",(()=>{t()}))})),e.$container.appendChild(s)}e.on(vt.destroy,(()=>{if(s)try{if(!Dc(s)){const t=e.$container.querySelector(`#${r}`);t&&e.$container&&e.$container.removeChild(t)}}catch(e){}d&&(clearInterval(d),d=null),h=null,c=null,u=0,s=null,r=null,a=null,o=null})),e.on(vt.volumechange,(()=>{!function(e){if(0===e)wa(t.$volumeOn,"display","none"),wa(t.$volumeOff,"display","flex"),wa(t.$volumeHandle,"top","48px");else if(t.$volumeHandle&&t.$volumePanel){const i=Ea(t.$volumePanel,"height")||60,s=Ea(t.$volumeHandle,"height"),r=i-(i-s)*e-s;wa(t.$volumeHandle,"top",`${r}px`),wa(t.$volumeOn,"display","flex"),wa(t.$volumeOff,"display","none")}t.$volumePanelText&&(t.$volumePanelText.innerHTML=parseInt(100*e))}(e.volume)})),e.on(vt.loading,(i=>{t.isInitPlayer=!1,wa(t.$loading,"display",i?"flex":"none"),(Io(e._opt.backgroundLoadingShow)&&Po(i)||Io(i))&&wa(t.$poster,"display","none"),i&&(wa(t.$playBig,"display","none"),wa(t.$tipsMessage,"display","none"),t.extendBtnList.forEach((e=>{e.createdMoment===jr&&(e.$iconWrap&&wa(e.$iconWrap,"display","flex"),e.$activeIconWrap&&wa(e.$activeIconWrap,"display","none"))}))),i||e._opt.extendDomConfig.showAfterLoading&&t.$extendDom&&wa(t.$extendDom,"display","block"),i||e.getRenderType()===q&&Io(e._opt.useMSE)&&n()})),e.on(vt.removeLoadingBgImage,(()=>{n()}));const n=()=>{t.$loadingBgImage&&t.$loadingBg&&t.$loadingBgImage.src&&(e.debugLog("Control","remove loading bg image"),t.$loadingBgImage.width=0,t.$loadingBgImage.height=0,t.$loadingBgImage.src="",wa(t.$loadingBg,"display","none"))},l=t=>{po(t)===e.$container&&(e.fullscreen,m(),e._opt.androidMobileFullscreenRotate&&Ca()&&(e.fullscreen?(e.$container.classList.add("jb-pro-fullscreen-android-rotate"),e.setRotate(270)):(e.$container.classList.remove("jb-pro-fullscreen-android-rotate"),e.setRotate(0)),p()))};let d=null,h=null,c=null,u=0;const p=()=>{h=e.rect,h.width=parseInt(h.width,10),h.height=parseInt(h.height,10),u=0,d=setInterval((()=>{const t=qr.isFullscreen;c=e.rect,c.width=parseInt(c.width,10),c.height=parseInt(c.height,10);const i=screen.width,s=screen.height,r=c.width===h.width&&c.height===h.height,a=!t||i-c.width<10&&s-c.height<10;if(r&&a||u>=5)return d&&(clearInterval(d),d=null),void f((()=>{A()}));h=c,u++}),1e3)},m=i=>{if(Io(e.isPlaying()))return;let s=qa(i)?i:e.fullscreen;wa(t.$fullscreenExit,"display",s?"flex":"none"),wa(t.$fullscreen,"display",s?"none":"flex")},g=()=>e._opt.playType===w&&e._opt.playbackConfig.showControl,f=i=>{Ca()&&t.$controls&&(e._opt.useWebFullScreen||e._opt.androidMobileFullscreenRotate)&&setTimeout((()=>{if(e.fullscreen){const i=e.getControlHeight();let s=e.height/2-e.width+i/2,r=e.height/2-i/2;if(t.$controls.style.transform=`translateX(${-s}px) translateY(-${r}px) rotate(-90deg)`,t.$zoomControls){const i=156,s=30,r=e.width/2+i/2-s/2;t.$zoomControls.style.transform=`translateX(${-r}px) translateY(${e.height/2}px) rotate(-90deg)`}if(t.$recording){const i=101,s=20,r=e.width/2+i/2-s/2;t.$recording.style.transform=`translateX(${-r}px) translateY(${e.height/2}px) rotate(-90deg)`}t.$ptzControl&&(t.$ptzControl.style.transform="rotate(-90deg)")}else t.$controls.style.transform="translateX(0) translateY(0) rotate(0)",t.$zoomControls&&(t.$zoomControls.style.transform="translateX(-50%) translateY(0) rotate(0)"),t.$recording&&(t.$recording.style.transform="translateX(-50%) translateY(0) rotate(0)"),t.$ptzControl&&(t.$ptzControl.style.transform="rotate(0)");i&&i()}),10)};try{qr.on("change",l),e.events.destroys.push((()=>{qr.off("change",l)}))}catch(e){}e.on(vt.webFullscreen,(e=>{Ca()&&(m(e),f((()=>{A()})))})),e.on(vt.recording,(()=>{e.playing&&(wa(t.$record,"display",e.recording?"none":"flex"),wa(t.$recordStop,"display",e.recording?"flex":"none"),(e._opt.hasControl||e._opt.isShowRecordingUI)&&(wa(t.$recording,"display",e.recording?"flex":"none"),Io(e.recording)&&t.$recordingTime&&(t.$recordingTime.innerHTML=to(0))))})),e.on(vt.recordingTimestamp,(e=>{t.$recordingTime&&(t.$recordingTime.innerHTML=to(e))})),e.on(vt.zooming,(()=>{e.playing&&(wa(t.$zoom,"display",e.zooming?"none":"flex"),wa(t.$zoomStop,"display",e.zooming?"flex":"none"),(e._opt.hasControl||e._opt.isShowZoomingUI)&&wa(t.$zoomControls,"display",e.zooming?"flex":"none"))})),e.on(vt.playing,(e=>{y(e)}));const y=i=>{i?(wa(t.$play,"display","none"),wa(t.$playBig,"display","none")):(e.isPlayFailedAndPaused&&Io(e._opt.playFailedAndPausedShowPlayBtn)?(wa(t.$play,"display","none"),wa(t.$playBig,"display","none")):(wa(t.$play,"display","flex"),wa(t.$playBig,"display","block")),e.isPlayVod()&&e._opt.playVodEndedAndShowPlayBtn&&e.playVod.isEnded()&&(wa(t.$play,"display","flex"),wa(t.$playBig,"display","block"))),wa(t.$pause,"display",i?"flex":"none"),wa(t.$screenshot,"display",i?"flex":"none"),wa(t.$record,"display",i?"flex":"none"),wa(t.$qualityMenu,"display",i?"flex":"none"),wa(t.$volume,"display",i?"flex":"none"),wa(t.$ptz,"display",i?"flex":"none"),wa(t.$zoom,"display",i?"flex":"none"),wa(t.$scaleMenu,"display",i?"flex":"none"),wa(t.$faceDetect,"display",i?"flex":"none"),wa(t.$objectDetect,"display",i?"flex":"none"),wa(t.$occlusionDetect,"display",i?"flex":"none"),wa(t.$controlHtml,"display",i?"flex":"none"),(e.isPlayback()||e.isPlayVod())&&wa(t.$speedMenu,"display",i?"flex":"none"),m(),t.extendBtnList.forEach((e=>{e.createdMoment===Gr&&(e.$iconWrap&&wa(e.$iconWrap,"display",i?"flex":"none"),e.$activeIconWrap&&wa(e.$activeIconWrap,"display","none"))})),e._opt.showPerformance?wa(t.$performanceActive,"display",i?"flex":"none"):(wa(t.$performance,"display",i?"flex":"none"),wa(t.$performanceActive,"display","none")),wa(t.$poster,"display","none"),wa(t.$ptzActive,"display","none"),wa(t.$recordStop,"display","none"),wa(t.$zoomStop,"display","none"),wa(t.$faceDetectActive,"display","none"),wa(t.$objectDetectActive,"display","none"),i||(t.$speed&&(t.$speed.innerHTML=function(e){if(null==e||""===e)return"0 KB/s";let t=parseFloat(e);return t=t.toFixed(2),t+"KB/s"}("")),wa(t.$zoomControls,"display","none"),wa(t.$recording,"display","none"),t.$ptzControl&&t.$ptzControl.classList.remove("jb-pro-ptz-controls-show")),A(),i&&b()};e.isPlayback()&&e.on(vt.playbackPause,(e=>{y(!e)})),e.on(vt.kBps,(i=>{const s=function(e){if(null==e||""===e||0===parseFloat(e)||"NaN"===e)return"0 KB/s";const t=["KB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"];let i=0;const s=parseFloat(e/8);i=Math.floor(Math.log(s)/Math.log(1024));let r=s/Math.pow(1024,i);return r=r.toFixed(2),r+(t[i]||t[0])}(i);t.kbpsShow=s,e._opt.showBandwidth&&(t.$speed&&(t.$speed.innerHTML=s),A())}));const A=()=>{if(g()&&e._opt.playbackConfig.controlType===ee.normal){let i=t.controlsInnerRect.width-t.controlsLeftRect.width-t.controlsRightRect.width-t.controlsPlaybackBtnsRect.width;Ca()&&e.webFullscreen&&(i=t.controlsInnerRect.height-t.controlsLeftRect.height-t.controlsRightRect.height-t.controlsPlaybackBtnsRect.height),t.$playbackTimeInner.style.width=i+"px"}},b=()=>{if(!g()||e._opt.playbackConfig.controlType!==ee.normal)return;const i=t.$playbackCurrentTime.style.left;let s=parseInt(i,10);const r=t.controlsPlaybackTimeInner.width;s=s-r/2>0?parseInt(s-r/2,10):0,t.$playbackTimeInner.scrollLeft=s};if(g()){const i=()=>{if(g()){let i=0;const s=e.playback&&e.playback.playingTimestamp;if(s){const r=new Date(s),a=r.getHours(),o=r.getMinutes(),n=r.getSeconds();e.playback.is60Min?i=60*a+o:e.playback.is30Min?i=2*(60*a+o)+parseInt(n/30,10):e.playback.is10Min?i=6*(60*a+o)+parseInt(n/10,10):e.playback.is5Min?i=12*(60*a+o)+parseInt(n/5,10):e.playback.is1Min&&(i=60*(60*a+o)+parseInt(n,10)),t.$playbackCurrentTime.style.left=i+"px"}}},s=e=>{t.$playbackNarrow.classList.remove("disabled"),t.$playbackExpand.classList.remove("disabled"),e===Fi&&t.$playbackNarrow.classList.add("disabled"),e===Ni&&t.$playbackExpand.classList.add("disabled")};e.on(vt.playbackTime,(s=>{if(e._opt.playbackConfig.controlType===ee.normal)t.$playbackCurrentTimeText&&(t.$playbackCurrentTimeText.innerText=Ma(s,"{h}:{i}:{s}")),i();else if(e._opt.playbackConfig.controlType===ee.simple){const i=wc(s,e.playback.totalDuration);t.$playbackProgressPlayed.style.width=100*i+"%",t.$playbackProgressIndicator.style.left=`calc(${100*i}% - 7px)`,t.$playbackProgressTime.innerText=`${_c(s)} / ${_c(e.playback.totalDuration)}`}})),e.on(vt.playbackPrecision,((r,a)=>{g()&&e._opt.playbackConfig.controlType===ee.normal&&(t.$playbackTimeScroll.classList.remove(ji.oneHour,ji.halfHour,ji.fiveMin,ji.tenMin),t.$playbackTimeScroll.classList.add(ji[r]),t.rafId&&(window.cancelAnimationFrame(t.rafId),t.rafId=null),t.changePercisitionInterval&&(clearTimeout(t.changePercisitionInterval),t.changePercisitionInterval=null),t.$playbackTimeListOne.innerHTML="",t.$playbackTimeListSecond.innerHTML="",t.changePercisitionInterval=setTimeout((()=>{switch(t.$playbackTimeListOne.innerHTML="",t.$playbackTimeListSecond.innerHTML="",r){case Fi:yc(a,t);break;case Ui:Ac(a,t);break;case Oi:bc(a,t);break;case Ni:vc(a,t)}i(),e._opt.playbackConfig.showPrecisionBtn&&s(r),b()}),16))})),e.on(vt.resize,(()=>{f((()=>{A()}))})),e.on(vt.playbackTimeScroll,(()=>{b()})),A()}if(e.isPlayVod()&&(e.on(vt.playVodPause,(e=>{y(!e)})),e.on(vt.playVodTime,(i=>{const s=wc(i,e.playVod.totalDuration);t.$playbackProgressPlayed.style.width=100*s+"%",t.$playbackProgressIndicator.style.left=`calc(${100*s}% - 7px)`,t.$playbackProgressTime.innerText=`${_c(i)} / ${_c(e.playVod.totalDuration)}`})),e.on(vt.playVodTimeCache,(e=>{t.$playbackProgressCache.style.width=100*e+"%"})),e.on(vt.playVodWaiting,(()=>{wa(t.$loading,"display","flex")})),e.on(vt.playVodCanplay,(()=>{wa(t.$loading,"display","none")})),e.on(vt.playVodSeek,(()=>{wa(t.$loading,"display","flex")})),e.on(vt.playVodSeekEnd,(()=>{wa(t.$loading,"display","none")})),e.on(vt.playVodEnded,(()=>{t.$playbackProgressPlayed.style.width="100%",t.$playbackProgressIndicator.style.left="calc(100% - 7px)",t.$playbackProgressTime.innerText=`${_c(e.playVod.totalDuration)} / ${_c(e.playVod.totalDuration)}`}))),e._opt.operateBtns.quality&&e._opt.qualityConfig.length>0){e.on(vt.streamQualityChange,(e=>{i(e)}));const i=e=>{t.$qualityText.innerText=e,t.$qualityMenuItems.forEach((t=>{const i=t.dataset.quality;t.classList.remove("jb-pro-quality-menu-item-active"),i===e&&t.classList.add("jb-pro-quality-menu-item-active")}))};(()=>{const i=e._opt.qualityConfig||[];let s="";i.forEach((e=>{s+=`\n
      ${e}
      \n `})),s&&(t.$qualityMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$qualityMenuItems",{value:e.$container.querySelectorAll(".jb-pro-quality-menu-item")}))})(),e.streamQuality&&i(e.streamQuality)}if(e._opt.operateBtns.scale&&e._opt.scaleConfig.length>0){e.on(vt.viewResizeChange,(e=>{i(e)}));const i=i=>{const s=e._opt.scaleConfig[i];t.$scaleText.innerText=s,t.$scaleMenuItems.forEach((e=>{const t=e.dataset.scale;e.classList.remove("jb-pro-scale-menu-item-active"),Ua(t)===Ua(i)&&e.classList.add("jb-pro-scale-menu-item-active")}))};(()=>{const i=e._opt.scaleConfig||[];let s="";i.forEach(((e,t)=>{s+=`\n
      ${e}
      \n `})),s&&(t.$scaleMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$scaleMenuItems",{value:e.$container.querySelectorAll(".jb-pro-scale-menu-item")}))})(),i(e.scaleType)}if(e.isPlayback()&&e._opt.playbackConfig.showRateBtn&&e._opt.playbackConfig.rateConfig.length>0){e.on(vt.playbackRateChange,(e=>{i(e)}));const i=i=>{const s=e._opt.playbackConfig.rateConfig.find((e=>Ua(e.value)===Ua(i)));s&&(t.$speedText.innerText=s.label,t.$speedMenuItems.forEach((e=>{const t=e.dataset.speed;e.classList.remove("jb-pro-speed-menu-item-active"),Ua(t)===Ua(i)&&e.classList.add("jb-pro-speed-menu-item-active")})))};(()=>{const i=e._opt.playbackConfig.rateConfig;let s="";i.forEach(((e,t)=>{s+=`\n
      ${e.label}
      \n `})),s&&(t.$speedMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$speedMenuItems",{value:e.$container.querySelectorAll(".jb-pro-speed-menu-item")}))})();const s=e.playback?e.playback.playbackRate:1;i(s)}if(e.isPlayVod()&&e._opt.playVodConfig.showRateBtn&&e._opt.playVodConfig.rateConfig.length>0){e.on(vt.playVodRateChange,(e=>{i(e)}));const i=i=>{const s=e._opt.playVodConfig.rateConfig.find((e=>Ua(e.value)===Ua(i)));s&&(t.$speedText.innerText=s.label,t.$speedMenuItems.forEach((e=>{const t=e.dataset.speed;e.classList.remove("jb-pro-speed-menu-item-active"),Ua(t)===Ua(i)&&e.classList.add("jb-pro-speed-menu-item-active")})))};(()=>{const i=e._opt.playVodConfig.rateConfig;let s="";i.forEach(((e,t)=>{s+=`\n
      ${e.label}
      \n `})),s&&(t.$speedMenuList.insertAdjacentHTML("beforeend",s),Object.defineProperty(t,"$speedMenuItems",{value:e.$container.querySelectorAll(".jb-pro-speed-menu-item")}))})();const s=e.playVod?e.playVod.playbackRate:1;i(s)}e.on(vt.stats,(function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e._opt.showPerformance){wa(t.$performancePanel,"display","block"),t.$performancePanel.innerHTML="";const s=La,r=No(),a=e.getCpuLevel(),o=Ka(a)&&-1!==a?`${hr[a]}`:"",n=e.video&&e.video.videoInfo||{},l=e.audio&&e.audio.audioInfo||{},d=e._times||{},h=e.getRenderType(),c=e.getCanvasRenderType(),u=e.getDecodeType(),p=e.getDemuxType(),m=e.getStreamType(),g=e.getAudioEngineType();let f=e.getRecordingDuration(),y=e.getRecordingByteLength();const A=e.isAudioPlaybackRateSpeed(),b=e.videoIframeIntervalTs;f=to(f),y=ja(y);const v=e.isPlayback()?"录播":"直播";let _=i.isDropping;const S=e._opt.useMSE&&e._opt.mseDecodeAudio,w=e.control?e.control.kbpsShow:"0 KB/s",E=e.getVideoPlaybackQuality(),T=e._serverInfo||"",k=`\n
      \n 播放器版本 ${s}\n
      \n ${T?`\n
      \n 服务器信息 ${T}\n
      \n `:""}\n ${e._opt.isMulti?`\n
      \n UUid ${e._opt.debugUuid}\n
      \n `:""}\n ${e.isInMulti()?`\n
      \n 窗口下标 ${e._opt.multiIndex}\n
      \n `:""}\n ${r?`\n
      \n 内存大小限制 ${ja(r.jsHeapSizeLimit)}\n
      \n
      \n 可使用的内存 ${ja(r.totalJSHeapSize)}\n
      \n
      \n 已使用的内存 ${ja(r.usedJSHeapSize)}\n
      \n `:""}\n ${o?`\n
      \n CPU压力情况 ${o}\n
      \n `:""}\n\n ${r&&r.usedJSHeapSize>r.totalJSHeapSize?'\n
      \n 可能内存泄漏 是}\n
      \n ':""}\n\n
      \n 播放模式 ${v}\n
      \n ${e.isPlayback()?`\n
      \n 播放倍率 ${e.playback.rate}倍\n
      \n
      \n 播放模式 ${e.playback.isUseFpsRender?"固定FPS":"动态FPS"}\n
      \n ${e.playback.isUseFpsRender?`\n
      \n 固定FPS ${e.video.getStreamFps()}\n
      \n `:""}\n `:""}\n
      \n 解封装模式 ${O[p]}\n
      \n
      \n 解码模式 ${u}\n
      \n
      \n 渲染组件 ${h}\n
      \n ${h===q?`\n
      \n 渲染引擎 ${c}\n
      \n `:""}\n
      \n 网络请求组件 ${m}\n
      \n
      \n 视频格式 ${n.encType||"-"}\n
      \n
      \n 视频(宽x高) ${n.width||"-"}x${n.height||"-"}\n
      \n ${e.isPlayer()?`\n
      \n 视频GOP(ms) ${b||"-"}\n
      \n `:""}\n
      \n 音频格式 ${Nt[l.encType]||"-"}\n
      \n
      \n 音频引擎 ${g||"-"}\n
      \n
      \n 音频通道 ${l.channels||"-"}\n
      \n
      \n 音频采样率 ${l.sampleRate||"-"}\n
      \n ${e.isPlayer()?`\n
      \n 播放器初始化(ms) ${d.playTimestamp}\n
      \n
      \n 开始请求地址(ms) ${d.streamTimestamp}\n
      \n
      \n 请求响应(ms) ${d.streamResponseTimestamp}\n
      \n
      \n 解封装(ms) ${d.demuxTimestamp}\n
      \n
      \n 解码(ms) ${d.decodeTimestamp}\n
      \n
      \n 页面开始渲染(ms) ${d.videoTimestamp}\n
      \n
      \n 初始化到页面渲染(ms) ${d.allTimestamp}\n
      \n ${e.recording?`\n
      \n 视频录制时间 ${f}\n
      \n
      \n 视频录制大小 ${y}\n
      \n `:""}\n `:""}\n
      \n 音频码率(bit) ${i.abps}\n
      \n
      \n 视频码率(bit) ${i.vbps}\n
      \n
      \n 视频帧率(fps) ${i.fps}\n
      \n
      \n 视频峰值帧率(fps) ${i.maxFps}\n
      \n
      \n 解码帧率(fps) ${i.dfps}\n
      \n
      \n 音频缓冲帧 ${i.audioBuffer}\n
      \n
      \n 音频缓冲时长(ms) ${i.audioBufferDelayTs}\n
      \n ${e.isPlayer()?`\n
      \n 视频待解码帧 ${i.demuxBuffer}\n
      \n `:`\n
      \n 缓存时长(ms) ${i.playbackCacheDataDuration}\n
      \n
      \n 视频待渲染帧 ${i.playbackVideoBuffer}\n
      \n
      \n 视频待解码帧 ${i.demuxBuffer}\n
      \n
      \n 音频待解码帧 ${i.audioDemuxBuffer}\n
      \n `}\n
      \n 待解封装数据(byte) ${i.streamBuffer}\n
      \n ${e._opt.useMSE?`\n
      \n MSE缓冲时长(ms) ${i.mseDelay}\n
      \n
      \n MSE待解码帧 ${i.msePendingBuffer}\n
      \n
      \n MSE缓存时长(s) ${i.mseStore}\n
      \n
      \n MSE解码时间(ms) ${i.mseTs}\n
      \n
      \n MSE播放模式 ${i.mseDecodePlaybackRate>1?"加速":"正常"}\n
      \n `:""}\n ${e._opt.useWCS?`\n
      \n WCS解码间隔(ms) ${i.wcsDecodeDiffTimes}\n
      \n `:""}\n ${e.isOldHls()?`
      \n HLS缓冲时长(ms) ${i.hlsDelay}\n
      \n `:""}\n ${e.isUseHls265()?`
      \n HLS缓冲时长(ms) ${i.hlsDelay}\n
      \n
      \n HLS待解码帧 ${i.hlsDemuxLength}\n
      \n
      \n HLS待解码视频帧 ${i.hlsDemuxVideoLength}\n
      \n
      \n HLS待解码音频帧 ${i.hlsDemuxAudioLength}\n
      \n `:""}\n ${e.isPlayer()&&E?`\n
      \n Video已渲染帧 ${E.renderedVideoFrames}\n
      \n
      \n Video已丢弃帧 ${E.droppedVideoFrames}\n
      \n `:""}\n ${e.isPlayer()?`\n
      \n 网络延迟(ms) ${i.netBuf}\n
      \n
      \n 缓冲时长(ms) ${i.buf}\n
      \n
      \n 最新缓冲时长(ms) ${i.pushLatestDelay}\n
      \n `:""}\n ${e._opt.useMSE||e.isWebrtcH264()||e.isAliyunRtc()?`\n
      \n video显示时间(s) ${i.videoCurrentTime}\n
      \n
      \n video间隔时间(s) ${i.videoCurrentTimeDiff}\n
      \n
      \n videoBuffer缓存时间(ms) ${i.mseVideoBufferDelayTime}\n
      \n `:""}\n
      \n 视频显示时间(ms) ${i.currentPts||i.ts}\n
      \n ${e._opt.hasAudio&&e.isAudioNotMute()&&Io(S)?`\n
      \n 音频显示时间(ms) ${i.audioTs}\n
      \n ${e._opt.hasVideo?`\n
      \n 音视频同步时间戳(ms) ${i.audioSyncVideo}\n
      \n `:""}\n
      \n 音频播放模式 ${A?"加速":"正常"}\n
      \n `:""}\n
      \n 视频解码时间(ms) ${i.dts}\n
      \n ${e.isPlayer()?`\n
      \n 解码前-解码后延迟(ms) ${i.delayTs}\n
      \n
      \n 总延迟(网络+解码)(ms) ${i.totalDelayTs}\n
      \n `:""}\n ${e.isPlayer()&&i.isStreamTsMoreThanLocal?'
      \n 是否超过一倍率推流 是\n
      \n ':""}\n ${e.isPlayer()?`\n
      \n 是否播放流畅 ${i.videoSmooth}\n
      \n `:""}\n ${e.isPlayer()?`\n
      \n 是否在丢帧 ${_}\n
      \n `:""}\n
      \n 网速 ${w}\n
      \n
      \n 播放时长(s) ${to(i.pTs)}\n
      \n
      \n `;t.$performancePanel.insertAdjacentHTML("beforeend",k)}else t.$performancePanel.innerHTML="",wa(t.$performancePanel,"display","none")})),e.on(vt.togglePerformancePanel,(e=>{wa(t.$performance,"display",e?"none":"flex"),wa(t.$performanceActive,"display",e?"flex":"none")})),e.on(vt.faceDetectActive,(e=>{wa(t.$faceDetect,"display",e?"none":"flex"),wa(t.$faceDetectActive,"display",e?"flex":"none")})),e.on(vt.objectDetectActive,(e=>{wa(t.$objectDetect,"display",e?"none":"flex"),wa(t.$objectDetectActive,"display",e?"flex":"none")})),e.on(vt.occlusionDetectActive,(e=>{wa(t.$occlusionDetect,"display",e?"none":"flex"),wa(t.$occlusionDetectActive,"display",e?"flex":"none")}))};function Pc(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===i&&s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}Pc('@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@-webkit-keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}@keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}.jb-pro-container video::-webkit-media-controls{display:none!important}.jb-pro-container .jb-pro-icon{cursor:pointer;width:16px;height:16px;display:inline-block}.jb-pro-container .jb-pro-ptz-controls{position:absolute;width:156px;height:156px;visibility:hidden;opacity:0;border-radius:78px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAE4BAMAAAA9UfJZAAAAMFBMVEUAAABHcEy0tLRZWVmysrKoqKi1tbWvr6+2traBgYG1tbWWlpa1tbW1tbVUVFS1tbVGCHqkAAAAD3RSTlMzAO9U3LSWySp3aZcVRDUDw823AAAJYUlEQVR42u3d32sbVxYH8EPHxgg/lBsa7SBkukmpSbwLI2KbEPpgZ5MQtwmM0wRMmgdhP6RgEuwlSVnYlmGMYaEvMU1KKX4QNq0pocVmm7CYfRBaQguFpbgPKRSC/4V2LGliO+bulWKrkvVrftyZ+WbxeTRG+nDnnnNmRjP3EpMR6tMH18du/0Xj1tGz5+9cf/DUlPKx5PsTkr8s3eZ1cX7ym1zkuI/f1wTFunNt9fP+FIno7/98/tFY+Y8ffBUlLrmkl2Cr96guTv27BMxP5iLCqUvi68+tpqhJKPNXBH3SjACnfimm/7Wmsl3fI/FP75lh457oPH+1Da3M+1T8481QcT0T7UetevR618LDPdH4hTlyHLGH3LoZEk6d4PlvyVW8pfNeMwzcDwa/kCKXoTzk9tfB455o1mXyEIOa+0PrFvcFt+fIU8QM/k6guOQifzNFHkN5l/flgsOJVHibfMR9l2nhBqem+VXyFZ/xghkMTp3il8lnDPKiGQROhs2lzjEuKcVW1uWk4ybk2Eq63pxk3CK/RZLiJO+Ti/vZXw3ZX1E+kon7jv+JJMY/+Q15uIRWIKmRthZk4VTDTsnFKYZtSsItWiskObq1Pjm4f8gqIrUF5W8ycAl+nAKIT/iCf1zSKFAgkW4/7drifrLmgsHF2k87alvhblFAcbJttWuDU/VtCiyyedMXbjGfCg6n6H1+cHE+TQFGFx/3jksa2xRoZO2cZ9xsUJn6e8aOeMX1aGco4Biw1jzilm0KPNJb3nBxvhI8rrtVTlCLK5ptCiEyBS+474POhr2c+NA9Lqm/QaHEiXzONW42yN5Q2ydG3OLU4MvI7+XEdImbCWvgSkN3zB1O1YYptOhoNnRNcDM2hRjGMTc4VZsOE9fVZOioyYyjUKPJrKPGNW44XFxX41rXEPc4vFTdS9iLTnFJ4wyFHAO2U1zcSoWNU7RLDnFTb1DocaLoDJfgc+HjYo3uTjTArW9TBJHdcYJTtdEocJ0NCnE97nGBIon0RQc4YzgaXIfdHhdBHdmrJuNtceubFFFkdtrhVG0lKlx3XUrsxz22KbIwLrbBTQ1Hhxsotsb18FR0OIWvtcT9Z5sijOyfW+KM6ShxXXYrXMJKRYlTtIUWuLubFGlknrXAGaPR4jrt5riERRFH7XGtwc1sRo3LHGuKi/qo7j+uhJOr9flKMBW4QR2uxk1NR4/rKjbGRdpXG/bXKtxrAEdVHNfTDXHLf0TAvbLVCJfU5hBwMSvXABfPE0To4w1wP25i4DLPG+CmRjFwncV6nIpQSF4UE7MOd7hAIJG+VIe7u4GCG3pWh0uPouA6C/txMFOuetIR3JSrmnQEN+WqJh2BVbmaSreLS+JMudKky9Xg4jYBRXq8BndoEwmXOVKDWx5GwnVs1eD0OSRcLF+N67EIKrS1Klx8GwuXHa/C/biBhRt6XoVbnsbCdW1V4bDyoZIRZZwKlg8iI8wKLl5Aw73oEWXcoQ003NCRCm59GA3XsVPBTa2g4bqLFZyWQsMp1h6uJ09woa/t4tCaV6WBEWSy7qYrQSbrbroS2MVNzUUOAXbWSnel0sU+AUbpsl/gEjYizlgo4w5vI+Kyl8o4xEryopYI3N1hRFzHszJueRQR17lVxqXnEHGxQhmHd06yd15CgBcQlcsIYokCJi69IHDxbUycOGki9toGJm7otMC9/ism7tXfBA6zBperMIHW4HIVJsDrwsrVIYE2CNEibIHDbBDlFkFJ0AYhWkSOemxUnLFGqN2r1L8ItXuV+hfFN1FxmXH6wwYqbuivdAgXd4RQ+36p8xNq3y91flqfRsV17dD6KCquc4eWcXFbtLyCiusu0hQ0bg4VFytSGhdXICOFilNs0nFx+QOcZ5xGsGEd4DzjOC6OH+A847QD3P9jtuJ2CGjcQeP3gYM+2YQ+TYe+wMG+NETGQd+OgL6RA30LDPrm4eu/ouJe/Q37hjX0rX7oH0mgf16C/mEO+idN6B+DoX9Gx34AAfrRDeiHXqAfF0Lt/OUHrVAfUcucRn+4D/qxSOgHSqEfxcV+iBn68W/EV3AqD85Dv3IA/bIG9GsumC8IaSb+q1XYL6VBv84H/SIk9Cuk0C/fQr+2jP3CN/Sr8tCLDEAvzwC9sAX0kiDYi6lAL0MDvYAP9NJH0ItGYS+3Bb1QGVaP2LfEG/TieNDLCmIvyAi9lCX0IqDQy6diLzwLvWQv9GLH0MtER76rRqWxPgdemtwYf9kWdYdeDh97IwHoLRigN6/A3vYDesMU6K1msDfpgd7eiOmjSEf1ZdpSC3ozMuht3LA3wIPeOjDSTRdfKb7M21VCb/QJvUUq9uay0NvyYm9oHFFKdDvaChp6E23s7cehN25nh5G3vE8aZ8LGDdjMIY49zoc9dPpFx7ikHnIh7sjnHOPYTMj36oxjzDlO1UI9Xe9oUICb49iMDTBwzXCqFuKsG2gycM1wYtaFlrCK3mTgmuJU7UzkA9cUx2bDGjpFH2FucUk9pA57onGNa4lj31uhnJzEtA+ZexxLh3KpkykwL7g4D+GUuJuPe8Kx5RCuJtJbzBuuJ/hyMmCtecSx2aBzIqaNMK+4pBHwtU7WznnGiZwI9Oykq1U2tMWxxSD7hKL3MT84VQ/wwGbzpi8c+47fCsp2kt9g/nDsp6AyNqb1Mb+4pBFQKU7bpm8cS/DjQdg+aXT/wTWOzfLL8m2DfITJwLFFS/oZQHf7CecQpxq25GqnGO0nnEMcS2iSq13WWmCycKLaHZebDDeYPBz7mb8tz3aff8Rk4tiivJQd5H1MLo5NyNIN8t6cbJw6ZV2WYys6tTnHCZ2MsRM2k8nHSdG5srnBMTXNr/qzfcYLLmyucEyd8FdR7vNeNzZ3OJZc5G967mTKu7wvx4LDMfYFtz2efMYM/o7LL3OLY080byVlULNusqBx7AeDX3B9aJWH3P6aBY8rpUX+W3e2t3SXqeAZVzq0/JyLmRe7wt0fUs849t8Jzv/u8Ngq/+K8d42FhxODp/P8VQc85VPxjzc9folXHFO/1Lh1rc3BjT0S//SeycLGCd6Sxvm51abDp8xf4dyaNL1/gw+caBhLuvj6O6v36mWn5scEPe+H5hMn4uP3hUEAr63e6y+PYX//qflHY+U/fvCVzw/3ixPD98vSbV4X5ye/yfn+aP+4MvDpg+tjZ4+K8bKOnr1z/cFTU8rH/g92biFxn2S73AAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;transition:visibility .3s,opacity .3s;right:43px;bottom:135px}.jb-pro-container .jb-pro-ptz-controls.show-vertical{right:43px}.jb-pro-container .jb-pro-ptz-controls.show-vertical .jb-pro-ptz-btns{left:0;top:156px}.jb-pro-container .jb-pro-ptz-controls.show-level{right:163px}.jb-pro-container .jb-pro-ptz-controls.show-level .jb-pro-ptz-btns{min-height:156px;left:144px;top:0;display:flex;flex-direction:column;justify-content:center}.jb-pro-container .jb-pro-ptz-controls.jb-pro-ptz-controls-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-bg-active{visibility:hidden;opacity:0;width:156px;height:156px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAE4CAMAAAD4oR9YAAAAM1BMVEX///////////////////////////9HcEz///////////////////////////////////85yRS0AAAAEXRSTlO5DCgVgZBxAK2fQDRkBR5XTPLKM/gAABnnSURBVHja7F0Jkqs6DGQPO9z/tD8Jq6WWbCCvIjKfzAGmulrW3ooedr6ui+M4TdP++SXPr1l/SdL3aRrHhv7ZyA5qb9xe0L3Am+DrkzeCL/BeX908MezTuPsfOArdgl3KsZuhq99fk/Tx3waum+ByAHua5QbYilkzY1aP728YhrH5InrfBa57OLAtVjpRbYaumex04dq4APeC7vnVSfo/45bXLe33jGscMx3f0A1vyg3t69e2dRL/NeA6wrgdcCvjyPM2U25mXDt9xVD3f/qN0yi3Mm6P20S54vlXtGPS/R3GPSbYOsC4ZAvmJtiaGiL3Zlzx/Ht+Y/KXTJXbqmaqe9za1VYn3N7YpX/OVGev2qduOLIiB7xqOzGuWCiXFVmWtU3368A5lkqeOJI21I5XXaORxVRnxmUTdNnY/4U3riNvHMJts9XRtdXVUttipdzrK/4x7UyY6sK4Gbo+nU21T1zKcd9AGJetlMvyLKvj3zXVfeqQElMljINx3MK4xVQ3xj2Ry7N/6CiMOIfYyVUXWxUyBx7HuZRbcHt9bf/Lb9zsHlzKzabauJaK47iVcC7jJujS33/joKkmxDnM4QiJ4xDjZuT+DXQW3jgxV012qcPuiePhCGfchlv1/P0D6Czmqmuq2gPGkbIS8Q4ZsNU3dGP3Y2+cW1RyKpkrbAnwqhi3iXHFHrU3bFVV5c3vBsCsOALjkXErAW85F3rjFvBm5Kos+TngCOXYG7fA1ojFER7GPUHbmer0tfGPANeROM6pjvDMQSkrsWQ1d564Fbr61964TvSqDa6O0ELmAtvGuc2rrpQrn/aa/qCpYq+6mSpOVhnjWBy38u2JXFl9yL8acg6CV3Ur5yxVZfW4AsRxG+XKssz6n3njVMYR4Eg8sj1yi3tgtroxrpyhG38gc+h8PYddPQ551dVQW5jju2/cG7kXdB946Uy9cbDnQOpxuCCHcq5dHDcht8D2/K67VxPNGtLJd7qDTcgb1zLGbXEcY9z0Fd39GReTzIH1B/2lcxrGTYxj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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-up{transform:rotate(-90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left{transform:rotate(180deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-down{transform:rotate(90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-up{transform:rotate(-135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-up{transform:rotate(-45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-down{transform:rotate(135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-down{transform:rotate(45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-control{position:absolute;left:53px;top:53px;width:50px;height:50px;background:#fff;border-radius:50%;transition:left .3s,top .3s}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left{left:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-up{top:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right{left:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-down{top:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-up{top:39px;left:39px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-down{left:39px;top:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-up{top:39px;left:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-down{top:67px;left:67px}.jb-pro-container .jb-pro-ptz-icon{position:relative}.jb-pro-container .jb-pro-ptz-icon:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-btns{display:block;position:absolute;left:0;top:156px;width:156px;box-sizing:border-box;padding:0 30px}.jb-pro-container .jb-pro-ptz-btns .jb-pro-ptz-btn{display:flex;justify-content:space-between}.jb-pro-container .jb-pro-ptz-expand .jb-pro-ptz-expand-icon{display:inline-block;width:28px;height:28px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAANlBMVEVfX19fX19fX19fX19fX19fX19fX19HcExfX19fX19fX1/////Pz8+oqKjCwsKhoaHn5+eWlpaOqTaDAAAAC3RSTlP/3CaKxwJiAELtp4ri/s4AAACuSURBVCjPfZPREoUgCERXBdPRyv7/Z6/Z1aQp9oWJMyYLiKUrOIpAJBdGCldgbzBkPM/QEoTI3jBEPBRDhwEvChe08Q1Ge0ImvIq4Qj8ljrLdH77CyQPWlCdHC0Q1e9rmmuC+oQN9Q4LwcQg40L6eyqm0uEpXSUqe3fKpkkqL+Y/o+07SrahNEO0T0LBsvOitf4xsLqiNTB32wtqaVKosGLO2mhUrS93+PZ4D99wPqzMJVcbEyA8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-expand:hover .jb-pro-ptz-expand-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////i4uLZ2dnIyMjExMS8vLy+iXNeAAAACnRSTlMAYomLxwEm9+NCLo6DKwAAALNJREFUKM99k9kWgyAMRIMmEMLm/39tKaVKFJkXl3sYJ4sAXeQ3ZOcYd0+gRYblFBuFLYoS2ot5lpvYn8zJQ65TO2GVNmdCmQq/qczw4gjpejD14BgmhziEIvCjVRlPioftHW6A7xBB1a8CCUMvsuSqEkPM7eZX6h8GrQ67bYpNIbRL6rb4/k2EfVXKsgmqfQrW9qnGq96a28jGQG1ky2HXpVysyYyeDIhWq7le6ua9P36HD6+2GRi8iBZBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-narrow .jb-pro-ptz-narrow-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/9/f2/v7/y8vLUObqxAAAADXRSTlMA3IrE6SZi9wI+y0gNXAn3CgAAAI5JREFUKM+Fk1kOwyAMBQ04bJHT3P+0JVUMNMWv8zvSk1cipfjAKXHwhR7k6KTjYp7dVuWLug1XWB5wz96T/JD2O3Phmv0k5ypL6lVVFIPYpLOka5WKSSFvS0/BloHYlkza5HkMzrvVLo8ZlRr7mtFYWBBsBQ4BjC//GTxcGVw2PpOVHQ6fJj7qS4936OoN2K4e5yE6N1UAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-narrow:hover .jb-pro-ptz-narrow-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAJ1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v7X19ckk9ihAAAACnRSTlMA9+NCAsuKJsRiPv/2GwAAAJlJREFUGNNjYAAC5gxFoTYDBijw1FoFBIumQHjsUavAYGkBmGu0CgqUwRqlYNyFIO2Fq+BAnIGBJQrBXerAwLkKCUxgYELmKjBYIXMXM2Qhc5cxdCFzVzBoIXMXMYAcsRsMdgEdgs4FKT4DBqdAitGMQrMIzRkojlRB9wKaB9G8z+CMGjgshjCuMCjoWNxRAxYt2KGRYgJiAQAnZcjElaB/xwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-far .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAASFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+kpKRzc3ODg4PFxcW1tbXW1tbk5OT29vaVlZVmZmZ8vCMFAAAADHRSTlMAxGJ5Mssm9+NCiYtiH91SAAABAklEQVQoz41T7Q6DIAyEJQooUL55/zddhVazzZjdHyqXXo8DhWCYTWqltNyN+MZLuxP69UGti/vAsl6c0e4L+tQ2yv1AEbvecMhO5cXdYhk+6aO3WGrNAMwentlMz/ZAKIlNoRsqY2wtFWu9t8wasc0iYVN0LkQfrG1zbxNyrIBcntOQrH1Ukkb60QcxYF1xMA2dh8zWj6ZDsLCsIrL4Ds5Hm9FMbCEROWUB0COaLXEIZJKV7CKybGO7UuxjxY2C/TkMbxboKBQCxgMN6MCJQ6Ch/QjOZg/B13LGx8FDTe3IFvl+Bc9XBi3UWoex68qeL/vxmdyxyvz3NJ8f9dDef36HN7koIK2LjxB0AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-far:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v6cnJzr6+u/v7+xsbGlpaXNzc3b29vqh7uRAAAAC3RSTlMAyRjKA59J/3PzPhe1wxwAAAD2SURBVCjPjZPrssMgCIR1mkYtisD7P+zBCyZpM5mzv5hs0M8VnZvaok9BlXzc3FXbO5z0vtifFC5Kn8OL4UfxwVvuHm61d5Z0b6ZGZZwZpQAUosWsjVZntVS1sH3ZFo1IRVYfGXgx+VGwNkkIVbhq9/jm3cAhaNv1Uk3IA8mNn7D3kbQeWK3TLH2jCthrDFcTMwUWaKiClc9mJtJWhS3SF5BpJqMQW1b3xwnkDahMoHYomkeJRgSENA/MFsKML7fgoCBVbGvM+Cx4JcKWbWHKK/h1ZYS1Jy/nK3u8bB3KhzG5deMxtfv3aO7/Heq+9ms8h9fxHP4AHzAWU9zlWNgAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-near .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+FhYWbm5vz8/Nzc3OwsLDi4uLDw8PW1tZmZmYgm6a+AAAAC3RSTlMAYmOLx4kn9+NCIVJiPGAAAAD+SURBVCjPjVPttoMgDMOJAqOU8uH7v+qKFN2c597lF5LTJg1VqQG3aGuM1bNTV0wWDtjpg3pq+IB+npyzcIE9ejsDXzDCrjccs+tOariF3n2OLyw5xko0vh9MDjNb9Q0hp2GK3cixlIApe4/JD9appR8SFxWAUFLg6n63iB1irnY1Jv0mlrok7nUdcZRa1YeshxBA9iijChlxI6iZEaBgSEL2tkRcymPGGJpqlbZ6uDg0WR/F0DwuMpxDkYwiIXA8hO2uMJdGCCK6teB8RQoY8xGfevQjxYQt25qoRwDT25MRBjZ7GtP/P/afa3LHmrflXa+ruf661Hvv+et3eAF6Fh3v+sSUGgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-near:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZn///+qqqq9vb3z8/PMzMzo6Oja2tpXGg+mAAAACnRSTlP/JomLxwJiAONCr+rW2wAAAOtJREFUKM99U9sWhCAInEpLBS///7WLEWy7p9O8qEzCMBIOQ15DAlLYsoegS9yFMKQ93skl4Adh+ZI54Q8pG5nxgKzkgkcsk4zhmQxRyN1OPHqtncjOu5AuppcJ6s1EHTA1YzC3Wgq3YmzGqpsmlwZAo7F8oLEVKoeE6+TbSxK0JJ/3FLOwFnUxzXuoltYDDMLoAlmYXLAWIrkqbdZKs+q4KBfkNV1uwGaBim9TdLWS3R7iGRvCNTPB7JvGlc5EXK8cKbrxooint73RzXh7Msl6Oj/uT/b62O9j8sj6gMXX0Xwf6jP3Zr9DtNAHTYMMXrXSK0YAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-far .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAPFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////92dnbs7OyFhYWjo6Pe3t7Ly8uxsbG8vLyG+Q0EAAAAC3RSTlMAiWJjx9wm/0Lti7mfpe0AAADaSURBVCjPfVMJDoQgDERFC/bg8P9/XUSO6CqTqA0TptNDpSrMpC2A1btRT8wrNKzzjdo03KC3zhkLD9imbeAFhd3sG2kvZQ2v0NknfGBJZKkhBM9MxOxDKBV1N4iHi0TRHYjN01Qi7/kK2PtyNDU7DAEJgDAAN0u1jsQEFEkcVVmrqjeXrkWRmC67eqbgG7bJyvkQSQkvUvec7szpek6t9ubWJSK/uJVSm+APzHKCh++DWWuH4plQKNYOpfappcjy2VvJn9744cjGwx6uyXjBxqs5Xuqsvf/9Dj8rLhRg+bQ5VAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-far:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZmZmZn///+xsbGoqKjt7e309PTExMTQ0NDe3t774OlGAAAAC3RSTlP/itxixwImAELtp8B2gZgAAADmSURBVCjPjZMLjsUgCEVpq60G8Lf/xQ62gvNeOmZuUiWeKHC1cKnC5iJAdFuwJXgmf+xg2g//G54OPuTOCUOEL8WgMMCLwgPP+Abj2aF38CrnBR7whw6Bo4fWUk7MMrQ2OrpAq0GspTLLgKg1wTailNITZA0EaTkZGjIAY5NwlATah5CGRMJYj50tFtlWiapsLvAPRdtL/WOmET7QzZyl5ywzp7NWsjBJ1odsragJqeJ9HGFNZoLaJw71hMTm0O7NeDE1Z6YsU5rGL69sedmXXz0ToW8PzA/oV09T8OJR32fb7+B17Qe3WwtC9PVbHAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-near .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAARVBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/////t7e2dnZ3W1tbGxsa3t7eDg4Oqqqri4uKTk5NImu/5AAAADXRSTlMAYieJ3MvE/0Lti4oh87zNagAAAOtJREFUKM+NU1sOwyAMY30FtoWS8Lj/UZe2gWpVh2aJH1wcO0mNqbDj4gDc8rLmiscEDdPji3rP8IX5fXLWwQWuaVu4gbKDuyPdsJMz3GLefcIPbJ6PDCEAFDlUAJiORM3NigQFAXAFlqOeRhWJyFFIHxNGvRrN0mp470U++3axGM2RAmXcXqKnkDSN0a9WIk5Sa01MpDXBQAdVtrA8lBhFnnKpsmoo5VBrhszV0KuJ5N2tP92O50iQjpzcctravoihdoi0Q1NrfN56m0VWzFBoje+OrD/s7pr0F0yUr6s5/LvUu/bz+B2ep+IHdMIV2SUZfCsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-near:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////c3Nz09PTp6enR0dHFxcW7u7uwsLAUKT0cAAAADXRSTlMA3IrE6WIm9wI+y0gNQZpqdwAAAOdJREFUKM99U9GShCAMQ8BF3Cmlpfz/r15dAe88l8zwQiQkoRrTEa3zIXhno7lhWxcYWNbtN/fa4Q/218VFDzf4of0O8A/h3TQfOGU/ytsOj9gPVyt8warkmYEQQAgABYDxTKROz88koS6AVIB1fRCNbSI1cVUy15Jq27LGjTtyzipPeWw40/IXQkrHyZSRmqw3LaQgctFNKYzYyGACfEXossLMojFEj7J0WfdwJ3dD9uY2X25tL0Hj45mTR87Y66u9IQFsDS1bL57o7JbUDNIofvpk08eej8kTe3Hz0ZwP9UFfv8OgfgBUByCEUZhYtAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-play .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJWSURBVHgBtZe/b9pAFMefbSYWMjCjdOtmYEYqXVC3umMlBFRiT7qxkexITcdKSDUSYna2iqX+E/DG6LCQgcETUiR+5Pv8I3Kc+McF5ysZ3x2++9x79/zuLFEG9Xq9s/1+r8my/AnVJq4z/2LZfB0Oh1tFUQxd1+208aQ0GAa7kCTpMgRJk4kJXk+nU5NEoe12W8PM/wrAotIx2Z+w3MkE7XQ6Q3S4otNlY5zPUZdL7wiMBUsRIK/fDeWvhQ92XS0HrQia83cCsqoIyMug8gQ9Ho/DpF7FYpEajQa9VTBoyIZxWeEfv6IndSqVSjQYDKhcLtNqtaLtdkuigmGSZVn/XKiqqr9wqyZ1YEtbrRZVKhX3zvX1ei0Eh7Ufa7Xan8C9VRIUg9lyQZfzO19VOOugkBpAgaXRtnq97oLZ5ZvNJm0YQkBZ8m63E7YyKl5ntrrf77vlJCF/qzLlKLZ4NBqRpmmuF2LBlLOyBFYBchDKlIeWyyWNx+PUtS2Qtx+eJA6i2WzmQtMEA+8KnA+73a6N+jkJil1pGAbN5/PMfRBIZsGn3+LFvSABMYiBgpnJgZEeFHQD4EzQrOsWI4N/nrY2uPg/eeefV8WvAKfALOsWJ3jzA++rcqjhB25OXAd244nA62AjV4LGxWLhIBk/oPiF8pc9mUy+BZVnyQEzueEZUb5yjyvhBiX6BCw2YTGvdZNyAkYPZsprT/rgO/K2vDcdQQH7jes7gPcv/kvqyCcKbEVX6PxVAG76QWPGPZAIDcEZqGECTQyokpe9wp8VfNqzyA2L9M+KRzm19l1i6ZQBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-play:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ5SURBVHgBtZe7buJAFIYPjsVFAok3wBUlYcUDLNvQISUSDVVCA0IUYZ8gmzcgBeIiJLwdFau8QToaQKygovI20CJBARKX/Y/jICPAF3B+yRpjZvzNOWfOzLGLLKrZbAaXy+WdKIq32+1WcrlcQe0vZb1e/8XvQT6ff7fyLpdZh0qlEr+5uXne7XZxMpciCIKMSfzGBBSyCwVMAqxpEXYEhzdeAJYtQ2u12h2aJq4gXadSLpf7aQptNBoPm81GJofEsc5ms9/0zwT9j3K5HHUSyEJ4ovV6vXkSyjHEyvxDXyCAHxGy4hEUq+4JjWQ02O/30xV65rTbQ9lKNEWjEYFAgFKpFMViMbpQnOfFPRSKWxnldrtVaDqdpnA4THalefMDinx8sDOYrY7H45RIJOy6PMibjch3F24AJEmSeo3HY+p2u7RYLEzHwNqogOUcpSvFrk4mk5Zcjry9FZCX1+46qj5dzvEOhUKGfQVyWAyPRCLqojsnEYtohpiSE5rP59TpdEhRFMN+Itw7Q3DpGq1WKxqNRurF90YC75+gnXszulBsVbvdpl6vZwpkwasDNWVw9r3BWlu5Op1OVdBkMrEzTD11RO1exmUJytb0+30aDodkV7DyjT2rBpNrG8zg3WwQW9ZqtS4CatASt/sVhAC/GA3glWk1bqcEo+TPwm0P5QeYySt9jRS9UQe54vF4fqEZkMNCdXivrw4PoJlMZoad5IeDYE7F+0KhcPC+syVotVotIQ5PdLm4CD8CGkJZfAIhzlw3SWRdM+T9q9frLbHnTnUwrfBZfPCiecQG8v3MBHj/HvAm4/P55HMwW1C9tG8a/RmsGH1CnNJ/17UakVMOx7kAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-pause .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHySURBVHgBxZc7bsJAEIbHdprQJAU1ckln3FM4J4jTIkSMRB9uQDhBlBPECIk2yQ1MSeeIxg0KZQoKKpSCR/4xtsXTNmA7v2ThHe/ut7M7O7sIFEOGYdzO5/OSJEn3KGp4ZDy33ucxP6vVqo86H71ez47qT4iCLZfLJ0EQmhuQKNlo89rtdk06FVqtVjV49kZrr86RicG2TdMcx4LWarUWGjzT5Rqjn7tdsJAi8Ch4C4op1TGl75S8GKwCPOWC6FsRNDKAL5SOZER30HcAhbFFEUFTLBapXC5v2fL5/J7tiOCXofHLlVfikRhRrSqVChUKBXIchyaTiWtrNBruYLjM9jB5jlmup4vFQqMYyuVydKE03vsuVBTFR8pIcFD317REGQlRXBJ5PSl+iktCskgZC57eZA5l/Q/Uy4lTykjYq1++p5EHb1LC9rRdKA7dT8pO64yERG/SmVM8m81OqW7yckr8Ztv2r6Io1whnLawF59fhcLiVY0ejkWsfDAYUJfRfB+snOE85J2KRvym9RGF2Op06vwRbhg9YHgmlIz7E235B2vwC1x1VVdl7jZLT3nVF2q0BsJUg+ODFTDpU0wP3PfC5a2wB+BD7CuqLgws/TQQYn7cyxYfxfdc6ViEUujMAHUlER4cKHfhbATvPjBUG8/UH1xXJDxHoYGQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-pause:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH/SURBVHgBxVY7bsJAEJ01CAkJKUhUULmiDSnpoKYINyBuQIgi3AA4QZQKIQq4QaChhhuQCxAXSERUSDSIb944axSS+CPA5kn27o7X+2Z2dz6CXKDT6URXq1UqGAw+Hg6HDB4V4qj8rAsh9N1uN9rv971KpTJ2Wk84kW2322csVv1BYr+gEGMo8Foul7uWc6w+NJvNjKIoHXRVOgMg74K8AXLdFWm73a7BujpdDh3rZH8TCw8JLYlPSFutVh7NG10feigUetA0bcEDxZTiDFU0L+QN1M1mc1z7SBoIBGrkcGkSiQQlk8kTWSQS+SP7D3CzJ76c3A/yi61kodOP6XSaYrEYzWYzWi6XhiybzVI8HjfGLLeDNGxoWpohF8C50CXgwMK+r0gNCuQTENnyitQgRT4BQSOlyFvrKsRdCapC/uPuFqR0G1IZExfkH94NSzkHkk+Ap4wNUiTqPvmH74gUDoe7dOYWr9dr13M5sfNxBnjQ7/dXuVwuDGHG7ieOr9Pp9CTGzudzQz6ZTMgJ2FFtMBh8HvMpx0Ro/UEeBQq2slgsatw/uoxMsBp5A64WG+bgxE9LpVIPpUWDrgv7csUE4nEdlWCNPCC0JJXEF5Wg8MchHs11CWpCVvZVkBfckksyrneHVnMEuQRXitiqPBS4lwpEJYmORkc7Qju0IzPxBZ2t+3mW/JtqAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKgSURBVHgBtZe/jtpAEMYH28WJioIa+URDF8MTkAalO6cH4YIiFbk8QXS8QO6oUlCAkGjDtTRHJBoa4nQ0KBZdJApoEAV/Mp9jkAF7bXPcJ5ndtdf725nZWdYxiijDMBKr1SqhKIqKNpdms9mcRxkjFqZTsVjMy7J8x1WdL9WjC6D97Xb73G63m0HjxULAvnI1T+FlMfxBBPeEwoW73Q6we7pcViwWe8+utwKhDFQZ+IOrGr1eAH9ksOkLdSz8Rd5xu1RzBmfdFkvupwz8dmUgBENeYNAZtFQqGVwY9DZSnTVi6+Decrn8h0JYWSgUKJfLHdrL5ZKm0ykNBgOazWbCd9nNt3CzgoZjpUohlEqlKJPJHN3DJHRdp16vR51Ox/ddTiVkw70NlSTp7rRDMpmkWq1G4/HYvmANSpHghXg8To1Gw/M5W1oGVEZD07TvXNy4O8Btw+GQFouFbV06nabRaGRbhbaf8AzvTiYTr8c32Wz2p8KrSuMgJ7x6IEa4AIuivau9tNlsNGm9XqsBY9gxhOvCCi728wa7OCHhRzQAZl2pVGyXRZEoBAoFCDGs1+v2QooiUfpIHE+LBEL+VatVezVfDcp/whYJhAWBVHFvCEFCfz8op6cpORuxJRokajz98tSRae+97OJnUS/RanQLkwNQ4FrzsA2yyU0Gf/br2e12A90LlwYAkS5Pdrm/wRs+/rh1ChAshuV7wTqAQoTAarVat6gorll8YWvzXBXmbdTUcY3/sK/L+4ppmnPeF/9SCGsvAXIsH8+gDthkMFyepyuJgS0GHh3w5NNOzO0zeMHVD/R64BMDP53d93vBORW+0GVnpvmpS0NBXXDDSacwR9K5kxaPok+NUJ8VDlzlQucJvKNj63G2/U3/E78fZqx/rk0w4ggu8jUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK2SURBVHgBtVa9jtpAEB58/EqArqCBBqehorgTVDQxPVJOiD5QAEJUeYLjniBcgRACKeQJQsQDBBoqkIigookraC1BwT+ZcQBBsNd7Ovgk2LV3vd/M7PyZgBPlclnc7XZPFovFv91uRZPJdL9fktfr9W987udyuRbPWSajDUgm3d3dPSOhBMaQUaAXu93eSKVSCryVtFQqPaBWXznJNMlR8zo3aa1W+7zZbIo4vYd3QBCEQjqdfjEkrVarzyhlAa4EvOt6JpNJ6ZJWKpUnHH7A9VHMZrNfLkjJO9Ecv3Aqwg2A1osevFs4vCQP5SF0Op3g9XrPflar1egzut9vCNVHzPS3j8EkcCAcDkMgELh4PxqNoNvtwmw20/tUXC6XSRyLqqZ7LS80CgaDqiY8IEESiQSIoqi7B53qE40qqVYsolTgdrshEokAeh9IkgRGIDPTPhJYC8SD4eg3k52RQNQi7XQ66txms+kepEUcjUah2Wxqrq9Wq6h5Pp8/4CUzD1osFuqPFwfnIsE1IBKbyDqANIzFYhCPx+EtYPmCGQxAppJlGQaDAVwLaFlBgRtAx7T/SNGNZWCg1WqpoeP3+4EX0+kUJpOJNiEqKWA49HGusA6gwPd4PMCLXq+nu4bpsK+6LVV9YMDlcqnkPKD7JyF1oFD+PSSHV9ZB4/EYQqEQGGE4HEK73dZdR+Ua6nh4gWXtD3AkfCL3+XzHZ4pfyrekIQnHApr2A2oqn4YM1TvDWkr3xbozPVAxJ0KaH1MRFllSvQG3gYztz7FtOct/mLqorZDhulD2BVzWJKW2kTZckVjBnviM8IKUQBtQ40ck/w7vAIUhnvGYz+cvwpHZbGNHkcQMwtXGnICs9YrCF/Q2GHb4e3IJBxLgo44ACsY6afbT4XDUWd09N+kpqOhTDT55Jf9/Z0b4C/UJLQCcLGi1AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIjSURBVHgBtZe9UsJAEMc3l1Q0WvAA2NEp1MyInVbGnoE8AVrSqW+gT2CY4QGwpTEFNcaOEqksKKiYcYYP/xsSJoRwx8f5n7nRu9u73+7lbu8waAc5jnM6m81sIcQlqhcoOZTTsHvAZT6fv5um2XZdd6Caz1DBMNm9YRgPMYhKHhx8brVaHu0LrVQqNjx/2wOWlAtnn9MiT4VWq9VHDHii4zXAPFdJsPGPwK1gIwHk7/dC+sXgAsBjroioFZsmpznCuHKLxeIxqqwirdVqvGmcbaOy2SyVSqW1tuFwGJTRaES7CEGd8TJbXOEo4YkjG8BQ27ZT+7rdLrXbbSUcx4+P3oOIVQ4Wr0Cj0aBMJiO1Q6Q1PvsirFzSkeKVqNfrKjM+8xeCybRMbUcrn88HRSasqs2R5kijisWitB+reiKm0+mhaS5VvMwqCdIs1WYKoJZljUmj+NwqobS8D7Wp1+tJ+5EPvkWYD33SIE4S/X5faoOHgCdC+jsdKc5GnJUUGiNIzwrpbjwh76tOpxMAJ5OJyjTwKp7wP/CnvM06LeFzdPwNd4AFihL+Chom/U86/HmiAr4CGOR4M2r0fX9cKBR+8e816deg2WzeRJW15ABPXvgxRXoVPFfiDWbSAhF7iJiXvUyagMmHmZlmGYK/aXn7HPSNAWui3AH4s9EnG8ibiy94DL6l3W8jL3zvetsMpNCEAw4cKGPCc9r8WeGj/YuBMlikP+yn3EGZYjlWAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAI5SURBVHgBxZZLjtpAEIbLjUFih8QFnBUrJCIOEHOCROIACStALBhOMMwJMlkgBCyYnCDMCUJWrJCQYB+zBwkJFiBe+QvZyEz86IEezSc1dj/w76pyV5dGEnS73cR6vf4SiUQ+HY9HE0MJu5GmaSNcFrvd7hn3vXK5bIU9TwsTw8Oqh8PhzhGRoIf1tSBxX9F2u12FVfVXiL3ksVgs1khWtNVqfcfljm7HgtW5l1Zrbyh4Fo7FYh8LhcLCGRDu2U6nc69YkDG22+0v98DZ0mazaQgh/tLbUUOMHy9E8eH8treDJ8lkkgzDuBibz+c0m81otVqRBAu4+QO7WecerDSDBB3RbDbrOTcej2kwGFAIvNc5dPVTTLHpv9INpNNpyufzBEsC1yF81dOVf8KslCHIEy4SjUYjIxDLDDoGKYAtDrNW13VT7Pf7azOOJ6lUKnAeySLB7jVIIezmMAS9A/igxIIUwns3VBQ+HpFCLMsKnGcjhX0CKLF2MpnQcrkMXIPzuX+KKax9phthtw6Hw7BlVqVSGel25wntqqy02WxOFnLj+xB6/HNTwmdXTqdTGTHmfKA7lhKSxAOCbPr9g90n82X6AcGfTgVxUTngtKlD+J4UAw/2S6VSzulfJAe8SZ3fiNRiQbTgHvgvI0H4Gxb9IAVwTexVmHmmQbiCD1suHy26En7xaDSa86p/A4ttrpuIT3ohpLcTxw/tAWJ9vzUaSWCLm3DXZzS+z7hELFzYjX/i8fiTu9T04x9LgQk+PbvDKQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALxSURBVHgBtVYrrBpBFJ0FFAqBqCIrUXRBk5QaUleewBBIlwSDoW1CUlzz0CSlaJJHA8FgqMBg4CWIKkpRuEfQCDAYAvSeYYfsLgss6fYkk5ndmXvP/c1HYjaQTqdjbrf7PQ0VarLWgBW1Cdput3tutVrdW7qka5OZTEZ1uVwfaBhj9jDf7/ePzWazwe4hVFVVPhwOT3cQnRFLkvS20WjMzRMuCzKFyH7/AxkAg18oQp/ME24LsgENfcwBkJfvQqHQejqd/jr905HJGpnMHIYW3iHGp5AS2df/QabpfiKHfCdCVCN1qh1hv9/PIpEIi0ajLBgMskAgcDZfKBTMYjJVL8+nh7MeS/8ioFiQbDYbtlgseA/lXq+Xt9lsxrrdLkulUmw8Hp/poLB+JC+rkpa7FysiKEokEpyo3+/zBiIrr2EU1kKmWCxariMvsy46IRJWZFBSLpf5GApgvZUSYLlcstFoxMfwHnKQN4Mi+cYdDoe/IGpmslKpxJV0Oh223W7ZLcTjcb6uVqtxLxFayJtkfSga2Sycy+X4YnhlBzAQhGI9euTRqnhAaNjkKA5Unl0yALlD0SC0Au12m/fIvx5nRxsEYV2lUrHMgxmiYMwGwmiE1qzDrSiKSv0r8QMxF2Wdz+fZer3mhXAJCP9gMOCGAiBJJpM8h6jqXq9nWO+hLfGH9ohiVoTFIEbxwFqECMoQInwLy4V3mEMe0SB7YWtMJJzoVK7fLnkgKg65BVBM8Bj5gjHwDORoGNfrdUMu9SDnfl7d+HqAEArFCYNQYoxtAODfJSIBimTWpV2Swxt8PLwiRAgjGrwXuEVGmBNXw6MxP5KXMWYTCKs4U+2COH6g59tCu6uG7A7AYxteCcypVU+EmgVZbcJxkO4HcmplIEQuMcGOTz8nyT6T7on4Npw0mMBzgDnkqUZWNfyzWujQM/FB79lVQh2xeudbZ0VE36mvipzdRagjjtFtnSBlr9nxuS9uGCidk1HPdFp1xcvsGv4CcbeEIeSIw9MAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM0SURBVHgBtVa/SyNREJ7dBLVQELU4bdwrtFJOUCxsXEG0Ue4OK6tLKhEb/QsO/4LzChVtvGvE0sPOxtiYJuFyJBBICtOlSSAQCEnIj5tvyC676ybZYPLB4y373ptv5puZt6uQB1xeXup+v/9zs9lc4qHxK621VFAUJYbRaDSeDw4O7rvZUroQBXw+3zcm0ckbMkx8enh4+It6IWQijYlueiByI95g4oxzQXW+OD8/X1JV9e87yACNbbxeXV0dOxcUJxnn6okfx6l/OOHcnr0hhIzsFcg06jNa8obwbErKOfs+CDIhUdUbxrhJiGrknAW8HB4bGyNN02h+fp6mp6dpcnLStj46OkpbW1vOY1q5XJZ8iqTX19dPnYpkZmZGSObm5qharVI+n5cZ5ENDQzKy2SxFIhFaW1ujTCZDqVTKaabA+z4qrdy9uhHB0PLyskSTSCRkVCoV16gRLfYODw/T7e2tOOQE5zKocmRf3Mggzd7eHvEtQnd3dxSNRl3JgGKxaEaE6HEO553gOllXuQ3W3ch2d3fFyMvLS1siKxYXF0XWh4cHOYfzUMgKpE1t3Y026LouhxCVF8DBhYUFcz9m5HF7e9u5VUOV2pp8dnaWpqamPJMBKysrEh2kNRAOh2VG/q14c7XhILzb3993zYMT2IOCcTo4MTEhkqKgrPCx1gGePxgv6vW6EKJYNjc3qVQqSSG0A+RPJpPiKACS1dVVaQ9UdSwWs+33c6n+47ZYchqKx+NCvLOzI80NiWAMEkFyeM75lx5FdFhD4SCXIEJluxRbTLm4uDjmcv3RLgIYgrfILZBOpymXy0m+UImIDLLCATyHQiFbLq1gB/90bHwrcNPAILwGAaREcz8+Pso6CNsRGZDGx0eS8xXqRgh5DYkgIwZuFQPdyGACfwJ+PHGhnHKUOnkEetS4U72Co/uNWdoC3yovUVqBiD1EZW4fGRk5MwkBjjKIBRoAarXa12AwWLARIpdY4McC9RcnR0dHZjPabhosMOkG9S9S2/8MMLDfRKhljawjoYU4wNXby79OgavxJwrEyFlPhBZinasYH+pPPOMaNL4wMJphJZ553Bt/Zp3wHwTYnvHjbDCuAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANOSURBVHgBtVc9TCJBFB52r7jYyCXWnhcbO1aru8RErjGXWBxX2BijGG1svNhJo56VhQU2ViQsgdDQYEFDc5rQ0BDoaMgRGhoKaMhdCHDve+6QZVhgMfglm9mdn/e9v3kz6xEusL+/79c0bcvj8fjpc8V6gCY9VXqK3W73MZFIpN3I80wj03X9il79wh2q/X7fJAXvTdNszkQaDAZXaHF0BrIRcvLKERE/OQ3qYwh/06shXg8vRPl8PlEqlZ4nktoIV8QcgBxwItbfitBOvL6+XioWi2XZp8kXIryaN6FNdpSM8spvthRWUmPaJ25vb4vV1VVRqVSGBCwtLYm1tTUeW1hY4KfVak2hFe+J+B+5+QkfnL2Hh4fI1KAq/OLiQlxeXorl5WWxsbEhNjc3RbvdFrVajVvMkcTlclmk02nRaDTGETfJ1Z+wlTxWLP84zQoEAkwEodlslh+QqZDWY36hUGByp3m9Xu88Ho+HNaokfidCCAIh2kgkMlYQAOtyuZy4vb1lBW9ubnidCioa37klkw0nQrgWgpLJJMfXDUAOBbEO66GAAkOS+tSRk5MTXgjr4FIAMXULrIObz87O1CHv8fHxR03thXAkDhbahezt7TlpzkA8sc7uUngIQIhUgNRr70AWQsu7u7uBEPTBdaqboQTcCIUgXL4DUBzjTrHVDcP4BmVlR6fTYVLg9PSU9yC2CIghEG7HHIC2GluJOGYyGR6DYiDCGEKD/iErNS2sU238QnH9rGqDopDP5zm+EIJ3aL6zs8NEUAKCQSiVwxp4BFaHQqGRwkJoRqPRkEZ7tCjGAAJQHED28PDAVkirsX1kUcAc7FEXWc5c7+iQTltnpyMgHNYgUSSZBL5BhqTBHkVMAZnxKsijMbQ6Vf+/FFe/mFLs6/X6IJZ20t3dXXb34uIihwFuTqVSI3Mt0nPia3LtpVLot461V0FWLiiBZwzMWCx2xOSy5+DgIEya/BRvA1xfvlKxr+JjUBwola/Fy81u7iDCX5JwiJSPHNJm3sQWoTnUp06a57XFIrxW+0dug8guutM8EvEHpxPIJRDDH6qFA2UmrSSrg0SO5HJLjhDdUxue+bLtQG7QqR8ggVvC4beCFHumRMSxVJxEJvEfnFm91YrgD/sAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANwSURBVHgBtZa/SyNBFMffboJaKAS10SZ7hXqFegGbCyjmUPTAH3eHlZWmULG6u/Kqi/9BLEQRIdoKigf2l1Q2ChGtBLmtFAQloPgL1HvfRyZuJhuzBvOFzezOj/eZee/NZAzyoMXFxYjf7+99enqK8GNxlZVtyhiGYXOZ5vo/MzMzW17sGaVgPp/vN2DkTbZpmqs8wfloNJqh10AZZjEs8QpYAfzx8TE6Ozub9AQFkGf7l55dWLbYTmxqamruRehbAl8CG5UEOvTNmWSmekHCVAgIJVgB9eHHD1bJSTPp7NXe3k68Hejg4CBvdF1dHTU0NFBVVRVdXl7S/f09nZ+fl2BS4Pb29geXMXyIe5eXlxM6FMaHh4dpY2ODGhsbybIsamlpyUFQog/geE5PT2l3d5eurq6KgTPc7x22kpGN5T+3Xl1dXdTa2ipGDw8P5bm7uyvoB3hTU5P0t22b9vb2ZFIu+smxjSOmEbfW2tpaAcJgMpkUQ25ACG4+Ojqi7e1tqq6uprGxMRmvi8P1BaXJLyE34MjIiBja2dmhzs5O8iLAMUGMw3h4yCkOobDYs+YHfXAkEpGBWJ1KJMTUqzAObh4cHNSbAisrK0FTrw0Gg5I4GKiEBAmHwwUzV2pubpZJOV0KD0EIkS6TlxxwViALMcvx8fGcEdQhKzs6OvIGYxLIcEwIxuFSvEP19fXSjpzQ5RsdHf3M5XtV8fDwIFDs0f7+frq+vpYtAjAMwu3oA/X09MgqEcf9/X1pQ/wBQhuyPZ1O56/SNOO+oaGhMAM+6rM5Ozuj4+NjiS+M4B2ZGQqFBHRyckLd3d2USqWor6+Pbm5uZAySqa2tjdbX1+VbU2Z6evoX3JumIoIBHA6ATUxMyCl1cXEhQOxD1ON9c3NT9qjufl2K5a+pqdliA4liHWEc7kOiwMXOvYpvwJA02KOILwS3FoGuoTTlWDKMJJUQ4qwfDmoyAwMDkkiYIBIOsS2iJH7k7MW1JPu3VpbUyYWVw91u4oWtcjyjOSi0tLQU54bvVBnh+vKJry82PnKHAydFDI1UATFwTgHzoIgtZvPW4Cxw1VlX0YtZFhjT6wvOXrgBK+ZnjcqXimHMrbHUZXuSV43kCpE3IUTzvPfjr75s61pYWAgx/Ctndy9/WlxaCsKPzZs+xc8Ww9IvwZT+A8hTw5fcMmXrAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-arrow{cursor:pointer;position:absolute;width:0;height:0}.jb-pro-container .jb-pro-ptz-arrow-up{left:71px;top:15px;border:7px solid transparent;border-bottom:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right{top:71px;right:15px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left{left:15px;top:71px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-down{left:71px;bottom:15px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-up{transform:rotate(45deg);left:32px;top:33px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-up{transform:rotate(-45deg);right:32px;top:33px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-down{transform:rotate(45deg);left:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-down{transform:rotate(-45deg);right:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-loading-bg{display:none}.jb-pro-container .jb-pro-loading-bg,.jb-pro-container .jb-pro-poster{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-play-big{position:absolute;display:none;height:100%;width:100%;z-index:11;background:rgba(0,0,0,.4)}.jb-pro-container .jb-pro-play-big:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-position:50%}.jb-pro-container .jb-pro-play-big:hover:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==")}.jb-pro-container .jb-pro-recording{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:101px;height:20px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-recording .jb-pro-recording-red-point{width:8px;height:8px;background:#ff1f1f;border-radius:50%;-webkit-animation:magentaPulse 1s linear infinite;animation:magentaPulse 1s linear infinite}.jb-pro-container .jb-pro-recording .jb-pro-recording-time{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-recording .jb-pro-recording-stop{height:100%}.jb-pro-container .jb-pro-recording .jb-pro-icon-recordStop{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:156px;height:30px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-zoom-controls .jb-pro-icon{vertical-align:top}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-narrow{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-tips{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-expand,.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-stop2{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-loading{display:none;flex-direction:column;justify-content:center;align-items:center;position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.jb-pro-container .jb-pro-loading-text{line-height:20px;font-size:13px;color:#fff;margin-top:10px}.jb-pro-container .jb-pro-controls{background-color:#161616;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;z-index:40;left:0;right:0;bottom:0;height:38px;width:100%;padding-left:13px;padding-right:13px;font-size:14px;color:#fff;opacity:0;visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container .jb-pro-controls.jb-pro-controls-small{height:30px;padding-left:8px;padding-right:8px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-controls-item{padding:0 5px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-icon{width:14px;height:14px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-icon-text{font-size:12px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-menu-item{font-size:12px;text-align:center;width:40px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-wrap{width:40px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item{position:relative;display:flex;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen-exit,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-microphone-close,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-pause,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-play,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-quality-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record-stop,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-scale-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-screenshot,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-template-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-volume,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom-stop{display:none}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed{padding:0}.jb-pro-container .jb-pro-controls .jb-pro-controls-item-html{position:relative;display:none;justify-content:center}.jb-pro-container .jb-pro-controls .jb-pro-playback-control-time{position:relative;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-icon-mute{z-index:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom{display:flex;justify-content:space-between;height:100%}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-left,.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-right{display:flex;align-items:center}.jb-pro-container.jb-pro-controls-show .jb-pro-controls{opacity:1;visibility:visible}.jb-pro-container.jb-pro-controls-show-auto-hide .jb-pro-controls{opacity:.8;visibility:visible;display:none}.jb-pro-container.jb-pro-hide-cursor *{cursor:none!important}.jb-pro-container .jb-pro-icon-loading{width:50px;height:50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAIVBMVEVHcEx4eHh4eHh4eHh4eHh3d3d4eHh4eHh4eHh4eHh4eHiqaCaRAAAACnRSTlMAikwX3CxpwZ7zIGi5xgAAAZ9JREFUOMt9lb9Lw0AUx2Njqm4iGEqmEnBxslKUdhJctFMVcW5wKZ0CLpJJQRw6iVqQbg3FtPdX+l5+XHJ3796bQj557773fe8ujtOI+6jz5p84dHjTkYD4+RhT9CIRZWRPJr1bChnbY532GhT4oUpbI6HEuqvgIH9544dh9J4/rpr0Ms8oV3zMNT7X1MXSmaznzfHjM4n72moe5n8ryYrW9rKRvgf0S93JA7yKa9lbzUg3keJb8OVCtwkrFmoO4MnsAuj5rGqnZg+GZXUXkl9NjEui9n3YA9XgpMgakLXz6ujMTIgrCkPVv0Jil8KgKQN/wRN69hLcb1vrbR2nQkxwiZTGQ5Teb7TO8PUaS8Q03sE+zkjP8qbjzgJtEhRbV4gnlkOFeM7hDYNdxPbiYFvKSHN6L2NmY5WzMYPtplZdTxncRvn2sI+DHIoug22jWMaA12Y7BrXzrG8BX32XPMDKWVzw1bdMOnH1KNqNi8toqn7JGumZnStXLi0e4tcP6R3I635Nc/mzsMxl9aux9b78UVmn2pve8u6eR50j9c0/ywzyVl5+z84AAAAASUVORK5CYII=");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;-webkit-animation-name:rotation;animation-name:rotation;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jb-pro-container .jb-pro-icon-screenshot{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEzMzMzMzMzMzMzMzMzNzc3MzMzMzMzNzc3Nzc3MzMzMzMwv5ahDAAAAC3RSTlMAW+8S2UGVwyyZnOTRhEMAAAEfSURBVDjLzZKxbsJADIYdBQpsSCyVMlXAdEuQYGKpWFk6dWHJgsQ7sMDSpUv3PgITAQT0f7ly57ucQ45KXRAZot+/89k+X4ju9KzL4XOhlm3pR0enYrWViSRPXQIQSASkRSkIJEFRimYCuQAHSW89IOv6SH5TCsuAj68Ab1wDzqkAzqoC7AUAPtgsABgkBBgkCJiNHehGok//KRVsHqd+3Dj1/vukt3AH/Jj05s5/AmyZhFVWXDls44iVvfQWkCvgxU6g9ZdJfCLvjJbYaT3GvjOY4mQSG3SJGjhr/Y1Xohp+TGKqqzexZ/1GVGdNCitt6R8zVvb9d+JmKdl8o5sPWbtxT6zFuJcDQtk92MNmYiXHquYlZlVt1j4P6cd7fgHFW7Nhqu29TwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-screenshot:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEz////////////////////////////////////////////////////////NXt0CAAAADnRSTlMAWe+X2TINXUYZvctoYyuS2NgAAAEVSURBVDjLzZKhDsJADIZLCAsEg8WgEGCWGSwCgZxB4MgEAonB8wQEXoBH4BEWXgPJgEBG0mdgR3u77raRYAgnlq+9+/t3TQF+dKbZcJXSYSnzlViT457lRScKmBqILSFA3GoO8S4E+Ex5JiSJ4CbVdyOQdZNomX9D4dl+ko3NC8vFFmhPy8FIsi0ZlwLBW/LY5BxYYreUSgoFAEmhB5Rc9OCbUoXmTmDadQKTn4y6A/XTaoSKdb6KyGU6RJ7eHgpb3ABinAoil303xB6vQnRahNhXvMdre+fzOgxVrokX4jHAnBh8PALU8Eq8BqgTg/vePF8tpuPy9/NFaalSc273RizarYqfkswjifNMQ/TyTGMv4v87L+ks5gqDbc9OAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEzMzMzHx8fMzMzMzMzOzs7MzMz4IlKVAAAABnRSTlMA6xIU1hVqIuOVAAAAMUlEQVQ4y2NgGFYgLS3RAEQziQFZoxKjEqMSaBJpEAkgIw1ZQlBQRAEs4QhkDeIMDgAWx1gMHyIL4wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEz///////////////////////+3ygHaAAAABnRSTlMA7OgSFBXMmAA4AAAAM0lEQVQ4y2NgGFYgLS3JAUQzi6WlJY5KjEqMSqBJpEEkgIw0ZAklJSUDsISikpLQIM7gAJjhWp6XcaOxAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAHlBMVEVHcEzGxsbMzMzMzMzLy8vMzMzMzMzNzc3MzMzMzMxEZ/aQAAAACXRSTlMADPKKKeBxlV6neZ4mAAAArUlEQVQ4y2NgGDZgJhpowCURAJeYpIQENJEkCgWRgCeShAGyjfgl2EqwS7BFToZJiLg4ICTEImdOh0pwRM6cDJcIjpw5E6aDFeh8B5gECBCUYAkKCoMbNXNSOlyCgUEQ4apJJmxIEkjOVWFgxi4RgEsikGQJnEYp4pLA6VxUDyJLIAUJcRLIwY7qXKSIQvOHWCQODzKIleBPPjgTHM4kijNR48oGkajiYUMykwMAAfmZhUjBISQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMA8gyMLeRw1x2DBpWGN2QDAAAAt0lEQVQ4y2NgGDbgDBpIwCVRAJc4KIgEZM4EwCU2KSEBHySJCcg29iBJGCBLgHUs24FdYlnNYZiESksDXKJALebMaagES8yZw3CJypgzZ2A6WIHOd4BJgABMgh2XBEtpaBjcqDMHs+ESDFyLEK46aMGGkEB2rgQDJ3aJAFwSUSRL4DQKp+VHcTkXxYMoEkhBQpwEcrCjSCBHFJo/1GIO408MOJMPzgSHM4niTNS4skENqnjYkMzkAEgzyFpeX6L3AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAOVBMVEVHcEz///////////////////////////////////////////////////////////////////////99PJZNAAAAEnRSTlMAMPndsnZj1CSYPcmL6wsdoU80pOJLAAABu0lEQVRIx5VV26KEIAhMA++p9f8fezatFDPr8LSrjMxwiWlqzRuMYKW0ENH46c3WuGyVLXEduuO83UyK59fl1jX5EEUXD9DOaSh43XEP5zUIdZ4pAecTofVnWSt3ip4rx7N61vjnY1D30CpH4QQR8vsP+RA5Rs3KpjfMU/pMim/LgbvH7DF2F8sU0owqapKLqgnhuGWwImUagn2zhUX6WQQoYkXG9WxSAJd700/ygsCpAoliaDsPiG48GM1X5Ft/06sfp8DrDE+3DpekWjxM6366fgEcnklC+AIIWYQmPEeAaUmjFOnhCLDfxZRH+w1gU5b/DYjfNcyJ0p7dxX8B+FwxQVtvAGB5ig0d5gFA5KbzS91hI8CenvlHflfN/XvzJQnxbBEko1gbvVnPii+FadSVRUEaYylQfJtpLB+aRG4LY/80yKdUbCraM0lozGR4ewZ0Wtnj1iC7hjWKNnjYmR62W15cLlL3+2pyMR09jccyuyUrHKsvthc5xsY1iWJ0Xk3t+2XP7AnWwrAQmBH6asXubmL1Z5Lz6o992jWiu9lnMSiQsK27FS9NxhCumZgB2fTBPFsFolhZr5B/D3o9sJAI6skAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEwimP0imPwimP8imPwimP0imPsimP0imfsimPwimP0imPwimf8imPwimPwimPxLmg1rAAAAD3RSTlMA15sisGUvdz3szYwMT8H+hDJEAAABx0lEQVQ4y3WUO08CQRCADxBQchBiMDE24KswFlw0Wtig/oHzUWglJBZWio3GDjUxlhhrEzT+ABMrO2iptLLVRluDggI+xtmdXW73LkxxNzvfzuzszNwZhhDzdOxqaPGgYrgkOgFczh90ezAJQmpL2v6OHYnqk2aWxOTtAnu/O/Y5XNZXmTZjo3ot7aESwLdFeqAM0MoJkMf9ltwVQJ9PcQN0UFIJogvdJgLQVFMsAlxyBaPmVBDCE8W7qd+2SDsx0q4OwhSrCG134W54jDfKLjDNxaL8/9AAMM/solptRnoALBbwEPWYrOEzLnrZsTGoMW+fBHG2SiLPUNI6KMOH8QS/XsCMBYQekIEv7NGZF/Rht2yqmA4i3UG9O0iTqgMfhirDhRdU8XJZqqEO8tDAqje8IIt1r+I5HmBjfD9AxQ1MgJQRpc6GJRALHOAS1WRlhMs4VaSFzwIWzCUF3op71kdNsNs/FDCuA58YqCQl7IhN3WbDnlLtfjnuON515WM17c7w41QPOuBIzDT5wqi0T4ESGV3gjtTjkuPATwHoX9+cPRlmmvJ57YAir2qKy459QL/UhrS/uAu3xf8KiX3DI+b22t6jc9F/qfaum9E1pJ4AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEzMzMzOzs7Pz8/MzMzMzMzNzc3MzMzMzMzMzMzMzMzMzMzNzc3MzMzMzMxdHBitAAAADnRSTlMA8AwGYt0aUcg+til5kgmZywUAAAGWSURBVDjL1VM9SwNBEB12IcGkMagxNktQSZFCYimIJAqKpZ3Vco3YBYs0NkKQgBg4ECtLFSFVCGgQrERBsLayPE0Ip7n5De73BdKLTrE3ezPvze6+GYDfsAQKy/Rz0i/OZJjY9XREuohTKulS+ZFGiADfyZXU5uHktI44VH5apDx554aXwJqloiIwiEsStAjCAsRNF1jCmGqa4Vc+BvS4JkjwzyPE6xiwzsxxeTbZxqjkANSWZFkoIj5bQBl4aBDfkPDNpeRRialB+SRAFz8UU1sAaEUjSCDoJ7iukZJ1V+c01bFczM1pWaa+a0Rp7MHn4V8Z1R9vLLCv9WjKdVFfk77JP+bZdz35YAfKXx6KhKp93abUYVbrj49g9aAYSuFCLbPUwzdCsYEWTloXgw1oGwQbENeuKwxzXhxwAADRMFd+zzRc6AAASY6RH8VjUHaXTrlOpDgCUP3gelc01e2d+f16cWbnQ46BGCRNVsWAWQJVw2xGfUXVv2k1OsLfazXqblzS99u1FwKFvBJioXBY2+r82U75Ab7O0ypVV0wKAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEz///////////////////////////////////////////////////////////////////+GUsxbAAAAEXRSTlMA3clDHfdfDQbsVG00u4Cqkr04dRsAAAGaSURBVEjH7VXLdsQgCPUBAROdjP//s1UTDUxsz3TRTc+wC94bHsLVmP9hkE8LIdvgupt2tFhcpy2CMZyVxNePEoqDp4hwEGz5PTqWoZNzLrmD9riltBEYzzpZQ8bweXy56Qy6Tivsp5JQYtawuMH3eJlSxIJtdSSa4xer4lMB89pK23mKrwjZVpsRzLq35vEE3+r26h6w5EKppcp3fP2lIpTPWJvoXoobeNI1sM3haHvx56tu2sdElJ54GbnPQ7RZ1sCpl8qPEMXBNQ8vN82jNbzLCPzGSDOZj/2Bqd19R1rELIEbDFrUJfKYdlALbDuDMko/hz7t8DqtCfr8h1Vt4rn7eh/6Ph37ch20aW8McsfGCOXzcr+GOlQG1rJ2HSHUDO/4Mu01qVAqTCpCJfgZ3phTS2pKm5aZOMUbs7Q6nk6L8UzRh6W78jH+gD/VRxHokPuNgUGTaPPR+zDR1mrlvcGgwkAVacSbeoN4Z0rb5/6XLrW/2GTLk2NhXHRKzrqAt9cD4rr4ddvae0NAYgOICdZyvPj4UYRf2BdfbB8iWvnTUwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAG1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxi4XDRAAAACHRSTlMAf3WqJmy+7azWNnMAAADNSURBVDjLxZQ9E4IwDIaLfMzCOTDSOz07OjLir5CR0dmJFVHIzzZtnMzbOzcyZHnuaXpJWmO2ji4GhpAzzZeQzw8FKCj1pMHss9OgpwsGOS0YGOcVUMPsfBVkmJoVCBJW0FFB6SFIaMKAlRGDnEiDkuM00lP3SmL6H5QSh+iIr9ZWVWntUV9Z4qWbHAWrhcUYNLC4Wwm3xb1r2mOQYoVn2EKFAVb81KHiQQq6L3vSUoMBUmSzgCKbVeiL3eTp3Odf8H1sxRAZZNZt/Vt8AHcPQbiQQVF+AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAe4Fzh7MZbKPtN8gpX19xAAAA3klEQVQ4y8XUIQ7CQBAF0CWhKQHDGtQKQFcURUgqEARBED0Aoqp3IKnoATAEW8MNOACmhQYKcyi6uyjmr+aLqXj56bSbVoh/J3HBxcw0ZfA2c3FiQLGeQcWh1lOVDDJTAeCbCgAR6QqCDj0xCEU5Bl2BIALKMwhdKjGILRUYfCIOEynlvABANk64M5jabJxHfJY2I76yzYu/ZCc0s1WbNYAQ3jxqwMoGHoqWGHpUQajEgcYYcKWFtjLE4FGJQewoxODRDQOqKPPcHl9sfzSXa/0L349tEDsOsp/8+2/xAY+BZBY9KhM5AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzKysrMzMzMzMzMzMzMzMzMzMzMzMzMzMzNzc3MzMz8gU00AAAACnRSTlMAL0jMZKt96hGJsSKv1QAAAJ9JREFUOMvN078KQFAYBfCbJEw2q6SUyWxTnsJT2JTJ6D38Gb6n5PpT6BwbuaNfTnz3fEp9fZwAP7czD0MsGCzBYJcEYsGwBEHQQRB0EII1CMAWdAOzyJUvJ4jyDVyZVHKGpj9guEI2IuhaDFadYnCkIm9I+kPgn8t+kI7kOsT72HcwQnJR9Gofy8DrwwtHK8pLzdeALg5fNb6cdJ1fOjOGYrl5CLFcggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAL0TQf2frEaZYt8E+idL4AAAAnUlEQVQ4y2NgoDdgUcAuzr4Hh4TaGQHsBp3BLsG+BoeE2hnsEkCDsEqADMIqATIImwTYICwSEIPQJFhnBjKInUGSUA2CSPCcOcIwB1ki5xRM4iiDDrKEzQlsEuUF2CVY0jbgkDhjMLQkEkj0IM4gQQ1EHMHOOXMiakRpTiQQtXgTA+7kgzvB4UyiuBM17myAM+Pgzmq4MyfO7EwjAAAEf+BAxqI/agAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMztXryaAAAAD3RSTlMAHd4P7ztyiy1OnKhdx7uY2gyAAAAB8ElEQVQ4y72Uu0vDQBzHE45C3SJFaSGjUEiRpJRCBifXokkpSv0DfOBrEKxUUSoFH9ClFAUfU7c4OARRCs5WjThIsJuDlLo4ldvPe8SYxGyCt1zgw+dev+8vHPcvYybvfCR2OgUv2CoLdI62bUn3gq5UJxOomZofXPUNrIChJRklfcDSiKK2bYQ6PiCaREk0EQoYPFYa3F73F+DGsBJLmAjBAMBKakG15KAxqIhd2KuK5reRccBDNbqGJhfSlnNc/kBh4OY+vaoR5QrRC0afKgxMrKdXNKI8yxRENpyd+i0VA6wMm5IOBmORCwfAFjGwolofevbuPrvpGhRgpVaqiJflrLuUQQFRToS9l894EMDe7q6yL7/G5wMATc5mQCiAvQo3HAbwLtyYHQZgTxhohgGUa/CP12EA16W2/Ou4ZEj1dNG9oPMkZGiwJWQ8j+huPoJy9Z/XHTfUFSbAURveCtE5px5vs7hQDKS25FSDn2KR5Up1/lRmIHne7BvKd82LMRJbSjr5M40lmaYZ5/PRpiCpizjJyk+CwOGOzACLpSdz02QxkiuRhd8dNOwkV7zl2YX1mcySKJrQiPkXY9klSt6rkJPRwIlmzrcWSGyzHuTb11V/N0y/S6SdwdCR4m/47OIN7XOQCfwJwHGp8IcfyRdBLEZK4Uxp6wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAP1BMVEVHcEz///////////////////////////////////////////////////////////////////////////////9KjZoYAAAAFHRSTlMAbk2o8o0P5TsGnVojFi/XHcV9urLaq0oAAAIQSURBVEjH3ZZZkqswDEXxLM8T+1/rkw0BuwM0f131+IvDyZVk6SrL8p88QCHp8UAnWmoWoG8AwQRN4/vOiqwUuwWqiob646MMhEW+KnMLMIXffgiZoODBusb7kCzjByF7OOszkOyp4amJ7fWVPwCN6BpyWRypvANPCvi7u4aTXe13YI+KkYA5bMRTSMlLnSyGwisSH40B0FJOrKVB6iAw2U7sGgPgQ/DTPQjitCOZT4Q6gWCtGwGFbSM34ENUNSpAKTACmC31rnRgJwjDdkFAJpfkAsZcAJvCSVQB2FaWWKdB/ATMAHwIUYL21lRBZRDiC5AnsBHBUqxEyaraFMoz0AnvHNa6xDWS34FGgNf6PYAEZoCt+BroUWFVbeb5HbCqSvB2cToyca+Adjlycdawt0C/HeyScl1W/w3gsU3aAd7JF8AuAN6isr7NAogXAFeq59Ec7ifAm49hF8wCMWfVNXAeCAkjEGuBr6R5ZGJzBrl4gGniBME+w8aMMyCsNZtfaemnmYaAQ6I3Rz0fnDhHJxc93Vrr7sHWjP3XRtTba2L3EkdFVaPC6YmXxKI9DGF1YPLdiwfD2r37cL5nDVw+uKzU5K27hsXCXPtyC2uyyl0D0p2TY7VaIvFYWU0Dm8TdOXmrVp52HG4lU4K/N38PpS/Kw70dbmb/sC0WCcQwNNzzjrzUj7veUyIIyL/4m/EP8V829O8zh5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAM1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzNzc3MzMzNzc3MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxDm1AzAAAAEXRSTlMAHqw+E8It/gjxc03jhGDTlgAjE2kAAAI6SURBVEjHpVbZkoQgDBwg3Of/f+12gtfMbK1Yy4NampCju4Ov1y8ruNyyo9fyCibVlNW6vUu29GpWQwTVdPTernqwffHex0WP4Nro3k+PrMKCvew/PcZ95aoNsY9yua+cGxTZsnf2K7ch4CAdGnWwYx/5LgKZCgxGdrhH3BeqNmnwviFXPZbQJmcM25HJ5n7/Pczr2QqksMJfO7BJOHLKLWFdMiL1QXYRwFagMklb4GB1zS7s8Le3fqH7Q28tVLkKdIzeaOJB2OKtY8KfTQCUa4++dNsLbrqpTR7xguHGt8hfg8P+seuaEkNdBjahzOD7g1cHP21SL2LtMNBKMdTRJjffTX1wVgrsEb1ITJU6QknwYJAcQky2cE02NbzPp70KyKggtpu9xM7Ik+CBIqY+8FrYyRUkrs+MEm1TG6tG9LZxNDNFGDue63TYGgIHqUUcuNhvhyZtn5LnlDq3Juxa4noCuX0scErOpNMDCrVcHPCS5rFGuQR9KZpxnB6CQ0ZO+AIBcTPk3UdbTx1L7jLEEHsMW7ZYm8NlIFyxn8+xdL7MURYEhzd5k2N2TabxIAORwC2r00QQfNSgrnqTJfh7cDmDu9ggtV0EZFr7kGu4KAxtNDln406TLwF9iZCIwn9EfjPuncRHYm5x3NfK3cFAS5kWxljSnTFlPHBAUFg5HsCCVOd9cdwXq+027un2QJlMjqISJutCDceRtTTuT4+1Q3HWHR8cu0fh9sGvADTYH9iLah/9nPz5+/MDJnQfoIVoAnQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAQlBMVEVHcEz////////////////////////////////////////////////////////////////////////////////////1bZCPAAAAFXRSTlMAeVoYDS1pBiPv4/g6lkzO2qSxvoixscijAAACi0lEQVRIx51W2ZLcIAwcLnPf+P9/NS2wp5xkq0ziF3ZRC3R0i/l8fvi04oxx89n+RBi1sqB38TKw7lw7lNzDa3U0e57bHhJ4d567HlqGC08eLAj9Gv8XD4/OwtsdhlfCW2s9LfWtuNrMhG1uLWP17Xh14LF4m8dx1OJ9jkm85YCYch5JzDVy81on3MFYkpTNYGmHHloYI+aqlNhlh5ZSvmH1AyBUwPcMX+u/clW3XYvA2YgRGXyZIZX6PXv0l3GlV9Jp9FKcK7mytJIg8xEeBdaBtV4P8tAixexnp73tY7ZBkrk9WEL8t7ZUDqtIA3jXa8sODSeUVqw5aztT+g4QeNAgM0PGTA0+EmfVeUvU0CEW4hX+lt/zseE7jJKDSmi0EUKBhr7EAMKPvNjOA9Fz4Yk/CFgcGRSdkYOHCLRxQfzKRN5SB/b5Ot8SzzQiKqcb6ipFdCfi1JI84OBdxzarhJ8RkpxHOQszl7bpn0GpmnXq6R4OfTkwwlyUWzeQg7rSLNhNUzEUEqJF3DMHeeXgqRIaYwHimLKipK8hMZOYVfJ5oKtIFSgXk5z4KcNx3GOIPGYfPigh9YGHBNQKVKbZhxMnqq+OHfWBHARZfWm1dnfSXfJuXInplse8wy39zkisdQ5kuLY+Bpc5hwGiH8Mx1rE24DFaLqXkfrNVkjk+8JPTPF0bUw+R9MCVuA8ks/xDyF/9orMqpBQeiob5RbIbmv7/TxvoX1Oqa914TsYg7QUWx8Y7R89JQY8mY6Dat1G5GARuMOgYHY9cbL1vNvc++fk67olLk4nrQSl7457OPqdeKn+vEwm4LPzW87DyXvqIyei9znHS+cZz9SxV+Qf8nNbjn37NkDx4+PmCXzHOLUMtjgmUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEwgmv8imPwimPwhmP8imP8imPwimPwmmf8imPwimPwhmP0imPwimPwimPwimPsimP0imPoLqfILAAAAEnRSTlMADprCJBnU/gXwh3LiUKxAXjJ/ELXKAAACbklEQVRIx5VW2bbjIAwLa1jM9v8/O7Iht+09MwPlpS2VwLZkJ9f1lxVG1joPdZ0u1ZIxurhv8DH6dMpQI5t439GAEc7xYPgTRnAtV7plReRhd5kDP8+fd+wzt70yPhIJzWT7/6DCJCAYLReZPMIuJC4pClSktHqbNpJO1aTmmAme3cvtWs9NSfq52CPhnJNjlbVHwgmWSWGHeQHcKFjj7fygwidf2fa4mbVOuladcnsoDn9/CKKAWf6HEtpANiJvUp9Fgr0SvocPP/sqjOCK9ktpyCAo4Kt/d4n4/6baseNKAt5XrauPN1A4ZLAd30RUI4kNfELVx+yd3lrXYIg1Bp/B/dGs5N8mPsJoVyiwkofQSlm+K9aiwmoQMDoI4wefoK/rhkESrSuV+BR2i6HZH9juLzxCtBmn6rFmB66gNJQwBOSxncT/N3FAlxAoLQfJDy2+6rMLI3aznl9fhOcGSdZzoNhex2K3TXJEVe3M4Zb6QhHuJc5BWakYIqqietcPw6FK+EHofUHRqtLEQ5X8dKVENXXgEpLOpcjwkFI30YFVHE8fyx2ShZJ/ydTKlZwZ4BCOv/af9uMi0DILe4kieynScgPbhai+DRDckTT6N6zJpI3HMghM3BMg+q9pHmwrbR0Q0D5wc0JHPy0E5Ur7Nf3Rk68LnR0NHfO28/T5P4cNr+uLFR7eEdiNxvMRbd5Onlqsis4iIVdme4di3akWOz+3T0aUnFWHa8QZrO51NO69MeLPafrNuBenxel/3d21j8k/jyxf+75OQabFxOtuT94G3Lpjzb0zBn2Dl0ep/waPidQ/p/XB60Dp7e8F/QO7WSJg4zEzdwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcExru/9ru/9qu/9ru/9ru/9ru/9ru/9svP9ruv9ru/9ru/9ru/9ru/9ru/9ru/9ru/9ru/+3uxEqAAAAEnRSTlMA5q0cR/PC/ggSKtN5OIhaa5izIOiAAAACV0lEQVRIx5VW2ZLjMAiMToNu/f/PboNsJ5PaKWv8kKRkWkDTQF6v/zyUfO+JX9sP1dKKd/v2acQcm992kbo1R4il7iHIif0BRNtCUOozH4cikAdt2YfjRLTnzN15/8I85wFCI2xDzlnyMLO7R0aFoTzbFGB+jIkYLkyePvmW8d2fs2ZfZuv8It9s6zvV5uSr2LmKb9oVh37QvpjYOcf8fcO3Cb1jGqOU0SvTTd6X2KUBLgKdLzaiDtE2n+isTh8/+AX7E6/Vh/NNSyfVm10RXIe1nxXRapmsDQB7SMnkmE0IxgqvUn0jteEf1T2CHXgr0gjZllGk1HoJL7lD7fRpD20CgJcwQ6EdSh3lLK0zVfuqz2WvPlPJh7HqnCQ4MysxoAYQE0vHub/toRuqzRy5pEUvbg62MzlJQn1MHBe1x7WSAddpNDSN1c9wRMhKfi2jrICwAIsQvHkD7Al41bOrBNC1Y7QdmSg15LDokGETJB/imxYJKfmFMDqI3FjUkDS3NSEDjBaxknRYSb+4nj4kC43W2OKrkqGB8jV2Fq03YiWbhHQTpUV1mMHXWYf8HlNX7ZUQRC6iwBAIK0r0ILr1UxqKsPattAkhwSIiMl76bT/Ft/TbTy2jHQoM7Cz9isHVMb6GILl0H4DGivbw7xNc8rAtiJn3O/qvD6JT/wgs7Y370ZSdWmbZWEKiG1lXImldW7Q1jGMbZW9tUVKZmGjjGvf+EXAqzWiX5OfFSHVp/zjbfGPc3whdcbTF67V2N1e79qYMru2/AnzVYFsdWFt/+nOypv8vQvoHou4gOtSrG5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTM7OzszMzM3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzW8hQDoAAAAMdFJOUwC/gO8ra6tUQNmVEKtAA1gAAAE4SURBVDjLzZMhT8RAEIWnpS3tXcWdQ6wgOJIKfFdUICv6AyruB5w4EuSJCwRXgUBWkGArLsEi6JVuaZkfxawguSWz/p7azLdtdt97C3ASagp+PpeXPDjHVx7McMWDCBc8qPCZB4m44YFIeOBh+ckCf9z+sCCYqi8WvA/5Nwu26cfA+JRBs4h7WmX/tr9AXcQHAPdgzEPZh5idTQBOZ3zyiModISKQGxZ7dd85E0SKfMGjM7vXeI/5AE5LvrwpcK9IOrQYB5BlCsFIvjzgrkaSjsBZbmC9XsGsAxfn8gKXpL9sSlnQFBwFTTuaKWXgI5Ar+sfHTrW6DUDO+2jEEtCNQ9wL6gNujMvvdFS3eugxGT51fBXxTvF1wLLngbT0BGphKalAy0MQ3Z4Ha2V7UoMFJKkFVAWcvH4B0OJfd9YsTl0AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwD2qdfrViyAwW2XORBGtSCsD6SyAAABN0lEQVRIx+2VzQ7DIAyDYfxToH7/p10CbQ+T2s33Rb1MijM3/qDG/EurolD9zSNRggBU0hFelMABmenfADhGkJDhGUFGgiX6I1AAQlDgZK/td8ELtQORiTmIq42I2bYdCD8NjzPmYQxO+rbn2S5qzEUF6YjkgcJude56X3s0SoL7LRAeylyaVPiFq0Jyx230mpeXmXVOHssRbhackhCq25Sny++xcBW1n6Snqw6BTgrqRP6kzfDcgmRLGonDWSf2OecwB491dOrEVZpNsxiyiHzWJ0Z+BbBwzaoWVb49HrqVfSkxHen7WNznLhzl8xpQlT3E9oHUtYaufB+7NY9g9ctbjFfj/h1DwXUrzDltMn1Ql9M814EQWPLmEBg4R7JSzpFQxTmSBMkLvJKOhFHfKEEnv3L/+qw3DuMPzAFH9pIAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAtUExURUdwTBGW2xKV2hKW3BKW2xGW3BKW2xGW3BGW2xKW2xKV3RGW2xGW2xGW3BKW2+P2IvgAAAAOdFJOUwC/gCvzq1RAleURc9VmrA9rXAAAAT9JREFUOMvNkzFLw1AUhU+SxtTahnZyC+IsIeAenDuE/oJQcS/FTYTi6hKcHYpDZ/EXBME95BeURpM0Me39Db4Mgk/u23umcL8kvHfOucBBKEr5eW95xoMjeuBBlyY86NOQBwt654HrPPHAca/YuUHrDQsG9eybBWa1+GLBqvS3LJiNX0vGJw/R0N6LJ+/f6x9I3uwG0D+luRU0FnmdCtBy6ZM7KvQdjgXwJYuNZVNrFfqF8IX+nFm/oBvyS2iZ8OWxgH4u1IZmU4kgfoa5E77c0jwhoTYCbTRFGE7QrXFCveCURkK/2cRBCp2gFYiyWk7Jw4AgXOmQZMAqa9uAeCP+JsViihtb9OKIPtBUuvy8jeqyHRpMhvc5X0W6Lvg60HrPg0DREySOoqQJKRbByRWbExaqlSoVwB0rwCLFwesHquttxhcsa64AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTH3G63zE6n3G7H3F633G7H3F633G633F7H3F7HvG7H3G7H3F6xOzy+EAAAAMdFJOUwC/hKbvK0BT2XURZct0z00AAAE3SURBVDjLzZMhU8NAEIX3LiSUNqI1qBMMChFRgYxAd07E4CI6HQwzEUXgKjC4CH5ABAKJyA+oaHqBJO3+KPaYYSZh9nyfyuyXu7l77x3ASSgu+flYX/HgHOc8kC4wwikPMnzhQaTueKAiHvi43bFg0m4OLPBM9sWCjyb9ZsHm8NkwPiUQT8MjfSX/fn+F/C3syJf9YB7oLsDkjIaiHix5QCNbGBmAFPve+3lXi/0viLB3ZnmDz5g2ICry5daAvCbZhSE2oIsFeC35ssJljiQbgZitIY7nIGu4wLG+xBnpL5tClxQhCANR1Q5TSmCCQK7YjftOVbYNUOxot0EsHl0uwHdFfcD14PJLG9W9HfpMho81X0V8MnwdcHvkgS4cBcqVo6QKHQ9B1a6XY1zAcSiIFg6QlXDy+gEd714RcAqEowAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTL+/v76+vsDAwL+/v7+/v7+/v8DAwL+/v7+/v96T4QgAAAAJdFJOUwBAgSCbs9hZap+hQJoAAADvSURBVDjLY2AYRkAJCAygbEZBQUEBKJtpJhDAOJpA9kSYxESgKphuIaBuhASqyYzESjC2hDRilQBZ64BFgm2qMLPYNCwSkQpAwlMBWYIRzJsKYrKCxZSRncKSDFYzBSNY2MD2MqRhSFgqgClPAwwJBxwSbAk4jGKZDCKZp2JIsEOcOx0ztjQDYL5ENwsYJKrTsMSvGSgepzVg2pE5qSikPRPT8sopBuDod0ATZ54JsbZyBrJgAVAp1Ax2oPXMykjxYQaLA2CMoERUZQDMrgBUCc8CKIdzAvHJhyQJpLQLSu0TCaV2lPwBSu0KQy+LAwBuJj5UbruNggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTP///////////////////////////////////////////////w2imYoAAAAMdFJOUwBAgBvfrFmcw4wrbtGliFoAAAD2SURBVDjLY2AYRkAJCAygbEZBQUEBKJvpDBDAODpA9kGYxEGgKphuIaBuhASqyYzESjBu79yIVWIP0NoCLBIsR4WZJY5gkYiZACRqFJAlGMG8EyAmK1hMGdkp7M4gkus4RrCwBIApFwwJmwlgqsYAQ6IAIrEAwygHHEaxngJbfhRDgg0sxHoMM7Z0AmC+RAPsJ4S5NE5gid8VoHg8sgHTDh/PzM60HkzLc44bgKMf3RKuMwoQ+dNIgswJDAycUDPYjhgwMCsjxYcJLA6AMYISUTkBMLsaUCVqEqAcngPEJx+SJJDSLii1HySU2lHyByi1Kwy9LA4AqflRBKNSA88AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTBCT2xKV2hGY2hKW2xGW2xGW2xGW2xKX3BGX3BKW23povfoAAAAKdFJOUwBAgRybs9hZLG6hrV9tAAAA80lEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTgmZiFViFtBaBywSbEuFmcWWYZGIUgASXgrIEoxg3lIQkxUspozsFJZkEMmxBCNY2MD2MqRhSFgpgCkvAwwJBxwSbAk4jGJZAbZ8KYYEO8S5yzFjSysA5kt0s5YKc6guwxK/baB4XDYB045Vi4pCyrMwLa9aYgCOfgc0cY5VEGurViIJMhcAlULNYF9mwMCsjBQfZrA4AMYISkRVBcDsCkCV8CqAcrgWEJ98SJJASrug1L6QUGpHyR+g1K4w9LI4ALk0RHtSETFcAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTHzD63zE6n7H7H3F7H3F633G63zF7H3G7H3F7H3F68TinBIAAAAKdFJOUwBAgR+Z31ipwW4yAjb9AAAA+UlEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTmmZiFViFtBaBywSrMuFmSWWYpGoUgASXgrIEowgHtsKEJMDLKaM7BSWYLCaJRjBwloAploxJKwUwJSXAYYE2KUMVRgSrAFgKhTDKPbFIJJ5OYYEG1iIfRlmbGkVwHyJBlhWCDNrrMASvxageFw6AdOOqKCklrQuTMuzlhiAo98BTZx5FcTarJXIgglApVBr2ZYaMDArI8WHKSwOgDGCElFZBTC7GlAlvBKgHK4FxCcfkiSQ0i4otS8klNpR8gcotSsMvSwOAIs+RIlIrewIAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA51JREFUaEPtmT1oFEEUx9/bnRALGxE70btkZjcR7QMiRisRbCzEQvxCLGyEhCDRBC/RoNaWFgYLFUSwUBAUDKKFFqIQ3OzNJpfCyspS8HaejNyG87J7t7N3l03gttydefP/vbcz8+YNwhZ/cIvrhx5A3hFMjEAQBDwMwzOmAi3LWhBCLDTr5/t+ycSubdtLnPOncX1iAfQAlmXdNBmkru2RVgBSSspg+5kQ4lRjv1iAIAgqRFTIMIju0i2AWNvrAKSUowDwLqP4tACm9rWmbABCiFxXKimlhu0BtPFHtdc19wj4vn/Wtu3XnPOfWVByA5BSngCAuwCwryb8Hud8EhGNltANB/B9/5BlWXcA4GCMx/8g4jjn/H7aaGwYgOd5BxhjcwCgPd/0QcRVAJhM2l3rO3cdQEq5GxFvEdH5VsLX7aKIH8MwLLmu+zapb9cAFhcXt/f3988AwJip8Jj2L2zbLg0MDHxr/NY1gCAIpohIJ2V2BwC0iUd9fX2lQqFQ6cQvtJbICSGOxHhlVOdKjuPMl8vlqzrxI6IdWUAQ8Um1Wp0ZGhryiYghYrUtgDQionxJT0al1IwGkVJeBAANvieNDQB4joglzvmilHIXAIwrpX67rmuUamfKcxoTvnoQ3/dP27Z9g4j2J4C81KBCiC9LS0suY2yMiC7rttoZuQBEQhsiopfT6wAwUvv+hjE2XSwWP0kpRxBxgohO1kPmDhAHEgTBUaVU1XGc98vLy8eVUhoqbpPLPwIx6/wqEV2ovX8AALzZ/Ng0EWgQGa1iLQ8xPYCUyx8YHjt7EWjm2I7sAy0it7ERqNWEDkeiklIJg8pFWwC1ZC6SM9NYc1oXgcaiVlxVYmVlZW8YhlMAcCnFvOkEQPqqRBqASLTneTsZY3pjapZSpwF4Y1nW7ODg4Ie202kTgGiwSqWyrVqtXgOA6Zj0OhGAiF4R0azrup87dqDJAlA/eLlcnkDESQCI0us4gOdEdNtxnK+tfkHjA027AJEgKeUVANBROVd7p3fixwAwJ4T43kp4nR2zylynAOoE/JuAiPiDcx6kFb5pAEwF5zKJ2xXZrH9uc6BTUD0AAGh639Xo6bjUI+G/NglS+p3Y87wCY+y/2ozJSGkuRDLekQFjbEexWPxVryfpjuxhllKhNtwtAESc55xHx9M1hsR0WlcOlFLHTLyv26Ypi5hesyql5oeHh3VBeN2T6TxgCtXN9j2Abno3je0tH4G/KbtRT7VUKs8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAwdJREFUaEPtmTuIFTEUhv8fLSxsFrET3UIQRHtBRNdKBBsLsRBfiIWNoIisD1xfqLWlhYuFCiJYKAgKLqKFFqIgoiBoYWVlKbjwy4HMJXs3M5Nk7tzZCzfdvZPk/F9OHicnxIgXjrh+jAG69mCpByStB3AgQ+AcybmqdpJmEvv9SvJhqE0QwBm4lGikqD4VAaCMvh+R3NffrgzgB4DJDCPWpC2AYN+LACTtAPAqU3wsQGr/pikPgGSnO5Ukgx0DNJhRzZp27gFJBwE8J/k7B6UzAEl7ANwEsNEJvwVgmmTSFjp0AEnbANwAsDUw4v8AnCZ5O9YbQwOQtBnAdQA28nXlp/NG8HT1G7cOIGkNgKsADtepDnx/C2CG5Muytq0BSFoJ4DKAUxnC+5s8cSCf+j+0CXDBjAJYNgAA6+Keg7AwpldyAXqBHMmpwKjYyThJclbSSQBWfyIT5IF5kuQ3SctJzjcCiBHhxUu2GM24gRx1IGtj+gDw2I34Z0mrbXcC8JdkUqidFecEAj4fZD+A8wA2lYA8NVCSHyRtcGvouKtrg9EJQKHVB7Ht9ByALe7jCwAXSb6TZP+dAbC3D7JzgBDITgDzJF9L2u2gQoectV0yAD7IEffjDgC7plaVJQdgYotdLOYSMwaI2gETr51jD1SN6qDOgSobw/WAywltLxRVhBIxi7LxInaxUCHHFvmCpFkorWInoR8LheqsA2DB3LGIRdPIAznBXC1AIVrSKncwVYXUMQB2Sl8h+SYQOCanVaIBPJAVAM5aqBAIr6sAnjnh78s82aoHQkYlWYwz7YXXIQCLRK+R/Fg3BYcO4HnlhPPKIfefTYX7dm8m+aVOuNdP+1OoSow79KzKL5LfY4UvGYBUwZ0s4qYiazzY7RRqCtfZIm4qfGBrAEDle1e/0FDoUTKvUxiT3gfsaWlBbibFUsyDiKSkBK9nf4LkH19P2RvZ3cxUIVoEmCVZXE97DFXPrJY52JUy+lY3Ji2S8cxq4i3jsahk3QdSodqsPwZoc3Rj+h55D/wH5CHfQHNA9EUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA9JJREFUaEPtmU+IE1ccx7+/N7O0BwUn24UeRKOd7LalvS+I6HoSwYsH8SCtLf1jEqWoyLJVMfEP6nlNIgi6eFChCB4UChaU0h7aQ1GQrnFSdw9e/JNs9LTFzPvJZI27m8xk5k02m13I3sK+33vfz/u9N+/7fo+wzP9ometHF6DTGfTMQF+mYNqwd6sKlFLcK++P3WsWF8nkUyr9stAeTcXN624xrgDVAUgcVxmk1lbaGPIFyFocou9fSonYzvo4d4BsYQLgaIhB0EYA174bAFaNWpuFhrthxDsxQQCMrKXUPwGbvfr2BSglYh39UjmwXYCwy2kh4jqegd5M/itdaL8+i5vPwwB1DMDIWNuJcBbA545wAs4V4+YIiJQ+oYsOYGTzGwniDIANLjP+hkCHiglzNGg2Fg3AGB3/Ugj9NBO2+4ujSSaMeJ2uc+PbDhC5aK1GhU6CeY+/8IZz9E+CnSomBn7zim0bQF/m4QqbPkgDOKgufH4EAzdZaKny3vUP6vtqG0BvtnCUwY4p01oFcOIZuCJ7elKvvo9OtLyESMN7IzeViA3VC3TshiY4Wkz2j0Uyj3+aMX5shAIhuia4kn6Z+DSPu6xjiCotAQQRMeuXaJJYpqsgOetbcBV8TZA+ANxgotRU3Hz48SWr7800DjHL6VJyQMlqh/I5jYZvFsTI5XcRa0cA/sLDv98iieMv98X++Sj7aEBCPwjwD9W2LNMdAqhJnQMyc5D9DGBwRhzukK4fK/647q9I1hoE6DDAO+ZBdh6gEaQ3V9hi27JS3tf/u3Hhv20kpQPldsgthQw0fOcnpc3fVK2EhosEmE33x9LJwKxM54Lj/Ap0SeoCBPz+qVw7uxnwmdQFOge8R1n0DDg1ISaxqSbJy0oE2pTvqhStbOK5FQy2ka6vOTVkoL6o5VaVWHX+yVoh7KMAvvPbNq1mQNmNBgGoiV55fry3R+jOweRpqQMBMO4wxImp5Cd/tGynVQBqg0UvT3z4eroyDMaxenvdHIBvE/GJYnzgb69MtjUDboMa2ceHCTQCoGqvPQBuSOZT5WT/fb8luOgANUFGxkoQYVja+Lq2iQm4ygKnS3tj//oJf9+PamUuzBJqJsY59Jz/9wh6+iJpFoIKXzIAqoI7solbFdksvmN7YKGgugAMNH3vqp9pN+vhtq5VMqT2PpAbjwrW59VmVAYL8iASCfdGBvm/bpQPrCvP1eP+RpYrXA5XKgTaBkA0Voqb1eupL4DToFo5YLlVZfadtkHKIqrPrFLIsXL8s0k3LaHuA6pQ7WzfBWjn7Abpe9ln4C11Qo9Pmb2aMgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA8hJREFUaEPtmU1oU1kUx//nvthx4cJqX3RgGLsQBNG1tq8Z7axkwM0sxIX4hbhwIygibfPMeyapunY5iymzGAURZjEDAwoVm8SPhSiIKAjtQtAmiooLiyb3yEtNm76+5L37kjQp5C2Te879/+65H+eeS1jlH61y/egCtDuCNSOQyH3cWirNHVIXKO6kYvqdenbxqVlLxS8J8Txp6Ne9bDwBnA5IiIRKJ5W2LDHsB2BmC6zqmxk3UkP6AbedJ4CZfTsNcL9qJ077VgHU8r0MID5V2EsCk2HEBwbIFdT8M/aGBkgaelt3KtOB7QKEnU9NsGt7BMyp2cOa4P8tY3M+DE/bAC7cK+xnxmUwtjvCCXzFHtRHiEhpC11xADOTjwG4BCLDY8S/MvhsyoheDRqNFQMwc292QmppEPb7i6MZgEdqna7V9i0HSNx/95MscRLgo/7CXS0IWS6VrFRs8+1ati0DSEzm18kesgGcURa+3OAfSGklY5ueuP9qGYCZzceZySKC1gQAgPkvXtNjpXatn258CmlYSOSSg/qwW+B8usH9SSM6Ec/lTxM7iR/3hgEh4Jpk2Kkh/UVikiP2MBUbAggiYjFfchajtB0QM/fuOFg64D8H8QHQTQ3CsowNT8cffdLnPn8+KyXPpWKb1FLtYJ0tbbU84asCyRYOEmiMwTtq+P63JJAYH9AfxTOFbUTlNXRyPlmTdpsAKlIXQZyDDJJGGbx7/l++BSHM5EDfg7HMm91CRM6B+fdqyA4AWA5iZd/++hWymDaid+OZ/G8EGgXB65DrhAi4Jw3NsORj5VRC4A8AW+tN2Q6KwKJM54b2HcD3EtMFCLojqVw7uxHwGdVQ992OjkC5JqSJPRXw2qlEsMpFo1OonMx9/7gE211z8iirLC1qeVUlxrLvtwgU4wBO+K2bpgCoVSX8ASqiRx682hgp/jBaL6UOBsC3pMTFdCyaaUI6HRyg0llicnptqWfdeTBMd3pdH4D/kyQupgf7HtaKZIj7gDpAdefxzOw5IjECoJxeewEQ6CZBpmwj+thvCq44QEWQmZ09BYjzLHFk4SQm/C2KIm3/svGZn/AFP+qVucYi4BbmbLnOb5rGr+zB6MugwjsGQFVwWxZxoyLr2bdtDTQLqgsAQt33LvdIe6UenvNaJUQqJ3Hi3ut+KSNLajMqfQV5EAnzRuZoEF8ivfZw74dqPbXeyP4MVSoE0DoAmkgafeXrqS+A08CpHBDTPpXRd9oGKYuoPrNqETlhD/w446Ul1H1AFaqV7bsArRzdIL5XfQS+AaeCtE+rbksUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACJpJREFUaEO9WntsW9UZ/33HaZJCX7S5TmhalQ1NaAzGYJUgvk7pe5QKusGa0v0xaZvQkKBbK60BWl/b8XWKaLWtUJg6IcG0P+hrCMHWlcdK2OLrFPFYGdU0ac+q9BHfFPoC2sQ+33SufVPXvfa1kyaWolg+3+t3zznfd87vu4Qx+nQfONc8yF+0KvP1NPHoxjsm9Y+FK7oSRo2+fh0I3AUpFwHUyoxWIv6EiI4o+8w8m5mmE+EowEchxH4g95rZ1myN1v+IAUR6M3eRwCqAFgM4C8ZeZuyFmHDk9OmpH2+7my4UB7fmj9wwderpWZBDs4mwHOoPmAzwn1hiV7I9+NpIwNQMwOjtvwWC1gLUwVJuIfA+s73lnZE4N3pP3M6gZSTEeoB3Q/JWs735w1psVQ0g/t6xq+T5uogkrCXQKyDebIaCf63FWTlZI525FUydDF4hGFtFYzYZnzvz82psVwVAOSCI7QA3MuMJU9d2VmO8VhnDsh8gwuMAnWfIh6p5QL4AlFEAO5ixp45yj8T1lkytgdUiH7dOBLMceIYIKwGs9ntYFQFELDtGQJyJ1yZDwadqCWS0spF05qfEtJWl7Eq2N8fL2SsLwLBOtgEybeqa7yyNJthYjEVucSYqRN1HCX3GS6W2DMtmQIRMfUaflx/P4GJ9x6+Tsu6/xGJpIjzjzdEEWEk3tvtQvZzVsgPM9zEwJJhXJMLBfcU60dTJJUzyDSGyX+pqu/Z/pfYuAxA7xPXytP17YvowEdY6xyr4dekjEydxo0oG9170QadY8neS7drbl4KwNzPxLWKqdk/XTTRYPHYZgGgqs0kSLQsExJ1dd8w4MxYAOlP25AaCCv5uD/vHIHP3FdeW2IGTU3I5+WfBvC8RDm4oC0AVKRbUR6Af+u3+kQJ7rPfwNXVi4k4CLS1vg/+Vy/H9m+Y1/82VUdmQwc+T5LbiYnfJDBhW5gWAGk1dWz3SACvpxd8705QbHNwJ5kV+9r2yj2HZOwA+b+rBH7j6wwDyZxt6CcThagqIXwCl47GeTIusJ7Vs7vTTZfDBHGVXPxGa+Y9i2ULFTrHk+92z00UAlv1bSPmfSjnXz3G58c6ej2c1TGjYCYLub4P6JAZXd+szD3vJRnr74xDiy0ld+74aHwZgpOzjknhVtx78i7+T6iU2Wp/OEZzdBcLtVWj1BJB7oFK132hl5gmmXWZYu3YYQDQ9sIiZt5u69pUqnFQtErH6rycWKvhv+ioR9l2QWLU5rJ31kzUs+59E9FAi1LTfmYFo2t7MzFebevBhP+XScTWlVCdOmG3a9uKxSMq+QRB2MvANX5vML4shraNrAWV9ZQEYVuZZIvosEdI6HQCGlUmzpA2lBcTPWLTPXscSv3DkmOeZ4WCv+ho7cPLGXC63i0A3+dnIj9NvTL1pOLP46UR67fkkeJOpB0MFAPZhxoSFSX3av/2U3XHD6m9j0H4CTSz89kmgoeGG+NwpA3kH6PGzxcAOAbQyMI8IW9QT9dNR4xHr1PWEobdMXZvjAIik7OzpM01Xl14DKxkzLHs/gIXFMgR6KqE3rXVsqqUlRKy8DX7e1IM/2nCgvzmQFQdBaAFjnRnWtvqBcK6nUwY+S4a1OlLswfnc5x+ZejDop+iOq/VNhEtytLOKwIeSevBmFXxgQt3u3FC2wwsEMT+bCAcfGbZn9S8liNcdG1J2qf8qnTsps/ApTe+Glck0Bq66mWJ99m3MeC4R0vwzRcFYpM++lyRe8QKsTo1STtgC4KsiQB2lIAj4eULXflaqG7UG1jD4aReECthI2z1gzC/+zdWLpu33ifDgiAAYVn8nIJ70BBAQX/siK480CLwKJq0YBIG7E3owUm6mnc0/JJ2VoBKK2ksXZ6DkhOoCGMkSilr2cgb+4BHIOVPXJqvfN1rH5giqT0gORLv1azyrarVL1ktueAl5beKiLKL4nuMg9BPxtkQouEfJOxeR1ubjAKaXbOJ0Qm8aPi5E0gOPE7ACzLMAtBJwMKFrt44mcKV7ySZWPxjWpWk0lrLnSsK7pY4Y9FhSb3KWjpG2fwmGk3HcD5NYlgzNcAgqI22/CsY9JTbOmro2ZbQALkujpYWs8IRVSa8vdUa53OLEvJb9sZ5Pp3F9tsettAyKJPWm7vwDKbNHCG+bIW3BqAFcVsj6BkzkuNEMa+td4woUQG0ezgYCCCyI69MPRdL93yYWLyvKJRnWOpy1n7ZXC8aLXkGWy0C1AjJS9hYE6LzZ1mTkK7EiZ6V4ztS1G11jbnCegRB3uPshms6sdL87+8nKPE2gNV565S7mNQOw7L9DyAcVOXzxOG3ZRyBz3y2+ixqW/QEAj01HD5t606+8HEdS9u4CKVUyLB819ebNtQZbKq/4VIjA70xdm63GigBkXmDJhy+reB6b0b3u5fO0nA8hOKlrTgUtLj7Dmxu8LakHfzLa4J0Zdo4oNMe9VlZ1pYyoUk/i62DSAc6wlMfzpf7ioc0lwAqsxnUEugDB7yCLd8127f0rEXzFK2U+e9R2qfcCcCUCLWej4qXeAVAjrTKeAKqiVRQItQQgaLng3BI/Jnq8ACjGWlLgTUjeW5HYUgCcRsZgfY9UG7qQ28tN6XgBUJlNCJoj6gcXlDY+PMndwmb5wI9WHw8ALs0O4tu8+KoK9Hq+sVGJXh8PAHl6vXyjo3KDo3AtLEezVzqvjzYbubQ6A3G3xpQ5nlR25TY6iLGF6kRyrBhrNwrFRHNWRpiwvlJjw5WvqvuSb3gEfs2gIAFPjhVznU+VeJTAGSFyP/ZqaJQ+7qoAKCXV+OBTdnw82qw0TYuXNjLKrZOqAbgGShvdLOitkfKpiuckyQvHpdFd+gQUHQ9B3yPGEhDOAfwGS9pT1asGgldCNTgYk5igCtSL4/aqgddUKnIY4G8xc7ialz2IKAXQ64qcHW22qnkJVetwvF63+T9nAHfjRfzL0gAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA1RJREFUaEPtmT1oFEEUx9/bFLFKJzG2WiknZObFxlO8RtFC8SuFWlrYGBtRRNCghV9YmFQWgoVaaAS1ULRRRKvbmYBBQezVYBOIGFMkT0ZuYXPufOxdspuDO7jibmfe/H/z3sy8eYvQ4R/scP3QBSjbg8EemJyc3La4uHgUETcx82YAWNum+N8A8IWZrxLR41ZtBQForUeY+Xarg/j6MfMVIrroa5f13AuglOJWDLfQ56aU8mzefk4ApdR9ADiW12ir7RFxXAgxkqe/FUBrvYeZXzQbY+bh3t7ed5VKZTrPQM2eNHYQ8VGGjTtSypOhtq0AcRyPIeKptCEppTfkbAM3AxhbcRwfyYJg5nEiCvKEVZBS6hUA7EoEIeJ+IcTz0JlpbpcFYNrYIBDxlhDijG88lwd+IGJ/YoCZ1xPRd5/BUA/Mzc31VavVWRcEM18jovOuMV0eWLL7tBM+RoBS6isAbEzERFFUHRwc/JD8dnjishDikg2iSIAJADiU8uhdIjqRFuZYEweI6Gmuc8AWs6EhVK/XR3t6eg4zMyKiEQ/MvOSwQsS3iHhhZmbmY61W++UIp/dSyu2FAmit3zDzTjMoItaFEFuVUt8AYCB0ElLtZqWUfYUCZHlQKXUQAJ60AAC2Nbhia8AWglprAoB7jYQwmGXVACSKzRqJomgLAJjvBh/JqgPwCQ7dRAoPIZ/w5HkXIHQGQlOHvCd56PjdEOpoD6TShT/MfD19OXeFQCPnOYeIaxYWFiaGhoZGQ9Pv5nZthVA6XWjkOsMJRGj+b/IhIURtVQCkIUJvYKUCONLf/+67tjuw+T+rLlTYLmSDCDmwbOIbF6CgC1Vba8B3m3JBuMQXDuC4iGQy+MSXAhAKESK+NAAfRKj4UgFsEHnElw5gBGit9wFAUqy9kbco1vY2Gsfxsha2QrbV1K42gIimAPDvw8zTRLQuy0ZhpcU8AMZ7zPws1ee1lHJ3LoDlLu7mAcioZFuLvYWV130AU1NT/fPz8zuyqtWIuFcI8TKXBxo7QaEvOCyQD6SUx20T4K33F/iKKVOj7yrqBWhsiSv6ki8zNBBPCyHGfKEXBGCMrMBr1mZtPxHxEzN/jqLoYbr07oIIBvDNRFnPuwBlzXwybsd74C95KWhPrxIhsgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAthJREFUaEPtmTuMTUEYx3//TrWdeLRUJCrReISGUBCvLVAqNGiEiASh8IoClUKyBQqPBAWhsREqnYRE9NgoV0T3yci5m9mzc2bmnHvvOXuTO8ktbs7MN//ffPP45hsx4kUjrp8xQNcezPaAmW0EDgFrgLXA0j7F/wG+AlckPW5qKwvAzE4At5p2ktHusqTzGfUWVEkCmJk1MdygzQ1Jp+u2iwKY2X3gcF2jfdS/I8l5O7tUApjZTuBlwNIk8E7STHYvQMCTzs6jgI27ko7l2o4B3AaO+4YkJadcVcdlAGfLzA5WQGR7IgbwGtjuCdoj6UXuyJTrhQBcnQjETUmnUv3FAH4CyzwDKyX9SBnM9QAwIWk2AXFV0tlYnzGAebtPP9OnEPkNWO2J2STpQ+9/xBOXJF2ogmgT4Amw3xNyT9JRX1gEYq+kZyGIoQGY2UXgAPyPt5x4V8qH1TRwDvgk6XdkOr2XtLltgLfA1qLTj5I2mNl3YEWDdTQraaJtgAVryMz2AU8bAFC1Boc5hYKbgJmtB6aKgDCbZdEAeLuOWyPrit+qFMmiA0gJrjr4yu1an0Ip4Z6Hss6hMUBu6FD3JB9PodwRGGkPeOHCX+CafzmPDUAR85wBlrgwQ5LbUueV3AHsaxGbmR8uOAGTPYga8f+0pG2LBWAOosYNrFOAqith6L5bdQee81optG7nHIjE8DlnVlB8EVa3AxCJ4VMAleJbB2gAERXfCUANiKT4zgAyILLEdwoQgcgW3zlAIWA30EvWXq+bFBvESTzQxFZqSyqdAe7i7xIAvTIjaXnIRmupxZoAznvPvTZvJO2oCzDQ5G5NgPKbRGWyt7X0egrAzFwedktFtnqXpFe1PFAsxLYfOEIaH0g6UjUAyXx/i09MQY2pq2gSoPDEsB/5QuJPSnLrMFqyAAqIQT+zloX9Aj4DX4CHfuo9RpANkBqJrr6PAboa+V6/I++Bf0in3kCazcMZAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTMDAwL+/v7+/v7+/v76+vr+/v7+/v7+/v7+/v7+/v7+/vxtcv/AAAAALdFJOUwBVdZCpGdZE7C3B0wnY6AAAAV9JREFUOMt1lDtPwzAQx20ghGwVsHVJhQRDlsywWKqEULsw8FhRJ2iWiglGGJvFCw8xIVVCSEwkKU25L4ftpOHs2Cclsu7v370smxCLecRh+xOH8Ja5kGEs/6dtYf1XONcWZurbwwRCQjYZ9l7uHAPAOBHpI1QC/QSY9g84ldmnAn7Z3htwsfZnvSe54eJd5hlcC7gccxTwSETZEr5+714vLRdfkFraVNtetXLpR7ha+mkHCV1Y/q8ZOW8AgDkecsIaAEIcGbIGyLUq4KcBYl0o7QAB4FZACBMrQKpaJOCZQqyAIhgayYEpgD1DZghXCvBTNJFKmCvgzmhcCEsBwMjSRx6BslYftRX0JLYKrAsLqzDC54EFMwvy58QhMM8hFNq0UpwET+sLC9/4BmEBTytyRCIbDoAEiR1Qp1dbRxfoyv9g3ogaKVuXhVZZbtqX6Ez6H23PxG4CM259QDwt/h8ABfK8nDqSAAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwCCyreU7KZVRCDaZnETLwj6WaYVAAABUUlEQVRIx5WV2Q6EIAxFoVBWxf7/184AOnGUsvTBqDmXrqRCzNou1kwGtyZIQNuiD0P6evWTURFUMtIoPO+iVoGIZPkMqkdKA0jZgoJ6suQc2EoiGBldOoQ9HSDk5+GTs1Fqo9IlcEpvNv3qv0MBhSalIFSv3+MCJCY8fUaCxasycrMu9dp5VTUhubXZ6CqsAvn66ZAsx+e8fON37oT3bZ4aiRU0kDlavGSrQI95HPBZACt8FuCL16IruBVkzBeBW+CLYHvyfiDQd96IpHpOMqP++fAq9VMQ7rwrM5+6gjwG/3y/D/m8ylPYpvpAeqO7DfvwMPO9D6jnBabG56YFZx77fEjD+9AyLdYEhp8nxoNh5wmJtfY8AS+wzIZZrJNcC4h3wV8IH1p87Iyfnc6XVaAd7ICHAsebw97zgDSxZ/yvViiPuYUfTe650knM2+7Ywz9yOCklzohLOwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwDjmTC6Y0KBVakX8s8iC3JYR1wyAAABVUlEQVRIx62V2baFIAiGcwJRS97/aU/Zbtht0VzrcJOuvl/AAabpXy1RF0F/m2h2PX5mzucEuO9gMon1MY7KlG8w4LImC1XFQmxDGVkm1DYpXi0qS1gXTEGzKoqNS1ajAxPqJDikFLcFS+aukYJffRfXnAj9kYUXFVi86wzzPjuCFRXBwS3KaC/Pt02Ww7uf1jz3BVYtX/OsyDQFDn7yswPXb+Ovs39eJJWwxrOXV4thgC+//QBf/uMAXwAa4AuRBvgdWR58CB2B+eaRG5e8QO7Jn2sIAvzhbdsDnXzev8q0BengGXv8EciH3y1CY5++yI/BRNx82g/La7lc7b0Am/tUC6n3HoZ4SbDyy5BgzSNivV6wbPXeIPOpHlOU+CjkTQKvQOpXdRdJvn+5xttWQa4EZUOzluonT6+q72X6Zb0+T/lNhQd7hg9vm8LWUhW5gT4iN7c/0ZUo8Q3AttYAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURUdwTBKV2hGW2xKW2xKW2xKW2xGV3BGW2xGW3BGX2xKW3BKW2xCX2xKW2yDN61kAAAANdFJOUwCAVKxm3T/DmhrxKw97YQBGAAABaklEQVQ4y2NgIA6wGqCLMCqAqV4HdIm9F0Ek22UMM9hiG4AkVzQDA+cmx+YyJJnDlw8wMNQaNpfevbu0QgxJgrN3JQPD3VvhjU57kESnOZqvvXuJgcEXxVFMEkDt1w11gZYwoVgue3d5SzaQSgCydZG1TMkBU8vBuq9guBcqNBNDgj0GQrMEb0CVYEmA2ViANRQZ795tQPZduADciXcVUNSthGu4hGrAJawagBIXsWoAClzGqgEocRWrBqDIrQNQDTPRXZ8A0cB41wBNQgGiQfbubTQJAagGDB0GIA0OsnevbkCTCADiu4J374ahW34JqAEIbiXMRJOAgkvMKJYgJBx6717AKiF4F4eOu+jxgQCXGHBIKPDgkBC8JYCURJDtQHYWN4oEcvpZiyR+C9lZtkgSKKG1CyGOGrxItleixjrcLFBWRAYcMIkG9NQMiY67N7AlcxAQwMwA6SBxM2xZQ3jtVRPsRQ83sg8ACMIUxzzE8wsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTP///////////////////////////////////8kBMKEAAAAJdFJOUwCt0igUwJdJePGbgLgAAADcSURBVDjL1ZMxEoIwFESTCaOWFDapqeicnAALTiANnaWlnVewDTMW/7b+aCAb8jkAVIHN2/lsNkrt73lf8M08nnF1pAYFR/dFmAAx7SIoi4iDbRrWDMAuQFzmmxAGbjjJgjj6dCjMCAND/o8RWQMzUgIRKYE/wsC5TJIRR74rBUZaqqXwLZEXT0WTDGwLW1aavJWQir9qadw++NgykWoMNtcykh8Q5EECgr5C+jjpGjHjPGhPU5eVzyfPJitfnUyhPg6ywMKZ7BygcYcsPCj1Kc8uXYPqpeSLs6PnC4w8S+8OJ9MLAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABS1JREFUaEPVmgmoVVUUhr+fosKC5ogGSsqIpKQwMqjIBpsICdMGQ7ISo4wGApugJCoxLClssElpNEuaI5okKjOI5onKhEQrSiKiaKA/Vu3zOu+8c88593qvj7fgcO99e6/h33udtdda+4khThri9tM1ALaPAQ4Btso9GwNfAyuBb7JHUnzvCq0XANuTgePSs00bFr0L3BuPpF/b4BswtSMAyfDzgYPXRznweQ7ID53IaguA7ROBGcC4TpRV8IRL3SNpVrtyGwOwfVYoaaHgW2AZsBT4CliXnt+BXYBd02d8D5c7rIWc+ZJigRpTIwC2rwauKZH6NLBA0jONNQK2jwJOAU4FtijwPgpMkRTga6kWgO2XgSMKkjoyvGiN7d3SwpxZGHsVOEPSmjoElQBsPwScVhAyR9LMOsHtjNu+Hri8wPMBMF7SqipZLQHYvgq4tsA8S1KZK7Vjb+lc24cDsfJ5ul/SlLYBpGjzVIFxsaTw2Z6R7S2BnwoKpkta0Epp6Q7YfqEQKl+XdGjPLM8Jtn088GzuT9/FOyjpkzL9AwCkQ+qB3OSPki9GOrBByPZ1wBU5ZY9LOrkpgDcLJ2zlFvYCke2NgFcK58VkSRFU+lG/HbA9EYg4nNE7kkb3wsg6mSWesEhSMdz2z0Zt3wRcnBO+wVc/0217WMpesyRxraSd6nbgfWC/NOm3OP4lRVowKGQ73sXIeDMaJ+nFvDF9LmQ78pR8nr5U0oRBsTwpLQnn8yTlPeR/F7I9HngiZ/A0SXcPJoDQbftHIHOjLyTt1WoHLgBuyQ3uKylC6KBS8UyS1C/w5F3oRuDSnLWbSPqzynrbkSdFfG6nGstE3inpkbrVsf0Y0OfKVQAWA5OSwJWS9mggPEJuhN5OaLWkqBMqyfZ9QF/4rALwPHBskrZC0pgGwsPFRtbNazH+s6TIfeoA3JqqwH/nVQG4HTg3SVsnadsGwiMznQYMiM91vKmgP7tuXjHVrgJwGXBDTuC2g3kGZHbYXhQVWva7CkCkyg/nAIyRtKJuhXo9bjuSyOFJzypJ2ff/XCqHdBTwXs6gmZLm9NrAKvm29wY+zc1ZKGlqnqeYzH0PbJ8mLJM0dpABTAfuyNkwVdLCKgDFGniEpC8HC4TtaONEOyej4cUaubgDFwLzcgw9q4HrFsV2pAxvANuluaWpfRHAAUAUNJsmpmhrjJa0tk5ht8dtRx0cITqjAYlcv5c49zJHKI2QmtEG3wXbcaDGwZrRamBsmTuX1cTxEi8H8qnEJElLur3KreTZfgk4Mjc+Q9L8svmtuhLnAUWGka06A90EZjt6UdGTymiJpCxHG6CqqrHVL4lKnMMkRaXWE7J9M3BRwXUmSnqrlcK61uLbwIEF5lGSou3XVbJ9F3BOQeglkgJUS2rS3P0F2LwgYYKkaKWvN9neGYgT//QSYR9Hil/lurUAQqjtOMyK9UEkWXMlfdgJihTn45CK1GCHChmVIBoBSCBixU8qKIrdmRuXG5LigqOWbO+fjA7jizsbqcxsINLsfJ3REkRjAAlEVQUWbfDncjc0UYz/BewJjCh8lgGNZvJsSctt75MabLUg2gKQQBydSrwyn63dgRYTrpQUdwR91BRE2wAyDbYPSk2nuPOKVW6X4t15EHhS0mdlzE1AdAygsFpxwX0CEJcUuwM7lhgULhW5VRgeHYnXmiBuAeI2SXHN272b+gKgzRKQrYFIBNdI+qOJwQ13oi8/68oOdGpYO3xpJ2LV/45zI/t3hSEDoBXYIQ/gH99H3EBePlczAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABYZJREFUaEPVmXmoVVUUxn8f0WRzVkJlIWVGUmIJWWADTVaUldFclCnSQBQYNv1RSCWGVFRSlkRh0GBS2YBmJWGJUBHNNJiYWQSZfwTRxBfrce5jv/3Ovefc++4z3oKLD/fea61v7bXXdMQQJw1x/ekKANs7AOcA44Ddkt/2wJbk9z2wTNIP3TLcgADYvhw4q/gFiLq0ClgBLJf0Ud1DZfs6AmD7UuA64JiBCAf+BR4GHpH0TSe82gJgO6x9PXBqJ8JanPktQABzJP3VDu/aAGzfADzYhPnPQLjFUuA7YHPx+xPYHxhZ/Bt/nw4c14TP+8CFkjbWBVELgO2ngfD3nJYBCyW9Wldg7LN9cigKXATsnJ39HTi+7tuoBGDb3VI852P7QOBO4MoSGaMlfVtlmJYAbL8HHJsxmSdpdhXjdtZt3wPcWnJmhKRfWvFqCsD2PODm7PBdksJiXSfbJwDvZIzfAM6VFG+plEoBFNHmlezEc5LCZweNbEcSjMSX0iJJ09sFsDwLlaslTRo0zRPGts8AXstkTZYUOvWjfjdQJKnFyc7PgCmS1m0NACHD9t3AbYm8yNiT6wKIWJxm2JmSFm4t5QsA2wBvZ/liuqRFuR59bsD2JcAzyaYPJU1oV3nbF8fjAw4DlnTy8Es8YYWk06oAPJnF5I6sb/tF4LxC2CZJ+3VghGFAVK17JmdHSVqf8uq9AdtR+kZNsmOx4Y9I/5KiLGiLbEc4jLDYQ5IqE2aZANvxFqNwbNBNkh5oBiAsFpZr0FJJU9vSvNjcRQBRPKbhfJWkE5sBuBe4JVmcIemJ/xNAyLb9a+JGGyRF+dFLqQstAK5J1g6XFCG0berWDRQA8py0raR/et2z8YftiD4RhRq0naS/W2lv+2wgIkNEm5x630BRaufrj0l6tso6tpcAqSuPkfR1GYAoic8sFtZJOqgG8w+Ao6r2NVnfKCn6hJZkO4+MkyStLgPwJhB1etBaSRNrMA8XG1u1r8n6Fkl7VJ21/VDRBTa29nHt9A28AJxf7NosaXgN5lGZzgD2rdpbsh6N0MyqcyWl9si0Y0sBPA6kVd/wTnJAKNTlR/wUcEUCdBdJ0bX1UArgPmBWsnGipLVVFipb7zKAKCJHFXL6uV0K4NpiMtDQabakaGrapm4BsH0o8GWiwEuSosbqpRRARIQNyVq/rFcXSRcBxBt5NJHbvJQo812gVmOdA+sigCifpyX8x0v6uPQGCgDRWEeD3aCOemDb0XrGm9q1KKevrnt7jX22DwFiqLBX8X8rJZ2S88n7gSOBaGiiMg3aBEyQ9FO7Cgx0v+1ooiJEN2iapEhqfaispcyLuo5uYSAAbEf7GBOJBkXpcETZdKIMwN7AGiAtJS6QFIluq5DtlcBJdVy52VglD6nBa6ykLwYbge05wB2JnLckNUqcfuJbDbbS0qJxcJik6NQGhWzfD9yYMI9ucKqkGByXUtVo8ceSOmecpE+6jcB2XsqEiFmS5reSVQVgNNBbeyeMwioxSh8w2Y6GPzJ+2os0+H4OxPtr6rqVzbbtMcBXJZpGkTVf0qedoCjifCSpq4B9WvBoCaISQDC2PQKIN5GPF6MqjCuOsqOpn6bK2R5fKB3K75QpHpPouUAkvrTPaAqiFoACRMxpwuqNniE3WsxrXk++0EQzHr3rwVGSZP+WGTymD3MlrbEdLerzdUDUBtCQaDvSeXyQKPPZTrwpztwuKS1h4tZrgWgbQALkaOCy4hNrn1FHTRTxdmKQ8LKksjdWC0THADK/jtQ/BQhQBwBl7Wi4VNRWoXhMJN6tA7TJTSyQFJ95u/OlPlfEdjzOALI7EIVgzEfb+nyaGSh3p4h+Pd1jV26gjiUHuqe4ibD6eklRqvfQkAHQzABDHsB/7aMVT352GH8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-speed-icon-text{font-size:14px;min-width:30px;height:20px;line-height:20px;cursor:pointer;text-align:center}.jb-pro-container .jb-pro-speed{box-sizing:border-box;text-align:center;font-size:14px;color:#fff;width:90px}.jb-pro-container .jb-pro-menu-list,.jb-pro-container .jb-pro-quality-menu-list,.jb-pro-container .jb-pro-scale-menu-list,.jb-pro-container .jb-pro-speed-menu-list{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;overflow:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.jb-pro-container .jb-pro-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-speed-menu-shown{visibility:visible;opacity:1}.jb-pro-container .icon-title-tips{pointer-events:none;position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:rgba(0,0,0,.5);border-radius:4px}.jb-pro-container .icon-title{display:inline-block;padding:5px 10px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container .jb-pro-quality-menu{padding:8px 0}.jb-pro-container .jb-pro-menu-item,.jb-pro-container .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-speed-menu-item{display:block;height:25px;line-height:25px;margin:0;padding:0 10px;cursor:pointer;font-size:14px;text-align:center;width:50px;color:hsla(0,0%,100%,.5);transition:color .3s,background-color .3s}.jb-pro-container .jb-pro-menu-item:hover,.jb-pro-container .jb-pro-quality-menu-item:hover,.jb-pro-container .jb-pro-scale-menu-item:hover,.jb-pro-container .jb-pro-speed-menu-item:hover{background-color:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-menu-item:focus,.jb-pro-container .jb-pro-quality-menu-item:focus,.jb-pro-container .jb-pro-scale-menu-item:focus,.jb-pro-container .jb-pro-speed-menu-item:focus{outline:none}.jb-pro-container .jb-pro-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-speed-menu-item-active{color:#2298fc}.jb-pro-container .jb-pro-volume-panel-wrap{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%) translateY(22%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;height:120px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-wrap.jb-pro-volume-panel-wrap-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-volume-panel{cursor:pointer;position:absolute;top:21px;height:60px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-text{position:absolute;left:0;top:0;width:50px;height:20px;line-height:20px;text-align:center;color:#fff;font-size:12px}.jb-pro-container .jb-pro-volume-panel-handle{position:absolute;top:48px;left:50%;width:12px;height:12px;border-radius:12px;margin-left:-6px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:before{bottom:-54px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:after{bottom:6px;background:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-volume-panel-handle:after,.jb-pro-container .jb-pro-volume-panel-handle:before{content:"";position:absolute;display:block;left:50%;width:3px;margin-left:-1px;height:60px}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-controls,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-controls{width:100vh}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-play-big:after,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-play-big:after{transform:translate(-50%,-50%) rotate(270deg)}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading{flex-direction:row}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading-text,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading-text{transform:rotate(270deg)}.jb-pro-container .jb-pro-contextmenus{display:none;flex-direction:column;position:absolute;z-index:120;left:10px;top:10px;min-width:200px;padding:5px 0;background-color:rgba(0,0,0,.9);border-radius:3px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu{cursor:pointer;font-size:12px;display:block;color:#fff;padding:10px 15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu a{color:#fff;text-decoration:none}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span{display:inline-block;padding:0 7px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span.art-current,.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span:hover{color:var(--theme)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:last-child{border-bottom:none}.jb-pro-container.jb-pro-contextmenus-show .jb-pro-contextmenus{display:flex}.jb-pro-container .jb-pro-extend-dom{position:relative;width:100%;height:100%;display:none}.jb-pro-container-playback .jb-pro-controls{height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center{flex:1;display:flex;box-sizing:border-box;justify-content:space-between;font-size:12px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time{box-sizing:border-box;flex:1;position:relative;height:100%}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-inner{width:300px;height:100%;overflow-y:hidden;overflow-x:auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time{position:absolute;left:0;top:0;height:15px;width:1px;background-color:red;text-align:center;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time-text{position:absolute;box-sizing:border-box;padding:0 5px;width:60px;left:-25px;top:15px;border:1px solid red;height:15px;line-height:15px;cursor:move;background-color:#fff;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll{position:relative;width:1440px;margin:0 auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-hour{width:1440px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.half-hour{width:2880px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.ten-min{width:8640px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.five-min{width:17280px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-min{width:86400px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-list{position:relative;background-color:#ccc;height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-day{height:100%;overflow:hidden}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-one-wrap{height:8px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-wrap{height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-btns{display:flex;align-items:center}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one{float:left;width:1px;height:8px;margin:0;cursor:default;position:relative;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.active,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.active{background-color:orange;cursor:pointer}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.start,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.start{background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one:hover .jb-pro-playback-time-title-tips,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one:hover .jb-pro-playback-time-title-tips{visibility:visible;opacity:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips{pointer-events:none;position:absolute;left:0;top:100%;visibility:hidden;opacity:0;transform:translateX(13%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:#000;border-radius:4px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips.jb-pro-playback-time-title-tips-left{transform:translateX(-100%)}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips .jb-pro-playback-time-title{display:inline-block;padding:2px 5px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute{float:left;position:relative;width:60px;box-sizing:border-box;border-top:1px solid #999;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left;height:25px;line-height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child{border-left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child .jb-pro-playback-time-hour-text{left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:after,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:after{content:"";position:absolute;left:0;top:-8px;width:1px;height:14px;background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-text{position:absolute;left:-13px}.jb-pro-container-playback .jb-pro-playback-expand.disabled .jb-pro-icon-expand,.jb-pro-container-playback .jb-pro-playback-narrow.disabled .jb-pro-icon-narrow{cursor:no-drop}.jb-pro-container-playback .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-playback .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-playback .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-playback .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-playback .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-playback .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-playback .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-play-vod .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-play-vod .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-play-vod .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-play-vod .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-play-vod .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-play-vod .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-play-vod .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-playback.jb-pro-fullscreen-web .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-playback-time-inner{overflow-y:auto}.jb-pro-zoom-control{cursor:-webkit-grab;cursor:grab}.jb-pro-performance-panel{position:absolute;box-sizing:border-box;z-index:10000;left:0;top:0;padding:5px;font-size:10px;background:rgba(0,0,0,.2);color:#fff;max-height:100%;overflow-y:auto;display:none}.jb-pro-performance-panel .jb-pro-performance-item{display:flex;align-items:center;margin-top:3px;color:#fff}.jb-pro-performance-panel .jb-pro-performance-item-block{height:10px}.jb-pro-tips-message{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.8),hsla(0,0%,100%,0));overflow:auto;box-sizing:content-box;z-index:10;display:none}.jb-pro-tips-message:before{color:hsla(0,0%,100%,.3);content:"X";font-family:Arial,Helvetica,sans-serif;font-size:40px;left:0;line-height:1;margin-top:-20px;position:absolute;text-shadow:2em 2em 4em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.jb-pro-tips-message .jb-pro-tips-message-close{position:absolute;z-index:99999;right:0;top:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.jb-pro-tips-message .jb-pro-tips-message-close .jb-pro-tips-message-close-icon{width:20px;height:20px;border-radius:10px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-color:#fff;background-size:100% 100%}.jb-pro-tips-message .jb-pro-tips-message-content{overflow:auto;padding:35px;box-sizing:border-box;width:100%;height:100%;z-index:99999}.jb-pro-tips-message .jb-pro-tips-message-content .jb-pro-tips-message-content-item{font-size:14px;color:#fff;text-align:center;line-height:1.5}');class Ic{constructor(e){var t;this.player=e,this.TAG_NAME="Control",this.extendBtnList=[],((e,t)=>{e._opt.hasControl&&e._opt.controlAutoHide?e.$container.classList.add("jb-pro-controls-show-auto-hide"):e.$container.classList.add("jb-pro-controls-show");const i=e._opt,s=i.operateBtns,r=`\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00:00
      \n
      \n
      \n
      \n
      \n ${i.playbackConfig.showPrecisionBtn?`\n
      \n
      ${mc.narrow}
      \n
      ${mc.expand}
      \n
      \n `:""}\n
      \n `,a='\n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00
      \n
      \n
      \n ';e.$container.insertAdjacentHTML("beforeend",`\n ${i.background?`
      `:""}\n
      \n \n
      \n ${i.loadingIcon?`\n
      \n ${mc.loading}\n
      ${i.loadingText}
      \n
      \n `:""}\n ${i.hasControl&&s.play?'
      ':""}\n ${i.hasControl&&s.ptz?`\n
      \n
      \n
      \n
      \n
      \n
      \n ${i.ptzMoreArrowShow?'\n
      \n
      \n
      \n
      \n ':""}\n
      \n
      \n ${i.ptzZoomShow?'\n
      \n
      \n \n \n 缩放+\n \n
      \n
      \n \n \n 缩放-\n \n
      \n
      \n ':""}\n ${i.ptzApertureShow?'\n
      \n
      \n \n \n 光圈+\n \n
      \n
      \n \n \n 光圈-\n \n
      \n
      \n ':""}\n ${i.ptzFocusShow?'\n
      \n
      \n \n \n 聚焦+\n \n
      \n
      \n \n \n 聚焦-\n \n
      \n
      \n ':""}\n ${i.ptzCruiseShow?'\n
      \n
      \n \n \n 巡航开\n \n
      \n
      \n \n \n 巡航关\n \n
      \n
      \n ':""}\n ${i.ptzFogShow?'\n
      \n
      \n \n \n 透雾开\n \n
      \n
      \n \n \n 透雾关\n \n
      \n
      \n ':""}\n\n ${i.ptzWiperShow?'\n
      \n
      \n \n \n 雨刷开\n \n
      \n
      \n \n \n 雨刷关\n \n
      \n
      \n ':""}\n
      \n
      \n `:""}\n ${i.hasVideo?`\n
      \n
      ${mc.narrow}
      \n
      电子放大
      \n
      ${mc.expand}
      \n
      ${mc.zoomStop}
      \n
      \n
      \n
      \n
      00:00:00
      \n
      ${mc.recordStop}
      \n
      \n `:""}\n\n ${i.hasControl?`\n
      \n
      \n
      \n ${i.showBandwidth?'
      ':""}\n
      \n
      ${i.controlHtml}
      \n
      \n ${i.playType===w&&i.playbackConfig.showControl&&i.playbackConfig.controlType===ee.normal?r:""}\n ${i.playType===w&&i.playbackConfig.showControl&&i.playbackConfig.controlType===ee.simple?a:""}\n ${i.playType===E?a:""}\n
      \n ${i.playType===w&&i.playbackConfig.showRateBtn||i.playType===E&&i.playVodConfig.showRateBtn?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':""}\n ${s.close?`
      ${mc.close}
      `:""}\n ${s.logSave?`
      ${mc.logSave}
      `:""}\n ${s.performance?`
      ${mc.performance}
      ${mc.performanceActive}
      `:""}\n ${s.aiFace?`
      ${mc.face}
      ${mc.faceActive}
      `:""}\n ${s.aiObject?`
      ${mc.object}
      ${mc.objectActive}
      `:""}\n ${s.aiOcclusion?`
      ${mc.occlusion}
      ${mc.occlusionActive}
      `:""}\n ${s.quality?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':""}\n ${s.scale?'\n
      \n
      \n
      \n
      \n
      \n
      \n ':""}\n ${s.audio?`\n
      \n
      \n ${mc.audio}\n ${mc.mute}\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n `:""}\n ${s.play?`
      ${mc.play}
      ${mc.pause}
      `:""}\n ${s.screenshot?`
      ${mc.screenshot}
      `:""}\n ${s.record?`
      ${mc.record}
      ${mc.recordStop}
      `:""}\n ${s.ptz?`
      ${mc.ptz}
      ${mc.ptzActive}
      `:""}\n ${s.zoom?`
      ${mc.zoom}
      ${mc.zoomStop}
      `:""}\n ${s.fullscreen?`
      ${mc.fullscreen}
      ${mc.fullscreenExit}
      `:""}\n
      \n
      \n
      \n `:""}\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n `),Object.defineProperty(t,"$poster",{value:e.$container.querySelector(".jb-pro-poster"),configurable:!0}),Object.defineProperty(t,"$loadingBg",{value:e.$container.querySelector(".jb-pro-loading-bg"),configurable:!0}),Object.defineProperty(t,"$loadingBgImage",{value:e.$container.querySelector(".jb-pro-loading-bg-image"),configurable:!0}),Object.defineProperty(t,"$loading",{value:e.$container.querySelector(".jb-pro-loading"),configurable:!0}),Object.defineProperty(t,"$loadingText",{value:e.$container.querySelector(".jb-pro-loading-text"),configurable:!0}),Object.defineProperty(t,"$play",{value:e.$container.querySelector(".jb-pro-play"),configurable:!0}),Object.defineProperty(t,"$playBig",{value:e.$container.querySelector(".jb-pro-play-big"),configurable:!0}),Object.defineProperty(t,"$recording",{value:e.$container.querySelector(".jb-pro-recording"),configurable:!0}),Object.defineProperty(t,"$recordingTime",{value:e.$container.querySelector(".jb-pro-recording-time"),configurable:!0}),Object.defineProperty(t,"$recordingStop",{value:e.$container.querySelector(".jb-pro-recording-stop"),configurable:!0}),Object.defineProperty(t,"$pause",{value:e.$container.querySelector(".jb-pro-pause"),configurable:!0}),Object.defineProperty(t,"$controls",{value:e.$container.querySelector(".jb-pro-controls"),configurable:!0}),Object.defineProperty(t,"$controlsInner",{value:e.$container.querySelector(".jb-pro-controls-bottom"),configurable:!0}),Object.defineProperty(t,"$controlsLeft",{value:e.$container.querySelector(".jb-pro-controls-left"),configurable:!0}),Object.defineProperty(t,"$controlsRight",{value:e.$container.querySelector(".jb-pro-controls-right"),configurable:!0}),Object.defineProperty(t,"$volume",{value:e.$container.querySelector(".jb-pro-volume"),configurable:!0}),Object.defineProperty(t,"$volumePanelWrap",{value:e.$container.querySelector(".jb-pro-volume-panel-wrap"),configurable:!0}),Object.defineProperty(t,"$volumePanelText",{value:e.$container.querySelector(".jb-pro-volume-panel-text"),configurable:!0}),Object.defineProperty(t,"$volumePanel",{value:e.$container.querySelector(".jb-pro-volume-panel"),configurable:!0}),Object.defineProperty(t,"$volumeHandle",{value:e.$container.querySelector(".jb-pro-volume-panel-handle"),configurable:!0}),Object.defineProperty(t,"$volumeOn",{value:e.$container.querySelector(".jb-pro-icon-audio"),configurable:!0}),Object.defineProperty(t,"$volumeOff",{value:e.$container.querySelector(".jb-pro-icon-mute"),configurable:!0}),Object.defineProperty(t,"$fullscreen",{value:e.$container.querySelector(".jb-pro-fullscreen"),configurable:!0}),Object.defineProperty(t,"$fullscreenExit",{value:e.$container.querySelector(".jb-pro-fullscreen-exit"),configurable:!0}),Object.defineProperty(t,"$record",{value:e.$container.querySelector(".jb-pro-record"),configurable:!0}),Object.defineProperty(t,"$recordStop",{value:e.$container.querySelector(".jb-pro-record-stop"),configurable:!0}),Object.defineProperty(t,"$screenshot",{value:e.$container.querySelector(".jb-pro-screenshot"),configurable:!0}),Object.defineProperty(t,"$speed",{value:e.$container.querySelector(".jb-pro-speed"),configurable:!0}),Object.defineProperty(t,"$controlHtml",{value:e.$container.querySelector(".jb-pro-controls-item-html"),configurable:!0}),Object.defineProperty(t,"$playbackTime",{value:e.$container.querySelector(".jb-pro-controls-playback-time"),configurable:!0}),Object.defineProperty(t,"$playbackTimeInner",{value:e.$container.querySelector(".jb-pro-controls-playback-time-inner"),configurable:!0}),Object.defineProperty(t,"$playbackTimeScroll",{value:e.$container.querySelector(".jb-pro-controls-playback-time-scroll"),configurable:!0}),Object.defineProperty(t,"$playbackTimeList",{value:e.$container.querySelector(".jb-pro-controls-playback-time-list"),configurable:!0}),Object.defineProperty(t,"$playbackTimeListOne",{value:e.$container.querySelector(".jb-pro-playback-time-one-wrap"),configurable:!0}),Object.defineProperty(t,"$playbackTimeListSecond",{value:e.$container.querySelector(".jb-pro-playback-time-second-wrap"),configurable:!0}),Object.defineProperty(t,"$playbackCurrentTime",{value:e.$container.querySelector(".jb-pro-controls-playback-current-time"),configurable:!0}),Object.defineProperty(t,"$playbackCurrentTimeText",{value:e.$container.querySelector(".jb-pro-controls-playback-current-time-text"),configurable:!0}),Object.defineProperty(t,"$controlsPlaybackBtns",{value:e.$container.querySelector(".jb-pro-controls-playback-btns"),configurable:!0}),Object.defineProperty(t,"$playbackNarrow",{value:e.$container.querySelector(".jb-pro-playback-narrow"),configurable:!0}),Object.defineProperty(t,"$playbackExpand",{value:e.$container.querySelector(".jb-pro-playback-expand"),configurable:!0}),Object.defineProperty(t,"$ptz",{value:e.$container.querySelector(".jb-pro-ptz"),configurable:!0}),Object.defineProperty(t,"$ptzActive",{value:e.$container.querySelector(".jb-pro-ptz-active"),configurable:!0}),Object.defineProperty(t,"$ptzControl",{value:e.$container.querySelector(".jb-pro-ptz-controls"),configurable:!0}),Object.defineProperty(t,"$ptzBgActive",{value:e.$container.querySelector(".jb-pro-ptz-bg-active"),configurable:!0}),Object.defineProperty(t,"$ptzControlCircular",{value:e.$container.querySelector(".jb-pro-ptz-control"),configurable:!0}),Object.defineProperty(t,"$ptzArrows",{value:e.$container.querySelectorAll(".jb-pro-ptz-arrow"),configurable:!0}),Object.defineProperty(t,"$ptzExpand",{value:e.$container.querySelector(".jb-pro-ptz-expand"),configurable:!0}),Object.defineProperty(t,"$ptzNarrow",{value:e.$container.querySelector(".jb-pro-ptz-narrow"),configurable:!0}),Object.defineProperty(t,"$ptzApertureFar",{value:e.$container.querySelector(".jb-pro-ptz-aperture-far"),configurable:!0}),Object.defineProperty(t,"$ptzApertureNear",{value:e.$container.querySelector(".jb-pro-ptz-aperture-near"),configurable:!0}),Object.defineProperty(t,"$ptzFocusFar",{value:e.$container.querySelector(".jb-pro-ptz-focus-far"),configurable:!0}),Object.defineProperty(t,"$ptzFocusNear",{value:e.$container.querySelector(".jb-pro-ptz-focus-near"),configurable:!0}),Object.defineProperty(t,"$ptzCruisePlay",{value:e.$container.querySelector(".jb-pro-ptz-cruise-play"),configurable:!0}),Object.defineProperty(t,"$ptzCruisePause",{value:e.$container.querySelector(".jb-pro-ptz-cruise-pause"),configurable:!0}),Object.defineProperty(t,"$ptzFogOpen",{value:e.$container.querySelector(".jb-pro-ptz-fog-open"),configurable:!0}),Object.defineProperty(t,"$ptzFogClose",{value:e.$container.querySelector(".jb-pro-ptz-fog-close"),configurable:!0}),Object.defineProperty(t,"$ptzWiperOpen",{value:e.$container.querySelector(".jb-pro-ptz-wiper-open"),configurable:!0}),Object.defineProperty(t,"$ptzWiperClose",{value:e.$container.querySelector(".jb-pro-ptz-wiper-close"),configurable:!0}),Object.defineProperty(t,"$qualityText",{value:e.$container.querySelector(".jb-pro-quality-icon-text"),configurable:!0}),Object.defineProperty(t,"$qualityMenu",{value:e.$container.querySelector(".jb-pro-quality-menu"),configurable:!0}),Object.defineProperty(t,"$qualityMenuList",{value:e.$container.querySelector(".jb-pro-quality-menu-list"),configurable:!0}),Object.defineProperty(t,"$scaleText",{value:e.$container.querySelector(".jb-pro-scale-icon-text"),configurable:!0}),Object.defineProperty(t,"$scaleMenu",{value:e.$container.querySelector(".jb-pro-scale-menu"),configurable:!0}),Object.defineProperty(t,"$scaleMenuList",{value:e.$container.querySelector(".jb-pro-scale-menu-list"),configurable:!0}),Object.defineProperty(t,"$zoom",{value:e.$container.querySelector(".jb-pro-zoom"),configurable:!0}),Object.defineProperty(t,"$zoomStop",{value:e.$container.querySelector(".jb-pro-zoom-stop"),configurable:!0}),Object.defineProperty(t,"$zoomNarrow",{value:e.$container.querySelector(".jb-pro-zoom-narrow"),configurable:!0}),Object.defineProperty(t,"$zoomExpand",{value:e.$container.querySelector(".jb-pro-zoom-expand"),configurable:!0}),Object.defineProperty(t,"$zoomStop2",{value:e.$container.querySelector(".jb-pro-zoom-stop2"),configurable:!0}),Object.defineProperty(t,"$close",{value:e.$container.querySelector(".jb-pro-close"),configurable:!0}),Object.defineProperty(t,"$zoomControls",{value:e.$container.querySelector(".jb-pro-zoom-controls"),configurable:!0}),Object.defineProperty(t,"$performancePanel",{value:e.$container.querySelector(".jb-pro-performance-panel"),configurable:!0}),Object.defineProperty(t,"$performance",{value:e.$container.querySelector(".jb-pro-performance"),configurable:!0}),Object.defineProperty(t,"$performanceActive",{value:e.$container.querySelector(".jb-pro-performance-active"),configurable:!0}),Object.defineProperty(t,"$faceDetect",{value:e.$container.querySelector(".jb-pro-face"),configurable:!0}),Object.defineProperty(t,"$faceDetectActive",{value:e.$container.querySelector(".jb-pro-face-active"),configurable:!0}),Object.defineProperty(t,"$objectDetect",{value:e.$container.querySelector(".jb-pro-object"),configurable:!0}),Object.defineProperty(t,"$objectDetectActive",{value:e.$container.querySelector(".jb-pro-object-active"),configurable:!0}),Object.defineProperty(t,"$occlusionDetect",{value:e.$container.querySelector(".jb-pro-occlusion"),configurable:!0}),Object.defineProperty(t,"$occlusionDetectActive",{value:e.$container.querySelector(".jb-pro-occlusion-active"),configurable:!0}),Object.defineProperty(t,"$contextmenus",{value:e.$container.querySelector(".jb-pro-contextmenus"),configurable:!0}),Object.defineProperty(t,"$speedText",{value:e.$container.querySelector(".jb-pro-speed-icon-text"),configurable:!0}),Object.defineProperty(t,"$speedMenu",{value:e.$container.querySelector(".jb-pro-speed-menu"),configurable:!0}),Object.defineProperty(t,"$speedMenuList",{value:e.$container.querySelector(".jb-pro-speed-menu-list"),configurable:!0}),Object.defineProperty(t,"$logSave",{value:e.$container.querySelector(".jb-pro-logSave"),configurable:!0}),Object.defineProperty(t,"$playbackProgress",{value:e.$container.querySelector(".jb-pro-control-progress-simple"),configurable:!0}),Object.defineProperty(t,"$playbackProgressTip",{value:e.$container.querySelector(".jb-pro-progress-tip"),configurable:!0}),Object.defineProperty(t,"$playbackProgressHover",{value:e.$container.querySelector(".jb-pro-progress-hover"),configurable:!0}),Object.defineProperty(t,"$playbackProgressPlayed",{value:e.$container.querySelector(".jb-pro-progress-played"),configurable:!0}),Object.defineProperty(t,"$playbackProgressCache",{value:e.$container.querySelector(".jb-pro-progress-cache")}),Object.defineProperty(t,"$playbackProgressIndicator",{value:e.$container.querySelector(".jb-pro-progress-indicator"),configurable:!0}),Object.defineProperty(t,"$playbackProgressTime",{value:e.$container.querySelector(".jb-pro-playback-control-time"),configurable:!0}),Object.defineProperty(t,"$tipsMessage",{value:e.$container.querySelector(".jb-pro-tips-message"),configurable:!0}),Object.defineProperty(t,"$tipsMessageClose",{value:e.$container.querySelector(".jb-pro-tips-message-close"),configurable:!0}),Object.defineProperty(t,"$tipsMessageContent",{value:e.$container.querySelector(".jb-pro-tips-message-content"),configurable:!0})})(e,this),e._opt.extendOperateBtns.length>0&&e._opt.extendOperateBtns.forEach((e=>{this.addExtendBtn(e)})),e._opt.extendDomConfig&&e._opt.extendDomConfig.html&&this.addExtendDom(e._opt.extendDomConfig),t=this,Object.defineProperty(t,"controlsRect",{get:()=>t.$controls&&t.$controls.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsInnerRect",{get:()=>t.$controlsInner&&t.$controlsInner.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsLeftRect",{get:()=>t.$controlsLeft&&t.$controlsLeft.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsRightRect",{get:()=>t.$controlsRight&&t.$controlsRight.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsPlaybackTimeInner",{get:()=>t.$playbackTimeInner&&t.$playbackTimeInner.getBoundingClientRect()||{},configurable:!0}),Object.defineProperty(t,"controlsPlaybackBtnsRect",{get:()=>t.$controlsPlaybackBtns&&t.$controlsPlaybackBtns.getBoundingClientRect()||{width:0},configurable:!0}),Rc(e,this),((e,t)=>{const{events:{proxy:i},debug:s}=e,r=e._opt,a=r.operateBtns;function o(e){const{bottom:i,height:s}=t.$volumePanel.getBoundingClientRect(),{height:r}=t.$volumeHandle.getBoundingClientRect();return Sa(i-e.y-r/2,0,s-r/2)/(s-r)}function n(i){let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];i.composedPath().indexOf(e.$container)>-1?t.isFocus=!0:t.isFocus=!1,s&&!e.fullscreen&&e._opt.hasControl&&e._opt.controlAutoHide&&(t.isFocus?(wa(t.$controls,"display","block"),d()):(h(),wa(t.$controls,"display","none")))}if(xa()?i(window,["click","contextmenu"],(e=>{e.stopPropagation(),n(e)})):i(window,"click",(e=>{e.stopPropagation(),n(e,!0)})),i(t.$controls,"click",(e=>{e.stopPropagation()})),a.play&&(i(t.$pause,"click",(t=>{r.playType===w&&r.playbackConfig.uiUsePlaybackPause?e.playbackPause=!0:r.playType===E?e.playVodPause=!0:go(a.pauseFn)?a.pauseFn():e.pauseForControl()})),i(t.$play,"click",(t=>{r.playType===w&&e.playbackPause?e.playbackPause=!1:r.playType===E?e.playVodPause=!1:go(a.playFn)?a.playFn():e.playForControl().then((()=>{e.resumeAudioAfterPause()})).catch((e=>{}))}))),i(t.$playBig,"click",(i=>{r.playType===w&&e.playbackPause?e.playbackPause=!1:r.playType===E?e.playVodPause=!1:t.isInitPlayer?e.emit(vt.clickInitPlayer):go(a.playFn)?a.playFn():e.playForControl().then((()=>{e.resumeAudioAfterPause()}))})),a.screenshot&&i(t.$screenshot,"click",(t=>{t.stopPropagation(),go(a.screenshotFn)?a.screenshotFn():e.video.screenshot()})),a.audio&&(xa()&&(i(t.$volume,"mouseover",(()=>{t.$volumePanelWrap.classList.add("jb-pro-volume-panel-wrap-show")})),i(t.$volume,"mouseout",(()=>{t.$volumePanelWrap.classList.remove("jb-pro-volume-panel-wrap-show")})),i(t.$volumePanel,"click",(t=>{t.stopPropagation(),e.volume=o(t)})),i(t.$volumeHandle,"mousedown",(e=>{e.stopPropagation(),t.isVolumeDroging=!0})),i(t.$volumeHandle,"mousemove",(i=>{t.isVolumeDroging&&(e.volume=o(i))})),i(document,"mouseup",(()=>{t.isVolumeDroging&&(t.isVolumeDroging=!1)}))),i(t.$volumeOn,"click",(i=>{i.stopPropagation(),wa(t.$volumeOn,"display","none"),wa(t.$volumeOff,"display","block");const s=e.volume;e.volume=0,e._lastVolume=xa()?s:1})),i(t.$volumeOff,"click",(i=>{i.stopPropagation(),wa(t.$volumeOn,"display","block"),wa(t.$volumeOff,"display","none"),e.volume=xa()?e.lastVolume||.5:1}))),a.record&&(i(t.$record,"click",(t=>{t.stopPropagation(),go(a.recordFn)?a.recordFn():e.recording=!0})),i(t.$recordStop,"click",(t=>{t.stopPropagation(),go(a.recordStopFn)?a.recordStopFn():e.recording=!1}))),i(t.$recordingStop,"click",(t=>{t.stopPropagation(),go(a.recordStopFn)?a.recordStopFn():e.recording=!1})),a.fullscreen&&(i(t.$fullscreen,"click",(t=>{t.stopPropagation(),go(a.fullscreenFn)?a.fullscreenFn():e.fullscreen=!0})),i(t.$fullscreenExit,"click",(t=>{t.stopPropagation(),go(a.fullscreenExitFn)?a.fullscreenExitFn():e.fullscreen=!1}))),a.ptz){i(t.$ptz,"click",(e=>{e.stopPropagation(),wa(t.$ptzActive,"display","flex"),wa(t.$ptz,"display","none"),t.$ptzControl.classList.add("jb-pro-ptz-controls-show")})),i(t.$ptzActive,"click",(e=>{e.stopPropagation(),wa(t.$ptz,"display","flex"),wa(t.$ptzActive,"display","none"),t.$ptzControl.classList.remove("jb-pro-ptz-controls-show")}));const c=$o();if(t.$ptzArrows.forEach((s=>{if(r.ptzClickType===X)i(s,"click",(i=>{i.stopPropagation();const s=i.currentTarget.dataset.arrow;t.$ptzBgActive.classList.add("jb-pro-ptz-bg-active-show"),t.$ptzBgActive.classList.add(`jb-pro-ptz-bg-active-${s}`),t.$ptzControlCircular.classList.add(`jb-pro-ptz-control-${s}`),e.emit(vt.ptz,Uo(s)),setTimeout((()=>{t.$ptzBgActive.classList.remove("jb-pro-ptz-bg-active-show"),Wi.forEach((e=>{t.$ptzBgActive.classList.remove(`jb-pro-ptz-bg-active-${e}`),t.$ptzControlCircular.classList.remove(`jb-pro-ptz-control-${e}`)})),e.emit(vt.ptz,Vi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===Z){let r=!1;i(s,c.down,(i=>{i.stopPropagation(),r=!0;const s=i.currentTarget.dataset.arrow;t.$ptzBgActive.classList.add("jb-pro-ptz-bg-active-show"),t.$ptzBgActive.classList.add(`jb-pro-ptz-bg-active-${s}`),t.$ptzControlCircular.classList.add(`jb-pro-ptz-control-${s}`),e.emit(vt.ptz,Uo(s))}));const a=()=>{r=!1,t.$ptzBgActive.classList.remove("jb-pro-ptz-bg-active-show"),Wi.forEach((e=>{t.$ptzBgActive.classList.remove(`jb-pro-ptz-bg-active-${e}`),t.$ptzControlCircular.classList.remove(`jb-pro-ptz-control-${e}`)})),e.emit(vt.ptz,Vi)};i(s,c.up,(e=>{e.stopPropagation(),r&&a()})),i(window,c.up,(e=>{e.stopPropagation(),r&&a()}))}})),r.ptzZoomShow)if(r.ptzClickType===X)i(t.$ptzExpand,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,$i),setTimeout((()=>{e.emit(vt.ptz,Vi)}),1e3*r.ptzStopEmitDelay)})),i(t.$ptzNarrow,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Hi),setTimeout((()=>{e.emit(vt.ptz,Vi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===Z){let u=!1,p=!1;i(t.$ptzExpand,c.down,(t=>{t.stopPropagation(),u=!0,e.emit(vt.ptz,$i)})),i(t.$ptzNarrow,c.down,(t=>{t.stopPropagation(),p=!0,e.emit(vt.ptz,Hi)}));const m=()=>{u=!1,p=!1,e.emit(vt.ptz,Vi)};i(t.$ptzExpand,c.up,(e=>{e.stopPropagation(),u&&m()})),i(t.$ptzNarrow,c.up,(e=>{e.stopPropagation(),p&&m()})),i(window,c.up,(e=>{e.stopPropagation(),(u||p)&&m()}))}if(r.ptzApertureShow)if(r.ptzClickType===X)i(t.$ptzApertureFar,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Ji),setTimeout((()=>{e.emit(vt.ptz,zi)}),1e3*r.ptzStopEmitDelay)})),i(t.$ptzApertureNear,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,qi),setTimeout((()=>{e.emit(vt.ptz,zi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===Z){let g=!1,f=!1;i(t.$ptzApertureFar,c.down,(t=>{t.stopPropagation(),g=!0,e.emit(vt.ptz,Ji)})),i(t.$ptzApertureNear,c.down,(t=>{t.stopPropagation(),f=!0,e.emit(vt.ptz,qi)}));const y=()=>{g=!1,f=!1,e.emit(vt.ptz,zi)};i(t.$ptzApertureFar,c.up,(e=>{e.stopPropagation(),g&&y()})),i(t.$ptzApertureNear,c.up,(e=>{e.stopPropagation(),f&&y()})),i(window,c.up,(e=>{e.stopPropagation(),(g||f)&&y()}))}if(r.ptzFocusShow)if(r.ptzClickType===X)i(t.$ptzFocusFar,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Ki),setTimeout((()=>{e.emit(vt.ptz,zi)}),1e3*r.ptzStopEmitDelay)})),i(t.$ptzFocusNear,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Yi),setTimeout((()=>{e.emit(vt.ptz,zi)}),1e3*r.ptzStopEmitDelay)}));else if(r.ptzClickType===Z){let A=!1,b=!1;i(t.$ptzFocusFar,c.down,(t=>{t.stopPropagation(),A=!0,e.emit(vt.ptz,Ki)})),i(t.$ptzFocusNear,c.down,(t=>{t.stopPropagation(),b=!0,e.emit(vt.ptz,Yi)}));const v=()=>{A=!1,b=!1,e.emit(vt.ptz,zi)};i(t.$ptzFocusFar,c.up,(e=>{e.stopPropagation(),A&&v()})),i(t.$ptzFocusNear,c.up,(e=>{e.stopPropagation(),b&&v()})),i(window,c.up,(e=>{e.stopPropagation(),(A||b)&&v()}))}if(r.ptzCruiseShow&&(i(t.$ptzCruisePlay,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Qi)})),i(t.$ptzCruisePause,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Xi)}))),r.ptzFogShow&&(i(t.$ptzFogOpen,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,Zi)})),i(t.$ptzFogClose,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,es)}))),r.ptzWiperShow&&(i(t.$ptzWiperOpen,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,ts)})),i(t.$ptzWiperClose,"click",(t=>{t.stopPropagation(),e.emit(vt.ptz,is)}))),r.ptzSupportDraggable){function _(){t.isPtzControlDroging&&(t.isPtzControlDroging=!1,t.$ptzControl.style.cursor="grab",t.tempPtzPosition={x:0,y:0})}t.isPtzControlDroging=!1,t.tempPtzPosition={x:0,y:0},i(t.$ptzControl,c.down,(e=>{e.stopPropagation(),t.isPtzControlDroging=!0,t.$ptzControl.style.cursor="grabbing";const{posX:i,posY:s}=fo(e);t.tempPtzPosition={x:i,y:s}})),i(t.$ptzControl,c.move,(e=>{if(t.isPtzControlDroging){e.stopPropagation();const{posX:i,posY:s}=fo(e),r=t.tempPtzPosition.x-i,a=t.tempPtzPosition.y-s;t.$ptzControl.style.left=t.$ptzControl.offsetLeft-r+"px",t.$ptzControl.style.top=t.$ptzControl.offsetTop-a+"px",t.tempPtzPosition={x:i,y:s}}})),i(t.$ptzControl,c.up,(e=>{e.stopPropagation(),_()})),i(window,c.up,(e=>{e.stopPropagation(),_()}))}}a.performance&&(i(t.$performance,"click",(t=>{t.stopPropagation(),e.togglePerformancePanel(!0)})),i(t.$performanceActive,"click",(t=>{t.stopPropagation(),e.togglePerformancePanel(!1)}))),a.logSave&&i(t.$logSave,"click",(t=>{t.stopPropagation(),e.downloadMemoryLog()})),a.aiFace&&(i(t.$faceDetect,"click",(t=>{t.stopPropagation(),e.faceDetect(!0)})),i(t.$faceDetectActive,"click",(t=>{t.stopPropagation(),e.faceDetect(!1)}))),a.aiObject&&(i(t.$objectDetect,"click",(t=>{t.stopPropagation(),e.objectDetect(!0)})),i(t.$objectDetectActive,"click",(t=>{t.stopPropagation(),e.objectDetect(!1)}))),a.aiOcclusion&&(i(t.$occlusionDetect,"click",(t=>{t.stopPropagation(),e.occlusionDetect(!0)})),i(t.$occlusionDetectActive,"click",(t=>{t.stopPropagation(),e.occlusionDetect(!1)})));let l=null;const d=()=>{h(),l=setTimeout((()=>{wa(t.$controls,"display","none")}),1e3*e._opt.controlAutoHideDelayTime)},h=()=>{l&&(clearTimeout(l),l=null)};if(e._opt.hasControl&&e._opt.controlAutoHide&&xa()&&(i(e.$container,"mouseover",(()=>{e.fullscreen||(wa(t.$controls,"display","block"),d())})),i(e.$container,"mousemove",(()=>{e.$container&&t.$controls&&(e.fullscreen,"none"===t.$controls.style.display&&(wa(t.$controls,"display","block"),d()))})),i(e.$container,"mouseout",(()=>{h(),wa(t.$controls,"display","none")}))),e._opt.playType===w){let S=e._opt.playbackConfig.controlType;e._opt.playbackConfig.showRateBtn&&(i(t.$speedMenu,"mouseover",(()=>{t.$speedMenuList.classList.add("jb-pro-speed-menu-shown")})),i(t.$speedMenu,"mouseout",(()=>{t.$speedMenuList.classList.remove("jb-pro-speed-menu-shown")})),i(t.$speedMenuList,"click",(t=>{const i=po(t);if(i.matches("div.jb-pro-speed-menu-item")){const t=i.dataset;e.emit(vt.playbackPreRateChange,t.speed)}}))),S===ee.normal?(i(t.$playbackNarrow,"click",(t=>{t.stopPropagation(),e.playback&&e.playback.narrowPrecision()})),i(t.$playbackExpand,"click",(t=>{t.stopPropagation(),e.playback&&e.playback.expandPrecision()})),i(t.$playbackTimeList,"click",(t=>{const i=po(t);i.matches("div.jb-pro-playback-time-minute-one")&&e.playback&&e.playback.seek(i.dataset)})),e._opt.playbackConfig.supportWheel&&i(t.$playbackTimeInner,"wheel",(t=>{t.preventDefault(),(t.wheelDelta?t.wheelDelta/120:-(t.detail||0)/3)>0?e.playback&&e.playback.expandPrecision():e.playback&&e.playback.narrowPrecision()}))):S===ee.simple&&(t.isDroging=!1,i(t.$playbackProgress,"click",(i=>{if(i.target!==t.$playbackProgressIndicator){let s=0,r=0;if(e.isInWebFullscreen())s=i.touches[0].clientY/e.height,r=s*e.playback.totalDuration;else{const a=Sc(t,e.playback.totalDuration,i);s=a.percentage,r=a.second}e.playback&&e.playback.seek({time:r})}})),i(t.$playbackProgress,"mousemove",(i=>{wa(t.$playbackProgressTip,"display","block");const{width:s,time:r}=Sc(t,e.playback.totalDuration,i);t.$playbackProgressTip.innerHTML=r;const a=t.$playbackProgressTip.clientWidth;s<=a/2?wa(t.$playbackProgressTip,"left",0):s>t.$playbackProgress.clientWidth-a/2?wa(t.$playbackProgressTip,"left",t.$playbackProgress-a+"px"):wa(t.$playbackProgressTip,"left",s-a/2+"px")})),i(t.$playbackProgress,"mouseout",(()=>{wa(t.$playbackProgressTip,"display","none")})),i(t.$playbackProgressIndicator,"mousedown",(e=>{t.isDroging=!0})),i(t.$playbackProgress,"mousemove",(i=>{if(t.isDroging){const{second:s,percentage:r}=Sc(t,e.playback.totalDuration,i);e.playback&&e.playback.seek({time:s})}})),i(t.$playbackProgress,"mouseup",(e=>{t.isDroging&&(t.isDroging=!1)})))}e.isPlayVod()&&(e._opt.playVodConfig.showRateBtn&&(i(t.$speedMenu,"mouseover",(()=>{t.$speedMenuList.classList.add("jb-pro-speed-menu-shown")})),i(t.$speedMenu,"mouseout",(()=>{t.$speedMenuList.classList.remove("jb-pro-speed-menu-shown")})),i(t.$speedMenuList,"click",(t=>{const i=po(t);if(i.matches("div.jb-pro-speed-menu-item")){const t=i.dataset;e.playVodForward(t.speed)}}))),t.isDroging=!1,i(t.$playbackProgress,"click",(i=>{if(i.target!==t.$playbackProgressIndicator){let s=0,r=0;if(e.isInWebFullscreen())s=i.touches[0].clientY/e.height,r=s*e.playVod.totalDuration;else{const a=Sc(t,e.playVod.totalDuration,i);s=a.percentage,r=a.second}e.playVod&&e.playVod.seek({time:r})}})),i(t.$playbackProgress,"mousemove",(i=>{wa(t.$playbackProgressTip,"display","block");const{width:s,time:r}=Sc(t,e.playVod.totalDuration,i);t.$playbackProgressTip.innerHTML=r;const a=t.$playbackProgressTip.clientWidth;s<=a/2?wa(t.$playbackProgressTip,"left",0):s>t.$playbackProgress.clientWidth-a/2?wa(t.$playbackProgressTip,"left",t.$playbackProgress-a+"px"):wa(t.$playbackProgressTip,"left",s-a/2+"px")})),i(t.$playbackProgress,"mouseout",(()=>{wa(t.$playbackProgressTip,"display","none")})),i(t.$playbackProgressIndicator,"mousedown",(e=>{t.isDroging=!0})),i(t.$playbackProgress,"mousemove",(i=>{if(t.isDroging){const{second:s,percentage:r}=Sc(t,e.playVod.totalDuration,i);e.playVod&&e.playVod.seek({time:s})}})),i(t.$playbackProgress,"mouseup",(e=>{t.isDroging&&(t.isDroging=!1)}))),a.quality&&(i(t.$qualityMenu,"mouseover",(()=>{t.$qualityMenuList.classList.add("jb-pro-quality-menu-shown")})),i(t.$qualityMenu,"mouseout",(()=>{t.$qualityMenuList.classList.remove("jb-pro-quality-menu-shown")})),i(t.$qualityMenuList,"click",(t=>{const i=po(t);if(i.matches("div.jb-pro-quality-menu-item")){const t=i.dataset;e.streamQuality=t.quality}}))),a.scale&&(i(t.$scaleMenu,"mouseover",(()=>{t.$scaleMenuList.classList.add("jb-pro-scale-menu-shown")})),i(t.$scaleMenu,"mouseout",(()=>{t.$scaleMenuList.classList.remove("jb-pro-scale-menu-shown")})),i(t.$scaleMenuList,"click",(t=>{const i=po(t);if(i.matches("div.jb-pro-scale-menu-item")){const t=i.dataset;e.setScaleMode(t.scale)}}))),a.zoom&&(i(t.$zoom,"click",(t=>{t.stopPropagation(),e.zooming=!0})),i(t.$zoomStop,"click",(t=>{t.stopPropagation(),e.zooming=!1}))),i(t.$zoomExpand,"click",(t=>{t.stopPropagation(),e.zoom&&e.zoom.expandPrecision()})),i(t.$zoomNarrow,"click",(t=>{t.stopPropagation(),e.zoom&&e.zoom.narrowPrecision()})),i(t.$zoomStop2,"click",(t=>{t.stopPropagation(),e.zooming=!1})),a.close&&i(t.$close,"click",(t=>{t.stopPropagation(),e.doDestroy()})),i(t.$tipsMessageClose,"click",(e=>{e.stopPropagation(),t.$tipsMessageContent.innerHTML="",wa(t.$tipsMessage,"display","none")}))})(e,this),e._opt.hotKey&&xa()&&((e,t)=>{const{events:{proxy:i}}=e;let s={};function r(e,t){s[e]?s[e].push(t):s[e]=[t]}t.keys=s,r(Ii,(()=>{e.fullscreen&&(e.fullscreen=!1)})),r(Bi,(()=>{e.volume+=.05})),r(Mi,(()=>{e.volume-=.05})),i(window,"keydown",(e=>{if(t.isFocus){const t=document.activeElement.tagName.toUpperCase(),i=document.activeElement.getAttribute("contenteditable");if("INPUT"!==t&&"TEXTAREA"!==t&&""!==i&&"true"!==i){const t=s[e.keyCode];t&&(e.preventDefault(),t.forEach((e=>e())))}}}))})(e,this),this.btnIndex=0,this.initLoadingBackground(),lo(e._opt.loadingIconStyle)&&this.initLoadingIconStyle(e._opt.loadingIconStyle),lo(e._opt.ptzPositionConfig)&&this.updatePtzPosition(e._opt.ptzPositionConfig),e._opt.initShowPlayBtn&&(this.isInitPlayer=!0,this.showPlayBtn()),this.updateControlSize(),this.kbpsShow="0 KB/s",this.player.debugLog("Control","init")}destroy(){if(this.$performancePanel){this.$performancePanel.innerHTML="";if(!Dc(this.$performancePanel)){const e=this.player.$container.querySelector(".jb-pro-performance-panel");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$performancePanel}if(this.$poster){if(!Dc(this.$poster)){const e=this.player.$container.querySelector(".jb-pro-poster");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$poster}if(this.$loading){if(!Dc(this.$loading)){const e=this.player.$container.querySelector(".jb-pro-loading");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$loading}if(this.$loadingBg){if(!Dc(this.$loadingBg)){const e=this.player.$container.querySelector(".jb-pro-loading-bg");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$loadingBg}if(this.$controls){if(!Dc(this.$controls)){const e=this.player.$container.querySelector(".jb-pro-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$controls}if(this.$playBig){if(!Dc(this.$playBig)){const e=this.player.$container.querySelector(".jb-pro-play-big");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$playBig}if(this.$recording){if(!Dc(this.$recording)){const e=this.player.$container.querySelector(".jb-pro-recording");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$recording}if(this.$ptzControl){if(!Dc(this.$ptzControl)){const e=this.player.$container.querySelector(".jb-pro-ptz-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$ptzControl}if(this.$zoomControls){if(!Dc(this.$zoomControls)){const e=this.player.$container.querySelector(".jb-pro-zoom-controls");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$zoomControls}if(this.$contextmenus){this.$contextmenus.innerHTML="";if(!Dc(this.$contextmenus)){const e=this.player.$container.querySelector(".jb-pro-contextmenus");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$contextmenus}if(this.$tipsMessage){if(!Dc(this.$tipsMessage)){const e=this.player.$container.querySelector(".jb-pro-tips-message");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$tipsMessage}if(this.$extendDom){if(!Dc(this.$extendDom)){const e=this.player.$container.querySelector(".jb-pro-extend-dom");e&&this.player.$container&&this.player.$container.removeChild(e)}delete this.$extendDom}try{delete this.$tipsMessageContent,delete this.$tipsMessageClose,delete this.$playbackProgressTime,delete this.$playbackProgressIndicator,delete this.$playbackProgressPlayed,delete this.$playbackProgressHover,delete this.$$playbackProgressTip,delete this.$playbackProgress,delete this.$logSave,delete this.$speedMenuList,delete this.$speedMenu,delete this.$speedText,delete this.$contextmenus,delete this.$occlusionDetectActive,delete this.$occlusionDetect,delete this.$objectDetectActive,delete this.$objectDetect,delete this.$faceDetectActive,delete this.$faceDetect,delete this.$performanceActive,delete this.$performance,delete this.$performancePanel,delete this.$zoomControls,delete this.$close,delete this.$zoomStop2,delete this.$zoomExpand,delete this.$zoomNarrow,delete this.$zoomStop,delete this.$zoom,delete this.$scaleMenuList,delete this.$scaleMenu,delete this.$scaleText,delete this.$qualityMenuList,delete this.$qualityMenu,delete this.$qualityText,delete this.$ptzWiperClose,delete this.$ptzWiperOpen,delete this.$ptzFogClose,delete this.$ptzFogOpen,delete this.$ptzCruisePause,delete this.$ptzCruisePlay,delete this.$ptzFocusNear,delete this.$ptzFocusFar,delete this.$ptzApertureNear,delete this.$ptzApertureFar,delete this.$ptzNarrow,delete this.$ptzExpand,delete this.$ptzArrows,delete this.$ptzControlCircular,delete this.$ptzBgActive,delete this.$ptzControl,delete this.$ptzActive,delete this.$ptz,delete this.$playbackExpand,delete this.$playbackNarrow,delete this.$controlsPlaybackBtns,delete this.$playbackCurrentTimeText,delete this.$playbackCurrentTime,delete this.$playbackTimeListSecond,delete this.$playbackTimeListOne,delete this.$playbackTimeList,delete this.$playbackTimeScroll,delete this.$playbackTimeInner,delete this.$playbackTime,delete this.$controlHtml,delete this.$speed,delete this.$screenshot,delete this.$recordStop,delete this.$record,delete this.$fullscreenExit,delete this.$fullscreen,delete this.$volumeOff,delete this.$volumeOn,delete this.$volumeHandle,delete this.$volumePanel,delete this.$volumePanelText,delete this.$volumePanelWrap,delete this.$volume,delete this.$controlsRight,delete this.$controlsLeft,delete this.$controlsInner,delete this.$controls,delete this.$pause,delete this.$recordingStop,delete this.$recordingTime,delete this.$recording,delete this.$playBig,delete this.$play,delete this.$loadingText,delete this.$loading,delete this.$loadingBgImage,delete this.$loadingBg,delete this.$poster,delete this.$extendDom,delete this.controlsRect,delete this.controlsInnerRect,delete this.controlsLeftRect,delete this.controlsRightRect,delete this.controlsPlaybackTimeInner,delete this.controlsPlaybackBtnsRect}catch(e){}this.keys=null,this.btnIndex=0,this.extendBtnList=[],this.kbpsShow="0 KB/s",this.player.$container&&(this.player.$container.classList.remove("jb-pro-controls-show-auto-hide"),this.player.$container.classList.remove("jb-pro-controls-show")),this.player.debugLog("Control","destroy")}getBtnIndex(){return this.btnIndex++}autoSize(){const e=this.player;e.$container.style.padding="0 0";const t=e.width,i=e.height,s=t/i,r=e.video.$videoElement.width/e.video.$videoElement.height;if(s>r){const s=(t-i*r)/2;e.$container.style.padding=`0 ${s}px`}else{const s=(i-t/r)/2;e.$container.style.padding=`${s}px 0`}}initLoadingBackground(){const e=this.player;e._opt.loadingBackground&&e._opt.loadingBackgroundWidth&&e._opt.loadingBackgroundHeight&&(e.debugLog("Control","initLoadingBackground()"),"default"===this.player._opt.aspectRatio||Ca()?e.getRenderType()===q?this._initLoadingBackgroundForCanvas():e.getRenderType()===K&&this._initLoadingBackgroundForVideo():this._initLoadingBackgroundForRatio(),Cc(this.$loadingBg,"display","block"),e._opt.loadingBackground="")}resizeLoadingBackground(){this.$loadingBgImage.src&&this.$loadingBgImage.width>0&&this.$loadingBgImage.height>0&&"none"!==Ea(this.$loadingBg,"display",!1)&&("default"===this.player._opt.aspectRatio||Ca()?this.player.getRenderType()===q?this._initLoadingBackgroundForCanvas():this.player.getRenderType()===K&&this._initLoadingBackgroundForVideo():this._initLoadingBackgroundForRatio())}initLoadingIconStyle(e){const t=this.player.$container.querySelector(".jb-pro-icon-loading");t&&(e.width&&Cc(t,"width",`${e.width}px`),e.height&&Cc(t,"height",`${e.height}px`),e.background&&Cc(t,"backgroundImage",`url("${e.background}")`),!1===e.hasAnimation&&(Cc(t,"animationName","none"),Cc(t,"animationDuration",0),Cc(t,"animationTimingFunction","ease"),Cc(t,"animationIterationCount",1)))}_initLoadingBackgroundForRatio(){const e=this.player._opt.aspectRatio.split(":").map(Number),t=this.player.getShowVideoRect(),i=this.player.getControlHeight(),s=t.width,r=t.height,a=this.player._opt.loadingBackgroundWidth,o=this.player._opt.loadingBackgroundHeight,n=a/o,l=e[0]/e[1];if(this.player._opt.loadingBackground&&(this.$loadingBgImage.src=this.player._opt.loadingBackground),n>l){const e=l*o/a;this.$loadingBgImage.style.width=100*e+"%",this.$loadingBgImage.style.height=`calc(100% - ${i}px)`,this.$loadingBgImage.style.padding=`0 ${(s-s*e)/2}px`}else{const e=a/l/o;this.$loadingBgImage.style.width="100%",this.$loadingBgImage.style.height=`calc(${100*e}% - ${i}px)`,this.$loadingBgImage.style.padding=(r-r*e)/2+"px 0"}}_initLoadingBackgroundForCanvas(){const e=this.player,t=e._opt,i=e.getShowVideoRect(),s=i.height,r=i.width,a={width:this.player._opt.loadingBackgroundWidth,height:this.player._opt.loadingBackgroundHeight};let o=a.width,n=a.height;const l=t.rotate;let d=(r-o)/2,h=(s-n)/2;270!==l&&90!==l||(o=a.height,n=a.width);const c=r/o,u=s/n;let p=c>u?u:c;Io(t.isResize)&&c!==u&&(p=c+","+u),t.isFullResize&&(p=c>u?c:u);let m="scale("+p+")";"none"===t.mirrorRotate&&l&&(m+=" rotate("+l+"deg)"),"level"===t.mirrorRotate?m+=" rotateY(180deg)":"vertical"===t.mirrorRotate&&(m+=" rotateX(180deg)"),this.$loadingBgImage.width=a.width,this.$loadingBgImage.height=a.height,e._opt.loadingBackground&&(this.$loadingBgImage.src=e._opt.loadingBackground),this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.transform=m,this.$loadingBgImage.style.left=d+"px",this.$loadingBgImage.style.top=h+"px"}_initLoadingBackgroundForVideo(){const e=this.player,t=e._opt,i=e.getShowVideoRect(),s=i.width,r=i.height;let a=i.width,o=i.height;const n=t.rotate;270!==n&&90!==n||(a=r,o=s),this.$loadingBgImage.width=a,this.$loadingBgImage.height=o,e._opt.loadingBackground&&(this.$loadingBgImage.src=e._opt.loadingBackground);let l=(s-a)/2,d=(r-o)/2,h="contain";t.isResize||(h="fill"),t.isFullResize&&(h="none");let c="";"none"===t.mirrorRotate&&n&&(c+=" rotate("+n+"deg)"),"level"===t.mirrorRotate?c+=" rotateY(180deg)":"vertical"===t.mirrorRotate&&(c+=" rotateX(180deg)"),this.player._opt.videoRenderSupportScale&&(this.$loadingBgImage.style.objectFit=h),this.$loadingBgImage.style.transform=c,this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.left=l+"px",this.$loadingBgImage.style.top=d+"px"}_validateExtendBtn(e){let t=!0;if(e.name||(this.player.debugWarn("Control","extend button name is required"),t=!1),t){-1!==this.extendBtnList.findIndex((t=>t.name===e.name))&&(this.player.debugWarn("Control",`extend button name: ${e.name} is already exist`),t=!1)}return t&&(e.icon||(this.player.debugWarn("Control","extend button icon is required"),t=!1)),t}addExtendBtn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=Co(Fs);if(e=Object.assign({},t,e),!this._validateExtendBtn(e))return;const i=e.name||"",s=this.$controlsRight,r=e.createdMoment||Gr,a=e.activeIcon&&e.activeClick,o=`\n
      \n ${e.icon?`
      \n \n ${e.iconTitle?`\n ${e.iconTitle}\n `:""}\n
      `:""}\n ${e.activeIcon?`
      \n \n ${e.activeIconTitle?`\n ${e.activeIconTitle}\n `:""}\n
      `:""}\n
      \n `,n=Array.from(s.children)[e.index];n?n.insertAdjacentHTML("beforebegin",o):Lc(s,o);const l=s.querySelector(`.jb-pro-controls-item-wrap-${i}`),d=e.icon?s.querySelector(`.jb-pro-icon-extend-${i}`):null,h=e.icon?s.querySelector(`.jb-pro-control-extend-${i}`):null,c=e.activeIcon?s.querySelector(`.jb-pro-icon-extend-${i}-active`):null,u=e.activeIcon?s.querySelector(`.jb-pro-control-extend-${i}-active`):null,{events:{proxy:p},debug:m}=this.player;e.icon&&(Cc(d,"background",`url(${e.icon}) no-repeat center`),Cc(d,"background-size","100% 100%"),Cc(h,"display",r===Nr?"flex":"none"),e.iconHover&&(p(d,"mouseover",(()=>{Cc(d,"background",`url(${e.iconHover}) no-repeat center`),Cc(d,"background-size","100% 100%")})),p(d,"mouseout",(()=>{Cc(d,"background",`url(${e.icon}) no-repeat center`),Cc(d,"background-size","100% 100%")})))),e.activeIcon&&(Cc(c,"background",`url(${e.activeIcon}) no-repeat center`),Cc(c,"background-size","100% 100%"),Cc(u,"display","none"),e.activeIconHover&&(p(c,"mouseover",(()=>{Cc(c,"background",`url(${e.activeIconHover}) no-repeat center`),Cc(c,"background-size","100% 100%")})),p(c,"mouseout",(()=>{Cc(c,"background",`url(${e.activeIcon}) no-repeat center`),Cc(c,"background-size","100% 100%")})))),e.click&&d&&p(d,"click",(t=>{t.preventDefault(),a&&(Cc(h,"display","none"),Cc(u,"display","flex")),this.player.isInMulti()?e.click.call(this.player,t,this.player._opt.multiIndex):e.click.call(this.player,t)})),e.activeClick&&c&&p(c,"click",(t=>{t.preventDefault(),Cc(h,"display","flex"),Cc(u,"display","none"),this.player.isInMulti()?e.activeClick.call(this.player,t,this.player._opt.multiIndex):e.activeClick.call(this.player,t)})),this.extendBtnList.push({name:i,createdMoment:r,$iconContainer:l,$iconWrap:h,$activeIconWrap:u})}toggleExtendBtn(e,t){const i=this.extendBtnList.find((t=>t.name===e));i&&i.$activeIconWrap&&i.$iconWrap&&(qa(t)||(t="none"===Ea(i.$activeIconWrap,"display",!1)),t?(Cc(i.$iconWrap,"display","none"),Cc(i.$activeIconWrap,"display","flex")):(Cc(i.$iconWrap,"display","flex"),Cc(i.$activeIconWrap,"display","none")))}getExtendBtnActive(e){const t=this.extendBtnList.find((t=>t.name===e));let i=!1;return t&&t.$activeIconWrap&&(i="none"!==Ea(t.$activeIconWrap,"display",!1)),i}addExtendDom(e){if(e.html){const t=`\n
      \n ${e.html}\n
      \n `;this.player.$container.insertAdjacentHTML("beforeend",t),Object.defineProperty(this,"$extendDom",{value:this.player.$container.querySelector(".jb-pro-extend-dom"),configurable:!0}),e.showBeforePlay&&Cc(this.$extendDom,"display","block")}}toggleExtendDom(e){this.$extendDom&&(qa(e)||(e="none"===Ea(this.$extendDom,"display",!1)),Cc(this.$extendDom,"display",e?"block":"none"))}updateExtendDom(e){this.$extendDom&&(this.$extendDom.innerHTML=e)}removeExtendDom(){this.$extendDom&&(this.$extendDom.innerHTML="")}updateLoadingText(e){this.$loadingText&&(this.$loadingText.innerText=e)}getExtendBtnList(){return this.extendBtnList}showTipsMessage(e,t){const i=this.$tipsMessage,s=this.$tipsMessageContent;if(i){const r=`\n
      ${e}
      \n ${t?`
      Error Type:${t}
      `:""}\n `;s.innerHTML=r,Cc(i,"display","block")}}hideTipsMessage(){const e=this.$tipsMessage,t=this.$tipsMessageContent;e&&(t.innerHTML="",Cc(e,"display","none"))}updatePtzPosition(e){const t=this.$ptzControl;if(lo(e)&&t){let i="auto";e.left&&(i=Number(e.left)===e.left?e.left+"px":e.left),Cc(t,"left",i);let s="auto";e.top&&(s=Number(e.top)===e.top?e.top+"px":e.top),Cc(t,"top",s);let r="auto";e.bottom&&(r=Number(e.bottom)===e.bottom?e.bottom+"px":e.bottom),Cc(t,"bottom",r);let a="auto";e.right&&(a=Number(e.right)===e.right?e.right+"px":e.right),Cc(t,"right",a)}}showPlayBtn(){Cc(this.$playBig,"display","block")}toggleBar(e){this.$controls&&(qa(e)||(e="none"===Ea(this.$controls,"display",!1)),Cc(this.$controls,"display",e?"flex":"none"))}getBarIsShow(){let e=!1;return this.$controls&&(e="none"!==Ea(this.$controls,"display",!1)),e}toggleControlHtml(e){this.$controlHtml&&(qa(e)||(e="none"===Ea(this.$controlHtml,"display",!1)),Cc(this.$controlHtml,"display",e?"block":"none"))}getControlHtmlIsShow(){let e=!1;return this.$controlHtml&&(e="none"!==Ea(this.$controlHtml,"display",!1)),e}getExtendDomIsShow(){let e=!1;return this.$extendDom&&(e="none"!==Ea(this.$extendDom,"display",!1)),e}getExtendDom(){return this.$extendDom?this.$extendDom:null}getControlHtml(){return this.$controlHtml?this.$controlHtml:null}updateControlSize(){if(this.$controls){const e=this.player._opt.controlSize,t="jb-pro-controls-small";e===ie?Io(kc(this.$controls,t))&&Ec(this.$controls,t):e===te&&kc(this.$controls,t)&&Tc(this.$controls,t)}}}Pc(".jb-pro-container{position:relative;width:100%;height:100%;overflow:hidden}.jb-pro-container.jb-pro-fullscreen-web{position:fixed;z-index:9999;left:0;top:0;right:0;bottom:0;width:100vw!important;height:100vh!important;background:#000}.jb-pro-container .jb-pro-loading-bg-for-ios{position:absolute;z-index:100;left:0;top:0;right:0;bottom:0;height:100%;width:100%;opacity:0;visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-loading-bg-for-ios.show{opacity:1;visibility:visible}");var Bc=e=>{const{_opt:t,events:{proxy:i}}=e;if(t.supportDblclickFullscreen&&i(e.$container,"dblclick",(t=>{const i=po(t).nodeName.toLowerCase();"canvas"!==i&&"video"!==i||(e.fullscreen=!e.fullscreen)})),i(document,"visibilitychange",(()=>{e.visibility="visible"===document.visibilityState,e.debugLog("visibilitychange",document.visibilityState),t.hiddenAutoPause&&(e.debugLog("visibilitychange","hiddenAutoPause is true ",document.visibilityState,e._isPlayingBeforePageHidden),"visible"===document.visibilityState?e._isPlayingBeforePageHidden&&e.play():(e._isPlayingBeforePageHidden=e.playing,e.playing&&e.pause()))})),xa()&&i(document,["click","contextmenu"],(t=>{xc(t,e.$container)?(Po(e._opt.disableContextmenu)&&"contextmenu"===t.type&&t.preventDefault(),e.isInput="INPUT"===t.target.tagName,e.isFocus=!0,e.emit(vt.focus)):(e.isInput=!1,e.isFocus=!1,e.emit(vt.blur))})),t.isCheckInView){const t=Na((()=>{e.emit(vt.inView,function(e){const t=e.getBoundingClientRect(),i=window.innerHeight||document.documentElement.clientHeight,s=window.innerWidth||document.documentElement.clientWidth,r=t.top<=i&&t.top+t.height>=0,a=t.left<=s&&t.left+t.width>=0;return r&&a}(e.$container))}),200);i(window,"scroll",(()=>t()))}if(t.orientationChangeResize){const t=Na((()=>{e.emit(vt.resize)}),500);i(window,"orientationchange",(()=>{t()})),screen&&screen.orientation&&screen.orientation.onchange&&i(screen.orientation,"change",(()=>{t()}))}};class Mc{static init(){Mc.types={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in Mc.types)Mc.types.hasOwnProperty(e)&&(Mc.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);let e=Mc.constants={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSC=e.STCO=e.STTS,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(e){let t=8,i=null,s=Array.prototype.slice.call(arguments,1),r=s.length;for(let e=0;e>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);let a=8;for(let e=0;e>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return Mc.box(Mc.types.trak,Mc.tkhd(e),Mc.mdia(e))}static tkhd(e){let t=e.id,i=e.duration,s=e.presentWidth,r=e.presentHeight;return Mc.box(Mc.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>>8&255,255&s,0,0,r>>>8&255,255&r,0,0]))}static mdia(e){return Mc.box(Mc.types.mdia,Mc.mdhd(e),Mc.hdlr(e),Mc.minf(e))}static mdhd(e){let t=e.timescale,i=e.duration;return Mc.box(Mc.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static hdlr(e){let t=null;return t="audio"===e.type?Mc.constants.HDLR_AUDIO:Mc.constants.HDLR_VIDEO,Mc.box(Mc.types.hdlr,t)}static minf(e){let t=null;return t="audio"===e.type?Mc.box(Mc.types.smhd,Mc.constants.SMHD):Mc.box(Mc.types.vmhd,Mc.constants.VMHD),Mc.box(Mc.types.minf,t,Mc.dinf(),Mc.stbl(e))}static dinf(){return Mc.box(Mc.types.dinf,Mc.box(Mc.types.dref,Mc.constants.DREF))}static stbl(e){return Mc.box(Mc.types.stbl,Mc.stsd(e),Mc.box(Mc.types.stts,Mc.constants.STTS),Mc.box(Mc.types.stsc,Mc.constants.STSC),Mc.box(Mc.types.stsz,Mc.constants.STSZ),Mc.box(Mc.types.stco,Mc.constants.STCO))}static stsd(e){return"audio"===e.type?"mp3"===e.audioType?Mc.box(Mc.types.stsd,Mc.constants.STSD_PREFIX,Mc.mp3(e)):Mc.box(Mc.types.stsd,Mc.constants.STSD_PREFIX,Mc.mp4a(e)):"avc"===e.videoType?Mc.box(Mc.types.stsd,Mc.constants.STSD_PREFIX,Mc.avc1(e)):Mc.box(Mc.types.stsd,Mc.constants.STSD_PREFIX,Mc.hvc1(e))}static mp3(e){let t=e.channelCount,i=e.audioSampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Mc.box(Mc.types[".mp3"],s)}static mp4a(e){let t=e.channelCount,i=e.audioSampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Mc.box(Mc.types.mp4a,s,Mc.esds(e))}static esds(e){let t=e.config||[],i=t.length,s=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t).concat([6,1,2]));return Mc.box(Mc.types.esds,s)}static avc1(e){let t=e.avcc;const i=e.codecWidth,s=e.codecHeight;let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Mc.box(Mc.types.avc1,r,Mc.box(Mc.types.avcC,t))}static hvc1(e){let t=e.avcc;const i=e.codecWidth,s=e.codecHeight;let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,s>>>8&255,255&s,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Mc.box(Mc.types.hvc1,r,Mc.box(Mc.types.hvcC,t))}static mvex(e){return Mc.box(Mc.types.mvex,Mc.trex(e))}static trex(e){let t=e.id,i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Mc.box(Mc.types.trex,i)}static moof(e,t){return Mc.box(Mc.types.moof,Mc.mfhd(e.sequenceNumber),Mc.traf(e,t))}static mfhd(e){let t=new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e]);return Mc.box(Mc.types.mfhd,t)}static traf(e,t){let i=e.id,s=Mc.box(Mc.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),r=Mc.box(Mc.types.tfdt,new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t])),a=Mc.sdtp(e),o=Mc.trun(e,a.byteLength+16+16+8+16+8+8);return Mc.box(Mc.types.traf,s,r,o,a)}static sdtp(e){let t=new Uint8Array(5),i=e.flags;return t[4]=i.isLeading<<6|i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy,Mc.box(Mc.types.sdtp,t)}static trun(e,t){let i=new Uint8Array(28);t+=36,i.set([0,0,15,1,0,0,0,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);let s=e.duration,r=e.size,a=e.flags,o=e.cts;return i.set([s>>>24&255,s>>>16&255,s>>>8&255,255&s,r>>>24&255,r>>>16&255,r>>>8&255,255&r,a.isLeading<<2|a.dependsOn,a.isDependedOn<<6|a.hasRedundancy<<4|a.isNonSync,0,0,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12),Mc.box(Mc.types.trun,i)}static mdat(e){return Mc.box(Mc.types.mdat,e)}}Mc.init();class Fc extends a{constructor(e){super(),this.TAG_NAME="MediaSource",this.player=e,this._resetInIt(),this._useManagedMediaSource="ManagedMediaSource"in Wr&&!("MediaSource"in Wr),this.mediaSource=this._useManagedMediaSource?new Wr.ManagedMediaSource:new Wr.MediaSource,this.isDecodeFirstIIframe=!!Io(e._opt.checkFirstIFrame),this.mediaSourceObjectURL=null,this._useManagedMediaSource||(this.mediaSourceObjectURL=Wr.URL.createObjectURL(this.mediaSource)),this.isSupportVideoFrameCallback=Wo(),this.canvasRenderInterval=null,e._opt.mseUseCanvasRender?(this.$videoElement=document.createElement("video"),this._useManagedMediaSource?(this.$videoElement.disableRemotePlayback=!0,this.$videoElement.srcObject=this.mediaSource):this.$videoElement.src=this.mediaSourceObjectURL,this.initVideoEvents()):(this._useManagedMediaSource?(this.player.video.$videoElement.disableRemotePlayback=!0,this.player.video.$videoElement.srcObject=this.mediaSource):this.player.video.$videoElement.src=this.mediaSourceObjectURL,this.$videoElement=this.player.video.$videoElement),this._bindMediaSourceEvents(),this.audioSourceBufferCheckTimeout=null,this.audioSourceNoDataCheckTimeout=null,this.hasPendingEos=!1,this.player.isPlayback()?this.player.on(vt.playbackPause,(t=>{Io(t)?(e._opt.isPlaybackPauseClearCache&&(Po(e._opt.checkFirstIFrame)&&(this.player.debugLog(this.TAG_NAME,"playbackPause is false and _opt.checkFirstIFrame is true so set isDecodeFirstIIframe = false"),this.isDecodeFirstIIframe=!1),this.clearUpAllSourceBuffer()),this.$videoElement.play()):(this.$videoElement.pause(),this.cacheTrack={})})):this.player.isPlayVod()&&this.player.on(vt.playVodPause,(e=>{Io(e)?this.$videoElement.play():(this.$videoElement.pause(),this.cacheTrack={})})),this._useManagedMediaSource?this.player.debugLog(this.TAG_NAME,"init and using ManagedMediaSource"):this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.stop(),this._clearAudioSourceBufferCheckTimeout(),this._clearAudioNoDataCheckTimeout(),this._stopCanvasRender(),this.eventListenList.length&&(this.eventListenList.forEach((e=>e())),this.eventListenList=[]),this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null),this.$videoElement&&(this.player._opt.mseUseCanvasRender&&(this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"))),this.$videoElement=null),this.mediaSourceObjectURL&&(window.URL.revokeObjectURL(this.mediaSourceObjectURL),this.mediaSourceObjectURL=null),this._resetInIt(),this.mediaSource=null,this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}needInitAudio(){return this.player._opt.hasAudio&&this.player._opt.mseDecodeAudio}_resetInIt(){this.isAvc=null,this.isAAC=null,this.videoMeta={},this.audioMeta={},this.sourceBuffer=null,this.audioSourceBuffer=null,this.hasInit=!1,this.hasAudioInit=!1,this.isInitInfo=!1,this.isAudioInitInfo=!1,this.audioMimeType="",this.videoMimeType="",this.cacheTrack={},this.cacheAudioTrack={},this.sequenceNumber=0,this.audioSequenceNumber=0,this.firstRenderTime=null,this.firstAudioTime=null,this.$videoElement=null,this.mediaSourceAppendBufferFull=!1,this.mediaSourceAppendBufferError=!1,this.mediaSourceAddSourceBufferError=!1,this.mediaSourceBufferError=!1,this.mediaSourceError=!1,this.prevTimestamp=null,this.decodeDiffTimestamp=null,this.prevDts=null,this.prevAudioDts=null,this.prevPayloadBufferSize=0,this.isWidthOrHeightChanged=!1,this.prevTs=null,this.prevAudioTs=null,this.eventListenList=[],this.pendingRemoveRanges=[],this.pendingSegments=[],this.pendingAudioRemoveRanges=[],this.pendingAudioSegments=[],this.supportVideoFrameCallbackHandle=null}get state(){return this.mediaSource&&this.mediaSource.readyState}get isStateOpen(){return this.state===Ri}get isStateClosed(){return this.state===Pi}get isStateEnded(){return this.state===Di}get duration(){return this.mediaSource&&this.mediaSource.duration||-1}set duration(e){this.mediaSource.duration=e}_bindMediaSourceEvents(){const{events:{proxy:e}}=this.player,t=e(this.mediaSource,as,(()=>{this.player.debugLog(this.TAG_NAME,"sourceOpen"),this._onMediaSourceSourceOpen(),this.player.emit(vt.mseSourceOpen)})),i=e(this.mediaSource,rs,(()=>{this.player.debugLog(this.TAG_NAME,"sourceClose"),this.player.emit(vt.mseSourceClose)})),s=e(this.mediaSource,os,(()=>{this.player.debugLog(this.TAG_NAME,"sourceended"),this.player.emit(vt.mseSourceended)}));this.eventListenList.push(t,i,s);const r=e(this.$videoElement,us,(e=>{if(Io(this.isSupportVideoFrameCallback))if(this.player.checkIsInRender())this.player.handleRender();else{const t=parseInt(e.timeStamp,10);this.player.debugLog(this.TAG_NAME,`mseUseCanvasRender is ${this.player._opt.mseUseCanvasRender} and\n $videoElement ts is ${t}, but not in render and vbps is ${this.player._stats.vbps} and fps is ${this.player._stats.fps}`)}}));if(this.eventListenList.push(r),this._useManagedMediaSource){const t=e(this.mediaSource,ns,(()=>{this.player.debugLog(this.TAG_NAME,"ManagedMediaSource startstreaming"),this.player.emit(vt.mseSourceStartStreaming)})),i=e(this.mediaSource,ls,(()=>{this.player.debugLog(this.TAG_NAME,"ManagedMediaSource endstreaming"),this.player.emit(vt.mseSourceEndStreaming)})),s=e(this.mediaSource,ds,(()=>{this.player.debugLog(this.TAG_NAME,"ManagedMediaSource qualitychange")}));this.eventListenList.push(t,i,s)}}_onMediaSourceSourceOpen(){this.sourceBuffer||(this.player.debugLog("MediaSource","onMediaSourceSourceOpen() sourceBuffer is null and next init"),this._initSourceBuffer()),this.audioSourceBuffer||(this.player.debugLog("MediaSource","onMediaSourceSourceOpen() audioSourceBuffer is null and next init"),this._initAudioSourceBuffer()),this._hasPendingSegments()&&this._doAppendSegments()}initVideoEvents(){const{proxy:e}=this.player.events;this.player.on(vt.visibilityChange,(e=>{e&&setTimeout((()=>{if(this.player.isPlaying()&&this.$videoElement){const e=this.getVideoBufferLastTime();e-this.$videoElement.currentTime>this.getMseBufferMaxDelayTime()&&(this.player.debugLog(this.TAG_NAME,`visibilityChange is true and lastTime is ${e} and currentTime is ${this.$videoElement.currentTime} so set currentTime to lastTime`),this.$videoElement.currentTime=e)}}),300)}));const t=e(this.$videoElement,hs,(()=>{this.player.debugLog(this.TAG_NAME,"video canplay"),this.$videoElement.play().then((()=>{this.player.emit(vt.removeLoadingBgImage),Wo()?this.supportVideoFrameCallbackHandle||(this.player.debugLog(this.TAG_NAME,"video canplay and requestVideoFrameCallback and use videoFrameCallback"),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))):this.player.isUseHls265()&&(this.player.debugLog(this.TAG_NAME,"video canplay and use canvas render and fps is 25"),this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.player.video.render({$video:this.$videoElement,ts:parseInt(1e3*this.$videoElement.currentTime,10)||0})}),40)),this.player.debugLog(this.TAG_NAME,"video play")})).catch((e=>{this.player.debugError(this.TAG_NAME,"video play error ",e),this.player.emitError(wt.mediaSourceUseCanvasRenderPlayFailed,`code is ${e.code} and message is ${e.message}`)}))})),i=e(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video waiting")})),s=e(this.$videoElement,ms,(()=>{this.player.debugLog(this.TAG_NAME,"video loadedmetadata")})),r=e(this.$videoElement,us,(e=>{parseInt(e.timeStamp,10),this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"video is paused and next try to replay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video is paused and replay success")})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video is paused and replay error ",e)})))})),a=e(this.$videoElement,ps,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate),this.$videoElement&&this.$videoElement.paused&&this.player.debugWarn(this.TAG_NAME,"ratechange and video is paused")}));this.eventListenList.push(t,i,r,a,s)}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math.max(t.mediaTime,this.$videoElement.currentTime),10)||0;this.player.handleRender(),this.player.video.render({$video:this.$videoElement,ts:i}),this.player.isUseHls265()&&this.player.updateStats({fps:!0,ts:i}),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}decodeVideo(e,t,i,s){const r=this.player;if(r)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeVideo() player is destroyed");else if(this.hasInit)if(!this.isDecodeFirstIIframe&&i&&(this.isDecodeFirstIIframe=!0),this.isDecodeFirstIIframe){if(i&&0===e[1]){const t=15&e[0];let i={};if(t===Pt){i=tl(e.slice(5))}else t===It&&(i=pl(e));const s=this.player.video.videoInfo;s&&s.width&&s.height&&i&&i.codecWidth&&i.codecHeight&&(i.codecWidth!==s.width||i.codecHeight!==s.height)&&(this.player.debugWarn(this.TAG_NAME,`\n decodeVideo: video width or height is changed,\n old width is ${s.width}, old height is ${s.height},\n new width is ${i.codecWidth}, new height is ${i.codecHeight},\n and emit change event`),this.isWidthOrHeightChanged=!0,this.player.emitError(wt.mseWidthOrHeightChange,`width ${s.width}->${i.codecWidth}, height ${s.height}->${i.codecHeight}`))}if(this.isWidthOrHeightChanged)return void this.player.debugWarn(this.TAG_NAME,"decodeVideo: video width or height is changed, and return");if(Ro(e))return void this.player.debugLog(this.TAG_NAME,"decodeVideo and payload is video sequence header so drop this frame");if(e.byteLength<12)return void this.player.debugWarn(this.TAG_NAME,`decodeVideo and payload is too small , payload length is ${e.byteLength}`);let r=t;if(this.player.isPlayer()){if(null===this.firstRenderTime&&(this.firstRenderTime=t,this.player.debugLog(this.TAG_NAME,`firstRenderTime is ${this.firstRenderTime}`)),r=t-this.firstRenderTime,r<0&&(this.player.debugWarn(this.TAG_NAME,`decodeVideo\n local dts is < 0 , ts is ${t} and prevTs is ${this.prevTs},\n firstRenderTime is ${this.firstRenderTime} and mseCorrectTimeDuration is ${this.player._opt.mseCorrectTimeDuration}`),r=null===this.prevDts?0:this.prevDts+this.player._opt.mseCorrectTimeDuration,this._checkTsIsMaxDiff(t)))return this.player.debugWarn(this.TAG_NAME,`decodeVideo is max diff , ts is ${t} and prevTs is ${this.prevTs}, diff is ${this.prevTs-t} and emit replay`),void this.player.emitError(wt.mediaSourceTsIsMaxDiff,`decodeVideo is max diff, prevTs is ${this.prevTs} and ts is ${t}`);if(null!==this.prevDts&&r<=this.prevDts){if(this.player.debugWarn(this.TAG_NAME,`\n decodeVideo dts is less than(or equal) prev dts ,\n dts is ${r} and prev dts is ${this.prevDts} ,\n and now ts is ${t} and prev ts is ${this.prevTs} ,\n and diff is ${t-this.prevTs} and firstRenderTime is ${this.firstRenderTime} and isIframe is ${i},\n and mseCorrectTimeDuration is ${this.player._opt.mseCorrectTimeDuration},\n and prevPayloadBufferSize is ${this.prevPayloadBufferSize} and payload size is ${e.byteLength}`),r===this.prevDts&&this.prevPayloadBufferSize===e.byteLength)return void this.player.debugWarn(this.TAG_NAME,"decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame");if(r=this.prevDts+this.player._opt.mseCorrectTimeDuration,this._checkTsIsMaxDiff(t))return this.player.debugWarn(this.TAG_NAME,`decodeVideo is max diff , ts is ${t} and prevTs is ${this.prevTs}, diff is ${this.prevTs-t} and emit replay`),void this.emit(wt.mediaSourceTsIsMaxDiff,`decodeVideo is max diff, prevTs is ${this.prevTs} and ts is ${t}`)}}this.player.isPlayer()?this._decodeVideo(e,r,i,s,t):this.player.isPlayback()?Io(this.player.playbackPause)?(this.player.playback.isUseLocalCalculateTime&&this.player.playback.increaseLocalTimestamp(),this._decodeVideo(e,r,i,s,t)):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this._decodeVideo(e,r,i,s,t):this.player.isPlayVod()&&Io(this.player.playVodPause)&&this._decodeVideo(e,r,i,s,t),this.prevDts=r,this.prevPayloadBufferSize=e.byteLength,this.prevTs=t}else this.player.debugLog(this.TAG_NAME,"decodeVideo first frame is not iFrame");else if(i&&e[1]===Rs){const s=15&e[0];if(r.video.updateVideoInfo({encTypeCode:s}),s===It&&Io(Wa()))return void this.player.emitError(wt.mediaSourceH265NotSupport);r._times.decodeStart||(r._times.decodeStart=_a()),this.hasInit=this._decodeConfigurationRecord(e,t,i,s)}else this.player.debugWarn(this.TAG_NAME,`decodeVideo has not init , isIframe is ${i} , payload is ${e[1]} so drop this frame`)}decodeAudio(e,t){if(this.player)if(this.player.isDestroyedOrClosed())this.player.debugWarn(this.TAG_NAME,"decodeAudio() player is destroyed");else if(Io(this.hasAudioInit))this.hasAudioInit=this._decodeAudioConfigurationRecord(e,t);else{let i=t;if(ea(e))return void this.player.debugLog(this.TAG_NAME,"decodeAudio and has already initialized and payload is aac codec packet so drop this frame");if(this._clearAudioNoDataCheckTimeout(),this.isDecodeFirstIIframe){if(this.player.isPlayer()){if(null===this.firstAudioTime&&(this.firstAudioTime=t,this.player.debugLog(this.TAG_NAME,`firstAudioTime is ${this.firstAudioTime}`)),i=t-this.firstAudioTime,i<0&&(this.player.debugWarn(this.TAG_NAME,`decodeAudio\n local dts is < 0 , ts is ${t} and prevTs is ${this.prevAudioTs},\n firstAudioTime is ${this.firstAudioTime}`),i=null===this.prevAudioDts?0:this.prevAudioDts+this.player._opt.mseCorrectAudioTimeDuration,this._checkAudioTsIsMaxDiff(t)))return this.player.debugWarn(this.TAG_NAME,`decodeAudio is max diff , ts is ${t} and prevTs is ${this.prevAudioDts}, diff is ${this.prevAudioDts-t} and emit replay`),void this.player.emitError(wt.mediaSourceTsIsMaxDiff,`decodeAudio is max diff, prevTs is ${this.prevAudioDts} and ts is ${t}`);null!==this.prevAudioTs&&i<=this.prevAudioDts&&(this.player.debugWarn(this.TAG_NAME,`\n decodeAudio dts is less than(or equal) prev dts ,\n dts is ${i} and prev dts is ${this.prevAudioDts} ,\n and now ts is ${t} and prev ts is ${this.prevAudioTs} ,\n and diff is ${t-this.prevAudioTs}`),i=this.prevAudioDts+this.player._opt.mseCorrectAudioTimeDuration)}this.player.isPlayer()?this._decodeAudio(e,i,t):this.player.isPlayback()?(Io(this.player.playbackPause)||this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode())&&this._decodeAudio(e,i,t):this.player.isPlayVod()&&Io(this.player.playVodPause)&&this._decodeAudio(e,i,t),this.prevAudioTs=t,this.prevAudioDts=i}else this.player.debugLog(this.TAG_NAME,"decodeAudio first frame is not iFrame")}}_checkTsIsMaxDiff(e){return this.prevTs>0&&ese}_checkAudioTsIsMaxDiff(e){return this.prevAudioTs>0&&ese}_decodeConfigurationRecord(e,t,i,s){let r=e.slice(5),a={};if(s===Pt?a=tl(r):s===It&&(a=ml(r)),no(a)||0===a.codecWidth&&0===a.codecHeight){this.player.debugWarn(this.TAG_NAME,"_decodeConfigurationRecord",a);let e="";return e=no(a)?"config is empty object":`config is not empty object and codecWidth is ${a.codecWidth} and codecHeight is ${a.codecHeight}`,this.player.emitError(wt.mediaSourceDecoderConfigurationError,e),!1}this.isInitInfo||(this.player.debugLog(this.TAG_NAME,`updateVideoInfo: ${a.codecWidth},${a.codecHeight}`),this.player.video.updateVideoInfo({width:a.codecWidth,height:a.codecHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0),this.player.recorder&&this.player._opt.recordType===T&&this.player.recorder.initMetaData(e,s);const o={id:Ar,type:"video",timescale:1e3,duration:0,avcc:r,codecWidth:a.codecWidth,codecHeight:a.codecHeight,videoType:a.videoType},n=Mc.generateInitSegment(o);this.isAvc=s===Pt;let l=a.codec;return this.videoMimeType=l?`video/mp4; codecs="${a.codec}"`:this.isAvc?Ei:Ti,this._initSourceBuffer(),this.appendBuffer(n.buffer),this.sequenceNumber=0,this.cacheTrack={},!0}_decodeAudioConfigurationRecord(e,t){const i=e[0]>>4,s=e[0]>>1&1,r=i===Ot,a=i===Ft;let o="";if(o=a?s?16:8:0===s?8:16,Io(a||r))return this.player.debugWarn(this.TAG_NAME,`_decodeAudioConfigurationRecord audio codec is not support , codecId is ${i} ant auto wasm decode`),this.player.emit(wt.mediaSourceAudioG711NotSupport),!1;const n={id:br,type:"audio",timescale:1e3};let l={};if(ea(e)){if(l=aa(e.slice(2)),!l)return!1;n.audioSampleRate=l.sampleRate,n.channelCount=l.channelCount,n.config=l.config,n.refSampleDuration=1024/n.audioSampleRate*n.timescale}else{if(!r)return!1;if(l=cc(e),!l)return!1;n.audioSampleRate=l.samplingRate,n.channelCount=l.channelCount,n.refSampleDuration=1152/n.audioSampleRate*n.timescale}n.codec=l.codec,n.duration=0;let d="mp4",h=l.codec,c=null;r&&Io(Ra())?(d="mpeg",h="",c=new Uint8Array):c=Mc.generateInitSegment(n);let u=`${n.type}/${d}`;return h&&h.length>0&&(u+=`;codecs=${h}`),Io(this.isAudioInitInfo)&&(this.player.audio.updateAudioInfo({encTypeCode:i,channels:n.channelCount,sampleRate:n.audioSampleRate,depth:o}),this.isAudioInitInfo=!0),this.audioMimeType=u,this.isAAC=a,this._initAudioSourceBuffer(),this.appendAudioBuffer(c.buffer),!0}_initSourceBuffer(){const{events:{proxy:e}}=this.player;if(null===this.sourceBuffer&&null!==this.mediaSource&&this.isStateOpen&&this.videoMimeType){try{this.sourceBuffer=this.mediaSource.addSourceBuffer(this.videoMimeType),this.player.debugLog(this.TAG_NAME,"_initSourceBuffer() this.mediaSource.addSourceBuffer()",this.videoMimeType)}catch(e){return this.player.debugError(this.TAG_NAME,"appendBuffer() this.mediaSource.addSourceBuffer()",e.code,e),this.player.emitError(wt.mseAddSourceBufferError,`code is ${e.code} and message is ${e.message}`),void(this.mediaSourceAddSourceBufferError=!0)}if(this.sourceBuffer){const t=e(this.sourceBuffer,"error",(e=>{this.mediaSourceBufferError=!0,this.player.debugError(this.TAG_NAME,"mseSourceBufferError this.sourceBuffer",e),this.player.emitError(wt.mseSourceBufferError,e.toString())})),i=e(this.sourceBuffer,"updateend",(()=>{this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this.hasPendingEos&&(this.player.debugLog(this.TAG_NAME,"videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),this.endOfStream())}));this.eventListenList.push(t,i)}}else this.player.debugLog(this.TAG_NAME,`_initSourceBuffer and this.isStateOpen is ${this.isStateOpen} and this.isAvc === null is ${null===this.isAvc}`)}_initAudioSourceBuffer(){const{events:{proxy:e}}=this.player;if(null===this.audioSourceBuffer&&null!==this.mediaSource&&this.isStateOpen&&this.audioMimeType){try{this.audioSourceBuffer=this.mediaSource.addSourceBuffer(this.audioMimeType),this._clearAudioSourceBufferCheckTimeout(),this.player.debugLog(this.TAG_NAME,"_initAudioSourceBuffer() this.mediaSource.addSourceBuffer()",this.audioMimeType)}catch(e){return this.player.debugError(this.TAG_NAME,"appendAudioBuffer() this.mediaSource.addSourceBuffer()",e.code,e),this.player.emitError(wt.mseAddSourceBufferError,`code is ${e.code} and message is ${e.message}`),void(this.mediaSourceAddSourceBufferError=!0)}if(this.audioSourceBuffer){const t=e(this.audioSourceBuffer,"error",(e=>{this.mediaSourceBufferError=!0,this.player.debugError(this.TAG_NAME,"mseSourceBufferError this.audioSourceBuffer",e),this.player.emitError(wt.mseSourceBufferError,e.toString())})),i=e(this.audioSourceBuffer,"updateend",(()=>{this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this.hasPendingEos&&(this.player.debugLog(this.TAG_NAME,"audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()"),this.endOfStream())}));this.eventListenList.push(t,i),null===this.audioSourceNoDataCheckTimeout&&(this.audioSourceNoDataCheckTimeout=setTimeout((()=>{this._clearAudioNoDataCheckTimeout(),this.player.emit(wt.mediaSourceAudioNoDataTimeout)}),1e3))}}else this.player.debugLog(this.TAG_NAME,`_initAudioSourceBuffer and this.isStateOpen is ${this.isStateOpen} and this.audioMimeType is ${this.audioMimeType}`)}_decodeVideo(e,t,i,s,r){const a=this.player;let o=e.slice(5),n=o.byteLength;if(0===n)return void a.debugWarn(this.TAG_NAME,"_decodeVideo payload bytes is 0 and return");let l=(new Date).getTime(),d=!1;this.prevTimestamp||(this.prevTimestamp=l,d=!0);const h=l-this.prevTimestamp;this.decodeDiffTimestamp=h,h>1e3&&!d&&this.player.isPlayer()&&a.debugLog(this.TAG_NAME,`_decodeVideo now time is ${l} and prev time is ${this.prevTimestamp}, diff time is ${h} ms`);const c=this.$videoElement;if(this.cacheTrack.id&&t>=this.cacheTrack.dts){let e=8+this.cacheTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(Mc.types.mdat,4),i.set(this.cacheTrack.data,8),this.cacheTrack.duration=t-this.cacheTrack.dts,this.cacheTrack.duration>1e3&&this.player.debugWarn(this.TAG_NAME,`cacheTrack duration is ${this.cacheTrack.duration} ms`);let s=Mc.moof(this.cacheTrack,this.cacheTrack.dts);this.cacheTrack={};let o=new Uint8Array(s.byteLength+i.byteLength);o.set(s,0),o.set(i,s.byteLength),this.appendBuffer(o.buffer),a.emit(vt.timeUpdate,r),a.isPlayer()?a.isUseHls265()?a.updateStats({dfps:!0,mseTs:t}):a.updateStats({fps:!0,dfps:!0,ts:r,mseTs:t}):a.isPlayback()?a.playback.updateStats({ts:r}):a.isPlayVod()&&a.playVod.updateStats({ts:r}),a._times.videoStart||(a._times.videoStart=_a(),a.handlePlayToRenderTimes())}else a.debugLog(this.TAG_NAME,`cacheTrack = {} now dts is ${t}, and ts is ${r} cacheTrack dts is ${this.cacheTrack&&this.cacheTrack.dts}`),this.cacheTrack={};this.cacheTrack||(this.cacheTrack={}),this.cacheTrack.id=Ar,this.cacheTrack.sequenceNumber=++this.sequenceNumber,this.cacheTrack.size=n,this.cacheTrack.dts=t,this.cacheTrack.cts=s,this.cacheTrack.isKeyframe=i,this.cacheTrack.data=o,this.cacheTrack.flags={isLeading:0,dependsOn:i?2:1,isDependedOn:i?1:0,hasRedundancy:0,isNonSync:i?0:1},a._opt.mseUseCanvasRender&&Io(this.isSupportVideoFrameCallback)&&Io(a.isUseHls265())&&a.video.render({$video:c,ts:t}),this.prevTimestamp=(new Date).getTime()}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}_decodeAudio(e,t,i){const s=this.player;let r=this.isAAC?e.slice(2):e.slice(1),a=r.byteLength;if(this.cacheAudioTrack.id&&t>=this.cacheAudioTrack.dts){let e=8+this.cacheAudioTrack.size,i=new Uint8Array(e);i[0]=e>>>24&255,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i.set(Mc.types.mdat,4),i.set(this.cacheAudioTrack.data,8),this.cacheAudioTrack.duration=t-this.cacheAudioTrack.dts,this.cacheAudioTrack.duration>1e3&&this.player.debugWarn(this.TAG_NAME,`cacheTrack duration is ${this.cacheTrack.duration} ms`);let s=Mc.moof(this.cacheAudioTrack,this.cacheAudioTrack.dts);this.cacheAudioTrack={};let r=new Uint8Array(s.byteLength+i.byteLength);r.set(s,0),r.set(i,s.byteLength),this.appendAudioBuffer(r.buffer)}else s.debugLog(this.TAG_NAME,`cacheAudioTrack = {} now dts is ${t} cacheAudioTrack dts is ${this.cacheAudioTrack&&this.cacheAudioTrack.dts}`),this.cacheAudioTrack={};this.cacheAudioTrack||(this.cacheAudioTrack={}),this.cacheAudioTrack.id=br,this.cacheAudioTrack.sequenceNumber=++this.audioSequenceNumber,this.cacheAudioTrack.size=a,this.cacheAudioTrack.dts=t,this.cacheAudioTrack.cts=0,this.cacheAudioTrack.data=r,this.cacheAudioTrack.flags={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}appendBuffer(e){this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"appendBuffer() player is destroyed"):(this.player,this.mediaSourceAddSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceAddSourceBufferError is true"):this.mediaSourceAppendBufferFull?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceAppendBufferFull is true"):this.mediaSourceAppendBufferError?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceAppendBufferError is true"):this.mediaSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendBuffer() this.mediaSourceBufferError is true"):(this.pendingSegments.push(e),this.sourceBuffer&&(this.player.isPlayer()&&this._handleUpdatePlaybackRate(),this.player.isPlayback()&&(this._handleUpdateBufferDelayTime(),this._checkVideoPlayCurrentTime()),this.player.isPlayVod(),Io(this.player.isPlayVod())&&this.player._opt.mseAutoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanUpSourceBuffer(),Io(this.getSourceBufferUpdating())&&this.isStateOpen&&Io(this._hasPendingRemoveRanges()))?this._doAppendSegments():this.isStateClosed?(this.mediaSourceBufferError=!0,this.player.emitError(wt.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):this.isStateEnded&&(this.mediaSourceBufferError=!0,this.player.emitError(wt.mseSourceBufferError,"mediaSource is end"))))}appendAudioBuffer(e){this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() player is destroyed"):(this.player,this.mediaSourceAddSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAddSourceBufferError is true"):this.mediaSourceAppendBufferFull?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAppendBufferFull is true"):this.mediaSourceAppendBufferError?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAppendBufferError is true"):this.mediaSourceBufferError?this.player.debugWarn(this.TAG_NAME,"appendAudioBuffer() this.mediaSourceBufferError is true"):(this.pendingAudioSegments.push(e),this.audioSourceBuffer&&(this.player.isPlayer()&&this._handleUpdatePlaybackRate(),this.player.isPlayback()&&(this._handleUpdateBufferDelayTime(),this._checkVideoPlayCurrentTime()),this.player.isPlayVod(),Io(this.player.isPlayVod())&&this.player._opt.mseAutoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanUpSourceBuffer(),Io(this.getAudioSourceBufferUpdating())&&this.isStateOpen&&Io(this._hasPendingRemoveRanges()))?this._doAppendSegments():this.isStateClosed?(this.mediaSourceBufferError=!0,this.player.emitError(wt.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):this.isStateEnded&&(this.mediaSourceBufferError=!0,this.player.emitError(wt.mseSourceBufferError,"mediaSource is end"))))}getSourceBufferUpdating(){return this.sourceBuffer&&this.sourceBuffer.updating}getAudioSourceBufferUpdating(){return this.audioSourceBuffer&&this.audioSourceBuffer.updating}stop(){this.abortSourceBuffer(),this.removeSourceBuffer(),this.endOfStream()}checkSourceBufferDelay(){const e=this.$videoElement;let t=0,i=0;return e.buffered.length>0&&(i=e.buffered.end(e.buffered.length-1),t=i-e.currentTime),t<0&&(this.player.debugWarn(this.TAG_NAME,`checkMSESourceBufferDelay ${t} < 0, and buffered is ${i} ,currentTime is ${e.currentTime} , try to seek ${e.currentTime} to ${i}`),e.currentTime=i,e.paused&&(this.player.debugWarn(this.TAG_NAME,"checkMSESourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true"),this.player.isMSECurrentMoreThanBufferedPause=!0),t=0),t}checkSourceBufferStore(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.currentTime-e.buffered.start(0)),t}checkSourceBufferEndLessThanCurrentTime(){const e=this.$videoElement;let t=0;return e.buffered.length>0&&(t=e.buffered.end(e.buffered.length-1)-e.currentTime),t}getDecodeDiffTimes(){return this.decodeDiffTimestamp}removeBuffer(e,t){const i=mo();if(this.player.debugLog(this.TAG_NAME,`removeBuffer() start is ${e} and end is ${t} and _isMacOsFirefox is ${i}`),this.isStateOpen&&Io(i)){if(Io(this.getSourceBufferUpdating()))try{this.sourceBuffer.remove(e,t)}catch(e){this.player.debugWarn(this.TAG_NAME,"removeBuffer() sourceBuffer error",e)}if(Io(this.getAudioSourceBufferUpdating()))try{this.audioSourceBuffer.remove(e,t)}catch(e){this.player.debugWarn(this.TAG_NAME,"removeBuffer() audioSourceBuffer error",e)}}}clearUpAllSourceBuffer(){if(this.sourceBuffer){const e=this.sourceBuffer.buffered;for(let t=0;t=1)if(this.getSourceBufferUpdating()||this.getAudioSourceBufferUpdating())this.hasPendingEos=!0;else{this.hasPendingEos=!1;try{this.player.debugLog(this.TAG_NAME,"endOfStream()"),this.mediaSource.endOfStream()}catch(e){this.player.debugWarn(this.TAG_NAME,"endOfStream() error",e)}}}abortSourceBuffer(){if(this.isStateOpen){if(this.sourceBuffer){try{this.player.debugLog(this.TAG_NAME,"abortSourceBuffer() abort sourceBuffer"),this.sourceBuffer.abort()}catch(e){}Io(this.getSourceBufferUpdating())&&this._doRemoveRanges()}if(this.audioSourceBuffer){try{this.player.debugLog(this.TAG_NAME,"abortSourceBuffer() abort audioSourceBuffer"),this.audioSourceBuffer.abort()}catch(e){}Io(this.getAudioSourceBufferUpdating())&&this._doRemoveRanges()}}this.sourceBuffer=null,this.audioSourceBuffer=null}removeSourceBuffer(){if(!this.isStateClosed&&this.mediaSource){if(this.sourceBuffer)try{this.player.debugLog(this.TAG_NAME,"removeSourceBuffer() sourceBuffer"),this.mediaSource.removeSourceBuffer(this.sourceBuffer)}catch(e){this.player.debugError(this.TAG_NAME,"removeSourceBuffer() sourceBuffer error",e)}if(this.audioSourceBuffer)try{this.player.debugLog(this.TAG_NAME,"removeSourceBuffer() audioSourceBuffer"),this.mediaSource.removeSourceBuffer(this.audioSourceBuffer)}catch(e){this.player.debugError(this.TAG_NAME,"removeSourceBuffer() audioSourceBuffer error",e)}}}_hasPendingSegments(){return this.pendingSegments.length>0||this.pendingAudioSegments.length>0}getPendingSegmentsLength(){return this.pendingSegments.length}_handleUpdatePlaybackRate(){if(!this.$videoElement)return;const e=this.$videoElement;this.player._opt.videoBuffer,this.player._opt.videoBufferDelay;const t=e.buffered;t.length&&t.start(0);const i=t.length?t.end(t.length-1):0;let s=e.currentTime;const r=i-s,a=this.getMseBufferMaxDelayTime();if(this.player.updateStats({mseVideoBufferDelayTime:r}),0===this.$videoElement.readyState)return;if(r>a)this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current is ${s} , delay buffer is more than ${a} is ${r} and new time is ${i}`),e.currentTime=i,s=e.currentTime;else if(r<0&&0===i)return this.player.debugWarn(this.TAG_NAME,`handleUpdatePlaybackRate and delay buffer is ${i} - current is ${s} = ${r} < 0 and check video is paused : ${e.paused} `),void this.player.emit(wt.mediaSourceBufferedIsZeroError,"video.buffered is empty");const o=this._getPlaybackRate(i-s);e.playbackRate!==o&&(this.player.debugLog(this.TAG_NAME,`handleUpdatePlaybackRate and buffered is ${i} and current time is ${s} and delay is ${i-s} set playbackRate is ${o} `),e.playbackRate=o)}_handleUpdateBufferDelayTime(){const e=this.getVideoBufferDelayTime();this.player.updateStats({mseVideoBufferDelayTime:e})}_checkVideoPlayCurrentTime(){const e=this.checkSourceBufferStore();if(e<0){const t=this.getVideoBufferStartTime();this.player.debugWarn(this.TAG_NAME,`checkVideoPlayCurrentTime store is ${e} < 0 and set currentTime ${this.$videoElement.currentTime} to ${t}`),this.$videoElement.currentTime=t}}updateVideoCurrentTimeByBufferStart(){if(!this.$videoElement)return;const e=this.$videoElement.currentTime,t=this.getVideoBufferRangeList();if(1===t.length){const i=t[0].end,s=Math.abs(i-e);if(s<1)return void this.player.debugLog(this.TAG_NAME,`updateVideoCurrentTimeByBufferStart current time is ${e} and buffer end is ${i} and diff is ${s} and return`)}let i=null;for(let s=0;s{this._clearAudioSourceBufferCheckTimeout(),this.player.emit(wt.mediaSourceAudioInitTimeout)}),1e3)));if(Io(this.getSourceBufferUpdating())&&this.pendingSegments.length>0){const e=this.pendingSegments.shift();try{this.sourceBuffer.appendBuffer(e)}catch(e){this.player.debugError(this.TAG_NAME,"this.sourceBuffer.appendBuffer()",e.code,e),22===e.code?(this.stop(),this.mediaSourceAppendBufferFull=!0,this.player.emitError(wt.mediaSourceFull,`code is ${e.code} and message is ${e.message}`)):11===e.code?(this.stop(),this.mediaSourceAppendBufferError=!0,this.player.emitError(wt.mediaSourceAppendBufferError,`code is ${e.code} and message is ${e.message}`)):(this.stop(),this.mediaSourceBufferError=!0,this.player.emitError(vt.mseSourceBufferError,`code is ${e.code} and message is ${e.message}`))}}if(Io(this.getAudioSourceBufferUpdating())&&this.pendingAudioSegments.length>0){const e=this.pendingAudioSegments.shift();try{this.audioSourceBuffer.appendBuffer(e)}catch(e){this.player.debugError(this.TAG_NAME,"this.audioSourceBuffer.appendBuffer()",e.code,e),22===e.code?(this.stop(),this.mediaSourceAppendBufferFull=!0,this.player.emitError(wt.mediaSourceFull,`code is ${e.code} and message is ${e.message}`)):11===e.code?(this.stop(),this.mediaSourceAppendBufferError=!0,this.player.emitError(wt.mediaSourceAppendBufferError,`code is ${e.code} and message is ${e.message}`)):(this.stop(),this.mediaSourceBufferError=!0,this.player.emitError(vt.mseSourceBufferError,`code is ${e.code} and message is ${e.message}`))}}}else this.player.debugLog(this.TAG_NAME,"_doAppendSegments() sourceBuffer is null and wait init and return")}_doCleanUpSourceBuffer(){if(!this.$videoElement)return;const e=this.$videoElement.currentTime;if(this.sourceBuffer){const t=this.sourceBuffer.buffered;let i=!1;for(let s=0;s=this.player._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let t=e-this.player._opt.mseAutoCleanupMinBackwardDuration;this.pendingRemoveRanges.push({start:r,end:t})}}else a=this.player._opt.mseAutoCleanupMaxBackwardDuration){i=!0;let t=e-this.player._opt.mseAutoCleanupMinBackwardDuration;this.pendingAudioRemoveRanges.push({start:r,end:t})}}else a0||this.pendingAudioRemoveRanges.length>0}_doRemoveRanges(){if(this.sourceBuffer&&Io(this.getSourceBufferUpdating())){let e=this.pendingRemoveRanges;for(;e.length&&Io(this.getSourceBufferUpdating());){let t=e.shift();try{this.sourceBuffer.remove(t.start,t.end)}catch(e){this.player.debugWarn(this.TAG_NAME,"_doRemoveRanges() sourceBuffer error",e)}}}if(this.audioSourceBuffer&&Io(this.getAudioSourceBufferUpdating())){let e=this.pendingAudioRemoveRanges;for(;e.length&&Io(this.getAudioSourceBufferUpdating());){let t=e.shift();try{this.audioSourceBuffer.remove(t.start,t.end)}catch(e){this.player.debugWarn(this.TAG_NAME,"_doRemoveRanges() audioSourceBuffer error",e)}}}}getDecodePlaybackRate(){let e=0;const t=this.$videoElement;return t&&(e=t.playbackRate),e}_getPlaybackRate(e){const t=this.$videoElement;let i=this.player._opt.videoBufferDelay+this.player._opt.videoBuffer;const s=Math.max(i,1e3),r=s/2;return e*=1e3,1===t.playbackRate?e>s?1.2:1:e<=r?1:t.playbackRate}_needCleanupSourceBuffer(){if(Io(this.player._opt.mseAutoCleanupSourceBuffer)||!this.$videoElement)return!1;const e=this.$videoElement,t=e.buffered,i=e.currentTime;return t.length>=1&&i-t.start(0)>=this.player._opt.mseAutoCleanupMaxBackwardDuration}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}getVideoBufferLastTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;i.length&&i.start(0);t=i.length?i.end(i.length-1):0}return t}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}getVideoBufferStartTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;t=i.length?i.start(0):0}return t}getVideoBufferEndTime(){const e=this.$videoElement;let t=0;if(e){const i=e.buffered;t=i.length?i.end(i.length-1):0}return t}getVideoBufferRangeList(){const e=this.$videoElement;let t=[];if(e){const i=e.buffered;for(let e=0;e0?t:0}_clearAudioSourceBufferCheckTimeout(){this.audioSourceBufferCheckTimeout&&(clearTimeout(this.audioSourceBufferCheckTimeout),this.audioSourceBufferCheckTimeout=null)}_clearAudioNoDataCheckTimeout(){this.audioSourceNoDataCheckTimeout&&(clearTimeout(this.audioSourceNoDataCheckTimeout),this.audioSourceNoDataCheckTimeout=null)}getMimeType(){return{video:this.videoMimeType,audio:this.audioMimeType}}getMseBufferMaxDelayTime(){let e=(this.player._opt.videoBuffer+this.player._opt.videoBufferDelay)/1e3;return Math.max(5,e+3)}isVideoPlaying(){return this.$videoElement&&Io(this.$videoElement.paused)&&Io(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}isCurrentTimeInBufferEnd(){let e=!1;if(this.$videoElement){const t=this.$videoElement.currentTime,i=this.getVideoBufferEndTime(),s=Math.abs(i-t);e=s<1,e&&this.player.debugLog(this.TAG_NAME,`isCurrentTimeInBufferEnd and currentTime is ${t} and end is ${i} and diff is ${s}`)}return e}checkVideoPlayCurrentTime(){const e=this.checkSourceBufferStore();if(e<0){const t=this.getVideoBufferStartTime();this.player.debug.warn(this.TAG_NAME,`checkVideoPlayCurrentTime store is ${e} < 0 and set currentTime ${this.$videoElement.currentTime} to ${t}`),this.$videoElement.currentTime=t}}updateMediaSourceDuration(e){this.mediaSource&&(this.mediaSource.duration=e)}}const Uc=()=>"wakeLock"in navigator&&-1===window.navigator.userAgent.indexOf("Samsung")&&Io(Ia());class Oc{constructor(e){this.player=e,this.enabled=!1,Uc()?(this.player.debugLog("NoSleep","Native Wake Lock API supported."),this._wakeLock=null,this.handleVisibilityChange=()=>{null!==this._wakeLock&&"visible"===document.visibilityState&&this.enable()},document.addEventListener("visibilitychange",this.handleVisibilityChange),document.addEventListener("fullscreenchange",this.handleVisibilityChange)):(this.player.debugLog("NoSleep","Native Wake Lock API not supported. so use video element."),this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm","data:video/webm;base64,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ggOtgPj//qOHggPBgPj//qOHggPVgPj//qOHggPpgPj//qOegQPvANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCA/2A+P/+o4eCBBGA+P/+o4eCBCWA+P/+o4eCBDmA+P/+o4eCBE2A+P/+o56BBFMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IEiID4//6jh4IEnID4//6jh4IEsID4//6jnoEEtwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggTEgPj//qOHggTYgPj//qOHggTsgPj//qOHggUAgPj//qOHggUUgPj//qOegQUbANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBSiA+P/+o4eCBTyA+P/+o4eCBVCA+P/+o4eCBWSA+P/+o4eCBXiA+P/+o56BBX8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IFjID4//6jh4IFoID4//6jh4IFtID4//6jh4IFyID4//6jh4IF3ID4//6jnoEF4wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggXwgPj//qOHggYEgPj//qOHggYYgPj//qOHggYsgPj//qOHggZAgPj//qOegQZHANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBlSA+P/+o4eCBmiA+P/+o4eCBnyA+P/+o4eCBpCA+P/+o4eCBqSA+P/+o56BBqsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IGuID4//6jh4IGzID4//6jh4IG4ID4//6jh4IG9ID4//6jh4IHCID4//6jnoEHDwDRAgAFEBAUYABhYL/QACIAEM1+tck+ccwAAKOHggccgPj//qOHggcwgPj//qOHggdEgPj//qOHggdYgPj//qOHggdsgPj//qOegQdzANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCB4CA+P/+o4eCB5SA+P/+o4eCB6iA+P/+o4eCB7yA+P/+o4eCB9CA+P/+o56BB9cA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IH5ID4//6jh4IH+ID4//6jh4IIDID4//6jh4IIIID4//6jh4IINID4//6jnoEIOwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgghIgPj//qOHgghcgPj//qOHgghwgPj//qOHggiEgPj//qOegQifANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCMCA+P/+o4eCCNSA+P/+o4eCCOiA+P/+o4eCCPyA+P/+o56BCQMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IJEID4//6jh4IJJID4//6jh4IJOID4//6jh4IJTID4//6jh4IJYID4//6jnoEJZwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggl0gPj//qOHggmIgPj//qOHggmcgPj//qOHggmwgPj//qOHggnEgPj//qOegQnLANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCdiA+P/+o4eCCeyA+P/+o4eCCgCA+P/+o4eCChSA+P/+o4eCCiiA+P/+o56BCi8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IKPID4//6jh4IKUID4//6jh4IKZID4//6jh4IKeID4//6jh4IKjID4//6jnoEKkwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggqggPj//qOHggq0gPj//qOHggrIgPj//qOHggrcgPj//qOHggrwgPj//qOegQr3ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCwSA+P/+o4eCCxiA+P/+o4eCCyyA+P/+o4eCC0CA+P/+o4eCC1SA+P/+o56BC1sA0QIABRAQFGAAYWC/0AAiABDNfrXJPnHMAACjh4ILaID4//6jh4ILfID4//6jh4ILkID4//6jh4ILpID4//6jh4ILuID4//6jnoELvwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggvMgPj//qOHggvggPj//qOHggv0gPj//qOHggwIgPj//qOHggwcgPj//qOegQwjANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDDCA+P/+o4eCDESA+P/+o4eCDFiA+P/+o4eCDGyA+P/+o4eCDICA+P/+o56BDIcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IMlID4//6jh4IMqID4//6jh4IMvID4//6jh4IM0ID4//6jnoEM6wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg0MgPj//qOHgg0ggPj//qOHgg00gPj//qOHgg1IgPj//qOegQ1PANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDVyA+P/+o4eCDXCA+P/+o4eCDYSA+P/+o4eCDZiA+P/+o4eCDayA+P/+o56BDbMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4INwID4//6jh4IN1ID4//6jh4IN6ID4//6jh4IN/ID4//6jh4IOEID4//6jnoEOFwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg4kgPj//qOHgg44gPj//qOHgg5MgPj//qOHgg5ggPj//qOHgg50gPj//qOegQ57ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDoiA+P/+o4eCDpyA+P/+o4eCDrCA+P/+o4eCDsSA+P/+o4eCDtiA+P/+o56BDt8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IO7ID4//6jh4IPAID4//6jh4IPFID4//6jh4IPKID4//6jh4IPPID4//6jnoEPQwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg9QgPj//qOHgg9kgPj//qOHgg94gPj//qOHgg+MgPj//qOHgg+ggPj//qOegQ+nANECAAUQEBRgAGFgv9AAIgAQzX61yT5xzAAAo4eCD7SA+P/+o4eCD8iA+P/+o4eCD9yA+P/+o4eCD/CA+P/+o4eCEASA+P/+o56BEAsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IQGID4//6jh4IQLID4//6jh4IQQID4//6jh4IQVID4//6jh4IQaID4//6jnoEQbwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghB8gPj//qOHghCQgPj//qOHghCkgPj//qOHghC4gPj//qOHghDMgPj//qOegRDTANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEOCA+P/+o4eCEPSA+P/+o4eCEQiA+P/+o56BETcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IRQ4D4//6jh4IRV4D4//6jh4IRa4D4//6jh4IRf4D4//6jh4IRk4D4//6jnoERmwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghGngPj//qOHghG7gPj//qOHghHPgPj//qOHghHjgPj//qOHghH3gPj//qOegRH/ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEguA+P/+o4eCEh+A+P/+o4eCEjOA+P/+o4eCEkeA+P/+o4eCEluA+P/+o56BEmMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4ISb4D4//6jh4ISg4D4//6jh4ISl4D4//6jh4ISq4D4//6jh4ISv4D4//6jnoESxwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghLTgPj//qOHghLngPj//qOHghL7gPj//qOHghMPgPj//qOHghMjgPj//qOegRMrANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEzeA+P/+o4eCE0uA+P/+o4eCE1+A+P/+o4eCE3OA+P/+oAEAAAAAAAAPoYeCE4cA+P/+daKDB/KBHFO7a5G7j7OBB7eK94EB8YIDX/CBDA=="),this._addSourceToVideo(this.noSleepVideo,"mp4","data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACORtZGF03gIATGF2YzU4LjM1LjEwMAACMEAOAAACcQYF//9t3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2MSByMzAyNyA0MTIxMjc3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTAgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0wIHdlaWdodHA9MCBrZXlpbnQ9MjUwIGtleWludF9taW49MTAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAADvZYiED/JigADD7JycnJycnJycnJycnJycnJycnJ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114BGCAHARggBwEYIAcBGCAHARggBwAAAAdBmjgf4BLYARggBwEYIAcBGCAHARggBwAAAAdBmlQH+AS2ARggBwEYIAcBGCAHARggBwAAAAdBmmA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZrAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0Ga4D/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbAD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbID/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBm0A/wCWwARggBwEYIAcBGCAHAAAAB0GbYD/AJbABGCAHARggBwEYIAcAAAAHQZuAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0Gb4D/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBmgA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmiA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmkA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZpgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwAAAAdBmsA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmuA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmwA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZsgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtgP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GbgD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdB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"),Object.assign(this.noSleepVideo.style,{position:"absolute",left:"-100%",top:"-100%"}),document.querySelector("body").append(this.noSleepVideo),this.handleNoSleepVideoTimeUpdate=()=>{this.noSleepVideo&&this.noSleepVideo.currentTime>4&&(this.noSleepVideo.currentTime=1)},this.noSleepVideo.addEventListener("timeupdate",this.handleNoSleepVideoTimeUpdate))}destroy(){if(this._wakeLock&&(this._wakeLock.release(),this._wakeLock=null),this.noSleepVideo){this.handleNoSleepVideoTimeUpdate&&this.noSleepVideo.removeEventListener("timeupdate",this.handleNoSleepVideoTimeUpdate);try{this.noSleepVideo.parentNode&&this.noSleepVideo.parentNode.removeChild(this.noSleepVideo)}catch(e){this.player.debugWarn("NoSleep","Failed to remove noSleepVideo element.")}this.noSleepVideo=null}this.handleVisibilityChange&&(document.removeEventListener("visibilitychange",this.handleVisibilityChange),document.removeEventListener("fullscreenchange",this.handleVisibilityChange))}_addSourceToVideo(e,t,i){var s=document.createElement("source");s.src=i,s.type=`video/${t}`,e.appendChild(s)}get isEnabled(){return this.enabled}enable(){if(Uc())return navigator.wakeLock.request("screen").then((e=>{this._wakeLock=e,this.enabled=!0,this.player.debugLog("wakeLock","Wake Lock active."),this._wakeLock.addEventListener("release",(()=>{this.player.debugLog("wakeLock","Wake Lock released.")}))})).catch((e=>{throw this.enabled=!1,this.player.debugWarn("wakeLock",`${e.name}, ${e.message}`),e}));return this.noSleepVideo.play().then((e=>(this.player.debugLog("wakeLock","noSleepVideo Wake Lock active."),this.enabled=!0,e))).catch((e=>{throw this.player.debugWarn("wakeLock",`noSleepVideo ${e.name}, ${e.message}`),this.enabled=!1,e}))}disable(){Uc()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):this.noSleepVideo&&this.noSleepVideo.pause(),this.enabled=!1,this.player.debugLog("wakeLock","Disabling wake lock.")}}function Nc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var jc={exports:{}};!function(e,t){var i,s,r,a,o;i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,s=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var r=o.parseURL(e);if(!r)throw new Error("Error trying to parse base URL.");return r.path=o.normalizePath(r.path),o.buildURLFromParts(r)}var a=o.parseURL(t);if(!a)throw new Error("Error trying to parse relative URL.");if(a.scheme)return i.alwaysNormalize?(a.path=o.normalizePath(a.path),o.buildURLFromParts(a)):t;var n=o.parseURL(e);if(!n)throw new Error("Error trying to parse base URL.");if(!n.netLoc&&n.path&&"/"!==n.path[0]){var l=s.exec(n.path);n.netLoc=l[1],n.path=l[2]}n.netLoc&&!n.path&&(n.path="/");var d={scheme:n.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(d.netLoc=n.netLoc,"/"!==a.path[0]))if(a.path){var h=n.path,c=h.substring(0,h.lastIndexOf("/")+1)+a.path;d.path=o.normalizePath(c)}else d.path=n.path,a.params||(d.params=n.params,a.query||(d.query=n.query));return null===d.path&&(d.path=i.alwaysNormalize?o.normalizePath(a.path):a.path),o.buildURLFromParts(d)},parseURL:function(e){var t=i.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(r,"");e.length!==(e=e.replace(a,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=o}(jc);var Gc=jc.exports;function Wc(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,s)}return i}function Vc(e){for(var t=1;t`):Zc}(t)}))}const su=tu,ru=/^(\d+)x(\d+)$/,au=/(.+?)=(".*?"|.*?)(?:,|$)/g;class ou{constructor(e){"string"==typeof e&&(e=ou.parseAttrList(e)),Hc(this,e)}get clientAttrs(){return Object.keys(this).filter((e=>"X-"===e.substring(0,2)))}decimalInteger(e){const t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;const i=new Uint8Array(t.length/2);for(let e=0;eNumber.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){const i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}bool(e){return"YES"===this[e]}decimalResolution(e){const t=ru.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e){let t;const i={};for(au.lastIndex=0;null!==(t=au.exec(e));){let e=t[2];0===e.indexOf('"')&&e.lastIndexOf('"')===e.length-1&&(e=e.slice(1,-1));i[t[1].trim()]=e}return i}}function nu(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e}class lu{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){const i=t.attr;for(const t in i)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==i[t]){su.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=Hc(new ou({}),i,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const e=new Date(this.attr["END-DATE"]);Jc(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;const e=this.duration;return null!==e?new Date(this._startDate.getTime()+1e3*e):null}get duration(){if("DURATION"in this.attr){const e=this.attr.decimalFloatingPoint("DURATION");if(Jc(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&Jc(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}class du{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var hu="audio",cu="video",uu="audiovideo";class pu{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[hu]:null,[cu]:null,[uu]:null},this.baseurl=e}setByteRange(e,t){const i=e.split("@",2);let s;s=1===i.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(i[1]),this._byteRange=[s,parseInt(i[0])+s]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Gc.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}}class mu extends pu{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new du,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get decryptdata(){const{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{const e=Object.keys(this.levelkeys);if(1===e.length)return this._decryptdata=this.levelkeys[e[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;if(!Jc(this.programDateTime))return null;const e=Jc(this.duration)?this.duration:0;return this.programDateTime+1e3*e}get encrypted(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){const e=Object.keys(this.levelkeys),t=e.length;if(t>1||1===t&&this.levelkeys[e[0]].encrypted)return!0}return!1}setKeyFormat(e){if(this.levelkeys){const t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()}setElementaryStreamInfo(e,t,i,s,r,a=!1){const{elementaryStreams:o}=this,n=o[e];n?(n.startPTS=Math.min(n.startPTS,t),n.endPTS=Math.max(n.endPTS,i),n.startDTS=Math.min(n.startDTS,s),n.endDTS=Math.max(n.endDTS,r)):o[e]={startPTS:t,endPTS:i,startDTS:s,endDTS:r,partial:a}}clearElementaryStreamInfo(){const{elementaryStreams:e}=this;e[hu]=null,e[cu]=null,e[uu]=null}}class gu extends pu{constructor(e,t,i,s,r){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new du,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=s;const a=e.enumeratedString("BYTERANGE");a&&this.setByteRange(a,r),r&&(this.fragOffset=r.fragOffset+r.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}class fu{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e)return this.advanced=!0,void(this.updated=!0);const t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&i>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay}get hasProgramDateTime(){return!!this.fragments.length&&Jc(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){const e=this.driftEndTime-this.driftStartTime;if(e>0){return 1e3*(this.driftEnd-this.driftStart)/e}return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}function yu(e){return Uint8Array.from(atob(e),(e=>e.charCodeAt(0)))}function Au(e){const t=e.split(":");let i=null;if("data"===t[0]&&2===t.length){const e=t[1].split(";"),s=e[e.length-1].split(",");if(2===s.length){const t="base64"===s[0],r=s[1];t?(e.splice(-1,1),i=yu(r)):i=function(e){const t=bu(e).subarray(0,16),i=new Uint8Array(16);return i.set(t,16-t.length),i}(r)}}return i}function bu(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(e=>e.charCodeAt(0)))}const vu="undefined"!=typeof self?self:void 0;var _u={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Su="org.w3.clearkey",wu="com.apple.streamingkeydelivery",Eu="com.microsoft.playready",Tu="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function ku(e){switch(e){case wu:return _u.FAIRPLAY;case Eu:return _u.PLAYREADY;case Tu:return _u.WIDEVINE;case Su:return _u.CLEARKEY}}var Lu="edef8ba979d64acea3c827dcd51d21ed";function Cu(e){switch(e){case _u.FAIRPLAY:return wu;case _u.PLAYREADY:return Eu;case _u.WIDEVINE:return Tu;case _u.CLEARKEY:return Su}}function xu(e){const{drmSystems:t,widevineLicenseUrl:i}=e,s=t?[_u.FAIRPLAY,_u.WIDEVINE,_u.PLAYREADY,_u.CLEARKEY].filter((e=>!!t[e])):[];return!s[_u.WIDEVINE]&&i&&s.push(_u.WIDEVINE),s}const Du=null!=vu&&null!=(Ru=vu.navigator)&&Ru.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;var Ru;function Pu(e,t,i){return Uint8Array.prototype.slice?e.slice(t,i):new Uint8Array(Array.prototype.slice.call(e,t,i))}const Iu=(e,t)=>t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128,Bu=(e,t)=>t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128,Mu=(e,t)=>{const i=t;let s=0;for(;Iu(e,t);){s+=10;s+=Fu(e,t+6),Bu(e,t+10)&&(s+=10),t+=s}if(s>0)return e.subarray(i,i+s)},Fu=(e,t)=>{let i=0;return i=(127&e[t])<<21,i|=(127&e[t+1])<<14,i|=(127&e[t+2])<<7,i|=127&e[t+3],i},Uu=(e,t)=>Iu(e,t)&&Fu(e,t+6)+10<=e.length-t,Ou=e=>{const t=Gu(e);for(let e=0;ee&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info,ju=e=>{const t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=Fu(e,4);return{type:t,size:i,data:e.subarray(10,10+i)}},Gu=e=>{let t=0;const i=[];for(;Iu(e,t);){const s=Fu(e,t+6);t+=10;const r=t+s;for(;t+8"PRIV"===e.type?Vu(e):"W"===e.type[0]?$u(e):zu(e),Vu=e=>{if(e.size<2)return;const t=Ju(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer}},zu=e=>{if(e.size<2)return;if("TXXX"===e.type){let t=1;const i=Ju(e.data.subarray(t),!0);t+=i.length+1;const s=Ju(e.data.subarray(t));return{key:e.type,info:i,data:s}}const t=Ju(e.data.subarray(1));return{key:e.type,data:t}},$u=e=>{if("WXXX"===e.type){if(e.size<2)return;let t=1;const i=Ju(e.data.subarray(t),!0);t+=i.length+1;const s=Ju(e.data.subarray(t));return{key:e.type,info:i,data:s}}const t=Ju(e.data);return{key:e.type,data:t}},Hu=e=>{if(8===e.data.byteLength){const t=new Uint8Array(e.data),i=1&t[3];let s=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return s/=45,i&&(s+=47721858.84),Math.round(s)}},Ju=(e,t=!1)=>{const i=Ku();if(i){const s=i.decode(e);if(t){const e=s.indexOf("\0");return-1!==e?s.substring(0,e):s}return s.replace(/\0/g,"")}const s=e.length;let r,a,o,n="",l=0;for(;l>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n+=String.fromCharCode(r);break;case 12:case 13:a=e[l++],n+=String.fromCharCode((31&r)<<6|63&a);break;case 14:a=e[l++],o=e[l++],n+=String.fromCharCode((15&r)<<12|(63&a)<<6|(63&o)<<0)}}return n};let qu;function Ku(){if(!navigator.userAgent.includes("PlayStation 4"))return qu||void 0===self.TextDecoder||(qu=new self.TextDecoder("utf-8")),qu}const Yu=function(e){let t="";for(let i=0;i>24,e[t+1]=i>>16&255,e[t+2]=i>>8&255,e[t+3]=255&i}function op(e,t){const i=[];if(!t.length)return i;const s=e.byteLength;for(let r=0;r1?r+a:s;if(ep(e.subarray(r+4,r+8))===t[0])if(1===t.length)i.push(e.subarray(r+8,o));else{const s=op(e.subarray(r+8,o),t.slice(1));s.length&&Xu.apply(i,s)}r=o}return i}function np(e){const t=[],i=e[0];let s=8;const r=ip(e,s);s+=4;let a=0,o=0;0===i?(a=ip(e,s),o=ip(e,s+4),s+=8):(a=sp(e,s),o=sp(e,s+8),s+=16),s+=2;let n=e.length+o;const l=tp(e,s);s+=2;for(let i=0;i>>31)return su.warn("SIDX has hierarchical references (not supported)"),null;const l=ip(e,i);i+=4,t.push({referenceSize:o,subsegmentDuration:l,info:{duration:l/r,start:n,end:n+o-1}}),n+=o,i+=4,s=i}return{earliestPresentationTime:a,timescale:r,version:i,referencesCount:l,references:t}}function lp(e){const t=[],i=op(e,["moov","trak"]);for(let e=0;e{const i=ip(e,4),s=t[i];s&&(s.default={duration:ip(e,12),flags:ip(e,20)})})),t}function dp(e){const t=e.subarray(8),i=t.subarray(86),s=ep(t.subarray(4,8));let r=s;const a="enca"===s||"encv"===s;if(a){const e=op(t,[s])[0];op(e.subarray("enca"===s?28:78),["sinf"]).forEach((e=>{const t=op(e,["schm"])[0];if(t){const i=ep(t.subarray(4,8));if("cbcs"===i||"cenc"===i){const t=op(e,["frma"])[0];t&&(r=ep(t))}}}))}switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{const e=op(i,["avcC"])[0];r+="."+cp(e[1])+cp(e[2])+cp(e[3]);break}case"mp4a":{const e=op(t,[s])[0],i=op(e.subarray(28),["esds"])[0];if(i&&i.length>12){let e=4;if(3!==i[e++])break;e=hp(i,e),e+=2;const t=i[e++];if(128&t&&(e+=2),64&t&&(e+=i[e++]),4!==i[e++])break;e=hp(i,e);const s=i[e++];if(64!==s)break;if(r+="."+cp(s),e+=12,5!==i[e++])break;e=hp(i,e);const a=i[e++];let o=(248&a)>>3;31===o&&(o+=1+((7&a)<<3)+((224&i[e])>>5)),r+="."+o}break}case"hvc1":case"hev1":{const e=op(i,["hvcC"])[0],t=e[1],s=["","A","B","C"][t>>6],a=31&t,o=ip(e,2),n=(32&t)>>5?"H":"L",l=e[12],d=e.subarray(6,12);r+="."+s+a,r+="."+o.toString(16).toUpperCase(),r+="."+n+l;let h="";for(let e=d.length;e--;){const t=d[e];if(t||h){h="."+t.toString(16).toUpperCase()+h}}r+=h;break}case"dvh1":case"dvhe":{const e=op(i,["dvcC"])[0],t=e[2]>>1&127,s=e[2]<<5&32|e[3]>>3&31;r+="."+up(t)+"."+up(s);break}case"vp09":{const e=op(i,["vpcC"])[0],t=e[4],s=e[5],a=e[6]>>4&15;r+="."+up(t)+"."+up(s)+"."+up(a);break}case"av01":{const e=op(i,["av1C"])[0],t=e[1]>>>5,s=31&e[1],a=e[2]>>>7?"H":"M",o=(64&e[2])>>6,n=(32&e[2])>>5,l=2===t&&o?n?12:10:o?10:8,d=(16&e[2])>>4,h=(8&e[2])>>3,c=(4&e[2])>>2,u=3&e[2],p=1,m=1,g=1,f=0;r+="."+t+"."+up(s)+a+"."+up(l)+"."+d+"."+h+c+u+"."+up(p)+"."+up(m)+"."+up(g)+"."+f;break}}return{codec:r,encrypted:a}}function hp(e,t){const i=t+5;for(;128&e[t++]&&t{const l=n.byteOffset-8;op(n,["traf"]).map((n=>{const d=op(n,["tfdt"]).map((e=>{const t=e[0];let i=ip(e,4);return 1===t&&(i*=Math.pow(2,32),i+=ip(e,8)),i/r}))[0];return void 0!==d&&(e=d),op(n,["tfhd"]).map((d=>{const h=ip(d,4),c=16777215&ip(d,0);let u=0;const p=0!=(16&c);let m=0;const g=0!=(32&c);let f=8;h===a&&(0!=(1&c)&&(f+=8),0!=(2&c)&&(f+=4),0!=(8&c)&&(u=ip(d,f),f+=4),p&&(m=ip(d,f),f+=4),g&&(f+=4),"video"===t.type&&(o=function(e){if(!e)return!1;const t=e.indexOf("."),i=t<0?e:e.substring(0,t);return"hvc1"===i||"hev1"===i||"dvh1"===i||"dvhe"===i}(t.codec)),op(n,["trun"]).map((a=>{const n=a[0],d=16777215&ip(a,0),h=0!=(1&d);let c=0;const p=0!=(4&d),g=0!=(256&d);let f=0;const y=0!=(512&d);let A=0;const b=0!=(1024&d),v=0!=(2048&d);let _=0;const S=ip(a,4);let w=8;h&&(c=ip(a,w),w+=4),p&&(w+=4);let E=c+l;for(let l=0;l>1&63;return 39===e||40===e}return 6===(31&t)}function Ap(e,t,i,s){const r=bp(e);let a=0;a+=t;let o=0,n=0,l=0;for(;a=r.length)break;l=r[a++],o+=l}while(255===l);n=0;do{if(a>=r.length)break;l=r[a++],n+=l}while(255===l);const e=r.length-a;let t=a;if(ne){su.error(`Malformed SEI payload. ${n} is too small, only ${e} bytes left to parse.`);break}if(4===o){if(181===r[t++]){const e=tp(r,t);if(t+=2,49===e){const e=ip(r,t);if(t+=4,1195456820===e){const e=r[t++];if(3===e){const a=r[t++],n=31&a,l=64&a,d=l?2+3*n:0,h=new Uint8Array(d);if(l){h[0]=a;for(let e=1;e16){const e=[];for(let i=0;i<16;i++){const s=r[t++].toString(16);e.push(1==s.length?"0"+s:s),3!==i&&5!==i&&7!==i&&9!==i||e.push("-")}const a=n-16,l=new Uint8Array(a);for(let e=0;e0?(a=new Uint8Array(4),t.length>0&&new DataView(a.buffer).setUint32(0,t.length,!1)):a=new Uint8Array;const o=new Uint8Array(4);return i&&i.byteLength>0&&new DataView(o.buffer).setUint32(0,i.byteLength,!1),function(e,...t){const i=t.length;let s=8,r=i;for(;r--;)s+=t[r].byteLength;const a=new Uint8Array(s);for(a[0]=s>>24&255,a[1]=s>>16&255,a[2]=s>>8&255,a[3]=255&s,a.set(e,4),r=0,s=8;r>8*(15-i)&255;return t}(e);return new Sp(this.method,this.uri,"identity",this.keyFormatVersions,t)}const t=Au(this.uri);if(t)switch(this.keyFormat){case Tu:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case Eu:{const e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=vp(e,null,t);const i=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),s=String.fromCharCode.apply(null,Array.from(i)),r=s.substring(s.indexOf("<"),s.length),a=(new DOMParser).parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){const e=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(e){const t=yu(e).subarray(0,16);!function(e){const t=function(e,t,i){const s=e[t];e[t]=e[i],e[i]=s};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}(t),this.keyId=t}}break}default:{let e=t.subarray(0,16);if(16!==e.length){const t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e;break}}if(!this.keyId||16!==this.keyId.byteLength){let e=_p[this.uri];if(!e){const t=Object.keys(_p).length%Number.MAX_SAFE_INTEGER;e=new Uint8Array(16);new DataView(e.buffer,12,4).setUint32(0,t),_p[this.uri]=e}this.keyId=e}return this}}const wp=/\{\$([a-zA-Z0-9-_]+)\}/g;function Ep(e){return wp.test(e)}function Tp(e,t,i){if(null!==e.variableList||e.hasVariableRefs)for(let s=i.length;s--;){const r=i[s],a=t[r];a&&(t[r]=kp(e,a))}}function kp(e,t){if(null!==e.variableList||e.hasVariableRefs){const i=e.variableList;return t.replace(wp,(t=>{const s=t.substring(2,t.length-1),r=null==i?void 0:i[s];return void 0===r?(e.playlistParsingError||(e.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${s}"`)),t):r}))}return t}function Lp(e,t,i){let s,r,a=e.variableList;if(a||(e.variableList=a={}),"QUERYPARAM"in t){s=t.QUERYPARAM;try{const e=new self.URL(i).searchParams;if(!e.has(s))throw new Error(`"${s}" does not match any query parameter in URI: "${i}"`);r=e.get(s)}catch(t){e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`))}}else s=t.NAME,r=t.VALUE;s in a?e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${s}"`)):a[s]=r||""}function Cp(e,t,i){const s=t.IMPORT;if(i&&s in i){let t=e.variableList;t||(e.variableList=t={}),t[s]=i[s]}else e.playlistParsingError||(e.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${s}"`))}function xp(e=!0){if("undefined"==typeof self)return;return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}const Dp={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Rp(e,t,i=!0){return!e.split(",").some((e=>!Pp(e,t,i)))}function Pp(e,t,i=!0){var s;const r=xp(i);return null!=(s=null==r?void 0:r.isTypeSupported(Ip(e,t)))&&s}function Ip(e,t){return`${t}/mp4;codecs="${e}"`}function Bp(e){if(e){const t=e.substring(0,4);return Dp.video[t]}return 2}function Mp(e){return e.split(",").reduce(((e,t)=>{const i=Dp.video[t];return i?(2*i+e)/(e?3:2):(Dp.audio[t]+e)/(e?2:1)}),0)}const Fp={};const Up=/flac|opus/i;function Op(e,t=!0){return e.replace(Up,(e=>function(e,t=!0){if(Fp[e])return Fp[e];const i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e];for(let s=0;s0&&s.length({id:e.attrs.AUDIO,audioCodec:e.audioCodec}))),SUBTITLES:a.map((e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec}))),"CLOSED-CAPTIONS":[]};let n=0;for(Gp.lastIndex=0;null!==(s=Gp.exec(e));){const e=new ou(s[1]),a=e.TYPE;if(a){const s=o[a],l=r[a]||[];r[a]=l,Tp(i,e,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);const d=e.LANGUAGE,h=e["ASSOC-LANGUAGE"],c=e.CHANNELS,u=e.CHARACTERISTICS,p=e["INSTREAM-ID"],m={attrs:e,bitrate:0,id:n++,groupId:e["GROUP-ID"]||"",name:e.NAME||d||"",type:a,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:d,url:e.URI?$p.resolve(e.URI,t):""};if(h&&(m.assocLang=h),c&&(m.channels=c),u&&(m.characteristics=u),p&&(m.instreamId=p),null!=s&&s.length){const e=$p.findGroup(s,m.groupId)||s[0];Kp(m,e,"audioCodec"),Kp(m,e,"textCodec")}l.push(m)}}return r}static parseLevelPlaylist(e,t,i,s,r,a){const o=new fu(t),n=o.fragments;let l,d,h,c=null,u=0,p=0,m=0,g=0,f=null,y=new mu(s,t),A=-1,b=!1,v=null;for(Vp.lastIndex=0,o.m3u8=e,o.hasVariableRefs=Ep(e);null!==(l=Vp.exec(e));){b&&(b=!1,y=new mu(s,t),y.start=m,y.sn=u,y.cc=g,y.level=i,c&&(y.initSegment=c,y.rawProgramDateTime=c.rawProgramDateTime,c.rawProgramDateTime=null,v&&(y.setByteRange(v),v=null)));const e=l[1];if(e){y.duration=parseFloat(e);const t=(" "+l[2]).slice(1);y.title=t||null,y.tagList.push(t?["INF",e,t]:["INF",e])}else if(l[3]){if(Jc(y.duration)){y.start=m,h&&Xp(y,h,o),y.sn=u,y.level=i,y.cc=g,n.push(y);const e=(" "+l[3]).slice(1);y.relurl=kp(o,e),Yp(y,f),f=y,m+=y.duration,u++,p=0,b=!0}}else if(l[4]){const e=(" "+l[4]).slice(1);f?y.setByteRange(e,f):y.setByteRange(e)}else if(l[5])y.rawProgramDateTime=(" "+l[5]).slice(1),y.tagList.push(["PROGRAM-DATE-TIME",y.rawProgramDateTime]),-1===A&&(A=n.length);else{if(l=l[0].match(zp),!l){su.warn("No matches on slow regex match for level playlist!");continue}for(d=1;d0&&e.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=e.optionalFloat("PART-HOLD-BACK",0),o.holdBack=e.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{const e=new ou(r);o.partTarget=e.decimalFloatingPoint("PART-TARGET");break}case"PART":{let e=o.partList;e||(e=o.partList=[]);const i=p>0?e[e.length-1]:void 0,s=p++,a=new ou(r);Tp(o,a,["BYTERANGE","URI"]);const n=new gu(a,y,t,s,i);e.push(n),y.duration+=n.duration;break}case"PRELOAD-HINT":{const e=new ou(r);Tp(o,e,["URI"]),o.preloadHint=e;break}case"RENDITION-REPORT":{const e=new ou(r);Tp(o,e,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(e);break}default:su.warn(`line parsed but not handled: ${l}`)}}}f&&!f.relurl?(n.pop(),m-=f.duration,o.partList&&(o.fragmentHint=f)):o.partList&&(Yp(y,f),y.cc=g,o.fragmentHint=y,h&&Xp(y,h,o));const _=n.length,S=n[0],w=n[_-1];if(m+=o.skippedSegments*o.targetduration,m>0&&_&&w){o.averagetargetduration=m/_;const e=w.sn;o.endSN="initSegment"!==e?e:0,o.live||(w.endList=!0),S&&(o.startCC=S.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(m+=o.fragmentHint.duration),o.totalduration=m,o.endCC=g,A>0&&function(e,t){let i=e[t];for(let s=t;s--;){const t=e[s];if(!t)return;t.programDateTime=i.programDateTime-1e3*t.duration,i=t}}(n,A),o}}function Hp(e,t,i){var s,r;const a=new ou(e);Tp(i,a,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);const o=null!=(s=a.METHOD)?s:"",n=a.URI,l=a.hexadecimalInteger("IV"),d=a.KEYFORMATVERSIONS,h=null!=(r=a.KEYFORMAT)?r:"identity";n&&a.IV&&!l&&su.error(`Invalid IV: ${a.IV}`);const c=n?$p.resolve(n,t):"",u=(d||"1").split("/").map(Number).filter(Number.isFinite);return new Sp(o,c,h,u,l)}function Jp(e){const t=new ou(e).decimalFloatingPoint("TIME-OFFSET");return Jc(t)?t:null}function qp(e,t){let i=(e||"").split(/[ ,]+/).filter((e=>e));["video","audio","text"].forEach((e=>{const s=i.filter((t=>function(e,t){const i=Dp[t];return!!i&&!!i[e.slice(0,4)]}(t,e)));s.length&&(t[`${e}Codec`]=s.join(","),i=i.filter((e=>-1===s.indexOf(e))))})),t.unknownCodecs=i}function Kp(e,t,i){const s=t[i];s&&(e[i]=s)}function Yp(e,t){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime),Jc(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function Qp(e,t,i,s){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",s&&(e.levelkeys=s),e.initSegment=null}function Xp(e,t,i){e.levelkeys=t;const{encryptedFragments:s}=i;s.length&&s[s.length-1].levelkeys===t||!Object.keys(t).some((e=>t[e].isCommonEncryption))||s.push(e)}var Zp="manifest",em="level",tm="audioTrack",im="subtitleTrack",sm="main",rm="audio",am="subtitle";function om(e){const{type:t}=e;switch(t){case tm:return rm;case im:return am;default:return sm}}function nm(e,t){let i=e.url;return void 0!==i&&0!==i.indexOf("data:")||(i=t.url),i}class lm{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:e}=this;e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.LEVEL_LOADING,this.onLevelLoading,this),e.on(Yc.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(Yc.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){const{hls:e}=this;e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.LEVEL_LOADING,this.onLevelLoading,this),e.off(Yc.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(Yc.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(e){const t=this.hls.config,i=t.pLoader,s=t.loader,r=new(i||s)(t);return this.loaders[e.type]=r,r}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(const e in this.loaders){const t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){const{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Zp,url:i,deliveryDirectives:null})}onLevelLoading(e,t){const{id:i,level:s,pathwayId:r,url:a,deliveryDirectives:o}=t;this.load({id:i,level:s,pathwayId:r,responseType:"text",type:em,url:a,deliveryDirectives:o})}onAudioTrackLoading(e,t){const{id:i,groupId:s,url:r,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:tm,url:r,deliveryDirectives:a})}onSubtitleTrackLoading(e,t){const{id:i,groupId:s,url:r,deliveryDirectives:a}=t;this.load({id:i,groupId:s,level:null,responseType:"text",type:im,url:r,deliveryDirectives:a})}load(e){var t;const i=this.hls.config;let s,r=this.getInternalLoader(e);if(r){const t=r.context;if(t&&t.url===e.url&&t.level===e.level)return void su.trace("[playlist-loader]: playlist request ongoing");su.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),r.abort()}if(s=e.type===Zp?i.manifestLoadPolicy.default:Hc({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),Jc(null==(t=e.deliveryDirectives)?void 0:t.part)){let t;if(e.type===em&&null!==e.level?t=this.hls.levels[e.level].details:e.type===tm&&null!==e.id?t=this.hls.audioTracks[e.id].details:e.type===im&&null!==e.id&&(t=this.hls.subtitleTracks[e.id].details),t){const e=t.partTarget,i=t.targetduration;if(e&&i){const t=1e3*Math.max(3*e,.8*i);s=Hc({},s,{maxTimeToFirstByteMs:Math.min(t,s.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,s.maxTimeToFirstByteMs)})}}}const a=s.errorRetry||s.timeoutRetry||{},o={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},n={onSuccess:(e,t,i,s)=>{const r=this.getInternalLoader(i);this.resetInternalLoader(i.type);const a=e.data;0===a.indexOf("#EXTM3U")?(t.parsing.start=performance.now(),$p.isMediaPlaylist(a)?this.handleTrackOrLevelPlaylist(e,t,i,s||null,r):this.handleMasterPlaylist(e,t,i,s)):this.handleManifestParsingError(e,i,new Error("no EXTM3U delimiter"),s||null,t)},onError:(e,t,i,s)=>{this.handleNetworkError(t,i,!1,e,s)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}};r.load(e,o,n)}handleMasterPlaylist(e,t,i,s){const r=this.hls,a=e.data,o=nm(e,i),n=$p.parseMasterPlaylist(a,o);if(n.playlistParsingError)return void this.handleManifestParsingError(e,i,n.playlistParsingError,s,t);const{contentSteering:l,levels:d,sessionData:h,sessionKeys:c,startTimeOffset:u,variableList:p}=n;this.variableList=p;const{AUDIO:m=[],SUBTITLES:g,"CLOSED-CAPTIONS":f}=$p.parseMasterPlaylistMedia(a,o,n);if(m.length){m.some((e=>!e.url))||!d[0].audioCodec||d[0].attrs.AUDIO||(su.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),m.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new ou({}),bitrate:0,url:""}))}r.trigger(Yc.MANIFEST_LOADED,{levels:d,audioTracks:m,subtitles:g,captions:f,contentSteering:l,url:o,stats:t,networkDetails:s,sessionData:h,sessionKeys:c,startTimeOffset:u,variableList:p})}handleTrackOrLevelPlaylist(e,t,i,s,r){const a=this.hls,{id:o,level:n,type:l}=i,d=nm(e,i),h=Jc(n)?n:Jc(o)?o:0,c=om(i),u=$p.parseLevelPlaylist(e.data,d,h,c,0,this.variableList);if(l===Zp){const e={attrs:new ou({}),bitrate:0,details:u,name:"",url:d};a.trigger(Yc.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:d,stats:t,networkDetails:s,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=u,this.handlePlaylistLoaded(u,e,t,i,s,r)}handleManifestParsingError(e,t,i,s,r){this.hls.trigger(Yc.ERROR,{type:Qc.NETWORK_ERROR,details:Xc.MANIFEST_PARSING_ERROR,fatal:t.type===Zp,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:s,stats:r})}handleNetworkError(e,t,i=!1,s,r){let a=`A network ${i?"timeout":"error"+(s?" (status "+s.code+")":"")} occurred while loading ${e.type}`;e.type===em?a+=`: ${e.level} id: ${e.id}`:e.type!==tm&&e.type!==im||(a+=` id: ${e.id} group-id: "${e.groupId}"`);const o=new Error(a);su.warn(`[playlist-loader]: ${a}`);let n=Xc.UNKNOWN,l=!1;const d=this.getInternalLoader(e);switch(e.type){case Zp:n=i?Xc.MANIFEST_LOAD_TIMEOUT:Xc.MANIFEST_LOAD_ERROR,l=!0;break;case em:n=i?Xc.LEVEL_LOAD_TIMEOUT:Xc.LEVEL_LOAD_ERROR,l=!1;break;case tm:n=i?Xc.AUDIO_TRACK_LOAD_TIMEOUT:Xc.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case im:n=i?Xc.SUBTITLE_TRACK_LOAD_TIMEOUT:Xc.SUBTITLE_LOAD_ERROR,l=!1}d&&this.resetInternalLoader(e.type);const h={type:Qc.NETWORK_ERROR,details:n,fatal:l,url:e.url,loader:d,context:e,error:o,networkDetails:t,stats:r};if(s){const i=(null==t?void 0:t.url)||e.url;h.response=Vc({url:i,data:void 0},s)}this.hls.trigger(Yc.ERROR,h)}handlePlaylistLoaded(e,t,i,s,r,a){const o=this.hls,{type:n,level:l,id:d,groupId:h,deliveryDirectives:c}=s,u=nm(t,s),p=om(s),m="number"==typeof s.level&&p===sm?l:void 0;if(!e.fragments.length){const e=new Error("No Segments found in Playlist");return void o.trigger(Yc.ERROR,{type:Qc.NETWORK_ERROR,details:Xc.LEVEL_EMPTY_ERROR,fatal:!1,url:u,error:e,reason:e.message,response:t,context:s,level:m,parent:p,networkDetails:r,stats:i})}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));const g=e.playlistParsingError;if(g)o.trigger(Yc.ERROR,{type:Qc.NETWORK_ERROR,details:Xc.LEVEL_PARSING_ERROR,fatal:!1,url:u,error:g,reason:g.message,response:t,context:s,level:m,parent:p,networkDetails:r,stats:i});else switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),a.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),n){case Zp:case em:o.trigger(Yc.LEVEL_LOADED,{details:e,level:m||0,id:d||0,stats:i,networkDetails:r,deliveryDirectives:c});break;case tm:o.trigger(Yc.AUDIO_TRACK_LOADED,{details:e,id:d||0,groupId:h||"",stats:i,networkDetails:r,deliveryDirectives:c});break;case im:o.trigger(Yc.SUBTITLE_TRACK_LOADED,{details:e,id:d||0,groupId:h||"",stats:i,networkDetails:r,deliveryDirectives:c})}}}function dm(e,t){let i;try{i=new Event("addtrack")}catch(e){i=document.createEvent("Event"),i.initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function hm(e,t){const i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error(`addCue is failed for: ${t}`)}catch(i){su.debug(`[texttrack-utils]: ${i}`);try{const i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){su.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===i&&(e.mode=i)}function cm(e){const t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(let t=e.cues.length;t--;)e.removeCue(e.cues[t]);"disabled"===t&&(e.mode=t)}function um(e,t,i,s){const r=e.mode;if("disabled"===r&&(e.mode="hidden"),e.cues&&e.cues.length>0){const r=function(e,t,i){const s=[],r=function(e,t){if(te[i].endTime)return-1;let s=0,r=i;for(;s<=r;){const a=Math.floor((r+s)/2);if(te[a].startTime&&s-1)for(let a=r,o=e.length;a=t&&r.endTime<=i)s.push(r);else if(r.startTime>i)return s}return s}(e.cues,t,i);for(let t=0;t{const e=ym();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function vm(e,t){return e.getTime()/1e3-t}class _m{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){const{hls:e}=this;e.on(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Yc.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){const{hls:e}=this;e.off(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Yc.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(e,t){this.media=t.media}onMediaDetaching(){this.id3Track&&(cm(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){const t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;tbm&&(s=bm);s-i<=0&&(s=i+.25);for(let e=0;ee.type===mm&&n:"video"===s?e=>e.type===fm&&o:e=>e.type===mm&&n||e.type===fm&&o,um(r,t,i,e)}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{dateRangeCuesAppended:i,id3Track:s}=this,{dateRanges:r}=t,a=Object.keys(r);if(s){const e=Object.keys(i).filter((e=>!a.includes(e)));for(let t=e.length;t--;){const r=e[t];Object.keys(i[r].cues).forEach((e=>{s.removeCue(i[r].cues[e])})),delete i[r]}}const o=t.fragments[t.fragments.length-1];if(0===a.length||!Jc(null==o?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const n=o.programDateTime/1e3-o.start,l=ym();for(let e=0;e{if(t!==s.id){const i=r[t];if(i.class===s.class&&i.startDate>s.startDate&&(!e||s.startDatethis.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){const{config:e,levelDetails:t}=this;return void 0!==e.liveMaxLatencyDuration?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){const{levelDetails:e}=this;if(null===e)return null;const{holdBack:t,partHoldBack:i,targetduration:s}=e,{liveSyncDuration:r,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,n=this.hls.userConfig;let l=o&&i||t;(n.liveSyncDuration||n.liveSyncDurationCount||0===l)&&(l=void 0!==r?r:a*s);const d=s;return l+Math.min(1*this.stallCount,d)}get liveSyncPosition(){const e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(null===e||null===t||null===i)return null;const s=i.edge,r=e-t-this.edgeStalled,a=s-i.totalduration,o=s-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(a,r),o)}get drift(){const{levelDetails:e}=this;return null===e?1:e.drift}get edgeStalled(){const{levelDetails:e}=this;if(null===e)return 0;const t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}get forwardBufferLength(){const{media:e,levelDetails:t}=this;if(!e||!t)return 0;const i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(Yc.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(Yc.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(Yc.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(Yc.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(e,t){var i;t.details===Xc.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(i=this.levelDetails)&&i.live&&su.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){const{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;const i=this.computeLatency();if(null===i)return;this._latency=i;const{lowLatencyMode:s,maxLiveSyncPlaybackRate:r}=this.config;if(!s||1===r||!t.live)return;const a=this.targetLatency;if(null===a)return;const o=i-a;if(o.05&&this.forwardBufferLength>1){const t=Math.min(2,Math.max(1,r)),i=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;e.playbackRate=Math.min(t,Math.max(1,i))}else 1!==e.playbackRate&&0!==e.playbackRate&&(e.playbackRate=1)}estimateLiveEdge(){const{levelDetails:e}=this;return null===e?null:e.edge+e.age}computeLatency(){const e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}const wm=["NONE","TYPE-0","TYPE-1",null];const Em=["SDR","PQ","HLG"];var Tm="",km="YES",Lm="v2";function Cm(e){const{canSkipUntil:t,canSkipDateRanges:i,age:s}=e;return t&&s!!e)).map((e=>e.substring(0,4))).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return Rm(this._audioGroups,e)}hasSubtitleGroup(e){return Rm(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t)if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(t)&&e.push(t)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function Rm(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function Pm(e,t){const i=t.startPTS;if(Jc(i)){let s,r=0;t.sn>e.sn?(r=i-e.start,s=e):(r=e.start-i,s=t),s.duration!==r&&(s.duration=r)}else if(t.sn>e.sn){e.cc===t.cc&&e.minEndPTS?t.start=e.start+(e.minEndPTS-e.start):t.start=e.start+e.duration}else t.start=Math.max(e.start-t.duration,0)}function Im(e,t,i,s,r,a){s-i<=0&&(su.warn("Fragment should have a positive duration",t),s=i+t.duration,a=r+t.duration);let o=i,n=s;const l=t.startPTS,d=t.endPTS;if(Jc(l)){const e=Math.abs(l-i);Jc(t.deltaPTS)?t.deltaPTS=Math.max(e,t.deltaPTS):t.deltaPTS=e,o=Math.max(i,l),i=Math.min(i,l),r=Math.min(r,t.startDTS),n=Math.min(s,d),s=Math.max(s,d),a=Math.max(a,t.endDTS)}const h=i-t.start;0!==t.start&&(t.start=i),t.duration=s-t.start,t.startPTS=i,t.maxStartPTS=o,t.startDTS=r,t.endPTS=s,t.minEndPTS=n,t.endDTS=a;const c=t.sn;if(!e||ce.endSN)return 0;let u;const p=c-e.startSN,m=e.fragments;for(m[p]=t,u=p;u>0;u--)Pm(m[u],m[u-1]);for(u=p;u=0;e--){const t=s[e].initSegment;if(t){i=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;let r,a=0;if(function(e,t,i){const s=t.skippedSegments,r=Math.max(e.startSN,t.startSN)-t.startSN,a=(e.fragmentHint?1:0)+(s?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,o=t.startSN-e.startSN,n=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let e=r;e<=a;e++){const r=l[o+e];let a=n[e];s&&!a&&e{e.relurl&&(a=e.cc-s.cc),Jc(e.startPTS)&&Jc(e.endPTS)&&(s.start=s.startPTS=e.startPTS,s.startDTS=e.startDTS,s.maxStartPTS=e.maxStartPTS,s.endPTS=e.endPTS,s.endDTS=e.endDTS,s.minEndPTS=e.minEndPTS,s.duration=e.endPTS-e.startPTS,s.duration&&(r=s),t.PTSKnown=t.alignedSliding=!0),s.elementaryStreams=e.elementaryStreams,s.loader=e.loader,s.stats=e.stats,e.initSegment&&(s.initSegment=e.initSegment,i=e.initSegment)})),i){(t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments).forEach((e=>{var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=i)?void 0:t.relurl)||(e.initSegment=i)}))}if(t.skippedSegments)if(t.deltaUpdateFailed=t.fragments.some((e=>!e)),t.deltaUpdateFailed){su.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=t.skippedSegments;e--;)t.fragments.shift();t.startSN=t.fragments[0].sn,t.startCC=t.fragments[0].cc}else t.canSkipDateRanges&&(t.dateRanges=function(e,t,i){const s=Hc({},e);i&&i.forEach((e=>{delete s[e]}));return Object.keys(t).forEach((e=>{const i=new lu(t[e].attr,s[e]);i.isValid?s[e]=i:su.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(t[e].attr)}"`)})),s}(e.dateRanges,t.dateRanges,t.recentlyRemovedDateranges));const o=t.fragments;if(a){su.warn("discontinuity sliding from playlist, take drift into account");for(let e=0;e{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats})),r?Im(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):Mm(e,t),o.length&&(t.totalduration=t.edge-o[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;const n=t.advancedDateTime;if(t.advanced&&n){const e=t.edge;t.driftStart||(t.driftStartTime=n,t.driftStart=e),t.driftEndTime=n,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime}function Mm(e,t){const i=t.startSN+t.skippedSegments-e.startSN,s=e.fragments;i<0||i>=s.length||Fm(t,s[i].start)}function Fm(e,t){if(t){const i=e.fragments;for(let s=e.skippedSegments;s{const{details:i}=e;null!=i&&i.fragments&&i.fragments.forEach((e=>{e.level=t}))}))}function jm(e){switch(e.details){case Xc.FRAG_LOAD_TIMEOUT:case Xc.KEY_LOAD_TIMEOUT:case Xc.LEVEL_LOAD_TIMEOUT:case Xc.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Gm(e,t){const i=jm(t);return e.default[(i?"timeout":"error")+"Retry"]}function Wm(e,t){const i="linear"===e.backoff?1:Math.pow(2,t);return Math.min(i*e.retryDelayMs,e.maxRetryDelayMs)}function Vm(e){return Vc(Vc({},e),{errorRetry:null,timeoutRetry:null})}function zm(e,t,i,s){if(!e)return!1;const r=null==s?void 0:s.code,a=t499)}(r)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,s,a):a}const $m=function(e,t){let i=0,s=e.length-1,r=null,a=null;for(;i<=s;){r=(i+s)/2|0,a=e[r];const o=t(a);if(o>0)i=r+1;else{if(!(o<0))return a;s=r-1}}return null};function Hm(e,t,i=0,s=0,r=.005){let a=null;if(e){a=t[e.sn-t[0].sn+1]||null;const s=e.endDTS-i;s>0&&s<15e-7&&(i+=15e-7)}else 0===i&&0===t[0].start&&(a=t[0]);if(a&&((!e||e.level===a.level)&&0===Jm(i,s,a)||function(e,t,i){if(t&&0===t.start&&t.level0){const s=t.tagList.reduce(((e,t)=>("INF"===t[0]&&(e+=parseFloat(t[1])),e)),i);return e.start<=s}return!1}(a,e,Math.min(r,s))))return a;const o=$m(t,Jm.bind(null,i,s));return!o||o===e&&a?a:o}function Jm(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;const s=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-s<=e?1:i.start-s>e&&i.start?-1:0}function qm(e,t,i){const s=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-s>e}var Km=0,Ym=2,Qm=3,Xm=5,Zm=0,eg=1,tg=2;class ig{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=su.log.bind(su,`${t}:`),this.warn=su.warn.bind(su,`${t}:`),this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){const s=null==t?void 0:t.renditionReports;if(s){let r=-1;for(let i=0;i=0&&e>t.partTarget&&(o+=1)}const n=i&&Cm(i);return new xm(a,o>=0?o:void 0,n)}}}loadPlaylist(e){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}shouldReloadPlaylist(e){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(e)}playlistLoaded(e,t,i){const{details:s,stats:r}=t,a=self.performance.now(),o=r.loading.first?Math.max(0,a-r.loading.first):0;if(s.advancedDateTime=Date.now()-o,s.live||null!=i&&i.live){if(s.reloaded(i),i&&this.log(`live playlist ${e} ${s.advanced?"REFRESHED "+s.lastPartSn+"-"+s.lastPartIndex:s.updated?"UPDATED":"MISSED"}`),i&&s.fragments.length>0&&Bm(i,s),!this.canLoad||!s.live)return;let o,n,l;if(s.canBlockReload&&s.endSN&&s.advanced){const e=this.hls.config.lowLatencyMode,r=s.lastPartSn,a=s.endSN,d=s.lastPartIndex,h=r===a,c=e?0:d;-1!==d?(n=h?a+1:r,l=h?c:d+1):n=a+1;const u=s.age,p=u+s.ageHeader;let m=Math.min(p-s.partTarget,1.5*s.targetduration);if(m>0){if(i&&m>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${m} with playlist age: ${s.age}`),m=0;else{const e=Math.floor(m/s.targetduration);if(n+=e,void 0!==l){l+=Math.round(m%s.targetduration/s.partTarget)}this.log(`CDN Tune-in age: ${s.ageHeader}s last advanced ${u.toFixed(2)}s goal: ${m} skip sn ${e} to part ${l}`)}s.tuneInGoal=m}if(o=this.getDeliveryDirectives(s,t.deliveryDirectives,n,l),e||!h)return void this.loadPlaylist(o)}else(s.canBlockReload||s.canSkipUntil)&&(o=this.getDeliveryDirectives(s,t.deliveryDirectives,n,l));const d=this.hls.mainForwardBufferInfo,h=d?d.end-d.len:0,c=function(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){const s=e.fragments,r=4;if(s.length&&i*r>t){const e=1e3*s[s.length-1].duration;ethis.requestScheduled+c&&(this.requestScheduled=r.loading.start),void 0!==n&&s.canBlockReload?this.requestScheduled=r.loading.first+c-(1e3*s.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+cthis.loadPlaylist(o)),u)}else this.clearTimer()}getDeliveryDirectives(e,t,i,s){let r=Cm(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,s=t.part,r=Tm),new xm(i,s,r)}checkRetry(e){const t=e.details,i=jm(e),s=e.errorAction,{action:r,retryCount:a=0,retryConfig:o}=s||{},n=!!s&&!!o&&(r===Xm||!s.resolved&&r===Ym);if(n){var l;if(this.requestScheduled=-1,a>=o.maxNumRetry)return!1;if(i&&null!=(l=e.context)&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{const e=Wm(o,a);this.timer=self.setTimeout((()=>this.loadPlaylist()),e),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,s.resolved=!0}return n}}class sg{constructor(e,t=0,i=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=i}sample(e,t){const i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class rg{constructor(e,t,i,s=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new sg(e),this.fast_=new sg(t),this.defaultTTFB_=s,this.ttfb_=new sg(e)}update(e,t){const{slow_:i,fast_:s,ttfb_:r}=this;i.halfLife!==e&&(this.slow_=new sg(e,i.getEstimate(),i.getTotalWeight())),s.halfLife!==t&&(this.fast_=new sg(t,s.getEstimate(),s.getTotalWeight())),r.halfLife!==e&&(this.ttfb_=new sg(e,r.getEstimate(),r.getTotalWeight()))}sample(e,t){const i=(e=Math.max(e,this.minDelayMs_))/1e3,s=8*t/i;this.fast_.sample(i,s),this.slow_.sample(i,s)}sampleTTFB(e){const t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}}const ag={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},og={};function ng(e,t,i,s,r,a){const o=e.audioCodec?e.audioGroups:null,n=null==a?void 0:a.audioCodec,l=null==a?void 0:a.channels,d=l?parseInt(l):n?1/0:2;let h=null;if(null!=o&&o.length)try{h=1===o.length&&o[0]?t.groups[o[0]].channels:o.reduce(((e,i)=>{if(i){const s=t.groups[i];if(!s)throw new Error(`Audio track group ${i} not found`);Object.keys(s.channels).forEach((t=>{e[t]=(e[t]||0)+s.channels[t]}))}return e}),{2:0})}catch(e){return!0}return void 0!==e.videoCodec&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(s,30)||"SDR"!==e.videoRange&&e.videoRange!==i||e.bitrate>Math.max(r,8e6))||!!h&&Jc(d)&&Object.keys(h).some((e=>parseInt(e)>d))}function lg(e,t,i){const s=e.videoCodec,r=e.audioCodec;if(!s||!r||!i)return Promise.resolve(ag);const a={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)),framerate:e.frameRate||30},o=e.videoRange;"SDR"!==o&&(a.transferFunction=o.toLowerCase());const n=s.split(",").map((e=>({type:"media-source",video:Vc(Vc({},a),{},{contentType:Ip(e,"video")})})));return r&&e.audioGroups&&e.audioGroups.forEach((e=>{var i;e&&(null==(i=t.groups[e])||i.tracks.forEach((t=>{if(t.groupId===e){const e=t.channels||"",i=parseFloat(e);Jc(i)&&i>2&&n.push.apply(n,r.split(",").map((e=>({type:"media-source",audio:{contentType:Ip(e,"audio"),channels:""+i}}))))}})))})),Promise.all(n.map((e=>{const t=function(e){const{audio:t,video:i}=e,s=i||t;if(s){const e=s.contentType.split('"')[1];if(i)return`r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_${e}_${Math.ceil(i.bitrate/1e5)}`;if(t)return`c${t.channels}${t.spatialRendering?"s":"n"}_${e}`}return""}(e);return og[t]||(og[t]=i.decodingInfo(e))}))).then((e=>({supported:!e.some((e=>!e.supported)),configurations:n,decodingInfoResults:e}))).catch((e=>({supported:!1,configurations:n,decodingInfoResults:[],error:e})))}function dg(e,t){let i=!1,s=[];return e&&(i="SDR"!==e,s=[e]),t&&(s=t.allowedVideoRanges||Em.slice(0),i=void 0!==t.preferHDR?t.preferHDR:function(){if("function"==typeof matchMedia){const e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}(),s=i?s.filter((e=>"SDR"!==e)):["SDR"]),{preferHDR:i,allowedVideoRanges:s}}function hg(e,t){su.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function cg(e,t,i){if("attrs"in e){const i=t.indexOf(e);if(-1!==i)return i}for(let s=0;s-1===s.indexOf(e)))}(n,t.characteristics))&&(void 0===i||i(e,t))}function pg(e,t){const{audioCodec:i,channels:s}=e;return!(void 0!==i&&(t.audioCodec||"").substring(0,4)!==i.substring(0,4)||void 0!==s&&s!==(t.channels||"2"))}function mg(e,t,i){for(let s=t;s;s--)if(i(e[s]))return s;for(let s=t+1;s{const a=this.fragments[s];if(!a)return;if(r>=a.body.sn)return;if(!a.buffered&&!a.loaded)return void(a.body.type===i&&this.removeFragment(a.body));const o=a.range[e];o&&o.time.some((e=>{const i=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return i&&this.removeFragment(a.body),i}))}))}detectPartialFragments(e){const t=this.timeRanges,{frag:i,part:s}=e;if(!t||"initSegment"===i.sn)return;const r=_g(i),a=this.fragments[r];if(!a||a.buffered&&i.gap)return;const o=!i.relurl;if(Object.keys(t).forEach((e=>{const r=i.elementaryStreams[e];if(!r)return;const n=t[e],l=o||!0===r.partial;a.range[e]=this.getBufferedTimes(i,s,l,n)})),a.loaded=null,Object.keys(a.range).length){a.buffered=!0;(a.body.endList=i.endList||a.body.endList)&&(this.endListFragments[a.body.type]=a),vg(a)||this.removeParts(i.sn-1,i.type)}else this.removeFragment(a.body)}removeParts(e,t){const i=this.activePartLists[t];i&&(this.activePartLists[t]=i.filter((t=>t.fragment.sn>=e)))}fragBuffered(e,t){const i=_g(e);let s=this.fragments[i];!s&&t&&(s=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),s&&(s.loaded=null,s.buffered=!0)}getBufferedTimes(e,t,i,s){const r={time:[],partial:i},a=e.start,o=e.end,n=e.minEndPTS||o,l=e.maxStartPTS||a;for(let e=0;e=t&&n<=i){r.time.push({startPTS:Math.max(a,s.start(e)),endPTS:Math.min(o,s.end(e))});break}if(at){const t=Math.max(a,s.start(e)),i=Math.min(o,s.end(e));i>t&&(r.partial=!0,r.time.push({startPTS:t,endPTS:i}))}else if(o<=t)break}return r}getPartialFragment(e){let t,i,s,r=null,a=0;const{bufferPadding:o,fragments:n}=this;return Object.keys(n).forEach((l=>{const d=n[l];d&&vg(d)&&(i=d.body.start-o,s=d.body.end+o,e>=i&&e<=s&&(t=Math.min(e-i,s-e),a<=t&&(r=d.body,a=t)))})),r}isEndListAppended(e){const t=this.endListFragments[e];return void 0!==t&&(t.buffered||vg(t))}getState(e){const t=_g(e),i=this.fragments[t];return i?i.buffered?vg(i)?yg:Ag:fg:gg}isTimeBuffered(e,t,i){let s,r;for(let a=0;a=s&&t<=r)return!0;if(t<=s)return!1}return!1}onFragLoaded(e,t){const{frag:i,part:s}=t;if("initSegment"===i.sn||i.bitrateTest)return;const r=s?null:t,a=_g(i);this.fragments[a]={body:i,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){const{frag:i,part:s,timeRanges:r}=t;if("initSegment"===i.sn)return;const a=i.type;if(s){let e=this.activePartLists[a];e||(this.activePartLists[a]=e=[]),e.push(s)}this.timeRanges=r,Object.keys(r).forEach((e=>{const t=r[e];this.detectEvictedFragments(e,t,a,s)}))}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){const t=_g(e);return!!this.fragments[t]}hasParts(e){var t;return!(null==(t=this.activePartLists[e])||!t.length)}removeFragmentsInRange(e,t,i,s,r){s&&!this.hasGaps||Object.keys(this.fragments).forEach((a=>{const o=this.fragments[a];if(!o)return;const n=o.body;n.type!==i||s&&!n.gap||n.starte&&(o.buffered||r)&&this.removeFragment(n)}))}removeFragment(e){const t=_g(e);e.stats.loaded=0,e.clearElementaryStreamInfo();const i=this.activePartLists[e.type];if(i){const t=e.sn;this.activePartLists[e.type]=i.filter((e=>e.fragment.sn!==t))}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}}function vg(e){var t,i,s;return e.buffered&&(e.body.gap||(null==(t=e.range.video)?void 0:t.partial)||(null==(i=e.range.audio)?void 0:i.partial)||(null==(s=e.range.audiovideo)?void 0:s.partial))}function _g(e){return`${e.type}_${e.level}_${e.sn}`}const Sg={length:0,start:()=>0,end:()=>0};class wg{static isBuffered(e,t){try{if(e){const i=wg.getBuffered(e);for(let e=0;e=i.start(e)&&t<=i.end(e))return!0}}catch(e){}return!1}static bufferInfo(e,t,i){try{if(e){const s=wg.getBuffered(e),r=[];let a;for(a=0;aa&&(s[r-1].end=e[t].end):s.push(e[t])}else s.push(e[t])}else s=e;let r,a=0,o=t,n=t;for(let e=0;e=l&&ti.startCC||e&&e.cc{if(this.loader&&this.loader.destroy(),e.gap){if(e.tagList.some((e=>"GAP"===e[0])))return void n(Ig(e));e.gap=!1}const l=this.loader=e.loader=r?new r(s):new a(s),d=Pg(e),h=Vm(s.fragLoadPolicy.default),c={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:Dg};e.stats=l.stats,l.load(d,c,{onSuccess:(t,i,s,r)=>{this.resetLoader(e,l);let a=t.data;s.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(a.slice(0,16)),a=a.slice(16)),o({frag:e,part:null,payload:a,networkDetails:r})},onError:(t,s,r,a)=>{this.resetLoader(e,l),n(new Bg({type:Qc.NETWORK_ERROR,details:Xc.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:Vc({url:i,data:void 0},t),error:new Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:r,stats:a}))},onAbort:(t,i,s)=>{this.resetLoader(e,l),n(new Bg({type:Qc.NETWORK_ERROR,details:Xc.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:s,stats:t}))},onTimeout:(t,i,s)=>{this.resetLoader(e,l),n(new Bg({type:Qc.NETWORK_ERROR,details:Xc.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${c.timeout}ms`),networkDetails:s,stats:t}))},onProgress:(i,s,r,a)=>{t&&t({frag:e,part:null,payload:r,networkDetails:a})}})}))}loadPart(e,t,i){this.abort();const s=this.config,r=s.fLoader,a=s.loader;return new Promise(((o,n)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap)return void n(Ig(e,t));const l=this.loader=e.loader=r?new r(s):new a(s),d=Pg(e,t),h=Vm(s.fragLoadPolicy.default),c={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Dg};t.stats=l.stats,l.load(d,c,{onSuccess:(s,r,a,n)=>{this.resetLoader(e,l),this.updateStatsFromPart(e,t);const d={frag:e,part:t,payload:s.data,networkDetails:n};i(d),o(d)},onError:(i,s,r,a)=>{this.resetLoader(e,l),n(new Bg({type:Qc.NETWORK_ERROR,details:Xc.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:Vc({url:d.url,data:void 0},i),error:new Error(`HTTP Error ${i.code} ${i.text}`),networkDetails:r,stats:a}))},onAbort:(i,s,r)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,l),n(new Bg({type:Qc.NETWORK_ERROR,details:Xc.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:r,stats:i}))},onTimeout:(i,s,r)=>{this.resetLoader(e,l),n(new Bg({type:Qc.NETWORK_ERROR,details:Xc.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${c.timeout}ms`),networkDetails:r,stats:i}))}})}))}updateStatsFromPart(e,t){const i=e.stats,s=t.stats,r=s.total;if(i.loaded+=s.loaded,r){const s=Math.round(e.duration/t.duration),a=Math.min(Math.round(i.loaded/r),s),o=(s-a)*Math.round(i.loaded/a);i.total=i.loaded+o}else i.total=Math.max(i.loaded,i.total);const a=i.loading,o=s.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function Pg(e,t=null){const i=t||e,s={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},r=i.byteRangeStartOffset,a=i.byteRangeEndOffset;if(Jc(r)&&Jc(a)){var o;let t=r,i=a;if("initSegment"===e.sn&&"AES-128"===(null==(o=e.decryptdata)?void 0:o.method)){const e=a-r;e%16&&(i=a+(16-e%16)),0!==r&&(s.resetIV=!0,t=r-16)}s.rangeStart=t,s.rangeEnd=i}return s}function Ig(e,t){const i=new Error(`GAP ${e.gap?"tag":"attribute"} found`),s={type:Qc.MEDIA_ERROR,details:Xc.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(s.part=t),(t||e).stats.aborted=!0,new Bg(s)}class Bg extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class Mg{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)}}class Fg{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}}class Ug{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){const t=new DataView(e),i=new Uint32Array(4);for(let e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){const e=this.sBox,t=this.invSBox,i=this.subMix,s=i[0],r=i[1],a=i[2],o=i[3],n=this.invSubMix,l=n[0],d=n[1],h=n[2],c=n[3],u=new Uint32Array(256);let p=0,m=0,g=0;for(g=0;g<256;g++)u[g]=g<128?g<<1:g<<1^283;for(g=0;g<256;g++){let i=m^m<<1^m<<2^m<<3^m<<4;i=i>>>8^255&i^99,e[p]=i,t[i]=p;const n=u[p],g=u[n],f=u[g];let y=257*u[i]^16843008*i;s[p]=y<<24|y>>>8,r[p]=y<<16|y>>>16,a[p]=y<<8|y>>>24,o[p]=y,y=16843009*f^65537*g^257*n^16843008*p,l[i]=y<<24|y>>>8,d[i]=y<<16|y>>>16,h[i]=y<<8|y>>>24,c[i]=y,p?(p=n^u[u[u[f^n]]],m^=u[u[m]]):p=m=1}}expandKey(e){const t=this.uint8ArrayToUint32Array_(e);let i=!0,s=0;for(;s{if(!this.subtle)return Promise.reject(new Error("web crypto not initialized"));this.logOnce("WebCrypto AES decrypt");return new Mg(this.subtle,new Uint8Array(i)).decrypt(e.buffer,t)})).catch((s=>(su.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${s.name}: ${s.message}`),this.onWebCryptoError(e,t,i))))}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);const s=this.flush();if(s)return s.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(e){let t=e;const i=e.length-e.length%16;return i!==e.length&&(t=Pu(e,0,i),this.remainderData=Pu(e,i)),t}logOnce(e){this.logEnabled&&(su.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}const Ng=function(e){let t="";const i=e.length;for(let s=0;s1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}{constructor(e,t,i,s,r){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=jg,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=r,this.logPrefix=s,this.log=su.log.bind(su,`${s}:`),this.warn=su.warn.bind(su,`${s}:`),this.hls=e,this.fragmentLoader=new Rg(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Og(e.config),e.on(Yc.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=jg}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;const i=t.partList;if(null!=i&&i.length){const e=i[i.length-1];return wg.isBuffered(this.media,e.start+e.duration/2)}const s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){var e;if(this.levels&&null!==this.levelLastLoaded)return null==(e=this.levelLastLoaded)?void 0:e.details}onMediaAttached(e,t){const i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);const s=this.config;this.levels&&s.autoStartLoad&&this.state===jg&&this.startLoad(s.startPosition)}onMediaDetaching(){const e=this.media;null!=e&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){const{config:e,fragCurrent:t,media:i,mediaBuffer:s,state:r}=this,a=i?i.currentTime:0,o=wg.bufferInfo(s||i,a,e.maxBufferHole);if(this.log(`media seeking to ${Jc(a)?a.toFixed(3):a}, state: ${r}`),this.state===qg)this.resetLoadingState();else if(t){const i=e.maxFragLookUpTolerance,s=t.start-i,r=t.start+t.duration+i;if(!o.len||ro.end){const e=a>r;(a{if(this.fragContextChanged(e))return this.warn(`Fragment ${e.sn}${t.part?" p: "+t.part.index:""} of level ${e.level} was dropped during download.`),void this.fragmentTracker.removeFragment(e);e.stats.chunkCount++,this._handleFragmentLoadProgress(t)})).then((t=>{if(!t)return;const i=this.state;this.fragContextChanged(e)?(i===Vg||!this.fragCurrent&&i===Hg)&&(this.fragmentTracker.removeFragment(e),this.state=Gg):("payload"in t&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(Yc.FRAG_LOADED,t)),this._handleFragmentLoadComplete(t))})).catch((t=>{this.state!==jg&&this.state!==Kg&&(this.warn(`Frag error: ${(null==t?void 0:t.message)||t}`),this.resetFragmentLoading(e))}))}clearTrackerIfNeeded(e){var t;const{fragmentTracker:i}=this;if(i.getState(e)===fg){const t=e.type,s=this.getFwdBufferInfo(this.mediaBuffer,t),r=Math.max(e.duration,s?s.len:this.config.maxBufferLength),a=this.backtrackFragment;(1===(a?e.sn-a.sn:0)||this.reduceMaxBufferLength(r,e.duration))&&i.removeFragment(e)}else 0===(null==(t=this.mediaBuffer)?void 0:t.buffered.length)?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===yg&&i.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){const t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}flushMainBuffer(e,t,i=null){if(!(e-t))return;const s={startOffset:e,endOffset:t,type:i};this.hls.trigger(Yc.BUFFER_FLUSHING,s)}_loadInitSegment(e,t){this._doFragLoad(e,t).then((t=>{if(!t||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return t})).then((t=>{const{hls:i}=this,{payload:s}=t,r=e.decryptdata;if(s&&s.byteLength>0&&null!=r&&r.key&&r.iv&&"AES-128"===r.method){const a=self.performance.now();return this.decrypter.decrypt(new Uint8Array(s),r.key.buffer,r.iv.buffer).catch((t=>{throw i.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((s=>{const r=self.performance.now();return i.trigger(Yc.FRAG_DECRYPTED,{frag:e,payload:s,stats:{tstart:a,tdecrypt:r}}),t.payload=s,this.completeInitSegmentLoad(t)}))}return this.completeInitSegmentLoad(t)})).catch((t=>{this.state!==jg&&this.state!==Kg&&(this.warn(t),this.resetFragmentLoading(e))}))}completeInitSegmentLoad(e){const{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");const i=e.frag.stats;this.state=Gg,e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){const{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){var i,s,r,a;const o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===sm?"level":"track"} ${e.level} (frag:[${(null!=(i=e.startPTS)?i:NaN).toFixed(3)}-${(null!=(s=e.endPTS)?s:NaN).toFixed(3)}] > buffer:${o?Ng(wg.getBuffered(o)):"(detached)"})`),"initSegment"!==e.sn){var n;if(e.type!==am){const t=e.elementaryStreams;if(!Object.keys(t).some((e=>!!t[e])))return void(this.state=Gg)}const t=null==(n=this.levels)?void 0:n[e.level];null!=t&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=Gg,o&&(!this.loadedmetadata&&e.type==sm&&o.buffered.length&&(null==(r=this.fragCurrent)?void 0:r.sn)===(null==(a=this.fragPrevious)?void 0:a.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(e){const{transmuxer:t}=this;if(!t)return;const{frag:i,part:s,partsLoaded:r}=e,a=!r||0===r.length||r.some((e=>!e)),o=new Eg(i.level,i.sn,i.stats.chunkCount+1,0,s?s.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,s){var r;const a=null==t?void 0:t.details;if(!this.levels||!a)throw new Error(`frag load aborted, missing level${a?"":" detail"}s`);let o=null;if(!e.encrypted||null!=(r=e.decryptdata)&&r.key?!e.encrypted&&a.encryptedFragments.length&&this.keyLoader.loadClear(e,a.encryptedFragments):(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${"[stream-controller]"===this.logPrefix?"level":"track"} ${e.level}`),this.state=Wg,this.fragCurrent=e,o=this.keyLoader.load(e).then((e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(Yc.KEY_LOADED,e),this.state===Wg&&(this.state=Gg),e})),this.hls.trigger(Yc.KEY_LOADING,{frag:e}),null===this.fragCurrent&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&"initSegment"!==e.sn){const r=a.partList;if(r&&s){i>e.end&&a.fragmentHint&&(e=a.fragmentHint);const n=this.getNextPart(r,e,i);if(n>-1){const l=r[n];let d;return this.log(`Loading part sn: ${e.sn} p: ${l.index} cc: ${e.cc} of playlist [${a.startSN}-${a.endSN}] parts [0-${n}-${r.length-1}] ${"[stream-controller]"===this.logPrefix?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=l.start+l.duration,this.state=Vg,d=o?o.then((i=>!i||this.fragContextChanged(i.frag)?null:this.doFragPartsLoad(e,l,t,s))).catch((e=>this.handleFragLoadError(e))):this.doFragPartsLoad(e,l,t,s).catch((e=>this.handleFragLoadError(e))),this.hls.trigger(Yc.FRAG_LOADING,{frag:e,part:l,targetBufferTime:i}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):d}if(!e.url||this.loadedEndOfParts(r,i))return Promise.resolve(null)}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${a?"of ["+a.startSN+"-"+a.endSN+"] ":""}${"[stream-controller]"===this.logPrefix?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),Jc(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=Vg;const n=this.config.progressive;let l;return l=n&&o?o.then((t=>!t||this.fragContextChanged(null==t?void 0:t.frag)?null:this.fragmentLoader.load(e,s))).catch((e=>this.handleFragLoadError(e))):Promise.all([this.fragmentLoader.load(e,n?s:void 0),o]).then((([e])=>(!n&&e&&s&&s(e),e))).catch((e=>this.handleFragLoadError(e))),this.hls.trigger(Yc.FRAG_LOADING,{frag:e,targetBufferTime:i}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l}doFragPartsLoad(e,t,i,s){return new Promise(((r,a)=>{var o;const n=[],l=null==(o=i.details)?void 0:o.partList,d=t=>{this.fragmentLoader.loadPart(e,t,s).then((s=>{n[t.index]=s;const a=s.part;this.hls.trigger(Yc.FRAG_LOADED,s);const o=Um(i,e.sn,t.index+1)||Om(l,e.sn,t.index+1);if(!o)return r({frag:e,part:a,partsLoaded:n});d(o)})).catch(a)};d(t)}))}handleFragLoadError(e){if("data"in e){const t=e.data;e.data&&t.details===Xc.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(Yc.ERROR,t)}else this.hls.trigger(Yc.ERROR,{type:Qc.OTHER_ERROR,details:Xc.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){const t=this.getCurrentContext(e);if(!t||this.state!==Hg)return void(this.fragCurrent||this.state===jg||this.state===Kg||(this.state=Gg));const{frag:i,part:s,level:r}=t,a=self.performance.now();i.stats.parsing.end=a,s&&(s.stats.parsing.end=a),this.updateLevelTiming(i,s,r,e.partial)}getCurrentContext(e){const{levels:t,fragCurrent:i}=this,{level:s,sn:r,part:a}=e;if(null==t||!t[s])return this.warn(`Levels object was unset while buffering fragment ${r} of level ${s}. The current chunk will not be buffered.`),null;const o=t[s],n=a>-1?Um(o,r,a):null,l=n?n.fragment:function(e,t,i){if(null==e||!e.details)return null;const s=e.details;let r=s.fragments[t-s.startSN];return r||(r=s.fragmentHint,r&&r.sn===t?r:ta&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){const i=this.getLoadPosition();return Jc(i)?this.getFwdBufferInfoAtPos(e,i,t):null}getFwdBufferInfoAtPos(e,t,i){const{config:{maxBufferHole:s}}=this,r=wg.bufferInfo(e,t,s);if(0===r.len&&void 0!==r.nextStart){const a=this.fragmentTracker.getBufferedFrag(t,i);if(a&&r.nextStart=s&&(i.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0)}getAppendedFrag(e,t=sm){const i=this.fragmentTracker.getAppendedFrag(e,sm);return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){const i=t.fragments,s=i.length;if(!s)return null;const{config:r}=this,a=i[0].start;let o;if(t.live){const n=r.initialLiveManifestSize;if(st}getNextFragmentLoopLoading(e,t,i,s,r){const a=e.gap,o=this.getNextFragment(this.nextLoadPosition,t);if(null===o)return o;if(e=o,a&&e&&!e.gap&&i.nextStart){const t=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,s);if(null!==t&&i.len+t.len>=r)return this.log(`buffer full after gaps in "${s}" playlist starting at sn: ${e.sn}`),null}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,t,i){let s=-1,r=!1,a=!0;for(let o=0,n=e.length;o-1&&ii.start&&i.loaded}getInitialLiveFragment(e,t){const i=this.fragPrevious;let s=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),s=function(e,t,i){if(null===t||!Array.isArray(e)||!e.length||!Jc(t))return null;if(t<(e[0].programDateTime||0))return null;if(t>=(e[e.length-1].endProgramDateTime||0))return null;i=i||0;for(let s=0;s=e.startSN&&r<=e.endSN){const a=t[r-e.startSN];i.cc===a.cc&&(s=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${s.sn}`))}s||(s=function(e,t){return $m(e,(e=>e.cct?-1:0))}(t,i.cc),s&&this.log(`Live playlist, switching playlist, load frag with same CC: ${s.sn}`))}}else{const t=this.hls.liveSyncPosition;null!==t&&(s=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return s}getFragmentAtPosition(e,t,i){const{config:s}=this;let{fragPrevious:r}=this,{fragments:a,endSN:o}=i;const{fragmentHint:n}=i,{maxFragLookUpTolerance:l}=s,d=i.partList,h=!!(s.lowLatencyMode&&null!=d&&d.length&&n);let c;if(h&&n&&!this.bitrateTest&&(a=a.concat(n),o=n.sn),et-l?0:l)}else c=a[a.length-1];if(c){const e=c.sn-i.startSN,t=this.fragmentTracker.getState(c);if((t===Ag||t===yg&&c.gap)&&(r=c),r&&c.sn===r.sn&&(!h||d[0].fragment.sn>c.sn)){if(r&&c.level===r.level){const t=a[e+1];c=c.sn=a-t.maxFragLookUpTolerance&&r<=o;if(null!==s&&i.duration>s&&(r${e.startSN} prev-sn: ${r?r.sn:"na"} fragments: ${s}`),a}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;if(i ${null==(s=this.fragCurrent)?void 0:s.url}`);const r=t.details===Xc.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(i,!0);const a=t.errorAction,{action:o,retryCount:n=0,retryConfig:l}=a||{};if(a&&o===Xm&&l){this.resetStartWhenNotLoaded(this.levelLastLoaded);const s=Wm(l,n);this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${n+1}/${l.maxNumRetry} in ${s}ms`),a.resolved=!0,this.retryDate=self.performance.now()+s,this.state=zg}else if(l&&a){if(this.resetFragmentErrors(e),!(n.5;r&&this.reduceMaxBufferLength(s.len,(null==t?void 0:t.duration)||10);const a=!r;return a&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===rm&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==jg&&(this.state=Gg)}afterBufferFlushed(e,t,i){if(!e)return;const s=wg.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,s,i),this.state===qg&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Gg}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;const t=e?e.details:null;null!=t&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,s){var r;const a=i.details;if(!a)return void this.warn("level.details undefined");if(!Object.keys(e.elementaryStreams).reduce(((t,r)=>{const o=e.elementaryStreams[r];if(o){const n=o.endPTS-o.startPTS;if(n<=0)return this.warn(`Could not parse fragment ${e.sn} ${r} duration reliably (${n})`),t||!1;const l=s?0:Im(a,e,o.startPTS,o.endPTS,o.startDTS,o.endDTS);return this.hls.trigger(Yc.LEVEL_PTS_UPDATED,{details:a,level:i,drift:l,type:r,frag:e,start:o.startPTS,end:o.endPTS}),!0}return t}),!1)&&null===(null==(r=this.transmuxer)?void 0:r.error)){const t=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(0===i.fragmentError&&(i.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(t.message),this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=Jg,this.hls.trigger(Yc.FRAG_PARSED,{frag:e,part:t})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){const t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}class Zg{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){const{chunks:e,dataLength:t}=this;let i;return e.length?(i=1===e.length?e[0]:function(e,t){const i=new Uint8Array(t);let s=0;for(let t=0;t0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:mm,duration:Number.POSITIVE_INFINITY});r{if(Jc(e))return 90*e;return 9e4*t+(i?9e4*i.baseTime/i.timescale:0)};function rf(e,t){return 255===e[t]&&240==(246&e[t+1])}function af(e,t){return 1&e[t+1]?7:9}function of(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function nf(e,t){return t+1=e.length)return!1;const s=of(e,t);if(s<=i)return!1;const r=t+s;return r===e.length||nf(e,r)}return!1}function df(e,t,i,s,r){if(!e.samplerate){const a=function(e,t,i,s){let r,a,o,n;const l=navigator.userAgent.toLowerCase(),d=s,h=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];r=1+((192&t[i+2])>>>6);const c=(60&t[i+2])>>>2;if(!(c>h.length-1))return o=(1&t[i+2])<<2,o|=(192&t[i+3])>>>6,su.log(`manifest codec:${s}, ADTS type:${r}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(r=5,n=new Array(4),a=c-3):(r=2,n=new Array(2),a=c):-1!==l.indexOf("android")?(r=2,n=new Array(2),a=c):(r=5,n=new Array(4),s&&(-1!==s.indexOf("mp4a.40.29")||-1!==s.indexOf("mp4a.40.5"))||!s&&c>=6?a=c-3:((s&&-1!==s.indexOf("mp4a.40.2")&&(c>=6&&1===o||/vivaldi/i.test(l))||!s&&1===o)&&(r=2,n=new Array(2)),a=c)),n[0]=r<<3,n[0]|=(14&c)>>1,n[1]|=(1&c)<<7,n[1]|=o<<3,5===r&&(n[1]|=(14&a)>>1,n[2]=(1&a)<<7,n[2]|=8,n[3]=0),{config:n,samplerate:h[c],channelCount:o,codec:"mp4a.40."+r,manifestCodec:d};{const t=new Error(`invalid ADTS sampling index:${c}`);e.emit(Yc.ERROR,Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message})}}(t,i,s,r);if(!a)return;e.config=a.config,e.samplerate=a.samplerate,e.channelCount=a.channelCount,e.codec=a.codec,e.manifestCodec=a.manifestCodec,su.log(`parsed codec:${e.codec}, rate:${a.samplerate}, channels:${a.channelCount}`)}}function hf(e){return 9216e4/e}function cf(e,t,i,s,r){const a=s+r*hf(e.samplerate),o=function(e,t){const i=af(e,t);if(t+i<=e.length){const s=of(e,t)-i;if(s>0)return{headerLength:i,frameLength:s}}}(t,i);let n;if(o){const{frameLength:s,headerLength:r}=o,l=r+s,d=Math.max(0,i+l-t.length);d?(n=new Uint8Array(l-r),n.set(t.subarray(i+r,t.length),0)):n=t.subarray(i+r,i+l);const h={unit:n,pts:a};return d||e.samples.push(h),{sample:h,length:l,missing:d}}const l=t.length-i;n=new Uint8Array(l),n.set(t.subarray(i,t.length),0);return{sample:{unit:n,pts:a},length:l,missing:-1}}let uf=null;const pf=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],mf=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],gf=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],ff=[0,1,1,4];function yf(e,t,i,s,r){if(i+24>t.length)return;const a=Af(t,i);if(a&&i+a.frameLength<=t.length){const o=s+r*(9e4*a.samplesPerFrame/a.sampleRate),n={unit:t.subarray(i,i+a.frameLength),pts:o,dts:o};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(n),{sample:n,length:a.frameLength,missing:0}}}function Af(e,t){const i=e[t+1]>>3&3,s=e[t+1]>>1&3,r=e[t+2]>>4&15,a=e[t+2]>>2&3;if(1!==i&&0!==r&&15!==r&&3!==a){const o=e[t+2]>>1&1,n=e[t+3]>>6,l=1e3*pf[14*(3===i?3-s:3===s?3:4)+r-1],d=mf[3*(3===i?0:2===i?1:2)+a],h=3===n?1:2,c=gf[i][s],u=ff[s],p=8*c*u,m=Math.floor(c*l/d+o)*u;if(null===uf){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);uf=e?parseInt(e[1]):0}return!!uf&&uf<=87&&2===s&&l>=224e3&&0===n&&(e[t+3]=128|e[t+3]),{sampleRate:d,channelCount:h,frameLength:m,samplesPerFrame:p}}}function bf(e,t){return 255===e[t]&&224==(224&e[t+1])&&0!=(6&e[t+1])}function vf(e,t){return t+1{let i=0,s=5;t+=s;const r=new Uint32Array(1),a=new Uint32Array(1),o=new Uint8Array(1);for(;s>0;){o[0]=e[t];const n=Math.min(s,8),l=8-n;a[0]=4278190080>>>24+l<>l,i=i?i<t.length)return-1;if(11!==t[i]||119!==t[i+1])return-1;const a=t[i+4]>>6;if(a>=3)return-1;const o=[48e3,44100,32e3][a],n=63&t[i+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*n+a];if(i+l>t.length)return-1;const d=t[i+6]>>5;let h=0;2===d?h+=2:(1&d&&1!==d&&(h+=2),4&d&&(h+=2));const c=(t[i+6]<<8|t[i+7])>>12-h&1,u=[2,1,2,3,3,4,4,5][d]+c,p=t[i+5]>>3,m=7&t[i+5],g=new Uint8Array([a<<6|p<<1|m>>2,(3&m)<<6|d<<3|c<<2|n>>4,n<<4&224]),f=s+r*(1536/o*9e4),y=t.subarray(i,i+l);return e.config=g,e.channelCount=u,e.samplerate=o,e.samples.push({unit:y,pts:f}),l}class kf{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const e=this.data,t=this.bytesAvailable,i=e.byteLength-t,s=new Uint8Array(4),r=Math.min(4,t);if(0===r)throw new Error("no bytes available");s.set(e.subarray(i,i+r)),this.word=new DataView(s.buffer).getUint32(0),this.bitsAvailable=8*r,this.bytesAvailable-=r}skipBits(e){let t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(t=(e-=this.bitsAvailable)>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e);const i=this.word>>>32-t;if(e>32&&su.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return t=e-t,t>0&&this.bitsAvailable?i<>>e))return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const e=this.skipLZ();return this.readBits(e+1)-1}readEG(){const e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(e){let t,i=8,s=8;for(let r=0;r{var a;switch(s.type){case 1:{let t=!1;o=!0;const r=s.data;if(l&&r.length>4){const e=new kf(r).readSliceType();2!==e&&4!==e&&7!==e&&9!==e||(t=!0)}var d;if(t)null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null);n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts,"")),n.frame=!0,n.key=t;break}case 5:o=!0,null!=(a=n)&&a.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts,"")),n.key=!0,n.frame=!0;break;case 6:o=!0,Ap(s.data,1,i.pts,t.samples);break;case 7:{var h,c;o=!0,l=!0;const t=s.data,i=new kf(t).readSPS();if(!e.sps||e.width!==i.width||e.height!==i.height||(null==(h=e.pixelRatio)?void 0:h[0])!==i.pixelRatio[0]||(null==(c=e.pixelRatio)?void 0:c[1])!==i.pixelRatio[1]){e.width=i.width,e.height=i.height,e.pixelRatio=i.pixelRatio,e.sps=[t],e.duration=r;const s=t.subarray(1,4);let a="avc1.";for(let e=0;e<3;e++){let t=s[e].toString(16);t.length<2&&(t="0"+t),a+=t}e.codec=a}break}case 8:o=!0,e.pps=[s.data];break;case 9:o=!0,e.audFound=!0,n&&this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts,"");break;case 12:o=!0;break;default:o=!1,n&&(n.debug+="unknown NAL "+s.type+" ")}if(n&&o){n.units.push(s)}})),s&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}parseAVCNALu(e,t){const i=t.byteLength;let s=e.naluState||0;const r=s,a=[];let o,n,l,d=0,h=-1,c=0;for(-1===s&&(h=0,c=31&t[0],s=0,d=1);d=0){const e={data:t.subarray(h,n),type:c};a.push(e)}else{const i=this.getLastNalUnit(e.samples);i&&(r&&d<=4-r&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-r)),n>0&&(i.data=gp(i.data,t.subarray(0,n)),i.state=0))}d=0&&s>=0){const e={data:t.subarray(h,i),type:c,state:s};a.push(e)}if(0===a.length){const i=this.getLastNalUnit(e.samples);i&&(i.data=gp(i.data,t))}return e.naluState=s,a}}class Cf{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Og(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(e,t,i){const s=e[t].unit;if(s.length<=16)return;const r=s.subarray(16,s.length-s.length%16),a=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(a).then((r=>{const a=new Uint8Array(r);s.set(a,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)}))}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){const t=16*Math.floor((e.length-48)/160)+16,i=new Int8Array(t);let s=0;for(let t=32;t{r.data=this.getAvcDecryptedUnit(a,o),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,s)}))}decryptAvcSamples(e,t,i,s){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void s();const r=e[t].units;for(;!(i>=r.length);i++){const a=r[i];if(!(a.data.length<=48||1!==a.type&&5!==a.type||(this.decryptAvcSample(e,t,i,s,a),this.decrypter.isSync())))return}}}}const xf=188;class Df{constructor(e,t,i){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.videoParser=new Lf}static probe(e){const t=Df.syncOffset(e);return t>0&&su.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),-1!==t}static syncOffset(e){const t=e.length;let i=Math.min(940,t-xf)+1,s=0;for(;s1&&(0===a&&o>2||n+xf>i))return a}s++}return-1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:Zu[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,i,s){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Df.createTrack("video"),this._audioTrack=Df.createTrack("audio",s),this._id3Track=Df.createTrack("id3"),this._txtTrack=Df.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=s}resetTimeStamp(){}resetContiguity(){const{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,i=!1,s=!1){let r;i||(this.sampleAes=null);const a=this._videoTrack,o=this._audioTrack,n=this._id3Track,l=this._txtTrack;let d=a.pid,h=a.pesData,c=o.pid,u=n.pid,p=o.pesData,m=n.pesData,g=null,f=this.pmtParsed,y=this._pmtId,A=e.length;if(this.remainderData&&(A=(e=gp(this.remainderData,e)).length,this.remainderData=null),A>4>1){if(v=t+5+e[t+4],v===t+xf)continue}else v=t+4;switch(A){case d:s&&(h&&(r=Ff(h))&&this.videoParser.parseAVCPES(a,l,r,!1,this._duration),h={data:[],size:0}),h&&(h.data.push(e.subarray(v,t+xf)),h.size+=t+xf-v);break;case c:if(s){if(p&&(r=Ff(p)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,r);break;case"mp3":this.parseMPEGPES(o,r);break;case"ac3":this.parseAC3PES(o,r)}p={data:[],size:0}}p&&(p.data.push(e.subarray(v,t+xf)),p.size+=t+xf-v);break;case u:s&&(m&&(r=Ff(m))&&this.parseID3PES(n,r),m={data:[],size:0}),m&&(m.data.push(e.subarray(v,t+xf)),m.size+=t+xf-v);break;case 0:s&&(v+=e[v]+1),y=this._pmtId=Pf(e,v);break;case y:{s&&(v+=e[v]+1);const r=If(e,v,this.typeSupported,i,this.observer);d=r.videoPid,d>0&&(a.pid=d,a.segmentCodec=r.segmentVideoCodec),c=r.audioPid,c>0&&(o.pid=c,o.segmentCodec=r.segmentAudioCodec),u=r.id3Pid,u>0&&(n.pid=u),null===g||f||(su.warn(`MPEG-TS PMT found at ${t} after unknown PID '${g}'. Backtracking to sync byte @${b} to parse all TS packets.`),g=null,t=b-188),f=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=A}}else v++;v>0&&Bf(this.observer,new Error(`Found ${v} TS packet/s that do not start with 0x47`)),a.pesData=h,o.pesData=p,n.pesData=m;const _={audioTrack:o,videoTrack:a,id3Track:n,textTrack:l};return s&&this.extractRemainingSamples(_),_}flush(){const{remainderData:e}=this;let t;return this.remainderData=null,t=e?this.demux(e,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){const{audioTrack:t,videoTrack:i,id3Track:s,textTrack:r}=e,a=i.pesData,o=t.pesData,n=s.pesData;let l;if(a&&(l=Ff(a))?(this.videoParser.parseAVCPES(i,r,l,!0,this._duration),i.pesData=null):i.pesData=a,o&&(l=Ff(o))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,l);break;case"mp3":this.parseMPEGPES(t,l);break;case"ac3":this.parseAC3PES(t,l)}t.pesData=null}else null!=o&&o.size&&su.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;n&&(l=Ff(n))?(this.parseID3PES(s,l),s.pesData=null):s.pesData=n}demuxSampleAes(e,t,i){const s=this.demux(e,i,!0,!this.config.progressive),r=this.sampleAes=new Cf(this.observer,this.config,t);return this.decrypt(s,r)}decrypt(e,t){return new Promise((i=>{const{audioTrack:s,videoTrack:r}=e;s.samples&&"aac"===s.segmentCodec?t.decryptAacSamples(s.samples,0,(()=>{r.samples?t.decryptAvcSamples(r.samples,0,0,(()=>{i(e)})):i(e)})):r.samples&&t.decryptAvcSamples(r.samples,0,0,(()=>{i(e)}))}))}destroy(){this._duration=0}parseAACPES(e,t){let i=0;const s=this.aacOverFlow;let r,a,o,n=t.data;if(s){this.aacOverFlow=null;const t=s.missing,r=s.sample.unit.byteLength;if(-1===t)n=gp(s.sample.unit,n);else{const a=r-t;s.sample.unit.set(n.subarray(0,t),a),e.samples.push(s.sample),i=s.missing}}for(r=i,a=n.length;r0;)n+=a}}parseID3PES(e,t){if(void 0===t.pts)return void su.warn("[tsdemuxer]: ID3 PES unknown PTS");const i=Hc({},t,{type:this._videoTrack?fm:mm,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}}function Rf(e,t){return((31&e[t+1])<<8)+e[t+2]}function Pf(e,t){return(31&e[t+10])<<8|e[t+11]}function If(e,t,i,s,r){const a={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t0){let s=t+5,r=n;for(;r>2;){if(106===e[s])!0!==i.ac3?su.log("AC-3 audio found, not supported in this browser for now"):(a.audioPid=o,a.segmentAudioCodec="ac3");const t=e[s+1]+2;s+=t,r-=t}}break;case 194:case 135:return Bf(r,new Error("Unsupported EC-3 in M2TS found")),a;case 36:return Bf(r,new Error("Unsupported HEVC in M2TS found")),a}t+=n+5}return a}function Bf(e,t,i){su.warn(`parsing error: ${t.message}`),e.emit(Yc.ERROR,Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message})}function Mf(e){su.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function Ff(e){let t,i,s,r,a,o=0;const n=e.data;if(!e||0===e.size)return null;for(;n[0].length<19&&n.length>1;)n[0]=gp(n[0],n[1]),n.splice(1,1);t=n[0];if(1===(t[0]<<16)+(t[1]<<8)+t[2]){if(i=(t[4]<<8)+t[5],i&&i>e.size-6)return null;const l=t[7];192&l&&(r=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&l?(a=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2,r-a>54e5&&(su.warn(`${Math.round((r-a)/9e4)}s delta between PTS and DTS, align them`),r=a)):a=r),s=t[8];let d=s+9;if(e.size<=d)return null;e.size-=d;const h=new Uint8Array(e.size);for(let e=0,i=n.length;ei){d-=i;continue}t=t.subarray(d),i-=d,d=0}h.set(t,o),o+=i}return i&&(i-=s+3),{data:h,pts:r,dts:a,len:i}}return null}class Uf{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}const Of=Math.pow(2,32)-1;class Nf{static init(){let e;for(e in Nf.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},Nf.types)Nf.types.hasOwnProperty(e)&&(Nf.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);const t=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);Nf.HDLR_TYPES={video:t,audio:i};const s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),r=new Uint8Array([0,0,0,0,0,0,0,0]);Nf.STTS=Nf.STSC=Nf.STCO=r,Nf.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Nf.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),Nf.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Nf.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const a=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),n=new Uint8Array([0,0,0,1]);Nf.FTYP=Nf.box(Nf.types.ftyp,a,n,a,o),Nf.DINF=Nf.box(Nf.types.dinf,Nf.box(Nf.types.dref,s))}static box(e,...t){let i=8,s=t.length;const r=s;for(;s--;)i+=t[s].byteLength;const a=new Uint8Array(i);for(a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=255&i,a.set(e,4),s=0,i=8;s>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s,85,196,0,0]))}static mdia(e){return Nf.box(Nf.types.mdia,Nf.mdhd(e.timescale,e.duration),Nf.hdlr(e.type),Nf.minf(e))}static mfhd(e){return Nf.box(Nf.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?Nf.box(Nf.types.minf,Nf.box(Nf.types.smhd,Nf.SMHD),Nf.DINF,Nf.stbl(e)):Nf.box(Nf.types.minf,Nf.box(Nf.types.vmhd,Nf.VMHD),Nf.DINF,Nf.stbl(e))}static moof(e,t,i){return Nf.box(Nf.types.moof,Nf.mfhd(e),Nf.traf(i,t))}static moov(e){let t=e.length;const i=[];for(;t--;)i[t]=Nf.trak(e[t]);return Nf.box.apply(null,[Nf.types.moov,Nf.mvhd(e[0].timescale,e[0].duration)].concat(i).concat(Nf.mvex(e)))}static mvex(e){let t=e.length;const i=[];for(;t--;)i[t]=Nf.trex(e[t]);return Nf.box.apply(null,[Nf.types.mvex,...i])}static mvhd(e,t){t*=e;const i=Math.floor(t/(Of+1)),s=Math.floor(t%(Of+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return Nf.box(Nf.types.mvhd,r)}static sdtp(e){const t=e.samples||[],i=new Uint8Array(4+t.length);let s,r;for(s=0;s>>8&255),r.push(255&s),r=r.concat(Array.prototype.slice.call(i));for(t=0;t>>8&255),a.push(255&s),a=a.concat(Array.prototype.slice.call(i));const o=Nf.box(Nf.types.avcC,new Uint8Array([1,r[3],r[4],r[5],255,224|e.sps.length].concat(r).concat([e.pps.length]).concat(a))),n=e.width,l=e.height,d=e.pixelRatio[0],h=e.pixelRatio[1];return Nf.box(Nf.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>8&255,255&n,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,Nf.box(Nf.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Nf.box(Nf.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,h>>24,h>>16&255,h>>8&255,255&h])))}static esds(e){const t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))}static audioStsd(e){const t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return Nf.box(Nf.types.mp4a,Nf.audioStsd(e),Nf.box(Nf.types.esds,Nf.esds(e)))}static mp3(e){return Nf.box(Nf.types[".mp3"],Nf.audioStsd(e))}static ac3(e){return Nf.box(Nf.types["ac-3"],Nf.audioStsd(e),Nf.box(Nf.types.dac3,e.config))}static stsd(e){return"audio"===e.type?"mp3"===e.segmentCodec&&"mp3"===e.codec?Nf.box(Nf.types.stsd,Nf.STSD,Nf.mp3(e)):"ac3"===e.segmentCodec?Nf.box(Nf.types.stsd,Nf.STSD,Nf.ac3(e)):Nf.box(Nf.types.stsd,Nf.STSD,Nf.mp4a(e)):Nf.box(Nf.types.stsd,Nf.STSD,Nf.avc1(e))}static tkhd(e){const t=e.id,i=e.duration*e.timescale,s=e.width,r=e.height,a=Math.floor(i/(Of+1)),o=Math.floor(i%(Of+1));return Nf.box(Nf.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,o>>24,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,s>>8&255,255&s,0,0,r>>8&255,255&r,0,0]))}static traf(e,t){const i=Nf.sdtp(e),s=e.id,r=Math.floor(t/(Of+1)),a=Math.floor(t%(Of+1));return Nf.box(Nf.types.traf,Nf.box(Nf.types.tfhd,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s])),Nf.box(Nf.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,a>>24,a>>16&255,a>>8&255,255&a])),Nf.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,Nf.box(Nf.types.trak,Nf.tkhd(e),Nf.mdia(e))}static trex(e){const t=e.id;return Nf.box(Nf.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){const i=e.samples||[],s=i.length,r=12+16*s,a=new Uint8Array(r);let o,n,l,d,h,c;for(t+=8+r,a.set(["video"===e.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0),o=0;o>>24&255,l>>>16&255,l>>>8&255,255&l,d>>>24&255,d>>>16&255,d>>>8&255,255&d,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.paddingValue<<1|h.isNonSync,61440&h.degradPrio,15&h.degradPrio,c>>>24&255,c>>>16&255,c>>>8&255,255&c],12+16*o);return Nf.box(Nf.types.trun,a)}static initSegment(e){Nf.types||Nf.init();const t=Nf.moov(e);return gp(Nf.FTYP,t)}}Nf.types=void 0,Nf.HDLR_TYPES=void 0,Nf.STTS=void 0,Nf.STSC=void 0,Nf.STCO=void 0,Nf.STSZ=void 0,Nf.VMHD=void 0,Nf.SMHD=void 0,Nf.STSD=void 0,Nf.FTYP=void 0,Nf.DINF=void 0;function jf(e,t,i=1,s=!1){const r=e*t*i;return s?Math.round(r):r}function Gf(e,t=!1){return jf(e,1e3,1/9e4,t)}let Wf,Vf=null,zf=null;class $f{constructor(e,t,i,s=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===Vf){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Vf=e?parseInt(e[1]):0}if(null===zf){const e=navigator.userAgent.match(/Safari\/(\d+)/i);zf=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){su.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e}resetNextTimestamp(){su.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){su.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1;const i=e.reduce(((e,i)=>{const s=i.pts-e;return s<-4294967296?(t=!0,Hf(e,i.pts)):s>0?e:i.pts}),e[0].pts);return t&&su.debug("PTS rollover detected"),i}remux(e,t,i,s,r,a,o,n){let l,d,h,c,u,p,m=r,g=r;const f=e.pid>-1,y=t.pid>-1,A=t.samples.length,b=e.samples.length>0,v=o&&A>0||A>1;if((!f||b)&&(!y||v)||this.ISGenerated||o){if(this.ISGenerated){var _,S,w,E;const e=this.videoTrackConfig;!e||t.width===e.width&&t.height===e.height&&(null==(_=t.pixelRatio)?void 0:_[0])===(null==(S=e.pixelRatio)?void 0:S[0])&&(null==(w=t.pixelRatio)?void 0:w[1])===(null==(E=e.pixelRatio)?void 0:E[1])||this.resetInitSegment()}else h=this.generateIS(e,t,r,a);const i=this.isVideoContiguous;let s,o=-1;if(v&&(o=function(e){for(let t=0;t0){su.warn(`[mp4-remuxer]: Dropped ${o} out of ${A} video samples due to a missing keyframe`);const e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(o),t.dropped+=o,g+=(t.samples[0].pts-e)/t.inputTimeScale,s=g}else-1===o&&(su.warn(`[mp4-remuxer]: No keyframe found out of ${A} video samples`),p=!1);if(this.ISGenerated){if(b&&v){const i=this.getVideoStartPts(t.samples),s=(Hf(e.samples[0].pts,i)-i)/t.inputTimeScale;m+=Math.max(0,s),g+=Math.max(0,-s)}if(b){if(e.samplerate||(su.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),h=this.generateIS(e,t,r,a)),d=this.remuxAudio(e,m,this.isAudioContiguous,a,y||v||n===rm?g:void 0),v){const s=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(su.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),h=this.generateIS(e,t,r,a)),l=this.remuxVideo(t,g,i,s)}}else v&&(l=this.remuxVideo(t,g,i,0));l&&(l.firstKeyFrame=o,l.independent=-1!==o,l.firstKeyFramePTS=s)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(u=Jf(i,r,this._initPTS,this._initDTS)),s.samples.length&&(c=qf(s,r,this._initPTS))),{audio:d,video:l,initSegment:h,independent:p,text:c,id3:u}}generateIS(e,t,i,s){const r=e.samples,a=t.samples,o=this.typeSupported,n={},l=this._initPTS;let d,h,c,u=!l||s,p="audio/mp4";if(u&&(d=h=1/0),e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(p="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}n.audio={id:"audio",container:p,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&o.mpeg?new Uint8Array(0):Nf.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(c=e.inputTimeScale,l&&c===l.timescale?u=!1:d=h=r[0].pts-Math.round(c*i))}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,n.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:Nf.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(c=t.inputTimeScale,l&&c===l.timescale)u=!1;else{const e=this.getVideoStartPts(a),t=Math.round(c*i);h=Math.min(h,Hf(a[0].dts,e)-t),d=Math.min(d,e-t)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(n).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:d,timescale:c},this._initDTS={baseTime:h,timescale:c}):d=c=void 0,{tracks:n,initPTS:d,timescale:c}}remuxVideo(e,t,i,s){const r=e.inputTimeScale,a=e.samples,o=[],n=a.length,l=this._initPTS;let d,h,c=this.nextAvcDts,u=8,p=this.videoSampleDuration,m=Number.POSITIVE_INFINITY,g=Number.NEGATIVE_INFINITY,f=!1;if(!i||null===c){const e=t*r,s=a[0].pts-Hf(a[0].dts,a[0].pts);Vf&&null!==c&&Math.abs(e-s-c)<15e3?i=!0:c=e-s}const y=l.baseTime*r/l.timescale;for(let e=0;e0?e-1:e].dts&&(f=!0)}f&&a.sort((function(e,t){const i=e.dts-t.dts,s=e.pts-t.pts;return i||s})),d=a[0].dts,h=a[a.length-1].dts;const A=h-d,b=A?Math.round(A/(n-1)):p||e.inputTimeScale/30;if(i){const e=d-c,i=e>b,s=e<-1;if((i||s)&&(i?su.warn(`AVC: ${Gf(e,!0)} ms (${e}dts) hole between fragments detected at ${t.toFixed(3)}`):su.warn(`AVC: ${Gf(-e,!0)} ms (${e}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!s||c>=a[0].pts||Vf)){d=c;const t=a[0].pts-e;if(i)a[0].dts=d,a[0].pts=t;else for(let i=0;it);i++)a[i].dts-=e,a[i].pts-=e;su.log(`Video: Initial PTS/DTS adjusted: ${Gf(t,!0)}/${Gf(d,!0)}, delta: ${Gf(e,!0)} ms`)}}d=Math.max(0,d);let v=0,_=0,S=d;for(let e=0;e0?t.dts-a[e-1].dts:b;if(l=e>0?t.pts-a[e-1].pts:b,i.stretchShortVideoTrack&&null!==this.nextAudioPts){const e=Math.floor(i.maxBufferHole*r),a=(s?m+s*r:this.nextAudioPts)-t.pts;a>e?(p=a-o,p<0?p=o:k=!0,su.log(`[mp4-remuxer]: It is approximately ${a/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=o}else p=o}const h=Math.round(t.pts-t.dts);L=Math.min(L,p),x=Math.max(x,p),C=Math.min(C,l),D=Math.max(D,l),o.push(new Kf(t.key,p,d,h))}if(o.length)if(Vf){if(Vf<70){const e=o[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(zf&&D-C0&&(s&&Math.abs(f-g)<9e3||Math.abs(Hf(p[0].pts-y,f)-g)<20*l),p.forEach((function(e){e.pts=Hf(e.pts-y,f)})),!i||g<0){if(p=p.filter((e=>e.pts>=0)),!p.length)return;g=0===r?0:s&&!u?Math.max(0,f):p[0].pts}if("aac"===e.segmentCodec){const t=this.config.maxAudioFramesDrift;for(let i=0,s=g;i=t*l&&d<1e4&&u){let t=Math.round(n/l);s=o-t*l,s<0&&(t--,s+=l),0===i&&(this.nextAudioPts=g=s),su.warn(`[mp4-remuxer]: Injecting ${t} audio frame @ ${(s/a).toFixed(3)}s due to ${Math.round(1e3*n/a)} ms gap.`);for(let a=0;a0))return;_+=m;try{A=new Uint8Array(_)}catch(e){return void this.observer.emit(Yc.ERROR,Yc.ERROR,{type:Qc.MUX_ERROR,details:Xc.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:_,reason:`fail allocating audio mdat ${_}`})}if(!h){new DataView(A.buffer).setUint32(0,_),A.set(Nf.types.mdat,4)}}A.set(r,m);const l=r.byteLength;m+=l,c.push(new Kf(!0,n,l,0)),v=a}const w=c.length;if(!w)return;const E=c[c.length-1];this.nextAudioPts=g=v+o*E.duration;const T=h?new Uint8Array(0):Nf.moof(e.sequenceNumber++,b/o,Hc({},e,{samples:c}));e.samples=[];const k=b/a,L=g/a,C={data1:T,data2:A,startPTS:k,endPTS:L,startDTS:k,endDTS:L,type:"audio",hasAudio:!0,hasVideo:!1,nb:w};return this.isAudioContiguous=!0,C}remuxEmptyAudio(e,t,i,s){const r=e.inputTimeScale,a=r/(e.samplerate?e.samplerate:r),o=this.nextAudioPts,n=this._initDTS,l=9e4*n.baseTime/n.timescale,d=(null!==o?o:s.startDTS*r)+l,h=s.endDTS*r+l,c=1024*a,u=Math.ceil((h-d)/c),p=Uf.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(su.warn("[mp4-remuxer]: remux empty Audio"),!p)return void su.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");const m=[];for(let e=0;e4294967296;)e+=i;return e}function Jf(e,t,i,s){const r=e.samples.length;if(!r)return;const a=e.inputTimeScale;for(let o=0;oe.pts-t.pts));const a=e.samples;return e.samples=[],{samples:a}}class Kf{constructor(e,t,i,s){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=s,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}}}function Yf(e,t){const i=null==e?void 0:e.codec;if(i&&i.length>4)return i;if(t===hu){if("ec-3"===i||"ac-3"===i||"alac"===i)return i;if("fLaC"===i||"Opus"===i){return Op(i,!1)}const e="mp4a.40.5";return su.info(`Parsed audio codec "${i}" or audio object type not handled. Using "${e}"`),e}return su.warn(`Unhandled video codec "${i}"`),"hvc1"===i||"hev1"===i?"hvc1.1.6.L120.90":"av01"===i?"av01.0.04M.08":"avc1.42e01e"}try{Wf=self.performance.now.bind(self.performance)}catch(e){su.debug("Unable to use Performance API on this environment"),Wf=null==vu?void 0:vu.Date.now}const Qf=[{demux:class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,s){const r=this.videoTrack=ef("video",1),a=this.audioTrack=ef("audio",1),o=this.txtTrack=ef("text",1);if(this.id3Track=ef("id3",1),this.timeOffset=0,null==e||!e.byteLength)return;const n=lp(e);if(n.video){const{id:e,timescale:t,codec:i}=n.video;r.id=e,r.timescale=o.timescale=t,r.codec=i}if(n.audio){const{id:e,timescale:t,codec:i}=n.audio;a.id=e,a.timescale=t,a.codec=i}o.id=Zu.text,r.sampleDuration=0,r.duration=a.duration=s}resetContiguity(){this.remainderData=null}static probe(e){return function(e){const t=e.byteLength;for(let i=0;i8&&109===e[i+4]&&111===e[i+5]&&111===e[i+6]&&102===e[i+7])return!0;i=s>1?i+s:t}return!1}(e)}demux(e,t){this.timeOffset=t;let i=e;const s=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=gp(this.remainderData,e));const t=function(e){const t={valid:null,remainder:null},i=op(e,["moof"]);if(i.length<2)return t.remainder=e,t;const s=i[i.length-1];return t.valid=Pu(e,0,s.byteOffset-8),t.remainder=Pu(e,s.byteOffset-8),t}(i);this.remainderData=t.remainder,s.samples=t.valid||new Uint8Array}else s.samples=i;const a=this.extractID3Track(s,t);return r.samples=fp(t,s),{videoTrack:s,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){const e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;const s=this.extractID3Track(t,this.timeOffset);return i.samples=fp(e,t),{videoTrack:t,audioTrack:ef(),id3Track:s,textTrack:ef()}}extractID3Track(e,t){const i=this.id3Track;if(e.samples.length){const s=op(e.samples,["emsg"]);s&&s.forEach((e=>{const s=function(e){const t=e[0];let i="",s="",r=0,a=0,o=0,n=0,l=0,d=0;if(0===t){for(;"\0"!==ep(e.subarray(d,d+1));)i+=ep(e.subarray(d,d+1)),d+=1;for(i+=ep(e.subarray(d,d+1)),d+=1;"\0"!==ep(e.subarray(d,d+1));)s+=ep(e.subarray(d,d+1)),d+=1;s+=ep(e.subarray(d,d+1)),d+=1,r=ip(e,12),a=ip(e,16),n=ip(e,20),l=ip(e,24),d=28}else if(1===t){d+=4,r=ip(e,d),d+=4;const t=ip(e,d);d+=4;const a=ip(e,d);for(d+=4,o=2**32*t+a,qc(o)||(o=Number.MAX_SAFE_INTEGER,su.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),n=ip(e,d),d+=4,l=ip(e,d),d+=4;"\0"!==ep(e.subarray(d,d+1));)i+=ep(e.subarray(d,d+1)),d+=1;for(i+=ep(e.subarray(d,d+1)),d+=1;"\0"!==ep(e.subarray(d,d+1));)s+=ep(e.subarray(d,d+1)),d+=1;s+=ep(e.subarray(d,d+1)),d+=1}return{schemeIdUri:i,value:s,timeScale:r,presentationTime:o,presentationTimeDelta:a,eventDuration:n,id:l,payload:e.subarray(d,e.byteLength)}}(e);if(Sf.test(s.schemeIdUri)){const e=Jc(s.presentationTime)?s.presentationTime/s.timeScale:t+s.presentationTimeDelta/s.timeScale;let r=4294967295===s.eventDuration?Number.POSITIVE_INFINITY:s.eventDuration/s.timeScale;r<=.001&&(r=Number.POSITIVE_INFINITY);const a=s.payload;i.samples.push({data:a,len:a.byteLength,dts:e,pts:e,type:fm,duration:r})}}))}return i}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},remux:class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(e,t,i,s){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(function(e,t){if(!e||!t)return e;const i=t.keyId;i&&t.isCommonEncryption&&op(e,["moov","trak"]).forEach((e=>{const t=op(e,["mdia","minf","stbl","stsd"])[0].subarray(8);let s=op(t,["enca"]);const r=s.length>0;r||(s=op(t,["encv"])),s.forEach((e=>{op(r?e.subarray(28):e.subarray(78),["sinf"]).forEach((e=>{const t=pp(e);if(t){const e=t.subarray(8,24);e.some((e=>0!==e))||(su.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${Yu(e)} -> ${Yu(i)}`),t.set(i,8))}}))}))}));return e}(e,s)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(null==e||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);const s=this.initData=lp(e);s.audio&&(t=Yf(s.audio,hu)),s.video&&(i=Yf(s.video,cu));const r={};s.audio&&s.video?r.audiovideo={container:"video/mp4",codec:t+","+i,initSegment:e,id:"main"}:s.audio?r.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:s.video?r.video={container:"video/mp4",codec:i,initSegment:e,id:"main"}:su.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=r}remux(e,t,i,s,r,a){var o,n;let{initPTS:l,lastEndTime:d}=this;const h={audio:void 0,video:void 0,text:s,id3:i,initSegment:void 0};Jc(d)||(d=this.lastEndTime=r||0);const c=t.samples;if(null==c||!c.length)return h;const u={initPTS:void 0,timescale:1};let p=this.initData;if(null!=(o=p)&&o.length||(this.generateInitSegment(c),p=this.initData),null==(n=p)||!n.length)return su.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),h;this.emitInitSegment&&(u.tracks=this.initTracks,this.emitInitSegment=!1);const m=function(e,t){let i=0,s=0,r=0;const a=op(e,["moof","traf"]);for(let e=0;ee+t.info.duration||0),0);i=Math.max(i,e+a.earliestPresentationTime/a.timescale),s=i-t}}if(s&&Jc(s))return s}return s||r}(c,p),g=function(e,t){return op(t,["moof","traf"]).reduce(((t,i)=>{const s=op(i,["tfdt"])[0],r=s[0],a=op(i,["tfhd"]).reduce(((t,i)=>{const a=ip(i,4),o=e[a];if(o){let e=ip(s,4);if(1===r){if(e===Qu)return su.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),t;e*=Qu+1,e+=ip(s,8)}const i=e/(o.timescale||9e4);if(Jc(i)&&(null===t||ir}(l,f,r,m)||u.timescale!==l.timescale&&a)&&(u.initPTS=f-r,l&&1===l.timescale&&su.warn("Adjusting initPTS by "+(u.initPTS-l.baseTime)),this.initPTS=l={baseTime:u.initPTS,timescale:1});const y=e?f-l.baseTime/l.timescale:d,A=y+m;!function(e,t,i){op(t,["moof","traf"]).forEach((t=>{op(t,["tfhd"]).forEach((s=>{const r=ip(s,4),a=e[r];if(!a)return;const o=a.timescale||9e4;op(t,["tfdt"]).forEach((e=>{const t=e[0],s=i*o;if(s){let i=ip(e,4);if(0===t)i-=s,i=Math.max(i,0),ap(e,4,i);else{i*=Math.pow(2,32),i+=ip(e,8),i-=s,i=Math.max(i,0);const t=Math.floor(i/(Qu+1)),r=Math.floor(i%(Qu+1));ap(e,4,t),ap(e,8,r)}}}))}))}))}(p,c,l.baseTime/l.timescale),m>0?this.lastEndTime=A:(su.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const b=!!p.audio,v=!!p.video;let _="";b&&(_+="audio"),v&&(_+="video");const S={data1:c,startPTS:y,startDTS:y,endPTS:A,endDTS:A,type:_,hasAudio:b,hasVideo:v,nb:1,dropped:0};return h.audio="audio"===S.type?S:void 0,h.video="audio"!==S.type?S:void 0,h.initSegment=u,h.id3=Jf(i,r,l,l),s.samples.length&&(h.text=qf(s,r,l)),h}}},{demux:Df,remux:$f},{demux:class extends tf{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,s){super.resetInitSegment(e,t,i,s),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:s,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;const t=Mu(e,0);let i=(null==t?void 0:t.length)||0;if(_f(e,i))return!1;for(let t=e.length;i0&&null!=(null==t?void 0:t.key)&&null!==t.iv&&null!=t.method&&(i=t);return i}(a,t);if(b&&"AES-128"===b.method){const e=this.getDecrypter();if(!e.isSync())return this.decryptionPromise=e.webCryptoDecrypt(a,b.key.buffer,b.iv.buffer).then((e=>{const t=this.push(e,null,i);return this.decryptionPromise=null,t})),this.decryptionPromise;{let t=e.softwareDecrypt(a,b.key.buffer,b.iv.buffer);if(i.part>-1&&(t=e.flush()),!t)return r.executeEnd=Wf(),Zf(i);a=new Uint8Array(t)}}const v=this.needsProbing(d,h);if(v){const e=this.configureTransmuxer(a);if(e)return su.warn(`[transmuxer] ${e.message}`),this.observer.emit(Yc.ERROR,Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),r.executeEnd=Wf(),Zf(i)}(d||h||p||v)&&this.resetInitSegment(A,m,g,y,t),(d||p||v)&&this.resetInitialTimestamp(f),l||this.resetContiguity();const _=this.transmux(a,b,u,c,i),S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,r.executeEnd=Wf(),_}flush(e){const t=e.transmuxing;t.executeStart=Wf();const{decrypter:i,currentTransmuxState:s,decryptionPromise:r}=this;if(r)return r.then((()=>this.flush(e)));const a=[],{timeOffset:o}=s;if(i){const t=i.flush();t&&a.push(this.push(t,null,e))}const{demuxer:n,remuxer:l}=this;if(!n||!l)return t.executeEnd=Wf(),[Zf(e)];const d=n.flush(o);return ey(d)?d.then((t=>(this.flushRemux(a,t,e),a))):(this.flushRemux(a,d,e),a)}flushRemux(e,t,i){const{audioTrack:s,videoTrack:r,id3Track:a,textTrack:o}=t,{accurateTimeOffset:n,timeOffset:l}=this.currentTransmuxState;su.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);const d=this.remuxer.remux(s,r,a,o,l,n,!0,this.id);e.push({remuxResult:d,chunkMeta:i}),i.transmuxing.executeEnd=Wf()}resetInitialTimestamp(e){const{demuxer:t,remuxer:i}=this;t&&i&&(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){const{demuxer:e,remuxer:t}=this;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,s,r){const{demuxer:a,remuxer:o}=this;a&&o&&(a.resetInitSegment(e,t,i,s),o.resetInitSegment(e,t,i,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,s,r){let a;return a=t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,i,s,r):this.transmuxUnencrypted(e,i,s,r),a}transmuxUnencrypted(e,t,i,s){const{audioTrack:r,videoTrack:a,id3Track:o,textTrack:n}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,a,o,n,t,i,!1,this.id),chunkMeta:s}}transmuxSampleAes(e,t,i,s,r){return this.demuxer.demuxSampleAes(e,t,i).then((e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,s,!1,this.id),chunkMeta:r})))}configureTransmuxer(e){const{config:t,observer:i,typeSupported:s,vendor:r}=this;let a;for(let t=0,i=Qf.length;t({remuxResult:{},chunkMeta:e});function ey(e){return"then"in e&&e.then instanceof Function}class ty{constructor(e,t,i,s,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=s,this.defaultInitPts=r||null}}class iy{constructor(e,t,i,s,r,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=s,this.timeOffset=r,this.initSegmentChange=a}}var sy={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i="~";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function a(e,t,s,a,o){if("function"!=typeof s)throw new TypeError("The listener must be a function");var n=new r(s,a||e,o),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],n]:e._events[l].push(n):(e._events[l]=n,e._eventsCount++),e}function o(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function n(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),n.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},n.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,a=s.length,o=new Array(a);r{(t=t||{}).frag=this.frag,t.id=this.id,e===Yc.ERROR&&(this.error=t.error),this.hls.trigger(e,t)};this.observer=new ry,this.observer.on(Yc.FRAG_DECRYPTED,a),this.observer.on(Yc.ERROR,a);const o=xp(r.preferManagedMediaSource)||{isTypeSupported:()=>!1},n={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&"undefined"!=typeof Worker){if(r.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{r.workerPath?(su.log(`loading Web Worker ${r.workerPath} for "${t}"`),this.workerContext=function(e){const t=new self.URL(e,self.location.href).href;return{worker:new self.Worker(t),scriptURL:t}}(r.workerPath)):(su.log(`injecting Web Worker for "${t}"`),this.workerContext=function(){const e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),t=self.URL.createObjectURL(e);return{worker:new self.Worker(t),objectURL:t}}()),this.onwmsg=e=>this.onWorkerMessage(e);const{worker:e}=this.workerContext;e.addEventListener("message",this.onwmsg),e.onerror=e=>{const i=new Error(`${e.message} (${e.filename}:${e.lineno})`);r.enableWorker=!1,su.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(Yc.ERROR,{type:Qc.OTHER_ERROR,details:Xc.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:i})},e.postMessage({cmd:"init",typeSupported:n,vendor:"",id:t,config:JSON.stringify(r)})}catch(e){su.warn(`Error setting up "${t}" Web Worker, fallback to inline`,e),this.resetWorker(),this.error=null,this.transmuxer=new Xf(this.observer,n,r,"",t)}return}}this.transmuxer=new Xf(this.observer,n,r,"",t)}resetWorker(){if(this.workerContext){const{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{const e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}const e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(e,t,i,s,r,a,o,n,l,d){var h,c;l.transmuxing.start=self.performance.now();const{transmuxer:u}=this,p=a?a.start:r.start,m=r.decryptdata,g=this.frag,f=!(g&&r.cc===g.cc),y=!(g&&l.level===g.level),A=g?l.sn-g.sn:-1,b=this.part?l.part-this.part.index:-1,v=0===A&&l.id>1&&l.id===(null==g?void 0:g.stats.chunkCount),_=!y&&(1===A||0===A&&(1===b||v&&b<=0)),S=self.performance.now();(y||A||0===r.stats.parsing.start)&&(r.stats.parsing.start=S),!a||!b&&_||(a.stats.parsing.start=S);const w=!(g&&(null==(h=r.initSegment)?void 0:h.url)===(null==(c=g.initSegment)?void 0:c.url)),E=new iy(f,_,n,y,p,w);if(!_||f||w){su.log(`[transmuxer-interface, ${r.type}]: Starting new transmux session for sn: ${l.sn} p: ${l.part} level: ${l.level} id: ${l.id}\n discontinuity: ${f}\n trackSwitch: ${y}\n contiguous: ${_}\n accurateTimeOffset: ${n}\n timeOffset: ${p}\n initSegmentChange: ${w}`);const e=new ty(i,s,t,o,d);this.configureTransmuxer(e)}if(this.frag=r,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:m,chunkMeta:l,state:E},e instanceof ArrayBuffer?[e]:[]);else if(u){const t=u.push(e,m,l,E);ey(t)?(u.async=!0,t.then((e=>{this.handleTransmuxComplete(e)})).catch((e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}))):(u.async=!1,this.handleTransmuxComplete(t))}}flush(e){e.transmuxing.start=self.performance.now();const{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);ey(i)||t.async?(ey(i)||(i=Promise.resolve(i)),i.then((t=>{this.handleFlushResult(t,e)})).catch((t=>{this.transmuxerError(t,e,"transmuxer-interface flush error")}))):this.handleFlushResult(i,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach((e=>{this.handleTransmuxComplete(e)})),this.onFlush(t)}onWorkerMessage(e){const t=e.data;if(null==t||!t.event)return void su.warn("worker message received with no "+(t?"event name":"data"));const i=this.hls;if(this.hls)switch(t.event){case"init":{var s;const e=null==(s=this.workerContext)?void 0:s.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":su[t.data.logType]&&su[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data)}}configureTransmuxer(e){const{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}function oy(e,t){if(e.length!==t.length)return!1;for(let i=0;ie[i]!==t[i]))}function ly(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class dy{constructor(e){this.buffered=void 0;const t=(t,i,s)=>{if((i>>>=0)>s-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${s})`);return e[i][t]};this.buffered={get length(){return e.length},end:i=>t("end",i,e.length),start:i=>t("start",i,e.length)}}}class hy{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}append(e,t,i){const s=this.queues[t];s.push(e),1!==s.length||i||this.executeNext(t)}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t)}appendBlocker(e){let t;const i=new Promise((e=>{t=e})),s={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(s,e),i}executeNext(e){const t=this.queues[e];if(t.length){const i=t[0];try{i.execute()}catch(t){su.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${t}`),i.onError(t);const s=this.buffers[e];null!=s&&s.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e)}current(e){return this.queues[e][0]}}const cy=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/;function uy(e){const t=e.querySelectorAll("source");[].slice.call(t).forEach((t=>{e.removeChild(t)}))}const py={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},my=e=>String.fromCharCode(py[e]||e),gy=15,fy=100,yy={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Ay={17:2,18:4,21:6,22:8,23:10,19:13,20:15},by={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},vy={25:2,26:4,29:6,30:8,31:10,27:13,28:15},_y=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class Sy{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){const i="function"==typeof t?t():t;su.log(`${this.time} [${e}] ${i}`)}}}const wy=function(e){const t=[];for(let i=0;ify&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=fy)}moveCursor(e){const t=this.pos+e;if(e>1)for(let e=this.pos+1;e=144&&this.backSpace();const t=my(e);this.pos>=fy?this.logger.log(0,(()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!")):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t"pacData = "+JSON.stringify(e)));let t=e.row-1;if(this.nrRollUpRows&&t"bkgData = "+JSON.stringify(e))),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,(()=>this.getDisplayText()));const e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;const t=[];let i="",s=-1;for(let i=0;i0&&(i=e?"["+t.join(" | ")+"]":t.join("\n")),i}getTextAndFormat(){return this.rows}}class Cy{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Ly(i),this.nonDisplayedMemory=new Ly(i),this.lastOutputScreen=new Ly(i),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,(()=>"MODE="+e)),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;tt+": "+this.writeScreen.getDisplayText(!0))),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0))),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){const e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(()=>"DISP: "+this.displayedMemory.getDisplayText()))}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){const t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{const i=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[i]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){const t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}}class xy{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const s=this.logger=new Sy;this.channels=[null,new Cy(e,t,s),new Cy(e+1,i,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let e=0;e"["+wy([t[e],t[e+1]])+"] -> ("+wy([i,s])+")"));const o=this.cmdHistory;if(i>=16&&i<=31){if(Ry(i,s,o)){Dy(null,null,o),this.logger.log(3,(()=>"Repeated command ("+wy([i,s])+") is dropped"));continue}Dy(i,s,this.cmdHistory),r=this.parseCmd(i,s),r||(r=this.parseMidrow(i,s)),r||(r=this.parsePAC(i,s)),r||(r=this.parseBackgroundAttributes(i,s))}else Dy(null,null,o);if(!r&&(a=this.parseChars(i,s),a)){const e=this.currentChannel;if(e&&e>0){this.channels[e].insertChars(a)}else this.logger.log(2,"No channel found yet. TEXT-MODE?")}r||a||this.logger.log(2,(()=>"Couldn't parse cleaned data "+wy([i,s])+" orig: "+wy([t[e],t[e+1]])))}}parseCmd(e,t){if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47)&&!((23===e||31===e)&&t>=33&&t<=35))return!1;const i=20===e||21===e||23===e?1:2,s=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?s.ccRCL():33===t?s.ccBS():34===t?s.ccAOF():35===t?s.ccAON():36===t?s.ccDER():37===t?s.ccRU(2):38===t?s.ccRU(3):39===t?s.ccRU(4):40===t?s.ccFON():41===t?s.ccRDC():42===t?s.ccTR():43===t?s.ccRTD():44===t?s.ccEDM():45===t?s.ccCR():46===t?s.ccENM():47===t&&s.ccEOC():s.ccTO(t-32),this.currentChannel=i,!0}parseMidrow(e,t){let i=0;if((17===e||25===e)&&t>=32&&t<=47){if(i=17===e?1:2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const s=this.channels[i];return!!s&&(s.ccMIDROW(t),this.logger.log(3,(()=>"MIDROW ("+wy([e,t])+")")),!0)}return!1}parsePAC(e,t){let i;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127)&&!((16===e||24===e)&&t>=64&&t<=95))return!1;const s=e<=23?1:2;i=t>=64&&t<=95?1===s?yy[e]:by[e]:1===s?Ay[e]:vy[e];const r=this.channels[s];return!!r&&(r.setPAC(this.interpretPAC(i,t)),this.currentChannel=s,!0)}interpretPAC(e,t){let i;const s={color:null,italics:!1,indent:null,underline:!1,row:e};return i=t>95?t-96:t-64,s.underline=1==(1&i),i<=13?s.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(s.italics=!0,s.color="white"):s.indent=4*Math.floor((i-16)/2),s}parseChars(e,t){let i,s=null,r=null;if(e>=25?(i=2,r=e-8):(i=1,r=e),r>=17&&r<=19){let e;e=17===r?t+80:18===r?t+112:t+144,this.logger.log(2,(()=>"Special char '"+my(e)+"' in channel "+i)),s=[e]}else e>=32&&e<=127&&(s=0===t?[e]:[e,t]);return s&&this.logger.log(3,(()=>"Char codes = "+wy(s).join(","))),s}parseBackgroundAttributes(e,t){if(!((16===e||24===e)&&t>=32&&t<=47)&&!((23===e||31===e)&&t>=45&&t<=47))return!1;let i;const s={};16===e||24===e?(i=Math.floor((t-32)/2),s.background=_y[i],t%2==1&&(s.background=s.background+"_semi")):45===t?s.background="transparent":(s.foreground="black",47===t&&(s.underline=!0));const r=e<=23?1:2;return this.channels[r].setBkgData(s),!0}reset(){for(let e=0;ee)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}var Iy=function(){if(null!=vu&&vu.VTTCue)return self.VTTCue;const e=["","lr","rl"],t=["start","middle","end","left","right"];function i(e,t){if("string"!=typeof t)return!1;if(!Array.isArray(e))return!1;const i=t.toLowerCase();return!!~e.indexOf(i)&&i}function s(e){return i(t,e)}function r(e,...t){let i=1;for(;i100)throw new Error("Position must be between 0 and 100.");b=e,this.hasBeenReset=!0}})),Object.defineProperty(n,"positionAlign",r({},l,{get:function(){return v},set:function(e){const t=s(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");v=t,this.hasBeenReset=!0}})),Object.defineProperty(n,"size",r({},l,{get:function(){return _},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");_=e,this.hasBeenReset=!0}})),Object.defineProperty(n,"align",r({},l,{get:function(){return S},set:function(e){const t=s(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");S=t,this.hasBeenReset=!0}})),n.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();class By{decode(e,t){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function My(e){function t(e,t,i,s){return 3600*(0|e)+60*(0|t)+(0|i)+parseFloat(s||0)}const i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null}class Fy{constructor(){this.values=Object.create(null)}set(e,t){this.get(e)||""===t||(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let s=0;s=0&&i<=100)return this.set(e,i),!0}return!1}}function Uy(e,t,i,s){const r=s?e.split(s):[e];for(const e in r){if("string"!=typeof r[e])continue;const s=r[e].split(i);if(2!==s.length)continue;t(s[0],s[1])}}const Oy=new Iy(0,0,""),Ny="middle"===Oy.align?"middle":"center";function jy(e,t,i){const s=e;function r(){const t=My(e);if(null===t)throw new Error("Malformed timestamp: "+s);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function a(){e=e.replace(/^\s+/,"")}if(a(),t.startTime=r(),a(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+s);e=e.slice(3),a(),t.endTime=r(),a(),function(e,t){const s=new Fy;Uy(e,(function(e,t){let r;switch(e){case"region":for(let r=i.length-1;r>=0;r--)if(i[r].id===t){s.set(e,i[r].region);break}break;case"vertical":s.alt(e,t,["rl","lr"]);break;case"line":r=t.split(","),s.integer(e,r[0]),s.percent(e,r[0])&&s.set("snapToLines",!1),s.alt(e,r[0],["auto"]),2===r.length&&s.alt("lineAlign",r[1],["start",Ny,"end"]);break;case"position":r=t.split(","),s.percent(e,r[0]),2===r.length&&s.alt("positionAlign",r[1],["start",Ny,"end","line-left","line-right","auto"]);break;case"size":s.percent(e,t);break;case"align":s.alt(e,t,["start",Ny,"end","left","right"])}}),/:/,/\s/),t.region=s.get("region",null),t.vertical=s.get("vertical","");let r=s.get("line","auto");"auto"===r&&-1===Oy.line&&(r=-1),t.line=r,t.lineAlign=s.get("lineAlign","start"),t.snapToLines=s.get("snapToLines",!0),t.size=s.get("size",100),t.align=s.get("align",Ny);let a=s.get("position","auto");"auto"===a&&50===Oy.position&&(a="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=a}(e,t)}function Gy(e){return e.replace(//gi,"\n")}class Wy{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new By,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){const t=this;function i(){let e=t.buffer,i=0;for(e=Gy(e);i>>0).toString()};function Hy(e,t,i){return $y(e.toString())+$y(t.toString())+$y(i)}function Jy(e,t,i,s,r,a,o){const n=new Wy,l=Ju(new Uint8Array(e)).trim().replace(Vy,"\n").split("\n"),d=[],h=t?function(e,t=1){return jf(e,9e4,1/t)}(t.baseTime,t.timescale):0;let c,u="00:00.000",p=0,m=0,g=!0;n.oncue=function(e){const a=i[s];let o=i.ccOffset;const n=(p-h)/9e4;if(null!=a&&a.new&&(void 0!==m?o=i.ccOffset=a.start:function(e,t,i){let s=e[t],r=e[s.prevCC];if(!r||!r.new&&s.new)return e.ccOffset=e.presentationOffset=s.start,void(s.new=!1);for(;null!=(a=r)&&a.new;){var a;e.ccOffset+=s.start-r.start,s.new=!1,s=r,r=e[s.prevCC]}e.presentationOffset=i}(i,s,n)),n){if(!t)return void(c=new Error("Missing initPTS for VTT MPEGTS"));o=n-i.presentationOffset}const l=e.endTime-e.startTime,u=Hf(9e4*(e.startTime+o-m),9e4*r)/9e4;e.startTime=Math.max(u,0),e.endTime=Math.max(u+l,0);const g=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(g)),e.id||(e.id=Hy(e.startTime,e.endTime,g)),e.endTime>0&&d.push(e)},n.onparsingerror=function(e){c=e},n.onflush=function(){c?o(c):a(d)},l.forEach((e=>{if(g){if(zy(e,"X-TIMESTAMP-MAP=")){g=!1,e.slice(16).split(",").forEach((e=>{zy(e,"LOCAL:")?u=e.slice(6):zy(e,"MPEGTS:")&&(p=parseInt(e.slice(7)))}));try{m=function(e){let t=parseInt(e.slice(-3));const i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),r=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!(Jc(t)&&Jc(i)&&Jc(s)&&Jc(r)))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=6e4*s,t+=36e5*r,t}(u)/1e3}catch(e){c=e}return}""===e&&(g=!1)}n.parse(e+"\n")})),n.flush()}const qy="stpp.ttml.im1t",Ky=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Yy=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Qy={left:"start",center:"center",right:"end",start:"start",end:"end"};function Xy(e,t,i,s){const r=op(new Uint8Array(e),["mdat"]);if(0===r.length)return void s(new Error("Could not parse IMSC1 mdat"));const a=r.map((e=>Ju(e))),o=function(e,t,i=1,s=!1){return jf(e,t,1/i,s)}(t.baseTime,1,t.timescale);try{a.forEach((e=>i(function(e,t){const i=new DOMParser,s=i.parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");const r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(r).reduce(((e,t)=>(e[t]=s.getAttribute(`ttp:${t}`)||r[t],e)),{}),o="preserve"!==s.getAttribute("xml:space"),n=eA(Zy(s,"styling","style")),l=eA(Zy(s,"layout","region")),d=Zy(s,"body","[begin]");return[].map.call(d,(e=>{const i=tA(e,o);if(!i||!e.hasAttribute("begin"))return null;const s=rA(e.getAttribute("begin"),a),r=rA(e.getAttribute("dur"),a);let d=rA(e.getAttribute("end"),a);if(null===s)throw sA(e);if(null===d){if(null===r)throw sA(e);d=s+r}const h=new Iy(s-t,d-t,i);h.id=Hy(h.startTime,h.endTime,h.text);const c=function(e,t,i){const s="http://www.w3.org/ns/ttml#styling";let r=null;const a=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],o=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;o&&i.hasOwnProperty(o)&&(r=i[o]);return a.reduce(((i,a)=>{const o=iA(t,s,a)||iA(e,s,a)||iA(r,s,a);return o&&(i[a]=o),i}),{})}(l[e.getAttribute("region")],n[e.getAttribute("style")],n),{textAlign:u}=c;if(u){const e=Qy[u];e&&(h.lineAlign=e),h.align=u}return Hc(h,c),h})).filter((e=>null!==e))}(e,o))))}catch(e){s(e)}}function Zy(e,t,i){const s=e.getElementsByTagName(t)[0];return s?[].slice.call(s.querySelectorAll(i)):[]}function eA(e){return e.reduce(((e,t)=>{const i=t.getAttribute("xml:id");return i&&(e[i]=t),e}),{})}function tA(e,t){return[].slice.call(e.childNodes).reduce(((e,i,s)=>{var r;return"br"===i.nodeName&&s?e+"\n":null!=(r=i.childNodes)&&r.length?tA(i,t):t?e+i.textContent.trim().replace(/\s+/g," "):e+i.textContent}),"")}function iA(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function sA(e){return new Error(`Could not parse ttml timestamp ${e}`)}function rA(e,t){if(!e)return null;let i=My(e);return null===i&&(Ky.test(e)?i=function(e,t){const i=Ky.exec(e),s=(0|i[4])+(0|i[5])/t.subFrameRate;return 3600*(0|i[1])+60*(0|i[2])+(0|i[3])+s/t.frameRate}(e,t):Yy.test(e)&&(i=function(e,t){const i=Yy.exec(e),s=Number(i[1]);switch(i[2]){case"h":return 3600*s;case"m":return 60*s;case"ms":return 1e3*s;case"f":return s/t.frameRate;case"t":return s/t.tickRate}return s}(e,t))),i}function aA(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function oA(e,t){return!!e&&e.kind===aA(t)&&ly(t,e)}class nA{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:e}=this;e.on(Yc.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Yc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Yc.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:e}=this;e.off(Yc.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Yc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Yc.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){const i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){const i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&Jc(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);const e=this.hls.levels;if(e.length){const t=this.hls,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&su.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){const t=this.hls.levels;if(!t.length)return-1;const i=t.filter(((t,i)=>this.isLevelAllowed(t)&&i<=e));return this.clientRect=null,nA.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const e=this.media,t={width:0,height:0};if(e){const i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,t.width||t.height||(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return e}isLevelAllowed(e){return!this.restrictedLevels.some((t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height))}static getMaxLevelByMediaSize(e,t,i){if(null==e||!e.length)return-1;let s=e.length-1;const r=Math.max(t,i);for(let t=0;t=r||i.height>=r)&&(a=i,!(o=e[t+1])||a.width!==o.width||a.height!==o.height)){s=t;break}}var a,o;return s}}const lA="[eme]";class dA{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=dA.CDMCleanupPromise?[dA.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=su.debug.bind(su,lA),this.log=su.log.bind(su,lA),this.warn=su.warn.bind(su,lA),this.error=su.error.bind(su,lA),this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();const e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(Yc.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(Yc.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(Yc.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(Yc.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(e){const{drmSystems:t,widevineLicenseUrl:i}=this.config,s=t[e];if(s)return s.licenseUrl;if(e===_u.WIDEVINE&&i)return i;throw new Error(`no license server URL configured for key-system "${e}"`)}getServerCertificateUrl(e){const{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){const t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t,s=t.map((e=>e.audioCodec)).filter(i),r=t.map((e=>e.videoCodec)).filter(i);return s.length+r.length===0&&r.push("avc1.42e01e"),new Promise(((t,i)=>{const a=e=>{const o=e.shift();this.getMediaKeysPromise(o,s,r).then((e=>t({keySystem:o,mediaKeys:e}))).catch((t=>{e.length?a(e):i(t instanceof hA?t:new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))}))};a(e)}))}requestMediaKeySystemAccess(e,t){const{requestMediaKeySystemAccessFunc:i}=this.config;if("function"!=typeof i){let e=`Configured requestMediaKeySystemAccess is not a function ${i}`;return null===Du&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(e))}return i(e,t)}getMediaKeysPromise(e,t,i){const s=function(e,t,i,s){let r;switch(e){case _u.FAIRPLAY:r=["cenc","sinf"];break;case _u.WIDEVINE:case _u.PLAYREADY:r=["cenc"];break;case _u.CLEARKEY:r=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${e}`)}return function(e,t,i,s){return[{initDataTypes:e,persistentState:s.persistentState||"optional",distinctiveIdentifier:s.distinctiveIdentifier||"optional",sessionTypes:s.sessionTypes||[s.sessionType||"temporary"],audioCapabilities:t.map((e=>({contentType:`audio/mp4; codecs="${e}"`,robustness:s.audioRobustness||"",encryptionScheme:s.audioEncryptionScheme||null}))),videoCapabilities:i.map((e=>({contentType:`video/mp4; codecs="${e}"`,robustness:s.videoRobustness||"",encryptionScheme:s.videoEncryptionScheme||null})))}]}(r,t,i,s)}(e,t,i,this.config.drmSystemOptions),r=this.keySystemAccessPromises[e];let a=null==r?void 0:r.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${JSON.stringify(s)}`),a=this.requestMediaKeySystemAccess(e,s);const t=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch((t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)})),a.then((i=>{this.log(`Access for key-system "${i.keySystem}" obtained`);const s=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),t.mediaKeys=i.createMediaKeys().then((t=>(this.log(`Media-keys created for "${e}"`),s.then((i=>i?this.setMediaKeysServerCertificate(t,e,i):t))))),t.mediaKeys.catch((t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)})),t.mediaKeys}))}return a.then((()=>r.mediaKeys))}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${Yu(e.keyId||[])}`);const s=i.createSession(),r={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:s,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(e){const t=e.decryptdata;if(t.pssh){const i=this.createMediaKeySessionContext(e),s=this.getKeyIdString(t),r="cenc";this.keyIdToKeySessionPromise[s]=this.generateRequestWithPreferredKeySession(i,r,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return Yu(e.keyId)}updateKeySession(e,t){var i;const s=e.mediaKeysSession;return this.log(`Updating key-session "${s.sessionId}" for keyID ${Yu((null==(i=e.decryptdata)?void 0:i.keyId)||[])}\n } (data length: ${t?t.byteLength:t})`),s.update(t)}selectKeySystemFormat(e){const t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise(((t,i)=>{const s=xu(this.config),r=e.map(ku).filter((e=>!!e&&-1!==s.indexOf(e)));return this.getKeySystemSelectionPromise(r).then((({keySystem:e})=>{const s=Cu(e);s?t(s):i(new Error(`Unable to find format for key-system "${e}"`))})).catch(i)}))}loadKey(e){const t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let r=this.keyIdToKeySessionPromise[i];return r||(r=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(t).then((({keySystem:i,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(i,r).then((()=>{this.throwIfDestroyed();const e=this.createMediaKeySessionContext({keySystem:i,mediaKeys:r,decryptdata:t});return this.generateRequestWithPreferredKeySession(e,"cenc",t.pssh,"playlist-key")}))))),r.catch((e=>this.handleError(e)))),r}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof hA?this.hls.trigger(Yc.ERROR,e.data):this.hls.trigger(Yc.ERROR,{type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){const t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){const t=ku(e.keyFormat),i=t?[t]:xu(this.config);return this.attemptKeySystemAccess(i)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=xu(this.config)),0===e.length)throw new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){const{initDataType:t,initData:i}=e;if(this.debug(`"${e.type}" event: init data type: "${t}"`),null===i)return;let s,r;if("sinf"===t&&this.config.drmSystems[_u.FAIRPLAY]){const e=ep(new Uint8Array(i));try{const t=yu(JSON.parse(e).sinf),i=pp(new Uint8Array(t));if(!i)return;s=i.subarray(8,24),r=_u.FAIRPLAY}catch(e){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{const e=function(e){if(!(e instanceof ArrayBuffer)||e.byteLength<32)return null;const t={version:0,systemId:"",kids:null,data:null},i=new DataView(e),s=i.getUint32(0);if(e.byteLength!==s&&s>44)return null;if(1886614376!==i.getUint32(4))return null;if(t.version=i.getUint32(8)>>>24,t.version>1)return null;t.systemId=Yu(new Uint8Array(e,12,16));const r=i.getUint32(28);if(0===t.version){if(s-32this.generateRequestWithPreferredKeySession(r,t,i,"encrypted-event-key-match")));break}}l||(l=o[a]=this.getKeySystemSelectionPromise([r]).then((({keySystem:e,mediaKeys:r})=>{var o;this.throwIfDestroyed();const n=new Sp("ISO-23001-7",a,null!=(o=Cu(e))?o:"");return n.pssh=new Uint8Array(i),n.keyId=s,this.attemptSetMediaKeys(e,r).then((()=>{this.throwIfDestroyed();const s=this.createMediaKeySessionContext({decryptdata:n,keySystem:e,mediaKeys:r});return this.generateRequestWithPreferredKeySession(s,t,i,"encrypted-event-no-match")}))}))),l.catch((e=>this.handleError(e)))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){const i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);const s=Promise.all(i).then((()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)}));return this.setMediaKeysQueue.push(s),s.then((()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((e=>-1===i.indexOf(e)))}))}generateRequestWithPreferredKeySession(e,t,i,s){var r,a;const o=null==(r=this.config.drmSystems)||null==(a=r[e.keySystem])?void 0:a.generateRequest;if(o)try{const s=o.call(this.hls,t,i,e);if(!s)throw new Error("Invalid response from configured generateRequest filter");t=s.initDataType,i=e.decryptdata.pssh=s.initData?new Uint8Array(s.initData):null}catch(e){var n;if(this.warn(e.message),null!=(n=this.hls)&&n.config.debug)throw e}if(null===i)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);const l=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${l} (init data type: ${t} length: ${i?i.byteLength:null})`);const d=new ry,h=e._onmessage=t=>{const i=e.mediaKeysSession;if(!i)return void d.emit("error",new Error("invalid state"));const{messageType:s,message:r}=t;this.log(`"${s}" message event for session "${i.sessionId}" message size: ${r.byteLength}`),"license-request"===s||"license-renewal"===s?this.renewLicense(e,r).catch((e=>{this.handleError(e),d.emit("error",e)})):"license-release"===s?e.keySystem===_u.FAIRPLAY&&(this.updateKeySession(e,bu("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${s}"`)},c=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession)return void d.emit("error",new Error("invalid state"));this.onKeyStatusChange(e);const i=e.keyStatus;d.emit("keyStatus",i),"expired"===i&&(this.warn(`${e.keySystem} expired for key ${l}`),this.renewKeySession(e))};e.mediaKeysSession.addEventListener("message",h),e.mediaKeysSession.addEventListener("keystatuseschange",c);const u=new Promise(((e,t)=>{d.on("error",t),d.on("keyStatus",(i=>{i.startsWith("usable")?e():"output-restricted"===i?t(new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===i?t(new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${i}"`)):"expired"===i?t(new Error("key expired while generating request")):this.warn(`unhandled key status change "${i}"`)}))}));return e.mediaKeysSession.generateRequest(t,i).then((()=>{var t;this.log(`Request generated for key-session "${null==(t=e.mediaKeysSession)?void 0:t.sessionId}" keyId: ${l}`)})).catch((e=>{throw new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_NO_SESSION,error:e,fatal:!1},`Error generating key-session request: ${e}`)})).then((()=>u)).catch((t=>{throw d.removeAllListeners(),this.removeSession(e),t})).then((()=>(d.removeAllListeners(),e)))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach(((t,i)=>{this.log(`key status change "${t}" for keyStatuses keyId: ${Yu("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${Yu(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t}))}fetchServerCertificate(e){const t=this.config,i=new(0,t.loader)(t),s=this.getServerCertificateUrl(e);return s?(this.log(`Fetching server certificate for "${e}"`),new Promise(((r,a)=>{const o={responseType:"arraybuffer",url:s},n=t.certLoadPolicy.default,l={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(e,t,i,s)=>{r(e.data)},onError:(t,i,r,n)=>{a(new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:Vc({url:o.url,data:void 0},t)},`"${e}" certificate request failed (${s}). Status: ${t.code} (${t.text})`))},onTimeout:(t,i,r)=>{a(new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:o.url,data:void 0}},`"${e}" certificate request timed out (${s})`))},onAbort:(e,t,i)=>{a(new Error("aborted"))}};i.load(o,l,d)}))):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise(((s,r)=>{e.setServerCertificate(i).then((r=>{this.log(`setServerCertificate ${r?"success":"not supported by CDM"} (${null==i?void 0:i.byteLength}) on "${t}"`),s(e)})).catch((e=>{r(new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))}))}))}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then((t=>this.updateKeySession(e,new Uint8Array(t)).catch((e=>{throw new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:e,fatal:!0},e.message)}))))}unpackPlayReadyKeyMessage(e,t){const i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;const s=(new DOMParser).parseFromString(i,"application/xml"),r=s.querySelectorAll("HttpHeader");if(r.length>0){let t;for(let i=0,s=r.length;i in key message");return bu(atob(l))}setupLicenseXHR(e,t,i,s){const r=this.config.licenseXhrSetup;return r?Promise.resolve().then((()=>{if(!i.decryptdata)throw new Error("Key removed");return r.call(this.hls,e,t,i,s)})).catch((a=>{if(!i.decryptdata)throw a;return e.open("POST",t,!0),r.call(this.hls,e,t,i,s)})).then((i=>{e.readyState||e.open("POST",t,!0);return{xhr:e,licenseChallenge:i||s}})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:s}))}requestLicense(e,t){const i=this.config.keyLoadPolicy.default;return new Promise(((s,r)=>{const a=this.getLicenseServerUrl(e.keySystem);this.log(`Sending license request to URL: ${a}`);const o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(new Error("invalid state"));if(4===o.readyState)if(200===o.status){this._requestLicenseFailureCount=0;let t=o.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);const i=this.config.licenseResponseCallback;if(i)try{t=i.call(this.hls,o,a,e)}catch(e){this.error(e)}s(t)}else{const n=i.errorRetry,l=n?n.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>l||o.status>=400&&o.status<500)r(new hA({type:Qc.KEY_SYSTEM_ERROR,details:Xc.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{const i=l-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${i} attempts left`),this.requestLicense(e,t).then(s,r)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then((({xhr:t,licenseChallenge:i})=>{e.keySystem==_u.PLAYREADY&&(i=this.unpackPlayReadyKeyMessage(t,i)),t.send(i)}))}))}onMediaAttached(e,t){if(!this.config.emeEnabled)return;const i=t.media;this.media=i,i.addEventListener("encrypted",this.onMediaEncrypted),i.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){const e=this.media,t=this.mediaKeySessions;e&&(e.removeEventListener("encrypted",this.onMediaEncrypted),e.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},Sp.clearKeyUriToKeyIdMap();const i=t.length;dA.CDMCleanupPromise=Promise.all(t.map((e=>this.removeSession(e))).concat(null==e?void 0:e.setMediaKeys(null).catch((e=>{this.log(`Could not clear media keys: ${e}`)})))).then((()=>{i&&(this.log("finished closing key sessions and clearing media keys"),t.length=0)})).catch((e=>{this.log(`Could not close sessions and clear media keys: ${e}`)}))}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(t&&this.config.emeEnabled&&!this.keyFormatPromise){const e=t.reduce(((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e)),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){const{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;const s=this.mediaKeySessions.indexOf(e);return s>-1&&this.mediaKeySessions.splice(s,1),t.remove().catch((e=>{this.log(`Could not remove session: ${e}`)})).then((()=>t.close())).catch((e=>{this.log(`Could not close session: ${e}`)}))}}}dA.CDMCleanupPromise=void 0;class hA extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}}var cA,uA,pA;!function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"}(cA||(cA={})),function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"}(uA||(uA={})),function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"}(pA||(pA={}));const mA={[pA.OBJECT]:["br","d","ot","tb"],[pA.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[pA.SESSION]:["cid","pr","sf","sid","st","v"],[pA.STATUS]:["bs","rtp"]};class gA{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map((e=>e instanceof gA?e:new gA(e)))),this.value=e,this.params=t}}class fA{constructor(e){this.description=void 0,this.description=e}}function yA(e,t,i,s){return new Error(`failed to ${e} "${r=t,Array.isArray(r)?JSON.stringify(r):r instanceof Map?"Map{}":r instanceof Set?"Set{}":"object"==typeof r?JSON.stringify(r):String(r)}" as ${i}`,{cause:s});var r}const AA="Bare Item";const bA=/[\x00-\x1f\x7f]+/;function vA(e,t,i){return yA("serialize",e,t,i)}function _A(e){if(!1===ArrayBuffer.isView(e))throw vA(e,"Byte Sequence");return`:${t=e,btoa(String.fromCharCode(...t))}:`;var t}function SA(e){if(function(e){return e<-999999999999999||99999999999999912)throw vA(e,"Decimal");const i=t.toString();return i.includes(".")?i:`${i}.0`}function TA(e){const t=(i=e).description||i.toString().slice(7,-1);var i;if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw vA(t,"Token");return t}function kA(e){switch(typeof e){case"number":if(!Jc(e))throw vA(e,AA);return Number.isInteger(e)?SA(e):EA(e);case"string":return function(e){if(bA.test(e))throw vA(e,"String");return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}(e);case"symbol":return TA(e);case"boolean":return function(e){if("boolean"!=typeof e)throw vA(e,"Boolean");return e?"?1":"?0"}(e);case"object":if(e instanceof Date)return function(e){return`@${SA(e.getTime()/1e3)}`}(e);if(e instanceof Uint8Array)return _A(e);if(e instanceof fA)return TA(e);default:throw vA(e,AA)}}function LA(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw vA(e,"Key");return e}function CA(e){return null==e?"":Object.entries(e).map((([e,t])=>!0===t?`;${LA(e)}`:`;${LA(e)}=${kA(t)}`)).join("")}function xA(e){return e instanceof gA?`${kA(e.value)}${CA(e.params)}`:kA(e)}function DA(e,t={whitespace:!0}){if("object"!=typeof e)throw vA(e,"Dict");const i=e instanceof Map?e.entries():Object.entries(e),s=null!=t&&t.whitespace?" ":"";return Array.from(i).map((([e,t])=>{t instanceof gA==!1&&(t=new gA(t));let i=LA(e);var s;return!0===t.value?i+=CA(t.params):(i+="=",Array.isArray(t.value)?i+=`(${(s=t).value.map(xA).join(" ")})${CA(s.params)}`:i+=xA(t)),i})).join(`,${s}`)}const RA=e=>Math.round(e),PA=e=>100*RA(e/100),IA={br:RA,d:RA,bl:PA,dl:PA,mtp:PA,nor:(e,t)=>(null!=t&&t.baseUrl&&(e=function(e,t){const i=new URL(e),s=new URL(t);if(i.origin!==s.origin)return e;const r=i.pathname.split("/").slice(1),a=s.pathname.split("/").slice(1,-1);for(;r[0]===a[0];)r.shift(),a.shift();for(;a.length;)a.shift(),r.unshift("..");return r.join("/")}(e,t.baseUrl)),encodeURIComponent(e)),rtp:PA,tb:RA};function BA(e,t){const i={};if(null==e||"object"!=typeof e)return i;const s=Object.keys(e).sort(),r=Hc({},IA,null==t?void 0:t.formatters),a=null==t?void 0:t.filter;return s.forEach((s=>{if(null!=a&&a(s))return;let o=e[s];const n=r[s];n&&(o=n(o,t)),"v"===s&&1===o||"pr"==s&&1===o||(e=>"number"==typeof e?Jc(e):null!=e&&""!==e&&!1!==e)(o)&&((e=>"ot"===e||"sf"===e||"st"===e)(s)&&"string"==typeof o&&(o=new fA(o)),i[s]=o)})),i}function MA(e,t={}){return e?function(e,t){return DA(e,t)}(BA(e,t),Hc({whitespace:!1},t)):""}function FA(e,t,i){return Hc(e,function(e,t={}){if(!e)return{};const i=Object.entries(e),s=Object.entries(mA).concat(Object.entries((null==t?void 0:t.customHeaderMap)||{})),r=i.reduce(((e,t)=>{var i;const[r,a]=t,o=(null==(i=s.find((e=>e[1].includes(r))))?void 0:i[0])||pA.REQUEST;return null!=e[o]||(e[o]={}),e[o][r]=a,e}),{});return Object.entries(r).reduce(((e,[i,s])=>(e[i]=MA(s,t),e)),{})}(t,i))}const UA=/CMCD=[^&#]+/;function OA(e,t,i){const s=function(e,t={}){if(!e)return"";const i=MA(e,t);return`CMCD=${encodeURIComponent(i)}`}(t,i);if(!s)return e;if(UA.test(e))return e.replace(UA,s);const r=e.includes("?")?"&":"?";return`${e}${r}${s}`}function NA(e,t,i,s){e&&Object.keys(t).forEach((r=>{const a=e.filter((e=>e.groupId===r)).map((e=>{const a=Hc({},e);return a.details=void 0,a.attrs=new ou(a.attrs),a.url=a.attrs.URI=jA(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),a.groupId=a.attrs["GROUP-ID"]=t[r],a.attrs["PATHWAY-ID"]=s,a}));e.push(...a)}))}function jA(e,t,i,s){const{HOST:r,PARAMS:a,[i]:o}=s;let n;t&&(n=null==o?void 0:o[t],n&&(e=n));const l=new self.URL(e);return r&&!n&&(l.host=r),a&&Object.keys(a).sort().forEach((e=>{e&&l.searchParams.set(e,a[e])})),l.href}const GA=/^age:\s*[\d.]+\s*$/im;class WA{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new du,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal()}loadInternal(){const{config:e,context:t}=this;if(!e||!t)return;const i=this.loader=new self.XMLHttpRequest,s=this.stats;s.loading.first=0,s.loaded=0,s.aborted=!1;const r=this.xhrSetup;r?Promise.resolve().then((()=>{if(this.loader===i&&!this.stats.aborted)return r(i,t.url)})).catch((e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",t.url,!0),r(i,t.url)})).then((()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)})).catch((e=>{this.callbacks.onError({code:i.status,text:e.message},t,i,s)})):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);const s=t.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:a}=i.loadPolicy;if(s)for(const t in s)e.setRequestHeader(t,s[t]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=r&&Jc(r)?r:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){const{context:e,loader:t,stats:i}=this;if(!e||!t)return;const s=t.readyState,r=this.config;if(!i.aborted&&s>=2&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),4===s)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;const s=t.status,a="text"!==t.responseType;if(s>=200&&s<300&&(a&&t.response||null!==t.responseText)){i.loading.end=Math.max(self.performance.now(),i.loading.first);const r=a?t.response:t.responseText,o="arraybuffer"===t.responseType?r.byteLength:r.length;if(i.loaded=i.total=o,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first),!this.callbacks)return;const n=this.callbacks.onProgress;if(n&&n(i,e,r,t),!this.callbacks)return;const l={url:t.responseURL,data:r,code:s};this.callbacks.onSuccess(l,i,e,t)}else{const a=r.loadPolicy.errorRetry;zm(a,i.retry,!1,{url:e.url,data:void 0,code:s})?this.retry(a):(su.error(`${s} while loading ${e.url}`),this.callbacks.onError({code:s,text:t.statusText},e,t,i))}}}loadtimeout(){if(!this.config)return;const e=this.config.loadPolicy.timeoutRetry;if(zm(e,this.stats.retry,!0))this.retry(e);else{var t;su.warn(`timeout while loading ${null==(t=this.context)?void 0:t.url}`);const e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}retry(e){const{context:t,stats:i}=this;this.retryDelay=Wm(e,i.retry),i.retry++,su.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){const t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&GA.test(this.loader.getAllResponseHeaders())){const t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}const VA=/(\d+)-(\d+)\/(\d+)/;class zA{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||$A,this.controller=new self.AbortController,this.stats=new du}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){const s=this.stats;if(s.loading.start)throw new Error("Loader can only be used once.");s.loading.start=self.performance.now();const r=function(e,t){const i={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(Hc({},e.headers))};e.rangeEnd&&i.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1));return i}(e,this.controller.signal),a=i.onProgress,o="arraybuffer"===e.responseType,n=o?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:d}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,r),self.clearTimeout(this.requestTimeout),t.timeout=l&&Jc(l)?l:d,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),i.onTimeout(s,e,this.response)}),t.timeout),self.fetch(this.request).then((r=>{this.response=this.loader=r;const n=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=d,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),i.onTimeout(s,e,this.response)}),d-(n-s.loading.start)),!r.ok){const{status:e,statusText:t}=r;throw new HA(t||"fetch, bad network response",e,r)}return s.loading.first=n,s.total=function(e){const t=e.get("Content-Range");if(t){const e=function(e){const t=VA.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}(t);if(Jc(e))return e}const i=e.get("Content-Length");if(i)return parseInt(i)}(r.headers)||s.total,a&&Jc(t.highWaterMark)?this.loadProgressively(r,s,e,t.highWaterMark,a):o?r.arrayBuffer():"json"===e.responseType?r.json():r.text()})).then((r=>{const o=this.response;if(!o)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);const l=r[n];l&&(s.loaded=s.total=l);const d={url:o.url,data:r,code:o.status};a&&!Jc(t.highWaterMark)&&a(s,e,r,o),i.onSuccess(d,s,e,o)})).catch((t=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;const r=t&&t.code||0,a=t?t.message:null;i.onError({code:r,text:a},e,t?t.details:null,s)}))}getCacheAge(){let e=null;if(this.response){const t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,s=0,r){const a=new Zg,o=e.body.getReader(),n=()=>o.read().then((o=>{if(o.done)return a.dataLength&&r(t,i,a.flush(),e),Promise.resolve(new ArrayBuffer(0));const l=o.value,d=l.length;return t.loaded+=d,d=s&&r(t,i,a.flush(),e)):r(t,i,l,e),n()})).catch((()=>Promise.reject()));return n()}}function $A(e,t){return new self.Request(e.url,t)}class HA extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}const JA=/\s/,qA={newCue(e,t,i,s){const r=[];let a,o,n,l,d;const h=self.VTTCue||self.TextTrackCue;for(let u=0;u=16?l--:l++;const s=Gy(d.trim()),p=Hy(t,i,s);null!=e&&null!=(c=e.cues)&&c.getCueById(p)||(o=new h(t,i,s),o.id=p,o.line=u+1,o.align="left",o.position=10+Math.min(80,10*Math.floor(8*l/32)),r.push(o))}return e&&r.length&&(r.sort(((e,t)=>"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line)),r.forEach((t=>hm(e,t)))),r}},KA=Vc(Vc({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:WA,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{const{fragCurrent:e,partCurrent:t,hls:i}=this,{autoLevelEnabled:s,media:r}=i;if(!e||!r)return;const a=performance.now(),o=t?t.stats:e.stats,n=t?t.duration:e.duration,l=a-o.loading.start,d=i.minAutoLevel;if(o.aborted||o.loaded&&o.loaded===o.total||e.level<=d)return this.clearTimer(),void(this._nextAutoLevel=-1);if(!s||r.paused||!r.playbackRate||!r.readyState)return;const h=i.mainForwardBufferInfo;if(null===h)return;const c=this.bwEstimator.getEstimateTTFB(),u=Math.abs(r.playbackRate);if(l<=Math.max(c,n/(2*u)*1e3))return;const p=h.len/u,m=o.loading.first?o.loading.first-o.loading.start:-1,g=o.loaded&&m>-1,f=this.getBwEstimate(),y=i.levels,A=y[e.level],b=o.total||Math.max(o.loaded,Math.round(n*A.averageBitrate/8));let v=g?l-m:l;v<1&&g&&(v=Math.min(l,8*o.loaded/f));const _=g?1e3*o.loaded/v:0,S=_?(b-o.loaded)/_:8*b/f+c/1e3;if(S<=p)return;const w=_?8*_:f;let E,T=Number.POSITIVE_INFINITY;for(E=e.level-1;E>d;E--){const e=y[E].maxBitrate;if(T=this.getTimeToLoadFrag(c/1e3,w,n*e,!y[E].details),T=S)return;if(T>10*n)return;i.nextLoadLevel=i.nextAutoLevel=E,g?this.bwEstimator.sample(l-Math.min(c,m),o.loaded):this.bwEstimator.sampleTTFB(l);const k=y[E].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>k&&this.resetEstimator(k),this.clearTimer(),su.warn(`[abr] Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} is loading too slowly;\n Time to underbuffer: ${p.toFixed(3)} s\n Estimated load time for current fragment: ${S.toFixed(3)} s\n Estimated load time for down switch fragment: ${T.toFixed(3)} s\n TTFB estimate: ${0|m} ms\n Current BW estimate: ${Jc(f)?0|f:"Unknown"} bps\n New BW estimate: ${0|this.getBwEstimate()} bps\n Switching to level ${E} @ ${0|k} bps`),i.trigger(Yc.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:t,stats:o})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(su.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const e=this.hls.config;return new rg(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){const{hls:e}=this;e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.FRAG_LOADING,this.onFragLoading,this),e.on(Yc.FRAG_LOADED,this.onFragLoaded,this),e.on(Yc.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Yc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Yc.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Yc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Yc.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(Yc.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e&&(e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.FRAG_LOADING,this.onFragLoading,this),e.off(Yc.FRAG_LOADED,this.onFragLoaded,this),e.off(Yc.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Yc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Yc.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Yc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Yc.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(Yc.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){const i=t.frag;if(!this.ignoreFragment(i)){var s;if(!i.bitrateTest)this.fragCurrent=i,this.partCurrent=null!=(s=t.part)?s:null;this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case Xc.BUFFER_ADD_CODEC_ERROR:case Xc.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case Xc.FRAG_LOAD_TIMEOUT:{const e=t.frag,{fragCurrent:i,partCurrent:s}=this;if(e&&i&&e.sn===i.sn&&e.level===i.level){const t=performance.now(),i=s?s.stats:e.stats,r=t-i.loading.start,a=i.loading.first?i.loading.first-i.loading.start:-1;if(i.loaded&&a>-1){const e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(r-Math.min(e,a),i.loaded)}else this.bwEstimator.sampleTTFB(r)}break}}}getTimeToLoadFrag(e,t,i,s){return e+i/t+(s?this.lastLevelLoadSec:0)}onLevelLoaded(e,t){const i=this.hls.config,{loading:s}=t.stats,r=s.end-s.start;Jc(r)&&(this.lastLevelLoadSec=r/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:i}){const s=i?i.stats:t.stats;if(t.type===sm&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const e=i?i.duration:t.duration,r=this.hls.levels[t.level],a=(r.loaded?r.loaded.bytes:0)+s.loaded,o=(r.loaded?r.loaded.duration:0)+e;r.loaded={bytes:a,duration:o},r.realBitrate=Math.round(8*a/o)}if(t.bitrateTest){const e={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(Yc.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){const{frag:i,part:s}=t,r=null!=s&&s.stats.loaded?s.stats:i.stats;if(r.aborted)return;if(this.ignoreFragment(i))return;const a=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,r.loaded),r.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==sm||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,r=this.findBestLevel(i,t,e,0,s,1,1);if(r>-1)return r;const a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return su.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(!(-1===e||t&&i&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;const s=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){const t=this.hls.levels;if(t.length>Math.max(e,s)&&t[e].loadError<=t[s].loadError)return e}return this._nextAutoLevel=s,this.nextAutoLevelKey=this.getAutoLevelKey(),s}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:e,partCurrent:t,hls:i}=this,{maxAutoLevel:s,config:r,minAutoLevel:a}=i,o=t?t.duration:e?e.duration:0,n=this.getBwEstimate(),l=this.getStarvationDelay();let d=r.abrBandWidthFactor,h=r.abrBandWidthUpFactor;if(l){const e=this.findBestLevel(n,a,s,l,0,d,h);if(e>=0)return e}let c=o?Math.min(o,r.maxStarvationDelay):r.maxStarvationDelay;if(!l){const e=this.bitrateTestDelay;if(e){c=(o?Math.min(o,r.maxLoadingDelay):r.maxLoadingDelay)-e,su.info(`[abr] bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*c)} ms`),d=h=1}}const u=this.findBestLevel(n,a,s,l,c,d,h);if(su.info(`[abr] ${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${u}`),u>-1)return u;const p=i.levels[a],m=i.levels[i.loadLevel];return(null==p?void 0:p.bitrate)<(null==m?void 0:m.bitrate)?a:i.loadLevel}getStarvationDelay(){const e=this.hls,t=e.media;if(!t)return 1/0;const i=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,s=e.mainForwardBufferInfo;return(s?s.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,s,r,a,o){var n;const l=s+r,d=this.lastLoadedFragLevel,h=-1===d?this.hls.firstLevel:d,{fragCurrent:c,partCurrent:u}=this,{levels:p,allAudioTracks:m,loadLevel:g,config:f}=this.hls;if(1===p.length)return 0;const y=p[h],A=!(null==y||null==(n=y.details)||!n.live),b=-1===g||-1===d;let v,_="SDR",S=(null==y?void 0:y.frameRate)||0;const{audioPreference:w,videoPreference:E}=f,T=this.audioTracksByGroup||(this.audioTracksByGroup=function(e){return e.reduce(((e,t)=>{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);const s=t.channels||"2";return i.channels[s]=(i.channels[s]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}(m));if(b){if(-1!==this.firstSelection)return this.firstSelection;const s=this.codecTiers||(this.codecTiers=function(e,t,i,s){return e.slice(i,s+1).reduce(((e,i)=>{if(!i.codecSet)return e;const s=i.audioGroups;let r=e[i.codecSet];r||(e[i.codecSet]=r={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!s,fragmentError:0}),r.minBitrate=Math.min(r.minBitrate,i.bitrate);const a=Math.min(i.height,i.width);return r.minHeight=Math.min(r.minHeight,a),r.minFramerate=Math.min(r.minFramerate,i.frameRate),r.maxScore=Math.max(r.maxScore,i.score),r.fragmentError+=i.fragmentError,r.videoRanges[i.videoRange]=(r.videoRanges[i.videoRange]||0)+1,s&&s.forEach((e=>{if(!e)return;const i=t.groups[e];i&&(r.hasDefaultAudio=r.hasDefaultAudio||t.hasDefaultAudio?i.hasDefault:i.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(i.channels).forEach((e=>{r.channels[e]=(r.channels[e]||0)+i.channels[e]})))})),e}),{})}(p,T,t,i)),r=function(e,t,i,s,r){const a=Object.keys(e),o=null==s?void 0:s.channels,n=null==s?void 0:s.audioCodec,l=o&&2===parseInt(o);let d=!0,h=!1,c=1/0,u=1/0,p=1/0,m=0,g=[];const{preferHDR:f,allowedVideoRanges:y}=dg(t,r);for(let t=a.length;t--;){const i=e[a[t]];d=i.channels[2]>0,c=Math.min(c,i.minHeight),u=Math.min(u,i.minFramerate),p=Math.min(p,i.minBitrate);const s=y.filter((e=>i.videoRanges[e]>0));s.length>0&&(h=!0,g=s)}c=Jc(c)?c:0,u=Jc(u)?u:0;const A=Math.max(1080,c),b=Math.max(30,u);return p=Jc(p)?p:i,i=Math.max(p,i),h||(t=void 0,g=[]),{codecSet:a.reduce(((t,s)=>{const r=e[s];if(s===t)return t;if(r.minBitrate>i)return hg(s,`min bitrate of ${r.minBitrate} > current estimate of ${i}`),t;if(!r.hasDefaultAudio)return hg(s,"no renditions with default or auto-select sound found"),t;if(n&&s.indexOf(n.substring(0,4))%5!=0)return hg(s,`audio codec preference "${n}" not found`),t;if(o&&!l){if(!r.channels[o])return hg(s,`no renditions with ${o} channel sound found (channels options: ${Object.keys(r.channels)})`),t}else if((!n||l)&&d&&0===r.channels[2])return hg(s,"no renditions with stereo sound found"),t;return r.minHeight>A?(hg(s,`min resolution of ${r.minHeight} > maximum of ${A}`),t):r.minFramerate>b?(hg(s,`min framerate of ${r.minFramerate} > maximum of ${b}`),t):g.some((e=>r.videoRanges[e]>0))?r.maxScore=Mp(t)||r.fragmentError>e[t].fragmentError)?t:(m=r.maxScore,s):(hg(s,`no variants with VIDEO-RANGE of ${JSON.stringify(g)} found`),t)}),void 0),videoRanges:g,preferHDR:f,minFramerate:u,minBitrate:p}}(s,_,e,w,E),{codecSet:a,videoRanges:o,minFramerate:n,minBitrate:l,preferHDR:d}=r;v=a,_=d?o[o.length-1]:o[0],S=n,e=Math.max(e,l),su.log(`[abr] picked start tier ${JSON.stringify(r)}`)}else v=null==y?void 0:y.codecSet,_=null==y?void 0:y.videoRange;const k=u?u.duration:c?c.duration:0,L=this.bwEstimator.getEstimateTTFB()/1e3,C=[];for(let n=i;n>=t;n--){var x;const t=p[n],c=n>h;if(!t)continue;if(f.useMediaCapabilities&&!t.supportedResult&&!t.supportedPromise){const i=navigator.mediaCapabilities;"function"==typeof(null==i?void 0:i.decodingInfo)&&ng(t,T,_,S,e,w)?(t.supportedPromise=lg(t,T,i),t.supportedPromise.then((e=>{if(!this.hls)return;t.supportedResult=e;const i=this.hls.levels,s=i.indexOf(t);e.error?su.warn(`[abr] MediaCapabilities decodingInfo error: "${e.error}" for level ${s} ${JSON.stringify(e)}`):e.supported||(su.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${s} ${JSON.stringify(e)}`),s>-1&&i.length>1&&(su.log(`[abr] Removing unsupported level ${s}`),this.hls.removeLevel(s)))}))):t.supportedResult=ag}if(v&&t.codecSet!==v||_&&t.videoRange!==_||c&&S>t.frameRate||!c&&S>0&&S=2*k&&0===r?p[n].averageBitrate:p[n].maxBitrate,P=this.getTimeToLoadFrag(L,D,R*E,void 0===m);if(D>=R&&(n===d||0===t.loadError&&0===t.fragmentError)&&(P<=L||!Jc(P)||A&&!this.bitrateTestDelay||P${n} adjustedbw(${Math.round(D)})-bitrate=${Math.round(D-R)} ttfb:${L.toFixed(1)} avgDuration:${E.toFixed(1)} maxFetchDuration:${l.toFixed(1)} fetchDuration:${P.toFixed(1)} firstSelection:${b} codecSet:${v} videoRange:${_} hls.loadLevel:${g}`)),b&&(this.firstSelection=n),n}}return-1}set nextAutoLevel(e){const{maxAutoLevel:t,minAutoLevel:i}=this.hls,s=Math.min(Math.max(e,i),t);this._nextAutoLevel!==s&&(this.nextAutoLevelKey="",this._nextAutoLevel=s)}},bufferController:class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=e=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{const{media:e,mediaSource:t}=this;this.log("Media source opened"),e&&(e.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(Yc.MEDIA_ATTACHED,{media:e,mediaSource:t})),t&&t.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:e,_objectUrl:t}=this;e!==t&&su.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e;const t="[buffer-controller]";var i;this.appendSource=(i=xp(e.config.preferManagedMediaSource),"undefined"!=typeof self&&i===self.ManagedMediaSource),this.log=su.log.bind(su,t),this.warn=su.warn.bind(su,t),this.error=su.error.bind(su,t),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){const{hls:e}=this;e.on(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Yc.BUFFER_RESET,this.onBufferReset,this),e.on(Yc.BUFFER_APPENDING,this.onBufferAppending,this),e.on(Yc.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Yc.BUFFER_EOS,this.onBufferEos,this),e.on(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Yc.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Yc.FRAG_PARSED,this.onFragParsed,this),e.on(Yc.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){const{hls:e}=this;e.off(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Yc.BUFFER_RESET,this.onBufferReset,this),e.off(Yc.BUFFER_APPENDING,this.onBufferAppending,this),e.off(Yc.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Yc.BUFFER_EOS,this.onBufferEos,this),e.off(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Yc.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Yc.FRAG_PARSED,this.onFragParsed,this),e.off(Yc.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new hy(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){let i=2;(t.audio&&!t.video||!t.altAudio)&&(i=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(e,t){const i=this.media=t.media,s=xp(this.appendSource);if(i&&s){var r;const e=this.mediaSource=new s;this.log(`created media source: ${null==(r=e.constructor)?void 0:r.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming));const t=this._objectUrl=self.URL.createObjectURL(e);if(this.appendSource)try{i.removeAttribute("src");const s=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||s&&e instanceof s,uy(i),function(e,t){const i=self.document.createElement("source");i.type="video/mp4",i.src=t,e.appendChild(i)}(i,t),i.load()}catch(e){i.src=t}else i.src=t;i.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){const{media:e,mediaSource:t,_objectUrl:i}=this;if(t){if(this.log("media source detaching"),"open"===t.readyState)try{t.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),i&&self.URL.revokeObjectURL(i),this.mediaSrc===i?(e.removeAttribute("src"),this.appendSource&&uy(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(Yc.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach((e=>{this.resetBuffer(e)})),this._initSourceBuffer()}resetBuffer(e){const t=this.sourceBuffer[e];try{var i;if(t)this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,null!=(i=this.mediaSource)&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}catch(t){this.warn(`onBufferReset ${e}`,t)}}onBufferCodecs(e,t){const i=this.getSourceBufferTypes().length,s=Object.keys(t);if(s.forEach((e=>{if(i){const i=this.tracks[e];if(i&&"function"==typeof i.buffer.changeType){var s;const{id:r,codec:a,levelCodec:o,container:n,metadata:l}=t[e],d=Np(i.codec,i.levelCodec),h=null==d?void 0:d.replace(cy,"$1");let c=Np(a,o);const u=null==(s=c)?void 0:s.replace(cy,"$1");if(c&&h!==u){"audio"===e.slice(0,5)&&(c=Op(c,this.appendSource));const t=`${n};codecs=${c}`;this.appendChangeType(e,t),this.log(`switching codec ${d} to ${c}`),this.tracks[e]={buffer:i.buffer,codec:a,container:n,levelCodec:o,metadata:l,id:r}}}}else this.pendingTracks[e]=t[e]})),i)return;const r=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==r&&(this.log(`${r} bufferCodec event(s) expected ${s.join(",")}`),this.bufferCodecEventsExpected=r),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}appendChangeType(e,t){const{operationQueue:i}=this,s={execute:()=>{const s=this.sourceBuffer[e];s&&(this.log(`changing ${e} sourceBuffer type to ${t}`),s.changeType(t)),i.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};i.append(s,e,!!this.pendingTracks[e])}onBufferAppending(e,t){const{hls:i,operationQueue:s,tracks:r}=this,{data:a,type:o,frag:n,part:l,chunkMeta:d}=t,h=d.buffering[o],c=self.performance.now();h.start=c;const u=n.stats.buffering,p=l?l.stats.buffering:null;0===u.start&&(u.start=c),p&&0===p.start&&(p.start=c);const m=r.audio;let g=!1;"audio"===o&&"audio/mpeg"===(null==m?void 0:m.container)&&(g=!this.lastMpegAudioChunk||1===d.id||this.lastMpegAudioChunk.sn!==d.sn,this.lastMpegAudioChunk=d);const f=n.start,y={execute:()=>{if(h.executeStart=self.performance.now(),g){const e=this.sourceBuffer[o];if(e){const t=f-e.timestampOffset;Math.abs(t)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${f} (delta: ${t}) sn: ${n.sn})`),e.timestampOffset=f)}}this.appendExecutor(a,o)},onStart:()=>{},onComplete:()=>{const e=self.performance.now();h.executeEnd=h.end=e,0===u.first&&(u.first=e),p&&0===p.first&&(p.first=e);const{sourceBuffer:t}=this,i={};for(const e in t)i[e]=wg.getBuffered(t[e]);this.appendErrors[o]=0,"audio"===o||"video"===o?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(Yc.BUFFER_APPENDED,{type:o,frag:n,part:l,chunkMeta:d,parent:n.type,timeRanges:i})},onError:e=>{const t={type:Qc.MEDIA_ERROR,parent:n.type,details:Xc.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:n,part:l,chunkMeta:d,error:e,err:e,fatal:!1};if(e.code===DOMException.QUOTA_EXCEEDED_ERR)t.details=Xc.BUFFER_FULL_ERROR;else{const e=++this.appendErrors[o];t.details=Xc.BUFFER_APPEND_ERROR,this.warn(`Failed ${e}/${i.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),e>=i.config.appendErrorMaxRetry&&(t.fatal=!0)}i.trigger(Yc.ERROR,t)}};s.append(y,o,!!this.pendingTracks[o])}onBufferFlushing(e,t){const{operationQueue:i}=this,s=e=>({execute:this.removeExecutor.bind(this,e,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(Yc.BUFFER_FLUSHED,{type:e})},onError:t=>{this.warn(`Failed to remove from ${e} SourceBuffer`,t)}});t.type?i.append(s(t.type),t.type):this.getSourceBufferTypes().forEach((e=>{i.append(s(e),e)}))}onFragParsed(e,t){const{frag:i,part:s}=t,r=[],a=s?s.elementaryStreams:i.elementaryStreams;a[uu]?r.push("audiovideo"):(a[hu]&&r.push("audio"),a[cu]&&r.push("video"));0===r.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers((()=>{const e=self.performance.now();i.stats.buffering.end=e,s&&(s.stats.buffering.end=e);const t=s?s.stats:i.stats;this.hls.trigger(Yc.FRAG_BUFFERED,{frag:i,part:s,stats:t,id:i.type})}),r)}onFragChanged(e,t){this.trimBuffers()}onBufferEos(e,t){this.getSourceBufferTypes().reduce(((e,i)=>{const s=this.sourceBuffer[i];return!s||t.type&&t.type!==i||(s.ending=!0,s.ended||(s.ended=!0,this.log(`${i} sourceBuffer now EOS`))),e&&!(s&&!s.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((()=>{this.getSourceBufferTypes().forEach((e=>{const t=this.sourceBuffer[e];t&&(t.ending=!1)}));const{mediaSource:e}=this;e&&"open"===e.readyState?(this.log("Calling mediaSource.endOfStream()"),e.endOfStream()):e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`)})))}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){const{hls:e,details:t,media:i}=this;if(!i||null===t)return;if(!this.getSourceBufferTypes().length)return;const s=e.config,r=i.currentTime,a=t.levelTargetDuration,o=t.live&&null!==s.liveBackBufferLength?s.liveBackBufferLength:s.backBufferLength;if(Jc(o)&&o>0){const e=Math.max(o,a),t=Math.floor(r/a)*a-e;this.flushBackBuffer(r,a,t)}if(Jc(s.frontBufferFlushThreshold)&&s.frontBufferFlushThreshold>0){const e=Math.max(s.maxBufferLength,s.frontBufferFlushThreshold),t=Math.max(e,a),i=Math.floor(r/a)*a+t;this.flushFrontBuffer(r,a,i)}}flushBackBuffer(e,t,i){const{details:s,sourceBuffer:r}=this;this.getSourceBufferTypes().forEach((a=>{const o=r[a];if(o){const r=wg.getBuffered(o);if(r.length>0&&i>r.start(0)){if(this.hls.trigger(Yc.BACK_BUFFER_REACHED,{bufferEnd:i}),null!=s&&s.live)this.hls.trigger(Yc.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(o.ended&&r.end(r.length-1)-e<2*t)return void this.log(`Cannot flush ${a} back buffer while SourceBuffer is in ended state`);this.hls.trigger(Yc.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:a})}}}))}flushFrontBuffer(e,t,i){const{sourceBuffer:s}=this;this.getSourceBufferTypes().forEach((r=>{const a=s[r];if(a){const s=wg.getBuffered(a),o=s.length;if(o<2)return;const n=s.start(o-1),l=s.end(o-1);if(i>n||e>=n&&e<=l)return;if(a.ended&&e-l<2*t)return void this.log(`Cannot flush ${r} front buffer while SourceBuffer is in ended state`);this.hls.trigger(Yc.BUFFER_FLUSHING,{startOffset:n,endOffset:1/0,type:r})}}))}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||"open"!==this.mediaSource.readyState)return;const{details:e,hls:t,media:i,mediaSource:s}=this,r=e.fragments[0].start+e.totalduration,a=i.duration,o=Jc(s.duration)?s.duration:0;e.live&&t.config.liveDurationInfinity?(s.duration=1/0,this.updateSeekableRange(e)):(r>o&&r>a||!Jc(a))&&(this.log(`Updating Media Source duration to ${r.toFixed(3)}`),s.duration=r)}updateSeekableRange(e){const t=this.mediaSource,i=e.fragments;if(i.length&&e.live&&null!=t&&t.setLiveSeekableRange){const s=Math.max(0,i[0].start),r=Math.max(s,s+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${s}-${r}.`),t.setLiveSeekableRange(s,r)}}checkPendingTracks(){const{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:i}=this,s=Object.keys(i).length;if(s&&(!e||2===s||"audiovideo"in i)){this.createSourceBuffers(i),this.pendingTracks={};const e=this.getSourceBufferTypes();if(e.length)this.hls.trigger(Yc.BUFFER_CREATED,{tracks:this.tracks}),e.forEach((e=>{t.executeNext(e)}));else{const e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}}createSourceBuffers(e){const{sourceBuffer:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(const r in e)if(!t[r]){var s;const a=e[r];if(!a)throw Error(`source buffer exists for track ${r}, however track does not`);let o=-1===(null==(s=a.levelCodec)?void 0:s.indexOf(","))?a.levelCodec:a.codec;o&&"audio"===r.slice(0,5)&&(o=Op(o,this.appendSource));const n=`${a.container};codecs=${o}`;this.log(`creating sourceBuffer(${n})`);try{const e=t[r]=i.addSourceBuffer(n),s=r;this.addBufferListener(s,"updatestart",this._onSBUpdateStart),this.addBufferListener(s,"updateend",this._onSBUpdateEnd),this.addBufferListener(s,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(s,"bufferedchange",((e,t)=>{const i=t.removedRanges;null!=i&&i.length&&this.hls.trigger(Yc.BUFFER_FLUSHED,{type:r})})),this.tracks[r]={buffer:e,codec:o,container:a.container,levelCodec:a.levelCodec,metadata:a.metadata,id:a.id}}catch(e){this.error(`error while trying to add sourceBuffer: ${e.message}`),this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:r,mimeType:n})}}}get mediaSrc(){var e;const t=(null==(e=this.media)?void 0:e.firstChild)||this.media;return null==t?void 0:t.src}_onSBUpdateStart(e){const{operationQueue:t}=this;t.current(e).onStart()}_onSBUpdateEnd(e){var t;if("closed"===(null==(t=this.mediaSource)?void 0:t.readyState))return void this.resetBuffer(e);const{operationQueue:i}=this;i.current(e).onComplete(),i.shiftAndExecuteNext(e)}_onSBUpdateError(e,t){var i;const s=new Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(i=this.mediaSource)?void 0:i.readyState}`);this.error(`${s}`,t),this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:s,fatal:!1});const r=this.operationQueue.current(e);r&&r.onError(s)}removeExecutor(e,t,i){const{media:s,mediaSource:r,operationQueue:a,sourceBuffer:o}=this,n=o[e];if(!s||!r||!n)return this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),void a.shiftAndExecuteNext(e);const l=Jc(s.duration)?s.duration:1/0,d=Jc(r.duration)?r.duration:1/0,h=Math.max(0,t),c=Math.min(i,l,d);c>h&&(!n.ending||n.ended)?(n.ended=!1,this.log(`Removing [${h},${c}] from the ${e} SourceBuffer`),n.remove(h,c)):a.shiftAndExecuteNext(e)}appendExecutor(e,t){const i=this.sourceBuffer[t];if(i)i.ended=!1,i.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`)}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);const{operationQueue:i}=this,s=t.map((e=>i.appendBlocker(e)));Promise.all(s).then((()=>{e(),t.forEach((e=>{const t=this.sourceBuffer[e];null!=t&&t.updating||i.shiftAndExecuteNext(e)}))}))}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(e,t,i){const s=this.sourceBuffer[e];if(!s)return;const r=i.bind(this,e);this.listeners[e].push({event:t,listener:r}),s.addEventListener(t,r)}removeBufferListeners(e){const t=this.sourceBuffer[e];t&&this.listeners[e].forEach((e=>{t.removeEventListener(e.event,e.listener)}))}},capLevelController:nA,errorController:class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=su.log.bind(su,"[info]:"),this.warn=su.warn.bind(su,"[warning]:"),this.error=su.error.bind(su,"[error]:"),this.registerListeners()}registerListeners(){const e=this.hls;e.on(Yc.ERROR,this.onError,this),e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const e=this.hls;e&&(e.off(Yc.ERROR,this.onError,this),e.off(Yc.ERROR,this.onErrorOut,this),e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===sm?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,s;if(t.fatal)return;const r=this.hls,a=t.context;switch(t.details){case Xc.FRAG_LOAD_ERROR:case Xc.FRAG_LOAD_TIMEOUT:case Xc.KEY_LOAD_ERROR:case Xc.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case Xc.FRAG_PARSING_ERROR:if(null!=(i=t.frag)&&i.gap)return void(t.errorAction={action:Km,flags:Zm});case Xc.FRAG_GAP:case Xc.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=Ym);case Xc.LEVEL_EMPTY_ERROR:case Xc.LEVEL_PARSING_ERROR:{var o,n;const e=t.parent===sm?t.level:r.loadLevel;t.details===Xc.LEVEL_EMPTY_ERROR&&null!=(o=t.context)&&null!=(n=o.levelDetails)&&n.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case Xc.LEVEL_LOAD_ERROR:case Xc.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==a?void 0:a.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,a.level)));case Xc.AUDIO_TRACK_LOAD_ERROR:case Xc.AUDIO_TRACK_LOAD_TIMEOUT:case Xc.SUBTITLE_LOAD_ERROR:case Xc.SUBTITLE_TRACK_LOAD_TIMEOUT:if(a){const e=r.levels[r.loadLevel];if(e&&(a.type===tm&&e.hasAudioGroup(a.groupId)||a.type===im&&e.hasSubtitleGroup(a.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.loadLevel),t.errorAction.action=Ym,void(t.errorAction.flags=eg)}return;case Xc.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const e=r.levels[r.loadLevel],i=null==e?void 0:e.attrs["HDCP-LEVEL"];i?t.errorAction={action:Ym,flags:tg,hdcpLevel:i}:this.keySystemError(t)}return;case Xc.BUFFER_ADD_CODEC_ERROR:case Xc.REMUX_ALLOC_ERROR:case Xc.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,null!=(s=t.level)?s:r.loadLevel));case Xc.INTERNAL_EXCEPTION:case Xc.BUFFER_APPENDING_ERROR:case Xc.BUFFER_FULL_ERROR:case Xc.LEVEL_SWITCH_ERROR:case Xc.BUFFER_STALLED_ERROR:case Xc.BUFFER_SEEK_OVER_HOLE:case Xc.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:Km,flags:Zm})}t.type===Qc.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){const t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){const i=Gm(this.hls.config.playlistLoadPolicy,e),s=this.playlistError++;if(zm(i,s,jm(e),e.response))return{action:Xm,flags:Zm,retryConfig:i,retryCount:s};const r=this.getLevelSwitchAction(e,t);return i&&(r.retryConfig=i,r.retryCount=s),r}getFragRetryOrSwitchAction(e){const t=this.hls,i=this.getVariantLevelIndex(e.frag),s=t.levels[i],{fragLoadPolicy:r,keyLoadPolicy:a}=t.config,o=Gm(e.details.startsWith("key")?a:r,e),n=t.levels.reduce(((e,t)=>e+t.fragmentError),0);if(s){e.details!==Xc.FRAG_GAP&&s.fragmentError++;if(zm(o,n,jm(e),e.response))return{action:Xm,flags:Zm,retryConfig:o,retryCount:n}}const l=this.getLevelSwitchAction(e,i);return o&&(l.retryConfig=o,l.retryCount=n),l}getLevelSwitchAction(e,t){const i=this.hls;null==t&&(t=i.loadLevel);const s=this.hls.levels[t];if(s){var r,a;const t=e.details;s.loadError++,t===Xc.BUFFER_APPEND_ERROR&&s.fragmentError++;let l=-1;const{levels:d,loadLevel:h,minAutoLevel:c,maxAutoLevel:u}=i;i.autoLevelEnabled||(i.loadLevel=-1);const p=null==(r=e.frag)?void 0:r.type,m=(p===rm&&t===Xc.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(t===Xc.BUFFER_ADD_CODEC_ERROR||t===Xc.BUFFER_APPEND_ERROR))&&d.some((({audioCodec:e})=>s.audioCodec!==e)),g="video"===e.sourceBufferName&&(t===Xc.BUFFER_ADD_CODEC_ERROR||t===Xc.BUFFER_APPEND_ERROR)&&d.some((({codecSet:e,audioCodec:t})=>s.codecSet!==e&&s.audioCodec===t)),{type:f,groupId:y}=null!=(a=e.context)?a:{};for(let i=d.length;i--;){const r=(i+h)%d.length;if(r!==h&&r>=c&&r<=u&&0===d[r].loadError){var o,n;const i=d[r];if(t===Xc.FRAG_GAP&&p===sm&&e.frag){const t=d[r].details;if(t){const i=Hm(e.frag,t.fragments,e.frag.start);if(null!=i&&i.gap)continue}}else{if(f===tm&&i.hasAudioGroup(y)||f===im&&i.hasSubtitleGroup(y))continue;if(p===rm&&null!=(o=s.audioGroups)&&o.some((e=>i.hasAudioGroup(e)))||p===am&&null!=(n=s.subtitleGroups)&&n.some((e=>i.hasSubtitleGroup(e)))||m&&s.audioCodec===i.audioCodec||!m&&s.audioCodec!==i.audioCodec||g&&s.codecSet===i.codecSet)continue}l=r;break}}if(l>-1&&i.loadLevel!==l)return e.levelRetry=!0,this.playlistError=0,{action:Ym,flags:Zm,nextAutoLevel:l}}return{action:Ym,flags:eg}}onErrorOut(e,t){var i;switch(null==(i=t.errorAction)?void 0:i.action){case Km:break;case Ym:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===Xc.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()}sendAlternateToPenaltyBox(e){const t=this.hls,i=e.errorAction;if(!i)return;const{flags:s,hdcpLevel:r,nextAutoLevel:a}=i;switch(s){case Zm:this.switchLevel(e,a);break;case tg:r&&(t.maxHdcpLevel=wm[wm.indexOf(r)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`)}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){void 0!==t&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){const i=this.hls.config;if(i.capLevelOnFPSDrop){const e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}checkFPS(e,t,i){const s=performance.now();if(t){if(this.lastTime){const e=s-this.lastTime,r=i-this.lastDroppedFrames,a=t-this.lastDecodedFrames,o=1e3*r/e,n=this.hls;if(n.trigger(Yc.FPS_DROP,{currentDropped:r,currentDecoded:a,totalDroppedFrames:i}),o>0&&r>n.config.fpsDroppedMonitoringThreshold*a){let e=n.currentLevel;su.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===n.autoLevelCapping||n.autoLevelCapping>=e)&&(e-=1,n.trigger(Yc.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:n.currentLevel}),n.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=s,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){const e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){const t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Du,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:qA,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends Xg{constructor(e,t,i){super(e,t,i,"[subtitle-stream-controller]",am),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){const{hls:e}=this;e.on(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Yc.ERROR,this.onError,this),e.on(Yc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Yc.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Yc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Yc.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Yc.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:e}=this;e.off(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Yc.ERROR,this.onError,this),e.off(Yc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Yc.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Yc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Yc.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Yc.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(e){this.stopLoad(),this.state=Gg,this.setInterval(500),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){const{frag:i,success:s}=t;if(this.fragPrevious=i,this.state=Gg,!s)return;const r=this.tracksBuffered[this.currentTrackId];if(!r)return;let a;const o=i.start;for(let e=0;e=r[e].start&&o<=r[e].end){a=r[e];break}const n=i.start+i.duration;a?a.end=n:(a={start:o,end:n},r.push(a)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null)}onBufferFlushing(e,t){const{startOffset:i,endOffset:s}=t;if(0===i&&s!==Number.POSITIVE_INFINITY){const e=s-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach((t=>{for(let i=0;inew Dm(e))):(this.tracksBuffered=[],this.levels=t.map((e=>{const t=new Dm(e);return this.tracksBuffered[t.id]=[],t})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,am),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,null==(i=this.levels)||!i.length||-1===this.currentTrackId)return void this.clearInterval();const s=this.levels[this.currentTrackId];null!=s&&s.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,s&&this.setInterval(500)}onSubtitleTrackLoaded(e,t){var i;const{currentTrackId:s,levels:r}=this,{details:a,id:o}=t;if(!r)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);const n=r[o];if(o>=r.length||!n)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let l=0;if(a.live||null!=(i=n.details)&&i.live){const e=this.mainDetails;if(a.deltaUpdateFailed||!e)return;const t=e.fragments[0];var d;if(n.details)l=this.alignPlaylists(a,n.details,null==(d=this.levelLastLoaded)?void 0:d.details),0===l&&t&&(l=t.start,Fm(a,l));else a.hasProgramDateTime&&e.hasProgramDateTime?(xg(a,e),l=a.fragments[0].start):t&&(l=t.start,Fm(a,l))}if(n.details=a,this.levelLastLoaded=n,o===s&&(this.startFragRequested||!this.mainDetails&&a.live||this.setStartPosition(this.mainDetails||a,l),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===Gg)){Hm(null,a.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),n.details=void 0)}}_handleFragmentLoadComplete(e){const{frag:t,payload:i}=e,s=t.decryptdata,r=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&null!=s&&s.key&&s.iv&&"AES-128"===s.method){const e=performance.now();this.decrypter.decrypt(new Uint8Array(i),s.key.buffer,s.iv.buffer).catch((e=>{throw r.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e})).then((i=>{const s=performance.now();r.trigger(Yc.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:e,tdecrypt:s}})})).catch((e=>{this.warn(`${e.name}: ${e.message}`),this.state=Gg}))}}doTick(){if(this.media){if(this.state===Gg){const{currentTrackId:e,levels:t}=this,i=null==t?void 0:t[e];if(!i||!t.length||!i.details)return;const{config:s}=this,r=this.getLoadPosition(),a=wg.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,s.maxBufferHole),{end:o,len:n}=a,l=this.getFwdBufferInfo(this.media,sm),d=i.details;if(n>this.getMaxBufferLength(null==l?void 0:l.len)+d.levelTargetDuration)return;const h=d.fragments,c=h.length,u=d.edge;let p=null;const m=this.fragPrevious;if(ou-e?0:e;p=Hm(m,h,Math.max(h[0].start,o),t),!p&&m&&m.startthis.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null;const t=pm(this.media.textTracks);for(let i=0;i-1&&this.toggleTrackModes()}registerListeners(){const{hls:e}=this;e.on(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Yc.LEVEL_LOADING,this.onLevelLoading,this),e.on(Yc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Yc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Yc.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Yc.LEVEL_LOADING,this.onLevelLoading,this),e.off(Yc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Yc.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Yc.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId);pm(this.media.textTracks).forEach((e=>{cm(e)})),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){const{id:i,groupId:s,details:r}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s)return void this.warn(`Subtitle track with id:${i} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);const o=a.details;a.details=t.details,this.log(`Subtitle track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const i=t.subtitleGroups||null,s=this.groupIds;let r=this.currentTrack;if(!i||(null==s?void 0:s.length)!==(null==i?void 0:i.length)||null!=i&&i.some((e=>-1===(null==s?void 0:s.indexOf(e))))){this.groupIds=i,this.trackId=-1,this.currentTrack=null;const e=this.tracks.filter((e=>!i||-1!==i.indexOf(e.groupId)));if(e.length)this.selectDefaultTrack&&!e.some((e=>e.default))&&(this.selectDefaultTrack=!1),e.forEach(((e,t)=>{e.id=t}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=e;const t=this.hls.config.subtitlePreference;if(!r&&t){this.selectDefaultTrack=!1;const i=cg(t,e);if(i>-1)r=e[i];else{const e=cg(t,this.tracks);r=this.tracks[e]}}let s=this.findTrackId(r);-1===s&&r&&(s=this.findTrackId(null));const a={subtitleTracks:e};this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==i?void 0:i.join(",")}" group-id`),this.hls.trigger(Yc.SUBTITLE_TRACKS_UPDATED,a),-1!==s&&-1===this.trackId&&this.setSubtitleTrack(s)}else this.shouldReloadPlaylist(r)&&this.setSubtitleTrack(this.trackId)}findTrackId(e){const t=this.tracksInGroup,i=this.selectDefaultTrack;for(let s=0;s-1){const e=this.tracksInGroup[s];return this.setSubtitleTrack(s),e}if(i)return null;{const i=cg(e,t);if(i>-1)return t[i]}}}return null}loadPlaylist(e){super.loadPlaylist();const t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){const i=t.id,s=t.groupId;let r=t.url;if(e)try{r=e.addDirectives(r)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}this.log(`Loading subtitle playlist for id ${i}`),this.hls.trigger(Yc.SUBTITLE_TRACK_LOADING,{url:r,id:i,groupId:s,deliveryDirectives:e||null})}}toggleTrackModes(){const{media:e}=this;if(!e)return;const t=pm(e.textTracks),i=this.currentTrack;let s;if(i&&(s=t.filter((e=>ly(i,e)))[0],s||this.warn(`Unable to find subtitle TextTrack with name "${i.name}" and language "${i.lang}"`)),[].slice.call(t).forEach((e=>{"disabled"!==e.mode&&e!==s&&(e.mode="disabled")})),s){const e=this.subtitleDisplay?"showing":"hidden";s.mode!==e&&(s.mode=e)}}setSubtitleTrack(e){const t=this.tracksInGroup;if(!this.media)return void(this.queuedDefaultTrack=e);if(e<-1||e>=t.length||!Jc(e))return void this.warn(`Invalid subtitle track id: ${e}`);this.clearTimer(),this.selectDefaultTrack=!1;const i=this.currentTrack,s=t[e]||null;if(this.trackId=e,this.currentTrack=s,this.toggleTrackModes(),!s)return void this.hls.trigger(Yc.SUBTITLE_TRACK_SWITCH,{id:e});const r=!!s.details&&!s.details.live;if(e===this.trackId&&s===i&&r)return;this.log(`Switching to subtitle-track ${e}`+(s?` "${s.name}" lang:${s.lang} group:${s.groupId}`:""));const{id:a,groupId:o="",name:n,type:l,url:d}=s;this.hls.trigger(Yc.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:n,type:l,url:d});const h=this.switchParams(s.url,null==i?void 0:i.details,s.details);this.loadPlaylist(h)}},timelineController:class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Yc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Yc.FRAG_LOADING,this.onFragLoading,this),e.on(Yc.FRAG_LOADED,this.onFragLoaded,this),e.on(Yc.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(Yc.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(Yc.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Yc.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:e}=this;e.off(Yc.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Yc.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Yc.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Yc.FRAG_LOADING,this.onFragLoading,this),e.off(Yc.FRAG_LOADED,this.onFragLoaded,this),e.off(Yc.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(Yc.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(Yc.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Yc.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(Yc.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){const e=new Py(this,"textTrack1"),t=new Py(this,"textTrack2"),i=new Py(this,"textTrack3"),s=new Py(this,"textTrack4");this.cea608Parser1=new xy(1,e,t),this.cea608Parser2=new xy(3,i,s)}}addCues(e,t,i,s,r){let a=!1;for(let e=r.length;e--;){const s=r[e],h=(o=s[0],n=s[1],l=t,d=i,Math.min(n,d)-Math.max(o,l));if(h>=0&&(s[0]=Math.min(s[0],t),s[1]=Math.max(s[1],i),a=!0,h/(i-t)>.5))return}var o,n,l,d;if(a||r.push([t,i]),this.config.renderTextTracksNatively){const r=this.captionsTracks[e];this.Cues.newCue(r,t,i,s)}else{const r=this.Cues.newCue(null,t,i,s);this.hls.trigger(Yc.CUES_PARSED,{type:"captions",cues:r,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:r}){const{unparsedVttFrags:a}=this;"main"===i&&(this.initPTS[t.cc]={baseTime:s,timescale:r}),a.length&&(this.unparsedVttFrags=[],a.forEach((e=>{this.onFragLoaded(Yc.FRAG_LOADED,e)})))}getExistingTrack(e,t){const{media:i}=this;if(i)for(let s=0;s{cm(e[t]),delete e[t]})),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:e}=this;if(!e)return;const t=e.textTracks;if(t)for(let e=0;ee.textCodec===qy));if(this.config.enableWebVTT||s&&this.config.enableIMSC1){if(oy(this.tracks,i))return void(this.tracks=i);if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){const e=this.media,t=e?pm(e.textTracks):null;if(this.tracks.forEach(((e,i)=>{let s;if(t){let i=null;for(let s=0;snull!==e)).map((e=>e.label));e.length&&su.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const e=this.tracks.map((e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e})));this.hls.trigger(Yc.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach((e=>{const t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;const i=`textTrack${t[1]}`,s=this.captionsProperties[i];s&&(s.label=e.name,e.lang&&(s.languageCode=e.lang),s.media=e)}))}closedCaptionsForLevel(e){const t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===sm){var i,s;const{cea608Parser1:e,cea608Parser2:r,lastSn:a}=this,{cc:o,sn:n}=t.frag,l=null!=(i=null==(s=t.part)?void 0:s.index)?i:-1;e&&r&&(n!==a+1||n===a&&l!==this.lastPartIndex+1||o!==this.lastCc)&&(e.reset(),r.reset()),this.lastCc=o,this.lastSn=n,this.lastPartIndex=l}}onFragLoaded(e,t){const{frag:i,payload:s}=t;if(i.type===am)if(s.byteLength){const e=i.decryptdata,r="stats"in t;if(null==e||!e.encrypted||r){const e=this.tracks[i.level],r=this.vttCCs;r[i.cc]||(r[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),e&&e.textCodec===qy?this._parseIMSC1(i,s):this._parseVTTs(t)}}else this.hls.trigger(Yc.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){const i=this.hls;Xy(t,this.initPTS[e.cc],(t=>{this._appendCues(t,e.level),i.trigger(Yc.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})}),(t=>{su.log(`Failed to parse IMSC1: ${t}`),i.trigger(Yc.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})}))}_parseVTTs(e){var t;const{frag:i,payload:s}=e,{initPTS:r,unparsedVttFrags:a}=this,o=r.length-1;if(!r[i.cc]&&-1===o)return void a.push(e);const n=this.hls;Jy(null!=(t=i.initSegment)&&t.data?gp(i.initSegment.data,new Uint8Array(s)):s,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,(e=>{this._appendCues(e,i.level),n.trigger(Yc.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})}),(t=>{const r="Missing initPTS for VTT MPEGTS"===t.message;r?a.push(e):this._fallbackToIMSC1(i,s),su.log(`Failed to parse VTT cue: ${t}`),r&&o>i.cc||n.trigger(Yc.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:t})}))}_fallbackToIMSC1(e,t){const i=this.tracks[e.level];i.textCodec||Xy(t,this.initPTS[e.cc],(()=>{i.textCodec=qy,this._parseIMSC1(e,t)}),(()=>{i.textCodec="wvtt"}))}_appendCues(e,t){const i=this.hls;if(this.config.renderTextTracksNatively){const i=this.textTracks[t];if(!i||"disabled"===i.mode)return;e.forEach((e=>hm(i,e)))}else{const s=this.tracks[t];if(!s)return;const r=s.default?"default":"subtitles"+t;i.trigger(Yc.CUES_PARSED,{type:"subtitles",cues:e,track:r})}}onFragDecrypted(e,t){const{frag:i}=t;i.type===am&&this.onFragLoaded(Yc.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){this.initCea608Parsers();const{cea608Parser1:i,cea608Parser2:s}=this;if(!this.enabled||!i||!s)return;const{frag:r,samples:a}=t;if(r.type!==sm||"NONE"!==this.closedCaptionsForLevel(r))for(let e=0;eum(e[s],t,i)))}if(this.config.renderTextTracksNatively&&0===t&&void 0!==s){const{textTracks:e}=this;Object.keys(e).forEach((i=>um(e[i],t,s)))}}}extractCea608Data(e){const t=[[],[]],i=31&e[0];let s=2;for(let r=0;r0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=Gg):(this.loadedmetadata=!1,this.state=$g),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}doTick(){switch(this.state){case Gg:this.doTickIdle();break;case $g:{var e;const{levels:t,trackId:i}=this,s=null==t||null==(e=t[i])?void 0:e.details;if(s){if(this.waitForCdnTuneIn(s))break;this.state=Yg}break}case zg:{var t;const e=performance.now(),i=this.retryDate;if(!i||e>=i||null!=(t=this.media)&&t.seeking){const{levels:e,trackId:t}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==e?void 0:e[t])||null),this.state=Gg}break}case Yg:{const e=this.waitingData;if(e){const{frag:t,part:i,cache:s,complete:r}=e;if(void 0!==this.initPTS[t.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=Vg;const e={frag:t,part:i,payload:s.flush(),networkDetails:null};this._handleFragmentLoadProgress(e),r&&super._handleFragmentLoadComplete(e)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${t.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{const e=this.getLoadPosition(),i=wg.bufferInfo(this.mediaBuffer,e,this.config.maxBufferHole);Jm(i.end,this.config.maxFragLookUpTolerance,t)<0&&(this.log(`Waiting fragment cc (${t.cc}) @ ${t.start} cancelled because another fragment at ${i.end} is needed`),this.clearWaitingFragment())}}else this.state=Gg}}this.onTickEnd()}clearWaitingFragment(){const e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Gg)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){const{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){const{hls:e,levels:t,media:i,trackId:s}=this,r=e.config;if(!i&&(this.startFragRequested||!r.startFragPrefetch)||null==t||!t[s])return;const a=t[s],o=a.details;if(!o||o.live&&this.levelLastLoaded!==a||this.waitForCdnTuneIn(o))return void(this.state=$g);const n=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&n&&(this.bufferFlushed=!1,this.afterBufferFlushed(n,hu,rm));const l=this.getFwdBufferInfo(n,rm);if(null===l)return;const{bufferedTrack:d,switchingTrack:h}=this;if(!h&&this._streamEnded(l,o))return e.trigger(Yc.BUFFER_EOS,{type:"audio"}),void(this.state=qg);const c=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,sm),u=l.len,p=this.getMaxBufferLength(null==c?void 0:c.len),m=o.fragments,g=m[0].start;let f=this.flushing?this.getLoadPosition():l.end;if(h&&i){const e=this.getLoadPosition();d&&!ny(h.attrs,d.attrs)&&(f=e),o.PTSKnown&&eg||l.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=g+.05)}if(u>=p&&!h&&fc.end+o.targetduration;if(b||(null==c||!c.len)&&l.len){const e=this.getAppendedFrag(y.start,sm);if(null===e)return;if(A||(A=!!e.gap||!!b&&0===c.len),b&&!A||A&&l.nextStart&&l.nextStartnew Dm(e)))}onAudioTrackSwitching(e,t){const i=!!t.url;this.trackId=t.id;const{fragCurrent:s}=this;s&&(s.abortRequests(),this.removeUnbufferedFrags(s.start)),this.resetLoadingState(),i?this.setInterval(100):this.resetTransmuxer(),i?(this.switchingTrack=t,this.state=Gg,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=jg),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(e,t){this.mainDetails=t.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(Yc.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(e,t){var i;if(null==this.mainDetails)return void(this.cachedTrackLoadedData=t);const{levels:s}=this,{details:r,id:a}=t;if(!s)return void this.warn(`Audio tracks were reset while loading level ${a}`);this.log(`Audio track ${a} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);const o=s[a];let n=0;if(r.live||null!=(i=o.details)&&i.live){this.checkLiveUpdate(r);const e=this.mainDetails;if(r.deltaUpdateFailed||!e)return;var l;if(!o.details&&r.hasProgramDateTime&&e.hasProgramDateTime)xg(r,e),n=r.fragments[0].start;else n=this.alignPlaylists(r,o.details,null==(l=this.levelLastLoaded)?void 0:l.details)}o.details=r,this.levelLastLoaded=o,this.startFragRequested||!this.mainDetails&&r.live||this.setStartPosition(this.mainDetails||r,n),this.state!==$g||this.waitForCdnTuneIn(r)||(this.state=Gg),this.tick()}_handleFragmentLoadProgress(e){var t;const{frag:i,part:s,payload:r}=e,{config:a,trackId:o,levels:n}=this;if(!n)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);const l=n[o];if(!l)return void this.warn("Audio track is undefined on fragment load progress");const d=l.details;if(!d)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(i.start);const h=a.defaultAudioCodec||l.audioCodec||"mp4a.40.2";let c=this.transmuxer;c||(c=this.transmuxer=new ay(this.hls,rm,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const u=this.initPTS[i.cc],p=null==(t=i.initSegment)?void 0:t.data;if(void 0!==u){const e=!1,t=s?s.index:-1,a=-1!==t,o=new Eg(i.level,i.sn,i.stats.chunkCount,r.byteLength,t,a);c.push(r,p,h,"",i,s,d.totalduration,e,o,u)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${d.startSN} ,${d.endSN}],track ${o}`);const{cache:e}=this.waitingData=this.waitingData||{frag:i,part:s,cache:new Zg,complete:!1};e.push(new Uint8Array(r)),this.waitingVideoCC=this.videoTrackCC,this.state=Yg}}_handleFragmentLoadComplete(e){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(e,t){const i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)}onFragBuffered(e,t){const{frag:i,part:s}=t;if(i.type===rm)if(this.fragContextChanged(i))this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);else{if("initSegment"!==i.sn){this.fragPrevious=i;const e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(Yc.AUDIO_TRACK_SWITCHED,Vc({},e)))}this.fragBufferedComplete(i,s)}else if(!this.loadedmetadata&&i.type===sm){const e=this.videoBuffer||this.media;if(e){wg.getBuffered(e).length&&(this.loadedmetadata=!0)}}}onError(e,t){var i;if(t.fatal)this.state=Kg;else switch(t.details){case Xc.FRAG_GAP:case Xc.FRAG_PARSING_ERROR:case Xc.FRAG_DECRYPT_ERROR:case Xc.FRAG_LOAD_ERROR:case Xc.FRAG_LOAD_TIMEOUT:case Xc.KEY_LOAD_ERROR:case Xc.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(rm,t);break;case Xc.AUDIO_TRACK_LOAD_ERROR:case Xc.AUDIO_TRACK_LOAD_TIMEOUT:case Xc.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==$g||(null==(i=t.context)?void 0:i.type)!==tm||(this.state=Gg);break;case Xc.BUFFER_APPEND_ERROR:case Xc.BUFFER_FULL_ERROR:if(!t.parent||"audio"!==t.parent)return;if(t.details===Xc.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case Xc.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==cu&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==cu){this.flushing=!1,this.bufferFlushed=!0,this.state===qg&&(this.state=Gg);const e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,rm),this.tick())}}_handleTransmuxComplete(e){var t;const i="audio",{hls:s}=this,{remuxResult:r,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o)return void this.resetWhenMissingContext(a);const{frag:n,part:l,level:d}=o,{details:h}=d,{audio:c,text:u,id3:p,initSegment:m}=r;if(!this.fragContextChanged(n)&&h){if(this.state=Hg,this.switchingTrack&&c&&this.completeAudioSwitch(this.switchingTrack),null!=m&&m.tracks){const e=n.initSegment||n;this._bufferInitSegment(d,m.tracks,e,a),s.trigger(Yc.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:m.tracks})}if(c){const{startPTS:e,endPTS:t,startDTS:i,endDTS:s}=c;l&&(l.elementaryStreams[hu]={startPTS:e,endPTS:t,startDTS:i,endDTS:s}),n.setElementaryStreamInfo(hu,e,t,i,s),this.bufferFragmentData(c,n,l,a)}if(null!=p&&null!=(t=p.samples)&&t.length){const e=Hc({id:i,frag:n,details:h},p);s.trigger(Yc.FRAG_PARSING_METADATA,e)}if(u){const e=Hc({id:i,frag:n,details:h},u);s.trigger(Yc.FRAG_PARSING_USERDATA,e)}}else this.fragmentTracker.removeFragment(n)}_bufferInitSegment(e,t,i,s){if(this.state!==Hg)return;t.video&&delete t.video;const r=t.audio;if(!r)return;r.id="audio";const a=e.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${a}/${r.codec}]`),a&&1===a.split(",").length&&(r.levelCodec=a),this.hls.trigger(Yc.BUFFER_CODECS,t);const o=r.initSegment;if(null!=o&&o.byteLength){const e={type:"audio",frag:i,part:null,chunkMeta:s,parent:i.type,data:o};this.hls.trigger(Yc.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,i){const s=this.fragmentTracker.getState(e);var r;if(this.fragCurrent=e,this.switchingTrack||s===gg||s===yg)if("initSegment"===e.sn)this._loadInitSegment(e,t);else if(null!=(r=t.details)&&r.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=Yg;const i=this.mainDetails;i&&i.fragments[0].start!==t.details.fragments[0].start&&xg(t.details,i)}else this.startFragRequested=!0,super.loadFragment(e,t,i);else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){const{media:t,bufferedTrack:i}=this,s=null==i?void 0:i.attrs,r=e.attrs;t&&s&&(s.CHANNELS!==r.CHANNELS||i.name!==e.name||i.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(e){const{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(Yc.AUDIO_TRACK_SWITCHED,Vc({},e))}},audioTrackController:class extends ig{constructor(e){super(e,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:e}=this;e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Yc.LEVEL_LOADING,this.onLevelLoading,this),e.on(Yc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Yc.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Yc.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Yc.LEVEL_LOADING,this.onLevelLoading,this),e.off(Yc.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Yc.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Yc.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){const{id:i,groupId:s,details:r}=t,a=this.tracksInGroup[i];if(!a||a.groupId!==s)return void this.warn(`Audio track with id:${i} and group:${s} not found in active group ${null==a?void 0:a.groupId}`);const o=a.details;a.details=t.details,this.log(`Audio track ${i} "${a.name}" lang:${a.lang} group:${s} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const i=t.audioGroups||null,s=this.groupIds;let r=this.currentTrack;if(!i||(null==s?void 0:s.length)!==(null==i?void 0:i.length)||null!=i&&i.some((e=>-1===(null==s?void 0:s.indexOf(e))))){this.groupIds=i,this.trackId=-1,this.currentTrack=null;const e=this.tracks.filter((e=>!i||-1!==i.indexOf(e.groupId)));if(e.length)this.selectDefaultTrack&&!e.some((e=>e.default))&&(this.selectDefaultTrack=!1),e.forEach(((e,t)=>{e.id=t}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=e;const t=this.hls.config.audioPreference;if(!r&&t){const i=cg(t,e,pg);if(i>-1)r=e[i];else{const e=cg(t,this.tracks);r=this.tracks[e]}}let s=this.findTrackId(r);-1===s&&r&&(s=this.findTrackId(null));const o={audioTracks:e};this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==i?void 0:i.join(",")}`),this.hls.trigger(Yc.AUDIO_TRACKS_UPDATED,o);const n=this.trackId;if(-1!==s&&-1===n)this.setAudioTrack(s);else if(e.length&&-1===n){var a;const t=new Error(`No audio track selected for current audio group-ID(s): ${null==(a=this.groupIds)?void 0:a.join(",")} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}else this.shouldReloadPlaylist(r)&&this.setAudioTrack(this.trackId)}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tm||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||(this.requestScheduled=-1,this.checkRetry(t)))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){const t=this.hls;if(t.config.audioPreference=e,e){const i=this.allAudioTracks;if(this.selectDefaultTrack=!1,i.length){const s=this.currentTrack;if(s&&ug(e,s,pg))return s;const r=cg(e,this.tracksInGroup,pg);if(r>-1){const e=this.tracksInGroup[r];return this.setAudioTrack(r),e}if(s){let s=t.loadLevel;-1===s&&(s=t.firstAutoLevel);const r=function(e,t,i,s,r){const a=t[s],o=t.reduce(((e,t,i)=>{const s=t.uri;return(e[s]||(e[s]=[])).push(i),e}),{})[a.uri];o.length>1&&(s=Math.max.apply(Math,o));const n=a.videoRange,l=a.frameRate,d=a.codecSet.substring(0,4),h=mg(t,s,(t=>{if(t.videoRange!==n||t.frameRate!==l||t.codecSet.substring(0,4)!==d)return!1;const s=t.audioGroups,a=i.filter((e=>!s||-1!==s.indexOf(e.groupId)));return cg(e,a,r)>-1}));return h>-1?h:mg(t,s,(t=>{const s=t.audioGroups,a=i.filter((e=>!s||-1!==s.indexOf(e.groupId)));return cg(e,a,r)>-1}))}(e,t.levels,i,s,pg);if(-1===r)return null;t.nextLoadLevel=r}if(e.channels||e.audioCodec){const t=cg(e,i);if(t>-1)return i[t]}}}return null}setAudioTrack(e){const t=this.tracksInGroup;if(e<0||e>=t.length)return void this.warn(`Invalid audio track id: ${e}`);this.clearTimer(),this.selectDefaultTrack=!1;const i=this.currentTrack,s=t[e],r=s.details&&!s.details.live;if(e===this.trackId&&s===i&&r)return;if(this.log(`Switching to audio-track ${e} "${s.name}" lang:${s.lang} group:${s.groupId} channels:${s.channels}`),this.trackId=e,this.currentTrack=s,this.hls.trigger(Yc.AUDIO_TRACK_SWITCHING,Vc({},s)),r)return;const a=this.switchParams(s.url,null==i?void 0:i.details,s.details);this.loadPlaylist(a)}findTrackId(e){const t=this.tracksInGroup;for(let i=0;i{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:cA.MANIFEST,su:!this.initialized})}catch(e){su.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{const t=e.frag,i=this.hls.levels[t.level],s=this.getObjectType(t),r={d:1e3*t.duration,ot:s};s!==cA.VIDEO&&s!==cA.AUDIO&&s!=cA.MUXED||(r.br=i.bitrate/1e3,r.tb=this.getTopBandwidth(s)/1e3,r.bl=this.getBufferLength(s)),this.apply(e,r)}catch(e){su.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||function(){try{return crypto.randomUUID()}catch(e){try{const e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){let t=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const i=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?i:3&i|8).toString(16)}))}}}(),this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){const e=this.hls;e.on(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Yc.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Yc.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const e=this.hls;e.off(Yc.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Yc.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Yc.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var i,s;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(s=t.tracks.video)?void 0:s.buffer}createData(){var e;return{v:1,sf:uA.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Hc(t,this.createData());const i=t.ot===cA.INIT||t.ot===cA.VIDEO||t.ot===cA.MUXED;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);const{includeKeys:s}=this;s&&(t=Object.keys(t).reduce(((e,i)=>(s.includes(i)&&(e[i]=t[i]),e)),{})),this.useHeaders?(e.headers||(e.headers={}),FA(e.headers,t)):e.url=OA(e.url,t)}getObjectType(e){const{type:t}=e;return"subtitle"===t?cA.TIMED_TEXT:"initSegment"===e.sn?cA.INIT:"audio"===t?cA.AUDIO:"main"===t?this.hls.audioTracks.length?cA.VIDEO:cA.MUXED:void 0}getTopBandwidth(e){let t,i=0;const s=this.hls;if(e===cA.AUDIO)t=s.audioTracks;else{const e=s.maxAutoLevel,i=e>-1?e+1:s.levels.length;t=s.levels.slice(0,i)}for(const e of t)e.bitrate>i&&(i=e.bitrate);return i>0?i:NaN}getBufferLength(e){const t=this.hls.media,i=e===cA.AUDIO?this.audioBuffer:this.videoBuffer;if(!i||!t)return NaN;return 1e3*wg.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len}createPlaylistLoader(){const{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,s){t(e),this.loader.load(e,i,s)}}}createFragmentLoader(){const{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,s){t(e),this.loader.load(e,i,s)}}}},contentSteeringController:class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=su.log.bind(su,"[content-steering]:"),this.registerListeners()}registerListeners(){const e=this.hls;e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Yc.ERROR,this.onError,this)}unregisterListeners(){const e=this.hls;e&&(e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Yc.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Yc.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){const t=this.levels;t&&(this.levels=t.filter((t=>t!==e)))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){const{contentSteering:i}=t;null!==i&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){const{errorAction:i}=t;if((null==i?void 0:i.action)===Ym&&i.flags===eg){const e=this.levels;let s=this.pathwayPriority,r=this.pathwayId;if(t.context){const{groupId:i,pathwayId:s,type:a}=t.context;i&&e?r=this.getPathwayForGroupId(i,a,r):s&&(r=s)}r in this.penalizedPathways||(this.penalizedPathways[r]=performance.now()),!s&&e&&(s=e.reduce(((e,t)=>(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e)),[])),s&&s.length>1&&(this.updatePathwayPriority(s),i.resolved=this.pathwayId!==r),i.resolved||su.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${r} levels: ${e?e.length:e} priorities: ${JSON.stringify(s)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){const i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter((t=>e===t.pathwayId))}updatePathwayPriority(e){let t;this.pathwayPriority=e;const i=this.penalizedPathways,s=performance.now();Object.keys(i).forEach((e=>{s-i[e]>3e5&&delete i[e]}));for(let s=0;s0){this.log(`Setting Pathway to "${r}"`),this.pathwayId=r,Nm(t),this.hls.trigger(Yc.LEVELS_UPDATED,{levels:t});const e=this.hls.levels[a];o&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==o.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=a);break}}}getPathwayForGroupId(e,t,i){const s=this.getLevelsForPathway(i).concat(this.levels||[]);for(let i=0;i{const{ID:r,"BASE-ID":a,"URI-REPLACEMENT":o}=e;if(t.some((e=>e.pathwayId===r)))return;const n=this.getLevelsForPathway(a).map((e=>{const t=new ou(e.attrs);t["PATHWAY-ID"]=r;const a=t.AUDIO&&`${t.AUDIO}_clone_${r}`,n=t.SUBTITLES&&`${t.SUBTITLES}_clone_${r}`;a&&(i[t.AUDIO]=a,t.AUDIO=a),n&&(s[t.SUBTITLES]=n,t.SUBTITLES=n);const l=jA(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",o),d=new Dm({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:l,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t{this.log(`Loaded steering manifest: "${s}"`);const a=e.data;if(1!==a.VERSION)return void this.log(`Steering VERSION ${a.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=a.TTL;const{"RELOAD-URI":o,"PATHWAY-CLONES":n,"PATHWAY-PRIORITY":l}=a;if(o)try{this.uri=new self.URL(o,s).href}catch(e){return this.enabled=!1,void this.log(`Failed to parse Steering Manifest RELOAD-URI: ${o}`)}this.scheduleRefresh(this.uri||i.url),n&&this.clonePathways(n);const d={steeringManifest:a,url:s.toString()};this.hls.trigger(Yc.STEERING_MANIFEST_LOADED,d),l&&this.updatePathwayPriority(l)},onError:(e,t,i,s)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),410===e.code)return this.enabled=!1,void this.log(`Steering manifest ${t.url} no longer available`);let r=1e3*this.timeToLoad;if(429!==e.code)this.scheduleRefresh(this.uri||t.url,r);else{const e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){const t=e.getResponseHeader("Retry-After");t&&(r=1e3*parseFloat(t))}this.log(`Steering manifest ${t.url} rate limited`)}},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}};this.log(`Requesting steering manifest: ${s}`),this.loader.load(r,n,l)}scheduleRefresh(e,t=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout((()=>{var t;const i=null==(t=this.hls)?void 0:t.media;!i||i.ended?this.scheduleRefresh(e,1e3*this.timeToLoad):this.loadSteeringManifest(e)}),t)}}});function YA(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(YA):Object.keys(e).reduce(((t,i)=>(t[i]=YA(e[i]),t)),{}):e}function QA(e){const t=e.loader;if(t!==zA&&t!==WA)su.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1;else{(function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1})()&&(e.loader=zA,e.progressive=!0,e.enableSoftwareAES=!0,su.log("[config]: Progressive streaming enabled, using FetchLoader"))}}let XA;class ZA extends ig{constructor(e,t){super(e,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Yc.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Yc.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Yc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Yc.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Yc.ERROR,this.onError,this)}_unregisterListeners(){const{hls:e}=this;e.off(Yc.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Yc.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Yc.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Yc.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Yc.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Yc.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((e=>{e.loadError=0,e.fragmentError=0})),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){const i=this.hls.config.preferManagedMediaSource,s=[],r={},a={};let o=!1,n=!1,l=!1;t.levels.forEach((e=>{var t,d;const h=e.attrs;let{audioCodec:c,videoCodec:u}=e;-1!==(null==(t=c)?void 0:t.indexOf("mp4a.40.34"))&&(XA||(XA=/chrome|firefox/i.test(navigator.userAgent)),XA&&(e.audioCodec=c=void 0)),c&&(e.audioCodec=c=Op(c,i)),0===(null==(d=u)?void 0:d.indexOf("avc1"))&&(u=e.videoCodec=function(e){const t=e.split(",");for(let e=0;e2){let s=i.shift()+".";s+=parseInt(i.shift()).toString(16),s+=("000"+parseInt(i.shift()).toString(16)).slice(-4),t[e]=s}}return t.join(",")}(u));const{width:p,height:m,unknownCodecs:g}=e;if(o||(o=!(!p||!m)),n||(n=!!u),l||(l=!!c),null!=g&&g.length||c&&!Rp(c,"audio",i)||u&&!Rp(u,"video",i))return;const{CODECS:f,"FRAME-RATE":y,"HDCP-LEVEL":A,"PATHWAY-ID":b,RESOLUTION:v,"VIDEO-RANGE":_}=h,S=`${`${b||"."}-`}${e.bitrate}-${v}-${y}-${f}-${_}-${A}`;if(r[S])if(r[S].uri===e.url||e.attrs["PATHWAY-ID"])r[S].addGroupId("audio",h.AUDIO),r[S].addGroupId("text",h.SUBTITLES);else{const t=a[S]+=1;e.attrs["PATHWAY-ID"]=new Array(t+1).join(".");const i=new Dm(e);r[S]=i,s.push(i)}else{const t=new Dm(e);r[S]=t,a[S]=1,s.push(t)}})),this.filterAndSortMediaOptions(s,t,o,n,l)}filterAndSortMediaOptions(e,t,i,s,r){let a=[],o=[],n=e;if((i||s)&&r&&(n=n.filter((({videoCodec:e,videoRange:t,width:i,height:s})=>{return(!!e||!(!i||!s))&&(!!(r=t)&&Em.indexOf(r)>-1);var r}))),0===n.length)return void Promise.resolve().then((()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);const e=new Error("no level with compatible codecs found in manifest");this.hls.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:e,reason:e.message})}}));if(t.audioTracks){const{preferManagedMediaSource:e}=this.hls.config;a=t.audioTracks.filter((t=>!t.audioCodec||Rp(t.audioCodec,"audio",e))),eb(a)}t.subtitles&&(o=t.subtitles,eb(o));const l=n.slice(0);n.sort(((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return Em.indexOf(e.videoRange)-Em.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){const i=Bp(e.videoCodec),s=Bp(t.videoCodec);if(i!==s)return s-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){const i=Mp(e.codecSet),s=Mp(t.codecSet);if(i!==s)return s-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0}));let d=l[0];if(this.steering&&(n=this.steering.filterParsedLevels(n),n.length!==l.length))for(let e=0;ei&&i===KA.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}const c=r&&!s,u={levels:n,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:r,video:s,altAudio:!c&&a.some((e=>!!e.url))};this.hls.trigger(Yc.MANIFEST_PARSED,u),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return 0===this._levels.length?null:this._levels}get level(){return this.currentLevelIndex}set level(e){const t=this._levels;if(0===t.length)return;if(e<0||e>=t.length){const i=new Error("invalid level idx"),s=e<0;if(this.hls.trigger(Yc.ERROR,{type:Qc.OTHER_ERROR,details:Xc.LEVEL_SWITCH_ERROR,level:e,fatal:s,error:i,reason:i.message}),s)return;e=Math.min(e,t.length-1)}const i=this.currentLevelIndex,s=this.currentLevel,r=s?s.attrs["PATHWAY-ID"]:void 0,a=t[e],o=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,i===e&&a.details&&s&&r===o)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${o?" with Pathway "+o:""} from level ${i}${r?" with Pathway "+r:""}`);const n={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(Yc.LEVEL_SWITCHING,n);const l=a.details;if(!l||l.live){const e=this.switchParams(a.uri,null==s?void 0:s.details,l);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){const e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}onError(e,t){!t.fatal&&t.context&&t.context.type===em&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(void 0!==t&&t.type===sm){const e=t.elementaryStreams;if(!Object.keys(e).some((t=>!!e[t])))return;const i=this._levels[t.level];null!=i&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var i;const{level:s,details:r}=t,a=this._levels[s];var o;if(!a)return this.warn(`Invalid level index ${s}`),void(null!=(o=t.deliveryDirectives)&&o.skip&&(r.deltaUpdateFailed=!0));s===this.currentLevelIndex?(0===a.fragmentError&&(a.loadError=0),this.playlistLoaded(s,t,a.details)):null!=(i=t.deliveryDirectives)&&i.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist();const t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let s=i.uri;if(e)try{s=e.addDirectives(s)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}const r=i.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${void 0!==(null==e?void 0:e.msn)?" at sn "+e.msn+" part "+e.part:""} with${r?" Pathway "+r:""} ${s}`),this.clearTimer(),this.hls.trigger(Yc.LEVEL_LOADING,{url:s,level:t,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null})}}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;const i=this._levels.filter(((t,i)=>i!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach((e=>e.level=-1))),!1)));Nm(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(Yc.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){const{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(Yc.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function eb(e){const t={};e.forEach((e=>{const i=e.groupId||"";e.id=t[i]=t[i]||0,t[i]++}))}class tb{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(const i in this.keyUriToKeyInfo){const s=this.keyUriToKeyInfo[i].loader;if(s){var t;if(e&&e!==(null==(t=s.context)?void 0:t.frag.type))return;s.abort()}}}detach(){for(const e in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(const e in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=Xc.KEY_LOAD_ERROR,i,s,r){return new Bg({type:Qc.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:r,error:i,networkDetails:s})}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){const{sn:i,cc:s}=e;for(let e=0;e{r.setKeyFormat(e)}));break}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then((t=>this.loadInternal(e,t))):this.loadInternal(e)}loadInternal(e,t){var i,s;t&&e.setKeyFormat(t);const r=e.decryptdata;if(!r){const i=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,Xc.KEY_LOAD_ERROR,i))}const a=r.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,Xc.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${a}"`)));let o=this.keyUriToKeyInfo[a];if(null!=(i=o)&&i.decryptdata.key)return r.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});var n;if(null!=(s=o)&&s.keyLoadPromise)switch(null==(n=o.mediaKeySessionContext)?void 0:n.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then((t=>(r.key=t.keyInfo.decryptdata.key,{frag:e,keyInfo:o})))}switch(o=this.keyUriToKeyInfo[a]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===r.keyFormat?this.loadKeyHTTP(o,e):this.loadKeyEME(o,e);case"AES-128":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,Xc.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(e,t){const i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){const t=this.emeController.loadKey(i);if(t)return(e.keyLoadPromise=t.then((t=>(e.mediaKeySessionContext=t,i)))).catch((t=>{throw e.keyLoadPromise=null,t}))}return Promise.resolve(i)}loadKeyHTTP(e,t){const i=this.config,s=new(0,i.loader)(i);return t.keyLoader=e.loader=s,e.keyLoadPromise=new Promise(((r,a)=>{const o={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},n=i.keyLoadPolicy.default,l={loadPolicy:n,timeout:n.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(e,t,i,s)=>{const{frag:o,keyInfo:n,url:l}=i;if(!o.decryptdata||n!==this.keyUriToKeyInfo[l])return a(this.createKeyLoadError(o,Xc.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),s));n.decryptdata.key=o.decryptdata.key=new Uint8Array(e.data),o.keyLoader=null,n.loader=null,r({frag:o,keyInfo:n})},onError:(e,i,s,r)=>{this.resetLoader(i),a(this.createKeyLoadError(t,Xc.KEY_LOAD_ERROR,new Error(`HTTP Error ${e.code} loading key ${e.text}`),s,Vc({url:o.url,data:void 0},e)))},onTimeout:(e,i,s)=>{this.resetLoader(i),a(this.createKeyLoadError(t,Xc.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),s))},onAbort:(e,i,s)=>{this.resetLoader(i),a(this.createKeyLoadError(t,Xc.INTERNAL_ABORTED,new Error("key loading aborted"),s))}};s.load(o,l,d)}))}resetLoader(e){const{frag:t,keyInfo:i,url:s}=e,r=i.loader;t.keyLoader===r&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[s],r&&r.destroy()}}function ib(){return self.SourceBuffer||self.WebKitSourceBuffer}function sb(){if(!xp())return!1;const e=ib();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class rb{constructor(e,t,i,s){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=i,this.hls=s}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(e,t){const{config:i,media:s,stalled:r}=this;if(null===s)return;const{currentTime:a,seeking:o}=s,n=this.seeking&&!o,l=!this.seeking&&o;if(this.seeking=o,a!==e){if(this.moved=!0,o||(this.nudgeRetry=0),null!==r){if(this.stallReported){const e=self.performance.now()-r;su.warn(`playback not stuck anymore @${a}, after ${Math.round(e)}ms`),this.stallReported=!1}this.stalled=null}return}if(l||n)return void(this.stalled=null);if(s.paused&&!o||s.ended||0===s.playbackRate||!wg.getBuffered(s).length)return void(this.nudgeRetry=0);const d=wg.bufferInfo(s,a,0),h=d.nextStart||0;if(o){const e=d.len>2,i=!h||t&&t.start<=a||h-a>2&&!this.fragmentTracker.getPartialFragment(a);if(e||i)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var c;if(!(d.len>0)&&!h)return;const e=Math.max(h,d.start||0)-a,t=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,i=(null==t||null==(c=t.details)?void 0:c.live)?2*t.details.targetduration:2,r=this.fragmentTracker.getPartialFragment(a);if(e>0&&(e<=i||r))return void(s.paused||this._trySkipBufferHole(r))}const u=self.performance.now();if(null===r)return void(this.stalled=u);const p=u-r;if(!o&&p>=250&&(this._reportStall(d),!this.media))return;const m=wg.bufferInfo(s,a,i.maxBufferHole);this._tryFixBufferStall(m,p)}_tryFixBufferStall(e,t){const{config:i,fragmentTracker:s,media:r}=this;if(null===r)return;const a=r.currentTime,o=s.getPartialFragment(a);if(o){if(this._trySkipBufferHole(o)||!this.media)return}(e.len>i.maxBufferHole||e.nextStart&&e.nextStart-a1e3*i.highBufferWatchdogPeriod&&(su.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(e){const{hls:t,media:i,stallReported:s}=this;if(!s&&i){this.stallReported=!0;const s=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${JSON.stringify(e)})`);su.warn(s.message),t.trigger(Yc.ERROR,{type:Qc.MEDIA_ERROR,details:Xc.BUFFER_STALLED_ERROR,fatal:!1,error:s,buffer:e.len})}}_trySkipBufferHole(e){const{config:t,hls:i,media:s}=this;if(null===s)return 0;const r=s.currentTime,a=wg.bufferInfo(s,r,0),o=r0&&a.len<1&&s.readyState<3,d=o-r;if(d>0&&(n||l)){if(d>t.maxBufferHole){const{fragmentTracker:t}=this;let i=!1;if(0===r){const e=t.getAppendedFrag(0,sm);e&&o1?(e=0,this.bitrateTest=!0):e=i.firstAutoLevel),i.nextLoadLevel=e,this.level=i.loadLevel,this.loadedmetadata=!1}t>0&&-1===e&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=Gg,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=jg}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Qg:{const{levels:e,level:t}=this,i=null==e?void 0:e[t],s=null==i?void 0:i.details;if(s&&(!s.live||this.levelLastLoaded===i)){if(this.waitForCdnTuneIn(s))break;this.state=Gg;break}if(this.hls.nextLoadLevel!==this.level){this.state=Gg;break}break}case zg:{var e;const t=self.performance.now(),i=this.retryDate;if(!i||t>=i||null!=(e=this.media)&&e.seeking){const{levels:e,level:t}=this,i=null==e?void 0:e[t];this.resetStartWhenNotLoaded(i||null),this.state=Gg}}}this.state===Gg&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){const{hls:e,levelLastLoaded:t,levels:i,media:s}=this;if(null===t||!s&&(this.startFragRequested||!e.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;const r=e.nextLoadLevel;if(null==i||!i[r])return;const a=i[r],o=this.getMainFwdBufferInfo();if(null===o)return;const n=this.getLevelDetails();if(n&&this._streamEnded(o,n)){const e={};return this.altAudio&&(e.type="video"),this.hls.trigger(Yc.BUFFER_EOS,e),void(this.state=qg)}e.loadLevel!==r&&-1===e.manualLevel&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=e.nextLoadLevel=r;const l=a.details;if(!l||this.state===Qg||l.live&&this.levelLastLoaded!==a)return this.level=r,void(this.state=Qg);const d=o.len,h=this.getMaxBufferLength(a.maxBitrate);if(d>=h)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);const c=this.backtrackFragment?this.backtrackFragment.start:o.end;let u=this.getNextFragment(c,l);if(this.couldBacktrack&&!this.fragPrevious&&u&&"initSegment"!==u.sn&&this.fragmentTracker.getState(u)!==Ag){var p;const e=(null!=(p=this.backtrackFragment)?p:u).sn-l.startSN,t=l.fragments[e-1];t&&u.cc===t.cc&&(u=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(u&&this.isLoopLoading(u,c)){if(!u.gap){const e=this.audioOnly&&!this.altAudio?hu:cu,t=(e===cu?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,sm)}u=this.getNextFragmentLoopLoading(u,l,o,sm,h)}u&&(!u.initSegment||u.initSegment.data||this.bitrateTest||(u=u.initSegment),this.loadFragment(u,a,c))}loadFragment(e,t,i){const s=this.fragmentTracker.getState(e);this.fragCurrent=e,s===gg||s===yg?"initSegment"===e.sn?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,i)):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,sm)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:e,media:t}=this;if(null!=t&&t.readyState){let i;const s=this.getAppendedFrag(t.currentTime);s&&s.start>1&&this.flushMainBuffer(0,s.start-1);const r=this.getLevelDetails();if(null!=r&&r.live){const e=this.getMainFwdBufferInfo();if(!e||e.len<2*r.targetduration)return}if(!t.paused&&e){const t=e[this.hls.nextLoadLevel],s=this.fragLastKbps;i=s&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*s)+1:0}else i=0;const a=this.getBufferedFrag(t.currentTime+i);if(a){const e=this.followingBufferedFrag(a);if(e){this.abortCurrentFrag();const t=e.maxStartPTS?e.maxStartPTS:e.start,i=e.duration,s=Math.max(a.end,t+Math.min(Math.max(i-this.config.maxFragLookUpTolerance,i*(this.couldBacktrack?.5:.125)),i*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(s,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Wg:case Vg:case zg:case Hg:case Jg:this.state=Gg}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);const i=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new rb(this.config,i,this.fragmentTracker,this.hls)}onMediaDetaching(){const{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){const e=this.media,t=e?e.currentTime:null;Jc(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);const i=this.getMainFwdBufferInfo();null!==i&&0!==i.len?this.tick():this.warn(`Main forward buffer length on "seeked" event ${i?i.len:"empty"})`)}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(Yc.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(e,t){let i=!1,s=!1;t.levels.forEach((e=>{const t=e.audioCodec;t&&(i=i||-1!==t.indexOf("mp4a.40.2"),s=s||-1!==t.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=i&&s&&!function(){var e;const t=ib();return"function"==typeof(null==t||null==(e=t.prototype)?void 0:e.changeType)}(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){const{levels:i}=this;if(!i||this.state!==Gg)return;const s=i[t.level];(!s.details||s.details.live&&this.levelLastLoaded!==s||this.waitForCdnTuneIn(s.details))&&(this.state=Qg)}onLevelLoaded(e,t){var i;const{levels:s}=this,r=t.level,a=t.details,o=a.totalduration;if(!s)return void this.warn(`Levels were reset while loading level ${r}`);this.log(`Level ${r} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""}, cc [${a.startCC}, ${a.endCC}] duration:${o}`);const n=s[r],l=this.fragCurrent;!l||this.state!==Vg&&this.state!==zg||l.level!==t.level&&l.loader&&this.abortCurrentFrag();let d=0;if(a.live||null!=(i=n.details)&&i.live){var h;if(this.checkLiveUpdate(a),a.deltaUpdateFailed)return;d=this.alignPlaylists(a,n.details,null==(h=this.levelLastLoaded)?void 0:h.details)}if(n.details=a,this.levelLastLoaded=n,this.hls.trigger(Yc.LEVEL_UPDATED,{details:a,level:r}),this.state===Qg){if(this.waitForCdnTuneIn(a))return;this.state=Gg}this.startFragRequested?a.live&&this.synchronizeToLiveEdge(a):this.setStartPosition(a,d),this.tick()}_handleFragmentLoadProgress(e){var t;const{frag:i,part:s,payload:r}=e,{levels:a}=this;if(!a)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);const o=a[i.level],n=o.details;if(!n)return this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),void this.fragmentTracker.removeFragment(i);const l=o.videoCodec,d=n.PTSKnown||!n.live,h=null==(t=i.initSegment)?void 0:t.data,c=this._getAudioCodec(o),u=this.transmuxer=this.transmuxer||new ay(this.hls,sm,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),p=s?s.index:-1,m=-1!==p,g=new Eg(i.level,i.sn,i.stats.chunkCount,r.byteLength,p,m),f=this.initPTS[i.cc];u.push(r,h,c,l,i,s,n.totalduration,d,g,f)}onAudioTrackSwitching(e,t){const i=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();const e=this.hls;i&&(e.trigger(Yc.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),e.trigger(Yc.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){const i=t.id,s=!!this.hls.audioTracks[i].url;if(s){const e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=s,this.tick()}onBufferCreated(e,t){const i=t.tracks;let s,r,a=!1;for(const e in i){const t=i[e];if("main"===t.id){if(r=e,s=t,"video"===e){const t=i[e];t&&(this.videoBuffer=t.buffer)}}else a=!0}a&&s?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=s.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){const{frag:i,part:s}=t;if(i&&i.type!==sm)return;if(this.fragContextChanged(i))return this.warn(`Fragment ${i.sn}${s?" p: "+s.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),void(this.state===Jg&&(this.state=Gg));const r=s?s.stats:i.stats;this.fragLastKbps=Math.round(8*r.total/(r.buffering.end-r.loading.first)),"initSegment"!==i.sn&&(this.fragPrevious=i),this.fragBufferedComplete(i,s)}onError(e,t){var i;if(t.fatal)this.state=Kg;else switch(t.details){case Xc.FRAG_GAP:case Xc.FRAG_PARSING_ERROR:case Xc.FRAG_DECRYPT_ERROR:case Xc.FRAG_LOAD_ERROR:case Xc.FRAG_LOAD_TIMEOUT:case Xc.KEY_LOAD_ERROR:case Xc.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(sm,t);break;case Xc.LEVEL_LOAD_ERROR:case Xc.LEVEL_LOAD_TIMEOUT:case Xc.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==Qg||(null==(i=t.context)?void 0:i.type)!==em||(this.state=Gg);break;case Xc.BUFFER_APPEND_ERROR:case Xc.BUFFER_FULL_ERROR:if(!t.parent||"main"!==t.parent)return;if(t.details===Xc.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case Xc.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}checkBuffer(){const{media:e,gapController:t}=this;if(e&&t&&e.readyState){if(this.loadedmetadata||!wg.getBuffered(e).length){const e=this.state!==Gg?this.fragCurrent:null;t.poll(this.lastCurrentTime,e)}this.lastCurrentTime=e.currentTime}}onFragLoadEmergencyAborted(){this.state=Gg,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==hu||this.audioOnly&&!this.altAudio){const e=(t===cu?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(e,t,sm),this.tick()}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:e}=this;if(!e)return;const t=e.currentTime;let i=this.startPosition;if(i>=0&&t0&&(r{const{hls:s}=this;if(!i||this.fragContextChanged(e))return;t.fragmentError=0,this.state=Gg,this.startFragRequested=!1,this.bitrateTest=!1;const r=e.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),s.trigger(Yc.FRAG_LOADED,i),e.bitrateTest=!1}))}_handleTransmuxComplete(e){var t;const i="main",{hls:s}=this,{remuxResult:r,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o)return void this.resetWhenMissingContext(a);const{frag:n,part:l,level:d}=o,{video:h,text:c,id3:u,initSegment:p}=r,{details:m}=d,g=this.altAudio?void 0:r.audio;if(this.fragContextChanged(n))this.fragmentTracker.removeFragment(n);else{if(this.state=Hg,p){if(null!=p&&p.tracks){const e=n.initSegment||n;this._bufferInitSegment(d,p.tracks,e,a),s.trigger(Yc.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:p.tracks})}const e=p.initPTS,t=p.timescale;Jc(e)&&(this.initPTS[n.cc]={baseTime:e,timescale:t},s.trigger(Yc.INIT_PTS_FOUND,{frag:n,id:i,initPTS:e,timescale:t}))}if(h&&m&&"initSegment"!==n.sn){const e=m.fragments[n.sn-1-m.startSN],t=n.sn===m.startSN,i=!e||n.cc>e.cc;if(!1!==r.independent){const{startPTS:e,endPTS:s,startDTS:r,endDTS:o}=h;if(l)l.elementaryStreams[h.type]={startPTS:e,endPTS:s,startDTS:r,endDTS:o};else if(h.firstKeyFrame&&h.independent&&1===a.id&&!i&&(this.couldBacktrack=!0),h.dropped&&h.independent){const r=this.getMainFwdBufferInfo(),a=(r?r.end:this.getLoadPosition())+this.config.maxBufferHole,l=h.firstKeyFramePTS?h.firstKeyFramePTS:e;if(!t&&a2&&(n.gap=!0);n.setElementaryStreamInfo(h.type,e,s,r,o),this.backtrackFragment&&(this.backtrackFragment=n),this.bufferFragmentData(h,n,l,a,t||i)}else{if(!t&&!i)return void this.backtrack(n);n.gap=!0}}if(g){const{startPTS:e,endPTS:t,startDTS:i,endDTS:s}=g;l&&(l.elementaryStreams[hu]={startPTS:e,endPTS:t,startDTS:i,endDTS:s}),n.setElementaryStreamInfo(hu,e,t,i,s),this.bufferFragmentData(g,n,l,a)}if(m&&null!=u&&null!=(t=u.samples)&&t.length){const e={id:i,frag:n,details:m,samples:u.samples};s.trigger(Yc.FRAG_PARSING_METADATA,e)}if(m&&c){const e={id:i,frag:n,details:m,samples:c.samples};s.trigger(Yc.FRAG_PARSING_USERDATA,e)}}}_bufferInitSegment(e,t,i,s){if(this.state!==Hg)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;const{audio:r,video:a,audiovideo:o}=t;if(r){let t=e.audioCodec;const i=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){t&&(t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");const e=r.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===i.indexOf("firefox")&&(t="mp4a.40.5")}t&&-1!==t.indexOf("mp4a.40.5")&&-1!==i.indexOf("android")&&"audio/mpeg"!==r.container&&(t="mp4a.40.2",this.log(`Android: force audio codec to ${t}`)),e.audioCodec&&e.audioCodec!==t&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${t}"`),r.levelCodec=t,r.id="main",this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${t||""}/${e.audioCodec||""}/${r.codec}]`)}a&&(a.levelCodec=e.videoCodec,a.id="main",this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${a.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),this.hls.trigger(Yc.BUFFER_CODECS,t),Object.keys(t).forEach((e=>{const r=t[e].initSegment;null!=r&&r.byteLength&&this.hls.trigger(Yc.BUFFER_APPENDING,{type:e,data:r,frag:i,part:null,chunkMeta:s,parent:i.type})})),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,sm)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Gg}checkFragmentChanged(){const e=this.media;let t=null;if(e&&e.readyState>1&&!1===e.seeking){const i=e.currentTime;if(wg.isBuffered(e,i)?t=this.getAppendedFrag(i):wg.isBuffered(e,i+.1)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;const e=this.fragPlaying,i=t.level;e&&t.sn===e.sn&&e.level===i||(this.fragPlaying=t,this.hls.trigger(Yc.FRAG_CHANGED,{frag:t}),e&&e.level===i||this.hls.trigger(Yc.LEVEL_SWITCHED,{level:i}))}}}get nextLevel(){const e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){const e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}get currentProgramDateTime(){const e=this.media;if(e){const t=e.currentTime,i=this.currentFrag;if(i&&Jc(t)&&Jc(i.programDateTime)){const e=i.programDateTime+1e3*(t-i.start);return new Date(e)}}return null}get currentLevel(){const e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){const e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class ob{static get version(){return"1.5.13"}static isMSESupported(){return sb()}static isSupported(){return function(){if(!sb())return!1;const e=xp();return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((t=>e.isTypeSupported(Ip(t,"video"))))||["mp4a.40.2","fLaC"].some((t=>e.isTypeSupported(Ip(t,"audio")))))}()}static getMediaSource(){return xp()}static get Events(){return Yc}static get ErrorTypes(){return Qc}static get ErrorDetails(){return Xc}static get DefaultConfig(){return ob.defaultConfig?ob.defaultConfig:KA}static set DefaultConfig(e){ob.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new ry,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,function(e,t){if("object"==typeof console&&!0===e||"object"==typeof e){iu(e,"debug","log","info","warn","error");try{tu.log(`Debug logs enabled for "${t}" in hls.js version 1.5.13`)}catch(e){tu=eu}}else tu=eu}(e.debug||!1,"Hls instance");const t=this.config=function(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const i=YA(e),s=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((e=>{const r=`${"level"===e?"playlist":e}LoadPolicy`,a=void 0===t[r],o=[];s.forEach((s=>{const n=`${e}Loading${s}`,l=t[n];if(void 0!==l&&a){o.push(n);const e=i[r].default;switch(t[r]={default:e},s){case"TimeOut":e.maxLoadTimeMs=l,e.maxTimeToFirstByteMs=l;break;case"MaxRetry":e.errorRetry.maxNumRetry=l,e.timeoutRetry.maxNumRetry=l;break;case"RetryDelay":e.errorRetry.retryDelayMs=l,e.timeoutRetry.retryDelayMs=l;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=l,e.timeoutRetry.maxRetryDelayMs=l}}})),o.length&&su.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${r}": ${JSON.stringify(t[r])}`)})),Vc(Vc({},i),t)}(ob.DefaultConfig,e);this.userConfig=e,t.progressive&&QA(t);const{abrController:i,bufferController:s,capLevelController:r,errorController:a,fpsController:o}=t,n=new a(this),l=this.abrController=new i(this),d=this.bufferController=new s(this),h=this.capLevelController=new r(this),c=new o(this),u=new lm(this),p=new _m(this),m=t.contentSteeringController,g=m?new m(this):null,f=this.levelController=new ZA(this,g),y=new bg(this),A=new tb(this.config),b=this.streamController=new ab(this,y,A);h.setStreamController(b),c.setStreamController(b);const v=[u,f,b];g&&v.splice(1,0,g),this.networkControllers=v;const _=[l,d,h,c,p,y];this.audioTrackController=this.createController(t.audioTrackController,v);const S=t.audioStreamController;S&&v.push(new S(this,y,A)),this.subtitleTrackController=this.createController(t.subtitleTrackController,v);const w=t.subtitleStreamController;w&&v.push(new w(this,y,A)),this.createController(t.timelineController,_),A.emeController=this.emeController=this.createController(t.emeController,_),this.cmcdController=this.createController(t.cmcdController,_),this.latencyController=this.createController(Sm,_),this.coreComponents=_,v.push(n);const E=n.onErrorOut;"function"==typeof E&&this.on(Yc.ERROR,E,n)}createController(e,t){if(e){const i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,s){this._emitter.off(e,t,i,s)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(su.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;const i=e===Yc.ERROR;this.trigger(Yc.ERROR,{type:Qc.OTHER_ERROR,details:Xc.INTERNAL_EXCEPTION,fatal:i,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){su.log("destroy"),this.trigger(Yc.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((e=>e.destroy())),this.networkControllers.length=0,this.coreComponents.forEach((e=>e.destroy())),this.coreComponents.length=0;const e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){su.log("attachMedia"),this._media=e,this.trigger(Yc.MEDIA_ATTACHING,{media:e})}detachMedia(){su.log("detachMedia"),this.trigger(Yc.MEDIA_DETACHING,void 0),this._media=null}loadSource(e){this.stopLoad();const t=this.media,i=this.url,s=this.url=Gc.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,su.log(`loadSource:${s}`),t&&i&&(i!==s||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(Yc.MANIFEST_LOADING,{url:e})}startLoad(e=-1){su.log(`startLoad(${e})`),this.started=!0,this.networkControllers.forEach((t=>{t.startLoad(e)}))}stopLoad(){su.log("stopLoad"),this.started=!1,this.networkControllers.forEach((e=>{e.stopLoad()}))}resumeBuffering(){this.started&&this.networkControllers.forEach((e=>{"fragmentLoader"in e&&e.startLoad(-1)}))}pauseBuffering(){this.networkControllers.forEach((e=>{"fragmentLoader"in e&&e.stopLoad()}))}swapAudioCodec(){su.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){su.log("recoverMediaError");const e=this._media;this.detachMedia(),e&&this.attachMedia(e)}removeLevel(e){this.levelController.removeLevel(e)}get levels(){const e=this.levelController.levels;return e||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){su.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){su.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){su.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){su.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){const e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){su.log(`set startLevel:${e}`),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){const t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get ttfbEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(su.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){(function(e){return wm.indexOf(e)>-1})(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return-1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;const i=e.length;for(let s=0;s=t)return s;return 0}get maxAutoLevel(){const{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this;let s;if(s=-1===t&&null!=e&&e.length?e.length-1:t,i)for(let t=s;t--;){const s=e[t].attrs["HDCP-LEVEL"];if(s&&s<=i)return t}return s}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(e){var t;return null==(t=this.audioTrackController)?void 0:t.setAudioOption(e)}setSubtitleOption(e){var t;return null==(t=this.subtitleTrackController)||t.setSubtitleOption(e),null}get allAudioTracks(){const e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){const e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){const e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){const t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){const e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){const e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){const e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){const t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){const e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}set subtitleDisplay(e){const t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}}ob.defaultConfig=void 0;class nb extends a{constructor(e){super(),this.player=e,this.TAG_NAME="HlsDecoder",e._opt,this.canVideoPlay=!1,this.$videoElement=null,this.canvasRenderInterval=null,this.bandwidthEstimateInterval=null,this.fpsInterval=null,this.hlsFps=0,this.hlsPrevFrams=0,this.isInitInfo=!1,this.eventsDestroy=[],this.supportVideoFrameCallbackHandle=null,this.player.isHlsCanVideoPlay()?(this.$videoElement=this.player.video.$videoElement,this.canVideoPlay=!0):ob.isSupported()?(this.$videoElement=this.player.video.$videoElement,this.hls=new ob({}),this._initHls(),this._bindEvents()):this.player.debugError(this.TAG_NAME,"init hls error ,not support "),this.player.debugLog(this.TAG_NAME,"init")}destroy(){return new Promise(((e,t)=>{if(this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null),this.hls&&(this.hls.destroy(),this.hls=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.isInitInfo=!1,this._stopCanvasRender(),this._stopBandwidthEstimateInterval(),this._stopFpsInterval(),this.player._opt.useCanvasRender&&this.$videoElement){this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"));try{this.$videoElement.load()}catch(e){}}this.$videoElement=null,this.hlsFps=0,this.player.debugLog(this.TAG_NAME,"destroy"),setTimeout((()=>{e()}),0)}))}checkHlsBufferedDelay(){const e=this.$videoElement;let t=0;const i=e.buffered,s=i.length?i.end(i.length-1):0;return t=s-e.currentTime,t<0&&(this.player.debugWarn(this.TAG_NAME,`checkHlsBufferedDelay ${t} < 0, and buffered is ${s} ,currentTime is ${e.currentTime} , try to seek ${e.currentTime} to ${s}`),e.currentTime=s,t=0),t}getFps(){return this.hlsFps}_startCanvasRender(){Wo()?this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)):(this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.player.video.render({$video:this.$videoElement,ts:parseInt(1e3*this.$videoElement.currentTime,10)||0})}),40))}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math.max(t.mediaTime,this.$videoElement.currentTime),10)||0;this.player.video.render({$video:this.$videoElement,ts:i}),this.player.handleRender(),this.player.updateStats({dts:i}),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}_startBandwidthEstimateInterval(){this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{let e=0;this.hls.bandwidthEstimate&&(e=this.hls.bandwidthEstimate),this.player.emit(vt.kBps,(e/1024/8/10).toFixed(2))}),1e3)}_stopBandwidthEstimateInterval(){this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}_startFpsInterval(){this._stopCanvasRender(),this.fpsInterval=setInterval((()=>{if(this.$videoElement)if(go(this.$videoElement.getVideoPlaybackQuality)){const e=this.$videoElement.getVideoPlaybackQuality();this.hlsFps=e.totalVideoFrames-this.hlsPrevFrams,this.hlsPrevFrams=e.totalVideoFrames}else{const e=this.$videoElement.webkitDecodedFrameCount||0;this.hlsFps=e-this.hlsPrevFrams,this.hlsPrevFrams=e}}),1e3)}_stopFpsInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_initHls(){this.player._opt.useCanvasRender&&(this.$videoElement=document.createElement("video"),this.$videoElement.muted=!0,Ba()&&(this.$videoElement.style.position="absolute"),this.initVideoEvents()),this.hls.attachMedia(this.$videoElement)}_bindEvents(){const e=this.player,{proxy:t}=this.player.events;this.hls;const i=this.$videoElement,s=Wo(),r=t(i,us,(t=>{if(this.hls){const i=parseInt(t.timeStamp,10);this.player._opt.useCanvasRender&&Io(s)&&e.updateStats({ts:i,dts:i})}}));this.eventsDestroy.push(r),this.hls.on(ob.Events.ERROR,((e,t)=>{if(t.fatal)switch(t.type){case ob.ErrorTypes.NETWORK_ERROR:this.player.debugWarn(this.TAG_NAME,"fatal network error encountered, try to recover"),this.hls.startLoad();break;case ob.ErrorTypes.MEDIA_ERROR:this.player.debugWarn(this.TAG_NAME,"fatal media error encountered, try to recover"),this.hls.recoverMediaError()}})),this.hls.on(ob.Events.MEDIA_ATTACHING,(()=>{})),this.hls.on(ob.Events.MEDIA_ATTACHED,(()=>{})),this.hls.on(ob.Events.MEDIA_DETACHING,(()=>{})),this.hls.on(ob.Events.MEDIA_DETACHED,(()=>{})),this.hls.on(ob.Events.BUFFER_RESET,(()=>{})),this.hls.on(ob.Events.BUFFER_CODECS,(()=>{})),this.hls.on(ob.Events.BUFFER_CREATED,(()=>{})),this.hls.on(ob.Events.BUFFER_APPENDING,((e,t)=>{this.player.debugLog(this.TAG_NAME,"BUFFER_APPENDING",t.type)})),this.hls.on(ob.Events.BUFFER_APPENDED,(()=>{})),this.hls.on(ob.Events.BUFFER_EOS,(()=>{})),this.hls.on(ob.Events.BUFFER_FLUSHING,(()=>{})),this.hls.on(ob.Events.BUFFER_FLUSHED,(()=>{})),this.hls.on(ob.Events.MANIFEST_LOADING,(()=>{this.player.debugLog(this.TAG_NAME,"MANIFEST_LOADING 开始加载playlist m3u8资源")})),this.hls.on(ob.Events.MANIFEST_LOADED,((e,t)=>{this.player.debugLog(this.TAG_NAME,"MANIFEST_LOADED playlist m3u8文件加载完成",t.url)})),this.hls.on(ob.Events.MANIFEST_PARSED,(()=>{this.player.debugLog(this.TAG_NAME,"MANIFEST_PARSED playlist m3u8解析完成"),e._times.demuxStart||(e._times.demuxStart=_a())})),this.hls.on(ob.Events.LEVEL_LOADING,(()=>{})),this.hls.on(ob.Events.LEVEL_LOADED,((e,t)=>{})),this.hls.on(ob.Events.FRAG_LOADING,(()=>{})),this.hls.on(ob.Events.FRAG_LOADED,((t,i)=>{e._times.decodeStart||(e._times.decodeStart=_a())})),this.hls.on(ob.Events.BUFFER_APPENDING,(()=>{e._times.videoStart||(e._times.videoStart=_a(),e.handlePlayToRenderTimes())})),this.hls.on(ob.Events.FRAG_DECRYPTED,(()=>{})),this.hls.on(ob.Events.KEY_LOADING,(()=>{})),this.hls.on(ob.Events.KEY_LOADING,(()=>{})),this.hls.on(ob.Events.FPS_DROP,(e=>{})),this.hls.on(ob.Events.FPS_DROP_LEVEL_CAPPING,(e=>{})),this.hls.on(ob.Events.FRAG_PARSING_INIT_SEGMENT,((e,t)=>{this.player.debugLog(this.TAG_NAME,"FRAG_PARSING_INIT_SEGMENT",t);const i=!!(t&&t.tracks&&t.tracks.audio),s=!!(t&&t.tracks&&t.tracks.video);if(i&&t.tracks.audio){let e=t.tracks.audio;const i=e.metadata&&e.metadata.channelCount?e.metadata.channelCount:0,s=e.codec;this.player.audio&&this.player.audio.updateAudioInfo({encType:s,channels:i,sampleRate:44100})}if(s&&t.tracks.video){let e=t.tracks.video;const i={encTypeCode:-1!==e.codec.indexOf("avc")?Pt:It};e.metadata&&(i.width=e.metadata.width,i.height=e.metadata.height),this.player.video&&this.player.video.updateVideoInfo(i)}}))}initVideoPlay(e){this.player._opt.useCanvasRender&&(this.$videoElement=document.createElement("video"),this.initVideoEvents()),this.$videoElement.autoplay=!0,this.$videoElement.muted=!0,this.$videoElement.src=e}_initRenderSize(){this.isInitInfo||(this.player.video.updateVideoInfo({width:this.$videoElement.videoWidth,height:this.$videoElement.videoHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0)}initVideoEvents(){const{proxy:e}=this.player.events,t=e(this.$videoElement,hs,(()=>{this.player.debugLog(this.TAG_NAME,"video canplay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video play"),this._startCanvasRender(),this._initRenderSize()})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video play error ",e)}))})),i=e(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video waiting")})),s=e(this.$videoElement,us,(e=>{const t=parseInt(e.timeStamp,10);this.player.handleRender(),this.player.updateStats({ts:t}),this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"video is paused and next try to replay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video is paused and replay success")})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video is paused and replay error ",e)})))})),r=e(this.$videoElement,ps,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate)}));this.eventsDestroy.push(t,i,s,r)}loadSource(e){return new Promise(((t,i)=>{this.canVideoPlay?(this.initVideoPlay(e),this._startBandwidthEstimateInterval(),this._startFpsInterval(),t()):this.hls.on(ob.Events.MEDIA_ATTACHED,(()=>{this.hls.loadSource(e),this._startBandwidthEstimateInterval(),this._startFpsInterval(),t()}))}))}}const lb=2097152,db="fetch",hb="xhr",cb="arraybuffer",ub="text",pb="json",mb="real_time_speed",gb=Object.prototype.toString;function fb(e){if("[object Object]"!==gb.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function yb(e){if(!e||null===e[0]||void 0===e[0]||0===e[0]&&(null===e[1]||void 0===e[1]))return;let t="bytes="+e[0]+"-";return e[1]&&(t+=e[1]),t}function Ab(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function bb(e,t){if(!e)return;if(!t)return e;let i;const s=Object.keys(t).map((e=>{if(i=t[e],null!=i)return Array.isArray(i)?e+="[]":i=[i],i.map((t=>{var i;return i=t,"[object Date]"===gb.call(i)?t=t.toISOString():function(e){return null!==e&&"object"==typeof e}(t)&&(t=JSON.stringify(t)),`${Ab(e)}=${Ab(t)}`})).join("&")})).filter(Boolean).join("&");if(s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}function vb(e,t,i,s,r,a,o,n,l,d,h){r=null!=r?parseFloat(r):null,s=parseInt(s||"0",10),Number.isNaN(s)&&(s=0);return{data:e,done:t,option:{range:l,vid:d,index:n,contentLength:s,age:r,startTime:a,firstByteTime:o,endTime:Date.now(),priOptions:h},response:i}}function _b(e,t){return Math.round(8*e*1e3/t/1024)}class Sb extends Error{constructor(e,t,i,s){super(s),rc(this,"retryCount",0),rc(this,"isTimeout",!1),rc(this,"loaderType",db),rc(this,"startTime",0),rc(this,"endTime",0),rc(this,"options",{}),this.url=e,this.request=t,this.response=i}}class wb extends a{constructor(e){super(),rc(this,"_abortController",null),rc(this,"_timeoutTimer",null),rc(this,"_reader",null),rc(this,"_response",null),rc(this,"_aborted",!1),rc(this,"_index",-1),rc(this,"_range",null),rc(this,"_receivedLength",0),rc(this,"_running",!1),rc(this,"_logger",null),rc(this,"_vid",""),rc(this,"_onProcessMinLen",0),rc(this,"_onCancel",null),rc(this,"_priOptions",null),rc(this,"TAG_NAME","FetchLoader"),this.player=e}load(e){var t;let{url:i,vid:s,timeout:r,responseType:a,onProgress:o,index:n,onTimeout:l,onCancel:d,range:h,transformResponse:c,request:u,params:p,logger:m,method:g,headers:f,body:y,mode:A,credentials:b,cache:v,redirect:_,referrer:S,referrerPolicy:w,onProcessMinLen:E,priOptions:T}=e;this._aborted=!1,this._onProcessMinLen=E,this._onCancel=d,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=n,this._range=h||[0,0],this._vid=s||i,this._priOptions=T||{};const k={method:g,headers:f,body:y,mode:A,credentials:b,cache:v,redirect:_,referrer:S,referrerPolicy:w,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal};let L=!1;clearTimeout(this._timeoutTimer),i=bb(i,p);const C=yb(h);C&&(f=u?u.headers:k.headers=k.headers||(Headers?new Headers:{}),Headers&&f instanceof Headers?f.append("Range",C):f.Range=C),r&&(this._timeoutTimer=setTimeout((()=>{if(L=!0,this.cancel(),l){const e=new Sb(i,k,null,"timeout");e.isTimeout=!0,l(e,{index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})}}),r));const x=Date.now();return(Ka(n)||Ka(h))&&this.player.debugLog(this.TAG_NAME,"[fetch load start], index,",n,",range,",h),new Promise(((e,t)=>{fetch(u||i,u?void 0:k).then((async s=>{if(clearTimeout(this._timeoutTimer),this._response=s,this._aborted||!this._running)return;if(c&&(s=c(s,i)||s),!s.ok)throw new Sb(i,k,s,"bad network response");const r=Date.now();let l;if(a===ub)l=await s.text(),this._running=!1;else if(a===pb)l=await s.json(),this._running=!1;else{if(o)return this.resolve=e,this.reject=t,void this._loadChunk(s,o,x,r);{l=await s.arrayBuffer(),l=new Uint8Array(l),this._running=!1;const e=Date.now()-x,t=_b(l.byteLength,e);this.emit(mb,{speed:t,len:l.byteLength,time:e,vid:this._vid,index:this._index,range:this._range,priOptions:this._priOptions})}}(Ka(n)||Ka(h))&&this.player.debugLog(this.TAG_NAME,"[fetch load end], index,",n,",range,",h),e(vb(l,!0,s,s.headers.get("Content-Length"),s.headers.get("age"),x,r,n,h,this._vid,this._priOptions))})).catch((e=>{var s;clearTimeout(this._timeoutTimer),this._running=!1,this._aborted&&!L||((e=e instanceof Sb?e:new Sb(i,k,null,null===(s=e)||void 0===s?void 0:s.message)).startTime=x,e.endTime=Date.now(),e.isTimeout=L,e.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},t(e))}))}))}async cancel(){if(!this._aborted){if(this._aborted=!0,this._running=!1,this._response){try{this._reader&&await this._reader.cancel()}catch(e){}this._response=this._reader=null}if(this._abortController){try{this._abortController.abort()}catch(e){}this._abortController=null}this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})}}_loadChunk(e,t,i,s){if(!e.body||!e.body.getReader){this._running=!1;const t=new Sb(e.url,"",e,"onProgress of bad response.body.getReader");return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(t)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(lb),this._writeIdx=0);const r=this._reader=e.body.getReader();let a,o,n;const l=async()=>{var d;o=Date.now();try{a=await r.read(),n=Date.now()}catch(e){return n=Date.now(),void(this._aborted||(this._running=!1,e.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this.reject(e)))}const h=(null===(d=this._range)||void 0===d?void 0:d.length)>0?this._range[0]:0,c=h+this._receivedLength;if(this._aborted)return this._running=!1,void t(void 0,!1,{range:[c,c],vid:this._vid,index:this._index,startTime:o,endTime:n,st:i,firstByteTime:s,priOptions:this._priOptions},e);const u=a.value?a.value.byteLength:0;let p;if(this._receivedLength+=u,this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress call】,task,",this._range,", start,",c,", end,",h+this._receivedLength,", done,",a.done),this._onProcessMinLen>0){if(this._writeIdx+u>=this._onProcessMinLen||a.done)p=new Uint8Array(this._writeIdx+u),p.set(this._cache.slice(0,this._writeIdx),0),u>0&&p.set(a.value,this._writeIdx),this._writeIdx=0,this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress enough】,done,",a.done,",len,",p.byteLength,", writeIdx,",this._writeIdx);else if(u>0&&this._writeIdx+u0){const e=new Uint8Array(this._writeIdx+u+2048);this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress extra start】,size,",this._writeIdx+u+2048,", datalen,",u,", writeIdx,",this._writeIdx),e.set(this._cache.slice(0,this._writeIdx),0),u>0&&e.set(a.value,this._writeIdx),this._writeIdx+=u,delete this._cache,this._cache=e,this.player.debugLog(this.TAG_NAME,"【fetchLoader,onProgress extra end】,len,",u,", writeIdx,",this._writeIdx)}}else p=a.value;if((p&&p.byteLength>0||a.done)&&t(p,a.done,{range:[this._range[0]+this._receivedLength-(p?p.byteLength:0),this._range[0]+this._receivedLength],vid:this._vid,index:this._index,startTime:o,endTime:n,st:i,firstByteTime:s,priOptions:this._priOptions},e),a.done){const t=Date.now()-i,r=_b(this._receivedLength,t);this.emit(mb,{speed:r,len:this._receivedLength,time:t,vid:this._vid,index:this._index,range:this._range,priOptions:this._priOptions}),this._running=!1,this.player.debugLog(this.TAG_NAME,"[fetchLoader onProgress end],task,",this._range,",done,",a.done),this.resolve(vb(a,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),i,s,this._index,this._range,this._vid,this._priOptions))}else l()};l()}get receiveLen(){return this._receivedLength}get running(){return this._running}set running(e){this._running=e}static isSupported(){return!("undefined"==typeof fetch)}}class Eb{constructor(e,t,i){rc(this,"TAG_NAME","Task"),this.promise=function(){let e,t;const i=new Promise(((i,s)=>{e=i,t=s}));return i.used=!1,i.resolve=function(){return i.used=!0,e(...arguments)},i.reject=function(){return i.used=!0,t(...arguments)},i}(),this.alive=!!t.onProgress,this._loaderType=e,this.player=i,this._loader=e===db&&window.fetch?new wb(i):new Tb(i),this._config=t,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=t.retryCheckFunc}exec(){const{retry:e,retryDelay:t,onRetryError:i,transformError:s,...r}=this._config,a=async()=>{try{const e=await this._loader.load(r);this.promise.resolve(e)}catch(o){if(this._loader.running=!1,this.player.debugLog(this.TAG_NAME,"[task request catch err]",o),this._canceled)return;o.loaderType=this._loaderType,o.retryCount=this._retryCount;let n=o;s&&(n=s(n)||n),i&&this._retryCount>0&&i(n,this._retryCount,{index:r.index,vid:r.vid,range:r.range,priOptions:r.priOptions}),this._retryCount++;let l=!0;if(this._retryCheckFunc&&(l=this._retryCheckFunc(o)),l&&this._retryCount<=e)return clearTimeout(this._retryTimer),this.player.debugLog(this.TAG_NAME,"[task request setTimeout],retry",this._retryCount,",retry range,",r.range),void(this._retryTimer=setTimeout(a,t));this.promise.reject(n)}};return a(),this.promise}async cancel(){return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,this._loader.cancel()}get running(){return this._loader&&this._loader.running}get loader(){return this._loader}}class Tb extends a{constructor(e){super(),rc(this,"_xhr",null),rc(this,"_aborted",!1),rc(this,"_timeoutTimer",null),rc(this,"_range",null),rc(this,"_receivedLength",0),rc(this,"_url",null),rc(this,"_onProgress",null),rc(this,"_index",-1),rc(this,"_headers",null),rc(this,"_currentChunkSizeKB",384),rc(this,"_timeout",null),rc(this,"_xhr",null),rc(this,"_withCredentials",null),rc(this,"_startTime",-1),rc(this,"_loadCompleteResolve",null),rc(this,"_loadCompleteReject",null),rc(this,"_runing",!1),rc(this,"_logger",!1),rc(this,"_vid",""),rc(this,"_responseType",void 0),rc(this,"_credentials",void 0),rc(this,"_method",void 0),rc(this,"_transformResponse",void 0),rc(this,"_firstRtt",void 0),rc(this,"_onCancel",null),rc(this,"_priOptions",null),rc(this,"TAG_NAME","XhrLoader"),this.player=e}load(e){clearTimeout(this._timeoutTimer),this._range=e.range,this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._body=e.body||null,e.method&&(this._method=e.method),this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._priOptions=e.priOptions||{},this.player.debugLog(this.TAG_NAME,"【xhrLoader task】, range",this._range),this._url=bb(e.url,e.params);const t=Date.now();return new Promise(((e,t)=>{this._loadCompleteResolve=e,this._loadCompleteReject=t,this._startLoad()})).catch((e=>{if(clearTimeout(this._timeoutTimer),this._runing=!1,!this._aborted)throw(e=e instanceof Sb?e:new Sb(this._url,this._request)).startTime=t,e.endTime=Date.now(),e.options={index:this._index,vid:this._vid,priOptions:this._priOptions},e}))}_startLoad(){let e=null;if(this._responseType===cb&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;const t=1024*this._currentChunkSizeKB,i=this._range[0]+this._receivedLength;let s=this._range[1];t],tast :",this._range,", SubRange, ",e)}else e=this._range,this.player.debugLog(this.TAG_NAME,"[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}_internalOpen(e){try{this._startTime=Date.now();const t=this._xhr=new XMLHttpRequest;t.open(this._method||"GET",this._url,!0),t.responseType=this._responseType,this._timeout&&(t.timeout=this._timeout),t.withCredentials=this._withCredentials,t.onload=this._onLoad.bind(this),t.onreadystatechange=this._onReadyStatechange.bind(this),t.onerror=e=>{var t,i,s;this._running=!1;const r=new Sb(this._url,this._request,null==e||null===(t=e.currentTarget)||void 0===t?void 0:t.response,"xhr.onerror.status:"+(null==e||null===(i=e.currentTarget)||void 0===i?void 0:i.status)+",statusText,"+(null==e||null===(s=e.currentTarget)||void 0===s?void 0:s.statusText));r.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(r)},t.ontimeout=e=>{this.cancel();const t=new Sb(this._url,this._request,{status:408},"timeout");this._onTimeout&&(t.isTimeout=!0,this._onTimeout(t,{index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})),t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)};const i=this._headers||{},s=yb(e);s&&(i.Range=s),i&&Object.keys(i).forEach((e=>{t.setRequestHeader(e,i[e])})),this.player.debugLog(this.TAG_NAME,"[xhr.send->] tast,",this._range,",load sub range, ",e),t.send(this._body)}catch(t){t.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}}_onReadyStatechange(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}_onLoad(e){var t;const i=e.target.status;if(i<200||i>299){const t=new Sb(this._url,null,{...e.target.response,status:i},"bad response,status:"+i);return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}let s,r=null,a=!1;const o=(null===(t=this._range)||void 0===t?void 0:t.length)>0?this._range[0]:0;if(this._responseType===cb){var n;const t=new Uint8Array(e.target.response);if(s=o+this._receivedLength,t&&t.byteLength>0){this._receivedLength+=t.byteLength;const e=Date.now()-this._startTime,i=_b(this._receivedLength,e);this.emit(mb,{speed:i,len:this._receivedLength,time:e,vid:this._vid,index:this._index,range:[s,o+this._receivedLength],priOptions:this._priOptions})}r=t,a=!((null===(n=this._range)||void 0===n?void 0:n.length)>1&&this._range[1]&&this._receivedLength], tast :",this._range,", start",s,"end ",o+this._receivedLength,",dataLen,",t?t.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",a)}else a=!0,r=e.target.response;let l={ok:i>=200&&i<300,status:i,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(l=this._transformResponse(l,this._url)||l),this._onProgress&&this._onProgress(r,a,{index:this._index,vid:this._vid,range:[s,o+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},l),a?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(vb(this._onProgress?null:r,a,l,l.headers["content-length"],l.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}cancel(){if(!this._aborted)return this._aborted=!0,this._runing=!1,super.removeAllListeners(),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),this._xhr?this._xhr.abort():void 0}static isSupported(){return"undefined"!=typeof XMLHttpRequest}get receiveLen(){return this._receivedLength}get running(){return this._running}set running(e){this._running=e}_getHeaders(e){const t=e.getAllResponseHeaders().trim().split("\r\n"),i={};for(const e of t){const t=e.split(": ");i[t[0].toLowerCase()]=t.slice(1).join(": ")}return i}}class kb extends a{constructor(e,t){super(),rc(this,"type",db),rc(this,"_queue",[]),rc(this,"_alive",[]),rc(this,"_currentTask",null),rc(this,"_config",void 0),this.player=t,this._config=function(e){return{loaderType:db,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:ub,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0,...e}}(e),this._config.loaderType!==hb&&wb.isSupported()||(this.type=hb)}destroy(){this._queue=[],this._alive=[],this._currentTask=null}isFetch(){return this.type===db}static isFetchSupport(){return wb.isSupported()}load(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?t=e:t.url=e||t.url||this._config.url,t=Object.assign({},this._config,t),t.params&&(t.params=Object.assign({},t.params)),t.headers&&fb(t.headers)&&(t.headers=Object.assign({},t.headers)),t.body&&fb(t.body)&&(t.body=Object.assign({},t.body)),t.transformRequest&&(t=t.transformRequest(t)||t);const i=new Eb(this.type,t,this.player);return i.loader.on(mb,(e=>{this.emit(mb,e)})),this._queue.push(i),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),i.promise}async cancel(){const e=this._queue.map((e=>e.cancel())).concat(this._alive.map((e=>e.cancel())));this._currentTask&&e.push(this._currentTask.cancel()),this._queue=[],this._alive=[],await Promise.all(e),await function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((t=>setTimeout(t,e)))}()}_processTask(){if(this._currentTask=this._queue.shift(),!this._currentTask)return;this._currentTask.alive&&this._alive.push(this._currentTask);const e=this._currentTask.exec().catch((e=>{}));e&&"function"==typeof e.finally&&e.finally((()=>{var e,t;null!==(e=this._currentTask)&&void 0!==e&&e.alive&&(null===(t=this._alive)||void 0===t?void 0:t.length)>0&&(this._alive=this._alive.filter((e=>e&&e!==this._currentTask))),this._processTask()}))}}const Lb="network",Cb="network_timeout",xb="other",Db="manifest",Rb="hls",Pb="demux";class Ib extends Error{constructor(e,t,i,s,r){super(r||(null==i?void 0:i.message)),this.errorType=e===Cb?Lb:e,this.originError=i,this.ext=s,this.errorMessage=this.message}static create(e,t,i,s,r){return e instanceof Ib?e:(e instanceof Error&&(i=e,e=""),e||(e=xb),new Ib(e,t,i,s,r))}static network(e){var t;return new Ib(null!=e&&e.isTimeout?Cb:Lb,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(t=e.response)||void 0===t?void 0:t.status})}}const Bb=/^#(EXT[^:]*)(?::(.*))?$/,Mb=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,Fb=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,Ub=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function Ob(e){const t=e.match(Bb);if(t&&t[1])return[t[1].replace("EXT-X-",""),t[2]]}function Nb(e){const t={};let i=Mb.exec(e);for(;i;)t[i[1]]=i[2]||i[3],i=Mb.exec(e);return t}function jb(e,t){if(!t||!e||Fb.test(e))return e;const i=Ub.exec(t);return i?"/"===e[0]?i[1]+e:i[1]+i[2]+e:e}const Gb={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function Wb(e,t){const i=Gb[e];if(i&&t&&t.length)for(let e=0;e>8*(15-t)&255}}}class Zb{static parse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!e.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");const i=function(e){return e.split(/[\r\n]/).map((e=>e.trim())).filter(Boolean)}(e);return Zb.isMediaPlaylist(e)?function(e,t){const i=new Yb;i.url=t;let s,r=new Qb,a=null,o=null,n=0,l=0,d=0,h=0,c=!1;for(;(s=e[h++])&&!c;){if("#"!==s[0]){r.sn=l,r.cc=d,r.url=jb(s,t),o&&(r.key=o.clone(l)),a&&(r.initSegment=a),i.segments.push(r),r=new Qb,l++;continue}const e=Ob(s);if(!e)continue;const[h,u]=e;switch(h){case"VERSION":i.version=parseInt(u);break;case"PLAYLIST-TYPE":i.type=null==u?void 0:u.toUpperCase();break;case"TARGETDURATION":i.targetDuration=parseFloat(u);break;case"ENDLIST":{const e=i.segments[i.segments.length-1];e&&(e.isLast=!0),i.live=!1,c=!0}break;case"MEDIA-SEQUENCE":l=i.startSN=parseInt(u);break;case"DISCONTINUITY-SEQUENCE":d=i.startCC=parseInt(u);break;case"DISCONTINUITY":d++;break;case"BYTERANGE":r.setByteRange(u,i.segments[i.segments.length-1]);break;case"EXTINF":{const[e,t]=u.split(",");r.start=n,r.duration=parseFloat(e),n+=r.duration,r.title=t}break;case"KEY":{const e=Nb(u);if("NONE"===e.METHOD){o=null;break}if("AES-128"!==e.METHOD)throw new Error(`encrypt ${e.METHOD}/${e.KEYFORMAT} is not supported`);if(o=new Xb,o.method=e.METHOD,o.url=/^blob:/.test(e.URI)?e.URI:jb(e.URI,t),o.keyFormat=e.KEYFORMAT||"identity",o.keyFormatVersions=e.KEYFORMATVERSIONS,e.IV){let t=e.IV.slice(2);t=(1&t.length?"0":"")+t,o.iv=new Uint8Array(t.length/2);for(let e=0,i=t.length/2;e{e.id=t})),a.length&&(a.forEach(((e,t)=>{e.id=t})),i.streams.forEach((e=>{e.audioGroup&&(e.audioStreams=a.filter((t=>t.group===e.audioGroup)))}))),o.length&&(o.forEach(((e,t)=>{e.id=t})),i.streams.forEach((e=>{e.subtitleGroup&&(e.subtitleStreams=o.filter((t=>t.group===e.subtitleGroup)))}))),i}(i,t)}static isMediaPlaylist(e){return e.includes("#EXTINF:")||e.includes("#EXT-X-TARGETDURATION:")}}class ev{constructor(e){rc(this,"_onLoaderRetry",((e,t)=>{this.hls.emit(Ys,{error:Ib.network(e),retryTime:t})})),this.hls=e,this.player=e.player,this.TAG_NAME="HlsManifestLoader",this._timer=null;const{retryCount:t,retryDelay:i,loadTimeout:s,fetchOptions:r}=this.hls.config;this._loader=new kb({...r,responseType:"text",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._audioLoader=new kb({...r,responseType:"text",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._subtitleLoader=new kb({...r,responseType:"text",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player)}async destroy(){await this.stopPoll(),this._audioLoader&&(this._audioLoader.destroy(),this._audioLoader=null),this._subtitleLoader&&(this._subtitleLoader.destroy(),this._subtitleLoader=null),this._loader&&(this._loader.destroy(),this._loader=null)}async load(e,t,i){this.player.debugLog(this.TAG_NAME,"load()",e,t,i);const s=[this._loader.load(e)];let r,a,o,n,l,d;t&&s.push(this._audioLoader.load(t)),i&&s.push(this._subtitleLoader.load(i));try{const[e,i,n]=await Promise.all(s);if(!e)return[];r=e.data,t?(a=null==i?void 0:i.data,o=null==n?void 0:n.data):o=null==i?void 0:i.data}catch(e){throw Ib.network(e)}try{var h;if(n=Zb.parse(r,e),!1===(null===(h=n)||void 0===h?void 0:h.live)&&n.segments&&!n.segments.length)throw new Error("empty segments list");a&&(l=Zb.parse(a,t)),o&&(d=Zb.parse(o,i))}catch(e){throw new Ib(Db,Rb,e)}return n&&(n.isMaster?this.hls.emit(zs,{playlist:n}):this.hls.emit($s,{playlist:n})),[n,l,d]}poll(e,t,i,s,r,a){clearTimeout(this._timer),a=a||3e3;let o=this.hls.config.pollRetryCount;const n=async()=>{clearTimeout(this._timer);try{const r=await this.load(e,t,i);if(!r[0])return;o=this.hls.config.pollRetryCount,s(r[0],r[1],r[2])}catch(e){o--,o<=0&&r(e)}this._timer=setTimeout(n,a)};this._timer=setTimeout(n,a)}stopPoll(){return clearTimeout(this._timer),this.cancel()}cancel(){return Promise.all([this._loader.cancel(),this._audioLoader.cancel()])}}class tv{constructor(){rc(this,"_chunkSpeeds",[]),rc(this,"_speeds",[])}addRecord(e,t){e&&t&&(this._speeds.push(8e3*e/t),this._speeds=this._speeds.slice(-3))}addChunkRecord(e,t){e&&t&&(this._chunkSpeeds.push(8e3*e/t),this._chunkSpeeds=this._chunkSpeeds.slice(-100))}getAvgSpeed(){return this._chunkSpeeds.length||this._speeds.length?this._speeds.length?this._speeds.reduce(((e,t)=>e+t))/this._speeds.length:this._chunkSpeeds.reduce(((e,t)=>e+t))/this._chunkSpeeds.length:0}getLatestSpeed(){return this._chunkSpeeds.length||this._speeds.length?this._speeds.length?this._speeds[this._speeds.length-1]:this._chunkSpeeds[this._chunkSpeeds.length-1]:0}reset(){this._chunkSpeeds=[],this._speeds=[]}}class iv{constructor(e){rc(this,"_emitOnLoaded",((e,t)=>{const{data:i,response:s,option:r}=e,{firstByteTime:a,startTime:o,endTime:n,contentLength:l}=r||{},d=n-o;this._bandwidthService.addRecord(l||i.byteLength,d),this.hls.emit(Xs,{time:d,byteLength:l,url:t}),this.hls.emit(Zs,{url:t,elapsed:d||0}),this.hls.emit(Ks,{url:t,responseUrl:s.url,elapsed:a-o}),this.hls.emit(er,{headers:s.headers})})),rc(this,"_onLoaderRetry",((e,t)=>{this.hls.emit(Ys,{error:Ib.network(e),retryTime:t})})),this.hls=e,this.player=e.player,this._bandwidthService=new tv;const{retryCount:t,retryDelay:i,loadTimeout:s,fetchOptions:r}=this.hls.config;this._segmentLoader=new kb({...r,responseType:"arraybuffer",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._audioSegmentLoader=new kb({...r,responseType:"arraybuffer",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player),this._keyLoader=new kb({...r,responseType:"arraybuffer",retry:t,retryDelay:i,timeout:s,onRetryError:this._onLoaderRetry},this.player)}destroy(){this.reset(),this._keyLoader&&(this._keyLoader.destroy(),this._keyLoader=null),this._audioSegmentLoader&&(this._audioSegmentLoader.destroy(),this._audioSegmentLoader=null),this._segmentLoader&&(this._segmentLoader.destroy(),this._segmentLoader=null)}speedInfo(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}resetBandwidth(){this._bandwidthService.reset()}load(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i;const r=[];return e&&(r[0]=this.loadVideoSegment(e,i)),t&&(r[1]=this.loadAudioSegment(t,s)),Promise.all(r)}loadVideoSegment(e,t){return this._loadSegment(this._segmentLoader,e,t)}loadAudioSegment(e,t){return this._loadSegment(this._audioSegmentLoader,e,t)}async _loadSegment(e,t,i){var s;let r,a,o,n,l;const d=[];if(this.hls.emit(Qs,{url:t.url}),d[0]=e.load(t.url),i&&t.initSegment){var h;const i=t.initSegment.url;r=this._mapCache[i],r||(this.hls.emit(Qs,{url:i}),d[1]=e.load(i).then((e=>{if(e){Object.keys(this._mapCache)>30&&(this._mapCache={}),r=this._mapCache[i]=e.data,this._emitOnLoaded(e,i)}})));const s=null===(h=t.initSegment.key)||void 0===h?void 0:h.url;s&&(l=t.initSegment.key.iv,n=this._keyCache[s],n||(this.hls.emit(Qs,{url:s}),d[2]=this._keyLoader.load(s).then((e=>{e&&(n=this._keyCache[s]=e.data,this._emitOnLoaded(e,s))}))))}const c=null===(s=t.key)||void 0===s?void 0:s.url;c&&(o=t.key.iv,a=this._keyCache[c],a||(this.hls.emit(Qs,{url:c}),d[3]=this._keyLoader.load(c).then((e=>{e&&(a=this._keyCache[c]=e.data,this._emitOnLoaded(e,c))}))));const[u]=await Promise.all(d);if(!u)return;const p=u.data;return this._emitOnLoaded(u,t.url),{data:p,map:r,key:a,mapKey:n,keyIv:o,mapKeyIv:l}}reset(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}async cancel(){await Promise.all([this._keyLoader.cancel(),this._segmentLoader.cancel(),this._audioSegmentLoader.cancel()])}}class sv{constructor(e,t,i){this.live=void 0,this.id=0,this.bitrate=0,this.width=0,this.height=0,this.name="",this.url="",this.audioCodec="",this.videoCodec="",this.textCodec="",this.startCC=0,this.endCC=0,this.startSN=0,this.endSN=-1,this.totalDuration=0,this.targetDuration=0,this.snDiff=null,this.segments=[],this.audioStreams=[],this.subtitleStreams=[],this.closedCaptions=[],this.currentAudioStream=null,this.currentSubtitleStream=null,this.TAG_NAME="HlsStream",this.update(e,t,i)}get lastSegment(){return this.segments.length?this.segments[this.segments.length-1]:null}get segmentDuration(){var e;return this.targetDuration||(null===(e=this.segments[0])||void 0===e?void 0:e.duration)||0}get liveEdge(){return this.endTime}get endTime(){var e;return(null===(e=this.lastSegment)||void 0===e?void 0:e.end)||0}get currentSubtitleEndSn(){var e;return(null===(e=this.currentSubtitleStream)||void 0===e?void 0:e.endSN)||0}clearOldSegment(e,t){return this._clearSegments(e,t)}getAudioSegment(e){if(!e||!this.currentAudioStream)return;const t=e.sn-this.snDiff;return this.currentAudioStream.segments.find((e=>e.sn===t))}update(e,t){this.url=e.url,Array.isArray(e.segments)?(null!==this.live&&void 0!==this.live||(this.live=e.live),this._updateSegments(e,this),this.startCC=e.startCC,this.endCC=e.endCC,this.startSN=e.startSN,this.endSN=e.endSN||-1,this.totalDuration=e.totalDuration,this.targetDuration=e.targetDuration,this.live=e.live,t&&this.currentAudioStream&&Array.isArray(t.segments)&&(this._updateSegments(t,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&e.segments.length&&t.segments.length&&(this.snDiff=e.segments[0].sn-t.segments[0].sn))):(this.id=e.id,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.name=e.name,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.textCodec=e.textCodec,this.audioStreams=e.audioStreams,this.subtitleStreams=e.subtitleStreams,!this.currentAudioStream&&this.audioStreams.length&&(this.currentAudioStream=this.audioStreams.find((e=>e.default))||this.audioStreams[0]),!this.currentSubtitleStream&&this.subtitleStreams.length&&(this.currentSubtitleStream=this.subtitleStreams.find((e=>e.default))||this.subtitleStreams[0]))}updateSubtitle(e){if(!(e&&this.currentSubtitleStream&&Array.isArray(e.segments)))return;const t=this._updateSegments(e,this.currentSubtitleStream),i=this.currentSubtitleStream.segments;return i.length>100&&(this.currentSubtitleStream.segments=i.slice(100)),t?t.map((e=>({sn:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end,lang:this.currentSubtitleStream.lang}))):void 0}switchSubtitle(e){const t=this.subtitleStreams.find((t=>t.lang===e)),i=this.currentSubtitleStream;t&&(this.currentSubtitleStream=t,i.segments=[])}_clearSegments(e,t){let i=0;const s=this.segments;for(let t=0,r=s.length;t=e){i=t;break}return i>t&&(i=t),i&&(this.segments=this.segments.slice(i),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(i))),t-i}_updateSegments(e,t){const i=t.segments;if(this.live){const s=i[i.length-1],r=(null==s?void 0:s.sn)||-1;if(re.sn===r)),o=a<0?e.segments:e.segments.slice(a+1);if(i.length&&o.length){let e=s.end;o.forEach((t=>{t.start=e,e=t.end}));const t=(null==s?void 0:s.cc)||-1;t>o[0].cc&&o.forEach((e=>e.cc+=t))}return t.endSN=e.endSN,t.segments=i.concat(o),o}}else t.segments=e.segments}}class rv{constructor(e){this.hls=e,this.player=e.player,this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1,this.TAG_NAME="HlsPlaylist"}destroy(){this.reset()}get lastSegment(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.lastSegment}get currentSegment(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer]}get nextSegment(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer+1]}get currentSegments(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.segments}get currentSubtitleEndSn(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.currentSubtitleEndSn}get liveEdge(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.liveEdge}get totalDuration(){var e;return(null===(e=this.currentStream)||void 0===e?void 0:e.totalDuration)||0}get seekRange(){const e=this.currentSegments;if(e&&e.length)return[e[0].start,e[e.length-1].end]}get isEmpty(){var e;return!(null!==(e=this.currentSegments)&&void 0!==e&&e.length)}get isLive(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.live}get hasSubtitle(){var e;return!(null===(e=this.currentStream)||void 0===e||!e.currentSubtitleStream)}getAudioSegment(e){var t;return null===(t=this.currentStream)||void 0===t?void 0:t.getAudioSegment(e)}moveSegmentPointer(e){var t;null==e&&(e=this._segmentPointer+1),this._segmentPointer=Sa(e,-1,null===(t=this.currentSegments)||void 0===t?void 0:t.length),this.player.debugLog(this.TAG_NAME,`moveSegmentPointer() and param pos is ${e} and clamp result is ${this._segmentPointer}`)}reset(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}getSegmentByIndex(e){var t;return null===(t=this.currentSegments)||void 0===t?void 0:t[e]}setNextSegmentByIndex(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._segmentPointer=e-1,this.player.debugLog(this.TAG_NAME,"setNextSegmentByIndex()",e,this._segmentPointer)}findSegmentIndexByTime(e){const t=this.currentSegments;if(t){for(let i,s=0,r=t.length;s=i.start&&ee.url)).forEach(((e,t)=>{this.streams[t]?this.streams[t].update(e):this.streams[t]=new sv(e)})),this.currentStream=this.streams[0];else if(Array.isArray(e.segments)){const s=this.currentStream;if(s){s.update(e,t,i);const r=s.updateSubtitle(i);r&&this.hls.emit(Vs,{list:r})}else this.reset(),this.currentStream=this.streams[0]=new sv(e,t,i)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce(((e,t)=>e+=t.duration),0))}switchSubtitle(e){var t;null===(t=this.currentStream)||void 0===t||t.switchSubtitle(e)}clearOldSegment(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;const t=this.currentStream;if(!this.dvrWindow||!t)return;const i=t.endTime-this.dvrWindow;if(i<=0)return void this.player.debugLog(this.TAG_NAME,`clearOldSegment() stream.endTime:${t.endTime}, this.dvrWindow:${this.dvrWindow} startTime <= 0`);const s=t.segments;if(s.length<=e)return void this.player.debugLog(this.TAG_NAME,`clearOldSegment() segments.length:${s.length} <= maxPlaylistSize:${e}`);const r=this._segmentPointer;this._segmentPointer=t.clearOldSegment(i,r),this.player.debugLog(this.TAG_NAME,"clearOldSegment() update _segmentPointer:",r,this._segmentPointer),this.player.debugLog(this.TAG_NAME,"currentSegments",this.currentSegments)}checkSegmentTrackChange(e,t){const i=this.findSegmentIndexByTime(e),s=this.getSegmentByIndex(i);if(!s)return;if(!s.hasAudio&&!s.hasVideo)return;if(2!==t&&s.hasAudio&&s.hasVideo)return s;if(s.end-e>.3)return;const r=this.getSegmentByIndex(i+1);return r&&(r.hasAudio||r.hasVideo)&&(r.hasAudio!==s.hasAudio||r.hasVideo!==s.hasVideo)?r:void 0}}class av{constructor(e,t){this.hls=e,this.player=t;const i=window.crypto||window.msCrypto;this.subtle=i&&(i.subtle||i.webkitSubtle),this.externalDecryptor=null}decrypt(e,t){if(!e&&!t)return;const i=[];return e&&(i[0]=this._decryptSegment(e)),t&&(i[1]=this._decryptSegment(t)),Promise.all(i)}async _decryptSegment(e){let t=e.data;return e.key&&(t=await this._decryptData(e.data,e.key,e.keyIv)),e.map?Fh(e.map,t):t}async _decryptData(e,t,i){if(this.externalDecryptor)return await this.externalDecryptor.decrypt(e,t,i);if(this.subtle){const s=await this.subtle.importKey("raw",t,{name:"AES-CBC"},!1,["encrypt","decrypt"]),r=await this.subtle.decrypt({name:"AES-CBC",iv:i},s,e);return new Uint8Array(r)}e=$d(e),t=$d(t),i=$d(i);return function(e){const{words:t}=e,{sigBytes:i}=e,s=new Uint8Array(i);for(let e=0;e>>2]>>>24-e%4*8&255;return s}(Vd.AES.decrypt({ciphertext:e},t,{iv:i,mode:Vd.mode.CBC}))}}class ov extends _h{constructor(e){super(e),this.player=e,this._pmtId=-1,this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[],this._gopId=0,this._videoPid=-1,this._audioPid=-1,this._codecType=Pt,this._audioCodecType=Ft,this._vps=null,this._sps=null,this._pps=null,this.TAG_NAME="HlsTsDemux",this.videoTrack=ov.initVideoTrack(),this.audioTrack=ov.initAudioTrack(),this._baseDts=-1,this._baseDtsInited=!1,this._basefps=25,this._hasAudio=!1,this._hasVideo=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._isSendAACSeqHeader=!1,this.workerClearTimeout=null,this.workerUrl=null,this.loopWorker=null,this.tempSampleListInfo={},this._isUseWorker()&&this._initLoopWorker(),this.player.isPlayVod()&&this._isUseWorker()&&this.player.on(vt.playVodRateChange,(e=>{this.player.debugLog(this.TAG_NAME,"listen playVodRateChange",e),this._postMessageToLoopWorker("updatePlayRate",{rate:e})})),this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.workerUrl&&(URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.loopWorker&&(this.loopWorker.postMessage({cmd:"destroy"}),this.loopWorker.terminate(),this.loopWorker=null),this.videoTrack=null,this.audioTrack=null,this.tempSampleListInfo={},this._baseDts=-1,this._baseDtsInited=!1,this._basefps=25,this._hasCalcFps=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._isSendAACSeqHeader=!1,this.player.debugLog(this.TAG_NAME,"destroy")}static initVideoTrack(){return{samples:[]}}static initAudioTrack(){return{samples:[]}}static probe(e){return!!e.length&&(71===e[0]&&71===e[188]&&71===e[376])}_parsePES(e){const t=e[8];if(null==t||e.lengthe.length-6)return;let r,a;const o=e[7];return 192&o&&(r=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&o?(a=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,r-a>54e5&&(r=a)):a=r),{data:e.subarray(9+t),pts:r,dts:a,originalPts:r,originalDts:a}}_demux(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t&&(this._pmtId=-1,this.videoTrack=ov.initVideoTrack(),this.audioTrack=ov.initAudioTrack()),!i||t?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[],this.player.isPlayVod()&&this.player.playVod.isSeeking()&&(this.videoTrack.samples=[],this.audioTrack.samples=[])):(this.videoTrack.samples=[],this.audioTrack.samples=[],this._remainingPacketData&&(e=Fh(this._remainingPacketData,e),this._remainingPacketData=null));let s=e.length;const r=s%188;r&&(this._remainingPacketData=e.subarray(s-r),s-=r);for(let t=0;t>4>1){if(r=t+5+e[t+4],r===t+188)continue}else r=t+4;switch(s){case 0:i&&(r+=e[r]+1),this._pmtId=(31&e[r+10])<<8|e[r+11];break;case this._pmtId:{i&&(r+=e[r]+1);const t=r+3+((15&e[r+1])<<8|e[r+2])-4;for(r+=12+((15&e[r+10])<<8|e[r+11]);r=t)return[];const r=[];for(;s{const t=s?e[0]>>>1&63:31&e[0];switch(t){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!s&&5!==t||s&&5===t)break;r.isIFrame=!0,this._gopId++;break;case 6:case 39:case 40:if(!s&&6!==t||s&&6===t)break;const a=ga(function(e){const t=e.byteLength,i=[];let s=1;for(;s=i)return;const r=s,a=[],o=(60&e[s+2])>>>2,n=Yr[o];if(!n)throw new Error(`Invalid sampling index: ${o}`);const l=1+((192&e[s+2])>>>6),d=(1&e[s+2])<<2|(192&e[s+3])>>>6;let h,c,u=0;const p=sa(n);for(;s+7>5,i-s=i?void 0:e.subarray(s),frames:a,samplingFrequencyIndex:o,sampleRate:n,objectType:l,channelCount:d,originCodec:`mp4a.40.${l}`}}(e.data,e.originalPts);if(t){if(this.audioTrack.codec=t.codec,this.audioTrack.sampleRate=t.sampleRate,this.audioTrack.channelCount=t.channelCount,!this._isSendAACSeqHeader){const e=Zr({profile:t.objectType,sampleRate:t.samplingFrequencyIndex,channel:t.channelCount});this._isSendAACSeqHeader=!0,this.player.debugLog(this.TAG_NAME,"aac seq header",`profile: ${t.objectType}, sampleRate:${t.sampleRate},sampleRateIndex: ${t.samplingFrequencyIndex}, channel: ${t.channelCount}`),this._doDecodeByHls(e,Ve,0,!1,0)}if(this._isSendAACSeqHeader){const e=[];t.frames.forEach((t=>{const i=t.pts,s=new Uint8Array(t.data.length+2);s.set([175,1],0),s.set(t.data,2);const r={type:Ve,pts:i,dts:i,payload:s};e.push(r)})),this.audioTrack.samples=this.audioTrack.samples.concat(e)}else this.player.debugWarn(this.TAG_NAME,"aac seq header not send")}else this.player.debugWarn(this.TAG_NAME,"aac parseADTS error")}this._audioPesData=[]}else e&&"startPrefixError"===e.code&&(this._audioPesData=[])}_fix(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=Math.round(9e4*e);const s=this.videoTrack,r=this.audioTrack,a=s.samples,o=r.samples;if(!a.length&&!o.length)return;const n=a[0],l=o[0];let d=0;if(a.length&&o.length&&(d=n.dts-l.pts),this._baseDtsInited||this._calculateBaseDts(),t&&(this._calculateBaseDts(),this._baseDts-=e),!i){this._videoNextDts=d>0?e+d:e,this._audioNextPts=d>0?e:e-d;const t=n?n.dts-this._baseDts-this._videoNextDts:0,i=l?l.pts-this._baseDts-this._audioNextPts:0;Math.abs(t||i)>Rr&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=e)}this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(r),this._fixVideo(s);let h=s.samples.concat(r.samples);h=h.map((e=>(e.dts=Math.round(e.dts/90),e.pts=Math.round(e.pts/90),e.cts=e.pts-e.dts,e))).sort(((e,t)=>e.dts-t.dts)),h.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,this._isUseWorker()?this.loopWorker.postMessage({...e,payload:t,cmd:"sample"},[t.buffer]):e.type===ze?this._doDecodeVideo({...e,payload:t}):e.type===Ve&&this._doDecodeAudio({...e,payload:t})})),Io(this._hasCalcFps)&&this._isUseWorker()&&(this._hasCalcFps=this._calcDecodeFps(h))}_calculateBaseDts(){const e=this.audioTrack,t=this.videoTrack,i=e.samples,s=t.samples;if(!i.length&&!s.length)return!1;let r=1/0,a=1/0;i.length&&(e.baseDts=r=i[0].pts),s.length&&(t.baseDts=a=s[0].dts),this._baseDts=Math.min(r,a);const o=a-r;return Number.isFinite(o)&&Math.abs(o)>45e3&&this.player.debugWarn(this.TAG_NAME,`large av first frame gap,\n video pts: ${a},\n audio pts: ${r},\n base dts: ${this._baseDts},\n detect is: ${o}`),this._baseDtsInited=!0,!0}_resetBaseDtsWhenStreamBreaked(){if(this._baseDtsInited&&this._videoTimestampBreak&&this._audioTimestampBreak){if(!this._calculateBaseDts(this.audioTrack,this.videoTrack))return;this._baseDts-=Math.min(this._audioNextPts,this._videoNextDts),this._audioLastSample=null,this._videoLastSample=null,this._videoTimestampBreak=!1,this._audioTimestampBreak=!1}}_fixAudio(e){const t=e.samples;t.length&&(t.forEach((e=>{e.pts-=this._baseDts,e.dts=e.pts})),this._doFixAudioInternal(e,t,9e4))}_fixVideo(e){const t=e.samples;if(!t.length)return;if(t.forEach((e=>{e.dts-=this._baseDts,e.pts-=this._baseDts})),void 0===this._videoNextDts){const e=t[0];this._videoNextDts=e.dts}const i=t.length;let s=0;const r=t[0],a=t[1],o=this._videoNextDts-r.dts;let n;Math.abs(o)>45e3&&(r.dts+=o,r.pts+=o,this.player.debugWarn(this.TAG_NAME,`large video gap between chunk,\n next dts is ${this._videoNextDts},\n first dts is ${r.dts},\n next dts is ${a&&a.dts},\n duration is ${o}`),a&&Math.abs(a.dts-r.dts)>Rr&&(this._videoTimestampBreak=!0,t.forEach(((e,t)=>{0!==t&&(e.dts+=o,e.pts+=o)}))));const l=e.samples[0],d=e.samples[i-1];n=1===i?9e3:Math.floor((d.dts-l.dts)/(i-1));for(let r=0;rRr||s<0){this._videoTimestampBreak=!0,s=this._audioTimestampBreak?n:Math.max(s,2700);const i=this._audioNextPts||0;o&&o.dts>i&&(s=n),this.player.debugWarn(this.TAG_NAME,`large video gap between frames,\n time is ${a/e.timescale},\n dts is ${a},\n origin dts is ${t[r].originalDts},\n next dts is ${this._videoNextDts},\n sample Duration is ${s} ,\n ref Sample DurationInt is ${n}`)}t[r].duration=s,this._videoNextDts+=s}}_doFixAudioInternal(e,t,i){e.sampleDuration||(e.sampleDuration=sa(e.timescale,i));const s=e.sampleDuration;if(void 0===this._audioNextPts){const e=t[0];this._audioNextPts=e.pts}for(let i=0;i=3*s&&o<=xr&&!Ba()){ia(e.codec,e.channelCount)||t[0].data.subarray();const n=Math.floor(o/s);Math.abs(a.pts-this._lastAudioExceptionGapDot)>Dr&&(this._lastAudioExceptionGapDot=a.pts),this.player.debugWarn(this.TAG_NAME,`audio gap detected,\n pts is ${t.pts},\n originPts is ${t.originalPts},\n count is ${n},\n nextPts is ${r},\n ref sample duration is ${s}`);for(let e=0;e=-9e4?(Math.abs(a.pts-this._lastAudioExceptionOverlapDot)>Dr&&(this._lastAudioExceptionOverlapDot=a.pts,this.player.debugWarn(this.TAG_NAME,`audio overlap detected,\n pts is ${a.pts},\n originPts is ${a.originalPts},\n nextPts is ${r},\n ref sample duration is ${s}`)),t.splice(i,1),i--):(Math.abs(o)>=xr&&(this._audioTimestampBreak=!0,Math.abs(a.pts-this._lastAudioExceptionLargeGapDot)>Dr&&(this._lastAudioExceptionLargeGapDot=a.pts,this.player.debugWarn(this.TAG_NAME,`large audio gap detected,\n time is ${a.pts/1e3}\n pts is ${a.pts},\n originPts is ${a.originalPts},\n nextPts is ${r},\n sample duration is ${o}\n ref sample duration is ${s}`))),a.dts=a.pts=r,this._audioNextPts+=s)}}_isUseWorker(){return!this.player.isUseMSE()}_initLoopWorker(){this.player.debugLog(this.TAG_NAME,"_initLoopWorker()");const e=Go(function(){const e=1,t=2;let i=new class{constructor(){this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.allSampleList=[]}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(e){console.log(`JbPro:[TsLoader LoopWorker] updateBaseFps() baseFps is ${e}`),this.baseFps=e,this._clearInterval(),this._startInterval()}updatePlayRate(e){console.log(`JbPro:[TsLoader LoopWorker] updatePlayRate() rate is ${e}`),this.playRate=e,this._clearInterval(),this._startInterval()}seekSampleRange(e){console.log(`JbPro:[TsLoader LoopWorker] seekSampleRange() time is ${e}`);const i=1e3*e;let s=0,r=-1;for(let e=0;e=-2e3))return void console.log(`JbPro:[TsLoader LoopWorker] pushSample() type is ${e.type} , seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, and isIFrame ${e.isIFrame} , diff is ${i}ms and return`);console.log(`JbPro:[TsLoader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, diff is ${i}ms and set this.seekingTime = null`),this.seekingTime=null}this.allSampleList.push(e)}_startInterval(){const e=Math.ceil(1e3/(this.baseFps*this.playRate));console.log(`JbPro:[TsLoader LoopWorker] _startInterval() fragDuration is ${e}ms`),this.fpsInterval=setInterval((()=>{let t=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=t),this.startBpsTime||(this.startBpsTime=t);const i=t-this.preLoopTimestamp;if(i>2*e&&console.warn(`JbPro:[TsLoader LoopWorker] loop interval is ${i}ms, more than ${e} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){t-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=t)}}),e)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((s=>{s.type===t?(i.videoListLength++,s.duration&&(i.buferredDuration+=Math.round(s.duration/90))):s.type===e&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let i=null;if(this.allSampleList.length)if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]);let t=this.allSampleList[0];for(;t&&t.type===e;)i=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),t=this.allSampleList[0]}else if(i.type===e){postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]);let s=this.allSampleList[0];for(;s;){if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]),s=null;break}i.type===e&&(postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),s=this.allSampleList[0])}}}};self.onmessage=e=>{const t=e.data;switch(t.cmd){case"updateBaseFps":i.updateBaseFps(t.baseFps);break;case"updatePlayRate":i.updatePlayRate(t.rate);break;case"seekSampleRange":i.seekSampleRange(t.time);break;case"cleanSampleList":i.cleanSampleList();break;case"setSeekingTime":i.setSeekingTime(t.time);break;case"pause":i.pause();break;case"resume":i.resume();break;case"sample":i.pushSample(t);break;case"destroy":i.destroy(),i=null}}}.toString()),t=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(t);let s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ne),s.onmessage=e=>{const t=e.data;switch(t.cmd){case"decodeVideo":this._doDecodeVideo(t);break;case"decodeAudio":this._doDecodeAudio(t);break;case"sampleListInfo":if(this.tempSampleListInfo=t,this.player.isPlayVodNotUseMSE()){const e=this.geVodLoadedTime(),t=this.player.getPlayVodDuration();e&&t&&this.player.emit(vt.playVodTimeCache,e/(1e3*t))}}},this.loopWorker=s}_postMessageToLoopWorker(e,t){this._isUseWorker()&&(this.loopWorker?this.loopWorker.postMessage({cmd:e,...t}):this.player.debugWarn(this.TAG_NAME,"loop worker is not init, can not post message"))}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this.player.updateStats({abps:t.byteLength});let i=this.cryptoPayloadAudio(t);this._doDecodeByHls(i,Ve,e.dts,!1,0)}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?yl(t,e.isIFrame):sl(t,e.isIFrame),this.player.updateStats({dts:e.dts,vbps:i.byteLength});const s=e.pts-e.dts;let r=this.cryptoPayload(i,e.isIFrame);this._doDecodeByHls(r,ze,e.dts,e.isIFrame,s)}getBuferredDuration(){return this.tempSampleListInfo.buferredDuration||0}getSampleListLength(){return this.tempSampleListInfo.allListLength||0}getSampleAudioListLength(){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){return this.tempSampleListInfo.videoListLength||0}getInputByteLength(){return this._remainingPacketData&&this._remainingPacketData.byteLength||0}getSampleRange(){return{start:this.tempSampleListInfo.start||0,end:this.tempSampleListInfo.end||0}}seekSampleRange(e){this._postMessageToLoopWorker("seekSampleRange",{time:e})}cleanSampleListAndSetSeekTime(e){Io(this.player.isUseMSE())&&(this.clearBuffer(!0),this._postMessageToLoopWorker("cleanSampleList"),this._postMessageToLoopWorker("setSeekingTime",{time:e}))}pause(){this._postMessageToLoopWorker("pause")}resume(){this._postMessageToLoopWorker("resume")}geVodLoadedTime(){let e=0;return e=this.getSampleRange().end,e}}function nv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<8)+(e[t+1]||0)}function lv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function dv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=Math.pow(2,32);return lv(e,t)*i+lv(e,t+4)}const hv="aac",cv="g7110a",uv="g7110m",pv="avc",mv="hevc";class gv{static getFrameDuration(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}static getRateIndexByRate(e){return gv.FREQ.indexOf(e)}}function fv(e,t,i,s,r,a){const o=[],n=null==r?void 0:r.entries,l=t.entries,d=s.entries,h=i.entrySizes,c=null==a?void 0:a.entries;let u,p,m;c&&(u={},c.forEach((e=>{u[e-1]=!0}))),n&&(p=[],n.forEach((e=>{let{count:t,offset:i}=e;for(let e=0;e{let{count:t,delta:s}=e;for(let e=0;e=S&&(b++,S=l[b+1]?l[b+1].firstChunk-1:1/0),_+=l[b].samplesPerChunk)})),o}function yv(e,t){return e.dataReferenceIndex=nv(t,6),e.width=nv(t,24),e.height=nv(t,26),e.horizresolution=lv(t,28),e.vertresolution=lv(t,32),e.frameCount=nv(t,40),e.depth=nv(t,74),78}function Av(e,t){return e.dataReferenceIndex=nv(t,6),e.channelCount=nv(t,16),e.sampleSize=nv(t,18),e.sampleRate=lv(t,24)/65536,28}function bv(e,t,i){if(!e)return;if(e.size!==e.data.length)throw new Error(`box ${e.type} size !== data.length`);const s={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(s.version=e.data[e.headerSize],s.flags=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<16)+(e[t+1]<<8)+(e[t+2]||0)}(e.data,e.headerSize+1),s.headerSize+=4),i(s,e.data.subarray(s.headerSize),s.start+s.headerSize),s}rc(gv,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);const vv=function(e,t,i){const s=String(i),r=t>>0;let a=Math.ceil(r/s.length);const o=[],n=String(e);for(;a--;)o.push(s);return o.join("").substring(0,r-n.length)+n},_v=function(){const e=[];for(var t=arguments.length,i=new Array(t),s=0;s{e.push(vv(Number(t).toString(16),2,0))})),e[0]};class Sv{static probe(e){return!!Sv.findBox(e,["ftyp"])}static findBox(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const s=[];if(!e)return s;let r=0,a="",o=0;for(;e.length>7;){if(r=lv(e),a=String.fromCharCode.apply(null,e.subarray(4,8)),o=8,1===r?(r=dv(e,8),o+=8):r||(r=e.length),!t[0]||a===t[0]){const n=e.subarray(0,r);if(!(t.length<2))return Sv.findBox(n.subarray(o),t.slice(1),i+o);s.push({start:i,size:r,headerSize:o,type:a,data:n})}i+=r,e=e.subarray(r)}return s}static tfhd(e){return bv(e,!0,((e,t)=>{e.trackId=lv(t);let i=4;const s=1&e.flags,r=2&e.flags,a=8&e.flags,o=16&e.flags,n=32&e.flags;s&&(i+=4,e.baseDataOffset=lv(t,i),i+=4),r&&(e.sampleDescriptionIndex=lv(t,i),i+=4),a&&(e.defaultSampleDuration=lv(t,i),i+=4),o&&(e.defaultSampleSize=lv(t,i),i+=4),n&&(e.defaultSampleFlags=lv(t,i))}))}static sidx(e){return bv(e,!0,((e,t)=>{let i=0;e.reference_ID=lv(t,i),i+=4,e.timescale=lv(t,i),i+=4,0===e.version?(e.earliest_presentation_time=lv(t,i),i+=4,e.first_offset=lv(t,i),i+=4):(e.earliest_presentation_time=dv(t,i),i+=8,e.first_offset=dv(t,i),i+=8),i+=2,e.references=[];const s=nv(t,i);i+=2;for(let r=0;r>31&1,s.referenced_size=2147483647&r,s.subsegment_duration=lv(t,i),i+=4,r=lv(t,i),i+=4,s.starts_with_SAP=r>>31&1,s.SAP_type=r>>28&7,s.SAP_delta_time=268435455&r}}))}static moov(e){return bv(e,!1,((e,t,i)=>{e.mvhd=Sv.mvhd(Sv.findBox(t,["mvhd"],i)[0]),e.trak=Sv.findBox(t,["trak"],i).map((e=>Sv.trak(e))),e.pssh=Sv.pssh(Sv.findBox(t,["pssh"],i)[0])}))}static mvhd(e){return bv(e,!0,((e,t)=>{let i=0;1===e.version?(e.timescale=lv(t,16),e.duration=dv(t,20),i+=28):(e.timescale=lv(t,8),e.duration=lv(t,12),i+=16),e.nextTrackId=lv(t,i+76)}))}static trak(e){return bv(e,!1,((e,t,i)=>{e.tkhd=Sv.tkhd(Sv.findBox(t,["tkhd"],i)[0]),e.mdia=Sv.mdia(Sv.findBox(t,["mdia"],i)[0])}))}static tkhd(e){return bv(e,!0,((e,t)=>{let i=0;1===e.version?(e.trackId=lv(t,16),e.duration=dv(t,24),i+=32):(e.trackId=lv(t,8),e.duration=lv(t,16),i+=20),e.width=lv(t,i+52),e.height=lv(t,i+56)}))}static mdia(e){return bv(e,!1,((e,t,i)=>{e.mdhd=Sv.mdhd(Sv.findBox(t,["mdhd"],i)[0]),e.hdlr=Sv.hdlr(Sv.findBox(t,["hdlr"],i)[0]),e.minf=Sv.minf(Sv.findBox(t,["minf"],i)[0])}))}static mdhd(e){return bv(e,!0,((e,t)=>{let i=0;1===e.version?(e.timescale=lv(t,16),e.duration=dv(t,20),i+=28):(e.timescale=lv(t,8),e.duration=lv(t,12),i+=16);const s=nv(t,i);e.language=String.fromCharCode(96+(s>>10&31),96+(s>>5&31),96+(31&s))}))}static hdlr(e){return bv(e,!0,((e,t)=>{0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}static minf(e){return bv(e,!1,((e,t,i)=>{e.vmhd=Sv.vmhd(Sv.findBox(t,["vmhd"],i)[0]),e.smhd=Sv.smhd(Sv.findBox(t,["smhd"],i)[0]),e.stbl=Sv.stbl(Sv.findBox(t,["stbl"],i)[0])}))}static vmhd(e){return bv(e,!0,((e,t)=>{e.graphicsmode=nv(t),e.opcolor=[nv(t,2),nv(t,4),nv(t,6)]}))}static smhd(e){return bv(e,!0,((e,t)=>{e.balance=nv(t)}))}static stbl(e){return bv(e,!1,((e,t,i)=>{var s,r,a;e.stsd=Sv.stsd(Sv.findBox(t,["stsd"],i)[0]),e.stts=Sv.stts(Sv.findBox(t,["stts"],i)[0]),e.ctts=Sv.ctts(Sv.findBox(t,["ctts"],i)[0]),e.stsc=Sv.stsc(Sv.findBox(t,["stsc"],i)[0]),e.stsz=Sv.stsz(Sv.findBox(t,["stsz"],i)[0]),e.stco=Sv.stco(Sv.findBox(t,["stco"],i)[0]),e.stco||(e.co64=Sv.co64(Sv.findBox(t,["co64"],i)[0]),e.stco=e.co64);const o=null===(s=e.stsd.entries[0])||void 0===s||null===(r=s.sinf)||void 0===r||null===(a=r.schi)||void 0===a?void 0:a.tenc.default_IV_size;e.stss=Sv.stss(Sv.findBox(t,["stss"],i)[0]),e.senc=Sv.senc(Sv.findBox(t,["senc"],i)[0],o)}))}static senc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return bv(e,!0,((e,i)=>{let s=0;const r=lv(i,s);s+=4,e.samples=[];for(let a=0;a{const i=[],s=[];let r=0;for(let e=0;e<16;e++)s.push(_v(t[r+e]));if(r+=16,e.version>0){const e=lv(t,r);r+=4;for(let s=0;s<(""+e).length;s++)for(let e=0;e<16;e++){const e=t[r];r+=1,i.push(_v(e))}}const a=lv(t,r);e.data_size=a,r+=4,e.kid=i,e.system_id=s,e.buffer=t}))}static stsd(e){return bv(e,!0,((e,t,i)=>{e.entryCount=lv(t),e.entries=Sv.findBox(t.subarray(4),[],i+4).map((e=>{switch(e.type){case"avc1":case"avc2":case"avc3":case"avc4":return Sv.avc1(e);case"hvc1":case"hev1":return Sv.hvc1(e);case"mp4a":return Sv.mp4a(e);case"alaw":case"ulaw":return Sv.alaw(e);case"enca":return bv(e,!1,((e,t,i)=>{e.channelCount=nv(t,16),e.samplesize=nv(t,18),e.sampleRate=lv(t,24)/65536,t=t.subarray(28),e.sinf=Sv.sinf(Sv.findBox(t,["sinf"],i)[0]),e.esds=Sv.esds(Sv.findBox(t,["esds"],i)[0])}));case"encv":return bv(e,!1,((e,t,i)=>{e.width=nv(t,24),e.height=nv(t,26),e.horizresolution=lv(t,28),e.vertresolution=lv(t,32),t=t.subarray(78),e.sinf=Sv.sinf(Sv.findBox(t,["sinf"],i)[0]),e.avcC=Sv.avcC(Sv.findBox(t,["avcC"],i)[0]),e.hvcC=Sv.hvcC(Sv.findBox(t,["hvcC"],i)[0]),e.pasp=Sv.pasp(Sv.findBox(t,["pasp"],i)[0])}))}})).filter(Boolean)}))}static tenc(e){return bv(e,!1,((e,t)=>{let i=6;e.default_IsEncrypted=t[i],i+=1,e.default_IV_size=t[i],i+=1,e.default_KID=[];for(let s=0;s<16;s++)e.default_KID.push(_v(t[i])),i+=1}))}static schi(e){return bv(e,!1,((e,t,i)=>{e.tenc=Sv.tenc(Sv.findBox(t,["tenc"],i)[0])}))}static sinf(e){return bv(e,!1,((e,t,i)=>{e.schi=Sv.schi(Sv.findBox(t,["schi"],i)[0]),e.frma=Sv.frma(Sv.findBox(t,["frma"],i)[0])}))}static frma(e){return bv(e,!1,((e,t)=>{e.data_format="";for(let i=0;i<4;i++)e.data_format+=String.fromCharCode(t[i])}))}static avc1(e){return bv(e,!1,((e,t,i)=>{const s=yv(e,t),r=t.subarray(s);i+=s,e.avcC=Sv.avcC(Sv.findBox(r,["avcC"],i)[0]),e.pasp=Sv.pasp(Sv.findBox(r,["pasp"],i)[0])}))}static avcC(e){return bv(e,!1,((e,t)=>{e.configurationVersion=t[0],e.AVCProfileIndication=t[1],e.profileCompatibility=t[2],e.AVCLevelIndication=t[3],e.codec=function(e){let t,i="avc1.";for(let s=0;s<3;s++)t=e[s].toString(16),t.length<2&&(t=`0${t}`),i+=t;return i}([t[1],t[2],t[3]]),e.lengthSizeMinusOne=3&t[4],e.spsLength=31&t[5],e.sps=[];let i=6;for(let s=0;s{const s=yv(e,t),r=t.subarray(s);i+=s,e.hvcC=Sv.hvcC(Sv.findBox(r,["hvcC"],i)[0]),e.pasp=Sv.pasp(Sv.findBox(r,["pasp"],i)[0])}))}static hvcC(e){return bv(e,!1,((t,i)=>{t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=i[0];const s=i[1];t.generalProfileSpace=s>>6,t.generalTierFlag=(32&s)>>5,t.generalProfileIdc=31&s,t.generalProfileCompatibility=lv(i,2),t.generalConstraintIndicatorFlags=i.subarray(6,12),t.generalLevelIdc=i[12],t.avgFrameRate=nv(i,19),t.numOfArrays=i[22],t.vps=[],t.sps=[],t.pps=[];let r=23,a=0,o=0,n=0;for(let e=0;e{e.hSpacing=lv(t),e.vSpacing=lv(t,4)}))}static mp4a(e){return bv(e,!1,((e,t,i)=>{const s=Av(e,t);e.esds=Sv.esds(Sv.findBox(t.subarray(s),["esds"],i+s)[0])}))}static esds(e){return bv(e,!0,((e,t)=>{e.codec="mp4a.";let i=0,s=0,r=0,a=0;for(;t.length;){for(i=0,a=t[i],s=t[i+1],i+=2;128&s;)r=(127&s)<<7,s=t[i],i+=1;if(r+=127&s,3===a)t=t.subarray(i+3);else{if(4!==a){if(5===a){const s=e.config=t.subarray(i,i+r);let a=(248&s[0])>>3;return 31===a&&s.length>=2&&(a=32+((7&s[0])<<3)+((224&s[1])>>5)),e.objectType=a,e.codec+=a.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}e.codec+=(t[i].toString(16)+".").padStart(3,"0"),t=t.subarray(i+13)}}}))}static alaw(e){return bv(e,!1,((e,t)=>{Av(e,t)}))}static stts(e){return bv(e,!0,((e,t)=>{const i=lv(t),s=[];let r=4;for(let e=0;e{const i=lv(t),s=[];let r=4;if(1===e.version)for(let e=0;e{const i=lv(t),s=[];let r=4;for(let e=0;e{const i=lv(t),s=lv(t,4),r=[];if(!i){let e=8;for(let i=0;i{const i=lv(t),s=[];let r=4;for(let e=0;e{const i=lv(t),s=[];let r=4;for(let e=0;e{const i=lv(t),s=[];let r=4;for(let e=0;e{e.mfhd=Sv.mfhd(Sv.findBox(t,["mfhd"],i)[0]),e.traf=Sv.findBox(t,["traf"],i).map((e=>Sv.traf(e)))}))}static mfhd(e){return bv(e,!0,((e,t)=>{e.sequenceNumber=lv(t)}))}static traf(e){return bv(e,!1,((e,t,i)=>{e.tfhd=Sv.tfhd(Sv.findBox(t,["tfhd"],i)[0]),e.tfdt=Sv.tfdt(Sv.findBox(t,["tfdt"],i)[0]),e.trun=Sv.trun(Sv.findBox(t,["trun"],i)[0])}))}static trun(e){return bv(e,!0,((e,t)=>{const{version:i,flags:s}=e,r=t.length,a=e.sampleCount=lv(t);let o=4;if(r>o&&1&s&&(e.dataOffset=-(1+~lv(t,o)),o+=4),r>o&&4&s&&(e.firstSampleFlags=lv(t,o),o+=4),e.samples=[],r>o){let r;for(let n=0;n{1===e.version?e.baseMediaDecodeTime=dv(t):e.baseMediaDecodeTime=lv(t)}))}static probe(e){return!!Sv.findBox(e,["ftyp"])}static parseSampleFlags(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}static moovToTrack(e,t,i){var s,r;const a=e.trak;if(!a||!a.length)return;const o=a.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),n=a.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));if(o&&t){var l,d,h,c,u,p,m;const i=t,s=null===(l=o.tkhd)||void 0===l?void 0:l.trackId;null!=s&&(i.id=o.tkhd.trackId),i.tkhdDuration=o.tkhd.duration,i.mvhdDurtion=e.mvhd.duration,i.mvhdTimecale=e.mvhd.timescale,i.timescale=i.formatTimescale=o.mdia.mdhd.timescale,i.duration=o.mdia.mdhd.duration||i.mvhdDurtion/i.mvhdTimecale*i.timescale;const r=o.mdia.minf.stbl.stsd.entries[0];if(i.width=r.width,i.height=r.height,r.pasp&&(i.sarRatio=[r.pasp.hSpacing,r.pasp.vSpacing]),r.hvcC)i.codecType=mv,i.codec=r.hvcC.codec,i.vps=r.hvcC.vps,i.sps=r.hvcC.sps,i.pps=r.hvcC.pps,i.hvcC=r.hvcC.data;else{if(!r.avcC)throw new Error("unknown video stsd entry");i.codecType=pv,i.codec=r.avcC.codec,i.sps=r.avcC.sps,i.pps=r.avcC.pps}var g,f,y,A,b,v,_,S;if(i.present=!0,i.ext={},i.ext.stss=null===(d=o.mdia)||void 0===d||null===(h=d.minf)||void 0===h||null===(c=h.stbl)||void 0===c?void 0:c.stss,i.ext.ctts=null===(u=o.mdia)||void 0===u||null===(p=u.minf)||void 0===p||null===(m=p.stbl)||void 0===m?void 0:m.ctts,r&&"encv"===r.type)i.isVideoEncryption=!0,r.default_KID=null===(g=r.sinf)||void 0===g||null===(f=g.schi)||void 0===f?void 0:f.tenc.default_KID,r.default_IsEncrypted=null===(y=r.sinf)||void 0===y||null===(A=y.schi)||void 0===A?void 0:A.tenc.default_IsEncrypted,r.default_IV_size=null===(b=r.sinf)||void 0===b||null===(v=b.schi)||void 0===v?void 0:v.tenc.default_IV_size,i.videoSenc=o.mdia.minf.stbl.senc&&o.mdia.minf.stbl.senc.samples,r.data_format=null===(_=r.sinf)||void 0===_||null===(S=_.frma)||void 0===S?void 0:S.data_format,i.useEME=e.useEME,i.kidValue=e.kidValue,i.pssh=e.pssh,i.encv=r}if(n&&i){var w,E,T,k,L,C,x,D,R;const t=i,a=null===(w=n.tkhd)||void 0===w?void 0:w.trackId;null!=a&&(t.id=n.tkhd.trackId),t.tkhdDuration=n.tkhd.duration,t.mvhdDurtion=e.mvhd.duration,t.mvhdTimecale=e.mvhd.timescale,t.timescale=t.formatTimescale=n.mdia.mdhd.timescale,t.duration=n.mdia.mdhd.duration||t.mvhdDurtion/t.mvhdTimecale*t.timescale;const o=n.mdia.minf.stbl.stsd.entries[0];switch(t.sampleSize=o.sampleSize,t.sampleRate=o.sampleRate,t.channelCount=o.channelCount,t.present=!0,o.type){case"alaw":t.codecType=t.codec=cv,t.sampleRate=8e3;break;case"ulaw":t.codecType=t.codec=uv,t.sampleRate=8e3;break;default:t.codecType=hv,t.sampleDuration=gv.getFrameDuration(t.sampleRate,t.timescale),t.sampleRateIndex=gv.getRateIndexByRate(t.sampleRate),t.objectType=(null===(s=o.esds)||void 0===s?void 0:s.objectType)||2,o.esds&&(t.config=Array.from(o.esds.config)),t.codec=(null===(r=o.esds)||void 0===r?void 0:r.codec)||"mp4a.40.2"}var P,I,B,M,F,U,O,N;if(t.sampleDuration=gv.getFrameDuration(t.sampleRate,t.timescale),t.objectType=(null===(E=o.esds)||void 0===E?void 0:E.objectType)||2,o.esds&&(o.esds.config?t.config=Array.from(o.esds.config):console.warn("esds config is null")),t.codec=(null===(T=o.esds)||void 0===T?void 0:T.codec)||"mp4a.40.2",t.sampleRateIndex=gv.getRateIndexByRate(t.sampleRate),t.ext={},t.ext.stss=null===(k=n.mdia)||void 0===k||null===(L=k.minf)||void 0===L||null===(C=L.stbl)||void 0===C?void 0:C.stss,t.ext.ctts=null===(x=n.mdia)||void 0===x||null===(D=x.minf)||void 0===D||null===(R=D.stbl)||void 0===R?void 0:R.ctts,t.present=!0,o&&"enca"===o.type)t.isAudioEncryption=!0,o.data_format=null===(P=o.sinf)||void 0===P||null===(I=P.frma)||void 0===I?void 0:I.data_format,o.default_KID=null===(B=o.sinf)||void 0===B||null===(M=B.schi)||void 0===M?void 0:M.tenc.default_KID,o.default_IsEncrypted=null===(F=o.sinf)||void 0===F||null===(U=F.schi)||void 0===U?void 0:U.tenc.default_IsEncrypted,o.default_IV_size=null===(O=o.sinf)||void 0===O||null===(N=O.schi)||void 0===N?void 0:N.tenc.default_IV_size,t.audioSenc=n.mdia.minf.stbl.senc&&n.mdia.minf.stbl.senc.samples,t.useEME=e.useEME,t.kidValue=e.kidValue,t.enca=o}if(i&&(i.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!i&&i.isAudioEncryption),null!=t&&t.encv||null!=i&&i.enca){var j,G;const e=null==t||null===(j=t.encv)||void 0===j?void 0:j.default_KID,s=null==i||null===(G=i.enca)||void 0===G?void 0:G.default_KID,r=e||s?(e||s).join(""):null;t&&(t.kid=r),i&&(i.kid=r)}return t&&(t.flags=3841),i&&(i.flags=1793),{videoTrack:t,audioTrack:i}}static evaluateDefaultDuration(e,t,i){var s;const r=null==t||null===(s=t.samples)||void 0===s?void 0:s.length;if(!r)return 1024;return 1024*r/t.timescale*e.timescale/i}static moofToSamples(e,t,i){const s={};return e.mfhd&&(t&&(t.sequenceNumber=e.mfhd.sequenceNumber),i&&(i.sequenceNumber=e.mfhd.sequenceNumber)),e.traf.forEach((e=>{let{tfhd:r,tfdt:a,trun:o}=e;if(!r||!o)return;a&&(t&&t.id===r.trackId&&(t.baseMediaDecodeTime=a.baseMediaDecodeTime),i&&i.id===r.trackId&&(i.baseMediaDecodeTime=a.baseMediaDecodeTime));const n=r.defaultSampleSize||0,l=r.defaultSampleDuration||Sv.evaluateDefaultDuration(t,i,o.samples.length||o.sampleCount);let d=o.dataOffset||0,h=0,c=-1;if(!o.samples.length&&o.sampleCount){s[r.trackId]=[];for(let e=0;e((e={offset:d,dts:h,pts:h+(e.cts||0),duration:e.duration||l,size:e.size||n,gopId:c,keyframe:0===t||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(c++,e.gopId=c),h+=e.duration,d+=e.size,e)))})),s}static moovToSamples(e){const t=e.trak;if(!t||!t.length)return;const i=t.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),s=t.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));if(!i&&!s)return;let r,a;if(i){var o,n;const e=null===(o=i.mdia)||void 0===o||null===(n=o.minf)||void 0===n?void 0:n.stbl;if(!e)return;const{stts:t,stsc:s,stsz:a,stco:l,stss:d,ctts:h}=e;if(!(t&&s&&a&&l&&d))return;r=fv(t,s,a,l,h,d)}if(s){var l,d,h;const e=null===(l=s.mdia)||void 0===l||null===(d=l.minf)||void 0===d?void 0:d.stbl;if(!e)return;const t=null===(h=s.mdia.mdhd)||void 0===h?void 0:h.timescale,{stts:i,stsc:r,stsz:o,stco:n}=e;if(!(t&&i&&r&&o&&n))return;a=fv(i,r,o,n)}return{videoSamples:r,audioSamples:a}}}class wv extends _h{constructor(e){super(e),this.player=e,this.TAG_NAME="HlsFmp4Demux",this.tempSampleListInfo={},this.isInitVideo=!1,this.isInitAudio=!1,this.videoTrack={id:1,samples:[],sps:[],pps:[],vps:[],codec:""},this.audioTrack={id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""},this.workerClearTimeout=null,this.workerUrl=null,this.loopWorker=null,this._hasCalcFps=!1,this._basefps=25,this._isUseWorker()&&this._initLoopWorker(),this.player.isPlayVod()&&this._isUseWorker()&&this.player.on(vt.playVodRateChange,(e=>{this.player.debugLog(this.TAG_NAME,"listen playVodRateChange",e),this._postMessageToLoopWorker("updatePlayRate",{rate:e})})),e.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.workerUrl&&(URL.revokeObjectURL(this.workerUrl),this.workerUrl=null),this.workerClearTimeout&&(clearTimeout(this.workerClearTimeout),this.workerClearTimeout=null),this.loopWorker&&(this.loopWorker.postMessage({cmd:"destroy"}),this.loopWorker.terminate(),this.loopWorker=null),this._hasCalcFps=!1,this.videoTrack=null,this.audioTrack=null,this.isInitVideo=!1,this.isInitAudio=!1,this._basefps=25,this.player.debugLog(this.TAG_NAME,"destroy")}demux(e,t){let i=this.audioTrack,s=this.videoTrack;if(this.checkInitAudio(),this.checkInitVideo(),i.samples=[],s.samples=[],t){if(this.player.updateStats({abps:t.byteLength}),Io(this.isInitAudio)){const e=Sv.findBox(t,["moov"])[0];if(!e)return void this.player.debugError(this.TAG_NAME,"cannot found moov box");Sv.moovToTrack(Sv.moov(e),null,i),this.checkInitAudio()&&(this.player.debugLog(this.TAG_NAME,"audioData audio init success"),this._sendAccADTSHeader(i))}const e=Sv.findBox(t,["moof"])[0];if(e){const s=Sv.moofToSamples(Sv.moof(e),null,i)[i.id],r=i.baseMediaDecodeTime;if(s){const a=e.start;s.map((e=>{e.offset+=a;const s=t.subarray(e.offset,e.offset+e.size),o=e.dts+r,n=new Uint8Array(s.length+2);n.set([175,1],0),n.set(s,2),i.samples.push({type:Ve,pts:o,dts:o,payload:n,duration:e.duration,size:n.byteLength})}))}}}if(e){if(this.player.updateStats({vbps:e.byteLength}),Io(this.isInitVideo)&&Io(this.isInitAudio)){const t=Sv.findBox(e,["moov"])[0];if(!t)throw new Error("cannot found moov box");if(Sv.moovToTrack(Sv.moov(t),s,i),Io(this.isInitAudio)&&this.checkInitAudio()&&(this.player.debugLog(this.TAG_NAME,"videoData audio init success",i),this._sendAccADTSHeader(i)),this.checkInitVideo()){this.player.debugLog(this.TAG_NAME,"video init success");let e=null;s.codecType===fs?s.sps.length&&s.vps.length&&s.pps.length&&(e=fl({sps:s.sps[0],pps:s.pps[0],vps:s.vps[0]})):s.sps.length&&s.pps.length&&(e=il({sps:s.sps[0],pps:s.pps[0]})),e&&(this.player.debugLog(this.TAG_NAME,"seqHeader"),this._doDecodeByHls(e,ze,0,!0,0))}}const t=Sv.findBox(e,["moof"])[0];if(t){const r=Sv.moofToSamples(Sv.moof(t),s,i),a=s.baseMediaDecodeTime,o=i.baseMediaDecodeTime,n=t.start;Object.keys(r).forEach((t=>{s.id==t?r[t].map((t=>{t.offset+=n;const i={type:ze,pts:(t.pts||t.dts)+a,dts:t.dts+a,units:[],payload:null,isIFrame:!1};i.duration=t.duration,i.gopId=t.gopId,t.keyframe&&(i.isIFrame=!0);const r=e.subarray(t.offset,t.offset+t.size);i.payload=r,s.samples.push(i)})):i.id==t&&r[t].map((t=>{t.offset+=n;const s=e.subarray(t.offset,t.offset+t.size),r=t.dts+o,a=new Uint8Array(s.length+2);a.set([175,1],0),a.set(s,2),i.samples.push({type:Ve,pts:r,dts:r,payload:a,duration:t.duration,size:a.byteLength})}))}))}}const r=s.samples.concat(i.samples);r.sort(((e,t)=>e.dts-t.dts)),r.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,this._isUseWorker()?this.loopWorker.postMessage({...e,payload:t,cmd:"sample"},[t.buffer]):e.type===ze?this._doDecodeVideo({...e,payload:t}):e.type===Ve&&this._doDecodeAudio({...e,payload:t})})),Io(this._hasCalcFps)&&this._isUseWorker()&&(this._hasCalcFps=this._calcDecodeFps(r))}checkInitAudio(){return this.isInitAudio=!!(this.audioTrack.sampleRate&&this.audioTrack.channelCount&&this.audioTrack.codec&&"aac"===this.audioTrack.codecType),this.isInitAudio}checkInitVideo(){return this.isInitVideo=!!(this.videoTrack.pps.length&&this.videoTrack.sps.length&&this.videoTrack.codec),this.isInitVideo}_sendAccADTSHeader(e){const t=Zr({profile:e.objectType,sampleRate:e.sampleRateIndex,channel:e.channelCount});this._doDecodeByHls(t,Ve,0,!0,0)}_initLoopWorker(){this.player.debugLog(this.TAG_NAME,"_initLoopWorker()");const e=Go(function(){const e=1,t=2;let i=new class{constructor(){this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.allSampleList=[]}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(e){this.baseFps=e,this._clearInterval(),this._startInterval()}updatePlayRate(e){this.playRate=e,this._clearInterval(),this._startInterval()}seekSampleRange(e){console.log(`JbPro:[HlsFmp4Loader LoopWorker] seekSampleRange() time is ${e}`);const i=1e3*e;let s=0,r=0;for(let e=0;e0&&t=-2e3))return void console.log(`JbPro:[HlsFmp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, diff is ${i}ms and return`);console.log(`JbPro:[HlsFmp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, diff is ${i}ms and set this.seekingTime = null`),this.seekingTime=null}this.allSampleList.push(e)}_startInterval(){const e=Math.ceil(1e3/this.baseFps);console.log(`JbPro:[HlsFmp4Loader LoopWorker] _startInterval() fragDuration is ${e}ms`),this.fpsInterval=setInterval((()=>{let t=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=t),this.startBpsTime||(this.startBpsTime=t);const i=t-this.preLoopTimestamp;if(i>2*e&&console.warn(`JbPro:[HlsFmp4Loader LoopWorker] loop interval is ${i}ms, more than ${e} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){t-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=t)}}),e)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((s=>{s.type===t?(i.videoListLength++,s.duration&&(i.buferredDuration+=s.duration)):s.type===e&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let i=null;if(this.allSampleList.length)if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]);let t=this.allSampleList[0];for(;t&&t.type===e;)i=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),t=this.allSampleList[0]}else if(i.type===e){postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]);let s=this.allSampleList[0];for(;s;){if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]),s=null;break}i.type===e&&(postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),s=this.allSampleList[0])}}}};self.onmessage=e=>{const t=e.data;switch(t.cmd){case"updateBaseFps":i.updateBaseFps(t.baseFps);break;case"updatePlayRate":i.updatePlayRate(t.rate);break;case"seekSampleRange":i.seekSampleRange(t.time);break;case"cleanSampleList":i.cleanSampleList();break;case"setSeekingTime":i.setSeekingTime(t.time);break;case"pause":i.pause();break;case"resume":i.resume();break;case"sample":i.pushSample(t);break;case"destroy":i.destroy(),i=null}}}.toString()),t=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(t);let s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ne),s.onmessage=e=>{const t=e.data;switch(t.cmd){case"decodeVideo":this._doDecodeVideo(t);break;case"decodeAudio":this._doDecodeAudio(t);break;case"sampleListInfo":if(this.tempSampleListInfo=t,this.player.isPlayVodNotUseMSE()){const e=this.geVodLoadedTime(),t=this.player.getPlayVodDuration();e&&t&&this.player.emit(vt.playVodTimeCache,e/(1e3*t))}}},this.loopWorker=s}_postMessageToLoopWorker(e,t){this._isUseWorker()&&(this.loopWorker?this.loopWorker.postMessage({cmd:e,...t}):this.player.debugWarn(this.TAG_NAME,"loop worker is not init, can not post message"))}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this.player.updateStats({abps:t.byteLength}),this.cryptoPayloadAudio(t),this._doDecodeByHls(t,Ve,e.dts,!1,0)}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?yl(t,e.isIFrame):sl(t,e.isIFrame),this.player.updateStats({dts:e.dts,vbps:i.byteLength});const s=e.pts-e.dts;let r=this.cryptoPayload(i,e.isIFrame);this._doDecodeByHls(r,ze,e.dts,e.isIFrame,s)}getBuferredDuration(){return this.tempSampleListInfo.buferredDuration||0}getSampleListLength(){return this.tempSampleListInfo.allListLength||0}getSampleAudioListLength(){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){return this.tempSampleListInfo.videoListLength||0}getSampleRange(){return{start:this.tempSampleListInfo.start||0,end:this.tempSampleListInfo.end||0}}seekSampleRange(e){this._postMessageToLoopWorker("seekSampleRange",{time:e})}cleanSampleListAndSetSeekTime(e){Io(this.player.isUseMSE())&&(this.clearBuffer(!0),this._postMessageToLoopWorker("cleanSampleList"),this._postMessageToLoopWorker("setSeekingTime",{time:e}))}pause(){this._postMessageToLoopWorker("pause")}resume(){this._postMessageToLoopWorker("resume")}geVodLoadedTime(){let e=0;return e=this.getSampleRange().end,e}}class Ev{constructor(e,t){this.hls=e,this.player=this.hls.player,this.isMP4=t,this._initSegmentId="",this.TAG_NAME="HlsTransmuxer",this._demuxer=t?new wv(this.hls.player):new ov(this.hls.player),this.player.debugLog(this.TAG_NAME,`init and isMP4 is ${t}`)}destroy(){this._demuxer&&(this._demuxer.destroy(),this._demuxer=null)}transmux(e,t,i,s,r,a){this.player.debugLog(this.TAG_NAME,`transmux videoChunk:${e&&e.byteLength}, audioChunk:${t&&t.byteLength}, discontinuity:${i}, contiguous:${s}, startTime:${r}, needInit:${a}`);const o=this._demuxer;try{this.isMP4?o.demux(e,t):o.demuxAndFix(Fh(e,t),i,s,r)}catch(e){throw new Ib(Pb,Rb,e)}}}class Tv{constructor(e){this.hls=e,this.player=e.player,this._decryptor=new av(this.hls,this.player),this._transmuxer=null,this._mse=null,this._softVideo=null,this._sourceCreated=!1,this._needInitSegment=!0,this._directAppend=!1,this.TAG_NAME="HlsBufferService"}async destroy(){this._softVideo=null,this._transmuxer&&(this._transmuxer.destroy(),this._transmuxer=null)}get baseDts(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t._baseDts}get nbSb(){return 0}async updateDuration(e){this.player.debugLog(this.TAG_NAME,"updateDuration()",e),this.player.isPlayVod()&&(this.player.playVod.updateDuration(e),this.player.isPlayVodUseMSE()&&this.player.mseDecoder&&this.player.mseDecoder.isStateOpen&&this.player.mseDecoder.updateMediaSourceDuration(e))}getBuferredDuration(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getBuferredDuration()}getBufferedSegments(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleListLength()}getBufferedAudioSegments(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleAudioListLength()}getBufferedVideoSegments(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleVideoListLength()}createSource(e,t,i,s){if(this._sourceCreated)return;const r=e||t;r&&(ov.probe(r)?this._transmuxer||(this._transmuxer=new Ev(this.hls,!1)):Sv.probe(r)?this._transmuxer||(this._transmuxer=new Ev(this.hls,!0)):this.player.debugError(this.TAG_NAME,"createSource error: chunk is not ts"))}async appendBuffer(e,t,i,s,r,a,o){if(null!=i&&i.length||null!=s&&s.length)return this._needInitSegment,this._transmuxer.transmux(i,s,r,a,o,this._needInitSegment||r),!0}async clearAllBuffer(){this.player.debugLog(this.TAG_NAME,"clearAllBuffer")}decryptBuffer(e,t){return this._decryptor.decrypt(e,t)}async reset(){this._transmuxer=null,this._needInitSegment=!0,this._directAppend=!1}async endOfStream(){this._softVideo&&this._softVideo.endOfStream()}async setLiveSeekableRange(e,t){}seamlessSwitch(){this._needInitSegment=!0}getTsSampleRange(){var e,t;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t?void 0:t.getSampleRange()}seekSampleRange(e){var t,i;return null===(t=this._transmuxer)||void 0===t||null===(i=t._demuxer)||void 0===i?void 0:i.seekSampleRange(e)}cleanSampleListAndSetSeekTime(e){var t,i;null===(t=this._transmuxer)||void 0===t||null===(i=t._demuxer)||void 0===i||i.cleanSampleListAndSetSeekTime(e)}demuxerPause(){var e,t;null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t||t.pause()}demuxerResume(){var e,t;null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t||t.resume()}}class kv{constructor(e){this.emitter=e,this._seiSet=new Set,e.on(tr,(e=>{e&&this._seiSet.add(e)}))}throw(e){if(null==e||!this._seiSet.size)return;const t=e-.2,i=e+.2,s=[];this._seiSet.forEach((e=>{e.time>=t&&e.time<=i&&s.push(e)})),s.forEach((e=>{this._seiSet.delete(e),this.emitter.emit(ir,e)}))}reset(){this._seiSet.clear()}}class Lv{constructor(e){this._timescale=e,this.encodeType="",this.audioCodec="",this.videoCodec="",this.domain="",this.fps=0,this.bitrate=0,this.width=0,this.height=0,this.samplerate=0,this.channelCount=0,this.gop=0,this._bitsAccumulateSize=0,this._bitsAccumulateDuration=0}getStats(){return{encodeType:this.encodeType,audioCodec:this.audioCodec,videoCodec:this.videoCodec,domain:this.domain,fps:this.fps,bitrate:this.bitrate,width:this.width,height:this.height,samplerate:this.samplerate,channelCount:this.channelCount,gop:this.gop}}setEncodeType(e){this.encodeType=e}setFpsFromScriptData(e){var t;let{data:i}=e;const s=null==i||null===(t=i.onMetaData)||void 0===t?void 0:t.framerate;s&&s>0&&s<100&&(this.fps=s)}setVideoMeta(e){if(this.width=e.width,this.height=e.height,this.videoCodec=e.codec,this.encodeType=e.codecType,e.fpsNum&&e.fpsDen){const t=e.fpsNum/e.fpsDen;t>0&&t<100&&(this.fps=t)}}setAudioMeta(e){this.audioCodec=e.codec,this.samplerate=e.sampleRate,this.channelCount=e.channelCount}setDomain(e){this.domain=e.split("/").slice(2,3)[0]}updateBitrate(e){if((!this.fps||this.fps>=100)&&e.length){const t=e.reduce(((e,t)=>e+t.duration),0)/e.length;this.fps=Math.round(this._timescale/t)}e.forEach((e=>{1===e.gopId&&this.gop++,this._bitsAccumulateDuration+=e.duration/(this._timescale/1e3),this._bitsAccumulateSize+=e.units.reduce(((e,t)=>e+t.length),0),this._bitsAccumulateDuration>=1e3&&(this.bitrate=8*this._bitsAccumulateSize,this._bitsAccumulateDuration=0,this._bitsAccumulateSize=0)}))}}class Cv{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;rc(this,"_core",null),rc(this,"_samples",[]),this._core=e,this._timescale=t,this._stats=new Lv(t),this._bindEvents()}getStats(){var e,t,i,s,r,a,o;const{currentTime:n=0,decodeFps:l=0}=(null===(e=this._core)||void 0===e?void 0:e.media)||{};return{...this._stats.getStats(),downloadSpeed:(null===(t=this._core)||void 0===t||null===(i=t.speedInfo)||void 0===i?void 0:i.call(t).speed)||0,avgSpeed:(null===(s=this._core)||void 0===s||null===(r=s.speedInfo)||void 0===r?void 0:r.call(s).avgSpeed)||0,currentTime:n,bufferEnd:(null===(a=this._core)||void 0===a||null===(o=a.bufferInfo())||void 0===o?void 0:o.remaining)||0,decodeFps:l}}_bindEvents(){this._core.on(Hs,(e=>this._stats.updateBitrate(e.samples))),this._core.on(Js,(e=>{this._stats.setFpsFromScriptData(e)})),this._core.on(qs,(e=>{"video"===e.type?this._stats.setVideoMeta(e.track):this._stats.setAudioMeta(e.track)})),this._core.on(Ks,(e=>{this._stats.setDomain(e.responseUrl)}))}reset(){this._samples=[],this._stats=new Lv(this._timescale)}}function xv(e){if(e)try{return e.buffered}catch(e){}}function Dv(e,t){if(!e||!e.length)return[];const i=[];for(let s=0,r=e.length;se+(t[1]-t[0])),0):0}class Pv extends a{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),rc(this,"_loadSegment",(async()=>{if(this._segmentProcessing)return void this.player.debugWarn("_loadSegment()","_segmentProcessing is ture and return");if(!this._playlist)return void this.player.debugWarn("_loadSegment()","this._playlist is null and return");const e=this._playlist.currentSegment,t=this._playlist.nextSegment;if(this.player.debugLog(this.TAG_NAME,"_loadSegment()","curSeg",e&&e.url,"nextSeg",t&&t.url),t){if(this.player.isPlayVod()){let e=this.player.getRenderCurrentPts();e/=1e3,this.player.isPlayVodUseMSE()&&(e=this.player.getVideoCurrentTime());let i=this.player.playVod.isSeeking();if(this._prevSegmentEndTime&&Io(i)&&this._prevSegmentEndTime>this.player._opt.preloadTime*this.player.playVod.rate+e)return void this.player.debug.log(this.TAG_NAME,`_loadSegment() and _prevSegmentEndTime is ${this._prevSegmentEndTime} and current time is ${e} more than ${this.player._opt.preloadTime*this.player.playVod.rate+e} and return`);this._prevSegmentEndTime=t.end}return this._loadSegmentDirect()}this.player.debugLog(this.TAG_NAME,"nextSeg is null and return")})),this.player=e,this.config=null,this._manifestLoader=null,this._segmentLoader=null,this._playlist=null,this._bufferService=null,this._seiService=null,this._stats=null,this._prevSegSn=null,this._prevSegCc=null,this._tickTimer=null,this._tickInterval=500,this._segmentProcessing=!1,this._reloadOnPlay=!1,this._switchUrlOpts=null,this._disconnectTimer=null,this._prevSegmentEndTime=0,this.TAG_NAME="Hls256",this.canVideoPlay=!1,this.$videoElement=null,this.config=t=function(e){return{isLive:!0,maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,...e}}(t),this._manifestLoader=new ev(this),this._segmentLoader=new iv(this),this._playlist=new rv(this),this._bufferService=new Tv(this),this._seiService=new kv(this),this._stats=new Cv(this,9e4),this.player.isPlayVod()&&(this.player.on(vt.playVodPause,this.handlePlayVodPause.bind(this)),this.player.isPlayVodUseMSE()?this.player.on(vt.playVodVideoSeekingByMse,this.onVideoSeeking.bind(this)):this.player.on(vt.playVodSeek,this.onSeeking.bind(this))),this.player.debug.log(this.TAG_NAME,"init")}async destroy(){this.player.debugLog(this.TAG_NAME,"destroy()"),this._playlist.reset(),this._segmentLoader.reset(),this._seiService.reset(),await Promise.all([this._clear(),this._bufferService.destroy()]),this._manifestLoader&&(await this._manifestLoader.destroy(),this._manifestLoader=null),this._segmentLoader&&(this._segmentLoader.destroy(),this._segmentLoader=null),this._playlist&&(this._playlist.destroy(),this._playlist=null),this.player.debugLog(this.TAG_NAME,"destroy end")}_startTick(){this._stopTick(),this._tickTimer=setTimeout((()=>{this._tick()}),this._tickInterval)}_stopTick(){this._tickTimer&&clearTimeout(this._tickTimer),this._tickTimer=null}_tick(){this.player.isDestroyedOrClosed()?this.player.debugLog(this.TAG_NAME,"_tick() player is destroyed"):(this._startTick(),this._loadSegment())}get isLive(){return this._playlist.isLive}get streams(){return this._playlist.streams}get currentStream(){return this._playlist.currentStream}get hasSubtitle(){return this._playlist.hasSubtitle}get baseDts(){var e;return null===(e=this._bufferService)||void 0===e?void 0:e.baseDts}speedInfo(){return this._segmentLoader.speedInfo()}resetBandwidth(){this._segmentLoader.resetBandwidth()}getStats(){return this._stats.getStats()}async loadSource(e){return await this._reset(),await this._loadData(e),this._startTick(),!0}async _loadData(e){try{e&&(e=e.trim())}catch(e){}if(!e)throw this._emitError(new Ib(xb,xb,null,null,"m3u8 url is missing"));const t=await this._loadM3U8(e),{currentStream:i}=this._playlist;if(this._urlSwitching){var s,r;if(0===i.bitrate&&null!==(s=this._switchUrlOpts)&&void 0!==s&&s.bitrate)i.bitrate=null===(r=this._switchUrlOpts)||void 0===r?void 0:r.bitrate;const e=this._getSeamlessSwitchPoint();this.config.startTime=e;const t=this._playlist.findSegmentIndexByTime(e),a=this._playlist.getSegmentByIndex(t+1);if(a){const e=a.start;this.player.debugWarn(this.TAG_NAME,`clear buffer from ${e}`)}}t&&(this.isLive?(this.player.debugLog(this.TAG_NAME,"is live"),this._bufferService.setLiveSeekableRange(0,4294967295),this.config.targetLatency{let[t,i,o]=e;t?(this._playlist.upsertPlaylist(t,i,o),this.isLive&&this._pollM3U8(s,r,a)):this.player.debugWarn(this.TAG_NAME,"_refreshM3U8() mediaPlaylist is empty")})).catch((e=>{throw this._emitError(Ib.create(e))}))}_pollM3U8(e,t,i){var s;let r=this._playlist.isEmpty;this._manifestLoader.poll(e,t,i,((e,t,i)=>{this._playlist.upsertPlaylist(e,t,i),this._playlist.clearOldSegment(),e&&r&&!this._playlist.isEmpty&&this._loadSegment(),r&&(r=this._playlist.isEmpty)}),(e=>{this._emitError(Ib.create(e))}),1e3*((null===(s=this._playlist.lastSegment)||void 0===s?void 0:s.duration)||0))}async _loadSegmentDirect(){const e=this._playlist.nextSegment;if(!e)return void this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect() !seg");let t=!1,i=null;try{this._segmentProcessing=!0,t=await this._reqAndBufferSegment(e,this._playlist.getAudioSegment(e))}catch(e){i=e}finally{this._segmentProcessing=!1}return i?this._emitError(Ib.create(i)):(t?(this._urlSwitching&&(this._urlSwitching=!1,this.emit(rr,{url:this.config.url})),this._playlist.moveSegmentPointer(),this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect()","seg.isLast",e.isLast),e.isLast?(this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect()","seg.isLast"),this._end()):(this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect()","and next _loadSegment()"),this._loadSegment())):this.player.debugLog(this.TAG_NAME,"_loadSegmentDirect() not appended"),t)}async _reqAndBufferSegment(e,t){this.player.debugLog(this.TAG_NAME,"video seg",e&&e.url,"audio seg",t&&t.url);const i=e?e.cc:t.cc,s=this._prevSegCc!==i;let r=[];try{r=await this._segmentLoader.load(e,t,s)}catch(e){throw e.fatal=!1,this._segmentLoader.error=e,e}if(!r[0])return;const a=await this._bufferService.decryptBuffer(...r);if(!a)return void this.player.debugLog(this.TAG_NAME,"decryptBuffer return null");const o=e?e.sn:t.sn,n=e?e.start:t.start,l=this._playlist.currentStream;return this._bufferService.createSource(a[0],a[1],null==l?void 0:l.videoCodec,null==l?void 0:l.audioCodec),await this._bufferService.appendBuffer(e,t,a[0],a[1],s,this._prevSegSn===o-1,n),this._prevSegCc=i,this._prevSegSn=o,!0}async _clear(){this.player.debugLog(this.TAG_NAME,"_clear()"),clearTimeout(this._disconnectTimer),this._stopTick(),await Promise.all([this._segmentLoader.cancel(),this._manifestLoader.stopPoll()]),this._segmentProcessing=!1}async _reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.player.debugLog(this.TAG_NAME,"_reset()"),this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._prevSegmentEndTime=0,this._playlist.reset(),this._segmentLoader.reset(),this._seiService.reset(),this._stats.reset(),await this._clear(),this._bufferService.reset(e)}_end(){this.player.debugLog(this.TAG_NAME,"_end()"),this._clear()}_emitError(e){var t;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var s;!1===(null===(t=e.originError)||void 0===t?void 0:t.fatal)?console.warn(e):(console.table(e),console.error(e),console.error(null===(s=this.media)||void 0===s?void 0:s.error),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit(sr,e)),i&&this._end(),this._seiService.reset(),this.emit(nr,e));return e}_getSeamlessSwitchPoint(){const{media:e}=this;let t=e.currentTime;if(!e.paused){var i;const s=this._playlist.findSegmentIndexByTime(e.currentTime),r=this._playlist.getSegmentByIndex(s),a=null===(i=this._stats)||void 0===i?void 0:i.getStats().downloadSpeed;if(a&&r){t+=r.duration*this._playlist.currentStream.bitrate/a+1}else t+=5}return t}async onPlay(){this.player.debug.log(this.TAG_NAME,"onPlay()"),this._bufferService.demuxerResume(),await this._loadSegment(),this._startTick()}onPause(){this.player.debug.log(this.TAG_NAME,"onPause()"),this._bufferService.demuxerPause(),this._stopTick(),this._segmentLoader.reset()}async handlePlayVodPause(e){e?this.onPause():await this.onPlay()}async onSeeking(e){this.player.debug.log(this.TAG_NAME,"listen playVodSeek",e);const t=this._bufferService.getTsSampleRange();if(this.player.debug.log(this.TAG_NAME,"onSeeking() seek to tsSampleRange",t),t&&t.start<=e&&e<=t.end)return this.player.debug.log(this.TAG_NAME,"onSeeking() seek to tsSampleRange",t,"in range"),void this._bufferService.seekSampleRange(e);const i=this._playlist.findSegmentIndexByTime(e),s=this._playlist.getSegmentByIndex(i);null==i||!s||this._segmentProcessing&&s===this._playlist.nextSegment||(this.player.debug.log(this.TAG_NAME,`onSeeking() seek to ${e} and segIndex is ${i} and seg is`,s),this._bufferService.cleanSampleListAndSetSeekTime(e),this._playlist.setNextSegmentByIndex(i),this._stopTick(),this._prevSegmentEndTime=0,await this._segmentLoader.cancel(),await this._loadSegmentDirect(),this._startTick())}async onVideoSeeking(e){this.player.debug.log(this.TAG_NAME,"listen playVodVideoSeekingByMse",e);const t=this._playlist.seekRange;if(this.player.debugLog(this.TAG_NAME,"onVideoSeeking() and seekRange is",t,"and seekTime is",e),t){const i=Sa(e,t[0]+.1,t[1]-.1);if(i>=0&&Math.abs(e-i)>=.1)return this.player.debugLog(this.TAG_NAME,"onVideoSeeking() update current time",i),void(this.player.video.$videoElement.currentTime=i)}await this.onSeeking(e)}getDemuxBuferredDuration(){return this._bufferService.getBuferredDuration()||0}getDemuxBufferedListLength(){return this._bufferService.getBufferedSegments()||0}getDemuxAudioBufferedListLength(){return this._bufferService.getBufferedAudioSegments()||0}getDemuxVideoBufferedListLength(){return this._bufferService.getBufferedVideoSegments()||0}}class Iv extends a{constructor(e){super(),rc(this,"TAG_NAME","Hls256Decoder"),this.player=e,this.$videoElement=this.player.video.$videoElement,this.hls=null,this.eventsDestroy=[],this.bandwidthEstimateInterval=null,this.hls=new Pv(e),this._bindEvents()}async destroy(){return this._stopBandwidthEstimateInterval(),this.hls&&(await this.hls.destroy(),this.hls=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.$videoElement=null,this.player.debugLog(this.TAG_NAME,"destroy"),!0}_bindEvents(){this.hls.on(nr,(e=>{this.player.emitError(wt.hlsError,e)}))}_startBandwidthEstimateInterval(){this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{const e=this.hls.speedInfo();this.player.emit(vt.kBps,(e.avgSpeed/1024/8).toFixed(2)),this.hls.resetBandwidth()}),1e3)}_stopBandwidthEstimateInterval(){this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}async loadSource(e){return this.url=e,await this.hls.loadSource(e),this._startBandwidthEstimateInterval(),!0}checkHlsBufferedDelay(){let e=0;return this.hls&&(e=this.hls.getDemuxBuferredDuration()),e}getDemuxBufferedListLength(){let e=0;return this.hls&&(e=this.hls.getDemuxBufferedListLength()),e}getDemuxAudioBufferedListLength(){let e=0;return this.hls&&(e=this.hls.getDemuxAudioBufferedListLength()),e}getDemuxVideoBufferedListLength(){let e=0;return this.hls&&(e=this.hls.getDemuxVideoBufferedListLength()),e}}function Bv(e,t){const i=e.trak;if(!i||!i.length)return;const s=i.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),r=i.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));if(!s&&!r)return;let a,o=[],n=[];if(s){var l,d,h;const e=null===(l=s.mdia)||void 0===l||null===(d=l.minf)||void 0===d?void 0:d.stbl;if(!e)return;const i=null===(h=s.mdia.mdhd)||void 0===h?void 0:h.timescale,{stts:r,stsc:n,stsz:c,stco:u,stss:p,ctts:m}=e;if(!(i&&r&&n&&c&&u&&p))return;o=Mv(t,i,r,n,c,u,p,m),a=o.map((e=>e.duration))}if(r){var c,u,p;const e=null===(c=r.mdia)||void 0===c||null===(u=c.minf)||void 0===u?void 0:u.stbl;if(!e)return;const i=null===(p=r.mdia.mdhd)||void 0===p?void 0:p.timescale,{stts:s,stsc:o,stsz:l,stco:d}=e;if(!(i&&s&&o&&l&&d))return;n=Mv(t,i,s,o,l,d,null,null,a)}return{videoSegments:o,audioSegments:n}}function Mv(e,t,i,s,r,a,o,n,l){const d=[],h=[],c=[],u=s.entries,p=a.entries,m=r.entrySizes,g=null==o?void 0:o.entries,f=null==n?void 0:n.entries;let y,A,b,v;f&&(y=[],f.forEach((e=>{let{count:t,offset:i}=e;for(let e=0;e{A[e-1]=!0})));let _=0,S=0,w=0,E=0,T=0,k=u[0].samplesPerChunk,L=u[1]?u[1].firstChunk-1:1/0,C=0,x=-1;i.entries.forEach((e=>{let{count:t,delta:i}=e;v=i;for(let e=0;e=L&&(E++,L=u[E+1]?u[E+1].firstChunk-1:1/0),k+=u[E].samplesPerChunk)}));const D=d.length;if(!D||o&&!d[0].keyframe)return;const R=[];let P,I=[],B=0,M=0;const F=e=>{var i;P=I[I.length-1],R.push({index:R.length,startTime:(null===(i=R[R.length-1])||void 0===i?void 0:i.endTime)||I[0].startTime/t,endTime:(P.startTime+P.duration)/t,duration:e,range:[I[0].offset,P.offset+P.size],frames:I}),B=0,I=[]};if(o){const i=e*t;for(let e=0,s=h.length;ei)&&F(B/t):F(B/t)}else{let i=(l=l||[])[0]||e;for(let s=0;s=D||r+M>=i)&&(M+=r-i,F(r),i=l[R.length]||e)}}return R}function Fv(e){let t="",i="",s=0,r=0,a=0,o=0,n=0,l=0,d=0;e.mvhd&&(n=e.mvhd.duration/e.mvhd.timescale);const h=e.trak;if(h){const L=h.find((e=>{var t,i;return"vide"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)})),C=h.find((e=>{var t,i;return"soun"===(null===(t=e.mdia)||void 0===t||null===(i=t.hdlr)||void 0===i?void 0:i.handlerType)}));let x,D=null;var c,u,p,m,g,f,y,A,b,v,_,S,w,E,T,k;if(L)if(D=null===(c=L.mdia)||void 0===c||null===(u=c.minf)||void 0===u||null===(p=u.stbl)||void 0===p?void 0:p.stsd.entries[0],D)if(s=D.width,r=D.height,l=null===(m=L.mdia)||void 0===m||null===(g=m.mdhd)||void 0===g?void 0:g.timescale,t=null===(f=D.avcC||D.hvcC)||void 0===f?void 0:f.codec,"encv"===D.type)x=null===(y=D.sinf)||void 0===y||null===(A=y.schi)||void 0===A?void 0:A.tenc.default_KID;if(C)if(D=null===(b=C.mdia)||void 0===b||null===(v=b.minf)||void 0===v||null===(_=v.stbl)||void 0===_?void 0:_.stsd.entries[0],D)if(a=D.channelCount,o=D.sampleRate,i=null===(S=D.esds)||void 0===S?void 0:S.codec,d=null===(w=C.mdia)||void 0===w||null===(E=w.mdhd)||void 0===E?void 0:E.timescale,"enca"===D.type)x=x||(null===(T=D.sinf)||void 0===T||null===(k=T.schi)||void 0===k?void 0:k.tenc.default_KID);return{kid:x?x.join(""):null,videoCodec:t,audioCodec:i,width:s,height:r,videoTimescale:l,audioChannelCount:a,audioSampleRate:o,duration:n,audioTimescale:d,moov:e}}}function Uv(e){return"number"==typeof e&&!Number.isNaN(e)}function Ov(){for(var e=arguments.length,t=new Array(e),i=0;ie+t.byteLength),0));let r=0;return t.forEach((e=>{s.set(e,r),r+=e.byteLength})),s}class Nv{constructor(){rc(this,"_data",Object.create(null))}set(e,t){this._data[e]=t}get(e){return this._data[e]}clear(){this._data=Object.create(null)}}class jv extends a{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var s;super(),rc(this,"_transformError",(e=>e)),this.TAG_NAME="MP4Loader",this._config=(s=i,{vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:"arraybuffer",cache:null,...s});const{vid:r,cache:a,...o}=this._config;this.mp4=e,this.player=t,this.vid=r||o.url,this.url=o.url,this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this.cache=new Nv,this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1,this.buffer,this._error,this._loader=new kb(o,t),this._loader.on("real_time_speed",(e=>{})),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){await this.reset(),this.cache.clear(),this.player.debugLog(this.TAG_NAME,"destroy")}get isMetaLoaded(){return this.videoSegments.length||this.audioSegments.length}setCurrentSegment(e){Uv(e)&&(this._currentSegmentIndex=e)}isLastSegment(e){if(Uv(e)){var t,i;return e>=((null===(t=this.videoSegments[this.videoSegments.length-1])||void 0===t?void 0:t.index)||(null===(i=this.audioSegments[this.audioSegments.length-1])||void 0===i?void 0:i.index)||0)}return!1}isSegmentLoading(e){return e===this._currentLoadingSegmentIndex}async changeUrl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0;await this.reset(s),e&&(this.url=e),t&&(this.vid=t),i&&(this._config.moovEnd=i)}async getOrLoadMeta(e){return this.isMetaLoaded||await this.loadMeta(e),this.meta}async loadMetaProcess(e,t,i,s){let[r,a]=t;this._error=!1,this.player.debugLog(this.TAG_NAME,"[loadMetaProcess start], range,",[r,a]);await this.loadData([r,a||this._config.moovEnd],e,{onProgress:async(t,o,n)=>{if(this.meta&&null!=n&&n.range&&n.range.length>0&&n.range[1]>=a&&(o=!0,this.player.debugLog(this.TAG_NAME,"[loadMetaProcess],data done,setstate true,[",r,a,"]")),o&&null!=n&&n.range&&n.range.length>0&&n.range[1]0&&i(t,o,n),!this.meta.moov&&!this._error&&t&&t.byteLength>0){this.buffer=Ov(this.buffer,t);let r=Sv.findBox(this.buffer,["moov"])[0];if(!r){const t=Sv.findBox(this.buffer,["mdat"])[0];if(o){if(!t)return this._error=!0,void i(null,o,n,{err:"cannot find moov or mdat box"});{const i=t.start+t.size,a=await this.loadData([i,""],e,s);a&&(r=Sv.findBox(a.data,["moov"])[0])}}}if(r&&o&&r.size>r.data.length&&(this.player.debugLog(this.TAG_NAME,"[loadMetaProcess],moov not all, range,",n.range[1],",dataLen,",this.buffer.byteLength,", state,",o),await this.loadMetaProcess(e,[n.range[1],r.start+r.size-1],i)),r&&r.size<=r.data.length&&!this.meta.moov){const e=Sv.moov(r);if(!e)return this._error=!0,void i(null,o,n,{err:"cannot parse moov box"});const t=Bv(e,this._config.segmentDuration);if(!t)return this._error=!0,void i(null,o,n,{err:"cannot parse segments"});this.meta=Fv(e);const{videoSegments:s,audioSegments:a}=t;this.videoSegments=s,this.audioSegments=a,this.player.debugLog(this.TAG_NAME,"[loadMetaProcess] moov ok"),i(void 0,o,{meta:{meta:this.meta,videoSegments:s,audioSegments:a}})}}},...s})}async loadMeta(e,t,i){const s=[];this.player.debugLog(this.TAG_NAME,"[loadMeta start]");let r=await this.loadData([0,t||this._config.moovEnd],e,i);if(!r)return;s.push(r);let a=Sv.findBox(r.data,["moov"])[0];if(!a){const t=Sv.findBox(r.data,["mdat"])[0];if(!t)throw new MediaError("cannot find moov or mdat box",r.data);const o=t.start+t.size;if(r=await this.loadData([o],e,i),!r)return;if(s.push(r),a=Sv.findBox(r.data,["moov"],o)[0],!a)throw new MediaError("cannot find moov box",r.data)}if(a.size>a.data.length){if(r=await this.loadData([r.data.length,a.start+a.size-1],e,i),!r)return;s.push(r),a.data=Ov(a.data,r.data)}const o=Sv.moov(a);if(!o)throw new MediaError("cannot parse moov box",a.data);const n=Bv(o,this._config.segmentDuration);if(!n)throw new MediaError("cannot parse segments",a.data);this.meta=Fv(o);const{videoSegments:l,audioSegments:d}=n;return this.videoSegments=l,this.audioSegments=d,this.player.debugLog(this.TAG_NAME,"[load moov end!!!!!]",this.meta,l,d),this.meta&&this.mp4._bufferService.updateDuration(this.meta.duration),{meta:this.meta,videoSegments:l,audioSegments:d,responses:s}}loadCacheMeta(e,t){const{moov:i}=e,s=Bv(i,this._config.segmentDuration),{videoSegments:r,audioSegments:a}=s;this.videoSegments=r,this.audioSegments=a,this._currentSegmentIndex=t,this.meta=e}getSegmentByTime(e){let t,i;return this.videoSegments.length?(t=this.videoSegments.find((t=>t.startTime<=e&&t.endTime>e)),t&&(i=this.audioSegments[t.index])):i=this.audioSegments.find((t=>t.startTime<=e&&t.endTime>e)),{video:t,audio:i}}async loadSegmentByTime(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.isMetaLoaded||await this.loadMeta(t);const{video:r,audio:a}=this.getSegmentByTime(e);return this._loadSegment(r,a,t,i,s)}async loadNextSegment(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.isMetaLoaded||await this.loadMeta();const s=this.videoSegments[this._currentSegmentIndex+1],r=this.audioSegments[this._currentSegmentIndex+1];return this._loadSegment(s,r,e,t,i)}async preload(e){if(this.isMetaLoaded||await this.loadMeta(!0),!e||e<0)return;const{video:t,audio:i}=this.getSegmentByTime(e),s=Math.max((null==t?void 0:t.index)||0,(null==i?void 0:i.index)||0);if(!s)return;const r=this.videoSegments.slice(0,s),a=this.audioSegments.slice(0,s),o=async e=>{e>s||(await this._loadSegment(r[e],a[e],!0,!1),await o(e+1))};await o(0)}cancel(){return this._loader.cancel()}async reset(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]||(this.player.debugLog(this.TAG_NAME,"[MP4loader reset func call loader.cancel]"),await this._loader.cancel()),this.vid=this.url="",this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1}async destroy(){await this.reset(),this.cache.clear()}async _loadSegment(e,t,i,s,r){if(!e&&!t)return;const a=(null==e?void 0:e.index)||(null==t?void 0:t.index)||0;let o;this._currentLoadingSegmentIndex=a;try{o=await this.loadData([Math.min((null==e?void 0:e.range[0])||1/0,(null==t?void 0:t.range[0])||1/0),Math.max((null==e?void 0:e.range[1])||0,(null==t?void 0:t.range[1])||0)],i,r)}finally{this._currentLoadingSegmentIndex=-1}return o?(s&&(this._currentSegmentIndex=a),o.video=e,o.audio=t,o):void 0}async loadData(e,t,i){const s=this._getCacheKey(e),r=await this.cache.get(s);let a;if(r)a={data:r,state:!0,options:{fromCache:!0,range:e,vid:this.vid}};else{const t=i&&i.url?i.url:this.url;a=await this._loader.load(t,{range:e,vid:this.vid,...i})}if(a)return r||(a.data&&this.downloadInfo.push({startTime:a.startTime,endTime:a.endTime,size:a.data.byteLength,range:e}),this.downloadInfo&&this.downloadInfo.length>this._config.maxDownloadInfoSize&&(this.downloadInfo=this.downloadInfo.slice(-this._config.maxDownloadInfoSize))),a}_getCacheKey(e){return(this.vid||this.url)+":"+e}}class Gv extends _h{constructor(e){super(e),this.player=e,this.TAG_NAME="Mp4Demux",this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=[],this._lastRemainBufferStartPos=0,this.videoTrack=Gv.initVideoTrack(),this.audioTrack=Gv.initAudioTrack(),this.isInitVideo=!1,this.isInitAudio=!1,this.isHevc=!1,this.tempSampleListInfo={},this._hasCalcFps=!1,this._basefps=25,this._isUseWorker()&&this._initLoopWorker(),this.player.isPlayVod()&&this._isUseWorker()&&this.player.on(vt.playVodRateChange,(e=>{this.player.debugLog(this.TAG_NAME,"listen playVodRateChange",e),this._postMessageToLoopWorker("updatePlayRate",{rate:e})}))}destroy(){super.destroy(),this.tempSampleListInfo={},this._basefps=25}static initVideoTrack(){return{id:1,samples:[],sps:[],pps:[],vps:[],codec:""}}static initAudioTrack(){return{id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""}}parseSamples(e){if(!e)throw new Error("moov is required");if(!this.videoTrack.codec&&!this.audioTrack.codec&&(Sv.moovToTrack(e,this.videoTrack,this.audioTrack),this.videoSenc=this.videoTrack.videoSenc,this.audioSenc=this.audioTrack.audioSenc,this.checkInitVideo()&&this._sendAccADTSHeader(this.audioTrack),this.checkInitAudio())){let e=null;this.videoTrack.codecType===fs?this.videoTrack.sps.length&&this.videoTrack.vps.length&&this.videoTrack.pps.length&&(e=fl({sps:this.videoTrack.sps[0],pps:this.videoTrack.pps[0],vps:this.videoTrack.vps[0]})):this.videoTrack.sps.length&&this.videoTrack.pps.length&&(e=il({sps:this.videoTrack.sps[0],pps:this.videoTrack.pps[0]})),e&&this._doDecodeByMp4(e,ze,0,!0,0)}if(!this._audioSamples.length&&!this._videoSamples.length){const t=Sv.moovToSamples(e);if(!t)throw new Error("cannot parse samples from moov box");this._videoSamples=t.videoSamples||[],this._audioSamples=t.audioSamples||[]}}demux(e,t,i,s,r){this.checkInitAudio(),this.checkInitVideo(),this.parseSamples(r);const a=this.videoTrack,o=this.audioTrack;let n,l,d;if(a.samples=[],o.samples=[],i){let s;for(let r=i[0],o=i[1];r<=o;r++){if(n=this._videoSamples[r],!n)throw new Error(`cannot found video frame #${r}`);d=n.offset-t,l=e.subarray(d,d+n.size),s={type:ze,dts:1e3*n.dts/a.timescale,pts:1e3*(n.pts||n.dts)/a.timescale,units:[],payload:null,isIFrame:!1},s.duration=n.duration,s.gopId=n.gopId,n.keyframe&&(s.isIFrame=!0),s.payload=l,a.samples.push(s)}a.baseMediaDecodeTime=a.samples[0].dts}if(s){for(let i=s[0],r=s[1];i<=r;i++){if(n=this._audioSamples[i],!n)throw new Error(`cannot found video frame #${i}`);d=n.offset-t,l=e.subarray(d,d+n.size);const s=1e3*n.dts/o.timescale,r=new Uint8Array(l.length+2);r.set([175,1],0),r.set(l,2),o.samples.push({type:Ve,dts:s,pts:s,payload:r,duration:n.duration,size:r.byteLength})}o.baseMediaDecodeTime=o.samples[0].dts}const h=a.samples.concat(o.samples);h.sort(((e,t)=>e.dts-t.dts)),h.forEach((e=>{const t=new Uint8Array(e.payload);delete e.payload,this._isUseWorker()?this.loopWorker.postMessage({...e,payload:t,cmd:"sample"},[t.buffer]):e.type===ze?this._doDecodeVideo({...e,payload:t}):e.type===Ve&&this._doDecodeAudio({...e,payload:t})})),Io(this._hasCalcFps)&&this._isUseWorker()&&(this._hasCalcFps=this._calcDecodeFps(h))}demuxPart(e,t,i,s,r,a,o,n){if(this.checkInitAudio(),this.checkInitVideo(),this.parseSamples(r),this.videoTrack.useEME=a,this.audioTrack.useEME=a,this._lastRemainBuffer&&this._lastRemainBuffer.byteLength>0&&t>this._lastRemainBufferStartPos&&t<=this._lastRemainBufferStartPos+this._lastRemainBuffer.byteLength){let i=0;for(;i<20;)try{const i=this._lastRemainBuffer.subarray(0,t-this._lastRemainBufferStartPos),s=new Uint8Array(e.byteLength+i.byteLength);s.set(i,0),s.set(new Uint8Array(e),i.byteLength),e=s,t-=i.byteLength,this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0;break}catch(e){if(!(i<20))throw new Error("new Uint8Array error:,"+e.errorMessage);i++}}const l=this.videoTrack,d=this.audioTrack;let h,c,u;l.samples=[],d.samples=[],l.videoSenc=null,d.audioSenc=null;let p=0,m=0;if(this._videoSamples.length>0&&i.length>0){let s;const r=e.byteLength+t;for(let a=i[0];a<=i[1];a++){if(h=this._videoSamples[a],!h)throw new Error(`cannot found video frame #${a}`);h.offset>=t&&h.offset+h.size<=r&&(u=h.offset-t,p=u+h.size,c=e.subarray(u,p),s={type:ze,dts:h.dts,pts:h.pts||h.dts,units:[],payload:null,isIFrame:!1},s.duration=h.duration,s.gopId=h.gopId,s.sampleOffset=h.index,h.keyframe&&(s.isIFrame=!0),s.payload=c,s.size=h.size,l.samples.push(s))}l.samples.length>0&&(l.gopId=l.samples[0].gopId,l.baseMediaDecodeTime=l.samples[0].dts,l.startPts=l.samples[0].pts/l.timescale,l.endPts=l.samples[l.samples.length-1].pts/l.timescale,this.videoSenc&&(l.videoSenc=this.videoSenc.slice(l.samples[0].sampleOffset,l.samples[0].sampleOffset+l.samples.length),l.kidValue=o))}if(this._audioSamples.length>0&&s.length>0){for(let i=s[0];i<=s[1];i++){if(h=this._audioSamples[i],!h)throw new Error(`cannot found video frame #${i}`);if(h.offset>=t&&h.offset+h.size<=e.byteLength+t){u=h.offset-t,m=u+h.size,c=e.subarray(u,m);const i=new Uint8Array(c.length+2);i.set([175,1],0),i.set(c,2),d.samples.push({type:Ve,dts:h.dts,pts:h.dts,payload:i,duration:h.duration,sampleOffset:h.index,size:i.byteLength})}}d.samples.length>0&&(d.gopId=d.samples[0].gopId||l.gopId,d.baseMediaDecodeTime=d.samples[0].dts,d.startPts=d.samples[0].pts/d.timescale,d.endPts=d.samples[d.samples.length-1].pts/d.timescale,this.audioSenc&&(d.audioSenc=this.audioSenc.slice(d.samples[0].sampleOffset,d.samples[0].sampleOffset+d.samples.length),d.kidValue=o))}this.decoderData(l,d,n),this._lastRemainBuffer=e.subarray(Math.max(p,m)),this._lastRemainBuffer.byteLength>0?this._lastRemainBufferStartPos=t+e.byteLength-this._lastRemainBuffer.byteLength:this._lastRemainBufferStartPos=0}reset(){this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0,this.videoTrack=Gv.initVideoTrack(),this.audioTrack=Gv.initAudioTrack()}decoderData(e,t,i){}checkInitAudio(){return this.isInitAudio=!!(this.audioTrack.sampleRate&&this.audioTrack.channelCount&&this.audioTrack.codec&&"aac"===this.audioTrack.codecType),this.isInitAudio}checkInitVideo(){return this.isInitVideo=!!(this.videoTrack.pps.length&&this.videoTrack.sps.length&&this.videoTrack.codec),this.isInitVideo}_sendAccADTSHeader(e){const t=Zr({profile:e.objectType,sampleRate:e.sampleRateIndex,channel:e.channelCount});this._doDecodeByMp4(t,Ve,0,!0,0)}_initLoopWorker(){const e=Go(function(){const e=1,t=2;let i=new class{constructor(){this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.allSampleList=[]}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(e){this.baseFps=e,this._clearInterval(),this._startInterval()}updatePlayRate(e){this.playRate=e,this._clearInterval(),this._startInterval()}seekSampleRange(e){console.log(`JbPro:[Mp4Loader LoopWorker] seekSampleRange() time is ${e}`);const i=1e3*e;let s=0,r=-1;for(let e=0;e=-1e4))return void console.log(`JbPro:[Mp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, isIFrame is ${e.isIFrame} ,diff is ${i}ms and return`);console.log(`JbPro:[Mp4Loader LoopWorker] pushSample() seekingTime is ${this.seekingTime}, sample dts is ${e.dts}, isIFrame is ${e.isIFrame},diff is ${i}ms and set this.seekingTime = null`),this.seekingTime=null}this.allSampleList.push(e)}_startInterval(){const e=Math.ceil(1e3/this.baseFps);console.log(`JbPro:[Mp4Loader LoopWorker] _startInterval() fragDuration is ${e}ms`),this.fpsInterval=setInterval((()=>{let t=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=t),this.startBpsTime||(this.startBpsTime=t);const i=t-this.preLoopTimestamp;if(i>2*e&&console.warn(`JbPro:[Mp4Loader LoopWorker] loop interval is ${i}ms, more than ${e} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){t-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=t)}}),e)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((s=>{s.type===t?(i.videoListLength++,s.duration&&(i.buferredDuration+=s.duration)):s.type===e&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let i=null;if(this.allSampleList.length)if(i=this.allSampleList.shift(),i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]);let t=this.allSampleList[0];for(;t&&t.type===e;)i=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),t=this.allSampleList[0]}else if(i.type===e){postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]);let s=this.allSampleList[0];for(;s;)if(i=this.allSampleList.shift(),i.type===e)postMessage({cmd:"decodeAudio",...i},[i.payload.buffer]),s=this.allSampleList[0];else if(i.type===t){postMessage({cmd:"decodeVideo",...i},[i.payload.buffer]),s=null;break}}}};self.onmessage=e=>{const t=e.data;switch(t.cmd){case"updateBaseFps":i.updateBaseFps(t.baseFps);break;case"updatePlayRate":i.updatePlayRate(t.rate);break;case"seekSampleRange":i.seekSampleRange(t.time);break;case"cleanSampleList":i.cleanSampleList();break;case"setSeekingTime":i.setSeekingTime(t.time);break;case"pause":i.pause();break;case"resume":i.resume();break;case"sample":i.pushSample(t);break;case"destroy":i.destroy(),i=null}}}.toString()),t=new Blob([e],{type:"text/javascript"}),i=URL.createObjectURL(t);let s=new Worker(i);this.workerUrl=i,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),ne),s.onmessage=e=>{const t=e.data;switch(t.cmd){case"decodeVideo":this._doDecodeVideo(t);break;case"decodeAudio":this._doDecodeAudio(t);break;case"sampleListInfo":if(this.tempSampleListInfo=t,this.player.isPlayVodNotUseMSE()){const e=this.geVodLoadedTime(),t=this.player.getPlayVodDuration();e&&t&&this.player.emit(vt.playVodTimeCache,e/(1e3*t))}}},this.loopWorker=s}_postMessageToLoopWorker(e,t){this.player.isUseMSE()||(this.loopWorker?this.loopWorker.postMessage({cmd:e,...t}):this.player.debug.warn(this.TAG_NAME,"loop worker is not init, can not post message"))}_doDecodeAudio(e){const t=new Uint8Array(e.payload);this._doDecodeByMp4(t,Ve,e.dts,!1,0)}_doDecodeVideo(e){const t=new Uint8Array(e.payload);let i=null;i=e.isHevc?yl(t,e.isIFrame):sl(t,e.isIFrame),this.player.updateStats({dts:e.dts});const s=e.pts-e.dts;i=this.cryptoPayload(i,e.isIFrame),this._doDecodeByMp4(i,ze,e.dts,e.isIFrame,s)}getBuferredDuration(){return this.tempSampleListInfo.buferredDuration||0}getSampleListLength(){return this.tempSampleListInfo.allListLength||0}getSampleAudioListLength(){return this.tempSampleListInfo.audioListLength||0}getSampleVideoListLength(){return this.tempSampleListInfo.videoListLength||0}getSampleRange(){return{start:this.tempSampleListInfo.start||0,end:this.tempSampleListInfo.end||0}}seekSampleRange(e){this._postMessageToLoopWorker("seekSampleRange",{time:e})}cleanSampleListAndSetSeekTime(e){Io(this.player.isUseMSE())&&(this.clearBuffer(!0),this._postMessageToLoopWorker("cleanSampleList"),this._postMessageToLoopWorker("setSeekingTime",{time:e}))}pause(){this._postMessageToLoopWorker("pause")}resume(){this._postMessageToLoopWorker("resume")}geVodLoadedTime(){let e=0;return e=this.getSampleRange().end,e}}class Wv{constructor(e,t){this.TAG_NAME="Mp4BufferService",this.mp4=e,this.player=t,this._demuxer=new Gv(t),this._remuxer=null,this._mse=null,this._softVideo=null,this._needInitSegment=!0,this._sourceCreated=!1}async destroy(){this._softVideo=null,this._demuxer=null,this._remuxer=null}async appendBuffer(e,t,i,s,r){if(!e||!e.length)return;if(!this._demuxer)return;let a,o;i&&(a=[i[0].index,i[i.length-1].index]),s&&(o=[s[0].index,s[s.length-1].index]),(a||o)&&this._demuxer.demux(e,t,a,o,r)}async evictBuffer(e){const t=this.mp4.media;if(!this._mse||!this._demuxer||!t||!e||e<0)return;const i=t.currentTime-e;if(i<=0)return;var s;if(((s=xv(t))&&s.length?1===s.length&&s.end(0)-s.start(0)<1e-6||1===s.length&&s.start(0)<0?0:s.start(0):0)+1>=i)return;const r=this._demuxer;return[r.videoTrack,r.audioTrack].forEach((e=>{console.error("remove track")})),!0}async reset(){this._sourceCreated=!1,this._needInitSegment=!0}async endOfStream(){}async updateDuration(e){this.player.debugLog(this.TAG_NAME,"updateDuration()",e),this.player.isPlayVod()&&(this.player.playVod.updateDuration(e),this.player.isPlayVodUseMSE()&&this.player.mseDecoder&&this.player.mseDecoder.isStateOpen&&this.player.mseDecoder.updateMediaSourceDuration(e))}seekSampleRange(e){this._demuxer.seekSampleRange(e)}cleanSampleListAndSetSeekTime(e){this._demuxer.cleanSampleListAndSetSeekTime(e)}demuxerPause(){var e;null===(e=this._demuxer)||void 0===e||e.pause()}demuxerResume(){var e;null===(e=this._demuxer)||void 0===e||e.resume()}getSampleRange(){return this._demuxer.getSampleRange()}}class Vv extends a{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var i;super(),rc(this,"onVideoSeeking",(async e=>{this.player.debug.log(this.TAG_NAME,"listen playVodVideoSeekingByMse",e),await this.onSeeking(e)})),rc(this,"onSeeking",(async e=>{this.player.debug.log(this.TAG_NAME,`listen playVodSeek onSeeking() ${e}`);const t=this._loader,{video:i,audio:s}=t.getSegmentByTime(e),r=i||s;if(!r)return void this.player.debug.log(this.TAG_NAME,`onSeeking() ${e} and segment is null so return`);if(t.isSegmentLoading(r.index))return this._setPrevSegmentEndTime(0),void this.player.debug.log(this.TAG_NAME,`onSeeking() ${e} and segment ${r.index} is loading so return`);if(this.player.isPlayVodUseMSE()){const t=this.player.video.$videoElement,i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!e||!e.length)return{start:0,end:0,buffers:[]};let s=0,r=0,a=0,o=0,n=0,l=0,d=0;const h=Dv(e,i);for(let e=0,c=h.length;e=c[0]&&tc[1]&&(l=c[0],d=c[1])}}return{start:s,end:r,index:a,buffers:h,nextStart:o,nextEnd:n,prevStart:l,prevEnd:d,currentTime:t,behind:t-s,remaining:r?r-t:0,length:Rv(h)}}(xv(t),e,.1);if(i.end&&(i.end>=r.endTime||i.end>=t.duration))return void this.player.debug.log(this.TAG_NAME,`onSeeking() ${e} and end is ${i.end} and segment ${r.index} is loading so return`)}const a=this._bufferService.getSampleRange();if(this.player.debug.log(this.TAG_NAME,"onSeeking() seek to mp4SampleRange",a),a&&a.start<=e&&e<=a.end)return this.player.debug.log(this.TAG_NAME,"onSeeking() seek to mp4SampleRange",a,"in range"),void this._bufferService.seekSampleRange(e);this._bufferService.cleanSampleListAndSetSeekTime(e),await t.cancel(),this._loading=!1,this._setPrevSegmentEndTime(0),await this._loadSegment(e),this._startTick()})),rc(this,"_tick",(async()=>{if(this._stopTick(),this._startTick(this._config.tickInterval),this.player.isPlayVodUseMSE()){const t=this.player.video.$videoElement;if(!t)return;if(((e=xv(t))&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6?0:e.end(e.length-1):0)<.1||!t.readyState)return;(function(e){return e&&!e.paused&&!e.ended&&0!==e.playbackRate&&0!==e.readyState})(t)&&await this._loadSegment()}else await this._loadSegment();var e})),this.TAG_NAME="Mp4",this.player=e,this._prevSegmentEndTime=0,this._tickTimer=null,this._loading=!1,this._config=(i=t,Object.assign({tickInterval:500,preloadTime:10,bufferBehind:10,segmentDuration:void 0,url:"",retry:3,retryDelay:100},i)),this._bufferService=new Wv(this,e),this._bandwidthService=new tv,this._loader=new jv(this,this.player,{url:t.url,retry:t.retry,retryDelay:t.retryDelay}),this.player.isPlayVod()&&(this.player.on(vt.playVodPause,(e=>{e?this.onPause():this.onPlay()})),this.player.isPlayVodUseMSE()?this.player.on(vt.playVodVideoSeekingByMse,this.onVideoSeeking.bind(this)):this.player.on(vt.playVodSeek,this.onSeeking.bind(this))),this.player.debug.log(this.TAG_NAME,"init")}async destroy(){await this._reset(),await this._bufferService.destroy()}async _reset(){this._stopTick(),await this._loader.reset(),await this._bufferService.reset(),this._prevSegmentEndTime=0,this._loading=!1,this._bandwidthService.reset()}async loadSource(e){this.player.debug.log(this.TAG_NAME,`loadSource() ${e}`),e&&await this._loader.changeUrl(e),this._startTick(this._config.tickInterval),await this._loadSegment(0)}async _loadSegment(e){var t,i,s,r;if(this._loading)return;let a=this.player.getRenderCurrentPts();a/=1e3,this.player.isPlayVodUseMSE()&&(a=this.player.getVideoCurrentTime());let o,n=this.player.isPlayVod()&&this.player.playVod.isSeeking();if(this._prevSegmentEndTime&&Io(n)&&this._prevSegmentEndTime>this.player._opt.preloadTime*this.player.playVod.rate+a)return void this.player.debug.log(this.TAG_NAME,`_loadSegment() and _prevSegmentEndTime is ${this._prevSegmentEndTime} and current time is ${a} more than ${this.player._opt.preloadTime*this.player.playVod.rate+a} and return`);this._loading=!0;try{o=null!=e?await this._loader.loadSegmentByTime(e):await this._loader.loadNextSegment()}catch(e){console.error(e)}if(!o)return void(this._loading=!1);this._emitOnLoaded(o);const l=Math.min((null===(t=o.video)||void 0===t?void 0:t.endTime)||1/0,(null===(i=o.audio)||void 0===i?void 0:i.endTime)||1/0);this._setPrevSegmentEndTime(l);try{var d,h;await this._bufferService.appendBuffer(o.data,o.option.range[0],null===(d=o.video)||void 0===d?void 0:d.frames,null===(h=o.audio)||void 0===h?void 0:h.frames,this._loader.meta.moov),await this._bufferService.evictBuffer(this._config.bufferBehind)}catch(e){console.error(e)}finally{this._loading=!1}this._loader.isLastSegment((null===(s=o.video)||void 0===s?void 0:s.index)||(null===(r=o.audio)||void 0===r?void 0:r.index)||0)?this._end():this._loadSegment()}_end(){this._bufferService.endOfStream(),this._stopTick()}_emitOnLoaded(e){const{data:t,response:i,option:s}=e,{firstByteTime:r,startTime:a,endTime:o,contentLength:n}=s||{},l=o-a;this._bandwidthService.addRecord(n||t.byteLength,l)}resetBandwidth(){this._bandwidthService.reset()}_setPrevSegmentEndTime(e){this.player.debug.log(this.TAG_NAME,`setPrevSegmentEndTime() ${e}`),this._prevSegmentEndTime=e}_startTick(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._stopTick(),this._tickTimer=setTimeout(this._tick,e)}_stopTick(){clearTimeout(this._tickTimer)}onPause(){this.player.debug.log(this.TAG_NAME,"onPause()"),this._bufferService.demuxerPause(),this._stopTick()}async onPlay(){this.player.debug.log(this.TAG_NAME,"onPlay()"),this._bufferService.demuxerResume(),await this._loadSegment(),this._startTick()}speedInfo(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}}class zv extends a{constructor(e){super(),this.player=e,this.TAG_NAME="Mp4Decoder",this.canVideoPlay=!1,this.$videoElement=this.player.video.$videoElement,this.mp4=null,this.eventsDestroy=[],this.bandwidthEstimateInterval=null,this.mp4=new Vv(e),this._bindEvents(),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){return this._stopBandwidthEstimateInterval(),this.mp4&&(await this.mp4.destroy(),this.mp4=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.$videoElement=null,this.player.debugLog(this.TAG_NAME,"destroy"),!0}_bindEvents(){this.mp4.on(zr,(e=>{this.player.emitError(wt.mp4Error,e)}))}_startBandwidthEstimateInterval(){this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{const e=this.mp4.speedInfo();this.player.emit(vt.kBps,(e.avgSpeed/1024/8).toFixed(2)),this.mp4.resetBandwidth()}),1e3)}_stopBandwidthEstimateInterval(){this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}async loadSource(e){return this.player.debugLog(this.TAG_NAME,`loadSource() ${e}`),this.url=e,await this.mp4.loadSource(e),this._startBandwidthEstimateInterval(),!0}}class $v extends a{constructor(e,t){if(super(),this.player=e,this.player.$container.classList.add("jb-pro-container-playback"),this._showPrecision=null,this._startTime=null,this._playStartTime=null,this._playingTimestamp=null,this._fps=parseInt(t.fps,10)||e._opt.playbackFps,this._isUseFpsRender=!!Po(t.isUseFpsRender),this._rate=1,this._audioTimestamp=0,this._videoTimestamp=0,this.controlType=t.controlType||ee.normal,t.controlType&&-1===[ee.normal,ee.simple].indexOf(t.controlType)&&(this.player.debugWarn("Playback","constructor()","controlType is not in [normal,simple]",t.controlType),this.controlType=ee.normal),this._currentLocalTimestamp=0,this._localOneFrameTimestamp=t.localOneFrameTimestamp||40,this._localCalculateTimeInterval=null,this._isUseLocalCalculateTime=!!Po(t.isUseLocalCalculateTime),this._isPlaybackPauseClearCache=!Io(t.isPlaybackPauseClearCache),this._isCacheBeforeDecodeForFpsRender=!!Po(t.isCacheBeforeDecodeForFpsRender),this._startfpsTime=null,this._startFpsTimestamp=null,this._checkStatsInterval=null,this._playbackTs=0,this._renderFps=0,this._isUseLocalCalculateTime?this._startLocalCalculateTime():this._listen(),this.playbackList=[],this._playbackListStartTimestamp=null,this._totalDuration=0,t.controlType===ee.normal)this.initPlaybackList(t.playList,t.showPrecision,t.startTime);else if(t.controlType===ee.simple){t.duration&&(this._totalDuration=1e3*t.duration);let e=t.startTime||0;e>this.totalDuration&&(e=this.totalDuration),this.setStartTime(e)}this.player.on(vt.playbackPause,(e=>{e?this.pause():this.resume()}));const i={fps:this._fps,isUseFpsRender:this._isUseFpsRender,localOneFrameTimestamp:this._localOneFrameTimestamp,isUseLocalCalculateTime:this._isUseLocalCalculateTime,uiUsePlaybackPause:t.uiUsePlaybackPause,showControl:t.showControl};try{e.debugLog("Playback","init",JSON.stringify(i))}catch(t){e.debugLog("Playback","init",i)}}destroy(){this._startTime=null,this._showPrecision=null,this._playStartTime=null,this._playingTimestamp=null,this._totalDuration=0,this._audioTimestamp=0,this._videoTimestamp=0,this._fps=null,this._isUseFpsRender=!1,this._rate=1,this.playbackList=[],this._playbackListStartTimestamp=null,this._localCalculateTimeInterval=null,this._currentLocalTimestamp=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._renderFps=0,this._playbackTs=0,this._stopLocalCalculateTime(),this.clearStatsInterval(),this.player.$container&&this.player.$container.classList.remove("jb-pro-container-playback"),this.off(),this.player.debugLog("Playback","destroy")}_listen(){this.player.on(vt.stats,(e=>{const t=e.ts;this._playStartTime||(this._playStartTime=t-1e3);let i=t-this._playStartTime;if(this.setPlayingTimestamp(i),this.player.isPlaybackUseMSE()&&this.player.isPlaying()&&0===e.videoCurrentTimeDiff&&(this.player.debugWarn(this.TAG_NAME,`updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is ${e.videoCurrentTime}\n and next update video currentTime`),this.player.mseDecoder.updateVideoCurrentTimeByBufferStart()),this.player.isStreamEnd()&&this.player.isPlaying())if(this.player.isPlaybackUseMSE()&&0===e.videoCurrentTimeDiff){this.player.mseDecoder.isCurrentTimeInBufferEnd()&&this.player.emit(vt.playbackEnd)}else{const e=this.player.getDemuxBufferLength(),t=this.player.getCanvasVideoBufferLength();0===e&&0===t&&this.player.emit(vt.playbackEnd)}}))}pause(){this.clearStatsInterval()}resume(){this.startCheckStatsInterval()}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._startFpsTimestamp||(this._startFpsTimestamp=_a()),Ka(e.ts)&&(this.player.updateStats({fps:!0,ts:e.ts}),this._playbackTs=e.ts,this._startfpsTime||(this._startfpsTime=e.ts),this._renderFps+=1);const t=_a(),i=t-this._startFpsTimestamp;if(i<1e3)return;let s=null;this._startfpsTime&&(s=this._playbackTs-this._startfpsTime),this.player.emit(vt.playbackStats,{fps:this._renderFps,rate:this.rate,start:this._startfpsTime,end:this._playbackTs,timestamp:i,dataTimestamp:s,audioBufferSize:this.player.audio?this.player.audio.bufferSize:0,videoBufferSize:this.player.video?this.player.video.bufferSize:0,ts:this._playbackTs}),this._renderFps=0,this._startfpsTime=this._playbackTs,this._startFpsTimestamp=t}updateLocalOneFrameTimestamp(e){this._localOneFrameTimestamp=e}_startLocalCalculateTime(){this._stopLocalCalculateTime(),this._localCalculateTimeInterval=setInterval((()=>{const e=this._currentLocalTimestamp;this._playStartTime||(this._playStartTime=e-1e3);let t=e-this._playStartTime;this.setPlayingTimestamp(t)}),1e3)}startCheckStatsInterval(){this.clearStatsInterval(),this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}_stopLocalCalculateTime(){this._localCalculateTimeInterval&&(clearInterval(this._localCalculateTimeInterval),this._localCalculateTimeInterval=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}increaseLocalTimestamp(){this._isUseLocalCalculateTime&&(this._currentLocalTimestamp+=this._localOneFrameTimestamp)}initPlaybackList(e,t,i){this.playbackList=e||[];let s=0;if(this.playbackList.forEach(((e,t)=>{10===oo(e.start)?(e.startTimestamp=1e3*e.start,e.startTime=Ma(e.startTimestamp)):(e.startTimestamp=e.start,e.startTime=Ma(e.startTimestamp)),10===oo(e.end)?(e.endTimestamp=1e3*e.end,e.endTime=Ma(e.endTimestamp)):(e.endTimestamp=e.end,e.endTime=Ma(e.endTimestamp)),e.duration=e.end-e.start,s+=e.duration})),this._totalDuration=s,this.player.debugLog("Playback",this.playbackList),this.playbackList.length>0){const e=this.playbackList[0].startTimestamp;this._playbackListStartTimestamp=e;let t=e;i&&(10===oo(i)&&(i*=1e3),this._isTimeInPlaybackList(i)&&(t=i)),this.setStartTime(t)}const r=t||Fi;this.setShowPrecision(r)}get totalDuration(){return(this._totalDuration||0)/1e3}get startTime(){return this._startTime||0}setStartTime(e){this._startTime=e,this._playingTimestamp=e,this._playStartTime=null}setRate(e){this._rate=e,this.player.emit(vt.playbackRateChange,e)}get fps(){return this._fps}get rate(){return this._rate}get isUseFpsRender(){return this._isUseFpsRender}get isUseLocalCalculateTime(){return this._isUseLocalCalculateTime}get showPrecision(){return this._showPrecision}get is60Min(){return this.showPrecision===Fi}get is30Min(){return this.showPrecision===Ui}get is10Min(){return this.showPrecision===Oi}get is5Min(){return this.showPrecision===Ni}get is1Min(){return this.showPrecision===Ni}get isPlaybackPauseClearCache(){return this._isPlaybackPauseClearCache}get isCacheBeforeDecodeForFpsRender(){return this._isCacheBeforeDecodeForFpsRender}setShowPrecision(e){Gi.includes(e)||(this.player.debugWarn("Playback","setShowPrecision()","type is not in PLAYBACK_CONTROL_TIME_PRECISION_ARRAY",e),e=Fi),this._showPrecision&&this._showPrecision===e||(this._showPrecision=e,this.player.emit(vt.playbackPrecision,this._showPrecision,this.playbackList),this.player.emit(vt.playbackShowPrecisionChange,this._showPrecision))}setPlayingTimestamp(e){let t;if(this.controlType===ee.normal){t=this.startTime+e,this._playingTimestamp=t,this.player.emit(vt.playbackTime,t);const i=new Date(t);this.player.emit(vt.playbackTimestamp,{ts:t,hour:i.getHours(),min:i.getMinutes(),second:i.getSeconds()})}else this.controlType===ee.simple&&(t=this.startTime+Math.round(e/1e3),t>this.totalDuration&&(this.player.debugLog("Playback","setPlayingTimestamp()",`timestamp ${t} > this.totalDuration ${this.totalDuration}`),t=this.totalDuration),this._playingTimestamp=t,this.player.emit(vt.playbackTime,t),this.player.emit(vt.playbackTimestamp,{ts:t}))}get playingTimestamp(){return this._playingTimestamp}narrowPrecision(){const e=Gi.indexOf(this.showPrecision)-1;if(e>=0){const t=Gi[e];this.setShowPrecision(t)}}expandPrecision(){const e=Gi.indexOf(this.showPrecision)+1;if(e<=Gi.length-1){const t=Gi[e];this.setShowPrecision(t)}}seek(e){if(this.player.debugLog("Playback","seek()",e),this.controlType===ee.normal){if("true"===e.hasRecord){let t=e.time;"min"===e.type&&(t=60*e.time);let i=function(e){let t={};e>-1&&(t={hour:Math.floor(e/60/60)%60,min:Math.floor(e/60)%60,second:e%60});return t}(t);if(this._playbackListStartTimestamp){const e=new Date(this._playbackListStartTimestamp).setHours(i.hour,i.min,i.second,0);i.timestamp=e;const t=this._findMoreInfoByTimestamp(e);i&&t.more&&(i.more=t.more)}this.player.emit(vt.playbackSeek,i)}}else if(this.controlType===ee.simple){let t=e.time;this.player.emit(vt.playbackSeek,{ts:t})}}currentTimeScroll(){this.player.emit(vt.playbackTimeScroll)}_findMoreInfoByTimestamp(e){let t=null;return this.playbackList.forEach(((i,s)=>{i.startTimestamp<=e&&i.endTimestamp>=e&&(t=i)})),t}_isTimeInPlaybackList(e){let t=!1;return this.playbackList.forEach(((i,s)=>{i.startTimestamp<=e&&i.endTimestamp>=e&&(t=!0)})),t}getControlType(){return this.controlType}isControlTypeNormal(){return this.controlType===ee.normal}isControlTypeSimple(){return this.controlType===ee.simple}isPlaybackPauseNotClearCacheAndCacheBeforeDecode(){return Io(this.isPlaybackPauseClearCache)&&this.isCacheBeforeDecodeForFpsRender}isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender(){return this.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.isUseFpsRender}}class Hv extends a{constructor(e){super(),this.player=e,this.TAG_NAME="zoom",this.bindEvents=[],this.isDragging=!1,this.isGesturing=!1,this.currentZoom=1,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,this.prevGestureScale=null,this.prevGestureTouches=[],this._isZooming=!1,this.tempPosition={x:0,y:0},this.videoPosition={left:0,top:0},this.player,this.player.on(vt.zooming,this._handleZooming.bind(this)),e.debugLog("zoom","init")}destroy(){this._unbindEvents(),this.bindEvents=[],this.isDragging=!1,this.currentZoom=1,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,this.tempPosition={x:0,y:0},this.videoPosition={left:0,top:0},this.off(),this.player.debugLog("zoom","destroy")}_handleZooming(e){if(e){this.player.$container.classList.add("jb-pro-zoom-control"),this._bindEvents();const e=this.player.video.$videoElement.style.transform;let t=this.player.video.$videoElement.offsetLeft,i=this.player.video.$videoElement.offsetTop;t=parseFloat(t),i=parseFloat(i),t&&(this.videoPosition.left=t),i&&(this.videoPosition.top=i),this.prevVideoElementStyleTransform=e;let s=e.match(/scale\([0-9., ]*\)/g);if(s&&s[0]){let e=s[0].replace("scale(","").replace(")","");this.prevVideoElementStyleScale=e.split(",")}this._isZooming=!0}else{this.player.$container.classList.remove("jb-pro-zoom-control"),this._unbindEvents(),this._resetVideoPosition(),this.player.$container.style.cursor="auto";let e=this.prevVideoElementStyleTransform;this.player.video.$videoElement.style.transform=e,this.prevVideoElementStyleTransform=null,this.prevVideoElementStyleScale=null,Ca()&&this.player._opt.useWebFullScreen&&this.player.resize(),this._isZooming=!1}}_bindEvents(){const{events:{proxy:e}}=this.player,t=$o(),i=e(this.player.$container,t.move,this.handleMouseMove.bind(this)),s=e(this.player.$container,t.down,this.handleMouseDown.bind(this)),r=e(window,t.up,this.handleMouseUp.bind(this));if(this.bindEvents.push(i,s,r),Ca()&&this.player._opt.zoomSupportGestureInMobile)if(Da()){this.handleGestureChangeThrottle=Na(this.handleGestureChangeForAndroid.bind(this),100);const t=e(this.player.$container,"touchstart",this.handleGestureStartForAndroid.bind(this)),i=e(this.player.$container,"touchmove",this.handleGestureChangeThrottle.bind(this)),s=e(this.player.$container,"touchend",this.handleGestureEndForAndroid.bind(this));this.bindEvents.push(t,i,s)}else{this.handleGestureChangeThrottle=Na(this.handleGestureChange.bind(this),100);const t=e(this.player.$container,"gesturestart",this.handleGestureStart.bind(this)),i=e(this.player.$container,"gesturechange",this.handleGestureChangeThrottle.bind(this)),s=e(this.player.$container,"gestureend",this.handleGestureEnd.bind(this));this.bindEvents.push(t,i,s)}}_unbindEvents(){this.bindEvents.forEach((e=>{e&&e()}))}handleMouseMove(e){if(e.stopPropagation(),this.isDragging&&this.player.zooming){e.preventDefault();const{posX:t,posY:i}=fo(e),s=this.tempPosition.x-t,r=this.tempPosition.y-i;this.videoPosition.left=this.videoPosition.left-s,this.videoPosition.top=this.videoPosition.top-r,this.tempPosition.x=t,this.tempPosition.y=i,this.updateVideoPosition()}}handleMouseDown(e){e.stopPropagation();const t=po(e);if(this.player.zooming&&(t.matches("video")||t.matches("canvas"))){e.preventDefault();const{posX:t,posY:i}=fo(e);this.player.$container.style.cursor="grabbing",this.tempPosition.x=t,this.tempPosition.y=i,this.isDragging=!0,this.player.debugLog("zoom","handleMouseDown is dragging true")}}handleMouseUp(e){e.stopPropagation(),this.isDragging&&this.player.zooming&&(e.preventDefault(),this.tempPosition={x:0,y:0},this.isDragging=!1,this.player.$container.style.cursor="grab",this.player.debugLog("zoom","handleMouseUp is dragging false"))}handleGestureStart(e){e.stopPropagation(),this.player.zooming&&(null===this.prevGestureScale&&(this.prevGestureScale=e.scale),this.isGesturing=!0)}handleGestureStartForAndroid(e){e.stopPropagation(),this.player.zooming&&e.touches.length>=2&&(this.isGesturing=!0,this.prevGestureTouches=e.touches)}handleGestureChangeForAndroid(e){if(e.stopPropagation(),e.preventDefault(),this.player.zooming&&this.isGesturing&&e.touches.length>=2){const s=e.touches,r=t(s[0],s[1])/t(this.prevGestureTouches[0],this.prevGestureTouches[1]);i(s[0],s[1]),i(this.prevGestureTouches[0],this.prevGestureTouches[1]),null===this.prevGestureScale&&(this.prevGestureScale=r);const a=r-this.prevGestureScale,o=this.player._opt.zoomSupportGestureInMobileSpeed;a>0?this.expandPrecision(o):a<0&&this.narrowPrecision(o)}function t(e,t){var i=t.pageX-e.pageX,s=t.pageY-e.pageY;return Math.sqrt(i*i+s*s)}function i(e,t){var i=e.pageX-t.pageX,s=e.pageY-t.pageY;return 180*Math.atan2(s,i)/Math.PI}}handleGestureEndForAndroid(e){e.stopPropagation(),this.player.zooming&&(this.prevGestureScale=null,this.isGesturing=!1,this.prevGestureTouches=[])}handleGestureChange(e){if(e.stopPropagation(),this.player.zooming&&this.isGesturing&&null!==this.prevGestureScale){const t=e.scale,i=t-this.prevGestureScale,s=this.player._opt.zoomSupportGestureInMobileSpeed;i>0?this.expandPrecision(s):i<0&&this.narrowPrecision(s),this.prevGestureScale=t}}handleGestureEnd(e){e.stopPropagation(),this.player.zooming&&(this.prevGestureScale=null,this.isGesturing=!1)}updateVideoPosition(){const e=this.player.video.$videoElement;e.style.left=this.videoPosition.left+"px",e.style.top=this.videoPosition.top+"px"}_resetVideoPosition(){this.player.resize(),this.tempPosition={x:0,y:0},this.videoPosition={left:0,top:0},this.currentZoom=1,this.isDragging=!1}narrowPrecision(e){this.currentZoom<=1||(this.currentZoom-=1,this.updateVideoElementScale(e))}expandPrecision(e){this.currentZoom>=this.player._opt.zoomMaxScale||(this.currentZoom+=1,this.updateVideoElementScale(e))}updateCurrentZoom(e,t){e<1||e>this.player._opt.zoomMaxScale||(this.currentZoom=e,this.updateVideoElementScale(t))}updatePrevVideoElementStyleScale(e){this.prevVideoElementStyleScale=e}updateVideoElementScale(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;const t=this.player.video.$videoElement;let i=t.style.transform,s=1,r=1;if(this.prevVideoElementStyleScale){const e=this.prevVideoElementStyleScale[0];void 0!==e&&(s=e,r=e);const t=this.prevVideoElementStyleScale[1];void 0!==t&&(r=t)}r=Ua(r),s=Ua(s);const a=e*s*(this.currentZoom-1)+s,o=e*r*(this.currentZoom-1)+r;let n;n=-1===i.indexOf("scale(")?i+` scale(${a},${o})`:i.replace(/scale\([0-9., ]*\)/,`scale(${a},${o})`),this.player.debugLog("zoom",`updateVideoElementScale end is X: ${s} -> ${a}, Y: ${r} -> ${o} style is ${n}`),t.style.transform=n}isZooming(){return this._isZooming}}class Jv extends a{constructor(e){super(),this.player=e,this.faceDetector=null,this.objectDetector=null,this.imageDetector=null,this.occlusionDetector=null,this.initFaceDetector(),this.initObjectDetector(),this.initImageDetector(),this.initOcclusionDetector();let t="init";this.faceDetector&&(t+=" and use faceDetector"),this.objectDetector&&(t+=" and use objectDetector"),this.imageDetector&&(t+=" and use imageDetector"),this.occlusionDetector&&(t+=" and use occlusionDetector"),this.player.debugLog("AiLoader",t)}destroy(){this.off(),this.faceDetector&&(this.faceDetector.destroy(),this.faceDetector=null),this.objectDetector&&(this.objectDetector.destroy(),this.objectDetector=null),this.imageDetector&&(this.imageDetector.destroy(),this.imageDetector=null),this.occlusionDetector&&(this.occlusionDetector.destroy(),this.occlusionDetector=null),this.player.debugLog("AiLoader","destroy")}initFaceDetector(){if(this.player._opt.useFaceDetector&&window.JessibucaProFaceDetector){const e=new JessibucaProFaceDetector({detectWidth:this.player._opt.aiFaceDetectWidth,showRect:!1,debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init face detector success"),this.faceDetector=e,this.faceDetector.on("jessibuca-pro-face-detector-info",(e=>{if(this.player.emit(vt.aiFaceDetectorInfo,e),this.player._opt.aiFaceDetectShowRect){const t=this.player._opt.aiFaceDetectRectConfig||{},i=(e.list||[]).map((e=>(e.type="rect",e.color=t.borderColor||"#0000FF",e.lineWidth=t.borderWidth||2,e)));this.player.video&&this.player.video.addAiContentToCanvas(i)}}))}))}}initObjectDetector(){if(this.player._opt.useObjectDetector&&window.JessibucaProObjectDetector){const e=new JessibucaProObjectDetector({detectWidth:this.player._opt.aiObjectDetectWidth,showRect:!1,debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init object detector success"),this.objectDetector=e,this.objectDetector.on("jessibuca-pro-object-detector-info",(e=>{if(this.player.emit(vt.aiObjectDetectorInfo,e),this.player._opt.aiObjectDetectShowRect){const t=[],i=this.player._opt.aiObjectDetectRectConfig||{};(e.list||[]).forEach((e=>{const s={type:"rect",color:i.borderColor||"#0000FF",lineWidth:i.borderWidth||2,x:e.rect.x,y:e.rect.y,width:e.rect.width,height:e.rect.height},r={type:"text",color:i.color||"#000",fontSize:i.fontSize||14,text:e.zh,x:e.rect.x,y:e.rect.y-25};t.push(s,r)})),this.player.video&&this.player.video.addAiContentToCanvas(t)}}))}))}}initImageDetector(){if(this.player._opt.useImageDetector&&window.JessibucaProImageDetector){const e=new JessibucaProImageDetector({debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init image detector success"),this.imageDetector=e}))}}initOcclusionDetector(){if(this.player._opt.useOcclusionDetector&&window.JessibucaProOcclusionDetector){const e=new JessibucaProOcclusionDetector({debug:this.player._opt.debug,debugLevel:this.player._opt.debugLevel,debugUuid:this.player._opt.debugUuid});e.load().then((()=>{this.player.debugLog("AiLoader","init occlusion detector success"),this.occlusionDetector=e}))}}updateFaceDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.faceDetector&&this.faceDetector.updateConfig(e)}updateObjectDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.objectDetector&&this.objectDetector.updateConfig(e)}updateImageDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.imageDetector&&this.imageDetector.updateConfig(e)}updateOcclusionDetectorConfig(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.occlusionDetector&&this.occlusionDetector.updateConfig(e)}}class qv extends a{constructor(e){super(),this.player=e,this.LOG_NAME="Contextmenu",this.menuList=[],this.$contextmenus=e.control.$contextmenus,Ca()?this.player.debugWarn(this.LOG_NAME,"not support mobile"):this.init(),e.debugLog(this.LOG_NAME,"init")}destroy(){this.menuList=[],this.player.debugLog(this.LOG_NAME,"destroy")}get isShow(){return kc(this.player.$container,"jb-pro-contextmenus-show")}show(){Ec(this.player.$container,"jb-pro-contextmenus-show")}hide(){Tc(this.player.$container,"jb-pro-contextmenus-show")}init(){const{events:{proxy:e},debug:t}=this.player;this.player._opt.contextmenuBtns.length>0&&this.player._opt.contextmenuBtns.forEach((e=>{this.addMenuItem(e)})),e(this.player.$container,"contextmenu",(e=>{e.preventDefault(),this.show();const t=e.clientX,i=e.clientY,{height:s,width:r,left:a,top:o}=this.player.$container.getBoundingClientRect(),{height:n,width:l}=this.$contextmenus.getBoundingClientRect();let d=t-a,h=i-o;t+l>a+r&&(d=r-l),i+n>o+s&&(h=s-n),wa(this.$contextmenus,{left:`${d}px`,top:`${h}px`})})),e(this.player.$container,"click",(e=>{xc(e,this.$contextmenus)||this.hide()})),this.player.on(vt.blur,(()=>{this.hide()}))}_validateMenuItem(e){let t=!0;return e.content||(this.player.debugWarn(this.LOG_NAME,"content is required"),t=!1),t}addMenuItem(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=Co(Us);if(e=Object.assign({},t,e),!this._validateMenuItem(e))return;const{events:{proxy:i},debug:s}=this.player,r=Oa(),a=`\n
      \n ${e.content}\n
      \n `,o=Array.from(this.$contextmenus.children)[e.index];o?o.insertAdjacentHTML("beforebegin",a):Lc(this.$contextmenus,a);const n=this.$contextmenus.querySelector(`.jb-pro-contextmenu-${r}`);e.click&&i(n,"click",(t=>{t.preventDefault(),e.click.call(this.player,this,t),this.hide()})),this.menuList.push({uuid:r,$menuItem:n})}}class Kv extends a{constructor(e){super(),this.player=e,this.TAG_NAME="CommonWebrtc",this.rtcPeerConnection=null,this.videoStream=null,this.isDisconnected=!1,this.isH264=this.player.isWebrtcH264(),this.eventsDestroy=[],this.supportVideoFrameCallbackHandle=null,this.isInitInfo=!1,this.$videoElement=this.player.video.$videoElement,this.bandwidthEstimateInterval=null,this.rtcPeerTrackVideoReceiver=null,this.rtcPeerTrackAudioReceiver=null,this.prevWebrtcVideoStats={},this.prevWebrtcAudioStats={},this.currentWebrtcStats={},this.player._opt.webrtcUseCanvasRender&&this.isH264&&(this.$videoElement=document.createElement("video"),Ba()&&(this.$videoElement.style.position="absolute"),this._initVideoEvents()),this.$videoElement.muted=!0,this._initRtcPeerConnection()}destroy(){if(this.isDisconnected=!1,this.isInitInfo=!1,this.prevWebrtcVideoStats={},this.currentWebrtcStats={},this.rtcPeerTrackVideoReceiver=null,this.rtcPeerTrackAudioReceiver=null,this._stopBandwidthEstimateInterval(),this.supportVideoFrameCallbackHandle&&this.$videoElement&&(this.$videoElement.cancelVideoFrameCallback(this.supportVideoFrameCallbackHandle),this.supportVideoFrameCallbackHandle=null),this.eventsDestroy.length&&(this.eventsDestroy.forEach((e=>e())),this.eventsDestroy=[]),this.isH264&&(this.videoStream&&(this.videoStream.getTracks().forEach((e=>e.stop())),this.videoStream=null),this.$videoElement))if(this.player._opt.webrtcUseCanvasRender){this.$videoElement.pause&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement.currentTime=0,this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src"));try{this.$videoElement.load()}catch(e){}}else this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject"));this.$videoElement=null,this.rtcPeerConnection&&(this.rtcPeerConnection.onicecandidate=ya,this.rtcPeerConnection.ontrack=ya,this.rtcPeerConnection.onconnectionstatechange=ya,this.rtcPeerConnection.ondatachannel=ya,this.rtcPeerConnection.close(),this.rtcPeerConnection=null)}_initVideoEvents(){this.player.debugLog(this.TAG_NAME,"_initVideoEvents()");const{proxy:e}=this.player.events,t=e(this.$videoElement,hs,(()=>{this.player.debugLog(this.TAG_NAME,"video canplay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video play"),this._startCanvasRender(),this._initRenderSize()})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video play error ",e)}))})),i=e(this.$videoElement,cs,(()=>{this.player.debugLog(this.TAG_NAME,"video waiting")})),s=e(this.$videoElement,ms,(()=>{this.player.debugLog(this.TAG_NAME,"video loadedmetadata")})),r=e(this.$videoElement,us,(e=>{parseInt(e.timeStamp,10),this.$videoElement.paused&&(this.player.debugWarn(this.TAG_NAME,"video is paused and next try to replay"),this.$videoElement.play().then((()=>{this.player.debugLog(this.TAG_NAME,"video is paused and replay success")})).catch((e=>{this.player.debugWarn(this.TAG_NAME,"video is paused and replay error ",e)})))})),a=e(this.$videoElement,ps,(()=>{this.player.debugLog(this.TAG_NAME,"video playback Rate change",this.$videoElement&&this.$videoElement.playbackRate)}));this.eventsDestroy.push(t,i,r,a,s)}_initRtcPeerConnection(){const e=new RTCPeerConnection,t=this.player;e.addTransceiver("video",{direction:"recvonly"}),e.addTransceiver("audio",{direction:"recvonly"}),e.onsignalingstatechange=e=>{this.player.debugLog(this.TAG_NAME,"onsignalingstatechange[本地端的信号状态]",e)},e.onicegatheringstatechange=t=>{this.player.debugLog(this.TAG_NAME,"onicegatheringstatechange[ICE收集状态]",t,e.iceGatheringState)},e.onnegotiationneeded=e=>{this.player.debugLog(this.TAG_NAME,"onnegotiationneeded[通信环境发生变化]",e)},e.oniceconnectionstatechange=i=>{this.player.debugLog(this.TAG_NAME,"oniceconnectionstatechange",e.iceConnectionState);const s=e.iceConnectionState;switch(this.player.emit(vt.webrtcOnIceConnectionStateChange,s),this.isDisconnected="disconnected"===s,e.iceConnectionState){case"new":case"checking":case"closed":case"connected":case"completed":break;case"failed":t.emit(vt.webrtcFailed);break;case"disconnected":t.emit(vt.webrtcDisconnect);break;case"closed":t.emit(vt.webrtcClosed)}},e.onicecandidate=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidate",e),e.candidate&&this.player.debugLog(this.TAG_NAME,"Remote ICE candidate: ",e.candidate.candidate)},e.ontrack=t=>{if(this.player.debugLog(this.TAG_NAME,"ontrack",t),"video"===t.track.kind){this.player.debugLog(this.TAG_NAME,"ontrack video"),this.rtcPeerTrackVideoReceiver=e.getReceivers().find((function(e){return e.track===t.track})),this.rtcPeerTrackVideoReceiver&&this._startBandwidthEstimateInterval();let i=t.streams[0];this.$videoElement.autoplay=!0,this.$videoElement.srcObject=i,this.videoStream=i}else"audio"===t.track.kind&&(this.player.debugLog(this.TAG_NAME,"ontrack audio"),this.rtcPeerTrackAudioReceiver=e.getReceivers().find((function(e){return e.track===t.track})),this.rtcPeerTrackAudioReceiver&&this._startBandwidthEstimateInterval())},e.onicecandidateerror=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidateerror[candidate错误]",e),this.player.emitError(wt.webrtcIceCandidateError,e)},e.onconnectionstatechange=i=>{switch(this.player.debugLog(this.TAG_NAME,"onconnectionstatechange[所有ICE 状态总览]",i),this.player.emit(vt.webrtcOnConnectionStateChange,e.connectionState),e.connectionState){case"new":case"connecting":case"connected":case"disconnected":break;case"failed":this.isDisconnected&&t.emit(vt.webrtcFailed)}},this.rtcPeerConnection=e}_startBandwidthEstimateInterval(){this.player.debugLog(this.TAG_NAME,"_startBandwidthEstimateInterval"),this._stopBandwidthEstimateInterval(),this.bandwidthEstimateInterval=setInterval((()=>{this.rtcPeerTrackVideoReceiver&&this.rtcPeerTrackVideoReceiver.getStats().then((e=>{let t={},i=0;e.forEach((e=>{if(e)switch(e.type){case Er:("succeeded"===e.state||e.bytesReceived)&&(this.currentWebrtcStats.timestamp=e.timestamp,this.currentWebrtcStats.rtt=e.currentRoundTripTime||-1,this.currentWebrtcStats.bytesReceived=e.bytesReceived||0,this.currentWebrtcStats.bytesSent=e.bytesSent||0);break;case Lr:this.currentWebrtcStats.remoteCandidate=e||{};break;case kr:this.currentWebrtcStats.localCandidate=e||{};break;case Tr:this.currentWebrtcStats.lastTimeStamp=e.timestamp;const s=((e.timestamp||0)-(this.prevWebrtcVideoStats.timestamp||0))/1e3,r=Number(e.bytesReceived||0)-Number(this.prevWebrtcVideoStats.bytesReceived||0),a=Math.floor(r/s);i+=a,t.vbps=a,this.prevWebrtcVideoStats=e;break;case Cr:e.frameWidth&&e.frameHeight&&(this.currentWebrtcStats.frameWidth=e.frameWidth||0,this.currentWebrtcStats.frameHeight=e.frameHeight||0)}})),this.rtcPeerTrackAudioReceiver?this.rtcPeerTrackAudioReceiver.getStats().then((e=>{e.forEach((e=>{if(e&&e.type===Tr){this.currentWebrtcStats.lastTimeStamp=e.timestamp;const s=((e.timestamp||0)-(this.prevWebrtcAudioStats.timestamp||0))/1e3,r=Number(e.bytesReceived||0)-Number(this.prevWebrtcAudioStats.bytesReceived||0),a=Math.floor(r/s);i+=a,t.abps=a,this.prevWebrtcAudioStats=e}})),this.player.updateStats(t),this.player.emit(vt.kBps,(i/1024).toFixed(2))})):(this.player.updateStats(t),this.player.emit(vt.kBps,(i/1024).toFixed(2)))}))}),1e3)}_stopBandwidthEstimateInterval(){this.player.debugLog(this.TAG_NAME,"_stopBandwidthEstimateInterval"),this.bandwidthEstimateInterval&&(clearInterval(this.bandwidthEstimateInterval),this.bandwidthEstimateInterval=null)}_startCanvasRender(){Wo()?this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)):(this._stopCanvasRender(),this.canvasRenderInterval=setInterval((()=>{this.player.video.render({$video:this.$videoElement,ts:0})}),40))}_stopCanvasRender(){this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}videoFrameCallback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this.player.debugLog(this.TAG_NAME,"videoFrameCallback() player is destroyed");const i=parseInt(1e3*Math.max(t.mediaTime,this.$videoElement.currentTime),10)||0;this.player.handleRender(),this.player.video.render({$video:this.$videoElement,ts:i}),this.player.updateStats({dts:i}),this.supportVideoFrameCallbackHandle=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this))}_initRenderSize(){this.isInitInfo||(this.player.video.updateVideoInfo({width:this.$videoElement.videoWidth,height:this.$videoElement.videoHeight}),this.player.video.initCanvasViewSize(),this.isInitInfo=!0)}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}isVideoPlaying(){return this.$videoElement&&Io(this.$videoElement.paused)&&Io(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}}class Yv extends Kv{constructor(e){super(e),this.TAG_NAME="WebrtcForSRSDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}loadSource(e){return new Promise(((t,i)=>{const s=this.rtcPeerConnection;s.createOffer().then((r=>{s.setLocalDescription(r),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t){return fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:t})}(e,r.sdp).then((e=>{this.player.debugLog(this.TAG_NAME,`getWebRtcRemoteSdp response and code is ${e.code}`);const r=e;if(r&&0!==r.code)return this.player.debugError(this.TAG_NAME,`response json code ${r.code}`),i(r.msg);r?s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:r})).then((()=>{t()})).catch((e=>{this.player&&this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),i(e)})):(this.player.debugError(this.TAG_NAME,"response sdp is null"),i("response sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),i(e)}))}))}}class Qv extends Kv{constructor(e){super(e),this.TAG_NAME="WebrtcForOthersDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}loadSource(e){return new Promise(((t,i)=>{const s=this.rtcPeerConnection;s.createOffer().then((r=>{s.setLocalDescription(r),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t){return fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:t})}(e,r.sdp).then((e=>{this.player.debugLog(this.TAG_NAME,`getWebRtcRemoteSdp response and code is ${e.code}`),e.text().then((e=>{this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp response");try{let t=JSON.parse(e);this.player.debugLog(this.TAG_NAME,"this is json sdp response"),0!=t.code&&(this.player.debugError(this.TAG_NAME,`response json code ${t.code}`),i(new Error(`response sdp json code: ${t.code}`))),e=t.sdp}catch(e){this.player.debugLog(this.TAG_NAME,"this is raw sdp response")}e?s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e})).then((()=>{t()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),i(e)})):(this.player.debugError(this.TAG_NAME,"loadSource sdp is null"),i("sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource response.text() error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),i(e)}))}))}}class Xv extends Kv{constructor(e){super(e),this.rtcPeerConnectionDataChannel=null,this.player.isWebrtcH265()&&(this.streamRate=ka((t=>{e.emit(vt.kBps,(t/1024).toFixed(2))}))),this.TAG_NAME="WebrtcForM7SDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.stopStreamRateInterval(),this.rtcPeerConnectionDataChannel&&(this.rtcPeerConnectionDataChannel.onopen=ya,this.rtcPeerConnectionDataChannel.onclose=ya,this.rtcPeerConnectionDataChannel.onmessage=ya,this.rtcPeerConnectionDataChannel.close(),this.rtcPeerConnectionDataChannel=null),this.player.debugLog(this.TAG_NAME,"destroy")}_initRtcPeerConnection(){const e=new RTCPeerConnection,t=this.player;e.addTransceiver("video",{direction:"recvonly"}),e.addTransceiver("audio",{direction:"recvonly"}),e.onsignalingstatechange=e=>{this.player.debugLog(this.TAG_NAME,"onsignalingstatechange[本地端的信号状态]",e)},e.onicegatheringstatechange=t=>{this.player.debugLog(this.TAG_NAME,"onicegatheringstatechange[ICE收集状态]",t,e.iceGatheringState)},e.onnegotiationneeded=e=>{this.player.debugLog(this.TAG_NAME,"onnegotiationneeded[通信环境发生变化]",e)},e.oniceconnectionstatechange=i=>{this.player.debugLog(this.TAG_NAME,"oniceconnectionstatechange",e.iceConnectionState);const s=e.iceConnectionState;switch(this.player.emit(vt.webrtcOnIceConnectionStateChange,s),this.isDisconnected="disconnected"===s,e.iceConnectionState){case"new":case"checking":case"closed":case"connected":case"completed":break;case"failed":t.emit(vt.webrtcFailed);break;case"disconnected":t.emit(vt.webrtcDisconnect);break;case"closed":t.emit(vt.webrtcClosed)}},e.onicecandidate=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidate",e),e.candidate&&this.player.debugLog(this.TAG_NAME,"Remote ICE candidate: ",e.candidate.candidate)},e.ontrack=i=>{this.player.debugLog(this.TAG_NAME,"ontrack",i);const s=t.getWebrtcVideo();if(t.isWebrtcH264())if("video"===i.track.kind){this.player.debugLog(this.TAG_NAME,"ontrack video"),this.rtcPeerTrackVideoReceiver=e.getReceivers().find((function(e){return e.track===i.track})),this.rtcPeerTrackVideoReceiver&&this._startBandwidthEstimateInterval();let t=i.streams[0];s.autoplay=!0,s.srcObject=t,this.videoStream=t}else"audio"===i.track.kind&&(this.player.debugLog(this.TAG_NAME,"ontrack audio"),this.rtcPeerTrackAudioReceiver=e.getReceivers().find((function(e){return e.track===i.track})),this.rtcPeerTrackAudioReceiver&&this._startBandwidthEstimateInterval())},e.onicecandidateerror=e=>{this.player.debugLog(this.TAG_NAME,"onicecandidateerror[candidate错误]",e),this.player.emitError(wt.webrtcIceCandidateError,e)},e.onconnectionstatechange=i=>{switch(this.player.debugLog(this.TAG_NAME,"onconnectionstatechange[所有ICE 状态总览]",i),this.player.emit(vt.webrtcOnConnectionStateChange,e.connectionState),e.connectionState){case"new":case"connecting":case"connected":case"disconnected":break;case"failed":this.isDisconnected&&t.emit(vt.webrtcFailed)}},e.ondatachannel=e=>{const t=e.channel;this.player.debugLog(this.TAG_NAME,"ondatachannel"),t.onopen=()=>{this.player.debugLog(this.TAG_NAME,"ondatachannel and onopen")},t.onmessage=e=>{const t=e.data;if(this.player.isWebrtcH264())return this.player.debugWarn(this.TAG_NAME,"ondatachannel is H265 but decode is h264 so emit webrtcStreamH265 "),void this.player.emit(vt.webrtcStreamH265);this.player.isDestroyedOrClosed()?this.player.debugWarn(this.TAG_NAME,"ondatachannel and player is destroyed"):(this.streamRate&&this.streamRate(t.byteLength),this.player.demux&&this.player.demux.dispatch(t))},t.onclose=()=>{this.player.debugWarn(this.TAG_NAME,"ondatachannel and onclose")},this.rtcPeerConnectionDataChannel=t};e.createDataChannel("signal").onmessage=e=>{this.player.debugLog(this.TAG_NAME,"signalChannel,onmessage",e);JSON.parse(e.data).type},this.rtcPeerConnection=e}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}loadSource(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{const r=this.rtcPeerConnection;r.createOffer().then((a=>{r.setLocalDescription(a),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t,i){let s={"Content-Type":"application/sdp"};return i.username&&i.password&&(s.Authorization="Basic "+btoa(i.username+":"+i.password)),fetch(e,{method:"POST",mode:"cors",cache:"no-cache",credentials:"include",redirect:"follow",referrerPolicy:"no-referrer",headers:s,body:t})}(e,a.sdp,t).then((e=>{e.text().then((e=>{this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp response"),e?r.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e})).then((()=>{this.player.isWebrtcH265()&&this.startStreamRateInterval(),i()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),s(e)})):(this.player.debugError(this.TAG_NAME,"loadSource sdp is null"),s("sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource response.text() error",e.toString(),e),s(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),s(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),s(e)}))}))}}class Zv extends Kv{constructor(e){super(e),this.TAG_NAME="WebrtcForZLMDecoder",this.player.debugLog(this.TAG_NAME,"init")}destroy(){super.destroy(),this.player.debugLog(this.TAG_NAME,"destroy")}loadSource(e){return new Promise(((t,i)=>{const s=this.rtcPeerConnection;s.createOffer().then((r=>{s.setLocalDescription(r),this.player.debugLog(this.TAG_NAME,"getWebRtcRemoteSdp loadSource"),function(e,t){return Xl({url:e,type:"POST",data:t,contentType:"text/plain;charset=utf-8",processData:!1,dataType:"json"})}(e,r.sdp).then((e=>{this.player.debugLog(this.TAG_NAME,`getWebRtcRemoteSdp response and code is ${e.code}`);const r=e;if(r&&0!==r.code)return this.player.debugError(this.TAG_NAME,`response json code ${r.code}`),i(r.msg);r&&r.sdp?s.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:r.sdp})).then((()=>{t()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource setRemoteDescription error",e.toString(),e),i(e)})):(this.player.debugError(this.TAG_NAME,"response sdp is null"),i("sdp is null"))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource getWebRtcRemoteSdp response error",e.toString(),e),i(e)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource rtcPeerConnection.createOffer() error",e.toString(),e),i(e)}))}))}}class e_ extends a{constructor(e){if(super(),this.TAG_NAME="AliyunRtc",this.player=e,!window.AliRTS)throw new Error("AliyunRtc is not defined");this.aliyunRtc=window.AliRTS.createClient(),this.aliyunRtcRemoteStream=null,this.$videoElement=this.player.video.$videoElement,this.listenEvents(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.aliyunRtc&&(this.aliyunRtcRemoteStream&&(this.aliyunRtcRemoteStream=null),this.aliyunRtc.unsubscribe(),this.aliyunRtc=null),this.$videoElement=null,this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}listenEvents(){this.aliyunRtc.on("onError",(e=>{this.player.debugLog(this.TAG_NAME,`onError and code is ${e.errorCode} and message: ${e.message}`),10400!==e.errorCode&&(this.player.debugError(this.TAG_NAME,`onError and code is ${e.errorCode} and message: ${e.message}`),this.player.emitError(wt.aliyunRtcError,e))})),this.aliyunRtc.on("reconnect",(e=>{this.player.debugLog(this.TAG_NAME,"reconnect",e)}));const e="canplay",t="waiting",i="playing",s="media";this.aliyunRtc.on("onPlayEvent",(r=>{if(r.event===e)this.player.debugLog(this.TAG_NAME,"onPlayEvent and canplay");else if(r.event===t)this.player.debugLog(this.TAG_NAME,"onPlayEvent and playing - > waiting");else if(r.event===i)this.player.debugLog(this.TAG_NAME,"onPlayEvent and waiting -> playing");else if(r.event===s){const e=r.data;let t={},i=0;if(e.audio){const s=Math.floor(e.audio.bytesReceivedPerSecond);i+=s,t.abps=s}if(e.video){const s=Math.floor(e.video.bytesReceivedPerSecond);i+=s,t.vbps=s}this.player.updateStats(t),this.player.emit(vt.kBps,(i/1024).toFixed(2))}}))}loadSource(e){return new Promise(((t,i)=>{this.aliyunRtc.isSupport({isReceiveVideo:!0}).then((()=>{this.aliyunRtc.subscribe(e,{}).then((e=>{this.aliyunRtcRemoteStream=e,e.play(this.$videoElement),t()})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource and subscribe is not success: ",e.message),i(e.message)}))})).catch((e=>{this.player.debugError(this.TAG_NAME,"loadSource and is not support: ",e.message),i(e.message)}))}))}getVideoCurrentTime(){let e=0;return this.$videoElement&&(e=this.$videoElement.currentTime),e}isVideoPlaying(){return this.$videoElement&&Io(this.$videoElement.paused)&&Io(this.$videoElement.ended)&&0!==this.$videoElement.playbackRate&&0!==this.$videoElement.readyState}getVideoBufferTimeRange(){const e=this.$videoElement;let t=null;if(e){const i=e.buffered,s=i.length?i.start(0):0,r=i.length?i.end(i.length-1):0;t={start:s,end:r,diff:r-s}}return t}}class t_{constructor(e){this.player=e,this.TAG_NAME="PressureObserverCpu",this.observer=null,this.latestCpuInfo=null,this.currentLevel=-1,this.observeCpuSuccess=!1,this._init(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.observer&&(this.observeCpuSuccess&&this.observer.disconnect(),this.observer=null),this.latestCpuInfo=null,this.currentLevel=-1,this.player.debugLog(this.TAG_NAME,"destroy")}getCurrentCpuState(){return this.currentLevel}_init(){Io(Vo())?this.player.debugLog(this.TAG_NAME,"not support PressureObserver"):(this.observer=new PressureObserver((e=>{const t=(e||[]).find((e=>"cpu"===e.source));if(t){switch(this.latestCpuInfo=t,t.state){case"nominal":this.currentLevel=0;break;case"fair":this.currentLevel=1;break;case"serious":this.currentLevel=2;break;case"critical":this.currentLevel=3;break;default:this.currentLevel=-1}this.player.emit(vt.pressureObserverCpu,this.currentLevel)}})),this.observer&&this.observer.observe("cpu",{sampleInterval:1e3}).then((()=>{this.observeCpuSuccess=!0,this.player.debugLog(this.TAG_NAME,"observe cpu success")})).catch((()=>{this.observeCpuSuccess=!1,this.player.debugLog(this.TAG_NAME,"observe cpu fail")})))}}class i_ extends on{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),this.TAG_NAME="DynamicWatermark",this.isPauseAnimation=!1,this.isStopAnimation=!1,this.rafID=null,this.options=t,this.speed=t.speed||.2,this.isDynamic=!0,this.shadowRootDynamicDom=null,this.isGhost=!0===t.isGhost,this.isGhost&&(this.TAG_NAME="GhostWatermark"),this.ghostConfig={on:t.on||5,off:t.off||5},this.waterMarkWillRemove=!1,this.waterMarkWillAdd=!1,this.player.once(vt.start,this.start.bind(this)),this.player.debugLog(this.TAG_NAME,"int")}destroy(){super.destroy(),this.shadowRootDynamicDom=null,this.stopAnimation(),this.rafID&&(cancelAnimationFrame(this.rafID),this.rafID=null)}start(){const e=decodeURIComponent("JessibucaPro%20%E4%BD%93%E9%AA%8C");let t=this.player.getVideoInfo();t||(t={width:200,height:200}),this.update({text:{content:e,fontSize:this.options.fontSize||18,color:this.options.color||"black"},left:t.width*Math.random(),top:t.height*Math.random(),opacity:this.options.opacity||.15}),this.startAnimation()}startAndResize(){this.start(),this.resize()}startAnimation(){if(!this.rafID){let e=1,t=1,i=Math.random(),s={width:0,height:0};const r=()=>{try{if(Io(this.isPauseAnimation)&&this.shadowRootDynamicDom&&this.shadowRootInnerDom){const a=this.shadowRootInnerDom,o=this.shadowRootDynamicDom,n=a.getBoundingClientRect(),l=o.getBoundingClientRect();if(l.width&&l.height&&(s.width=l.width,s.height=l.height),!this.shadowRootInnerDom.contains(this.shadowRootDynamicDom))return this.isGhost?Io(this.waterMarkWillAdd)&&(this.waterMarkWillAdd=!0,setTimeout((()=>{this._addDom(n,s),this.waterMarkWillAdd=!1}),1e3*this.ghostConfig.off)):this._addDom(n,s),void(0!==this.speed&&requestAnimationFrame(r));const d=Math.min(1,0===this.speed?0:this.speed?this.speed:.2);let h=l.left-n.left,c=l.top-n.top;h+=d*t*i,c+=d*e*(1-i),h+s.width>n.width?(t=-1,i=Math.random()):h<0&&(t=1,i=Math.random()),c+s.height>n.height?(e=-1,i=Math.random()):c<0&&(e=1,i=Math.random()),h=Math.min(n.width-s.width,h),c=Math.min(n.height-s.height,c);const u=h/n.width*100,p=c/n.height*100;this.shadowRootDynamicDom.style.left=`${u}%`,this.shadowRootDynamicDom.style.top=`${p}%`,Io(this.waterMarkWillRemove)&&this.isGhost&&(this.waterMarkWillRemove=!0,setTimeout((()=>{this._removeDom(),this.waterMarkWillRemove=!1}),1e3*this.ghostConfig.on))}}catch(e){}if(this.isStopAnimation)return this.isStopAnimation=!1,cancelAnimationFrame(this.rafID),void(this.rafID=null);0!==this.speed&&requestAnimationFrame(r)};this.rafID=requestAnimationFrame(r)}}_addDom(e,t){if(this.shadowRootInnerDom&&this.shadowRootDynamicDom){this.shadowRootInnerDom.appendChild(this.shadowRootDynamicDom);let i=e.width*Math.random(),s=e.height*Math.random();i=Math.min(e.width-2*t.width,i),s=Math.min(e.height-2*t.height,s),this.shadowRootDynamicDom.style.left=`${i}px`,this.shadowRootDynamicDom.style.top=`${s}px`}}resumeAnimation(){this.isPauseAnimation=!1}pauseAnimation(){this.isPauseAnimation=!0}stopAnimation(){this.isStopAnimation=!0}}class s_ extends a{constructor(e){super(),this.player=e,this.TAG_NAME="DrawRectangle",this.drawingRectangle=!1,this.isDragging=!1,this.bindEvents=[],this.$rectBox=null,this._resetPoint(),this.player.on(vt.drawingRect,this._handleDrawingRect.bind(this)),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this._unbindEvents(),this.drawingRectangle=!1,this.isDragging=!1,this._removeRectBox(),this.off(),this.player.debugLog(this.TAG_NAME,"destroy")}_resetPoint(){this.startPagePoint={x:0,y:0},this.startPoint={x:0,y:0},this.endPoint={x:0,y:0}}_handleDrawingRect(e){this.drawingRectangle=e,e?this._bindEvents():(this._unbindEvents(),this._removeRectBox())}_bindEvents(){const{events:{proxy:e}}=this.player,t=e(this.player.$container,"mousemove",this.handleMouseMove.bind(this)),i=e(this.player.$container,"mousedown",this.handleMouseDown.bind(this)),s=e(window,"mouseup",this.handleMouseUp.bind(this));this.bindEvents.push(t,i,s)}_unbindEvents(){this.bindEvents.forEach((e=>{e&&e()})),this.bindEvents=[]}_removeRectBox(){if(this.$rectBox){if(!Dc(this.$rectBox)){const e=this.player.$container.querySelector(".jb-pro-drawing-rect-box");e&&this.player.$container&&this.player.$container.removeChild(e)}this.$rectBox=null}}handleMouseDown(e){if(e.stopPropagation(),!this.drawingRectangle)return;this._removeRectBox();const t=e.offsetX,i=e.offsetY;this.startPoint.x=t,this.startPoint.y=i,this.startPagePoint.x=e.pageX-this.player.$container.offsetLeft,this.startPagePoint.y=e.pageY-this.player.$container.offsetTop,this.$rectBox=document.createElement("div"),this.$rectBox.classList.add("jb-pro-drawing-rect-box"),this.$rectBox.style.border=`${this.player._opt.drawingRectLineWidth}px solid ${this.player._opt.drawingRectColor}`,this.$rectBox.style.position="absolute",this.$rectBox.style.left=`${this.startPoint.x}px`,this.$rectBox.style.top=`${this.startPoint.y}px`,this.player.$container.appendChild(this.$rectBox),this.isDragging=!0}handleMouseMove(e){if(e.stopPropagation(),!this.isDragging)return;if(!this.drawingRectangle)return;if(!this.$rectBox)return;const t=this.player.$container,i=this.player.getControlHeight(),s=e.pageX-t.offsetLeft,r=e.pageY-t.offsetTop;if(sn&&(a=n,this.endPoint.x=this.startPoint.x+a),o>l&&(o=l,this.endPoint.y=this.startPoint.y+o),this.$rectBox.style.width=`${a}px`,this.$rectBox.style.height=`${o}px`}handleMouseUp(e){if(e.stopPropagation(),this.drawingRectangle&&this.isDragging){e.preventDefault(),this.isDragging=!1,this.player._opt.drawingRectEndRemoveDom&&this._removeRectBox();const t={startPoint:this.startPoint,endPoint:this.endPoint,width:Math.abs(this.endPoint.x-this.startPoint.x),height:Math.abs(this.endPoint.y-this.startPoint.y)};this.player._opt.isResize,this.player.emit(vt.drawingRectInfo,t),this._resetPoint()}}}class r_ extends a{constructor(e,t){super(),this.player=e,this.TAG_NAME="PlayVod",this.player.$container.classList.add("jb-pro-container-play-vod"),this._showPrecision=null,this._startTime=null,this._playingTimestamp=null,this._fps=parseInt(t.fps,10)||e._opt.playbackFps,this._isUseFpsRender=!!Po(t.isUseFpsRender),this._rate=1,this._audioTimestamp=0,this._videoTimestamp=0,this._currentLocalTimestamp=0,this._localOneFrameTimestamp=t.localOneFrameTimestamp||40,this._localCalculateTimeInterval=null,this._isUseLocalCalculateTime=!!Po(t.isUseLocalCalculateTime),this._isPlaybackPauseClearCache=!Io(t.isPlaybackPauseClearCache),this._isCacheBeforeDecodeForFpsRender=!!Po(t.isCacheBeforeDecodeForFpsRender),this._startfpsTime=null,this._startFpsTimestamp=null,this._checkStatsInterval=null,this._playbackTs=0,this._renderFps=0,this._seekingTimestamp=null,this._isLessThanCurrentTime=!1,this._isEnded=!1,this._isEndedOnce=!1,this._listen(),this._totalDuration=0,t.duration&&(this._totalDuration=1e3*t.duration);let i=t.startTime||0;i>this.totalDuration&&(i=Ma(this.totalDuration,10)),this.setStartTime(i),this.player.on(vt.playVodPause,(e=>{e?this.pause():this.resume()}));const s={fps:this._fps,isUseFpsRender:this._isUseFpsRender,localOneFrameTimestamp:this._localOneFrameTimestamp,isUseLocalCalculateTime:this._isUseLocalCalculateTime,uiUsePlaybackPause:t.uiUsePlaybackPause,showControl:t.showControl};e.debug.log(this.TAG_NAME,"init",JSON.stringify(s))}destroy(){this._startTime=null,this._showPrecision=null,this._playingTimestamp=null,this._totalDuration=0,this._audioTimestamp=0,this._videoTimestamp=0,this._fps=null,this._isUseFpsRender=!1,this._rate=1,this._localCalculateTimeInterval=null,this._currentLocalTimestamp=0,this._startfpsTime=null,this._startFpsTimestamp=null,this._renderFps=0,this._playbackTs=0,this._prevTs=0,this._isEndedOnce=!1,this._isEnded=!1,this._stopLocalCalculateTime(),this.clearStatsInterval(),this.player.$container&&this.player.$container.classList.remove("jessibuca-container-play-vod"),this.off(),this.player.debug.log(this.TAG_NAME,"destroy")}_listen(){this.player.on(vt.stats,(e=>{if(this.player.playVodPause)return;let t=e.ts;this.player.isPlayVodUseMSE()&&(this.player.isPlaying()&&0===e.videoCurrentTimeDiff&&(this.player.debugWarn(this.TAG_NAME,`updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is ${e.videoCurrentTime}\n and next update video currentTime`),this.player.mseDecoder.updateVideoCurrentTimeByBufferStart()),t=1e3*e.videoCurrentTime),this.setPlayingTimestamp(t),this._prevTs=t,this.checkIsEnded()}))}checkIsEnded(){this.isEnded()&&(this._isEnded=!0,this._removeSeekingTimestamp(),this.player.emit(vt.playVodEnded))}isEnded(){let e=!1;if(this._isEnded)return!0;this.player.isPlayVodUseMSE()&&this.player.video&&this.player.video.isEnded()&&(e=!0);const t=Math.abs(this.playingTimestamp-this._totalDuration);return t<700&&(this._isEndedOnce&&(this.player.debug.log(this.TAG_NAME,"isEnded()",`diff playingTimestamp is ${this.playingTimestamp} and totalDuration is ${this._totalDuration} ${t} < 700`),e=!0),this._isEndedOnce||(this._isEndedOnce=!0)),e}updateDuration(e){this._totalDuration=1e3*e}pause(){this.clearStatsInterval()}resume(){this.startCheckStatsInterval()}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._startFpsTimestamp||(this._startFpsTimestamp=_a()),Ka(e.ts)&&(this.player.updateStats({fps:!0,ts:e.ts}),this._playbackTs=e.ts,this._startfpsTime||(this._startfpsTime=e.ts),this._renderFps+=1);const t=_a(),i=t-this._startFpsTimestamp;if(i<1e3)return;let s=null;this._startfpsTime&&(s=this._playbackTs-this._startfpsTime),this.player.emit(vt.playVodStats,{fps:this._renderFps,rate:this.rate,start:this._startfpsTime,end:this._playbackTs,timestamp:i,dataTimestamp:s,audioBufferSize:this.player.audio?this.player.audio.bufferSize:0,videoBufferSize:this.player.video?this.player.video.bufferSize:0,ts:this._playbackTs}),this._renderFps=0,this._startfpsTime=this._playbackTs,this._startFpsTimestamp=t}updateLocalOneFrameTimestamp(e){this._localOneFrameTimestamp=e}startCheckStatsInterval(){this.clearStatsInterval(),this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}_stopLocalCalculateTime(){this._localCalculateTimeInterval&&(clearInterval(this._localCalculateTimeInterval),this._localCalculateTimeInterval=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}increaseLocalTimestamp(){this._isUseLocalCalculateTime&&(this._currentLocalTimestamp+=this._localOneFrameTimestamp)}get totalDuration(){return Math.round(this._totalDuration/1e3)}get startTime(){return this._startTime||0}setStartTime(e){this._startTime=e,this._playingTimestamp=e}setRate(e){this._rate=e,this.player.emit(vt.playVodRateChange,e)}get fps(){return this._fps}get rate(){return this._rate}get isUseFpsRender(){return this._isUseFpsRender}get isUseLocalCalculateTime(){return this._isUseLocalCalculateTime}get isPlaybackPauseClearCache(){return this._isPlaybackPauseClearCache}get isCacheBeforeDecodeForFpsRender(){return this._isCacheBeforeDecodeForFpsRender}setPlayingTimestamp(e){let t;t=this.startTime+Math.round(e/1e3),t>this.totalDuration&&(this.player.debug.log(this.TAG_NAME,"setPlayingTimestamp()",`timestamp ${t} > this.totalDuration ${this.totalDuration}`),t=this.totalDuration),this._playingTimestamp=t,this.player.emit(vt.playVodTime,t),this._prevTs&&this._prevTs}get playingTimestamp(){return 1e3*this._playingTimestamp}getCurrentTime(){return this.playingTimestamp/1e3}get seekingTimestamp(){return null===this._seekingTimestamp?null:1e3*this._seekingTimestamp}isSeeking(){return null!==this._seekingTimestamp}isSeekingLessThanCurrentTime(){return this.isSeeking()&&this._isLessThanCurrentTime}_removeSeekingTimestamp(){this._seekingTimestamp=null,this._isLessThanCurrentTime=!1}removeSeekingTimestamp(){const e=this._seekingTimestamp;this._removeSeekingTimestamp(),this.player.emit(vt.playVodSeekEnd,e)}seek(e){let t=e.time;if(t>this.totalDuration&&(t=parseInt(this.totalDuration,10)),t<0&&(t=0),this.player.debug.log(this.TAG_NAME,"seek()",e.time,t),this._seekingTimestamp=t,this.player.emit(vt.playVodSeek,t),this.player.isPlayVodUseMSE()){const e=this.player.video.getCurrentTime();this._isLessThanCurrentTime=t=this.player._opt.playVodForwardMaxRateDecodeIFrame}}class a_ extends a{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this._opt={},this.TAG_NAME="Player",this.$container=e;const i=Do();if(this._opt=Object.assign({},i,t),this.debug=new $r(this),this.debugLog(this.TAG_NAME,"init and version is",La),this._opt.forceNoOffscreen=!0,this._canPlayAppleMpegurl=!1,(Ba()||Ia())&&(this._canPlayAppleMpegurl=yo(),this.debugLog(this.TAG_NAME,"isIOS or isSafari and canPlayAppleMpegurl",this._canPlayAppleMpegurl)),this._opt.autoUseSystemFullScreen&&(Po(qr.isEnabled)&&Po(this._opt.useWebFullScreen)&&(this.debugLog(this.TAG_NAME,"screenfull.isEnabled is true and _opt.useWebFullScreen is true , set _opt.useWebFullScreen false"),this._opt.useWebFullScreen=!1),Io(qr.isEnabled)&&Io(this._opt.useWebFullScreen)&&(this.debugLog(this.TAG_NAME,"screenfull.isEnabled is false and _opt.useWebFullScreen is false , set _opt.useWebFullScreen true"),this._opt.useWebFullScreen=!0)),Oo()&&(this.debugLog(this.TAG_NAME,"isIphone and set _opt.videoRenderSupportScale false"),this._opt.videoRenderSupportScale=!1,co()&&Po(this._opt.isHls)&&Io(this._opt.supportHls265)&&(this.debugLog(this.TAG_NAME,"isIphone and is in wechat and is hls so set supportHls265 true"),this._opt.supportHls265=!0)),Io(this._opt.playFailedAndReplay)&&(this.debugLog(this.TAG_NAME,"_opt.playFailedAndReplay is false and set others replay params false"),this._opt.webglAlignmentErrorReplay=!1,this._opt.webglContextLostErrorReplay=!1,this._opt.autoWasm=!1,this._opt.mseDecodeErrorReplay=!1,this._opt.mediaSourceTsIsMaxDiffReplay=!1,this._opt.wcsDecodeErrorReplay=!1,this._opt.wasmDecodeErrorReplay=!1,this._opt.simdDecodeErrorReplay=!1,this._opt.videoElementPlayingFailedReplay=!1,this._opt.networkDelayTimeoutReplay=!1,this._opt.widthOrHeightChangeReplay=!1,this._opt.simdH264DecodeVideoWidthIsTooLargeReplay=!1,this._opt.mediaSourceUseCanvasRenderPlayFailedReplay=!1,this._opt.heartTimeoutReplay=!1,this._opt.loadingTimeoutReplay=!1,this._opt.websocket1006ErrorReplay=!1,this._opt.streamErrorReplay=!1,this._opt.streamEndReplay=!1,this._opt.mseWaitVideoCanplayAutoWasm=!1),this._opt.hiddenControl&&(this.debugLog(this.TAG_NAME,"_opt.hiddenControl is true and set others show btn to false"),Object.keys(this._opt.operateBtns).forEach((e=>{this._opt.operateBtns[e]&&-1===(""+e).indexOf("Fn")&&(this._opt.operateBtns[e]=!1)})),this._opt.showBandwidth=!1,this._opt.extendOperateBtns=[],this._opt.controlHtml="",this.isPlayback()&&(this._opt.playbackConfig.showControl=!1)),this._opt.preferredHardDecode&&(this._opt.useMSE=!0,this._opt.useWCS=!0,this._opt.decoderErrorAutoWasm=!1,this._opt.mseDecodeAudio=!0,this._opt.wcsDecodeAudio=!0,this._opt.mseDecoderUseWorker=!0),this._opt.watermarkConfig={image:{src:"data:image/png;base64,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",width:75,height:24},opacity:.1,right:10,top:10},this._opt.forceNoOffscreen||("undefined"==typeof OffscreenCanvas?(this._opt.forceNoOffscreen=!0,this._opt.useOffscreen=!1):this._opt.useOffscreen=!0),this._opt.isMpeg4&&(this.debugLog(this.TAG_NAME,"isMpeg4 is true, so set _opt.useWasm true and others params false"),this._opt.useWCS=!1,this._opt.useMSE=!1,this._opt.isNakedFlow=!1,this._opt.useSIMD=!1,this._opt.isFmp4=!1,this._opt.useWasm=!0),this.isPlayback()&&(Po(this._opt.useMSE)&&Po(this._opt.mseDecoderUseWorker)&&this.debugLog(this.TAG_NAME,"isPlayback and mseDecoderUseWorker is true, so set mseDecoderUseWorker false"),this._opt.mseDecoderUseWorker=!1),this.isPlayVod()&&(this._opt.mseDecoderUseWorker=!1),this._opt.poster&&(this._opt.background=this._opt.poster),Io(this._opt.muted)&&(this._opt.isNotMute=!0),this._opt.mseDecoderUseWorker&&(this._opt.mseDecoderUseWorker=!!(Wr.Worker&&Wr.MediaSource&&"canConstructInDedicatedWorker"in Wr.MediaSource&&!0===Wr.MediaSource.canConstructInDedicatedWorker),Io(this._opt.mseDecoderUseWorker)&&this.debugLog(this.TAG_NAME,"mseDecoderUseWorker is true but not support so set _opt.mseDecoderUseWorker = false")),(this.isOldHls()||this.isWebrtcH264()||this.isAliyunRtc())&&(this.debugLog(this.TAG_NAME,"isOldHls or isWebrtcH264 or isAliyunRtc is true, so set some params false and set _opt.recordType = webm"),this._opt.useWCS=!1,this._opt.useMSE=!1,this._opt.isNakedFlow=!1,this._opt.useSIMD=!1,this._opt.isFmp4=!1,this._opt.useWasm=!1,this._opt.recordType=k),this._opt.isNakedFlow&&(this.debugLog(this.TAG_NAME,"isNakedFlow is true, so set _opt.mseDecodeAudio false"),this._opt.mseDecodeAudio=!1),Ra()&&(this.debugLog(this.TAG_NAME,"isFirefox is true, so set _opt.mseDecodeAudio false"),this._opt.mseDecodeAudio=!1),!this.isOldHls()&&!this.isWebrtcH264()){if(this._opt.useWCS){const e=function(){let e=!1;return"VideoDecoder"in Wr&&"function"==typeof Wr.VideoDecoder&&(e=!0),e}(),t=Va();this._opt.useWCS=e,this._opt.useWCS&&this._opt.isH265&&(this._opt.useWCS=t),this._opt.useWCS||this.debugWarn(this.TAG_NAME,`\n useWCS is true,\n and supportWCS is ${e}, supportHevcWCS is ${t} , _opt.isH265 is ${this._opt.isH265}\n so set useWCS false`),this._opt.useWCS&&(this._opt.wcsDecodeAudio&&(this._opt.wcsDecodeAudio=function(){let e=!1;return"AudioDecoder"in Wr&&"function"==typeof Wr.AudioDecoder&&(e=!0),e}(),this._opt.wcsDecodeAudio||this.debugWarn(this.TAG_NAME,"wcsDecodeAudio is true, but not support so set wcsDecodeAudio false")),this._opt.useOffscreen?this._opt.wcsUseVideoRender=!1:this._opt.wcsUseVideoRender&&(this._opt.wcsUseVideoRender=za()&&$a(),this._opt.wcsUseVideoRender||this.debugWarn(this.TAG_NAME,"wcsUseVideoRender is true, but not support so set wcsUseVideoRender false")))}if(this._opt.useMSE){const e=function(){let e=!1;return"MediaSource"in Wr&&"function"==typeof Wr.MediaSource&&"function"==typeof Wr.MediaSource.isTypeSupported&&(e=!0),e}()||function(){let e=!1;return!("MediaSource"in Wr)&&"ManagedMediaSource"in Wr&&"function"==typeof Wr.ManagedMediaSource&&"function"==typeof Wr.ManagedMediaSource.isTypeSupported&&(e=!0),e}(),t=Wa()||function(){let e=!1;return!("MediaSource"in Wr)&&"ManagedMediaSource"in Wr&&Wr.ManagedMediaSource&&(Wr.ManagedMediaSource.isTypeSupported(Ti)||Wr.ManagedMediaSource.isTypeSupported(ki)||Wr.ManagedMediaSource.isTypeSupported(Li)||Wr.ManagedMediaSource.isTypeSupported(Ci)||Wr.ManagedMediaSource.isTypeSupported(xi))&&(e=!0),e}();this._opt.useMSE=e,this._opt.useMSE&&this._opt.isH265&&(this._opt.useMSE=t),this._opt.useMSE||this.debugWarn(this.TAG_NAME,`\n useMSE is true,\n and supportMSE is ${e}, supportHevcMSE is ${t} , _opt.isH265 is ${this._opt.isH265}\n so set useMSE false`)}}if(Io(this._opt.useMSE)&&(this._opt.mseDecodeAudio=!1),Io(this._opt.useWCS)&&(this._opt.wcsDecodeAudio=!1),this._opt.useMSE?(this._opt.useWCS&&this.debugWarn(this.TAG_NAME,"useMSE is true and useWCS is true then useWCS set true->false"),this._opt.forceNoOffscreen||this.debugWarn(this.TAG_NAME,"useMSE is true and forceNoOffscreen is false then forceNoOffscreen set false->true"),this._opt.useWCS=!1,this._opt.forceNoOffscreen=!0):this._opt.useWCS,this._opt.isWebrtc&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isWebrtc is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this._opt.isHls&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isHls is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this.isPlayVod()&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isPlayVod is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this._opt.isAliyunRtc&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"isAliyunRtc is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this.isStreamWebTransport()&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"is stream use webTransport is true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),this._opt.wcsDecodeAudio&&this._opt.demuxUseWorker&&(this.debugWarn(this.TAG_NAME,"is wcsDecodeAudio true and demuxUseWorker is true then demuxUseWorker set true->false"),this._opt.demuxUseWorker=!1),Io(this._opt.demuxUseWorker)&&(this._opt.mseDecoderUseWorker=!1),(this.isPlayback()||this.isPlayVod())&&(this._opt.mseDecoderUseWorker=!1),this._opt.useMThreading&&(this._opt.useMThreading="undefined"!=typeof SharedArrayBuffer,this._opt.useMThreading||this.debugWarn(this.TAG_NAME,"useMThreading is true, but not support so set useMThreading false")),this._opt.useSIMD||-1!==this._opt.decoder.indexOf("-simd")){const e=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),t=Oo();this._opt.useSIMD=e&&Io(t),this._opt.useSIMD||this.debugWarn(this.TAG_NAME,`useSIMD is true, but not support(isSupportSimd is ${e} ,isIphone is ${t}) so set useSIMD false`)}var s;this._opt.useSIMD?-1===this._opt.decoder.indexOf("-simd")?this._opt.useMThreading?this._opt.decoder=this._opt.decoder.replace("decoder-pro.js","decoder-pro-simd-mt.js"):this._opt.decoder=this._opt.decoder.replace("decoder-pro.js","decoder-pro-simd.js"):this._opt.useMThreading&&(this._opt.decoder=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-simd-mt.js")):-1!==this._opt.decoder.indexOf("-simd")?this._opt.useMThreading?this._opt.decoder=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-mt.js"):this._opt.decoder=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro.js"):this._opt.useMThreading&&(this._opt.decoder=this._opt.decoder.replace("decoder-pro.js","decoder-pro-mt.js")),-1!==this._opt.decoder.indexOf("-simd")?this._opt.useMThreading?(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro-simd-mt.js","decoder-pro-old.js")):(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro-simd.js","decoder-pro-old.js")):this._opt.useMThreading?(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro-mt.js","decoder-pro-old.js")):(this._opt.decoderAudio=this._opt.decoder.replace("decoder-pro.js","decoder-pro-audio.js"),this._opt.decoderHard=this._opt.decoder.replace("decoder-pro.js","decoder-pro-hard.js"),this._opt.decoderHardNotWasm=this._opt.decoder.replace("decoder-pro.js","decoder-pro-hard-not-wasm.js"),this._opt.decoderOld=this._opt.decoder.replace("decoder-pro.js","decoder-pro-old.js")),Io(this._opt.hasAudio)&&(this._opt.operateBtns.audio=!1),Io(this._opt.hasVideo)&&(this._opt.operateBtns.fullscreen=!1,this._opt.operateBtns.screenshot=!1,this._opt.operateBtns.record=!1,this._opt.operateBtns.ptz=!1,this._opt.operateBtns.quality=!1,this._opt.operateBtns.zoom=!1),this._opt.qualityConfig&&0===this._opt.qualityConfig.length&&this._opt.operateBtns.quality&&(this._opt.operateBtns.quality=!1,this.debugWarn(this.TAG_NAME,"_opt.qualityConfig is empty, so set operateBtns.quality false")),Po(this._opt.useWebGPU)&&(this._opt.useWebGPU=function(){let e=!1;return"gpu"in navigator&&(e=!0),e}(),Io(this._opt.useWebGPU)&&this.debugWarn(this.TAG_NAME,"useWebGPU is true, but not support so set useWebGPU false")),this._opt.useMSE&&this._opt.mseWaitVideoCanplayTimeout>this._opt.loadingTimeout&&(this.debugWarn(this.TAG_NAME,`mseWaitVideoCanplayTimeout ${this._opt.mseWaitVideoCanplayTimeout} is greater than loadingTimeout ${this._opt.loadingTimeout}, so set mseWaitVideoCanplayTimeout = loadingTimeout -1`),this._opt.mseWaitVideoCanplayTimeout=Math.max(this._opt.loadingTimeout-1,1)),this._opt.hasControl=this._hasControl(),this._loading=!1,this._playing=!1,this._playbackPause=!1,this._playVodPause=!1,this._hasLoaded=!1,this._zooming=!1,this._drawingRect=!1,this._destroyed=!1,this._destroyLock=!1,this._closed=!1,this._checkHeartTimeout=null,this._checkLoadingTimeout=null,this._checkStatsInterval=null,this._checkVisibleHiddenTimeout=null,this._startBpsTime=null,this._isPlayingBeforePageHidden=!1,this._stats={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._tempTsList=[],this._allStatsData={},this._faceDetectActive=!1,this._objectDetectActive=!1,this._occlusionDetectActive=!1,this._imageDetectActive=!1,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._videoTimestamp=0,this._audioTimestamp=0,this._latestAudioTimestamp=0,this._videoIframeIntervalTs=0,this._streamQuality=this._opt.defaultStreamQuality||"",!this._streamQuality&&this._opt.qualityConfig.length>0&&(this._streamQuality=this._opt.qualityConfig[0]||""),this._visibility=!0,this._lastestVisibilityChangeTimestamp=null,this._tempWorkerStats=null,this._historyFpsList=[],this._historyVideoDiffList=[],this._tempStreamList=[],this._tempInnerPlayBgobj=null,this._flvMetaData=null,this._flvMetaDataFps=null,this._serverInfo=null,this._mseWorkerData={},this._isStreamEnd=!1,Io(this._opt.useMSE)&&Io(this._opt.useWCS)&&!this.isWebrtcH264()&&!this.isOldHls()&&(this._opt.useWasm=!0),(this.isOldHls()||this.isWebrtcH264())&&(this._opt.hasVideo=!0,this._opt.hasAudio=!0),this._opt.hasVideo||(this._opt.useMSE=!1,this._opt.useWCS=!1),this._opt.useWasm&&(this._opt.useOffscreen?this._opt.wasmUseVideoRender=!1:this._opt.wasmUseVideoRender&&(this._opt.wasmUseVideoRender=Fa()&&za()&&$a(),this._opt.wasmUseVideoRender||this.debugWarn(this.TAG_NAME,"use wasm video render, but not support so set wasmUseVideoRender false"),this._opt.wasmUseVideoRender&&this._opt.wasmPlayAudioUseVideoRender&&(this._opt.wasmPlayAudioUseVideoRender=function(){let e=!1;return"AudioData"in Wr&&"function"==typeof Wr.AudioData&&(e=!0),e}(),this._opt.wasmPlayAudioUseVideoRender||this.debugWarn(this.TAG_NAME,"use wasm video render play audio, but not support so set wasmPlayAudioUseVideoRender false"))),this._opt.useSIMD?this.debugLog(this.TAG_NAME,"use simd wasm"):this.debugLog(this.TAG_NAME,"use wasm")),this._opt.useWasm&&(this._opt.useFaceDetector&&window.JessibucaProFaceDetector||this._opt.useObjectDetector&&window.JessibucaProObjectDetector||this._opt.useOcclusionDetector&&window.JessibucaProOcclusionDetector||this._opt.useImageDetector&&window.JessibucaProImageDetector)?(this.ai=new Jv(this),this._opt.useFaceDetector&&window.JessibucaProFaceDetector||(this._opt.operateBtns.aiFace=!1),this._opt.useObjectDetector&&window.JessibucaProObjectDetector||(this._opt.operateBtns.aiObject=!1),this._opt.useOcclusionDetector&&window.JessibucaProOcclusionDetector||(this._opt.operateBtns.aiOcclusion=!1),this._opt.useImageDetector&&this._opt.aiImageDetectActive&&window.JessibucaProImageDetector&&(this.imageDetectActive=!0)):(this._opt.operateBtns.aiObject=!1,this._opt.operateBtns.aiFace=!1,this._opt.operateBtns.aiOcclusion=!1),this._opt.useFaceDetector&&(this._opt.useWasm&&window.JessibucaProFaceDetector||this.debugWarn(this.TAG_NAME,`use face detector, useWasm is ${this._opt.useWasm} and window.JbProFaceDetector is null`)),this._opt.useObjectDetector&&(this._opt.useWasm&&window.JessibucaProObjectDetector||this.debugWarn(this.TAG_NAME,`use object detector, useWasm is ${this._opt.useWasm} and window.JbProObjectDetector is null`)),this._opt.useOcclusionDetector&&(this._opt.useWasm&&window.JessibucaProOcclusionDetector||this.debugWarn(this.TAG_NAME,`use occlusion detector, useWasm is ${this._opt.useWasm} and window.JessibucaProOcclusionDetector is null`)),this._opt.useImageDetector&&(this._opt.useWasm&&window.JessibucaProImageDetector||this.debugWarn(this.TAG_NAME,`use image detector, useWasm is ${this._opt.useWasm} and window.JessibucaProImageDetector is null`)),this._opt.videoRenderType&&(this.debugLog(this.TAG_NAME,`videoRenderType is ${this._opt.videoRenderType}`),this._opt.videoRenderType===K?(this._opt.useVideoRender=!0,this._opt.useCanvasRender=!1):this._opt.videoRenderType===q&&(this._opt.useVideoRender=!1,this._opt.useCanvasRender=!0)),this._opt.useVideoRender&&(this._opt.useWasm&&!this._opt.useOffscreen?(this._opt.wasmUseVideoRender=Fa()&&za()&&$a(),this._opt.wasmUseVideoRender||this.debugWarn(this.TAG_NAME,"use wasm video render, but not support so set wasmUseVideoRender false")):this._opt.useWCS&&!this._opt.useOffscreen&&(this._opt.wcsUseVideoRender=za()&&$a(),this._opt.wcsUseVideoRender||this.debugWarn(this.TAG_NAME,"use wcs video render, but not support so set wcsUseVideoRender false"))),this._opt.useCanvasRender&&(this._opt.useMSE&&Io(this._opt.mseDecoderUseWorker)&&(this._opt.mseUseCanvasRender=!0),this._opt.useWasm&&(this._opt.wasmUseVideoRender=!1),this._opt.useWCS&&(this._opt.wcsUseVideoRender=!1),this.isOldHls()&&!Ba()&&(this._opt.hlsUseCanvasRender=!0),this.isWebrtcH264()&&(this._opt.webrtcUseCanvasRender=!0)),this._opt.useVideoRender=!1,this._opt.useCanvasRender=!1,this._opt.useWasm?this._opt.wasmUseVideoRender?this._opt.useVideoRender=!0:this._opt.useCanvasRender=!0:this._opt.useWCS?this._opt.wcsUseVideoRender?this._opt.useVideoRender=!0:this._opt.useCanvasRender=!0:this._opt.useMSE?this._opt.mseUseCanvasRender?this._opt.useCanvasRender=!0:this._opt.useVideoRender=!0:this.isOldHls()?this._opt.hlsUseCanvasRender?this._opt.useCanvasRender=!0:this._opt.useVideoRender=!0:this.isWebrtcH264()&&(this._opt.webrtcUseCanvasRender?this._opt.useCanvasRender=!0:this._opt.useVideoRender=!0),this._opt.useCanvasRender&&this.useVideoPlayAudio()&&(this.debugLog(this.TAG_NAME,"useCanvasRender is true and useVideoPlayAudio() return true, so set wcsDecodeAudio false"),this._opt.wcsDecodeAudio=!1,this._opt.wasmPlayAudioUseVideoRender=!1),s=this,Object.defineProperty(s,"rect",{get:()=>{let e={};return s.$container&&(e=s.$container.getBoundingClientRect(),e.width=Math.max(e.width,s.$container.clientWidth),e.height=Math.max(e.height,s.$container.clientHeight)),e}}),["bottom","height","left","right","top","width"].forEach((e=>{Object.defineProperty(s,e,{get:()=>s.rect[e]||0})})),this.events=new Ho(this),this._opt.hasVideo&&(this.video=new _n(this),this.recorder=new Il(this)),this.isOldHls()?(this.hlsDecoder=new nb(this),this.loaded=!0):this.isWebrtcH264()?(this._opt.isWebrtcForZLM?this.webrtc=new Zv(this):this._opt.isWebrtcForSRS?this.webrtc=new Yv(this):this._opt.isWebrtcForOthers?this.webrtc=new Qv(this):this.webrtc=new Xv(this),this.loaded=!0):this.isAliyunRtc()?(this.aliyunRtcDecoder=new e_(this),this.loaded=!0):(this.isUseHls265()&&(this.hlsDecoder=new Iv(this)),this.isWebrtcH265()&&(this.webrtc=new Xv(this)),this.isPlayVodMp4()&&(this.mp4Decoder=new zv(this)),Io(Ao(this._opt))?this.decoderWorker=new Nl(this):this.loaded=!0),this.stream=null,this.demux=null,this._lastVolume=null,this._isMute=null,this._isInZoom=!1,this._playingStartTimestamp=null,this.isMSEVideoDecoderInitializationFailedNotSupportHevc=!1,this.isMSEAudioDecoderError=!1,this.isMSEPlaybackRateChangePause=!1,this.isMSECurrentMoreThanBufferedPause=!1,this.isPlayFailedAndPaused=!1,this._seiList=[],this._opt.useWCS&&!this._opt.hasAudio&&Io(this._opt.demuxUseWorker)&&(this.loaded=!0),this._opt.useMSE&&Io(this._opt.mseDecoderUseWorker)&&!this._opt.hasAudio&&Io(this._opt.demuxUseWorker)&&(this.loaded=!0),this.control=new Ic(this),this._opt.contextmenuBtns.length>0&&Io(this._opt.disableContextmenu)&&xa()?this.contextmenu=new qv(this):Po(this._opt.disableContextmenu)&&this._opt.contextmenuBtns.length>0&&xa()&&this.debugWarn(this.TAG_NAME,"disableContextmenu is true, but contextmenuBtns is not empty, so Contextmenu can not be created,please check"),this.isPlayback()&&(this.playback=new $v(this,this._opt.playbackConfig)),this.isPlayVod()&&(this.playVod=new r_(this,this._opt.playVodConfig)),this._opt.operateBtns.zoom&&(this.zoom=new Hv(this)),/(iphone|ipad|ipod|ios|android)/i.test(window.navigator.userAgent.toLowerCase())&&Io(this._opt.supportLockScreenPlayAudio&&Ia())&&(this.keepScreenOn=new Oc(this)),(e=>{try{const t=t=>{po(t)===e.$container&&(e.emit(_t.fullscreen,e.fullscreen),e.fullscreen?e._opt.useMSE&&e.resize():e.resize())};qr.on("change",t),e.events.destroys.push((()=>{qr.off("change",t)}))}catch(e){}if(e.on(vt.decoderWorkerInit,(()=>{e.debugLog("player","listen decoderWorkerInit and set loaded true"),e.loaded=!0})),e.on(vt.play,(()=>{e.loading=!1})),e.on(vt.fullscreen,(t=>{if(t)try{qr.request(e.$container).then((()=>{})).catch((t=>{e.debugError("player","fullscreen request error",t,t.toString()),e.emitError(wt.fullscreenError,t.toString()),Ca()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}))}catch(t){Ca()&&e._opt.useWebFullScreen&&(e.webFullscreen=!0)}else try{qr.exit().then((()=>{e.webFullscreen&&(e.webFullscreen=!1)})).catch((t=>{e.debugError("player","fullscreen exit error",t,t.toString()),e.emitError(wt.fullscreenError,t.toString()),e.webFullscreen&&(e.webFullscreen=!1)}))}catch(t){e.webFullscreen&&(e.webFullscreen=!1)}})),Ca()&&e.on(vt.webFullscreen,(t=>{t?e.$container.classList.add("jb-pro-fullscreen-web"):e.$container.classList.remove("jb-pro-fullscreen-web"),e.emit(_t.fullscreen,e.fullscreen)})),e.on(vt.resize,(()=>{e.resize()})),e._opt.debug){const t=[vt.timeUpdate,vt.currentPts,vt.videoSEI,vt.videoSEISyncPts,vt.performance,vt.videoSmooth],i=[vt.stats,vt.playbackStats,vt.playbackTimestamp,vt.flvMetaData,vt.playToRenderTimes,vt.audioInfo,vt.videoInfo];Object.keys(vt).forEach((s=>{e.on(vt[s],(function(r){if(!t.includes(s)){i.includes(s)&&(r=JSON.stringify(r));for(var a=arguments.length,o=new Array(a>1?a-1:0),n=1;n{e.on(wt[t],(function(){for(var i=arguments.length,s=new Array(i),r=0;r{this.updateOption({rotate:e?270:0}),this.resize()}),10)}get webFullscreen(){return this.$container.classList.contains("jb-pro-fullscreen-web")}set loaded(e){this._hasLoaded=e}get loaded(){return this._hasLoaded||this.isOldHls()||this.isWebrtcH264()||this._opt.useMSE&&Io(this._opt.hasAudio)&&Io(this._opt.demuxUseWorker)||this._opt.useWCS&&!this._opt.hasAudio&&Io(this._opt.demuxUseWorker)}set playing(e){this.isClosed()&&e?this.debugLog(this.TAG_NAME,"player is closed, so can not play"):(e&&Po(this.loading)&&(this.loading=!1),this.playing!==e&&(this._playing=e,this.emit(vt.playing,e),e?(this.emit(vt.volumechange,this.volume),this.emit(vt.play)):this.emit(vt.pause)))}get playing(){return this._playing}get volume(){return this.audio&&this.audio.volume||0}set volume(e){e!==this.volume&&(this.audio?(this.audio.setVolume(e),this._lastVolume=this.volume,this._isMute=0===this.volume):this.debugWarn(this.TAG_NAME,"set volume error, audio is null"))}get lastVolume(){return this._lastVolume}set loading(e){this.loading!==e&&(this._loading=e,this.emit(vt.loading,this._loading))}get loading(){return this._loading}set zooming(e){this.isDestroyedOrClosed()||this.zooming!==e&&(this.zoom||(this.zoom=new Hv(this)),this._zooming=e,this.emit(vt.zooming,this.zooming))}get zooming(){return this._zooming}set drawingRect(e){this.isDestroyedOrClosed()||this.drawingRect!==e&&(this.drawRectangle||(this.drawRectangle=new s_(this)),this._drawingRect=e,this.emit(vt.drawingRect,this.drawingRect))}get drawingRect(){return this._drawingRect}set recording(e){e?this.playing&&!this.recording&&(this.recorder&&this.recorder.startRecord(),this.isDemuxInWorker()&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!0})):this.recording&&(this.isDemuxInWorker()&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!1}),this.recorder&&this.recorder.stopRecordAndSave().then((()=>{})).catch((e=>{})))}get recording(){return!!this.recorder&&this.recorder.isRecording}set audioTimestamp(e){null!==e&&(this._audioTimestamp=e)}get audioTimestamp(){return this._audioTimestamp}set latestAudioTimestamp(e){null!==e&&(this._latestAudioTimestamp=e)}get latestAudioTimestamp(){return this._latestAudioTimestamp}get videoTimestamp(){return this._stats.currentPts||this._stats.ts}set streamQuality(e){this.streamQuality!==e&&(this._streamQuality=e,this.emit(vt.streamQualityChange,e))}get streamQuality(){return this._streamQuality}get isDebug(){return Po(this._opt.debug)}get scaleType(){const e=this._opt,t=e.isResize,i=e.isFullResize;let s=ci;return Io(i)&&Io(t)?s=ci:Io(i)&&Po(t)?s=ui:Po(i)&&Po(t)&&(s=pi),s}set visibility(e){this._visibility!==e&&(this._visibility=e,this.emit(vt.visibilityChange,e),this._lastestVisibilityChangeTimestamp=_a(),e?this.clearVisibilityHiddenTimeout():this.startVisibilityHiddenTimeout())}get visibility(){return this._visibility}set playbackPause(e){this._playbackPause!==e&&(this._playbackPause=e,this.emit(vt.playbackPause,e),this.emit(vt.playbackPauseOrResume,e))}get playbackPause(){return this.isPlayback()&&this._playbackPause}set playVodPause(e){this.playVod&&(this.playVod.isEnded()&&Io(e)?this.emit(vt.playVodEndedAndReplay):this._playVodPause!==e&&(this._playVodPause=e,this.emit(vt.playVodPause,e),this.emit(vt.playVodPauseOrResume,e)))}get playVodPause(){return this.isPlayVod()&&this._playVodPause}set videoIframeIntervalTs(e){this._videoIframeIntervalTs=e}get videoIframeIntervalTs(){return this._videoIframeIntervalTs}set faceDetectActive(e){this._faceDetectActive!==e&&(this._faceDetectActive=e,this.emit(vt.faceDetectActive,e))}get faceDetectActive(){return this._faceDetectActive}set objectDetectActive(e){this._objectDetectActive!==e&&(this._objectDetectActive=e,this.emit(vt.objectDetectActive,e))}get objectDetectActive(){return this._objectDetectActive}set occlusionDetectActive(e){this._occlusionDetectActive!==e&&(this._occlusionDetectActive=e,this.emit(vt.occlusionDetectActive,e))}get occlusionDetectActive(){return this._occlusionDetectActive}set imageDetectActive(e){this._imageDetectActive!==e&&(this._imageDetectActive=e)}get imageDetectActive(){return this._imageDetectActive}get isUseWorkerDemuxAndDecode(){return this.stream&&this.stream.getStreamType()===A}isDestroyed(){return this._destroyed}isDestroying(){return this._destroyed&&this._destroyLock}isClosed(){return this._closed}isDestroyedOrClosed(){return this.isDestroyed()||this.isClosed()}isLoading(){return this.loading}isPlaying(){let e=!1;return this._opt.playType===_?e=this.playing:this._opt.playType===w&&(e=Io(this.playbackPause)&&this.playing),e}updateOption(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._opt=Object.assign({},this._opt,e),Po(t)&&this.decoderWorker&&Object.keys(e).forEach((t=>{this.decoderWorker.updateWorkConfig({key:t,value:e[t]})}))}init(){return new Promise(((e,t)=>{Vo()&&(this.pressureObserverCpu=new t_(this)),this.video||this._opt.hasVideo&&(this.video=new _n(this)),this.audio||this._opt.hasAudio&&(this.audio=new jn(this)),this.stream||(this.stream=new Qn(this)),this.isOldHls()?(this.hlsDecoder||(this.hlsDecoder=new nb(this),this.loaded=!0),e()):this.isWebrtcH264()?(this.webrtc||(this._opt.isWebrtcForZLM?this.webrtc=new Zv(this):this._opt.isWebrtcForSRS?this.webrtc=new Yv(this):this._opt.isWebrtcForOthers?this.webrtc=new Qv(this):this.webrtc=new Xv(this),this.loaded=!0),e()):this.isAliyunRtc()?(this.aliyunRtcDecoder||(this.aliyunRtcDecoder=new e_(this),this.loaded=!0),e()):(this.demux||this._opt.hasVideo&&!this.isUseWorkerDemuxAndDecode&&(this.demux=new tc(this)),this._opt.useWCS&&(this.webcodecsDecoder||(this.webcodecsDecoder=new uc(this),!this._opt.hasAudio&&Io(this._opt.demuxUseWorker)&&(this.loaded=!0))),this._opt.useMSE&&Io(this._opt.mseDecoderUseWorker)&&(this.mseDecoder||(this.mseDecoder=new Fc(this),!this._opt.hasAudio&&Io(this._opt.demuxUseWorker)&&(this.loaded=!0))),this.isUseHls265()&&(this.hlsDecoder||(this.hlsDecoder=new Iv(this))),this.isWebrtcH265()&&(this.webrtc||(this.webrtc=new Xv(this))),this.isPlayVodMp4()&&(this.mp4Decoder||(this.mp4Decoder=new zv(this))),this.decoderWorker?this.loaded?e():this.once(vt.decoderWorkerInit,(()=>{this.isDestroyedOrClosed()?(this.debugError(this.TAG_NAME,"init() failed and player is destroyed"),t("init() failed and player is destroyed")):(this.loaded=!0,e())})):Io(Ao(this._opt))?(this.decoderWorker=new Nl(this),this.once(vt.decoderWorkerInit,(()=>{this.isDestroyedOrClosed()?(this.debugError(this.TAG_NAME,"init() failed and player is destroyed"),t("init() failed and player is destroyed")):(this.loaded=!0,e())}))):e())}))}play(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(!e&&!this._opt.url)return s("url is empty");this._closed=!1,this.loading=!0,this.playing=!1,this._times.playInitStart=_a(),e||(e=this._opt.url),this._opt.url=e,this.control&&this._opt.loadingBackground&&this.control.initLoadingBackground(),this.init().then((()=>{this.debugLog(this.TAG_NAME,"play() init and next fetch stream"),this._times.playStart=_a(),this._opt.isNotMute&&this.mute(!1),this.enableWakeLock(),this.checkLoadingTimeout(),this.stream?(this.stream.once(wt.fetchError,(e=>{this.emitError(wt.fetchError,e)})),this.stream.once(wt.websocketError,(e=>{this.emitError(wt.websocketError,e)})),this.stream.once(vt.streamEnd,(e=>{this.emit(vt.streamEnd,e)})),this.stream.once(wt.hlsError,(e=>{this.emitError(wt.hlsError,e)})),this.stream.once(wt.webrtcError,(e=>{this.emitError(wt.webrtcError,e)})),this.stream.once(vt.streamSuccess,(()=>{i(),this._times.streamResponse=_a(),this.video&&this.video.play(),this.checkStatsInterval(),this.isPlayback()&&this.playback?this.playback.startCheckStatsInterval():this.isPlayVod()&&this.playVod&&this.playVod.startCheckStatsInterval();const e=Number("1")||1;setTimeout((()=>{this.destroy(),console.error("Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码)"),alert("Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng"),window.location.reload()}),60*e*60*1e3)})),this.stream.fetchStream(e,t)):(this.debugWarn(this.TAG_NAME,`play() this.stream is null and is isDestroyedOrClosed is ${this.isDestroyedOrClosed()}`),s("this.stream is null"))})).catch((e=>{s(e)}))}))}playForControl(){return new Promise(((e,t)=>{this.debugLog(this.TAG_NAME,`playForControl() and pauseAndNextPlayUseLastFrameShow is ${this._opt.pauseAndNextPlayUseLastFrameShow}`),this._opt.pauseAndNextPlayUseLastFrameShow&&this._tempInnerPlayBgobj&&this._tempInnerPlayBgobj.loadingBackground&&this.updateOption({loadingBackground:this._tempInnerPlayBgobj.loadingBackground,loadingBackgroundWidth:this._tempInnerPlayBgobj.loadingBackgroundWidth,loadingBackgroundHeight:this._tempInnerPlayBgobj.loadingBackgroundHeight}),this.play().then((t=>{e(t)})).catch((e=>{t(e)}))}))}close(){return new Promise(((e,t)=>{this._close().then((()=>{this.video&&this.video.clearView(),e()})).catch((e=>{t(e)}))}))}resumeAudioAfterPause(){this.lastVolume&&Io(this._isMute)&&(this.volume=this.lastVolume)}async _close(){this._closed=!0,this.video&&(this.video.resetInit(),this.video.pause(!0)),this.loading=!1,this.recording=!1,this.zooming=!1,this.clearCheckLoadingTimeout(),this.clearStatsInterval(),this.isPlayback()&&this.playback&&this.playback.clearStatsInterval(),this.isPlayVod()&&this.playVod&&this.playVod.clearStatsInterval(),this.releaseWakeLock(),this.resetStats(),this._audioTimestamp=0,this._videoTimestamp=0,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this.decoderWorker&&(await this.decoderWorker.destroy(),this.decoderWorker=null),this.stream&&(await this.stream.destroy(),this.stream=null),this.demux&&(this.demux.destroy(),this.demux=null),this.webcodecsDecoder&&(await this.webcodecsDecoder.destroy(),this.webcodecsDecoder=null),this.mseDecoder&&(this.mseDecoder.destroy(),this.mseDecoder=null),this.hlsDecoder&&(await this.hlsDecoder.destroy(),this.hlsDecoder=null),this.webrtc&&(this.webrtc.destroy(),this.webrtc=null),this.aliyunRtcDecoder&&(this.aliyunRtcDecoder.destroy(),this.aliyunRtcDecoder=null),this.audio&&(await this.audio.destroy(),this.audio=null),this.mp4Decoder&&(await this.mp4Decoder.destroy(),this.mp4Decoder=null),this.playing=!1}pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((t,i)=>{e?this.close().then((()=>{t()})).catch((e=>{i(e)})):this._close().then((()=>{t()})).catch((e=>{i(e)}))}))}pauseForControl(){return new Promise(((e,t)=>{if(this.debugLog(this.TAG_NAME,"_pauseInner()"),this._opt.pauseAndNextPlayUseLastFrameShow&&this.video){const e=this.video.screenshot("","png",.92,"base64");if(e){const t=this.getVideoInfo();t?(this.debugLog(this.TAG_NAME,`pauseForControl() and loadingBackground width is ${t.width} and height is ${t.height}`),this._tempInnerPlayBgobj={loadingBackground:e,loadingBackgroundWidth:t.width,loadingBackgroundHeight:t.height}):this.debugWarn(this.TAG_NAME,"pauseForControl() and videoInfo is null")}else this.debugWarn(this.TAG_NAME,"pauseForControl() and loadingBackground is null")}this.pause().then((t=>{e(t)})).catch((e=>{t(e)}))}))}isAudioMute(){let e=!0;return this.audio&&(e=this.audio.isMute),e}isAudioNotMute(){return!this.isAudioMute()}mute(e){this.audio&&this.audio.mute(e)}resize(){this.video&&this.video.resize()}startRecord(e,t){this.recording||(this.recorder.setFileName(e,t),this.recording=!0)}cancelRecord(){return new Promise(((e,t)=>{this.recorder||t("recorder is null"),this.recording&&(this._opt.useWasm&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!1}),this.recorder.cancelRecord().then((()=>{e()})).catch((e=>{t(e)})))}))}stopRecordAndSave(e,t){return new Promise(((i,s)=>{this.recorder||s("recorder is null"),this.recording?(this._opt.useWasm&&this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"isRecording",value:!1}),this.recorder.stopRecordAndSave(e,t).then((e=>{i(e)})).catch((e=>{s(e)}))):s("recorder is not recording")}))}_hasControl(){let e=!1,t=!1;return Object.keys(this._opt.operateBtns).forEach((e=>{this._opt.operateBtns[e]&&-1===(""+e).indexOf("Fn")&&(t=!0)})),(this._opt.showBandwidth||t)&&(e=!0),this._opt.extendOperateBtns&&this._opt.extendOperateBtns.length>0&&(e=!0),this.isPlayback()&&this._opt.playbackConfig.showControl&&(e=!0),this._opt.controlHtml&&(e=!0),e}useWasmDecode(){return Io(this._opt.useMSE)&&Io(this._opt.useWCS)}canVideoTrackWritter(){const e=this._opt;return!this.isOldHls()&&!this.isWebrtcH264()&&Io(e.useMSE)&&!this.isAliyunRtc()&&(e.useWCS&&Io(e.useOffscreen)&&e.wcsUseVideoRender||this.useWasmDecode())}checkHeartTimeout$2(){if(Io(this.playbackPause)&&this.playing){if(this.isDestroyedOrClosed())return void this.debugWarn(this.TAG_NAME,"checkHeartTimeout$2 but player is destroyed");if(Io(this.isHistoryFpsListAllZero()))return void this.debugWarn(this.TAG_NAME,"checkHeartTimeout$2 but fps is not all zero");if(0!==this._stats.fps)return void this.debugWarn(this.TAG_NAME,`checkHeartTimeout$2 but fps is ${this._stats.fps}`);const e=this._historyFpsList.join(",");this.debugWarn(this.TAG_NAME,`checkHeartTimeout$2 and\n pause and emit delayTimeout event and\n current vbps is ${this._stats.vbps} and\n current fps is ${this._stats.fps} and\n history FpsList is ${e} and\n current visibility is ${this.visibility} and`),this.emit(vt.timeout,vt.delayTimeout),this.emit(vt.delayTimeout)}else this.debugLog(this.TAG_NAME,`checkHeartTimeout$2 playbackPause is ${this.playbackPause}, playing is ${this.playing}`)}checkStatsInterval(){this._checkStatsInterval=setInterval((()=>{this.updateStats()}),1e3)}checkLoadingTimeout(){this._checkLoadingTimeout=setTimeout((()=>{this.playing?this.debugWarn(this.TAG_NAME,`checkLoadingTimeout but loading is ${this.loading} and playing is ${this.playing}`):this.isDestroyedOrClosed()?this.debugWarn(this.TAG_NAME,"checkLoadingTimeout but player is destroyed"):(this.debugWarn(this.TAG_NAME,"checkLoadingTimeout and pause and emit loadingTimeout event"),this.emit(vt.timeout,vt.loadingTimeout),this.emit(vt.loadingTimeout))}),1e3*this._opt.loadingTimeout)}clearCheckLoadingTimeout(){this._checkLoadingTimeout&&(this.debugLog(this.TAG_NAME,"clearCheckLoadingTimeout"),clearTimeout(this._checkLoadingTimeout),this._checkLoadingTimeout=null)}clearStatsInterval(){this._checkStatsInterval&&(clearInterval(this._checkStatsInterval),this._checkStatsInterval=null)}handleRender(){this.isDestroyedOrClosed()?this.debugLog(this.TAG_NAME,"handleRender but player is destroyed or closed"):(this.loading&&(this.clearCheckLoadingTimeout(),this.loading=!1,this.emit(vt.start)),this.playing||(this.playing=!0))}updateStats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.isDestroyedOrClosed())return void this.debugLog(this.TAG_NAME,"updateStats but player is closed or destroyed");if(this._startBpsTime||(this._startBpsTime=_a()),Ka(e.ts)){const t=parseInt(e.ts,10);this._stats.ts=t,this._tempTsList.push(t),null===this._playingStartTimestamp&&t>0&&(this._playingStartTimestamp=t)}Ka(e.dts)&&(this._stats.dts=parseInt(e.dts,10)),Ka(e.mseTs)&&(this._stats.mseTs=e.mseTs),Ka(e.buf)&&(this._stats.buf=e.buf),Ka(e.netBuf)&&(this._stats.netBuf=e.netBuf),Ka(e.currentPts)&&(this._stats.currentPts=e.currentPts),e.fps&&(this._stats.fps+=1),e.dfps&&(this._stats.dfps+=1),e.abps&&(this._stats.abps+=e.abps),e.vbps&&(this._stats.vbps+=e.vbps),e.workerStats&&(this._tempWorkerStats=e.workerStats),e.isDropping&&(this._stats.isDropping=e.isDropping),e.mseVideoBufferDelayTime&&(this._stats.mseVideoBufferDelayTime=parseInt(1e3*e.mseVideoBufferDelayTime,10));const t=_a();if(t-this._startBpsTime<1e3)return;null!==this._playingStartTimestamp&&this._stats.fps>0&&(this._stats.pTs+=1);let i=0,s=0,r=0,a=0,o=0;this.isPlayStream()&&this._opt.useMSE&&(this.mseDecoder?(i=this.mseDecoder.checkSourceBufferDelay(),i=parseInt(1e3*i,10),s=this.mseDecoder.checkSourceBufferStore(),s=s.toFixed(2),a=this.mseDecoder.getDecodePlaybackRate(),o=this.mseDecoder.getPendingSegmentsLength()):this.isMseDecoderUseWorker()&&(i=this.video.checkSourceBufferDelay(),i=parseInt(1e3*i,10),s=this.video.checkSourceBufferStore(),s=s.toFixed(2),a=this.video.getDecodePlaybackRate())),this._opt.useWCS&&this.webcodecsDecoder&&(r=this.webcodecsDecoder.getDecodeDiffTimes()),this.isOldHls()&&this.hlsDecoder&&(i=this.hlsDecoder.checkHlsBufferedDelay(),i=parseInt(1e3*i,10));let n=0,l=0,d=0;this.isUseHls265()&&this.hlsDecoder&&(i=this.hlsDecoder.checkHlsBufferedDelay(),i=i.toFixed(2),n=this.hlsDecoder.getDemuxBufferedListLength(),d=this.hlsDecoder.getDemuxVideoBufferedListLength(),l=this.hlsDecoder.getDemuxAudioBufferedListLength());let h=0,c=0,u=0,p=!1,m=0,g=0;this._opt.useWasm||this._opt.demuxUseWorker?this._tempWorkerStats&&(c=this._tempWorkerStats.demuxBufferDelay,u=this._tempWorkerStats.audioDemuxBufferDelay,h=this._tempWorkerStats.streamBufferByteLength,this._stats.netBuf=this._tempWorkerStats.netBuf,m=this._tempWorkerStats.pushLatestDelay,p=this._tempWorkerStats.isStreamTsMoreThanLocal,this._stats.buf=this._tempWorkerStats.latestDelay,g=this._tempWorkerStats.wasmDecodeDelay):this.demux&&(h=this.demux.getInputByteLength(),m=this.demux.getPushLatestDelay(),p=this.demux.getIsStreamTsMoreThanLocal(),this.demux.bufferList&&(c=this.demux.bufferList.length));let f=0,y=0;this.audio&&this.audio.bufferList&&(f=this.audio.bufferList.length,y=parseInt(f*this.audio.oneBufferDuration,10));let A=0,b=0;if(this.isPlayback()&&this.video){this._opt.playbackConfig.isUseFpsRender&&(A=this.video.bufferList&&this.video.bufferList.length||0);let e=this.video.getStreamFps();const t=e>0?1e3/e:0;b=parseInt(t*A+t*c,10)}let v=0;this.videoTimestamp>0&&(v=this._stats.dts-this.videoTimestamp);const _=v+this._stats.netBuf;this.isOldHls()&&(this._stats.fps=this.hlsDecoder.getFps()),this._stats.fps>this._stats.maxFps&&(this._stats.maxFps=this._stats.fps);let S=this.getVideoCurrentTime();const w=this._stats.videoCurrentTime;let E=-1;w&&S&&(E=Ua((S-w).toFixed(2)),S=S.toFixed(2));let T=0;this.audioTimestamp>0&&(T=this.audioTimestamp-this.getRenderCurrentPts()),this._allStatsData=Object.assign(this._stats,{audioBuffer:f,audioBufferDelayTs:y,audioTs:this.audioTimestamp,latestAudioTs:this.latestAudioTimestamp,playbackVideoBuffer:A,playbackVideoWaitingBuffer:0,playbackAudioWaitingBuffer:0,playbackCacheDataDuration:b,demuxBuffer:c,pushLatestDelay:m,audioDemuxBuffer:u,streamBuffer:h,mseDelay:i,mseStore:s,mseDecodePlaybackRate:a,msePendingBuffer:o,wcsDecodeDiffTimes:r,wasmDecodeDelay:g,hlsDelay:i,hlsDemuxLength:n,hlsDemuxAudioLength:l,hlsDemuxVideoLength:d,delayTs:v,totalDelayTs:_,isStreamTsMoreThanLocal:p,videoCurrentTime:S,videoCurrentTimeDiff:E,audioSyncVideo:T});let k=null,L=null,x="";if(this.isPlayer()&&this._opt.hasVideo&&this.playing){k=function(e,t){let i=3;const s=t||25;return e<=s*(1/4)?i=0:e<=.5*s?i=1:e<=s*(3/4)&&(i=2),i}(this._stats.fps,this._flvMetaDataFps),this._allStatsData.performance=k;const e=this.checkVideoSmooth(this._allStatsData);x=e.reason,L=e.result,this._allStatsData.videoSmooth=L}this.emit(vt.stats,this._allStatsData),this._allStatsData.streamBuffer>this._opt.flvDemuxBufferSizeMaxLarge&&this.getDemuxType()===C&&this.emit(wt.flvDemuxBufferSizeTooLarge,this._allStatsData.streamBuffer),this._opt.hasVideo?(this.updateHistoryFpsList(this._stats.fps,this._allStatsData.videoCurrentTimeDiff),Ka(k)&&this.emit(vt.performance,k),Ka(L)&&this.emit(vt.videoSmooth,L,x)):this._opt.hasAudio&&this.updateHistoryFpsList(this._stats.abps,0),this._stats.fps=0,this._stats.dfps=0,this._stats.abps=0,this._stats.vbps=0,this._tempTsList=[],this._stats.isDropping=!1,this._startBpsTime=t}resetStats(){this._startBpsTime=null,this._playingStartTimestamp=null,this._historyFpsList=[],this._historyVideoDiffList=[],this._stats={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._allStatsData={},this._tempTsList=[]}checkVideoSmooth(e){let t=!0,i="";if(this._opt.videoBuffer,this._opt.videoBufferDelay,this.isWebrtcH264()||this.isOldHls())return{result:t,reason:i};if(0===e.vbps&&Io(this._opt.isHls)&&(i="vbpsIsZero",this.debugLog(this.TAG_NAME,`checkVideoSmooth false because ${i}`),t=!1),t&&e.isDropping&&(i="isDroppingIsTrue",this.debugLog(this.TAG_NAME,`checkVideoSmooth false because ${i}`),t=!1),t&&this.visibility&&this._historyFpsList.length>=this._opt.heartTimeout){const s=function(e){const t=Math.max(...e),i=Math.min(...e);return e.filter((e=>e!==t&&e!==i))}(this._historyFpsList),r=s.reduce(((e,t)=>e+t),0)/s.length,a=.83*r;e.fps=1.5||e.videoCurrentTimeDiff<=.5)&&-1!==e.videoCurrentTimeDiff){if(i="videoCurrentTimeDiffIsNotNormal",this.debugLog(this.TAG_NAME,`checkVideoSmooth false because videoCurrentTimeDiff is ${e.videoCurrentTimeDiff}`),0===Number(e.videoCurrentTimeDiff)){const e=this.isVideoPlaying(),t=this.getVideoCurrentTime(),i=this.getVideoBufferTimeRange();let s=-1,r=-1;i&&(s=i.start,r=i.end),this.debugLog(this.TAG_NAME,`checkVideoSmooth and videoCurrentTimeDiff is 0 so check\n videoCurrentTime is ${t} and isPlaying is ${e}\n bufferStartTime is ${s} and bufferEndTime is ${r}`)}t=!1}return{result:t,reason:i}}enableWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.enable()}releaseWakeLock(){this._opt.keepScreenOn&&this.keepScreenOn&&this.keepScreenOn.disable()}clearBufferDelay(){this._opt.useWasm?this.decoderWorker&&this.decoderWorker.clearWorkBuffer(!0):this.demux&&this.demux.clearBuffer(!0)}doDestroy(){this.emit(vt.beforeDestroy)}handlePlayToRenderTimes(){if(this.isDestroyedOrClosed())return void this.debugLog(this.TAG_NAME,"handlePlayToRenderTimes but player is closed or destroyed");const e=this.getPlayToRenderTimes();this.emit(vt.playToRenderTimes,e)}getPlayToRenderTimes(){const e=this._times;return e.playTimestamp=e.playStart-e.playInitStart,e.streamTimestamp=e.streamStart-e.playStart,e.streamResponseTimestamp=e.streamResponse-e.streamStart>0?e.streamResponse-e.streamStart:0,e.demuxTimestamp=e.demuxStart-e.streamResponse>0?e.demuxStart-e.streamResponse:0,e.decodeTimestamp=e.decodeStart-e.demuxStart>0?e.decodeStart-e.demuxStart:0,e.videoTimestamp=e.videoStart-e.decodeStart,e.allTimestamp=e.videoStart-e.playInitStart,e}getOption(){return this._opt}getPlayType(){return this._opt.playType}isPlayer(){return this._opt.playType===_}isPlayback(){return this._opt.playType===w}isPlayVod(){return this._opt.playType===E}isPlayStream(){return this.isPlayer()||this.isPlayback()}isDemuxSetCodecInit(){let e=!0,t=this._opt;return t.useWCS&&!t.useOffscreen?e=!!this.webcodecsDecoder&&this.webcodecsDecoder.hasInit:t.useMSE&&(e=!!this.mseDecoder&&this.mseDecoder.hasInit),e}isDemuxDecodeFirstIIframeInit(){let e=!0,t=this._opt;return t.useWCS&&!t.useOffscreen?e=!!this.webcodecsDecoder&&this.webcodecsDecoder.isDecodeFirstIIframe:t.useMSE&&(e=!!this.mseDecoder&&this.mseDecoder.isDecodeFirstIIframe),e}isAudioPlaybackRateSpeed(){let e=!1;return this.audio&&(e=this.audio.isPlaybackRateSpeed()),e}getPlayingTimestamp(){return this._stats.pTs}getRecordingType(){let e=null;return this.recorder&&(e=this.recorder.getType()),e}getRecordingByteLength(){let e=0;return this.recording&&(e=this.recorder.getToTalByteLength()),e}getRecordingDuration(){let e=0;return this.recording&&(e=this.recorder.getTotalDuration()),e}getDecodeType(){let e="";const t=this.getOption();return this.isWebrtcH264()?$:this.isAliyunRtc()?J:this.isOldHls()?H:(t.useMSE&&(e+=N+" ",t.mseDecoderUseWorker&&(e+="worker")),t.useWCS&&(e+=j+" "),t.useWasm&&(e+=W+" ",t.useSIMD&&(e+=V+" "),t.useMThreading&&(e+=z+" ")),t.useOffscreen&&(e+=G+" "),e)}getDemuxType(){return this._opt.demuxType}getRenderType(){let e="";return this.video&&(e=this.video.getType()),e}getCanvasRenderType(){let e="";return this.video&&(e=this.video.getCanvasType()),e}getAudioEngineType(){let e="";return this.audio&&(e=this.audio.getEngineType()),e}getStreamType(){let e="";return this.stream&&(e=this.stream.getStreamType()),e}isStreamTypeNotWorker(){return-1===this.getStreamType().indexOf(A)}getAllStatsData(){return this._allStatsData}isFlvDemux(){return this._opt.demuxType===C}isM7SDemux(){return this._opt.demuxType===x}isNakedFlowDemux(){return this._opt.demuxType===I}isMpeg4Demux(){return this._opt.demuxType===M}isTsDemux(){return this._opt.demuxType===U}isFmp4Demux(){return this._opt.demuxType===B}togglePerformancePanel(e){this.updateOption({showPerformance:e}),this.emit(vt.togglePerformancePanel,e)}setScaleMode(e){let t={isFullResize:!1,isResize:!1,aspectRatio:"default"};switch(e=Number(e)){case ci:t.isFullResize=!1,t.isResize=!1;break;case ui:t.isFullResize=!1,t.isResize=!0;break;case pi:t.isFullResize=!0,t.isResize=!0}this.updateOption(t),this.resize(),this.emit(vt.viewResizeChange,e)}startVisibilityHiddenTimeout(){this.clearVisibilityHiddenTimeout(),this._opt.pageVisibilityHiddenTimeout>0&&(this.visibilityHiddenTimeout=setTimeout((()=>{this.emit(vt.visibilityHiddenTimeout)}),1e3*this._opt.pageVisibilityHiddenTimeout))}clearVisibilityHiddenTimeout(){this._checkVisibleHiddenTimeout&&(clearTimeout(this._checkVisibleHiddenTimeout),this._checkVisibleHiddenTimeout=null)}faceDetect(e){this.faceDetectActive=e,Io(e)&&this.video&&this.video.addAiContentToCanvas([])}objectDetect(e){this.objectDetectActive=e,Io(e)&&this.video&&this.video.addAiContentToCanvas([])}occlusionDetect(e){this.occlusionDetectActive=e}downloadNakedFlowFile(){this.demux&&this.demux.downloadNakedFlowFile&&this.demux.downloadNakedFlowFile()}downloadFmp4File(){this.demux&&this.demux.downloadFmp4File&&this.demux.downloadFmp4File()}downloadMpeg4File(){const e=new Blob([this._tempStreamList]);try{const t=document.createElement("a");t.href=window.URL.createObjectURL(e),t.download=Date.now()+".mpeg4",t.click(),window.URL.revokeObjectURL(t.href)}catch(e){console.error("downloadMpeg4File",e)}}hasCacheOnGopBuffer(){const e=this.videoIframeIntervalTs,t=this._allStatsData.demuxBuffer,i=this._allStatsData.maxFps;let s=!1;if(e&&t&&i){s=1e3/i*t>e}return s}addContentToCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.video&&this.video.addContentToCanvas(e)}addContentToContainer(){}sendWebsocketMessage(e){const t=this.getStreamType();t===g||t===A+" "+g?this.stream.sendMessage(e):this.debugWarn(this.TAG_NAME,`sendWebsocketMessage: stream type is not websocket, current stream type is ${this.getStreamType()}`)}checkIsInRender(){const e=this._stats;return e.vbps>0&&e.fps>0}setControlHtml(e){this.control&&this.control.$controlHtml&&(this.control.$controlHtml.innerHTML=e)}clearControlHtml(){this.control&&this.control.$controlHtml&&(this.control.$controlHtml.innerHTML="")}toggleControlHtml(e){this.control&&this.control.toggleControlHtml(e)}getControlHtmlIsShow(){return!!this.control&&this.control.getControlHtmlIsShow()}getControlHtml(){return this.control?this.control.getControlHtml():null}setExtendHtml(e){this.control&&(this.control.$extendDom?this.control.updateExtendDom(e):this.control.addExtendDom({html:e,showBeforePlay:!0}))}clearExtendHtml(){this.control&&this.control.removeExtendDom()}toggleExtendHtml(e){this.control&&this.control.toggleExtendDom(e)}getExtendHtmlIsShow(){return!!this.control&&this.control.getExtendDomIsShow()}getExtendHtml(){return this.control?this.control.getExtendDom():null}updateWatermark(e){this.singleWatermark||(this.singleWatermark=new on(this)),this.singleWatermark&&this.singleWatermark.update(e)}removeWatermark(){this.singleWatermark&&this.singleWatermark.remove()}getVideoInfo(){let e=null;return this.video&&(e=this.video.getVideoInfo()),e}getAudioInfo(){let e=null;return this.audio&&(e=this.audio.getAudioInfo()),e}getVideoPlaybackQuality(){let e=null;return this.video&&(e=this.video.getPlaybackQuality()),e}emitError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";this.emit(vt.error,e,t),this.emit(e,t)}updateHistoryFpsList(e,t){this.playbackPause||Io(this.visibility)||(this._historyFpsList.length>this._opt.heartTimeout&&(this._historyFpsList.shift(),this._historyVideoDiffList.shift()),this._historyFpsList.push(e),this._historyVideoDiffList.push(t),this.isHistoryFpsListAllZero()&&this.checkHeartTimeout$2())}isHistoryFpsListAllZero(){let e=!0;if(this._historyFpsList.length0){e=!1;break}if(e)for(let t=0;t0){e=!1;break}return e}isUseHls265(){return Po(this._opt.isHls)&&Po(this._opt.supportHls265)}isHls(){return Po(this._opt.isHls)}isOldHls(){return Po(this._opt.isHls)&&Io(this._opt.supportHls265)}isWebrtcNotH265(){return Po(this._opt.isWebrtc)&&Io(this._opt.isWebrtcH265)}isWebrtcH264(){return Po(this._opt.isWebrtc)&&Io(this._opt.isWebrtcH265)}isWebrtcH265(){return Po(this._opt.isWebrtc)&&Po(this._opt.isWebrtcH265)}isAliyunRtc(){return Po(this._opt.isAliyunRtc)}isUseHls265UseMse(){return this.isUseHls265()&&this.isUseMSE()}isStreamWebTransport(){return this.getStreamType()===y}isPlaybackCacheBeforeDecodeForFpsRender(){return this.isPlayback()&&Po(this._opt.playbackConfig.isCacheBeforeDecodeForFpsRender)&&Po(this._opt.useWCS)}isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender(){return this.isPlayback()&&Io(this._opt.playbackConfig.isPlaybackPauseClearCache)&&Po(this._opt.playbackConfig.isCacheBeforeDecodeForFpsRender)}isPlaybackUseWCS(){return this.isPlayback()&&Po(this._opt.useWCS)}isPlaybackUseMSE(){return this.isPlayback()&&Po(this._opt.useMSE)}isPlaybackUseWASM(){return this.isPlayback()&&Po(this._opt.useWasm)}isPlayUseMSE(){return this.isPlayer()&&Po(this._opt.useMSE)}isMSEDecodeAudio(){return this._opt.useMSE&&this._opt.mseDecodeAudio}isWCSDecodeAudio(){this._opt.useWCS&&this._opt.wcsDecodeAudio}isPlayVodUseMSE(){return this.isPlayVod()&&Po(this._opt.useMSE)}isPlayVodNotUseMSE(){return this.isPlayVod()&&Io(this._opt.useMSE)}isPlayVodMp4(){return this.isPlayVod()&&Po(this._opt.isFmp4)}isInWebFullscreen(){return this._opt.useWebFullScreen&&Ca()&&this.fullscreen}getPlaybackRate(){let e=1;return Po(this.isPlayback())&&this.playback&&(e=this.playback.rate),e}getPlayVodRate(){let e=1;return this.isPlayVod()&&this.playVod&&(e=this.playVod.rate),e}isPlaybackOnlyDecodeIFrame(){return Po(this.isPlayback())&&this.getPlaybackRate()>=this._opt.playbackForwardMaxRateDecodeIFrame&&!this.isMSEDecodeAudio()}pushTempStream(e){const t=new Uint8Array(e);this._tempStreamList.push(t)}updateLoadingText(e){this.loading&&this.control&&this.control.updateLoadingText(e)}getVideoCurrentTime(){let e=0;return this.video&&(this._opt.useMSE?this.mseDecoder?e=this.mseDecoder.getVideoCurrentTime():this.isMseDecoderUseWorker()&&(e=this.video.getVideoCurrentTime()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.getVideoCurrentTime():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.getVideoCurrentTime())),e}getVideoBufferTimeRange(){let e=null;return this.video&&(this._opt.useMSE?this.mseDecoder?e=this.mseDecoder.getVideoBufferTimeRange():this.isMseDecoderUseWorker()&&(e=this.video.getVideoBufferTimeRange()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.getVideoBufferTimeRange():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.getVideoBufferTimeRange())),e}isVideoPlaying(){let e=!0;return this.video&&(this._opt.useMSE?this.mseDecoder?e=this.mseDecoder.isVideoPlaying():this.isMseDecoderUseWorker()&&(e=this.video.isVideoPlaying()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc.isVideoPlaying():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.isVideoPlaying())),e}addMemoryLog(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s0){const e=t/1e3;this._flvMetaDataFps=e}}qa(e.hasAudio)&&Io(e.hasAudio)&&(this.debugLog("updateMetaData","hasAudio",e.hasAudio,"and update _opt.hasAudio"),this._opt.hasAudio=e.hasAudio),qa(e.hasVideo)&&Io(e.hasVideo)&&(this.debugLog("updateMetaData","hasVideo",e.hasVideo,"and update _opt.hasVideo"),this._opt.hasVideo=e.hasVideo),e.server&&(this._serverInfo=(e.server+"").substring(0,13)),e.MetaDataCreator&&(this._serverInfo=e.MetaDataCreator)}this.emit(vt.flvMetaData,e)}getMetaData(){return this._flvMetaData}getExtendBtnList(){return this.control.getExtendBtnList().map((e=>({name:e.name,$container:e.$iconContainer,$btn:e.$iconWrap,$activeBtn:e.$activeIconWrap})))}getCpuLevel(){let e=null;return this.pressureObserverCpu&&(e=this.pressureObserverCpu.getCurrentCpuState()),e}isRecordTypeFlv(){return this.recorder&&this._opt.recordType===L}isRecordTypeMp4(){return this.recorder&&this._opt.recordType===T}isRecordTypeWebm(){return this.recorder&&this._opt.recordType===k}isDemuxInWorker(){return this._opt.useWasm||this._opt.demuxUseWorker}isUseMSE(){return Po(this._opt.useMSE)}isUseWCS(){return Po(this._opt.useWCS)}isUseWASM(){return Po(this._opt.useWasm)}isMseDecoderUseWorker(){return this.isUseMSE()&&Po(this._opt.mseDecoderUseWorker)}getAudioSyncVideoDiff(){return this.audioTimestamp-this.getRenderCurrentPts()}getCurrentVideoAndAudio(){return{video:this.getRenderCurrentPts(),audio:this.audioTimestamp}}getMseVideoBufferDelayTime(){let e=0;return this._opt.useMSE&&this.mseDecoder&&(this.mseDecoder?e=this.mseDecoder.getVideoBufferDelayTime():this.isMseDecoderUseWorker()&&(e=this.video.getVideoBufferDelayTime()),e=parseInt(1e3*e,10)),e}updateCurrentPts(e){this.updateStats({currentPts:e}),this.emit(vt.currentPts,e),this.emitVideSeiSyncPts(e)}emitVideoSei(e){this.emit(vt.videoSEI,e),this._seiList.push(e)}emitVideSeiSyncPts(e){if(0===this._seiList.length||Io(this._opt.isEmitSEI))return;const t=1e3*this._opt.videoSEISyncPtsDiff,i=e-t,s=e+t,r=[];this._seiList.forEach((t=>{t.ts>=i&&t.ts<=s&&(t.pts=e,r.push(t))})),r.forEach((e=>{this.emit(vt.videoSEISyncPts,e)})),this._seiList=this._seiList.filter((e=>e.ts>s))}getRenderCurrentPts(){let e=0;return e=this._stats.currentPts?this._stats.currentPts:this.videoTimestamp-this.getMseVideoBufferDelayTime(),e}openSyncAudioAndVideo(){return this._opt.syncAudioAndVideo&&this._opt.hasVideo}showTipsMessageByCode(e){if(this.control){const t=this._opt.showMessageConfig[e]||"未知异常";this.control.showTipsMessage(t,e)}}showTipsMessageByContent(e){this.control&&e&&this.control.showTipsMessage(e)}hideTipsMessage(){this.control&&this.control.hideTipsMessage()}decoderCheckFirstIFrame(){Po(this._opt.checkFirstIFrame)&&(this.mseDecoder?this.mseDecoder.isDecodeFirstIIframe=!1:this.webcodecsDecoder&&(this.webcodecsDecoder.isDecodeFirstIIframe=!1))}isHlsCanVideoPlay(){return this._canPlayAppleMpegurl&&this.isOldHls()}setPtzPosition(e){this.control&&this.control.updatePtzPosition(e)}setRotate(e){this.updateOption({rotate:e}),this.resize()}setPlayFailedAndPaused(){this.isPlayFailedAndPaused=!0}getMseMineType(){let e={};return this.mseDecoder&&(e=this.mseDecoder.getMimeType()),e}getMaxDelayTs(){return this._opt.videoBuffer+this._opt.videoBufferDelay}isMseVideoStateInited(){return!this.video||this.video.getReadyStateInited()}showPlayBtn(){this.control&&this.control.showPlayBtn()}toggleControlExtendBtn(e,t){this.control&&this.control.toggleExtendBtn(e,t)}getControlExtendBtnActive(e){let t=!1;return this.control&&(t=this.control.getExtendBtnActive(e)),t}useVideoPlayAudio(){return this._opt.hasAudio&&(this._opt.useWCS&&this._opt.wcsDecodeAudio||this._opt.useWasm&&this._opt.wasmPlayAudioUseVideoRender)}isControlBarShow(){const e=this._opt.hasControl,t=this._opt.controlAutoHide;let i=e&&!t;return i&&this.control&&(i=this.control.getBarIsShow()),i}getControlBarShow(){let e=!1;return this.control&&(e=this.control.getBarIsShow()),e}toggleControlBar(e){this.control&&(this.control.toggleBar(e),this.resize())}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s1?t-1:0),s=1;s1&&0===e[e.length-1]&&0===e[e.length-2]}getShowVideoRect(){let e=this.width,t=this.height;const i=this.getControlHeight();return Ca()&&this.fullscreen&&(this._opt.useWebFullScreen||this._opt.androidMobileFullscreenRotate)?e-=i:t-=i,{width:e,height:t}}updateControlSize(e){this.updateOption({controlSize:e}),this.control&&this.control.updateControlSize(),this.resize()}isStreamEnd(){let e=!1;return Io(this._opt.checkStreamEnd)&&(e=this._isStreamEnd),e}getDemuxBufferLength(){let e=0;return this.demux&&(e=this.demux.getBufferListLength()),e}getCanvasVideoBufferLength(){let e=0;return this.video&&(e=this.video.getBufferListLength()),e}updateStreamEndInner(){this._isStreamEnd=!0}checkPlaybackEnd(){return this.isPlayback()&&Io(this._opt.checkStreamEnd),!1}getWebrtcVideo(){let e=null;return this.webrtc&&(e=this.webrtc.$videoElement),e}updateDynamicWatermark(e){this.dynamicWatermark&&this.removeDynamicWatermark(),this.dynamicWatermark=new i_(this,e),this.dynamicWatermark.startAndResize()}updateGhostWatermark(e){this.ghostWatermark&&this.removeGhostWatermark();const t=Object.assign({},e,{isGhost:!0});this.ghostWatermark=new i_(this,t),this.ghostWatermark.startAndResize()}removeDynamicWatermark(){this.dynamicWatermark&&(this.dynamicWatermark.destroy(),this.dynamicWatermark=null)}removeGhostWatermark(){this.ghostWatermark&&(this.ghostWatermark.destroy(),this.ghostWatermark=null)}playVodForward(e){return new Promise(((t,i)=>{e=Sa(Number(e),.1,32),this.decoderWorker&&this.decoderWorker.updateWorkConfig({key:"playVodRate",value:e}),this.playVod.setRate(e),this.video&&this.video.setRate(e),this.audio&&this.audio.setRate(e),this.isUseHls265()||this.demux.initPlaybackCacheLoop(),t()}))}playVodSeek(e){return new Promise(((t,i)=>{this.playVod?(this.playVod.seek({time:e}),t()):i("playVod is null")}))}playVodForwardJumping(e){return new Promise(((t,i)=>{let s=this.getRenderCurrentPts()/1e3;this.isPlayVodUseMSE()&&(s=this.getVideoCurrentTime()),this.playVodSeek(s+e).then((()=>{t()})).catch((e=>{i(e)}))}))}playVodBackwordJumping(e){return new Promise(((t,i)=>{let s=this.getRenderCurrentPts()/1e3;this.isPlayVodUseMSE()&&(s=this.getVideoCurrentTime()),this.playVodSeek(s-e).then((()=>{t()})).catch((e=>{i(e)}))}))}getPlayVodDuration(){return this.playVod.totalDuration}getPlayVodCurrentTime(){return this.playVod.currentTime}}class o_{constructor(e){this.player=e,this.globalSetting=null;const t=Oa();this.defaultSettings={watermark_id:`JbPro_${t}`,watermark_prefix:`JbPro_mask_${t}`,watermark_txt:"JbPro 测试水印",watermark_x:0,watermark_y:0,watermark_rows:0,watermark_cols:0,watermark_x_space:0,watermark_y_space:0,watermark_font:"微软雅黑",watermark_color:"black",watermark_fontsize:"18px",watermark_alpha:.15,watermark_width:150,watermark_height:100,watermark_angle:15,watermark_parent_width:0,watermark_parent_height:0,watermark_parent_node:null},this.load({text:decodeURIComponent("JessibucaPro%20%E4%BD%93%E9%AA%8C"),color:"white"}),this.player.debugLog("Watermark","int")}destroy(){this._removeMark(),this.globalSetting=null,this.defaultSettings=null,this.player.debugLog("Watermark","destroy")}remove(){}load(e){this.globalSetting=e,this._loadMark(e)}resize(){this.player.debugLog("Watermark","resize()"),this.globalSetting&&this._loadMark(this.globalSetting)}_loadMark(){let e=this.defaultSettings;if(1===arguments.length&&"object"==typeof arguments[0]){var t=arguments[0]||{};for(let i in t)t[i]&&e[i]&&t[i]===e[i]||(t[i]||0===t[i])&&(e[i]=t[i])}var i=document.getElementById(e.watermark_id);i&&i.parentNode&&i.parentNode.removeChild(i);var s="string"==typeof e.watermark_parent_node?document.getElementById(e.watermark_parent_node):e.watermark_parent_node,r=s||document.body;const a=r.getBoundingClientRect();var o=Math.max(r.scrollWidth,r.clientWidth,a.width),n=Math.max(r.scrollHeight,r.clientHeight,a.height),l=arguments[0]||{},d=r;(l.watermark_parent_width||l.watermark_parent_height)&&d&&(e.watermark_x=e.watermark_x+0,e.watermark_y=e.watermark_y+0);var h=document.getElementById(e.watermark_id),c=null;if(h)h.shadowRoot&&(c=h.shadowRoot);else{(h=document.createElement("div")).id=e.watermark_id,h.setAttribute("style","pointer-events: none !important; display: block !important"),c="function"==typeof h.attachShadow?h.attachShadow({mode:"open"}):h;var u=r.children,p=Math.floor(Math.random()*(u.length-1))+1;u[p]?r.insertBefore(h,u[p]):r.appendChild(h)}e.watermark_cols=parseInt((o-e.watermark_x)/(e.watermark_width+e.watermark_x_space));var m,g=parseInt((o-e.watermark_x-e.watermark_width*e.watermark_cols)/e.watermark_cols);e.watermark_x_space=g?e.watermark_x_space:g,e.watermark_rows=parseInt((n-e.watermark_y)/(e.watermark_height+e.watermark_y_space));var f,y,A,b=parseInt((n-e.watermark_y-e.watermark_height*e.watermark_rows)/e.watermark_rows);e.watermark_y_space=b?e.watermark_y_space:b,s?(m=e.watermark_x+e.watermark_width*e.watermark_cols+e.watermark_x_space*(e.watermark_cols-1),f=e.watermark_y+e.watermark_height*e.watermark_rows+e.watermark_y_space*(e.watermark_rows-1)):(m=0+e.watermark_x+e.watermark_width*e.watermark_cols+e.watermark_x_space*(e.watermark_cols-1),f=0+e.watermark_y+e.watermark_height*e.watermark_rows+e.watermark_y_space*(e.watermark_rows-1));for(var v=0;v\n \n \n ${g.watermark_txt}\n \n \n ${g.watermark_txt}\n \n \n \n \n `,_=window.btoa(unescape(encodeURIComponent(v)));var S=document.createElement("div");S.style.position="absolute",S.style.left="0px",S.style.top="0px",S.style.overflow="hidden",S.style.zIndex="9999999",S.style.width=o+"px",S.style.height=n+"px",S.style.display="block",S.style["-ms-user-select"]="none",S.style.backgroundImage=`url(data:image/svg+xml;base64,${_})`,c.appendChild(S)}_removeMark(){const e=this.defaultSettings;var t=document.getElementById(e.watermark_id);if(t){var i=t.parentNode;i&&i.removeChild(t)}}_calcTextSize(){const{watermark_txt:e,watermark_font:t,watermark_fontsize:i}=this.globalSetting,s=document.createElement("span");s.innerHTML=e,s.setAttribute("style",`font-family: ${t}; font-size: ${i}px; visibility: hidden; display: inline-block`),document.querySelector("body").appendChild(s);const r={width:s.offsetWidth,height:s.offsetHeight};return s.remove(),r}}const l_="right",d_="left",h_="up",c_="down",u_="leftUp",p_="leftDown",m_="rightUp",g_="rightDown",f_="zoomExpand",y_="zoomNarrow",A_="apertureFar",b_="apertureNear",v_="focusFar",__="focusNear",S_="setPos",w_="calPos",E_="delPos",T_="wiperOpen",k_="wiperClose",L_="cruiseStart",C_={stop:0,fiStop:0,right:1,left:2,up:8,down:4,leftUp:10,leftDown:6,rightUp:9,rightDown:5,zoomExpand:16,zoomNarrow:32,apertureFar:72,apertureNear:68,focusFar:66,focusNear:65,setPos:129,calPos:130,delPos:131,wiperOpen:140,wiperClose:141,setCruise:132,decCruise:133,cruiseStart:136,cruiseStop:0},x_=[25,50,75,100,125,150,175,200,225,250],D_=[1,2,3,4,5,6,7,8,9,16],R_=[16,48,80,112,144,160,176,192,208,224];function P_(e){const{type:t,speed:i=5,index:s=0}=e,r=function(e){return x_[(e=e||5)-1]||x_[4]}(i);let a,o,n,l;if(a=C_[t],!a)return"";switch(t){case h_:case c_:case A_:case b_:n=r;break;case l_:case d_:case v_:case __:o=r;break;case u_:case p_:case m_:case g_:o=r,n=r;break;case f_:case y_:l=function(e){return R_[(e=e||5)-1]||R_[4]}(i);break;case w_:case E_:case S_:n=I_(s);break;case k_:case T_:o=1;break;case L_:o=I_(s)}return function(e,t,i,s){let r=[];r[0]=165,r[1]=15,r[2]=1,r[3]=0,r[4]=0,r[5]=0,r[6]=0,e&&(r[3]=e);t&&(r[4]=t);i&&(r[5]=i);s&&(r[6]=s);return r[7]=(r[0]+r[1]+r[2]+r[3]+r[4]+r[5]+r[6])%256,function(e){let t="";for(let i=0;it)){for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i===t?s[r]=M_(e[r]):"object"==typeof e[r]?s[r]=F_(e[r],t,i+1):s[r]=e[r]);return s}}function U_(){return(new Date).toLocaleString()}class O_{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player=e,this.TAG_NAME="MemoryLogger",this.logMaxSize=(null==t?void 0:t.logMaxSize)||204800,this.logSize=0,this.logTextArray=[],this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.clear(),this.player.debugLog(this.TAG_NAME,"destroy")}clear(){this.logSize=0,this.logTextArray=[]}logCache(){let e="";try{for(var t=arguments.length,i=new Array(t),s=0;sF_(e)));e="[JbPro] "+U_()+JSON.stringify(r)}catch(e){return}if(this.logSize+=e.length,this.logTextArray.push(e),this.logSize>this.logMaxSize){const e=this.logTextArray.shift();this.logSize-=e.length}}getLog(){return this.logTextArray.join("\n")}getLogBlob(){const e=this.getLog();return new Blob([e],{type:"text/plain"})}download(){const e=this.getLog();this.clear();const t=new Blob([e],{type:"text/plain"});pn(t,"JbPro-"+U_()+".log")}}class N_ extends a{constructor(e){super(),this.player=e,this.TAG_NAME="Network",this.online=this.isOnline(),this.prevOnline=this.online,this.interval=null,this._initListener(),this.player.debugLog(this.TAG_NAME,"init")}destroy(){this.off(),this._stopCheck(),window.removeEventListener("online",this._updateOnlineStatus),window.removeEventListener("offline",this._updateOfflineStatus),this.player.debugLog(this.TAG_NAME,"destroy")}_initListener(){window.addEventListener("online",this._updateOnlineStatus.bind(this)),window.addEventListener("offline",this._updateOfflineStatus.bind(this))}_stopCheck(){this.interval&&(clearInterval(this.interval),this.interval=null)}_startCheck(){this.interval=setInterval((()=>{this.isOnline()!==this.prevOnline&&(this.isOnline()?this._updateOnlineStatus():this._updateOfflineStatus())}),1e3)}_updateOnlineStatus(){this.prevOnline=this.online,this.online=!0,this.logStatus(),this.emit("online")}_updateOfflineStatus(){this.prevOnline=this.online,this.online=!1,this.logStatus(),this.emit("offline")}logStatus(){const e=this.prevOnline?"online":"offline",t=this.online?"online":"offline";this.player.debugLog(this.TAG_NAME,`prevOnline: ${this.prevOnline}, online: ${this.online}, status: ${e} -> ${t}`)}isOnline(){return void 0===navigator.onLine||navigator.onLine}isOffline(){return!this.isOnline()}}class j_ extends a{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this._opt={},this.TAG_NAME="JbPro",this.$container=null,Object.keys(e).forEach((t=>{if(void 0===e[t])throw new Error(`JbPro option "${t}" can not be undefined`)})),this.originalOptions=e;const t=xo();let i=Object.assign({},t,e);i.url="",i.isMulti&&(i.debugUuid=Lo()),this.debug=new $r(this);let s=e.container;if("string"==typeof e.container&&(s=document.querySelector(e.container)),!s)throw this.debugError("JbPro","JbPro need container option and now container is",e.container),new Error("JbPro need container option");if(Io(i.isLive)){const e=document.createElement("video");return e.muted=!0,e.setAttribute("controlsList","nodownload"),e.disablePictureInPicture="disablePictureInPicture",e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.height="100%",e.style.width="100%",s.appendChild(e),this.$videoElement=e,this.$container=s,void(this._opt=i)}if(i.decoder&&Io(-1!==i.decoder.indexOf("decoder-pro.js")||-1!==i.decoder.indexOf("decoder-pro-simd.js")))throw this.debugError("JbPro",`JbPro decoder ${i.decoder} must be decoder-pro.js or decoder-pro-simd.js`),new Error(`JbPro decoder ${i.decoder} must be decoder-pro.js or decoder-pro-simd.js`);if("CANVAS"===s.nodeName||"VIDEO"===s.nodeName)throw this.debugError("JbPro",`JbPro container type can not be ${s.nodeName} type`),new Error(`JbPro container type can not be ${s.nodeName} type`);if(i.videoBuffer>=i.heartTimeout)throw this.debugError("JbPro",`JbPro videoBuffer ${i.videoBuffer}s must be less than heartTimeout ${i.heartTimeout}s`),new Error(`JbPro videoBuffer ${i.videoBuffer}s must be less than heartTimeout ${i.heartTimeout}s`);if(!s.classList)throw this.debugError(this.TAG_NAME,"JbPro container is invalid, must be a DOM Element",s),new Error("JbPro container is invalid, must be a DOM Element",s);if(this._checkHasCreated(s))throw this.debugError("JbPro","JbPro container has been created and can not be created again",s),new Error("JbPro container has been created and can not be created again",s);if(s.classList.add("jb-pro-container"),Bo(s,ae,Oa()),delete i.container,Ka(i.videoBuffer)&&(i.videoBuffer=1e3*Number(i.videoBuffer)),Ka(i.videoBufferDelay)&&(i.videoBufferDelay=1e3*Number(i.videoBufferDelay)),Ka(i.networkDelay)&&(i.networkDelay=1e3*Number(i.networkDelay)),Ka(i.aiFaceDetectInterval)&&(i.aiFaceDetectInterval=1e3*Number(i.aiFaceDetectInterval)),Ka(i.aiObjectDetectInterval)&&(i.aiObjectDetectInterval=1e3*Number(i.aiObjectDetectInterval)),Ka(i.timeout)&&(Ja(i.loadingTimeout)&&(i.loadingTimeout=i.timeout),Ja(i.heartTimeout)&&(i.heartTimeout=i.timeout)),Ka(i.autoWasm)&&(Ja(i.decoderErrorAutoWasm)&&(i.decoderErrorAutoWasm=i.autoWasm),Ja(i.hardDecodingNotSupportAutoWasm)&&(i.hardDecodingNotSupportAutoWasm=i.autoWasm),Ja(i.mseWaitVideoCanplayAutoWasm)&&(i.mseWaitVideoCanplayAutoWasm=i.autoWasm)),Ka(i.aiFaceDetectLevel)&&Ja(i.aiFaceDetectWidth)){const e=lr[i.aiFaceDetectLevel];e&&(i.aiFaceDetectWidth=e)}if(Ka(i.aiObjectDetectLevel)&&Ja(i.aiObjectDetectWidth)){const e=dr[i.aiObjectDetectLevel];e&&(i.aiObjectDetectWidth=e)}Po(i.isCrypto)&&(i.isM7sCrypto=!0),this._opt=i,this.debugLog("JbPro","init start"),i.videoBuffer>1e4&&this.debugWarn(this.TAG_NAME,`videoBuffer ${i.videoBuffer/1e3}s is too long, will black screen for ${i.videoBuffer/1e3}s , it is recommended to set it to less than 10s`),this._destroyed=!1,this._destroyLock=!1,this.$container=s,this._tempPlayBgObj={},this._tempVideoLastIframeInfo={},this._tempPlayerIsMute=!0,this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this._streamErrorReplayTimes=0,this._streamEndReplayTimes=0,this._websocket1006ErrorReplayTimes=0,this.events=new Ho(this),this._opt.isUseNewFullscreenWatermark?this.watermark=new n_(this):this.watermark=new o_(this),this.memoryLogger=new O_(this),this.network=new N_(this),this._websocket1006ErrorRetryLog=[],this._mseDecodeErrorRetryLog=[],this._wcsDecodeErrorRetryLog=[],this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this.widthOrHeightChangeReplayDelayTimeout=null,this.streamErrorReplayDelayTimeout=null,this.streamEndReplayDelayTimeout=null,this.playbackPauseTimeout=null,this.playbackResumeTimeout=null,this.initDecoderWorkerTimeout=null,this.$loadingBgImage=null,this.$loadingBg=null,this._initOnLock(),this._initPlayer(s,i),this._initWatermark(),this._initNetwork(),this.debugLog("JbPro",'init success and version is "9-19-2024"'),console.log('JbPro Version is "9-19-2024" and is Trial Version[试用版本]')}destroy(){return new Promise(((e,t)=>{if(this.debugLog("JbPro","destroy()"),this._destroyLock)return t("JbPro is destroying");this._destroyLock=!0,this._destroyed=!0,this.off(),this._removeTimeout(),this._clearInitDecoderWorkerTimeout(),this._initOnLock(),this.$videoElement&&(this.$videoElement.pause(),this.$videoElement.currentTime=0,this.$videoElement.srcObject&&(this.$videoElement.srcObject=null,this.$videoElement.removeAttribute("srcObject")),this.$videoElement.src&&(this.$videoElement.src="",this.$videoElement.removeAttribute("src")),this.$container&&this.$container.removeChild(this.$videoElement),this.$videoElement=null),this._removeLoadingBackgroundForIOS();const i=()=>{this.player.destroy().then((()=>{this.player=null,this._destroy(),this._destroyLock=!1,e()})).catch((e=>{this._destroyLock=!1,t(e)}))};this.player?this._hasLoaded()?(this.debugLog(this.TAG_NAME,"destroy() player has loaded and next destroy"),i()):(this.debugLog(this.TAG_NAME,"destroy() player has not loaded and waiting load"),this.player.on(vt.load,(()=>{this.debugLog(this.TAG_NAME,"destroy() player has not loaded and load success and next destroy"),i()}))):(this._destroy(),this._destroyLock=!1,e())}))}_removeTimeout(){this.widthOrHeightChangeReplayDelayTimeout&&(clearTimeout(this.widthOrHeightChangeReplayDelayTimeout),this.widthOrHeightChangeReplayDelayTimeout=null),this.streamErrorReplayDelayTimeout&&(clearTimeout(this.streamErrorReplayDelayTimeout),this.streamErrorReplayDelayTimeout=null),this.streamEndReplayDelayTimeout&&(clearTimeout(this.streamEndReplayDelayTimeout),this.streamEndReplayDelayTimeout=null),this.playbackPauseTimeout&&(clearTimeout(this.playbackPauseTimeout),this.playbackPauseTimeout=null),this.playbackResumeTimeout&&(clearTimeout(this.playbackResumeTimeout),this.playbackResumeTimeout=null)}_destroy(){this.events&&(this.events.destroy(),this.events=null),this.watermark&&(this.watermark.destroy(),this.watermark=null),this.network&&(this.network.destroy(),this.network=null),this.memoryLogger&&(this.memoryLogger.destroy(),this.memoryLogger=null),this.$container&&(this.$container.classList.remove("jb-pro-container"),this.$container.classList.remove("jb-pro-fullscreen-web"),Fo(this.$container,ae),this.$container=null),this._tempPlayBgObj=null,this._tempVideoLastIframeInfo=null,this._isNetworkOfflinePaused=!1,this._playerOnLock=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this._tempPlayerIsMute=!0,this._resetReplayTimes(),this.debugLog("JbPro","destroy end"),this._opt={},this.debug=null}_resetReplayTimes(){this._loadingTimeoutReplayTimes=0,this._heartTimeoutReplayTimes=0,this._streamErrorReplayTimes=0,this._streamEndReplayTimes=0,this._websocket1006ErrorReplayTimes=0,this._websocket1006ErrorRetryLog=[],this._mseDecodeErrorRetryLog=[],this._wcsDecodeErrorRetryLog=[]}_getOriginalOpt(){const e=xo();return Object.assign({},e,this.originalOptions)}_initPlayer(e,t){this.player=new a_(e,t),this._bindEvents()}_resetPlayer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(((t,i)=>{try{this.debugLog(this.TAG_NAME,"_resetPlayer()",JSON.stringify(e))}catch(t){this.debugLog(this.TAG_NAME,"_resetPlayer()",e)}const s=()=>{this._opt.url="",this._opt.playOptions={},this._opt=Object.assign(this._opt,e),this._initPlayer(this.$container,this._opt)},r=()=>{this.player.destroy().then((()=>{this.player=null,s(),this.debugLog(this.TAG_NAME,"_resetPlayer() end"),t()})).catch((e=>{this.debugError(this.TAG_NAME,"_resetPlayer() error",e),i(e)}))};this.player?this._hasLoaded()?(this.debugLog(this.TAG_NAME,"_resetPlayer() player has loaded"),r()):(this.debugLog(this.TAG_NAME,"_resetPlayer() player has not loaded and waiting load"),this.player.on(vt.load,(()=>{this.debugLog(this.TAG_NAME,"_resetPlayer() player has not loaded and load success,next destroy and init player"),r()}))):(s(),this.debugLog(this.TAG_NAME,"_resetPlayer() end"),t())}))}_bindEvents(){var e=this;Object.keys(_t).forEach((t=>{this.player.on(_t[t],(function(){for(var i=arguments.length,s=new Array(i),r=0;r{this.player&&this.player.showTipsMessageByCode(e)})),this.player.once(vt.beforeDestroy,(()=>{this.emit(vt.close),this.destroy().then((()=>{})).catch((e=>{}))})),this.player.on(vt.resize,(()=>{this.watermark&&this.watermark.resize()})),this.player.on(vt.fullscreen,(()=>{this.watermark&&this.watermark.resize()})),this.player.on(vt.videoInfo,(()=>{this.player&&(this.player.singleWatermark&&this.player.singleWatermark.resize(),this.player.ghostWatermark&&this.player.ghostWatermark.resize(),this.player.dynamicWatermark&&this.player.dynamicWatermark.resize())})),this.player.on(vt.memoryLog,(function(){e.memoryLogger.logCache(...arguments)})),this.player.on(vt.downloadMemoryLog,(()=>{this.downloadMemoryLog()}))}_initWatermark(){if(this._opt.fullscreenWatermarkConfig.text=decodeURIComponent("JessibucaPro%20%E4%BD%93%E9%AA%8C"),this._opt.fullscreenWatermarkConfig.color="white",lo(this._opt.fullscreenWatermarkConfig)){const e=Qa(this.$container,this._opt.fullscreenWatermarkConfig);if(!e.watermark_txt)return void this.debugWarn("JbPro","fullscreenWatermarkConfig text is empty");this.watermark.load(e)}}_initNetwork(){this.network.on(vt.online,(()=>{if(this.emit(vt.networkState,vt.online),this.isDestroyed())this.debugLog(this.TAG_NAME,"network online and JbPro is destroyed");else if(this.debugLog(this.TAG_NAME,"network online"),this._isNetworkOfflinePaused&&this._isNetworkOfflinePausedAndNextPlayConfig&&this._isNetworkOfflinePausedAndNextPlayConfig.url){const e=this._isNetworkOfflinePausedAndNextPlayConfig.url,t=this._isNetworkOfflinePausedAndNextPlayConfig.playOptions;this._streamErrorReplayTimes++;const i=this._isNetworkOfflinePausedAndNextPlayConfig.type||"unknown";this._isNetworkOfflinePaused=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this.debugLog(this.TAG_NAME,`${i} and network online and _streamErrorReplayTimes is ${this._streamErrorReplayTimes} and reset player and play`),this.play(e,t).then((()=>{this.debugLog(this.TAG_NAME,`${i} and network online and play success`)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.fetchError,{},e),this.debugError(this.TAG_NAME,`${i} and network online and play error`,e.toString(),e)}))}})),this.network.on(vt.offline,(()=>{this.emit(vt.networkState,vt.offline),this.debugLog(this.TAG_NAME,"network offline")}))}_checkHasCreated(e){if(!e)return!1;return!!Mo(e,ae)}_initOnLock(){this.webglAlignmentErrorOnLock=!1,this.webglContextLostErrorOnLock=!1,this.mediaSourceH265NotSupportOnLock=!1,this.mediaSourceFullOnLock=!1,this.mediaSourceAppendBufferErrorOnLock=!1,this.mseSourceBufferErrorOnLock=!1,this.mediaSourceBufferedIsZeroErrorOnLock=!1,this.mseAddSourceBufferErrorOnLock=!1,this.mediaSourceDecoderConfigurationErrorOnLock=!1,this.mediaSourceTsIsMaxDiffOnLock=!1,this.mseWidthOrHeightChangeOnLock=!1,this.mediaSourceAudioG711NotSupportOnLock=!1,this.mediaSourceAudioInitTimeoutOnLock=!1,this.mediaSourceAudioNoDataTimeoutOnLock=!1,this.mseWorkerAddSourceBufferErrorOnLock=!1,this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1,this.webcodecsH265NotSupportOnLock=!1,this.webcodecsUnsupportedConfigurationErrorOnLock=!1,this.webcodecsDecodeConfigureErrorOnLock=!1,this.webcodecsDecodeErrorOnLock=!1,this.wcsWidthOrHeightChangeOnLock=!1,this.webcodecsAudioNoDataTimeoutOnLock=!1,this.webcodecsAudioInitTimeoutOnLock=!1,this.simdDecodeErrorOnLock=!1,this.wasmWidthOrHeightChangeOnLock=!1,this.wasmUseVideoRenderErrorOnLock=!1,this.notSupportNewWasmOnLock=!1,this.videoElementPlayingFailedOnLock=!1,this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1,this.networkDelayTimeoutOnLock=!1,this.flvDemuxBufferSizeTooLargeOnLock=!1,this.fetchErrorOnLock=!1,this.streamEndOnLock=!1,this.websocketErrorOnLock=!1,this.webrtcErrorOnLock=!1,this.hlsErrorOnLock=!1,this.aliyunRtcErrorOnLock=!1,this.decoderWorkerInitErrorOnLock=!1,this.decoderWorkerWasmErrorOnLock=!1,this.videoElementPlayingFailedForWebrtcOnLock=!1,this.videoInfoErrorOnLock=!1,this.playbackEndOnLock=!1,this.webrtcStreamH265OnLock=!1,this.mseWaitVideoCanplayTimeoutOnLock=!1}isDestroyed(){return this._destroyed}getOption(){return this.player?this.player.getOption():{}}setDebug(e){this.debugLog("JbPro",`setDebug() ${e}`),this._opt.debug=!!e,this.player?this.player.updateOption({debug:!!e},!0):this.debugWarn("JbPro","player is not init")}getIsDebug(){let e=!1;return this.player&&(e=this.player._opt.debug),e}mute(){this.debugLog("JbPro","mute()"),this.player&&this.player.mute(!0)}cancelMute(){this.debugLog("JbPro","cancelMute() and is mute is ",this.isMute()),this.player&&this.player.isAudioMute()&&this.player.mute(!1)}setVolume(e){this.debugLog("JbPro",`setVolume() ${e}`),this.player&&(this.player.volume=e)}getVolume(){let e=null;return this.player&&(e=this.player.volume,e=parseFloat(e).toFixed(2)),e}audioResume(){this.debugLog("JbPro","audioResume() and call cancelMute()"),this.cancelMute()}setTimeout(e){this.debugLog("JbPro",`setTimeout() ${e}`),e=Number(e),isNaN(e)?this.debugWarn("JbPro",`setTimeout error: ${e} is not a number`):(this._opt.timeout=e,this._opt.loadingTimeout=e,this._opt.heartTimeout=e,this.player&&this.player.updateOption({timeout:e,loadingTimeout:e,heartTimeout:e}))}setScaleMode(e){this.debugLog("JbPro",`setScaleMode() ${e}`),this.player?this.player.setScaleMode(e):this.debugWarn("JbPro","setScaleMode() player is null")}pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((t,i)=>{this.debugLog("JbPro",`pause() ${e}`),this.isDestroyed()&&i("JbPro is destroyed"),(this._opt.pauseAndNextPlayUseLastFrameShow||this._opt.replayUseLastFrameShow)&&(this._tempPlayBgObj=this._getVideoLastIframeInfo()),this._tempPlayerIsMute=this.isMute(),this._pause(e).then((e=>{t(e)})).catch((e=>{i(e)}))}))}_pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((t,i)=>{if(this.debugLog("JbPro",`_pause() ${e}`),this.isDestroyed())return i("JbPro is destroyed");this._resetReplayTimes(),this.player?this.player.pause(e).then((e=>{t(e)})).catch((e=>{i(e)})):i("player is null")}))}close(){return new Promise(((e,t)=>{if(this.isDestroyed())return t("JbPro is destroyed");this.debugLog("JbPro","close() and inner destroy()"),this.destroy().then((()=>{e()})).catch((e=>{t(e)}))}))}clearView(){this.debugLog("JbPro","clearView()"),this.player&&this.player.video?this.getRenderType()===q?this.player.video.clearView():this.debugWarn("JbPro","clearView","render type is video, not support clearView, please use canvas render type"):this.debugWarn("JbPro","clearView","player is null")}play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(this.isDestroyed())return s("JbPro is destroyed");try{this.debugLog("JbPro",`play() ${e}`,JSON.stringify(t))}catch(i){this.debugLog("JbPro",`play() ${e}`,t)}if(!e&&!this._opt.url)return this.emit(vt.error,wt.playError),void s("url is null and this._opt.url is null");if(e&&(e=(""+e).trim(),-1===e.indexOf("http:")&&-1===e.indexOf("https:")&&-1===e.indexOf("webrtc:")&&-1===e.indexOf("ws:")&&-1===e.indexOf("wss:")&&-1===e.indexOf("wt:")&&-1===e.indexOf("artc:")))return s(`url ${e} must be "http:" or "https:" or "webrtc:" or "ws:" or "wss:" or "wt:" or "artc:" protocol`);if(Io(this._opt.isLive))return this.$videoElement.controls="controls",this.$videoElement.muted=!1,this.$videoElement.src=e,this.$videoElement.play(),void i(this.$videoElement);if(this._opt.isM7sCrypto){let r=t.cryptoKey||this._opt.playOptions.cryptoKey,a=t.cryptoIV||this._opt.playOptions.cryptoIV;if(this._opt.m7sCryptoKey&&(!r||!a)){const e=this._opt.m7sCryptoKey.split(".");r=To(e[0]),a=To(e[1])}if(!r||!a){const r=e||this._opt.url;return void this._cryptoPlay(r).then((r=>{let{cryptoIV:a,cryptoKey:o}=r;this._opt.playOptions.cryptoKey=o,this._opt.playOptions.cryptoIV=a,t.cryptoIV=a,t.cryptoKey=o,this._playBefore(e,t).then((()=>{i()})).catch((e=>{s(e)}))})).catch((e=>{s(e)}))}this._opt.playOptions.cryptoKey=r,this._opt.playOptions.cryptoIV=a,t.cryptoIV=a,t.cryptoKey=r}else if(this._opt.isXorCrypto){let e=t.cryptoKey||this._opt.playOptions.cryptoKey,i=t.cryptoIV||this._opt.playOptions.cryptoIV;if(this._opt.xorCryptoKey&&(!e||!i)){const t=this._opt.xorCryptoKey.split(".");e=To(t[0]),i=To(t[1])}e&&i&&(this._opt.playOptions.cryptoKey=e,this._opt.playOptions.cryptoIV=i,t.cryptoIV=i,t.cryptoKey=e)}else if(this._opt.isSm4Crypto){let e=t.cryptoKey||this._opt.playOptions.cryptoKey,i=t.cryptoIV||this._opt.playOptions.cryptoIV;if(this._opt.sm4CryptoKey&&(!e||!i)){const t=this._opt.sm4CryptoKey.split(".");2===t.length&&(e=Cl(t[0]),i=Cl(t[1]))}e&&i&&(this._opt.playOptions.cryptoKey=e,this._opt.playOptions.cryptoIV=i,t.cryptoIV=i,t.cryptoKey=e)}this._playBefore(e,t).then((()=>{i()})).catch((e=>{s(e)}))}))}_playBefore(e,t){return new Promise(((i,s)=>{if(this.player)if(e)if(this._opt.url)if(e===this._opt.url)if(this.player.playing)this.debugLog("JbPro","_playBefore","playing and resolve()"),i();else{this.debugLog("JbPro","_playBefore","this._opt.url === url and pause -> play and destroy play");let e=this._getOriginalOpt();(this._opt.pauseAndNextPlayUseLastFrameShow||this._opt.replayUseLastFrameShow)&&this._tempPlayBgObj&&this._tempPlayBgObj.loadingBackground&&(e=Object.assign(e,this._tempPlayBgObj)),Io(this._tempPlayerIsMute)&&(e.isNotMute=!0,this._tempPlayerIsMute=!0);const t=this._opt.url,r=this._opt.playOptions;this._resetPlayer(e).then((()=>{this._play(t,r).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore this.player.play error",e),this.emit(vt.crashLog,this.getCrashLog("this.player.play 1",e)),s(e)}))})).catch((e=>{this.debugError("JbPro","_resetPlayer error",e),s(e)}))}else{this.debugLog("JbPro","_playBefore",`\n this._url.url is ${this._opt.url}\n and new url is ${e}\n and destroy and play new url`);const r=this._getOriginalOpt();this._resetPlayer(r).then((()=>{this._play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(vt.crashLog,this.getCrashLog("this.player.play 2",e)),s(e)}))})).catch((e=>{this.debugError("JbPro","_resetPlayer error",e)}))}else this._play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(vt.crashLog,this.getCrashLog("this.player.play 3",e)),s(e)}));else{let e=this._getOriginalOpt();(this._opt.pauseAndNextPlayUseLastFrameShow||this._opt.replayUseLastFrameShow)&&this._tempPlayBgObj&&this._tempPlayBgObj.loadingBackground&&(e=Object.assign(e,this._tempPlayBgObj)),Io(this._tempPlayerIsMute)&&(e.isNotMute=!0,this._tempPlayerIsMute=!0);const t=this._opt.url,r=this._opt.playOptions;this._resetPlayer(e).then((()=>{this._play(t,r).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(vt.crashLog,this.getCrashLog("this.player.play 4",e)),s(e)}))})).catch((e=>{this.debugError("JbPro","_resetPlayer error",e)}))}else e?this._play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(vt.crashLog,this.getCrashLog("this.player.play 5",e)),s(e)})):this._play(this._opt.url,this._opt.playOptions).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_playBefore _play error",e),this.emit(vt.crashLog,this.getCrashLog("this.player.play 6",e)),s(e)}))}))}_cryptoPlay(e){return new Promise(((t,i)=>{const s=function(e){const t=(e||document.location.toString()).split("//"),i=t[1].indexOf("/");let s=t[1].substring(i);return-1!=s.indexOf("?")&&(s=s.split("?")[0]),s}(e);let r=this._opt.cryptoKeyUrl,a="";const o=ko(e);if(r){if(a=r,this._opt.isM7sCrypto&&-1===a.indexOf("/crypto/?stream=")){const e=ko(r);a=e.origin+re+`?stream=${s}`}}else r=o.origin+re,a=r+`?stream=${s}`;var n;this.player.debugLog("JbPro",`_cryptoPlay() cryptoKeyUrl: ${a} and opt.cryptoKeyUrl: ${this._opt.cryptoKeyUrl}`),(n=a,new Promise(((e,t)=>{Xl.get(n).then((t=>{e(t)})).catch((e=>{t(e)}))}))).then((e=>{if(e){const s=e.split("."),r=To(s[0]),a=To(s[1]);a&&r?t({cryptoIV:a,cryptoKey:r}):i("get cryptoIV or cryptoKey error")}else i(`cryptoKeyUrl: getM7SCryptoStreamKey ${a} res is null`)})).catch((e=>{i(e)}))}))}playback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(this.isDestroyed())return s("JbPro is destroyed");try{this.debugLog("JbPro",`playback() ${e}, options: `,JSON.stringify(t))}catch(i){this.debugLog("JbPro",`playback() ${e}, options: `,t)}if(Io(this._opt.isLive))return s("this._opt.isLive is false, can not playback");const r=Do(),a=Object.assign({},r.playbackConfig,this._opt.playbackConfig,t);Io(a.isUseFpsRender)&&a.isCacheBeforeDecodeForFpsRender&&(a.isCacheBeforeDecodeForFpsRender=!1,this.debugWarn("JbPro","playbackConfig.isUseFpsRender is false, isCacheBeforeDecodeForFpsRender can not be ture, isCacheBeforeDecodeForFpsRender is set to false")),0===a.rateConfig.length&&a.showRateBtn&&(a.showRateBtn=!1,this.debugWarn("JbPro","playbackConfig.rateConfig.length is 0, showRateBtn can not be ture, showRateBtn is set to false")),a.controlType,ee.simple,this._resetPlayer({videoBuffer:0,playbackConfig:a,playType:w,openWebglAlignment:!0,useMSE:a.useMSE,useWCS:a.useWCS,useSIMD:a.useSIMD}).then((()=>{this.play(e,t).then((()=>{i()})).catch((e=>{s(e)}))})).catch((e=>{s(e)}))}))}playbackPause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this.debugLog("JbPro",`playbackPause() ${e}`),this._opt.playType===_?Promise.reject("playType is player, can not call playbackPause method"):new Promise(((t,i)=>{if(!this.player)return i("player is null");Po(e)?this._pause().then((()=>{t()})).catch((e=>{i(e)})):(this.player.playbackPause=!0,this.player.recording=!1,this.player.zooming=!1,this.playbackPauseTimeout=setTimeout((()=>{this.playbackPauseTimeout=null,t()}),100))})))}playbackResume(){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this.debugLog("JbPro","playbackResume()"),this._opt.playType===_?Promise.reject("playType is player, can not call playbackResume method"):new Promise(((e,t)=>{if(!this.player)return t("player is null");this.player.playbackPause=!1,this.playbackResumeTimeout=setTimeout((()=>{this.playbackResumeTimeout=null,e()}),100)})))}forward(e){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this.debugLog("JbPro",`forward() ${e}`),Io(this._opt.isLive)||this._opt.playType===_?(this.debugLog("JbPro",`forward() and this._opt.isLive is ${this._opt.isLive} and this._opt.playType is ${this._opt.playType}`),Promise.reject("forward() method only just for playback type")):Ga(Number(e))?new Promise(((t,i)=>{this.player?(e=Sa(Number(e),.1,32),this.player.decoderWorker&&this.player.decoderWorker.updateWorkConfig({key:"playbackRate",value:e}),this.player.playback.setRate(e),this.player.video&&this.player.video.setRate(e),this.player.audio&&this.player.audio.setRate(e),(this.player.isPlaybackUseWCS()||this.player.isPlaybackUseMSE())&&(this.player.demux&&Io(this.player.isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender())&&this.player.demux.dropBuffer$2(),this.player.isPlaybackCacheBeforeDecodeForFpsRender()&&this.player.demux.initPlaybackCacheLoop()),t()):i("player is not playing")})):Promise.reject(`forward() params "rate": ${e} must be number type`))}playbackForward(e){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):new Promise(((t,i)=>{this.forward(e).then((()=>{t()})).catch((e=>{i(e)}))}))}normal(){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):new Promise(((e,t)=>{this.forward(1).then((()=>{e()})).catch((e=>{t(e)}))}))}playbackNormal(){return this.isDestroyed()?Promise.reject("JbPro is destroyed"):new Promise(((e,t)=>{this.normal().then((()=>{e()})).catch((e=>{t(e)}))}))}updatePlaybackForwardMaxRateDecodeIFrame(e){this.isDestroyed()||(this.debugLog("JbPro",`updatePlaybackForwardMaxRateDecodeIFrame() ${e}`),e=Number(e),e=Sa(e=parseInt(e,10),1,8),this._opt.playbackForwardMaxRateDecodeIFrame=e,this.player?this.player.updateOption({playbackForwardMaxRateDecodeIFrame:e},!0):this.debugWarn("JbPro","updatePlaybackForwardMaxRateDecodeIFrame() player is null"))}setPlaybackStartTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setPlaybackStartTime() ${e}`);const t=oo(e);this.player?this.player.isPlayback()?t<10&&0!==e&&this.player.playback.isControlTypeNormal()?this.debugWarn("JbPro",`setPlaybackStartTime() control type is normal and timestamp: ${e} is not valid`):this.player.playback.isControlTypeSimple()&&e>this.player.playback.totalDuration?this.debugWarn("JbPro",`setPlaybackStartTime() control type is simple and timestamp: ${e} is more than ${this.player.playback.totalDuration}`):this.player.playing&&(this.player.playback.isControlTypeNormal()&&10===t&&(e*=1e3),this.player.playback.setStartTime(e),this.playbackClearCacheBuffer()):this.debugWarn("JbPro","setPlaybackStartTime() playType is not playback"):this.debugWarn("JbPro","setPlaybackStartTime() player is null")}setPlaybackShowPrecision(e){this.isDestroyed()||(this.debugLog("JbPro",`setPlaybackShowPrecision() ${e}`),this.player?this.player.isPlayback()?this.player.playback.isControlTypeNormal()?this.player.playback.setShowPrecision(e):this.debugWarn("JbPro","control type is not normal , not support!"):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}playbackCurrentTimeScroll(){this.isDestroyed()||(this.debugLog("JbPro","playbackCurrentTimeScroll()"),this.player?this.player.isPlayback()?this.player.playback.isControlTypeNormal()?this.player.playback.currentTimeScroll():this.debugWarn("JbPro","control type is not normal , not support!"):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}playbackClearCacheBuffer(){this.isDestroyed()||(this.debugLog("JbPro","playbackClearCacheBuffer()"),this.player?this.player.isPlayback()?(this.player.video&&this.player.video.clear(),this.player.audio&&this.player.audio.clear(),this.clearBufferDelay()):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}getPlaybackCurrentRate(){return this.player?this.player.isPlayback()?this.player.getPlaybackRate():(this.debugWarn("JbPro","playType is not playback"),1):(this.debugWarn("JbPro","player is null"),1)}updatePlaybackLocalOneFrameTimestamp(e){this.isDestroyed()||(this.debugLog("JbPro",`updatePlaybackLocalOneFrameTimestamp() ${e}`),this.player?this.player.isPlayback()?this.player.playback.updateLocalOneFrameTimestamp(e):this.debugWarn("JbPro","playType is not playback"):this.debugWarn("JbPro","player is null"))}setStreamQuality(e){if(this.isDestroyed())return;if(this.debugLog("JbPro",`setStreamQuality() ${e}`),!this.player)return void this.debugWarn("JbPro","player is null");if(!this.player._opt.operateBtns.quality)return void this.debugWarn("JbPro","player._opt.operateBtns.quality is false");(this.player._opt.qualityConfig||[]).includes(e)?this.player.streamQuality=e:this.debugWarn("JbPro",`quality: ${e} is not in qualityList`)}_play(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(!this.player)return s("player is null");let r=!1;this._opt.url&&this._opt.url!==e&&(r=!0),this._opt.url=e,this._opt.playOptions=t;const a=e.split("?")[0],p=a.startsWith("http://")||a.startsWith("https://"),m=a.startsWith("webrtc://"),g=a.startsWith("artc://"),f=a.startsWith("wt://"),y=a.startsWith("ws://")||a.startsWith("wss://"),A=p||y,b=p&&a.endsWith(".m3u8"),v=A&&a.endsWith(".flv"),_=A&&(a.endsWith(".fmp4")||a.endsWith(".mp4")),S=A&&a.endsWith(".mpeg4"),w=A&&(a.endsWith(".h264")||a.endsWith(".h265")),E=A&&a.endsWith(".ts");let T=this._opt.isWebrtcForZLM||!1,k=this._opt.isWebrtcForSRS||!1,L=this._opt.isWebrtcForOthers||!1;m&&(-1!==e.indexOf("/index/api/webrtc")?(T=!0,k=!1,L=!1):-1!==e.indexOf("/rtc/v1/play/")&&(k=!0,T=!1,L=!1));let O=null,N=null;if(v&&Io(this._opt.isFlv)&&this._resetDemuxType("isFlv"),_&&Io(this._opt.isFmp4)&&this._resetDemuxType("isFmp4"),S&&Io(this._opt.isMpeg4)&&this._resetDemuxType("isMpeg4"),w&&Io(this._opt.isNakedFlow)&&this._resetDemuxType("isNakedFlow"),E&&Io(this._opt.isTs)&&this._resetDemuxType("isTs"),b&&Io(this._opt.isHls)&&this._resetDemuxType("isHls"),p?O=this._opt.isHls?l:n:f?O=h:m?O=d:g?O=c:y&&(O=o),this._opt.isNakedFlow?N=I:this._opt.isFmp4?N=B:this._opt.isMpeg4?N=M:this._opt.isFlv?N=C:this._opt.isTs?N=U:this._opt.isHls?N=D:m?N=R:g?N=F:f?N=P:y&&(N=x),!O||!N)return this._opt.playFailedAndPausedShowMessage&&this.showErrorMessageTips("url is not support"),s(`play url ${e} is invalid, protocol is ${u[O]}, demuxType is ${N}`);this.debugLog("JbPro",`play url ${e} protocol is ${u[O]}, demuxType is ${N}`);const j=()=>{this.player.on(wt.webglAlignmentError,this._handleWebglAlignmentError.bind(this)),this.player.on(wt.webglContextLostError,this._handleWebglContextLostError.bind(this)),this.player.on(wt.mediaSourceH265NotSupport,this._handleMediaSourceH265NotSupport.bind(this)),this.player.on(wt.mseWaitVideoCanplayTimeout,this._handleMseWaitVideoCanplayTimeout.bind(this)),this.player.on(wt.mediaSourceFull,this._handleMediaSourceFull.bind(this)),this.player.on(wt.mediaSourceAppendBufferError,this._handleMediaSourceAppendBufferError.bind(this)),this.player.on(wt.mseSourceBufferError,this._handleMseSourceBufferError.bind(this)),this.player.on(wt.mediaSourceBufferedIsZeroError,this._handleMediaSourceBufferedIsZeroError.bind(this)),this.player.on(wt.mseAddSourceBufferError,this._handleMseAddSourceBufferError.bind(this)),this.player.on(wt.mediaSourceDecoderConfigurationError,this._handleMediaSourceDecoderConfigurationError.bind(this)),this.player.on(wt.mediaSourceTsIsMaxDiff,this._handleMediaSourceTsIsMaxDiff.bind(this)),this.player.on(wt.mseWidthOrHeightChange,this._handleMseWidthOrHeightChange.bind(this)),this.player.on(wt.mediaSourceAudioG711NotSupport,this._handleMediaSourceAudioG711NotSupport.bind(this)),this.player.on(wt.mediaSourceAudioInitTimeout,this._handleMediaSourceAudioInitTimeout.bind(this)),this.player.once(wt.mediaSourceAudioNoDataTimeout,this._handleMediaSourceAudioNoDataTimeout.bind(this)),this.player.on(wt.mseWorkerAddSourceBufferError,this._handleMseWorkerAddSourceBufferError.bind(this)),this.player.on(wt.mediaSourceUseCanvasRenderPlayFailed,this._handleMediaSourceUseCanvasRenderPlayFailed.bind(this)),this.player.on(wt.webcodecsH265NotSupport,this._handleWebcodecsH265NotSupport.bind(this)),this.player.on(wt.webcodecsUnsupportedConfigurationError,this._handleWebcodecsUnsupportedConfigurationError.bind(this)),this.player.on(wt.webcodecsDecodeConfigureError,this._handleWebcodecsDecodeConfigureError.bind(this)),this.player.on(wt.webcodecsDecodeError,this._handleWebcodecsDecodeError.bind(this)),this.player.on(wt.wcsWidthOrHeightChange,this._handleWcsWidthOrHeightChange.bind(this)),this.player.on(wt.webcodecsAudioNoDataTimeout,this._handleWebcodecsAudioNoDataTimeout.bind(this)),this.player.on(wt.webcodecsAudioInitTimeout,this._handleWebcodecsAudioInitTimeout.bind(this)),this.player.on(wt.simdDecodeError,this._handleSimdDecodeError.bind(this)),this.player.on(wt.wasmWidthOrHeightChange,this._handleWasmWidthOrHeightChange.bind(this)),this.player.on(wt.wasmUseVideoRenderError,this._handleWasmUseVideoRenderError.bind(this)),this.player.on(wt.notSupportNewWasm,this._handleNotSupportNewWasm.bind(this)),this.player.on(wt.videoElementPlayingFailed,this._handleVideoElementPlayingFailed.bind(this)),this.player.on(wt.simdH264DecodeVideoWidthIsTooLarge,this._handleSimdH264DecodeVideoWidthIsTooLarge.bind(this)),this.player.on(vt.networkDelayTimeout,this._handleNetworkDelayTimeout.bind(this)),this.player.on(vt.flvDemuxBufferSizeTooLarge,this._handleFlvDemuxBufferSizeTooLarge.bind(this)),this.player.on(wt.fetchError,this._handleFetchError.bind(this)),this.player.on(vt.streamEnd,this._handleStreamEnd.bind(this)),this.player.on(wt.websocketError,this._handleWebsocketError.bind(this)),this.player.on(wt.webrtcError,this._handleWebrtcError.bind(this)),this.player.on(wt.hlsError,this._handleHlsError.bind(this)),this.player.on(wt.aliyunRtcError,this._handleAliyunRtcError.bind(this)),this.player.on(wt.decoderWorkerInitError,this._handleDecoderWorkerInitError.bind(this)),this.player.on(wt.decoderWorkerWasmError,this._handleDecoderWorkerWasmError.bind(this)),this.player.on(wt.videoElementPlayingFailedForWebrtc,this._handleVideoElementPlayingFailedForWebrtc.bind(this)),this.player.on(wt.videoInfoError,this._handleVideoInfoError.bind(this)),this.player.on(vt.webrtcStreamH265,this._handleWebrtcStreamH265.bind(this)),this.player.on(vt.playbackEnd,this._handlePlaybackEnd.bind(this)),this.player.on(vt.delayTimeout,this._handleDelayTimeout.bind(this)),this.player.on(vt.loadingTimeout,this._handleLoadingTimeout.bind(this)),this.player.isPlayVod()&&(this.player.on(vt.playVodEnded,this._handlePlayVodEnded.bind(this)),this.player.on(vt.playVodEndedAndReplay,this._handlePlayVodEndedAndReplay.bind(this))),this._hasLoaded()?(this.debugLog(this.TAG_NAME,"_playNext and _hasLoaded() is true"),this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","_hasLoaded() and play error",e),this.emit(vt.crashLog,this.getCrashLog("_hasLoaded() and play error",e)),this.player&&this.player.pause().then((()=>{s(e)})).catch((e=>{s(e),this.debugError("JbPro","_hasLoaded() and play error and next pause error",e)}))}))):(this.debugLog(this.TAG_NAME,"_playNext and waiting decoderWorkerInit callback"),this._checkInitDecoderWorkerTimeout(),this.player.once(vt.decoderWorkerInit,(()=>{this._clearInitDecoderWorkerTimeout(),this.isDestroyed()?this.debugLog("JbPro","decoderWorkerInit but player is destroyed"):(this.debugLog(this.TAG_NAME,"_playNext and decoderWorkerInit callback and next play"),this.player.play(e,t).then((()=>{i()})).catch((e=>{this.debugError("JbPro","decoderWorkerInit and play error",e),this.emit(vt.crashLog,this.getCrashLog("decoderWorkerInit and play error",e)),this.player&&this.player.pause().then((()=>{s(e)})).catch((e=>{s(e),this.debugError("JbPro","decoderWorkerInit and play error and next pause error",e)}))})))})))},G=this.player.getOption(),W=this._opt.isHls&&Io(this._opt.supportHls265),V=m&&Io(this._opt.isWebrtcH265),z=this._opt.isHls&&!!yo(),$=this._opt.isHls&&G.demuxUseWorker;if(W||V||g||r||S||z||$)this.debugLog("JbPro",`need reset player and\n isOldHls is ${W} and isOldWebrtc is ${V} and\n isAliyunRtc is ${g} and\n needResetPlayer(url change) is ${r} and\n isMpeg4 is ${S} and\n isHlsCanVideoPlay is ${z} and\n isHlsButDemuxUseWorker is ${$}`),this._resetPlayer({protocol:O,demuxType:N,isHls:this._opt.isHls,isFmp4:this._opt.isFmp4,isWebrtc:m,isWebrtcForZLM:T,isWebrtcForSRS:k,isWebrtcForOthers:L,isAliyunRtc:g,cryptoKey:t.cryptoKey||"",cryptoIV:t.cryptoIV||"",url:e,playOptions:t}).then((()=>{j()})).catch((e=>{s("reset player error")}));else{const e={protocol:O,demuxType:N,isHls:this._opt.isHls,isWebrtc:m,isAliyunRtc:g,isFlv:this._opt.isFlv,isFmp4:this._opt.isFmp4,isMpeg4:this._opt.isMpeg4,isNakedFlow:this._opt.isNakedFlow,isTs:this._opt.isTs,cryptoKey:t.cryptoKey||"",cryptoIV:t.cryptoIV||""};this._opt.isNakedFlow&&(e.mseDecodeAudio=!1,e.wcsDecodeAudio=!1),this.player.updateOption(e),j()}}))}_resetDemuxType(e){this._opt.isFlv=!1,this._opt.isFmp4=!1,this._opt.isMpeg4=!1,this._opt.isNakedFlow=!1,this._opt.isHls=!1,this._opt.isWebrtc=!1,this._opt.isWebrtcForZLM=!1,this._opt.isWebrtcForSRS=!1,this._opt.isWebrtcForOthers=!1,this._opt.isAliyunRtc=!1,this._opt.isTs=!1,e&&(this._opt[e]=!0)}resize(){this.isDestroyed()||(this.debugLog("JbPro","resize()"),this.player&&this.player.resize())}setBufferTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setBufferTime() ${e}`),(e=Number(e))>10&&this.debugWarn("JbPro",`setBufferTime() buffer time is ${e} second, is too large, video will show blank screen until cache ${e} second buffer data`);const t=1e3*e;this._opt.videoBuffer=t,this.player?this.player.updateOption({videoBuffer:t},!0):this.debugWarn("JbPro","setBufferTime() player is null")}setBufferDelayTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setBufferDelayTime() ${e}`),(e=Number(e))<.2&&this.debugWarn("JbPro",`setBufferDelayTime() buffer time delay is ${e} second, is too small`);const t=1e3*(e=Sa(e,.2,100));this._opt.videoBufferDelay=t,this.player?this.player.updateOption({videoBufferDelay:t},!0):this.debugWarn("JbPro","setBufferDelayTime() player is null")}setRotate(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setRotate() ${e}`),e=parseInt(e,10);this._opt.rotate!==e&&-1!==[0,90,180,270].indexOf(e)?(this._opt.rotate=e,this.player?this.player.setRotate(e):this.debugWarn("JbPro","setRotate() player is null")):this.debugWarn("JbPro",`setRotate() rotate is ${e} and this._opt.rotate is ${this._opt.rotate}`)}setMirrorRotate(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setMirrorRotate() ${e}`);e||(e="none"),this._opt.mirrorRotate!==e&&-1!==["none","level","vertical"].indexOf(e)?(this._opt.mirrorRotate=e,this.player?(this.player.updateOption({mirrorRotate:e}),this.resize()):this.debugWarn("JbPro","setMirrorRotate() player is null")):this.debugWarn("JbPro",`setMirrorRotate() mirrorRotate is ${e} and this._opt.mirrorRotate is ${this._opt.mirrorRotate}`)}setAspectRatio(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setAspectRatio() ${e}`);e||(e="default"),this._opt.aspectRatio!==e&&-1!==["default","4:3","16:9"].indexOf(e)?(this._opt.aspectRatio=e,this.player?(this.player.updateOption({aspectRatio:e}),this.resize()):this.debugWarn("JbPro","setAspectRatio() player is null")):this.debugWarn("JbPro",`setAspectRatio() aspectRatio is ${e} and this._opt.aspectRatio is ${this._opt.mirrorRotate}`)}hasLoaded(){return!0}_hasLoaded(){return this.player&&this.player.loaded||!1}setKeepScreenOn(){this.isDestroyed()||(this.debugLog("JbPro","setKeepScreenOn()"),this._opt.keepScreenOn=!0,this.player?this.player.updateOption({keepScreenOn:!0}):this.debugWarn("JbPro","setKeepScreenOn() player is not ready"))}setFullscreen(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setFullscreen() ${e}`);const t=!!e;this.player?this.player.fullscreen!==t?this.player.fullscreen=t:this.debugWarn("JbPro",`setFullscreen() fullscreen is ${t} and this.player.fullscreen is ${this.player.fullscreen}`):this.debugWarn("JbPro","setFullscreen() player is not ready")}setWebFullscreen(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setWebFullscreen() ${e}`);const t=!!e;this.player?this.player.webFullscreen=t:this.debugWarn("JbPro","setWebFullscreen() player is not ready")}screenshot(e,t,i,s){if(!this.isDestroyed())return this.debugLog("JbPro",`screenshot() ${e} ${t} ${i} ${s}`),this.player&&this.player.video?this.player.video.screenshot(e,t,i,s):(this.debugWarn("JbPro","screenshot() player is not ready"),null)}screenshotWatermark(e){return new Promise(((t,i)=>{if(this.isDestroyed())return i("player is destroyed");this.debugLog("JbPro","screenshotWatermark()",e),this.player&&this.player.video?this.player.video.screenshotWatermark(e).then((e=>{t(e)})).catch((e=>{i(e)})):(this.debugWarn("JbPro","screenshotWatermark() player is not ready"),i("player is not ready"))}))}screenshotCopyrightWatermark(e){return new Promise(((t,i)=>{if(this.isDestroyed())return i("player is destroyed");this.debugLog("JbPro","screenshotCopyrightWatermark()",e),this.player&&this.player.video?this.player.video.screenshotCopyrightWatermark(e).then((e=>{t(e)})).catch((e=>{i(e)})):(this.debugWarn("JbPro","screenshotCopyrightWatermark() player is not ready"),i("player is not ready"))}))}startRecord(e,t){return new Promise(((i,s)=>this.isDestroyed()?s("player is destroyed"):(this.debugLog("JbPro",`startRecord() ${e} ${t}`),this.player?void(this.player.playing?(this.player.startRecord(e,t),i()):(this.debugWarn("JbPro","startRecord() player is not playing"),s("not playing"))):(this.debugWarn("JbPro","startRecord() player is not ready"),s("player is not ready")))))}stopRecordAndSave(e,t){return new Promise(((i,s)=>{if(this.isDestroyed())return s("player is destroyed");this.debugLog("JbPro",`stopRecordAndSave() ${e} ${t}`),this.player&&this.player.recording?this.player.stopRecordAndSave(e,t).then((e=>{i(e)})).catch((e=>{s(e)})):s("not recording")}))}cancelRecord(){return new Promise(((e,t)=>this.isDestroyed()?t("player is destroyed"):(this.debugLog("JbPro","cancelRecord()"),this.player?void this.player.cancelRecord().then((()=>{e()})).catch((e=>{t(e)})):(this.debugWarn("JbPro","cancelRecord() player is not ready"),t("player is not ready")))))}isPlaying(){let e=!1;return this.player&&(e=this.player.isPlaying()),e}isLoading(){return!!this.player&&this.player.loading}isPause(){let e=!1;return this._opt.playType===_?e=!this.isPlaying()&&!this.isLoading():this._opt.playType===w&&this.player&&(e=this.player.playbackPause),e}isPaused(){return this.isPause()}isPlaybackPause(){let e=!1;return this._opt.playType===w&&this.player&&(e=this.player.playbackPause),e}isMute(){let e=!0;return this.player&&(e=this.player.isAudioMute()),e}isRecording(){return this.player&&this.player.recorder&&this.player.recorder.recording||!1}isFullscreen(){let e=!1;return this.player&&(e=this.player.fullscreen),e}isWebFullscreen(){let e=!1;return this.player&&(e=this.player.webFullscreen),e}clearBufferDelay(){this.isDestroyed()||(this.debugLog("JbPro","clearBufferDelay()"),this.player?this.player.clearBufferDelay():this.debugWarn("JbPro","clearBufferDelay() player is not init"))}setNetworkDelayTime(e){if(this.isDestroyed())return;this.debugLog("JbPro",`setNetworkDelayTime() ${e}`),(e=Number(e))<1&&this.debugWarn("JbPro",`setNetworkDelayTime() network delay is ${e} second, is too small`);const t=1e3*(e=Sa(e,1,100));this._opt.networkDelay=t,this.player?this.player.updateOption({networkDelay:t},!0):this.debugWarn("JbPro","setNetworkDelayTime() player is null")}getDecodeType(){let e="";return this.player&&(e=this.player.getDecodeType()),e}getRenderType(){let e="";return this.player&&(e=this.player.getRenderType()),e}getAudioEngineType(){let e="";return this.player&&(e=this.player.getAudioEngineType()),e}getPlayingTimestamp(){let e=0;return this.player&&(e=this.player.getPlayingTimestamp()),e}getStatus(){let e=Ds;return this.player&&(e=this.player.loading?Ls:this.player.playing?Cs:xs),e}getPlayType(){return this.player?this.player._opt.playType:_}togglePerformancePanel(e){if(this.isDestroyed())return;this.debugLog("JbPro",`togglePerformancePanel() ${e}`);const t=this.player._opt.showPerformance;let i=!t;qa(e)&&(i=e),i!==t?this.player?this.player.togglePerformancePanel(i):this.debugWarn("JbPro","togglePerformancePanel() failed, this.player is not init"):this.debugWarn("JbPro",`togglePerformancePanel() failed, showPerformance is prev: ${t} === now: ${i}`)}openZoom(){if(!this.isDestroyed())if(this.debugLog("JbPro","openZoom()"),this.player){if(this.player.isDestroyedOrClosed())return void this.debugWarn("JbPro","openZoom() failed, this.player is destroyed or paused");this.player.zooming=!0}else this.debugWarn("JbPro","openZoom() failed, this.player is not init")}closeZoom(){if(!this.isDestroyed())if(this.debugLog("JbPro","closeZoom()"),this.player){if(this.player.isDestroyedOrClosed())return void this.debugWarn("JbPro","openZoom() failed, this.player is destroyed or paused");this.player.zooming=!1}else this.debugWarn("JbPro","closeZoom() failed, this.player is not init")}isZoomOpen(){let e=!1;return this.player&&(e=this.player.zooming),e}toggleZoom(e){this.isDestroyed()||(this.debugLog("JbPro",`toggleZoom() ${e}`),qa(e)||(e=!this.isZoomOpen()),Po(e)?this.openZoom():Io(!1)&&this.closeZoom())}expandZoom(){this.isDestroyed()||(this.debugLog("JbPro","expandZoom()"),this.player&&this.player.zoom&&this.player.zooming?this.player.zoom.expandPrecision():this.debugWarn("JbPro","expandZoom() failed, zoom is not open or not init"))}narrowZoom(){this.isDestroyed()||(this.debugLog("JbPro","narrowZoom()"),this.player&&this.player.zoom&&this.player.zooming?this.player.zoom.narrowPrecision():this.debugWarn("JbPro","narrowZoom failed, zoom is not open or not init"))}updateCurrentZoom(e){this.isDestroyed()||(this.debugLog("JbPro","updateCurrentZoom()",e),this.player&&this.player.zoom&&this.player.zooming?this.player.zoom.updateCurrentZoom(e):this.debugWarn("JbPro","narrowZoom failed, zoom is not open or not init"))}getCurrentZoomIndex(){if(this.isDestroyed())return;let e=1;return this.player&&this.player.zoom&&(e=this.player.zoom.currentZoom),e}setNakedFlowFps(e){return new Promise(((t,i)=>{if(this.isDestroyed())return i("player is destroyed");if(this.debugLog("JbPro","setNakedFlowFps()",e),Ja(e))return i("setNakedFlowFps() fps is empty");let s=Number(e);s=Sa(s,1,100),this._opt.nakedFlowFps=s,this.player?this.player.updateOption({nakedFlowFps:s}):this.debugWarn("JbPro","setNakedFlowFps() player is null"),t()}))}getCrashLog(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!this.player)return;const i=this.player.getAllStatsData(),s=this.player;let r={url:this._opt.url,playType:s.isPlayback()?"playback":"live",demuxType:s.getDemuxType(),decoderType:s.getDecodeType(),renderType:s.getRenderType(),videoInfo:{encType:"",width:"",height:""},audioInfo:{encType:"",sampleRate:"",channels:""},audioEngine:s.getAudioEngineType(),allTimes:i.pTs,timestamp:_a(),type:e,error:wo(t)||e};if(s.video){const e=s.video.videoInfo||{};r.videoInfo={encType:e.encType||"",width:e.width||"",height:e.height||""}}if(s.audio){const e=s.audio.audioInfo||{};r.audioInfo={encType:e.encType||"",sampleRate:e.sampleRate||"",channels:e.channels||""}}return r}updateDebugLevel(e){this.isDestroyed()||(this.debugLog("JbPro","updateDebugLevel()",e),e===Y||e===Q?e!==this.player._opt.debugLevel?(this._opt.debugLevel=e,this.player?this.player.updateOption({debugLevel:e},!0):this.debugWarn("JbPro","updateDebugLevel() player is null")):this.debugWarn("JbPro",`updateDebugLevel() level is same, level: ${e}`):this.debugWarn("JbPro",`updateDebugLevel() level is not valid, level: ${e}`))}updateWatermark(e){this.isDestroyed()||(this.debugLog("JbPro","updateWatermark()",e),this.player?this.player.updateWatermark(e):this.debugWarn("JbPro","updateWatermark() player is not init"))}removeWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeWatermark()"),this.player?this.player.removeWatermark():this.debugWarn("JbPro","removeWatermark() player is not init"))}updateFullscreenWatermark(e){if(!this.isDestroyed())if(this.debugLog("JbPro","updateFullscreenWatermark()",e),lo(e)){this._opt.fullscreenWatermarkConfig=e;const t=Qa(this.$container,e);if(!t.watermark_txt)return void this.debugWarn("JbPro","fullscreenWatermarkConfig text is empty");this.watermark.load(t)}else this.debugWarn("JbPro",`updateFullscreenWatermark() config is not valid, config: ${e}`)}removeFullscreenWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeFullscreenWatermark()"),this.watermark?this.watermark.remove():this.debugWarn("JbPro","removeFullscreenWatermark() watermark is not init"))}faceDetectOpen(){this.isDestroyed()||(this.debugLog("JbPro","faceDetectOpen()"),this.player?this.player.faceDetect(!0):this.debugWarn("JbPro","faceDetectOpen() player is not init"))}faceDetectClose(){this.isDestroyed()||(this.debugLog("JbPro","faceDetectClose()"),this.player?this.player.faceDetect(!1):this.debugWarn("JbPro","faceDetectClose() player is not init"))}objectDetectOpen(){this.isDestroyed()||(this.debugLog("JbPro","objectDetectOpen()"),this.player?this.player.objectDetect(!0):this.debugWarn("JbPro","objectDetectOpen() player is not init"))}objectDetectClose(){this.isDestroyed()||(this.debugLog("JbPro","objectDetectClose()"),this.player?this.player.objectDetect(!1):this.debugWarn("JbPro","objectDetectClose() player is not init"))}sendWebsocketMessage(e){this.isDestroyed()||(this.debugLog("JbPro","sendWebsocketMessage()",e),this.player?this.player.sendWebsocketMessage(e):this.debugWarn("JbPro","sendWebsocketMessage() player is not init"))}addContentToCanvas(e){this.isDestroyed()||(this.debugLog("JbPro","addContentToCanvas()"),this.player?this.player.addContentToCanvas(e):this.debugWarn("JbPro","addContentToCanvas() player is not init"))}clearContentToCanvas(){this.isDestroyed()||(this.debugLog("JbPro","clearContentToCanvas()"),this.player?this.player.addContentToCanvas([]):this.debugWarn("JbPro","clearContentToCanvas() player is not init"))}addContentToContainer(e){this.isDestroyed()||(this.debugLog("JbPro","addContentToContainer()"),this.player?this.player.addContentToContainer(e):this.debugWarn("JbPro","addContentToContainer() player is not init"))}clearContentToContainer(){this.isDestroyed()||(this.debugLog("JbPro","clearContentToContainer()"),this.player?this.player.addContentToContainer([]):this.debugWarn("JbPro","clearContentToContainer() player is not init"))}setControlHtml(e){this.isDestroyed()||(this.debugLog("JbPro","setControlHtml()",e),this.player?this.player.setControlHtml(e):this.debugWarn("JbPro","setControlHtml() player is not init"))}clearControlHtml(){this.isDestroyed()||(this.debugLog("JbPro","clearControlHtml()"),this.player?this.player.clearControlHtml():this.debugWarn("JbPro","clearControlHtml() player is not init"))}toggleControlHtml(e){this.isDestroyed()||(this.debugLog("JbPro",`toggleControlHtml() ${e}`),this.player?this.player.toggleControlHtml(e):this.debugWarn("JbPro","toggleControlHtml() player is not init"))}getControlHtmlIsShow(){return!!this.player&&this.player.getControlHtmlIsShow()}getControlHtml(){return this.player?this.player.getControlHtml():null}setExtendHtml(e){this.isDestroyed()||(this.debugLog("JbPro","setExtendHtml()",e),this.player?this.player.setExtendHtml(e):this.debugWarn("JbPro","setExtendHtml() player is not init"))}clearExtendHtml(){this.isDestroyed()||(this.debugLog("JbPro","clearExtendHtml()"),this.player?this.player.clearExtendHtml():this.debugWarn("JbPro","clearExtendHtml() player is not init"))}toggleExtendHtml(e){this.isDestroyed()||(this.debugLog("JbPro",`toggleExtendHtml() ${e}`),this.player?this.player.toggleExtendHtml(e):this.debugWarn("JbPro","toggleExtendHtml() player is not init"))}getExtendHtmlIsShow(){return!!this.player&&this.player.getExtendHtmlIsShow()}getExtendHtml(){return this.player?this.player.getExtendHtml():null}getVideoInfo(){let e=null;return this.player&&(e=this.player.getVideoInfo()),e}getAudioInfo(){let e=null;return this.player&&(e=this.player.getAudioInfo()),e}setSm4CryptoKey(e){if(this.isDestroyed())return;this.debugLog("JbPro","setSm4CryptoKey()",e);const t=(e=""+e).split(".");if(32!==e.length&&2!==t.length)return void this.debugWarn("JbPro",`setSm4CryptoKey() key is invalid and length is ${e.length} !== 32`);if(2===t.length&&(32!==t[0].length||32!==t[1].length))return void this.debugWarn("JbPro",`setSm4CryptoKey() key is invalid and key length is ${t[0].length} !== 32 or iv length ${t[1].length} !== 32`);this._opt.sm4CryptoKey=e;let i=2===t.length;if(i&&(this._opt.playOptions.cryptoKey=Cl(t[0]),this._opt.playOptions.cryptoIV=Cl(t[1])),this.player){const t={sm4CryptoKey:e};i&&(t.cryptoKey=this._opt.playOptions.cryptoKey,t.cryptoIV=this._opt.playOptions.cryptoIV),this.player.updateOption(t,!0)}else this.debugWarn("JbPro","setSm4CryptoKey() player is null")}setM7sCryptoKey(e){this.isDestroyed()||(this.debugLog("JbPro","setM7sCryptoKey()",e),e=""+e,this._opt.m7sCryptoKey=e,this.player?this.player.updateOption({m7sCryptoKey:e},!0):this.debugWarn("JbPro","setM7sCryptoKey() player is null"))}setXorCryptoKey(e){this.isDestroyed()||(this.debugLog("JbPro","setXorCryptoKey()",e),e=""+e,this._opt.xorCryptoKey=e,this.player?this.player.updateOption({xorCryptoKey:e},!0):this.debugWarn("JbPro","setXorCryptoKey() player is null"))}updateLoadingText(e){this.isDestroyed()||(this.debugLog("JbPro","updateLoadingText()",e),this.player?this.player.updateLoadingText(e):this.debugWarn("JbPro","updateLoadingText() player is null"))}updateIsEmitSEI(e){this.isDestroyed()||(this.debugLog("JbPro","updateIsEmitSEI()",e),this._opt.isEmitSEI=e,this.player?this.player.updateOption({isEmitSEI:e},!0):this.debugWarn("JbPro","updateIsEmitSEI() player is null"))}getPTZCmd(e,t){return this.debugLog("JbPro","getPTZCmd()",e),e?this.player?P_({type:e,index:0,speed:t}):(this.debugWarn("JbPro","getPTZCmd() player is null"),null):(this.debugWarn("JbPro","getPTZCmd() ptz is null"),null)}downloadTempNakedFlowFile(){return new Promise(((e,t)=>{this.player?(this.player.downloadNakedFlowFile(),e()):t("player is not init")}))}downloadTempFmp4File(){return new Promise(((e,t)=>{if(this.isDestroyed())return t("player is destroyed");this.player?(this.player.downloadFmp4File(),e()):t("player is not init")}))}downloadTempMpeg4File(){return new Promise(((e,t)=>{if(this.isDestroyed())return t("player is destroyed");this.player?(this.player.downloadMpeg4File(),e()):t("player is not init")}))}downloadMemoryLog(){this.isDestroyed()||this.memoryLogger&&this.memoryLogger.download()}_getVideoLastIframeInfo(){const e=this.getVideoInfo()||{},t={loadingBackground:this.screenshot("","png",.92,"base64"),loadingBackgroundWidth:e.width||0,loadingBackgroundHeight:e.height||0};return t.loadingBackground&&t.loadingBackgroundWidth&&t.loadingBackgroundHeight&&(this._tempVideoLastIframeInfo=t),this._tempVideoLastIframeInfo||{}}getExtendBtnList(){this.debugLog("JbPro","getExtendBtnList()");let e=[];return this.player?e=this.player.getExtendBtnList():this.debugWarn("JbPro","getExtendBtnList() player is null"),e}getFlvMetaData(){this.debugLog("JbPro","getFlvMetaData()");let e=null;return this.player?e=this.player.getMetaData():this.debugWarn("JbPro","getFlvMetaData() player is null"),e}updateAiFaceDetectInterval(e){if(this.isDestroyed())return;this.debugLog("JbPro","updateAiFaceDetectInterval()",e);const t=1e3*(e=Number(e));this._opt.aiFaceDetectInterval=t,this.player?this.player.updateOption({aiFaceDetectInterval:t}):this.debugWarn("JbPro","updateAiFaceDetectInterval() player is null")}updateAiFaceDetectLevel(e){if(this.isDestroyed())return;if(this.debugLog("JbPro","updateAiFaceDetectLevel()",e),!lr[e])return void this.debugWarn("JbPro",`'updateAiFaceDetectLevel() level ${e} is invalid'`);const t=lr[e];this._opt.aiFaceDetectWidth=t,this.player?(this.player.updateOption({aiFaceDetectWidth:t}),this.player.ai&&this.player.ai.updateFaceDetectorConfig({detectWidth:t})):this.debugWarn("JbPro","updateAiFaceDetectLevel() player is null")}updateAiObjectDetectInterval(e){if(this.isDestroyed())return;this.debugLog("JbPro","updateAiObjectDetectInterval()",e);const t=1e3*(e=Number(e));this._opt.aiObjectDetectInterval=t,this.player?this.player.updateOption({aiObjectDetectInterval:t}):this.debugWarn("JbPro","updateAiObjectDetectInterval() player is null")}updateAiObjectDetectLevel(e){if(this.isDestroyed())return;if(this.debugLog("JbPro","updateAiObjectDetectLevel()",e),!dr[e])return void this.debugWarn("JbPro",`'updateAiObjectDetectLevel() level ${e} is invalid'`);const t=dr[e];this._opt.aiObjectDetectWidth=t,this.player?(this.player.updateOption({aiObjectDetectWidth:t}),this.player.ai&&this.player.ai.updateObjectDetectorConfig({detectWidth:t})):this.debugWarn("JbPro","updateAiObjectDetectLevel() player is null")}setCryptoKeyUrl(e){this.isDestroyed()||(this.debugLog("JbPro","setCryptoKeyUrl()",e),e&&(this._opt.cryptoKeyUrl=e))}showErrorMessageTips(e){this.isDestroyed()||(this.debugLog("JbPro","showErrorMessageTips()",e),e&&(this.player?this.player.showTipsMessageByContent(e):this.debugWarn("JbPro","showErrorMessageTips() player is null")))}setPtzPosition(e){this.debugLog("JbPro","setPtzPosition()",e),e&&!no(e)&&(this.player?this.player.setPtzPosition(e):this.debugWarn("JbPro","setPtzPosition() player is null"))}hideErrorMessageTips(){this.isDestroyed()||(this.debugLog("JbPro","hideErrorMessageTips()"),this.player?this.player.hideTipsMessage():this.debugWarn("JbPro","hideErrorMessageTips() player is null"))}getContainerRect(){return this._getContainerRect()}proxy(e,t,i,s){return this.events.proxy(e,t,i,s)}getUrl(){return this._opt.url}toggleControlExtendBtn(e,t){this.isDestroyed()||(this.debugLog(this.TAG_NAME,`toggleControlExtendBtn() ${e} ${t}`),this.player?this.player.toggleControlExtendBtn(e,t):this.debugWarn(this.TAG_NAME,"toggleControlExtendBtn() player is null"))}getControlExtendBtnActive(e){if(this.isDestroyed())return;this.debugLog(this.TAG_NAME,`getControlExtendBtnActive() ${e}`);let t=!1;return this.player?t=this.player.getControlExtendBtnActive(e):this.debugWarn(this.TAG_NAME,"getControlExtendBtnActive() player is null"),t}toggleControlBar(e){this.isDestroyed()||(this.debugLog(this.TAG_NAME,`toggleControlBar() ${e}`),this.player?this.player.toggleControlBar(e):this.debugWarn(this.TAG_NAME,"toggleControlBar() player is null"))}getControlBarShow(){if(this.isDestroyed())return!1;this.debugLog(this.TAG_NAME,"getControlBarShow()");let e=!1;return this.player?e=this.player.getControlBarShow():this.debugWarn(this.TAG_NAME,"getControlBarShow() player is null"),e}static getCopyrightWatermarkHash(e){return Za(e)}static extractScreenshotCopyrightWatermark(e){return function(e){for(var t=e,i=0,s=0,r=0;r<32;r++)s|=(1&t[i])<=5){const s=i[0],r=i[i.length-1],a=r-s;a<=1e4&&(this.debugWarn(this.TAG_NAME,`retry type is ${e}, and retry length is ${i.length}, and start is ${s} and end is ${r} and diff is ${a}`),t=!1)}return t}_initLoadingBackgroundForIOS(e){(Ia()||Ba())&&e.loadingBackground&&e.loadingBackgroundWidth&&e.loadingBackgroundHeight&&(this._initLoadingBg(),"default"===this.player._opt.aspectRatio||Ca()?this.player.getRenderType()===q?this._doInitLoadingBackgroundForCanvas(e):this.player.getRenderType()===K&&this._doInitLoadingBackgroundForVideo(e):this._doInitLoadingBackgroundForRatio(e))}_doInitLoadingBackgroundForVideo(e){this.debugLog(this.TAG_NAME,"_doInitLoadingBackgroundForVideo");const t=this._getContainerRect();let i=t.width,s=t.height;const r=this.player._opt;s-=this.player.getControlHeight();let a=i,o=s;const n=r.rotate;270!==n&&90!==n||(a=s,o=i),this.$loadingBgImage.width=a,this.$loadingBgImage.height=o,this.$loadingBgImage.src=e.loadingBackground;let l=(i-a)/2,d=(s-o)/2,h="contain";r.isResize||(h="fill"),r.isFullResize&&(h="none");let c="";"none"===r.mirrorRotate&&n&&(c+=" rotate("+n+"deg)"),"level"===r.mirrorRotate?c+=" rotateY(180deg)":"vertical"===r.mirrorRotate&&(c+=" rotateX(180deg)"),this._opt.videoRenderSupportScale&&(this.$loadingBgImage.style.objectFit=h),this.$loadingBgImage.style.transform=c,this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.left=l+"px",this.$loadingBgImage.style.top=d+"px",this.$loadingBgImage.complete?Ec(this.$loadingBg,"show"):this.$loadingBgImage.onload=()=>{Ec(this.$loadingBg,"show"),this.$loadingBgImage.onload=null}}_doInitLoadingBackgroundForCanvas(e){this.debugLog(this.TAG_NAME,"_doInitLoadingBackgroundForCanvas");const t=this._getContainerRect();let i=t.width,s=t.height;const r=this.player._opt;s-=this.player.getControlHeight();let a=i,o=s;const n=r.rotate;let l=(i-a)/2,d=(s-o)/2;270!==n&&90!==n||(a=s,o=i),this.$loadingBgImage.width=a,this.$loadingBgImage.height=o,this.$loadingBgImage.src=e.loadingBackground;const h=i/a,c=s/o;let u=h>c?c:h;Io(r.isResize)&&h!==c&&(u=h+","+c),r.isFullResize&&(u=h>c?h:c);let p="scale("+u+")";"none"===r.mirrorRotate&&n&&(p+=" rotate("+n+"deg)"),"level"===r.mirrorRotate?p+=" rotateY(180deg)":"vertical"===r.mirrorRotate&&(p+=" rotateX(180deg)"),this.$loadingBgImage.style.padding="0",this.$loadingBgImage.style.transform=p,this.$loadingBgImage.style.left=l+"px",this.$loadingBgImage.style.top=d+"px",this.$loadingBgImage.complete?Ec(this.$loadingBg,"show"):this.$loadingBgImage.onload=()=>{Ec(this.$loadingBg,"show"),this.$loadingBgImage.onload=null}}_doInitLoadingBackgroundForRatio(e){this.debugLog(this.TAG_NAME,"_doInitLoadingBackgroundForRatio");const t=this.player._opt.aspectRatio.split(":").map(Number),i=this._getContainerRect();let s=i.width,r=i.height,a=this.player.getControlHeight();r-=a;const o=e.loadingBackgroundWidth,n=e.loadingBackgroundHeight,l=o/n,d=t[0]/t[1];if(this.$loadingBgImage.src=e.loadingBackground,l>d){const e=d*n/o;this.$loadingBgImage.style.width=100*e+"%",this.$loadingBgImage.style.height=`calc(100% - ${a}px)`,this.$loadingBgImage.style.padding=`0 ${(s-s*e)/2}px`}else{const e=o/d/n;this.$loadingBgImage.style.width="100%",this.$loadingBgImage.style.height=`calc(${100*e}% - ${a}px)`,this.$loadingBgImage.style.padding=(r-r*e)/2+"px 0"}this.$loadingBgImage.complete?Ec(this.$loadingBg,"show"):this.$loadingBgImage.onload=()=>{Ec(this.$loadingBg,"show"),this.$loadingBgImage.onload=null}}_initLoadingBg(){if(!this.$loadingBg){const e=document.createElement("div"),t=document.createElement("img");e.className="jb-pro-loading-bg-for-ios",this.$loadingBg=e,this.$loadingBgImage=t,e.appendChild(t),this.$container.appendChild(e)}}_removeLoadingBackgroundForIOS(){if(this.$loadingBg){this.debugLog(this.TAG_NAME,"_removeLoadingBackgroundForIOS()");if(!Dc(this.$loadingBg)){const e=this.$container.querySelector(".jb-pro-loading-bg-for-ios");e&&this.$container&&this.$container.removeChild(e)}this.$loadingBg=null,this.$loadingBgImage=null}}_getContainerRect(){let e={};return this.$container&&(e=this.$container.getBoundingClientRect(),e.width=Math.max(e.width,this.$container.clientWidth),e.height=Math.max(e.height,this.$container.clientHeight)),e}_isNeedNetworkDisconnectReplay(){return this._opt.networkDisconnectReplay&&this.network.isOffline()}_handleWebglAlignmentError(e){if(this.isDestroyed())this.debugLog("JbPro","webglAlignmentError but player is destroyed");else if(this.webglAlignmentErrorOnLock)this.debugLog("JbPro","webglAlignmentErrorOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.webglAlignmentError,e)),this.webglAlignmentErrorOnLock=!0,this.player&&this.player._opt.webglAlignmentErrorReplay){this.debugLog("JbPro","webglAlignmentError");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({openWebglAlignment:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webglAlignmentError and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webglAlignmentError,{},e),this.debugError("JbPro","webglAlignmentError and play error",t)})).finally((()=>{this.webglAlignmentErrorOnLock=!1}))})).catch((e=>{this.webglAlignmentErrorOnLock=!1,this.debugError("JbPro","webglAlignmentError and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.webglAlignmentError,{},e),this.debugLog("JbPro","webglAlignmentError and webglAlignmentErrorReplay is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webglAlignmentError,{},e),this.debugError("JbPro","webglAlignmentError and pause error",t)})).finally((()=>{this.webglAlignmentErrorOnLock=!1}))}}_handleWebglContextLostError(e){if(this.isDestroyed())return void this.debugLog("JbPro","webglContextLostError but player is destroyed");if(this.webglContextLostErrorOnLock)return void this.debugLog("JbPro","webglContextLostErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.webglContextLostError,e));const t=this._getVideoLastIframeInfo();if(this.webglContextLostErrorOnLock=!0,this.player&&this.player._opt.webglContextLostErrorReplay){this.debugLog("JbPro","webglContextLostError");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","webglContextLostError and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.webglContextLostError,t,e),this.debugError("JbPro","webglContextLostError and play error",i)})).finally((()=>{this.webglContextLostErrorOnLock=!1}))})).catch((i=>{this.webglContextLostErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.webglContextLostError,t,e),this.debugError("JbPro","webglContextLostError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.webglContextLostError,t,e),this.debugLog("JbPro","webglContextLostError and webglContextLostErrorReplay is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.webglContextLostError,t,e),this.debugError("JbPro","webglAlignmentError and pause error",i)})).finally((()=>{this.webglContextLostErrorOnLock=!1}))}}_handleMediaSourceH265NotSupport(e){if(this.isDestroyed())this.debugLog("JbPro","mediaSourceH265NotSupport but player is destroyed");else if(this.mediaSourceH265NotSupportOnLock)this.debugLog("JbPro","mediaSourceH265NotSupportOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceH265NotSupport,e)),this.mediaSourceH265NotSupportOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceH265NotSupport,e),this.debugError("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play error",t)})).finally((()=>{this.mediaSourceH265NotSupportOnLock=!1}))})).catch((t=>{this.mediaSourceH265NotSupportOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceH265NotSupport,{},e),this.debugError("JbPro","mediaSourceH265NotSupport auto wasm [mse-> wasm] _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceH265NotSupport,{},e),this.debugLog("JbPro","mediaSourceH265NotSupport and autoWasm is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceH265NotSupport,{},e),this.debugError("JbPro","mediaSourceH265NotSupport and pause error",t)})).finally((()=>{this.mediaSourceH265NotSupportOnLock=!1}))}}_handleMseWaitVideoCanplayTimeout(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","mseWaitVideoCanplayTimeout but player is destroyed");else if(this.mseWaitVideoCanplayTimeoutOnLock)this.debugLog("JbPro","mseWaitVideoCanplayTimeoutOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.mseWaitVideoCanplayTimeout,e)),this.mseWaitVideoCanplayTimeoutOnLock=!0,this.player&&this.player._opt.mseWaitVideoCanplayAutoWasm){this.debugLog("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mseWaitVideoCanplayTimeout,e),this.debugError("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play error",t)})).finally((()=>{this.mseWaitVideoCanplayTimeoutOnLock=!1}))})).catch((t=>{this.mseWaitVideoCanplayTimeoutOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mseWaitVideoCanplayTimeout,{},e),this.debugError("JbPro","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.mseWaitVideoCanplayTimeout,{},e),this.debugLog("JbPro","mseWaitVideoCanplayTimeout and autoWasm is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceH265NotSupport,{},e),this.debugError("JbPro","mediaSourceH265NotSupport and pause error",t)})).finally((()=>{this.mseWaitVideoCanplayTimeoutOnLock=!1}))}}_handleMediaSourceFull(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceFull but player is destroyed"));if(this.mediaSourceFullOnLock)return void this.debugLog("JbPro","mediaSourceFullOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceFull,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceFullOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Ir)?this._mseDecodeErrorRetryLog.push(_a()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`mediaSourceFull and auto wasm ${Io(o)?" and is not meaningful Retry":""} [mse-> ${a?"wasm":"mse"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceFull and reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceFull,t,e),this.debugError("JbPro","mediaSourceFull and reset player and play error",i)})).finally((()=>{this.mediaSourceFullOnLock=!1}))})).catch((i=>{this.mediaSourceFullOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceFull,t,e),this.debugError("JbPro","mediaSourceFull and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceFull,t,e),this.debugLog("JbPro","mediaSourceFull and autoWasm is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceFull,t,e),this.debugError("JbPro","mediaSourceFull and pause error",i)})).finally((()=>{this.mediaSourceFullOnLock=!1}))}}_handleMediaSourceAppendBufferError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAppendBufferError but player is destroyed"));if(this.mediaSourceAppendBufferErrorOnLock)return void this.debugLog("JbPro","mediaSourceAppendBufferErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceAppendBufferError,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceAppendBufferErrorOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Ir)?this._mseDecodeErrorRetryLog.push(_a()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.player.isMSEAudioDecoderError&&(this.player.debugLog("JbPro","mediaSourceAppendBufferError and isMSEAudioDecoderError is true so set mseDecodeAudio = false"),r.mseDecodeAudio=!1),this.debugLog("JbPro",`mediaSourceAppendBufferError and auto wasm ${Io(o)?" and is not meaningful Retry":""} [mse-> ${a?"wasm":"mse"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceAppendBufferError and reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAppendBufferError,t,e),this.debugError("JbPro","mediaSourceAppendBufferError and reset player and play error",i)})).finally((()=>{this.mediaSourceAppendBufferErrorOnLock=!1}))})).catch((i=>{this.mediaSourceAppendBufferErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceAppendBufferError,t,e),this.debugError("JbPro","mediaSourceAppendBufferError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAppendBufferError,t,e),this.debugLog("JbPro","mediaSourceAppendBufferError and autoWasm is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAppendBufferError,t,e),this.debugError("JbPro","mediaSourceAppendBufferError and pause error",i)})).finally((()=>{this.mediaSourceAppendBufferErrorOnLock=!1}))}}_handleMseSourceBufferError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseSourceBufferError but player is destroyed"));if(this.mseSourceBufferErrorOnLock)return void this.debugLog("JbPro","mseSourceBufferErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mseSourceBufferError,e));const t=this._getVideoLastIframeInfo();if(this.mseSourceBufferErrorOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={};if(this.player._opt.mseDecoderUseWorker)r={mseDecoderUseWorker:!1},this.debugLog("JbPro","mseSourceBufferError auto wasm [mse worker -> mse] reset player and play");else{let e=this.player._opt.decoderErrorAutoWasm,t=!0;e?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Ir)?this._mseDecodeErrorRetryLog.push(_a()):(e=!0,t=!1,r={useMSE:!1,useWCS:!1}),this.player.isMSEVideoDecoderInitializationFailedNotSupportHevc&&(this.debugLog("JbPro","mseSourceBufferError and isMSEVideoDecoderInitializationFailedNotSupportHevc is true so auto wasm"),r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`mseSourceBufferError auto wasm ${Io(t)?" and is not meaningful Retry":""} [mse-> ${e?"wasm":"mse"}] reset player and play`)}this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mseSourceBufferError reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mseSourceBufferError,t,e),this.debugError("JbPro","mseSourceBufferError reset player and play error",i)})).finally((()=>{this.mseSourceBufferErrorOnLock=!1}))})).catch((i=>{this.mseSourceBufferErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mseSourceBufferError,t,e),this.debugError("JbPro","mseSourceBufferError _resetPlayer and play error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.mseSourceBufferError,t,e),this.debugLog("JbPro","mseSourceBufferError and autoWasm is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mseSourceBufferError,t,e),this.debugError("JbPro","mseSourceBufferError and pause error:",i)})).finally((()=>{this.mseSourceBufferErrorOnLock=!1}))}}_handleMediaSourceBufferedIsZeroError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceBufferedIsZeroError but player is destroyed"));if(this.mediaSourceBufferedIsZeroErrorOnLock)return void this.debugLog("JbPro","mediaSourceBufferedIsZeroErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceBufferedIsZeroError,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceBufferedIsZeroErrorOnLock=!0,this.player&&this.player._opt.mseDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Ir)?this._mseDecodeErrorRetryLog.push(_a()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`mediaSourceBufferedIsZeroError auto wasm ${Io(o)?" and is not meaningful Retry":""} [mse-> ${a?"wasm":"mse"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceBufferedIsZeroError reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceBufferedIsZeroError,t,e),this.debugError("JbPro","mediaSourceBufferedIsZeroError reset player and play error",i)})).finally((()=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1}))})).catch((i=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceBufferedIsZeroError,t,e),this.debugError("JbPro","mediaSourceBufferedIsZeroError _resetPlayer and play error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceBufferedIsZeroError,t,e),this.debugLog("JbPro","mediaSourceBufferedIsZeroError and autoWasm is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceBufferedIsZeroError,t,e),this.debugError("JbPro","mediaSourceBufferedIsZeroError and pause error:",i)})).finally((()=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1}))}}_handleMseAddSourceBufferError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseAddSourceBufferError but player is destroyed"));if(this.mseAddSourceBufferErrorOnLock)return void this.debugLog("JbPro","mseAddSourceBufferErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mseAddSourceBufferError,e));const t=this._getVideoLastIframeInfo();if(this.mseAddSourceBufferErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={useMSE:!1,useWCS:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mseAddSourceBufferError,t,e),this.debugError("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play error",i)})).finally((()=>{this.mseAddSourceBufferErrorOnLock=!1}))})).catch((i=>{this.mseAddSourceBufferErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mseAddSourceBufferError,t,e),this.debugError("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] _resetPlayer and play error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.mseAddSourceBufferError,t,e),this.debugLog("JbPro","mseAddSourceBufferError and autoWasm is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mseAddSourceBufferError,t,e),this.debugError("JbPro","mseAddSourceBufferError and pause error",i)})).finally((()=>{this.mseAddSourceBufferErrorOnLock=!1}))}}_handleMediaSourceDecoderConfigurationError(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","mediaSourceDecoderConfigurationError but player is destroyed");else if(this.mediaSourceDecoderConfigurationErrorOnLock)this.debugLog("JbPro","mediaSourceDecoderConfigurationErrorOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceDecoderConfigurationError,e)),this.mediaSourceDecoderConfigurationErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;let s={useMSE:!1,useWCS:!1};this._resetPlayer(s).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceDecoderConfigurationError,e),this.debugError("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play error",t)})).finally((()=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1}))})).catch((t=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceDecoderConfigurationError,e),this.debugError("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceDecoderConfigurationError,e),this.debugLog("JbPro","mediaSourceDecoderConfigurationError and autoWasm is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceDecoderConfigurationError,e),this.debugError("JbPro","mediaSourceDecoderConfigurationError and pause error",t)})).finally((()=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1}))}}_handleMediaSourceTsIsMaxDiff(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceTsIsMaxDiff but player is destroyed"));if(this.mediaSourceTsIsMaxDiffOnLock)return void this.debugLog("JbPro","mediaSourceTsIsMaxDiffOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceTsIsMaxDiff,e));const t=this._getVideoLastIframeInfo();if(this.mediaSourceTsIsMaxDiffOnLock=!0,this.player&&this.player._opt.mediaSourceTsIsMaxDiffReplay){this.debugLog("JbPro","mediaSourceTsIsMaxDiff reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","mediaSourceTsIsMaxDiff replay success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceTsIsMaxDiff,t,e),this.debugError("JbPro","mediaSourceTsIsMaxDiff replay error",i)})).finally((()=>{this.mediaSourceTsIsMaxDiffOnLock=!1}))})).catch((i=>{this.mediaSourceTsIsMaxDiffOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceTsIsMaxDiff,t,e),this.debugError("JbPro","mediaSourceTsIsMaxDiff _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceTsIsMaxDiff,t,e),this.debugLog("JbPro","mediaSourceTsIsMaxDiff and replay is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceTsIsMaxDiff,t,e),this.debugError("JbPro","mediaSourceTsIsMaxDiff and pause error",i)})).finally((()=>{this.mediaSourceTsIsMaxDiffOnLock=!1}))}}_handleMseWidthOrHeightChange(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseWidthOrHeightChange but player is destroyed"));if(this.mseWidthOrHeightChangeOnLock)return void this.debugLog("JbPro","mseWidthOrHeightChangeOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.mseWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this.mseWidthOrHeightChangeOnLock=!0,this.player&&this.player._opt.widthOrHeightChangeReplay){this.debugLog("JbPro","mseWidthOrHeightChange and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.player._opt.widthOrHeightChangeReplayDelayTime>0?this.widthOrHeightChangeReplayDelayTimeout=setTimeout((()=>{this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this.debug&&this.debugLog("JbPro","mseWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this.play(e,s).then((()=>{this.debugLog("JbPro","mseWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))}),1e3*this.player._opt.widthOrHeightChangeReplayDelayTime):this.play(e,s).then((()=>{this.debugLog("JbPro","mseWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))})).catch((e=>{this.mseWidthOrHeightChangeOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(vt.playFailedAndPaused,wt.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mseWidthOrHeightChange,i,t),this.debugError("JbPro","mseWidthOrHeightChange error and pause error",e)})).finally((()=>{this.mseWidthOrHeightChangeOnLock=!1}))}}_handleMediaSourceAudioG711NotSupport(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAudioG711NotSupport but player is destroyed"));if(this.mediaSourceAudioG711NotSupportOnLock)return void this.debugLog("JbPro","mediaSourceAudioG711NotSupportOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mediaSourceAudioG711NotSupportOnLock=!0,this.player&&this.player._opt.mediaSourceAudioG711NotSupportReplay){this.debugLog("JbPro","mediaSourceAudioG711NotSupport and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mediaSourceAudioG711NotSupport and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport and reset player and play error",e)})).finally((()=>{this.mediaSourceAudioG711NotSupportOnLock=!1}))})).catch((e=>{this.mediaSourceAudioG711NotSupportOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioG711NotSupport,i,t),this.debugError("JbPro","mediaSourceAudioG711NotSupport error and pause error",e)})).finally((()=>{this.mediaSourceAudioG711NotSupportOnLock=!1}))}}_handleMediaSourceAudioInitTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAudioInitTimeout but player is destroyed"));if(this.mediaSourceAudioInitTimeoutOnLock)return void this.debugLog("JbPro","mediaSourceAudioInitTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mediaSourceAudioInitTimeoutOnLock=!0,this.player&&this.player._opt.mediaSourceAudioInitTimeoutReplay){this.debugLog("JbPro","mediaSourceAudioInitTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mediaSourceAudioInitTimeout and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioInitTimeout,i,t),this.debugError("JbPro","mediaSourceAudioInitTimeout and reset player and play error",e)})).finally((()=>{this.mediaSourceAudioInitTimeoutOnLock=!1}))})).catch((e=>{this.mediaSourceAudioInitTimeoutOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioInitTimeout,i,t),this.debugError("JbPro","mediaSourceAudioInitTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioInitTimeout,i),this.debugError("JbPro","mediaSourceAudioInitTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioInitTimeout,i),this.debugError("JbPro","mediaSourceAudioInitTimeout error and pause error",e)})).finally((()=>{this.mediaSourceAudioInitTimeoutOnLock=!1}))}}_handleMediaSourceAudioNoDataTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mediaSourceAudioNoDataTimeout but player is destroyed"));if(this.mediaSourceAudioNoDataTimeoutOnLock)return void this.debugLog("JbPro","mediaSourceAudioNoDataTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mediaSourceAudioNoDataTimeoutOnLock=!0,this.player&&this.player._opt.mediaSourceAudioNoDataTimeoutReplay){this.debugLog("JbPro","mediaSourceAudioNoDataTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mediaSourceAudioNoDataTimeout and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioNoDataTimeout,i,t),this.debugError("JbPro","mediaSourceAudioNoDataTimeout and reset player and play error",e)})).finally((()=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1}))})).catch((e=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioNoDataTimeout,i,t),this.debugError("JbPro","mediaSourceAudioNoDataTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioNoDataTimeout,i),this.debugError("JbPro","mediaSourceAudioNoDataTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceAudioNoDataTimeout,i),this.debugError("JbPro","mediaSourceAudioNoDataTimeout error and pause error",e)})).finally((()=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1}))}}_handleMseWorkerAddSourceBufferError(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","mseWorkerAddSourceBufferError but player is destroyed"));if(this.mseWorkerAddSourceBufferErrorOnLock)return void this.debugLog("JbPro","mseWorkerAddSourceBufferErrorOnLock is true");const i=this._getVideoLastIframeInfo();if(this.mseWorkerAddSourceBufferErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","mseWorkerAddSourceBufferError and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={mseDecoderUseWorker:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","mseWorkerAddSourceBufferError and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mseWorkerAddSourceBufferError,i,t),this.debugError("JbPro","mseWorkerAddSourceBufferError and reset player and play error",e)})).finally((()=>{this.mseWorkerAddSourceBufferErrorOnLock=!1}))})).catch((e=>{this.mseWorkerAddSourceBufferErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mseWorkerAddSourceBufferError,i,t),this.debugError("JbPro","mseWorkerAddSourceBufferError and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.mseWorkerAddSourceBufferError,i),this.debugError("JbPro","mseWorkerAddSourceBufferError and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.mseWorkerAddSourceBufferError,i),this.debugError("JbPro","mseWorkerAddSourceBufferError error and pause error",e)})).finally((()=>{this.mseWorkerAddSourceBufferErrorOnLock=!1}))}}_handleMediaSourceUseCanvasRenderPlayFailed(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailed but player is destroyed");else if(this.mediaSourceUseCanvasRenderPlayFailedOnLock)this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailedOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.mediaSourceUseCanvasRenderPlayFailed,e)),this.mediaSourceUseCanvasRenderPlayFailedOnLock=!0,this.player&&this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplay&&this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplayType){this.debugLog("JbPro",`mediaSourceUseCanvasRenderPlayFailed relayType is ${this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplayType} and reset player and play`);const t=this._opt.url,i=this._opt.playOptions;let s={};const r=this.player._opt.mediaSourceUseCanvasRenderPlayFailedReplayType;r===q?s={useMSE:!1,useWCS:!1}:r===K&&(s={useVideoRender:!0,useCanvasRender:!1}),this._resetPlayer(s).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailed and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceUseCanvasRenderPlayFailed,e),this.debugError("JbPro","mediaSourceUseCanvasRenderPlayFailed and reset player and play error",t)})).finally((()=>{this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1}))})).catch((t=>{this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1,this.emit(vt.playFailedAndPaused,wt.mediaSourceUseCanvasRenderPlayFailed,e),this.debugError("JbPro","mediaSourceUseCanvasRenderPlayFailed auto and _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.debugLog("JbPro","mediaSourceUseCanvasRenderPlayFailed and pause player success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.mediaSourceUseCanvasRenderPlayFailed,e),this.debugError("JbPro","mediaSourceUseCanvasRenderPlayFailed and pause",t)})).finally((()=>{this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1}))}}_handleWebcodecsH265NotSupport(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","webcodecsH265NotSupport but player is destroyed");else if(this.webcodecsH265NotSupportOnLock)this.debugLog("JbPro","webcodecsH265NotSupportOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.webcodecsH265NotSupport,e)),this.webcodecsH265NotSupportOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsH265NotSupport,e),this.debugError("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play error",t)})).finally((()=>{this.webcodecsH265NotSupportOnLock=!1}))})).catch((e=>{this.webcodecsH265NotSupportOnLock=!1,this.debugError("JbPro","webcodecsH265NotSupport auto wasm [wcs-> wasm] _resetPlayer and play error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.webcodecsH265NotSupport,e),this.debugLog("JbPro","webcodecsH265NotSupport and autoWasm is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsH265NotSupport,e),this.debugError("JbPro","webcodecsH265NotSupport and pause error",t)})).finally((()=>{this.webcodecsH265NotSupportOnLock=!1}))}}_handleWebcodecsUnsupportedConfigurationError(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","webcodecsUnsupportedConfigurationError but player is destroyed");else if(this.webcodecsUnsupportedConfigurationErrorOnLock)this.debugLog("JbPro","webcodecsUnsupportedConfigurationErrorOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.webcodecsUnsupportedConfigurationError,e)),this.webcodecsUnsupportedConfigurationErrorOnLock=!0,this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsUnsupportedConfigurationError,e),this.debugError("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play error",t)})).finally((()=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1}))})).catch((t=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.webcodecsUnsupportedConfigurationError,e),this.debugError("JbPro","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.webcodecsUnsupportedConfigurationError,e),this.debugLog("JbPro","webcodecsUnsupportedConfigurationError and autoWasm is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsUnsupportedConfigurationError,e),this.debugError("JbPro","webcodecsUnsupportedConfigurationError and pause error",t)})).finally((()=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1}))}}_handleWebcodecsDecodeConfigureError(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","webcodecsDecodeConfigureError but player is destroyed");else if(this.webcodecsDecodeConfigureErrorOnLock)this.debugLog("JbPro","webcodecsDecodeConfigureErrorOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.webcodecsDecodeConfigureError,e)),this.player&&this.player._opt.hardDecodingNotSupportAutoWasm){this.debugLog("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useMSE:!1,useWCS:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeConfigureError,e),this.debugError("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play error",t)})).finally((()=>{this.webcodecsDecodeConfigureErrorOnLock=!1}))})).catch((t=>{this.webcodecsDecodeConfigureErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeConfigureError,e),this.debugError("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] _resetPlayer and play error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeConfigureError,e),this.debugLog("JbPro","webcodecsDecodeConfigureError and autoWasm is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeConfigureError,e),this.debugError("JbPro","webcodecsDecodeConfigureError and pause error",t)})).finally((()=>{this.webcodecsDecodeConfigureErrorOnLock=!1}))}}_handleWebcodecsDecodeError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webcodecsDecodeError but player is destroyed"));if(this.webcodecsDecodeErrorOnLock)return void this.debugLog("JbPro","webcodecsDecodeErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.webcodecsDecodeError,e));const t=this._getVideoLastIframeInfo();if(this.webcodecsDecodeErrorOnLock=!0,this.player&&this.player._opt.wcsDecodeErrorReplay){const i=this._opt.url,s=this._opt.playOptions;let r={},a=this.player._opt.decoderErrorAutoWasm,o=!0;a?r={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(Br)?this._wcsDecodeErrorRetryLog.push(_a()):(a=!0,o=!1,r={useMSE:!1,useWCS:!1}),this.debugLog("JbPro",`webcodecs decode error autoWasm ${Io(o)?" and is not meaningful Retry":""} [wcs-> ${a?"wasm":"wcs"}] reset player and play`),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","webcodecs decode error reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeError,t,e),this.debugError("JbPro","webcodecs decode error reset player and play error",i)})).finally((()=>{this.webcodecsDecodeErrorOnLock=!1}))})).catch((()=>{this.webcodecsDecodeErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeError,t,e),this.debugError("JbPro","webcodecs decode error _resetPlayer error")}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeError,t,e),this.debugLog("JbPro","webcodecs decode error and autoWasm is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.webcodecsDecodeError,t,e),this.debugError("JbPro","webcodecs decode error and pause error",i)})).finally((()=>{this.webcodecsDecodeErrorOnLock=!1}))}}_handleWcsWidthOrHeightChange(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","wcsWidthOrHeightChange but player is destroyed"));if(this.wcsWidthOrHeightChangeOnLock)return void this.debugLog("JbPro","wcsWidthOrHeightChangeOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.wcsWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this.wcsWidthOrHeightChangeOnLock=!0,this.player&&this.player._opt.widthOrHeightChangeReplay){this.debugLog("JbPro","wcsWidthOrHeightChange and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._opt.widthOrHeightChangeReplayDelayTime>0?this.widthOrHeightChangeReplayDelayTimeout=setTimeout((()=>{this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this.debug&&this.debugLog("JbPro","wcsWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this.play(e,s).then((()=>{this.debugLog("JbPro","wcsWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}),1e3*this._opt.widthOrHeightChangeReplayDelayTime):this.play(e,s).then((()=>{this.debugLog("JbPro","wcsWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))})).catch((e=>{this.wcsWidthOrHeightChangeOnLock=!1,this.emit(vt.playFailedAndPaused,wt.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(vt.playFailedAndPaused,wt.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.wcsWidthOrHeightChange,i,t),this.debugError("JbPro","wcsWidthOrHeightChange error and pause error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}}_handleWebcodecsAudioNoDataTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webcodecsAudioNoDataTimeout but player is destroyed"));if(this.webcodecsAudioNoDataTimeoutOnLock)return void this.debugLog("JbPro","webcodecsAudioNoDataTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.webcodecsAudioNoDataTimeoutOnLock=!0,this.player&&this.player._opt.webcodecsAudioNoDataTimeoutReplay){this.debugLog("JbPro","webcodecsAudioNoDataTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={wcsDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","webcodecsAudioNoDataTimeout and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.webcodecsAudioNoDataTimeout,i,t),this.debugError("JbPro","webcodecsAudioNoDataTimeout and reset player and play error",e)})).finally((()=>{this.webcodecsAudioNoDataTimeoutOnLock=!1}))})).catch((e=>{this.webcodecsAudioNoDataTimeoutOnLock=!1,this.emit(vt.playFailedAndPaused,wt.webcodecsAudioNoDataTimeout,i,t),this.debugError("JbPro","webcodecsAudioNoDataTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.webcodecsAudioNoDataTimeout,i),this.debugError("JbPro","webcodecsAudioNoDataTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.webcodecsAudioNoDataTimeout,i),this.debugError("JbPro","webcodecsAudioNoDataTimeout error and pause error",e)})).finally((()=>{this.webcodecsAudioNoDataTimeoutOnLock=!1}))}}_handleWebcodecsAudioInitTimeout(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webcodecsAudioInitTimeout but player is destroyed"));if(this.webcodecsAudioInitTimeoutOnLock)return void this.debugLog("JbPro","webcodecsAudioInitTimeoutOnLock is true");const i=this._getVideoLastIframeInfo();if(this.webcodecsAudioInitTimeoutOnLock=!0,this.player&&this.player._opt.webcodecsAudioInitTimeoutReplay){this.debugLog("JbPro","webcodecsAudioInitTimeout and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={wcsDecodeAudio:!1};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(e,s).then((()=>{this.debugLog("JbPro","webcodecsAudioInitTimeout and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.webcodecsAudioInitTimeout,i,t),this.debugError("JbPro","webcodecsAudioInitTimeout and reset player and play error",e)})).finally((()=>{this.webcodecsAudioInitTimeoutOnLock=!1}))})).catch((e=>{this.webcodecsAudioInitTimeoutOnLock=!1,this.emit(vt.playFailedAndPaused,wt.webcodecsAudioInitTimeout,i,t),this.debugError("JbPro","webcodecsAudioInitTimeout and _resetPlayer error",e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.webcodecsAudioInitTimeout,i),this.debugError("JbPro","webcodecsAudioInitTimeout and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.webcodecsAudioInitTimeout,i),this.debugError("JbPro","webcodecsAudioInitTimeout error and pause error",e)})).finally((()=>{this.webcodecsAudioInitTimeoutOnLock=!1}))}}_handleSimdDecodeError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","simdDecodeError but player is destroyed"));if(this.simdDecodeErrorOnLock)return void this.debugLog("JbPro","simdDecodeErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.simdDecodeError,e));const t=this._getVideoLastIframeInfo();if(this.simdDecodeErrorOnLock=!0,this.player&&this.player._opt.simdDecodeErrorReplay){this.debugLog("JbPro",`simdDecodeError error simdDecodeErrorReplayType is ${this.player._opt.simdDecodeErrorReplayType} and reset player and play`);const i=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.simdDecodeErrorReplayType===W&&(r={useSIMD:!1}),this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","simdDecodeError and reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError and reset player and play error",i)})).finally((()=>{this.simdDecodeErrorOnLock=!1}))})).catch((i=>{this.simdDecodeErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError and simdDecodeErrorReplay is false")})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.simdDecodeError,t,e),this.debugError("JbPro","simdDecodeError error and pause error",i)})).finally((()=>{this.simdDecodeErrorOnLock=!1}))}}_handleWasmWidthOrHeightChange(t){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","wasmWidthOrHeightChange but player is destroyed"));if(this.wasmWidthOrHeightChangeOnLock)return void this.debugLog("JbPro","wasmWidthOrHeightChangeOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.wasmWidthOrHeightChange,t));const i=this._getVideoLastIframeInfo();if(this.wasmWidthOrHeightChangeOnLock=!0,this.player&&this.player._opt.widthOrHeightChangeReplay){this.debugLog("JbPro","wasmWidthOrHeightChange and reset player and play");const e=this._opt.url,s=this._opt.playOptions;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,i,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._opt.widthOrHeightChangeReplayDelayTime>0?this.widthOrHeightChangeReplayDelayTimeout=setTimeout((()=>{this.widthOrHeightChangeReplayDelayTimeout=null,this.isDestroyed()?this.debug&&this.debugLog("JbPro","wasmWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this.play(e,s).then((()=>{this.debugLog("JbPro","wasmWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}),1e3*this._opt.widthOrHeightChangeReplayDelayTime):this.play(e,s).then((()=>{this.debugLog("JbPro","wasmWidthOrHeightChange and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))})).catch((e=>{this.wasmWidthOrHeightChangeOnLock=!1,this.emit(vt.playFailedAndPaused,wt.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and _resetPlayer error",e)}))}else{const s=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(s).then((()=>{this.emit(vt.playFailedAndPaused,wt.wasmWidthOrHeightChange,i,t),this.debugError("JbPro","wasmWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{this.emit(vt.playFailedAndPaused,wt.wasmWidthOrHeightChange,i),this.debugError("JbPro","wasmWidthOrHeightChange error and pause error",e)})).finally((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}}_handleWasmUseVideoRenderError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","wasmUseVideoRenderError but player is destroyed"));if(this.wasmUseVideoRenderErrorOnLock)return void this.debugLog("JbPro","wasmUseVideoRenderErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.wasmUseVideoRenderError,e)),this.debugLog("JbPro","wasmUseVideoRenderError and reset player and play");const t=this._opt.url,i=this._opt.playOptions;this.wasmUseVideoRenderErrorOnLock=!0,this._resetPlayer({useVideoRender:!1,useCanvasRender:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","wasmUseVideoRenderError and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.wasmUseVideoRenderError,{},e),this.debugError("JbPro","wasmUseVideoRenderError and reset player and play error",t)})).finally((()=>{this.wasmUseVideoRenderErrorOnLock=!1}))})).catch((t=>{this.wasmUseVideoRenderErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.wasmUseVideoRenderError,{},e),this.debugError("JbPro","wasmUseVideoRenderError and _resetPlayer error",t)}))}_handleNotSupportNewWasm(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","notSupportNewWasm but player is destroyed"));if(this.notSupportNewWasmOnLock)return void this.debugLog("JbPro","notSupportNewWasmOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.notSupportNewWasm,e)),this.notSupportNewWasmOnLock=!0,this.debugLog("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useOldWasm:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.webcodecsH265NotSupport,e),this.debugError("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play error",t)})).finally((()=>{this.notSupportNewWasmOnLock=!1}))})).catch((e=>{this.notSupportNewWasmOnLock=!1,this.debugError("JbPro","notSupportNewWasm auto wasm [wasm-> old wasm] _resetPlayer and play error",e)}))}_handleVideoElementPlayingFailed(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","videoElementPlayingFailed but player is destroyed"));if(this.videoElementPlayingFailedOnLock)return void this.debugLog("JbPro","videoElementPlayingFailedOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.videoElementPlayingFailed,e));const t=this._getVideoLastIframeInfo();if(this.videoElementPlayingFailedOnLock=!0,this.player&&this.player._opt.videoElementPlayingFailedReplay){this.debugLog("JbPro",`videoElementPlayingFailed and useMSE is ${this._opt.useMSE} and reset player and play`);const i=this._opt.url,s=this._opt.playOptions;let r={useMSE:!1,useVideoRender:!1,useCanvasRender:!0};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","videoElementPlayingFailed and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and reset player and play error",t)})).finally((()=>{this.videoElementPlayingFailedOnLock=!1}))})).catch((t=>{this.videoElementPlayingFailedOnLock=!1,this.emit(vt.playFailedAndPaused,wt.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and videoElementPlayingFailedReplay is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.videoElementPlayingFailed,{},e),this.debugError("JbPro","videoElementPlayingFailed and _pause error",t)})).finally((()=>{this.videoElementPlayingFailedOnLock=!1}))}}_handleSimdH264DecodeVideoWidthIsTooLarge(e){if(this.isDestroyed())this.debug&&this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLarge but player is destroyed");else if(this.simdH264DecodeVideoWidthIsTooLargeOnLock)this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLargeOnLock is true");else if(this.emit(vt.crashLog,this.getCrashLog(wt.simdH264DecodeVideoWidthIsTooLarge,e)),this.simdH264DecodeVideoWidthIsTooLargeOnLock=!0,this.player&&this.player._opt.simdH264DecodeVideoWidthIsTooLargeReplay){this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLarge and reset player and play");const t=this._opt.url,i=this._opt.playOptions;this._resetPlayer({useSIMD:!1}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","simdH264DecodeVideoWidthIsTooLarge and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and reset player and play error",t)})).finally((()=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1}))})).catch((t=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1,this.emit(vt.playFailedAndPaused,wt.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and _resetPlayer error",t)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and simdDecodeErrorReplay is false")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.simdH264DecodeVideoWidthIsTooLarge,{},e),this.debugError("JbPro","simdH264DecodeVideoWidthIsTooLarge and pause error",t)})).finally((()=>{this.simdH264DecodeVideoWidthIsTooLargeOnLock=!1}))}}_handleNetworkDelayTimeout(e){if(this.player._opt.networkDelayTimeoutReplay){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","networkDelayTimeout but player is destroyed"));if(this.networkDelayTimeoutOnLock)return void this.debugLog("JbPro","networkDelayTimeoutOnLock is true");this.emit(vt.crashLog,this.getCrashLog(vt.networkDelayTimeout,e));const t=this._getVideoLastIframeInfo();this.debugLog("JbPro","network delay time out and reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player&&this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this.networkDelayTimeoutOnLock=!0,this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog("JbPro","wasm decode error and reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.networkDelayTimeout,t,e),this.debugError("JbPro","wasm decode error and reset player and play error",i)})).finally((()=>{this.networkDelayTimeoutOnLock=!1}))})).catch((()=>{this.networkDelayTimeoutOnLock=!1,this.emit(vt.playFailedAndPaused,vt.networkDelayTimeout,t,e),this.debugError("JbPro","wasm decode error and _resetPlayer error")}))}}_handleFlvDemuxBufferSizeTooLarge(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","flvDemuxBufferSizeTooLarge but player is destroyed"));if(this.flvDemuxBufferSizeTooLargeOnLock)return void this.debugLog("JbPro","flvDemuxBufferSizeTooLargeOnLock is true");const t=this._getVideoLastIframeInfo();if(this.flvDemuxBufferSizeTooLargeOnLock=!0,this.player._opt.flvDemuxBufferSizeTooLargeReplay){this.emit(vt.crashLog,this.getCrashLog(vt.flvDemuxBufferSizeTooLarge,e)),this.debugLog("JbPro","flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeReplay = true and reset player and play");const i=this._opt.url,s=this._opt.playOptions;let r={};this.player&&this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this.play(i,s).then((()=>{this.debugLog(this.TAG_NAME,"flv Demux Buffer Size Too Large and reset player and play success")})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.flvDemuxBufferSizeTooLarge,t,e),this.debugError(this.TAG_NAME,"flv Demux Buffer Size Too Large and reset player and play error",i)})).finally((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1}))})).catch((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1,this.emit(vt.playFailedAndPaused,vt.flvDemuxBufferSizeTooLarge,t,e),this.debugError(this.TAG_NAME,"flv Demux Buffer Size Too Large and _resetPlayer error")}))}else if(this._opt.flvDemuxBufferSizeTooLargeEmitFailed){this.debugLog(this.TAG_NAME,"flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeEmitFailed = true and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.flvDemuxBufferSizeTooLarge,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.flvDemuxBufferSizeTooLarge,t,e),this.debugError(this.TAG_NAME,"flv Demux Buffer Size Too Large",i)})).finally((()=>{this.flvDemuxBufferSizeTooLargeOnLock=!1}))}}_handleFetchError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","fetchError but player is destroyed"));if(this.fetchErrorOnLock)return void this.debugLog("JbPro","fetchErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.fetchError,e));const t=this._getVideoLastIframeInfo(),i=this._isNeedNetworkDisconnectReplay();if(this.fetchErrorOnLock=!0,this.player._opt.streamErrorReplay||i){i?this.debugLog("JbPro","fetch error and network is disconnect and reset player and play"):this.debugLog("JbPro",`fetch error and streamErrorReplay is true and _streamErrorReplayTimes is ${this._streamErrorReplayTimes}, streamErrorReplayDelayTime is ${this._opt.streamErrorReplayDelayTime}, next replay`);let s={};this.player._opt.replayUseLastFrameShow&&(s=Object.assign({},s,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(s.isNotMute=!0);const r=this._opt.playOptions,a=this._opt.url,o=i?1:this._opt.streamErrorReplayDelayTime;this._resetPlayer(s).then((()=>{this.streamErrorReplayDelayTimeout=setTimeout((()=>{if(this.streamErrorReplayDelayTimeout=null,this.isDestroyed())this.debug&&this.debugLog("JbPro","fetch error and _resetPlayer but player is destroyed and return");else{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","fetch error and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:a,options:r,type:wt.fetchError});this._streamErrorReplayTimes++,this.play(a,r).then((()=>{this.debugLog("JbPro","fetch error and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.fetchError,{},e),this.debugError("JbPro","fetch error and reset player and play error",t)})).finally((()=>{this.fetchErrorOnLock=!1}))}}),1e3*o)})).catch((t=>{this.fetchErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.fetchError,{},e),this.debugError("JbPro","fetch error and _resetPlayer error",t)}))}else{this.debugLog("JbPro","fetch error and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.fetchError,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.fetchError,t,e),this.debugError("JbPro","fetch error and pause",i)})).finally((()=>{this.fetchErrorOnLock=!1}))}}_handleStreamEnd(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","streamEnd but player is destroyed and return"));if(this.streamEndOnLock)return void this.debugLog("JbPro","streamEndOnLock is true");this.emit(vt.crashLog,this.getCrashLog(vt.streamEnd,e));const t=this._getVideoLastIframeInfo(),i=""+e=="1006"&&this.player._opt.websocket1006ErrorReplay,s=!!i&&this._checkIsMeaningfulRetry(Pr),r=i&&s,a=this.player._opt.streamEndReplay,o=this._isNeedNetworkDisconnectReplay();if(this.streamEndOnLock=!0,r||a||o){o?this.debugLog("JbPro","streamEnd and network is disconnect and reset player and play"):r?this.debugLog("JbPro",`streamEnd and websocket1006ErrorReplay is true and error is 1006 and _websocket1006ErrorReplayTimes is ${this._websocket1006ErrorReplayTimes} , delay ${this._opt.websocket1006ErrorReplayDelayTime}s reset player and play`):this.debugLog("JbPro",`streamEnd and isStreamEndReplay is true and and _streamEndReplayTimes is ${this._streamEndReplayTimes} , delay ${this._opt.streamEndReplayDelayTime}s reset player and play`);const s=this._opt.playOptions,a=this._opt.url;i&&this._websocket1006ErrorRetryLog.push(_a());let n={};this.player._opt.replayUseLastFrameShow&&(n=Object.assign({},n,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(n.isNotMute=!0);let l=r?this._opt.websocket1006ErrorReplayDelayTime:this._opt.streamEndReplayDelayTime;o&&(l=1),this._resetPlayer(n).then((()=>{this.streamEndReplayDelayTimeout=setTimeout((()=>{if(this.streamEndReplayDelayTimeout=null,this._removeLoadingBackgroundForIOS(),this.isDestroyed())o?this.debug&&this.debugLog("JbPro","streamEnd and network is disconnect and _resetPlayer() but player is destroyed and return"):r?this.debug&&this.debugLog("JbPro","streamEnd and 1006 error and _resetPlayer() but player is destroyed and return"):this.debug&&this.debugLog("JbPro","streamEnd and _resetPlayer() but player is destroyed and return");else{if(this._isNeedNetworkDisconnectReplay())return r?this.debugLog("JbPro","streamEnd and 1006 error network is offline and wait network online to play , so return"):this.debugLog("JbPro","streamEnd and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:a,options:s,type:r?wt.websocket1006Error:wt.streamEnd});r?this._websocket1006ErrorReplayTimes++:this._streamEndReplayTimes++,this.play(a,s).then((()=>{r?this.debugLog("JbPro","streamEnd and 1006 error and reset player and play success"):this.debugLog("JbPro","streamEnd and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.streamEnd,{},e),r?this.debugError("JbPro","streamEnd and 1006 error and reset player and play error",t):this.debugError("JbPro","streamEnd and reset player and play error",t)})).finally((()=>{this.streamEndOnLock=!1}))}}),1e3*l)})).catch((t=>{this.streamEndOnLock=!1,this.emit(vt.playFailedAndPaused,wt.streamEnd,{},e),r?this.debugError("JbPro","streamEnd and 1006 and _resetPlayer error",t):this.debugError("JbPro","streamEnd and _resetPlayer error",t)}))}else{i?this.debugLog("JbPro","streamEnd pause player "+(Io(s)?"and is not meaningful retry":"")):this.debugLog("JbPro","streamEnd pause player");const r=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(r).then((()=>{this.emit(vt.playFailedAndPaused,vt.streamEnd,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.streamEnd,t,e),this.debugError("JbPro","streamEnd pause",i)})).finally((()=>{this.streamEndOnLock=!1}))}}_handleWebsocketError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","websocketError but player is destroyed"));if(this.websocketErrorOnLock)return void this.debugLog("JbPro","websocketErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.websocketError,e));const t=this._getVideoLastIframeInfo(),i=this._isNeedNetworkDisconnectReplay();if(this.websocketErrorOnLock=!0,this.player._opt.streamErrorReplay||i){i?this.debugLog("JbPro","websocketError error and network is disconnect and reset player and play"):this.debugLog("JbPro",`websocketError error and streamErrorReplay is true and _streamErrorReplayTimes is ${this._streamErrorReplayTimes} and streamErrorReplayDelayTime is ${this._opt.streamErrorReplayDelayTime}, next replay`);let s={};this.player._opt.replayUseLastFrameShow&&(s=Object.assign({},s,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(s.isNotMute=!0);const r=this._opt.playOptions,a=this._opt.url,o=i?1:this._opt.streamErrorReplayDelayTime;this._resetPlayer(s).then((()=>{this.streamErrorReplayDelayTimeout=setTimeout((()=>{if(this.streamErrorReplayDelayTimeout=null,this.isDestroyed())i?this.debug&&this.debugLog("JbPro","websocketError error and network is disconnect and _resetPlayer() but player is destroyed and return"):this.debug&&this.debugLog("JbPro","websocketError error and _resetPlayer() but player is destroyed and return");else{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","websocketError error and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:a,options:r,type:wt.websocketError});this._streamErrorReplayTimes++,this.play(a,r).then((()=>{this.debugLog("JbPro","websocketError error and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.fetchError,{},e),this.debugError("JbPro","websocketError error and reset player and play error",t)})).finally((()=>{this.websocketErrorOnLock=!1}))}}),1e3*o)})).catch((t=>{this.websocketErrorOnLock=!1,this.emit(vt.playFailedAndPaused,wt.fetchError,{},e),this.debugError("JbPro","websocketError error and _resetPlayer error",t)}))}else{this.debugLog("JbPro","websocketError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.websocketError,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.websocketError,t,e),this.debugError("JbPro","websocketError and pause",i)})).finally((()=>{this.websocketErrorOnLock=!1}))}}_handleWebrtcError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webrtcError but player is destroyed"));if(this.webrtcErrorOnLock)return void this.debugLog("JbPro","webrtcErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.webrtcError,e));const t=this._getVideoLastIframeInfo();if(this._isNeedNetworkDisconnectReplay()){this.debugLog("JbPro","webrtcError error and network is offline and wait network online to play , so _resetPlayer and wait play");const i=this._opt.playOptions,s=this._opt.url;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._isNetworkOfflinePaused=!0,this._isNetworkOfflinePausedAndNextPlayConfig={url:s,options:i,type:wt.webrtcError}})).catch((()=>{this.emit(vt.playFailedAndPaused,wt.webrtcError,t,e),this.debugError("JbPro","webrtcError and _resetPlayer error")})).finally((()=>{this.webrtcErrorOnLock=!1}))}else{this.debugLog("JbPro","webrtcError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.webrtcErrorOnLock=!0,this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.webrtcError,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.webrtcError,t,e),this.debugError("JbPro","webrtcError and pause",i)})).finally((()=>{this.webrtcErrorOnLock=!1}))}}_handleHlsError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","hlsError but player is destroyed"));if(this.hlsErrorOnLock)return void this.debugLog("JbPro","hlsErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.hlsError,e));const t=this._getVideoLastIframeInfo();if(this._isNeedNetworkDisconnectReplay()){this.debugLog("JbPro","hlsError error and network is offline and wait network online to play , so _resetPlayer and wait play");const i=this._opt.playOptions,s=this._opt.url;let r={};this.player._opt.replayUseLastFrameShow&&(r=Object.assign({},r,t,{loadingIcon:this.player._opt.replayShowLoadingIcon})),Io(this.isMute())&&(r.isNotMute=!0),this._resetPlayer(r).then((()=>{this._isNetworkOfflinePaused=!0,this._isNetworkOfflinePausedAndNextPlayConfig={url:s,options:i,type:wt.hlsError}})).catch((()=>{this.emit(vt.playFailedAndPaused,wt.hlsError,t,e),this.debugError("JbPro","hlsError and _resetPlayer error")})).finally((()=>{this.hlsErrorOnLock=!1}))}else{this.debugLog("JbPro","hlsError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.hlsErrorOnLock=!0,this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.hlsError,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.hlsError,t,e),this.debugError("JbPro","hlsError and pause",i)})).finally((()=>{this.hlsErrorOnLock=!1}))}}_handleAliyunRtcError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","aliyunRtcError but player is destroyed"));if(this.aliyunRtcErrorOnLock)return void this.debugLog("JbPro","aliyunRtcErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.aliyunRtcError,e));const t=this._getVideoLastIframeInfo();this.debugLog("JbPro","aliyunRtcError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.aliyunRtcErrorOnLock=!0,this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.aliyunRtcError,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.aliyunRtcError,t,e),this.debugError("JbPro","aliyunRtcError and pause",i)})).finally((()=>{this.aliyunRtcErrorOnLock=!1}))}_handleDecoderWorkerInitError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","decoderWorkerInitError but player is destroyed"));if(this.decoderWorkerInitErrorOnLock)return void this.debugLog("JbPro","decoderWorkerInitErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.decoderWorkerInitError,e));const t=this._getVideoLastIframeInfo();this.debugLog("JbPro","decoderWorkerInitError and pause player");const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.decoderWorkerInitErrorOnLock=!0,this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.decoderWorkerInitError,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.decoderWorkerInitError,t,e),this.debugError("JbPro","decoderWorkerInitError and pause",i)})).finally((()=>{this.decoderWorkerInitErrorOnLock=!1}))}_handleDecoderWorkerWasmError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","decoderWorkerWasmError but player is destroyed"));if(this.decoderWorkerWasmErrorOnLock)return void this.debugLog("JbPro","decoderWorkerWasmErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.decoderWorkerWasmError,e)),this.debugLog("JbPro","decoderWorkerWasmError and pause player");const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.decoderWorkerWasmErrorOnLock=!0,this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.decoderWorkerWasmError,{},e)})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.decoderWorkerWasmError,{},e),this.debugError("JbPro","decoderWorkerWasmError and pause",t)})).finally((()=>{this.decoderWorkerWasmErrorOnLock=!1}))}_handleVideoElementPlayingFailedForWebrtc(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","videoElementPlayingFailedForWebrtc but player is destroyed"));if(this.videoElementPlayingFailedForWebrtcOnLock)return void this.debugLog("JbPro","videoElementPlayingFailedForWebrtcOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.videoElementPlayingFailedForWebrtc,e)),this.debugLog("JbPro","videoElementPlayingFailedForWebrtc and pause player");const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.videoElementPlayingFailedForWebrtcOnLock=!0,this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.videoElementPlayingFailedForWebrtc,{},e)})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.videoElementPlayingFailedForWebrtc,{},e),this.debugError("JbPro","videoElementPlayingFailedForWebrtc and pause",t)})).finally((()=>{this.videoElementPlayingFailedForWebrtcOnLock=!1}))}_handleVideoInfoError(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","videoInfoError but player is destroyed"));if(this.videoInfoErrorOnLock)return void this.debugLog("JbPro","videoInfoErrorOnLock is true");this.emit(vt.crashLog,this.getCrashLog(wt.videoInfoError,e)),this.debugLog("JbPro","videoInfoError and pause player");const t=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this.videoInfoErrorOnLock=!0,this._pause(t).then((()=>{this.emit(vt.playFailedAndPaused,wt.videoInfoError,{},e)})).catch((t=>{this.emit(vt.playFailedAndPaused,wt.videoInfoError,{},e),this.debugError("JbPro","videoInfoError and pause",t)})).finally((()=>{this.videoInfoErrorOnLock=!1}))}_handleWebrtcStreamH265(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","webrtcStreamH265 but player is destroyed"));if(this.webrtcStreamH265OnLock)return void this.debugLog("JbPro","webrtcStreamH265OnLock is true");this.debugLog("JbPro","webrtcStreamH265 and reset player and play");const t=this._opt.url,i=this._opt.playOptions;this.webrtcStreamH265OnLock=!0,this._resetPlayer({isWebrtcH265:!0}).then((()=>{this.play(t,i).then((()=>{this.debugLog("JbPro","webrtcStreamH265 and reset player and play success")})).catch((t=>{this.emit(vt.playFailedAndPaused,vt.webrtcStreamH265,{},e),this.debugError("JbPro","webrtcStreamH265 and reset player and play error",t)})).finally((()=>{this.webrtcStreamH265OnLock=!1}))})).catch((()=>{this.webrtcStreamH265OnLock=!1,this.emit(vt.playFailedAndPaused,vt.webrtcStreamH265,{},e),this.debugError("JbPro","webrtcStreamH265 and _resetPlayer error")}))}_handlePlaybackEnd(){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","playbackEnd but player is destroyed"));if(this.playbackEndOnLock)return void this.debugLog("JbPro","playbackEndOnLock is true");const e=!1===this._opt.playFailedUseLastFrameShow,t=this._getVideoLastIframeInfo();this.player.setPlayFailedAndPaused(),this.playbackEndOnLock=!0,this._pause(e).then((()=>{this.emit(vt.playFailedAndPaused,vt.playbackEnd,t,"")})).catch((e=>{this.emit(vt.playFailedAndPaused,vt.playbackEnd,t,""),this.debugError("JbPro","playbackEnd and pause",e)})).finally((()=>{this.playbackEndOnLock=!1}))}_handleDelayTimeout(e){if(this.isDestroyed())return void(this.debug&&this.debugWarn("JbPro","delay timeout replay but player is destroyed"));this.emit(vt.crashLog,this.getCrashLog(vt.delayTimeout,e));const t=this._getVideoLastIframeInfo();if(this.player&&this.player._opt.heartTimeoutReplay&&(this._heartTimeoutReplayTimes{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","delayTimeout and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:i,options:s,type:vt.delayTimeout});this.play(i,s).then((()=>{})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.delayTimeout,t,e),this.debugError("JbPro","delay timeout replay error",i)}))})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.delayTimeout,t,e),this.debugError("JbPro","delay timeout _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,vt.delayTimeout,t,e),this.player&&(this.emit(vt.delayTimeoutRetryEnd),this.emit(vt.playFailedAndPaused,vt.delayTimeoutRetryEnd)),this.debugWarn("JbPro",`delayTimeoutRetryEnd and\n opt.heartTimeout is ${this.player&&this.player._opt.heartTimeout} and\n opt.heartTimeoutReplay is ${this.player&&this.player._opt.heartTimeoutReplay} and\n opt.heartTimeoutReplayTimes is ${this.player&&this.player._opt.heartTimeoutReplayTimes},and\n local._heartTimeoutReplayTimes is ${this._heartTimeoutReplayTimes}`)})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.delayTimeout,t,e),this.debugError("JbPro","delay timeout and pause error",i)}))}}_handleLoadingTimeout(e){if(this.isDestroyed())return void(this.debug&&this.debugLog("JbPro","loading timeout but player is destroyed"));this.emit(vt.crashLog,this.getCrashLog(vt.loadingTimeout,e));const t=this._getVideoLastIframeInfo();if(this.player&&this.player._opt.loadingTimeoutReplay&&(this._loadingTimeoutReplayTimes{if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro","loadingTimeout and network is offline and wait network online to play , so return"),this._isNetworkOfflinePaused=!0,void(this._isNetworkOfflinePausedAndNextPlayConfig={url:i,options:s,type:vt.loadingTimeout});this.play(i,s).then((()=>{})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.loadingTimeout,t,e),this.debugError("JbPro","loading timeout replay error",i)}))})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.loadingTimeout,t,e),this.debugError("JbPro","loading timeout _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,vt.loadingTimeout,t,e),this.player&&(this.emit(vt.loadingTimeoutRetryEnd),this.emit(vt.playFailedAndPaused,vt.loadingTimeoutRetryEnd,t,e),this._opt.loadingTimeoutRetryEndShowPlayBtn&&this.player.showPlayBtn()),this.debugLog("JbPro",`loadingTimeoutRetryEnd and\n opt.loadingTimeout is ${this.player&&this.player._opt.loadingTimeout} and\n opt.loadingTimeoutReplay is ${this.player&&this.player._opt.loadingTimeoutReplay} and\n local._loadingTimeoutReplayTimes time is ${this._loadingTimeoutReplayTimes} and\n opt.loadingTimeoutReplayTimes is ${this.player&&this.player._opt.loadingTimeoutReplayTimes}`)})).catch((i=>{this.emit(vt.playFailedAndPaused,vt.loadingTimeout,t,e),this.debugError("JbPro","loading timeout and pause error",i)}))}}_handleInitDecoderWorkerTimeout(e){if(this.isDestroyed())return void this.debugLog("JbPro","InitDecoderWorkerTimeout but player is destroyed");this.emit(vt.crashLog,this.getCrashLog(wt.initDecoderWorkerTimeout,e)),this.debugLog("JbPro","InitDecoderWorkerTimeout and pause player");const t=this._getVideoLastIframeInfo(),i=!1===this._opt.playFailedUseLastFrameShow;this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{this.emit(vt.playFailedAndPaused,wt.initDecoderWorkerTimeout,t,e)})).catch((i=>{this.emit(vt.playFailedAndPaused,wt.initDecoderWorkerTimeout,t,e),this.debugError("JbPro","videoInfoError and pause",i)}))}_handlePlayVodEnded(){if(this.isDestroyed())return void this.debugLog("JbPro","_handlePlayVodEnded but player is destroyed");if(this.player._opt.playVodEndedAndAutoReplay)return this.debugLog(this.TAG_NAME,"play vod ended and replay player"),void this._handlePlayVodEndedAndReplay();this.debugLog(this.TAG_NAME,"play vod ended and pause player");const e=!1===this._opt.playFailedUseLastFrameShow;this._pause(e).then((()=>{this.debugLog("JbPro","play vod ended and pause success")})).catch((e=>{this.debugError("JbPro","play vod ended and pause error",e)}))}_handlePlayVodEndedAndReplay(){const e=this._opt.url,t=this._opt.playOptions;this._resetPlayer().then((()=>{this.play(e,t).then((()=>{this.debug.log(this.TAG_NAME,"playVodEndedAndReplay and reset player and play success")})).catch((e=>{this.emit(vt.playFailedAndPaused,vt.playVodEndedAndReplay),this.debug.error(this.TAG_NAME,"playVodEndedAndReplay and reset player and play error",e)}))})).catch((()=>{this.emit(vt.playFailedAndPaused,vt.playVodEndedAndReplay),this.debugError(this.TAG_NAME,"playVodEndedAndReplay and _resetPlayer error")}))}_checkInitDecoderWorkerTimeout(){this._clearInitDecoderWorkerTimeout(),this.initDecoderWorkerTimeout=setTimeout((()=>{this._handleInitDecoderWorkerTimeout(wt.initDecoderWorkerTimeout)}),1e3*this._opt.initDecoderWorkerTimeout)}_clearInitDecoderWorkerTimeout(){this.initDecoderWorkerTimeout&&(clearTimeout(this.initDecoderWorkerTimeout),this.initDecoderWorkerTimeout=null)}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s1?t-1:0),s=1;s{if(this.isDestroyed())return t("player is destroyed");this.debugLog("JbPro","resetPlayer()");const i=this._getOriginalOpt();this._resetPlayer(i).then((()=>{this.debugLog("JbPro","resetPlayer() success"),e()})).catch((e=>{this.debugWarn("JbPro","resetPlayer() error",e.toString(),e),t(e)}))}))}updateDynamicWatermark(e){this.isDestroyed()||(this.debugLog("JbPro","updateDynamicWatermark()",e),this.player?this.player.updateDynamicWatermark(e):this.debugWarn("JbPro","updateDynamicWatermark() player is not init"))}removeDynamicWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeDynamicWatermark()"),this.player?this.player.removeDynamicWatermark():this.debugWarn("JbPro","removeDynamicWatermark() player is not init"))}updateGhostWatermark(e){this.isDestroyed()||(this.debugLog("JbPro","updateGhostWatermark()",e),this.player?this.player.updateGhostWatermark(e):this.debugWarn("JbPro","updateGhostWatermark() player is not init"))}removeGhostWatermark(){this.isDestroyed()||(this.debugLog("JbPro","removeGhostWatermark()"),this.player?this.player.removeGhostWatermark():this.debugWarn("JbPro","removeGhostWatermark() player is not init"))}playVod(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{const r=Do(),a=Object.assign({},r.playVodConfig,this._opt.playVodConfig,t);this._resetPlayer({videoBuffer:0,playType:E,playVodConfig:a,cryptoKey:t.cryptoKey||"",cryptoIV:t.cryptoIV||"",openWebglAlignment:!0,useMSE:a.useMSE,useWCS:a.useWCS,useSIMD:a.useSIMD,supportHls265:!0}).then((()=>{this.play(e,t).then((()=>{i()})).catch((e=>{s(e)}))})).catch((e=>{s(e)}))}))}playVodPause(){return this.debug.log("JbPro","playVodPause()"),new Promise(((e,t)=>{this.player.playVodPause=!0,e()}))}playVodResume(){return this.debug.log("JbPro","playVodResume()"),new Promise(((e,t)=>{this.player.playVodPause=!1,e()}))}playVodForward(e){return this.debugLog("JbPro",`playVodForward() ${e}`),Io(this._opt.isLive)||this._opt.playType!==E?Promise.reject("forward() method only just for play vod type"):Ga(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodForward(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodForward() params "rate": ${e} must be number type`)}playVodNormal(){return this.playVodForward(1)}playVodSeek(e){return this.debugLog("JbPro",`playVodSeek() ${e}`),Io(this._opt.isLive)||this._opt.playType!==E?Promise.reject("playVodSeek() method only just for play vod type"):Ga(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodSeek(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodSeek() params "time": ${e} must be number type`)}playVodForwardJumping(e){return this.debugLog("JbPro",`playVodForwardJumping() ${e}`),Io(this._opt.isLive)||this._opt.playType!==E?Promise.reject("playVodForwardJumping() method only just for play vod type"):Ga(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodForwardJumping(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodForwardJumping() params "time": ${e} must be number type`)}playVodBackwordJumping(e){return this.debugLog("JbPro",`playVodBackwordJumping() ${e}`),Io(this._opt.isLive)||this._opt.playType!==E?Promise.reject("playVodBackwordJumping() method only just for play vod type"):Ga(Number(e))?new Promise(((t,i)=>{this.player?this.player.playVodBackwordJumping(e).then((()=>{t()})).catch((e=>{i(e)})):i("player is not playing")})):Promise.reject(`playVodBackwordJumping() params "time": ${e} must be number type`)}getPlayVodDuration(){let e=0;return this.player&&(e=this.player.getPlayVodDuration()),e}getPlayVodCurrentTime(){let e=0;return this.player&&(e=this.player.getPlayVodCurrentTime()),e}getPlayVodCurrentRate(){let e=1;return this.player&&(e=this.player.getPlayVodCurrentRate()),e}}j_.ERROR=wt,j_.EVENTS=_t,window.JessibucaPro=j_,window.JbPro=j_,window.WebPlayerPro=j_;Pc('.jb-pro-multi-container .jb-pro-multi-player-container-v2{overflow:hidden;width:100%;height:100%;position:relative;display:grid;grid-template-columns:repeat(var(--split),1fr);grid-template-rows:repeat(var(--split),1fr)}.jb-pro-multi-container .jb-pro-multi-player-container-v2 .jb-pro-multi-player{overflow:hidden;position:relative;width:100%;height:100%}.jb-pro-multi-container .jb-pro-multi-player-container-v2 .jb-pro-multi-player .jb-pro-multi-player-draw-window{position:absolute;z-index:1;width:calc(100% - 2px);height:calc(100% - 2px);color:#fff;transition:all .25s}.jb-pro-multi-container .jb-pro-multi-player-container-v2 .jb-pro-multi-player .jb-pro-multi-player-video-window{position:absolute;left:1px;top:1px;z-index:2;width:calc(100% - 2px);height:calc(100% - 2px)}.jb-pro-multi-container .jb-pro-multi-player[fullscreen="1"]{grid-column-start:1;grid-column-end:9;grid-row-start:1;grid-row-end:9;z-index:1}.jb-pro-multi-container .jb-pro-multi-layout-6 .jb-pro-multi-player[order="0"]{grid-column-start:1;grid-column-end:3;grid-row-start:1;grid-row-end:3}.jb-pro-multi-container .jb-pro-multi-layout-6 .jb-pro-multi-player[fullscreen="1"]{grid-column-start:1;grid-column-end:9;grid-row-start:1;grid-row-end:9;z-index:1}.jb-pro-multi-container .jb-pro-multi-layout-9 .jb-pro-multi-player[order="0"]{grid-column-start:1;grid-column-end:4;grid-row-start:1;grid-row-end:4}.jb-pro-multi-container .jb-pro-multi-layout-9 .jb-pro-multi-player[fullscreen="1"]{grid-column-start:1;grid-column-end:9;grid-row-start:1;grid-row-end:9;z-index:1}');class G_ extends a{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this._opt={},Object.keys(e).forEach((t=>{if(void 0===e[t])throw new Error(`jb-pro-multi option "${t}" can not be undefined`)}));const t=Co(Os);this._opt=Object.assign({},t,e),this.LOG_TAG="jbProMulti",this.debug=new $r(this);let i=e.container;if("string"==typeof e.container&&(i=document.querySelector(e.container)),!i)throw this.debugError(this.TAG_NAME,"Jb-pro-multi need container option"),new Error("Jb-pro-multi need container option");if("CANVAS"===i.nodeName||"VIDEO"===i.nodeName)throw new Error(`Jb-pro-multi container type can not be ${i.nodeName} type`);if(!i.classList)throw this.debugError(this.TAG_NAME,"Jb-pro-multi container is invalid, must be a DOM Element",i),new Error("Jb-pro-multi container is invalid, must be a DOM Element",i);if(this._checkHasCreated(i))throw this.debugError(this.TAG_NAME,"Jb-pro-multi container has been created and can not be created again",i),new Error("Jb-pro-multi container has been created and can not be created again",i);i.classList.add("jb-pro-multi-container"),Bo(i,oe,Oa()),delete this._opt.container,this.maxWindowSize=this._opt.maxSplit*this._opt.maxSplit,this.currentWindowIndex=-1,this.currentWindowUuid=null,this.specialLayoutType=null,this.startDragWindowItem=null,this.checkRectInterval=null,this.windowList=[],this.$container=i,this.events=new Ho(this),this._opt.split||(this._opt.split=1),Po(this._opt.draggable)?this._initWindows$2():this._initWindows(),this._innerArrangeWindow(this._opt.split,!0),this._initEvents(),this._handleWindowSelect(0),this._listenFullscreenChange()}destroy(){return new Promise(((e,t)=>{if(this.debugLog(this.LOG_TAG,"destroy()"),this.off(),this.events&&(this.events.destroy(),this.events=null),this.checkRectInterval&&(clearInterval(this.checkRectInterval),this.checkRectInterval=null),this.specialLayoutType=null,this.startDragWindowItem=null,this.currentWindowUuid=null,this.currentWindowIndex=-1,this.$container&&(this.$container.classList.remove("jb-pro-multi-container"),Fo(this.$container,oe),this.$container=null),this.windowList){const i=[];this.windowList.forEach((e=>{e.$playerContainerEvents.forEach((e=>{e()})),e.player&&i.push(e.player.destroy())})),Promise.all(i).then((()=>{this.windowList.forEach((e=>{e.player=null})),this.windowList=[],e()})).catch((e=>{t(e)}))}else e();this.debugLog(this.LOG_TAG,"destroy")}))}_createPlayer(e){var t=this;const i=this._findWindowItemIndex(e),s=e.uuid,r=this._opt;r.supportDblclickContainerFullscreen&&(r.supportDblclickFullscreen=!1);const a=new j_({...r,isMulti:!0,multiIndex:i,multiUuid:s,container:e.$player});return Object.keys(_t).forEach((e=>{a.on(_t[e],(function(){for(var i=arguments.length,s=new Array(i),r=0;r{this.emit(vt.close,i),e.player=null})),a}_initWindows(){let e="";for(let t=0;t\n
      \n
      \n
      \n `;const t=`
      ${e}
      `;this.$container.innerHTML=t;const i=this.$container.querySelectorAll(".jb-pro-multi-player");for(let e=0;e\n
      \n
      \n
      \n `;const i=`
      \n ${e}\n
      `;this.$container.innerHTML=i,this.$multiContainer=this.$container.querySelector(".jb-pro-multi-player-container-v2");const s=this.$container.querySelectorAll(".jb-pro-multi-player");for(let e=0;e{const s=t.$playerContainer,r=e(s,"click",(e=>{e.preventDefault();const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerClickDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);if(this.emit(Ns.selected,i,e),this.getSelectedWindowUuid()===t){if(this._getWindowItem(t).isContainerFullscreen)return}1!==this._opt.split&&this._handleWindowSelect(i)})),a=e(s,"dblclick",(e=>{e.preventDefault();const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"dblclickDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this.emit(Ns.dblSelected,i,e),this._opt.supportDblclickContainerFullscreen&&1!==this._opt.split&&this._handleWindowContainerFullscreen(i)})),o=e(s,"mouseup",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerMouseupDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this.emit(Ns.mouseup,i,e)})),n=e(s,"mouseover",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerMouseoverDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this.emit(Ns.mouseover,i,e)})),l=e(s,"mouseout",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerMouseoutDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this.emit(Ns.mouseout,i,e)})),d=e(s,"mousedown",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerMousedownDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this.emit(Ns.mousedown,i,e)})),h=e(s,"dragover",(e=>{e.preventDefault()})),c=e(s,"dragenter",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerDragEnterDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this._getWindowItem(t),this.emit(Ns.dragenter,i,e,{uuid:t})})),u=e(s,"dragleave",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerDragLeaveDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this._getWindowItem(t),this.emit(Ns.dragleave,i,e,{uuid:t})})),p=e(s,"drop",(e=>{e.preventDefault();const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerDropDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t),r={};if(this._opt.draggable&&this.startDragWindowItem){const e=this.startDragWindowItem.$playerContainer,i=this.startDragWindowItem.player,a=this.startDragWindowItem.uuid,o=e.style.order;e.style.order=s.style.order,e.setAttribute("order",e.style.order),s.style.order=o,s.setAttribute("order",o);const n=this.getWindowItem(t);this.debugLog(this.LOG_TAG,`player Drop ${o} -> ${e.style.order}`),this._sortWindows(),r.fromUuid=a,r.toUuid=t,r.fromOrderIndex=Ua(o),r.toOrderIndex=Ua(e.style.order),i&&i._updateMultiIndex(Ua(e.style.order)),n.player&&n.player._updateMultiIndex(Ua(o))}this.emit(Ns.drop,i,e,r)}));if(t.$playerContainerEvents=[r,o,n,l,d,a,h,c,u,p],this._opt.draggable){const i=e(s,"dragstart",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerDragStartDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this._handleWindowSelect(i),this.startDragWindowItem=this._getWindowItem(i),this.emit(Ns.dragstart,i,e,{uuid:t})}));t.$playerContainerEvents.push(i)}if(this._opt.supportMousemoveEvent){const i=e(s,"mousemove",(e=>{const t=Mo(s,"uuid");if(!t)return void this.debugError(this.LOG_TAG,"playerMousemoveDestroy() data-uuid is not exist");const i=this._findWindowItemIndexByUuid(t);this.emit(Ns.mousemove,i,e)}));t.$playerContainerEvents.push(i)}}))}_getContainerRect(){const e=this.$container.getBoundingClientRect();return{width:parseInt(e.width),height:parseInt(e.height)}}_updateWindows(){const e=this._getContainerRect(),t=e.width,i=e.height,s=this._opt.split,r=t%s,a=i%s,o=(t-r-2*s)/s,n=(i-a-2*s)/s,l=(t-r)/s,d=(i-a)/s;let h=this._getCurrentMaxSplit();for(let e=0;e=Math.pow(s,2)?a:0),m=l+(e%s==s-1?r:0),g=d+(e+s>=Math.pow(s,2)?a:0);i.style.width=m+"px",i.style.height=g+"px",i.style.display="block",c.style.width=u+"px",c.style.height=p+"px",c.style.display="block",h.style.width=u+"px",h.style.height=p+"px",h.style.display="block",t.player&&t.player.resize()}if(this.specialLayoutType){const e=this.windowList[0],t=e.$playerContainer,i=e.$player,s=e.$playerBorder,r=t.style.width.replace("px",""),a=t.style.height.replace("px",""),o=i.style.width.replace("px",""),n=i.style.height.replace("px","");let l,d,c,u;this.specialLayoutType===js?(l=2*r,d=2*a,c=2*o+2,u=2*n+2):this.specialLayoutType===Gs&&(l=3*r,d=3*a,c=3*o+4,u=3*n+4),t.style.width=l+"px",t.style.height=d+"px",i.style.width=c+"px",i.style.height=u+"px",s.style.width=c+"px",s.style.height=u+"px",e.player&&e.player.resize(),h=this._getSpecialMaxSplit()}for(let e=h;e{0===t&&wa(e.$playerContainer,"display","block"),e.$playerContainer.setAttribute("fullscreen","0"),e.$playerContainer.style.fullscreen="0",e.$playerContainer.draggable=this._opt.split>1}))}_sortWindows(){const e=[];for(let t=0;t1&&(this.windowList.forEach((e=>{t.$playerBorder.style.display="block",e.$playerBorder.style.border=`1px solid ${this._opt.style.border}`})),this._opt.showSelectedBorder&&(t.$playerBorder.style.border=`1px solid ${this._opt.style.borderSelect}`))):this.debugWarn(this.LOG_TAG,`_handleWindowSelect() ${e} is not exist`),1===this._opt.split&&(t.$playerBorder.style.display="none")}_handleWindowContainerFullscreen(e,t){const i=this._getWindowItem(e);if(i){if(qa(t)&&t===i.isContainerFullscreen)return;if(this._opt.draggable){if(i.isContainerFullscreen){if(i.$playerContainer.setAttribute("fullscreen","0"),i.$playerContainer.style.fullscreen="0",this.specialLayoutType){wa(this.windowList[0].$playerContainer,"display","block")}}else if(i.$playerContainer.setAttribute("fullscreen","1"),i.$playerContainer.style.fullscreen="1",this.specialLayoutType){if(0!==this._findWindowItemIndexByUuid(i.uuid)){wa(this.windowList[0].$playerContainer,"display","none")}}}else if(i.isContainerFullscreen)i.$playerContainer.style.position="relative",i.$playerContainer.style.left="auto",i.$playerContainer.style.top="auto",i.$playerContainer.style.zIndex="auto",i.$playerContainer.style.width=i.prevInfo.playerContainerWidth,i.$playerContainer.style.height=i.prevInfo.playerContainerHeight,i.$player.style.width=i.prevInfo.playerWidth,i.$player.style.height=i.prevInfo.playerHeight,this.getSelectedWindowUuid()===i.uuid&&(i.$playerBorder.style.display="block");else{const e=this._getContainerRect(),t=e.width,s=e.height;i.prevInfo={playerContainerWidth:i.$playerContainer.style.width,playerContainerHeight:i.$playerContainer.style.height,playerWidth:i.$player.style.width,playerHeight:i.$player.style.height},i.$playerContainer.style.position="absolute",i.$playerContainer.style.top="0",i.$playerContainer.style.left="0",i.$playerContainer.style.zIndex="10",i.$playerContainer.style.width=t+"px",i.$playerContainer.style.height=s+"px",i.$player.style.width=t+"px",i.$player.style.height=s+"px",i.$playerBorder.style.display="none"}i.isContainerFullscreen=!i.isContainerFullscreen,i.player&&i.player.resize()}else this.debugWarn(this.LOG_TAG,`handleWindowContainerFullscreen() ${e} is not exist`)}_handleFullscreenResize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,t=this._getContainerRect(),i=0;this.checkRectInterval=setInterval((()=>{const s=qr.isFullscreen,r=this._getContainerRect(),a={width:screen.width,height:screen.height};this.debugLog(this.LOG_TAG,`isInFullscreen ${s} , checkRectInterval times : ${i} nowRect:${JSON.stringify(r)}, prevRect:${JSON.stringify(t)} ,window screen rect:${JSON.stringify(a)}`);const o=r.width===t.width&&r.height===t.height,n=!s||a.width-r.width<10&&a.height-r.height<10;if(o&&n||i>=e)return this.checkRectInterval&&(clearInterval(this.checkRectInterval),this.checkRectInterval=null),void this.resize();t=r,i++}),1e3)}_listenFullscreenChange(){try{const e=e=>{po(e)===this.$container&&(this.emit(Ns.multiFullscreen,qr.isFullscreen),qr.isFullscreen||-1!==window.navigator.userAgent.indexOf("Edg")?this._handleFullscreenResize():this.resize())};qr.on("change",e),this.events.destroys.push((()=>{qr.off("change",e)}))}catch(e){}}play(e,t,i){return new Promise(((s,r)=>{(Ga(t)||ho(t))&&(i=t,t={});const a=this._getWindowItem(i);if(a)if(a.player)a.player.play(e,t).then((()=>{s()})).catch((e=>{r(e)}));else{const i=this._createPlayer(a);a.player=i,i.play(e,t).then((()=>{s()})).catch((e=>{r(e)}))}else r(`play() windowIndex ${i} is not exist`)}))}getOption(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getOption():(this.debugWarn(this.LOG_TAG,`getOption() windowIndex ${e} is not exist`),{})}setDebug(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setDebug(e):this.debugWarn(this.LOG_TAG,`setDebug() windowIndex ${t} is not exist`)}mute(e){const t=this._getWindowItem(e);t&&t.player?t.player.mute():this.debugWarn(this.LOG_TAG,`mute() windowIndex ${e} is not exist`)}cancelMute(e){const t=this._getWindowItem(e);t&&t.player?t.player.cancelMute():this.debugWarn(this.LOG_TAG,`cancelMute() windowIndex ${e} is not exist`)}setVolume(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setVolume(e):this.debugWarn(this.LOG_TAG,`setVolume() windowIndex ${t} is not exist`)}audioResume(e){const t=this._getWindowItem(e);t&&t.player?t.player.audioResume():this.debugWarn(this.LOG_TAG,`audioResume() windowIndex ${e} is not exist`)}setTimeout(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setTimeout(e):this.debugWarn(this.LOG_TAG,`setTimeout() windowIndex ${t} is not exist`)}setScaleMode(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setScaleMode(e):this.debugWarn(this.LOG_TAG,`setScaleMode() windowIndex ${t} is not exist`)}pause(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0;return new Promise(((i,s)=>{const r=this._getWindowItem(t);r&&r.player?r.player.pause(e).then((()=>{i()})).catch((e=>{s(e)})):s(`pause() windowIndex ${t} is not exist`)}))}close(e){return new Promise(((t,i)=>{const s=this._getWindowItem(e);s&&s.player?s.player.close().then((()=>{t()})).catch((e=>{i(e)})):i(`close() windowIndex ${e} is not exist`)}))}clearView(e){const t=this._getWindowItem(e);t&&t.player?t.player.clearView():this.debugWarn(this.LOG_TAG,`clearView() windowIndex ${e} is not exist`)}setStreamQuality(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setStreamQuality(e):this.debugWarn(this.LOG_TAG,`setStreamQuality() windowIndex ${t} is not exist`)}resize(){this._opt.draggable?this._updateWindows$2():this._updateWindows()}setBufferTime(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setBufferTime(e):this.debugWarn(this.LOG_TAG,`setBufferTime() windowIndex ${t} is not exist`)}setBufferDelayTime(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setBufferDelayTime(e):this.debugWarn(this.LOG_TAG,`setBufferDelayTime() windowIndex ${t} is not exist`)}setRotate(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setRotate(e):this.debugWarn(this.LOG_TAG,`setRotate() windowIndex ${t} is not exist`)}setMirrorRotate(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setMirrorRotate(e):this.debugWarn(this.LOG_TAG,`setMirrorRotate() windowIndex ${t} is not exist`)}updateIsEmitSEI(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.updateIsEmitSEI(e):this.debugWarn(this.LOG_TAG,`updateIsEmitSEI() windowIndex ${t} is not exist`)}setAspectRatio(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setAspectRatio(e):this.debugWarn(this.LOG_TAG,`setAspectRatio() windowIndex ${t} is not exist`)}hasLoaded(e){const t=this._getWindowItem(e);return!(!t||!t.player)&&t.player.hasLoaded()}setKeepScreenOn(e){const t=this._getWindowItem(e);t&&t.player?t.player.setKeepScreenOn():this.debugWarn(this.LOG_TAG,`setKeepScreenOn() windowIndex ${e} is not exist`)}setFullscreen(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setFullscreen(e):this.debugWarn(this.LOG_TAG,`setFullscreen() windowIndex ${t} is not exist`)}screenshot(e,t){const i=this._getWindowItem(t);return i&&i.player?i.player.screenshot(e.filename,e.format,e.quality,e.type):null}screenshotWatermark(e,t){const i=this._getWindowItem(t);return i&&i.player?i.player.screenshotWatermark(e):null}startRecord(e,t,i){return new Promise(((s,r)=>{const a=this._getWindowItem(i);a&&a.player?a.player.startRecord(e,t).then((()=>{s()})).catch((e=>{r(e)})):(this.debugWarn(this.LOG_TAG,`startRecord() windowIndex ${i} is not exist`),r(`windowIndex ${i} is not exist`))}))}stopRecordAndSave(e,t,i){return new Promise(((s,r)=>{const a=this._getWindowItem(i);a&&a.player?a.player.stopRecordAndSave(e,t).then((e=>{s(e)})).catch((e=>{r(e)})):(this.debugWarn(this.LOG_TAG,`stopRecordAndSave() windowIndex ${i} is not exist`),r(`windowIndex ${i} is not exist`))}))}isPlaying(e){const t=this._getWindowItem(e);return t&&t.player?t.player.isPlaying():(this.debugWarn(this.LOG_TAG,`isPlaying() windowIndex ${e} is not exist`),!1)}isLoading(e){const t=this._getWindowItem(e);return t&&t.player?t.player.isLoading():(this.debugWarn(this.LOG_TAG,`isLoading() windowIndex ${e} is not exist`),!1)}isPaused(e){const t=this._getWindowItem(e);return t&&t.player?t.player.isPaused():(this.debugWarn(this.LOG_TAG,`windowIndex ${e} is not exist`),!1)}isMute(e){const t=this._getWindowItem(e);return t&&t.player?t.player.isMute():(this.debugWarn(this.LOG_TAG,`isMute() windowIndex ${e} is not exist`),!1)}isRecording(e){const t=this._getWindowItem(e);return t&&t.player?t.player.isRecording():(this.debugWarn(this.LOG_TAG,`isRecording() windowIndex ${e} is not exist`),!1)}clearBufferDelay(e){const t=this._getWindowItem(e);t&&t.player?t.player.clearBufferDelay():this.debugWarn(this.LOG_TAG,`clearBufferDelay() windowIndex ${e} is not exist`)}setNetworkDelayTime(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setNetworkDelayTime(e):this.debugWarn(this.LOG_TAG,`setNetworkDelayTime() windowIndex ${t} is not exist`)}getDecodeType(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getDecodeType():(this.debugWarn(this.LOG_TAG,`getDecodeType() windowIndex ${e} is not exist`),null)}getRenderType(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getRenderType():(this.debugWarn(this.LOG_TAG,`windowIndex ${e} is not exist`),null)}getAudioEngineType(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getAudioEngineType():(this.debugWarn(this.LOG_TAG,`windowIndex ${e} is not exist`),null)}getPlayingTimestamp(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getPlayingTimestamp():(this.debugWarn(this.LOG_TAG,`windowIndex ${e} is not exist`),null)}getStatus(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getStatus():(this.debugWarn(this.LOG_TAG,`getStatus() windowIndex ${e} is not exist`),null)}getPlayType(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getPlayType():(this.debugWarn(this.LOG_TAG,`getPlayType() windowIndex ${e} is not exist`),null)}togglePerformancePanel(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.togglePerformancePanel(e):this.debugWarn(this.LOG_TAG,`togglePerformancePanel() windowIndex ${t} is not exist`)}openZoom(e){const t=this._getWindowItem(e);t&&t.player?t.player.openZoom():this.debugWarn(this.LOG_TAG,`openZoom() windowIndex ${e} is not exist`)}closeZoom(e){const t=this._getWindowItem(e);t&&t.player?t.player.closeZoom():this.debugWarn(this.LOG_TAG,`closeZoom() windowIndex ${e} is not exist`)}isZoomOpen(e){const t=this._getWindowItem(e);return t&&t.player?t.player.isZoomOpen():(this.debugWarn(this.LOG_TAG,`isZoomOpen() windowIndex ${e} is not exist`),!1)}expandZoom(e){const t=this._getWindowItem(e);t&&t.player?t.player.expandZoom():this.debugWarn(this.LOG_TAG,`expandZoom() windowIndex ${e} is not exist`)}narrowZoom(e){const t=this._getWindowItem(e);t&&t.player?t.player.narrowZoom():this.debugWarn(this.LOG_TAG,`narrowZoom() windowIndex ${e} is not exist`)}getCurrentZoomIndex(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getCurrentZoomIndex():(this.debugWarn(this.LOG_TAG,`getCurrentZoomIndex() windowIndex ${e} is not exist`),0)}setNakedFlowFps(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setNakedFlowFps(e):this.debugWarn(this.LOG_TAG,`setNakedFlowFps() windowIndex ${t} is not exist`)}updateDebugLevel(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.updateDebugLevel(e):this.debugWarn(this.LOG_TAG,`updateDebugLevel() windowIndex ${t} is not exist`)}updateWatermark(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.updateWatermark(e):this.debugWarn(this.LOG_TAG,`updateWatermark() windowIndex ${t} is not exist`)}removeWatermark(e){const t=this._getWindowItem(e);t&&t.player?t.player.removeWatermark():this.debugWarn(this.LOG_TAG,`removeWatermark() windowIndex ${e} is not exist`)}updateFullscreenWatermark(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.updateFullscreenWatermark(e):this.debugWarn(this.LOG_TAG,`updateFullscreenWatermark() windowIndex ${t} is not exist`)}removeFullscreenWatermark(e){const t=this._getWindowItem(e);t&&t.player?t.player.removeFullscreenWatermark():this.debugWarn(this.LOG_TAG,`removeFullscreenWatermark() windowIndex ${e} is not exist`)}faceDetectOpen(e){const t=this._getWindowItem(e);t&&t.player?t.player.faceDetectOpen():this.debugWarn(this.LOG_TAG,`faceDetectOpen() windowIndex ${e} is not exist`)}faceDetectClose(e){const t=this._getWindowItem(e);t&&t.player?t.player.faceDetectClose():this.debugWarn(this.LOG_TAG,`faceDetectClose() windowIndex ${e} is not exist`)}objectDetectOpen(e){const t=this._getWindowItem(e);t&&t.player?t.player.objectDetectOpen():this.debugWarn(this.LOG_TAG,`objectDetectOpen() windowIndex ${e} is not exist`)}objectDetectClose(e){const t=this._getWindowItem(e);t&&t.player?t.player.objectDetectClose():this.debugWarn(this.LOG_TAG,`objectDetectClose() windowIndex ${e} is not exist`)}sendWebsocketMessage(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.sendWebsocketMessage(e):this.debugWarn(this.LOG_TAG,`sendWebsocketMessage() windowIndex ${t} is not exist`)}addContentToCanvas(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.addContentToCanvas(e):this.debugWarn(this.LOG_TAG,`addContentToCanvas() windowIndex ${t} is not exist`)}clearContentToCanvas(e){const t=this._getWindowItem(e);t&&t.player?t.player.clearContentToCanvas():this.debugWarn(this.LOG_TAG,`clearContentToCanvas() windowIndex ${e} is not exist`)}setControlHtml(e,t){const i=this._getWindowItem(t);i&&i.player?i.player.setControlHtml(e):this.debugWarn(this.LOG_TAG,`setControlHtml() windowIndex ${t} is not exist`)}clearControlHtml(e){const t=this._getWindowItem(e);t&&t.player?t.player.clearControlHtml():this.debugWarn(this.LOG_TAG,`clearControlHtml() windowIndex ${e} is not exist`)}getFlvMetaData(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getFlvMetaData():(this.debugWarn(this.LOG_TAG,`getFlvMetaData() windowIndex ${e} is not exist`),null)}getExtendBtnList(e){const t=this._getWindowItem(e);return t&&t.player?t.player.getExtendBtnList():(this.debugWarn(this.LOG_TAG,`getExtendBtnList() windowIndex ${e} is not exist`),null)}updateAiFaceDetectInterval(e,t){const i=this._getWindowItem(t);if(!i||!i.player)return this.debugWarn(this.LOG_TAG,`updateAiFaceDetectInterval() windowIndex ${t} is not exist`),null;i.player.updateAiFaceDetectInterval(e)}updateAiFaceDetectLevel(e,t){const i=this._getWindowItem(t);if(!i||!i.player)return this.debugWarn(this.LOG_TAG,`updateAiFaceDetectLevel() windowIndex ${t} is not exist`),null;i.player.updateAiFaceDetectLevel(e)}updateAiObjectDetectInterval(e,t){const i=this._getWindowItem(t);if(!i||!i.player)return this.debugWarn(this.LOG_TAG,`updateAiObjectDetectInterval() windowIndex ${t} is not exist`),null;i.player.updateAiObjectDetectInterval(e)}updateAiObjectDetectLevel(e,t){const i=this._getWindowItem(t);if(!i||!i.player)return this.debugWarn(this.LOG_TAG,`updateAiObjectDetectLevel() windowIndex ${t} is not exist`),null;i.player.updateAiObjectDetectLevel(e)}setCryptoKeyUrl(e,t){const i=this._getWindowItem(t);if(!i||!i.player)return this.debugWarn(this.LOG_TAG,`setCryptoKeyUrl() windowIndex ${t} is not exist`),null;i.player.setCryptoKeyUrl(e)}showErrorMessageTips(e,t){const i=this._getWindowItem(t);if(!i||!i.player)return this.debugWarn(this.LOG_TAG,`showErrorMessageTips() windowIndex ${t} is not exist`),null;i.player.showErrorMessageTips(e)}hideErrorMessageTips(e){const t=this._getWindowItem(e);if(!t||!t.player)return this.debugWarn(this.LOG_TAG,`hideErrorMessageTips() windowIndex ${e} is not exist`),null;t.player.hideErrorMessageTips()}destroySingle(e){return new Promise(((t,i)=>{const s=this._getWindowItem(e);s?s.player&&s.player.destroy().then((()=>{s.player=null,t()})).catch((e=>{i(e)})):(i("windowIndex is not exist"),this.debugWarn(this.LOG_TAG,`destroySingle() windowIndex ${e} is not exist`))}))}initSingle(e){return new Promise(((t,i)=>{const s=this._getWindowItem(e);if(s)if(s.player)s.player.destroy().then((()=>{s.player=null;const e=this._createPlayer(s);s.player=e,t()})).catch((e=>{i(e)}));else{const e=this._createPlayer(s);s.player=e,t()}else i("windowIndex is not exist"),this.debugWarn(this.LOG_TAG,`destroySingle() windowIndex ${e} is not exist`)}))}setFullscreenMulti(e){return new Promise(((t,i)=>{if(this.debugLog(this.LOG_TAG,"setFullscreenMulti",e),e)try{qr.request(this.$container).then((()=>{t()})).catch((e=>{this.debugError(this.LOG_TAG,"fullscreen request inner error",e),i(e)}))}catch(e){this.debugError(this.LOG_TAG,"fullscreen request error",e),i(e)}else try{qr.exit().then((()=>{t()})).catch((e=>{this.debugError(this.LOG_TAG,"fullscreen exit inner error",e),i(e)}))}catch(e){this.debugError(this.LOG_TAG,"fullscreen exit error",e),i(e)}}))}toggleSingleWindowContainerFullscreen(e,t){this.debugLog(this.LOG_TAG,"setSingleWindowContainerFullscreen",t);const i=this._getWindowItem(t);this.windowList.forEach((e=>{e.uuid!==i.uuid&&this._handleWindowContainerFullscreen(e.uuid,!1)})),this._handleWindowContainerFullscreen(i.uuid,e)}selectWindow(e){this.debugLog(this.LOG_TAG,"selectWindow",e),this._handleWindowSelect(e)}arrangeWindow(e){this.debugLog(this.LOG_TAG,"arrangeWindow",e),this._innerArrangeWindow(e)}_innerArrangeWindow(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return void this.debugWarn(this.LOG_TAG,`arrangeWindow() split ${e} is not valid`);if([js,Gs].includes(e))this._arrangeSpecialWindow(e);else{if(this._opt.split===e&&null===this.specialLayoutType&&Io(t))return void this.debugWarn(this.LOG_TAG,`arrangeWindow() split ${e} is not changed`);this.specialLayoutType=null,this._arrangeWindow(e)}}_arrangeWindow(e){(e=Ua(e))<1||!Ga(e)?this.debugWarn(this.LOG_TAG,`arrangeWindow() split ${e} is not valid`):(e>this._opt.maxSplit&&(e=this._opt.maxSplit),this._opt.split=e,this.currentWindowIndex=0,this._opt.draggable?this._updateWindows$2():this._updateWindows(),this._handleWindowSelect(this.currentWindowIndex))}_arrangeSpecialWindow(e){this._opt.maxSplit<=3&&e===Gs||this._opt.maxSplit<=2&&e===js?this.debugWarn(this.LOG_TAG,`_arrangeSpecialWindow() type ${e} is not valid because maxSplit is ${this._opt.maxSplit}`):this.specialLayoutType&&this.specialLayoutType===e?this.debugWarn(this.LOG_TAG,`_arrangeSpecialWindow() type ${e} is not changed`):(this.specialLayoutType=e,e===js?this._arrangeWindow(3):e===Gs?this._arrangeWindow(4):this.debugWarn(this.LOG_TAG,`_arrangeSpecialWindow() type ${e} is not valid`))}getCurrentSplit(){return this.specialLayoutType?this.specialLayoutType:this._opt.split}_getCurrentMaxSplit(){if(this.specialLayoutType){let e=0;return this.specialLayoutType===js?e=9:this.specialLayoutType===Gs&&(e=16),e}return this._opt.split*this._opt.split}_getCurrentMaxSplitV2(){return this.specialLayoutType?this._getSpecialMaxSplit():this._opt.split*this._opt.split}_getSpecialMaxSplit(){let e=0;return this.specialLayoutType===js?e=6:this.specialLayoutType===Gs&&(e=8),e}getSelectedWindowIndex(){return this.currentWindowIndex}getSelectedWindowUuid(){return this.currentWindowUuid}getWindowItem(e){let t=this._getWindowItem(e),i=this._findWindowItemIndexByUuid(t.uuid),s=null;return t&&(s={index:i,$player:t.$player,$playerContainer:t.$playerContainer,player:t.player,uuid:t.uuid}),s}getNextWindowItem(e){this.debugLog(this.LOG_TAG,"getNextWindowItem",e);let t=null,i=this._getWindowItem(e);if(i){const e=this._getWindowUuidList()||[],s=e.findIndex((e=>e===i.uuid));if(se===i.uuid));if(s>0){const i=s-1,r=this._findWindowItemByUuid(e[i]);if(r){t={index:this._findWindowItemIndexByUuid(r.uuid),$player:r.$player,$playerContainer:r.$playerContainer,player:r.player,uuid:r.uuid}}}}return t}getWindowUuidList(){return this._getWindowUuidList()||[]}isWindowItemHasInitPlayer(e){let t=!1,i=this._getWindowItem(e);return i&&i.player&&(t=!0),t}_getWindowItem(e){let t=null;const i=ho(e)&&16===e.length;return t=i||!Ga(e)?this._findWindowItemByUuid(i?e:this.currentWindowUuid):this.windowList[e]||this.windowList[this.currentWindowIndex],t}_getWindowUuidList(){return this.windowList.filter(((e,t)=>te.uuid))}_findWindowItemIndex(e){return e&&e.uuid?this._findWindowItemIndexByUuid(e.uuid):null}_findWindowItemIndexByUuid(e){return this.windowList.findIndex((t=>t.uuid===e))}_findWindowItemByUuid(e){return this.windowList.find((t=>t.uuid===e))}_checkHasCreated(e){if(!e)return!1;return!!Mo(e,oe)}debugLog(e){if(this._opt.debug&&this.debug){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s1?t-1:0),s=1;s1?i-1:0),n=1;n{delete i[t]})),void delete this.e;const r=i[t],n=[];if(r&&e)for(let t=0,i=r[s(289)];t1?r-1:0),o=1;o1?r-1:0),o=1;o1?n-1:0),a=1;a32&&console[e(157)]("ExpGolomb: readBits() bits exceeded max 32bits!"),t<=this._current_word_bits_left){let s=this._current_word>>>32-t;return this[e(151)]<<=t,this._current_word_bits_left-=t,s}let s=this[e(153)]?this[e(151)]:0;s>>>=32-this[e(153)];let i=t-this[e(153)];this._fillCurrentWord();let r=Math.min(i,this[e(153)]),n=this._current_word>>>32-r;return this[e(151)]<<=r,this[e(153)]-=r,s=s<>>e))return this[t(151)]<<=e,this[t(153)]-=e,e;return this[t(143)](),e+this[t(160)]()}[oe(147)](){const t=oe;let e=this[t(160)]();return this[t(164)](e+1)-1}readSEG(){let t=this[oe(147)]();return 1&t?t+1>>>1:-1*(t>>>1)}}const le=de;function de(t,e){const s=me();return(de=function(t,e){return s[t-=474]})(t,e)}!function(t,e){const s=de,i=t();for(;;)try{if(383263===-parseInt(s(521))/1*(parseInt(s(531))/2)+parseInt(s(488))/3+parseInt(s(486))/4+-parseInt(s(517))/5+parseInt(s(510))/6+-parseInt(s(485))/7+parseInt(s(519))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(me);const ue=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1],pe=ue,fe=ue;function me(){const t=["aac","Flv: AAC invalid channel configuration","subarray","android","log","bufoff","Could not found ADTS syncword until payload end","readBits","readByte","1474382hVzgiK","186320WjoFHu","mp4a.40.","130602PNRXPD","sbr","other_data_present","set","getLATMValue","sampling_freq_index","data","read_golomb","error","unshift","destroy","sequenceHeader","read","buflen","more than 2 numProgram Not Supported","sampling_frequency","length","iserro","sampling_index","allStreamsSameTimeFraming zero is Not Supported","aacEncoderConfigurationRecord","buffer","3950508lNfPhs","AAC","readBool","sampleRate: ","indexOf","channel: ","look","585815btazWX","more than 2 numLayer Not Supported","5230832jsSpML","chan_config","691334AXOuTo","object_type","channels","byteLength","userAgent","push","sample_rate","Flv: AAC invalid sampling frequency index!","findNextSyncwordOffset","readNextAACFrame","2njoheI","current_syncword_offset_","eof_flag_","audio_object_type","data_","has_last_incomplete_data","hasIncompleteData","getIncompleteData","bufpos","channel_config","firefox",". Only frameLengthType = 0 Supported"];return(me=function(){return t})()}function ge(t){let{profile:e,sampleRate:s,channel:i}=t;return new Uint8Array([175,0,e<<3|(14&s)>>1,(1&s)<<7|i<<3])}function Ae(t){const e=de;return ye(t)&&t[1]===yt[e(499)]}function ye(t){const e=de;return t[0]>>4===Q[e(511)]}function be(t,e){if("mp4a.40.2"===t){if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}function ve(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return 1024*e/t}const we=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];function Se(t){const e=de;let s=new Uint8Array(t),i=null,r=0,n=0,o=0,a=null;if(r=n=s[0]>>>3,o=(7&s[0])<<1|s[1]>>>7,o<0||o>=we[e(504)])return void console[e(496)](e(528));let h=we[o],c=(120&s[1])>>>3;if(c<0||c>=8)return void console[e(480)](e(477));5===r&&(a=(7&s[1])<<1|s[2]>>>7,s[2]);let l=Kt.navigator[e(525)].toLowerCase();return-1!==l.indexOf(e(474))?o>=6?(r=5,i=new Array(4),a=o-3):(r=2,i=new Array(2),a=o):-1!==l[e(514)](e(479))?(r=2,i=new Array(2),a=o):(r=5,a=o,i=new Array(4),o>=6?a=o-3:1===c&&(r=2,i=new Array(2),a=o)),i[0]=r<<3,i[0]|=(15&o)>>>1,i[1]=(15&o)<<7,i[1]|=(15&c)<<3,5===r&&(i[1]|=(15&a)>>>1,i[2]=(1&a)<<7,i[2]|=8,i[3]=0),{audioType:e(476),config:i,sampleRate:h,channelCount:c,objectType:r,codec:"mp4a.40."+r,originalCodec:e(487)+n}}class Ee{constructor(t){const e=de;this.buffer=t,this[e(501)]=t.length,this.bufpos=0,this[e(481)]=0,this.iserro=!1}[le(500)](t){const e=le;let s=0,i=0;for(;t;){if(t<0||this[e(539)]>=this[e(501)])return this[e(505)]=!0,0;this[e(505)]=!1,i=this.bufoff+t>8?8-this.bufoff:t,s<<=i,s+=this[e(509)][this.bufpos]>>8-this[e(481)]-i&255>>8-i,this[e(481)]+=i,t-=i,8==this[e(481)]&&(this.bufpos++,this.bufoff=0)}return s}[le(516)](t){const e=le;let s=this[e(539)],i=this[e(481)],r=this[e(500)](t);return this[e(539)]=s,this[e(481)]=i,r}[le(495)](){const t=le;let e;for(e=0;0==this[t(500)](1)&&!this.iserro;e++);return(1<=i[e(524)])return this.eof_flag_=!0,i[e(524)];if(4095===(i[s+0]<<8|i[s+1])>>>4)return s;s++}}[le(530)](){const t=le;let e=this[t(535)],s=null;for(;null==s&&!this[t(533)];){let i=this[t(532)],r=(8&e[i+1])>>>3,n=(6&e[i+1])>>>1,o=1&e[i+1],a=(192&e[i+2])>>>6,h=(60&e[i+2])>>>2,c=(1&e[i+2])<<2|(192&e[i+3])>>>6,l=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;if(e[i+6],i+l>this[t(535)][t(524)]){this[t(533)]=!0,this[t(536)]=!0;break}let d=1===o?7:9,u=l-d;i+=d;let p=this[t(529)](i+u);if(this[t(532)]=p,0!==r&&1!==r||0!==n)continue;let f=e[t(478)](i,i+u);s={},s.audio_object_type=a+1,s[t(493)]=h,s[t(503)]=pe[h],s[t(540)]=c,s[t(494)]=f}return s}[le(537)](){return this[le(536)]}[le(538)](){const t=le;return this.has_last_incomplete_data?this[t(535)].subarray(this[t(532)]):null}}class Re{constructor(t){const e=le;this[e(535)]=t,this[e(533)]=!1,this[e(532)]=this[e(529)](0),this[e(533)]&&console[e(496)](e(482))}[le(529)](t){const e=le;let s=t,i=this[e(535)];for(;;){if(s+1>=i[e(524)])return this[e(533)]=!0,i[e(524)];if(695===(i[s+0]<<3|i[s+1]>>>5))return s;s++}}[le(492)](t){const e=le;let s=t.readBits(2),i=0;for(let r=0;r<=s;r++)i<<=8,i|=t[e(484)]();return i}[le(530)](t){const e=le;let s=this[e(535)],i=null;for(;null==i&&!this.eof_flag_;){let r=this[e(532)],n=(31&s[r+1])<<8|s[r+2];if(r+3+n>=this.data_[e(524)]){this[e(533)]=!0,this.has_last_incomplete_data=!0;break}let o=new ce(s[e(478)](r+3,r+3+n)),a=null;if(o[e(512)]()){if(null==t){console.warn("StreamMuxConfig Missing"),this.current_syncword_offset_=this[e(529)](r+3+n),o[e(498)]();continue}a=t}else{let t=o[e(512)]();if(t&&o[e(512)]()){console[e(496)]("audioMuxVersionA is Not Supported"),o.destroy();break}if(t&&this[e(492)](o),!o[e(512)]()){console[e(496)](e(507)),o.destroy();break}if(0!==o[e(483)](6)){console[e(496)]("more than 2 numSubFrames Not Supported"),o[e(498)]();break}if(0!==o[e(483)](4)){console[e(496)](e(502)),o[e(498)]();break}if(0!==o.readBits(3)){console[e(496)](e(518)),o.destroy();break}let s=t?this[e(492)](o):0,i=o[e(483)](5);s-=5;let r=o.readBits(4);s-=4;let n=o[e(483)](4);s-=4,o[e(483)](3),s-=3,s>0&&o[e(483)](s);let h=o[e(483)](3);if(0!==h){console[e(496)]("frameLengthType = "+h+e(475)),o.destroy();break}o.readByte();let c=o[e(512)]();if(c)if(t)this[e(492)](o);else{let t=0;for(;;){t<<=8;let s=o[e(512)]();if(t+=o[e(484)](),!s)break}console[e(480)](t)}o.readBool()&&o[e(484)](),a={},a[e(534)]=i,a[e(493)]=r,a[e(503)]=pe[a[e(493)]],a[e(540)]=n,a[e(490)]=c}let h=0;for(;;){let t=o[e(484)]();if(h+=t,255!==t)break}let c=new Uint8Array(h);for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:0;return(t[e]<<24>>>0)+(t[e+1]<<16)+(t[e+2]<<8)+(t[e+3]||0)}function xe(t,e){const s=Le();return(xe=function(t,e){return s[t-=167]})(t,e)}function Le(){const t=["subarray","2906736QzZNdW","56mmviMe","push","534087cbHroe","3335820GkWjLH","toString","set","1024654mYbFlS","225LlUWzA","3wMDhtU","byteLength","38260aGWMtf","468892AGCIvW","2165457fLXKQu","buffer","33IAEUBV","length","setUint32","shift"];return(Le=function(){return t})()}function Pe(t){const e=xe;let s=arguments[e(185)]>1&&void 0!==arguments[1]?arguments[1]:4;if(t.length<4)return[];const i=t[e(185)],r=[];let n,o=0;for(;o+s>>=8),o+=s,n){if(o+n>i)break;r.push(t.subarray(o,o+n)),o+=n}return r}function Me(t,e){const s=xe,i=t[s(185)];let r=e?2:1,n=0,o=0,a="";for(;255===t[r];)n+=255,r++;for(n+=t[r++];255===t[r];)o+=255,r++;if(o+=t[r++],5===n&&i>r+16)for(let e=0;e<16;e++)a+=t[r][s(174)](16),r++;return{payload:t[s(168)](r),type:n,size:o,uuid:a}}function Be(t){const e=xe,s=t[e(179)],i=new Uint8Array(4);i[0]=s>>>24&255,i[1]=s>>>16&255,i[2]=s>>>8&255,i[3]=255&s;const r=new Uint8Array(s+4);return r.set(i,0),r[e(175)](t,4),r}!function(t,e){const s=xe,i=t();for(;;)try{if(265398===-parseInt(s(181))/1+-parseInt(s(176))/2*(-parseInt(s(178))/3)+parseInt(s(180))/4*(parseInt(s(177))/5)+-parseInt(s(169))/6+-parseInt(s(182))/7+parseInt(s(170))/8*(-parseInt(s(172))/9)+parseInt(s(173))/10*(parseInt(s(184))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Le);const Fe=si;function Oe(){}function Ue(t){const e=si;let s=null;const i=["webgl",e(576),e(693),e(566)];let r=0;for(;!s&&r0&&void 0!==arguments[0]?arguments[0]:"";const s=e.split(","),i=atob(s[1]),r=s[0][t(545)](t(657),"")[t(545)](";base64","");let n=i.length,o=new Uint8Array(n);for(;n--;)o[n]=i[t(647)](n);return new File([o],"file",{type:r})}function Ve(){const t=si;return(new Date)[t(477)]()}function ze(t,e,s){const i=si;return Math[i(681)](Math[i(751)](t,Math[i(681)](e,s)),Math[i(751)](e,s))}function We(t,e,s){const i=si;if(t)return"object"==typeof e&&Object[i(503)](e)[i(530)]((s=>{We(t,s,e[s])})),t[i(591)][e]=s,t}function Ge(t,e){const s=si;let i=!(arguments[s(507)]>2&&void 0!==arguments[2])||arguments[2];if(!t)return 0;const r=getComputedStyle(t,null)[s(690)](e);return i?parseFloat(r):r}function He(){const t=si;return performance&&typeof performance.now===t(518)?performance[t(475)]():Date[t(475)]()}function Ke(t){let e=0,s=He();return i=>{if(!hs(i))return;e+=i;const r=He(),n=r-s;n>=1e3&&(t(e/n*1e3),s=r,e=0)}}!function(t,e){const s=si,i=t();for(;;)try{if(546097===parseInt(s(547))/1+parseInt(s(505))/2*(parseInt(s(568))/3)+-parseInt(s(753))/4+-parseInt(s(621))/5+-parseInt(s(682))/6+-parseInt(s(461))/7+parseInt(s(523))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Qs),(()=>{const t=si;try{if(typeof WebAssembly===t(575)&&"function"==typeof WebAssembly[t(480)]){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly[t(485)])return new(WebAssembly[t(458)])(e)instanceof WebAssembly[t(458)]}}catch(t){}})();Fe(641);const Qe=Fe(748),Ye=Fe(757);Fe(641);function qe(){const t=Fe;return/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i[t(465)](window[t(633)][t(758)].toLowerCase())}function Je(){return!(qe()||function(){const t=Fe;return/ipad|android(?!.*mobile)|tablet|kindle|silk/i[t(465)](window.navigator[t(758)].toLowerCase())}())}function Xe(){const t=Fe,e=window[t(633)].userAgent[t(549)]();return/android/i.test(e)}function Ze(){const t=Fe,e=window[t(633)][t(758)].toLowerCase();return/firefox/i[t(465)](e)}function $e(){const t=Fe,e=window.navigator.userAgent.toLowerCase()||"",s={type:"",version:""},i={IE:window.ActiveXObject||t(750)in window,Chrome:e[t(489)](t(755))>-1&&e[t(489)](t(728))>-1,Firefox:e.indexOf("firefox")>-1,Opera:e[t(489)](t(562))>-1,Safari:e[t(489)](t(728))>-1&&-1==e[t(489)](t(755)),Edge:e[t(489)](t(703))>-1,QQBrowser:/qqbrowser/.test(e),WeixinBrowser:/MicroMessenger/i[t(465)](e)};for(let r in i)if(i[r]){let i="";if("IE"===r){const s=e[t(730)](/(msie\s|trident.*rv:)([\w.]+)/);s&&s.length>2&&(i=e[t(730)](/(msie\s|trident.*rv:)([\w.]+)/)[2])}else if(r===t(586)){for(let e in navigator[t(680)])navigator.mimeTypes[e][t(452)]===t(733)&&(r=t(651));const s=e[t(730)](/chrome\/([\d.]+)/);s&&s[t(507)]>1&&(i=s[1])}else if(r===t(717)){const s=e[t(730)](/firefox\/([\d.]+)/);s&&s[t(507)]>1&&(i=s[1])}else if(r===t(598)){const s=e[t(730)](/opera\/([\d.]+)/);s&&s[t(507)]>1&&(i=s[1])}else if("Safari"===r){const t=e.match(/version\/([\d.]+)/);t&&t.length>1&&(i=t[1])}else if(r===t(476)){const s=e[t(730)](/edge\/([\d.]+)/);s&&s[t(507)]>1&&(i=s[1])}else if(r===t(725)){const s=e[t(730)](/qqbrowser\/([\d.]+)/);s&&s[t(507)]>1&&(i=s[1])}s[t(452)]=r,s.version=parseInt(i)}return s}function ts(){const t=Fe,e=window[t(633)][t(758)][t(549)]();return e&&/iphone|ipad|ipod|ios/[t(465)](e)}function es(){const t=Fe,e=window[t(633)].userAgent;return!e[t(730)](/Chrome/gi)&&!!e[t(730)](/Safari/gi)}function ss(t,e){const s=Fe;if(0===arguments[s(507)])return null;var i,r=e||s(744);typeof t===s(575)?i=t:(10===(""+t)[s(507)]&&(t=1e3*parseInt(t)),t=+t,i=new Date(t));var n={y:i[s(563)](),m:i[s(655)]()+1,d:i.getDate(),h:i[s(737)](),i:i[s(537)](),s:i.getSeconds(),a:i[s(557)]()},o=r[s(545)](/{(y|m|d|h|i|s|a)+}/g,((t,e)=>{var s=n[e];return"a"===e?["一","二","三","四","五","六","日"][s-1]:(t.length>0&&s<10&&(s="0"+s),s||0)}));return o}function is(){const t=Fe;let e=!1;return t(612)in Kt&&typeof Kt[t(612)]===t(518)&&(e=!0),e}function rs(t){if(typeof t!==Fe(574))return t;var e=Number(t);return isNaN(e)?t:e}function ns(){const t=Fe;return t(613).replace(/[xy]/g,(function(e){const s=t;var i=16*Math[s(521)]()|0;return("x"==e?i:3&i|8)[s(583)](16)}))}function os(t,e){let s,i,r=!1;return function n(){const o=si;for(var a=arguments[o(507)],h=new Array(a),c=0;c{r=!1,s&&(n[o(743)](i,s),s=null,i=null)}),e)}}function as(t){const e=Fe;if(null==t||""==t)return"0 Bytes";const s=new Array(e(456),"KB","MB","GB","TB","PB","EB","ZB","YB");let i=0;const r=parseFloat(t);i=Math[e(492)](Math[e(552)](r)/Math[e(552)](1024));var n=r/Math.pow(1024,i);return(n=n.toFixed(2))+s[i]}function hs(t){return"[object Number]"===Object[Fe(471)].toString.call(t)}function cs(){const t=Fe;let e=!1;return t(619)in Kt&&Kt[t(619)]&&(Kt.MediaSource[t(658)](et[t(520)])||Kt[t(619)][t(658)](et[t(718)])||Kt.MediaSource[t(658)](et.hev3)||Kt[t(619)].isTypeSupported(et[t(669)])||Kt.MediaSource[t(658)](et[t(615)]))&&(e=!0),e}function ls(){const t=Fe,e=$e();return e[t(452)][t(549)]()===t(755)&&e[t(706)]>=107}function ds(){let t=!1;return Fe(625)in window&&(t=!0),t}function us(){let t=!1;return Fe(524)in window&&(t=!0),t}function ps(t,e){const s=Fe;let i=window[s(626)][s(460)](e),r=window[s(467)][s(741)]("a");r[s(514)]=t,r[s(481)]=i;let n=window.document[s(764)](s(738));n.initEvent(s(688),!0,!0),r.dispatchEvent(n),setTimeout((()=>{const t=s;window.URL[t(634)](i)}),ts()?1e3:0)}function fs(t){return null==t}function ms(t){return!0===t||!1===t}function gs(t){return!fs(t)}function As(t){const e=Fe;let s={left:"",right:"",top:"",bottom:"",opacity:1,backgroundColor:"",image:{src:"",width:e(674),height:"60"},text:{content:"",fontSize:"14",color:e(739),width:"",height:""},rect:{color:"green",lineWidth:2,width:"",height:"",fill:"",fillOpacity:.2},line:{x1:"",y1:"",x2:"",y2:"",color:e(553),lineWidth:2},polygon:{color:e(553),lineWidth:2,list:[],fill:"",fillOpacity:.2},html:""};const i=Object.assign(s.image,t[e(642)]||{}),r=Object[e(646)](s[e(455)],t[e(455)]||{}),n=Object[e(646)](s.rect,t[e(756)]||{}),o=Object[e(646)](s[e(495)],t[e(495)]||{});return s=Object[e(646)](s,t,{image:i,text:r,rect:n,line:o}),s}function ys(t,e){const s=Fe;let i={container:t||"",text:"",opacity:"",angle:"",color:"",fontSize:"",fontFamily:""};return i=Object[s(646)](i,e),{watermark_parent_node:i[s(606)],watermark_alpha:i.opacity,watermark_angle:i.angle,watermark_fontsize:i[s(746)],watermark_color:i.color,watermark_font:i.fontFamily,watermark_txt:i[s(455)]}}function bs(t,e){return new Promise(((s,i)=>{const r=si;let n=As(e);if(!n[r(642)][r(603)]&&!n.text[r(734)])return s(t);let o=document[r(741)](r(660));o[r(608)]=e.width,o[r(581)]=e[r(581)];let a=o.getContext("2d");a[r(678)]=!0,a[r(678)]&&(a[r(494)]=r(665));let h=0,c=0;hs(n[r(519)])?h=n[r(519)]:hs(n[r(580)])&&(h=o[r(608)]-n[r(580)]),hs(n[r(556)])?c=n[r(556)]:hs(n[r(531)])&&(c=o[r(581)]-n[r(531)]);const l=new Image;l.src=t,l[r(620)]=()=>{const t=r;if(a[t(731)](l,0,0),n[t(642)]&&n[t(642)].src){const r=new Image;r[t(603)]=n.image[t(603)],r[t(701)](t(564),t(616)),r[t(620)]=()=>{const i=t;h-=n[i(642)].width,a.drawImage(r,h,c,n[i(642)][i(608)],n.image[i(581)]),s(o.toDataURL(e[i(501)],e[i(573)]))},r.onerror=t=>{i()}}else n[t(455)]&&n[t(455)][t(734)]&&(a[t(515)]=n[t(455)][t(746)]+t(540),a.fillStyle=n[t(455)].color,a[t(509)]="right",a[t(628)](n.text.content,h,c),s(o[t(644)](e[t(501)],e.quality)))},l[r(602)]=t=>{i(t)}}))}function vs(t){const e=Fe;var s,i=0;if(0===t[e(507)])return i;for(s=0;s{const r=si;if(!e[r(630)])return s(t);let n=document.createElement(r(660));n[r(608)]=e[r(608)],n[r(581)]=e.height;let o=n.getContext("2d");o[r(678)]=!0,o[r(678)]&&(o[r(494)]=r(665));const a=new Image;a[r(603)]=t,a[r(620)]=()=>{const t=r;o[t(731)](a,0,0);const i=vs(e[t(630)]),h=o[t(652)](0,0,n[t(608)],n[t(581)]);(function(t,e){for(var s=t[Fe(752)],i=0,r=0;r<32;r++){var n=e>>r&1,o=254&s[i]|n;s[i]=o,i+=4}})(h,i),o.putImageData(h,0,0),s(n.toDataURL(e[t(501)],e.quality))},a.onerror=t=>{i(t)}}))}function Ss(t){const e=Fe;var s;if(t>-1){var i=Math.floor(t/3600),r=Math[e(492)](t/60)%60,n=t%60;s=i<10?"0"+i+":":i+":",r<10&&(s+="0"),s+=r+":",(n=Math.round(n))<10&&(s+="0"),s+=n[e(638)](0)}return s}function Es(t,e){let s="";if(t>-1){const i=Math[Fe(492)](t/60)%60;let r=t%60;r=Math.round(r),s=i<10?"0"+i+":":i+":",r<10&&(s+="0"),s+=r,!fs(e)&&(e<10&&(e="0"+e),s+=":"+e)}return s}function Is(t){const e=Fe;let s="";if(t>-1){const i=Math.floor(t/60/60)%60;let r=Math[e(492)](t/60)%60,n=t%60;r=Math.round(r),s=i<10?"0"+i+":":i+":",r<10&&(s+="0"),s+=r+":",n<10&&(s+="0"),s+=n}return s}function Ts(t,e){const s=Fe,i=Math[s(492)](e/60)%60,r=Math.floor(e%60);return new Date(t)[s(727)](i,r,0,0)}function ks(t,e){const s=Fe,i=Math[s(492)](e/60/60)%60,r=Math[s(492)](e/60)%60,n=e%60;return new Date(t)[s(727)](i,r,n,0)}function _s(t){return(""+t)[Fe(507)]}function Cs(t){return t&&0===Object[Fe(503)](t).length}function Rs(t){return!Cs(t)}function Ds(t){return"string"==typeof t}const xs=()=>{const t=Fe,e=window.navigator[t(758)];return/MicroMessenger/i[t(465)](e)},Ls=()=>{const t=Fe,e=window.navigator[t(758)];return/Chrome/i[t(465)](e)};function Ps(t){const e=Fe,s=t||window[e(698)];return s[e(712)]||s[e(666)]}function Ms(){return Ze()&&function(){const t=navigator[Fe(758)].toLowerCase();return/macintosh|mac os x/i.test(t)}()}function Bs(t){return typeof t===Fe(518)}function Fs(t){const e=Fe;if(qe()){let s=0,i=0;if(1===t[e(749)][e(507)]){let r=t[e(749)][0];s=r[e(538)],i=r[e(479)]}return{posX:s,posY:i}}let s=0,i=0;const r=t||window[e(698)];return r[e(541)]||r[e(587)]?(s=r.pageX,i=r[e(587)]):(r.clientX||r[e(479)])&&(s=t.clientX+document.documentElement.scrollLeft+document[e(723)][e(561)],i=t.clientY+document[e(707)][e(528)]+document.body[e(528)]),{posX:s,posY:i}}function Os(){const t=Fe;let e=document.createElement("video"),s=e[t(709)]("application/vnd.apple.mpegurl");return e=null,s}function Us(t){const e=Fe;let s=ii(t.hasAudio)&&(t[e(605)]||t[e(679)]&&!t[e(595)])&&ii(t[e(662)]);return!!(ii(s)&&t[e(605)]&&t[e(504)]&&ii(t[e(662)]))||(!!(ii(s)&&t[e(679)]&&t[e(493)])||s)}function js(t){const e=Fe;let s=null,i=31&t[0];return(i===J[e(640)]||i===J[e(600)])&&(s=K[e(593)]),!s&&(i=(126&t[0])>>1,(i===X[e(719)]||i===X[e(640)]||i===X.pps)&&(s=K.h265)),s}function Ns(t){const e=Fe;const s=function(t){const e=si;return t[e(462)]()[e(730)](/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}(t[e(583)]()),i=new Blob([s],{type:e(639)});return URL[e(460)](i)}function Vs(t){return Ns(t)}function zs(t){t.close()}function Ws(t){t.close()}function Gs(){const t=Fe;return"https:"===window[t(497)][t(570)]||window[t(497)][t(631)]===t(629)}function Hs(t){const e=Fe,s=Object[e(471)].toString;return function(t){const i=e;switch(s.call(t)){case"[object Error]":case i(635):case i(684):return!0;default:try{return t instanceof Error}catch(t){return!1}}}(t)?t[e(671)]:null==t?"":typeof t===e(575)?JSON[e(694)](t,null,2):String(t)}function Ks(t,e){const s=Fe;e&&(t=t[s(512)]((t=>t[s(452)]&&t[s(452)]===e)));let i=t[0],r=null,n=1;if(t.length>0){let e=t[1];e&&e.ts-i.ts>1e5&&(i=e,n=2)}if(i)for(let o=n;o=1e3){t[o-1].ts-i.ts<1e3&&(r=o+1)}}}return r}function Qs(){const t=["font","color","byteLength","function","left","hev","random","restore","8897064jbCHKv","MediaStream","playbackRate","createImageBitmap","touchstart","scrollTop","application/hwepass2001.installepass2001","forEach","bottom","set","touchend","-o-user-select","If you want to help, upload a sample of this file to","illegal icc","getMinutes","clientX","setInt8","px 宋体","pageX","MULAW","webgl","map","replace","mouseup","611663EKPmKo","then","toLowerCase","iFrame","VideoDecoder","log","green","save","appendChild","top","getDay","showModalDialog","xxxx","validate","scrollLeft","opera","getFullYear","crossOrigin","user-select","webkit-3d","green yuv","9BifnfO","destination","protocol","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","shadowRoot","quality","string","object","experimental-webgl","ZB/s","absolute","fullscreenElement","right","height","QHBrowser","toString","fillStyle","atob","Chrome","pageY","gpu","VideoEncoder is not supported","100%","style","charAt","h264","WAVE","useOffscreen","contain","WebGL2RenderingContext","Opera","children","pps","ALAW","onerror","src","resume","useMSE","container","canConstructInDedicatedWorker","width","push","KB/s","avc1.","VideoFrame","xxxxxxxxxxxx4xxx","slice","hev5","Anonymous","backgroundColor","RIFF","MediaSource","onload","3202070OyWRWG","createBufferSource","setUint16","search","MediaStreamTrackGenerator","URL","QihooBrowser","fillText","localhost","copyright","hostname","isConfigSupported","navigator","revokeObjectURL","[object Exception]","repeat","setInt16","toFixed","application/javascript","sps",'"production"',"image","origin","toDataURL","failed to asynchronously prepare wasm","assign","charCodeAt","image/png","borderColor","webkitFullscreenElement","360","getImageData","readyState","EB/s","getMonth","ManagedMediaSource","data:","isTypeSupported","-webkit-touch-callout","canvas","mediaDevices","demuxUseWorker","open","audioWorklet","high","srcElement","opacity","fromCharCode","hev4","visibility","message","getUserMedia","YB/s","100","buffer","split","hash","imageSmoothingEnabled","useWCS","mimeTypes","max","3505914GJDCBr","removeAttribute","[object DOMException]","VideoEncoder.isConfigSupported is not a function","touchmove","not compiled with thread support","click","application/vnd.chromium.remoting-viewer","getPropertyValue","pow","TB/s","moz-webgl","stringify","lineWidth","ended","noteOn","event","memory","removeChild","setAttribute","none","edge","mousedown","transferControlToOffscreen","version","documentElement","substr","canPlayType","setInt32","-webkit-user-select","target","attachShadow","AudioData","AudioDecoder","-webkit-text-size-adjust","Firefox","hev2","vps","undefined","block","img","body","requestVideoFrameCallback","QQBrowser","subarray","setHours","safari","zIndex","match","drawImage","error","application/360softmgrplugin","content","pointer-events: none !important; display: block !important","AAC","getHours","MouseEvents","#000","px Arial","createElement","nLp","apply","{y}-{m}-{d} {h}:{i}:{s}","NaN","fontSize","parse",'"2.0.0"',"touches","ActiveXObject","min","data","2272920pQUyEe","strokeStyle","chrome","rect",'"9-21-2024"',"userAgent","true","innerHTML","Edg","objectFit","0 KB/s","createEvent","join","port","webm","msFullscreenElement","data-","f32-planar","type","application/mozilla-npqihooquicklogin","mousemove","text","Bytes","VideoEncoder.isConfigSupported() result is not supported","Instance","PressureObserver","createObjectURL","2544339VutwBc","trim","insertBefore","result","test","dataset","document","9999999","getContext","html","prototype","borderWidth",'video/mp4; codecs="',"readAsArrayBuffer","now","Edge","getTime","PB/s","clientY","instantiate","href","substring","status","connect","Module","webgl2","clearRect","WebGLRenderingContext","indexOf","-moz-user-select","performance","floor","wcsDecodeAudio","imageSmoothingQuality","line","getAttribute","location","div","rgba(0,0,0,0)","-ms-user-select","format","supported","keys","mseDecodeAudio","652494Xilqrm","hidden","length","pathname","textAlign","setUint32","getParameter","filter","getUint8","download"];return(Qs=function(){return t})()}function Ys(t){const e=Fe;for(var s=(t+"=".repeat((4-t[e(507)]%4)%4))[e(545)](/\-/g,"+")[e(545)](/_/g,"/"),i=window[e(585)](s),r=new Uint8Array(i[e(507)]),n=0;n>4===bt&&t[1]===yt.sequenceHeader}function ei(t){return!0===t||t===Fe(759)}function si(t,e){const s=Qs();return(si=function(t,e){return s[t-=451]})(t,e)}function ii(t){return!0!==t&&t!==Fe(759)}function ri(t,e,s){const i=Fe;t&&(t[i(466)]?t.dataset[e]=s:t[i(701)](i(769)+e,s))}function ni(t,e){const s=Fe;return t?t[s(466)]?t[s(466)][e]:t[s(496)](s(769)+e):""}function oi(t,e){const s=Fe;t&&(t[s(466)]?delete t[s(466)][e]:t[s(683)](s(769)+e))}function ai(t){return t.replace(/-([a-z])/g,(function(t,e){return e.toUpperCase()}))}function hi(){return/iphone/i.test(navigator.userAgent)}function ci(){const t=Fe;return window.performance&&window[t(491)][t(699)]?window[t(491)][t(699)]:null}function li(){const t=Fe;try{var e=document[t(741)](t(660));return!(!window[t(597)]||!e[t(469)](t(486)))}catch(t){return!1}}function di(){let t=!1;return Fe(724)in HTMLVideoElement.prototype&&(t=!0),t}function ui(){const t=Fe;let e=!1;return t(459)in Kt&&typeof Kt[t(459)]===t(518)&&(e=!0),e}function pi(t,e){const s=Fe,i=Pe(t[s(614)](5));let r=!1;return i[s(530)]((t=>{const i=s,n=e?t[0]>>>1&63:31&t[0];(e&&(n===X[i(550)]||n===X[i(742)]||n===X.craNut)||ii(e)&&n===J.iFrame)&&(r=!0)})),r}function fi(){const t=Fe;let e={down:t(704),move:t(454),up:t(546),click:t(688)};return qe()&&(e={down:t(527),move:t(686),up:t(533),click:t(688)}),e}function mi(t,e){const s=Ai();return(mi=function(t,e){return s[t-=233]})(t,e)}const gi=mi;function Ai(){const t=["1203205kwyaYL","bind","length","proxy","push","7432608eAkTJX","forEach","1890876WjjnQo","isArray","8660416iiiArQ","18BzEDXt","destroy","1134885CNXZBo","master","Events","4233635tSbHlw","destroys","map","1921516lWzrFn","1TvLHAA"];return(Ai=function(){return t})()}!function(t,e){const s=mi,i=t();for(;;)try{if(746654===parseInt(s(234))/1*(-parseInt(s(233))/2)+-parseInt(s(247))/3+-parseInt(s(242))/4+-parseInt(s(235))/5+parseInt(s(240))/6+-parseInt(s(250))/7+parseInt(s(244))/8*(parseInt(s(245))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ai);class yi{constructor(t){const e=mi;this[e(251)]=[],this[e(238)]=this[e(238)][e(236)](this),this[e(248)]=t}[gi(238)](t,e,s){const i=gi;let r=arguments[i(237)]>3&&void 0!==arguments[3]?arguments[3]:{};if(!t)return;if(Array[i(243)](e))return e[i(252)]((e=>this.proxy(t,e,s,r)));t.addEventListener(e,s,r);const n=()=>{Bs(t.removeEventListener)&&t.removeEventListener(e,s,r)};return this[i(251)][i(239)](n),n}[gi(246)](){const t=gi;this.master.debugLog(t(249),"destroy"),this[t(251)][t(241)]((t=>t())),this[t(251)]=[]}}function bi(t,e){const s=vi();return(bi=function(t,e){return s[t-=430]})(t,e)}!function(t,e){const s=bi,i=t();for(;;)try{if(610447===parseInt(s(445))/1*(-parseInt(s(452))/2)+-parseInt(s(451))/3*(parseInt(s(450))/4)+parseInt(s(434))/5+-parseInt(s(430))/6+parseInt(s(436))/7*(-parseInt(s(432))/8)+parseInt(s(446))/9+parseInt(s(438))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vi);function vi(){const t=["left","214628WlfkQd","39BONgtC","21002ipzgUr","1312308KGuBbr","rect","7962376lklmyM","width","1142550ZgRiqt","defineProperty","7WTHKoU","bottom","14234840TXHeld","height","max","top","clientHeight","$container","getBoundingClientRect","16PymWsB","9342225BuoJqw","right","clientWidth"];return(vi=function(){return t})()}function wi(){const t=["webFullscreen","339864geyaDo","389778fahwbC","fullscreenError","flvMetaData","useMSE","videoInfo","player events","videoSEI","playToRenderTimes","fullscreen","useWebFullScreen","listen decoderWorkerInit and set loaded true","debugWarn","1352845pHcSHL","length","debug","debugLog","emit","jb-pro-fullscreen-web","player","fullscreen exit error","28ZbfxKK","debugError","add","keys","_opt","163998LfJcJU","forEach","destroys","toString","audioInfo","then","1515280hbRUqw","videoSmooth","loading","includes","change","$container","player event error","loaded","request","off","performance","exit","stats","1617876nAFNVX","videoSEISyncPts","events","resize","stringify","currentPts","30070iXeedh"];return(wi=function(){return t})()}function Si(t,e){const s=wi();return(Si=function(t,e){return s[t-=343]})(t,e)}!function(t,e){const s=Si,i=t();for(;;)try{if(312999===-parseInt(s(395))/1+parseInt(s(393))/2+parseInt(s(368))/3+parseInt(s(387))/4+-parseInt(s(355))/5+parseInt(s(343))/6*(parseInt(s(363))/7)+parseInt(s(374))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(wi);var Ei=Ri;!function(t,e){for(var s=Ri,i=t();;)try{if(312248===parseInt(s(151))/1+parseInt(s(157))/2+-parseInt(s(150))/3+-parseInt(s(160))/4+parseInt(s(152))/5+parseInt(s(162))/6*(-parseInt(s(156))/7)+-parseInt(s(158))/8*(parseInt(s(161))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ci);var Ii=1e-6,Ti=typeof Float32Array!==Ei(163)?Float32Array:Array,ki=Math[Ei(159)];var _i=Math.PI/180;function Ci(){var t=["2363570Yxjjgg","sqrt","max","abs","7atULVs","1036940dozutD","11048EAJDlN","random","586928xFPPee","3483icDlTu","752118xbcJbp","undefined","hypot","175671oIiQGH","186153MfkmGC"];return(Ci=function(){return t})()}function Ri(t,e){var s=Ci();return(Ri=function(t,e){return s[t-=150]})(t,e)}Math[Ei(164)]||(Math.hypot=function(){for(var t=Ei,e=0,s=arguments.length;s--;)e+=arguments[s]*arguments[s];return Math[t(153)](e)});var Di=Object.freeze({__proto__:null,EPSILON:Ii,get ARRAY_TYPE(){return Ti},RANDOM:ki,setMatrixArrayType:function(t){Ti=t},toRadian:function(t){return t*_i},equals:function(t,e){var s=Ei;return Math[s(155)](t-e)<=Ii*Math[s(154)](1,Math[s(155)](t),Math.abs(e))}});function xi(){var t=zi,e=new(Di[t(384)])(16);return Di[t(384)]!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Li(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Pi(t,e,s){var i=e[0],r=e[1],n=e[2],o=e[3],a=e[4],h=e[5],c=e[6],l=e[7],d=e[8],u=e[9],p=e[10],f=e[11],m=e[12],g=e[13],A=e[14],y=e[15],b=s[0],v=s[1],w=s[2],S=s[3];return t[0]=b*i+v*a+w*d+S*m,t[1]=b*r+v*h+w*u+S*g,t[2]=b*n+v*c+w*p+S*A,t[3]=b*o+v*l+w*f+S*y,b=s[4],v=s[5],w=s[6],S=s[7],t[4]=b*i+v*a+w*d+S*m,t[5]=b*r+v*h+w*u+S*g,t[6]=b*n+v*c+w*p+S*A,t[7]=b*o+v*l+w*f+S*y,b=s[8],v=s[9],w=s[10],S=s[11],t[8]=b*i+v*a+w*d+S*m,t[9]=b*r+v*h+w*u+S*g,t[10]=b*n+v*c+w*p+S*A,t[11]=b*o+v*l+w*f+S*y,b=s[12],v=s[13],w=s[14],S=s[15],t[12]=b*i+v*a+w*d+S*m,t[13]=b*r+v*h+w*u+S*g,t[14]=b*n+v*c+w*p+S*A,t[15]=b*o+v*l+w*f+S*y,t}function Mi(){var t=["364375TbvcxP","sin","9919ufSGAQ","456untHWx","abs","tan","sqrt","930440oFLsQT","leftDegrees","cos","5XmSQPD","18EyFHQg","max","636384BvZUpw","hypot","276FslWqq","EPSILON","684740XaqfNp","177683vDuuBk","ARRAY_TYPE","251626cGRpYv","3dhcYta","mat4("];return(Mi=function(){return t})()}function Bi(t,e,s){var i=e[0],r=e[1],n=e[2],o=e[3],a=i+i,h=r+r,c=n+n,l=i*a,d=i*h,u=i*c,p=r*h,f=r*c,m=n*c,g=o*a,A=o*h,y=o*c;return t[0]=1-(p+m),t[1]=d+y,t[2]=u-A,t[3]=0,t[4]=d-y,t[5]=1-(l+m),t[6]=f+g,t[7]=0,t[8]=u+A,t[9]=f-g,t[10]=1-(l+p),t[11]=0,t[12]=s[0],t[13]=s[1],t[14]=s[2],t[15]=1,t}function Fi(t,e){var s=zi,i=e[0],r=e[1],n=e[2],o=e[4],a=e[5],h=e[6],c=e[8],l=e[9],d=e[10];return t[0]=Math[s(379)](i,r,n),t[1]=Math[s(379)](o,a,h),t[2]=Math[s(379)](c,l,d),t}function Oi(t,e,s,i,r){var n,o=1/Math[zi(370)](e/2);return t[0]=o/s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(n=1/(i-r),t[10]=(r+i)*n,t[14]=2*r*i*n):(t[10]=-1,t[14]=-2*i),t}!function(t,e){for(var s=zi,i=t();;)try{if(288702===parseInt(s(388))/1+parseInt(s(385))/2*(parseInt(s(386))/3)+parseInt(s(382))/4*(parseInt(s(375))/5)+-parseInt(s(391))/6*(parseInt(s(390))/7)+-parseInt(s(378))/8+-parseInt(s(376))/9*(-parseInt(s(372))/10)+-parseInt(s(383))/11*(parseInt(s(380))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Mi);var Ui=Oi;function ji(t,e,s,i,r,n,o){var a=1/(e-s),h=1/(i-r),c=1/(n-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+s)*a,t[13]=(r+i)*h,t[14]=(o+n)*c,t[15]=1,t}var Ni=ji;function Vi(t,e,s){return t[0]=e[0]-s[0],t[1]=e[1]-s[1],t[2]=e[2]-s[2],t[3]=e[3]-s[3],t[4]=e[4]-s[4],t[5]=e[5]-s[5],t[6]=e[6]-s[6],t[7]=e[7]-s[7],t[8]=e[8]-s[8],t[9]=e[9]-s[9],t[10]=e[10]-s[10],t[11]=e[11]-s[11],t[12]=e[12]-s[12],t[13]=e[13]-s[13],t[14]=e[14]-s[14],t[15]=e[15]-s[15],t}function zi(t,e){var s=Mi();return(zi=function(t,e){return s[t-=369]})(t,e)}var Wi=Pi,Gi=Vi,Hi=Object.freeze({__proto__:null,create:xi,clone:function(t){var e=new Ti(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},copy:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},fromValues:function(t,e,s,i,r,n,o,a,h,c,l,d,u,p,f,m){var g=new(Di[zi(384)])(16);return g[0]=t,g[1]=e,g[2]=s,g[3]=i,g[4]=r,g[5]=n,g[6]=o,g[7]=a,g[8]=h,g[9]=c,g[10]=l,g[11]=d,g[12]=u,g[13]=p,g[14]=f,g[15]=m,g},set:function(t,e,s,i,r,n,o,a,h,c,l,d,u,p,f,m,g){return t[0]=e,t[1]=s,t[2]=i,t[3]=r,t[4]=n,t[5]=o,t[6]=a,t[7]=h,t[8]=c,t[9]=l,t[10]=d,t[11]=u,t[12]=p,t[13]=f,t[14]=m,t[15]=g,t},identity:Li,transpose:function(t,e){if(t===e){var s=e[1],i=e[2],r=e[3],n=e[6],o=e[7],a=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=s,t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=n,t[11]=e[14],t[12]=r,t[13]=o,t[14]=a}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},invert:function(t,e){var s=e[0],i=e[1],r=e[2],n=e[3],o=e[4],a=e[5],h=e[6],c=e[7],l=e[8],d=e[9],u=e[10],p=e[11],f=e[12],m=e[13],g=e[14],A=e[15],y=s*a-i*o,b=s*h-r*o,v=s*c-n*o,w=i*h-r*a,S=i*c-n*a,E=r*c-n*h,I=l*m-d*f,T=l*g-u*f,k=l*A-p*f,_=d*g-u*m,C=d*A-p*m,R=u*A-p*g,D=y*R-b*C+v*_+w*k-S*T+E*I;return D?(D=1/D,t[0]=(a*R-h*C+c*_)*D,t[1]=(r*C-i*R-n*_)*D,t[2]=(m*E-g*S+A*w)*D,t[3]=(u*S-d*E-p*w)*D,t[4]=(h*k-o*R-c*T)*D,t[5]=(s*R-r*k+n*T)*D,t[6]=(g*v-f*E-A*b)*D,t[7]=(l*E-u*v+p*b)*D,t[8]=(o*C-a*k+c*I)*D,t[9]=(i*k-s*C-n*I)*D,t[10]=(f*S-m*v+A*y)*D,t[11]=(d*v-l*S-p*y)*D,t[12]=(a*T-o*_-h*I)*D,t[13]=(s*_-i*T+r*I)*D,t[14]=(m*b-f*w-g*y)*D,t[15]=(l*w-d*b+u*y)*D,t):null},adjoint:function(t,e){var s=e[0],i=e[1],r=e[2],n=e[3],o=e[4],a=e[5],h=e[6],c=e[7],l=e[8],d=e[9],u=e[10],p=e[11],f=e[12],m=e[13],g=e[14],A=e[15];return t[0]=a*(u*A-p*g)-d*(h*A-c*g)+m*(h*p-c*u),t[1]=-(i*(u*A-p*g)-d*(r*A-n*g)+m*(r*p-n*u)),t[2]=i*(h*A-c*g)-a*(r*A-n*g)+m*(r*c-n*h),t[3]=-(i*(h*p-c*u)-a*(r*p-n*u)+d*(r*c-n*h)),t[4]=-(o*(u*A-p*g)-l*(h*A-c*g)+f*(h*p-c*u)),t[5]=s*(u*A-p*g)-l*(r*A-n*g)+f*(r*p-n*u),t[6]=-(s*(h*A-c*g)-o*(r*A-n*g)+f*(r*c-n*h)),t[7]=s*(h*p-c*u)-o*(r*p-n*u)+l*(r*c-n*h),t[8]=o*(d*A-p*m)-l*(a*A-c*m)+f*(a*p-c*d),t[9]=-(s*(d*A-p*m)-l*(i*A-n*m)+f*(i*p-n*d)),t[10]=s*(a*A-c*m)-o*(i*A-n*m)+f*(i*c-n*a),t[11]=-(s*(a*p-c*d)-o*(i*p-n*d)+l*(i*c-n*a)),t[12]=-(o*(d*g-u*m)-l*(a*g-h*m)+f*(a*u-h*d)),t[13]=s*(d*g-u*m)-l*(i*g-r*m)+f*(i*u-r*d),t[14]=-(s*(a*g-h*m)-o*(i*g-r*m)+f*(i*h-r*a)),t[15]=s*(a*u-h*d)-o*(i*u-r*d)+l*(i*h-r*a),t},determinant:function(t){var e=t[0],s=t[1],i=t[2],r=t[3],n=t[4],o=t[5],a=t[6],h=t[7],c=t[8],l=t[9],d=t[10],u=t[11],p=t[12],f=t[13],m=t[14],g=t[15];return(e*o-s*n)*(d*g-u*m)-(e*a-i*n)*(l*g-u*f)+(e*h-r*n)*(l*m-d*f)+(s*a-i*o)*(c*g-u*p)-(s*h-r*o)*(c*m-d*p)+(i*h-r*a)*(c*f-l*p)},multiply:Pi,translate:function(t,e,s){var i,r,n,o,a,h,c,l,d,u,p,f,m=s[0],g=s[1],A=s[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*A+e[12],t[13]=e[1]*m+e[5]*g+e[9]*A+e[13],t[14]=e[2]*m+e[6]*g+e[10]*A+e[14],t[15]=e[3]*m+e[7]*g+e[11]*A+e[15]):(i=e[0],r=e[1],n=e[2],o=e[3],a=e[4],h=e[5],c=e[6],l=e[7],d=e[8],u=e[9],p=e[10],f=e[11],t[0]=i,t[1]=r,t[2]=n,t[3]=o,t[4]=a,t[5]=h,t[6]=c,t[7]=l,t[8]=d,t[9]=u,t[10]=p,t[11]=f,t[12]=i*m+a*g+d*A+e[12],t[13]=r*m+h*g+u*A+e[13],t[14]=n*m+c*g+p*A+e[14],t[15]=o*m+l*g+f*A+e[15]),t},scale:function(t,e,s){var i=s[0],r=s[1],n=s[2];return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},rotate:function(t,e,s,i){var r,n,o,a,h,c,l,d,u,p,f,m,g,A,y,b,v,w,S,E,I,T,k,_,C=zi,R=i[0],D=i[1],x=i[2],L=Math[C(379)](R,D,x);return L0?(s[0]=2*(a*o+l*i+h*n-c*r)/d,s[1]=2*(h*o+l*r+c*i-a*n)/d,s[2]=2*(c*o+l*n+a*r-h*i)/d):(s[0]=2*(a*o+l*i+h*n-c*r),s[1]=2*(h*o+l*r+c*i-a*n),s[2]=2*(c*o+l*n+a*r-h*i)),Bi(t,e,s),t},getTranslation:function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},getScaling:Fi,getRotation:function(t,e){var s=zi,i=new(Di[s(384)])(3);Fi(i,e);var r=1/i[0],n=1/i[1],o=1/i[2],a=e[0]*r,h=e[1]*n,c=e[2]*o,l=e[4]*r,d=e[5]*n,u=e[6]*o,p=e[8]*r,f=e[9]*n,m=e[10]*o,g=a+d+m,A=0;return g>0?(A=2*Math[s(371)](g+1),t[3]=.25*A,t[0]=(u-f)/A,t[1]=(p-c)/A,t[2]=(h-l)/A):a>d&&a>m?(A=2*Math[s(371)](1+a-d-m),t[3]=(u-f)/A,t[0]=.25*A,t[1]=(h+l)/A,t[2]=(p+c)/A):d>m?(A=2*Math[s(371)](1+d-a-m),t[3]=(p-c)/A,t[0]=(h+l)/A,t[1]=.25*A,t[2]=(u+f)/A):(A=2*Math[s(371)](1+m-a-d),t[3]=(h-l)/A,t[0]=(p+c)/A,t[1]=(u+f)/A,t[2]=.25*A),t},fromRotationTranslationScale:function(t,e,s,i){var r=e[0],n=e[1],o=e[2],a=e[3],h=r+r,c=n+n,l=o+o,d=r*h,u=r*c,p=r*l,f=n*c,m=n*l,g=o*l,A=a*h,y=a*c,b=a*l,v=i[0],w=i[1],S=i[2];return t[0]=(1-(f+g))*v,t[1]=(u+b)*v,t[2]=(p-y)*v,t[3]=0,t[4]=(u-b)*w,t[5]=(1-(d+g))*w,t[6]=(m+A)*w,t[7]=0,t[8]=(p+y)*S,t[9]=(m-A)*S,t[10]=(1-(d+f))*S,t[11]=0,t[12]=s[0],t[13]=s[1],t[14]=s[2],t[15]=1,t},fromRotationTranslationScaleOrigin:function(t,e,s,i,r){var n=e[0],o=e[1],a=e[2],h=e[3],c=n+n,l=o+o,d=a+a,u=n*c,p=n*l,f=n*d,m=o*l,g=o*d,A=a*d,y=h*c,b=h*l,v=h*d,w=i[0],S=i[1],E=i[2],I=r[0],T=r[1],k=r[2],_=(1-(m+A))*w,C=(p+v)*w,R=(f-b)*w,D=(p-v)*S,x=(1-(u+A))*S,L=(g+y)*S,P=(f+b)*E,M=(g-y)*E,B=(1-(u+m))*E;return t[0]=_,t[1]=C,t[2]=R,t[3]=0,t[4]=D,t[5]=x,t[6]=L,t[7]=0,t[8]=P,t[9]=M,t[10]=B,t[11]=0,t[12]=s[0]+I-(_*I+D*T+P*k),t[13]=s[1]+T-(C*I+x*T+M*k),t[14]=s[2]+k-(R*I+L*T+B*k),t[15]=1,t},fromQuat:function(t,e){var s=e[0],i=e[1],r=e[2],n=e[3],o=s+s,a=i+i,h=r+r,c=s*o,l=i*o,d=i*a,u=r*o,p=r*a,f=r*h,m=n*o,g=n*a,A=n*h;return t[0]=1-d-f,t[1]=l+A,t[2]=u-g,t[3]=0,t[4]=l-A,t[5]=1-c-f,t[6]=p+m,t[7]=0,t[8]=u+g,t[9]=p-m,t[10]=1-c-d,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},frustum:function(t,e,s,i,r,n,o){var a=1/(s-e),h=1/(r-i),c=1/(n-o);return t[0]=2*n*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*n*h,t[6]=0,t[7]=0,t[8]=(s+e)*a,t[9]=(r+i)*h,t[10]=(o+n)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*n*2*c,t[15]=0,t},perspectiveNO:Oi,perspective:Ui,perspectiveZO:function(t,e,s,i,r){var n,o=1/Math.tan(e/2);return t[0]=o/s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=r&&r!==1/0?(n=1/(i-r),t[10]=r*n,t[14]=r*i*n):(t[10]=-1,t[14]=-i),t},perspectiveFromFieldOfView:function(t,e,s,i){var r=zi,n=Math[r(370)](e.upDegrees*Math.PI/180),o=Math[r(370)](e.downDegrees*Math.PI/180),a=Math[r(370)](e[r(373)]*Math.PI/180),h=Math[r(370)](e.rightDegrees*Math.PI/180),c=2/(a+h),l=2/(n+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-(a-h)*c*.5,t[9]=(n-o)*l*.5,t[10]=i/(s-i),t[11]=-1,t[12]=0,t[13]=0,t[14]=i*s/(s-i),t[15]=0,t},orthoNO:ji,ortho:Ni,orthoZO:function(t,e,s,i,r,n,o){var a=1/(e-s),h=1/(i-r),c=1/(n-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=c,t[11]=0,t[12]=(e+s)*a,t[13]=(r+i)*h,t[14]=n*c,t[15]=1,t},lookAt:function(t,e,s,i){var r,n,o,a,h,c,l,d,u,p,f=zi,m=e[0],g=e[1],A=e[2],y=i[0],b=i[1],v=i[2],w=s[0],S=s[1],E=s[2];return Math.abs(m-w)0&&(d*=f=1/Math[r(371)](f),u*=f,p*=f);var m=c*p-l*u,g=l*d-h*p,A=h*u-c*d;return(f=m*m+g*g+A*A)>0&&(m*=f=1/Math[r(371)](f),g*=f,A*=f),t[0]=m,t[1]=g,t[2]=A,t[3]=0,t[4]=u*A-p*g,t[5]=p*m-d*A,t[6]=d*g-u*m,t[7]=0,t[8]=d,t[9]=u,t[10]=p,t[11]=0,t[12]=n,t[13]=o,t[14]=a,t[15]=1,t},str:function(t){return zi(387)+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},frob:function(t){return Math[zi(379)](t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},add:function(t,e,s){return t[0]=e[0]+s[0],t[1]=e[1]+s[1],t[2]=e[2]+s[2],t[3]=e[3]+s[3],t[4]=e[4]+s[4],t[5]=e[5]+s[5],t[6]=e[6]+s[6],t[7]=e[7]+s[7],t[8]=e[8]+s[8],t[9]=e[9]+s[9],t[10]=e[10]+s[10],t[11]=e[11]+s[11],t[12]=e[12]+s[12],t[13]=e[13]+s[13],t[14]=e[14]+s[14],t[15]=e[15]+s[15],t},subtract:Vi,multiplyScalar:function(t,e,s){return t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s,t[4]=e[4]*s,t[5]=e[5]*s,t[6]=e[6]*s,t[7]=e[7]*s,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12]*s,t[13]=e[13]*s,t[14]=e[14]*s,t[15]=e[15]*s,t},multiplyScalarAndAdd:function(t,e,s,i){return t[0]=e[0]+s[0]*i,t[1]=e[1]+s[1]*i,t[2]=e[2]+s[2]*i,t[3]=e[3]+s[3]*i,t[4]=e[4]+s[4]*i,t[5]=e[5]+s[5]*i,t[6]=e[6]+s[6]*i,t[7]=e[7]+s[7]*i,t[8]=e[8]+s[8]*i,t[9]=e[9]+s[9]*i,t[10]=e[10]+s[10]*i,t[11]=e[11]+s[11]*i,t[12]=e[12]+s[12]*i,t[13]=e[13]+s[13]*i,t[14]=e[14]+s[14]*i,t[15]=e[15]+s[15]*i,t},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},equals:function(t,e){var s=zi,i=t[0],r=t[1],n=t[2],o=t[3],a=t[4],h=t[5],c=t[6],l=t[7],d=t[8],u=t[9],p=t[10],f=t[11],m=t[12],g=t[13],A=t[14],y=t[15],b=e[0],v=e[1],w=e[2],S=e[3],E=e[4],I=e[5],T=e[6],k=e[7],_=e[8],C=e[9],R=e[10],D=e[11],x=e[12],L=e[13],P=e[14],M=e[15];return Math.abs(i-b)<=Di[s(381)]*Math[s(377)](1,Math.abs(i),Math[s(369)](b))&&Math[s(369)](r-v)<=Ii*Math[s(377)](1,Math[s(369)](r),Math[s(369)](v))&&Math.abs(n-w)<=Di[s(381)]*Math[s(377)](1,Math[s(369)](n),Math[s(369)](w))&&Math[s(369)](o-S)<=Ii*Math[s(377)](1,Math.abs(o),Math[s(369)](S))&&Math[s(369)](a-E)<=Di[s(381)]*Math.max(1,Math[s(369)](a),Math[s(369)](E))&&Math[s(369)](h-I)<=Di[s(381)]*Math.max(1,Math.abs(h),Math[s(369)](I))&&Math[s(369)](c-T)<=Di[s(381)]*Math[s(377)](1,Math[s(369)](c),Math[s(369)](T))&&Math.abs(l-k)<=Di[s(381)]*Math[s(377)](1,Math[s(369)](l),Math[s(369)](k))&&Math[s(369)](d-_)<=Di[s(381)]*Math[s(377)](1,Math[s(369)](d),Math[s(369)](_))&&Math.abs(u-C)<=Di[s(381)]*Math.max(1,Math[s(369)](u),Math[s(369)](C))&&Math.abs(p-R)<=Di[s(381)]*Math[s(377)](1,Math[s(369)](p),Math[s(369)](R))&&Math.abs(f-D)<=Di[s(381)]*Math[s(377)](1,Math[s(369)](f),Math[s(369)](D))&&Math[s(369)](m-x)<=Di[s(381)]*Math[s(377)](1,Math.abs(m),Math.abs(x))&&Math[s(369)](g-L)<=Di[s(381)]*Math[s(377)](1,Math.abs(g),Math.abs(L))&&Math.abs(A-P)<=Ii*Math[s(377)](1,Math[s(369)](A),Math[s(369)](P))&&Math[s(369)](y-M)<=Di[s(381)]*Math.max(1,Math.abs(y),Math[s(369)](M))},mul:Wi,sub:Gi});function Ki(){var t=new(Di[Xi(204)])(3);return Ti!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function Qi(t){var e=Xi,s=t[0],i=t[1],r=t[2];return Math[e(196)](s,i,r)}function Yi(t,e,s){return t[0]=e[0]-s[0],t[1]=e[1]-s[1],t[2]=e[2]-s[2],t}function qi(t,e,s){return t[0]=e[0]*s[0],t[1]=e[1]*s[1],t[2]=e[2]*s[2],t}function Ji(t,e,s){return t[0]=e[0]/s[0],t[1]=e[1]/s[1],t[2]=e[2]/s[2],t}function Xi(t,e){var s=cr();return(Xi=function(t,e){return s[t-=196]})(t,e)}function Zi(t,e){var s=Xi,i=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return Math[s(196)](i,r,n)}function $i(t,e){var s=e[0]-t[0],i=e[1]-t[1],r=e[2]-t[2];return s*s+i*i+r*r}function tr(t){var e=t[0],s=t[1],i=t[2];return e*e+s*s+i*i}function er(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}!function(t,e){for(var s=Xi,i=t();;)try{if(151646===parseInt(s(208))/1+-parseInt(s(210))/2*(-parseInt(s(205))/3)+-parseInt(s(220))/4*(parseInt(s(200))/5)+-parseInt(s(197))/6*(parseInt(s(202))/7)+-parseInt(s(216))/8*(-parseInt(s(201))/9)+-parseInt(s(212))/10+parseInt(s(206))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(cr);var sr=Yi,ir=qi,rr=Ji,nr=Zi,or=$i,ar=Qi,hr=tr;function cr(){var t=["200hUXrKa","hypot","384ZYptKz","sin","cos","6590rMEUXV","9awTLQl","17528tEejJD","sqrt","ARRAY_TYPE","3MAsURa","2590126vRtFSo","ceil","29733Crrygi","length","577622CFLiXo","max","2251820WmPBAd","acos","min","EPSILON","391792hAbwvs","floor","abs","round"];return(cr=function(){return t})()}var lr,dr=(lr=Ki(),function(t,e,s,i,r,n){var o,a,h=Xi;for(!e&&(e=3),!s&&(s=0),a=i?Math.min(i*e+s,t[h(209)]):t[h(209)],o=s;o0&&(o=1/Math[s(203)](o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t},dot:er,cross:function(t,e,s){var i=e[0],r=e[1],n=e[2],o=s[0],a=s[1],h=s[2];return t[0]=r*h-n*a,t[1]=n*o-i*h,t[2]=i*a-r*o,t},lerp:function(t,e,s,i){var r=e[0],n=e[1],o=e[2];return t[0]=r+i*(s[0]-r),t[1]=n+i*(s[1]-n),t[2]=o+i*(s[2]-o),t},hermite:function(t,e,s,i,r,n){var o=n*n,a=o*(2*n-3)+1,h=o*(n-2)+n,c=o*(n-1),l=o*(3-2*n);return t[0]=e[0]*a+s[0]*h+i[0]*c+r[0]*l,t[1]=e[1]*a+s[1]*h+i[1]*c+r[1]*l,t[2]=e[2]*a+s[2]*h+i[2]*c+r[2]*l,t},bezier:function(t,e,s,i,r,n){var o=1-n,a=o*o,h=n*n,c=a*o,l=3*n*a,d=3*h*o,u=h*n;return t[0]=e[0]*c+s[0]*l+i[0]*d+r[0]*u,t[1]=e[1]*c+s[1]*l+i[1]*d+r[1]*u,t[2]=e[2]*c+s[2]*l+i[2]*d+r[2]*u,t},random:function(t,e){var s=Xi;e=e||1;var i=2*ki()*Math.PI,r=2*ki()-1,n=Math[s(203)](1-r*r)*e;return t[0]=Math[s(199)](i)*n,t[1]=Math.sin(i)*n,t[2]=r*e,t},transformMat4:function(t,e,s){var i=e[0],r=e[1],n=e[2],o=s[3]*i+s[7]*r+s[11]*n+s[15];return o=o||1,t[0]=(s[0]*i+s[4]*r+s[8]*n+s[12])/o,t[1]=(s[1]*i+s[5]*r+s[9]*n+s[13])/o,t[2]=(s[2]*i+s[6]*r+s[10]*n+s[14])/o,t},transformMat3:function(t,e,s){var i=e[0],r=e[1],n=e[2];return t[0]=i*s[0]+r*s[3]+n*s[6],t[1]=i*s[1]+r*s[4]+n*s[7],t[2]=i*s[2]+r*s[5]+n*s[8],t},transformQuat:function(t,e,s){var i=s[0],r=s[1],n=s[2],o=s[3],a=e[0],h=e[1],c=e[2],l=r*c-n*h,d=n*a-i*c,u=i*h-r*a,p=r*u-n*d,f=n*l-i*u,m=i*d-r*l,g=2*o;return l*=g,d*=g,u*=g,p*=2,f*=2,m*=2,t[0]=a+l+p,t[1]=h+d+f,t[2]=c+u+m,t},rotateX:function(t,e,s,i){var r=Xi,n=[],o=[];return n[0]=e[0]-s[0],n[1]=e[1]-s[1],n[2]=e[2]-s[2],o[0]=n[0],o[1]=n[1]*Math[r(199)](i)-n[2]*Math[r(198)](i),o[2]=n[1]*Math[r(198)](i)+n[2]*Math[r(199)](i),t[0]=o[0]+s[0],t[1]=o[1]+s[1],t[2]=o[2]+s[2],t},rotateY:function(t,e,s,i){var r=Xi,n=[],o=[];return n[0]=e[0]-s[0],n[1]=e[1]-s[1],n[2]=e[2]-s[2],o[0]=n[2]*Math[r(198)](i)+n[0]*Math[r(199)](i),o[1]=n[1],o[2]=n[2]*Math[r(199)](i)-n[0]*Math.sin(i),t[0]=o[0]+s[0],t[1]=o[1]+s[1],t[2]=o[2]+s[2],t},rotateZ:function(t,e,s,i){var r=Xi,n=[],o=[];return n[0]=e[0]-s[0],n[1]=e[1]-s[1],n[2]=e[2]-s[2],o[0]=n[0]*Math.cos(i)-n[1]*Math[r(198)](i),o[1]=n[0]*Math[r(198)](i)+n[1]*Math[r(199)](i),o[2]=n[2],t[0]=o[0]+s[0],t[1]=o[1]+s[1],t[2]=o[2]+s[2],t},angle:function(t,e){var s=Xi,i=t[0],r=t[1],n=t[2],o=e[0],a=e[1],h=e[2],c=Math[s(203)](i*i+r*r+n*n)*Math[s(203)](o*o+a*a+h*h),l=c&&er(t,e)/c;return Math[s(213)](Math.min(Math.max(l,-1),1))},zero:function(t){return t[0]=0,t[1]=0,t[2]=0,t},str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},equals:function(t,e){var s=Xi,i=t[0],r=t[1],n=t[2],o=e[0],a=e[1],h=e[2];return Math[s(218)](i-o)<=Di[s(215)]*Math.max(1,Math.abs(i),Math[s(218)](o))&&Math[s(218)](r-a)<=Ii*Math[s(211)](1,Math[s(218)](r),Math[s(218)](a))&&Math.abs(n-h)<=Di[s(215)]*Math.max(1,Math[s(218)](n),Math[s(218)](h))},sub:sr,mul:ir,div:rr,dist:nr,sqrDist:or,len:ar,sqrLen:hr,forEach:dr});function pr(){var t=fr,e=new(Di[t(400)])(4);return Di[t(400)]!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function fr(t,e){var s=mr();return(fr=function(t,e){return s[t-=400]})(t,e)}function mr(){var t=["hypot","112696bWLENW","min","sqrt","floor","vec4(","125690mEbQAW","19837WUQVBM","abs","EPSILON","round","1419WENwqC","max","66pDKJIY","ARRAY_TYPE","13085HiFKyd","ceil","length","635400XhnyXx","RANDOM","1044054EChndT","52clBpaQ","1075672pQlfHh","203ktMSNO"];return(mr=function(){return t})()}!function(t,e){for(var s=fr,i=t();;)try{if(303617===-parseInt(s(417))/1*(parseInt(s(407))/2)+-parseInt(s(404))/3+-parseInt(s(408))/4+-parseInt(s(401))/5*(parseInt(s(423))/6)+parseInt(s(409))/7*(-parseInt(s(411))/8)+parseInt(s(406))/9+parseInt(s(416))/10*(parseInt(s(421))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mr);var gr;gr=pr();function Ar(){var t=["14384720FNaasD","2078604plDxUM","21FkBmYu","1447599CGlcIL","5755512mbyqmP","6vGcezX","155qXhBin","135536wQMneX","646692rOoXjh","180233EDRXEA"];return(Ar=function(){return t})()}function yr(t,e){var s=Ar();return(yr=function(t,e){return s[t-=132]})(t,e)}!function(t,e){for(var s=yr,i=t();;)try{if(611371===-parseInt(s(135))/1*(-parseInt(s(141))/2)+-parseInt(s(139))/3+parseInt(s(133))/4*(-parseInt(s(132))/5)+parseInt(s(134))/6*(-parseInt(s(138))/7)+parseInt(s(140))/8+-parseInt(s(137))/9+parseInt(s(136))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ar);const br=vr;function vr(t,e){const s=wr();return(vr=function(t,e){return s[t-=498]})(t,e)}function wr(){const t=["FRAGMENT_SHADER","4gCxpJu","activeTexture","TEXTURE_WRAP_T","TRIANGLES","27228IZAKrO","10xgMRut","yTexture","attribLocations","shaderSource","clearDepth","attachShader","uProjectionMatrix","DEPTH_BUFFER_BIT","TEXTURE_MAG_FILTER","_loadShader","CLAMP_TO_EDGE","bindBuffer","TEXTURE1","Unable to initialize the shader program: ","bufferData","SRC_ALPHA","deleteTexture","LINEAR","TEXTURE2","drawDom","3047728qZdQBH","texPosition","289466ZQmauv","COLOR_BUFFER_BIT","indices","_ytexture","_clear","\n attribute vec4 aVertexPosition;\n attribute vec2 aTexturePosition;\n varying lowp vec2 vTexturePosition;\n void main(void) {\n gl_Position = aVertexPosition;\n vTexturePosition = aTexturePosition;\n }\n ","_utexture","215625ftCRmF","ARRAY_BUFFER","renderYUV","\n precision highp float;\n varying highp vec2 vTexturePosition;\n uniform int isyuv;\n uniform sampler2D rgbaTexture;\n uniform sampler2D yTexture;\n uniform sampler2D uTexture;\n uniform sampler2D vTexture;\n\n const mat4 YUV2RGB = mat4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n\n void main(void) {\n\n if (isyuv>0) {\n\n highp float y = texture2D(yTexture, vTexturePosition).r;\n highp float u = texture2D(uTexture, vTexturePosition).r;\n highp float v = texture2D(vTexture, vTexturePosition).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n\n } else {\n gl_FragColor = texture2D(rgbaTexture, vTexturePosition);\n }\n }\n ","UNSIGNED_SHORT","deleteBuffer","_vtexture","7bszgOV","ytexture","LUMINANCE","createProgram","position","rgbatexture","_calRect","enableVertexAttribArray","getShaderParameter","drawElements","RGBA","createTexture","texImage2D","TEXTURE_2D","1418060McgAMX","_createTexture","ONE_MINUS_SRC_ALPHA","useProgram","viewport","uViewMatrix","linkProgram","texturePosition","TEXTURE0","VERTEX_SHADER","uniform1i","getProgramParameter","texParameteri","uTexture","bindTexture","COMPILE_STATUS","isyuv","vertexPosition","102897PMuTSK","ELEMENT_ARRAY_BUFFER","aVertexPosition","utexture","clear","positions","uModelMatrix","_programInfo","843741bLuBMe","_initBuffers","_initShaderProgram","getShaderInfoLog","createBuffer","_buffers","log","_rgbatexture","uniformLocations","getAttribLocation","UNSIGNED_BYTE","STATIC_DRAW","6KmwNZN","_drawScene","deleteProgram","getUniformLocation","render","vertexAttribPointer","462DZpVGM","LINK_STATUS","FLOAT","aTexturePosition","program","slice"];return(wr=function(){return t})()}!function(t,e){const s=vr,i=t();for(;;)try{if(274658===parseInt(s(509))/1+parseInt(s(569))/2+parseInt(s(576))/3*(-parseInt(s(542))/4)+parseInt(s(597))/5*(-parseInt(s(529))/6)+-parseInt(s(583))/7*(-parseInt(s(567))/8)+-parseInt(s(517))/9*(parseInt(s(547))/10)+-parseInt(s(535))/11*(-parseInt(s(546))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(wr);class Sr{constructor(t,e){const s=vr;this.gl=t,e&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1);const i=this._initShaderProgram();this[s(516)]={program:i,attribLocations:{vertexPosition:t[s(526)](i,s(511)),texturePosition:t.getAttribLocation(i,s(538))},uniformLocations:{projectionMatrix:t[s(532)](i,s(553)),modelMatrix:t.getUniformLocation(i,s(515)),viewMatrix:t[s(532)](i,s(602)),rgbatexture:t.getUniformLocation(i,"rgbaTexture"),ytexture:t[s(532)](i,s(548)),utexture:t[s(532)](i,s(504)),vtexture:t[s(532)](i,"vTexture"),isyuv:t[s(532)](i,s(507))}},this[s(522)]=this[s(518)](),this[s(524)]=this._createTexture(),this[s(572)]=this[s(598)](),this[s(575)]=this._createTexture(),this._vtexture=this._createTexture()}destroy(){const t=vr;this.gl[t(531)](this[t(516)][t(539)]),this.gl[t(581)](this[t(522)][t(587)]),this.gl[t(581)](this[t(522)][t(568)]),this.gl[t(581)](this[t(522)][t(571)]),this.gl[t(563)](this._rgbatexture),this.gl.deleteTexture(this[t(572)]),this.gl[t(563)](this._utexture),this.gl.deleteTexture(this[t(582)]),this[t(516)]=null,this[t(522)]=null,this._rgbatexture=null,this[t(572)]=null,this[t(575)]=null,this[t(582)]=null,this.gl=null}[br(519)](){const t=br,e=t(574),s=t(579),i=this._loadShader(this.gl[t(500)],e),r=this._loadShader(this.gl[t(541)],s),n=this.gl[t(586)]();return this.gl[t(552)](n,i),this.gl[t(552)](n,r),this.gl[t(603)](n),this.gl[t(502)](n,this.gl[t(536)])?n:(console.log(t(560)+this.gl.getProgramInfoLog(n)),null)}[br(556)](t,e){const s=br,i=this.gl,r=i.createShader(t);return i[s(550)](r,e),i.compileShader(r),i[s(591)](r,i[s(506)])?r:(console[s(523)]("An error occurred compiling the shaders: "+i[s(520)](r)),i.deleteShader(r),null)}[br(518)](){const t=br,e=this.gl,s=e[t(521)]();e.bindBuffer(e[t(577)],s);const i=[-1,-1,1,-1,1,1,-1,1];e.bufferData(e.ARRAY_BUFFER,new Float32Array(i),e[t(528)]);var r=[];r=r.concat([0,1],[1,1],[1,0],[0,0]);const n=e[t(521)]();e[t(558)](e.ARRAY_BUFFER,n),e[t(561)](e[t(577)],new Float32Array(r),e[t(528)]);const o=e[t(521)]();e[t(558)](e.ELEMENT_ARRAY_BUFFER,o);return e[t(561)](e[t(510)],new Uint16Array([0,1,2,0,2,3]),e[t(528)]),{positions:i,position:s,texPosition:n,indices:o}}[br(598)](){const t=br;let e=this.gl[t(594)]();return this.gl[t(505)](this.gl.TEXTURE_2D,e),this.gl.texParameteri(this.gl[t(596)],this.gl[t(555)],this.gl[t(564)]),this.gl.texParameteri(this.gl[t(596)],this.gl.TEXTURE_MIN_FILTER,this.gl[t(564)]),this.gl[t(503)](this.gl[t(596)],this.gl.TEXTURE_WRAP_S,this.gl[t(557)]),this.gl[t(503)](this.gl[t(596)],this.gl[t(544)],this.gl[t(557)]),e}_drawScene(t,e,s){const i=br;this.gl[i(601)](0,0,t,e),this.gl.enable(this.gl.BLEND),this.gl.blendFunc(this.gl[i(562)],this.gl[i(599)]),this.gl[i(558)](this.gl.ARRAY_BUFFER,this[i(522)].position),this.gl[i(561)](this.gl[i(577)],new Float32Array(this[i(522)][i(514)]),this.gl[i(528)]),this.gl.vertexAttribPointer(this._programInfo[i(549)][i(508)],2,this.gl[i(537)],!1,0,0),this.gl[i(590)](this[i(516)][i(549)].vertexPosition),this.gl[i(558)](this.gl[i(577)],this[i(522)][i(568)]),this.gl[i(534)](this[i(516)][i(549)][i(498)],2,this.gl[i(537)],!1,0,0),this.gl.enableVertexAttribArray(this[i(516)][i(549)][i(498)]),this.gl.bindBuffer(this.gl[i(510)],this._buffers[i(571)]);s?(this.gl[i(543)](this.gl[i(499)]+3),this.gl[i(505)](this.gl[i(596)],this[i(572)]),this.gl[i(543)](this.gl[i(499)]+4),this.gl[i(505)](this.gl[i(596)],this._utexture),this.gl.activeTexture(this.gl[i(499)]+5),this.gl.bindTexture(this.gl[i(596)],this[i(582)])):(this.gl.activeTexture(this.gl.TEXTURE0+2),this.gl.bindTexture(this.gl[i(596)],this[i(524)])),this.gl[i(600)](this._programInfo.program),this.gl[i(501)](this[i(516)][i(525)][i(588)],2),this.gl.uniform1i(this[i(516)][i(525)][i(584)],3),this.gl[i(501)](this[i(516)][i(525)][i(512)],4),this.gl[i(501)](this._programInfo[i(525)].vtexture,5),this.gl[i(501)](this[i(516)][i(525)].isyuv,s?1:0),this.gl[i(592)](this.gl[i(545)],6,this.gl[i(580)],0)}[br(589)](t,e,s,i,r,n){let o=2*t/r-1,a=2*(n-e-i)/n-1,h=2*(t+s)/r-1,c=2*(n-e)/n-1;return[o,a,h,a,h,c,o,c]}_clear(){const t=br;this.gl.clearColor(0,0,0,1),this.gl[t(551)](1),this.gl[t(513)](this.gl[t(570)]|this.gl[t(554)])}[br(533)](t,e,s,i,r){const n=br,o=this.gl;this[n(573)](),o.activeTexture(o[n(499)]),o[n(505)](o.TEXTURE_2D,this._ytexture),o[n(595)](o[n(596)],0,o[n(585)],t,e,0,o[n(585)],o.UNSIGNED_BYTE,s),o[n(543)](o[n(559)]),o[n(505)](o[n(596)],this._utexture),o[n(595)](o[n(596)],0,o[n(585)],t/2,e/2,0,o.LUMINANCE,o[n(527)],i),o[n(543)](o[n(565)]),o[n(505)](o[n(596)],this._vtexture),o.texImage2D(o.TEXTURE_2D,0,o[n(585)],t/2,e/2,0,o.LUMINANCE,o[n(527)],r),this._buffers[n(514)]=[-1,-1,1,-1,1,1,-1,1],this._drawScene(t,e,!0)}[br(578)](t,e,s){const i=br;let r=s[i(540)](0,t*e),n=s[i(540)](t*e,t*e*5/4),o=s[i(540)](t*e*5/4,t*e*3/2);const a=this.gl;this[i(573)](),a[i(543)](a[i(499)]),a[i(505)](a[i(596)],this[i(572)]),a[i(595)](a[i(596)],0,a[i(585)],t,e,0,a[i(585)],a[i(527)],r),a[i(543)](a[i(559)]),a.bindTexture(a[i(596)],this[i(575)]),a[i(595)](a[i(596)],0,a[i(585)],t/2,e/2,0,a.LUMINANCE,a[i(527)],n),a[i(543)](a[i(565)]),a[i(505)](a[i(596)],this[i(582)]),a[i(595)](a[i(596)],0,a[i(585)],t/2,e/2,0,a[i(585)],a[i(527)],o),this._buffers.positions=[-1,-1,1,-1,1,1,-1,1],this._drawScene(t,e,!0)}[br(566)](t,e,s,i,r){const n=br,o=this.gl;o[n(543)](o.TEXTURE0),o[n(505)](o[n(596)],this[n(524)]),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o[n(593)],o[n(527)],r),this[n(522)][n(514)]=this[n(589)](s,i,r.width,r.height,t,e),this[n(530)](t,e,!1)}}function Er(){const t=["displayHeight","RENDER_ATTACHMENT","destroy","finish","then","INDEX","fromValues","group","25693910QgJEvu","7QPGwTF","writeBuffer","setVertexBuffer","yTexture","setIndexBuffer","2839038qPChel","main","clear","queue","rgba8unorm","render","createBindGroup","gpu","pipeline","float32x3","GPUTextureUsage","byteLength","drawIndexed","identity","createTexture","r8unorm","format","depth24plus","device","renderYUV","createSampler","textureGroupInfo","\n\n @binding(0) @group(0) var uModelMatrix : mat4x4;\n @binding(1) @group(0) var uViewMatrix : mat4x4;\n @binding(2) @group(0) var uProjectionMatrix : mat4x4;\n\n struct VertexOutput {\n @builtin(position) Position : vec4,\n @location(0) vTexturePosition : vec2,\n }\n\n @vertex\n fn main(\n @location(0) aVertexPosition : vec4,\n @location(1) aTexturePosition : vec2\n ) -> VertexOutput {\n var output : VertexOutput;\n var tmppos : vec4 = uProjectionMatrix * uViewMatrix * uModelMatrix * aVertexPosition;\n output.Position = vec4(tmppos.x, tmppos.y, (tmppos.z+1.)/2., tmppos.w); // webgl z [-1, 1], webgpu z [0, 1], 这里z做下调整 z-webgpu = (z-webgl+1)/2\n output.vTexturePosition = aTexturePosition;\n return output;\n }\n\n ","group1","createBuffer","matrixGroupInfo","_initPipeline","positionBuffer","slice","copyExternalImageToTexture","hasInited","triangle-list","uint16","getCurrentTexture","create","createCommandEncoder","YUV_I420","pixelTypeBuffer","float32x2","GPUBufferUsage","createShaderModule","ortho","2260yeSlOZ","createRenderPipelineAsync","writeTexture","COPY_DST","DOM","setPipeline","VERTEX","6xvzAyP","1054512JHSCIj","_drawScene","rgbaTexture","9804680LBwMnB","linear","2117485MumLBG","isDestroyed","UNIFORM","texpositionBuffer","createView","uvTexture","depthTexture","TEXTURE_BINDING","8WadAeD","lookAt","_initBuffer","setBindGroup","displayWidth","65114AIFUcn","vTexture","store","buffers","53253yzfjDd","_initTextureGroupInfo"];return(Er=function(){return t})()}const Ir=Tr;function Tr(t,e){const s=Er();return(Tr=function(t,e){return s[t-=402]})(t,e)}!function(t,e){const s=Tr,i=t();for(;;)try{if(971138===-parseInt(s(448))/1*(-parseInt(s(467))/2)+-parseInt(s(449))/3+-parseInt(s(462))/4*(parseInt(s(454))/5)+-parseInt(s(487))/6*(parseInt(s(482))/7)+-parseInt(s(452))/8+-parseInt(s(471))/9*(-parseInt(s(441))/10)+parseInt(s(481))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Er);const kr={YUV_I420:1,YUV_NV12:2,RGBA:3,DOM:4};class _r{constructor(t){const e=Tr;this[e(406)]=t,this[e(407)]=null,this[e(424)]=null,this.depthTexture=null,this[e(420)]=null,this.hasInited=!1,this.buffers=this[e(464)](),this.isDestroyed=!1,this[e(425)]().then((t=>{const s=e;this.isDestroyed||(this[s(407)]=t,this[s(424)]=this._initMatrixGroupInfo(),this[s(424)]&&(this.hasInited=!0))}))}[Ir(475)](){const t=Ir;this[t(455)]=!1,this[t(406)]&&(this[t(406)][t(417)][t(475)](),this[t(406)]=null),this.hasInited=!1,this.pipeline=null,this[t(424)]=null,this[t(460)]=null,this[t(420)]=null}[Ir(464)](){const t=Ir,e=this[t(406)][t(417)],s=new Float32Array([-1,-1,-1,1,-1,-1,1,1,-1,-1,1,-1]),i=e[t(423)]({size:s[t(410)],usage:window.GPUBufferUsage[t(447)]|window[t(438)][t(444)]});e[t(402)].writeBuffer(i,0,s);const r=new Float32Array([0,1,1,1,1,0,0,0]),n=e.createBuffer({size:r[t(410)],usage:window[t(438)].VERTEX|window[t(438)][t(444)]});e[t(402)].writeBuffer(n,0,r);const o=new Uint16Array([0,1,2,0,2,3]),a=e[t(423)]({size:o.byteLength,usage:window[t(438)][t(478)]|window.GPUBufferUsage[t(444)]});return e[t(402)][t(483)](a,0,o),{positionBuffer:i,texpositionBuffer:n,indexBuffer:a}}_initPipeline(){return new Promise(((t,e)=>{const s=Tr,i=this[s(406)][s(417)],r=this[s(406)][s(415)],n=s(421),o={layout:"auto",vertex:{module:i[s(439)]({code:n}),entryPoint:s(488),buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:s(408)}]},{arrayStride:8,attributes:[{shaderLocation:1,offset:0,format:s(437)}]}]},primitive:{topology:s(430)},fragment:{module:i[s(439)]({code:"\n @group(1) @binding(0) var mySampler: sampler;\n @group(1) @binding(1) var pixelType: i32;\n @group(1) @binding(2) var yTexture: texture_2d;\n @group(1) @binding(3) var uTexture: texture_2d;\n @group(1) @binding(4) var vTexture: texture_2d;\n @group(1) @binding(5) var uvTexture: texture_2d;\n @group(1) @binding(6) var rgbaTexture: texture_2d;\n\n const YUV2RGB : mat4x4 = mat4x4( 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n\n @fragment\n fn main(\n @location(0) vTexturePosition: vec2\n ) -> @location(0) vec4 {\n if(pixelType == 1){\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(vTexture, mySampler, vTexturePosition).r;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else if (pixelType == 2) {\n\n var y : f32= textureSample(yTexture, mySampler, vTexturePosition).r;\n var u : f32 = textureSample(uvTexture, mySampler, vTexturePosition).r;\n var v : f32 = textureSample(uvTexture, mySampler, vTexturePosition).g;\n\n return vec4(y, u, v, 1.0)*YUV2RGB;\n } else {\n\n return textureSample(rgbaTexture, mySampler, vTexturePosition);\n }\n\n }\n\n "}),entryPoint:s(488),targets:[{format:r}]},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}};i[s(442)](o)[s(477)]((e=>{t(e)})).catch((t=>{e(t)}))}))}_initMatrixGroupInfo(){const t=Ir;if(!this[t(406)])return null;const e=this.gpu[t(417)],s=this[t(407)],i=Hi[t(433)]();Hi[t(440)](i,-1,1,-1,1,.1,100);const r=xi();Hi[t(412)](r);const n=Hi[t(433)]();Hi[t(463)](n,ur[t(479)](0,0,0),ur[t(479)](0,0,-1),ur[t(479)](0,1,0));const o=e.createBuffer({size:64,usage:window[t(438)].UNIFORM|window[t(438)][t(444)]});e[t(402)][t(483)](o,0,r);const a=e[t(423)]({size:64,usage:window[t(438)][t(456)]|window.GPUBufferUsage[t(444)]});e.queue[t(483)](a,0,n);const h=e.createBuffer({size:64,usage:window[t(438)][t(456)]|window[t(438)][t(444)]});e[t(402)][t(483)](h,0,i);return{modelMatrixBuffer:o,viewMatrixBuffer:a,projectMatrixBuffer:h,group:e[t(405)]({label:"group0",layout:s.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:{buffer:a}},{binding:2,resource:{buffer:h}}]})}}[Ir(472)](t,e){const s=Ir,i=this.gpu.device,r=this[s(407)],n=i[s(413)]({size:[t,e],format:"r8unorm",usage:window[s(409)][s(461)]|window[s(409)].COPY_DST|window[s(409)][s(474)]}),o=i[s(413)]({size:[t/2,e/2],format:s(414),usage:window[s(409)][s(461)]|window[s(409)][s(444)]|window[s(409)].RENDER_ATTACHMENT}),a=i[s(413)]({size:[t/2,e/2],format:s(414),usage:window[s(409)][s(461)]|window[s(409)][s(444)]|window[s(409)][s(474)]}),h=i.createTexture({size:[t/2,e/2],format:"rg8unorm",usage:window.GPUTextureUsage.TEXTURE_BINDING|window[s(409)][s(444)]|window.GPUTextureUsage[s(474)]}),c=i[s(413)]({size:[t,e],format:s(403),usage:window[s(409)][s(461)]|window[s(409)][s(444)]|window[s(409)][s(474)]}),l=i[s(423)]({size:4,usage:window[s(438)][s(456)]|window[s(438)][s(444)]}),d=i[s(419)]({magFilter:s(453),minFilter:"linear"}),u=i.createBindGroup({label:s(422),layout:r.getBindGroupLayout(1),entries:[{binding:0,resource:d},{binding:1,resource:{buffer:l}},{binding:2,resource:n[s(458)]()},{binding:3,resource:o[s(458)]()},{binding:4,resource:a.createView()},{binding:5,resource:h[s(458)]()},{binding:6,resource:c.createView()}]});return{yTexture:n,uTexture:o,vTexture:a,uvTexture:h,rgbaTexture:c,pixelTypeBuffer:l,group:u}}[Ir(450)](){const t=Ir,e=this[t(406)][t(417)],s=this[t(406)].context,i=e[t(434)](),r={colorAttachments:[{view:s[t(432)]().createView(),clearValue:{r:0,g:0,b:0,a:0},loadOp:t(489),storeOp:"store"}],depthStencilAttachment:{view:this[t(460)][t(458)](),depthClearValue:1,depthLoadOp:t(489),depthStoreOp:t(469)}},n=i.beginRenderPass(r);n[t(446)](this[t(407)]),n[t(465)](0,this.matrixGroupInfo[t(480)]),n.setBindGroup(1,this[t(420)][t(480)]),n[t(484)](0,this[t(470)][t(426)]),n[t(484)](1,this[t(470)][t(457)]),n[t(486)](this[t(470)].indexBuffer,t(431)),n[t(411)](6),n.end(),e[t(402)].submit([i[t(476)]()])}[Ir(418)](t,e,s){const i=Ir;if(!this[i(429)])return;let r=s[i(427)](0,t*e),n=s.slice(t*e,t*e*5/4),o=s[i(427)](t*e*5/4,t*e*3/2);const a=this[i(406)].device;!this.depthTexture&&(this[i(460)]=this[i(406)][i(417)][i(413)]({size:[t,e],format:"depth24plus",usage:window[i(409)][i(474)]})),!this.textureGroupInfo&&(this[i(420)]=this[i(472)](t,e)),a[i(402)][i(483)](this[i(420)].pixelTypeBuffer,0,new Uint32Array([kr[i(435)]])),a[i(402)][i(443)]({texture:this[i(420)][i(485)]},r,{bytesPerRow:t,rowsPerImage:e},[t,e]),a[i(402)][i(443)]({texture:this[i(420)].uTexture},n,{bytesPerRow:t/2,rowsPerImage:e/2},[t/2,e/2]),a[i(402)][i(443)]({texture:this.textureGroupInfo[i(468)]},o,{bytesPerRow:t/2,rowsPerImage:e/2},[t/2,e/2]),this[i(450)]()}renderYUV_NV12(t,e,s){const i=Ir;if(!this.hasInited)return;const r=this[i(406)][i(417)];!this[i(460)]&&(this.depthTexture=this[i(406)][i(417)][i(413)]({size:[t,e],format:i(416),usage:window[i(409)][i(474)]})),!this[i(420)]&&(this.textureGroupInfo=this[i(472)](t,e));let n=s[i(427)](0,t*e),o=s[i(427)](t*e,t*e*3/2);r.queue[i(483)](this.textureGroupInfo.pixelTypeBuffer,0,new Uint32Array([kr.YUV_NV12])),r[i(402)][i(443)]({texture:this[i(420)][i(485)]},n,{bytesPerRow:t,rowsPerImage:e},[t,e]),r.queue[i(443)]({texture:this[i(420)][i(459)]},o,{bytesPerRow:t,rowsPerImage:e/2},[t/2,e/2]),this._drawScene()}[Ir(404)](t){const e=Ir;if(!this[e(429)])return;const s=this.gpu.device,i=t[e(466)],r=t[e(473)];!this[e(460)]&&(this.depthTexture=this[e(406)][e(417)][e(413)]({size:[i,r],format:e(416),usage:window[e(409)][e(474)]})),!this.textureGroupInfo&&(this[e(420)]=this[e(472)](i,r)),s[e(402)][e(483)](this[e(420)][e(436)],0,new Uint32Array([kr[e(445)]])),s[e(402)][e(428)]({source:t},{texture:this[e(420)][e(451)]},[i,r]),this[e(450)]()}[Ir(489)](){}}function Cr(){const t=["padding","sort","_initDom","1010832fGhsqA","sqrt","default","-moz-user-select","3495737QfGNpu","forEach","top","getShowVideoRect","fontSize","shadowRootInnerDom","_resizeDomForCanvas","getRenderType","index","display","$container","configList","destroy","_opt","div","insertBefore","pointer-events: none !important;display: block !important;","_updateDom","rotate","attachShadow","int","appendChild","borderColor","none","fill","-o-user-select","removeChild","settingLine","rect","innerHTML","debugLog","bottom"," rotateX(180deg)","100%","calc(100% - ","TAG_NAME","join","map","shadowRootDynamicDom","list","remove","shadowRoot","98057vndBNj","vertical","9999999"," rotate(","scale(","deg)","floor","px)","html","width","0 0","canvas","isArray","% - ","position: absolute; top: 0; left: 0; width: 0; height: 0;display: none;","mirrorRotate","getControlHeight","function","lineWidth","SingleWatermark","819600TKWBQn","objectFit","-webkit-touch-callout","line","-webkit-tap-highlight-color","split","block","hidden","indexOf","borderWidth","fillOpacity","_removeDom","visibility","isResize","level","position","shadowRootRealDom","isFullResize","left","length","user-select","createElement","aspectRatio","transform","opacity","right","6025257potFXS","_resizeDomForVideo","color","player","src","text","height","4TfwKzY","transformOrigin","calc(","image","716620LmRtBV","style","setAttribute","clipPath","isDynamic","px 0","video","resize()","getVideoInfo","6AGUTWr","absolute","8VgGJNf","content","polygon","456104eBQMlT","backgroundColor","open","img","overflow","scale"];return(Cr=function(){return t})()}const Rr=Dr;function Dr(t,e){const s=Cr();return(Dr=function(t,e){return s[t-=420]})(t,e)}!function(t,e){const s=Dr,i=t();for(;;)try{if(360651===-parseInt(s(534))/1*(-parseInt(s(461))/2)+parseInt(s(488))/3+parseInt(s(476))/4*(-parseInt(s(428))/5)+-parseInt(s(474))/6*(parseInt(s(492))/7)+parseInt(s(479))/8+parseInt(s(454))/9+-parseInt(s(465))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Cr);class xr{constructor(t){const e=Dr;this[e(457)]=t,this[e(527)]=e(427),this[e(503)]=[],this[e(533)]=null,this[e(444)]=null,this[e(497)]=null,this[e(484)]=1,this.isDynamic=!1,this._initDom(),this[e(457)][e(522)](this.TAG_NAME,e(512))}[Rr(504)](){const t=Rr;this.configList=[],this.shadowRootInnerDom=null,this[t(469)]=!1,this[t(484)]=1,this[t(533)]&&(this[t(457)][t(502)][t(518)](this[t(444)]),this.shadowRoot=null,this[t(444)]=null),this.player[t(522)](this[t(527)],t(504))}resize(){const t=Rr;this[t(457)][t(522)](this[t(527)],t(472)),this[t(457)][t(505)][t(450)]===t(490)||qe()?this[t(457)][t(499)]()===A[t(545)]?this[t(498)]():this[t(457)][t(499)]()===A[t(471)]&&this[t(455)]():this._resizeDomRatio()}[Rr(487)](){const t=Rr,e=this[t(457)][t(502)];let s=null;const i=document.createElement(t(506));i.setAttribute(t(466),t(508)),s=typeof i.attachShadow===t(425)?i[t(511)]({mode:t(481)}):i[t(533)]?i[t(533)]:i;const r=document[t(449)](t(506));r[t(467)](t(466),t(422)),s.appendChild(r);const n=e.children,o=Math[t(540)](Math.random()*(n[t(447)]-1))+1;n[o]?e[t(507)](i,n[o]):e[t(513)](i),this[t(497)]=r,this[t(444)]=i,this.shadowRoot=s}update(t){const e=Rr;this._removeDom();let s=[];Array[e(420)](t)?s=t:Rs(t)&&s.push(t);let i=s[e(529)]((t=>As(t)));this[e(503)]=i,this._updateDom()}[Rr(455)](){const t=Rr,e=this[t(457)][t(473)]();if(!(e&&e[t(460)]>0&&e[t(543)]>0))return;let s=e[t(543)],i=e[t(460)];const r=this.player[t(505)],n=this.player[t(495)]();let o=n[t(460)],a=n[t(543)];const h=r.rotate;let c=(a-s)/2,l=(o-i)/2;(270===h||90===h)&&(s=e.height,i=e[t(543)]);const d=a/s,u=o/i;let p=d>u?u:d;!r[t(441)]&&d!==u&&(p=d+","+u),r[t(445)]&&(p=d>u?d:u);let f=t(538)+p+")";r[t(423)]===t(515)&&h&&(f+=" rotate("+h+"deg)"),"level"===r[t(423)]?f+=" rotateY(180deg)":r[t(423)]===t(535)&&(f+=t(524)),this[t(484)]=-1!==(""+p)[t(436)](",")?d:p,this[t(497)].style.transform=f,this[t(497)][t(466)][t(446)]=c+"px",this[t(497)][t(466)][t(494)]=l+"px",this[t(497)][t(466)].width=e.width+"px",this[t(497)].style[t(460)]=e[t(460)]+"px",this.shadowRootInnerDom[t(466)][t(501)]=t(434)}[Rr(498)](){const t=Rr,e=this.player.getVideoInfo();if(!(e&&e[t(460)]>0&&e[t(543)]>0))return;const s=this[t(457)][t(505)],i=this.player[t(495)]();let r=i[t(543)],n=i[t(460)],o=e[t(543)],a=e[t(460)];const h=s[t(510)];let c=(r-o)/2,l=(n-a)/2;(270===h||90===h)&&(o=e[t(460)],a=e.width);const d=r/o,u=n/a;let p=d>u?u:d;!s[t(441)]&&d!==u&&(p=d+","+u),s.isFullResize&&(p=d>u?d:u);let f=t(538)+p+")";"none"===s[t(423)]&&h&&(f+=t(537)+h+t(539)),s[t(423)]===t(442)?f+=" rotateY(180deg)":s[t(423)]===t(535)&&(f+=" rotateX(180deg)"),this[t(497)][t(466)][t(460)]=e[t(460)]+"px",this.shadowRootInnerDom[t(466)].width=e[t(543)]+"px",this.shadowRootInnerDom[t(466)][t(485)]="0",this[t(497)].style[t(451)]=f,this[t(497)][t(466)].left=c+"px",this[t(497)][t(466)][t(494)]=l+"px",this[t(497)][t(466)][t(501)]=t(434)}_resizeDomRatio(){const t=Rr,e=this[t(457)][t(473)]();if(!(e&&e[t(460)]>0&&e[t(543)]>0))return;const s=this[t(457)][t(505)][t(450)][t(433)](":").map(Number),i=this[t(457)][t(495)]();let r=i[t(543)],n=i[t(460)],o=this.player[t(424)]();const a=e[t(543)]/e[t(460)],h=s[0]/s[1];if(a>h){const s=h*e[t(460)]/e.width;this[t(497)].style[t(543)]=100*s+"%",this.shadowRootInnerDom[t(466)][t(460)]=t(526)+o+t(541),this[t(497)][t(466)][t(485)]="0 "+(r-r*s)/2+"px"}else{const s=e.width/h/e[t(460)];this[t(497)][t(466)][t(543)]=t(525),this.shadowRootInnerDom[t(466)][t(460)]=t(463)+100*s+t(421)+o+t(541),this.shadowRootInnerDom[t(466)][t(485)]=(n-n*s)/2+t(470)}this.shadowRootInnerDom.style.display=t(434)}[Rr(509)](){const t=Rr;this[t(533)]&&this[t(503)].forEach((e=>{const s=t,i=document[s(449)](s(506));let r=null;if(e.image&&e[s(464)][s(458)]?(r=document.createElement(s(482)),r[s(466)][s(460)]=s(525),r[s(466)][s(543)]=s(525),r[s(466)][s(429)]="contain",r[s(458)]=e[s(464)][s(458)]):e[s(459)]&&e.text.content?r=document.createTextNode(e[s(459)][s(477)]):(e[s(520)]&&e[s(520)].color&&e[s(520)][s(543)]||e.html||e.line&&e.line.x1&&e[s(431)].y1&&e[s(431)].x2&&e.line.y2||e[s(478)]&&e[s(478)].list&&e[s(478)].list[s(447)]>=3)&&(r=document[s(449)](s(506))),r){if(i.appendChild(r),i.style[s(440)]="",i.style[s(443)]="absolute",i.style[s(501)]=s(434),i[s(466)]["-ms-user-select"]=s(515),i[s(466)][s(491)]="none",i.style["-webkit-user-select"]=s(515),i[s(466)][s(517)]=s(515),i[s(466)][s(448)]=s(515),i.style[s(430)]=s(515),i[s(466)][s(432)]="rgba(0,0,0,0)",i.style["-webkit-text-size-adjust"]=s(515),i[s(466)]["-webkit-touch-callout"]=s(515),i[s(466)][s(452)]=e[s(452)],gs(e[s(446)])&&(hs(e[s(446)])?i[s(466)][s(446)]=e.left+"px":i[s(466)][s(446)]=e[s(446)]),gs(e[s(453)])&&(hs(e[s(453)])?i[s(466)][s(453)]=e[s(453)]+"px":i.style[s(453)]=e[s(453)]),gs(e[s(494)])&&(hs(e[s(494)])?i[s(466)].top=e[s(494)]+"px":i.style[s(494)]=e[s(494)]),gs(e[s(523)])&&(hs(e[s(523)])?i[s(466)][s(523)]=e[s(523)]+"px":i[s(466)][s(523)]=e[s(523)]),e[s(480)]&&(i.style.backgroundColor=e.backgroundColor),i[s(466)][s(483)]=s(435),i.style.zIndex=s(536),e.image&&e[s(464)][s(458)])i[s(466)][s(543)]=e[s(464)][s(543)]+"px",i[s(466)][s(460)]=e[s(464)][s(460)]+"px";else if(e[s(459)]&&e[s(459)][s(477)])i[s(466)].fontSize=e[s(459)][s(496)]+"px",i[s(466)][s(456)]=e.text[s(456)],e[s(459)][s(543)]&&(i[s(466)][s(543)]=e[s(459)][s(543)]+"px"),e[s(459)][s(460)]&&(i[s(466)][s(460)]=e[s(459)][s(460)]+"px");else if(e[s(520)]&&e[s(520)][s(456)]&&e.rect.width){if(i[s(466)].width=e[s(520)].width+"px",i[s(466)][s(460)]=e.rect[s(460)]+"px",i[s(466)][s(437)]=e[s(520)][s(426)]+"px",i[s(466)].borderStyle="solid",i[s(466)][s(514)]=e[s(520)][s(456)],e.rect[s(516)]){const t=document[s(449)](s(506));t.style[s(443)]=s(475),t[s(466)][s(543)]=s(525),t[s(466)][s(460)]=s(525),t[s(466)][s(480)]=e.rect.fill,e[s(520)][s(438)]&&(t.style[s(452)]=e[s(520)][s(438)]),i[s(513)](t)}}else if(e[s(542)])i[s(466)].width=s(525),i[s(466)][s(460)]=s(525),i[s(521)]=e[s(542)];else if(e[s(431)]&&e[s(431)].x1&&e.line.y1&&e[s(431)].x2&&e.line.y2)this[s(519)](i,e[s(431)]);else if(e[s(478)]&&e[s(478)][s(531)]&&e[s(478)][s(531)][s(447)]>=3){i[s(466)][s(543)]=s(525),i[s(466)][s(460)]=s(525);let t=e[s(478)][s(531)];const r=e[s(478)][s(456)],n=e.polygon[s(426)];if(t=t[s(486)](((t,e)=>{const i=s;return(t[i(500)]||0)-(e[i(500)]||0)})),e[s(478)].fill){const r=document[s(449)](s(506));r[s(466)][s(443)]=s(475),r[s(466)][s(543)]=s(525),r[s(466)].height=s(525);const n="polygon("+t.map((t=>t.x+"px "+t.y+"px"))[s(528)](", ")+")";r[s(466)][s(468)]=n,r[s(466)][s(480)]=e.polygon[s(516)],e[s(478)].fillOpacity&&(r[s(466)][s(452)]=e.polygon[s(438)]),i.appendChild(r)}t[s(493)](((e,o)=>{const a=s,h=document[a(449)](a(506));if(o===t[a(447)]-1){const s=t[0],o={x1:e.x,y1:e.y,x2:s.x,y2:s.y,color:r,lineWidth:n};return this[a(519)](h,o),void i[a(513)](h)}const c=t[o+1],l={x1:e.x,y1:e.y,x2:c.x,y2:c.y,color:r,lineWidth:n};this[a(519)](h,l),i[a(513)](h)}))}this.isDynamic&&(this[s(530)]=i),this[s(497)][s(513)](i)}}))}settingLine(t,e){const s=Rr,i=e.x1,r=e.y1,n=e.x2,o=e.y2;var a=Math[s(489)]((i-n)**2+(r-o)**2),h=180*Math.atan2(o-r,n-i)/Math.PI;t[s(466)].backgroundColor=e[s(456)],t.style[s(543)]=a+"px",t[s(466)][s(460)]=e[s(426)]+"px",t[s(466)][s(443)]=s(475),t[s(466)][s(494)]=r+"px",t.style[s(446)]=i+"px",t[s(466)][s(451)]="rotate("+h+"deg)",t[s(466)][s(462)]=s(544)}[Rr(532)](){this[Rr(439)]()}[Rr(439)](){const t=Rr;this[t(497)]&&(this.shadowRootInnerDom[t(521)]="")}}const Lr=Mr;function Pr(){const t=["3005709UMbPlr","getType","contentWatermark","text","height","ghostWatermark","default","rect","1821796uuoQHH","tempAiContentList","remove","$videoElement","getBufferListLength","video","encTypeCode","scale(","lineWidth","emit","bindMediaStream","pause","debugLog","player","color","getName","none","% - ","style","destroy","calc(100% - ","869735TpOIXf","addContentToCanvas","TAG_NAME","fontSize","zoom","fill","singleWatermark","width","setStreamFps","getReadyStateInited","prevAiFaceDetectTime","_resizeRatio","getControlHeight","_resize","green","doAddAiContentToWatermark","update","play","zooming","streamFps","CommonVideo","resize()","initCanvasViewSize","dynamicWatermark","init","isVideoPlaying","px 0","videoRenderSupportScale","resize","type","getCanvasType","tempContentList","resetInit","2YTJoFI","setRate","push","prevAiObjectDetectTime","encType","#000","doAddContentToWatermark","canvas","100%","off","_opt","polygon","_getStyleScale","1363434biMToM","updateVideoInfo","_resizeRatio()","getVideoInfo","fillOpacity","left","getStreamFps","px)","updateVideoElementScale","clearView","map","split","updatePrevVideoElementStyleScale","isPlaying","replace","3901208wFVjuU","padding","130983cYHIUk","videoInfo","18IXvhrt","top","aspectRatio","263453jZFRTG","length","bufferList","line","transform","aiContentWatermark","getCurrentTime"];return(Pr=function(){return t})()}function Mr(t,e){const s=Pr();return(Mr=function(t,e){return s[t-=408]})(t,e)}!function(t,e){const s=Mr,i=t();for(;;)try{if(271860===parseInt(s(439))/1*(-parseInt(s(508))/2)+parseInt(s(434))/3+-parseInt(s(454))/4+parseInt(s(475))/5+parseInt(s(417))/6+-parseInt(s(446))/7+-parseInt(s(432))/8*(-parseInt(s(436))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Pr);class Br extends n{constructor(){const t=Mr;super(),this[t(477)]="",this[t(435)]={width:null,height:null,encType:null,encTypeCode:null},this[t(499)]=!1,this.prevAiFaceDetectTime=null,this.prevAiObjectDetectTime=null,this.prevOcclusionDetectTime=null,this[t(448)]=null,this[t(444)]=null,this[t(506)]=[],this[t(455)]=[],this.bufferList=[],this[t(494)]=0}[Lr(473)](){const t=Lr;this[t(507)](),this[t(448)]&&(this[t(448)][t(473)](),this[t(448)]=null),this[t(506)]=[],this[t(444)]&&(this[t(444)][t(473)](),this[t(444)]=null),this[t(455)]=[],this[t(485)]=null,this[t(511)]=null,this[t(494)]=0,this[t(413)]()}[Lr(507)](){const t=Lr;this[t(435)]={width:null,height:null,encType:null,encTypeCode:null},this[t(499)]=!1}getHasInit(){return this[Lr(499)]}[Lr(418)](t){const e=Lr;gs(t[e(460)])&&(this[e(435)].encType=G[t[e(460)]],this[e(435)].encTypeCode=t.encTypeCode),gs(t[e(408)])&&(this.videoInfo[e(408)]=t[e(408)]),gs(t[e(482)])&&(this[e(435)][e(482)]=t[e(482)]),gs(t[e(450)])&&(this[e(435)][e(450)]=t[e(450)]),gs(this.videoInfo[e(408)])&&gs(this.videoInfo[e(450)])&&gs(this[e(435)][e(482)])&&!this[e(499)]&&(this[e(467)][e(463)](O[e(435)],this[e(435)]),this[e(499)]=!0)}[Lr(420)](){return this[Lr(435)]}[Lr(426)](){const t=Lr;this[t(506)]=[],this[t(455)]=[]}[Lr(503)](){const t=Lr;if(this.player[t(466)](t(495),t(496)),this[t(467)][t(414)].aspectRatio===t(452)||qe()?this[t(488)]():this._resizeRatio(),this[t(448)]&&this[t(448)][t(503)](),this[t(444)]&&this[t(444)][t(503)](),this.player[t(481)]&&this[t(467)][t(481)][t(503)](),this[t(467)][t(451)]&&this[t(467)][t(451)][t(503)](),this.player[t(498)]&&this[t(467)][t(498)][t(503)](),this[t(467)][t(479)]&&this.player[t(493)]){const e=this._getStyleScale();this[t(467)][t(479)][t(429)](e),this[t(467)][t(479)][t(425)]()}}[Lr(486)](){const t=Lr;this[t(467)].debugLog(t(495),t(419));const e=this[t(467)][t(414)][t(438)][t(428)](":")[t(427)](Number),s=this[t(467)].getShowVideoRect();let i=s.width,r=s[t(450)],n=this[t(467)][t(487)]();const o=this.videoInfo,a=o[t(482)]/o[t(450)],h=e[0]/e[1];if(this[t(447)]()===A[t(411)]&&(this[t(457)][t(472)][t(422)]="0",this[t(457)][t(472)][t(437)]="0",this.$videoElement[t(472)][t(443)]=t(470)),this.getType()===A[t(459)]&&this[t(467)]._opt[t(502)]&&(this[t(457)][t(472)].objectFit=t(480)),a>h){const e=h*o[t(450)]/o[t(482)];this[t(457)][t(472)][t(482)]=100*e+"%",this.$videoElement.style[t(450)]=t(474)+n+t(424),this[t(457)][t(472)][t(433)]="0 "+(i-i*e)/2+"px"}else{const e=o[t(482)]/h/o[t(450)];this[t(457)][t(472)][t(482)]=t(412),this[t(457)][t(472)].height="calc("+100*e+t(471)+n+"px)",this[t(457)][t(472)][t(433)]=(r-r*e)/2+t(501)}}[Lr(492)](){}[Lr(465)](){}[Lr(509)](t){}[Lr(447)](){return""}[Lr(505)](){return""}[Lr(445)](){return 0}[Lr(423)](){return this.streamFps}[Lr(430)](){return!0}[Lr(500)](){return this.isPlaying()}getPlaybackQuality(){return null}[Lr(483)](t){const e=Lr;this[e(467)].debugLog("CommonVideo",e(483),t),this.streamFps=t}[Lr(476)](){const t=Lr;let e=arguments[t(440)]>0&&void 0!==arguments[0]?arguments[0]:[];this[t(506)]=e,this.doAddContentToWatermark()}addAiContentToCanvas(){const t=Lr;let e=arguments[t(440)]>0&&void 0!==arguments[0]?arguments[0]:[];this[t(455)]=e,this[t(490)]()}[Lr(410)](){const t=Lr;if(this[t(506)][t(440)]>0){!this.contentWatermark&&(this[t(448)]=new xr(this[t(467)]),this.contentWatermark[t(503)]());const e=[];this[t(506)].forEach((s=>{const i=t;let r={left:s.x||0,top:s.y||0};s[i(504)]===i(449)?r[i(449)]={content:s[i(449)],fontSize:s[i(478)]||"14",color:s[i(468)]||i(409)}:s.type===i(453)?r[i(453)]={width:s[i(482)],height:s[i(450)],color:s[i(468)]||"green",lineWidth:s[i(462)]||2,fill:s[i(480)]||"",fillOpacity:s[i(421)]||.2}:s.type===i(415)?r.polygon={list:s.list,color:s.color||i(489),lineWidth:s[i(462)]||2,fill:s[i(480)],fillOpacity:s[i(421)]||.2}:"line"===s[i(504)]&&(r[i(442)]={color:s[i(468)]||i(489),lineWidth:s[i(462)]||2,x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2}),e[i(510)](r)})),this.contentWatermark[t(491)](e)}else this.contentWatermark&&this[t(448)].remove()}[Lr(490)](){const t=Lr;if(this[t(455)][t(440)]>0){!this[t(444)]&&(this[t(444)]=new xr(this[t(467)]),this[t(444)].resize());const e=this[t(455)][t(427)]((e=>{const s=t;let i={left:e.x,top:e.y};return e[s(504)]===s(449)?i[s(449)]={content:e[s(449)],fontSize:e[s(478)],color:e[s(468)]}:"rect"===e[s(504)]&&(i[s(453)]={width:e.width,height:e[s(450)],color:e[s(468)],lineWidth:e.lineWidth}),i}));this[t(444)][t(491)](e)}else this[t(444)]&&this[t(444)][t(456)]()}[Lr(416)](){const t=Lr;let e=this[t(457)][t(472)][t(443)].match(/scale\([0-9., ]*\)/g),s="";if(e&&e[0]){s=e[0][t(431)](t(461),"")[t(431)](")","")[t(428)](",")}return s}[Lr(484)](){return!0}screenshotByCurrentWatermark(){}[Lr(497)](){}[Lr(464)](){}[Lr(469)](){return this[Lr(477)]}[Lr(458)](){const t=Lr;let e=0;return this[t(441)]&&(e=this[t(441)].length),e}}function Fr(){var t=["prototype","23661fDFiOe","safari","createEvent","revokeObjectURL","92119VDjlxb","155bikfNo","result","application/octet-stream","msSaveOrOpenBlob","test","blob","URL","539WQJpPs","undefined","type","open","HTMLElement","name","HEAD","noopener","dispatchEvent","createElement","data:attachment/file;","href","http://www.w3.org/1999/xhtml","rel","createElementNS","download","location","object","string","224514tepmTS","status","webkitURL","readAsDataURL","1397747RMlcVZ","global","178656bEyQwf","innerText","userAgent","5725405reBPpj","110odcknG","onloadend","origin","_blank","onerror","8DHXvDs","createObjectURL","4VoTDuN","4zcdvhQ","341745DqPwKW","initMouseEvent","28vLkHZn","fromCharCode","onload","autoBom","send","target","replace","click","navigator","document","could not download file"];return(Fr=function(){return t})()}var Or=Vr;!function(t,e){for(var s=Vr,i=t();;)try{if(701718===-parseInt(s(498))/1*(-parseInt(s(479))/2)+parseInt(s(480))/3*(-parseInt(s(478))/4)+-parseInt(s(499))/5*(parseInt(s(461))/6)+-parseInt(s(470))/7*(-parseInt(s(476))/8)+parseInt(s(494))/9*(parseInt(s(471))/10)+-parseInt(s(506))/11*(-parseInt(s(467))/12)+-parseInt(s(465))/13*(-parseInt(s(482))/14))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fr);var Ur=typeof window===Or(459)&&window.window===window?window:typeof self===Or(459)&&self.self===self?self:typeof global===Or(459)&&global[Or(466)]===global?global:void 0;function jr(t,e,s){var i=Or,r=new XMLHttpRequest;r[i(445)]("GET",t),r.responseType=i(504),r[i(484)]=function(){Gr(r.response,e,s)},r[i(475)]=function(){var t=i;console.error(t(492))},r.send()}function Nr(t){var e=Or,s=new XMLHttpRequest;s[e(445)](e(448),t,!1);try{s[e(486)]()}catch(t){}return s[e(462)]>=200&&s[e(462)]<=299}function Vr(t,e){var s=Fr();return(Vr=function(t,e){return s[t-=443]})(t,e)}function zr(t){var e=Or;try{t[e(450)](new MouseEvent(e(489)))}catch(i){var s=document[e(496)]("MouseEvents");s[e(481)](e(489),!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(s)}}var Wr=Ur[Or(490)]&&/Macintosh/.test(navigator[Or(469)])&&/AppleWebKit/[Or(503)](navigator[Or(469)])&&!/Safari/[Or(503)](navigator.userAgent),Gr=typeof window!==Or(459)||window!==Ur?function(){}:Or(457)in HTMLAnchorElement[Or(493)]&&!Wr?function(t,e,s){var i=Or,r=Ur[i(505)]||Ur[i(463)],n=document[i(456)](i(454),"a");e=e||t[i(447)]||i(457),n[i(457)]=e,n[i(455)]=i(449),typeof t===i(460)?(n.href=t,n[i(473)]!==location[i(473)]?Nr(n[i(453)])?jr(t,e,s):zr(n,n.target=i(474)):zr(n)):(n[i(453)]=r[i(477)](t),setTimeout((function(){var t=i;r[t(497)](n[t(453)])}),4e4),setTimeout((function(){zr(n)}),0))}:Or(502)in navigator?function(t,e,s){var i,r,n,o=Or;if(e=e||t[o(447)]||o(457),"string"==typeof t)if(Nr(t))jr(t,e,s);else{var a=document[o(451)]("a");a[o(453)]=t,a[o(487)]=o(474),setTimeout((function(){zr(a)}))}else navigator[o(502)]((i=t,typeof(r=s)===(n=Or)(443)?r={autoBom:!1}:"object"!=typeof r&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r[n(485)]&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i[n(503)](i[n(444)])?new Blob([String[n(483)](65279),i],{type:i[n(444)]}):i),e)}:function(t,e,s,i){var r=Or;if((i=i||open("",r(474)))&&(i[r(491)].title=i[r(491)].body[r(468)]="downloading..."),typeof t===r(460))return jr(t,e,s);var n=t[r(444)]===r(501),o=/constructor/i[r(503)](Ur[r(446)])||Ur[r(495)],a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||n&&o||Wr)&&typeof FileReader!==r(443)){var h=new FileReader;h[r(472)]=function(){var t=r,e=h[t(500)];e=a?e:e[t(488)](/^data:[^;]*;/,t(452)),i?i.location[t(453)]=e:location=e,i=null},h[r(464)](t)}else{var c=Ur[r(505)]||Ur[r(463)],l=c[r(477)](t);i?i[r(458)]=l:location[r(453)]=l,i=null,setTimeout((function(){c[r(497)](l)}),4e4)}};const Hr=Kr;function Kr(t,e){const s=Qr();return(Kr=function(t,e){return s[t-=458]})(t,e)}function Qr(){const t=["STATIC_DRAW","uResolution","compileShader","shaderProgram","log","fromValues","buffers","623414QvESMJ","104Uzpsnk","getProgramParameter","program","deleteBuffer","TEXTURE_MAG_FILTER","TRIANGLES","getShaderParameter","uniform1f","pixelStorei","bufferData","_drawScene","SRC_ALPHA","\n precision highp float;\n uniform float uLineWidth;\n uniform vec4 uRect;\n uniform vec3 uLineColor;\n uniform vec2 uResolution;\n\n\n float inBox(vec2 st, vec4 rect){\n\n vec2 bl = step(rect.xy,st);\n float pct = bl.x * bl.y;\n\n vec2 tr = step(st, rect.zw);\n pct *= tr.x * tr.y;\n\n return pct;\n }\n\n void main(void) {\n\n vec2 cur = gl_FragCoord.xy/uResolution;\n\n float xlinewidth = uLineWidth/uResolution.x;\n float ylinewidth = uLineWidth/uResolution.y;\n\n // vec4 outRect = uRect + vec4(-1.*xlinewidth/2., -1.*ylinewidth/2., xlinewidth/2., ylinewidth/2.);\n // vec4 inRect = uRect + vec4(xlinewidth/2., ylinewidth/2., -1.*xlinewidth/2., -1.*ylinewidth/2.);\n\n vec4 outRect = uRect + vec4(-1.*xlinewidth/2., -1.*ylinewidth/2., xlinewidth/2., ylinewidth/2.);\n vec4 inRect = uRect;\n\n float a = inBox(cur, outRect);\n float b = inBox(cur, inRect);\n\n gl_FragColor = mix(vec4(0., 0., 0., 0.), vec4(uLineColor.rgb, 1.0), a-b);\n\n }\n ","uLineColor","_loadShader","bindBuffer","529495YHufsv","FLOAT","uRect","1998hpuaVb","ARRAY_BUFFER","createShader","uniformLocations","rect","ELEMENT_ARRAY_BUFFER","TEXTURE_MIN_FILTER","uniform3f","destroy","indices","drawElements","LINK_STATUS","TEXTURE_WRAP_S","linewidth","blendFunc","COMPILE_STATUS","_initBuffers","getUniformLocation","246960HBPOin","viewport","vertexPosition","useProgram","createBuffer","getAttribLocation","4298KqYhXY","UNSIGNED_SHORT","TEXTURE_2D","aVertexPosition","_initShaderProgram","linkProgram","LINEAR","TEXTURE_WRAP_T","vertexAttribPointer","FRAGMENT_SHADER","createProgram","texParameteri","position","CLAMP_TO_EDGE","linecolor","attachShader","attribLocations","getShaderInfoLog","programInfo","getProgramInfoLog","An error occurred compiling the shaders: ","uniform2f","1540443FUKFht","2CuSRdq","16117130nMFmWu","VERTEX_SHADER","375426yEjqsb"];return(Qr=function(){return t})()}!function(t,e){const s=Kr,i=t();for(;;)try{if(316085===parseInt(s(482))/1+-parseInt(s(471))/2*(-parseInt(s(470))/3)+-parseInt(s(520))/4+parseInt(s(499))/5+-parseInt(s(502))/6*(-parseInt(s(526))/7)+-parseInt(s(483))/8*(-parseInt(s(474))/9)+-parseInt(s(472))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Qr);Hr(510),Hr(530),Hr(497),Hr(518),Hr(493);function Yr(t,e){const s=qr();return(Yr=function(t,e){return s[t-=432]})(t,e)}function qr(){const t=["8lzAUsc",'WebGPU "context" create fail',"10870360eYuGoQ","635140LPtwRk","getContext",'WebGPU "device" request fail',"then","catch",'WebGPU "navigator.gpu.requestAdapter()" fail',"2441516yXADtv","requestAdapter","webgpu","3791979tbLoQI","getPreferredCanvasFormat","configure","775PwQGpS","6bFLhxN","575060FJzTtu","requestDevice","906TonDFV","695658nZlXJX","opaque","gpu"];return(qr=function(){return t})()}function Jr(t){return new Promise(((e,s)=>{const i=Yr;navigator[i(434)]?navigator[i(434)][i(445)]()[i(441)]((r=>{const n=i;r?r[n(453)]()[n(441)]((i=>{const o=n;if(i){const n=t[o(439)](o(446));if(n){const t=navigator[o(434)][o(448)]();n[o(449)]({device:i,format:t,alphaMode:o(433)}),e({adapter:r,device:i,context:n,format:t})}else s(o(436))}else s(o(440))}))[n(442)]((t=>{s('WebGPU "adapter.requestDevice()" fail')})):s('WebGPU "adapter" request fail is empty')}))[i(442)]((t=>{s(i(443))})):s("WebGPU not support!!")}))}!function(t,e){const s=Yr,i=t();for(;;)try{if(249307===parseInt(s(450))/1*(parseInt(s(454))/2)+parseInt(s(432))/3+-parseInt(s(452))/4+parseInt(s(438))/5+-parseInt(s(451))/6*(-parseInt(s(444))/7)+-parseInt(s(435))/8*(-parseInt(s(447))/9)+-parseInt(s(437))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(qr);const Xr=$r;!function(t,e){const s=$r,i=t();for(;;)try{if(918610===parseInt(s(336))/1*(-parseInt(s(353))/2)+parseInt(s(322))/3+parseInt(s(295))/4*(-parseInt(s(311))/5)+-parseInt(s(294))/6+-parseInt(s(306))/7+parseInt(s(333))/8*(parseInt(s(350))/9)+parseInt(s(309))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(tn);class Zr{constructor(t,e){const s=$r;this[s(312)]=t,this.gl=e;const i=s(354),r=s(332),n=e[s(325)](e.VERTEX_SHADER);if(e[s(329)](n,i),e[s(330)](n),!e[s(340)](n,e[s(346)]))throw e[s(303)](n);const o=e.createShader(e[s(324)]);if(e[s(329)](o,r),e[s(330)](o),!e[s(340)](o,e[s(346)]))throw e[s(303)](o);const a=e[s(304)]();if(e[s(345)](a,n),e[s(345)](a,o),e[s(302)](a),!e[s(343)](a,e.LINK_STATUS))throw e[s(315)](a);e[s(319)](a);const h=e[s(296)]();e[s(316)](e[s(320)],h),e[s(305)](e.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),e[s(314)]);const c=e.getAttribLocation(a,"xy");e[s(308)](c,2,e[s(300)],!1,0,0),e.enableVertexAttribArray(c);const l=e[s(307)]();e[s(310)](e[s(299)],l),e[s(301)](e[s(299)],e[s(347)],e[s(342)]),e[s(301)](e[s(299)],e[s(352)],e.NEAREST),e[s(301)](e[s(299)],e[s(328)],e[s(348)]),e[s(301)](e[s(299)],e[s(337)],e[s(348)]),this[s(356)]=a,this[s(339)]=h,this[s(313)]=n,this[s(341)]=o,this.texture=l}destroy(){const t=$r;this.gl.deleteProgram(this[t(356)]),this.gl[t(355)](this[t(339)]),this.gl[t(321)](this.texture),this.gl.deleteShader(this[t(313)]),this.gl[t(331)](this[t(341)]),this[t(356)]=null,this[t(339)]=null,this.vertexShader=null,this[t(341)]=null,this[t(349)]=null,this.gl=null}[Xr(338)](t){const e=Xr;this.canvas[e(351)]=t.displayWidth,this[e(312)][e(326)]=t[e(297)];const s=this.gl;s.texImage2D(s[e(299)],0,s[e(344)],s[e(344)],s[e(293)],t),s.viewport(0,0,s[e(317)],s[e(298)]),s[e(327)](1,0,0,1),s[e(334)](s[e(335)]),s[e(318)](s[e(323)],0,4)}}function $r(t,e){const s=tn();return($r=function(t,e){return s[t-=293]})(t,e)}function tn(){const t=["getShaderInfoLog","createProgram","bufferData","9982952qaLgrM","createTexture","vertexAttribPointer","39017560uiahvc","bindTexture","85vrAWKL","canvas","vertexShader","STATIC_DRAW","getProgramInfoLog","bindBuffer","drawingBufferWidth","drawArrays","useProgram","ARRAY_BUFFER","deleteTexture","755118hELPMl","TRIANGLE_FAN","FRAGMENT_SHADER","createShader","height","clearColor","TEXTURE_WRAP_S","shaderSource","compileShader","deleteShader","\n varying highp vec2 uv;\n uniform sampler2D texture;\n void main(void) {\n gl_FragColor = texture2D(texture, uv);\n }\n ","848biBdyj","clear","COLOR_BUFFER_BIT","1059412SovIaD","TEXTURE_WRAP_T","render","buffer","getShaderParameter","fragmentShader","NEAREST","getProgramParameter","RGBA","attachShader","COMPILE_STATUS","TEXTURE_MAG_FILTER","CLAMP_TO_EDGE","texture","73728jGNDUd","width","TEXTURE_MIN_FILTER","2NvBIfu","\n attribute vec2 xy;\n varying highp vec2 uv;\n void main(void) {\n gl_Position = vec4(xy, 0.0, 1.0);\n // Map vertex coordinates (-1 to +1) to UV coordinates (0 to 1).\n // UV coordinates are Y-flipped relative to vertex coordinates.\n uv = vec2((1.0 + xy.x) / 2.0, (1.0 - xy.y) / 2.0);\n }\n ","deleteBuffer","program","UNSIGNED_BYTE","7366362JHzHfg","91748bUSZoq","createBuffer","displayHeight","drawingBufferHeight","TEXTURE_2D","FLOAT","texParameteri","linkProgram"];return(tn=function(){return t})()}const en=rn;function sn(){const t=["getContext","initFps","_initContextGl","undefined","height","width","_resize()","filename","1961856MYoTZD","createContextGL() version ","vertical","init","_initContextGl2() createContextGL2 error","proxyDestroyList","$videoElement","string","webGPURender init failed because context is null and next use webgl render","contextGl","webglRectRender","player","10876630IkqszU","391326yYPqJW","_initCanvasRender","off","createElement","getContextAttributes","debugLog","3542995ANkYin","webGPURender","events"," rotate(","webglcontextlost error reset and getContextAttributes().stencil is true","deg)","forEach","webglcontextlost error","6uozmYt","2468WXHxzo","isWcsWebgl2","format","webgl2","resize","split"," rotateY(180deg)","download","getCanvasType","webglcontextlost","setStreamFps","webGPURender init success","bitmaprenderer","webglcontextrestored ","CommonCanvasLoader","length","webglContextLostError","screenshot","webgl","getStreamFps","pause","_resize","destroy","76184zjZVlV","webglcontextlost error, getContextAttributes().stencil is false","debugError","isWebglContextLost","CommonCanvasLoader and _initContextGl createContextGL error","clearRect","mirrorRotate","style","canvasVideo","catch","getType","webglcontextlost error and destroy webglRectRender","context2D","56NNgugI","clearView","png","1830IbtNnw","videoInfo","webgpu","$container","absolute","isResize","getShowVideoRect","padding","screenshotByCurrentWatermark","isDestroyedOrClosed","_initContext2D","initCanvasViewSize","create webgl2Render error is ","_opt","then","emitError","push","screenshotCopyrightWatermark","play","type","removeChild","webglRender","renderType","openWebglAlignment","isWcsWebgpu","quality","debugWarn","blob","level","_initContextGPU","base64","canvas","position","createWebGPUContext error is ","left","top","scale(","_bindContextGlEvents","196316ZfnDAa"];return(sn=function(){return t})()}function rn(t,e){const s=sn();return(rn=function(t,e){return s[t-=343]})(t,e)}!function(t,e){const s=rn,i=t();for(;;)try{if(397231===-parseInt(s(426))/1+parseInt(s(441))/2*(parseInt(s(366))/3)+-parseInt(s(404))/4+parseInt(s(432))/5*(-parseInt(s(440))/6)+-parseInt(s(363))/7*(parseInt(s(350))/8)+-parseInt(s(413))/9+parseInt(s(425))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(sn);class nn extends Br{constructor(t){const e=rn;super(),this[e(424)]=t;const s=document[e(429)]("canvas");s[e(357)][e(398)]=e(370),s[e(357)].top=0,s[e(357)][e(400)]=0,this[e(419)]=s,t.$container.appendChild(this[e(419)]),this[e(362)]=null,this[e(422)]=null,this[e(387)]=null,this[e(423)]=null,this[e(433)]=null,this[e(353)]=!1,this[e(442)]=!1,this.isWcsWebgpu=!1,this[e(453)]=null,this[e(388)]=null,this[e(418)]=[],this[e(427)]()}[en(349)](){const t=en;super[t(349)](),this[t(418)][t(456)]>0&&(this[t(418)][t(438)]((t=>{t&&t()})),this[t(418)]=[]),this.webglRender&&(this[t(387)][t(349)](),this.webglRender=null),this[t(423)]&&(this[t(423)][t(349)](),this[t(423)]=null),this[t(433)]&&(this.webGPURender[t(349)](),this[t(433)]=null),this[t(453)]&&(this[t(453)]=null),this[t(422)]&&(this.contextGl=null),this.context2D&&(this[t(362)][t(355)](0,0,this[t(419)].width,this.$videoElement[t(409)]),this.context2D=null),this.renderType=null,this[t(353)]=!1,this[t(390)]=!1,this[t(442)]=!1,this.videoInfo={width:"",height:"",encType:""},this.$videoElement[t(410)]=0,this.$videoElement.height=0,this[t(424)][t(369)][t(386)](this[t(419)]),this[t(419)]=null,this[t(416)]=!1,this[t(428)]()}_initContext2D(){const t=en;let e=arguments[t(456)]>0&&void 0!==arguments[0]?arguments[0]:{};this[t(362)]=this.$videoElement[t(405)]("2d",e)}_initContextGl(){const t=en;if(this[t(424)][t(434)],this.contextGl=Ue(this[t(419)]),!this[t(422)])throw this[t(424)][t(352)](t(455),"_initContextGl() createContextGL error"),new Error(t(354));this[t(403)](),this[t(387)]=new Sr(this[t(422)],this.player[t(379)][t(389)])}_initContextGl2(){const t=en;if(this[t(422)]=je(this[t(419)]),this[t(422)]){this[t(403)](2);try{this.webglRender=new Zr(this[t(419)],this.contextGl)}catch(e){this.player[t(352)](t(455),t(378)+e+" and next use context2d.draw render"),this[t(422)]=null,this[t(387)]=null,this[t(376)]()}}else this[t(424)][t(352)]("CommonCanvasLoader",t(417))}[en(403)](){const t=en;let e=arguments[t(456)]>0&&void 0!==arguments[0]?arguments[0]:1;const{proxy:s}=this[t(424)][t(434)],i=s(this.$videoElement,t(450),(s=>{const i=t;s.preventDefault(),this[i(424)].debugError(i(358),i(439),s),this.isWebglContextLost=!0,this[i(387)]&&(this[i(424)][i(431)](i(455),"webglcontextlost error and destroy webglRender"),this[i(387)][i(349)](),this[i(387)]=null),this.webglRectRender&&(this[i(424)][i(431)](i(455),i(361)),this[i(423)][i(349)](),this[i(423)]=null),this[i(422)]=null,setTimeout((()=>{const t=i;if(this[t(424)][t(431)](t(455),t(414)+e),1===e?this[t(422)]=Ue(this.$videoElement):2===e&&(this[t(422)]=je(this[t(419)])),this[t(424)][t(431)]("CommonCanvasLoader","createContextGL success"),this[t(422)]&&this[t(422)][t(430)]){const s=this[t(422)][t(430)]();s&&s.stencil?(1===e?this[t(387)]=new Sr(this.contextGl,this[t(424)]._opt[t(389)]):2===e&&(this[t(387)]=new Zr(this[t(419)],this[t(422)])),this[t(353)]=!1,this.player.debugLog("CommonCanvasLoader",t(436))):(this[t(424)][t(352)]("CommonCanvasLoader","webglcontextlost error, getContextAttributes().stencil is false"),this[t(424)][t(381)](N[t(343)]))}else this[t(424)][t(352)]("CommonCanvasLoader",t(351)),this.player[t(381)](N[t(343)])}),500)})),r=s(this[t(419)],"webglcontextrestored",(e=>{const s=t;e.preventDefault(),this.player[s(431)]("CommonCanvasLoader",s(454),e)}));this[t(418)][t(382)](i,r)}[en(395)](){const t=en;Jr(this.$videoElement)[t(380)]((e=>{const s=t;this.player[s(375)]()||(e?(this.webGPURender=new _r(e),this[s(424)][s(431)]("CommonCanvasLoader",s(452))):(this[s(424)][s(392)](s(455),s(421)),this[s(388)]=$[s(345)],this[s(407)]()))})).catch((e=>{const s=t;this[s(424)].isDestroyedOrClosed()||(this[s(424)][s(392)](s(455),s(399)+e+" and next use webgl render"),this[s(388)]=$[s(345)],this[s(407)]())}))}[en(377)](){const t=en;this[t(419)][t(410)]=this[t(367)][t(410)],this[t(419)][t(409)]=this[t(367)][t(409)],this[t(445)]()}[en(344)](t,e,s,i){const r=en;t=t||Ve(),i=i||z[r(448)];let n=.92;!dt[e]&&z[e]&&(i=e,e=r(365),s=void 0),typeof s===r(420)&&(i=s,s=void 0),typeof s!==r(408)&&(n=Number(s));const o=dt[e]||dt[r(365)],a=this[r(419)].toDataURL(o,n);if(i===z[r(396)])return a;{const e=Ne(a);if(i===z[r(393)])return e;if(i===z[r(448)]){const s=o[r(446)]("/")[1];Gr(e,t+"."+s)}}}screenshotWatermark(t){return new Promise(((e,s)=>{const i=rn;Ds(t)&&(t={filename:t}),(t=t||{})[i(410)]=this[i(367)].width,t.height=this[i(367)][i(409)],t.filename=t[i(412)]||Ve(),t[i(443)]=t[i(443)]?dt[t.format]:dt.png,t.quality=Number(t.quality)||.92,t[i(385)]=t[i(385)]||z[i(448)];const r=this[i(419)].toDataURL(t[i(443)],t.quality);bs(r,t)[i(380)]((s=>{const n=i;if(t.type===z.base64)e(r);else{const i=Ne(s);if(t[n(385)]===z[n(393)])e(i);else if(t[n(385)]===z[n(448)]){e();const s=t[n(443)][n(446)]("/")[1];Gr(i,t.filename+"."+s)}}}))[i(359)]((t=>{s(t)}))}))}[en(383)](t){return new Promise(((e,s)=>{const i=rn;if(Ds(t)){(t=(t={filename:t})||{})[i(410)]=this[i(367)][i(410)],t.height=this[i(367)][i(409)],t[i(412)]=t[i(412)]||Ve(),t[i(443)]=t.format?dt[t[i(443)]]:dt[i(365)],t[i(391)]=Number(t.quality)||.92,t[i(385)]=t[i(385)]||z[i(448)];const r=this[i(419)].toDataURL(t[i(443)],t[i(391)]);ws(r,t)[i(380)]((s=>{const n=i;if(t[n(385)]===z[n(396)])e(r);else{const i=Ne(s);if(t[n(385)]===z[n(393)])e(i);else if(t.type===z.download){e();const s=t[n(443)][n(446)]("/")[1];Gr(i,t.filename+"."+s)}}}))[i(359)]((t=>{s(t)}))}}))}[en(374)](t){}render(){}clearView(){super[en(364)]()}[en(384)](){}[en(347)](){}[en(348)](){const t=en;this[t(424)][t(431)](t(358),t(411));const e=this.player[t(379)],s=this.player[t(372)]();let i=s[t(410)],r=s[t(409)],n=this.$videoElement[t(410)],o=this[t(419)].height;const a=e.rotate;let h=(i-n)/2,c=(r-o)/2;(270===a||90===a)&&(n=this[t(419)][t(409)],o=this[t(419)][t(410)]);const l=i/n,d=r/o;let u=l>d?d:l;ii(e[t(371)])&&l!==d&&(u=l+","+d),e.isFullResize&&(u=l>d?l:d);let p=t(402)+u+")";"none"===e[t(356)]&&a&&(p+=t(435)+a+t(437)),e[t(356)]===t(394)?p+=t(447):e[t(356)]===t(415)&&(p+=" rotateX(180deg)"),this[t(419)][t(357)][t(409)]=this[t(367)].height+"px",this[t(419)][t(357)].width=this[t(367)][t(410)]+"px",this[t(419)][t(357)][t(373)]="0",this[t(419)][t(357)].transform=p,this[t(419)].style[t(400)]=h+"px",this[t(419)][t(357)][t(401)]=c+"px"}[en(406)](){}[en(451)](t){}[en(346)](){return 25}[en(360)](){return A[en(397)]}[en(449)](){const t=en;let e=this[t(388)]===$.webgpu?$[t(368)]:$.webgl;return this[t(442)]?e=$[t(444)]:this[t(390)]&&(e=$.webgpu),e}}const on=an;function an(t,e){const s=hn();return(an=function(t,e){return s[t-=475]})(t,e)}function hn(){const t=["webGPURender","doAddAiContentToWatermark","destroy","renderType","webgpu","width","then","isWebglContextLost"," and error: ","transferFromImageBitmap","webgl","TAG_NAME","tempTextCanvas","init","doRender() and webgl context is lost","doAddContentToWatermark","1085320waFEEk","_initContextGPU","buffer","height","fontSize","webrtc","occlusionDetectActive","webglRender","type","drawImage","487419HzQpOz","_initContext2D","isDestroyedOrClosed","drawDom","webrtcUseCanvasRender","tempTextCanvasCtx","useCanvasRender","doAddContentToCanvas","offscreen","doAddContentToWebGlCanvas","isWebrtcH264","startRender","createImageBitmap","215132NZhLYw","_bindOffscreen","COLOR_BUFFER_BIT","faceDetectActive","#008000","firstRenderTime","743748pjMpea","doRender","142843Wabmlj","clearRect","aiObjectDetectInterval","$video","_supportOffscreen","_initCanvasRender","createWebGPUContext error is ","output","_opt","prevAiFaceDetectTime","renderYUV","8RugWik","webglRectRender","data","catch","detect","drawBox"," and drop","videoFrame","prevAiObjectDetectTime","objectDetector"," and next use webgl render","isContextLost","debugLog","toString","clearView","webGPURender init success","canvas","imageDetector","yuvList","clear","aiFaceDetectInterval","isWcsWebgpu","4700709RWwuwH","2662490RgHqqS","occlusionDetector","mseDecoder","7EReZZY","mse","bitmaprenderer","doRender webgpu render and error: ","faceDetector","webcodecs","color","mseUseCanvasRender","check","doRender() and ai image detect result type is ","player","imageDetectActive","debugWarn","doRender() and webcodecs context is lost","isOldHls","aiImageDetectDrop","render","context2D","debugError","font","hls","getContext","fillText","_initContextGl","contextGl","doRender webgpu render is not init","useWebGPU","CanvasVideoLoader","$videoElement","length","px Arial","wcsUseWebgl2Render","tempContentList","useWCS","emit","currentTime","push","updateStats","prevAiOcclusionDetectTime","_initTempTextCanvas","webGPURender init failed because context is null and next use webgl render","useOffscreen","forEach","_initWebglRenderForWCS","fillStyle"];return(hn=function(){return t})()}!function(t,e){const s=an,i=t();for(;;)try{if(382127===parseInt(s(490))/1+-parseInt(s(482))/2+-parseInt(s(598))/3*(-parseInt(s(501))/4)+parseInt(s(524))/5+-parseInt(s(488))/6+-parseInt(s(527))/7*(-parseInt(s(588))/8)+-parseInt(s(523))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(hn);class cn extends nn{constructor(t){const e=an;super(t),this[e(583)]="CanvasVideo",this[e(519)]=[],this.tempTextCanvas=null,this[e(603)]=null,this[e(537)][e(513)]("CanvasVideo",e(585))}async[on(574)](){const t=on;super.destroy(),this[t(519)]=[],this[t(584)]&&(this[t(603)].clearRect(0,0,this.tempTextCanvas[t(577)],this[t(584)][t(591)]),this[t(584)][t(577)]=0,this[t(584)][t(591)]=0,this[t(584)]=null),this[t(537)][t(513)]("CanvasVideoLoader",t(574))}[on(495)](){const t=on;this[t(537)][t(498)][t(560)]&&!this[t(494)]()?(this.renderType=$.webcodecs,this[t(537)][t(498)][t(553)]?Jr(this[t(555)])[t(578)]((e=>{const s=t;this[s(537)][s(600)]()||(e?(this[s(572)]=new _r(e),this[s(522)]=!0,this[s(537)].debugLog(this[s(583)],s(516))):(this[s(537)].debugWarn(this.TAG_NAME,s(567)),this[s(570)]()))}))[t(504)]((()=>{const s=t;this[s(537)][s(600)]()||(this.player.debugWarn(this[s(583)],s(496)+e+s(511)),this[s(570)]())})):this[t(570)]()):this[t(537)][t(498)].useMSE&&this.player[t(498)][t(534)]?(this[t(575)]=$[t(528)],this[t(599)]()):this[t(537)][t(541)]()&&this[t(537)][t(498)][t(475)]?(this[t(575)]=$[t(547)],this[t(599)]()):this[t(537)][t(479)]()&&this[t(537)]._opt[t(602)]?(this[t(575)]=$[t(593)],this._initContext2D()):this[t(494)]()?(this[t(575)]=$.offscreen,this._bindOffscreen()):this.player._opt[t(553)]?(this[t(575)]=$[t(576)],this[t(589)]()):(this.renderType=$[t(582)],this[t(550)]())}[on(570)](){const t=on;this[t(537)][t(498)][t(558)]&&li()?(this._initContextGl2(),this.webglRender&&(this.isWcsWebgl2=!0)):this._initContext2D()}[on(494)](){const t=on;return"function"==typeof this.$videoElement[si(705)]&&this.player[t(498)][t(568)]}[on(483)](){const t=on;this[t(529)]=this[t(555)][t(548)](t(529))}render(t){const e=on;this[e(519)][e(563)](t),this[e(480)]()}startRender(){const t=on;for(;!(this.yuvList[t(556)]<=0);){const e=this[t(519)].shift();this.doRender(e)}}[on(489)](t){const e=on;if(this[e(575)]!==$.mse){const s={ts:t.ts||0,fps:!0};this[e(537)][e(564)](s)}switch(this[e(575)]){case $.offscreen:this.bitmaprenderer[e(581)](t[e(590)]);break;case $[e(582)]:case $[e(576)]:if(this[e(579)])return void this[e(537)].debugWarn(e(554),e(586));let s=t[e(497)];if(this[e(537)][e(485)]&&this[e(537)].ai&&this.player.ai[e(531)]){null===this[e(499)]&&(this[e(499)]=Ve());const i=Ve();i-this[e(499)]>=this[e(537)]._opt[e(521)]&&(s=this[e(537)].ai[e(531)][e(505)]({width:this[e(555)][e(577)],height:this.$videoElement.height,data:t.output,ts:t.ts||0}),this[e(499)]=i)}if(this[e(537)].objectDetectActive&&this[e(537)].ai&&this[e(537)].ai[e(510)]){null===this[e(509)]&&(this[e(509)]=Ve());const i=Ve();i-this.prevAiObjectDetectTime>=this.player[e(498)][e(492)]&&(s=this.player.ai[e(510)][e(505)]({width:this[e(555)][e(577)],height:this.$videoElement[e(591)],data:t[e(497)],ts:t.ts||0}),this[e(509)]=i)}if(this[e(537)][e(594)]&&this[e(537)].ai&&this[e(537)].ai[e(525)]){null===this.prevAiOcclusionDetectTime&&(this.prevAiOcclusionDetectTime=Ve());const s=Ve();if(s-this[e(565)]>=this[e(537)][e(498)].aiOcclusionDetectInterval){const i=this[e(537)].ai.occlusionDetector.check({width:this[e(555)][e(577)],height:this[e(555)].height,data:t.output});this[e(565)]=s,i&&this.player[e(561)](O.aiOcclusionDetectResult,{ts:t.ts||0})}}if(this[e(537)][e(538)]&&this[e(537)].ai&&this[e(537)].ai[e(518)]){const s=this[e(537)].ai[e(518)][e(535)]({width:this[e(555)][e(577)],height:this[e(555)][e(591)],data:t[e(497)]});if(s&&s[e(503)]&&(this[e(537)][e(561)](O.aiImageDetectResult,{type:s[e(596)],ts:t.ts||0}),this[e(537)][e(498)][e(542)]))return void this[e(537)][e(513)]("CanvasVideoLoader",e(536)+s[e(596)]+e(507))}if(this[e(575)]===$[e(576)])try{if(!this[e(572)])return void this.player[e(539)]("CanvasVideoLoader",e(552));this[e(572)].renderYUV(this[e(555)].width,this.$videoElement[e(591)],s)}catch(t){this.player[e(545)]("CanvasVideoLoader",e(530)+t[e(514)]())}else if(this.renderType===$[e(582)])try{this.webglRender[e(500)](this[e(555)][e(577)],this[e(555)][e(591)],s)}catch(t){this.player[e(545)](e(554),"doRender webgl render context is lost "+(this[e(551)]&&this.contextGl[e(512)]())+e(580)+t[e(514)]())}break;case $[e(532)]:if(this[e(572)])this[e(572)][e(543)](t[e(508)]),zs(t.videoFrame);else if(this[e(595)])this.webglRender[e(543)](t[e(508)]),zs(t[e(508)]);else if(this[e(544)])if(Bs(t[e(508)][e(481)]))try{t[e(508)].createImageBitmap()[e(578)]((s=>{const i=e;this[i(544)][i(597)](s,0,0,this[i(555)].width,this.$videoElement[i(591)]),zs(t.videoFrame)}))}catch(t){}else this.context2D[e(597)](t[e(508)],0,0,this.$videoElement.width,this[e(555)].height),zs(t[e(508)]);else this[e(537)][e(539)](e(554),e(540));break;case $[e(528)]:this[e(544)][e(597)](t[e(493)],0,0,this[e(555)].width,this[e(555)].height);break;case $[e(547)]:this[e(544)].drawImage(t[e(493)],0,0,this[e(555)].width,this[e(555)][e(591)]);break;case $[e(593)]:this[e(544)][e(597)](t[e(493)],0,0,this[e(555)].width,this[e(555)].height)}let s=t.ts||0;this.renderType===$[e(528)]&&(s=parseInt(1e3*t[e(493)][e(562)],10)+(this[e(537)][e(526)][e(487)]||0)),this[e(537)].updateCurrentPts(s),this[e(587)](),this[e(573)]()}clearView(){const t=on;switch(super[t(515)](),this[t(575)]){case $[t(477)]:(function(t,e){const s=Fe,i=document[s(741)](s(660));i[s(608)]=t,i[s(581)]=e;const r=window[s(526)](i,0,0,t,e);return i[s(608)]=0,i.height=0,r})(this[t(555)][t(577)],this[t(555)][t(591)])[t(578)]((e=>{this[t(529)].transferFromImageBitmap(e)}));break;case $.webgl:this[t(551)].clear(this[t(551)][t(484)]);break;case $[t(576)]:this[t(572)][t(520)]();break;case $[t(532)]:this.webGPURender?this.webGPURender[t(520)]():this[t(551)]?this[t(551)][t(520)](this[t(551)][t(484)]):this[t(544)]&&this.context2D.clearRect(0,0,this.$videoElement[t(577)],this[t(555)][t(591)]);break;case $[t(528)]:this[t(544)][t(491)](0,0,this[t(555)].width,this[t(555)].height);break;case $[t(547)]:this[t(544)][t(491)](0,0,this[t(555)][t(577)],this[t(555)][t(591)]);break;case $.webrtc:this.context2D[t(491)](0,0,this[t(555)][t(577)],this.$videoElement[t(591)])}}[on(566)](){const t=on;this[t(584)]=document.createElement(t(517)),this[t(603)]=this[t(584)].getContext("2d"),this[t(584)][t(577)]=600,this[t(584)][t(591)]=20}[on(476)](){const t=on;this[t(559)][t(556)]>0&&this.context2D&&function(t){const e=Fe;let{ctx:s,list:i}=t;s.save(),(i||[])[e(530)]((t=>{const i=e;"text"===t[i(452)]?(s[i(515)]=(t.fontSize||12)+i(740),s[i(584)]=t[i(516)]||i(553),s.fillText(t[i(455)],t.x,t.y)):"rect"===t[i(452)]&&(s[i(754)]=t[i(516)]||i(553),s[i(695)]=t[i(695)]||2,s.strokeRect(t.x,t.y,t[i(608)],t.height))})),s[e(522)]()}({ctx:this[t(544)],list:this[t(559)]})}[on(478)](){const t=on;this[t(559)][t(556)]>0&&this[t(551)]&&this[t(502)]&&this.tempContentList[t(569)]((e=>{const s=t,i=e.x,r=e.y;if("rect"===e.type){const t=e[s(577)],n=e.height,o=function(t){const e=Fe;return[parseInt(t[e(482)](1,3),16)/255,parseInt(t[e(482)](3,5),16)/255,parseInt(t[e(482)](5,7),16)/255,1]}(e[s(533)]||"#008000"),a=e.lineWidth||4;if(!t||!n)return;this[s(502)][s(506)]({x:i,y:r,width:t,height:n,lineColor:o,lineWidth:a,canvasWidth:this[s(555)][s(577)],canvasHeight:this[s(555)].height})}else if("text"===e.type){const t=e.text||"";if(!t)return;const n=e[s(592)]||20,o=e.color||s(486);!this[s(584)]&&this._initTempTextCanvas(),this[s(603)][s(491)](0,0,this[s(584)].width,this[s(584)].height),this[s(603)][s(546)]=n+s(557),this[s(603)][s(571)]=o,this[s(603)].textBaseline="top",this[s(603)][s(549)](t,0,0),this[s(595)][s(601)](this.$videoElement.width,this[s(555)][s(591)],i,r,this[s(584)])}}))}}const ln=dn;function dn(t,e){const s=un();return(dn=function(t,e){return s[t-=261]})(t,e)}function un(){const t=["format","screenshot failed, video is not ready and stats is ","getVideoBufferTimeRange","mediaSourceBufferedIsZeroError","canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play()"," and isRetryPlaying is ","isPlayUseMSE","playVodCanplay","mseWaitVideoCanplayTimeout","progressProxyDestroy","screenshotWatermark","isPaused"," ,currentTime is ","_resize","$canvasElement","isAliyunRtc","17676UGGHDl","getTracks","203vGmlVr","imageSmoothingQuality","Error Code ","isEnded","rate","destroy","progress","I420","filename","isDestroyedOrClosed","getReadyStateInited","vwriter","string","seeked","mediaStream","style","forEach","checkVideoSourceBufferDelay "," and currentTime is ","aiFaceDetectInterval","Video Info: ","isWebrtcH264","isMSEPlaybackRateChangePause","srcObject","render() and ai image detect result type is ","blob","_getBufferStore","canplay and video is paused and try to play","eventListenList","prevAiObjectDetectTime","screenshot failed, video is not ready","canVideoTrackWritter","error","getContext","loadedmetadata","_times","poster"," ,canplayReceived is ","doAddContentToWatermark","isFullResize","playbackRate"," to ","close"," so set currentTime to lastTime","_checkVodVideoWaiting and currentTime is ","playVod","h264","bind","readyState","ratechange","isUseMSE","level","getVideoPlaybackQuality","Mse Mine Type: ","src","_delayEmitVodVideoWaitingInterval","getType","handleRender","render error","_removeProgressProxyDestroy","off","isPlaying","checkSourceBufferStore","_play then but not playing and retry play and isRetryPlayingTimes is ","visibilityChangePlayTimeout","fill"," and emit error","width","isRetryPlaying","isHlsCanVideoPlay"," and retry play","_canScreenshot","getVideoCurrentTime"," rotateX(180deg)","top","toString","seeking","toLowerCase","videoStart","load","canplayReceived","blur(0px)","trackGenerator","getPlaybackQuality","imageDetectActive","high","_isNeedAddBackDropFilter","aiOcclusionDetectResult","faceDetectActive","stringify","then","message","paused","_resize()","_getVideoReadyState","debugWarn","playsinline","muted","catch","start","getDuration","png","bindMediaStream","_detectAndFixStuckPlayback() and video is stuck and currentTime is ","canplay and video is paused and isMSEPlaybackRateChangePause is ","isOldHls"," and message is ","render() and ai occlusion detect result is true","22819900VSEIrt","base64","getCurrentTime","setRate"," and new time is ","download","fixChromeVideoFlashBug","_createScreenShotCanvas","clearReplayTimeout","webkit-playsinline","video.buffered is empty"," is ","getLoadedPercent"," so next try to play","position","support requestVideoFrameCallback and use videoFrameCallback","pause and isNow is ","timeUpdate","TAG_NAME","videoFrameCallback","objectDetector","Video","player","webkitDroppedFrameCount","code","_detectAndFixStuckPlayback() set detectAndFixStuckPlaybackStartTime is "," ,seek to ","mseDecoder","detectAndFixStuckPlaybackStartTime","stop","getBufferMaxDelayTime","getShowVideoRect","isRenderRetryPlaying","videoInfo","supportVideoFrameCallbackHandle","emit playVodWaiting","isMSECurrentMoreThanBufferedPause","debugLog"," and startTime is ","canvas"," and drop","aiImageDetectResult","mseUseCanvasRender","true","name"," and return;","_detectAndFixStuckPlayback() and isStalled is ","canplay and isDestroyedOrClosed,so return","clearRect","pauseDelayTimeout"," and current time is ","mediaTime","corruptedVideoFrames","initCanvasViewSize","readyState is 0 and set _delayPlay to true and listen canplay event to play","14764ofEDmt","render() error, video is paused and readyState is ","aiObjectDetectInterval","video","imageDetector","encTypeCode"," and isAndroid ","checkSourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true","checkVideoCanplayTimeout and video is not playing and buffer store is ","pause","ended","events","_clearDelayEmitVodVideoWaiting",", retry times is ","faceDetector","_mseWorkerData","write","videoElementPlayingFailed","$videoElement","awriter","_play error","push","197wOdZiQ","videoFrame","render and this.vwriter is null","firstRenderTime","isMSEVideoDecoderInitializationFailedNotSupportHevc","updateVideoInfo","getWriter","10556622azvVBd","getVideoBufferLastTime","isRetryPlayingTimes","setCurrentTime","data","droppedVideoFrames","useMSE","toDataURL","not support requestVideoFrameCallback and use timeupdate event to update stats"," and current is ","left","videoBuffer","303NYsbXw","writable","play and readyState: ","updateCurrentPts","isMseDecoderUseWorker","audioDecoderError","decoderWorker","objectDetectActive"," , delay buffer is more than ","updateStats","backdropFilter"," set playbackRate is ","checkVideoCanplayTimeout","noposter","_getVideoCurrentTime","canplay and video is paused and isMSECurrentMoreThanBufferedPause is ","videoHeight","152552PtAwUE","occlusionDetectActive","requestVideoFrameCallback","isRenderRetryPlayingTimes","_clearCheckVodVideoWaiting"," = ","_cancelVideoFrameCallback","clearCheckVideoCanplayTimeout","createElement","screenshot","canvasContext","_delayPlay","_delayEmitVodVideoWaitingInterval and player is destroyed or closed and return","play","prevAiFaceDetectTime","videoWidth","waiting and currentTime is ","h5-page","isPlayVodUseMSE","setAttribute","deg)","height","waiting","clear","$container","clearPauseDelayTimeout","isVideoPlaying","_replay() and isPlaying is "," ,videoReadyState is ","mirrorRotate"," rotate(","timeupdate","videoRenderSupportScale","useVideoPlayAudio","type","isPause","max","clearVisibilityChangePlayTimeout","length","mseDecoderUseWorker"," and bufferedLength is ","renderedVideoFrames","audio","objectFit","playVodVideoSeekingByMse","occlusionDetector","split","canplay and isPlayVodUseMSE and isEnded"," - current is ","audioTrackGenerator","totalVideoFrames","end","output"," and isDestroyedOrClosed is ","drawImage",",\n e.toString() is ","emit","null","_detectAndFixStuckPlayback","_delayEmitVodVideoWaiting","_opt","currentTime","_play error and player is isDestroyedOrClosed and return","fixMobileAutoFullscreen","getHasInit","resize","handleUpdatePlaybackRate and buffered is ","doAddAiContentToWatermark","emitError","_checkVodVideoWaitingInterval","_replay","removeAttribute","7579179WmMbCO","none","removeSeekingTimestamp","debugError","_play error render() error, video is paused and replay error and\n e.name is ","fixMobileAutoFullscreen and isIOS ","quality",",\n e.message is ","waiting and isDestroyedOrClosed,so return","getVideoBufferDelayTime"," , diff is ","_play success","screenshotByCurrentWatermark","canplay and isPlayVodUseMSE an isPaused , next call $videoElement.play() success",", emit error and use canvas render","playVodWaiting","_play","4728315vlKGvL","isResize","getDecodePlaybackRate","indexOf","buffered","detect","aiOcclusionDetectInterval","removeLoadingBgImage","visibilityChange is true and lastTime is ","prevAiOcclusionDetectTime","videoBufferDelay","x5-video-player-type","checkSourceBufferDelay","video playback Rate change","_replay(webrtc H264) then but not playing and retry play times is ","appendChild","_handleUpdatePlaybackRate","transform","code is ","canplay","replayTimeout","clearView","videoDecoderInitializationFailed","_removeProgressProxyDestroy()"];return(un=function(){return t})()}!function(t,e){const s=dn,i=t();for(;;)try{if(934791===-parseInt(s(440))/1*(-parseInt(s(605))/2)+-parseInt(s(459))/3*(-parseInt(s(418))/4)+-parseInt(s(565))/5+parseInt(s(447))/6+-parseInt(s(607))/7*(parseInt(s(476))/8)+parseInt(s(548))/9+-parseInt(s(363))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(un);class pn extends Br{constructor(t){const e=dn;super(),this.player=t,this[e(381)]=e(384);const s=document[e(484)]("video");s[e(352)]=!0,s.disablePictureInPicture=!0,Xe()&&(s[e(291)]=e(472)),s.style[e(377)]="absolute",s.style.top=0,s[e(270)].left=0,this[e(487)]=!1,t.$container[e(580)](s),this.$videoElement=s,this[e(603)]=null,this[e(486)]=null,this.mediaStream=null,this[e(266)]=null,this[e(437)]=null,this[e(337)]=null,this.audioTrackGenerator=null,this[e(369)](),this[e(539)](),this.resize(),this.eventListenList=[],this[e(395)]=!1,this[e(479)]=0,this[e(323)]=!1,this[e(449)]=0,this[e(335)]=!1,this[e(598)]=null,this.checkVideoCanplayTimeout=null,this[e(319)]=null,this[e(412)]=null,this[e(585)]=null,this[e(391)]=null;const i=di();this[e(397)]=null,this._checkVodVideoWaitingInterval=null,this[e(310)]=null;const{proxy:r}=this[e(385)][e(429)],n=r(this[e(436)],e(584),(()=>{const t=e;if(this[t(385)].isDestroyedOrClosed())this[t(385)][t(400)](this[t(381)],t(410));else if(this.player[t(400)](this[t(381)],"canplay"),this[t(335)]=!0,this[t(385)].isPlayVodUseMSE()){if(this[t(385)][t(300)][t(610)]())return void this[t(385)][t(400)](this.TAG_NAME,t(523));this._clearDelayEmitVodVideoWaiting(),this[t(480)](),this[t(385)][t(532)](O[t(596)]),this[t(600)]()&&(this.player[t(400)](this[t(381)],t(593)),this[t(436)]&&this[t(436)][t(489)]()[t(345)]((()=>{const e=t;this.player[e(400)](this[e(381)],e(561))})))}else this[t(487)]?(this[t(483)](),this[t(564)]()):this[t(436)][t(347)]&&(this[t(385)][t(277)]?(this[t(385)].debugLog(this.TAG_NAME,t(359)+this.player[t(277)]+t(376)),this[t(385)][t(277)]=!1,this[t(564)]()):this.player[t(399)]?(this[t(385)][t(400)](this[t(381)],t(474)+this[t(385)].isMSECurrentMoreThanBufferedPause+t(376)),this.player[t(399)]=!1,this[t(564)]()):(this[t(385)][t(350)](this.TAG_NAME,t(282)),this._play()))})),o=r(this[e(436)],e(498),(()=>{const t=e;this[t(385)][t(264)]()?this[t(385)].debugLog(this.TAG_NAME,t(556)):(this[t(385)][t(400)](this[t(381)],t(492)+this.getCurrentTime()),this[t(385)][t(494)]()&&ii(this[t(385)][t(390)].isCurrentTimeInBufferEnd())&&(this[t(535)](),this._checkVodVideoWaiting()))})),a=r(this.$videoElement,e(289),(()=>{const t=e;this[t(385)][t(400)](this[t(381)],t(289))})),h=r(this.$videoElement,e(507),(s=>{const r=e;if(!this[r(385)][r(264)]()){if(ii(i)){const e=parseInt(1e3*this[r(365)](),10);if(t[r(276)]()||this[r(385)][r(360)]()||this[r(385)][r(604)]())this[r(385)][r(532)](O.timeUpdate,e),t.handleRender(),t[r(468)]({fps:!0,ts:e,dts:e}),this[r(385)].updateCurrentPts(e);else if(ei(this[r(385)][r(536)].useMSE)&&ii(this.player[r(536)][r(405)]))if(this.player[r(390)]){let t=parseInt(1e3*this[r(365)](),10)+(this[r(385)][r(390)][r(443)]||0);this[r(385)][r(462)](t)}else if(this[r(385)][r(536)][r(515)]){let t=parseInt(1e3*this[r(365)](),10)+(this[r(385)][r(433)][r(443)]||0);this[r(385)][r(462)](t)}this[r(293)]()}this[r(385)].isMseDecoderUseWorker()&&(this.player[r(465)].updateVideoTimestamp(this[r(365)]()),this[r(581)]())}})),c=r(this[e(436)],"error",(t=>{const s=e;if(!this.$videoElement[s(287)])return void this[s(385)][s(551)](this[s(381)],"on error",t);let i={};if(this[s(385)][s(305)]()&&(i=this[s(385)].getMseMineType()),this[s(385)][s(551)](this[s(381)],s(609)+this[s(436)][s(287)][s(387)]+" "+Lt[this[s(436)][s(287)].code]+"; Details: "+this[s(436)].error[s(346)]+"; "+s(275)+JSON[s(344)](this.videoInfo)+"; "+s(308)+i[s(421)]+"; "),this[s(385)][s(305)]()){this.$videoElement[s(287)][s(387)];const t=this[s(436)][s(287)][s(346)];-1!==t[s(568)](Pt[s(587)])&&(this[s(385)][s(444)]=!0),-1!==t.indexOf(Pt[s(464)])&&(this[s(385)].isMSEAudioDecoderError=!0)}this.player[s(324)]()})),l=r(this.$videoElement,"stalled",(()=>{this[e(534)](!0)}));if(this[e(598)]=r(this.$videoElement,"progress",(()=>{this._detectAndFixStuckPlayback()})),this[e(283)][e(439)](n,o,h,c,a,l),this.player[e(305)]()){const t=r(this[e(436)],pt[e(304)],(()=>{const t=e;this[t(385)][t(400)](this[t(381)],t(578),this[t(436)]&&this[t(436)].playbackRate),this.$videoElement&&this[t(436)].paused&&(this.player[t(350)](this[t(381)],"ratechange and video is paused and sent isMSEPlaybackRateChangePause true"),this[t(385)][t(277)]=!0)}));this.eventListenList[e(439)](t),this[e(385)].on(O.visibilityChange,(t=>{const s=e;t&&(this[s(319)]=setTimeout((()=>{const t=s;if(this[t(513)](),this[t(385)][t(316)]()&&this[t(436)]){const e=this[t(448)]();e-this[t(436)][t(537)]>this[t(393)]()&&(this[t(385)][t(400)](this.TAG_NAME,t(573)+e+t(273)+this[t(436)][t(537)]+t(298)),this[t(436)][t(537)]=e)}}),300))}))}if(this[e(385)][e(494)]()){const t=r(this[e(436)],Qt[e(261)],(()=>{const t=e;this[t(385)][t(400)](this[t(381)],t(261)),this.player[t(532)](O.playVodTimeCache,this[t(375)]())})),s=r(this[e(436)],e(331),(()=>{const t=e;this[t(385)][t(400)](this[t(381)],t(331),this.$videoElement[t(537)]),this.player.emit(O[t(520)],this[t(436)][t(537)])})),i=r(this[e(436)],e(268),(()=>{const t=e;this[t(385)][t(400)](this[t(381)],"seeked",this[t(436)][t(537)]),this[t(385)].playVod.isSeeking()&&this[t(385)][t(300)][t(550)](),this[t(385)][t(532)](O.playVodVideoSeekedByMse,this[t(436)][t(537)])}));this[e(283)][e(439)](t,s,i)}di()?!this[e(397)]&&(this[e(385)][e(400)](this[e(381)],e(378)),this[e(397)]=this[e(436)].requestVideoFrameCallback(this[e(382)][e(302)](this))):this[e(385)][e(350)](this.TAG_NAME,e(455)),this[e(385)][e(400)](this[e(381)],"init")}async destroy(){const t=dn;if(super[t(612)](),this[t(483)](),this.clearReplayTimeout(),this[t(513)](),this[t(501)](),this[t(482)](),this[t(314)](),this[t(283)][t(514)]&&(this[t(283)].forEach((t=>{t()})),this[t(283)]=[]),this[t(395)]=!1,this.isRenderRetryPlayingTimes=0,this[t(323)]=!1,this[t(449)]=0,this[t(335)]=!1,this.player._opt[t(508)]&&this[t(341)]()){const e=this[t(385)].$container;e.style[t(469)]=t(549),e.style[t(582)]=t(549)}if(this[t(603)]&&(this[t(603)][t(497)]=0,this[t(603)].width=0,this.$canvasElement=null),this.canvasContext=null,this[t(436)]){this.$videoElement.pause&&(this[t(436)][t(427)](),this.$videoElement[t(352)]=!0),this[t(436)][t(537)]=0,this[t(436)][t(278)]&&(this[t(436)][t(278)]=null,this[t(436)][t(547)](t(278))),this[t(436)].src&&(this[t(436)].src="",this.$videoElement.removeAttribute(t(309)));try{this[t(436)][t(334)]()}catch(t){}this[t(385)][t(500)].removeChild(this[t(436)]),this.$videoElement=null}this[t(337)]&&(this.trackGenerator.stop(),this[t(337)]=null),this[t(525)]&&(this.audioTrackGenerator[t(392)](),this[t(525)]=null),this[t(266)]&&(await this[t(266)][t(297)](),this.vwriter=null),this[t(437)]&&(await this[t(437)].close(),this.awriter=null),this[t(487)]=!1,this[t(269)]&&(this[t(269)][t(606)]()[t(271)]((e=>e[t(392)]())),this[t(269)]=null),this[t(315)](),this[t(385)][t(400)](this.TAG_NAME,t(612))}_createScreenShotCanvas(){const t=dn,e=document[t(484)](t(402));this[t(603)]=e,this[t(486)]=e[t(288)]("2d"),this[t(486)].imageSmoothingEnabled=!0,this[t(486)].imageSmoothingEnabled&&(this[t(486)][t(608)]=t(340))}[ln(357)](){const t=ln;if(this[t(385)][t(286)]()&&ds()&&us()&&!this[t(269)]){this[t(385)][t(400)](this.TAG_NAME,t(357)),this.trackGenerator=new MediaStreamTrackGenerator({kind:t(421)}),this.player[t(509)]()&&(this[t(525)]=new MediaStreamTrackGenerator({kind:t(518)}),this[t(437)]=this[t(525)][t(460)][t(446)]());const e=[this[t(337)]];this[t(525)]&&e.push(this[t(525)]),this[t(269)]=new MediaStream(e),this[t(436)].srcObject=this[t(269)],this[t(266)]=this[t(337)][t(460)][t(446)]()}}[ln(382)](t){const e=ln;let s=arguments[e(514)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player[e(264)]())return void this[e(385)][e(400)](this[e(381)],"videoFrameCallback() and isDestroyedOrClosed and return");this[e(385)][e(312)]();const i=parseInt(1e3*Math[e(512)](s[e(414)],this[e(365)]()),10)||0;if(this[e(385)].isUseHls265UseMse())this[e(385)][e(468)]({fps:!0,ts:i});else if(this[e(385)][e(463)]()){!this.player[e(290)][e(333)]&&(this.player[e(290)][e(333)]=Ve(),this.player.handlePlayToRenderTimes());const t=i+(this[e(385)][e(433)][e(443)]||0);if(this[e(385)][e(468)]({fps:!0,dfps:!0,ts:t,mseTs:i}),this.player[e(532)](O[e(380)],t),ii(this[e(540)]())&&s.width&&s[e(497)]){const t={width:s.width,height:s[e(497)]};this[e(445)](t),this[e(416)]()}}if(this[e(385)][e(276)]()||this[e(385)].isOldHls()||this[e(385)][e(604)]()){if(this[e(385)].emit(O[e(380)],i),ii(this[e(540)]())&&s[e(322)]&&s[e(497)]){const t={width:s[e(322)],height:s[e(497)]};!this[e(396)][e(423)]&&!this[e(385)][e(360)]()&&(t.encTypeCode=H[e(301)]),this.updateVideoInfo(t)}this[e(385)].updateStats({fps:!0,ts:i,dts:i}),this[e(385)][e(462)](i),this.doAddContentToWatermark()}else if(ei(this[e(385)][e(536)][e(453)])&&ii(this[e(385)]._opt[e(405)])){if(this[e(385)].mseDecoder){let t=parseInt(1e3*Math[e(512)](s.mediaTime,this[e(365)]()),10)+(this.player[e(390)][e(443)]||0);this[e(385)].updateCurrentPts(t)}else if(this[e(385)][e(536)][e(515)]){let t=parseInt(1e3*Math.max(s[e(414)],this[e(365)]()),10)+(this[e(385)]._mseWorkerData.firstRenderTime||0);this[e(385)][e(462)](t)}this[e(293)]()}this[e(397)]=this[e(436)][e(478)](this[e(382)][e(302)](this))}fixChromeVideoFlashBug(){const t=ln;if(this.player._opt[t(508)]&&this[t(341)]()){const e=this[t(385)][t(500)];e.style[t(469)]=t(336),e[t(270)][t(582)]="translateZ(0)"}}[ln(539)](){const t=ln,e=ts(),s=Xe();(e||s)&&(this[t(385)][t(400)](this[t(381)],t(553)+e+t(424)+s),this[t(436)][t(495)](t(372),t(406)),this[t(436)][t(495)](t(351),"true"),this[t(436)][t(495)](t(576),t(493)))}[ln(534)](t){const e=ln,s=this[e(436)],i=s[e(569)],r=s[e(303)];if(this[e(385)][e(400)](this.TAG_NAME,e(409)+t+e(292)+this[e(335)]+e(504)+r+e(516)+i[e(514)]+e(401)+(i[e(514)]>0?i[e(354)](0):e(533))+e(273)+s[e(537)]),t||ii(this.canplayReceived)||r<2){if(i[e(514)]>0&&s[e(537)]=1e3*this.player[e(536)][e(597)]&&(this[e(385)].debugWarn(this.TAG_NAME,e(358)+s[e(537)]+e(558)+t+" and timeout"),this[e(385)][e(532)](N.mseWaitVideoCanplayTimeout,t))}}else this[e(314)]()}[ln(314)](){const t=ln;this[t(598)]&&(this[t(385)][t(400)](this.TAG_NAME,t(588)),this[t(598)](),this[t(598)]=null),this[t(391)]=null}[ln(341)](){const t=ln,e=$e()[t(510)][t(332)]();return"chrome"===e||"edge"===e}isPaused(){const t=ln;let e=!0;return this.$videoElement&&(e=this[t(436)].paused),e}[ln(511)](){return this.isPaused()}_getVideoReadyState(){const t=ln;let e=0;return this[t(436)]&&(e=this[t(436)][t(303)]),e}[ln(473)](){const t=ln;let e=0;return this[t(436)]&&(e=this[t(436)][t(537)]),e}[ln(489)](){const t=ln;if(this[t(436)]){const e=this[t(349)]();if(this.player[t(400)](this.TAG_NAME,t(461)+e),0===e)return this.player.debugLog(this.TAG_NAME,t(417)),this[t(487)]=!0,void(null===this[t(471)]&&(this[t(471)]=setTimeout((()=>{const e=t;if(this[e(483)](),!this[e(385)][e(264)]()&&ii(this[e(316)]())){const t=this[e(281)]();this.player.debugWarn(this[e(381)],e(426)+t+e(325)),this[e(436)][e(537)]=t,this[e(546)]()}}),1e3)));this[t(564)]()}}[ln(564)](){const t=ln;this[t(436)]&&this.$videoElement.play()[t(345)]((()=>{const e=t;this[e(487)]=!1,this.player[e(400)](this[e(381)],e(559)),this[e(316)]()?(this[e(385)].emit(O[e(572)]),this.isRetryPlayingTimes=0,this[e(323)]=!1):this[e(585)]=setTimeout((()=>{const t=e;this[t(371)](),this[t(546)]()}),100)})).catch((e=>{const s=t;this.player[s(264)]()?this[s(385)][s(400)](this.TAG_NAME,s(538)):(this[s(385)][s(400)](this[s(381)],"_play error and\n e.name is "+e[s(407)]+s(555)+e[s(346)]+s(531)+e[s(330)]()),this.player[s(551)](this[s(381)],s(438),e),this[s(323)]=!1,this[s(585)]=setTimeout((()=>{const t=s;this[t(371)](),this[t(546)]()}),100))}))}[ln(546)](){const t=ln;if(!this[t(316)]()&&ii(this[t(385)][t(264)]())&&ii(this[t(323)])){if(this[t(323)]=!0,this[t(449)]>=3){let e="";return void(this.player.isWebrtcH264()?(e=t(579)+this[t(449)]+t(321),this[t(385)].debugError(this[t(381)],e),this[t(385)][t(544)](N.videoElementPlayingFailedForWebrtc,e)):(e="_replay then but not playing and retry play times is "+this[t(449)]+" and emit error to use canvas render",this[t(385)].debugError(this.TAG_NAME,e),this.player[t(544)](N[t(435)],e)))}this[t(385)][t(350)](this.TAG_NAME,t(318)+this[t(449)]),this._play(),this[t(449)]++}else this[t(385)][t(400)](this[t(381)],t(503)+this.isPlaying()+t(594)+this[t(323)]+t(529)+this[t(385)][t(264)]()+t(408))}[ln(427)](t){const e=ln;this.player[e(400)](this[e(381)],e(379)+t),this[e(316)]()&&(t?(this[e(436)]&&this.$videoElement[e(427)](),this._cancelVideoFrameCallback()):this[e(412)]=setTimeout((()=>{const t=e;this[t(501)](),this[t(436)]&&this[t(436)][t(427)](),this._cancelVideoFrameCallback()}),100))}[ln(586)](){const t=ln;super[t(586)](),this[t(436)]&&(this[t(436)][t(427)](),this[t(436)].currentTime=0,this[t(436)][t(309)]&&(this[t(436)][t(309)]="",this[t(436)].removeAttribute(t(309))),this.$videoElement[t(278)]&&(this[t(436)].srcObject=null,this[t(436)][t(547)](t(278))))}[ln(485)](t,e,s,i){const r=ln;if(!this[r(326)]())return this[r(385)][r(350)](this[r(381)],r(590)+this[r(349)]()),null;t=t||Ve(),i=i||z[r(368)];let n=.92;!dt[e]&&z[e]&&(i=e,e=r(356),s=void 0),typeof s===r(267)&&(i=s,s=void 0),void 0!==s&&(n=Number(s));const o=this.$videoElement;!this[r(603)]&&this._createScreenShotCanvas();let a=this[r(603)];a[r(322)]=o[r(491)],a[r(497)]=o[r(475)],this[r(486)][r(530)](o,0,0,a[r(322)],a.height);const h=dt[e]||dt.png,c=a.toDataURL(h,n);if(this.canvasContext[r(411)](0,0,a.width,a[r(497)]),a[r(322)]=0,a[r(497)]=0,i===z.base64)return c;{const e=Ne(c);if(i===z[r(280)])return e;if(i===z.download){const s=h[r(522)]("/")[1];Gr(e,t+"."+s)}}}[ln(599)](t){return new Promise(((e,s)=>{const i=dn;if(Ds(t)&&(t={filename:t}),!this[i(326)]())return this.player[i(350)](this[i(381)],i(285)),s(i(285));const r=this[i(436)];(t=t||{}).width=r[i(491)],t[i(497)]=r.videoHeight,t[i(263)]=t.filename||Ve(),t[i(589)]=t[i(589)]?dt[t[i(589)]]:dt[i(356)],t[i(554)]=Number(t[i(554)])||.92,t[i(510)]=t[i(510)]||z[i(368)],!this[i(603)]&&this._createScreenShotCanvas();let n=this[i(603)];n[i(322)]=r[i(491)],n[i(497)]=r[i(475)],this[i(486)][i(530)](r,0,0,n[i(322)],n[i(497)]);const o=n[i(454)](t[i(589)],t[i(554)]);this.canvasContext.clearRect(0,0,n.width,n[i(497)]),n[i(322)]=0,n[i(497)]=0,bs(o,t)[i(345)]((s=>{const r=i;if(t[r(510)]===z.base64)e(o);else{const i=Ne(s);if(t[r(510)]===z[r(280)])e(i);else if(t[r(510)]===z[r(368)]){e();const s=t[r(589)][r(522)]("/")[1];Gr(i,t[r(263)]+"."+s)}}}))[i(353)]((t=>{s(t)}))}))}screenshotCopyrightWatermark(t){return new Promise(((e,s)=>{const i=dn;if(Ds(t)&&(t={filename:t}),!this[i(326)]())return this[i(385)][i(350)](this.TAG_NAME,i(285)),s("screenshot failed, video is not ready");const r=this.$videoElement;(t=t||{})[i(322)]=r.videoWidth,t[i(497)]=r[i(475)],t[i(263)]=t[i(263)]||Ve(),t.format=t[i(589)]?dt[t[i(589)]]:dt[i(356)],t[i(554)]=Number(t[i(554)])||.92,t.type=t[i(510)]||z[i(368)],!this.$canvasElement&&this[i(370)]();let n=this[i(603)];n[i(322)]=r[i(491)],n[i(497)]=r[i(475)],this[i(486)][i(530)](r,0,0,n.width,n.height);const o=n[i(454)](t[i(589)],t[i(554)]);this.canvasContext[i(411)](0,0,n.width,n[i(497)]),n[i(322)]=0,n[i(497)]=0,ws(o,t)[i(345)]((s=>{const r=i;if(t[r(510)]===z[r(364)])e(o);else{const i=Ne(s);if(t.type===z[r(280)])e(i);else if(t[r(510)]===z.download){e();const s=t[r(589)][r(522)]("/")[1];Gr(i,t[r(263)]+"."+s)}}}))[i(353)]((t=>{s(t)}))}))}[ln(560)](t){}initCanvasViewSize(){this[ln(541)]()}[ln(499)](){const t=ln,e=this.$videoElement,s=e[t(569)],i=s.length?s[t(527)](s.length-1):0;e[t(537)]=i}render(t){const e=ln;if(this.vwriter){if(!this[e(436)][e(278)]&&(this[e(436)][e(278)]=this[e(269)]),this[e(600)]()){const t=this[e(349)]();if(this[e(385)][e(350)](this[e(381)],e(419)+t),4===t&&ii(this.isRenderRetryPlaying)){if(this.isRenderRetryPlaying=!0,this[e(479)]>3){const s=e(419)+t+e(431)+this[e(479)]+e(562);return this.player[e(551)](this.TAG_NAME,s),void this.player[e(544)](N[e(435)],s)}this[e(436)][e(489)]()[e(345)]((()=>{const t=e;this[t(479)]=0,this[t(395)]=!1,this[t(385)][t(400)](this.TAG_NAME,"render() video is paused and replay success")}))[e(353)]((t=>{const s=e;this[s(395)]=!1,this[s(479)]++,this[s(385)].debugLog(this[s(381)],s(552)+t.name+",\n e.message is "+t[s(346)]+",\n e.toString() is "+t[s(330)]()),this.player.debugError(this[s(381)],"render() error, video is paused and replay error ",t)}))}}if(this[e(385)][e(468)]({fps:!0,ts:t.ts||0}),t[e(441)])this[e(266)].write(t[e(441)]),zs(t[e(441)]);else if(t[e(528)]){let r=t[e(528)];if(this[e(385)][e(343)]&&this[e(385)].ai&&this[e(385)].ai.faceDetector){null===this[e(490)]&&(this.prevAiFaceDetectTime=Ve());const s=Ve();s-this[e(490)]>this[e(385)][e(536)][e(274)]&&(r=this[e(385)].ai[e(432)][e(570)]({width:this[e(396)].width,height:this[e(396)].height,data:t[e(528)],ts:t.ts||0}),this[e(490)]=s)}if(this.player[e(466)]&&this.player.ai&&this[e(385)].ai[e(383)]){null===this[e(284)]&&(this[e(284)]=Ve());const s=Ve();s-this[e(284)]>this[e(385)][e(536)][e(420)]&&(r=this[e(385)].ai[e(383)][e(570)]({width:this[e(396)][e(322)],height:this[e(396)][e(497)],data:t.output,ts:t.ts||0}),this[e(284)]=s)}if(this[e(385)][e(477)]&&this.player.ai&&this.player.ai[e(521)]){null===this[e(574)]&&(this[e(574)]=Ve());const s=Ve();if(s-this[e(574)]>=this[e(385)][e(536)][e(571)]){const i=this[e(385)].ai[e(521)].check({width:this.videoInfo.width,height:this[e(396)].height,data:t[e(528)],ts:t.ts||0});this.prevAiOcclusionDetectTime=s,i&&(this.player[e(400)](this[e(381)],e(362)),this.player[e(532)](O[e(342)],{ts:t.ts||0}))}}if(this.player[e(339)]&&this[e(385)].ai&&this[e(385)].ai[e(422)]){const s=this[e(385)].ai[e(422)].check({width:this[e(396)][e(322)],height:this.videoInfo[e(497)],data:t[e(528)],ts:t.ts||0});if(s&&s[e(451)]&&(this[e(385)][e(532)](O[e(404)],{type:s[e(510)],ts:t.ts||0}),this[e(385)][e(536)].aiImageDetectDrop))return void this[e(385)][e(400)](this[e(381)],e(279)+s[e(510)]+e(403))}try{const n=(s=r,i={format:e(262),codedWidth:this[e(396)][e(322)],codedHeight:this[e(396)][e(497)],timestamp:1e3*t.ts},new VideoFrame(s,i));this[e(266)][e(434)](n),zs(n)}catch(t){this[e(385)][e(551)](this[e(381)],e(313),t),this[e(385)][e(544)](N.wasmUseVideoRenderError,e(583)+t[e(387)]+e(361)+t.message)}}this[e(385)][e(462)](t.ts||0),this[e(293)](),this[e(543)]()}else this.player[e(350)](this[e(381)],e(442));var s,i}[ln(602)](){const t=ln;this[t(385)][t(400)](this[t(381)],t(348));const e=this[t(385)][t(536)],s=e.rotate,i=this.player[t(394)]();let r=i.width,n=i[t(497)];this[t(436)].width=r,this[t(436)].height=n,this.$videoElement[t(270)].width=r+"px",this.$videoElement.style[t(497)]=n+"px",(270===s||90===s)&&(this[t(436)][t(322)]=n,this[t(436)][t(497)]=r,this[t(436)][t(270)][t(322)]=n+"px",this[t(436)][t(270)].height=r+"px");let o=(r-this[t(436)][t(322)])/2,a=(n-this.$videoElement.height)/2,h="contain";ii(e[t(566)])&&(h=t(320)),e[t(294)]&&(h=t(549));let c="";e.mirrorRotate===t(549)&&s&&(c+=t(506)+s+t(496)),e.mirrorRotate===t(306)?c+=" rotateY(180deg)":"vertical"===e[t(505)]&&(c+=t(328)),this[t(385)][t(536)].videoRenderSupportScale&&(this[t(436)].style[t(519)]=h),this[t(436)][t(270)][t(582)]=c,this.$videoElement[t(270)].padding="0",this[t(436)][t(270)][t(457)]=o+"px",this.$videoElement.style[t(329)]=a+"px"}[ln(311)](){return A.video}[ln(365)](){const t=ln;return this[t(436)][t(537)]}[ln(316)](){const t=ln;return this.$videoElement&&ii(this[t(436)].paused)&&ii(this[t(436)][t(428)])&&0!==this[t(436)][t(295)]&&0!==this[t(436)].readyState}[ln(502)](){return this[ln(316)]()}[ln(326)](){const t=ln;return this[t(436)]&&this[t(436)][t(303)]>=1}[ln(338)](){const t=ln;let e=null;if(this[t(436)]){if(Bs(this[t(436)][t(307)])){const s=this[t(436)][t(307)]();e={droppedVideoFrames:s[t(452)]||s[t(415)],totalVideoFrames:s.totalVideoFrames,creationTime:s.creationTime}}else e={droppedVideoFrames:this[t(436)][t(386)],totalVideoFrames:this[t(436)].webkitDecodedFrameCount,creationTime:Ve()};e&&(e[t(517)]=e[t(526)]-e[t(452)])}return e}[ln(366)](t){const e=ln;this[e(436)]&&(this[e(436)][e(295)]=t)}get[ln(611)](){const t=ln;let e=1;return this[t(436)]&&(e=this[t(436)][t(295)]),e}[ln(483)](){this[ln(471)]&&(clearTimeout(this.checkVideoCanplayTimeout),this.checkVideoCanplayTimeout=null)}clearReplayTimeout(){const t=ln;this[t(585)]&&(clearTimeout(this.replayTimeout),this[t(585)]=null)}[ln(513)](){const t=ln;this.visibilityChangePlayTimeout&&(clearTimeout(this[t(319)]),this[t(319)]=null)}[ln(501)](){const t=ln;this[t(412)]&&(clearTimeout(this[t(412)]),this[t(412)]=null)}_cancelVideoFrameCallback(){const t=ln;this[t(397)]&&this[t(436)]&&(this.$videoElement.cancelVideoFrameCallback(this[t(397)]),this[t(397)]=null)}[ln(281)](){const t=ln,e=this[t(436)];let s=0;return e.buffered[t(514)]>0&&(s=e[t(569)][t(354)](0)),s}[ln(581)](){const t=ln,e=this.$videoElement,s=e[t(569)];s[t(514)]&&s[t(354)](0);const i=s[t(514)]?s[t(527)](s[t(514)]-1):0;let r=e.currentTime;const n=i-r,o=this[t(393)]();if(this[t(385)][t(468)]({mseVideoBufferDelayTime:n}),n>o)this.player[t(400)](this[t(381)],t(542)+i+t(456)+r+t(467)+o+t(374)+n+t(367)+i),e[t(537)]=i,r=e[t(537)];else if(n<0&&0===i)return this[t(385)].debugWarn(this.TAG_NAME,"handleUpdatePlaybackRate and delay buffer is "+i+t(524)+r+t(481)+n+" < 0 and check video is paused : "+e[t(347)]+" "),void this[t(385)][t(532)](N[t(592)],t(373));if(r>1){const s=this._getPlaybackRate(i-r);e[t(295)]!==s&&(this[t(385)][t(400)](this.TAG_NAME,"handleUpdatePlaybackRate and buffered is "+i+t(413)+r+" and delay is "+(i-r)+t(470)+s+" "),e.playbackRate=s)}}_getPlaybackRate(t){const e=ln,s=this[e(436)];let i=this.player[e(536)].videoBufferDelay+this[e(385)][e(536)][e(458)];const r=Math[e(512)](i,1e3),n=r/2;return t*=1e3,1===s[e(295)]?t>r?1.2:1:t<=n?1:s[e(295)]}[ln(327)](){const t=ln;let e=0;return this[t(436)]&&(e=this[t(436)].currentTime),e}[ln(448)](){const t=ln,e=this[t(436)];let s=0;if(e){const i=e[t(569)];i[t(514)]&&i.start(0);s=i[t(514)]?i[t(527)](i[t(514)]-1):0}return s}[ln(557)](){const t=ln,e=this[t(436)];const s=this[t(448)]()-e[t(537)];return s>0?s:0}[ln(577)](){const t=ln,e=this[t(436)];let s=0,i=0;return e[t(569)][t(514)]>0&&(i=e[t(569)][t(527)](e[t(569)].length-1),s=i-e[t(537)]),s<0&&(this[t(385)][t(350)](this.TAG_NAME,t(272)+s+" < 0, and buffered is "+i+t(601)+e[t(537)]+" , try to seek "+e.currentTime+t(296)+i),e[t(537)]=i,e[t(347)]&&(this[t(385)][t(350)](this[t(381)],t(425)),this[t(385)][t(399)]=!0),s=0),s}[ln(317)](){const t=ln,e=this[t(436)];let s=0;return e.buffered[t(514)]>0&&(s=e[t(537)]-e[t(569)][t(354)](0)),s}[ln(591)](){const t=ln,e=this[t(436)];let s=null;if(e){const i=e.buffered,r=i.length?i[t(354)](0):0,n=i[t(514)]?i[t(527)](i[t(514)]-1):0;s={start:r,end:n,diff:n-r}}return s}[ln(567)](){const t=ln;let e=0;const s=this[t(436)];return s&&(e=s[t(295)]),e}[ln(393)](){const t=ln;let e=(this.player._opt[t(458)]+this[t(385)][t(536)][t(575)])/1e3;return Math[t(512)](5,e+3)}[ln(265)](){return this[ln(349)]()>=1}[ln(430)](){const t=ln;this[t(310)]&&(clearTimeout(this._delayEmitVodVideoWaitingInterval),this[t(310)]=null)}[ln(480)](){const t=ln;this._checkVodVideoWaitingInterval&&(clearTimeout(this[t(545)]),this[t(545)]=null)}[ln(535)](){const t=ln;this._clearDelayEmitVodVideoWaiting(),this[t(310)]=setTimeout((()=>{const e=t;this.player[e(264)]()?this[e(385)][e(400)](this[e(381)],e(488)):(this[e(385)].debugLog(this.TAG_NAME,e(398)),this[e(385)].emit(O[e(563)]))}),100)}_checkVodVideoWaiting(){const t=ln;this[t(480)](),this[t(545)]=setTimeout((()=>{const e=t;this[e(385)][e(264)]()?this[e(385)][e(400)](this.TAG_NAME,"_checkVodVideoWaiting and player is destroyed or closed and return"):this[e(436)]&&(this[e(385)].debugLog(this.TAG_NAME,e(299)+this.$videoElement[e(537)]+" and update currentTime to "+(this.$videoElement[e(537)]+.1)),this[e(436)][e(537)]=this[e(436)][e(537)]+.1)}),4e3)}[ln(450)](t){const e=ln;this[e(436)]&&(this[e(436)][e(537)]=t)}[ln(610)](){const t=ln;let e=!1;return this[t(436)]&&(e=this[t(436)][t(428)]),e}geLoadedTime(){const t=ln;let e=0;return this.$videoElement&&this[t(436)].buffered[t(514)]>0&&(e=this[t(436)][t(569)][t(527)](this[t(436)][t(569)][t(514)]-1)),e}[ln(355)](){let t=0;return this[ln(436)]&&(t=this.$videoElement.duration),t}[ln(375)](){const t=ln;let e=0;if(this[t(436)]){const s=this[t(355)]();s&&(e=this.geLoadedTime()/s)}return e}}const fn=gn;function mn(){const t=["playbackDelayTime","setFps min","useWCS","forEach","_startfpsTime","_stopSync","createImageBitmap","buffer","startRender"," and error: ","shift","bufferSize","_hasCalcFps","videoFrame","rate","tfTs","CanvasVideoPlayback","6381AHWCIZ"," and updatePreFps","renderYUV","streamFps","resume","setFps ","debugError","playVodPause","TAG_NAME","pushData","_doRender","832573tekSbi","handleRender","length","init","then","_initContextGl","isWcsWebgl2","player","preFps","isPlayback","webgl","isUseFpsRender","updateStats","webGPURender","initVideo","playVod","webgpu","3470016KsFcss","_renderFps","_firstTimestamp","setFps","renderType","isPlayVod","getStreamFps","bufferList","clear","_doPlay","doRender webgl render context is lost ","playbackRate","drawImage","webglRender","playing","calc fps is ","fragDuration","rate is","ceil","bufferListLength is","contextGl","initVideoDelay","20741770RBoMHR","getCanvasType","debugWarn","doRender webgpu render is not init","_initCanvasRender","_initContextGPU","fps is","delayTimeout","doRender webgpu render and error: ","_startFpsTimestamp","isContextLost","$videoElement","474244IvKfjy","1099898LmPokO","wcsUseWebgl2Render","width"," pre fps is ","3MWVoaa","webcodecs","setStreamFps","buffer size is ","18yJOHHk","destroy","initFps","setFps max","11VWsAHg","push","output","initFps, has calc fps","toString","fps","_initContextGl2","height","COLOR_BUFFER_BIT","6019520GvxdNo","_sync","3656CJnxPX","playbackConfig","debugLog","context2D","playback","isCacheBeforeDecodeForFpsRender","useWebGPU","_opt","floor","render$2","pause","playInterval"];return(mn=function(){return t})()}function gn(t,e){const s=mn();return(gn=function(t,e){return s[t-=379]})(t,e)}!function(t,e){const s=gn,i=t();for(;;)try{if(607894===parseInt(s(443))/1+parseInt(s(444))/2*(-parseInt(s(448))/3)+-parseInt(s(409))/4+-parseInt(s(465))/5+parseInt(s(452))/6*(parseInt(s(392))/7)+parseInt(s(467))/8*(parseInt(s(381))/9)+parseInt(s(431))/10*(parseInt(s(456))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mn);class An extends nn{constructor(t){const e=gn;super(t),this.TAG_NAME=t[e(414)]()?"CanvasVideoPlayVod":e(380),this.bufferList=[],this.playing=!1,this[e(478)]=null,this[e(461)]=1,this.preFps=1,t[e(414)]()&&(this.fps=25,this[e(400)]=25),this.streamFps=0,this.playbackRate=1,this[e(411)]=null,this[e(410)]=0,this[e(483)]=null,this[e(440)]=null,this._hasCalcFps=!1,this.player[e(401)]()?this[e(399)].on(O.playbackPause,(t=>{const s=e;t?(this[s(477)](),this[s(399)][s(471)].isPlaybackPauseClearCache&&this.clear()):this[s(385)]()})):this[e(399)][e(414)]()&&this[e(399)].on(O[e(388)],(t=>{t?this.pause():this.resume()})),this[e(399)][e(469)](this[e(389)],e(395))}async destroy(){const t=gn;this[t(484)](),this.clear(),this._firstTimestamp=null,this[t(423)]=!1,this.playbackRate=1,this[t(461)]=1,this[t(400)]=1,this[t(410)]=0,this[t(483)]=null,this[t(440)]=null,this._hasCalcFps=!1,super[t(453)](),this[t(399)][t(469)](this.TAG_NAME,t(453))}[fn(435)](){const t=fn;this[t(399)][t(474)][t(481)]?(this[t(413)]=$[t(449)],li()&&this[t(399)]._opt[t(445)]?(this[t(462)](),this[t(422)]&&(this[t(398)]=!0)):this._initContext2D()):this[t(399)][t(474)][t(473)]?(this[t(413)]=$.webgpu,this[t(436)]()):(this[t(413)]=$[t(402)],this[t(397)]())}[fn(466)](){const t=fn;this._stopSync(),this[t(418)](),this[t(478)]=setInterval((()=>{this._doPlay()}),this[t(425)])}[fn(418)](){const t=fn;if(this[t(416)][t(394)]>0){const e=this[t(416)][t(489)]();e&&e[t(486)]&&(this[t(391)](e[t(486)]),this[t(399)].handleRender(),this.player[t(401)]()?this[t(399)][t(471)][t(404)]({ts:e.ts,tfTs:e[t(379)]}):this[t(399)][t(414)]()&&this[t(399)].playVod.updateStats({ts:e.ts,tfTs:e.tfTs}))}}[fn(484)](){const t=fn;this[t(478)]&&(clearInterval(this[t(478)]),this[t(478)]=null)}_doRender(t){const e=fn;if(this.player._opt.useWCS)if(this[e(422)])this[e(422)].render(t),zs(t);else if(Bs(t[e(485)]))try{t[e(485)]()[e(396)]((s=>{const i=e;this.context2D.drawImage(s,0,0,this[i(442)][i(446)],this.$videoElement[i(463)]),zs(t)}))}catch(t){}else this[e(470)][e(421)](t,0,0,this[e(442)][e(446)],this.$videoElement[e(463)]),zs(t);else if(this[e(432)]()===$[e(402)])try{this[e(422)][e(383)](this.$videoElement[e(446)],this.$videoElement[e(463)],t)}catch(t){this[e(399)][e(387)](this[e(389)],e(419)+(this[e(429)]&&this[e(429)][e(441)]())+e(488)+t[e(460)]())}else if(this[e(432)]()===$[e(408)])try{if(!this[e(405)])return void this[e(399)][e(433)](this[e(389)],e(434));this[e(405)].renderYUV(this[e(442)][e(446)],this.$videoElement.height,t)}catch(t){this[e(399)][e(387)](this[e(389)],e(439)+t.toString())}}get[fn(493)](){return this.playbackRate}get[fn(425)](){const t=fn;return Math[t(427)](1e3/(this[t(461)]*this[t(420)]))}get bufferSize(){const t=fn;return this[t(416)][t(394)]}[fn(415)](){return this[fn(384)]}[fn(454)](){const t=fn;this[t(491)]?this[t(399)][t(469)](this[t(389)],t(459)):this[t(399)].isPlayback()?(this.preFps=ze(this[t(399)][t(471)][t(461)],1,100),this.fps=this[t(400)]):this[t(399)][t(414)]()&&(this[t(400)]=ze(this[t(399)][t(407)].fps,1,100),this[t(461)]=this[t(400)])}[fn(412)](t){const e=fn;t!==this[e(461)]?(t>100&&this[e(399)][e(433)](this[e(389)],e(455),t),t<0&&this[e(399)][e(433)](this[e(389)],e(480),t),this[e(461)]=ze(t,1,100),this[e(399)].debugLog(this[e(389)],e(386)+this[e(400)]+" -> "+this[e(461)]),(this[e(399)][e(401)]()&&this[e(399)][e(471)][e(403)]||this[e(399)].isPlayVod())&&this[e(466)]()):this[e(399)][e(469)](this.TAG_NAME,"setFps, same fps "+t)}[fn(450)](t){const e=fn;this.player.debugLog(this[e(389)],e(450),t),this[e(491)]=!0,this[e(384)]=t,this[e(400)]=t,this.setFps(t)}setRate(t){const e=fn;t!==this.playbackRate&&(this.playbackRate=t,this[e(399)][e(401)]()&&this[e(399)][e(471)][e(403)]?this[e(466)]():this[e(399)][e(414)]()&&this._sync())}[fn(476)](t){const e=fn;null===this[e(411)]&&(this._firstTimestamp=t.ts);const s={tfTs:t.ts-this._firstTimestamp,ts:t.ts};t.videoFrame?s.buffer=t[e(492)]:s.buffer=t[e(458)],this[e(416)][e(457)](s),this[e(487)](),this[e(399)][e(393)](),this[e(399)][e(401)]()?this[e(399)].playback[e(404)]({ts:t.ts,tfTs:s[e(379)]}):this.player[e(414)]()&&this[e(399)][e(407)][e(404)]({ts:t.ts,tfTs:s[e(379)]})}[fn(487)](){const t=fn;for(;!(this[t(416)][t(394)]<=0);){const e=this.bufferList[t(489)]();this[t(391)](e[t(486)])}}[fn(390)](t){const e=fn;null===this[e(411)]&&(this[e(411)]=t.ts);const s={tfTs:t.ts-this._firstTimestamp,ts:t.ts};if(t[e(492)]?s[e(486)]=t.videoFrame:s.buffer=t.output,this.player[e(401)]()){const t=this[e(399)][e(474)][e(468)][e(472)];if(!t&&this[e(490)]>this.fps*this[e(420)]*2&&(this[e(399)][e(433)](this[e(389)],e(451)+this[e(490)]),this[e(418)]()),this[e(416)][e(457)](s),!this[e(491)]){const t=Ks(this.bufferList);null!==t&&t!==this.preFps&&(this[e(399)].debugLog(this[e(389)],e(424)+t+e(447)+this[e(400)]+e(382)),this.setStreamFps(t))}if(!t){const t=this.bufferList[e(394)],s=t/(this.fps*this[e(420)]);this[e(399)].debugLog(this[e(389)],e(426),s),s<=1?this.setFps(this.preFps):(this[e(412)](this[e(461)]+Math[e(475)](s*this[e(420)])),this[e(399)].debugWarn(this.TAG_NAME,e(426),s,e(437),this[e(461)],e(428),t))}}else if(this[e(399)].isPlayVod()&&(this[e(416)][e(457)](s),!this[e(491)])){const t=Ks(this[e(416)]);null!==t&&t!==this[e(400)]&&(this[e(399)][e(469)](this.TAG_NAME,e(424)+t+e(447)+this[e(400)]+" and updatePreFps"),this[e(450)](t))}}[fn(406)](){const t=fn;this[t(399)].isPlayback()&&this[t(399)].playback.isUseFpsRender?this[t(466)]():this[t(399)][t(414)]()&&this._sync(),this[t(423)]=!0}[fn(430)](){const t=fn,e=this[t(399)][t(474)][t(479)];e>0?this[t(438)]=setTimeout((()=>{this[t(406)]()}),e):this[t(406)]()}clearView(){const t=fn;super.clearView(),this[t(429)][t(417)](this[t(429)][t(464)])}[fn(417)](){const t=fn;this.player._opt[t(481)]&&this[t(416)][t(482)]((e=>{const s=t;e[s(486)]&&zs(e[s(486)])})),this[t(416)]=[]}[fn(385)](){const t=fn;(this[t(399)][t(401)]()&&this[t(399)].playback[t(403)]||this[t(399)][t(414)]())&&this[t(466)](),this[t(423)]=!0}[fn(477)](){const t=fn;(this[t(399)][t(401)]()&&this[t(399)][t(471)][t(403)]||this[t(399)][t(414)]())&&this[t(484)](),this.playing=!1}}var yn=vn;function bn(){var t=["133659ZpKxJY","755wdFYHJ","isPlayback","render$2","314209GhYjHH","179844dPzOfA","2126806xtUNkQ","VideoPlayback","1266000BjWjEa","render","destroy","TAG_NAME","200WKNYqp","6xrDANK","10tnziCs","6PAJMjN","VideoPlayVod","110105eAtrKv"];return(bn=function(){return t})()}function vn(t,e){var s=bn();return(vn=function(t,e){return s[t-=116]})(t,e)}!function(t,e){for(var s=vn,i=t();;)try{if(127321===-parseInt(s(126))/1+-parseInt(s(132))/2*(-parseInt(s(122))/3)+-parseInt(s(121))/4*(parseInt(s(128))/5)+parseInt(s(124))/6*(parseInt(s(131))/7)+-parseInt(s(117))/8+-parseInt(s(127))/9*(parseInt(s(123))/10)+parseInt(s(133))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bn);class wn extends pn{constructor(t){var e=vn;super(t),this[e(120)]=t[e(129)]()?e(116):e(125)}async[yn(119)](){super[yn(119)]()}[yn(130)](t){this[yn(118)](t)}}const Sn=In;function En(){const t=["_opt","getLoaderFactory","268506irUICg","isAliyunRtc","587328zbjTZq","10696161HhwPzY","mseUseCanvasRender","useCanvasRender","playType","1369946MbqpBW","useOffscreen","playVod","wasmUseVideoRender","3jhQxWV","439055DBNGxH","isWebrtc","8827188NdTWnr","useMSE","43762455QvFnWS","wcsUseVideoRender","isWebrtcH265","isHls","20wnCfXU"];return(En=function(){return t})()}function In(t,e){const s=En();return(In=function(t,e){return s[t-=396]})(t,e)}!function(t,e){const s=In,i=t();for(;;)try{if(934336===parseInt(s(405))/1+-parseInt(s(412))/2*(parseInt(s(416))/3)+parseInt(s(402))/4*(-parseInt(s(417))/5)+-parseInt(s(396))/6+-parseInt(s(408))/7+-parseInt(s(407))/8+parseInt(s(398))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(En);class Tn{constructor(t){const e=In;return new(Tn[e(404)](t[e(403)]))(t)}static[Sn(404)](t){const e=Sn;return t[e(397)]?t[e(409)]?cn:pn:t[e(401)]&&ii(t.supportHls265)||t[e(418)]&&ii(t[e(400)])?t[e(410)]?cn:pn:t[e(406)]?pn:t.useWCS?t[e(411)]===u.playbackTF?!t[e(413)]&&t.wcsUseVideoRender?wn:An:t[e(411)]===u.playVod?!t[e(413)]&&t[e(399)]?wn:An:!t[e(413)]&&t.wcsUseVideoRender?pn:cn:t[e(411)]===u.playbackTF||t.playType===u[e(414)]?An:t[e(415)]&&!t.useOffscreen?pn:cn}}const kn=_n;function _n(t,e){const s=Cn();return(_n=function(t,e){return s[t-=460]})(t,e)}function Cn(){const t=["81777aoDKEK","clear","createMediaStreamDestination","resume","start","isStateRunning","isMute","28HZvdqh","AudioContext","clearAudioResumeStateTimeout","audioBufferSourceNode","audioResumeStateTimeout","player","setRate","lastVolume","465037TLaivW","createBuffer","audioInfo","onmessage","mediaStreamAudioDestinationNode","hasAudio","webkitAudioContext","audioContext","emit","createGain","audioResumeState","sampleRate","audioContextState","2691720PEZjDQ","play","state","then","noteOn","toFixed","$audio","buffer","destination","updateAudioInfo","getAudioInfo","audioEnabled","initMobileScriptNode","hasInitScriptNode","send close and wait 10ms destroy directly","workletWorkerCloseTimeout","3541458XVOgDo","encType","isPlaying","channels","close","getAudioBufferSize","length","_prevVolume","getEngineType","playing","workletProcessorNode","volume","2461656mjrxfC","suspended","postMessage","mute","audioContextContextResumeLock","scriptNode","onaudioprocess","resetInit","481828GsLDHY","7ApAiZg","setVolume","depth","value","bufferList","disconnect","destroy","encTypeCode","gain","createBufferSource","isStateSuspended","gainNode","volumechange","_destroyWorklet","18250XCFgcq","finally","init"];return(Cn=function(){return t})()}!function(t,e){const s=_n,i=t();for(;;)try{if(301544===parseInt(s(497))/1+parseInt(s(464))/2+-parseInt(s(482))/3*(-parseInt(s(489))/4)+parseInt(s(479))/5+parseInt(s(526))/6*(-parseInt(s(465))/7)+-parseInt(s(538))/8+parseInt(s(510))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Cn);class Rn extends n{constructor(t){const e=_n;super(),this[e(469)]=[],this[e(494)]=t,this[e(516)]=null,this[e(461)]=null,this[e(536)]=null,this[e(525)]=null,this.hasInitScriptNode=!1,this[e(504)]=new(window[e(490)]||window[e(503)])({sampleRate:Gt}),this[e(476)]=this[e(504)][e(506)]();const s=this[e(504)][e(474)]();s[e(517)]=this[e(504)][e(498)](1,1,22050),s.connect(this[e(504)][e(518)]),s.noteOn?s[e(514)](0):s[e(486)](0),this[e(492)]=s,this[e(501)]=this.audioContext[e(484)](),this[e(476)][e(473)].value=0,this._prevVolume=null,this[e(535)]=!1,this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this[e(481)]=!1,this.hasAudio=!1,this[e(493)]=null,this[e(460)]=!1}async destroy(){const t=_n;return this.closeAudio(),this.resetInit(),this[t(491)](),this.audioContext&&(await this[t(504)][t(530)](),this[t(504)]=null),this.gainNode&&(this[t(476)][t(470)](),this[t(476)]=null),this[t(502)]=!1,this[t(535)]=!1,this[t(461)]&&(this.scriptNode.disconnect(),this[t(461)][t(462)]=Oe,this[t(461)]=null),await this[t(478)](),this[t(536)]&&(this[t(536)].disconnect(),this[t(536)].port[t(500)]=Oe,this[t(536)]=null),this.audioBufferSourceNode&&(this[t(492)].stop(),this[t(492)]=null),this.mediaStreamAudioDestinationNode&&(this.mediaStreamAudioDestinationNode[t(470)](),this[t(501)]=null),this[t(523)]=!1,this[t(533)]=null,this[t(460)]=!1,this.off(),!0}[kn(478)](){return new Promise(((t,e)=>{const s=_n;this[s(536)]?(this.workletProcessorNode.port[s(540)]({type:s(471)}),this[s(525)]=setTimeout((()=>{const e=s;this[e(494)].debugLog(this.TAG_NAME,e(524)),this.workletWorkerCloseTimeout&&(clearTimeout(this[e(525)]),this[e(525)]=null),t()}),10)):t()}))}[kn(463)](){const t=kn;this.audioInfo={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this[t(481)]=!1}[kn(520)](){return this[kn(499)]}[kn(519)](t){const e=kn;t[e(472)]&&(this.audioInfo[e(472)]=t[e(472)],this[e(499)][e(527)]=q[t[e(472)]]),t[e(529)]&&(this[e(499)][e(529)]=t[e(529)]),t.sampleRate&&(this.audioInfo[e(508)]=t[e(508)]),t[e(467)]&&(this[e(499)][e(467)]=t.depth),this[e(499)][e(508)]&&this[e(499)][e(529)]&&this.audioInfo[e(527)]&&!this[e(481)]&&(this[e(494)][e(505)](O[e(499)],this[e(499)]),this[e(481)]=!0)}get[kn(528)](){return this[kn(535)]}get[kn(488)](){const t=kn;return 0===this[t(476)][t(473)].value||this[t(475)]()}get volume(){const t=kn;return this.gainNode.gain[t(468)]}get bufferSize(){const t=kn;return this.bufferList[t(532)]}get[kn(509)](){const t=kn;let e=null;return this[t(504)]&&(e=this[t(504)][t(512)]),e}initScriptNode(){}[kn(522)](){}initWorkletScriptNode(){}[kn(534)](){return""}[kn(541)](t){const e=kn;t?(this[e(466)](0),this.clear()):this[e(466)](this[e(494)][e(496)]||.5)}[kn(466)](t){const e=kn;t=parseFloat(t)[e(515)](2),isNaN(t)||(this.audioEnabled(!0),t=ze(t,0,1),null!==this._prevVolume&&this[e(533)]===t||(null===this._prevVolume?this[e(494)][e(505)](O[e(541)],0===t):0===this[e(533)]&&t>0?this[e(494)].emit(O[e(541)],!1):this[e(533)]>0&&0===t&&this[e(494)].emit(O.mute,!0),this[e(476)][e(473)][e(468)]=t,this[e(494)][e(505)](O[e(477)],this.player[e(537)]),this[e(494)].emit(O[e(537)],this[e(494)][e(537)]),this[e(533)]=t))}closeAudio(){const t=kn;this[t(523)]&&(this[t(461)]&&this.scriptNode.disconnect(this[t(476)]),this[t(536)]&&this[t(536)][t(470)](this[t(476)]),this[t(476)]&&(this[t(476)][t(470)](this.mediaStreamAudioDestinationNode),!this[t(516)]&&this[t(476)][t(470)](this[t(504)].destination))),this[t(483)]()}[kn(521)](t){const e=kn;if(t&&this[e(475)]()){if(this.audioContextContextResumeLock)return;this[e(460)]=!0,this[e(504)][e(485)]()[e(513)]((()=>{const t=e;this[t(494)][t(505)](O[t(507)],{state:this[t(509)],isRunning:this[t(487)]()})}))[e(480)]((()=>{this[e(460)]=!1})),this[e(493)]=setTimeout((()=>{const t=e;this.clearAudioResumeStateTimeout(),this[t(460)]=!1,this[t(475)]()&&this[t(494)][t(505)](O.audioResumeState,{state:this[t(509)],isRunning:this.isStateRunning()})}),1e3)}}[kn(487)](){return"running"===this[kn(509)]}[kn(475)](){const t=kn;return this.audioContextState===t(539)}clearAudioResumeStateTimeout(){const t=kn;this[t(493)]&&(clearTimeout(this[t(493)]),this[t(493)]=null)}[kn(483)](){this.bufferList=[]}[kn(511)](t,e){}pause(){this.playing=!1}[kn(485)](){this[kn(535)]=!0}[kn(495)](t){}[kn(531)](){return 0}}function Dn(t,e){const s=Pn();return(Dn=function(t,e){return s[t-=122]})(t,e)}const xn=Dn;!function(t,e){const s=Dn,i=t();for(;;)try{if(939222===parseInt(s(130))/1+-parseInt(s(128))/2*(parseInt(s(124))/3)+-parseInt(s(134))/4*(parseInt(s(145))/5)+parseInt(s(141))/6*(-parseInt(s(135))/7)+parseInt(s(139))/8*(parseInt(s(131))/9)+parseInt(s(142))/10+parseInt(s(132))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Pn);class Ln{constructor(t,e,s,i){const r=Dn;this[r(148)]=t,this[r(122)]=e,this[r(138)]=s,this[r(136)]=i}destroy(){const t=Dn;this.buffer=null,this[t(138)]=null}extract(t,e){const s=Dn;let i=this[s(127)](e);for(let e=0;e=a){try{for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:0;const r=2*(e=e||0);!(i>=0)&&(i=(t.length-r)/2);const n=2*i;this[s(224)](i+this[s(277)]);const o=this[s(294)];this.vector.set(t[s(187)](r,r+n),o),this[s(277)]+=i}[Mn(175)](t,e){const s=Mn;let i=arguments[s(184)]>2&&void 0!==arguments[2]?arguments[2]:0;e=e||0,!(i>=0)&&(i=t.frameCount-e),this.putSamples(t.vector,t[s(269)]+e,i)}receive(t){const e=Mn;(!(t>=0)||t>this[e(277)])&&(t=this[e(266)]),this[e(277)]-=t,this[e(191)]+=t}[Mn(292)](t){const e=Mn;let s=arguments[e(184)]>1&&void 0!==arguments[1]?arguments[1]:0;const i=2*s,r=this[e(267)];t[e(177)](this[e(289)][e(187)](r,r+i)),this[e(167)](s)}[Mn(240)](t){const e=Mn;let s=arguments[e(184)]>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[e(184)]>2&&void 0!==arguments[2]?arguments[2]:0;const r=this[e(267)]+2*s,n=2*i;t.set(this[e(289)][e(187)](r,r+n))}[Mn(224)](){const t=Mn;const e=parseInt(2*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0));if(this[t(289)][t(184)]0&&void 0!==arguments[0]?arguments[0]:0;this[t(224)](this[t(277)]+e)}rewind(){const t=Mn;this[t(191)]>0&&(this._vector.set(this[t(289)].subarray(this[t(267)],this[t(294)])),this[t(191)]=0)}}function Fn(){const t=["midBufferDirty","buffer","overlap","inputChunkSize","_frameCount","rateChange","pitchOctaves","6067962wCCqxj","prevSampleL","overlapLength","filter","clone","checkLimits","_intermediateBuffer","autoSeekSetting","name","_vector","transpose","sampleReq","receiveSamples","seekBestOverlapPositionStereo","endIndex","virtualPitch","preCalculateCorrelationReferenceStereo","receive","nominalSkip","slopeCount","setParameters","duration","_outputBuffer","sourcePosition","push","putBuffer","destroy","set","calculateCrossCorrelationStereo","rewind","_soundtouch","calculateOverlapLength","606380mlyXer","min","length","sequenceMs","sampleRate","subarray","clearMidBuffer","fillOutputBuffer","rate","_position","node","fillInputBuffer","tempo","refMidBuffer","pipe","calculateEffectiveRateAndTempo","70gmFffy","inputBuffer","sourceSound","seekWindowLength","15976IGlljS","timePlayed","vector","removeEventListener","seekBestOverlapPosition","outputBufferPosition","addEventListener","virtualRate","_node","_sourcePosition","prevSampleR","_tempo","fillInputBuffer() not overridden","disconnect","skipFract","seekWindowMs","callback","putSamples","reset","numberOfChannels","put","_inputBuffer","ensureCapacity","off","_pipe","MIN_VALUE","listeners","1732JAcEmh","onaudioprocess","max","historyBufferSize","process","dualChannel","ensureAdditionalCapacity","floor","_filter","pitchSemitones","1182432Uiwqhg","extract","percentagePlayed","virtualTempo","transposer","overlapMs","seekBestOverlapPositionStereoQuick","_quickSeek","_rate","outputBuffer","forEach","New position may not be greater than current position","onEnd","pitch","midBuffer","seekLength","clear","connect","detail","782UVSsEj","exp","calculateSequenceParameters","stretch","quickSeek","outputChunkSize","formattedTimePlayed","238280XxSjyc","frameCount","startIndex","autoSeqSetting","position","22569849pRrMQY","overlapStereo","dispatchEvent"];return(Fn=function(){return t})()}class On{constructor(t){const e=Mn;t?(this[e(223)]=new Bn,this._outputBuffer=new Bn):this[e(223)]=this[e(172)]=null}[Mn(176)](){const t=Mn;this.clear(),this[t(172)]&&(this[t(172)][t(176)](),this[t(172)]=null),this._inputBuffer&&(this[t(223)][t(176)](),this[t(223)]=null)}get[Mn(199)](){return this[Mn(223)]}set[Mn(199)](t){this[Mn(223)]=t}get outputBuffer(){return this[Mn(172)]}set[Mn(248)](t){this[Mn(172)]=t}clear(){const t=Mn;this[t(223)][t(255)](),this._outputBuffer[t(255)]()}}class Un extends On{constructor(t){const e=Mn;super(t),this[e(220)](),this[e(247)]=1}destroy(){super[Mn(176)]()}set rate(t){this[Mn(247)]=t}[Mn(220)](){const t=Mn;this[t(169)]=0,this[t(281)]=0,this[t(212)]=0}clone(){const t=Mn,e=new Un;return e[t(190)]=this[t(247)],e}[Mn(233)](){const t=Mn,e=this[t(223)][t(266)];this[t(172)][t(235)](e/this[t(247)]+1);const s=this[t(290)](e);this[t(223)][t(167)](),this[t(172)][t(222)](s)}[Mn(290)](){const t=Mn;let e=arguments[t(184)]>0&&void 0!==arguments[0]?arguments[0]:0;if(0===e)return 0;const s=this[t(223)][t(204)],i=this._inputBuffer[t(267)],r=this[t(172)][t(204)],n=this[t(172)][t(294)];let o=0,a=0;for(;this[t(169)]<1;)r[n+2*a]=(1-this[t(169)])*this[t(281)]+this.slopeCount*s[i],r[n+2*a+1]=(1-this.slopeCount)*this.prevSampleR+this[t(169)]*s[i+1],a+=1,this.slopeCount+=this[t(247)];if(this[t(169)]-=1,1!==e)t:for(;;){for(;this[t(169)]>1;)if(this[t(169)]-=1,o+=1,o>=e-1)break t;const h=i+2*o;r[n+2*a]=(1-this[t(169)])*s[h]+this[t(169)]*s[h+2],r[n+2*a+1]=(1-this[t(169)])*s[h+1]+this[t(169)]*s[h+3],a+=1,this[t(169)]+=this[t(247)]}return this[t(281)]=s[i+2*e-2],this.prevSampleR=s[i+2*e-1],a}}class jn{constructor(t){this._pipe=t}[Mn(176)](){}get[Mn(196)](){return this[Mn(226)]}get[Mn(199)](){const t=Mn;return this[t(226)][t(199)]}get[Mn(248)](){return this[Mn(226)].outputBuffer}[Mn(193)](){throw new Error(Mn(214))}[Mn(189)](){const t=Mn;let e=arguments[t(184)]>0&&void 0!==arguments[0]?arguments[0]:0;for(;this[t(248)][t(266)]2&&void 0!==arguments[2]?arguments[2]:Nn;super(e),this[s(218)]=i,this[s(200)]=t,this.historyBufferSize=22050,this._sourcePosition=0,this[s(207)]=0,this[s(191)]=0}[Mn(176)](){const t=Mn;this[t(255)](),this[t(200)][t(176)](),this[t(200)]=null,this._sourcePosition=0,this[t(207)]=0,this[t(191)]=0}get[Mn(269)](){return this[Mn(191)]}set[Mn(269)](t){const e=Mn;if(t>this._position)throw new RangeError(e(250));const s=this[e(207)]-(this._position-t);if(s<0)throw new RangeError("New position falls outside of history buffer");this[e(207)]=s,this[e(191)]=t}get[Mn(173)](){return this._sourcePosition}set sourcePosition(t){const e=Mn;this[e(255)](),this[e(211)]=t}[Mn(251)](){this[Mn(218)]()}fillInputBuffer(){const t=Mn;let e=arguments[t(184)]>0&&void 0!==arguments[0]?arguments[0]:0;const s=new Float32Array(2*e),i=this.sourceSound.extract(s,e,this._sourcePosition);this[t(211)]+=i,this[t(199)][t(219)](s,0,i)}[Mn(240)](t){const e=Mn;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this[e(189)](this[e(207)]+s);const i=Math[e(183)](s,this.outputBuffer[e(266)]-this[e(207)]);this[e(248)].extract(t,this.outputBufferPosition,i);const r=this[e(207)]+i;return this.outputBufferPosition=Math[e(183)](this[e(232)],r),this[e(248)][e(167)](Math.max(r-this.historyBufferSize,0)),this._position+=i,i}handleSampleData(t){this[Mn(240)](t.data,4096)}[Mn(255)](){const t=Mn;super[t(255)](),this[t(207)]=0}}const zn=[[124,186,248,310,372,434,496,558,620,682,744,806,868,930,992,1054,1116,1178,1240,1302,1364,1426,1488,0],[-100,-75,-50,-25,25,50,75,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-20,-15,-10,-5,5,10,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-4,-3,-2,-1,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Wn=-10/1.5;class Gn extends On{constructor(t){const e=Mn;super(t),this[e(246)]=!0,this[e(273)]=!1,this[e(253)]=null,this[e(195)]=null,this[e(282)]=0,this[e(268)]=!0,this.autoSeekSetting=!0,this._tempo=1,this[e(170)](44100,0,0,8)}[Mn(176)](){const t=Mn;this.clear(),super[t(176)]()}clear(){const t=Mn;super[t(255)](),this[t(188)](),this.refMidBuffer=null}clearMidBuffer(){const t=Mn;this[t(273)]&&(this[t(273)]=!1),this.midBuffer=null}[Mn(170)](t,e,s,i){const r=Mn;t>0&&(this.sampleRate=t),i>0&&(this.overlapMs=i),e>0?(this[r(185)]=e,this[r(268)]=!1):this.autoSeqSetting=!0,s>0?(this.seekWindowMs=s,this[r(287)]=!1):this[r(287)]=!0,this[r(260)](),this[r(181)](this[r(244)]),this[r(194)]=this[r(213)]}set[Mn(194)](t){const e=Mn;let s;this[e(213)]=t,this[e(260)](),this.nominalSkip=this[e(213)]*(this[e(201)]-this.overlapLength),this[e(216)]=0,s=Math.floor(this[e(168)]+.5),this.sampleReq=Math[e(231)](s+this.overlapLength,this[e(201)])+this[e(254)]}get tempo(){return this[Mn(213)]}get[Mn(276)](){return this[Mn(291)]}get[Mn(263)](){const t=Mn;return this[t(282)]+Math.max(0,this[t(201)]-2*this.overlapLength)}[Mn(181)](){const t=Mn;let e,s=arguments[t(184)]>0&&void 0!==arguments[0]?arguments[0]:0;e=this[t(186)]*s/1e3,e=e<16?16:e,e-=e%8,this[t(282)]=e,this.refMidBuffer=new Float32Array(2*this.overlapLength),this[t(253)]=new Float32Array(2*this[t(282)])}[Mn(285)](t,e,s){return ts?s:t}calculateSequenceParameters(){const t=Mn;let e,s;this[t(268)]&&(e=150+-50*this._tempo,e=this[t(285)](e,50,125),this[t(185)]=Math[t(236)](e+.5)),this[t(287)]&&(s=28.333333333333332+Wn*this[t(213)],s=this[t(285)](s,15,25),this[t(217)]=Math[t(236)](s+.5)),this[t(201)]=Math.floor(this.sampleRate*this[t(185)]/1e3),this[t(254)]=Math[t(236)](this[t(186)]*this[t(217)]/1e3)}set[Mn(262)](t){this[Mn(246)]=t}[Mn(284)](){const t=Mn,e=new Gn;return e[t(194)]=this[t(213)],e[t(170)](this[t(186)],this[t(185)],this[t(217)],this[t(244)]),e}seekBestOverlapPosition(){const t=Mn;return this._quickSeek?this[t(245)]():this[t(293)]()}[Mn(293)](){const t=Mn;let e,s,i,r=0;for(this.preCalculateCorrelationReferenceStereo(),e=0,s=Number.MIN_VALUE;rs&&(s=i,e=r);return e}[Mn(245)](){const t=Mn;let e,s,i,r,n,o=0;for(this[t(296)](),s=Number[t(227)],e=0,r=0,n=0;o<4;o+=1){let a=0;for(;zn[o][a]&&(n=r+zn[o][a],!(n>=this[t(254)]));)i=this[t(178)](2*n,this[t(195)]),i>s&&(s=i,e=n),a+=1;r=e}return e}[Mn(296)](){const t=Mn;let e,s,i=0;for(;i=this[t(291)];){e=this[t(206)](),this._outputBuffer[t(235)](this[t(282)]),this[t(275)](Math[t(236)](e)),this[t(172)][t(222)](this[t(282)]),s=this[t(201)]-2*this[t(282)],s>0&&this[t(172)][t(175)](this._inputBuffer,e+this.overlapLength,s);const r=this[t(223)][t(267)]+2*(e+this.seekWindowLength-this[t(282)]);this[t(253)][t(177)](this[t(223)].vector[t(187)](r,r+2*this[t(282)])),this.skipFract+=this[t(168)],i=Math[t(236)](this.skipFract),this[t(216)]-=i,this[t(223)].receive(i)}}}function Hn(t,e){const s=Fn();return(Hn=function(t,e){return s[t-=167]})(t,e)}const Kn=function(t,e){return(t>e?t-e:e-t)>1e-10};class Qn{constructor(){const t=Mn;this.transposer=new Un(!1),this[t(261)]=new Gn(!1),this[t(223)]=new Bn,this[t(286)]=new Bn,this._outputBuffer=new Bn,this[t(247)]=0,this[t(213)]=0,this[t(295)]=1,this[t(209)]=1,this[t(242)]=1,this[t(197)]()}[Mn(176)](){const t=Mn;this[t(255)](),this[t(223)][t(176)](),this[t(286)][t(176)](),this[t(172)].destroy(),this._inputBuffer=null,this[t(286)]=null,this[t(172)]=null}clear(){const t=Mn;this[t(243)][t(255)](),this[t(261)][t(255)]()}clone(){const t=Mn,e=new Qn;return e[t(190)]=this.rate,e.tempo=this[t(194)],e}get[Mn(190)](){return this._rate}set[Mn(190)](t){this[Mn(209)]=t,this.calculateEffectiveRateAndTempo()}set[Mn(278)](t){this[Mn(247)]=1+.01*t}get[Mn(194)](){return this[Mn(213)]}set[Mn(194)](t){this.virtualTempo=t,this.calculateEffectiveRateAndTempo()}set tempoChange(t){this.tempo=1+.01*t}set[Mn(252)](t){this[Mn(295)]=t,this.calculateEffectiveRateAndTempo()}set[Mn(279)](t){const e=Mn;this[e(252)]=Math[e(259)](.69314718056*t),this[e(197)]()}set[Mn(238)](t){this.pitchOctaves=t/12}get[Mn(199)](){return this[Mn(223)]}get outputBuffer(){return this[Mn(172)]}[Mn(197)](){const t=Mn,e=this[t(213)],s=this[t(247)];this[t(213)]=this[t(242)]/this.virtualPitch,this[t(247)]=this[t(209)]*this[t(295)],Kn(this[t(213)],e)&&(this[t(261)].tempo=this[t(213)]),Kn(this._rate,s)&&(this[t(243)].rate=this[t(247)]),this[t(247)]>1?this[t(172)]!=this[t(243)][t(248)]&&(this[t(261)][t(199)]=this[t(223)],this[t(261)][t(248)]=this[t(286)],this[t(243)][t(199)]=this._intermediateBuffer,this[t(243)].outputBuffer=this[t(172)]):this._outputBuffer!=this[t(261)][t(248)]&&(this[t(243)][t(199)]=this[t(223)],this.transposer[t(248)]=this[t(286)],this[t(261)][t(199)]=this._intermediateBuffer,this[t(261)][t(248)]=this[t(172)])}[Mn(233)](){const t=Mn;this._rate>1?(this[t(261)].process(),this[t(243)].process()):(this[t(243)].process(),this[t(261)].process())}}Mn(176),Mn(234),Mn(269),Mn(269),Mn(240);const Yn=function(t){const e=Math[Mn(236)](t/60);return e+":"+function(t,e,s){const i=Mn;return s=s||"0",(t+="")[i(184)]>=e?t:new Array(e-t[i(184)]+1).join(s)+t}(parseInt(t-60*e),2)};Mn(176),Mn(264),Mn(241),Mn(241),Mn(192),Mn(238),Mn(194),Mn(256),Mn(225);function qn(t,e){const s=Xn();return(qn=function(t,e){return s[t-=260]})(t,e)}const Jn=qn;function Xn(){const t=["3384340TDszOB","extract","player","rate","890042Dmflzo","9SnByjz","filter","2053176TRvKZq","soundTouch","1463841QSqgzZ","7918816CNnoie","4YtrroV","884419KhdFSH","destroy","5989781YsZnqD","provide","tempAudioTimestamp","audio"];return(Xn=function(){return t})()}!function(t,e){const s=qn,i=t();for(;;)try{if(458504===parseInt(s(264))/1+-parseInt(s(274))/2+parseInt(s(261))/3+parseInt(s(263))/4*(-parseInt(s(270))/5)+parseInt(s(277))/6+parseInt(s(266))/7+-parseInt(s(262))/8*(parseInt(s(275))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xn);class Zn{constructor(t,e,s){const i=qn;this[i(272)]=t,this.audio=e,this[i(260)]=new Qn,this[i(260)].tempo=1,this[i(260)][i(273)]=1,this.filter=new Vn(s,this[i(260)])}destroy(){const t=qn;this[t(276)]&&(this[t(276)][t(265)](),this.filter=null),this[t(260)]&&(this[t(260)].destroy(),this[t(260)]=null)}setRate(t){const e=qn;t!==this[e(260)].rate&&(this[e(260)].tempo=t)}[Jn(267)](t){const e=Jn;let s=new Float32Array(2*t),i=this.filter[e(271)](s,t),r=new Float32Array(i),n=new Float32Array(i);for(let t=0;t{"init"===t.data.message?(this.audioBufferSize=t.data.audioBufferSize,this.start=t.data.start,this.channels=t.data.channels,this.state=0,this.offset=0,this.samplesArray=[]):"stop"===t.data.message?(this.state=0,this.start=!1,this.offset=0,this.samplesArray=[]):"data"===t.data.message?this.samplesArray.push(t.data.buffer):"zero"===t.data.message&&this.samplesArray.push({left:new Float32Array(this.audioBufferSize).fill(0),right:new Float32Array(this.audioBufferSize).fill(0)})}}process(t,e,s){const i=e[0][0],r=e[0][1];if(0===this.offset&&this.port.postMessage({message:"beep"}),0===this.state)this.state=1;else if(1===this.state&&this.samplesArray.length>=4)this.state=2;else if(2===this.state){const t=this.samplesArray[0];for(let e=0;e -","port",", diff is ","32nTgsuo","hasAudio"," outputBufferLength is ","gainNode","size","audioSyncVideoOption "," or playing is ","playbackRate","play and readyState: ","removeEventListener",",\n and ts list is ","right","_provide","_audioElementPlay success and volume is ","isPlayVod"," and currentVideoTimestamp is ","currentTime","forEach","processor","videoBufferDelay","initScriptNode","handleScriptNodeCallback"," more than ","scriptNodeInterval","92gHKSZQ"," > 1000 and update audioTimestamp from ","getAudioBufferSizeByType","playing","TAG_NAME",",\n speed up, playbackRate is ","audioTimestamp","video","calcPlaybackRateBySync","syncAudioAndVideoDiff","getAudioBufferSize","weiXinInAndroidAudioBufferSize","play"," and speed to 1","-100%","initProcessScriptNode","worklet","getAutoAudioEngineType","data","isPlaybackOnlyDecodeIFrame","defaultPlaybackRate","hasVideo","audioInfo","srcObject","stream","createBufferSource","AudioContext"," and audioTimestamp is ","push","duration","supportLockScreenPlayAudio",", and drop","supportAudioWorklet",",\n and video is ","tierDownToProcessScript"," less than diff :","click","workletProcessorNode is null","getBufferListTimestamp","channels","fill","524007DmXIPK","provide","postMessage","connect","debugLog","set","initWorkletScriptNode","debugError","_getAudioElementReadyState","getEngineType","hasInitScriptNode",",\n and bufferlist is ","script","setRate","33505YZYePB","isPlayStream"," , waiting and bufferList is ","438616wylnlU","removeChild","init","initIntervalScriptNode","absolute","getAudioSyncVideoDiff"," ,\n and audio is ","oneBufferDuration","getChannelData","workletUrl","parentNode","_audioElementPlay error","volume","_delayPlay","8614ABPqLR","_audioElementPlay","destination","93SkxIkq",", fill zero","isAudioPlayer"," and end","floor","audio","getBufferListDuration","bufferList length ","addModule","interval script node and bufferList is ","createBuffer","pause",", audioBufferSize: ","ended","events","play failed and add document click event listener","sampleRate","isMute","updatePlaybackRate","videoBufferMax","addEventListener","map","getRenderCurrentPts","bufferList","engine active , audioSyncVideoOption\n item.ts is ","clearWorkletUrlTimeout","$audio","bufferList size is ","play vod and firstBufferItem.ts is ","style","audioEngine","readyState","readyState is 0 and set _delayPlay to true","appendChild","workletProcessorNode","scriptStartTime","onaudioprocess","play has not init script node","audioSyncVideoOption more than diff :"];return(so=function(){return t})()}!function(t,e){const s=to,i=t();for(;;)try{if(230939===-parseInt(s(447))/1+-parseInt(s(461))/2*(-parseInt(s(464))/3)+-parseInt(s(389))/4*(-parseInt(s(444))/5)+parseInt(s(360))/6+-parseInt(s(504))/7*(parseInt(s(365))/8)+parseInt(s(430))/9*(parseInt(s(352))/10)+-parseInt(s(514))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(so);class io extends Rn{constructor(t){const e=to;super(t),this[e(393)]=e(415),this[e(409)]=1,this[e(372)]=1,this[e(508)]=null,this.processor=null,this.scriptNodeInterval=null,this[e(516)]=this[e(406)](),this.audioBufferSize=this.getAudioBufferSizeByType(),this[e(490)]=null,this[e(460)]=!1,this[e(526)]=[],this[e(456)]=null,this[e(489)]=null,this[e(515)][e(344)][e(419)]&&ts()&&(this.$audio=document.createElement(e(469)),Object.assign(this[e(490)][e(493)],{position:e(451),left:e(403),top:"-100%"}),t.$container?t.$container.appendChild(this[e(490)]):document.body[e(497)](this.$audio),this._bindAudioProxy(),this[e(515)][e(434)](e(415),"create audio element")),this[e(499)]=0,this.player[e(434)](e(415),e(449),e(354)+this[e(516)]+e(476)+this[e(359)])}async[eo(351)](){const t=eo;return await super.destroy(),this[t(456)]&&(URL[t(522)](this[t(456)]),this[t(456)]=null),this[t(489)]&&(clearTimeout(this[t(489)]),this[t(489)]=null),this[t(526)].length&&(this[t(526)][t(382)]((t=>{t()})),this[t(526)]=[]),this[t(490)]&&(this[t(490)][t(475)](),this[t(490)][t(412)]=null,this[t(490)][t(457)]&&this.$audio.parentNode[t(448)](this[t(490)]),this[t(490)]=null),this[t(383)]&&(this.processor[t(351)](),this[t(383)]=null),this[t(508)]&&(this[t(508)][t(351)](),this[t(508)]=null),this.scriptNodeInterval&&(clearInterval(this[t(388)]),this[t(388)]=null),this[t(409)]=1,this[t(372)]=1,this[t(499)]=0,this[t(359)]=0,this.engineType=vt.script,this[t(515)][t(434)](t(415),t(351)),!0}isAudioPlaying(){const t=eo;return this.$audio&&ii(this[t(490)][t(527)])&&ii(this[t(490)][t(477)])&&0!==this[t(490)][t(372)]&&0!==this[t(490)][t(495)]}_bindAudioProxy(){const t=eo,{proxy:e}=this[t(515)][t(478)],s=e(this[t(490)],t(528),(()=>{const e=t;this[e(515)][e(434)](e(415),e(528)),this[e(460)]&&this[e(462)]()}));this[t(526)][t(417)](s)}[eo(438)](){const t=eo;let e=0;return this[t(490)]&&(e=this.$audio[t(495)]),e}[eo(530)](){const t=eo;if(this[t(490)]){const e=this[t(438)]();if(this[t(515)][t(434)](t(415),t(373)+e),!(0!==e||xs()&&ts()))return this.player[t(525)]("AudioContext",t(496)),void(this[t(460)]=!0);this._audioElementPlay()}}[eo(462)](){const t=eo;this.$audio&&this[t(490)][t(401)]()[t(518)]((()=>{const e=t;this[e(460)]=!1,this.player[e(434)](e(415),e(378),this[e(490)][e(459)]),setTimeout((()=>{const t=e;!this[t(505)]()&&(this[t(515)][t(525)](t(415),t(347)),this[t(462)]())}),100),this.isAudioPlaying()&&(this.player[e(434)]("AudioContext",e(348)),document[e(374)](e(425),this[e(462)][e(520)](this)))}))[t(529)]((e=>{const s=t;this[s(515)][s(437)](s(415),s(458),e),this[s(515)].debugLog("AudioContext",s(479)),document[s(484)](s(425),this[s(462)][s(520)](this))}))}[eo(399)](){return this[eo(359)]}get oneBufferDuration(){const t=eo;return this.audioBufferSize/this.audioContext[t(480)]*1e3}get[eo(358)](){const t=eo;return this.engineType===vt[t(513)]}[eo(470)](){const t=eo;return this.bufferList[t(511)]*this[t(454)]}isMoreThanMinBufferDuration(){return this[eo(470)]()>=100*this.playbackRate}initProcessor(){const t=eo;this.processor=new Ln(this.player,this,this[t(411)].channels,this[t(359)]),this.rateProcessor=new Zn(this[t(515)],this,this[t(383)])}[eo(406)](){const t=eo;let e=this[t(515)][t(344)].audioEngine||vt[t(442)];const s=()=>{const s=t;e=xs()&&Xe()?vt.active:(ts()&&this.player[s(344)][s(419)]||Gs()&&this.supportAudioWorklet(),vt[s(442)])};return this.player[t(344)][t(494)]?this[t(515)][t(344)][t(494)]===vt[t(405)]&&Gs()&&this[t(421)]()?e=vt[t(442)]:this.player[t(344)][t(494)]===vt[t(513)]?e=vt[t(513)]:this[t(515)]._opt.audioEngine===vt[t(442)]?e=vt[t(442)]:s():s(),e}[eo(391)](){const t=eo,e=this[t(516)];this.player[t(344)][t(410)];const s=this[t(515)][t(344)][t(400)];return e===vt.worklet?1024:e===vt.active?s||4800:(t(442),1024)}[eo(421)](){const t=eo;return this[t(356)]&&this[t(356)].audioWorklet&&typeof this[t(356)].audioWorklet[t(472)]===t(353)}[eo(385)](){const t=eo;this[t(392)]=!0,this[t(440)]||(this.initProcessor(),this[t(516)]===vt[t(405)]?this[t(436)]():this[t(516)]===vt.active?this[t(450)]():this[t(516)]===vt[t(442)]&&this[t(404)](),this[t(530)]())}[eo(439)](){return this[eo(516)]}isPlaybackRateSpeed(){const t=eo;return this.playbackRate>this[t(409)]}initProcessScriptNode(){const t=eo,e=this[t(356)].createScriptProcessor(this.audioBufferSize,0,this.audioInfo[t(428)]);e[t(500)]=e=>{const s=e[t(524)];this.handleScriptNodeCallback(s)},e[t(433)](this.gainNode),this[t(531)]=e,this[t(368)].connect(this[t(355)]),this[t(490)]?this[t(490)].srcObject=this[t(355)][t(413)]:this.gainNode[t(433)](this.audioContext[t(463)]),this[t(440)]=!0}[eo(450)](){const t=eo;this[t(499)]=0;const e=1e3*this.audioBufferSize/this[t(356)].sampleRate;this.scriptNodeInterval=setInterval((()=>{const e=t;if(0===this[e(487)].length||ii(this[e(392)])||this[e(481)])return void(this.playing&&ii(this[e(481)])&&this[e(515)][e(434)](e(415),e(473)+this[e(487)][e(511)]+e(371)+this[e(392)]));const s=this.audioContext[e(414)](),i=this.audioContext[e(474)](this[e(411)].channels,this[e(359)],this.audioContext.sampleRate);this.handleScriptNodeCallback(i,(()=>{const t=e;this.scriptStartTime{const e=t;if(this[e(515)][e(506)]())return void this[e(515)].debugLog(e(415),e(345));if(!this[e(356)])return void this.player[e(525)](e(415),e(346));let s=[1];2===this[e(411)][e(428)]&&(s=[1,1]);try{this.workletProcessorNode=new AudioWorkletNode(this[e(356)],"worklet-processor",{numberOfOutputs:this[e(411)].channels,outputChannelCount:s})}catch(t){this.player.debugError("AudioContext","initWorkletScriptNode error",t),this[e(498)]=null,this[e(423)]()}this[e(498)]&&(this[e(498)][e(433)](this.gainNode),this[e(368)][e(433)](this[e(355)]),this[e(490)]?this[e(490)].srcObject=this[e(355)].stream:this[e(368)][e(433)](this[e(356)].destination),this[e(440)]=!0,this[e(498)].port[e(432)]({message:e(449),audioBufferSize:this[e(359)],start:!0,channels:this.audioInfo[e(428)]}),this.workletProcessorNode[e(363)][e(509)]=t=>{const s=e;this[s(498)]?this[s(356)]?this[s(386)](this[s(498)],null,!0):this.workletProcessorNode[s(363)][s(432)]({message:s(361)}):this[s(515)][s(437)]("AudioContext",s(426))})})),this[t(489)]=setTimeout((()=>{const e=t;URL[e(522)](this[e(456)]),this.workletUrl=null,this.clearWorkletUrlTimeout=null}),_)}[eo(423)](){const t=eo;this[t(515)].debugLog(t(415),t(423)),this[t(516)]=vt[t(442)],this[t(359)]=this[t(391)](),this[t(404)](),this[t(530)]()}[eo(386)](t,e){const s=eo;let i=arguments[s(511)]>2&&void 0!==arguments[2]&&arguments[2];e=e||Oe;let r,n=t[s(511)];i&&(r=t,n=this.audioBufferSize);const o=this[s(411)][s(428)];if(this[s(392)]&&this.isMoreThanMinBufferDuration()){if(this[s(515)]._opt,this.player[s(506)]())return this[s(515)].debugLog(this[s(393)],"handleScriptNodeCallback() player is destroyed or closed"),i?r[s(363)][s(432)]({message:"zero"}):this[s(343)](t,o),void e();if(this.player.openSyncAudioAndVideo()&&ei(this[s(515)].visibility)){this[s(397)]();const n=this[s(515)][s(452)]();if(n>this[s(515)][s(344)][s(398)]){const a=this[s(515)].getCurrentVideoAndAudio(),h=this[s(427)]();return this.player[s(525)](s(415),s(502)+n+s(422)+a[s(396)]+s(453)+a[s(469)]+s(446)+this[s(487)][s(511)]+s(375)+h[s(350)](",")+" and fill zero"),i?r.port[s(432)]({message:s(361)}):this[s(343)](t,o),void e()}}let a=this[s(377)](n);if(0===a[s(369)])return ii(this[s(515)][s(408)]())&&this[s(515)].debugWarn(s(415),s(491)+this[s(487)].length+s(367)+n+",and bufferItem.size is 0, fill zero"),i?r.port[s(432)]({message:s(361)}):this[s(343)](t,o),void e();a&&a.ts&&(this.player.audioTimestamp=a.ts),i?r[s(363)].postMessage({message:s(407),buffer:a}):this[s(343)](t,o,a),e()}else 0===this[s(487)][s(511)]&&this[s(392)]&&ii(this[s(481)])&&ii(this[s(515)][s(408)]())&&ii(this[s(515)][s(503)]())&&this[s(515)][s(525)]("AudioContext",s(507)+n+s(465)),i?r.port[s(432)]({message:s(361)}):this[s(343)](t,o),e()}fillScriptNodeOutputBuffer(t,e,s){const i=eo;if(1===e){const e=t[i(455)](0);s?0===s.size?e.fill(0):e[i(435)](s[i(523)]):e.fill(0)}else if(2===e){const e=t[i(455)](0),r=t[i(455)](1);s?0===s.size?(e[i(429)](0),r[i(429)](0)):(e[i(435)](s[i(523)]),r[i(435)](s[i(376)])):(e.fill(0),r[i(429)](0))}}[eo(401)](t,e){const s=eo;if(!this.isMute)if(this[s(440)]){if(this[s(366)]=!0,this.player[s(519)]=e,this.bufferList[s(417)]({buffer:t,ts:e}),this[s(515)][s(379)]()){const t=this.bufferList[0],e=this[s(515)][s(395)],i=Math[s(521)](t.ts-e);i>1e3&&(this[s(515)][s(395)]=t.ts,this[s(515)][s(434)](this[s(393)],s(492)+t.ts+s(416)+e+s(364)+i+s(390)+e+s(517)+t.ts))}ii(this[s(515)][s(357)]())&&ei(this[s(515)][s(445)]())&&this.calcPlaybackRateByBuffer()}else this[s(515)].debugWarn(s(415),s(501))}[eo(397)](){const t=eo;if(this[t(481)])return;if(!this[t(392)])return;const e=Math[t(468)](2e3/this.oneBufferDuration);if(this[t(487)][t(511)]>e)return this[t(515)][t(525)](t(415),t(471)+this.bufferList[t(511)]+" more than "+e+t(420)),void this[t(532)]();const s=this[t(515)][t(452)]();if(this[t(439)]()===vt[t(513)]){if(s<-this[t(515)][t(344)][t(398)]){this[t(515)].debugWarn("AudioContext","engine active , audioSyncVideoOption "+-this[t(515)]._opt.syncAudioAndVideoDiff+t(424)+s+t(441)+this[t(487)][t(511)]);const e=this[t(515)][t(486)]();for(;this[t(487)][t(511)]>0;){const s=this[t(487)][0],i=s.ts-e;if(i>-this[t(515)][t(344)].syncAudioAndVideoDiff/2){this[t(515)][t(395)]=s.ts,this[t(515)].debugLog(t(415),t(488)+s.ts+t(380)+e+t(364)+i+t(362)+this.player[t(344)][t(398)]/2+t(467));break}this[t(487)][t(510)](),this.player.audioTimestamp=s.ts}}}else{let e=this[t(372)];s<-this[t(515)]._opt[t(398)]?e===this[t(409)]&&(this[t(515)][t(434)]("AudioContext",t(370)+-this[t(515)][t(344)][t(398)]+" less than diff :"+s+t(394)+e+",\n and bufferList is "+this.bufferList[t(511)]),e=this[t(409)]+.2):s>-this[t(515)][t(344)].syncAudioAndVideoDiff/2&&e!==this[t(409)]&&(this[t(515)][t(434)](t(415),t(512)+s+t(362)+this[t(515)][t(344)][t(398)]/2+t(402)),e=this[t(409)]),this[t(482)](e)}}calcPlaybackRateByBuffer(){const t=eo;if(this.isMute)return;if(!this.playing)return;let e=this.playbackRate,s=1e3,i=5e3;this[t(466)]&&(s=this.player._opt[t(384)],i=this[t(515)]._opt[t(483)]);const r=Math[t(468)](s/this[t(454)]),n=Math.floor(i/this[t(454)]);if(this.bufferList[t(511)]>n)return this.player[t(525)](t(415),t(471)+this[t(487)][t(511)]+t(387)+n+", and drop"),void this[t(532)]();this[t(439)]()!==vt[t(513)]&&(this.bufferList[t(511)]>r?(e=this[t(409)]+.2,this[t(515)][t(434)](t(415),t(471)+this.bufferList[t(511)]+t(387)+r+", speed up, playbackRate is "+e)):this.bufferList[t(511)]t.ts))}}const ro=oo;function no(){const t=["Video","play audio error","26988YXZrKI","audioEnabled","resetInit","video","write","player","channels","clear","audioInfo","resume","play and this.awriter is null","815iwIrdb","hlsDecoder","getAudioBufferSize","stringify","isPlaybackRateSpeed","2569120dclMYT","emit","_opt","webrtc","encType","muted","encTypeCode","Audio","isMute","TAG_NAME","destroy","mute","2905888VAKlWE","debugWarn","init","setVolume","1382026tHQoCc","aliyunRtcRemoteStream","isPlaying","getAudioInfo","lastVolume","isAliyunRtc","$video","volume","35vBrtxP","_prevVolume","3445689ozKEqE","aliyunRtcDecoder","initScriptNodeDelay","awriter","updateAudioInfo","debugLog","sampleRate","$videoElement","initScriptNode","9721035cqdFUT","debugError","depth","2373786uAkVwj"];return(no=function(){return t})()}function oo(t,e){const s=no();return(oo=function(t,e){return s[t-=401]})(t,e)}!function(t,e){const s=oo,i=t();for(;;)try{if(904040===-parseInt(s(456))/1+parseInt(s(452))/2+-parseInt(s(409))/3+parseInt(s(424))/4*(-parseInt(s(435))/5)+parseInt(s(421))/6+parseInt(s(407))/7*(parseInt(s(440))/8)+parseInt(s(418))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(no);class ao extends n{constructor(t){const e=oo;super(),this[e(429)]=t,this[e(449)]=e(447),this[e(405)]=t.video.$videoElement,this[e(454)]=!1,this.player[e(442)].hlsUseCanvasRender&&(this[e(405)]=this[e(429)][e(436)].$videoElement),this.player._opt.webrtcUseCanvasRender&&(this[e(405)]=this[e(429)][e(443)][e(416)]),this[e(432)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""},this[e(408)]=null,this[e(429)][e(414)](e(447),e(454))}async[ro(450)](){const t=ro;return this[t(426)](),this.off(),this._prevVolume=null,this[t(429)].debugLog("Audio",t(450)),!0}[ro(426)](){const t=ro;this[t(454)]=!1,this[t(432)]={encTypeCode:"",encType:"",channels:"",sampleRate:"",depth:""}}[ro(402)](){return this[ro(432)]}[ro(413)](t){const e=ro;t[e(446)]&&(this[e(432)].encTypeCode=t[e(446)],this[e(432)][e(444)]=q[t.encTypeCode]),t.encType&&(this[e(432)][e(444)]=t[e(444)]),t.channels&&(this[e(432)][e(430)]=t.channels),t[e(415)]&&(this[e(432)][e(415)]=t[e(415)]),t[e(420)]&&(this[e(432)].depth=t.depth),this.audioInfo[e(415)]&&this.audioInfo[e(430)]&&this[e(432)][e(444)]&&!this[e(454)]&&(this[e(429)][e(414)]("Audio","audioInfo",JSON[e(438)](this[e(432)])),this.player[e(441)](O[e(432)],this[e(432)]),this.init=!0)}get[ro(401)](){return!0}get[ro(406)](){const t=ro;return ei(this[t(405)].muted)?0:this[t(405)][t(406)]}get[ro(448)](){const t=ro;return 0===this.$video[t(406)]||ei(this[t(405)].muted)}mute(t){const e=ro;this[e(455)](t?0:this[e(429)][e(403)]||.5)}[ro(455)](t){const e=ro;t=parseFloat(t),isNaN(t)||(this[e(405)].muted&&(this[e(405)][e(445)]=!1),t=ze(t,0,1),ts()&&(this.$video[e(445)]=0===t),this.player[e(404)]()&&this[e(429)][e(410)]&&this[e(429)].aliyunRtcDecoder[e(457)]&&(this[e(429)].aliyunRtcDecoder[e(457)].muted=0===t),null!==this[e(408)]&&this[e(408)]===t||(null===this._prevVolume?this[e(429)][e(441)](O[e(451)],0===t):0===this._prevVolume&&t>0?this.player[e(441)](O.mute,!1):this[e(408)]>0&&0===t&&this[e(429)][e(441)](O[e(451)],!0),this[e(405)].volume=t,this[e(429)][e(441)](O.volumechange,this[e(429)].volume),this.player[e(441)](O[e(406)],this[e(429)].volume),this[e(408)]=t))}[ro(431)](){}play(t,e){const s=ro,i=this.player[s(427)][s(412)];if(i)if(t.close)try{i[s(428)](t),Ws(t)}catch(t){this[s(429)].debugError("Video",s(423),t)}else try{const r=function(t,e){const s=Fe,i={...e,format:s(451),data:new Float32Array(0)};if(i.numberOfFrames=t[0][s(507)],1===t.length)i[s(752)]=new Float32Array(t[0]);else if(2===t[s(507)]){const e=new Float32Array(t[0][s(507)]+t[1][s(507)]);e.set(t[0],0),e[s(532)](t[1],t[0][s(507)]),i[s(752)]=e}return new AudioData(i)}(t,{sampleRate:Gt,numberOfChannels:this[s(432)][s(430)],timestamp:1e3*e});i.write(r),Ws(r)}catch(t){this[s(429)][s(419)](s(422),s(423),t)}else this[s(429)][s(453)](s(447),s(434))}pause(){}[ro(433)](){}getEngineType(){return"audio"}[ro(439)](){return!1}setRate(t){}[ro(417)](){}[ro(411)](){}[ro(425)](){this.mute(!1)}[ro(437)](){return 2048}}const ho=lo;function co(){const t=["279660gNxYVT","destroy","_opt","resume","TAG_NAME","playback","setRate","defaultPlaybackRate","playVodSeekEnd","pause","clear","27gtshBg","459054IPKmGk","initScriptNode","43124IoctRn","play, isSeeking, return","play","763HXdule","playbackDelayTime","375340LdtSoB","initScriptNodeDelay","init","65vKvLMZ","playbackPause","listenSeeking and update audioTimestamp to","isPlaybackPauseClearCache","listenSeekEnd","listenPlaybackPause","731217ZwacLy","player","listenPlayVodPause","isPlayback","rateProcessor","debugLog","215980WVvvdf","bind","delayTimeout","AudioPlaybackLoader","23424ZgIWsY","isPlayVod","updatePlaybackRate"];return(co=function(){return t})()}function lo(t,e){const s=co();return(lo=function(t,e){return s[t-=380]})(t,e)}!function(t,e){const s=lo,i=t();for(;;)try{if(179867===-parseInt(s(392))/1+parseInt(s(418))/2+-parseInt(s(386))/3+-parseInt(s(413))/4*(-parseInt(s(380))/5)+parseInt(s(411))/6+-parseInt(s(416))/7*(-parseInt(s(396))/8)+-parseInt(s(410))/9*(parseInt(s(399))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(co);class uo extends io{constructor(t){const e=lo;super(t),this[e(394)]=null,this[e(403)]=this[e(387)][e(389)]()?e(395):"AudioPlayVodLoader",this[e(387)].isPlayback()?this[e(387)].on(O[e(381)],this[e(385)].bind(this)):this[e(387)][e(397)]()&&(this.player.on(O.playVodPause,this[e(388)].bind(this)),this.player.on(O[e(407)],this[e(384)][e(393)](this))),this[e(387)][e(391)](this[e(403)],e(420))}async[ho(400)](){const t=ho;return this[t(394)]&&(clearTimeout(this[t(394)]),this[t(394)]=null),await super[t(400)](),this[t(387)][t(391)](this[t(403)],t(400)),!0}[ho(385)](t){const e=ho;t?(this.pause(),this[e(387)][e(389)]()&&this[e(387)][e(404)][e(383)]&&this[e(409)]()):this.resume()}listenPlayVodPause(t){const e=ho;t?this[e(408)]():this[e(402)]()}listenSeekEnd(t){const e=ho;t*=1e3,this[e(387)][e(391)](this[e(403)],e(382),t),this[e(387)].audioTimestamp=t,this[e(409)]()}[ho(419)](){const t=ho,e=this[t(387)][t(401)][t(417)];e>0?this[t(394)]=setTimeout((()=>{this.initScriptNode()}),e):this[t(412)]()}[ho(405)](t){const e=ho;t!==this[e(406)]&&this[e(390)]&&(this[e(387)][e(391)](this[e(403)],e(405),t),this[e(406)]=t,this[e(398)](t))}play(t,e){const s=ho;this[s(387)][s(397)]()&&this[s(387)].playVod.isSeeking()?this[s(387)].debugLog(this[s(403)],s(414)):super[s(415)](t,e)}}var po=mo;function fo(){var t=["pause","6548770BoduKx","init","clear","992990FfNTBI","resume","4482pWkiGw","TAG_NAME","9VqUwGy","5857512yYjyEd","destroy","219emtCKO","2170aTzmzJ","debugLog","4minzgt","624zHWePG","playing","2394210CKlpkp","play","36908113LxFWEL","player"];return(fo=function(){return t})()}function mo(t,e){var s=fo();return(mo=function(t,e){return s[t-=326]})(t,e)}!function(t,e){for(var s=mo,i=t();;)try{if(448530===-parseInt(s(339))/1*(parseInt(s(334))/2)+-parseInt(s(345))/3+parseInt(s(342))/4*(-parseInt(s(332))/5)+parseInt(s(343))/6*(-parseInt(s(340))/7)+-parseInt(s(337))/8+-parseInt(s(336))/9*(parseInt(s(329))/10)+parseInt(s(326))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fo);class go extends io{constructor(t){var e=mo;super(t),this[e(335)]="AudioPlayerLoader",this.isAudioPlayer=!0,this.player[e(341)](this[e(335)],e(330))}async[po(338)](){var t=po;return await super[t(338)](),this[t(327)][t(341)](this[t(335)],t(338)),!0}play(t,e){var s=po;ii(this[s(344)])||super[s(346)](t,e)}[po(328)](){var t=po;this[t(327)][t(341)](this.TAG_NAME,t(328)),this.playing=!1,this[t(331)]()}[po(333)](){var t=po;this.player.debugLog(this.TAG_NAME,t(333)),this[t(344)]=!0}}const Ao=yo;function yo(t,e){const s=bo();return(yo=function(t,e){return s[t-=405]})(t,e)}function bo(){const t=["resume","init","_handleClickPlay","47831lBpfJI","7720430ylxVZY","destroy","isPlaying","1188687MpXWMi","player","volume","_handleDocumentClickPlay","TAG_NAME","addEventListener","_prevVolume","510uKbPLY","pause","resetInit","updateStats","1217440EoEwDQ","srcObject","off","bindStream","eventsDestroy","getEngineType","debugWarn","push","mute","setVolume","debugLog","emit","1592MUCOtO","length","audio play error","muted","volumechange","lastVolume","isMute","click","removeEventListener","_initAudioEvents","play","27QZnvNO","$video","984CEfvfz","timeStamp","3064980ZLaWNK","3850892cmNZdm"];return(bo=function(){return t})()}!function(t,e){const s=yo,i=t();for(;;)try{if(590875===-parseInt(s(422))/1*(parseInt(s(438))/2)+-parseInt(s(415))/3+parseInt(s(407))/4+-parseInt(s(406))/5+parseInt(s(451))/6*(-parseInt(s(411))/7)+-parseInt(s(426))/8+parseInt(s(449))/9*(parseInt(s(412))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bo);class vo extends n{constructor(t){const e=yo;super(),this[e(419)]="AudioWebrtcPlayerLoader",this.$video=new Audio,this.player=t,this.init=!1,this[e(421)]=null,this[e(430)]=[],this._handleDocumentClickPlay=this[e(410)].bind(this),this._initAudioEvents(),this[e(416)][e(436)](this.TAG_NAME,e(409))}async destroy(){const t=yo;return this[t(424)](),this[t(428)](),this.eventsDestroy[t(439)]&&(this[t(430)].forEach((t=>t())),this[t(430)]=[]),this[t(421)]=null,this[t(450)]&&(this.$video[t(423)](),this[t(450)][t(427)]=null,this.$video=null),this[t(416)][t(436)](this.TAG_NAME,t(413)),!0}[Ao(447)](){const t=Ao,{proxy:e}=this[t(416)].events,s=e(this.$video,"timeupdate",(e=>{const s=t,i=parseInt(e[s(405)],10);this.player.handleRender(),this[s(416)][s(425)]({ts:i})}));this[t(430)][t(433)](s)}[Ao(424)](){this[Ao(409)]=!1}[Ao(410)](){const t=Ao;this.$video&&(this.$video[t(448)](),document[t(446)](t(445),this[t(418)]))}[Ao(429)](t){const e=Ao;this[e(450)][e(427)]=t,this[e(450)][e(417)]=1,this[e(450)][e(448)]().catch((t=>{const s=e;this[s(416)][s(432)](this.TAG_NAME,s(440),t),document[s(420)]("click",this[s(418)])}))}[Ao(431)](){return"audio"}get[Ao(414)](){return!0}get[Ao(417)](){return ei(this.$video.muted)?0:this.$video.volume}get[Ao(444)](){const t=Ao;return 0===this[t(450)][t(417)]||ei(this[t(450)][t(441)])}[Ao(434)](t){const e=Ao;this.setVolume(t?0:this[e(416)][e(443)]||.5)}[Ao(435)](t){const e=Ao;t=parseFloat(t),isNaN(t)||null===this[e(450)]||(this[e(450)][e(441)]&&(this[e(450)][e(441)]=!1),t=ze(t,0,1),ts()&&(this[e(450)].muted=0===t),null!==this[e(421)]&&this[e(421)]===t||(null===this._prevVolume?this.player[e(437)](O[e(434)],0===t):0===this[e(421)]&&t>0?this[e(416)][e(437)](O.mute,!1):this._prevVolume>0&&0===t&&this[e(416)].emit(O.mute,!0),this[e(450)][e(417)]=t,this[e(416)].emit(O[e(442)],this.player.volume),this[e(416)][e(437)](O.volume,this[e(416)][e(417)]),this[e(421)]=t))}[Ao(423)](){}[Ao(408)](){}audioEnabled(){this[Ao(434)](!1)}}function wo(){const t=["playType","7086210xWARVt","105240rsZpoY","10448480XFwLNe","70lHwmWQ","20391BIjnga","playerAudio","isWebrtcH265","1269205QJXpKx","useWasm","5329772qlUYCA","supportHls265","playbackTF","wasmPlayAudioUseVideoRender","wcsDecodeAudio","4BVwpTN","isHls","isWebrtc","_opt","9BhLZPS","useMSE","useWCS","mseDecodeAudio","2696368QCFuWC"];return(wo=function(){return t})()}function So(t,e){const s=wo();return(So=function(t,e){return s[t-=303]})(t,e)}!function(t,e){const s=So,i=t();for(;;)try{if(637653===-parseInt(s(326))/1+parseInt(s(304))/2*(-parseInt(s(305))/3)+-parseInt(s(315))/4*(parseInt(s(308))/5)+parseInt(s(325))/6+parseInt(s(310))/7+parseInt(s(323))/8*(parseInt(s(319))/9)+-parseInt(s(303))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(wo);class Eo{constructor(t){const e=So;return new(Eo.getLoaderFactory(t[e(318)]))(t)}static getLoaderFactory(t){const e=So;return t[e(324)]===u[e(312)]||t.playType===u.playVod?t[e(320)]&&t[e(322)]||t[e(321)]&&t[e(314)]?ao:uo:t[e(324)]===u[e(306)]?t[e(317)]?vo:go:t[e(316)]&&ii(t[e(311)])||t.isWebrtc&&ii(t[e(307)])||t[e(320)]&&t.mseDecodeAudio||t.isAliyunRtc||t[e(321)]&&t[e(314)]||t[e(309)]&&t[e(313)]?ao:io}}const Io=To;function To(t,e){const s=_o();return(To=function(t,e){return s[t-=448]})(t,e)}!function(t,e){const s=To,i=t();for(;;)try{if(429341===parseInt(s(513))/1+-parseInt(s(471))/2+parseInt(s(507))/3*(-parseInt(s(476))/4)+-parseInt(s(488))/5+parseInt(s(496))/6+-parseInt(s(485))/7*(parseInt(s(519))/8)+parseInt(s(475))/9*(parseInt(s(524))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(_o);class ko extends n{constructor(t){const e=To;super(),this[e(502)]=t,this[e(464)]=e(452),this[e(451)]=!1,this[e(487)]=!1,this[e(477)]=xt.idle,this[e(483)]=null,this[e(474)]=new AbortController,this.streamRate=Ke((s=>{const i=e;t[i(463)](O[i(462)],(s/1024).toFixed(2))})),this[e(479)]=null,t[e(493)](this[e(464)],e(465))}async[Io(501)](){const t=Io;return this[t(461)](),await this[t(473)](),this[t(450)](),this[t(477)]=xt[t(520)],this[t(506)]=null,this[t(459)](),this[t(502)][t(493)](this[t(464)],t(501)),!0}[Io(514)](){const t=Io;this[t(459)](),this[t(479)]=setInterval((()=>{const e=t;this[e(506)]&&this[e(506)](0)}),1e3)}stopStreamRateInterval(){const t=Io;this[t(479)]&&(clearInterval(this[t(479)]),this.streamRateInterval=null)}async[Io(473)](){const t=Io;if(this[t(483)]&&ii(this[t(483)][t(460)]))try{await this.writableStream[t(508)](),this.writableStream=null,this[t(502)][t(493)](this.TAG_NAME,t(480))}catch(e){this[t(502)][t(493)](this[t(464)],"destroy and writableStream.close()",e)}}[Io(499)](t){const e=Io;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{demux:i}=this[e(502)];this.player[e(500)][e(458)]=Ve();const r=Object[e(509)]({signal:this[e(474)][e(503)]},{headers:s.headers||{}});fetch(t,r)[e(478)]((t=>{const s=e;if(this[s(487)])return this._status=xt.idle,void t[s(510)][s(494)]();if(!function(t){const e=Fe;return t.ok&&t[e(483)]>=200&&t[e(483)]<=299}(t))return this[s(502)][s(517)](this.TAG_NAME,s(454)+t[s(469)]+" and ok is "+t.ok+s(515)),this[s(461)](),void this[s(463)](N[s(495)],"fetch response status is "+t[s(469)]+" and ok is "+t.ok);if(this[s(463)](O[s(512)]),this[s(514)](),typeof WritableStream!==Fe(720))this[s(502)][s(493)](this[s(464)],"use WritableStream() to read stream"),this.writableStream=new WritableStream({write:t=>{const e=s;return this[e(474)]&&this[e(474)][e(503)]&&this[e(474)][e(503)][e(490)]?(this[e(502)][e(493)](this[e(464)],e(468)),void(this._status=xt[e(504)])):ei(this._requestAbort)?(this.player[e(493)](this[e(464)],e(456)),this[e(477)]=xt.complete,void this[e(461)]()):typeof t!==e(516)?(this[e(477)]=xt[e(497)],this[e(506)]&&this[e(506)](t.byteLength),i[e(505)](t)):void this.player.debugWarn(this[e(464)],e(449)+t+e(481))},close:()=>{const t=s;this[t(477)]=xt[t(504)],i[t(508)](),this.emit(O.streamEnd,t(492))},abort:t=>{const e=s;if(this[e(474)]&&this[e(474)].signal&&this[e(474)][e(503)].aborted)return this[e(502)][e(493)](this[e(464)],"writableStream.abort() and this.abortController.signal.aborted so return"),void(this[e(477)]=xt[e(504)]);i[e(508)]();const r=t[e(491)]();-1===r[e(522)](gt.abortError)&&-1===r.indexOf(gt.abortError2)&&t[e(448)]!==gt[e(461)]&&(this[e(461)](),this[e(463)](N.fetchError,t))}}),t[s(510)][s(457)](this[s(483)])[s(511)]((t=>{const e=s;t[e(448)]!==e(466)&&this[e(502)][e(493)](this[e(464)],e(523),t[e(448)],t[e(491)]())}));else{this[s(502)][s(493)](this[s(464)],"not support WritableStream and use getReader() to read stream");const e=t.body[s(486)](),r=()=>{const t=s;e[t(521)]().then((e=>{const s=t;let{done:n,value:o}=e;return n?(this._status=xt.complete,i[s(508)](),void this[s(463)](O[s(472)],"fetch done")):this[s(474)]&&this[s(474)].signal&&this[s(474)][s(503)].aborted?(this.player[s(493)](this[s(464)],s(482)),void(this[s(477)]=xt.complete)):ei(this._requestAbort)?(this[s(502)][s(493)](this.TAG_NAME,"reader.read() and this._requestAbort is true so return"),this[s(477)]=xt[s(504)],void this.abort()):void(typeof o!==s(516)?(this[s(477)]=xt[s(497)],this[s(506)]&&this.streamRate(o.byteLength),i[s(505)](o),r()):this[s(502)][s(453)](this[s(464)],s(518)+o+s(481)))}))[t(511)]((e=>{const s=t;if(this[s(474)]&&this[s(474)][s(503)]&&this[s(474)].signal[s(490)])return this[s(502)].debugLog(this[s(464)],s(489)),void(this[s(477)]=xt[s(504)]);i.close();const r=e.toString();-1===r.indexOf(gt[s(467)])&&-1===r[s(522)](gt.abortError2)&&e[s(448)]!==gt.abort&&(this.abort(),this[s(463)](N.fetchError,e))}))};r()}}))[e(511)]((t=>{const s=e;this[s(474)]&&this[s(474)][s(503)]&&this[s(474)][s(503)].aborted||"AbortError"!==t[s(448)]&&(i[s(508)](),this[s(461)](),this.emit(N[s(495)],t))}))}[Io(461)](){const t=Io;if(this._requestAbort=!0,this[t(474)])try{this[t(474)].abort(),this[t(474)]=null,this[t(502)][t(493)](this[t(464)],t(470))}catch(e){this.abortController=null,this[t(502)].debugLog(this[t(464)],t(484),e)}}[Io(455)](){return d[Io(498)]}}function _o(){const t=["status","abortController.abort() success","1031764EOQEOH","streamEnd","_closeWritableStream","abortController","144711HWbrKA","24DzflYZ","_status","then","streamRateInterval","close writableStream success",'" string so return',"reader.read() and this.abortController.signal.aborted so return","writableStream","abortController.abort() error","18347GFnISn","getReader","_requestAbort","3736560MeQGDZ","reader.read().catch() and this.abortController.signal.aborted so return","aborted","toString","fetch done","debugLog","cancel","fetchError","4073712ddwsbd","buffering","fetch","fetchStream","_times","destroy","player","signal","complete","dispatch","streamRate","15846JRAqYh","close","assign","body","catch","streamSuccess","844005oRQRan","startStreamRateInterval"," and emit error and next abort()","string","debugError",'reader.read() and value is "',"1496ZQxIcu","idle","read","indexOf","res.body.pipeTo() error","430UBUNJe","name",'writableStream.write() and value is "',"off","playing","FetchStream","debugWarn","fetch response status is ","getStreamType","writableStream.write() and this._requestAbort is true so return","pipeTo","streamStart","stopStreamRateInterval","locked","abort","kBps","emit","TAG_NAME","init","AbortError","abortError","writableStream.write() and this.abortController.signal.aborted so return"];return(_o=function(){return t})()}function Co(){function t(t){return!0===t||"true"===t}const e="The user aborted a request",s="AbortError",i="AbortError",r="fetch",n="destroy",o="destroyEnd",a="buffer",h="fetchError",c="fetchClose",l="fetchSuccess",d="idle",u="buffering",p="complete";let f=new class{constructor(){this._requestAbort=!1,this._status=d,this.writableStream=null,this.isChrome=!1,this.abortController=new AbortController}destroy(){var t;this.abort(),this.writableStream&&(!1===(t=this.writableStream.locked)||"false"===t)&&this.writableStream.close().catch((t=>{})),this.writableStream=null,this._status=d}fetchStream(r){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=Object.assign({signal:this.abortController.signal},{headers:n.headers||{}});fetch(r,o).then((r=>{if(this._requestAbort)return this._status=d,void r.body.cancel();if(!function(t){return t.ok&&t.status>=200&&t.status<=299}(r))return this.abort(),void postMessage({cmd:h,message:`fetch response status is ${r.status} and ok is ${r.ok}`});if(postMessage({cmd:l}),"undefined"!=typeof WritableStream)this.writableStream=new WritableStream({write:e=>{if(!(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted))return t(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof e&&(this._status=u,postMessage({cmd:a,buffer:e},[e.buffer])));this._status=p},close:()=>{this._status=p,postMessage({cmd:c})},abort:t=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=t.toString();-1===r.indexOf(e)&&-1===r.indexOf(s)&&t.name!==i&&(this.abort(),postMessage({cmd:h,message:t.toString()}))}}),r.body.pipeTo(this.writableStream).catch((t=>{}));else{const n=r.body.getReader(),o=()=>{n.read().then((e=>{let{done:s,value:i}=e;return s?(this._status=p,void postMessage({cmd:c})):this.abortController&&this.abortController.signal&&this.abortController.signal.aborted?void(this._status=p):t(this._requestAbort)?(this._status=p,void this.abort()):void("string"!=typeof i&&(this._status=u,postMessage({cmd:a,buffer:i},[i.buffer]),o()))})).catch((t=>{if(this.abortController&&this.abortController.signal&&this.abortController.signal.aborted)return void(this._status=p);const r=t.toString();-1===r.indexOf(e)&&-1===r.indexOf(s)&&t.name!==i&&(this.abort(),postMessage({cmd:h,message:t.toString()}))}))};o()}})).catch((t=>{this.abortController&&this.abortController.signal&&this.abortController.signal.aborted||"AbortError"!==t.name&&(this.abort(),postMessage({cmd:h,message:t.toString()}))}))}abort(){if(this._requestAbort=!0,this.abortController)try{this.abortController.abort(),this.abortController=null}catch(t){this.abortController=null}}};self.onmessage=e=>{const s=e.data;switch(s.cmd){case r:f.isChrome=t(s.isChrome),f.fetchStream(s.url,JSON.parse(s.options));break;case n:f.destroy(),f=null,postMessage({cmd:o})}}}const Ro=Do;function Do(t,e){const s=xo();return(Do=function(t,e){return s[t-=438]})(t,e)}function xo(){const t=["player","_initFetchWorker","7440mHQZGm","playing","584014XthQir","init","decoderWorkerCloseTimeout","3MKgApE","kBps","onmessage","destroy","workerUrl","toFixed","debugLog","URL","801xwfWpN","postMessage","send destroy","fetchWorker","409893AbpVDs","7587490uBaAWT","TAG_NAME","1434NHHAyy","_destroy","debugWarn","streamRateInterval","1072zwrtax","streamRate","1526niYWsq","send close but not response and destroy directly","workerClearTimeout","58795YNWqdF","26872CFECQI","destroyResolve"];return(xo=function(){return t})()}!function(t,e){const s=Do,i=t();for(;;)try{if(410865===parseInt(s(460))/1+-parseInt(s(467))/2*(parseInt(s(470))/3)+parseInt(s(455))/4*(-parseInt(s(465))/5)+-parseInt(s(451))/6*(parseInt(s(457))/7)+parseInt(s(461))/8*(parseInt(s(444))/9)+parseInt(s(449))/10+parseInt(s(448))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(xo);class Lo extends n{constructor(t){const e=Do;super(),this[e(450)]="FetchStreamWorker",this.player=t,this[e(466)]=!1,this.fetchWorker=null,this[e(459)]=null,this[e(440)]=null,this[e(462)]=null,this.decoderWorkerCloseTimeout=null,this.streamRate=Ke((s=>{const i=e;t.emit(O[i(471)],(s/1024)[i(441)](2))})),this[e(454)]=null,this[e(464)](),t[e(442)](this[e(450)],e(468))}[Ro(439)](){return new Promise(((t,e)=>{const s=Do;this.fetchWorker?(this.player[s(442)](this[s(450)],s(446)),this.fetchWorker[s(445)]({cmd:B[s(439)]}),this[s(462)]=t,this[s(469)]=setTimeout((()=>{const e=s;this[e(463)][e(453)](this[e(450)],e(458)),this[e(469)]&&(clearTimeout(this[e(469)]),this.decoderWorkerCloseTimeout=null),this._destroy(),setTimeout((()=>{t()}),0)}),2e3)):(this[s(452)](),setTimeout((()=>{t()}),0))}))}[Ro(452)](){const t=Ro;this.off(),this[t(469)]&&(clearTimeout(this[t(469)]),this.decoderWorkerCloseTimeout=null),this[t(440)]&&(window[t(443)].revokeObjectURL(this[t(440)]),this[t(440)]=null),this[t(459)]&&(clearTimeout(this[t(459)]),this[t(459)]=null),this._stopStreamRateInterval(),this[t(456)]=null,this[t(447)]&&(this[t(447)].terminate(),this[t(447)][t(438)]=null,this[t(447)]=null),this.destroyResolve&&(this[t(462)](),this[t(462)]=null),this[t(463)][t(442)](this[t(450)],t(439))}[Ro(464)](){let t=Vs(Co);const e=new Worker(t);this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),_),e.onmessage=t=>{const{demux:e}=this.player,s=t.data;switch(s.cmd){case B.buffer:this.streamRate&&this.streamRate(s.buffer.byteLength),e.dispatch(s.buffer);break;case B.fetchSuccess:this.emit(O.streamSuccess),this._startStreamRateInterval();break;case B.fetchClose:e.close(),this.emit(O.streamEnd,"fetch done");break;case B.fetchError:e.close(),this.emit(N.fetchError,s.message);break;case B.destroyEnd:this._destroy()}},this.fetchWorker=e}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}fetchStream(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.player._times.streamStart=Ve(),this.fetchWorker.postMessage({cmd:B.fetch,url:t,isChrome:Ls(),options:JSON.stringify(e)})}getStreamType(){return d.fetch}}const Po=Mo;function Mo(t,e){const s=Bo();return(Mo=function(t,e){return s[t-=399]})(t,e)}function Bo(){const t=["socket open",'" string so return',"player","261kXeImu","streamRateInterval","socketDestroyFnList","data","off","socket close and requestAbort is true","socket error","socket close and status is error, so return","socket","_handleMessage","code","byteLength","603808DmJLFp","notConnect","isDestroyedOrClosed","websocket user aborted","arraybuffer","sendMessage","websocket send message socket is null","_createWebSocket","websocket error","websocketClose","1nFjYfL","startStreamRateInterval","streamSuccess","toFixed","protocols","message","streamStart","stopStreamRateInterval","debugError","163446ZMYbGt","requestAbort","6763841psUYoL","error","init","onmessage","kBps","streamEnd","socket close and code is ","dispatch","438664mquRhY","Client disconnecting","emit","send","onerror","string","wsUrl","7260618yArbsD","binaryType","socket error:","destroy","debugWarn","debugLog","open","websocketOpen","_closeWebSocket","80408mKPihC","streamRate","_closeWebSocket() socket is null or socket status is ","readyState","TAG_NAME","3916865hsYAZV","forEach",'websocket handle message message is "',"close","onopen","_times","websocket send message error and socket status is ","socketStatus"];return(Bo=function(){return t})()}!function(t,e){const s=Mo,i=t();for(;;)try{if(830468===parseInt(s(465))/1*(parseInt(s(455))/2)+-parseInt(s(401))/3+parseInt(s(427))/4+-parseInt(s(432))/5+-parseInt(s(418))/6+parseInt(s(403))/7+parseInt(s(411))/8*(parseInt(s(443))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Bo);class Fo extends n{constructor(t){const e=Mo;super(),this[e(442)]=t,this[e(431)]="WebsocketStream",this[e(451)]=null,this[e(439)]=V.notConnect,this[e(417)]=null,this[e(402)]=!1,this[e(445)]=[],this[e(428)]=Ke((s=>{const i=e;t[i(413)](O[i(407)],(s/1024)[i(468)](2))})),this.streamRateInterval=null,t[e(423)](this[e(431)],e(405))}async[Po(421)](){const t=Po;this[t(426)](),this[t(399)](),this.wsUrl=null,this[t(447)](),this[t(442)][t(423)](this[t(431)],"destroy")}startStreamRateInterval(){this.stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{const t=Mo;this.streamRate&&this[t(428)](0)}),1e3)}stopStreamRateInterval(){const t=Po;this[t(444)]&&(clearInterval(this[t(444)]),this.streamRateInterval=null)}_createWebSocket(t){const e=Po,s=this.player,{events:{proxy:i},demux:r}=s,n=t[e(469)]||[];this[e(451)]=new WebSocket(this[e(417)],n),this[e(451)][e(419)]=e(459);const o=i(this[e(451)],e(424),(()=>{const t=e;this[t(442)][t(423)](this[t(431)],t(440)),this[t(439)]=V[t(424)],this[t(413)](O[t(467)]),this[t(442)][t(413)](O[t(425)]),this[t(466)]()})),a=i(this[e(451)],e(470),(t=>{const s=e;typeof t[s(446)]!==s(416)?(this[s(428)]&&this[s(428)](t.data[s(454)]),this[s(452)](t[s(446)])):this[s(442)].debugWarn(this[s(431)],s(434)+t.data+s(441))})),h=i(this[e(451)],e(435),(t=>{const s=e;if(!this[s(442)].isDestroyedOrClosed())return ei(this.requestAbort)?(this.requestAbort=!1,void this.player[s(423)](this[s(431)],s(448))):void(this[s(439)]!==V[s(404)]?(this[s(442)][s(423)](this.TAG_NAME,s(409)+t.code),1006===t[s(453)]&&this.player[s(400)](this[s(431)],"socket close abnormally and code is "+t[s(453)]),r.close(),this[s(439)]=V.close,this[s(442)][s(413)](O[s(464)],t[s(453)]),this[s(413)](O[s(408)],t[s(453)])):this[s(442)][s(423)](this[s(431)],s(450)))})),c=i(this[e(451)],e(404),(t=>{const s=e;if(this.player[s(457)]())return;if(ei(this.requestAbort))return this[s(402)]=!1,void this[s(442)][s(423)](this.TAG_NAME,s(448));this[s(442)][s(400)](this[s(431)],s(449),t),this[s(439)]=V[s(404)];const i=t.isTrusted?s(458):s(463);this[s(413)](N.websocketError,i),r[s(435)](),this[s(442)].debugLog(this[s(431)],s(420),i)}));this[e(445)].push(o,a,h,c)}[Po(426)](){const t=Po;!this.socket||0!==this[t(451)][t(430)]&&1!==this[t(451)][t(430)]?this[t(451)]&&this[t(442)].debugLog(this[t(431)],t(429)+(this.socket&&this[t(451)].readyState)):(this[t(402)]=!0,this[t(451)][t(435)](1e3,t(412))),this[t(445)][t(433)]((t=>t())),this[t(451)][t(436)]=null,this[t(451)][t(406)]=null,this.socket.onclose=null,this.socket[t(415)]=null,this.socket=null,this[t(439)]=V[t(456)],this.streamRate=null}[Po(452)](t){const e=Po,{demux:s}=this[e(442)];s?s[e(410)](t):this.player[e(422)](this.TAG_NAME,"websocket handle message demux is null so return")}fetchStream(t,e){const s=Po;this.player[s(437)][s(471)]=Ve(),this[s(417)]=t,this[s(462)](e)}[Po(460)](t){const e=Po;this[e(451)]?this[e(439)]===V.open?this[e(451)][e(414)](t):this[e(442)].debugError(this[e(431)],e(438)+this[e(439)]):this.player[e(400)](this[e(431)],e(461))}getStreamType(){return d.websocket}}function Oo(){function t(t){return!0===t||"true"===t}const e={fetch:"fetch",sendMessage:"sendMessage",destroy:"destroy",destroyEnd:"destroyEnd",buffer:"buffer",websocketError:"websocketError",websocketClose:"websocketClose",websocketOpen:"websocketOpen"};let s=new class{constructor(){this.socket=null,this.wsUrl=null,this.requestAbort=!1}destroy(){!this.socket||0!==this.socket.readyState&&1!==this.socket.readyState||(this.requestAbort=!0,this.socket.close(1e3,"Client disconnecting")),this.socket.onopen=null,this.socket.onclose=null,this.socket.onerror=null,this.socket.onmessage=null,this.socket=null}fetchStream(t,e){this.wsUrl=t,this._createWebSocket(e)}sendMessage(t){this.socket&&1===this.socket.readyState&&this.socket.send(t)}_createWebSocket(t){const e=t.protocols||[];this.socket=new WebSocket(this.wsUrl,e),this.socket.binaryType="arraybuffer",this.socket.onopen=this._handleWebsocketOpen.bind(this),this.socket.onclose=this._handleWebsocketClose.bind(this),this.socket.onerror=this._handleWebsocketError.bind(this),this.socket.onmessage=this._handleWebsocketMessage.bind(this)}_handleWebsocketOpen(){postMessage({cmd:e.websocketOpen})}_handleWebsocketClose(s){t(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:e.websocketClose,code:s.code})}_handleWebsocketError(s){t(this.requestAbort)?this.requestAbort=!1:postMessage({cmd:e.websocketError,isTrusted:s.isTrusted})}_handleWebsocketMessage(t){if("string"==typeof t.data)return;const s=new Uint8Array(t.data);postMessage({cmd:e.buffer,buffer:s},[s.buffer])}};self.onmessage=t=>{const i=t.data;switch(i.cmd){case e.fetch:s.fetchStream(i.url,i.options);break;case e.destroy:s.destroy(),s=null,postMessage({cmd:e.destroyEnd});break;case e.send:s.sendMessage(i.message)}}}const Uo=jo;function jo(t,e){const s=No();return(jo=function(t,e){return s[t-=270]})(t,e)}function No(){const t=["URL","659109mKlcMP","18897705KcEswT","debugLog","5TsMquL","WebsocketStreamWorker","destroyResolve","streamRate","decoderWorkerCloseTimeout","397218GImayb","workerUrl","_closeWebSocket","workerClearTimeout","_destroy","kBps","websocketWorker","emit","revokeObjectURL","wsUrl","notConnect","3028520oGORqs","player","_initWebsocketWorker","destroy","2qqQIqH","init","5157166EAowFQ","791481JnUYNN","onmessage","TAG_NAME","4781960yJPUrY","_stopStreamRateInterval","send close but not response and destroy directly"];return(No=function(){return t})()}!function(t,e){const s=jo,i=t();for(;;)try{if(565641===parseInt(s(295))/1*(-parseInt(s(292))/2)+parseInt(s(302))/3+-parseInt(s(288))/4*(parseInt(s(272))/5)+-parseInt(s(277))/6+-parseInt(s(294))/7+parseInt(s(298))/8+parseInt(s(270))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(No);class Vo extends n{constructor(t){const e=jo;super(),this.player=t,this[e(297)]=e(273),this.wsUrl=null,this.socketStatus=V[e(287)],this[e(283)]=null,this[e(280)]=null,this[e(278)]=null,this[e(274)]=null,this[e(276)]=null,this[e(275)]=Ke((s=>{const i=e;t[i(284)](O[i(282)],(s/1024).toFixed(2))})),this.streamRateInterval=null,this._initWebsocketWorker(),this[e(289)][e(271)](this[e(297)],e(293))}[Uo(291)](){return new Promise(((t,e)=>{const s=jo;this[s(283)]?(this[s(289)][s(271)](this[s(297)],"send destroy"),this[s(279)](),this[s(274)]=t,this[s(276)]=setTimeout((()=>{const e=s;this[e(289)].debugWarn(this[e(297)],e(300)),this[e(276)]&&(clearTimeout(this[e(276)]),this[e(276)]=null),this._destroy(),t()}),2e3)):(this[s(281)](),t())}))}[Uo(281)](){const t=Uo;this.off(),this.decoderWorkerCloseTimeout&&(clearTimeout(this[t(276)]),this.decoderWorkerCloseTimeout=null),this[t(278)]&&(window[t(301)][t(285)](this[t(278)]),this[t(278)]=null),this[t(280)]&&(clearTimeout(this.workerClearTimeout),this[t(280)]=null),this[t(299)](),this[t(275)]=null,this[t(283)]&&(this[t(283)].terminate(),this.websocketWorker[t(296)]=null,this[t(283)]=null),this[t(274)]&&(this[t(274)](),this[t(274)]=null),this[t(286)]=null,this[t(289)][t(271)](this[t(297)],t(291))}[Uo(290)](){let t=Vs(Oo);const e=new Worker(t);this.workerUrl=t,this.workerClearTimeout=setTimeout((()=>{window.URL.revokeObjectURL(this.workerUrl),this.workerUrl=null,this.workerClearTimeout=null}),_),e.onmessage=t=>{const{demux:e}=this.player,s=t.data;switch(s.cmd){case F.buffer:this.streamRate&&this.streamRate(s.buffer.byteLength),e.dispatch(s.buffer);break;case F.websocketOpen:this.player.debugLog(this.TAG_NAME,"socket open"),this.socketStatus=V.open,this.emit(O.streamSuccess),this.player.emit(O.websocketOpen),this._startStreamRateInterval();break;case F.websocketClose:if(this.player.isDestroyedOrClosed())return;if(this.socketStatus===V.error)return void this.player.debugLog(this.TAG_NAME,"socket close and status is error, so return");this.player.debugLog(this.TAG_NAME,`socket close and code is ${s.code}`),1006===s.code&&this.player.debugError(this.TAG_NAME,`socket close abnormally and code is ${s.code}`),e.close(),this.socketStatus=V.close,this.player.emit(O.websocketClose,s.code),this.emit(O.streamEnd,s.code);break;case F.websocketError:if(this.player.isDestroyedOrClosed())return;this.player.debugError(this.TAG_NAME,"socket error"),this.socketStatus=V.error;const t=s.isTrusted?"websocket user aborted":"websocket error";this.emit(N.websocketError,t),e.close(),this.player.debugLog(this.TAG_NAME,"socket error:",t);break;case F.destroyEnd:this._destroy()}},this.websocketWorker=e}_startStreamRateInterval(){this._stopStreamRateInterval(),this.streamRateInterval=setInterval((()=>{this.streamRate&&this.streamRate(0)}),1e3)}_stopStreamRateInterval(){this.streamRateInterval&&(clearInterval(this.streamRateInterval),this.streamRateInterval=null)}_closeWebSocket(){this.websocketWorker&&this.websocketWorker.postMessage({cmd:F.destroy})}fetchStream(t,e){this.player._times.streamStart=Ve(),this.wsUrl=t,this.websocketWorker&&this.websocketWorker.postMessage({cmd:F.fetch,url:t,options:e})}sendMessage(t){this.websocketWorker&&this.websocketWorker.postMessage({cmd:F.sendMessage,message:t})}getStreamType(){return d.websocket}}function zo(t,e){const s=Wo();return(zo=function(t,e){return s[t-=436]})(t,e)}function Wo(){const t=["HlsStream","1732505AtcKYe","150962bAIwCG","469870QWLIAv","streamSuccess","311981WePeFJ","249189knlFaB","then","init","hlsError","emit","_times","player","4mUzNhd","6087213OdoCRk","296DadoHK","loadSource","off","streamStart","3105978MlqkVT","debugLog","destroy","2gByHyX","loadSource success"];return(Wo=function(){return t})()}!function(t,e){const s=zo,i=t();for(;;)try{if(466674===-parseInt(s(459))/1+-parseInt(s(452))/2*(-parseInt(s(436))/3)+-parseInt(s(443))/4*(-parseInt(s(455))/5)+parseInt(s(449))/6+-parseInt(s(456))/7*(parseInt(s(445))/8)+parseInt(s(444))/9+-parseInt(s(457))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Wo);class Go extends n{constructor(t){const e=zo;super(),this[e(442)]=t,t.debugLog("HlsStream",e(438))}async destroy(){const t=zo;return this[t(447)](),this[t(442)][t(450)]("HlsStream",t(451)),!0}fetchStream(t){const e=zo,{hlsDecoder:s,debug:i}=this[e(442)];this[e(442)][e(441)][e(448)]=Ve(),s[e(446)](t)[e(437)]((()=>{const t=e;this[t(442)].debugLog(t(454),t(453)),this[t(440)](O[t(458)])})).catch((t=>{const s=e;this[s(440)](N[s(439)],t)}))}getStreamType(){return d.hls}}const Ho=Qo;!function(t,e){const s=Qo,i=t();for(;;)try{if(656377===-parseInt(s(181))/1+-parseInt(s(184))/2+-parseInt(s(159))/3*(-parseInt(s(190))/4)+-parseInt(s(197))/5+parseInt(s(174))/6*(parseInt(s(176))/7)+parseInt(s(186))/8*(-parseInt(s(162))/9)+parseInt(s(191))/10*(parseInt(s(175))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yo);class Ko extends n{constructor(t){const e=Qo;super(),this.player=t,this.webrctUrl=null,t[e(161)]("WebrtcStream","init")}async destroy(){const t=Qo;return this[t(193)]=null,this[t(192)](),this.player.debugLog(t(163),t(195)),!0}[Ho(179)](t){const e=Ho;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{webrtc:i,debug:r}=this[e(164)];if(this[e(164)][e(182)][e(167)]=Ve(),this[e(193)]=t[e(171)](e(166),window[e(198)][e(168)]),this[e(164)][e(196)]()&&-1===this[e(193)][e(188)](e(160))){const s=new URL(this[e(193)]),i=e(160)+s[e(170)];this[e(193)]=s[e(173)]+i+s[e(165)],this[e(164)].debugLog(e(163),e(189)+t+", and new url is: "+this[e(193)])}i[e(177)](this[e(193)],s)[e(178)]((()=>{const t=e;this[t(164)].debugLog(t(163),"loadSource success"),this.emit(O[t(187)])}))[e(169)]((t=>{const s=e;this[s(164)][s(199)]("WebrtcStream",s(183),t),this[s(180)](N[s(172)],t)}))}[Ho(194)](){return d[Ho(185)]}}function Qo(t,e){const s=Yo();return(Qo=function(t,e){return s[t-=159]})(t,e)}function Yo(){const t=["60aEcyJt","20nYhSAU","off","webrctUrl","getStreamType","destroy","isWebrtcForM7S","5368005OfUpsR","location","debugError","167172iXDTot","/webrtc/play","debugLog","648zDEXJM","WebrtcStream","player","search","webrtc:","streamStart","protocol","catch","pathname","replace","webrtcError","origin","4362306pyKUbM","12414490Webcbp","7EvxiAW","loadSource","then","fetchStream","emit","532540PslYvd","_times","loadSource error","1295850XpljjR","webrtc","101072BMAuKB","streamSuccess","indexOf","original url is "];return(Yo=function(){return t})()}const qo=Jo;function Jo(t,e){const s=Xo();return(Jo=function(t,e){return s[t-=301]})(t,e)}function Xo(){const t=["close","debugWarn","https:","2149260IDZrof","streamRate","409352hHBUtE","player","init","2056imjETj","1692377QIepZy","kBps","2350bwNwQI","WebTransportLoader","fetchStream","off","420993iIebxj","then","streamSuccess","1021134OScJSW","pipeTo","88UIqoEZ","4830aTMPJI","debugLog","input","startStreamRateInterval","getStreamType","ready","stopStreamRateInterval","abort","_createWebTransport-ready","emit","readable","transport","9982DbgOuw","_createWebTransport","wtUrl","destroy","toFixed","webTransport","createBidirectionalStream","streamRateInterval"];return(Xo=function(){return t})()}!function(t,e){const s=Jo,i=t();for(;;)try{if(896638===parseInt(s(303))/1+parseInt(s(340))/2+-parseInt(s(312))/3+parseInt(s(302))/4*(-parseInt(s(305))/5)+parseInt(s(315))/6*(-parseInt(s(327))/7)+-parseInt(s(314))/8*(-parseInt(s(309))/9)+parseInt(s(338))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xo);class Zo extends n{constructor(t){const e=Jo;super(),this[e(341)]=t,this[e(326)]=null,this.wtUrl=null,this[e(339)]=Ke((s=>{const i=e;t[i(324)](O[i(304)],(s/1024)[i(331)](2))})),this[e(334)]=null,t[e(316)]("WebTransportLoader",e(301))}async destroy(){const t=Jo;return this[t(322)](),this[t(308)](),this[t(341)][t(316)](t(306),t(330)),!0}[qo(318)](){const t=qo;this[t(321)](),this[t(334)]=setInterval((()=>{const e=t;this[e(339)]&&this[e(339)](0)}),1e3)}[qo(321)](){const t=qo;this[t(334)]&&(clearInterval(this[t(334)]),this[t(334)]=null)}[qo(328)](){const t=qo,e=this[t(341)],{debug:s,events:{proxy:i},demux:r}=e;try{this[t(326)]=new WebTransport(this.wtUrl),this[t(326)][t(320)][t(310)]((()=>{const e=t;this[e(324)](O[e(311)]),this[e(318)](),this[e(326)][e(333)]()[e(310)]((t=>{const s=e;t[s(325)][s(313)](new WritableStream(r[s(317)]))}))})).catch((e=>{const s=t;this[s(341)][s(336)]("WebTransportLoader",s(323),e)}))}catch(e){this[t(341)][t(336)](t(306),t(328),e)}}[qo(307)](t){const e=qo;this[e(341)]._times.streamStart=Ve(),this[e(329)]=t.replace(/^wt:/,e(337)),this[e(328)]()}abort(){const t=qo;if(this.transport)try{this[t(326)][t(335)](),this[t(326)]=null}catch(e){this[t(326)]=null}}[qo(319)](){return d[qo(332)]}}const $o=ta;function ta(t,e){const s=ea();return(ta=function(t,e){return s[t-=295]})(t,e)}function ea(){const t=["websocket","7PEZJoU","3yOJdMr","workerFetchStream","workUrl","_times","off","fetchStream","16aKAehc","333408FtcVof","3878080WswWPf","794046exfnRK","length","destroy","workerSendMessage","debugLog","getStreamType","decoderWorker","fetch","932049VmoUHQ","106020naLhKi","717665ZkjYhD","WorkerStream","protocol","player","845384qLUeXT","init"];return(ea=function(){return t})()}!function(t,e){const s=ta,i=t();for(;;)try{if(108116===-parseInt(s(315))/1+-parseInt(s(304))/2+parseInt(s(297))/3*(parseInt(s(320))/4)+-parseInt(s(316))/5+-parseInt(s(306))/6*(-parseInt(s(296))/7)+parseInt(s(303))/8*(-parseInt(s(314))/9)+parseInt(s(305))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ea);class sa extends n{constructor(t){const e=ta;super(),this[e(319)]=t,this[e(299)]=null,t[e(310)](e(317),e(321))}async[$o(308)](){const t=$o;return this[t(299)]=null,this[t(301)](),this[t(319)][t(310)](t(317),t(308)),!0}sendMessage(t){const e=$o;this[e(319)][e(312)][e(309)](t)}[$o(302)](t){const e=$o;let s=arguments[e(307)]>1&&void 0!==arguments[1]?arguments[1]:{};this.workUrl=t,this[e(319)][e(300)].streamStart=Ve(),this[e(319)][e(312)][e(298)](t,s)}[$o(311)](){const t=$o,e=this[t(319)]._opt[t(318)]===c[t(313)]?d[t(313)]:d[t(295)];return d.worker+" "+e}}const ia=ra;function ra(t,e){const s=na();return(ra=function(t,e){return s[t-=171]})(t,e)}function na(){const t=["then","debugLog","5436hdSpEx","1334392PndnJf","fetchStream","1101363gCwKdu","off","debugError","destroy","aliyunRtc","loadSource","472WOeEou","4TeKrHo","AliyunRtcLoader","aliyunRtcError","9pffZXH","TAG_NAME","522225uaVPdz","loadSource error","loadSource success","2971BcxwPf","3005ehuiwV","60lnOgpd","catch","3257030FXwrMy","2957170ycBrop","streamSuccess","getStreamType","emit","player"];return(na=function(){return t})()}!function(t,e){const s=ra,i=t();for(;;)try{if(445072===parseInt(s(200))/1*(-parseInt(s(191))/2)+parseInt(s(185))/3*(parseInt(s(192))/4)+parseInt(s(171))/5*(parseInt(s(182))/6)+-parseInt(s(174))/7+parseInt(s(183))/8+-parseInt(s(195))/9*(-parseInt(s(175))/10)+-parseInt(s(197))/11*(-parseInt(s(172))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(na);class oa extends n{constructor(t){const e=ra;super(),this[e(196)]=e(193),this[e(179)]=t,t[e(181)](this[e(196)],"init")}async[ia(188)](){const t=ia;return this[t(186)](),this[t(179)][t(181)](this.TAG_NAME,t(188)),!0}[ia(184)](t){const e=ia,{aliyunRtcDecoder:s}=this[e(179)];this.player._times.streamStart=Ve(),s[e(190)](t)[e(180)]((()=>{const t=e;this.player[t(181)](this[t(196)],t(199)),this.emit(O[t(176)])}))[e(173)]((t=>{const s=e;this.player[s(187)](this[s(196)],s(198),t),this[s(178)](N[s(194)],t)}))}[ia(177)](){return d[ia(189)]}}const aa=ha;function ha(t,e){const s=la();return(ha=function(t,e){return s[t-=174]})(t,e)}!function(t,e){const s=ha,i=t();for(;;)try{if(119627===-parseInt(s(197))/1+-parseInt(s(187))/2+parseInt(s(177))/3+parseInt(s(184))/4+parseInt(s(196))/5+-parseInt(s(194))/6*(parseInt(s(178))/7)+parseInt(s(198))/8*(parseInt(s(181))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(la);class ca extends n{constructor(t){const e=ha;super(),this[e(179)]=e(182),this[e(191)]=t,t.debug[e(189)](this[e(179)],e(190))}destroy(){const t=ha;this[t(185)](),this[t(191)].debug.log(this[t(179)],t(195))}[aa(193)](t){const e=aa,{mp4Decoder:s}=this[e(191)];this[e(191)]._times[e(175)]=Ve(),s.loadSource(t)[e(183)]((()=>{const t=e;this[t(191)].debugLog(this.TAG_NAME,t(176)),this[t(180)](O.streamSuccess)}))[e(186)]((t=>{const s=e;this[s(180)](N[s(188)],t)}))}[aa(192)](){return d[aa(174)]}}function la(){const t=["mp4","streamStart","loadSource success","64734FnBSbC","1043ygbLqO","TAG_NAME","emit","18BYIWMI","Mp4StreamLoader","then","248932aUGzOB","off","catch","70366QLLfRm","playVodMp4Error","log","init","player","getStreamType","fetchStream","738AkKOYL","destroy","277275tXREBm","115267smySqs","596552uiQIQj"];return(la=function(){return t})()}function da(){const t=["aliyunRtc","webrtc","4384485qonTTu","1768LJjdMF","8687390PgGMDR","100770EghtVO","1093895rSQpsm","websocket","playerAudio","4LHIZEl","player","webTransport","1CtPzoj","99dOZQZo","_opt","82257rsHaPa","712806XXKRIf"];return(da=function(){return t})()}function ua(t,e){const s=da();return(ua=function(t,e){return s[t-=473]})(t,e)}!function(t,e){const s=ua,i=t();for(;;)try{if(333363===parseInt(s(478))/1*(parseInt(s(482))/2)+-parseInt(s(481))/3*(parseInt(s(475))/4)+-parseInt(s(489))/5+-parseInt(s(488))/6+-parseInt(s(485))/7+-parseInt(s(486))/8*(parseInt(s(479))/9)+parseInt(s(487))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(da);class pa{constructor(t){const e=ua;return new(pa.getLoaderFactory(t[e(480)]))(t)}static getLoaderFactory(t){const e=ua,{protocol:s,useWasm:i,playType:r,useWCS:n,useMSE:o,demuxUseWorker:a,mainThreadFetchUseWorker:h,isFmp4:l}=t;return r===u.playVod&&l?ca:s===c.hls?Go:s===c[e(484)]?Ko:s===c[e(477)]?Zo:s===c[e(483)]?oa:s===c.fetch?r===u.playerAudio?sa:r===u[e(476)]?i&&!Us(t)||a?sa:h?Lo:ko:n||o?a?sa:h?Lo:ko:sa:s===c[e(473)]?r===u[e(474)]?sa:r===u[e(476)]?i&&!Us(t)||a?sa:h?Vo:Fo:n||o?a?sa:h?Vo:Fo:sa:void 0}}function fa(t,e){var s=ga();return(fa=function(t,e){return s[t-=354]})(t,e)}!function(t,e){for(var s=fa,i=t();;)try{if(387947===parseInt(s(444))/1+parseInt(s(691))/2*(-parseInt(s(498))/3)+parseInt(s(680))/4+-parseInt(s(381))/5+-parseInt(s(635))/6+-parseInt(s(532))/7+parseInt(s(503))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ga);var ma=te((function(t){var e=fa;function s(t,e){var n=fa;if(!t)throw n(393);e=e||{type:n(398)},e=new i(t,e);var o=this;function a(s){var i=n;s&&(e[i(380)]=function(){s(),s=e.initCallback=null});var o=new r(t,e);(g=new o(t,e))[i(362)](),p("recording"),!e[i(509)]&&console.log("Initialized recorderType:",g.constructor.name,i(455),e[i(752)])}function h(t){var s=n;if(t=t||function(){},g){if("paused"===o[s(404)])return o[s(746)](),void setTimeout((function(){h(t)}),1);o[s(404)]!==s(671)&&!e[s(509)]&&console[s(694)](s(378),o.state),!e[s(509)]&&console.log(s(423)+e[s(752)]+" stream."),e[s(752)]!==s(548)?g[s(641)](i):(g[s(641)](),i()),p(s(657))}else m();function i(i){var r=s;if(g){Object[r(507)](g)[r(736)]((function(t){var e=r;typeof g[t]!==e(357)&&(o[t]=g[t])}));var n=g[r(542)];if(!n){if(!i)throw r(659);g[r(542)]=n=i}if(n&&!e[r(509)]&&console[r(558)](n[r(752)],"->",b(n[r(592)])),t){var a;try{a=u.createObjectURL(n)}catch(t){}"function"==typeof t[r(720)]?t.call(o,a):t(a)}e[r(763)]&&l((function(t){var s=r,i={};i[e[s(752)]+s(605)]=t,x[s(451)](i)}))}else"function"==typeof t.call?t[r(720)](o,""):t("")}}function c(t){postMessage((new FileReaderSync).readAsDataURL(t))}function l(t,s){var i=n;if(!t)throw i(388);var r=s?s[i(542)]:(g||{})[i(542)];if(!r)return!e[i(509)]&&console.warn(i(501)),void setTimeout((function(){l(t,s)}),1e3);if(typeof Worker===i(761)||navigator.mozGetUserMedia){var o=new FileReader;o[i(747)](r),o[i(695)]=function(e){var s=i;t(e[s(590)][s(439)])}}else{var a=function(t){var e=i;try{var s=u[e(693)](new Blob([t.toString(),e(570)+t[e(500)]+"(eee.data);}"],{type:e(780)})),r=new Worker(s);return u.revokeObjectURL(s),r}catch(t){}}(c);a[i(642)]=function(e){t(e[i(681)])},a[i(619)](r)}}function d(t){var e=n;t=t||0,o[e(404)]!==e(442)?"stopped"!==o.state&&(t>=o.recordingDuration?h(o.onRecordingStopped):(t+=1e3,setTimeout((function(){d(t)}),1e3))):setTimeout((function(){d(t)}),1e3)}function p(t){var e=n;o&&(o[e(404)]=t,"function"==typeof o[e(412)][e(720)]?o[e(412)][e(720)](o,t):o.onStateChanged(t))}var f='It seems that recorder is destroyed or "startRecording" is not invoked for '+e[n(752)]+n(418);function m(){var t=n;!0!==e[t(509)]&&console[t(694)](f)}var g,A={startRecording:function(s){var r=n;return!e[r(509)]&&console[r(558)](r(781),o.version),s&&(e=new i(t,s)),!e[r(509)]&&console[r(558)]("started recording "+e[r(752)]+" stream."),g?(g[r(565)](),g[r(362)](),p(r(671)),o.recordingDuration&&d(),o):(a((function(){o[r(631)]&&d()})),o)},stopRecording:h,pauseRecording:function(){var t=n;g?o[t(404)]===t(671)?(p(t(442)),g.pause(),!e[t(509)]&&console[t(558)]("Paused recording.")):!e[t(509)]&&console[t(694)](t(612),o[t(404)]):m()},resumeRecording:function(){var t=n;g?o[t(404)]===t(442)?(p(t(671)),g.resume(),!e[t(509)]&&console[t(558)](t(359))):!e.disableLogs&&console[t(694)](t(661),o[t(404)]):m()},initRecorder:a,setRecordingDuration:function(t,e){var s=n;if(void 0===t)throw s(726);if(typeof t!==s(485))throw"recordingDuration must be a number.";return o[s(631)]=t,o.onRecordingStopped=e||function(){},{onRecordingStopped:function(t){o[s(470)]=t}}},clearRecordedData:function(){var t=n;g?(g[t(565)](),!e[t(509)]&&console.log(t(773))):m()},getBlob:function(){if(g)return g[n(542)];m()},getDataURL:l,toURL:function(){var t=n;if(g)return u[t(693)](g[t(542)]);m()},getInternalRecorder:function(){return g},save:function(t){g?v(g[n(542)],t):m()},getFromDisk:function(t){var i=n;g?s[i(596)](e[i(752)],t):m()},setAdvertisementArray:function(t){var s=n;e[s(457)]=[];for(var i=t.length,r=0;r-1&&"netscape"in window&&/ rv:/[e(526)](navigator[e(636)]),g=!f&&!p&&!!navigator.webkitGetUserMedia||w()||-1!==navigator.userAgent.toLowerCase()[e(549)]("chrome/"),A=/^((?!chrome|android).)*safari/i[e(526)](navigator.userAgent);A&&!g&&-1!==navigator.userAgent[e(549)]("CriOS")&&(A=!1,g=!0);var y=window.MediaStream;function b(t){var s=e,i=[s(385),"KB","MB","GB","TB"];if(0===t)return"0 Bytes";var r=parseInt(Math[s(748)](Math.log(t)/Math[s(558)](1e3)),10);return(t/Math[s(721)](1e3,r))[s(475)](3)+" "+i[r]}function v(t,s){var i=e;if(!t)throw i(672);if(!t[i(752)])try{t[i(752)]=i(724)}catch(t){}var r=(t[i(752)]||i(724)).split("/")[1];if(-1!==r[i(549)](";")&&(r=r.split(";")[0]),s&&-1!==s[i(549)](".")){var n=s[i(539)](".");s=n[0],r=n[1]}var o=(s||Math[i(712)](9999999999*Math[i(476)]())+888888888)+"."+r;if(typeof navigator[i(715)]!==i(761))return navigator[i(715)](t,o);if(typeof navigator.msSaveBlob!==i(761))return navigator[i(702)](t,o);var a=document.createElement("a");a[i(363)]=u.createObjectURL(t),a[i(355)]=o,a[i(523)]=i(599),(document[i(519)]||document[i(424)])[i(728)](a),typeof a[i(622)]===i(357)?a[i(622)]():(a.target="_blank",a[i(396)](new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))),u[i(729)](a[i(363)])}function w(){var t=e;return typeof window!==t(761)&&typeof window.process===t(426)&&window[t(749)][t(752)]===t(705)||(!(typeof process===t(761)||typeof process.versions!==t(426)||!process[t(700)].electron)||typeof navigator===t(426)&&typeof navigator[t(636)]===t(588)&&navigator[t(636)][t(549)](t(520))>=0)}function S(t,s){var i=e;return t&&t[i(394)]?t.getTracks()[i(776)]((function(t){var e=i;return t[e(372)]===(s||e(765))})):[]}function E(t,s){var i=e;i(629)in s?s.srcObject=t:"mozSrcObject"in s?s.mozSrcObject=t:s[i(629)]=t}typeof y===e(761)&&"undefined"!=typeof webkitMediaStream&&(y=webkitMediaStream),typeof y!==e(761)&&typeof y.prototype.stop===e(761)&&(y[e(719)][e(641)]=function(){this.getTracks().forEach((function(t){t[fa(641)]()}))}),s.invokeSaveAsDialog=v,s[e(394)]=S,s[e(495)]=function(t,s){var i=e;if(typeof EBML===i(761))throw new Error("Please link: https://www.webrtc-experiment.com/EBML.js");var r=new(EBML[i(701)]),n=new EBML.Decoder,o=EBML.tools,a=new FileReader;a[i(695)]=function(t){var e=i;n[e(512)](this[e(439)]).forEach((function(t){r.read(t)})),r.stop();var a=o[e(446)](r[e(374)],r[e(717)],r[e(405)]),h=this[e(439)].slice(r[e(550)]),c=new Blob([a,h],{type:"video/webm"});s(c)},a[i(767)](t)},s[e(766)]=b,s[e(557)]=w;var I={};function T(){var t=e;if(m||A||p)return!0;navigator[t(407)];var s,i,r=navigator[t(636)],n=""+parseFloat(navigator.appVersion),o=parseInt(navigator[t(407)],10);return(g||f)&&(s=r[t(549)](t(687)),n=r.substring(s+7)),-1!==(i=n.indexOf(";"))&&(n=n[t(714)](0,i)),-1!==(i=n[t(549)](" "))&&(n=n[t(714)](0,i)),o=parseInt(""+n,10),isNaN(o)&&(n=""+parseFloat(navigator[t(407)]),o=parseInt(navigator[t(407)],10)),o>=49}function k(t,s){var i=e,r=this;if(typeof t===i(761))throw i(533);if(typeof MediaRecorder===i(761))throw"Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.";if("audio"===(s=s||{mimeType:"video/webm"})[i(752)]){var n;if(S(t,i(398))[i(471)]&&S(t,i(765))[i(471)])navigator[i(369)]?(n=new y)[i(713)](S(t,i(765))[0]):n=new y(S(t,i(765))),t=n;(!s[i(738)]||-1===s[i(738)][i(537)]()[i(434)]().indexOf("audio"))&&(s[i(738)]=i(g?488:656)),s[i(738)]&&s[i(738)][i(537)]()[i(434)]()!==i(656)&&navigator[i(369)]&&(s[i(738)]=i(656))}var o,a=[];function h(){var t=i;r[t(697)][t(594)]((new Date)[t(377)]()),typeof s[t(411)]===t(357)&&s[t(411)](r[t(697)][r.timestamps.length-1],r[t(697)])}function c(t){var e=i;return o&&o[e(738)]?o[e(738)]:t[e(738)]||e(724)}function l(){a=[],o=null,r[i(697)]=[]}this.getArrayOfBlobs=function(){return a},this[i(362)]=function(){var e=i;r.blob=null,r[e(565)](),r[e(697)]=[],d=[],a=[];var n=s;!s.disableLogs&&console[e(558)](e(783),n),o&&(o=null),g&&!T()&&(n=e(734)),typeof MediaRecorder[e(472)]===e(357)&&n[e(738)]&&!MediaRecorder[e(472)](n[e(738)])&&(!s[e(509)]&&console[e(694)]("MediaRecorder API seems unable to record mimeType:",n[e(738)]),n[e(738)]="audio"===s[e(752)]?"audio/webm":e(724));try{o=new MediaRecorder(t,n),s[e(738)]=n[e(738)]}catch(e){o=new MediaRecorder(t)}n[e(738)]&&!MediaRecorder[e(472)]&&"canRecordMimeType"in o&&!1===o.canRecordMimeType(n[e(738)])&&!s[e(509)]&&console.warn(e(513),n[e(738)]),o.ondataavailable=function(t){var i=e;if(t[i(681)]&&d[i(594)](i(745)+b(t[i(681)][i(592)])),typeof s.timeSlice!==i(485))!t[i(681)]||!t[i(681)][i(592)]||t[i(681)][i(592)]<100||r.blob?r.recordingCallback&&(r[i(580)](new Blob([],{type:c(n)})),r[i(580)]=null):(r[i(542)]=s[i(422)]?t.data:new Blob([t[i(681)]],{type:c(n)}),r[i(580)]&&(r.recordingCallback(r[i(542)]),r[i(580)]=null));else if(t[i(681)]&&t.data[i(592)]&&(a.push(t[i(681)]),h(),typeof s.ondataavailable===i(357))){var o=s[i(422)]?t.data:new Blob([t[i(681)]],{type:c(n)});s[i(469)](o)}},o[e(576)]=function(){var t=e;d[t(594)](t(586))},o[e(756)]=function(){d[e(594)]("paused")},o[e(461)]=function(){d[e(594)]("resumed")},o.onstop=function(){d[e(594)]("stopped")},o[e(484)]=function(t){var i=e;t&&(!t[i(500)]&&(t[i(500)]=i(555)),d[i(594)](i(616)+t),s[i(509)]||(-1!==t[i(500)][i(537)]()[i(434)]()[i(549)](i(482))?console[i(529)]("The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.",t):-1!==t[i(500)].toString()[i(434)]()[i(549)](i(534))?console[i(529)](i(601),n.mimeType,i(368),t):-1!==t[i(500)].toString()[i(434)]()[i(549)](i(591))?console[i(529)](i(474),t):t[i(500)]===i(735)?console[i(529)](i(716),t):t[i(500)]===i(723)?console[i(529)]("A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.",t):"OtherRecordingError"===t[i(500)]?console.error(i(535),t):t.name===i(373)?console[i(529)](i(379),t):console[i(529)](i(431),t)),function(t){var e=i;if(!r[e(610)]&&o&&o[e(404)]===e(583))return delete s[e(751)],void o[e(522)](6e5);setTimeout(void 0,1e3)}(),"inactive"!==o[i(404)]&&o[i(404)]!==i(657)&&o[i(641)]())},typeof s[e(392)]===e(485)?(h(),o.start(s.timeSlice)):o[e(522)](36e5),s.initCallback&&s[e(380)]()},this[i(697)]=[],this[i(641)]=function(t){var e=i;t=t||function(){},r[e(610)]=!0,o&&(this[e(580)]=t,"recording"===o[e(404)]&&o[e(641)](),typeof s[e(392)]===e(485)&&setTimeout((function(){var t=e;r.blob=new Blob(a,{type:c(s)}),r[t(580)](r[t(542)])}),100))},this[i(516)]=function(){var t=i;o&&o[t(404)]===t(671)&&o[t(516)]()},this[i(428)]=function(){var t=i;o&&o[t(404)]===t(442)&&o[t(428)]()},this[i(565)]=function(){var t=i;o&&o.state===t(671)&&r[t(641)](l),l()},this[i(689)]=function(){return o},this[i(542)]=null,this[i(654)]=function(){var t=i;return o&&o[t(404)]||t(583)};var d=[];this[i(770)]=function(){return d},typeof s[i(360)]===i(761)&&(s[i(360)]=!1);r=this;(function e(){var n=i;if(o&&!1!==s[n(360)])return!1===function(){var e=i;if(e(696)in t){if(!t.active)return!1}else if("ended"in t&&t[e(546)])return!1;return!0}()?(!s[n(509)]&&console[n(558)](n(639)),void r[n(641)]()):void setTimeout(e,1e3)})(),this.name=i(582),this[i(537)]=function(){return this[i(500)]}}function _(t,i){var r=e;if(!S(t,r(765))[r(471)])throw r(433);var n,o=this,a=[],h=[],c=!1,l=0,d=2,p=(i=i||{}).desiredSampRate;function f(){var e=r;if(!1===i.checkForInactiveTracks)return!0;if("active"in t){if(!t.active)return!1}else if(e(546)in t&&t.ended)return!1;return!0}function m(t,e){var s=r;function i(t,e){var s,i=fa,r=t[i(679)],n=t[i(449)].slice(0),o=t[i(598)].slice(0),a=t[i(410)],h=t[i(760)],c=t[i(382)];function l(t,e,s){var r,n,o=i,a=Math[o(712)](t[o(471)]*(e/s)),h=[],c=Number((t[o(471)]-1)/(a-1));h[0]=t[0];for(var l=1;l96e3)&&!i.disableLogs&&console[r(558)](r(402)),!i.disableLogs&&i.desiredSampRate&&console.log(r(521)+i.desiredSampRate);var w=!1;function E(){var t=r;a=[],h=[],l=0,T=!1,c=!1,w=!1,g=null,o[t(518)]=a,o.rightchannel=h,o[t(679)]=d,o.desiredSampRate=p,o.sampleRate=v,o[t(597)]=l,k={left:[],right:[],recordingLength:0}}function I(){var t=r;n&&(n[t(447)]=null,n[t(543)](),n=null),A&&(A.disconnect(),A=null),E()}this.pause=function(){w=!0},this.resume=function(){var t=r;if(!1===f())throw t(389);if(!c)return!i.disableLogs&&console[t(558)]("Seems recording has been restarted."),void this[t(362)]();w=!1},this.clearRecordedData=function(){var t=r;i[t(360)]=!1,c&&this[t(641)](I),I()},this[r(500)]=r(704),this[r(537)]=function(){return this[r(500)]};var T=!1;n[r(447)]=function(t){var e=r;if(!w)if(!1===f()&&(!i[e(509)]&&console.log(e(639)),n[e(543)](),c=!1),c){!T&&(T=!0,i[e(764)]&&i.onAudioProcessStarted(),i[e(380)]&&i.initCallback());var s=t[e(757)][e(497)](0),u=new Float32Array(s);if(a[e(594)](u),2===d){var p=t[e(757)][e(497)](1),m=new Float32Array(p);h[e(594)](m)}l+=b,o.recordingLength=l,typeof i.timeSlice!==e(761)&&(k[e(597)]+=b,k.left[e(594)](u),2===d&&k[e(450)].push(m))}else A&&(A.disconnect(),A=null)},g.createMediaStreamDestination?n[r(707)](g.createMediaStreamDestination()):n[r(707)](g[r(467)]),this[r(518)]=a,this[r(658)]=h,this.numberOfAudioChannels=d,this[r(382)]=p,this.sampleRate=v,o[r(597)]=l;var k={left:[],right:[],recordingLength:0};function _(){var t=r;c&&typeof i.ondataavailable===t(357)&&typeof i[t(392)]!==t(761)&&(k[t(662)].length?(m({desiredSampRate:p,sampleRate:v,numberOfAudioChannels:d,internalInterleavedLength:k.recordingLength,leftBuffers:k[t(662)],rightBuffers:1===d?[]:k.right},(function(e,s){var r=t,n=new Blob([s],{type:r(420)});i[r(469)](n),setTimeout(_,i[r(392)])})),k={left:[],right:[],recordingLength:0}):setTimeout(_,i[t(392)]))}}function C(t,s){var i=e;if(typeof html2canvas===i(761))throw i(651);!(s=s||{})[i(443)]&&(s[i(443)]=10);var r=!1;[i(603),"mozCaptureStream",i(560)][i(736)]((function(t){t in document[i(408)]("canvas")&&(r=!0)}));var n,o,a,h=!(!window[i(492)]&&!window.webkitGetUserMedia||!window.chrome),c=50,l=navigator[i(636)][i(491)](/Chrom(e|ium)\/([0-9]+)\./);if(h&&l&&l[2]&&(c=parseInt(l[2],10)),h&&c<52&&(r=!1),s[i(676)]&&(r=!1),r)if(!s.disableLogs&&console[i(558)]("Your browser supports both MediRecorder API and canvas.captureStream!"),t instanceof HTMLCanvasElement)n=t;else{if(!(t instanceof CanvasRenderingContext2D))throw i(478);n=t[i(493)]}else navigator[i(369)]&&!s[i(509)]&&console[i(529)](i(577));this[i(362)]=function(){var t=i;if(a=!0,r&&!s[t(676)]){var e;t(603)in n?e=n[t(603)](25):"mozCaptureStream"in n?e=n.mozCaptureStream(25):t(560)in n&&(e=n[t(560)](25));try{var h=new y;h[t(713)](S(e,t(398))[0]),e=h}catch(t){}if(!e)throw t(581);(o=new k(e,{mimeType:s[t(738)]||t(724)}))[t(362)]()}else m[t(547)]=[],f=(new Date)[t(377)](),p();s[t(380)]&&s.initCallback()},this.getWebPImages=function(e){var r=i;if(t[r(674)][r(434)]()===r(493)){var n=m[r(547)][r(471)];m[r(547)][r(736)]((function(t,e){var i=r,o=n-e;!s[i(509)]&&console[i(558)](o+"/"+n+i(666)),s[i(628)]&&s[i(628)](o,n);var a=t[i(561)][i(655)]("image/webp",1);m[i(547)][e][i(561)]=a})),!s[r(509)]&&console[r(558)]("Generating WebM"),e()}else e()},this.stop=function(t){var e=i;a=!1;var n=this;r&&o?o[e(641)](t):this[e(409)]((function(){var i=e;m[i(637)]((function(e){var r=i;!s[r(509)]&&console[r(558)](r(387)),n.blob=e,n[r(542)][r(736)]&&(n[r(542)]=new Blob([],{type:r(724)})),t&&t(n.blob),m[r(547)]=[]}))}))};var d=!1;function u(){m[i(547)]=[],a=!1,d=!1}function p(){var e,r,n,o=i;if(d)return f=(new Date).getTime(),setTimeout(p,500);if(t.nodeName[o(434)]()===o(493)){var h=(new Date)[o(377)]()-f;return f=(new Date)[o(377)](),m[o(547)][o(594)]({image:(e=i,r=document.createElement(e(493)),n=r.getContext("2d"),r[e(709)]=t[e(709)],r[e(645)]=t.height,n[e(595)](t,0,0),r),duration:h}),void(a&&setTimeout(p,s[o(443)]))}html2canvas(t,{grabMouse:typeof s[o(544)]===o(761)||s[o(544)],onrendered:function(t){var e=o,i=(new Date)[e(377)]()-f;if(!i)return setTimeout(p,s[e(443)]);f=(new Date).getTime(),m[e(547)][e(594)]({image:t[e(655)](e(391),1),duration:i}),a&&setTimeout(p,s[e(443)])}})}this[i(516)]=function(){d=!0,o instanceof k&&o[i(516)]()},this.resume=function(){d=!1,o instanceof k?o[i(428)]():!a&&this.record()},this[i(565)]=function(){a&&this.stop(u),u()},this[i(500)]=i(741),this[i(537)]=function(){return this[i(500)]};var f=(new Date).getTime(),m=new(D[i(587)])(100)}function R(t,s){var i=e;function r(t){var e=i;t=typeof t!==e(761)?t:10;var s=(new Date)[e(377)]()-l;return s?a?(l=(new Date).getTime(),setTimeout(r,100)):(l=(new Date).getTime(),c[e(442)]&&c[e(432)](),p[e(595)](c,0,0,u[e(709)],u[e(645)]),d[e(547)][e(594)]({duration:s,image:u.toDataURL(e(391))}),void(!o&&setTimeout(r,t,t))):setTimeout(r,t,t)}function n(t,e,s,r,n){var o=i,a=document[o(408)](o(493));a[o(709)]=u[o(709)],a[o(645)]=u[o(645)];var h,c,l,d,p=a[o(417)]("2d"),f=[],m=-1===e,g=e&&e>0&&e<=t[o(471)]?e:t.length,A=0,y=0,b=0,v=Math.sqrt(Math[o(721)](255,2)+Math[o(721)](255,2)+Math[o(721)](255,2)),w=s&&s>=0&&s<=1?s:0,S=r&&r>=0&&r<=1?r:0,E=!1;l=-1,d=(h={length:g,functionToLoop:function(e,s){var i,r,n,a=o,h=function(){!E&&n-i<=n*S||(m&&(E=!0),f[fa(594)](t[s])),e()};if(E)h();else{var c=new Image;c[a(695)]=function(){var t=a;p[t(595)](c,0,0,u[t(709)],u[t(645)]);var e=p[t(559)](0,0,u[t(709)],u[t(645)]);i=0,r=e[t(681)].length,n=e[t(681)][t(471)]/4;for(var s=0;s127)throw e(650);return[128|t[e(643)],t[e(753)]>>8,255&t[e(753)],s].map((function(t){return String.fromCharCode(t)}))[e(725)]("")+t[e(481)]}({discardable:0,frame:t[s(681)][s(413)](4),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math[s(712)](e)});return e+=t[s(717)],{data:r,id:163}})))}function s(t){for(var e=fa,s=[];t>0;)s[e(594)](255&t),t>>=8;return new Uint8Array(s[e(584)]())}function i(t){var e=fa;return new Uint8Array(t[e(539)]("")[e(782)]((function(t){return t[e(625)](0)})))}function r(t){var e=fa,s=[];t=(t[e(471)]%8?new Array(9-t[e(471)]%8)[e(725)]("0"):"")+t;for(var i=0;i1?2*i[0][t(709)]:i[0].width;var r=1;(3===e||4===e)&&(r=2),(5===e||6===e)&&(r=3),(7===e||8===e)&&(r=4),(9===e||10===e)&&(r=5),c[t(645)]=i[0][t(645)]*r}else c.width=d[t(709)]||360,c[t(645)]=d[t(645)]||240;s&&s instanceof HTMLVideoElement&&A(s),i[t(736)]((function(t,e){A(t,e)})),setTimeout(g,d[t(443)])}}function A(t,e){var s=n;if(!h){var i=0,r=0,o=t[s(709)],a=t[s(645)];1===e&&(i=t.width),2===e&&(r=t.height),3===e&&(i=t[s(709)],r=t.height),4===e&&(r=2*t[s(645)]),5===e&&(i=t.width,r=2*t.height),6===e&&(r=3*t[s(645)]),7===e&&(i=t.width,r=3*t[s(645)]),void 0!==t.stream[s(662)]&&(i=t[s(395)].left),typeof t[s(395)][s(777)]!==s(761)&&(r=t[s(395)][s(777)]),typeof t[s(395)].width!==s(761)&&(o=t[s(395)].width),void 0!==t.stream[s(645)]&&(a=t.stream[s(645)]),l[s(595)](t,i,r,o,a),typeof t.stream[s(620)]===s(357)&&t.stream[s(620)](l,i,r,o,a,e)}}function y(t){var e,i,r,o=n,a=document[o(408)]("video");return e=t,i=a,(r=n)(629)in i?i[r(629)]=e:"mozSrcObject"in i?i.mozSrcObject=e:i[r(629)]=e,a[o(430)]=s,a[o(708)]=!0,a[o(686)]=0,a[o(709)]=t[o(709)]||d[o(709)]||360,a[o(645)]=t[o(645)]||d[o(645)]||240,a[o(432)](),a}function b(e){var s=n;a=[],(e=e||t)[s(736)]((function(t){var e=s;if(t[e(394)]().filter((function(t){var s=e;return t.kind===s(398)}))[e(471)]){var i=y(t);i[e(395)]=t,a[e(594)](i)}}))}typeof u!==n(761)?m[n(511)]=u:typeof webkitAudioContext!==n(761)&&(m[n(511)]=webkitAudioContext),this[n(440)]=function(){g()},this[n(506)]=function(e){var s=n;if(!e)throw s(393);!(e instanceof Array)&&(e=[e]),e[s(736)]((function(e){var i=s,r=new f;if(e[i(394)]().filter((function(t){var e=i;return t.kind===e(398)})).length){var n=y(e);n[i(395)]=e,a[i(594)](n),r[i(713)](e[i(394)]()[i(776)]((function(t){var e=i;return t.kind===e(398)}))[0])}if(e[i(394)]()[i(776)]((function(t){var e=i;return t[e(372)]===e(765)}))[i(471)]){var o=d[i(627)].createMediaStreamSource(e);d[i(538)]=d[i(627)].createMediaStreamDestination(),o[i(707)](d[i(538)]),r[i(713)](d[i(538)][i(395)][i(394)]()[i(776)]((function(t){var e=i;return t[e(372)]===e(765)}))[0])}t[i(594)](r)}))},this[n(644)]=function(){var t=n;a=[],h=!0,d[t(630)]&&(d.gainNode[t(543)](),d.gainNode=null),d[t(437)][t(471)]&&(d[t(437)].forEach((function(e){e[t(543)]()})),d.audioSources=[]),d.audioDestination&&(d.audioDestination.disconnect(),d.audioDestination=null),d.audioContext&&d[t(627)][t(606)](),d[t(627)]=null,l[t(600)](0,0,c[t(709)],c[t(645)]),c.stream&&(c.stream[t(641)](),c[t(395)]=null)},this.resetVideoStreams=function(t){t&&!(t instanceof Array)&&(t=[t]),b(t)},this[n(500)]="MultiStreamsMixer",this.toString=function(){return this[n(500)]},this[n(762)]=function(){var e=n;h=!1;var s=function(){var t,e=n;b(),e(603)in c?t=c[e(603)]():e(727)in c?t=c[e(727)]():!d[e(509)]&&console[e(529)](e(400));var s=new f;return t[e(394)]().filter((function(t){return"video"===t[e(372)]}))[e(736)]((function(t){s[e(713)](t)})),c[e(395)]=s,s}(),i=function(){var e=n;!m.AudioContextConstructor&&(m[e(771)]=new(m[e(511)])),d.audioContext=m[e(771)],d[e(437)]=[],!0===d[e(438)]&&(d[e(630)]=d[e(627)][e(604)](),d[e(630)].connect(d[e(627)].destination),d[e(630)][e(356)][e(487)]=0);var s=0;if(t[e(736)]((function(t){var i=e;if(t[i(394)]()[i(776)]((function(t){var e=i;return t[e(372)]===e(765)}))[i(471)]){s++;var r=d[i(627)][i(541)](t);!0===d[i(438)]&&r[i(707)](d[i(630)]),d.audioSources[i(594)](r)}})),!s)return;return d[e(538)]=d[e(627)].createMediaStreamDestination(),d[e(437)][e(736)]((function(t){var s=e;t[s(707)](d[s(538)])})),d[e(538)][e(395)]}();return i&&i.getTracks()[e(776)]((function(t){return"audio"===t[e(372)]}))[e(736)]((function(t){s[e(713)](t)})),t[e(736)]((function(t){t[e(675)]})),s}}function M(t,s){var i=e;t=t||[];var r,n,o=this;!(s=s||{elementClass:i(718),mimeType:i(724),video:{width:360,height:240}})[i(443)]&&(s[i(443)]=10),!s[i(398)]&&(s.video={}),!s.video.width&&(s[i(398)][i(709)]=360),!s[i(398)][i(645)]&&(s[i(398)][i(645)]=240),this.record=function(){var e,o,a=i;r=new P(t,s.elementClass||"multi-streams-mixer"),(e=i,o=[],t[e(736)]((function(t){var s=e;S(t,s(398))[s(736)]((function(t){o[s(594)](t)}))})),o).length&&(r[a(443)]=s[a(443)]||10,r[a(709)]=s[a(398)].width||360,r[a(645)]=s.video[a(645)]||240,r[a(440)]()),s[a(483)]&&"function"==typeof s[a(483)]&&s[a(483)](r[a(762)]()),(n=new k(r[a(762)](),s))[a(362)]()},this.stop=function(t){var e=i;n&&n[e(641)]((function(s){var i=e;o[i(542)]=s,t(s),o[i(565)]()}))},this[i(516)]=function(){n&&n[i(516)]()},this[i(428)]=function(){n&&n.resume()},this[i(565)]=function(){var t=i;n&&(n.clearRecordedData(),n=null),r&&(r[t(644)](),r=null)},this[i(730)]=function(e){var o=i;if(!e)throw o(393);!(e instanceof Array)&&(e=[e]),t[o(589)](e),n&&r&&(r[o(506)](e),s[o(483)]&&typeof s.previewStream===o(357)&&s[o(483)](r[o(762)]()))},this[i(609)]=function(t){r&&(t&&!(t instanceof Array)&&(t=[t]),r[i(609)](t))},this[i(530)]=function(){return r},this[i(500)]=i(448),this[i(537)]=function(){return this[i(500)]}}function B(t,s){var i,r,n,o=e;function a(e,c){var l=o;if(!s[l(415)]&&!c)return i=!1,void fetch(l(623))[l(566)]((function(t){t.arrayBuffer().then((function(t){a(e,t)}))}));if(!s.workerPath&&c instanceof ArrayBuffer){var d=new Blob([c],{type:l(737)});s[l(415)]=u[l(693)](d)}!s[l(415)]&&console[l(529)](l(524)),(r=new Worker(s[l(415)]))[l(619)](s[l(652)]||"https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm"),r.addEventListener(l(779),(function(e){var o=l;e[o(681)]===o(540)?(r[o(619)]({width:s[o(709)],height:s[o(645)],bitrate:s[o(515)]||1200,timebaseDen:s[o(458)]||30,realtime:s.realtime}),new ReadableStream({start:function(e){var r=fa,n=document.createElement(r(493)),o=document[r(408)](r(398)),a=!0;o[r(629)]=t,o[r(708)]=!0,o[r(645)]=s[r(645)],o[r(709)]=s.width,o.volume=0,o.onplaying=function(){var t=r;n[t(709)]=s[t(709)],n[t(645)]=s.height;var h=n[t(417)]("2d"),c=1e3/s[t(458)],l=setInterval((function(){var r=t;if(i&&(clearInterval(l),e[r(606)]()),a&&(a=!1,s.onVideoProcessStarted&&s[r(740)]()),h[r(595)](o,0,0),e[r(638)][r(404)]!==r(468))try{e[r(480)](h.getImageData(0,0,s[r(709)],s.height))}catch(t){}}),c)},o.play()}})[o(742)](new WritableStream({write:function(t){var e=o;i?console[e(529)](e(684)):r[e(619)](t.data.buffer,[t[e(681)].buffer])}}))):e[o(681)]&&!n&&h.push(e[o(681)])}))}(typeof ReadableStream===o(761)||typeof WritableStream===o(761))&&console[o(529)](o(563)),(s=s||{})[o(709)]=s[o(709)]||640,s[o(645)]=s[o(645)]||480,s[o(458)]=s[o(458)]||30,s[o(515)]=s[o(515)]||1200,s[o(435)]=s.realtime||!0,this[o(362)]=function(){var e=o;h=[],n=!1,this.blob=null,a(t),"function"==typeof s[e(380)]&&s.initCallback()},this[o(516)]=function(){n=!0},this[o(428)]=function(){n=!1};var h=[];this.stop=function(t){i=!0;var e,s,n=this;e=function(){var e=fa;n.blob=new Blob(h,{type:e(724)}),t(n[e(542)])},s=o,r?(r[s(375)]("message",(function(t){var i=s;null===t[i(681)]&&(r[i(456)](),r=null,e&&e())})),r[s(619)](null)):e&&e()},this[o(500)]=o(545),this[o(537)]=function(){return this[o(500)]},this[o(565)]=function(){h=[],n=!1,this[o(542)]=null},this[o(542)]=null}s[e(649)]=x,"function"!==e(761)&&(s[e(425)]=L),"function"!==e(761)&&(s[e(448)]=M),"function"!==e(761)&&(s[e(733)]=function(t,i){var r=e;if(!this)throw r(607);if(typeof t===r(761))throw'First argument "MediaStream" is required.';var n=this;n[r(750)]=new s(t,i),this[r(663)]=function(){return new Promise((function(t,e){var s=fa;try{n[s(750)][s(663)](),t()}catch(t){e(t)}}))},this[r(648)]=function(){return new Promise((function(t,e){var s=fa;try{n[s(750)][s(648)]((function(i){var r=s;n[r(542)]=n.recordRTC.getBlob(),n[r(542)]&&n[r(542)][r(592)]?t(i):e(r(578),n[r(542)])}))}catch(t){e(t)}}))},this[r(553)]=function(){return new Promise((function(t,e){var s=fa;try{n[s(750)].pauseRecording(),t()}catch(t){e(t)}}))},this[r(746)]=function(){return new Promise((function(t,e){var s=fa;try{n[s(750)][s(746)](),t()}catch(t){e(t)}}))},this[r(365)]=function(t){return new Promise((function(t,e){var s=fa;try{n[s(750)][s(365)]((function(e){t(e)}))}catch(t){e(t)}}))},this[r(465)]=function(){return new Promise((function(t,e){var s=fa;try{t(n[s(750)][s(465)]())}catch(t){e(t)}}))},this.getInternalRecorder=function(){return new Promise((function(t,e){var s=fa;try{t(n[s(750)][s(689)]())}catch(t){e(t)}}))},this[r(384)]=function(){return new Promise((function(t,e){var s=fa;try{t(n[s(750)].reset())}catch(t){e(t)}}))},this.destroy=function(){return new Promise((function(t,e){var s=fa;try{t(n[s(750)].destroy())}catch(t){e(t)}}))},this.getState=function(){return new Promise((function(t,e){try{t(n.recordRTC.getState())}catch(t){e(t)}}))},this[r(542)]=null,this[r(699)]="5.6.2"}),"function"!==e(761)&&(s[e(545)]=B)}));function ga(){var t=["toPrecision","random","requestAnimationFrame","Please pass either HTMLCanvasElement or CanvasRenderingContext2D.","addFrame","enqueue","frame","invalidstate","previewStream","onerror","number","MediaStream must have either audio or video tracks.","value","audio/webm","bitsPerSecond","setRepeat","match","webkitRTCPeerConnection","canvas","src","getSeekableBlob","noWorker","getChannelData","15SULTWf","fromCharCode","name","Blob encoder did not finish its job yet.","location","7677960SGSYAK","transaction",";this.onmessage = function (eee) {","appendStreams","keys","set","disableLogs","file:","AudioContext","decode","MediaRecorder API seems unable to record mimeType:","setUint16","bitrate","pause","exports","leftchannel","body","Electron","Desired sample-rate: ","start","style","workerPath parameter is missing.","writeToDisk","test","onGifPreview","WAVE","error","getMixer","RecordRTC is destroyed.","3497494KQPzUd",'First argument "MediaStream" is required.',"notsupported","Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.","Storage","toString","audioDestination","split","READY","createMediaStreamSource","blob","disconnect","showMousePointer","WebAssemblyRecorder","ended","frames","gif","indexOf","metadataSize","open","document","pauseRecording","buffer","UnknownError","Legal values for buffer-size are ","isElectron","log","getImageData","webkitCaptureStream","image","Using frames-interval:","Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js","add","clearRecordedData","then","destroy","view","constructor","this.onmessage = function (eee) {","replace","init","recorderType","stringify","keyframe","onstart","Canvas recording is NOT supported in Firefox.","Empty blob.","OPR/","recordingCallback","captureStream API are NOT available.","MediaStreamRecorder","inactive","reverse","addStream","started","Video","string","concat","target","security","size","opacity","push","drawImage","getFromDisk","recordingLength","rightBuffers","display:none;opacity:0;color:transparent;","clearRect","MIME type (","firefox","captureStream","createGain","Blob","close",'Use "new RecordRTCPromisesHandler()"',"cancelAnimationFrame","resetVideoStreams","manuallyStopped","objectStore","Unable to pause the recording. Recording state: ","Input must be formatted properly as a base64 encoded DataURI of type image/webp","videoBlob","dataStoreName","error: ","webkitGetUserMedia","Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45","postMessage","onRender","onsuccess","click","https://unpkg.com/webm-wasm@latest/dist/webm-worker.js","createJavaScriptNode","charCodeAt","onupgradeneeded","audioContext","onEncodingCallback","srcObject","gainNode","recordingDuration","WhammyRecorder","RIFF","readwrite","1438812EkeZEe","userAgent","compile","_controlledReadableStream","MediaStream seems stopped.","initRecorder","stop","onmessage","trackNum","releaseStreams","height","workerURL","V_VP8","stopRecording","DiskStorage","TrackNumber > 127 not supported","Please link: https://www.webrtc-experiment.com/screenshot.js","webAssemblyPath","-1000em","getState","toDataURL","audio/ogg","stopped","rightchannel","Recording failed.","URL","Unable to resume the recording. Recording state: ","left","startRecording","setUint32","window"," frames remaining","createObjectStore","setInt16","https://www.webrtc-experiment.com/gif-recorder.js","onloadedmetadata","recording","Blob object is required.","put","nodeName","fullcanvas","useWhammyRecorder","onError","5.6.2","numberOfAudioChannels","980616yhTJBp","data","screen","Getting recorded ","Got image, but recorder is finished!","commonjsGlobal","volume","Chrome","offsetHeight","getInternalRecorder","webm","189038QRsOsR","createScriptProcessor","createObjectURL","warn","onload","active","timestamps","bufferSize","version","versions","Reader","msSaveBlob","video width/height","StereoAudioRecorder","renderer","Neither URL nor webkitURL detected.","connect","muted","width","get","LIST","round","addTrack","substring","msSaveOrOpenBlob","The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.","duration","multi-streams-mixer","prototype","call","pow","callback","IllegalStreamModification","video/webm","join","recordingDuration is required.","mozCaptureStream","appendChild","revokeObjectURL","addStreams","absolute","MediaStream","RecordRTCPromisesHandler","video/vp8","OutOfMemory","forEach","text/javascript","mimeType","all","onVideoProcessStarted","CanvasRecorder","pipeTo","navigator","Recorder state changed:","ondataavailable: ","resumeRecording","readAsDataURL","floor","process","recordRTC","timeslice","type","timecode","WEBP","invisible","onpause","inputBuffer","webkitAudioContext","*","internalInterleavedLength","undefined","getMixedStream","autoWriteToDisk","onAudioProcessStarted","audio","bytesToSize","readAsArrayBuffer","toFixed","now","getAllStates","AudioContextConstructor","Edge","Cleared old recorded data.","callback is mandatory.","gifBlob","filter","top","quality","message","application/javascript","RecordRTC version: ","map","Passing following config over MediaRecorder API.","console","download","gain","function"," blob ","Resumed recording.","checkForInactiveTracks","mediaType","record","href","WebAudio API has no support on this browser.","getDataURL","image/png","max",") is not supported.","mozGetUserMedia","blobs","setQuality","kind","GenericError","metadatas","addEventListener","autoplay","getTime",'Recording state should be: "recording", however current state is: ',"The UA cannot provide the codec or recording option that has been requested.","initCallback","1112455zfrmlL","desiredSampRate","Whammy","reset","Bytes","save","Recording finished!","Pass a callback function over getDataURL.","Please make sure MediaStream is active.","VP8","image/webp","timeSlice","First parameter is required.","getTracks","stream","dispatchEvent","(eee.data);}","video","HTMLVideoElement","Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features","requestData","sample-rate must be under range 22050 and 96000."," from disk!","state","cues","substr","appVersion","createElement","getWebPImages","sampleRate","onTimeStamp","onStateChanged","slice","clearedRecordedData","workerPath","gifRecorder","getContext"," recorder.","setVersion","audio/wav","getUserMedia","getNativeBlob","Stopped recording ","documentElement","GifRecorder","object","MRecordRTC","resume","bin","className","MediaRecorder Error","play","Your stream has no audio tracks.","toLowerCase","realtime","videoRecorder","audioSources","useGainNode","result","startDrawingFrames","position","paused","frameInterval","617578SZSZBv","MultiStreamsMixer","makeMetadataSeekable","onaudioprocess","MultiStreamRecorder","leftBuffers","right","Store","byteLength","setDelay","audioBlob","for output-type:","terminate","advertisement","frameRate","audioRecorder","whammy","onresume","lacing","leftChannel","image/gif","getBlob","discardable","destination","closed","ondataavailable","onRecordingStopped","length","isTypeSupported","amd","MediaRecorder security error"];return(ga=function(){return t})()}const Aa=ya;function ya(t,e){const s=va();return(ya=function(t,e){return s[t-=376]})(t,e)}!function(t,e){const s=ya,i=t();for(;;)try{if(776603===parseInt(s(383))/1*(parseInt(s(393))/2)+parseInt(s(395))/3+parseInt(s(380))/4+-parseInt(s(391))/5+-parseInt(s(381))/6+parseInt(s(412))/7*(-parseInt(s(379))/8)+parseInt(s(382))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(va);class ba{static[Aa(392)](t){const e=Aa;let s=t,i=s[e(396)],r=new Uint8Array(i),n=0;for(let t=0;t=2&&3===s[t]&&0===s[t-1]&&0===s[t-2]||(r[n]=s[t],n++);return new Uint8Array(r[e(402)],0,n)}static[Aa(390)](t){const e=Aa;let s=ba[e(392)](t),i=new ce(s);i[e(399)]();let r=i[e(399)]();i[e(399)]();let n=i[e(399)]();i[e(404)]();let o=ba.getProfileString(r),a=ba[e(413)](n),h=1,c=420,l=[0,420,422,444],d=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(h=i.readUEG(),3===h&&i[e(405)](1),h<=3&&(c=l[h]),d=i.readUEG()+8,i.readUEG(),i[e(405)](1),i[e(388)]())){let t=3!==h?8:12;for(let s=0;s0&&t<16?(w=s[t-1],S=r[t-1]):255===t&&(w=i[e(399)]()<<8|i[e(399)](),S=i.readByte()<<8|i[e(399)]())}if(i[e(388)]()&&i[e(388)](),i[e(388)]()&&(i.readBits(4),i[e(388)]()&&i.readBits(24)),i[e(388)]()&&(i[e(404)](),i[e(404)]()),i[e(388)]()){let t=i[e(405)](32),s=i[e(405)](32);I=i[e(388)](),T=s,k=2*t,E=T/k}}let _=1;(1!==w||1!==S)&&(_=w/S);let C=0,R=0;if(0===h)C=1,R=2-g;else{C=3===h?1:2,R=(1===h?2:1)*(2-g)}let D=16*(f+1),x=16*(m+1)*(2-g);D-=(A+y)*C,x-=(b+v)*R;let L=Math.ceil(D*_);return i.destroy(),i=null,{profile_string:o,level_string:a,bit_depth:d,ref_frames:p,chroma_format:c,chroma_format_string:ba.getChromaFormatString(c),frame_rate:{fixed:I,fps:E,fps_den:k,fps_num:T},sar_ratio:{width:w,height:S},codec_size:{width:D,height:x},present_size:{width:L,height:x}}}static[Aa(376)](t){const e=Aa;let s=t.subarray(1,4),i=e(384);for(let t=0;t<3;t++){let r=s[t][e(397)](16);r[e(400)]<2&&(r="0"+r),i+=r}let r=ba[e(392)](t),n=new ce(r);n.readByte();let o=n[e(399)]();n[e(399)]();let a=n[e(399)]();n[e(404)]();let h=ba[e(389)](o),c=ba[e(413)](a),l=1,d=420,u=[0,420,422,444],p=8,f=8;if((100===o||110===o||122===o||244===o||44===o||83===o||86===o||118===o||128===o||138===o||144===o)&&(l=n[e(404)](),3===l&&n[e(405)](1),l<=3&&(d=u[l]),p=n[e(404)]()+8,f=n[e(404)]()+8,n[e(405)](1),n[e(388)]())){let t=3!==l?8:12;for(let s=0;s0&&t<16?(I=s[t-1],T=i[t-1]):255===t&&(I=n[e(399)]()<<8|n[e(399)](),T=n[e(399)]()<<8|n[e(399)]())}if(n.readBool()&&n[e(388)](),n[e(388)]()&&(n[e(405)](4),n[e(388)]()&&n[e(405)](24)),n[e(388)]()&&(n[e(404)](),n.readUEG()),n.readBool()){let t=n[e(405)](32),s=n[e(405)](32);_=n[e(388)](),C=s,R=2*t,k=C/R}}let D=1;(1!==I||1!==T)&&(D=I/T);let x=0,L=0;if(0===l)x=1,L=2-b;else{x=3===l?1:2,L=(1===l?2:1)*(2-b)}let P=16*(A+1),M=16*(y+1)*(2-b);P-=(v+w)*x,M-=(S+E)*L;let B=Math[e(386)](P*D);return n.destroy(),n=null,{codec_mimetype:i,profile_idc:o,level_idc:a,profile_string:h,level_string:c,chroma_format_idc:l,bit_depth:p,bit_depth_luma:p,bit_depth_chroma:f,ref_frames:g,chroma_format:d,chroma_format_string:ba[e(378)](d),frame_rate:{fixed:_,fps:k,fps_den:R,fps_num:C},sar_ratio:{width:I,height:T},codec_size:{width:P,height:M},present_size:{width:B,height:M}}}static[Aa(377)](t,e){const s=Aa;let i=8,r=8,n=0;for(let o=0;o=this[e(381)])return this.iserro=!0,0;this[e(380)]=!1,i=this[e(383)]+t>8?8-this[e(383)]:t,s<<=i,s+=this[e(386)][this[e(374)]]>>8-this[e(383)]-i&255>>8-i,this.bufoff+=i,t-=i,8==this[e(383)]&&(this[e(374)]++,this[e(383)]=0)}return s}[wa(375)](t){const e=wa;let s=this[e(374)],i=this[e(383)],r=this[e(387)](t);return this.bufpos=s,this.bufoff=i,r}[wa(382)](){const t=wa;let e;for(e=0;0===this.read(1)&&!this[t(380)];e++);return(1<>>24&255,t>>>16&255,t>>>8&255,255&t]),r=new Uint8Array(t+4);r[e(163)](i,0),r[e(163)](s.sps,4),s[e(119)]=r}if(s.pps){const t=s.pps[e(139)],i=new Uint8Array([t>>>24&255,t>>>16&255,t>>>8&255,255&t]),r=new Uint8Array(t+4);r.set(i,0),r[e(163)](s[e(162)],4),s.pps=r}return s}function xa(t){const e=Ua;let{sps:s,pps:i}=t,r=8+s[e(139)]+1+2+i[e(139)],n=!1;const o=ba[e(120)](s);66!==s[3]&&77!==s[3]&&88!==s[3]&&(n=!0,r+=4);let a=new Uint8Array(r);a[0]=1,a[1]=s[1],a[2]=s[2],a[3]=s[3],a[4]=255,a[5]=225;let h=s[e(139)];a[6]=h>>>8,a[7]=255&h;let c=8;a[e(163)](s,8),c+=h,a[c]=1;let l=i[e(139)];a[c+1]=l>>>8,a[c+2]=255&l,a.set(i,c+3),c+=3+l,n&&(a[c]=252|o[e(190)],a[c+1]=248|o[e(164)]-8,a[c+2]=248|o[e(136)]-8,a[c+3]=0,c+=4);const d=[23,0,0,0,0],u=new Uint8Array(d[e(135)]+a[e(139)]);return u[e(163)](d,0),u[e(163)](a,d[e(135)]),u}function La(t,e){const s=Ua;let i=[];i[0]=e?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i.length+t[s(139)]);return r.set(i,0),r[s(163)](t,i[s(135)]),r}function Pa(t){return 31&t[0]}function Ma(t){return t===J[Ua(174)]}function Ba(t){return!function(t){const e=Ua;return t===J[e(119)]||t===J[e(162)]}(t)&&!Ma(t)}function Fa(t){return t===J[Ua(192)]}!function(t,e){const s=Ua,i=t();for(;;)try{if(920380===-parseInt(s(158))/1+-parseInt(s(118))/2*(parseInt(s(178))/3)+-parseInt(s(134))/4*(-parseInt(s(183))/5)+parseInt(s(161))/6+-parseInt(s(110))/7+-parseInt(s(122))/8*(-parseInt(s(125))/9)+parseInt(s(156))/10*(parseInt(s(169))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ra);class Oa{constructor(t){const e=Ua;this[e(160)]=t,this[e(188)]=!1,this[e(148)]=this[e(155)](0),this[e(188)]&&console.error(e(132))}[Ca(155)](t){const e=Ca;let s=t,i=this.data;for(;;){if(s+3>=i[e(139)])return this[e(188)]=!0,i[e(139)];let t=i[s+0]<<24|i[s+1]<<16|i[s+2]<<8|i[s+3],r=i[s+0]<<16|i[s+1]<<8|i[s+2];if(1===t||1===r)return s;s++}}[Ca(149)](){const t=Ca;let e=this.data,s=null;for(;null==s&&!this[t(188)];){let i=this[t(148)];i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let r=31&e[i],n=(128&e[i])>>>7,o=this.findNextStartCodeOffset(i);this[t(148)]=o,r>=J[t(191)]||0===n&&(s={type:r,data:e[t(105)](i,o)})}return s}}function Ua(t,e){const s=Ra();return(Ua=function(t,e){return s[t-=105]})(t,e)}class ja{constructor(t){const e=Ca;let s=t.data.byteLength;this[e(173)]=t.type,this[e(160)]=new Uint8Array(4+s),new DataView(this.data[e(166)]).setUint32(0,s),this[e(160)][e(163)](t[e(160)],4)}}function Na(t,e){const s=Va();return(Na=function(t,e){return s[t-=270]})(t,e)}function Va(){const t=["96677jLibCp","315890auESJI","m_byte","m_zeros","m_idx","GetBit","8AgohXm","8tzasyq","m_len","GetSE","99fUSSHC","5480167SewLAq","m_data","GetWord","GetUE","84MBBtjq","177356bTVCIW","2403008msiXWg","4488009kzvHLM","4759810ytmyVl","36wjAZhJ","GetBYTE","m_bits","length"];return(Va=function(){return t})()}const za=Na;!function(t,e){const s=Na,i=t();for(;;)try{if(955455===parseInt(s(283))/1*(-parseInt(s(293))/2)+parseInt(s(271))/3+-parseInt(s(284))/4*(-parseInt(s(272))/5)+parseInt(s(292))/6*(-parseInt(s(277))/7)+parseInt(s(270))/8+-parseInt(s(287))/9*(parseInt(s(278))/10)+parseInt(s(288))/11*(-parseInt(s(273))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Va);za(274),za(282),za(290),za(291),za(286);function Wa(){const t=["SPSParser chroma_format_idc > 3","2148816ocQjxy","SPSParser bit_depth_luma_minus8 != bit_depth_chroma_minus8","565758WNkmmW","buffer","469tXNxsd","24iZZcrk","1669515xBjnqM","1293975jmGySJ","22508ZBhqTX","GetUE","GetWord","87MJglQI","434252loYWap","SPSParser sps_seq_parameter_set_id > 15","warn","_ebsp2rbsp"];return(Wa=function(){return t})()}function Ga(t,e){const s=Wa();return(Ga=function(t,e){return s[t-=173]})(t,e)}!function(t,e){const s=Ga,i=t();for(;;)try{if(203523===parseInt(s(186))/1+-parseInt(s(184))/2+parseInt(s(176))/3*(parseInt(s(173))/4)+parseInt(s(188))/5+parseInt(s(182))/6+parseInt(s(177))/7+-parseInt(s(187))/8*(parseInt(s(189))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Wa),function(t,e){const s=Qa,i=t();for(;;)try{if(443069===parseInt(s(177))/1*(parseInt(s(164))/2)+parseInt(s(175))/3+parseInt(s(180))/4*(-parseInt(s(162))/5)+parseInt(s(174))/6*(-parseInt(s(176))/7)+parseInt(s(169))/8+-parseInt(s(161))/9*(-parseInt(s(181))/10)+parseInt(s(170))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ya);const Ha=t=>{const e=Qa;let s=t,i=s[e(167)],r=new Uint8Array(i),n=0;for(let t=0;t=2&&3===s[t]&&0===s[t-1]&&0===s[t-2]||(r[n]=s[t],n++);return new Uint8Array(r[e(160)],0,n)},Ka=t=>{const e=Qa;switch(t){case 0:return"4:0:0";case 1:return e(172);case 2:return e(157);case 3:return"4:4:4";default:return"Unknown"}};function Qa(t,e){const s=Ya();return(Qa=function(t,e){return s[t-=157]})(t,e)}function Ya(){const t=[".B0","readByte","buffer","13194bQeCAg","245600onzTtB","destroy","1048738UukIjS","readSEG","readUEG","byteLength",".1.L","1984200MSTYYi","1341901YZHfaD","hvc1.","4:2:0","readBool","77046ywwGUJ","101703sPwFVI","133orFWel","1krAbqO","push","readBits","36FAOdlG","1370nFmbuD","4:2:2"];return(Ya=function(){return t})()}const qa=Ja;function Ja(t,e){const s=Xa();return(Ja=function(t,e){return s[t-=189]})(t,e)}function Xa(){const t=["5251866qbidib","toFixed","parseSPS","Rext","hvc1.","4053492LiZhKY","parsePPS","readBool","6519850XIizek","byteLength","parseVPS","1571967znJlWO","Unknown","1477284ZMyycN","MainSP","readByte","22wcrmFj","readUEG","4:0:0","readBits","push","4:2:2","620316NsCIVy","4:2:0","_ebsp2rbsp","readSEG","16tqyEIT","getChromaFormatString","buffer","4:4:4","getLevelString","7dgaYEb","min","getProfileString","4kioJaX",".1.L",".B0","6225140IyGQGK","destroy"];return(Xa=function(){return t})()}!function(t,e){const s=Ja,i=t();for(;;)try{if(634746===-parseInt(s(194))/1+parseInt(s(206))/2*(parseInt(s(224))/3)+-parseInt(s(216))/4+-parseInt(s(209))/5+-parseInt(s(211))/6*(-parseInt(s(203))/7)+parseInt(s(198))/8*(parseInt(s(222))/9)+parseInt(s(219))/10*(parseInt(s(227))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Xa);class Za{static[qa(196)](t){const e=qa;let s=t,i=s[e(220)],r=new Uint8Array(i),n=0;for(let t=0;t=2&&3===s[t]&&0===s[t-1]&&0===s[t-2]||(r[n]=s[t],n++);return new Uint8Array(r[e(200)],0,n)}static[qa(221)](t){const e=qa;let s=Za[e(196)](t),i=new ce(s);return i[e(226)](),i.readByte(),i[e(191)](4),i[e(191)](2),i[e(191)](6),{num_temporal_layers:i[e(191)](3)+1,temporal_id_nested:i[e(218)]()}}static[qa(213)](t){const e=qa;let s=Za[e(196)](t),i=new ce(s);i[e(226)](),i.readByte();let r=0,n=0,o=0,a=0;i.readBits(4);let h=i[e(191)](3);i.readBool();let c=i[e(191)](2),l=i[e(218)](),d=i[e(191)](5),u=i[e(226)](),p=i[e(226)](),f=i[e(226)](),m=i[e(226)](),g=i.readByte(),A=i.readByte(),y=i[e(226)](),b=i[e(226)](),v=i[e(226)](),w=i.readByte(),S=i[e(226)](),E=[],I=[];for(let t=0;t0)for(let t=h;t<8;t++)i[e(191)](2);for(let t=0;t1&&i.readSEG();for(let t=0;t0&&t<=16?(B=s[t-1],F=r[t-1]):255===t&&(B=i[e(191)](16),F=i[e(191)](16))}if(i[e(218)]()&&i[e(218)](),i[e(218)]()){i[e(191)](3),i[e(218)](),i.readBool()&&(i[e(226)](),i.readByte(),i[e(226)]())}if(i.readBool()&&(i[e(189)](),i[e(189)]()),i[e(218)](),i[e(218)](),i[e(218)](),P=i[e(218)](),P&&(i[e(189)](),i[e(189)](),i[e(189)](),i.readUEG()),i[e(218)]()){if(U=i[e(191)](32),j=i[e(191)](32),i[e(218)]()&&i[e(189)](),i[e(218)]()){let t=!1,s=!1,r=!1;t=i[e(218)](),s=i[e(218)](),(t||s)&&(r=i[e(218)](),r&&(i[e(226)](),i[e(191)](5),i[e(218)](),i[e(191)](5)),i.readBits(4),i[e(191)](4),r&&i.readBits(4),i[e(191)](5),i[e(191)](5),i[e(191)](5));for(let n=0;n<=h;n++){let n=i[e(218)]();O=n;let o=!0,a=1;!n&&(o=i[e(218)]());let h=!1;if(o?i.readUEG():h=i[e(218)](),!h&&(a=i[e(189)]()+1),t){for(let t=0;t>6&3,i.general_tier_flag=t[1]>>5&1,i[e(420)]=31&t[1],i[e(480)]=t[2]<<24|t[3]<<16|t[4]<<8|t[5],i.general_constraint_indicator_flags=t[6]<<24|t[7]<<16|t[8]<<8|t[9],i[e(474)]=i[e(474)]<<16|t[10]<<8|t[11],i.general_level_idc=t[12],i.min_spatial_segmentation_idc=(15&t[13])<<8|t[14],i[e(527)]=3&t[15],i.chromaFormat=3&t[16],i[e(502)]=7&t[17],i.bitDepthChromaMinus8=7&t[18],i[e(433)]=t[19]<<8|t[20],i[e(520)]=t[21]>>6&3,i[e(540)]=t[21]>>3&7,i.temporalIdNested=t[21]>>2&1,i[e(432)]=3&t[21];let r=t[22],n=t[e(447)](23);for(let t=0;t0)for(let e=s;e<8;e++)t[i(418)](2);r[i(467)]=[],r[i(496)]=[],r[i(431)]=[],r[i(413)]=[],r.sub_layer_progressive_source_flag=[],r.sub_layer_interlaced_source_flag=[],r.sub_layer_non_packed_constraint_flag=[],r[i(528)]=[],r[i(485)]=[];for(let e=0;e{const e=Qa;let s=Ha(t),i=new ce(s);return i[e(159)](),i.readByte(),i.readBits(4),i.readBits(2),i[e(179)](6),{num_temporal_layers:i[e(179)](3)+1,temporal_id_nested:i.readBool()}})(s),a=(t=>{const e=Qa;let s=Ha(t),i=new ce(s);i[e(159)](),i[e(159)]();let r=0,n=0,o=0,a=0;i[e(179)](4);let h=i[e(179)](3);i.readBool();let c=i[e(179)](2),l=i[e(173)](),d=i.readBits(5),u=i[e(159)](),p=i[e(159)](),f=i[e(159)](),m=i[e(159)](),g=i.readByte(),A=i.readByte(),y=i.readByte(),b=i[e(159)](),v=i[e(159)](),w=i[e(159)](),S=i[e(159)](),E=[],I=[];for(let t=0;t0)for(let t=h;t<8;t++)i[e(179)](2);for(let t=0;t1&&i.readSEG();for(let t=0;t0&&t<16?(B=s[t-1],F=r[t-1]):255===t&&(B=i[e(179)](16),F=i[e(179)](16))}if(i[e(173)]()&&i[e(173)](),i[e(173)]()&&(i[e(179)](3),i[e(173)](),i[e(173)]()&&(i[e(159)](),i[e(159)](),i[e(159)]())),i[e(173)]()&&(i.readUEG(),i[e(166)]()),i[e(173)](),i[e(173)](),i.readBool(),P=i[e(173)](),P&&(r+=i.readUEG(),n+=i.readUEG(),o+=i[e(166)](),a+=i[e(166)]()),i.readBool()&&(U=i[e(179)](32),j=i[e(179)](32),i.readBool()&&(i[e(166)](),i[e(173)]()))){let t=!1,s=!1,r=!1;t=i[e(173)](),s=i[e(173)](),(t||s)&&(r=i[e(173)](),r&&(i[e(159)](),i[e(179)](5),i[e(173)](),i[e(179)](5)),i[e(179)](4),i[e(179)](4),r&&i.readBits(4),i.readBits(5),i[e(179)](5),i[e(179)](5));for(let n=0;n<=h;n++){let n=i[e(173)]();O=n;let o=!1,a=1;!n&&(o=i.readBool());let h=!1;if(o?i[e(165)]():h=i.readBool(),!h&&(cpbcnt=i[e(166)]()+1),t)for(let t=0;t{const e=Qa;let s=Ha(t),i=new ce(s);i[e(159)](),i[e(159)](),i[e(166)](),i[e(166)](),i[e(173)](),i[e(173)](),i[e(179)](3),i[e(173)](),i.readBool(),i[e(166)](),i[e(166)](),i[e(165)](),i[e(173)](),i[e(173)](),i.readBool()&&i[e(166)](),i[e(165)](),i[e(165)](),i[e(173)](),i[e(173)](),i.readBool(),i.readBool();let r=i[e(173)](),n=i.readBool(),o=1;return n&&r?o=0:n?o=3:r&&(o=2),{parallelismType:o}})(i);n=Object[e(516)](n,o,a,h);let c=23+(5+s.byteLength)+(5+r.byteLength)+(5+i[e(424)]),l=new Uint8Array(c);l[0]=1,l[1]=(3&n[e(524)])<<6|(n[e(499)]?1:0)<<5|31&n[e(420)],l[2]=n[e(544)]||0,l[3]=n[e(535)]||0,l[4]=n[e(514)]||0,l[5]=n[e(539)]||0,l[6]=n[e(411)]||0,l[7]=n[e(475)]||0,l[8]=n.general_constraint_indicator_flags_3||0,l[9]=n[e(522)]||0,l[10]=n[e(486)]||0,l[11]=n.general_constraint_indicator_flags_6||0,l[12]=60,l[13]=240|(3840&n[e(484)])>>8,l[14]=255&n[e(484)],l[15]=252|3&n[e(527)],l[16]=252|3&n[e(509)],l[17]=248|7&n.bit_depth_luma_minus8,l[18]=248|7&n.bit_depth_chroma_minus8,l[19]=0,l[20]=0,l[21]=(3&n[e(521)])<<6|(7&n[e(448)])<<3|(n.temporal_id_nested?1:0)<<2|3,l[22]=3,l[23]=128|X[e(532)],l[24]=0,l[25]=1,l[26]=(65280&s[e(424)])>>8,l[27]=(255&s.byteLength)>>0,l[e(504)](s,28),l[23+(5+s.byteLength)+0]=128|X[e(547)],l[23+(5+s[e(424)])+1]=0,l[23+(5+s[e(424)])+2]=1,l[23+(5+s[e(424)])+3]=(65280&r[e(424)])>>8,l[23+(5+s[e(424)])+4]=(255&r.byteLength)>>0,l[e(504)](r,23+(5+s[e(424)])+5),l[23+(5+s.byteLength+5+r[e(424)])+0]=128|X.pps,l[23+(5+s[e(424)]+5+r[e(424)])+1]=0,l[23+(5+s[e(424)]+5+r[e(424)])+2]=1,l[23+(5+s[e(424)]+5+r[e(424)])+3]=(65280&i.byteLength)>>8,l[23+(5+s[e(424)]+5+r.byteLength)+4]=(255&i[e(424)])>>0,l.set(i,23+(5+s.byteLength+5+r[e(424)])+5);const d=[28,0,0,0,0],u=new Uint8Array(d[e(459)]+l[e(424)]);return u[e(504)](d,0),u.set(l,d[e(459)]),u}function oh(t,e){const s=$a;let i=[];i[0]=e?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0;const r=new Uint8Array(i[s(459)]+t[s(424)]);return r[s(504)](i,0),r[s(504)](t,i[s(459)]),r}function ah(t){return(126&t[0])>>1}function hh(t){return!((e=t)>=32&&e<=40);var e}function ch(t){return t>=16&&t<=21}!function(t,e){const s=$a,i=t();for(;;)try{if(632977===-parseInt(s(481))/1+parseInt(s(455))/2+-parseInt(s(525))/3*(parseInt(s(543))/4)+parseInt(s(473))/5*(parseInt(s(446))/6)+parseInt(s(482))/7*(parseInt(s(414))/8)+parseInt(s(445))/9+-parseInt(s(483))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(eh);class lh{constructor(t){const e=$a;this[e(508)]=t,this[e(450)]=!1,this[e(512)]=this[e(434)](0),this[e(450)]&&console.error("Could not find H265 startcode until payload end!")}[th(434)](t){const e=th;let s=t,i=this[e(508)];for(;;){if(s+3>=i[e(424)])return this.eofFlag=!0,i[e(424)];let t=i[s+0]<<24|i[s+1]<<16|i[s+2]<<8|i[s+3],r=i[s+0]<<16|i[s+1]<<8|i[s+2];if(1===t||1===r)return s;s++}}readNextNaluPayload(){const t=th;let e=this.data,s=null;for(;null==s&&!this[t(450)];){let i=this[t(512)];i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3;let r=e[i]>>1&63,n=(128&e[i])>>>7,o=this[t(434)](i);this.currentStartcodeOffset=o,0===n&&(s={type:r,data:e[t(511)](i,o)})}return s}}class dh{constructor(t){const e=th;let s=t[e(508)].byteLength;this[e(537)]=t[e(537)],this.data=new Uint8Array(4+s),new DataView(this[e(508)][e(421)])[e(477)](0,s),this[e(508)][e(504)](t[e(508)],4)}}const uh=fh;function ph(){const t=["isRecording","audioMetaInfo","codecHeight","pps","channelCount","extraData","110FZWJEI","timescale","5262192WHuLNr","originalCodec","fileName","refSampleDuration","isH264","presentHeight","audioCodeId","assign","handleAddTrack","923769qDnQwz","_isRecording","codec","startRecordingInterval","414711GHPHgn","170756vrhhLL","h264","8mbeBKa","_recordingTimestamp","stopRecordingInterval","481811pluuVA","handleAddNaluTrack","140ZWYoqa","destroy","metaInfo","initMetaData","1642548sFiekh","stopRecordAndSave","presentWidth","recordingInterval","config","33SXCnXz","codecWidth","handleAddAudioTrack","avcc","sps","sampleRate","vps","slice","initAudioMetaData","depth","TAG_NAME","h265","videoType","_reset","6480096ZHmtGt","codecId","2IeLTaT","isWasmMp4","getToTalByteLength"];return(ph=function(){return t})()}function fh(t,e){const s=ph();return(fh=function(t,e){return s[t-=307]})(t,e)}!function(t,e){const s=fh,i=t();for(;;)try{if(685124===parseInt(s(339))/1*(parseInt(s(309))/2)+-parseInt(s(329))/3+parseInt(s(334))/4*(-parseInt(s(341))/5)+parseInt(s(320))/6+-parseInt(s(307))/7*(-parseInt(s(336))/8)+parseInt(s(333))/9*(-parseInt(s(318))/10)+parseInt(s(350))/11*(parseInt(s(345))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ph);class mh extends n{constructor(t){const e=fh;super(),this[e(360)]="recorderCommon",this.player=t,this.fileName="",this[e(330)]=!1,this[e(337)]=0,this[e(348)]=null,this[e(354)]=null,this[e(315)]=null,this[e(356)]=null,this[e(308)]=null,this[e(326)]=null,this[e(343)]={codecWidth:0,codecHeight:0,presentWidth:0,presentHeight:0,refSampleDuration:0,timescale:1e3,avcc:null,videoType:""},this[e(313)]={timescale:1e3,sampleRate:0,refSampleDuration:0,channelCount:0,codec:"",originalCodec:"",audioType:"",extraData:new Uint8Array(0)}}[uh(342)](){const t=uh;this._reset(),this[t(354)]=null,this[t(315)]=null,this.vps=null,this.codecId=null,this[t(326)]=null,this[t(343)]=null,this.audioMetaInfo=null}get[uh(324)](){const t=uh;return this[t(308)]===H[t(335)]}get isH265(){const t=uh;return this.codecId===H[t(361)]}setFileName(t){this[uh(322)]=t}get[uh(312)](){return this[uh(330)]}get recording(){return this[uh(330)]}get recordTime(){return this[uh(337)]}startRecord(){}[uh(340)](t,e,s,i){}[uh(352)](t,e){}[uh(328)](t){}[uh(346)](){}[uh(332)](){}[uh(310)](){return!1}[uh(338)](){const t=uh;this[t(348)]&&clearInterval(this[t(348)]),this[t(348)]=null}[uh(311)](){return 0}[uh(363)](){const t=uh;this[t(322)]="",this[t(330)]=!1,this[t(337)]=0,this[t(338)]()}[uh(344)](t,e){const s=uh;let i;const r=t[s(357)](5);if(this[s(308)]=e,this[s(343)][s(353)]=r,e===H[s(335)])i=Da(r);else if(e===H[s(361)]){i=function(t){const e=$a;let s=23;const i=t[s];if((63&i)!==X[e(532)])return console[e(435)](e(490)+i),{};s+=2,s+=1;const r=t[s+1]|t[s]<<8;s+=2;const n=t.slice(s,s+r);s+=r;const o=t[s];if((63&o)!==X[e(547)])return console[e(435)](e(501)+o),{};s+=2,s+=1;const a=t[s+1]|t[s]<<8;s+=2;const h=t.slice(s,s+a);s+=a;const c=t[s];if((63&c)!==X[e(495)])return console[e(435)](e(429)+c),{};s+=2,s+=1;const l=t[s+1]|t[s]<<8;s+=2;const d=t[e(447)](s,s+l),u=new Uint8Array([a>>>24&255,a>>>16&255,a>>>8&255,255&a]),p=new Uint8Array([l>>>24&255,l>>>16&255,l>>>8&255,255&l]),f=new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r]),m=new Uint8Array(a+4);m[e(504)](u,0),m[e(504)](h,4);const g=new Uint8Array(l+4);g[e(504)](p,0),g[e(504)](d,4);const A=new Uint8Array(r+4);return A.set(f,0),A[e(504)](n,4),{sps:m,pps:g,vps:A}}(r);const e=sh(t);i=Object[s(327)](i,e)}i&&(i[s(356)]&&(this[s(356)]=i.vps),i[s(315)]&&(this[s(315)]=i[s(315)]),i[s(354)]&&(this[s(354)]=i[s(354)]),i[s(347)]&&(this[s(343)].presentWidth=i[s(347)]),i[s(325)]&&(this[s(343)][s(325)]=i[s(325)]),i[s(351)]&&(this[s(343)][s(351)]=i[s(351)]),i.codecHeight&&(this.metaInfo[s(314)]=i[s(314)]),i.timescale&&(this[s(343)][s(319)]=i[s(319)]),i.refSampleDuration&&(this.metaInfo[s(323)]=i.refSampleDuration),i[s(362)]&&(this.metaInfo[s(362)]=i[s(362)]))}[uh(358)](t,e){const s=uh;this[s(326)]=e;const i=t[0]>>1&1;let r=null;e===Q.AAC?(r=function(t){const e=le;let s={},i=new Ee(t);return i[e(500)](16),s.object_type=Ie(i),s[e(527)]=Te(i,s),s.chan_config=i.read(4),s[e(520)]<_e[e(504)]&&(s[e(523)]=_e[s.chan_config]),s.sbr=-1,s.ps=-1,(5==s[e(522)]||29==s[e(522)])&&(29==s[e(522)]&&(s.ps=1),s.ext_object_type=5,s[e(489)]=1,s[e(527)]=Te(i,s),s.object_type=Ie(i)),{...s,channelCount:s.channels,sampleRate:s[e(527)]}}(t),r&&(r[s(316)]&&(this[s(313)][s(316)]=r.channelCount),r.codec&&(this[s(313)][s(331)]=r[s(331)]),r[s(321)]&&(this.audioMetaInfo[s(321)]=r.originalCodec),r.config&&(this[s(313)][s(349)]=r.config),r[s(355)]&&(this[s(313)].sampleRate=r.sampleRate),this[s(313)][s(355)]&&this.audioMetaInfo[s(319)]&&(this.audioMetaInfo[s(323)]=1024/this[s(313)].sampleRate*this[s(313)][s(319)])),this[s(313)][s(359)]=i?16:8,this.audioMetaInfo[s(317)]=t[s(357)](2)):this[s(313)][s(359)]=0===i?8:16}initAudioAacExtraData(t){const e=uh;this.audioMetaInfo[e(317)]=new Uint8Array(t)}}const gh=yh;function Ah(){const t=["width","audio","8QTDSqR","readAsArrayBuffer","startRecord error","getToTalByteLength","use video frame callback","startRecord and render type is canvas and use captureStream","119250FlpoDK","2017918OKZkMk","getBlob","_initCanvasRender","videoFrameCallback","hasAudio","_removeCanvasRender","start recording","download","stopRecording","RecorderRTC","player","recordWebMSupportSeek","startRecord error and can not create stream","debugLog","size","bind","3541384FpzoqC","totalByteLength","57792dFqRJs","18zCVAWQ","recordEnd","isOldHls","_startRecordingTimestamp","decode","videoStream","recordCreateError","TAG_NAME","canvasElementCtx","startCanvasRender error","addTrack","canvasElement","useMSE","315345UuuXOm","_reset","cancelRecord","length","debugError","metadatas","cancel recording","recordTime","height","isStateSuspended","emitError","useWCS","record timestamp :","canvas","stopRecordAndSave","recorder","startRecord","tools","stream","getAudioTracks","cancelVideoFrameCallback","_recordingTimestamp","recordingInterval","startRecordingInterval","isWebrtcH264","duration","_startCanvasRender","getType","_stopCanvasRender","emit","stopRecordingInterval","1718570UrdrAe","fileName","recordCancel","video/webm","2wIHrTc","getRenderType","video","$videoElement","_isRecording","webrtc","recordStart","clearRect","stop recording","recording","video/webm;codecs=h264","blob","118926byQXlZ","read","getContext","63AsIErO","mediaStream","setInterval","requestVideoFrameCallback","destroy","captureStream","webm","mediaStreamAudioDestinationNode","Reader","initMetaData","getSeekableBlob","getVideoInfo","_stopSupportVideoFrameCallback","supportVideoFrameCallbackHandle","canvasRenderInterval","isDestroyedOrClosed","metadataSize","init","isAliyunRtc","drawImage","_opt"];return(Ah=function(){return t})()}function yh(t,e){const s=Ah();return(yh=function(t,e){return s[t-=209]})(t,e)}!function(t,e){const s=yh,i=t();for(;;)try{if(154624===parseInt(s(291))/1*(-parseInt(s(223))/2)+-parseInt(s(306))/3*(-parseInt(s(242))/4)+parseInt(s(256))/5*(parseInt(s(243))/6)+parseInt(s(224))/7+-parseInt(s(217))/8*(parseInt(s(303))/9)+-parseInt(s(287))/10+-parseInt(s(240))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ah);class bh extends mh{constructor(t){const e=yh;super(t),this[e(250)]="RecordRTCLoader",this[e(241)]=0,this[e(246)]=null,this[e(320)]=null,this[e(319)]=null,this[e(254)]=null,this[e(251)]=null,t.debugLog(e(233),e(211))}[gh(310)](){const t=gh;super.destroy(),this[t(257)](),this[t(234)][t(237)](t(233),"destroy")}[gh(257)](){const t=gh;super[t(257)](),this[t(284)](),this[t(318)](),this[t(229)](),this.totalByteLength=0,this._startRecordingTimestamp=null,this[t(271)]&&(this[t(271)].destroy(),this[t(271)]=null)}[gh(316)](t){const e=gh,s=new(EBML[e(314)]),i=new EBML.Decoder,r=EBML[e(273)],n=new FileReader;return new Promise(((o,a)=>{const h=e;n.onload=function(t){const e=yh;i[e(247)](this.result).forEach((function(t){s[e(304)](t)})),s.stop();const n=r.makeMetadataSeekable(s[e(261)],s[e(281)],s.cues),a=this.result.slice(s[e(210)]),h=new Blob([n,a],{type:e(290)});o(h)},n[h(218)](t)}))}[gh(272)](){const t=gh,e={type:"video",mimeType:t(301),timeSlice:1e3,onTimeStamp:e=>{const s=t;this.player&&this[s(234)][s(237)](s(233),s(268)+e),null===this._startRecordingTimestamp&&(this[s(246)]=e),this._recordingTimestamp=(e-this._startRecordingTimestamp)/1e3},ondataavailable:e=>{const s=t;this[s(241)]+=e[s(238)],this[s(234)]&&this[s(234)][s(237)](s(233),"ondataavailable",e[s(238)])},disableLogs:!this[t(234)][t(214)].debug};try{let s=null;if(this.player[t(292)]()===A[t(269)])s=this[t(234)][t(293)][t(294)][t(311)](25),this[t(234)][t(237)](this[t(250)],t(222));else if(this[t(234)][t(293)][t(307)])s=this.player.video[t(307)],this.player[t(237)](this[t(250)],"startRecord and video mediaStream");else{if(ii(this._startCanvasRender()))return void this[t(234)][t(266)](O.recordCreateError,t(252));this[t(234)][t(245)]()||this[t(234)][t(214)][t(255)]||this[t(234)]._opt[t(267)]?s=this[t(254)][t(311)](25):this[t(234)][t(280)]()?s=this[t(234)][t(296)][t(248)]:this[t(234)][t(212)]()&&(s=this[t(254)][t(311)](25)),this[t(234)][t(237)](this[t(250)],"startRecord and use local canvas render video and captureStream")}if(!s)return this[t(234)][t(260)](t(233),t(236)),void this[t(234)][t(266)](O.recordCreateError,"can not create stream");if(this[t(234)][t(216)]&&this[t(234)][t(216)][t(313)]&&this[t(234)].audio[t(313)].stream&&!this.player[t(216)][t(265)]()&&this[t(234)].audio[t(228)]&&this.player[t(214)][t(228)]){const e=this[t(234)][t(216)][t(313)][t(274)];if(e.getAudioTracks().length>0){const i=e[t(275)]()[0];i&&i.enabled&&s[t(253)](i)}}this[t(271)]=ma(s,e)}catch(e){return this[t(234)][t(260)](t(233),t(219),e),void this.player[t(266)](O[t(249)],e)}this.recorder&&(this[t(295)]=!0,this[t(234)][t(285)](O[t(300)],!0),this[t(271)].startRecording(),this[t(234)][t(237)](t(233),t(230)),this[t(234)].emit(O[t(297)]),this[t(279)]())}startRecordingInterval(){const t=gh;this[t(286)](),this[t(278)]=window[t(308)]((()=>{const e=t;this[e(234)][e(285)](O.recordingTimestamp,this[e(277)])}),1e3)}[gh(270)](){const t=gh;let e=arguments[t(259)]>0&&void 0!==arguments[0]?arguments[0]:W[t(231)],s=arguments[t(259)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;(!this[n(271)]||!this[n(295)])&&r("recorder is not ready"),s&&this.setFileName(s),this.recorder[n(232)]((()=>{const t=n;this[t(234)][t(237)](t(233),t(299));const s=(this[t(288)]||Ve())+"."+p.webm;if(this[t(234)][t(214)][t(235)]);else{if(e===W[t(302)]){const e=this.recorder[t(225)]();i(e),this.player[t(285)](O.recordBlob,e)}else i(),this.recorder.save(s);this[t(234)][t(285)](O[t(244)]),this[t(257)](),this[t(234)][t(285)](O.recording,!1)}}))}))}[gh(258)](){return new Promise(((t,e)=>{const s=yh;if(this.player[s(237)](this[s(250)],s(262)),!this[s(271)]||!this[s(295)])return t();this[s(271)][s(232)]((()=>{const e=s;this[e(257)](),this[e(234)][e(285)](O.recording,!1),this[e(234)][e(285)](O[e(289)]),t()}))}))}[gh(220)](){return this[gh(241)]}getTotalDuration(){return this[gh(263)]}[gh(283)](){return p[gh(312)]}[gh(315)](){}[gh(282)](){const t=gh;return this._initCanvasRender(),this[t(254)]?(di()?(this[t(234)][t(237)](this[t(250)],t(221)),this[t(319)]=this[t(234)][t(293)][t(294)][t(309)](this[t(227)][t(239)](this))):(this[t(234)][t(237)](this.TAG_NAME,"use setInterval"),this[t(284)](),this[t(320)]=setInterval((()=>{const e=t;this[e(251)]&&this.canvasElementCtx[e(213)](this[e(234)][e(293)].$videoElement,0,0,this.canvasElement[e(215)],this.canvasElement.height)}),40)),!0):(this.player[t(260)](this.TAG_NAME,"canvasElement is null"),!1)}[gh(226)](){const t=gh,e=this[t(234)][t(317)]();!this[t(254)]&&e&&(this.canvasElement=document.createElement(t(269)),this.canvasElementCtx=this[t(254)][t(305)]("2d"),e[t(215)]&&e.height&&(this[t(254)][t(215)]=e[t(215)],this[t(254)].height=e[t(264)]))}[gh(229)](){const t=gh;this[t(251)]&&(this[t(251)][t(298)](0,0,this[t(254)][t(215)],this.canvasElement[t(264)]),this[t(251)]=null),this[t(254)]&&(this[t(254)].width=0,this[t(254)][t(264)]=0,this.canvasElement=null)}[gh(284)](){this[gh(320)]&&(clearInterval(this.canvasRenderInterval),this.canvasRenderInterval=null)}[gh(318)](){const t=gh;this[t(319)]&&this[t(234)][t(293)][t(294)]&&(this[t(234)][t(293)][t(294)][t(276)](this[t(319)]),this[t(319)]=null)}[gh(227)](){const t=gh;this[t(234)][t(209)]()?this[t(234)][t(237)](this[t(250)],"videoFrameCallback() player is destroyed"):(this[t(251)]&&this.canvasElementCtx[t(213)](this[t(234)].video[t(294)],0,0,this[t(254)][t(215)],this[t(254)].height),this[t(319)]=this.player.video[t(294)][t(309)](this[t(227)][t(239)](this)))}}const vh=Sh;!function(t,e){const s=Sh,i=t();for(;;)try{if(977164===-parseInt(s(263))/1*(-parseInt(s(262))/2)+-parseInt(s(259))/3*(parseInt(s(274))/4)+parseInt(s(203))/5+-parseInt(s(199))/6*(parseInt(s(236))/7)+parseInt(s(207))/8*(-parseInt(s(229))/9)+-parseInt(s(206))/10+-parseInt(s(285))/11*(-parseInt(s(198))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Eh);class wh{static[vh(242)](){const t=vh;wh[t(279)]={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],free:[],edts:[],elst:[],stss:[]};for(let e in wh[t(279)])wh[t(279)][t(270)](e)&&(wh[t(279)][e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e[t(251)](3)]);let e=wh[t(216)]={};e.FTYP=new Uint8Array([105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,97,118,99,49,109,112,52,49,0,0,0,0]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(225)]=e[t(197)]=e.STTS,e[t(249)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e[t(250)]=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e[t(282)]=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(239)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[vh(237)](t){const e=vh;let s=8,i=null,r=Array[e(273)][e(253)][e(215)](arguments,1),n=r[e(234)];for(let t=0;t>>24&255,i[1]=s>>>16&255,i[2]=s>>>8&255,i[3]=255&s,i[e(226)](t,4);let o=8;for(let t=0;t=Math[i(232)](2,32)-1?(o=16,a=new Uint8Array(s+o),a[i(226)](new Uint8Array([0,0,0,1]),0),a[i(226)](wh.types[i(268)],4),a[i(226)](new Uint8Array([s+8>>>56&255,s+8>>>48&255,s+8>>>40&255,s+8>>>32&255,s+8>>>24&255,s+8>>>16&255,s+8>>>8&255,s+8&255]),8)):(a=new Uint8Array(s+o),a[0]=s+8>>>24&255,a[1]=s+8>>>16&255,a[2]=s+8>>>8&255,a[3]=s+8&255,a[i(226)](wh[i(279)][i(268)],4));for(let t=0;t>>24&255,t>>>16&255,t>>>8&255,255&t,e>>>24&255,e>>>16&255,e>>>8&255,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3]))}static[vh(194)](t){const e=vh;return wh[e(237)](wh[e(279)][e(194)],wh[e(290)](t),wh.mdia(t))}static[vh(290)](t){const e=vh;let s=t.id,i=t[e(188)],r=t.presentWidth,n=t.presentHeight;return t.type===e(208)?wh[e(237)](wh[e(279)][e(290)],new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,n>>>8&255,255&n,0,0])):"audio"===t[e(266)]?wh[e(237)](wh[e(279)][e(290)],new Uint8Array([0,0,0,15,206,186,253,168,206,186,253,168,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0])):void 0}static[vh(261)](t,e){const s=vh;return wh[s(237)](wh[s(279)][s(261)],wh.elst(t,e))}static[vh(258)](t,e){const s=vh;let i=0;for(let r=0;r>>24&255,i>>>16&255,i>>>8&255,255&i,255,255,255,255,0,1,0,0,r>>>24&255,r>>>16&255,r>>>8&255,255&r,0,0,0,0,0,1,0,0]))}static[vh(220)](t){const e=vh;return wh[e(237)](wh[e(279)][e(220)],wh[e(283)](t),wh[e(284)](t),wh[e(213)](t))}static mdhd(t){const e=vh;let s=t.timescale/t.refSampleDuration,i=s*t.duration/t[e(202)];return wh.box(wh[e(279)][e(283)],new Uint8Array([0,0,0,0,206,186,253,168,206,186,253,168,s>>>24&255,s>>>16&255,s>>>8&255,255&s,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static[vh(284)](t){const e=vh;let s=null;return s=t[e(266)]===e(287)?wh[e(216)][e(250)]:wh[e(216)][e(244)],wh[e(237)](wh[e(279)].hdlr,s)}static[vh(213)](t){const e=vh;let s=null;return s=t[e(266)]===e(287)?wh[e(237)](wh[e(279)][e(267)],wh.constants.SMHD):wh[e(237)](wh[e(279)][e(201)],wh[e(216)][e(239)]),wh[e(237)](wh[e(279)][e(213)],s,wh[e(238)](),wh[e(276)](t))}static[vh(238)](){const t=vh;return wh[t(237)](wh[t(279)][t(238)],wh[t(237)](wh[t(279)][t(204)],wh[t(216)][t(282)]))}static[vh(276)](t){const e=vh;let s=t[e(281)],i=[{No:1,num:0,sampleDelte:1,chunkNo:1,duration:s[0][e(188)]}],r=[s[0][e(188)]],n=s.length;for(let t=0;t>>24&255,s>>>16&255,s>>>8&255,255&s]),r=i[e(256)],n=new Uint8Array(r+8*s);n[e(226)](i,0);for(let i=0;i>>24&255,t[i][e(243)]>>>16&255,t[i][e(243)]>>>8&255,255&t[i][e(243)],t[i][e(252)]>>>24&255,t[i][e(252)]>>>16&255,t[i][e(252)]>>>8&255,255&t[i][e(252)]]),r),r+=8;return wh.box(wh[e(279)][e(200)],n)}static[vh(257)](t){const e=vh;let s=[],i=t[e(234)];for(let r=0;r>>24&255,r>>>16&255,r>>>8&255,255&r]),o=n[e(256)],a=new Uint8Array(o+4*r);a[e(226)](n,0);for(let t=0;t>>24&255,s[t]>>>16&255,s[t]>>>8&255,255&s[t]]),o),o+=4;return wh.box(wh[e(279)][e(257)],a)}static[vh(278)](t){const e=vh;let s=t[e(234)],i=new Uint8Array([0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s]),r=i.byteLength,n=new Uint8Array(r+12*s);n[e(226)](i,0);for(let i=0;i>>24&255,s>>>16&255,s>>>8&255,255&s,o>>>24&255,o>>>16&255,o>>>8&255,255&o,a>>>24&255,a>>>16&255,a>>>8&255,255&a]),r),r+=12}return wh[e(237)](wh[e(279)][e(278)],n)}static[vh(269)](t){const e=vh;let s=t[e(234)],i=new Uint8Array([0,0,0,0,0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s]),r=i[e(256)],n=new Uint8Array(r+4*s);n[e(226)](i,0);for(let i=0;i>>24&255,s>>>16&255,s>>>8&255,255&s]),r),r+=4}return wh[e(237)](wh[e(279)][e(269)],n)}static[vh(240)](t,e){const s=vh;let i=e[0].chunkOffset;return wh.box(wh[s(279)][s(240)],new Uint8Array([0,0,0,0,0,0,0,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i]))}static[vh(280)](t){const e=vh;return t.type===e(287)?"mp3"===t[e(205)]?wh.box(wh[e(279)][e(280)],wh[e(216)].STSD_PREFIX,wh[e(247)](t)):wh[e(237)](wh.types[e(280)],wh.constants[e(277)],wh.mp4a(t)):t.videoType===e(189)?wh.box(wh[e(279)][e(280)],wh[e(216)].STSD_PREFIX,wh[e(192)](t)):wh.box(wh[e(279)][e(280)],wh[e(216)].STSD_PREFIX,wh[e(214)](t))}static[vh(247)](t){const e=vh;let s=t[e(191)],i=t[e(195)],r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return wh.box(wh[e(279)][e(235)],r)}static mp4a(t){const e=vh;let s=t[e(191)],i=t[e(195)],r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return wh[e(237)](wh.types[e(196)],r,wh.esds(t))}static[vh(230)](t){const e=vh;let s=t[e(209)]||[],i=s[e(234)],r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5][e(219)]([i])[e(219)](s)[e(219)]([6,1,2]));return wh[e(237)](wh.types.esds,r)}static[vh(192)](t){const e=vh;let s=t[e(271)],i=t.codecWidth,r=t[e(228)],n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return wh[e(237)](wh[e(279)][e(192)],n,wh[e(237)](wh[e(279)].avcC,s))}static hvc1(t){const e=vh;let s=t[e(271)];const i=t[e(265)],r=t[e(228)];let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,13,106,101,115,115,105,98,117,99,97,45,112,114,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return wh[e(237)](wh.types[e(214)],n,wh.box(wh[e(279)][e(218)],s))}static[vh(190)](t){const e=vh;return wh.box(wh[e(279)].mvex,wh.trex(t))}static trex(t){const e=vh;let s=t.id,i=new Uint8Array([0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return wh.box(wh.types[e(223)],i)}static[vh(264)](t,e){const s=vh;return wh[s(237)](wh[s(279)].moof,wh[s(210)](t[s(248)]),wh[s(286)](t,e))}static mfhd(t){const e=vh;let s=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return wh[e(237)](wh[e(279)][e(210)],s)}static[vh(286)](t,e){const s=vh;let i=t.id,r=wh[s(237)](wh.types[s(288)],new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),n=wh[s(237)](wh[s(279)].tfdt,new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e])),o=wh.sdtp(t),a=wh.trun(t,o[s(256)]+16+16+8+16+8+8);return wh.box(wh[s(279)][s(286)],r,n,a,o)}static[vh(272)](t){const e=vh;let s=t[e(281)]||[],i=s[e(234)],r=new Uint8Array(4+i);for(let t=0;t>>24&255,r>>>16&255,r>>>8&255,255&r,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0);for(let t=0;t>>24&255,e>>>16&255,e>>>8&255,255&e,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n[s(224)]<<2|n[s(193)],n[s(246)]<<6|n[s(241)]<<4|n[s(221)],0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12+16*t)}return wh.box(wh[s(279)][s(254)],o)}static[vh(268)](t){const e=vh;return wh.box(wh[e(279)].mdat,t)}}function Sh(t,e){const s=Eh();return(Sh=function(t,e){return s[t-=188]})(t,e)}function Eh(){const t=["moof","codecWidth","type","smhd","mdat","stsz","hasOwnProperty","avcc","sdtp","prototype","436vJbWFj","FTYP","stbl","STSD_PREFIX","stsc","types","stsd","samples","DREF","mdhd","hdlr","21967jlvbsy","traf","audio","tfhd","chunkOffset","tkhd","generateInitSegment","refSampleDuration","duration","avc","mvex","channelCount","avc1","dependsOn","trak","sampleRate","mp4a","STCO","22296soWGjN","24ekBjmE","stts","vmhd","timescale","7618330uqRHtv","dref","codec","15952530BxKinw","120DFAZjm","video","config","mfhd","size","ftyp","minf","hvc1","call","constants","chunkNo","hvcC","concat","mdia","isNonSync","cts","trex","isLeading","STSC","set","moov","codecHeight","304515qdBwnU","esds","push","pow","free","length",".mp3","1416373iTMKLN","box","dinf","VMHD","stco","hasRedundancy","init","num","HDLR_VIDEO","isKeyframe","isDependedOn","mp3","sequenceNumber","STSZ","HDLR_AUDIO","charCodeAt","sampleDelte","slice","trun","flags","byteLength","stss","elst","41886ldXTlD","mvhd","edts","44266gzQiaU","8BqHMOR"];return(Eh=function(){return t})()}wh[vh(242)]();const Ih=Th;function Th(t,e){const s=kh();return(Th=function(t,e){return s[t-=264]})(t,e)}function kh(){const t=["_handleAddFmp4AudioTrack","metaInfo","recordingInterval","destroy","mp4","emit","isRecording","audioSequenceNumber","byteLength","blob","recorderMP4","TAG_NAME","stopRecordingInterval","totalDuration","_reset","setFileName","audio","samples","stopRecordAndSave","getTotalDuration","pts","_handleAddFmp4Track","init","recordStart","vps","_formatAudioFmp4Track","totalAudioByteLength","startRecord","totalAudioDuration","setInterval","player","fileName","808101NTLueZ","_formatFmp4Track","debugLog","458063rvHUml","stop recording fail, this.bufferList.length is 0 ","audioCacheTrack","totalByteLength","recordBlob","application/octet-stream","length","sps","1529724vicbkf","data","recording","audioMetaInfo","840548IMMKob","handleAddAudioTrack","isH265","stop recording","recordingTimestamp","dts","216KyiLqt","originalDts","isH264","1883693GudCai","debugError","duration","_handleAddFmp4Track, is h265 and this.sps or this.pps or this.vps is null ","_startRecordingInterval","185665GKYFkT","2smhEWO","recordCancel","pps","cacheTrack","video","cts","_handleAddFmp4Track, is h264 and this.sps or this.pps is null ","set","audioBufferList","assign","trackList length is ","48976ZWlSID","download","sequenceNumber","stop recording fail, isRecording is false ","bufferList","push"];return(kh=function(){return t})()}!function(t,e){const s=Th,i=t();for(;;)try{if(235015===parseInt(s(319))/1*(-parseInt(s(267))/2)+parseInt(s(316))/3+-parseInt(s(331))/4+-parseInt(s(266))/5+parseInt(s(327))/6+parseInt(s(340))/7+parseInt(s(278))/8*(parseInt(s(337))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(kh);class _h extends mh{constructor(t){const e=Th;super(t),this[e(295)]=e(294),this[e(298)](),t.debugLog(this[e(295)],e(306))}[Ih(287)](){const t=Ih;super[t(287)](),this[t(298)](),this[t(314)].debugLog(this[t(295)],t(287))}[Ih(298)](){const t=Ih;super[t(298)](),this[t(297)]=0,this[t(312)]=0,this[t(322)]=0,this[t(310)]=0,this.bufferList=[],this.audioBufferList=[],this[t(270)]={},this[t(321)]={},this[t(280)]=0,this[t(291)]=0}[Ih(311)](){const t=Ih;this._isRecording=!0,this[t(314)][t(289)](O[t(329)],!0),this[t(314)][t(318)](this[t(295)],"start recording"),this[t(314)][t(289)](O[t(307)]),this[t(265)]()}[Ih(265)](){const t=Ih;this[t(296)](),this[t(286)]=window[t(313)]((()=>{const e=t;this[e(314)][e(289)](O[e(335)],this[e(303)]())}),1e3)}[Ih(317)](t,e,s,i){return{id:1,sequenceNumber:++this[Ih(280)],size:t.byteLength,dts:s,cts:i,isKeyframe:e,data:t,duration:0,flags:{isLeading:0,dependsOn:e?2:1,isDependedOn:e?1:0,hasRedundancy:0,isNonSync:e?0:1}}}[Ih(309)](t,e){const s=Ih;return{id:2,sequenceNumber:++this[s(291)],size:t[s(292)],dts:e,pts:e,cts:0,data:new Uint8Array(t),duration:0,originalDts:e,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}}handleAddNaluTrack(t,e,s,i){const r=Ih;this[r(270)].id&&s>=this[r(270)][r(336)]?(this[r(270)][r(342)]=s-this[r(270)][r(336)],this[r(305)](this.cacheTrack)):this[r(270)]={},this[r(270)]=this[r(317)](t,e,s,i)}[Ih(332)](t,e){}[Ih(305)](t){const e=Ih;if(!this[e(290)])return void this[e(314)][e(341)](this.TAG_NAME,"_handleAddFmp4Track, isRecording is false ");if((null===this.sps||null===this.pps)&&this.isH264)return void this[e(314)][e(341)](this[e(295)],e(273));if((null===this.sps||null===this[e(269)]||null===this[e(308)])&&this[e(333)])return void this[e(314)].debugError(this[e(295)],e(264));const s=Object[e(276)]({},t);s[e(304)]=s[e(336)]+s[e(272)];const i=s.data;if(s.isKeyframe)if(this[e(339)]){const t=new Uint8Array(this.sps[e(292)]+this[e(269)].byteLength);t[e(274)](this[e(326)],0),t[e(274)](this[e(269)],this[e(326)][e(292)]);const r=new Uint8Array(t[e(292)]+i[e(292)]);r[e(274)](t,0),r[e(274)](i,t[e(292)]),s[e(328)]=r}else if(this[e(333)]){const t=new Uint8Array(this.sps.byteLength+this[e(269)][e(292)]+this.vps[e(292)]);t[e(274)](this[e(308)],0),t.set(this[e(326)],this[e(308)][e(292)]),t.set(this[e(269)],this[e(308)][e(292)]+this[e(326)][e(292)]);const r=new Uint8Array(t[e(292)]+i[e(292)]);r[e(274)](t,0),r[e(274)](i,t[e(292)]),s[e(328)]=r}s.size=s[e(328)][e(292)],this.totalDuration+=s[e(342)],this[e(322)]+=s[e(328)][e(292)],s.duration=0,s[e(338)]=s[e(336)],delete s.id,delete s[e(280)],this[e(282)][e(283)](s)}[Ih(284)](t){const e=Ih,s=Object[e(276)]({},t);s[e(304)]=s[e(336)]+s[e(272)],s.size=s.data[e(292)],this.totalAudioDuration+=s[e(342)],this[e(310)]+=s.data[e(292)],s[e(342)]=0,s[e(338)]=s.dts,delete s.id,delete s[e(280)],this.audioBufferList[e(283)](s)}[Ih(303)](){return this[Ih(297)]/1e3}getType(){return p[Ih(288)]}getToTalByteLength(){const t=Ih;return this[t(322)]+this[t(310)]}[Ih(302)](){const t=Ih;let e=arguments[t(325)]>0&&void 0!==arguments[0]?arguments[0]:W[t(279)],s=arguments[t(325)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;if(!this[n(290)])return this[n(314)][n(341)](this[n(295)],"stop recording fail, isRecording is false "),r(n(281));if(0===this[n(282)].length)return this.player[n(341)](this[n(295)],"stop recording fail, this.bufferList.length is 0 "),r(n(320));s&&this[n(299)](s);const o={id:1,type:n(271),sps:this[n(326)],pps:this.pps,samples:this[n(282)],sequenceNumber:this[n(282)].length,length:0,addSampleNum:1,duration:0,...this[n(285)]},a={id:2,type:n(300),sequenceNumber:this[n(275)].length,samples:this[n(275)],...this[n(330)]},h=[o];a[n(301)].length>0&&h[n(283)](a),this[n(314)][n(318)](this.TAG_NAME,n(277)+h[n(325)]);const c=wh.generateInitSegment({timescale:1e3,duration:this[n(297)]},h,this[n(322)]+this.totalAudioByteLength);this[n(314)].debugLog(this.TAG_NAME,n(334));const l=new Blob([c],{type:n(324)});if(e===W[n(293)])i(l),this[n(314)][n(289)](O[n(323)],l);else{i();ps((this[n(315)]||Ve())+"."+p[n(288)],l)}this[n(298)](),this[n(314)].emit(O.recording,!1)}))}cancelRecord(){return new Promise(((t,e)=>{const s=Th;if(this[s(314)][s(318)](this[s(295)],"cancel recording"),!this[s(290)])return t();this[s(298)](),this[s(314)][s(289)](O[s(329)],!1),this.player[s(289)](O[s(268)]),t()}))}_getBufferTs(t){}}function Ch(t,e){const s=Rh();return(Ch=function(t,e){return s[t-=414]})(t,e)}function Rh(){const t=["557428iLiJub","9lZXKEU","padStart","byteLength","16980fFspEn","1001570XMJAMU","reduce","2586178OPhvKc","2Hsoajp","substr","replace","error","1644021PcXFkf","16tRoLKb","14599ywyrOq","3141985PqmGYZ","20diBwsH","length","constructor","set","6lLJNhY","339704EDTVfm"];return(Rh=function(){return t})()}function Dh(){const t=Ch;for(var e=arguments[t(426)],s=new Array(e),i=0;i{const i=t,n=new r((0|e[i(434)])+(0|s[i(434)]));return n[i(428)](e,0),n[i(428)](s,0|e[i(434)]),n}),new r)}function xh(t){const e=Ch;if((t=t[e(419)](/\s/g,""))[e(426)]%2!=0)return console[e(420)]("hexStringToUint8Array: invalid hexString length, must be even and bexString length is: ",t[e(426)]),null;const s=new Uint8Array(t[e(426)]/2);for(let i=0;i{const e=t;this[e(457)].emit(O[e(409)],this[e(446)]())}),1e3)}addMetaData(t){this.flvMetaData=t}addAACSequenceHeader(t){this[Ph(458)]=t}[Ph(411)](t){this[Ph(475)]=t}[Ph(452)](t,e){const s=Ph;this[s(430)](e);const i=this[s(427)](e);this.hasVideo=!0,this[s(454)](t,P[s(425)],i)}[Ph(414)](t,e){const s=Ph;this._setStartTime(e);const i=this[s(427)](e);this[s(471)]=!0,this[s(454)](t,P[s(408)],i)}_setStartTime(t){const e=Ph;null===this.startTime&&this[e(428)]&&(this[e(431)]=t,this[e(457)][e(479)](this[e(480)],e(444)+t))}[Ph(427)](t){const e=Ph;t>this[e(469)]&&(this[e(469)]=t);let s=0;return this[e(431)]&&t>=this[e(431)]&&(s=t-this[e(431)]),s>this.prevTimestamp?this[e(416)]=s:s=this[e(416)],s}_createBufferItem(t,e,s){const i=Ph,r=this._createFlvPacket(t,e,s),n=this[i(420)](r);this.totalByteLength+=n.byteLength,this[i(478)][i(433)](n)}[Ph(420)](t){const e=Ph;let s=11+t[e(437)][e(442)],i=new Uint8Array(s+4);i[0]=t[e(437)][e(453)];let r=new DataView(i[e(445)]);return i[1]=t.header[e(442)]>>16&255,i[2]=t[e(437)][e(442)]>>8&255,i[3]=255&t[e(437)].length,i[4]=t[e(437)][e(476)]>>16&255,i[5]=t.header[e(476)]>>8&255,i[6]=255&t[e(437)].timestamp,i[7]=t[e(437)][e(476)]>>24&255,i[8]=0,i[9]=0,i[10]=0,r[e(422)](s,s),i.set(t.payload[e(426)](0,t[e(437)][e(442)]),11),i}[Ph(418)](){const t=Ph;let e=arguments[t(442)]>0&&void 0!==arguments[0]?arguments[0]:null,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[t(442)]>2&&void 0!==arguments[2]?arguments[2]:0;return{header:{length:e?e[t(442)]:0,timestamp:i,type:s},payload:e}}[Ph(419)](){const t=Ph;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:W.download,s=arguments[t(442)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;if(!this[n(450)])return this[n(457)].debugError(this.TAG_NAME,n(432)),r(n(432));if(0===this.bufferList[n(442)])return this[n(457)].debugError(this[n(480)],n(456)),r("stop recording fail, this.bufferList.length is 0 ");s&&this[n(474)](s);const o=new Uint8Array([70,76,86,1,0,0,0,0,9,0,0,0,0]);this[n(438)]&&(o[4]|=1),this[n(471)]&&(o[4]|=4);let a=[o];if(this[n(429)]){const t=this[n(418)](this.flvMetaData,P.scriptData),e=this._createFlvTag(t);a.push(e)}if(this.videoSequenceHeader){const t=this[n(418)](this[n(475)],P.video),e=this[n(420)](t);a.push(e)}if(this[n(458)]){const t=this[n(418)](this[n(458)],P[n(408)]),e=this[n(420)](t);a[n(433)](e)}const h=function(t){const e=Ch,s=t[0][e(427)];return t[e(415)](((t,i)=>{const r=e,n=new s((0|t[r(434)])+(0|i[r(434)]));return n[r(428)](t,0),n[r(428)](i,0|t.byteLength),n}),new s)}(a.concat(this[n(478)]));this[n(457)][n(479)](this[n(480)],n(472));const c=new Blob([h],{type:"application/octet-stream"});if(e===W[n(423)])i(c),this.player.emit(O[n(465)],c);else{i();ps((this.fileName||Ve())+"."+p[n(440)],c)}this[n(449)](),this[n(457)][n(413)](O[n(412)],!1)}))}cancelRecord(){return new Promise(((t,e)=>{const s=Lh;if(this[s(457)].debugLog(this[s(480)],s(461)),!this[s(450)])return t();this._reset(),this[s(457)].emit(O[s(412)],!1),this[s(457)].emit(O[s(459)]),t()}))}[Ph(446)](){const t=Ph;let e=0;return null!==this[t(431)]&&null!==this[t(469)]&&(e=this.currentTime-this[t(431)]),Math[t(455)](e/1e3)}[Ph(448)](){return p[Ph(440)]}[Ph(463)](){return this[Ph(464)]}}const Fh=jh;function Oh(){const t=["191104MHMfqJ","dispatch","data","reset","secondStartCodeOffset","1733540FTgRBj","init","1660293tzrxGE","findFirstStartCode","1002659SEoLfh","emit","8kakaIO","versionLayer","2RkSAUk","off","player","32584tDnRJo","6PPliun","destroy","stats","tempBuffer","184595QSxwrR","parsedOffset","fisrtStartCodeOffset","state","460926fkOJiu","isDestroyed","length","set","findSecondStartCode"];return(Oh=function(){return t})()}!function(t,e){const s=jh,i=t();for(;;)try{if(101379===parseInt(s(184))/1*(parseInt(s(167))/2)+parseInt(s(179))/3+parseInt(s(170))/4+parseInt(s(175))/5*(-parseInt(s(171))/6)+parseInt(s(163))/7+-parseInt(s(165))/8*(parseInt(s(191))/9)+-parseInt(s(189))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Oh);const Uh={init:0,findFirstStartCode:1,findSecondStartCode:2};function jh(t,e){const s=Oh();return(jh=function(t,e){return s[t-=162]})(t,e)}class Nh extends n{constructor(t){const e=jh;super(),this[e(169)]=t,this[e(180)]=!1,this.reset()}[Fh(172)](){const t=Fh;this[t(180)]=!1,this[t(168)](),this[t(187)]()}[Fh(187)](){const t=Fh;this[t(173)]=Uh[t(190)],this.tempBuffer=new Uint8Array(0),this[t(176)]=0,this[t(166)]=0}[Fh(185)](t,e){const s=Fh;let i=new Uint8Array(this[s(174)][s(181)]+t[s(181)]);for(i[s(182)](this[s(174)],0),i[s(182)](t,this.tempBuffer[s(181)]),this[s(174)]=i;!this.isDestroyed;){if(this[s(178)]==Uh.Init){let t=!1;for(;this[s(174)][s(181)]-this.parsedOffset>=2&&!this[s(180)];)if(255==this[s(174)][this[s(176)]]){if(!(!1&this[s(174)][this.parsedOffset+1])){this[s(166)]=this[s(174)][this[s(176)]+1],this.state=Uh[s(162)],this[s(177)]=this[s(176)],this[s(176)]+=2,t=!0;break}this[s(176)]++}else this[s(176)]++;if(t)continue;break}if(this[s(178)]==Uh[s(162)]){let t=!1;for(;this[s(174)].length-this.parsedOffset>=2&&!this[s(180)];)if(255==this.tempBuffer[this[s(176)]]){if(this[s(174)][this[s(176)]+1]==this[s(166)]){this[s(178)]=Uh.findSecondStartCode,this.secondStartCodeOffset=this.parsedOffset,this[s(176)]+=2,t=!0;break}this.parsedOffset++}else this[s(176)]++;if(t)continue;break}if(this[s(178)]==Uh[s(183)]){let t=this[s(174)].slice(this.fisrtStartCodeOffset,this[s(188)]);this[s(164)](s(186),t,e),this[s(174)]=this[s(174)].slice(this[s(188)]),this[s(177)]=0,this[s(176)]=2,this[s(178)]=Uh[s(162)]}}}}const Vh=zh;function zh(t,e){const s=Wh();return(zh=function(t,e){return s[t-=210]})(t,e)}function Wh(){const t=["debugUuid","hasAudio","pendingVideoFrames","153HnvdJM","finally","_reset","audioCacheTrack","recordTime","cancelRecord","cancel recording","_handleAddAudioTrack","_opt","3293005sCLUqb","66ufhyhE","payload","8800tUzksp","emitError","_prevHandleAddNaluTrack","pendingAudioFrames","_prevHandleAddAudioTrack","cacheTrack","player","recorderWasmMP4","length","debugLog","handleAddNaluTrack","stopRecord","blob","totalByteLength","_recordingTimestamp","encTypeCode","depth","stopRecord error","isRecording","recordingTimestamp","wasmMp4RecorderDecoder","download","dispatch","totalAudioByteLength","startRecordingInterval","cts","652336EvYtXC","sampleRate","getType","push","MP3","duration","recordingInterval","mp3Demuxer","sendAudioFrame","wasmMp4RecorderStarted","metaInfo","TAG_NAME","13170CcjaXa","byteLength","recordStart","JessibucaProMp4Recorder","catch","codecId","wasmMp4Recorder","setFileName","avcc","totalAudioDuration","stopRecordingInterval","recording","startRecord error","start recording","startRecord","mp4","forEach","video","317372zemdvZ","height","round","emit","getTotalDuration","destroy","hasVideo","isIFrame","audioCodeId","dts","debugLevel","extraData","getVideoInfo","stop recording fail, isRecording is false ","recordCreateError","handleAddAudioTrack","36XxrYeT","recordBlob","497024gYLLQU","862337HtJMyR","init","stopRecordAndSave","stop recording fail, recording time is 0 ","then","debugError","isWasmMp4"];return(Wh=function(){return t})()}!function(t,e){const s=zh,i=t();for(;;)try{if(409451===parseInt(s(224))/1+parseInt(s(303))/2*(parseInt(s(263))/3)+parseInt(s(242))/4+parseInt(s(262))/5+parseInt(s(240))/6*(-parseInt(s(243))/7)+-parseInt(s(291))/8+parseInt(s(253))/9*(-parseInt(s(265))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Wh);class Gh extends mh{constructor(t){const e=zh;super(t),this[e(302)]=e(272),this[e(255)](),this[e(212)]=null,this[e(298)]=null,this[e(300)]=!1,this[e(268)]=[],this.pendingVideoFrames=[],t.debugLog(this.TAG_NAME,e(244))}[Vh(229)](){const t=Vh;super[t(229)](),this[t(298)]&&(this.mp3Demuxer[t(229)](),this[t(298)]=null),this[t(255)](),this.player.debugLog(this[t(302)],t(229))}[Vh(255)](){const t=Vh;super[t(255)](),this[t(270)]={},this.audioCacheTrack={},this[t(215)]=0,this[t(278)]=0,this[t(288)]=0,this.hasAudio=!1,this[t(230)]=!1}[Vh(293)](){return p[Vh(221)]}[Vh(249)](){return!0}[Vh(228)](){return this[Vh(279)]/1e3}getToTalByteLength(){return this[Vh(278)]+this.totalAudioByteLength}[Vh(220)](){const t=Vh,e=this[t(271)],s=this.player.getAudioInfo(),i=this[t(271)][t(236)](),r={};if(this[t(211)]){const e={type:this[t(211)],width:i.width,height:i[t(225)],extraData:this[t(301)][t(214)]};r[t(223)]=e,this[t(230)]=!0}if(s[t(280)]){const e={type:s[t(280)],sampleRate:s[t(292)],channels:s.channels,extraData:this.audioMetaInfo[t(235)],depth:s[t(281)]};this[t(232)]=s.encTypeCode,r.audio=e,this.hasAudio=!0}this[t(212)]=new(window[t(306)])({debug:e._opt.debug,debugLevel:e[t(261)][t(234)],debugUuid:e[t(261)][t(250)],decoder:e[t(261)][t(285)]}),this[t(212)].on(t(284),(e=>{const s=t;this[s(279)]=Math[s(226)](e/1e3)})),this._isRecording=!0,this[t(212)].startRecord(r).then((()=>{const e=t;this[e(271)][e(227)](O[e(217)],!0),this[e(300)]=!0,this.player[e(274)](this[e(302)],e(219)),this[e(271)][e(227)](O[e(305)]),this[e(289)]()})).catch((e=>{const s=t;this[s(271)][s(248)](this.TAG_NAME,s(218),e),this[s(271)][s(266)](O[s(238)],e)}))}startRecordingInterval(){const t=Vh;this[t(216)](),this[t(297)]=window.setInterval((()=>{const e=t;this[e(271)][e(227)](O.recordingTimestamp,this[e(257)])}),1e3)}[Vh(245)](){const t=Vh;let e=arguments[t(273)]>0&&void 0!==arguments[0]?arguments[0]:W[t(286)],s=arguments[t(273)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t;return this[n(283)]?0===this[n(279)]?(this[n(271)][n(248)](this[n(302)],n(246)),r("stop recording fail, recording time is 0 ")):(s&&this[n(213)](s),void this[n(212)][n(276)]()[n(247)]((t=>{const s=n;if(e===W[s(277)])i(t),this[s(271)][s(227)](O[s(241)],t);else{i();ps((this.fileName||Ve())+"."+p.mp4,t)}}))[n(210)]((t=>{const e=n;this.player[e(248)](this[e(302)],e(282),t),r(t)}))[n(254)]((()=>{const t=n;this[t(255)](),this[t(271)][t(227)](O[t(217)],!1)}))):(this.player[n(248)](this[n(302)],n(237)),r(n(237)))}))}[Vh(258)](){return new Promise(((t,e)=>{const s=zh;if(this[s(271)].debugLog(this[s(302)],s(259)),!this[s(283)]||0===this[s(279)])return t();this[s(212)][s(276)]()[s(247)]((e=>{t()}))[s(210)]((t=>{const i=s;this[i(271)][i(248)](this[i(302)],i(282),t),e(t)}))[s(254)]((()=>{const t=s;this[t(255)](),this[t(271)].emit(O[t(217)],!1),this[t(271)][t(227)](O.recordCancel)}))}))}[Vh(239)](t,e){const s=Vh;ii(this[s(251)])||(this[s(300)]?(this[s(268)][s(273)]>0&&(this[s(268)][s(222)]((t=>{const e=s;this[e(269)](t[e(264)],t[e(233)])})),this.pendingAudioFrames=[]),this._prevHandleAddAudioTrack(t,e)):this[s(268)][s(294)]({payload:t,dts:e}))}[Vh(269)](t,e){const s=Vh;this.audioCodeId===Q[s(295)]?(!this.mp3Demuxer&&(this[s(298)]=new Nh(this[s(271)]),this[s(298)].on("data",((t,e)=>{this[s(260)](t,e)}))),this.mp3Demuxer[s(287)](t,e)):this[s(260)](t,e)}[Vh(260)](t,e){const s=Vh;this[s(256)].id&&e>=this[s(256)][s(233)]?(this[s(256)][s(296)]=e-this[s(256)][s(233)],this[s(215)]+=this[s(256)][s(296)],this[s(288)]+=this.audioCacheTrack[s(264)][s(304)],this[s(212)][s(299)](this[s(256)][s(264)],this[s(256)][s(233)])):this[s(256)]={},this.audioCacheTrack={id:2,payload:t,dts:e}}[Vh(275)](t,e,s,i){const r=Vh;ii(this.hasVideo)||(this.wasmMp4RecorderStarted?(this.pendingVideoFrames.length>0&&(this[r(252)].forEach((t=>{const e=r;this._prevHandleAddNaluTrack(t[e(264)],t[e(231)],t[e(233)],t[e(290)])})),this[r(252)]=[]),this._prevHandleAddNaluTrack(t,e,s,i)):this.pendingVideoFrames[r(294)]({payload:t,isIFrame:e,dts:s,cts:i}))}[Vh(267)](t,e,s,i){const r=Vh;this[r(270)].id&&s>=this[r(270)][r(233)]?(this[r(270)][r(296)]=s-this[r(270)][r(233)],this[r(278)]+=this[r(270)][r(264)][r(304)],this.wasmMp4Recorder.sendVideoFrame(this.cacheTrack.payload,this[r(270)].isIFrame,this[r(270)].dts,this[r(270)][r(290)])):this[r(270)]={},this[r(270)]={id:1,payload:t,isIFrame:e,dts:s,cts:i}}}function Hh(t,e){const s=Kh();return(Hh=function(t,e){return s[t-=307]})(t,e)}function Kh(){const t=["getLoaderFactory","recordType","16599VluRKc","isOldHls","useWasm","3994419qOdOfI","12WEVYwZ","6UhWjJO","useWCS","110pkgylv","9LkPYJc","292764cetIRg","2GTlVyF","useMSE","12psXBIA","2575hCyUEb","isWebrtcH264","1203680vEsYUF","mp4RecordUseWasm","1477035SBDQGE","32776ktasnE","mp4"];return(Kh=function(){return t})()}!function(t,e){const s=Hh,i=t();for(;;)try{if(137158===parseInt(s(321))/1*(-parseInt(s(307))/2)+parseInt(s(320))/3+parseInt(s(315))/4*(parseInt(s(324))/5)+-parseInt(s(316))/6*(-parseInt(s(328))/7)+parseInt(s(326))/8*(parseInt(s(319))/9)+parseInt(s(318))/10*(parseInt(s(311))/11)+-parseInt(s(323))/12*(parseInt(s(314))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Kh);class Qh{constructor(t){return new(Qh[Hh(309)](t,t._opt))(t)}static getLoaderFactory(t,e){const s=Hh;if(t[s(312)]()||t[s(325)]()||t.isAliyunRtc())return bh;if(e[s(310)]===p[s(308)]){if(e[s(313)]||e[s(322)]||e[s(317)])return window.JessibucaProMp4Recorder&&e[s(327)]?Gh:_h}else if(e[s(310)]===p.flv)return Bh;return bh}}function Yh(t,e){const s=qh();return(Yh=function(t,e){return s[t-=372]})(t,e)}function qh(){const t=["join","2233YIcvNv","268455dNHyxq","1xPmrOH","fromCharCode","length","push","14803758QtpIay","4310076PdGUYO","8UqlHLM","38320OPdjtH","5384230DoEmIW","7930074hsyIqa","7yxKQzl","3216842WdjGSd"];return(qh=function(){return t})()}function Jh(t,e,s){let i=t;if(e+s=128){s[e(384)](String[e(382)](65535&t)),r+=2;continue}}}else if(i[r]<240){if(Jh(i,r,2)){let t=(15&i[r])<<12|(63&i[r+1])<<6|63&i[r+2];if(t>=2048&&55296!=(63488&t)){s[e(384)](String[e(382)](65535&t)),r+=3;continue}}}else if(i[r]<248&&Jh(i,r,3)){let t=(7&i[r])<<18|(63&i[r+1])<<12|(63&i[r+2])<<6|63&i[r+3];if(t>65536&&t<1114112){t-=65536,s.push(String[e(382)](t>>>10|55296)),s[e(384)](String[e(382)](1023&t|56320)),r+=4;continue}}s[e(384)](String.fromCharCode(65533)),++r}return s[e(378)]("")}function Zh(t,e){const s=tc();return(Zh=function(t,e){return s[t-=151]})(t,e)}!function(t,e){const s=Yh,i=t();for(;;)try{if(911172===parseInt(s(381))/1*(-parseInt(s(377))/2)+-parseInt(s(380))/3+parseInt(s(386))/4+parseInt(s(374))/5+-parseInt(s(375))/6*(-parseInt(s(376))/7)+parseInt(s(372))/8*(-parseInt(s(385))/9)+parseInt(s(373))/10*(parseInt(s(379))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(qh);const $h=Zh;function tc(){const t=["error","442296sGhxuD","push","64VdePak","getUint8","4574kqvZnv","getUint16","parseObject","852esujnn","name","102411CWTTFO","value","setInt16","parseLongString","107517SbwuEI","parseDate","AMF","getFloat64","414WSRpoB","2744700SYALPU","3237144pDUhrI","65BIcZSY","data","toString","parseValue","parseString","220LPniPR","size","503558YTvTNj","objectEnd","getUint32"];return(tc=function(){return t})()}!function(t,e){const s=Zh,i=t();for(;;)try{if(508807===parseInt(s(180))/1*(-parseInt(s(162))/2)+parseInt(s(158))/3*(-parseInt(s(178))/4)+parseInt(s(165))/5*(-parseInt(s(176))/6)+parseInt(s(163))/7+-parseInt(s(164))/8+parseInt(s(154))/9*(-parseInt(s(170))/10)+parseInt(s(172))/11*(parseInt(s(152))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(tc);let ec=function(){const t=Zh;let e=new ArrayBuffer(2);return new DataView(e)[t(156)](0,256,!0),256===new Int16Array(e)[0]}();class sc{static parseScriptData(t,e,s){const i=Zh;let r={};try{let n=sc.parseValue(t,e,s),o=sc[i(168)](t,e+n[i(171)],s-n[i(171)]);r[n[i(166)]]=o.data}catch(t){console.error(i(160),t[i(167)]())}return r}static[$h(151)](t,e,s){const i=$h;let r=sc[i(169)](t,e,s),n=sc[i(168)](t,e+r[i(171)],s-r[i(171)]),o=n[i(173)];return{data:{name:r[i(166)],value:n[i(166)]},size:r[i(171)]+n[i(171)],objectEnd:o}}static parseVariable(t,e,s){return sc.parseObject(t,e,s)}static parseString(t,e,s){const i=$h;let r,n=new DataView(t,e,s)[i(181)](0,!ec);return r=n>0?Xh(new Uint8Array(t,e+2,n)):"",{data:r,size:2+n}}static[$h(157)](t,e,s){const i=$h;let r,n=new DataView(t,e,s)[i(174)](0,!ec);return r=n>0?Xh(new Uint8Array(t,e+4,n)):"",{data:r,size:4+n}}static[$h(159)](t,e,s){const i=$h;let r=new DataView(t,e,s),n=r[i(161)](0,!ec);return n+=60*r.getInt16(8,!ec)*1e3,{data:new Date(n),size:10}}static[$h(168)](t,e,s){const i=$h;let r,n=new DataView(t,e,s),o=1,a=n[i(179)](0),h=!1;try{switch(a){case 0:r=n[i(161)](1,!ec),o+=8;break;case 1:r=!!n.getUint8(1),o+=1;break;case 2:{let n=sc.parseString(t,e+1,s-1);r=n[i(166)],o+=n[i(171)];break}case 3:{r={};let a=0;for(9==(16777215&n[i(174)](s-4,!ec))&&(a=3);o{const t=e;window[t(676)].revokeObjectURL(this[t(694)]),this[t(694)]=null,this.workerClearTimeout=null}),_)}this.decoderWorker=new Worker(s),this[e(716)](),this[e(681)](),t[e(661)](e(553),e(634)+s),t.on(O[e(560)],(()=>{const s=e;this[s(517)]({key:s(526),value:t.visibility})}))}[oc(530)](){return new Promise(((t,e)=>{const s=ac;if(this[s(698)][s(523)])if(this[s(698)][s(661)](s(553),"has loaded and post message to destroy"),this[s(553)]){const e={};this[s(698)].isMseDecoderUseWorker()&&(e[s(471)]=this[s(698)][s(677)]()),this[s(553)][s(689)]({cmd:M.close,options:e}),this[s(640)]=t,this[s(592)]=setTimeout((()=>{const e=s;this[e(698)][e(478)](e(553),"send close but not response and destroy directly"),this[e(494)](),setTimeout((()=>{t()}),0)}),2e3)}else this[s(698)][s(478)]("decoderWorker",s(568)),this._destroy(),setTimeout((()=>{t()}),0);else this.player[s(661)](s(553),s(488)),this[s(494)](),setTimeout((()=>{t()}),0)}))}[oc(494)](){const t=oc;this[t(592)]&&(clearTimeout(this[t(592)]),this.decoderWorkerCloseTimeout=null),this[t(694)]&&(window[t(676)][t(583)](this[t(694)]),this[t(694)]=null),this[t(543)]&&(clearTimeout(this[t(543)]),this[t(543)]=null),this[t(553)]&&(this[t(553)][t(500)](),this[t(553)][t(456)]=null,this[t(553)][t(617)]=null,this[t(553)][t(573)]=null,this[t(553)]=null),this[t(698)][t(661)](t(553),t(530)),this[t(640)]&&(this[t(640)](),this[t(640)]=null),this[t(648)]=!0}[oc(681)](){const t=oc;this[t(698)][t(623)]()&&(this[t(698)][t(661)](this.TAG_NAME,t(571)),this[t(698)].on(O[t(597)],(e=>{this[t(691)](e)})))}[oc(716)](){const t=oc;this[t(698)],this[t(553)][t(456)]=e=>{const s=t,i=e[s(554)]||"",r=e[s(612)]||"",n=i&&(-1!==i[s(618)](s(572))||-1!==i[s(618)](s(670))),o=i&&-1!==i[s(618)](s(550));n&&o&&-1!==r[s(618)](Mt[s(633)])?this[s(698)][s(661)](s(553),"onerror and ignore filename: "+i+",message: "+r,e):(this.player[s(474)](s(553),s(655)+i+s(613)+r,e),n?this.player[s(678)](N[s(641)],s(521)+i+s(613)+r):this.player[s(678)](N.decoderWorkerInitError,s(521)+i+s(613)+r))},this.decoderWorker[t(617)]=e=>{const s=t;this[s(698)][s(474)]("decoderWorker",s(617),e)},this[t(553)][t(573)]=e=>{const s=t,i=e[s(687)];switch(i[s(649)]){case x[s(718)]:this[s(698)][s(661)]("decoderWorker",s(539),x[s(718)]),this[s(553)]&&this._initWork(),!this[s(698)][s(523)]&&this[s(698)][s(711)](O[s(460)]),this.player[s(711)](O[s(669)]);break;case x[s(624)]:this[s(698)][s(661)]("decoderWorker",s(539),x[s(624)],i[s(516)]),!this.player[s(596)][s(459)]&&(this.player[s(596)][s(459)]=Ve()),this.player[s(607)][s(584)]({encTypeCode:i[s(516)]});break;case x[s(723)]:this[s(698)][s(661)](s(553),"onmessage:",x[s(723)],i[s(701)]),this[s(698)][s(647)]&&this[s(698)][s(647)][s(503)](i[s(493)],i[s(701)]),this.player[s(607)].updateVideoInfo({encTypeCode:i[s(701)]});break;case x[s(468)]:this.player[s(661)](s(553),s(539),x[s(468)],i.code),this[s(698)].audio&&this[s(698)][s(511)][s(557)]({encTypeCode:i[s(516)]});break;case x[s(549)]:this.player[s(661)](s(553),s(539),x[s(549)]),this.player[s(647)]&&this[s(698)].recorder[s(636)](i[s(493)]);break;case x[s(688)]:if(this[s(698)][s(661)](s(553),"onmessage:",x.initVideo,"width:"+i.w+s(594)+i.h),fs(i.w)||fs(i.h))return void this.player.emitError(N[s(501)],s(580)+i.w+s(709)+i.h+s(619));if(this[s(698)][s(607)][s(545)](),this[s(698)][s(607)][s(584)]({width:i.w,height:i.h}),!this[s(698)][s(639)][s(502)]&&i.w/2%4!=0&&this[s(698)].getRenderType()===A[s(492)])return void this[s(698)].emitError(N[s(570)]);this.player[s(607)][s(627)](),this[s(698)][s(639)].playType===u[s(600)]?(this.player.video.initFps(),this[s(698)][s(607)][s(495)]()):this[s(698)].isPlayVod()&&(this[s(698)][s(607)][s(475)](),this[s(698)][s(607)].initVideoDelay());break;case x[s(651)]:if(this[s(698)][s(661)](s(553),"onmessage:",x[s(651)],s(586)+i.channels+s(538)+i[s(663)]),i[s(455)]>2)return void this.player[s(678)](N[s(491)],s(453)+i[s(455)]+s(589)+2);this[s(698)][s(511)]&&(this[s(698)][s(511)][s(557)](i),this[s(698)]._opt.playType===u[s(698)]?this[s(698)][s(511)][s(659)]():(this[s(698)]._opt.playType===u.playbackTF||this.player[s(461)]())&&this[s(698)][s(511)].initScriptNode());break;case x[s(673)]:if(!this[s(698)][s(607)])return void this[s(698)][s(478)]("decoderWorker",s(671));if(this[s(698)].isPlayer()){if(ii(this[s(698)].video[s(695)]()))return void this[s(698)][s(478)](s(553),s(685));this[s(698)][s(607)].render(i),this[s(698)][s(674)](),this[s(698)][s(711)](O[s(547)],i.ts),this.player[s(672)]({dfps:!0,buf:i[s(514)]}),!this.player[s(596)].videoStart&&(this[s(698)]._times[s(532)]=Ve(),this[s(698)][s(569)]())}else if(this[s(698)][s(552)]())this.player.updateStats({dfps:!0}),ii(this[s(698)].playbackPause)?(this[s(698)][s(513)].isUseLocalCalculateTime&&this[s(698)].playback[s(660)](),this.player[s(513)][s(485)]?this[s(698)].video[s(631)](i):this[s(698)].video[s(510)](i)):this.player.playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this[s(698)][s(513)][s(485)]&&this[s(698)][s(607)].pushData(i);else if(this[s(698)][s(461)]())if(this[s(698)][s(452)][s(642)]()){const t=this.player[s(452)][s(704)];Math.abs(i.ts-t)<500&&(this[s(698)][s(452)][s(534)](),this[s(698)].updateStats({dfps:!0}),this.player[s(607)].render$2(i))}else this[s(698)][s(672)]({dfps:!0}),this[s(698)][s(607)].render$2(i);break;case x[s(638)]:this[s(698)][s(647)]&&this[s(698)][s(647)][s(629)]&&this[s(698)]._opt[s(608)]===p[s(692)]&&this.player.recorder[s(458)](i[s(493)],i[s(567)],i.ts,i[s(581)]);break;case x[s(489)]:this.player.recorder&&this[s(698)].recorder[s(629)]&&this[s(698)]._opt[s(608)]===p[s(692)]&&this.player[s(647)][s(499)]()&&this.player[s(647)][s(699)](i[s(493)],i.ts);break;case x.videoPayload:const{webcodecsDecoder:t,mseDecoder:e}=this[s(698)];this[s(698)][s(672)]({buf:i[s(514)]});const r=new Uint8Array(i.payload);this.player[s(639)][s(620)]&&!this.player[s(639)][s(519)]?t.decodeVideo(r,i.ts,i.isIFrame,i[s(581)]):this[s(698)]._opt[s(506)]&&e[s(626)](r,i.ts,i.isIFrame,i.cts);break;case x[s(657)]:if(this[s(698)][s(639)].useMSE){const t=new Uint8Array(i[s(588)]);this.player[s(686)][s(602)](t,i.ts,i[s(581)])}break;case x.playAudio:if(!this[s(698)][s(511)])return void this[s(698)].debugWarn(s(553),s(496));if(this.player[s(615)]&&this[s(698)][s(511)]||!this[s(698)][s(607)])if(!this[s(698)][s(639)][s(487)]&&this.player[s(674)](),this[s(698)]._opt.playType===u[s(698)])this[s(698)][s(511)].play(i.buffer,i.ts);else if(this.player[s(639)][s(582)]===u[s(600)])ii(this[s(698)].playbackPause)?this[s(698)][s(511)][s(561)](i[s(493)],i.ts):this[s(698)].playback.isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this.player[s(513)][s(485)]&&this.player.audio.play(i.buffer,i.ts);else if(this.player[s(461)]()&&ii(this[s(698)][s(706)])){if(this[s(698)].playVod.isSeeking())return;this.player[s(511)][s(561)](i[s(493)],i.ts)}break;case x[s(472)]:if(i.type===O[s(713)])this.player[s(505)]?this[s(698)].stream[s(711)](O[s(713)]):this.player[s(478)](s(553),"onmessage and workerFetch response stream success but stream is null");else if(i[s(598)]===O.streamRate)this[s(698)].emit(O.kBps,(i[s(643)]/1024)[s(556)](2));else if(i[s(598)]===O[s(563)])this[s(698)]?(i.value===d.websocket&&this[s(698)].emit(O[s(645)],i.msg),this[s(698)].stream?this.player[s(505)][s(711)](O[s(563)],i[s(658)]):this[s(698)][s(478)](s(553),s(551))):this[s(698)].debugWarn(s(553),s(546));else if(i.type===O[s(653)])this[s(698)][s(616)]();else if(i[s(598)]===N[s(555)])this.player&&this[s(698)][s(505)]?this[s(698)][s(505)][s(711)](N[s(555)],i.value):this[s(698)].debugWarn("decoderWorker",s(529));else if(i.type===N[s(646)])this.player&&this.player[s(505)]?this[s(698)][s(505)][s(711)](N[s(646)],i[s(643)]):this[s(698)][s(478)](s(553),s(536));else if(i[s(598)]===O[s(599)])this[s(698)][s(672)]({abps:i.value});else if(i[s(598)]===O[s(635)])!this[s(698)]._times[s(477)]&&(this.player[s(596)][s(477)]=Ve()),this[s(698)][s(672)]({vbps:i[s(643)]});else if(i[s(598)]===O[s(464)])this[s(698)].updateStats({dts:i[s(643)]});else if(i[s(598)]===O[s(481)])this[s(698)][s(672)]({netBuf:i[s(643)]});else if(i.type===O[s(533)])this[s(698)][s(711)](O[s(533)],i[s(643)]);else if(i[s(598)]===O[s(466)]){const t=JSON[s(722)](i[s(643)]);this[s(698)][s(672)]({workerStats:t})}else i[s(598)]===O[s(509)]&&this[s(698)][s(711)](O[s(509)]);break;case x[s(579)]:this[s(698)]&&(this.player[s(591)]=i.value);break;case x[s(610)]:this[s(698)]&&this[s(698)][s(672)]({isDropping:!0});break;case x[s(520)]:this[s(698)][s(558)]();break;case x[s(575)]:this[s(698)]&&this[s(698)][s(607)]&&this.player[s(607)][s(652)](i[s(643)]);break;case x[s(527)]:this[s(698)].emitError(N[s(527)],i[s(643)]);break;case x[s(680)]:this[s(698)][s(678)](N[s(680)],i[s(643)]);break;case x[s(522)]:this.player[s(678)](N[s(522)]);break;case x[s(604)]:this[s(698)][s(661)]("decoderWorker",s(539),x[s(604)]),this[s(698)][s(530)](),console[s(566)](s(465)),alert(s(470)),window.location[s(696)]();break;case x.closeEnd:this[s(698)][s(661)](s(553),s(539),x.closeEnd),this._destroy();break;case x.tempStream:this[s(698)]&&this.player[s(656)](i[s(493)]);break;case x.videoSEI:this[s(698)]&&this.player[s(528)]({ts:i.ts,data:new Uint8Array(i[s(493)])});break;case x.flvScriptData:if(this.player){if(this[s(698)][s(628)]()){const t=new Uint8Array(i[s(493)]);this[s(698)][s(647)][s(525)](t)}const t=nc(new Uint8Array(i[s(493)]));t&&t[s(609)]&&this[s(698)].updateMetaData(t[s(609)])}break;case x[s(473)]:if(this[s(698)]&&this[s(698)][s(628)]()){const t=new Uint8Array(i[s(493)]);this.player[s(647)][s(483)](t,i.ts)}break;case x[s(605)]:if(this[s(698)]&&this[s(698)][s(628)]()){const t=new Uint8Array(i.buffer);this[s(698)][s(647)][s(668)](t,i.ts)}break;case x[s(707)]:if(this.player&&this.player[s(628)]()&&this[s(698)].recording){const t=new Uint8Array(i[s(493)]);i[s(598)]===L[s(607)]?this[s(698)][s(647)][s(480)](t,i.ts):i[s(598)]===L[s(511)]&&this[s(698)][s(647)][s(577)](t,i.ts)}break;case x[s(576)]:this[s(698)]&&(this[s(698)][s(661)](s(553),"onmessage:",x[s(576)]),this[s(698)][s(607)].$videoElement[s(479)]=i[s(576)]);break;case x[s(682)]:this[s(698)]&&(this.player[s(661)](s(553),"onmessage:",x[s(682)],i[s(643)]),this[s(698)][s(621)][s(482)]=Number(i[s(643)]));break;case x[s(535)]:this[s(698)]&&(this[s(698)][s(661)](s(553),"onmessage:",x.mseError,i[s(643)],i.msg),this.player[s(678)](i[s(643)],i[s(658)]));break;case x[s(714)]:this[s(698)]&&(this[s(698)][s(661)](this[s(590)],s(539),x[s(714)]),this[s(698)][s(678)](N[s(714)]));break;default:this[s(698)][i[s(649)]]&&this.player[i.cmd](i)}}}_initWork(){const t=oc,e={debug:this[t(698)][t(639)][t(720)],debugLevel:this[t(698)]._opt[t(469)],debugUuid:this[t(698)]._opt.debugUuid,useOffscreen:this.player._opt.useOffscreen,useWCS:this[t(698)][t(639)][t(620)],useMSE:this.player._opt[t(506)],videoBuffer:this[t(698)][t(639)][t(705)],videoBufferDelay:this[t(698)]._opt[t(524)],openWebglAlignment:this[t(698)][t(639)][t(502)],playType:this[t(698)][t(639)][t(582)],hasAudio:this.player[t(639)][t(693)],hasVideo:this[t(698)]._opt.hasVideo,playbackRate:1,playVodRate:1,playbackForwardMaxRateDecodeIFrame:this.player[t(639)].playbackForwardMaxRateDecodeIFrame,playbackIsCacheBeforeDecodeForFpsRender:this[t(698)][t(639)][t(644)][t(630)],sampleRate:this.player.audio&&this[t(698)].audio[t(565)]&&this[t(698)][t(511)][t(565)][t(663)]||Gt,audioBufferSize:this[t(698)][t(511)]&&this[t(698)][t(511)][t(614)]()||1024,networkDelay:this[t(698)][t(639)].networkDelay,visibility:this[t(698)].visibility,useSIMD:this[t(698)][t(639)].useSIMD,recordType:this[t(698)][t(639)].recordType,checkFirstIFrame:this[t(698)][t(639)][t(520)],isM7sCrypto:this[t(698)][t(639)].isM7sCrypto,isXorCrypto:this[t(698)][t(639)].isXorCrypto,isSm4Crypto:this[t(698)][t(639)][t(606)],isSm4CryptoH265V2:this[t(698)][t(639)][t(518)],sm4CryptoKey:this[t(698)][t(639)][t(531)],m7sCryptoAudio:this.player._opt[t(484)],isFlv:this[t(698)][t(639)][t(515)],isFmp4:this[t(698)]._opt[t(662)],isMpeg4:this[t(698)][t(639)][t(497)],isTs:this[t(698)][t(639)].isTs,isNakedFlow:this.player[t(639)][t(476)],isHls265:this.player[t(593)](),isEmitSEI:this[t(698)][t(639)].isEmitSEI,isRecordTypeFlv:this[t(698)][t(628)](),isWasmMp4:this[t(698)][t(647)]&&this[t(698)][t(647)].isWasmMp4()||!1,isChrome:Ls(),isFirefox:Ze(),supportMSEDecodeHevc:cs(),isDropSameTimestampGop:this[t(698)][t(639)][t(601)],mseDecodeAudio:this[t(698)][t(639)][t(463)],wcsDecodeAudio:this[t(698)]._opt.wcsDecodeAudio,nakedFlowH265DemuxUseNew:this[t(698)][t(639)][t(712)],mseDecoderUseWorker:this[t(698)][t(639)][t(544)],mseAutoCleanupMinBackwardDuration:this[t(698)]._opt.mseAutoCleanupMinBackwardDuration,mseAutoCleanupMaxBackwardDuration:this[t(698)][t(639)][t(719)],mseCorrectTimeDuration:this[t(698)]._opt[t(541)],mseCorrectAudioTimeDuration:this.player[t(639)][t(457)],nakedFlowDemuxUseNew:this[t(698)][t(639)].nakedFlowDemuxUseNew,nakedFlowFps:this[t(698)][t(639)].nakedFlowFps,checkStreamEnd:this[t(698)]._opt[t(611)]};this[t(553)][t(689)]({cmd:M[t(718)],opt:JSON[t(679)](e)}),this[t(698)][t(639)][t(622)]&&this[t(698)][t(639)][t(622)][t(542)]>0&&this.player._opt[t(508)]&&this.player[t(639)].cryptoIV[t(542)]>0&&(this[t(517)]({key:t(622),value:this[t(698)][t(639)][t(622)]}),this[t(517)]({key:t(508),value:this[t(698)][t(639)].cryptoIV}))}decodeVideo(t,e,s){const i=oc;this[i(698)]._opt[i(582)]===u[i(698)]?this.player[i(593)]()?this[i(537)](t,e,s):this[i(710)](t,e,s):this[i(698)][i(639)][i(582)]===u[i(600)]?this[i(698)][i(708)]()?s&&(this[i(698)][i(661)](i(553),i(684)+this[i(698)][i(607)][i(664)]+i(564)),this[i(537)](t,e,s)):1===this[i(698)].video[i(664)]?this._decodeVideo(t,e,s):this._decodeVideoNoDelay(t,e,s):this.player[i(461)]()&&this._decodeVideoNoDelay(t,e,s)}_decodeVideo(t,e,s){const i=oc,r={type:L[i(607)],ts:Math.max(e,0),isIFrame:s};this[i(553)][i(689)]({cmd:M[i(504)],buffer:t,options:r},[t.buffer])}_decodeVideoNoDelay(t,e,s){const i=oc;this.decoderWorker.postMessage({cmd:M[i(467)],buffer:t,ts:Math.max(e,0),isIFrame:s},[t[i(493)]])}[oc(602)](t,e){const s=oc;this.player[s(639)][s(582)]===u[s(698)]?this.player[s(639)][s(620)]||this[s(698)][s(639)][s(506)]||this[s(698)][s(593)]()?this[s(697)](t,e):this._decodeAudio(t,e):this[s(698)][s(639)][s(582)]===u[s(600)]?this[s(698)][s(708)]()||(1===this.player.video[s(664)]?this._decodeAudio(t,e):this._decodeAudioNoDelay(t,e)):this[s(698)].isPlayVod()&&this._decodeAudioNoDelay(t,e)}[oc(667)](t,e){const s=oc,i={type:L[s(511)],ts:Math[s(562)](e,0)};this[s(553)][s(689)]({cmd:M.decode,buffer:t,options:i},[t.buffer])}[oc(697)](t,e){const s=oc;this[s(553)][s(689)]({cmd:M.audioDecode,buffer:t,ts:Math[s(562)](e,0)},[t[s(493)]])}[oc(517)](t){const e=oc;this.decoderWorker&&this[e(553)][e(689)]({cmd:M[e(700)],key:t[e(462)],value:t.value})}workerFetchStream(t){const e=oc;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{_opt:i}=this.player;let r=[];s[e(703)]&&(r=s[e(703)],delete s[e(703)]);const n={protocol:i.protocol,isFlv:i.isFlv,isFmp4:i.isFmp4,isMpeg4:i.isMpeg4,isNakedFlow:i.isNakedFlow,isTs:i[e(650)],options:s};this[e(553)][e(689)]({cmd:M[e(675)],url:t,protocols:r,opt:JSON[e(679)](n)})}[oc(559)](){const t=oc;let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.decoderWorker[t(689)]({cmd:M[t(683)],needClear:e})}[oc(603)](t){const e=oc;this[e(553)][e(689)]({cmd:M[e(632)],message:t})}[oc(654)](t){const e=oc;this[e(553)][e(689)]({cmd:M.mseUpdateVideoTimestamp,message:t})}[oc(691)](t){const e=oc;this.decoderWorker[e(689)]({cmd:M[e(574)],isPause:t})}}var lc=Rc;!function(t,e){for(var s=Rc,i=t();;)try{if(205731===-parseInt(s(536))/1+-parseInt(s(510))/2+parseInt(s(459))/3*(parseInt(s(465))/4)+-parseInt(s(455))/5*(parseInt(s(515))/6)+-parseInt(s(550))/7+-parseInt(s(456))/8+-parseInt(s(528))/9*(-parseInt(s(512))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fc);var dc,uc=lc(462),pc=lc(477),fc=/^(?:text|application)\/xml/i,mc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ac=/^\s*$/,yc={},bc={},vc="",wc={type:lc(445),beforeSend:Sc,success:Sc,error:Sc,complete:Sc,context:null,xhr:function(){return new(window[lc(530)])},accepts:{json:uc,xml:lc(542),html:pc,text:lc(513),"*":"*/"[lc(521)]("*")},crossDomain:!1,timeout:0,username:null,password:null,processData:!0,promise:Sc,contentType:lc(498)};function Sc(){}var Ec=function(t,e){var s=lc;"object"==typeof t&&(e=t,t=void 0);var i=Lc({},e=e||{});for(var r in wc)void 0===i[r]&&(i[r]=wc[r]);try{var n={},o=new Promise((function(t,e){var s=Rc;n[s(457)]=t,n[s(471)]=e}));o.resolve=n[s(457)],o[s(471)]=n[s(471)],i.promise=o}catch(t){i.promise={resolve:Sc,reject:Sc}}var a=gc[s(484)](window.location[s(450)][s(444)]())||[];i.url=((t||i.url||window[s(475)][s(450)])+"")[s(531)](/#.*$/,"").replace(/^\/\//,a[1]+"//");var h=i[s(495)];!i[s(519)]&&(i[s(519)]=/^([\w-]+:)?\/\/([^\/]+)/[s(547)](i[s(495)])&&RegExp.$2!==window[s(475)][s(450)]);var c=i[s(472)];if(c===s(503)){if(!/=\?/.test(i[s(495)])){var l=(i[s(503)]||"callback")+"=?";i.url=Cc(i.url,l)}return function(t){var e,s=lc,i=t[s(541)]||"jsonp"+Bc(),r=window[s(452)].createElement(s(492)),n={abort:function(){i in window&&(window[i]=Sc)}},o=window.document[s(474)]("head")[0]||window.document[s(470)];function a(i){var r=s;window[r(506)](e),n[r(517)](),kc(i[r(532)],n,i[r(532)],t),h()}function h(){var t=s;r[t(486)]?r[t(486)]():r[t(496)]=r[t(464)]=r[t(507)]=null,r.parentNode&&r.parentNode[t(490)](r),r=null,delete window[i]}return r[s(507)]=function(t){a(t)},window[i]=function(i){window[s(506)](e),Ic(i,n,t),h()},Dc(t),r[s(493)]=t[s(495)].replace(/=\?/,"="+i),r[s(493)]=Cc(r.src,"_="+(new Date)[s(529)]()),r[s(516)]=!0,t[s(483)]&&(r[s(466)]=t.scriptCharset),o[s(488)](r,o.firstChild),t.timeout>0&&(e=window.setTimeout((function(){var e=s;n[e(517)](),kc(e(552),n,"timeout",t),h()}),t[s(552)])),t[s(491)][s(517)]=function(){n[s(517)]()},t[s(491)][s(523)]=n,t[s(491)]}(i)}Dc(i);var d=i.accepts[c]||i[s(520)]["*"],u={};/^([\w-]+:)\/\//[s(547)](i.url)?RegExp.$1:window[s(475)].protocol;var p,f=wc[s(523)]();!i[s(519)]&&!u["X-Requested-With"]&&(u[s(482)]=s(530)),i.ifModified&&(yc[h]&&(u[s(460)]=yc[h]),bc[h]&&(u[s(509)]=bc[h])),d&&(u[s(451)]=d,d[s(463)](",")>-1&&(d=d[s(544)](",",2)[0]),f[s(454)]&&f[s(454)](d));var m=!/^(?:GET|HEAD)$/[s(547)](i.type[s(497)]());if((i[s(546)]&&m&&!1!==i[s(476)]||e[s(476)])&&(u[s(480)]=i[s(476)]),!1===i.cache&&!m){var g=/([?&])_=[^&]*/;i.url=g.test(h)?h.replace(g,s(448)+Bc()):h+(/\?/[s(547)](h)?"&":"?")+"_="+Bc()}i[s(449)]=Lc(u,i[s(449)]||{}),f[s(464)]=function(){var t,e,r=s;if(4===f[r(458)]){clearTimeout(p);var n,o=!1;if(f[r(540)]>=200&&f[r(540)]<300||304===f[r(540)]){if(vc=f[r(518)](),i.ifModified){var a=_c(r(535));a&&(yc[h]=a),(a=_c(r(548)))&&(bc[h]=a)}c=c||(t=f.getResponseHeader(r(489)),e=lc,t&&(t===pc?"html":t===uc?e(527):fc[e(547)](t)&&e(551))||"text"),n=f[r(538)];try{c===r(551)?n=f[r(514)]:"json"===c&&(n=Ac[r(547)](n)?null:JSON[r(481)](n))}catch(t){o=t}o?kc(o,r(525),f,i):Ic(n,f,i)}else kc(null,r(473),f,i)}};var A=!(s(516)in i)||i[s(516)];if(f[s(501)](i[s(532)],i.url,A,i[s(494)],i[s(499)]),i[s(526)])for(var y in i.xhrFields)f[y]=i.xhrFields[y];for(var y in i[s(524)]&&f[s(454)]&&f[s(454)](i[s(524)]),i[s(449)])void 0!==i[s(449)][y]&&f[s(461)](y,i[s(449)][y]+"");return!1===function(t,e){var s=lc,i=e[s(478)];if(!1===e[s(446)][s(487)](i,t,e))return!1}(f,i)?(f[s(517)](),!1):(i[s(552)]>0&&(p=window[s(508)]((function(){var t=s;f[t(464)]=Sc,f[t(517)](),kc(null,t(552),f,i)}),i[s(552)])),f[s(522)](i.data?i[s(546)]:null),i[s(491)].abort=function(){f[s(517)]()},i[s(491)])};function Ic(t,e,s){var i=lc,r=s[i(478)],n="success";s[i(479)].call(r,t,n,e),s[i(491)][i(457)](t,n,e),Tc(n,e,s)}function Tc(t,e,s){var i=lc,r=s[i(478)];s[i(539)][i(487)](r,e,t)}function kc(t,e,s,i){var r=lc,n=i[r(478)];i[r(473)][r(487)](n,s,e,t),i[r(491)][r(471)](s,e,t),Tc(e,s,i)}function _c(t){var e,s=lc;if(!dc){for(dc={};e=mc.exec(vc);)dc[e[1][s(444)]()]=e[2];e=dc[t[s(444)]()]}return null===e?null:e}function Cc(t,e){return(t+"&"+e)[lc(531)](/[&?]{1,2}/,"?")}function Rc(t,e){var s=Fc();return(Rc=function(t,e){return s[t-=444]})(t,e)}function Dc(t){var e,s,i,r,n=lc;Pc(t)&&!(t[n(546)]instanceof FormData)&&t[n(504)]&&(t[n(546)]=(e=t[n(546)],(r=[])[(i=lc)(469)]=function(t,e){this[i(467)](encodeURIComponent(t)+"="+encodeURIComponent(e))},xc(r,e,s),r[i(468)]("&")[i(531)](i(447),"+"))),t[n(546)]&&(!t.type||"GET"===t[n(532)][n(497)]())&&(t[n(495)]=Cc(t[n(495)],t.data))}function xc(t,e,s,i){var r,n,o=lc,a=(r=e,n=lc,Object[n(537)][n(549)].call(r)===n(505));for(var h in e){var c=e[h];i&&(h=s?i:i+"["+(a?"":h)+"]"),!i&&a?t[o(469)](c[o(534)],c[o(545)]):(s?a(c):Pc(c))?xc(t,c,s,h):t.add(h,c)}}function Lc(t){for(var e=lc,s=Array[e(537)][e(533)],i=s[e(487)](arguments,1),r=0,n=i[e(543)];r255)return!1;return!0}function Vc(t,e){var s=fl;if(t[s(448)]&&t[s(427)]===s(418))return e&&(t=t[s(482)]?t[s(482)]():Array[s(464)][s(482)][s(433)](t)),t;if(Array[s(458)](t)){if(!Nc(t))throw new Error(s(480)+t);return new Uint8Array(t)}if(jc(t[s(453)])&&Nc(t))return new Uint8Array(t);throw new Error("unsupported array-like object")}function zc(t){return new Uint8Array(t)}function Wc(t,e,s,i,r){var n=fl;(null!=i||null!=r)&&(t=t.slice?t.slice(i,r):Array.prototype[n(482)][n(433)](t,i,r)),e[n(445)](t,s)}!function(t,e){for(var s=fl,i=t();;)try{if(835012===parseInt(s(459))/1+-parseInt(s(462))/2+parseInt(s(474))/3+-parseInt(s(434))/4+parseInt(s(471))/5*(parseInt(s(475))/6)+parseInt(s(442))/7*(parseInt(s(430))/8)+parseInt(s(479))/9*(-parseInt(s(452))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Uc);var Gc,Hc,Kc={toBytes:function(t){var e=fl,s=[],i=0;for(t=encodeURI(t);i191&&r<224?(s[e(428)](String[e(443)]((31&r)<<6|63&t[i+1])),i+=2):(s[e(428)](String[e(443)]((15&r)<<12|(63&t[i+1])<<6|63&t[i+2])),i+=3)}return s[e(483)]("")}},Qc=(Hc=(Gc=fl)(477),{toBytes:function(t){for(var e=fl,s=[],i=0;i>4]+Hc[15&r])}return s[e(483)]("")}}),Yc={16:10,24:12,32:14},qc=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Jc=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Xc=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Zc=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],$c=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],tl=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],el=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],sl=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],il=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],rl=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],nl=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ol=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],al=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],hl=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],cl=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function ll(t){for(var e=fl,s=[],i=0;i>2,this._Ke[i][s%4]=o[s],this._Kd[e-i][s%4]=o[s];for(var a,h=0,c=n;c>16&255]<<24^Jc[a>>8&255]<<16^Jc[255&a]<<8^Jc[a>>24&255]^qc[h]<<24,h+=1,8!=n)for(s=1;s>8&255]<<8^Jc[a>>16&255]<<16^Jc[a>>24&255]<<24;for(s=n/2+1;s>2,d=c%4,this[t(451)][l][d]=o[s],this[t(469)][e-l][d]=o[s++],c++}for(var l=1;l>24&255]^al[a>>16&255]^hl[a>>8&255]^cl[255&a]},dl[Oc(464)][Oc(429)]=function(t){var e=Oc;if(16!=t.length)throw new Error(e(417));for(var s=this[e(451)][e(453)]-1,i=[0,0,0,0],r=ll(t),n=0;n<4;n++)r[n]^=this[e(451)][0][n];for(var o=1;o>24&255]^$c[r[(n+1)%4]>>16&255]^tl[r[(n+2)%4]>>8&255]^el[255&r[(n+3)%4]]^this[e(451)][o][n];r=i.slice()}var a,h=zc(16);for(n=0;n<4;n++)a=this[e(451)][s][n],h[4*n]=255&(Jc[r[n]>>24&255]^a>>24),h[4*n+1]=255&(Jc[r[(n+1)%4]>>16&255]^a>>16),h[4*n+2]=255&(Jc[r[(n+2)%4]>>8&255]^a>>8),h[4*n+3]=255&(Jc[255&r[(n+3)%4]]^a);return h},dl[Oc(464)][Oc(465)]=function(t){var e=Oc;if(16!=t[e(453)])throw new Error("invalid ciphertext size (must be 16 bytes)");for(var s=this._Kd.length-1,i=[0,0,0,0],r=ll(t),n=0;n<4;n++)r[n]^=this[e(469)][0][n];for(var o=1;o>24&255]^il[r[(n+3)%4]>>16&255]^rl[r[(n+2)%4]>>8&255]^nl[255&r[(n+1)%4]]^this[e(469)][o][n];r=i.slice()}var a,h=zc(16);for(n=0;n<4;n++)a=this[e(469)][s][n],h[4*n]=255&(Xc[r[n]>>24&255]^a>>24),h[4*n+1]=255&(Xc[r[(n+3)%4]>>16&255]^a>>16),h[4*n+2]=255&(Xc[r[(n+2)%4]>>8&255]^a>>8),h[4*n+3]=255&(Xc[255&r[(n+1)%4]]^a);return h};var ul=function(t){var e=Oc;if(!(this instanceof ul))throw Error(e(419));this.description="Electronic Code Block",this[e(427)]=e(424),this[e(467)]=new dl(t)};ul[Oc(464)][Oc(429)]=function(t){var e=Oc;if((t=Vc(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var s=zc(t.length),i=zc(16),r=0;rNumber[e(472)])throw new Error(e(439));for(var s=15;s>=0;--s)this[e(436)][s]=t%256,t=parseInt(t/256)},Al[Oc(464)].setBytes=function(t){var e=Oc;if(16!=(t=Vc(t,!0))[e(453)])throw new Error(e(470));this[e(436)]=t},Al[Oc(464)][Oc(476)]=function(){for(var t=Oc,e=15;e>=0;e--){if(255!==this[t(436)][e]){this._counter[e]++;break}this[t(436)][e]=0}};var yl=function(t,e){var s=Oc;if(!(this instanceof yl))throw Error(s(419));this[s(457)]=s(440),this[s(427)]="ctr",!(e instanceof Al)&&(e=new Al(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this[s(467)]=new dl(t)};yl[Oc(464)].encrypt=function(t){for(var e=Oc,s=Vc(t,!0),i=0;i16)throw new Error(e(435));for(var i=t[e(453)]-s,r=0;r>>2]>>>24-a%4*8&255;s[n+a>>>2]|=h<<24-(n+a)%4*8}else for(var c=0;c>>2]=r[c>>>2];return this[e(278)]+=o,this},clamp:function(){var e=i,s=this[e(275)],r=this[e(278)];s[r>>>2]&=4294967295<<32-r%4*8,s.length=t[e(250)](r/4)},clone:function(){var t=i,e=c[t(220)][t(222)](this);return e[t(275)]=this[t(275)][t(231)](0),e},random:function(t){for(var e=i,s=[],r=0;r>>2]>>>24-o%4*8&255;n.push((a>>>4)[e(255)](16)),n.push((15&a)[e(255)](16))}return n[e(282)]("")},parse:function(t){for(var e=i,s=t[e(243)],r=[],n=0;n>>3]|=parseInt(t[e(224)](n,2),16)<<24-n%8*4;return new(l[e(241)])(r,s/2)}},p=d.Latin1={stringify:function(t){for(var e=i,s=t[e(275)],r=t[e(278)],n=[],o=0;o>>2]>>>24-o%4*8&255;n[e(251)](String[e(236)](a))}return n[e(282)]("")},parse:function(t){for(var e=i,s=t[e(243)],r=[],n=0;n>>2]|=(255&t[e(254)](n))<<24-n%4*8;return new(l[e(241)])(r,s)}},f=d.Utf8={stringify:function(t){var e=i;try{return decodeURIComponent(escape(p.stringify(t)))}catch(t){throw new Error(e(257))}},parse:function(t){return p[i(238)](unescape(encodeURIComponent(t)))}},m=h[i(277)]=c.extend({reset:function(){var t=i;this[t(259)]=new l.init,this[t(217)]=0},_append:function(t){var e=i;typeof t==e(285)&&(t=f[e(238)](t)),this._data[e(274)](t),this._nDataBytes+=t.sigBytes},_process:function(e){var s,r=i,n=this._data,o=n[r(275)],a=n.sigBytes,h=this.blockSize,c=a/(4*h),d=(c=e?t[r(250)](c):t[r(258)]((0|c)-this[r(235)],0))*h,u=t[r(248)](4*d,a);if(d){for(var p=0;p>>2]|=t[o]<<24-o%4*8;i.call(this,n,r)}else i[s(477)](this,arguments)};r[e(478)]=s}}(),t[e(480)][e(499)]},"object"===(r=_l)(486)?t[r(481)]=i(El):"undefined"===r(487)&&(void 0)[r(500)]?(void 0)([r(491)],i):i(s.CryptoJS)}));var Rl=Dl;!function(t,e){for(var s=Dl,i=t();;)try{if(721040===parseInt(s(384))/1*(parseInt(s(386))/2)+-parseInt(s(406))/3+parseInt(s(408))/4+-parseInt(s(395))/5+-parseInt(s(393))/6+-parseInt(s(391))/7+parseInt(s(394))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(xl);ee[Rl(387)]((function(t,e){var s,i,r,n=Rl;s=ee[n(399)],i=function(t){var e=n;return function(){var e=Dl,s=t,i=s[e(397)][e(402)],r=s[e(409)];function n(t){return t<<8&4278255360|t>>>8&16711935}r[e(390)]=r.Utf16BE={stringify:function(t){for(var s=e,i=t[s(407)],r=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535;n[s(400)](String[s(389)](a))}return n.join("")},parse:function(t){for(var s=e,r=t.length,n=[],o=0;o>>1]|=t[s(403)](o)<<16-o%2*16;return i[s(396)](n,2*r)}},r[e(385)]={stringify:function(t){for(var s=e,i=t[s(407)],r=t[s(405)],o=[],a=0;a>>2]>>>16-a%4*8&65535);o[s(400)](String[s(389)](h))}return o.join("")},parse:function(t){for(var s=e,r=t[s(388)],o=[],a=0;a>>1]|=n(t[s(403)](a)<<16-a%2*16);return i.create(o,2*r)}}}(),t[e(409)].Utf16},(r=Dl)(401)==r(401)?t[r(398)]=i(El):i(s[r(404)])}));function Dl(t,e){var s=xl();return(Dl=function(t,e){return s[t-=384]})(t,e)}function xl(){var t=["909210aOwmOW","create","lib","exports","commonjsGlobal","push","object","WordArray","charCodeAt","CryptoJS","sigBytes","3876108hZYdEs","words","4338808kOWDaO","enc","1312281ZWNFvI","Utf16LE","2hZICJK","createCommonjsModule","length","fromCharCode","Utf16","3023020BnUEgi","./core","5898072ixadlR","9702456VBfwxj"];return(xl=function(){return t})()}function Ll(){var t=["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","1507797uBMQIi","enc","function","indexOf","WordArray","exports","commonjsGlobal","charAt","_map","397248WcybZO","object","1072534gbtIpF","lib","2FRyrZO","join","8LymXcg","amd","length","_reverseMap","charCodeAt","14164670iFmMxp","6395588ShFiem","create","Base64","54SuPaXj","3582299XHylgn","79775AXsUaS","clamp","sigBytes","push"];return(Ll=function(){return t})()}function Pl(t,e){var s=Ll();return(Pl=function(t,e){return s[t-=418]})(t,e)}!function(t,e){for(var s=Pl,i=t();;)try{if(921919===-parseInt(s(440))/1*(-parseInt(s(438))/2)+-parseInt(s(436))/3+parseInt(s(448))/4+-parseInt(s(422))/5*(-parseInt(s(420))/6)+-parseInt(s(421))/7*(parseInt(s(442))/8)+parseInt(s(427))/9+-parseInt(s(447))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ll);te((function(t,e){var s,i,r,n=Pl;s=ee[n(433)],i=function(t){var e,s,i,r=n;return i=(s=t)[(e=Pl)(439)][e(431)],s[e(428)][e(419)]={stringify:function(t){var s=e,i=t.words,r=t[s(424)],n=this[s(435)];t[s(423)]();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(i[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|i[a+2>>>2]>>>24-(a+2)%4*8&255,c=0;c<4&&a+.75*c>>6*(3-c)&63));var l=n[s(434)](64);if(l)for(;o.length%4;)o[s(425)](l);return o[s(441)]("")},parse:function(t){var s=e,r=t[s(444)],n=this[s(435)],o=this[s(445)];if(!o){o=this._reverseMap=[];for(var a=0;a>>6-h%4*2;o[a>>>2]|=c<<24-a%4*8,a++}return i[n(418)](o,a)}(t,r,o)},_map:e(426)},t.enc[r(419)]},(r=Pl)(437)==r(437)?t[r(432)]=i(El):"undefined"===r(429)&&(void 0)[r(443)]?(void 0)(["./core"],i):i(s.CryptoJS)}));var Ml=Bl;function Bl(t,e){var s=Fl();return(Bl=function(t,e){return s[t-=490]})(t,e)}function Fl(){var t=["indexOf","./core","7KwfHzk","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","Base64url","enc","1176633YyaJRD","CryptoJS","create","206178QLlXmf","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","object","lib","663072AjGiRv","push","charAt","charCodeAt","join","2314704YWcBtC","amd","2750895QPICsv","createCommonjsModule","length","function","3500865JspsMe","exports","_safe_map","4puKqOQ","clamp","words","_reverseMap","4207904cbZFJe"];return(Fl=function(){return t})()}!function(t,e){for(var s=Bl,i=t();;)try{if(805922===-parseInt(s(510))/1*(-parseInt(s(492))/2)+parseInt(s(503))/3+-parseInt(s(496))/4+parseInt(s(521))/5+-parseInt(s(506))/6*(-parseInt(s(499))/7)+-parseInt(s(515))/8+-parseInt(s(517))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fl);ee[Ml(518)]((function(t,e){var s,i,r;s=Zt,i=function(t){var e,s,i,r=Bl;return i=(s=t)[(e=Bl)(509)].WordArray,s[e(502)][e(501)]={stringify:function(t,s){var i=e;void 0===s&&(s=!0);var r=t[i(494)],n=t.sigBytes,o=s?this[i(491)]:this._map;t[i(493)]();for(var a=[],h=0;h>>2]>>>24-h%4*8&255)<<16|(r[h+1>>>2]>>>24-(h+1)%4*8&255)<<8|r[h+2>>>2]>>>24-(h+2)%4*8&255,l=0;l<4&&h+.75*l>>6*(3-l)&63));var d=o[i(512)](64);if(d)for(;a[i(519)]%4;)a[i(511)](d);return a[i(514)]("")},parse:function(t,s){var r=e;void 0===s&&(s=!0);var n=t[r(519)],o=s?this[r(491)]:this._map,a=this[r(495)];if(!a){a=this[r(495)]=[];for(var h=0;h>>6-h%4*2;o[a>>>2]|=c<<24-a%4*8,a++}return i[n(505)](o,a)}(t,n,a)},_map:e(500),_safe_map:e(507)},t[r(502)].Base64url},"object"===(r=Bl)(508)?t[r(490)]=i(El):"undefined"===r(520)&&(void 0)[r(516)]?(void 0)([r(498)],i):i(s[r(504)])}));var Ol=Ul;!function(t,e){for(var s=Ul,i=t();;)try{if(166091===-parseInt(s(346))/1+-parseInt(s(369))/2+-parseInt(s(340))/3*(-parseInt(s(356))/4)+-parseInt(s(368))/5*(parseInt(s(363))/6)+-parseInt(s(365))/7+-parseInt(s(349))/8*(parseInt(s(353))/9)+parseInt(s(357))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(jl);ee[Ol(350)]((function(t,e){var s,i,r,n=Ol;s=ee[n(354)],i=function(t){var e=n;return function(e){var s=Ul,i=t,r=i[s(355)],n=r[s(359)],o=r[s(372)],a=i.algo,h=[];!function(){for(var t=s,i=0;i<64;i++)h[i]=4294967296*e[t(362)](e[t(342)](i+1))|0}();var c=a.MD5=o[s(351)]({_doReset:function(){var t=s;this[t(337)]=new(n[t(339)])([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var i=s,r=0;r<16;r++){var n=e+r,o=t[n];t[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a=this[i(337)][i(370)],c=t[e+0],f=t[e+1],m=t[e+2],g=t[e+3],A=t[e+4],y=t[e+5],b=t[e+6],v=t[e+7],w=t[e+8],S=t[e+9],E=t[e+10],I=t[e+11],T=t[e+12],k=t[e+13],_=t[e+14],C=t[e+15],R=a[0],D=a[1],x=a[2],L=a[3];R=l(R,D,x,L,c,7,h[0]),L=l(L,R,D,x,f,12,h[1]),x=l(x,L,R,D,m,17,h[2]),D=l(D,x,L,R,g,22,h[3]),R=l(R,D,x,L,A,7,h[4]),L=l(L,R,D,x,y,12,h[5]),x=l(x,L,R,D,b,17,h[6]),D=l(D,x,L,R,v,22,h[7]),R=l(R,D,x,L,w,7,h[8]),L=l(L,R,D,x,S,12,h[9]),x=l(x,L,R,D,E,17,h[10]),D=l(D,x,L,R,I,22,h[11]),R=l(R,D,x,L,T,7,h[12]),L=l(L,R,D,x,k,12,h[13]),x=l(x,L,R,D,_,17,h[14]),R=d(R,D=l(D,x,L,R,C,22,h[15]),x,L,f,5,h[16]),L=d(L,R,D,x,b,9,h[17]),x=d(x,L,R,D,I,14,h[18]),D=d(D,x,L,R,c,20,h[19]),R=d(R,D,x,L,y,5,h[20]),L=d(L,R,D,x,E,9,h[21]),x=d(x,L,R,D,C,14,h[22]),D=d(D,x,L,R,A,20,h[23]),R=d(R,D,x,L,S,5,h[24]),L=d(L,R,D,x,_,9,h[25]),x=d(x,L,R,D,g,14,h[26]),D=d(D,x,L,R,w,20,h[27]),R=d(R,D,x,L,k,5,h[28]),L=d(L,R,D,x,m,9,h[29]),x=d(x,L,R,D,v,14,h[30]),R=u(R,D=d(D,x,L,R,T,20,h[31]),x,L,y,4,h[32]),L=u(L,R,D,x,w,11,h[33]),x=u(x,L,R,D,I,16,h[34]),D=u(D,x,L,R,_,23,h[35]),R=u(R,D,x,L,f,4,h[36]),L=u(L,R,D,x,A,11,h[37]),x=u(x,L,R,D,v,16,h[38]),D=u(D,x,L,R,E,23,h[39]),R=u(R,D,x,L,k,4,h[40]),L=u(L,R,D,x,c,11,h[41]),x=u(x,L,R,D,g,16,h[42]),D=u(D,x,L,R,b,23,h[43]),R=u(R,D,x,L,S,4,h[44]),L=u(L,R,D,x,T,11,h[45]),x=u(x,L,R,D,C,16,h[46]),R=p(R,D=u(D,x,L,R,m,23,h[47]),x,L,c,6,h[48]),L=p(L,R,D,x,v,10,h[49]),x=p(x,L,R,D,_,15,h[50]),D=p(D,x,L,R,y,21,h[51]),R=p(R,D,x,L,T,6,h[52]),L=p(L,R,D,x,g,10,h[53]),x=p(x,L,R,D,E,15,h[54]),D=p(D,x,L,R,f,21,h[55]),R=p(R,D,x,L,w,6,h[56]),L=p(L,R,D,x,C,10,h[57]),x=p(x,L,R,D,b,15,h[58]),D=p(D,x,L,R,k,21,h[59]),R=p(R,D,x,L,A,6,h[60]),L=p(L,R,D,x,I,10,h[61]),x=p(x,L,R,D,m,15,h[62]),D=p(D,x,L,R,S,21,h[63]),a[0]=a[0]+R|0,a[1]=a[1]+D|0,a[2]=a[2]+x|0,a[3]=a[3]+L|0},_doFinalize:function(){var t=s,i=this._data,r=i[t(370)],n=8*this[t(361)],o=8*i[t(347)];r[o>>>5]|=128<<24-o%32;var a=e[t(352)](n/4294967296),h=n;r[15+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r[14+(o+64>>>9<<4)]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),i[t(347)]=4*(r[t(360)]+1),this[t(358)]();for(var c=this[t(337)],l=c[t(370)],d=0;d<4;d++){var u=l[d];l[d]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return c},clone:function(){var t=s,e=o[t(343)][t(345)](this);return e[t(337)]=this[t(337)][t(343)](),e}});function l(t,e,s,i,r,n,o){var a=t+(e&s|~e&i)+r+o;return(a<>>32-n)+e}function d(t,e,s,i,r,n,o){var a=t+(e&i|s&~i)+r+o;return(a<>>32-n)+e}function u(t,e,s,i,r,n,o){var a=t+(e^s^i)+r+o;return(a<>>32-n)+e}function p(t,e,s,i,r,n,o){var a=t+(s^(e|~i))+r+o;return(a<>>32-n)+e}i[s(341)]=o[s(336)](c),i[s(338)]=o[s(348)](c)}(Math),t[e(341)]},(r=Ul)(366)==r(366)?t.exports=i(El):"undefined"===r(344)&&(void 0)[r(364)]?(void 0)([r(371)],i):i(s[r(367)])}));function Ul(t,e){var s=jl();return(Ul=function(t,e){return s[t-=336]})(t,e)}function jl(){var t=["8EOUcFd","createCommonjsModule","extend","floor","1286667Btmkjh","commonjsGlobal","lib","4xPROML","6953840xKrbps","_process","WordArray","length","_nDataBytes","abs","307236qlZlQe","amd","1716148NazWiR","object","CryptoJS","15dEEVgl","1288wefxff","words","./core","Hasher","_createHelper","_hash","HmacMD5","init","50223UkcCIa","MD5","sin","clone","function","call","3645zfXuRb","sigBytes","_createHmacHelper"];return(jl=function(){return t})()}var Nl=zl;function Vl(){var t=["words","exports","commonjsGlobal","SHA1","extend","Hasher","_createHmacHelper","86lCDmVR","_nDataBytes","WordArray","275922lbEROh","10hWmwlN","1177kZMcpR","2555eZNmMR","function","_process","528500VhmmeZ","length","clone","4311CKOffq","amd","4710dYtUCN","8tPVuyW","HmacSHA1","_hash","sigBytes","537672emMRBX","floor","lib","88968WcUcyM","createCommonjsModule","algo","object","CryptoJS","162722aSvtBP"];return(Vl=function(){return t})()}function zl(t,e){var s=Vl();return(zl=function(t,e){return s[t-=303]})(t,e)}!function(t,e){for(var s=zl,i=t();;)try{if(213595===parseInt(s(313))/1*(-parseInt(s(336))/2)+-parseInt(s(320))/3+parseInt(s(310))/4+-parseInt(s(307))/5*(parseInt(s(315))/6)+-parseInt(s(328))/7*(-parseInt(s(316))/8)+parseInt(s(304))/9*(parseInt(s(305))/10)+parseInt(s(306))/11*(parseInt(s(323))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Vl);ee[Nl(324)]((function(t,e){var s,i,r,n=Nl;s=ee[n(331)],i=function(t){var e,s,i,r,o,a,h,c,l=n;return i=(s=t)[(e=zl)(322)],r=i[e(303)],o=i[e(334)],a=s[e(325)],h=[],c=a[e(332)]=o[e(333)]({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,s){for(var i=e,r=this[i(318)][i(329)],n=r[0],o=r[1],a=r[2],c=r[3],l=r[4],d=0;d<80;d++){if(d<16)h[d]=0|t[s+d];else{var u=h[d-3]^h[d-8]^h[d-14]^h[d-16];h[d]=u<<1|u>>>31}var p=(n<<5|n>>>27)+l+h[d];p+=d<20?1518500249+(o&a|~o&c):d<40?1859775393+(o^a^c):d<60?(o&a|o&c|a&c)-1894007588:(o^a^c)-899497514,l=c,c=a,a=o<<30|o>>>2,o=n,n=p}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+a|0,r[3]=r[3]+c|0,r[4]=r[4]+l|0},_doFinalize:function(){var t=e,s=this._data,i=s[t(329)],r=8*this[t(337)],n=8*s[t(319)];return i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=Math[t(321)](r/4294967296),i[15+(n+64>>>9<<4)]=r,s[t(319)]=4*i[t(311)],this[t(309)](),this[t(318)]},clone:function(){var t=e,s=o[t(312)].call(this);return s[t(318)]=this[t(318)][t(312)](),s}}),s[e(332)]=o._createHelper(c),s[e(317)]=o[e(335)](c),t[l(332)]},"object"===(r=zl)(326)?t[r(330)]=i(El):"undefined"===r(308)&&(void 0)[r(314)]?(void 0)(["./core"],i):i(s[r(327)])}));function Wl(t,e){var s=Hl();return(Wl=function(t,e){return s[t-=359]})(t,e)}var Gl=Wl;function Hl(){var t=["748320Dugmas","CryptoJS","words","init","48626OVWTvu","_data","WordArray","lib","_hash","exports","SHA256","clone","pow","5888617ksdCbg","function","Hasher","HmacSHA256","amd","3998475SMpHTW","extend","_createHelper","_createHmacHelper","call","2425212fAwEOv","length","47kjaaSb","object","floor","455064azZcfu","sigBytes","9471744Nsltun","slice","35codkjj","createCommonjsModule","commonjsGlobal","algo"];return(Hl=function(){return t})()}!function(t,e){for(var s=Wl,i=t();;)try{if(797871===-parseInt(s(384))/1*(parseInt(s(363))/2)+parseInt(s(382))/3+parseInt(s(359))/4*(parseInt(s(391))/5)+-parseInt(s(387))/6+-parseInt(s(372))/7+parseInt(s(389))/8+-parseInt(s(377))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hl);ee[Gl(392)]((function(t,e){var s,i,r;s=ee[Gl(393)],i=function(t){return function(e){var s=Wl,i=t,r=i[s(366)],n=r[s(365)],o=r[s(374)],a=i[s(394)],h=[],c=[];!function(){var t=s;function i(t){for(var s=e.sqrt(t),i=2;i<=s;i++)if(!(t%i))return!1;return!0}function r(t){return 4294967296*(t-(0|t))|0}for(var n=2,o=0;o<64;)i(n)&&(o<8&&(h[o]=r(e[t(371)](n,.5))),c[o]=r(e[t(371)](n,1/3)),o++),n++}();var l=[],d=a[s(369)]=o[s(378)]({_doReset:function(){var t=s;this[t(367)]=new(n[t(362)])(h[t(390)](0))},_doProcessBlock:function(t,e){for(var i=s,r=this._hash[i(361)],n=r[0],o=r[1],a=r[2],h=r[3],d=r[4],u=r[5],p=r[6],f=r[7],m=0;m<64;m++){if(m<16)l[m]=0|t[e+m];else{var g=l[m-15],A=(g<<25|g>>>7)^(g<<14|g>>>18)^g>>>3,y=l[m-2],b=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;l[m]=A+l[m-7]+b+l[m-16]}var v=n&o^n&a^o&a,w=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),S=f+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&u^~d&p)+c[m]+l[m];f=p,p=u,u=d,d=h+S|0,h=a,a=o,o=n,n=S+(w+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+o|0,r[2]=r[2]+a|0,r[3]=r[3]+h|0,r[4]=r[4]+d|0,r[5]=r[5]+u|0,r[6]=r[6]+p|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=s,i=this[t(364)],r=i[t(361)],n=8*this._nDataBytes,o=8*i[t(388)];return r[o>>>5]|=128<<24-o%32,r[14+(o+64>>>9<<4)]=e[t(386)](n/4294967296),r[15+(o+64>>>9<<4)]=n,i[t(388)]=4*r[t(383)],this._process(),this._hash},clone:function(){var t=s,e=o[t(370)][t(381)](this);return e[t(367)]=this[t(367)][t(370)](),e}});i[s(369)]=o[s(379)](d),i[s(375)]=o[s(380)](d)}(Math),t.SHA256},(r=Wl)(385)==r(385)?t[r(368)]=i(El):"undefined"===r(373)&&(void 0)[r(376)]?(void 0)(["./core"],i):i(s[r(360)])}));function Kl(){var t=["1232540RJOfhl","function","339850DzGhTS","24fCfUXU","WordArray","_createHmacHelper","extend","187175Ijswrx","78AzkJbT","11UHCaTC","CryptoJS","16998ddxzeZ","203QRSjgZ","8fHImvJ","108ZwtwjV","949663wXukMz","lib","22658GXuxLg","_doFinalize","1365957DJYIrm","./core","sigBytes","algo","SHA224","amd","SHA256","call"];return(Kl=function(){return t})()}function Ql(t,e){var s=Kl();return(Ql=function(t,e){return s[t-=414]})(t,e)}!function(t,e){for(var s=Ql,i=t();;)try{if(194683===-parseInt(s(415))/1+-parseInt(s(430))/2*(-parseInt(s(421))/3)+parseInt(s(416))/4*(-parseInt(s(420))/5)+parseInt(s(424))/6*(parseInt(s(425))/7)+parseInt(s(426))/8*(-parseInt(s(432))/9)+parseInt(s(440))/10*(-parseInt(s(422))/11)+parseInt(s(427))/12*(parseInt(s(428))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Kl);te((function(t,e){var s,i,r,n,o,a,h,c;t.exports=(i=Ql,o=(n=s=El)[(r=Ql)(429)][r(417)],a=n[r(435)],h=a[r(438)],c=a[r(436)]=h[r(419)]({_doReset:function(){this._hash=new o.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=r,e=h[t(431)][t(439)](this);return e[t(434)]-=4,e}}),n[r(436)]=h._createHelper(c),n.HmacSHA224=h[r(418)](c),s[i(436)])}));var Yl=Jl;function ql(){var t=["./x64-core","SHA512","floor","223315LDRCrx","791588URQEBj","createCommonjsModule","init","clone","_nDataBytes","Word","./core","14930pHINAq","12HGLeUK","1613916DaWKAF","function","apply","8eTWygG","extend","5951GmpOPz","low","amd","object","length","653433YVeXGb","words","sigBytes","x64","_process","830495wTtuor","HmacSHA512","373751LysKhD","exports","commonjsGlobal","lib","toX32","_createHelper","high","_hash","call","8zXJtsU"];return(ql=function(){return t})()}!function(t,e){for(var s=Jl,i=t();;)try{if(305933===-parseInt(s(222))/1+parseInt(s(223))/2+parseInt(s(202))/3*(-parseInt(s(218))/4)+-parseInt(s(207))/5+-parseInt(s(231))/6*(-parseInt(s(209))/7)+parseInt(s(195))/8*(-parseInt(s(232))/9)+parseInt(s(230))/10*(parseInt(s(197))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ql);ee[Yl(224)]((function(t,e){var s,i,r,n=Yl;s=ee[n(211)],i=function(t){var e=n;return function(){var e=Jl,s=t,i=s[e(212)].Hasher,r=s[e(205)],n=r[e(228)],o=r.WordArray,a=s.algo;function h(){var t=e;return n.create[t(194)](n,arguments)}var c=[h(1116352408,3609767458),h(1899447441,602891725),h(3049323471,3964484399),h(3921009573,2173295548),h(961987163,4081628472),h(1508970993,3053834265),h(2453635748,2937671579),h(2870763221,3664609560),h(3624381080,2734883394),h(310598401,1164996542),h(607225278,1323610764),h(1426881987,3590304994),h(1925078388,4068182383),h(2162078206,991336113),h(2614888103,633803317),h(3248222580,3479774868),h(3835390401,2666613458),h(4022224774,944711139),h(264347078,2341262773),h(604807628,2007800933),h(770255983,1495990901),h(1249150122,1856431235),h(1555081692,3175218132),h(1996064986,2198950837),h(2554220882,3999719339),h(2821834349,766784016),h(2952996808,2566594879),h(3210313671,3203337956),h(3336571891,1034457026),h(3584528711,2466948901),h(113926993,3758326383),h(338241895,168717936),h(666307205,1188179964),h(773529912,1546045734),h(1294757372,1522805485),h(1396182291,2643833823),h(1695183700,2343527390),h(1986661051,1014477480),h(2177026350,1206759142),h(2456956037,344077627),h(2730485921,1290863460),h(2820302411,3158454273),h(3259730800,3505952657),h(3345764771,106217008),h(3516065817,3606008344),h(3600352804,1432725776),h(4094571909,1467031594),h(275423344,851169720),h(430227734,3100823752),h(506948616,1363258195),h(659060556,3750685593),h(883997877,3785050280),h(958139571,3318307427),h(1322822218,3812723403),h(1537002063,2003034995),h(1747873779,3602036899),h(1955562222,1575990012),h(2024104815,1125592928),h(2227730452,2716904306),h(2361852424,442776044),h(2428436474,593698344),h(2756734187,3733110249),h(3204031479,2999351573),h(3329325298,3815920427),h(3391569614,3928383900),h(3515267271,566280711),h(3940187606,3454069534),h(4118630271,4000239992),h(116418474,1914138554),h(174292421,2731055270),h(289380356,3203993006),h(460393269,320620315),h(685471733,587496836),h(852142971,1086792851),h(1017036298,365543100),h(1126000580,2618297676),h(1288033470,3409855158),h(1501505948,4234509866),h(1607167915,987167468),h(1816402316,1246189591)],l=[];!function(){for(var t=0;t<80;t++)l[t]=h()}();var d=a[e(220)]=i[e(196)]({_doReset:function(){var t=e;this[t(216)]=new(o[t(225)])([new(n[t(225)])(1779033703,4089235720),new(n[t(225)])(3144134277,2227873595),new(n[t(225)])(1013904242,4271175723),new(n[t(225)])(2773480762,1595750129),new(n[t(225)])(1359893119,2917565137),new(n[t(225)])(2600822924,725511199),new(n[t(225)])(528734635,4215389547),new(n[t(225)])(1541459225,327033209)])},_doProcessBlock:function(t,s){for(var i=e,r=this._hash[i(203)],n=r[0],o=r[1],a=r[2],h=r[3],d=r[4],u=r[5],p=r[6],f=r[7],m=n[i(215)],g=n[i(198)],A=o[i(215)],y=o[i(198)],b=a[i(215)],v=a.low,w=h[i(215)],S=h[i(198)],E=d[i(215)],I=d[i(198)],T=u.high,k=u[i(198)],_=p[i(215)],C=p[i(198)],R=f.high,D=f[i(198)],x=m,L=g,P=A,M=y,B=b,F=v,O=w,U=S,j=E,N=I,V=T,z=k,W=_,G=C,H=R,K=D,Q=0;Q<80;Q++){var Y,q,J=l[Q];if(Q<16)q=J[i(215)]=0|t[s+2*Q],Y=J[i(198)]=0|t[s+2*Q+1];else{var X=l[Q-15],Z=X[i(215)],$=X[i(198)],tt=(Z>>>1|$<<31)^(Z>>>8|$<<24)^Z>>>7,et=($>>>1|Z<<31)^($>>>8|Z<<24)^($>>>7|Z<<25),st=l[Q-2],it=st[i(215)],rt=st[i(198)],nt=(it>>>19|rt<<13)^(it<<3|rt>>>29)^it>>>6,ot=(rt>>>19|it<<13)^(rt<<3|it>>>29)^(rt>>>6|it<<26),at=l[Q-7],ht=at.high,ct=at[i(198)],lt=l[Q-16],dt=lt[i(215)],ut=lt[i(198)];q=(q=(q=tt+ht+((Y=et+ct)>>>0>>0?1:0))+nt+((Y+=ot)>>>0>>0?1:0))+dt+((Y+=ut)>>>0>>0?1:0),J[i(215)]=q,J[i(198)]=Y}var pt,ft=j&V^~j&W,mt=N&z^~N&G,gt=x&P^x&B^P&B,At=L&M^L&F^M&F,yt=(x>>>28|L<<4)^(x<<30|L>>>2)^(x<<25|L>>>7),bt=(L>>>28|x<<4)^(L<<30|x>>>2)^(L<<25|x>>>7),vt=(j>>>14|N<<18)^(j>>>18|N<<14)^(j<<23|N>>>9),wt=(N>>>14|j<<18)^(N>>>18|j<<14)^(N<<23|j>>>9),St=c[Q],Et=St[i(215)],It=St[i(198)],Tt=H+vt+((pt=K+wt)>>>0>>0?1:0),kt=bt+At;H=W,K=G,W=V,G=z,V=j,z=N,j=O+(Tt=(Tt=(Tt=Tt+ft+((pt+=mt)>>>0>>0?1:0))+Et+((pt+=It)>>>0>>0?1:0))+q+((pt+=Y)>>>0>>0?1:0))+((N=U+pt|0)>>>0>>0?1:0)|0,O=B,U=F,B=P,F=M,P=x,M=L,x=Tt+(yt+gt+(kt>>>0>>0?1:0))+((L=pt+kt|0)>>>0>>0?1:0)|0}g=n[i(198)]=g+L,n[i(215)]=m+x+(g>>>0>>0?1:0),y=o[i(198)]=y+M,o.high=A+P+(y>>>0>>0?1:0),v=a[i(198)]=v+F,a[i(215)]=b+B+(v>>>0>>0?1:0),S=h.low=S+U,h[i(215)]=w+O+(S>>>0>>0?1:0),I=d[i(198)]=I+N,d[i(215)]=E+j+(I>>>0>>0?1:0),k=u.low=k+z,u[i(215)]=T+V+(k>>>0>>0?1:0),C=p.low=C+G,p[i(215)]=_+W+(C>>>0>>0?1:0),D=f.low=D+K,f[i(215)]=R+H+(D>>>0>>0?1:0)},_doFinalize:function(){var t=e,s=this._data,i=s[t(203)],r=8*this[t(227)],n=8*s[t(204)];return i[n>>>5]|=128<<24-n%32,i[30+(n+128>>>10<<5)]=Math[t(221)](r/4294967296),i[31+(n+128>>>10<<5)]=r,s[t(204)]=4*i[t(201)],this[t(206)](),this._hash[t(213)]()},clone:function(){var t=e,s=i.clone[t(217)](this);return s[t(216)]=this[t(216)][t(226)](),s},blockSize:32});s[e(220)]=i[e(214)](d),s[e(208)]=i._createHmacHelper(d)}(),t[e(220)]},(r=Jl)(200)==r(200)?t[r(210)]=i(El):"undefined"===r(193)&&(void 0)[r(199)]?(void 0)([r(229),r(219)],i):i(s.CryptoJS)}));function Jl(t,e){var s=ql();return(Jl=function(t,e){return s[t-=193]})(t,e)}var Xl=Zl;function Zl(t,e){var s=$l();return(Zl=function(t,e){return s[t-=475]})(t,e)}function $l(){var t=["SHA512","init","_createHmacHelper","x64","15348280Rvvdee","570YUvhPv","91LYegZx","object","17508IvgVcF","5905jyNMxz","2ihlnwT","commonjsGlobal","HmacSHA384","algo","./x64-core","createCommonjsModule","./core","WordArray","_hash","3542jgEVsl","460088kjYGbe","exports","_createHelper","3719277XyTktS","CryptoJS","4631716aCdCYY","_doFinalize","amd","949862NnuOva","call","function","3nBpYkd"];return($l=function(){return t})()}!function(t,e){for(var s=Zl,i=t();;)try{if(826512===parseInt(s(493))/1*(-parseInt(s(475))/2)+-parseInt(s(496))/3*(-parseInt(s(490))/4)+-parseInt(s(506))/5*(parseInt(s(502))/6)+-parseInt(s(503))/7*(parseInt(s(485))/8)+parseInt(s(488))/9+parseInt(s(501))/10+-parseInt(s(484))/11*(parseInt(s(505))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}($l);ee[Xl(480)]((function(t,e){var s,i,r;s=ee[Xl(476)],i=function(t){return i=(s=t)[(e=Zl)(500)],r=i.Word,n=i[e(482)],o=s[e(478)],a=o[e(497)],h=o.SHA384=a.extend({_doReset:function(){var t=e;this[t(483)]=new n.init([new(r[t(498)])(3418070365,3238371032),new(r[t(498)])(1654270250,914150663),new(r[t(498)])(2438529370,812702999),new(r[t(498)])(355462360,4144912697),new(r[t(498)])(1731405415,4290775857),new(r[t(498)])(2394180231,1750603025),new r.init(3675008525,1694076839),new(r[t(498)])(1203062813,3204075428)])},_doFinalize:function(){var t=e,s=a[t(491)][t(494)](this);return s.sigBytes-=16,s}}),s.SHA384=a[e(487)](h),s[e(477)]=a[e(499)](h),t.SHA384;var e,s,i,r,n,o,a,h},(r=Zl)(504)==r(504)?t[r(486)]=i(El):"undefined"===r(495)&&(void 0)[r(492)]?(void 0)([r(481),r(479),"./sha512"],i):i(s[r(489)])}));function td(){var t=["HmacSHA3","createCommonjsModule","x64","exports","cfg","clone","amd","slice","Hasher","15RDLMmB","1167242lxmVLM","1626666hsgfCx","263397CXMQIL","words","high","function","_createHmacHelper","create","./x64-core","_process","commonjsGlobal","72132AWAJIi","low","push","3447878nkbHUn","352108iZOELZ","_createHelper","ceil","CryptoJS","object","extend","init","sigBytes","_state","outputLength","Word","SHA3","./core","length","algo","13299032VaCxsa"];return(td=function(){return t})()}var ed=sd;!function(t,e){for(var s=sd,i=t();;)try{if(353881===-parseInt(s(191))/1+-parseInt(s(189))/2+parseInt(s(159))/3+parseInt(s(163))/4*(-parseInt(s(188))/5)+parseInt(s(190))/6+-parseInt(s(162))/7+parseInt(s(178))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(td);ee[ed(180)]((function(t,e){var s,i,r,n=ed;s=ee[n(158)],i=function(t){var e=n;return function(e){var s=sd,i=t,r=i.lib,n=r.WordArray,o=r[s(187)],a=i[s(181)][s(173)],h=i[s(177)],c=[],l=[],d=[];!function(){for(var t=1,e=0,s=0;s<24;s++){c[t+5*e]=(s+1)*(s+2)/2%64;var i=(2*t+3*e)%5;t=e%5,e=i}for(t=0;t<5;t++)for(e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;for(var r=1,n=0;n<24;n++){for(var o=0,h=0,u=0;u<7;u++){if(1&r){var p=(1<>>24)|4278255360&(a<<24|a>>>8),h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),(D=r[o])[i(193)]^=h,D[i(160)]^=a}for(var p=0;p<24;p++){for(var f=0;f<5;f++){for(var m=0,g=0,A=0;A<5;A++)m^=(D=r[f+5*A])[i(193)],g^=D[i(160)];var y=u[f];y[i(193)]=m,y[i(160)]=g}for(f=0;f<5;f++){var b=u[(f+4)%5],v=u[(f+1)%5],w=v[i(193)],S=v[i(160)];for(m=b[i(193)]^(w<<1|S>>>31),g=b[i(160)]^(S<<1|w>>>31),A=0;A<5;A++)(D=r[f+5*A]).high^=m,D[i(160)]^=g}for(var E=1;E<25;E++){var I=(D=r[E])[i(193)],T=D[i(160)],k=c[E];k<32?(m=I<>>32-k,g=T<>>32-k):(m=T<>>64-k,g=I<>>64-k);var _=u[l[E]];_.high=m,_[i(160)]=g}var C=u[0],R=r[0];for(C[i(193)]=R.high,C.low=R[i(160)],f=0;f<5;f++)for(A=0;A<5;A++){var D=r[E=f+5*A],x=u[E],L=u[(f+1)%5+5*A],P=u[(f+2)%5+5*A];D[i(193)]=x[i(193)]^~L[i(193)]&P[i(193)],D[i(160)]=x[i(160)]^~L[i(160)]&P[i(160)]}D=r[0];var M=d[p];D.high^=M[i(193)],D[i(160)]^=M.low}},_doFinalize:function(){var t=s,i=this._data,r=i[t(192)];this._nDataBytes;var o=8*i[t(170)],a=32*this.blockSize;r[o>>>5]|=1<<24-o%32,r[(e[t(165)]((o+1)/a)*a>>>5)-1]|=128,i[t(170)]=4*r[t(176)],this[t(157)]();for(var h=this._state,c=this[t(183)][t(172)]/8,l=c/8,d=[],u=0;u>>24)|4278255360&(f<<24|f>>>8),m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8),d.push(m),d[t(161)](f)}return new n.init(d,c)},clone:function(){for(var t=s,e=o.clone.call(this),i=e[t(171)]=this[t(171)][t(186)](0),r=0;r<25;r++)i[r]=i[r][t(184)]();return e}});i[s(174)]=o[s(164)](p),i[s(179)]=o[s(195)](p)}(Math),t[e(174)]},(r=sd)(167)==r(167)?t[r(182)]=i(El):"undefined"===r(194)&&(void 0)[r(185)]?(void 0)([r(175),r(197)],i):i(s[r(166)])}));function sd(t,e){var s=td();return(sd=function(t,e){return s[t-=157]})(t,e)}function id(){var t=["create","_nDataBytes","254bSpJLa","58815cESets","extend","15454560LagpNu","1669asletK","call","HmacRIPEMD160","148552WhHYjt","lib","3445770Xsmdcj","clone","amd","object","RIPEMD160","Hasher","words","./core","_data","_createHelper","_hash","createCommonjsModule","7SCijTo","sigBytes","3441036HlwRxW","CryptoJS","2232183rRcWEJ","_process","351DjWhCs","16WMOtQD"];return(id=function(){return t})()}var rd=nd;function nd(t,e){var s=id();return(nd=function(t,e){return s[t-=268]})(t,e)}!function(t,e){for(var s=nd,i=t();;)try{if(457132===-parseInt(s(286))/1*(-parseInt(s(282))/2)+parseInt(s(276))/3+-parseInt(s(279))/4*(parseInt(s(283))/5)+parseInt(s(274))/6*(parseInt(s(272))/7)+parseInt(s(289))/8*(parseInt(s(278))/9)+-parseInt(s(291))/10+-parseInt(s(285))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(id);ee[rd(271)]((function(t,e){var s,i,r;s=Zt,i=function(t){return function(e){var s=nd,i=t,r=i[s(290)],n=r.WordArray,o=r[s(296)],a=i.algo,h=n[s(280)]([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=n[s(280)]([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=n[s(280)]([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),d=n[s(280)]([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=n.create([0,1518500249,1859775393,2400959708,2840853838]),p=n[s(280)]([1352829926,1548603684,1836072691,2053994217,0]),f=a[s(295)]=o[s(284)]({_doReset:function(){var t=s;this[t(270)]=n[t(280)]([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=s,r=0;r<16;r++){var n=e+r,o=t[n];t[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var a,f,w,S,E,I,T,k,_,C,R,D=this._hash[i(297)],x=u.words,L=p[i(297)],P=h.words,M=c[i(297)],B=l.words,F=d[i(297)];for(I=a=D[0],T=f=D[1],k=w=D[2],_=S=D[3],C=E=D[4],r=0;r<80;r+=1)R=a+t[e+P[r]]|0,R+=r<16?m(f,w,S)+x[0]:r<32?g(f,w,S)+x[1]:r<48?A(f,w,S)+x[2]:r<64?y(f,w,S)+x[3]:b(f,w,S)+x[4],R=(R=v(R|=0,B[r]))+E|0,a=E,E=S,S=v(w,10),w=f,f=R,R=I+t[e+M[r]]|0,R+=r<16?b(T,k,_)+L[0]:r<32?y(T,k,_)+L[1]:r<48?A(T,k,_)+L[2]:r<64?g(T,k,_)+L[3]:m(T,k,_)+L[4],R=(R=v(R|=0,F[r]))+C|0,I=C,C=_,_=v(k,10),k=T,T=R;R=D[1]+w+_|0,D[1]=D[2]+S+C|0,D[2]=D[3]+E+I|0,D[3]=D[4]+a+T|0,D[4]=D[0]+f+k|0,D[0]=R},_doFinalize:function(){var t=s,e=this[t(268)],i=e[t(297)],r=8*this[t(281)],n=8*e.sigBytes;i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e[t(273)]=4*(i.length+1),this[t(277)]();for(var o=this[t(270)],a=o[t(297)],h=0;h<5;h++){var c=a[h];a[h]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return o},clone:function(){var t=s,e=o[t(292)][t(287)](this);return e[t(270)]=this[t(270)].clone(),e}});function m(t,e,s){return t^e^s}function g(t,e,s){return t&e|~t&s}function A(t,e,s){return(t|~e)^s}function y(t,e,s){return t&s|e&~s}function b(t,e,s){return t^(e|~s)}function v(t,e){return t<>>32-e}i[s(295)]=o[s(269)](f),i[s(288)]=o._createHmacHelper(f)}(),t.RIPEMD160},(r=nd)(294)==r(294)?t.exports=i(El):i(s[r(275)])}));function od(){var t=["3493532cvmCDO","commonjsGlobal","extend","blockSize","reset","Utf8","28ZFbFfo","5032235SsbiIk","createCommonjsModule","6053430MBHlaD","update","Base","./core","128762VLFebl","6wYrENX","9yprBcM","object","345471pgbbCp","_oKey","string","clamp","clone","amd","_hasher","sigBytes","1388411zazSNp","function","finalize","22353353hYNgMu","concat","16qrzUwC","words","HMAC"];return(od=function(){return t})()}var ad=hd;function hd(t,e){var s=od();return(hd=function(t,e){return s[t-=105]})(t,e)}!function(t,e){for(var s=hd,i=t();;)try{if(823816===parseInt(s(135))/1+parseInt(s(123))/2+parseInt(s(127))/3*(parseInt(s(116))/4)+-parseInt(s(117))/5*(parseInt(s(124))/6)+parseInt(s(110))/7*(parseInt(s(107))/8)+-parseInt(s(125))/9*(-parseInt(s(119))/10)+-parseInt(s(105))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(od);ee[ad(118)]((function(t,e){var s,i,r;s=ee[ad(111)],i=function(t){var e,s,i,r;e=hd,i=(s=t).lib[e(121)],r=s.enc[e(115)],s.algo[e(109)]=i[e(112)]({init:function(t,s){var i=e;t=this[i(133)]=new t.init,typeof s==i(129)&&(s=r.parse(s));var n=t[i(113)],o=4*n;s[i(134)]>o&&(s=t[i(137)](s)),s[i(130)]();for(var a=this._oKey=s[i(131)](),h=this._iKey=s[i(131)](),c=a[i(108)],l=h[i(108)],d=0;d>>2];t[e(195)]-=s}};n[i(189)]=u.extend({cfg:u[i(156)][i(186)]({mode:m,padding:g}),reset:function(){var t,e=i;u[e(197)][e(163)](this);var s=this[e(156)],r=s.iv,n=s.mode;this[e(128)]==this[e(169)]?t=n[e(147)]:(t=n[e(192)],this._minBufferSize=1),this[e(205)]&&this[e(205)].__creator==t?this[e(205)][e(133)](this,r&&r.words):(this[e(205)]=t[e(163)](n,this,r&&r[e(194)]),this._mode[e(151)]=t)},_doProcessBlock:function(t,e){var s=i;this._mode[s(171)](t,e)},_doFinalize:function(){var t,e=i,s=this[e(156)][e(149)];return this._xformMode==this[e(169)]?(s[e(178)](this[e(208)],this.blockSize),t=this[e(185)](!!e(174))):(t=this._process(!!e(174)),s[e(139)](t)),t},blockSize:4});var A=n.CipherParams=o[i(186)]({init:function(t){this.mixIn(t)},toString:function(t){var e=i;return(t||this[e(148)])[e(210)](this)}}),y=(r[i(142)]={}).OpenSSL={stringify:function(t){var e=i,s=t[e(134)],r=t[e(141)];return(r?a.create([1398893684,1701076831])[e(152)](r)[e(152)](s):s).toString(l)},parse:function(t){var e,s=i,r=l[s(202)](t),n=r.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=a[s(206)](n[s(196)](2,4)),n[s(175)](0,4),r[s(195)]-=16),A.create({ciphertext:r,salt:e})}},b=n[i(154)]=o.extend({cfg:o[i(186)]({format:y}),encrypt:function(t,e,s,r){var n=i;r=this[n(156)].extend(r);var o=t[n(147)](s,r),a=o[n(198)](e),h=o.cfg;return A.create({ciphertext:a,key:s,iv:h.iv,algorithm:t,mode:h[n(166)],padding:h[n(149)],blockSize:t.blockSize,formatter:r[n(142)]})},decrypt:function(t,e,s,r){var n=i;return r=this.cfg.extend(r),e=this[n(132)](e,r[n(142)]),t[n(192)](s,r)[n(198)](e[n(134)])},_parse:function(t,e){return typeof t==i(177)?e.parse(t,this):t}}),v=(r[i(129)]={})[i(137)]={execute:function(t,e,s,r,n){var o=i;if(!r&&(r=a.random(8)),n)h=d[o(206)]({keySize:e+s,hasher:n})[o(168)](t,r);else var h=d.create({keySize:e+s}).compute(t,r);var c=a[o(206)](h[o(194)][o(196)](e),4*s);return h.sigBytes=4*e,A[o(206)]({key:h,iv:c,salt:r})}},w=n.PasswordBasedCipher=b[i(186)]({cfg:b[i(156)][i(186)]({kdf:v}),encrypt:function(t,e,s,r){var n=i,o=(r=this[n(156)].extend(r))[n(129)][n(173)](s,t[n(130)],t[n(188)],r[n(141)],r[n(157)]);r.iv=o.iv;var a=b[n(184)][n(163)](this,t,e,o[n(161)],r);return a[n(179)](o),a},decrypt:function(t,e,s,r){var n=i;r=this[n(156)].extend(r),e=this._parse(e,r[n(142)]);var o=r[n(129)][n(173)](s,t[n(130)],t[n(188)],e[n(141)],r.hasher);return r.iv=o.iv,b[n(181)][n(163)](this,t,e,o[n(161)],r)}})}()},"object"===(r=md)(212)?t.exports=i(El):"undefined"===r(167)&&(void 0)[r(164)]?(void 0)([r(190),"./evpkdf"],i):i(s[r(145)])}));var yd=bd;function bd(t,e){var s=vd();return(bd=function(t,e){return s[t-=452]})(t,e)}!function(t,e){for(var s=bd,i=t();;)try{if(849862===-parseInt(s(454))/1+-parseInt(s(461))/2+parseInt(s(459))/3+parseInt(s(458))/4+-parseInt(s(475))/5+parseInt(s(473))/6*(parseInt(s(462))/7)+parseInt(s(465))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vd);ee[yd(468)]((function(t,e){var s,i,r,n=yd;s=ee[n(460)],i=function(t){var e=n;return t[e(464)][e(479)]=function(){var s=e,i=t[s(466)][s(471)][s(477)]();function r(t,e,i,r){var n,o=s,a=this[o(457)];a?(n=a[o(474)](0),this[o(457)]=void 0):n=this._prevBlock,r.encryptBlock(n,0);for(var h=0;h>24&255)){var e=t>>16&255,s=t>>8&255,i=255&t;255===e?(e=0,255===s?(s=0,255===i?i=0:++i):++s):++e,t=0,t+=e<<16,t+=s<<8,t+=i}else t+=1<<24;return t}var n=i.Encryptor=i[s(158)]({processBlock:function(t,e){var i,n=s,o=this[n(161)],a=o[n(157)],h=this[n(156)],c=this._counter;h&&(c=this[n(175)]=h.slice(0),this[n(156)]=void 0),0===((i=c)[0]=r(i[0]))&&(i[1]=r(i[1]));var l=c[n(177)](0);o[n(169)](l,0);for(var d=0;d>>2]|=o<<24-a%4*8,t[i(311)]+=o},unpad:function(t){var s=e,i=255&t[s(309)][t.sigBytes-1>>>2];t[s(311)]-=i}},t.pad.Ansix923},(r=Md)(315)==r(315)?t[r(302)]=i(El):i(s[r(313)])}));function Md(t,e){var s=Pd();return(Md=function(t,e){return s[t-=294]})(t,e)}var Bd=Fd;!function(t,e){for(var s=Fd,i=t();;)try{if(740137===parseInt(s(472))/1*(parseInt(s(474))/2)+-parseInt(s(468))/3*(parseInt(s(491))/4)+parseInt(s(473))/5+parseInt(s(489))/6*(parseInt(s(470))/7)+parseInt(s(475))/8*(-parseInt(s(486))/9)+-parseInt(s(487))/10+-parseInt(s(483))/11*(-parseInt(s(476))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Od);ee[Bd(478)]((function(t,e){var s,i,r,n=Bd;s=ee[n(488)],i=function(t){var e=n;return t.pad[e(481)]={pad:function(s,i){var r=e,n=4*i,o=n-s[r(480)]%n;s[r(469)](t[r(471)][r(492)][r(477)](o-1))[r(469)](t[r(471)][r(492)][r(485)]([o<<24],1))},unpad:function(t){var s=e,i=255&t[s(466)][t[s(480)]-1>>>2];t[s(480)]-=i}},t[e(467)][e(481)]},"object"===(r=Fd)(479)?t[r(482)]=i(El):i(s[r(490)])}));function Fd(t,e){var s=Od();return(Fd=function(t,e){return s[t-=466]})(t,e)}function Od(){var t=["object","sigBytes","Iso10126","exports","209pkKvLZ","amd","create","585UFmwMy","12703400xkztxN","commonjsGlobal","6gdzvAy","CryptoJS","48YoSYVw","WordArray","words","pad","93999IrjUSs","concat","3370451raIpsq","lib","57aLWidQ","142975FCGRYo","42378qJVIuN","95416cibhvW","911916DBaQRO","random","createCommonjsModule"];return(Od=function(){return t})()}function Ud(){var t=["1728947cduZlC","Iso97971","./core","CryptoJS","lib","sigBytes","70fZnGwC","11391wOWXEO","amd","887859KxFJOc","unpad","./cipher-core","exports","WordArray","681342DaKxbC","function","pad","7461200oxiAoN","concat","object","72azLZvG","28zURxwB","ZeroPadding","7uAcooc","1064508mNIPLM","5pksUsV","2082930NHlhOq"];return(Ud=function(){return t})()}function jd(t,e){var s=Ud();return(jd=function(t,e){return s[t-=358]})(t,e)}!function(t,e){for(var s=jd,i=t();;)try{if(497749===parseInt(s(362))/1*(parseInt(s(376))/2)+-parseInt(s(381))/3+parseInt(s(379))/4*(-parseInt(s(380))/5)+parseInt(s(369))/6*(parseInt(s(378))/7)+parseInt(s(372))/8+parseInt(s(364))/9*(-parseInt(s(361))/10)+-parseInt(s(382))/11*(-parseInt(s(375))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ud);te((function(t,e){var s,i,r;s=Zt,i=function(t){var e=jd;return t[e(371)][e(383)]={pad:function(s,i){var r=e;s[r(373)](t[r(359)][r(368)].create([2147483648],1)),t[r(371)].ZeroPadding[r(371)](s,i)},unpad:function(s){var i=e;t[i(371)][i(377)][i(365)](s),s[i(360)]--}},t[e(371)][e(383)]},(r=jd)(374)==r(374)?t[r(367)]=i(El):"undefined"===r(370)&&(void 0)[r(363)]?(void 0)([r(384),r(366)],i):i(s[r(358)])}));var Nd=zd;function Vd(){var t=["38bznSrR","words","object","pad","./cipher-core","80877cnyuGb","336380VoVYQO","createCommonjsModule","sigBytes","10lwKjrT","ZeroPadding","4508QMvvOw","1977552bJgDQj","2287611PPHBOT","function","30SFyGyj","11571ecmcte","./core","20MnyzWx","commonjsGlobal","127519uRhfLH"];return(Vd=function(){return t})()}!function(t,e){for(var s=zd,i=t();;)try{if(127620===parseInt(s(384))/1*(parseInt(s(389))/2)+parseInt(s(394))/3+-parseInt(s(400))/4*(parseInt(s(386))/5)+-parseInt(s(404))/6*(parseInt(s(388))/7)+-parseInt(s(401))/8+-parseInt(s(402))/9*(-parseInt(s(398))/10)+-parseInt(s(395))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Vd);ee[Nd(396)]((function(t,e){var s,i,r,n=Nd;s=ee[n(387)],i=function(t){var e=n;return t[e(392)][e(399)]={pad:function(t,s){var i=e,r=4*s;t.clamp(),t[i(397)]+=r-(t[i(397)]%r||r)},unpad:function(t){var s=e,i=t[s(390)],r=t.sigBytes-1;for(r=t[s(397)]-1;r>=0;r--)if(i[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}},t[e(392)][e(399)]},(r=zd)(391)==r(391)?t.exports=i(El):"undefined"===r(403)&&(void 0).amd?(void 0)([r(385),r(393)],i):i(s.CryptoJS)}));function zd(t,e){var s=Vd();return(zd=function(t,e){return s[t-=384]})(t,e)}var Wd=Gd;function Gd(t,e){var s=Hd();return(Gd=function(t,e){return s[t-=194]})(t,e)}!function(t,e){for(var s=Gd,i=t();;)try{if(473286===parseInt(s(213))/1*(parseInt(s(205))/2)+parseInt(s(210))/3*(-parseInt(s(201))/4)+parseInt(s(209))/5+parseInt(s(199))/6+-parseInt(s(207))/7*(-parseInt(s(198))/8)+parseInt(s(212))/9*(parseInt(s(211))/10)+-parseInt(s(194))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hd);ee[Wd(203)]((function(t,e){var s,i,r;s=Zt,i=function(t){var e=Gd;return t.pad[e(202)]={pad:function(){},unpad:function(){}},t.pad[e(202)]},(r=Gd)(195)==r(195)?t[r(200)]=i(El):"undefined"===r(206)&&(void 0)[r(204)]?(void 0)([r(197),r(196)],i):i(s[r(208)])}));function Hd(){var t=["491RKfdeT","22682572oPjNUT","object","./cipher-core","./core","8wxmPrF","5171874yFzCBN","exports","1764dGqYdN","NoPadding","createCommonjsModule","amd","2294pfiDRE","function","6497309PsCJvN","CryptoJS","3169115sbyvzv","4293hkBekt","10dDsHgy","1613187TpoBPb"];return(Hd=function(){return t})()}var Kd=Qd;function Qd(t,e){var s=Yd();return(Qd=function(t,e){return s[t-=494]})(t,e)}!function(t,e){for(var s=Qd,i=t();;)try{if(980496===-parseInt(s(507))/1*(parseInt(s(504))/2)+-parseInt(s(506))/3*(-parseInt(s(497))/4)+-parseInt(s(496))/5*(parseInt(s(499))/6)+parseInt(s(508))/7+parseInt(s(512))/8+-parseInt(s(509))/9+parseInt(s(505))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yd);ee[Kd(511)]((function(t,e){var s,i,r,n,o,a,h=Kd;ee[h(510)],t[Qd(513)]=(i=h,o=(n=s=El)[(r=Qd)(515)][r(514)],a=n[r(502)][r(495)],n[r(503)][r(495)]={stringify:function(t){return t[r(517)].toString(a)},parse:function(t){var e=r,s=a[e(519)](t);return o[e(500)]({ciphertext:s})}},s[i(503)][i(495)])}));function Yd(){var t=["9889278VZFxFU","12878199sMGNMx","commonjsGlobal","createCommonjsModule","6238552OoTekb","exports","CipherParams","lib","function","ciphertext","amd","parse","./cipher-core","Hex","5FoIWZX","4IRqzeC","./core","2584398kypgyC","create","CryptoJS","enc","format","256PRROPK","10215130deZGnE","200514uojBFJ","3428wLsdng"];return(Yd=function(){return t})()}function qd(t,e){var s=Jd();return(qd=function(t,e){return s[t-=453]})(t,e)}function Jd(){var t=["_keyPriorReset","AES","_nRounds","_createHelper","3ufNSZx","697092RvSGnb","extend","657937XrJIyS","./cipher-core","2274240PgbfMO","exports","./core","./md5","90OvCrIu","6rhmsgH","3552927YAMmNC","2500795gNrDsd","_invKeySchedule","./evpkdf","BlockCipher","932070jalDwH","CryptoJS","object","_key","./enc-base64","_doCryptBlock","commonjsGlobal","words","1377084ZeOucD","algo"];return(Jd=function(){return t})()}!function(t,e){for(var s=qd,i=t();;)try{if(511524===-parseInt(s(480))/1+parseInt(s(471))/2*(parseInt(s(477))/3)+-parseInt(s(478))/4+parseInt(s(459))/5*(-parseInt(s(457))/6)+parseInt(s(458))/7+-parseInt(s(482))/8+-parseInt(s(456))/9*(-parseInt(s(463))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Jd);te((function(t,e){var s,i,r,n=qd;s=ee[n(469)],i=function(t){var e=n;return function(){var e=qd,s=t,i=s.lib[e(462)],r=s[e(472)],n=[],o=[],a=[],h=[],c=[],l=[],d=[],u=[],p=[],f=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var s=0,i=0;for(e=0;e<256;e++){var r=i^i<<1^i<<2^i<<3^i<<4;r=r>>>8^255&r^99,n[s]=r,o[r]=s;var m=t[s],g=t[m],A=t[g],y=257*t[r]^16843008*r;a[s]=y<<24|y>>>8,h[s]=y<<16|y>>>16,c[s]=y<<8|y>>>24,l[s]=y,y=16843009*A^65537*g^257*m^16843008*s,d[r]=y<<24|y>>>8,u[r]=y<<16|y>>>16,p[r]=y<<8|y>>>24,f[r]=y,s?(s=m^t[t[t[A^m]]],i^=t[t[i]]):s=i=1}}();var m=[0,1,2,4,8,16,32,64,128,27,54],g=r.AES=i[e(479)]({_doReset:function(){var t=e;if(!this._nRounds||this._keyPriorReset!==this[t(466)]){for(var s=this[t(473)]=this._key,i=s[t(470)],r=s.sigBytes/4,o=4*((this[t(475)]=r+6)+1),a=this._keySchedule=[],h=0;h6&&h%r==4&&(g=n[g>>>24]<<24|n[g>>>16&255]<<16|n[g>>>8&255]<<8|n[255&g]):(g=n[(g=g<<8|g>>>24)>>>24]<<24|n[g>>>16&255]<<16|n[g>>>8&255]<<8|n[255&g],g^=m[h/r|0]<<24),a[h]=a[h-r]^g);for(var c=this[t(460)]=[],l=0;l>>24]]^u[n[g>>>16&255]]^p[n[g>>>8&255]]^f[n[255&g]]}}},encryptBlock:function(t,s){this[e(468)](t,s,this._keySchedule,a,h,c,l,n)},decryptBlock:function(t,s){var i=e,r=t[s+1];t[s+1]=t[s+3],t[s+3]=r,this[i(468)](t,s,this[i(460)],d,u,p,f,o),r=t[s+1],t[s+1]=t[s+3],t[s+3]=r},_doCryptBlock:function(t,e,s,i,r,n,o,a){for(var h=this._nRounds,c=t[e]^s[0],l=t[e+1]^s[1],d=t[e+2]^s[2],u=t[e+3]^s[3],p=4,f=1;f>>24]^r[l>>>16&255]^n[d>>>8&255]^o[255&u]^s[p++],g=i[l>>>24]^r[d>>>16&255]^n[u>>>8&255]^o[255&c]^s[p++],A=i[d>>>24]^r[u>>>16&255]^n[c>>>8&255]^o[255&l]^s[p++],y=i[u>>>24]^r[c>>>16&255]^n[l>>>8&255]^o[255&d]^s[p++];c=m,l=g,d=A,u=y}m=(a[c>>>24]<<24|a[l>>>16&255]<<16|a[d>>>8&255]<<8|a[255&u])^s[p++],g=(a[l>>>24]<<24|a[d>>>16&255]<<16|a[u>>>8&255]<<8|a[255&c])^s[p++],A=(a[d>>>24]<<24|a[u>>>16&255]<<16|a[c>>>8&255]<<8|a[255&l])^s[p++],y=(a[u>>>24]<<24|a[c>>>16&255]<<16|a[l>>>8&255]<<8|a[255&d])^s[p++],t[e]=m,t[e+1]=g,t[e+2]=A,t[e+3]=y},keySize:8});s[e(474)]=i[e(476)](g)}(),t[e(474)]},(r=qd)(465)==r(465)?t[r(453)]=i(El):i(s[r(464)])}));var Xd=$d;!function(t,e){for(var s=$d,i=t();;)try{if(848020===parseInt(s(431))/1+parseInt(s(462))/2*(-parseInt(s(442))/3)+parseInt(s(430))/4*(parseInt(s(465))/5)+parseInt(s(445))/6*(parseInt(s(437))/7)+parseInt(s(469))/8+parseInt(s(470))/9+parseInt(s(439))/10*(-parseInt(s(453))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Zd);ee[Xd(434)]((function(t,e){var s,i,r,n=Xd;s=ee[n(436)],i=function(t){var e=n;return function(){var e=$d,s=t,i=s.lib,r=i.WordArray,n=i[e(457)],o=s.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],h=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],u=o.DES=n[e(472)]({_doReset:function(){for(var t=e,s=this._key[t(468)],i=[],r=0;r<56;r++){var n=a[r]-1;i[r]=s[n>>>5]>>>31-n%32&1}for(var o=this._subKeys=[],l=0;l<16;l++){var d=o[l]=[],u=c[l];for(r=0;r<24;r++)d[r/6|0]|=i[(h[r]-1+u)%28]<<31-r%6,d[4+(r/6|0)]|=i[28+(h[r+24]-1+u)%28]<<31-r%6;for(d[0]=d[0]<<1|d[0]>>>31,r=1;r<7;r++)d[r]=d[r]>>>4*(r-1)+3;d[7]=d[7]<<5|d[7]>>>27}var p=this._invSubKeys=[];for(r=0;r<16;r++)p[r]=o[15-r]},encryptBlock:function(t,s){var i=e;this[i(447)](t,s,this[i(463)])},decryptBlock:function(t,s){var i=e;this[i(447)](t,s,this[i(438)])},_doCryptBlock:function(t,s,i){var r=e;this[r(464)]=t[s],this._rBlock=t[s+1],p[r(466)](this,4,252645135),p[r(466)](this,16,65535),f[r(466)](this,2,858993459),f[r(466)](this,8,16711935),p[r(466)](this,1,1431655765);for(var n=0;n<16;n++){for(var o=i[n],a=this._lBlock,h=this[r(446)],c=0,u=0;u<8;u++)c|=l[u][((h^o[u])&d[u])>>>0];this._lBlock=h,this._rBlock=a^c}var m=this[r(464)];this[r(464)]=this[r(446)],this[r(446)]=m,p[r(466)](this,1,1431655765),f[r(466)](this,8,16711935),f.call(this,2,858993459),p.call(this,16,65535),p[r(466)](this,4,252645135),t[s]=this[r(464)],t[s+1]=this[r(446)]},keySize:2,ivSize:2,blockSize:2});function p(t,s){var i=e,r=(this[i(464)]>>>t^this._rBlock)&s;this[i(446)]^=r,this[i(464)]^=r<>>t^this._lBlock)&s;this._lBlock^=r,this[i(446)]^=r<192.","createEncryptor","createCommonjsModule","DES","commonjsGlobal","14yuEQEl","_invSubKeys","30JVWMdR","./enc-base64","_createHelper","3526737nVwxxg","create","_des3","3825534xaYzOF","_rBlock","_doCryptBlock","TripleDES","amd","function","exports","./md5","8186156BZUeOx","object","length","slice","BlockCipher","_des1","./evpkdf","encryptBlock","_des2","2DrdpTD","_subKeys","_lBlock","19385DOQCBa"];return(Zd=function(){return t})()}function $d(t,e){var s=Zd();return($d=function(t,e){return s[t-=430]})(t,e)}!function(t,e){for(var s=tu,i=t();;)try{if(612965===parseInt(s(265))/1+-parseInt(s(262))/2+-parseInt(s(269))/3*(parseInt(s(247))/4)+parseInt(s(248))/5*(parseInt(s(273))/6)+parseInt(s(250))/7*(-parseInt(s(267))/8)+-parseInt(s(272))/9+parseInt(s(266))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(eu);te((function(t,e){var s,i,r,n=tu;s=ee[n(270)],i=function(t){var e=n;return function(){var e=tu,s=t,i=s[e(257)][e(252)],r=s.algo,n=r[e(274)]=i.extend({_doReset:function(){for(var t=e,s=this[t(264)],i=s[t(256)],r=s.sigBytes,n=this._S=[],o=0;o<256;o++)n[o]=o;o=0;for(var a=0;o<256;o++){var h=o%r,c=i[h>>>2]>>>24-h%4*8&255;a=(a+n[o]+c)%256;var l=n[o];n[o]=n[a],n[a]=l}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var t=this._S,e=this._i,s=this._j,i=0,r=0;r<4;r++){s=(s+t[e=(e+1)%256])%256;var n=t[e];t[e]=t[s],t[s]=n,i|=t[(t[e]+t[s])%256]<<24-8*r}return this._i=e,this._j=s,i}s.RC4=i._createHelper(n);var a=r[e(246)]=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){var t=e;n[t(249)][t(253)](this);for(var s=this[t(271)][t(254)];s>0;s--)o.call(this)}});s[e(246)]=i[e(259)](a)}(),t[e(274)]},"object"===(r=tu)(255)?t[r(245)]=i(El):i(s[r(251)])}));function tu(t,e){var s=eu();return(tu=function(t,e){return s[t-=245]})(t,e)}function eu(){var t=["4367640eXPzrN","1093784ZUNTqD","./cipher-core","67413Ijggph","commonjsGlobal","cfg","1968975wCAIRJ","156474InUSSA","RC4","exports","RC4Drop","20YTMzfi","125kZdWPa","_doReset","7rNyGyh","CryptoJS","StreamCipher","call","drop","object","words","lib","./evpkdf","_createHelper","./core","./md5","1739822eIAtJd","amd","_key","861990jwpkec"];return(eu=function(){return t})()}var su=iu;function iu(t,e){var s=ru();return(iu=function(t,e){return s[t-=130]})(t,e)}function ru(){var t=["Rabbit","./evpkdf","amd","function","2693360WASAOZ","104rajSSb","cfg","785NVUSsQ","extend","262921AHWAGR","commonjsGlobal","2276glZEYY","call","createCommonjsModule","_createHelper","./cipher-core","algo","1263204VnDiEZ","./md5","exports","./core","185175FSKQBs","145271pwOskA","object","2yDEEdn","417687JCYoyL","words"];return(ru=function(){return t})()}!function(t,e){for(var s=iu,i=t();;)try{if(136141===parseInt(s(132))/1*(-parseInt(s(147))/2)+parseInt(s(148))/3+parseInt(s(134))/4*(-parseInt(s(130))/5)+-parseInt(s(140))/6+parseInt(s(145))/7*(parseInt(s(155))/8)+parseInt(s(144))/9+parseInt(s(154))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ru);ee[su(136)]((function(t,e){var s,i,r;s=ee[su(133)],i=function(t){return function(){var e=iu,s=t,i=s.lib.StreamCipher,r=s[e(139)],n=[],o=[],a=[],h=r[e(150)]=i[e(131)]({_doReset:function(){for(var t=e,s=this._key.words,i=this[t(156)].iv,r=0;r<4;r++)s[r]=16711935&(s[r]<<8|s[r]>>>24)|4278255360&(s[r]<<24|s[r]>>>8);var n=this._X=[s[0],s[3]<<16|s[2]>>>16,s[1],s[0]<<16|s[3]>>>16,s[2],s[1]<<16|s[0]>>>16,s[3],s[2]<<16|s[1]>>>16],o=this._C=[s[2]<<16|s[2]>>>16,4294901760&s[0]|65535&s[1],s[3]<<16|s[3]>>>16,4294901760&s[1]|65535&s[2],s[0]<<16|s[0]>>>16,4294901760&s[2]|65535&s[3],s[1]<<16|s[1]>>>16,4294901760&s[3]|65535&s[0]];for(this._b=0,r=0;r<4;r++)c[t(135)](this);for(r=0;r<8;r++)o[r]^=n[r+4&7];if(i){var a=i[t(149)],h=a[0],l=a[1],d=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),u=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),p=d>>>16|4294901760&u,f=u<<16|65535&d;for(o[0]^=d,o[1]^=p,o[2]^=u,o[3]^=f,o[4]^=d,o[5]^=p,o[6]^=u,o[7]^=f,r=0;r<4;r++)c[t(135)](this)}},_doProcessBlock:function(t,s){var i=e,r=this._X;c[i(135)](this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var o=0;o<4;o++)n[o]=16711935&(n[o]<<8|n[o]>>>24)|4278255360&(n[o]<<24|n[o]>>>8),t[s+o]^=n[o]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,s=0;s<8;s++)o[s]=e[s];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,s=0;s<8;s++){var i=t[s]+e[s],r=65535&i,n=i>>>16,h=((r*r>>>17)+r*n>>>15)+n*n,c=((4294901760&i)*i|0)+((65535&i)*i|0);a[s]=h^c}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}s[e(150)]=i[e(137)](h)}(),t.Rabbit},(r=iu)(146)==r(146)?t[r(142)]=i(El):"undefined"===r(153)&&(void 0)[r(152)]?(void 0)([r(143),"./enc-base64",r(141),r(151),r(138)],i):i(s.CryptoJS)}));var nu=au;function ou(){var t=["object","function","_key","call","RabbitLegacy","559723DOVJkV","StreamCipher","52782980mbesQY","_createHelper","commonjsGlobal","extend","6MSvDny","80YCVLEs","324528oqVctC","exports","316156MmzlxH","algo","140lNAdRH","5081490pozCBH","lib","createCommonjsModule","14594400WTBhbL","945268qIeLLt","./cipher-core","./md5","words"];return(ou=function(){return t})()}function au(t,e){var s=ou();return(au=function(t,e){return s[t-=338]})(t,e)}!function(t,e){for(var s=au,i=t();;)try{if(851488===-parseInt(s(342))/1+parseInt(s(359))/2*(-parseInt(s(348))/3)+parseInt(s(352))/4*(-parseInt(s(349))/5)+-parseInt(s(355))/6+parseInt(s(354))/7*(parseInt(s(350))/8)+-parseInt(s(358))/9+parseInt(s(344))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ou);ee[nu(357)]((function(t,e){var s,i,r,n=nu;s=ee[n(346)],i=function(t){var e=n;return function(){var e=au,s=t,i=s[e(356)][e(343)],r=s[e(353)],n=[],o=[],a=[],h=r[e(341)]=i[e(347)]({_doReset:function(){var t=e,s=this[t(339)][t(362)],i=this.cfg.iv,r=this._X=[s[0],s[3]<<16|s[2]>>>16,s[1],s[0]<<16|s[3]>>>16,s[2],s[1]<<16|s[0]>>>16,s[3],s[2]<<16|s[1]>>>16],n=this._C=[s[2]<<16|s[2]>>>16,4294901760&s[0]|65535&s[1],s[3]<<16|s[3]>>>16,4294901760&s[1]|65535&s[2],s[0]<<16|s[0]>>>16,4294901760&s[2]|65535&s[3],s[1]<<16|s[1]>>>16,4294901760&s[3]|65535&s[0]];this._b=0;for(var o=0;o<4;o++)c.call(this);for(o=0;o<8;o++)n[o]^=r[o+4&7];if(i){var a=i.words,h=a[0],l=a[1],d=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),u=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8),p=d>>>16|4294901760&u,f=u<<16|65535&d;for(n[0]^=d,n[1]^=p,n[2]^=u,n[3]^=f,n[4]^=d,n[5]^=p,n[6]^=u,n[7]^=f,o=0;o<4;o++)c[t(340)](this)}},_doProcessBlock:function(t,s){var i=e,r=this._X;c[i(340)](this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var o=0;o<4;o++)n[o]=16711935&(n[o]<<8|n[o]>>>24)|4278255360&(n[o]<<24|n[o]>>>8),t[s+o]^=n[o]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,s=0;s<8;s++)o[s]=e[s];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,s=0;s<8;s++){var i=t[s]+e[s],r=65535&i,n=i>>>16,h=((r*r>>>17)+r*n>>>15)+n*n,c=((4294901760&i)*i|0)+((65535&i)*i|0);a[s]=h^c}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}s[e(341)]=i[e(345)](h)}(),t[e(341)]},(r=au)(363)==r(363)?t[r(351)]=i(El):"undefined"===r(338)&&(void 0).amd?(void 0)(["./core","./enc-base64",r(361),"./evpkdf",r(360)],i):i(s.CryptoJS)}));const hu=lu;function cu(){const t=["8CmZpLB","Blowfish","right","extend","5VlbsYB","138114sRMFfx","10811440XwIDuT","_createHelper","algo","./evpkdf","696036kHaTLt","./md5","310278lfeVSy","lib","words","CryptoJS","commonjsGlobal","left","amd","createCommonjsModule","pbox","sbox","_keyPriorReset","3323173FKGrDE","./core","30031ktMsuL","_key","sigBytes","./enc-base64","4329108YsAbuW","./cipher-core","36HoFiKe","function"];return(cu=function(){return t})()}function lu(t,e){const s=cu();return(lu=function(t,e){return s[t-=374]})(t,e)}!function(t,e){const s=lu,i=t();for(;;)try{if(275099===-parseInt(s(384))/1*(parseInt(s(390))/2)+-parseInt(s(397))/3+-parseInt(s(402))/4+parseInt(s(396))/5*(-parseInt(s(404))/6)+-parseInt(s(382))/7*(parseInt(s(392))/8)+parseInt(s(388))/9+parseInt(s(398))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(cu);ee[hu(378)]((function(t,e){var s;ee[hu(375)],t.exports=(s=El,function(){const t=lu;var e=s,i=e[t(405)].BlockCipher,r=e[t(400)];const n=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var h={pbox:[],sbox:[]};function c(e,s){const i=t;let r=s>>24&255,n=s>>16&255,o=s>>8&255,a=255&s,h=e[i(380)][0][r]+e[i(380)][1][n];return h^=e[i(380)][2][o],h+=e.sbox[3][a],h}function l(e,s,i){const r=t;let o,a=s,h=i;for(let t=0;t1;--t)a^=e[r(379)][t],h=c(e,a)^h,o=a,a=h,h=o;return o=a,a=h,h=o,h^=e[r(379)][1],a^=e[r(379)][0],{left:a,right:h}}function u(e,s,i){const r=t;for(let t=0;t<4;t++){e.sbox[t]=[];for(let s=0;s<256;s++)e[r(380)][t][s]=a[t][s]}let h=0;for(let t=0;t=i&&(h=0);let c=0,d=0,u=0;for(let t=0;t>>2]|=t[e]<<24-e%4*8;return pu.lib[e(185)].create(s,t.length)}!function(t,e){const s=gu,i=t();for(;;)try{if(105966===-parseInt(s(174))/1+-parseInt(s(189))/2+parseInt(s(183))/3+parseInt(s(188))/4*(-parseInt(s(191))/5)+parseInt(s(192))/6*(-parseInt(s(175))/7)+-parseInt(s(186))/8+parseInt(s(187))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mu),function(t,e){const s=Eu,i=t();for(;;)try{if(557355===-parseInt(s(388))/1+-parseInt(s(403))/2*(parseInt(s(381))/3)+parseInt(s(402))/4+parseInt(s(408))/5+parseInt(s(399))/6*(-parseInt(s(410))/7)+-parseInt(s(398))/8+parseInt(s(409))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Pu);const yu=16,bu=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],vu=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function wu(t){const e=[];for(let s=0,i=t.length;s{const s=e;return 1===(t=t[s(392)](16))[s(390)]?"0"+t:t}))[e(404)]("")}function Eu(t,e){const s=Pu();return(Eu=function(t,e){return s[t-=379]})(t,e)}function Iu(t){const e=Eu,s=[];for(let i=0,r=t[e(390)];i>>6),s[e(394)](128|63&r);else if(r<=55295||r>=57344&&r<=65535)s[e(394)](224|r>>>12),s[e(394)](128|r>>>6&63),s[e(394)](128|63&r);else{if(!(r>=65536&&r<=1114111))throw s[e(394)](r),new Error(e(379));i++,s.push(240|r>>>18&28),s[e(394)](128|r>>>12&63),s[e(394)](128|r>>>6&63),s[e(394)](128|63&r)}}return s}function Tu(t){const e=Eu,s=[];for(let i=0,r=t[e(390)];i=240&&t[i]<=247?(s[e(394)](String[e(397)](((7&t[i])<<18)+((63&t[i+1])<<12)+((63&t[i+2])<<6)+(63&t[i+3]))),i+=3):t[i]>=224&&t[i]<=239?(s[e(394)](String.fromCodePoint(((15&t[i])<<12)+((63&t[i+1])<<6)+(63&t[i+2]))),i+=2):t[i]>=192&&t[i]<=223?(s[e(394)](String.fromCodePoint(((31&t[i])<<6)+(63&t[i+1]))),i++):s.push(String[e(397)](t[i]));return s[e(404)]("")}function ku(t,e){const s=31&e;return t<>>32-s}function _u(t){return(255&bu[t>>>24&255])<<24|(255&bu[t>>>16&255])<<16|(255&bu[t>>>8&255])<<8|255&bu[255&t]}function Cu(t){return t^ku(t,2)^ku(t,10)^ku(t,18)^ku(t,24)}function Ru(t){return t^ku(t,13)^ku(t,23)}function Du(t,e,s){const i=new Array(4),r=new Array(4);for(let e=0;e<4;e++)r[0]=255&t[4*e],r[1]=255&t[4*e+1],r[2]=255&t[4*e+2],r[3]=255&t[4*e+3],i[e]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];for(let t,e=0;e<32;e+=4)t=i[1]^i[2]^i[3]^s[e+0],i[0]^=Cu(_u(t)),t=i[2]^i[3]^i[0]^s[e+1],i[1]^=Cu(_u(t)),t=i[3]^i[0]^i[1]^s[e+2],i[2]^=Cu(_u(t)),t=i[0]^i[1]^i[2]^s[e+3],i[3]^=Cu(_u(t));for(let t=0;t<16;t+=4)e[t]=i[3-t/4]>>>24&255,e[t+1]=i[3-t/4]>>>16&255,e[t+2]=i[3-t/4]>>>8&255,e[t+3]=255&i[3-t/4]}function xu(t,e,s){const i=new Array(4),r=new Array(4);for(let e=0;e<4;e++)r[0]=255&t[0+4*e],r[1]=255&t[1+4*e],r[2]=255&t[2+4*e],r[3]=255&t[3+4*e],i[e]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];i[0]^=2746333894,i[1]^=1453994832,i[2]^=1736282519,i[3]^=2993693404;for(let t,s=0;s<32;s+=4)t=i[1]^i[2]^i[3]^vu[s+0],e[s+0]=i[0]^=Ru(_u(t)),t=i[2]^i[3]^i[0]^vu[s+1],e[s+1]=i[1]^=Ru(_u(t)),t=i[3]^i[0]^i[1]^vu[s+2],e[s+2]=i[2]^=Ru(_u(t)),t=i[0]^i[1]^i[2]^vu[s+3],e[s+3]=i[3]^=Ru(_u(t));if(0===s)for(let t,s=0;s<16;s++)t=e[s],e[s]=e[31-s],e[31-s]=t}function Lu(t,e,s){const i=Eu;let{padding:r="pkcs#7",mode:n,iv:o=[],output:a="string"}=arguments[i(390)]>3&&void 0!==arguments[3]?arguments[3]:{};if(n===i(400)&&(typeof o===i(389)&&(o=wu(o)),16!==o[i(390)]))throw new Error(i(387));if(typeof e===i(389)&&(e=wu(e)),16!==e[i(390)])throw new Error(i(382));if(t=typeof t===i(389)?0!==s?Iu(t):wu(t):[...t],("pkcs#5"===r||r===i(396))&&0!==s){const e=yu-t[i(390)]%yu;for(let s=0;s=yu;){const e=t[i(384)](u,u+16),r=new Array(16);if("cbc"===n)for(let t=0;tt[n(367)]&&i+r<=s[n(367)]?t[n(367)]-e:i+r>s[n(367)]&&e+r<=t[n(367)]?s[n(367)]-i:e+r<=t[n(367)]&&i+r<=s[n(367)]?r:s.length>24&255,t>>16&255,t>>8&255,255&t)}function Hu(t,e){var s=Xu;return e+3>>19)^(i<<23|i>>>9)}function Yu(t,e){var s=new Array(36);s[0]=Hu(e,0),s[1]=Hu(e,4),s[2]=Hu(e,8),s[3]=Hu(e,12);for(var i=0;i<32;i++)s[i+4]=s[i]^qu(s[i+1]^s[i+2]^s[i+3]^t[i]);var r=new Array(4);for(i=35;i>=32;i--)r[35-i]=s[i];return function(t){for(var e=Xu,s=new Array(4*t[e(367)]),i=0;i>>30)^(i<<10|i>>>22)^(i<<18|i>>>14)^(i<<24|i>>>8)}function Ju(){var t=["136235jRWcAW","byteLength","data is error!","1740lsEKjs","2087816AhKEQk","includes","232dzMhqW","58090AKIUpi","set","sm4 key is error!","iv is error!","2723292majido","slice","3725508ddPjRH","1719vUTQIp","10960eoFMcS","ceil","min","cipher is error!","length","1145AogIsO","2851RWsxtZ","35QWoNsd","log"];return(Ju=function(){return t})()}function Xu(t,e){var s=Ju();return(Xu=function(t,e){return s[t-=351]})(t,e)}function Zu(t,e,s){var i=Xu;if(null==t||null==t||t[i(367)]%16!=0)return console[i(371)]("sm4 key is error!"),null;if(null==s||null==s||s[i(367)]<=0)return console[i(371)](i(366)),null;if(null==e||null==e||e[i(367)]%16!=0)return console[i(371)]("iv is error!"),null;for(var r=Ku(t),n=Math.ceil(s[i(367)]/16),o=new Array(s[i(367)]),a=e[i(360)](),h=0;h timestamp is ","bufferStartDts","isPlayVodUseMSE",", isVideoSequenceHeader is true","isAllIframeInBufferList","isDropping","getPushLatestDelay","initPlaybackCacheLoop"," ts is ","_doDecoderDecode","initInterval() and is worker stream so return","playbackStreamVideoFps","suffixSei","_doDecode","_loop data isIFrame is true and delay is ","initInterval() and is hls and support hls265 so return","payload"," and prevPayloadBufferSize is ",",local diff is ","cryptoPayload","mseDecodeAudio","playbackCacheBeforeDecodeForFpsRender,_opt.hasAudio is false and set streamAudioFps is 0","now","dropBuffer$2() isAllIframeInBufferList() is true, and index is ","getVideoInfo","clearBuffer"," and isNotPushDropping is ","destroy","recorder","dropping","useMSE, page visibility is false and\n history interval diff is ","startTimestamp","\n diff is ","loop demux diff time is "," data.type is ","_doDecodeByMp4"," and isVideoAndNextAudio is ",", and hasAudio is ","_loop is dropping and data.ts is ","decodeAudio","_loop isPushDropping is true and bufferList length is ","set","isDestroyedOrClosed","encTypeCode","initPlaybackCacheLoop() and fragDuration is ","checkFirstIFrame","addVideoSequenceHeader","_decodeNext","cts",",\n delay is ","2013333ovPIWF","_decodeEnhancedH265Video","_doDecodeByPs"," > ","isXorCrypto opt.xorCryptoKey is null","preLoopTimestamp","prefixSei","initInterval","firstTimestamp","calcNetworkDelay dts is ",", _opt.networkDelay is ","isDemuxDecodeFirstIIframeInit","ceil","calcBufferFps","geVodLoadedTime","historyIntervalDiffTimeList","shift","getTime","listenPlaybackEvents","debugWarn","audio","isRecordTypeFlv","isM7sCrypto cryptoKey.length is ","isHistoryIntervalDiffTimeAllLarge","useWCS, page visibility is false and\n history interval diff is "," and isVideoSqeHeader is ","FT_KEY",",and old bufferList length is ","_opt"," and\n ts is ","h265","initInterval() and is vod mp4 so return","CommonDemux","cryptoPayloadAudio",", playbackRate is ","64ZyocPJ","join","_doDecodeByHls","PACKET_TYPE_FRAMES","bufferStartLocalTs","updateBaseFps","isUseHls265","pushBuffer() video\n ts is ","decode data type is ",", preTimestamp is ","indexOf","getDelayNotUpdateDelay","close","isRecordTypeMp4","useWCS","preFrameTs","addAACSequenceHeader",", vs start is "," pushBuffer audio ts is ","push"," an set streamFps is 25","hasIframeInBufferList","pushLatestDelay","updateVideoInfo","getDelay"," ,delay is ","isPlayback","isPushDropping","resetAllDelay","networkDelayTimeout"," and new delay is ",", update base fps is ","prevPayloadBufferSize","networkDelay","fromCharCode",", bufferListLength is ","_calcDecodeFps","decodeVideo","addAudio","player",", delay is ","getMaxDelayTs","isWasmMp4","video","preTimestampDuration","_postMessageToLoopWorker","videoBuffer","debugLog","type","startPlaybackLoopInterval","playbackStreamAudioFps","isStreamTsMoreThanLocal",", playbackStreamFps is ","resetDelay","1610XWoIrW"," and ts list is ","isSm4CryptoH265V2","concat","calcNetworkDelay","findIndex","nalUnitSize","playbackStreamFps","clearStopInterval","isPlaybackOnlyDecodeIFrame","pts","PACKET_TYPE_FRAMESX",", data.isIFrame is ","preDelayTimestamp","pushBuffer","calcIframeIntervalTimestamp","getInputByteLength"," ,and new bufferList length is ","5qhLTwK",", data.type is ","demux() isVideoSequenceHeader(enhancedH265) is true and nalUnitSize is ","cryptoKey","findSei","isPlayer","videoInfo.encTypeCode is ","stringify","4539280YpEJWs","isIFrame","worker","handleRecording","useMSE, pushLatestDelay is "," and dropBuffer$2()"];return(ep=function(){return t})()}!function(t,e){const s=$u,i=t();for(;;)try{if(904160===-parseInt(s(472))/1*(-parseInt(s(623))/2)+parseInt(s(659))/3+-parseInt(s(552))/4*(-parseInt(s(544))/5)+-parseInt(s(594))/6+-parseInt(s(715))/7+parseInt(s(581))/8*(-parseInt(s(613))/9)+parseInt(s(526))/10*(parseInt(s(564))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ep);class sp extends n{constructor(t){const e=$u;super(),this[e(560)]=e(469),this[e(511)]=t,this[e(603)]=null,this[e(723)]=null,this[e(696)]=null,this[e(539)]=null,this[e(720)]=null,this[e(666)]=null,this[e(476)]=null,this[e(638)]=null,this[e(487)]=null,this.preTimestamp=null,this.preTimestampDuration=0,this[e(504)]=0,this.isStreamTsMoreThanLocal=!1,this[e(579)]=-1,this.pushLatestDelay=-1,this.bufferList=[],this[e(730)]=[],this[e(616)]=[],this.playbackStreamFps=null,this.playbackStreamAudioFps=null,this[e(676)]=null,this.dropping=!1,this[e(499)]=!1,this[e(532)]=null,this[e(722)](),this[e(733)]()}[tp(692)](){const t=tp;this.clearStopInterval(),this[t(583)]=[],this[t(730)]=[],this._tempSampleTsList=[],this.playbackStreamFps=null,this[t(522)]=null,this[t(676)]=null,this[t(723)]=null,this[t(696)]=null,this[t(666)]=null,this[t(476)]=null,this[t(539)]=null,this[t(720)]=null,this[t(638)]=null,this[t(600)]=null,this[t(516)]=0,this[t(504)]=0,this.isStreamTsMoreThanLocal=!1,this[t(579)]=-1,this.pushLatestDelay=-1,this[t(694)]=!1,this.isPushDropping=!1,this[t(532)]=null,this[t(574)](),this[t(511)].debugLog(t(469),t(692))}[tp(733)](){const t=tp;this[t(511)][t(656)]()&&this[t(511)].isStreamTypeNotWorker()&&(this[t(511)].debugLog(this[t(560)],t(733)),this.player.on(O.playbackPause,this[t(558)][t(630)](this)))}[tp(670)](){const t=tp;return this[t(694)]||this[t(499)]}getDelay(t,e){const s=tp;if(!t||!this[s(511)].isDemuxDecodeFirstIIframeInit())return-1;if(e===L.audio)return this[s(579)];if(this[s(539)]&&this.preDelayTimestamp>t)return this[s(539)]-t>1e3&&this[s(511)].debugWarn(s(469),"getDelay() and preDelayTimestamp is "+this[s(539)]+s(665)+t+s(655)+(this.preDelayTimestamp-t)+"ms and return "+this[s(579)]),this[s(539)]=t,this.delay;if(this[s(723)]){if(t){const e=Date[s(687)]()-this.startTimestamp,i=t-this[s(723)];e>=i?(this[s(523)]=!1,this[s(579)]=e-i):(this[s(523)]=!0,this.delay=i-e)}}else this[s(723)]=t,this[s(696)]=Date.now(),this[s(579)]=-1;return this[s(539)]=t,this[s(579)]}getDelayNotUpdateDelay(t,e){const s=tp;if(!t||!this[s(511)].isDemuxDecodeFirstIIframeInit())return-1;if(e===L[s(735)])return this[s(494)];if(this[s(539)]&&this[s(539)]-t>1e3)return this.player[s(734)](s(469),s(589)+this[s(539)]+s(665)+t+s(655)+(this[s(539)]-t)+s(580)),-1;if(this.firstTimestamp){let e=-1;if(t){const i=Date.now()-this.startTimestamp,r=t-this[s(723)];e=i>=r?i-r:r-i}return e}return-1}[tp(525)](){const t=tp;this.firstTimestamp=null,this[t(696)]=null,this[t(579)]=-1,this[t(694)]=!1}[tp(500)](){const t=tp;this.resetDelay(),this[t(539)]=null}[tp(722)](){const t=tp;this[t(511)].isPlayVodMp4()?this.player[t(519)]("CommonDemux",t(468)):this[t(511)][t(478)]()?this.player[t(519)](t(469),t(680)):-1===this[t(511)].getStreamType()[t(482)](d[t(554)])?this[t(511)].isPlaybackCacheBeforeDecodeForFpsRender()?this.player[t(519)]("CommonDemux","initInterval() and playback and playbackIsCacheBeforeDecodeForFpsRender is true so return"):(this.player[t(519)](t(469),"setInterval()"),this[t(562)](),this[t(603)]=setInterval((()=>{const e=t;if(this[e(511)][e(707)]())return;let s=(new Date)[e(732)]();!this[e(720)]&&(this[e(720)]=s);const i=s-this[e(720)];this[e(588)](i),i>100&&this[e(511)][e(734)](e(469),e(698)+i),this[e(562)](),this[e(720)]=(new Date)[e(732)]()}),20)):this[t(511)][t(519)](t(469),t(675))}clearStopInterval(){const t=tp;this[t(603)]&&(clearInterval(this.stopId),this[t(603)]=null)}[tp(521)](){this[tp(672)]()}[tp(588)](t){const e=tp;this.historyIntervalDiffTimeList.length>5&&this[e(730)][e(731)](),this.historyIntervalDiffTimeList[e(491)](t)}[tp(738)](){const t=tp;if(this[t(730)][t(591)]<5)return!1;for(let e=0;e{const e=t;let s=null;this[e(583)][e(591)]&&(s=this[e(583)][e(731)](),this[e(674)](s))};e();const s=Math[t(727)](1e3/(this[t(533)]*this[t(511)][t(615)]()));this[t(511)].debugLog("CommonDemux",t(709)+s+t(524)+this[t(533)]+t(471)+this[t(511)][t(615)]()),this.stopId=setInterval(e,s)}[tp(562)](){const t=tp;let e;const s=this[t(511)][t(465)][t(518)],i=this[t(511)][t(465)].videoBufferDelay,r=this.player._opt[t(660)]===u[t(511)];if(this.bufferList.length){if(this[t(499)])return void this[t(511)][t(734)](t(469),t(705)+this[t(583)][t(591)]);if(this[t(694)]){for(e=this[t(583)][t(731)](),this[t(511)].debugWarn(t(469),t(703)+e.ts+t(545)+e[t(520)]+t(538)+e[t(553)]+", delay is "+this.delay+" ,buffer list is "+this[t(583)][t(591)]);!e[t(553)]&&this[t(583)].length;)e=this[t(583)][t(731)]();const s=this[t(483)](e.ts,e[t(520)]);e[t(553)]&&s<=this.getNotDroppingDelayTs()&&(this[t(511)][t(519)](t(469),t(679)+this[t(579)]),this[t(694)]=!1,this[t(674)](e),this[t(712)](e))}else if(this[t(511)][t(498)]()||this[t(511)][t(639)]()||0===s||this.player[t(606)]())for(;this[t(583)][t(591)];)e=this[t(583)][t(731)](),this[t(674)](e);else if(e=this[t(583)][0],-1===this[t(496)](e.ts,e.type))this[t(511)][t(519)](t(469),"delay is -1 and data.ts is "+e.ts+t(699)+e.type),this[t(583)].shift(),this[t(674)](e),this[t(712)](e);else if(this[t(579)]>i+s&&r)this[t(493)]()?(this.player[t(734)](t(469),t(604)+this.delay+", set dropping is true"),this[t(500)](),this[t(694)]=!0,this[t(511)].updateStats({isDropping:!0})):(this.bufferList[t(731)](),this[t(674)](e),this[t(712)](e));else for(;this[t(583)].length;){if(e=this[t(583)][0],!(this[t(496)](e.ts,e[t(520)])>s)){this.delay<0&&this[t(511)][t(734)]("CommonDemux","_loop delay is "+this[t(579)]+t(577)+this[t(583)]);break}this[t(583)].shift(),this[t(674)](e)}}else-1!==this[t(579)]&&this[t(511)][t(519)]("CommonDemux",t(614)),this[t(500)]()}[tp(678)](t,e,s,i){const r=tp;let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;const o=this[r(511)];let a={ts:s,cts:n,type:e,isIFrame:!1};this.player[r(549)]()?(e===L[r(515)]&&o[r(465)][r(660)]===u[r(511)]&&this[r(530)](s),o[r(465)][r(486)]&&!o[r(465)][r(609)]||o[r(465)].useMSE?(e===L[r(515)]&&(a.isIFrame=i),this[r(540)](t,a)):e===L.video?o[r(643)]&&o[r(643)][r(509)](t,s,i):e===L[r(735)]&&o[r(465)][r(647)]&&o[r(643)]&&o[r(643)][r(704)](t,s)):this[r(511)].isPlayback()?(e===L[r(515)]&&(a.isIFrame=i),this[r(511)][r(535)]()?e===L[r(515)]&&i&&this[r(540)](t,a):this[r(511)][r(561)]()||1===this[r(511)][r(615)]()?this.pushBuffer(t,a):this[r(540)](t,a,!1)):this.player[r(606)]()&&(e===L[r(515)]&&(a[r(553)]=i),this[r(540)](t,a))}_doDecodeByHls(t,e,s,i){const r=tp;let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments[r(591)]>5&&void 0!==arguments[5]?arguments[5]:"hls";if(this[r(511)][r(707)]())return void this[r(511)][r(519)](this[r(560)],r(641));let a=!1;if(e===L[r(735)]&&Ae(t)&&(this[r(511)][r(519)](r(469),o+r(490)+s+r(640)),a=!0,this[r(511)][r(736)]())){const e=new Uint8Array(t);this.player.recorder[r(488)](e,s)}let h=!1;if(e===L[r(515)]&&i&&ti(t)&&(this[r(511)].debugLog(r(469),o+r(622)+s+r(668)),h=!0,this[r(511)][r(736)]())){const e=new Uint8Array(t);this[r(511)][r(693)][r(711)](e,s)}this[r(511)][r(626)]&&ii(h)&&ii(a)&&this[r(555)](t,e,s,i,n),e===L[r(515)]?this[r(511)].isPlayVod()&&ii(this[r(511)][r(667)]())&&this[r(511)][r(578)]&&this.player.playVod[r(621)]()?i&&this[r(674)]({ts:s,cts:n,payload:t,type:L[r(515)],isIFrame:i}):this._doDecoderDecode({ts:s,cts:n,payload:t,type:L[r(515)],isIFrame:i}):e===L.audio&&(this.player[r(606)]()&&ii(this[r(511)][r(667)]())&&this[r(511)].playVod&&this[r(511)][r(578)][r(621)]()||this._doDecoderDecode({ts:s,payload:t,type:L[r(735)]}))}[tp(634)](t,e,s,i){let r=arguments[tp(591)]>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(t,e,s,i,r)}_doDecodeByTs(t,e,s,i){let r=arguments[tp(591)]>4&&void 0!==arguments[4]?arguments[4]:0;this._doDecode(t,e,s,i,r)}[tp(717)](t,e,s,i){const r=tp;let n=arguments[r(591)]>4&&void 0!==arguments[4]?arguments[4]:0;this[r(678)](t,e,s,i,n)}[tp(700)](t,e,s,i){const r=tp;let n=arguments[r(591)]>4&&void 0!==arguments[4]?arguments[4]:0;this[r(474)](t,e,s,i,n,"mp4")}[tp(712)](t){const e=tp,s=t.ts;if(0===this[e(583)][e(591)])return;let i=this[e(583)][0];const r=i.ts-s,n=t[e(520)]===L.video&&i.type===L[e(735)],o=t[e(520)]===L[e(515)]&&ti(t.payload);(r<=20||n||o)&&(this[e(511)][e(519)]("CommonDemux",e(480)+t[e(520)]+" and\n ts is "+s+e(664)+i[e(520)]+e(673)+i.ts+e(697)+r+e(701)+n+e(740)+o),this[e(583)][e(731)](),this[e(674)](i))}[tp(674)](t){const e=tp,s=this[e(511)],{webcodecsDecoder:i,mseDecoder:r}=s;this.player[e(549)]()&&this[e(511)].updateStats({buf:this[e(579)]}),t[e(520)]===L[e(735)]?s[e(465)][e(647)]&&(s[e(465)][e(570)]&&s._opt[e(685)]?r[e(704)](t[e(681)],t.ts):s[e(465)][e(486)]&&s[e(465)][e(624)]?i.decodeAudio(t[e(681)],t.ts):s[e(643)]&&s[e(643)].decodeAudio(t[e(681)],t.ts)):t.type===L[e(515)]&&(s[e(465)].isEmitSEI&&this.findSei(t[e(681)],t.ts),s._opt[e(486)]&&!s[e(465)][e(609)]?i.decodeVideo(t.payload,t.ts,t[e(553)],t[e(713)]):s._opt.useMSE?r[e(509)](t[e(681)],t.ts,t[e(553)],t[e(713)]):s[e(643)]&&s.decoderWorker[e(509)](t[e(681)],t.ts,t[e(553)]))}pushBuffer(t,e){const s=tp;let i=!(arguments[s(591)]>2&&void 0!==arguments[2])||arguments[2];const r=this[s(511)]._opt.videoBuffer,n=this[s(511)][s(465)][s(599)],o=this[s(511)][s(549)]();if(e[s(520)]===L[s(735)]&&Ae(t)){if(this[s(511)][s(519)](s(469),"pushBuffer() audio ts is "+e.ts+s(640)),this[s(511)][s(736)]()){const i=new Uint8Array(t);this[s(511)].recorder[s(488)](i,e.ts)}this[s(674)]({ts:e.ts,payload:t,type:L.audio})}else if(e[s(520)]===L.video&&e[s(553)]&&ti(t)){if(this[s(511)].debugLog(s(469),s(582)+e.ts+s(668)),this[s(511)][s(736)]()){const i=new Uint8Array(t);this[s(511)][s(693)][s(711)](i,e.ts)}this[s(674)]({ts:e.ts,payload:t,type:L.video,isIFrame:e.isIFrame,cts:e.cts})}else{if(this[s(511)][s(626)]&&this[s(555)](t,e[s(520)],e.ts,e[s(553)],e[s(713)]),o){if(e[s(520)]===L[s(515)]){if(this[s(516)]>0){const t=e.ts-this[s(600)],i=this[s(516)]+this.preTimestampDuration/2;t>=i&&this[s(511)][s(519)](s(469),"pushBuffer() video and isIFrame is "+e[s(553)]+s(661)+e.ts+s(658)+this[s(600)]+s(651)+t+s(644)+this[s(516)]+s(610)+i+s(568))}if(null!==this[s(600)]&&this[s(600)]>=e.ts&&(this.player[s(734)](s(469),s(635)+e[s(553)]+s(466)+e.ts+" less than (or equal) preTs is "+this[s(600)]+" and\n payloadBufferSize is "+t[s(590)]+s(682)+this.prevPayloadBufferSize),this[s(600)]-e.ts>E&&(this.player[s(734)]("CommonDemux",s(479)+e.ts+s(481)+this.preTimestamp+s(619)+(this[s(600)]-e.ts)+" more than "+E+s(587)),this[s(500)]()),this[s(511)][s(465)].isDropSameTimestampGop&&ii(e[s(553)])&&this[s(511)][s(726)]())){const t=this[s(493)](),e=ii(this[s(499)]);return this[s(511)][s(519)](s(469),s(620)+t+s(691)+e+" and next drop buffer"),void(t&&e?this.dropBuffer$2():this[s(690)](!0))}this[s(600)]>0&&(this[s(516)]=e.ts-this[s(600)]),this[s(504)]=t[s(590)],this[s(600)]=e.ts}if(this[s(511)][s(726)]()){let t=this[s(483)](e.ts,e[s(520)]);this[s(494)]=t;const i=n+r;this[s(511)][s(465)][s(570)]?this[s(579)]>0&&t>i&&this[s(579)]0&&t>i&&this[s(579)]0&&(this[t(676)]=e,this.player[t(515)]&&this.player[t(515)][t(571)](this[t(676)]),s?this.playbackStreamFps=e+s:this[t(533)]=e,ii(this[t(511)]._opt[t(647)])&&(this[t(511)][t(519)](this[t(560)],t(686)),this[t(522)]=0),this.initPlaybackCacheLoop())),fs(this[t(522)])&&(s=Ks(this[t(583)],L.audio),s>0&&(this[t(522)]=s,this[t(533)]=e?e+s:s,this[t(672)]())),fs(this[t(676)])&&fs(this[t(522)])){const i=this[t(583)].map((e=>({type:e[t(520)],ts:e.ts})));this[t(511)][t(519)](t(469),t(642)+s+t(575)+e+t(507)+this.bufferList[t(591)]+t(527)+JSON[t(551)](i))}const i=this[t(592)]()>0,r=i?60:40;this[t(583)].length>=r&&(this[t(511)][t(734)]("CommonDemux",t(584)+this.bufferList[t(591)]+t(655)+r+t(702)+i+t(492)),this[t(676)]=e,this.player[t(515)]&&this[t(511)][t(515)][t(571)](this[t(676)]),i?(this[t(522)]=25,this.playbackStreamFps=this[t(676)]+this[t(522)]):this[t(533)]=this[t(676)],this[t(672)]())}}[tp(628)](){const t=tp;if(this[t(583)][t(591)]>0){let e=this[t(583)][t(531)]((e=>{const s=t;return ei(e[s(553)])&&e[s(520)]===L[s(515)]}));if(this[t(669)]())for(let s=0;s=this[t(586)]()){this[t(511)].debugLog(t(469),t(688)+s+t(645)+r+t(636)+this[t(586)]()),e=s;break}}if(e>=0){this.isPushDropping=!0,this[t(511)].updateStats({isDropping:!0});const s=this[t(583)][t(591)];this[t(583)]=this[t(583)][t(657)](e);const i=this[t(583)][t(731)]();this[t(500)](),this.getDelay(i.ts,i[t(520)]),this[t(674)](i),this[t(499)]=!1,this[t(511)][t(519)](t(469),t(646)+e+t(742)+s+t(543)+this[t(583)][t(591)]+t(502)+this[t(579)]+" ")}else this[t(499)]=!1}0===this[t(583)].length&&(this[t(499)]=!1)}[tp(690)](){const t=tp;let e=arguments[t(591)]>0&&void 0!==arguments[0]&&arguments[0];this.player.debugLog(t(469),"clearBuffer,buffer length is "+this[t(583)].length+t(596)+e+" and _opt.checkFirstIFrame is "+this[t(511)]._opt[t(710)]),e&&(this[t(583)]=[]),this.player.isPlayer()&&(this.resetAllDelay(),ei(this.player[t(465)][t(710)])&&(this[t(694)]=!0,this[t(511)][t(567)]({isDropping:!0}))),this[t(511)][t(559)]()}[tp(530)](t){const e=tp;if(!(this[e(511)][e(726)]()&&t>0))return;null===this[e(666)]?(this.bufferStartDts=t,this[e(476)]=Ve()):ts?i-s:0;r>this[e(511)]._opt.networkDelay&&this.player[e(465)][e(660)]===u[e(511)]&&(this[e(511)][e(734)](e(469),e(632)+t+e(593)+this.bufferStartDts+e(489)+s+e(683)+i+e(497)+r+e(725)+this[e(511)][e(465)][e(505)]),this[e(511)][e(566)](O[e(501)],r)),this.player[e(567)]({netBuf:r})}[tp(541)](t){const e=tp;if(null===this.preIframeTs)this.preIframeTs=t;else if(this.preIframeTs{const i=t;s[i(520)]===L[i(515)]&&(e+=1)})),e}[tp(592)](){const t=tp;let e=0;return this[t(583)].forEach((s=>{const i=t;s[i(520)]===L[i(735)]&&(e+=1)})),e}hasIframeInBufferList(){const t=tp;return this[t(583)][t(602)]((e=>{const s=t;return e[s(520)]===L[s(515)]&&e[s(553)]}))}[tp(669)](){const t=tp,e=this[t(617)]();let s=0;return this[t(583)].forEach((e=>{const i=t;e[i(520)]===L[i(515)]&&e[i(553)]&&(s+=1)})),e===s}[tp(542)](){return 0}[tp(607)](){return this[tp(523)]}[tp(484)](){}[tp(601)](){}[tp(548)](t,e){const s=tp;let i=arguments[s(591)]>2&&void 0!==arguments[2]&&arguments[2],r=4;gs(this.nalUnitSize)&&(r=this[s(532)]);const n=Pe(t[s(657)](5),r);if(ii(i)){const t=this[s(511)][s(689)]();t&&t[s(648)]&&(i=t[s(648)]===K[s(467)])}n[s(637)]((t=>{const r=s,n=i?t[0]>>>1&63:31&t[0],o=i&&(n===X[r(677)]||n===X[r(721)]),a=ii(i)&&n===J[r(631)];if(o||a){const s=Me(t,i);this.player[r(585)]({ts:e,data:s[r(681)]})}}))}[tp(555)](t,e,s,i,r){const n=tp;if(this[n(511)].isRecordTypeFlv()){const i=new Uint8Array(t);e===L[n(515)]?this[n(511)][n(693)].addVideo(i,s):e===L.audio&&this.player[n(693)][n(510)](i,s)}else if(this[n(511)][n(485)]()){const o=new Uint8Array(t);if(this[n(511)].recorder[n(514)]()){if(e===L[n(515)])this[n(511)][n(693)].handleAddNaluTrack(o[n(657)](5),i,s,r);else if(e===L[n(735)]){const e=new Uint8Array(t);this[n(511)][n(693)][n(595)](ye(e)?e[n(657)](2):e[n(657)](1),s)}}else e===L.video&&this[n(511)][n(693)][n(573)](o[n(657)](5),i,s,r)}}[tp(662)](t){const e=tp,s=15&t[0];this[e(511)][e(515)][e(495)]({encTypeCode:s});const i=s===H[e(467)];this[e(532)]=function(t,e){const s=xe;let i=null;return e?t[s(185)]>=28&&(i=1+(3&t[26])):t[s(185)]>=12&&(i=1+(3&t[9])),i}(t,i),this[e(511)][e(519)](this.TAG_NAME,e(563)+i+e(649)+this[e(532)])}[tp(684)](t,e){const s=tp;let i=this[s(511)],r=t;if(i[s(465)].isM7sCrypto)if(i[s(465)].cryptoKey&&i[s(465)][s(547)].byteLength>0&&i[s(465)][s(598)]&&i[s(465)][s(598)][s(590)]>0){const e=this[s(511)][s(515)][s(689)]();e[s(708)]?r=function(t,e,s){const i=gu;let r=arguments[i(182)]>3&&void 0!==arguments[3]&&arguments[3];e=new Uint8Array(e),s=new Uint8Array(s);const n=t.byteLength;let o=5;for(;on)break;let h=t[o+4],c=!1;if(r?(h=h>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(h)):(h&=31,c=1===h||5===h),c){const r=t[i(179)](o+4+2,o+4+a);let n=new(bl[i(184)][i(178)])(e,new(bl[i(177)])(s));const h=n[i(176)](r);n=null,t.set(h,o+4+2)}o=o+4+a}return t}(t,i._opt[s(547)],i[s(465)][s(598)],e[s(708)]===H[s(467)]):i.debugWarn(this[s(560)],s(550)+e[s(708)])}else i.debugError(this[s(560)],s(737)+(i[s(465)][s(547)]&&i[s(465)][s(547)][s(590)])+s(612)+(i[s(465)][s(598)]&&i[s(465)][s(598)].byteLength)+s(629));else if(i[s(465)][s(611)])if(i[s(465)][s(569)]){const e=this.player[s(515)][s(689)]()[s(708)]===H[s(467)],n=this[s(511)]._opt[s(528)];r=i[s(465)][s(547)]&&i[s(465)][s(547)][s(590)]>0&&i[s(465)][s(598)]&&i[s(465)][s(598)][s(590)]>0?function(t,e,s){var i=Xu;let r=arguments[i(367)]>3&&void 0!==arguments[3]&&arguments[3],n=arguments[i(367)]>4&&void 0!==arguments[4]&&arguments[4];e=new Uint8Array(e),s=new Uint8Array(s);const o=t[i(373)];let a=5;for(;ao)break;let c=t[a+4],l=!1,d=2;if(r?(n&&(d=3),c=c>>>1&63,l=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][i(353)](c)):(c&=31,l=1===c||5===c),l){const r=Zu(e,s,t[i(360)](a+4+d,a+4+h));t[i(356)](r,a+4+d)}a=a+4+h}return t}(t,i[s(465)][s(547)],i[s(465)].cryptoIV,e,n):function(t,e){const s=Eu;let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments[s(390)]>3&&void 0!==arguments[3]&&arguments[3];const n=t[s(393)];let o=new Uint8Array(t[s(384)](0,5)),a=5;for(;an){const e=new Uint8Array(o[s(390)]+t[s(390)]-a);e[s(380)](o,0),e[s(380)](t.slice(a),o.length),o=e;break}let l=t[a+4],d=!1,u=2;if(i?(r&&(u=3),l=l>>>1&63,d=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21].includes(l)):(l&=31,d=1===l||5===l),d){const i=Lu(t.slice(a+4+u,a+4+c),e,0,{padding:"none",output:s(383)});let r=i[i[s(390)]-1];if(r>0&&r<16){let t=!0;for(let e=1;e<=r;e++)if(i[i[s(390)]-e]!==r){t=!1;break}t&&i[s(385)](i[s(390)]-r,r)}const n=new Uint8Array(u);n[s(380)](t[s(384)](a+4,a+4+u),0);const h=Be(Dh(n,new Uint8Array(i))),l=new Uint8Array(o[s(390)]+h[s(390)]);l[s(380)](o,0),l.set(h,o[s(390)]),o=l}else{const e=t[s(384)](a+4,a+4+c),i=new Uint8Array(o[s(390)]+4+e[s(390)]);i[s(380)](o,0),i[s(380)](h,o[s(390)]),i.set(e,o.length+4),o=i}a=a+4+c}return o}(t,i[s(465)][s(569)],e,n)}else!i[s(465)].sm4CryptoKey&&i[s(565)](this[s(560)],s(625));else if(i[s(465)][s(572)])if(i[s(465)][s(547)]&&i[s(465)][s(547)][s(590)]>0&&i[s(465)][s(598)]&&i._opt[s(598)][s(590)]>0){const e=this.player[s(515)][s(689)]();r=function(t,e,s){const i=Uu;let r=arguments[i(246)]>3&&void 0!==arguments[3]&&arguments[3];const n=t.byteLength;let o=5;for(;on)break;let h=t[o+4],c=!1;if(r?(h=h>>>1&63,c=[0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21][i(253)](h)):(h&=31,c=1===h||5===h),c){const r=Bu(t.slice(o+4,o+4+a),e,s);t[i(252)](r,o+4)}o=o+4+a}return t}(t,i._opt[s(547)],i[s(465)][s(598)],e[s(708)]===H[s(467)])}else i[s(565)](this[s(560)],s(719));return r}[tp(470)](t){const e=tp;let s=this.player;if(ii(s[e(465)][e(576)]))return t;let i=t;if(s[e(465)].isM7sCrypto)if(s[e(465)][e(547)]&&s._opt[e(547)].byteLength>0&&s[e(465)].cryptoIV&&s[e(465)][e(598)][e(590)]>0){t[0]>>4===Q.AAC&&(i=function(t,e,s){const i=gu;if(t[i(181)]<=30)return t;const r=t[i(179)](32);let n=new(bl[i(184)].ctr)(e,new(bl[i(177)])(s));const o=n[i(176)](r);return n=null,t[i(195)](o,32),t}(t,s[e(465)][e(547)],s[e(465)][e(598)]))}else s[e(565)](this.TAG_NAME,e(737)+(s[e(465)].cryptoKey&&s[e(465)][e(547)][e(590)])+e(612)+(s[e(465)][e(598)]&&s[e(465)][e(598)].byteLength)+e(629));return i}[tp(716)](t,e){const s=tp,i=t[0],r=48&i,n=15&i,o=t.slice(1,5),a=new ArrayBuffer(4),h=new Uint32Array(a),c="a"==String[s(506)](o[0]);if(n===Ft[s(652)]){if(r===Ot[s(741)]){const e=t[s(657)](5);if(c);else{const t=new Uint8Array(5+e[s(591)]);t[s(706)]([28,0,0,0,0],0),t[s(706)](e,5),this.updateNalUnitSize(t),this[s(511)][s(519)](this[s(560)],s(546)+this[s(532)]),this[s(678)](t,L.video,0,!0,0)}}}else if(n===Ft[s(475)]){let i=t,n=0;const o=r===Ot[s(741)];if(o&&this[s(541)](e),c);else{h[0]=t[4],h[1]=t[3],h[2]=t[2],h[3]=0,n=h[0];i=oh(t.slice(8),o),i=this.cryptoPayload(i,o),this._doDecode(i,L[s(515)],e,o,n)}}else if(n===Ft[s(537)]){const i=r===Ot[s(741)],n=t[s(657)](5);i&&this[s(541)](e);let o=oh(n,i);o=this.cryptoPayload(o,i),this[s(678)](o,L[s(515)],e,i,0)}}_isEnhancedH265Header(t){return 128==(128&t)}[tp(558)](t){const e=tp;ei(t)?this[e(534)]():this[e(521)]()}[tp(508)](t){const e=tp,s=t.map((t=>{const e=$u;return{ts:t.dts||t[e(536)],type:t[e(520)]}}));this._tempSampleTsList=this._tempSampleTsList[e(529)](s);const i=Ks(this[e(616)],L[e(515)]);if(i)this[e(511)][e(519)](this[e(560)],e(618)+i+e(503)+this[e(653)]),this[e(653)]=i,this[e(616)]=[],this[e(517)](e(477),{baseFps:this._basefps});else if(this[e(511)][e(519)](this[e(560)],e(627)),this[e(616)][e(591)]>200)return this[e(511)][e(519)](this.TAG_NAME,e(633)+this[e(653)]),this._tempSampleTsList=[],this[e(517)](e(477),{baseFps:this[e(653)]}),!0;return null!==i}[tp(654)](){return!this[tp(511)].isUseMSE()}[tp(650)](){const t=tp;return this.bufferList[t(591)]}[tp(729)](){return 0}}const ip=hp;!function(t,e){const s=hp,i=t();for(;;)try{if(501989===parseInt(s(286))/1+parseInt(s(301))/2+parseInt(s(311))/3+-parseInt(s(292))/4*(parseInt(s(326))/5)+parseInt(s(289))/6*(parseInt(s(293))/7)+parseInt(s(284))/8*(parseInt(s(313))/9)+parseInt(s(324))/10*(-parseInt(s(325))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(lp);var rp=function(t,e,s,i){return new(s||(s=Promise))((function(r,n){const o=hp;function a(t){const e=hp;try{c(i[e(309)](t))}catch(t){n(t)}}function h(t){const e=hp;try{c(i[e(299)](t))}catch(t){n(t)}}function c(t){const e=hp;var i;t[e(282)]?r(t[e(298)]):(i=t[e(298)],i instanceof s?i:new s((function(t){t(i)}))).then(a,h)}c((i=i[o(323)](t,e||[]))[o(309)]())}))};const np=Symbol(32),op=Symbol(16),ap=Symbol(8);function hp(t,e){const s=lp();return(hp=function(t,e){return s[t-=282]})(t,e)}class cp{constructor(t){const e=ip;this.g=t,this[e(310)]=0,t&&(this[e(317)]=t.next()[e(298)])}[ip(300)](t){const e=ip;this.g=t,this[e(302)](t[e(309)]()[e(298)],!0)}[ip(295)](){const t=ip;this[t(307)]&&this.consumed&&(this[t(307)][t(314)](0,this.consumed),this[t(307)]=this[t(307)][t(296)](0,this[t(307)][t(285)]-this[t(310)]),this[t(310)]=0)}[ip(302)](t,e){const s=ip;return e&&this.consume(),this[s(317)]=t,this[s(308)]()}[ip(304)](t){return rp(this,void 0,void 0,(function*(){const e=hp;return this[e(312)]&&(yield this[e(312)]),this.lastReadPromise=new Promise(((s,i)=>{const r=e;var n;this[r(294)]=i,this[r(291)]=t=>{const e=r;delete this.lastReadPromise,delete this[e(291)],delete this.need,s(t)};this.demand(t,!0)||null===(n=this[r(283)])||void 0===n||n[r(319)](this,t)}))}))}[ip(288)](){return this[ip(304)](np)}[ip(318)](){return this[ip(304)](op)}[ip(287)](){return this[ip(304)](ap)}close(){const t=ip;var e;this.g&&this.g[t(321)](),this[t(307)]&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e[t(319)](this,new Error("EOF")),delete this[t(312)]}[ip(308)](){const t=ip;if(!this[t(307)]||!this.need)return;let e=null;const s=this[t(307)][t(296)](this[t(310)]);let i=0;const r=e=>s[t(285)]<(i=e);if(typeof this[t(317)]===t(306)){if(r(this.need))return;e=s[t(296)](0,i)}else if(this[t(317)]===np){if(r(4))return;e=s[0]<<24|s[1]<<16|s[2]<<8|s[3]}else if(this.need===op){if(r(2))return;e=s[0]<<8|s[1]}else if(this.need===ap){if(r(1))return;e=s[0]}else if(t(307)in this.need){if("byteOffset"in this[t(317)]){if(r(this[t(317)][t(303)]-this[t(317)][t(320)]))return;new Uint8Array(this[t(317)][t(307)],this[t(317)][t(320)])[t(315)](s[t(296)](0,i)),e=this[t(317)]}else if(this.g)return void this.g[t(299)](new Error(t(322)))}else{if(r(this[t(317)][t(303)]))return;new Uint8Array(this[t(317)])[t(315)](s[t(296)](0,i)),e=this[t(317)]}return this[t(310)]+=i,this.g?this[t(302)](this.g[t(309)](e)[t(298)],!0):this.resolve&&this[t(291)](e),e}write(t){const e=ip;if(t instanceof Uint8Array?this[e(290)](t.length)[e(315)](t):e(307)in t?this.malloc(t[e(303)])[e(315)](new Uint8Array(t.buffer,t[e(320)],t[e(303)])):this[e(290)](t[e(303)]).set(new Uint8Array(t)),!this.g&&!this.resolve)return new Promise((t=>this.pull=t));this[e(308)]()}writeU32(t){const e=ip;this[e(290)](4)[e(315)]([t>>24&255,t>>16&255,t>>8&255,255&t]),this[e(308)]()}[ip(305)](t){const e=ip;this[e(290)](2)[e(315)]([t>>8&255,255&t]),this.flush()}writeU8(t){const e=ip;this[e(290)](1)[0]=t,this[e(308)]()}[ip(290)](t){const e=ip;if(this[e(307)]){const s=this[e(307)][e(285)],i=s+t;if(i<=this[e(307)][e(307)][e(303)]-this[e(307)][e(320)])this[e(307)]=new Uint8Array(this.buffer.buffer,this[e(307)][e(320)],i);else{const t=new Uint8Array(i);t[e(315)](this.buffer),this.buffer=t}return this.buffer[e(296)](s,i)}return this[e(307)]=new Uint8Array(t),this[e(307)]}}function lp(){const t=["4996UIwdOO","49XIQKSm","reject","consume","subarray","U16","value","throw","setG","411036VWlNOm","demand","byteLength","read","writeU16","number","buffer","flush","next","consumed","369183lpQGkp","lastReadPromise","8608887OhSdUy","copyWithin","set","__awaiter","need","readU16","call","byteOffset","return","Unsupported type","apply","460CMqhiD","308418HbDwoA","2265mFjqQg","done","pull","8pfUdEs","length","248533AYThiw","readU8","readU32","706182gwFdWn","malloc","resolve"];return(lp=function(){return t})()}cp.U32=np,cp[ip(297)]=op,cp.U8=ap;const dp=up;function up(t,e){const s=pp();return(up=function(t,e){return s[t-=102]})(t,e)}function pp(){const t=["isRecordTypeFlv","payload.length is ","1586205lyCExr","_doDecode","length","demux","61821JOwQni"," and ignore","onMetaData","updateMetaData","1542GpPKkA","nalUnitSize","h265","keyFrame","updateNalUnitSize","player","updateStats","dispatch() this.input is null","video","1010576cNBiaC","debugLog","buffer","demux() isIFrame is false and unit type is IDR and update to true","slice","TAG_NAME","destroy","debugWarn","1133424PuDeqp","recorder","scriptData","demux() codecId is ","cryptoPayload","hasVideo","1370MCKABn","input","close","write","h264","_decodeEnhancedH265Video","207048dcbRJm","getInputByteLength","demuxStart","dispatch","FlvDemux","cryptoPayloadAudio","calcIframeIntervalTimestamp","14ijBDxx","_times","audio","init","1623828bJAgLL","byteLength","_opt","27272gnZcQV"];return(pp=function(){return t})()}!function(t,e){const s=up,i=t();for(;;)try{if(568593===parseInt(s(112))/1+parseInt(s(139))/2*(parseInt(s(132))/3)+-parseInt(s(143))/4+-parseInt(s(149))/5+parseInt(s(103))/6*(-parseInt(s(146))/7)+-parseInt(s(120))/8+parseInt(s(153))/9*(parseInt(s(126))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pp);class fp extends sp{constructor(t){const e=up;super(t),this[e(117)]=e(136),this[e(127)]=new cp(this[e(152)]()),t[e(113)](this.TAG_NAME,e(142))}[dp(118)](){const t=dp;super[t(118)](),this[t(127)]&&(this[t(127)][t(128)](),this[t(127)]=null),this.player[t(113)](this[t(117)],t(118))}[dp(135)](t){const e=dp;this.input?this.input[e(129)](t):this[e(108)]&&this[e(108)][e(119)](this.TAG_NAME,e(110))}*[dp(152)](){const t=dp;yield 9;const e=new ArrayBuffer(4),s=new Uint8Array(e),i=new Uint32Array(e),r=this.player;for(;;){if(!this[t(127)])return;s[3]=0;const e=yield 15,n=e[4];s[0]=e[7],s[1]=e[6],s[2]=e[5];const o=i[0];s[0]=e[10],s[1]=e[9],s[2]=e[8],s[3]=e[11];let a=i[0];const h=(yield o)[t(116)]();if(!r)return;switch(n){case P.audio:if(r[t(145)].hasAudio&&(r[t(109)]({abps:h[t(144)]}),h.byteLength>0)){let e=this[t(137)](h);this[t(150)](e,L[t(141)],a)}break;case P[t(111)]:if(r[t(145)][t(125)]&&h[t(151)]>=6){let e=a;r[t(109)]({vbps:h[t(144)],dts:e}),!r[t(140)][t(134)]&&(r[t(140)][t(134)]=Ve());const s=h[0];if(this._isEnhancedH265Header(s))this[t(131)](h,e);else{const e=15&s;let r=(s>>4&15)===kt[t(106)];const n=e===H[t(105)],o=e===H[t(130)];if(ii(n||o))return void this.player.debugWarn(this[t(117)],t(123)+e+t(154));ii(r)&&ei(pi(h,n))&&(this[t(108)][t(113)](this.TAG_NAME,t(115)),r=!0),r&&(this[t(138)](a),null===this[t(104)]&&ti(h)&&this[t(107)](h)),i[0]=h[4],i[1]=h[3],i[2]=h[2],i[3]=0;let c=i[0],l=this[t(124)](h,r);this[t(150)](l,L[t(111)],a,r,c)}}else h.length<6&&r[t(119)](this[t(117)],t(148)+h[t(151)]+" less than 6 and ignore");break;case P[t(122)]:if(this[t(108)][t(147)]()){const e=new Uint8Array(h);this[t(108)][t(121)].addMetaData(e)}const e=nc(h);e&&e[t(155)]&&r[t(102)](e[t(155)]);break;default:r[t(113)](this[t(117)],"demux() type is "+n)}}}[dp(128)](){const t=dp;this[t(127)]&&(this[t(127)][t(128)](),this[t(127)]=null)}[dp(133)](){const t=dp;let e=0;return this[t(127)]&&this[t(127)][t(114)]&&(e=this.input[t(114)][t(144)]),e}}const mp=gp;function gp(t,e){const s=yp();return(gp=function(t,e){return s[t-=305]})(t,e)}!function(t,e){const s=gp,i=t();for(;;)try{if(825474===-parseInt(s(335))/1+-parseInt(s(327))/2*(parseInt(s(313))/3)+parseInt(s(317))/4+-parseInt(s(312))/5+-parseInt(s(315))/6+-parseInt(s(328))/7+parseInt(s(307))/8*(parseInt(s(322))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(yp);class Ap extends sp{constructor(t){const e=gp;super(t),this[e(320)]=e(310),t.debugLog(this[e(320)],e(306))}[mp(326)](){const t=mp;super[t(326)](),this.player[t(314)](this[t(320)],"destroy")}[mp(334)](t){const e=mp,s=this[e(318)],i=new DataView(t),r=i[e(331)](0),n=i[e(337)](1,!1),o=new ArrayBuffer(4),a=new Uint32Array(o);switch(r){case L[e(332)]:if(s[e(321)][e(323)]){const i=new Uint8Array(t,5);s.updateStats({abps:i.byteLength}),i[e(333)]>0&&this[e(319)](i,r,n)}break;case L[e(324)]:if(s[e(321)][e(316)])if(!s._times[e(311)]&&(s[e(329)].demuxStart=Ve()),i[e(333)]>=11){const o=new Uint8Array(t,5);let h=n;s.updateStats({vbps:o.byteLength,dts:h});const c=o[0];if(this[e(336)](c))this[e(308)](o,n);else{const t=i[e(331)](5)>>4==1;t&&this[e(305)](n),a[0]=o[4],a[1]=o[3],a[2]=o[2],a[3]=0;let s=a[0],h=this[e(309)](o,t);this[e(319)](h,r,n,t,s)}}else this[e(318)].debugWarn(this[e(320)],e(334),e(330),i.byteLength,e(325))}}}function yp(){const t=["4303290QoobGA","debugLog","7420614WZXEqt","hasVideo","5215100TFfiXz","player","_doDecode","TAG_NAME","_opt","126anxbae","hasAudio","video","and return","destroy","2QqdBtv","1598415vcaQSR","_times","dv byteLength is","getUint8","audio","byteLength","dispatch","955800ngAuvn","_isEnhancedH265Header","getUint32","calcIframeIntervalTimestamp","init","2034776BKHskv","_decodeEnhancedH265Video","cryptoPayload","M7sDemux","demuxStart","919075YOuobq"];return(yp=function(){return t})()}var bp=vp;function vp(t,e){var s=wp();return(vp=function(t,e){return s[t-=115]})(t,e)}function wp(){var t=["8kWDmyv","22SAwMJF","239000PBWZLv","WebTransportDemux","22090bZIVkP","player","5787978QDcyXQ","destroy","20gkImET","15LuwubG","783268BgHKub","54692aLLpow","2061EYeUtj","8780028LTbwti","init","1460851RbINfo","debugLog","TAG_NAME"];return(wp=function(){return t})()}!function(t,e){for(var s=vp,i=t();;)try{if(664767===-parseInt(s(125))/1+-parseInt(s(117))/2*(-parseInt(s(124))/3)+-parseInt(s(126))/4*(-parseInt(s(123))/5)+-parseInt(s(121))/6+-parseInt(s(130))/7*(parseInt(s(115))/8)+-parseInt(s(127))/9*(-parseInt(s(119))/10)+parseInt(s(116))/11*(parseInt(s(128))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(wp);class Sp extends fp{constructor(t){var e=vp;super(t),this[e(132)]=e(118),t[e(131)](e(118),e(129))}[bp(122)](){var t=bp;super[t(122)](),this[t(120)][t(131)]("WebTransportDemux",t(122))}}const Ep=Tp;!function(t,e){const s=Tp,i=t();for(;;)try{if(767431===-parseInt(s(210))/1+parseInt(s(225))/2+-parseInt(s(216))/3+-parseInt(s(224))/4+parseInt(s(206))/5*(-parseInt(s(212))/6)+-parseInt(s(223))/7*(parseInt(s(208))/8)+parseInt(s(207))/9*(parseInt(s(214))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(kp);class Ip{constructor(t){const e=Tp;this.data=t,this[e(218)]=0,this.bitLength=8*t.byteLength}get[Ep(228)](){const t=Ep;return this[t(231)]-this[t(218)]}[Ep(232)](t){const e=Ep;if(this[e(228)]1&&void 0!==arguments[1])||arguments[1];return this.getBits(t,this.index,e)}[Ep(211)](t,e){const s=Ep;let i=!(arguments[s(221)]>2&&void 0!==arguments[2])||arguments[2];if(this.bitsAvailable>>r,o=8-r;if(o>=t)return i&&(this[s(218)]+=t),n>>o-t;{i&&(this[s(218)]+=o);const r=t-o;return n<>>1:-1*(t>>>1)}[Ep(219)](){return 1===this[Ep(227)](1)}[Ep(217)](){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this[Ep(227)](8*t)}[Ep(209)](){return this[Ep(227)](16)}[Ep(226)](){return this[Ep(227)](32)}}function Tp(t,e){const s=kp();return(Tp=function(t,e){return s[t-=206]})(t,e)}function kp(){const t=["skipLZ","bitLength","skipBits","170MfVygy","1692IGpAPx","7288gTozJt","readUShort","831447cVQBai","getBits","135012QbnAOg","skipEG","152710DlYLZg","readUEG","4109169PGVHXV","readUByte","index","readBoolean","data","length","readEG","616WQwtnE","636736DnWPgk","2204146KutdIk","readUInt","readBits","bitsAvailable","skipUEG"];return(kp=function(){return t})()}function _p(t,e){const s=Rp();return(_p=function(t,e){return s[t-=458]})(t,e)}const Cp=_p;function Rp(){const t=["handleVideoH264Nalu","kSliceIDR","_opt","parseVideo265Header","tempNaluBufferList","audio","push","set","handleVideoH265NaluList","3464112qYiClI",".h264","reduce","audioContext","demuxStart","getInputByteLength","byteLength","handleAudioAACNalu","naluList.length === 0","audioBufferSize","sps","parseVideo264Header","5RiLTuF","extractNALu","handleVideoNalu","784NfzHMn","readUByte","pendingUnits","init","slice","nakedFlowFps","h264","getNaluAudioDts","payload","handleNALu","1603122SNTqhg","vcl","handleVideoH265Frames_1","lastBuf","getNaluDts","handleVideoH265NaluList isSendSeqHeader is false","error","subarray","vps","emitVideoSei","debugLog","prefixSei","4683092ROkMWk","ALAW","streamVideoType","h265 naluList.length === 0","handleAddNaluStartCode","extractNALu$2","forEach","3124782WXhQLP","destroy","_doDecode","localDts","h265","_times","handleVideoH265Nalu","isIFrame","isSendAACSeqHeader","isSendSeqHeader","addNaluToBuffer","debugWarn","613933hwXbeS","units","TAG_NAME","click"," this.streamVideoType is null","updateStats","href","localAudioDts","isEmitSEI","NakedFlowDemux","extractH265SEI","_preDoDecode","handleVideoH264NaluList","pps","createElement","player","readBits","calcIframeIntervalTimestamp","handleVideoFrames streamVideoType is null","isfms","AAC","handleVideoH264NaluList isSendSeqHeader is false","video","handleVideoH264Nalu is avc seq head nalType is ","handleAudioG711UNalu","iFrame","kSliceSEI","extractH265PPS","createObjectURL","streamAudioType","327681iUmWua","length","2072609faCgHR","extractNALu$3","MULAW","readUEG","nakedFlowDemuxUseNew","extractH264SEI","handleVideoH265Frames","sampleRate","handleVideoFrames","now","downloadTempNalu"];return(Rp=function(){return t})()}!function(t,e){const s=_p,i=t();for(;;)try{if(669904===-parseInt(s(498))/1+parseInt(s(467))/2+-parseInt(s(486))/3+-parseInt(s(479))/4+parseInt(s(562))/5*(-parseInt(s(550))/6)+-parseInt(s(530))/7+parseInt(s(565))/8*(parseInt(s(528))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Rp);class Dp extends sp{constructor(t){const e=_p;super(t),this[e(500)]=e(507),this[e(470)]=null,this[e(475)]=null,this[e(560)]=null,this[e(511)]=null,this[e(481)]=null,this.streamAudioType=null,this[e(545)]=new Uint8Array(0),this[e(459)]={},this.localDts=0,this[e(495)]=!1,this[e(494)]=!1,t[e(477)](this.TAG_NAME,e(460))}[Cp(487)](){const t=Cp;super[t(487)](),this[t(470)]=null,this[t(475)]=null,this.sps=null,this[t(511)]=null,this[t(481)]=null,this.streamAudioType=null,this[t(545)]=new Uint8Array(0),this[t(459)]={},this[t(489)]=0,this[t(505)]=0,this[t(495)]=!1,this[t(494)]=!1,this[t(513)][t(477)](this.TAG_NAME,t(487))}dispatch(t){const e=Cp;this[e(513)];const s=new Uint8Array(t);if(this[e(513)][e(543)][e(534)]){const t=this.extractNALu$3(s);if(0===t[e(529)])return void this[e(513)][e(477)](this[e(500)],"dispatch naluArray.length === 0");this.handleVideoFrames(t)}else this[e(484)](s)}[Cp(496)](t){const e=Cp,s=t[e(556)]+this.tempNaluBufferList.byteLength,i=new Uint8Array(s);i.set(this[e(545)],0),i[e(548)](t,this[e(545)][e(556)]),this[e(545)]=i}downloadNakedFlowFile(){const t=Cp,e=new Blob([this[t(545)]]);try{const s=document[t(512)]("a");s.href=window.URL[t(526)](e),s.download=Date[t(539)]()+t(551),s[t(501)](),window.URL.revokeObjectURL(s[t(504)])}catch(e){console[t(473)](t(540),e)}}getNaluDts(){const t=Cp,e=this[t(513)][t(543)][t(462)];return this[t(489)]=this[t(489)]+parseInt(1e3/e,10),this.localDts}[Cp(464)](){const t=Cp,e=this[t(513)][t(546)][t(553)][t(537)],s=this[t(513)].audio[t(559)];return this.localDts+parseInt(s/e*1e3)}[Cp(563)](t){const e=Cp;let s,i,r=0,n=t.byteLength,o=0,a=[];for(;r1)for(let t=0;t{const s=e,i=Pa(t);i===J[s(511)]||i===J[s(560)]?this[s(541)](t):Ba(i)&&r[s(547)](t)})),1===r[e(529)])this.handleVideoH264Nalu(r[0]);else{if(function(t){const e=Ua;if(0===t[e(135)])return!1;const s=Pa(t[0]);for(let i=1;i{this[e(541)](t)}))}}else if(this[e(481)]===K.h265)if(this.player[e(543)].nakedFlowH265DemuxUseNew){const t=this[e(483)](s),i=this.extractNALu(t);if(0===i[e(529)])return void this[e(513)][e(497)](this[e(500)],e(564),e(482));const r=[];if(i[e(485)]((t=>{const s=e,i=ah(t);i===X[s(511)]||i===X[s(560)]||i===X[s(475)]?this.handleVideoH265Nalu(t):hh(i)&&r.push(t)})),1===r[e(529)])this.handleVideoH265Nalu(r[0]);else{if(function(t){const e=$a;if(0===t[e(459)])return!1;const s=ah(t[0]);for(let i=1;i{this[e(492)](t)}))}}else{ah(s)===X[e(511)]?this[e(525)](s):this.handleVideoH265Nalu(s)}else this.player.debugWarn(this.TAG_NAME,e(502))}extractH264PPS(t){const e=Cp,s=this[e(483)](t);this[e(563)](s)[e(485)]((t=>{const s=e;Ma(Pa(t))?this[s(535)](t):this[s(541)](t)}))}extractH265PPS(t){const e=Cp,s=this[e(483)](t);this.extractNALu(s)[e(485)]((t=>{const s=e,i=ah(t);i===X[$a(513)]?this[s(508)](t):this.handleVideoH265Nalu(t)}))}[Cp(535)](t){const e=Cp,s=this[e(483)](t);this[e(563)](s)[e(485)]((t=>{this[e(541)](t)}))}[Cp(508)](t){const e=Cp,s=this.handleAddNaluStartCode(t);this[e(563)](s)[e(485)]((t=>{this[e(492)](t)}))}[Cp(483)](t){const e=Cp,s=[0,0,0,1],i=new Uint8Array(t[e(529)]+s[e(529)]);return i[e(548)](s),i.set(t,s[e(529)]),i}[Cp(557)](t){const e=Cp;if(!t||t[e(556)]<1)return;!this[e(527)]&&(this.streamAudioType=Y[e(518)]);let s=new Uint8Array(t);const i=s[e(461)](0,7);if(s=s[e(461)](7),!this[e(494)]){const t=(192&i[2])>>6,s=(60&i[2])>>2,r=(1&i[2])<<2|(192&i[3])>>6,n=new Uint8Array([175,0,t<<3|(14&s)>>1,(1&s)<<7|r<<3]);this[e(494)]=!0,this[e(488)](n,L[e(546)],0,!1,0)}const r=this[e(464)](),n=new Uint8Array(s[e(529)]+2);n[e(548)]([175,1],0),n[e(548)](s,2),this[e(488)](n,L.audio,r,!1,0)}handleAudioG711ANalu(t){const e=Cp;if(!t||t[e(556)]<1)return;!this[e(527)]&&(this[e(527)]=Y[e(480)]);let s=new Uint8Array(t);const i=this[e(464)](),r=new Uint8Array(s[e(529)]+1);r.set([114],0),r[e(548)](s,1),this[e(488)](r,L.audio,i,!1,0)}[Cp(522)](t){const e=Cp;if(!t||t[e(556)]<1)return;!this.streamAudioType&&(this[e(527)]=Y[e(532)]);let s=new Uint8Array(t);const i=this[e(464)](),r=new Uint8Array(s[e(529)]+1);r.set([130],0),r[e(548)](s,1),this[e(488)](r,L[e(546)],i,!1,0)}[Cp(541)](t){const e=Cp,s=Pa(t);switch(s){case J[e(560)]:this[e(560)]=t;break;case J[e(511)]:this[e(511)]=t}if(this[e(495)]){if(this[e(560)]&&this[e(511)]){const t=xa({sps:this.sps,pps:this[e(511)]}),s=this[e(489)];this[e(488)](t,L[e(520)],s,!0,0),this[e(560)]=null,this[e(511)]=null}if(Ba(s)){!this[e(513)][e(491)].demuxStart&&(this[e(513)][e(491)][e(554)]=Ve());const i=Fa(s),r=this[e(471)](),n=function(t,e){const s=Ua;let i=[];i[0]=e?23:39,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=t[s(139)]>>24&255,i[6]=t[s(139)]>>16&255,i[7]=t[s(139)]>>8&255,i[8]=255&t.byteLength;const r=new Uint8Array(i[s(135)]+t[s(139)]);return r[s(163)](i,0),r[s(163)](t,i[s(135)]),r}(t,i);this[e(509)](n,L.video,r,i,0)}else this.player[e(497)](this.TAG_NAME,e(521)+s)}else if(this[e(560)]&&this[e(511)]){this[e(495)]=!0;const t=xa({sps:this[e(560)],pps:this.pps});this[e(488)](t,L[e(520)],0,!0,0),this.sps=null,this[e(511)]=null}}[Cp(510)](t,e,s){const i=Cp;if(this[i(495)]){!this[i(513)][i(491)].demuxStart&&(this[i(513)][i(491)][i(554)]=Ve());const s=this[i(471)](),r=La(t[i(552)](((t,e)=>{const s=i,r=Be(t),n=Be(e),o=new Uint8Array(r[s(556)]+n[s(556)]);return o[s(548)](r,0),o[s(548)](n,r[s(556)]),o})),e);this[i(509)](r,L.video,s,e,0)}else this.player.debugWarn(this[i(500)],i(519))}[Cp(492)](t){const e=Cp,s=ah(t);switch(s){case X[e(475)]:this[e(475)]=t;break;case X[e(560)]:this.sps=t;break;case X[e(511)]:this.pps=t}if(this[e(495)]){if(this[e(475)]&&this[e(560)]&&this.pps){const t=nh({vps:this[e(475)],sps:this[e(560)],pps:this[e(511)]}),s=this[e(489)];this._doDecode(t,L[e(520)],s,!0,0),this[e(475)]=null,this[e(560)]=null,this[e(511)]=null}if(hh(s)){!this[e(513)][e(491)].demuxStart&&(this[e(513)]._times.demuxStart=Ve());const i=ch(s),r=this[e(471)](),n=function(t,e){const s=$a;let i=[];i[0]=e?28:44,i[1]=1,i[2]=0,i[3]=0,i[4]=0,i[5]=t[s(424)]>>24&255,i[6]=t[s(424)]>>16&255,i[7]=t[s(424)]>>8&255,i[8]=255&t[s(424)];const r=new Uint8Array(i[s(459)]+t[s(424)]);return r.set(i,0),r[s(504)](t,i[s(459)]),r}(t,i);this[e(509)](n,L[e(520)],r,i,0)}}else if(this[e(475)]&&this[e(560)]&&this[e(511)]){this[e(495)]=!0;const t=nh({vps:this[e(475)],sps:this[e(560)],pps:this[e(511)]});this[e(488)](t,L.video,0,!0,0),this[e(475)]=null,this[e(560)]=null,this[e(511)]=null}}[Cp(549)](t,e,s){const i=Cp;if(this[i(495)]){!this[i(513)][i(491)][i(554)]&&(this[i(513)][i(491)][i(554)]=Ve());const s=this.getNaluDts(),r=oh(t[i(552)](((t,e)=>{const s=i,r=Be(t),n=Be(e),o=new Uint8Array(r[s(556)]+n[s(556)]);return o[s(548)](r,0),o.set(n,r[s(556)]),o})),e);this[i(509)](r,L.video,s,e,0)}else this.player.debugWarn(this[i(500)],i(472))}[Cp(509)](t,e,s,i,r){const n=Cp;this[n(513)][n(503)]({vbps:t[n(556)],dts:s}),i&&this[n(515)](s),this[n(488)](t,L[n(520)],s,i,r)}[Cp(555)](){const t=Cp;let e=0;return this[t(470)]&&(e=this.lastBuf[t(556)]),e}[Cp(538)](t){const e=Cp;if(!this.streamVideoType)for(let s of t)if(this[e(481)]=js(s),this[e(481)])break;this[e(481)]?this[e(481)]===K[e(463)]?this.handleVideoH264Frames(t):this[e(481)]===K[e(490)]&&this[e(536)](t):this[e(513)][e(497)](this[e(500)],e(516))}handleVideoH264Frames(t){const e=Cp;let s=[],i=[],r=!1,n=!1;this[e(459)][e(499)]&&(s=this[e(459)][e(499)],n=this[e(459)].vcl,r=this[e(459)][e(523)],this[e(459)]={});let o={};for(let a of t){if(a[e(556)]<4)continue;const t=Pa(a);let h=!1,c=t===J[e(542)];(t===J.kSliceNonIDR||t===J[e(542)])&&(o=this[e(561)](a),h=!0),s[e(529)]&&n&&(o[e(517)]||!h)&&(i[e(547)]({units:s,isIFrame:r}),s=[],r=!1,n=!1),s[e(547)](a),r=r||c,n=n||h}s[e(529)]&&(this[e(459)]={units:s,vcl:n,iFrame:r}),i[e(485)]((t=>{const s=e,i=t[s(499)],r=t[s(493)];let n=null,o=null;if(i[s(485)]((t=>{const e=s,i=31&t[0];switch(i){case J[e(511)]:this[e(511)]=t;break;case J[e(560)]:this.sps=t;break;case J[e(524)]:o=t}if(Ba(i)){const s=Be(t);if(n){const t=new Uint8Array(n[e(556)]+s[e(556)]);t[e(548)](n,0),t[e(548)](s,n[e(556)]),n=t}else n=s}})),!this[s(495)]&&this.sps&&this[s(511)]){this[s(495)]=!0;const t=xa({sps:this[s(560)],pps:this[s(511)]});this[s(488)](t,L[s(520)],0,!0,0),this.sps=null,this[s(511)]=null}if(this.isSendSeqHeader){if(this[s(560)]&&this[s(511)]){const t=xa({sps:this[s(560)],pps:this[s(511)]}),e=this[s(489)];this[s(488)](t,L[s(520)],e,!0,0),this[s(560)]=null,this[s(511)]=null}if(n){!this[s(513)][s(491)][s(554)]&&(this[s(513)][s(491)][s(554)]=Ve());const t=this[s(471)](),e=La(n,r);if(this[s(513)][s(543)].isEmitSEI&&o){const e=Me(o,!1);this[s(513)].emitVideoSei({ts:t,data:e.payload})}this._preDoDecode(e,L.video,t,r,0)}}}))}[Cp(536)](t){const e=Cp;let s=[],i=[],r=!1,n=!1;this[e(459)][e(499)]&&(s=this[e(459)].units,n=this[e(459)][e(468)],r=this.pendingUnits.iFrame,this[e(459)]={});let o={};for(let a of t){if(a[e(556)]<4)continue;const t=ah(a);let h=!1,c=ch(t);hh(t)&&(o=this[e(544)](a),h=!0),s[e(529)]&&n&&(o[e(517)]||!h)&&(i.push({units:s,isIFrame:r}),s=[],r=!1,n=!1),s.push(a),r=r||c,n=n||h}s[e(529)]&&(this[e(459)]={units:s,vcl:n,iFrame:r}),i[e(485)]((t=>{const s=e,i=t[s(499)],r=t[s(493)];let n=null,o=null;if(i[s(485)]((t=>{const e=s,i=t[0]>>>1&63;switch(i){case X[e(511)]:this[e(511)]=t;break;case X[e(560)]:this[e(560)]=t;break;case X[e(475)]:this[e(475)]=t;break;case X.suffixSei:case X[e(478)]:o=t}if(hh(i)){const s=Be(t);if(n){const t=new Uint8Array(n[e(556)]+s[e(556)]);t.set(n,0),t[e(548)](s,n.byteLength),n=t}else n=s}})),!this[s(495)]&&this[s(560)]&&this[s(511)]&&this.vps){this[s(495)]=!0;const t=nh({sps:this.sps,pps:this.pps,vps:this[s(475)]});this._doDecode(t,L.video,0,!0,0),this[s(560)]=null,this[s(511)]=null,this.vps=null}if(this.isSendSeqHeader){if(this[s(560)]&&this[s(511)]&&this.vps){const t=nh({sps:this[s(560)],pps:this[s(511)],vps:this[s(475)]}),e=this[s(489)];this._doDecode(t,L[s(520)],e,!0,0),this[s(560)]=null,this[s(511)]=null,this[s(475)]=null}if(n){!this[s(513)][s(491)][s(554)]&&(this[s(513)]._times[s(554)]=Ve());const t=this.getNaluDts(),e=oh(n,r);if(this[s(513)][s(543)][s(506)]&&o){const e=Me(o,!0);this[s(513)][s(476)]({ts:t,data:e[s(465)]})}this[s(509)](e,L[s(520)],t,r,0)}}}))}[Cp(469)](t){t.forEach((t=>{this[_p(564)](t)}))}[Cp(561)](t){const e=Cp,s=new Ip(t);s[e(458)]();return{isfms:0===s[e(533)](),sType:s[e(533)]()}}[Cp(544)](t){const e=Cp,s=new Ip(t);return s[e(458)](),{nalType:s[e(514)](6),isfms:0===s[e(514)](1),sType:s.readBits(3)}}}function xp(){var t=["14334420gXovxD","107000DIfldD","10853570xEvKkG","init","destroy","5fcYpWh","debugLog","66hTwZTJ","504zCIAga","12eedyLo","3tcjlVZ","428088liRJht","EmptyDemux","TAG_NAME","2969402AGrZme","1182821EWltqZ","5918164WsUjLC"];return(xp=function(){return t})()}function Lp(t,e){var s=xp();return(Lp=function(t,e){return s[t-=176]})(t,e)}var Pp=Lp;!function(t,e){for(var s=Lp,i=t();;)try{if(867405===-parseInt(s(187))/1+-parseInt(s(186))/2*(parseInt(s(182))/3)+parseInt(s(183))/4*(-parseInt(s(177))/5)+parseInt(s(181))/6*(-parseInt(s(188))/7)+parseInt(s(190))/8*(-parseInt(s(180))/9)+-parseInt(s(191))/10+parseInt(s(179))/11*(parseInt(s(189))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(xp);class Mp extends sp{constructor(t){var e=Lp;super(t),this.player=t,this[e(185)]=e(184),t[e(178)](e(184),e(192))}[Pp(176)](){var t=Pp;super[t(176)](),this.player[t(178)](t(184),t(176))}}var Bp=Up;function Fp(){var t=[">","getInt16","default_sample_size","pixi","Error in length field in stz2 box","getAudioConfig","ES_Descriptor","profile","infe","hvc1SampleEntry","samplesDataSize","trun","stco","writeFloat64Array"," full item size: ","966mrtceM","stsd","channel_associations","roll_distance","avc4","setSampleGroupProperties","box","ref_track_id"," --\x3e ","Box of type '","getBuffer","ispe","writeFloat32","hvcC","parseFullHeader","readUint64"," not fully parsed","mapUint8Array","drep","urn ","hvt1","setUint32"," needs a buffer with a fileStart position of ","all_ref_pics_intra","dOps","mere","SAP_delta_time","nb_samples","udes","fragmentedTracks","subtitleTracks","traf","essential","tkhdBox","max_picture_width","number","subsamples","initial_presentation_delay_minus_one","vpcC","group_id","data_offset","brst","degradation_priority","getMetaHandler","isHint","hvcCBox","ctts","MultiBufferStream","SLConfigDescriptor","tmin","VisualSampleEntry","SmDm","hasIOD","extractedTracks","operation_point_count","prototype","ranges","ContainerBox","DecoderSpecificInfo","tag","entries","attribute_list","lastBoxStartPosition","ISOFile","onSidx","truns","mdia","presentation_time_delta","num_tile_rows_minus_one","data_format","getTrackById","next_track_id: ","File uses negative stts sample delta, using value 1 instead, sync may be lost!","iloc","fragment_description","' did not read the entire indicated box data size (missing ","mime","albc","av1C reserved_1 parsing problem","bad_pixels","Audio","avc2SampleEntry","angle","MP4BoxStream","extract_bits","aux_subtype","buffer","processIncompleteBox","DataStream","videoTracks","height","ICC_profile","segmentStream","created","STREAMINFO","mhm2","_size","duration","numTemporalLayers","protection","construction_method","uint8","first_traf_merged","length_size_of_sample_num","string","warn","Buffer (fileStart: ","nump","alst","mapFloat32Array","float64","TFHD_FLAG_BASE_DATA_OFFSET","SampleGroupEntry","sync","writeInt32Array","presentation_time","parseSample","group_description_index","npck","prol","pow","TFHD_FLAG_SAMPLE_DESC","idat","boxEqual","createContainerBoxCtor","held_bits","readInt64","skew_factor","InputSampleRate","tsyn","position","updateUsedBytes","cslg"," on track #","rate","modified","elst","mvhdBox","dataview","sent","maxBitrate","bufferSizeDB","initSampleGroups","Not enough bytes in buffer","memcpy","isProgressive","mdats"," released samples up to ","getSample","length_size_of_traf_num","opcolor","eqiv","buildSampleLists","etyp","image_width","dobr","enof","av1C","writeInt16","setInt16","Unknown uuid type: '","sidxSent","write","Sending fragmented data on track #","alreadyRead","samples_per_chunk","VORBIS_COMMENT","audioTracks","slid","packetssent","length","enca","constant_IV_size","iods","int16be","item_count","moof_offset","readUint32Array","moovStartSent","grouping_type_parameter","metadataTracks","stream","btrt","width","moovBox","Flushing remaining samples","bitDepth","wvtt","chan_loc","computeSize","discardMdatData","u16stringbe","priority","compatible_brands"," stored buffer(s) (","maxr","altr","TFHD_FLAG_DUR_EMPTY","max","writeFooter","resources","mskC","TKHD_FLAG_IN_PREVIEW","stri","protections","start"," partial data (alreadyRead: ","readUint32","stream_read_1_bytes","BoxParser",'audio/mp4; codecs="',"description_index","writeInt16Array","absolute_time","_byteOffset","dvhe","Found position in existing buffer #","splice","wbbr","fiel"," at position ","hintTracks","extents","segment_duration","unpack","mdcv","stssBox","byteLength","rtp ","stsg","uint32","getChannelCount","parsingMdat","type:","mjp2","indexOf","default_Per_Sample_IV_Size","dependsOn_ES_ID","writeUint64","apply","Adjusted seek position (after checking data already in buffer): ","offset_size","uri "," read size: ","first_sample_index","nalu","earliest_presentation_time","white_point","seekTrack","completeness","kind","layer: ","drefBox","level","esd","modification_time","isFragmentationInitialized","SEEKTABLE","constant_frame_rate","sgpd","writeUint8","ASCII","parseLanguage","hvc1","item_name","num_bad_pixels","stereo_indication_type","subSequenceIdentifier","minimum_bitrate","sample_description_index","SAMPLE_ENTRY_TYPE_SYSTEM","avll","chunk_index","BYTES_PER_ELEMENT","level_independently_decodable"," of size ","rICC","getBox","readInt16","data_rate","writeFloat32Array","cts","url ","onSegment","moof_number","starts_with_SAP","rinf","process_sdtp","moof","createSampleEntryCtor","info","uint16be","TRUN_FLAGS_FIRST_FLAG","DIFF_BOXES_PROP_NAMES","fromCharCodeUint8","uint32be","vp08SampleEntry","sample_size","codec","extent_index","decimalToHex","transfer_characteristics","Found 'mdat' end in buffered data","vttC","depends_on","extended_language","endianness",", time "," not supported","default_group_description_index","num_sublayers","Not enough bytes left in the parent box to parse a UUID box","setExtractionOptions","createFullBoxCtor","item_uri_type","vp09","iinf","mapInt8Array","stsc","aux_info_type","avc1SampleEntry","aux_type","pssh","TrackGroupTypeBox","readFloat32Array","System","No more buffer in memory","toString","printHeader","Trying to create a new buffer of size: ","timescale","getUint8","uuid","readUint24","buildTrakSampleLists","' and size ","sample_deltas","destroy","subSeqDirectionFlag","getCodecs","flags","movie_timescale","initial_presentation_delay_present","trak","scif","getTime","channel_types","mvhd","focal_length_x","prof","Needs an array buffer","kindBox","data_offset_position","esds","createEncryptedSampleEntryCtor","chunk_offsets","readString","Duplicate Box of type: ","parseDataAndRewind","TKHD_FLAG_ENABLED","tile_align_size","base_offset","luminanceMin","reduceBuffer","getPrimaryItem",'"; profiles="',"chroma_format_idc","compositionToDTSShift","writeType","maxFALL","rtpmap_string","PPS","stsdBox","readInt16Array","dfLa","addSample","OCR_ES_ID","vmhd","schm","_byteLength","TRUN_FLAGS_SIZE","moovAudioNum","media_duration","item_type","RAP","roll","metadata","configurationVersion","SAMPLE_ENTRY_TYPE_HINT","min_spatial_segmentation_idc","av1C marker problem","mapUint16Array","url Box","revokeObjectURL","samples_duration","SampleEntry ","writeUint16Array","parse","TRUN_FLAGS_DATA_OFFSET","sidx","brands",'application/mp4; codecs="',"default_sample_duration","sample_sizes","(empty)","codec_specific_parameters","print","iref","encs","getSampleSize","vvc1SampleEntry","moovStartFound","channel_count","ArrayBuffer","pmax","addBox","num_dep_sub","balance","Writing box ","unsetExtractionOptions","stshBox","base_offset_size","SampleEntry","Found "," (total: ","ptl_frame_only_constraint","2737647kNCwOZ","' has a size ","imir","nonamespace"," more bytes than the indicated box data size, seeking backwards","prdi","call","UUIDBoxes","to_item_ID","min","sample_rate","Textin4Parser","avgBitrate","FullBox","Exporting on track #","accurateStatisticsFlag","stbl","dec3","display_primaries","box_record","Subtitle","moofBox","getTrackSamplesInfo","bytessent","sampling_type","mdat","component_align_size"," and offset: ","fr-FR","stcoBox","free","horizresolution","readInt32","bit_rate_code","itemToFragmentedTrackFile",".CA","getCodec","layer","fscod","getEndFilePositionAfter","Adjusting box ","trep","ptl_present_flag","is_leading","item_infos","reserved_1","padb","next_track_id","subBoxNames","component_little_endian","flags:","primaryRChromaticity_x","AVCLevelIndication","ptl_sublayer_present_mask","8cyYwLt","init","source","sub_track_id","avc2","dref","parseOneDescriptor","dts","Metadata","_dynamicSize","fragment_duration","initial_duration","reserved","stz2","component_format","assignment_type","parseFooter","stscBox"," full extent size: ","vp09SampleEntry","available_bitrate","sgpdBox","6d1d9b0542d544e680e2141daff757b2","isEof","XMLSubtitlein4Parser","getInt32","co64Box","SPS","findPosition","charCodeAt","field_size","ipco","system_id","ols_idx","vvi1","writeFloat64","subtitles","senc","getDurationString","SAMPLE_ENTRY_TYPE_AUDIO","chroma_subsampling_x"," - Length: ","namespace","[row: "," box writing not yet implemented, keeping unparsed data in memory for later write","numMetadataBlocks","No method for reading signed 64 bits values","getHeight","baseMediaDecodeTime","tx3g","createEntityToGroupCtor","createMediaSampleEntryCtor","getItem","getTrexById","Expected 'infe' box, got ","Descriptor","avc1","value","mapUint32Array","component_bit_depth_minus_one","sizePosition","indent","nalu_arrays","substring","writeCString","Box of type ","defineProperty","createFile","frame_count","num_entities_in_group","sample_delta","nextParsePosition","AVCProfileIndication","is_fragment","readUint16Array","updateSampleLists","tmax","3374370JMQZgh","ster","durationFlag","pano","dynamicSize","Unknown box type: '","No method for reading signed 24 bits values","vertOffN","meco","SAMPLE_ENTRY_TYPE_TEXT","iprp","PADDING","CoLL","primary","StreamCount","ssix","' box","sample_groups","mfhd","bufferIndex","cleanApertureHeightN","ind_subs","TRUN_FLAGS_DURATION","lastMoofIndex","general_tier_flag","bytes","language","49IkyVNr","sample_offsets","avcDecoderConfigRecord","Unlimited box size not supported for type: '","' read ","hdlr","Done processing buffer (fileStart: ","bit_depth_luma_minus8","focal_length_y","LITTLE_ENDIAN","default_sample_description_index","component_count","chroma_subsampling_y","TFHD_FLAG_SAMPLE_SIZE","Track #","writeUint32","properties","rapAlignement","bit_depth_chroma_minus8","writeUint8Array","uncv","hdr_size","luminanceMax","sinf","has_unparsed_data","setUint8","createElement","addEntry","av01SampleEntry","dtrt","auxC","TRUN_FLAGS_CTS_OFFSET","onError","setNextSeekPositionFromSample","video","stsz","cleanBuffers","vipr","sthd","location","stdp","num_output_samples","layerNumber","moov","code","writeInitializationSegment","length_size_of_trun_num","subsegment_duration","meta","afbr","general_level_idc","slice","Position ","_dataView","major_brand","max_pic_average_light_level","track_id","SAP_type","vvcC","interleave_type","horizOffN","_sweep","sequence_number","ptl_multilayer_enabled_flag","add","avs3","ref_to","8119573FWmbnG","trex","onMoovStart"," (too small to be a box)","audio","Getting item #","application/xml","stream_read_2_bytes","samples","nmhd","elng","cleanApertureWidthD","stszBox","int16","quat_y","writeInt32","getBoxes","nativeToEndian","printRanges","sample_offset","parseConfig","reference_type","creation_time","extent_length","fromCharCode","TrackReferenceTypeBox","encv","strk","getInfo","Opus","num_bad_cols","], [","ChannelMapping","colour_primaries","tfdtBox","first_chunk","chromaSubsampling","ac-3","colr","seig","writeInt8","bufferSize","a1lx","nb_PPS_nalus","content_type","usedBytes"," writing not yet implemented, keeping unparsed data in memory for later write","debug","block_size","encu","sample_is_depended_on","Cannot parse extension type","PreSkip"," bytes), seeking forward","chroma_sample_position"," data (alreadyRead: ","timescale: ","temporalIdNested"," (released size: ","fieldOrdering","mjpg","push","tscl","parseUUID","avc4SampleEntry","fragment_count","seq_tier_0","sdptext","discardable","descriptionformat","from_item_ID","tags","num_bytes_constraint_info","minf","Processing buffer (fileStart: ","mehd","bits_per_pixel","general_sub_profile_idc","tsel","property_index","int32","BIG_ENDIAN","flipArrayEndianness","mhm1","APPLICATION","failurePosition","a5d40b30e81411ddba2f0800200c9a66",", column: ","default_sample_info_size","166650DXkJni","creation_time: ","styp","readUint8Array","channel_indexes","entity_groups","event_duration"," for samples ["," on track ","writeUint24","processSamples","Not ready to start parsing","step_count","compressorname","isVideo","sampleProcessingStarted","trun_number","Item storage with construction_method : not supported","dependency","references","boxEqualFields","itemsDataSize","hSpacing","createSingleSampleMoof","cmin","hasIncompleteMdat","first_dts","readySent","processIncompleteMdat","stpp","description_length","avss","insertBuffer","subs","body","target","type","writeStruct","dmax",", overriding previous occurrence","vertresolution","matrix"," full size: ","OutputChannelCount","auxiliary_mime_types","parseOneBox","setInt32","shift","Allocating item #","sample_flags","mergeNextBuffer","uint32le","hmhd","SAMPLE_ENTRY_TYPE_VISUAL","pos_x","join","scheme_id_uri","SingleItemTypeReferenceBoxLarge","addUsedBytes","TKHD_FLAG_IN_MOVIE","sample_count","rap ","vvcN","initial_delay","Unknown Sample Group type: ","sample_duration","traf_number","num_total_samples","addTrack","241599xyXulN","DecoderConfigDescriptor","matrix: ","ipma","Not enough data in stream to parse the entire '","isMetadata","dvh1","readUint","msg","arrayToNative","boxCodes","alternate_group: ","handler","Creating media fragment on track #","replace","number_in_traf","sampleListBuilt","releaseSample","co64"," extent #","a1op","Sample Group type: ","streamType","isFragmented","tfhd","bad_rows","mp4a","twelve_bit","getSampleRate","max_picture_height","mdhdBox","constantFrameRate","default_constant_IV_size","colour_type","stsa","TFHD_FLAG_SAMPLE_FLAGS","readAnyInt","description_boxes","bg_color_rgba","primaryGChromaticity_x","boxes","Seeking at time ","Text","sdtp","ChannelMappingFamily"," of size: ","principal_point_x","createBoxCtor","bitrate","Getting sample #","message_data","width: ","<","tfra","BoxWriter","sample_has_redundancy","principal_point_y","version","compositionStartTime","referenced_size","saveParsePosition","bit_depth_minus8","pitm","padbits","languageString","description","default_sample_flags","stss","byteOffset"," with new size ","DIFF_PRIMITIVE_ARRAY_PROP_NAMES","component_index","graphicsmode","initializeSegmentation","trexBox","kinds","UUIDs","seq_profile","document","clli","first_sample_flags","logBufferLevel","Generating initialization segment","has_redundancy","readInt32Array","schi","lsel","av01","documentString","max_content_light_level","scheme_version","maximum_bitrate","SubtitleSampleEntry","pos_y","createObjectURL","equal","base_data_offset","No sample in track, cannot seek! Using time ","avcCBox","TFHD_FLAG_SAMPLE_DUR","concat","samplesize","cslgBox","tpay","min_display_mastering_luminance","decode"," already stored in field of this type","stppSampleEntry","codecIntializationData","aux_info_type_parameter","hinf","target_rate_share","getLength","avgFrameRate","is_depended_on","MP4Box","index_size","mdhd"," v=","No segmentation callback set!","save","samplerate","general_constraint_indicator","items","readFloat32","findEndContiguousBuf","avgRateFlag","first_offset","general_profile_compatibility","sgpds","readFloat64","nb_SPS_nalus","isAudio","trefBox","ES_ID","getPosition","text"," has an invalid size ","dac3","seek","pad_unknown","split","hasMoov"," sample #","constant_IV","writeUint32Array","high_bitdepth","getDescriptorName","track_width","volume","trexs","profile_compatibility","writeString","layer_id","version:","entity_ids",'video/mp4; codecs="',"readInt8","emsg","extension_type","click","ftyp","quat_z","quat_x","data_reference_index",", remaining: ","block_pad_lsb","bsmod","float32be","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567","whitePointChromaticity_x","createUUIDBox","writeUCS2String"," for sample ","general_profile_idc","vide","schemeURI","minor_version","urn Box","Found Sample Groups of type ","hnti","readFloat64Array","adjustUint32","stts","item_id","log","Error accessing position in the MultiBufferStream","checkBuffer","videoFullRangeFlag","sample_composition_time_offset","forEach","getAllocatedSampleDataSize","TFHD_FLAG_DEFAULT_BASE_IS_MOOF","1262995lhjpVN","ext","num_leading_samples_known","style_record","readInt method not implemented for size: ","media_rate_fraction","grouping_type","setAttribute","nalu_type","removeUsedSamples","sync_sample_numbers","lang","SAMPLE_ENTRY_TYPE_SUBTITLE","component_types","Adjusting data_offset with new value ","offset","uint16le","track_ID","primaryGChromaticity_y","isEos","getEndPosition","dmed","tkhd","sample_depends_on","vmhdBox","edts","3724JqdSDn","j2ki","Cannot seek: moov not received!","resetTables","axis","saio","getOTI","item_ID","max_ref_per_pic","test","float64be","Buffer must be defined and non empty","getUint32","Log","appendBuffer","TRUN_FLAGS_FLAGS","onSamples","avc3SampleEntry","iso4","extent_offset","encode","ERR_NOT_ENOUGH_DATA","undefined","switch_group","href","Sample data size in memory: ","track_id: ","fileStart","readUint16","avgBitRate","SingleItemTypeReferenceBox","modification_time: ","moofs","tref","num_held_bits","movie_duration","size","_trimAlloc","cstring","end","und","isProtected","shadowed_sample_numbers","bad_columns","CONTAINER_BOXES","KID","first_output_sample","Visual","getTrackDuration","isSubtitle","scheme_type","item_protection_index","horizOffD","lfeon","ipmas","sample_numbers"," offset: ","2xgoVUj","No buffer to start parsing from","payl","dav1","OutputGain","udta","matrix_coefficients","volume: ","data","Buffer must have a fileStart property","mime_format","mvex","Parsing of box '","mvif","_realloc","ftypBox","levels","Error reading base offset size","Error reading extent index","primaryRChromaticity_y","mehd box incorrectly uses flags set to 1, converting version to 1","schema_location","initialized","trafs","nbSamples","metx","writeUint16","sampleEntryCodes","matrixCoefficients","lengthSizeMinusOne",""","colourPrimaries","general_constraint_info","getInt8","Sending samples on track #","general_profile_space","Version","addSubBoxArrays","SAMPLE_ENTRY_TYPE_METADATA","av1C version ","txtC","FULL_BOXES","name","onReady","AudioSampleEntry","Unknown leva assignement type","bsid","descs","mapInt32Array","readUint8","entry_index","codecIntializationDataSize","vp08","track_group_id","samples_size","hev1SampleEntry","processItems","'","dinf","track_height","version of iloc box not supported","default_constant_IV","content_encoding","tracks","_self","int32le","default_AlgorithmID","_buffer","nclx","pasp","buffers","initialize","track_ids","ipro","Per_Sample_IV_Size","component_type_urls","depth","kid","ptl_num_sub_profiles","parseFromString","error","Appending new buffer (fileStart: ","entry_count","createTrackGroupCtor","is_sync","tyco","props","Seeking to ","layer_size","parallelismType","Removing buffer #","getFloat32","whitePointChromaticity_y","URL"," sample group length","vvs1","hev1","tele","Allocating sample #","subsegments","Not enough bytes left in the parent box to parse a new box","stop","num_bad_rows","num_ind_sub","set","sample_number","nextSample",'Not enough data in stream to parse the extended size of the "',"unsetSegmentOptions","acmod","intra_pred_used","getFloat64","tfdt","seq_level_idx_0","parseHeader","grpl","readCString","cdef","ec-3","crypt_byte_block","prgr","sample_counts","Hint","float32","smhd","Box","leva","last_sample_in_run","ac-4","irot","protection_index","parseRemainingDescriptors","reserved_2","flattenItemInfo","used","writeHeader","appendChild","sublayer_level_idc","row_align_size","pts","itemListBuilt","lastValidSample","createSampleGroupCtor","default_length","cttsBox","DataStream.save: Can't create object URL.","MPEG4DescriptorParser","object","Concatenating buffer for box parsing (length: ","clap","Item storage with reference to other files: not supported","vertOffD","floor","readInt8Array","chunk_run_index","sbtt","hdlrBox","time","clef","&","1904-01-01T00:00:00Z","configOBUs","findDescriptor","media_time","avcC","encm","nextMoofNumber","associations","user","Stream ready for parsing","sbgps","block_little_endian","image_height","getWidth","num_channels","payt","sample_groups_info","tpyl","tfhdBox","dataView","nextSeekPosition","alternate_group","createCommonjsModule","traks","num_leading_samples","oti","itemId","cmex","vttc","parseHex16","bits_per_channels","restoreParsePosition","sbgp","op_index","mapInt16Array"];return(Fp=function(){return t})()}!function(t,e){for(var s=Up,i=t();;)try{if(171842===parseInt(s(1076))/1*(-parseInt(s(1352))/2)+parseInt(s(1562))/3*(-parseInt(s(1295))/4)+-parseInt(s(1269))/5+parseInt(s(1007))/6*(parseInt(s(851))/7)+-parseInt(s(747))/8*(parseInt(s(693))/9)+parseInt(s(824))/10+parseInt(s(918))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Fp);var Op=ee[Bp(1534)]((function(t,e){var s,r,n=Bp,o=(s=new Date,r=4,{setLogLevel:function(t){var e=Up;r=t==this.debug?1:t==this[e(557)]?2:t==this.warn?3:(this.error,4)},debug:function(t,e){var i=Up;void 0===console[i(965)]&&(console.debug=console[i(1261)]),1>=r&&console.debug("["+o[i(785)](new Date-s,1e3)+"]","["+t+"]",e)},log:function(t,e){var s=Up;this[s(965)](t[s(1084)])},info:function(t,e){var i=Up;2>=r&&console[i(557)]("["+o[i(785)](new Date-s,1e3)+"]","["+t+"]",e)},warn:function(t,e){var i=Up;3>=r&&console[i(1667)]("["+o[i(785)](new Date-s,1e3)+"]","["+t+"]",e)},error:function(t,e){var i=Up;4>=r&&console[i(1432)]("["+o[i(785)](new Date-s,1e3)+"]","["+t+"]",e)}});o[n(785)]=function(t,e){var s,i=n;function r(t,e){for(var s=Up,i=(""+t).split(".");i[0][s(1732)]0){for(var i="",r=0;r0&&(i+=","),i+="["+o[e(785)](t[e(1767)](r))+","+o[e(785)](t[e(1334)](r))+"]";return i}return e(671)},n(1499)!==n(1317)&&(e.Log=o);var a=function(t){var e=n;if(!(t instanceof ArrayBuffer))throw e(617);this[e(1648)]=t,this[e(1700)]=new DataView(t),this[e(1692)]=0};a.prototype[n(1211)]=function(){return this[n(1692)]},a[n(1617)][n(1289)]=function(){var t=n;return this[t(1648)][t(494)]},a.prototype[n(1188)]=function(){var t=n;return this[t(1648)][t(494)]},a[n(1617)][n(1215)]=function(t){var e=n,s=Math[e(1760)](0,Math[e(702)](this[e(1648)][e(494)],t));return this.position=isNaN(s)||!isFinite(s)?0:s,!0},a[n(1617)][n(1288)]=function(){return this[n(1211)]()>=this.getEndPosition()},a.prototype[n(1112)]=function(t,e){var s=n,i=0;if(this[s(1692)]+t<=this[s(1648)][s(494)]){switch(t){case 1:i=e?this[s(1700)][s(1385)](this[s(1692)]):this[s(1700)].getUint8(this[s(1692)]);break;case 2:i=e?this[s(1700)][s(1548)](this[s(1692)]):this[s(1700)].getUint16(this[s(1692)]);break;case 3:if(e)throw s(830);i=this[s(1700)].getUint8(this[s(1692)])<<16,i|=this[s(1700)].getUint8(this.position+1)<<8,i|=this[s(1700)][s(598)](this[s(1692)]+2);break;case 4:i=e?this.dataview[s(772)](this[s(1692)]):this[s(1700)][s(1307)](this[s(1692)]);break;case 8:if(e)throw s(793);i=this[s(1700)][s(1307)](this[s(1692)])<<32,i|=this[s(1700)].getUint32(this.position+4);break;default:throw s(1273)+t}return this.position+=t,i}throw s(1705)},a.prototype[n(1401)]=function(){return this[n(1112)](1,!1)},a[n(1617)].readUint16=function(){return this[n(1112)](2,!1)},a[n(1617)][n(600)]=function(){return this[n(1112)](3,!1)},a.prototype[n(1769)]=function(){return this.readAnyInt(4,!1)},a.prototype[n(1577)]=function(){return this[n(1112)](8,!1)},a.prototype[n(623)]=function(t){var e=n;if(this[e(1692)]+t<=this[e(1648)][e(494)]){for(var s="",i=0;ithis[e(646)]&&(this._byteLength=s);else{for(i<1&&(i=1);s>i;)i*=2;var r=new ArrayBuffer(i),o=new Uint8Array(this[e(1419)]);new Uint8Array(r,0,o.length)[e(1456)](o),this[e(1648)]=r,this[e(646)]=s}}},h[n(1617)][n(1332)]=function(){var t=n;if(this[t(646)]!=this[t(1419)][t(494)]){var e=new ArrayBuffer(this[t(646)]),s=new Uint8Array(e),i=new Uint8Array(this._buffer,0,s[t(1732)]);s[t(1456)](i),this[t(1648)]=e}},h[n(999)]=!1,h[n(860)]=!0,h[n(1617)][n(646)]=0,Object[n(813)](h.prototype,"byteLength",{get:function(){var t=n;return this._byteLength-this[t(481)]}}),Object[n(813)](h[n(1617)],"buffer",{get:function(){var t=n;return this[t(1332)](),this[t(1419)]},set:function(t){var e=n;this[e(1419)]=t,this[e(904)]=new DataView(this._buffer,this[e(481)]),this[e(646)]=this[e(1419)][e(494)]}}),Object[n(813)](h[n(1617)],n(1144),{get:function(){return this[n(481)]},set:function(t){var e=n;this._byteOffset=t,this[e(904)]=new DataView(this[e(1419)],this._byteOffset),this[e(646)]=this[e(1419)].byteLength}}),Object[n(813)](h[n(1617)],n(1531),{get:function(){return this[n(904)]},set:function(t){var e=n;this[e(481)]=t[e(1144)],this._buffer=t.buffer,this[e(904)]=new DataView(this[e(1419)],this[e(481)]),this[e(646)]=this._byteOffset+t.byteLength}}),h.prototype[n(1215)]=function(t){var e=n,s=Math.max(0,Math[e(702)](this[e(494)],t));this[e(1692)]=isNaN(s)||!isFinite(s)?0:s},h[n(1617)][n(770)]=function(){return this.position>=this._byteLength},h.prototype[n(1579)]=function(t){var e=n;this[e(1366)](1*t);var s=new Uint8Array(this[e(1419)],this[e(1144)]+this[e(1692)],t);return this[e(1692)]+=1*t,s},h[n(1617)][n(1160)]=function(t,e){var s=n;t=null==t?this[s(494)]-this[s(1692)]/4:t;var i=new Int32Array(t);return h[s(1706)](i[s(1648)],0,this[s(1648)],this[s(1144)]+this[s(1692)],t*i[s(540)]),h.arrayToNative(i,null==e?this[s(573)]:e),this[s(1692)]+=i[s(494)],i},h.prototype[n(640)]=function(t,e){var s=n;t=null==t?this[s(494)]-this[s(1692)]/2:t;var i=new Int16Array(t);return h[s(1706)](i[s(1648)],0,this[s(1648)],this[s(1144)]+this.position,t*i[s(540)]),h.arrayToNative(i,null==e?this[s(573)]:e),this[s(1692)]+=i[s(494)],i},h[n(1617)][n(1505)]=function(t){var e=n;t=null==t?this[e(494)]-this[e(1692)]:t;var s=new Int8Array(t);return h[e(1706)](s.buffer,0,this.buffer,this[e(1144)]+this[e(1692)],t*s.BYTES_PER_ELEMENT),this[e(1692)]+=s[e(494)],s},h[n(1617)][n(1739)]=function(t,e){var s=n;t=null==t?this[s(494)]-this.position/4:t;var i=new Uint32Array(t);return h[s(1706)](i.buffer,0,this[s(1648)],this[s(1144)]+this[s(1692)],t*i[s(540)]),h.arrayToNative(i,null==e?this[s(573)]:e),this.position+=i.byteLength,i},h[n(1617)][n(821)]=function(t,e){var s=n;t=null==t?this[s(494)]-this[s(1692)]/2:t;var i=new Uint16Array(t);return h[s(1706)](i[s(1648)],0,this[s(1648)],this[s(1144)]+this[s(1692)],t*i[s(540)]),h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=i.byteLength,i},h[n(1617)][n(1010)]=function(t){var e=n;t=null==t?this.byteLength-this[e(1692)]:t;var s=new Uint8Array(t);return h[e(1706)](s.buffer,0,this[e(1648)],this.byteOffset+this.position,t*s[e(540)]),this.position+=s[e(494)],s},h[n(1617)][n(1257)]=function(t,e){var s=n;t=null==t?this[s(494)]-this[s(1692)]/8:t;var i=new Float64Array(t);return h[s(1706)](i.buffer,0,this[s(1648)],this[s(1144)]+this[s(1692)],t*i[s(540)]),h.arrayToNative(i,null==e?this[s(573)]:e),this[s(1692)]+=i.byteLength,i},h[n(1617)][n(591)]=function(t,e){var s=n;t=null==t?this[s(494)]-this.position/4:t;var i=new Float32Array(t);return h[s(1706)](i.buffer,0,this[s(1648)],this.byteOffset+this[s(1692)],t*i[s(540)]),h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=i.byteLength,i},h.prototype[n(725)]=function(t){var e=n,s=this._dataView.getInt32(this[e(1692)],null==t?this[e(573)]:t);return this[e(1692)]+=4,s},h.prototype[n(545)]=function(t){var e=n,s=this[e(904)][e(1548)](this[e(1692)],null==t?this.endianness:t);return this[e(1692)]+=2,s},h.prototype.readInt8=function(){var t=n,e=this[t(904)][t(1385)](this[t(1692)]);return this.position+=1,e},h[n(1617)][n(1769)]=function(t){var e=n,s=this[e(904)][e(1307)](this[e(1692)],null==t?this[e(573)]:t);return this.position+=4,s},h.prototype.readUint16=function(t){var e=n,s=this[e(904)].getUint16(this[e(1692)],null==t?this[e(573)]:t);return this.position+=2,s},h.prototype.readUint8=function(){var t=n,e=this[t(904)][t(598)](this[t(1692)]);return this[t(1692)]+=1,e},h[n(1617)][n(1200)]=function(t){var e=n,s=this[e(904)][e(1443)](this.position,null==t?this[e(573)]:t);return this[e(1692)]+=4,s},h[n(1617)][n(1206)]=function(t){var e=n,s=this[e(904)][e(1463)](this.position,null==t?this[e(573)]:t);return this[e(1692)]+=8,s},h.endianness=new Int8Array(new Int16Array([1]).buffer)[0]>0,h[n(1706)]=function(t,e,s,i,r){var o=n,a=new Uint8Array(t,e,r),h=new Uint8Array(s,i,r);a[o(1456)](h)},h[n(1085)]=function(t,e){var s=n;return e==this[s(573)]?t:this[s(1e3)](t)},h[n(935)]=function(t,e){var s=n;return this.endianness==e?t:this[s(1e3)](t)},h[n(1e3)]=function(t){for(var e=n,s=new Uint8Array(t.buffer,t[e(1144)],t.byteLength),i=0;io;r--,o++){var a=s[o];s[o]=s[r],s[r]=a}return t},h[n(1617)][n(1003)]=0,String[n(561)]=function(t){for(var e=n,s=[],i=0;i>16),this.writeUint8((65280&t)>>8),this[e(527)](255&t)},h[n(1617)][n(1258)]=function(t,e){var s=n,i=this[s(1692)];this[s(1215)](t),this[s(866)](e),this[s(1215)](i)},h.prototype[n(1400)]=function(t,e){var s=n;this._realloc(4*t);var i=new Int32Array(this[s(1419)],this[s(1144)]+this[s(1692)],t);return h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=4*t,i},h.prototype[n(1546)]=function(t,e){var s=n;this[s(1366)](2*t);var i=new Int16Array(this[s(1419)],this[s(1144)]+this.position,t);return h.arrayToNative(i,null==e?this[s(573)]:e),this[s(1692)]+=2*t,i},h[n(1617)].mapInt8Array=function(t){var e=n;this[e(1366)](1*t);var s=new Int8Array(this[e(1419)],this.byteOffset+this.position,t);return this[e(1692)]+=1*t,s},h[n(1617)][n(805)]=function(t,e){var s=n;this._realloc(4*t);var i=new Uint32Array(this[s(1419)],this[s(1144)]+this[s(1692)],t);return h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=4*t,i},h[n(1617)][n(658)]=function(t,e){var s=n;this[s(1366)](2*t);var i=new Uint16Array(this._buffer,this[s(1144)]+this.position,t);return h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=2*t,i},h.prototype.mapFloat64Array=function(t,e){var s=n;this[s(1366)](8*t);var i=new Float64Array(this._buffer,this[s(1144)]+this[s(1692)],t);return h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=8*t,i},h[n(1617)][n(1671)]=function(t,e){var s=n;this[s(1366)](4*t);var i=new Float32Array(this._buffer,this[s(1144)]+this[s(1692)],t);return h[s(1085)](i,null==e?this[s(573)]:e),this[s(1692)]+=4*t,i};var l=function(t){var e=n;this[e(1422)]=[],this.bufferIndex=-1,t&&(this[e(1039)](t),this.bufferIndex=0)};l[n(1617)]=new h(new ArrayBuffer,0,h[n(999)]),l[n(1617)][n(1374)]=function(){var t,e=n;return this[e(843)]>-1||(this[e(1422)][e(1732)]>0?0===(t=this[e(1422)][0])[e(1322)]?(this[e(1648)]=t,this[e(843)]=0,o[e(965)](e(1609),e(1521)),!0):(o.warn(e(1609),"The first buffer should have a fileStart of 0"),this.logBufferLevel(),!1):(o[e(1667)](e(1609),e(1353)),this[e(1157)](),!1))},ArrayBuffer[n(1176)]=function(t,e){var s=n;o[s(965)](s(680),s(596)+(t[s(494)]+e[s(494)]));var i=new Uint8Array(t.byteLength+e[s(494)]);return i[s(1456)](new Uint8Array(t),0),i[s(1456)](new Uint8Array(e),t.byteLength),i.buffer},l.prototype.reduceBuffer=function(t,e,s){var i,r=n;return(i=new Uint8Array(s))[r(1456)](new Uint8Array(t,e,s)),i[r(1648)][r(1322)]=t[r(1322)]+e,i[r(1648)][r(963)]=0,i[r(1648)]},l[n(1617)][n(1039)]=function(t){for(var e=n,s=!0,i=0;ir.byteLength){this[e(1422)][e(484)](i,1),i--;continue}o[e(1667)](e(1609),e(1668)+t[e(1322)]+e(788)+t.byteLength+") already appended, ignoring")}else t[e(1322)]+t[e(494)]<=r[e(1322)]||(t=this.reduceBuffer(t,0,r[e(1322)]-t[e(1322)])),o.debug(e(1609),e(1433)+t.fileStart+e(788)+t[e(494)]+")"),this[e(1422)].splice(i,0,t),0===i&&(this[e(1648)]=t);s=!1;break}if(t[e(1322)]0)){s=!1;break}t=this[e(630)](t,a,h)}}s&&(o[e(965)](e(1609),e(1433)+t[e(1322)]+e(788)+t[e(494)]+")"),this[e(1422)][e(979)](t),0===i&&(this[e(1648)]=t))},l.prototype[n(1157)]=function(t){var e,s,i,r,a,h=n,c=[],l="";for(i=0,r=0,e=0;e0&&(l+=a[h(1334)]-1+"]");var d=t?o[h(557)]:o.debug;0===this[h(1422)].length?d(h(1609),h(593)):d(h(1609),""+this.buffers[h(1732)]+h(1756)+i+"/"+r+" bytes), continuous ranges: "+l)},l[n(1617)][n(887)]=function(){var t,e,s=n;for(t=0;t"+this.buffer[e(494)]+")"),!0}return!1}return!1},l[n(1617)][n(775)]=function(t,e,s){var i,r=n,a=null,h=-1;for(i=!0===t?0:this.bufferIndex;i=e?(o[r(965)](r(1609),r(483)+h),h):-1:-1},l[n(1617)][n(1201)]=function(t){var e,s,i,r=n,o=void 0!==t?t:this[r(843)];if(s=this.buffers[o],this.buffers[r(1732)]>o+1)for(e=o+1;e>3;return 31===n&&r[s(1360)][s(1732)]>=2&&(n=32+((7&r[s(1360)][0])<<3)+((224&r[s(1360)][1])>>5)),n}return null},i.DecoderConfigDescriptor=function(e){i[t(802)].call(this,4,e)},i[t(1077)].prototype=new(i[t(802)]),i[t(1077)].prototype[t(664)]=function(e){var s=t;this.oti=e[s(1401)](),this.streamType=e[s(1401)](),this.upStream=0!=(this.streamType>>1&1),this[s(1098)]=this[s(1098)]>>>2,this[s(959)]=e[s(600)](),this[s(1702)]=e[s(1769)](),this[s(705)]=e.readUint32(),this[s(1331)]-=13,this.parseRemainingDescriptors(e)},i[t(1620)]=function(e){i[t(802)].call(this,5,e)},i[t(1620)][t(1617)]=new(i[t(802)]),i[t(1610)]=function(e){var s=t;i.Descriptor[s(699)](this,6,e)},i.SLConfigDescriptor[t(1617)]=new(i[t(802)]),this};n(1499)!==n(1317)&&(e[n(1498)]=d);var u={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:[n(718),n(1684),n(723),"skip","meco",n(945)],FULL_BOXES:[n(1059),n(927),n(1735),"xml ","bxml",n(1425),n(1587)],CONTAINER_BOXES:[[n(894),["trak",n(589)]],[n(610)],["edts"],[n(1628)],[n(991)],[n(1410)],[n(709),[n(526),n(1544)]],["mvex",[n(919)]],["moof",[n(1593)]],["traf",[n(1558),n(526),n(1544)]],[n(1540)],["tref"],[n(674)],["mfra",[n(1129)]],[n(832)],[n(1256)],[n(1186)],[n(945)],["strd"],[n(874)],[n(553)],[n(1161)],["trgr"],["udta",[n(517)]],[n(834),[n(1079)]],["ipco"],["grpl"],["j2kH"],[n(1715),[n(1437)]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){var t=n;u.FullBox[t(1617)]=new(u[t(1477)]),u.ContainerBox[t(1617)]=new(u[t(1477)]),u.SampleEntry[t(1617)]=new(u[t(1477)]),u[t(590)].prototype=new(u[t(706)]),u.BASIC_BOXES[t(1266)]((function(t){u.createBoxCtor(t)})),u[t(1393)][t(1266)]((function(e){u[t(580)](e)})),u[t(1339)][t(1266)]((function(e){u[t(1686)](e[0],null,e[1])}))},Box:function(t,e,s){var i=n;this.type=t,this.size=e,this[i(599)]=s},FullBox:function(t,e,s){var i=n;u.Box[i(699)](this,t,e,s),this[i(607)]=0,this[i(1133)]=0},ContainerBox:function(t,e,s){u[n(1477)].call(this,t,e,s),this.boxes=[]},SampleEntry:function(t,e,s,i){var r=n;u[r(1619)][r(699)](this,t,e),this[r(872)]=s,this[r(1767)]=i},SampleGroupEntry:function(t){this.grouping_type=t},TrackGroupTypeBox:function(t,e){var s=n;u[s(706)][s(699)](this,t,e)},createBoxCtor:function(t,e){var s=n;u[s(1086)][s(979)](t),u[t+"Box"]=function(e){var i=s;u[i(1477)][i(699)](this,t,e)},u[t+s(1477)][s(1617)]=new(u[s(1477)]),e&&(u[t+"Box"][s(1617)][s(664)]=e)},createFullBoxCtor:function(t,e){var s=n;u[t+s(1477)]=function(e){var i=s;u[i(706)][i(699)](this,t,e)},u[t+s(1477)][s(1617)]=new(u[s(706)]),u[t+s(1477)].prototype.parse=function(t){var i=s;this[i(1576)](t),e&&e[i(699)](this,t)}},addSubBoxArrays:function(t){var e=n;if(t){this[e(741)]=t;for(var s=t[e(1732)],i=0;is?(o[h(1432)](h(1771),h(1571)+p+h(694)+d+" greater than its container size "+s),{code:u.ERR_NOT_ENOUGH_DATA,type:p,size:d,hdr_size:l,start:c}):0!==d&&c+d>t[h(1289)]()?(t[h(1215)](c),o[h(557)](h(1771),h(1080)+p+h(840)),{code:u.ERR_NOT_ENOUGH_DATA,type:p,size:d,hdr_size:l,start:c}):e?{code:u.OK,type:p,size:d,hdr_size:l,start:c}:(u[p+h(1477)]?i=new u[p+"Box"](d):p!==h(599)?(o[h(1667)]("BoxParser",h(829)+p+"'"),(i=new(u[h(1477)])(p,d))[h(875)]=!0):u[h(700)][a]?i=new u.UUIDBoxes[a](d):(o.warn(h(1771),h(1722)+a+"'"),(i=new(u[h(1477)])(p,d))[h(599)]=a,i[h(875)]=!0),i.hdr_size=l,i[h(1767)]=c,i.write===u.Box[h(1617)][h(1724)]&&i.type!==h(718)&&(o[h(557)](h(1771),"'"+f+"' box writing not yet implemented, keeping unparsed data in memory for later write"),i[h(625)](t)),i[h(664)](t),(r=t[h(1211)]()-(i.start+i.size))<0?(o[h(1667)]("BoxParser",h(1364)+f+h(1637)+-r+h(971)),t[h(1215)](i.start+i[h(1331)])):r>0&&(o[h(1432)](h(1771),h(1364)+f+h(855)+r+h(697)),0!==i[h(1331)]&&t[h(1215)](i[h(1767)]+i[h(1331)])),{code:u.OK,box:i,size:i[h(1331)]})},u.Box[n(1617)][n(664)]=function(t){var e=n;"mdat"!=this[e(1043)]?this[e(1360)]=t[e(1010)](this.size-this[e(872)]):0===this[e(1331)]?t[e(1215)](t[e(1289)]()):t[e(1215)](this[e(1767)]+this[e(1331)])},u[n(1477)].prototype[n(625)]=function(t){var e=n;this[e(1360)]=t[e(1010)](this[e(1331)]-this[e(872)]),t[e(1692)]-=this[e(1331)]-this[e(872)]},u.FullBox[n(1617)][n(625)]=function(t){var e=n;this.parseFullHeader(t),this[e(1360)]=t[e(1010)](this[e(1331)]-this[e(872)]),this[e(872)]-=4,t.position-=this[e(1331)]-this[e(872)]},u[n(706)].prototype.parseFullHeader=function(t){var e=n;this[e(1133)]=t.readUint8(),this[e(607)]=t[e(600)](),this[e(872)]+=4},u[n(706)][n(1617)].parse=function(t){var e=n;this[e(1576)](t),this[e(1360)]=t[e(1010)](this[e(1331)]-this[e(872)])},u[n(1619)][n(1617)][n(664)]=function(t){for(var e,s,i=n;t.getPosition()>10&31,s[1]=this[e(850)]>>5&31,s[2]=31&this[e(850)],this[e(1140)]=String[e(942)](s[0]+96,s[1]+96,s[2]+96)},u.SAMPLE_ENTRY_TYPE_VISUAL="Visual",u[n(786)]=n(1642),u[n(655)]=n(1474),u[n(1390)]=n(755),u.SAMPLE_ENTRY_TYPE_SUBTITLE=n(713),u[n(537)]=n(592),u.SAMPLE_ENTRY_TYPE_TEXT=n(1118),u[n(689)][n(1617)][n(1466)]=function(t){var e=n;t[e(1010)](6),this[e(1240)]=t.readUint16(),this[e(872)]+=8},u[n(689)][n(1617)][n(664)]=function(t){var e=n;this[e(1466)](t),this[e(1360)]=t[e(1010)](this[e(1331)]-this[e(872)])},u[n(689)][n(1617)].parseDataAndRewind=function(t){var e=n;this[e(1466)](t),this.data=t.readUint8Array(this.size-this[e(872)]),this[e(872)]-=8,t[e(1692)]-=this[e(1331)]-this[e(872)]},u[n(689)].prototype[n(763)]=function(t){var e=n;u[e(1619)][e(1617)][e(664)][e(699)](this,t)},u.createMediaSampleEntryCtor(u[n(655)]),u.createMediaSampleEntryCtor(u[n(1390)]),u[n(798)](u[n(1281)]),u[n(798)](u[n(537)]),u[n(798)](u[n(833)]),u[n(798)](u[n(1060)],(function(t){var e,s=n;this[s(1466)](t),t[s(1323)](),t[s(1323)](),t[s(1739)](3),this[s(1745)]=t[s(1323)](),this.height=t[s(1323)](),this[s(724)]=t[s(1769)](),this[s(1047)]=t[s(1769)](),t[s(1769)](),this[s(815)]=t[s(1323)](),e=Math[s(702)](31,t.readUint8()),this[s(1020)]=t.readString(e),e<31&&t[s(623)](31-e),this[s(1428)]=t[s(1323)](),t.readUint16(),this[s(763)](t)})),u[n(798)](u[n(786)],(function(t){var e=n;this.parseHeader(t),t[e(1739)](2),this[e(679)]=t[e(1323)](),this[e(1177)]=t[e(1323)](),t[e(1323)](),t.readUint16(),this[e(1197)]=t[e(1769)]()/65536,this[e(763)](t)})),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(803)),u.createSampleEntryCtor(u[n(1060)],n(751)),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),u[n(556)](u[n(1060)],n(1566)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1163)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1355)),u[n(556)](u[n(1060)],n(530)),u[n(556)](u[n(1060)],n(1448)),u[n(556)](u[n(1060)],n(1582)),u[n(556)](u[n(1060)],"lhe1"),u[n(556)](u[n(1060)],n(1082)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(482)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),u.createSampleEntryCtor(u[n(1060)],n(781)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1447)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(1069)),u[n(556)](u[n(1060)],n(1404)),u.createSampleEntryCtor(u[n(1060)],n(582)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(916)),u[n(556)](u[n(1060)],n(1296)),u[n(556)](u.SAMPLE_ENTRY_TYPE_VISUAL,n(501)),u[n(556)](u[n(1060)],n(978)),u[n(556)](u[n(1060)],n(871)),u[n(556)](u[n(786)],n(1102)),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,n(955)),u[n(556)](u.SAMPLE_ENTRY_TYPE_AUDIO,n(1480)),u[n(556)](u.SAMPLE_ENTRY_TYPE_AUDIO,n(1470)),u[n(556)](u[n(786)],n(947)),u.createSampleEntryCtor(u.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),u[n(556)](u[n(786)],"mha2"),u.createSampleEntryCtor(u[n(786)],n(1001)),u[n(556)](u[n(786)],n(1657)),u.createEncryptedSampleEntryCtor(u[n(1060)],n(944)),u[n(621)](u[n(786)],n(1733)),u.createEncryptedSampleEntryCtor(u[n(1281)],n(967)),u[n(621)](u[n(537)],n(675)),u.createEncryptedSampleEntryCtor(u[n(833)],"enct"),u.createEncryptedSampleEntryCtor(u[n(1390)],n(1517)),u[n(1123)](n(960),(function(t){var e=n,s=16*(1+(1&(1&t[e(1401)]())));this[e(1440)]=[];for(var i=0;i<3;i++)this[e(1440)][i]=16==s?t.readUint16():t[e(1769)]()})),u.createBoxCtor(n(1096),(function(t){var e=n;this[e(1545)]=t[e(1401)]()})),u[n(580)](n(881),(function(t){var e=n;this[e(588)]=t[e(1468)]();var s=this[e(1331)]-this[e(872)]-(this[e(588)][e(1732)]+1);this[e(1647)]=t.readUint8Array(s)})),u[n(1123)]("av1C",(function(t){var e=n,s=t[e(1401)]();if(s>>7&!1)o[e(1432)](e(657));else if(this.version=127&s,1===this[e(1133)])if(s=t[e(1401)](),this[e(1153)]=s>>5&7,this.seq_level_idx_0=31&s,s=t[e(1401)](),this[e(984)]=s>>7&1,this.high_bitdepth=s>>6&1,this[e(1103)]=s>>5&1,this.monochrome=s>>4&1,this[e(787)]=s>>3&1,this[e(863)]=s>>2&1,this[e(972)]=3&s,s=t[e(1401)](),this[e(738)]=s>>5&7,0===this[e(738)]){if(this[e(609)]=s>>4&1,1===this.initial_presentation_delay_present)this[e(1599)]=15&s;else if(this[e(1484)]=15&s,0!==this[e(1484)])return void o[e(1432)]("av1C reserved_2 parsing problem");var i=this[e(1331)]-this.hdr_size-4;this[e(1513)]=t[e(1010)](i)}else o[e(1432)](e(1640));else o[e(1432)](e(1391)+this[e(1133)]+e(575))})),u[n(1123)](n(1516),(function(t){var e,s,i=n;for(this[i(654)]=t[i(1401)](),this[i(819)]=t.readUint8(),this[i(1227)]=t[i(1401)](),this[i(745)]=t[i(1401)](),this.lengthSizeMinusOne=3&t[i(1401)](),this[i(1207)]=31&t[i(1401)](),s=this[i(1331)]-this.hdr_size-6,this.SPS=[],e=0;e0&&(this[i(1270)]=t[i(1010)](s))})),u.createBoxCtor(n(1744),(function(t){var e=n;this[e(1703)]=t.readUint32(),this[e(1702)]=t[e(1769)](),this[e(705)]=t[e(1769)]()})),u[n(580)]("ccst",(function(t){var e=n,s=t[e(1401)]();this[e(1585)]=128==(128&s),this[e(1462)]=64==(64&s),this[e(1303)]=(63&s)>>2,t[e(600)]()})),u.createBoxCtor(n(1469),(function(t){var e,s=n;for(this[s(679)]=t[s(1323)](),this[s(1011)]=[],this.channel_types=[],this[s(1564)]=[],e=0;e=32768&&this[e(1427)].push(t.readCString())}})),u[n(580)](n(1094),(function(t){var e,s,i=n;if(e=t[i(1769)](),this.chunk_offsets=[],0===this[i(1133)])for(s=0;s>7}else(this.colour_type===e(543)||"prof"===this[e(1109)])&&(this[e(1653)]=t[e(1010)](this[e(1331)]-4))})),u[n(580)]("cprt",(function(t){var e=n;this[e(529)](t),this.notice=t[e(1468)]()})),u[n(580)](n(1694),(function(t){var e=n;0===this[e(1133)]&&(this[e(634)]=t[e(725)](),this.leastDecodeToDisplayDelta=t[e(725)](),this.greatestDecodeToDisplayDelta=t[e(725)](),this[e(1134)]=t.readInt32(),this.compositionEndTime=t[e(725)]())})),u[n(580)](n(1608),(function(t){var e,s,i=n;if(e=t[i(1769)](),this.sample_counts=[],this[i(852)]=[],0===this[i(1133)])for(s=0;s>6,this[e(1398)]=s>>1&31,this.bsmod=(1&s)<<2|i>>6&3,this[e(1461)]=i>>3&7,this[e(1348)]=i>>2&1,this[e(726)]=3&i|r>>5&7})),u[n(1123)](n(710),(function(t){var e=n,s=t.readUint16();this[e(546)]=s>>3,this[e(1455)]=7&s,this[e(845)]=[];for(var i=0;i>6,r.bsid=o>>1&31,r[e(1243)]=(1&o)<<4|a>>4&15,r[e(1461)]=a>>1&7,r[e(1348)]=1&a,r[e(683)]=h>>1&15,r[e(683)]>0&&(r[e(1750)]=(1&h)<<8|t.readUint8())}})),u.createFullBoxCtor(n(641),(function(t){var e=n,s=[],i=[e(1656),e(835),e(1002),e(524),e(1728),"CUESHEET","PICTURE","RESERVED"];for(this.parseFullHeader(t);;){var r=t[e(1401)](),o=Math.min(127&r,i[e(1732)]-1);if(o?t[e(1010)](t[e(600)]()):(t[e(1010)](13),this.samplerate=t[e(1769)]()>>12,t.readUint8Array(20)),s[e(979)](i[o]),128&r)break}this[e(792)]=s[e(1732)]+" ("+s.join(", ")+")"})),u[n(1123)]("dimm",(function(t){var e=n;this[e(716)]=t[e(1577)]()})),u[n(1123)](n(1045),(function(t){this[n(1509)]=t.readUint32()})),u.createBoxCtor(n(1290),(function(t){this[n(716)]=t.readUint64()})),u[n(1123)](n(1586),(function(t){var e=n;if(this[e(1388)]=t[e(1401)](),this[e(1050)]=t[e(1401)](),this[e(970)]=t.readUint16(),this[e(1690)]=t.readUint32(),this[e(1356)]=t.readInt16(),this[e(1120)]=t[e(1401)](),0!==this[e(1120)]){this[e(838)]=t[e(1401)](),this.CoupledCount=t.readUint8(),this[e(950)]=[];for(var s=0;s=4;)this.compatible_brands[i]=t.readString(4),s-=4,i++})),u[n(580)](n(856),(function(t){var e=n;0===this[e(1133)]&&(t.readUint32(),this[e(1088)]=t.readString(4),t[e(1739)](3),this.name=t[e(623)](this.size-this[e(872)]-20),"\0"===this[e(1394)][this[e(1394)][e(1732)]-1]&&(this[e(1394)]=this[e(1394)][e(902)](0,-1)))})),u[n(1123)]("hvcC",(function(t){var e,s,i,r,o=n;this[o(654)]=t[o(1401)](),r=t.readUint8(),this.general_profile_space=r>>6,this[o(848)]=(32&r)>>5,this.general_profile_idc=31&r,this[o(1204)]=t[o(1769)](),this.general_constraint_indicator=t[o(1010)](6),this[o(901)]=t[o(1401)](),this.min_spatial_segmentation_idc=4095&t[o(1323)](),this[o(1441)]=3&t[o(1401)](),this[o(633)]=3&t.readUint8(),this[o(858)]=7&t[o(1401)](),this[o(869)]=7&t[o(1401)](),this.avgFrameRate=t.readUint16(),r=t.readUint8(),this.constantFrameRate=r>>6,this.numTemporalLayers=(13&r)>>3,this[o(975)]=(4&r)>>2,this[o(1381)]=3&r,this[o(809)]=[];var a=t[o(1401)]();for(e=0;e>7,h[o(1277)]=63&r;var c=t.readUint16();for(s=0;s>4&15,this.length_size=15&e,e=t[s(1401)](),this[s(688)]=e>>4&15,1===this.version||2===this.version?this[s(1192)]=15&e:this.index_size=0,this[s(1199)]=[];var i=0;if(this[s(1133)]<2)i=t.readUint16();else{if(2!==this[s(1133)])throw s(1412);i=t[s(1769)]()}for(var r=0;r>7,this[e(1299)]=1&s})),u.createFullBoxCtor(n(1555),(function(t){var e=n;if((0===this[e(1133)]||1===this[e(1133)])&&(this.item_ID=t[e(1323)](),this[e(1346)]=t[e(1323)](),this[e(531)]=t.readCString(),this.content_type=t[e(1468)](),this[e(1414)]=t[e(1468)]()),1===this.version)return this[e(1235)]=t[e(623)](4),o[e(1667)](e(1771),e(969)),void t[e(1215)](this.start+this[e(1331)]);this[e(1133)]>=2&&(2===this[e(1133)]?this[e(1302)]=t.readUint16():3===this[e(1133)]&&(this.item_ID=t[e(1769)]()),this.item_protection_index=t[e(1323)](),this.item_type=t[e(623)](4),this.item_name=t[e(1468)](),this.item_type===e(1638)?(this.content_type=t[e(1468)](),this.content_encoding=t[e(1468)]()):this[e(650)]===e(509)&&(this[e(581)]=t[e(1468)]()))})),u[n(580)](n(1079),(function(t){var e,s,i=n;for(entry_count=t[i(1769)](),this.associations=[],e=0;e>7==1,1&this[i(607)]?h[i(997)]=(127&a)<<8|t[i(1401)]():h.property_index=127&a}}})),u[n(580)](n(674),(function(t){var e,s,i=n;for(this[i(1026)]=[];t[i(1211)]()>7,r.assignment_type=127&a,r[e(762)]){case 0:r[e(1275)]=t.readString(4);break;case 1:r[e(1275)]=t[e(623)](4),r.grouping_type_parameter=t[e(1769)]();break;case 2:case 3:break;case 4:r[e(750)]=t[e(1769)]();break;default:o[e(1667)](e(1771),e(1397))}}})),u[n(1123)](n(1162),(function(t){var e=n;this[e(1229)]=t[e(1323)]()})),u[n(1123)](n(1757),(function(t){var e=n;this.period=t[e(1769)](),this.bytes=t[e(1769)]()})),p.prototype[n(594)]=function(){return"("+this.x+","+this.y+")"},u[n(1123)](n(492),(function(t){var e=n;this[e(711)]=[],this.display_primaries[0]=new p(t[e(1323)](),t.readUint16()),this.display_primaries[1]=new p(t.readUint16(),t[e(1323)]()),this[e(711)][2]=new p(t.readUint16(),t[e(1323)]()),this[e(514)]=new p(t[e(1323)](),t[e(1323)]()),this.max_display_mastering_luminance=t[e(1769)](),this[e(1180)]=t[e(1769)]()})),u[n(580)]("mdhd",(function(t){var e=n;1==this[e(1133)]?(this[e(940)]=t[e(1577)](),this[e(522)]=t[e(1577)](),this[e(597)]=t[e(1769)](),this.duration=t[e(1577)]()):(this.creation_time=t[e(1769)](),this[e(522)]=t[e(1769)](),this[e(597)]=t[e(1769)](),this[e(1659)]=t[e(1769)]()),this[e(529)](t),t.readUint16()})),u[n(580)](n(993),(function(t){var e=n;1&this[e(607)]&&(o[e(1667)]("BoxParser",e(1372)),this[e(1133)]=1),1==this[e(1133)]?this[e(757)]=t[e(1577)]():this[e(757)]=t[e(1769)]()})),u[n(580)](n(899),(function(t){var e=n;this.boxes=[],u[e(1619)].prototype[e(664)][e(699)](this,t)})),u[n(580)](n(842),(function(t){var e=n;this[e(913)]=t[e(1769)]()})),u[n(580)]("mfro",(function(t){var e=n;this[e(1658)]=t[e(1769)]()})),u.createFullBoxCtor(n(1763),(function(t){var e=n;this[e(994)]=t[e(1401)]()})),u[n(580)]("mvhd",(function(t){var e=n;1==this[e(1133)]?(this[e(940)]=t.readUint64(),this[e(522)]=t[e(1577)](),this[e(597)]=t[e(1769)](),this.duration=t[e(1577)]()):(this[e(940)]=t.readUint32(),this[e(522)]=t.readUint32(),this.timescale=t[e(1769)](),this[e(1659)]=t.readUint32()),this.rate=t[e(1769)](),this[e(1225)]=t[e(1323)]()>>8,t[e(1323)](),t[e(1739)](2),this.matrix=t[e(1739)](9),t[e(1739)](6),this[e(740)]=t[e(1769)]()})),u[n(1123)](n(1680),(function(t){var e=n;this[e(1731)]=t[e(1769)]()})),u[n(1123)](n(1669),(function(t){var e=n;this[e(1731)]=t[e(1577)]()})),u[n(580)](n(739),(function(t){var e=n,s=t.readUint32();this[e(1139)]=[];for(var i=0;i0){var s=t.readUint32();this[e(1429)]=[];for(var i=0;i0&&(this[e(1360)]=t[e(1010)](r))})),u[n(580)](n(1510),(function(t){var e=n;this[e(1745)]=t[e(1769)](),this[e(1652)]=t.readUint32()})),u[n(580)](n(1718),(function(t){var e=n;this[e(1745)]=t[e(1769)](),this[e(1652)]=t[e(1769)]()})),u[n(580)](n(616),(function(t){var e=n;this[e(1745)]=t[e(1769)](),this.height=t[e(1769)]()})),u[n(1686)]("tapt",null,[n(1510),n(616),n(1718)]),u[n(1123)](n(495),(function(t){var e=n;this[e(987)]=t.readString(4),this[e(985)]=t[e(623)](this[e(1331)]-this.hdr_size-4)})),u[n(580)](n(1300),(function(t){var e=n;1&this[e(607)]&&(this[e(586)]=t.readUint32(),this[e(1185)]=t[e(1769)]());var s=t.readUint32();this[e(1284)]=[];for(var i=0;i>7,this[e(1202)]=s>>6&1,this.durationFlag&&(this[e(1659)]=t[e(1769)]()),this[e(1202)]&&(this.accurateStatisticsFlag=t[e(1401)](),this[e(1324)]=t[e(1323)](),this[e(1189)]=t.readUint16()),this[e(1025)]=[];for(var i=t[e(1401)](),r=0;r>7,this[e(1536)]=127&s})),u[n(1494)]("rash",(function(t){var e=n;if(this[e(1616)]=t.readUint16(),this[e(1037)]!==2+(1===this.operation_point_count?2:6*this[e(1616)])+9)o[e(1667)](e(1771),"Mismatch in "+this[e(1275)]+e(1446)),this[e(1360)]=t.readUint8Array(this[e(1037)]-2);else{if(1===this[e(1616)])this[e(1187)]=t[e(1323)]();else{this.target_rate_share=[],this[e(767)]=[];for(var s=0;s>4,this.skip_byte_block=15&s,this[e(1336)]=t[e(1401)](),this.Per_Sample_IV_Size=t[e(1401)](),this[e(1340)]=u[e(1541)](t),this.constant_IV_size=0,this[e(1220)]=0,1===this[e(1336)]&&0===this[e(1426)]&&(this[e(1734)]=t[e(1401)](),this.constant_IV=t.readUint8Array(this[e(1734)]))})),u[n(1494)](n(1110),(function(t){var e=n;o[e(1667)]("BoxParser",e(1097)+this[e(1275)]+e(1578))})),u.createSampleGroupCtor(n(1675),(function(t){var e=t[n(1401)]();this.NAL_unit_type=63&e})),u[n(1494)](n(1449),(function(t){var e=n,s=t[e(1401)]();this[e(541)]=s>>7})),u[n(1494)]("tsas",(function(t){var e=n;o[e(1667)](e(1771),"Sample Group type: "+this[e(1275)]+e(1578))})),u.createSampleGroupCtor(n(980),(function(t){var e=n;o[e(1667)](e(1771),e(1097)+this[e(1275)]+" not fully parsed")})),u.createSampleGroupCtor(n(888),(function(t){var e=n;o[e(1667)](e(1771),"Sample Group type: "+this.grouping_type+e(1578))})),u[n(580)](n(1544),(function(t){var e=n;this[e(1275)]=t.readString(4),1===this[e(1133)]?this[e(1741)]=t[e(1769)]():this[e(1741)]=0,this[e(1622)]=[];for(var s=t[e(1769)](),i=0;i>6,this.sample_depends_on[r]=e>>4&3,this[s(968)][r]=e>>2&3,this[s(1131)][r]=3&e})),u[n(580)](n(784)),u.createFullBoxCtor("sgpd",(function(t){var e=n;this[e(1275)]=t[e(623)](4),o[e(965)](e(1771),e(1255)+this[e(1275)]),1===this[e(1133)]?this.default_length=t.readUint32():this[e(1495)]=0,this[e(1133)]>=2&&(this[e(576)]=t[e(1769)]()),this[e(1622)]=[];for(var s=t.readUint32(),i=0;i>31&1,r[e(1135)]=2147483647&o,r[e(898)]=t.readUint32(),o=t[e(1769)](),r[e(552)]=o>>31&1,r[e(908)]=o>>28&7,r[e(1588)]=268435455&o}})),u[n(1325)]=function(t,e,s,i){var r=n;u.Box[r(699)](this,t,e),this[r(872)]=s,this[r(1767)]=i},u.SingleItemTypeReferenceBox[n(1617)]=new(u[n(1477)]),u[n(1325)][n(1617)][n(664)]=function(t){var e=n;this[e(988)]=t[e(1323)]();var s=t[e(1323)]();this[e(1026)]=[];for(var i=0;i>4&15,this[i(670)][e+1]=15&r}else if(8===this[i(777)])for(e=0;e0)for(s=0;s>4&15,this.default_skip_byte_block=15&s}this.default_isProtected=t[e(1401)](),this[e(503)]=t[e(1401)](),this.default_KID=u[e(1541)](t),1===this.default_isProtected&&0===this[e(503)]&&(this[e(1108)]=t[e(1401)](),this[e(1413)]=t[e(1010)](this.default_constant_IV_size))})),u.createFullBoxCtor("tfdt",(function(t){var e=n;1==this[e(1133)]?this.baseMediaDecodeTime=t[e(1577)]():this[e(795)]=t[e(1769)]()})),u[n(580)](n(1100),(function(t){var e=n,s=0;this.track_id=t[e(1769)](),this[e(1331)]-this[e(872)]>s&&this[e(607)]&u[e(1673)]?(this.base_data_offset=t[e(1577)](),s+=8):this[e(1172)]=0,this[e(1331)]-this[e(872)]>s&&this[e(607)]&u[e(1683)]?(this[e(861)]=t[e(1769)](),s+=4):this[e(861)]=0,this[e(1331)]-this[e(872)]>s&&this.flags&u[e(1175)]?(this[e(669)]=t[e(1769)](),s+=4):this[e(669)]=0,this[e(1331)]-this.hdr_size>s&&this[e(607)]&u[e(864)]?(this.default_sample_size=t.readUint32(),s+=4):this.default_sample_size=0,this[e(1331)]-this[e(872)]>s&&this.flags&u[e(1111)]?(this.default_sample_flags=t[e(1769)](),s+=4):this[e(1142)]=0})),u[n(580)](n(1129),(function(t){var e=n;this[e(1286)]=t.readUint32(),t[e(600)]();var s=t.readUint8();this[e(1711)]=s>>4&3,this[e(897)]=s>>2&3,this[e(1665)]=3&s,this.entries=[];for(var i=t[e(1769)](),r=0;r>8,t[e(1323)](),this[e(1048)]=t[e(1160)](9),this[e(1745)]=t[e(1769)](),this[e(1652)]=t.readUint32()})),u.createBoxCtor(n(823),(function(t){var e=n;this.time=t[e(1769)]()})),u[n(1123)](n(1611),(function(t){this[n(1509)]=t.readUint32()})),u[n(1123)]("totl",(function(t){var e=n;this.bytessent=t[e(1769)]()})),u[n(1123)](n(1179),(function(t){var e=n;this[e(716)]=t[e(1769)]()})),u[n(1123)](n(1529),(function(t){var e=n;this.bytessent=t[e(1577)]()})),u[n(590)][n(1617)][n(664)]=function(t){var e=n;this.parseFullHeader(t),this[e(1405)]=t[e(1769)]()},u[n(1435)]("msrc"),u[n(943)]=function(t,e,s,i){var r=n;u[r(1477)][r(699)](this,t,e),this.hdr_size=s,this[r(1767)]=i},u[n(943)][n(1617)]=new u.Box,u[n(943)][n(1617)][n(664)]=function(t){var e=n;this[e(1424)]=t[e(1739)]((this[e(1331)]-this[e(872)])/4)},u[n(1209)][n(1617)][n(664)]=function(t){for(var e,s,i=n;t.getPosition()s&&this.flags&u[e(665)]?(this[e(1602)]=t[e(725)](),s+=4):this.data_offset=0,this[e(1331)]-this.hdr_size>s&&this[e(607)]&u[e(559)]?(this[e(1156)]=t[e(1769)](),s+=4):this.first_sample_flags=0,this[e(1072)]=[],this[e(564)]=[],this[e(1056)]=[],this[e(1265)]=[],this.size-this[e(872)]>s)for(var i=0;i>7&1,this[s(1242)]=i>>6&1,this[s(1523)]=i>>5&1,this.block_reversed=i>>4&1,this[s(1216)]=i>>3&1,this.pixel_size=t.readUint32(),this[s(1490)]=t[s(1769)](),this[s(627)]=t[s(1769)](),this.num_tile_cols_minus_one=t[s(1769)](),this[s(1630)]=t.readUint32()}})),u[n(580)](n(549),(function(t){var e=n;1!==this.flags&&(this.location=t[e(1468)]())})),u[n(580)](n(1581),(function(t){var e=n;this[e(1394)]=t[e(1468)](),this[e(1331)]-this[e(872)]-this.name.length-1>0&&(this[e(890)]=t[e(1468)]())})),u.createUUIDBox(n(1004),!0,!1,(function(t){var e=n;this.LiveServerManifest=t[e(623)](this[e(1331)]-this[e(872)])[e(1090)](/&/g,e(1511))[e(1090)](//g,e(1547))[e(1090)](/"/g,e(1382))[e(1090)](/'/g,e(1409))})),u.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,(function(t){var e=n;this[e(779)]=u.parseHex16(t);var s=t[e(1769)]();s>0&&(this[e(1360)]=t[e(1010)](s))})),u.createUUIDBox("a2394f525a9b4f14a2446c427c648df4",!0,!1),u[n(1247)]("8974dbce7be74c5184f97148f9882554",!0,!1,(function(t){var e=n;this[e(1418)]=t[e(600)](),this.default_IV_size=t[e(1401)](),this.default_KID=u[e(1541)](t)})),u[n(1247)]("d4807ef2ca3946958e5426cb9e46a79f",!0,!1,(function(t){var e=n;this[e(983)]=t.readUint8(),this[e(1622)]=[];for(var s=0;s>4,this[s(954)]=e>>1&7,this[s(1264)]=1&e,this[s(1383)]=t[s(1401)](),this.transferCharacteristics=t[s(1401)](),this[s(1380)]=t[s(1401)](),this[s(1403)]=t[s(1323)](),this[s(1184)]=t[s(1010)](this[s(1403)])):(this[s(1554)]=t[s(1401)](),this[s(520)]=t[s(1401)](),e=t[s(1401)](),this.bitDepth=e>>4&15,this.colorSpace=15&e,e=t[s(1401)](),this[s(954)]=e>>4&15,this.transferFunction=e>>1&7,this[s(1264)]=1&e,this[s(1403)]=t.readUint16(),this.codecIntializationData=t[s(1010)](this.codecIntializationDataSize))})),u.createBoxCtor(n(570),(function(t){var e=n;this.text=t[e(623)](this[e(1331)]-this[e(872)])})),u.createFullBoxCtor("vvcC",(function(t){var e,s,i=n,r={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(t){var e=Up;this[e(1687)]=t[e(1401)](),this[e(1329)]=8},stream_read_2_bytes:function(t){var e=Up;this[e(1687)]=t.readUint16(),this[e(1329)]=16},extract_bits:function(t){var e=this[Up(1687)]>>this.num_held_bits-t&(1<1){for(r[i(1770)](t),this.ptl_sublayer_present_mask=0,s=this.num_sublayers-2;s>=0;--s){var h=r[i(1646)](1);this[i(746)]|=h<1;++s)r.extract_bits(1);for(this[i(1489)]=[],s=this[i(577)]-2;s>=0;--s)this.ptl_sublayer_present_mask&1<>=1;s+=u.decimalToHex(r,0),s+=".",0===this[e(1575)][e(848)]?s+="L":s+="H",s+=this.hvcC[e(901)];var o=!1,a="";for(t=5;t>=0;t--)(this.hvcC[e(1198)][t]||o)&&(a="."+u[e(567)](this[e(1575)][e(1198)][t],0)+a,o=!0);s+=a}return s},u[n(677)][n(1617)][n(729)]=u.vvi1SampleEntry[n(1617)].getCodec=function(){var t,e=n,s=u.SampleEntry[e(1617)][e(729)][e(699)](this);if(this.vvcC){s+="."+this[e(909)][e(1250)],this.vvcC[e(848)]?s+=".H":s+=".L",s+=this[e(909)].general_level_idc;var i="";if(this.vvcC[e(1384)]){var r,o=[],a=0;for(a|=this[e(909)][e(692)]<<7,a|=this[e(909)].ptl_multilayer_enabled<<6,t=0;t>2&63,o[e(979)](a),a&&(r=t),a=this[e(909)][e(1384)][t]>>2&3;if(void 0===r)i=e(728);else{i=".C";var h=e(1245),c=0,l=0;for(t=0;t<=r;++t)for(c=c<<8|o[t],l+=8;l>=5;){i+=h[c>>l-5&31],c&=(1<<(l-=5))-1}l&&(i+=h[31&(c<<=5-l)])}}s+=i}return s},u.mp4aSampleEntry[n(1617)][n(729)]=function(){var t=n,e=u[t(689)][t(1617)][t(729)].call(this);if(this[t(620)]&&this.esds[t(521)]){var s=this[t(620)][t(521)][t(1301)](),i=this.esds[t(521)][t(1552)]();return e+"."+u[t(567)](s)+(i?"."+i:"")}return e},u.stxtSampleEntry[n(1617)][n(729)]=function(){var t=n,e=u[t(689)].prototype.getCodec[t(699)](this);return this[t(1362)]?e+"."+this.mime_format:e},u[n(563)][n(1617)][n(729)]=u[n(766)][n(1617)][n(729)]=function(){var t=n,e=u.SampleEntry[t(1617)][t(729)][t(699)](this),s=this[t(1600)][t(520)];0==s&&(s="00");var i=this[t(1600)][t(1748)];return 8==i&&(i="08"),e+".0"+this[t(1600)][t(1554)]+"."+s+"."+i},u[n(879)][n(1617)][n(729)]=function(){var t,e=n,s=u.SampleEntry.prototype[e(729)].call(this),i=this[e(1719)][e(1465)];return i<10&&(i="0"+i),2===this.av1C[e(1153)]&&1===this[e(1719)][e(1222)]?t=1===this.av1C[e(1103)]?"12":"10":this[e(1719)].seq_profile<=2&&(t=1===this[e(1719)][e(1222)]?"10":"08"),s+"."+this[e(1719)][e(1153)]+"."+i+(this[e(1719)][e(984)]?"H":"M")+"."+t},u[n(1477)][n(1617)][n(1487)]=function(t,e){var s=n;this.size+=8,this[s(1331)]>c&&(this[s(1331)]+=8),"uuid"===this.type&&(this[s(1331)]+=16),o[s(965)](s(1130),s(685)+this.type+s(1121)+this[s(1331)]+s(487)+t[s(1211)]()+(e||"")),this[s(1331)]>c?t.writeUint32(1):(this[s(807)]=t[s(1211)](),t[s(866)](this[s(1331)])),t.writeString(this.type,null,4),this[s(1043)]===s(599)&&t[s(870)](this.uuid),this[s(1331)]>c&&t.writeUint64(this[s(1331)])},u[n(706)][n(1617)][n(1487)]=function(t){var e=n;this[e(1331)]+=4,u[e(1477)].prototype[e(1487)][e(699)](this,t,e(1194)+this.version+" f="+this[e(607)]),t.writeUint8(this[e(1133)]),t[e(1016)](this[e(607)])},u[n(1477)][n(1617)][n(1724)]=function(t){var e=n;"mdat"===this[e(1043)]?this[e(1360)]&&(this[e(1331)]=this[e(1360)][e(1732)],this[e(1487)](t),t[e(870)](this[e(1360)])):(this[e(1331)]=this.data?this[e(1360)].length:0,this[e(1487)](t),this[e(1360)]&&t.writeUint8Array(this[e(1360)]))},u[n(1619)][n(1617)][n(1724)]=function(t){var e=n;this[e(1331)]=0,this[e(1487)](t);for(var s=0;s=2&&t[i(866)](this.default_sample_description_index),t.writeUint32(this[i(1622)][i(1732)]),e=0;e0)for(e=0;e+1s?1:0,this[e(607)]=0,this[e(1331)]=4,1===this[e(1133)]&&(this.size+=4),this.writeHeader(t),1===this[e(1133)]?t.writeUint64(this.baseMediaDecodeTime):t[e(866)](this[e(795)])},u[n(1530)][n(1617)][n(1724)]=function(t){var e=n;this[e(1133)]=0,this[e(1331)]=4,this[e(607)]&u[e(1673)]&&(this.size+=8),this.flags&u[e(1683)]&&(this[e(1331)]+=4),this[e(607)]&u.TFHD_FLAG_SAMPLE_DUR&&(this[e(1331)]+=4),this[e(607)]&u[e(864)]&&(this[e(1331)]+=4),this[e(607)]&u[e(1111)]&&(this[e(1331)]+=4),this[e(1487)](t),t.writeUint32(this[e(907)]),this[e(607)]&u[e(1673)]&&t[e(505)](this[e(1172)]),this[e(607)]&u[e(1683)]&&t.writeUint32(this[e(861)]),this[e(607)]&u[e(1175)]&&t.writeUint32(this.default_sample_duration),this[e(607)]&u[e(864)]&&t[e(866)](this[e(1549)]),this.flags&u[e(1111)]&&t[e(866)](this[e(1142)])},u[n(1595)][n(1617)][n(1724)]=function(t){var e=n;this[e(1133)]=0,this[e(1331)]=80,this[e(1487)](t),t[e(866)](this.creation_time),t[e(866)](this[e(522)]),t.writeUint32(this[e(907)]),t[e(866)](0),t[e(866)](this[e(1659)]),t[e(866)](0),t[e(866)](0),t[e(1720)](this.layer),t[e(1720)](this[e(1533)]),t.writeInt16(this[e(1225)]<<8),t[e(1378)](0),t[e(1676)](this.matrix),t[e(866)](this.width),t[e(866)](this.height)},u[n(1150)][n(1617)].write=function(t){var e=n;this[e(1133)]=0,this.flags=0,this.size=20,this[e(1487)](t),t[e(866)](this.track_id),t[e(866)](this[e(861)]),t[e(866)](this[e(669)]),t[e(866)](this[e(1549)]),t[e(866)](this[e(1142)])},u.trunBox[n(1617)][n(1724)]=function(t){var e=n;this[e(1133)]=0,this[e(1331)]=4,this[e(607)]&u[e(665)]&&(this[e(1331)]+=4),this[e(607)]&u[e(559)]&&(this[e(1331)]+=4),this[e(607)]&u[e(846)]&&(this[e(1331)]+=4*this[e(1072)][e(1732)]),this[e(607)]&u.TRUN_FLAGS_SIZE&&(this[e(1331)]+=4*this[e(564)][e(1732)]),this.flags&u[e(1310)]&&(this[e(1331)]+=4*this[e(1056)][e(1732)]),this.flags&u[e(882)]&&(this[e(1331)]+=4*this.sample_composition_time_offset[e(1732)]),this[e(1487)](t),t[e(866)](this.sample_count),this[e(607)]&u[e(665)]&&(this[e(619)]=t.getPosition(),t[e(933)](this[e(1602)])),this[e(607)]&u[e(559)]&&t[e(866)](this[e(1156)]);for(var s=0;s-1||t[s]instanceof u.Box||e[s]instanceof u[i(1477)]||void 0===t[s]||typeof e[s]===i(1317)||"function"==typeof t[s]||"function"==typeof e[s]||t[i(741)]&&t[i(741)].indexOf(s[i(902)](0,4))>-1||e[i(741)]&&e.subBoxNames[i(502)](s.slice(0,4))>-1||s===i(1360)||"start"===s||s===i(1331)||s===i(940)||s===i(522)||u[i(1146)].indexOf(s)>-1||t[s]===e[s]))return!1;return!0},u[n(1685)]=function(t,e){var s=n;if(!u.boxEqualFields(t,e))return!1;for(var i=0;i=e?t:new Array(e-t[i(1732)]+1).join(s)+t}function o(t){var e=Up,s=Math[e(1504)](t/3600),i=Math.floor((t-3600*s)/60),n=Math[e(1504)](t-3600*s-60*i),o=Math[e(1504)](1e3*(t-3600*s-60*i-n));return r(s,2)+":"+r(i,2)+":"+r(n,2)+"."+r(o,3)}for(var a=this[i(1678)](s),h="",c=0;c1)for(e=1;e-1&&this[e(1591)][e(484)](s,1)},y[n(1617)][n(579)]=function(t,e,s){var i=n,r=this[i(1632)](t);if(r){var o={};this.extractedTracks[i(979)](o),o.id=t,o[i(1520)]=e,o[i(610)]=r,r.nextSample=0,o.nb_samples=1e3,o[i(926)]=[],s&&s[i(1376)]&&(o.nb_samples=s[i(1376)])}},y[n(1617)][n(686)]=function(t){for(var e=n,s=-1,i=0;i-1&&this[e(1615)][e(484)](s,1)},y[n(1617)][n(664)]=function(){var t,e,s=n;if(!this[s(1543)]||this[s(1543)]())for(;;){if(this[s(1032)]&&this.hasIncompleteMdat()){if(this.processIncompleteMdat())continue;return}if(this[s(1136)]&&this[s(1136)](),(t=u[s(1052)](this.stream,false))[s(895)]===u[s(1316)]){if(this.processIncompleteBox){if(this[s(1649)](t))continue;return}return}var i;switch(i=(e=t[s(1568)]).type!==s(599)?e[s(1043)]:e.uuid,this.boxes[s(979)](e),i){case s(718):this[s(1708)][s(979)](e);break;case s(555):this[s(1327)][s(979)](e);break;case s(894):this[s(678)]=!0,0===this[s(1708)][s(1732)]&&(this[s(1707)]=!0);default:void 0!==this[i]&&o[s(1667)](s(1625),s(624)+i+s(1046)),this[i]=e}this[s(1693)]&&this[s(1693)](e,t)}},y.prototype[n(1263)]=function(t){var e=n;if(null==t)throw e(1306);if(void 0===t[e(1322)])throw e(1361);return 0===t[e(494)]?(o.warn(e(1625),"Ignoring empty buffer (fileStart: "+t.fileStart+")"),this[e(1743)][e(1157)](),!1):(o[e(557)](e(1625),e(992)+t[e(1322)]+")"),t[e(963)]=0,this[e(1743)][e(1039)](t),this[e(1743)][e(1157)](),!!this[e(1743)][e(1374)]()||(o[e(1667)](e(1625),e(1018)),!1))},y[n(1617)][n(1309)]=function(t,e){var s,i=n;if(this[i(1263)](t))return this.parse(),this[i(678)]&&!this[i(1740)]&&(this.moovStartSent=!0,this[i(920)]&&this[i(920)]()),this[i(894)]?(!this.sampleListBuilt&&(this[i(1714)](),this.sampleListBuilt=!0),this[i(822)](),this[i(1395)]&&!this.readySent&&(this[i(1034)]=!0,this.onReady(this[i(946)]())),this[i(1017)](e),this[i(1532)]?(s=this.nextSeekPosition,this[i(1532)]=void 0):s=this.nextParsePosition,this[i(1743)].getEndFilePositionAfter&&(s=this[i(1743)][i(732)](s))):s=this[i(818)]?this[i(818)]:0,this[i(666)]&&this[i(1626)]&&!this[i(1723)]&&(this[i(1626)](this[i(666)]),this[i(1723)]=!0),this[i(899)]&&(this[i(1485)]&&!this.itemListBuilt&&(this.flattenItemInfo(),this[i(1492)]=!0),this.processItems&&this.processItems(this.onItem)),this[i(1743)].cleanBuffers&&(o.info(i(1625),i(857)+t[i(1322)]+") - next buffer to fetch should have a fileStart position of "+s),this[i(1743)][i(1157)](),this[i(1743)][i(887)](),this.stream.logBufferLevel(!0),o[i(557)](i(1625),i(1320)+this[i(1267)]())),s},y[n(1617)][n(946)]=function(){var t,e,s,i,r,o,a=n,h={},c=new Date(a(1512))[a(612)]();if(this.moov)for(h[a(1218)]=!0,h[a(1659)]=this[a(894)][a(614)][a(1659)],h.timescale=this[a(894)][a(614)].timescale,h[a(1099)]=null!=this[a(894)][a(1363)],h[a(1099)]&&this[a(894)][a(1363)][a(993)]&&(h[a(757)]=this[a(894)].mvex[a(993)].fragment_duration),h.isProgressive=this.isProgressive,h[a(1614)]=null!=this[a(894)][a(1735)],h.brands=[],h[a(667)][a(979)](this[a(1237)].major_brand),h[a(667)]=h.brands.concat(this.ftyp[a(1755)]),h[a(1655)]=new Date(c+1e3*this[a(894)].mvhd[a(940)]),h[a(1697)]=new Date(c+1e3*this[a(894)][a(614)].modification_time),h.tracks=[],h[a(1729)]=[],h[a(1651)]=[],h[a(1592)]=[],h.metadataTracks=[],h.hintTracks=[],h.otherTracks=[],t=0;t0?h[a(1638)]+=a(1232):h.audioTracks&&h[a(1729)].length>0?h[a(1638)]+=a(1772):h.mime+=a(668),t=0;t=s[i(926)][i(1732)])&&(o[i(557)](i(1625),i(1725)+r.id+i(1014)+Math[i(1760)](0,s[i(1458)]-r[i(1589)])+","+(s[i(1458)]-1)+"]"),o[i(557)]("ISOFile","Sample data size in memory: "+this[i(1267)]()),this.onSegment&&this[i(550)](r.id,r[i(1520)],r[i(1654)][i(1648)],s[i(1458)],t||s[i(1458)]>=s[i(926)][i(1732)]),r.segmentStream=null,r!==this[i(1591)][e]))break}}if(null!==this[i(1311)])for(e=0;e=s.samples[i(1732)])&&(o[i(965)](i(1625),i(1386)+h.id+i(1249)+s.nextSample),this[i(1311)]&&this.onSamples(h.id,h[i(1520)],h.samples),h.samples=[],h!==this.extractedTracks[e]))break}}}},y.prototype[n(544)]=function(t){var e=n,s=this.getBoxes(t,!0);return s[e(1732)]?s[0]:null},y.prototype[n(934)]=function(t,e){var s=n,i=[];return y[s(912)][s(699)](this,t,i,e),i},y._sweep=function(t,e,s){var i=n;for(var r in this.type&&this.type==t&&e[i(979)](this),this[i(1116)]){if(e.length&&s)return;y._sweep[i(699)](this[i(1116)][r],t,e,s)}},y.prototype[n(715)]=function(t){var e=n,s=this[e(1632)](t);return s?s[e(926)]:void 0},y[n(1617)].getTrackSample=function(t,e){var s=n,i=this.getTrackById(t);return this[s(1710)](i,e)},y[n(1617)].releaseUsedSamples=function(t,e,s){var i=n,r=0,a=this[i(1632)](t);a[i(1493)]||(a[i(1493)]=0);for(var h=a[i(1493)];ht*r[c(597)]){d=i-1;break}e&&r.is_sync&&(l=i)}for(e&&(d=l),t=s.samples[d][c(548)],s[c(1458)]=d;s.samples[d].alreadyRead===s[c(926)][d].size&&s.samples[d+1];)d++;return a=s[c(926)][d][c(1284)]+s[c(926)][d][c(1726)],o[c(557)](c(1625),c(1439)+(e?c(651):"")+" sample #"+s[c(1458)]+c(1015)+s.tkhd[c(907)]+c(574)+o[c(785)](t,h)+c(720)+a),{offset:a,time:t/h}},y[n(1617)][n(1343)]=function(t){var e,s=n;return t[s(926)]?((e=t.samples[t[s(926)][s(1732)]-1])[s(548)]+e[s(1659)])/e.timescale:1/0},y[n(1617)][n(1215)]=function(t,e){var s,i,r,a=n,h=this[a(894)],c={offset:1/0,time:1/0};if(this[a(894)]){for(r=0;rthis.getTrackDuration(s)||((i=this[a(515)](t,e,s))[a(1284)]-1){c=l;break}switch(c){case e(1342):if(o.add(e(644))[e(1456)](e(1148),0)[e(1456)]("opcolor",[0,0,0]),h.set(e(1745),s[e(1745)])[e(1456)](e(1652),s[e(1652)]).set(e(724),72<<16)[e(1456)](e(1047),72<<16).set(e(815),1)[e(1456)](e(1020),s[e(1043)]+" Compressor").set(e(1428),24),s[e(853)]){var f=new(u[e(1174)]);f.parse(new a(s.avcDecoderConfigRecord)),h[e(682)](f)}else if(s.hevcDecoderConfigRecord){var m=new(u[e(1607)]);m.parse(new a(s.hevcDecoderConfigRecord)),h[e(682)](m)}break;case e(1642):o.add(e(1476))[e(1456)](e(684),s.balance||0),h.set(e(679),s[e(679)]||2)[e(1456)](e(1177),s[e(1177)]||16)[e(1456)](e(1197),s[e(1197)]||65536);break;case e(1474):o.add(e(1059));break;case e(713):if(o[e(915)](e(889)),s[e(1043)]===e(1036))h[e(1456)](e(789),s[e(789)]||e(696))[e(1456)](e(1373),s[e(1373)]||"")[e(1456)](e(1051),s[e(1051)]||"");break;case e(755):o.add(e(927));break;case e(592):default:o[e(915)](e(927))}s[e(1141)]&&h[e(682)](s[e(1141)]),s.description_boxes&&s[e(1113)].forEach((function(t){h[e(682)](t)})),o[e(915)](e(1410)).add(e(752))[e(878)]((new(u[e(659)])).set("flags",1));var g=o[e(915)](e(709));return g[e(915)]("stsd").addEntry(h),g[e(915)]("stts")[e(1456)](e(1473),[])[e(1456)](e(603),[]),g[e(915)](e(585))[e(1456)]("first_chunk",[])[e(1456)](e(1727),[])[e(1456)](e(536),[]),g[e(915)](e(1559))[e(1456)](e(622),[]),g.add(e(886))[e(1456)](e(670),[]),this[e(894)][e(1363)][e(915)](e(919))[e(1456)](e(907),s.id)[e(1456)](e(861),s[e(861)]||1).set(e(669),s[e(669)]||0)[e(1456)](e(1549),s[e(1549)]||0).set("default_sample_flags",s[e(1142)]||0),this[e(601)](i),s.id}},u[n(1477)].prototype[n(1751)]=function(t){var e=n,s=t||new h;s.endianness=h[e(999)],this[e(1724)](s)},y.prototype[n(642)]=function(t,e,s){var i=n,r=s||{},o={},a=this[i(1632)](t);if(null!==a){o[i(1597)]=a[i(926)][i(1732)],o.track_id=a[i(1291)][i(907)],o[i(597)]=a.mdia[i(1193)][i(597)],o[i(478)]=r.sample_description_index?r[i(536)]-1:0,o[i(1141)]=a[i(1628)].minf.stbl.stsd[i(1622)][o.description_index],o[i(1360)]=e,o[i(1331)]=e.byteLength,o[i(1726)]=o.size,o[i(1659)]=r[i(1659)]||1,o[i(548)]=r.cts||0,o[i(754)]=r.dts||0,o[i(1436)]=r[i(1436)]||!1,o[i(736)]=r[i(736)]||0,o[i(571)]=r[i(571)]||0,o[i(1190)]=r.is_depended_on||0,o.has_redundancy=r[i(1159)]||0,o[i(1604)]=r[i(1604)]||0,o[i(1284)]=0,o[i(1598)]=r.subsamples,a[i(926)].push(o),a[i(1406)]+=o[i(1331)],a.samples_duration+=o[i(1659)],void 0===a.first_dts&&(a[i(1033)]=r.dts),this[i(1017)]();var h=this[i(1030)](o);return this[i(682)](h),h[i(1751)](),h.trafs[0].truns[0].data_offset=h[i(1331)]+8,this[i(915)]("mdat")[i(1360)]=new Uint8Array(e),o}},y[n(1617)][n(1030)]=function(t){var e=n,s=0;s=t.is_sync?1<<25:65536;var i=new(u[e(714)]);i[e(915)]("mfhd")[e(1456)]("sequence_number",this[e(1518)]),this[e(1518)]++;var r=i.add("traf"),o=this[e(1632)](t.track_id);return r[e(915)](e(1100)).set(e(907),t[e(907)])[e(1456)](e(607),u[e(1268)]),r.add(e(1464))[e(1456)](e(795),t[e(754)]-(o[e(1033)]||0)),r.add(e(1558)).set("flags",u.TRUN_FLAGS_DATA_OFFSET|u.TRUN_FLAGS_DURATION|u.TRUN_FLAGS_SIZE|u[e(1310)]|u[e(882)]).set("data_offset",0)[e(1456)](e(1156),0)[e(1456)]("sample_count",1)[e(1456)](e(1072),[t[e(1659)]])[e(1456)](e(564),[t[e(1331)]])[e(1456)]("sample_flags",[s]).set(e(1265),[t[e(548)]-t[e(754)]]),i},y.prototype[n(847)]=0,y[n(1617)][n(1557)]=0,y[n(1617)][n(1298)]=function(){var t,e,s,i,r,o,a=n;for(this[a(758)]=this[a(894)][a(614)][a(1659)],this[a(894)][a(614)].duration=0,t=0;t=2&&(c=r[a][l(1275)]+"/0",(h=new d(r[a][l(1275)],0))[l(820)]=!0,!e[l(1528)][c]&&(e[l(1528)][c]=h))}else for(a=0;a=2&&(c=i[a][l(1275)]+"/0",h=new d(i[a].grouping_type,0),!t[l(1528)][c]&&(t.sample_groups_info[c]=h))},y.setSampleGroupProperties=function(t,e,s,i){var r,o,a=n;for(r in e.sample_groups=[],i){var h;if(e[a(841)][r]={},e.sample_groups[r][a(1275)]=i[r][a(1275)],e[a(841)][r].grouping_type_parameter=i[r][a(1741)],s>=i[r][a(1479)]&&(i[r].last_sample_in_run<0&&(i[r][a(1479)]=0),i[r][a(1402)]++,i[r][a(1402)]<=i[r].sbgp[a(1622)][a(1732)]-1&&(i[r][a(1479)]+=i[r][a(1544)][a(1622)][i[r][a(1402)]][a(1067)])),i[r].entry_index<=i[r][a(1544)].entries.length-1?e.sample_groups[r][a(1679)]=i[r][a(1544)][a(1622)][i[r][a(1402)]][a(1679)]:e[a(841)][r].group_description_index=-1,0!==e[a(841)][r].group_description_index)h=i[r][a(1636)]?i[r].fragment_description:i[r].description,e[a(841)][r].group_description_index>0?(o=e.sample_groups[r][a(1679)]>65535?(e[a(841)][r][a(1679)]>>16)-1:e.sample_groups[r][a(1679)]-1,h&&o>=0&&(e[a(841)][r].description=h[a(1622)][o])):h&&h[a(1133)]>=2&&h.default_group_description_index>0&&(e[a(841)][r][a(1141)]=h[a(1622)][h.default_group_description_index-1])}},y[n(554)]=function(t,e,s){var i=n;e&&(t?(e[i(736)]=t[i(736)][s],e[i(571)]=t.sample_depends_on[s],e[i(1190)]=t[i(968)][s],e[i(1159)]=t[i(1131)][s]):(e.is_leading=0,e[i(571)]=0,e.is_depended_on=0,e[i(1159)]=0))},y[n(1617)][n(1714)]=function(){var t,e,s=n;for(t=0;tv&&(w++,v<0&&(v=0),v+=o[_(1473)][w]),e>0?(t[_(926)][e-1][_(1659)]=o[_(603)][w],t[_(661)]+=t[_(926)][e-1][_(1659)],C[_(754)]=t[_(926)][e-1][_(754)]+t[_(926)][e-1][_(1659)]):C[_(754)]=0,a?(e>=S&&(E++,S<0&&(S=0),S+=a[_(1473)][E]),C.cts=t[_(926)][e].dts+a[_(852)][E]):C[_(548)]=C[_(754)],h?(e==h[_(1350)][I]-1?(C.is_sync=!0,I++):(C[_(1436)]=!1,C[_(1604)]=0),l&&l.entries[T][_(817)]+k==e+1&&(C[_(1598)]=l[_(1622)][T][_(1598)],k+=l[_(1622)][T][_(817)],T++)):C[_(1436)]=!0,y[_(554)](t.mdia[_(991)][_(709)][_(1119)],C,C[_(1597)]),p?C[_(1604)]=p[_(1754)][e]:C.degradation_priority=0,l&&l[_(1622)][T][_(817)]+k==e&&(C.subsamples=l[_(1622)][T][_(1598)],k+=l[_(1622)][T][_(817)]),(d[_(1732)]>0||u[_(1732)]>0)&&y[_(1567)](t,C,e,t.sample_groups_info)}e>0&&(t[_(926)][e-1][_(1659)]=Math[_(1760)](t[_(1628)][_(1193)][_(1659)]-t[_(926)][e-1][_(754)],0),t[_(661)]+=t[_(926)][e-1][_(1659)])}},y[n(1617)][n(822)]=function(){var t,e,s,i,r,o,a,h,c,l,d,p,f,m,g,A=n;if(void 0!==this[A(894)])for(;this.lastMoofIndex0&&y[A(1704)](p,d,d[A(1522)],p[A(1628)][A(991)].stbl.sgpds,d.sgpds),e=0;e0?m.dts=p.samples[p[A(926)][A(1732)]-2].dts+p[A(926)][p.samples[A(1732)]-2].duration:(d.tfdt?m[A(754)]=d.tfdt[A(795)]:m[A(754)]=0,p.first_traf_merged=!0),m.cts=m[A(754)],b[A(607)]&u[A(882)]&&(m[A(548)]=m[A(754)]+b.sample_composition_time_offset[s]),g=a,b.flags&u[A(1310)]?g=b[A(1056)][s]:0===s&&b[A(607)]&u[A(559)]&&(g=b[A(1156)]),m.is_sync=!(g>>16&1),m.is_leading=g>>26&3,m[A(571)]=g>>24&3,m.is_depended_on=g>>22&3,m[A(1159)]=g>>20&3,m[A(1604)]=65535&g;var v=!!(d[A(1100)][A(607)]&u[A(1673)]),w=!!(d.tfhd.flags&u[A(1268)]),S=!!(b[A(607)]&u[A(665)]),E=0;E=v?d[A(1100)][A(1172)]:w?l.start:0===e?l[A(1767)]:h,m[A(1284)]=0===e&&0===s?S?E+b[A(1602)]:E:h,h=m[A(1284)]+m[A(1331)],(d[A(1522)][A(1732)]>0||d[A(1205)][A(1732)]>0||p[A(1628)][A(991)][A(709)][A(1522)].length>0||p[A(1628)][A(991)].stbl.sgpds.length>0)&&y[A(1567)](p,m,m[A(1091)],d[A(1528)])}}if(d[A(1040)]){p.has_fragment_subsamples=!0;var I=d[A(511)];for(e=0;e-1))return null;var c=(s=this.stream[i(1422)][a])[i(494)]-(r[i(1284)]+r[i(1726)]-s[i(1322)]);if(r[i(1331)]-r[i(1726)]<=c)return o[i(965)](i(1625),i(1125)+e+i(973)+r[i(1726)]+i(1351)+(r[i(1284)]+r.alreadyRead-s[i(1322)])+i(510)+(r[i(1331)]-r[i(1726)])+i(1049)+r[i(1331)]+")"),h[i(1706)](r.data[i(1648)],r.alreadyRead,s,r.offset+r.alreadyRead-s[i(1322)],r[i(1331)]-r[i(1726)]),s[i(963)]+=r[i(1331)]-r[i(1726)],this[i(1743)][i(1157)](),r[i(1726)]=r.size,r;if(0===c)return null;o[i(965)](i(1625),i(1125)+e+i(1768)+r[i(1726)]+i(1351)+(r.offset+r[i(1726)]-s.fileStart)+" read size: "+c+i(1049)+r[i(1331)]+")"),h[i(1706)](r[i(1360)].buffer,r[i(1726)],s,r[i(1284)]+r.alreadyRead-s.fileStart,c),r[i(1726)]+=c,s[i(963)]+=c,this[i(1743)][i(1157)]()}},y.prototype[n(1093)]=function(t,e){var s=n,i=t[s(926)][e];return i[s(1360)]?(this[s(1557)]-=i[s(1331)],i[s(1360)]=null,i.description=null,delete i[s(1604)],delete i[s(571)],delete i.description_index,delete i[s(1159)],delete i.is_depended_on,delete i.is_leading,delete i[s(1436)],delete i[s(551)],delete i.number_in_traf,delete i.timescale,delete i.cts,delete i[s(754)],delete i[s(1284)],delete i[s(1331)],delete i[s(907)],delete i[s(1659)],i[s(1726)]=0,i[s(1331)]):0},y[n(1617)][n(1267)]=function(){return this[n(1557)]},y.prototype[n(606)]=function(){var t,e=n,s="";for(t=0;t0&&(s+=","),s+=this[e(894)].traks[t][e(1628)].minf.stbl[e(1563)][e(1622)][0][e(729)]()}return s},y[n(1617)][n(800)]=function(t){var e,s=n;if(!this[s(894)]||!this.moov[s(1363)])return null;for(e=0;e0&&(s[i(1661)]=h[i(1425)][i(1766)][h[i(583)].item_infos[t][i(1482)]-1]),h[i(583)][i(737)][t].item_type?s[i(1043)]=h[i(583)][i(737)][t][i(650)]:s[i(1043)]="mime",s[i(962)]=h.iinf[i(737)][t][i(962)],s[i(1414)]=h[i(583)].item_infos[t][i(1414)];if(h[i(1467)])for(t=0;t0&&f[i(997)]-1-1))return null;var l=(e=this[i(1743)][i(1422)][c]).byteLength-(a[i(1284)]+a[i(1726)]-e.fileStart);if(!(a[i(1732)]-a.alreadyRead<=l))return o[i(965)]("ISOFile","Getting item #"+t+i(1095)+r+i(1768)+a[i(1726)]+i(1351)+(a.offset+a.alreadyRead-e[i(1322)])+" read size: "+l+i(765)+a[i(1732)]+i(1561)+s[i(1331)]+")"),h.memcpy(s[i(1360)].buffer,s[i(1726)],e,a[i(1284)]+a[i(1726)]-e[i(1322)],l),a[i(1726)]+=l,s.alreadyRead+=l,e[i(963)]+=l,this[i(1743)][i(1157)](),null;o[i(965)](i(1625),i(923)+t+" extent #"+r+i(973)+a[i(1726)]+i(1351)+(a[i(1284)]+a.alreadyRead-e[i(1322)])+i(510)+(a[i(1732)]-a.alreadyRead)+i(765)+a[i(1732)]+i(1561)+s[i(1331)]+")"),h[i(1706)](s[i(1360)][i(1648)],s.alreadyRead,e,a[i(1284)]+a[i(1726)]-e[i(1322)],a[i(1732)]-a[i(1726)]),e[i(963)]+=a[i(1732)]-a[i(1726)],this[i(1743)][i(1157)](),s.alreadyRead+=a[i(1732)]-a[i(1726)],a[i(1726)]=a.length}}return s[i(1726)]===s.size?s:null},y[n(1617)].releaseItem=function(t){var e=n,s=this[e(1199)][t];if(s[e(1360)]){this[e(1028)]-=s[e(1331)],s[e(1360)]=null,s.alreadyRead=0;for(var i=0;i0?this[r(894)][r(1535)][t].samples[0][r(1659)]:0),e[r(979)](i)}return e},y[n(1617)].getPerformanceInfo=function(){var t=n,e={};return e.moov=this[t(894)],this.moov&&this.moov[t(1535)]&&this[t(894)][t(1535)][t(1732)]>1&&(e[t(648)]=this[t(894)][t(1535)][0][t(926)][t(1732)],e.moovVideoNum=this[t(894)][t(1535)][1][t(926)][t(1732)]),e},u[n(1477)][n(1617)][n(595)]=function(t){var e=n;this.size+=8,this[e(1331)]>c&&(this[e(1331)]+=8),this[e(1043)]===e(599)&&(this[e(1331)]+=16),t.log(t[e(808)]+"size:"+this[e(1331)]),t.log(t[e(808)]+e(500)+this.type)},u[n(706)][n(1617)].printHeader=function(t){var e=n;this[e(1331)]+=4,u[e(1477)][e(1617)][e(595)].call(this,t),t[e(1261)](t.indent+e(1230)+this[e(1133)]),t[e(1261)](t[e(808)]+e(743)+this[e(607)])},u.Box[n(1617)][n(673)]=function(t){this[n(595)](t)},u[n(1619)][n(1617)].print=function(t){var e=n;this[e(595)](t);for(var s=0;s>8)),t[e(1261)](t.indent+e(1078)+this[e(1048)][e(1062)](", ")),t.log(t.indent+e(1633)+this.next_track_id)},u[n(1595)][n(1617)].print=function(t){var e=n;u[e(706)][e(1617)][e(595)].call(this,t),t.log(t[e(808)]+e(1008)+this[e(940)]),t[e(1261)](t[e(808)]+"modification_time: "+this.modification_time),t[e(1261)](t[e(808)]+e(1321)+this.track_id),t[e(1261)](t[e(808)]+"duration: "+this.duration),t.log(t[e(808)]+e(1359)+(this[e(1225)]>>8)),t.log(t[e(808)]+"matrix: "+this[e(1048)][e(1062)](", ")),t[e(1261)](t[e(808)]+e(518)+this[e(730)]),t[e(1261)](t[e(808)]+e(1087)+this[e(1533)]),t.log(t[e(808)]+e(1127)+this[e(1745)]),t[e(1261)](t[e(808)]+"height: "+this[e(1652)])};var b={};b[n(814)]=function(t,e){var s=void 0===t||t,i=new y(e);return i.discardMdatData=!s,i},n(1499)!==n(1317)&&(e[n(814)]=b[n(814)])}));function Up(t,e){var s=Fp();return(Up=function(t,e){return s[t-=478]})(t,e)}Op[Bp(1308)],Op.MP4BoxStream,Op.DataStream,Op[Bp(1609)],Op[Bp(1498)],Op.BoxParser,Op[Bp(771)],Op[Bp(704)],Op[Bp(1625)],Op[Bp(814)];const jp=zp;function Np(){const t=["Memory","instance","stack overflow","map","debugLog","buffer","16viEQje","156572XlsBZw","parse","1059470snWQyl","instantiate","Module","then","898090NfHRJS","5847588hClbLn","memory","set","function","exports","transport","Instance","3NnvGLd","message","TAG_NAME","wasm not supported","every","destroy","31495851OzvksY","length","player","11353888KUYAcm","slice","4771942nvHDUd","debugWarn","object","byteLength","catch","not support wasm","init error"];return(Np=function(){return t})()}function Vp(t){return t.reduce(((t,e)=>256*t+e))}function zp(t,e){const s=Np();return(zp=function(t,e){return s[t-=206]})(t,e)}function Wp(t){const e=zp,s=[101,103,119,99],i=t[e(236)]-28,r=t[e(239)](i,i+s[e(236)]);return s[e(233)](((t,e)=>t===r[e]))}!function(t,e){const s=zp,i=t();for(;;)try{if(843283===parseInt(s(217))/1+-parseInt(s(215))/2*(-parseInt(s(229))/3)+-parseInt(s(214))/4*(parseInt(s(221))/5)+-parseInt(s(222))/6+-parseInt(s(240))/7+-parseInt(s(238))/8+parseInt(s(235))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Np);jp(234),jp(227);const Gp=Kp;function Hp(){const t=["417375NyOKsq","3074140nRZLFw","start","stsd","removeUsedSamples","stbl","10kYGKzr","audioTracks","bind","write","appendBuffer","byteLength","downloadFmp4File","debugLog","tempFmp4List","1936719ztrAIO","codec","entries","videoTracks","timescale","24QTKTUO","flush","href","cryptoPayload","_listenMp4Box","duration","getTrackById","setExtractionOptions","_opt",".fmp4","createObjectURL","player","TAG_NAME","8354599uGQvAl","Fmp4Demux","hvcC","is_sync","_doDecodeByFmp4","buffer","69204rIRzdf","mp4Box","DataStream","getSeqHeader","createFile","fileStart","avcC","onSamples","getInputByteLength","231pVwSBI","debugWarn","77427IBopqk","minf","videoTrackId","seqHeader","cts","onReady","onError","video","offset","aacADTSHeader","getAllocatedSampleDataSize","audioTrackId","audio","92718WDAxks","hasAudio","debugError","indexOf","isHevc","length","config","set","mp4Box onError","data","24ROcLJn","BIG_ENDIAN","destroy","channel_count","updateStats","download","mp4a.40."];return(Hp=function(){return t})()}function Kp(t,e){const s=Hp();return(Kp=function(t,e){return s[t-=257]})(t,e)}!function(t,e){const s=Kp,i=t();for(;;)try{if(549320===-parseInt(s(274))/1+parseInt(s(311))/2*(-parseInt(s(261))/3)+parseInt(s(292))/4+-parseInt(s(291))/5+parseInt(s(330))/6*(parseInt(s(259))/7)+parseInt(s(284))/8*(parseInt(s(306))/9)+parseInt(s(297))/10*(-parseInt(s(324))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Hp);class Qp extends sp{constructor(t){const e=Kp;super(t),this[e(323)]=e(325),this[e(322)]=t,this[e(331)]=Op[e(334)](),this[e(305)]=[],this[e(269)]=0,this[e(263)]=null,this[e(272)]=null,this[e(278)]=!1,this[e(315)](),t.debugLog(this[e(323)],"init")}[Gp(286)](){const t=Gp;this[t(331)]&&(this[t(331)].stop(),this[t(331)][t(312)](),this[t(331)][t(286)](),this[t(331)]=null),this[t(305)]=[],this.offset=0,this.videoTrackId=null,this[t(272)]=null,this[t(278)]=!1,this[t(322)][t(304)](this[t(323)],t(286))}_listenMp4Box(){const t=Gp;this[t(331)][t(266)]=this.onReady[t(299)](this),this[t(331)][t(267)]=this[t(267)].bind(this),this[t(331)][t(257)]=this[t(257)].bind(this)}onReady(t){const e=Gp;this[e(322)][e(304)](this[e(323)],e(266),t);const s=t[e(309)][0],i=t[e(298)][0];if(s){this.videoTrackId=s.id;const t=this[e(333)](s);t&&(this[e(322)][e(304)](this[e(323)],e(264),t),this[e(328)](t,L[e(268)],0,!0,0)),this[e(331)][e(318)](s.id)}if(i&&this[e(322)][e(319)][e(275)]){this[e(272)]=i.id;const t=i[e(273)]||{},s=fe[e(277)](t.sample_rate),r=i[e(307)].replace(e(290),"");this.mp4Box.setExtractionOptions(i.id);const n={profile:parseInt(r,10),sampleRate:s,channel:t[e(287)]},o=ge(n);this[e(322)][e(304)](this[e(323)],e(270),o,e(280),n),this._doDecodeByFmp4(o,L[e(273)],0,!1,0)}this[e(331)][e(293)]()}[Gp(267)](t){const e=Gp;this[e(322)][e(276)](this[e(323)],e(282),t)}[Gp(257)](t,e,s){const i=Gp;if(t===this[i(263)]){for(const t of s){const e=t[i(283)],s=t[i(327)],r=1e3*t[i(265)]/t[i(310)];t[i(316)],t.timescale,this[i(322)][i(288)]({vbps:e.byteLength,dts:r}),s&&this.calcIframeIntervalTimestamp(r);let n=null;n=this[i(278)]?oh(e,s):La(e,s);let o=this[i(314)](n,s);this._doDecodeByFmp4(o,L[i(268)],r,s,0)}this.mp4Box[i(295)](t)}else if(t===this.audioTrackId){if(this[i(322)]._opt.hasAudio){for(const t of s){const e=t[i(283)];this.player[i(288)]({abps:e[i(302)]});const s=1e3*t[i(265)]/t[i(310)];t[i(316)],t[i(310)];const r=new Uint8Array(e[i(302)]+2);r[i(281)]([175,1],0),r[i(281)](e,2),this[i(328)](r,L[i(273)],s,!1,0)}this[i(331)][i(295)](t)}}else this[i(322)][i(260)](this[i(323)],"onSamples() trackId error",t)}[Gp(333)](t){const e=Gp,s=this.mp4Box[e(317)](t.id);for(const t of s.mdia[e(262)][e(296)][e(294)][e(308)])if(t[e(336)]||t[e(326)]){const s=new(Op[e(332)])(void 0,0,Op.DataStream[e(285)]);let i=[];t.avcC?(t[e(336)][e(300)](s),i=[23,0,0,0,0]):(this[e(278)]=!0,t[e(326)][e(300)](s),i=[28,0,0,0,0]);const r=new Uint8Array(s.buffer,8),n=new Uint8Array(i.length+r[e(279)]);return n.set(i,0),n.set(r,i.length),n}return null}dispatch(t){const e=Gp;let s=new Uint8Array(t);s[e(329)][e(335)]=this[e(269)],this.offset+=s[e(302)],this[e(331)][e(301)](s[e(329)])}[Gp(303)](){const t=Gp,e=new Blob(this[t(305)],{type:'video/mp4; codecs="avc1.640028,mp4a.40.2"'}),s=URL[t(321)](e),i=document.createElement("a");i[t(313)]=s,i[t(289)]=Ve()+t(320),i.click(),URL.revokeObjectURL(s)}[Gp(258)](){const t=Gp;let e=0;return this[t(331)]&&(e=this[t(331)][t(271)]()),e}}var Yp=Jp;function qp(){var t=["2913752mZpfIM","420wWxDZu","player","4319448mHJeWI","988752KwxNot","TAG_NAME","debugLog","16345sKGXqk","1tUjuJq","323667xtEJhV","destroy","Mpeg4Demux","init","5101929QXMeEE","190wEIhvN","1769358aAaFTT","LOG_NAME"];return(qp=function(){return t})()}function Jp(t,e){var s=qp();return(Jp=function(t,e){return s[t-=440]})(t,e)}!function(t,e){for(var s=Jp,i=t();;)try{if(367477===parseInt(s(454))/1*(parseInt(s(450))/2)+-parseInt(s(444))/3+parseInt(s(446))/4+-parseInt(s(453))/5*(-parseInt(s(447))/6)+parseInt(s(442))/7+-parseInt(s(449))/8+-parseInt(s(455))/9*(parseInt(s(443))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(qp);class Xp extends sp{constructor(t){var e=Jp;super(t),this[e(448)]=t,this[e(451)]=e(440),this[e(448)].debugLog(this.LOG_NAME,e(441))}[Yp(456)](){var t=Yp;super[t(456)](),this[t(448)][t(452)](this[t(445)],t(456))}}function Zp(){for(var t=$p,e=arguments.length,s=new Array(e),i=0;ie+s[t(247)]),0));let n=0;return s[t(237)]((e=>{var s=t;r[s(248)](e,n),n+=e[s(247)]})),r}function $p(t,e){var s=tf();return($p=function(t,e){return s[t-=236]})(t,e)}function tf(){var t=["byteLength","set","11835McdQZk","45wSAJND","324824WmQSUU","617MDWyQn","filter","793BZaJbk","50fzXzrM","forEach","3wUnuWz","223949JgnsRV","length","590020QWEUBN","reduce","46Drxzdf","99492qmTgfY","552FVvvEo","3325aYhaPq"];return(tf=function(){return t})()}function ef(t,e){const s=nf();return(ef=function(t,e){return s[t-=477]})(t,e)}!function(t,e){for(var s=$p,i=t();;)try{if(144398===parseInt(s(252))/1*(parseInt(s(243))/2)+-parseInt(s(238))/3*(-parseInt(s(241))/4)+parseInt(s(249))/5*(-parseInt(s(245))/6)+-parseInt(s(246))/7+-parseInt(s(251))/8*(parseInt(s(250))/9)+-parseInt(s(236))/10*(parseInt(s(239))/11)+-parseInt(s(244))/12*(-parseInt(s(254))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(tf);const sf=ef;!function(t,e){const s=ef,i=t();for(;;)try{if(424690===parseInt(s(513))/1+-parseInt(s(488))/2*(parseInt(s(516))/3)+-parseInt(s(487))/4*(parseInt(s(501))/5)+-parseInt(s(520))/6+-parseInt(s(507))/7+-parseInt(s(496))/8+parseInt(s(531))/9*(parseInt(s(504))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(nf);const rf={kMPEG1Audio:3,kMPEG2Audio:4,kPESPrivateData:6,kADTSAAC:15,kLOASAAC:17,kAC3:129,kEAC3:135,kMetadata:21,kSCTE35:134,kH264:27,kH265:36};function nf(){const t=["toLowerCase","412686teNKhH","audio_object_type","width","stream_type","sarDen","audioSampleRate","_search","object_type","len","keyframesIndex","stream_id","549EEHvFN","sampling_freq_index","slices","sampling_index","height","times","getNearestKeyframe","random_access_indicator","mp4a.40.","profile","duration","isSeekable","level","dts","channel_config","37372NtZAiF","2Qoihtg","channel_count","hasVideo","indexOf","data","expected_length","videoDataRate","segmentCount","3060200SLfbZx","hasKeyframesIndex","audioCodec","original_codec_mimetype","fps","215ntQdaZ","sarNum","firefox","251780joiOPZ","nearest_pts","pts","5115229bAlNGO","pid","codec_mimetype","metadata","videoCodec","original_object_type","639467oEaWyG","isComplete","chromaFormat","500499orWIDC","mimeType","audioChannelCount"];return(nf=function(){return t})()}class of{constructor(){const t=ef;this[t(533)]=[],this.total_length=0,this[t(493)]=0,this[t(479)]=0}}class af{constructor(){const t=ef;this[t(508)]=null,this[t(492)]=null,this[t(523)]=null,this.random_access_indicator=null}}class hf{constructor(){const t=ef;this.pid=null,this[t(530)]=null,this[t(528)]=null,this[t(492)]=null,this[t(506)]=null,this[t(505)]=null,this[t(485)]=null}}const cf=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];class lf{constructor(){const t=ef;this[t(517)]=null,this[t(482)]=null,this.hasAudio=null,this[t(490)]=null,this[t(498)]=null,this[t(511)]=null,this.audioDataRate=null,this[t(494)]=null,this[t(525)]=null,this[t(518)]=null,this[t(522)]=null,this[t(535)]=null,this.fps=null,this[t(481)]=null,this[t(484)]=null,this.refFrames=null,this[t(515)]=null,this[t(502)]=null,this[t(524)]=null,this[t(510)]=null,this.segments=null,this[t(495)]=null,this.hasKeyframesIndex=null,this[t(529)]=null}[sf(514)](){const t=sf;let e=!1===this.hasAudio||!0===this.hasAudio&&null!=this[t(498)]&&null!=this.audioSampleRate&&null!=this[t(518)],s=!1===this[t(490)]||!0===this[t(490)]&&null!=this[t(511)]&&null!=this[t(522)]&&null!=this.height&&null!=this[t(500)]&&null!=this[t(481)]&&null!=this[t(484)]&&null!=this.refFrames&&null!=this[t(515)]&&null!=this[t(502)]&&null!=this[t(524)];return null!=this[t(517)]&&e&&s}[sf(483)](){return!0===this[sf(497)]}[sf(478)](t){const e=sf;if(null==this.keyframesIndex)return null;let s=this[e(529)],i=this[e(526)](s[e(477)],t);return{index:i,milliseconds:s[e(477)][i],fileposition:s.filepositions[i]}}[sf(526)](t,e){let s=0,i=t.length-1,r=0,n=0,o=i;for(e=t[r]&&e=6?(r=5,s=new Array(4),a=n-3):(r=2,s=new Array(2),a=n):-1!==h.indexOf("android")?(r=2,s=new Array(2),a=n):(r=5,a=n,s=new Array(4),n>=6?a=n-3:1===o&&(r=2,s=new Array(2),a=n)),s[0]=r<<3,s[0]|=(15&n)>>>1,s[1]=(15&n)<<7,s[1]|=(15&o)<<3,5===r&&(s[1]|=(15&a)>>>1,s[2]=(1&a)<<7,s[2]|=8,s[3]=0),this.config=s,this.sampling_rate=cf[n],this[e(534)]=n,this[e(489)]=o,this[e(527)]=r,this[e(512)]=i,this[e(509)]=e(480)+r,this[e(499)]=e(480)+i}}const uf=ff;function pf(){const t=["dts","timed_id3_pids","parseTimedID3MetadataPayload","_preDoDecode","bit_stream_mode","current_program_","detectVideoMetadataChange","timescale","emitPESSlices","elementary_stream_priority_indicator","kEAC3","current_pmt_pid_","player","kMPEG2Audio","Generated first AudioSpecificConfig for mimeType: ","probe","mimeType","h264","AAC: SamplingFrequencyIndex changed from ","Parsed first PMT: ","aacADTSHeader","dispatchPESPrivateDataDescriptor","Generated first HEVCDecoderConfigurationRecord for mimeType: ","updateStats",", dts=","isIFrame","random_access_indicator","smpte2038_pids","parseSPS","debugError","hasIncompleteData","parseLOASAACPayload","forEach",'video/mp2t; codecs="',"bitDepth","readNextAACFrame","pat_","_opt","loas_previous_frame","aac_last_incomplete_data_","pts","kPESPrivateData","set","audio_last_sample_pts_","samples","detectAudioMetadataChange","present_size",", channel: ","sar_ratio","chromaFormat","byteLength","audioSampleRate","hasVideo","last_pcr_base_","Video: Present resolution width changed from ","pes_private_data_pids","readNextNaluPayload","sampling_frequency","synchronous_klv_pids","Malformed PES: PES_packet_length < 3 + PES_header_data_length","channel_mode","5ZMhZpu","kSliceIDR","fps_num","has_audio_","parseH265Payload","chroma_format_string","slices",", sampleRate: ","sps","_getTimestamp","updateVideoInfo","debugWarn","TAG","subarray","TAG_NAME","adts_aac","length","profile: ","parsePAT: table_id ","data","pid_stream_type","audioChannelCount","ts_packet_size","section_slice_queues_","audio_init_segment_dispatched_","common_pids","from","pmt_","stringify","hvcc","video_metadata_changed_","ID3 ","AC3: Bit Stream Identification changed from ","dispatchVideoMediaSegment","config","fps","fromCharCode","parsePESPrivateDataPayload","isFirstDispatch and tsPacketSize = ","parsePES"," is not corresponded to PAT!","audioCodec","Opus: Channel count changed from ","2473504gsUGEG","calcIframeIntervalTimestamp","H264: Critical h264 metadata has been changed, attempt to re-generate InitSegment","min","3kYOfPT","isHevc","expected: ","Audio: Audio Codecs changed from ","asynchronous_klv_pids","kSliceSPS","parseH264Payload","kSliceIDR_W_RADL","AC3: Channel Mode changed from ","refFrames","eac3","profile_string","total_length","parseSMPTE2038MetadataPayload","kAC3","videoCodec","codec","width","90zGiPxe","discontinuity_indicator","codec_size","program_pmt_map_","kMetadata","parseSCTE35","abs","profile","parseAsynchronousKLVMetadataPayload","dispatchAudioInitSegment","last_pcr_","audio_metadata_changed_","dispatchAudioVideoMediaSegment","Asynchronous KLV Metadata: pid=","frame_rate","parseOpusPayload","getIncompleteData","match","parseADTSAACPayload","audio_object_type","push","pid","refSampleDuration","codec_mimetype","parseSection","15974101bnjBmq","scte_35_pids","Opus: SamplingFrequencyIndex changed from ","parseAC3Payload","avcc","AAC: Channel configuration changed from ","channel_config","parseEAC3Payload","details","video_track_","153162HQaDkc","VANC","ac3","tsPacketSize","video_metadata_","height","kSCTE35","MP3: SamplingFrequencyIndex changed from ","error","frameRate","parseChunks","expected_length","kSlicePPS","dispatchAudioMediaSegment","sampling_index","_getPcrBase","config_","debugLog","AAC: Unknown pts","emitSectionSlices","parsePAT","version_number","timestamp_offset_","3690825FVVIan","517052FKyPVr","MP3","getNearestTimestampMilliseconds","level","audio_track_","media_info_","opus","channel_count","video","h265","object_type","sampling_freq_index","parseSynchronousKLVMetadataPayload","sarDen","floor","getInputByteLength","TsDemux","ac-3",", pts=","payload","ms, PES pts: ","presentHeight","sarRatio","payload_unit_start_indicator","chroma_format","pcr_pid","file_position","audio","kSliceCRA_NUT","_doDecodeVideo","16722SnrXWo","loas_aac","aac",", not start with 0x47, so break","parseSPS$2","ec-3","parsePMT","has_video_","Video: Codec mimeType changed from ","_initPmt","type","nearest_pts","KLVA","parseMP3Payload","len","kMPEG1Audio","meta","clearSlices","original_object_type","hasAudio","init","codecWidth","channelCount","timescale_","Opus","Video: Coded Resolution changed from ","kH265","cryptoPayload",", syncOffset = ","kADTSAAC","first_parse_","sync_offset","sarNum","kLOASAAC","MP3: Channel count changed from ","video_init_segment_dispatched_","handlePESSlice: packet_start_code_prefix should be 1 but with value ","_doDecodeAudio","duration","kH264","cryptoPayloadAudio","bit_depth","sampling_rate","audioSampleRateIndex","codecHeight","168lkrAIo","network_pid","handlePESSlice","isInitSegmentDispatched","audio_metadata_","vps","pps","bit_stream_identification","duration_","AAC: Detected pts overlapped, ","syncOffset","mp3","kSliceIDR_N_LP","Timed ID3 Metadata: pid=","195070fKuhxB","original_codec_mimetype"," to ","_remainingPacketData","parsePMT: table_id ","dispatchVideoInitSegment","sample_rate","concat","AC3: Low Frequency Effects Channel On changed from ",", stream_id=","sort","dispatch","pes_slice_queues_","_doDecodeByTs","low_frequency_effects_channel_on","stream_id","descriptor","cts","Not Supported Opus channel count."];return(pf=function(){return t})()}function ff(t,e){const s=pf();return(ff=function(t,e){return s[t-=369]})(t,e)}!function(t,e){const s=ff,i=t();for(;;)try{if(382864===-parseInt(s(572))/1*(parseInt(s(379))/2)+parseInt(s(619))/3*(-parseInt(s(403))/4)+-parseInt(s(402))/5+parseInt(s(433))/6*(parseInt(s(478))/7)+parseInt(s(615))/8+parseInt(s(637))/9*(-parseInt(s(492))/10)+parseInt(s(369))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pf);class mf extends sp{constructor(t){const e=ff;super(t),this[e(523)]=t,this.TAG_NAME=e(419),this[e(463)]=!0,this.tsPacketSize=0,this[e(488)]=0,this[e(599)]=null,this[e(395)]=null,this[e(408)]=new lf,this[e(456)]=90,this[e(486)]=0,this.pat_={version_number:0,network_pid:0,program_map_pid:{}},this[e(516)]=null,this[e(522)]=-1,this[e(640)]={},this[e(504)]={},this.section_slice_queues_={},this[e(383)]={vps:null,sps:null,pps:null,details:null},this[e(482)]={codec:null,audio_object_type:null,sampling_freq_index:null,sampling_frequency:null,channel_config:null},this.last_pcr_=null,this[e(564)]=NaN,this.timestamp_offset_=0,this.audio_last_sample_pts_=void 0,this[e(550)]=null,this[e(440)]=!1,this[e(575)]=!1,this[e(468)]=!1,this[e(596)]=!1,this[e(602)]=!1,this[e(648)]=!1,this[e(549)]=null,this[e(378)]={type:e(411),id:1,sequenceNumber:0,samples:[],length:0},this[e(407)]={type:e(430),id:2,sequenceNumber:0,samples:[],length:0},this[e(495)]=null,this[e(523)].debugLog(this[e(586)],e(453))}destroy(){const t=ff;this[t(408)]=null,this[t(504)]=null,this[t(595)]=null,this[t(383)]=null,this[t(482)]=null,this[t(550)]=null,this[t(378)]=null,this[t(407)]=null,this[t(495)]=null,super.destroy()}[uf(526)](t){const e=uf;let s=new Uint8Array(t),i=-1,r=188;if(s[e(561)]<=3*r)return{needMoreData:!0};for(;-1===i;){let t=Math[e(618)](1e3,s.byteLength-3*r);for(let e=0;e=4&&(i-=4),{match:!0,consumed:0,ts_packet_size:r,sync_offset:i})}[uf(442)](){return{program_number:0,version_number:0,pcr_pid:0,pid_stream_type:{},common_pids:{h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,eac3:void 0,mp3:void 0},pes_private_data_pids:{},timed_id3_pids:{},synchronous_klv_pids:{},asynchronous_klv_pids:{},scte_35_pids:{},smpte2038_pids:{}}}[uf(503)](t){const e=uf;let s=new Uint8Array(t);this[e(495)]&&(s=Zp(this[e(495)],s),this[e(495)]=null);let i=s.buffer;const r=this.parseChunks(i);r?this[e(495)]=s[e(585)](r):s[e(588)]>>1,n=1&t[5],o=t[6];t[7];let a=null;if(1===n&&0===o)a={version_number:0,network_pid:0,program_pmt_pid:{}},a[e(400)]=r;else if(a=this[e(547)],null==a)return;let h=i-5-4,c=-1,l=-1;for(let s=8;s<8+h;s+=4){let i=t[s]<<8|t[s+1],r=(31&t[s+2])<<8|t[s+3];0===i?a[e(479)]=r:(a.program_pmt_pid[i]=r,-1===c&&(c=i),-1===l&&(l=r))}1===n&&0===o&&(null==this[e(547)]&&this[e(523)][e(396)](this.TAG_NAME,"Parsed first PAT: "+JSON[e(600)](a)),this.pat_=a,this[e(516)]=c,this[e(522)]=l)}[uf(439)](t){const e=uf;let s=t[0];if(2!==s)return void this[e(523)][e(540)](this[e(586)],e(496)+s+" is not corresponded to PMT!");let i,r=(15&t[1])<<8|t[2],n=t[3]<<8|t[4],o=(62&t[5])>>>1,a=1&t[5],h=t[6];if(t[7],1===a&&0===h)i=this[e(442)](),i.program_number=n,i[e(400)]=o,this.program_pmt_map_[n]=i;else if(i=this[e(640)][n],null==i)return;i.pcr_pid=(31&t[8])<<8|t[9];let c=(15&t[10])<<8|t[11],l=12+c,d=r-9-c-4;for(let s=l;s0){for(let r=s+5;r0)for(let r=s+5;r1&&(this[s(523)][s(583)](this[s(586)],s(487)+"expected: "+t+s(423)+r+"ms"),r=t)}}let n,o=new Ce(t),a=null,h=r;for(;null!=(a=o.readNextAACFrame());){i=1024/a[s(568)]*1e3;const t={codec:"aac",data:a};0==this[s(596)]?(this[s(482)]={codec:s(435),audio_object_type:a[s(656)],sampling_freq_index:a[s(414)],sampling_frequency:a[s(568)],channel_config:a[s(375)]},this[s(646)](t)):this[s(556)](t)&&(this.dispatchAudioMediaSegment(),this[s(646)](t)),n=h;let e=Math[s(417)](h);const r=new Uint8Array(a[s(591)].length+2);r[s(553)]([175,1],0),r[s(553)](a[s(591)],2);let o={payload:r,length:r[s(561)],pts:e,dts:e,type:L.audio};this[s(407)][s(555)][s(657)](o),this[s(407)][s(588)]+=r[s(561)],h+=i}o[s(541)]()&&(this.aac_last_incomplete_data_=o.getIncompleteData()),n&&(this[s(554)]=n)}[uf(542)](t,e){const s=uf;if(this[s(440)]&&!this[s(468)])return;if(this[s(550)]){let e=new Uint8Array(t[s(561)]+this[s(550)].byteLength);e[s(553)](this[s(550)],0),e[s(553)](t,this[s(550)][s(561)]),t=e}let i,r;if(null!=e&&(r=e/this[s(456)]),this[s(482)][s(635)]===s(435)){if(null==e&&null!=this.audio_last_sample_pts_)i=1024/this[s(482)][s(568)]*1e3,r=this[s(554)]+i;else if(null==e)return void this.player[s(583)](this[s(586)],s(397));if(this.aac_last_incomplete_data_&&this[s(554)]){i=1024/this.audio_metadata_[s(568)]*1e3;let t=this[s(554)]+i;Math[s(643)](t-r)>1&&(this[s(523)][s(583)](this[s(584)],s(487)+(s(621)+t+"ms, PES pts: ")+r+"ms"),r=t)}}let n,o=new Re(t),a=null,h=r;for(;null!=(a=o[s(546)](fs(this[s(549)])?void 0:this.loas_previous_frame));){this[s(549)]=a,i=1024/a.sampling_frequency*1e3;const t={codec:s(435),data:a};0==this.audio_init_segment_dispatched_?(this[s(482)]={codec:s(435),audio_object_type:a[s(656)],sampling_freq_index:a.sampling_freq_index,sampling_frequency:a[s(568)],channel_config:a.channel_config},this[s(646)](t)):this[s(556)](t)&&(this[s(392)](),this[s(646)](t)),n=h;let e=Math[s(417)](h);const r=new Uint8Array(a.data[s(588)]+2);r[s(553)]([175,1],0),r.set(a[s(591)],2);let o={payload:r,length:r[s(561)],pts:e,dts:e,type:L[s(430)]};this.audio_track_[s(555)][s(657)](o),this.audio_track_[s(588)]+=r[s(561)],h+=i}o.hasIncompleteData()&&(this[s(550)]=o[s(653)]()),n&&(this[s(554)]=n)}[uf(372)](t,e){}parseEAC3Payload(t,e){}[uf(652)](t,e){}[uf(446)](t,e){const s=uf;if(this[s(440)]&&!this[s(468)])return;let i=[44100,48e3,32e3,0],r=[22050,24e3,16e3,0],n=[11025,12e3,8e3,0],o=t[1]>>>3&3,a=(6&t[1])>>1,h=(t[2],(12&t[2])>>>2),c=3!==(t[3]>>>6&3)?2:1,l=0,d=34;switch(s(489),o){case 0:l=n[h];break;case 2:l=r[h];break;case 3:l=i[h]}switch(a){case 1:d=34,s(588);break;case 2:d=33,s(588);break;case 3:d=32,s(588)}const u={};u[s(413)]=d,u[s(498)]=l,u[s(410)]=c,u.data=t;const p={codec:"mp3",data:u};0==this[s(596)]?(this[s(482)]={codec:"mp3",object_type:d,sample_rate:l,channel_count:c},this.dispatchAudioInitSegment(p)):this[s(556)](p)&&(this[s(392)](),this.dispatchAudioInitSegment(p));let f={payload:t,length:t[s(561)],pts:e/this[s(456)],dts:e/this[s(456)],type:L[s(430)]};this[s(407)][s(555)][s(657)](f),this[s(407)][s(588)]+=t[s(561)]}[uf(556)](t){const e=uf;if(t[e(635)]!==this[e(482)][e(635)])return this[e(523)][e(396)](this[e(586)],e(622)+(this[e(482)][e(635)]+e(494)+t[e(635)])),!0;if(t[e(635)]===e(435)&&"aac"===this[e(482)][e(635)]){const s=t[e(591)];if(s[e(656)]!==this.audio_metadata_.audio_object_type)return this[e(523)].debugLog(this[e(586)],"AAC: AudioObjectType changed from "+(this.audio_metadata_[e(656)]+e(494)+s[e(656)])),!0;if(s[e(414)]!==this.audio_metadata_[e(414)])return this[e(523)][e(396)](this.TAG_NAME,e(529)+(this[e(482)].sampling_freq_index+e(494)+s[e(414)])),!0;if(s[e(375)]!==this[e(482)].channel_config)return this.player[e(396)](this[e(586)],e(374)+(this[e(482)][e(375)]+e(494)+s[e(375)])),!0}else if("ac-3"===t[e(635)]&&this[e(482)][e(635)]===e(420)){const s=t[e(591)];if(s[e(568)]!==this[e(482)][e(568)])return this[e(523)][e(396)](this[e(586)],"AC3: Sampling Frequency changed from "+(this[e(482)][e(568)]+e(494)+s[e(568)])),!0;if(s.bit_stream_identification!==this.audio_metadata_.bit_stream_identification)return this[e(523)][e(396)](this[e(586)],e(604)+(this[e(482)][e(485)]+" to ")+s[e(485)]),!0;if(s[e(515)]!==this[e(482)].bit_stream_mode)return this.player[e(396)](this[e(586)],"AC3: BitStream Mode changed from "+(this.audio_metadata_[e(515)]+e(494)+s[e(515)])),!0;if(s[e(571)]!==this[e(482)][e(571)])return this[e(523)][e(396)](this.TAG_NAME,e(627)+(this.audio_metadata_[e(571)]+e(494)+s[e(571)])),!0;if(s[e(506)]!==this.audio_metadata_[e(506)])return this[e(523)][e(396)](this[e(586)],e(500)+(this[e(482)][e(506)]+e(494)+s[e(506)])),!0}else if(t[e(635)]===e(409)&&"opus"===this[e(482)][e(635)]){const s=t[e(449)];if(s[e(498)]!==this[e(482)][e(498)])return this.player[e(396)](this[e(586)],e(371)+(this[e(482)][e(498)]+" to ")+s[e(498)]),!0;if(s.channel_count!==this[e(482)][e(410)])return this[e(523)][e(396)](this[e(586)],e(614)+(this[e(482)].channel_count+e(494)+s[e(410)])),!0}else if(t.codec===e(489)&&this[e(482)][e(635)]===e(489)){const s=t[e(591)];if(s[e(413)]!==this[e(482)][e(413)])return this[e(523)][e(396)](this[e(586)],"MP3: AudioObjectType changed from "+this[e(482)][e(413)]+" to "+s.object_type),!0;if(s.sample_rate!==this[e(482)][e(498)])return this.player[e(396)](this[e(586)],e(386)+(this.audio_metadata_.sample_rate+" to ")+s[e(498)]),!0;if(s.channel_count!==this.audio_metadata_[e(410)])return this[e(523)][e(396)](this.TAG_NAME,e(467)+(this[e(482)][e(410)]+e(494)+s.channel_count)),!0}return!1}[uf(646)](t){const e=uf;let s={};s[e(443)]=e(430),s.id=this[e(407)].id,s[e(518)]=1e3,s.duration=this[e(486)];let i="";if(this.audio_metadata_[e(635)]===e(435)){let r=t[e(635)]===e(435)?t[e(591)]:null,n=new df(r);s[e(562)]=n[e(475)],s.audioSampleRateIndex=n[e(393)],s[e(455)]=n[e(410)],s.codec=n[e(660)],s.originalCodec=n[e(493)],s.config=n[e(606)],s[e(659)]=1024/s[e(562)]*s.timescale,i=Q.AAC;const o=ge({profile:this.player[e(548)].mseDecodeAudio?n[e(413)]:n[e(451)],sampleRate:s[e(476)],channel:s.channelCount});console[e(387)](e(531),e(589)+n[e(413)]+e(579)+s[e(476)]+e(558)+s.channelCount),this[e(505)](o,L[e(430)],0,!1,0)}else this[e(482)][e(635)]===e(420)||this.audio_metadata_[e(635)]===e(438)||this[e(482)][e(635)]===e(409)||"mp3"===this[e(482)][e(635)]&&(s[e(562)]=this[e(482)][e(498)],s[e(455)]=this.audio_metadata_[e(410)],s[e(635)]=e(489),s.originalCodec=e(489),s[e(606)]=void 0,i=Q[e(404)]);0==this.audio_init_segment_dispatched_&&this[e(523)][e(396)](this[e(586)],e(525)+s[e(635)]),this[e(596)]=!0,this[e(602)]=!1;let r=this.media_info_;r[e(452)]=!0,r[e(613)]=s.originalCodec,r[e(562)]=s[e(562)],r[e(593)]=s[e(455)],r[e(563)]&&r[e(634)]?r[e(527)]='video/mp2t; codecs="'+r[e(634)]+","+r.audioCodec+'"':r[e(527)]='video/mp2t; codecs="'+r[e(613)]+'"',i&&this[e(523)].audio.updateAudioInfo({encTypeCode:i,channels:s[e(455)],sampleRate:s[e(562)]})}[uf(532)](t,e,s){const i=uf;let r={};r[i(658)]=t,r.stream_type=e,r[i(508)]=s}[uf(609)](t,e,s,i,r){const n=uf;let o=new hf;if(o[n(658)]=i,o[n(507)]=r,o[n(447)]=t[n(561)],o[n(591)]=t,null!=e){let t=Math[n(417)](e/this[n(456)]);o[n(551)]=t}else o[n(444)]=this.getNearestTimestampMilliseconds();if(null!=s){let t=Math[n(417)](s/this[n(456)]);o.dts=t}}[uf(513)](t,e,s,i,r){const n=uf;this[n(523)][n(396)](this.TAG_NAME,n(491)+i+n(421)+e+n(535)+s+n(501)+r)}[uf(415)](t,e,s,i,r){const n=uf;this[n(523)][n(396)](this[n(586)],"Synchronous KLV Metadata: pid="+i+n(421)+e+n(535)+s+", stream_id="+r)}[uf(645)](t,e,s){const i=uf;this[i(523)][i(396)](this[i(586)],i(650)+e+", stream_id="+s)}[uf(632)](t,e,s,i,r){const n=uf;this[n(523)][n(396)](this[n(586)],"SMPTE 2038 Metadata: pid="+i+n(421)+e+n(535)+s+n(501)+r)}[uf(405)](){const t=uf;if(null!=this[t(554)])return Math[t(417)](this[t(554)]);if(null!=this[t(647)]){return Math[t(417)](this[t(647)]/300/this[t(456)])}}[uf(514)](){const t=uf,e=this[t(378)],s=this[t(407)];let i=e[t(555)];s.samples.length>0&&(i=e[t(555)][t(499)](s[t(555)]),i=i[t(502)](((e,s)=>{const i=t;return e[i(511)]-s[i(511)]}))),i[t(543)]((e=>{const s=t,i=new Uint8Array(e[s(422)]);delete e[s(422)],e[s(443)]===L[s(411)]?this[s(432)]({...e,payload:i}):e[s(443)]===L[s(430)]&&this[s(470)]({...e,payload:i})})),e[t(555)]=[],e[t(588)]=0,s.samples=[],s[t(588)]=0}_doDecodeVideo(t){const e=uf,s=new Uint8Array(t[e(422)]);let i=null;i=t[e(620)]?oh(s,t.isIFrame):La(s,t[e(536)]),this.player[e(534)]({dts:t[e(511)],vbps:i[e(561)]}),t.isIFrame&&this[e(616)](t[e(511)]);let r=this[e(460)](i,t[e(536)]);this._doDecodeByTs(r,L[e(411)],t[e(511)],t[e(536)],t[e(509)])}_doDecodeAudio(t){const e=uf,s=new Uint8Array(t[e(422)]);this[e(523)][e(534)]({abps:s[e(561)]});let i=this[e(473)](s);this[e(505)](i,L[e(430)],t[e(511)],!1,0)}[uf(418)](){const t=uf;return this[t(495)]&&this[t(495)].byteLength||0}[uf(394)](t){const e=uf;let s=33554432*t[6]+131072*t[7]+512*t[8]+2*t[9]+(128&t[10])/128+this[e(401)];return s+4294967296>>3&3,n=(6&s[1])>>1,o=(240&s[2])>>>4,a=(12&s[2])>>>2,h=3!==(s[3]>>>6&3)?2:1,c=0,l=0,d=e(152);switch(r){case 0:c=Cf[a];break;case 2:c=_f[a];break;case 3:c=kf[a]}switch(n){case 1:o{const t=e;this[t(430)](),this[t(473)][t(423)](N.webcodecsAudioInitTimeout)}),1e3)),void zs(t);if(this[e(473)][e(443)]())this[e(473)][e(552)]({dfps:!0}),!this[e(473)]._times[e(536)]&&(this.player[e(419)][e(536)]=Ve(),this[e(473)][e(432)]()),this[e(473)].video.render({videoFrame:t,ts:t.timestamp}),this[e(473)].handleRender();else if(this.player.isPlayback())this[e(473)].updateStats({dfps:!0}),ii(this[e(473)][e(401)])?(this.player[e(410)][e(476)]&&this[e(473)][e(410)][e(445)](),this[e(473)][e(410)][e(442)]?this.player[e(396)].pushData({videoFrame:t,ts:t[e(389)]}):this[e(473)][e(396)][e(550)]({videoFrame:t,ts:t.timestamp})):this[e(473)][e(410)][e(537)]()&&this[e(473)][e(410)][e(442)]&&this[e(473)].video[e(393)]({videoFrame:t,ts:t[e(389)]});else if(this[e(473)][e(411)]())if(this[e(473)][e(468)].isSeeking()){const s=this.player[e(468)][e(446)];Math.abs(s-t[e(389)])<500&&(this[e(473)][e(468)][e(420)](),this.player[e(552)]({dfps:!0}),this.player[e(396)][e(550)]({videoFrame:t,ts:t[e(389)]}))}else this[e(473)][e(552)]({dfps:!0}),this.player[e(396)][e(550)]({videoFrame:t,ts:t[e(389)]})}}[Mf(553)](t){const e=Mf;this[e(473)].debugError(this[e(424)],e(449),t.code,t);const s=t[e(415)]();-1!==s[e(399)](mt[e(403)])?this[e(473)][e(436)](N.webcodecsUnsupportedConfigurationError,s):-1!==s.indexOf(mt.decoderFailure)?this[e(473)].emitError(N[e(461)],s):-1!==s[e(399)](mt.decodingError)?this[e(473)][e(436)](N[e(461)],s):-1!==s[e(399)](mt[e(480)])?this.player[e(436)](N[e(461)],s):-1!==s.indexOf(mt.hevcDecodingIsNotSupported)&&this.player[e(436)](N.webcodecsH265NotSupport,s)}[Mf(542)](t){const e=Mf;this[e(473)]&&(this[e(473)][e(464)]()?this[e(473)][e(546)](this[e(424)],e(484)):this[e(473)][e(443)]()?this[e(473)][e(548)][e(395)](t,t[e(389)]):this[e(473)][e(501)]()||this.player.isPlayVod()&&(this[e(473)].playVod[e(532)]()||this[e(473)][e(548)][e(395)](t,t[e(389)])))}[Mf(488)](t){const e=Mf;this[e(473)][e(521)](this[e(424)],e(469),t.code,t)}[Mf(426)](t,e,s,i){const r=Mf;if(this[r(473)])if(this[r(473)][r(464)]())this[r(473)][r(546)](this[r(424)],"decodeVideo() player is destroyed");else if(this[r(431)])if(!this[r(533)]&&s&&(this[r(533)]=!0),this.isDecodeFirstIIframe){if(this[r(528)]())return void this[r(473)][r(546)](this[r(424)],r(547));if(s&&0===t[1]){const e=15&t[0];let s={};if(e===H.h264){s=Da(t[r(457)](5))}else e===H[r(437)]&&(s=sh(t));const i=this[r(473)].video.videoInfo;i&&i.width&&i[r(460)]&&s&&s[r(503)]&&s[r(535)]&&(s[r(503)]!==i[r(456)]||s.codecHeight!==i[r(460)])&&(this[r(473)].debugWarn(this.TAG_NAME,r(428)+i[r(456)]+r(496)+i[r(460)]+",\n new width is "+s[r(503)]+r(444)+s[r(535)]+r(418)),this.isWidthOrHeightChanged=!0,this[r(473)][r(436)](N[r(513)],r(538)+i[r(456)]+"->"+i[r(460)]+r(391)+s[r(503)]+"->"+s[r(535)]))}if(this[r(485)])return void this[r(473)].debugWarn(this[r(424)],r(459));if(ti(t))return void this[r(473)][r(482)](this.TAG_NAME,r(416));if(t[r(471)]<12)return void this.player[r(546)](this.TAG_NAME,r(392)+t.byteLength);let i=!1,n=(new Date)[r(478)]();!this[r(500)]&&(this[r(500)]=n,i=!0);const o=n-this[r(500)];this[r(435)]=o,o>500&&!i&&this[r(473)][r(443)]()&&this.player[r(546)](this.TAG_NAME,r(475),o);const a=t[r(457)](5),h=new EncodedVideoChunk({data:a,timestamp:e,type:s?tt[r(467)]:tt[r(510)]});this[r(473)][r(423)](O[r(483)],e);try{this[r(543)].decode(h)}catch(t){this[r(473)][r(521)](this[r(424)],r(448),t);const e=t[r(415)]();-1!==e[r(399)](mt[r(549)])?this[r(473)].emitError(N[r(461)],e):-1!==e[r(399)](mt[r(526)])&&this[r(473)][r(436)](N.webcodecsDecodeError,e)}this[r(500)]=(new Date).getTime()}else this[r(473)][r(482)](this[r(424)],"VideoDecoder first frame is not iFrame");else if(s&&t[1]===yt[r(497)]){const e=15&t[0];if(this[r(473)][r(396)][r(504)]({encTypeCode:e}),e===H.h265&&!ls()){const t=$e();return this[r(473)][r(546)](this.TAG_NAME,"WebcodecsDecoder not support hevc decode",t.type,t.version),void this.player.emitError(N[r(545)])}!this[r(473)][r(419)].decodeStart&&(this[r(473)][r(419)][r(539)]=Ve());let s=null,i=null;const n=t[r(457)](5);if(e===H[r(531)]?(i=Da(n),s={codec:i[r(413)],description:n}):e===H.h265&&(i=ih(n),s={codec:i.codec,description:n}),!s||s&&!s[r(413)]||i&&0===i.codecWidth&&0===i[r(535)])return this[r(473)][r(546)](this[r(424)],"decodeVideo and webcodecs configure is",JSON[r(438)](s)),void this[r(473)][r(436)](N[r(525)],r(388));s[r(417)]=i.codecHeight,s[r(517)]=i[r(503)],!this.isInitInfo&&(this[r(473)][r(482)](this[r(424)],"updateVideoInfo: "+i[r(503)]+","+i.codecHeight),this[r(473)][r(396)][r(504)]({width:i[r(503)],height:i[r(535)]}),this[r(473)].video[r(489)](),this[r(422)]=!0),this.player[r(440)]&&this.player[r(414)].recordType===p[r(502)]&&this[r(473)][r(440)].initMetaData(t,e),this[r(473)].video.bindMediaStream(),this[r(473)][r(482)](this[r(424)],r(524)+s[r(413)]);try{s[r(529)]=!0,s[r(394)]=r(541),this.decoder[r(398)](s),this.hasInit=!0}catch(t){this[r(473)][r(521)](this[r(424)],r(387),t[r(499)],t);const e=t[r(415)]();-1!==e[r(399)](mt.hevcDecodingIsNotSupported)?this[r(473)].emitError(N.webcodecsH265NotSupport,e):this[r(473)][r(436)](N.webcodecsDecodeConfigureError,e)}}else this.player.debugWarn(this.TAG_NAME,r(463)+s+r(492)+t[1]+r(452))}[Mf(491)](t,e){const s=Mf;if(this[s(473)])if(this.player[s(464)]())this[s(473)][s(546)](this[s(424)],s(434));else if(this.hasAudioInit){if(Ae(t))return void this[s(473)][s(482)](this[s(424)],s(522));if(this[s(408)](),this[s(533)]){if(this.isAudioDecodeStateClosed())return void this[s(473)][s(546)](this[s(424)],s(505));const i=this[s(544)]?t.slice(2):t[s(457)](1),r=i[s(515)]/this[s(473)].audio[s(429)].sampleRate*1e3,n=new EncodedAudioChunk({type:s(467),data:i,timestamp:e,duration:parseInt(r,10)});try{this[s(390)][s(507)](n)}catch(t){this[s(473)][s(521)](this.TAG_NAME,s(498),t),t.toString()}}}else{const e=t[0]>>4,i=t[0]>>1&1,r=e===Q.MP3,n=e===Q[s(506)],o=e===Q[s(494)],a=Q.MULAW;let h="";h=n?i?16:8:0===i?8:16;const c={codec:"",numberOfChannels:"",sampleRate:""};let l=null;if(n||r){let e=null;if(Ae(t)){const i=t[s(457)](2);e=Se(i),e&&(c[s(413)]=e[s(407)],c[s(509)]=e[s(530)],c[s(493)]=e[s(493)]),l=i,this[s(544)]=n}else r&&(e=Pf(t),e&&(c[s(413)]=Wt.mp3,c[s(509)]=e.channelCount,c.sampleRate=e[s(433)]))}else(a||o)&&(c[s(413)]=o?Wt[s(453)]:Wt.ulaw,c[s(509)]=1,c.sampleRate=8e3);if(c.codec&&c[s(509)]&&c[s(493)]){!this[s(508)]&&(this[s(473)][s(548)][s(490)]({encTypeCode:e,channels:c[s(509)],sampleRate:c[s(493)],depth:h}),this[s(508)]=!0),this[s(473)][s(440)]&&this.player[s(414)][s(409)]===p[s(502)]&&l&&this[s(473)][s(440)][s(486)](l),this[s(473)][s(482)](this[s(424)],s(402)+c[s(413)]);try{this[s(390)][s(398)](c),this[s(430)](),this[s(458)]=!0,null===this[s(447)]&&(this[s(447)]=setTimeout((()=>{const t=s;this[t(408)](),this.player[t(423)](N[t(404)])}),1e3))}catch(t){this[s(473)][s(521)](this[s(424)],"configure audio error",t[s(499)],t),t[s(415)]()}}}}[Mf(412)](t){const e=Mf;this[e(465)]&&(this[e(465)][e(551)]=t)}[Mf(430)](){const t=Mf;this[t(439)]&&(clearTimeout(this[t(439)]),this[t(439)]=null)}_clearAudioNoDataCheckTimeout(){const t=Mf;this[t(447)]&&(clearTimeout(this.audioSourceNoDataCheckTimeout),this[t(447)]=null)}[Mf(479)](){return this[Mf(435)]}isDecodeStateClosed(){const t=Mf;return"closed"===this[t(543)][t(523)]}[Mf(421)](){const t=Mf;return"configured"===this[t(543)][t(523)]}[Mf(425)](){const t=Mf;return this[t(543)][t(523)]===t(527)}[Mf(519)](){const t=Mf;return this[t(390)][t(523)]===t(441)}[Mf(477)](){return"configured"===this[Mf(390)].state}[Mf(405)](){const t=Mf;return this.decoderAudio[t(523)]===t(527)}}function Uf(){const t=['">\n ',"754389PfHqwe","24yECmpV","6315834WLpmDH","退出全屏","
      ","418053rxZjcz","操作盘激活","电子放大","物品识别激活","reduce","关闭电子放大","2910JNsGeB","性能面板","物品识别","12807tzGQDE",'',"遮挡物检查","保存日志","性能面板激活","操作盘","1344456xIJiFa","人脸识别激活","5677915lrYCzJ","1730212jDwgBq","人脸识别","7qMJtRu"];return(Uf=function(){return t})()}function jf(t,e){const s=Uf();return(jf=function(t,e){return s[t-=425]})(t,e)}const Nf=jf;!function(t,e){const s=jf,i=t();for(;;)try{if(620297===parseInt(s(426))/1+parseInt(s(449))/2+-parseInt(s(431))/3*(parseInt(s(427))/4)+parseInt(s(448))/5+parseInt(s(428))/6*(-parseInt(s(451))/7)+parseInt(s(446))/8+parseInt(s(440))/9*(-parseInt(s(437))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Uf);const Vf={play:"播放",pause:"暂停",audio:"",mute:"",screenshot:"截图",loading:"",fullscreen:"全屏",fullscreenExit:Nf(429),record:"录制",recordStop:"停止录制",narrow:"缩小",expand:"放大",ptz:Nf(445),ptzActive:Nf(432),zoom:Nf(433),zoomStop:Nf(436),close:"关闭",performance:Nf(438),performanceActive:Nf(444),face:Nf(450),faceActive:Nf(447),object:Nf(439),objectActive:Nf(434),occlusion:Nf(442),occlusionActive:"遮挡物检查激活",logSave:Nf(443)};var zf=Object.keys(Vf)[Nf(435)](((t,e)=>{const s=Nf;return t[e]='\n \n
      电子放大
      \n
      ',"$ptzWiperClose",'\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n ',"$objectDetect","playbackTF","recordStop","$ptzCruisePause",".jb-pro-ptz-focus-near",".jb-pro-ptz-wiper-open",'\n
      \n ',".jb-pro-ptz-aperture-near",'
      ',"$zoom",".jb-pro-controls-playback-current-time-text","$playbackProgressHover","\n\n ",".jb-pro-controls-left","controlType",'\n
      \n
      \n \n \n 光圈+\n \n
      \n
      \n \n \n 光圈-\n \n
      \n
      \n ',"3848973qLiJxJ","$screenshot",'
      \n
      ',"$fullscreenExit","normal","$volumeOn",".jb-pro-zoom-narrow","showRateBtn","$ptzControlCircular",')">
      ',"occlusionActive",".jb-pro-icon-audio","ptzFocusShow",".jb-pro-quality-menu-list",".jb-pro-playback-time-one-wrap","defineProperty","18wVqzWY","\n ","$ptzExpand","$qualityText","$controls",".jb-pro-speed-menu","ptzShowType","$tipsMessage",".jb-pro-tips-message-close",'
      \n
      ',"$playbackProgressTime",".jb-pro-contextmenus","$controlsRight",'
      ','\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00:00
      \n
      \n
      \n
      \n
      \n ','
      \n
      \n
      \n
      \n
      00:00:00
      \n
      ',".jb-pro-speed-icon-text","$playbackCurrentTimeText",".jb-pro-loading","$speedText","loadingIcon",'\n
      \n
      \n
      \n ',".jb-pro-progress-indicator",".jb-pro-playback-expand","$play","mute","$scaleMenuList","performance",'\n
      \n
      \n
      \n
      \n
      \n
      \n ',".jb-pro-controls-item-html","\n ","$scaleMenu","24264ISbrJW","operateBtns",".jb-pro-tips-message","hasControl","controlAutoHide",'\n
      \n
      \n
      \n
      \n ',"$speedMenu","hasVideo",".jb-pro-ptz-fog-close",".jb-pro-loading-bg-image","jb-pro-controls-show",".jb-pro-volume","aiFace",'
      ','\n
      \n
      \n
      \n
      \n
      \n
      \n
      00:00
      \n
      \n
      \n ',"$playbackProgressTip","add",".jb-pro-controls-playback-time-scroll","insertAdjacentHTML","7125995fMyabY",'
      ',".jb-pro-volume-panel-wrap","playVod",'
      ',"showBandwidth","$ptz","$ptzActive","$poster","$playbackNarrow","$container",".jb-pro-quality-menu","$objectDetectActive",".jb-pro-quality-icon-text","ptzCruiseShow",".jb-pro-tips-message-content","$loadingBg",'\n
      \n
      \n
      \n
      \n
      \n
      \n ',"9285180sCqYDp",'\n
      \n
      \n ',"$pause",".jb-pro-controls","$recording",".jb-pro-volume-panel-handle",".jb-pro-speed","$occlusionDetect","$volumeHandle",".jb-pro-ptz-cruise-play","$playBig",".jb-pro-close","expand","$playbackProgressPlayed","querySelector",".jb-pro-performance-panel",".jb-pro-zoom-controls",'\n
      \n \n
      \n ',"$playbackCurrentTime","$controlsInner","\n ","3984496afFcSS","performanceActive",".jb-pro-progress-tip","$performancePanel","$ptzApertureFar",'
      ',"
      \n
      \n ",".jb-pro-record-stop","$ptzFocusFar","$tipsMessageClose","$playbackProgressCache",'\n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n ',"object","aiObject","266Vndxxt",'\n
      \n ',"quality","$faceDetect",".jb-pro-object","$volumeOff","$loadingText",'
      ',"4901WMvjWk",".jb-pro-loading-bg",".jb-pro-scale-icon-text","jb-pro-controls-show-auto-hide","zoom",".jb-pro-progress-cache","\n
      \n
      \n ","simple",'\n
      \n
      \n \n \n 聚焦+\n \n
      \n
      \n \n \n 聚焦-\n \n
      \n
      \n ',"$record","$controlHtml","screenshot","$loading","$controlsPlaybackBtns","134euJBmt",".jb-pro-scale-menu",'
      ',"$close","pause","$ptzCruisePlay","$tipsMessageContent","logSave",'\n
      \n
      \n ','
      ',"$playbackTimeListSecond","$ptzFogClose",".jb-pro-ptz-wiper-close","\n ","$ptzFogOpen",".jb-pro-recording",".jb-pro-logSave",".jb-pro-face-active","\n
      \n
      \n
      \n ","fullscreen","\n ","$recordStop",'\n
      \n
      ',"
      \n
      \n ","showControl",'\n
      \n
      \n \n \n 透雾开\n \n
      \n
      \n \n \n 透雾关\n \n
      \n
      \n ',"$volume","ptzZoomShow",".jb-pro-ptz-fog-open","$occlusionDetectActive",".jb-pro-volume-panel",'
      ',"$ptzApertureNear",".jb-pro-control-progress-simple",'\n
      \n
      \n
      \n
      \n
      \n
      \n ',"record","$faceDetectActive","$zoomControls",".jb-pro-zoom-expand",".jb-pro-play-big","$speed","$scaleText","$volumePanelWrap",'\n
      \n
      \n \n \n 巡航开\n \n
      \n
      \n \n \n 巡航关\n \n
      \n
      \n ',".jb-pro-ptz-aperture-far","playType","narrow","ptzActive",".jb-pro-controls-playback-time-list","$zoomNarrow","868432dSSKqL","$playbackTimeListOne",".jb-pro-ptz-controls",".jb-pro-ptz-cruise-pause","$zoomStop2","$playbackTimeList",".jb-pro-ptz-expand",".jb-pro-record","background","faceActive","$volumePanelText",'
      ',".jb-pro-performance-active","
      ",'
      ',"$playbackTimeScroll","zoomStop",'
      ',"
      \n
      \n ","$volumePanel","occlusion",".jb-pro-play",".jb-pro-occlusion","\n\n ",'\n
      \n
      \n \n \n 雨刷开\n \n
      \n
      \n \n \n 雨刷关\n \n
      \n
      \n ','
      ',"ptzFogShow","querySelectorAll","$recordingStop","classList","beforeend","close",".jb-pro-playback-narrow",".jb-pro-scale-menu-list","$playbackTimeInner","$zoomExpand","$ptzWiperOpen","$fullscreen"];return(Wf=function(){return t})()}function Gf(t,e){const s=Wf();return(Gf=function(t,e){return s[t-=126]})(t,e)}!function(t,e){const s=Gf,i=t();for(;;)try{if(741135===-parseInt(s(221))/1*(-parseInt(s(235))/2)+parseInt(s(350))/3+-parseInt(s(285))/4+parseInt(s(155))/5+-parseInt(s(136))/6*(parseInt(s(213))/7)+parseInt(s(199))/8*(-parseInt(s(366))/9)+-parseInt(s(178))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Wf);function Hf(t,e){const s=Qf();return(Hf=function(t,e){return s[t-=105]})(t,e)}function Kf(t,e){let s=!1;return t.forEach((t=>{const i=Hf;!s&&t[i(127)]<=e&&t[i(116)]>e&&(s=!0)})),s}function Qf(){const t=[":30",'\n
      \n ','">',"jb-pro-playback-time-title-tips-left","endTimestamp","hour","title"," start","382038zWWNUk","1209252YTIuzS","rafId","requestAnimationFrame",'\n
      \n
      \n ");const i=s[l];i&&(u+=n(124)+i[n(117)]+'" data-min="'+i[n(134)]+'" data-second="'+i[n(109)]+n(113)+i[n(118)]+"
      \n "),l+=1}o&&i[n(106)][n(105)]("beforeend",o),u&&i.$playbackTimeListSecond[n(105)](n(140),u),c+=1,c0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(127)];for(let r=0;r<1440;r++){const n=r%60==0;let o=!1;i&&(o=Kf(e,Ts(i,r))),s.push({title:Es(r),timestamp:r,dataType:t(134),hasRecord:o,isStart:n})}return s}(t);Yf(s,function(){const t=Hf;let e=[];for(let s=0;s<24;s++){let i=s+t(108);s<10&&(i="0"+i),e[t(129)]({title:i,hour:s,min:0,second:0})}return e}(),e)}function Jf(t,e){const s=function(){const t=Hf;let e=arguments[t(133)]>0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(127)];for(let r=0;r<1440;r++){let n=60*r,o=n%1800==0,a=!1;i&&(a=Kf(e,ks(i,n))),s[t(129)]({title:Is(n),timestamp:n,dataType:t(109),hasRecord:a,isStart:o});let h=60*r+30;o=h%1800==0,i&&(a=Kf(e,ks(i,h))),s[t(129)]({title:Is(h),timestamp:h,dataType:t(109),hasRecord:a,isStart:o})}return s}(t);Yf(s,function(){const t=Hf;let e=[];for(let s=0;s<24;s++){let i=s+t(108),r=s+t(125);s<10&&(i="0"+i,r="0"+r),e.push({title:i,hour:s,min:0,second:0}),e.push({title:r,hour:s,min:30,second:0})}return e}(),e)}function Xf(t,e){const s=function(){const t=Hf;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{})[t(127)];for(let r=0;r<144;r++)for(let n=0;n<60;n++){let o=10*n+600*r,a=o%600==0,h=!1;i&&(h=Kf(e,ks(i,o))),s[t(129)]({title:Is(o),timestamp:o,dataType:"second",isStart:a,hasRecord:h})}return s}(t);Yf(s,function(){const t=Hf;let e=[];for(let s=0;s<24;s++){let i=s+t(108);s<10&&(i="0"+i),e[t(129)]({title:i,hour:s,min:0,second:0});for(let r=1;r<6;r++){let n=r+"0";e[t(129)]({title:i[t(107)](":00",":"+n),hour:s,min:10*r,second:0})}}return e}(),e)}function Zf(t,e){const s=function(){const t=Hf;let e=arguments[t(133)]>0&&void 0!==arguments[0]?arguments[0]:[],s=[];const i=(e[0]||{}).startTimestamp;for(let r=0;r<288;r++)for(let n=0;n<60;n++){let o=5*n+300*r,a=o%300==0,h=!1;i&&(h=Kf(e,ks(i,o))),s[t(129)]({title:Is(o),timestamp:o,dataType:t(109),isStart:a,hasRecord:h})}return s}(t);Yf(s,function(){const t=Hf;let e=[];for(let s=0;s<24;s++){let i=s+t(108);s<10&&(i="0"+i),e[t(129)]({title:i,hour:s,min:0,second:0}),e[t(129)]({title:i[t(107)](t(108),t(139)),hour:s,min:5,second:0});for(let r=1;r<6;r++){let n=r+"0",o=r+"5";e[t(129)]({title:i[t(107)](t(108),":"+n),hour:s,min:10*r,second:0}),e[t(129)]({title:i.replace(t(108),":"+o),hour:s,min:10*r+5,second:0})}}return e}(),e)}function $f(t){const e=sm,s=Math.floor(t/3600),i=Math[e(381)]((t-3600*s)/60),r=Math[e(381)](t-3600*s-60*i);return(s>0?[s,i,r]:[i,r])[e(374)]((t=>t<10?"0"+t:String(t)))[e(378)](":")}function tm(){const t=["1324316itFWhZ","644704deNHvT","165027EmROng","9408852wXMpJW","map","15928iTAAjR","getBoundingClientRect","205nAsJwK","join","clientWidth","firstElementChild","floor","20zuuWVh","clientX","714537zXNusn","$playbackProgress","touches","14LUFITk","958866qNXLuM"];return(tm=function(){return t})()}function em(t,e,s){const i=sm,r=t[i(366)],{left:n}=r[i(376)](),o=ze((qe()?s[i(367)][0][i(364)]:s.pageX)-n,0,r.clientWidth),a=parseInt(o/r[i(379)]*e,10);return{second:a,time:$f(a),width:o,percentage:ze(o/r.clientWidth,0,1)}}function sm(t,e){const s=tm();return(sm=function(t,e){return s[t-=364]})(t,e)}function im(t,e){return ze(t/e,0,1)}function rm(){const t=["setAttribute","156800ycgdyj","keys","beforeend","clientWidth","800362zmbCad","remove","from","forEach","firstChild","classList","appendChild","lastChild","querySelectorAll","contains","2745138vDLLEa","style","41232PBqyKc","add","50qObfHU","9970695KSZaSN","replaceChild","max","querySelector","116ZEJdsK","getComputedStyle","left","392mtYtHZ","5AirfOy","indexOf","children","width","getPropertyValue","top","100052atwszH","length","aria-label","createElement","insertAdjacentHTML","height","1508658nLHCJN","data-balloon-pos","composedPath","documentElement","innerWidth","removeChild","clientHeight","parentNode"];return(rm=function(){return t})()}function nm(t,e){const s=lm;return t[s(254)][s(214)](e)}function om(t,e){const s=lm;return t[s(254)][s(250)](e)}function am(t,e){const s=lm;return t[s(254)][s(210)](e)}function hm(t,e){const s=lm;return e instanceof Element?t[s(255)](e):t.insertAdjacentHTML(s(247),String(e)),t.lastElementChild||t[s(208)]}function cm(t,e,s){const i=lm;return t&&t[i(212)]&&gs(e)&&(t[i(212)][e]=s),t}function lm(t,e){const s=rm();return(lm=function(t,e){return s[t-=208]})(t,e)}function dm(t,e){const s=lm;return t[s(238)]&&t.composedPath()[s(225)](e)>-1}function um(t){const e=lm;let s=!1;return t&&t[e(243)]&&(t[e(243)][e(241)](t),s=!0),s}function pm(){const t=["loading","kbpsShow","kBps","$loadingBg","% - ","$poster","px) translateY(","px) translateY(-",'\n
      \n 网络延迟(ms) ',"playbackTime","abps","innerHTML","control","mseDelay","showAfterLoading","isFullscreen","_serverInfo","{h}:{i}:{s}","volumechange",'\n
      \n
      \n ",'
      \n
      \n
      \n 播放时长(s) ',"rotate(0)","mseDecodeAudio","listenWindowResizeAuoResize","remove loading bg image","audio","streamTimestamp","tabindex",'\n
      \n
      \n 总延迟(网络+解码)(ms) ',"hasVideo","jsHeapSizeLimit","isUseHls265","isInitPlayer",'\n
      \n 音频显示时间(ms) ',"playingTimestamp","274612vlQVsP","destroy",'\n
      \n
      \n 可使用的内存 ',"encType","controlsPlaybackBtnsRect","true","$ptzActive","data","change",'\n
      \n 解封装模式 ',"_opt","controlsLeftRect","$zoomStop","audioTs","isUseFpsRender",'\n
      \n
      \n videoBuffer缓存时间(ms) ',"jb-pro-fullscreen-android-rotate","$scaleMenuItems","$performance",'\n
      \n 音视频同步时间戳(ms) ',"playVodTime","jb-pro-scale-menu-item-active",'\n
      \n 播放器版本 ',"mseTs","dfps","fiveMin","getVideoPlaybackQuality","transform",'\n
      \n 音频格式 ',"backgroundLoadingShow","19237048WUyFGU","isPlayback","about:blank","changePercisitionInterval","style","fullscreen","$playbackProgressCache","_times","isAudioNotMute","$playbackNarrow","aria-hidden","getAudioEngineType","$controlHtml","operateBtns","streamBuffer",'\n
      \n
      \n 视频录制大小 ',"px) rotate(-90deg)","$ptzControl","固定FPS",'\n
      \n
      \n 请求响应(ms) ','\n
      \n 解码前-解码后延迟(ms) ',"jb-pro-quality-menu-item-active",'\n
      \n
      \n MSE待解码帧 ',"currentPts",'\n
      \n 内存大小限制 ',"$playbackTimeListSecond",'\n
      \n 播放倍率 ',"msePendingBuffer",'\n
      \n
      \n MSE播放模式 ',"display","extendDomConfig",'\n
      \n
      \n 视频峰值帧率(fps) ','\n
      \n
      \n ","$playbackProgressTime",'\n
      \n WCS解码间隔(ms) ',"label","halfHour","destroys",'\n
      \n 网络请求组件 ',"videoInfo","is30Min","cancelAnimationFrame","dataset","recordingTimestamp","Control","playVodTimeCache",'\n
      \n
      \n Video已丢弃帧 ',"audioSyncVideo","$qualityMenuItems",'\n
      \n
      \n 解码帧率(fps) ',"\n
      \n ","hlsDemuxVideoLength","emit","zooming",'\n
      \n CPU压力情况 ',"tenMin","playFailedAndPausedShowPlayBtn","totalJSHeapSize",".jb-pro-scale-menu-item","jb-pro-ptz-controls-show","totalDuration","find","$controls","beforeend","translateX(0) translateY(0) rotate(0)","$playbackProgressPlayed","is1Min","getRenderType","getRecordingByteLength","querySelector","setAttribute","querySelectorAll","$objectDetectActive","length","$extendDom","rafId","getCpuLevel",'\n
      \n
      \n MSE解码时间(ms) ',"defaultView","$performancePanel","videoCurrentTimeDiff","$zoomControls","playType","streamResponseTimestamp","defineProperty","viewResizeChange","flex","canvas","$occlusionDetect","getHours","3291BxEhxC","is60Min",'\n
      \n
      \n 音频采样率 ',"off","$performanceActive","playing","3198705gsdzxg",'\n
      \n 窗口下标 ',"
      \n ","$zoom","getMinutes","debugUuid","scale","playVodConfig","hlsDemuxAudioLength","contentDocument",'倍
      \n
      \n
      \n 播放模式 ',"$playbackCurrentTimeText","getSeconds","removeLoadingBgImage","insertAdjacentHTML","$speed","playVodWaiting","maxFps","$pause","getStreamType","playVodEndedAndShowPlayBtn","$ptz",'\n
      \n
      \n 缓冲时长(ms) ',"playback","isStreamTsMoreThanLocal","$scaleMenu","isPlaying","$scaleMenuList","$speedMenuList","simple","$faceDetectActive",'\n
      \n
      \n 视频待渲染帧 ',"$playbackTimeListOne","showPrecisionBtn","faceDetectActive",'
      \n HLS缓冲时长(ms) ',"hasControl","$volumeOn",'\n
      \n
      \n 视频码率(bit) ',"qualityConfig","playVod","$volumePanelText",'\n
      \n 是否在丢帧 ',"px)","getCanvasRenderType","$faceDetect","getStreamFps","debugLog","remove","mseDecodePlaybackRate","9qDBEia","decodeTimestamp","$volume",'\n
      \n
      \n 音频缓冲帧 ',"100%","\n ","videoCurrentTime","$playbackProgressIndicator","audioDemuxBuffer","$speedMenu","height","useWebFullScreen","controlsPlaybackTimeInner","isWebrtcH264","rotate(-90deg)",'\n
      \n
      \n 音频引擎 ',"width",'\n
      \n
      \n 视频待解码帧 ',"none","usedJSHeapSize","channels","speed","rateConfig","occlusionDetectActive","top","pushLatestDelay","audioBuffer",'\n
      \n 音频码率(bit) ','\n
      \n
      \n 已使用的内存 ','\n
      \n MSE缓冲时长(ms) ',"quality","resize","1153704AMbGUn",'\n
      \n
      \n ',"rect","extendBtnList","allTimestamp","left","scaleType","volume"," / ","videoSmooth","value",'\n
      \n
      \n
      \n HLS待解码帧 ','\n
      \n
      \n 解码(ms) ',"demuxBuffer","$objectDetect","isEnded","events","$screenshot","jb-pro-object-",'\n
      \n
      \n 解封装(ms) ',"$volumeOff","playbackRate","\n
      \n ","multiIndex","
      \n
      \n ","block","forEach","isPlayFailedAndPaused","add",'
      \n 是否超过一倍率推流 是\n
      \n ',"videoIframeIntervalTs","$recordingTime",'
      \n
      \n
      \n 音频通道 ',"translateX(-50%) translateY(0) rotate(0)","$volumeHandle","video","setRotate","$playbackExpand","hlsDelay","386680Kprzgi",'\n
      \n 视频显示时间(ms) ','\n
      \n
      \n MSE缓存时长(s) ',"innerText","$volumePanel",'\n
      \n 音频播放模式 ',"playbackConfig","buf","playVodRateChange",'\n
      \n 服务器信息 ',"\n
      \n ","playbackRateChange","isPlayVod",'\n
      \n 固定FPS ',"createdMoment",'\n\n
      \n 播放模式 ',"showRateBtn","src","getRecordingDuration","isAudioPlaybackRateSpeed","$playbackCurrentTime","playVodSeek","controlType","classList","objectDetectActive","$iconWrap","hidden","$fullscreen","jb-pro-speed-menu-item-active","androidMobileFullscreenRotate","pTs","streamQualityChange",'\n
      \n
      \n 视频帧率(fps) ',"showPerformance","recording","useWCS","$record",'\n
      \n UUid ',"showControl","is5Min","scaleConfig",'\n
      \n
      \n 解码模式 ',"oneHour","push","disabled","$occlusionDetectActive","totalDelayTs","fps","$container","audioBufferDelayTs",'\n
      \n
      \n video间隔时间(s) ',"$loadingBgImage","$playbackTimeScroll","removeChild","translateX(","mseVideoBufferDelayTime","\n
      \n ","scrollLeft",'
      \n
      \n
      \n 页面开始渲染(ms) ','\n
      \n video显示时间(s) ',"isInMulti",'\n
      \n
      \n HLS待解码视频帧 ',"$loading","getDemuxType","1298VAdWtu","isPlayer",'\n
      \n 缓存时长(ms) ',"$speedMenuItems","$playBig",'\n
      \n
      \n 初始化到页面渲染(ms) ',"playbackCacheDataDuration","$playbackTimeInner","normal",'\n
      \n
      \n HLS待解码音频帧 ',"is10Min","$speedText",'\n
      \n
      \n 音频待解码帧 ',"3573654graxWd"];return(pm=function(){return t})()}function fm(t,e){const s=pm();return(fm=function(t,e){return s[t-=434]})(t,e)}!function(t,e){const s=Hf,i=t();for(;;)try{if(404885===parseInt(s(120))/1+-parseInt(s(111))/2+-parseInt(s(121))/3+parseInt(s(112))/4*(parseInt(s(138))/5)+parseInt(s(128))/6*(-parseInt(s(130))/7)+parseInt(s(132))/8+-parseInt(s(144))/9*(-parseInt(s(137))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Qf),function(t,e){const s=sm,i=t();for(;;)try{if(398407===-parseInt(s(365))/1+parseInt(s(368))/2*(-parseInt(s(372))/3)+-parseInt(s(375))/4*(parseInt(s(377))/5)+-parseInt(s(369))/6+-parseInt(s(370))/7+-parseInt(s(371))/8+parseInt(s(373))/9*(parseInt(s(382))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(tm),function(t,e){const s=lm,i=t();for(;;)try{if(565899===parseInt(s(249))/1+parseInt(s(220))/2*(parseInt(s(213))/3)+-parseInt(s(230))/4+parseInt(s(224))/5*(parseInt(s(236))/6)+-parseInt(s(223))/7*(-parseInt(s(245))/8)+-parseInt(s(216))/9+-parseInt(s(215))/10*(parseInt(s(211))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(rm),function(t,e){const s=fm,i=t();for(;;)try{if(363417===-parseInt(s(625))/1+-parseInt(s(575))/2*(parseInt(s(757))/3)+-parseInt(s(511))/4+-parseInt(s(763))/5+parseInt(s(470))/6+-parseInt(s(588))/7+parseInt(s(655))/8*(parseInt(s(438))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pm);var mm=(t,e)=>{const s=fm,{events:{proxy:i}}=t;let r=null,n=null,o=null,a=null;if(t[s(635)][s(613)]){r=document.createElement("object"),n=s(490)+Js(),r[s(737)](s(665),s(630)),r[s(737)](s(617),-1),r.setAttribute("id",n),r[s(482)]="text/html",r[s(632)]=s(657),We(r,{display:s(497),position:"absolute",top:"0",left:"0",height:s(442),width:s(442),overflow:s(537),pointerEvents:s(456),zIndex:"-1"}),o=t[s(454)],a=t.height;const e=os((()=>{const e=s;(t[e(454)]!==o||t[e(448)]!==a)&&(o=t[e(454)],a=t[e(448)],t[e(719)](O[e(469)]))}),500);i(r,"load",(()=>{const t=s;i(r[t(772)][t(745)],t(469),(()=>{e()}))})),t[s(559)].appendChild(r)}t.on(O[s(626)],(()=>{const e=s;if(r)try{if(!um(r)){const s=t[e(559)][e(736)]("#"+n);s&&t[e(559)]&&t[e(559)][e(564)](s)}}catch(t){}l&&(clearInterval(l),l=null),d=null,p=null,f=0,r=null,n=null,o=null,a=null})),t.on(O[s(607)],(()=>{!function(t){const i=s;if(0===t)We(e[i(800)],i(684),i(456)),We(e[i(492)],i(684),"flex"),We(e[i(506)],i(462),"48px");else if(e[i(506)]&&e[i(515)]){const s=Ge(e[i(515)],i(448))||60,r=Ge(e[i(506)],i(448)),n=s-(s-r)*t-r;We(e[i(506)],i(462),n+"px"),We(e.$volumeOn,i(684),i(753)),We(e.$volumeOff,"display",i(456))}e[i(804)]&&(e[i(804)][i(600)]=parseInt(100*t))}(t[s(477)])})),t.on(O[s(589)],(i=>{const r=s;e[r(622)]=!1,We(e[r(573)],r(684),r(i?753:456)),(ii(t[r(635)][r(654)])&&ei(i)||ii(i))&&We(e[r(594)],"display",r(456)),i&&(We(e.$playBig,"display",r(456)),We(e.$tipsMessage,r(684),r(456)),e.extendBtnList[r(498)]((t=>{const e=r;t[e(525)]===Ht[e(589)]&&(t.$iconWrap&&We(t[e(536)],e(684),"flex"),t[e(688)]&&We(t.$activeIconWrap,e(684),e(456)))}))),!i&&t[r(635)][r(685)][r(603)]&&e[r(741)]&&We(e.$extendDom,r(684),r(497)),!i&&t.getRenderType()===A[r(754)]&&ii(t[r(635)][r(694)])&&h()})),t.on(O[s(776)],(()=>{h()}));const h=()=>{const i=s;e.$loadingBgImage&&e[i(592)]&&e[i(562)][i(528)]&&(t[i(435)](i(711),i(614)),e.$loadingBgImage.width=0,e[i(562)][i(448)]=0,e[i(562)][i(528)]="",We(e[i(592)],i(684),i(456)))},c=e=>{const i=s;Ps(e)===t[i(559)]&&(t[i(660)],y(),t[i(635)].androidMobileFullscreenRotate&&qe()&&(t[i(660)]?(t[i(559)][i(534)][i(500)]("jb-pro-fullscreen-android-rotate"),t[i(508)](270)):(t[i(559)][i(534)][i(436)](i(641)),t[i(508)](0)),g()))};let l=null,d=null,p=null,f=0;const g=()=>{const e=s;d=t[e(472)],d[e(454)]=parseInt(d[e(454)],10),d[e(448)]=parseInt(d[e(448)],10),f=0,l=setInterval((()=>{const s=e,i=re[s(604)];p=t[s(472)],p[s(454)]=parseInt(p[s(454)],10),p.height=parseInt(p.height,10);const r={width:screen.width,height:screen[s(448)]},n=p.width===d[s(454)]&&p[s(448)]===d[s(448)],o=!i||r.width-p[s(454)]<10&&r[s(448)]-p[s(448)]<10;if(n&&o||f>=5)return l&&(clearInterval(l),l=null),void w((()=>{E()}));d=p,f++}),1e3)},y=i=>{const r=s;if(ii(t[r(789)]()))return;let n=ms(i)?i:t[r(660)];We(e[r(697)],r(684),n?"flex":r(456)),We(e[r(538)],r(684),n?r(456):"flex")},b=()=>{const e=s;return t[e(635)][e(749)]===u.playbackTF&&t[e(635)][e(517)][e(549)]},w=i=>{const r=s;qe()&&e.$controls&&(t._opt[r(449)]||t[r(635)][r(540)])&&setTimeout((()=>{const s=r;if(t[s(660)]){const i=t.getControlHeight();let r=t[s(448)]/2-t[s(454)]+i/2,n=t[s(448)]/2-i/2;if(e[s(729)][s(659)].transform=s(565)+-r+s(596)+n+"px) rotate(-90deg)",e[s(748)]){const i=156,r=30,n=t[s(454)]/2+i/2-r/2;e[s(748)].style.transform=s(565)+-n+s(595)+t[s(448)]/2+s(671)}if(e[s(692)]){const i=101,r=20,n=t[s(454)]/2+i/2-r/2;e.$recording[s(659)][s(652)]=s(565)+-n+s(595)+t.height/2+s(671)}e.$ptzControl&&(e[s(672)][s(659)][s(652)]=s(452))}else e[s(729)][s(659)][s(652)]=s(731),e.$zoomControls&&(e[s(748)].style[s(652)]=s(505)),e[s(692)]&&(e.$recording[s(659)].transform=s(505)),e.$ptzControl&&(e[s(672)][s(659)][s(652)]=s(611));i&&i()}),10)};try{re.on("change",c),t[s(488)][s(704)][s(554)]((()=>{const t=s;re[t(760)](t(633),c)}))}catch(t){}t.on(O.webFullscreen,(t=>{qe()&&(y(t),w((()=>{E()})))})),t.on(O[s(545)],(()=>{const i=s;t[i(762)]&&(We(e[i(547)],i(684),t.recording?i(456):i(753)),We(e.$recordStop,i(684),t[i(545)]?i(753):i(456)),(t[i(635)][i(799)]||t[i(635)].isShowRecordingUI)&&(We(e.$recording,i(684),t[i(545)]?i(753):i(456)),ii(t.recording)&&e[i(503)]&&(e[i(503)][i(600)]=Ss(0))))})),t.on(O[s(710)],(t=>{const i=s;e.$recordingTime&&(e[i(503)].innerHTML=Ss(t))})),t.on(O[s(720)],(()=>{const i=s;t[i(762)]&&(We(e[i(766)],"display",t[i(720)]?i(456):i(753)),We(e[i(637)],i(684),t.zooming?"flex":i(456)),(t[i(635)][i(799)]||t[i(635)].isShowZoomingUI)&&We(e.$zoomControls,i(684),t.zooming?i(753):"none"))})),t.on(O[s(762)],(t=>{S(t)}));const S=i=>{const r=s;i?(We(e[r(696)],r(684),r(456)),We(e.$playBig,r(684),r(456))):(t[r(499)]&&ii(t._opt[r(723)])?(We(e.$play,"display",r(456)),We(e.$playBig,"display","none")):(We(e[r(696)],r(684),"flex"),We(e[r(579)],r(684),r(497))),t[r(523)]()&&t._opt[r(783)]&&t.playVod[r(487)]()&&(We(e[r(696)],r(684),r(753)),We(e.$playBig,"display",r(497)))),We(e[r(781)],r(684),r(i?753:456)),We(e[r(489)],r(684),r(i?753:456)),We(e[r(547)],r(684),i?"flex":r(456)),We(e.$qualityMenu,r(684),r(i?753:456)),We(e[r(440)],r(684),i?r(753):"none"),We(e[r(784)],r(684),i?"flex":"none"),We(e[r(766)],r(684),r(i?753:456)),We(e[r(788)],"display",r(i?753:456)),We(e.$faceDetect,r(684),r(i?753:456)),We(e[r(486)],r(684),r(i?753:456)),We(e[r(755)],"display",i?"flex":r(456)),We(e[r(667)],"display",i?r(753):"none"),(t[r(656)]()||t.isPlayVod())&&We(e[r(447)],r(684),r(i?753:456)),y(),e[r(473)].forEach((t=>{const e=r;t[e(525)]===Ht[e(762)]&&(t.$iconWrap&&We(t[e(536)],e(684),e(i?753:456)),t.$activeIconWrap&&We(t[e(688)],e(684),e(456)))})),t[r(635)].showPerformance?We(e[r(761)],r(684),i?"flex":"none"):(We(e.$performance,r(684),r(i?753:456)),We(e[r(761)],r(684),"none")),We(e[r(594)],r(684),r(456)),We(e[r(631)],r(684),r(456)),We(e.$recordStop,r(684),r(456)),We(e[r(637)],r(684),r(456)),We(e[r(793)],r(684),r(456)),We(e[r(739)],r(684),r(456)),!i&&(e[r(778)]&&(e[r(778)][r(600)]=function(t){const e=Fe;if(null==t||""===t)return"0 KB/s";let s=parseFloat(t);return s=s[e(638)](2),s+e(610)}("")),We(e[r(748)],"display",r(456)),We(e[r(692)],r(684),r(456)),e[r(672)]&&e.$ptzControl[r(534)][r(436)](r(726))),E(),i&&I()};t[s(656)]()&&t.on(O[s(693)],(t=>{S(!t)})),t.on(O[s(591)],(i=>{const r=s,n=function(t){const e=Fe;if(null==t||""===t||0===parseFloat(t)||t===e(745))return e(763);const s=["KB/s","MB/s","GB/s",e(692),e(478),e(654),e(577),e(673)];let i=0;const r=parseFloat(t/8);i=Math[e(492)](Math.log(r)/Math.log(1024));let n=r/Math[e(691)](1024,i);return n=n.toFixed(2),n+(s[i]||s[0])}(i);e[r(590)]=n,t[r(635)][r(690)]&&(e[r(778)]&&(e[r(778)][r(600)]=n),E())}));const E=()=>{const i=s;if(b()&&t[i(635)].playbackConfig[i(533)]===v.normal){let s=e.controlsInnerRect[i(454)]-e[i(636)].width-e.controlsRightRect[i(454)]-e[i(629)][i(454)];qe()&&t.webFullscreen&&(s=e.controlsInnerRect[i(448)]-e[i(636)].height-e.controlsRightRect[i(448)]-e[i(629)][i(448)]),e[i(582)][i(659)][i(454)]=s+"px"}},I=()=>{const i=s;if(!b()||t[i(635)][i(517)][i(533)]!==v[i(583)])return;const r=e[i(531)].style[i(475)];let n=parseInt(r,10);const o=e[i(450)][i(454)];n=n-o/2>0?parseInt(n-o/2,10):0,e[i(582)][i(568)]=n};if(b()){const i=()=>{const i=s;if(b()){let s=0;const r=t[i(786)]&&t[i(786)][i(624)];if(r){const n=new Date(r),o=n[i(756)](),a=n[i(767)](),h=n[i(775)]();t[i(786)][i(758)]?s=60*o+a:t[i(786)][i(707)]?s=2*(60*o+a)+parseInt(h/30,10):t[i(786)][i(585)]?s=6*(60*o+a)+parseInt(h/10,10):t[i(786)][i(550)]?s=12*(60*o+a)+parseInt(h/5,10):t[i(786)][i(733)]&&(s=60*(60*o+a)+parseInt(h,10)),e[i(531)][i(659)][i(475)]=s+"px"}}},r=t=>{const i=s;e[i(664)][i(534)].remove(i(555)),e[i(509)][i(534)][i(436)](i(555)),t===nt[i(553)]&&e[i(664)][i(534)][i(500)]("disabled"),t===nt[i(650)]&&e[i(509)][i(534)].add(i(555))};t.on(O[s(598)],(r=>{const n=s;if(t[n(635)][n(517)][n(533)]===v.normal)e[n(774)]&&(e[n(774)].innerText=ss(r,n(606))),i();else if(t[n(635)].playbackConfig[n(533)]===v[n(792)]){const s=im(r,t[n(786)][n(727)]);e[n(732)][n(659)][n(454)]=100*s+"%",e.$playbackProgressIndicator[n(659)][n(475)]="calc("+100*s+n(593)+7+n(806),e[n(700)][n(514)]=$f(r)+n(478)+$f(t[n(786)][n(727)])}})),t.on(O.playbackPrecision,((n,o)=>{const a=s;b()&&t[a(635)][a(517)][a(533)]===v[a(583)]&&(e.$playbackTimeScroll[a(534)][a(436)](ot[a(553)],ot[a(703)],ot[a(650)],ot[a(722)]),e[a(563)][a(534)].add(ot[n]),e.rafId&&(window[a(708)](e[a(742)]),e[a(742)]=null),e[a(658)]&&(clearTimeout(e[a(658)]),e.changePercisitionInterval=null),e[a(795)][a(600)]="",e[a(680)][a(600)]="",e[a(658)]=setTimeout((()=>{const s=a;switch(e[s(795)][s(600)]="",e.$playbackTimeListSecond.innerHTML="",n){case nt[s(553)]:qf(o,e);break;case nt.halfHour:Jf(o,e);break;case nt[s(722)]:Xf(o,e);break;case nt[s(650)]:Zf(o,e)}i(),t[s(635)][s(517)][s(796)]&&r(n),I()}),16))})),t.on(O[s(469)],(()=>{w((()=>{E()}))})),t.on(O.playbackTimeScroll,(()=>{I()})),E()}if(t[s(523)]()&&(t.on(O.playVodPause,(t=>{S(!t)})),t.on(O[s(645)],(i=>{const r=s,n=im(i,t[r(803)][r(727)]);e[r(732)][r(659)][r(454)]=100*n+"%",e[r(445)].style[r(475)]=r(689)+100*n+r(593)+7+r(806),e[r(700)][r(514)]=$f(i)+r(478)+$f(t[r(803)][r(727)])})),t.on(O[s(712)],(t=>{const i=s;e[i(661)][i(659)].width=100*t+"%"})),t.on(O[s(779)],(()=>{const t=s;We(e[t(573)],"display",t(753))})),t.on(O.playVodCanplay,(()=>{const t=s;We(e[t(573)],t(684),"none")})),t.on(O[s(532)],(()=>{const t=s;We(e[t(573)],t(684),t(753))})),t.on(O.playVodSeekEnd,(()=>{const t=s;We(e[t(573)],t(684),t(456))})),t.on(O.playVodEnded,(()=>{const i=s;e[i(732)][i(659)][i(454)]=i(442),e[i(445)].style[i(475)]=i(689)+100+i(593)+7+i(806),e.$playbackProgressTime.innerText=$f(t[i(803)][i(727)])+" / "+$f(t[i(803)][i(727)])}))),t[s(635)][s(668)][s(468)]&&t[s(635)][s(802)][s(740)]>0){t.on(O[s(542)],(t=>{i(t)}));const i=t=>{const i=s;e.$qualityText[i(514)]=t,e.$qualityMenuItems.forEach((e=>{const s=i,r=e.dataset[s(468)];e[s(534)][s(436)](s(676)),r===t&&e[s(534)][s(500)](s(676))}))};(()=>{const i=s,r=t._opt[i(802)]||[];let n="";r[i(498)]((t=>{const e=i;n+=e(687)+t+'">'+t+e(765)})),n&&(e.$qualityMenuList[i(777)](i(730),n),Object.defineProperty(e,i(715),{value:t[i(559)][i(738)](".jb-pro-quality-menu-item")}))})(),t.streamQuality&&i(t.streamQuality)}if(t[s(635)][s(668)][s(769)]&&t._opt[s(551)][s(740)]>0){t.on(O[s(752)],(t=>{i(t)}));const i=i=>{const r=s,n=t[r(635)][r(551)][i];e.$scaleText[r(514)]=n,e[r(642)][r(498)]((t=>{const e=r,s=t[e(709)].scale;t[e(534)][e(436)](e(646)),rs(s)===rs(i)&&t[e(534)][e(500)](e(646))}))};(()=>{const i=s,r=t[i(635)][i(551)]||[];let n="";r[i(498)](((t,e)=>{n+=i(608)+e+'">'+t+"
      \n "})),n&&(e[i(790)][i(777)](i(730),n),Object[i(751)](e,"$scaleMenuItems",{value:t[i(559)][i(738)](i(725))}))})(),i(t[s(476)])}if(t[s(656)]()&&t[s(635)][s(517)].showRateBtn&&t._opt.playbackConfig[s(460)][s(740)]>0){t.on(O[s(522)],(t=>{i(t)}));const i=i=>{const r=s,n=t[r(635)][r(517)][r(460)][r(728)]((t=>rs(t[r(480)])===rs(i)));n&&(e[r(586)][r(514)]=n[r(702)],e[r(578)][r(498)]((t=>{const e=r,s=t[e(709)][e(459)];t[e(534)].remove(e(539)),rs(s)===rs(i)&&t.classList[e(500)]("jb-pro-speed-menu-item-active")})))};(()=>{const i=s,r=t._opt[i(517)].rateConfig;let n="";r.forEach(((t,e)=>{const s=i;n+='\n
      '+t.label+s(765)})),n&&(e[i(791)][i(777)]("beforeend",n),Object[i(751)](e,i(578),{value:t[i(559)][i(738)](".jb-pro-speed-menu-item")}))})();const r=t[s(786)]?t.playback[s(493)]:1;i(r)}if(t[s(523)]()&&t[s(635)][s(770)][s(527)]&&t[s(635)].playVodConfig[s(460)][s(740)]>0){t.on(O[s(519)],(t=>{i(t)}));const i=i=>{const r=s,n=t[r(635)].playVodConfig.rateConfig[r(728)]((t=>rs(t[r(480)])===rs(i)));n&&(e.$speedText[r(514)]=n.label,e[r(578)][r(498)]((t=>{const e=r,s=t[e(709)][e(459)];t[e(534)].remove(e(539)),rs(s)===rs(i)&&t.classList.add("jb-pro-speed-menu-item-active")})))};(()=>{const i=s,r=t[i(635)][i(770)][i(460)];let n="";r[i(498)](((t,e)=>{const s=i;n+=s(481)+t[s(480)]+'">'+t[s(702)]+s(765)})),n&&(e[i(791)][i(777)](i(730),n),Object.defineProperty(e,"$speedMenuItems",{value:t.$container[i(738)](".jb-pro-speed-menu-item")}))})();const r=t[s(803)]?t[s(803)].playbackRate:1;i(r)}t.on(O[s(698)],(function(){const i=s;let r=arguments[i(740)]>0&&void 0!==arguments[0]?arguments[0]:{};if(t._opt[i(544)]){We(e[i(746)],i(684),i(497)),e[i(746)][i(600)]="";const s=Ye,n=ci(),o=t[i(743)](),a=gs(o)&&-1!==o?""+Dt[o]:"",h=t[i(507)]&&t[i(507)][i(706)]||{},c=t.audio&&t[i(615)].audioInfo||{},l=t[i(662)]||{},d=t[i(734)](),u=t[i(807)](),p=t.getDecodeType(),f=t[i(574)](),g=t[i(782)](),y=t[i(666)]();let b=t[i(529)](),v=t[i(735)]();const w=t[i(530)](),S=t[i(502)];b=Ss(b),v=as(v);const E=t[i(656)]()?"录播":"直播";let I=r.isDropping;const T=t[i(635)].useMSE&&t[i(635)][i(612)],k=t[i(601)]?t[i(601)].kbpsShow:"0 KB/s",_=t[i(651)](),C=t[i(605)]||"",R=i(647)+s+i(521)+(C?i(520)+C+i(699):"")+"\n "+(t[i(635)].isMulti?i(548)+t[i(635)][i(768)]+i(699):"")+i(443)+(t[i(571)]()?i(764)+t[i(635)][i(495)]+"\n
      \n ":"")+i(443)+(n?i(679)+as(n[i(620)])+i(627)+as(n[i(724)])+i(466)+as(n[i(457)])+i(699):"")+i(443)+(a?i(721)+a+i(494):"")+"\n\n "+(n&&n[i(457)]>n[i(724)]?'\n
      \n 可能内存泄漏 是}\n
      \n ':"")+i(526)+E+i(521)+(t[i(656)]()?i(681)+t[i(786)].rate+i(773)+(t.playback[i(639)]?i(673):"动态FPS")+i(609)+(t[i(786)].isUseFpsRender?i(524)+t.video[i(434)]()+"
      \n
      \n ":"")+"\n ":"")+i(634)+m[f]+i(552)+p+'
      \n
      \n
      \n 渲染组件 '+d+i(521)+(d===A.canvas?'\n
      \n 渲染引擎 '+u+"\n
      \n ":"")+i(705)+g+'
      \n
      \n
      \n 视频格式 '+(h[i(628)]||"-")+'\n
      \n
      \n 视频(宽x高) '+(h.width||"-")+"x"+(h[i(448)]||"-")+i(521)+(t[i(576)]()?'\n
      \n 视频GOP(ms) '+(S||"-")+"\n
      \n ":"")+i(653)+(Y[c.encType]||"-")+i(453)+(y||"-")+i(504)+(c[i(458)]||"-")+i(759)+(c.sampleRate||"-")+i(521)+(t[i(576)]()?'\n
      \n 播放器初始化(ms) '+l.playTimestamp+'\n
      \n
      \n 开始请求地址(ms) '+l[i(616)]+i(674)+l[i(750)]+i(491)+l.demuxTimestamp+i(484)+l[i(439)]+i(569)+l.videoTimestamp+i(580)+l[i(474)]+i(699)+(t[i(545)]?'\n
      \n 视频录制时间 '+b+i(670)+v+i(717):"")+"\n ":"")+i(465)+r[i(599)]+i(801)+r.vbps+i(543)+r[i(558)]+i(686)+r[i(780)]+i(716)+r[i(649)]+i(441)+r[i(464)]+'\n
      \n
      \n 音频缓冲时长(ms) '+r[i(560)]+"\n
      \n "+(t[i(576)]()?'\n
      \n 视频待解码帧 '+r[i(485)]+i(717):i(577)+r[i(581)]+i(794)+r.playbackVideoBuffer+i(455)+r.demuxBuffer+i(587)+r[i(446)]+i(717))+'\n
      \n 待解封装数据(byte) '+r[i(669)]+i(521)+(t[i(635)][i(694)]?i(467)+r[i(602)]+i(677)+r[i(682)]+i(513)+r.mseStore+i(744)+r[i(648)]+i(683)+(r[i(437)]>1?"加速":"正常")+"\n
      \n ":"")+i(443)+(t._opt[i(546)]?i(701)+r[i(691)]+i(699):"")+"\n "+(t.isOldHls()?'
      \n HLS缓冲时长(ms) '+r[i(510)]+i(567):"")+"\n "+(t[i(621)]()?i(798)+r.hlsDelay+i(483)+r.hlsDemuxLength+i(572)+r[i(718)]+i(584)+r[i(771)]+i(567):"")+i(443)+(t[i(576)]()&&_?'\n
      \n Video已渲染帧 '+_[i(695)]+i(713)+_.droppedVideoFrames+"\n
      \n ":"")+"\n "+(t[i(576)]()?i(597)+r.netBuf+i(785)+r[i(518)]+'
      \n
      \n
      \n 最新缓冲时长(ms) '+r[i(463)]+i(494):"")+i(443)+(t[i(635)][i(694)]||t[i(451)]()||t.isAliyunRtc()?i(570)+r[i(444)]+i(561)+r[i(747)]+i(640)+r[i(566)]+i(494):"")+i(512)+(r[i(678)]||r.ts)+"\n
      \n "+(t._opt.hasAudio&&t[i(663)]()&&ii(T)?i(623)+r[i(638)]+i(609)+(t[i(635)][i(619)]?i(644)+r[i(714)]+i(496):"")+i(516)+(w?"加速":"正常")+i(609):"")+'\n
      \n 视频解码时间(ms) '+r.dts+i(521)+(t[i(576)]()?i(675)+r.delayTs+i(618)+r[i(557)]+i(494):"")+i(443)+(t[i(576)]()&&r[i(787)]?i(501):"")+i(443)+(t[i(576)]()?'\n
      \n 是否播放流畅 '+r[i(479)]+i(699):"")+"\n "+(t[i(576)]()?i(805)+I+i(699):"")+'\n
      \n 网速 '+k+i(610)+Ss(r[i(541)])+i(471);e[i(746)].insertAdjacentHTML(i(730),R)}else e[i(746)][i(600)]="",We(e[i(746)],i(684),i(456))})),t.on(O.togglePerformancePanel,(t=>{const i=s;We(e[i(643)],"display",i(t?456:753)),We(e.$performanceActive,i(684),i(t?753:456))})),t.on(O[s(797)],(t=>{const i=s;We(e[i(808)],i(684),t?i(456):"flex"),We(e[i(793)],i(684),t?"flex":"none")})),t.on(O[s(535)],(t=>{const i=s;We(e[i(486)],i(684),i(t?456:753)),We(e[i(739)],i(684),i(t?753:456))})),t.on(O[s(461)],(t=>{const i=s;We(e.$occlusionDetect,i(684),i(t?456:753)),We(e[i(556)],i(684),i(t?753:456))}))};function gm(t,e){var s=Am();return(gm=function(t,e){return s[t-=154]})(t,e)}function Am(){var t=["$controls","14gjCuUu","defineProperty","getBoundingClientRect","controlsLeftRect","$controlsPlaybackBtns","985620GywJNq","609428SbKxHE","controlsPlaybackTimeInner","81678qxePyn","$controlsRight","controlsInnerRect","controlsRightRect","$playbackTimeInner","211238GRHQTo","$controlsLeft","controlsPlaybackBtnsRect","194136PQpDeV","431307GYKBfk","3269600iTkQbz"];return(Am=function(){return t})()}!function(t,e){for(var s=gm,i=t();;)try{if(132544===parseInt(s(173))/1+parseInt(s(156))/2+-parseInt(s(157))/3+parseInt(s(166))/4+parseInt(s(165))/5+-parseInt(s(168))/6*(-parseInt(s(160))/7)+-parseInt(s(158))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Am);function ym(t,e){const s=bm();return(ym=function(t,e){return s[t-=294]})(t,e)}function bm(){const t=["screenshotFn","3191170ZAlQrX","$ptzCruisePlay","remove","$playbackTimeList","$pause","ptzApertureShow","playType","grabbing","recordFn","focusNear","normal","$ptzFogOpen","scale","$ptzActive","$faceDetectActive","ptz","isDroging","$fullscreen","jb-pro-quality-menu-shown","$recordingStop","$fullscreenExit","aiObject","jb-pro-speed-menu-shown","lastVolume","percentage","$volumePanel","offsetLeft","$playbackProgressIndicator","fogOpen","$playBig","showRateBtn","div.jb-pro-quality-menu-item","preventDefault","volume","$qualityMenu","clientWidth","mouseover","$qualityMenuList","$tipsMessage","jb-pro-ptz-bg-active-show","style","div.jb-pro-playback-time-minute-one","streamQuality","$ptzFocusNear","playback","mouseDownAndUp","$speedMenu","supportWheel","_lastVolume","move","$objectDetect","wheel","resumeAudioAfterPause","play","$performanceActive","$zoomStop","classList","$controls","contextmenu","down","detail","hasControl","$recordStop","emit","mouseup","second","fiStop","$volumeOff","fullscreen","jb-pro-ptz-bg-active-","cruiseStop","target","27RoPAsZ","div.jb-pro-speed-menu-item","close","$ptzControlCircular","$ptzCruisePause","$playbackProgress","narrowPrecision","block","getBoundingClientRect","add","$ptzArrows","controlType","stop","jb-pro-ptz-control-","jb-pro-volume-panel-wrap-show","playVodForward","$tipsMessageContent","$occlusionDetectActive","height","togglePerformancePanel","isInWebFullscreen","playVod","$container","controlAutoHide","$ptzBgActive","$close","pauseFn","zooming","playbackTF","$ptzApertureFar","ptzFocusShow","playForControl","$volume","837249IJmhpk","6zLUzGC","playFn","mousemove","91978OaNFBP","$scaleMenuList","top","11TdQfan","$volumePanelWrap","$ptzControl","speed","$playbackNarrow","tempPtzPosition","aiFace","left","apertureNear","recording","stopPropagation","ptzCruiseShow","grab","$ptzWiperOpen","display","playVodConfig","objectDetect","playbackPause","recordStopFn","offsetTop","occlusionDetect","zoom","zoomExpand","$scaleMenu","_opt","none","1403990ywNYMc","$zoomNarrow","isVolumeDroging","ptzStopEmitDelay","clientY","indexOf","$ptzApertureNear","$zoomStop2","335864Ycyuei","screenshot","dataset","$screenshot","$objectDetectActive","forEach","aiOcclusion","$volumeOn","currentTarget","$playbackProgressTip","isInitPlayer","jb-pro-scale-menu-shown","$occlusionDetect","isPlayVod","clickInitPlayer","mousedown","click","zoomNarrow","ptzClickType","seek","expandPrecision","787612fHgjxb","9xgELLj","isPtzControlDroging","flex","356644vlUmPF","isFocus","cursor","wiperClose","innerHTML","playVodPause","fullscreenExitFn","quality","$speedMenuList","faceDetect","totalDuration","doDestroy","video","$ptzFogClose","then","matches","$ptzExpand","controlAutoHideDelayTime","wheelDelta","div.jb-pro-scale-menu-item","touches","$logSave","mouseout","apertureFar","jb-pro-ptz-controls-show","pauseForControl","$ptzWiperClose","$ptzFocusFar","operateBtns","$volumeHandle","$record","$performance","$ptzNarrow","playbackConfig"];return(bm=function(){return t})()}!function(t,e){const s=ym,i=t();for(;;)try{if(229011===parseInt(s(403))/1+-parseInt(s(341))/2*(parseInt(s(400))/3)+-parseInt(s(399))/4+parseInt(s(370))/5+-parseInt(s(338))/6*(-parseInt(s(337))/7)+-parseInt(s(378))/8*(-parseInt(s(304))/9)+parseInt(s(438))/10*(-parseInt(s(344))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bm);function vm(){var t=["1179431NeEoCO","6rHGpqt","436680YRuKNi","type","207623xvRPVa","undefined","createElement","18nJwqEK","insertBefore","insertAt","appendChild","cssText","9801RSmJRN","getElementsByTagName","1285214tCPydu","70WjAkev","1113695FNslwN","style","firstChild","head","2006919qbvuRW","top","4sPWJQy","text/css"];return(vm=function(){return t})()}function wm(t,e){var s=vm();return(wm=function(t,e){return s[t-=347]})(t,e)}function Sm(t,e){var s=wm;void 0===e&&(e={});var i=e[s(367)];if(t&&typeof document!==s(363)){var r=document[s(353)]||document[s(347)]("head")[0],n=document[s(364)](s(351));n[s(361)]=s(357),i===s(355)?r[s(352)]?r[s(366)](n,r[s(352)]):r.appendChild(n):r[s(368)](n),n.styleSheet?n.styleSheet[s(369)]=t:n[s(368)](document.createTextNode(t))}}!function(t,e){for(var s=wm,i=t();;)try{if(408828===parseInt(s(362))/1+parseInt(s(359))/2*(parseInt(s(370))/3)+parseInt(s(356))/4*(parseInt(s(350))/5)+-parseInt(s(365))/6*(-parseInt(s(348))/7)+-parseInt(s(360))/8+parseInt(s(354))/9+-parseInt(s(349))/10*(parseInt(s(358))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(vm);function Em(){const t=["693567YzgoRS","311667XeSSXn","arrowUp","460141Ngszrj","toUpperCase","TEXTAREA","1628720hlJlsE","volume","55892gfkBqe","8072660SiDNTq","fullscreen","2039472xciSKG","true","8Moxjbs","keydown","keys","8rbFRpc","keyCode","INPUT","activeElement","arrowDown","preventDefault","tagName","esc","contenteditable","6ExzKeY"];return(Em=function(){return t})()}function Im(t,e){const s=Em();return(Im=function(t,e){return s[t-=332]})(t,e)}Sm('@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@-webkit-keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}@keyframes magentaPulse{0%{background-color:#630030;-webkit-box-shadow:0 0 9px #333}50%{background-color:#a9014b;-webkit-box-shadow:0 0 18px #a9014b}to{background-color:#630030;-webkit-box-shadow:0 0 9px #333}}.jb-pro-container video::-webkit-media-controls{display:none!important}.jb-pro-container .jb-pro-icon{cursor:pointer;width:16px;height:16px;display:inline-block}.jb-pro-container .jb-pro-ptz-controls{position:absolute;width:156px;height:156px;visibility:hidden;opacity:0;border-radius:78px;background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%;transition:visibility .3s,opacity .3s;right:43px;bottom:135px}.jb-pro-container .jb-pro-ptz-controls.show-vertical{right:43px}.jb-pro-container .jb-pro-ptz-controls.show-vertical .jb-pro-ptz-btns{left:0;top:156px}.jb-pro-container .jb-pro-ptz-controls.show-level{right:163px}.jb-pro-container .jb-pro-ptz-controls.show-level .jb-pro-ptz-btns{min-height:156px;left:144px;top:0;display:flex;flex-direction:column;justify-content:center}.jb-pro-container .jb-pro-ptz-controls.jb-pro-ptz-controls-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-bg-active{visibility:hidden;opacity:0;width:156px;height:156px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAE4CAMAAAD4oR9YAAAAM1BMVEX///////////////////////////9HcEz///////////////////////////////////85yRS0AAAAEXRSTlO5DCgVgZBxAK2fQDRkBR5XTPLKM/gAABnnSURBVHja7F0Jkqs6DGQPO9z/tD8Jq6WWbCCvIjKfzAGmulrW3ooedr6ui+M4TdP++SXPr1l/SdL3aRrHhv7ZyA5qb9xe0L3Am+DrkzeCL/BeX908MezTuPsfOArdgl3KsZuhq99fk/Tx3waum+ByAHua5QbYilkzY1aP728YhrH5InrfBa57OLAtVjpRbYaumex04dq4APeC7vnVSfo/45bXLe33jGscMx3f0A1vyg3t69e2dRL/NeA6wrgdcCvjyPM2U25mXDt9xVD3f/qN0yi3Mm6P20S54vlXtGPS/R3GPSbYOsC4ZAvmJtiaGiL3Zlzx/Ht+Y/KXTJXbqmaqe9za1VYn3N7YpX/OVGev2qduOLIiB7xqOzGuWCiXFVmWtU3368A5lkqeOJI21I5XXaORxVRnxmUTdNnY/4U3riNvHMJts9XRtdXVUttipdzrK/4x7UyY6sK4Gbo+nU21T1zKcd9AGJetlMvyLKvj3zXVfeqQElMljINx3MK4xVQ3xj2Ry7N/6CiMOIfYyVUXWxUyBx7HuZRbcHt9bf/Lb9zsHlzKzabauJaK47iVcC7jJujS33/joKkmxDnM4QiJ4xDjZuT+DXQW3jgxV012qcPuiePhCGfchlv1/P0D6Czmqmuq2gPGkbIS8Q4ZsNU3dGP3Y2+cW1RyKpkrbAnwqhi3iXHFHrU3bFVV5c3vBsCsOALjkXErAW85F3rjFvBm5Kos+TngCOXYG7fA1ojFER7GPUHbmer0tfGPANeROM6pjvDMQSkrsWQ1d564Fbr61964TvSqDa6O0ELmAtvGuc2rrpQrn/aa/qCpYq+6mSpOVhnjWBy38u2JXFl9yL8acg6CV3Ur5yxVZfW4AsRxG+XKssz6n3njVMYR4Eg8sj1yi3tgtroxrpyhG38gc+h8PYddPQ551dVQW5jju2/cG7kXdB946Uy9cbDnQOpxuCCHcq5dHDcht8D2/K67VxPNGtLJd7qDTcgb1zLGbXEcY9z0Fd39GReTzIH1B/2lcxrGTYxj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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-up{transform:rotate(-90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left{transform:rotate(180deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-down{transform:rotate(90deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-up{transform:rotate(-135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-up{transform:rotate(-45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-left-down{transform:rotate(135deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-right-down{transform:rotate(45deg)}.jb-pro-container .jb-pro-ptz-bg-active.jb-pro-ptz-bg-active-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-control{position:absolute;left:53px;top:53px;width:50px;height:50px;background:#fff;border-radius:50%;transition:left .3s,top .3s}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left{left:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-up{top:33px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right{left:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-down{top:73px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-up{top:39px;left:39px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-left-down{left:39px;top:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-up{top:39px;left:67px}.jb-pro-container .jb-pro-ptz-control.jb-pro-ptz-control-right-down{top:67px;left:67px}.jb-pro-container .jb-pro-ptz-icon{position:relative}.jb-pro-container .jb-pro-ptz-icon:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-ptz-btns{display:block;position:absolute;left:0;top:156px;width:156px;box-sizing:border-box;padding:0 30px}.jb-pro-container .jb-pro-ptz-btns .jb-pro-ptz-btn{display:flex;justify-content:space-between}.jb-pro-container .jb-pro-ptz-expand .jb-pro-ptz-expand-icon{display:inline-block;width:28px;height:28px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAANlBMVEVfX19fX19fX19fX19fX19fX19fX19HcExfX19fX19fX1/////Pz8+oqKjCwsKhoaHn5+eWlpaOqTaDAAAAC3RSTlP/3CaKxwJiAELtp4ri/s4AAACuSURBVCjPfZPREoUgCERXBdPRyv7/Z6/Z1aQp9oWJMyYLiKUrOIpAJBdGCldgbzBkPM/QEoTI3jBEPBRDhwEvChe08Q1Ge0ImvIq4Qj8ljrLdH77CyQPWlCdHC0Q1e9rmmuC+oQN9Q4LwcQg40L6eyqm0uEpXSUqe3fKpkkqL+Y/o+07SrahNEO0T0LBsvOitf4xsLqiNTB32wtqaVKosGLO2mhUrS93+PZ4D99wPqzMJVcbEyA8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-expand:hover .jb-pro-ptz-expand-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////i4uLZ2dnIyMjExMS8vLy+iXNeAAAACnRSTlMAYomLxwEm9+NCLo6DKwAAALNJREFUKM99k9kWgyAMRIMmEMLm/39tKaVKFJkXl3sYJ4sAXeQ3ZOcYd0+gRYblFBuFLYoS2ot5lpvYn8zJQ65TO2GVNmdCmQq/qczw4gjpejD14BgmhziEIvCjVRlPioftHW6A7xBB1a8CCUMvsuSqEkPM7eZX6h8GrQ67bYpNIbRL6rb4/k2EfVXKsgmqfQrW9qnGq96a28jGQG1ky2HXpVysyYyeDIhWq7le6ua9P36HD6+2GRi8iBZBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-narrow .jb-pro-ptz-narrow-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/9/f2/v7/y8vLUObqxAAAADXRSTlMA3IrE6SZi9wI+y0gNXAn3CgAAAI5JREFUKM+Fk1kOwyAMBQ04bJHT3P+0JVUMNMWv8zvSk1cipfjAKXHwhR7k6KTjYp7dVuWLug1XWB5wz96T/JD2O3Phmv0k5ypL6lVVFIPYpLOka5WKSSFvS0/BloHYlkza5HkMzrvVLo8ZlRr7mtFYWBBsBQ4BjC//GTxcGVw2PpOVHQ6fJj7qS4936OoN2K4e5yE6N1UAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-narrow:hover .jb-pro-ptz-narrow-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcBAMAAACAI8KnAAAAJ1BMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v7X19ckk9ihAAAACnRSTlMA9+NCAsuKJsRiPv/2GwAAAJlJREFUGNNjYAAC5gxFoTYDBijw1FoFBIumQHjsUavAYGkBmGu0CgqUwRqlYNyFIO2Fq+BAnIGBJQrBXerAwLkKCUxgYELmKjBYIXMXM2Qhc5cxdCFzVzBoIXMXMYAcsRsMdgEdgs4FKT4DBqdAitGMQrMIzRkojlRB9wKaB9G8z+CMGjgshjCuMCjoWNxRAxYt2KGRYgJiAQAnZcjElaB/xwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-far .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAASFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+kpKRzc3ODg4PFxcW1tbXW1tbk5OT29vaVlZVmZmZ8vCMFAAAADHRSTlMAxGJ5Mssm9+NCiYtiH91SAAABAklEQVQoz41T7Q6DIAyEJQooUL55/zddhVazzZjdHyqXXo8DhWCYTWqltNyN+MZLuxP69UGti/vAsl6c0e4L+tQ2yv1AEbvecMhO5cXdYhk+6aO3WGrNAMwentlMz/ZAKIlNoRsqY2wtFWu9t8wasc0iYVN0LkQfrG1zbxNyrIBcntOQrH1Ukkb60QcxYF1xMA2dh8zWj6ZDsLCsIrL4Ds5Hm9FMbCEROWUB0COaLXEIZJKV7CKybGO7UuxjxY2C/TkMbxboKBQCxgMN6MCJQ6Ch/QjOZg/B13LGx8FDTe3IFvl+Bc9XBi3UWoex68qeL/vxmdyxyvz3NJ8f9dDef36HN7koIK2LjxB0AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-far:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn+/v6cnJzr6+u/v7+xsbGlpaXNzc3b29vqh7uRAAAAC3RSTlMAyRjKA59J/3PzPhe1wxwAAAD2SURBVCjPjZPrssMgCIR1mkYtisD7P+zBCyZpM5mzv5hs0M8VnZvaok9BlXzc3FXbO5z0vtifFC5Kn8OL4UfxwVvuHm61d5Z0b6ZGZZwZpQAUosWsjVZntVS1sH3ZFo1IRVYfGXgx+VGwNkkIVbhq9/jm3cAhaNv1Uk3IA8mNn7D3kbQeWK3TLH2jCthrDFcTMwUWaKiClc9mJtJWhS3SF5BpJqMQW1b3xwnkDahMoHYomkeJRgSENA/MFsKML7fgoCBVbGvM+Cx4JcKWbWHKK/h1ZYS1Jy/nK3u8bB3KhzG5deMxtfv3aO7/Heq+9ms8h9fxHP4AHzAWU9zlWNgAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-aperture-near .jb-pro-ptz-aperture-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////9fX1+FhYWbm5vz8/Nzc3OwsLDi4uLDw8PW1tZmZmYgm6a+AAAAC3RSTlMAYmOLx4kn9+NCIVJiPGAAAAD+SURBVCjPjVPttoMgDMOJAqOU8uH7v+qKFN2c597lF5LTJg1VqQG3aGuM1bNTV0wWDtjpg3pq+IB+npyzcIE9ejsDXzDCrjccs+tOariF3n2OLyw5xko0vh9MDjNb9Q0hp2GK3cixlIApe4/JD9appR8SFxWAUFLg6n63iB1irnY1Jv0mlrok7nUdcZRa1YeshxBA9iijChlxI6iZEaBgSEL2tkRcymPGGJpqlbZ6uDg0WR/F0DwuMpxDkYwiIXA8hO2uMJdGCCK6teB8RQoY8xGfevQjxYQt25qoRwDT25MRBjZ7GtP/P/afa3LHmrflXa+ruf661Hvv+et3eAF6Fh3v+sSUGgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-aperture-near:hover .jb-pro-ptz-aperture-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAM1BMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZn///+qqqq9vb3z8/PMzMzo6Oja2tpXGg+mAAAACnRSTlP/JomLxwJiAONCr+rW2wAAAOtJREFUKM99U9sWhCAInEpLBS///7WLEWy7p9O8qEzCMBIOQ15DAlLYsoegS9yFMKQ93skl4Adh+ZI54Q8pG5nxgKzkgkcsk4zhmQxRyN1OPHqtncjOu5AuppcJ6s1EHTA1YzC3Wgq3YmzGqpsmlwZAo7F8oLEVKoeE6+TbSxK0JJ/3FLOwFnUxzXuoltYDDMLoAlmYXLAWIrkqbdZKs+q4KBfkNV1uwGaBim9TdLWS3R7iGRvCNTPB7JvGlc5EXK8cKbrxooint73RzXh7Msl6Oj/uT/b62O9j8sj6gMXX0Xwf6jP3Zr9DtNAHTYMMXrXSK0YAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-far .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAPFBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX1////92dnbs7OyFhYWjo6Pe3t7Ly8uxsbG8vLyG+Q0EAAAAC3RSTlMAiWJjx9wm/0Lti7mfpe0AAADaSURBVCjPfVMJDoQgDERFC/bg8P9/XUSO6CqTqA0TptNDpSrMpC2A1btRT8wrNKzzjdo03KC3zhkLD9imbeAFhd3sG2kvZQ2v0NknfGBJZKkhBM9MxOxDKBV1N4iHi0TRHYjN01Qi7/kK2PtyNDU7DAEJgDAAN0u1jsQEFEkcVVmrqjeXrkWRmC67eqbgG7bJyvkQSQkvUvec7szpek6t9ubWJSK/uJVSm+APzHKCh++DWWuH4plQKNYOpfappcjy2VvJn9744cjGwx6uyXjBxqs5Xuqsvf/9Dj8rLhRg+bQ5VAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-far:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAOVBMVEWZmZmZmZmZmZmZmZmZmZmZmZmZmZlHcEyZmZmZmZmZmZn///+xsbGoqKjt7e309PTExMTQ0NDe3t774OlGAAAAC3RSTlP/itxixwImAELtp8B2gZgAAADmSURBVCjPjZMLjsUgCEVpq60G8Lf/xQ62gvNeOmZuUiWeKHC1cKnC5iJAdFuwJXgmf+xg2g//G54OPuTOCUOEL8WgMMCLwgPP+Abj2aF38CrnBR7whw6Bo4fWUk7MMrQ2OrpAq0GspTLLgKg1wTailNITZA0EaTkZGjIAY5NwlATah5CGRMJYj50tFtlWiapsLvAPRdtL/WOmET7QzZyl5ywzp7NWsjBJ1odsragJqeJ9HGFNZoLaJw71hMTm0O7NeDE1Z6YsU5rGL69sedmXXz0ToW8PzA/oV09T8OJR32fb7+B17Qe3WwtC9PVbHAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-focus-near .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAARVBMVEVHcExfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1/////t7e2dnZ3W1tbGxsa3t7eDg4Oqqqri4uKTk5NImu/5AAAADXRSTlMAYieJ3MvE/0Lti4oh87zNagAAAOtJREFUKM+NU1sOwyAMY30FtoWS8Lj/UZe2gWpVh2aJH1wcO0mNqbDj4gDc8rLmiscEDdPji3rP8IX5fXLWwQWuaVu4gbKDuyPdsJMz3GLefcIPbJ6PDCEAFDlUAJiORM3NigQFAXAFlqOeRhWJyFFIHxNGvRrN0mp470U++3axGM2RAmXcXqKnkDSN0a9WIk5Sa01MpDXBQAdVtrA8lBhFnnKpsmoo5VBrhszV0KuJ5N2tP92O50iQjpzcctravoihdoi0Q1NrfN56m0VWzFBoje+OrD/s7pr0F0yUr6s5/LvUu/bz+B2ep+IHdMIV2SUZfCsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-focus-near:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAQlBMVEVHcEyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////c3Nz09PTp6enR0dHFxcW7u7uwsLAUKT0cAAAADXRSTlMA3IrE6WIm9wI+y0gNQZpqdwAAAOdJREFUKM99U9GShCAMQ8BF3Cmlpfz/r15dAe88l8zwQiQkoRrTEa3zIXhno7lhWxcYWNbtN/fa4Q/218VFDzf4of0O8A/h3TQfOGU/ytsOj9gPVyt8warkmYEQQAgABYDxTKROz88koS6AVIB1fRCNbSI1cVUy15Jq27LGjTtyzipPeWw40/IXQkrHyZSRmqw3LaQgctFNKYzYyGACfEXossLMojFEj7J0WfdwJ3dD9uY2X25tL0Hj45mTR87Y66u9IQFsDS1bL57o7JbUDNIofvpk08eej8kTe3Hz0ZwP9UFfv8OgfgBUByCEUZhYtAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-play .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJWSURBVHgBtZe/b9pAFMefbSYWMjCjdOtmYEYqXVC3umMlBFRiT7qxkexITcdKSDUSYna2iqX+E/DG6LCQgcETUiR+5Pv8I3Kc+McF5ysZ3x2++9x79/zuLFEG9Xq9s/1+r8my/AnVJq4z/2LZfB0Oh1tFUQxd1+208aQ0GAa7kCTpMgRJk4kJXk+nU5NEoe12W8PM/wrAotIx2Z+w3MkE7XQ6Q3S4otNlY5zPUZdL7wiMBUsRIK/fDeWvhQ92XS0HrQia83cCsqoIyMug8gQ9Ho/DpF7FYpEajQa9VTBoyIZxWeEfv6IndSqVSjQYDKhcLtNqtaLtdkuigmGSZVn/XKiqqr9wqyZ1YEtbrRZVKhX3zvX1ei0Eh7Ufa7Xan8C9VRIUg9lyQZfzO19VOOugkBpAgaXRtnq97oLZ5ZvNJm0YQkBZ8m63E7YyKl5ntrrf77vlJCF/qzLlKLZ4NBqRpmmuF2LBlLOyBFYBchDKlIeWyyWNx+PUtS2Qtx+eJA6i2WzmQtMEA+8KnA+73a6N+jkJil1pGAbN5/PMfRBIZsGn3+LFvSABMYiBgpnJgZEeFHQD4EzQrOsWI4N/nrY2uPg/eeefV8WvAKfALOsWJ3jzA++rcqjhB25OXAd244nA62AjV4LGxWLhIBk/oPiF8pc9mUy+BZVnyQEzueEZUb5yjyvhBiX6BCw2YTGvdZNyAkYPZsprT/rgO/K2vDcdQQH7jes7gPcv/kvqyCcKbEVX6PxVAG76QWPGPZAIDcEZqGECTQyokpe9wp8VfNqzyA2L9M+KRzm19l1i6ZQBAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-play:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ5SURBVHgBtZe7buJAFIYPjsVFAok3wBUlYcUDLNvQISUSDVVCA0IUYZ8gmzcgBeIiJLwdFau8QToaQKygovI20CJBARKX/Y/jICPAF3B+yRpjZvzNOWfOzLGLLKrZbAaXy+WdKIq32+1WcrlcQe0vZb1e/8XvQT6ff7fyLpdZh0qlEr+5uXne7XZxMpciCIKMSfzGBBSyCwVMAqxpEXYEhzdeAJYtQ2u12h2aJq4gXadSLpf7aQptNBoPm81GJofEsc5ms9/0zwT9j3K5HHUSyEJ4ovV6vXkSyjHEyvxDXyCAHxGy4hEUq+4JjWQ02O/30xV65rTbQ9lKNEWjEYFAgFKpFMViMbpQnOfFPRSKWxnldrtVaDqdpnA4THalefMDinx8sDOYrY7H45RIJOy6PMibjch3F24AJEmSeo3HY+p2u7RYLEzHwNqogOUcpSvFrk4mk5Zcjry9FZCX1+46qj5dzvEOhUKGfQVyWAyPRCLqojsnEYtohpiSE5rP59TpdEhRFMN+Itw7Q3DpGq1WKxqNRurF90YC75+gnXszulBsVbvdpl6vZwpkwasDNWVw9r3BWlu5Op1OVdBkMrEzTD11RO1exmUJytb0+30aDodkV7DyjT2rBpNrG8zg3WwQW9ZqtS4CatASt/sVhAC/GA3glWk1bqcEo+TPwm0P5QeYySt9jRS9UQe54vF4fqEZkMNCdXivrw4PoJlMZoad5IeDYE7F+0KhcPC+syVotVotIQ5PdLm4CD8CGkJZfAIhzlw3SWRdM+T9q9frLbHnTnUwrfBZfPCiecQG8v3MBHj/HvAm4/P55HMwW1C9tG8a/RmsGH1CnNJ/17UakVMOx7kAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-cruise-pause .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHySURBVHgBxZc7bsJAEIbHdprQJAU1ckln3FM4J4jTIkSMRB9uQDhBlBPECIk2yQ1MSeeIxg0KZQoKKpSCR/4xtsXTNmA7v2ThHe/ut7M7O7sIFEOGYdzO5/OSJEn3KGp4ZDy33ucxP6vVqo86H71ez47qT4iCLZfLJ0EQmhuQKNlo89rtdk06FVqtVjV49kZrr86RicG2TdMcx4LWarUWGjzT5Rqjn7tdsJAi8Ch4C4op1TGl75S8GKwCPOWC6FsRNDKAL5SOZER30HcAhbFFEUFTLBapXC5v2fL5/J7tiOCXofHLlVfikRhRrSqVChUKBXIchyaTiWtrNBruYLjM9jB5jlmup4vFQqMYyuVydKE03vsuVBTFR8pIcFD317REGQlRXBJ5PSl+iktCskgZC57eZA5l/Q/Uy4lTykjYq1++p5EHb1LC9rRdKA7dT8pO64yERG/SmVM8m81OqW7yckr8Ztv2r6Io1whnLawF59fhcLiVY0ejkWsfDAYUJfRfB+snOE85J2KRvym9RGF2Op06vwRbhg9YHgmlIz7E235B2vwC1x1VVdl7jZLT3nVF2q0BsJUg+ODFTDpU0wP3PfC5a2wB+BD7CuqLgws/TQQYn7cyxYfxfdc6ViEUujMAHUlER4cKHfhbATvPjBUG8/UH1xXJDxHoYGQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-cruise-pause:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH/SURBVHgBxVY7bsJAEJ01CAkJKUhUULmiDSnpoKYINyBuQIgi3AA4QZQKIQq4QaChhhuQCxAXSERUSDSIb944axSS+CPA5kn27o7X+2Z2dz6CXKDT6URXq1UqGAw+Hg6HDB4V4qj8rAsh9N1uN9rv971KpTJ2Wk84kW2322csVv1BYr+gEGMo8Foul7uWc6w+NJvNjKIoHXRVOgMg74K8AXLdFWm73a7BujpdDh3rZH8TCw8JLYlPSFutVh7NG10feigUetA0bcEDxZTiDFU0L+QN1M1mc1z7SBoIBGrkcGkSiQQlk8kTWSQS+SP7D3CzJ76c3A/yi61kodOP6XSaYrEYzWYzWi6XhiybzVI8HjfGLLeDNGxoWpohF8C50CXgwMK+r0gNCuQTENnyitQgRT4BQSOlyFvrKsRdCapC/uPuFqR0G1IZExfkH94NSzkHkk+Ap4wNUiTqPvmH74gUDoe7dOYWr9dr13M5sfNxBnjQ7/dXuVwuDGHG7ieOr9Pp9CTGzudzQz6ZTMgJ2FFtMBh8HvMpx0Ro/UEeBQq2slgsatw/uoxMsBp5A64WG+bgxE9LpVIPpUWDrgv7csUE4nEdlWCNPCC0JJXEF5Wg8MchHs11CWpCVvZVkBfckksyrneHVnMEuQRXitiqPBS4lwpEJYmORkc7Qju0IzPxBZ2t+3mW/JtqAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKgSURBVHgBtZe/jtpAEMYH28WJioIa+URDF8MTkAalO6cH4YIiFbk8QXS8QO6oUlCAkGjDtTRHJBoa4nQ0KBZdJApoEAV/Mp9jkAF7bXPcJ5ndtdf725nZWdYxiijDMBKr1SqhKIqKNpdms9mcRxkjFqZTsVjMy7J8x1WdL9WjC6D97Xb73G63m0HjxULAvnI1T+FlMfxBBPeEwoW73Q6we7pcViwWe8+utwKhDFQZ+IOrGr1eAH9ksOkLdSz8Rd5xu1RzBmfdFkvupwz8dmUgBENeYNAZtFQqGVwY9DZSnTVi6+Decrn8h0JYWSgUKJfLHdrL5ZKm0ykNBgOazWbCd9nNt3CzgoZjpUohlEqlKJPJHN3DJHRdp16vR51Ox/ddTiVkw70NlSTp7rRDMpmkWq1G4/HYvmANSpHghXg8To1Gw/M5W1oGVEZD07TvXNy4O8Btw+GQFouFbV06nabRaGRbhbaf8AzvTiYTr8c32Wz2p8KrSuMgJ7x6IEa4AIuivau9tNlsNGm9XqsBY9gxhOvCCi728wa7OCHhRzQAZl2pVGyXRZEoBAoFCDGs1+v2QooiUfpIHE+LBEL+VatVezVfDcp/whYJhAWBVHFvCEFCfz8op6cpORuxJRokajz98tSRae+97OJnUS/RanQLkwNQ4FrzsA2yyU0Gf/br2e12A90LlwYAkS5Pdrm/wRs+/rh1ChAshuV7wTqAQoTAarVat6gorll8YWvzXBXmbdTUcY3/sK/L+4ppmnPeF/9SCGsvAXIsH8+gDthkMFyepyuJgS0GHh3w5NNOzO0zeMHVD/R64BMDP53d93vBORW+0GVnpvmpS0NBXXDDSacwR9K5kxaPok+NUJ8VDlzlQucJvKNj63G2/U3/E78fZqx/rk0w4ggu8jUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAK2SURBVHgBtVa9jtpAEB58/EqArqCBBqehorgTVDQxPVJOiD5QAEJUeYLjniBcgRACKeQJQsQDBBoqkIigookraC1BwT+ZcQBBsNd7Ovgk2LV3vd/M7PyZgBPlclnc7XZPFovFv91uRZPJdL9fktfr9W987udyuRbPWSajDUgm3d3dPSOhBMaQUaAXu93eSKVSCryVtFQqPaBWXznJNMlR8zo3aa1W+7zZbIo4vYd3QBCEQjqdfjEkrVarzyhlAa4EvOt6JpNJ6ZJWKpUnHH7A9VHMZrNfLkjJO9Ecv3Aqwg2A1osevFs4vCQP5SF0Op3g9XrPflar1egzut9vCNVHzPS3j8EkcCAcDkMgELh4PxqNoNvtwmw20/tUXC6XSRyLqqZ7LS80CgaDqiY8IEESiQSIoqi7B53qE40qqVYsolTgdrshEokAeh9IkgRGIDPTPhJYC8SD4eg3k52RQNQi7XQ66txms+kepEUcjUah2Wxqrq9Wq6h5Pp8/4CUzD1osFuqPFwfnIsE1IBKbyDqANIzFYhCPx+EtYPmCGQxAppJlGQaDAVwLaFlBgRtAx7T/SNGNZWCg1WqpoeP3+4EX0+kUJpOJNiEqKWA49HGusA6gwPd4PMCLXq+nu4bpsK+6LVV9YMDlcqnkPKD7JyF1oFD+PSSHV9ZB4/EYQqEQGGE4HEK73dZdR+Ua6nh4gWXtD3AkfCL3+XzHZ4pfyrekIQnHApr2A2oqn4YM1TvDWkr3xbozPVAxJ0KaH1MRFllSvQG3gYztz7FtOct/mLqorZDhulD2BVzWJKW2kTZckVjBnviM8IKUQBtQ40ck/w7vAIUhnvGYz+cvwpHZbGNHkcQMwtXGnICs9YrCF/Q2GHb4e3IJBxLgo44ACsY6afbT4XDUWd09N+kpqOhTDT55Jf9/Z0b4C/UJLQCcLGi1AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-fog-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIjSURBVHgBtZe9UsJAEMc3l1Q0WvAA2NEp1MyInVbGnoE8AVrSqW+gT2CY4QGwpTEFNcaOEqksKKiYcYYP/xsSJoRwx8f5n7nRu9u73+7lbu8waAc5jnM6m81sIcQlqhcoOZTTsHvAZT6fv5um2XZdd6Caz1DBMNm9YRgPMYhKHhx8brVaHu0LrVQqNjx/2wOWlAtnn9MiT4VWq9VHDHii4zXAPFdJsPGPwK1gIwHk7/dC+sXgAsBjroioFZsmpznCuHKLxeIxqqwirdVqvGmcbaOy2SyVSqW1tuFwGJTRaES7CEGd8TJbXOEo4YkjG8BQ27ZT+7rdLrXbbSUcx4+P3oOIVQ4Wr0Cj0aBMJiO1Q6Q1PvsirFzSkeKVqNfrKjM+8xeCybRMbUcrn88HRSasqs2R5kijisWitB+reiKm0+mhaS5VvMwqCdIs1WYKoJZljUmj+NwqobS8D7Wp1+tJ+5EPvkWYD33SIE4S/X5faoOHgCdC+jsdKc5GnJUUGiNIzwrpbjwh76tOpxMAJ5OJyjTwKp7wP/CnvM06LeFzdPwNd4AFihL+Chom/U86/HmiAr4CGOR4M2r0fX9cKBR+8e816deg2WzeRJW15ABPXvgxRXoVPFfiDWbSAhF7iJiXvUyagMmHmZlmGYK/aXn7HPSNAWui3AH4s9EnG8ibiy94DL6l3W8jL3zvetsMpNCEAw4cKGPCc9r8WeGj/YuBMlikP+yn3EGZYjlWAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-fog-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAI5SURBVHgBxZZLjtpAEIbLjUFih8QFnBUrJCIOEHOCROIACStALBhOMMwJMlkgBCyYnCDMCUJWrJCQYB+zBwkJFiBe+QvZyEz86IEezSc1dj/w76pyV5dGEnS73cR6vf4SiUQ+HY9HE0MJu5GmaSNcFrvd7hn3vXK5bIU9TwsTw8Oqh8PhzhGRoIf1tSBxX9F2u12FVfVXiL3ksVgs1khWtNVqfcfljm7HgtW5l1Zrbyh4Fo7FYh8LhcLCGRDu2U6nc69YkDG22+0v98DZ0mazaQgh/tLbUUOMHy9E8eH8treDJ8lkkgzDuBibz+c0m81otVqRBAu4+QO7WecerDSDBB3RbDbrOTcej2kwGFAIvNc5dPVTTLHpv9INpNNpyufzBEsC1yF81dOVf8KslCHIEy4SjUYjIxDLDDoGKYAtDrNW13VT7Pf7azOOJ6lUKnAeySLB7jVIIezmMAS9A/igxIIUwns3VBQ+HpFCLMsKnGcjhX0CKLF2MpnQcrkMXIPzuX+KKax9phthtw6Hw7BlVqVSGel25wntqqy02WxOFnLj+xB6/HNTwmdXTqdTGTHmfKA7lhKSxAOCbPr9g90n82X6AcGfTgVxUTngtKlD+J4UAw/2S6VSzulfJAe8SZ3fiNRiQbTgHvgvI0H4Gxb9IAVwTexVmHmmQbiCD1suHy26En7xaDSa86p/A4ttrpuIT3ohpLcTxw/tAWJ9vzUaSWCLm3DXZzS+z7hELFzYjX/i8fiTu9T04x9LgQk+PbvDKQAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-open .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALxSURBVHgBtVYrrBpBFJ0FFAqBqCIrUXRBk5QaUleewBBIlwSDoW1CUlzz0CSlaJJHA8FgqMBg4CWIKkpRuEfQCDAYAvSeYYfsLgss6fYkk5ndmXvP/c1HYjaQTqdjbrf7PQ0VarLWgBW1Cdput3tutVrdW7qka5OZTEZ1uVwfaBhj9jDf7/ePzWazwe4hVFVVPhwOT3cQnRFLkvS20WjMzRMuCzKFyH7/AxkAg18oQp/ME24LsgENfcwBkJfvQqHQejqd/jr905HJGpnMHIYW3iHGp5AS2df/QabpfiKHfCdCVCN1qh1hv9/PIpEIi0ajLBgMskAgcDZfKBTMYjJVL8+nh7MeS/8ioFiQbDYbtlgseA/lXq+Xt9lsxrrdLkulUmw8Hp/poLB+JC+rkpa7FysiKEokEpyo3+/zBiIrr2EU1kKmWCxariMvsy46IRJWZFBSLpf5GApgvZUSYLlcstFoxMfwHnKQN4Mi+cYdDoe/IGpmslKpxJV0Oh223W7ZLcTjcb6uVqtxLxFayJtkfSga2Sycy+X4YnhlBzAQhGI9euTRqnhAaNjkKA5Unl0yALlD0SC0Au12m/fIvx5nRxsEYV2lUrHMgxmiYMwGwmiE1qzDrSiKSv0r8QMxF2Wdz+fZer3mhXAJCP9gMOCGAiBJJpM8h6jqXq9nWO+hLfGH9ohiVoTFIEbxwFqECMoQInwLy4V3mEMe0SB7YWtMJJzoVK7fLnkgKg65BVBM8Bj5gjHwDORoGNfrdUMu9SDnfl7d+HqAEArFCYNQYoxtAODfJSIBimTWpV2Swxt8PLwiRAgjGrwXuEVGmBNXw6MxP5KXMWYTCKs4U+2COH6g59tCu6uG7A7AYxteCcypVU+EmgVZbcJxkO4HcmplIEQuMcGOTz8nyT6T7on4Npw0mMBzgDnkqUZWNfyzWujQM/FB79lVQh2xeudbZ0VE36mvipzdRagjjtFtnSBlr9nxuS9uGCidk1HPdFp1xcvsGv4CcbeEIeSIw9MAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-open:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAM0SURBVHgBtVa/SyNREJ7dBLVQELU4bdwrtFJOUCxsXEG0Ue4OK6tLKhEb/QsO/4LzChVtvGvE0sPOxtiYJuFyJBBICtOlSSAQCEnIj5tvyC676ybZYPLB4y373ptv5puZt6uQB1xeXup+v/9zs9lc4qHxK621VFAUJYbRaDSeDw4O7rvZUroQBXw+3zcm0ckbMkx8enh4+It6IWQijYlueiByI95g4oxzQXW+OD8/X1JV9e87yACNbbxeXV0dOxcUJxnn6okfx6l/OOHcnr0hhIzsFcg06jNa8obwbErKOfs+CDIhUdUbxrhJiGrknAW8HB4bGyNN02h+fp6mp6dpcnLStj46OkpbW1vOY1q5XJZ8iqTX19dPnYpkZmZGSObm5qharVI+n5cZ5ENDQzKy2SxFIhFaW1ujTCZDqVTKaabA+z4qrdy9uhHB0PLyskSTSCRkVCoV16gRLfYODw/T7e2tOOQE5zKocmRf3Mggzd7eHvEtQnd3dxSNRl3JgGKxaEaE6HEO553gOllXuQ3W3ch2d3fFyMvLS1siKxYXF0XWh4cHOYfzUMgKpE1t3Y026LouhxCVF8DBhYUFcz9m5HF7e9u5VUOV2pp8dnaWpqamPJMBKysrEh2kNRAOh2VG/q14c7XhILzb3993zYMT2IOCcTo4MTEhkqKgrPCx1gGePxgv6vW6EKJYNjc3qVQqSSG0A+RPJpPiKACS1dVVaQ9UdSwWs+33c6n+47ZYchqKx+NCvLOzI80NiWAMEkFyeM75lx5FdFhD4SCXIEJluxRbTLm4uDjmcv3RLgIYgrfILZBOpymXy0m+UImIDLLCATyHQiFbLq1gB/90bHwrcNPAILwGAaREcz8+Pso6CNsRGZDGx0eS8xXqRgh5DYkgIwZuFQPdyGACfwJ+PHGhnHKUOnkEetS4U72Co/uNWdoC3yovUVqBiD1EZW4fGRk5MwkBjjKIBRoAarXa12AwWLARIpdY4McC9RcnR0dHZjPabhosMOkG9S9S2/8MMLDfRKhljawjoYU4wNXby79OgavxJwrEyFlPhBZinasYH+pPPOMaNL4wMJphJZ553Bt/Zp3wHwTYnvHjbDCuAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-wiper-close .jb-pro-ptz-focus-icon{display:inline-block;width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANOSURBVHgBtVc9TCJBFB52r7jYyCXWnhcbO1aru8RErjGXWBxX2BijGG1svNhJo56VhQU2ViQsgdDQYEFDc5rQ0BDoaMgRGhoKaMhdCHDve+6QZVhgMfglm9mdn/e9v3kz6xEusL+/79c0bcvj8fjpc8V6gCY9VXqK3W73MZFIpN3I80wj03X9il79wh2q/X7fJAXvTdNszkQaDAZXaHF0BrIRcvLKERE/OQ3qYwh/06shXg8vRPl8PlEqlZ4nktoIV8QcgBxwItbfitBOvL6+XioWi2XZp8kXIryaN6FNdpSM8spvthRWUmPaJ25vb4vV1VVRqVSGBCwtLYm1tTUeW1hY4KfVak2hFe+J+B+5+QkfnL2Hh4fI1KAq/OLiQlxeXorl5WWxsbEhNjc3RbvdFrVajVvMkcTlclmk02nRaDTGETfJ1Z+wlTxWLP84zQoEAkwEodlslh+QqZDWY36hUGByp3m9Xu88Ho+HNaokfidCCAIh2kgkMlYQAOtyuZy4vb1lBW9ubnidCioa37klkw0nQrgWgpLJJMfXDUAOBbEO66GAAkOS+tSRk5MTXgjr4FIAMXULrIObz87O1CHv8fHxR03thXAkDhbahezt7TlpzkA8sc7uUngIQIhUgNRr70AWQsu7u7uBEPTBdaqboQTcCIUgXL4DUBzjTrHVDcP4BmVlR6fTYVLg9PSU9yC2CIghEG7HHIC2GluJOGYyGR6DYiDCGEKD/iErNS2sU238QnH9rGqDopDP5zm+EIJ3aL6zs8NEUAKCQSiVwxp4BFaHQqGRwkJoRqPRkEZ7tCjGAAJQHED28PDAVkirsX1kUcAc7FEXWc5c7+iQTltnpyMgHNYgUSSZBL5BhqTBHkVMAZnxKsijMbQ6Vf+/FFe/mFLs6/X6IJZ20t3dXXb34uIihwFuTqVSI3Mt0nPia3LtpVLot461V0FWLiiBZwzMWCx2xOSy5+DgIEya/BRvA1xfvlKxr+JjUBwola/Fy81u7iDCX5JwiJSPHNJm3sQWoTnUp06a57XFIrxW+0dug8guutM8EvEHpxPIJRDDH6qFA2UmrSSrg0SO5HJLjhDdUxue+bLtQG7QqR8ggVvC4beCFHumRMSxVJxEJvEfnFm91YrgD/sAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%;cursor:pointer}.jb-pro-container .jb-pro-ptz-wiper-close:hover .jb-pro-ptz-focus-icon{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANwSURBVHgBtZa/SyNBFMffboJaKAS10SZ7hXqFegGbCyjmUPTAH3eHlZWmULG6u/Kqi/9BLEQRIdoKigf2l1Q2ChGtBLmtFAQloPgL1HvfRyZuJhuzBvOFzezOj/eZee/NZAzyoMXFxYjf7+99enqK8GNxlZVtyhiGYXOZ5vo/MzMzW17sGaVgPp/vN2DkTbZpmqs8wfloNJqh10AZZjEs8QpYAfzx8TE6Ozub9AQFkGf7l55dWLbYTmxqamruRehbAl8CG5UEOvTNmWSmekHCVAgIJVgB9eHHD1bJSTPp7NXe3k68Hejg4CBvdF1dHTU0NFBVVRVdXl7S/f09nZ+fl2BS4Pb29geXMXyIe5eXlxM6FMaHh4dpY2ODGhsbybIsamlpyUFQog/geE5PT2l3d5eurq6KgTPc7x22kpGN5T+3Xl1dXdTa2ipGDw8P5bm7uyvoB3hTU5P0t22b9vb2ZFIu+smxjSOmEbfW2tpaAcJgMpkUQ25ACG4+Ojqi7e1tqq6uprGxMRmvi8P1BaXJLyE34MjIiBja2dmhzs5O8iLAMUGMw3h4yCkOobDYs+YHfXAkEpGBWJ1KJMTUqzAObh4cHNSbAisrK0FTrw0Gg5I4GKiEBAmHwwUzV2pubpZJOV0KD0EIkS6TlxxwViALMcvx8fGcEdQhKzs6OvIGYxLIcEwIxuFSvEP19fXSjpzQ5RsdHf3M5XtV8fDwIFDs0f7+frq+vpYtAjAMwu3oA/X09MgqEcf9/X1pQ/wBQhuyPZ1O56/SNOO+oaGhMAM+6rM5Ozuj4+NjiS+M4B2ZGQqFBHRyckLd3d2USqWor6+Pbm5uZAySqa2tjdbX1+VbU2Z6evoX3JumIoIBHA6ATUxMyCl1cXEhQOxD1ON9c3NT9qjufl2K5a+pqdliA4liHWEc7kOiwMXOvYpvwJA02KOILwS3FoGuoTTlWDKMJJUQ4qwfDmoyAwMDkkiYIBIOsS2iJH7k7MW1JPu3VpbUyYWVw91u4oWtcjyjOSi0tLQU54bvVBnh+vKJry82PnKHAydFDI1UATFwTgHzoIgtZvPW4Cxw1VlX0YtZFhjT6wvOXrgBK+ZnjcqXimHMrbHUZXuSV43kCpE3IUTzvPfjr75s61pYWAgx/Ctndy9/WlxaCsKPzZs+xc8Ww9IvwZT+A8hTw5fcMmXrAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-ptz-arrow{cursor:pointer;position:absolute;width:0;height:0}.jb-pro-container .jb-pro-ptz-arrow-up{left:71px;top:15px;border:7px solid transparent;border-bottom:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right{top:71px;right:15px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left{left:15px;top:71px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-down{left:71px;bottom:15px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-up{transform:rotate(45deg);left:32px;top:33px;border:7px solid transparent;border-right:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-up{transform:rotate(-45deg);right:32px;top:33px;border:7px solid transparent;border-left:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-left-down{transform:rotate(45deg);left:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-ptz-arrow-right-down{transform:rotate(-45deg);right:32px;bottom:33px;border:7px solid transparent;border-top:10px solid #fff}.jb-pro-container .jb-pro-loading-bg{display:none}.jb-pro-container .jb-pro-loading-bg,.jb-pro-container .jb-pro-poster{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-play-big{position:absolute;display:none;height:100%;width:100%;z-index:11;background:rgba(0,0,0,.4)}.jb-pro-container .jb-pro-play-big:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-position:50%}.jb-pro-container .jb-pro-play-big:hover:after{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==")}.jb-pro-container .jb-pro-recording{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:101px;height:20px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-recording .jb-pro-recording-red-point{width:8px;height:8px;background:#ff1f1f;border-radius:50%;-webkit-animation:magentaPulse 1s linear infinite;animation:magentaPulse 1s linear infinite}.jb-pro-container .jb-pro-recording .jb-pro-recording-time{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-recording .jb-pro-recording-stop{height:100%}.jb-pro-container .jb-pro-recording .jb-pro-icon-recordStop{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls{display:none;position:absolute;box-sizing:border-box;left:50%;top:0;padding:0 3px;transform:translateX(-50%);justify-content:space-around;align-items:center;width:156px;height:30px;background:#000;opacity:1;border-radius:0 0 8px 8px;z-index:1}.jb-pro-container .jb-pro-zoom-controls .jb-pro-icon{vertical-align:top}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-narrow{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-tips{font-size:14px;font-weight:500;color:#ddd}.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-expand,.jb-pro-container .jb-pro-zoom-controls .jb-pro-zoom-stop2{width:16px;height:16px;cursor:pointer}.jb-pro-container .jb-pro-loading{display:none;flex-direction:column;justify-content:center;align-items:center;position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.jb-pro-container .jb-pro-loading-text{line-height:20px;font-size:13px;color:#fff;margin-top:10px}.jb-pro-container .jb-pro-controls{background-color:#161616;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;position:absolute;z-index:40;left:0;right:0;bottom:0;height:38px;width:100%;padding-left:13px;padding-right:13px;font-size:14px;color:#fff;opacity:0;visibility:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container .jb-pro-controls.jb-pro-controls-small{height:30px;padding-left:8px;padding-right:8px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-controls-item{padding:0 5px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-icon{width:14px;height:14px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-icon-text{font-size:12px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-speed-menu-item{font-size:12px;text-align:center;width:40px}.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-text,.jb-pro-container .jb-pro-controls.jb-pro-controls-small .jb-pro-volume-panel-wrap{width:40px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item{position:relative;display:flex;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-controls-item:hover .icon-title-tips{visibility:visible;opacity:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-face-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-fullscreen-exit,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-microphone-close,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-object-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-occlusion-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-pause,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-performance-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-play,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-ptz-active,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-quality-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-record-stop,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-scale-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-screenshot,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-template-menu,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-volume,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom,.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-zoom-stop{display:none}.jb-pro-container .jb-pro-controls .jb-pro-controls-item.jb-pro-speed{padding:0}.jb-pro-container .jb-pro-controls .jb-pro-controls-item-html{position:relative;display:none;justify-content:center}.jb-pro-container .jb-pro-controls .jb-pro-playback-control-time{position:relative;justify-content:center;padding:0 8px}.jb-pro-container .jb-pro-controls .jb-pro-icon-audio,.jb-pro-container .jb-pro-controls .jb-pro-icon-mute{z-index:1}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom{display:flex;justify-content:space-between;height:100%}.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-left,.jb-pro-container .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-right{display:flex;align-items:center}.jb-pro-container.jb-pro-controls-show .jb-pro-controls{opacity:1;visibility:visible}.jb-pro-container.jb-pro-controls-show-auto-hide .jb-pro-controls{opacity:.8;visibility:visible;display:none}.jb-pro-container.jb-pro-hide-cursor *{cursor:none!important}.jb-pro-container .jb-pro-icon-loading{width:50px;height:50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAIVBMVEVHcEx4eHh4eHh4eHh4eHh3d3d4eHh4eHh4eHh4eHh4eHiqaCaRAAAACnRSTlMAikwX3CxpwZ7zIGi5xgAAAZ9JREFUOMt9lb9Lw0AUx2Njqm4iGEqmEnBxslKUdhJctFMVcW5wKZ0CLpJJQRw6iVqQbg3FtPdX+l5+XHJ3796bQj557773fe8ujtOI+6jz5p84dHjTkYD4+RhT9CIRZWRPJr1bChnbY532GhT4oUpbI6HEuqvgIH9544dh9J4/rpr0Ms8oV3zMNT7X1MXSmaznzfHjM4n72moe5n8ryYrW9rKRvgf0S93JA7yKa9lbzUg3keJb8OVCtwkrFmoO4MnsAuj5rGqnZg+GZXUXkl9NjEui9n3YA9XgpMgakLXz6ujMTIgrCkPVv0Jil8KgKQN/wRN69hLcb1vrbR2nQkxwiZTGQ5Teb7TO8PUaS8Q03sE+zkjP8qbjzgJtEhRbV4gnlkOFeM7hDYNdxPbiYFvKSHN6L2NmY5WzMYPtplZdTxncRvn2sI+DHIoug22jWMaA12Y7BrXzrG8BX32XPMDKWVzw1bdMOnH1KNqNi8toqn7JGumZnStXLi0e4tcP6R3I635Nc/mzsMxl9aux9b78UVmn2pve8u6eR50j9c0/ywzyVl5+z84AAAAASUVORK5CYII=");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;-webkit-animation-name:rotation;animation-name:rotation;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jb-pro-container .jb-pro-icon-screenshot{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEzMzMzMzMzMzMzMzMzNzc3MzMzMzMzNzc3Nzc3MzMzMzMwv5ahDAAAAC3RSTlMAW+8S2UGVwyyZnOTRhEMAAAEfSURBVDjLzZKxbsJADIYdBQpsSCyVMlXAdEuQYGKpWFk6dWHJgsQ7sMDSpUv3PgITAQT0f7ly57ucQ45KXRAZot+/89k+X4ju9KzL4XOhlm3pR0enYrWViSRPXQIQSASkRSkIJEFRimYCuQAHSW89IOv6SH5TCsuAj68Ab1wDzqkAzqoC7AUAPtgsABgkBBgkCJiNHehGok//KRVsHqd+3Dj1/vukt3AH/Jj05s5/AmyZhFVWXDls44iVvfQWkCvgxU6g9ZdJfCLvjJbYaT3GvjOY4mQSG3SJGjhr/Y1Xohp+TGKqqzexZ/1GVGdNCitt6R8zVvb9d+JmKdl8o5sPWbtxT6zFuJcDQtk92MNmYiXHquYlZlVt1j4P6cd7fgHFW7Nhqu29TwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-screenshot:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEz////////////////////////////////////////////////////////NXt0CAAAADnRSTlMAWe+X2TINXUYZvctoYyuS2NgAAAEVSURBVDjLzZKhDsJADIZLCAsEg8WgEGCWGSwCgZxB4MgEAonB8wQEXoBH4BEWXgPJgEBG0mdgR3u77raRYAgnlq+9+/t3TQF+dKbZcJXSYSnzlViT457lRScKmBqILSFA3GoO8S4E+Ex5JiSJ4CbVdyOQdZNomX9D4dl+ko3NC8vFFmhPy8FIsi0ZlwLBW/LY5BxYYreUSgoFAEmhB5Rc9OCbUoXmTmDadQKTn4y6A/XTaoSKdb6KyGU6RJ7eHgpb3ABinAoil303xB6vQnRahNhXvMdre+fzOgxVrokX4jHAnBh8PALU8Eq8BqgTg/vePF8tpuPy9/NFaalSc273RizarYqfkswjifNMQ/TyTGMv4v87L+ks5gqDbc9OAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzMzMzMzMzNzc3MzMzPz8/Nzc3MzMzMzMzMzMzMzMzLVn6fAAAACnRSTlMA+duduRUwSGSD8toSsAAAAI9JREFUOMvV07ENgzAQhWG3lLSp6MwCViYIRSpG8AiM4FWMaPymDBKESMF/cQ0S136F353vnLuo3gp1kOYEoCXW4LFKIZAnqAXYICeASoAdzgG+cApwgF4EfwF+oDkCqIwA6gnyAKA8AaizQhsBAjzuqUHofInGIQbjRxXjMrTJuHDestR4Bng4eGrN0929PqNfzC6h06weAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-play:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEVHcEz///////////////////////////////////////////8Uel1nAAAAC3RSTlMA+rbVFUecgC7rYhEEz+4AAACbSURBVDjL1dMhDsJAEIXhdeiGpKYWQVKDWc8ReojFc4ReAlPFFQazad7lIGkb0jK/WEPSsZ+YN5mZEP5UrZIP0vgE0Kv3oPlIJlAk8AJM4ASYwAkww2+ABfQg0ImgugPYsfNBVl99kA0AsjOArAPQpRTGHiBB8whxM0y+3skXNltsvMYriIWrpWPA80mFJ5qL3gAfB1/tcAt7rzdiV+HEgs1oBgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEzMzMzHx8fMzMzMzMzOzs7MzMz4IlKVAAAABnRSTlMA6xIU1hVqIuOVAAAAMUlEQVQ4y2NgGFYgLS3RAEQziQFZoxKjEqMSaBJpEAkgIw1ZQlBQRAEs4QhkDeIMDgAWx1gMHyIL4wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-pause:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEVHcEz///////////////////////+3ygHaAAAABnRSTlMA7OgSFBXMmAA4AAAAM0lEQVQ4y2NgGFYgLS3JAUQzi6WlJY5KjEqMSqBJpEEkgIw0ZAklJSUDsISikpLQIM7gAJjhWp6XcaOxAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAHlBMVEVHcEzGxsbMzMzMzMzLy8vMzMzMzMzNzc3MzMzMzMxEZ/aQAAAACXRSTlMADPKKKeBxlV6neZ4mAAAArUlEQVQ4y2NgGDZgJhpowCURAJeYpIQENJEkCgWRgCeShAGyjfgl2EqwS7BFToZJiLg4ICTEImdOh0pwRM6cDJcIjpw5E6aDFeh8B5gECBCUYAkKCoMbNXNSOlyCgUEQ4apJJmxIEkjOVWFgxi4RgEsikGQJnEYp4pLA6VxUDyJLIAUJcRLIwY7qXKSIQvOHWCQODzKIleBPPjgTHM4kijNR48oGkajiYUMykwMAAfmZhUjBISQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-record:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMA8gyMLeRw1x2DBpWGN2QDAAAAt0lEQVQ4y2NgGDbgDBpIwCVRAJc4KIgEZM4EwCU2KSEBHySJCcg29iBJGCBLgHUs24FdYlnNYZiESksDXKJALebMaagES8yZw3CJypgzZ2A6WIHOd4BJgABMgh2XBEtpaBjcqDMHs+ESDFyLEK46aMGGkEB2rgQDJ3aJAFwSUSRL4DQKp+VHcTkXxYMoEkhBQpwEcrCjSCBHFJo/1GIO408MOJMPzgSHM4niTNS4skENqnjYkMzkAEgzyFpeX6L3AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAOVBMVEVHcEz///////////////////////////////////////////////////////////////////////99PJZNAAAAEnRSTlMAMPndsnZj1CSYPcmL6wsdoU80pOJLAAABu0lEQVRIx5VV26KEIAhMA++p9f8fezatFDPr8LSrjMxwiWlqzRuMYKW0ENH46c3WuGyVLXEduuO83UyK59fl1jX5EEUXD9DOaSh43XEP5zUIdZ4pAecTofVnWSt3ip4rx7N61vjnY1D30CpH4QQR8vsP+RA5Rs3KpjfMU/pMim/LgbvH7DF2F8sU0owqapKLqgnhuGWwImUagn2zhUX6WQQoYkXG9WxSAJd700/ygsCpAoliaDsPiG48GM1X5Ft/06sfp8DrDE+3DpekWjxM6366fgEcnklC+AIIWYQmPEeAaUmjFOnhCLDfxZRH+w1gU5b/DYjfNcyJ0p7dxX8B+FwxQVtvAGB5ig0d5gFA5KbzS91hI8CenvlHflfN/XvzJQnxbBEko1gbvVnPii+FadSVRUEaYylQfJtpLB+aRG4LY/80yKdUbCraM0lozGR4ewZ0Wtnj1iC7hjWKNnjYmR62W15cLlL3+2pyMR09jccyuyUrHKsvthc5xsY1iWJ0Xk3t+2XP7AnWwrAQmBH6asXubmL1Z5Lz6o992jWiu9lnMSiQsK27FS9NxhCumZgB2fTBPFsFolhZr5B/D3o9sJAI6skAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-recordStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEwimP0imPwimP8imPwimP0imPsimP0imfsimPwimP0imPwimf8imPwimPwimPxLmg1rAAAAD3RSTlMA15sisGUvdz3szYwMT8H+hDJEAAABx0lEQVQ4y3WUO08CQRCADxBQchBiMDE24KswFlw0Wtig/oHzUWglJBZWio3GDjUxlhhrEzT+ABMrO2iptLLVRluDggI+xtmdXW73LkxxNzvfzuzszNwZhhDzdOxqaPGgYrgkOgFczh90ezAJQmpL2v6OHYnqk2aWxOTtAnu/O/Y5XNZXmTZjo3ot7aESwLdFeqAM0MoJkMf9ltwVQJ9PcQN0UFIJogvdJgLQVFMsAlxyBaPmVBDCE8W7qd+2SDsx0q4OwhSrCG134W54jDfKLjDNxaL8/9AAMM/solptRnoALBbwEPWYrOEzLnrZsTGoMW+fBHG2SiLPUNI6KMOH8QS/XsCMBYQekIEv7NGZF/Rht2yqmA4i3UG9O0iTqgMfhirDhRdU8XJZqqEO8tDAqje8IIt1r+I5HmBjfD9AxQ1MgJQRpc6GJRALHOAS1WRlhMs4VaSFzwIWzCUF3op71kdNsNs/FDCuA58YqCQl7IhN3WbDnlLtfjnuON515WM17c7w41QPOuBIzDT5wqi0T4ESGV3gjtTjkuPATwHoX9+cPRlmmvJ57YAir2qKy459QL/UhrS/uAu3xf8KiX3DI+b22t6jc9F/qfaum9E1pJ4AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEVHcEzMzMzOzs7Pz8/MzMzMzMzNzc3MzMzMzMzMzMzMzMzMzMzNzc3MzMzMzMxdHBitAAAADnRSTlMA8AwGYt0aUcg+til5kgmZywUAAAGWSURBVDjL1VM9SwNBEB12IcGkMagxNktQSZFCYimIJAqKpZ3Vco3YBYs0NkKQgBg4ECtLFSFVCGgQrERBsLayPE0Ip7n5De73BdKLTrE3ezPvze6+GYDfsAQKy/Rz0i/OZJjY9XREuohTKulS+ZFGiADfyZXU5uHktI44VH5apDx554aXwJqloiIwiEsStAjCAsRNF1jCmGqa4Vc+BvS4JkjwzyPE6xiwzsxxeTbZxqjkANSWZFkoIj5bQBl4aBDfkPDNpeRRialB+SRAFz8UU1sAaEUjSCDoJ7iukZJ1V+c01bFczM1pWaa+a0Rp7MHn4V8Z1R9vLLCv9WjKdVFfk77JP+bZdz35YAfKXx6KhKp93abUYVbrj49g9aAYSuFCLbPUwzdCsYEWTloXgw1oGwQbENeuKwxzXhxwAADRMFd+zzRc6AAASY6RH8VjUHaXTrlOpDgCUP3gelc01e2d+f16cWbnQ46BGCRNVsWAWQJVw2xGfUXVv2k1OsLfazXqblzS99u1FwKFvBJioXBY2+r82U75Ab7O0ypVV0wKAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreen:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEz///////////////////////////////////////////////////////////////////+GUsxbAAAAEXRSTlMA3clDHfdfDQbsVG00u4Cqkr04dRsAAAGaSURBVEjH7VXLdsQgCPUBAROdjP//s1UTDUxsz3TRTc+wC94bHsLVmP9hkE8LIdvgupt2tFhcpy2CMZyVxNePEoqDp4hwEGz5PTqWoZNzLrmD9riltBEYzzpZQ8bweXy56Qy6Tivsp5JQYtawuMH3eJlSxIJtdSSa4xer4lMB89pK23mKrwjZVpsRzLq35vEE3+r26h6w5EKppcp3fP2lIpTPWJvoXoobeNI1sM3haHvx56tu2sdElJ54GbnPQ7RZ1sCpl8qPEMXBNQ8vN82jNbzLCPzGSDOZj/2Bqd19R1rELIEbDFrUJfKYdlALbDuDMko/hz7t8DqtCfr8h1Vt4rn7eh/6Ph37ch20aW8McsfGCOXzcr+GOlQG1rJ2HSHUDO/4Mu01qVAqTCpCJfgZ3phTS2pKm5aZOMUbs7Q6nk6L8UzRh6W78jH+gD/VRxHokPuNgUGTaPPR+zDR1mrlvcGgwkAVacSbeoN4Z0rb5/6XLrW/2GTLk2NhXHRKzrqAt9cD4rr4ddvae0NAYgOICdZyvPj4UYRf2BdfbB8iWvnTUwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAG1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxi4XDRAAAACHRSTlMAf3WqJmy+7azWNnMAAADNSURBVDjLxZQ9E4IwDIaLfMzCOTDSOz07OjLir5CR0dmJFVHIzzZtnMzbOzcyZHnuaXpJWmO2ji4GhpAzzZeQzw8FKCj1pMHss9OgpwsGOS0YGOcVUMPsfBVkmJoVCBJW0FFB6SFIaMKAlRGDnEiDkuM00lP3SmL6H5QSh+iIr9ZWVWntUV9Z4qWbHAWrhcUYNLC4Wwm3xb1r2mOQYoVn2EKFAVb81KHiQQq6L3vSUoMBUmSzgCKbVeiL3eTp3Odf8H1sxRAZZNZt/Vt8AHcPQbiQQVF+AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-fullscreenExit:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAe4Fzh7MZbKPtN8gpX19xAAAA3klEQVQ4y8XUIQ7CQBAF0CWhKQHDGtQKQFcURUgqEARBED0Aoqp3IKnoATAEW8MNOACmhQYKcyi6uyjmr+aLqXj56bSbVoh/J3HBxcw0ZfA2c3FiQLGeQcWh1lOVDDJTAeCbCgAR6QqCDj0xCEU5Bl2BIALKMwhdKjGILRUYfCIOEynlvABANk64M5jabJxHfJY2I76yzYu/ZCc0s1WbNYAQ3jxqwMoGHoqWGHpUQajEgcYYcKWFtjLE4FGJQewoxODRDQOqKPPcHl9sfzSXa/0L349tEDsOsp/8+2/xAY+BZBY9KhM5AAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAIVBMVEVHcEzKysrMzMzMzMzMzMzMzMzMzMzMzMzMzMzNzc3MzMz8gU00AAAACnRSTlMAL0jMZKt96hGJsSKv1QAAAJ9JREFUOMvN078KQFAYBfCbJEw2q6SUyWxTnsJT2JTJ6D38Gb6n5PpT6BwbuaNfTnz3fEp9fZwAP7czD0MsGCzBYJcEYsGwBEHQQRB0EII1CMAWdAOzyJUvJ4jyDVyZVHKGpj9guEI2IuhaDFadYnCkIm9I+kPgn8t+kI7kOsT72HcwQnJR9Gofy8DrwwtHK8pLzdeALg5fNb6cdJ1fOjOGYrl5CLFcggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-audio:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEVHcEz///////////////////////////////////////////////8NopmKAAAADHRSTlMAL0TQf2frEaZYt8E+idL4AAAAnUlEQVQ4y2NgoDdgUcAuzr4Hh4TaGQHsBp3BLsG+BoeE2hnsEkCDsEqADMIqATIImwTYICwSEIPQJFhnBjKInUGSUA2CSPCcOcIwB1ki5xRM4iiDDrKEzQlsEuUF2CVY0jbgkDhjMLQkEkj0IM4gQQ1EHMHOOXMiakRpTiQQtXgTA+7kgzvB4UyiuBM17myAM+Pgzmq4MyfO7EwjAAAEf+BAxqI/agAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEVHcEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMztXryaAAAAD3RSTlMAHd4P7ztyiy1OnKhdx7uY2gyAAAAB8ElEQVQ4y72Uu0vDQBzHE45C3SJFaSGjUEiRpJRCBifXokkpSv0DfOBrEKxUUSoFH9ClFAUfU7c4OARRCs5WjThIsJuDlLo4ldvPe8SYxGyCt1zgw+dev+8vHPcvYybvfCR2OgUv2CoLdI62bUn3gq5UJxOomZofXPUNrIChJRklfcDSiKK2bYQ6PiCaREk0EQoYPFYa3F73F+DGsBJLmAjBAMBKakG15KAxqIhd2KuK5reRccBDNbqGJhfSlnNc/kBh4OY+vaoR5QrRC0afKgxMrKdXNKI8yxRENpyd+i0VA6wMm5IOBmORCwfAFjGwolofevbuPrvpGhRgpVaqiJflrLuUQQFRToS9l894EMDe7q6yL7/G5wMATc5mQCiAvQo3HAbwLtyYHQZgTxhohgGUa/CP12EA16W2/Ou4ZEj1dNG9oPMkZGiwJWQ8j+huPoJy9Z/XHTfUFSbAURveCtE5px5vs7hQDKS25FSDn2KR5Up1/lRmIHne7BvKd82LMRJbSjr5M40lmaYZ5/PRpiCpizjJyk+CwOGOzACLpSdz02QxkiuRhd8dNOwkV7zl2YX1mcySKJrQiPkXY9klSt6rkJPRwIlmzrcWSGyzHuTb11V/N0y/S6SdwdCR4m/47OIN7XOQCfwJwHGp8IcfyRdBLEZK4Uxp6wAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-mute:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAP1BMVEVHcEz///////////////////////////////////////////////////////////////////////////////9KjZoYAAAAFHRSTlMAbk2o8o0P5TsGnVojFi/XHcV9urLaq0oAAAIQSURBVEjH3ZZZkqswDEXxLM8T+1/rkw0BuwM0f131+IvDyZVk6SrL8p88QCHp8UAnWmoWoG8AwQRN4/vOiqwUuwWqiob646MMhEW+KnMLMIXffgiZoODBusb7kCzjByF7OOszkOyp4amJ7fWVPwCN6BpyWRypvANPCvi7u4aTXe13YI+KkYA5bMRTSMlLnSyGwisSH40B0FJOrKVB6iAw2U7sGgPgQ/DTPQjitCOZT4Q6gWCtGwGFbSM34ENUNSpAKTACmC31rnRgJwjDdkFAJpfkAsZcAJvCSVQB2FaWWKdB/ATMAHwIUYL21lRBZRDiC5AnsBHBUqxEyaraFMoz0AnvHNa6xDWS34FGgNf6PYAEZoCt+BroUWFVbeb5HbCqSvB2cToyca+Adjlycdawt0C/HeyScl1W/w3gsU3aAd7JF8AuAN6isr7NAogXAFeq59Ec7ifAm49hF8wCMWfVNXAeCAkjEGuBr6R5ZGJzBrl4gGniBME+w8aMMyCsNZtfaemnmYaAQ6I3Rz0fnDhHJxc93Vrr7sHWjP3XRtTba2L3EkdFVaPC6YmXxKI9DGF1YPLdiwfD2r37cL5nDVw+uKzU5K27hsXCXPtyC2uyyl0D0p2TY7VaIvFYWU0Dm8TdOXmrVp52HG4lU4K/N38PpS/Kw70dbmb/sC0WCcQwNNzzjrzUj7veUyIIyL/4m/EP8V829O8zh5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAM1BMVEVHcEzMzMzMzMzMzMzMzMzMzMzNzc3MzMzNzc3MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxDm1AzAAAAEXRSTlMAHqw+E8It/gjxc03jhGDTlgAjE2kAAAI6SURBVEjHpVbZkoQgDBwg3Of/f+12gtfMbK1Yy4NampCju4Ov1y8ruNyyo9fyCibVlNW6vUu29GpWQwTVdPTernqwffHex0WP4Nro3k+PrMKCvew/PcZ95aoNsY9yua+cGxTZsnf2K7ch4CAdGnWwYx/5LgKZCgxGdrhH3BeqNmnwviFXPZbQJmcM25HJ5n7/Pczr2QqksMJfO7BJOHLKLWFdMiL1QXYRwFagMklb4GB1zS7s8Le3fqH7Q28tVLkKdIzeaOJB2OKtY8KfTQCUa4++dNsLbrqpTR7xguHGt8hfg8P+seuaEkNdBjahzOD7g1cHP21SL2LtMNBKMdTRJjffTX1wVgrsEb1ITJU6QknwYJAcQky2cE02NbzPp70KyKggtpu9xM7Ik+CBIqY+8FrYyRUkrs+MEm1TG6tG9LZxNDNFGDue63TYGgIHqUUcuNhvhyZtn5LnlDq3Juxa4noCuX0scErOpNMDCrVcHPCS5rFGuQR9KZpxnB6CQ0ZO+AIBcTPk3UdbTx1L7jLEEHsMW7ZYm8NlIFyxn8+xdL7MURYEhzd5k2N2TabxIAORwC2r00QQfNSgrnqTJfh7cDmDu9ggtV0EZFr7kGu4KAxtNDln406TLwF9iZCIwn9EfjPuncRHYm5x3NfK3cFAS5kWxljSnTFlPHBAUFg5HsCCVOd9cdwXq+027un2QJlMjqISJutCDceRtTTuT4+1Q3HWHR8cu0fh9sGvADTYH9iLah/9nPz5+/MDJnQfoIVoAnQAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptz:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAQlBMVEVHcEz////////////////////////////////////////////////////////////////////////////////////1bZCPAAAAFXRSTlMAeVoYDS1pBiPv4/g6lkzO2qSxvoixscijAAACi0lEQVRIx51W2ZLcIAwcLnPf+P9/NS2wp5xkq0ziF3ZRC3R0i/l8fvi04oxx89n+RBi1sqB38TKw7lw7lNzDa3U0e57bHhJ4d567HlqGC08eLAj9Gv8XD4/OwtsdhlfCW2s9LfWtuNrMhG1uLWP17Xh14LF4m8dx1OJ9jkm85YCYch5JzDVy81on3MFYkpTNYGmHHloYI+aqlNhlh5ZSvmH1AyBUwPcMX+u/clW3XYvA2YgRGXyZIZX6PXv0l3GlV9Jp9FKcK7mytJIg8xEeBdaBtV4P8tAixexnp73tY7ZBkrk9WEL8t7ZUDqtIA3jXa8sODSeUVqw5aztT+g4QeNAgM0PGTA0+EmfVeUvU0CEW4hX+lt/zseE7jJKDSmi0EUKBhr7EAMKPvNjOA9Fz4Yk/CFgcGRSdkYOHCLRxQfzKRN5SB/b5Ot8SzzQiKqcb6ipFdCfi1JI84OBdxzarhJ8RkpxHOQszl7bpn0GpmnXq6R4OfTkwwlyUWzeQg7rSLNhNUzEUEqJF3DMHeeXgqRIaYwHimLKipK8hMZOYVfJ5oKtIFSgXk5z4KcNx3GOIPGYfPigh9YGHBNQKVKbZhxMnqq+OHfWBHARZfWm1dnfSXfJuXInplse8wy39zkisdQ5kuLY+Bpc5hwGiH8Mx1rE24DFaLqXkfrNVkjk+8JPTPF0bUw+R9MCVuA8ks/xDyF/9orMqpBQeiob5RbIbmv7/TxvoX1Oqa914TsYg7QUWx8Y7R89JQY8mY6Dat1G5GARuMOgYHY9cbL1vNvc++fk67olLk4nrQSl7457OPqdeKn+vEwm4LPzW87DyXvqIyei9znHS+cZz9SxV+Qf8nNbjn37NkDx4+PmCXzHOLUMtjgmUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcEwgmv8imPwimPwhmP8imP8imPwimPwmmf8imPwimPwhmP0imPwimPwimPwimPsimP0imPoLqfILAAAAEnRSTlMADprCJBnU/gXwh3LiUKxAXjJ/ELXKAAACbklEQVRIx5VW2bbjIAwLa1jM9v8/O7Iht+09MwPlpS2VwLZkJ9f1lxVG1joPdZ0u1ZIxurhv8DH6dMpQI5t439GAEc7xYPgTRnAtV7plReRhd5kDP8+fd+wzt70yPhIJzWT7/6DCJCAYLReZPMIuJC4pClSktHqbNpJO1aTmmAme3cvtWs9NSfq52CPhnJNjlbVHwgmWSWGHeQHcKFjj7fygwidf2fa4mbVOuladcnsoDn9/CKKAWf6HEtpANiJvUp9Fgr0SvocPP/sqjOCK9ktpyCAo4Kt/d4n4/6baseNKAt5XrauPN1A4ZLAd30RUI4kNfELVx+yd3lrXYIg1Bp/B/dGs5N8mPsJoVyiwkofQSlm+K9aiwmoQMDoI4wefoK/rhkESrSuV+BR2i6HZH9juLzxCtBmn6rFmB66gNJQwBOSxncT/N3FAlxAoLQfJDy2+6rMLI3aznl9fhOcGSdZzoNhex2K3TXJEVe3M4Zb6QhHuJc5BWakYIqqietcPw6FK+EHofUHRqtLEQ5X8dKVENXXgEpLOpcjwkFI30YFVHE8fyx2ShZJ/ydTKlZwZ4BCOv/af9uMi0DILe4kieynScgPbhai+DRDckTT6N6zJpI3HMghM3BMg+q9pHmwrbR0Q0D5wc0JHPy0E5Ur7Nf3Rk68LnR0NHfO28/T5P4cNr+uLFR7eEdiNxvMRbd5Onlqsis4iIVdme4di3akWOz+3T0aUnFWHa8QZrO51NO69MeLPafrNuBenxel/3d21j8k/jyxf+75OQabFxOtuT94G3Lpjzb0zBn2Dl0ep/waPidQ/p/XB60Dp7e8F/QO7WSJg4zEzdwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-ptzActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAANlBMVEVHcExru/9ru/9qu/9ru/9ru/9ru/9ru/9svP9ruv9ru/9ru/9ru/9ru/9ru/9ru/9ru/9ru/+3uxEqAAAAEnRSTlMA5q0cR/PC/ggSKtN5OIhaa5izIOiAAAACV0lEQVRIx5VW2ZLjMAiMToNu/f/PboNsJ5PaKWv8kKRkWkDTQF6v/zyUfO+JX9sP1dKKd/v2acQcm992kbo1R4il7iHIif0BRNtCUOozH4cikAdt2YfjRLTnzN15/8I85wFCI2xDzlnyMLO7R0aFoTzbFGB+jIkYLkyePvmW8d2fs2ZfZuv8It9s6zvV5uSr2LmKb9oVh37QvpjYOcf8fcO3Cb1jGqOU0SvTTd6X2KUBLgKdLzaiDtE2n+isTh8/+AX7E6/Vh/NNSyfVm10RXIe1nxXRapmsDQB7SMnkmE0IxgqvUn0jteEf1T2CHXgr0gjZllGk1HoJL7lD7fRpD20CgJcwQ6EdSh3lLK0zVfuqz2WvPlPJh7HqnCQ4MysxoAYQE0vHub/toRuqzRy5pEUvbg62MzlJQn1MHBe1x7WSAddpNDSN1c9wRMhKfi2jrICwAIsQvHkD7Al41bOrBNC1Y7QdmSg15LDokGETJB/imxYJKfmFMDqI3FjUkDS3NSEDjBaxknRYSb+4nj4kC43W2OKrkqGB8jV2Fq03YiWbhHQTpUV1mMHXWYf8HlNX7ZUQRC6iwBAIK0r0ILr1UxqKsPattAkhwSIiMl76bT/Ft/TbTy2jHQoM7Cz9isHVMb6GILl0H4DGivbw7xNc8rAtiJn3O/qvD6JT/wgs7Y370ZSdWmbZWEKiG1lXImldW7Q1jGMbZW9tUVKZmGjjGvf+EXAqzWiX5OfFSHVp/zjbfGPc3whdcbTF67V2N1e79qYMru2/AnzVYFsdWFt/+nOypv8vQvoHou4gOtSrG5EAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTM7OzszMzM3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzW8hQDoAAAAMdFJOUwC/gO8ra6tUQNmVEKtAA1gAAAE4SURBVDjLzZMhT8RAEIWnpS3tXcWdQ6wgOJIKfFdUICv6AyruB5w4EuSJCwRXgUBWkGArLsEi6JVuaZkfxawguSWz/p7azLdtdt97C3ASagp+PpeXPDjHVx7McMWDCBc8qPCZB4m44YFIeOBh+ckCf9z+sCCYqi8WvA/5Nwu26cfA+JRBs4h7WmX/tr9AXcQHAPdgzEPZh5idTQBOZ3zyiModISKQGxZ7dd85E0SKfMGjM7vXeI/5AE5LvrwpcK9IOrQYB5BlCsFIvjzgrkaSjsBZbmC9XsGsAxfn8gKXpL9sSlnQFBwFTTuaKWXgI5Ar+sfHTrW6DUDO+2jEEtCNQ9wL6gNujMvvdFS3eugxGT51fBXxTvF1wLLngbT0BGphKalAy0MQ3Z4Ha2V7UoMFJKkFVAWcvH4B0OJfd9YsTl0AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performance:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwD2qdfrViyAwW2XORBGtSCsD6SyAAABN0lEQVRIx+2VzQ7DIAyDYfxToH7/p10CbQ+T2s33Rb1MijM3/qDG/EurolD9zSNRggBU0hFelMABmenfADhGkJDhGUFGgiX6I1AAQlDgZK/td8ELtQORiTmIq42I2bYdCD8NjzPmYQxO+rbn2S5qzEUF6YjkgcJude56X3s0SoL7LRAeylyaVPiFq0Jyx230mpeXmXVOHssRbhackhCq25Sny++xcBW1n6Snqw6BTgrqRP6kzfDcgmRLGonDWSf2OecwB491dOrEVZpNsxiyiHzWJ0Z+BbBwzaoWVb49HrqVfSkxHen7WNznLhzl8xpQlT3E9oHUtYaufB+7NY9g9ctbjFfj/h1DwXUrzDltMn1Ql9M814EQWPLmEBg4R7JSzpFQxTmSBMkLvJKOhFHfKEEnv3L/+qw3DuMPzAFH9pIAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAtUExURUdwTBGW2xKV2hKW3BKW2xGW3BKW2xGW3BGW2xKW2xKV3RGW2xGW2xGW3BKW2+P2IvgAAAAOdFJOUwC/gCvzq1RAleURc9VmrA9rXAAAAT9JREFUOMvNkzFLw1AUhU+SxtTahnZyC+IsIeAenDuE/oJQcS/FTYTi6hKcHYpDZ/EXBME95BeURpM0Me39Db4Mgk/u23umcL8kvHfOucBBKEr5eW95xoMjeuBBlyY86NOQBwt654HrPPHAca/YuUHrDQsG9eybBWa1+GLBqvS3LJiNX0vGJw/R0N6LJ+/f6x9I3uwG0D+luRU0FnmdCtBy6ZM7KvQdjgXwJYuNZVNrFfqF8IX+nFm/oBvyS2iZ8OWxgH4u1IZmU4kgfoa5E77c0jwhoTYCbTRFGE7QrXFCveCURkK/2cRBCp2gFYiyWk7Jw4AgXOmQZMAqa9uAeCP+JsViihtb9OKIPtBUuvy8jeqyHRpMhvc5X0W6Lvg60HrPg0DREySOoqQJKRbByRWbExaqlSoVwB0rwCLFwesHquttxhcsa64AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-performanceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTH3G63zE6n3G7H3F633G7H3F633G633F7H3F7HvG7H3G7H3F6xOzy+EAAAAMdFJOUwC/hKbvK0BT2XURZct0z00AAAE3SURBVDjLzZMhU8NAEIX3LiSUNqI1qBMMChFRgYxAd07E4CI6HQwzEUXgKjC4CH5ABAKJyA+oaHqBJO3+KPaYYSZh9nyfyuyXu7l77x3ASSgu+flYX/HgHOc8kC4wwikPMnzhQaTueKAiHvi43bFg0m4OLPBM9sWCjyb9ZsHm8NkwPiUQT8MjfSX/fn+F/C3syJf9YB7oLsDkjIaiHix5QCNbGBmAFPve+3lXi/0viLB3ZnmDz5g2ICry5daAvCbZhSE2oIsFeC35ssJljiQbgZitIY7nIGu4wLG+xBnpL5tClxQhCANR1Q5TSmCCQK7YjftOVbYNUOxot0EsHl0uwHdFfcD14PJLG9W9HfpMho81X0V8MnwdcHvkgS4cBcqVo6QKHQ9B1a6XY1zAcSiIFg6QlXDy+gEd714RcAqEowAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTL+/v76+vsDAwL+/v7+/v7+/v8DAwL+/v7+/v96T4QgAAAAJdFJOUwBAgSCbs9hZap+hQJoAAADvSURBVDjLY2AYRkAJCAygbEZBQUEBKJtpJhDAOJpA9kSYxESgKphuIaBuhASqyYzESjC2hDRilQBZ64BFgm2qMLPYNCwSkQpAwlMBWYIRzJsKYrKCxZSRncKSDFYzBSNY2MD2MqRhSFgqgClPAwwJBxwSbAk4jGKZDCKZp2JIsEOcOx0ztjQDYL5ENwsYJKrTsMSvGSgepzVg2pE5qSikPRPT8sopBuDod0ATZ54JsbZyBrJgAVAp1Ax2oPXMykjxYQaLA2CMoERUZQDMrgBUCc8CKIdzAvHJhyQJpLQLSu0TCaV2lPwBSu0KQy+LAwBuJj5UbruNggAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-face:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTP///////////////////////////////////////////////w2imYoAAAAMdFJOUwBAgBvfrFmcw4wrbtGliFoAAAD2SURBVDjLY2AYRkAJCAygbEZBQUEBKJvpDBDAODpA9kGYxEGgKphuIaBuhASqyYzESjBu79yIVWIP0NoCLBIsR4WZJY5gkYiZACRqFJAlGMG8EyAmK1hMGdkp7M4gkus4RrCwBIApFwwJmwlgqsYAQ6IAIrEAwygHHEaxngJbfhRDgg0sxHoMM7Z0AmC+RAPsJ4S5NE5gid8VoHg8sgHTDh/PzM60HkzLc44bgKMf3RKuMwoQ+dNIgswJDAycUDPYjhgwMCsjxYcJLA6AMYISUTkBMLsaUCVqEqAcngPEJx+SJJDSLii1HySU2lHyByi1Kwy9LA4AqflRBKNSA88AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTBCT2xKV2hGY2hKW2xGW2xGW2xGW2xKX3BGX3BKW23povfoAAAAKdFJOUwBAgRybs9hZLG6hrV9tAAAA80lEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTgmZiFViFtBaBywSbEuFmcWWYZGIUgASXgrIEoxg3lIQkxUspozsFJZkEMmxBCNY2MD2MqRhSFgpgCkvAwwJBxwSbAk4jGJZAbZ8KYYEO8S5yzFjSysA5kt0s5YKc6guwxK/baB4XDYB045Vi4pCyrMwLa9aYgCOfgc0cY5VEGurViIJMhcAlULNYF9mwMCsjBQfZrA4AMYISkRVBcDsCkCV8CqAcrgWEJ98SJJASrug1L6QUGpHyR+g1K4w9LI4ALk0RHtSETFcAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-faceActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAhUExURUdwTHzD63zE6n7H7H3F7H3F633G63zF7H3G7H3F7H3F68TinBIAAAAKdFJOUwBAgR+Z31ipwW4yAjb9AAAA+UlEQVQ4y2NgGEZACQgMoGxGQUFBASibaRUQwDhaQPZCmMRCoCqYbiGgboQEqsmMxEowTmmZiFViFtBaBywSrMuFmSWWYpGoUgASXgrIEowgHtsKEJMDLKaM7BSWYLCaJRjBwloAploxJKwUwJSXAYYE2KUMVRgSrAFgKhTDKPbFIJJ5OYYEG1iIfRlmbGkVwHyJBlhWCDNrrMASvxageFw6AdOOqKCklrQuTMuzlhiAo98BTZx5FcTarJXIgglApVBr2ZYaMDArI8WHKSwOgDGCElFZBTC7GlAlvBKgHK4FxCcfkiSQ0i4otS8klNpR8gcotSsMvSwOAIs+RIlIrewIAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA51JREFUaEPtmT1oFEEUx9/bnRALGxE70btkZjcR7QMiRisRbCzEQvxCLGyEhCDRBC/RoNaWFgYLFUSwUBAUDKKFFqIQ3OzNJpfCyspS8HaejNyG87J7t7N3l03gttydefP/vbcz8+YNwhZ/cIvrhx5A3hFMjEAQBDwMwzOmAi3LWhBCLDTr5/t+ycSubdtLnPOncX1iAfQAlmXdNBmkru2RVgBSSspg+5kQ4lRjv1iAIAgqRFTIMIju0i2AWNvrAKSUowDwLqP4tACm9rWmbABCiFxXKimlhu0BtPFHtdc19wj4vn/Wtu3XnPOfWVByA5BSngCAuwCwryb8Hud8EhGNltANB/B9/5BlWXcA4GCMx/8g4jjn/H7aaGwYgOd5BxhjcwCgPd/0QcRVAJhM2l3rO3cdQEq5GxFvEdH5VsLX7aKIH8MwLLmu+zapb9cAFhcXt/f3988AwJip8Jj2L2zbLg0MDHxr/NY1gCAIpohIJ2V2BwC0iUd9fX2lQqFQ6cQvtJbICSGOxHhlVOdKjuPMl8vlqzrxI6IdWUAQ8Um1Wp0ZGhryiYghYrUtgDQionxJT0al1IwGkVJeBAANvieNDQB4joglzvmilHIXAIwrpX67rmuUamfKcxoTvnoQ3/dP27Z9g4j2J4C81KBCiC9LS0suY2yMiC7rttoZuQBEQhsiopfT6wAwUvv+hjE2XSwWP0kpRxBxgohO1kPmDhAHEgTBUaVU1XGc98vLy8eVUhoqbpPLPwIx6/wqEV2ovX8AALzZ/Ng0EWgQGa1iLQ8xPYCUyx8YHjt7EWjm2I7sAy0it7ERqNWEDkeiklIJg8pFWwC1ZC6SM9NYc1oXgcaiVlxVYmVlZW8YhlMAcCnFvOkEQPqqRBqASLTneTsZY3pjapZSpwF4Y1nW7ODg4Ie202kTgGiwSqWyrVqtXgOA6Zj0OhGAiF4R0azrup87dqDJAlA/eLlcnkDESQCI0us4gOdEdNtxnK+tfkHjA027AJEgKeUVANBROVd7p3fixwAwJ4T43kp4nR2zylynAOoE/JuAiPiDcx6kFb5pAEwF5zKJ2xXZrH9uc6BTUD0AAGh639Xo6bjUI+G/NglS+p3Y87wCY+y/2ozJSGkuRDLekQFjbEexWPxVryfpjuxhllKhNtwtAESc55xHx9M1hsR0WlcOlFLHTLyv26Ypi5hesyql5oeHh3VBeN2T6TxgCtXN9j2Abno3je0tH4G/KbtRT7VUKs8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-object:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAwdJREFUaEPtmTuIFTEUhv8fLSxsFrET3UIQRHtBRNdKBBsLsRBfiIWNoIisD1xfqLWlhYuFCiJYKAgKLqKFFqIgoiBoYWVlKbjwy4HMJXs3M5Nk7tzZCzfdvZPk/F9OHicnxIgXjrh+jAG69mCpByStB3AgQ+AcybmqdpJmEvv9SvJhqE0QwBm4lGikqD4VAaCMvh+R3NffrgzgB4DJDCPWpC2AYN+LACTtAPAqU3wsQGr/pikPgGSnO5Ukgx0DNJhRzZp27gFJBwE8J/k7B6UzAEl7ANwEsNEJvwVgmmTSFjp0AEnbANwAsDUw4v8AnCZ5O9YbQwOQtBnAdQA28nXlp/NG8HT1G7cOIGkNgKsADtepDnx/C2CG5Muytq0BSFoJ4DKAUxnC+5s8cSCf+j+0CXDBjAJYNgAA6+Keg7AwpldyAXqBHMmpwKjYyThJclbSSQBWfyIT5IF5kuQ3SctJzjcCiBHhxUu2GM24gRx1IGtj+gDw2I34Z0mrbXcC8JdkUqidFecEAj4fZD+A8wA2lYA8NVCSHyRtcGvouKtrg9EJQKHVB7Ht9ByALe7jCwAXSb6TZP+dAbC3D7JzgBDITgDzJF9L2u2gQoectV0yAD7IEffjDgC7plaVJQdgYotdLOYSMwaI2gETr51jD1SN6qDOgSobw/WAywltLxRVhBIxi7LxInaxUCHHFvmCpFkorWInoR8LheqsA2DB3LGIRdPIAznBXC1AIVrSKncwVYXUMQB2Sl8h+SYQOCanVaIBPJAVAM5aqBAIr6sAnjnh78s82aoHQkYlWYwz7YXXIQCLRK+R/Fg3BYcO4HnlhPPKIfefTYX7dm8m+aVOuNdP+1OoSow79KzKL5LfY4UvGYBUwZ0s4qYiazzY7RRqCtfZIm4qfGBrAEDle1e/0FDoUTKvUxiT3gfsaWlBbibFUsyDiKSkBK9nf4LkH19P2RvZ3cxUIVoEmCVZXE97DFXPrJY52JUy+lY3Ji2S8cxq4i3jsahk3QdSodqsPwZoc3Rj+h55D/wH5CHfQHNA9EUAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA9JJREFUaEPtmU+IE1ccx7+/N7O0BwUn24UeRKOd7LalvS+I6HoSwYsH8SCtLf1jEqWoyLJVMfEP6nlNIgi6eFChCB4UChaU0h7aQ1GQrnFSdw9e/JNs9LTFzPvJZI27m8xk5k02m13I3sK+33vfz/u9N+/7fo+wzP9ometHF6DTGfTMQF+mYNqwd6sKlFLcK++P3WsWF8nkUyr9stAeTcXN624xrgDVAUgcVxmk1lbaGPIFyFocou9fSonYzvo4d4BsYQLgaIhB0EYA174bAFaNWpuFhrthxDsxQQCMrKXUPwGbvfr2BSglYh39UjmwXYCwy2kh4jqegd5M/itdaL8+i5vPwwB1DMDIWNuJcBbA545wAs4V4+YIiJQ+oYsOYGTzGwniDIANLjP+hkCHiglzNGg2Fg3AGB3/Ugj9NBO2+4ujSSaMeJ2uc+PbDhC5aK1GhU6CeY+/8IZz9E+CnSomBn7zim0bQF/m4QqbPkgDOKgufH4EAzdZaKny3vUP6vtqG0BvtnCUwY4p01oFcOIZuCJ7elKvvo9OtLyESMN7IzeViA3VC3TshiY4Wkz2j0Uyj3+aMX5shAIhuia4kn6Z+DSPu6xjiCotAQQRMeuXaJJYpqsgOetbcBV8TZA+ANxgotRU3Hz48SWr7800DjHL6VJyQMlqh/I5jYZvFsTI5XcRa0cA/sLDv98iieMv98X++Sj7aEBCPwjwD9W2LNMdAqhJnQMyc5D9DGBwRhzukK4fK/647q9I1hoE6DDAO+ZBdh6gEaQ3V9hi27JS3tf/u3Hhv20kpQPldsgthQw0fOcnpc3fVK2EhosEmE33x9LJwKxM54Lj/Ap0SeoCBPz+qVw7uxnwmdQFOge8R1n0DDg1ISaxqSbJy0oE2pTvqhStbOK5FQy2ka6vOTVkoL6o5VaVWHX+yVoh7KMAvvPbNq1mQNmNBgGoiV55fry3R+jOweRpqQMBMO4wxImp5Cd/tGynVQBqg0UvT3z4eroyDMaxenvdHIBvE/GJYnzgb69MtjUDboMa2ceHCTQCoGqvPQBuSOZT5WT/fb8luOgANUFGxkoQYVja+Lq2iQm4ygKnS3tj//oJf9+PamUuzBJqJsY59Jz/9wh6+iJpFoIKXzIAqoI7solbFdksvmN7YKGgugAMNH3vqp9pN+vhtq5VMqT2PpAbjwrW59VmVAYL8iASCfdGBvm/bpQPrCvP1eP+RpYrXA5XKgTaBkA0Voqb1eupL4DToFo5YLlVZfadtkHKIqrPrFLIsXL8s0k3LaHuA6pQ7WzfBWjn7Abpe9ln4C11Qo9Pmb2aMgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-objectActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA8hJREFUaEPtmU1oU1kUx//nvthx4cJqX3RgGLsQBNG1tq8Z7axkwM0sxIX4hbhwIygibfPMeyapunY5iymzGAURZjEDAwoVm8SPhSiIKAjtQtAmiooLiyb3yEtNm76+5L37kjQp5C2Te879/+65H+eeS1jlH61y/egCtDuCNSOQyH3cWirNHVIXKO6kYvqdenbxqVlLxS8J8Txp6Ne9bDwBnA5IiIRKJ5W2LDHsB2BmC6zqmxk3UkP6AbedJ4CZfTsNcL9qJ077VgHU8r0MID5V2EsCk2HEBwbIFdT8M/aGBkgaelt3KtOB7QKEnU9NsGt7BMyp2cOa4P8tY3M+DE/bAC7cK+xnxmUwtjvCCXzFHtRHiEhpC11xADOTjwG4BCLDY8S/MvhsyoheDRqNFQMwc292QmppEPb7i6MZgEdqna7V9i0HSNx/95MscRLgo/7CXS0IWS6VrFRs8+1ati0DSEzm18kesgGcURa+3OAfSGklY5ueuP9qGYCZzceZySKC1gQAgPkvXtNjpXatn258CmlYSOSSg/qwW+B8usH9SSM6Ec/lTxM7iR/3hgEh4Jpk2Kkh/UVikiP2MBUbAggiYjFfchajtB0QM/fuOFg64D8H8QHQTQ3CsowNT8cffdLnPn8+KyXPpWKb1FLtYJ0tbbU84asCyRYOEmiMwTtq+P63JJAYH9AfxTOFbUTlNXRyPlmTdpsAKlIXQZyDDJJGGbx7/l++BSHM5EDfg7HMm91CRM6B+fdqyA4AWA5iZd/++hWymDaid+OZ/G8EGgXB65DrhAi4Jw3NsORj5VRC4A8AW+tN2Q6KwKJM54b2HcD3EtMFCLojqVw7uxHwGdVQ992OjkC5JqSJPRXw2qlEsMpFo1OonMx9/7gE211z8iirLC1qeVUlxrLvtwgU4wBO+K2bpgCoVSX8ASqiRx682hgp/jBaL6UOBsC3pMTFdCyaaUI6HRyg0llicnptqWfdeTBMd3pdH4D/kyQupgf7HtaKZIj7gDpAdefxzOw5IjECoJxeewEQ6CZBpmwj+thvCq44QEWQmZ09BYjzLHFk4SQm/C2KIm3/svGZn/AFP+qVucYi4BbmbLnOb5rGr+zB6MugwjsGQFVwWxZxoyLr2bdtDTQLqgsAQt33LvdIe6UenvNaJUQqJ3Hi3ut+KSNLajMqfQV5EAnzRuZoEF8ivfZw74dqPbXeyP4MVSoE0DoAmkgafeXrqS+A08CpHBDTPpXRd9oGKYuoPrNqETlhD/w446Ul1H1AFaqV7bsArRzdIL5XfQS+AaeCtE+rbksUAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACCVJREFUaEO9Wn2MXFUVP+e96X5oa9UoYpUszrzzZlqLKDYhgAFaaKU2+M2W9Q8TNUQSQEsiRUjFVaHGNmoBMTUmaPwD2iIhqKR8WEBFGkLFUjbtzDtvpjYrVhpCXAtm1867x5zxvnXm9c28mR13b7LpdO65557fveeez0GYp1Gr1d4VRdF7lL3rui/n8/lX5mMr/H8wDcPwIgC4QkQuAwAVWv9eA4BJy/8sAHg7ALysf4i4DwAe9Tzvj/3uP2cA5XL5CsdxNiLi5QBwUkQeQcRHrNB/JaKZZuGYeRAA3gsAZ4nIBkTcAABLROS3xpjdpVLp0bmA6RlApVI5FxE3OY4zGkXRdkTc6/v+c3PZPAiC80Vkveu6Nxlj9ojIjmKx+GIvvLoGcODAgTctXbp0CwBsEpGHEXEbEf25l83a0TLzh0RkMyJ+AgB2TE1N3b5q1ap/dcO7KwC6AQDsRMQhAPiu53m7umHeK00YhlcDwC0iMg0A13ZzQJkAlKmI3A8ADyDi9Z7nnehVsF7owzA8Q0R+BABXIeJY1mF1BMDM3wSAcRHZ5Pv+nb0I0i9tEARfRcQdxphvFYvF8Xb82gJg5gsA4FkiyrylfoQVEScIgttyudxLhULhwSQvZhYAuJCI9qftkyrckSNHzs7lckdFZJ3v+0/0I2CntRMTEwNDQ0P3i8inAeCUPmLP8/Y2rwmCYC0iPl6v19+3fPnyvyT5nQZAmQ4ODv5aRF70fX/zfAk/OTk5PD09rcbg4/EeiPgPEfkUET2dALENEc+dmZm5cuXKlf9unjsNADNvBYD1AHAJEf1zPgCUy+UljuPsQsSPpfD/m95Is29h5rcAwO8AYC8R3doWgDopx3H2I+IXs17/XIEdOnTobcPDw3ry6zrwCKMo+kypVDoU01hreK8x5oJmZ9dyA0EQ/AwAhnzfH5urgJ3WVSqVd7iuu8vGTB23SLM+QRCoOZ/2ff8Ls2oXf9DYJpfLPSgiH+nGgfQKcGJi4szBwUE9+Uuy1orIQREZKxaL5WZadaiI+Ey9XtfbacROszfAzL8wxtQ62dysjdvNM7MGcSq8Rq1ZY/+pU6fGVqxYcSyNsFKpjDuOkyeizycBHBeRjb7v/z5rh17ma7XaSBRFuwHg/C7WPYWIV3fy9kEQXIyIu4no3bMAqtXqZcaYnUREXWzSNQkzFwBAhf9wF4v2RlG0sVQqncyiZWZ2HOfaQqGwr6FCYRhuE5E3E9F1WYuT83qluVzu74VCYWfzXLlcLuqDBYAPZvEUkYeIaBQR61m0Os/M9yDiG57nbW4AYOZnAeDWpAPJYsbMNwLAD5TOdd2L8/n8Hyy/FfbkV2bxaKgB4s89z5u1LFlrmPlSANhKRBfGAPTBrCGiatbieN7GSpoaDut3IvLa4sWLi8uWLXvVbvBUFi+NchFR00/V6+16ollr7AGpaj5JRCMxAL06VaGWNLATM2ZW4dc00yDinZ7nbdLvrLXQaDZ1iMi9vu9/ySb/BwHgTAC4kYh2ZIGw6ekbRJRDy+AlIjoja2E8X6vVilEUtdhoOzdBROdY4fcYY0Ydx0kDcQ8RXd90m+qVH9P/qwPTf9WcK5+YJmnemfmE67rnIDOfBwA/JaJuLEWDHzNrAPZwGmCNGnO53HYAWA4Aoykgvk9EX0uuDcPwBhG5KwahAjOzqqHqewNYMwhm/hMAXDMnAEEQaP76vTY39v4oiiZd1/0VALyzGYSI3OH7vubVqYOZ9fE3NEENin1LDdqkgZkFMBcVqlarG4wxv0mR4nUiWqLfHz58eGTRokXfdl33tnw+n+pVu1XZNLpZFbIq0fKIm6yIOhX10K8g4t1E9IDSa84wMDBwHBG1WNU8NIObDReY+RYA0EqDhhJqbQ4SkRYI+hotj9gCaDGj1Wp1lTHm+ZRdvk5EDdVh5h9qiaWZBhHXe57XCLKYWVXoygSPk0SksX1fw3r4FjPa4shsVqanP5DcyRhzebFY3Hf06NG31ut1fWQNT4uIWzzPu0M/d3gjTxPR6r6k/+/htDqyMAy/Y4zRPOCmmLn1zprYJ8eriLja87yJSqXyScdxHtKSi4YCVvgxRLyvjZCpFqhXQEEQbHccZ9rzvG/EsdBFIqKmVK1AYzQJl8Z/NH4PzHxV/NkCuAsRb0hb1C4x7xUAMx9GxGu0ONycD0yKyGcTuegLAJD26K4joh+nbczMe7QolZwTkZt939/Wq7BJeq2nIuIviUgr3v9LaDSdFJFjKR7vtMcYOxXVRWPMpY7jCBE1PGiz84k3F5G7fd//Sr/CW80YR8SROK2cvYFOKSUzr0PED2hGZYw5ISLHrafUx9QI2uICmFY1RORsx3FmEPE5EXne8zz1mn2Pjiml1d+ekvrmqHO+K3hWvvZJvb2ensoqCwmgq7KK1eGttnuyNqsSvVAAtGINAE9oF6hjYUsB2EaG6vWx2La3U96FAmAt28jU1NTqZOMjtbhrGxovZJXVFwJAXGYHgPPS6lVtS+dxY6PT41wIAFpe79To6Fj7j9PCdmX2TvF6vzYzLqtrgyX2MWk8M5sXcaNDRLQjeft8Vaxj4bQSLSJbEFHjsraNjZg+E4AS2obHTzRb0kxsvirXVm1vBoAT9Xr9y2kNjeQtdAVAF9kQW5PseW+zzszMjCcbGe1UsmsAMYOURveTc62nap1TRNYsSKM7eQIaO7mu+zkAWAsArwPA45oXdPNTAxutaillsTqoKIruW7CfGqRdpRaHReSj2lvo8scezyDiY1qc7dda9axC3W64UD+3+Q/fZENVhTDr2gAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusion:hover{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-occlusionActive:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAACJpJREFUaEO9WntsW9UZ/33HaZJCX7S5TmhalQ1NaAzGYJUgvk7pe5QKusGa0v0xaZvQkKBbK60BWl/b8XWKaLWtUJg6IcG0P+hrCMHWlcdK2OLrFPFYGdU0ac+q9BHfFPoC2sQ+33SufVPXvfa1kyaWolg+3+t3zznfd87vu4Qx+nQfONc8yF+0KvP1NPHoxjsm9Y+FK7oSRo2+fh0I3AUpFwHUyoxWIv6EiI4o+8w8m5mmE+EowEchxH4g95rZ1myN1v+IAUR6M3eRwCqAFgM4C8ZeZuyFmHDk9OmpH2+7my4UB7fmj9wwderpWZBDs4mwHOoPmAzwn1hiV7I9+NpIwNQMwOjtvwWC1gLUwVJuIfA+s73lnZE4N3pP3M6gZSTEeoB3Q/JWs735w1psVQ0g/t6xq+T5uogkrCXQKyDebIaCf63FWTlZI525FUydDF4hGFtFYzYZnzvz82psVwVAOSCI7QA3MuMJU9d2VmO8VhnDsh8gwuMAnWfIh6p5QL4AlFEAO5ixp45yj8T1lkytgdUiH7dOBLMceIYIKwGs9ntYFQFELDtGQJyJ1yZDwadqCWS0spF05qfEtJWl7Eq2N8fL2SsLwLBOtgEybeqa7yyNJthYjEVucSYqRN1HCX3GS6W2DMtmQIRMfUaflx/P4GJ9x6+Tsu6/xGJpIjzjzdEEWEk3tvtQvZzVsgPM9zEwJJhXJMLBfcU60dTJJUzyDSGyX+pqu/Z/pfYuAxA7xPXytP17YvowEdY6xyr4dekjEydxo0oG9170QadY8neS7drbl4KwNzPxLWKqdk/XTTRYPHYZgGgqs0kSLQsExJ1dd8w4MxYAOlP25AaCCv5uD/vHIHP3FdeW2IGTU3I5+WfBvC8RDm4oC0AVKRbUR6Af+u3+kQJ7rPfwNXVi4k4CLS1vg/+Vy/H9m+Y1/82VUdmQwc+T5LbiYnfJDBhW5gWAGk1dWz3SACvpxd8705QbHNwJ5kV+9r2yj2HZOwA+b+rBH7j6wwDyZxt6CcThagqIXwCl47GeTIusJ7Vs7vTTZfDBHGVXPxGa+Y9i2ULFTrHk+92z00UAlv1bSPmfSjnXz3G58c6ej2c1TGjYCYLub4P6JAZXd+szD3vJRnr74xDiy0ld+74aHwZgpOzjknhVtx78i7+T6iU2Wp/OEZzdBcLtVWj1BJB7oFK132hl5gmmXWZYu3YYQDQ9sIiZt5u69pUqnFQtErH6rycWKvhv+ioR9l2QWLU5rJ31kzUs+59E9FAi1LTfmYFo2t7MzFebevBhP+XScTWlVCdOmG3a9uKxSMq+QRB2MvANX5vML4shraNrAWV9ZQEYVuZZIvosEdI6HQCGlUmzpA2lBcTPWLTPXscSv3DkmOeZ4WCv+ho7cPLGXC63i0A3+dnIj9NvTL1pOLP46UR67fkkeJOpB0MFAPZhxoSFSX3av/2U3XHD6m9j0H4CTSz89kmgoeGG+NwpA3kH6PGzxcAOAbQyMI8IW9QT9dNR4xHr1PWEobdMXZvjAIik7OzpM01Xl14DKxkzLHs/gIXFMgR6KqE3rXVsqqUlRKy8DX7e1IM/2nCgvzmQFQdBaAFjnRnWtvqBcK6nUwY+S4a1OlLswfnc5x+ZejDop+iOq/VNhEtytLOKwIeSevBmFXxgQt3u3FC2wwsEMT+bCAcfGbZn9S8liNcdG1J2qf8qnTsps/ApTe+Glck0Bq66mWJ99m3MeC4R0vwzRcFYpM++lyRe8QKsTo1STtgC4KsiQB2lIAj4eULXflaqG7UG1jD4aReECthI2z1gzC/+zdWLpu33ifDgiAAYVn8nIJ70BBAQX/siK480CLwKJq0YBIG7E3owUm6mnc0/JJ2VoBKK2ksXZ6DkhOoCGMkSilr2cgb+4BHIOVPXJqvfN1rH5giqT0gORLv1azyrarVL1ktueAl5beKiLKL4nuMg9BPxtkQouEfJOxeR1ubjAKaXbOJ0Qm8aPi5E0gOPE7ACzLMAtBJwMKFrt44mcKV7ySZWPxjWpWk0lrLnSsK7pY4Y9FhSb3KWjpG2fwmGk3HcD5NYlgzNcAgqI22/CsY9JTbOmro2ZbQALkujpYWs8IRVSa8vdUa53OLEvJb9sZ5Pp3F9tsettAyKJPWm7vwDKbNHCG+bIW3BqAFcVsj6BkzkuNEMa+td4woUQG0ezgYCCCyI69MPRdL93yYWLyvKJRnWOpy1n7ZXC8aLXkGWy0C1AjJS9hYE6LzZ1mTkK7EiZ6V4ztS1G11jbnCegRB3uPshms6sdL87+8nKPE2gNV565S7mNQOw7L9DyAcVOXzxOG3ZRyBz3y2+ixqW/QEAj01HD5t606+8HEdS9u4CKVUyLB819ebNtQZbKq/4VIjA70xdm63GigBkXmDJhy+reB6b0b3u5fO0nA8hOKlrTgUtLj7Dmxu8LakHfzLa4J0Zdo4oNMe9VlZ1pYyoUk/i62DSAc6wlMfzpf7ioc0lwAqsxnUEugDB7yCLd8127f0rEXzFK2U+e9R2qfcCcCUCLWej4qXeAVAjrTKeAKqiVRQItQQgaLng3BI/Jnq8ACjGWlLgTUjeW5HYUgCcRsZgfY9UG7qQ28tN6XgBUJlNCJoj6gcXlDY+PMndwmb5wI9WHw8ALs0O4tu8+KoK9Hq+sVGJXh8PAHl6vXyjo3KDo3AtLEezVzqvjzYbubQ6A3G3xpQ5nlR25TY6iLGF6kRyrBhrNwrFRHNWRpiwvlJjw5WvqvuSb3gEfs2gIAFPjhVznU+VeJTAGSFyP/ZqaJQ+7qoAKCXV+OBTdnw82qw0TYuXNjLKrZOqAbgGShvdLOitkfKpiuckyQvHpdFd+gQUHQ9B3yPGEhDOAfwGS9pT1asGgldCNTgYk5igCtSL4/aqgddUKnIY4G8xc7ialz2IKAXQ64qcHW22qnkJVetwvF63+T9nAHfjRfzL0gAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA1RJREFUaEPtmT1oFEEUx9/bFLFKJzG2WiknZObFxlO8RtFC8SuFWlrYGBtRRNCghV9YmFQWgoVaaAS1ULRRRKvbmYBBQezVYBOIGFMkT0ZuYXPufOxdspuDO7jibmfe/H/z3sy8eYvQ4R/scP3QBSjbg8EemJyc3La4uHgUETcx82YAWNum+N8A8IWZrxLR41ZtBQForUeY+Xarg/j6MfMVIrroa5f13AuglOJWDLfQ56aU8mzefk4ApdR9ADiW12ir7RFxXAgxkqe/FUBrvYeZXzQbY+bh3t7ed5VKZTrPQM2eNHYQ8VGGjTtSypOhtq0AcRyPIeKptCEppTfkbAM3AxhbcRwfyYJg5nEiCvKEVZBS6hUA7EoEIeJ+IcTz0JlpbpcFYNrYIBDxlhDijG88lwd+IGJ/YoCZ1xPRd5/BUA/Mzc31VavVWRcEM18jovOuMV0eWLL7tBM+RoBS6isAbEzERFFUHRwc/JD8dnjishDikg2iSIAJADiU8uhdIjqRFuZYEweI6Gmuc8AWs6EhVK/XR3t6eg4zMyKiEQ/MvOSwQsS3iHhhZmbmY61W++UIp/dSyu2FAmit3zDzTjMoItaFEFuVUt8AYCB0ElLtZqWUfYUCZHlQKXUQAJ60AAC2Nbhia8AWglprAoB7jYQwmGXVACSKzRqJomgLAJjvBh/JqgPwCQ7dRAoPIZ/w5HkXIHQGQlOHvCd56PjdEOpoD6TShT/MfD19OXeFQCPnOYeIaxYWFiaGhoZGQ9Pv5nZthVA6XWjkOsMJRGj+b/IhIURtVQCkIUJvYKUCONLf/+67tjuw+T+rLlTYLmSDCDmwbOIbF6CgC1Vba8B3m3JBuMQXDuC4iGQy+MSXAhAKESK+NAAfRKj4UgFsEHnElw5gBGit9wFAUqy9kbco1vY2Gsfxsha2QrbV1K42gIimAPDvw8zTRLQuy0ZhpcU8AMZ7zPws1ee1lHJ3LoDlLu7mAcioZFuLvYWV130AU1NT/fPz8zuyqtWIuFcI8TKXBxo7QaEvOCyQD6SUx20T4K33F/iKKVOj7yrqBWhsiSv6ki8zNBBPCyHGfKEXBGCMrMBr1mZtPxHxEzN/jqLoYbr07oIIBvDNRFnPuwBlzXwybsd74C95KWhPrxIhsgAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-logSave:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAthJREFUaEPtmTuMTUEYx3//TrWdeLRUJCrReISGUBCvLVAqNGiEiASh8IoClUKyBQqPBAWhsREqnYRE9NgoV0T3yci5m9mzc2bmnHvvOXuTO8ktbs7MN//ffPP45hsx4kUjrp8xQNcezPaAmW0EDgFrgLXA0j7F/wG+AlckPW5qKwvAzE4At5p2ktHusqTzGfUWVEkCmJk1MdygzQ1Jp+u2iwKY2X3gcF2jfdS/I8l5O7tUApjZTuBlwNIk8E7STHYvQMCTzs6jgI27ko7l2o4B3AaO+4YkJadcVcdlAGfLzA5WQGR7IgbwGtjuCdoj6UXuyJTrhQBcnQjETUmnUv3FAH4CyzwDKyX9SBnM9QAwIWk2AXFV0tlYnzGAebtPP9OnEPkNWO2J2STpQ+9/xBOXJF2ogmgT4Amw3xNyT9JRX1gEYq+kZyGIoQGY2UXgAPyPt5x4V8qH1TRwDvgk6XdkOr2XtLltgLfA1qLTj5I2mNl3YEWDdTQraaJtgAVryMz2AU8bAFC1Boc5hYKbgJmtB6aKgDCbZdEAeLuOWyPrit+qFMmiA0gJrjr4yu1an0Ip4Z6Hss6hMUBu6FD3JB9PodwRGGkPeOHCX+CafzmPDUAR85wBlrgwQ5LbUueV3AHsaxGbmR8uOAGTPYga8f+0pG2LBWAOosYNrFOAqith6L5bdQee81optG7nHIjE8DlnVlB8EVa3AxCJ4VMAleJbB2gAERXfCUANiKT4zgAyILLEdwoQgcgW3zlAIWA30EvWXq+bFBvESTzQxFZqSyqdAe7i7xIAvTIjaXnIRmupxZoAznvPvTZvJO2oCzDQ5G5NgPKbRGWyt7X0egrAzFwedktFtnqXpFe1PFAsxLYfOEIaH0g6UjUAyXx/i09MQY2pq2gSoPDEsB/5QuJPSnLrMFqyAAqIQT+zloX9Aj4DX4CHfuo9RpANkBqJrr6PAboa+V6/I++Bf0in3kCazcMZAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTMDAwL+/v7+/v7+/v76+vr+/v7+/v7+/v7+/v7+/v7+/vxtcv/AAAAALdFJOUwBVdZCpGdZE7C3B0wnY6AAAAV9JREFUOMt1lDtPwzAQx20ghGwVsHVJhQRDlsywWKqEULsw8FhRJ2iWiglGGJvFCw8xIVVCSEwkKU25L4ftpOHs2Cclsu7v370smxCLecRh+xOH8Ja5kGEs/6dtYf1XONcWZurbwwRCQjYZ9l7uHAPAOBHpI1QC/QSY9g84ldmnAn7Z3htwsfZnvSe54eJd5hlcC7gccxTwSETZEr5+714vLRdfkFraVNtetXLpR7ha+mkHCV1Y/q8ZOW8AgDkecsIaAEIcGbIGyLUq4KcBYl0o7QAB4FZACBMrQKpaJOCZQqyAIhgayYEpgD1DZghXCvBTNJFKmCvgzmhcCEsBwMjSRx6BslYftRX0JLYKrAsLqzDC54EFMwvy58QhMM8hFNq0UpwET+sLC9/4BmEBTytyRCIbDoAEiR1Qp1dbRxfoyv9g3ogaKVuXhVZZbtqX6Ez6H23PxG4CM259QDwt/h8ABfK8nDqSAAAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoom:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwCCyreU7KZVRCDaZnETLwj6WaYVAAABUUlEQVRIx5WV2Q6EIAxFoVBWxf7/184AOnGUsvTBqDmXrqRCzNou1kwGtyZIQNuiD0P6evWTURFUMtIoPO+iVoGIZPkMqkdKA0jZgoJ6suQc2EoiGBldOoQ9HSDk5+GTs1Fqo9IlcEpvNv3qv0MBhSalIFSv3+MCJCY8fUaCxasycrMu9dp5VTUhubXZ6CqsAvn66ZAsx+e8fON37oT3bZ4aiRU0kDlavGSrQI95HPBZACt8FuCL16IruBVkzBeBW+CLYHvyfiDQd96IpHpOMqP++fAq9VMQ7rwrM5+6gjwG/3y/D/m8ylPYpvpAeqO7DfvwMPO9D6jnBabG56YFZx77fEjD+9AyLdYEhp8nxoNh5wmJtfY8AS+wzIZZrJNcC4h3wV8IH1p87Iyfnc6XVaAd7ICHAsebw97zgDSxZ/yvViiPuYUfTe650knM2+7Ywz9yOCklzohLOwAAAABJRU5ErkJggg==") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAzUExURUdwTP///////////////////////////////////////////////////////////////8/RimEAAAAQdFJOUwDjmTC6Y0KBVakX8s8iC3JYR1wyAAABVUlEQVRIx62V2baFIAiGcwJRS97/aU/Zbtht0VzrcJOuvl/AAabpXy1RF0F/m2h2PX5mzucEuO9gMon1MY7KlG8w4LImC1XFQmxDGVkm1DYpXi0qS1gXTEGzKoqNS1ajAxPqJDikFLcFS+aukYJffRfXnAj9kYUXFVi86wzzPjuCFRXBwS3KaC/Pt02Ww7uf1jz3BVYtX/OsyDQFDn7yswPXb+Ovs39eJJWwxrOXV4thgC+//QBf/uMAXwAa4AuRBvgdWR58CB2B+eaRG5e8QO7Jn2sIAvzhbdsDnXzev8q0BengGXv8EciH3y1CY5++yI/BRNx82g/La7lc7b0Am/tUC6n3HoZ4SbDyy5BgzSNivV6wbPXeIPOpHlOU+CjkTQKvQOpXdRdJvn+5xttWQa4EZUOzluonT6+q72X6Zb0+T/lNhQd7hg9vm8LWUhW5gT4iN7c/0ZUo8Q3AttYAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-zoomStop:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURUdwTBKV2hGW2xKW2xKW2xKW2xGV3BGW2xGW3BGX2xKW3BKW2xCX2xKW2yDN61kAAAANdFJOUwCAVKxm3T/DmhrxKw97YQBGAAABaklEQVQ4y2NgIA6wGqCLMCqAqV4HdIm9F0Ek22UMM9hiG4AkVzQDA+cmx+YyJJnDlw8wMNQaNpfevbu0QgxJgrN3JQPD3VvhjU57kESnOZqvvXuJgcEXxVFMEkDt1w11gZYwoVgue3d5SzaQSgCydZG1TMkBU8vBuq9guBcqNBNDgj0GQrMEb0CVYEmA2ViANRQZ795tQPZduADciXcVUNSthGu4hGrAJawagBIXsWoAClzGqgEocRWrBqDIrQNQDTPRXZ8A0cB41wBNQgGiQfbubTQJAagGDB0GIA0OsnevbkCTCADiu4J374ahW34JqAEIbiXMRJOAgkvMKJYgJBx6717AKiF4F4eOu+jxgQCXGHBIKPDgkBC8JYCURJDtQHYWN4oEcvpZiyR+C9lZtkgSKKG1CyGOGrxItleixjrcLFBWRAYcMIkG9NQMiY67N7AlcxAQwMwA6SBxM2xZQ3jtVRPsRQ83sg8ACMIUxzzE8wsAAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-close:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTP///////////////////////////////////8kBMKEAAAAJdFJOUwCt0igUwJdJePGbgLgAAADcSURBVDjL1ZMxEoIwFESTCaOWFDapqeicnAALTiANnaWlnVewDTMW/7b+aCAb8jkAVIHN2/lsNkrt73lf8M08nnF1pAYFR/dFmAAx7SIoi4iDbRrWDMAuQFzmmxAGbjjJgjj6dCjMCAND/o8RWQMzUgIRKYE/wsC5TJIRR74rBUZaqqXwLZEXT0WTDGwLW1aavJWQir9qadw++NgykWoMNtcykh8Q5EECgr5C+jjpGjHjPGhPU5eVzyfPJitfnUyhPg6ywMKZ7BygcYcsPCj1Kc8uXYPqpeSLs6PnC4w8S+8OJ9MLAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-narrow:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABS1JREFUaEPVmgmoVVUUhr+fosKC5ogGSsqIpKQwMqjIBpsICdMGQ7ISo4wGApugJCoxLClssElpNEuaI5okKjOI5onKhEQrSiKiaKA/Vu3zOu+8c88593qvj7fgcO99e6/h33udtdda+4khThri9tM1ALaPAQ4Btso9GwNfAyuBb7JHUnzvCq0XANuTgePSs00bFr0L3BuPpF/b4BswtSMAyfDzgYPXRznweQ7ID53IaguA7ROBGcC4TpRV8IRL3SNpVrtyGwOwfVYoaaHgW2AZsBT4CliXnt+BXYBd02d8D5c7rIWc+ZJigRpTIwC2rwauKZH6NLBA0jONNQK2jwJOAU4FtijwPgpMkRTga6kWgO2XgSMKkjoyvGiN7d3SwpxZGHsVOEPSmjoElQBsPwScVhAyR9LMOsHtjNu+Hri8wPMBMF7SqipZLQHYvgq4tsA8S1KZK7Vjb+lc24cDsfJ5ul/SlLYBpGjzVIFxsaTw2Z6R7S2BnwoKpkta0Epp6Q7YfqEQKl+XdGjPLM8Jtn088GzuT9/FOyjpkzL9AwCkQ+qB3OSPki9GOrBByPZ1wBU5ZY9LOrkpgDcLJ2zlFvYCke2NgFcK58VkSRFU+lG/HbA9EYg4nNE7kkb3wsg6mSWesEhSMdz2z0Zt3wRcnBO+wVc/0217WMpesyRxraSd6nbgfWC/NOm3OP4lRVowKGQ73sXIeDMaJ+nFvDF9LmQ78pR8nr5U0oRBsTwpLQnn8yTlPeR/F7I9HngiZ/A0SXcPJoDQbftHIHOjLyTt1WoHLgBuyQ3uKylC6KBS8UyS1C/w5F3oRuDSnLWbSPqzynrbkSdFfG6nGstE3inpkbrVsf0Y0OfKVQAWA5OSwJWS9mggPEJuhN5OaLWkqBMqyfZ9QF/4rALwPHBskrZC0pgGwsPFRtbNazH+s6TIfeoA3JqqwH/nVQG4HTg3SVsnadsGwiMznQYMiM91vKmgP7tuXjHVrgJwGXBDTuC2g3kGZHbYXhQVWva7CkCkyg/nAIyRtKJuhXo9bjuSyOFJzypJ2ff/XCqHdBTwXs6gmZLm9NrAKvm29wY+zc1ZKGlqnqeYzH0PbJ8mLJM0dpABTAfuyNkwVdLCKgDFGniEpC8HC4TtaONEOyej4cUaubgDFwLzcgw9q4HrFsV2pAxvANuluaWpfRHAAUAUNJsmpmhrjJa0tk5ht8dtRx0cITqjAYlcv5c49zJHKI2QmtEG3wXbcaDGwZrRamBsmTuX1cTxEi8H8qnEJElLur3KreTZfgk4Mjc+Q9L8svmtuhLnAUWGka06A90EZjt6UdGTymiJpCxHG6CqqrHVL4lKnMMkRaXWE7J9M3BRwXUmSnqrlcK61uLbwIEF5lGSou3XVbJ9F3BOQeglkgJUS2rS3P0F2LwgYYKkaKWvN9neGYgT//QSYR9Hil/lurUAQqjtOMyK9UEkWXMlfdgJihTn45CK1GCHChmVIBoBSCBixU8qKIrdmRuXG5LigqOWbO+fjA7jizsbqcxsINLsfJ3REkRjAAlEVQUWbfDncjc0UYz/BewJjCh8lgGNZvJsSctt75MabLUg2gKQQBydSrwyn63dgRYTrpQUdwR91BRE2wAyDbYPSk2nuPOKVW6X4t15EHhS0mdlzE1AdAygsFpxwX0CEJcUuwM7lhgULhW5VRgeHYnXmiBuAeI2SXHN272b+gKgzRKQrYFIBNdI+qOJwQ13oi8/68oOdGpYO3xpJ2LV/45zI/t3hSEDoBXYIQ/gH99H3EBePlczAAAAAElFTkSuQmCC") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand{background:url("data:image/png;base64,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") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-icon-expand:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABYZJREFUaEPVmXmoVVUUxn8f0WRzVkJlIWVGUmIJWWADTVaUldFclCnSQBQYNv1RSCWGVFRSlkRh0GBS2YBmJWGJUBHNNJiYWQSZfwTRxBfrce5jv/3Ovefc++4z3oKLD/fea61v7bXXdMQQJw1x/ekKANs7AOcA44Ddkt/2wJbk9z2wTNIP3TLcgADYvhw4q/gFiLq0ClgBLJf0Ud1DZfs6AmD7UuA64JiBCAf+BR4GHpH0TSe82gJgO6x9PXBqJ8JanPktQABzJP3VDu/aAGzfADzYhPnPQLjFUuA7YHPx+xPYHxhZ/Bt/nw4c14TP+8CFkjbWBVELgO2ngfD3nJYBCyW9Wldg7LN9cigKXATsnJ39HTi+7tuoBGDb3VI852P7QOBO4MoSGaMlfVtlmJYAbL8HHJsxmSdpdhXjdtZt3wPcWnJmhKRfWvFqCsD2PODm7PBdksJiXSfbJwDvZIzfAM6VFG+plEoBFNHmlezEc5LCZweNbEcSjMSX0iJJ09sFsDwLlaslTRo0zRPGts8AXstkTZYUOvWjfjdQJKnFyc7PgCmS1m0NACHD9t3AbYm8yNiT6wKIWJxm2JmSFm4t5QsA2wBvZ/liuqRFuR59bsD2JcAzyaYPJU1oV3nbF8fjAw4DlnTy8Es8YYWk06oAPJnF5I6sb/tF4LxC2CZJ+3VghGFAVK17JmdHSVqf8uq9AdtR+kZNsmOx4Y9I/5KiLGiLbEc4jLDYQ5IqE2aZANvxFqNwbNBNkh5oBiAsFpZr0FJJU9vSvNjcRQBRPKbhfJWkE5sBuBe4JVmcIemJ/xNAyLb9a+JGGyRF+dFLqQstAK5J1g6XFCG0berWDRQA8py0raR/et2z8YftiD4RhRq0naS/W2lv+2wgIkNEm5x630BRaufrj0l6tso6tpcAqSuPkfR1GYAoic8sFtZJOqgG8w+Ao6r2NVnfKCn6hJZkO4+MkyStLgPwJhB1etBaSRNrMA8XG1u1r8n6Fkl7VJ21/VDRBTa29nHt9A28AJxf7NosaXgN5lGZzgD2rdpbsh6N0MyqcyWl9si0Y0sBPA6kVd/wTnJAKNTlR/wUcEUCdBdJ0bX1UArgPmBWsnGipLVVFipb7zKAKCJHFXL6uV0K4NpiMtDQabakaGrapm4BsH0o8GWiwEuSosbqpRRARIQNyVq/rFcXSRcBxBt5NJHbvJQo812gVmOdA+sigCifpyX8x0v6uPQGCgDRWEeD3aCOemDb0XrGm9q1KKevrnt7jX22DwFiqLBX8X8rJZ2S88n7gSOBaGiiMg3aBEyQ9FO7Cgx0v+1ooiJEN2iapEhqfaispcyLuo5uYSAAbEf7GBOJBkXpcETZdKIMwN7AGiAtJS6QFIluq5DtlcBJdVy52VglD6nBa6ykLwYbge05wB2JnLckNUqcfuJbDbbS0qJxcJik6NQGhWzfD9yYMI9ucKqkGByXUtVo8ceSOmecpE+6jcB2XsqEiFmS5reSVQVgNNBbeyeMwioxSh8w2Y6GPzJ+2os0+H4OxPtr6rqVzbbtMcBXJZpGkTVf0qedoCjifCSpq4B9WvBoCaISQDC2PQKIN5GPF6MqjCuOsqOpn6bK2R5fKB3K75QpHpPouUAkvrTPaAqiFoACRMxpwuqNniE3WsxrXk++0EQzHr3rwVGSZP+WGTymD3MlrbEdLerzdUDUBtCQaDvSeXyQKPPZTrwpztwuKS1h4tZrgWgbQALkaOCy4hNrn1FHTRTxdmKQ8LKksjdWC0THADK/jtQ/BQhQBwBl7Wi4VNRWoXhMJN6tA7TJTSyQFJ95u/OlPlfEdjzOALI7EIVgzEfb+nyaGSh3p4h+Pd1jV26gjiUHuqe4ibD6eklRqvfQkAHQzABDHsB/7aMVT352GH8AAAAASUVORK5CYII=") no-repeat 50%;background-size:100% 100%}.jb-pro-container .jb-pro-menu-icon-text,.jb-pro-container .jb-pro-quality-icon-text,.jb-pro-container .jb-pro-scale-icon-text,.jb-pro-container .jb-pro-speed-icon-text{font-size:14px;min-width:30px;height:20px;line-height:20px;cursor:pointer;text-align:center}.jb-pro-container .jb-pro-speed{box-sizing:border-box;text-align:center;font-size:14px;color:#fff;width:90px}.jb-pro-container .jb-pro-menu-list,.jb-pro-container .jb-pro-quality-menu-list,.jb-pro-container .jb-pro-scale-menu-list,.jb-pro-container .jb-pro-speed-menu-list{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;overflow:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content}.jb-pro-container .jb-pro-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-quality-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-scale-menu-list.jb-pro-speed-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-quality-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-scale-menu-shown,.jb-pro-container .jb-pro-speed-menu-list.jb-pro-speed-menu-shown{visibility:visible;opacity:1}.jb-pro-container .icon-title-tips{pointer-events:none;position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:rgba(0,0,0,.5);border-radius:4px}.jb-pro-container .icon-title{display:inline-block;padding:5px 10px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container .jb-pro-quality-menu{padding:8px 0}.jb-pro-container .jb-pro-menu-item,.jb-pro-container .jb-pro-quality-menu-item,.jb-pro-container .jb-pro-scale-menu-item,.jb-pro-container .jb-pro-speed-menu-item{display:block;height:25px;line-height:25px;margin:0;padding:0 10px;cursor:pointer;font-size:14px;text-align:center;width:50px;color:hsla(0,0%,100%,.5);transition:color .3s,background-color .3s}.jb-pro-container .jb-pro-menu-item:hover,.jb-pro-container .jb-pro-quality-menu-item:hover,.jb-pro-container .jb-pro-scale-menu-item:hover,.jb-pro-container .jb-pro-speed-menu-item:hover{background-color:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-menu-item:focus,.jb-pro-container .jb-pro-quality-menu-item:focus,.jb-pro-container .jb-pro-scale-menu-item:focus,.jb-pro-container .jb-pro-speed-menu-item:focus{outline:none}.jb-pro-container .jb-pro-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-quality-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-scale-menu-item.jb-pro-speed-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-quality-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-scale-menu-item-active,.jb-pro-container .jb-pro-speed-menu-item.jb-pro-speed-menu-item-active{color:#2298fc}.jb-pro-container .jb-pro-volume-panel-wrap{position:absolute;left:50%;bottom:100%;visibility:hidden;opacity:0;transform:translateX(-50%) translateY(22%);transition:visibility .3s,opacity .3s;background-color:rgba(0,0,0,.5);border-radius:4px;height:120px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-wrap.jb-pro-volume-panel-wrap-show{visibility:visible;opacity:1}.jb-pro-container .jb-pro-volume-panel{cursor:pointer;position:absolute;top:21px;height:60px;width:50px;overflow:hidden}.jb-pro-container .jb-pro-volume-panel-text{position:absolute;left:0;top:0;width:50px;height:20px;line-height:20px;text-align:center;color:#fff;font-size:12px}.jb-pro-container .jb-pro-volume-panel-handle{position:absolute;top:48px;left:50%;width:12px;height:12px;border-radius:12px;margin-left:-6px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:before{bottom:-54px;background:#fff}.jb-pro-container .jb-pro-volume-panel-handle:after{bottom:6px;background:hsla(0,0%,100%,.2)}.jb-pro-container .jb-pro-volume-panel-handle:after,.jb-pro-container .jb-pro-volume-panel-handle:before{content:"";position:absolute;display:block;left:50%;width:3px;margin-left:-1px;height:60px}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-controls,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-controls{width:100vh}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-play-big:after,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-play-big:after{transform:translate(-50%,-50%) rotate(270deg)}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading{flex-direction:row}.jb-pro-container.jb-pro-fullscreen-android-rotate .jb-pro-loading-text,.jb-pro-container.jb-pro-fullscreen-web .jb-pro-loading-text{transform:rotate(270deg)}.jb-pro-container .jb-pro-contextmenus{display:none;flex-direction:column;position:absolute;z-index:120;left:10px;top:10px;min-width:200px;padding:5px 0;background-color:rgba(0,0,0,.9);border-radius:3px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu{cursor:pointer;font-size:12px;display:block;color:#fff;padding:10px 15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu a{color:#fff;text-decoration:none}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span{display:inline-block;padding:0 7px}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span.art-current,.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu span:hover{color:var(--theme)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.jb-pro-container .jb-pro-contextmenus .jb-pro-contextmenu:last-child{border-bottom:none}.jb-pro-container.jb-pro-contextmenus-show .jb-pro-contextmenus{display:flex}.jb-pro-container .jb-pro-extend-dom{position:relative;width:100%;height:100%;display:none}.jb-pro-container-playback .jb-pro-controls{height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center{flex:1;display:flex;box-sizing:border-box;justify-content:space-between;font-size:12px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time{box-sizing:border-box;flex:1;position:relative;height:100%}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-inner{width:300px;height:100%;overflow-y:hidden;overflow-x:auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time{position:absolute;left:0;top:0;height:15px;width:1px;background-color:red;text-align:center;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-current-time-text{position:absolute;box-sizing:border-box;padding:0 5px;width:60px;left:-25px;top:15px;border:1px solid red;height:15px;line-height:15px;cursor:move;background-color:#fff;color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll{position:relative;width:1440px;margin:0 auto}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-hour{width:1440px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.half-hour{width:2880px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.ten-min{width:8640px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.five-min{width:17280px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-scroll.one-min{width:86400px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-time-list{position:relative;background-color:#ccc;height:48px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-day{height:100%;overflow:hidden}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-one-wrap{height:8px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-wrap{height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-controls-playback-btns{display:flex;align-items:center}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one{float:left;width:1px;height:8px;margin:0;cursor:default;position:relative;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.active,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.active{background-color:orange;cursor:pointer}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one.start,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one.start{background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-one:hover .jb-pro-playback-time-title-tips,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-second-one:hover .jb-pro-playback-time-title-tips{visibility:visible;opacity:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips{pointer-events:none;position:absolute;left:0;top:100%;visibility:hidden;opacity:0;transform:translateX(13%);transition:visibility .3s ease 0s,opacity .3s ease 0s;background-color:#000;border-radius:4px;z-index:1}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips.jb-pro-playback-time-title-tips-left{transform:translateX(-100%)}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-title-tips .jb-pro-playback-time-title{display:inline-block;padding:2px 5px;font-size:12px;white-space:nowrap;color:#fff}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute{float:left;position:relative;width:60px;box-sizing:border-box;border-top:1px solid #999;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left;height:25px;line-height:25px}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child{border-left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:first-child .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:first-child .jb-pro-playback-time-hour-text{left:0}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour:after,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute:after{content:"";position:absolute;left:0;top:-8px;width:1px;height:14px;background-color:#999}.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-hour-text,.jb-pro-container-playback .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-center .jb-pro-playback-time-minute-text{position:absolute;left:-13px}.jb-pro-container-playback .jb-pro-playback-expand.disabled .jb-pro-icon-expand,.jb-pro-container-playback .jb-pro-playback-narrow.disabled .jb-pro-icon-narrow{cursor:no-drop}.jb-pro-container-playback .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-playback .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-playback .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-playback .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-playback .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-playback .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-playback .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-playback .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-playback .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-playback .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-play-vod .jb-pro-control-progress-simple{position:absolute;box-sizing:border-box;left:0;top:-2px;width:100%;display:flex;flex-direction:row;align-items:center;height:8px;cursor:pointer}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover{top:0;align-items:flex-start}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner{height:100%}.jb-pro-container-play-vod .jb-pro-control-progress-simple:hover .jb-pro-control-progress-inner .jb-pro-progress-indicator{transform:scale(1);visibility:visible}.jb-pro-container-play-vod .jb-pro-control-progress-inner{display:flex;align-items:center;position:relative;height:50%;width:100%;transition:all .2s ease;background:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-hover{display:none;width:0}.jb-pro-container-play-vod .jb-pro-progress-played{position:absolute;left:0;top:0;right:0;bottom:0;height:100%;width:0;background-color:orange}.jb-pro-container-play-vod .jb-pro-progress-cache{position:absolute;height:100%;width:0;left:0;top:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.5)}.jb-pro-container-play-vod .jb-pro-progress-indicator{visibility:hidden;align-items:center;justify-content:center;position:absolute;z-index:40;border-radius:50%;transform:scale(.1);transition:transform .1s ease-in-out}.jb-pro-container-play-vod .jb-pro-progress-indicator .jb-pro-icon{width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.jb-pro-container-play-vod .jb-pro-progress-indicator:hover{transform:scale(1.2)!important}.jb-pro-container-play-vod .jb-pro-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700;white-space:nowrap}.jb-pro-container-playback.jb-pro-fullscreen-web .jb-pro-controls .jb-pro-controls-bottom .jb-pro-controls-playback-time-inner{overflow-y:auto}.jb-pro-zoom-control{cursor:-webkit-grab;cursor:grab}.jb-pro-performance-panel{position:absolute;box-sizing:border-box;z-index:10000;left:0;top:0;padding:5px;font-size:10px;background:rgba(0,0,0,.2);color:#fff;max-height:100%;overflow-y:auto;display:none}.jb-pro-performance-panel .jb-pro-performance-item{display:flex;align-items:center;margin-top:3px;color:#fff}.jb-pro-performance-panel .jb-pro-performance-item-block{height:10px}.jb-pro-tips-message{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.8),hsla(0,0%,100%,0));overflow:auto;box-sizing:content-box;z-index:10;display:none}.jb-pro-tips-message:before{color:hsla(0,0%,100%,.3);content:"X";font-family:Arial,Helvetica,sans-serif;font-size:40px;left:0;line-height:1;margin-top:-20px;position:absolute;text-shadow:2em 2em 4em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.jb-pro-tips-message .jb-pro-tips-message-close{position:absolute;z-index:99999;right:0;top:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.jb-pro-tips-message .jb-pro-tips-message-close .jb-pro-tips-message-close-icon{width:20px;height:20px;border-radius:10px;cursor:pointer;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAeUExURUdwTM3Nzc7Ozs7Ozs3Nzc3NzcrKys3Nzc3Nzc3NzePZJxkAAAAJdFJOUwCtKdPBGAmNTt3jdDcAAADfSURBVDjL1dOxDoIwEADQgwR07GTCZtI/IGHgAzBhM9EPkMTB0Y3V0ZXIcn/rtRR6pefgSKeSu3ellyvA9lZ/5F9p/3K7PZY8oPG5BD6MpPUSgIITzdIStifAshjRQV1PCFT8TxaicTzzwEwINOEdHVmDmcTAkRhMhMAp7iQRjcMtDhCp8SA1v0ARGIIK/gnkv0p1OBTS4QRUIpE7DiYYXTBrzcld3JIrAarXrps4AVNwRSZgExoJmIyAaAdsShUMn/JF2fh4YEkpAcgvnuwYCIb6EbbbP4PsDfLD2dD6Av1qTvAQlzUTAAAAAElFTkSuQmCC") no-repeat 50%;background-color:#fff;background-size:100% 100%}.jb-pro-tips-message .jb-pro-tips-message-content{overflow:auto;padding:35px;box-sizing:border-box;width:100%;height:100%;z-index:99999}.jb-pro-tips-message .jb-pro-tips-message-content .jb-pro-tips-message-content-item{font-size:14px;color:#fff;text-align:center;line-height:1.5}'),function(t,e){const s=Im,i=t();for(;;)try{if(252675===parseInt(s(347))/1+parseInt(s(357))/2*(parseInt(s(345))/3)+-parseInt(s(352))/4+-parseInt(s(350))/5*(-parseInt(s(343))/6)+parseInt(s(344))/7*(parseInt(s(334))/8)+-parseInt(s(355))/9+-parseInt(s(353))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Em);const Tm=_m;function km(){const t=["$close","objectFit","Control","created","3525896fNVdMC","$performanceActive","$extendDom","activeIconTitle","$$playbackProgressTip","extend button name: ","$ptzExpand","jb-pro-controls-small","$zoomControls","btnIndex","display","$loadingBg","$ptzBgActive","$recording","1056YHlpbc","$volumeOff","removeChild","600gowxoQ","updateControlSize","isResize","$ptzActive","loadingBackgroundHeight","\n
      \n ","controlsLeftRect","initLoadingIconStyle","$ptzFogClose","$recordingTime","controlsInnerRect",'">\n \n Error Type:',"beforebegin","jb-pro-controls-show","$volumeOn","$pause",".jb-pro-play-big","from","
      ",'
      ',"$ptzArrows","showBeforePlay","getExtendDomIsShow","$scaleMenu","\n ","extendBtnList","3015632qORezZ","$faceDetect","$occlusionDetect","$loadingText","toggleControlHtml","controlsRect","$iconWrap","classList","animationName","top","$playbackProgressTime","loadingBackground","$loadingBgImage","$volumePanelWrap","$controlsRight","multiIndex","12591657qXgyhG","activeClick",'-active">\n ',"$qualityMenu",'">\n ',"$ptzFocusFar","addExtendBtn",'">\n ',"getControlHtmlIsShow","index","_opt",".jb-pro-icon-extend-","controlSize","$poster","% - ","deg)","$zoomStop","autoSize",".jb-pro-performance-panel","debugLog","hasAnimation","createdMoment","$playbackProgress","$performancePanel","$activeIconWrap","initLoadingBackground()",".jb-pro-ptz-controls","player","\n ","162qFaVYB","$volumePanel","toggleBar","$qualityText","extendOperateBtns","jb-pro-controls-show-auto-hide","$videoElement","48318TDAaUl","url(","call","$playbackTimeList","defineProperty","-active","862463oHzZmX","isInMulti","level","$playBig",".jb-pro-tips-message","videoRenderSupportScale","split","$volume","controlsPlaybackBtnsRect",".jb-pro-zoom-controls","getExtendBtnList","background-size","iconHover","$speedMenuList","getControlHtml","getRenderType","updateLoadingText","$controlHtml","$playbackExpand"," is already exist","calc(100% - ","mirrorRotate","$zoomStop2","background","width","contain","backgroundImage","assign","icon","html","padding","scale(","transform","right","bottom","loadingBackgroundWidth","$controlsPlaybackBtns","none","$speedMenu","$ptzNarrow","getControlHeight","28oExwiM","toggleExtendBtn","isFullResize","$screenshot","\n
      \n ","length","animationTimingFunction","flex","name","left","style",".jb-pro-controls","isInitPlayer","loadingIconStyle",'url("',"$playbackProgressIndicator","$performance","$recordStop","$ptzFocusNear","$playbackTimeListSecond","100% 100%","destroy","$ptzCruisePause","$play","
      \n ","activeIcon","preventDefault","canvas","$tipsMessage","showPlayBtn","100%","mouseout",'\n
      ',"find","$playbackTimeScroll","$loading","findIndex","addExtendDom"," rotate(","updatePtzPosition",'\n
      \n ',"$ptzControlCircular","remove","$ptzWiperClose","video","mouseover","$playbackNarrow","toggleExtendDom","_validateExtendBtn","normal","\n
      ","$objectDetect","px)","block","0 0","$controls","getExtendDom","_initLoadingBackgroundForCanvas","iconTitle","innerHTML",".jb-pro-contextmenus","$zoomNarrow"," rotateX(180deg)","updateExtendDom","$tipsMessageContent","controlsRightRect","$playbackTime"];return(km=function(){return t})()}function _m(t,e){const s=km();return(_m=function(t,e){return s[t-=124]})(t,e)}!function(t,e){const s=_m,i=t();for(;;)try{if(924374===-parseInt(s(194))/1+parseInt(s(320))/2*(parseInt(s(181))/3)+parseInt(s(136))/4+parseInt(s(323))/5*(parseInt(s(188))/6)+parseInt(s(235))/7*(-parseInt(s(306))/8)+-parseInt(s(152))/9+parseInt(s(124))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(km);class Cm{constructor(t){const e=_m;var s,i;this[e(179)]=t,this.TAG_NAME=e(304),this[e(135)]=[],((t,e)=>{const s=Gf;t[s(325)][s(139)]&&t[s(325)][s(140)]?t[s(170)][s(314)][s(152)](s(224)):t[s(170)][s(314)][s(152)](s(146));const i=t[s(325)],r=i[s(137)],n=s(382)+(i[s(330)][s(323)]?s(257)+zf[s(281)]+s(352)+zf[s(190)]+s(303):"")+"\n
      \n ",o=s(150);t[s(170)][s(154)](s(315),s(134)+(i.background?s(159)+i[s(293)]+s(359):"")+s(195)+(i[s(388)]?s(340)+zf.loading+'\n
      '+i.loadingText+s(303):"")+s(134)+(i[s(139)]&&r.play?'
      ':"")+s(134)+(i[s(139)]&&r[s(160)]?s(380)+i[s(372)]+'">\n
      \n
      \n
      \n
      \n
      \n '+(i.ptzMoreArrowShow?s(141):"")+s(243)+(i[s(262)]?'\n
      \n
      \n \n \n 缩放+\n \n
      \n
      \n \n \n 缩放-\n \n
      \n
      \n ':"")+s(367)+(i[s(329)]?s(349):"")+s(367)+(i[s(362)]?s(229):"")+s(367)+(i[s(174)]?s(278):"")+"\n "+(i[s(311)]?s(260):"")+s(346)+(i.ptzWiperShow?s(309):"")+s(227):"")+s(248)+(i[s(143)]?'\n
      \n
      '+zf[s(281)]+s(331)+zf[s(190)]+s(375)+zf[s(301)]+s(383)+zf[s(336)]+s(258):"")+s(308)+(i[s(139)]?s(389)+(i[s(165)]?s(266):"")+'\n
      \n
      '+i.controlHtml+s(205)+(i.playType===u[s(335)]&&i[s(330)][s(259)]&&i[s(330)][s(348)]===v[s(354)]?n:"")+"\n "+(i[s(280)]===u[s(335)]&&i.playbackConfig[s(259)]&&i[s(330)][s(348)]===v[s(228)]?o:"")+s(198)+(i.playType===u.playVod?o:"")+s(214)+(i[s(280)]===u.playbackTF&&i[s(330)][s(357)]||i[s(280)]===u[s(158)]&&i.playVodConfig[s(357)]?s(132):"")+"\n "+(r.close?'
      '+zf[s(316)]+s(298):"")+"\n "+(r[s(242)]?s(379)+zf[s(242)]+s(298):"")+s(255)+(r[s(131)]?s(164)+zf.performance+s(220)+zf[s(200)]+s(298):"")+s(255)+(r[s(148)]?s(299)+zf.face+'
      '+zf[s(294)]+s(298):"")+s(255)+(r[s(212)]?s(156)+zf[s(211)]+'
      '+zf.objectActive+s(298):"")+s(255)+(r.aiOcclusion?'
      '+zf[s(305)]+s(149)+zf[s(360)]+s(298):"")+s(255)+(r[s(215)]?s(269):"")+"\n "+(r.scale?s(177):"")+s(255)+(r[s(161)]?s(179)+zf[s(161)]+"\n "+zf[s(129)]+s(333):"")+s(255)+(r.play?s(310)+zf.play+s(342)+zf[s(239)]+s(298):"")+s(255)+(r[s(232)]?'
      '+zf.screenshot+s(298):"")+"\n "+(r.record?s(204)+zf[s(270)]+s(302)+zf[s(336)]+s(298):"")+"\n "+(r.ptz?s(296)+zf.ptz+'
      '+zf[s(282)]+s(298):"")+s(255)+(r[s(225)]?s(237)+zf[s(225)]+'
      '+zf.zoomStop+"
      ":"")+s(255)+(r[s(254)]?'
      '+zf[s(254)]+s(244)+zf.fullscreenExit+s(298):"")+s(253):"")+s(210)),Object[s(365)](e,s(168),{value:t.$container[s(192)](".jb-pro-poster"),configurable:!0}),Object[s(365)](e,s(176),{value:t[s(170)][s(192)](s(222)),configurable:!0}),Object[s(365)](e,"$loadingBgImage",{value:t[s(170)][s(192)](s(145)),configurable:!0}),Object[s(365)](e,s(233),{value:t[s(170)][s(192)](s(386)),configurable:!0}),Object.defineProperty(e,s(219),{value:t[s(170)][s(192)](".jb-pro-loading-text"),configurable:!0}),Object.defineProperty(e,s(128),{value:t[s(170)][s(192)](s(306)),configurable:!0}),Object[s(365)](e,s(188),{value:t[s(170)][s(192)](s(274)),configurable:!0}),Object[s(365)](e,s(182),{value:t[s(170)][s(192)](s(250)),configurable:!0}),Object[s(365)](e,"$recordingTime",{value:t[s(170)][s(192)](".jb-pro-recording-time"),configurable:!0}),Object.defineProperty(e,s(313),{value:t[s(170)][s(192)](".jb-pro-recording-stop"),configurable:!0}),Object[s(365)](e,s(180),{value:t[s(170)].querySelector(".jb-pro-pause"),configurable:!0}),Object[s(365)](e,s(370),{value:t.$container.querySelector(s(181)),configurable:!0}),Object[s(365)](e,s(197),{value:t[s(170)][s(192)](s(163)),configurable:!0}),Object[s(365)](e,"$controlsLeft",{value:t[s(170)][s(192)](s(347)),configurable:!0}),Object[s(365)](e,s(378),{value:t[s(170)][s(192)](".jb-pro-controls-right"),configurable:!0}),Object[s(365)](e,s(261),{value:t[s(170)][s(192)](s(147)),configurable:!0}),Object[s(365)](e,s(277),{value:t[s(170)][s(192)](s(157)),configurable:!0}),Object.defineProperty(e,s(295),{value:t[s(170)][s(192)](".jb-pro-volume-panel-text"),configurable:!0}),Object.defineProperty(e,s(304),{value:t[s(170)][s(192)](s(265)),configurable:!0}),Object[s(365)](e,s(186),{value:t[s(170)][s(192)](s(183)),configurable:!0}),Object[s(365)](e,s(355),{value:t[s(170)][s(192)](s(361)),configurable:!0}),Object.defineProperty(e,s(218),{value:t.$container[s(192)](s(327)),configurable:!0}),Object[s(365)](e,s(322),{value:t[s(170)][s(192)](".jb-pro-fullscreen"),configurable:!0}),Object[s(365)](e,s(353),{value:t[s(170)][s(192)](".jb-pro-fullscreen-exit"),configurable:!0}),Object[s(365)](e,s(230),{value:t[s(170)][s(192)](s(292)),configurable:!0}),Object[s(365)](e,s(256),{value:t[s(170)][s(192)](s(206)),configurable:!0}),Object[s(365)](e,s(351),{value:t[s(170)][s(192)](".jb-pro-screenshot"),configurable:!0}),Object.defineProperty(e,s(275),{value:t[s(170)][s(192)](s(184)),configurable:!0}),Object.defineProperty(e,s(231),{value:t[s(170)][s(192)](s(133)),configurable:!0}),Object.defineProperty(e,"$playbackTime",{value:t.$container[s(192)](".jb-pro-controls-playback-time"),configurable:!0}),Object.defineProperty(e,s(319),{value:t[s(170)][s(192)](".jb-pro-controls-playback-time-inner"),configurable:!0}),Object[s(365)](e,s(300),{value:t.$container.querySelector(s(153)),configurable:!0}),Object[s(365)](e,s(290),{value:t[s(170)][s(192)](s(283)),configurable:!0}),Object[s(365)](e,s(286),{value:t.$container.querySelector(s(364)),configurable:!0}),Object[s(365)](e,s(245),{value:t[s(170)][s(192)](".jb-pro-playback-time-second-wrap"),configurable:!0}),Object.defineProperty(e,s(196),{value:t.$container[s(192)](".jb-pro-controls-playback-current-time"),configurable:!0}),Object[s(365)](e,s(385),{value:t.$container[s(192)](s(344)),configurable:!0}),Object[s(365)](e,s(234),{value:t[s(170)][s(192)](".jb-pro-controls-playback-btns"),configurable:!0}),Object.defineProperty(e,s(169),{value:t.$container[s(192)](s(317)),configurable:!0}),Object[s(365)](e,"$playbackExpand",{value:t[s(170)][s(192)](s(127)),configurable:!0}),Object[s(365)](e,s(166),{value:t[s(170)][s(192)](".jb-pro-ptz"),configurable:!0}),Object[s(365)](e,s(167),{value:t.$container[s(192)](".jb-pro-ptz-active"),configurable:!0}),Object[s(365)](e,s(328),{value:t[s(170)].querySelector(s(287)),configurable:!0}),Object[s(365)](e,"$ptzBgActive",{value:t[s(170)].querySelector(".jb-pro-ptz-bg-active"),configurable:!0}),Object[s(365)](e,s(358),{value:t[s(170)][s(192)](".jb-pro-ptz-control"),configurable:!0}),Object[s(365)](e,"$ptzArrows",{value:t[s(170)][s(312)](".jb-pro-ptz-arrow"),configurable:!0}),Object[s(365)](e,s(368),{value:t[s(170)].querySelector(s(291)),configurable:!0}),Object[s(365)](e,s(326),{value:t.$container[s(192)](".jb-pro-ptz-narrow"),configurable:!0}),Object[s(365)](e,s(203),{value:t[s(170)][s(192)](s(279)),configurable:!0}),Object[s(365)](e,s(267),{value:t[s(170)][s(192)](s(341)),configurable:!0}),Object[s(365)](e,s(207),{value:t[s(170)][s(192)](".jb-pro-ptz-focus-far"),configurable:!0}),Object[s(365)](e,"$ptzFocusNear",{value:t.$container[s(192)](s(338)),configurable:!0}),Object.defineProperty(e,s(240),{value:t[s(170)][s(192)](s(187)),configurable:!0}),Object[s(365)](e,s(337),{value:t[s(170)].querySelector(s(288)),configurable:!0}),Object[s(365)](e,s(249),{value:t.$container[s(192)](s(263)),configurable:!0}),Object.defineProperty(e,s(246),{value:t.$container.querySelector(s(144)),configurable:!0}),Object[s(365)](e,s(321),{value:t[s(170)][s(192)](s(339)),configurable:!0}),Object.defineProperty(e,s(332),{value:t[s(170)][s(192)](s(247)),configurable:!0}),Object[s(365)](e,s(369),{value:t[s(170)][s(192)](s(173)),configurable:!0}),Object[s(365)](e,"$qualityMenu",{value:t[s(170)][s(192)](s(171)),configurable:!0}),Object[s(365)](e,"$qualityMenuList",{value:t.$container[s(192)](s(363)),configurable:!0}),Object[s(365)](e,s(276),{value:t[s(170)][s(192)](s(223)),configurable:!0}),Object[s(365)](e,s(135),{value:t[s(170)].querySelector(s(236)),configurable:!0}),Object[s(365)](e,s(130),{value:t[s(170)][s(192)](s(318)),configurable:!0}),Object.defineProperty(e,s(343),{value:t[s(170)][s(192)](".jb-pro-zoom"),configurable:!0}),Object.defineProperty(e,s(381),{value:t.$container[s(192)](".jb-pro-zoom-stop"),configurable:!0}),Object[s(365)](e,s(284),{value:t.$container.querySelector(s(356)),configurable:!0}),Object[s(365)](e,s(320),{value:t[s(170)].querySelector(s(273)),configurable:!0}),Object.defineProperty(e,s(289),{value:t[s(170)][s(192)](".jb-pro-zoom-stop2"),configurable:!0}),Object[s(365)](e,s(238),{value:t[s(170)][s(192)](s(189)),configurable:!0}),Object[s(365)](e,s(272),{value:t[s(170)][s(192)](s(194)),configurable:!0}),Object[s(365)](e,s(202),{value:t[s(170)][s(192)](s(193)),configurable:!0}),Object[s(365)](e,"$performance",{value:t[s(170)][s(192)](".jb-pro-performance"),configurable:!0}),Object[s(365)](e,"$performanceActive",{value:t[s(170)][s(192)](s(297)),configurable:!0}),Object[s(365)](e,s(216),{value:t.$container[s(192)](".jb-pro-face"),configurable:!0}),Object.defineProperty(e,s(271),{value:t.$container[s(192)](s(252)),configurable:!0}),Object[s(365)](e,s(334),{value:t.$container[s(192)](s(217)),configurable:!0}),Object[s(365)](e,s(172),{value:t[s(170)][s(192)](s(162)),configurable:!0}),Object[s(365)](e,s(185),{value:t[s(170)][s(192)](s(307)),configurable:!0}),Object[s(365)](e,s(264),{value:t[s(170)].querySelector(".jb-pro-occlusion-active"),configurable:!0}),Object[s(365)](e,"$contextmenus",{value:t[s(170)][s(192)](s(377)),configurable:!0}),Object[s(365)](e,s(387),{value:t.$container[s(192)](s(384)),configurable:!0}),Object.defineProperty(e,s(142),{value:t[s(170)][s(192)](s(371)),configurable:!0}),Object[s(365)](e,s(324),{value:t[s(170)][s(192)](".jb-pro-speed-menu-list"),configurable:!0}),Object[s(365)](e,"$logSave",{value:t[s(170)][s(192)](s(251)),configurable:!0}),Object[s(365)](e,"$playbackProgress",{value:t[s(170)][s(192)](s(268)),configurable:!0}),Object[s(365)](e,s(151),{value:t[s(170)][s(192)](s(201)),configurable:!0}),Object.defineProperty(e,s(345),{value:t.$container[s(192)](".jb-pro-progress-hover"),configurable:!0}),Object[s(365)](e,s(191),{value:t[s(170)][s(192)](".jb-pro-progress-played"),configurable:!0}),Object[s(365)](e,s(209),{value:t[s(170)][s(192)](s(226))}),Object[s(365)](e,"$playbackProgressIndicator",{value:t.$container[s(192)](s(126)),configurable:!0}),Object.defineProperty(e,s(376),{value:t[s(170)][s(192)](".jb-pro-playback-control-time"),configurable:!0}),Object[s(365)](e,s(373),{value:t[s(170)][s(192)](s(138)),configurable:!0}),Object.defineProperty(e,s(208),{value:t[s(170)][s(192)](s(374)),configurable:!0}),Object.defineProperty(e,s(241),{value:t[s(170)].querySelector(s(175)),configurable:!0})})(t,this),t[e(162)][e(185)][e(240)]>0&&t[e(162)][e(185)][e(335)]((t=>{this[e(158)](t)})),t[e(162)].extendDomConfig&&t[e(162)][e(360)][e(223)]&&this[e(272)](t[e(162)][e(360)]),s=this,i=gm,Object[i(161)](s,"controlsRect",{get:()=>{var t=i;return s[t(159)]&&s[t(159)][t(162)]()||{}},configurable:!0}),Object.defineProperty(s,i(170),{get:()=>{var t=i;return s.$controlsInner&&s.$controlsInner[t(162)]()||{}},configurable:!0}),Object[i(161)](s,i(163),{get:()=>s[i(154)]&&s.$controlsLeft.getBoundingClientRect()||{},configurable:!0}),Object[i(161)](s,i(171),{get:()=>{var t=i;return s.$controlsRight&&s[t(169)][t(162)]()||{}},configurable:!0}),Object[i(161)](s,i(167),{get:()=>{var t=i;return s[t(172)]&&s[t(172)].getBoundingClientRect()||{}},configurable:!0}),Object[i(161)](s,i(155),{get:()=>{var t=i;return s[t(164)]&&s[t(164)][t(162)]()||{width:0}},configurable:!0}),mm(t,this),((t,e)=>{const s=ym,{events:{proxy:i},debug:r}=t,n=t[s(368)],o=n[s(431)];function a(t){const i=s,{bottom:r,height:n}=e[i(463)].getBoundingClientRect(),{height:o}=e[i(432)][i(312)]();return ze(r-t.y-o/2,0,n-o/2)/(n-o)}function h(i){const r=s;let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];i.composedPath()[r(375)](t.$container)>-1?e.isFocus=!0:e[r(404)]=!1,n&&!t[r(300)]&&t[r(368)][r(499)]&&t[r(368)][r(327)]&&(e[r(404)]?(We(e[r(495)],"display",r(311)),l()):(d(),We(e[r(495)],r(358),r(369))))}if(Je()?i(window,[s(394),s(496)],(t=>{t[s(354)](),h(t)})):i(window,"click",(t=>{t[s(354)](),h(t,!0)})),i(e[s(495)],s(394),(t=>{t[s(354)]()})),o[s(491)]&&(i(e[s(442)],s(394),(e=>{const i=s;n[i(444)]===u[i(332)]&&n[i(436)].uiUsePlaybackPause?t.playbackPause=!0:n.playType===u.playVod?t[i(408)]=!0:Bs(o[i(330)])?o[i(330)]():t[i(428)]()})),i(e.$play,s(394),(e=>{const i=s;n[i(444)]===u[i(332)]&&t.playbackPause?t[i(361)]=!1:n[i(444)]===u.playVod?t[i(408)]=!1:Bs(o[i(339)])?o.playFn():t[i(335)]()[i(417)]((()=>{t[i(490)]()})).catch((t=>{}))}))),i(e[s(467)],s(394),(i=>{const r=s;n[r(444)]===u.playbackTF&&t.playbackPause?t[r(361)]=!1:n[r(444)]===u.playVod?t[r(408)]=!1:e[r(388)]?t.emit(O[r(392)]):Bs(o[r(339)])?o[r(339)]():t.playForControl()[r(417)]((()=>{t[r(490)]()}))})),o[s(379)]&&i(e[s(381)],s(394),(e=>{const i=s;e[i(354)](),Bs(o.screenshotFn)?o[i(437)]():t[i(415)][i(379)]()})),o.audio&&(Je()&&(i(e.$volume,s(474),(()=>{const t=s;e.$volumePanelWrap.classList[t(313)](t(318))})),i(e[s(336)],s(425),(()=>{const t=s;e[t(345)][t(494)][t(440)](t(318))})),i(e[s(463)],"click",(e=>{e[s(354)](),t.volume=a(e)})),i(e.$volumeHandle,s(393),(t=>{const i=s;t.stopPropagation(),e[i(372)]=!0})),i(e[s(432)],s(340),(i=>{const r=s;e[r(372)]&&(t[r(471)]=a(i))})),i(document,"mouseup",(()=>{const t=s;e[t(372)]&&(e[t(372)]=!1)}))),i(e[s(385)],s(394),(i=>{const r=s;i[r(354)](),We(e[r(385)],"display",r(369)),We(e[r(299)],r(358),r(311));const n=t[r(471)];t[r(471)]=0,t[r(486)]=Je()?n:1})),i(e[s(299)],s(394),(i=>{const r=s;i[r(354)](),We(e[r(385)],r(358),"block"),We(e[r(299)],"display",r(369)),t[r(471)]=Je()?t[r(461)]||.5:1}))),o.record&&(i(e[s(433)],"click",(e=>{const i=s;e[i(354)](),Bs(o[i(446)])?o[i(446)]():t[i(353)]=!0})),i(e[s(294)],s(394),(e=>{const i=s;e[i(354)](),Bs(o[i(362)])?o.recordStopFn():t[i(353)]=!1}))),i(e[s(457)],s(394),(e=>{const i=s;e.stopPropagation(),Bs(o[i(362)])?o[i(362)]():t[i(353)]=!1})),o.fullscreen&&(i(e[s(455)],"click",(e=>{const i=s;e[i(354)](),Bs(o.fullscreenFn)?o.fullscreenFn():t[i(300)]=!0})),i(e[s(458)],s(394),(e=>{const i=s;e[i(354)](),Bs(o[i(409)])?o[i(409)]():t[i(300)]=!1}))),o[s(453)]){i(e.$ptz,s(394),(t=>{const i=s;t.stopPropagation(),We(e[i(451)],i(358),i(402)),We(e.$ptz,i(358),"none"),e[i(346)][i(494)][i(313)](i(427))})),i(e[s(451)],s(394),(t=>{const i=s;t.stopPropagation(),We(e.$ptz,"display",i(402)),We(e.$ptzActive,"display","none"),e[i(346)][i(494)][i(440)](i(427))}));const p=fi();if(e[s(314)][s(383)]((r=>{const o=s;if(n[o(396)]===b.click)i(r,o(394),(s=>{const i=o;s.stopPropagation();const r=s[i(386)][i(380)].arrow;e[i(328)][i(494)].add(i(477)),e[i(328)][i(494)][i(313)](i(301)+r),e.$ptzControlCircular[i(494)][i(313)](i(317)+r),t[i(295)](O[i(453)],ai(r)),setTimeout((()=>{const s=i;e[s(328)][s(494)][s(440)]("jb-pro-ptz-bg-active-show"),ct.forEach((t=>{const i=s;e[i(328)].classList[i(440)](i(301)+t),e[i(307)].classList[i(440)](i(317)+t)})),t.emit(O[s(453)],lt[s(316)])}),1e3*n[i(373)])}));else if(n[o(396)]===b.mouseDownAndUp){let s=!1;i(r,p[o(497)],(i=>{const r=o;i.stopPropagation(),s=!0;const n=i[r(386)][r(380)].arrow;e[r(328)][r(494)][r(313)](r(477)),e[r(328)][r(494)].add(r(301)+n),e[r(307)].classList[r(313)](r(317)+n),t[r(295)](O.ptz,ai(n))}));const n=()=>{const i=o;s=!1,e[i(328)][i(494)][i(440)](i(477)),ct[i(383)]((t=>{const s=i;e[s(328)][s(494)].remove("jb-pro-ptz-bg-active-"+t),e.$ptzControlCircular[s(494)][s(440)](s(317)+t)})),t[i(295)](O[i(453)],lt[i(316)])};i(r,p.up,(t=>{t[o(354)](),s&&n()})),i(window,p.up,(t=>{t[o(354)](),s&&n()}))}})),n.ptzZoomShow)if(n.ptzClickType===b[s(394)])i(e[s(419)],s(394),(e=>{const i=s;e[i(354)](),t[i(295)](O[i(453)],lt[i(366)]),setTimeout((()=>{const e=i;t[e(295)](O[e(453)],lt[e(316)])}),1e3*n[i(373)])})),i(e[s(435)],s(394),(e=>{const i=s;e[i(354)](),t[i(295)](O[i(453)],lt[i(395)]),setTimeout((()=>{const e=i;t[e(295)](O[e(453)],lt[e(316)])}),1e3*n[i(373)])}));else if(n[s(396)]===b.mouseDownAndUp){let f=!1,m=!1;i(e[s(419)],p[s(497)],(e=>{const i=s;e[i(354)](),f=!0,t.emit(O[i(453)],lt[i(366)])})),i(e[s(435)],p[s(497)],(e=>{const i=s;e[i(354)](),m=!0,t.emit(O.ptz,lt[i(395)])}));const g=()=>{const e=s;f=!1,m=!1,t[e(295)](O[e(453)],lt[e(316)])};i(e[s(419)],p.up,(t=>{t[s(354)](),f&&g()})),i(e[s(435)],p.up,(t=>{t[s(354)](),m&&g()})),i(window,p.up,(t=>{t[s(354)](),(f||m)&&g()}))}if(n[s(443)])if(n.ptzClickType===b[s(394)])i(e.$ptzApertureFar,s(394),(e=>{const i=s;e.stopPropagation(),t[i(295)](O[i(453)],lt[i(426)]),setTimeout((()=>{t.emit(O.ptz,lt.fiStop)}),1e3*n[i(373)])})),i(e[s(376)],s(394),(e=>{const i=s;e.stopPropagation(),t[i(295)](O[i(453)],lt[i(352)]),setTimeout((()=>{const e=i;t[e(295)](O[e(453)],lt[e(298)])}),1e3*n[i(373)])}));else if(n[s(396)]===b.mouseDownAndUp){let A=!1,y=!1;i(e.$ptzApertureFar,p[s(497)],(e=>{const i=s;e[i(354)](),A=!0,t.emit(O.ptz,lt[i(426)])})),i(e[s(376)],p.down,(e=>{const i=s;e[i(354)](),y=!0,t[i(295)](O[i(453)],lt[i(352)])}));const w=()=>{const e=s;A=!1,y=!1,t.emit(O[e(453)],lt[e(298)])};i(e[s(333)],p.up,(t=>{t[s(354)](),A&&w()})),i(e[s(376)],p.up,(t=>{t[s(354)](),y&&w()})),i(window,p.up,(t=>{t[s(354)](),(A||y)&&w()}))}if(n[s(334)])if(n[s(396)]===b[s(394)])i(e.$ptzFocusFar,s(394),(e=>{const i=s;e.stopPropagation(),t[i(295)](O[i(453)],lt.focusFar),setTimeout((()=>{const e=i;t[e(295)](O[e(453)],lt[e(298)])}),1e3*n[i(373)])})),i(e[s(481)],"click",(e=>{const i=s;e.stopPropagation(),t[i(295)](O[i(453)],lt.focusNear),setTimeout((()=>{const e=i;t[e(295)](O[e(453)],lt[e(298)])}),1e3*n[i(373)])}));else if(n[s(396)]===b[s(483)]){let S=!1,E=!1;i(e[s(430)],p[s(497)],(e=>{const i=s;e[i(354)](),S=!0,t[i(295)](O[i(453)],lt.focusFar)})),i(e[s(481)],p[s(497)],(e=>{const i=s;e.stopPropagation(),E=!0,t[i(295)](O[i(453)],lt[i(447)])}));const I=()=>{const e=s;S=!1,E=!1,t[e(295)](O.ptz,lt[e(298)])};i(e[s(430)],p.up,(t=>{t.stopPropagation(),S&&I()})),i(e[s(481)],p.up,(t=>{t.stopPropagation(),E&&I()})),i(window,p.up,(t=>{t[s(354)](),(S||E)&&I()}))}if(n[s(355)]&&(i(e[s(439)],s(394),(e=>{const i=s;e[i(354)](),t.emit(O[i(453)],lt.cruiseStart)})),i(e[s(308)],s(394),(e=>{const i=s;e[i(354)](),t[i(295)](O.ptz,lt[i(302)])}))),n.ptzFogShow&&(i(e[s(449)],s(394),(e=>{const i=s;e[i(354)](),t[i(295)](O.ptz,lt[i(466)])})),i(e[s(416)],s(394),(e=>{const i=s;e.stopPropagation(),t[i(295)](O[i(453)],lt.fogClose)}))),n.ptzWiperShow&&(i(e[s(357)],s(394),(e=>{const i=s;e[i(354)](),t[i(295)](O.ptz,lt.wiperOpen)})),i(e[s(429)],s(394),(e=>{const i=s;e[i(354)](),t[i(295)](O[i(453)],lt[i(406)])}))),n.ptzSupportDraggable){function T(){const t=s;e[t(401)]&&(e[t(401)]=!1,e.$ptzControl[t(478)][t(405)]=t(356),e.tempPtzPosition={x:0,y:0})}e.isPtzControlDroging=!1,e[s(349)]={x:0,y:0},i(e[s(346)],p[s(497)],(t=>{const i=s;t[i(354)](),e[i(401)]=!0,e[i(346)].style[i(405)]=i(445);const{posX:r,posY:n}=Fs(t);e[i(349)]={x:r,y:n}})),i(e[s(346)],p[s(487)],(t=>{const i=s;if(e[i(401)]){t.stopPropagation();const{posX:s,posY:r}=Fs(t),n=e[i(349)].x-s,o=e[i(349)].y-r;e[i(346)][i(478)][i(351)]=e.$ptzControl[i(464)]-n+"px",e[i(346)].style[i(343)]=e[i(346)][i(363)]-o+"px",e[i(349)]={x:s,y:r}}})),i(e[s(346)],p.up,(t=>{t[s(354)](),T()})),i(window,p.up,(t=>{t[s(354)](),T()}))}}o.performance&&(i(e[s(434)],"click",(e=>{const i=s;e[i(354)](),t[i(323)](!0)})),i(e[s(492)],"click",(e=>{const i=s;e[i(354)](),t[i(323)](!1)}))),o.logSave&&i(e[s(424)],s(394),(e=>{e[s(354)](),t.downloadMemoryLog()})),o[s(350)]&&(i(e.$faceDetect,s(394),(e=>{const i=s;e[i(354)](),t[i(412)](!0)})),i(e[s(452)],s(394),(e=>{e[s(354)](),t.faceDetect(!1)}))),o[s(459)]&&(i(e[s(488)],s(394),(e=>{e[s(354)](),t.objectDetect(!0)})),i(e[s(382)],"click",(e=>{const i=s;e[i(354)](),t[i(360)](!1)}))),o[s(384)]&&(i(e[s(390)],s(394),(e=>{const i=s;e[i(354)](),t[i(364)](!0)})),i(e[s(321)],s(394),(e=>{e[s(354)](),t.occlusionDetect(!1)})));let c=null;const l=()=>{const i=s;d(),c=setTimeout((()=>{const t=ym;We(e.$controls,t(358),"none")}),1e3*t[i(368)][i(420)])},d=()=>{c&&(clearTimeout(c),c=null)};if(t[s(368)][s(499)]&&t[s(368)][s(327)]&&Je()&&(i(t[s(326)],s(474),(()=>{const i=s;!t[i(300)]&&(We(e[i(495)],i(358),i(311)),l())})),i(t[s(326)],"mousemove",(()=>{const i=s;t[i(326)]&&e[i(495)]&&(t[i(300)]?"none"===e[i(495)][i(478)][i(358)]&&(We(e.$controls,i(358),i(311)),l()):e[i(495)][i(478)][i(358)]===i(369)&&(We(e[i(495)],"display",i(311)),l()))})),i(t.$container,s(425),(()=>{const t=s;d(),We(e.$controls,t(358),"none")}))),t._opt[s(444)]===u[s(332)]){let k=t[s(368)][s(436)][s(315)];t[s(368)][s(436)][s(468)]&&(i(e.$speedMenu,s(474),(()=>{const t=s;e[t(411)].classList.add(t(460))})),i(e[s(484)],s(425),(()=>{const t=s;e.$speedMenuList[t(494)][t(440)](t(460))})),i(e[s(411)],s(394),(e=>{const i=s,r=Ps(e);if(r[i(418)]("div.jb-pro-speed-menu-item")){const e=r.dataset;t[i(295)](O.playbackPreRateChange,e[i(347)])}}))),k===v[s(448)]?(i(e[s(348)],"click",(e=>{const i=s;e[i(354)](),t[i(482)]&&t.playback[i(310)]()})),i(e.$playbackExpand,s(394),(e=>{const i=s;e[i(354)](),t.playback&&t[i(482)][i(398)]()})),i(e[s(441)],"click",(e=>{const i=s,r=Ps(e);r.matches(i(479))&&t.playback&&t[i(482)][i(397)](r[i(380)])})),t._opt[s(436)][s(485)]&&i(e.$playbackTimeInner,s(489),(e=>{const i=s;e[i(470)](),(e.wheelDelta?e[i(421)]/120:-(e[i(498)]||0)/3)>0?t[i(482)]&&t[i(482)][i(398)]():t[i(482)]&&t[i(482)][i(310)]()}))):k===v.simple&&(e[s(454)]=!1,i(e.$playbackProgress,s(394),(i=>{const r=s;if(i[r(303)]!==e.$playbackProgressIndicator){let s=0,n=0;if(t[r(324)]())s=i.touches[0][r(374)]/t.height,n=s*t[r(482)].totalDuration;else{const o=em(e,t[r(482)][r(413)],i);s=o[r(462)],n=o[r(297)]}t.playback&&t[r(482)].seek({time:n})}})),i(e[s(309)],s(340),(i=>{const r=s;We(e[r(387)],"display","block");const{width:n,time:o}=em(e,t[r(482)][r(413)],i);e[r(387)][r(407)]=o;const a=e[r(387)][r(473)];n<=a/2?We(e[r(387)],r(351),0):n>e[r(309)][r(473)]-a/2?We(e.$playbackProgressTip,r(351),e.$playbackProgress-a+"px"):We(e.$playbackProgressTip,"left",n-a/2+"px")})),i(e[s(309)],s(425),(()=>{const t=s;We(e[t(387)],t(358),t(369))})),i(e[s(465)],s(393),(t=>{e[s(454)]=!0})),i(e[s(309)],s(340),(i=>{const r=s;if(e[r(454)]){const{second:s,percentage:n}=em(e,t[r(482)][r(413)],i);t[r(482)]&&t[r(482)][r(397)]({time:s})}})),i(e[s(309)],s(296),(t=>{const i=s;e[i(454)]&&(e[i(454)]=!1)})))}t[s(391)]()&&(t[s(368)][s(359)].showRateBtn&&(i(e.$speedMenu,s(474),(()=>{const t=s;e[t(411)].classList[t(313)](t(460))})),i(e.$speedMenu,"mouseout",(()=>{const t=s;e[t(411)][t(494)][t(440)]("jb-pro-speed-menu-shown")})),i(e[s(411)],s(394),(e=>{const i=s,r=Ps(e);if(r[i(418)](i(305))){const e=r.dataset;t[i(319)](e.speed)}}))),e[s(454)]=!1,i(e[s(309)],s(394),(i=>{const r=s;if(i[r(303)]!==e[r(465)]){let s=0,n=0;if(t[r(324)]())s=i[r(423)][0][r(374)]/t[r(322)],n=s*t[r(325)][r(413)];else{const o=em(e,t[r(325)][r(413)],i);s=o.percentage,n=o[r(297)]}t[r(325)]&&t[r(325)][r(397)]({time:n})}})),i(e[s(309)],s(340),(i=>{const r=s;We(e[r(387)],"display","block");const{width:n,time:o}=em(e,t.playVod.totalDuration,i);e.$playbackProgressTip[r(407)]=o;const a=e[r(387)][r(473)];n<=a/2?We(e[r(387)],r(351),0):n>e[r(309)][r(473)]-a/2?We(e.$playbackProgressTip,r(351),e[r(309)]-a+"px"):We(e[r(387)],r(351),n-a/2+"px")})),i(e[s(309)],s(425),(()=>{const t=s;We(e[t(387)],t(358),t(369))})),i(e.$playbackProgressIndicator,s(393),(t=>{e.isDroging=!0})),i(e[s(309)],s(340),(i=>{const r=s;if(e[r(454)]){const{second:s,percentage:n}=em(e,t[r(325)][r(413)],i);t.playVod&&t[r(325)][r(397)]({time:s})}})),i(e.$playbackProgress,s(296),(t=>{const i=s;e[i(454)]&&(e[i(454)]=!1)}))),o.quality&&(i(e[s(472)],s(474),(()=>{const t=s;e[t(475)][t(494)][t(313)](t(456))})),i(e[s(472)],"mouseout",(()=>{const t=s;e[t(475)][t(494)][t(440)](t(456))})),i(e[s(475)],s(394),(e=>{const i=s,r=Ps(e);if(r[i(418)](i(469))){const e=r.dataset;t[i(480)]=e[i(410)]}}))),o[s(450)]&&(i(e[s(367)],s(474),(()=>{const t=s;e.$scaleMenuList[t(494)][t(313)](t(389))})),i(e[s(367)],s(425),(()=>{const t=s;e[t(342)][t(494)][t(440)](t(389))})),i(e.$scaleMenuList,s(394),(e=>{const i=s,r=Ps(e);if(r[i(418)](i(422))){const e=r[i(380)];t.setScaleMode(e[i(450)])}}))),o[s(365)]&&(i(e.$zoom,s(394),(e=>{e[s(354)](),t.zooming=!0})),i(e[s(493)],"click",(e=>{const i=s;e[i(354)](),t[i(331)]=!1}))),i(e.$zoomExpand,s(394),(e=>{const i=s;e.stopPropagation(),t[i(365)]&&t[i(365)].expandPrecision()})),i(e[s(371)],s(394),(e=>{const i=s;e[i(354)](),t[i(365)]&&t[i(365)][i(310)]()})),i(e[s(377)],s(394),(e=>{const i=s;e[i(354)](),t[i(331)]=!1})),o[s(306)]&&i(e[s(329)],"click",(e=>{const i=s;e.stopPropagation(),t[i(414)]()})),i(e.$tipsMessageClose,s(394),(t=>{const i=s;t[i(354)](),e[i(320)][i(407)]="",We(e[i(476)],i(358),i(369))}))})(t,this),t[e(162)].hotKey&&Je()&&((t,e)=>{const s=Im,{events:{proxy:i}}=t;let r={};function n(t,e){r[t]?r[t].push(e):r[t]=[e]}e[s(333)]=r,n(rt[s(341)],(()=>{const e=s;t.fullscreen&&(t[e(354)]=!1)})),n(rt[s(346)],(()=>{t[s(351)]+=.05})),n(rt[s(338)],(()=>{t[s(351)]-=.05})),i(window,s(332),(t=>{const i=s;if(e.isFocus){const e=document[i(337)][i(340)][i(348)](),s=document[i(337)].getAttribute(i(342));if(e!==i(336)&&e!==i(349)&&""!==s&&s!==i(356)){const e=r[t[i(335)]];e&&(t[i(339)](),e.forEach((t=>t())))}}}))})(t,this),this[e(315)]=0,this.initLoadingBackground(),Rs(t[e(162)][e(248)])&&this[e(330)](t[e(162)][e(248)]),Rs(t[e(162)][e(356)])&&this[e(274)](t[e(162)][e(356)]),t._opt.initShowPlayBtn&&(this[e(247)]=!0,this.showPlayBtn()),this[e(324)](),this.kbpsShow=e(365),this[e(179)][e(171)](e(304),"init")}[Tm(256)](){const t=Tm;if(this.$performancePanel){this[t(175)].innerHTML="";if(!um(this.$performancePanel)){const e=this[t(179)][t(125)].querySelector(t(170));e&&this[t(179)][t(125)]&&this[t(179)].$container[t(322)](e)}delete this.$performancePanel}if(this[t(165)]){if(!um(this[t(165)])){const e=this[t(179)].$container[t(362)](t(368));e&&this[t(179)][t(125)]&&this[t(179)][t(125)][t(322)](e)}delete this[t(165)]}if(this.$loading){if(!um(this[t(270)])){const e=this[t(179)][t(125)][t(362)](t(385));e&&this.player[t(125)]&&this.player[t(125)][t(322)](e)}delete this[t(270)]}if(this.$loadingBg){if(!um(this[t(317)])){const e=this[t(179)][t(125)][t(362)](".jb-pro-loading-bg");e&&this[t(179)][t(125)]&&this[t(179)][t(125)][t(322)](e)}delete this[t(317)]}if(this[t(290)]){if(!um(this[t(290)])){const e=this[t(179)][t(125)][t(362)](t(246));e&&this[t(179)].$container&&this[t(179)][t(125)][t(322)](e)}delete this[t(290)]}if(this[t(197)]){if(!um(this[t(197)])){const e=this[t(179)][t(125)][t(362)](t(380));e&&this[t(179)].$container&&this.player[t(125)].removeChild(e)}delete this[t(197)]}if(this.$recording){if(!um(this.$recording)){const e=this[t(179)][t(125)][t(362)](".jb-pro-recording");e&&this[t(179)].$container&&this.player.$container[t(322)](e)}delete this.$recording}if(this[t(349)]){if(!um(this[t(349)])){const e=this[t(179)][t(125)].querySelector(t(178));e&&this.player[t(125)]&&this[t(179)].$container[t(322)](e)}delete this[t(349)]}if(this[t(314)]){if(!um(this[t(314)])){const e=this[t(179)].$container[t(362)](t(203));e&&this[t(179)][t(125)]&&this[t(179)].$container[t(322)](e)}delete this[t(314)]}if(this[t(128)]){this[t(128)][t(294)]="";if(!um(this[t(128)])){const e=this[t(179)][t(125)].querySelector(t(295));e&&this[t(179)][t(125)]&&this[t(179)][t(125)][t(322)](e)}delete this.$contextmenus}if(this[t(263)]){if(!um(this.$tipsMessage)){const e=this.player.$container[t(362)](t(198));e&&this[t(179)][t(125)]&&this[t(179)][t(125)][t(322)](e)}delete this[t(263)]}if(this.$extendDom){if(!um(this.$extendDom)){const e=this[t(179)][t(125)][t(362)](t(364));e&&this[t(179)].$container&&this[t(179)][t(125)].removeChild(e)}delete this[t(308)]}try{delete this[t(299)],delete this[t(348)],delete this[t(146)],delete this[t(250)],delete this.$playbackProgressPlayed,delete this[t(374)],delete this[t(310)],delete this[t(174)],delete this[t(127)],delete this[t(207)],delete this[t(232)],delete this.$speedText,delete this[t(128)],delete this.$occlusionDetectActive,delete this[t(138)],delete this[t(344)],delete this[t(286)],delete this[t(363)],delete this[t(137)],delete this[t(307)],delete this[t(251)],delete this.$performancePanel,delete this[t(314)],delete this[t(302)],delete this[t(216)],delete this[t(367)],delete this[t(296)],delete this[t(168)],delete this.$zoom,delete this.$scaleMenuList,delete this[t(133)],delete this.$scaleText,delete this[t(358)],delete this[t(155)],delete this[t(184)],delete this[t(278)],delete this.$ptzWiperOpen,delete this[t(331)],delete this[t(341)],delete this[t(257)],delete this.$ptzCruisePlay,delete this[t(253)],delete this[t(157)],delete this[t(370)],delete this[t(347)],delete this[t(233)],delete this[t(312)],delete this[t(130)],delete this[t(276)],delete this[t(318)],delete this[t(349)],delete this[t(326)],delete this[t(337)],delete this[t(212)],delete this[t(281)],delete this[t(230)],delete this.$playbackCurrentTimeText,delete this.$playbackCurrentTime,delete this[t(254)],delete this[t(338)],delete this[t(191)],delete this[t(269)],delete this.$playbackTimeInner,delete this[t(301)],delete this.$controlHtml,delete this[t(345)],delete this[t(238)],delete this[t(252)],delete this.$record,delete this.$fullscreenExit,delete this.$fullscreen,delete this[t(321)],delete this[t(378)],delete this.$volumeHandle,delete this[t(182)],delete this.$volumePanelText,delete this[t(149)],delete this[t(201)],delete this[t(150)],delete this.$controlsLeft,delete this[t(361)],delete this[t(290)],delete this[t(379)],delete this.$recordingStop,delete this[t(332)],delete this[t(319)],delete this[t(197)],delete this[t(258)],delete this[t(139)],delete this[t(270)],delete this[t(148)],delete this[t(317)],delete this.$poster,delete this[t(308)],delete this[t(141)],delete this[t(333)],delete this[t(329)],delete this[t(300)],delete this.controlsPlaybackTimeInner,delete this[t(202)]}catch(t){}this.keys=null,this[t(315)]=0,this[t(135)]=[],this[t(336)]="0 KB/s",this[t(179)][t(125)]&&(this.player[t(125)].classList[t(277)](t(186)),this[t(179)][t(125)][t(143)].remove(t(377))),this[t(179)][t(171)]("Control","destroy")}[Tm(373)](){return this[Tm(315)]++}[Tm(169)](){const t=Tm,e=this.player;e[t(125)][t(245)][t(224)]=t(289);const s=e[t(218)],i=e[t(339)],r=s/i,n=e.video.$videoElement[t(218)]/e[t(279)][t(187)].height;if(r>n){const r=(s-i*n)/2;e.$container.style[t(224)]="0 "+r+"px"}else{const r=(i-s/n)/2;e[t(125)][t(245)][t(224)]=r+t(384)}}initLoadingBackground(){const t=Tm,e=this[t(179)];e[t(162)][t(147)]&&e[t(162)][t(229)]&&e[t(162)][t(327)]&&(e[t(171)]("Control",t(177)),this[t(179)][t(162)][t(126)]===t(352)||qe()?e.getRenderType()===A[t(262)]?this._initLoadingBackgroundForCanvas():e[t(209)]()===A[t(279)]&&this[t(353)]():this._initLoadingBackgroundForRatio(),cm(this[t(317)],"display","block"),e[t(162)].loadingBackground="")}resizeLoadingBackground(){const t=Tm;this.$loadingBgImage[t(343)]&&this[t(148)][t(218)]>0&&this.$loadingBgImage[t(339)]>0&&Ge(this[t(317)],t(316),!1)!==t(231)&&(this[t(179)]._opt.aspectRatio===t(352)||qe()?this[t(179)].getRenderType()===A.canvas?this._initLoadingBackgroundForCanvas():this.player[t(209)]()===A[t(279)]&&this[t(353)]():this._initLoadingBackgroundForRatio())}[Tm(330)](t){const e=Tm,s=this.player.$container[e(362)](e(390));s&&(t[e(218)]&&cm(s,e(218),t[e(218)]+"px"),t[e(339)]&&cm(s,e(339),t[e(339)]+"px"),t[e(217)]&&cm(s,e(220),e(249)+t[e(217)]+'")'),!1===t[e(172)]&&(cm(s,e(144),e(231)),cm(s,"animationDuration",0),cm(s,e(241),e(350)),cm(s,"animationIterationCount",1)))}[Tm(386)](){const t=Tm,e=this[t(179)]._opt[t(126)][t(200)](":").map(Number),s=this.player[t(346)](),i=this[t(179)][t(234)](),r=s[t(218)],n=s.height,o={width:this[t(179)]._opt.loadingBackgroundWidth,height:this[t(179)]._opt[t(327)]},a=o[t(218)]/o.height,h=e[0]/e[1];if(this[t(179)][t(162)][t(147)]&&(this[t(148)].src=this[t(179)][t(162)][t(147)]),a>h){const e=h*o[t(339)]/o[t(218)];this[t(148)][t(245)][t(218)]=100*e+"%",this[t(148)][t(245)][t(339)]=t(214)+i+t(287),this[t(148)][t(245)][t(224)]="0 "+(r-r*e)/2+"px"}else{const e=o[t(218)]/h/o.height;this[t(148)].style[t(218)]=t(265),this[t(148)][t(245)][t(339)]=t(366)+100*e+t(166)+i+t(287),this[t(148)][t(245)][t(224)]=(n-n*e)/2+"px 0"}}[Tm(292)](){const t=Tm,e=this[t(179)],s=e[t(162)],i=e[t(346)](),r=i[t(339)],n=i.width,o={width:this[t(179)][t(162)][t(229)],height:this[t(179)][t(162)][t(327)]};let a=o[t(218)],h=o[t(339)];const c=s.rotate;let l=(n-a)/2,d=(r-h)/2;(270===c||90===c)&&(a=o.height,h=o.width);const u=n/a,p=r/h;let f=u>p?p:u;ii(s[t(325)])&&u!==p&&(f=u+","+p),s.isFullResize&&(f=u>p?u:p);let m=t(225)+f+")";s[t(215)]===t(231)&&c&&(m+=" rotate("+c+t(167)),s[t(215)]===t(196)?m+=t(355):"vertical"===s.mirrorRotate&&(m+=t(297)),this.$loadingBgImage[t(218)]=o[t(218)],this[t(148)].height=o.height,e[t(162)].loadingBackground&&(this[t(148)][t(343)]=e[t(162)][t(147)]),this[t(148)].style[t(224)]="0",this.$loadingBgImage[t(245)].transform=m,this[t(148)][t(245)][t(244)]=l+"px",this[t(148)][t(245)][t(145)]=d+"px"}_initLoadingBackgroundForVideo(){const t=Tm,e=this.player,s=e[t(162)],i=e[t(346)](),r=i[t(218)],n=i[t(339)];let o=i.width,a=i[t(339)];const h=s.rotate;(270===h||90===h)&&(o=n,a=r),this[t(148)][t(218)]=o,this.$loadingBgImage.height=a,e[t(162)][t(147)]&&(this.$loadingBgImage[t(343)]=e._opt[t(147)]);let c=(r-o)/2,l=(n-a)/2,d=t(219);!s[t(325)]&&(d="fill"),s[t(237)]&&(d=t(231));let u="";s[t(215)]===t(231)&&h&&(u+=t(273)+h+"deg)"),s[t(215)]===t(196)?u+=t(355):"vertical"===s[t(215)]&&(u+=t(297)),this[t(179)][t(162)][t(199)]&&(this.$loadingBgImage.style[t(303)]=d),this[t(148)].style[t(226)]=u,this[t(148)].style.padding="0",this.$loadingBgImage.style[t(244)]=c+"px",this[t(148)][t(245)].top=l+"px"}[Tm(283)](t){const e=Tm;let s=!0;if(!t[e(243)]&&(this.player[e(342)](e(304),"extend button name is required"),s=!1),s){-1!==this[e(135)][e(271)]((s=>s[e(243)]===t.name))&&(this.player.debugWarn(e(304),e(311)+t[e(243)]+e(213)),s=!1)}return s&&!t[e(222)]&&(this[e(179)][e(342)](e(304),"extend button icon is required"),s=!1),s}[Tm(158)](){const t=Tm;let e=arguments[t(240)]>0&&void 0!==arguments[0]?arguments[0]:{};const s=Xs(wt);if(e=Object[t(221)]({},s,e),!this[t(283)](e))return;const i=e[t(243)]||"",r=this[t(150)],n=e[t(173)]||Ht.playing,o=e[t(260)]&&e[t(153)],a=t(389)+i+t(156)+(e[t(222)]?t(383)+i+t(334)+i+t(159)+(e[t(293)]?t(129)+e[t(293)]+t(259):"")+t(285):"")+t(180)+(e[t(260)]?'
      ":"")+t(328),h=Array[t(381)](r.children)[e[t(161)]];h?h[t(387)](t(376),a):hm(r,a);const c=r[t(362)](".jb-pro-controls-item-wrap-"+i),l=e[t(222)]?r[t(362)](t(163)+i):null,d=e[t(222)]?r[t(362)](t(359)+i):null,u=e.activeIcon?r[t(362)](".jb-pro-icon-extend-"+i+t(193)):null,p=e[t(260)]?r.querySelector(t(359)+i+t(193)):null,{events:{proxy:f},debug:m}=this[t(179)];e.icon&&(cm(l,"background","url("+e[t(222)]+") no-repeat center"),cm(l,t(205),t(255)),n===Ht[t(305)]?cm(d,t(316),t(242)):cm(d,t(316),t(231)),e.iconHover&&(f(l,t(280),(()=>{const s=t;cm(l,s(217),s(189)+e[s(206)]+s(340)),cm(l,s(205),s(255))})),f(l,t(266),(()=>{const s=t;cm(l,"background",s(189)+e[s(222)]+s(340)),cm(l,"background-size","100% 100%")})))),e[t(260)]&&(cm(u,"background","url("+e.activeIcon+t(340)),cm(u,t(205),"100% 100%"),cm(p,"display",t(231)),e[t(388)]&&(f(u,t(280),(()=>{const s=t;cm(u,"background","url("+e.activeIconHover+s(340)),cm(u,s(205),s(255))})),f(u,t(266),(()=>{const s=t;cm(u,s(217),s(189)+e[s(260)]+") no-repeat center"),cm(u,s(205),"100% 100%")})))),e[t(351)]&&l&&f(l,t(351),(s=>{const i=t;s[i(261)](),o&&(cm(d,i(316),i(231)),cm(p,i(316),"flex")),this.player[i(195)]()?e[i(351)][i(190)](this[i(179)],s,this[i(179)][i(162)].multiIndex):e.click[i(190)](this.player,s)})),e[t(153)]&&u&&f(u,"click",(s=>{const i=t;s[i(261)](),cm(d,"display",i(242)),cm(p,i(316),i(231)),this[i(179)].isInMulti()?e[i(153)][i(190)](this[i(179)],s,this[i(179)][i(162)][i(151)]):e[i(153)].call(this.player,s)})),this.extendBtnList[t(372)]({name:i,createdMoment:n,$iconContainer:c,$iconWrap:d,$activeIconWrap:p})}[Tm(236)](t,e){const s=Tm,i=this[s(135)][s(268)]((e=>e[s(243)]===t));i&&i[s(176)]&&i[s(142)]&&(!ms(e)&&(e="none"===Ge(i[s(176)],s(316),!1)),e?(cm(i[s(142)],"display",s(231)),cm(i[s(176)],"display","flex")):(cm(i[s(142)],s(316),s(242)),cm(i.$activeIconWrap,"display","none")))}getExtendBtnActive(t){const e=Tm,s=this[e(135)][e(268)]((s=>s[e(243)]===t));let i=!1;return s&&s[e(176)]&&(i=Ge(s[e(176)],e(316),!1)!==e(231)),i}[Tm(272)](t){const e=Tm;if(t[e(223)]){const s=e(275)+t.html+e(239);this[e(179)][e(125)][e(387)](e(357),s),Object[e(192)](this,e(308),{value:this[e(179)][e(125)].querySelector(e(364)),configurable:!0}),t[e(131)]&&cm(this[e(308)],e(316),"block")}}[Tm(282)](t){const e=Tm;this[e(308)]&&(!ms(t)&&(t=Ge(this[e(308)],e(316),!1)===e(231)),cm(this[e(308)],e(316),t?e(288):"none"))}[Tm(298)](t){const e=Tm;this[e(308)]&&(this[e(308)][e(294)]=t)}[Tm(369)](){const t=Tm;this[t(308)]&&(this.$extendDom[t(294)]="")}[Tm(210)](t){const e=Tm;this[e(139)]&&(this[e(139)].innerText=t)}[Tm(204)](){return this[Tm(135)]}showTipsMessage(t,e){const s=Tm,i=this[s(263)],r=this.$tipsMessageContent;if(i){const n=s(267)+t+"
      \n "+(e?s(375)+e+s(382):"")+s(134);r[s(294)]=n,cm(i,"display",s(288))}}[Tm(371)](){const t=Tm,e=this.$tipsMessage,s=this[t(299)];e&&(s.innerHTML="",cm(e,t(316),t(231)))}[Tm(274)](t){const e=Tm,s=this[e(349)];if(Rs(t)&&s){let i="auto";t[e(244)]&&(i=Number(t[e(244)])===t.left?t[e(244)]+"px":t.left),cm(s,e(244),i);let r="auto";t[e(145)]&&(r=Number(t.top)===t[e(145)]?t[e(145)]+"px":t[e(145)]),cm(s,e(145),r);let n="auto";t[e(228)]&&(n=Number(t[e(228)])===t.bottom?t[e(228)]+"px":t[e(228)]),cm(s,e(228),n);let o="auto";t[e(227)]&&(o=Number(t[e(227)])===t[e(227)]?t[e(227)]+"px":t.right),cm(s,"right",o)}}[Tm(264)](){const t=Tm;cm(this.$playBig,"display",t(288))}[Tm(183)](t){const e=Tm;this.$controls&&(!ms(t)&&(t=Ge(this[e(290)],e(316),!1)===e(231)),cm(this[e(290)],e(316),e(t?242:231)))}getBarIsShow(){const t=Tm;let e=!1;return this[t(290)]&&(e=Ge(this[t(290)],t(316),!1)!==t(231)),e}[Tm(140)](t){const e=Tm;this[e(211)]&&(!ms(t)&&(t=Ge(this[e(211)],"display",!1)===e(231)),cm(this[e(211)],e(316),t?"block":e(231)))}[Tm(160)](){const t=Tm;let e=!1;return this[t(211)]&&(e=Ge(this[t(211)],"display",!1)!==t(231)),e}[Tm(132)](){const t=Tm;let e=!1;return this[t(308)]&&(e=Ge(this[t(308)],"display",!1)!==t(231)),e}[Tm(291)](){const t=Tm;return this[t(308)]?this[t(308)]:null}[Tm(208)](){const t=Tm;return this[t(211)]?this[t(211)]:null}[Tm(324)](){const t=Tm;if(this[t(290)]){const e=this[t(179)]._opt[t(164)],s=t(313);e===w.small?ii(am(this.$controls,s))&&nm(this[t(290)],s):e===w[t(284)]&&am(this.$controls,s)&&om(this.$controls,s)}}}function Rm(t,e){const s=Dm();return(Rm=function(t,e){return s[t-=233]})(t,e)}function Dm(){const t=["focus","playing","change","INPUT","2051488FURQWA","visibility","disableContextmenu","isFocus","video","nodeName","dblclick","35xyijdi","contextmenu","toLowerCase","$container","isInput","673017pzycxb","onchange","visibilitychange","orientation","scroll","play","inView","visibilityState","9osCFgc","_opt","pause","debugLog","2976882lzWMTd","target","tagName","613970uuenNs","orientationChangeResize","1499FwhdgR","314JlEHXX","type","3404471udEncg","hiddenAutoPause is true ","resize","blur","click","_isPlayingBeforePageHidden","505272zEmwlo","emit","canvas","visible"];return(Dm=function(){return t})()}Sm(".jb-pro-container{position:relative;width:100%;height:100%;overflow:hidden}.jb-pro-container.jb-pro-fullscreen-web{position:fixed;z-index:9999;left:0;top:0;right:0;bottom:0;width:100vw!important;height:100vh!important;background:#000}.jb-pro-container .jb-pro-loading-bg-for-ios{position:absolute;z-index:100;left:0;top:0;right:0;bottom:0;height:100%;width:100%;opacity:0;visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:contain;pointer-events:none}.jb-pro-container .jb-pro-loading-bg-for-ios.show{opacity:1;visibility:visible}"),function(t,e){const s=Rm,i=t();for(;;)try{if(556447===parseInt(s(238))/1*(parseInt(s(239))/2)+parseInt(s(267))/3+parseInt(s(247))/4*(parseInt(s(262))/5)+-parseInt(s(233))/6+-parseInt(s(241))/7+parseInt(s(255))/8+parseInt(s(275))/9*(-parseInt(s(236))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Dm);var xm=t=>{const e=Rm,{_opt:s,events:{proxy:i}}=t;if(s.supportDblclickFullscreen&&i(t[e(265)],e(261),(s=>{const i=e,r=Ps(s)[i(260)][i(264)]();(r===i(249)||r===i(259))&&(t.fullscreen=!t.fullscreen)})),i(document,e(269),(()=>{const i=e;t[i(256)]=i(250)===document.visibilityState,t[i(278)](i(269),document[i(274)]),s.hiddenAutoPause&&(t[i(278)](i(269),i(242),document[i(274)],t._isPlayingBeforePageHidden),i(250)===document[i(274)]?t[i(246)]&&t[i(272)]():(t[i(246)]=t[i(252)],t[i(252)]&&t[i(277)]()))})),Je()&&i(document,[e(245),e(263)],(s=>{const i=e;dm(s,t.$container)?(ei(t[i(276)][i(257)])&&s[i(240)]===i(263)&&s.preventDefault(),t[i(266)]=s[i(234)][i(235)]===i(254),t[i(258)]=!0,t[i(248)](O[i(251)])):(t[i(266)]=!1,t[i(258)]=!1,t[i(248)](O[i(244)]))})),s.isCheckInView){const s=os((()=>{const s=e;t[s(248)](O[s(273)],function(t){const e=lm,s=t.getBoundingClientRect(),i=window.innerHeight||document.documentElement[e(242)],r=window[e(240)]||document[e(239)][e(248)],n=s.top<=i&&s[e(229)]+s[e(235)]>=0,o=s.left<=r&&s[e(222)]+s[e(227)]>=0;return n&&o}(t[s(265)]))}),200);i(window,e(271),(()=>s()))}if(s[e(237)]){const s=os((()=>{const s=e;t.emit(O[s(243)])}),500);i(window,"orientationchange",(()=>{s()})),screen&&screen.orientation&&screen[e(270)][e(268)]&&i(screen.orientation,e(253),(()=>{s()}))}};const Lm=Pm;function Pm(t,e){const s=Mm();return(Pm=function(t,e){return s[t-=405]})(t,e)}function Mm(){const t=["mfhd","12BjUGRx","sdtp","STTS","dinf","mdhd","minf","traf","isDependedOn","presentWidth","videoType","20685489ZXeKij","tkhd","mvex","codecWidth","timescale","SMHD","constants","avcc","dref","41VCFXRj","audioType","5277435OrJcYI","cts","codecHeight","HDLR_VIDEO","hasRedundancy","avc","mdat","hvcC","STSZ","stts","mdia","byteLength","config","flags","avcC","ftyp","mp4a","dependsOn","4709136ESkNuz","STSD_PREFIX","hvc1","type","call","isLeading","10567035jkLsQk","FTYP","set","mp3","tfdt","sequenceNumber","prototype","size","generateInitSegment","length","5327000kuKGwT","types","vmhd","stsc","avc1","hdlr","esds","DREF","duration","stbl","audio","trex","stco","stsz","presentHeight","trun","moov","982fzBbSv","init","box","4268421RnpEnE","STSC","moof","20cRHdPB","mvhd","VMHD","trak","audioSampleRate",".mp3","4BlWAxc","stsd","smhd","charCodeAt","concat","channelCount"];return(Mm=function(){return t})()}!function(t,e){const s=Pm,i=t();for(;;)try{if(863692===parseInt(s(451))/1*(parseInt(s(413))/2)+parseInt(s(416))/3+parseInt(s(425))/4*(-parseInt(s(453))/5)+-parseInt(s(432))/6*(parseInt(s(487))/7)+-parseInt(s(471))/8+-parseInt(s(477))/9+parseInt(s(419))/10*(parseInt(s(442))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Mm);class Bm{static[Lm(414)](){const t=Lm;Bm[t(488)]={avc1:[],avcC:[],hvc1:[],hvcC:[],av01:[],av1C:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[],Opus:[],dOps:[],"ac-3":[],dac3:[],"ec-3":[],dec3:[]};for(let e in Bm.types)Bm[t(488)].hasOwnProperty(e)&&(Bm[t(488)][e]=[e[t(428)](0),e[t(428)](1),e[t(428)](2),e[t(428)](3)]);let e=Bm[t(448)]={};e.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),e.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),e[t(434)]=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(417)]=e.STCO=e[t(434)],e[t(461)]=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e[t(456)]=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),e.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),e.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),e[t(447)]=new Uint8Array([0,0,0,0,0,0,0,0]),e[t(421)]=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static[Lm(415)](t){const e=Lm;let s=8,i=null,r=Array[e(483)].slice[e(475)](arguments,1),n=r.length;for(let t=0;t>>24&255,i[1]=s>>>16&255,i[2]=s>>>8&255,i[3]=255&s,i[e(479)](t,4);let o=8;for(let t=0;t>>24&255,t>>>16&255,t>>>8&255,255&t,e>>>24&255,e>>>16&255,e>>>8&255,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static[Lm(422)](t){const e=Lm;return Bm.box(Bm[e(488)][e(422)],Bm.tkhd(t),Bm[e(463)](t))}static[Lm(443)](t){const e=Lm;let s=t.id,i=t[e(495)],r=t[e(440)],n=t[e(410)];return Bm.box(Bm[e(488)][e(443)],new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,n>>>8&255,255&n,0,0]))}static[Lm(463)](t){const e=Lm;return Bm[e(415)](Bm[e(488)][e(463)],Bm[e(436)](t),Bm[e(492)](t),Bm.minf(t))}static[Lm(436)](t){const e=Lm;let s=t.timescale,i=t.duration;return Bm[e(415)](Bm[e(488)][e(436)],new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}static[Lm(492)](t){const e=Lm;let s=null;return s="audio"===t.type?Bm[e(448)].HDLR_AUDIO:Bm[e(448)].HDLR_VIDEO,Bm[e(415)](Bm[e(488)].hdlr,s)}static[Lm(437)](t){const e=Lm;let s=null;return s=t[e(474)]===e(406)?Bm[e(415)](Bm[e(488)][e(427)],Bm[e(448)][e(447)]):Bm[e(415)](Bm[e(488)][e(489)],Bm[e(448)][e(421)]),Bm[e(415)](Bm[e(488)].minf,s,Bm[e(435)](),Bm[e(405)](t))}static dinf(){const t=Lm;return Bm[t(415)](Bm.types.dinf,Bm.box(Bm[t(488)][t(450)],Bm[t(448)][t(494)]))}static[Lm(405)](t){const e=Lm;return Bm[e(415)](Bm.types[e(405)],Bm.stsd(t),Bm.box(Bm[e(488)][e(462)],Bm[e(448)][e(434)]),Bm[e(415)](Bm.types[e(490)],Bm[e(448)][e(417)]),Bm[e(415)](Bm.types[e(409)],Bm[e(448)][e(461)]),Bm[e(415)](Bm[e(488)][e(408)],Bm[e(448)].STCO))}static stsd(t){const e=Lm;return t[e(474)]===e(406)?t[e(452)]===e(480)?Bm[e(415)](Bm[e(488)][e(426)],Bm[e(448)][e(472)],Bm[e(480)](t)):Bm[e(415)](Bm[e(488)][e(426)],Bm.constants[e(472)],Bm.mp4a(t)):t[e(441)]===e(458)?Bm.box(Bm.types.stsd,Bm.constants.STSD_PREFIX,Bm[e(491)](t)):Bm[e(415)](Bm[e(488)].stsd,Bm[e(448)][e(472)],Bm[e(473)](t))}static[Lm(480)](t){const e=Lm;let s=t[e(430)],i=t[e(423)],r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Bm[e(415)](Bm.types[e(424)],r)}static mp4a(t){const e=Lm;let s=t[e(430)],i=t[e(423)],r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,s,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return Bm[e(415)](Bm[e(488)][e(469)],r,Bm[e(493)](t))}static esds(t){const e=Lm;let s=t[e(465)]||[],i=s[e(486)],r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5][e(429)]([i]).concat(s)[e(429)]([6,1,2]));return Bm[e(415)](Bm[e(488)][e(493)],r)}static[Lm(491)](t){const e=Lm;let s=t[e(449)];const i=t[e(445)],r=t[e(455)];let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Bm.box(Bm[e(488)].avc1,n,Bm.box(Bm[e(488)][e(467)],s))}static[Lm(473)](t){const e=Lm;let s=t[e(449)];const i=t[e(445)],r=t[e(455)];let n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return Bm[e(415)](Bm[e(488)][e(473)],n,Bm[e(415)](Bm.types[e(460)],s))}static mvex(t){const e=Lm;return Bm[e(415)](Bm[e(488)][e(444)],Bm[e(407)](t))}static[Lm(407)](t){const e=Lm;let s=t.id,i=new Uint8Array([0,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return Bm[e(415)](Bm.types[e(407)],i)}static moof(t,e){const s=Lm;return Bm[s(415)](Bm[s(488)][s(418)],Bm[s(431)](t[s(482)]),Bm.traf(t,e))}static[Lm(431)](t){const e=Lm;let s=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return Bm.box(Bm[e(488)][e(431)],s)}static[Lm(438)](t,e){const s=Lm;let i=t.id,r=Bm[s(415)](Bm[s(488)].tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),n=Bm[s(415)](Bm.types[s(481)],new Uint8Array([0,0,0,0,e>>>24&255,e>>>16&255,e>>>8&255,255&e])),o=Bm[s(433)](t),a=Bm[s(411)](t,o[s(464)]+16+16+8+16+8+8);return Bm[s(415)](Bm.types[s(438)],r,n,a,o)}static[Lm(433)](t){const e=Lm;let s=new Uint8Array(5),i=t[e(466)];return s[4]=i[e(476)]<<6|i[e(470)]<<4|i[e(439)]<<2|i[e(457)],Bm[e(415)](Bm[e(488)].sdtp,s)}static trun(t,e){const s=Lm;let i=new Uint8Array(28);e+=36,i[s(479)]([0,0,15,1,0,0,0,1,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0);let r=t[s(495)],n=t[s(484)],o=t.flags,a=t[s(454)];return i[s(479)]([r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,o.isLeading<<2|o[s(470)],o[s(439)]<<6|o[s(457)]<<4|o.isNonSync,0,0,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12),Bm[s(415)](Bm[s(488)][s(411)],i)}static[Lm(459)](t){const e=Lm;return Bm.box(Bm[e(488)][e(459)],t)}}Bm.init();const Fm=Om;function Om(t,e){const s=Um();return(Om=function(t,e){return s[t-=449]})(t,e)}function Um(){const t=["isAvc","_bindMediaSourceEvents","needInitAudio","audioMimeType","_hasPendingSegments","decodeVideo first frame is not iFrame","removeLoadingBgImage","mediaSourceAddSourceBufferError","destroy","pendingSegments","getMseBufferMaxDelayTime","mediaSourceAudioNoDataTimeout","firstAudioTime","cacheAudioTrack = {} now dts is ","mdat",", and ts is ","audioSourceNoDataCheckTimeout","generateInitSegment","_doCleanUpSourceBuffer","then","_doAppendSegments() sourceBuffer is null and wait init and return","mediaSourceObjectURL","_stopCanvasRender","_doAppendSegments","appendAudioBuffer() player is destroyed","audio","mediaSourceFull","handleRender",", diff is ","handlePlayToRenderTimes","updateStats","mseCorrectTimeDuration","video waiting","isUseHls265"," so drop this frame","getVideoBufferEndTime","moof","decodeAudio and has already initialized and payload is aac codec packet so drop this frame","ManagedMediaSource endstreaming","appendBuffer() this.mediaSourceAddSourceBufferError is true","videoFrameCallback() player is destroyed","isVideoPlaying","_opt","muted"," , try to seek ","checkMSESourceBufferDelay and video is paused and sent isMSECurrentMoreThanBufferedPause true","updateMediaSourceDuration","emitError","bind","recordType","stringify","mseSourceOpen","duration"," and diff is ",", height ","hasInit","_initSourceBuffer","mseUseCanvasRender"," to ","init","mseSourceBufferError","appendBuffer() player is destroyed","prevTs","prevAudioDts","revokeObjectURL","mediaSourceError","getVideoBufferRangeList","removeSourceBuffer() audioSourceBuffer","decodeAudio is max diff , ts is ","appendBuffer() this.mediaSourceAppendBufferError is true","2IkXVHm",",\n and emit change event","debugWarn","_initSourceBuffer() this.mediaSource.addSourceBuffer()","initMetaData","buffered","warn","mediaSource","getAudioSourceBufferUpdating","isSupportVideoFrameCallback"," and payload size is ","data","video loadedmetadata","abort","this.sourceBuffer.appendBuffer()","\n and current time is ","videoInfo","updating","mseAutoCleanupSourceBuffer","onMediaSourceSourceOpen() audioSourceBuffer is null and next init","2172cnwxUJ","config is not empty object and codecWidth is "," , payload is ","70yoFhVF","byteLength","off"," ms","codecWidth","updateend","closed","audioSourceBuffer","checkVideoPlayCurrentTime store is ","updateVideoInfo","debugLog","isDestroyedOrClosed","mseSourceClose","videoBuffer","AAC","mseSourceended","h264","config is empty object","createElement","decodeVideo() player is destroyed","getVideoBufferStartTime","sourceended","videoBufferDelay","_decodeVideo","pause","width","\n decodeVideo: video width or height is changed,\n old width is ","decodeVideo","h265","debugError",",\n and mseCorrectTimeDuration is ","cts"," cacheAudioTrack dts is "," and emit replay","decodeVideo is max diff , ts is ","catch"," and mseCorrectTimeDuration is ","recorder","_needCleanupSourceBuffer","_clearAudioNoDataCheckTimeout","_decodeConfigurationRecord","appendBuffer() this.mediaSourceAppendBufferFull is true","stop","size","video canplay","video play error ","isPlayer","waiting","getVideoCurrentTime","_handleUpdatePlaybackRate","end"," = ","abortSourceBuffer"," - current is ","code"," and new time is null and use last buffer start time","_doAppendSegments() audioSourceBuffer is null and need init audio source buffer","initCanvasViewSize","max","mediaSourceH265NotSupport","push","decodeAudio first frame is not iFrame","updateVideoCurrentTimeByBufferStart","hasPendingEos","message","_initAudioSourceBuffer and this.isStateOpen is ","cacheTrack = {} now dts is ",",\n new width is ","decodeVideo\n local dts is < 0 , ts is ","loadedmetadata","eventListenList","handleUpdatePlaybackRate and delay buffer is ","appendAudioBuffer() this.mediaSource.addSourceBuffer()","638910kAeUam"," and end is ","debug","length","paused","toString","decodeVideo dts is equal to prev dts and payload size is equal to prev payload size so drop this frame","prevAudioTs","mediaSourceBufferError","handleUpdatePlaybackRate and buffered is ","checkSourceBufferDelay","flags","getTime"," and this.isAvc === null is ","hasAudio","buffer","set"," < 0 and set currentTime ","_useManagedMediaSource","height","609797OlFuIr","appendBuffer() this.mediaSource.addSourceBuffer()","isMSECurrentMoreThanBufferedPause","isAudioInitInfo","abs","playVod","audioSampleRate","fps","sourceOpen","timeUpdate","mp4","increaseLocalTimestamp","_handleUpdateBufferDelayTime","mediaSourceBufferedIsZeroError","getPendingSegmentsLength"," and prev dts is ","isDecodeFirstIIframe","_decodeAudioConfigurationRecord","videoFrameCallback","_checkAudioTsIsMaxDiff",", new height is ","_doRemoveRanges() sourceBuffer error","4080880KykzOv","_resetInIt","mediaSourceDecoderConfigurationError","forEach","this.audioSourceBuffer.appendBuffer()","isPlayback","videoStart"," and message is ","decodeStart",'video/mp4; codecs="',"remove","_clearAudioSourceBufferCheckTimeout"," and ts is ","requestVideoFrameCallback","type","playbackPause","timeStamp",";codecs=","dts","pendingAudioRemoveRanges","getVideoBufferDelayTime",",\n and prevPayloadBufferSize is ","channelCount","_decodeVideo payload bytes is 0 and return","visibilityChange is true and lastTime is ","checkSourceBufferStore","endstreaming","mseWidthOrHeightChange","mseCorrectAudioTimeDuration","isStateOpen",", but not in render and vbps is ","isPlaying","decodeVideo: video width or height is changed, and return","sequenceNumber"," is ","_checkTsIsMaxDiff","getVideoBufferTimeRange","mseSourceBufferError this.audioSourceBuffer","appendAudioBuffer() this.mediaSourceAppendBufferError is true","audioSourceBufferCheckTimeout","video is paused and replay error "," and current is ","endOfStream()","_hasPendingRemoveRanges"," and prev ts is ","sourceBuffer","playbackPause is false and _opt.checkFirstIFrame is true so set isDecodeFirstIIframe = false","createObjectURL","mediaSourceTsIsMaxDiff"," and this.audioMimeType is ","cacheTrack"," and prevTs is ","removeBuffer() audioSourceBuffer error","removeSourceBuffer() sourceBuffer error","clearUpAllSourceBuffer","isPlaybackPauseNotClearCacheAndCacheBeforeDecode","error","types","slice","video.buffered is empty","_doRemoveRanges() audioSourceBuffer error","canvasRenderInterval","firstRenderTime"," < 0, and buffered is ",", old height is ","ratechange and video is paused"," ,\n and diff is ","removeBuffer() start is ","_doRemoveRanges","emit","isPlaybackPauseClearCache","isKeyframe","prevTimestamp","decodeAudio() player is destroyed","render","player","samplingRate","isStateClosed","appendAudioBuffer() this.mediaSourceBufferError is true","mediaSourceAudioInitTimeout","timescale","videoType","code is ","pendingAudioSegments","decodeVideo and payload is video sequence header so drop this frame","isAAC","isCurrentTimeInBufferEnd","9508clrIbb","codec"," and current time is ","playbackRate","checkIsInRender","canplay","init and using ManagedMediaSource","videoMeta","isPlayVod","ManagedMediaSource qualitychange","playback","sourceClose","TAG_NAME","553nJOasZ","checkMSESourceBufferDelay "," and isIframe is ","refSampleDuration","open","firstAudioTime is ","removeSourceBuffer() sourceBuffer","getDecodeDiffTimes","isStateEnded","cacheTrack duration is ","_onMediaSourceSourceOpen","video is paused and replay success","videoMimeType","video"," ,currentTime is ","start","560sIwTfE"," < 0 and check video is paused : ","mseSourceBufferError this.sourceBuffer","abortSourceBuffer() abort sourceBuffer","getDecodePlaybackRate","cacheAudioTrack","video playback Rate change","$videoElement"," , delay buffer is more than ","prevPayloadBufferSize","sampleRate","79638gaZZpz","102159eHbBwe","checkFirstIFrame","_checkVideoPlayCurrentTime","videoSourceBuffer updateend and hasPendingEos is true, next endOfStream()","mseAutoCleanupMaxBackwardDuration","mediaSourceUseCanvasRenderPlayFailed","initVideoEvents"," and _isMacOsFirefox is ","7579noEIZt","supportVideoFrameCallbackHandle","appendBuffer","mediaSourceAppendBufferFull","ended"," and buffer end is ","mediaSourceAppendBufferError","audioSourceBuffer updateend and hasPendingEos is true, next endOfStream()","_decodeAudio","startstreaming",",\n firstAudioTime is ","hev","URL","MediaSource","config","audioMeta","mseAddSourceBufferError","_times","disableRemotePlayback","width ","_stats","pendingRemoveRanges","currentTime"," and return","hasAudioInit","getVideoBufferLastTime","video play","codecHeight"," cacheTrack dts is ","playVodPause"," and codecHeight is ","appendAudioBuffer","isWidthOrHeightChanged","decodeVideo is max diff, prevTs is "," and firstRenderTime is ","_initSourceBuffer and this.isStateOpen is ","checkVideoPlayCurrentTime","srcObject","mediaSource is end","play","decodeDiffTimestamp","getSourceBufferUpdating","removeSourceBuffer","isInitInfo","cancelVideoFrameCallback","shift","mediaTime","_initAudioSourceBuffer","decodeAudio","abortSourceBuffer() abort audioSourceBuffer","readyState","endOfStream","updateVideoInfo: ","src","decodeVideo and payload is too small , payload length is "," ,\n and now ts is ","updateVideoCurrentTimeByBufferStart current time is ","state","audioSequenceNumber"," and new time is ","prevDts","appendAudioBuffer() this.mediaSourceAppendBufferFull is true","_doAppendSegments() mediaSource is closed or ended and return","video canplay and requestVideoFrameCallback and use videoFrameCallback"];return(Um=function(){return t})()}!function(t,e){const s=Om,i=t();for(;;)try{if(761979===-parseInt(s(769))/1*(-parseInt(s(653))/2)+parseInt(s(749))/3+parseInt(s(470))/4*(-parseInt(s(676))/5)+-parseInt(s(510))/6*(parseInt(s(483))/7)+parseInt(s(791))/8+parseInt(s(511))/9*(parseInt(s(499))/10)+parseInt(s(519))/11*(-parseInt(s(673))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Um);class jm extends n{constructor(t){const e=Om;super(),this.TAG_NAME="MediaSource",this[e(458)]=t,this[e(792)](),this[e(767)]="ManagedMediaSource"in Kt&&!(e(532)in Kt),this[e(660)]=this[e(767)]?new Kt.ManagedMediaSource:new(Kt[e(532)]),this[e(785)]=!!ii(t[e(625)][e(512)]),this[e(604)]=null,!this[e(767)]&&(this.mediaSourceObjectURL=Kt[e(531)][e(838)](this.mediaSource)),this[e(662)]=di(),this[e(852)]=null,t._opt[e(640)]?(this[e(506)]=document[e(694)]("video"),this[e(767)]?(this[e(506)].disableRemotePlayback=!0,this.$videoElement[e(556)]=this[e(660)]):this[e(506)][e(572)]=this[e(604)],this[e(517)]()):(this[e(767)]?(this[e(458)].video[e(506)][e(537)]=!0,this[e(458)][e(496)][e(506)][e(556)]=this[e(660)]):this[e(458)].video.$videoElement[e(572)]=this.mediaSourceObjectURL,this[e(506)]=this[e(458)][e(496)].$videoElement),this[e(584)](),this[e(830)]=null,this[e(599)]=null,this.hasPendingEos=!1,this[e(458)].isPlayback()?this[e(458)].on(O[e(806)],(s=>{const i=e;ii(s)?(t[i(625)][i(453)]&&(ei(t._opt.checkFirstIFrame)&&(this[i(458)][i(686)](this[i(482)],i(837)),this.isDecodeFirstIIframe=!1),this.clearUpAllSourceBuffer()),this[i(506)][i(558)]()):(this[i(506)][i(700)](),this[i(841)]={})})):this[e(458)][e(478)]()&&this.player.on(O[e(548)],(t=>{const s=e;ii(t)?this[s(506)][s(558)]():(this.$videoElement[s(700)](),this[s(841)]={})})),this[e(767)]?this[e(458)][e(686)](this.TAG_NAME,e(476)):this[e(458)][e(686)](this.TAG_NAME,e(642))}[Fm(591)](){const t=Fm;this[t(718)](),this[t(802)](),this[t(715)](),this._stopCanvasRender(),this[t(746)][t(752)]&&(this[t(746)][t(794)]((t=>t())),this[t(746)]=[]),this.supportVideoFrameCallbackHandle&&this[t(506)]&&(this[t(506)][t(563)](this.supportVideoFrameCallbackHandle),this[t(520)]=null),this[t(506)]&&(this[t(458)]._opt[t(640)]&&(this[t(506)][t(700)]&&(this[t(506)][t(700)](),this[t(506)][t(626)]=!0),this[t(506)].currentTime=0,this[t(506)][t(572)]&&(this.$videoElement[t(572)]="",this[t(506)].removeAttribute(t(572)))),this.$videoElement=null),this[t(604)]&&(window.URL[t(647)](this[t(604)]),this[t(604)]=null),this[t(792)](),this[t(660)]=null,this[t(678)](),this[t(458)].debugLog(this[t(482)],t(591))}[Fm(585)](){const t=Fm;return this[t(458)][t(625)][t(763)]&&this[t(458)]._opt.mseDecodeAudio}[Fm(792)](){const t=Fm;this[t(583)]=null,this[t(468)]=null,this[t(477)]={},this[t(534)]={},this[t(836)]=null,this[t(683)]=null,this.hasInit=!1,this[t(543)]=!1,this[t(562)]=!1,this[t(772)]=!1,this[t(586)]="",this[t(495)]="",this[t(841)]={},this[t(504)]={},this[t(824)]=0,this[t(577)]=0,this[t(853)]=null,this[t(595)]=null,this.$videoElement=null,this[t(522)]=!1,this[t(525)]=!1,this[t(590)]=!1,this[t(757)]=!1,this[t(648)]=!1,this.prevTimestamp=null,this[t(559)]=null,this[t(579)]=null,this.prevAudioDts=null,this[t(508)]=0,this[t(551)]=!1,this.prevTs=null,this[t(756)]=null,this.eventListenList=[],this[t(540)]=[],this[t(592)]=[],this.pendingAudioRemoveRanges=[],this[t(466)]=[],this.supportVideoFrameCallbackHandle=null}get[Fm(576)](){const t=Fm;return this.mediaSource&&this[t(660)][t(569)]}get isStateOpen(){const t=Fm;return this.state===st[t(487)]}get[Fm(460)](){const t=Fm;return this[t(576)]===st[t(682)]}get[Fm(491)](){const t=Fm;return this[t(576)]===st[t(523)]}get[Fm(635)](){const t=Fm;return this[t(660)]&&this[t(660)].duration||-1}set[Fm(635)](t){this[Fm(660)].duration=t}_bindMediaSourceEvents(){const t=Fm,{events:{proxy:e}}=this.player,s=e(this.mediaSource,ut[t(777)],(()=>{const e=t;this[e(458)][e(686)](this[e(482)],e(777)),this._onMediaSourceSourceOpen(),this[e(458)].emit(O[e(634)])})),i=e(this[t(660)],ut[t(481)],(()=>{const e=t;this.player[e(686)](this[e(482)],"sourceClose"),this[e(458)].emit(O[e(688)])})),r=e(this[t(660)],ut[t(697)],(()=>{const e=t;this.player[e(686)](this[e(482)],e(697)),this[e(458)][e(452)](O[e(691)])}));this[t(746)][t(736)](s,i,r);const n=e(this[t(506)],pt[t(778)],(e=>{const s=t;if(ii(this[s(662)]))if(this[s(458)][s(474)]())this[s(458)].handleRender();else{const t=parseInt(e[s(807)],10);this[s(458)].debugLog(this[s(482)],"mseUseCanvasRender is "+this.player[s(625)][s(640)]+" and\n $videoElement ts is "+t+s(821)+this.player[s(539)].vbps+" and fps is "+this[s(458)]._stats[s(776)])}}));if(this[t(746)][t(736)](n),this[t(767)]){const s=e(this[t(660)],ut[t(528)],(()=>{const e=t;this.player.debugLog(this[e(482)],"ManagedMediaSource startstreaming"),this[e(458)][e(452)](O.mseSourceStartStreaming)})),i=e(this[t(660)],ut[t(817)],(()=>{const e=t;this[e(458)][e(686)](this.TAG_NAME,e(621)),this[e(458)][e(452)](O.mseSourceEndStreaming)})),r=e(this.mediaSource,ut.qualitychange,(()=>{const e=t;this[e(458)][e(686)](this[e(482)],e(479))}));this[t(746)].push(s,i,r)}}[Fm(493)](){const t=Fm;!this.sourceBuffer&&(this[t(458)].debugLog(t(532),"onMediaSourceSourceOpen() sourceBuffer is null and next init"),this._initSourceBuffer()),!this[t(683)]&&(this[t(458)][t(686)](t(532),t(672)),this._initAudioSourceBuffer()),this[t(587)]()&&this[t(606)]()}[Fm(517)](){const t=Fm,{proxy:e}=this[t(458)].events;this[t(458)].on(O.visibilityChange,(t=>{t&&setTimeout((()=>{const t=Om;if(this[t(458)][t(822)]()&&this.$videoElement){const e=this.getVideoBufferLastTime();e-this[t(506)][t(541)]>this[t(593)]()&&(this[t(458)][t(686)](this[t(482)],t(815)+e+" and currentTime is "+this[t(506)][t(541)]+" so set currentTime to lastTime"),this[t(506)].currentTime=e)}}),300)}));const s=e(this.$videoElement,pt[t(475)],(()=>{const e=t;this.player[e(686)](this.TAG_NAME,e(720)),this[e(506)][e(558)]()[e(602)]((()=>{const t=e;this.player[t(452)](O[t(589)]),di()?!this.supportVideoFrameCallbackHandle&&(this[t(458)].debugLog(this[t(482)],t(582)),this[t(520)]=this.$videoElement[t(804)](this.videoFrameCallback.bind(this))):this[t(458)].isUseHls265()&&(this[t(458)][t(686)](this.TAG_NAME,"video canplay and use canvas render and fps is 25"),this[t(605)](),this[t(852)]=setInterval((()=>{const e=t;this[e(458)][e(496)][e(457)]({$video:this[e(506)],ts:parseInt(1e3*this[e(506)][e(541)],10)||0})}),40)),this.player[t(686)](this[t(482)],t(545))})).catch((t=>{const s=e;this[s(458)][s(705)](this[s(482)],s(721),t),this.player[s(630)](N[s(516)],s(465)+t.code+" and message is "+t[s(740)])}))})),i=e(this[t(506)],pt[t(723)],(()=>{const e=t;this[e(458)][e(686)](this.TAG_NAME,e(615))})),r=e(this.$videoElement,pt[t(745)],(()=>{const e=t;this[e(458)][e(686)](this.TAG_NAME,e(665))})),n=e(this[t(506)],pt.timeUpdate,(e=>{const s=t;parseInt(e[s(807)],10),this.$videoElement[s(753)]&&(this[s(458)][s(655)](this[s(482)],"video is paused and next try to replay"),this[s(506)][s(558)]()[s(602)]((()=>{const t=s;this[t(458)][t(686)](this[t(482)],t(494))}))[s(711)]((t=>{const e=s;this.player[e(655)](this[e(482)],e(831),t)})))})),o=e(this.$videoElement,pt.ratechange,(()=>{const e=t;this.player[e(686)](this[e(482)],e(505),this[e(506)]&&this.$videoElement[e(473)]),this.$videoElement&&this[e(506)][e(753)]&&this[e(458)][e(655)](this[e(482)],e(856))}));this[t(746)][t(736)](s,i,n,o,r)}[Fm(787)](t){const e=Fm;let s=arguments[e(752)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this[e(458)][e(687)]())return void this.player[e(686)](this.TAG_NAME,e(623));const i=parseInt(1e3*Math[e(734)](s[e(565)],this[e(506)][e(541)]),10)||0;this.player[e(610)](),this[e(458)][e(496)][e(457)]({$video:this[e(506)],ts:i}),this[e(458)].isUseHls265()&&this[e(458)][e(613)]({fps:!0,ts:i}),this[e(520)]=this[e(506)].requestVideoFrameCallback(this[e(787)][e(631)](this))}[Fm(703)](t,e,s,i){const r=Fm,n=this[r(458)];if(n)if(this[r(458)][r(687)]())this[r(458)].debugWarn(this[r(482)],r(695));else if(this[r(638)])if(!this[r(785)]&&s&&(this[r(785)]=!0),this.isDecodeFirstIIframe){if(s&&0===t[1]){const e=15&t[0];let s={};if(e===H[r(692)]){s=Da(t[r(849)](5))}else e===H[r(704)]&&(s=sh(t));const i=this[r(458)][r(496)][r(669)];i&&i[r(701)]&&i.height&&s&&s.codecWidth&&s[r(546)]&&(s.codecWidth!==i[r(701)]||s[r(546)]!==i[r(768)])&&(this[r(458)][r(655)](this[r(482)],r(702)+i.width+r(855)+i[r(768)]+r(743)+s.codecWidth+r(789)+s[r(546)]+r(654)),this[r(551)]=!0,this[r(458)][r(630)](N[r(818)],r(538)+i[r(701)]+"->"+s[r(680)]+r(637)+i[r(768)]+"->"+s[r(546)]))}if(this[r(551)])return void this.player[r(655)](this.TAG_NAME,r(823));if(ti(t))return void this[r(458)][r(686)](this.TAG_NAME,r(467));if(t[r(677)]<12)return void this[r(458)][r(655)](this.TAG_NAME,r(573)+t[r(677)]);let n=e;if(this.player[r(722)]()){if(null===this.firstRenderTime&&(this.firstRenderTime=e,this[r(458)][r(686)](this[r(482)],"firstRenderTime is "+this[r(853)])),n=e-this.firstRenderTime,n<0&&(this.player[r(655)](this[r(482)],r(744)+e+" and prevTs is "+this.prevTs+",\n firstRenderTime is "+this[r(853)]+r(712)+this[r(458)]._opt[r(614)]),n=null===this[r(579)]?0:this[r(579)]+this[r(458)][r(625)].mseCorrectTimeDuration,this[r(826)](e)))return this[r(458)][r(655)](this[r(482)],r(710)+e+r(842)+this[r(645)]+r(611)+(this[r(645)]-e)+" and emit replay"),void this.player[r(630)](N[r(839)],r(552)+this[r(645)]+r(803)+e);if(null!==this[r(579)]&&n<=this[r(579)]){if(this[r(458)].debugWarn(this[r(482)],"\n decodeVideo dts is less than(or equal) prev dts ,\n dts is "+n+r(784)+this[r(579)]+r(574)+e+r(835)+this[r(645)]+" ,\n and diff is "+(e-this.prevTs)+r(553)+this[r(853)]+r(485)+s+r(706)+this[r(458)][r(625)][r(614)]+r(812)+this[r(508)]+r(663)+t[r(677)]),n===this[r(579)]&&this[r(508)]===t[r(677)])return void this[r(458)][r(655)](this[r(482)],r(755));if(n=this[r(579)]+this[r(458)][r(625)][r(614)],this[r(826)](e))return this.player[r(655)](this.TAG_NAME,r(710)+e+r(842)+this[r(645)]+r(611)+(this[r(645)]-e)+" and emit replay"),void this[r(452)](N[r(839)],"decodeVideo is max diff, prevTs is "+this[r(645)]+r(803)+e)}}this[r(458)][r(722)]()?this[r(699)](t,n,s,i,e):this[r(458)][r(796)]()?ii(this[r(458)][r(806)])?(this.player[r(480)].isUseLocalCalculateTime&&this[r(458)][r(480)][r(780)](),this[r(699)](t,n,s,i,e)):this[r(458)].playback[r(846)]()&&this._decodeVideo(t,n,s,i,e):this[r(458)][r(478)]()&&ii(this[r(458)][r(548)])&&this[r(699)](t,n,s,i,e),this[r(579)]=n,this[r(508)]=t.byteLength,this.prevTs=e}else this[r(458)][r(686)](this.TAG_NAME,r(588));else if(s&&t[1]===yt.sequenceHeader){const i=15&t[0];if(n[r(496)][r(685)]({encTypeCode:i}),i===H[r(704)]&&ii(cs()))return void this[r(458)][r(630)](N[r(735)]);!n[r(536)][r(799)]&&(n._times.decodeStart=Ve()),this[r(638)]=this[r(716)](t,e,s,i)}else this.player[r(655)](this.TAG_NAME,"decodeVideo has not init , isIframe is "+s+r(675)+t[1]+r(617))}[Fm(567)](t,e){const s=Fm;if(this.player)if(this[s(458)].isDestroyedOrClosed())this[s(458)][s(655)](this[s(482)],s(456));else if(ii(this[s(543)]))this.hasAudioInit=this[s(786)](t,e);else{let i=e;if(Ae(t))return void this.player[s(686)](this.TAG_NAME,s(620));if(this[s(715)](),this[s(785)]){if(this[s(458)][s(722)]()){if(null===this.firstAudioTime&&(this[s(595)]=e,this[s(458)][s(686)](this[s(482)],s(488)+this[s(595)])),i=e-this[s(595)],i<0&&(this[s(458)][s(655)](this[s(482)],"decodeAudio\n local dts is < 0 , ts is "+e+s(842)+this.prevAudioTs+s(529)+this[s(595)]),i=null===this[s(646)]?0:this.prevAudioDts+this[s(458)][s(625)][s(819)],this[s(788)](e)))return this[s(458)][s(655)](this[s(482)],s(651)+e+s(842)+this[s(646)]+s(611)+(this[s(646)]-e)+s(709)),void this[s(458)][s(630)](N[s(839)],"decodeAudio is max diff, prevTs is "+this[s(646)]+s(803)+e);null!==this[s(756)]&&i<=this[s(646)]&&(this[s(458)][s(655)](this.TAG_NAME,"\n decodeAudio dts is less than(or equal) prev dts ,\n dts is "+i+s(784)+this[s(646)]+" ,\n and now ts is "+e+" and prev ts is "+this[s(756)]+s(449)+(e-this[s(756)])),i=this[s(646)]+this.player._opt[s(819)])}this[s(458)][s(722)]()?this[s(527)](t,i,e):this.player[s(796)]()?ii(this.player.playbackPause)?this[s(527)](t,i,e):this[s(458)][s(480)].isPlaybackPauseNotClearCacheAndCacheBeforeDecode()&&this._decodeAudio(t,i,e):this[s(458)][s(478)]()&&ii(this[s(458)].playVodPause)&&this[s(527)](t,i,e),this[s(756)]=e,this[s(646)]=i}else this[s(458)].debugLog(this.TAG_NAME,s(737))}}[Fm(826)](t){const e=Fm;return this.prevTs>0&&tE}[Fm(788)](t){const e=Fm;return this[e(756)]>0&&tE}[Fm(716)](t,e,s,i){const r=Fm;let n=t[r(849)](5),o={};if(i===H[r(692)]?o=Da(n):i===H[r(704)]&&(o=ih(n)),Cs(o)||0===o[r(680)]&&0===o[r(546)]){this[r(458)][r(655)](this[r(482)],"_decodeConfigurationRecord",o);let t="";return t=Cs(o)?r(693):r(674)+o[r(680)]+r(549)+o[r(546)],this[r(458)][r(630)](N[r(793)],t),!1}!this[r(562)]&&(this.player.debugLog(this[r(482)],r(571)+o.codecWidth+","+o.codecHeight),this[r(458)].video[r(685)]({width:o[r(680)],height:o[r(546)]}),this[r(458)][r(496)][r(733)](),this[r(562)]=!0),this[r(458)][r(713)]&&this[r(458)]._opt[r(632)]===p[r(779)]&&this[r(458)][r(713)][r(657)](t,i);const a={id:Bt[r(496)],type:r(496),timescale:1e3,duration:0,avcc:n,codecWidth:o.codecWidth,codecHeight:o.codecHeight,videoType:o[r(464)]},h=Bm[r(600)](a);this[r(583)]=i===H[r(692)];let c=o[r(471)];return this[r(495)]=c?r(800)+o[r(471)]+'"':this[r(583)]?et.avc:et[r(530)],this[r(639)](),this[r(521)](h.buffer),this[r(824)]=0,this[r(841)]={},!0}[Fm(786)](t,e){const s=Fm,i=t[0]>>4,r=t[0]>>1&1,n=i===Q.MP3,o=i===Q[s(690)];let a="";if(a=o?r?16:8:0===r?8:16,ii(o||n))return this.player[s(655)](this.TAG_NAME,"_decodeAudioConfigurationRecord audio codec is not support , codecId is "+i+" ant auto wasm decode"),this[s(458)][s(452)](N.mediaSourceAudioG711NotSupport),!1;const h={id:Bt[s(608)],type:s(608),timescale:1e3};let c={};if(Ae(t)){if(c=Se(t.slice(2)),!c)return!1;h[s(775)]=c[s(509)],h[s(813)]=c[s(813)],h[s(533)]=c.config,h[s(486)]=1024/h[s(775)]*h[s(463)]}else{if(!n)return!1;if(c=Pf(t),!c)return!1;h[s(775)]=c[s(459)],h.channelCount=c[s(813)],h[s(486)]=1152/h[s(775)]*h.timescale}h[s(471)]=c[s(471)],h.duration=0;let l=s(779),d=c[s(471)],u=null;n&&ii(Ze())?(l="mpeg",d="",u=new Uint8Array):u=Bm[s(600)](h);let p=h[s(805)]+"/"+l;return d&&d[s(752)]>0&&(p+=s(808)+d),ii(this[s(772)])&&(this[s(458)].audio.updateAudioInfo({encTypeCode:i,channels:h[s(813)],sampleRate:h.audioSampleRate,depth:a}),this[s(772)]=!0),this[s(586)]=p,this[s(468)]=o,this._initAudioSourceBuffer(),this.appendAudioBuffer(u[s(764)]),!0}[Fm(639)](){const t=Fm,{events:{proxy:e}}=this[t(458)];if(null===this[t(836)]&&null!==this[t(660)]&&this.isStateOpen&&this[t(495)]){try{this[t(836)]=this.mediaSource.addSourceBuffer(this[t(495)]),this[t(458)].debugLog(this[t(482)],t(656),this.videoMimeType)}catch(e){return this[t(458)][t(705)](this.TAG_NAME,t(770),e[t(730)],e),this.player[t(630)](N[t(535)],t(465)+e[t(730)]+t(798)+e[t(740)]),void(this.mediaSourceAddSourceBufferError=!0)}if(this[t(836)]){const s=e(this[t(836)],t(847),(e=>{const s=t;this.mediaSourceBufferError=!0,this.player.debugError(this[s(482)],s(501),e),this[s(458)][s(630)](N[s(643)],e[s(754)]())})),i=e(this.sourceBuffer,t(681),(()=>{const e=t;this._hasPendingRemoveRanges()?this._doRemoveRanges():this[e(587)]()?this[e(606)]():this[e(739)]&&(this[e(458)][e(686)](this.TAG_NAME,e(514)),this[e(570)]())}));this[t(746)][t(736)](s,i)}}else this[t(458)][t(686)](this[t(482)],t(554)+this[t(820)]+t(762)+(null===this.isAvc))}[Fm(566)](){const t=Fm,{events:{proxy:e}}=this[t(458)];if(null===this.audioSourceBuffer&&null!==this[t(660)]&&this[t(820)]&&this.audioMimeType){try{this[t(683)]=this[t(660)].addSourceBuffer(this[t(586)]),this._clearAudioSourceBufferCheckTimeout(),this[t(458)][t(686)](this.TAG_NAME,"_initAudioSourceBuffer() this.mediaSource.addSourceBuffer()",this[t(586)])}catch(e){return this[t(458)][t(705)](this[t(482)],t(748),e.code,e),this.player.emitError(N[t(535)],t(465)+e.code+t(798)+e[t(740)]),void(this.mediaSourceAddSourceBufferError=!0)}if(this[t(683)]){const s=e(this[t(683)],t(847),(e=>{const s=t;this.mediaSourceBufferError=!0,this[s(458)][s(705)](this[s(482)],s(828),e),this[s(458)][s(630)](N[s(643)],e.toString())})),i=e(this[t(683)],t(681),(()=>{const e=t;this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this[e(739)]&&(this[e(458)][e(686)](this[e(482)],e(526)),this[e(570)]())}));this.eventListenList[t(736)](s,i),null===this[t(599)]&&(this[t(599)]=setTimeout((()=>{const e=t;this[e(715)](),this[e(458)][e(452)](N[e(594)])}),1e3))}}else this[t(458)][t(686)](this.TAG_NAME,t(741)+this.isStateOpen+t(840)+this[t(586)])}[Fm(699)](t,e,s,i,r){const n=Fm,o=this[n(458)];let a=t[n(849)](5),h=a[n(677)];if(0===h)return void o[n(655)](this[n(482)],n(814));let c=(new Date).getTime(),l=!1;!this[n(455)]&&(this.prevTimestamp=c,l=!0);const d=c-this[n(455)];this.decodeDiffTimestamp=d,d>1e3&&!l&&this[n(458)].isPlayer()&&o[n(686)](this[n(482)],"_decodeVideo now time is "+c+" and prev time is "+this[n(455)]+", diff time is "+d+" ms");const u=this[n(506)];if(this[n(841)].id&&e>=this[n(841)][n(809)]){let t=8+this[n(841)][n(719)],s=new Uint8Array(t);s[0]=t>>>24&255,s[1]=t>>>16&255,s[2]=t>>>8&255,s[3]=255&t,s[n(765)](Bm[n(848)][n(597)],4),s[n(765)](this[n(841)][n(664)],8),this[n(841)].duration=e-this[n(841)].dts,this[n(841)][n(635)]>1e3&&this[n(458)][n(655)](this[n(482)],n(492)+this[n(841)][n(635)]+n(679));let i=Bm.moof(this.cacheTrack,this[n(841)][n(809)]);this.cacheTrack={};let a=new Uint8Array(i.byteLength+s[n(677)]);a[n(765)](i,0),a[n(765)](s,i.byteLength),this[n(521)](a[n(764)]),o[n(452)](O[n(778)],r),o[n(722)]()?o[n(616)]()?o[n(613)]({dfps:!0,mseTs:e}):o.updateStats({fps:!0,dfps:!0,ts:r,mseTs:e}):o.isPlayback()?o[n(480)][n(613)]({ts:r}):o[n(478)]()&&o[n(774)][n(613)]({ts:r}),!o[n(536)][n(797)]&&(o[n(536)].videoStart=Ve(),o[n(612)]())}else o.debugLog(this.TAG_NAME,n(742)+e+n(598)+r+n(547)+(this.cacheTrack&&this[n(841)].dts)),this[n(841)]={};!this.cacheTrack&&(this[n(841)]={}),this[n(841)].id=Bt[n(496)],this[n(841)][n(824)]=++this[n(824)],this[n(841)][n(719)]=h,this.cacheTrack[n(809)]=e,this.cacheTrack[n(707)]=i,this[n(841)][n(454)]=s,this[n(841)].data=a,this[n(841)][n(760)]={isLeading:0,dependsOn:s?2:1,isDependedOn:s?1:0,hasRedundancy:0,isNonSync:s?0:1},o[n(625)].mseUseCanvasRender&&ii(this[n(662)])&&ii(o[n(616)]())&&o[n(496)][n(457)]({$video:u,ts:e}),this[n(455)]=(new Date)[n(761)]()}_stopCanvasRender(){const t=Fm;this.canvasRenderInterval&&(clearInterval(this.canvasRenderInterval),this[t(852)]=null)}[Fm(527)](t,e,s){const i=Fm,r=this[i(458)];let n=this[i(468)]?t[i(849)](2):t[i(849)](1),o=n[i(677)];if(this.cacheAudioTrack.id&&e>=this[i(504)].dts){let t=8+this[i(504)].size,s=new Uint8Array(t);s[0]=t>>>24&255,s[1]=t>>>16&255,s[2]=t>>>8&255,s[3]=255&t,s.set(Bm.types[i(597)],4),s.set(this[i(504)].data,8),this[i(504)][i(635)]=e-this[i(504)].dts,this[i(504)][i(635)]>1e3&&this[i(458)][i(655)](this[i(482)],"cacheTrack duration is "+this[i(841)][i(635)]+i(679));let r=Bm[i(619)](this[i(504)],this[i(504)][i(809)]);this.cacheAudioTrack={};let n=new Uint8Array(r[i(677)]+s[i(677)]);n[i(765)](r,0),n[i(765)](s,r.byteLength),this.appendAudioBuffer(n[i(764)])}else r[i(686)](this[i(482)],i(596)+e+i(708)+(this[i(504)]&&this[i(504)][i(809)])),this[i(504)]={};!this[i(504)]&&(this[i(504)]={}),this[i(504)].id=Bt[i(608)],this[i(504)][i(824)]=++this.audioSequenceNumber,this[i(504)][i(719)]=o,this[i(504)][i(809)]=e,this[i(504)][i(707)]=0,this.cacheAudioTrack[i(664)]=n,this[i(504)][i(760)]={isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}appendBuffer(t){const e=Fm;this[e(458)][e(687)]()?this[e(458)].debugWarn(this.TAG_NAME,e(644)):(this[e(458)],this[e(590)]?this[e(458)][e(655)](this[e(482)],e(622)):this[e(522)]?this[e(458)].debugWarn(this[e(482)],e(717)):this.mediaSourceAppendBufferError?this[e(458)][e(655)](this[e(482)],e(652)):this[e(757)]?this[e(458)][e(655)](this[e(482)],"appendBuffer() this.mediaSourceBufferError is true"):(this[e(592)][e(736)](t),this[e(836)]&&(this.player[e(722)]()&&this[e(725)](),this.player[e(796)]()&&(this[e(781)](),this[e(513)]()),this[e(458)].isPlayVod(),ii(this[e(458)][e(478)]())&&this.player[e(625)][e(671)]&&this._needCleanupSourceBuffer()&&this[e(601)](),ii(this[e(560)]())&&this.isStateOpen&&ii(this[e(834)]()))?this[e(606)]():this[e(460)]?(this.mediaSourceBufferError=!0,this[e(458)][e(630)](N[e(643)],"mediaSource is not attached to video or mediaSource is closed")):this[e(491)]&&(this.mediaSourceBufferError=!0,this[e(458)][e(630)](N[e(643)],e(557)))))}[Fm(550)](t){const e=Fm;this[e(458)][e(687)]()?this[e(458)].debugWarn(this.TAG_NAME,e(607)):(this.player,this[e(590)]?this[e(458)][e(655)](this.TAG_NAME,"appendAudioBuffer() this.mediaSourceAddSourceBufferError is true"):this.mediaSourceAppendBufferFull?this[e(458)][e(655)](this[e(482)],e(580)):this[e(525)]?this[e(458)][e(655)](this[e(482)],e(829)):this[e(757)]?this.player[e(655)](this[e(482)],e(461)):(this[e(466)][e(736)](t),this[e(683)]&&(this.player.isPlayer()&&this._handleUpdatePlaybackRate(),this[e(458)][e(796)]()&&(this[e(781)](),this._checkVideoPlayCurrentTime()),this[e(458)][e(478)](),ii(this[e(458)][e(478)]())&&this[e(458)][e(625)][e(671)]&&this[e(714)]()&&this[e(601)](),ii(this.getAudioSourceBufferUpdating())&&this[e(820)]&&ii(this._hasPendingRemoveRanges()))?this[e(606)]():this.isStateClosed?(this[e(757)]=!0,this[e(458)][e(630)](N.mseSourceBufferError,"mediaSource is not attached to video or mediaSource is closed")):this[e(491)]&&(this[e(757)]=!0,this.player[e(630)](N[e(643)],"mediaSource is end"))))}[Fm(560)](){const t=Fm;return this.sourceBuffer&&this[t(836)].updating}[Fm(661)](){const t=Fm;return this[t(683)]&&this[t(683)][t(670)]}stop(){const t=Fm;this[t(728)](),this[t(561)](),this[t(570)]()}[Fm(759)](){const t=Fm,e=this[t(506)];let s=0,i=0;return e.buffered[t(752)]>0&&(i=e[t(658)][t(726)](e[t(658)][t(752)]-1),s=i-e.currentTime),s<0&&(this[t(458)][t(655)](this.TAG_NAME,t(484)+s+t(854)+i+t(497)+e[t(541)]+t(627)+e.currentTime+t(641)+i),e[t(541)]=i,e[t(753)]&&(this[t(458)][t(655)](this[t(482)],t(628)),this.player[t(771)]=!0),s=0),s}checkSourceBufferStore(){const t=Fm,e=this[t(506)];let s=0;return e[t(658)][t(752)]>0&&(s=e[t(541)]-e[t(658)][t(498)](0)),s}checkSourceBufferEndLessThanCurrentTime(){const t=Fm,e=this[t(506)];let s=0;return e.buffered[t(752)]>0&&(s=e[t(658)][t(726)](e[t(658)][t(752)]-1)-e.currentTime),s}[Fm(490)](){return this[Fm(559)]}removeBuffer(t,e){const s=Fm,i=Ms();if(this.player[s(686)](this[s(482)],s(450)+t+" and end is "+e+s(518)+i),this.isStateOpen&&ii(i)){if(ii(this[s(560)]()))try{this[s(836)].remove(t,e)}catch(t){this[s(458)][s(655)](this[s(482)],"removeBuffer() sourceBuffer error",t)}if(ii(this[s(661)]()))try{this[s(683)][s(801)](t,e)}catch(t){this[s(458)][s(655)](this[s(482)],s(843),t)}}}[Fm(845)](){const t=Fm;if(this[t(836)]){const e=this[t(836)][t(658)];for(let s=0;s=1)if(this[t(560)]()||this[t(661)]())this[t(739)]=!0;else{this[t(739)]=!1;try{this[t(458)][t(686)](this[t(482)],t(833)),this[t(660)][t(570)]()}catch(e){this.player[t(655)](this[t(482)],"endOfStream() error",e)}}}abortSourceBuffer(){const t=Fm;if(this[t(820)]){if(this[t(836)]){try{this[t(458)][t(686)](this[t(482)],t(502)),this[t(836)][t(666)]()}catch(t){}ii(this[t(560)]())&&this[t(451)]()}if(this.audioSourceBuffer){try{this.player.debugLog(this.TAG_NAME,t(568)),this.audioSourceBuffer[t(666)]()}catch(t){}ii(this.getAudioSourceBufferUpdating())&&this[t(451)]()}}this.sourceBuffer=null,this[t(683)]=null}[Fm(561)](){const t=Fm;if(!this.isStateClosed&&this[t(660)]){if(this[t(836)])try{this[t(458)].debugLog(this[t(482)],t(489)),this.mediaSource[t(561)](this[t(836)])}catch(e){this.player.debugError(this[t(482)],t(844),e)}if(this[t(683)])try{this[t(458)][t(686)](this[t(482)],t(650)),this[t(660)][t(561)](this[t(683)])}catch(e){this[t(458)].debugError(this[t(482)],"removeSourceBuffer() audioSourceBuffer error",e)}}}[Fm(587)](){const t=Fm;return this[t(592)][t(752)]>0||this[t(466)].length>0}[Fm(783)](){const t=Fm;return this[t(592)][t(752)]}[Fm(725)](){const t=Fm;if(!this[t(506)])return;const e=this.$videoElement;this[t(458)]._opt.videoBuffer,this[t(458)][t(625)][t(698)];const s=e[t(658)];s[t(752)]&&s[t(498)](0);const i=s[t(752)]?s[t(726)](s[t(752)]-1):0;let r=e[t(541)];const n=i-r,o=this[t(593)]();if(this[t(458)][t(613)]({mseVideoBufferDelayTime:n}),0===this.$videoElement[t(569)])return;if(n>o)this[t(458)][t(686)](this[t(482)],"handleUpdatePlaybackRate and buffered is "+i+t(832)+r+t(507)+o+t(825)+n+t(578)+i),e[t(541)]=i,r=e[t(541)];else if(n<0&&0===i)return this.player[t(655)](this[t(482)],t(747)+i+t(729)+r+t(727)+n+t(500)+e[t(753)]+" "),void this.player.emit(N[t(782)],t(850));const a=this._getPlaybackRate(i-r);e[t(473)]!==a&&(this[t(458)][t(686)](this[t(482)],t(758)+i+t(472)+r+" and delay is "+(i-r)+" set playbackRate is "+a+" "),e.playbackRate=a)}[Fm(781)](){const t=Fm,e=this[t(811)]();this[t(458)][t(613)]({mseVideoBufferDelayTime:e})}[Fm(513)](){const t=Fm,e=this[t(816)]();if(e<0){const s=this[t(696)]();this[t(458)][t(655)](this[t(482)],t(684)+e+t(766)+this.$videoElement[t(541)]+t(641)+s),this[t(506)][t(541)]=s}}[Fm(738)](){const t=Fm;if(!this[t(506)])return;const e=this.$videoElement[t(541)],s=this[t(649)]();if(1===s.length){const i=s[0][t(726)],r=Math[t(773)](i-e);if(r<1)return void this[t(458)][t(686)](this[t(482)],"updateVideoCurrentTimeByBufferStart current time is "+e+t(524)+i+t(636)+r+t(542))}let i=null;for(let r=0;r{const e=t;this[e(802)](),this.player[e(452)](N[e(462)])}),1e3)));if(ii(this.getSourceBufferUpdating())&&this[t(592)][t(752)]>0){const e=this[t(592)][t(564)]();try{this.sourceBuffer[t(521)](e)}catch(e){this.player[t(705)](this[t(482)],t(667),e[t(730)],e),22===e[t(730)]?(this[t(718)](),this.mediaSourceAppendBufferFull=!0,this[t(458)][t(630)](N[t(609)],t(465)+e[t(730)]+t(798)+e[t(740)])):11===e[t(730)]?(this[t(718)](),this[t(525)]=!0,this[t(458)][t(630)](N[t(525)],"code is "+e[t(730)]+t(798)+e[t(740)])):(this[t(718)](),this[t(757)]=!0,this[t(458)].emitError(O[t(643)],t(465)+e[t(730)]+t(798)+e[t(740)]))}}if(ii(this.getAudioSourceBufferUpdating())&&this[t(466)][t(752)]>0){const e=this[t(466)].shift();try{this.audioSourceBuffer[t(521)](e)}catch(e){this[t(458)][t(705)](this[t(482)],t(795),e[t(730)],e),22===e[t(730)]?(this[t(718)](),this.mediaSourceAppendBufferFull=!0,this[t(458)][t(630)](N[t(609)],t(465)+e[t(730)]+t(798)+e[t(740)])):11===e[t(730)]?(this[t(718)](),this[t(525)]=!0,this[t(458)][t(630)](N[t(525)],t(465)+e.code+t(798)+e[t(740)])):(this[t(718)](),this[t(757)]=!0,this[t(458)].emitError(O[t(643)],t(465)+e.code+t(798)+e.message))}}}else this.player.debugLog(this.TAG_NAME,t(603))}[Fm(601)](){const t=Fm;if(!this[t(506)])return;const e=this.$videoElement[t(541)];if(this[t(836)]){const s=this[t(836)][t(658)];let i=!1;for(let r=0;r=this[t(458)][t(625)][t(515)]){i=!0;let s=e-this[t(458)][t(625)].mseAutoCleanupMinBackwardDuration;this[t(540)][t(736)]({start:n,end:s})}}else o=this[t(458)][t(625)].mseAutoCleanupMaxBackwardDuration){i=!0;let s=e-this[t(458)][t(625)].mseAutoCleanupMinBackwardDuration;this[t(810)].push({start:n,end:s})}}else o0||this[t(810)][t(752)]>0}[Fm(451)](){const t=Fm;if(this[t(836)]&&ii(this.getSourceBufferUpdating())){let e=this[t(540)];for(;e[t(752)]&&ii(this[t(560)]());){let s=e[t(564)]();try{this[t(836)][t(801)](s[t(498)],s.end)}catch(e){this[t(458)][t(655)](this[t(482)],t(790),e)}}}if(this[t(683)]&&ii(this.getAudioSourceBufferUpdating())){let e=this.pendingAudioRemoveRanges;for(;e.length&&ii(this[t(661)]());){let s=e[t(564)]();try{this[t(683)].remove(s[t(498)],s[t(726)])}catch(e){this.player[t(655)](this[t(482)],t(851),e)}}}}[Fm(503)](){const t=Fm;let e=0;const s=this[t(506)];return s&&(e=s[t(473)]),e}_getPlaybackRate(t){const e=Fm,s=this[e(506)];let i=this[e(458)][e(625)].videoBufferDelay+this[e(458)][e(625)][e(689)];const r=Math[e(734)](i,1e3),n=r/2;return t*=1e3,1===s[e(473)]?t>r?1.2:1:t<=n?1:s[e(473)]}[Fm(714)](){const t=Fm;if(ii(this[t(458)]._opt[t(671)])||!this[t(506)])return!1;const e=this[t(506)],s=e[t(658)],i=e[t(541)];return s[t(752)]>=1&&i-s[t(498)](0)>=this[t(458)]._opt[t(515)]}[Fm(724)](){const t=Fm;let e=0;return this.$videoElement&&(e=this[t(506)].currentTime),e}[Fm(544)](){const t=Fm,e=this[t(506)];let s=0;if(e){const i=e[t(658)];i[t(752)]&&i[t(498)](0);s=i[t(752)]?i.end(i[t(752)]-1):0}return s}[Fm(827)](){const t=Fm,e=this[t(506)];let s=null;if(e){const i=e.buffered,r=i[t(752)]?i.start(0):0,n=i.length?i.end(i[t(752)]-1):0;s={start:r,end:n,diff:n-r}}return s}[Fm(696)](){const t=Fm,e=this[t(506)];let s=0;if(e){const i=e[t(658)];s=i.length?i[t(498)](0):0}return s}getVideoBufferEndTime(){const t=Fm,e=this[t(506)];let s=0;if(e){const i=e.buffered;s=i[t(752)]?i[t(726)](i.length-1):0}return s}[Fm(649)](){const t=Fm,e=this[t(506)];let s=[];if(e){const i=e[t(658)];for(let e=0;e0?s:0}[Fm(802)](){const t=Fm;this.audioSourceBufferCheckTimeout&&(clearTimeout(this[t(830)]),this[t(830)]=null)}[Fm(715)](){const t=Fm;this[t(599)]&&(clearTimeout(this[t(599)]),this[t(599)]=null)}getMimeType(){const t=Fm;return{video:this[t(495)],audio:this[t(586)]}}[Fm(593)](){const t=Fm;let e=(this[t(458)][t(625)].videoBuffer+this[t(458)][t(625)][t(698)])/1e3;return Math[t(734)](5,e+3)}[Fm(624)](){const t=Fm;return this.$videoElement&&ii(this[t(506)][t(753)])&&ii(this.$videoElement[t(523)])&&0!==this.$videoElement.playbackRate&&0!==this[t(506)][t(569)]}[Fm(469)](){const t=Fm;let e=!1;if(this[t(506)]){const s=this.$videoElement[t(541)],i=this[t(618)](),r=Math[t(773)](i-s);e=r<1,e&&this[t(458)][t(686)](this.TAG_NAME,"isCurrentTimeInBufferEnd and currentTime is "+s+t(750)+i+t(636)+r)}return e}[Fm(555)](){const t=Fm,e=this.checkSourceBufferStore();if(e<0){const s=this.getVideoBufferStartTime();this[t(458)][t(751)][t(659)](this[t(482)],"checkVideoPlayCurrentTime store is "+e+t(766)+this[t(506)][t(541)]+t(641)+s),this.$videoElement.currentTime=s}}[Fm(629)](t){const e=Fm;this[e(660)]&&(this[e(660)][e(635)]=t)}}const Nm=Vm;function Vm(t,e){const s=zm();return(Vm=function(t,e){return s[t-=302]})(t,e)}function zm(){const t=["20421sRQnpM","Native Wake Lock API not supported. so use video element.","Wake Lock active.","addEventListener","currentTime","debugLog","enable","visible","-100%","5700RUYoMK","1379798zyjfOK","append","noSleepVideo ","wakeLock","absolute","1789140uFKHGk","catch","timeupdate","setAttribute","data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACORtZGF03gIATGF2YzU4LjM1LjEwMAACMEAOAAACcQYF//9t3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2MSByMzAyNyA0MTIxMjc3IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTAgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTcgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0wIHdlaWdodHA9MCBrZXlpbnQ9MjUwIGtleWludF9taW49MTAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAADvZYiED/JigADD7JycnJycnJycnJycnJycnJycnJ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111114BGCAHARggBwEYIAcBGCAHARggBwAAAAdBmjgf4BLYARggBwEYIAcBGCAHARggBwAAAAdBmlQH+AS2ARggBwEYIAcBGCAHARggBwAAAAdBmmA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZrAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0Ga4D/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbAD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbID/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBm0A/wCWwARggBwEYIAcBGCAHAAAAB0GbYD/AJbABGCAHARggBwEYIAcAAAAHQZuAP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0Gb4D/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdBmgA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmiA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmkA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZpgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZqgP8AlsAEYIAcBGCAHARggBwAAAAdBmsA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmuA/wCWwARggBwEYIAcBGCAHARggBwAAAAdBmwA/wCWwARggBwEYIAcBGCAHARggBwEYIAcAAAAHQZsgP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtAP8AlsAEYIAcBGCAHARggBwEYIAcAAAAHQZtgP8AlsAEYIAcBGCAHARggBwEYIAcBGCAHAAAAB0GbgD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GboD/AJbABGCAHARggBwEYIAcBGCAHAAAAB0GbwD/AJbABGCAHARggBwEYIAcBGCAHARggBwAAAAdB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","release","removeEventListener","noSleepVideo","visibilitychange","mp4","_addSourceToVideo","debugWarn","request","NoSleep","handleVisibilityChange","data:video/webm;base64,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ggOtgPj//qOHggPBgPj//qOHggPVgPj//qOHggPpgPj//qOegQPvANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCA/2A+P/+o4eCBBGA+P/+o4eCBCWA+P/+o4eCBDmA+P/+o4eCBE2A+P/+o56BBFMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IEiID4//6jh4IEnID4//6jh4IEsID4//6jnoEEtwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggTEgPj//qOHggTYgPj//qOHggTsgPj//qOHggUAgPj//qOHggUUgPj//qOegQUbANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBSiA+P/+o4eCBTyA+P/+o4eCBVCA+P/+o4eCBWSA+P/+o4eCBXiA+P/+o56BBX8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IFjID4//6jh4IFoID4//6jh4IFtID4//6jh4IFyID4//6jh4IF3ID4//6jnoEF4wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggXwgPj//qOHggYEgPj//qOHggYYgPj//qOHggYsgPj//qOHggZAgPj//qOegQZHANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCBlSA+P/+o4eCBmiA+P/+o4eCBnyA+P/+o4eCBpCA+P/+o4eCBqSA+P/+o56BBqsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IGuID4//6jh4IGzID4//6jh4IG4ID4//6jh4IG9ID4//6jh4IHCID4//6jnoEHDwDRAgAFEBAUYABhYL/QACIAEM1+tck+ccwAAKOHggccgPj//qOHggcwgPj//qOHggdEgPj//qOHggdYgPj//qOHggdsgPj//qOegQdzANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCB4CA+P/+o4eCB5SA+P/+o4eCB6iA+P/+o4eCB7yA+P/+o4eCB9CA+P/+o56BB9cA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IH5ID4//6jh4IH+ID4//6jh4IIDID4//6jh4IIIID4//6jh4IINID4//6jnoEIOwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgghIgPj//qOHgghcgPj//qOHgghwgPj//qOHggiEgPj//qOegQifANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCMCA+P/+o4eCCNSA+P/+o4eCCOiA+P/+o4eCCPyA+P/+o56BCQMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IJEID4//6jh4IJJID4//6jh4IJOID4//6jh4IJTID4//6jh4IJYID4//6jnoEJZwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggl0gPj//qOHggmIgPj//qOHggmcgPj//qOHggmwgPj//qOHggnEgPj//qOegQnLANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCdiA+P/+o4eCCeyA+P/+o4eCCgCA+P/+o4eCChSA+P/+o4eCCiiA+P/+o56BCi8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IKPID4//6jh4IKUID4//6jh4IKZID4//6jh4IKeID4//6jh4IKjID4//6jnoEKkwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggqggPj//qOHggq0gPj//qOHggrIgPj//qOHggrcgPj//qOHggrwgPj//qOegQr3ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCCwSA+P/+o4eCCxiA+P/+o4eCCyyA+P/+o4eCC0CA+P/+o4eCC1SA+P/+o56BC1sA0QIABRAQFGAAYWC/0AAiABDNfrXJPnHMAACjh4ILaID4//6jh4ILfID4//6jh4ILkID4//6jh4ILpID4//6jh4ILuID4//6jnoELvwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHggvMgPj//qOHggvggPj//qOHggv0gPj//qOHggwIgPj//qOHggwcgPj//qOegQwjANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDDCA+P/+o4eCDESA+P/+o4eCDFiA+P/+o4eCDGyA+P/+o4eCDICA+P/+o56BDIcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IMlID4//6jh4IMqID4//6jh4IMvID4//6jh4IM0ID4//6jnoEM6wDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg0MgPj//qOHgg0ggPj//qOHgg00gPj//qOHgg1IgPj//qOegQ1PANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDVyA+P/+o4eCDXCA+P/+o4eCDYSA+P/+o4eCDZiA+P/+o4eCDayA+P/+o56BDbMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4INwID4//6jh4IN1ID4//6jh4IN6ID4//6jh4IN/ID4//6jh4IOEID4//6jnoEOFwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg4kgPj//qOHgg44gPj//qOHgg5MgPj//qOHgg5ggPj//qOHgg50gPj//qOegQ57ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCDoiA+P/+o4eCDpyA+P/+o4eCDrCA+P/+o4eCDsSA+P/+o4eCDtiA+P/+o56BDt8A0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IO7ID4//6jh4IPAID4//6jh4IPFID4//6jh4IPKID4//6jh4IPPID4//6jnoEPQwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHgg9QgPj//qOHgg9kgPj//qOHgg94gPj//qOHgg+MgPj//qOHgg+ggPj//qOegQ+nANECAAUQEBRgAGFgv9AAIgAQzX61yT5xzAAAo4eCD7SA+P/+o4eCD8iA+P/+o4eCD9yA+P/+o4eCD/CA+P/+o4eCEASA+P/+o56BEAsA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IQGID4//6jh4IQLID4//6jh4IQQID4//6jh4IQVID4//6jh4IQaID4//6jnoEQbwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghB8gPj//qOHghCQgPj//qOHghCkgPj//qOHghC4gPj//qOHghDMgPj//qOegRDTANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEOCA+P/+o4eCEPSA+P/+o4eCEQiA+P/+o56BETcA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4IRQ4D4//6jh4IRV4D4//6jh4IRa4D4//6jh4IRf4D4//6jh4IRk4D4//6jnoERmwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghGngPj//qOHghG7gPj//qOHghHPgPj//qOHghHjgPj//qOHghH3gPj//qOegRH/ANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEguA+P/+o4eCEh+A+P/+o4eCEjOA+P/+o4eCEkeA+P/+o4eCEluA+P/+o56BEmMA0QIABRCsABgAGFgv9AAIgAQzX61yT5xzAACjh4ISb4D4//6jh4ISg4D4//6jh4ISl4D4//6jh4ISq4D4//6jh4ISv4D4//6jnoESxwDRAgAFEKwAGAAYWC/0AAiABDNfrXJPnHMAAKOHghLTgPj//qOHghLngPj//qOHghL7gPj//qOHghMPgPj//qOHghMjgPj//qOegRMrANECAAUQrAAYABhYL/QACIAEM1+tck+ccwAAo4eCEzeA+P/+o4eCE0uA+P/+o4eCE1+A+P/+o4eCE3OA+P/+oAEAAAAAAAAPoYeCE4cA+P/+daKDB/KBHFO7a5G7j7OBB7eK94EB8YIDX/CBDA==","9215960uRkaNo","name","Samsung","createElement","pause","7430hZzIFC","enabled","handleNoSleepVideoTimeUpdate","parentNode","2580UUJsSg","447292VqpBlc","screen","Failed to remove noSleepVideo element.","Wake Lock released.","userAgent","message","116TmskzH","type","webm","play","removeChild","video","_wakeLock","isEnabled","video/","Native Wake Lock API supported.","body","navigator","4195GrdHly","player","assign","destroy","then","src"];return(zm=function(){return t})()}!function(t,e){const s=Vm,i=t();for(;;)try{if(589234===parseInt(s(345))/1+parseInt(s(319))/2+-parseInt(s(313))/3*(parseInt(s(351))/4)+parseInt(s(363))/5*(-parseInt(s(344))/6)+parseInt(s(314))/7+parseInt(s(335))/8+parseInt(s(304))/9*(-parseInt(s(340))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(zm);const Wm=Nm(334),Gm=Nm(323),Hm=()=>Nm(317)in navigator&&-1===window[Nm(362)][Nm(349)].indexOf(Nm(337))&&ii(ts());class Km{constructor(t){const e=Nm;this.player=t,this[e(341)]=!1,Hm()?(this[e(364)][e(309)](e(332),e(360)),this._wakeLock=null,this[e(333)]=()=>{const t=e;null!==this._wakeLock&&document.visibilityState===t(311)&&this[t(310)]()},document[e(307)]("visibilitychange",this[e(333)]),document.addEventListener("fullscreenchange",this.handleVisibilityChange)):(this[e(364)][e(309)](e(332),e(305)),this.noSleepVideo=document.createElement(e(356)),this[e(326)][e(322)]("title","No Sleep"),this[e(326)][e(322)]("playsinline",""),this[e(329)](this[e(326)],e(353),Wm),this[e(329)](this[e(326)],e(328),Gm),Object[e(365)](this[e(326)].style,{position:e(318),left:e(312),top:e(312)}),document.querySelector(e(361))[e(315)](this[e(326)]),this[e(342)]=()=>{const t=e;this.noSleepVideo&&this.noSleepVideo[t(308)]>4&&(this[t(326)][t(308)]=1)},this[e(326)][e(307)](e(321),this[e(342)]))}[Nm(366)](){const t=Nm;if(this[t(357)]&&(this[t(357)][t(324)](),this[t(357)]=null),this[t(326)]){this.handleNoSleepVideoTimeUpdate&&this[t(326)][t(325)](t(321),this[t(342)]);try{this.noSleepVideo[t(343)]&&this[t(326)].parentNode[t(355)](this[t(326)])}catch(e){this[t(364)][t(330)]("NoSleep",t(347))}this[t(326)]=null}this[t(333)]&&(document[t(325)](t(327),this[t(333)]),document[t(325)]("fullscreenchange",this[t(333)]))}[Nm(329)](t,e,s){const i=Nm;var r=document[i(338)]("source");r[i(303)]=s,r[i(352)]=i(359)+e,t.appendChild(r)}get[Nm(358)](){return this[Nm(341)]}enable(){const t=Nm;if(Hm())return navigator.wakeLock[t(331)](t(346))[t(302)]((e=>{const s=t;this[s(357)]=e,this[s(341)]=!0,this[s(364)][s(309)](s(317),s(306)),this._wakeLock[s(307)]("release",(()=>{const t=s;this.player.debugLog(t(317),t(348))}))}))[t(320)]((e=>{const s=t;throw this.enabled=!1,this[s(364)][s(330)](s(317),e[s(336)]+", "+e[s(350)]),e}));return this[t(326)][t(354)]()[t(302)]((e=>{const s=t;return this.player[s(309)](s(317),"noSleepVideo Wake Lock active."),this[s(341)]=!0,e})).catch((e=>{const s=t;throw this[s(364)][s(330)]("wakeLock",s(316)+e[s(336)]+", "+e[s(350)]),this[s(341)]=!1,e}))}disable(){const t=Nm;Hm()?(this._wakeLock&&this[t(357)][t(324)](),this._wakeLock=null):this[t(326)]&&this.noSleepVideo[t(339)](),this[t(341)]=!1,this[t(364)][t(309)](t(317),"Disabling wake lock.")}}function Qm(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ym={exports:{}};!function(t,e){var s,i,r,n,o;s=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,i=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,n=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(t,e,s){if(s=s||{},t=t.trim(),!(e=e.trim())){if(!s.alwaysNormalize)return t;var r=o.parseURL(t);if(!r)throw new Error("Error trying to parse base URL.");return r.path=o.normalizePath(r.path),o.buildURLFromParts(r)}var n=o.parseURL(e);if(!n)throw new Error("Error trying to parse relative URL.");if(n.scheme)return s.alwaysNormalize?(n.path=o.normalizePath(n.path),o.buildURLFromParts(n)):e;var a=o.parseURL(t);if(!a)throw new Error("Error trying to parse base URL.");if(!a.netLoc&&a.path&&"/"!==a.path[0]){var h=i.exec(a.path);a.netLoc=h[1],a.path=h[2]}a.netLoc&&!a.path&&(a.path="/");var c={scheme:a.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc&&(c.netLoc=a.netLoc,"/"!==n.path[0]))if(n.path){var l=a.path,d=l.substring(0,l.lastIndexOf("/")+1)+n.path;c.path=o.normalizePath(d)}else c.path=a.path,n.params||(c.params=a.params,n.query||(c.query=a.query));return null===c.path&&(c.path=s.alwaysNormalize?o.normalizePath(n.path):n.path),o.buildURLFromParts(c)},parseURL:function(t){var e=s.exec(t);return e?{scheme:e[1]||"",netLoc:e[2]||"",path:e[3]||"",params:e[4]||"",query:e[5]||"",fragment:e[6]||""}:null},normalizePath:function(t){for(t=t.split("").reverse().join("").replace(r,"");t.length!==(t=t.replace(n,"")).length;);return t.split("").reverse().join("")},buildURLFromParts:function(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}},t.exports=o}(Ym);var qm=Ym.exports;function Jm(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,i)}return s}function Xm(t){for(var e=1;e`):ag}(e)}))}const dg=cg,ug=/^(\d+)x(\d+)$/,pg=/(.+?)=(".*?"|.*?)(?:,|$)/g;class fg{constructor(t){"string"==typeof t&&(t=fg.parseAttrList(t)),tg(this,t)}get clientAttrs(){return Object.keys(this).filter((t=>"X-"===t.substring(0,2)))}decimalInteger(t){const e=parseInt(this[t],10);return e>Number.MAX_SAFE_INTEGER?1/0:e}hexadecimalInteger(t){if(this[t]){let e=(this[t]||"0x").slice(2);e=(1&e.length?"0":"")+e;const s=new Uint8Array(e.length/2);for(let t=0;tNumber.MAX_SAFE_INTEGER?1/0:e}decimalFloatingPoint(t){return parseFloat(this[t])}optionalFloat(t,e){const s=this[t];return s?parseFloat(s):e}enumeratedString(t){return this[t]}bool(t){return"YES"===this[t]}decimalResolution(t){const e=ug.exec(this[t]);if(null!==e)return{width:parseInt(e[1],10),height:parseInt(e[2],10)}}static parseAttrList(t){let e;const s={};for(pg.lastIndex=0;null!==(e=pg.exec(t));){let t=e[2];0===t.indexOf('"')&&t.lastIndexOf('"')===t.length-1&&(t=t.slice(1,-1));s[e[1].trim()]=t}return s}}function mg(t){return"SCTE35-OUT"===t||"SCTE35-IN"===t}class gg{constructor(t,e){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,e){const s=e.attr;for(const e in s)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==s[e]){dg.warn(`DATERANGE tag attribute: "${e}" does not match for tags with ID: "${t.ID}"`),this._badValueForSameId=e;break}t=tg(new fg({}),s,t)}if(this.attr=t,this._startDate=new Date(t["START-DATE"]),"END-DATE"in this.attr){const t=new Date(this.attr["END-DATE"]);eg(t.getTime())&&(this._endDate=t)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get startDate(){return this._startDate}get endDate(){if(this._endDate)return this._endDate;const t=this.duration;return null!==t?new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){const t=this.attr.decimalFloatingPoint("DURATION");if(eg(t))return t}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isValid(){return!!this.id&&!this._badValueForSameId&&eg(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}class Ag{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var yg="audio",bg="video",vg="audiovideo";class wg{constructor(t){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[yg]:null,[bg]:null,[vg]:null},this.baseurl=t}setByteRange(t,e){const s=t.split("@",2);let i;i=1===s.length?(null==e?void 0:e.byteRangeEndOffset)||0:parseInt(s[1]),this._byteRange=[i,parseInt(s[0])+i]}get byteRange(){return this._byteRange?this._byteRange:[]}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=qm.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(t){this._url=t}}class Sg extends wg{constructor(t,e){super(e),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Ag,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=t}get decryptdata(){const{levelkeys:t}=this;if(!t&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{const t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;if(!eg(this.programDateTime))return null;const t=eg(this.duration)?this.duration:0;return this.programDateTime+1e3*t}get encrypted(){var t;if(null!=(t=this._decryptdata)&&t.encrypted)return!0;if(this.levelkeys){const t=Object.keys(this.levelkeys),e=t.length;if(e>1||1===e&&this.levelkeys[t[0]].encrypted)return!0}return!1}setKeyFormat(t){if(this.levelkeys){const e=this.levelkeys[t];e&&!this._decryptdata&&(this._decryptdata=e.getDecryptData(this.sn))}}abortRequests(){var t,e;null==(t=this.loader)||t.abort(),null==(e=this.keyLoader)||e.abort()}setElementaryStreamInfo(t,e,s,i,r,n=!1){const{elementaryStreams:o}=this,a=o[t];a?(a.startPTS=Math.min(a.startPTS,e),a.endPTS=Math.max(a.endPTS,s),a.startDTS=Math.min(a.startDTS,i),a.endDTS=Math.max(a.endDTS,r)):o[t]={startPTS:e,endPTS:s,startDTS:i,endDTS:r,partial:n}}clearElementaryStreamInfo(){const{elementaryStreams:t}=this;t[yg]=null,t[bg]=null,t[vg]=null}}class Eg extends wg{constructor(t,e,s,i,r){super(s),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Ag,this.duration=t.decimalFloatingPoint("DURATION"),this.gap=t.bool("GAP"),this.independent=t.bool("INDEPENDENT"),this.relurl=t.enumeratedString("URI"),this.fragment=e,this.index=i;const n=t.enumeratedString("BYTERANGE");n&&this.setByteRange(n,r),r&&(this.fragOffset=r.fragOffset+r.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:t}=this;return!!(t.audio||t.video||t.audiovideo)}}class Ig{constructor(t){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=t}reloaded(t){if(!t)return this.advanced=!0,void(this.updated=!0);const e=this.lastPartSn-t.lastPartSn,s=this.lastPartIndex-t.lastPartIndex;this.updated=this.endSN!==t.endSN||!!s||!!e||!this.live,this.advanced=this.endSN>t.endSN||e>0||0===e&&s>0,this.updated||this.advanced?this.misses=Math.floor(.6*t.misses):this.misses=t.misses+1,this.availabilityDelay=t.availabilityDelay}get hasProgramDateTime(){return!!this.fragments.length&&eg(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){const t=this.driftEndTime-this.driftStartTime;if(t>0){return 1e3*(this.driftEnd-this.driftStart)/t}return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var t;return null!=(t=this.fragments)&&t.length?this.fragments[this.fragments.length-1].end:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].index:-1}get lastPartSn(){var t;return null!=(t=this.partList)&&t.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}function Tg(t){return Uint8Array.from(atob(t),(t=>t.charCodeAt(0)))}function kg(t){const e=t.split(":");let s=null;if("data"===e[0]&&2===e.length){const t=e[1].split(";"),i=t[t.length-1].split(",");if(2===i.length){const e="base64"===i[0],r=i[1];e?(t.splice(-1,1),s=Tg(r)):s=function(t){const e=_g(t).subarray(0,16),s=new Uint8Array(16);return s.set(e,16-e.length),s}(r)}}return s}function _g(t){return Uint8Array.from(unescape(encodeURIComponent(t)),(t=>t.charCodeAt(0)))}const Cg="undefined"!=typeof self?self:void 0;var Rg={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},Dg="org.w3.clearkey",xg="com.apple.streamingkeydelivery",Lg="com.microsoft.playready",Pg="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function Mg(t){switch(t){case xg:return Rg.FAIRPLAY;case Lg:return Rg.PLAYREADY;case Pg:return Rg.WIDEVINE;case Dg:return Rg.CLEARKEY}}var Bg="edef8ba979d64acea3c827dcd51d21ed";function Fg(t){switch(t){case Rg.FAIRPLAY:return xg;case Rg.PLAYREADY:return Lg;case Rg.WIDEVINE:return Pg;case Rg.CLEARKEY:return Dg}}function Og(t){const{drmSystems:e,widevineLicenseUrl:s}=t,i=e?[Rg.FAIRPLAY,Rg.WIDEVINE,Rg.PLAYREADY,Rg.CLEARKEY].filter((t=>!!e[t])):[];return!i[Rg.WIDEVINE]&&s&&i.push(Rg.WIDEVINE),i}const Ug=null!=Cg&&null!=(jg=Cg.navigator)&&jg.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;var jg;function Ng(t,e,s){return Uint8Array.prototype.slice?t.slice(e,s):new Uint8Array(Array.prototype.slice.call(t,e,s))}const Vg=(t,e)=>e+10<=t.length&&73===t[e]&&68===t[e+1]&&51===t[e+2]&&t[e+3]<255&&t[e+4]<255&&t[e+6]<128&&t[e+7]<128&&t[e+8]<128&&t[e+9]<128,zg=(t,e)=>e+10<=t.length&&51===t[e]&&68===t[e+1]&&73===t[e+2]&&t[e+3]<255&&t[e+4]<255&&t[e+6]<128&&t[e+7]<128&&t[e+8]<128&&t[e+9]<128,Wg=(t,e)=>{const s=e;let i=0;for(;Vg(t,e);){i+=10;i+=Gg(t,e+6),zg(t,e+10)&&(i+=10),e+=i}if(i>0)return t.subarray(s,s+i)},Gg=(t,e)=>{let s=0;return s=(127&t[e])<<21,s|=(127&t[e+1])<<14,s|=(127&t[e+2])<<7,s|=127&t[e+3],s},Hg=(t,e)=>Vg(t,e)&&Gg(t,e+6)+10<=t.length-e,Kg=t=>{const e=qg(t);for(let t=0;tt&&"PRIV"===t.key&&"com.apple.streaming.transportStreamTimestamp"===t.info,Yg=t=>{const e=String.fromCharCode(t[0],t[1],t[2],t[3]),s=Gg(t,4);return{type:e,size:s,data:t.subarray(10,10+s)}},qg=t=>{let e=0;const s=[];for(;Vg(t,e);){const i=Gg(t,e+6);e+=10;const r=e+i;for(;e+8"PRIV"===t.type?Xg(t):"W"===t.type[0]?$g(t):Zg(t),Xg=t=>{if(t.size<2)return;const e=eA(t.data,!0),s=new Uint8Array(t.data.subarray(e.length+1));return{key:t.type,info:e,data:s.buffer}},Zg=t=>{if(t.size<2)return;if("TXXX"===t.type){let e=1;const s=eA(t.data.subarray(e),!0);e+=s.length+1;const i=eA(t.data.subarray(e));return{key:t.type,info:s,data:i}}const e=eA(t.data.subarray(1));return{key:t.type,data:e}},$g=t=>{if("WXXX"===t.type){if(t.size<2)return;let e=1;const s=eA(t.data.subarray(e),!0);e+=s.length+1;const i=eA(t.data.subarray(e));return{key:t.type,info:s,data:i}}const e=eA(t.data);return{key:t.type,data:e}},tA=t=>{if(8===t.data.byteLength){const e=new Uint8Array(t.data),s=1&e[3];let i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,s&&(i+=47721858.84),Math.round(i)}},eA=(t,e=!1)=>{const s=iA();if(s){const i=s.decode(t);if(e){const t=i.indexOf("\0");return-1!==t?i.substring(0,t):i}return i.replace(/\0/g,"")}const i=t.length;let r,n,o,a="",h=0;for(;h>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:a+=String.fromCharCode(r);break;case 12:case 13:n=t[h++],a+=String.fromCharCode((31&r)<<6|63&n);break;case 14:n=t[h++],o=t[h++],a+=String.fromCharCode((15&r)<<12|(63&n)<<6|(63&o)<<0)}}return a};let sA;function iA(){if(!navigator.userAgent.includes("PlayStation 4"))return sA||void 0===self.TextDecoder||(sA=new self.TextDecoder("utf-8")),sA}const rA=function(t){let e="";for(let s=0;s>24,t[e+1]=s>>16&255,t[e+2]=s>>8&255,t[e+3]=255&s}function fA(t,e){const s=[];if(!e.length)return s;const i=t.byteLength;for(let r=0;r1?r+n:i;if(hA(t.subarray(r+4,r+8))===e[0])if(1===e.length)s.push(t.subarray(r+8,o));else{const i=fA(t.subarray(r+8,o),e.slice(1));i.length&&oA.apply(s,i)}r=o}return s}function mA(t){const e=[],s=t[0];let i=8;const r=lA(t,i);i+=4;let n=0,o=0;0===s?(n=lA(t,i),o=lA(t,i+4),i+=8):(n=dA(t,i),o=dA(t,i+8),i+=16),i+=2;let a=t.length+o;const h=cA(t,i);i+=2;for(let s=0;s>>31)return dg.warn("SIDX has hierarchical references (not supported)"),null;const h=lA(t,s);s+=4,e.push({referenceSize:o,subsegmentDuration:h,info:{duration:h/r,start:a,end:a+o-1}}),a+=o,s+=4,i=s}return{earliestPresentationTime:n,timescale:r,version:s,referencesCount:h,references:e}}function gA(t){const e=[],s=fA(t,["moov","trak"]);for(let t=0;t{const s=lA(t,4),i=e[s];i&&(i.default={duration:lA(t,12),flags:lA(t,20)})})),e}function AA(t){const e=t.subarray(8),s=e.subarray(86),i=hA(e.subarray(4,8));let r=i;const n="enca"===i||"encv"===i;if(n){const t=fA(e,[i])[0];fA(t.subarray("enca"===i?28:78),["sinf"]).forEach((t=>{const e=fA(t,["schm"])[0];if(e){const s=hA(e.subarray(4,8));if("cbcs"===s||"cenc"===s){const e=fA(t,["frma"])[0];e&&(r=hA(e))}}}))}switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{const t=fA(s,["avcC"])[0];r+="."+bA(t[1])+bA(t[2])+bA(t[3]);break}case"mp4a":{const t=fA(e,[i])[0],s=fA(t.subarray(28),["esds"])[0];if(s&&s.length>12){let t=4;if(3!==s[t++])break;t=yA(s,t),t+=2;const e=s[t++];if(128&e&&(t+=2),64&e&&(t+=s[t++]),4!==s[t++])break;t=yA(s,t);const i=s[t++];if(64!==i)break;if(r+="."+bA(i),t+=12,5!==s[t++])break;t=yA(s,t);const n=s[t++];let o=(248&n)>>3;31===o&&(o+=1+((7&n)<<3)+((224&s[t])>>5)),r+="."+o}break}case"hvc1":case"hev1":{const t=fA(s,["hvcC"])[0],e=t[1],i=["","A","B","C"][e>>6],n=31&e,o=lA(t,2),a=(32&e)>>5?"H":"L",h=t[12],c=t.subarray(6,12);r+="."+i+n,r+="."+o.toString(16).toUpperCase(),r+="."+a+h;let l="";for(let t=c.length;t--;){const e=c[t];if(e||l){l="."+e.toString(16).toUpperCase()+l}}r+=l;break}case"dvh1":case"dvhe":{const t=fA(s,["dvcC"])[0],e=t[2]>>1&127,i=t[2]<<5&32|t[3]>>3&31;r+="."+vA(e)+"."+vA(i);break}case"vp09":{const t=fA(s,["vpcC"])[0],e=t[4],i=t[5],n=t[6]>>4&15;r+="."+vA(e)+"."+vA(i)+"."+vA(n);break}case"av01":{const t=fA(s,["av1C"])[0],e=t[1]>>>5,i=31&t[1],n=t[2]>>>7?"H":"M",o=(64&t[2])>>6,a=(32&t[2])>>5,h=2===e&&o?a?12:10:o?10:8,c=(16&t[2])>>4,l=(8&t[2])>>3,d=(4&t[2])>>2,u=3&t[2],p=1,f=1,m=1,g=0;r+="."+e+"."+vA(i)+n+"."+vA(h)+"."+c+"."+l+d+u+"."+vA(p)+"."+vA(f)+"."+vA(m)+"."+g;break}}return{codec:r,encrypted:n}}function yA(t,e){const s=e+5;for(;128&t[e++]&&e{const h=a.byteOffset-8;fA(a,["traf"]).map((a=>{const c=fA(a,["tfdt"]).map((t=>{const e=t[0];let s=lA(t,4);return 1===e&&(s*=Math.pow(2,32),s+=lA(t,8)),s/r}))[0];return void 0!==c&&(t=c),fA(a,["tfhd"]).map((c=>{const l=lA(c,4),d=16777215&lA(c,0);let u=0;const p=0!=(16&d);let f=0;const m=0!=(32&d);let g=8;l===n&&(0!=(1&d)&&(g+=8),0!=(2&d)&&(g+=4),0!=(8&d)&&(u=lA(c,g),g+=4),p&&(f=lA(c,g),g+=4),m&&(g+=4),"video"===e.type&&(o=function(t){if(!t)return!1;const e=t.indexOf("."),s=e<0?t:t.substring(0,e);return"hvc1"===s||"hev1"===s||"dvh1"===s||"dvhe"===s}(e.codec)),fA(a,["trun"]).map((n=>{const a=n[0],c=16777215&lA(n,0),l=0!=(1&c);let d=0;const p=0!=(4&c),m=0!=(256&c);let g=0;const A=0!=(512&c);let y=0;const b=0!=(1024&c),v=0!=(2048&c);let w=0;const S=lA(n,4);let E=8;l&&(d=lA(n,E),E+=4),p&&(E+=4);let I=d+h;for(let h=0;h>1&63;return 39===t||40===t}return 6===(31&e)}function kA(t,e,s,i){const r=_A(t);let n=0;n+=e;let o=0,a=0,h=0;for(;n=r.length)break;h=r[n++],o+=h}while(255===h);a=0;do{if(n>=r.length)break;h=r[n++],a+=h}while(255===h);const t=r.length-n;let e=n;if(at){dg.error(`Malformed SEI payload. ${a} is too small, only ${t} bytes left to parse.`);break}if(4===o){if(181===r[e++]){const t=cA(r,e);if(e+=2,49===t){const t=lA(r,e);if(e+=4,1195456820===t){const t=r[e++];if(3===t){const n=r[e++],a=31&n,h=64&n,c=h?2+3*a:0,l=new Uint8Array(c);if(h){l[0]=n;for(let t=1;t16){const t=[];for(let s=0;s<16;s++){const i=r[e++].toString(16);t.push(1==i.length?"0"+i:i),3!==s&&5!==s&&7!==s&&9!==s||t.push("-")}const n=a-16,h=new Uint8Array(n);for(let t=0;t0?(n=new Uint8Array(4),e.length>0&&new DataView(n.buffer).setUint32(0,e.length,!1)):n=new Uint8Array;const o=new Uint8Array(4);return s&&s.byteLength>0&&new DataView(o.buffer).setUint32(0,s.byteLength,!1),function(t,...e){const s=e.length;let i=8,r=s;for(;r--;)i+=e[r].byteLength;const n=new Uint8Array(i);for(n[0]=i>>24&255,n[1]=i>>16&255,n[2]=i>>8&255,n[3]=255&i,n.set(t,4),r=0,i=8;r>8*(15-s)&255;return e}(t);return new DA(this.method,this.uri,"identity",this.keyFormatVersions,e)}const e=kg(this.uri);if(e)switch(this.keyFormat){case Pg:this.pssh=e,e.length>=22&&(this.keyId=e.subarray(e.length-22,e.length-6));break;case Lg:{const t=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=CA(t,null,e);const s=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(s)),r=i.substring(i.indexOf("<"),i.length),n=(new DOMParser).parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(n){const t=n.childNodes[0]?n.childNodes[0].nodeValue:n.getAttribute("VALUE");if(t){const e=Tg(t).subarray(0,16);!function(t){const e=function(t,e,s){const i=t[e];t[e]=t[s],t[s]=i};e(t,0,3),e(t,1,2),e(t,4,5),e(t,6,7)}(e),this.keyId=e}}break}default:{let t=e.subarray(0,16);if(16!==t.length){const e=new Uint8Array(16);e.set(t,16-t.length),t=e}this.keyId=t;break}}if(!this.keyId||16!==this.keyId.byteLength){let t=RA[this.uri];if(!t){const e=Object.keys(RA).length%Number.MAX_SAFE_INTEGER;t=new Uint8Array(16);new DataView(t.buffer,12,4).setUint32(0,e),RA[this.uri]=t}this.keyId=t}return this}}const xA=/\{\$([a-zA-Z0-9-_]+)\}/g;function LA(t){return xA.test(t)}function PA(t,e,s){if(null!==t.variableList||t.hasVariableRefs)for(let i=s.length;i--;){const r=s[i],n=e[r];n&&(e[r]=MA(t,n))}}function MA(t,e){if(null!==t.variableList||t.hasVariableRefs){const s=t.variableList;return e.replace(xA,(e=>{const i=e.substring(2,e.length-1),r=null==s?void 0:s[i];return void 0===r?(t.playlistParsingError||(t.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${i}"`)),e):r}))}return e}function BA(t,e,s){let i,r,n=t.variableList;if(n||(t.variableList=n={}),"QUERYPARAM"in e){i=e.QUERYPARAM;try{const t=new self.URL(s).searchParams;if(!t.has(i))throw new Error(`"${i}" does not match any query parameter in URI: "${s}"`);r=t.get(i)}catch(e){t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${e.message}`))}}else i=e.NAME,r=e.VALUE;i in n?t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${i}"`)):n[i]=r||""}function FA(t,e,s){const i=e.IMPORT;if(s&&i in s){let e=t.variableList;e||(t.variableList=e={}),e[i]=s[i]}else t.playlistParsingError||(t.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}function OA(t=!0){if("undefined"==typeof self)return;return(t||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}const UA={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function jA(t,e,s=!0){return!t.split(",").some((t=>!NA(t,e,s)))}function NA(t,e,s=!0){var i;const r=OA(s);return null!=(i=null==r?void 0:r.isTypeSupported(VA(t,e)))&&i}function VA(t,e){return`${e}/mp4;codecs="${t}"`}function zA(t){if(t){const e=t.substring(0,4);return UA.video[e]}return 2}function WA(t){return t.split(",").reduce(((t,e)=>{const s=UA.video[e];return s?(2*s+t)/(t?3:2):(UA.audio[e]+t)/(t?2:1)}),0)}const GA={};const HA=/flac|opus/i;function KA(t,e=!0){return t.replace(HA,(t=>function(t,e=!0){if(GA[t])return GA[t];const s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[t];for(let i=0;i0&&i.length({id:t.attrs.AUDIO,audioCodec:t.audioCodec}))),SUBTITLES:n.map((t=>({id:t.attrs.SUBTITLES,textCodec:t.textCodec}))),"CLOSED-CAPTIONS":[]};let a=0;for(qA.lastIndex=0;null!==(i=qA.exec(t));){const t=new fg(i[1]),n=t.TYPE;if(n){const i=o[n],h=r[n]||[];r[n]=h,PA(s,t,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);const c=t.LANGUAGE,l=t["ASSOC-LANGUAGE"],d=t.CHANNELS,u=t.CHARACTERISTICS,p=t["INSTREAM-ID"],f={attrs:t,bitrate:0,id:a++,groupId:t["GROUP-ID"]||"",name:t.NAME||c||"",type:n,default:t.bool("DEFAULT"),autoselect:t.bool("AUTOSELECT"),forced:t.bool("FORCED"),lang:c,url:t.URI?$A.resolve(t.URI,e):""};if(l&&(f.assocLang=l),d&&(f.channels=d),u&&(f.characteristics=u),p&&(f.instreamId=p),null!=i&&i.length){const t=$A.findGroup(i,f.groupId)||i[0];iy(f,t,"audioCodec"),iy(f,t,"textCodec")}h.push(f)}}return r}static parseLevelPlaylist(t,e,s,i,r,n){const o=new Ig(e),a=o.fragments;let h,c,l,d=null,u=0,p=0,f=0,m=0,g=null,A=new Sg(i,e),y=-1,b=!1,v=null;for(XA.lastIndex=0,o.m3u8=t,o.hasVariableRefs=LA(t);null!==(h=XA.exec(t));){b&&(b=!1,A=new Sg(i,e),A.start=f,A.sn=u,A.cc=m,A.level=s,d&&(A.initSegment=d,A.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,v&&(A.setByteRange(v),v=null)));const t=h[1];if(t){A.duration=parseFloat(t);const e=(" "+h[2]).slice(1);A.title=e||null,A.tagList.push(e?["INF",t,e]:["INF",t])}else if(h[3]){if(eg(A.duration)){A.start=f,l&&oy(A,l,o),A.sn=u,A.level=s,A.cc=m,a.push(A);const t=(" "+h[3]).slice(1);A.relurl=MA(o,t),ry(A,g),g=A,f+=A.duration,u++,p=0,b=!0}}else if(h[4]){const t=(" "+h[4]).slice(1);g?A.setByteRange(t,g):A.setByteRange(t)}else if(h[5])A.rawProgramDateTime=(" "+h[5]).slice(1),A.tagList.push(["PROGRAM-DATE-TIME",A.rawProgramDateTime]),-1===y&&(y=a.length);else{if(h=h[0].match(ZA),!h){dg.warn("No matches on slow regex match for level playlist!");continue}for(c=1;c0&&t.bool("CAN-SKIP-DATERANGES"),o.partHoldBack=t.optionalFloat("PART-HOLD-BACK",0),o.holdBack=t.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{const t=new fg(r);o.partTarget=t.decimalFloatingPoint("PART-TARGET");break}case"PART":{let t=o.partList;t||(t=o.partList=[]);const s=p>0?t[t.length-1]:void 0,i=p++,n=new fg(r);PA(o,n,["BYTERANGE","URI"]);const a=new Eg(n,A,e,i,s);t.push(a),A.duration+=a.duration;break}case"PRELOAD-HINT":{const t=new fg(r);PA(o,t,["URI"]),o.preloadHint=t;break}case"RENDITION-REPORT":{const t=new fg(r);PA(o,t,["URI"]),o.renditionReports=o.renditionReports||[],o.renditionReports.push(t);break}default:dg.warn(`line parsed but not handled: ${h}`)}}}g&&!g.relurl?(a.pop(),f-=g.duration,o.partList&&(o.fragmentHint=g)):o.partList&&(ry(A,g),A.cc=m,o.fragmentHint=A,l&&oy(A,l,o));const w=a.length,S=a[0],E=a[w-1];if(f+=o.skippedSegments*o.targetduration,f>0&&w&&E){o.averagetargetduration=f/w;const t=E.sn;o.endSN="initSegment"!==t?t:0,o.live||(E.endList=!0),S&&(o.startCC=S.cc)}else o.endSN=0,o.startCC=0;return o.fragmentHint&&(f+=o.fragmentHint.duration),o.totalduration=f,o.endCC=m,y>0&&function(t,e){let s=t[e];for(let i=e;i--;){const e=t[i];if(!e)return;e.programDateTime=s.programDateTime-1e3*e.duration,s=e}}(a,y),o}}function ty(t,e,s){var i,r;const n=new fg(t);PA(s,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);const o=null!=(i=n.METHOD)?i:"",a=n.URI,h=n.hexadecimalInteger("IV"),c=n.KEYFORMATVERSIONS,l=null!=(r=n.KEYFORMAT)?r:"identity";a&&n.IV&&!h&&dg.error(`Invalid IV: ${n.IV}`);const d=a?$A.resolve(a,e):"",u=(c||"1").split("/").map(Number).filter(Number.isFinite);return new DA(o,d,l,u,h)}function ey(t){const e=new fg(t).decimalFloatingPoint("TIME-OFFSET");return eg(e)?e:null}function sy(t,e){let s=(t||"").split(/[ ,]+/).filter((t=>t));["video","audio","text"].forEach((t=>{const i=s.filter((e=>function(t,e){const s=UA[e];return!!s&&!!s[t.slice(0,4)]}(e,t)));i.length&&(e[`${t}Codec`]=i.join(","),s=s.filter((t=>-1===i.indexOf(t))))})),e.unknownCodecs=s}function iy(t,e,s){const i=e[s];i&&(t[s]=i)}function ry(t,e){t.rawProgramDateTime?t.programDateTime=Date.parse(t.rawProgramDateTime):null!=e&&e.programDateTime&&(t.programDateTime=e.endProgramDateTime),eg(t.programDateTime)||(t.programDateTime=null,t.rawProgramDateTime=null)}function ny(t,e,s,i){t.relurl=e.URI,e.BYTERANGE&&t.setByteRange(e.BYTERANGE),t.level=s,t.sn="initSegment",i&&(t.levelkeys=i),t.initSegment=null}function oy(t,e,s){t.levelkeys=e;const{encryptedFragments:i}=s;i.length&&i[i.length-1].levelkeys===e||!Object.keys(e).some((t=>e[t].isCommonEncryption))||i.push(t)}var ay="manifest",hy="level",cy="audioTrack",ly="subtitleTrack",dy="main",uy="audio",py="subtitle";function fy(t){const{type:e}=t;switch(e){case cy:return uy;case ly:return py;default:return dy}}function my(t,e){let s=t.url;return void 0!==s&&0!==s.indexOf("data:")||(s=e.url),s}class gy{constructor(t){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=t,this.registerListeners()}startLoad(t){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){const{hls:t}=this;t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.LEVEL_LOADING,this.onLevelLoading,this),t.on(rg.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.on(rg.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}unregisterListeners(){const{hls:t}=this;t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.LEVEL_LOADING,this.onLevelLoading,this),t.off(rg.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),t.off(rg.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)}createInternalLoader(t){const e=this.hls.config,s=e.pLoader,i=e.loader,r=new(s||i)(e);return this.loaders[t.type]=r,r}getInternalLoader(t){return this.loaders[t.type]}resetInternalLoader(t){this.loaders[t]&&delete this.loaders[t]}destroyInternalLoaders(){for(const t in this.loaders){const e=this.loaders[t];e&&e.destroy(),this.resetInternalLoader(t)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(t,e){const{url:s}=e;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:ay,url:s,deliveryDirectives:null})}onLevelLoading(t,e){const{id:s,level:i,pathwayId:r,url:n,deliveryDirectives:o}=e;this.load({id:s,level:i,pathwayId:r,responseType:"text",type:hy,url:n,deliveryDirectives:o})}onAudioTrackLoading(t,e){const{id:s,groupId:i,url:r,deliveryDirectives:n}=e;this.load({id:s,groupId:i,level:null,responseType:"text",type:cy,url:r,deliveryDirectives:n})}onSubtitleTrackLoading(t,e){const{id:s,groupId:i,url:r,deliveryDirectives:n}=e;this.load({id:s,groupId:i,level:null,responseType:"text",type:ly,url:r,deliveryDirectives:n})}load(t){var e;const s=this.hls.config;let i,r=this.getInternalLoader(t);if(r){const e=r.context;if(e&&e.url===t.url&&e.level===t.level)return void dg.trace("[playlist-loader]: playlist request ongoing");dg.log(`[playlist-loader]: aborting previous loader for type: ${t.type}`),r.abort()}if(i=t.type===ay?s.manifestLoadPolicy.default:tg({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(t),eg(null==(e=t.deliveryDirectives)?void 0:e.part)){let e;if(t.type===hy&&null!==t.level?e=this.hls.levels[t.level].details:t.type===cy&&null!==t.id?e=this.hls.audioTracks[t.id].details:t.type===ly&&null!==t.id&&(e=this.hls.subtitleTracks[t.id].details),e){const t=e.partTarget,s=e.targetduration;if(t&&s){const e=1e3*Math.max(3*t,.8*s);i=tg({},i,{maxTimeToFirstByteMs:Math.min(e,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(e,i.maxTimeToFirstByteMs)})}}}const n=i.errorRetry||i.timeoutRetry||{},o={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:n.maxNumRetry||0,retryDelay:n.retryDelayMs||0,maxRetryDelay:n.maxRetryDelayMs||0},a={onSuccess:(t,e,s,i)=>{const r=this.getInternalLoader(s);this.resetInternalLoader(s.type);const n=t.data;0===n.indexOf("#EXTM3U")?(e.parsing.start=performance.now(),$A.isMediaPlaylist(n)?this.handleTrackOrLevelPlaylist(t,e,s,i||null,r):this.handleMasterPlaylist(t,e,s,i)):this.handleManifestParsingError(t,s,new Error("no EXTM3U delimiter"),i||null,e)},onError:(t,e,s,i)=>{this.handleNetworkError(e,s,!1,t,i)},onTimeout:(t,e,s)=>{this.handleNetworkError(e,s,!0,void 0,t)}};r.load(t,o,a)}handleMasterPlaylist(t,e,s,i){const r=this.hls,n=t.data,o=my(t,s),a=$A.parseMasterPlaylist(n,o);if(a.playlistParsingError)return void this.handleManifestParsingError(t,s,a.playlistParsingError,i,e);const{contentSteering:h,levels:c,sessionData:l,sessionKeys:d,startTimeOffset:u,variableList:p}=a;this.variableList=p;const{AUDIO:f=[],SUBTITLES:m,"CLOSED-CAPTIONS":g}=$A.parseMasterPlaylistMedia(n,o,a);if(f.length){f.some((t=>!t.url))||!c[0].audioCodec||c[0].attrs.AUDIO||(dg.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),f.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new fg({}),bitrate:0,url:""}))}r.trigger(rg.MANIFEST_LOADED,{levels:c,audioTracks:f,subtitles:m,captions:g,contentSteering:h,url:o,stats:e,networkDetails:i,sessionData:l,sessionKeys:d,startTimeOffset:u,variableList:p})}handleTrackOrLevelPlaylist(t,e,s,i,r){const n=this.hls,{id:o,level:a,type:h}=s,c=my(t,s),l=eg(a)?a:eg(o)?o:0,d=fy(s),u=$A.parseLevelPlaylist(t.data,c,l,d,0,this.variableList);if(h===ay){const t={attrs:new fg({}),bitrate:0,details:u,name:"",url:c};n.trigger(rg.MANIFEST_LOADED,{levels:[t],audioTracks:[],url:c,stats:e,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}e.parsing.end=performance.now(),s.levelDetails=u,this.handlePlaylistLoaded(u,t,e,s,i,r)}handleManifestParsingError(t,e,s,i,r){this.hls.trigger(rg.ERROR,{type:ng.NETWORK_ERROR,details:og.MANIFEST_PARSING_ERROR,fatal:e.type===ay,url:t.url,err:s,error:s,reason:s.message,response:t,context:e,networkDetails:i,stats:r})}handleNetworkError(t,e,s=!1,i,r){let n=`A network ${s?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${t.type}`;t.type===hy?n+=`: ${t.level} id: ${t.id}`:t.type!==cy&&t.type!==ly||(n+=` id: ${t.id} group-id: "${t.groupId}"`);const o=new Error(n);dg.warn(`[playlist-loader]: ${n}`);let a=og.UNKNOWN,h=!1;const c=this.getInternalLoader(t);switch(t.type){case ay:a=s?og.MANIFEST_LOAD_TIMEOUT:og.MANIFEST_LOAD_ERROR,h=!0;break;case hy:a=s?og.LEVEL_LOAD_TIMEOUT:og.LEVEL_LOAD_ERROR,h=!1;break;case cy:a=s?og.AUDIO_TRACK_LOAD_TIMEOUT:og.AUDIO_TRACK_LOAD_ERROR,h=!1;break;case ly:a=s?og.SUBTITLE_TRACK_LOAD_TIMEOUT:og.SUBTITLE_LOAD_ERROR,h=!1}c&&this.resetInternalLoader(t.type);const l={type:ng.NETWORK_ERROR,details:a,fatal:h,url:t.url,loader:c,context:t,error:o,networkDetails:e,stats:r};if(i){const s=(null==e?void 0:e.url)||t.url;l.response=Xm({url:s,data:void 0},i)}this.hls.trigger(rg.ERROR,l)}handlePlaylistLoaded(t,e,s,i,r,n){const o=this.hls,{type:a,level:h,id:c,groupId:l,deliveryDirectives:d}=i,u=my(e,i),p=fy(i),f="number"==typeof i.level&&p===dy?h:void 0;if(!t.fragments.length){const t=new Error("No Segments found in Playlist");return void o.trigger(rg.ERROR,{type:ng.NETWORK_ERROR,details:og.LEVEL_EMPTY_ERROR,fatal:!1,url:u,error:t,reason:t.message,response:e,context:i,level:f,parent:p,networkDetails:r,stats:s})}t.targetduration||(t.playlistParsingError=new Error("Missing Target Duration"));const m=t.playlistParsingError;if(m)o.trigger(rg.ERROR,{type:ng.NETWORK_ERROR,details:og.LEVEL_PARSING_ERROR,fatal:!1,url:u,error:m,reason:m.message,response:e,context:i,level:f,parent:p,networkDetails:r,stats:s});else switch(t.live&&n&&(n.getCacheAge&&(t.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(t.ageHeader)||(t.ageHeader=0)),a){case ay:case hy:o.trigger(rg.LEVEL_LOADED,{details:t,level:f||0,id:c||0,stats:s,networkDetails:r,deliveryDirectives:d});break;case cy:o.trigger(rg.AUDIO_TRACK_LOADED,{details:t,id:c||0,groupId:l||"",stats:s,networkDetails:r,deliveryDirectives:d});break;case ly:o.trigger(rg.SUBTITLE_TRACK_LOADED,{details:t,id:c||0,groupId:l||"",stats:s,networkDetails:r,deliveryDirectives:d})}}}function Ay(t,e){let s;try{s=new Event("addtrack")}catch(t){s=document.createEvent("Event"),s.initEvent("addtrack",!1,!1)}s.track=t,e.dispatchEvent(s)}function yy(t,e){const s=t.mode;if("disabled"===s&&(t.mode="hidden"),t.cues&&!t.cues.getCueById(e.id))try{if(t.addCue(e),!t.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(s){dg.debug(`[texttrack-utils]: ${s}`);try{const s=new self.TextTrackCue(e.startTime,e.endTime,e.text);s.id=e.id,t.addCue(s)}catch(t){dg.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${t}`)}}"disabled"===s&&(t.mode=s)}function by(t){const e=t.mode;if("disabled"===e&&(t.mode="hidden"),t.cues)for(let e=t.cues.length;e--;)t.removeCue(t.cues[e]);"disabled"===e&&(t.mode=e)}function vy(t,e,s,i){const r=t.mode;if("disabled"===r&&(t.mode="hidden"),t.cues&&t.cues.length>0){const r=function(t,e,s){const i=[],r=function(t,e){if(et[s].endTime)return-1;let i=0,r=s;for(;i<=r;){const n=Math.floor((r+i)/2);if(et[n].startTime&&i-1)for(let n=r,o=t.length;n=e&&r.endTime<=s)i.push(r);else if(r.startTime>s)return i}return i}(t.cues,e,s);for(let e=0;e{const t=Ty();try{t&&new t(0,Number.POSITIVE_INFINITY,"")}catch(t){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function Cy(t,e){return t.getTime()/1e3-e}function Ry(t){return Uint8Array.from(t.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}class Dy{constructor(t){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=t,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null}_registerListeners(){const{hls:t}=this;t.on(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.on(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(rg.LEVEL_UPDATED,this.onLevelUpdated,this)}_unregisterListeners(){const{hls:t}=this;t.off(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),t.off(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(rg.LEVEL_UPDATED,this.onLevelUpdated,this)}onMediaAttached(t,e){this.media=e.media}onMediaDetaching(){this.id3Track&&(by(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(t){const e=this.getID3Track(t.textTracks);return e.mode="hidden",e}getID3Track(t){if(this.media){for(let e=0;e_y&&(i=_y);i-s<=0&&(i=s+.25);for(let t=0;tt.type===Sy&&a:"video"===i?t=>t.type===Iy&&o:t=>t.type===Sy&&a||t.type===Iy&&o,vy(r,e,s,t)}}onLevelUpdated(t,{details:e}){if(!this.media||!e.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{dateRangeCuesAppended:s,id3Track:i}=this,{dateRanges:r}=e,n=Object.keys(r);if(i){const t=Object.keys(s).filter((t=>!n.includes(t)));for(let e=t.length;e--;){const r=t[e];Object.keys(s[r].cues).forEach((t=>{i.removeCue(s[r].cues[t])})),delete s[r]}}const o=e.fragments[e.fragments.length-1];if(0===n.length||!eg(null==o?void 0:o.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const a=o.programDateTime/1e3-o.start,h=Ty();for(let t=0;t{if(e!==i.id){const s=r[e];if(s.class===i.class&&s.startDate>i.startDate&&(!t||i.startDatethis.timeupdate(),this.hls=t,this.config=t.config,this.registerListeners()}get latency(){return this._latency||0}get maxLatency(){const{config:t,levelDetails:e}=this;return void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:e?t.liveMaxLatencyDurationCount*e.targetduration:0}get targetLatency(){const{levelDetails:t}=this;if(null===t)return null;const{holdBack:e,partHoldBack:s,targetduration:i}=t,{liveSyncDuration:r,liveSyncDurationCount:n,lowLatencyMode:o}=this.config,a=this.hls.userConfig;let h=o&&s||e;(a.liveSyncDuration||a.liveSyncDurationCount||0===h)&&(h=void 0!==r?r:n*i);const c=i;return h+Math.min(1*this.stallCount,c)}get liveSyncPosition(){const t=this.estimateLiveEdge(),e=this.targetLatency,s=this.levelDetails;if(null===t||null===e||null===s)return null;const i=s.edge,r=t-e-this.edgeStalled,n=i-s.totalduration,o=i-(this.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(n,r),o)}get drift(){const{levelDetails:t}=this;return null===t?1:t.drift}get edgeStalled(){const{levelDetails:t}=this;if(null===t)return 0;const e=3*(this.config.lowLatencyMode&&t.partTarget||t.targetduration);return Math.max(t.age-e,0)}get forwardBufferLength(){const{media:t,levelDetails:e}=this;if(!t||!e)return 0;const s=t.buffered.length;return(s?t.buffered.end(s-1):e.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null}registerListeners(){this.hls.on(rg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(rg.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(rg.ERROR,this.onError,this)}unregisterListeners(){this.hls.off(rg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(rg.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(rg.ERROR,this.onError,this)}onMediaAttached(t,e){this.media=e.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0}onLevelUpdated(t,{details:e}){this.levelDetails=e,e.advanced&&this.timeupdate(),!e.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)}onError(t,e){var s;e.details===og.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(s=this.levelDetails)&&s.live&&dg.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))}timeupdate(){const{media:t,levelDetails:e}=this;if(!t||!e)return;this.currentTime=t.currentTime;const s=this.computeLatency();if(null===s)return;this._latency=s;const{lowLatencyMode:i,maxLiveSyncPlaybackRate:r}=this.config;if(!i||1===r||!e.live)return;const n=this.targetLatency;if(null===n)return;const o=s-n;if(o.05&&this.forwardBufferLength>1){const e=Math.min(2,Math.max(1,r)),s=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20;t.playbackRate=Math.min(e,Math.max(1,s))}else 1!==t.playbackRate&&0!==t.playbackRate&&(t.playbackRate=1)}estimateLiveEdge(){const{levelDetails:t}=this;return null===t?null:t.edge+t.age}computeLatency(){const t=this.estimateLiveEdge();return null===t?null:t-this.currentTime}}const Ly=["NONE","TYPE-0","TYPE-1",null];const Py=["SDR","PQ","HLG"];var My="",By="YES",Fy="v2";function Oy(t){const{canSkipUntil:e,canSkipDateRanges:s,age:i}=t;return e&&i!!t)).map((t=>t.substring(0,4))).join(","),this.addGroupId("audio",t.attrs.AUDIO),this.addGroupId("text",t.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(t){return Ny(this._audioGroups,t)}hasSubtitleGroup(t){return Ny(this._subtitleGroups,t)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(t,e){if(e)if("audio"===t){let t=this._audioGroups;t||(t=this._audioGroups=[]),-1===t.indexOf(e)&&t.push(e)}else if("text"===t){let t=this._subtitleGroups;t||(t=this._subtitleGroups=[]),-1===t.indexOf(e)&&t.push(e)}}get urlId(){return 0}set urlId(t){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var t;return null==(t=this.audioGroups)?void 0:t[0]}get textGroupId(){var t;return null==(t=this.subtitleGroups)?void 0:t[0]}addFallback(){}}function Ny(t,e){return!(!e||!t)&&-1!==t.indexOf(e)}function Vy(t,e){const s=e.startPTS;if(eg(s)){let i,r=0;e.sn>t.sn?(r=s-t.start,i=t):(r=t.start-s,i=e),i.duration!==r&&(i.duration=r)}else if(e.sn>t.sn){t.cc===e.cc&&t.minEndPTS?e.start=t.start+(t.minEndPTS-t.start):e.start=t.start+t.duration}else e.start=Math.max(t.start-e.duration,0)}function zy(t,e,s,i,r,n){i-s<=0&&(dg.warn("Fragment should have a positive duration",e),i=s+e.duration,n=r+e.duration);let o=s,a=i;const h=e.startPTS,c=e.endPTS;if(eg(h)){const t=Math.abs(h-s);eg(e.deltaPTS)?e.deltaPTS=Math.max(t,e.deltaPTS):e.deltaPTS=t,o=Math.max(s,h),s=Math.min(s,h),r=Math.min(r,e.startDTS),a=Math.min(i,c),i=Math.max(i,c),n=Math.max(n,e.endDTS)}const l=s-e.start;0!==e.start&&(e.start=s),e.duration=i-e.start,e.startPTS=s,e.maxStartPTS=o,e.startDTS=r,e.endPTS=i,e.minEndPTS=a,e.endDTS=n;const d=e.sn;if(!t||dt.endSN)return 0;let u;const p=d-t.startSN,f=t.fragments;for(f[p]=e,u=p;u>0;u--)Vy(f[u],f[u-1]);for(u=p;u=0;t--){const e=i[t].initSegment;if(e){s=e;break}}t.fragmentHint&&delete t.fragmentHint.endPTS;let r,n=0;if(function(t,e,s){const i=e.skippedSegments,r=Math.max(t.startSN,e.startSN)-e.startSN,n=(t.fragmentHint?1:0)+(i?e.endSN:Math.min(t.endSN,e.endSN))-e.startSN,o=e.startSN-t.startSN,a=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,h=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments;for(let t=r;t<=n;t++){const r=h[o+t];let n=a[t];i&&!n&&t{t.relurl&&(n=t.cc-i.cc),eg(t.startPTS)&&eg(t.endPTS)&&(i.start=i.startPTS=t.startPTS,i.startDTS=t.startDTS,i.maxStartPTS=t.maxStartPTS,i.endPTS=t.endPTS,i.endDTS=t.endDTS,i.minEndPTS=t.minEndPTS,i.duration=t.endPTS-t.startPTS,i.duration&&(r=i),e.PTSKnown=e.alignedSliding=!0),i.elementaryStreams=t.elementaryStreams,i.loader=t.loader,i.stats=t.stats,t.initSegment&&(i.initSegment=t.initSegment,s=t.initSegment)})),s){(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEach((t=>{var e;!t||t.initSegment&&t.initSegment.relurl!==(null==(e=s)?void 0:e.relurl)||(t.initSegment=s)}))}if(e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some((t=>!t)),e.deltaUpdateFailed){dg.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let t=e.skippedSegments;t--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc}else e.canSkipDateRanges&&(e.dateRanges=function(t,e,s){const i=tg({},t);s&&s.forEach((t=>{delete i[t]}));return Object.keys(e).forEach((t=>{const s=new gg(e[t].attr,i[t]);s.isValid?i[t]=s:dg.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[t].attr)}"`)})),i}(t.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));const o=e.fragments;if(n){dg.warn("discontinuity sliding from playlist, take drift into account");for(let t=0;t{e.elementaryStreams=t.elementaryStreams,e.stats=t.stats})),r?zy(e,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):Gy(t,e),o.length&&(e.totalduration=e.edge-o[0].start),e.driftStartTime=t.driftStartTime,e.driftStart=t.driftStart;const a=e.advancedDateTime;if(e.advanced&&a){const t=e.edge;e.driftStart||(e.driftStartTime=a,e.driftStart=t),e.driftEndTime=a,e.driftEnd=t}else e.driftEndTime=t.driftEndTime,e.driftEnd=t.driftEnd,e.advancedDateTime=t.advancedDateTime}function Gy(t,e){const s=e.startSN+e.skippedSegments-t.startSN,i=t.fragments;s<0||s>=i.length||Hy(e,i[s].start)}function Hy(t,e){if(e){const s=t.fragments;for(let i=t.skippedSegments;i{const{details:s}=t;null!=s&&s.fragments&&s.fragments.forEach((t=>{t.level=e}))}))}function qy(t){switch(t.details){case og.FRAG_LOAD_TIMEOUT:case og.KEY_LOAD_TIMEOUT:case og.LEVEL_LOAD_TIMEOUT:case og.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Jy(t,e){const s=qy(e);return t.default[(s?"timeout":"error")+"Retry"]}function Xy(t,e){const s="linear"===t.backoff?1:Math.pow(2,e);return Math.min(s*t.retryDelayMs,t.maxRetryDelayMs)}function Zy(t){return Xm(Xm({},t),{errorRetry:null,timeoutRetry:null})}function $y(t,e,s,i){if(!t)return!1;const r=null==i?void 0:i.code,n=e499)}(r)||!!s);return t.shouldRetry?t.shouldRetry(t,e,s,i,n):n}const tb=function(t,e){let s=0,i=t.length-1,r=null,n=null;for(;s<=i;){r=(s+i)/2|0,n=t[r];const o=e(n);if(o>0)s=r+1;else{if(!(o<0))return n;i=r-1}}return null};function eb(t,e,s=0,i=0,r=.005){let n=null;if(t){n=e[t.sn-e[0].sn+1]||null;const i=t.endDTS-s;i>0&&i<15e-7&&(s+=15e-7)}else 0===s&&0===e[0].start&&(n=e[0]);if(n&&((!t||t.level===n.level)&&0===sb(s,i,n)||function(t,e,s){if(e&&0===e.start&&e.level0){const i=e.tagList.reduce(((t,e)=>("INF"===e[0]&&(t+=parseFloat(e[1])),t)),s);return t.start<=i}return!1}(n,t,Math.min(r,i))))return n;const o=tb(e,sb.bind(null,s,i));return!o||o===t&&n?n:o}function sb(t=0,e=0,s){if(s.start<=t&&s.start+s.duration>t)return 0;const i=Math.min(e,s.duration+(s.deltaPTS?s.deltaPTS:0));return s.start+s.duration-i<=t?1:s.start-i>t&&s.start?-1:0}function ib(t,e,s){const i=1e3*Math.min(e,s.duration+(s.deltaPTS?s.deltaPTS:0));return(s.endProgramDateTime||0)-i>t}var rb=0,nb=2,ob=3,ab=5,hb=0,cb=1,lb=2;class db{constructor(t,e){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=dg.log.bind(dg,`${e}:`),this.warn=dg.warn.bind(dg,`${e}:`),this.hls=t}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(t,e,s){const i=null==e?void 0:e.renditionReports;if(i){let r=-1;for(let s=0;s=0&&t>e.partTarget&&(o+=1)}const a=s&&Oy(s);return new Uy(n,o>=0?o:void 0,a)}}}loadPlaylist(t){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())}shouldLoadPlaylist(t){return this.canLoad&&!!t&&!!t.url&&(!t.details||t.details.live)}shouldReloadPlaylist(t){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(t)}playlistLoaded(t,e,s){const{details:i,stats:r}=e,n=self.performance.now(),o=r.loading.first?Math.max(0,n-r.loading.first):0;if(i.advancedDateTime=Date.now()-o,i.live||null!=s&&s.live){if(i.reloaded(s),s&&this.log(`live playlist ${t} ${i.advanced?"REFRESHED "+i.lastPartSn+"-"+i.lastPartIndex:i.updated?"UPDATED":"MISSED"}`),s&&i.fragments.length>0&&Wy(s,i),!this.canLoad||!i.live)return;let o,a,h;if(i.canBlockReload&&i.endSN&&i.advanced){const t=this.hls.config.lowLatencyMode,r=i.lastPartSn,n=i.endSN,c=i.lastPartIndex,l=r===n,d=t?0:c;-1!==c?(a=l?n+1:r,h=l?d:c+1):a=n+1;const u=i.age,p=u+i.ageHeader;let f=Math.min(p-i.partTarget,1.5*i.targetduration);if(f>0){if(s&&f>s.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${s.tuneInGoal} to: ${f} with playlist age: ${i.age}`),f=0;else{const t=Math.floor(f/i.targetduration);if(a+=t,void 0!==h){h+=Math.round(f%i.targetduration/i.partTarget)}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${u.toFixed(2)}s goal: ${f} skip sn ${t} to part ${h}`)}i.tuneInGoal=f}if(o=this.getDeliveryDirectives(i,e.deliveryDirectives,a,h),t||!l)return void this.loadPlaylist(o)}else(i.canBlockReload||i.canSkipUntil)&&(o=this.getDeliveryDirectives(i,e.deliveryDirectives,a,h));const c=this.hls.mainForwardBufferInfo,l=c?c.end-c.len:0,d=function(t,e=1/0){let s=1e3*t.targetduration;if(t.updated){const i=t.fragments,r=4;if(i.length&&s*r>e){const t=1e3*i[i.length-1].duration;tthis.requestScheduled+d&&(this.requestScheduled=r.loading.start),void 0!==a&&i.canBlockReload?this.requestScheduled=r.loading.first+d-(1e3*i.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+dthis.loadPlaylist(o)),u)}else this.clearTimer()}getDeliveryDirectives(t,e,s,i){let r=Oy(t);return null!=e&&e.skip&&t.deltaUpdateFailed&&(s=e.msn,i=e.part,r=My),new Uy(s,i,r)}checkRetry(t){const e=t.details,s=qy(t),i=t.errorAction,{action:r,retryCount:n=0,retryConfig:o}=i||{},a=!!i&&!!o&&(r===ab||!i.resolved&&r===nb);if(a){var h;if(this.requestScheduled=-1,n>=o.maxNumRetry)return!1;if(s&&null!=(h=t.context)&&h.deliveryDirectives)this.warn(`Retrying playlist loading ${n+1}/${o.maxNumRetry} after "${e}" without delivery-directives`),this.loadPlaylist();else{const t=Xy(o,n);this.timer=self.setTimeout((()=>this.loadPlaylist()),t),this.warn(`Retrying playlist loading ${n+1}/${o.maxNumRetry} after "${e}" in ${t}ms`)}t.levelRetry=!0,i.resolved=!0}return a}}class ub{constructor(t,e=0,s=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=t,this.alpha_=t?Math.exp(Math.log(.5)/t):0,this.estimate_=e,this.totalWeight_=s}sample(t,e){const s=Math.pow(this.alpha_,t);this.estimate_=e*(1-s)+s*this.estimate_,this.totalWeight_+=t}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const t=1-Math.pow(this.alpha_,this.totalWeight_);if(t)return this.estimate_/t}return this.estimate_}}class pb{constructor(t,e,s,i=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=s,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new ub(t),this.fast_=new ub(e),this.defaultTTFB_=i,this.ttfb_=new ub(t)}update(t,e){const{slow_:s,fast_:i,ttfb_:r}=this;s.halfLife!==t&&(this.slow_=new ub(t,s.getEstimate(),s.getTotalWeight())),i.halfLife!==e&&(this.fast_=new ub(e,i.getEstimate(),i.getTotalWeight())),r.halfLife!==t&&(this.ttfb_=new ub(t,r.getEstimate(),r.getTotalWeight()))}sample(t,e){const s=(t=Math.max(t,this.minDelayMs_))/1e3,i=8*e/s;this.fast_.sample(s,i),this.slow_.sample(s,i)}sampleTTFB(t){const e=t/1e3,s=Math.sqrt(2)*Math.exp(-Math.pow(e,2)/2);this.ttfb_.sample(s,Math.max(t,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}destroy(){}}const fb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},mb={};function gb(t,e,s,i,r,n){const o=t.audioCodec?t.audioGroups:null,a=null==n?void 0:n.audioCodec,h=null==n?void 0:n.channels,c=h?parseInt(h):a?1/0:2;let l=null;if(null!=o&&o.length)try{l=1===o.length&&o[0]?e.groups[o[0]].channels:o.reduce(((t,s)=>{if(s){const i=e.groups[s];if(!i)throw new Error(`Audio track group ${s} not found`);Object.keys(i.channels).forEach((e=>{t[e]=(t[e]||0)+i.channels[e]}))}return t}),{2:0})}catch(t){return!0}return void 0!==t.videoCodec&&(t.width>1920&&t.height>1088||t.height>1920&&t.width>1088||t.frameRate>Math.max(i,30)||"SDR"!==t.videoRange&&t.videoRange!==s||t.bitrate>Math.max(r,8e6))||!!l&&eg(c)&&Object.keys(l).some((t=>parseInt(t)>c))}function Ab(t,e,s){const i=t.videoCodec,r=t.audioCodec;if(!i||!r||!s)return Promise.resolve(fb);const n={width:t.width,height:t.height,bitrate:Math.ceil(Math.max(.9*t.bitrate,t.averageBitrate)),framerate:t.frameRate||30},o=t.videoRange;"SDR"!==o&&(n.transferFunction=o.toLowerCase());const a=i.split(",").map((t=>({type:"media-source",video:Xm(Xm({},n),{},{contentType:VA(t,"video")})})));return r&&t.audioGroups&&t.audioGroups.forEach((t=>{var s;t&&(null==(s=e.groups[t])||s.tracks.forEach((e=>{if(e.groupId===t){const t=e.channels||"",s=parseFloat(t);eg(s)&&s>2&&a.push.apply(a,r.split(",").map((t=>({type:"media-source",audio:{contentType:VA(t,"audio"),channels:""+s}}))))}})))})),Promise.all(a.map((t=>{const e=function(t){const{audio:e,video:s}=t,i=s||e;if(i){const t=i.contentType.split('"')[1];if(s)return`r${s.height}x${s.width}f${Math.ceil(s.framerate)}${s.transferFunction||"sd"}_${t}_${Math.ceil(s.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${t}`}return""}(t);return mb[e]||(mb[e]=s.decodingInfo(t))}))).then((t=>({supported:!t.some((t=>!t.supported)),configurations:a,decodingInfoResults:t}))).catch((t=>({supported:!1,configurations:a,decodingInfoResults:[],error:t})))}function yb(t,e){let s=!1,i=[];return t&&(s="SDR"!==t,i=[t]),e&&(i=e.allowedVideoRanges||Py.slice(0),s=void 0!==e.preferHDR?e.preferHDR:function(){if("function"==typeof matchMedia){const t=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(t.media!==e.media)return!0===t.matches}return!1}(),i=s?i.filter((t=>"SDR"!==t)):["SDR"]),{preferHDR:s,allowedVideoRanges:i}}function bb(t,e){dg.log(`[abr] start candidates with "${t}" ignored because ${e}`)}function vb(t,e,s){if("attrs"in t){const s=e.indexOf(t);if(-1!==s)return s}for(let i=0;i-1===i.indexOf(t)))}(a,e.characteristics))&&(void 0===s||s(t,e))}function Sb(t,e){const{audioCodec:s,channels:i}=t;return!(void 0!==s&&(e.audioCodec||"").substring(0,4)!==s.substring(0,4)||void 0!==i&&i!==(e.channels||"2"))}function Eb(t,e,s){for(let i=e;i;i--)if(s(t[i]))return i;for(let i=e+1;i{const n=this.fragments[i];if(!n)return;if(r>=n.body.sn)return;if(!n.buffered&&!n.loaded)return void(n.body.type===s&&this.removeFragment(n.body));const o=n.range[t];o&&o.time.some((t=>{const s=!this.isTimeBuffered(t.startPTS,t.endPTS,e);return s&&this.removeFragment(n.body),s}))}))}detectPartialFragments(t){const e=this.timeRanges,{frag:s,part:i}=t;if(!e||"initSegment"===s.sn)return;const r=Db(s),n=this.fragments[r];if(!n||n.buffered&&s.gap)return;const o=!s.relurl;if(Object.keys(e).forEach((t=>{const r=s.elementaryStreams[t];if(!r)return;const a=e[t],h=o||!0===r.partial;n.range[t]=this.getBufferedTimes(s,i,h,a)})),n.loaded=null,Object.keys(n.range).length){n.buffered=!0;(n.body.endList=s.endList||n.body.endList)&&(this.endListFragments[n.body.type]=n),Rb(n)||this.removeParts(s.sn-1,s.type)}else this.removeFragment(n.body)}removeParts(t,e){const s=this.activePartLists[e];s&&(this.activePartLists[e]=s.filter((e=>e.fragment.sn>=t)))}fragBuffered(t,e){const s=Db(t);let i=this.fragments[s];!i&&e&&(i=this.fragments[s]={body:t,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},t.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)}getBufferedTimes(t,e,s,i){const r={time:[],partial:s},n=t.start,o=t.end,a=t.minEndPTS||o,h=t.maxStartPTS||n;for(let t=0;t=e&&a<=s){r.time.push({startPTS:Math.max(n,i.start(t)),endPTS:Math.min(o,i.end(t))});break}if(ne){const e=Math.max(n,i.start(t)),s=Math.min(o,i.end(t));s>e&&(r.partial=!0,r.time.push({startPTS:e,endPTS:s}))}else if(o<=e)break}return r}getPartialFragment(t){let e,s,i,r=null,n=0;const{bufferPadding:o,fragments:a}=this;return Object.keys(a).forEach((h=>{const c=a[h];c&&Rb(c)&&(s=c.body.start-o,i=c.body.end+o,t>=s&&t<=i&&(e=Math.min(t-s,i-t),n<=e&&(r=c.body,n=e)))})),r}isEndListAppended(t){const e=this.endListFragments[t];return void 0!==e&&(e.buffered||Rb(e))}getState(t){const e=Db(t),s=this.fragments[e];return s?s.buffered?Rb(s)?kb:_b:Tb:Ib}isTimeBuffered(t,e,s){let i,r;for(let n=0;n=i&&e<=r)return!0;if(e<=i)return!1}return!1}onFragLoaded(t,e){const{frag:s,part:i}=e;if("initSegment"===s.sn||s.bitrateTest)return;const r=i?null:e,n=Db(s);this.fragments[n]={body:s,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(t,e){const{frag:s,part:i,timeRanges:r}=e;if("initSegment"===s.sn)return;const n=s.type;if(i){let t=this.activePartLists[n];t||(this.activePartLists[n]=t=[]),t.push(i)}this.timeRanges=r,Object.keys(r).forEach((t=>{const e=r[t];this.detectEvictedFragments(t,e,n,i)}))}onFragBuffered(t,e){this.detectPartialFragments(e)}hasFragment(t){const e=Db(t);return!!this.fragments[e]}hasParts(t){var e;return!(null==(e=this.activePartLists[t])||!e.length)}removeFragmentsInRange(t,e,s,i,r){i&&!this.hasGaps||Object.keys(this.fragments).forEach((n=>{const o=this.fragments[n];if(!o)return;const a=o.body;a.type!==s||i&&!a.gap||a.startt&&(o.buffered||r)&&this.removeFragment(a)}))}removeFragment(t){const e=Db(t);t.stats.loaded=0,t.clearElementaryStreamInfo();const s=this.activePartLists[t.type];if(s){const e=t.sn;this.activePartLists[t.type]=s.filter((t=>t.fragment.sn!==e))}delete this.fragments[e],t.endList&&delete this.endListFragments[t.type]}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1}}function Rb(t){var e,s,i;return t.buffered&&(t.body.gap||(null==(e=t.range.video)?void 0:e.partial)||(null==(s=t.range.audio)?void 0:s.partial)||(null==(i=t.range.audiovideo)?void 0:i.partial))}function Db(t){return`${t.type}_${t.level}_${t.sn}`}const xb={length:0,start:()=>0,end:()=>0};class Lb{static isBuffered(t,e){try{if(t){const s=Lb.getBuffered(t);for(let t=0;t=s.start(t)&&e<=s.end(t))return!0}}catch(t){}return!1}static bufferInfo(t,e,s){try{if(t){const i=Lb.getBuffered(t),r=[];let n;for(n=0;nn&&(i[r-1].end=t[e].end):i.push(t[e])}else i.push(t[e])}else i=t;let r,n=0,o=e,a=e;for(let t=0;t=h&&es.startCC||t&&t.cc{if(this.loader&&this.loader.destroy(),t.gap){if(t.tagList.some((t=>"GAP"===t[0])))return void a(zb(t));t.gap=!1}const h=this.loader=t.loader=r?new r(i):new n(i),c=Vb(t),l=Zy(i.fragLoadPolicy.default),d={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===t.sn?1/0:jb};t.stats=h.stats,h.load(c,d,{onSuccess:(e,s,i,r)=>{this.resetLoader(t,h);let n=e.data;i.resetIV&&t.decryptdata&&(t.decryptdata.iv=new Uint8Array(n.slice(0,16)),n=n.slice(16)),o({frag:t,part:null,payload:n,networkDetails:r})},onError:(e,i,r,n)=>{this.resetLoader(t,h),a(new Wb({type:ng.NETWORK_ERROR,details:og.FRAG_LOAD_ERROR,fatal:!1,frag:t,response:Xm({url:s,data:void 0},e),error:new Error(`HTTP Error ${e.code} ${e.text}`),networkDetails:r,stats:n}))},onAbort:(e,s,i)=>{this.resetLoader(t,h),a(new Wb({type:ng.NETWORK_ERROR,details:og.INTERNAL_ABORTED,fatal:!1,frag:t,error:new Error("Aborted"),networkDetails:i,stats:e}))},onTimeout:(e,s,i)=>{this.resetLoader(t,h),a(new Wb({type:ng.NETWORK_ERROR,details:og.FRAG_LOAD_TIMEOUT,fatal:!1,frag:t,error:new Error(`Timeout after ${d.timeout}ms`),networkDetails:i,stats:e}))},onProgress:(s,i,r,n)=>{e&&e({frag:t,part:null,payload:r,networkDetails:n})}})}))}loadPart(t,e,s){this.abort();const i=this.config,r=i.fLoader,n=i.loader;return new Promise(((o,a)=>{if(this.loader&&this.loader.destroy(),t.gap||e.gap)return void a(zb(t,e));const h=this.loader=t.loader=r?new r(i):new n(i),c=Vb(t,e),l=Zy(i.fragLoadPolicy.default),d={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:jb};e.stats=h.stats,h.load(c,d,{onSuccess:(i,r,n,a)=>{this.resetLoader(t,h),this.updateStatsFromPart(t,e);const c={frag:t,part:e,payload:i.data,networkDetails:a};s(c),o(c)},onError:(s,i,r,n)=>{this.resetLoader(t,h),a(new Wb({type:ng.NETWORK_ERROR,details:og.FRAG_LOAD_ERROR,fatal:!1,frag:t,part:e,response:Xm({url:c.url,data:void 0},s),error:new Error(`HTTP Error ${s.code} ${s.text}`),networkDetails:r,stats:n}))},onAbort:(s,i,r)=>{t.stats.aborted=e.stats.aborted,this.resetLoader(t,h),a(new Wb({type:ng.NETWORK_ERROR,details:og.INTERNAL_ABORTED,fatal:!1,frag:t,part:e,error:new Error("Aborted"),networkDetails:r,stats:s}))},onTimeout:(s,i,r)=>{this.resetLoader(t,h),a(new Wb({type:ng.NETWORK_ERROR,details:og.FRAG_LOAD_TIMEOUT,fatal:!1,frag:t,part:e,error:new Error(`Timeout after ${d.timeout}ms`),networkDetails:r,stats:s}))}})}))}updateStatsFromPart(t,e){const s=t.stats,i=e.stats,r=i.total;if(s.loaded+=i.loaded,r){const i=Math.round(t.duration/e.duration),n=Math.min(Math.round(s.loaded/r),i),o=(i-n)*Math.round(s.loaded/n);s.total=s.loaded+o}else s.total=Math.max(s.loaded,s.total);const n=s.loading,o=i.loading;n.start?n.first+=o.first-o.start:(n.start=o.start,n.first=o.first),n.end=o.end}resetLoader(t,e){t.loader=null,this.loader===e&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),e.destroy()}}function Vb(t,e=null){const s=e||t,i={frag:t,part:e,responseType:"arraybuffer",url:s.url,headers:{},rangeStart:0,rangeEnd:0},r=s.byteRangeStartOffset,n=s.byteRangeEndOffset;if(eg(r)&&eg(n)){var o;let e=r,s=n;if("initSegment"===t.sn&&"AES-128"===(null==(o=t.decryptdata)?void 0:o.method)){const t=n-r;t%16&&(s=n+(16-t%16)),0!==r&&(i.resetIV=!0,e=r-16)}i.rangeStart=e,i.rangeEnd=s}return i}function zb(t,e){const s=new Error(`GAP ${t.gap?"tag":"attribute"} found`),i={type:ng.MEDIA_ERROR,details:og.FRAG_GAP,fatal:!1,frag:t,error:s,networkDetails:null};return e&&(i.part=e),(e||t).stats.aborted=!0,new Wb(i)}class Wb extends Error{constructor(t){super(t.error.message),this.data=void 0,this.data=t}}class Gb{constructor(t,e){this.subtle=void 0,this.aesIV=void 0,this.subtle=t,this.aesIV=e}decrypt(t,e){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},e,t)}}class Hb{constructor(t,e){this.subtle=void 0,this.key=void 0,this.subtle=t,this.key=e}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}}class Kb{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(t){const e=new DataView(t),s=new Uint32Array(4);for(let t=0;t<4;t++)s[t]=e.getUint32(4*t);return s}initTable(){const t=this.sBox,e=this.invSBox,s=this.subMix,i=s[0],r=s[1],n=s[2],o=s[3],a=this.invSubMix,h=a[0],c=a[1],l=a[2],d=a[3],u=new Uint32Array(256);let p=0,f=0,m=0;for(m=0;m<256;m++)u[m]=m<128?m<<1:m<<1^283;for(m=0;m<256;m++){let s=f^f<<1^f<<2^f<<3^f<<4;s=s>>>8^255&s^99,t[p]=s,e[s]=p;const a=u[p],m=u[a],g=u[m];let A=257*u[s]^16843008*s;i[p]=A<<24|A>>>8,r[p]=A<<16|A>>>16,n[p]=A<<8|A>>>24,o[p]=A,A=16843009*g^65537*m^257*a^16843008*p,h[s]=A<<24|A>>>8,c[s]=A<<16|A>>>16,l[s]=A<<8|A>>>24,d[s]=A,p?(p=a^u[u[u[g^a]]],f^=u[u[f]]):p=f=1}}expandKey(t){const e=this.uint8ArrayToUint32Array_(t);let s=!0,i=0;for(;i{if(!this.subtle)return Promise.reject(new Error("web crypto not initialized"));this.logOnce("WebCrypto AES decrypt");return new Gb(this.subtle,new Uint8Array(s)).decrypt(t.buffer,e)})).catch((i=>(dg.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${i.name}: ${i.message}`),this.onWebCryptoError(t,e,s))))}onWebCryptoError(t,e,s){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(t,e,s);const i=this.flush();if(i)return i.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")}getValidChunk(t){let e=t;const s=t.length-t.length%16;return s!==t.length&&(e=Ng(t,0,s),this.remainderData=Ng(t,s)),e}logOnce(t){this.logEnabled&&(dg.log(`[decrypter]: ${t}`),this.logEnabled=!1)}}const Yb=function(t){let e="";const s=t.length;for(let i=0;i1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}{constructor(t,e,s,i,r){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=qb,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=r,this.logPrefix=i,this.log=dg.log.bind(dg,`${i}:`),this.warn=dg.warn.bind(dg,`${i}:`),this.hls=t,this.fragmentLoader=new Nb(t.config),this.keyLoader=s,this.fragmentTracker=e,this.config=t.config,this.decrypter=new Qb(t.config),t.on(rg.MANIFEST_LOADED,this.onManifestLoaded,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(t){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const t=this.fragCurrent;null!=t&&t.loader&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=qb}_streamEnded(t,e){if(e.live||t.nextStart||!t.end||!this.media)return!1;const s=e.partList;if(null!=s&&s.length){const t=s[s.length-1];return Lb.isBuffered(this.media,t.start+t.duration/2)}const i=e.fragments[e.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(i)}getLevelDetails(){var t;if(this.levels&&null!==this.levelLastLoaded)return null==(t=this.levelLastLoaded)?void 0:t.details}onMediaAttached(t,e){const s=this.media=this.mediaBuffer=e.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),s.addEventListener("seeking",this.onvseeking),s.addEventListener("ended",this.onvended);const i=this.config;this.levels&&i.autoStartLoad&&this.state===qb&&this.startLoad(i.startPosition)}onMediaDetaching(){const t=this.media;null!=t&&t.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),t&&this.onvseeking&&this.onvended&&(t.removeEventListener("seeking",this.onvseeking),t.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onMediaSeeking(){const{config:t,fragCurrent:e,media:s,mediaBuffer:i,state:r}=this,n=s?s.currentTime:0,o=Lb.bufferInfo(i||s,n,t.maxBufferHole);if(this.log(`media seeking to ${eg(n)?n.toFixed(3):n}, state: ${r}`),this.state===iv)this.resetLoadingState();else if(e){const s=t.maxFragLookUpTolerance,i=e.start-s,r=e.start+e.duration+s;if(!o.len||ro.end){const t=n>r;(n{if(this.fragContextChanged(t))return this.warn(`Fragment ${t.sn}${e.part?" p: "+e.part.index:""} of level ${t.level} was dropped during download.`),void this.fragmentTracker.removeFragment(t);t.stats.chunkCount++,this._handleFragmentLoadProgress(e)})).then((e=>{if(!e)return;const s=this.state;this.fragContextChanged(t)?(s===Zb||!this.fragCurrent&&s===ev)&&(this.fragmentTracker.removeFragment(t),this.state=Jb):("payload"in e&&(this.log(`Loaded fragment ${t.sn} of level ${t.level}`),this.hls.trigger(rg.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e))})).catch((e=>{this.state!==qb&&this.state!==rv&&(this.warn(`Frag error: ${(null==e?void 0:e.message)||e}`),this.resetFragmentLoading(t))}))}clearTrackerIfNeeded(t){var e;const{fragmentTracker:s}=this;if(s.getState(t)===Tb){const e=t.type,i=this.getFwdBufferInfo(this.mediaBuffer,e),r=Math.max(t.duration,i?i.len:this.config.maxBufferLength),n=this.backtrackFragment;(1===(n?t.sn-n.sn:0)||this.reduceMaxBufferLength(r,t.duration))&&s.removeFragment(t)}else 0===(null==(e=this.mediaBuffer)?void 0:e.buffered.length)?s.removeAllFragments():s.hasParts(t.type)&&(s.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type}),s.getState(t)===kb&&s.removeFragment(t))}checkLiveUpdate(t){if(t.updated&&!t.live){const e=t.fragments[t.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type})}t.fragments[0]||(t.deltaUpdateFailed=!0)}flushMainBuffer(t,e,s=null){if(!(t-e))return;const i={startOffset:t,endOffset:e,type:s};this.hls.trigger(rg.BUFFER_FLUSHING,i)}_loadInitSegment(t,e){this._doFragLoad(t,e).then((e=>{if(!e||this.fragContextChanged(t)||!this.levels)throw new Error("init load aborted");return e})).then((e=>{const{hls:s}=this,{payload:i}=e,r=t.decryptdata;if(i&&i.byteLength>0&&null!=r&&r.key&&r.iv&&"AES-128"===r.method){const n=self.performance.now();return this.decrypter.decrypt(new Uint8Array(i),r.key.buffer,r.iv.buffer).catch((e=>{throw s.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e})).then((i=>{const r=self.performance.now();return s.trigger(rg.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:n,tdecrypt:r}}),e.payload=i,this.completeInitSegmentLoad(e)}))}return this.completeInitSegmentLoad(e)})).catch((e=>{this.state!==qb&&this.state!==rv&&(this.warn(e),this.resetFragmentLoading(t))}))}completeInitSegmentLoad(t){const{levels:e}=this;if(!e)throw new Error("init load aborted, missing levels");const s=t.frag.stats;this.state=Jb,t.frag.data=new Uint8Array(t.payload),s.parsing.start=s.buffering.start=self.performance.now(),s.parsing.end=s.buffering.end=self.performance.now(),this.tick()}fragContextChanged(t){const{fragCurrent:e}=this;return!t||!e||t.sn!==e.sn||t.level!==e.level}fragBufferedComplete(t,e){var s,i,r,n;const o=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${t.type} sn: ${t.sn}${e?" part: "+e.index:""} of ${this.playlistType===dy?"level":"track"} ${t.level} (frag:[${(null!=(s=t.startPTS)?s:NaN).toFixed(3)}-${(null!=(i=t.endPTS)?i:NaN).toFixed(3)}] > buffer:${o?Yb(Lb.getBuffered(o)):"(detached)"})`),"initSegment"!==t.sn){var a;if(t.type!==py){const e=t.elementaryStreams;if(!Object.keys(e).some((t=>!!e[t])))return void(this.state=Jb)}const e=null==(a=this.levels)?void 0:a[t.level];null!=e&&e.fragmentError&&(this.log(`Resetting level fragment error count of ${e.fragmentError} on frag buffered`),e.fragmentError=0)}this.state=Jb,o&&(!this.loadedmetadata&&t.type==dy&&o.buffered.length&&(null==(r=this.fragCurrent)?void 0:r.sn)===(null==(n=this.fragPrevious)?void 0:n.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())}seekToStartPos(){}_handleFragmentLoadComplete(t){const{transmuxer:e}=this;if(!e)return;const{frag:s,part:i,partsLoaded:r}=t,n=!r||0===r.length||r.some((t=>!t)),o=new Pb(s.level,s.sn,s.stats.chunkCount+1,0,i?i.index:-1,!n);e.flush(o)}_handleFragmentLoadProgress(t){}_doFragLoad(t,e,s=null,i){var r;const n=null==e?void 0:e.details;if(!this.levels||!n)throw new Error(`frag load aborted, missing level${n?"":" detail"}s`);let o=null;if(!t.encrypted||null!=(r=t.decryptdata)&&r.key?!t.encrypted&&n.encryptedFragments.length&&this.keyLoader.loadClear(t,n.encryptedFragments):(this.log(`Loading key for ${t.sn} of [${n.startSN}-${n.endSN}], ${"[stream-controller]"===this.logPrefix?"level":"track"} ${t.level}`),this.state=Xb,this.fragCurrent=t,o=this.keyLoader.load(t).then((t=>{if(!this.fragContextChanged(t.frag))return this.hls.trigger(rg.KEY_LOADED,t),this.state===Xb&&(this.state=Jb),t})),this.hls.trigger(rg.KEY_LOADING,{frag:t}),null===this.fragCurrent&&(o=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),s=Math.max(t.start,s||0),this.config.lowLatencyMode&&"initSegment"!==t.sn){const r=n.partList;if(r&&i){s>t.end&&n.fragmentHint&&(t=n.fragmentHint);const a=this.getNextPart(r,t,s);if(a>-1){const h=r[a];let c;return this.log(`Loading part sn: ${t.sn} p: ${h.index} cc: ${t.cc} of playlist [${n.startSN}-${n.endSN}] parts [0-${a}-${r.length-1}] ${"[stream-controller]"===this.logPrefix?"level":"track"}: ${t.level}, target: ${parseFloat(s.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=Zb,c=o?o.then((s=>!s||this.fragContextChanged(s.frag)?null:this.doFragPartsLoad(t,h,e,i))).catch((t=>this.handleFragLoadError(t))):this.doFragPartsLoad(t,h,e,i).catch((t=>this.handleFragLoadError(t))),this.hls.trigger(rg.FRAG_LOADING,{frag:t,part:h,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):c}if(!t.url||this.loadedEndOfParts(r,s))return Promise.resolve(null)}}this.log(`Loading fragment ${t.sn} cc: ${t.cc} ${n?"of ["+n.startSN+"-"+n.endSN+"] ":""}${"[stream-controller]"===this.logPrefix?"level":"track"}: ${t.level}, target: ${parseFloat(s.toFixed(3))}`),eg(t.sn)&&!this.bitrateTest&&(this.nextLoadPosition=t.start+t.duration),this.state=Zb;const a=this.config.progressive;let h;return h=a&&o?o.then((e=>!e||this.fragContextChanged(null==e?void 0:e.frag)?null:this.fragmentLoader.load(t,i))).catch((t=>this.handleFragLoadError(t))):Promise.all([this.fragmentLoader.load(t,a?i:void 0),o]).then((([t])=>(!a&&t&&i&&i(t),t))).catch((t=>this.handleFragLoadError(t))),this.hls.trigger(rg.FRAG_LOADING,{frag:t,targetBufferTime:s}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):h}doFragPartsLoad(t,e,s,i){return new Promise(((r,n)=>{var o;const a=[],h=null==(o=s.details)?void 0:o.partList,c=e=>{this.fragmentLoader.loadPart(t,e,i).then((i=>{a[e.index]=i;const n=i.part;this.hls.trigger(rg.FRAG_LOADED,i);const o=Ky(s,t.sn,e.index+1)||Qy(h,t.sn,e.index+1);if(!o)return r({frag:t,part:n,partsLoaded:a});c(o)})).catch(n)};c(e)}))}handleFragLoadError(t){if("data"in t){const e=t.data;t.data&&e.details===og.INTERNAL_ABORTED?this.handleFragLoadAborted(e.frag,e.part):this.hls.trigger(rg.ERROR,e)}else this.hls.trigger(rg.ERROR,{type:ng.OTHER_ERROR,details:og.INTERNAL_EXCEPTION,err:t,error:t,fatal:!0});return null}_handleTransmuxerFlush(t){const e=this.getCurrentContext(t);if(!e||this.state!==ev)return void(this.fragCurrent||this.state===qb||this.state===rv||(this.state=Jb));const{frag:s,part:i,level:r}=e,n=self.performance.now();s.stats.parsing.end=n,i&&(i.stats.parsing.end=n),this.updateLevelTiming(s,i,r,t.partial)}getCurrentContext(t){const{levels:e,fragCurrent:s}=this,{level:i,sn:r,part:n}=t;if(null==e||!e[i])return this.warn(`Levels object was unset while buffering fragment ${r} of level ${i}. The current chunk will not be buffered.`),null;const o=e[i],a=n>-1?Ky(o,r,n):null,h=a?a.fragment:function(t,e,s){if(null==t||!t.details)return null;const i=t.details;let r=i.fragments[e-i.startSN];return r||(r=i.fragmentHint,r&&r.sn===e?r:en&&this.flushMainBuffer(o,t.start)}getFwdBufferInfo(t,e){const s=this.getLoadPosition();return eg(s)?this.getFwdBufferInfoAtPos(t,s,e):null}getFwdBufferInfoAtPos(t,e,s){const{config:{maxBufferHole:i}}=this,r=Lb.bufferInfo(t,e,i);if(0===r.len&&void 0!==r.nextStart){const n=this.fragmentTracker.getBufferedFrag(e,s);if(n&&r.nextStart=i&&(s.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0)}getAppendedFrag(t,e=dy){const s=this.fragmentTracker.getAppendedFrag(t,dy);return s&&"fragment"in s?s.fragment:s}getNextFragment(t,e){const s=e.fragments,i=s.length;if(!i)return null;const{config:r}=this,n=s[0].start;let o;if(e.live){const a=r.initialLiveManifestSize;if(ie}getNextFragmentLoopLoading(t,e,s,i,r){const n=t.gap,o=this.getNextFragment(this.nextLoadPosition,e);if(null===o)return o;if(t=o,n&&t&&!t.gap&&s.nextStart){const e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,s.nextStart,i);if(null!==e&&s.len+e.len>=r)return this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${t.sn}`),null}return t}mapToInitFragWhenRequired(t){return null==t||!t.initSegment||null!=t&&t.initSegment.data||this.bitrateTest?t:t.initSegment}getNextPart(t,e,s){let i=-1,r=!1,n=!0;for(let o=0,a=t.length;o-1&&ss.start&&s.loaded}getInitialLiveFragment(t,e){const s=this.fragPrevious;let i=null;if(s){if(t.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${s.programDateTime}`),i=function(t,e,s){if(null===e||!Array.isArray(t)||!t.length||!eg(e))return null;if(e<(t[0].programDateTime||0))return null;if(e>=(t[t.length-1].endProgramDateTime||0))return null;s=s||0;for(let i=0;i=t.startSN&&r<=t.endSN){const n=e[r-t.startSN];s.cc===n.cc&&(i=n,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`))}i||(i=function(t,e){return tb(t,(t=>t.cce?-1:0))}(e,s.cc),i&&this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`))}}else{const e=this.hls.liveSyncPosition;null!==e&&(i=this.getFragmentAtPosition(e,this.bitrateTest?t.fragmentEnd:t.edge,t))}return i}getFragmentAtPosition(t,e,s){const{config:i}=this;let{fragPrevious:r}=this,{fragments:n,endSN:o}=s;const{fragmentHint:a}=s,{maxFragLookUpTolerance:h}=i,c=s.partList,l=!!(i.lowLatencyMode&&null!=c&&c.length&&a);let d;if(l&&a&&!this.bitrateTest&&(n=n.concat(a),o=a.sn),te-h?0:h)}else d=n[n.length-1];if(d){const t=d.sn-s.startSN,e=this.fragmentTracker.getState(d);if((e===_b||e===kb&&d.gap)&&(r=d),r&&d.sn===r.sn&&(!l||c[0].fragment.sn>d.sn)){if(r&&d.level===r.level){const e=n[t+1];d=d.sn=n-e.maxFragLookUpTolerance&&r<=o;if(null!==i&&s.duration>i&&(r${t.startSN} prev-sn: ${r?r.sn:"na"} fragments: ${i}`),n}return r}waitForCdnTuneIn(t){return t.live&&t.canBlockReload&&t.partTarget&&t.tuneInGoal>Math.max(t.partHoldBack,3*t.partTarget)}setStartPosition(t,e){let s=this.startPosition;if(s ${null==(i=this.fragCurrent)?void 0:i.url}`);const r=e.details===og.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(s,!0);const n=e.errorAction,{action:o,retryCount:a=0,retryConfig:h}=n||{};if(n&&o===ab&&h){this.resetStartWhenNotLoaded(this.levelLastLoaded);const i=Xy(h,a);this.warn(`Fragment ${s.sn} of ${t} ${s.level} errored with ${e.details}, retrying loading ${a+1}/${h.maxNumRetry} in ${i}ms`),n.resolved=!0,this.retryDate=self.performance.now()+i,this.state=$b}else if(h&&n){if(this.resetFragmentErrors(t),!(a.5;r&&this.reduceMaxBufferLength(i.len,(null==e?void 0:e.duration)||10);const n=!r;return n&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${s} buffer`),e&&(this.fragmentTracker.removeFragment(e),this.nextLoadPosition=e.start),this.resetLoadingState(),n}return!1}resetFragmentErrors(t){t===uy&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==qb&&(this.state=Jb)}afterBufferFlushed(t,e,s){if(!t)return;const i=Lb.getBuffered(t);this.fragmentTracker.detectEvictedFragments(e,i,s),this.state===iv&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Jb}resetStartWhenNotLoaded(t){if(!this.loadedmetadata){this.startFragRequested=!1;const e=t?t.details:null;null!=e&&e.live?(this.startPosition=-1,this.setStartPosition(e,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(t){this.warn(`The loading context changed while buffering fragment ${t.sn} of level ${t.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(t=0){this.fragmentTracker.removeFragmentsInRange(t,1/0,this.playlistType,!1,!0)}updateLevelTiming(t,e,s,i){var r;const n=s.details;if(!n)return void this.warn("level.details undefined");if(!Object.keys(t.elementaryStreams).reduce(((e,r)=>{const o=t.elementaryStreams[r];if(o){const a=o.endPTS-o.startPTS;if(a<=0)return this.warn(`Could not parse fragment ${t.sn} ${r} duration reliably (${a})`),e||!1;const h=i?0:zy(n,t,o.startPTS,o.endPTS,o.startDTS,o.endDTS);return this.hls.trigger(rg.LEVEL_PTS_UPDATED,{details:n,level:s,drift:h,type:r,frag:t,start:o.startPTS,end:o.endPTS}),!0}return e}),!1)&&null===(null==(r=this.transmuxer)?void 0:r.error)){const e=new Error(`Found no media in fragment ${t.sn} of level ${t.level} resetting transmuxer to fallback to playlist timing`);if(0===s.fragmentError&&(s.fragmentError++,t.gap=!0,this.fragmentTracker.removeFragment(t),this.fragmentTracker.fragBuffered(t,!0)),this.warn(e.message),this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_PARSING_ERROR,fatal:!1,error:e,frag:t,reason:`Found no media in msn ${t.sn} of level "${s.url}"`}),!this.hls)return;this.resetTransmuxer()}this.state=sv,this.hls.trigger(rg.FRAG_PARSED,{frag:t,part:e})}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)}recoverWorkerError(t){"demuxerWorker"===t.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(t){const e=this._state;e!==t&&(this._state=t,this.log(`${e}->${t}`))}get state(){return this._state}}class hv{constructor(){this.chunks=[],this.dataLength=0}push(t){this.chunks.push(t),this.dataLength+=t.length}flush(){const{chunks:t,dataLength:e}=this;let s;return t.length?(s=1===t.length?t[0]:function(t,e){const s=new Uint8Array(e);let i=0;for(let e=0;e0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Sy,duration:Number.POSITIVE_INFINITY});r{if(eg(t))return 90*t;return 9e4*e+(s?9e4*s.baseTime/s.timescale:0)};function uv(t,e){return 255===t[e]&&240==(246&t[e+1])}function pv(t,e){return 1&t[e+1]?7:9}function fv(t,e){return(3&t[e+3])<<11|t[e+4]<<3|(224&t[e+5])>>>5}function mv(t,e){return e+1=t.length)return!1;const i=fv(t,e);if(i<=s)return!1;const r=e+i;return r===t.length||mv(t,r)}return!1}function Av(t,e,s,i,r){if(!t.samplerate){const n=function(t,e,s,i){let r,n,o,a;const h=navigator.userAgent.toLowerCase(),c=i,l=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];r=1+((192&e[s+2])>>>6);const d=(60&e[s+2])>>>2;if(!(d>l.length-1))return o=(1&e[s+2])<<2,o|=(192&e[s+3])>>>6,dg.log(`manifest codec:${i}, ADTS type:${r}, samplingIndex:${d}`),/firefox/i.test(h)?d>=6?(r=5,a=new Array(4),n=d-3):(r=2,a=new Array(2),n=d):-1!==h.indexOf("android")?(r=2,a=new Array(2),n=d):(r=5,a=new Array(4),i&&(-1!==i.indexOf("mp4a.40.29")||-1!==i.indexOf("mp4a.40.5"))||!i&&d>=6?n=d-3:((i&&-1!==i.indexOf("mp4a.40.2")&&(d>=6&&1===o||/vivaldi/i.test(h))||!i&&1===o)&&(r=2,a=new Array(2)),n=d)),a[0]=r<<3,a[0]|=(14&d)>>1,a[1]|=(1&d)<<7,a[1]|=o<<3,5===r&&(a[1]|=(14&n)>>1,a[2]=(1&n)<<7,a[2]|=8,a[3]=0),{config:a,samplerate:l[d],channelCount:o,codec:"mp4a.40."+r,manifestCodec:c};{const e=new Error(`invalid ADTS sampling index:${d}`);t.emit(rg.ERROR,rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_PARSING_ERROR,fatal:!0,error:e,reason:e.message})}}(e,s,i,r);if(!n)return;t.config=n.config,t.samplerate=n.samplerate,t.channelCount=n.channelCount,t.codec=n.codec,t.manifestCodec=n.manifestCodec,dg.log(`parsed codec:${t.codec}, rate:${n.samplerate}, channels:${n.channelCount}`)}}function yv(t){return 9216e4/t}function bv(t,e,s,i,r){const n=i+r*yv(t.samplerate),o=function(t,e){const s=pv(t,e);if(e+s<=t.length){const i=fv(t,e)-s;if(i>0)return{headerLength:s,frameLength:i}}}(e,s);let a;if(o){const{frameLength:i,headerLength:r}=o,h=r+i,c=Math.max(0,s+h-e.length);c?(a=new Uint8Array(h-r),a.set(e.subarray(s+r,e.length),0)):a=e.subarray(s+r,s+h);const l={unit:a,pts:n};return c||t.samples.push(l),{sample:l,length:h,missing:c}}const h=e.length-s;a=new Uint8Array(h),a.set(e.subarray(s,e.length),0);return{sample:{unit:a,pts:n},length:h,missing:-1}}let vv=null;const wv=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],Sv=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Ev=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Iv=[0,1,1,4];function Tv(t,e,s,i,r){if(s+24>e.length)return;const n=kv(e,s);if(n&&s+n.frameLength<=e.length){const o=i+r*(9e4*n.samplesPerFrame/n.sampleRate),a={unit:e.subarray(s,s+n.frameLength),pts:o,dts:o};return t.config=[],t.channelCount=n.channelCount,t.samplerate=n.sampleRate,t.samples.push(a),{sample:a,length:n.frameLength,missing:0}}}function kv(t,e){const s=t[e+1]>>3&3,i=t[e+1]>>1&3,r=t[e+2]>>4&15,n=t[e+2]>>2&3;if(1!==s&&0!==r&&15!==r&&3!==n){const o=t[e+2]>>1&1,a=t[e+3]>>6,h=1e3*wv[14*(3===s?3-i:3===i?3:4)+r-1],c=Sv[3*(3===s?0:2===s?1:2)+n],l=3===a?1:2,d=Ev[s][i],u=Iv[i],p=8*d*u,f=Math.floor(d*h/c+o)*u;if(null===vv){const t=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);vv=t?parseInt(t[1]):0}return!!vv&&vv<=87&&2===i&&h>=224e3&&0===a&&(t[e+3]=128|t[e+3]),{sampleRate:c,channelCount:l,frameLength:f,samplesPerFrame:p}}}function _v(t,e){return 255===t[e]&&224==(224&t[e+1])&&0!=(6&t[e+1])}function Cv(t,e){return e+1{let s=0,i=5;e+=i;const r=new Uint32Array(1),n=new Uint32Array(1),o=new Uint8Array(1);for(;i>0;){o[0]=t[e];const a=Math.min(i,8),h=8-a;n[0]=4278190080>>>24+h<>h,s=s?s<e.length)return-1;if(11!==e[s]||119!==e[s+1])return-1;const n=e[s+4]>>6;if(n>=3)return-1;const o=[48e3,44100,32e3][n],a=63&e[s+4],h=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*a+n];if(s+h>e.length)return-1;const c=e[s+6]>>5;let l=0;2===c?l+=2:(1&c&&1!==c&&(l+=2),4&c&&(l+=2));const d=(e[s+6]<<8|e[s+7])>>12-l&1,u=[2,1,2,3,3,4,4,5][c]+d,p=e[s+5]>>3,f=7&e[s+5],m=new Uint8Array([n<<6|p<<1|f>>2,(3&f)<<6|c<<3|d<<2|a>>4,a<<4&224]),g=i+r*(1536/o*9e4),A=e.subarray(s,s+h);return t.config=m,t.channelCount=u,t.samplerate=o,t.samples.push({unit:A,pts:g}),h}class Mv{constructor(t){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=t,this.bytesAvailable=t.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){const t=this.data,e=this.bytesAvailable,s=t.byteLength-e,i=new Uint8Array(4),r=Math.min(4,e);if(0===r)throw new Error("no bytes available");i.set(t.subarray(s,s+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=8*r,this.bytesAvailable-=r}skipBits(t){let e;t=Math.min(t,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>t?(this.word<<=t,this.bitsAvailable-=t):(e=(t-=this.bitsAvailable)>>3,t-=e<<3,this.bytesAvailable-=e,this.loadWord(),this.word<<=t,this.bitsAvailable-=t)}readBits(t){let e=Math.min(this.bitsAvailable,t);const s=this.word>>>32-e;if(t>32&&dg.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=e,this.bitsAvailable>0)this.word<<=e;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return e=t-e,e>0&&this.bitsAvailable?s<>>t))return this.word<<=t,this.bitsAvailable-=t,t;return this.loadWord(),t+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){const t=this.skipLZ();return this.readBits(t+1)-1}readEG(){const t=this.readUEG();return 1&t?1+t>>>1:-1*(t>>>1)}readBoolean(){return 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}skipScalingList(t){let e,s=8,i=8;for(let r=0;r{var n;switch(i.type){case 1:{let e=!1;o=!0;const r=i.data;if(h&&r.length>4){const t=new Mv(r).readSliceType();2!==t&&4!==t&&7!==t&&9!==t||(e=!0)}var c;if(e)null!=(c=a)&&c.frame&&!a.key&&(this.pushAccessUnit(a,t),a=this.VideoSample=null);a||(a=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts,"")),a.frame=!0,a.key=e;break}case 5:o=!0,null!=(n=a)&&n.frame&&!a.key&&(this.pushAccessUnit(a,t),a=this.VideoSample=null),a||(a=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts,"")),a.key=!0,a.frame=!0;break;case 6:o=!0,kA(i.data,1,s.pts,e.samples);break;case 7:{var l,d;o=!0,h=!0;const e=i.data,s=new Mv(e).readSPS();if(!t.sps||t.width!==s.width||t.height!==s.height||(null==(l=t.pixelRatio)?void 0:l[0])!==s.pixelRatio[0]||(null==(d=t.pixelRatio)?void 0:d[1])!==s.pixelRatio[1]){t.width=s.width,t.height=s.height,t.pixelRatio=s.pixelRatio,t.sps=[e],t.duration=r;const i=e.subarray(1,4);let n="avc1.";for(let t=0;t<3;t++){let e=i[t].toString(16);e.length<2&&(e="0"+e),n+=e}t.codec=n}break}case 8:o=!0,t.pps=[i.data];break;case 9:o=!0,t.audFound=!0,a&&this.pushAccessUnit(a,t),a=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts,"");break;case 12:o=!0;break;default:o=!1,a&&(a.debug+="unknown NAL "+i.type+" ")}if(a&&o){a.units.push(i)}})),i&&a&&(this.pushAccessUnit(a,t),this.VideoSample=null)}parseAVCNALu(t,e){const s=e.byteLength;let i=t.naluState||0;const r=i,n=[];let o,a,h,c=0,l=-1,d=0;for(-1===i&&(l=0,d=31&e[0],i=0,c=1);c=0){const t={data:e.subarray(l,a),type:d};n.push(t)}else{const s=this.getLastNalUnit(t.samples);s&&(r&&c<=4-r&&s.state&&(s.data=s.data.subarray(0,s.data.byteLength-r)),a>0&&(s.data=EA(s.data,e.subarray(0,a)),s.state=0))}c=0&&i>=0){const t={data:e.subarray(l,s),type:d,state:i};n.push(t)}if(0===n.length){const s=this.getLastNalUnit(t.samples);s&&(s.data=EA(s.data,e))}return t.naluState=i,n}}class Fv{constructor(t,e,s){this.keyData=void 0,this.decrypter=void 0,this.keyData=s,this.decrypter=new Qb(e,{removePKCS7Padding:!1})}decryptBuffer(t){return this.decrypter.decrypt(t,this.keyData.key.buffer,this.keyData.iv.buffer)}decryptAacSample(t,e,s){const i=t[e].unit;if(i.length<=16)return;const r=i.subarray(16,i.length-i.length%16),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(n).then((r=>{const n=new Uint8Array(r);i.set(n,16),this.decrypter.isSync()||this.decryptAacSamples(t,e+1,s)}))}decryptAacSamples(t,e,s){for(;;e++){if(e>=t.length)return void s();if(!(t[e].unit.length<32)&&(this.decryptAacSample(t,e,s),!this.decrypter.isSync()))return}}getAvcEncryptedData(t){const e=16*Math.floor((t.length-48)/160)+16,s=new Int8Array(e);let i=0;for(let e=32;e{r.data=this.getAvcDecryptedUnit(n,o),this.decrypter.isSync()||this.decryptAvcSamples(t,e,s+1,i)}))}decryptAvcSamples(t,e,s,i){if(t instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;e++,s=0){if(e>=t.length)return void i();const r=t[e].units;for(;!(s>=r.length);s++){const n=r[s];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(t,e,s,i,n),this.decrypter.isSync())))return}}}}const Ov=188;class Uv{constructor(t,e,s){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=t,this.config=e,this.typeSupported=s,this.videoParser=new Bv}static probe(t){const e=Uv.syncOffset(t);return e>0&&dg.warn(`MPEG2-TS detected but first sync word found @ offset ${e}`),-1!==e}static syncOffset(t){const e=t.length;let s=Math.min(940,e-Ov)+1,i=0;for(;i1&&(0===n&&o>2||a+Ov>s))return n}i++}return-1}static createTrack(t,e){return{container:"video"===t||"audio"===t?"video/mp2t":void 0,type:t,id:aA[t],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===t?e:void 0}}resetInitSegment(t,e,s,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=Uv.createTrack("video"),this._audioTrack=Uv.createTrack("audio",i),this._id3Track=Uv.createTrack("id3"),this._txtTrack=Uv.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=e,this.videoCodec=s,this._duration=i}resetTimeStamp(){}resetContiguity(){const{_audioTrack:t,_videoTrack:e,_id3Track:s}=this;t&&(t.pesData=null),e&&(e.pesData=null),s&&(s.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(t,e,s=!1,i=!1){let r;s||(this.sampleAes=null);const n=this._videoTrack,o=this._audioTrack,a=this._id3Track,h=this._txtTrack;let c=n.pid,l=n.pesData,d=o.pid,u=a.pid,p=o.pesData,f=a.pesData,m=null,g=this.pmtParsed,A=this._pmtId,y=t.length;if(this.remainderData&&(y=(t=EA(this.remainderData,t)).length,this.remainderData=null),y>4>1){if(v=e+5+t[e+4],v===e+Ov)continue}else v=e+4;switch(y){case c:i&&(l&&(r=Gv(l))&&this.videoParser.parseAVCPES(n,h,r,!1,this._duration),l={data:[],size:0}),l&&(l.data.push(t.subarray(v,e+Ov)),l.size+=e+Ov-v);break;case d:if(i){if(p&&(r=Gv(p)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,r);break;case"mp3":this.parseMPEGPES(o,r);break;case"ac3":this.parseAC3PES(o,r)}p={data:[],size:0}}p&&(p.data.push(t.subarray(v,e+Ov)),p.size+=e+Ov-v);break;case u:i&&(f&&(r=Gv(f))&&this.parseID3PES(a,r),f={data:[],size:0}),f&&(f.data.push(t.subarray(v,e+Ov)),f.size+=e+Ov-v);break;case 0:i&&(v+=t[v]+1),A=this._pmtId=Nv(t,v);break;case A:{i&&(v+=t[v]+1);const r=Vv(t,v,this.typeSupported,s,this.observer);c=r.videoPid,c>0&&(n.pid=c,n.segmentCodec=r.segmentVideoCodec),d=r.audioPid,d>0&&(o.pid=d,o.segmentCodec=r.segmentAudioCodec),u=r.id3Pid,u>0&&(a.pid=u),null===m||g||(dg.warn(`MPEG-TS PMT found at ${e} after unknown PID '${m}'. Backtracking to sync byte @${b} to parse all TS packets.`),m=null,e=b-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:m=y}}else v++;v>0&&zv(this.observer,new Error(`Found ${v} TS packet/s that do not start with 0x47`)),n.pesData=l,o.pesData=p,a.pesData=f;const w={audioTrack:o,videoTrack:n,id3Track:a,textTrack:h};return i&&this.extractRemainingSamples(w),w}flush(){const{remainderData:t}=this;let e;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e}extractRemainingSamples(t){const{audioTrack:e,videoTrack:s,id3Track:i,textTrack:r}=t,n=s.pesData,o=e.pesData,a=i.pesData;let h;if(n&&(h=Gv(n))?(this.videoParser.parseAVCPES(s,r,h,!0,this._duration),s.pesData=null):s.pesData=n,o&&(h=Gv(o))){switch(e.segmentCodec){case"aac":this.parseAACPES(e,h);break;case"mp3":this.parseMPEGPES(e,h);break;case"ac3":this.parseAC3PES(e,h)}e.pesData=null}else null!=o&&o.size&&dg.log("last AAC PES packet truncated,might overlap between fragments"),e.pesData=o;a&&(h=Gv(a))?(this.parseID3PES(i,h),i.pesData=null):i.pesData=a}demuxSampleAes(t,e,s){const i=this.demux(t,s,!0,!this.config.progressive),r=this.sampleAes=new Fv(this.observer,this.config,e);return this.decrypt(i,r)}decrypt(t,e){return new Promise((s=>{const{audioTrack:i,videoTrack:r}=t;i.samples&&"aac"===i.segmentCodec?e.decryptAacSamples(i.samples,0,(()=>{r.samples?e.decryptAvcSamples(r.samples,0,0,(()=>{s(t)})):s(t)})):r.samples&&e.decryptAvcSamples(r.samples,0,0,(()=>{s(t)}))}))}destroy(){this._duration=0}parseAACPES(t,e){let s=0;const i=this.aacOverFlow;let r,n,o,a=e.data;if(i){this.aacOverFlow=null;const e=i.missing,r=i.sample.unit.byteLength;if(-1===e)a=EA(i.sample.unit,a);else{const n=r-e;i.sample.unit.set(a.subarray(0,e),n),t.samples.push(i.sample),s=i.missing}}for(r=s,n=a.length;r0;)a+=n}}parseID3PES(t,e){if(void 0===e.pts)return void dg.warn("[tsdemuxer]: ID3 PES unknown PTS");const s=tg({},e,{type:this._videoTrack?Iy:Sy,duration:Number.POSITIVE_INFINITY});t.samples.push(s)}}function jv(t,e){return((31&t[e+1])<<8)+t[e+2]}function Nv(t,e){return(31&t[e+10])<<8|t[e+11]}function Vv(t,e,s,i,r){const n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=e+3+((15&t[e+1])<<8|t[e+2])-4;for(e+=12+((15&t[e+10])<<8|t[e+11]);e0){let i=e+5,r=a;for(;r>2;){if(106===t[i])!0!==s.ac3?dg.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=o,n.segmentAudioCodec="ac3");const e=t[i+1]+2;i+=e,r-=e}}break;case 194:case 135:return zv(r,new Error("Unsupported EC-3 in M2TS found")),n;case 36:return zv(r,new Error("Unsupported HEVC in M2TS found")),n}e+=a+5}return n}function zv(t,e,s){dg.warn(`parsing error: ${e.message}`),t.emit(rg.ERROR,rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_PARSING_ERROR,fatal:!1,levelRetry:s,error:e,reason:e.message})}function Wv(t){dg.log(`${t} with AES-128-CBC encryption found in unencrypted stream`)}function Gv(t){let e,s,i,r,n,o=0;const a=t.data;if(!t||0===t.size)return null;for(;a[0].length<19&&a.length>1;)a[0]=EA(a[0],a[1]),a.splice(1,1);e=a[0];if(1===(e[0]<<16)+(e[1]<<8)+e[2]){if(s=(e[4]<<8)+e[5],s&&s>t.size-6)return null;const h=e[7];192&h&&(r=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&h?(n=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,r-n>54e5&&(dg.warn(`${Math.round((r-n)/9e4)}s delta between PTS and DTS, align them`),r=n)):n=r),i=e[8];let c=i+9;if(t.size<=c)return null;t.size-=c;const l=new Uint8Array(t.size);for(let t=0,s=a.length;ts){c-=s;continue}e=e.subarray(c),s-=c,c=0}l.set(e,o),o+=s}return s&&(s-=i+3),{data:l,pts:r,dts:n,len:s}}return null}class Hv{static getSilentFrame(t,e){if("mp4a.40.2"===t){if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}const Kv=Math.pow(2,32)-1;class Qv{static init(){let t;for(t in Qv.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},Qv.types)Qv.types.hasOwnProperty(t)&&(Qv.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);const e=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),s=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);Qv.HDLR_TYPES={video:e,audio:s};const i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),r=new Uint8Array([0,0,0,0,0,0,0,0]);Qv.STTS=Qv.STSC=Qv.STCO=r,Qv.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),Qv.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),Qv.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),Qv.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const n=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),a=new Uint8Array([0,0,0,1]);Qv.FTYP=Qv.box(Qv.types.ftyp,n,a,n,o),Qv.DINF=Qv.box(Qv.types.dinf,Qv.box(Qv.types.dref,i))}static box(t,...e){let s=8,i=e.length;const r=i;for(;i--;)s+=e[i].byteLength;const n=new Uint8Array(s);for(n[0]=s>>24&255,n[1]=s>>16&255,n[2]=s>>8&255,n[3]=255&s,n.set(t,4),i=0,s=8;i>24&255,t>>16&255,t>>8&255,255&t,s>>24,s>>16&255,s>>8&255,255&s,i>>24,i>>16&255,i>>8&255,255&i,85,196,0,0]))}static mdia(t){return Qv.box(Qv.types.mdia,Qv.mdhd(t.timescale,t.duration),Qv.hdlr(t.type),Qv.minf(t))}static mfhd(t){return Qv.box(Qv.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}static minf(t){return"audio"===t.type?Qv.box(Qv.types.minf,Qv.box(Qv.types.smhd,Qv.SMHD),Qv.DINF,Qv.stbl(t)):Qv.box(Qv.types.minf,Qv.box(Qv.types.vmhd,Qv.VMHD),Qv.DINF,Qv.stbl(t))}static moof(t,e,s){return Qv.box(Qv.types.moof,Qv.mfhd(t),Qv.traf(s,e))}static moov(t){let e=t.length;const s=[];for(;e--;)s[e]=Qv.trak(t[e]);return Qv.box.apply(null,[Qv.types.moov,Qv.mvhd(t[0].timescale,t[0].duration)].concat(s).concat(Qv.mvex(t)))}static mvex(t){let e=t.length;const s=[];for(;e--;)s[e]=Qv.trex(t[e]);return Qv.box.apply(null,[Qv.types.mvex,...s])}static mvhd(t,e){e*=t;const s=Math.floor(e/(Kv+1)),i=Math.floor(e%(Kv+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,s>>24,s>>16&255,s>>8&255,255&s,i>>24,i>>16&255,i>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return Qv.box(Qv.types.mvhd,r)}static sdtp(t){const e=t.samples||[],s=new Uint8Array(4+e.length);let i,r;for(i=0;i>>8&255),r.push(255&i),r=r.concat(Array.prototype.slice.call(s));for(e=0;e>>8&255),n.push(255&i),n=n.concat(Array.prototype.slice.call(s));const o=Qv.box(Qv.types.avcC,new Uint8Array([1,r[3],r[4],r[5],255,224|t.sps.length].concat(r).concat([t.pps.length]).concat(n))),a=t.width,h=t.height,c=t.pixelRatio[0],l=t.pixelRatio[1];return Qv.box(Qv.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a>>8&255,255&a,h>>8&255,255&h,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),o,Qv.box(Qv.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),Qv.box(Qv.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,255&c,l>>24,l>>16&255,l>>8&255,255&l])))}static esds(t){const e=t.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(t.config).concat([6,1,2]))}static audioStsd(t){const e=t.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,e>>8&255,255&e,0,0])}static mp4a(t){return Qv.box(Qv.types.mp4a,Qv.audioStsd(t),Qv.box(Qv.types.esds,Qv.esds(t)))}static mp3(t){return Qv.box(Qv.types[".mp3"],Qv.audioStsd(t))}static ac3(t){return Qv.box(Qv.types["ac-3"],Qv.audioStsd(t),Qv.box(Qv.types.dac3,t.config))}static stsd(t){return"audio"===t.type?"mp3"===t.segmentCodec&&"mp3"===t.codec?Qv.box(Qv.types.stsd,Qv.STSD,Qv.mp3(t)):"ac3"===t.segmentCodec?Qv.box(Qv.types.stsd,Qv.STSD,Qv.ac3(t)):Qv.box(Qv.types.stsd,Qv.STSD,Qv.mp4a(t)):Qv.box(Qv.types.stsd,Qv.STSD,Qv.avc1(t))}static tkhd(t){const e=t.id,s=t.duration*t.timescale,i=t.width,r=t.height,n=Math.floor(s/(Kv+1)),o=Math.floor(s%(Kv+1));return Qv.box(Qv.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,o>>24,o>>16&255,o>>8&255,255&o,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,r>>8&255,255&r,0,0]))}static traf(t,e){const s=Qv.sdtp(t),i=t.id,r=Math.floor(e/(Kv+1)),n=Math.floor(e%(Kv+1));return Qv.box(Qv.types.traf,Qv.box(Qv.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])),Qv.box(Qv.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,n>>24,n>>16&255,n>>8&255,255&n])),Qv.trun(t,s.length+16+20+8+16+8+8),s)}static trak(t){return t.duration=t.duration||4294967295,Qv.box(Qv.types.trak,Qv.tkhd(t),Qv.mdia(t))}static trex(t){const e=t.id;return Qv.box(Qv.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(t,e){const s=t.samples||[],i=s.length,r=12+16*i,n=new Uint8Array(r);let o,a,h,c,l,d;for(e+=8+r,n.set(["video"===t.type?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i,e>>>24&255,e>>>16&255,e>>>8&255,255&e],0),o=0;o>>24&255,h>>>16&255,h>>>8&255,255&h,c>>>24&255,c>>>16&255,c>>>8&255,255&c,l.isLeading<<2|l.dependsOn,l.isDependedOn<<6|l.hasRedundancy<<4|l.paddingValue<<1|l.isNonSync,61440&l.degradPrio,15&l.degradPrio,d>>>24&255,d>>>16&255,d>>>8&255,255&d],12+16*o);return Qv.box(Qv.types.trun,n)}static initSegment(t){Qv.types||Qv.init();const e=Qv.moov(t);return EA(Qv.FTYP,e)}}Qv.types=void 0,Qv.HDLR_TYPES=void 0,Qv.STTS=void 0,Qv.STSC=void 0,Qv.STCO=void 0,Qv.STSZ=void 0,Qv.VMHD=void 0,Qv.SMHD=void 0,Qv.STSD=void 0,Qv.FTYP=void 0,Qv.DINF=void 0;function Yv(t,e,s=1,i=!1){const r=t*e*s;return i?Math.round(r):r}function qv(t,e=!1){return Yv(t,1e3,1/9e4,e)}let Jv,Xv=null,Zv=null;class $v{constructor(t,e,s,i=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=t,this.config=e,this.typeSupported=s,this.ISGenerated=!1,null===Xv){const t=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Xv=t?parseInt(t[1]):0}if(null===Zv){const t=navigator.userAgent.match(/Safari\/(\d+)/i);Zv=t?parseInt(t[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(t){dg.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=t}resetNextTimestamp(){dg.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){dg.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(t){let e=!1;const s=t.reduce(((t,s)=>{const i=s.pts-t;return i<-4294967296?(e=!0,tw(t,s.pts)):i>0?t:s.pts}),t[0].pts);return e&&dg.debug("PTS rollover detected"),s}remux(t,e,s,i,r,n,o,a){let h,c,l,d,u,p,f=r,m=r;const g=t.pid>-1,A=e.pid>-1,y=e.samples.length,b=t.samples.length>0,v=o&&y>0||y>1;if((!g||b)&&(!A||v)||this.ISGenerated||o){if(this.ISGenerated){var w,S,E,I;const t=this.videoTrackConfig;!t||e.width===t.width&&e.height===t.height&&(null==(w=e.pixelRatio)?void 0:w[0])===(null==(S=t.pixelRatio)?void 0:S[0])&&(null==(E=e.pixelRatio)?void 0:E[1])===(null==(I=t.pixelRatio)?void 0:I[1])||this.resetInitSegment()}else l=this.generateIS(t,e,r,n);const s=this.isVideoContiguous;let i,o=-1;if(v&&(o=function(t){for(let e=0;e0){dg.warn(`[mp4-remuxer]: Dropped ${o} out of ${y} video samples due to a missing keyframe`);const t=this.getVideoStartPts(e.samples);e.samples=e.samples.slice(o),e.dropped+=o,m+=(e.samples[0].pts-t)/e.inputTimeScale,i=m}else-1===o&&(dg.warn(`[mp4-remuxer]: No keyframe found out of ${y} video samples`),p=!1);if(this.ISGenerated){if(b&&v){const s=this.getVideoStartPts(e.samples),i=(tw(t.samples[0].pts,s)-s)/e.inputTimeScale;f+=Math.max(0,i),m+=Math.max(0,-i)}if(b){if(t.samplerate||(dg.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),l=this.generateIS(t,e,r,n)),c=this.remuxAudio(t,f,this.isAudioContiguous,n,A||v||a===uy?m:void 0),v){const i=c?c.endPTS-c.startPTS:0;e.inputTimeScale||(dg.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),l=this.generateIS(t,e,r,n)),h=this.remuxVideo(e,m,s,i)}}else v&&(h=this.remuxVideo(e,m,s,0));h&&(h.firstKeyFrame=o,h.independent=-1!==o,h.firstKeyFramePTS=i)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(s.samples.length&&(u=ew(s,r,this._initPTS,this._initDTS)),i.samples.length&&(d=sw(i,r,this._initPTS))),{audio:c,video:h,initSegment:l,independent:p,text:d,id3:u}}generateIS(t,e,s,i){const r=t.samples,n=e.samples,o=this.typeSupported,a={},h=this._initPTS;let c,l,d,u=!h||i,p="audio/mp4";if(u&&(c=l=1/0),t.config&&r.length){switch(t.timescale=t.samplerate,t.segmentCodec){case"mp3":o.mpeg?(p="audio/mpeg",t.codec=""):o.mp3&&(t.codec="mp3");break;case"ac3":t.codec="ac-3"}a.audio={id:"audio",container:p,codec:t.codec,initSegment:"mp3"===t.segmentCodec&&o.mpeg?new Uint8Array(0):Qv.initSegment([t]),metadata:{channelCount:t.channelCount}},u&&(d=t.inputTimeScale,h&&d===h.timescale?u=!1:c=l=r[0].pts-Math.round(d*s))}if(e.sps&&e.pps&&n.length){if(e.timescale=e.inputTimeScale,a.video={id:"main",container:"video/mp4",codec:e.codec,initSegment:Qv.initSegment([e]),metadata:{width:e.width,height:e.height}},u)if(d=e.inputTimeScale,h&&d===h.timescale)u=!1;else{const t=this.getVideoStartPts(n),e=Math.round(d*s);l=Math.min(l,tw(n[0].dts,t)-e),c=Math.min(c,t-e)}this.videoTrackConfig={width:e.width,height:e.height,pixelRatio:e.pixelRatio}}if(Object.keys(a).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:c,timescale:d},this._initDTS={baseTime:l,timescale:d}):c=d=void 0,{tracks:a,initPTS:c,timescale:d}}remuxVideo(t,e,s,i){const r=t.inputTimeScale,n=t.samples,o=[],a=n.length,h=this._initPTS;let c,l,d=this.nextAvcDts,u=8,p=this.videoSampleDuration,f=Number.POSITIVE_INFINITY,m=Number.NEGATIVE_INFINITY,g=!1;if(!s||null===d){const t=e*r,i=n[0].pts-tw(n[0].dts,n[0].pts);Xv&&null!==d&&Math.abs(t-i-d)<15e3?s=!0:d=t-i}const A=h.baseTime*r/h.timescale;for(let t=0;t0?t-1:t].dts&&(g=!0)}g&&n.sort((function(t,e){const s=t.dts-e.dts,i=t.pts-e.pts;return s||i})),c=n[0].dts,l=n[n.length-1].dts;const y=l-c,b=y?Math.round(y/(a-1)):p||t.inputTimeScale/30;if(s){const t=c-d,s=t>b,i=t<-1;if((s||i)&&(s?dg.warn(`AVC: ${qv(t,!0)} ms (${t}dts) hole between fragments detected at ${e.toFixed(3)}`):dg.warn(`AVC: ${qv(-t,!0)} ms (${t}dts) overlapping between fragments detected at ${e.toFixed(3)}`),!i||d>=n[0].pts||Xv)){c=d;const e=n[0].pts-t;if(s)n[0].dts=c,n[0].pts=e;else for(let s=0;se);s++)n[s].dts-=t,n[s].pts-=t;dg.log(`Video: Initial PTS/DTS adjusted: ${qv(e,!0)}/${qv(c,!0)}, delta: ${qv(t,!0)} ms`)}}c=Math.max(0,c);let v=0,w=0,S=c;for(let t=0;t0?e.dts-n[t-1].dts:b;if(h=t>0?e.pts-n[t-1].pts:b,s.stretchShortVideoTrack&&null!==this.nextAudioPts){const t=Math.floor(s.maxBufferHole*r),n=(i?f+i*r:this.nextAudioPts)-e.pts;n>t?(p=n-o,p<0?p=o:k=!0,dg.log(`[mp4-remuxer]: It is approximately ${n/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=o}else p=o}const l=Math.round(e.pts-e.dts);_=Math.min(_,p),R=Math.max(R,p),C=Math.min(C,h),D=Math.max(D,h),o.push(new iw(e.key,p,c,l))}if(o.length)if(Xv){if(Xv<70){const t=o[0].flags;t.dependsOn=2,t.isNonSync=0}}else if(Zv&&D-C0&&(i&&Math.abs(g-m)<9e3||Math.abs(tw(p[0].pts-A,g)-m)<20*h),p.forEach((function(t){t.pts=tw(t.pts-A,g)})),!s||m<0){if(p=p.filter((t=>t.pts>=0)),!p.length)return;m=0===r?0:i&&!u?Math.max(0,g):p[0].pts}if("aac"===t.segmentCodec){const e=this.config.maxAudioFramesDrift;for(let s=0,i=m;s=e*h&&c<1e4&&u){let e=Math.round(a/h);i=o-e*h,i<0&&(e--,i+=h),0===s&&(this.nextAudioPts=m=i),dg.warn(`[mp4-remuxer]: Injecting ${e} audio frame @ ${(i/n).toFixed(3)}s due to ${Math.round(1e3*a/n)} ms gap.`);for(let n=0;n0))return;w+=f;try{y=new Uint8Array(w)}catch(t){return void this.observer.emit(rg.ERROR,rg.ERROR,{type:ng.MUX_ERROR,details:og.REMUX_ALLOC_ERROR,fatal:!1,error:t,bytes:w,reason:`fail allocating audio mdat ${w}`})}if(!l){new DataView(y.buffer).setUint32(0,w),y.set(Qv.types.mdat,4)}}y.set(r,f);const h=r.byteLength;f+=h,d.push(new iw(!0,a,h,0)),v=n}const E=d.length;if(!E)return;const I=d[d.length-1];this.nextAudioPts=m=v+o*I.duration;const T=l?new Uint8Array(0):Qv.moof(t.sequenceNumber++,b/o,tg({},t,{samples:d}));t.samples=[];const k=b/n,_=m/n,C={data1:T,data2:y,startPTS:k,endPTS:_,startDTS:k,endDTS:_,type:"audio",hasAudio:!0,hasVideo:!1,nb:E};return this.isAudioContiguous=!0,C}remuxEmptyAudio(t,e,s,i){const r=t.inputTimeScale,n=r/(t.samplerate?t.samplerate:r),o=this.nextAudioPts,a=this._initDTS,h=9e4*a.baseTime/a.timescale,c=(null!==o?o:i.startDTS*r)+h,l=i.endDTS*r+h,d=1024*n,u=Math.ceil((l-c)/d),p=Hv.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(dg.warn("[mp4-remuxer]: remux empty Audio"),!p)return void dg.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");const f=[];for(let t=0;t4294967296;)t+=s;return t}function ew(t,e,s,i){const r=t.samples.length;if(!r)return;const n=t.inputTimeScale;for(let o=0;ot.pts-e.pts));const n=t.samples;return t.samples=[],{samples:n}}class iw{constructor(t,e,s,i){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=e,this.size=s,this.cts=i,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:t?2:1,isNonSync:t?0:1}}}function rw(t,e){const s=null==t?void 0:t.codec;if(s&&s.length>4)return s;if(e===yg){if("ec-3"===s||"ac-3"===s||"alac"===s)return s;if("fLaC"===s||"Opus"===s){return KA(s,!1)}const t="mp4a.40.5";return dg.info(`Parsed audio codec "${s}" or audio object type not handled. Using "${t}"`),t}return dg.warn(`Unhandled video codec "${s}"`),"hvc1"===s||"hev1"===s?"hvc1.1.6.L120.90":"av01"===s?"av01.0.04M.08":"avc1.42e01e"}try{Jv=self.performance.now.bind(self.performance)}catch(t){dg.debug("Unable to use Performance API on this environment"),Jv=null==Cg?void 0:Cg.Date.now}const nw=[{demux:class{constructor(t,e){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=e}resetTimeStamp(){}resetInitSegment(t,e,s,i){const r=this.videoTrack=cv("video",1),n=this.audioTrack=cv("audio",1),o=this.txtTrack=cv("text",1);if(this.id3Track=cv("id3",1),this.timeOffset=0,null==t||!t.byteLength)return;const a=gA(t);if(a.video){const{id:t,timescale:e,codec:s}=a.video;r.id=t,r.timescale=o.timescale=e,r.codec=s}if(a.audio){const{id:t,timescale:e,codec:s}=a.audio;n.id=t,n.timescale=e,n.codec=s}o.id=aA.text,r.sampleDuration=0,r.duration=n.duration=i}resetContiguity(){this.remainderData=null}static probe(t){return function(t){const e=t.byteLength;for(let s=0;s8&&109===t[s+4]&&111===t[s+5]&&111===t[s+6]&&102===t[s+7])return!0;s=i>1?s+i:e}return!1}(t)}demux(t,e){this.timeOffset=e;let s=t;const i=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(s=EA(this.remainderData,t));const e=function(t){const e={valid:null,remainder:null},s=fA(t,["moof"]);if(s.length<2)return e.remainder=t,e;const i=s[s.length-1];return e.valid=Ng(t,0,i.byteOffset-8),e.remainder=Ng(t,i.byteOffset-8),e}(s);this.remainderData=e.remainder,i.samples=e.valid||new Uint8Array}else i.samples=s;const n=this.extractID3Track(i,e);return r.samples=IA(e,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:n,textTrack:this.txtTrack}}flush(){const t=this.timeOffset,e=this.videoTrack,s=this.txtTrack;e.samples=this.remainderData||new Uint8Array,this.remainderData=null;const i=this.extractID3Track(e,this.timeOffset);return s.samples=IA(t,e),{videoTrack:e,audioTrack:cv(),id3Track:i,textTrack:cv()}}extractID3Track(t,e){const s=this.id3Track;if(t.samples.length){const i=fA(t.samples,["emsg"]);i&&i.forEach((t=>{const i=function(t){const e=t[0];let s="",i="",r=0,n=0,o=0,a=0,h=0,c=0;if(0===e){for(;"\0"!==hA(t.subarray(c,c+1));)s+=hA(t.subarray(c,c+1)),c+=1;for(s+=hA(t.subarray(c,c+1)),c+=1;"\0"!==hA(t.subarray(c,c+1));)i+=hA(t.subarray(c,c+1)),c+=1;i+=hA(t.subarray(c,c+1)),c+=1,r=lA(t,12),n=lA(t,16),a=lA(t,20),h=lA(t,24),c=28}else if(1===e){c+=4,r=lA(t,c),c+=4;const e=lA(t,c);c+=4;const n=lA(t,c);for(c+=4,o=2**32*e+n,sg(o)||(o=Number.MAX_SAFE_INTEGER,dg.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),a=lA(t,c),c+=4,h=lA(t,c),c+=4;"\0"!==hA(t.subarray(c,c+1));)s+=hA(t.subarray(c,c+1)),c+=1;for(s+=hA(t.subarray(c,c+1)),c+=1;"\0"!==hA(t.subarray(c,c+1));)i+=hA(t.subarray(c,c+1)),c+=1;i+=hA(t.subarray(c,c+1)),c+=1}return{schemeIdUri:s,value:i,timeScale:r,presentationTime:o,presentationTimeDelta:n,eventDuration:a,id:h,payload:t.subarray(c,t.byteLength)}}(t);if(Dv.test(i.schemeIdUri)){const t=eg(i.presentationTime)?i.presentationTime/i.timeScale:e+i.presentationTimeDelta/i.timeScale;let r=4294967295===i.eventDuration?Number.POSITIVE_INFINITY:i.eventDuration/i.timeScale;r<=.001&&(r=Number.POSITIVE_INFINITY);const n=i.payload;s.samples.push({data:n,len:n.byteLength,dts:t,pts:t,type:Iy,duration:r})}}))}return s}demuxSampleAes(t,e,s){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){}},remux:class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}destroy(){}resetTimeStamp(t){this.initPTS=t,this.lastEndTime=null}resetNextTimestamp(){this.lastEndTime=null}resetInitSegment(t,e,s,i){this.audioCodec=e,this.videoCodec=s,this.generateInitSegment(function(t,e){if(!t||!e)return t;const s=e.keyId;s&&e.isCommonEncryption&&fA(t,["moov","trak"]).forEach((t=>{const e=fA(t,["mdia","minf","stbl","stsd"])[0].subarray(8);let i=fA(e,["enca"]);const r=i.length>0;r||(i=fA(e,["encv"])),i.forEach((t=>{fA(r?t.subarray(28):t.subarray(78),["sinf"]).forEach((t=>{const e=wA(t);if(e){const t=e.subarray(8,24);t.some((t=>0!==t))||(dg.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${rA(t)} -> ${rA(s)}`),e.set(s,8))}}))}))}));return t}(t,i)),this.emitInitSegment=!0}generateInitSegment(t){let{audioCodec:e,videoCodec:s}=this;if(null==t||!t.byteLength)return this.initTracks=void 0,void(this.initData=void 0);const i=this.initData=gA(t);i.audio&&(e=rw(i.audio,yg)),i.video&&(s=rw(i.video,bg));const r={};i.audio&&i.video?r.audiovideo={container:"video/mp4",codec:e+","+s,initSegment:t,id:"main"}:i.audio?r.audio={container:"audio/mp4",codec:e,initSegment:t,id:"audio"}:i.video?r.video={container:"video/mp4",codec:s,initSegment:t,id:"main"}:dg.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=r}remux(t,e,s,i,r,n){var o,a;let{initPTS:h,lastEndTime:c}=this;const l={audio:void 0,video:void 0,text:i,id3:s,initSegment:void 0};eg(c)||(c=this.lastEndTime=r||0);const d=e.samples;if(null==d||!d.length)return l;const u={initPTS:void 0,timescale:1};let p=this.initData;if(null!=(o=p)&&o.length||(this.generateInitSegment(d),p=this.initData),null==(a=p)||!a.length)return dg.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),l;this.emitInitSegment&&(u.tracks=this.initTracks,this.emitInitSegment=!1);const f=function(t,e){let s=0,i=0,r=0;const n=fA(t,["moof","traf"]);for(let t=0;tt+e.info.duration||0),0);s=Math.max(s,t+n.earliestPresentationTime/n.timescale),i=s-e}}if(i&&eg(i))return i}return i||r}(d,p),m=function(t,e){return fA(e,["moof","traf"]).reduce(((e,s)=>{const i=fA(s,["tfdt"])[0],r=i[0],n=fA(s,["tfhd"]).reduce(((e,s)=>{const n=lA(s,4),o=t[n];if(o){let t=lA(i,4);if(1===r){if(t===nA)return dg.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),e;t*=nA+1,t+=lA(i,8)}const s=t/(o.timescale||9e4);if(eg(s)&&(null===e||sr}(h,g,r,f)||u.timescale!==h.timescale&&n)&&(u.initPTS=g-r,h&&1===h.timescale&&dg.warn("Adjusting initPTS by "+(u.initPTS-h.baseTime)),this.initPTS=h={baseTime:u.initPTS,timescale:1});const A=t?g-h.baseTime/h.timescale:c,y=A+f;!function(t,e,s){fA(e,["moof","traf"]).forEach((e=>{fA(e,["tfhd"]).forEach((i=>{const r=lA(i,4),n=t[r];if(!n)return;const o=n.timescale||9e4;fA(e,["tfdt"]).forEach((t=>{const e=t[0],i=s*o;if(i){let s=lA(t,4);if(0===e)s-=i,s=Math.max(s,0),pA(t,4,s);else{s*=Math.pow(2,32),s+=lA(t,8),s-=i,s=Math.max(s,0);const e=Math.floor(s/(nA+1)),r=Math.floor(s%(nA+1));pA(t,4,e),pA(t,8,r)}}}))}))}))}(p,d,h.baseTime/h.timescale),f>0?this.lastEndTime=y:(dg.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const b=!!p.audio,v=!!p.video;let w="";b&&(w+="audio"),v&&(w+="video");const S={data1:d,startPTS:A,startDTS:A,endPTS:y,endDTS:y,type:w,hasAudio:b,hasVideo:v,nb:1,dropped:0};return l.audio="audio"===S.type?S:void 0,l.video="audio"!==S.type?S:void 0,l.initSegment=u,l.id3=ew(s,r,h,h),i.samples.length&&(l.text=sw(i,r,h)),l}}},{demux:Uv,remux:$v},{demux:class extends lv{constructor(t,e){super(),this.observer=void 0,this.config=void 0,this.observer=t,this.config=e}resetInitSegment(t,e,s,i){super.resetInitSegment(t,e,s,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:e,duration:i,inputTimeScale:9e4,dropped:0}}static probe(t){if(!t)return!1;const e=Wg(t,0);let s=(null==e?void 0:e.length)||0;if(Rv(t,s))return!1;for(let e=t.length;s0&&null!=(null==e?void 0:e.key)&&null!==e.iv&&null!=e.method&&(s=e);return s}(n,e);if(b&&"AES-128"===b.method){const t=this.getDecrypter();if(!t.isSync())return this.decryptionPromise=t.webCryptoDecrypt(n,b.key.buffer,b.iv.buffer).then((t=>{const e=this.push(t,null,s);return this.decryptionPromise=null,e})),this.decryptionPromise;{let e=t.softwareDecrypt(n,b.key.buffer,b.iv.buffer);if(s.part>-1&&(e=t.flush()),!e)return r.executeEnd=Jv(),aw(s);n=new Uint8Array(e)}}const v=this.needsProbing(c,l);if(v){const t=this.configureTransmuxer(n);if(t)return dg.warn(`[transmuxer] ${t.message}`),this.observer.emit(rg.ERROR,rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_PARSING_ERROR,fatal:!1,error:t,reason:t.message}),r.executeEnd=Jv(),aw(s)}(c||l||p||v)&&this.resetInitSegment(y,f,m,A,e),(c||p||v)&&this.resetInitialTimestamp(g),h||this.resetContiguity();const w=this.transmux(n,b,u,d,s),S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,r.executeEnd=Jv(),w}flush(t){const e=t.transmuxing;e.executeStart=Jv();const{decrypter:s,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return r.then((()=>this.flush(t)));const n=[],{timeOffset:o}=i;if(s){const e=s.flush();e&&n.push(this.push(e,null,t))}const{demuxer:a,remuxer:h}=this;if(!a||!h)return e.executeEnd=Jv(),[aw(t)];const c=a.flush(o);return hw(c)?c.then((e=>(this.flushRemux(n,e,t),n))):(this.flushRemux(n,c,t),n)}flushRemux(t,e,s){const{audioTrack:i,videoTrack:r,id3Track:n,textTrack:o}=e,{accurateTimeOffset:a,timeOffset:h}=this.currentTransmuxState;dg.log(`[transmuxer.ts]: Flushed fragment ${s.sn}${s.part>-1?" p: "+s.part:""} of level ${s.level}`);const c=this.remuxer.remux(i,r,n,o,h,a,!0,this.id);t.push({remuxResult:c,chunkMeta:s}),s.transmuxing.executeEnd=Jv()}resetInitialTimestamp(t){const{demuxer:e,remuxer:s}=this;e&&s&&(e.resetTimeStamp(t),s.resetTimeStamp(t))}resetContiguity(){const{demuxer:t,remuxer:e}=this;t&&e&&(t.resetContiguity(),e.resetNextTimestamp())}resetInitSegment(t,e,s,i,r){const{demuxer:n,remuxer:o}=this;n&&o&&(n.resetInitSegment(t,e,s,i),o.resetInitSegment(t,e,s,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(t,e,s,i,r){let n;return n=e&&"SAMPLE-AES"===e.method?this.transmuxSampleAes(t,e,s,i,r):this.transmuxUnencrypted(t,s,i,r),n}transmuxUnencrypted(t,e,s,i){const{audioTrack:r,videoTrack:n,id3Track:o,textTrack:a}=this.demuxer.demux(t,e,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,n,o,a,e,s,!1,this.id),chunkMeta:i}}transmuxSampleAes(t,e,s,i,r){return this.demuxer.demuxSampleAes(t,e,s).then((t=>({remuxResult:this.remuxer.remux(t.audioTrack,t.videoTrack,t.id3Track,t.textTrack,s,i,!1,this.id),chunkMeta:r})))}configureTransmuxer(t){const{config:e,observer:s,typeSupported:i,vendor:r}=this;let n;for(let e=0,s=nw.length;e({remuxResult:{},chunkMeta:t});function hw(t){return"then"in t&&t.then instanceof Function}class cw{constructor(t,e,s,i,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=t,this.videoCodec=e,this.initSegmentData=s,this.duration=i,this.defaultInitPts=r||null}}class lw{constructor(t,e,s,i,r,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=t,this.contiguous=e,this.accurateTimeOffset=s,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=n}}var dw={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function r(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function n(t,e,i,n,o){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new r(i,n||t,o),h=s?s+e:e;return t._events[h]?t._events[h].fn?t._events[h]=[t._events[h],a]:t._events[h].push(a):(t._events[h]=a,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),a.prototype.eventNames=function(){var t,i,r=[];if(0===this._eventsCount)return r;for(i in t=this._events)e.call(t,i)&&r.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(t)):r},a.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,n=i.length,o=new Array(n);r{(e=e||{}).frag=this.frag,e.id=this.id,t===rg.ERROR&&(this.error=e.error),this.hls.trigger(t,e)};this.observer=new uw,this.observer.on(rg.FRAG_DECRYPTED,n),this.observer.on(rg.ERROR,n);const o=OA(r.preferManagedMediaSource)||{isTypeSupported:()=>!1},a={mpeg:o.isTypeSupported("audio/mpeg"),mp3:o.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:o.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&"undefined"!=typeof Worker){if(r.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{r.workerPath?(dg.log(`loading Web Worker ${r.workerPath} for "${e}"`),this.workerContext=function(t){const e=new self.URL(t,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e}}(r.workerPath)):(dg.log(`injecting Web Worker for "${e}"`),this.workerContext=function(){const t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(t);return{worker:new self.Worker(e),objectURL:e}}()),this.onwmsg=t=>this.onWorkerMessage(t);const{worker:t}=this.workerContext;t.addEventListener("message",this.onwmsg),t.onerror=t=>{const s=new Error(`${t.message} (${t.filename}:${t.lineno})`);r.enableWorker=!1,dg.warn(`Error in "${e}" Web Worker, fallback to inline`),this.hls.trigger(rg.ERROR,{type:ng.OTHER_ERROR,details:og.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:s})},t.postMessage({cmd:"init",typeSupported:a,vendor:"",id:e,config:JSON.stringify(r)})}catch(t){dg.warn(`Error setting up "${e}" Web Worker, fallback to inline`,t),this.resetWorker(),this.error=null,this.transmuxer=new ow(this.observer,a,r,"",e)}return}}this.transmuxer=new ow(this.observer,a,r,"",e)}resetWorker(){if(this.workerContext){const{worker:t,objectURL:e}=this.workerContext;e&&self.URL.revokeObjectURL(e),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{const t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}const t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null}push(t,e,s,i,r,n,o,a,h,c){var l,d;h.transmuxing.start=self.performance.now();const{transmuxer:u}=this,p=n?n.start:r.start,f=r.decryptdata,m=this.frag,g=!(m&&r.cc===m.cc),A=!(m&&h.level===m.level),y=m?h.sn-m.sn:-1,b=this.part?h.part-this.part.index:-1,v=0===y&&h.id>1&&h.id===(null==m?void 0:m.stats.chunkCount),w=!A&&(1===y||0===y&&(1===b||v&&b<=0)),S=self.performance.now();(A||y||0===r.stats.parsing.start)&&(r.stats.parsing.start=S),!n||!b&&w||(n.stats.parsing.start=S);const E=!(m&&(null==(l=r.initSegment)?void 0:l.url)===(null==(d=m.initSegment)?void 0:d.url)),I=new lw(g,w,a,A,p,E);if(!w||g||E){dg.log(`[transmuxer-interface, ${r.type}]: Starting new transmux session for sn: ${h.sn} p: ${h.part} level: ${h.level} id: ${h.id}\n discontinuity: ${g}\n trackSwitch: ${A}\n contiguous: ${w}\n accurateTimeOffset: ${a}\n timeOffset: ${p}\n initSegmentChange: ${E}`);const t=new cw(s,i,e,o,c);this.configureTransmuxer(t)}if(this.frag=r,this.part=n,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:t,decryptdata:f,chunkMeta:h,state:I},t instanceof ArrayBuffer?[t]:[]);else if(u){const e=u.push(t,f,h,I);hw(e)?(u.async=!0,e.then((t=>{this.handleTransmuxComplete(t)})).catch((t=>{this.transmuxerError(t,h,"transmuxer-interface push error")}))):(u.async=!1,this.handleTransmuxComplete(e))}}flush(t){t.transmuxing.start=self.performance.now();const{transmuxer:e}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:t});else if(e){let s=e.flush(t);hw(s)||e.async?(hw(s)||(s=Promise.resolve(s)),s.then((e=>{this.handleFlushResult(e,t)})).catch((e=>{this.transmuxerError(e,t,"transmuxer-interface flush error")}))):this.handleFlushResult(s,t)}}transmuxerError(t,e,s){this.hls&&(this.error=t,this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_PARSING_ERROR,chunkMeta:e,frag:this.frag||void 0,fatal:!1,error:t,err:t,reason:s}))}handleFlushResult(t,e){t.forEach((t=>{this.handleTransmuxComplete(t)})),this.onFlush(e)}onWorkerMessage(t){const e=t.data;if(null==e||!e.event)return void dg.warn("worker message received with no "+(e?"event name":"data"));const s=this.hls;if(this.hls)switch(e.event){case"init":{var i;const t=null==(i=this.workerContext)?void 0:i.objectURL;t&&self.URL.revokeObjectURL(t);break}case"transmuxComplete":this.handleTransmuxComplete(e.data);break;case"flush":this.onFlush(e.data);break;case"workerLog":dg[e.data.logType]&&dg[e.data.logType](e.data.message);break;default:e.data=e.data||{},e.data.frag=this.frag,e.data.id=this.id,s.trigger(e.event,e.data)}}configureTransmuxer(t){const{transmuxer:e}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:t}):e&&e.configure(t)}handleTransmuxComplete(t){t.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(t)}}function fw(t,e){if(t.length!==e.length)return!1;for(let s=0;st[s]!==e[s]))}function gw(t,e){return e.label.toLowerCase()===t.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(t.lang||"").toLowerCase())}class Aw{constructor(t){this.buffered=void 0;const e=(e,s,i)=>{if((s>>>=0)>i-1)throw new DOMException(`Failed to execute '${e}' on 'TimeRanges': The index provided (${s}) is greater than the maximum bound (${i})`);return t[s][e]};this.buffered={get length(){return t.length},end:s=>e("end",s,t.length),start:s=>e("start",s,t.length)}}}class yw{constructor(t){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=t}append(t,e,s){const i=this.queues[e];i.push(t),1!==i.length||s||this.executeNext(e)}insertAbort(t,e){this.queues[e].unshift(t),this.executeNext(e)}appendBlocker(t){let e;const s=new Promise((t=>{e=t})),i={execute:e,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(i,t),s}executeNext(t){const e=this.queues[t];if(e.length){const s=e[0];try{s.execute()}catch(e){dg.warn(`[buffer-operation-queue]: Exception executing "${t}" SourceBuffer operation: ${e}`),s.onError(e);const i=this.buffers[t];null!=i&&i.updating||this.shiftAndExecuteNext(t)}}}shiftAndExecuteNext(t){this.queues[t].shift(),this.executeNext(t)}current(t){return this.queues[t][0]}}const bw=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/;function vw(t){const e=t.querySelectorAll("source");[].slice.call(e).forEach((e=>{t.removeChild(e)}))}const ww={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Sw=t=>String.fromCharCode(ww[t]||t),Ew=15,Iw=100,Tw={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},kw={17:2,18:4,21:6,22:8,23:10,19:13,20:15},_w={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},Cw={25:2,26:4,29:6,30:8,31:10,27:13,28:15},Rw=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class Dw{constructor(){this.time=null,this.verboseLevel=0}log(t,e){if(this.verboseLevel>=t){const s="function"==typeof e?e():e;dg.log(`${this.time} [${t}] ${s}`)}}}const xw=function(t){const e=[];for(let s=0;sIw&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Iw)}moveCursor(t){const e=this.pos+t;if(t>1)for(let t=this.pos+1;t=144&&this.backSpace();const e=Sw(t);this.pos>=Iw?this.logger.log(0,(()=>"Cannot insert "+t.toString(16)+" ("+e+") at position "+this.pos+". Skipping it!")):(this.chars[this.pos].setChar(e,this.currPenState),this.moveCursor(1))}clearFromPos(t){let e;for(e=t;e"pacData = "+JSON.stringify(t)));let e=t.row-1;if(this.nrRollUpRows&&e"bkgData = "+JSON.stringify(t))),this.backSpace(),this.setPen(t),this.insertChar(32)}setRollUpRows(t){this.nrRollUpRows=t}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");this.logger.log(1,(()=>this.getDisplayText()));const t=this.currRow+1-this.nrRollUpRows,e=this.rows.splice(t,1)[0];e.clear(),this.rows.splice(this.currRow,0,e),this.logger.log(2,"Rolling up")}getDisplayText(t){t=t||!1;const e=[];let s="",i=-1;for(let s=0;s0&&(s=t?"["+e.join(" | ")+"]":e.join("\n")),s}getTextAndFormat(){return this.rows}}class Fw{constructor(t,e,s){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=t,this.outputFilter=e,this.mode=null,this.verbose=0,this.displayedMemory=new Bw(s),this.nonDisplayedMemory=new Bw(s),this.lastOutputScreen=new Bw(s),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=s}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(t){this.outputFilter=t}setPAC(t){this.writeScreen.setPAC(t)}setBkgData(t){this.writeScreen.setBkgData(t)}setMode(t){t!==this.mode&&(this.mode=t,this.logger.log(2,(()=>"MODE="+t)),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=t)}insertChars(t){for(let e=0;ee+": "+this.writeScreen.getDisplayText(!0))),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,(()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0))),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(t){this.logger.log(2,"RU("+t+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(t)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){const t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,(()=>"DISP: "+this.displayedMemory.getDisplayText()))}this.outputDataUpdate(!0)}ccTO(t){this.logger.log(2,"TO("+t+") - Tab Offset"),this.writeScreen.moveCursor(t)}ccMIDROW(t){const e={flash:!1};if(e.underline=t%2==1,e.italics=t>=46,e.italics)e.foreground="white";else{const s=Math.floor(t/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];e.foreground=i[s]}this.logger.log(2,"MIDROW: "+JSON.stringify(e)),this.writeScreen.setPen(e)}outputDataUpdate(t=!1){const e=this.logger.time;null!==e&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,e,this.lastOutputScreen),t&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:e):this.cueStartTime=e,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(t){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,t,this.displayedMemory),this.cueStartTime=t))}}class Ow{constructor(t,e,s){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const i=this.logger=new Dw;this.channels=[null,new Fw(t,e,i),new Fw(t+1,s,i)]}getHandler(t){return this.channels[t].getHandler()}setHandler(t,e){this.channels[t].setHandler(e)}addData(t,e){this.logger.time=t;for(let t=0;t"["+xw([e[t],e[t+1]])+"] -> ("+xw([s,i])+")"));const o=this.cmdHistory;if(s>=16&&s<=31){if(jw(s,i,o)){Uw(null,null,o),this.logger.log(3,(()=>"Repeated command ("+xw([s,i])+") is dropped"));continue}Uw(s,i,this.cmdHistory),r=this.parseCmd(s,i),r||(r=this.parseMidrow(s,i)),r||(r=this.parsePAC(s,i)),r||(r=this.parseBackgroundAttributes(s,i))}else Uw(null,null,o);if(!r&&(n=this.parseChars(s,i),n)){const t=this.currentChannel;if(t&&t>0){this.channels[t].insertChars(n)}else this.logger.log(2,"No channel found yet. TEXT-MODE?")}r||n||this.logger.log(2,(()=>"Couldn't parse cleaned data "+xw([s,i])+" orig: "+xw([e[t],e[t+1]])))}}parseCmd(t,e){if(!((20===t||28===t||21===t||29===t)&&e>=32&&e<=47)&&!((23===t||31===t)&&e>=33&&e<=35))return!1;const s=20===t||21===t||23===t?1:2,i=this.channels[s];return 20===t||21===t||28===t||29===t?32===e?i.ccRCL():33===e?i.ccBS():34===e?i.ccAOF():35===e?i.ccAON():36===e?i.ccDER():37===e?i.ccRU(2):38===e?i.ccRU(3):39===e?i.ccRU(4):40===e?i.ccFON():41===e?i.ccRDC():42===e?i.ccTR():43===e?i.ccRTD():44===e?i.ccEDM():45===e?i.ccCR():46===e?i.ccENM():47===e&&i.ccEOC():i.ccTO(e-32),this.currentChannel=s,!0}parseMidrow(t,e){let s=0;if((17===t||25===t)&&e>=32&&e<=47){if(s=17===t?1:2,s!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const i=this.channels[s];return!!i&&(i.ccMIDROW(e),this.logger.log(3,(()=>"MIDROW ("+xw([t,e])+")")),!0)}return!1}parsePAC(t,e){let s;if(!((t>=17&&t<=23||t>=25&&t<=31)&&e>=64&&e<=127)&&!((16===t||24===t)&&e>=64&&e<=95))return!1;const i=t<=23?1:2;s=e>=64&&e<=95?1===i?Tw[t]:_w[t]:1===i?kw[t]:Cw[t];const r=this.channels[i];return!!r&&(r.setPAC(this.interpretPAC(s,e)),this.currentChannel=i,!0)}interpretPAC(t,e){let s;const i={color:null,italics:!1,indent:null,underline:!1,row:t};return s=e>95?e-96:e-64,i.underline=1==(1&s),s<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(s/2)]:s<=15?(i.italics=!0,i.color="white"):i.indent=4*Math.floor((s-16)/2),i}parseChars(t,e){let s,i=null,r=null;if(t>=25?(s=2,r=t-8):(s=1,r=t),r>=17&&r<=19){let t;t=17===r?e+80:18===r?e+112:e+144,this.logger.log(2,(()=>"Special char '"+Sw(t)+"' in channel "+s)),i=[t]}else t>=32&&t<=127&&(i=0===e?[t]:[t,e]);return i&&this.logger.log(3,(()=>"Char codes = "+xw(i).join(","))),i}parseBackgroundAttributes(t,e){if(!((16===t||24===t)&&e>=32&&e<=47)&&!((23===t||31===t)&&e>=45&&e<=47))return!1;let s;const i={};16===t||24===t?(s=Math.floor((e-32)/2),i.background=Rw[s],e%2==1&&(i.background=i.background+"_semi")):45===e?i.background="transparent":(i.foreground="black",47===e&&(i.underline=!0));const r=t<=23?1:2;return this.channels[r].setBkgData(i),!0}reset(){for(let t=0;tt)&&(this.startTime=t),this.endTime=e,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}var Vw=function(){if(null!=Cg&&Cg.VTTCue)return self.VTTCue;const t=["","lr","rl"],e=["start","middle","end","left","right"];function s(t,e){if("string"!=typeof e)return!1;if(!Array.isArray(t))return!1;const s=e.toLowerCase();return!!~t.indexOf(s)&&s}function i(t){return s(e,t)}function r(t,...e){let s=1;for(;s100)throw new Error("Position must be between 0 and 100.");b=t,this.hasBeenReset=!0}})),Object.defineProperty(a,"positionAlign",r({},h,{get:function(){return v},set:function(t){const e=i(t);if(!e)throw new SyntaxError("An invalid or illegal string was specified.");v=e,this.hasBeenReset=!0}})),Object.defineProperty(a,"size",r({},h,{get:function(){return w},set:function(t){if(t<0||t>100)throw new Error("Size must be between 0 and 100.");w=t,this.hasBeenReset=!0}})),Object.defineProperty(a,"align",r({},h,{get:function(){return S},set:function(t){const e=i(t);if(!e)throw new SyntaxError("An invalid or illegal string was specified.");S=e,this.hasBeenReset=!0}})),a.displayState=void 0}return n.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},n}();class zw{decode(t,e){if(!t)return"";if("string"!=typeof t)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(t))}}function Ww(t){function e(t,e,s,i){return 3600*(0|t)+60*(0|e)+(0|s)+parseFloat(i||0)}const s=t.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return s?parseFloat(s[2])>59?e(s[2],s[3],0,s[4]):e(s[1],s[2],s[3],s[4]):null}class Gw{constructor(){this.values=Object.create(null)}set(t,e){this.get(t)||""===e||(this.values[t]=e)}get(t,e,s){return s?this.has(t)?this.values[t]:e[s]:this.has(t)?this.values[t]:e}has(t){return t in this.values}alt(t,e,s){for(let i=0;i=0&&s<=100)return this.set(t,s),!0}return!1}}function Hw(t,e,s,i){const r=i?t.split(i):[t];for(const t in r){if("string"!=typeof r[t])continue;const i=r[t].split(s);if(2!==i.length)continue;e(i[0],i[1])}}const Kw=new Vw(0,0,""),Qw="middle"===Kw.align?"middle":"center";function Yw(t,e,s){const i=t;function r(){const e=Ww(t);if(null===e)throw new Error("Malformed timestamp: "+i);return t=t.replace(/^[^\sa-zA-Z-]+/,""),e}function n(){t=t.replace(/^\s+/,"")}if(n(),e.startTime=r(),n(),"--\x3e"!==t.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i);t=t.slice(3),n(),e.endTime=r(),n(),function(t,e){const i=new Gw;Hw(t,(function(t,e){let r;switch(t){case"region":for(let r=s.length-1;r>=0;r--)if(s[r].id===e){i.set(t,s[r].region);break}break;case"vertical":i.alt(t,e,["rl","lr"]);break;case"line":r=e.split(","),i.integer(t,r[0]),i.percent(t,r[0])&&i.set("snapToLines",!1),i.alt(t,r[0],["auto"]),2===r.length&&i.alt("lineAlign",r[1],["start",Qw,"end"]);break;case"position":r=e.split(","),i.percent(t,r[0]),2===r.length&&i.alt("positionAlign",r[1],["start",Qw,"end","line-left","line-right","auto"]);break;case"size":i.percent(t,e);break;case"align":i.alt(t,e,["start",Qw,"end","left","right"])}}),/:/,/\s/),e.region=i.get("region",null),e.vertical=i.get("vertical","");let r=i.get("line","auto");"auto"===r&&-1===Kw.line&&(r=-1),e.line=r,e.lineAlign=i.get("lineAlign","start"),e.snapToLines=i.get("snapToLines",!0),e.size=i.get("size",100),e.align=i.get("align",Qw);let n=i.get("position","auto");"auto"===n&&50===Kw.position&&(n="start"===e.align||"left"===e.align?0:"end"===e.align||"right"===e.align?100:50),e.position=n}(t,e)}function qw(t){return t.replace(//gi,"\n")}class Jw{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new zw,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(t){const e=this;function s(){let t=e.buffer,s=0;for(t=qw(t);s>>0).toString()};function tS(t,e,s){return $w(t.toString())+$w(e.toString())+$w(s)}function eS(t,e,s,i,r,n,o){const a=new Jw,h=eA(new Uint8Array(t)).trim().replace(Xw,"\n").split("\n"),c=[],l=e?function(t,e=1){return Yv(t,9e4,1/e)}(e.baseTime,e.timescale):0;let d,u="00:00.000",p=0,f=0,m=!0;a.oncue=function(t){const n=s[i];let o=s.ccOffset;const a=(p-l)/9e4;if(null!=n&&n.new&&(void 0!==f?o=s.ccOffset=n.start:function(t,e,s){let i=t[e],r=t[i.prevCC];if(!r||!r.new&&i.new)return t.ccOffset=t.presentationOffset=i.start,void(i.new=!1);for(;null!=(n=r)&&n.new;){var n;t.ccOffset+=i.start-r.start,i.new=!1,i=r,r=t[i.prevCC]}t.presentationOffset=s}(s,i,a)),a){if(!e)return void(d=new Error("Missing initPTS for VTT MPEGTS"));o=a-s.presentationOffset}const h=t.endTime-t.startTime,u=tw(9e4*(t.startTime+o-f),9e4*r)/9e4;t.startTime=Math.max(u,0),t.endTime=Math.max(u+h,0);const m=t.text.trim();t.text=decodeURIComponent(encodeURIComponent(m)),t.id||(t.id=tS(t.startTime,t.endTime,m)),t.endTime>0&&c.push(t)},a.onparsingerror=function(t){d=t},a.onflush=function(){d?o(d):n(c)},h.forEach((t=>{if(m){if(Zw(t,"X-TIMESTAMP-MAP=")){m=!1,t.slice(16).split(",").forEach((t=>{Zw(t,"LOCAL:")?u=t.slice(6):Zw(t,"MPEGTS:")&&(p=parseInt(t.slice(7)))}));try{f=function(t){let e=parseInt(t.slice(-3));const s=parseInt(t.slice(-6,-4)),i=parseInt(t.slice(-9,-7)),r=t.length>9?parseInt(t.substring(0,t.indexOf(":"))):0;if(!(eg(e)&&eg(s)&&eg(i)&&eg(r)))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${t}`);return e+=1e3*s,e+=6e4*i,e+=36e5*r,e}(u)/1e3}catch(t){d=t}return}""===t&&(m=!1)}a.parse(t+"\n")})),a.flush()}const sS="stpp.ttml.im1t",iS=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,rS=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,nS={left:"start",center:"center",right:"end",start:"start",end:"end"};function oS(t,e,s,i){const r=fA(new Uint8Array(t),["mdat"]);if(0===r.length)return void i(new Error("Could not parse IMSC1 mdat"));const n=r.map((t=>eA(t))),o=function(t,e,s=1,i=!1){return Yv(t,e,1/s,i)}(e.baseTime,1,e.timescale);try{n.forEach((t=>s(function(t,e){const s=new DOMParser,i=s.parseFromString(t,"text/xml").getElementsByTagName("tt")[0];if(!i)throw new Error("Invalid ttml");const r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},n=Object.keys(r).reduce(((t,e)=>(t[e]=i.getAttribute(`ttp:${e}`)||r[e],t)),{}),o="preserve"!==i.getAttribute("xml:space"),a=hS(aS(i,"styling","style")),h=hS(aS(i,"layout","region")),c=aS(i,"body","[begin]");return[].map.call(c,(t=>{const s=cS(t,o);if(!s||!t.hasAttribute("begin"))return null;const i=uS(t.getAttribute("begin"),n),r=uS(t.getAttribute("dur"),n);let c=uS(t.getAttribute("end"),n);if(null===i)throw dS(t);if(null===c){if(null===r)throw dS(t);c=i+r}const l=new Vw(i-e,c-e,s);l.id=tS(l.startTime,l.endTime,l.text);const d=function(t,e,s){const i="http://www.w3.org/ns/ttml#styling";let r=null;const n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],o=null!=t&&t.hasAttribute("style")?t.getAttribute("style"):null;o&&s.hasOwnProperty(o)&&(r=s[o]);return n.reduce(((s,n)=>{const o=lS(e,i,n)||lS(t,i,n)||lS(r,i,n);return o&&(s[n]=o),s}),{})}(h[t.getAttribute("region")],a[t.getAttribute("style")],a),{textAlign:u}=d;if(u){const t=nS[u];t&&(l.lineAlign=t),l.align=u}return tg(l,d),l})).filter((t=>null!==t))}(t,o))))}catch(t){i(t)}}function aS(t,e,s){const i=t.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(s)):[]}function hS(t){return t.reduce(((t,e)=>{const s=e.getAttribute("xml:id");return s&&(t[s]=e),t}),{})}function cS(t,e){return[].slice.call(t.childNodes).reduce(((t,s,i)=>{var r;return"br"===s.nodeName&&i?t+"\n":null!=(r=s.childNodes)&&r.length?cS(s,e):e?t+s.textContent.trim().replace(/\s+/g," "):t+s.textContent}),"")}function lS(t,e,s){return t&&t.hasAttributeNS(e,s)?t.getAttributeNS(e,s):null}function dS(t){return new Error(`Could not parse ttml timestamp ${t}`)}function uS(t,e){if(!t)return null;let s=Ww(t);return null===s&&(iS.test(t)?s=function(t,e){const s=iS.exec(t),i=(0|s[4])+(0|s[5])/e.subFrameRate;return 3600*(0|s[1])+60*(0|s[2])+(0|s[3])+i/e.frameRate}(t,e):rS.test(t)&&(s=function(t,e){const s=rS.exec(t),i=Number(s[1]);switch(s[2]){case"h":return 3600*i;case"m":return 60*i;case"ms":return 1e3*i;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}(t,e))),s}function pS(t){return t.characteristics&&/transcribes-spoken-dialog/gi.test(t.characteristics)&&/describes-music-and-sound/gi.test(t.characteristics)?"captions":"subtitles"}function fS(t,e){return!!t&&t.kind===pS(e)&&gw(e,t)}class mS{constructor(t){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=t,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(t){this.streamController=t}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:t}=this;t.on(rg.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),t.on(rg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(rg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(rg.BUFFER_CODECS,this.onBufferCodecs,this),t.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:t}=this;t.off(rg.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),t.off(rg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(rg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(rg.BUFFER_CODECS,this.onBufferCodecs,this),t.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(t,e){const s=this.hls.levels[e.droppedLevel];this.isLevelAllowed(s)&&this.restrictedLevels.push({bitrate:s.bitrate,height:s.height,width:s.width})}onMediaAttaching(t,e){this.media=e.media instanceof HTMLVideoElement?e.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(t,e){const s=this.hls;this.restrictedLevels=[],this.firstLevel=e.firstLevel,s.config.capLevelToPlayerSize&&e.video&&this.startCapping()}onLevelsUpdated(t,e){this.timer&&eg(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(t,e){this.hls.config.capLevelToPlayerSize&&e.video&&this.startCapping()}onMediaDetaching(){this.stopCapping()}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);const t=this.hls.levels;if(t.length){const e=this.hls,s=this.getMaxLevel(t.length-1);s!==this.autoLevelCapping&&dg.log(`Setting autoLevelCapping to ${s}: ${t[s].height}p@${t[s].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),e.autoLevelCapping=s,e.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=e.autoLevelCapping}}}getMaxLevel(t){const e=this.hls.levels;if(!e.length)return-1;const s=e.filter(((e,s)=>this.isLevelAllowed(e)&&s<=t));return this.clientRect=null,mS.getMaxLevelByMediaSize(s,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const t=this.media,e={width:0,height:0};if(t){const s=t.getBoundingClientRect();e.width=s.width,e.height=s.height,e.width||e.height||(e.width=s.right-s.left||t.width||0,e.height=s.bottom-s.top||t.height||0)}return this.clientRect=e,e}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let t=1;if(!this.hls.config.ignoreDevicePixelRatio)try{t=self.devicePixelRatio}catch(t){}return t}isLevelAllowed(t){return!this.restrictedLevels.some((e=>t.bitrate===e.bitrate&&t.width===e.width&&t.height===e.height))}static getMaxLevelByMediaSize(t,e,s){if(null==t||!t.length)return-1;let i=t.length-1;const r=Math.max(e,s);for(let e=0;e=r||s.height>=r)&&(n=s,!(o=t[e+1])||n.width!==o.width||n.height!==o.height)){i=e;break}}var n,o;return i}}const gS="[eme]";class AS{constructor(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=AS.CDMCleanupPromise?[AS.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=dg.debug.bind(dg,gS),this.log=dg.log.bind(dg,gS),this.warn=dg.warn.bind(dg,gS),this.error=dg.error.bind(dg,gS),this.hls=t,this.config=t.config,this.registerListeners()}destroy(){this.unregisterListeners(),this.onMediaDetached();const t=this.config;t.requestMediaKeySystemAccessFunc=null,t.licenseXhrSetup=t.licenseResponseCallback=void 0,t.drmSystems=t.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null}registerListeners(){this.hls.on(rg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(rg.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(rg.MANIFEST_LOADED,this.onManifestLoaded,this)}unregisterListeners(){this.hls.off(rg.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(rg.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(rg.MANIFEST_LOADED,this.onManifestLoaded,this)}getLicenseServerUrl(t){const{drmSystems:e,widevineLicenseUrl:s}=this.config,i=e[t];if(i)return i.licenseUrl;if(t===Rg.WIDEVINE&&s)return s;throw new Error(`no license server URL configured for key-system "${t}"`)}getServerCertificateUrl(t){const{drmSystems:e}=this.config,s=e[t];if(s)return s.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${t}"]`)}attemptKeySystemAccess(t){const e=this.hls.levels,s=(t,e,s)=>!!t&&s.indexOf(t)===e,i=e.map((t=>t.audioCodec)).filter(s),r=e.map((t=>t.videoCodec)).filter(s);return i.length+r.length===0&&r.push("avc1.42e01e"),new Promise(((e,s)=>{const n=t=>{const o=t.shift();this.getMediaKeysPromise(o,i,r).then((t=>e({keySystem:o,mediaKeys:t}))).catch((e=>{t.length?n(t):s(e instanceof yS?e:new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_NO_ACCESS,error:e,fatal:!0},e.message))}))};n(t)}))}requestMediaKeySystemAccess(t,e){const{requestMediaKeySystemAccessFunc:s}=this.config;if("function"!=typeof s){let t=`Configured requestMediaKeySystemAccess is not a function ${s}`;return null===Ug&&"http:"===self.location.protocol&&(t=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(t))}return s(t,e)}getMediaKeysPromise(t,e,s){const i=function(t,e,s,i){let r;switch(t){case Rg.FAIRPLAY:r=["cenc","sinf"];break;case Rg.WIDEVINE:case Rg.PLAYREADY:r=["cenc"];break;case Rg.CLEARKEY:r=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${t}`)}return function(t,e,s,i){return[{initDataTypes:t,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map((t=>({contentType:`audio/mp4; codecs="${t}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null}))),videoCapabilities:s.map((t=>({contentType:`video/mp4; codecs="${t}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null})))}]}(r,e,s,i)}(t,e,s,this.config.drmSystemOptions),r=this.keySystemAccessPromises[t];let n=null==r?void 0:r.keySystemAccess;if(!n){this.log(`Requesting encrypted media "${t}" key-system access with config: ${JSON.stringify(i)}`),n=this.requestMediaKeySystemAccess(t,i);const e=this.keySystemAccessPromises[t]={keySystemAccess:n};return n.catch((e=>{this.log(`Failed to obtain access to key-system "${t}": ${e}`)})),n.then((s=>{this.log(`Access for key-system "${s.keySystem}" obtained`);const i=this.fetchServerCertificate(t);return this.log(`Create media-keys for "${t}"`),e.mediaKeys=s.createMediaKeys().then((e=>(this.log(`Media-keys created for "${t}"`),i.then((s=>s?this.setMediaKeysServerCertificate(e,t,s):e))))),e.mediaKeys.catch((e=>{this.error(`Failed to create media-keys for "${t}"}: ${e}`)})),e.mediaKeys}))}return n.then((()=>r.mediaKeys))}createMediaKeySessionContext({decryptdata:t,keySystem:e,mediaKeys:s}){this.log(`Creating key-system session "${e}" keyId: ${rA(t.keyId||[])}`);const i=s.createSession(),r={decryptdata:t,keySystem:e,mediaKeys:s,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(t){const e=t.decryptdata;if(e.pssh){const s=this.createMediaKeySessionContext(t),i=this.getKeyIdString(e),r="cenc";this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(s,r,e.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(t)}getKeyIdString(t){if(!t)throw new Error("Could not read keyId of undefined decryptdata");if(null===t.keyId)throw new Error("keyId is null");return rA(t.keyId)}updateKeySession(t,e){var s;const i=t.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyID ${rA((null==(s=t.decryptdata)?void 0:s.keyId)||[])}\n } (data length: ${e?e.byteLength:e})`),i.update(e)}selectKeySystemFormat(t){const e=Object.keys(t.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${t.sn} ${t.type}: ${t.level}) key formats ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)),this.keyFormatPromise}getKeyFormatPromise(t){return new Promise(((e,s)=>{const i=Og(this.config),r=t.map(Mg).filter((t=>!!t&&-1!==i.indexOf(t)));return this.getKeySystemSelectionPromise(r).then((({keySystem:t})=>{const i=Fg(t);i?e(i):s(new Error(`Unable to find format for key-system "${t}"`))})).catch(s)}))}loadKey(t){const e=t.keyInfo.decryptdata,s=this.getKeyIdString(e),i=`(keyId: ${s} format: "${e.keyFormat}" method: ${e.method} uri: ${e.uri})`;this.log(`Starting session for key ${i}`);let r=this.keyIdToKeySessionPromise[s];return r||(r=this.keyIdToKeySessionPromise[s]=this.getKeySystemForKeyPromise(e).then((({keySystem:s,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${t.frag.sn} ${t.frag.type}: ${t.frag.level} using key ${i}`),this.attemptSetMediaKeys(s,r).then((()=>{this.throwIfDestroyed();const t=this.createMediaKeySessionContext({keySystem:s,mediaKeys:r,decryptdata:e});return this.generateRequestWithPreferredKeySession(t,"cenc",e.pssh,"playlist-key")}))))),r.catch((t=>this.handleError(t)))),r}throwIfDestroyed(t="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(t){this.hls&&(this.error(t.message),t instanceof yS?this.hls.trigger(rg.ERROR,t.data):this.hls.trigger(rg.ERROR,{type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_NO_KEYS,error:t,fatal:!0}))}getKeySystemForKeyPromise(t){const e=this.getKeyIdString(t),s=this.keyIdToKeySessionPromise[e];if(!s){const e=Mg(t.keyFormat),s=e?[e]:Og(this.config);return this.attemptKeySystemAccess(s)}return s}getKeySystemSelectionPromise(t){if(t.length||(t=Og(this.config)),0===t.length)throw new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(t)}_onMediaEncrypted(t){const{initDataType:e,initData:s}=t;if(this.debug(`"${t.type}" event: init data type: "${e}"`),null===s)return;let i,r;if("sinf"===e&&this.config.drmSystems[Rg.FAIRPLAY]){const t=hA(new Uint8Array(s));try{const e=Tg(JSON.parse(t).sinf),s=wA(new Uint8Array(e));if(!s)return;i=s.subarray(8,24),r=Rg.FAIRPLAY}catch(t){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{const t=function(t){if(!(t instanceof ArrayBuffer)||t.byteLength<32)return null;const e={version:0,systemId:"",kids:null,data:null},s=new DataView(t),i=s.getUint32(0);if(t.byteLength!==i&&i>44)return null;if(1886614376!==s.getUint32(4))return null;if(e.version=s.getUint32(8)>>>24,e.version>1)return null;e.systemId=rA(new Uint8Array(t,12,16));const r=s.getUint32(28);if(0===e.version){if(i-32this.generateRequestWithPreferredKeySession(r,e,s,"encrypted-event-key-match")));break}}h||(h=o[n]=this.getKeySystemSelectionPromise([r]).then((({keySystem:t,mediaKeys:r})=>{var o;this.throwIfDestroyed();const a=new DA("ISO-23001-7",n,null!=(o=Fg(t))?o:"");return a.pssh=new Uint8Array(s),a.keyId=i,this.attemptSetMediaKeys(t,r).then((()=>{this.throwIfDestroyed();const i=this.createMediaKeySessionContext({decryptdata:a,keySystem:t,mediaKeys:r});return this.generateRequestWithPreferredKeySession(i,e,s,"encrypted-event-no-match")}))}))),h.catch((t=>this.handleError(t)))}_onWaitingForKey(t){this.log(`"${t.type}" event`)}attemptSetMediaKeys(t,e){const s=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${t}"`);const i=Promise.all(s).then((()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(e)}));return this.setMediaKeysQueue.push(i),i.then((()=>{this.log(`Media-keys set for "${t}"`),s.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((t=>-1===s.indexOf(t)))}))}generateRequestWithPreferredKeySession(t,e,s,i){var r,n;const o=null==(r=this.config.drmSystems)||null==(n=r[t.keySystem])?void 0:n.generateRequest;if(o)try{const i=o.call(this.hls,e,s,t);if(!i)throw new Error("Invalid response from configured generateRequest filter");e=i.initDataType,s=t.decryptdata.pssh=i.initData?new Uint8Array(i.initData):null}catch(t){var a;if(this.warn(t.message),null!=(a=this.hls)&&a.config.debug)throw t}if(null===s)return this.log(`Skipping key-session request for "${i}" (no initData)`),Promise.resolve(t);const h=this.getKeyIdString(t.decryptdata);this.log(`Generating key-session request for "${i}": ${h} (init data type: ${e} length: ${s?s.byteLength:null})`);const c=new uw,l=t._onmessage=e=>{const s=t.mediaKeysSession;if(!s)return void c.emit("error",new Error("invalid state"));const{messageType:i,message:r}=e;this.log(`"${i}" message event for session "${s.sessionId}" message size: ${r.byteLength}`),"license-request"===i||"license-renewal"===i?this.renewLicense(t,r).catch((t=>{this.handleError(t),c.emit("error",t)})):"license-release"===i?t.keySystem===Rg.FAIRPLAY&&(this.updateKeySession(t,_g("acknowledged")),this.removeSession(t)):this.warn(`unhandled media key message type "${i}"`)},d=t._onkeystatuseschange=e=>{if(!t.mediaKeysSession)return void c.emit("error",new Error("invalid state"));this.onKeyStatusChange(t);const s=t.keyStatus;c.emit("keyStatus",s),"expired"===s&&(this.warn(`${t.keySystem} expired for key ${h}`),this.renewKeySession(t))};t.mediaKeysSession.addEventListener("message",l),t.mediaKeysSession.addEventListener("keystatuseschange",d);const u=new Promise(((t,e)=>{c.on("error",e),c.on("keyStatus",(s=>{s.startsWith("usable")?t():"output-restricted"===s?e(new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===s?e(new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${s}"`)):"expired"===s?e(new Error("key expired while generating request")):this.warn(`unhandled key status change "${s}"`)}))}));return t.mediaKeysSession.generateRequest(e,s).then((()=>{var e;this.log(`Request generated for key-session "${null==(e=t.mediaKeysSession)?void 0:e.sessionId}" keyId: ${h}`)})).catch((t=>{throw new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_NO_SESSION,error:t,fatal:!1},`Error generating key-session request: ${t}`)})).then((()=>u)).catch((e=>{throw c.removeAllListeners(),this.removeSession(t),e})).then((()=>(c.removeAllListeners(),t)))}onKeyStatusChange(t){t.mediaKeysSession.keyStatuses.forEach(((e,s)=>{this.log(`key status change "${e}" for keyStatuses keyId: ${rA("buffer"in s?new Uint8Array(s.buffer,s.byteOffset,s.byteLength):new Uint8Array(s))} session keyId: ${rA(new Uint8Array(t.decryptdata.keyId||[]))} uri: ${t.decryptdata.uri}`),t.keyStatus=e}))}fetchServerCertificate(t){const e=this.config,s=new(0,e.loader)(e),i=this.getServerCertificateUrl(t);return i?(this.log(`Fetching server certificate for "${t}"`),new Promise(((r,n)=>{const o={responseType:"arraybuffer",url:i},a=e.certLoadPolicy.default,h={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(t,e,s,i)=>{r(t.data)},onError:(e,s,r,a)=>{n(new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:Xm({url:o.url,data:void 0},e)},`"${t}" certificate request failed (${i}). Status: ${e.code} (${e.text})`))},onTimeout:(e,s,r)=>{n(new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:o.url,data:void 0}},`"${t}" certificate request timed out (${i})`))},onAbort:(t,e,s)=>{n(new Error("aborted"))}};s.load(o,h,c)}))):Promise.resolve()}setMediaKeysServerCertificate(t,e,s){return new Promise(((i,r)=>{t.setServerCertificate(s).then((r=>{this.log(`setServerCertificate ${r?"success":"not supported by CDM"} (${null==s?void 0:s.byteLength}) on "${e}"`),i(t)})).catch((t=>{r(new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:t,fatal:!0},t.message))}))}))}renewLicense(t,e){return this.requestLicense(t,new Uint8Array(e)).then((e=>this.updateKeySession(t,new Uint8Array(e)).catch((t=>{throw new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:t,fatal:!0},t.message)}))))}unpackPlayReadyKeyMessage(t,e){const s=String.fromCharCode.apply(null,new Uint16Array(e.buffer));if(!s.includes("PlayReadyKeyMessage"))return t.setRequestHeader("Content-Type","text/xml; charset=utf-8"),e;const i=(new DOMParser).parseFromString(s,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let e;for(let s=0,i=r.length;s in key message");return _g(atob(h))}setupLicenseXHR(t,e,s,i){const r=this.config.licenseXhrSetup;return r?Promise.resolve().then((()=>{if(!s.decryptdata)throw new Error("Key removed");return r.call(this.hls,t,e,s,i)})).catch((n=>{if(!s.decryptdata)throw n;return t.open("POST",e,!0),r.call(this.hls,t,e,s,i)})).then((s=>{t.readyState||t.open("POST",e,!0);return{xhr:t,licenseChallenge:s||i}})):(t.open("POST",e,!0),Promise.resolve({xhr:t,licenseChallenge:i}))}requestLicense(t,e){const s=this.config.keyLoadPolicy.default;return new Promise(((i,r)=>{const n=this.getLicenseServerUrl(t.keySystem);this.log(`Sending license request to URL: ${n}`);const o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!t.mediaKeysSession)return r(new Error("invalid state"));if(4===o.readyState)if(200===o.status){this._requestLicenseFailureCount=0;let e=o.response;this.log(`License received ${e instanceof ArrayBuffer?e.byteLength:e}`);const s=this.config.licenseResponseCallback;if(s)try{e=s.call(this.hls,o,n,t)}catch(t){this.error(t)}i(e)}else{const a=s.errorRetry,h=a?a.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>h||o.status>=400&&o.status<500)r(new yS({type:ng.KEY_SYSTEM_ERROR,details:og.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:o,response:{url:n,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${n}). Status: ${o.status} (${o.statusText})`));else{const s=h-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${s} attempts left`),this.requestLicense(t,e).then(i,r)}}},t.licenseXhr&&t.licenseXhr.readyState!==XMLHttpRequest.DONE&&t.licenseXhr.abort(),t.licenseXhr=o,this.setupLicenseXHR(o,n,t,e).then((({xhr:e,licenseChallenge:s})=>{t.keySystem==Rg.PLAYREADY&&(s=this.unpackPlayReadyKeyMessage(e,s)),e.send(s)}))}))}onMediaAttached(t,e){if(!this.config.emeEnabled)return;const s=e.media;this.media=s,s.addEventListener("encrypted",this.onMediaEncrypted),s.addEventListener("waitingforkey",this.onWaitingForKey)}onMediaDetached(){const t=this.media,e=this.mediaKeySessions;t&&(t.removeEventListener("encrypted",this.onMediaEncrypted),t.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},DA.clearKeyUriToKeyIdMap();const s=e.length;AS.CDMCleanupPromise=Promise.all(e.map((t=>this.removeSession(t))).concat(null==t?void 0:t.setMediaKeys(null).catch((t=>{this.log(`Could not clear media keys: ${t}`)})))).then((()=>{s&&(this.log("finished closing key sessions and clearing media keys"),e.length=0)})).catch((t=>{this.log(`Could not close sessions and clear media keys: ${t}`)}))}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(t,{sessionKeys:e}){if(e&&this.config.emeEnabled&&!this.keyFormatPromise){const t=e.reduce(((t,e)=>(-1===t.indexOf(e.keyFormat)&&t.push(e.keyFormat),t)),[]);this.log(`Selecting key-system from session-keys ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)}}removeSession(t){const{mediaKeysSession:e,licenseXhr:s}=t;if(e){this.log(`Remove licenses and keys and close session ${e.sessionId}`),t._onmessage&&(e.removeEventListener("message",t._onmessage),t._onmessage=void 0),t._onkeystatuseschange&&(e.removeEventListener("keystatuseschange",t._onkeystatuseschange),t._onkeystatuseschange=void 0),s&&s.readyState!==XMLHttpRequest.DONE&&s.abort(),t.mediaKeysSession=t.decryptdata=t.licenseXhr=void 0;const i=this.mediaKeySessions.indexOf(t);return i>-1&&this.mediaKeySessions.splice(i,1),e.remove().catch((t=>{this.log(`Could not remove session: ${t}`)})).then((()=>e.close())).catch((t=>{this.log(`Could not close session: ${t}`)}))}}}AS.CDMCleanupPromise=void 0;class yS extends Error{constructor(t,e){super(e),this.data=void 0,t.error||(t.error=new Error(e)),this.data=t,t.err=t.error}}var bS,vS,wS;!function(t){t.MANIFEST="m",t.AUDIO="a",t.VIDEO="v",t.MUXED="av",t.INIT="i",t.CAPTION="c",t.TIMED_TEXT="tt",t.KEY="k",t.OTHER="o"}(bS||(bS={})),function(t){t.DASH="d",t.HLS="h",t.SMOOTH="s",t.OTHER="o"}(vS||(vS={})),function(t){t.OBJECT="CMCD-Object",t.REQUEST="CMCD-Request",t.SESSION="CMCD-Session",t.STATUS="CMCD-Status"}(wS||(wS={}));const SS={[wS.OBJECT]:["br","d","ot","tb"],[wS.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[wS.SESSION]:["cid","pr","sf","sid","st","v"],[wS.STATUS]:["bs","rtp"]};class ES{constructor(t,e){this.value=void 0,this.params=void 0,Array.isArray(t)&&(t=t.map((t=>t instanceof ES?t:new ES(t)))),this.value=t,this.params=e}}class IS{constructor(t){this.description=void 0,this.description=t}}function TS(t,e,s,i){return new Error(`failed to ${t} "${r=e,Array.isArray(r)?JSON.stringify(r):r instanceof Map?"Map{}":r instanceof Set?"Set{}":"object"==typeof r?JSON.stringify(r):String(r)}" as ${s}`,{cause:i});var r}const kS="Bare Item";const _S=/[\x00-\x1f\x7f]+/;function CS(t,e,s){return TS("serialize",t,e,s)}function RS(t){if(!1===ArrayBuffer.isView(t))throw CS(t,"Byte Sequence");return`:${e=t,btoa(String.fromCharCode(...e))}:`;var e}function DS(t){if(function(t){return t<-999999999999999||99999999999999912)throw CS(t,"Decimal");const s=e.toString();return s.includes(".")?s:`${s}.0`}function PS(t){const e=(s=t).description||s.toString().slice(7,-1);var s;if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e))throw CS(e,"Token");return e}function MS(t){switch(typeof t){case"number":if(!eg(t))throw CS(t,kS);return Number.isInteger(t)?DS(t):LS(t);case"string":return function(t){if(_S.test(t))throw CS(t,"String");return`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}(t);case"symbol":return PS(t);case"boolean":return function(t){if("boolean"!=typeof t)throw CS(t,"Boolean");return t?"?1":"?0"}(t);case"object":if(t instanceof Date)return function(t){return`@${DS(t.getTime()/1e3)}`}(t);if(t instanceof Uint8Array)return RS(t);if(t instanceof IS)return PS(t);default:throw CS(t,kS)}}function BS(t){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(t))throw CS(t,"Key");return t}function FS(t){return null==t?"":Object.entries(t).map((([t,e])=>!0===e?`;${BS(t)}`:`;${BS(t)}=${MS(e)}`)).join("")}function OS(t){return t instanceof ES?`${MS(t.value)}${FS(t.params)}`:MS(t)}function US(t,e={whitespace:!0}){if("object"!=typeof t)throw CS(t,"Dict");const s=t instanceof Map?t.entries():Object.entries(t),i=null!=e&&e.whitespace?" ":"";return Array.from(s).map((([t,e])=>{e instanceof ES==!1&&(e=new ES(e));let s=BS(t);var i;return!0===e.value?s+=FS(e.params):(s+="=",Array.isArray(e.value)?s+=`(${(i=e).value.map(OS).join(" ")})${FS(i.params)}`:s+=OS(e)),s})).join(`,${i}`)}const jS=t=>Math.round(t),NS=t=>100*jS(t/100),VS={br:jS,d:jS,bl:NS,dl:NS,mtp:NS,nor:(t,e)=>(null!=e&&e.baseUrl&&(t=function(t,e){const s=new URL(t),i=new URL(e);if(s.origin!==i.origin)return t;const r=s.pathname.split("/").slice(1),n=i.pathname.split("/").slice(1,-1);for(;r[0]===n[0];)r.shift(),n.shift();for(;n.length;)n.shift(),r.unshift("..");return r.join("/")}(t,e.baseUrl)),encodeURIComponent(t)),rtp:NS,tb:jS};function zS(t,e){const s={};if(null==t||"object"!=typeof t)return s;const i=Object.keys(t).sort(),r=tg({},VS,null==e?void 0:e.formatters),n=null==e?void 0:e.filter;return i.forEach((i=>{if(null!=n&&n(i))return;let o=t[i];const a=r[i];a&&(o=a(o,e)),"v"===i&&1===o||"pr"==i&&1===o||(t=>"number"==typeof t?eg(t):null!=t&&""!==t&&!1!==t)(o)&&((t=>"ot"===t||"sf"===t||"st"===t)(i)&&"string"==typeof o&&(o=new IS(o)),s[i]=o)})),s}function WS(t,e={}){return t?function(t,e){return US(t,e)}(zS(t,e),tg({whitespace:!1},e)):""}function GS(t,e,s){return tg(t,function(t,e={}){if(!t)return{};const s=Object.entries(t),i=Object.entries(SS).concat(Object.entries((null==e?void 0:e.customHeaderMap)||{})),r=s.reduce(((t,e)=>{var s;const[r,n]=e,o=(null==(s=i.find((t=>t[1].includes(r))))?void 0:s[0])||wS.REQUEST;return null!=t[o]||(t[o]={}),t[o][r]=n,t}),{});return Object.entries(r).reduce(((t,[s,i])=>(t[s]=WS(i,e),t)),{})}(e,s))}const HS=/CMCD=[^&#]+/;function KS(t,e,s){const i=function(t,e={}){if(!t)return"";const s=WS(t,e);return`CMCD=${encodeURIComponent(s)}`}(e,s);if(!i)return t;if(HS.test(t))return t.replace(HS,i);const r=t.includes("?")?"&":"?";return`${t}${r}${i}`}function QS(t,e,s,i){t&&Object.keys(e).forEach((r=>{const n=t.filter((t=>t.groupId===r)).map((t=>{const n=tg({},t);return n.details=void 0,n.attrs=new fg(n.attrs),n.url=n.attrs.URI=YS(t.url,t.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),n.groupId=n.attrs["GROUP-ID"]=e[r],n.attrs["PATHWAY-ID"]=i,n}));t.push(...n)}))}function YS(t,e,s,i){const{HOST:r,PARAMS:n,[s]:o}=i;let a;e&&(a=null==o?void 0:o[e],a&&(t=a));const h=new self.URL(t);return r&&!a&&(h.host=r),n&&Object.keys(n).sort().forEach((t=>{t&&h.searchParams.set(t,n[t])})),h.href}const qS=/^age:\s*[\d.]+\s*$/im;class JS{constructor(t){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=t&&t.xhrSetup||null,this.stats=new Ag,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const t=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),t&&(t.onreadystatechange=null,t.onprogress=null,4!==t.readyState&&(this.stats.aborted=!0,t.abort()))}abort(){var t;this.abortInternal(),null!=(t=this.callbacks)&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(t,e,s){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=t,this.config=e,this.callbacks=s,this.loadInternal()}loadInternal(){const{config:t,context:e}=this;if(!t||!e)return;const s=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;const r=this.xhrSetup;r?Promise.resolve().then((()=>{if(this.loader===s&&!this.stats.aborted)return r(s,e.url)})).catch((t=>{if(this.loader===s&&!this.stats.aborted)return s.open("GET",e.url,!0),r(s,e.url)})).then((()=>{this.loader!==s||this.stats.aborted||this.openAndSendXhr(s,e,t)})).catch((t=>{this.callbacks.onError({code:s.status,text:t.message},e,s,i)})):this.openAndSendXhr(s,e,t)}openAndSendXhr(t,e,s){t.readyState||t.open("GET",e.url,!0);const i=e.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:n}=s.loadPolicy;if(i)for(const e in i)t.setRequestHeader(e,i[e]);e.rangeEnd&&t.setRequestHeader("Range","bytes="+e.rangeStart+"-"+(e.rangeEnd-1)),t.onreadystatechange=this.readystatechange.bind(this),t.onprogress=this.loadprogress.bind(this),t.responseType=e.responseType,self.clearTimeout(this.requestTimeout),s.timeout=r&&eg(r)?r:n,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),t.send()}readystatechange(){const{context:t,loader:e,stats:s}=this;if(!t||!e)return;const i=e.readyState,r=this.config;if(!s.aborted&&i>=2&&(0===s.loading.first&&(s.loading.first=Math.max(self.performance.now(),s.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start)))),4===i)){self.clearTimeout(this.requestTimeout),e.onreadystatechange=null,e.onprogress=null;const i=e.status,n="text"!==e.responseType;if(i>=200&&i<300&&(n&&e.response||null!==e.responseText)){s.loading.end=Math.max(self.performance.now(),s.loading.first);const r=n?e.response:e.responseText,o="arraybuffer"===e.responseType?r.byteLength:r.length;if(s.loaded=s.total=o,s.bwEstimate=8e3*s.total/(s.loading.end-s.loading.first),!this.callbacks)return;const a=this.callbacks.onProgress;if(a&&a(s,t,r,e),!this.callbacks)return;const h={url:e.responseURL,data:r,code:i};this.callbacks.onSuccess(h,s,t,e)}else{const n=r.loadPolicy.errorRetry;$y(n,s.retry,!1,{url:t.url,data:void 0,code:i})?this.retry(n):(dg.error(`${i} while loading ${t.url}`),this.callbacks.onError({code:i,text:e.statusText},t,e,s))}}}loadtimeout(){if(!this.config)return;const t=this.config.loadPolicy.timeoutRetry;if($y(t,this.stats.retry,!0))this.retry(t);else{var e;dg.warn(`timeout while loading ${null==(e=this.context)?void 0:e.url}`);const t=this.callbacks;t&&(this.abortInternal(),t.onTimeout(this.stats,this.context,this.loader))}}retry(t){const{context:e,stats:s}=this;this.retryDelay=Xy(t,s.retry),s.retry++,dg.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==e?void 0:e.url}, retrying ${s.retry}/${t.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(t){const e=this.stats;e.loaded=t.loaded,t.lengthComputable&&(e.total=t.total)}getCacheAge(){let t=null;if(this.loader&&qS.test(this.loader.getAllResponseHeaders())){const e=this.loader.getResponseHeader("age");t=e?parseFloat(e):null}return t}getResponseHeader(t){return this.loader&&new RegExp(`^${t}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(t):null}}const XS=/(\d+)-(\d+)\/(\d+)/;class ZS{constructor(t){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=t.fetchSetup||$S,this.controller=new self.AbortController,this.stats=new Ag}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var t;this.abortInternal(),null!=(t=this.callbacks)&&t.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(t,e,s){const i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();const r=function(t,e){const s={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(tg({},t.headers))};t.rangeEnd&&s.headers.set("Range","bytes="+t.rangeStart+"-"+String(t.rangeEnd-1));return s}(t,this.controller.signal),n=s.onProgress,o="arraybuffer"===t.responseType,a=o?"byteLength":"length",{maxTimeToFirstByteMs:h,maxLoadTimeMs:c}=e.loadPolicy;this.context=t,this.config=e,this.callbacks=s,this.request=this.fetchSetup(t,r),self.clearTimeout(this.requestTimeout),e.timeout=h&&eg(h)?h:c,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),s.onTimeout(i,t,this.response)}),e.timeout),self.fetch(this.request).then((r=>{this.response=this.loader=r;const a=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(this.requestTimeout),e.timeout=c,this.requestTimeout=self.setTimeout((()=>{this.abortInternal(),s.onTimeout(i,t,this.response)}),c-(a-i.loading.start)),!r.ok){const{status:t,statusText:e}=r;throw new tE(e||"fetch, bad network response",t,r)}return i.loading.first=a,i.total=function(t){const e=t.get("Content-Range");if(e){const t=function(t){const e=XS.exec(t);if(e)return parseInt(e[2])-parseInt(e[1])+1}(e);if(eg(t))return t}const s=t.get("Content-Length");if(s)return parseInt(s)}(r.headers)||i.total,n&&eg(e.highWaterMark)?this.loadProgressively(r,i,t,e.highWaterMark,n):o?r.arrayBuffer():"json"===t.responseType?r.json():r.text()})).then((r=>{const o=this.response;if(!o)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);const h=r[a];h&&(i.loaded=i.total=h);const c={url:o.url,data:r,code:o.status};n&&!eg(e.highWaterMark)&&n(i,t,r,o),s.onSuccess(c,i,t,o)})).catch((e=>{if(self.clearTimeout(this.requestTimeout),i.aborted)return;const r=e&&e.code||0,n=e?e.message:null;s.onError({code:r,text:n},t,e?e.details:null,i)}))}getCacheAge(){let t=null;if(this.response){const e=this.response.headers.get("age");t=e?parseFloat(e):null}return t}getResponseHeader(t){return this.response?this.response.headers.get(t):null}loadProgressively(t,e,s,i=0,r){const n=new hv,o=t.body.getReader(),a=()=>o.read().then((o=>{if(o.done)return n.dataLength&&r(e,s,n.flush(),t),Promise.resolve(new ArrayBuffer(0));const h=o.value,c=h.length;return e.loaded+=c,c=i&&r(e,s,n.flush(),t)):r(e,s,h,t),a()})).catch((()=>Promise.reject()));return a()}}function $S(t,e){return new self.Request(t.url,e)}class tE extends Error{constructor(t,e,s){super(t),this.code=void 0,this.details=void 0,this.code=e,this.details=s}}const eE=/\s/,sE={newCue(t,e,s,i){const r=[];let n,o,a,h,c;const l=self.VTTCue||self.TextTrackCue;for(let u=0;u=16?h--:h++;const i=qw(c.trim()),p=tS(e,s,i);null!=t&&null!=(d=t.cues)&&d.getCueById(p)||(o=new l(e,s,i),o.id=p,o.line=u+1,o.align="left",o.position=10+Math.min(80,10*Math.floor(8*h/32)),r.push(o))}return t&&r.length&&(r.sort(((t,e)=>"auto"===t.line||"auto"===e.line?0:t.line>8&&e.line>8?e.line-t.line:t.line-e.line)),r.forEach((e=>yy(t,e)))),r}},iE=Xm(Xm({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:JS,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class{constructor(t){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{const{fragCurrent:t,partCurrent:e,hls:s}=this,{autoLevelEnabled:i,media:r}=s;if(!t||!r)return;const n=performance.now(),o=e?e.stats:t.stats,a=e?e.duration:t.duration,h=n-o.loading.start,c=s.minAutoLevel;if(o.aborted||o.loaded&&o.loaded===o.total||t.level<=c)return this.clearTimer(),void(this._nextAutoLevel=-1);if(!i||r.paused||!r.playbackRate||!r.readyState)return;const l=s.mainForwardBufferInfo;if(null===l)return;const d=this.bwEstimator.getEstimateTTFB(),u=Math.abs(r.playbackRate);if(h<=Math.max(d,a/(2*u)*1e3))return;const p=l.len/u,f=o.loading.first?o.loading.first-o.loading.start:-1,m=o.loaded&&f>-1,g=this.getBwEstimate(),A=s.levels,y=A[t.level],b=o.total||Math.max(o.loaded,Math.round(a*y.averageBitrate/8));let v=m?h-f:h;v<1&&m&&(v=Math.min(h,8*o.loaded/g));const w=m?1e3*o.loaded/v:0,S=w?(b-o.loaded)/w:8*b/g+d/1e3;if(S<=p)return;const E=w?8*w:g;let I,T=Number.POSITIVE_INFINITY;for(I=t.level-1;I>c;I--){const t=A[I].maxBitrate;if(T=this.getTimeToLoadFrag(d/1e3,E,a*t,!A[I].details),T=S)return;if(T>10*a)return;s.nextLoadLevel=s.nextAutoLevel=I,m?this.bwEstimator.sample(h-Math.min(d,f),o.loaded):this.bwEstimator.sampleTTFB(h);const k=A[I].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>k&&this.resetEstimator(k),this.clearTimer(),dg.warn(`[abr] Fragment ${t.sn}${e?" part "+e.index:""} of level ${t.level} is loading too slowly;\n Time to underbuffer: ${p.toFixed(3)} s\n Estimated load time for current fragment: ${S.toFixed(3)} s\n Estimated load time for down switch fragment: ${T.toFixed(3)} s\n TTFB estimate: ${0|f} ms\n Current BW estimate: ${eg(g)?0|g:"Unknown"} bps\n New BW estimate: ${0|this.getBwEstimate()} bps\n Switching to level ${I} @ ${0|k} bps`),s.trigger(rg.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:e,stats:o})},this.hls=t,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(t){t&&(dg.log(`setting initial bwe to ${t}`),this.hls.config.abrEwmaDefaultEstimate=t),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const t=this.hls.config;return new pb(t.abrEwmaSlowVoD,t.abrEwmaFastVoD,t.abrEwmaDefaultEstimate)}registerListeners(){const{hls:t}=this;t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.FRAG_LOADING,this.onFragLoading,this),t.on(rg.FRAG_LOADED,this.onFragLoaded,this),t.on(rg.FRAG_BUFFERED,this.onFragBuffered,this),t.on(rg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(rg.LEVEL_LOADED,this.onLevelLoaded,this),t.on(rg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(rg.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),t.on(rg.ERROR,this.onError,this)}unregisterListeners(){const{hls:t}=this;t&&(t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.FRAG_LOADING,this.onFragLoading,this),t.off(rg.FRAG_LOADED,this.onFragLoaded,this),t.off(rg.FRAG_BUFFERED,this.onFragBuffered,this),t.off(rg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(rg.LEVEL_LOADED,this.onLevelLoaded,this),t.off(rg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(rg.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),t.off(rg.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(t,e){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(t,e){const s=e.frag;if(!this.ignoreFragment(s)){var i;if(!s.bitrateTest)this.fragCurrent=s,this.partCurrent=null!=(i=e.part)?i:null;this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(t,e){this.clearTimer()}onError(t,e){if(!e.fatal)switch(e.details){case og.BUFFER_ADD_CODEC_ERROR:case og.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case og.FRAG_LOAD_TIMEOUT:{const t=e.frag,{fragCurrent:s,partCurrent:i}=this;if(t&&s&&t.sn===s.sn&&t.level===s.level){const e=performance.now(),s=i?i.stats:t.stats,r=e-s.loading.start,n=s.loading.first?s.loading.first-s.loading.start:-1;if(s.loaded&&n>-1){const t=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(r-Math.min(t,n),s.loaded)}else this.bwEstimator.sampleTTFB(r)}break}}}getTimeToLoadFrag(t,e,s,i){return t+s/e+(i?this.lastLevelLoadSec:0)}onLevelLoaded(t,e){const s=this.hls.config,{loading:i}=e.stats,r=i.end-i.start;eg(r)&&(this.lastLevelLoadSec=r/1e3),e.details.live?this.bwEstimator.update(s.abrEwmaSlowLive,s.abrEwmaFastLive):this.bwEstimator.update(s.abrEwmaSlowVoD,s.abrEwmaFastVoD)}onFragLoaded(t,{frag:e,part:s}){const i=s?s.stats:e.stats;if(e.type===dy&&this.bwEstimator.sampleTTFB(i.loading.first-i.loading.start),!this.ignoreFragment(e)){if(this.clearTimer(),e.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const t=s?s.duration:e.duration,r=this.hls.levels[e.level],n=(r.loaded?r.loaded.bytes:0)+i.loaded,o=(r.loaded?r.loaded.duration:0)+t;r.loaded={bytes:n,duration:o},r.realBitrate=Math.round(8*n/o)}if(e.bitrateTest){const t={stats:i,frag:e,part:s,id:e.type};this.onFragBuffered(rg.FRAG_BUFFERED,t),e.bitrateTest=!1}else this.lastLoadedFragLevel=e.level}}onFragBuffered(t,e){const{frag:s,part:i}=e,r=null!=i&&i.stats.loaded?i.stats:s.stats;if(r.aborted)return;if(this.ignoreFragment(s))return;const n=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(n,r.loaded),r.bwEstimate=this.getBwEstimate(),s.bitrateTest?this.bitrateTestDelay=n/1e3:this.bitrateTestDelay=0}ignoreFragment(t){return t.type!==dy||"initSegment"===t.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:t,minAutoLevel:e}=this.hls,s=this.getBwEstimate(),i=this.hls.config.maxStarvationDelay,r=this.findBestLevel(s,e,t,0,i,1,1);if(r>-1)return r;const n=this.hls.firstLevel,o=Math.min(Math.max(n,e),t);return dg.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${n} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const t=this.forcedAutoLevel,e=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(!(-1===t||e&&s&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return t;const i=e&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==t){const e=this.hls.levels;if(e.length>Math.max(t,i)&&e[t].loadError<=e[i].loadError)return t}return this._nextAutoLevel=i,this.nextAutoLevelKey=this.getAutoLevelKey(),i}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:t,partCurrent:e,hls:s}=this,{maxAutoLevel:i,config:r,minAutoLevel:n}=s,o=e?e.duration:t?t.duration:0,a=this.getBwEstimate(),h=this.getStarvationDelay();let c=r.abrBandWidthFactor,l=r.abrBandWidthUpFactor;if(h){const t=this.findBestLevel(a,n,i,h,0,c,l);if(t>=0)return t}let d=o?Math.min(o,r.maxStarvationDelay):r.maxStarvationDelay;if(!h){const t=this.bitrateTestDelay;if(t){d=(o?Math.min(o,r.maxLoadingDelay):r.maxLoadingDelay)-t,dg.info(`[abr] bitrate test took ${Math.round(1e3*t)}ms, set first fragment max fetchDuration to ${Math.round(1e3*d)} ms`),c=l=1}}const u=this.findBestLevel(a,n,i,h,d,c,l);if(dg.info(`[abr] ${h?"rebuffering expected":"buffer is empty"}, optimal quality level ${u}`),u>-1)return u;const p=s.levels[n],f=s.levels[s.loadLevel];return(null==p?void 0:p.bitrate)<(null==f?void 0:f.bitrate)?n:s.loadLevel}getStarvationDelay(){const t=this.hls,e=t.media;if(!e)return 1/0;const s=e&&0!==e.playbackRate?Math.abs(e.playbackRate):1,i=t.mainForwardBufferInfo;return(i?i.len:0)/s}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(t,e,s,i,r,n,o){var a;const h=i+r,c=this.lastLoadedFragLevel,l=-1===c?this.hls.firstLevel:c,{fragCurrent:d,partCurrent:u}=this,{levels:p,allAudioTracks:f,loadLevel:m,config:g}=this.hls;if(1===p.length)return 0;const A=p[l],y=!(null==A||null==(a=A.details)||!a.live),b=-1===m||-1===c;let v,w="SDR",S=(null==A?void 0:A.frameRate)||0;const{audioPreference:E,videoPreference:I}=g,T=this.audioTracksByGroup||(this.audioTracksByGroup=function(t){return t.reduce(((t,e)=>{let s=t.groups[e.groupId];s||(s=t.groups[e.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),s.tracks.push(e);const i=e.channels||"2";return s.channels[i]=(s.channels[i]||0)+1,s.hasDefault=s.hasDefault||e.default,s.hasAutoSelect=s.hasAutoSelect||e.autoselect,s.hasDefault&&(t.hasDefaultAudio=!0),s.hasAutoSelect&&(t.hasAutoSelectAudio=!0),t}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}(f));if(b){if(-1!==this.firstSelection)return this.firstSelection;const i=this.codecTiers||(this.codecTiers=function(t,e,s,i){return t.slice(s,i+1).reduce(((t,s)=>{if(!s.codecSet)return t;const i=s.audioGroups;let r=t[s.codecSet];r||(t[s.codecSet]=r={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!i,fragmentError:0}),r.minBitrate=Math.min(r.minBitrate,s.bitrate);const n=Math.min(s.height,s.width);return r.minHeight=Math.min(r.minHeight,n),r.minFramerate=Math.min(r.minFramerate,s.frameRate),r.maxScore=Math.max(r.maxScore,s.score),r.fragmentError+=s.fragmentError,r.videoRanges[s.videoRange]=(r.videoRanges[s.videoRange]||0)+1,i&&i.forEach((t=>{if(!t)return;const s=e.groups[t];s&&(r.hasDefaultAudio=r.hasDefaultAudio||e.hasDefaultAudio?s.hasDefault:s.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(s.channels).forEach((t=>{r.channels[t]=(r.channels[t]||0)+s.channels[t]})))})),t}),{})}(p,T,e,s)),r=function(t,e,s,i,r){const n=Object.keys(t),o=null==i?void 0:i.channels,a=null==i?void 0:i.audioCodec,h=o&&2===parseInt(o);let c=!0,l=!1,d=1/0,u=1/0,p=1/0,f=0,m=[];const{preferHDR:g,allowedVideoRanges:A}=yb(e,r);for(let e=n.length;e--;){const s=t[n[e]];c=s.channels[2]>0,d=Math.min(d,s.minHeight),u=Math.min(u,s.minFramerate),p=Math.min(p,s.minBitrate);const i=A.filter((t=>s.videoRanges[t]>0));i.length>0&&(l=!0,m=i)}d=eg(d)?d:0,u=eg(u)?u:0;const y=Math.max(1080,d),b=Math.max(30,u);p=eg(p)?p:s,s=Math.max(p,s),l||(e=void 0,m=[]);const v=n.reduce(((e,i)=>{const r=t[i];if(i===e)return e;if(r.minBitrate>s)return bb(i,`min bitrate of ${r.minBitrate} > current estimate of ${s}`),e;if(!r.hasDefaultAudio)return bb(i,"no renditions with default or auto-select sound found"),e;if(a&&i.indexOf(a.substring(0,4))%5!=0)return bb(i,`audio codec preference "${a}" not found`),e;if(o&&!h){if(!r.channels[o])return bb(i,`no renditions with ${o} channel sound found (channels options: ${Object.keys(r.channels)})`),e}else if((!a||h)&&c&&0===r.channels[2])return bb(i,"no renditions with stereo sound found"),e;return r.minHeight>y?(bb(i,`min resolution of ${r.minHeight} > maximum of ${y}`),e):r.minFramerate>b?(bb(i,`min framerate of ${r.minFramerate} > maximum of ${b}`),e):m.some((t=>r.videoRanges[t]>0))?r.maxScore=WA(e)||r.fragmentError>t[e].fragmentError)?e:(f=r.maxScore,i):(bb(i,`no variants with VIDEO-RANGE of ${JSON.stringify(m)} found`),e)}),void 0);return{codecSet:v,videoRanges:m,preferHDR:g,minFramerate:u,minBitrate:p}}(i,w,t,E,I),{codecSet:n,videoRanges:o,minFramerate:a,minBitrate:h,preferHDR:c}=r;v=n,w=c?o[o.length-1]:o[0],S=a,t=Math.max(t,h),dg.log(`[abr] picked start tier ${JSON.stringify(r)}`)}else v=null==A?void 0:A.codecSet,w=null==A?void 0:A.videoRange;const k=u?u.duration:d?d.duration:0,_=this.bwEstimator.getEstimateTTFB()/1e3,C=[];for(let a=s;a>=e;a--){var R;const e=p[a],d=a>l;if(!e)continue;if(g.useMediaCapabilities&&!e.supportedResult&&!e.supportedPromise){const s=navigator.mediaCapabilities;"function"==typeof(null==s?void 0:s.decodingInfo)&&gb(e,T,w,S,t,E)?(e.supportedPromise=Ab(e,T,s),e.supportedPromise.then((t=>{if(!this.hls)return;e.supportedResult=t;const s=this.hls.levels,i=s.indexOf(e);t.error?dg.warn(`[abr] MediaCapabilities decodingInfo error: "${t.error}" for level ${i} ${JSON.stringify(t)}`):t.supported||(dg.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${i} ${JSON.stringify(t)}`),i>-1&&s.length>1&&(dg.log(`[abr] Removing unsupported level ${i}`),this.hls.removeLevel(i)))}))):e.supportedResult=fb}if(v&&e.codecSet!==v||w&&e.videoRange!==w||d&&S>e.frameRate||!d&&S>0&&S=2*k&&0===r?p[a].averageBitrate:p[a].maxBitrate,L=this.getTimeToLoadFrag(_,D,x*I,void 0===f);if(D>=x&&(a===c||0===e.loadError&&0===e.fragmentError)&&(L<=_||!eg(L)||y&&!this.bitrateTestDelay||L${a} adjustedbw(${Math.round(D)})-bitrate=${Math.round(D-x)} ttfb:${_.toFixed(1)} avgDuration:${I.toFixed(1)} maxFetchDuration:${h.toFixed(1)} fetchDuration:${L.toFixed(1)} firstSelection:${b} codecSet:${v} videoRange:${w} hls.loadLevel:${m}`)),b&&(this.firstSelection=a),a}}return-1}set nextAutoLevel(t){const{maxAutoLevel:e,minAutoLevel:s}=this.hls,i=Math.min(Math.max(t,s),e);this._nextAutoLevel!==i&&(this.nextAutoLevelKey="",this._nextAutoLevel=i)}},bufferController:class{constructor(t){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=t=>{this.hls&&this.hls.pauseBuffering()},this._onStartStreaming=t=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=()=>{const{media:t,mediaSource:e}=this;this.log("Media source opened"),t&&(t.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(rg.MEDIA_ATTACHED,{media:t,mediaSource:e})),e&&e.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks()},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:t,_objectUrl:e}=this;t!==e&&dg.error(`Media element src was set while attaching MediaSource (${e} > ${t})`)},this.hls=t;const e="[buffer-controller]";var s;this.appendSource=(s=OA(t.config.preferManagedMediaSource),"undefined"!=typeof self&&s===self.ManagedMediaSource),this.log=dg.log.bind(dg,e),this.warn=dg.warn.bind(dg,e),this.error=dg.error.bind(dg,e),this._initSourceBuffer(),this.registerListeners()}hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null}registerListeners(){const{hls:t}=this;t.on(rg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(rg.BUFFER_RESET,this.onBufferReset,this),t.on(rg.BUFFER_APPENDING,this.onBufferAppending,this),t.on(rg.BUFFER_CODECS,this.onBufferCodecs,this),t.on(rg.BUFFER_EOS,this.onBufferEos,this),t.on(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(rg.LEVEL_UPDATED,this.onLevelUpdated,this),t.on(rg.FRAG_PARSED,this.onFragParsed,this),t.on(rg.FRAG_CHANGED,this.onFragChanged,this)}unregisterListeners(){const{hls:t}=this;t.off(rg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(rg.BUFFER_RESET,this.onBufferReset,this),t.off(rg.BUFFER_APPENDING,this.onBufferAppending,this),t.off(rg.BUFFER_CODECS,this.onBufferCodecs,this),t.off(rg.BUFFER_EOS,this.onBufferEos,this),t.off(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(rg.LEVEL_UPDATED,this.onLevelUpdated,this),t.off(rg.FRAG_PARSED,this.onFragParsed,this),t.off(rg.FRAG_CHANGED,this.onFragChanged,this)}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new yw(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null}onManifestParsed(t,e){let s=2;(e.audio&&!e.video||!e.altAudio)&&(s=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=s,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`)}onMediaAttaching(t,e){const s=this.media=e.media,i=OA(this.appendSource);if(s&&i){var r;const t=this.mediaSource=new i;this.log(`created media source: ${null==(r=t.constructor)?void 0:r.name}`),t.addEventListener("sourceopen",this._onMediaSourceOpen),t.addEventListener("sourceended",this._onMediaSourceEnded),t.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.addEventListener("startstreaming",this._onStartStreaming),t.addEventListener("endstreaming",this._onEndStreaming));const e=this._objectUrl=self.URL.createObjectURL(t);if(this.appendSource)try{s.removeAttribute("src");const i=self.ManagedMediaSource;s.disableRemotePlayback=s.disableRemotePlayback||i&&t instanceof i,vw(s),function(t,e){const s=self.document.createElement("source");s.type="video/mp4",s.src=e,t.appendChild(s)}(s,e),s.load()}catch(t){s.src=e}else s.src=e;s.addEventListener("emptied",this._onMediaEmptied)}}onMediaDetaching(){const{media:t,mediaSource:e,_objectUrl:s}=this;if(e){if(this.log("media source detaching"),"open"===e.readyState)try{e.endOfStream()}catch(t){this.warn(`onMediaDetaching: ${t.message} while calling endOfStream`)}this.onBufferReset(),e.removeEventListener("sourceopen",this._onMediaSourceOpen),e.removeEventListener("sourceended",this._onMediaSourceEnded),e.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.removeEventListener("startstreaming",this._onStartStreaming),e.removeEventListener("endstreaming",this._onEndStreaming)),t&&(t.removeEventListener("emptied",this._onMediaEmptied),s&&self.URL.revokeObjectURL(s),this.mediaSrc===s?(t.removeAttribute("src"),this.appendSource&&vw(t),t.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(rg.MEDIA_DETACHED,void 0)}onBufferReset(){this.getSourceBufferTypes().forEach((t=>{this.resetBuffer(t)})),this._initSourceBuffer()}resetBuffer(t){const e=this.sourceBuffer[t];try{var s;if(e)this.removeBufferListeners(t),this.sourceBuffer[t]=void 0,null!=(s=this.mediaSource)&&s.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(e)}catch(e){this.warn(`onBufferReset ${t}`,e)}}onBufferCodecs(t,e){const s=this.getSourceBufferTypes().length,i=Object.keys(e);if(i.forEach((t=>{if(s){const s=this.tracks[t];if(s&&"function"==typeof s.buffer.changeType){var i;const{id:r,codec:n,levelCodec:o,container:a,metadata:h}=e[t],c=QA(s.codec,s.levelCodec),l=null==c?void 0:c.replace(bw,"$1");let d=QA(n,o);const u=null==(i=d)?void 0:i.replace(bw,"$1");if(d&&l!==u){"audio"===t.slice(0,5)&&(d=KA(d,this.appendSource));const e=`${a};codecs=${d}`;this.appendChangeType(t,e),this.log(`switching codec ${c} to ${d}`),this.tracks[t]={buffer:s.buffer,codec:n,container:a,levelCodec:o,metadata:h,id:r}}}}else this.pendingTracks[t]=e[t]})),s)return;const r=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==r&&(this.log(`${r} bufferCodec event(s) expected ${i.join(",")}`),this.bufferCodecEventsExpected=r),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}appendChangeType(t,e){const{operationQueue:s}=this,i={execute:()=>{const i=this.sourceBuffer[t];i&&(this.log(`changing ${t} sourceBuffer type to ${e}`),i.changeType(e)),s.shiftAndExecuteNext(t)},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn(`Failed to change ${t} SourceBuffer type`,e)}};s.append(i,t,!!this.pendingTracks[t])}onBufferAppending(t,e){const{hls:s,operationQueue:i,tracks:r}=this,{data:n,type:o,frag:a,part:h,chunkMeta:c}=e,l=c.buffering[o],d=self.performance.now();l.start=d;const u=a.stats.buffering,p=h?h.stats.buffering:null;0===u.start&&(u.start=d),p&&0===p.start&&(p.start=d);const f=r.audio;let m=!1;"audio"===o&&"audio/mpeg"===(null==f?void 0:f.container)&&(m=!this.lastMpegAudioChunk||1===c.id||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);const g=a.start,A={execute:()=>{if(l.executeStart=self.performance.now(),m){const t=this.sourceBuffer[o];if(t){const e=g-t.timestampOffset;Math.abs(e)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${g} (delta: ${e}) sn: ${a.sn})`),t.timestampOffset=g)}}this.appendExecutor(n,o)},onStart:()=>{},onComplete:()=>{const t=self.performance.now();l.executeEnd=l.end=t,0===u.first&&(u.first=t),p&&0===p.first&&(p.first=t);const{sourceBuffer:e}=this,s={};for(const t in e)s[t]=Lb.getBuffered(e[t]);this.appendErrors[o]=0,"audio"===o||"video"===o?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(rg.BUFFER_APPENDED,{type:o,frag:a,part:h,chunkMeta:c,parent:a.type,timeRanges:s})},onError:t=>{const e={type:ng.MEDIA_ERROR,parent:a.type,details:og.BUFFER_APPEND_ERROR,sourceBufferName:o,frag:a,part:h,chunkMeta:c,error:t,err:t,fatal:!1};if(t.code===DOMException.QUOTA_EXCEEDED_ERR)e.details=og.BUFFER_FULL_ERROR;else{const t=++this.appendErrors[o];e.details=og.BUFFER_APPEND_ERROR,this.warn(`Failed ${t}/${s.config.appendErrorMaxRetry} times to append segment in "${o}" sourceBuffer`),t>=s.config.appendErrorMaxRetry&&(e.fatal=!0)}s.trigger(rg.ERROR,e)}};i.append(A,o,!!this.pendingTracks[o])}onBufferFlushing(t,e){const{operationQueue:s}=this,i=t=>({execute:this.removeExecutor.bind(this,t,e.startOffset,e.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(rg.BUFFER_FLUSHED,{type:t})},onError:e=>{this.warn(`Failed to remove from ${t} SourceBuffer`,e)}});e.type?s.append(i(e.type),e.type):this.getSourceBufferTypes().forEach((t=>{s.append(i(t),t)}))}onFragParsed(t,e){const{frag:s,part:i}=e,r=[],n=i?i.elementaryStreams:s.elementaryStreams;n[vg]?r.push("audiovideo"):(n[yg]&&r.push("audio"),n[bg]&&r.push("video"));0===r.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${s.type} level: ${s.level} sn: ${s.sn}`),this.blockBuffers((()=>{const t=self.performance.now();s.stats.buffering.end=t,i&&(i.stats.buffering.end=t);const e=i?i.stats:s.stats;this.hls.trigger(rg.FRAG_BUFFERED,{frag:s,part:i,stats:e,id:s.type})}),r)}onFragChanged(t,e){this.trimBuffers()}onBufferEos(t,e){this.getSourceBufferTypes().reduce(((t,s)=>{const i=this.sourceBuffer[s];return!i||e.type&&e.type!==s||(i.ending=!0,i.ended||(i.ended=!0,this.log(`${s} sourceBuffer now EOS`))),t&&!(i&&!i.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((()=>{this.getSourceBufferTypes().forEach((t=>{const e=this.sourceBuffer[t];e&&(e.ending=!1)}));const{mediaSource:t}=this;t&&"open"===t.readyState?(this.log("Calling mediaSource.endOfStream()"),t.endOfStream()):t&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${t.readyState}`)})))}onLevelUpdated(t,{details:e}){e.fragments.length&&(this.details=e,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())}trimBuffers(){const{hls:t,details:e,media:s}=this;if(!s||null===e)return;if(!this.getSourceBufferTypes().length)return;const i=t.config,r=s.currentTime,n=e.levelTargetDuration,o=e.live&&null!==i.liveBackBufferLength?i.liveBackBufferLength:i.backBufferLength;if(eg(o)&&o>0){const t=Math.max(o,n),e=Math.floor(r/n)*n-t;this.flushBackBuffer(r,n,e)}if(eg(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){const t=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),e=Math.max(t,n),s=Math.floor(r/n)*n+e;this.flushFrontBuffer(r,n,s)}}flushBackBuffer(t,e,s){const{details:i,sourceBuffer:r}=this;this.getSourceBufferTypes().forEach((n=>{const o=r[n];if(o){const r=Lb.getBuffered(o);if(r.length>0&&s>r.start(0)){if(this.hls.trigger(rg.BACK_BUFFER_REACHED,{bufferEnd:s}),null!=i&&i.live)this.hls.trigger(rg.LIVE_BACK_BUFFER_REACHED,{bufferEnd:s});else if(o.ended&&r.end(r.length-1)-t<2*e)return void this.log(`Cannot flush ${n} back buffer while SourceBuffer is in ended state`);this.hls.trigger(rg.BUFFER_FLUSHING,{startOffset:0,endOffset:s,type:n})}}}))}flushFrontBuffer(t,e,s){const{sourceBuffer:i}=this;this.getSourceBufferTypes().forEach((r=>{const n=i[r];if(n){const i=Lb.getBuffered(n),o=i.length;if(o<2)return;const a=i.start(o-1),h=i.end(o-1);if(s>a||t>=a&&t<=h)return;if(n.ended&&t-h<2*e)return void this.log(`Cannot flush ${r} front buffer while SourceBuffer is in ended state`);this.hls.trigger(rg.BUFFER_FLUSHING,{startOffset:a,endOffset:1/0,type:r})}}))}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||"open"!==this.mediaSource.readyState)return;const{details:t,hls:e,media:s,mediaSource:i}=this,r=t.fragments[0].start+t.totalduration,n=s.duration,o=eg(i.duration)?i.duration:0;t.live&&e.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(t)):(r>o&&r>n||!eg(n))&&(this.log(`Updating Media Source duration to ${r.toFixed(3)}`),i.duration=r)}updateSeekableRange(t){const e=this.mediaSource,s=t.fragments;if(s.length&&t.live&&null!=e&&e.setLiveSeekableRange){const i=Math.max(0,s[0].start),r=Math.max(i,i+t.totalduration);this.log(`Media Source duration is set to ${e.duration}. Setting seekable range to ${i}-${r}.`),e.setLiveSeekableRange(i,r)}}checkPendingTracks(){const{bufferCodecEventsExpected:t,operationQueue:e,pendingTracks:s}=this,i=Object.keys(s).length;if(i&&(!t||2===i||"audiovideo"in s)){this.createSourceBuffers(s),this.pendingTracks={};const t=this.getSourceBufferTypes();if(t.length)this.hls.trigger(rg.BUFFER_CREATED,{tracks:this.tracks}),t.forEach((t=>{e.executeNext(t)}));else{const t=new Error("could not create source buffer for media codec(s)");this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:t,reason:t.message})}}}createSourceBuffers(t){const{sourceBuffer:e,mediaSource:s}=this;if(!s)throw Error("createSourceBuffers called when mediaSource was null");for(const r in t)if(!e[r]){var i;const n=t[r];if(!n)throw Error(`source buffer exists for track ${r}, however track does not`);let o=-1===(null==(i=n.levelCodec)?void 0:i.indexOf(","))?n.levelCodec:n.codec;o&&"audio"===r.slice(0,5)&&(o=KA(o,this.appendSource));const a=`${n.container};codecs=${o}`;this.log(`creating sourceBuffer(${a})`);try{const t=e[r]=s.addSourceBuffer(a),i=r;this.addBufferListener(i,"updatestart",this._onSBUpdateStart),this.addBufferListener(i,"updateend",this._onSBUpdateEnd),this.addBufferListener(i,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(i,"bufferedchange",((t,e)=>{const s=e.removedRanges;null!=s&&s.length&&this.hls.trigger(rg.BUFFER_FLUSHED,{type:r})})),this.tracks[r]={buffer:t,codec:o,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(t){this.error(`error while trying to add sourceBuffer: ${t.message}`),this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:t,sourceBufferName:r,mimeType:a})}}}get mediaSrc(){var t;const e=(null==(t=this.media)?void 0:t.firstChild)||this.media;return null==e?void 0:e.src}_onSBUpdateStart(t){const{operationQueue:e}=this;e.current(t).onStart()}_onSBUpdateEnd(t){var e;if("closed"===(null==(e=this.mediaSource)?void 0:e.readyState))return void this.resetBuffer(t);const{operationQueue:s}=this;s.current(t).onComplete(),s.shiftAndExecuteNext(t)}_onSBUpdateError(t,e){var s;const i=new Error(`${t} SourceBuffer error. MediaSource readyState: ${null==(s=this.mediaSource)?void 0:s.readyState}`);this.error(`${i}`,e),this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.BUFFER_APPENDING_ERROR,sourceBufferName:t,error:i,fatal:!1});const r=this.operationQueue.current(t);r&&r.onError(i)}removeExecutor(t,e,s){const{media:i,mediaSource:r,operationQueue:n,sourceBuffer:o}=this,a=o[t];if(!i||!r||!a)return this.warn(`Attempting to remove from the ${t} SourceBuffer, but it does not exist`),void n.shiftAndExecuteNext(t);const h=eg(i.duration)?i.duration:1/0,c=eg(r.duration)?r.duration:1/0,l=Math.max(0,e),d=Math.min(s,h,c);d>l&&(!a.ending||a.ended)?(a.ended=!1,this.log(`Removing [${l},${d}] from the ${t} SourceBuffer`),a.remove(l,d)):n.shiftAndExecuteNext(t)}appendExecutor(t,e){const s=this.sourceBuffer[e];if(s)s.ended=!1,s.appendBuffer(t);else if(!this.pendingTracks[e])throw new Error(`Attempting to append to the ${e} SourceBuffer, but it does not exist`)}blockBuffers(t,e=this.getSourceBufferTypes()){if(!e.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(t);const{operationQueue:s}=this,i=e.map((t=>s.appendBlocker(t)));Promise.all(i).then((()=>{t(),e.forEach((t=>{const e=this.sourceBuffer[t];null!=e&&e.updating||s.shiftAndExecuteNext(t)}))}))}getSourceBufferTypes(){return Object.keys(this.sourceBuffer)}addBufferListener(t,e,s){const i=this.sourceBuffer[t];if(!i)return;const r=s.bind(this,t);this.listeners[t].push({event:e,listener:r}),i.addEventListener(e,r)}removeBufferListeners(t){const e=this.sourceBuffer[t];e&&this.listeners[t].forEach((t=>{e.removeEventListener(t.event,t.listener)}))}},capLevelController:mS,errorController:class{constructor(t){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=t,this.log=dg.log.bind(dg,"[info]:"),this.warn=dg.warn.bind(dg,"[warning]:"),this.error=dg.error.bind(dg,"[error]:"),this.registerListeners()}registerListeners(){const t=this.hls;t.on(rg.ERROR,this.onError,this),t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const t=this.hls;t&&(t.off(rg.ERROR,this.onError,this),t.off(rg.ERROR,this.onErrorOut,this),t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(t){}stopLoad(){this.playlistError=0}getVariantLevelIndex(t){return(null==t?void 0:t.type)===dy?t.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(t,e){var s,i;if(e.fatal)return;const r=this.hls,n=e.context;switch(e.details){case og.FRAG_LOAD_ERROR:case og.FRAG_LOAD_TIMEOUT:case og.KEY_LOAD_ERROR:case og.KEY_LOAD_TIMEOUT:return void(e.errorAction=this.getFragRetryOrSwitchAction(e));case og.FRAG_PARSING_ERROR:if(null!=(s=e.frag)&&s.gap)return void(e.errorAction={action:rb,flags:hb});case og.FRAG_GAP:case og.FRAG_DECRYPT_ERROR:return e.errorAction=this.getFragRetryOrSwitchAction(e),void(e.errorAction.action=nb);case og.LEVEL_EMPTY_ERROR:case og.LEVEL_PARSING_ERROR:{var o,a;const t=e.parent===dy?e.level:r.loadLevel;e.details===og.LEVEL_EMPTY_ERROR&&null!=(o=e.context)&&null!=(a=o.levelDetails)&&a.live?e.errorAction=this.getPlaylistRetryOrSwitchAction(e,t):(e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t))}return;case og.LEVEL_LOAD_ERROR:case og.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==n?void 0:n.level)&&(e.errorAction=this.getPlaylistRetryOrSwitchAction(e,n.level)));case og.AUDIO_TRACK_LOAD_ERROR:case og.AUDIO_TRACK_LOAD_TIMEOUT:case og.SUBTITLE_LOAD_ERROR:case og.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){const t=r.levels[r.loadLevel];if(t&&(n.type===cy&&t.hasAudioGroup(n.groupId)||n.type===ly&&t.hasSubtitleGroup(n.groupId)))return e.errorAction=this.getPlaylistRetryOrSwitchAction(e,r.loadLevel),e.errorAction.action=nb,void(e.errorAction.flags=cb)}return;case og.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const t=r.levels[r.loadLevel],s=null==t?void 0:t.attrs["HDCP-LEVEL"];s?e.errorAction={action:nb,flags:lb,hdcpLevel:s}:this.keySystemError(e)}return;case og.BUFFER_ADD_CODEC_ERROR:case og.REMUX_ALLOC_ERROR:case og.BUFFER_APPEND_ERROR:return void(e.errorAction=this.getLevelSwitchAction(e,null!=(i=e.level)?i:r.loadLevel));case og.INTERNAL_EXCEPTION:case og.BUFFER_APPENDING_ERROR:case og.BUFFER_FULL_ERROR:case og.LEVEL_SWITCH_ERROR:case og.BUFFER_STALLED_ERROR:case og.BUFFER_SEEK_OVER_HOLE:case og.BUFFER_NUDGE_ON_STALL:return void(e.errorAction={action:rb,flags:hb})}e.type===ng.KEY_SYSTEM_ERROR&&this.keySystemError(e)}keySystemError(t){const e=this.getVariantLevelIndex(t.frag);t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e)}getPlaylistRetryOrSwitchAction(t,e){const s=Jy(this.hls.config.playlistLoadPolicy,t),i=this.playlistError++;if($y(s,i,qy(t),t.response))return{action:ab,flags:hb,retryConfig:s,retryCount:i};const r=this.getLevelSwitchAction(t,e);return s&&(r.retryConfig=s,r.retryCount=i),r}getFragRetryOrSwitchAction(t){const e=this.hls,s=this.getVariantLevelIndex(t.frag),i=e.levels[s],{fragLoadPolicy:r,keyLoadPolicy:n}=e.config,o=Jy(t.details.startsWith("key")?n:r,t),a=e.levels.reduce(((t,e)=>t+e.fragmentError),0);if(i){t.details!==og.FRAG_GAP&&i.fragmentError++;if($y(o,a,qy(t),t.response))return{action:ab,flags:hb,retryConfig:o,retryCount:a}}const h=this.getLevelSwitchAction(t,s);return o&&(h.retryConfig=o,h.retryCount=a),h}getLevelSwitchAction(t,e){const s=this.hls;null==e&&(e=s.loadLevel);const i=this.hls.levels[e];if(i){var r,n;const e=t.details;i.loadError++,e===og.BUFFER_APPEND_ERROR&&i.fragmentError++;let h=-1;const{levels:c,loadLevel:l,minAutoLevel:d,maxAutoLevel:u}=s;s.autoLevelEnabled||(s.loadLevel=-1);const p=null==(r=t.frag)?void 0:r.type,f=(p===uy&&e===og.FRAG_PARSING_ERROR||"audio"===t.sourceBufferName&&(e===og.BUFFER_ADD_CODEC_ERROR||e===og.BUFFER_APPEND_ERROR))&&c.some((({audioCodec:t})=>i.audioCodec!==t)),m="video"===t.sourceBufferName&&(e===og.BUFFER_ADD_CODEC_ERROR||e===og.BUFFER_APPEND_ERROR)&&c.some((({codecSet:t,audioCodec:e})=>i.codecSet!==t&&i.audioCodec===e)),{type:g,groupId:A}=null!=(n=t.context)?n:{};for(let s=c.length;s--;){const r=(s+l)%c.length;if(r!==l&&r>=d&&r<=u&&0===c[r].loadError){var o,a;const s=c[r];if(e===og.FRAG_GAP&&p===dy&&t.frag){const e=c[r].details;if(e){const s=eb(t.frag,e.fragments,t.frag.start);if(null!=s&&s.gap)continue}}else{if(g===cy&&s.hasAudioGroup(A)||g===ly&&s.hasSubtitleGroup(A))continue;if(p===uy&&null!=(o=i.audioGroups)&&o.some((t=>s.hasAudioGroup(t)))||p===py&&null!=(a=i.subtitleGroups)&&a.some((t=>s.hasSubtitleGroup(t)))||f&&i.audioCodec===s.audioCodec||!f&&i.audioCodec!==s.audioCodec||m&&i.codecSet===s.codecSet)continue}h=r;break}}if(h>-1&&s.loadLevel!==h)return t.levelRetry=!0,this.playlistError=0,{action:nb,flags:hb,nextAutoLevel:h}}return{action:nb,flags:cb}}onErrorOut(t,e){var s;switch(null==(s=e.errorAction)?void 0:s.action){case rb:break;case nb:this.sendAlternateToPenaltyBox(e),e.errorAction.resolved||e.details===og.FRAG_GAP?/MediaSource readyState: ended/.test(e.error.message)&&(this.warn(`MediaSource ended after "${e.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):e.fatal=!0}e.fatal&&this.hls.stopLoad()}sendAlternateToPenaltyBox(t){const e=this.hls,s=t.errorAction;if(!s)return;const{flags:i,hdcpLevel:r,nextAutoLevel:n}=s;switch(i){case hb:this.switchLevel(t,n);break;case lb:r&&(e.maxHdcpLevel=Ly[Ly.indexOf(r)-1],s.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${e.maxHdcpLevel}" or lower`)}s.resolved||this.switchLevel(t,n)}switchLevel(t,e){void 0!==e&&t.errorAction&&(this.warn(`switching to level ${e} after ${t.details}`),this.hls.nextAutoLevel=e,t.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)}},fpsController:class{constructor(t){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=t,this.registerListeners()}setStreamController(t){this.streamController=t}registerListeners(){this.hls.on(rg.MEDIA_ATTACHING,this.onMediaAttaching,this)}unregisterListeners(){this.hls.off(rg.MEDIA_ATTACHING,this.onMediaAttaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(t,e){const s=this.hls.config;if(s.capLevelOnFPSDrop){const t=e.media instanceof self.HTMLVideoElement?e.media:null;this.media=t,t&&"function"==typeof t.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),s.fpsDroppedMonitoringPeriod)}}checkFPS(t,e,s){const i=performance.now();if(e){if(this.lastTime){const t=i-this.lastTime,r=s-this.lastDroppedFrames,n=e-this.lastDecodedFrames,o=1e3*r/t,a=this.hls;if(a.trigger(rg.FPS_DROP,{currentDropped:r,currentDecoded:n,totalDroppedFrames:s}),o>0&&r>a.config.fpsDroppedMonitoringThreshold*n){let t=a.currentLevel;dg.warn("drop FPS ratio greater than max allowed value for currentLevel: "+t),t>0&&(-1===a.autoLevelCapping||a.autoLevelCapping>=t)&&(t-=1,a.trigger(rg.FPS_DROP_LEVEL_CAPPING,{level:t,droppedLevel:a.currentLevel}),a.autoLevelCapping=t,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=s,this.lastDecodedFrames=e}}checkFPSInterval(){const t=this.media;if(t)if(this.isVideoPlaybackQualityAvailable){const e=t.getVideoPlaybackQuality();this.checkFPS(t,e.totalVideoFrames,e.droppedVideoFrames)}else this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:Ug,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:sE,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends av{constructor(t,e,s){super(t,e,s,"[subtitle-stream-controller]",py),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}_registerListeners(){const{hls:t}=this;t.on(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.LEVEL_LOADED,this.onLevelLoaded,this),t.on(rg.ERROR,this.onError,this),t.on(rg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(rg.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.on(rg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(rg.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.on(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.on(rg.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){const{hls:t}=this;t.off(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.LEVEL_LOADED,this.onLevelLoaded,this),t.off(rg.ERROR,this.onError,this),t.off(rg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(rg.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),t.off(rg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(rg.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),t.off(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),t.off(rg.FRAG_BUFFERED,this.onFragBuffered,this)}startLoad(t){this.stopLoad(),this.state=Jb,this.setInterval(500),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching()}onLevelLoaded(t,e){this.mainDetails=e.details}onSubtitleFragProcessed(t,e){const{frag:s,success:i}=e;if(this.fragPrevious=s,this.state=Jb,!i)return;const r=this.tracksBuffered[this.currentTrackId];if(!r)return;let n;const o=s.start;for(let t=0;t=r[t].start&&o<=r[t].end){n=r[t];break}const a=s.start+s.duration;n?n.end=a:(n={start:o,end:a},r.push(n)),this.fragmentTracker.fragBuffered(s),this.fragBufferedComplete(s,null)}onBufferFlushing(t,e){const{startOffset:s,endOffset:i}=e;if(0===s&&i!==Number.POSITIVE_INFINITY){const t=i-1;if(t<=0)return;e.endOffsetSubtitles=Math.max(0,t),this.tracksBuffered.forEach((e=>{for(let s=0;snew jy(t))):(this.tracksBuffered=[],this.levels=e.map((t=>{const e=new jy(t);return this.tracksBuffered[e.id]=[],e})),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,py),this.fragPrevious=null,this.mediaBuffer=null)}onSubtitleTrackSwitch(t,e){var s;if(this.currentTrackId=e.id,null==(s=this.levels)||!s.length||-1===this.currentTrackId)return void this.clearInterval();const i=this.levels[this.currentTrackId];null!=i&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.setInterval(500)}onSubtitleTrackLoaded(t,e){var s;const{currentTrackId:i,levels:r}=this,{details:n,id:o}=e;if(!r)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);const a=r[o];if(o>=r.length||!a)return;this.log(`Subtitle track ${o} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let h=0;if(n.live||null!=(s=a.details)&&s.live){const t=this.mainDetails;if(n.deltaUpdateFailed||!t)return;const e=t.fragments[0];var c;if(a.details)h=this.alignPlaylists(n,a.details,null==(c=this.levelLastLoaded)?void 0:c.details),0===h&&e&&(h=e.start,Hy(n,h));else n.hasProgramDateTime&&t.hasProgramDateTime?(Ub(n,t),h=n.fragments[0].start):e&&(h=e.start,Hy(n,h))}if(a.details=n,this.levelLastLoaded=a,o===i&&(this.startFragRequested||!this.mainDetails&&n.live||this.setStartPosition(this.mainDetails||n,h),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===Jb)){eb(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),a.details=void 0)}}_handleFragmentLoadComplete(t){const{frag:e,payload:s}=t,i=e.decryptdata,r=this.hls;if(!this.fragContextChanged(e)&&s&&s.byteLength>0&&null!=i&&i.key&&i.iv&&"AES-128"===i.method){const t=performance.now();this.decrypter.decrypt(new Uint8Array(s),i.key.buffer,i.iv.buffer).catch((t=>{throw r.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((s=>{const i=performance.now();r.trigger(rg.FRAG_DECRYPTED,{frag:e,payload:s,stats:{tstart:t,tdecrypt:i}})})).catch((t=>{this.warn(`${t.name}: ${t.message}`),this.state=Jb}))}}doTick(){if(this.media){if(this.state===Jb){const{currentTrackId:t,levels:e}=this,s=null==e?void 0:e[t];if(!s||!e.length||!s.details)return;const{config:i}=this,r=this.getLoadPosition(),n=Lb.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,i.maxBufferHole),{end:o,len:a}=n,h=this.getFwdBufferInfo(this.media,dy),c=s.details;if(a>this.getMaxBufferLength(null==h?void 0:h.len)+c.levelTargetDuration)return;const l=c.fragments,d=l.length,u=c.edge;let p=null;const f=this.fragPrevious;if(ou-t?0:t;p=eb(f,l,Math.max(l[0].start,o),e),!p&&f&&f.startthis.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null;const e=wy(this.media.textTracks);for(let s=0;s-1&&this.toggleTrackModes()}registerListeners(){const{hls:t}=this;t.on(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(rg.LEVEL_LOADING,this.onLevelLoading,this),t.on(rg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(rg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.on(rg.ERROR,this.onError,this)}unregisterListeners(){const{hls:t}=this;t.off(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(rg.LEVEL_LOADING,this.onLevelLoading,this),t.off(rg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(rg.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),t.off(rg.ERROR,this.onError,this)}onMediaAttached(t,e){this.media=e.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(t){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,t)}onMediaDetaching(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId);wy(this.media.textTracks).forEach((t=>{by(t)})),this.subtitleTrack=-1,this.media=null}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(t,e){this.tracks=e.subtitleTracks}onSubtitleTrackLoaded(t,e){const{id:s,groupId:i,details:r}=e,n=this.tracksInGroup[s];if(!n||n.groupId!==i)return void this.warn(`Subtitle track with id:${s} and group:${i} not found in active group ${null==n?void 0:n.groupId}`);const o=n.details;n.details=e.details,this.log(`Subtitle track ${s} "${n.name}" lang:${n.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId&&this.playlistLoaded(s,e,o)}onLevelLoading(t,e){this.switchLevel(e.level)}onLevelSwitching(t,e){this.switchLevel(e.level)}switchLevel(t){const e=this.hls.levels[t];if(!e)return;const s=e.subtitleGroups||null,i=this.groupIds;let r=this.currentTrack;if(!s||(null==i?void 0:i.length)!==(null==s?void 0:s.length)||null!=s&&s.some((t=>-1===(null==i?void 0:i.indexOf(t))))){this.groupIds=s,this.trackId=-1,this.currentTrack=null;const t=this.tracks.filter((t=>!s||-1!==s.indexOf(t.groupId)));if(t.length)this.selectDefaultTrack&&!t.some((t=>t.default))&&(this.selectDefaultTrack=!1),t.forEach(((t,e)=>{t.id=e}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=t;const e=this.hls.config.subtitlePreference;if(!r&&e){this.selectDefaultTrack=!1;const s=vb(e,t);if(s>-1)r=t[s];else{const t=vb(e,this.tracks);r=this.tracks[t]}}let i=this.findTrackId(r);-1===i&&r&&(i=this.findTrackId(null));const n={subtitleTracks:t};this.log(`Updating subtitle tracks, ${t.length} track(s) found in "${null==s?void 0:s.join(",")}" group-id`),this.hls.trigger(rg.SUBTITLE_TRACKS_UPDATED,n),-1!==i&&-1===this.trackId&&this.setSubtitleTrack(i)}else this.shouldReloadPlaylist(r)&&this.setSubtitleTrack(this.trackId)}findTrackId(t){const e=this.tracksInGroup,s=this.selectDefaultTrack;for(let i=0;i-1){const t=this.tracksInGroup[i];return this.setSubtitleTrack(i),t}if(s)return null;{const s=vb(t,e);if(s>-1)return e[s]}}}return null}loadPlaylist(t){super.loadPlaylist();const e=this.currentTrack;if(this.shouldLoadPlaylist(e)&&e){const s=e.id,i=e.groupId;let r=e.url;if(t)try{r=t.addDirectives(r)}catch(t){this.warn(`Could not construct new URL with HLS Delivery Directives: ${t}`)}this.log(`Loading subtitle playlist for id ${s}`),this.hls.trigger(rg.SUBTITLE_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:t||null})}}toggleTrackModes(){const{media:t}=this;if(!t)return;const e=wy(t.textTracks),s=this.currentTrack;let i;if(s&&(i=e.filter((t=>gw(s,t)))[0],i||this.warn(`Unable to find subtitle TextTrack with name "${s.name}" and language "${s.lang}"`)),[].slice.call(e).forEach((t=>{"disabled"!==t.mode&&t!==i&&(t.mode="disabled")})),i){const t=this.subtitleDisplay?"showing":"hidden";i.mode!==t&&(i.mode=t)}}setSubtitleTrack(t){const e=this.tracksInGroup;if(!this.media)return void(this.queuedDefaultTrack=t);if(t<-1||t>=e.length||!eg(t))return void this.warn(`Invalid subtitle track id: ${t}`);this.clearTimer(),this.selectDefaultTrack=!1;const s=this.currentTrack,i=e[t]||null;if(this.trackId=t,this.currentTrack=i,this.toggleTrackModes(),!i)return void this.hls.trigger(rg.SUBTITLE_TRACK_SWITCH,{id:t});const r=!!i.details&&!i.details.live;if(t===this.trackId&&i===s&&r)return;this.log(`Switching to subtitle-track ${t}`+(i?` "${i.name}" lang:${i.lang} group:${i.groupId}`:""));const{id:n,groupId:o="",name:a,type:h,url:c}=i;this.hls.trigger(rg.SUBTITLE_TRACK_SWITCH,{id:n,groupId:o,name:a,type:h,url:c});const l=this.switchParams(i.url,null==s?void 0:s.details,i.details);this.loadPlaylist(l)}},timelineController:class{constructor(t){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this.captionsProperties=void 0,this.hls=t,this.config=t.config,this.Cues=t.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},t.on(rg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.on(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(rg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.on(rg.FRAG_LOADING,this.onFragLoading,this),t.on(rg.FRAG_LOADED,this.onFragLoaded,this),t.on(rg.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.on(rg.FRAG_DECRYPTED,this.onFragDecrypted,this),t.on(rg.INIT_PTS_FOUND,this.onInitPtsFound,this),t.on(rg.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.on(rg.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:t}=this;t.off(rg.MEDIA_ATTACHING,this.onMediaAttaching,this),t.off(rg.MEDIA_DETACHING,this.onMediaDetaching,this),t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(rg.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),t.off(rg.FRAG_LOADING,this.onFragLoading,this),t.off(rg.FRAG_LOADED,this.onFragLoaded,this),t.off(rg.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),t.off(rg.FRAG_DECRYPTED,this.onFragDecrypted,this),t.off(rg.INIT_PTS_FOUND,this.onInitPtsFound,this),t.off(rg.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),t.off(rg.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){const t=new Nw(this,"textTrack1"),e=new Nw(this,"textTrack2"),s=new Nw(this,"textTrack3"),i=new Nw(this,"textTrack4");this.cea608Parser1=new Ow(1,t,e),this.cea608Parser2=new Ow(3,s,i)}}addCues(t,e,s,i,r){let n=!1;for(let t=r.length;t--;){const i=r[t],l=(o=i[0],a=i[1],h=e,c=s,Math.min(a,c)-Math.max(o,h));if(l>=0&&(i[0]=Math.min(i[0],e),i[1]=Math.max(i[1],s),n=!0,l/(s-e)>.5))return}var o,a,h,c;if(n||r.push([e,s]),this.config.renderTextTracksNatively){const r=this.captionsTracks[t];this.Cues.newCue(r,e,s,i)}else{const r=this.Cues.newCue(null,e,s,i);this.hls.trigger(rg.CUES_PARSED,{type:"captions",cues:r,track:t})}}onInitPtsFound(t,{frag:e,id:s,initPTS:i,timescale:r}){const{unparsedVttFrags:n}=this;"main"===s&&(this.initPTS[e.cc]={baseTime:i,timescale:r}),n.length&&(this.unparsedVttFrags=[],n.forEach((t=>{this.onFragLoaded(rg.FRAG_LOADED,t)})))}getExistingTrack(t,e){const{media:s}=this;if(s)for(let i=0;i{by(t[e]),delete t[e]})),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}},this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:t}=this;if(!t)return;const e=t.textTracks;if(e)for(let t=0;tt.textCodec===sS));if(this.config.enableWebVTT||i&&this.config.enableIMSC1){if(fw(this.tracks,s))return void(this.tracks=s);if(this.textTracks=[],this.tracks=s,this.config.renderTextTracksNatively){const t=this.media,e=t?wy(t.textTracks):null;if(this.tracks.forEach(((t,s)=>{let i;if(e){let s=null;for(let i=0;inull!==t)).map((t=>t.label));t.length&&dg.warn(`Media element contains unused subtitle tracks: ${t.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const t=this.tracks.map((t=>({label:t.name,kind:t.type.toLowerCase(),default:t.default,subtitleTrack:t})));this.hls.trigger(rg.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:t})}}}onManifestLoaded(t,e){this.config.enableCEA708Captions&&e.captions&&e.captions.forEach((t=>{const e=/(?:CC|SERVICE)([1-4])/.exec(t.instreamId);if(!e)return;const s=`textTrack${e[1]}`,i=this.captionsProperties[s];i&&(i.label=t.name,t.lang&&(i.languageCode=t.lang),i.media=t)}))}closedCaptionsForLevel(t){const e=this.hls.levels[t.level];return null==e?void 0:e.attrs["CLOSED-CAPTIONS"]}onFragLoading(t,e){if(this.enabled&&e.frag.type===dy){var s,i;const{cea608Parser1:t,cea608Parser2:r,lastSn:n}=this,{cc:o,sn:a}=e.frag,h=null!=(s=null==(i=e.part)?void 0:i.index)?s:-1;t&&r&&(a!==n+1||a===n&&h!==this.lastPartIndex+1||o!==this.lastCc)&&(t.reset(),r.reset()),this.lastCc=o,this.lastSn=a,this.lastPartIndex=h}}onFragLoaded(t,e){const{frag:s,payload:i}=e;if(s.type===py)if(i.byteLength){const t=s.decryptdata,r="stats"in e;if(null==t||!t.encrypted||r){const t=this.tracks[s.level],r=this.vttCCs;r[s.cc]||(r[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc),t&&t.textCodec===sS?this._parseIMSC1(s,i):this._parseVTTs(e)}}else this.hls.trigger(rg.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:new Error("Empty subtitle payload")})}_parseIMSC1(t,e){const s=this.hls;oS(e,this.initPTS[t.cc],(e=>{this._appendCues(e,t.level),s.trigger(rg.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:t})}),(e=>{dg.log(`Failed to parse IMSC1: ${e}`),s.trigger(rg.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:t,error:e})}))}_parseVTTs(t){var e;const{frag:s,payload:i}=t,{initPTS:r,unparsedVttFrags:n}=this,o=r.length-1;if(!r[s.cc]&&-1===o)return void n.push(t);const a=this.hls;eS(null!=(e=s.initSegment)&&e.data?EA(s.initSegment.data,new Uint8Array(i)):i,this.initPTS[s.cc],this.vttCCs,s.cc,s.start,(t=>{this._appendCues(t,s.level),a.trigger(rg.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s})}),(e=>{const r="Missing initPTS for VTT MPEGTS"===e.message;r?n.push(t):this._fallbackToIMSC1(s,i),dg.log(`Failed to parse VTT cue: ${e}`),r&&o>s.cc||a.trigger(rg.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,error:e})}))}_fallbackToIMSC1(t,e){const s=this.tracks[t.level];s.textCodec||oS(e,this.initPTS[t.cc],(()=>{s.textCodec=sS,this._parseIMSC1(t,e)}),(()=>{s.textCodec="wvtt"}))}_appendCues(t,e){const s=this.hls;if(this.config.renderTextTracksNatively){const s=this.textTracks[e];if(!s||"disabled"===s.mode)return;t.forEach((t=>yy(s,t)))}else{const i=this.tracks[e];if(!i)return;const r=i.default?"default":"subtitles"+e;s.trigger(rg.CUES_PARSED,{type:"subtitles",cues:t,track:r})}}onFragDecrypted(t,e){const{frag:s}=e;s.type===py&&this.onFragLoaded(rg.FRAG_LOADED,e)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(t,e){this.initCea608Parsers();const{cea608Parser1:s,cea608Parser2:i}=this;if(!this.enabled||!s||!i)return;const{frag:r,samples:n}=e;if(r.type!==dy||"NONE"!==this.closedCaptionsForLevel(r))for(let t=0;tvy(t[i],e,s)))}if(this.config.renderTextTracksNatively&&0===e&&void 0!==i){const{textTracks:t}=this;Object.keys(t).forEach((s=>vy(t[s],e,i)))}}}extractCea608Data(t){const e=[[],[]],s=31&t[0];let i=2;for(let r=0;r0&&-1===t?(this.log(`Override startPosition with lastCurrentTime @${e.toFixed(3)}`),t=e,this.state=Jb):(this.loadedmetadata=!1,this.state=tv),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}doTick(){switch(this.state){case Jb:this.doTickIdle();break;case tv:{var t;const{levels:e,trackId:s}=this,i=null==e||null==(t=e[s])?void 0:t.details;if(i){if(this.waitForCdnTuneIn(i))break;this.state=nv}break}case $b:{var e;const t=performance.now(),s=this.retryDate;if(!s||t>=s||null!=(e=this.media)&&e.seeking){const{levels:t,trackId:e}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==t?void 0:t[e])||null),this.state=Jb}break}case nv:{const t=this.waitingData;if(t){const{frag:e,part:s,cache:i,complete:r}=t;if(void 0!==this.initPTS[e.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=Zb;const t={frag:e,part:s,payload:i.flush(),networkDetails:null};this._handleFragmentLoadProgress(t),r&&super._handleFragmentLoadComplete(t)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${e.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{const t=this.getLoadPosition(),s=Lb.bufferInfo(this.mediaBuffer,t,this.config.maxBufferHole);sb(s.end,this.config.maxFragLookUpTolerance,e)<0&&(this.log(`Waiting fragment cc (${e.cc}) @ ${e.start} cancelled because another fragment at ${s.end} is needed`),this.clearWaitingFragment())}}else this.state=Jb}}this.onTickEnd()}clearWaitingFragment(){const t=this.waitingData;t&&(this.fragmentTracker.removeFragment(t.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Jb)}resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState()}onTickEnd(){const{media:t}=this;null!=t&&t.readyState&&(this.lastCurrentTime=t.currentTime)}doTickIdle(){const{hls:t,levels:e,media:s,trackId:i}=this,r=t.config;if(!s&&(this.startFragRequested||!r.startFragPrefetch)||null==e||!e[i])return;const n=e[i],o=n.details;if(!o||o.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(o))return void(this.state=tv);const a=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&a&&(this.bufferFlushed=!1,this.afterBufferFlushed(a,yg,uy));const h=this.getFwdBufferInfo(a,uy);if(null===h)return;const{bufferedTrack:c,switchingTrack:l}=this;if(!l&&this._streamEnded(h,o))return t.trigger(rg.BUFFER_EOS,{type:"audio"}),void(this.state=iv);const d=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,dy),u=h.len,p=this.getMaxBufferLength(null==d?void 0:d.len),f=o.fragments,m=f[0].start;let g=this.flushing?this.getLoadPosition():h.end;if(l&&s){const t=this.getLoadPosition();c&&!mw(l.attrs,c.attrs)&&(g=t),o.PTSKnown&&tm||h.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),s.currentTime=m+.05)}if(u>=p&&!l&&gd.end+o.targetduration;if(b||(null==d||!d.len)&&h.len){const t=this.getAppendedFrag(A.start,dy);if(null===t)return;if(y||(y=!!t.gap||!!b&&0===d.len),b&&!y||y&&h.nextStart&&h.nextStartnew jy(t)))}onAudioTrackSwitching(t,e){const s=!!e.url;this.trackId=e.id;const{fragCurrent:i}=this;i&&(i.abortRequests(),this.removeUnbufferedFrags(i.start)),this.resetLoadingState(),s?this.setInterval(100):this.resetTransmuxer(),s?(this.switchingTrack=e,this.state=Jb,this.flushAudioIfNeeded(e)):(this.switchingTrack=null,this.bufferedTrack=e,this.state=qb),this.tick()}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1}onLevelLoaded(t,e){this.mainDetails=e.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(rg.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)}onAudioTrackLoaded(t,e){var s;if(null==this.mainDetails)return void(this.cachedTrackLoadedData=e);const{levels:i}=this,{details:r,id:n}=e;if(!i)return void this.warn(`Audio tracks were reset while loading level ${n}`);this.log(`Audio track ${n} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);const o=i[n];let a=0;if(r.live||null!=(s=o.details)&&s.live){this.checkLiveUpdate(r);const t=this.mainDetails;if(r.deltaUpdateFailed||!t)return;var h;if(!o.details&&r.hasProgramDateTime&&t.hasProgramDateTime)Ub(r,t),a=r.fragments[0].start;else a=this.alignPlaylists(r,o.details,null==(h=this.levelLastLoaded)?void 0:h.details)}o.details=r,this.levelLastLoaded=o,this.startFragRequested||!this.mainDetails&&r.live||this.setStartPosition(this.mainDetails||r,a),this.state!==tv||this.waitForCdnTuneIn(r)||(this.state=Jb),this.tick()}_handleFragmentLoadProgress(t){var e;const{frag:s,part:i,payload:r}=t,{config:n,trackId:o,levels:a}=this;if(!a)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);const h=a[o];if(!h)return void this.warn("Audio track is undefined on fragment load progress");const c=h.details;if(!c)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(s.start);const l=n.defaultAudioCodec||h.audioCodec||"mp4a.40.2";let d=this.transmuxer;d||(d=this.transmuxer=new pw(this.hls,uy,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const u=this.initPTS[s.cc],p=null==(e=s.initSegment)?void 0:e.data;if(void 0!==u){const t=!1,e=i?i.index:-1,n=-1!==e,o=new Pb(s.level,s.sn,s.stats.chunkCount,r.byteLength,e,n);d.push(r,p,l,"",s,i,c.totalduration,t,o,u)}else{this.log(`Unknown video PTS for cc ${s.cc}, waiting for video PTS before demuxing audio frag ${s.sn} of [${c.startSN} ,${c.endSN}],track ${o}`);const{cache:t}=this.waitingData=this.waitingData||{frag:s,part:i,cache:new hv,complete:!1};t.push(new Uint8Array(r)),this.waitingVideoCC=this.videoTrackCC,this.state=nv}}_handleFragmentLoadComplete(t){this.waitingData?this.waitingData.complete=!0:super._handleFragmentLoadComplete(t)}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1}onBufferCreated(t,e){const s=e.tracks.audio;s&&(this.mediaBuffer=s.buffer||null),e.tracks.video&&(this.videoBuffer=e.tracks.video.buffer||null)}onFragBuffered(t,e){const{frag:s,part:i}=e;if(s.type===uy)if(this.fragContextChanged(s))this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);else{if("initSegment"!==s.sn){this.fragPrevious=s;const t=this.switchingTrack;t&&(this.bufferedTrack=t,this.switchingTrack=null,this.hls.trigger(rg.AUDIO_TRACK_SWITCHED,Xm({},t)))}this.fragBufferedComplete(s,i)}else if(!this.loadedmetadata&&s.type===dy){const t=this.videoBuffer||this.media;if(t){Lb.getBuffered(t).length&&(this.loadedmetadata=!0)}}}onError(t,e){var s;if(e.fatal)this.state=rv;else switch(e.details){case og.FRAG_GAP:case og.FRAG_PARSING_ERROR:case og.FRAG_DECRYPT_ERROR:case og.FRAG_LOAD_ERROR:case og.FRAG_LOAD_TIMEOUT:case og.KEY_LOAD_ERROR:case og.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(uy,e);break;case og.AUDIO_TRACK_LOAD_ERROR:case og.AUDIO_TRACK_LOAD_TIMEOUT:case og.LEVEL_PARSING_ERROR:e.levelRetry||this.state!==tv||(null==(s=e.context)?void 0:s.type)!==cy||(this.state=Jb);break;case og.BUFFER_APPEND_ERROR:case og.BUFFER_FULL_ERROR:if(!e.parent||"audio"!==e.parent)return;if(e.details===og.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(e)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case og.INTERNAL_EXCEPTION:this.recoverWorkerError(e)}}onBufferFlushing(t,{type:e}){e!==bg&&(this.flushing=!0)}onBufferFlushed(t,{type:e}){if(e!==bg){this.flushing=!1,this.bufferFlushed=!0,this.state===iv&&(this.state=Jb);const t=this.mediaBuffer||this.media;t&&(this.afterBufferFlushed(t,e,uy),this.tick())}}_handleTransmuxComplete(t){var e;const s="audio",{hls:i}=this,{remuxResult:r,chunkMeta:n}=t,o=this.getCurrentContext(n);if(!o)return void this.resetWhenMissingContext(n);const{frag:a,part:h,level:c}=o,{details:l}=c,{audio:d,text:u,id3:p,initSegment:f}=r;if(!this.fragContextChanged(a)&&l){if(this.state=ev,this.switchingTrack&&d&&this.completeAudioSwitch(this.switchingTrack),null!=f&&f.tracks){const t=a.initSegment||a;this._bufferInitSegment(c,f.tracks,t,n),i.trigger(rg.FRAG_PARSING_INIT_SEGMENT,{frag:t,id:s,tracks:f.tracks})}if(d){const{startPTS:t,endPTS:e,startDTS:s,endDTS:i}=d;h&&(h.elementaryStreams[yg]={startPTS:t,endPTS:e,startDTS:s,endDTS:i}),a.setElementaryStreamInfo(yg,t,e,s,i),this.bufferFragmentData(d,a,h,n)}if(null!=p&&null!=(e=p.samples)&&e.length){const t=tg({id:s,frag:a,details:l},p);i.trigger(rg.FRAG_PARSING_METADATA,t)}if(u){const t=tg({id:s,frag:a,details:l},u);i.trigger(rg.FRAG_PARSING_USERDATA,t)}}else this.fragmentTracker.removeFragment(a)}_bufferInitSegment(t,e,s,i){if(this.state!==ev)return;e.video&&delete e.video;const r=e.audio;if(!r)return;r.id="audio";const n=t.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${n}/${r.codec}]`),n&&1===n.split(",").length&&(r.levelCodec=n),this.hls.trigger(rg.BUFFER_CODECS,e);const o=r.initSegment;if(null!=o&&o.byteLength){const t={type:"audio",frag:s,part:null,chunkMeta:i,parent:s.type,data:o};this.hls.trigger(rg.BUFFER_APPENDING,t)}this.tickImmediate()}loadFragment(t,e,s){const i=this.fragmentTracker.getState(t);var r;if(this.fragCurrent=t,this.switchingTrack||i===Ib||i===kb)if("initSegment"===t.sn)this._loadInitSegment(t,e);else if(null!=(r=e.details)&&r.live&&!this.initPTS[t.cc]){this.log(`Waiting for video PTS in continuity counter ${t.cc} of live stream before loading audio fragment ${t.sn} of level ${this.trackId}`),this.state=nv;const s=this.mainDetails;s&&s.fragments[0].start!==e.details.fragments[0].start&&Ub(e.details,s)}else this.startFragRequested=!0,super.loadFragment(t,e,s);else this.clearTrackerIfNeeded(t)}flushAudioIfNeeded(t){const{media:e,bufferedTrack:s}=this,i=null==s?void 0:s.attrs,r=t.attrs;e&&i&&(i.CHANNELS!==r.CHANNELS||s.name!==t.name||s.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)}completeAudioSwitch(t){const{hls:e}=this;this.flushAudioIfNeeded(t),this.bufferedTrack=t,this.switchingTrack=null,e.trigger(rg.AUDIO_TRACK_SWITCHED,Xm({},t))}},audioTrackController:class extends db{constructor(t){super(t,"[audio-track-controller]"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){const{hls:t}=this;t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(rg.LEVEL_LOADING,this.onLevelLoading,this),t.on(rg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.on(rg.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.on(rg.ERROR,this.onError,this)}unregisterListeners(){const{hls:t}=this;t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(rg.LEVEL_LOADING,this.onLevelLoading,this),t.off(rg.LEVEL_SWITCHING,this.onLevelSwitching,this),t.off(rg.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),t.off(rg.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(t,e){this.tracks=e.audioTracks||[]}onAudioTrackLoaded(t,e){const{id:s,groupId:i,details:r}=e,n=this.tracksInGroup[s];if(!n||n.groupId!==i)return void this.warn(`Audio track with id:${s} and group:${i} not found in active group ${null==n?void 0:n.groupId}`);const o=n.details;n.details=e.details,this.log(`Audio track ${s} "${n.name}" lang:${n.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId&&this.playlistLoaded(s,e,o)}onLevelLoading(t,e){this.switchLevel(e.level)}onLevelSwitching(t,e){this.switchLevel(e.level)}switchLevel(t){const e=this.hls.levels[t];if(!e)return;const s=e.audioGroups||null,i=this.groupIds;let r=this.currentTrack;if(!s||(null==i?void 0:i.length)!==(null==s?void 0:s.length)||null!=s&&s.some((t=>-1===(null==i?void 0:i.indexOf(t))))){this.groupIds=s,this.trackId=-1,this.currentTrack=null;const t=this.tracks.filter((t=>!s||-1!==s.indexOf(t.groupId)));if(t.length)this.selectDefaultTrack&&!t.some((t=>t.default))&&(this.selectDefaultTrack=!1),t.forEach(((t,e)=>{t.id=e}));else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=t;const e=this.hls.config.audioPreference;if(!r&&e){const s=vb(e,t,Sb);if(s>-1)r=t[s];else{const t=vb(e,this.tracks);r=this.tracks[t]}}let i=this.findTrackId(r);-1===i&&r&&(i=this.findTrackId(null));const o={audioTracks:t};this.log(`Updating audio tracks, ${t.length} track(s) found in group(s): ${null==s?void 0:s.join(",")}`),this.hls.trigger(rg.AUDIO_TRACKS_UPDATED,o);const a=this.trackId;if(-1!==i&&-1===a)this.setAudioTrack(i);else if(t.length&&-1===a){var n;const e=new Error(`No audio track selected for current audio group-ID(s): ${null==(n=this.groupIds)?void 0:n.join(",")} track count: ${t.length}`);this.warn(e.message),this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:e})}}else this.shouldReloadPlaylist(r)&&this.setAudioTrack(this.trackId)}onError(t,e){!e.fatal&&e.context&&(e.context.type!==cy||e.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(e.context.groupId)||(this.requestScheduled=-1,this.checkRetry(e)))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(t){this.selectDefaultTrack=!1,this.setAudioTrack(t)}setAudioOption(t){const e=this.hls;if(e.config.audioPreference=t,t){const s=this.allAudioTracks;if(this.selectDefaultTrack=!1,s.length){const i=this.currentTrack;if(i&&wb(t,i,Sb))return i;const r=vb(t,this.tracksInGroup,Sb);if(r>-1){const t=this.tracksInGroup[r];return this.setAudioTrack(r),t}if(i){let i=e.loadLevel;-1===i&&(i=e.firstAutoLevel);const r=function(t,e,s,i,r){const n=e[i],o=e.reduce(((t,e,s)=>{const i=e.uri;return(t[i]||(t[i]=[])).push(s),t}),{})[n.uri];o.length>1&&(i=Math.max.apply(Math,o));const a=n.videoRange,h=n.frameRate,c=n.codecSet.substring(0,4),l=Eb(e,i,(e=>{if(e.videoRange!==a||e.frameRate!==h||e.codecSet.substring(0,4)!==c)return!1;const i=e.audioGroups,n=s.filter((t=>!i||-1!==i.indexOf(t.groupId)));return vb(t,n,r)>-1}));return l>-1?l:Eb(e,i,(e=>{const i=e.audioGroups,n=s.filter((t=>!i||-1!==i.indexOf(t.groupId)));return vb(t,n,r)>-1}))}(t,e.levels,s,i,Sb);if(-1===r)return null;e.nextLoadLevel=r}if(t.channels||t.audioCodec){const e=vb(t,s);if(e>-1)return s[e]}}}return null}setAudioTrack(t){const e=this.tracksInGroup;if(t<0||t>=e.length)return void this.warn(`Invalid audio track id: ${t}`);this.clearTimer(),this.selectDefaultTrack=!1;const s=this.currentTrack,i=e[t],r=i.details&&!i.details.live;if(t===this.trackId&&i===s&&r)return;if(this.log(`Switching to audio-track ${t} "${i.name}" lang:${i.lang} group:${i.groupId} channels:${i.channels}`),this.trackId=t,this.currentTrack=i,this.hls.trigger(rg.AUDIO_TRACK_SWITCHING,Xm({},i)),r)return;const n=this.switchParams(i.url,null==s?void 0:s.details,i.details);this.loadPlaylist(n)}findTrackId(t){const e=this.tracksInGroup;for(let s=0;s{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=t=>{try{this.apply(t,{ot:bS.MANIFEST,su:!this.initialized})}catch(t){dg.warn("Could not generate manifest CMCD data.",t)}},this.applyFragmentData=t=>{try{const e=t.frag,s=this.hls.levels[e.level],i=this.getObjectType(e),r={d:1e3*e.duration,ot:i};i!==bS.VIDEO&&i!==bS.AUDIO&&i!=bS.MUXED||(r.br=s.bitrate/1e3,r.tb=this.getTopBandwidth(i)/1e3,r.bl=this.getBufferLength(i)),this.apply(t,r)}catch(t){dg.warn("Could not generate segment CMCD data.",t)}},this.hls=t;const e=this.config=t.config,{cmcd:s}=e;null!=s&&(e.pLoader=this.createPlaylistLoader(),e.fLoader=this.createFragmentLoader(),this.sid=s.sessionId||function(){try{return crypto.randomUUID()}catch(t){try{const t=URL.createObjectURL(new Blob),e=t.toString();return URL.revokeObjectURL(t),e.slice(e.lastIndexOf("/")+1)}catch(t){let e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(t=>{const s=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?s:3&s|8).toString(16)}))}}}(),this.cid=s.contentId,this.useHeaders=!0===s.useHeaders,this.includeKeys=s.includeKeys,this.registerListeners())}registerListeners(){const t=this.hls;t.on(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.on(rg.MEDIA_DETACHED,this.onMediaDetached,this),t.on(rg.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const t=this.hls;t.off(rg.MEDIA_ATTACHED,this.onMediaAttached,this),t.off(rg.MEDIA_DETACHED,this.onMediaDetached,this),t.off(rg.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null}onMediaAttached(t,e){this.media=e.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(t,e){var s,i;this.audioBuffer=null==(s=e.tracks.audio)?void 0:s.buffer,this.videoBuffer=null==(i=e.tracks.video)?void 0:i.buffer}createData(){var t;return{v:1,sf:vS.HLS,sid:this.sid,cid:this.cid,pr:null==(t=this.media)?void 0:t.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(t,e={}){tg(e,this.createData());const s=e.ot===bS.INIT||e.ot===bS.VIDEO||e.ot===bS.MUXED;this.starved&&s&&(e.bs=!0,e.su=!0,this.starved=!1),null==e.su&&(e.su=this.buffering);const{includeKeys:i}=this;i&&(e=Object.keys(e).reduce(((t,s)=>(i.includes(s)&&(t[s]=e[s]),t)),{})),this.useHeaders?(t.headers||(t.headers={}),GS(t.headers,e)):t.url=KS(t.url,e)}getObjectType(t){const{type:e}=t;return"subtitle"===e?bS.TIMED_TEXT:"initSegment"===t.sn?bS.INIT:"audio"===e?bS.AUDIO:"main"===e?this.hls.audioTracks.length?bS.VIDEO:bS.MUXED:void 0}getTopBandwidth(t){let e,s=0;const i=this.hls;if(t===bS.AUDIO)e=i.audioTracks;else{const t=i.maxAutoLevel,s=t>-1?t+1:i.levels.length;e=i.levels.slice(0,s)}for(const t of e)t.bitrate>s&&(s=t.bitrate);return s>0?s:NaN}getBufferLength(t){const e=this.hls.media,s=t===bS.AUDIO?this.audioBuffer:this.videoBuffer;if(!s||!e)return NaN;return 1e3*Lb.bufferInfo(s,e.currentTime,this.config.maxBufferHole).len}createPlaylistLoader(){const{pLoader:t}=this.config,e=this.applyPlaylistData,s=t||this.config.loader;return class{constructor(t){this.loader=void 0,this.loader=new s(t)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(t,s,i){e(t),this.loader.load(t,s,i)}}}createFragmentLoader(){const{fLoader:t}=this.config,e=this.applyFragmentData,s=t||this.config.loader;return class{constructor(t){this.loader=void 0,this.loader=new s(t)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(t,s,i){e(t),this.loader.load(t,s,i)}}}},contentSteeringController:class{constructor(t){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=t,this.log=dg.log.bind(dg,"[content-steering]:"),this.registerListeners()}registerListeners(){const t=this.hls;t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.on(rg.ERROR,this.onError,this)}unregisterListeners(){const t=this.hls;t&&(t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(rg.MANIFEST_PARSED,this.onManifestParsed,this),t.off(rg.ERROR,this.onError,this))}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){const t=1e3*this.timeToLoad-(performance.now()-this.updated);if(t>0)return void this.scheduleRefresh(this.uri,t)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(t){const e=this.levels;e&&(this.levels=e.filter((e=>e!==t)))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(t,e){const{contentSteering:s}=e;null!==s&&(this.pathwayId=s.pathwayId,this.uri=s.uri,this.started&&this.startLoad())}onManifestParsed(t,e){this.audioTracks=e.audioTracks,this.subtitleTracks=e.subtitleTracks}onError(t,e){const{errorAction:s}=e;if((null==s?void 0:s.action)===nb&&s.flags===cb){const t=this.levels;let i=this.pathwayPriority,r=this.pathwayId;if(e.context){const{groupId:s,pathwayId:i,type:n}=e.context;s&&t?r=this.getPathwayForGroupId(s,n,r):i&&(r=i)}r in this.penalizedPathways||(this.penalizedPathways[r]=performance.now()),!i&&t&&(i=t.reduce(((t,e)=>(-1===t.indexOf(e.pathwayId)&&t.push(e.pathwayId),t)),[])),i&&i.length>1&&(this.updatePathwayPriority(i),s.resolved=this.pathwayId!==r),s.resolved||dg.warn(`Could not resolve ${e.details} ("${e.error.message}") with content-steering for Pathway: ${r} levels: ${t?t.length:t} priorities: ${JSON.stringify(i)} penalized: ${JSON.stringify(this.penalizedPathways)}`)}}filterParsedLevels(t){this.levels=t;let e=this.getLevelsForPathway(this.pathwayId);if(0===e.length){const s=t[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${s}"`),e=this.getLevelsForPathway(s),this.pathwayId=s}return e.length!==t.length?(this.log(`Found ${e.length}/${t.length} levels in Pathway "${this.pathwayId}"`),e):t}getLevelsForPathway(t){return null===this.levels?[]:this.levels.filter((e=>t===e.pathwayId))}updatePathwayPriority(t){let e;this.pathwayPriority=t;const s=this.penalizedPathways,i=performance.now();Object.keys(s).forEach((t=>{i-s[t]>3e5&&delete s[t]}));for(let i=0;i0){this.log(`Setting Pathway to "${r}"`),this.pathwayId=r,Yy(e),this.hls.trigger(rg.LEVELS_UPDATED,{levels:e});const t=this.hls.levels[n];o&&t&&this.levels&&(t.attrs["STABLE-VARIANT-ID"]!==o.attrs["STABLE-VARIANT-ID"]&&t.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${t.bitrate}`),this.hls.nextLoadLevel=n);break}}}getPathwayForGroupId(t,e,s){const i=this.getLevelsForPathway(s).concat(this.levels||[]);for(let s=0;s{const{ID:r,"BASE-ID":n,"URI-REPLACEMENT":o}=t;if(e.some((t=>t.pathwayId===r)))return;const a=this.getLevelsForPathway(n).map((t=>{const e=new fg(t.attrs);e["PATHWAY-ID"]=r;const n=e.AUDIO&&`${e.AUDIO}_clone_${r}`,a=e.SUBTITLES&&`${e.SUBTITLES}_clone_${r}`;n&&(s[e.AUDIO]=n,e.AUDIO=n),a&&(i[e.SUBTITLES]=a,e.SUBTITLES=a);const h=YS(t.uri,e["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",o),c=new jy({attrs:e,audioCodec:t.audioCodec,bitrate:t.bitrate,height:t.height,name:t.name,url:h,videoCodec:t.videoCodec,width:t.width});if(t.audioGroups)for(let e=1;e{this.log(`Loaded steering manifest: "${i}"`);const n=t.data;if(1!==n.VERSION)return void this.log(`Steering VERSION ${n.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=n.TTL;const{"RELOAD-URI":o,"PATHWAY-CLONES":a,"PATHWAY-PRIORITY":h}=n;if(o)try{this.uri=new self.URL(o,i).href}catch(t){return this.enabled=!1,void this.log(`Failed to parse Steering Manifest RELOAD-URI: ${o}`)}this.scheduleRefresh(this.uri||s.url),a&&this.clonePathways(a);const c={steeringManifest:n,url:i.toString()};this.hls.trigger(rg.STEERING_MANIFEST_LOADED,c),h&&this.updatePathwayPriority(h)},onError:(t,e,s,i)=>{if(this.log(`Error loading steering manifest: ${t.code} ${t.text} (${e.url})`),this.stopLoad(),410===t.code)return this.enabled=!1,void this.log(`Steering manifest ${e.url} no longer available`);let r=1e3*this.timeToLoad;if(429!==t.code)this.scheduleRefresh(this.uri||e.url,r);else{const t=this.loader;if("function"==typeof(null==t?void 0:t.getResponseHeader)){const e=t.getResponseHeader("Retry-After");e&&(r=1e3*parseFloat(e))}this.log(`Steering manifest ${e.url} rate limited`)}},onTimeout:(t,e,s)=>{this.log(`Timeout loading steering manifest (${e.url})`),this.scheduleRefresh(this.uri||e.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,a,h)}scheduleRefresh(t,e=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout((()=>{var e;const s=null==(e=this.hls)?void 0:e.media;!s||s.ended?this.scheduleRefresh(t,1e3*this.timeToLoad):this.loadSteeringManifest(t)}),e)}}});function rE(t){return t&&"object"==typeof t?Array.isArray(t)?t.map(rE):Object.keys(t).reduce(((e,s)=>(e[s]=rE(t[s]),e)),{}):t}function nE(t){const e=t.loader;if(e!==ZS&&e!==JS)dg.log("[config]: Custom loader detected, cannot enable progressive streaming"),t.progressive=!1;else{(function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(t){}return!1})()&&(t.loader=ZS,t.progressive=!0,t.enableSoftwareAES=!0,dg.log("[config]: Progressive streaming enabled, using FetchLoader"))}}let oE;class aE extends db{constructor(t,e){super(t,"[level-controller]"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=e,this._registerListeners()}_registerListeners(){const{hls:t}=this;t.on(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.on(rg.MANIFEST_LOADED,this.onManifestLoaded,this),t.on(rg.LEVEL_LOADED,this.onLevelLoaded,this),t.on(rg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.on(rg.FRAG_BUFFERED,this.onFragBuffered,this),t.on(rg.ERROR,this.onError,this)}_unregisterListeners(){const{hls:t}=this;t.off(rg.MANIFEST_LOADING,this.onManifestLoading,this),t.off(rg.MANIFEST_LOADED,this.onManifestLoaded,this),t.off(rg.LEVEL_LOADED,this.onLevelLoaded,this),t.off(rg.LEVELS_UPDATED,this.onLevelsUpdated,this),t.off(rg.FRAG_BUFFERED,this.onFragBuffered,this),t.off(rg.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((t=>{t.loadError=0,t.fragmentError=0})),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(t,e){this.resetLevels()}onManifestLoaded(t,e){const s=this.hls.config.preferManagedMediaSource,i=[],r={},n={};let o=!1,a=!1,h=!1;e.levels.forEach((t=>{var e,c;const l=t.attrs;let{audioCodec:d,videoCodec:u}=t;-1!==(null==(e=d)?void 0:e.indexOf("mp4a.40.34"))&&(oE||(oE=/chrome|firefox/i.test(navigator.userAgent)),oE&&(t.audioCodec=d=void 0)),d&&(t.audioCodec=d=KA(d,s)),0===(null==(c=u)?void 0:c.indexOf("avc1"))&&(u=t.videoCodec=function(t){const e=t.split(",");for(let t=0;t2){let i=s.shift()+".";i+=parseInt(s.shift()).toString(16),i+=("000"+parseInt(s.shift()).toString(16)).slice(-4),e[t]=i}}return e.join(",")}(u));const{width:p,height:f,unknownCodecs:m}=t;if(o||(o=!(!p||!f)),a||(a=!!u),h||(h=!!d),null!=m&&m.length||d&&!jA(d,"audio",s)||u&&!jA(u,"video",s))return;const{CODECS:g,"FRAME-RATE":A,"HDCP-LEVEL":y,"PATHWAY-ID":b,RESOLUTION:v,"VIDEO-RANGE":w}=l,S=`${`${b||"."}-`}${t.bitrate}-${v}-${A}-${g}-${w}-${y}`;if(r[S])if(r[S].uri===t.url||t.attrs["PATHWAY-ID"])r[S].addGroupId("audio",l.AUDIO),r[S].addGroupId("text",l.SUBTITLES);else{const e=n[S]+=1;t.attrs["PATHWAY-ID"]=new Array(e+1).join(".");const s=new jy(t);r[S]=s,i.push(s)}else{const e=new jy(t);r[S]=e,n[S]=1,i.push(e)}})),this.filterAndSortMediaOptions(i,e,o,a,h)}filterAndSortMediaOptions(t,e,s,i,r){let n=[],o=[],a=t;if((s||i)&&r&&(a=a.filter((({videoCodec:t,videoRange:e,width:s,height:i})=>{return(!!t||!(!s||!i))&&(!!(r=e)&&Py.indexOf(r)>-1);var r}))),0===a.length)return void Promise.resolve().then((()=>{if(this.hls){e.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(e.levels[0].attrs)}`);const t=new Error("no level with compatible codecs found in manifest");this.hls.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:e.url,error:t,reason:t.message})}}));if(e.audioTracks){const{preferManagedMediaSource:t}=this.hls.config;n=e.audioTracks.filter((e=>!e.audioCodec||jA(e.audioCodec,"audio",t))),hE(n)}e.subtitles&&(o=e.subtitles,hE(o));const h=a.slice(0);a.sort(((t,e)=>{if(t.attrs["HDCP-LEVEL"]!==e.attrs["HDCP-LEVEL"])return(t.attrs["HDCP-LEVEL"]||"")>(e.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&t.height!==e.height)return t.height-e.height;if(t.frameRate!==e.frameRate)return t.frameRate-e.frameRate;if(t.videoRange!==e.videoRange)return Py.indexOf(t.videoRange)-Py.indexOf(e.videoRange);if(t.videoCodec!==e.videoCodec){const s=zA(t.videoCodec),i=zA(e.videoCodec);if(s!==i)return i-s}if(t.uri===e.uri&&t.codecSet!==e.codecSet){const s=WA(t.codecSet),i=WA(e.codecSet);if(s!==i)return i-s}return t.averageBitrate!==e.averageBitrate?t.averageBitrate-e.averageBitrate:0}));let c=h[0];if(this.steering&&(a=this.steering.filterParsedLevels(a),a.length!==h.length))for(let t=0;ts&&s===iE.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=t)}break}const d=r&&!i,u={levels:a,audioTracks:n,subtitleTracks:o,sessionData:e.sessionData,sessionKeys:e.sessionKeys,firstLevel:this._firstLevel,stats:e.stats,audio:r,video:i,altAudio:!d&&n.some((t=>!!t.url))};this.hls.trigger(rg.MANIFEST_PARSED,u),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}get levels(){return 0===this._levels.length?null:this._levels}get level(){return this.currentLevelIndex}set level(t){const e=this._levels;if(0===e.length)return;if(t<0||t>=e.length){const s=new Error("invalid level idx"),i=t<0;if(this.hls.trigger(rg.ERROR,{type:ng.OTHER_ERROR,details:og.LEVEL_SWITCH_ERROR,level:t,fatal:i,error:s,reason:s.message}),i)return;t=Math.min(t,e.length-1)}const s=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,n=e[t],o=n.attrs["PATHWAY-ID"];if(this.currentLevelIndex=t,this.currentLevel=n,s===t&&n.details&&i&&r===o)return;this.log(`Switching to level ${t} (${n.height?n.height+"p ":""}${n.videoRange?n.videoRange+" ":""}${n.codecSet?n.codecSet+" ":""}@${n.bitrate})${o?" with Pathway "+o:""} from level ${s}${r?" with Pathway "+r:""}`);const a={level:t,attrs:n.attrs,details:n.details,bitrate:n.bitrate,averageBitrate:n.averageBitrate,maxBitrate:n.maxBitrate,realBitrate:n.realBitrate,width:n.width,height:n.height,codecSet:n.codecSet,audioCodec:n.audioCodec,videoCodec:n.videoCodec,audioGroups:n.audioGroups,subtitleGroups:n.subtitleGroups,loaded:n.loaded,loadError:n.loadError,fragmentError:n.fragmentError,name:n.name,id:n.id,uri:n.uri,url:n.url,urlId:0,audioGroupIds:n.audioGroupIds,textGroupIds:n.textGroupIds};this.hls.trigger(rg.LEVEL_SWITCHING,a);const h=n.details;if(!h||h.live){const t=this.switchParams(n.uri,null==i?void 0:i.details,h);this.loadPlaylist(t)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(t){this.manualLevelIndex=t,void 0===this._startLevel&&(this._startLevel=t),-1!==t&&(this.level=t)}get firstLevel(){return this._firstLevel}set firstLevel(t){this._firstLevel=t}get startLevel(){if(void 0===this._startLevel){const t=this.hls.config.startLevel;return void 0!==t?t:this.hls.firstAutoLevel}return this._startLevel}set startLevel(t){this._startLevel=t}onError(t,e){!e.fatal&&e.context&&e.context.type===hy&&e.context.level===this.level&&this.checkRetry(e)}onFragBuffered(t,{frag:e}){if(void 0!==e&&e.type===dy){const t=e.elementaryStreams;if(!Object.keys(t).some((e=>!!t[e])))return;const s=this._levels[e.level];null!=s&&s.loadError&&(this.log(`Resetting level error count of ${s.loadError} on frag buffered`),s.loadError=0)}}onLevelLoaded(t,e){var s;const{level:i,details:r}=e,n=this._levels[i];var o;if(!n)return this.warn(`Invalid level index ${i}`),void(null!=(o=e.deliveryDirectives)&&o.skip&&(r.deltaUpdateFailed=!0));i===this.currentLevelIndex?(0===n.fragmentError&&(n.loadError=0),this.playlistLoaded(i,e,n.details)):null!=(s=e.deliveryDirectives)&&s.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(t){super.loadPlaylist();const e=this.currentLevelIndex,s=this.currentLevel;if(s&&this.shouldLoadPlaylist(s)){let i=s.uri;if(t)try{i=t.addDirectives(i)}catch(t){this.warn(`Could not construct new URL with HLS Delivery Directives: ${t}`)}const r=s.attrs["PATHWAY-ID"];this.log(`Loading level index ${e}${void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:""} with${r?" Pathway "+r:""} ${i}`),this.clearTimer(),this.hls.trigger(rg.LEVEL_LOADING,{url:i,level:e,pathwayId:s.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}}get nextLoadLevel(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(t){this.level=t,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=t)}removeLevel(t){var e;const s=this._levels.filter(((e,s)=>s!==t||(this.steering&&this.steering.removeLevel(e),e===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,e.details&&e.details.fragments.forEach((t=>t.level=-1))),!1)));Yy(s),this._levels=s,this.currentLevelIndex>-1&&null!=(e=this.currentLevel)&&e.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(rg.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(t,{levels:e}){this._levels=e}checkMaxAutoUpdated(){const{autoLevelCapping:t,maxAutoLevel:e,maxHdcpLevel:s}=this.hls;this._maxAutoLevel!==e&&(this._maxAutoLevel=e,this.hls.trigger(rg.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:e,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s}))}}function hE(t){const e={};t.forEach((t=>{const s=t.groupId||"";t.id=e[s]=e[s]||0,e[s]++}))}class cE{constructor(t){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=t}abort(t){for(const s in this.keyUriToKeyInfo){const i=this.keyUriToKeyInfo[s].loader;if(i){var e;if(t&&t!==(null==(e=i.context)?void 0:e.frag.type))return;i.abort()}}}detach(){for(const t in this.keyUriToKeyInfo){const e=this.keyUriToKeyInfo[t];(e.mediaKeySessionContext||e.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[t]}}destroy(){this.detach();for(const t in this.keyUriToKeyInfo){const e=this.keyUriToKeyInfo[t].loader;e&&e.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(t,e=og.KEY_LOAD_ERROR,s,i,r){return new Wb({type:ng.NETWORK_ERROR,details:e,fatal:!1,frag:t,response:r,error:s,networkDetails:i})}loadClear(t,e){if(this.emeController&&this.config.emeEnabled){const{sn:s,cc:i}=t;for(let t=0;t{r.setKeyFormat(t)}));break}}}}load(t){return!t.decryptdata&&t.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(t).then((e=>this.loadInternal(t,e))):this.loadInternal(t)}loadInternal(t,e){var s,i;e&&t.setKeyFormat(e);const r=t.decryptdata;if(!r){const s=new Error(e?`Expected frag.decryptdata to be defined after setting format ${e}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(t,og.KEY_LOAD_ERROR,s))}const n=r.uri;if(!n)return Promise.reject(this.createKeyLoadError(t,og.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${n}"`)));let o=this.keyUriToKeyInfo[n];if(null!=(s=o)&&s.decryptdata.key)return r.key=o.decryptdata.key,Promise.resolve({frag:t,keyInfo:o});var a;if(null!=(i=o)&&i.keyLoadPromise)switch(null==(a=o.mediaKeySessionContext)?void 0:a.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return o.keyLoadPromise.then((e=>(r.key=e.keyInfo.decryptdata.key,{frag:t,keyInfo:o})))}switch(o=this.keyUriToKeyInfo[n]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===r.keyFormat?this.loadKeyHTTP(o,t):this.loadKeyEME(o,t);case"AES-128":return this.loadKeyHTTP(o,t);default:return Promise.reject(this.createKeyLoadError(t,og.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(t,e){const s={frag:e,keyInfo:t};if(this.emeController&&this.config.emeEnabled){const e=this.emeController.loadKey(s);if(e)return(t.keyLoadPromise=e.then((e=>(t.mediaKeySessionContext=e,s)))).catch((e=>{throw t.keyLoadPromise=null,e}))}return Promise.resolve(s)}loadKeyHTTP(t,e){const s=this.config,i=new(0,s.loader)(s);return e.keyLoader=t.loader=i,t.keyLoadPromise=new Promise(((r,n)=>{const o={keyInfo:t,frag:e,responseType:"arraybuffer",url:t.decryptdata.uri},a=s.keyLoadPolicy.default,h={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(t,e,s,i)=>{const{frag:o,keyInfo:a,url:h}=s;if(!o.decryptdata||a!==this.keyUriToKeyInfo[h])return n(this.createKeyLoadError(o,og.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),i));a.decryptdata.key=o.decryptdata.key=new Uint8Array(t.data),o.keyLoader=null,a.loader=null,r({frag:o,keyInfo:a})},onError:(t,s,i,r)=>{this.resetLoader(s),n(this.createKeyLoadError(e,og.KEY_LOAD_ERROR,new Error(`HTTP Error ${t.code} loading key ${t.text}`),i,Xm({url:o.url,data:void 0},t)))},onTimeout:(t,s,i)=>{this.resetLoader(s),n(this.createKeyLoadError(e,og.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),i))},onAbort:(t,s,i)=>{this.resetLoader(s),n(this.createKeyLoadError(e,og.INTERNAL_ABORTED,new Error("key loading aborted"),i))}};i.load(o,h,c)}))}resetLoader(t){const{frag:e,keyInfo:s,url:i}=t,r=s.loader;e.keyLoader===r&&(e.keyLoader=null,s.loader=null),delete this.keyUriToKeyInfo[i],r&&r.destroy()}}function lE(){return self.SourceBuffer||self.WebKitSourceBuffer}function dE(){if(!OA())return!1;const t=lE();return!t||t.prototype&&"function"==typeof t.prototype.appendBuffer&&"function"==typeof t.prototype.remove}class uE{constructor(t,e,s,i){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=t,this.media=e,this.fragmentTracker=s,this.hls=i}destroy(){this.media=null,this.hls=this.fragmentTracker=null}poll(t,e){const{config:s,media:i,stalled:r}=this;if(null===i)return;const{currentTime:n,seeking:o}=i,a=this.seeking&&!o,h=!this.seeking&&o;if(this.seeking=o,n!==t){if(this.moved=!0,o||(this.nudgeRetry=0),null!==r){if(this.stallReported){const t=self.performance.now()-r;dg.warn(`playback not stuck anymore @${n}, after ${Math.round(t)}ms`),this.stallReported=!1}this.stalled=null}return}if(h||a)return void(this.stalled=null);if(i.paused&&!o||i.ended||0===i.playbackRate||!Lb.getBuffered(i).length)return void(this.nudgeRetry=0);const c=Lb.bufferInfo(i,n,0),l=c.nextStart||0;if(o){const t=c.len>2,s=!l||e&&e.start<=n||l-n>2&&!this.fragmentTracker.getPartialFragment(n);if(t||s)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var d;if(!(c.len>0)&&!l)return;const t=Math.max(l,c.start||0)-n,e=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,s=(null==e||null==(d=e.details)?void 0:d.live)?2*e.details.targetduration:2,r=this.fragmentTracker.getPartialFragment(n);if(t>0&&(t<=s||r))return void(i.paused||this._trySkipBufferHole(r))}const u=self.performance.now();if(null===r)return void(this.stalled=u);const p=u-r;if(!o&&p>=250&&(this._reportStall(c),!this.media))return;const f=Lb.bufferInfo(i,n,s.maxBufferHole);this._tryFixBufferStall(f,p)}_tryFixBufferStall(t,e){const{config:s,fragmentTracker:i,media:r}=this;if(null===r)return;const n=r.currentTime,o=i.getPartialFragment(n);if(o){if(this._trySkipBufferHole(o)||!this.media)return}(t.len>s.maxBufferHole||t.nextStart&&t.nextStart-n1e3*s.highBufferWatchdogPeriod&&(dg.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}_reportStall(t){const{hls:e,media:s,stallReported:i}=this;if(!i&&s){this.stallReported=!0;const i=new Error(`Playback stalling at @${s.currentTime} due to low buffer (${JSON.stringify(t)})`);dg.warn(i.message),e.trigger(rg.ERROR,{type:ng.MEDIA_ERROR,details:og.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:t.len})}}_trySkipBufferHole(t){const{config:e,hls:s,media:i}=this;if(null===i)return 0;const r=i.currentTime,n=Lb.bufferInfo(i,r,0),o=r0&&n.len<1&&i.readyState<3,c=o-r;if(c>0&&(a||h)){if(c>e.maxBufferHole){const{fragmentTracker:e}=this;let s=!1;if(0===r){const t=e.getAppendedFrag(0,dy);t&&o1?(t=0,this.bitrateTest=!0):t=s.firstAutoLevel),s.nextLoadLevel=t,this.level=s.loadLevel,this.loadedmetadata=!1}e>0&&-1===t&&(this.log(`Override startPosition with lastCurrentTime @${e.toFixed(3)}`),t=e),this.state=Jb,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}else this._forceStartLoad=!0,this.state=qb}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case ov:{const{levels:t,level:e}=this,s=null==t?void 0:t[e],i=null==s?void 0:s.details;if(i&&(!i.live||this.levelLastLoaded===s)){if(this.waitForCdnTuneIn(i))break;this.state=Jb;break}if(this.hls.nextLoadLevel!==this.level){this.state=Jb;break}break}case $b:{var t;const e=self.performance.now(),s=this.retryDate;if(!s||e>=s||null!=(t=this.media)&&t.seeking){const{levels:t,level:e}=this,s=null==t?void 0:t[e];this.resetStartWhenNotLoaded(s||null),this.state=Jb}}}this.state===Jb&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged()}doTickIdle(){const{hls:t,levelLastLoaded:e,levels:s,media:i}=this;if(null===e||!i&&(this.startFragRequested||!t.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;const r=t.nextLoadLevel;if(null==s||!s[r])return;const n=s[r],o=this.getMainFwdBufferInfo();if(null===o)return;const a=this.getLevelDetails();if(a&&this._streamEnded(o,a)){const t={};return this.altAudio&&(t.type="video"),this.hls.trigger(rg.BUFFER_EOS,t),void(this.state=iv)}t.loadLevel!==r&&-1===t.manualLevel&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=t.nextLoadLevel=r;const h=n.details;if(!h||this.state===ov||h.live&&this.levelLastLoaded!==n)return this.level=r,void(this.state=ov);const c=o.len,l=this.getMaxBufferLength(n.maxBitrate);if(c>=l)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);const d=this.backtrackFragment?this.backtrackFragment.start:o.end;let u=this.getNextFragment(d,h);if(this.couldBacktrack&&!this.fragPrevious&&u&&"initSegment"!==u.sn&&this.fragmentTracker.getState(u)!==_b){var p;const t=(null!=(p=this.backtrackFragment)?p:u).sn-h.startSN,e=h.fragments[t-1];e&&u.cc===e.cc&&(u=e,this.fragmentTracker.removeFragment(e))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(u&&this.isLoopLoading(u,d)){if(!u.gap){const t=this.audioOnly&&!this.altAudio?yg:bg,e=(t===bg?this.videoBuffer:this.mediaBuffer)||this.media;e&&this.afterBufferFlushed(e,t,dy)}u=this.getNextFragmentLoopLoading(u,h,o,dy,l)}u&&(!u.initSegment||u.initSegment.data||this.bitrateTest||(u=u.initSegment),this.loadFragment(u,n,d))}loadFragment(t,e,s){const i=this.fragmentTracker.getState(t);this.fragCurrent=t,i===Ib||i===kb?"initSegment"===t.sn?this._loadInitSegment(t,e):this.bitrateTest?(this.log(`Fragment ${t.sn} of level ${t.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(t,e)):(this.startFragRequested=!0,super.loadFragment(t,e,s)):this.clearTrackerIfNeeded(t)}getBufferedFrag(t){return this.fragmentTracker.getBufferedFrag(t,dy)}followingBufferedFrag(t){return t?this.getBufferedFrag(t.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:t,media:e}=this;if(null!=e&&e.readyState){let s;const i=this.getAppendedFrag(e.currentTime);i&&i.start>1&&this.flushMainBuffer(0,i.start-1);const r=this.getLevelDetails();if(null!=r&&r.live){const t=this.getMainFwdBufferInfo();if(!t||t.len<2*r.targetduration)return}if(!e.paused&&t){const e=t[this.hls.nextLoadLevel],i=this.fragLastKbps;s=i&&this.fragCurrent?this.fragCurrent.duration*e.maxBitrate/(1e3*i)+1:0}else s=0;const n=this.getBufferedFrag(e.currentTime+s);if(n){const t=this.followingBufferedFrag(n);if(t){this.abortCurrentFrag();const e=t.maxStartPTS?t.maxStartPTS:t.start,s=t.duration,i=Math.max(n.end,e+Math.min(Math.max(s-this.config.maxFragLookUpTolerance,s*(this.couldBacktrack?.5:.125)),s*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(i,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const t=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,t&&(t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.state){case Xb:case Zb:case $b:case ev:case sv:this.state=Jb}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(t,e){super.flushMainBuffer(t,e,this.altAudio?"video":null)}onMediaAttached(t,e){super.onMediaAttached(t,e);const s=e.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),s.addEventListener("playing",this.onvplaying),s.addEventListener("seeked",this.onvseeked),this.gapController=new uE(this.config,s,this.fragmentTracker,this.hls)}onMediaDetaching(){const{media:t}=this;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching()}onMediaPlaying(){this.tick()}onMediaSeeked(){const t=this.media,e=t?t.currentTime:null;eg(e)&&this.log(`Media seeked to ${e.toFixed(3)}`);const s=this.getMainFwdBufferInfo();null!==s&&0!==s.len?this.tick():this.warn(`Main forward buffer length on "seeked" event ${s?s.len:"empty"})`)}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(rg.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1}onManifestParsed(t,e){let s=!1,i=!1;e.levels.forEach((t=>{const e=t.audioCodec;e&&(s=s||-1!==e.indexOf("mp4a.40.2"),i=i||-1!==e.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=s&&i&&!function(){var t;const e=lE();return"function"==typeof(null==e||null==(t=e.prototype)?void 0:t.changeType)}(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=e.levels,this.startFragRequested=!1}onLevelLoading(t,e){const{levels:s}=this;if(!s||this.state!==Jb)return;const i=s[e.level];(!i.details||i.details.live&&this.levelLastLoaded!==i||this.waitForCdnTuneIn(i.details))&&(this.state=ov)}onLevelLoaded(t,e){var s;const{levels:i}=this,r=e.level,n=e.details,o=n.totalduration;if(!i)return void this.warn(`Levels were reset while loading level ${r}`);this.log(`Level ${r} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""}, cc [${n.startCC}, ${n.endCC}] duration:${o}`);const a=i[r],h=this.fragCurrent;!h||this.state!==Zb&&this.state!==$b||h.level!==e.level&&h.loader&&this.abortCurrentFrag();let c=0;if(n.live||null!=(s=a.details)&&s.live){var l;if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;c=this.alignPlaylists(n,a.details,null==(l=this.levelLastLoaded)?void 0:l.details)}if(a.details=n,this.levelLastLoaded=a,this.hls.trigger(rg.LEVEL_UPDATED,{details:n,level:r}),this.state===ov){if(this.waitForCdnTuneIn(n))return;this.state=Jb}this.startFragRequested?n.live&&this.synchronizeToLiveEdge(n):this.setStartPosition(n,c),this.tick()}_handleFragmentLoadProgress(t){var e;const{frag:s,part:i,payload:r}=t,{levels:n}=this;if(!n)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);const o=n[s.level],a=o.details;if(!a)return this.warn(`Dropping fragment ${s.sn} of level ${s.level} after level details were reset`),void this.fragmentTracker.removeFragment(s);const h=o.videoCodec,c=a.PTSKnown||!a.live,l=null==(e=s.initSegment)?void 0:e.data,d=this._getAudioCodec(o),u=this.transmuxer=this.transmuxer||new pw(this.hls,dy,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),p=i?i.index:-1,f=-1!==p,m=new Pb(s.level,s.sn,s.stats.chunkCount,r.byteLength,p,f),g=this.initPTS[s.cc];u.push(r,l,d,h,s,i,a.totalduration,c,m,g)}onAudioTrackSwitching(t,e){const s=this.altAudio;if(!!!e.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const t=this.fragCurrent;t&&(this.log("Switching to main audio track, cancel main fragment load"),t.abortRequests(),this.fragmentTracker.removeFragment(t)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();const t=this.hls;s&&(t.trigger(rg.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),t.trigger(rg.AUDIO_TRACK_SWITCHED,e)}}onAudioTrackSwitched(t,e){const s=e.id,i=!!this.hls.audioTracks[s].url;if(i){const t=this.videoBuffer;t&&this.mediaBuffer!==t&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=t)}this.altAudio=i,this.tick()}onBufferCreated(t,e){const s=e.tracks;let i,r,n=!1;for(const t in s){const e=s[t];if("main"===e.id){if(r=t,i=e,"video"===t){const e=s[t];e&&(this.videoBuffer=e.buffer)}}else n=!0}n&&i?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(t,e){const{frag:s,part:i}=e;if(s&&s.type!==dy)return;if(this.fragContextChanged(s))return this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),void(this.state===sv&&(this.state=Jb));const r=i?i.stats:s.stats;this.fragLastKbps=Math.round(8*r.total/(r.buffering.end-r.loading.first)),"initSegment"!==s.sn&&(this.fragPrevious=s),this.fragBufferedComplete(s,i)}onError(t,e){var s;if(e.fatal)this.state=rv;else switch(e.details){case og.FRAG_GAP:case og.FRAG_PARSING_ERROR:case og.FRAG_DECRYPT_ERROR:case og.FRAG_LOAD_ERROR:case og.FRAG_LOAD_TIMEOUT:case og.KEY_LOAD_ERROR:case og.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(dy,e);break;case og.LEVEL_LOAD_ERROR:case og.LEVEL_LOAD_TIMEOUT:case og.LEVEL_PARSING_ERROR:e.levelRetry||this.state!==ov||(null==(s=e.context)?void 0:s.type)!==hy||(this.state=Jb);break;case og.BUFFER_APPEND_ERROR:case og.BUFFER_FULL_ERROR:if(!e.parent||"main"!==e.parent)return;if(e.details===og.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(e)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case og.INTERNAL_EXCEPTION:this.recoverWorkerError(e)}}checkBuffer(){const{media:t,gapController:e}=this;if(t&&e&&t.readyState){if(this.loadedmetadata||!Lb.getBuffered(t).length){const t=this.state!==Jb?this.fragCurrent:null;e.poll(this.lastCurrentTime,t)}this.lastCurrentTime=t.currentTime}}onFragLoadEmergencyAborted(){this.state=Jb,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()}onBufferFlushed(t,{type:e}){if(e!==yg||this.audioOnly&&!this.altAudio){const t=(e===bg?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(t,e,dy),this.tick()}}onLevelsUpdated(t,e){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=e.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:t}=this;if(!t)return;const e=t.currentTime;let s=this.startPosition;if(s>=0&&e0&&(r{const{hls:i}=this;if(!s||this.fragContextChanged(t))return;e.fragmentError=0,this.state=Jb,this.startFragRequested=!1,this.bitrateTest=!1;const r=t.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),i.trigger(rg.FRAG_LOADED,s),t.bitrateTest=!1}))}_handleTransmuxComplete(t){var e;const s="main",{hls:i}=this,{remuxResult:r,chunkMeta:n}=t,o=this.getCurrentContext(n);if(!o)return void this.resetWhenMissingContext(n);const{frag:a,part:h,level:c}=o,{video:l,text:d,id3:u,initSegment:p}=r,{details:f}=c,m=this.altAudio?void 0:r.audio;if(this.fragContextChanged(a))this.fragmentTracker.removeFragment(a);else{if(this.state=ev,p){if(null!=p&&p.tracks){const t=a.initSegment||a;this._bufferInitSegment(c,p.tracks,t,n),i.trigger(rg.FRAG_PARSING_INIT_SEGMENT,{frag:t,id:s,tracks:p.tracks})}const t=p.initPTS,e=p.timescale;eg(t)&&(this.initPTS[a.cc]={baseTime:t,timescale:e},i.trigger(rg.INIT_PTS_FOUND,{frag:a,id:s,initPTS:t,timescale:e}))}if(l&&f&&"initSegment"!==a.sn){const t=f.fragments[a.sn-1-f.startSN],e=a.sn===f.startSN,s=!t||a.cc>t.cc;if(!1!==r.independent){const{startPTS:t,endPTS:i,startDTS:r,endDTS:o}=l;if(h)h.elementaryStreams[l.type]={startPTS:t,endPTS:i,startDTS:r,endDTS:o};else if(l.firstKeyFrame&&l.independent&&1===n.id&&!s&&(this.couldBacktrack=!0),l.dropped&&l.independent){const r=this.getMainFwdBufferInfo(),n=(r?r.end:this.getLoadPosition())+this.config.maxBufferHole,h=l.firstKeyFramePTS?l.firstKeyFramePTS:t;if(!e&&n2&&(a.gap=!0);a.setElementaryStreamInfo(l.type,t,i,r,o),this.backtrackFragment&&(this.backtrackFragment=a),this.bufferFragmentData(l,a,h,n,e||s)}else{if(!e&&!s)return void this.backtrack(a);a.gap=!0}}if(m){const{startPTS:t,endPTS:e,startDTS:s,endDTS:i}=m;h&&(h.elementaryStreams[yg]={startPTS:t,endPTS:e,startDTS:s,endDTS:i}),a.setElementaryStreamInfo(yg,t,e,s,i),this.bufferFragmentData(m,a,h,n)}if(f&&null!=u&&null!=(e=u.samples)&&e.length){const t={id:s,frag:a,details:f,samples:u.samples};i.trigger(rg.FRAG_PARSING_METADATA,t)}if(f&&d){const t={id:s,frag:a,details:f,samples:d.samples};i.trigger(rg.FRAG_PARSING_USERDATA,t)}}}_bufferInitSegment(t,e,s,i){if(this.state!==ev)return;this.audioOnly=!!e.audio&&!e.video,this.altAudio&&!this.audioOnly&&delete e.audio;const{audio:r,video:n,audiovideo:o}=e;if(r){let e=t.audioCodec;const s=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){e&&(e=-1!==e.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");const t=r.metadata;t&&"channelCount"in t&&1!==(t.channelCount||1)&&-1===s.indexOf("firefox")&&(e="mp4a.40.5")}e&&-1!==e.indexOf("mp4a.40.5")&&-1!==s.indexOf("android")&&"audio/mpeg"!==r.container&&(e="mp4a.40.2",this.log(`Android: force audio codec to ${e}`)),t.audioCodec&&t.audioCodec!==e&&this.log(`Swapping manifest audio codec "${t.audioCodec}" for "${e}"`),r.levelCodec=e,r.id="main",this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${e||""}/${t.audioCodec||""}/${r.codec}]`)}n&&(n.levelCodec=t.videoCodec,n.id="main",this.log(`Init video buffer, container:${n.container}, codecs[level/parsed]=[${t.videoCodec||""}/${n.codec}]`)),o&&this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${t.codecs}/${o.codec}]`),this.hls.trigger(rg.BUFFER_CODECS,e),Object.keys(e).forEach((t=>{const r=e[t].initSegment;null!=r&&r.byteLength&&this.hls.trigger(rg.BUFFER_APPENDING,{type:t,data:r,frag:s,part:null,chunkMeta:i,parent:s.type})})),this.tickImmediate()}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,dy)}backtrack(t){this.couldBacktrack=!0,this.backtrackFragment=t,this.resetTransmuxer(),this.flushBufferGap(t),this.fragmentTracker.removeFragment(t),this.fragPrevious=null,this.nextLoadPosition=t.start,this.state=Jb}checkFragmentChanged(){const t=this.media;let e=null;if(t&&t.readyState>1&&!1===t.seeking){const s=t.currentTime;if(Lb.isBuffered(t,s)?e=this.getAppendedFrag(s):Lb.isBuffered(t,s+.1)&&(e=this.getAppendedFrag(s+.1)),e){this.backtrackFragment=null;const t=this.fragPlaying,s=e.level;t&&e.sn===t.sn&&t.level===s||(this.fragPlaying=e,this.hls.trigger(rg.FRAG_CHANGED,{frag:e}),t&&t.level===s||this.hls.trigger(rg.LEVEL_SWITCHED,{level:s}))}}}get nextLevel(){const t=this.nextBufferedFrag;return t?t.level:-1}get currentFrag(){const t=this.media;return t?this.fragPlaying||this.getAppendedFrag(t.currentTime):null}get currentProgramDateTime(){const t=this.media;if(t){const e=t.currentTime,s=this.currentFrag;if(s&&eg(e)&&eg(s.programDateTime)){const t=s.programDateTime+1e3*(e-s.start);return new Date(t)}}return null}get currentLevel(){const t=this.currentFrag;return t?t.level:-1}get nextBufferedFrag(){const t=this.currentFrag;return t?this.followingBufferedFrag(t):null}get forceStartLoad(){return this._forceStartLoad}}class fE{static get version(){return"1.5.13"}static isMSESupported(){return dE()}static isSupported(){return function(){if(!dE())return!1;const t=OA();return"function"==typeof(null==t?void 0:t.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((e=>t.isTypeSupported(VA(e,"video"))))||["mp4a.40.2","fLaC"].some((e=>t.isTypeSupported(VA(e,"audio")))))}()}static getMediaSource(){return OA()}static get Events(){return rg}static get ErrorTypes(){return ng}static get ErrorDetails(){return og}static get DefaultConfig(){return fE.defaultConfig?fE.defaultConfig:iE}static set DefaultConfig(t){fE.defaultConfig=t}constructor(t={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new uw,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,function(t,e){if("object"==typeof console&&!0===t||"object"==typeof t){lg(t,"debug","log","info","warn","error");try{cg.log(`Debug logs enabled for "${e}" in hls.js version 1.5.13`)}catch(t){cg=hg}}else cg=hg}(t.debug||!1,"Hls instance");const e=this.config=function(t,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==e.liveMaxLatencyDurationCount&&(void 0===e.liveSyncDurationCount||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==e.liveMaxLatencyDuration&&(void 0===e.liveSyncDuration||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const s=rE(t),i=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((t=>{const r=`${"level"===t?"playlist":t}LoadPolicy`,n=void 0===e[r],o=[];i.forEach((i=>{const a=`${t}Loading${i}`,h=e[a];if(void 0!==h&&n){o.push(a);const t=s[r].default;switch(e[r]={default:t},i){case"TimeOut":t.maxLoadTimeMs=h,t.maxTimeToFirstByteMs=h;break;case"MaxRetry":t.errorRetry.maxNumRetry=h,t.timeoutRetry.maxNumRetry=h;break;case"RetryDelay":t.errorRetry.retryDelayMs=h,t.timeoutRetry.retryDelayMs=h;break;case"MaxRetryTimeout":t.errorRetry.maxRetryDelayMs=h,t.timeoutRetry.maxRetryDelayMs=h}}})),o.length&&dg.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${r}": ${JSON.stringify(e[r])}`)})),Xm(Xm({},s),e)}(fE.DefaultConfig,t);this.userConfig=t,e.progressive&&nE(e);const{abrController:s,bufferController:i,capLevelController:r,errorController:n,fpsController:o}=e,a=new n(this),h=this.abrController=new s(this),c=this.bufferController=new i(this),l=this.capLevelController=new r(this),d=new o(this),u=new gy(this),p=new Dy(this),f=e.contentSteeringController,m=f?new f(this):null,g=this.levelController=new aE(this,m),A=new Cb(this),y=new cE(this.config),b=this.streamController=new pE(this,A,y);l.setStreamController(b),d.setStreamController(b);const v=[u,g,b];m&&v.splice(1,0,m),this.networkControllers=v;const w=[h,c,l,d,p,A];this.audioTrackController=this.createController(e.audioTrackController,v);const S=e.audioStreamController;S&&v.push(new S(this,A,y)),this.subtitleTrackController=this.createController(e.subtitleTrackController,v);const E=e.subtitleStreamController;E&&v.push(new E(this,A,y)),this.createController(e.timelineController,w),y.emeController=this.emeController=this.createController(e.emeController,w),this.cmcdController=this.createController(e.cmcdController,w),this.latencyController=this.createController(xy,w),this.coreComponents=w,v.push(a);const I=a.onErrorOut;"function"==typeof I&&this.on(rg.ERROR,I,a)}createController(t,e){if(t){const s=new t(this);return e&&e.push(s),s}return null}on(t,e,s=this){this._emitter.on(t,e,s)}once(t,e,s=this){this._emitter.once(t,e,s)}removeAllListeners(t){this._emitter.removeAllListeners(t)}off(t,e,s=this,i){this._emitter.off(t,e,s,i)}listeners(t){return this._emitter.listeners(t)}emit(t,e,s){return this._emitter.emit(t,e,s)}trigger(t,e){if(this.config.debug)return this.emit(t,t,e);try{return this.emit(t,t,e)}catch(e){if(dg.error("An internal error happened while handling event "+t+'. Error message: "'+e.message+'". Here is a stacktrace:',e),!this.triggeringException){this.triggeringException=!0;const s=t===rg.ERROR;this.trigger(rg.ERROR,{type:ng.OTHER_ERROR,details:og.INTERNAL_EXCEPTION,fatal:s,event:t,error:e}),this.triggeringException=!1}}return!1}listenerCount(t){return this._emitter.listenerCount(t)}destroy(){dg.log("destroy"),this.trigger(rg.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((t=>t.destroy())),this.networkControllers.length=0,this.coreComponents.forEach((t=>t.destroy())),this.coreComponents.length=0;const t=this.config;t.xhrSetup=t.fetchSetup=void 0,this.userConfig=null}attachMedia(t){dg.log("attachMedia"),this._media=t,this.trigger(rg.MEDIA_ATTACHING,{media:t})}detachMedia(){dg.log("detachMedia"),this.trigger(rg.MEDIA_DETACHING,void 0),this._media=null}loadSource(t){this.stopLoad();const e=this.media,s=this.url,i=this.url=qm.buildAbsoluteURL(self.location.href,t,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,dg.log(`loadSource:${i}`),e&&s&&(s!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(e)),this.trigger(rg.MANIFEST_LOADING,{url:t})}startLoad(t=-1){dg.log(`startLoad(${t})`),this.started=!0,this.networkControllers.forEach((e=>{e.startLoad(t)}))}stopLoad(){dg.log("stopLoad"),this.started=!1,this.networkControllers.forEach((t=>{t.stopLoad()}))}resumeBuffering(){this.started&&this.networkControllers.forEach((t=>{"fragmentLoader"in t&&t.startLoad(-1)}))}pauseBuffering(){this.networkControllers.forEach((t=>{"fragmentLoader"in t&&t.stopLoad()}))}swapAudioCodec(){dg.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){dg.log("recoverMediaError");const t=this._media;this.detachMedia(),t&&this.attachMedia(t)}removeLevel(t){this.levelController.removeLevel(t)}get levels(){const t=this.levelController.levels;return t||[]}get currentLevel(){return this.streamController.currentLevel}set currentLevel(t){dg.log(`set currentLevel:${t}`),this.levelController.manualLevel=t,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(t){dg.log(`set nextLevel:${t}`),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(t){dg.log(`set loadLevel:${t}`),this.levelController.manualLevel=t}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(t){this.levelController.nextLoadLevel=t}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(t){dg.log(`set firstLevel:${t}`),this.levelController.firstLevel=t}get startLevel(){const t=this.levelController.startLevel;return-1===t&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:t}set startLevel(t){dg.log(`set startLevel:${t}`),-1!==t&&(t=Math.max(t,this.minAutoLevel)),this.levelController.startLevel=t}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(t){const e=!!t;e!==this.config.capLevelToPlayerSize&&(e?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=e)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimate():NaN}set bandwidthEstimate(t){this.abrController.resetEstimator(t)}get ttfbEstimate(){const{bwEstimator:t}=this.abrController;return t?t.getEstimateTTFB():NaN}set autoLevelCapping(t){this._autoLevelCapping!==t&&(dg.log(`set autoLevelCapping:${t}`),this._autoLevelCapping=t,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(t){(function(t){return Ly.indexOf(t)>-1})(t)&&this._maxHdcpLevel!==t&&(this._maxHdcpLevel=t,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return-1===this.levelController.manualLevel}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:t,config:{minAutoBitrate:e}}=this;if(!t)return 0;const s=t.length;for(let i=0;i=e)return i;return 0}get maxAutoLevel(){const{levels:t,autoLevelCapping:e,maxHdcpLevel:s}=this;let i;if(i=-1===e&&null!=t&&t.length?t.length-1:e,s)for(let e=i;e--;){const i=t[e].attrs["HDCP-LEVEL"];if(i&&i<=s)return e}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(t){this.abrController.nextAutoLevel=t}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}setAudioOption(t){var e;return null==(e=this.audioTrackController)?void 0:e.setAudioOption(t)}setSubtitleOption(t){var e;return null==(e=this.subtitleTrackController)||e.setSubtitleOption(t),null}get allAudioTracks(){const t=this.audioTrackController;return t?t.allAudioTracks:[]}get audioTracks(){const t=this.audioTrackController;return t?t.audioTracks:[]}get audioTrack(){const t=this.audioTrackController;return t?t.audioTrack:-1}set audioTrack(t){const e=this.audioTrackController;e&&(e.audioTrack=t)}get allSubtitleTracks(){const t=this.subtitleTrackController;return t?t.allSubtitleTracks:[]}get subtitleTracks(){const t=this.subtitleTrackController;return t?t.subtitleTracks:[]}get subtitleTrack(){const t=this.subtitleTrackController;return t?t.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(t){const e=this.subtitleTrackController;e&&(e.subtitleTrack=t)}get subtitleDisplay(){const t=this.subtitleTrackController;return!!t&&t.subtitleDisplay}set subtitleDisplay(t){const e=this.subtitleTrackController;e&&(e.subtitleDisplay=t)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(t){this.config.lowLatencyMode=t}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}}function mE(){const t=["codec","height","video waiting","BUFFER_FLUSHING","NETWORK_ERROR","recoverMediaError","MEDIA_ATTACHED","fpsInterval","metadata","_stopCanvasRender","Events","handleRender","2439927UlDfcx","BUFFER_EOS","_startFpsInterval","MEDIA_DETACHED","120qkrRtJ","videoFrameCallback() player is destroyed","debugLog","totalVideoFrames"," to ","position","supportVideoFrameCallbackHandle","MEDIA_DETACHING","canVideoPlay","1UOEGMa","_bindEvents","hlsFps","fatal","_stopFpsInterval","canplay","muted","video play error ","max"," ,currentTime is ","_stopBandwidthEstimateInterval","debugError","startLoad","_initRenderSize","isInitInfo","videoStart","type","bandwidthEstimate","getVideoPlaybackQuality","MANIFEST_LOADED playlist m3u8文件加载完成","BUFFER_FLUSHED","destroy","MANIFEST_LOADING","forEach","avc","_times","catch","useCanvasRender","632471ShVOge","initVideoEvents","FRAG_LOADING","autoplay","updateVideoInfo","4JxaEyt","BUFFER_APPENDING","init hls error ,not support ","events","toFixed"," , try to seek ","debugWarn","player","FRAG_LOADED","getFps","MANIFEST_LOADING 开始加载playlist m3u8资源","385731jrfpoi","1014905mjsfMt","LEVEL_LOADING","canvasRenderInterval","playbackRate","load","video","bandwidthEstimateInterval","mediaTime","videoHeight","eventsDestroy","createElement","src","_initHls","loadSource","MANIFEST_PARSED","currentTime","_startBandwidthEstimateInterval","TAG_NAME","23478356bWEWqG","2914002IBXFPv","video is paused and replay success","tracks","bind","MEDIA_ERROR","MEDIA_ATTACHING","channelCount","$videoElement","ERROR","_opt","KEY_LOADING","video is paused and replay error ","updateStats","_startCanvasRender","waiting","2568986RhcvFd","width","then","ErrorTypes","style","emit","pause","MANIFEST_LOADED","LEVEL_LOADED","checkHlsBufferedDelay ","updateAudioInfo","isSupported","initVideoPlay","hlsPrevFrams","hls","demuxStart","50VgcXct","initCanvasViewSize","push","audio","videoFrameCallback","timeUpdate"," < 0, and buffered is ","video playback Rate change","HlsDecoder","render","timeStamp","FRAG_PARSING_INIT_SEGMENT","fatal media error encountered, try to recover","BUFFER_CODECS","length","BUFFER_RESET","isDestroyedOrClosed","h265","decodeStart"];return(mE=function(){return t})()}fE.defaultConfig=void 0;const gE=AE;function AE(t,e){const s=mE();return(AE=function(t,e){return s[t-=252]})(t,e)}!function(t,e){const s=AE,i=t();for(;;)try{if(782270===parseInt(s(294))/1*(-parseInt(s(373))/2)+parseInt(s(281))/3*(parseInt(s(327))/4)+parseInt(s(339))/5+parseInt(s(358))/6+-parseInt(s(322))/7*(parseInt(s(285))/8)+-parseInt(s(338))/9*(parseInt(s(389))/10)+parseInt(s(357))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(mE);class yE extends n{constructor(t){const e=AE;super(),this[e(334)]=t,this[e(356)]=e(258),t._opt,this[e(293)]=!1,this[e(365)]=null,this.canvasRenderInterval=null,this[e(345)]=null,this[e(276)]=null,this[e(296)]=0,this[e(386)]=0,this.isInitInfo=!1,this[e(348)]=[],this[e(291)]=null,this[e(334)].isHlsCanVideoPlay()?(this[e(365)]=this[e(334)][e(344)][e(365)],this[e(293)]=!0):fE[e(384)]()?(this[e(365)]=this.player[e(344)][e(365)],this[e(387)]=new fE({}),this._initHls(),this[e(295)]()):this.player[e(305)](this[e(356)],e(329)),this[e(334)][e(287)](this[e(356)],"init")}destroy(){return new Promise(((t,e)=>{const s=AE;if(this[s(291)]&&this[s(365)]&&(this[s(365)].cancelVideoFrameCallback(this[s(291)]),this[s(291)]=null),this.hls&&(this[s(387)][s(315)](),this.hls=null),this[s(348)][s(264)]&&(this[s(348)][s(317)]((t=>t())),this[s(348)]=[]),this[s(308)]=!1,this[s(278)](),this[s(304)](),this[s(298)](),this[s(334)]._opt[s(321)]&&this[s(365)]){this.$videoElement[s(379)]&&(this.$videoElement.pause(),this.$videoElement.muted=!0),this.$videoElement[s(354)]=0,this.$videoElement[s(350)]&&(this[s(365)][s(350)]="",this[s(365)].removeAttribute("src"));try{this[s(365)][s(343)]()}catch(t){}}this.$videoElement=null,this.hlsFps=0,this.player[s(287)](this[s(356)],s(315)),setTimeout((()=>{t()}),0)}))}checkHlsBufferedDelay(){const t=AE,e=this[t(365)];let s=0;const i=e.buffered,r=i[t(264)]?i.end(i[t(264)]-1):0;return s=r-e[t(354)],s<0&&(this[t(334)][t(333)](this[t(356)],t(382)+s+t(256)+r+t(303)+e[t(354)]+t(332)+e[t(354)]+t(289)+r),e.currentTime=r,s=0),s}[gE(336)](){return this[gE(296)]}[gE(371)](){const t=gE;di()?this[t(291)]=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback.bind(this)):(this._stopCanvasRender(),this[t(341)]=setInterval((()=>{const e=t;this[e(334)].video[e(259)]({$video:this.$videoElement,ts:parseInt(1e3*this[e(365)][e(354)],10)||0})}),40))}[gE(278)](){const t=gE;this[t(341)]&&(clearInterval(this[t(341)]),this[t(341)]=null)}[gE(254)](t){const e=gE;let s=arguments[e(264)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player[e(266)]())return void this[e(334)].debugLog(this.TAG_NAME,e(286));const i=parseInt(1e3*Math[e(302)](s[e(346)],this.$videoElement[e(354)]),10)||0;this.player[e(344)][e(259)]({$video:this[e(365)],ts:i}),this[e(334)][e(280)](),this[e(334)].updateStats({dts:i}),this[e(291)]=this.$videoElement.requestVideoFrameCallback(this.videoFrameCallback[e(361)](this))}[gE(355)](){const t=gE;this[t(304)](),this[t(345)]=setInterval((()=>{const e=t;let s=0;this[e(387)][e(311)]&&(s=this[e(387)][e(311)]),this[e(334)][e(378)](O.kBps,(s/1024/8/10)[e(331)](2))}),1e3)}_stopBandwidthEstimateInterval(){const t=gE;this[t(345)]&&(clearInterval(this[t(345)]),this[t(345)]=null)}[gE(283)](){const t=gE;this[t(278)](),this[t(276)]=setInterval((()=>{const e=t;if(this[e(365)])if(Bs(this[e(365)][e(312)])){const t=this[e(365)][e(312)]();this[e(296)]=t[e(288)]-this[e(386)],this.hlsPrevFrams=t[e(288)]}else{const t=this.$videoElement.webkitDecodedFrameCount||0;this[e(296)]=t-this.hlsPrevFrams,this[e(386)]=t}}),1e3)}_stopFpsInterval(){const t=gE;this[t(276)]&&(clearInterval(this[t(276)]),this.fpsInterval=null)}[gE(351)](){const t=gE;this[t(334)]._opt[t(321)]&&(this[t(365)]=document[t(349)]("video"),this[t(365)][t(300)]=!0,es()&&(this[t(365)][t(377)][t(290)]="absolute"),this[t(323)]()),this[t(387)].attachMedia(this.$videoElement)}[gE(295)](){const t=gE,e=this[t(334)],{proxy:s}=this[t(334)][t(330)];this[t(387)];const i=this.$videoElement,r=di(),n=s(i,pt[t(255)],(s=>{const i=t;if(this.hls){const t=parseInt(s[i(260)],10);this.player[i(367)][i(321)]&&ii(r)&&e.updateStats({ts:t,dts:t})}}));this[t(348)].push(n),this.hls.on(fE[t(279)][t(366)],((e,s)=>{const i=t;if(s[i(297)])switch(s.type){case fE[i(376)][i(273)]:this[i(334)].debugWarn(this[i(356)],"fatal network error encountered, try to recover"),this[i(387)][i(306)]();break;case fE[i(376)][i(362)]:this[i(334)].debugWarn(this[i(356)],i(262)),this[i(387)][i(274)]()}})),this.hls.on(fE.Events[t(363)],(()=>{})),this[t(387)].on(fE.Events[t(275)],(()=>{})),this[t(387)].on(fE[t(279)][t(292)],(()=>{})),this[t(387)].on(fE[t(279)][t(284)],(()=>{})),this.hls.on(fE.Events[t(265)],(()=>{})),this[t(387)].on(fE.Events[t(263)],(()=>{})),this.hls.on(fE[t(279)].BUFFER_CREATED,(()=>{})),this[t(387)].on(fE[t(279)].BUFFER_APPENDING,((e,s)=>{const i=t;this[i(334)][i(287)](this[i(356)],i(328),s[i(310)])})),this[t(387)].on(fE.Events.BUFFER_APPENDED,(()=>{})),this[t(387)].on(fE[t(279)][t(282)],(()=>{})),this[t(387)].on(fE[t(279)][t(272)],(()=>{})),this.hls.on(fE[t(279)][t(314)],(()=>{})),this.hls.on(fE[t(279)][t(316)],(()=>{const e=t;this[e(334)][e(287)](this[e(356)],e(337))})),this[t(387)].on(fE[t(279)][t(380)],((e,s)=>{const i=t;this[i(334)][i(287)](this[i(356)],i(313),s.url)})),this[t(387)].on(fE.Events[t(353)],(()=>{const s=t;this[s(334)][s(287)](this[s(356)],"MANIFEST_PARSED playlist m3u8解析完成"),!e[s(319)].demuxStart&&(e[s(319)][s(388)]=Ve())})),this.hls.on(fE.Events[t(340)],(()=>{})),this.hls.on(fE[t(279)][t(381)],((t,e)=>{})),this.hls.on(fE[t(279)][t(324)],(()=>{})),this[t(387)].on(fE[t(279)][t(335)],((s,i)=>{const r=t;!e._times[r(268)]&&(e[r(319)].decodeStart=Ve())})),this.hls.on(fE[t(279)][t(328)],(()=>{const s=t;!e[s(319)].videoStart&&(e[s(319)][s(309)]=Ve(),e.handlePlayToRenderTimes())})),this[t(387)].on(fE[t(279)].FRAG_DECRYPTED,(()=>{})),this[t(387)].on(fE[t(279)].KEY_LOADING,(()=>{})),this[t(387)].on(fE[t(279)][t(368)],(()=>{})),this[t(387)].on(fE[t(279)].FPS_DROP,(t=>{})),this[t(387)].on(fE[t(279)].FPS_DROP_LEVEL_CAPPING,(t=>{})),this.hls.on(fE[t(279)][t(261)],((e,s)=>{const i=t;this[i(334)][i(287)](this[i(356)],i(261),s);const r=!!(s&&s[i(360)]&&s.tracks[i(253)]),n=!!(s&&s[i(360)]&&s[i(360)][i(344)]);if(r&&s[i(360)][i(253)]){let t=s.tracks.audio;const e=t[i(277)]&&t[i(277)].channelCount?t[i(277)][i(364)]:0,r=t[i(269)];this[i(334)][i(253)]&&this[i(334)].audio[i(383)]({encType:r,channels:e,sampleRate:44100})}if(n&&s[i(360)].video){let t=s.tracks[i(344)];const e={encTypeCode:-1!==t[i(269)].indexOf(i(318))?H.h264:H[i(267)]};t[i(277)]&&(e[i(374)]=t[i(277)].width,e.height=t[i(277)][i(270)]),this[i(334)][i(344)]&&this.player[i(344)][i(326)](e)}}))}initVideoPlay(t){const e=gE;this[e(334)][e(367)][e(321)]&&(this[e(365)]=document[e(349)](e(344)),this.initVideoEvents()),this[e(365)][e(325)]=!0,this[e(365)][e(300)]=!0,this[e(365)][e(350)]=t}[gE(307)](){const t=gE;!this.isInitInfo&&(this[t(334)][t(344)][t(326)]({width:this[t(365)].videoWidth,height:this[t(365)][t(347)]}),this[t(334)][t(344)][t(390)](),this.isInitInfo=!0)}[gE(323)](){const t=gE,{proxy:e}=this[t(334)][t(330)],s=e(this.$videoElement,pt[t(299)],(()=>{const e=t;this.player[e(287)](this[e(356)],"video canplay"),this[e(365)].play()[e(375)]((()=>{const t=e;this[t(334)][t(287)](this[t(356)],"video play"),this[t(371)](),this[t(307)]()})).catch((t=>{const s=e;this.player[s(333)](this[s(356)],s(301),t)}))})),i=e(this[t(365)],pt[t(372)],(()=>{const e=t;this[e(334)][e(287)](this[e(356)],e(271))})),r=e(this[t(365)],pt[t(255)],(e=>{const s=t,i=parseInt(e[s(260)],10);this[s(334)][s(280)](),this[s(334)][s(370)]({ts:i}),this.$videoElement.paused&&(this[s(334)][s(333)](this[s(356)],"video is paused and next try to replay"),this[s(365)].play()[s(375)]((()=>{const t=s;this.player.debugLog(this.TAG_NAME,t(359))}))[s(320)]((t=>{const e=s;this[e(334)][e(333)](this[e(356)],e(369),t)})))})),n=e(this[t(365)],pt.ratechange,(()=>{const e=t;this[e(334)].debugLog(this[e(356)],e(257),this[e(365)]&&this[e(365)][e(342)])}));this[t(348)][t(252)](s,i,r,n)}[gE(352)](t){return new Promise(((e,s)=>{const i=AE;this[i(293)]?(this[i(385)](t),this._startBandwidthEstimateInterval(),this[i(283)](),e()):this[i(387)].on(fE[i(279)][i(275)],(()=>{const s=i;this[s(387)].loadSource(t),this[s(355)](),this[s(283)](),e()}))}))}}function bE(){var t=["2758452ZhkcSX","2541686jMMkRT","14250hwTpig","760060KOzEnO","4167636SJPrcI","6194075SpLvaQ","1187959GYIsur"];return(bE=function(){return t})()}function vE(t,e){var s=bE();return(vE=function(t,e){return s[t-=194]})(t,e)}!function(t,e){for(var s=vE,i=t();;)try{if(914034===-parseInt(s(194))/1+parseInt(s(198))/2+-parseInt(s(195))/3+parseInt(s(199))/4+parseInt(s(200))/5+-parseInt(s(197))/6+parseInt(s(196))/7)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bE);const wE=_E;!function(t,e){const s=_E,i=t();for(;;)try{if(842456===-parseInt(s(534))/1*(-parseInt(s(468))/2)+parseInt(s(617))/3+-parseInt(s(588))/4*(parseInt(s(500))/5)+parseInt(s(527))/6*(parseInt(s(657))/7)+parseInt(s(469))/8*(-parseInt(s(570))/9)+parseInt(s(627))/10*(-parseInt(s(624))/11)+parseInt(s(623))/12*(parseInt(s(526))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(RE);const SE=2097152,EE={FETCH:wE(644),XHR:wE(654)},IE={ARRAY_BUFFER:"arraybuffer",TEXT:wE(497),JSON:"json"},TE={REAL_TIME_SPEED:wE(649)},kE=Object[wE(562)][wE(508)];function _E(t,e){const s=RE();return(_E=function(t,e){return s[t-=465]})(t,e)}function CE(t){const e=wE;if(kE[e(615)](t)!==e(675))return!1;const s=Object[e(510)](t);return null===s||s===Object[e(562)]}function RE(){const t=["_request",",len,","range","reject","cancel","destroy","_running",",range,","[fetchLoader onProgress end],task,","open","prototype","_currentChunkSizeKB","_canceled","ARRAY_BUFFER","options",", writeIdx,","vid","【fetchLoader,onProgress call】,task,","18bETFni","player","[xhr load done->], tast :","_onReadyStatechange","map","_receivedLength","keys","read","append","Task","filter","load","_range","slice","_xhr","byteLength","loader","_currentTask","147632kjnfMH","【xhrLoader task】, range","shift","_priOptions","function","toLowerCase","loaderType","resolve","ontimeout","indexOf","_loadChunk","removeAllListeners","_processTask","timeout","_runing","isSupported","_onCancel","retryCount","string","[task request catch err]","[fetch load end], index,","onload","_retryCheckFunc","_abortController","transformRequest","GET","_writeIdx","call","startTime","2926578RbnCwQ","[fetch load start], index,","_transformResponse","priOptions","REAL_TIME_SPEED",", done,","12KgEoQK","3571293LIDSCw","TEXT","debugLog","20NrbaUh","[xhr_loader->],tast :","onTimeout","XHR","bad response,status:","_onTimeout","_method",", datalen,","getReader","_loader","_timeout","finally","【fetchLoader,onProgress extra end】,len,","then",",index,","age","_loaderType","fetch","_config","type","_timeoutTimer","_responseType","real_time_speed","request","now","Content-Length","isNaN","xhr","XhrLoader",", start,","11336584FlkJGa","headers","split","used","_cache","_response","onerror","get","_index","_vid","replace","_body","index",", SubRange, ","onProgress","content-length","alive","_internalOpen","[object Object]","assign","_alive",",done,","push","_aborted","json","_headers","credentials","235202IOYNVF","253968mIfDme","_firstRtt","status","[task request setTimeout],retry","retryCheckFunc","abort","_url","isTimeout","bad network response","_withCredentials","target","end ","onCancel","_retryCount","bytes=","trim","receiveLen","stringify","JSON","same-origin",",statusText,","_onProgress","currentTarget","_loadCompleteReject","responseURL","arrayBuffer","bind","onreadystatechange","text","all","_retryTimer","205IWokGX","length","url","promise","【fetchLoader,onProgress cache】,len,","body","exec","emit","toString",", start","getPrototypeOf","withCredentials","_loadCompleteResolve","endTime","[object Date]","response","include","done","isFetch","readyState","undefined","running",",receivedLength","_queue","isFetchSupport","responseType","1568593RXveGP","6gyyxYy","_startTime","message","value","onProgress of bad response.body.getReader","TAG_NAME","statusText","3ACYdTh",", allRange, ",",load sub range, ","_onProcessMinLen","number","set","_startLoad","catch","join","【fetchLoader,onProgress extra start】,size,","_logger","setRequestHeader","【fetchLoader,onProgress enough】,done,","_reader","FETCH","params",", end,","_onLoad"];return(RE=function(){return t})()}function DE(t){const e=wE;if(!t||null===t[0]||void 0===t[0]||0===t[0]&&(null===t[1]||void 0===t[1]))return;let s=e(483)+t[0]+"-";return t[1]&&(s+=t[1]),s}function xE(t){const e=wE;return encodeURIComponent(t).replace(/%3A/gi,":")[e(667)](/%24/g,"$").replace(/%2C/gi,",")[e(667)](/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function LE(t,e){const s=wE;if(!t)return;if(!e)return t;let i;const r=Object.keys(e)[s(574)]((t=>{const r=s;if(i=e[t],null!=i)return Array.isArray(i)?t+="[]":i=[i],i[r(574)]((e=>{const s=r;var i;return!function(t){const e=wE;return kE[e(615)](t)===e(514)}(e)?null!==(i=e)&&"object"==typeof i&&(e=JSON[s(486)](e)):e=e.toISOString(),xE(t)+"="+xE(e)}))[r(542)]("&")}))[s(580)](Boolean)[s(542)]("&");if(r){const e=t[s(597)]("#");-1!==e&&(t=t[s(583)](0,e)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}function PE(t,e,s,i,r,n,o,a,h,c,l){r=null!=r?parseFloat(r):null,i=parseInt(i||"0",10),Number.isNaN(i)&&(i=0);return{data:t,done:e,option:{range:h,vid:c,index:a,contentLength:i,age:r,startTime:n,firstByteTime:o,endTime:Date.now(),priOptions:l},response:s}}function ME(t,e){return Math.round(8*t*1e3/e/1024)}class BE extends Error{constructor(t,e,s,i){const r=wE;super(i),If(this,r(605),0),If(this,r(476),!1),If(this,r(594),EE[r(548)]),If(this,r(616),0),If(this,r(513),0),If(this,r(566),{}),this[r(502)]=t,this[r(650)]=e,this[r(515)]=s}}class FE extends n{constructor(t){const e=wE;super(),If(this,e(611),null),If(this,"_timeoutTimer",null),If(this,e(547),null),If(this,e(662),null),If(this,e(680),!1),If(this,e(665),-1),If(this,e(582),null),If(this,"_receivedLength",0),If(this,e(558),!1),If(this,e(544),null),If(this,e(666),""),If(this,e(537),0),If(this,e(604),null),If(this,e(591),null),If(this,e(532),"FetchLoader"),this[e(571)]=t}[wE(581)](t){const e=wE;var s;let{url:i,vid:r,timeout:n,responseType:o,onProgress:a,index:h,onTimeout:c,onCancel:l,range:d,transformResponse:u,request:p,params:f,logger:m,method:g,headers:A,body:y,mode:b,credentials:v,cache:w,redirect:S,referrer:E,referrerPolicy:I,onProcessMinLen:T,priOptions:k}=t;this._aborted=!1,this[e(537)]=T,this[e(604)]=l,this._abortController="undefined"!=typeof AbortController&&new AbortController,this[e(558)]=!0,this[e(665)]=h,this._range=d||[0,0],this[e(666)]=r||i,this._priOptions=k||{};const _={method:g,headers:A,body:y,mode:b,credentials:v,cache:w,redirect:S,referrer:E,referrerPolicy:I,signal:null===(s=this[e(611)])||void 0===s?void 0:s.signal};let C=!1;clearTimeout(this[e(647)]),i=LE(i,f);const R=DE(d);R&&(A=p?p[e(658)]:_.headers=_[e(658)]||(Headers?new Headers:{}),Headers&&A instanceof Headers?A[e(578)]("Range",R):A.Range=R),n&&(this[e(647)]=setTimeout((()=>{const t=e;if(C=!0,this[t(556)](),c){const e=new BE(i,_,null,t(601));e[t(476)]=!0,c(e,{index:this[t(665)],range:this[t(582)],vid:this[t(666)],priOptions:this._priOptions})}}),n));const D=Date[e(651)]();return(gs(h)||gs(d))&&this[e(571)][e(626)](this.TAG_NAME,e(618),h,e(559),d),new Promise(((t,s)=>{const r=e;fetch(p||i,p?void 0:_)[r(640)]((async e=>{const n=r;if(clearTimeout(this[n(647)]),this._response=e,this[n(680)]||!this[n(558)])return;if(u&&(e=u(e,i)||e),!e.ok)throw new BE(i,_,e,n(477));const c=Date[n(651)]();let l;if(o===IE[n(625)])l=await e[n(497)](),this._running=!1;else if(o===IE[n(487)])l=await e[n(465)](),this[n(558)]=!1;else{if(a)return this.resolve=t,this[n(555)]=s,void this[n(598)](e,a,D,c);{l=await e[n(494)](),l=new Uint8Array(l),this._running=!1;const t=Date.now()-D,s=ME(l[n(585)],t);this[n(507)](TE[n(621)],{speed:s,len:l.byteLength,time:t,vid:this[n(666)],index:this[n(665)],range:this[n(582)],priOptions:this[n(591)]})}}(gs(h)||gs(d))&&this[n(571)][n(626)](this[n(532)],n(608),h,",range,",d),t(PE(l,!0,e,e[n(658)][n(664)](n(652)),e[n(658)][n(664)](n(642)),D,c,h,d,this[n(666)],this._priOptions))}))[r(541)]((t=>{const e=r;var n;clearTimeout(this[e(647)]),this[e(558)]=!1,this[e(680)]&&!C||((t=t instanceof BE?t:new BE(i,_,null,null===(n=t)||void 0===n?void 0:n[e(529)]))[e(616)]=D,t[e(513)]=Date[e(651)](),t[e(476)]=C,t[e(566)]={index:this[e(665)],range:this[e(582)],vid:this[e(666)],priOptions:this._priOptions},s(t))}))}))}async[wE(556)](){const t=wE;if(!this[t(680)]){if(this[t(680)]=!0,this[t(558)]=!1,this[t(662)]){try{this[t(547)]&&await this[t(547)][t(556)]()}catch(t){}this[t(662)]=this[t(547)]=null}if(this[t(611)]){try{this[t(611)][t(474)]()}catch(t){}this._abortController=null}this[t(604)]&&this[t(604)]({index:this[t(665)],range:this[t(582)],vid:this[t(666)],priOptions:this[t(591)]})}}[wE(598)](t,e,s,i){const r=wE;if(!t[r(505)]||!t[r(505)][r(635)]){this._running=!1;const e=new BE(t[r(502)],"",t,r(531));return e[r(566)]={index:this._index,range:this[r(582)],vid:this[r(666)],priOptions:this[r(591)]},void this[r(555)](e)}this[r(537)]>0&&(this[r(661)]=new Uint8Array(SE),this[r(614)]=0);const n=this._reader=t.body[r(635)]();let o,a,h;const c=async()=>{const l=r;var d;a=Date.now();try{o=await n[l(577)](),h=Date[l(651)]()}catch(t){return h=Date[l(651)](),void(!this[l(680)]&&(this._running=!1,t[l(566)]={index:this[l(665)],range:this._range,vid:this._vid,priOptions:this._priOptions},this[l(555)](t)))}const u=(null===(d=this[l(582)])||void 0===d?void 0:d[l(501)])>0?this[l(582)][0]:0,p=u+this[l(575)];if(this._aborted)return this[l(558)]=!1,void e(void 0,!1,{range:[p,p],vid:this._vid,index:this[l(665)],startTime:a,endTime:h,st:s,firstByteTime:i,priOptions:this[l(591)]},t);const f=o[l(530)]?o[l(530)][l(585)]:0;let m;if(this._receivedLength+=f,this.player.debugLog(this[l(532)],l(569),this._range,l(656),p,l(550),u+this[l(575)],", done,",o[l(517)]),this[l(537)]>0){if(this[l(614)]+f>=this._onProcessMinLen||o[l(517)])m=new Uint8Array(this._writeIdx+f),m[l(539)](this._cache.slice(0,this[l(614)]),0),f>0&&m[l(539)](o[l(530)],this._writeIdx),this[l(614)]=0,this[l(571)][l(626)](this[l(532)],l(546),o.done,l(553),m[l(585)],l(567),this._writeIdx);else if(f>0&&this[l(614)]+f0){const t=new Uint8Array(this._writeIdx+f+2048);this[l(571)][l(626)](this[l(532)],l(543),this[l(614)]+f+2048,l(634),f,l(567),this[l(614)]),t.set(this._cache[l(583)](0,this[l(614)]),0),f>0&&t[l(539)](o[l(530)],this[l(614)]),this[l(614)]+=f,delete this._cache,this[l(661)]=t,this.player.debugLog(this[l(532)],l(639),f,l(567),this._writeIdx)}}else m=o[l(530)];if((m&&m.byteLength>0||o[l(517)])&&e(m,o.done,{range:[this[l(582)][0]+this[l(575)]-(m?m[l(585)]:0),this[l(582)][0]+this[l(575)]],vid:this._vid,index:this[l(665)],startTime:a,endTime:h,st:s,firstByteTime:i,priOptions:this[l(591)]},t),o[l(517)]){const e=Date[l(651)]()-s,r=ME(this[l(575)],e);this.emit(TE[l(621)],{speed:r,len:this[l(575)],time:e,vid:this[l(666)],index:this[l(665)],range:this._range,priOptions:this[l(591)]}),this[l(558)]=!1,this[l(571)].debugLog(this[l(532)],l(560),this[l(582)],l(678),o.done),this[l(595)](PE(o,!0,t,t[l(658)].get(l(652)),t.headers[l(664)](l(642)),s,i,this[l(665)],this[l(582)],this._vid,this._priOptions))}else c()};c()}get[wE(485)](){return this._receivedLength}get[wE(521)](){return this[wE(558)]}set[wE(521)](t){this._running=t}static[wE(603)](){return!(typeof fetch===wE(520))}}class OE{constructor(t,e,s){const i=wE;If(this,i(532),i(579)),this[i(503)]=function(){const t=wE;let e,s;const i=new Promise(((t,i)=>{e=t,s=i}));return i.used=!1,i[t(595)]=function(){return i[t(660)]=!0,e(...arguments)},i.reject=function(){return i[t(660)]=!0,s(...arguments)},i}(),this[i(673)]=!!e.onProgress,this[i(643)]=t,this[i(571)]=s,this[i(636)]=t===EE[i(548)]&&window[i(644)]?new FE(s):new UE(s),this[i(645)]=e,this[i(482)]=0,this[i(499)]=null,this._canceled=!1,this[i(610)]=e[i(473)]}[wE(506)](){const t=wE,{retry:e,retryDelay:s,onRetryError:i,transformError:r,...n}=this[t(645)],o=async()=>{const a=t;try{const t=await this[a(636)].load(n);this[a(503)][a(595)](t)}catch(t){if(this[a(636)][a(521)]=!1,this.player[a(626)](this[a(532)],a(607),t),this[a(564)])return;t[a(594)]=this[a(643)],t[a(605)]=this[a(482)];let h=t;r&&(h=r(h)||h),i&&this._retryCount>0&&i(h,this[a(482)],{index:n.index,vid:n.vid,range:n.range,priOptions:n[a(620)]}),this._retryCount++;let c=!0;if(this[a(610)]&&(c=this[a(610)](t)),c&&this._retryCount<=e)return clearTimeout(this[a(499)]),this[a(571)][a(626)](this[a(532)],a(472),this._retryCount,",retry range,",n[a(554)]),void(this[a(499)]=setTimeout(o,s));this[a(503)][a(555)](h)}};return o(),this.promise}async[wE(556)](){const t=wE;return clearTimeout(this[t(499)]),this[t(564)]=!0,this[t(636)][t(521)]=!1,this[t(636)].cancel()}get[wE(521)](){const t=wE;return this._loader&&this[t(636)].running}get[wE(586)](){return this[wE(636)]}}class UE extends n{constructor(t){const e=wE;super(),If(this,"_xhr",null),If(this,e(680),!1),If(this,e(647),null),If(this,"_range",null),If(this,e(575),0),If(this,e(475),null),If(this,e(490),null),If(this,e(665),-1),If(this,e(466),null),If(this,e(563),384),If(this,e(637),null),If(this,"_xhr",null),If(this,"_withCredentials",null),If(this,e(528),-1),If(this,e(512),null),If(this,e(492),null),If(this,e(602),!1),If(this,e(544),!1),If(this,e(666),""),If(this,"_responseType",void 0),If(this,"_credentials",void 0),If(this,e(633),void 0),If(this,e(619),void 0),If(this,e(470),void 0),If(this,e(604),null),If(this,e(591),null),If(this,e(532),e(655)),this.player=t}load(t){const e=wE;clearTimeout(this[e(647)]),this[e(582)]=t[e(554)],this[e(490)]=t[e(671)],this[e(665)]=t[e(669)],this[e(466)]=t[e(658)],this[e(478)]=t[e(467)]===e(516)||t[e(467)]===e(488),this[e(668)]=t.body||null,t.method&&(this[e(633)]=t.method),this[e(637)]=t[e(601)]||null,this[e(602)]=!0,this._vid=t[e(568)]||t[e(502)],this._responseType=t[e(525)],this._firstRtt=-1,this[e(632)]=t[e(629)],this[e(604)]=t[e(481)],this._request=t[e(650)],this[e(591)]=t[e(620)]||{},this[e(571)][e(626)](this[e(532)],e(589),this._range),this[e(475)]=LE(t.url,t[e(549)]);const s=Date[e(651)]();return new Promise(((t,s)=>{const i=e;this[i(512)]=t,this[i(492)]=s,this[i(540)]()}))[e(541)]((t=>{const i=e;if(clearTimeout(this[i(647)]),this[i(602)]=!1,!this[i(680)])throw(t=t instanceof BE?t:new BE(this[i(475)],this._request))[i(616)]=s,t[i(513)]=Date.now(),t[i(566)]={index:this._index,vid:this[i(666)],priOptions:this[i(591)]},t}))}[wE(540)](){const t=wE;let e=null;if(this[t(648)]===IE[t(565)]&&this[t(582)]&&this._range[t(501)]>1)if(this[t(490)]){this[t(470)]=-1;const s=1024*this[t(563)],i=this[t(582)][0]+this._receivedLength;let r=this[t(582)][1];s{const s=e;var i,r,n;this[s(558)]=!1;const o=new BE(this._url,this[s(552)],null==t||null===(i=t[s(491)])||void 0===i?void 0:i[s(515)],"xhr.onerror.status:"+(null==t||null===(r=t[s(491)])||void 0===r?void 0:r.status)+s(489)+(null==t||null===(n=t[s(491)])||void 0===n?void 0:n[s(533)]));o[s(566)]={index:this._index,range:this[s(582)],vid:this._vid,priOptions:this._priOptions},this[s(492)](o)},s[e(596)]=t=>{const s=e;this.cancel();const i=new BE(this[s(475)],this[s(552)],{status:408},s(601));this._onTimeout&&(i[s(476)]=!0,this[s(632)](i,{index:this._index,range:this[s(582)],vid:this[s(666)],priOptions:this[s(591)]})),i.options={index:this._index,range:this[s(582)],vid:this[s(666)],priOptions:this[s(591)]},this[s(492)](i)};const i=this[e(466)]||{},r=DE(t);r&&(i.Range=r),i&&Object[e(576)](i).forEach((t=>{s[e(545)](t,i[t])})),this.player.debugLog(this[e(532)],"[xhr.send->] tast,",this[e(582)],e(536),t),s.send(this[e(668)])}catch(s){s.options={index:this[e(665)],range:t,vid:this[e(666)],priOptions:this[e(591)]},this[e(492)](s)}}[wE(573)](t){const e=wE;2===t[e(479)][e(519)]&&this[e(470)]<0&&(this[e(470)]=Date[e(651)]())}_onLoad(t){const e=wE;var s;const i=t[e(479)][e(471)];if(i<200||i>299){const s=new BE(this[e(475)],null,{...t[e(479)][e(515)],status:i},e(631)+i);return s[e(566)]={index:this._index,range:this[e(582)],vid:this._vid,priOptions:this[e(591)]},this._loadCompleteReject(s)}let r,n=null,o=!1;const a=(null===(s=this[e(582)])||void 0===s?void 0:s.length)>0?this[e(582)][0]:0;if(this[e(648)]===IE[e(565)]){var h;const s=new Uint8Array(t[e(479)][e(515)]);if(r=a+this._receivedLength,s&&s[e(585)]>0){this[e(575)]+=s[e(585)];const t=Date[e(651)]()-this[e(528)],i=ME(this[e(575)],t);this[e(507)](TE[e(621)],{speed:i,len:this[e(575)],time:t,vid:this[e(666)],index:this[e(665)],range:[r,a+this[e(575)]],priOptions:this[e(591)]})}n=s,o=!((null===(h=this._range)||void 0===h?void 0:h[e(501)])>1&&this[e(582)][1]&&this[e(575)]=200&&i<300,status:i,statusText:this[e(584)][e(533)],url:this[e(584)][e(493)],headers:this._getHeaders(this[e(584)]),body:this[e(584)][e(515)]};this._transformResponse&&(c=this[e(619)](c,this[e(475)])||c),this[e(490)]&&this[e(490)](n,o,{index:this[e(665)],vid:this._vid,range:[r,a+this[e(575)]],startTime:this[e(528)],endTime:Date.now(),priOptions:this[e(591)]},c),o?(this[e(602)]=!1,this[e(512)]&&this[e(512)](PE(this._onProgress?null:n,o,c,c[e(658)][e(672)],c.headers[e(642)],this[e(528)],this[e(470)],this._index,this[e(582)],this[e(666)],this[e(591)]))):this[e(540)]()}[wE(556)](){const t=wE;if(!this[t(680)])return this._aborted=!0,this[t(602)]=!1,super[t(599)](),this[t(604)]&&this[t(604)]({index:this[t(665)],range:this[t(582)],vid:this[t(666)],priOptions:this[t(591)]}),this[t(584)]?this[t(584)][t(474)]():void 0}static[wE(603)](){return typeof XMLHttpRequest!==wE(520)}get[wE(485)](){return this[wE(575)]}get[wE(521)](){return this._running}set[wE(521)](t){this[wE(558)]=t}_getHeaders(t){const e=wE,s=t.getAllResponseHeaders()[e(484)]().split("\r\n"),i={};for(const t of s){const s=t[e(659)](": ");i[s[0][e(593)]()]=s.slice(1)[e(542)](": ")}return i}}class jE extends n{constructor(t,e){const s=wE;super(),If(this,"type",EE[s(548)]),If(this,s(523),[]),If(this,s(677),[]),If(this,s(587),null),If(this,s(645),void 0),this[s(571)]=e,this._config=function(t){const e=wE;return{loaderType:EE[e(548)],retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:IE[e(625)],range:void 0,url:"",params:void 0,method:e(613),headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0,...t}}(t),(this[s(645)][s(594)]===EE.XHR||!FE[s(603)]())&&(this[s(646)]=EE[s(630)])}[wE(557)](){const t=wE;this._queue=[],this[t(677)]=[],this._currentTask=null}[wE(518)](){const t=wE;return this[t(646)]===EE[t(548)]}static[wE(524)](){return FE[wE(603)]()}load(t){const e=wE;let s=arguments[e(501)]>1&&void 0!==arguments[1]?arguments[1]:{};typeof t!==e(606)&&t?s=t:s.url=t||s[e(502)]||this[e(645)].url,s=Object[e(676)]({},this[e(645)],s),s.params&&(s[e(549)]=Object.assign({},s[e(549)])),s.headers&&CE(s[e(658)])&&(s[e(658)]=Object.assign({},s[e(658)])),s.body&&CE(s[e(505)])&&(s[e(505)]=Object[e(676)]({},s[e(505)])),s[e(612)]&&(s=s[e(612)](s)||s);const i=new OE(this[e(646)],s,this[e(571)]);return i[e(586)].on(TE[e(621)],(t=>{const s=e;this[s(507)](TE[s(621)],t)})),this[e(523)][e(679)](i),1===this[e(523)].length&&(!this._currentTask||!this._currentTask[e(521)])&&this[e(600)](),i[e(503)]}async[wE(556)](){const t=wE,e=this[t(523)][t(574)]((t=>t.cancel())).concat(this[t(677)].map((e=>e[t(556)]())));this[t(587)]&&e.push(this[t(587)][t(556)]()),this._queue=[],this[t(677)]=[],await Promise[t(498)](e),await function(){let t=arguments[Fe(507)]>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((e=>setTimeout(e,t)))}()}[wE(600)](){const t=wE;if(this[t(587)]=this._queue[t(590)](),!this[t(587)])return;this[t(587)][t(673)]&&this[t(677)][t(679)](this[t(587)]);const e=this._currentTask[t(506)]()[t(541)]((t=>{}));e&&typeof e.finally===t(592)&&e[t(638)]((()=>{const e=t;var s,i;null!==(s=this[e(587)])&&void 0!==s&&s[e(673)]&&(null===(i=this[e(677)])||void 0===i?void 0:i[e(501)])>0&&(this[e(677)]=this._alive[e(580)]((t=>t&&t!==this._currentTask))),this[e(600)]()}))}}function NE(t,e){const s=VE();return(NE=function(t,e){return s[t-=139]})(t,e)}function VE(){const t=["304449HkKkIw","2721592WslbhP","network_timeout","response","2218512jcpKJV","status","13180yRvORY","1545244rMMddB","7RItMzB","8730SPyXPN","1571925cEhZrY","other","ext","isTimeout","create","NETWORK","manifest","demux","NETWORK_TIMEOUT","hls","network","message","21nwQbhx","url","OTHER","network_forbidden","errorMessage"];return(VE=function(){return t})()}const zE=NE;!function(t,e){const s=NE,i=t();for(;;)try{if(250034===parseInt(s(156))/1+parseInt(s(162))/2*(-parseInt(s(151))/3)+parseInt(s(163))/4+parseInt(s(139))/5+-parseInt(s(160))/6+parseInt(s(164))/7*(-parseInt(s(157))/8)+parseInt(s(165))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(VE);const WE={NETWORK:zE(149),NETWORK_TIMEOUT:zE(158),NETWORK_FORBIDDEN:zE(154),OTHER:zE(140),MANIFEST:zE(145),HLS:zE(148),DEMUX:zE(146)};class GE extends Error{constructor(t,e,s,i,r){const n=zE;super(r||(null==s?void 0:s.message)),this.errorType=t===WE[n(147)]?WE[n(144)]:t,this.originError=s,this[n(141)]=i,this[n(155)]=this[n(150)]}static[zE(143)](t,e,s,i,r){return t instanceof GE?t:(t instanceof Error&&(s=t,t=""),t||(t=WE[zE(153)]),new GE(t,e,s,i,r))}static network(t){const e=zE;var s;return new GE(null!=t&&t[e(142)]?WE[e(147)]:WE[e(144)],null,t instanceof Error?t:null,{url:null==t?void 0:t[e(152)],response:null==t?void 0:t[e(159)],httpCode:null==t||null===(s=t[e(159)])||void 0===s?void 0:s[e(161)]})}}const HE=dI;function KE(){const t=["audioStreams","width","length","forced","endCC","DISCONTINUITY-SEQUENCE","end","BANDWIDTH","19269xsRidC","hasVideo","TARGETDURATION","VERSION","startSN","KEYFORMATVERSIONS","CHANNELS","startCC","targetDuration","TYPE","#EXTINF:","autoSelect","DEFAULT","setTrackExist","video","30028uXAIRA","endSN","YES","identity","4990jYtQyu","url","version","keyFormat","channels","setByteRange","URI","method","subtitleStreams","lang","closedCaptionsStream","5EvYvuV","STREAM-INF","bitrate","encrypt ","BYTERANGE","videoCodec","SubTitle","8ZlFdUA","exec","includes","duration","forEach","audioGroup","SUBTITLES","filter","clone","number","CODECS","GROUP-ID","type","hasAudio","1468379kkhotp","EXT-X-","MEDIA","6166986OWMDTC","default","split","VIDEO","textCodec","KEYFORMAT","start","byteRange","setIVFromSN","#EXT-X-TARGETDURATION:","name","keyFormatVersions","trim","21BfaOBr","push","parse","match","PLAYLIST-TYPE","EXTINF","key","MAP","Invalid m3u8 file","isInitSegment","KEY","AUDIO","METHOD","LANGUAGE","isMaster","text","isMediaPlaylist","segments","#EXTM3U","slice","isLast","streams","group","DISCONTINUITY","Video","Audio","toUpperCase","7952413oByWmD","initSegment","title","959884KsJbTV","height","AES-128","audio","totalDuration"," is not supported","NAME","AVERAGE-BANDWIDTH","live","subtitleGroup","isNaN","test","mediaType","76092wJudmc","SUBTITLE"];return(KE=function(){return t})()}!function(t,e){const s=dI,i=t();for(;;)try{if(624021===-parseInt(s(419))/1+-parseInt(s(432))/2*(-parseInt(s(389))/3)+parseInt(s(457))/4*(parseInt(s(472))/5)+-parseInt(s(376))/6+parseInt(s(416))/7*(parseInt(s(479))/8)+parseInt(s(442))/9*(parseInt(s(461))/10)+parseInt(s(493))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(KE);const QE=/^#(EXT[^:]*)(?::(.*))?$/,YE=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,qE=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,JE=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function XE(t){const e=dI,s=t[e(392)](QE);if(s&&s[1])return[s[1].replace(e(494),""),s[2]]}function ZE(t){const e=dI,s={};let i=YE[e(480)](t);for(;i;)s[i[1]]=i[2]||i[3],i=YE[e(480)](t);return s}function $E(t,e){const s=dI;if(!e||!t||qE.test(t))return t;const i=JE[s(480)](e);return i?"/"===t[0]?i[1]+t:i[1]+i[2]+t:t}const tI={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function eI(t,e){const s=dI,i=tI[t];if(i&&e&&e[s(436)])for(let t=0;t>8*(15-e)&255}}}function dI(t,e){const s=KE();return(dI=function(t,e){return s[t-=376]})(t,e)}class uI{static[HE(391)](){const t=HE;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(436)]>1?arguments[1]:void 0;if(!e[t(481)](t(407)))throw new Error(t(397));const i=function(t){const e=dI;return t[e(378)](/[\r\n]/).map((t=>t[e(388)]()))[e(486)](Boolean)}(e);return uI[t(405)](e)?function(t,e){const s=HE,i=new hI;i[s(462)]=e;let r,n=new cI,o=null,a=null,h=0,c=0,l=0,d=0,u=!1;for(;(r=t[d++])&&!u;){if("#"!==r[0]){n.sn=c,n.cc=l,n[s(462)]=$E(r,e),a&&(n[s(395)]=a[s(487)](c)),o&&(n[s(417)]=o),i[s(406)][s(390)](n),n=new cI,c++;continue}const t=XE(r);if(!t)continue;const[d,p]=t;switch(d){case s(445):i[s(463)]=parseInt(p);break;case s(393):i[s(491)]=null==p?void 0:p[s(415)]();break;case s(444):i.targetDuration=parseFloat(p);break;case"ENDLIST":{const t=i[s(406)][i[s(406)].length-1];t&&(t[s(409)]=!0),i[s(427)]=!1,u=!0}break;case"MEDIA-SEQUENCE":c=i[s(446)]=parseInt(p);break;case s(439):l=i[s(449)]=parseInt(p);break;case s(412):l++;break;case s(476):n[s(466)](p,i[s(406)][i[s(406)].length-1]);break;case s(394):{const[t,e]=p[s(378)](",");n[s(382)]=h,n.duration=parseFloat(t),h+=n.duration,n[s(418)]=e}break;case s(399):{const t=ZE(p);if("NONE"===t[s(401)]){a=null;break}if(t[s(401)]!==s(421))throw new Error(s(475)+t[s(401)]+"/"+t[s(381)]+s(424));if(a=new lI,a.method=t.METHOD,a[s(462)]=/^blob:/[s(430)](t[s(467)])?t[s(467)]:$E(t.URI,e),a[s(464)]=t[s(381)]||s(460),a[s(387)]=t[s(447)],t.IV){let e=t.IV[s(408)](2);e=(1&e[s(436)]?"0":"")+e,a.iv=new Uint8Array(e[s(436)]/2);for(let t=0,i=e[s(436)]/2;t{t.id=e})),o.length&&(o.forEach(((t,e)=>{t.id=e})),i[s(410)][s(483)]((t=>{const e=s;t[e(484)]&&(t[e(434)]=o[e(486)]((s=>s[e(411)]===t[e(484)])))}))),a[s(436)]&&(a[s(483)](((t,e)=>{t.id=e})),i.streams[s(483)]((t=>{const e=s;t[e(428)]&&(t.subtitleStreams=a[e(486)]((s=>s[e(411)]===t[e(428)])))}))),i}(i,s)}static[HE(405)](t){const e=HE;return t.includes(e(452))||t[e(481)](e(385))}}const pI=mI;function fI(){const t=["empty segments list","parse","90228FqnRgP","hls","_audioLoader","network","all","1063602QvTftr","player","emit","push","_loader","pollRetryCount","segments","9ErmwZv","data","isMaster","HlsManifestLoader","stopPoll","_timer","_onLoaderRetry","333491EueBkf","114443fheDXU","152580reHqrH","TAG_NAME","HLS_LEVEL_LOADED","cancel","load()","376xKniif","16NMGdhW","live","MANIFEST","destroy","config","HLS","_subtitleLoader","3736788WdMHwV","70940QSHIps","load","debugLog","text"];return(fI=function(){return t})()}function mI(t,e){const s=fI();return(mI=function(t,e){return s[t-=458]})(t,e)}!function(t,e){const s=mI,i=t();for(;;)try{if(446001===-parseInt(s(458))/1+parseInt(s(485))/2+parseInt(s(480))/3+parseInt(s(466))/4*(parseInt(s(474))/5)+-parseInt(s(473))/6+parseInt(s(459))/7*(parseInt(s(465))/8)+-parseInt(s(492))/9*(-parseInt(s(460))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fI);class gI{constructor(t){const e=mI;If(this,"_onLoaderRetry",((t,e)=>{const s=mI;this[s(481)].emit(_t.LOAD_RETRY,{error:GE[s(483)](t),retryTime:e})})),this[e(481)]=t,this[e(486)]=t[e(486)],this.TAG_NAME=e(495),this._timer=null;const{retryCount:s,retryDelay:i,loadTimeout:r,fetchOptions:n}=this.hls[e(470)];this[e(489)]=new jE({...n,responseType:"text",retry:s,retryDelay:i,timeout:r,onRetryError:this._onLoaderRetry},this.player),this[e(482)]=new jE({...n,responseType:e(477),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(498)]},this[e(486)]),this[e(472)]=new jE({...n,responseType:e(477),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(498)]},this[e(486)])}async[pI(469)](){const t=pI;await this.stopPoll(),this[t(482)]&&(this._audioLoader.destroy(),this[t(482)]=null),this[t(472)]&&(this[t(472)][t(469)](),this[t(472)]=null),this[t(489)]&&(this._loader[t(469)](),this._loader=null)}async[pI(475)](t,e,s){const i=pI;this[i(486)][i(476)](this[i(461)],i(464),t,e,s);const r=[this[i(489)].load(t)];let n,o,a,h,c,l;e&&r[i(488)](this[i(482)].load(e)),s&&r[i(488)](this[i(472)][i(475)](s));try{const[t,s,h]=await Promise[i(484)](r);if(!t)return[];n=t[i(493)],e?(o=null==s?void 0:s[i(493)],a=null==h?void 0:h[i(493)]):a=null==s?void 0:s[i(493)]}catch(t){throw GE.network(t)}try{var d;if(h=uI[i(479)](n,t),!1===(null===(d=h)||void 0===d?void 0:d[i(467)])&&h[i(491)]&&!h.segments.length)throw new Error(i(478));o&&(c=uI.parse(o,e)),a&&(l=uI[i(479)](a,s))}catch(t){throw new GE(WE[i(468)],WE[i(471)],t)}return h&&(h[i(494)]?this[i(481)][i(487)](_t.HLS_MANIFEST_LOADED,{playlist:h}):this[i(481)][i(487)](_t[i(462)],{playlist:h})),[h,c,l]}poll(t,e,s,i,r,n){const o=pI;clearTimeout(this[o(497)]),n=n||3e3;let a=this[o(481)][o(470)][o(490)];const h=async()=>{const c=o;clearTimeout(this[c(497)]);try{const r=await this.load(t,e,s);if(!r[0])return;a=this[c(481)][c(470)][c(490)],i(r[0],r[1],r[2])}catch(t){a--,a<=0&&r(t)}this._timer=setTimeout(h,n)};this[o(497)]=setTimeout(h,n)}[pI(496)](){return clearTimeout(this[pI(497)]),this.cancel()}cancel(){const t=pI;return Promise[t(484)]([this[t(489)][t(463)](),this[t(482)][t(463)]()])}}function AI(t,e){var s=bI();return(AI=function(t,e){return s[t-=353]})(t,e)}var yI=AI;function bI(){var t=["_chunkSpeeds","reduce","444116dPLOxg","push","96ykGAPz","88586vWkqJp","reset","addRecord","length","1337768NnkXEM","getAvgSpeed","1510OTsCub","1dSTCUK","22851SkrLTC","5oGevUq","getLatestSpeed","828099SSdStr","4802uYjYJd","addChunkRecord","6634793XjJjmA","slice","_speeds"];return(bI=function(){return t})()}!function(t,e){for(var s=AI,i=t();;)try{if(277260===-parseInt(s(362))/1*(-parseInt(s(355))/2)+-parseInt(s(366))/3+-parseInt(s(374))/4*(-parseInt(s(364))/5)+-parseInt(s(354))/6*(-parseInt(s(367))/7)+parseInt(s(359))/8+-parseInt(s(363))/9*(parseInt(s(361))/10)+parseInt(s(369))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(bI);class vI{constructor(){var t=AI;If(this,t(372),[]),If(this,t(371),[])}[yI(357)](t,e){var s=yI;t&&e&&(this._speeds[s(353)](8e3*t/e),this[s(371)]=this[s(371)][s(370)](-3))}[yI(368)](t,e){var s=yI;t&&e&&(this._chunkSpeeds[s(353)](8e3*t/e),this._chunkSpeeds=this._chunkSpeeds[s(370)](-100))}[yI(360)](){var t=yI;return this[t(372)][t(358)]||this[t(371)][t(358)]?this[t(371)][t(358)]?this[t(371)][t(373)](((t,e)=>t+e))/this[t(371)][t(358)]:this[t(372)].reduce(((t,e)=>t+e))/this._chunkSpeeds[t(358)]:0}[yI(365)](){var t=yI;return this._chunkSpeeds[t(358)]||this[t(371)][t(358)]?this[t(371)][t(358)]?this[t(371)][this[t(371)].length-1]:this[t(372)][this[t(372)][t(358)]-1]:0}[yI(356)](){var t=yI;this._chunkSpeeds=[],this[t(371)]=[]}}const wI=SI;function SI(t,e){const s=EI();return(SI=function(t,e){return s[t-=300]})(t,e)}function EI(){const t=["reset","SPEED","_loadSegment","loadAudioSegment","data","initSegment","_onLoaderRetry","arraybuffer","addRecord","emit","_segmentLoader","keys","byteLength","all","headers","41997868qhsSyb","_keyLoader","_mapCache","2CWziyw","length","6300981EAuiLe","LOAD_START","10VKwFPJ","LOAD_COMPLETE","getAvgSpeed","destroy","config","LOAD_RETRY","player","hls","6eCZGaI","speedInfo","_bandwidthService","3481672ZwiVSS","url","network","_emitOnLoaded","1688448odMmne","load","687457VcLfLb","2938665QBclWz","1974623Mzgbre","TTFB","LOAD_RESPONSE_HEADERS","loadVideoSegment","error","_audioSegmentLoader","resetBandwidth","8ftOtgd","then","_keyCache","cancel","key"];return(EI=function(){return t})()}!function(t,e){const s=SI,i=t();for(;;)try{if(691544===parseInt(s(321))/1*(-parseInt(s(300))/2)+-parseInt(s(319))/3+-parseInt(s(315))/4+-parseInt(s(322))/5+parseInt(s(312))/6*(parseInt(s(323))/7)+parseInt(s(330))/8*(-parseInt(s(302))/9)+parseInt(s(304))/10*(parseInt(s(350))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(EI);class II{constructor(t){const e=SI;If(this,e(318),((t,s)=>{const i=e,{data:r,response:n,option:o}=t,{firstByteTime:a,startTime:h,endTime:c,contentLength:l}=o||{},d=c-h;this[i(314)][i(343)](l||r[i(347)],d),this[i(311)][i(344)](_t[i(336)],{time:d,byteLength:l,url:s}),this[i(311)][i(344)](_t[i(305)],{url:s,elapsed:d||0}),this[i(311)][i(344)](_t[i(324)],{url:s,responseUrl:n.url,elapsed:a-h}),this.hls[i(344)](_t[i(325)],{headers:n[i(349)]})})),If(this,e(341),((t,s)=>{const i=e;this.hls[i(344)](_t[i(309)],{error:GE[i(317)](t),retryTime:s})})),this.hls=t,this.player=t[e(310)],this[e(314)]=new vI;const{retryCount:s,retryDelay:i,loadTimeout:r,fetchOptions:n}=this[e(311)][e(308)];this[e(345)]=new jE({...n,responseType:e(342),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(341)]},this[e(310)]),this[e(328)]=new jE({...n,responseType:e(342),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(341)]},this[e(310)]),this._keyLoader=new jE({...n,responseType:e(342),retry:s,retryDelay:i,timeout:r,onRetryError:this[e(341)]},this[e(310)])}[wI(307)](){const t=wI;this[t(335)](),this[t(351)]&&(this[t(351)][t(307)](),this[t(351)]=null),this[t(328)]&&(this[t(328)][t(307)](),this[t(328)]=null),this[t(345)]&&(this[t(345)][t(307)](),this[t(345)]=null)}[wI(313)](){const t=wI;return{speed:this[t(314)].getLatestSpeed(),avgSpeed:this[t(314)][t(306)]()}}[wI(329)](){this[wI(314)].reset()}[wI(320)](t,e,s){const i=wI;let r=arguments[i(301)]>3&&void 0!==arguments[3]?arguments[3]:s;const n=[];return t&&(n[0]=this[i(326)](t,s)),e&&(n[1]=this[i(338)](e,r)),Promise[i(348)](n)}[wI(326)](t,e){const s=wI;return this[s(337)](this[s(345)],t,e)}[wI(338)](t,e){const s=wI;return this._loadSegment(this[s(328)],t,e)}async _loadSegment(t,e,s){const i=wI;var r;let n,o,a,h,c;const l=[];if(this[i(311)][i(344)](_t[i(303)],{url:e[i(316)]}),l[0]=t[i(320)](e.url),s&&e[i(340)]){var d;const s=e[i(340)][i(316)];n=this[i(352)][s],!n&&(this[i(311)][i(344)](_t[i(303)],{url:s}),l[1]=t.load(s)[i(331)]((t=>{const e=i;if(t){Object[e(346)](this[e(352)])>30&&(this[e(352)]={}),n=this[e(352)][s]=t.data,this[e(318)](t,s)}})));const r=null===(d=e[i(340)][i(334)])||void 0===d?void 0:d[i(316)];r&&(c=e[i(340)][i(334)].iv,h=this._keyCache[r],!h&&(this[i(311)][i(344)](_t[i(303)],{url:r}),l[2]=this[i(351)][i(320)](r).then((t=>{const e=i;t&&(h=this[e(332)][r]=t[e(339)],this[e(318)](t,r))}))))}const u=null===(r=e[i(334)])||void 0===r?void 0:r[i(316)];u&&(a=e.key.iv,o=this._keyCache[u],!o&&(this[i(311)].emit(_t[i(303)],{url:u}),l[3]=this[i(351)][i(320)](u).then((t=>{const e=i;t&&(o=this._keyCache[u]=t[e(339)],this._emitOnLoaded(t,u))}))));const[p]=await Promise[i(348)](l);if(!p)return;const f=p[i(339)];return this[i(318)](p,e[i(316)]),{data:f,map:n,key:o,mapKey:h,keyIv:a,mapKeyIv:c}}[wI(335)](){const t=wI;this[t(327)]=null,this[t(352)]={},this[t(332)]={},this[t(314)][t(335)]()}async cancel(){const t=wI;await Promise[t(348)]([this[t(351)].cancel(),this[t(345)][t(333)](),this[t(328)][t(333)]()])}}function TI(){const t=["default","width","203GoRAZA","57976jCWhQi","543838SrMcIb","liveEdge","endSN","1375224nukMeC","HlsStream","name","live","startSN","currentAudioStream","length","bitrate","segments","TAG_NAME","297244qKjEUG","_clearSegments","isArray","end","_updateSegments","find","targetDuration","url","subtitleStreams","endTime","snDiff","startCC","switchSubtitle","586536jDSBmR","15MpwEbh","height","slice","endCC","textCodec","getAudioSegment","261576JRbTCf","audioCodec","start","currentSubtitleStream","380JIrvVv","lang","lastSegment","currentSubtitleEndSn","clearOldSegment","audioStreams","segmentDuration","1630524qhoJUb","totalDuration","forEach","duration","videoCodec","update"];return(TI=function(){return t})()}const kI=_I;function _I(t,e){const s=TI();return(_I=function(t,e){return s[t-=167]})(t,e)}!function(t,e){const s=_I,i=t();for(;;)try{if(347844===-parseInt(s(170))/1+parseInt(s(173))/2+-parseInt(s(196))/3+parseInt(s(183))/4*(-parseInt(s(197))/5)+-parseInt(s(214))/6+parseInt(s(168))/7*(-parseInt(s(169))/8)+-parseInt(s(203))/9*(-parseInt(s(207))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(TI);class CI{constructor(t,e,s){const i=_I;this.live=void 0,this.id=0,this[i(180)]=0,this[i(167)]=0,this.height=0,this[i(175)]="",this[i(190)]="",this[i(204)]="",this[i(218)]="",this[i(201)]="",this[i(194)]=0,this[i(200)]=0,this[i(177)]=0,this.endSN=-1,this[i(215)]=0,this[i(189)]=0,this[i(193)]=null,this[i(181)]=[],this[i(212)]=[],this[i(191)]=[],this.closedCaptions=[],this[i(178)]=null,this[i(206)]=null,this[i(182)]=i(174),this.update(t,e,s)}get[kI(209)](){const t=kI;return this[t(181)][t(179)]?this[t(181)][this.segments[t(179)]-1]:null}get[kI(213)](){const t=kI;var e;return this[t(189)]||(null===(e=this[t(181)][0])||void 0===e?void 0:e[t(217)])||0}get[kI(171)](){return this.endTime}get[kI(192)](){const t=kI;var e;return(null===(e=this.lastSegment)||void 0===e?void 0:e[t(186)])||0}get[kI(210)](){var t;return(null===(t=this[kI(206)])||void 0===t?void 0:t.endSN)||0}[kI(211)](t,e){return this[kI(184)](t,e)}[kI(202)](t){const e=kI;if(!t||!this.currentAudioStream)return;const s=t.sn-this.snDiff;return this[e(178)].segments.find((t=>t.sn===s))}[kI(219)](t,e){const s=kI;this[s(190)]=t[s(190)],Array.isArray(t.segments)?((null===this[s(176)]||void 0===this.live)&&(this[s(176)]=t[s(176)]),this._updateSegments(t,this),this[s(194)]=t.startCC,this[s(200)]=t.endCC,this[s(177)]=t[s(177)],this[s(172)]=t.endSN||-1,this[s(215)]=t[s(215)],this[s(189)]=t.targetDuration,this[s(176)]=t[s(176)],e&&this.currentAudioStream&&Array[s(185)](e[s(181)])&&(this._updateSegments(e,this[s(178)]),(null===this[s(193)]||void 0===this[s(193)])&&t[s(181)].length&&e.segments[s(179)]&&(this[s(193)]=t[s(181)][0].sn-e[s(181)][0].sn))):(this.id=t.id,this.bitrate=t[s(180)],this.width=t[s(167)],this[s(198)]=t[s(198)],this[s(175)]=t[s(175)],this[s(204)]=t.audioCodec,this.videoCodec=t[s(218)],this.textCodec=t[s(201)],this[s(212)]=t[s(212)],this[s(191)]=t[s(191)],!this[s(178)]&&this.audioStreams[s(179)]&&(this[s(178)]=this[s(212)][s(188)]((t=>t[s(220)]))||this[s(212)][0]),!this[s(206)]&&this.subtitleStreams[s(179)]&&(this[s(206)]=this[s(191)].find((t=>t[s(220)]))||this[s(191)][0]))}updateSubtitle(t){const e=kI;if(!(t&&this.currentSubtitleStream&&Array[e(185)](t[e(181)])))return;const s=this[e(187)](t,this[e(206)]),i=this.currentSubtitleStream[e(181)];return i[e(179)]>100&&(this[e(206)].segments=i[e(199)](100)),s?s.map((t=>{const s=e;return{sn:t.sn,url:t.url,duration:t[s(217)],start:t.start,end:t[s(186)],lang:this[s(206)].lang}})):void 0}[kI(195)](t){const e=kI,s=this[e(191)][e(188)]((s=>s[e(208)]===t)),i=this[e(206)];s&&(this[e(206)]=s,i[e(181)]=[])}[kI(184)](t,e){const s=kI;let i=0;const r=this[s(181)];for(let e=0,n=r[s(179)];e=t){i=e;break}return i>e&&(i=e),i&&(this.segments=this[s(181)].slice(i),this.currentAudioStream&&(this[s(178)].segments=this[s(178)][s(181)][s(199)](i))),e-i}[kI(187)](t,e){const s=kI,i=e.segments;if(this.live){const r=i[i[s(179)]-1],n=(null==r?void 0:r.sn)||-1;if(nt.sn===n)),a=o<0?t[s(181)]:t.segments[s(199)](o+1);if(i[s(179)]&&a[s(179)]){let t=r[s(186)];a[s(216)]((e=>{const i=s;e[i(205)]=t,t=e[i(186)]}));const e=(null==r?void 0:r.cc)||-1;e>a[0].cc&&a[s(216)]((t=>t.cc+=e))}return e[s(172)]=t[s(172)],e[s(181)]=i.concat(a),a}}else e.segments=t[s(181)]}}var RI=xI;function DI(){var t=[" startTime <= 0","2712573wuGLKP","start","hasVideo","debugLog","currentSubtitleEndSn","moveSegmentPointer() and param pos is ","moveSegmentPointer","switchSubtitle","lastSegment","1307400PVMqXs","player","8LTXTQJ","5001270JmCIDa","endTime","findSegmentIndexByTime","SUBTITLE_SEGMENTS","totalDuration","getAudioSegment","update","length","emit","destroy","isEmpty","1yGJVsB","HlsPlaylist","end","clearOldSegment","segments","_segmentPointer","debugWarn","setNextSegmentByIndex","url","56890pUuznD","TAG_NAME","currentSegments","streams","setNextSegmentByIndex()"," and clamp result is ","upsertPlaylist() playlist is null","2952558VptMVV","clearOldSegment() segments.length:","currentStream","hasAudio","checkSegmentTrackChange","isLive","dvrWindow","clearOldSegment() update _segmentPointer:","filter","1133212rcGKZo","hls","getSegmentByIndex","reset","isArray","3726gySmOy","4013524DSDeBR","abs","reduce"];return(DI=function(){return t})()}function xI(t,e){var s=DI();return(xI=function(t,e){return s[t-=228]})(t,e)}!function(t,e){for(var s=xI,i=t();;)try{if(874927===parseInt(s(262))/1*(-parseInt(s(229))/2)+-parseInt(s(239))/3+-parseInt(s(235))/4+-parseInt(s(248))/5+parseInt(s(251))/6+parseInt(s(278))/7*(parseInt(s(250))/8)+-parseInt(s(234))/9*(-parseInt(s(271))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(DI);class LI{constructor(t){var e=xI;this[e(230)]=t,this.player=t[e(249)],this.streams=[],this[e(280)]=null,this[e(284)]=0,this[e(267)]=-1,this[e(272)]=e(263)}[RI(260)](){this[RI(232)]()}get lastSegment(){var t,e=RI;return null===(t=this[e(280)])||void 0===t?void 0:t[e(247)]}get currentSegment(){var t,e=RI;return null===(t=this[e(273)])||void 0===t?void 0:t[this[e(267)]]}get nextSegment(){var t,e=RI;return null===(t=this[e(273)])||void 0===t?void 0:t[this[e(267)]+1]}get[RI(273)](){var t,e=RI;return null===(t=this[e(280)])||void 0===t?void 0:t[e(266)]}get[RI(243)](){var t,e=RI;return null===(t=this[e(280)])||void 0===t?void 0:t[e(243)]}get liveEdge(){var t;return null===(t=this[RI(280)])||void 0===t?void 0:t.liveEdge}get[RI(255)](){var t,e=RI;return(null===(t=this.currentStream)||void 0===t?void 0:t[e(255)])||0}get seekRange(){var t=RI;const e=this[t(273)];if(e&&e[t(258)])return[e[0][t(240)],e[e[t(258)]-1][t(264)]]}get[RI(261)](){var t,e=RI;return!(null!==(t=this.currentSegments)&&void 0!==t&&t[e(258)])}get[RI(283)](){var t;return null===(t=this[RI(280)])||void 0===t?void 0:t.live}get hasSubtitle(){var t;return!(null===(t=this.currentStream)||void 0===t||!t.currentSubtitleStream)}[RI(256)](t){var e,s=RI;return null===(e=this[s(280)])||void 0===e?void 0:e[s(256)](t)}[RI(245)](t){var e,s=RI;null==t&&(t=this[s(267)]+1),this[s(267)]=ze(t,-1,null===(e=this[s(273)])||void 0===e?void 0:e[s(258)]),this.player[s(242)](this[s(272)],s(244)+t+s(276)+this[s(267)])}[RI(232)](){var t=RI;this[t(274)]=[],this[t(280)]=null,this[t(284)]=0,this[t(267)]=-1}[RI(231)](t){var e;return null===(e=this[RI(273)])||void 0===e?void 0:e[t]}[RI(269)](){var t=RI;let e=arguments[t(258)]>0&&void 0!==arguments[0]?arguments[0]:0;this[t(267)]=e-1,this.player[t(242)](this[t(272)],t(275),e,this[t(267)])}[RI(253)](t){var e=RI;const s=this[e(273)];if(s){for(let i,r=0,n=s[e(258)];r=i[e(240)]&&tt[i(270)])).forEach(((t,e)=>{var s=i;this.streams[e]?this.streams[e][s(257)](t):this[s(274)][e]=new CI(t)})),this[i(280)]=this[i(274)][0];else if(Array[i(233)](t.segments)){const r=this[i(280)];if(r){r.update(t,e,s);const n=r.updateSubtitle(s);n&&this.hls[i(259)](_t[i(254)],{list:n})}else this[i(232)](),this[i(280)]=this[i(274)][0]=new CI(t,e,s)}this[i(280)]&&this[i(230)][i(283)]&&!this[i(284)]&&(this.dvrWindow=this[i(273)][i(237)](((t,e)=>t+=e.duration),0))}switchSubtitle(t){var e,s=RI;null===(e=this.currentStream)||void 0===e||e[s(246)](t)}clearOldSegment(){var t=RI;let e=arguments[t(258)]>0&&void 0!==arguments[0]?arguments[0]:50;const s=this[t(280)];if(!this[t(284)]||!s)return;const i=s[t(252)]-this[t(284)];if(i<=0)return void this[t(249)][t(242)](this[t(272)],"clearOldSegment() stream.endTime:"+s[t(252)]+", this.dvrWindow:"+this[t(284)]+t(238));const r=s[t(266)];if(r[t(258)]<=e)return void this[t(249)][t(242)](this.TAG_NAME,t(279)+r.length+" <= maxPlaylistSize:"+e);const n=this[t(267)];this._segmentPointer=s[t(265)](i,n),this[t(249)].debugLog(this[t(272)],t(285),n,this._segmentPointer),this[t(249)][t(242)](this.TAG_NAME,t(273),this.currentSegments)}[RI(282)](t,e){var s=RI;const i=this[s(253)](t),r=this[s(231)](i);if(!r)return;if(!r.hasAudio&&!r[s(241)])return;if(2!==e&&r[s(281)]&&r.hasVideo)return r;if(r[s(264)]-t>.3)return;const n=this.getSegmentByIndex(i+1);return n&&(n[s(281)]||n[s(241)])&&(n[s(281)]!==r.hasAudio||n[s(241)]!==r[s(241)])?n:void 0}}const PI=MI;function MI(t,e){const s=BI();return(MI=function(t,e){return s[t-=279]})(t,e)}function BI(){const t=["mode","30hBlHdk","key","subtle","3849024IXvoDt","4758btScbb","6286IgtqaT","10715022oTjscv","6702nyPRUi","data","848145GgoDph","player","614zeuGxM","msCrypto","AES","568996niRRFM","decrypt","26378270oZtNPk","AES-CBC","_decryptSegment","importKey","webkitSubtle","encrypt","keyIv","_decryptData","externalDecryptor","map"];return(BI=function(){return t})()}!function(t,e){const s=MI,i=t();for(;;)try{if(709222===parseInt(s(289))/1+-parseInt(s(291))/2*(-parseInt(s(287))/3)+-parseInt(s(294))/4*(-parseInt(s(280))/5)+-parseInt(s(284))/6*(parseInt(s(285))/7)+parseInt(s(283))/8+parseInt(s(286))/9+-parseInt(s(296))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(BI);PI(295);class FI{constructor(t,e){const s=PI;this.hls=t,this[s(290)]=e;const i=window.crypto||window[s(292)];this.subtle=i&&(i[s(282)]||i[s(300)]),this[s(304)]=null}[PI(295)](t,e){const s=PI;if(!t&&!e)return;const i=[];return t&&(i[0]=this[s(298)](t)),e&&(i[1]=this[s(298)](e)),Promise.all(i)}async[PI(298)](t){const e=PI;let s=t[e(288)];return t[e(281)]&&(s=await this[e(303)](t[e(288)],t[e(281)],t[e(302)])),t[e(305)]?Zp(t[e(305)],s):s}async[PI(303)](t,e,s){const i=PI;if(this[i(304)])return await this.externalDecryptor[i(295)](t,e,s);if(this[i(282)]){const r=await this[i(282)][i(299)]("raw",e,{name:i(297)},!1,[i(301),i(295)]),n=await this[i(282)][i(295)]({name:i(297),iv:s},r,t);return new Uint8Array(n)}t=Au(t),e=Au(e),s=Au(s);return function(t){const{words:e}=t,{sigBytes:s}=t,i=new Uint8Array(s);for(let t=0;t>>2]>>>24-t%4*8&255;return i}(pu[i(293)][i(295)]({ciphertext:t},e,{iv:s,mode:pu[i(279)].CBC}))}}function OI(){const t=1,e=2,s="hlsTs";class i{constructor(t){this.type=t.type,this.baseFps=0,this.playRate=1,this.fpsInterval=null,this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null,this.seekingMaxDiff=t.seekingMaxDiff||1e4,this.allSampleList=[],this.isDebug=t.debug||!1,this.TAG_NAME=t.type+"LoopWorker",this.debugUuid=t.debugUuid||"xxxx",this.debugLog(this.TAG_NAME,"init",t)}destroy(){this._clearInterval(),this.baseFps=0,this.playRate=1,this.allSampleList=[],this.preLoopTimestamp=null,this.startBpsTime=null,this.seekingTime=null}updateBaseFps(t){this.debugLog(this.TAG_NAME,`updateBaseFps() baseFps is ${t}`),this.baseFps=t,this._clearInterval(),this._startInterval()}updatePlayRate(t){this.debugLog(this.TAG_NAME,`updatePlayRate() rate is ${t}`),this.playRate=t,this._clearInterval(),this._startInterval()}seekSampleRange(t){this.debugLog(this.TAG_NAME,`seekSampleRange() time is ${t}`);const s=1e3*t;let i=0,r=-1;for(let t=0;t{let e=(new Date).getTime();this.preLoopTimestamp||(this.preLoopTimestamp=e),this.startBpsTime||(this.startBpsTime=e);const s=e-this.preLoopTimestamp;if(s>2*t&&this.debugLog(this.TAG_NAME,`loop interval is ${s}ms, more than ${t} * 2ms`),this._loop(),this.preLoopTimestamp=(new Date).getTime(),this.startBpsTime){e-this.startBpsTime>=1e3&&(this._calcSampleList(),this.startBpsTime=e)}}),t)}_clearInterval(){this.fpsInterval&&(clearInterval(this.fpsInterval),this.fpsInterval=null)}_calcSampleList(){const i={buferredDuration:0,allListLength:this.allSampleList.length,start:this.allSampleList[0]?this.allSampleList[0].dts:0,end:this.allSampleList[this.allSampleList.length-1]?this.allSampleList[this.allSampleList.length-1].dts:0,audioListLength:0,videoListLength:0};this.allSampleList.forEach((r=>{r.type===e?(i.videoListLength++,r.duration&&(this.type===s?i.buferredDuration+=Math.round(r.duration/90):i.buferredDuration+=r.duration)):r.type===t&&i.audioListLength++})),postMessage({cmd:"sampleListInfo",...i})}_loop(){let s=null;if(this.allSampleList.length)if(s=this.allSampleList.shift(),s.type===e){postMessage({cmd:"decodeVideo",...s},[s.payload.buffer]);let e=this.allSampleList[0];for(;e&&e.type===t;)s=this.allSampleList.shift(),postMessage({cmd:"decodeAudio",...s},[s.payload.buffer]),e=this.allSampleList[0]}else if(s.type===t){postMessage({cmd:"decodeAudio",...s},[s.payload.buffer]);let i=this.allSampleList[0];for(;i;){if(s=this.allSampleList.shift(),s.type===e){postMessage({cmd:"decodeVideo",...s},[s.payload.buffer]),i=null;break}s.type===t&&(postMessage({cmd:"decodeAudio",...s},[s.payload.buffer]),i=this.allSampleList[0])}}}debugLog(t){if(this.isDebug){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i1?e-1:0),i=1;i1?e-1:0),i=1;i{const e=t.data;switch(e.cmd){case"init":r=new i(e.options);break;case"updateBaseFps":r.updateBaseFps(e.baseFps);break;case"updatePlayRate":r.updatePlayRate(e.rate);break;case"seekSampleRange":r.seekSampleRange(e.time);break;case"cleanSampleList":r.cleanSampleList();break;case"setSeekingTime":r.setSeekingTime(e.time);break;case"pause":r.pause();break;case"resume":r.resume();break;case"sample":r.pushSample(e);break;case"destroy":r.destroy(),r=null}}}const UI=jI;function jI(t,e){const s=NI();return(jI=function(t,e){return s[t-=242]})(t,e)}function NI(){const t=["audio overlap detected,\n pts is ","_audioPesData","_demux","_baseDts","_times","originalDts","start","videoListLength","onmessage","samples","\n ref sample duration is ","init"," ,\n ref Sample DurationInt is ","_doDecodeAudio","hasAudio",",\n detect is: ","_parsePES startPrefix should be 1 but with value ","_parsePES","_baseDtsInited","_hasCalcFps","updateStats","_vps",",\n next dts is ","_initLoopWorker()","_isUseWorker","sps","getPlayVodDuration","revokeObjectURL","baseDts","samplingFrequencyIndex","sampleRate","HlsTsDemux","playVodRateChange","type","large audio gap detected,\n time is ","debugWarn","_videoPesData",",\n ref sample duration is ","seqHeader","_remainingPacketData","round","Unknown pid: ","code","playVod","resume","URL","abs","large av first frame gap,\n video pts: ","player","AAC","TAG_NAME","vps","debug","allListLength","getSampleRange","5604MrNhUN","large video gap between frames,\n time is ",",\n nextPts is ","sampleDuration","aac seq header not send","video","574RwDzad",",\n base dts: ","41268nnRmVU","set","tempSampleListInfo","audioListLength","duration","_parseVideoData","3676160MrMmmS","cryptoPayload","pts","getSampleVideoListLength","_audioCodecType","_pmtId","_gopId","sort",",\n sample duration is ","setSeekingTime","isHevc","getSampleAudioListLength",", pid: ","_videoLastSample","demuxAndFix","_audioPid","debugUuid","_postMessageToLoopWorker","Cannot parse avc units","hlsTs","h265","playVodTimeCache","seekSampleRange","postMessage","10388GezPCA","push","max","getSampleListLength",",\n originPts is ","582500ZeQJYp","payload","audio","initAudioTrack","audio gap detected,\n pts is ","sampleListInfo","destroy","geVodLoadedTime","isIFrame","formatTimescale","cleanSampleListAndSetSeekTime","data","_lastAudioExceptionOverlapDot","_videoNextDts","audioTrack","workerClearTimeout","getInputByteLength","_videoTimestampBreak","_audioNextPts","_parseAudioData","error","frames","pps","calcIframeIntervalTimestamp","_fix","emitVideoSei","floor","10QjitXZ","_videoPid","_calcDecodeFps","_createVideoSample","_lastAudioExceptionGapDot",",\n originPts is ","map","subarray","_fixVideo","decodeAudio",", channel: ","debugLog","cryptoPayloadAudio","updatePlayRate","_basefps","startPrefixError","_doDecodeByHls",",\n audio pts: ",",\n next dts is ","isPlayVodNotUseMSE","h264","min","_opt","length","cmd","getBuferredDuration","profile: ","loop worker is not init, can not post message","aac parseADTS error","isUseMSE","timescale","emit","_codecType","forEach","videoTrack","byteLength","isFinite",",\n origin dts is ","33206HtJQlO","6CasFNP","end","listen playVodRateChange","originalPts","loopWorker",", sampleRate:","sample","_doFixAudioInternal","14597zdanvC","_fixAudio","_hasVideo","channelCount","objectType","probe","_audioTimestampBreak","_doDecodeVideo",",\n nextPts is ","isSeeking","_sps","pid is 0x1fff and ignore","decodeVideo","_isSendAACSeqHeader","dts","3646854bTHtey","830lsMzWn",",\n originPts is ","large video gap between chunk,\n next dts is ","_audioLastSample","codec","_hasAudio","demuxStart","_resetBaseDtsWhenStreamBreaked","pause","_calculateBaseDts","isPlayVod","_lastAudioExceptionLargeGapDot","workerUrl"];return(NI=function(){return t})()}!function(t,e){const s=jI,i=t();for(;;)try{if(294631===parseInt(s(323))/1+parseInt(s(388))/2*(parseInt(s(389))/3)+-parseInt(s(318))/4*(parseInt(s(413))/5)+parseInt(s(288))/6*(-parseInt(s(286))/7)+parseInt(s(294))/8+parseInt(s(412))/9*(-parseInt(s(350))/10)+-parseInt(s(397))/11*(-parseInt(s(280))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(NI);class VI extends sp{constructor(t){const e=jI;super(t),this[e(273)]=t,this[e(299)]=-1,this[e(264)]=null,this[e(261)]=[],this[e(427)]=[],this[e(300)]=0,this[e(351)]=-1,this[e(309)]=-1,this._codecType=H.h264,this[e(298)]=Q.AAC,this[e(246)]=null,this[e(407)]=null,this._pps=null,this[e(275)]=e(256),this[e(384)]=VI.initVideoTrack(),this[e(337)]=VI[e(326)](),this[e(429)]=-1,this._baseDtsInited=!1,this._basefps=25,this[e(418)]=!1,this[e(399)]=!1,this[e(341)]=void 0,this._videoNextDts=void 0,this[e(403)]=!1,this[e(340)]=!1,this[e(354)]=0,this._lastAudioExceptionOverlapDot=0,this[e(424)]=0,this[e(410)]=!1,this[e(338)]=null,this.workerUrl=null,this[e(393)]=null,this[e(290)]={},this.vps=null,this.sps=null,this[e(345)]=null,this._isUseWorker()&&this._initLoopWorker(),this[e(273)][e(423)]()&&this[e(249)]()&&this[e(273)].on(O[e(257)],(t=>{const s=e;this.player[s(361)](this.TAG_NAME,s(391),t),this[s(311)](s(363),{rate:t})})),this[e(273)][e(361)](this[e(275)],e(437))}[UI(329)](){const t=UI;super[t(329)](),this[t(425)]&&(URL.revokeObjectURL(this[t(425)]),this[t(425)]=null),this[t(338)]&&(clearTimeout(this[t(338)]),this[t(338)]=null),this.loopWorker&&(this[t(393)][t(317)]({cmd:t(329)}),this[t(393)].terminate(),this[t(393)]=null),this[t(384)]=null,this[t(337)]=null,this[t(290)]={},this._baseDts=-1,this._baseDtsInited=!1,this[t(364)]=25,this._hasCalcFps=!1,this[t(341)]=void 0,this[t(336)]=void 0,this[t(403)]=!1,this[t(340)]=!1,this[t(354)]=0,this[t(335)]=0,this[t(424)]=0,this._isSendAACSeqHeader=!1,this[t(273)][t(361)](this[t(275)],t(329))}static initVideoTrack(){return{samples:[]}}static initAudioTrack(){return{samples:[]}}static[UI(402)](t){return!!t[UI(373)]&&(71===t[0]&&71===t[188]&&71===t[376])}_parsePES(t){const e=UI,s=t[8];if(null==s||t[e(373)]t[e(373)]-6)return;let n,o;const a=t[7];return 192&a&&(n=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&a?(o=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2,n-o>54e5&&(n=o)):o=n),{data:t[e(357)](9+s),pts:n,dts:o,originalPts:n,originalDts:o}}[UI(428)](t){const e=UI;let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];s&&(this[e(299)]=-1,this.videoTrack=VI.initVideoTrack(),this[e(337)]=VI.initAudioTrack()),!i||s?(this[e(264)]=null,this[e(261)]=[],this[e(427)]=[],this[e(273)].isPlayVod()&&this[e(273)][e(268)][e(406)]()&&(this[e(384)][e(435)]=[],this.audioTrack[e(435)]=[])):(this[e(384)][e(435)]=[],this[e(337)][e(435)]=[],this[e(264)]&&(t=Zp(this[e(264)],t),this[e(264)]=null));let r=t.length;const n=r%188;n&&(this._remainingPacketData=t[e(357)](r-n),r-=n);for(let s=0;s>4>1){if(n=s+5+t[s+4],n===s+188)continue}else n=s+4;switch(r){case 0:i&&(n+=t[n]+1),this[e(299)]=(31&t[n+10])<<8|t[n+11];break;case this[e(299)]:{i&&(n+=t[n]+1);const s=n+3+((15&t[n+1])<<8|t[n+2])-4;for(n+=12+((15&t[n+10])<<8|t[n+11]);n=s)return[];const n=[];for(;r{const e=i,o=r?t[0]>>>1&63:31&t[0];switch(o){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!r&&5!==o||r&&5===o)break;n[e(331)]=!0,this[e(300)]++;break;case 6:case 39:case 40:if(!r&&6!==o||r&&6===o)break;const i=Me(function(t){const e=xe,s=t[e(179)],i=[];let r=1;for(;r=i)return;const n=r,o=[],a=(60&t[r+2])>>>2,h=ue[a];if(!h)throw new Error("Invalid sampling index: "+a);const c=1+((192&t[r+2])>>>6),l=(1&t[r+2])<<2|(192&t[r+3])>>>6;let d,u,p=0;const f=ve(h);for(;r+7>5,i-r=i?void 0:t.subarray(r),frames:o,samplingFrequencyIndex:a,sampleRate:h,objectType:c,channelCount:l,originCodec:s(487)+c}}(e[t(334)],e[t(392)]);if(s){if(this[t(337)][t(417)]=s[t(417)],this[t(337)][t(255)]=s[t(255)],this[t(337)][t(400)]=s[t(400)],!this._isSendAACSeqHeader){const e=ge({profile:s.objectType,sampleRate:s[t(254)],channel:s.channelCount});this[t(410)]=!0,this[t(273)][t(361)](this.TAG_NAME,"aac seq header",t(376)+s[t(401)]+t(394)+s[t(255)]+",sampleRateIndex: "+s[t(254)]+t(360)+s[t(400)]),this[t(366)](e,L[t(325)],0,!1,0)}if(this[t(410)]){const e=[];s[t(344)][t(383)]((s=>{const i=t,r=s[i(296)],n=new Uint8Array(s[i(334)].length+2);n[i(289)]([175,1],0),n[i(289)](s.data,2);const o={type:L[i(325)],pts:r,dts:r,payload:n};e[i(319)](o)})),this[t(337)][t(435)]=this.audioTrack[t(435)].concat(e)}else this[t(273)].debugWarn(this.TAG_NAME,t(284))}else this[t(273)][t(260)](this[t(275)],t(378))}this[t(427)]=[]}else e&&e[t(267)]===t(365)&&(this[t(427)]=[])}[UI(347)](){const t=UI;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments[t(373)]>1&&void 0!==arguments[1]&&arguments[1],i=!(arguments[t(373)]>2&&void 0!==arguments[2])||arguments[2];e=Math.round(9e4*e);const r=this[t(384)],n=this.audioTrack,o=r.samples,a=n[t(435)];if(!o[t(373)]&&!a[t(373)])return;const h=o[0],c=a[0];let l=0;if(o[t(373)]&&a.length&&(l=h.dts-c.pts),!this._baseDtsInited&&this._calculateBaseDts(),s&&(this[t(422)](),this[t(429)]-=e),!i){this[t(336)]=l>0?e+l:e,this[t(341)]=l>0?e:e-l;const s=h?h[t(411)]-this[t(429)]-this[t(336)]:0,i=c?c[t(296)]-this[t(429)]-this[t(341)]:0;Math[t(271)](s||i)>Vt&&(this[t(422)](this[t(337)],this[t(384)]),this[t(429)]-=e)}this._resetBaseDtsWhenStreamBreaked(),this[t(398)](n),this[t(358)](r);let d=r.samples.concat(n[t(435)]);d=d[t(356)]((e=>{const s=t;return e[s(411)]=Math[s(265)](e[s(411)]/90),e[s(296)]=Math[s(265)](e[s(296)]/90),e.cts=e[s(296)]-e[s(411)],e}))[t(301)](((e,s)=>e[t(411)]-s.dts)),d[t(383)]((e=>{const s=t,i=new Uint8Array(e[s(324)]);delete e[s(324)],this[s(249)]()?this[s(393)].postMessage({...e,payload:i,cmd:s(395)},[i.buffer]):e[s(258)]===L[s(285)]?this[s(404)]({...e,payload:i}):e[s(258)]===L[s(325)]&&this._doDecodeAudio({...e,payload:i})})),ii(this[t(244)])&&this[t(249)]()&&(this._hasCalcFps=this[t(352)](d))}[UI(422)](){const t=UI,e=this[t(337)],s=this[t(384)],i=e.samples,r=s[t(435)];if(!i[t(373)]&&!r[t(373)])return!1;let n=1/0,o=1/0;i[t(373)]&&(e[t(253)]=n=i[0].pts),r.length&&(s[t(253)]=o=r[0].dts),this[t(429)]=Math[t(371)](n,o);const a=o-n;return Number[t(386)](a)&&Math[t(271)](a)>45e3&&this.player.debugWarn(this[t(275)],t(272)+o+t(367)+n+t(287)+this[t(429)]+t(441)+a),this[t(243)]=!0,!0}[UI(420)](){const t=UI;if(this._baseDtsInited&&this[t(340)]&&this[t(403)]){if(!this[t(422)](this.audioTrack,this[t(384)]))return;this._baseDts-=Math.min(this[t(341)],this[t(336)]),this[t(416)]=null,this[t(307)]=null,this[t(340)]=!1,this[t(403)]=!1}}_fixAudio(t){const e=UI,s=t[e(435)];s[e(373)]&&(s[e(383)]((t=>{const s=e;t[s(296)]-=this[s(429)],t.dts=t[s(296)]})),this[e(396)](t,s,9e4))}[UI(358)](t){const e=UI,s=t[e(435)];if(!s[e(373)])return;if(s[e(383)]((t=>{const s=e;t[s(411)]-=this._baseDts,t.pts-=this[s(429)]})),void 0===this[e(336)]){const t=s[0];this[e(336)]=t[e(411)]}const i=s.length;let r=0;const n=s[0],o=s[1],a=this[e(336)]-n[e(411)];let h;Math[e(271)](a)>45e3&&(n[e(411)]+=a,n[e(296)]+=a,this[e(273)][e(260)](this[e(275)],e(415)+this[e(336)]+",\n first dts is "+n[e(411)]+e(247)+(o&&o[e(411)])+",\n duration is "+a),o&&Math.abs(o[e(411)]-n.dts)>Vt&&(this[e(340)]=!0,s[e(383)](((t,s)=>{const i=e;0!==s&&(t[i(411)]+=a,t[i(296)]+=a)}))));const c=t.samples[0],l=t[e(435)][i-1];h=1===i?9e3:Math[e(349)]((l[e(411)]-c[e(411)])/(i-1));for(let n=0;nVt||r<0){this[e(340)]=!0,r=this._audioTimestampBreak?h:Math[e(320)](r,2700);const i=this[e(341)]||0;a&&a[e(411)]>i&&(r=h),this.player[e(260)](this[e(275)],e(281)+o/t[e(380)]+",\n dts is "+o+e(387)+s[n][e(431)]+e(368)+this[e(336)]+",\n sample Duration is "+r+e(438)+h)}s[n][e(292)]=r,this[e(336)]+=r}}[UI(396)](t,e,s){const i=UI;!t[i(283)]&&(t[i(283)]=ve(t[i(380)],s));const r=t[i(283)];if(void 0===this[i(341)]){const t=e[0];this[i(341)]=t[i(296)]}for(let s=0;s=3*r&&a<=jt&&!es()){be(t[i(417)],t[i(400)])||e[0].data[i(357)]();const h=Math[i(349)](a/r);Math[i(271)](o[i(296)]-this[i(354)])>Nt&&(this[i(354)]=o[i(296)]),this[i(273)][i(260)](this[i(275)],i(327)+e[i(296)]+i(414)+e.originalPts+",\n count is "+h+",\n nextPts is "+n+i(262)+r);for(let t=0;t=-9e4?(Math.abs(o[i(296)]-this[i(335)])>Nt&&(this[i(335)]=o[i(296)],this[i(273)][i(260)](this.TAG_NAME,i(426)+o[i(296)]+i(322)+o.originalPts+i(282)+n+",\n ref sample duration is "+r)),e.splice(s,1),s--):(Math.abs(a)>=jt&&(this[i(403)]=!0,Math[i(271)](o.pts-this[i(424)])>Nt&&(this[i(424)]=o[i(296)],this[i(273)][i(260)](this[i(275)],i(259)+o.pts/1e3+"\n pts is "+o[i(296)]+i(355)+o.originalPts+i(405)+n+i(302)+a+i(436)+r))),o.dts=o[i(296)]=n,this[i(341)]+=r)}}[UI(249)](){const t=UI;return!this[t(273)][t(379)]()}_initLoopWorker(){const t=UI;this[t(273)][t(361)](this[t(275)],t(248));const e=Vs(OI);let s=new Worker(e);this[t(425)]=e,this.workerClearTimeout=setTimeout((()=>{const e=t;window[e(270)][e(252)](this[e(425)]),this.workerUrl=null,this[e(338)]=null}),_),s[t(317)]({cmd:t(437),options:{type:t(313),seekingMaxDiff:1e4,debug:this[t(273)]._opt[t(277)],debugUuid:this[t(273)][t(372)][t(310)]}}),s[t(434)]=e=>{const s=t,i=e.data;switch(i[s(374)]){case s(409):this[s(404)](i);break;case s(359):this[s(439)](i);break;case s(328):if(this[s(290)]=i,this.player[s(369)]()){const t=this[s(330)](),e=this[s(273)][s(251)]();t&&e&&this[s(273)][s(381)](O[s(315)],t/(1e3*e))}}},this[t(393)]=s}[UI(311)](t,e){const s=UI;this._isUseWorker()&&(this.loopWorker?this[s(393)][s(317)]({cmd:t,...e}):this[s(273)][s(260)](this.TAG_NAME,s(377)))}[UI(439)](t){const e=UI,s=new Uint8Array(t[e(324)]);this[e(273)][e(245)]({abps:s[e(385)]});let i=this[e(362)](s);this._doDecodeByHls(i,L[e(325)],t.dts,!1,0)}[UI(404)](t){const e=UI,s=new Uint8Array(t.payload);let i=null;i=t[e(304)]?oh(s,t.isIFrame):La(s,t[e(331)]),this[e(273)][e(245)]({dts:t[e(411)],vbps:i.byteLength});const r=t[e(296)]-t[e(411)];let n=this[e(295)](i,t[e(331)]);this._doDecodeByHls(n,L.video,t[e(411)],t[e(331)],r)}[UI(375)](){return this.tempSampleListInfo.buferredDuration||0}[UI(321)](){const t=UI;return this[t(290)][t(278)]||0}[UI(305)](){const t=UI;return this[t(290)][t(291)]||0}[UI(297)](){const t=UI;return this.tempSampleListInfo[t(433)]||0}[UI(339)](){const t=UI;return this[t(264)]&&this._remainingPacketData[t(385)]||0}getSampleRange(){const t=UI;return{start:this[t(290)][t(432)]||0,end:this[t(290)][t(390)]||0}}[UI(316)](t){const e=UI;this[e(311)](e(316),{time:t})}[UI(333)](t){const e=UI;ii(this[e(273)][e(379)]())&&(this.clearBuffer(!0),this[e(311)]("cleanSampleList"),this[e(311)](e(303),{time:t}))}pause(){const t=UI;this[t(311)](t(421))}[UI(269)](){this[UI(311)]("resume")}[UI(330)](){const t=UI;let e=0;return e=this[t(279)]()[t(390)],e}}const zI=XI;function WI(t){const e=XI;let s=arguments[e(422)]>1&&void 0!==arguments[1]?arguments[1]:0;return(t[s]<<8)+(t[s+1]||0)}function GI(t){const e=XI;let s=arguments[e(422)]>1&&void 0!==arguments[1]?arguments[1]:0;return(t[s]<<24>>>0)+(t[s+1]<<16)+(t[s+2]<<8)+(t[s+3]||0)}function HI(t){const e=XI;let s=arguments[e(422)]>1&&void 0!==arguments[1]?arguments[1]:0;const i=Math[e(555)](2,32);return GI(t,s)*i+GI(t,s+4)}!function(t,e){const s=XI,i=t();for(;;)try{if(447455===parseInt(s(432))/1*(parseInt(s(415))/2)+parseInt(s(465))/3+parseInt(s(567))/4+parseInt(s(584))/5+-parseInt(s(527))/6+-parseInt(s(508))/7*(-parseInt(s(578))/8)+-parseInt(s(486))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(iT);const KI={AAC:zI(548),G711PCMA:"g7110a",G711PCMU:"g7110m"},QI={AVC:zI(554),HEVC:"hevc"};class YI{static[zI(500)](t){return 1024*(arguments[zI(422)]>1&&void 0!==arguments[1]?arguments[1]:9e4)/t}static[zI(576)](t){const e=zI;return YI.FREQ[e(429)](t)}}function qI(t,e,s,i,r,n){const o=zI,a=[],h=null==r?void 0:r[o(407)],c=e[o(407)],l=i[o(407)],d=s[o(449)],u=null==n?void 0:n[o(407)];let p,f;u&&(p={},u.forEach((t=>{p[t-1]=!0}))),h&&(f=[],h[o(497)]((t=>{const e=o;let{count:s,offset:i}=t;for(let t=0;t{const e=o;let{count:i,delta:r}=t;for(let t=0;t=E&&(v++,E=c[v+1]?c[v+1][e(561)]-1:1/0),S+=c[v][e(539)])})),a}function JI(t,e){const s=zI;return t[s(544)]=WI(e,6),t[s(417)]=WI(e,24),t[s(419)]=WI(e,26),t[s(458)]=GI(e,28),t[s(489)]=GI(e,32),t[s(558)]=WI(e,40),t[s(512)]=WI(e,74),78}function XI(t,e){const s=iT();return(XI=function(t,e){return s[t-=402]})(t,e)}function ZI(t,e){const s=zI;return t[s(544)]=WI(e,6),t.channelCount=WI(e,16),t[s(534)]=WI(e,18),t[s(428)]=GI(e,24)/65536,28}function $I(t,e,s){const i=zI;if(!t)return;if(t[i(448)]!==t.data[i(422)])throw new Error(i(479)+t[i(466)]+i(491));const r={start:t[i(460)],size:t[i(448)],headerSize:t[i(424)],type:t[i(466)]};return e&&(r[i(473)]=t[i(468)][t.headerSize],r[i(580)]=function(t){let e=arguments[XI(422)]>1&&void 0!==arguments[1]?arguments[1]:0;return(t[e]<<16)+(t[e+1]<<8)+(t[e+2]||0)}(t[i(468)],t[i(424)]+1),r.headerSize+=4),s(r,t[i(468)][i(480)](r[i(424)]),r.start+r.headerSize),r}If(YI,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);const tT=function(t,e,s){const i=zI,r=String(s),n=e>>0;let o=Math[i(444)](n/r[i(422)]);const a=[],h=String(t);for(;o--;)a.push(r);return a.join("")[i(447)](0,n-h[i(422)])+h},eT=function(){const t=zI,e=[];for(var s=arguments[t(422)],i=new Array(s),r=0;r{const i=t;e.push(tT(Number(s)[i(532)](16),2,0))})),e[0]};class sT{static probe(t){const e=zI;return!!sT[e(560)](t,[e(456)])}static findBox(t,e){const s=zI;let i=arguments[s(422)]>2&&void 0!==arguments[2]?arguments[2]:0;const r=[];if(!t)return r;let n=0,o="",a=0;for(;t[s(422)]>7;){if(n=GI(t),o=String.fromCharCode[s(414)](null,t[s(480)](4,8)),a=8,1===n?(n=HI(t,8),a+=8):!n&&(n=t[s(422)]),!e[0]||o===e[0]){const h=t[s(480)](0,n);if(!(e[s(422)]<2))return sT.findBox(h[s(480)](a),e.slice(1),i+a);r[s(410)]({start:i,size:n,headerSize:a,type:o,data:h})}i+=n,t=t[s(480)](n)}return r}static[zI(546)](t){return $I(t,!0,((t,e)=>{const s=XI;t[s(484)]=GI(e);let i=4;const r=1&t.flags,n=2&t[s(580)],o=8&t[s(580)],a=16&t[s(580)],h=32&t.flags;r&&(i+=4,t[s(461)]=GI(e,i),i+=4),n&&(t.sampleDescriptionIndex=GI(e,i),i+=4),o&&(t[s(405)]=GI(e,i),i+=4),a&&(t.defaultSampleSize=GI(e,i),i+=4),h&&(t.defaultSampleFlags=GI(e,i))}))}static[zI(469)](t){return $I(t,!0,((t,e)=>{const s=XI;let i=0;t[s(504)]=GI(e,i),i+=4,t.timescale=GI(e,i),i+=4,0===t.version?(t[s(540)]=GI(e,i),i+=4,t[s(510)]=GI(e,i),i+=4):(t.earliest_presentation_time=HI(e,i),i+=8,t[s(510)]=HI(e,i),i+=8),i+=2,t[s(581)]=[];const r=WI(e,i);i+=2;for(let n=0;n>31&1,r[s(545)]=2147483647&n,r[s(455)]=GI(e,i),i+=4,n=GI(e,i),i+=4,r.starts_with_SAP=n>>31&1,r[s(569)]=n>>28&7,r[s(462)]=268435455&n}}))}static moov(t){return $I(t,!1,((t,e,s)=>{const i=XI;t[i(467)]=sT[i(467)](sT[i(560)](e,[i(467)],s)[0]),t.trak=sT[i(560)](e,[i(420)],s)[i(411)]((t=>sT[i(420)](t))),t[i(482)]=sT[i(482)](sT[i(560)](e,[i(482)],s)[0])}))}static[zI(467)](t){return $I(t,!0,((t,e)=>{const s=XI;let i=0;1===t[s(473)]?(t[s(493)]=GI(e,16),t[s(535)]=HI(e,20),i+=28):(t.timescale=GI(e,8),t[s(535)]=GI(e,12),i+=16),t.nextTrackId=GI(e,i+76)}))}static[zI(420)](t){return $I(t,!1,((t,e,s)=>{const i=XI;t[i(488)]=sT[i(488)](sT.findBox(e,[i(488)],s)[0]),t[i(556)]=sT.mdia(sT[i(560)](e,[i(556)],s)[0])}))}static[zI(488)](t){return $I(t,!0,((t,e)=>{const s=XI;let i=0;1===t[s(473)]?(t.trackId=GI(e,16),t[s(535)]=HI(e,24),i+=32):(t[s(484)]=GI(e,8),t[s(535)]=GI(e,16),i+=20),t[s(417)]=GI(e,i+52),t[s(419)]=GI(e,i+56)}))}static[zI(556)](t){return $I(t,!1,((t,e,s)=>{const i=XI;t.mdhd=sT[i(442)](sT[i(560)](e,[i(442)],s)[0]),t.hdlr=sT.hdlr(sT[i(560)](e,[i(563)],s)[0]),t[i(565)]=sT[i(565)](sT.findBox(e,[i(565)],s)[0])}))}static[zI(442)](t){return $I(t,!0,((t,e)=>{const s=XI;let i=0;1===t[s(473)]?(t.timescale=GI(e,16),t[s(535)]=HI(e,20),i+=28):(t[s(493)]=GI(e,8),t[s(535)]=GI(e,12),i+=16);const r=WI(e,i);t[s(404)]=String[s(409)](96+(r>>10&31),96+(r>>5&31),96+(31&r))}))}static hdlr(t){return $I(t,!0,((t,e)=>{const s=XI;0===t[s(473)]&&(t[s(425)]=String[s(409)][s(414)](null,e[s(480)](4,8)))}))}static[zI(565)](t){return $I(t,!1,((t,e,s)=>{const i=XI;t[i(579)]=sT[i(579)](sT.findBox(e,[i(579)],s)[0]),t.smhd=sT[i(513)](sT.findBox(e,[i(513)],s)[0]),t[i(551)]=sT.stbl(sT[i(560)](e,["stbl"],s)[0])}))}static[zI(579)](t){return $I(t,!0,((t,e)=>{const s=XI;t.graphicsmode=WI(e),t[s(577)]=[WI(e,2),WI(e,4),WI(e,6)]}))}static smhd(t){return $I(t,!0,((t,e)=>{t[XI(476)]=WI(e)}))}static[zI(551)](t){return $I(t,!1,((t,e,s)=>{const i=XI;var r,n,o;t[i(445)]=sT[i(445)](sT[i(560)](e,["stsd"],s)[0]),t[i(435)]=sT[i(435)](sT[i(560)](e,["stts"],s)[0]),t[i(496)]=sT.ctts(sT[i(560)](e,[i(496)],s)[0]),t.stsc=sT.stsc(sT[i(560)](e,[i(481)],s)[0]),t.stsz=sT[i(525)](sT[i(560)](e,[i(525)],s)[0]),t.stco=sT[i(586)](sT.findBox(e,[i(586)],s)[0]),!t[i(586)]&&(t[i(547)]=sT[i(547)](sT.findBox(e,[i(547)],s)[0]),t[i(586)]=t[i(547)]);const a=null===(r=t[i(445)][i(407)][0])||void 0===r||null===(n=r[i(522)])||void 0===n||null===(o=n[i(550)])||void 0===o?void 0:o[i(408)][i(520)];t[i(430)]=sT[i(430)](sT[i(560)](e,["stss"],s)[0]),t.senc=sT.senc(sT[i(560)](e,["senc"],s)[0],a)}))}static[zI(474)](t){const e=zI;let s=arguments[e(422)]>1&&void 0!==arguments[1]?arguments[1]:8;return $I(t,!0,((t,i)=>{const r=e;let n=0;const o=GI(i,n);n+=4,t[r(498)]=[];for(let e=0;e{const s=XI,i=[],r=[];let n=0;for(let t=0;t<16;t++)r[s(410)](eT(e[n+t]));if(n+=16,t[s(473)]>0){const t=GI(e,n);n+=4;for(let r=0;r<(""+t)[s(422)];r++)for(let t=0;t<16;t++){const t=e[n];n+=1,i[s(410)](eT(t))}}const o=GI(e,n);t[s(568)]=o,n+=4,t[s(475)]=i,t.system_id=r,t[s(412)]=e}))}static[zI(445)](t){return $I(t,!0,((t,e,s)=>{const i=XI;t[i(495)]=GI(e),t[i(407)]=sT[i(560)](e[i(480)](4),[],s+4)[i(411)]((t=>{const e=i;switch(t.type){case"avc1":case e(416):case e(514):case"avc4":return sT.avc1(t);case e(446):case e(572):return sT[e(446)](t);case e(531):return sT.mp4a(t);case e(526):case e(439):return sT[e(526)](t);case e(438):return $I(t,!1,((t,s,i)=>{const r=e;t[r(509)]=WI(s,16),t[r(453)]=WI(s,18),t.sampleRate=GI(s,24)/65536,s=s[r(480)](28),t[r(522)]=sT.sinf(sT[r(560)](s,[r(522)],i)[0]),t[r(562)]=sT.esds(sT[r(560)](s,[r(562)],i)[0])}));case"encv":return $I(t,!1,((t,s,i)=>{const r=e;t[r(417)]=WI(s,24),t.height=WI(s,26),t[r(458)]=GI(s,28),t.vertresolution=GI(s,32),s=s[r(480)](78),t[r(522)]=sT[r(522)](sT[r(560)](s,["sinf"],i)[0]),t.avcC=sT.avcC(sT.findBox(s,[r(459)],i)[0]),t[r(477)]=sT[r(477)](sT.findBox(s,[r(477)],i)[0]),t[r(503)]=sT[r(503)](sT[r(560)](s,["pasp"],i)[0])}))}}))[i(515)](Boolean)}))}static[zI(408)](t){return $I(t,!1,((t,e)=>{const s=XI;let i=6;t[s(485)]=e[i],i+=1,t[s(520)]=e[i],i+=1,t.default_KID=[];for(let r=0;r<16;r++)t[s(492)].push(eT(e[i])),i+=1}))}static[zI(550)](t){return $I(t,!1,((t,e,s)=>{const i=XI;t[i(408)]=sT[i(408)](sT[i(560)](e,[i(408)],s)[0])}))}static sinf(t){return $I(t,!1,((t,e,s)=>{const i=XI;t[i(550)]=sT[i(550)](sT[i(560)](e,[i(550)],s)[0]),t.frma=sT.frma(sT[i(560)](e,[i(426)],s)[0])}))}static[zI(426)](t){return $I(t,!1,((t,e)=>{const s=XI;t[s(471)]="";for(let i=0;i<4;i++)t.data_format+=String[s(409)](e[i])}))}static[zI(421)](t){return $I(t,!1,((t,e,s)=>{const i=XI,r=JI(t,e),n=e[i(480)](r);s+=r,t[i(459)]=sT[i(459)](sT[i(560)](n,["avcC"],s)[0]),t[i(503)]=sT[i(503)](sT.findBox(n,[i(503)],s)[0])}))}static[zI(459)](t){return $I(t,!1,((t,e)=>{const s=XI;t[s(557)]=e[0],t[s(418)]=e[1],t.profileCompatibility=e[2],t[s(501)]=e[3],t[s(528)]=function(t){let e,s=zI(454);for(let i=0;i<3;i++)e=t[i].toString(16),e.length<2&&(e="0"+e),s+=e;return s}([e[1],e[2],e[3]]),t[s(542)]=3&e[4],t[s(517)]=31&e[5],t[s(433)]=[];let i=6;for(let r=0;r{const i=XI,r=JI(t,e),n=e[i(480)](r);s+=r,t[i(477)]=sT[i(477)](sT[i(560)](n,["hvcC"],s)[0]),t[i(503)]=sT[i(503)](sT[i(560)](n,[i(503)],s)[0])}))}static hvcC(t){return $I(t,!1,((e,s)=>{const i=XI;e[i(468)]=t[i(468)],e[i(528)]="hev1.1.6.L93.B0",e.configurationVersion=s[0];const r=s[1];e[i(406)]=r>>6,e[i(402)]=(32&r)>>5,e[i(552)]=31&r,e.generalProfileCompatibility=GI(s,2),e.generalConstraintIndicatorFlags=s[i(480)](6,12),e[i(464)]=s[12],e.avgFrameRate=WI(s,19),e[i(529)]=s[22],e[i(582)]=[],e.sps=[],e[i(494)]=[];let n=23,o=0,a=0,h=0;for(let t=0;t{const s=XI;t[s(521)]=GI(e),t[s(573)]=GI(e,4)}))}static[zI(531)](t){return $I(t,!1,((t,e,s)=>{const i=XI,r=ZI(t,e);t[i(562)]=sT[i(562)](sT[i(560)](e[i(480)](r),[i(562)],s+r)[0])}))}static esds(t){return $I(t,!0,((t,e)=>{const s=XI;t[s(528)]="mp4a.";let i=0,r=0,n=0,o=0;for(;e[s(422)];){for(i=0,o=e[i],r=e[i+1],i+=2;128&r;)n=(127&r)<<7,r=e[i],i+=1;if(n+=127&r,3===o)e=e[s(480)](i+3);else{if(4!==o){if(5===o){const r=t[s(437)]=e.subarray(i,i+n);let o=(248&r[0])>>3;return 31===o&&r[s(422)]>=2&&(o=32+((7&r[0])<<3)+((224&r[1])>>5)),t[s(502)]=o,t[s(528)]+=o.toString(16),void("."===t.codec[t[s(528)][s(422)]-1]&&(t[s(528)]=t.codec[s(447)](0,t[s(528)][s(422)]-1)))}return void("."===t.codec[t[s(528)].length-1]&&(t[s(528)]=t[s(528)][s(447)](0,t.codec[s(422)]-1)))}t.codec+=(e[i][s(532)](16)+".").padStart(3,"0"),e=e[s(480)](i+13)}}}))}static[zI(526)](t){return $I(t,!1,((t,e)=>{ZI(t,e)}))}static[zI(435)](t){return $I(t,!0,((t,e)=>{const s=XI,i=GI(e),r=[];let n=4;for(let t=0;t{const s=XI,i=GI(e),r=[];let n=4;if(1===t[s(473)])for(let t=0;t{const s=XI,i=GI(e),r=[];let n=4;for(let t=0;t{const s=XI,i=GI(e),r=GI(e,4),n=[];if(!i){let t=8;for(let i=0;i{const s=XI,i=GI(e),r=[];let n=4;for(let t=0;t{const s=GI(e),i=[];let r=4;for(let t=0;t{const s=XI,i=GI(e),r=[];let n=4;for(let t=0;t{const i=XI;t.mfhd=sT[i(431)](sT[i(560)](e,["mfhd"],s)[0]),t[i(427)]=sT.findBox(e,[i(427)],s)[i(411)]((t=>sT[i(427)](t)))}))}static[zI(431)](t){return $I(t,!0,((t,e)=>{t[XI(440)]=GI(e)}))}static[zI(427)](t){return $I(t,!1,((t,e,s)=>{const i=XI;t[i(546)]=sT[i(546)](sT[i(560)](e,[i(546)],s)[0]),t.tfdt=sT[i(549)](sT[i(560)](e,[i(549)],s)[0]),t[i(463)]=sT[i(463)](sT[i(560)](e,[i(463)],s)[0])}))}static[zI(463)](t){return $I(t,!0,((t,e)=>{const s=XI,{version:i,flags:r}=t,n=e[s(422)],o=t[s(574)]=GI(e);let a=4;if(n>a&&1&r&&(t.dataOffset=-(1+~GI(e,a)),a+=4),n>a&&4&r&&(t[s(575)]=GI(e,a),a+=4),t[s(498)]=[],n>a){let n;for(let h=0;h{const s=XI;1===t[s(473)]?t[s(516)]=HI(e):t[s(516)]=GI(e)}))}static probe(t){const e=zI;return!!sT.findBox(t,[e(456)])}static parseSampleFlags(t){return{isLeading:(12&t[0])>>>2,dependsOn:3&t[0],isDependedOn:(192&t[1])>>>6,hasRedundancy:(48&t[1])>>>4,paddingValue:(14&t[1])>>>1,isNonSyncSample:1&t[1],degradationPriority:t[2]<<8|t[3]}}static[zI(443)](t,e,s){const i=zI;var r,n;const o=t[i(420)];if(!o||!o.length)return;const a=o[i(478)]((t=>{const e=i;var s,r;return(null===(s=t[e(556)])||void 0===s||null===(r=s[e(563)])||void 0===r?void 0:r[e(425)])===e(543)})),h=o[i(478)]((t=>{const e=i;var s,r;return"soun"===(null===(s=t[e(556)])||void 0===s||null===(r=s[e(563)])||void 0===r?void 0:r[e(425)])}));if(a&&e){var c,l,d,u,p,f,m;const s=e,r=null===(c=a[i(488)])||void 0===c?void 0:c.trackId;null!=r&&(s.id=a[i(488)][i(484)]),s.tkhdDuration=a.tkhd[i(535)],s[i(530)]=t[i(467)][i(535)],s[i(499)]=t.mvhd[i(493)],s.timescale=s[i(472)]=a.mdia[i(442)].timescale,s.duration=a[i(556)][i(442)][i(535)]||s[i(530)]/s[i(499)]*s[i(493)];const n=a[i(556)][i(565)][i(551)][i(445)][i(407)][0];if(s[i(417)]=n[i(417)],s[i(419)]=n.height,n[i(503)]&&(s[i(413)]=[n[i(503)].hSpacing,n[i(503)][i(573)]]),n[i(477)])s[i(451)]=QI[i(585)],s.codec=n[i(477)][i(528)],s.vps=n[i(477)][i(582)],s[i(433)]=n[i(477)].sps,s[i(494)]=n.hvcC[i(494)],s[i(477)]=n.hvcC[i(468)];else{if(!n.avcC)throw new Error("unknown video stsd entry");s[i(451)]=QI.AVC,s[i(528)]=n[i(459)][i(528)],s[i(433)]=n[i(459)][i(433)],s[i(494)]=n[i(459)][i(494)]}var g,A,y,b,v,w,S,E;if(s[i(564)]=!0,s[i(523)]={},s[i(523)][i(430)]=null===(l=a[i(556)])||void 0===l||null===(d=l.minf)||void 0===d||null===(u=d[i(551)])||void 0===u?void 0:u.stss,s[i(523)][i(496)]=null===(p=a[i(556)])||void 0===p||null===(f=p[i(565)])||void 0===f||null===(m=f[i(551)])||void 0===m?void 0:m.ctts,n&&n[i(466)]===i(524))s[i(538)]=!0,n[i(492)]=null===(g=n[i(522)])||void 0===g||null===(A=g.schi)||void 0===A?void 0:A.tenc[i(492)],n.default_IsEncrypted=null===(y=n[i(522)])||void 0===y||null===(b=y[i(550)])||void 0===b?void 0:b[i(408)][i(485)],n[i(520)]=null===(v=n[i(522)])||void 0===v||null===(w=v.schi)||void 0===w?void 0:w[i(408)][i(520)],s.videoSenc=a[i(556)].minf[i(551)][i(474)]&&a[i(556)][i(565)][i(551)][i(474)][i(498)],n[i(471)]=null===(S=n[i(522)])||void 0===S||null===(E=S[i(426)])||void 0===E?void 0:E.data_format,s.useEME=t[i(583)],s[i(507)]=t[i(507)],s[i(482)]=t[i(482)],s[i(524)]=n}if(h&&s){var I,T,k,_,C,R,D,x,L;const e=s,o=null===(I=h[i(488)])||void 0===I?void 0:I[i(484)];null!=o&&(e.id=h[i(488)][i(484)]),e[i(423)]=h[i(488)].duration,e.mvhdDurtion=t.mvhd.duration,e[i(499)]=t.mvhd[i(493)],e.timescale=e.formatTimescale=h.mdia[i(442)][i(493)],e[i(535)]=h[i(556)][i(442)][i(535)]||e[i(530)]/e[i(499)]*e[i(493)];const a=h.mdia[i(565)][i(551)][i(445)][i(407)][0];switch(e[i(534)]=a[i(534)],e[i(428)]=a.sampleRate,e.channelCount=a[i(509)],e[i(564)]=!0,a[i(466)]){case i(526):e[i(451)]=e.codec=KI[i(553)],e[i(428)]=8e3;break;case i(439):e.codecType=e.codec=KI.G711PCMU,e.sampleRate=8e3;break;default:e[i(451)]=KI[i(566)],e[i(450)]=YI[i(500)](e[i(428)],e.timescale),e[i(434)]=YI[i(576)](e[i(428)]),e[i(502)]=(null===(r=a[i(562)])||void 0===r?void 0:r.objectType)||2,a[i(562)]&&(e[i(437)]=Array[i(490)](a.esds[i(437)])),e[i(528)]=(null===(n=a.esds)||void 0===n?void 0:n[i(528)])||i(470)}var P,M,B,F,O,U,j,N;if(e[i(450)]=YI[i(500)](e[i(428)],e[i(493)]),e[i(502)]=(null===(T=a[i(562)])||void 0===T?void 0:T[i(502)])||2,a[i(562)]&&(a[i(562)][i(437)]?e[i(437)]=Array.from(a[i(562)].config):console.warn("esds config is null")),e[i(528)]=(null===(k=a.esds)||void 0===k?void 0:k.codec)||i(470),e.sampleRateIndex=YI[i(576)](e.sampleRate),e[i(523)]={},e[i(523)][i(430)]=null===(_=h[i(556)])||void 0===_||null===(C=_.minf)||void 0===C||null===(R=C[i(551)])||void 0===R?void 0:R[i(430)],e[i(523)][i(496)]=null===(D=h[i(556)])||void 0===D||null===(x=D[i(565)])||void 0===x||null===(L=x[i(551)])||void 0===L?void 0:L[i(496)],e.present=!0,a&&a[i(466)]===i(438))e[i(541)]=!0,a[i(471)]=null===(P=a[i(522)])||void 0===P||null===(M=P[i(426)])||void 0===M?void 0:M[i(471)],a[i(492)]=null===(B=a[i(522)])||void 0===B||null===(F=B.schi)||void 0===F?void 0:F[i(408)][i(492)],a[i(485)]=null===(O=a[i(522)])||void 0===O||null===(U=O[i(550)])||void 0===U?void 0:U[i(408)][i(485)],a.default_IV_size=null===(j=a[i(522)])||void 0===j||null===(N=j[i(550)])||void 0===N?void 0:N[i(408)][i(520)],e[i(571)]=h[i(556)][i(565)][i(551)][i(474)]&&h[i(556)][i(565)][i(551)][i(474)][i(498)],e.useEME=t[i(583)],e.kidValue=t[i(507)],e[i(438)]=a}if(s&&(s.isVideoEncryption=!!e&&e[i(538)]),e&&(e[i(541)]=!!s&&s[i(541)]),null!=e&&e.encv||null!=s&&s[i(438)]){var V,z;const t=null==e||null===(V=e[i(524)])||void 0===V?void 0:V[i(492)],r=null==s||null===(z=s[i(438)])||void 0===z?void 0:z[i(492)],n=t||r?(t||r).join(""):null;e&&(e[i(475)]=n),s&&(s.kid=n)}return e&&(e.flags=3841),s&&(s[i(580)]=1793),{videoTrack:e,audioTrack:s}}static evaluateDefaultDuration(t,e,s){const i=zI;var r;const n=null==e||null===(r=e.samples)||void 0===r?void 0:r[i(422)];if(!n)return 1024;return 1024*n/e[i(493)]*t[i(493)]/s}static moofToSamples(t,e,s){const i=zI,r={};return t[i(431)]&&(e&&(e[i(440)]=t[i(431)][i(440)]),s&&(s[i(440)]=t[i(431)][i(440)])),t.traf[i(497)]((t=>{const n=i;let{tfhd:o,tfdt:a,trun:h}=t;if(!o||!h)return;a&&(e&&e.id===o.trackId&&(e[n(516)]=a[n(516)]),s&&s.id===o[n(484)]&&(s[n(516)]=a[n(516)]));const c=o[n(487)]||0,l=o.defaultSampleDuration||sT[n(519)](e,s,h[n(498)][n(422)]||h.sampleCount);let d=h[n(511)]||0,u=0,p=-1;if(!h[n(498)][n(422)]&&h[n(574)]){r[o[n(484)]]=[];for(let t=0;t{const s=n;return(t={offset:d,dts:u,pts:u+(t[s(457)]||0),duration:t[s(535)]||l,size:t.size||c,gopId:p,keyframe:0===e||null!==t[s(580)]&&void 0!==t[s(580)]&&(65536&t.flags)>>>0!=65536})[s(441)]&&(p++,t.gopId=p),u+=t.duration,d+=t[s(448)],t}))})),r}static[zI(505)](t){const e=zI,s=t[e(420)];if(!s||!s[e(422)])return;const i=s[e(478)]((t=>{var s,i;return"vide"===(null===(s=t[e(556)])||void 0===s||null===(i=s.hdlr)||void 0===i?void 0:i.handlerType)})),r=s[e(478)]((t=>{const s=e;var i,r;return(null===(i=t[s(556)])||void 0===i||null===(r=i[s(563)])||void 0===r?void 0:r[s(425)])===s(483)}));if(!i&&!r)return;let n,o;if(i){var a,h;const t=null===(a=i[e(556)])||void 0===a||null===(h=a.minf)||void 0===h?void 0:h[e(551)];if(!t)return;const{stts:s,stsc:r,stsz:o,stco:c,stss:l,ctts:d}=t;if(!(s&&r&&o&&c&&l))return;n=qI(s,r,o,c,d,l)}if(r){var c,l,d;const t=null===(c=r[e(556)])||void 0===c||null===(l=c[e(565)])||void 0===l?void 0:l[e(551)];if(!t)return;const s=null===(d=r[e(556)][e(442)])||void 0===d?void 0:d[e(493)],{stts:i,stsc:n,stsz:a,stco:h}=t;if(!(s&&i&&n&&a&&h))return;o=qI(i,n,a,h)}return{videoSamples:n,audioSamples:o}}}function iT(){const t=["hev1","vSpacing","sampleCount","firstSampleFlags","getRateIndexByRate","opcolor","8pMiSDO","vmhd","flags","references","vps","useEME","3569230xyuCcc","HEVC","stco","generalTierFlag","BytesOfClearData","language","defaultSampleDuration","generalProfileSpace","entries","tenc","fromCharCode","push","map","buffer","sarRatio","apply","2Kpattu","avc2","width","AVCProfileIndication","height","trak","avc1","length","tkhdDuration","headerSize","handlerType","frma","traf","sampleRate","indexOf","stss","mfhd","63497RsBORj","sps","sampleRateIndex","stts","dts","config","enca","ulaw","sequenceNumber","keyframe","mdhd","moovToTrack","ceil","stsd","hvc1","substring","size","entrySizes","sampleDuration","codecType","subsamples","samplesize","avc1.","subsegment_duration","ftyp","cts","horizresolution","avcC","start","baseDataOffset","SAP_delta_time","trun","generalLevelIdc","1304829YdjCiv","type","mvhd","data","sidx","mp4a.40.2","data_format","formatTimescale","version","senc","kid","balance","hvcC","find","box ","subarray","stsc","pssh","soun","trackId","default_IsEncrypted","15769494QHhzBi","defaultSampleSize","tkhd","vertresolution","from"," size !== data.length","default_KID","timescale","pps","entryCount","ctts","forEach","samples","mvhdTimecale","getFrameDuration","AVCLevelIndication","objectType","pasp","reference_ID","moovToSamples","gopId","kidValue","1346121kuwswX","channelCount","first_offset","dataOffset","depth","smhd","avc3","filter","baseMediaDecodeTime","spsLength","pts","evaluateDefaultDuration","default_IV_size","hSpacing","sinf","ext","encv","stsz","alaw","391284VOmNRh","codec","numOfArrays","mvhdDurtion","mp4a","toString","reference_type","sampleSize","duration","InitializationVector","ppsLength","isVideoEncryption","samplesPerChunk","earliest_presentation_time","isAudioEncryption","lengthSizeMinusOne","vide","dataReferenceIndex","referenced_size","tfhd","co64","aac","tfdt","schi","stbl","generalProfileIdc","G711PCMA","avc","pow","mdia","configurationVersion","frameCount","BytesOfProtectedData","findBox","firstChunk","esds","hdlr","present","minf","AAC","3440984jmiVLs","data_size","SAP_type","moof","audioSenc"];return(iT=function(){return t})()}function rT(){const t=["5678040omMFdn","629288HYbwlF","66272nHadFA","1308834hEzVFI","1115076tDlTqq","max","2007420viLWQP","min","7DJJhRF","815022sChrng","length"];return(rT=function(){return t})()}function nT(t,e){const s=rT();return(nT=function(t,e){return s[t-=273]})(t,e)}!function(t,e){const s=nT,i=t();for(;;)try{if(270943===parseInt(s(275))/1+-parseInt(s(274))/2+parseInt(s(282))/3+-parseInt(s(277))/4+-parseInt(s(279))/5+parseInt(s(276))/6+-parseInt(s(281))/7*(-parseInt(s(273))/8))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(rT);const oT=aT;function aT(t,e){const s=hT();return(aT=function(t,e){return s[t-=214]})(t,e)}function hT(){const t=["sample","_initLoopWorker","gopId","push","isPlayVodNotUseMSE","isPlayVod","type","duration","data","workerUrl","debug","isIFrame","isInitAudio","baseMediaDecodeTime","player","27KCUamn","end","moov","terminate","TAG_NAME","set","payload","962158QGFdrB","playVodRateChange","audioListLength","moof","aac","video init success","start","pts","allListLength","buferredDuration","_opt","1NHhZKE","videoData audio init success","getSampleVideoListLength","pps","_postMessageToLoopWorker","10182192HZzSeD","_initLoopWorker()","codec","destroy","cleanSampleList","onmessage","audioTrack","audioData audio init success","isUseMSE","HlsFmp4Demux","buffer","byteLength","2574594ftsabh","postMessage","dts","3960QtdLaN","decodeAudio","playVodTimeCache","getSampleRange","seqHeader","listen playVodRateChange","revokeObjectURL","videoTrack","991930MvHBrn","checkInitAudio","decodeVideo","cannot found moov box","loop worker is not init, can not post message","386150DkELgM","_hasCalcFps","seekSampleRange","isInitVideo","checkInitVideo","2017148uhqFwE","audio","video","geVodLoadedTime","concat","moovToTrack","sampleListInfo","_doDecodeVideo","samples","codecType","map","forEach","_doDecodeAudio","cmd","sampleRate","findBox","sps","36cjGLdf","moofToSamples","size","clearBuffer","_basefps","resume","debugUuid","workerClearTimeout","getBuferredDuration","subarray","getSampleAudioListLength","sampleRateIndex","updatePlayRate","isHevc","channelCount","tempSampleListInfo","_sendAccADTSHeader","pause","vps","updateStats","cleanSampleListAndSetSeekTime","7917rdWUXN","debugError","init","loopWorker","_isUseWorker","3vHYfuY","_doDecodeByHls","debugLog","length","cryptoPayload","sort","keyframe","offset"];return(hT=function(){return t})()}!function(t,e){const s=aT,i=t();for(;;)try{if(333716===parseInt(s(277))/1*(parseInt(s(266))/2)+-parseInt(s(236))/3*(parseInt(s(315))/4)+parseInt(s(310))/5*(-parseInt(s(332))/6)+parseInt(s(231))/7*(-parseInt(s(297))/8)+parseInt(s(259))/9*(parseInt(s(305))/10)+parseInt(s(294))/11+parseInt(s(282))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(hT);class cT extends sp{constructor(t){const e=aT;super(t),this[e(258)]=t,this.TAG_NAME=e(291),this[e(225)]={},this.isInitVideo=!1,this.isInitAudio=!1,this[e(304)]={id:1,samples:[],sps:[],pps:[],vps:[],codec:""},this[e(288)]={id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""},this[e(217)]=null,this[e(253)]=null,this[e(234)]=null,this[e(311)]=!1,this[e(214)]=25,this[e(235)]()&&this[e(245)](),this[e(258)][e(249)]()&&this[e(235)]()&&this[e(258)].on(O[e(267)],(t=>{const s=e;this[s(258)][s(238)](this[s(263)],s(302),t),this[s(281)](s(222),{rate:t})})),t.debugLog(this.TAG_NAME,e(233))}destroy(){const t=aT;super[t(285)](),this[t(253)]&&(URL[t(303)](this[t(253)]),this[t(253)]=null),this[t(217)]&&(clearTimeout(this[t(217)]),this[t(217)]=null),this[t(234)]&&(this.loopWorker[t(295)]({cmd:t(285)}),this[t(234)][t(262)](),this[t(234)]=null),this[t(311)]=!1,this[t(304)]=null,this[t(288)]=null,this[t(313)]=!1,this[t(256)]=!1,this[t(214)]=25,this[t(258)].debugLog(this[t(263)],t(285))}demux(t,e){const s=aT;let i=this[s(288)],r=this[s(304)];if(this.checkInitAudio(),this[s(314)](),i[s(323)]=[],r[s(323)]=[],e){if(this[s(258)][s(229)]({abps:e.byteLength}),ii(this[s(256)])){const t=sT[s(330)](e,[s(261)])[0];if(!t)return void this[s(258)][s(232)](this.TAG_NAME,s(308));sT[s(320)](sT.moov(t),null,i),this[s(306)]()&&(this.player[s(238)](this[s(263)],s(289)),this[s(226)](i))}const t=sT.findBox(e,[s(269)])[0];if(t){const r=sT.moofToSamples(sT[s(269)](t),null,i)[i.id],n=i.baseMediaDecodeTime;if(r){const o=t[s(272)];r[s(325)]((t=>{const r=s;t[r(243)]+=o;const a=e[r(219)](t[r(243)],t[r(243)]+t[r(334)]),h=t[r(296)]+n,c=new Uint8Array(a[r(239)]+2);c[r(264)]([175,1],0),c[r(264)](a,2),i[r(323)][r(247)]({type:L[r(316)],pts:h,dts:h,payload:c,duration:t[r(251)],size:c[r(293)]})}))}}}if(t){if(this[s(258)][s(229)]({vbps:t[s(293)]}),ii(this[s(313)])&&ii(this[s(256)])){const e=sT.findBox(t,[s(261)])[0];if(!e)throw new Error(s(308));if(sT[s(320)](sT[s(261)](e),r,i),ii(this[s(256)])&&this[s(306)]()&&(this.player[s(238)](this[s(263)],s(278),i),this[s(226)](i)),this[s(314)]()){this.player.debugLog(this[s(263)],s(271));let t=null;r.codecType===ft.h265?r.sps.length&&r[s(228)][s(239)]&&r[s(280)][s(239)]&&(t=nh({sps:r[s(331)][0],pps:r.pps[0],vps:r[s(228)][0]})):r[s(331)].length&&r[s(280)][s(239)]&&(t=xa({sps:r.sps[0],pps:r[s(280)][0]})),t&&(this.player[s(238)](this.TAG_NAME,s(301)),this._doDecodeByHls(t,L[s(317)],0,!0,0))}}const e=sT[s(330)](t,["moof"])[0];if(e){const n=sT[s(333)](sT[s(269)](e),r,i),o=r.baseMediaDecodeTime,a=i[s(257)],h=e.start;Object.keys(n).forEach((e=>{const c=s;r.id==e?n[e][c(325)]((e=>{const s=c;e[s(243)]+=h;const i={type:L.video,pts:(e[s(273)]||e[s(296)])+o,dts:e[s(296)]+o,units:[],payload:null,isIFrame:!1};i[s(251)]=e.duration,i[s(246)]=e[s(246)],e[s(242)]&&(i[s(255)]=!0);const n=t.subarray(e[s(243)],e.offset+e[s(334)]);i[s(265)]=n,r.samples[s(247)](i)})):i.id==e&&n[e][c(325)]((e=>{const s=c;e.offset+=h;const r=t[s(219)](e.offset,e[s(243)]+e[s(334)]),n=e[s(296)]+a,o=new Uint8Array(r[s(239)]+2);o[s(264)]([175,1],0),o[s(264)](r,2),i[s(323)][s(247)]({type:L.audio,pts:n,dts:n,payload:o,duration:e[s(251)],size:o[s(293)]})}))}))}}const n=r[s(323)][s(319)](i[s(323)]);n[s(241)](((t,e)=>t[s(296)]-e.dts)),n[s(326)]((t=>{const e=s,i=new Uint8Array(t[e(265)]);delete t.payload,this._isUseWorker()?this[e(234)][e(295)]({...t,payload:i,cmd:e(244)},[i[e(292)]]):t[e(250)]===L[e(317)]?this[e(322)]({...t,payload:i}):t[e(250)]===L[e(316)]&&this[e(327)]({...t,payload:i})})),ii(this[s(311)])&&this[s(235)]()&&(this[s(311)]=this._calcDecodeFps(n))}[oT(306)](){const t=oT;return this.isInitAudio=!!(this.audioTrack[t(329)]&&this[t(288)][t(224)]&&this[t(288)][t(284)]&&this[t(288)][t(324)]===t(270)),this[t(256)]}checkInitVideo(){const t=oT;return this.isInitVideo=!!(this[t(304)][t(280)][t(239)]&&this[t(304)].sps[t(239)]&&this[t(304)][t(284)]),this[t(313)]}[oT(226)](t){const e=oT,s=ge({profile:t.objectType,sampleRate:t[e(221)],channel:t.channelCount});this[e(237)](s,L[e(316)],0,!0,0)}_initLoopWorker(){const t=oT;this.player.debugLog(this[t(263)],t(283));const e=Vs(OI);let s=new Worker(e);this.workerUrl=e,this[t(217)]=setTimeout((()=>{const e=t;window.URL[e(303)](this[e(253)]),this.workerUrl=null,this[e(217)]=null}),_),s.postMessage({cmd:t(233),options:{type:"hlsFmp4",seekingMaxDiff:1e4,debug:this[t(258)][t(276)][t(254)],debugUuid:this[t(258)][t(276)][t(216)]}}),s[t(287)]=e=>{const s=t,i=e[s(252)];switch(i[s(328)]){case s(307):this._doDecodeVideo(i);break;case s(298):this[s(327)](i);break;case s(321):if(this[s(225)]=i,this[s(258)][s(248)]()){const t=this[s(318)](),e=this[s(258)].getPlayVodDuration();t&&e&&this.player.emit(O[s(299)],t/(1e3*e))}}},this[t(234)]=s}[oT(281)](t,e){const s=oT;this[s(235)]()&&(this[s(234)]?this.loopWorker[s(295)]({cmd:t,...e}):this[s(258)].debugWarn(this[s(263)],s(309)))}[oT(327)](t){const e=oT,s=new Uint8Array(t[e(265)]);this[e(258)][e(229)]({abps:s.byteLength}),this.cryptoPayloadAudio(s),this._doDecodeByHls(s,L[e(316)],t.dts,!1,0)}[oT(322)](t){const e=oT,s=new Uint8Array(t.payload);let i=null;i=t[e(223)]?oh(s,t[e(255)]):La(s,t.isIFrame),this[e(258)][e(229)]({dts:t[e(296)],vbps:i[e(293)]});const r=t[e(273)]-t[e(296)];let n=this[e(240)](i,t[e(255)]);this._doDecodeByHls(n,L[e(317)],t[e(296)],t[e(255)],r)}[oT(218)](){const t=oT;return this[t(225)][t(275)]||0}getSampleListLength(){const t=oT;return this.tempSampleListInfo[t(274)]||0}[oT(220)](){const t=oT;return this.tempSampleListInfo[t(268)]||0}[oT(279)](){return this[oT(225)].videoListLength||0}[oT(300)](){const t=oT;return{start:this.tempSampleListInfo.start||0,end:this[t(225)].end||0}}seekSampleRange(t){const e=oT;this[e(281)](e(312),{time:t})}[oT(230)](t){const e=oT;ii(this[e(258)][e(290)]())&&(this[e(335)](!0),this[e(281)](e(286)),this[e(281)]("setSeekingTime",{time:t}))}[oT(227)](){const t=oT;this._postMessageToLoopWorker(t(227))}[oT(215)](){this[oT(281)]("resume")}[oT(318)](){const t=oT;let e=0;return e=this[t(300)]()[t(260)],e}}const lT=uT;!function(t,e){const s=uT,i=t();for(;;)try{if(699580===-parseInt(s(323))/1+parseInt(s(314))/2*(parseInt(s(322))/3)+parseInt(s(316))/4*(-parseInt(s(345))/5)+-parseInt(s(324))/6*(parseInt(s(320))/7)+-parseInt(s(325))/8*(-parseInt(s(321))/9)+parseInt(s(328))/10*(parseInt(s(335))/11)+-parseInt(s(327))/12*(parseInt(s(343))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(pT);class dT{constructor(t,e){const s=uT;this.hls=t,this[s(338)]=this[s(332)][s(338)],this.isMP4=e,this[s(341)]="",this.TAG_NAME=s(329),this[s(319)]=e?new cT(this.hls[s(338)]):new VI(this[s(332)][s(338)]),this[s(338)][s(340)](this.TAG_NAME,s(342)+e)}destroy(){const t=uT;this[t(319)]&&(this[t(319)][t(315)](),this[t(319)]=null)}[lT(334)](t,e,s,i,r,n){const o=lT;this.player[o(340)](this.TAG_NAME,o(333)+(t&&t[o(330)])+o(339)+(e&&e.byteLength)+o(331)+s+o(318)+i+o(344)+r+o(317)+n);const a=this[o(319)];try{this[o(346)]?a[o(326)](t,e):a.demuxAndFix(Zp(t,e),s,i,r)}catch(t){throw new GE(WE[o(337)],WE[o(336)],t)}}}function uT(t,e){const s=pT();return(uT=function(t,e){return s[t-=314]})(t,e)}function pT(){const t=["byteLength",", discontinuity:","hls","transmux videoChunk:","transmux","339889llQwDj","HLS","DEMUX","player",", audioChunk:","debugLog","_initSegmentId","init and isMP4 is ","39fQIebE",", startTime:","477755eAGdWt","isMP4","12vJxLNL","destroy","28xrsKEQ",", needInit:",", contiguous:","_demuxer","7cOTFsF","108NkKHRv","101991YGRrRy","100493qIyCNq","5641710hGBYkZ","907744JpediF","demux","1198584clipmi","370SVNoat","HlsTransmuxer"];return(pT=function(){return t})()}var fT=mT;function mT(t,e){var s=gT();return(mT=function(t,e){return s[t-=390]})(t,e)}function gT(){var t=["transmux","clearAllBuffer","5iaMzLZ","createSource","getTsSampleRange","decryptBuffer","seamlessSwitch","15030252SfXqTE","getSampleRange","length","player","_demuxer","629761MaVGAy","demuxerPause","3588746RsAUsM","_needInitSegment","debugError","18RgnjZD","probe","cleanSampleListAndSetSeekTime","nbSb","demuxerResume","6KzFzrf","debugLog","_transmuxer","getBuferredDuration","TAG_NAME","70LfEMkq","_mse","endOfStream","getSampleAudioListLength","_decryptor","2894008puYxNx","baseDts","updateMediaSourceDuration","mseDecoder","1509256xQEDXS","setLiveSeekableRange","_directAppend","isPlayVodUseMSE","getSampleListLength","seekSampleRange","updateDuration","getBufferedAudioSegments","getSampleVideoListLength","hls","pause","isPlayVod","updateDuration()","createSource error: chunk is not ts","_softVideo","destroy","10155LtnUfO","_sourceCreated","13214102sXXMCV","resume","appendBuffer","10zhWCcX"];return(gT=function(){return t})()}!function(t,e){for(var s=mT,i=t();;)try{if(632985===parseInt(s(413))/1+parseInt(s(428))/2*(parseInt(s(395))/3)+parseInt(s(437))/4*(-parseInt(s(403))/5)+parseInt(s(423))/6*(-parseInt(s(415))/7)+parseInt(s(433))/8*(parseInt(s(418))/9)+parseInt(s(400))/10*(-parseInt(s(397))/11)+parseInt(s(408))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(gT);class AT{constructor(t){var e=mT;this[e(446)]=t,this.player=t[e(411)],this[e(432)]=new FI(this[e(446)],this[e(411)]),this[e(425)]=null,this[e(429)]=null,this[e(393)]=null,this._sourceCreated=!1,this[e(416)]=!0,this[e(439)]=!1,this[e(427)]="HlsBufferService"}async[fT(394)](){var t=fT;this[t(393)]=null,this[t(425)]&&(this._transmuxer.destroy(),this._transmuxer=null)}get[fT(434)](){var t,e,s=fT;return null===(t=this._transmuxer)||void 0===t||null===(e=t[s(412)])||void 0===e?void 0:e._baseDts}get[fT(421)](){return 0}async[fT(443)](t){var e=fT;this[e(411)][e(424)](this[e(427)],e(391),t),this[e(411)][e(390)]()&&(this.player.playVod[e(443)](t),this[e(411)][e(440)]()&&this[e(411)][e(436)]&&this[e(411)][e(436)].isStateOpen&&this.player[e(436)][e(435)](t))}[fT(426)](){var t,e,s=fT;return null===(t=this._transmuxer)||void 0===t||null===(e=t[s(412)])||void 0===e?void 0:e.getBuferredDuration()}getBufferedSegments(){var t,e,s=fT;return null===(t=this[s(425)])||void 0===t||null===(e=t[s(412)])||void 0===e?void 0:e[s(441)]()}[fT(444)](){var t,e,s=fT;return null===(t=this[s(425)])||void 0===t||null===(e=t._demuxer)||void 0===e?void 0:e[s(431)]()}getBufferedVideoSegments(){var t,e,s=fT;return null===(t=this[s(425)])||void 0===t||null===(e=t[s(412)])||void 0===e?void 0:e[s(445)]()}[fT(404)](t,e,s,i){var r=fT;if(this[r(396)])return;const n=t||e;n&&(VI[r(419)](n)?!this[r(425)]&&(this[r(425)]=new dT(this[r(446)],!1)):sT.probe(n)?!this[r(425)]&&(this[r(425)]=new dT(this[r(446)],!0)):this.player[r(417)](this[r(427)],r(392)))}async[fT(399)](t,e,s,i,r,n,o){var a=fT;if(null!=s&&s[a(410)]||null!=i&&i[a(410)])return this._needInitSegment,this[a(425)][a(401)](s,i,r,n,o,this[a(416)]||r),!0}async[fT(402)](){var t=fT;this[t(411)][t(424)](this[t(427)],t(402))}[fT(406)](t,e){return this[fT(432)].decrypt(t,e)}async reset(){var t=fT;t(410),this[t(425)]=null,this[t(416)]=!0,this[t(439)]=!1}async endOfStream(){var t=fT;this[t(393)]&&this._softVideo[t(430)]()}async[fT(438)](t,e){}[fT(407)](){this[fT(416)]=!0}[fT(405)](){var t,e,s=fT;return null===(t=this[s(425)])||void 0===t||null===(e=t._demuxer)||void 0===e?void 0:e[s(409)]()}[fT(442)](t){var e,s,i=fT;return null===(e=this[i(425)])||void 0===e||null===(s=e._demuxer)||void 0===s?void 0:s[i(442)](t)}[fT(420)](t){var e,s,i=fT;null===(e=this[i(425)])||void 0===e||null===(s=e[i(412)])||void 0===s||s[i(420)](t)}[fT(414)](){var t,e,s=fT;null===(t=this._transmuxer)||void 0===t||null===(e=t[s(412)])||void 0===e||e[s(447)]()}[fT(422)](){var t,e,s=fT;null===(t=this._transmuxer)||void 0===t||null===(e=t[s(412)])||void 0===e||e[s(398)]()}}function yT(){const t=["621488pJAYQE","reset","394348pIwrMO","push","_seiSet","3ECganD","16fsxRUm","30ryoPOw","647272jSOgYo","SEI","delete","emit","clear","emitter","187sJIxHo","779502nBqQcm","size","38670PkNPFS","time","forEach","28720pDBRRm","3223323GiGeNV"];return(yT=function(){return t})()}const bT=vT;function vT(t,e){const s=yT();return(vT=function(t,e){return s[t-=156]})(t,e)}!function(t,e){const s=vT,i=t();for(;;)try{if(489647===-parseInt(s(169))/1+-parseInt(s(163))/2*(parseInt(s(166))/3)+-parseInt(s(159))/4+parseInt(s(168))/5*(parseInt(s(176))/6)+-parseInt(s(161))/7+parseInt(s(167))/8*(parseInt(s(160))/9)+parseInt(s(156))/10*(-parseInt(s(175))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(yT);class wT{constructor(t){const e=vT;this[e(174)]=t,this._seiSet=new Set,t.on(_t[e(170)],(t=>{t&&this[e(165)].add(t)}))}throw(t){const e=vT;if(null==t||!this[e(165)][e(177)])return;const s=t-.2,i=t+.2,r=[];this._seiSet[e(158)]((t=>{const n=e;t[n(157)]>=s&&t.time<=i&&r[n(164)](t)})),r.forEach((t=>{const s=e;this._seiSet[s(171)](t),this[s(174)][s(172)](_t.SEI_IN_TIME,t)}))}[bT(162)](){const t=bT;this._seiSet[t(173)]()}}const ST=ET;function ET(t,e){const s=kT();return(ET=function(t,e){return s[t-=458]})(t,e)}!function(t,e){const s=ET,i=t();for(;;)try{if(590842===parseInt(s(513))/1*(parseInt(s(518))/2)+parseInt(s(500))/3*(-parseInt(s(458))/4)+parseInt(s(471))/5*(-parseInt(s(459))/6)+parseInt(s(489))/7*(parseInt(s(485))/8)+parseInt(s(482))/9*(parseInt(s(498))/10)+-parseInt(s(464))/11+parseInt(s(511))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(kT);class IT{constructor(t){const e=ET;this[e(473)]=t,this.encodeType="",this[e(512)]="",this[e(463)]="",this[e(487)]="",this.fps=0,this.bitrate=0,this[e(507)]=0,this[e(466)]=0,this.samplerate=0,this[e(476)]=0,this[e(461)]=0,this[e(505)]=0,this._bitsAccumulateDuration=0}[ST(478)](){const t=ST;return{encodeType:this[t(481)],audioCodec:this[t(512)],videoCodec:this[t(463)],domain:this[t(487)],fps:this[t(468)],bitrate:this[t(469)],width:this[t(507)],height:this[t(466)],samplerate:this[t(504)],channelCount:this[t(476)],gop:this.gop}}setEncodeType(t){this.encodeType=t}setFpsFromScriptData(t){const e=ST;var s;let{data:i}=t;const r=null==i||null===(s=i[e(475)])||void 0===s?void 0:s[e(516)];r&&r>0&&r<100&&(this.fps=r)}[ST(519)](t){const e=ST;if(this.width=t[e(507)],this.height=t[e(466)],this[e(463)]=t[e(517)],this[e(481)]=t[e(501)],t[e(492)]&&t[e(491)]){const s=t[e(492)]/t[e(491)];s>0&&s<100&&(this[e(468)]=s)}}[ST(470)](t){const e=ST;this.audioCodec=t[e(517)],this.samplerate=t.sampleRate,this[e(476)]=t[e(476)]}setDomain(t){const e=ST;this[e(487)]=t.split("/")[e(477)](2,3)[0]}[ST(514)](t){const e=ST;if((!this.fps||this.fps>=100)&&t[e(495)]){const s=t[e(493)](((t,s)=>t+s[e(494)]),0)/t[e(495)];this.fps=Math.round(this[e(473)]/s)}t[e(499)]((t=>{const s=e;1===t[s(467)]&&this[s(461)]++,this[s(488)]+=t[s(494)]/(this[s(473)]/1e3),this[s(505)]+=t[s(503)][s(493)](((t,e)=>t+e[s(495)]),0),this[s(488)]>=1e3&&(this.bitrate=8*this[s(505)],this[s(488)]=0,this._bitsAccumulateSize=0)}))}}class TT{constructor(t){const e=ST;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;If(this,e(483),null),If(this,e(479),[]),this._core=t,this[e(473)]=s,this[e(472)]=new IT(s),this[e(484)]()}[ST(478)](){const t=ST;var e,s,i,r,n,o,a;const{currentTime:h=0,decodeFps:c=0}=(null===(e=this[t(483)])||void 0===e?void 0:e.media)||{};return{...this._stats[t(478)](),downloadSpeed:(null===(s=this[t(483)])||void 0===s||null===(i=s[t(502)])||void 0===i?void 0:i[t(465)](s).speed)||0,avgSpeed:(null===(r=this[t(483)])||void 0===r||null===(n=r[t(502)])||void 0===n?void 0:n[t(465)](r)[t(515)])||0,currentTime:h,bufferEnd:(null===(o=this[t(483)])||void 0===o||null===(a=o[t(480)]())||void 0===a?void 0:a[t(490)])||0,decodeFps:c}}[ST(484)](){const t=ST;this[t(483)].on(_t.DEMUXED_TRACK,(e=>this[t(472)].updateBitrate(e[t(474)]))),this[t(483)].on(_t.FLV_SCRIPT_DATA,(e=>{const s=t;this[s(472)][s(496)](e)})),this[t(483)].on(_t[t(460)],(e=>{const s=t;e[s(497)]===s(510)?this[s(472)].setVideoMeta(e[s(486)]):this[s(472)].setAudioMeta(e[s(486)])})),this._core.on(_t[t(509)],(e=>{const s=t;this[s(472)][s(506)](e[s(462)])}))}[ST(508)](){const t=ST;this._samples=[],this[t(472)]=new IT(this._timescale)}}function kT(){const t=["codecType","speedInfo","units","samplerate","_bitsAccumulateSize","setDomain","width","reset","TTFB","video","1429284SrOscD","audioCodec","450591sYaZcK","updateBitrate","avgSpeed","framerate","codec","2zWhFdm","setVideoMeta","148CdFHoo","12YmVXBZ","METADATA_PARSED","gop","responseUrl","videoCodec","273075aFgYyx","call","height","gopId","fps","bitrate","setAudioMeta","1403895TSDLoT","_stats","_timescale","samples","onMetaData","channelCount","slice","getStats","_samples","bufferInfo","encodeType","99FIFAjM","_core","_bindEvents","16TglVbA","track","domain","_bitsAccumulateDuration","996401HQDKAz","remaining","fpsDen","fpsNum","reduce","duration","length","setFpsFromScriptData","type","669950umqnmE","forEach","33576UHvaad"];return(kT=function(){return t})()}const _T=CT;function CT(t,e){const s=RT();return(CT=function(t,e){return s[t-=386]})(t,e)}function RT(){const t=["get","end","5826060SXnTer","413060FZfSIh","buffered","length","push","totalLength","13pZPdlB","215bsefMT","info","770rOnquZ","reduce","buffers","5689680NDNaRr","59132Hiudcq","84914WVHZxx","7EtSeLR","10719441PGeSjc","1873965BEeUMR","start"];return(RT=function(){return t})()}!function(t,e){const s=CT,i=t();for(;;)try{if(690232===parseInt(s(390))/1*(-parseInt(s(398))/2)+parseInt(s(401))/3+parseInt(s(397))/4*(parseInt(s(391))/5)+-parseInt(s(405))/6*(-parseInt(s(399))/7)+parseInt(s(396))/8+parseInt(s(400))/9+parseInt(s(406))/10*(-parseInt(s(393))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(RT);class DT{static start(t){const e=CT;return t&&t[e(387)]?1===t[e(387)]&&t.end(0)-t[e(402)](0)<1e-6||1===t[e(387)]&&t[e(402)](0)<0?0:t[e(402)](0):0}static end(t){const e=CT;return t&&t.length?1===t[e(387)]&&t[e(404)](0)-t.start(0)<1e-6?0:t.end(t[e(387)]-1):0}static[_T(403)](t){const e=_T;if(t)try{return t[e(386)]}catch(t){}}static[_T(395)](t,e){const s=_T;if(!t||!t[s(387)])return[];const i=[];for(let r=0,n=t.length;ra&&(o[1]=e)}else i[s(388)]([t[s(402)](r),t[s(404)](r)])}else i[s(388)]([t[s(402)](r),t[s(404)](r)])}return i}static totalLength(t){const e=_T;return t&&t[e(387)]?t[e(394)](((t,e)=>t+(e[1]-e[0])),0):0}static[_T(392)](t){const e=_T;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[e(387)]>2&&void 0!==arguments[2]?arguments[2]:0;if(!t||!t[e(387)])return{start:0,end:0,buffers:[]};let r=0,n=0,o=0,a=0,h=0,c=0,l=0;const d=DT[e(395)](t,i);for(let t=0,e=d.length;t=e[0]&&se[1]&&(c=e[0],l=e[1])}}return{start:r,end:n,index:o,buffers:d,nextStart:a,nextEnd:h,prevStart:c,prevEnd:l,currentTime:s,behind:s-r,remaining:n?n-s:0,length:DT[e(389)]&&DT[e(389)](d)}}}function xT(t,e){const s=PT();return(xT=function(t,e){return s[t-=121]})(t,e)}function LT(t){if(t)try{return t.buffered}catch(t){}}function PT(){const t=["20BmhMwM","26739PJQctZ","879313wEOaCG","length","4841564OdgogK","4PmeOtJ","40pFHSAi","5680540HixWdB","reduce","667995XjAtwp","118746llzQki","14413212LcQbTn","2mABabM","end","push","start"];return(PT=function(){return t})()}function MT(t,e){const s=xT;if(!t||!t[s(127)])return[];const i=[];for(let r=0,n=t[s(127)];rt+(e[1]-e[0])),0):0}!function(t,e){const s=xT,i=t();for(;;)try{if(541753===-parseInt(s(126))/1*(-parseInt(s(136))/2)+-parseInt(s(133))/3*(parseInt(s(129))/4)+parseInt(s(124))/5*(-parseInt(s(134))/6)+parseInt(s(128))/7+parseInt(s(130))/8*(parseInt(s(125))/9)+parseInt(s(131))/10+-parseInt(s(135))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(PT);const FT=UT;function OT(){const t=["SUBTITLE_PLAYLIST","_clear","all","catch","destroy","seekRange","_reset()","streams","curSeg","_refreshM3U8() mediaPlaylist is empty","SWITCH_URL_FAILED","OTHER","_disconnectTimer","lastSegment","loadSource","_startTick","_urlSwitching","length","SWITCH_URL_SUCCESS","totalDuration","audio seg","_end()","_pollM3U8","fatal","reset","subtitleStreams","_segmentProcessing","_reqAndBufferSegment","getSegmentByIndex","97055lXbQcZ","load","onPause","_loadSegmentDirect()","trim","rate","getTsSampleRange","_end","m3u8 url is missing"," and return","_loadM3U8() is not master playlist","228438WUtLsz","getBufferedSegments","_switchUrlOpts","_stats","_reloadOnPlay","demuxerResume","demuxerPause","nextSeg is null and return","onSeeking() seek to tsSampleRange","originError","and next _loadSegment()","5228902ikNQPC","_prevSegmentEndTime","isPlayVodUseMSE","audioCodec","seekSampleRange","getDemuxAudioBufferedListLength","currentSubtitleStream","_loadSegmentDirect"," and current time is ","currentAudioStream","_prevSegCc","_opt","decryptBuffer return null","downloadSpeed","_segmentProcessing is ture and return","12605FZHFUQ","onSeeking","m3u8 url is not defined","_manifestLoader","isPlayVod","_tick","_bufferService","_refreshM3U8","and seekTime is","STREAM_PARSED","player","_loadData","listen playVodVideoSeekingByMse","findSegmentIndexByTime","getDemuxBuferredDuration","_segmentLoader","video seg","create","emit","_loadSegment()","table","isLive","poll","currentStream","_stopTick","moveSegmentPointer","debugWarn","nextSeg","upsertPlaylist","canVideoPlay","log","debugLog","is vod and totalDuration is ","_reset","isMaster"," and seg is","isLast","ERROR","playVodVideoSeekingByMse","targetLatency","maxLatency","onPause()","TAG_NAME","_emitError","preloadTime","getStats","bitrate","cancel","_playlist","start","_loadSegment() and _prevSegmentEndTime is ","init","_tickTimer","_loadM3U8() playlist is empty","_prevSegSn","setNextSegmentByIndex","appendBuffer","createSource"," and segIndex is ","_loadSegment","_getSeamlessSwitchPoint","cleanSampleListAndSetSeekTime","getDemuxBufferedListLength","onVideoSeeking() update current time","videoCodec","nextSegment","2194668vHVBHl","clearOldSegment","url","_tick() player is destroyed","Hls256","15256VEvLKn","debug","getAudioSegment","abs","stopPoll","speedInfo","resetBandwidth","1524xSDuQq","baseDts","error","then","in range","$videoElement","hasSubtitle","media","getRenderCurrentPts","end","currentSegment","isSeeking","startTime","_seiService","isEmpty","destroy end","1431228paJVHL","duration","handlePlayVodPause","3636GZkEUB","getDemuxVideoBufferedListLength","getBufferedVideoSegments","playVodSeek","playVod","_loadSegmentDirect() not appended","config"];return(OT=function(){return t})()}function UT(t,e){const s=OT();return(UT=function(t,e){return s[t-=275]})(t,e)}!function(t,e){const s=UT,i=t();for(;;)try{if(442751===-parseInt(s(279))/1+parseInt(s(290))/2+parseInt(s(382))/3+parseInt(s(410))/4+-parseInt(s(316))/5*(parseInt(s(394))/6)+parseInt(s(301))/7+-parseInt(s(387))/8*(parseInt(s(413))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(OT);class jT extends n{constructor(t){const e=UT;let s=arguments[e(437)]>1&&void 0!==arguments[1]?arguments[1]:{};var i;super(),If(this,e(375),(async()=>{const t=e;if(this._segmentProcessing)return void this.player[t(342)](t(335),t(315));if(!this[t(364)])return void this[t(326)][t(342)](t(335),"this._playlist is null and return");const s=this[t(364)][t(404)],i=this._playlist[t(381)];if(this[t(326)].debugLog(this[t(358)],t(335),t(428),s&&s[t(384)],t(343),i&&i[t(384)]),i){if(this[t(326)][t(320)]()){let e=this[t(326)][t(402)]();e/=1e3,this[t(326)][t(303)]()&&(e=this[t(326)].getVideoCurrentTime());let s=this.player.playVod[t(405)]();if(this._prevSegmentEndTime&&ii(s)&&this._prevSegmentEndTime>this[t(326)]._opt[t(360)]*this[t(326)].playVod[t(284)]+e)return void this.player[t(388)][t(346)](this[t(358)],t(366)+this[t(302)]+t(309)+e+" more than "+(this[t(326)][t(312)].preloadTime*this[t(326)][t(417)][t(284)]+e)+t(288));this[t(302)]=i[t(403)]}return this[t(308)]()}this.player[t(347)](this[t(358)],t(297))})),this[e(326)]=t,this[e(419)]=null,this[e(319)]=null,this[e(331)]=null,this[e(364)]=null,this[e(322)]=null,this._seiService=null,this[e(293)]=null,this._prevSegSn=null,this[e(311)]=null,this[e(368)]=null,this._tickInterval=500,this[e(276)]=!1,this[e(294)]=!1,this._switchUrlOpts=null,this[e(432)]=null,this[e(302)]=0,this[e(358)]=e(386),this[e(345)]=!1,this[e(399)]=null,this[e(419)]=(i=s,s={isLive:!0,maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,...i}),this[e(319)]=new gI(this),this._segmentLoader=new II(this),this[e(364)]=new LI(this),this[e(322)]=new AT(this),this._seiService=new wT(this),this[e(293)]=new TT(this,9e4),this[e(326)][e(320)]()&&(this[e(326)].on(O.playVodPause,this[e(412)].bind(this)),this.player.isPlayVodUseMSE()?this[e(326)].on(O[e(354)],this.onVideoSeeking.bind(this)):this[e(326)].on(O[e(416)],this.onSeeking.bind(this))),this.player[e(388)][e(346)](this[e(358)],e(367))}async[FT(424)](){const t=FT;this.player.debugLog(this[t(358)],"destroy()"),this[t(364)][t(444)](),this._segmentLoader.reset(),this[t(407)][t(444)](),await Promise[t(422)]([this[t(421)](),this._bufferService.destroy()]),this[t(319)]&&(await this[t(319)].destroy(),this[t(319)]=null),this[t(331)]&&(this[t(331)][t(424)](),this[t(331)]=null),this[t(364)]&&(this[t(364)][t(424)](),this._playlist=null),this.player[t(347)](this[t(358)],t(409))}[FT(435)](){const t=FT;this[t(340)](),this[t(368)]=setTimeout((()=>{this[t(321)]()}),this._tickInterval)}[FT(340)](){const t=FT;this[t(368)]&&clearTimeout(this[t(368)]),this._tickTimer=null}[FT(321)](){const t=FT;this.player.isDestroyedOrClosed()?this.player[t(347)](this.TAG_NAME,t(385)):(this[t(435)](),this[t(375)]())}get[FT(337)](){const t=FT;return this[t(364)][t(337)]}get[FT(427)](){const t=FT;return this[t(364)][t(427)]}get currentStream(){const t=FT;return this._playlist[t(339)]}get[FT(400)](){return this[FT(364)].hasSubtitle}get[FT(395)](){const t=FT;var e;return null===(e=this[t(322)])||void 0===e?void 0:e[t(395)]}[FT(392)](){const t=FT;return this[t(331)][t(392)]()}[FT(393)](){const t=FT;this[t(331)][t(393)]()}getStats(){const t=FT;return this[t(293)][t(361)]()}async[FT(434)](t){const e=FT;return await this[e(349)](),await this[e(327)](t),this._startTick(),!0}async[FT(327)](t){const e=FT;try{t&&(t=t[e(283)]())}catch(t){}if(!t)throw this[e(359)](new GE(WE[e(431)],WE.OTHER,null,null,e(287)));const s=await this._loadM3U8(t),{currentStream:i}=this[e(364)];if(this[e(436)]){var r,n;if(0===i[e(362)]&&null!==(r=this[e(292)])&&void 0!==r&&r[e(362)])i[e(362)]=null===(n=this[e(292)])||void 0===n?void 0:n[e(362)];const t=this[e(376)]();this.config[e(406)]=t;const s=this[e(364)][e(329)](t),o=this[e(364)][e(278)](s+1);if(o){const t=o[e(365)];this[e(326)][e(342)](this.TAG_NAME,"clear buffer from "+t)}}s&&(this[e(337)]?(this[e(326)].debugLog(this.TAG_NAME,"is live"),this[e(322)].setLiveSeekableRange(0,4294967295),this[e(419)].targetLatency{const s=t;let[i,a,h]=e;i?(this._playlist[s(344)](i,a,h),this[s(337)]&&this[s(442)](r,n,o)):this[s(326)][s(342)](this[s(358)],s(429))}))[t(423)]((e=>{const s=t;throw this._emitError(GE[s(333)](e))}))}_pollM3U8(t,e,s){const i=FT;var r;let n=this[i(364)].isEmpty;this[i(319)][i(338)](t,e,s,((t,e,s)=>{const r=i;this[r(364)][r(344)](t,e,s),this[r(364)][r(383)](),t&&n&&!this[r(364)][r(408)]&&this[r(375)](),n&&(n=this[r(364)].isEmpty)}),(t=>{const e=i;this[e(359)](GE[e(333)](t))}),1e3*((null===(r=this[i(364)][i(433)])||void 0===r?void 0:r[i(411)])||0))}async[FT(308)](){const t=FT,e=this[t(364)][t(381)];if(!e)return void this[t(326)][t(347)](this.TAG_NAME,"_loadSegmentDirect() !seg");let s=!1,i=null;try{this[t(276)]=!0,s=await this[t(277)](e,this[t(364)][t(389)](e))}catch(t){i=t}finally{this[t(276)]=!1}return i?this[t(359)](GE[t(333)](i)):(s?(this[t(436)]&&(this[t(436)]=!1,this.emit(_t[t(438)],{url:this[t(419)].url})),this[t(364)][t(341)](),this[t(326)][t(347)](this[t(358)],"_loadSegmentDirect()","seg.isLast",e[t(352)]),e.isLast?(this[t(326)][t(347)](this.TAG_NAME,"_loadSegmentDirect()","seg.isLast"),this[t(286)]()):(this.player[t(347)](this[t(358)],t(282),t(300)),this._loadSegment())):this.player.debugLog(this[t(358)],t(418)),s)}async[FT(277)](t,e){const s=FT;this[s(326)].debugLog(this[s(358)],s(332),t&&t[s(384)],s(440),e&&e.url);const i=t?t.cc:e.cc,r=this[s(311)]!==i;let n=[];try{n=await this[s(331)].load(t,e,r)}catch(t){throw t.fatal=!1,this[s(331)][s(396)]=t,t}if(!n[0])return;const o=await this[s(322)].decryptBuffer(...n);if(!o)return void this.player[s(347)](this[s(358)],s(313));const a=t?t.sn:e.sn,h=t?t.start:e.start,c=this[s(364)][s(339)];return this._bufferService[s(373)](o[0],o[1],null==c?void 0:c[s(380)],null==c?void 0:c[s(304)]),await this._bufferService[s(372)](t,e,o[0],o[1],r,this[s(370)]===a-1,h),this._prevSegCc=i,this[s(370)]=a,!0}async[FT(421)](){const t=FT;this[t(326)].debugLog(this[t(358)],"_clear()"),clearTimeout(this[t(432)]),this[t(340)](),await Promise[t(422)]([this[t(331)][t(363)](),this[t(319)][t(391)]()]),this._segmentProcessing=!1}async _reset(){const t=FT;let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.player[t(347)](this[t(358)],t(426)),this._reloadOnPlay=!1,this[t(370)]=null,this[t(311)]=null,this[t(292)]=null,this[t(302)]=0,this[t(364)][t(444)](),this[t(331)].reset(),this[t(407)][t(444)](),this[t(293)][t(444)](),await this[t(421)](),this[t(322)][t(444)](e)}[FT(286)](){const t=FT;this[t(326)][t(347)](this[t(358)],t(441)),this._clear()}[FT(359)](t){const e=FT;var s;let i=arguments[e(437)]>1&&void 0!==arguments[1]&&arguments[1];var r;!1===(null===(s=t[e(299)])||void 0===s?void 0:s[e(443)])?console.warn(t):(console[e(336)](t),console.error(t),console[e(396)](null===(r=this[e(401)])||void 0===r?void 0:r[e(396)]),this[e(340)](),this._urlSwitching&&(this[e(436)]=!1,this[e(334)](_t[e(430)],t)),i&&this[e(286)](),this[e(407)][e(444)](),this[e(334)](_t[e(353)],t));return t}[FT(376)](){const t=FT,{media:e}=this;let s=e.currentTime;if(!e.paused){var i;const r=this._playlist[t(329)](e.currentTime),n=this._playlist.getSegmentByIndex(r),o=null===(i=this[t(293)])||void 0===i?void 0:i.getStats()[t(314)];if(o&&n){s+=n[t(411)]*this[t(364)][t(339)][t(362)]/o+1}else s+=5}return s}async onPlay(){const t=FT;this[t(326)][t(388)][t(346)](this[t(358)],"onPlay()"),this[t(322)][t(295)](),await this._loadSegment(),this[t(435)]()}[FT(281)](){const t=FT;this[t(326)].debug[t(346)](this[t(358)],t(357)),this[t(322)][t(296)](),this[t(340)](),this[t(331)][t(444)]()}async[FT(412)](t){t?this.onPause():await this.onPlay()}async[FT(317)](t){const e=FT;this[e(326)][e(388)][e(346)](this[e(358)],"listen playVodSeek",t);const s=this._bufferService[e(285)]();if(this.player[e(388)][e(346)](this[e(358)],e(298),s),s&&s.start<=t&&t<=s[e(403)])return this[e(326)][e(388)][e(346)](this[e(358)],e(298),s,e(398)),void this[e(322)][e(305)](t);const i=this._playlist[e(329)](t),r=this[e(364)][e(278)](i);null==i||!r||this[e(276)]&&r===this._playlist[e(381)]||(this[e(326)][e(388)].log(this.TAG_NAME,"onSeeking() seek to "+t+e(374)+i+e(351),r),this[e(322)][e(377)](t),this._playlist[e(371)](i),this[e(340)](),this[e(302)]=0,await this._segmentLoader.cancel(),await this._loadSegmentDirect(),this[e(435)]())}async onVideoSeeking(t){const e=FT;this[e(326)].debug.log(this[e(358)],e(328),t);const s=this[e(364)][e(425)];if(this.player[e(347)](this[e(358)],"onVideoSeeking() and seekRange is",s,e(324),t),s){const i=ze(t,s[0]+.1,s[1]-.1);if(i>=0&&Math[e(390)](t-i)>=.1)return this[e(326)][e(347)](this.TAG_NAME,e(379),i),void(this[e(326)].video[e(399)].currentTime=i)}await this[e(317)](t)}[FT(330)](){return this[FT(322)].getBuferredDuration()||0}[FT(378)](){const t=FT;return this._bufferService[t(291)]()||0}[FT(306)](){return this[FT(322)].getBufferedAudioSegments()||0}[FT(414)](){const t=FT;return this[t(322)][t(415)]()||0}}const NT=zT;function VT(){const t=["TAG_NAME","bandwidthEstimateInterval","ERROR","hls","destroy","getDemuxBuferredDuration","2090036VPtvTa","checkHlsBufferedDelay","816135zXlOgQ","$videoElement","url","video","resetBandwidth","getDemuxBufferedListLength","_stopBandwidthEstimateInterval","toFixed","310XsRMjJ","4680725bFxZRP","forEach","5197815MZdbaE","speedInfo","3871920kwtsNZ","hlsError","player","length","getDemuxAudioBufferedListLength","19468728SDnHlg","eventsDestroy","_bindEvents","kBps","debugLog","12447xLlesV","loadSource","getDemuxVideoBufferedListLength","_startBandwidthEstimateInterval","emit"];return(VT=function(){return t})()}function zT(t,e){const s=VT();return(zT=function(t,e){return s[t-=227]})(t,e)}!function(t,e){const s=zT,i=t();for(;;)try{if(611066===parseInt(s(258))/1+parseInt(s(230))/2*(parseInt(s(245))/3)+parseInt(s(256))/4+parseInt(s(233))/5+-parseInt(s(235))/6+parseInt(s(231))/7+-parseInt(s(240))/8)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(VT);class WT extends n{constructor(t){const e=zT;super(),If(this,e(250),"Hls256Decoder"),this[e(237)]=t,this[e(259)]=this.player[e(261)][e(259)],this[e(253)]=null,this.eventsDestroy=[],this[e(251)]=null,this[e(253)]=new jT(t),this[e(242)]()}async destroy(){const t=zT;return this[t(228)](),this[t(253)]&&(await this[t(253)][t(254)](),this[t(253)]=null),this[t(241)][t(238)]&&(this[t(241)][t(232)]((t=>t())),this[t(241)]=[]),this[t(259)]=null,this[t(237)][t(244)](this[t(250)],t(254)),!0}[NT(242)](){const t=NT;this[t(253)].on(_t[t(252)],(e=>{const s=t;this[s(237)].emitError(N[s(236)],e)}))}[NT(248)](){const t=NT;this[t(228)](),this[t(251)]=setInterval((()=>{const e=t,s=this[e(253)][e(234)]();this[e(237)][e(249)](O[e(243)],(s.avgSpeed/1024/8)[e(229)](2)),this[e(253)][e(262)]()}),1e3)}[NT(228)](){const t=NT;this[t(251)]&&(clearInterval(this[t(251)]),this[t(251)]=null)}async loadSource(t){const e=NT;return this[e(260)]=t,await this[e(253)][e(246)](t),this[e(248)](),!0}[NT(257)](){const t=NT;let e=0;return this[t(253)]&&(e=this[t(253)][t(255)]()),e}[NT(227)](){const t=NT;let e=0;return this[t(253)]&&(e=this[t(253)][t(227)]()),e}[NT(239)](){const t=NT;let e=0;return this.hls&&(e=this[t(253)][t(239)]()),e}[NT(247)](){const t=NT;let e=0;return this[t(253)]&&(e=this[t(253)].getDemuxVideoBufferedListLength()),e}}function GT(t,e){const s=QT,i=t.trak;if(!i||!i[s(182)])return;const r=i[s(207)]((t=>{var e,i;return"vide"===(null===(e=t[s(189)])||void 0===e||null===(i=e.hdlr)||void 0===i?void 0:i.handlerType)})),n=i.find((t=>{const e=s;var i,r;return(null===(i=t[e(189)])||void 0===i||null===(r=i[e(168)])||void 0===r?void 0:r[e(165)])===e(211)}));if(!r&&!n)return;let o,a=[],h=[];if(r){var c,l,d;const t=null===(c=r[s(189)])||void 0===c||null===(l=c[s(187)])||void 0===l?void 0:l[s(204)];if(!t)return;const i=null===(d=r[s(189)].mdhd)||void 0===d?void 0:d[s(206)],{stts:n,stsc:h,stsz:u,stco:p,stss:f,ctts:m}=t;if(!(i&&n&&h&&u&&p&&f))return;a=HT(e,i,n,h,u,p,f,m),o=a[s(160)]((t=>t[s(198)]))}if(n){var u,p,f;const t=null===(u=n[s(189)])||void 0===u||null===(p=u[s(187)])||void 0===p?void 0:p.stbl;if(!t)return;const i=null===(f=n.mdia[s(192)])||void 0===f?void 0:f[s(206)],{stts:r,stsc:a,stsz:c,stco:l}=t;if(!(i&&r&&a&&c&&l))return;h=HT(e,i,r,a,c,l,null,null,o)}return{videoSegments:a,audioSegments:h}}function HT(t,e,s,i,r,n,o,a,h){const c=QT,l=[],d=[],u=[],p=i[c(184)],f=n.entries,m=r.entrySizes,g=null==o?void 0:o[c(184)],A=null==a?void 0:a[c(184)];let y,b;A&&(y=[],A[c(205)]((t=>{const e=c;let{count:s,offset:i}=t;for(let t=0;t{b[t-1]=!0})));let v,w,S=0,E=0,I=0,T=0,k=0,_=p[0].samplesPerChunk,C=p[1]?p[1][c(203)]-1:1/0,R=0,D=-1;s[c(184)][c(205)]((t=>{const e=c;let{count:s,delta:i}=t;w=i;for(let t=0;t=C&&(T++,C=p[T+1]?p[T+1][e(203)]-1:1/0),_+=p[T][e(195)])}));const x=l[c(182)];if(!x||o&&!l[0][c(161)])return;const L=[];let P,M=[],B=0,F=0;const O=t=>{const s=c;var i;P=M[M[s(182)]-1],L.push({index:L.length,startTime:(null===(i=L[L[s(182)]-1])||void 0===i?void 0:i[s(209)])||M[0][s(181)]/e,endTime:(P.startTime+P.duration)/e,duration:t,range:[M[0][s(178)],P.offset+P[s(174)]],frames:M}),B=0,M=[]};if(o){const s=t*e;for(let t=0,i=d[c(182)];ts)&&O(B/e):O(B/e)}else{let s=(h=h||[])[0]||t;for(let i=0;i=x||r+F>=s)&&(F+=r-s,O(r),s=h[L[c(182)]]||t)}}return L}function KT(){const t=["handlerType","58HkNiuu","1419028bdnKTP","hdlr","number","width","push","byteLength","408010TOguTu","size","tenc","join","sampleSize","offset","avcC","height","startTime","length","mvhd","entries","vide","default_KID","minf","hvcC","mdia","1242346zubFud","663825JVJPko","mdhd","enca","encv","samplesPerChunk","77730sCAWxf","schi","duration","type","6RroddB","2170840wbadxy","stsd","firstChunk","stbl","forEach","timescale","find","12869uxSIyy","endTime","sinf","soun","pts","sampleRate","gopId","filter","codec","map","keyframe","esds","trak","18cJqchH"];return(KT=function(){return t})()}function QT(t,e){const s=KT();return(QT=function(t,e){return s[t-=160]})(t,e)}function YT(t){const e=QT;let s="",i="",r=0,n=0,o=0,a=0,h=0,c=0,l=0;t[e(183)]&&(h=t[e(183)][e(198)]/t.mvhd[e(206)]);const d=t[e(163)];if(d){const C=d[e(207)]((t=>{const s=e;var i,r;return(null===(i=t.mdia)||void 0===i||null===(r=i.hdlr)||void 0===r?void 0:r[s(165)])===s(185)})),R=d[e(207)]((t=>{const s=e;var i,r;return(null===(i=t[s(189)])||void 0===i||null===(r=i[s(168)])||void 0===r?void 0:r[s(165)])===s(211)}));let D,x=null;var u,p,f,m,g,A,y,b,v,w,S,E,I,T,k,_;if(C)if(x=null===(u=C.mdia)||void 0===u||null===(p=u[e(187)])||void 0===p||null===(f=p[e(204)])||void 0===f?void 0:f[e(202)].entries[0],x)if(r=x[e(170)],n=x[e(180)],c=null===(m=C.mdia)||void 0===m||null===(g=m.mdhd)||void 0===g?void 0:g[e(206)],s=null===(A=x[e(179)]||x[e(188)])||void 0===A?void 0:A.codec,x.type===e(194))D=null===(y=x[e(210)])||void 0===y||null===(b=y[e(197)])||void 0===b?void 0:b[e(175)][e(186)];if(R)if(x=null===(v=R.mdia)||void 0===v||null===(w=v.minf)||void 0===w||null===(S=w.stbl)||void 0===S?void 0:S[e(202)][e(184)][0],x)if(o=x.channelCount,a=x[e(213)],i=null===(E=x[e(162)])||void 0===E?void 0:E[e(216)],l=null===(I=R[e(189)])||void 0===I||null===(T=I.mdhd)||void 0===T?void 0:T[e(206)],x[e(199)]===e(193))D=D||(null===(k=x[e(210)])||void 0===k||null===(_=k[e(197)])||void 0===_?void 0:_[e(175)].default_KID);return{kid:D?D[e(176)](""):null,videoCodec:s,audioCodec:i,width:r,height:n,videoTimescale:c,audioChannelCount:o,audioSampleRate:a,duration:h,audioTimescale:l,moov:t}}}function qT(t){return typeof t===QT(169)&&!Number.isNaN(t)}function JT(){const t=QT;for(var e=arguments.length,s=new Array(e),i=0;ie+s[t(172)]),0));let n=0;return s[t(205)]((t=>{r.set(t,n),n+=t.byteLength})),r}function XT(){var t=["872305tqzmRG","4548192tSDhdK","get","create","3694185MpFctj","271143QjadtY","2336812GMXDNt","_data","set","16RyZHsr","clear","717683YBKNuV","17029107RbKHDv","40yjHLjg","10POMXpi"];return(XT=function(){return t})()}!function(t,e){const s=QT,i=t();for(;;)try{if(267540===-parseInt(s(208))/1*(-parseInt(s(166))/2)+parseInt(s(191))/3+-parseInt(s(167))/4+parseInt(s(196))/5*(parseInt(s(200))/6)+-parseInt(s(190))/7+parseInt(s(201))/8+parseInt(s(164))/9*(-parseInt(s(173))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(KT);var ZT=$T;function $T(t,e){var s=XT();return($T=function(t,e){return s[t-=150]})(t,e)}!function(t,e){for(var s=$T,i=t();;)try{if(393325===-parseInt(s(152))/1+-parseInt(s(150))/2*(parseInt(s(161))/3)+parseInt(s(162))/4+parseInt(s(160))/5+-parseInt(s(157))/6+-parseInt(s(156))/7*(parseInt(s(154))/8)+-parseInt(s(153))/9*(-parseInt(s(155))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(XT);class tk{constructor(){var t=$T;If(this,t(163),Object[t(159)](null))}[ZT(164)](t,e){this[ZT(163)][t]=e}[ZT(158)](t){return this[ZT(163)][t]}[ZT(151)](){this[ZT(163)]=Object.create(null)}}const ek=sk;function sk(t,e){const s=ik();return(sk=function(t,e){return s[t-=162]})(t,e)}function ik(){const t=[",dataLen,","_config","[loadMetaProcess],data not done,setstate false,[","130773EdMncM","cancel","MP4Loader","78310FaOdXW","downloadInfo","maxDownloadInfoSize","isSegmentLoading","[loadMetaProcess],data done,setstate true,[","data","preload","_getCacheKey","findBox","_currentLoadingSegmentIndex","18057314IVhPni","getSegmentByTime","_bufferService","18RbfjKB","range","player","videoSegments","loadMetaProcess","[load moov end!!!!!]","length","push","cache","[loadMetaProcess],task,[","cannot parse moov box","TAG_NAME","max","buffer","cannot find moov box","[loadMetaProcess],moov not all, range,","slice","mp4","changeUrl","clear","loadSegmentByTime","[loadMetaProcess start], range,","endTime","_currentSegmentIndex","_loader","start","setCurrentSegment","min","debugLog","_error","meta","2CQHRrz","startTime","byteLength","927jcBndK","segmentDuration","arraybuffer","vid","loadCacheMeta","moov","index","40950923AdZkkv","find","destroy","665776WvDmjg","isMetaLoaded","110pzuREr","12yAdhIF","moovEnd","loadData","647944pnzZyZ",",err,","video","77GmpBcR","isLastSegment","12492CDdofV","mdat","loadMeta","_transformError","duration","load","cannot find moov or mdat box","size","audioSegments","url","init","[loadMetaProcess] moov ok","get","reset","_loadSegment"];return(ik=function(){return t})()}!function(t,e){const s=sk,i=t();for(;;)try{if(894614===-parseInt(s(231))/1*(-parseInt(s(189))/2)+-parseInt(s(247))/3*(-parseInt(s(202))/4)+parseInt(s(204))/5*(-parseInt(s(213))/6)+parseInt(s(211))/7*(-parseInt(s(208))/8)+-parseInt(s(192))/9*(parseInt(s(234))/10)+-parseInt(s(244))/11+parseInt(s(205))/12*(parseInt(s(199))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ik);class rk extends n{constructor(t,e){const s=sk;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var r;super(),If(this,s(216),(t=>t)),this[s(169)]=s(233),this[s(229)]=(r=i,{vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:sk(194),cache:null,...r});const{vid:n,cache:o,...a}=this._config;this[s(175)]=t,this.player=e,this[s(195)]=n||a[s(222)],this[s(222)]=a.url,this.meta={},this[s(235)]=[],this[s(250)]=[],this[s(221)]=[],this[s(166)]=new tk,this[s(181)]=-1,this[s(243)]=-1,this.buffer,this[s(187)],this[s(182)]=new jE(a,e),this._loader.on("real_time_speed",(t=>{})),this[s(249)][s(186)](this[s(169)],s(223))}async[ek(201)](){const t=ek;await this[t(226)](),this[t(166)].clear(),this[t(249)].debugLog(this[t(169)],"destroy")}get isMetaLoaded(){const t=ek;return this.videoSegments[t(164)]||this[t(221)][t(164)]}[ek(184)](t){qT(t)&&(this._currentSegmentIndex=t)}[ek(212)](t){const e=ek;if(qT(t)){var s,i;return t>=((null===(s=this[e(250)][this[e(250)][e(164)]-1])||void 0===s?void 0:s.index)||(null===(i=this.audioSegments[this[e(221)][e(164)]-1])||void 0===i?void 0:i[e(198)])||0)}return!1}[ek(237)](t){return t===this[ek(243)]}async[ek(176)](t){const e=ek;let s=arguments[e(164)]>1&&void 0!==arguments[1]?arguments[1]:t,i=arguments[e(164)]>2?arguments[2]:void 0,r=arguments[e(164)]>3?arguments[3]:void 0;await this[e(226)](r),t&&(this[e(222)]=t),s&&(this[e(195)]=s),i&&(this._config.moovEnd=i)}async getOrLoadMeta(t){const e=ek;return!this[e(203)]&&await this[e(215)](t),this[e(188)]}async[ek(162)](t,e,s,i){const r=ek;let[n,o]=e;this[r(187)]=!1,this[r(249)][r(186)](this.TAG_NAME,r(179),[n,o]);await this[r(207)]([n,o||this._config[r(206)]],t,{onProgress:async(e,a,h)=>{const c=r;if(this[c(188)]&&null!=h&&h[c(248)]&&h.range[c(164)]>0&&h[c(248)][1]>=o&&(a=!0,this[c(249)][c(186)](this[c(169)],c(238),n,o,"]")),a&&null!=h&&h[c(248)]&&h[c(248)].length>0&&h[c(248)][1]0&&s(e,a,h),!this[c(188)].moov&&!this[c(187)]&&e&&e.byteLength>0){this[c(171)]=JT(this[c(171)],e);let r=sT.findBox(this.buffer,[c(197)])[0];if(!r){const e=sT[c(242)](this.buffer,["mdat"])[0];if(a){if(!e)return this[c(187)]=!0,void s(null,a,h,{err:c(219)});{const s=e.start+e[c(220)],n=await this[c(207)]([s,""],t,i);n&&(r=sT[c(242)](n[c(239)],[c(197)])[0])}}}if(r&&a&&r[c(220)]>r[c(239)][c(164)]&&(this[c(249)].debugLog(this.TAG_NAME,c(173),h[c(248)][1],c(228),this.buffer[c(191)],", state,",a),await this[c(162)](t,[h[c(248)][1],r[c(183)]+r[c(220)]-1],s)),r&&r[c(220)]<=r[c(239)][c(164)]&&!this[c(188)][c(197)]){const t=sT.moov(r);if(!t)return this[c(187)]=!0,void s(null,a,h,{err:c(168)});const e=GT(t,this[c(229)].segmentDuration);if(!e)return this[c(187)]=!0,void s(null,a,h,{err:"cannot parse segments"});this[c(188)]=YT(t);const{videoSegments:i,audioSegments:n}=e;this.videoSegments=i,this[c(221)]=n,this[c(249)].debugLog(this.TAG_NAME,c(224)),s(void 0,a,{meta:{meta:this[c(188)],videoSegments:i,audioSegments:n}})}}},...i})}async[ek(215)](t,e,s){const i=ek,r=[];this[i(249)][i(186)](this[i(169)],"[loadMeta start]");let n=await this.loadData([0,e||this[i(229)][i(206)]],t,s);if(!n)return;r[i(165)](n);let o=sT[i(242)](n[i(239)],[i(197)])[0];if(!o){const e=sT[i(242)](n[i(239)],[i(214)])[0];if(!e)throw new MediaError(i(219),n.data);const a=e[i(183)]+e.size;if(n=await this.loadData([a],t,s),!n)return;if(r[i(165)](n),o=sT[i(242)](n[i(239)],["moov"],a)[0],!o)throw new MediaError(i(172),n[i(239)])}if(o[i(220)]>o[i(239)][i(164)]){if(n=await this[i(207)]([n[i(239)][i(164)],o[i(183)]+o.size-1],t,s),!n)return;r[i(165)](n),o[i(239)]=JT(o[i(239)],n.data)}const a=sT[i(197)](o);if(!a)throw new MediaError(i(168),o.data);const h=GT(a,this[i(229)][i(193)]);if(!h)throw new MediaError("cannot parse segments",o[i(239)]);this[i(188)]=YT(a);const{videoSegments:c,audioSegments:l}=h;return this[i(250)]=c,this[i(221)]=l,this.player[i(186)](this[i(169)],i(163),this[i(188)],c,l),this.meta&&this[i(175)][i(246)].updateDuration(this.meta[i(217)]),{meta:this[i(188)],videoSegments:c,audioSegments:l,responses:r}}[ek(196)](t,e){const s=ek,{moov:i}=t,r=GT(i,this[s(229)][s(193)]),{videoSegments:n,audioSegments:o}=r;this[s(250)]=n,this[s(221)]=o,this._currentSegmentIndex=e,this[s(188)]=t}[ek(245)](t){const e=ek;let s,i;return this[e(250)][e(164)]?(s=this[e(250)][e(200)]((s=>s[e(190)]<=t&&s[e(180)]>t)),s&&(i=this.audioSegments[s[e(198)]])):i=this[e(221)][e(200)]((s=>s.startTime<=t&&s[e(180)]>t)),{video:s,audio:i}}async[ek(178)](t,e){const s=ek;let i=!(arguments[s(164)]>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};!this[s(203)]&&await this[s(215)](e);const{video:n,audio:o}=this[s(245)](t);return this[s(227)](n,o,e,i,r)}async loadNextSegment(t){const e=ek;let s=!(arguments[e(164)]>1&&void 0!==arguments[1])||arguments[1],i=arguments[e(164)]>2&&void 0!==arguments[2]?arguments[2]:{};!this[e(203)]&&await this[e(215)]();const r=this[e(250)][this[e(181)]+1],n=this[e(221)][this._currentSegmentIndex+1];return this[e(227)](r,n,t,s,i)}async[ek(240)](t){const e=ek;if(!this.isMetaLoaded&&await this[e(215)](!0),!t||t<0)return;const{video:s,audio:i}=this[e(245)](t),r=Math[e(170)]((null==s?void 0:s.index)||0,(null==i?void 0:i[e(198)])||0);if(!r)return;const n=this[e(250)][e(174)](0,r),o=this[e(221)][e(174)](0,r),a=async t=>{const s=e;t>r||(await this[s(227)](n[t],o[t],!0,!1),await a(t+1))};await a(0)}cancel(){const t=ek;return this._loader[t(232)]()}async[ek(226)](){const t=ek;!(arguments[t(164)]>0&&void 0!==arguments[0]&&arguments[0])&&(this.player.debugLog(this[t(169)],"[MP4loader reset func call loader.cancel]"),await this[t(182)][t(232)]()),this[t(195)]=this[t(222)]="",this.meta={},this[t(235)]=[],this[t(250)]=[],this[t(221)]=[],this._currentSegmentIndex=-1,this[t(243)]=-1}async[ek(201)](){const t=ek;await this[t(226)](),this.cache[t(177)]()}async[ek(227)](t,e,s,i,r){const n=ek;if(!t&&!e)return;const o=(null==t?void 0:t[n(198)])||(null==e?void 0:e[n(198)])||0;let a;this[n(243)]=o;try{a=await this[n(207)]([Math[n(185)]((null==t?void 0:t[n(248)][0])||1/0,(null==e?void 0:e[n(248)][0])||1/0),Math.max((null==t?void 0:t[n(248)][1])||0,(null==e?void 0:e[n(248)][1])||0)],s,r)}finally{this[n(243)]=-1}return a?(i&&(this[n(181)]=o),a[n(210)]=t,a.audio=e,a):void 0}async[ek(207)](t,e,s){const i=ek,r=this[i(241)](t),n=await this[i(166)][i(225)](r);let o;if(n)o={data:n,state:!0,options:{fromCache:!0,range:t,vid:this.vid}};else{const e=s&&s[i(222)]?s[i(222)]:this[i(222)];o=await this[i(182)][i(218)](e,{range:t,vid:this.vid,...s})}if(o)return!n&&(o[i(239)]&&this[i(235)].push({startTime:o[i(190)],endTime:o[i(180)],size:o.data.byteLength,range:t}),this[i(235)]&&this[i(235)].length>this._config[i(236)]&&(this.downloadInfo=this.downloadInfo.slice(-this[i(229)].maxDownloadInfoSize))),o}[ek(241)](t){const e=ek;return(this[e(195)]||this[e(222)])+":"+t}}const nk=ak;function ok(){const t=["samples","videoTrack","223838VvQPLZ","allListLength","onmessage","videoSenc","codec","keyframe","tempSampleListInfo","duration","push","1617639fRhtRx","length","_doDecodeVideo","sps","buferredDuration","isHevc","isUseMSE","getSampleRange","audioTrack","77592Sjuwtp","URL","isPlayVod","getBuferredDuration","mp4","type","455GMdDXY","_opt","_hasCalcFps","set","buffer","cryptoPayload","slice","_calcDecodeFps","emit","geVodLoadedTime","playVodRateChange","workerClearTimeout","clearBuffer","videoSamples","_sendAccADTSHeader","aac","initAudioTrack","4059jsESOU","demux","updatePlayRate","vps","revokeObjectURL","isIFrame","baseMediaDecodeTime","moovToTrack","video","getSampleVideoListLength","player","debugUuid","decodeAudio","sample","_isUseWorker","parseSamples","subarray","audioSenc","1hcVCow","_audioSamples","_lastRemainBuffer","startPts","loopWorker","decoderData","pts","pause","concat","cannot parse samples from moov box","useEME","timescale","sampleOffset","cleanSampleListAndSetSeekTime","cleanSampleList","dts","payload","byteLength","updateStats","postMessage","checkInitVideo","start","offset","sampleRate","loop worker is not init, can not post message","cmd","gopId","_doDecodeByMp4","pps","resume","endPts","sampleRateIndex","5703190ZQLotV","initVideoTrack","10488LjKKCq","audioSamples","Mp4Demux","_lastRemainBufferStartPos","size","2860888psfNwp","checkInitAudio","max","_videoSamples","TAG_NAME","destroy","11gGbtja","audio","isInitVideo","cannot found video frame #","20722356nwZuCt","_postMessageToLoopWorker","sort","audioListLength","isInitAudio","decodeVideo","isPlayVodNotUseMSE","seekSampleRange","errorMessage","kidValue","codecType","videoListLength","workerUrl","debug","getSampleListLength","_doDecodeAudio","5nKKcAl","_basefps","channelCount"];return(ok=function(){return t})()}function ak(t,e){const s=ok();return(ak=function(t,e){return s[t-=148]})(t,e)}!function(t,e){const s=ak,i=t();for(;;)try{if(501013===parseInt(s(200))/1*(parseInt(s(270))/2)+parseInt(s(150))/3+parseInt(s(239))/4*(parseInt(s(265))/5)+-parseInt(s(159))/6*(-parseInt(s(165))/7)+-parseInt(s(234))/8*(-parseInt(s(182))/9)+parseInt(s(232))/10*(-parseInt(s(245))/11)+-parseInt(s(249))/12)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(ok);class hk extends sp{constructor(t){const e=ak;super(t),this[e(192)]=t,this[e(243)]=e(236),this._videoSamples=[],this[e(201)]=[],this._lastRemainBuffer=[],this[e(237)]=0,this[e(269)]=hk[e(233)](),this[e(158)]=hk.initAudioTrack(),this[e(247)]=!1,this.isInitAudio=!1,this[e(155)]=!1,this[e(276)]={},this._hasCalcFps=!1,this[e(266)]=25,this[e(196)]()&&this._initLoopWorker(),this[e(192)][e(161)]()&&this[e(196)]()&&this[e(192)].on(O[e(175)],(t=>{const s=e;this[s(192)].debugLog(this.TAG_NAME,"listen playVodRateChange",t),this[s(250)](s(184),{rate:t})}))}[nk(244)](){const t=nk;super[t(244)](),this[t(276)]={},this._basefps=25}static initVideoTrack(){return{id:1,samples:[],sps:[],pps:[],vps:[],codec:""}}static initAudioTrack(){return{id:2,samples:[],sampleRate:0,channelCount:0,codec:"",codecType:""}}[nk(197)](t){const e=nk;if(!t)throw new Error("moov is required");if(!this.videoTrack[e(274)]&&!this[e(158)].codec&&(sT[e(189)](t,this[e(269)],this[e(158)]),this[e(273)]=this[e(269)][e(273)],this.audioSenc=this[e(158)][e(199)],this[e(220)]()&&this[e(179)](this[e(158)]),this[e(240)]())){let t=null;this[e(269)][e(259)]===ft.h265?this.videoTrack[e(153)][e(151)]&&this[e(269)][e(185)].length&&this[e(269)][e(228)][e(151)]&&(t=nh({sps:this[e(269)].sps[0],pps:this[e(269)][e(228)][0],vps:this[e(269)][e(185)][0]})):this.videoTrack.sps[e(151)]&&this.videoTrack[e(228)].length&&(t=xa({sps:this.videoTrack[e(153)][0],pps:this[e(269)][e(228)][0]})),t&&this[e(227)](t,L[e(190)],0,!0,0)}if(!this[e(201)].length&&!this[e(242)][e(151)]){const s=sT.moovToSamples(t);if(!s)throw new Error(e(209));this[e(242)]=s[e(178)]||[],this._audioSamples=s[e(235)]||[]}}[nk(183)](t,e,s,i,r){const n=nk;this[n(240)](),this.checkInitVideo(),this[n(197)](r);const o=this.videoTrack,a=this[n(158)];let h,c,l;if(o.samples=[],a[n(268)]=[],s){let i;for(let r=s[0],a=s[1];r<=a;r++){if(h=this[n(242)][r],!h)throw new Error(n(248)+r);l=h.offset-e,c=t.subarray(l,l+h[n(238)]),i={type:L[n(190)],dts:1e3*h[n(215)]/o[n(211)],pts:1e3*(h[n(206)]||h.dts)/o[n(211)],units:[],payload:null,isIFrame:!1},i[n(148)]=h[n(148)],i.gopId=h[n(226)],h[n(275)]&&(i[n(187)]=!0),i[n(216)]=c,o[n(268)][n(149)](i)}o[n(188)]=o[n(268)][0][n(215)]}if(i){for(let s=i[0],r=i[1];s<=r;s++){if(h=this[n(201)][s],!h)throw new Error(n(248)+s);l=h[n(222)]-e,c=t[n(198)](l,l+h[n(238)]);const i=1e3*h[n(215)]/a[n(211)],r=new Uint8Array(c[n(151)]+2);r.set([175,1],0),r[n(168)](c,2),a.samples.push({type:L[n(246)],dts:i,pts:i,payload:r,duration:h[n(148)],size:r.byteLength})}a[n(188)]=a[n(268)][0][n(215)]}const d=o.samples[n(208)](a[n(268)]);d[n(251)](((t,e)=>{const s=n;return t[s(215)]-e[s(215)]})),d.forEach((t=>{const e=n,s=new Uint8Array(t[e(216)]);delete t.payload,this._isUseWorker()?this[e(204)][e(219)]({...t,payload:s,cmd:e(195)},[s[e(169)]]):t[e(164)]===L[e(190)]?this[e(152)]({...t,payload:s}):t[e(164)]===L[e(246)]&&this[e(264)]({...t,payload:s})})),ii(this[n(167)])&&this[n(196)]()&&(this[n(167)]=this[n(172)](d))}demuxPart(t,e,s,i,r,n,o,a){const h=nk;if(this[h(240)](),this[h(220)](),this[h(197)](r),this[h(269)][h(210)]=n,this[h(158)][h(210)]=n,this._lastRemainBuffer&&this[h(202)].byteLength>0&&e>this._lastRemainBufferStartPos&&e<=this[h(237)]+this._lastRemainBuffer[h(217)]){let s=0;for(;s<20;)try{const s=this[h(202)].subarray(0,e-this[h(237)]),i=new Uint8Array(t[h(217)]+s[h(217)]);i.set(s,0),i[h(168)](new Uint8Array(t),s[h(217)]),t=i,e-=s[h(217)],this[h(202)]=null,this[h(237)]=0;break}catch(t){if(!(s<20))throw new Error("new Uint8Array error:,"+t[h(257)]);s++}}const c=this[h(269)],l=this[h(158)];c.samples=[],l[h(268)]=[],c[h(273)]=null,l[h(199)]=null;let d,u,p,f=0,m=0;if(this._videoSamples[h(151)]>0&&s.length>0){let i;const r=t[h(217)]+e;for(let n=s[0];n<=s[1];n++){if(d=this[h(242)][n],!d)throw new Error("cannot found video frame #"+n);d[h(222)]>=e&&d[h(222)]+d.size<=r&&(p=d.offset-e,f=p+d[h(238)],u=t[h(198)](p,f),i={type:L[h(190)],dts:d.dts,pts:d.pts||d.dts,units:[],payload:null,isIFrame:!1},i[h(148)]=d[h(148)],i.gopId=d[h(226)],i[h(212)]=d.index,d[h(275)]&&(i[h(187)]=!0),i[h(216)]=u,i[h(238)]=d[h(238)],c[h(268)][h(149)](i))}c[h(268)][h(151)]>0&&(c[h(226)]=c[h(268)][0][h(226)],c[h(188)]=c[h(268)][0][h(215)],c[h(203)]=c[h(268)][0][h(206)]/c.timescale,c.endPts=c.samples[c[h(268)][h(151)]-1].pts/c[h(211)],this[h(273)]&&(c.videoSenc=this[h(273)][h(171)](c[h(268)][0][h(212)],c.samples[0][h(212)]+c[h(268)].length),c[h(258)]=o))}if(this[h(201)].length>0&&i[h(151)]>0){for(let s=i[0];s<=i[1];s++){if(d=this[h(201)][s],!d)throw new Error("cannot found video frame #"+s);if(d[h(222)]>=e&&d.offset+d[h(238)]<=t[h(217)]+e){p=d[h(222)]-e,m=p+d[h(238)],u=t[h(198)](p,m);const s=new Uint8Array(u.length+2);s[h(168)]([175,1],0),s.set(u,2),l[h(268)][h(149)]({type:L[h(246)],dts:d[h(215)],pts:d.dts,payload:s,duration:d[h(148)],sampleOffset:d.index,size:s[h(217)]})}}l[h(268)][h(151)]>0&&(l[h(226)]=l[h(268)][0][h(226)]||c.gopId,l[h(188)]=l[h(268)][0].dts,l[h(203)]=l.samples[0][h(206)]/l.timescale,l[h(230)]=l.samples[l[h(268)].length-1].pts/l[h(211)],this[h(199)]&&(l[h(199)]=this[h(199)].slice(l.samples[0].sampleOffset,l[h(268)][0][h(212)]+l.samples.length),l.kidValue=o))}this[h(205)](c,l,a),this[h(202)]=t[h(198)](Math[h(241)](f,m)),this[h(202)][h(217)]>0?this[h(237)]=e+t.byteLength-this[h(202)][h(217)]:this[h(237)]=0}reset(){const t=nk;this[t(242)]=[],this._audioSamples=[],this[t(202)]=null,this[t(237)]=0,this[t(269)]=hk[t(233)](),this[t(158)]=hk[t(181)]()}decoderData(t,e,s){}[nk(240)](){const t=nk;return this[t(253)]=!!(this.audioTrack[t(223)]&&this[t(158)][t(267)]&&this[t(158)].codec&&this.audioTrack.codecType===t(180)),this[t(253)]}checkInitVideo(){const t=nk;return this[t(247)]=!!(this[t(269)][t(228)][t(151)]&&this[t(269)][t(153)][t(151)]&&this[t(269)][t(274)]),this.isInitVideo}[nk(179)](t){const e=nk,s=ge({profile:t.objectType,sampleRate:t[e(231)],channel:t[e(267)]});this._doDecodeByMp4(s,L.audio,0,!0,0)}_initLoopWorker(){const t=nk,e=Vs(OI);let s=new Worker(e);this[t(261)]=e,this[t(176)]=setTimeout((()=>{const e=t;window[e(160)][e(186)](this[e(261)]),this[e(261)]=null,this[e(176)]=null}),_),s[t(219)]({cmd:"init",options:{type:t(163),seekingMaxDiff:1e4,debug:this.player[t(166)][t(262)],debugUuid:this.player[t(166)][t(193)]}}),s[t(272)]=e=>{const s=t,i=e.data;switch(i[s(225)]){case s(254):this[s(152)](i);break;case s(194):this[s(264)](i);break;case"sampleListInfo":if(this[s(276)]=i,this[s(192)][s(255)]()){const t=this[s(174)](),e=this[s(192)].getPlayVodDuration();t&&e&&this[s(192)][s(173)](O.playVodTimeCache,t/(1e3*e))}}},this[t(204)]=s}[nk(250)](t,e){const s=nk;this[s(192)][s(156)]()||(this[s(204)]?this[s(204)][s(219)]({cmd:t,...e}):this[s(192)][s(262)].warn(this[s(243)],s(224)))}[nk(264)](t){const e=nk,s=new Uint8Array(t.payload);this[e(227)](s,L.audio,t.dts,!1,0)}_doDecodeVideo(t){const e=nk,s=new Uint8Array(t[e(216)]);let i=null;i=t.isHevc?oh(s,t[e(187)]):La(s,t[e(187)]),this[e(192)][e(218)]({dts:t[e(215)]});const r=t[e(206)]-t[e(215)];i=this[e(170)](i,t.isIFrame),this[e(227)](i,L.video,t.dts,t[e(187)],r)}[nk(162)](){const t=nk;return this[t(276)][t(154)]||0}[nk(263)](){const t=nk;return this[t(276)][t(271)]||0}getSampleAudioListLength(){const t=nk;return this[t(276)][t(252)]||0}[nk(191)](){const t=nk;return this.tempSampleListInfo[t(260)]||0}[nk(157)](){const t=nk;return{start:this[t(276)][t(221)]||0,end:this[t(276)].end||0}}[nk(256)](t){const e=nk;this[e(250)](e(256),{time:t})}[nk(213)](t){const e=nk;ii(this.player[e(156)]())&&(this[e(177)](!0),this[e(250)](e(214)),this[e(250)]("setSeekingTime",{time:t}))}[nk(207)](){const t=nk;this[t(250)](t(207))}[nk(229)](){const t=nk;this[t(250)](t(229))}[nk(174)](){let t=0;return t=this.getSampleRange().end,t}}const ck=lk;function lk(t,e){const s=dk();return(lk=function(t,e){return s[t-=276]})(t,e)}function dk(){const t=["18247988FqWmkL","mp4","updateDuration","pause","49863Jzedfs","21717vAzNyO","updateDuration()","audioTrack","error","cleanSampleListAndSetSeekTime","56376ceBMyF","TAG_NAME","isPlayVod","length","debugLog","currentTime","index","media","3164372JYSROn","reset","videoTrack","appendBuffer","_needInitSegment","_demuxer","8754016xKVmqb","endOfStream","9402eVxOhp","5201pGMnfz","demux","_remuxer","getSampleRange","player","remove track","_mse","demuxerResume","_softVideo","isStateOpen","destroy","5510qwrygv","isPlayVodUseMSE","5uuBKAK","forEach","mseDecoder","_sourceCreated","26RcPGYW"];return(dk=function(){return t})()}!function(t,e){const s=lk,i=t();for(;;)try{if(978398===parseInt(s(278))/1+parseInt(s(312))/2*(-parseInt(s(317))/3)+parseInt(s(286))/4*(-parseInt(s(308))/5)+-parseInt(s(294))/6*(-parseInt(s(295))/7)+parseInt(s(292))/8+parseInt(s(318))/9*(parseInt(s(306))/10)+-parseInt(s(313))/11)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(dk);class uk{constructor(t,e){const s=lk;this[s(279)]="Mp4BufferService",this[s(314)]=t,this[s(299)]=e,this._demuxer=new hk(e),this[s(297)]=null,this[s(301)]=null,this[s(303)]=null,this._needInitSegment=!0,this._sourceCreated=!1}async[ck(305)](){const t=ck;this[t(303)]=null,this._demuxer=null,this[t(297)]=null}async[ck(289)](t,e,s,i,r){const n=ck;if(!t||!t.length)return;if(!this[n(291)])return;let o,a;s&&(o=[s[0][n(284)],s[s[n(281)]-1][n(284)]]),i&&(a=[i[0][n(284)],i[i[n(281)]-1][n(284)]]),(o||a)&&this[n(291)][n(296)](t,e,o,a,r)}async evictBuffer(t){const e=ck,s=this[e(314)][e(285)];if(!this[e(301)]||!this[e(291)]||!s||!t||t<0)return;const i=s[e(283)]-t;if(i<=0)return;if(function(t){const e=xT;return t&&t[e(127)]?1===t[e(127)]&&t[e(121)](0)-t[e(123)](0)<1e-6||1===t[e(127)]&&t[e(123)](0)<0?0:t.start(0):0}(LT(s))+1>=i)return;const r=this[e(291)];return[r[e(288)],r[e(320)]][e(309)]((t=>{const s=e;console[s(276)](s(300))})),!0}async[ck(287)](){const t=ck;this[t(311)]=!1,this[t(290)]=!0}async[ck(293)](){}async[ck(315)](t){const e=ck;this[e(299)][e(282)](this[e(279)],e(319),t),this[e(299)][e(280)]()&&(this[e(299)].playVod[e(315)](t),this[e(299)][e(307)]()&&this.player[e(310)]&&this[e(299)][e(310)][e(304)]&&this.player[e(310)].updateMediaSourceDuration(t))}seekSampleRange(t){this._demuxer.seekSampleRange(t)}[ck(277)](t){const e=ck;this[e(291)][e(277)](t)}demuxerPause(){const t=ck;var e;null===(e=this[t(291)])||void 0===e||e[t(316)]()}[ck(302)](){var t;null===(t=this._demuxer)||void 0===t||t.resume()}[ck(298)](){const t=ck;return this._demuxer[t(298)]()}}function pk(t,e){const s=fk();return(pk=function(t,e){return s[t-=115]})(t,e)}function fk(){const t=["_tickTimer","_opt","_startTick","debug","start","meta","playVodVideoSeekingByMse","evictBuffer","audio","retry","_loadSegment","assign","data","onVideoSeeking","isSegmentLoading","isPlayVodUseMSE","_bufferService","TAG_NAME","preloadTime","end","_reset","49NyesBe","cleanSampleListAndSetSeekTime","onPause()"," and segment is null so return","onSeeking() seek to mp4SampleRange","getVideoCurrentTime","_loadSegment() and _prevSegmentEndTime is ","loadSegmentByTime","_loading","getLatestSpeed"," and return","readyState","rate","getSampleRange","frames","duration","_tick","onSeeking() "," is loading so return","isPlayVod","playVod","9WJYwhN","_loader","bufferBehind","_stopTick","onSeeking","onPlay","onPause","url","playVodPause","47601210BivdOP","tickInterval","cancel"," and end is ","getRenderCurrentPts","1655072QokILk","_prevSegmentEndTime","_setPrevSegmentEndTime","resetBandwidth","_config"," and segment ","endTime","24IzXEKL","reset","changeUrl"," and current time is ","Mp4","$videoElement","error","length","destroy","listen playVodVideoSeekingByMse","retryDelay","_emitOnLoaded","index","206216SOkYXx","endOfStream","isSeeking","_bandwidthService","init","1450995cbndNo","video","8726124ShOvUC","log","player","byteLength","loadSource() ","seekSampleRange","181857JGhWVP","_end","in range","3930850BfBbNr","isLastSegment","addRecord"];return(fk=function(){return t})()}const mk=pk;!function(t,e){const s=pk,i=t();for(;;)try{if(785219===-parseInt(s(134))/1+-parseInt(s(204))/2+parseInt(s(142))/3*(parseInt(s(116))/4)+-parseInt(s(145))/5+-parseInt(s(136))/6+parseInt(s(169))/7*(parseInt(s(129))/8)+-parseInt(s(190))/9*(-parseInt(s(199))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(fk);class gk extends n{constructor(t){const e=pk;let s=arguments[e(123)]>1&&void 0!==arguments[1]?arguments[1]:{};var i;super(),If(this,e(161),(async t=>{const s=e;this[s(138)].debug[s(137)](this.TAG_NAME,s(125),t),await this.onSeeking(t)})),If(this,e(194),(async t=>{const s=e;this[s(138)][s(151)][s(137)](this.TAG_NAME,"listen playVodSeek onSeeking() "+t);const i=this[s(191)],{video:r,audio:n}=i.getSegmentByTime(t),o=r||n;if(!o)return void this.player.debug[s(137)](this[s(165)],"onSeeking() "+t+s(172));if(i[s(162)](o[s(128)]))return this[s(206)](0),void this[s(138)][s(151)].log(this[s(165)],s(186)+t+s(209)+o.index+s(187));if(this[s(138)][s(163)]()){const e=this.player.video[s(121)],i=function(t){const e=xT;let s=arguments[e(127)]>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments[e(127)]>2&&void 0!==arguments[2]?arguments[2]:0;if(!t||!t[e(127)])return{start:0,end:0,buffers:[]};let r=0,n=0,o=0,a=0,h=0,c=0,l=0;const d=MT(t,i);for(let t=0,u=d[e(127)];t=e[0]&&se[1]&&(c=e[0],l=e[1])}}return{start:r,end:n,index:o,buffers:d,nextStart:a,nextEnd:h,prevStart:c,prevEnd:l,currentTime:s,behind:s-r,remaining:n?n-s:0,length:BT(d)}}(LT(e),t,.1);if(i[s(167)]&&(i[s(167)]>=o[s(115)]||i[s(167)]>=e[s(184)]))return void this[s(138)][s(151)][s(137)](this[s(165)],"onSeeking() "+t+s(202)+i[s(167)]+s(209)+o.index+s(187))}const a=this._bufferService[s(182)]();if(this[s(138)][s(151)].log(this.TAG_NAME,"onSeeking() seek to mp4SampleRange",a),a&&a[s(152)]<=t&&t<=a[s(167)])return this[s(138)][s(151)][s(137)](this[s(165)],s(173),a,s(144)),void this[s(164)][s(141)](t);this._bufferService[s(170)](t),await i[s(201)](),this[s(177)]=!1,this._setPrevSegmentEndTime(0),await this._loadSegment(t),this[s(150)]()})),If(this,"_tick",(async()=>{const t=e;if(this._stopTick(),this[t(150)](this[t(208)].tickInterval),this[t(138)][t(163)]()){const e=this[t(138)][t(135)][t(121)];if(!e)return;if(function(t){const e=xT;return t&&t[e(127)]?1===t[e(127)]&&t.end(0)-t[e(123)](0)<1e-6?0:t[e(121)](t[e(127)]-1):0}(LT(e))<.1||!e[t(180)])return;(function(t){const e=Fe;return t&&!t.paused&&!t[e(696)]&&0!==t[e(525)]&&0!==t[e(653)]})(e)&&await this[t(158)]()}else await this[t(158)]()})),this[e(165)]=e(120),this[e(138)]=t,this[e(205)]=0,this[e(148)]=null,this[e(177)]=!1,this[e(208)]=(i=s,Object[pk(159)]({tickInterval:500,preloadTime:10,bufferBehind:10,segmentDuration:void 0,url:"",retry:3,retryDelay:100},i)),this[e(164)]=new uk(this,t),this[e(132)]=new vI,this[e(191)]=new rk(this,this.player,{url:s[e(197)],retry:s[e(157)],retryDelay:s[e(126)]}),this[e(138)][e(188)]()&&(this[e(138)].on(O[e(198)],(t=>{const s=e;t?this.onPause():this[s(195)]()})),this[e(138)][e(163)]()?this.player.on(O[e(154)],this.onVideoSeeking.bind(this)):this[e(138)].on(O.playVodSeek,this[e(194)].bind(this))),this[e(138)][e(151)][e(137)](this[e(165)],e(133))}async[mk(124)](){const t=mk;await this[t(168)](),await this[t(164)][t(124)]()}async[mk(168)](){const t=mk;this[t(193)](),await this[t(191)][t(117)](),await this[t(164)].reset(),this._prevSegmentEndTime=0,this[t(177)]=!1,this[t(132)].reset()}async loadSource(t){const e=mk;this[e(138)].debug[e(137)](this[e(165)],e(140)+t),t&&await this[e(191)][e(118)](t),this[e(150)](this[e(208)][e(200)]),await this._loadSegment(0)}async _loadSegment(t){const e=mk;var s,i,r,n;if(this[e(177)])return;let o=this[e(138)][e(203)]();o/=1e3,this.player[e(163)]()&&(o=this[e(138)][e(174)]());let a,h=this[e(138)].isPlayVod()&&this[e(138)][e(189)][e(131)]();if(this[e(205)]&&ii(h)&&this[e(205)]>this[e(138)][e(149)].preloadTime*this[e(138)][e(189)][e(181)]+o)return void this[e(138)][e(151)][e(137)](this[e(165)],e(175)+this[e(205)]+e(119)+o+" more than "+(this[e(138)][e(149)][e(166)]*this[e(138)].playVod.rate+o)+e(179));this[e(177)]=!0;try{a=null!=t?await this._loader[e(176)](t):await this[e(191)].loadNextSegment()}catch(t){console[e(122)](t)}if(!a)return void(this[e(177)]=!1);this[e(127)](a);const c=Math.min((null===(s=a[e(135)])||void 0===s?void 0:s[e(115)])||1/0,(null===(i=a.audio)||void 0===i?void 0:i[e(115)])||1/0);this[e(206)](c);try{var l,d;await this[e(164)].appendBuffer(a[e(160)],a.option.range[0],null===(l=a[e(135)])||void 0===l?void 0:l[e(183)],null===(d=a[e(156)])||void 0===d?void 0:d[e(183)],this._loader[e(153)].moov),await this[e(164)][e(155)](this[e(208)][e(192)])}catch(t){console[e(122)](t)}finally{this._loading=!1}this[e(191)][e(146)]((null===(r=a[e(135)])||void 0===r?void 0:r[e(128)])||(null===(n=a[e(156)])||void 0===n?void 0:n.index)||0)?this[e(143)]():this[e(158)]()}[mk(143)](){const t=mk;this[t(164)][t(130)](),this[t(193)]()}_emitOnLoaded(t){const e=mk,{data:s,response:i,option:r}=t,{firstByteTime:n,startTime:o,endTime:a,contentLength:h}=r||{},c=a-o;this[e(132)][e(147)](h||s[e(139)],c)}[mk(207)](){const t=mk;this[t(132)][t(117)]()}_setPrevSegmentEndTime(t){const e=mk;this[e(138)][e(151)][e(137)](this.TAG_NAME,"setPrevSegmentEndTime() "+t),this._prevSegmentEndTime=t}[mk(150)](){const t=mk;let e=arguments[t(123)]>0&&void 0!==arguments[0]?arguments[0]:0;this._stopTick(),this._tickTimer=setTimeout(this[t(185)],e)}[mk(193)](){clearTimeout(this[mk(148)])}[mk(196)](){const t=mk;this.player.debug[t(137)](this.TAG_NAME,t(171)),this[t(164)].demuxerPause(),this._stopTick()}async[mk(195)](){const t=mk;this[t(138)][t(151)][t(137)](this[t(165)],"onPlay()"),this[t(164)].demuxerResume(),await this[t(158)](),this[t(150)]()}speedInfo(){const t=mk;return{speed:this[t(132)][t(178)](),avgSpeed:this[t(132)].getAvgSpeed()}}}const Ak=bk;function yk(){const t=["14220080AjwxWC","player","eventsDestroy","mp4Error","69449750ueTURT","5871132sFugYs","7gSqFiu","8TtysEB","debugLog","emitError","bandwidthEstimateInterval","615SAnhFG","TAG_NAME","243335guFXpW","length","emit","forEach","_startBandwidthEstimateInterval","canVideoPlay","_stopBandwidthEstimateInterval","destroy","url","14650083JIjCzr","loadSource","$videoElement","9946wzagnT","error","_bindEvents","resetBandwidth","avgSpeed","mp4","init","video","646570ujpohi"];return(yk=function(){return t})()}function bk(t,e){const s=yk();return(bk=function(t,e){return s[t-=399]})(t,e)}!function(t,e){const s=bk,i=t();for(;;)try{if(992455===-parseInt(s(419))/1+-parseInt(s(411))/2*(parseInt(s(431))/3)+-parseInt(s(427))/4*(-parseInt(s(399))/5)+parseInt(s(425))/6*(-parseInt(s(426))/7)+-parseInt(s(420))/8+-parseInt(s(408))/9+parseInt(s(424))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(yk);class vk extends n{constructor(t){const e=bk;super(),this[e(421)]=t,this.TAG_NAME="Mp4Decoder",this[e(404)]=!1,this.$videoElement=this[e(421)][e(418)][e(410)],this[e(416)]=null,this.eventsDestroy=[],this.bandwidthEstimateInterval=null,this[e(416)]=new gk(t),this[e(413)](),this[e(421)][e(428)](this[e(432)],e(417))}async[Ak(406)](){const t=Ak;return this[t(405)](),this.mp4&&(await this[t(416)][t(406)](),this.mp4=null),this[t(422)][t(400)]&&(this[t(422)][t(402)]((t=>t())),this[t(422)]=[]),this[t(410)]=null,this[t(421)].debugLog(this[t(432)],t(406)),!0}[Ak(413)](){const t=Ak;this[t(416)].on(Yt[t(412)],(e=>{const s=t;this[s(421)][s(429)](N[s(423)],e)}))}[Ak(403)](){const t=Ak;this[t(405)](),this[t(430)]=setInterval((()=>{const e=t,s=this[e(416)].speedInfo();this.player[e(401)](O.kBps,(s[e(415)]/1024/8).toFixed(2)),this[e(416)][e(414)]()}),1e3)}[Ak(405)](){const t=Ak;this[t(430)]&&(clearInterval(this[t(430)]),this.bandwidthEstimateInterval=null)}async[Ak(409)](t){const e=Ak;return this[e(421)][e(428)](this.TAG_NAME,"loadSource() "+t),this[e(407)]=t,await this[e(416)][e(409)](t),this[e(403)](),!0}}const wk=Sk;function Sk(t,e){const s=Ek();return(Sk=function(t,e){return s[t-=178]})(t,e)}function Ek(){const t=["seek","_playbackTs","playbackSeek","is30Min","timestamp","getControlType","classList","_startfpsTime","type","_isUseLocalCalculateTime","playbackEnd","_playingTimestamp","_renderFps","isUseLocalCalculateTime","jb-pro-container-playback","simple","TAG_NAME","showPrecision","fiveMin","_videoTimestamp","isCacheBeforeDecodeForFpsRender","setShowPrecision()","add","886WSFRzv","isControlTypeNormal","normal","_localOneFrameTimestamp","end","setPlayingTimestamp","setRate","controlType","1687jFrKjF","getDemuxBufferLength","_listen","4222556pJaymN","localOneFrameTimestamp","_stopLocalCalculateTime","9HGIekI","more","getMinutes","videoCurrentTimeDiff","includes","emit","_isCacheBeforeDecodeForFpsRender","isControlTypeSimple","_isUseFpsRender","updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is ","stats","99TUqJbv","hasRecord","isPlaybackPauseNotClearCacheAndCacheBeforeDecode","isPlaybackUseMSE","_localCalculateTimeInterval","playbackTimestamp","tenMin","getSeconds","setShowPrecision","_rate","getHours","updateStats","videoCurrentTime","clearStatsInterval","is10Min","_isPlaybackPauseClearCache","7122sYqnsK","_startFpsTimestamp","_isTimeInPlaybackList","start","654LjOFVu","_currentLocalTimestamp","bufferSize","oneHour","player","isCurrentTimeInBufferEnd","2283245UMOnod","isPlaybackPauseClearCache","_startLocalCalculateTime","remove","_showPrecision","currentTimeScroll","forEach","_playStartTime"," > this.totalDuration ","playbackTime","setStartTime","startTime","debugWarn","playbackShowPrecisionChange","539215NHgAeI","playbackList","duration","totalDuration","stringify","startCheckStatsInterval","length","$container","is1Min","rate","min","fps","seek()","Playback","startTimestamp","_opt","video","indexOf","init","_fps","_findMoreInfoByTimestamp","expandPrecision","_totalDuration","destroy","audio","hour","debugLog","10100568JRNubz","time","increaseLocalTimestamp","initPlaybackList","isUseFpsRender","timestamp ","_playbackListStartTimestamp","constructor()","pause","playbackPause","mseDecoder","endTimestamp","round","is60Min","playingTimestamp","second","halfHour","2108910MrgyJx","_startTime","_audioTimestamp","_checkStatsInterval","playbackStats","playbackFps","off","playList","setPlayingTimestamp()","narrowPrecision"];return(Ek=function(){return t})()}!function(t,e){const s=Sk,i=t();for(;;)try{if(692250===parseInt(s(296))/1+parseInt(s(231))/2*(-parseInt(s(276))/3)+parseInt(s(242))/4+-parseInt(s(282))/5+-parseInt(s(272))/6*(-parseInt(s(239))/7)+-parseInt(s(181))/8*(-parseInt(s(245))/9)+-parseInt(s(198))/10*(parseInt(s(256))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Ek);class Ik extends n{constructor(t,e){const s=Sk;if(super(),this.player=t,this[s(280)][s(303)][s(214)][s(230)](s(222)),this[s(286)]=null,this[s(199)]=null,this[s(289)]=null,this[s(219)]=null,this._fps=parseInt(e[s(307)],10)||t[s(311)][s(203)],this[s(253)]=!!ei(e[s(185)]),this[s(265)]=1,this[s(200)]=0,this[s(227)]=0,this.controlType=e[s(238)]||v[s(233)],e[s(238)]&&-1===[v[s(233)],v[s(223)]][s(313)](e.controlType)&&(this.player[s(294)](s(309),s(188),"controlType is not in [normal,simple]",e[s(238)]),this[s(238)]=v[s(233)]),this[s(277)]=0,this[s(234)]=e[s(243)]||40,this[s(260)]=null,this[s(217)]=!!ei(e[s(221)]),this[s(271)]=!ii(e[s(283)]),this[s(251)]=!!ei(e.isCacheBeforeDecodeForFpsRender),this[s(215)]=null,this[s(273)]=null,this[s(201)]=null,this[s(209)]=0,this[s(220)]=0,this[s(217)]?this[s(284)]():this[s(241)](),this.playbackList=[],this[s(187)]=null,this[s(318)]=0,e[s(238)]===v.normal)this[s(184)](e[s(205)],e[s(225)],e[s(293)]);else if(e.controlType===v[s(223)]){e.duration&&(this[s(318)]=1e3*e[s(298)]);let t=e[s(293)]||0;t>this[s(299)]&&(t=this.totalDuration),this[s(292)](t)}this[s(280)].on(O[s(190)],(t=>{t?this.pause():this.resume()}));const i={fps:this[s(315)],isUseFpsRender:this._isUseFpsRender,localOneFrameTimestamp:this[s(234)],isUseLocalCalculateTime:this[s(217)],uiUsePlaybackPause:e.uiUsePlaybackPause,showControl:e.showControl};try{t[s(180)]("Playback",s(314),JSON[s(300)](i))}catch(e){t[s(180)](s(309),s(314),i)}}[wk(319)](){const t=wk;this[t(199)]=null,this[t(286)]=null,this._playStartTime=null,this[t(219)]=null,this._totalDuration=0,this[t(200)]=0,this[t(227)]=0,this._fps=null,this._isUseFpsRender=!1,this[t(265)]=1,this.playbackList=[],this[t(187)]=null,this[t(260)]=null,this[t(277)]=0,this._startfpsTime=null,this._startFpsTimestamp=null,this[t(220)]=0,this._playbackTs=0,this[t(244)](),this[t(269)](),this[t(280)][t(303)]&&this[t(280)].$container.classList[t(285)](t(222)),this[t(204)](),this[t(280)][t(180)](t(309),t(319))}[wk(241)](){const t=wk;this.player.on(O[t(255)],(e=>{const s=t,i=e.ts;!this[s(289)]&&(this[s(289)]=i-1e3);let r=i-this._playStartTime;if(this[s(236)](r),this[s(280)][s(259)]()&&this[s(280)].isPlaying()&&0===e[s(248)]&&(this.player[s(294)](this[s(224)],s(254)+e[s(268)]+"\n and next update video currentTime"),this[s(280)].mseDecoder.updateVideoCurrentTimeByBufferStart()),this[s(280)].isStreamEnd()&&this.player.isPlaying())if(this[s(280)][s(259)]()&&0===e[s(248)]){this[s(280)][s(191)][s(281)]()&&this[s(280)][s(250)](O.playbackEnd)}else{const t=this[s(280)][s(240)](),e=this[s(280)].getCanvasVideoBufferLength();0===t&&0===e&&this[s(280)][s(250)](O[s(218)])}}))}[wk(189)](){this[wk(269)]()}resume(){this[wk(301)]()}[wk(267)](){const t=wk;let e=arguments[t(302)]>0&&void 0!==arguments[0]?arguments[0]:{};!this[t(273)]&&(this[t(273)]=Ve()),gs(e.ts)&&(this[t(280)].updateStats({fps:!0,ts:e.ts}),this._playbackTs=e.ts,!this[t(215)]&&(this[t(215)]=e.ts),this[t(220)]+=1);const s=Ve(),i=s-this[t(273)];if(i<1e3)return;let r=null;this[t(215)]&&(r=this[t(209)]-this[t(215)]),this.player[t(250)](O[t(202)],{fps:this[t(220)],rate:this[t(305)],start:this[t(215)],end:this._playbackTs,timestamp:i,dataTimestamp:r,audioBufferSize:this[t(280)][t(178)]?this.player[t(178)][t(278)]:0,videoBufferSize:this[t(280)][t(312)]?this.player[t(312)][t(278)]:0,ts:this[t(209)]}),this[t(220)]=0,this._startfpsTime=this._playbackTs,this._startFpsTimestamp=s}updateLocalOneFrameTimestamp(t){this[wk(234)]=t}_startLocalCalculateTime(){const t=wk;this._stopLocalCalculateTime(),this[t(260)]=setInterval((()=>{const e=t,s=this[e(277)];!this[e(289)]&&(this._playStartTime=s-1e3);let i=s-this._playStartTime;this[e(236)](i)}),1e3)}[wk(301)](){const t=wk;this.clearStatsInterval(),this[t(201)]=setInterval((()=>{this[t(267)]()}),1e3)}[wk(244)](){const t=wk;this[t(260)]&&(clearInterval(this._localCalculateTimeInterval),this[t(260)]=null)}[wk(269)](){const t=wk;this[t(201)]&&(clearInterval(this[t(201)]),this[t(201)]=null)}[wk(183)](){const t=wk;this[t(217)]&&(this._currentLocalTimestamp+=this[t(234)])}[wk(184)](t,e,s){const i=wk;this[i(297)]=t||[];let r=0;if(this[i(297)][i(288)](((t,e)=>{const s=i;10===_s(t[s(275)])?(t.startTimestamp=1e3*t[s(275)],t[s(293)]=ss(t[s(310)])):(t[s(310)]=t[s(275)],t[s(293)]=ss(t.startTimestamp)),10===_s(t[s(235)])?(t.endTimestamp=1e3*t[s(235)],t.endTime=ss(t[s(192)])):(t[s(192)]=t.end,t.endTime=ss(t.endTimestamp)),t.duration=t[s(235)]-t[s(275)],r+=t[s(298)]})),this[i(318)]=r,this[i(280)].debugLog(i(309),this[i(297)]),this.playbackList[i(302)]>0){const t=this[i(297)][0][i(310)];this[i(187)]=t;let e=t;s&&(10===_s(s)&&(s*=1e3),this[i(274)](s)&&(e=s)),this[i(292)](e)}const n=e||nt.oneHour;this[i(264)](n)}get totalDuration(){return(this[wk(318)]||0)/1e3}get[wk(293)](){return this[wk(199)]||0}[wk(292)](t){const e=wk;this[e(199)]=t,this[e(219)]=t,this[e(289)]=null}[wk(237)](t){const e=wk;this[e(265)]=t,this[e(280)][e(250)](O.playbackRateChange,t)}get fps(){return this[wk(315)]}get[wk(305)](){return this._rate}get[wk(185)](){return this[wk(253)]}get[wk(221)](){return this[wk(217)]}get[wk(225)](){return this._showPrecision}get[wk(194)](){return this[wk(225)]===nt.oneHour}get[wk(211)](){const t=wk;return this[t(225)]===nt[t(197)]}get[wk(270)](){const t=wk;return this[t(225)]===nt[t(262)]}get is5Min(){const t=wk;return this[t(225)]===nt[t(226)]}get[wk(304)](){const t=wk;return this[t(225)]===nt[t(226)]}get[wk(283)](){return this._isPlaybackPauseClearCache}get[wk(228)](){return this[wk(251)]}setShowPrecision(t){const e=wk;!ht[e(249)](t)&&(this[e(280)][e(294)]("Playback",e(229),"type is not in PLAYBACK_CONTROL_TIME_PRECISION_ARRAY",t),t=nt[e(279)]),this._showPrecision&&this[e(286)]===t||(this[e(286)]=t,this[e(280)][e(250)](O.playbackPrecision,this[e(286)],this.playbackList),this.player[e(250)](O[e(295)],this._showPrecision))}setPlayingTimestamp(t){const e=wk;let s;if(this.controlType===v[e(233)]){s=this[e(293)]+t,this._playingTimestamp=s,this[e(280)][e(250)](O[e(291)],s);const i=new Date(s);this[e(280)][e(250)](O[e(261)],{ts:s,hour:i[e(266)](),min:i[e(247)](),second:i[e(263)]()})}else this[e(238)]===v[e(223)]&&(s=this.startTime+Math[e(193)](t/1e3),s>this[e(299)]&&(this[e(280)][e(180)]("Playback",e(206),e(186)+s+e(290)+this.totalDuration),s=this[e(299)]),this[e(219)]=s,this[e(280)][e(250)](O[e(291)],s),this[e(280)][e(250)](O[e(261)],{ts:s}))}get[wk(195)](){return this[wk(219)]}[wk(207)](){const t=wk,e=ht[t(313)](this[t(225)])-1;if(e>=0){const s=ht[e];this[t(264)](s)}}[wk(317)](){const t=wk,e=ht[t(313)](this[t(225)])+1;if(e<=ht.length-1){const s=ht[e];this[t(264)](s)}}[wk(208)](t){const e=wk;if(this[e(280)].debugLog(e(309),e(308),t),this[e(238)]===v[e(233)]){if("true"===t[e(257)]){let s=t.time;t[e(216)]===e(306)&&(s=60*t.time);let i=function(t){const e=Fe;let s={};t>-1&&(s={hour:Math.floor(t/60/60)%60,min:Math[e(492)](t/60)%60,second:t%60});return s}(s);if(this[e(187)]){const t=new Date(this[e(187)]).setHours(i[e(179)],i[e(306)],i[e(196)],0);i[e(212)]=t;const s=this[e(316)](t);i&&s[e(246)]&&(i[e(246)]=s[e(246)])}this[e(280)][e(250)](O[e(210)],i)}}else if(this[e(238)]===v[e(223)]){let s=t[e(182)];this[e(280)][e(250)](O[e(210)],{ts:s})}}[wk(287)](){const t=wk;this[t(280)][t(250)](O.playbackTimeScroll)}[wk(316)](t){const e=wk;let s=null;return this[e(297)].forEach(((i,r)=>{const n=e;i[n(310)]<=t&&i[n(192)]>=t&&(s=i)})),s}[wk(274)](t){const e=wk;let s=!1;return this[e(297)][e(288)](((i,r)=>{const n=e;i[n(310)]<=t&&i[n(192)]>=t&&(s=!0)})),s}[wk(213)](){return this.controlType}[wk(232)](){const t=wk;return this[t(238)]===v[t(233)]}[wk(252)](){const t=wk;return this[t(238)]===v[t(223)]}[wk(258)](){const t=wk;return ii(this[t(283)])&&this[t(228)]}isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender(){const t=wk;return this[t(258)]()&&this[t(185)]}}const Tk=kk;function kk(t,e){const s=_k();return(kk=function(t,e){return s[t-=482]})(t,e)}function _k(){const t=["handleMouseDown",", Y: ","scale(","_handleZooming","destroy","useWebFullScreen","2060iNtheU","video","handleGestureChangeThrottle","handleMouseUp","touchmove","updateVideoElementScale end is X: ","videoPosition","matches","prevGestureTouches","move"," -> ","prevVideoElementStyleTransform","down","pageX","touches","updateVideoPosition","replace","style","top","auto","transform","zooming","gesturestart","grabbing","zoomSupportGestureInMobileSpeed","$videoElement","961440WCoJvS","preventDefault","handleGestureEndForAndroid","bindEvents","723507XQCecQ","left","expandPrecision","stopPropagation","zoomSupportGestureInMobile","zoom","pageY","handleMouseMove","$container","narrowPrecision","jb-pro-zoom-control","110145EnhmLE","player","handleGestureStart","11082804geWAIL","sqrt","updateCurrentZoom","grab","_unbindEvents","init"," scale(","push","classList","length","remove","45dBuRKg","off","572214Nsmwxb","handleGestureChangeForAndroid","zoomMaxScale","_opt","scale","touchstart","isZooming","prevGestureScale","cursor","isDragging","updatePrevVideoElementStyleScale","handleGestureEnd","isGesturing","debugLog","_bindEvents","offsetTop","872dcMbVR","bind","prevVideoElementStyleScale","_isZooming","handleMouseDown is dragging true","currentZoom","1964IUVAkW","980750GpXZtQ","handleGestureStartForAndroid","atan2","updateVideoElementScale","canvas","_resetVideoPosition"," style is ","tempPosition"];return(_k=function(){return t})()}!function(t,e){const s=kk,i=t();for(;;)try{if(974361===-parseInt(s(548))/1+parseInt(s(571))/2+parseInt(s(521))/3+parseInt(s(570))/4*(parseInt(s(491))/5)+parseInt(s(535))/6+-parseInt(s(532))/7*(parseInt(s(564))/8)+parseInt(s(546))/9*(parseInt(s(517))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(_k);class Ck extends n{constructor(t){const e=kk;super(),this.player=t,this.TAG_NAME=e(526),this[e(520)]=[],this[e(557)]=!1,this[e(560)]=!1,this[e(569)]=1,this[e(502)]=null,this.prevVideoElementStyleScale=null,this[e(555)]=null,this[e(499)]=[],this[e(567)]=!1,this.tempPosition={x:0,y:0},this[e(497)]={left:0,top:0},this[e(533)],this[e(533)].on(O[e(512)],this[e(488)][e(565)](this)),t.debugLog("zoom",e(540))}[Tk(489)](){const t=Tk;this[t(539)](),this[t(520)]=[],this[t(557)]=!1,this[t(569)]=1,this[t(502)]=null,this[t(566)]=null,this[t(484)]={x:0,y:0},this[t(497)]={left:0,top:0},this[t(547)](),this[t(533)][t(561)](t(526),t(489))}_handleZooming(t){const e=Tk;if(t){this[e(533)][e(529)][e(543)].add(e(531)),this[e(562)]();const t=this.player[e(492)][e(516)][e(508)][e(511)];let s=this[e(533)][e(492)][e(516)].offsetLeft,i=this[e(533)][e(492)][e(516)][e(563)];s=parseFloat(s),i=parseFloat(i),s&&(this[e(497)][e(522)]=s),i&&(this.videoPosition[e(509)]=i),this[e(502)]=t;let r=t.match(/scale\([0-9., ]*\)/g);if(r&&r[0]){let t=r[0][e(507)]("scale(","")[e(507)](")","");this[e(566)]=t.split(",")}this[e(567)]=!0}else{this[e(533)][e(529)].classList[e(545)]("jb-pro-zoom-control"),this[e(539)](),this[e(482)](),this[e(533)].$container.style[e(556)]=e(510);let t=this[e(502)];this[e(533)][e(492)][e(516)][e(508)][e(511)]=t,this[e(502)]=null,this[e(566)]=null,qe()&&this[e(533)]._opt[e(490)]&&this[e(533)].resize(),this._isZooming=!1}}[Tk(562)](){const t=Tk,{events:{proxy:e}}=this[t(533)],s=fi(),i=e(this[t(533)][t(529)],s[t(500)],this.handleMouseMove[t(565)](this)),r=e(this[t(533)][t(529)],s[t(503)],this[t(485)][t(565)](this)),n=e(window,s.up,this[t(494)][t(565)](this));if(this[t(520)][t(542)](i,r,n),qe()&&this[t(533)][t(551)][t(525)])if(Xe()){this.handleGestureChangeThrottle=os(this[t(549)][t(565)](this),100);const s=e(this[t(533)][t(529)],t(553),this[t(572)].bind(this)),i=e(this.player.$container,t(495),this.handleGestureChangeThrottle.bind(this)),r=e(this.player.$container,"touchend",this[t(519)][t(565)](this));this[t(520)].push(s,i,r)}else{this.handleGestureChangeThrottle=os(this.handleGestureChange[t(565)](this),100);const s=e(this[t(533)][t(529)],t(513),this[t(534)][t(565)](this)),i=e(this[t(533)][t(529)],"gesturechange",this[t(493)].bind(this)),r=e(this[t(533)][t(529)],"gestureend",this.handleGestureEnd.bind(this));this[t(520)][t(542)](s,i,r)}}[Tk(539)](){this.bindEvents.forEach((t=>{t&&t()}))}[Tk(528)](t){const e=Tk;if(t[e(524)](),this[e(557)]&&this[e(533)][e(512)]){t[e(518)]();const{posX:s,posY:i}=Fs(t),r=this.tempPosition.x-s,n=this[e(484)].y-i;this[e(497)][e(522)]=this[e(497)][e(522)]-r,this[e(497)][e(509)]=this.videoPosition[e(509)]-n,this[e(484)].x=s,this.tempPosition.y=i,this[e(506)]()}}[Tk(485)](t){const e=Tk;t[e(524)]();const s=Ps(t);if(this[e(533)][e(512)]&&(s.matches(e(492))||s[e(498)](e(575)))){t[e(518)]();const{posX:s,posY:i}=Fs(t);this.player[e(529)][e(508)][e(556)]=e(514),this[e(484)].x=s,this[e(484)].y=i,this.isDragging=!0,this[e(533)][e(561)](e(526),e(568))}}[Tk(494)](t){const e=Tk;t.stopPropagation(),this[e(557)]&&this[e(533)].zooming&&(t[e(518)](),this.tempPosition={x:0,y:0},this.isDragging=!1,this.player.$container[e(508)][e(556)]=e(538),this[e(533)][e(561)](e(526),"handleMouseUp is dragging false"))}[Tk(534)](t){const e=Tk;t[e(524)](),this[e(533)][e(512)]&&(null===this[e(555)]&&(this[e(555)]=t.scale),this[e(560)]=!0)}[Tk(572)](t){const e=Tk;t[e(524)](),this[e(533)][e(512)]&&t[e(505)][e(544)]>=2&&(this[e(560)]=!0,this[e(499)]=t[e(505)])}handleGestureChangeForAndroid(t){const e=Tk;if(t[e(524)](),t[e(518)](),this.player[e(512)]&&this[e(560)]&&t[e(505)].length>=2){const r=t[e(505)],n=s(r[0],r[1])/s(this[e(499)][0],this[e(499)][1]);i(r[0],r[1]),i(this[e(499)][0],this[e(499)][1]),null===this[e(555)]&&(this[e(555)]=n);const o=n-this[e(555)],a=this[e(533)][e(551)][e(515)];o>0?this[e(523)](a):o<0&&this[e(530)](a)}function s(t,s){const i=e;var r=s[i(504)]-t[i(504)],n=s[i(527)]-t[i(527)];return Math[i(536)](r*r+n*n)}function i(t,s){const i=e;var r=t.pageX-s[i(504)],n=t[i(527)]-s[i(527)];return 180*Math[i(573)](n,r)/Math.PI}}[Tk(519)](t){const e=Tk;t.stopPropagation(),this[e(533)][e(512)]&&(this.prevGestureScale=null,this.isGesturing=!1,this[e(499)]=[])}handleGestureChange(t){const e=Tk;if(t[e(524)](),this.player[e(512)]&&this[e(560)]&&null!==this[e(555)]){const s=t[e(552)],i=s-this[e(555)],r=this[e(533)][e(551)][e(515)];i>0?this[e(523)](r):i<0&&this.narrowPrecision(r),this.prevGestureScale=s}}[Tk(559)](t){const e=Tk;t[e(524)](),this.player[e(512)]&&(this[e(555)]=null,this[e(560)]=!1)}[Tk(506)](){const t=Tk,e=this[t(533)][t(492)].$videoElement;e[t(508)][t(522)]=this[t(497)][t(522)]+"px",e.style[t(509)]=this[t(497)].top+"px"}_resetVideoPosition(){const t=Tk;this[t(533)].resize(),this.tempPosition={x:0,y:0},this[t(497)]={left:0,top:0},this[t(569)]=1,this.isDragging=!1}[Tk(530)](t){const e=Tk;this.currentZoom<=1||(this[e(569)]-=1,this[e(574)](t))}[Tk(523)](t){const e=Tk;this[e(569)]>=this[e(533)][e(551)][e(550)]||(this[e(569)]+=1,this[e(574)](t))}[Tk(537)](t,e){const s=Tk;t<1||t>this[s(533)]._opt[s(550)]||(this[s(569)]=t,this[s(574)](e))}[Tk(558)](t){this.prevVideoElementStyleScale=t}updateVideoElementScale(){const t=Tk;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;const s=this[t(533)][t(492)][t(516)];let i=s.style[t(511)],r=1,n=1;if(this[t(566)]){const e=this[t(566)][0];void 0!==e&&(r=e,n=e);const s=this[t(566)][1];void 0!==s&&(n=s)}n=rs(n),r=rs(r);const o=e*r*(this.currentZoom-1)+r,a=e*n*(this[t(569)]-1)+n;let h;h=-1===i.indexOf(t(487))?i+(t(541)+o+",")+a+")":i[t(507)](/scale\([0-9., ]*\)/,t(487)+o+","+a+")"),this[t(533)].debugLog(t(526),t(496)+r+t(501)+o+t(486)+n+t(501)+a+t(483)+h),s[t(508)].transform=h}[Tk(554)](){return this[Tk(567)]}}const Rk=xk;function Dk(){const t=["useFaceDetector","#0000FF","JessibucaProImageDetector","objectDetector","updateObjectDetectorConfig","initFaceDetector","initOcclusionDetector","44328KxgSaA","1830dzNEMD","aiFaceDetectorInfo","debugLevel","5287995MVmhyg","imageDetector","aiObjectDetectShowRect","aiObjectDetectorInfo","JessibucaProOcclusionDetector","faceDetector","load","4zcsXmH","3436208YjdWqb","initImageDetector","init","17223530tATlbB","rect","emit","jessibuca-pro-object-detector-info","JessibucaProObjectDetector","borderWidth","useObjectDetector","borderColor","2597631gFSPZS","useImageDetector","debugLog","addAiContentToCanvas","width","forEach","height","useOcclusionDetector","7836057ERkFty","list","9JWcPfJ","video","init object detector success"," and use occlusionDetector","debug","_opt","3486hJiwKf","occlusionDetector","aiObjectDetectWidth"," and use faceDetector","AiLoader","aiFaceDetectWidth","debugUuid","then","destroy","init occlusion detector success","aiFaceDetectRectConfig"," and use objectDetector","text","updateConfig","updateOcclusionDetectorConfig","updateImageDetectorConfig","push","aiObjectDetectRectConfig","player","length"];return(Dk=function(){return t})()}function xk(t,e){const s=Dk();return(xk=function(t,e){return s[t-=456]})(t,e)}!function(t,e){const s=xk,i=t();for(;;)try{if(566290===-parseInt(s(488))/1*(parseInt(s(521))/2)+parseInt(s(478))/3*(-parseInt(s(466))/4)+parseInt(s(459))/5+parseInt(s(456))/6*(parseInt(s(494))/7)+-parseInt(s(467))/8+-parseInt(s(486))/9+parseInt(s(470))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Dk);class Lk extends n{constructor(t){const e=xk;super(),this[e(512)]=t,this.faceDetector=null,this[e(517)]=null,this[e(460)]=null,this[e(495)]=null,this[e(519)](),this.initObjectDetector(),this[e(468)](),this[e(520)]();let s=e(469);this[e(464)]&&(s+=e(497)),this[e(517)]&&(s+=e(505)),this.imageDetector&&(s+=" and use imageDetector"),this[e(495)]&&(s+=e(491)),this[e(512)].debugLog(e(498),s)}[Rk(502)](){const t=Rk;this.off(),this.faceDetector&&(this[t(464)][t(502)](),this[t(464)]=null),this[t(517)]&&(this[t(517)][t(502)](),this[t(517)]=null),this.imageDetector&&(this[t(460)].destroy(),this[t(460)]=null),this[t(495)]&&(this[t(495)].destroy(),this[t(495)]=null),this[t(512)][t(480)](t(498),t(502))}[Rk(519)](){const t=Rk;if(this[t(512)]._opt[t(514)]&&window.JessibucaProFaceDetector){const e=new JessibucaProFaceDetector({detectWidth:this[t(512)]._opt[t(499)],showRect:!1,debug:this.player[t(493)][t(492)],debugLevel:this[t(512)][t(493)][t(458)],debugUuid:this[t(512)]._opt[t(500)]});e[t(465)]()[t(501)]((()=>{const s=t;this[s(512)][s(480)]("AiLoader","init face detector success"),this[s(464)]=e,this.faceDetector.on("jessibuca-pro-face-detector-info",(t=>{const e=s;if(this[e(512)][e(472)](O[e(457)],t),this[e(512)][e(493)].aiFaceDetectShowRect){const s=this.player._opt[e(504)]||{},i=(t[e(487)]||[]).map((t=>{const i=e;return t.type=i(471),t.color=s.borderColor||i(515),t.lineWidth=s[i(475)]||2,t}));this[e(512)][e(489)]&&this[e(512)][e(489)][e(481)](i)}}))}))}}initObjectDetector(){const t=Rk;if(this[t(512)][t(493)][t(476)]&&window[t(474)]){const e=new JessibucaProObjectDetector({detectWidth:this[t(512)][t(493)][t(496)],showRect:!1,debug:this[t(512)][t(493)][t(492)],debugLevel:this[t(512)][t(493)][t(458)],debugUuid:this.player[t(493)].debugUuid});e[t(465)]()[t(501)]((()=>{const s=t;this.player.debugLog(s(498),s(490)),this[s(517)]=e,this.objectDetector.on(s(473),(t=>{const e=s;if(this[e(512)][e(472)](O[e(462)],t),this[e(512)][e(493)][e(461)]){const s=[],i=this.player[e(493)][e(511)]||{};(t[e(487)]||[])[e(483)]((t=>{const r=e,n={type:r(471),color:i[r(477)]||"#0000FF",lineWidth:i[r(475)]||2,x:t[r(471)].x,y:t[r(471)].y,width:t.rect[r(482)],height:t.rect[r(484)]},o={type:r(506),color:i.color||"#000",fontSize:i.fontSize||14,text:t.zh,x:t.rect.x,y:t[r(471)].y-25};s[r(510)](n,o)})),this[e(512)][e(489)]&&this.player[e(489)].addAiContentToCanvas(s)}}))}))}}initImageDetector(){const t=Rk;if(this.player[t(493)][t(479)]&&window[t(516)]){const e=new JessibucaProImageDetector({debug:this[t(512)][t(493)][t(492)],debugLevel:this.player[t(493)].debugLevel,debugUuid:this.player._opt[t(500)]});e[t(465)]()[t(501)]((()=>{const s=t;this.player[s(480)](s(498),"init image detector success"),this[s(460)]=e}))}}[Rk(520)](){const t=Rk;if(this.player._opt[t(485)]&&window[t(463)]){const e=new JessibucaProOcclusionDetector({debug:this[t(512)][t(493)].debug,debugLevel:this[t(512)]._opt[t(458)],debugUuid:this[t(512)][t(493)][t(500)]});e[t(465)]()[t(501)]((()=>{const s=t;this[s(512)].debugLog("AiLoader",s(503)),this[s(495)]=e}))}}updateFaceDetectorConfig(){const t=Rk;let e=arguments[t(513)]>0&&void 0!==arguments[0]?arguments[0]:{};this[t(464)]&&this[t(464)][t(507)](e)}[Rk(518)](){const t=Rk;let e=arguments[t(513)]>0&&void 0!==arguments[0]?arguments[0]:{};this[t(517)]&&this[t(517)][t(507)](e)}[Rk(509)](){const t=Rk;let e=arguments[t(513)]>0&&void 0!==arguments[0]?arguments[0]:{};this[t(460)]&&this[t(460)][t(507)](e)}[Rk(508)](){const t=Rk;let e=arguments[t(513)]>0&&void 0!==arguments[0]?arguments[0]:{};this.occlusionDetector&&this.occlusionDetector[t(507)](e)}}function Pk(t,e){const s=Bk();return(Pk=function(t,e){return s[t-=312]})(t,e)}const Mk=Pk;function Bk(){const t=["length","1395WpEAem","8rxcdNz","$container","7327712yPoqtH","player",'\n
      \n ","jb-pro-contextmenus-show","querySelector","click","LOG_NAME","1236FFZvxr","children","getBoundingClientRect","Contextmenu","2718230hprTQY","push","content","contextmenu","init","debugWarn","preventDefault","insertAdjacentHTML","assign","addMenuItem","control","_opt","debugLog","6064624CVtFMj","$contextmenus","93430PTagqk","939234RclCVh","forEach","793958CRAZIU","beforebegin","contextmenuBtns","destroy","menuList","from"];return(Bk=function(){return t})()}!function(t,e){const s=Pk,i=t();for(;;)try{if(775681===-parseInt(s(314))/1+-parseInt(s(322))/2*(-parseInt(s(312))/3)+parseInt(s(355))/4+-parseInt(s(342))/5+parseInt(s(338))/6*(-parseInt(s(332))/7)+parseInt(s(324))/8+parseInt(s(321))/9*(-parseInt(s(357))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Bk);class Fk extends n{constructor(t){const e=Pk;super(),this.player=t,this[e(337)]=e(341),this[e(318)]=[],this[e(356)]=t[e(352)][e(356)],qe()?this[e(325)][e(347)](this[e(337)],"not support mobile"):this[e(346)](),t[e(354)](this[e(337)],e(346))}[Mk(317)](){const t=Mk;this[t(318)]=[],this[t(325)].debugLog(this.LOG_NAME,t(317))}get isShow(){const t=Mk;return am(this[t(325)].$container,t(334))}[Mk(331)](){const t=Mk;nm(this.player.$container,t(334))}[Mk(328)](){const t=Mk;om(this[t(325)][t(323)],"jb-pro-contextmenus-show")}init(){const t=Mk,{events:{proxy:e},debug:s}=this[t(325)];this.player._opt[t(316)].length>0&&this[t(325)][t(353)][t(316)][t(313)]((e=>{this[t(351)](e)})),e(this[t(325)].$container,t(345),(e=>{const s=t;e[s(348)](),this[s(331)]();const i=e[s(330)],r=e.clientY,{height:n,width:o,left:a,top:h}=this[s(325)].$container[s(340)](),{height:c,width:l}=this[s(356)][s(340)]();let d=i-a,u=r-h;i+l>a+o&&(d=o-l),r+c>h+n&&(u=n-c),We(this[s(356)],{left:d+"px",top:u+"px"})})),e(this[t(325)][t(323)],"click",(e=>{const s=t;!dm(e,this[s(356)])&&this[s(328)]()})),this.player.on(O.blur,(()=>{this[t(328)]()}))}_validateMenuItem(t){const e=Mk;let s=!0;return!t[e(344)]&&(this[e(325)][e(347)](this.LOG_NAME,"content is required"),s=!1),s}[Mk(351)](){const t=Mk;let e=arguments[t(320)]>0&&void 0!==arguments[0]?arguments[0]:{};const s=Xs(St);if(e=Object[t(350)]({},s,e),!this[t(329)](e))return;const{events:{proxy:i},debug:r}=this[t(325)],n=ns(),o=t(326)+n+'">\n '+e[t(344)]+t(333),a=Array[t(319)](this.$contextmenus[t(339)])[e[t(327)]];a?a[t(349)](t(315),o):hm(this[t(356)],o);const h=this[t(356)][t(335)](".jb-pro-contextmenu-"+n);e[t(336)]&&i(h,t(336),(s=>{const i=t;s.preventDefault(),e[i(336)].call(this.player,this,s),this.hide()})),this[t(318)][t(343)]({uuid:n,$menuItem:h})}}const Ok=Uk;function Uk(t,e){const s=jk();return(Uk=function(t,e){return s[t-=446]})(t,e)}function jk(){const t=["srcObject","currentRoundTripTime","canvasRenderInterval","new","84CEhHEf","muted","events","disconnected","render","createElement","checking","ontrack video","readyState","video is paused and replay error ","timeUpdate","floor","_startCanvasRender","toFixed","emitError","_initRtcPeerConnection","video canplay","frameHeight","bytesSent","candidate","getReceivers","prevWebrtcAudioStats","39923050dxDKSw","addTransceiver","pause","TAG_NAME","load","_stopCanvasRender","_initVideoEvents()","destroy","onsignalingstatechange[本地端的信号状态]","webrtcOnConnectionStateChange","video","then","canplay","play","updateStats","rtt","push","absolute","completed","_startBandwidthEstimateInterval","video is paused and next try to replay","onconnectionstatechange","rtcPeerTrackAudioReceiver","CommonWebrtc","lastTimeStamp","webrtcIceCandidateError","failed","rtcPeerConnection","type","supportVideoFrameCallbackHandle","emit","1012977KbvXJo","video loadedmetadata","catch","remoteCandidate","4366NAwLLZ","bind","isDisconnected","end","connected","playbackRate","InboundRtp","forEach","7799484oqiBle","webrtcDisconnect","8333304GfgYIg","_opt","onnegotiationneeded[通信环境发生变化]","audio","videoHeight","eventsDestroy","start","105085zNAZaE","paused","length","style","onconnectionstatechange[所有ICE 状态总览]","src","position","iceConnectionState","2349639IAheUa","state","ondatachannel","find","$videoElement","buffered","bandwidthEstimateInterval","bytesReceived","frameWidth","webrtcOnIceConnectionStateChange","debugWarn","isInitInfo","isH264","connectionState","CandidatePair","initCanvasViewSize","loadedmetadata","track","ontrack","connecting","getStats","currentTime","onsignalingstatechange","updateVideoInfo","closed","getVideoCurrentTime","recvonly","removeAttribute","kind","getVideoBufferTimeRange","videoStream","webrtcUseCanvasRender","abps","RemoteCandidate","videoFrameCallback() player is destroyed","timestamp","localCandidate","onnegotiationneeded","kBps","ratechange","stop","debugLog","_stopBandwidthEstimateInterval","currentWebrtcStats","vbps","prevWebrtcVideoStats","Track","webrtcFailed","requestVideoFrameCallback","111ulZQmy","onicecandidateerror[candidate错误]","onicecandidateerror","onicecandidate","rtcPeerTrackVideoReceiver","Remote ICE candidate: ","isWebrtcH264","8YvUxeW","videoFrameCallback","player"];return(jk=function(){return t})()}!function(t,e){const s=Uk,i=t();for(;;)try{if(704145===-parseInt(s(529))/1*(-parseInt(s(455))/2)+-parseInt(s(451))/3+-parseInt(s(543))/4*(parseInt(s(472))/5)+-parseInt(s(463))/6+-parseInt(s(465))/7+-parseInt(s(536))/8*(parseInt(s(480))/9)+parseInt(s(565))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(jk);class Nk extends n{constructor(t){const e=Uk;super(),this[e(538)]=t,this[e(568)]=e(588),this[e(447)]=null,this[e(510)]=null,this[e(457)]=!1,this[e(492)]=this[e(538)][e(535)](),this.eventsDestroy=[],this[e(449)]=null,this[e(491)]=!1,this.$videoElement=this[e(538)][e(575)][e(484)],this[e(486)]=null,this[e(533)]=null,this[e(587)]=null,this[e(525)]={},this.prevWebrtcAudioStats={},this.currentWebrtcStats={},this[e(538)][e(466)][e(511)]&&this[e(492)]&&(this[e(484)]=document[e(548)](e(575)),es()&&(this[e(484)][e(475)][e(478)]=e(582)),this._initVideoEvents()),this.$videoElement[e(544)]=!0,this[e(558)]()}[Ok(572)](){const t=Ok;if(this[t(457)]=!1,this[t(491)]=!1,this.prevWebrtcVideoStats={},this[t(523)]={},this[t(533)]=null,this[t(587)]=null,this[t(522)](),this[t(449)]&&this[t(484)]&&(this[t(484)].cancelVideoFrameCallback(this[t(449)]),this.supportVideoFrameCallbackHandle=null),this.eventsDestroy[t(474)]&&(this.eventsDestroy[t(462)]((t=>t())),this[t(470)]=[]),this[t(492)]&&(this[t(510)]&&(this[t(510)].getTracks()[t(462)]((e=>e[t(520)]())),this[t(510)]=null),this.$videoElement))if(this[t(538)]._opt[t(511)]){this[t(484)][t(567)]&&(this[t(484)][t(567)](),this[t(484)][t(544)]=!0),this[t(484)][t(501)]=0,this.$videoElement[t(477)]&&(this.$videoElement[t(477)]="",this[t(484)][t(507)]("src"));try{this[t(484)][t(569)]()}catch(t){}}else this.$videoElement[t(539)]&&(this[t(484)][t(539)]=null,this[t(484)][t(507)](t(539)));this.$videoElement=null,this[t(447)]&&(this[t(447)][t(532)]=Oe,this[t(447)][t(498)]=Oe,this.rtcPeerConnection[t(586)]=Oe,this.rtcPeerConnection[t(482)]=Oe,this.rtcPeerConnection.close(),this[t(447)]=null)}_initVideoEvents(){const t=Ok;this[t(538)][t(521)](this[t(568)],t(571));const{proxy:e}=this.player[t(545)],s=e(this[t(484)],pt[t(577)],(()=>{const e=t;this[e(538)][e(521)](this.TAG_NAME,e(559)),this[e(484)][e(578)]()[e(576)]((()=>{const t=e;this.player.debugLog(this[t(568)],"video play"),this[t(555)](),this._initRenderSize()}))[e(453)]((t=>{const s=e;this.player.debugWarn(this[s(568)],"video play error ",t)}))})),i=e(this.$videoElement,pt.waiting,(()=>{const e=t;this.player[e(521)](this[e(568)],"video waiting")})),r=e(this[t(484)],pt[t(496)],(()=>{const e=t;this.player[e(521)](this[e(568)],e(452))})),n=e(this[t(484)],pt[t(553)],(e=>{const s=t;parseInt(e.timeStamp,10),this[s(484)][s(473)]&&(this[s(538)][s(490)](this[s(568)],s(585)),this.$videoElement.play().then((()=>{const t=s;this[t(538)][t(521)](this[t(568)],"video is paused and replay success")})).catch((t=>{const e=s;this[e(538)].debugWarn(this[e(568)],e(552),t)})))})),o=e(this[t(484)],pt[t(519)],(()=>{const e=t;this.player[e(521)](this.TAG_NAME,"video playback Rate change",this[e(484)]&&this.$videoElement[e(460)])}));this.eventsDestroy[t(581)](s,i,n,o,r)}[Ok(558)](){const t=Ok,e=new RTCPeerConnection,s=this.player;e[t(566)](t(575),{direction:t(506)}),e.addTransceiver(t(468),{direction:t(506)}),e[t(502)]=e=>{const s=t;this[s(538)][s(521)](this[s(568)],s(573),e)},e.onicegatheringstatechange=s=>{const i=t;this[i(538)][i(521)](this.TAG_NAME,"onicegatheringstatechange[ICE收集状态]",s,e.iceGatheringState)},e[t(517)]=e=>{const s=t;this.player.debugLog(this[s(568)],s(467),e)},e.oniceconnectionstatechange=i=>{const r=t;this[r(538)][r(521)](this.TAG_NAME,"oniceconnectionstatechange",e[r(479)]);const n=e[r(479)];switch(this.player.emit(O[r(489)],n),this.isDisconnected=n===r(546),e[r(479)]){case r(542):case r(549):case"closed":break;case r(446):s[r(450)](O[r(527)]);break;case r(546):s[r(450)](O[r(464)]);break;case r(459):case r(583):break;case r(504):s[r(450)](O.webrtcClosed)}},e.onicecandidate=e=>{const s=t;this[s(538)][s(521)](this[s(568)],s(532),e),e[s(562)]&&this.player[s(521)](this[s(568)],s(534),e.candidate[s(562)])},e[t(498)]=s=>{const i=t;if(this.player[i(521)](this.TAG_NAME,i(498),s),s[i(497)][i(508)]===i(575)){this.player[i(521)](this[i(568)],i(550)),this[i(533)]=e[i(563)]()[i(483)]((function(t){const e=i;return t.track===s[e(497)]})),this[i(533)]&&this[i(584)]();let t=s.streams[0];this[i(484)].autoplay=!0,this[i(484)][i(539)]=t,this[i(510)]=t}else"audio"===s.track[i(508)]&&(this[i(538)][i(521)](this[i(568)],"ontrack audio"),this[i(587)]=e[i(563)]()[i(483)]((function(t){const e=i;return t[e(497)]===s[e(497)]})),this.rtcPeerTrackAudioReceiver&&this._startBandwidthEstimateInterval())},e[t(531)]=e=>{const s=t;this[s(538)][s(521)](this.TAG_NAME,s(530),e),this[s(538)][s(557)](N[s(590)],e)},e[t(586)]=i=>{const r=t;switch(this[r(538)][r(521)](this[r(568)],r(476),i),this[r(538)].emit(O[r(574)],e.connectionState),e[r(493)]){case r(542):case r(499):case"connected":case r(546):break;case r(446):this.isDisconnected&&s.emit(O[r(527)]);case r(504):}},this[t(447)]=e}[Ok(584)](){const t=Ok;this[t(538)][t(521)](this[t(568)],t(584)),this[t(522)](),this[t(486)]=setInterval((()=>{const e=t;this.rtcPeerTrackVideoReceiver&&this[e(533)][e(500)]()[e(576)]((t=>{const s=e;let i={},r=0;t.forEach((t=>{const e=Uk;if(t)switch(t[e(448)]){case Ut[e(494)]:("succeeded"===t[e(481)]||t[e(487)])&&(this[e(523)].timestamp=t.timestamp,this[e(523)][e(580)]=t[e(540)]||-1,this.currentWebrtcStats[e(487)]=t[e(487)]||0,this[e(523)][e(561)]=t.bytesSent||0);break;case Ut[e(513)]:this[e(523)][e(454)]=t||{};break;case Ut.LocalCandidate:this[e(523)][e(516)]=t||{};break;case Ut[e(461)]:this[e(523)][e(589)]=t[e(515)];const s=((t[e(515)]||0)-(this[e(525)].timestamp||0))/1e3,n=Number(t[e(487)]||0)-Number(this[e(525)].bytesReceived||0),o=Math[e(554)](n/s);r+=o,i[e(524)]=o,this[e(525)]=t;break;case Ut[e(526)]:t[e(488)]&&t.frameHeight&&(this[e(523)][e(488)]=t[e(488)]||0,this[e(523)][e(560)]=t[e(560)]||0)}})),this.rtcPeerTrackAudioReceiver?this[s(587)].getStats()[s(576)]((t=>{const e=s;t[e(462)]((t=>{const s=e;if(t&&t[s(448)]===Ut[s(461)]){this[s(523)][s(589)]=t.timestamp;const e=((t[s(515)]||0)-(this[s(564)][s(515)]||0))/1e3,n=Number(t[s(487)]||0)-Number(this.prevWebrtcAudioStats[s(487)]||0),o=Math[s(554)](n/e);r+=o,i[s(512)]=o,this[s(564)]=t}})),this[e(538)][e(579)](i),this[e(538)][e(450)](O[e(518)],(r/1024)[e(556)](2))})):(this[s(538)].updateStats(i),this.player.emit(O[s(518)],(r/1024)[s(556)](2)))}))}),1e3)}[Ok(522)](){const t=Ok;this[t(538)][t(521)](this.TAG_NAME,t(522)),this.bandwidthEstimateInterval&&(clearInterval(this[t(486)]),this[t(486)]=null)}[Ok(555)](){const t=Ok;di()?this.supportVideoFrameCallbackHandle=this.$videoElement[t(528)](this[t(537)][t(456)](this)):(this[t(570)](),this[t(541)]=setInterval((()=>{const e=t;this[e(538)][e(575)][e(547)]({$video:this[e(484)],ts:0})}),40))}[Ok(570)](){const t=Ok;this[t(541)]&&(clearInterval(this.canvasRenderInterval),this[t(541)]=null)}[Ok(537)](t){const e=Ok;let s=arguments[e(474)]>1&&void 0!==arguments[1]?arguments[1]:{};if(this.player.isDestroyedOrClosed())return void this[e(538)].debugLog(this[e(568)],e(514));const i=parseInt(1e3*Math.max(s.mediaTime,this[e(484)][e(501)]),10)||0;this[e(538)].handleRender(),this[e(538)].video[e(547)]({$video:this.$videoElement,ts:i}),this.player.updateStats({dts:i}),this[e(449)]=this[e(484)][e(528)](this[e(537)].bind(this))}_initRenderSize(){const t=Ok;!this[t(491)]&&(this[t(538)][t(575)][t(503)]({width:this[t(484)].videoWidth,height:this[t(484)][t(469)]}),this.player[t(575)][t(495)](),this.isInitInfo=!0)}[Ok(505)](){const t=Ok;let e=0;return this.$videoElement&&(e=this[t(484)][t(501)]),e}isVideoPlaying(){const t=Ok;return this[t(484)]&&ii(this[t(484)][t(473)])&&ii(this.$videoElement.ended)&&0!==this[t(484)][t(460)]&&0!==this.$videoElement[t(551)]}[Ok(509)](){const t=Ok,e=this[t(484)];let s=null;if(e){const i=e[t(485)],r=i[t(474)]?i[t(471)](0):0,n=i[t(474)]?i[t(458)](i.length-1):0;s={start:r,end:n,diff:n-r}}return s}}function Vk(){const t=["200286lMbuhp","1200350uWSQyG","5019tArODW","json","1498cRslVs","1183343xoNBAb","include","3063440HrwEQt","text/plain;charset=utf-8","password","no-referrer","84zJwOqa","no-cache","username","737960xadWpt","POST","271NbMqTE","application/sdp","27mfmuDD","follow","cors"];return(Vk=function(){return t})()}function zk(t,e){const s=Vk();return(zk=function(t,e){return s[t-=394]})(t,e)}!function(t,e){const s=zk,i=t();for(;;)try{if(203363===-parseInt(s(400))/1*(-parseInt(s(409))/2)+parseInt(s(407))/3*(parseInt(s(395))/4)+-parseInt(s(398))/5+-parseInt(s(405))/6+parseInt(s(410))/7+-parseInt(s(412))/8+parseInt(s(402))/9*(parseInt(s(406))/10))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Vk);const Wk=Gk;function Gk(t,e){const s=Kk();return(Gk=function(t,e){return s[t-=210]})(t,e)}!function(t,e){const s=Gk,i=t();for(;;)try{if(151072===-parseInt(s(219))/1*(-parseInt(s(232))/2)+parseInt(s(226))/3*(parseInt(s(223))/4)+parseInt(s(215))/5*(parseInt(s(231))/6)+parseInt(s(214))/7+parseInt(s(225))/8+parseInt(s(236))/9+-parseInt(s(211))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Kk);class Hk extends Nk{constructor(t){const e=Gk;super(t),this[e(221)]=e(240),this[e(224)][e(220)](this[e(221)],e(239))}[Wk(229)](){const t=Wk;super[t(229)](),this[t(224)].debugLog(this[t(221)],t(229))}loadSource(t){return new Promise(((e,s)=>{const i=Gk,r=this[i(237)];r[i(228)]().then((n=>{const o=i;r[o(212)](n),this[o(224)][o(220)](this.TAG_NAME,o(222)),function(t,e){const s=zk;return fetch(t,{method:s(399),mode:s(404),cache:s(396),credentials:s(411),redirect:"follow",referrerPolicy:s(394),headers:{"Content-Type":s(401)},body:e})}(t,n.sdp)[o(216)]((t=>{const i=o;this.player[i(220)](this[i(221)],i(218)+t[i(230)]);const n=t;if(n&&0!==n[i(230)])return this.player[i(233)](this.TAG_NAME,i(213)+n.code),s(n[i(238)]);n?r.setRemoteDescription(new RTCSessionDescription({type:i(217),sdp:n}))[i(216)]((()=>{e()}))[i(235)]((t=>{const e=i;this[e(224)]&&this.player[e(233)](this.TAG_NAME,"loadSource setRemoteDescription error",t[e(210)](),t),s(t)})):(this.player[i(233)](this[i(221)],i(234)),s(i(234)))}))[o(235)]((t=>{const e=o;this[e(224)].debugError(this[e(221)],e(227),t[e(210)](),t),s(t)}))}))[i(235)]((t=>{const e=i;this[e(224)].debugError(this[e(221)],"loadSource rtcPeerConnection.createOffer() error",t.toString(),t),s(t)}))}))}}function Kk(){const t=["code","78978GwZzjs","5526dOwqHC","debugError","response sdp is null","catch","1465839UnwzGg","rtcPeerConnection","msg","init","WebrtcForSRSDecoder","toString","9088450nlXQNM","setLocalDescription","response json code ","1744925pNkZFP","35IUTaXu","then","answer","getWebRtcRemoteSdp response and code is ","75lYXjqR","debugLog","TAG_NAME","getWebRtcRemoteSdp loadSource","716uXLTQF","player","1239248qGLswO","3243TmTEpA","loadSource getWebRtcRemoteSdp response error","createOffer","destroy"];return(Kk=function(){return t})()}const Qk=qk;function Yk(){const t=["init","sdp is null","1533744bHUEVU","sdp","player","rtcPeerConnection","answer","WebrtcForOthersDecoder","createOffer","5mrcijR","40LpuPDV","370756RYHMVI","setLocalDescription","destroy","loadSource response.text() error","code","15wJVakO","TAG_NAME","loadSource sdp is null","1185417YQQduT","debugLog","43688OJmVGN","getWebRtcRemoteSdp loadSource","parse","getWebRtcRemoteSdp response and code is ","loadSource setRemoteDescription error","loadSource getWebRtcRemoteSdp response error","loadSource","toString","then","890iwUwRS","catch","debugError","224279TmMVss","setRemoteDescription","getWebRtcRemoteSdp response","30842oUasKW","38632WcoPmy"];return(Yk=function(){return t})()}function qk(t,e){const s=Yk();return(qk=function(t,e){return s[t-=125]})(t,e)}!function(t,e){const s=qk,i=t();for(;;)try{if(188997===parseInt(s(140))/1+parseInt(s(128))/2*(-parseInt(s(161))/3)+-parseInt(s(156))/4*(parseInt(s(154))/5)+-parseInt(s(147))/6+-parseInt(s(143))/7*(parseInt(s(155))/8)+parseInt(s(126))/9+parseInt(s(137))/10*(parseInt(s(144))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Yk);class Jk extends Nk{constructor(t){const e=qk;super(t),this.TAG_NAME=e(152),this[e(149)].debugLog(this.TAG_NAME,e(145))}[Qk(158)](){const t=Qk;super[t(158)](),this[t(149)][t(127)](this[t(162)],t(158))}[Qk(134)](t){return new Promise(((e,s)=>{const i=qk,r=this[i(150)];r[i(153)]()[i(136)]((n=>{const o=i;r[o(157)](n),this[o(149)].debugLog(this.TAG_NAME,o(129)),function(t,e){const s=zk;return fetch(t,{method:"POST",mode:s(404),cache:s(396),credentials:s(411),redirect:s(403),referrerPolicy:"no-referrer",headers:{"Content-Type":"application/sdp"},body:e})}(t,n[o(148)])[o(136)]((t=>{const i=o;this[i(149)][i(127)](this[i(162)],i(131)+t.code),t.text().then((t=>{const n=i;this[n(149)][n(127)](this.TAG_NAME,n(142));try{let e=JSON[n(130)](t);this[n(149)][n(127)](this[n(162)],"this is json sdp response"),0!=e[n(160)]&&(this[n(149)][n(139)](this[n(162)],"response json code "+e[n(160)]),s(new Error("response sdp json code: "+e[n(160)]))),t=e[n(148)]}catch(t){this[n(149)][n(127)](this[n(162)],"this is raw sdp response")}t?r[n(141)](new RTCSessionDescription({type:n(151),sdp:t}))[n(136)]((()=>{e()})).catch((t=>{const e=n;this[e(149)][e(139)](this.TAG_NAME,e(132),t[e(135)](),t),s(t)})):(this[n(149)][n(139)](this[n(162)],n(125)),s(n(146)))}))[i(138)]((t=>{const e=i;this[e(149)][e(139)](this[e(162)],e(159),t[e(135)](),t),s(t)}))}))[o(138)]((t=>{const e=o;this.player.debugError(this[e(162)],e(133),t[e(135)](),t),s(t)}))}))[i(138)]((t=>{const e=i;this[e(149)][e(139)](this[e(162)],"loadSource rtcPeerConnection.createOffer() error",t[e(135)](),t),s(t)}))}))}}const Xk=$k;function Zk(){const t=["isWebrtcH265","connecting","getReceivers","ontrack video","connected","createOffer","demux","init","loadSource response.text() error","track","webrtcOnConnectionStateChange","catch","setLocalDescription","iceGatheringState","rtcPeerTrackVideoReceiver","onnegotiationneeded[通信环境发生变化]","audio","loadSource rtcPeerConnection.createOffer() error","closed","onclose","then","emitError","3068564aRZPOZ","failed","onmessage","rtcPeerConnection","data","rtcPeerTrackAudioReceiver","answer","webrtcIceCandidateError","5063463tWcpkT","onicecandidateerror[candidate错误]","debugWarn","stopStreamRateInterval","onicecandidateerror","toString","new","debugLog","srcObject","onnegotiationneeded","destroy","connectionState","ondatachannel and onopen","recvonly","webrtcFailed","startStreamRateInterval","candidate","1059504nnblcJ","streams","isDestroyedOrClosed","player","videoStream","ondatachannel and player is destroyed","WebrtcForM7SDecoder","dispatch","rtcPeerConnectionDataChannel","isWebrtcH264","_startBandwidthEstimateInterval","6078678XGQQtX","onicecandidate","sdp","_initRtcPeerConnection","17471187CnBfJZ","byteLength","checking","kBps","TAG_NAME","signalChannel,onmessage","5ReCdAR","onopen","loadSource setRemoteDescription error","streamRateInterval","onconnectionstatechange","find","onicegatheringstatechange[ICE收集状态]","offer","debugError","2696956cXiaPw","parse","4038128gdewWn","ondatachannel","type","streamRate","addTransceiver","kind","disconnected","iceConnectionState","webrtcClosed","ontrack","completed","onconnectionstatechange[所有ICE 状态总览]","ondatachannel is H265 but decode is h264 so emit webrtcStreamH265 ","ondatachannel and onclose","isDisconnected","video","text","7PChWbY","toFixed","emit","loadSource getWebRtcRemoteSdp response error"];return(Zk=function(){return t})()}function $k(t,e){const s=Zk();return($k=function(t,e){return s[t-=248]})(t,e)}!function(t,e){const s=$k,i=t();for(;;)try{if(879072===parseInt(s(251))/1+parseInt(s(281))/2+parseInt(s(334))/3+parseInt(s(326))/4*(-parseInt(s(272))/5)+parseInt(s(262))/6*(-parseInt(s(300))/7)+parseInt(s(283))/8+-parseInt(s(266))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(Zk);class t_ extends Nk{constructor(t){const e=$k;super(t),this[e(259)]=null,this.player[e(304)]()&&(this.streamRate=Ke((s=>{const i=e;t.emit(O[i(269)],(s/1024)[i(301)](2))}))),this[e(270)]=e(257),this[e(254)][e(341)](this.TAG_NAME,e(311))}[Xk(344)](){const t=Xk;super.destroy(),this.stopStreamRateInterval(),this[t(259)]&&(this[t(259)].onopen=Oe,this[t(259)][t(323)]=Oe,this.rtcPeerConnectionDataChannel.onmessage=Oe,this.rtcPeerConnectionDataChannel.close(),this[t(259)]=null),this.player[t(341)](this.TAG_NAME,t(344))}[Xk(265)](){const t=Xk,e=new RTCPeerConnection,s=this[t(254)];e[t(287)](t(298),{direction:t(347)}),e.addTransceiver(t(320),{direction:"recvonly"}),e.onsignalingstatechange=e=>{const s=t;this[s(254)][s(341)](this[s(270)],"onsignalingstatechange[本地端的信号状态]",e)},e.onicegatheringstatechange=s=>{const i=t;this[i(254)][i(341)](this.TAG_NAME,i(278),s,e[i(317)])},e[t(343)]=e=>{const s=t;this.player.debugLog(this[s(270)],s(319),e)},e.oniceconnectionstatechange=i=>{const r=t;this[r(254)].debugLog(this.TAG_NAME,"oniceconnectionstatechange",e[r(290)]);const n=e.iceConnectionState;switch(this[r(254)].emit(O.webrtcOnIceConnectionStateChange,n),this[r(297)]=n===r(289),e[r(290)]){case r(340):case r(268):case r(322):break;case"failed":s.emit(O.webrtcFailed);break;case r(289):s.emit(O.webrtcDisconnect);break;case"connected":case r(293):break;case r(322):s[r(302)](O[r(291)])}},e[t(263)]=e=>{const s=t;this[s(254)].debugLog(this.TAG_NAME,s(263),e),e[s(250)]&&this[s(254)][s(341)](this[s(270)],"Remote ICE candidate: ",e[s(250)][s(250)])},e[t(292)]=i=>{const r=t;this.player[r(341)](this.TAG_NAME,r(292),i);const n=s.getWebrtcVideo();if(s[r(260)]())if("video"===i[r(313)][r(288)]){this[r(254)][r(341)](this[r(270)],r(307)),this[r(318)]=e[r(306)]().find((function(t){const e=r;return t[e(313)]===i[e(313)]})),this.rtcPeerTrackVideoReceiver&&this[r(261)]();let t=i[r(252)][0];n.autoplay=!0,n[r(342)]=t,this[r(255)]=t}else"audio"===i[r(313)].kind&&(this.player[r(341)](this[r(270)],"ontrack audio"),this.rtcPeerTrackAudioReceiver=e.getReceivers()[r(277)]((function(t){const e=r;return t[e(313)]===i[e(313)]})),this[r(331)]&&this[r(261)]())},e[t(338)]=e=>{const s=t;this[s(254)][s(341)](this.TAG_NAME,s(335),e),this.player[s(325)](N[s(333)],e)},e[t(276)]=i=>{const r=t;switch(this[r(254)][r(341)](this.TAG_NAME,r(294),i),this[r(254)].emit(O[r(314)],e[r(345)]),e.connectionState){case r(340):case r(305):case r(308):case r(289):break;case r(327):this[r(297)]&&s[r(302)](O[r(248)]);case r(322):}},e[t(284)]=e=>{const s=t,i=e.channel;this[s(254)].debugLog(this[s(270)],"ondatachannel"),i[s(273)]=()=>{const t=s;this[t(254)][t(341)](this[t(270)],t(346))},i[s(328)]=t=>{const e=s,i=t[e(330)];if(this[e(254)][e(260)]())return this.player.debugWarn(this[e(270)],e(295)),void this.player[e(302)](O.webrtcStreamH265);this.player[e(253)]()?this[e(254)].debugWarn(this[e(270)],e(256)):(this[e(286)]&&this[e(286)](i[e(267)]),this[e(254)][e(310)]&&this.player.demux[e(258)](i))},i[s(323)]=()=>{const t=s;this.player[t(336)](this[t(270)],t(296))},this.rtcPeerConnectionDataChannel=i};e.createDataChannel("signal")[t(328)]=e=>{const s=t;this.player[s(341)](this[s(270)],s(271),e);switch(JSON[s(282)](e.data)[s(285)]){case s(279):case"answer":case s(250):}},this[t(329)]=e}startStreamRateInterval(){const t=Xk;this[t(337)](),this[t(275)]=setInterval((()=>{const e=t;this[e(286)]&&this[e(286)](0)}),1e3)}[Xk(337)](){const t=Xk;this[t(275)]&&(clearInterval(this.streamRateInterval),this[t(275)]=null)}loadSource(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=$k,n=this.rtcPeerConnection;n[r(309)]()[r(324)]((o=>{const a=r;n[a(316)](o),this[a(254)][a(341)](this[a(270)],"getWebRtcRemoteSdp loadSource"),function(t,e,s){const i=zk;let r={"Content-Type":i(401)};return s[i(397)]&&s[i(414)]&&(r.Authorization="Basic "+btoa(s[i(397)]+":"+s[i(414)])),fetch(t,{method:"POST",mode:i(404),cache:"no-cache",credentials:"include",redirect:i(403),referrerPolicy:"no-referrer",headers:r,body:e})}(t,o[a(264)],e).then((t=>{const e=a;t[e(299)]()[e(324)]((t=>{const r=e;this[r(254)].debugLog(this.TAG_NAME,"getWebRtcRemoteSdp response"),t?n.setRemoteDescription(new RTCSessionDescription({type:r(332),sdp:t}))[r(324)]((()=>{const t=r;this[t(254)][t(304)]()&&this[t(249)](),s()})).catch((t=>{const e=r;this.player[e(280)](this[e(270)],e(274),t.toString(),t),i(t)})):(this[r(254)][r(280)](this.TAG_NAME,"loadSource sdp is null"),i("sdp is null"))}))[e(315)]((t=>{const s=e;this[s(254)][s(280)](this.TAG_NAME,s(312),t.toString(),t),i(t)}))}))[a(315)]((t=>{const e=a;this.player.debugError(this[e(270)],e(303),t[e(339)](),t),i(t)}))})).catch((t=>{const e=r;this.player[e(280)](this.TAG_NAME,e(321),t[e(339)](),t),i(t)}))}))}}const e_=i_;!function(t,e){const s=i_,i=t();for(;;)try{if(640262===-parseInt(s(131))/1+-parseInt(s(126))/2+parseInt(s(143))/3+-parseInt(s(130))/4*(-parseInt(s(129))/5)+parseInt(s(124))/6*(parseInt(s(139))/7)+-parseInt(s(132))/8*(parseInt(s(119))/9)+parseInt(s(122))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(r_);class s_ extends Nk{constructor(t){const e=i_;super(t),this[e(123)]=e(121),this[e(140)][e(137)](this.TAG_NAME,"init")}[e_(134)](){const t=e_;super[t(134)](),this.player[t(137)](this[t(123)],t(134))}loadSource(t){return new Promise(((e,s)=>{const i=i_,r=this[i(127)];r[i(133)]().then((n=>{const o=i;r[o(138)](n),this.player[o(137)](this[o(123)],o(120)),function(t,e){const s=zk;return Ec({url:t,type:s(399),data:e,contentType:s(413),processData:!1,dataType:s(408)})}(t,n[o(128)])[o(125)]((t=>{const i=o;this[i(140)].debugLog(this[i(123)],"getWebRtcRemoteSdp response and code is "+t[i(142)]);const n=t;if(n&&0!==n[i(142)])return this[i(140)][i(147)](this[i(123)],"response json code "+n[i(142)]),s(n[i(146)]);n&&n[i(128)]?r[i(149)](new RTCSessionDescription({type:i(145),sdp:n[i(128)]}))[i(125)]((()=>{e()})).catch((t=>{const e=i;this[e(140)][e(147)](this[e(123)],e(144),t[e(150)](),t),s(t)})):(this.player[i(147)](this.TAG_NAME,"response sdp is null"),s(i(141)))})).catch((t=>{const e=o;this[e(140)][e(147)](this[e(123)],e(148),t[e(150)](),t),s(t)}))}))[i(136)]((t=>{const e=i;this.player[e(147)](this[e(123)],e(135),t.toString(),t),s(t)}))}))}}function i_(t,e){const s=r_();return(i_=function(t,e){return s[t-=119]})(t,e)}function r_(){const t=["toString","27utWcCr","getWebRtcRemoteSdp loadSource","WebrtcForZLMDecoder","2045520dTXoUy","TAG_NAME","6leSmWj","then","1675024aGKjQY","rtcPeerConnection","sdp","5bEwYQK","4321824hMGiyl","524345TxGpkE","1704952TcqLAb","createOffer","destroy","loadSource rtcPeerConnection.createOffer() error","catch","debugLog","setLocalDescription","4206881wPYggZ","player","sdp is null","code","2266455LiDcxp","loadSource setRemoteDescription error","answer","msg","debugError","loadSource getWebRtcRemoteSdp response error","setRemoteDescription"];return(r_=function(){return t})()}const n_=o_;function o_(t,e){const s=h_();return(o_=function(t,e){return s[t-=385]})(t,e)}!function(t,e){const s=o_,i=t();for(;;)try{if(191020===parseInt(s(436))/1+-parseInt(s(387))/2+parseInt(s(418))/3*(parseInt(s(426))/4)+-parseInt(s(447))/5*(-parseInt(s(424))/6)+parseInt(s(401))/7+parseInt(s(408))/8*(-parseInt(s(444))/9)+-parseInt(s(438))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(h_);class a_ extends n{constructor(t){const e=o_;if(super(),this.TAG_NAME=e(423),this.player=t,!window[e(386)])throw new Error(e(402));this[e(385)]=window[e(386)][e(404)](),this[e(407)]=null,this.$videoElement=this[e(412)][e(389)][e(405)],this[e(420)](),this[e(412)].debugLog(this[e(400)],e(425))}[n_(393)](){const t=n_;this[t(385)]&&(this[t(407)]&&(this[t(407)]=null),this[t(385)][t(445)](),this.aliyunRtc=null),this[t(405)]=null,this[t(442)](),this[t(412)][t(413)](this[t(400)],t(393))}[n_(420)](){const t=n_;this[t(385)].on(t(437),(e=>{const s=t;this.player[s(413)](this[s(400)],s(415)+e[s(422)]+" and message: "+e[s(443)]),10400!==e[s(422)]&&(this[s(412)][s(391)](this[s(400)],s(415)+e[s(422)]+s(416)+e[s(443)]),this.player[s(448)](N[s(396)],e))})),this[t(385)].on(t(429),(e=>{const s=t;this[s(412)][s(413)](this[s(400)],s(429),e)}));const e={CANPLAY:"canplay",WAITING:"waiting",PLAYING:t(394),MEDIA:"media"};this[t(385)].on(t(439),(s=>{const i=t;if(s[i(421)]===e[i(406)])this[i(412)].debugLog(this[i(400)],i(414));else if(s[i(421)]===e[i(428)])this[i(412)][i(413)](this[i(400)],i(399));else if(s[i(421)]===e.PLAYING)this[i(412)][i(413)](this[i(400)],i(449));else if(s[i(421)]===e[i(440)]){const t=s.data;let e={},r=0;if(t[i(433)]){const s=Math[i(430)](t[i(433)][i(441)]);r+=s,e[i(446)]=s}if(t[i(389)]){const s=Math[i(430)](t[i(389)][i(441)]);r+=s,e[i(397)]=s}this[i(412)].updateStats(e),this.player[i(450)](O.kBps,(r/1024)[i(417)](2))}}))}[n_(431)](t){return new Promise(((e,s)=>{const i=o_;this[i(385)].isSupport({isReceiveVideo:!0})[i(434)]((()=>{const r=i;this[r(385)][r(395)](t,{})[r(434)]((t=>{const s=r;this[s(407)]=t,t[s(427)](this.$videoElement),e()}))[r(403)]((t=>{const e=r;this[e(412)].debugError(this.TAG_NAME,e(419),t[e(443)]),s(t[e(443)])}))}))[i(403)]((t=>{const e=i;this.player[e(391)](this[e(400)],"loadSource and is not support: ",t.message),s(t[e(443)])}))}))}[n_(435)](){const t=n_;let e=0;return this[t(405)]&&(e=this[t(405)][t(411)]),e}[n_(390)](){const t=n_;return this[t(405)]&&ii(this[t(405)][t(409)])&&ii(this[t(405)].ended)&&0!==this[t(405)][t(432)]&&0!==this[t(405)][t(392)]}getVideoBufferTimeRange(){const t=n_,e=this[t(405)];let s=null;if(e){const i=e[t(398)],r=i[t(388)]?i.start(0):0,n=i[t(388)]?i[t(410)](i[t(388)]-1):0;s={start:r,end:n,diff:n-r}}return s}}function h_(){const t=["length","video","isVideoPlaying","debugError","readyState","destroy","playing","subscribe","aliyunRtcError","vbps","buffered","onPlayEvent and playing - > waiting","TAG_NAME","1221962Htinzh","AliyunRtc is not defined","catch","createClient","$videoElement","CANPLAY","aliyunRtcRemoteStream","99064pqrovm","paused","end","currentTime","player","debugLog","onPlayEvent and canplay","onError and code is "," and message: ","toFixed","6kLxFEb","loadSource and subscribe is not success: ","listenEvents","event","errorCode","AliyunRtc","313134wTyEpY","init","259584CsJLsd","play","WAITING","reconnect","floor","loadSource","playbackRate","audio","then","getVideoCurrentTime","307075vKORKq","onError","141790RhtDEA","onPlayEvent","MEDIA","bytesReceivedPerSecond","off","message","162nGrcBi","unsubscribe","abps","5iShFsU","emitError","onPlayEvent and waiting -> playing","emit","aliyunRtc","AliRTS","471058IDREyH"];return(h_=function(){return t})()}function c_(){const t=["catch","source","5057738miPRjh","_init","160074zKYKuJ","5sTxvhF","serious","1BixvuU","getCurrentCpuState","player","then","35176sRyeXo","24365GQeVzw","latestCpuInfo","PressureObserverCpu","3168302xdCZzM","observe cpu fail","disconnect","currentLevel","4188OMRwwx","129pUefsf","TAG_NAME","observeCpuSuccess","observe","observe cpu success","find","destroy","observer","critical","debugLog","pressureObserverCpu","464DEtSbw","cpu","17650590WedbVv","6178644ijbIZP","not support PressureObserver","state"];return(c_=function(){return t})()}const l_=d_;function d_(t,e){const s=c_();return(d_=function(t,e){return s[t-=146]})(t,e)}!function(t,e){const s=d_,i=t();for(;;)try{if(938333===parseInt(s(152))/1*(parseInt(s(160))/2)+parseInt(s(165))/3*(-parseInt(s(156))/4)+-parseInt(s(150))/5*(parseInt(s(179))/6)+parseInt(s(147))/7+parseInt(s(176))/8*(parseInt(s(149))/9)+-parseInt(s(178))/10+parseInt(s(157))/11*(parseInt(s(164))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(c_);class u_{constructor(t){const e=d_;this.player=t,this[e(166)]=e(159),this.observer=null,this[e(158)]=null,this.currentLevel=-1,this[e(167)]=!1,this[e(148)](),this[e(154)][e(174)](this.TAG_NAME,"init")}destroy(){const t=d_;this[t(172)]&&(this.observeCpuSuccess&&this[t(172)][t(162)](),this.observer=null),this[t(158)]=null,this[t(163)]=-1,this[t(154)].debugLog(this[t(166)],t(171))}[l_(153)](){return this[l_(163)]}_init(){const t=l_;ii(ui())?this[t(154)][t(174)](this[t(166)],t(180)):(this[t(172)]=new PressureObserver((e=>{const s=t,i=(e||[])[s(170)]((t=>"cpu"===t[s(146)]));if(i){switch(this.latestCpuInfo=i,i[s(181)]){case"nominal":this[s(163)]=0;break;case"fair":this[s(163)]=1;break;case s(151):this.currentLevel=2;break;case s(173):this.currentLevel=3;break;default:this[s(163)]=-1}this[s(154)].emit(O[s(175)],this[s(163)])}})),this.observer&&this.observer[t(168)](t(177),{sampleInterval:1e3})[t(155)]((()=>{const e=t;this[e(167)]=!0,this[e(154)][e(174)](this[e(166)],e(169))}))[t(182)]((()=>{const e=t;this.observeCpuSuccess=!1,this[e(154)][e(174)](this[e(166)],e(161))})))}}function p_(){const t=["int","top","black","isPauseAnimation","resumeAnimation","isStopAnimation","_addDom","options","TAG_NAME","destroy","2775717PHOkPz","style","977157osukvF","6630070CLXnVj","height","fontSize","speed","off","51627cwDUVq","145518DiJAho","startAndResize","left","appendChild","resize","width","%20%E4%BD%93%E9%AA%8C","waterMarkWillRemove","once","GhostWatermark","opacity","waterMarkWillAdd","length","rafID","random","8KnqOIL","debugLog","min","start","stopAnimation","1601294Patkli","pauseAnimation","149424nKETpz","128nsartM","contains","update","shadowRootInnerDom","player","color","isGhost","getVideoInfo","shadowRootDynamicDom","_removeDom","55iFYgKO","getBoundingClientRect","startAnimation","ghostConfig","isDynamic"];return(p_=function(){return t})()}const f_=m_;function m_(t,e){const s=p_();return(m_=function(t,e){return s[t-=128]})(t,e)}!function(t,e){const s=m_,i=t();for(;;)try{if(517729===-parseInt(s(139))/1+parseInt(s(137))/2+-parseInt(s(173))/3*(-parseInt(s(140))/4)+parseInt(s(150))/5*(parseInt(s(174))/6)+-parseInt(s(165))/7+parseInt(s(132))/8*(parseInt(s(167))/9)+-parseInt(s(168))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(p_);class g_ extends xr{constructor(t){const e=m_;let s=arguments[e(129)]>1&&void 0!==arguments[1]?arguments[1]:{};super(t),this[e(163)]="DynamicWatermark",this[e(158)]=!1,this.isStopAnimation=!1,this.rafID=null,this[e(162)]=s,this[e(171)]=s.speed||.2,this[e(154)]=!0,this[e(148)]=null,this[e(146)]=!0===s[e(146)],this[e(146)]&&(this[e(163)]=e(183)),this.ghostConfig={on:s.on||5,off:s.off||5},this[e(181)]=!1,this[e(128)]=!1,this.player[e(182)](O[e(135)],this[e(135)].bind(this)),this[e(144)][e(133)](this[e(163)],e(155))}destroy(){const t=m_;super[t(164)](),this[t(148)]=null,this[t(136)](),this.rafID&&(cancelAnimationFrame(this[t(130)]),this[t(130)]=null)}start(){const t=m_,e=decodeURIComponent(S+t(180));let s=this[t(144)][t(147)]();!s&&(s={width:200,height:200}),this[t(142)]({text:{content:e,fontSize:this[t(162)][t(170)]||18,color:this[t(162)][t(145)]||t(157)},left:s[t(179)]*Math[t(131)](),top:s[t(169)]*Math[t(131)](),opacity:this.options[t(184)]||.15}),this[t(152)]()}[f_(175)](){const t=f_;this[t(135)](),this[t(178)]()}[f_(152)](){const t=f_;if(!this[t(130)]){let e=1,s=1,i=Math[t(131)](),r={width:0,height:0};const n=()=>{const o=t;try{if(ii(this[o(158)])&&this[o(148)]&&this.shadowRootInnerDom){const t=this.shadowRootInnerDom,a=this.shadowRootDynamicDom,h=t.getBoundingClientRect(),c=a[o(151)]();if(c.width&&c.height&&(r[o(179)]=c[o(179)],r.height=c[o(169)]),!this.shadowRootInnerDom[o(141)](this[o(148)]))return this.isGhost?ii(this[o(128)])&&(this.waterMarkWillAdd=!0,setTimeout((()=>{this[o(161)](h,r),this.waterMarkWillAdd=!1}),1e3*this[o(153)][o(172)])):this._addDom(h,r),void(0!==this[o(171)]&&requestAnimationFrame(n));const l=Math[o(134)](1,0===this.speed?0:this[o(171)]?this[o(171)]:.2);let d=c[o(176)]-h[o(176)],u=c[o(156)]-h.top;d+=l*s*i,u+=l*e*(1-i),d+r[o(179)]>h[o(179)]?(s=-1,i=Math[o(131)]()):d<0&&(s=1,i=Math.random()),u+r.height>h[o(169)]?(e=-1,i=Math.random()):u<0&&(e=1,i=Math.random()),d=Math[o(134)](h[o(179)]-r.width,d),u=Math.min(h[o(169)]-r[o(169)],u);const p=d/h[o(179)]*100,f=u/h[o(169)]*100;this.shadowRootDynamicDom.style[o(176)]=p+"%",this[o(148)][o(166)][o(156)]=f+"%",ii(this[o(181)])&&this.isGhost&&(this[o(181)]=!0,setTimeout((()=>{const t=o;this[t(149)](),this[t(181)]=!1}),1e3*this[o(153)].on))}}catch(t){}if(this[o(160)])return this.isStopAnimation=!1,cancelAnimationFrame(this[o(130)]),void(this[o(130)]=null);0!==this.speed&&requestAnimationFrame(n)};this[t(130)]=requestAnimationFrame(n)}}[f_(161)](t,e){const s=f_;if(this[s(143)]&&this[s(148)]){this[s(143)][s(177)](this.shadowRootDynamicDom);let i=t.width*Math[s(131)](),r=t[s(169)]*Math[s(131)]();i=Math[s(134)](t[s(179)]-2*e[s(179)],i),r=Math[s(134)](t.height-2*e[s(169)],r),this[s(148)].style[s(176)]=i+"px",this[s(148)][s(166)].top=r+"px"}}[f_(159)](){this[f_(158)]=!1}[f_(138)](){this.isPauseAnimation=!0}[f_(136)](){this[f_(160)]=!0}}function A_(t,e){const s=b_();return(A_=function(t,e){return s[t-=453]})(t,e)}const y_=A_;function b_(){const t=["drawingRectLineWidth","init","9324392YnUDOp","endPoint","1HEDqaO","TAG_NAME","handleMouseUp","pageY","position",".jb-pro-drawing-rect-box","width","8RYSGTL","mousedown","off","removeChild","abs","_removeRectBox","14igXNoa","destroy","_opt","startPoint","1756072enIuxL","20uOHysE","187605wXLubl","12tXYDnL","drawingRect","add","drawingRectangle","preventDefault","offsetX","createElement","1726840oFhSDh","mousemove","3188448YlWlzI","handleMouseMove","style","appendChild","classList","drawingRectColor","mouseup","border","isResize","stopPropagation","offsetLeft","144nHIIps","startPagePoint","_bindEvents","bind","absolute","querySelector","px solid ","284583LFAaDu","left","$container","$rectBox","27782677NmySOo","offsetTop","handleMouseDown","player","bindEvents","debugLog","drawingRectInfo","_resetPoint","height","isDragging","pageX","_handleDrawingRect","getControlHeight"];return(b_=function(){return t})()}!function(t,e){const s=A_,i=t();for(;;)try{if(483373===-parseInt(s(469))/1*(parseInt(s(496))/2)+parseInt(s(516))/3*(-parseInt(s(476))/4)+parseInt(s(488))/5*(-parseInt(s(509))/6)+parseInt(s(482))/7*(parseInt(s(486))/8)+-parseInt(s(498))/9*(-parseInt(s(487))/10)+-parseInt(s(467))/11+parseInt(s(489))/12*(parseInt(s(520))/13))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(b_);class v_ extends n{constructor(t){const e=A_;super(),this.player=t,this[e(470)]="DrawRectangle",this[e(492)]=!1,this[e(461)]=!1,this[e(456)]=[],this.$rectBox=null,this[e(459)](),this[e(455)].on(O[e(490)],this[e(463)][e(512)](this)),this.player[e(457)](this[e(470)],e(466))}[y_(483)](){const t=y_;this._unbindEvents(),this[t(492)]=!1,this[t(461)]=!1,this[t(481)](),this[t(478)](),this.player[t(457)](this[t(470)],"destroy")}_resetPoint(){const t=y_;this.startPagePoint={x:0,y:0},this[t(485)]={x:0,y:0},this[t(468)]={x:0,y:0}}_handleDrawingRect(t){const e=y_;this[e(492)]=t,t?this[e(511)]():(this._unbindEvents(),this[e(481)]())}[y_(511)](){const t=y_,{events:{proxy:e}}=this[t(455)],s=e(this[t(455)][t(518)],t(497),this[t(499)][t(512)](this)),i=e(this.player[t(518)],t(477),this.handleMouseDown[t(512)](this)),r=e(window,t(504),this[t(471)][t(512)](this));this[t(456)].push(s,i,r)}_unbindEvents(){const t=y_;this[t(456)].forEach((t=>{t&&t()})),this[t(456)]=[]}_removeRectBox(){const t=y_;if(this[t(519)]){if(!um(this.$rectBox)){const e=this.player.$container[t(514)](t(474));e&&this[t(455)][t(518)]&&this.player[t(518)][t(479)](e)}this[t(519)]=null}}[y_(454)](t){const e=y_;if(t.stopPropagation(),!this[e(492)])return;this[e(481)]();const s=t[e(494)],i=t.offsetY;this.startPoint.x=s,this[e(485)].y=i,this[e(510)].x=t[e(462)]-this.player[e(518)][e(508)],this[e(510)].y=t[e(472)]-this.player[e(518)][e(453)],this[e(519)]=document[e(495)]("div"),this[e(519)][e(502)][e(491)]("jb-pro-drawing-rect-box"),this[e(519)][e(500)][e(505)]=this[e(455)][e(484)][e(465)]+e(515)+this[e(455)]._opt[e(503)],this[e(519)][e(500)][e(473)]=e(513),this[e(519)][e(500)][e(517)]=this.startPoint.x+"px",this[e(519)].style.top=this[e(485)].y+"px",this[e(455)][e(518)][e(501)](this[e(519)]),this[e(461)]=!0}[y_(499)](t){const e=y_;if(t[e(507)](),!this[e(461)])return;if(!this[e(492)])return;if(!this.$rectBox)return;const s=this[e(455)][e(518)],i=this[e(455)][e(464)](),r=t[e(462)]-s[e(508)],n=t[e(472)]-s.offsetTop;if(rh&&(o=h,this[e(468)].x=this[e(485)].x+o),a>c&&(a=c,this[e(468)].y=this[e(485)].y+a),this[e(519)][e(500)][e(475)]=o+"px",this[e(519)][e(500)].height=a+"px"}handleMouseUp(t){const e=y_;if(t[e(507)](),this.drawingRectangle&&this[e(461)]){t[e(493)](),this[e(461)]=!1,this.player[e(484)].drawingRectEndRemoveDom&&this._removeRectBox();const s={startPoint:this.startPoint,endPoint:this.endPoint,width:Math[e(480)](this.endPoint.x-this.startPoint.x),height:Math[e(480)](this[e(468)].y-this[e(485)].y)};this[e(455)][e(484)][e(506)],this[e(455)].emit(O[e(458)],s),this[e(459)]()}}}const w_=E_;function S_(){const t=["updateDuration","playingTimestamp","_seekingTimestamp","isCacheBeforeDecodeForFpsRender","_isPlaybackPauseClearCache","init","pause","log","playVodPause","seek","_isLessThanCurrentTime","video","_stopLocalCalculateTime","setCurrentTime","PlayVod","debug","isUseLocalCalculateTime","\n and next update video currentTime","isPlaying","15hFcOjh","isSeeking","_currentLocalTimestamp","totalDuration","isSeekingLessThanCurrentTime","off","433698DflURi","11aZCWfY","_playingTimestamp","_isEnded","playbackFps","add","remove","updateVideoCurrentTimeByBufferStart","_renderFps","324684BmmISf","bufferSize","isEnded()","emit"," > this.totalDuration ","isUseFpsRender","isEnded","diff playingTimestamp is ","updateStats","_localOneFrameTimestamp","playVodRateChange","time","setStartTime","_startFpsTimestamp","uiUsePlaybackPause","updateLocalOneFrameTimestamp","_startTime","_checkStatsInterval","8689800VgVARH","audio","_removeSeekingTimestamp","destroy","9yZyqQB","abs","_prevTs","_isEndedOnce","396602BvlSTv","player","getCurrentTime","playVodTime","playVodSeek","startCheckStatsInterval","showControl","_startfpsTime","_audioTimestamp","_playbackTs","jessibuca-container-play-vod","_showPrecision","fps","$container","videoCurrentTime","_localCalculateTimeInterval","resume","removeSeekingTimestamp","_isUseLocalCalculateTime","_totalDuration","round","isPlaybackPauseClearCache","isPlayVodUseMSE","seek()","playVodSeekEnd","length","_fps","seekingTimestamp","localOneFrameTimestamp","_videoTimestamp","176rkfogy","23884EUnDrE","_isCacheBeforeDecodeForFpsRender","clearStatsInterval","_opt","classList","mseDecoder","_listen","183841lQSKRJ","stats","32067UOgpKJ","TAG_NAME","checkIsEnded","timestamp ","startTime","jb-pro-container-play-vod","810QWWFAD","_rate","duration","_isUseFpsRender","rate"];return(S_=function(){return t})()}function E_(t,e){const s=S_();return(E_=function(t,e){return s[t-=355]})(t,e)}!function(t,e){const s=E_,i=t();for(;;)try{if(306636===parseInt(s(372))/1+parseInt(s(452))/2*(-parseInt(s(448))/3)+parseInt(s(426))/4+-parseInt(s(411))/5*(parseInt(s(417))/6)+parseInt(s(379))/7*(parseInt(s(371))/8)+-parseInt(s(381))/9*(parseInt(s(387))/10)+parseInt(s(418))/11*(parseInt(s(444))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(S_);class I_ extends n{constructor(t,e){const s=E_;super(),this[s(453)]=t,this.TAG_NAME=s(406),this[s(453)][s(465)][s(376)][s(422)](s(386)),this[s(463)]=null,this[s(442)]=null,this[s(419)]=null,this[s(367)]=parseInt(e[s(464)],10)||t._opt[s(421)],this[s(390)]=!!ei(e[s(431)]),this[s(388)]=1,this[s(460)]=0,this[s(370)]=0,this._currentLocalTimestamp=0,this[s(435)]=e[s(369)]||40,this[s(356)]=null,this._isUseLocalCalculateTime=!!ei(e[s(408)]),this[s(396)]=!ii(e[s(362)]),this[s(373)]=!!ei(e[s(395)]),this[s(459)]=null,this[s(439)]=null,this[s(443)]=null,this[s(461)]=0,this[s(425)]=0,this[s(394)]=null,this[s(402)]=!1,this._isEnded=!1,this[s(451)]=!1,this[s(378)](),this[s(360)]=0,e.duration&&(this[s(360)]=1e3*e[s(389)]);let i=e[s(385)]||0;i>this[s(414)]&&(i=ss(this[s(414)],10)),this[s(438)](i),this[s(453)].on(O[s(400)],(t=>{const e=s;t?this[e(398)]():this[e(357)]()}));const r={fps:this[s(367)],isUseFpsRender:this[s(390)],localOneFrameTimestamp:this[s(435)],isUseLocalCalculateTime:this[s(359)],uiUsePlaybackPause:e[s(440)],showControl:e[s(458)]};t[s(407)][s(399)](this.TAG_NAME,s(397),JSON.stringify(r))}[w_(447)](){const t=w_;this[t(442)]=null,this[t(463)]=null,this[t(419)]=null,this[t(360)]=0,this._audioTimestamp=0,this[t(370)]=0,this._fps=null,this[t(390)]=!1,this._rate=1,this[t(356)]=null,this._currentLocalTimestamp=0,this._startfpsTime=null,this[t(439)]=null,this[t(425)]=0,this[t(461)]=0,this._prevTs=0,this[t(451)]=!1,this[t(420)]=!1,this[t(404)](),this[t(374)](),this.player[t(465)]&&this[t(453)][t(465)].classList[t(423)](t(462)),this[t(416)](),this[t(453)].debug[t(399)](this[t(382)],t(447))}[w_(378)](){const t=w_;this[t(453)].on(O[t(380)],(e=>{const s=t;if(this[s(453)][s(400)])return;let i=e.ts;this[s(453)][s(363)]()&&(this[s(453)][s(410)]()&&0===e.videoCurrentTimeDiff&&(this[s(453)].debugWarn(this.TAG_NAME,"updateStats and videoCurrentTimeDiff is 0 and\n videoCurrentTime is "+e[s(355)]+s(409)),this[s(453)][s(377)][s(424)]()),i=1e3*e.videoCurrentTime),this.setPlayingTimestamp(i),this[s(450)]=i,this.checkIsEnded()}))}[w_(383)](){const t=w_;this.isEnded()&&(this._isEnded=!0,this[t(446)](),this[t(453)][t(429)](O.playVodEnded))}isEnded(){const t=w_;let e=!1;if(this[t(420)])return!0;this[t(453)].isPlayVodUseMSE()&&this[t(453)][t(403)]&&this[t(453)][t(403)][t(432)]()&&(e=!0);const s=Math[t(449)](this[t(393)]-this._totalDuration);return s<700&&(this[t(451)]&&(this.player[t(407)][t(399)](this[t(382)],t(428),t(433)+this[t(393)]+" and totalDuration is "+this._totalDuration+" "+s+" < 700"),e=!0),!this._isEndedOnce&&(this[t(451)]=!0)),e}[w_(392)](t){this[w_(360)]=1e3*t}[w_(398)](){this[w_(374)]()}[w_(357)](){this[w_(457)]()}[w_(434)](){const t=w_;let e=arguments[t(366)]>0&&void 0!==arguments[0]?arguments[0]:{};!this._startFpsTimestamp&&(this[t(439)]=Ve()),gs(e.ts)&&(this[t(453)].updateStats({fps:!0,ts:e.ts}),this[t(461)]=e.ts,!this[t(459)]&&(this[t(459)]=e.ts),this[t(425)]+=1);const s=Ve(),i=s-this._startFpsTimestamp;if(i<1e3)return;let r=null;this._startfpsTime&&(r=this[t(461)]-this[t(459)]),this.player.emit(O.playVodStats,{fps:this._renderFps,rate:this[t(391)],start:this._startfpsTime,end:this[t(461)],timestamp:i,dataTimestamp:r,audioBufferSize:this[t(453)][t(445)]?this.player[t(445)][t(427)]:0,videoBufferSize:this[t(453)].video?this.player[t(403)][t(427)]:0,ts:this[t(461)]}),this._renderFps=0,this._startfpsTime=this[t(461)],this[t(439)]=s}[w_(441)](t){this[w_(435)]=t}[w_(457)](){const t=w_;this.clearStatsInterval(),this[t(443)]=setInterval((()=>{this.updateStats()}),1e3)}[w_(404)](){const t=w_;this[t(356)]&&(clearInterval(this[t(356)]),this[t(356)]=null)}[w_(374)](){const t=w_;this[t(443)]&&(clearInterval(this[t(443)]),this[t(443)]=null)}increaseLocalTimestamp(){const t=w_;this[t(359)]&&(this[t(413)]+=this._localOneFrameTimestamp)}get[w_(414)](){const t=w_;return Math[t(361)](this[t(360)]/1e3)}get[w_(385)](){return this._startTime||0}[w_(438)](t){const e=w_;this[e(442)]=t,this[e(419)]=t}setRate(t){const e=w_;this[e(388)]=t,this[e(453)][e(429)](O[e(436)],t)}get[w_(464)](){return this[w_(367)]}get[w_(391)](){return this[w_(388)]}get isUseFpsRender(){return this[w_(390)]}get[w_(408)](){return this[w_(359)]}get[w_(362)](){return this._isPlaybackPauseClearCache}get[w_(395)](){return this._isCacheBeforeDecodeForFpsRender}setPlayingTimestamp(t){const e=w_;let s;s=this[e(385)]+Math[e(361)](t/1e3),s>this[e(414)]&&(this[e(453)][e(407)][e(399)](this[e(382)],"setPlayingTimestamp()",e(384)+s+e(430)+this[e(414)]),s=this[e(414)]),this[e(419)]=s,this[e(453)][e(429)](O[e(455)],s),this[e(450)]&&this[e(450)]}get[w_(393)](){return 1e3*this[w_(419)]}[w_(454)](){return this[w_(393)]/1e3}get[w_(368)](){const t=w_;return null===this[t(394)]?null:1e3*this[t(394)]}[w_(412)](){return null!==this._seekingTimestamp}[w_(415)](){return this[w_(412)]()&&this._isLessThanCurrentTime}_removeSeekingTimestamp(){const t=w_;this[t(394)]=null,this[t(402)]=!1}[w_(358)](){const t=w_,e=this[t(394)];this[t(446)](),this[t(453)].emit(O[t(365)],e)}[w_(401)](t){const e=w_;let s=t[e(437)];if(s>this[e(414)]&&(s=parseInt(this[e(414)],10)),s<0&&(s=0),this.player[e(407)][e(399)](this[e(382)],e(364),t.time,s),this[e(394)]=s,this.player[e(429)](O[e(456)],s),this[e(453)][e(363)]()){const t=this[e(453)].video[e(454)]();this[e(402)]=s=this[t(453)][t(375)].playVodForwardMaxRateDecodeIFrame}}const T_=__;function k_(){const t=["close","createObjectURL","screenfull.isEnabled is false and _opt.useWebFullScreen is false , set _opt.useWebFullScreen true","filter","aliyunRtc","14MYVSEO","clearStatsInterval","decoder-pro-simd.js","isMseDecoderUseWorker","isUseHls265UseMse","getPlayToRenderTimes","getShowVideoRect","widthOrHeightChangeReplay","removeGhostWatermark","warn","toggleControlExtendBtn","useMThreading is true, but not support so set useMThreading false","_checkStatsInterval","visibilityChange","isPlaying","isCacheBeforeDecodeForFpsRender","updateExtendDom","decoderHardNotWasm","getVideoBufferTimeRange","isWebrtcForOthers"," and window.JessibucaProOcclusionDetector is null","_lastestVisibilityChangeTimestamp","base64","aiImageDetectActive","isRecording","decoderCheckFirstIFrame","getMseVideoBufferDelayTime","_close","isWebrtcForZLM","URL","demuxTimestamp","_isStreamEnd","playback","_playVodPause","decoderErrorAutoWasm","events","supportLockScreenPlayAudio","showMessageConfig","toFixed","decoder-pro-mt.js","未知异常","updateControlSize","websocketError","streamResponse","loadingBackgroundWidth","useWasmDecode","set volume error, audio is null","isTsDemux","_streamQuality","playToRenderTimes","useVideoPlayAudio","controlHtml",", so set mseWaitVideoCanplayTimeout = loadingTimeout -1","isPlayVodNotUseMSE","isWebrtc","initPlaybackCacheLoop","forEach","zooming","_mseWorkerData","imageDetectActive","isStreamWebTransport","\n useMSE is true,\n and supportMSE is ","_checkHeartTimeout","clearExtendHtml","checkVideoSmooth false\n because fps is ","showBandwidth","decoderAudio","clearBufferDelay","downloadMpeg4File","demuxType","checkLoadingTimeout and pause and emit loadingTimeout event","mp4Decoder","_canPlayAppleMpegurl","getExtendBtnActive","classList","getWebrtcVideo","simdH264DecodeVideoWidthIsTooLargeReplay","decoder-pro.js","flvDemuxBufferSizeMaxLarge","_closed","currentTime","getOption","showControl","checkIsInRender","showTipsMessage","useSIMD is true, but not support(isSupportSimd is ","getVideoBufferDelayTime","bufferList","checkSourceBufferDelay","mseDecoder","webrtc","aiFace","isLoading","mseVideoBufferDelayTime","initLoadingBackground","isOldHls or isWebrtcH264 or isAliyunRtc is true, so set some params false and set _opt.recordType = webm","offscreen","setExtendHtml","aiOcclusion","then","streamSuccess","isAliyunRtc","wasmUseVideoRender","isResize","getIsStreamTsMoreThanLocal","loadingTimeout","isFmp4Demux","audioDemuxBufferDelay","wasm","startCheckStatsInterval","clearVisibilityHiddenTimeout","totalDuration","fps","decoder-pro-audio.js","audio","getPushLatestDelay","getRecordingByteLength","keys","href","isDemuxInWorker","webglContextLostErrorReplay","decoderOld","init","_times","isMSECurrentMoreThanBufferedPause","delayTimeout","4376uWeJwm","_loading","isIOS or isSafari and canPlayAppleMpegurl","mediaSourceUseCanvasRenderPlayFailedReplay","setFileName","_zooming","isClosed","showTipsMessageByCode","control","getMetaData","streamErrorReplay","TAG_NAME","use MSE","videoSEI","getMaxDelayTs","playVodBackwordJumping","assign","useSIMD"," and\n current visibility is ","isRecordTypeFlv","recorder is not recording","mseWaitVideoCanplayTimeout","use fmp4","_destroyLock","getRenderCurrentPts","$container","togglePerformancePanel","useWebGPU","video","screenshot","playbackForwardMaxRateDecodeIFrame","mp4","data:image/png;base64,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","lastVolume","JessibucaProObjectDetector","isEnded","debugError","fullscreen","use wcs video render, but not support so set wcsUseVideoRender false","enableWakeLock","_occlusionDetectActive","getDecodeDiffTimes"," and window.JessibucaProImageDetector is null","videoStart","useMThreading","_tempWorkerStats","_lastVolume","isPlayVodMp4","background","controlAutoHide","quality","floor","hasCacheOnGopBuffer","isUseWorkerDemuxAndDecode","this.stream is null","multiIndex","removeDynamicWatermark","decoderWorker","useImageDetector","use playback","demuxBuffer","isUseHls265","stream","defaultStreamQuality","emitVideoSei","decoder-pro-hard.js","faceDetectActive","latestDelay","isDebug","Jb pro 体验结束,请刷新页面再次体验,如需要购买商业授权,可以联系微信:bosswancheng","checkHeartTimeout$2 but fps is not all zero","revokeObjectURL","playFailedAndReplay","dynamicWatermarkConfig","playInitStart","_checkVisibleHiddenTimeout","beforeDestroy","webrtcUseCanvasRender","_playingStartTimestamp","keepScreenOn","isPlayback and mseDecoderUseWorker is true, so set mseDecoderUseWorker false","androidMobileFullscreenRotate","webFullscreen","pressureObserverCpu","rate","downloadFmp4File","aiObject","demuxStart","videoCurrentTime","use webrtc for SRS","disable","_historyVideoDiffList","mseDecoderUseWorker","checkVideoSmooth false because ","isUseFpsRender","_isInZoom","hasVideo","_drawingRect","45rbqptJ","mseDecodeErrorReplay","mse","getCpuLevel","isPlayStream","ghostWatermarkConfig","_visibility","wcsDecodeAudio","getPendingSegmentsLength","getDemuxBufferedListLength","flv","use offscreen","checkHeartTimeout$2 but player is destroyed","useCanvasRender","getPlayVodDuration","playbackTF","error","heartTimeoutReplay","_audioTimestamp","isUseMSE","getExtendHtml","JessibucaProOcclusionDetector","netBuf","_tempInnerPlayBgobj","isStreamTypeNotWorker","loadingBackground","updateStats","hlsError","useObjectDetector","demux","visibility","once","loading","isUseWASM","checkHeartTimeout$2 and\n pause and emit delayTimeout event and\n current vbps is ","update","disableContextmenu","updateWatermark","$iconContainer","checkHlsBufferedDelay","videoSEISyncPts","qualityConfig","webTransport","decoderHard","flvDemuxBufferSizeTooLarge","streamStart","occlusionDetectActive","url","clearWorkBuffer","updateMetaData","replace","addMemoryLog","reason","_startBpsTime","setRate","worker","videoRenderType","extendOperateBtns","getBufferListLength","getMseMineType","isWebrtcForM7S"," and window.JbProFaceDetector is null","_flvMetaDataFps","toggleControlHtml","videoElementPlayingFailedReplay","getVideoInfo","handlePlayToRenderTimes","videoCurrentTimeDiffIsNotNormal","download","_latestAudioTimestamp","createElement","use worker MSE","_opt","isPlaybackUseWCS","debugWarn","1624355HlTTQw","currentPts","updateWorkConfig","demuxBufferDelay","getDemuxVideoBufferedListLength","hideTipsMessage","jb-pro-fullscreen-web","muted","decoder-pro-old.js","removeWatermark","useOcclusionDetector","operateBtns","getExtendDomIsShow","getExtendHtmlIsShow","emitError","decodeTimestamp","use WCS","simd","getExtendBtnList","audioTimestamp","getStreamFps","checkHeartTimeout$2 but fps is ","record","handlePlayToRenderTimes but player is closed or destroyed","isAudioMute","getEngineType"," and window.JbProObjectDetector is null","clearCheckLoadingTimeout","now","resize","poster","playType","webcodecsDecoder","getControlExtendBtnActive","checkHeartTimeout$2","checkLoadingTimeout but loading is ","_opt.playFailedAndReplay is false and set others replay params false","180bXyDLX","JessibucaProImageDetector","getExtendDom","\n so set useWCS false","_playbackPause","playStart","showTipsMessageByContent","isPlayFailedAndPaused","buf","checkSourceBufferStore","isMpeg4Demux","reload","isHls","getControlHtml","isPlaybackRateSpeed","checkFirstIFrame","hiddenControl","use webrtc for ZLM","getInputByteLength","useWebFullScreen","playVod","_faceDetectActive","cancelRecord","getTotalDuration","destroy end","getCanvasType","useWasm","459040uLLXkf","setRotate","isPlayback","fetchError","mute","pushLatestDelay","isUseWCS","updateLoadingText","getType","_pauseInner()","$controlHtml","use wasm video render play audio, but not support so set wasmPlayAudioUseVideoRender false","recorder is null","isFmp4","fetchStream","videoCurrentTimeDiff","workerStats","checkVideoSmooth false because videoCurrentTimeDiff is ","decoder","disableContextmenu is true, but contextmenuBtns is not empty, so Contextmenu can not be created,please check","playVodPauseOrResume","drawingRect","getDemuxType","screenfull.isEnabled is true and _opt.useWebFullScreen is true , set _opt.useWebFullScreen false","png","playForControl() and pauseAndNextPlayUseLastFrameShow is ","pauseForControl","checkPlaybackEnd","end","\n bufferStartTime is ","checkStreamEnd","decoderWorkerInit","use wasm video render, but not support so set wasmUseVideoRender false","getStreamType","MetaDataCreator","6LqWrxj","log","sendWebsocketMessage: stream type is not websocket, current stream type is ","useOffscreen","player","init() failed and player is destroyed","_opt.hiddenControl is true and set others show btn to false","isNakedFlow is true, so set _opt.mseDecodeAudio false","hlsUseCanvasRender","addAiContentToCanvas","isDestroying","removeExtendDom","viewResizeChange","_videoTimestamp","emit","reduce","updateHistoryFpsList","isDemuxDecodeFirstIIframeInit","use hls","isPlayVodUseMSE","getPlayVodCurrentTime","getDecodeType","isInWebFullscreen","singleWatermark","getAudioSyncVideoDiff","videoSmooth","startAndResize",", playing is ","updatePtzPosition","and update _opt.hasAudio","play is destroying","push","startVisibilityHiddenTimeout","$iconWrap","\n useWCS is true,\n and supportWCS is ","isWebrtcH264","getMimeType","pts","playForControl","_isPlayingBeforePageHidden","heartTimeout","objectDetect","wasmPlayAudioUseVideoRender","isMSEVideoDecoderInitializationFailedNotSupportHevc","mseDecoderUseWorker is true but not support so set _opt.mseDecoderUseWorker = false","useWCS","isOldHls","webrtcError","clearBuffer","addContentToCanvas","streamEndReplay","latestAudioTimestamp","Jb pro 体验结束,请刷新页面再次体验(wasm内部会暂停解码)","debug","isDropping","drawRectangle","isDecodeFirstIIframe","hlsDecoder","wcsUseVideoRender","innerHTML","getControlHtmlIsShow","doDestroy","isPlaybackUseMSE","wcs"," is greater than loadingTimeout ","updateGhostWatermark","pauseForControl() and videoInfo is null"," , _opt.isH265 is ","isMSEPlaybackRateChangePause","JessibucaProFaceDetector","wasmDecodeDelay","checkStatsInterval","use webrtc for M7S","use occlusion detector, useWasm is ","play","ptz","isM7SDemux","useFaceDetector","\n and current ts list is ","dfps","isWebrtcForSRS","showPlayBtn","_hasLoaded","websocket","playVodPause"," and","isIphone and set _opt.videoRenderSupportScale false","getRenderElement","toggleExtendHtml","volumechange","playVodForward","useCanvasRender is true and useVideoPlayAudio() return true, so set wcsDecodeAudio false","map","_destroyed","pushTempStream","1668898qeHjHZ","pauseAndNextPlayUseLastFrameShow","remove","isHls is true and demuxUseWorker is true then demuxUseWorker set true->false","getCurrentCpuState","fmp4","setVolume"," and playing is ","networkDelayTimeoutReplay","getControlBarShow","hasInit","getCanvasRenderType","setControlHtml","isFirefox is true, so set _opt.mseDecodeAudio false","isNakedFlowDemux","_isMute","playVodRate","checkHeartTimeout$2 playbackPause is ","_imageDetectActive","updateOption","\n so set useMSE false","Player","full","use simd wasm","performance"," and bufferEndTime is ","isDemuxSetCodecInit","getPlayVodRate","loadingBackgroundHeight","canVideoTrackWritter","oneBufferDuration","stopRecordAndSave","pause","small","mseWaitVideoCanplayAutoWasm","isFlvDemux","toggleControlBar","use object detector, useWasm is ","_allStatsData","isMSEAudioDecoderError","demuxUseWorker","flvMetaData","updateCurrentPts","isPlayVodSeeking"," and isPlaying is ","getRecordingType","click","framerate","abps","length","catch","isLastVideoDiffIsZero","getPlaybackRate","container width is 0, please check the container width","autoWasm","indexOf","streamBuffer","autoUseSystemFullScreen","videoBufferDelay","downloadNakedFlowFile","name","_flvMetaData","isPlayVod is true and demuxUseWorker is true then demuxUseWorker set true->false","checkVideoSmooth","decoder-pro-hard-not-wasm.js","$activeIconWrap","mediaSourceTsIsMaxDiffReplay","dts","decoder-pro-simd-mt.js","use webrtc for Others","webm","getBarIsShow","isPlayer","updateStreamEndInner","mpeg4","debugLog","objectDetectActive","useMSE","isStreamTsMoreThanLocal","Player options","url is empty","isMpeg4",", supportHevcWCS is ","supportHls265","addExtendDom","isMSEDecodeAudio","emitVideSeiSyncPts","isDestroyedOrClosed","playbackPauseOrResume","decodeStart","_hasControl","recording","pTs","use hls 265","width","use wasm","isFullResize","vbps","playing","height","_opt.qualityConfig is empty, so set operateBtns.quality false","_stats","use play vod","_videoIframeIntervalTs","getDemuxAudioBufferedListLength","isVideoPlaying","fpsIsLow","mseTs","handleRender","playbackConfig","videoSEISyncPtsDiff","syncAudioAndVideo","releaseWakeLock","startRecord","checkVideoSmooth and videoCurrentTimeDiff is 0 so check\n videoCurrentTime is ","isDestroyed","default","isHistoryFpsListAllZero","use aliyun rtc","hasAudio","_historyFpsList","videoRenderType is ","getPlayType","playVodSeek","stringify","checkLoadingTimeout","use mpeg4","server","substring","watermarkConfig","isPlayUseMSE","isStreamEnd","getDecodePlaybackRate","start","playVodForwardJumping","mseWaitVideoCanplayTimeout ","sendMessage","videoIframeIntervalTs","visibilityHiddenTimeout",") so set useSIMD false","seek","$extendDom","_tempStreamList","isPlayVod","playTimestamp","streamEnd","use face detector, useWasm is ","recorder","auto","ghostWatermark","streamQuality","max","getAudioInfo","updateDynamicWatermark","isControlBarShow","isSeeking","isEnabled","init and version is","mseUseCanvasRender","container height is 0, please check the container height","isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender","isPlaybackOnlyDecodeIFrame","dynamicWatermark","playVod is null","isNakedFlow","wasmDecodeErrorReplay","_destroy","streamResponseTimestamp","_seiList","loaded","timeout","use image detector, useWasm is ","495296wBIGvZ","join","isAudioPlaybackRateSpeed","isWebrtcH265","_playing","videoBuffer","pageVisibilityHiddenTimeout","getControlHeight","destroy","playbackPause","simdDecodeErrorReplay","820963IRLuuo","toggleExtendDom","vbpsIsZero","use webrtc h265","_serverInfo","enable","isRecordTypeWebm","_tempTsList","useVideoRender","getPlayingTimestamp","_objectDetectActive","contains","mseDecodeAudio","_checkLoadingTimeout","checkLoadingTimeout but player is destroyed","resetStats","volume","off","zoom","location","videoTimestamp","recordType","1047522ZDUDKW","clearControlHtml","maxFps","-simd","getVideoCurrentTime","wcsUseVideoRender is true, but not support so set wcsUseVideoRender false","isPlaybackCacheBeforeDecodeForFpsRender","contextmenuBtns","setScaleMode","forceNoOffscreen","nakedFlow","downloadMemoryLog","$videoElement","checkVideoSmooth false because ","aliyunRtcDecoder","pauseForControl() and loadingBackground is null","isNotMute","isAliyunRtc is true and demuxUseWorker is true then demuxUseWorker set true->false","getReadyStateInited","isH265"];return(k_=function(){return t})()}function __(t,e){const s=k_();return(__=function(t,e){return s[t-=270]})(t,e)}!function(t,e){const s=__,i=t();for(;;)try{if(298491===parseInt(s(747))/1*(parseInt(s(621))/2)+-parseInt(s(596))/3+parseInt(s(563))/4+-parseInt(s(920))/5+parseInt(s(296))/6*(-parseInt(s(391))/7)+-parseInt(s(984))/8*(parseInt(s(845))/9)+parseInt(s(957))/10*(parseInt(s(574))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(k_);class C_ extends n{constructor(t){const e=__;let s=arguments[e(440)]>1&&void 0!==arguments[1]?arguments[1]:{};super(),this[e(917)]={},this.TAG_NAME=e(412),this[e(772)]=t;const i=$s();if(this[e(917)]=Object[e(763)]({},i,s),this[e(349)]=new qt(this),this[e(466)](this[e(758)],e(548),Ye+":"+Qe),this._opt[e(605)]=!0,this[e(693)]=!1,(es()||ts())&&(this[e(693)]=Os(),this[e(466)](this[e(758)],e(749),this[e(693)])),this[e(917)][e(448)]&&(ei(re[e(547)])&&ei(this._opt[e(976)])&&(this.debugLog(this.TAG_NAME,e(284)),this[e(917)][e(976)]=!1),ii(re[e(547)])&&ii(this[e(917)].useWebFullScreen)&&(this.debugLog(this[e(758)],e(618)),this[e(917)].useWebFullScreen=!0)),hi()&&(this[e(466)](this.TAG_NAME,e(382)),this[e(917)].videoRenderSupportScale=!1,xs()&&ei(this._opt[e(969)])&&ii(this[e(917)][e(474)])&&(this[e(466)](this[e(758)],"isIphone and is in wechat and is hls so set supportHls265 true"),this[e(917)][e(474)]=!0)),ii(this[e(917)][e(819)])&&(this[e(466)](this.TAG_NAME,e(956)),this[e(917)].webglAlignmentErrorReplay=!1,this[e(917)][e(741)]=!1,this[e(917)][e(445)]=!1,this._opt[e(846)]=!1,this[e(917)][e(457)]=!1,this[e(917)].wcsDecodeErrorReplay=!1,this[e(917)][e(556)]=!1,this[e(917)][e(573)]=!1,this[e(917)][e(909)]=!1,this[e(917)][e(399)]=!1,this[e(917)][e(628)]=!1,this[e(917)][e(697)]=!1,this[e(917)][e(750)]=!1,this[e(917)][e(862)]=!1,this[e(917)].loadingTimeoutReplay=!1,this[e(917)].websocket1006ErrorReplay=!1,this[e(917)][e(757)]=!1,this[e(917)][e(346)]=!1,this[e(917)][e(425)]=!1),this[e(917)][e(973)]&&(this.debugLog(this.TAG_NAME,e(302)),Object[e(738)](this[e(917)][e(931)])[e(677)]((t=>{const s=e;this[s(917)][s(931)][t]&&-1===(""+t)[s(446)]("Fn")&&(this[s(917)][s(931)][t]=!1)})),this[e(917)].showBandwidth=!1,this[e(917)][e(902)]=[],this._opt[e(672)]="",this.isPlayback()&&(this[e(917)].playbackConfig[e(703)]=!1)),this[e(917)].preferredHardDecode&&(this._opt[e(468)]=!0,this[e(917)][e(341)]=!0,this[e(917)][e(655)]=!1,this._opt[e(586)]=!0,this[e(917)][e(852)]=!0,this[e(917)][e(839)]=!0),this._opt[e(520)]={image:{src:e(779),width:75,height:24},opacity:.1,right:10,top:10},!this._opt[e(605)]&&(typeof OffscreenCanvas===si(720)?(this._opt[e(605)]=!0,this[e(917)].useOffscreen=!1):this[e(917)][e(299)]=!0),this[e(917)].isMpeg4&&(this.debugLog(this[e(758)],"isMpeg4 is true, so set _opt.useWasm true and others params false"),this._opt.useWCS=!1,this._opt.useMSE=!1,this[e(917)].isNakedFlow=!1,this[e(917)][e(764)]=!1,this._opt.isFmp4=!1,this[e(917)][e(983)]=!0),this[e(986)]()&&(ei(this[e(917)][e(468)])&&ei(this[e(917)][e(839)])&&this[e(466)](this.TAG_NAME,e(827)),this[e(917)].mseDecoderUseWorker=!1),this.isPlayVod()&&(this[e(917)][e(839)]=!1),this[e(917)][e(950)]&&(this[e(917)][e(795)]=this[e(917)].poster),ii(this._opt[e(927)])&&(this._opt.isNotMute=!0),this[e(917)][e(839)]&&(this[e(917)][e(839)]=function(){const t=Fe;return!!(Kt.Worker&&Kt[t(619)]&&t(607)in Kt[t(619)]&&!0===Kt[t(619)][t(607)])}(),ii(this._opt[e(839)])&&this[e(466)](this[e(758)],e(340))),(this[e(342)]()||this[e(331)]()||this[e(722)]())&&(this[e(466)](this.TAG_NAME,e(716)),this[e(917)][e(341)]=!1,this._opt[e(468)]=!1,this[e(917)].isNakedFlow=!1,this[e(917)].useSIMD=!1,this[e(917)][e(274)]=!1,this[e(917)][e(983)]=!1,this[e(917)].recordType=p[e(461)]),this[e(917)][e(555)]&&(this[e(466)](this[e(758)],e(303)),this[e(917)][e(586)]=!1),Ze()&&(this[e(466)](this[e(758)],e(404)),this[e(917)][e(586)]=!1),!this.isOldHls()&&!this[e(331)]()){if(this[e(917)][e(341)]){const t=function(){let t=!1;return Fe(551)in Kt&&"function"==typeof Kt.VideoDecoder&&(t=!0),t}(),s=ls();this[e(917)][e(341)]=t,this[e(917)][e(341)]&&this._opt.isH265&&(this._opt[e(341)]=s),!this._opt[e(341)]&&this[e(919)](this[e(758)],e(330)+t+e(473)+s+" , _opt.isH265 is "+this._opt.isH265+e(960)),this._opt[e(341)]&&(this[e(917)][e(852)]&&(this[e(917)].wcsDecodeAudio=function(){let t=!1;return"AudioDecoder"in Kt&&"function"==typeof Kt[Fe(715)]&&(t=!0),t}(),!this._opt[e(852)]&&this[e(919)](this.TAG_NAME,"wcsDecodeAudio is true, but not support so set wcsDecodeAudio false")),this[e(917)][e(299)]?this._opt.wcsUseVideoRender=!1:this[e(917)][e(354)]&&(this._opt[e(354)]=ds()&&us(),!this[e(917)][e(354)]&&this[e(919)](this[e(758)],e(601))))}if(this[e(917)].useMSE){const t=function(){const t=Fe;let e=!1;return t(619)in Kt&&typeof Kt[t(619)]===t(518)&&"function"==typeof Kt[t(619)].isTypeSupported&&(e=!0),e}()||function(){const t=Fe;let e=!1;return!(t(619)in Kt)&&t(656)in Kt&&typeof Kt[t(656)]===t(518)&&typeof Kt[t(656)].isTypeSupported===t(518)&&(e=!0),e}(),s=cs()||function(){const t=Fe;let e=!1;return!(t(619)in Kt)&&t(656)in Kt&&Kt[t(656)]&&(Kt[t(656)][t(658)](et[t(520)])||Kt.ManagedMediaSource.isTypeSupported(et[t(718)])||Kt.ManagedMediaSource.isTypeSupported(et.hev3)||Kt.ManagedMediaSource[t(658)](et.hev4)||Kt[t(656)].isTypeSupported(et[t(615)]))&&(e=!0),e}();this[e(917)][e(468)]=t,this[e(917)][e(468)]&&this[e(917)].isH265&&(this[e(917)].useMSE=s),!this[e(917)].useMSE&&this[e(919)](this.TAG_NAME,e(682)+t+", supportHevcMSE is "+s+e(363)+this._opt[e(615)]+e(411))}}if(ii(this._opt.useMSE)&&(this._opt[e(586)]=!1),ii(this[e(917)].useWCS)&&(this[e(917)][e(852)]=!1),this[e(917)][e(468)]?(this[e(917)][e(341)]&&this.debugWarn(this[e(758)],"useMSE is true and useWCS is true then useWCS set true->false"),!this[e(917)][e(605)]&&this.debugWarn(this.TAG_NAME,"useMSE is true and forceNoOffscreen is false then forceNoOffscreen set false->true"),this[e(917)][e(341)]=!1,this[e(917)][e(605)]=!0):this[e(917)][e(341)],this[e(917)][e(675)]&&this[e(917)][e(431)]&&(this[e(919)](this.TAG_NAME,"isWebrtc is true and demuxUseWorker is true then demuxUseWorker set true->false"),this[e(917)].demuxUseWorker=!1),this[e(917)][e(969)]&&this._opt[e(431)]&&(this[e(919)](this.TAG_NAME,e(394)),this[e(917)][e(431)]=!1),this[e(534)]()&&this._opt.demuxUseWorker&&(this.debugWarn(this[e(758)],e(453)),this[e(917)][e(431)]=!1),this[e(917)][e(722)]&&this[e(917)][e(431)]&&(this[e(919)](this[e(758)],e(613)),this._opt.demuxUseWorker=!1),this[e(681)]()&&this._opt[e(431)]&&(this[e(919)](this[e(758)],"is stream use webTransport is true and demuxUseWorker is true then demuxUseWorker set true->false"),this[e(917)][e(431)]=!1),this[e(917)][e(852)]&&this[e(917)][e(431)]&&(this.debugWarn(this[e(758)],"is wcsDecodeAudio true and demuxUseWorker is true then demuxUseWorker set true->false"),this[e(917)][e(431)]=!1),ii(this[e(917)][e(431)])&&(this[e(917)][e(839)]=!1),(this[e(986)]()||this[e(534)]())&&(this[e(917)].mseDecoderUseWorker=!1),this._opt[e(791)]&&(this._opt.useMThreading=typeof SharedArrayBuffer!==Fe(720),!this._opt[e(791)]&&this.debugWarn(this[e(758)],e(632))),this._opt[e(764)]||-1!==this[e(917)][e(279)][e(446)](e(599))){const t=WebAssembly[Fe(560)](new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),s=hi();this[e(917)][e(764)]=t&&ii(s),!this[e(917)][e(764)]&&this[e(919)](this.TAG_NAME,e(706)+t+" ,isIphone is "+s+e(530))}this[e(917)][e(764)]?-1===this._opt[e(279)][e(446)](e(599))?this[e(917)][e(791)]?this._opt[e(279)]=this._opt.decoder[e(895)](e(698),e(459)):this[e(917)][e(279)]=this[e(917)][e(279)][e(895)](e(698),e(623)):this[e(917)].useMThreading&&(this._opt[e(279)]=this[e(917)][e(279)].replace(e(623),e(459))):-1!==this[e(917)][e(279)][e(446)]("-simd")?this[e(917)][e(791)]?this[e(917)][e(279)]=this[e(917)][e(279)][e(895)](e(623),e(660)):this[e(917)][e(279)]=this[e(917)][e(279)][e(895)]("decoder-pro-simd.js",e(698)):this[e(917)][e(791)]&&(this._opt[e(279)]=this[e(917)][e(279)][e(895)](e(698),e(660))),-1!==this[e(917)].decoder[e(446)](e(599))?this[e(917)][e(791)]?(this[e(917)].decoderAudio=this[e(917)].decoder[e(895)](e(459),e(734)),this[e(917)][e(888)]=this[e(917)].decoder[e(895)](e(459),"decoder-pro-hard.js"),this._opt[e(638)]=this[e(917)].decoder[e(895)](e(459),e(455)),this[e(917)][e(742)]=this._opt[e(279)][e(895)](e(459),"decoder-pro-old.js")):(this[e(917)].decoderAudio=this[e(917)].decoder[e(895)](e(623),e(734)),this._opt.decoderHard=this._opt[e(279)][e(895)](e(623),e(812)),this[e(917)].decoderHardNotWasm=this._opt[e(279)].replace(e(623),e(455)),this[e(917)][e(742)]=this[e(917)][e(279)].replace(e(623),e(928))):this[e(917)][e(791)]?(this[e(917)][e(687)]=this[e(917)][e(279)].replace(e(660),"decoder-pro-audio.js"),this[e(917)][e(888)]=this[e(917)].decoder[e(895)](e(660),e(812)),this[e(917)][e(638)]=this[e(917)][e(279)][e(895)](e(660),e(455)),this[e(917)].decoderOld=this._opt[e(279)][e(895)](e(660),"decoder-pro-old.js")):(this._opt[e(687)]=this[e(917)][e(279)][e(895)](e(698),e(734)),this._opt[e(888)]=this[e(917)][e(279)][e(895)](e(698),"decoder-pro-hard.js"),this[e(917)][e(638)]=this[e(917)][e(279)][e(895)](e(698),e(455)),this[e(917)][e(742)]=this[e(917)][e(279)][e(895)](e(698),e(928))),ii(this._opt[e(510)])&&(this[e(917)][e(931)][e(735)]=!1),ii(this[e(917)][e(843)])&&(this[e(917)][e(931)][e(784)]=!1,this._opt[e(931)].screenshot=!1,this._opt[e(931)][e(942)]=!1,this[e(917)][e(931)][e(371)]=!1,this[e(917)].operateBtns[e(797)]=!1,this[e(917)][e(931)][e(592)]=!1),this[e(917)][e(886)]&&0===this._opt[e(886)][e(440)]&&this[e(917)][e(931)][e(797)]&&(this[e(917)].operateBtns[e(797)]=!1,this.debugWarn(this[e(758)],e(491))),ei(this[e(917)][e(774)])&&(this._opt[e(774)]=function(){let t=!1;return Fe(588)in navigator&&(t=!0),t}(),ii(this[e(917)][e(774)])&&this.debugWarn(this[e(758)],"useWebGPU is true, but not support so set useWebGPU false")),this[e(917)].useMSE&&this[e(917)][e(768)]>this[e(917)][e(726)]&&(this.debugWarn(this.TAG_NAME,e(526)+this._opt[e(768)]+e(360)+this[e(917)][e(726)]+e(673)),this[e(917)][e(768)]=Math[e(542)](this._opt.loadingTimeout-1,1)),this[e(917)].hasControl=this[e(481)](),this._loading=!1,this._playing=!1,this[e(961)]=!1,this[e(654)]=!1,this._hasLoaded=!1,this[e(752)]=!1,this[e(844)]=!1,this._destroyed=!1,this._destroyLock=!1,this[e(700)]=!1,this[e(683)]=null,this[e(587)]=null,this._checkStatsInterval=null,this[e(822)]=null,this[e(898)]=null,this[e(335)]=!1,this[e(492)]={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._tempTsList=[],this[e(429)]={},this._faceDetectActive=!1,this[e(584)]=!1,this[e(787)]=!1,this[e(409)]=!1,this[e(744)]={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this._videoTimestamp=0,this[e(863)]=0,this[e(914)]=0,this[e(494)]=0,this._streamQuality=this[e(917)][e(810)]||"",!this[e(669)]&&this._opt.qualityConfig[e(440)]>0&&(this[e(669)]=this[e(917)][e(886)][0]||""),this[e(851)]=!0,this[e(642)]=null,this._tempWorkerStats=null,this[e(511)]=[],this[e(838)]=[],this._tempStreamList=[],this[e(868)]=null,this._flvMetaData=null,this[e(907)]=null,this[e(578)]=null,this[e(679)]={},this[e(652)]=!1,ii(this[e(917)][e(468)])&&ii(this[e(917)].useWCS)&&!this.isWebrtcH264()&&!this[e(342)]()&&(this[e(917)].useWasm=!0),(this[e(342)]()||this[e(331)]())&&(this[e(917)][e(843)]=!0,this[e(917)][e(510)]=!0),!this[e(917)].hasVideo&&(this._opt[e(468)]=!1,this[e(917)].useWCS=!1),this[e(917)][e(983)]&&(this._opt[e(299)]?this._opt[e(723)]=!1:this[e(917)][e(723)]&&(this._opt[e(723)]=is()&&ds()&&us(),!this._opt[e(723)]&&this.debugWarn(this[e(758)],e(293)),this._opt.wasmUseVideoRender&&this._opt[e(338)]&&(this[e(917)][e(338)]=function(){const t=Fe;let e=!1;return t(714)in Kt&&typeof Kt[t(714)]===t(518)&&(e=!0),e}(),!this[e(917)][e(338)]&&this[e(919)](this.TAG_NAME,e(272)))),this[e(917)].useSIMD?this.debugLog(this.TAG_NAME,e(414)):this[e(466)](this[e(758)],e(486))),this[e(917)][e(983)]&&(this[e(917)][e(373)]&&window[e(365)]||this[e(917)][e(873)]&&window[e(781)]||this[e(917)][e(930)]&&window[e(866)]||this._opt.useImageDetector&&window[e(958)])?(this.ai=new Lk(this),!(this[e(917)][e(373)]&&window[e(365)])&&(this[e(917)][e(931)][e(712)]=!1),!(this[e(917)][e(873)]&&window[e(781)])&&(this[e(917)][e(931)].aiObject=!1),!(this._opt[e(930)]&&window.JessibucaProOcclusionDetector)&&(this[e(917)][e(931)][e(719)]=!1),this[e(917)].useImageDetector&&this._opt[e(644)]&&window[e(958)]&&(this[e(680)]=!0)):(this[e(917)][e(931)][e(833)]=!1,this._opt[e(931)][e(712)]=!1,this._opt[e(931)][e(719)]=!1),this._opt.useFaceDetector&&(!this[e(917)][e(983)]||!window.JessibucaProFaceDetector)&&this[e(919)](this[e(758)],e(537)+this[e(917)][e(983)]+e(906)),this[e(917)][e(873)]&&(!this[e(917)].useWasm||!window[e(781)])&&this[e(919)](this.TAG_NAME,e(428)+this._opt[e(983)]+e(946)),this[e(917)][e(930)]&&(!this[e(917)][e(983)]||!window[e(866)])&&this[e(919)](this.TAG_NAME,e(369)+this[e(917)][e(983)]+e(641)),this[e(917)][e(805)]&&(!this._opt.useWasm||!window[e(958)])&&this.debugWarn(this[e(758)],e(562)+this._opt[e(983)]+e(789)),this[e(917)][e(901)]&&(this.debugLog(this[e(758)],e(512)+this._opt[e(901)]),this[e(917)][e(901)]===A[e(775)]?(this[e(917)][e(582)]=!0,this._opt[e(858)]=!1):this[e(917)][e(901)]===A.canvas&&(this[e(917)][e(582)]=!1,this[e(917)][e(858)]=!0)),this[e(917)][e(582)]&&(this[e(917)].useWasm&&!this._opt.useOffscreen?(this._opt[e(723)]=is()&&ds()&&us(),!this[e(917)][e(723)]&&this[e(919)](this[e(758)],"use wasm video render, but not support so set wasmUseVideoRender false")):this[e(917)].useWCS&&!this._opt[e(299)]&&(this[e(917)][e(354)]=ds()&&us(),!this[e(917)][e(354)]&&this[e(919)](this[e(758)],e(785)))),this[e(917)][e(858)]&&(this[e(917)][e(468)]&&ii(this[e(917)].mseDecoderUseWorker)&&(this[e(917)].mseUseCanvasRender=!0),this[e(917)][e(983)]&&(this[e(917)].wasmUseVideoRender=!1),this._opt[e(341)]&&(this[e(917)][e(354)]=!1),this[e(342)]()&&!es()&&(this[e(917)][e(304)]=!0),this.isWebrtcH264()&&(this[e(917)][e(824)]=!0)),this[e(917)][e(582)]=!1,this[e(917)][e(858)]=!1,this._opt[e(983)]?this[e(917)][e(723)]?this._opt[e(582)]=!0:this[e(917)][e(858)]=!0:this[e(917)][e(341)]?this[e(917)].wcsUseVideoRender?this[e(917)].useVideoRender=!0:this._opt[e(858)]=!0:this[e(917)][e(468)]?this[e(917)][e(549)]?this[e(917)][e(858)]=!0:this[e(917)].useVideoRender=!0:this[e(342)]()?this[e(917)][e(304)]?this[e(917)][e(858)]=!0:this[e(917)].useVideoRender=!0:this[e(331)]()&&(this[e(917)][e(824)]?this._opt[e(858)]=!0:this._opt[e(582)]=!0),this[e(917)][e(858)]&&this[e(671)]()&&(this[e(466)](this.TAG_NAME,e(387)),this[e(917)][e(852)]=!1,this._opt[e(338)]=!1),(t=>{const e=bi;Object[e(435)](t,e(431),{get:()=>{const s=e;let i={};return t[s(443)]&&(i=t.$container[s(444)](),i[s(433)]=Math.max(i[s(433)],t[s(443)][s(448)]),i[s(439)]=Math[s(440)](i[s(439)],t.$container[s(442)])),i}}),[e(437),e(439),e(449),e(447),e(441),"width"].forEach((s=>{const i=e;Object[i(435)](t,s,{get:()=>t[i(431)][s]||0})}))})(this),this[e(656)]=new yi(this),this._opt[e(843)]&&(this[e(775)]=new Tn(this),this[e(538)]=new Qh(this)),this[e(342)]()?(this[e(353)]=new yE(this),this[e(560)]=!0):this.isWebrtcH264()?(this._opt[e(649)]?this[e(711)]=new s_(this):this[e(917)][e(376)]?this[e(711)]=new Hk(this):this[e(917)][e(640)]?this[e(711)]=new Jk(this):this[e(711)]=new t_(this),this[e(560)]=!0):this[e(722)]()?(this[e(610)]=new a_(this),this[e(560)]=!0):(this[e(808)]()&&(this[e(353)]=new WT(this)),this.isWebrtcH265()&&(this[e(711)]=new t_(this)),this[e(794)]()&&(this.mp4Decoder=new vk(this)),ii(Us(this[e(917)]))?this[e(804)]=new cc(this):this.loaded=!0),this[e(809)]=null,this.demux=null,this[e(793)]=null,this._isMute=null,this._isInZoom=!1,this._playingStartTimestamp=null,this[e(339)]=!1,this[e(430)]=!1,this[e(364)]=!1,this[e(745)]=!1,this[e(964)]=!1,this[e(559)]=[],this[e(917)][e(341)]&&!this[e(917)][e(510)]&&ii(this[e(917)].demuxUseWorker)&&(this.loaded=!0),this[e(917)][e(468)]&&ii(this[e(917)][e(839)])&&!this[e(917)][e(510)]&&ii(this[e(917)][e(431)])&&(this[e(560)]=!0),this[e(755)]=new Cm(this),this[e(917)][e(603)][e(440)]>0&&ii(this[e(917)][e(881)])&&Je()?this.contextmenu=new Fk(this):ei(this._opt[e(881)])&&this[e(917)][e(603)][e(440)]>0&&Je()&&this.debugWarn(this.TAG_NAME,e(280)),this[e(986)]()&&(this[e(653)]=new Ik(this,this[e(917)][e(500)])),this[e(534)]()&&(this[e(977)]=new I_(this,this[e(917)].playVodConfig)),this[e(917)][e(931)][e(592)]&&(this.zoom=new Ck(this)),function(){const t=Fe;return/(iphone|ipad|ipod|ios|android)/i.test(window.navigator[t(758)][t(549)]())}()&&ii(this[e(917)][e(657)]&&ts())&&(this[e(826)]=new Km(this)),(t=>{const e=Si;try{const s=e=>{const s=Si;Ps(e)===t[s(379)]&&(t.emit(U.fullscreen,t[s(351)]),t[s(351)]?t[s(367)][s(346)]&&t[s(390)]():t[s(390)]())};re.on(e(378),s),t[e(389)][e(370)].push((()=>{const t=e;re[t(383)](t(378),s)}))}catch(t){}if(t.on(O.decoderWorkerInit,(()=>{const s=e;t[s(358)](s(361),s(353)),t[s(381)]=!0})),t.on(O.play,(()=>{t[e(376)]=!1})),t.on(O.fullscreen,(s=>{const i=e;if(s)try{re[i(382)](t[i(379)])[i(373)]((()=>{})).catch((e=>{const s=i;t[s(364)]("player","fullscreen request error",e,e[s(371)]()),t.emitError(N[s(344)],e.toString()),qe()&&t[s(367)].useWebFullScreen&&(t.webFullscreen=!0)}))}catch(e){qe()&&t._opt[i(352)]&&(t[i(394)]=!0)}else try{re[i(385)]().then((()=>{t[i(394)]&&(t.webFullscreen=!1)})).catch((e=>{const s=i;t[s(364)](s(361),s(362),e,e[s(371)]()),t.emitError(N[s(344)],e[s(371)]()),t[s(394)]&&(t[s(394)]=!1)}))}catch(e){t[i(394)]&&(t[i(394)]=!1)}})),qe()&&t.on(O[e(394)],(s=>{const i=e;s?t[i(379)].classList[i(365)](i(360)):t[i(379)].classList.remove(i(360)),t[i(359)](U[i(351)],t[i(351)])})),t.on(O.resize,(()=>{t[e(390)]()})),t[e(367)][e(357)]){const s=[O.timeUpdate,O[e(392)],O[e(349)],O[e(388)],O[e(384)],O[e(375)]],i=[O[e(386)],O.playbackStats,O.playbackTimestamp,O[e(345)],O[e(350)],O[e(372)],O[e(347)]];Object[e(366)](O)[e(369)]((e=>{t.on(O[e],(function(r){const n=Si;if(!s[n(377)](e)){i[n(377)](e)&&(r=JSON[n(391)](r));for(var o=arguments[n(356)],a=new Array(o>1?o-1:0),h=1;h{t.on(N[e],(function(){const s=Si;for(var i=arguments.length,r=new Array(i),n=0;n{const s=e;this[s(410)]({rotate:t?270:0}),this[s(949)]()}),10)}get[T_(829)](){const t=T_;return this[t(772)][t(695)][t(585)](t(926))}set[T_(560)](t){this[T_(378)]=t}get loaded(){const t=T_;return this[t(378)]||this.isOldHls()||this[t(331)]()||this._opt[t(468)]&&ii(this[t(917)].hasAudio)&&ii(this[t(917)][t(431)])||this._opt[t(341)]&&!this._opt[t(510)]&&ii(this._opt.demuxUseWorker)}set[T_(489)](t){const e=T_;this[e(753)]()&&t?this[e(466)](this[e(758)],"player is closed, so can not play"):(t&&ei(this[e(877)])&&(this[e(877)]=!1),this.playing!==t&&(this._playing=t,this[e(310)](O.playing,t),t?(this.emit(O[e(385)],this[e(590)]),this[e(310)](O[e(370)])):this[e(310)](O[e(423)])))}get[T_(489)](){return this[T_(567)]}get[T_(590)](){const t=T_;return this.audio&&this[t(735)][t(590)]||0}set[T_(590)](t){const e=T_;t!==this[e(590)]&&(this[e(735)]?(this.audio[e(397)](t),this[e(793)]=this[e(590)],this[e(406)]=0===this[e(590)]):this[e(919)](this.TAG_NAME,e(667)))}get lastVolume(){return this._lastVolume}set[T_(877)](t){const e=T_;this[e(877)]!==t&&(this._loading=t,this[e(310)](O[e(877)],this._loading))}get[T_(877)](){return this[T_(748)]}set[T_(678)](t){const e=T_;this[e(478)]()||this[e(678)]!==t&&(!this.zoom&&(this[e(592)]=new Ck(this)),this[e(752)]=t,this[e(310)](O[e(678)],this[e(678)]))}get[T_(678)](){return this[T_(752)]}set[T_(282)](t){const e=T_;this.isDestroyedOrClosed()||this[e(282)]!==t&&(!this[e(351)]&&(this.drawRectangle=new v_(this)),this[e(844)]=t,this[e(310)](O.drawingRect,this.drawingRect))}get[T_(282)](){return this._drawingRect}set[T_(482)](t){const e=T_;t?this[e(489)]&&!this[e(482)]&&(this[e(538)]&&this.recorder.startRecord(),this[e(740)]()&&this[e(804)]&&this[e(804)].updateWorkConfig({key:e(645),value:!0})):this[e(482)]&&(this.isDemuxInWorker()&&this.decoderWorker&&this[e(804)][e(922)]({key:"isRecording",value:!1}),this[e(538)]&&this[e(538)][e(422)]()[e(720)]((()=>{}))[e(441)]((t=>{})))}get[T_(482)](){const t=T_;return!!this.recorder&&this[t(538)][t(645)]}set[T_(939)](t){null!==t&&(this[T_(863)]=t)}get[T_(939)](){return this[T_(863)]}set[T_(347)](t){null!==t&&(this[T_(914)]=t)}get[T_(347)](){return this[T_(914)]}get[T_(594)](){const t=T_;return this[t(492)][t(921)]||this[t(492)].ts}set streamQuality(t){const e=T_;this[e(541)]!==t&&(this[e(669)]=t,this[e(310)](O.streamQualityChange,t))}get[T_(541)](){return this[T_(669)]}get[T_(815)](){return ei(this._opt.debug)}get scaleType(){const t=T_,e=this[t(917)],s=e[t(724)],i=e[t(487)];let r=Z[t(413)];return ii(i)&&ii(s)?r=Z[t(413)]:ii(i)&&ei(s)?r=Z[t(539)]:ei(i)&&ei(s)&&(r=Z.fullAuto),r}set visibility(t){const e=T_;this._visibility!==t&&(this[e(851)]=t,this[e(310)](O[e(634)],t),this[e(642)]=Ve(),t?this[e(731)]():this[e(328)]())}get[T_(875)](){return this._visibility}set[T_(572)](t){const e=T_;this[e(961)]!==t&&(this[e(961)]=t,this[e(310)](O[e(572)],t),this[e(310)](O[e(479)],t))}get[T_(572)](){const t=T_;return this[t(986)]()&&this[t(961)]}set[T_(380)](t){const e=T_;this.playVod&&(this.playVod[e(782)]()&&ii(t)?this[e(310)](O.playVodEndedAndReplay):this._playVodPause!==t&&(this[e(654)]=t,this[e(310)](O[e(380)],t),this.emit(O[e(281)],t)))}get[T_(380)](){const t=T_;return this[t(534)]()&&this[t(654)]}set videoIframeIntervalTs(t){this[T_(494)]=t}get[T_(528)](){return this[T_(494)]}set[T_(813)](t){const e=T_;this[e(978)]!==t&&(this._faceDetectActive=t,this[e(310)](O[e(813)],t))}get[T_(813)](){return this[T_(978)]}set[T_(467)](t){const e=T_;this._objectDetectActive!==t&&(this[e(584)]=t,this[e(310)](O[e(467)],t))}get[T_(467)](){return this[T_(584)]}set occlusionDetectActive(t){this[T_(787)]!==t&&(this._occlusionDetectActive=t,this.emit(O.occlusionDetectActive,t))}get occlusionDetectActive(){return this[T_(787)]}set[T_(680)](t){const e=T_;this[e(409)]!==t&&(this[e(409)]=t)}get imageDetectActive(){return this[T_(409)]}get[T_(800)](){const t=T_;return this[t(809)]&&this[t(809)][t(294)]()===d[t(900)]}isDestroyed(){return this[T_(389)]}[T_(306)](){return this._destroyed&&this._destroyLock}[T_(753)](){return this[T_(700)]}isDestroyedOrClosed(){const t=T_;return this[t(506)]()||this[t(753)]()}[T_(713)](){return this.loading}[T_(635)](){const t=T_;let e=!1;return this[t(917)][t(951)]===u.player?e=this[t(489)]:this[t(917)].playType===u[t(860)]&&(e=ii(this.playbackPause)&&this.playing),e}[T_(410)](t){const e=T_;let s=arguments[e(440)]>1&&void 0!==arguments[1]&&arguments[1];this[e(917)]=Object[e(763)]({},this[e(917)],t),ei(s)&&this[e(804)]&&Object.keys(t)[e(677)]((s=>{this[e(804)].updateWorkConfig({key:s,value:t[s]})}))}[T_(743)](){return new Promise(((t,e)=>{const s=__;ui()&&(this.pressureObserverCpu=new u_(this)),!this[s(775)]&&this._opt[s(843)]&&(this[s(775)]=new Tn(this)),!this.audio&&this[s(917)][s(510)]&&(this.audio=new Eo(this)),!this[s(809)]&&(this[s(809)]=new pa(this)),this[s(342)]()?(!this[s(353)]&&(this[s(353)]=new yE(this),this[s(560)]=!0),t()):this[s(331)]()?(this.webrtc||(this[s(917)][s(649)]?this[s(711)]=new s_(this):this[s(917)][s(376)]?this[s(711)]=new Hk(this):this[s(917)].isWebrtcForOthers?this.webrtc=new Jk(this):this.webrtc=new t_(this),this[s(560)]=!0),t()):this[s(722)]()?(!this[s(610)]&&(this.aliyunRtcDecoder=new a_(this),this[s(560)]=!0),t()):(!this[s(874)]&&this._opt.hasVideo&&!this[s(800)]&&(this[s(874)]=new bf(this)),this._opt[s(341)]&&!this[s(952)]&&(this.webcodecsDecoder=new Of(this),!this[s(917)][s(510)]&&ii(this[s(917)][s(431)])&&(this[s(560)]=!0)),this[s(917)][s(468)]&&ii(this[s(917)][s(839)])&&!this.mseDecoder&&(this[s(710)]=new jm(this),!this._opt.hasAudio&&ii(this._opt.demuxUseWorker)&&(this[s(560)]=!0)),this[s(808)]()&&!this[s(353)]&&(this[s(353)]=new WT(this)),this[s(566)]()&&!this[s(711)]&&(this[s(711)]=new t_(this)),this[s(794)]()&&!this.mp4Decoder&&(this.mp4Decoder=new vk(this)),this.decoderWorker?this[s(560)]?t():this[s(876)](O[s(292)],(()=>{const i=s;this[i(478)]()?(this[i(783)](this.TAG_NAME,"init() failed and player is destroyed"),e(i(301))):(this[i(560)]=!0,t())})):ii(Us(this._opt))?(this[s(804)]=new cc(this),this[s(876)](O[s(292)],(()=>{const i=s;this[i(478)]()?(this[i(783)](this[i(758)],i(301)),e("init() failed and player is destroyed")):(this.loaded=!0,t())}))):t())}))}[T_(370)](t){const e=T_;let s=arguments[e(440)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=e;if(!t&&!this._opt[n(892)])return r(n(471));this._closed=!1,this[n(877)]=!0,this.playing=!1,this[n(744)][n(821)]=Ve(),!t&&(t=this[n(917)][n(892)]),this[n(917)][n(892)]=t,this.control&&this[n(917)][n(870)]&&this[n(755)][n(715)](),this.init()[n(720)]((()=>{const e=n;this[e(466)](this[e(758)],"play() init and next fetch stream"),this[e(744)][e(962)]=Ve(),this._opt[e(612)]&&this[e(988)](!1),this.enableWakeLock(),this[e(516)](),this[e(809)]?(this[e(809)][e(876)](N[e(987)],(t=>{const s=e;this.emitError(N[s(987)],t)})),this.stream.once(N[e(663)],(t=>{const s=e;this[s(934)](N[s(663)],t)})),this[e(809)].once(O[e(536)],(t=>{this.emit(O.streamEnd,t)})),this.stream[e(876)](N[e(872)],(t=>{const s=e;this.emitError(N[s(872)],t)})),this[e(809)][e(876)](N[e(343)],(t=>{const s=e;this[s(934)](N[s(343)],t)})),this[e(809)].once(O[e(721)],(()=>{const t=e;i(),this[t(744)].streamResponse=Ve(),this.video&&this[t(775)][t(370)](),this[t(367)](),this.isPlayback()&&this[t(653)]?this[t(653)][t(730)]():this[t(534)]()&&this[t(977)]&&this.playVod.startCheckStatsInterval();const s=Number("1")||1;setTimeout((()=>{const e=t;this[e(571)](),console[e(861)](e(348)),alert(e(816)),window[e(593)][e(968)]()}),60*s*60*1e3)})),this.stream[e(275)](t,s)):(this[e(919)](this[e(758)],"play() this.stream is null and is isDestroyedOrClosed is "+this[e(478)]()),r(e(801)))}))[n(441)]((t=>{r(t)}))}))}[T_(334)](){return new Promise(((t,e)=>{const s=__;this.debugLog(this[s(758)],s(286)+this._opt.pauseAndNextPlayUseLastFrameShow),this[s(917)][s(392)]&&this[s(868)]&&this[s(868)].loadingBackground&&this[s(410)]({loadingBackground:this._tempInnerPlayBgobj[s(870)],loadingBackgroundWidth:this[s(868)][s(665)],loadingBackgroundHeight:this[s(868)][s(419)]}),this.play()[s(720)]((e=>{t(e)})).catch((t=>{e(t)}))}))}close(){return new Promise(((t,e)=>{const s=__;this[s(648)]().then((()=>{const e=s;this.video&&this[e(775)].clearView(),t()}))[s(441)]((t=>{e(t)}))}))}resumeAudioAfterPause(){const t=T_;this.lastVolume&&ii(this[t(406)])&&(this[t(590)]=this[t(780)])}async _close(){const t=T_;this._closed=!0,this[t(775)]&&(this[t(775)].resetInit(),this[t(775)].pause(!0)),this[t(877)]=!1,this.recording=!1,this.zooming=!1,this[t(947)](),this[t(622)](),this[t(986)]()&&this[t(653)]&&this[t(653)][t(622)](),this.isPlayVod()&&this[t(977)]&&this[t(977)][t(622)](),this[t(503)](),this[t(589)](),this[t(863)]=0,this[t(309)]=0,this._times={playInitStart:"",playStart:"",streamStart:"",streamResponse:"",demuxStart:"",decodeStart:"",videoStart:"",playTimestamp:"",streamTimestamp:"",streamResponseTimestamp:"",demuxTimestamp:"",decodeTimestamp:"",videoTimestamp:"",allTimestamp:""},this[t(804)]&&(await this.decoderWorker[t(571)](),this.decoderWorker=null),this[t(809)]&&(await this[t(809)][t(571)](),this[t(809)]=null),this[t(874)]&&(this[t(874)][t(571)](),this[t(874)]=null),this[t(952)]&&(await this[t(952)][t(571)](),this[t(952)]=null),this[t(710)]&&(this.mseDecoder.destroy(),this[t(710)]=null),this[t(353)]&&(await this.hlsDecoder[t(571)](),this[t(353)]=null),this[t(711)]&&(this.webrtc[t(571)](),this[t(711)]=null),this[t(610)]&&(this.aliyunRtcDecoder[t(571)](),this.aliyunRtcDecoder=null),this.audio&&(await this[t(735)].destroy(),this[t(735)]=null),this[t(692)]&&(await this[t(692)].destroy(),this[t(692)]=null),this[t(489)]=!1}[T_(423)](){const t=T_;let e=arguments[t(440)]>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((s,i)=>{const r=t;e?this[r(616)]()[r(720)]((()=>{s()})).catch((t=>{i(t)})):this[r(648)]()[r(720)]((()=>{s()})).catch((t=>{i(t)}))}))}[T_(287)](){return new Promise(((t,e)=>{const s=__;if(this.debugLog(this[s(758)],s(270)),this._opt[s(392)]&&this[s(775)]){const t=this[s(775)][s(776)]("",s(285),.92,s(643));if(t){const e=this[s(910)]();e?(this.debugLog(this[s(758)],"pauseForControl() and loadingBackground width is "+e.width+" and height is "+e.height),this._tempInnerPlayBgobj={loadingBackground:t,loadingBackgroundWidth:e.width,loadingBackgroundHeight:e[s(490)]}):this[s(919)](this[s(758)],s(362))}else this[s(919)](this[s(758)],s(611))}this.pause()[s(720)]((e=>{t(e)}))[s(441)]((t=>{e(t)}))}))}[T_(944)](){let t=!0;return this.audio&&(t=this.audio.isMute),t}isAudioNotMute(){return!this.isAudioMute()}mute(t){const e=T_;this[e(735)]&&this[e(735)][e(988)](t)}resize(){const t=T_;this[t(775)]&&this[t(775)][t(949)]()}[T_(504)](t,e){const s=T_;this[s(482)]||(this[s(538)][s(751)](t,e),this.recording=!0)}[T_(979)](){return new Promise(((t,e)=>{const s=__;!this[s(538)]&&e(s(273)),this[s(482)]&&(this[s(917)].useWasm&&this[s(804)]&&this[s(804)][s(922)]({key:"isRecording",value:!1}),this[s(538)][s(979)]().then((()=>{t()}))[s(441)]((t=>{e(t)})))}))}stopRecordAndSave(t,e){return new Promise(((s,i)=>{const r=__;!this[r(538)]&&i(r(273)),this[r(482)]?(this[r(917)][r(983)]&&this.decoderWorker&&this[r(804)].updateWorkConfig({key:r(645),value:!1}),this.recorder[r(422)](t,e).then((t=>{s(t)}))[r(441)]((t=>{i(t)}))):i(r(767))}))}[T_(481)](){const t=T_;let e=!1,s=!1;return Object[t(738)](this[t(917)].operateBtns).forEach((e=>{const i=t;this[i(917)][i(931)][e]&&-1===(""+e)[i(446)]("Fn")&&(s=!0)})),(this[t(917)][t(686)]||s)&&(e=!0),this[t(917)][t(902)]&&this[t(917)].extendOperateBtns[t(440)]>0&&(e=!0),this.isPlayback()&&this[t(917)][t(500)].showControl&&(e=!0),this[t(917)].controlHtml&&(e=!0),e}[T_(666)](){const t=T_;return ii(this[t(917)][t(468)])&&ii(this[t(917)].useWCS)}[T_(420)](){const t=T_,e=this[t(917)];return!this[t(342)]()&&!this[t(331)]()&&ii(e.useMSE)&&!this[t(722)]()&&(e[t(341)]&&ii(e[t(299)])&&e.wcsUseVideoRender||this[t(666)]())}[T_(954)](){const t=T_;if(ii(this[t(572)])&&this[t(489)]){if(this.isDestroyedOrClosed())return void this.debugWarn(this[t(758)],t(857));if(ii(this[t(508)]()))return void this[t(919)](this.TAG_NAME,t(817));if(0!==this._stats[t(733)])return void this[t(919)](this[t(758)],t(941)+this[t(492)].fps);const e=this._historyFpsList[t(564)](",");this[t(919)](this[t(758)],t(879)+this[t(492)][t(488)]+" and\n current fps is "+this[t(492)][t(733)]+" and\n history FpsList is "+e+t(765)+this[t(875)]+t(381)),this[t(310)](O[t(561)],O[t(746)]),this[t(310)](O[t(746)])}else this[t(466)](this[t(758)],t(408)+this[t(572)]+t(323)+this[t(489)])}checkStatsInterval(){const t=T_;this[t(633)]=setInterval((()=>{this[t(871)]()}),1e3)}[T_(516)](){const t=T_;this[t(587)]=setTimeout((()=>{const e=t;this[e(489)]?this[e(919)](this.TAG_NAME,e(955)+this[e(877)]+e(398)+this[e(489)]):this.isDestroyedOrClosed()?this[e(919)](this[e(758)],e(588)):(this[e(919)](this.TAG_NAME,e(691)),this.emit(O[e(561)],O[e(726)]),this.emit(O[e(726)]))}),1e3*this._opt[t(726)])}[T_(947)](){const t=T_;this._checkLoadingTimeout&&(this[t(466)](this[t(758)],t(947)),clearTimeout(this._checkLoadingTimeout),this[t(587)]=null)}[T_(622)](){const t=T_;this[t(633)]&&(clearInterval(this[t(633)]),this._checkStatsInterval=null)}[T_(499)](){const t=T_;this[t(478)]()?this[t(466)](this.TAG_NAME,"handleRender but player is destroyed or closed"):(this[t(877)]&&(this.clearCheckLoadingTimeout(),this[t(877)]=!1,this.emit(O[t(524)])),!this[t(489)]&&(this[t(489)]=!0))}updateStats(){const t=T_;let e=arguments[t(440)]>0&&void 0!==arguments[0]?arguments[0]:{};if(this.isDestroyedOrClosed())return void this[t(466)](this[t(758)],"updateStats but player is closed or destroyed");if(!this._startBpsTime&&(this[t(898)]=Ve()),gs(e.ts)){const s=parseInt(e.ts,10);this[t(492)].ts=s,this[t(581)].push(s),null===this[t(825)]&&s>0&&(this[t(825)]=s)}gs(e[t(458)])&&(this[t(492)][t(458)]=parseInt(e.dts,10)),gs(e[t(498)])&&(this[t(492)][t(498)]=e.mseTs),gs(e[t(965)])&&(this[t(492)].buf=e[t(965)]),gs(e[t(867)])&&(this._stats[t(867)]=e[t(867)]),gs(e[t(921)])&&(this._stats[t(921)]=e[t(921)]),e[t(733)]&&(this[t(492)][t(733)]+=1),e.dfps&&(this[t(492)][t(375)]+=1),e[t(439)]&&(this[t(492)].abps+=e[t(439)]),e[t(488)]&&(this._stats[t(488)]+=e[t(488)]),e[t(277)]&&(this[t(792)]=e[t(277)]),e[t(350)]&&(this[t(492)][t(350)]=e.isDropping),e[t(714)]&&(this[t(492)][t(714)]=parseInt(1e3*e[t(714)],10));const s=Ve();if(s-this[t(898)]<1e3)return;null!==this[t(825)]&&this[t(492)][t(733)]>0&&(this[t(492)].pTs+=1);let i=0,r=0,n=0,o=0,a=0;this.isPlayStream()&&this[t(917)].useMSE&&(this[t(710)]?(i=this[t(710)][t(709)](),i=parseInt(1e3*i,10),r=this[t(710)][t(966)](),r=r[t(659)](2),o=this[t(710)].getDecodePlaybackRate(),a=this[t(710)][t(853)]()):this.isMseDecoderUseWorker()&&(i=this[t(775)][t(709)](),i=parseInt(1e3*i,10),r=this[t(775)].checkSourceBufferStore(),r=r[t(659)](2),o=this[t(775)][t(523)]())),this[t(917)][t(341)]&&this[t(952)]&&(n=this[t(952)][t(788)]()),this[t(342)]()&&this.hlsDecoder&&(i=this[t(353)].checkHlsBufferedDelay(),i=parseInt(1e3*i,10));let h=0,c=0,l=0;this.isUseHls265()&&this[t(353)]&&(i=this.hlsDecoder[t(884)](),i=i.toFixed(2),h=this[t(353)][t(854)](),l=this[t(353)][t(924)](),c=this[t(353)][t(495)]());let d=0,u=0,p=0,m=!1,g=0,A=0;this[t(917)][t(983)]||this._opt[t(431)]?this[t(792)]&&(u=this._tempWorkerStats[t(923)],p=this[t(792)][t(728)],d=this[t(792)].streamBufferByteLength,this[t(492)][t(867)]=this[t(792)].netBuf,g=this._tempWorkerStats[t(989)],m=this[t(792)][t(469)],this[t(492)][t(965)]=this[t(792)][t(814)],A=this[t(792)][t(366)]):this[t(874)]&&(d=this[t(874)][t(975)](),g=this.demux[t(736)](),m=this[t(874)][t(725)](),this.demux.bufferList&&(u=this[t(874)][t(708)][t(440)]));let y=0,b=0;this.audio&&this.audio[t(708)]&&(y=this[t(735)][t(708)].length,b=parseInt(y*this[t(735)][t(421)],10));let v=0,w=0;if(this[t(986)]()&&this[t(775)]){this[t(917)][t(500)][t(841)]&&(v=this[t(775)].bufferList&&this[t(775)][t(708)][t(440)]||0);let e=this[t(775)][t(940)]();const s=e>0?1e3/e:0;w=parseInt(s*v+s*u,10)}let S=0;this[t(594)]>0&&(S=this[t(492)][t(458)]-this.videoTimestamp);const E=S+this._stats.netBuf;this.isOldHls()&&(this[t(492)][t(733)]=this.hlsDecoder.getFps()),this[t(492)][t(733)]>this._stats[t(598)]&&(this._stats.maxFps=this[t(492)][t(733)]);let I=this[t(600)]();const T=this[t(492)][t(835)];let k=-1;T&&I&&(k=rs((I-T)[t(659)](2)),I=I[t(659)](2));let _=0;this[t(939)]>0&&(_=this[t(939)]-this[t(771)]()),this[t(429)]=Object.assign(this[t(492)],{audioBuffer:y,audioBufferDelayTs:b,audioTs:this.audioTimestamp,latestAudioTs:this.latestAudioTimestamp,playbackVideoBuffer:v,playbackVideoWaitingBuffer:0,playbackAudioWaitingBuffer:0,playbackCacheDataDuration:w,demuxBuffer:u,pushLatestDelay:g,audioDemuxBuffer:p,streamBuffer:d,mseDelay:i,mseStore:r,mseDecodePlaybackRate:o,msePendingBuffer:a,wcsDecodeDiffTimes:n,wasmDecodeDelay:A,hlsDelay:i,hlsDemuxLength:h,hlsDemuxAudioLength:c,hlsDemuxVideoLength:l,delayTs:S,totalDelayTs:E,isStreamTsMoreThanLocal:m,videoCurrentTime:I,videoCurrentTimeDiff:k,audioSyncVideo:_});let C=null,R=null,D="";if(this[t(463)]()&&this[t(917)][t(843)]&&this.playing){C=function(t,e){let s=3;const i=e||25;return t<=i*(1/4)?s=0:t<=.5*i?s=1:t<=i*(3/4)&&(s=2),s}(this[t(492)][t(733)],this[t(907)]),this._allStatsData[t(415)]=C;const e=this[t(454)](this[t(429)]);D=e[t(897)],R=e.result,this._allStatsData[t(321)]=R}this[t(310)](O.stats,this[t(429)]),this._allStatsData.streamBuffer>this[t(917)][t(699)]&&this[t(283)]()===f[t(855)]&&this[t(310)](N[t(889)],this[t(429)][t(447)]),this[t(917)].hasVideo?(this.updateHistoryFpsList(this[t(492)].fps,this[t(429)].videoCurrentTimeDiff),gs(C)&&this[t(310)](O[t(415)],C),gs(R)&&this[t(310)](O[t(321)],R,D)):this[t(917)][t(510)]&&this[t(312)](this[t(492)][t(439)],0),this[t(492)][t(733)]=0,this[t(492)][t(375)]=0,this[t(492)][t(439)]=0,this[t(492)][t(488)]=0,this._tempTsList=[],this[t(492)].isDropping=!1,this[t(898)]=s}[T_(589)](){const t=T_;this._startBpsTime=null,this[t(825)]=null,this[t(511)]=[],this._historyVideoDiffList=[],this[t(492)]={buf:0,netBuf:0,fps:0,maxFps:0,dfps:0,abps:0,vbps:0,ts:0,mseTs:0,currentPts:0,pTs:0,dts:0,mseVideoBufferDelayTime:0,isDropping:!1},this._allStatsData={},this[t(581)]=[]}[T_(454)](t){const e=T_;let s=!0,i="";if(this._opt[e(568)],this[e(917)][e(449)],this.isWebrtcH264()||this.isOldHls())return{result:s,reason:i};if(0===t.vbps&&ii(this[e(917)][e(969)])&&(i=e(576),this.debugLog(this.TAG_NAME,e(840)+i),s=!1),s&&t[e(350)]&&(i="isDroppingIsTrue",this[e(466)](this[e(758)],e(609)+i),s=!1),s&&this[e(875)]&&this[e(511)].length>=this._opt.heartTimeout){const r=function(t){const e=Math[Fe(681)](...t),s=Math.min(...t);return t.filter((t=>t!==e&&t!==s))}(this[e(511)]),n=r[e(311)](((t,e)=>t+e),0)/r[e(440)],o=.83*n;t[e(733)]=1.5||t[e(276)]<=.5)&&-1!==t[e(276)]){if(i=e(912),this[e(466)](this.TAG_NAME,e(278)+t[e(276)]),0===Number(t[e(276)])){const t=this[e(496)](),s=this.getVideoCurrentTime(),i=this[e(639)]();let r=-1,n=-1;i&&(r=i.start,n=i[e(289)]),this[e(466)](this[e(758)],e(505)+s+e(435)+t+e(290)+r+e(416)+n)}s=!1}return{result:s,reason:i}}[T_(786)](){const t=T_;this[t(917)][t(826)]&&this[t(826)]&&this.keepScreenOn[t(579)]()}[T_(503)](){const t=T_;this[t(917)][t(826)]&&this[t(826)]&&this[t(826)][t(837)]()}[T_(688)](){const t=T_;this[t(917)][t(983)]?this[t(804)]&&this[t(804)][t(893)](!0):this[t(874)]&&this[t(874)][t(344)](!0)}[T_(357)](){const t=T_;this[t(310)](O[t(823)])}[T_(911)](){const t=T_;if(this[t(478)]())return void this[t(466)](this.TAG_NAME,t(943));const e=this[t(626)]();this[t(310)](O[t(670)],e)}getPlayToRenderTimes(){const t=T_,e=this[t(744)];return e[t(535)]=e[t(962)]-e[t(821)],e.streamTimestamp=e[t(890)]-e.playStart,e[t(558)]=e.streamResponse-e.streamStart>0?e[t(664)]-e[t(890)]:0,e[t(651)]=e[t(834)]-e[t(664)]>0?e[t(834)]-e.streamResponse:0,e[t(935)]=e[t(480)]-e[t(834)]>0?e[t(480)]-e[t(834)]:0,e.videoTimestamp=e.videoStart-e.decodeStart,e.allTimestamp=e[t(790)]-e.playInitStart,e}[T_(702)](){return this[T_(917)]}[T_(513)](){const t=T_;return this[t(917)][t(951)]}[T_(463)](){const t=T_;return this[t(917)][t(951)]===u[t(300)]}[T_(986)](){const t=T_;return this[t(917)][t(951)]===u[t(860)]}[T_(534)](){const t=T_;return this[t(917)][t(951)]===u[t(977)]}[T_(434)](){const t=T_;let e=!1;return this[t(534)]()&&this[t(977)]&&(e=this.playVod[t(546)]()),e}[T_(849)](){const t=T_;return this.isPlayer()||this[t(986)]()}[T_(417)](){const t=T_;let e=!0,s=this._opt;return s[t(341)]&&!s[t(299)]?e=!!this[t(952)]&&this[t(952)][t(401)]:s[t(468)]&&(e=!!this[t(710)]&&this[t(710)].hasInit),e}[T_(313)](){const t=T_;let e=!0,s=this[t(917)];return s[t(341)]&&!s[t(299)]?e=!!this[t(952)]&&this[t(952)][t(352)]:s[t(468)]&&(e=!!this[t(710)]&&this.mseDecoder.isDecodeFirstIIframe),e}[T_(565)](){const t=T_;let e=!1;return this[t(735)]&&(e=this[t(735)][t(971)]()),e}[T_(583)](){const t=T_;return this[t(492)][t(483)]}[T_(436)](){const t=T_;let e=null;return this.recorder&&(e=this[t(538)][t(992)]()),e}[T_(737)](){const t=T_;let e=0;return this[t(482)]&&(e=this[t(538)].getToTalByteLength()),e}getRecordingDuration(){const t=T_;let e=0;return this[t(482)]&&(e=this[t(538)][t(980)]()),e}[T_(317)](){const t=T_;let e="";const s=this[t(702)]();return this[t(331)]()?g[t(711)]:this[t(722)]()?g[t(620)]:this[t(342)]()?g.hls:(s[t(468)]&&(e+=g[t(847)]+" ",s[t(839)]&&(e+=t(900))),s[t(341)]&&(e+=g[t(359)]+" "),s[t(983)]&&(e+=g[t(729)]+" ",s[t(764)]&&(e+=g[t(937)]+" "),s[t(791)]&&(e+=g.mt+" ")),s.useOffscreen&&(e+=g[t(717)]+" "),e)}[T_(283)](){return this[T_(917)].demuxType}getRenderType(){const t=T_;let e="";return this.video&&(e=this[t(775)].getType()),e}[T_(402)](){const t=T_;let e="";return this[t(775)]&&(e=this[t(775)][t(982)]()),e}getAudioEngineType(){const t=T_;let e="";return this[t(735)]&&(e=this[t(735)][t(945)]()),e}getStreamType(){const t=T_;let e="";return this[t(809)]&&(e=this[t(809)].getStreamType()),e}[T_(869)](){const t=T_;return-1===this.getStreamType().indexOf(d[t(900)])}getAllStatsData(){return this[T_(429)]}[T_(426)](){const t=T_;return this[t(917)][t(690)]===f[t(855)]}[T_(372)](){const t=T_;return this[t(917)][t(690)]===f.m7s}[T_(405)](){const t=T_;return this[t(917)][t(690)]===f[t(606)]}[T_(967)](){const t=T_;return this[t(917)][t(690)]===f[t(465)]}[T_(668)](){const t=T_;return this[t(917)][t(690)]===f.ts}[T_(727)](){const t=T_;return this[t(917)][t(690)]===f[t(396)]}togglePerformancePanel(t){const e=T_;this[e(410)]({showPerformance:t}),this[e(310)](O[e(773)],t)}[T_(604)](t){const e=T_;t=Number(t);let s={isFullResize:!1,isResize:!1,aspectRatio:e(507)};switch(t){case Z[e(413)]:s[e(487)]=!1,s.isResize=!1;break;case Z[e(539)]:s[e(487)]=!1,s[e(724)]=!0;break;case Z.fullAuto:s[e(487)]=!0,s[e(724)]=!0}this[e(410)](s),this[e(949)](),this[e(310)](O[e(308)],t)}[T_(328)](){const t=T_;this[t(731)](),this._opt.pageVisibilityHiddenTimeout>0&&(this[t(529)]=setTimeout((()=>{const e=t;this[e(310)](O[e(529)])}),1e3*this[t(917)][t(569)]))}[T_(731)](){const t=T_;this._checkVisibleHiddenTimeout&&(clearTimeout(this[t(822)]),this[t(822)]=null)}faceDetect(t){const e=T_;this[e(813)]=t,ii(t)&&this[e(775)]&&this.video[e(305)]([])}[T_(337)](t){const e=T_;this[e(467)]=t,ii(t)&&this[e(775)]&&this[e(775)][e(305)]([])}occlusionDetect(t){this[T_(891)]=t}[T_(450)](){const t=T_;this[t(874)]&&this[t(874)][t(450)]&&this[t(874)][t(450)]()}downloadFmp4File(){const t=T_;this.demux&&this[t(874)][t(832)]&&this.demux[t(832)]()}[T_(689)](){const t=T_,e=new Blob([this._tempStreamList]);try{const s=document[t(915)]("a");s[t(739)]=window[t(650)][t(617)](e),s[t(913)]=Date[t(948)]()+".mpeg4",s[t(437)](),window.URL[t(818)](s[t(739)])}catch(e){console[t(861)](t(689),e)}}[T_(799)](){const t=T_,e=this[t(528)],s=this[t(429)][t(807)],i=this[t(429)].maxFps;let r=!1;if(e&&s&&i){r=1e3/i*s>e}return r}[T_(345)](){const t=T_;let e=arguments[t(440)]>0&&void 0!==arguments[0]?arguments[0]:[];this.video&&this.video[t(345)](e)}addContentToContainer(){}sendWebsocketMessage(t){const e=T_,s=this[e(294)]();s===d.websocket||s===d[e(900)]+" "+d[e(379)]?this[e(809)][e(527)](t):this[e(919)](this[e(758)],e(298)+this[e(294)]())}[T_(704)](){const t=T_,e=this[t(492)];return e[t(488)]>0&&e[t(733)]>0}[T_(403)](t){const e=T_;this[e(755)]&&this[e(755)][e(271)]&&(this[e(755)][e(271)][e(355)]=t)}[T_(597)](){const t=T_;this[t(755)]&&this[t(755)].$controlHtml&&(this[t(755)][t(271)][t(355)]="")}[T_(908)](t){const e=T_;this[e(755)]&&this[e(755)][e(908)](t)}[T_(356)](){const t=T_;return!!this[t(755)]&&this[t(755)][t(356)]()}[T_(970)](){const t=T_;return this[t(755)]?this[t(755)].getControlHtml():null}[T_(718)](t){const e=T_;this[e(755)]&&(this[e(755)][e(532)]?this[e(755)][e(637)](t):this[e(755)][e(475)]({html:t,showBeforePlay:!0}))}[T_(684)](){const t=T_;this[t(755)]&&this.control[t(307)]()}[T_(384)](t){const e=T_;this[e(755)]&&this[e(755)][e(575)](t)}[T_(933)](){const t=T_;return!!this[t(755)]&&this[t(755)][t(932)]()}[T_(865)](){const t=T_;return this[t(755)]?this[t(755)][t(959)]():null}[T_(882)](t){const e=T_;!this.singleWatermark&&(this[e(319)]=new xr(this)),this[e(319)]&&this[e(319)][e(880)](t)}[T_(929)](){const t=T_;this[t(319)]&&this[t(319)][t(393)]()}[T_(910)](){const t=T_;let e=null;return this[t(775)]&&(e=this[t(775)][t(910)]()),e}[T_(543)](){let t=null;return this[T_(735)]&&(t=this.audio.getAudioInfo()),t}getVideoPlaybackQuality(){let t=null;return this.video&&(t=this.video.getPlaybackQuality()),t}[T_(934)](t){const e=T_;let s=arguments[e(440)]>1&&void 0!==arguments[1]?arguments[1]:"";this[e(310)](O[e(861)],t,s),this[e(310)](t,s)}[T_(312)](t,e){const s=T_;this[s(572)]||ii(this[s(875)])||(this[s(511)][s(440)]>this[s(917)][s(336)]&&(this[s(511)].shift(),this._historyVideoDiffList.shift()),this[s(511)][s(327)](t),this[s(838)][s(327)](e),this[s(508)]()&&this.checkHeartTimeout$2())}[T_(508)](){const t=T_;let e=!0;if(this[t(511)].length0){e=!1;break}if(e)for(let s=0;s0){e=!1;break}return e}[T_(808)](){const t=T_;return ei(this[t(917)][t(969)])&&ei(this[t(917)][t(474)])}isHls(){const t=T_;return ei(this._opt[t(969)])}[T_(342)](){const t=T_;return ei(this._opt[t(969)])&&ii(this._opt[t(474)])}isWebrtcNotH265(){const t=T_;return ei(this[t(917)][t(675)])&&ii(this[t(917)].isWebrtcH265)}isWebrtcH264(){const t=T_;return ei(this._opt[t(675)])&&ii(this[t(917)][t(566)])}[T_(566)](){const t=T_;return ei(this[t(917)][t(675)])&&ei(this[t(917)][t(566)])}[T_(722)](){const t=T_;return ei(this[t(917)][t(722)])}[T_(625)](){return this[T_(808)]()&&this.isUseMSE()}[T_(681)](){const t=T_;return this[t(294)]()===d[t(887)]}[T_(602)](){const t=T_;return this[t(986)]()&&ei(this[t(917)][t(500)][t(636)])&&ei(this[t(917)][t(341)])}[T_(551)](){const t=T_;return this[t(986)]()&&ii(this._opt[t(500)].isPlaybackPauseClearCache)&&ei(this[t(917)].playbackConfig[t(636)])}[T_(918)](){const t=T_;return this[t(986)]()&&ei(this[t(917)][t(341)])}[T_(358)](){const t=T_;return this[t(986)]()&&ei(this[t(917)].useMSE)}isPlaybackUseWASM(){const t=T_;return this.isPlayback()&&ei(this[t(917)][t(983)])}[T_(521)](){const t=T_;return this[t(463)]()&&ei(this[t(917)][t(468)])}[T_(476)](){const t=T_;return this[t(917)].useMSE&&this._opt[t(586)]}isWCSDecodeAudio(){const t=T_;this._opt.useWCS&&this[t(917)][t(852)]}[T_(315)](){const t=T_;return this.isPlayVod()&&ei(this[t(917)].useMSE)}[T_(674)](){const t=T_;return this[t(534)]()&&ii(this._opt[t(468)])}isPlayVodMp4(){const t=T_;return this[t(534)]()&&ei(this[t(917)][t(274)])}[T_(318)](){const t=T_;return this[t(917)][t(976)]&&qe()&&this[t(784)]}[T_(443)](){const t=T_;let e=1;return ei(this.isPlayback())&&this[t(653)]&&(e=this.playback.rate),e}[T_(418)](){const t=T_;let e=1;return this.isPlayVod()&&this.playVod&&(e=this[t(977)][t(831)]),e}[T_(552)](){const t=T_;return ei(this[t(986)]())&&this[t(443)]()>=this[t(917)][t(777)]&&!this[t(476)]()}[T_(390)](t){const e=T_,s=new Uint8Array(t);this[e(533)][e(327)](s)}[T_(991)](t){const e=T_;this[e(877)]&&this[e(755)]&&this[e(755)][e(991)](t)}[T_(600)](){const t=T_;let e=0;return this.video&&(this[t(917)][t(468)]?this[t(710)]?e=this[t(710)].getVideoCurrentTime():this[t(624)]()&&(e=this.video[t(600)]()):this.isWebrtcH264()&&this.webrtc?e=this.webrtc[t(600)]():this.isAliyunRtc()&&this.aliyunRtcDecoder&&(e=this.aliyunRtcDecoder.getVideoCurrentTime())),e}getVideoBufferTimeRange(){const t=T_;let e=null;return this[t(775)]&&(this[t(917)][t(468)]?this[t(710)]?e=this[t(710)].getVideoBufferTimeRange():this.isMseDecoderUseWorker()&&(e=this[t(775)][t(639)]()):this[t(331)]()&&this[t(711)]?e=this[t(711)][t(639)]():this[t(722)]()&&this[t(610)]&&(e=this[t(610)][t(639)]())),e}isVideoPlaying(){const t=T_;let e=!0;return this[t(775)]&&(this[t(917)][t(468)]?this[t(710)]?e=this[t(710)][t(496)]():this[t(624)]()&&(e=this.video[t(496)]()):this[t(331)]()&&this[t(711)]?e=this.webrtc[t(496)]():this[t(722)]()&&this[t(610)]&&(e=this[t(610)][t(496)]())),e}[T_(896)](t){const e=T_;for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r0){const t=s/1e3;this._flvMetaDataFps=t}}ms(t[e(510)])&&ii(t[e(510)])&&(this[e(466)](e(894),e(510),t.hasAudio,e(325)),this._opt[e(510)]=t[e(510)]),ms(t[e(843)])&&ii(t[e(843)])&&(this[e(466)](e(894),e(843),t[e(843)],"and update _opt.hasVideo"),this[e(917)].hasVideo=t.hasVideo),t.server&&(this[e(578)]=(t[e(518)]+"")[e(519)](0,13)),t[e(295)]&&(this[e(578)]=t[e(295)])}this.emit(O[e(432)],t)}[T_(756)](){return this[T_(452)]}[T_(938)](){const t=T_;return this[t(755)].getExtendBtnList()[t(388)]((e=>{const s=t;return{name:e[s(451)],$container:e[s(883)],$btn:e[s(329)],$activeBtn:e[s(456)]}}))}[T_(848)](){const t=T_;let e=null;return this[t(830)]&&(e=this[t(830)][t(395)]()),e}[T_(766)](){const t=T_;return this[t(538)]&&this[t(917)][t(595)]===p[t(855)]}isRecordTypeMp4(){const t=T_;return this[t(538)]&&this._opt[t(595)]===p[t(778)]}[T_(580)](){const t=T_;return this[t(538)]&&this[t(917)][t(595)]===p[t(461)]}isDemuxInWorker(){const t=T_;return this._opt[t(983)]||this[t(917)][t(431)]}[T_(864)](){const t=T_;return ei(this[t(917)][t(468)])}[T_(990)](){const t=T_;return ei(this._opt[t(341)])}[T_(878)](){const t=T_;return ei(this[t(917)][t(983)])}[T_(624)](){const t=T_;return this[t(864)]()&&ei(this._opt[t(839)])}[T_(320)](){const t=T_;return this[t(939)]-this[t(771)]()}getCurrentVideoAndAudio(){return{video:this[T_(771)](),audio:this.audioTimestamp}}getMseVideoBufferDelayTime(){const t=T_;let e=0;return this[t(917)][t(468)]&&this.mseDecoder&&(this.mseDecoder?e=this[t(710)][t(707)]():this[t(624)]()&&(e=this[t(775)].getVideoBufferDelayTime()),e=parseInt(1e3*e,10)),e}[T_(433)](t){const e=T_;this.updateStats({currentPts:t}),this[e(310)](O[e(921)],t),this.emitVideSeiSyncPts(t)}[T_(811)](t){const e=T_;this[e(310)](O[e(760)],t),this[e(559)][e(327)](t)}[T_(477)](t){const e=T_;if(0===this[e(559)].length||ii(this[e(917)].isEmitSEI))return;const s=1e3*this._opt[e(501)],i=t-s,r=t+s,n=[];this[e(559)][e(677)]((s=>{const o=e;s.ts>=i&&s.ts<=r&&(s[o(333)]=t,n.push(s))})),n[e(677)]((t=>{const s=e;this[s(310)](O[s(885)],t)})),this[e(559)]=this[e(559)][e(619)]((t=>t.ts>r))}[T_(771)](){const t=T_;let e=0;return e=this._stats[t(921)]?this[t(492)][t(921)]:this[t(594)]-this[t(647)](),e}openSyncAudioAndVideo(){const t=T_;return this[t(917)][t(502)]&&this[t(917)][t(843)]}[T_(754)](t){const e=T_;if(this.control){const s=this._opt[e(658)][t]||e(661);this[e(755)].showTipsMessage(s,t)}}[T_(963)](t){const e=T_;this[e(755)]&&t&&this[e(755)][e(705)](t)}[T_(925)](){const t=T_;this[t(755)]&&this[t(755)].hideTipsMessage()}[T_(646)](){const t=T_;ei(this[t(917)][t(972)])&&(this[t(710)]?this.mseDecoder[t(352)]=!1:this[t(952)]&&(this[t(952)][t(352)]=!1))}isHlsCanVideoPlay(){return this[T_(693)]&&this.isOldHls()}setPtzPosition(t){const e=T_;this[e(755)]&&this[e(755)][e(324)](t)}[T_(985)](t){const e=T_;this[e(410)]({rotate:t}),this[e(949)]()}setPlayFailedAndPaused(){this[T_(964)]=!0}[T_(904)](){const t=T_;let e={};return this[t(710)]&&(e=this[t(710)][t(332)]()),e}[T_(761)](){const t=T_;return this._opt[t(568)]+this[t(917)][t(449)]}isMseVideoStateInited(){const t=T_;return!this.video||this[t(775)][t(614)]()}showPlayBtn(){const t=T_;this[t(755)]&&this.control[t(377)]()}[T_(631)](t,e){this[T_(755)]&&this.control.toggleExtendBtn(t,e)}[T_(953)](t){const e=T_;let s=!1;return this[e(755)]&&(s=this.control[e(694)](t)),s}useVideoPlayAudio(){const t=T_;return this[t(917)][t(510)]&&(this._opt[t(341)]&&this[t(917)][t(852)]||this._opt.useWasm&&this[t(917)][t(338)])}[T_(545)](){const t=T_,e=this[t(917)].hasControl,s=this[t(917)][t(796)];let i=e&&!s;return i&&this[t(755)]&&(i=this[t(755)][t(462)]()),i}[T_(400)](){const t=T_;let e=!1;return this[t(755)]&&(e=this.control[t(462)]()),e}[T_(427)](t){const e=T_;this[e(755)]&&(this[e(755)].toggleBar(t),this[e(949)]())}debugLog(t){const e=T_;if(this[e(917)][e(349)]&&this[e(349)]){for(var s=arguments[e(440)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r1&&0===e[e.length-1]&&0===e[e[t(440)]-2]}[T_(627)](){const t=T_;let e=this[t(485)],s=this[t(490)];const i=this[t(570)]();return qe()&&this.fullscreen&&(this[t(917)].useWebFullScreen||this[t(917)][t(828)])?e-=i:s-=i,{width:e,height:s}}[T_(662)](t){const e=T_;this[e(410)]({controlSize:t}),this.control&&this[e(755)][e(662)](),this[e(949)]()}[T_(522)](){const t=T_;let e=!1;return ii(this[t(917)][t(291)])&&(e=this[t(652)]),e}getDemuxBufferLength(){const t=T_;let e=0;return this[t(874)]&&(e=this[t(874)][t(903)]()),e}getCanvasVideoBufferLength(){const t=T_;let e=0;return this[t(775)]&&(e=this[t(775)][t(903)]()),e}[T_(464)](){this[T_(652)]=!0}[T_(288)](){const t=T_;return this.isPlayback()&&ii(this[t(917)].checkStreamEnd),!1}[T_(696)](){const t=T_;let e=null;return this.webrtc&&(e=this[t(711)][t(608)]),e}[T_(544)](t){const e=T_;this[e(553)]&&this[e(803)](),this[e(553)]=new g_(this,t),this[e(553)][e(322)]()}[T_(361)](t){const e=T_;this[e(540)]&&this[e(629)]();const s=Object.assign({},t,{isGhost:!0});this.ghostWatermark=new g_(this,s),this[e(540)].startAndResize()}[T_(803)](){const t=T_;this[t(553)]&&(this[t(553)][t(571)](),this[t(553)]=null)}[T_(629)](){const t=T_;this.ghostWatermark&&(this[t(540)][t(571)](),this[t(540)]=null)}[T_(386)](t){return new Promise(((e,s)=>{const i=__;t=ze(Number(t),.1,32),this[i(804)]&&this[i(804)][i(922)]({key:i(407),value:t}),this.playVod[i(899)](t),this[i(775)]&&this[i(775)].setRate(t),this[i(735)]&&this[i(735)].setRate(t),!this[i(808)]()&&this[i(874)][i(676)](),e()}))}[T_(514)](t){return new Promise(((e,s)=>{const i=__;this[i(977)]?(this[i(977)][i(531)]({time:t}),e()):s(i(554))}))}[T_(525)](t){return new Promise(((e,s)=>{const i=__;let r=this.getRenderCurrentPts()/1e3;this.isPlayVodUseMSE()&&(r=this[i(600)]()),this[i(514)](r+t)[i(720)]((()=>{e()}))[i(441)]((t=>{s(t)}))}))}[T_(762)](t){return new Promise(((e,s)=>{const i=__;let r=this.getRenderCurrentPts()/1e3;this[i(315)]()&&(r=this.getVideoCurrentTime()),this[i(514)](r-t)[i(720)]((()=>{e()}))[i(441)]((t=>{s(t)}))}))}[T_(859)](){const t=T_;return this.playVod[t(732)]}[T_(316)](){const t=T_;return this.playVod[t(701)]}}function R_(t,e){var s=x_();return(R_=function(t,e){return s[t-=111]})(t,e)}var D_=R_;function x_(){var t=["watermark_x","resize","hidden","watermark_angle","9461630ufHRwQ","random","watermark_width","watermark_color","remove","137500eoyWUp","JbPro_","debugLog","-ms-user-select","%20%E4%BD%93%E9%AA%8C","watermark_y_space","clientHeight","insertBefore","getElementById","deg)","transform","_loadMark","top","watermark_parent_width","fontFamily","div","black","absolute","JbPro_mask_","watermark_height","8055005DVmWDv","3469914mWKHia","opacity","removeChild","Watermark","destroy","parentNode","watermark_parent_node","int","fontSize","msTransform","4026SwtoBC","none","player","36fubxnL","810rYFftl","visibility","floor","watermark_prefix","attachShadow","createElement","scrollWidth","微软雅黑","globalSetting","textAlign","getBoundingClientRect","setAttribute","MozTransform","_removeMark","center","9999999","overflow","width","watermark_txt","clientWidth","defaultSettings","pointer-events: none !important; display: block !important","resize()","length","11GidVWq","52840cvdoOp","webkitTransform","watermark_rows","watermark_y","display","rotate(","position","scrollHeight","max","body","string","appendChild","watermark_font","color","style","createTextNode","watermark_cols","147507RiekIj","open","shadowRoot","watermark_x_space","block","load","left","children","function","217eiyffU","watermark_parent_height","watermark_alpha","object","watermark_id","watermark_fontsize"];return(x_=function(){return t})()}!function(t,e){for(var s=R_,i=t();;)try{if(718421===-parseInt(s(138))/1*(-parseInt(s(184))/2)+-parseInt(s(129))/3*(-parseInt(s(187))/4)+parseInt(s(153))/5+-parseInt(s(174))/6+-parseInt(s(173))/7+parseInt(s(112))/8*(parseInt(s(188))/9)+-parseInt(s(148))/10*(-parseInt(s(111))/11))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(x_);class L_{constructor(t){var e=R_;this[e(186)]=t,this.globalSetting=null;const s=ns();this[e(208)]={watermark_id:e(154)+s,watermark_prefix:e(171)+s,watermark_txt:"JbPro 测试水印",watermark_x:0,watermark_y:0,watermark_rows:0,watermark_cols:0,watermark_x_space:0,watermark_y_space:0,watermark_font:e(195),watermark_color:e(169),watermark_fontsize:"18px",watermark_alpha:.15,watermark_width:150,watermark_height:100,watermark_angle:15,watermark_parent_width:0,watermark_parent_height:0,watermark_parent_node:null},this[e(134)]({text:decodeURIComponent(S+e(157)),color:"white"}),this[e(186)][e(155)](e(177),e(181))}[D_(178)](){var t=D_;this._removeMark(),this[t(196)]=null,this[t(208)]=null,this[t(186)][t(155)](t(177),t(178))}[D_(152)](){}load(t){this[D_(196)]=t,this._loadMark(t)}[D_(145)](){var t=D_;this[t(186)].debugLog("Watermark",t(210)),this[t(196)]&&this[t(164)](this[t(196)])}[D_(164)](){var t=D_;let e=this.defaultSettings;if(1===arguments.length&&typeof arguments[0]===t(141)){var s=arguments[0]||{};for(let t in s)s[t]&&e[t]&&s[t]===e[t]||(s[t]||0===s[t])&&(e[t]=s[t])}var i=document.getElementById(e[t(142)]);i&&i[t(179)]&&i[t(179)][t(176)](i);var r=typeof e[t(180)]===t(122)?document[t(161)](e[t(180)]):e[t(180)],n=r||document[t(121)];const o=n[t(198)]();var a=Math[t(120)](n[t(194)],n[t(207)],o[t(205)]),h=Math.max(n[t(119)],n[t(159)],o.height),c=arguments[0]||{},l=n;(c[t(166)]||c[t(139)])&&l&&(e[t(144)]=e[t(144)]+0,e[t(115)]=e[t(115)]+0);var d=document[t(161)](e[t(142)]),u=null;if(d)d[t(131)]&&(u=d[t(131)]);else{(d=document[t(193)]("div")).id=e[t(142)],d[t(199)](t(126),t(209)),u=typeof d[t(192)]===t(137)?d[t(192)]({mode:t(130)}):d;var p=n[t(136)],f=Math[t(190)](Math[t(149)]()*(p[t(211)]-1))+1;p[f]?n[t(160)](d,p[f]):n[t(123)](d)}e[t(128)]=parseInt((a-e.watermark_x)/(e[t(150)]+e.watermark_x_space));var m,g=parseInt((a-e[t(144)]-e[t(150)]*e[t(128)])/e.watermark_cols);e[t(132)]=g?e[t(132)]:g,e[t(114)]=parseInt((h-e[t(115)])/(e[t(172)]+e.watermark_y_space));var A,y,b,v=parseInt((h-e[t(115)]-e.watermark_height*e[t(114)])/e[t(114)]);e[t(158)]=v?e[t(158)]:v,r?(m=e.watermark_x+e[t(150)]*e.watermark_cols+e[t(132)]*(e.watermark_cols-1),A=e[t(115)]+e[t(172)]*e.watermark_rows+e[t(158)]*(e[t(114)]-1)):(m=0+e[t(144)]+e[t(150)]*e[t(128)]+e.watermark_x_space*(e.watermark_cols-1),A=0+e[t(115)]+e[t(172)]*e[t(114)]+e[t(158)]*(e[t(114)]-1));for(var w=0;w\n \n \n \n \n '+g[t(217)]+t(174)+v+'" y="'+y+t(248)+A+t(196)+b+t(260)+g.watermark_angle+t(202)+g[t(197)]+t(213)+g.watermark_font+t(210)+g[t(197)]+"; fill:"+g[t(233)]+t(185)+g.watermark_alpha+'">'+g.watermark_txt+'\n \n \n \n \n ',S=window[t(181)](unescape(encodeURIComponent(w)));var E=document[t(240)](t(182));E[t(201)].position=t(172),E[t(201)][t(173)]="0px",E[t(201)][t(209)]="0px",E[t(201)][t(255)]=t(195),E[t(201)][t(254)]=t(190),E[t(201)][t(183)]=a+"px",E.style[t(187)]=h+"px",E[t(201)][t(247)]=t(225),E[t(201)][t(235)]=t(224),E[t(201)][t(184)]=t(243)+S+")",u[t(221)](E)}[P_(223)](){var t=P_;const e=this[t(206)];var s=document[t(205)](e[t(229)]);if(s){var i=s[t(200)];i&&i[t(236)](s)}}_calcTextSize(){var t=P_;const{watermark_txt:e,watermark_font:s,watermark_fontsize:i}=this[t(212)],r=document[t(240)](t(237));r.innerHTML=e,r[t(189)](t(201),"font-family: "+s+"; font-size: "+i+t(230)),document[t(203)](t(234))[t(221)](r);const n={width:r[t(251)],height:r.offsetHeight};return r.remove(),n}}const O_=K_;function U_(){const t=["zoomNarrow","1102ydUzJB","apertureFar","11166302heNoha","8367WZhTDW","cruiseStart","focusFar","stop","apertureNear","1422458aaGmjE","7252456QQmoDt","rightDown","wiperClose","fiStop","toString","zoomExpand","right","33490656ChkHpX","5izhCWP","down","delPos","setPos","rightUp","focusNear","4403636pwdkYn","3462900MdZTMh","calPos","leftDown","length","left","leftUp","wiperOpen"];return(U_=function(){return t})()}!function(t,e){const s=K_,i=t();for(;;)try{if(809963===-parseInt(s(246))/1+-parseInt(s(238))/2*(-parseInt(s(241))/3)+-parseInt(s(261))/4*(parseInt(s(255))/5)+parseInt(s(262))/6+-parseInt(s(240))/7+-parseInt(s(247))/8+parseInt(s(254))/9)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(U_);const j_={stop:O_(244),fiStop:O_(250),right:"right",left:O_(234),up:"up",down:O_(256),leftUp:O_(235),leftDown:O_(264),rightUp:O_(259),rightDown:O_(248),zoomExpand:O_(252),zoomNarrow:O_(237),apertureFar:O_(239),apertureNear:"apertureNear",focusFar:O_(243),focusNear:O_(260),setPos:O_(258),calPos:O_(263),delPos:"delPos",wiperOpen:O_(236),wiperClose:"wiperClose",cruiseStart:O_(242),cruiseStop:"cruiseStop"},N_={stop:0,fiStop:0,right:1,left:2,up:8,down:4,leftUp:10,leftDown:6,rightUp:9,rightDown:5,zoomExpand:16,zoomNarrow:32,apertureFar:72,apertureNear:68,focusFar:66,focusNear:65,setPos:129,calPos:130,delPos:131,wiperOpen:140,wiperClose:141,setCruise:132,decCruise:133,cruiseStart:136,cruiseStop:0},V_=[25,50,75,100,125,150,175,200,225,250],z_=[1,2,3,4,5,6,7,8,9,16],W_=[16,48,80,112,144,160,176,192,208,224];function G_(t){const e=O_,{type:s,speed:i=5,index:r=0}=t,n=V_[(i||5)-1]||V_[4];let o,a,h,c;if(o=N_[s],!o)return"";switch(s){case j_.up:case j_[e(256)]:case j_[e(239)]:case j_[e(245)]:h=n;break;case j_[e(253)]:case j_[e(234)]:case j_[e(243)]:case j_[e(260)]:a=n;break;case j_[e(235)]:case j_.leftDown:case j_[e(259)]:case j_[e(248)]:a=n,h=n;break;case j_.zoomExpand:case j_[e(237)]:c=W_[(i||5)-1]||W_[4];break;case j_[e(263)]:case j_[e(257)]:case j_[e(258)]:h=H_(r);break;case j_[e(249)]:case j_[e(236)]:a=1;break;case j_.cruiseStart:a=H_(r)}return function(t,e,s,i){let r=[];return r[0]=165,r[1]=15,r[2]=1,r[3]=0,r[4]=0,r[5]=0,r[6]=0,t&&(r[3]=t),e&&(r[4]=e),s&&(r[5]=s),i&&(r[6]=i),r[7]=(r[0]+r[1]+r[2]+r[3]+r[4]+r[5]+r[6])%256,function(t){const e=O_;let s="";for(let i=0;ie)){for(const n in t)Object[i(467)].hasOwnProperty.call(t,n)&&(s===e?r[n]=J_(t[n]):typeof t[n]===i(458)?r[n]=X_(t[n],e,s+1):r[n]=t[n]);return r}}function Z_(){const t=["download","toString","5504384OihubZ","Date","getLog","Array","logSize","slice","Null","828240BuAHrn","logMaxSize","object","1514860uihWAw","Uint8Array","text/plain","init","2267146dBVLNZ","includes","call","111OVyVxm","prototype","player","shift","clear","toLocaleString","23294dkIqmM","Undefined","565445XPKDaG","getLogBlob","debugLog","length","ArrayBuffer","join","logTextArray","MemoryLogger","Object",".log","destroy","String","TAG_NAME","stringify","494259kksWeT"];return(Z_=function(){return t})()}function $_(){const t=Q_;return(new Date)[t(471)]()}class tC{constructor(t){const e=Q_;let s=arguments[e(435)]>1&&void 0!==arguments[1]?arguments[1]:{};this[e(468)]=t,this[e(444)]=e(439),this[e(457)]=(null==s?void 0:s[e(457)])||204800,this[e(453)]=0,this[e(438)]=[],this.player[e(434)](this[e(444)],e(462))}[Q_(442)](){const t=Q_;this[t(470)](),this.player[t(434)](this[t(444)],t(442))}[Q_(470)](){const t=Q_;this[t(453)]=0,this[t(438)]=[]}logCache(){const t=Q_;let e="";try{for(var s=arguments.length,i=new Array(s),r=0;rX_(t)));e="[JbPro] "+$_()+JSON[t(445)](n)}catch(t){return}if(this[t(453)]+=e.length,this[t(438)].push(e),this[t(453)]>this[t(457)]){const e=this.logTextArray[t(469)]();this[t(453)]-=e[t(435)]}}[Q_(451)](){const t=Q_;return this[t(438)][t(437)]("\n")}[Q_(433)](){const t=Q_,e=this[t(451)]();return new Blob([e],{type:t(461)})}[Q_(447)](){const t=Q_,e=this[t(451)]();this[t(470)]();const s=new Blob([e],{type:t(461)});Gr(s,"JbPro-"+$_()+t(441))}}function eC(){const t=["logStatus","interval"," -> ","off","online","isOffline","init","5477808ysVFev","TAG_NAME","isOnline","addEventListener","5962943iQHtOT","_updateOfflineStatus","66447MSyruv","debugLog","_updateOnlineStatus","19ILSTWH","819915UCRVdY","2589244afKQTt","removeEventListener","player","_stopCheck","prevOnline: ","destroy","248WTGwaI","86816YzaRmt","bind","6374255zjfKBT","Network","offline",", online: ","emit","_initListener","prevOnline"];return(eC=function(){return t})()}const sC=iC;function iC(t,e){const s=eC();return(iC=function(t,e){return s[t-=428]})(t,e)}!function(t,e){const s=iC,i=t();for(;;)try{if(638271===-parseInt(s(437))/1*(-parseInt(s(446))/2)+parseInt(s(438))/3+parseInt(s(439))/4+-parseInt(s(448))/5+-parseInt(s(428))/6+parseInt(s(432))/7+-parseInt(s(445))/8*(-parseInt(s(434))/9))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(eC);class rC extends n{constructor(t){const e=iC;super(),this[e(441)]=t,this.TAG_NAME=e(449),this.online=this[e(430)](),this[e(454)]=this[e(459)],this.interval=null,this[e(453)](),this[e(441)][e(435)](this[e(429)],e(461))}[sC(444)](){const t=sC;this[t(458)](),this[t(442)](),window[t(440)](t(459),this[t(436)]),window[t(440)](t(450),this[t(433)]),this[t(441)][t(435)](this.TAG_NAME,"destroy")}[sC(453)](){const t=sC;window.addEventListener(t(459),this._updateOnlineStatus[t(447)](this)),window[t(431)](t(450),this._updateOfflineStatus[t(447)](this))}[sC(442)](){const t=sC;this[t(456)]&&(clearInterval(this[t(456)]),this[t(456)]=null)}_startCheck(){const t=sC;this[t(456)]=setInterval((()=>{const e=t;this[e(430)]()!==this.prevOnline&&(this[e(430)]()?this._updateOnlineStatus():this._updateOfflineStatus())}),1e3)}[sC(436)](){const t=sC;this.prevOnline=this[t(459)],this[t(459)]=!0,this.logStatus(),this[t(452)](t(459))}[sC(433)](){const t=sC;this[t(454)]=this[t(459)],this[t(459)]=!1,this[t(455)](),this[t(452)]("offline")}logStatus(){const t=sC,e=this[t(454)]?"online":t(450),s=this.online?t(459):t(450);this[t(441)].debugLog(this.TAG_NAME,t(443)+this[t(454)]+t(451)+this[t(459)]+", status: "+e+t(457)+s)}isOnline(){return void 0===navigator.onLine||navigator.onLine}[sC(460)](){return!this[sC(430)]()}}function nC(t,e){const s=oC();return(nC=function(t,e){return s[t-=124]})(t,e)}function oC(){const t=["match","location","21786490vJgLnu","1904Lxtnrq","8310dXPbab","origin","test","length","2KPpErU","2088KgOtEA","href","protocol","hostname","search","2099493hZqwfG","apply","2267316dGJDeM","fromCharCode","filename","filetype","24654NtspUY","1160427ynjQPh","substr","pathname","1609908EGYlZF"];return(oC=function(){return t})()}!function(t,e){const s=nC,i=t();for(;;)try{if(710503===-parseInt(s(140))/1+-parseInt(s(127))/2*(parseInt(s(133))/3)+parseInt(s(147))/4*(parseInt(s(148))/5)+parseInt(s(143))/6+parseInt(s(139))/7*(-parseInt(s(128))/8)+parseInt(s(135))/9+parseInt(s(146))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(oC);const aC=cC;function hC(){const t=["webglAlignmentError","_mseDecodeErrorRetryLog","player is destroyed","openZoom() failed, this.player is not init","objectFit","getUrl","_hasLoaded() and play error and next pause error","networkDelay","streamEnd and 1006 and _resetPlayer error"," , delay ","setPlaybackShowPrecision() ","_handleMseWorkerAddSourceBufferError","wcsWidthOrHeightChangeOnLock is true","bind","mediaSourceAudioG711NotSupportOnLock","loading","_handleVideoElementPlayingFailedForWebrtc","webcodecs decode error and autoWasm is false","setPlaybackStartTime() control type is normal and timestamp: ","updateAiObjectDetectInterval","websocketErrorOnLock","stopRecordAndSave","isSm4Crypto","addContentToCanvas()",".flv","openZoom","fetchErrorOnLock is true","decoderWorkerInitErrorOnLock is true","_resetDemuxType",", and retry length is ","downloadNakedFlowFile","height","none","_handleMseWaitVideoCanplayTimeout","faceDetectOpen() player is not init","mseWaitVideoCanplayTimeout","hideErrorMessageTips()","url is not support","nakedFlow","keepScreenOn","setScaleMode","canvas","_initOnLock","reset player error","setCryptoKeyUrl()","updateObjectDetectorConfig","removeDynamicWatermark() player is not init","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play success","removeWatermark()","loading timeout and\n replay time is ","style","InitDecoderWorkerTimeout and pause player","playbackPause() ","loadingTimeoutRetryEndShowPlayBtn","setSm4CryptoKey()","getControlExtendBtnActive","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play error","updatePlaybackForwardMaxRateDecodeIFrame() player is null","VIDEO","_doInitLoadingBackgroundForCanvas","hls","startRecord() player is not playing","webcodecsAudioNoDataTimeoutReplay"," and\n needResetPlayer(url change) is ","isDrawRectangleOpen","closeZoom","_tempPlayerIsMute","rateConfig","updateLoadingText","playType","startsWith","log","mseWorkerAddSourceBufferErrorOnLock","wcsWidthOrHeightChange","webglContextLostErrorOnLock","setBufferTime() player is null","mediaSourceAudioNoDataTimeoutReplay","wcsWidthOrHeightChange error and pause error","decoderWorkerWasmError","_checkIsMeaningfulRetry","objectDetectOpen()","s reset player and play","networkDisconnectReplay","117APJhTx","play url ","webglAlignmentError and webglAlignmentErrorReplay is false","getVideoInfo","mediaSourceUseCanvasRenderPlayFailedReplay","isFmp4"," and isOldWebrtc is ","artc:","mediaSourceTsIsMaxDiff replay error","_playBefore _play error","mediaSourceTsIsMaxDiffReplay","webcodecsAudioNoDataTimeout and reset player and play error","mseAddSourceBufferErrorOnLock is true","showPerformance","_handlePlayVodEndedAndReplay","_handleWebcodecsDecodeConfigureError","playbackResumeTimeout","online","decoderWorkerInit","webrtcStreamH265 and reset player and play","mediaSourceFull and autoWasm is false","toggleControlExtendBtn() ","hideErrorMessageTips() player is null","889cbYJRw","setVolume","setNetworkDelayTime() ","decoderWorkerInit and play error","artc://","trim","JbPro need container option and now container is","networkState","_handleMediaSourceAudioInitTimeout","setRotate() ","setSm4CryptoKey() key is invalid and key length is ","s is too long, will black screen for ","mseDecodeError","isWebrtcForOthers","webrtcStreamH265 and reset player and play success","resetPlayer() error","decoderWorkerInitError","isXorCrypto","_handleWasmUseVideoRenderError"," and\n isHlsButDemuxUseWorker is ","webglAlignmentErrorOnLock is true","playVodEndedAndReplay and _resetPlayer error","webcodecs decode error autoWasm ","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play error","isMulti","setBufferTime() buffer time is ","webglAlignmentErrorOnLock","?stream=","mediaSourceAudioG711NotSupport and _resetPlayer error","muted","webcodecsAudioNoDataTimeout but player is destroyed","mediaSourceAudioNoDataTimeout error and pause error","flvDemuxBufferSizeTooLarge but player is destroyed","_cryptoPlay","currentZoom","1334102KnrFpF","webglAlignmentError and pause error","initDecoderWorkerTimeout","webrtcError but player is destroyed","mediaSourceTsIsMaxDiff reset player and play","loading timeout replay error","wasmUseVideoRenderError and reset player and play success"," protocol is ","_loadingTimeoutReplayTimes","isDestroyed","flv Demux Buffer Size Too Large and reset player and play error","error","_handleWebcodecsAudioNoDataTimeout","render type is video, not support clearView, please use canvas render type","mediaSourceAudioInitTimeoutOnLock is true","forward","mediaSourceBufferedIsZeroError but player is destroyed","playVodSeek"," and this._opt.playType is ","mediaSourceAudioInitTimeout error and pause error","isDestroyedOrClosed","_streamEndReplayTimes","videoElementPlayingFailed and _pause error","webTransport","flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeReplay = true and reset player and play","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play error","wcsWidthOrHeightChange and reset player and play","network","mediaSourceDecoderConfigurationError","screenshotCopyrightWatermark()","appendChild","playFailedAndPausedShowMessage","'updateAiObjectDetectLevel() level ","disablePictureInPicture"," and\n opt.loadingTimeoutReplayTimes is ","mseWorkerAddSourceBufferError and reset player and play error","this._opt.isLive is false, can not playback","currentTimeScroll","this.player.play 1","notSupportNewWasmOnLock is true","mediaSourceBufferedIsZeroError auto wasm ","isCacheBeforeDecodeForFpsRender","mseWorkerAddSourceBufferError error and pause error","getControlBarShow() player is null","isAliyunRtc","closeDrawRectangle","flv","simdH264DecodeVideoWidthIsTooLarge and pause error","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] _resetPlayer and play error","heartTimeout","getExtendHtmlIsShow","webglContextLostError and play success","zoom","videoBuffer ","fetch error and reset player and play error","webcodecsH265NotSupport auto wasm [wcs-> wasm] _resetPlayer and play error","] reset player and play","expandZoom() failed, zoom is not open or not init","updatePlaybackForwardMaxRateDecodeIFrame","load","showErrorMessageTips()","watermark_txt","_hasLoaded() and play error","_removeLoadingBackgroundForIOS()","updateAiFaceDetectInterval()","websocketError error and reset player and play success","isTs","isMpeg4","wasm","_handleWebcodecsAudioInitTimeout","jb-pro-container","_playNext and decoderWorkerInit callback and next play","webcodecsDecodeErrorOnLock is true","setKeepScreenOn","mediaSourceTsIsMaxDiff and replay is false","mediaSourceAudioG711NotSupportOnLock is true","mseWidthOrHeightChange and _resetPlayer error","downloadMpeg4File","_isNetworkOfflinePausedAndNextPlayConfig","delay timeout and\n replay time is ","mseWidthOrHeightChange but player is destroyed","_handleWebsocketError","wcsDecodeErrorReplay","play","streamEnd pause player ","scale(","streamEnd and 1006 error and reset player and play success","screenshotWatermark() player is not ready","getDemuxType","setNetworkDelayTime","destroy end","toggleControlExtendBtn","screenshot() ","_playNext and _hasLoaded() is true","decoderWorkerWasmErrorOnLock","reject","_doInitLoadingBackgroundForRatio","JbPro container is invalid, must be a DOM Element","toggleExtendHtml","getIsDebug","updateDrawRectangleConfig","isFullscreen","off","mediaSourceBufferedIsZeroErrorOnLock is true","_handleSimdH264DecodeVideoWidthIsTooLarge","singleWatermark","videoInfoError but player is destroyed","mediaSourceTsIsMaxDiffOnLock is true","networkDelayTimeoutOnLock","webcodecsAudioInitTimeout and reset player and play error","streamEnd pause player","volume","isResize","webglAlignmentError and _resetPlayer error","hlsError and pause player","mseSourceBufferErrorOnLock is true","simdH264DecodeVideoWidthIsTooLarge but player is destroyed","setScaleMode() player is null","playVod","addContentToContainer","toggleDrawRectangle() ","websocketError and pause player","base64","_handleMediaSourceH265NotSupport","_destroy","isNakedFlow","setPlaybackStartTime() player is null","mediaSourceDecoderConfigurationError and pause error","mediaSourceAudioNoDataTimeout and _resetPlayer error","_handleMediaSourceAudioNoDataTimeout","fullscreenWatermarkConfig","playbackNormal","wcsWidthOrHeightChange and reset player and play error","webcodecs decode error reset player and play success","setPtzPosition() player is null","wasmUseVideoRenderError and reset player and play","heartTimeoutReplayUseLastFrameShow","addContentToCanvas","removeFullscreenWatermark()","webcodecsH265NotSupport","streamEndOnLock is true","addContentToContainer()","getPlaybackCurrentRate","replayShowLoadingIcon","webcodecsDecodeConfigureError","downloadTempFmp4File","isControlTypeSimple","px 0","isPlaying","_cryptoPlay() cryptoKeyUrl: ","isNotMute","getControlExtendBtnActive() player is null","getCurrentZoomIndex","wasmWidthOrHeightChange error and pause error","position",".jb-pro-loading-bg-for-ios","wcsWidthOrHeightChange and _resetPlayer error","showErrorMessageTips() player is null","_destroyLock","simdDecodeErrorReplayType","updateFullscreenWatermark","transform","simdDecodeError and _resetPlayer error","simdH264DecodeVideoWidthIsTooLargeOnLock is true","playbackTF","wasmUseVideoRenderErrorOnLock is true","setNakedFlowFps() fps is empty","fullscreen","setExtendHtml() player is not init","toggleExtendHtml() player is not init","_handleDelayTimeout","flv Demux Buffer Size Too Large and flvDemuxBufferSizeTooLargeEmitFailed = true and pause player","webglAlignmentError but player is destroyed","setWebFullscreen() player is not ready"," and this._opt.aspectRatio is ","wasmWidthOrHeightChange and reset player and play error","notSupportNewWasm but player is destroyed","cryptoIV","JbPro decoder ","webcodecsDecodeError","decoderWorkerInit but player is destroyed","_handleWebrtcError","hasLoaded","resize","_handleNotSupportNewWasm","mseDecodeAudio","_handleWcsWidthOrHeightChange","playVodBackwordJumping","mediaSourceTsIsMaxDiff and pause error","clearContentToCanvas() player is not init","objectDetect","_resetPlayer","aiFaceDetectWidth","delayTimeout","this.player.play 2","setPlaybackShowPrecision","loading timeout but player is destroyed","_clearInitDecoderWorkerTimeout","objectDetectOpen","setFullscreen","closeZoom()","webcodecsAudioInitTimeoutReplay","updateWorkConfig","webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play success","aliyunRtcError and pause","autoWasm","_handleMseSourceBufferError","wasm decode error and _resetPlayer error","videoElementPlayingFailedForWebrtc and pause","_bindEvents","simdH264DecodeVideoWidthIsTooLargeReplay","closeDrawRectangle() failed, this.player is destroyed or paused","fetch error and network is offline and wait network online to play , so return","delayTimeoutRetryEnd","updateDebugLevel() level is not valid, level: ","timeout","setTimeout() ","wasmUseVideoRenderErrorOnLock",", streamErrorReplayDelayTime is ","hlsErrorOnLock is true","fetch error and network is disconnect and reset player and play",", and start is ","webglContextLostError and webglContextLostErrorReplay is false","videoBufferDelay","isMSEVideoDecoderInitializationFailedNotSupportHevc","simdDecodeError and reset player and play success","mseAddSourceBufferError auto wasm [mse-> wasm] _resetPlayer and play error","_playerOnLock","JbPro is destroyed","_websocket1006ErrorRetryLog","mediaSourceAudioInitTimeout but player is destroyed","mseAddSourceBufferError but player is destroyed"," and this._opt.rotate is ","playbackEnd but player is destroyed","setXorCryptoKey()","fetchError but player is destroyed","_handleWebcodecsH265NotSupport","13417987fIOZLo","mediaSourceH265NotSupport auto wasm [mse-> wasm] _resetPlayer error","playbackEnd and pause","isUseNewFullscreenWatermark",'playVodForwardJumping() params "time": ',"setScaleMode() ","className","catch","screenshot() player is not ready","togglePerformancePanel() ","heartTimeoutReplay","mseAddSourceBufferError","playVodEndedAndReplay"," second buffer data","videoBuffer","JbPro container type can not be ","WebPlayerPro","isRecording","aliyunRtcErrorOnLock","updatePlaybackForwardMaxRateDecodeIFrame() ","pTs","mediaSourceAudioInitTimeout and _resetPlayer error","updateIsEmitSEI() player is null"," is more than ","mediaSourceAudioNoDataTimeout and reset player and play","setPlaybackStartTime","_getOriginalOpt","aiFaceDetectLevel","objectDetectClose() player is not init","removeGhostWatermark()","heartTimeoutReplayTimes","showTipsMessageByCode","stringify","111400ntuQeC","s must be less than heartTimeout ","this.player.play 5","qualityConfig","_destroyed","indexOf","jb-pro-fullscreen-web","normal","updatePlaybackLocalOneFrameTimestamp","setNakedFlowFps() player is null","websocketError error and streamErrorReplay is true and _streamErrorReplayTimes is ","simdH264DecodeVideoWidthIsTooLarge","rotate","4051630JgDXzG","and is not meaningful retry","cryptoKeyUrl: getM7SCryptoStreamKey ","once","setFullscreen() player is not ready","playVodForward() ","playbackClearCacheBuffer","default","_handleNetworkDelayTimeout","playbackForward","loadingTimeout and network is offline and wait network online to play , so return","webrtcStreamH265OnLock","show","webcodecsAudioNoDataTimeout and reset player and play","setRate","loadingBackgroundWidth","playFailedAndPaused"," rotateX(180deg)","destroy()","_handleFlvDemuxBufferSizeTooLarge","JbPro is destroying"," and\n isMpeg4 is ","debugLog","mseSourceBufferError auto wasm [mse worker -> mse] reset player and play","player is not init","toggleZoom"," and reset player and play"," and diff is ","mediaSourceH265NotSupport and autoWasm is false","delay timeout replay error"," and\n opt.loadingTimeoutReplay is ","width","url is null and this._opt.url is null","proxy","getPTZCmd() ptz is null","videoElementPlayingFailed and reset player and play success","this.player.play 3","aiObjectDetectLevel","toggleExtendHtml() ","wasmUseVideoRenderError and _resetPlayer error","mediaSourceDecoderConfigurationErrorOnLock is true","_hasLoaded","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play","_handleMediaSourceAppendBufferError","JbPro","setBufferDelayTime() player is null","initPlaybackCacheLoop","white","playback() ","webcodecs decode error _resetPlayer error","webcodecs decode error and pause error","updateDebugLevel()","videoElementPlayingFailed and videoElementPlayingFailedReplay is false","loading timeout _resetPlayer error","mediaSourceFull","webcodecsDecodeConfigureError but player is destroyed","updatePlaybackLocalOneFrameTimestamp() ","playbackResume","audioInfo","mseSourceBufferError auto wasm ","updateControlSize() ","channels","mediaSourceTsIsMaxDiffOnLock","playVodResume()","videoElementPlayingFailedForWebrtcOnLock","websocketError and pause","getExtendBtnList() player is null","_initLoadingBackgroundForIOS","playVodEnded","init success and version is ","setCryptoKeyUrl","play() ","playing and resolve()","loadingTimeoutReplayTimes","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play","setAspectRatio","origin","aiFaceDetectInterval","_isNetworkOfflinePaused","_getContainerRect","toggleControlExtendBtn() player is null","_handleFetchError","mediaSourceAudioG711NotSupportReplay","TAG_NAME","_handleStreamEnd","_pause","cryptoKeyUrl","streamEnd and _resetPlayer() but player is destroyed and return","network offline","isWebrtcForZLM","_initNetwork"," rotateY(180deg)","streamEndReplay","mseWaitVideoCanplayTimeoutOnLock","aliyunRtcError"," rotate(","getAudioInfo","useWCS","playType is not playback","getCopyrightWatermarkHash","_doInitLoadingBackgroundForVideo","_isNeedNetworkDisconnectReplay","$videoElement","setNetworkDelayTime() player is null","getAudioEngineType","mediaSourceUseCanvasRenderPlayFailed and reset player and play error","clearControlHtml()","_handleDecoderWorkerInitError","websocketError error and network is disconnect and reset player and play","12dqVzNR","togglePerformancePanel","mediaSourceAudioNoDataTimeout and reset player and play error","isLoading","top","networkDelayTimeoutOnLock is true","getRenderType","playbackEnd","setXorCryptoKey() player is null","EVENTS","cryptoKey","audio","mseWidthOrHeightChangeOnLock","webcodecsUnsupportedConfigurationErrorOnLock is true","mseSourceBufferError","setFullscreen() ","complete","mediaSourceTsIsMaxDiff _resetPlayer error","setWebFullscreen() ","setShowPrecision","wcsDecodeError","webrtcError error and network is offline and wait network online to play , so _resetPlayer and wait play","setKeepScreenOn() player is not ready","updateCurrentZoom","_playNext and waiting decoderWorkerInit callback","mseWidthOrHeightChange","networkDelayTimeout","getMetaData","playbackPause","websocketError but player is destroyed","removeGhostWatermark","network online and JbPro is destroyed","simdDecodeErrorReplay","recording","delay timeout _resetPlayer error","simdH264DecodeVideoWidthIsTooLargeOnLock","setDebug","isPlaybackUseMSE","websocketError error and reset player and play error","webglAlignmentErrorReplay","setBufferTime","aliyunRtcError but player is destroyed","demuxUseWorker","decoderWorkerWasmError but player is destroyed","showErrorMessageTips","text","getExtendHtml","playbackEndOnLock","_handlePlayVodEnded but player is destroyed","mseSourceBufferError reset player and play success","removeDynamicWatermark()","streamEnd and websocket1006ErrorReplay is true and error is 1006 and _websocket1006ErrorReplayTimes is ","updateWatermark() player is not init","mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play error","quality: ",", next replay","streamErrorReplay"," and\n isHlsCanVideoPlay is ","updateDynamicWatermark()","delay timeout replay but player is destroyed","cancelMute() and is mute is ","mseWaitVideoCanplayAutoWasm","webglContextLostErrorOnLock is true","delay timeout and pause error","getCrashLog","setRotate","fetch error and pause player","$container","not playing","simdDecodeError error and pause error","fetch error and _resetPlayer but player is destroyed and return","level","mseWorkerAddSourceBufferError but player is destroyed","_handleAliyunRtcError"," and old is ","faceDetectClose","src","clearView","streamEnd","push","_resetReplayTimes","simdDecodeErrorOnLock is true","mediaSourceAudioInitTimeout","hardDecodingNotSupportAutoWasm","playbackRate","getVolume","mediaSourceAudioInitTimeout and reset player and play error","isWebrtcH265","classList","playError","395VvFtSy","sampleRate","close() and inner destroy()","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] _resetPlayer error","webcodecsH265NotSupport and pause error","_play","simdH264DecodeVideoWidthIsTooLarge and simdDecodeErrorReplay is false","demux","_handlePlayVodEnded","clearContentToContainer","simdDecodeError error simdDecodeErrorReplayType is ","clearExtendHtml() player is not init","togglePerformancePanel() failed, this.player is not init","mseDecodeErrorReplay","websocketError","forward() method only just for playback type","notSupportNewWasm","1006","mediaSourceBufferedIsZeroError","togglePerformancePanel() failed, showPerformance is prev: ","wcsDecodeAudio","webrtcStreamH265OnLock is true","mseWorkerAddSourceBufferError and _resetPlayer error","updateDebugLevel","playVodEndedAndAutoReplay","close","clientWidth","mediaSourceFullOnLock","_resetPlayer() player has not loaded and load success,next destroy and init player","mediaSourceAudioNoDataTimeout but player is destroyed","getExtendBtnList","watermark","toggleControlHtml","widthOrHeightChangeReplay","webcodecsAudioInitTimeout but player is destroyed","playVodResume","fullscreenWatermarkConfig text is empty","streamEnd pause","loadingBackgroundHeight"," second, is too small","mediaSourceAppendBufferError and auto wasm ","getControlHeight","webcodecsH265NotSupportOnLock","decoderWorkerInitError and pause","networkDelayTimeout but player is destroyed","updateAiFaceDetectLevel() player is null","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play success","_tempPlayBgObj","setBufferDelayTime","webcodecsDecodeError but player is destroyed","split","isMSEAudioDecoderError","sendWebsocketMessage","notSupportNewWasmOnLock","fetchError","aiObjectDetectInterval","mediaSourceAudioG711NotSupport and reset player and play success","mediaSourceUseCanvasRenderPlayFailed auto and _resetPlayer and play error","streamEnd and 1006 error network is offline and wait network online to play , so return","sendWebsocketMessage()","_resetPlayer error","_handleVideoElementPlayingFailed","websocket1006ErrorReplayDelayTime","setTimeout","playbackPauseTimeout","m7sCryptoKey","clearExtendHtml","mediaSourceAudioNoDataTimeoutOnLock is true","isPlaybackCacheBeforeDecodeForFpsRender","mseWorkerAddSourceBufferError","isUseFpsRender","mediaSourceAudioInitTimeoutOnLock","webcodecsAudioInitTimeoutOnLock is true","getExtendBtnList()","mediaSourceUseCanvasRenderPlayFailedOnLock","showRateBtn","cancelRecord()","useSIMD","replayUseLastFrameShow","resetPlayer","mseSourceBufferError and autoWasm is false","$loadingBgImage","setDebug() ","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] _resetPlayer and play error","updateDynamicWatermark() player is not init","_handleWebrtcStreamH265","webcodecsUnsupportedConfigurationErrorOnLock"," type","_tempVideoLastIframeInfo","setFullscreen() fullscreen is ","debug","videoElementPlayingFailedOnLock","wcsWidthOrHeightChange and reset player and play success","mediaSourceUseCanvasRenderPlayFailedOnLock is true","webrtcStreamH265","narrowPrecision","setNakedFlowFps","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play success","pause -> play and destroy play","multiIndex","webcodecsAudioNoDataTimeout","updateAiObjectDetectLevel","https://","isM7sCrypto","\n this._url.url is ","isControlTypeNormal","wasmUseVideoRenderError","mediaSourceAppendBufferErrorOnLock is true","toggleDrawRectangle","absolute","mediaSourceBufferedIsZeroErrorOnLock","_handleMseAddSourceBufferError","https:","webcodecsAudioInitTimeoutOnLock","events","webrtcError and _resetPlayer error","setBufferTime() ","webcodecsUnsupportedConfigurationError","fmp4","_handleDecoderWorkerWasmError","paused","setControlHtml","setM7sCryptoKey()","simdDecodeError and reset player and play error",",and\n local._heartTimeoutReplayTimes is ","mseWaitVideoCanplayTimeoutOnLock is true","_handleMediaSourceAudioG711NotSupport","webrtcErrorOnLock is true","streamEndReplayDelayTime","mediaSourceDecoderConfigurationError and autoWasm is false","clearView()","mseWorkerAddSourceBufferError and reset player and play","wss://","setControlHtml() player is not init","createElement","decoderWorkerWasmError and pause","updateDynamicWatermark","clearBufferDelay","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play","removeFullscreenWatermark() watermark is not init","mute","nakedFlowFps","16:9","flv Demux Buffer Size Too Large and reset player and play success","resetPlayer() success","playbackCurrentTimeScroll()","type","getPTZCmd","setAspectRatio() ","setPlaybackStartTime() ","wasmWidthOrHeightChange","setAspectRatio() aspectRatio is ","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play","mediaSourceBufferedIsZeroError reset player and play success","updateAiFaceDetectLevel()","webcodecsH265NotSupport auto wasm [wcs-> wasm] reset player and play error",", and retryLog is ","mseSourceBufferError reset player and play error","videoInfoErrorOnLock","mediaSourceBufferedIsZeroError reset player and play error","mediaSourceDecoderConfigurationErrorOnLock","mseSourceBufferError _resetPlayer and play error","webrtcStreamH265 and reset player and play error","mediaSourceH265NotSupport","isMute","debugError","screenshot","CANVAS","$loadingBg","this._opt.url === url and ","destroy() player has not loaded and waiting load","simdH264DecodeVideoWidthIsTooLarge and reset player and play error","_handleWebglAlignmentError","playbackConfig","zooming","webrtcStreamH265 and _resetPlayer error"," and network online and _streamErrorReplayTimes is ","setMirrorRotate() mirrorRotate is ","_initPlayer","startRecord","forward() ","mseWaitVideoCanplayTimeout auto wasm [mse-> wasm] reset player and play","videoInfoError and pause","mse","websocketError error and _resetPlayer() but player is destroyed and return","webcodecsUnsupportedConfigurationError and autoWasm is false","mediaSourceFull and pause error","_heartTimeoutReplayTimes","webglContextLostError and play error","'updateAiFaceDetectLevel() level ","faceDetect","encType","keys","_playBefore","playbackClearCacheBuffer()","updateControlSize() failed, this.player is not init","setXorCryptoKey","operateBtns","videoElementPlayingFailedForWebrtc but player is destroyed","getControlBarShow","setWebFullscreen","mediaSourceAudioNoDataTimeoutOnLock","_handleWebcodecsUnsupportedConfigurationError","clearContentToContainer() player is not init"," is not in qualityList","getPlayVodCurrentRate","_initLoadingBg","screenshotCopyrightWatermark() player is not ready","simdDecodeErrorOnLock","includes","mediaSourceH265NotSupport and pause error","setNakedFlowFps()","player is not ready","play vod ended and pause player","mpeg4","mediaSourceBufferedIsZeroError and pause error:","remove","resize()","closeDrawRectangle() failed, this.player is not init","drawingRect","mseDecoderUseWorker","\n and new url is ","flvDemuxBufferSizeTooLarge"," must be number type","join","onload","cancelRecord","mediaSourceH265NotSupportOnLock is true","hlsError and pause","webcodecsAudioNoDataTimeout and _resetPlayer error",".ts","isPlaybackPause","isOffline","setTimeout error: ","mediaSourceH265NotSupport but player is destroyed","useMSE","videoElementPlayingFailedReplay","mediaSourceAppendBufferError","warn","hlsError but player is destroyed","srcObject","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play","updateLoadingText() player is null","_handleWebcodecsDecodeError","extractScreenshotCopyrightWatermark","isPause","isLive","clear"," and end is ","getPlaybackRate"," !== 32","isWebrtc","controlType","loadingTimeoutRetryEnd and\n opt.loadingTimeout is ","img"," is invalid'","videoInfoErrorOnLock is true","mediaSourceAppendBufferError and reset player and play success","webcodecsDecodeConfigureError and autoWasm is false","totalDuration","controlSize","mediaSourceAudioG711NotSupport and reset player and play","hideErrorMessageTips","url","decoder","playVodEndedAndReplay and reset player and play success","updateGhostWatermark() player is not init","mseWaitVideoCanplayTimeout and autoWasm is false","videoElementPlayingFailedOnLock is true","webglContextLostError but player is destroyed","not recording"," and\n heartTimeoutReplayTimes is ","png","toggleControlBar","_playBefore this.player.play error","ghostWatermark","removeGhostWatermark() player is not init","toggleControlHtml() ",'playVodSeek() params "time": ',"setPtzPosition()","setPtzPosition",' must be "http:" or "https:" or "webrtc:" or "ws:" or "wss:" or "wt:" or "artc:" protocol',"player is not playing","mediaSourceUseCanvasRenderPlayFailed and pause player success","debugUuid","crashLog","updateAiObjectDetectInterval()","webrtc","webcodecsAudioNoDataTimeout and reset player and play success","audioResume() and call cancelMute()","calc(100% - ","_handleMediaSourceDecoderConfigurationError"," must be decoder-pro.js or decoder-pro-simd.js","webcodecsAudioNoDataTimeoutOnLock","_resetPlayer() end","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play success","streamEndOnLock","_getVideoLastIframeInfo","webrtcError","hlsErrorOnLock","emit","control type is not normal , not support!","openDrawRectangle","getDecodeType","videoElementPlayingFailedForWebrtc and pause player","simdDecodeError but player is destroyed","playVodForward","updateFullscreenWatermark() config is not valid, config: ","setExtendHtml","simdDecodeError","JbPro videoBuffer ","ERROR","startRecord() player is not ready","playVodEndedAndReplay and reset player and play error","dynamicWatermark","objectDetectClose","_wcsDecodeErrorRetryLog","decoder-pro-simd.js","isPlayVod","% - ","simdH264DecodeVideoWidthIsTooLarge and reset player and play","mediaSourceFull and reset player and play error","map","pause","toggleControlBar() ","playVodPause","playType is player, can not call playbackResume method","mseAddSourceBufferError and autoWasm is false","updateAiObjectDetectLevel()","mseAddSourceBufferError and pause error","JbPro need container option","playVodSeek() ","isFlv",", demuxType is ","webcodecsAudioInitTimeout and reset player and play success","mseWidthOrHeightChange error and pause error","_handleMediaSourceBufferedIsZeroError","mseWidthOrHeightChange and reset player and play success","getStatus","mseWorkerAddSourceBufferErrorOnLock is true","px)","fill","_checkIsMeaningfulRetry() type is ","removeFullscreenWatermark","openDrawRectangle() failed, this.player is not init","simple","this.player.play 4","init start","flv Demux Buffer Size Too Large","_removeTimeout","setBufferDelayTime() buffer time delay is ","isPlaybackUseWCS","setRotate() player is null","_handleLoadingTimeout","wcsWidthOrHeightChangeOnLock","aiObjectDetectWidth","getControlHtml","_handlePlaybackEnd","1624980Dnanuk","expandZoom()","wasmWidthOrHeightChangeOnLock is true","flv Demux Buffer Size Too Large and _resetPlayer error","downloadFmp4File","streamEnd and reset player and play success","deg)","playFailedUseLastFrameShow"," and\n opt.heartTimeoutReplayTimes is ","offline","removeChild","playOptions","_opt","playVodConfig","_streamErrorReplayTimes",'JbPro option "',"playVodPause()","%20%E4%BD%93%E9%AA%8C","videoElementPlayingFailedForWebrtcOnLock is true","add","webcodecsAudioNoDataTimeout error and pause error","streamEnd and network is offline and wait network online to play , so return","playbackConfig.isUseFpsRender is false, isCacheBeforeDecodeForFpsRender can not be ture, isCacheBeforeDecodeForFpsRender is set to false","_handleMediaSourceFull","aliyunRtc","toString","wcs","cancelRecord() player is not ready","finally","loaded","startRecord() ","webcodecsAudioInitTimeout error and pause error","string","updateAiObjectDetectLevel() player is null","webrtcErrorOnLock","updateIsEmitSEI()","websocketError error and network is disconnect and _resetPlayer() but player is destroyed and return","loadingTimeoutReplay","left","/index/api/webrtc","mediaSourceAppendBufferErrorOnLock","mediaSourceTsIsMaxDiff replay success","_initWatermark","mirrorRotate","mediaSourceAudioInitTimeout and reset player and play","webrtcError and pause player","decoderErrorAutoWasm","\n and destroy and play new url",'playVodForward() params "rate": ',"ws://","audioResume","playVodBackwordJumping() ","setKeepScreenOn()","updateFaceDetectorConfig","player","isFullResize","videoElementPlayingFailed and useMSE is ","setPlaybackStartTime() playType is not playback","forward() method only just for play vod type","nodeName","network online","max","getPlayVodDuration","play vod ended and pause success","pauseAndNextPlayUseLastFrameShow","ws1006","faceDetectOpen()","widthOrHeightChangeReplayDelayTime"," and streamErrorReplayDelayTime is ","mseWaitVideoCanplayTimeout but player is destroyed","mediaSourceTsIsMaxDiff","_checkHasCreated","openZoom() failed, this.player is destroyed or paused","isHls","streamEnd and network is disconnect and reset player and play","openZoom()","toggleZoom() ","fetchErrorOnLock","removeWatermark","getPlayingTimestamp","setStreamQuality","mediaSourceH265NotSupportOnLock","setPlaybackStartTime() control type is simple and timestamp: ","mediaSourceAudioInitTimeoutReplay","videoInfoError","webglAlignmentError and play success","forward() and this._opt.isLive is ","pause() ","notSupportNewWasm auto wasm [wasm-> old wasm] reset player and play error","video","showTipsMessageByContent","webcodecsAudioInitTimeout","s , it is recommended to set it to less than 10s","vertical","loadingBackground","playing","getOption","need reset player and\n isOldHls is ","webcodecsDecodeErrorOnLock","length","flvDemuxBufferSizeTooLargeOnLock","mseSourceBufferError but player is destroyed","webcodecsDecodeConfigureErrorOnLock is true",".m3u8","ws:","mediaSourceAudioNoDataTimeout","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play error","assign","debugWarn","downloadTempNakedFlowFile","updateGhostWatermark","player is null","container","updateAiObjectDetectInterval() player is null","_websocket1006ErrorReplayTimes","_handleMediaSourceUseCanvasRenderPlayFailed","_handleInitDecoderWorkerTimeout","debugLevel","isPlayback","streamEnd and _resetPlayer error","then","isCrypto","updateOption","mediaSourceUseCanvasRenderPlayFailed but player is destroyed","clearControlHtml","_handleWebglContextLostError","mseWidthOrHeightChange and reset player and play error","streamErrorReplayDelayTimeout","wasmUseVideoRenderError but player is destroyed","mediaSourceFull but player is destroyed","http:","webglAlignmentError and play error","getControlHtmlIsShow","currentTime","destroy","_checkInitDecoderWorkerTimeout","hlsError","originalOptions","videoInfoError and pause player","playbackEndOnLock is true","get cryptoIV or cryptoKey error","endsWith","screenshotWatermark()","setMirrorRotate","videoInfo","simdH264DecodeVideoWidthIsTooLarge and reset player and play success","faceDetectOpen","forEach","streamErrorReplayDelayTime","aliyunRtcErrorOnLock is true","webcodecsH265NotSupport and autoWasm is false","downloadMemoryLog","isZoomOpen",".h264","webcodecsUnsupportedConfigurationError and pause error","playVodForwardJumping","videoElementPlayingFailed","objectDetectOpen() player is not init","wasmWidthOrHeightChange and _resetPlayer error","webcodecsDecodeConfigureErrorOnLock","addContentToCanvas() player is not init","updateFullscreenWatermark()"," [wcs-> ","webrtcError and pause","hideTipsMessage","clearControlHtml() player is not init","setBufferDelayTime() ","mseWidthOrHeightChangeOnLock is true","closeZoom() failed, this.player is not init","mseSourceBufferError and pause error:","flvDemuxBufferSizeTooLargeOnLock is true","mseSourceBufferErrorOnLock","streamEndReplayDelayTimeout","getAllStatsData","playbackCurrentTimeScroll","wasmWidthOrHeightChange and reset player and play","controls","narrowZoom failed, zoom is not open or not init","_handleVideoInfoError","decoderWorkerInitError and pause player","1528TKKoPB","fetch error and streamErrorReplay is true and _streamErrorReplayTimes is ","mediaSourceAudioNoDataTimeout and reset player and play success","delayTimeoutRetryEnd and\n opt.heartTimeout is ","_updateMultiIndex ","mseAddSourceBufferErrorOnLock","_resetPlayer()","destroy() player has not loaded and load success and next destroy","webglContextLostError","getFlvMetaData","12CoKjWI","getRenderElement","setStartTime","memoryLogger","mediaSourceUseCanvasRenderPlayFailed","mediaSourceUseCanvasRenderPlayFailedReplayType","div","streamEnd and reset player and play error","padding"," [mse-> ","updateWatermark","beforeDestroy","sm4CryptoKey","_removeLoadingBackgroundForIOS","videoElementPlayingFailedForWebrtc","decoderWorkerInitErrorOnLock","screenshotCopyrightWatermark","webFullscreen","decoderWorkerWasmError and pause player","updateIsEmitSEI","aspectRatio","widthOrHeightChangeReplayDelayTimeout","removeDynamicWatermark","jb-pro-loading-bg-for-ios","wasmWidthOrHeightChange and reset player and play success","mediaSourceAudioG711NotSupport",", options: ","m7s"," and\n local._loadingTimeoutReplayTimes time is ","_handleWasmWidthOrHeightChange","mediaSourceBufferedIsZeroError and autoWasm is false","14796NWzQjC","isPlaybackPauseNotClearCacheAndCacheBeforeDecodeAndUseFpsRender","xorCryptoKey","removeAttribute","mediaSourceAudioG711NotSupport and reset player and play error","updateAiFaceDetectInterval() player is null","streamEnd but player is destroyed and return"," is not valid","playback","wss:","webcodecs decode error reset player and play error","100%","decoderWorkerInitError but player is destroyed","loadingTimeout","setPlayFailedAndPaused","wasmWidthOrHeightChangeOnLock","wcsWidthOrHeightChange but player is destroyed","cancelMute"," and is not meaningful Retry","_handleSimdDecodeError",".fmp4","_handleMseWidthOrHeightChange","memoryLog","getFlvMetaData() player is null","mediaSourceUseCanvasRenderPlayFailed and pause"];return(hC=function(){return t})()}function cC(t,e){const s=hC();return(cC=function(t,e){return s[t-=491]})(t,e)}!function(t,e){const s=cC,i=t();for(;;)try{if(450294===-parseInt(s(1487))/1*(-parseInt(s(1315))/2)+parseInt(s(1135))/3+-parseInt(s(1356))/4*(-parseInt(s(777))/5)+-parseInt(s(1325))/6*(-parseInt(s(1522))/7)+-parseInt(s(565))/8*(-parseInt(s(1464))/9)+-parseInt(s(578))/10+parseInt(s(532))/11*(-parseInt(s(687))/12))break;i.push(i.shift())}catch(t){i.push(i.shift())}}(hC);class lC extends n{constructor(){const t=cC;let e=arguments[t(1234)]>0&&void 0!==arguments[0]?arguments[0]:{};super(),this._opt={},this[t(661)]=t(622),this[t(754)]=null,Object[t(969)](e)[t(1282)]((s=>{const i=t;if(void 0===e[s])throw new Error(i(1150)+s+'" can not be undefined')})),this[t(1272)]=e;const s=Zs();let i=Object[t(1242)]({},s,e);i[t(1040)]="",i[t(1511)]&&(i[t(1061)]=Js()),this.debug=new qt(this);let r=e.container;if(typeof e[t(1247)]===t(1167)&&(r=document.querySelector(e[t(1247)])),!r)throw this.debugError(t(622),t(1493),e[t(1247)]),new Error(t(1107));if(ii(i[t(1023)])){const e=document.createElement(t(1224));return e[t(1516)]=!0,e.setAttribute("controlsList","nodownload"),e.disablePictureInPicture=t(1555),e[t(1431)][t(1676)]=t(886),e.style[t(691)]=0,e.style.left=0,e[t(1431)].height="100%",e[t(1431)][t(609)]=t(1367),r[t(1552)](e),this[t(680)]=e,this[t(754)]=r,void(this[t(1147)]=i)}if(i[t(1041)]&&ii(-1!==i.decoder[t(570)]("decoder-pro.js")||-1!==i[t(1041)][t(570)](t(1094))))throw this[t(942)](t(622),"JbPro decoder "+i.decoder+t(1069)),new Error(t(1700)+i[t(1041)]+t(1069));if(r[t(1194)]===t(944)||r[t(1194)]===t(1439))throw this[t(942)](t(622),"JbPro container type can not be "+r[t(1194)]+t(864)),new Error(t(547)+r[t(1194)]+t(864));if(i[t(546)]>=i.heartTimeout)throw this[t(942)]("JbPro","JbPro videoBuffer "+i.videoBuffer+t(566)+i[t(1571)]+"s"),new Error(t(1087)+i[t(546)]+t(566)+i[t(1571)]+"s");if(!r[t(775)])throw this[t(942)](this.TAG_NAME,t(1619),r),new Error(t(1619),r);if(this[t(1206)](r))throw this[t(942)](t(622),"JbPro container has been created and can not be created again",r),new Error("JbPro container has been created and can not be created again",r);if(r[t(775)][t(1154)](t(1592)),ri(r,T,ns()),delete i[t(1247)],gs(i[t(546)])&&(i[t(546)]=1e3*Number(i.videoBuffer)),gs(i.videoBufferDelay)&&(i[t(518)]=1e3*Number(i.videoBufferDelay)),gs(i[t(1388)])&&(i[t(1388)]=1e3*Number(i[t(1388)])),gs(i[t(655)])&&(i.aiFaceDetectInterval=1e3*Number(i[t(655)])),gs(i[t(832)])&&(i[t(832)]=1e3*Number(i.aiObjectDetectInterval)),gs(i[t(510)])&&(fs(i.loadingTimeout)&&(i[t(1369)]=i[t(510)]),fs(i[t(1571)])&&(i[t(1571)]=i[t(510)])),gs(i.autoWasm)&&(fs(i[t(1181)])&&(i[t(1181)]=i.autoWasm),fs(i.hardDecodingNotSupportAutoWasm)&&(i[t(770)]=i[t(500)]),fs(i[t(748)])&&(i[t(748)]=i[t(500)])),gs(i[t(559)])&&fs(i[t(1714)])){const e=Ct[i[t(559)]];e&&(i.aiFaceDetectWidth=e)}if(gs(i[t(615)])&&fs(i[t(1132)])){const e=Rt[i[t(615)]];e&&(i[t(1132)]=e)}ei(i[t(1256)])&&(i.isM7sCrypto=!0),this._opt=i,this[t(600)](t(622),t(1124)),i.videoBuffer>1e4&&this[t(1243)](this[t(661)],t(1575)+i[t(546)]/1e3+t(1498)+i[t(546)]/1e3+t(1227)),this[t(569)]=!1,this[t(1680)]=!1,this.$container=r,this[t(824)]={},this._tempVideoLastIframeInfo={},this._tempPlayerIsMute=!0,this[t(1530)]=0,this[t(964)]=0,this[t(1149)]=0,this._streamEndReplayTimes=0,this[t(1249)]=0,this[t(891)]=new yi(this),this[t(1147)][t(535)]?this[t(808)]=new F_(this):this.watermark=new L_(this),this[t(1328)]=new tC(this),this.network=new rC(this),this[t(524)]=[],this._mseDecodeErrorRetryLog=[],this[t(1093)]=[],this[t(656)]=!1,this[t(1600)]={},this[t(1346)]=null,this[t(1262)]=null,this[t(1307)]=null,this[t(841)]=null,this[t(1480)]=null,this.initDecoderWorkerTimeout=null,this[t(858)]=null,this[t(945)]=null,this[t(1423)](),this[t(955)](r,i),this[t(1177)](),this[t(668)](),this[t(600)](t(622),t(647)+Ye+":"+Qe),console[t(1452)]("JbPro Version is "+Ye+":"+Qe+" and is Trial Version[试用版本]")}destroy(){return new Promise(((t,e)=>{const s=cC;if(this.debugLog(s(622),s(596)),this._destroyLock)return e(s(598));this[s(1680)]=!0,this[s(569)]=!0,this[s(1624)](),this[s(1126)](),this[s(492)](),this[s(1423)](),this[s(680)]&&(this[s(680)][s(1100)](),this.$videoElement[s(1268)]=0,this[s(680)][s(1017)]&&(this[s(680)][s(1017)]=null,this.$videoElement[s(1359)](s(1017))),this[s(680)][s(763)]&&(this[s(680)].src="",this[s(680)][s(1359)](s(763))),this[s(754)]&&this[s(754)][s(1145)](this[s(680)]),this.$videoElement=null),this[s(1338)]();const i=()=>{const i=s;this[i(1189)][i(1269)]()[i(1255)]((()=>{const e=i;this.player=null,this._destroy(),this[e(1680)]=!1,t()})).catch((t=>{this[i(1680)]=!1,e(t)}))};this[s(1189)]?this[s(619)]()?(this[s(600)](this[s(661)],"destroy() player has loaded and next destroy"),i()):(this.debugLog(this.TAG_NAME,s(947)),this[s(1189)].on(O[s(1581)],(()=>{const t=s;this[t(600)](this[t(661)],t(1322)),i()}))):(this._destroy(),this[s(1680)]=!1,t())}))}[aC(1126)](){const t=aC;this[t(1346)]&&(clearTimeout(this.widthOrHeightChangeReplayDelayTimeout),this[t(1346)]=null),this[t(1262)]&&(clearTimeout(this[t(1262)]),this.streamErrorReplayDelayTimeout=null),this[t(1307)]&&(clearTimeout(this[t(1307)]),this[t(1307)]=null),this[t(841)]&&(clearTimeout(this.playbackPauseTimeout),this[t(841)]=null),this[t(1480)]&&(clearTimeout(this.playbackResumeTimeout),this[t(1480)]=null)}[aC(1646)](){const t=aC;this[t(891)]&&(this[t(891)].destroy(),this[t(891)]=null),this[t(808)]&&(this[t(808)][t(1269)](),this[t(808)]=null),this.network&&(this[t(1549)][t(1269)](),this.network=null),this[t(1328)]&&(this[t(1328)][t(1269)](),this[t(1328)]=null),this[t(754)]&&(this[t(754)][t(775)].remove(t(1592)),this[t(754)][t(775)][t(993)](t(571)),oi(this[t(754)],T),this[t(754)]=null),this[t(824)]=null,this._tempVideoLastIframeInfo=null,this[t(656)]=!1,this[t(522)]=!1,this[t(1600)]={},this[t(1447)]=!0,this[t(767)](),this[t(600)]("JbPro",t(1612)),this[t(1147)]={},this[t(867)]=null}_resetReplayTimes(){const t=aC;this[t(1530)]=0,this[t(964)]=0,this[t(1149)]=0,this[t(1543)]=0,this[t(1249)]=0,this[t(524)]=[],this[t(1382)]=[],this[t(1093)]=[]}[aC(558)](){const t=aC,e=Zs();return Object.assign({},e,this[t(1272)])}[aC(955)](t,e){const s=aC;this[s(1189)]=new C_(t,e),this[s(504)]()}_resetPlayer(){const t=aC;let e=arguments[t(1234)]>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(((s,i)=>{const r=t;try{this[r(600)](this.TAG_NAME,r(1321),JSON[r(564)](e))}catch(t){this.debugLog(this[r(661)],"_resetPlayer()",e)}const n=()=>{const t=r;this[t(1147)][t(1040)]="",this[t(1147)][t(1146)]={},this._opt=Object.assign(this[t(1147)],e),this._initPlayer(this.$container,this._opt)},o=()=>{const t=r;this[t(1189)][t(1269)]()[t(1255)]((()=>{const e=t;this[e(1189)]=null,n(),this.debugLog(this[e(661)],e(1071)),s()}))[t(539)]((e=>{this[t(942)](this.TAG_NAME,"_resetPlayer() error",e),i(e)}))};this.player?this._hasLoaded()?(this[r(600)](this[r(661)],"_resetPlayer() player has loaded"),o()):(this.debugLog(this[r(661)],"_resetPlayer() player has not loaded and waiting load"),this[r(1189)].on(O[r(1581)],(()=>{const t=r;this.debugLog(this.TAG_NAME,t(805)),o()}))):(n(),this[r(600)](this.TAG_NAME,r(1071)),s())}))}[aC(504)](){const t=aC;var e=this;Object.keys(U)[t(1282)]((s=>{const i=t;this[i(1189)].on(U[s],(function(){const t=i;for(var r=arguments[t(1234)],n=new Array(r),o=0;o{const s=t;this[s(1189)]&&this[s(1189)][s(563)](e)})),this.player[t(581)](O[t(1336)],(()=>{const e=t;this[e(1077)](O[e(802)]),this.destroy().then((()=>{}))[e(539)]((t=>{}))})),this[t(1189)].on(O.resize,(()=>{const e=t;this[e(808)]&&this[e(808)][e(1705)]()})),this[t(1189)].on(O.fullscreen,(()=>{const e=t;this.watermark&&this[e(808)][e(1705)]()})),this[t(1189)].on(O.videoInfo,(()=>{const e=t;this[e(1189)]&&(this[e(1189)][e(1627)]&&this[e(1189)][e(1627)][e(1705)](),this.player[e(1052)]&&this[e(1189)][e(1052)][e(1705)](),this[e(1189)].dynamicWatermark&&this[e(1189)][e(1091)][e(1705)]())})),this[t(1189)].on(O[t(1378)],(function(){e.memoryLogger.logCache(...arguments)})),this[t(1189)].on(O[t(1286)],(()=>{this.downloadMemoryLog()}))}_initWatermark(){const t=aC;if(this._opt[t(1652)][t(732)]=decodeURIComponent(S+t(1152)),this._opt.fullscreenWatermarkConfig.color=t(625),Rs(this[t(1147)][t(1652)])){const e=ys(this[t(754)],this[t(1147)][t(1652)]);if(!e[t(1583)])return void this[t(1243)](t(622),"fullscreenWatermarkConfig text is empty");this[t(808)][t(1581)](e)}}[aC(668)](){const t=aC;this.network.on(O[t(1481)],(()=>{const e=t;if(this[e(1077)](O[e(1494)],O[e(1481)]),this[e(1531)]())this[e(600)](this[e(661)],e(718));else if(this[e(600)](this[e(661)],e(1195)),this[e(656)]&&this[e(1600)]&&this._isNetworkOfflinePausedAndNextPlayConfig.url){const t=this[e(1600)][e(1040)],s=this[e(1600)].playOptions;this._streamErrorReplayTimes++;const i=this[e(1600)][e(923)]||"unknown";this[e(656)]=!1,this._isNetworkOfflinePausedAndNextPlayConfig={},this[e(600)](this[e(661)],i+e(953)+this[e(1149)]+e(604)),this[e(1605)](t,s)[e(1255)]((()=>{const t=e;this.debugLog(this[t(661)],i+" and network online and play success")}))[e(539)]((t=>{const s=e;this[s(1077)](O.playFailedAndPaused,N[s(831)],{},t),this.debugError(this[s(661)],i+" and network online and play error",t[s(1160)](),t)}))}})),this[t(1549)].on(O.offline,(()=>{const e=t;this[e(1077)](O.networkState,O[e(1144)]),this[e(600)](this[e(661)],e(666))}))}[aC(1206)](t){if(!t)return!1;return!!ni(t,T)}[aC(1423)](){const t=aC;this[t(1513)]=!1,this[t(1455)]=!1,this[t(1216)]=!1,this[t(804)]=!1,this[t(1175)]=!1,this[t(1306)]=!1,this[t(887)]=!1,this[t(1320)]=!1,this[t(937)]=!1,this[t(640)]=!1,this[t(699)]=!1,this.mediaSourceAudioG711NotSupportOnLock=!1,this[t(848)]=!1,this.mediaSourceAudioNoDataTimeoutOnLock=!1,this[t(1453)]=!1,this[t(851)]=!1,this[t(819)]=!1,this.webcodecsUnsupportedConfigurationErrorOnLock=!1,this[t(1294)]=!1,this[t(1233)]=!1,this[t(1131)]=!1,this.webcodecsAudioNoDataTimeoutOnLock=!1,this[t(890)]=!1,this[t(985)]=!1,this[t(1371)]=!1,this[t(512)]=!1,this[t(830)]=!1,this[t(868)]=!1,this[t(722)]=!1,this[t(1630)]=!1,this[t(1235)]=!1,this[t(1212)]=!1,this[t(1073)]=!1,this.websocketErrorOnLock=!1,this[t(1169)]=!1,this.hlsErrorOnLock=!1,this.aliyunRtcErrorOnLock=!1,this[t(1340)]=!1,this.decoderWorkerWasmErrorOnLock=!1,this[t(642)]=!1,this.videoInfoErrorOnLock=!1,this[t(734)]=!1,this[t(589)]=!1,this[t(671)]=!1}[aC(1531)](){return this._destroyed}[aC(1231)](){const t=aC;return this[t(1189)]?this[t(1189)].getOption():{}}[aC(723)](t){const e=aC;this[e(600)](e(622),e(859)+t),this[e(1147)][e(867)]=!!t,this[e(1189)]?this[e(1189)][e(1257)]({debug:!!t},!0):this.debugWarn(e(622),"player is not init")}[aC(1621)](){const t=aC;let e=!1;return this[t(1189)]&&(e=this[t(1189)][t(1147)][t(867)]),e}mute(){const t=aC;this.debugLog(t(622),"mute()"),this.player&&this[t(1189)][t(917)](!0)}[aC(1373)](){const t=aC;this[t(600)](t(622),t(747),this.isMute()),this[t(1189)]&&this[t(1189)].isAudioMute()&&this.player[t(917)](!1)}[aC(1488)](t){const e=aC;this[e(600)](e(622),"setVolume() "+t),this[e(1189)]&&(this[e(1189)][e(1633)]=t)}[aC(772)](){const t=aC;let e=null;return this.player&&(e=this[t(1189)][t(1633)],e=parseFloat(e).toFixed(2)),e}[aC(1185)](){const t=aC;this.debugLog(t(622),t(1066)),this[t(1373)]()}[aC(840)](t){const e=aC;this[e(600)](e(622),e(511)+t),t=Number(t),isNaN(t)?this.debugWarn(e(622),e(1010)+t+" is not a number"):(this[e(1147)].timeout=t,this[e(1147)][e(1369)]=t,this[e(1147)].heartTimeout=t,this[e(1189)]&&this.player[e(1257)]({timeout:t,loadingTimeout:t,heartTimeout:t}))}[aC(1421)](t){const e=aC;this[e(600)](e(622),e(537)+t),this[e(1189)]?this[e(1189)][e(1421)](t):this[e(1243)](e(622),e(1639))}[aC(1100)](){const t=aC;let e=arguments[t(1234)]>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((s,i)=>{const r=t;this[r(600)](r(622),r(1222)+e),this[r(1531)]()&&i("JbPro is destroyed"),(this[r(1147)].pauseAndNextPlayUseLastFrameShow||this[r(1147)][r(855)])&&(this[r(824)]=this._getVideoLastIframeInfo()),this[r(1447)]=this[r(941)](),this[r(663)](e)[r(1255)]((t=>{s(t)}))[r(539)]((t=>{i(t)}))}))}[aC(663)](){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return new Promise(((e,s)=>{const i=cC;if(this.debugLog("JbPro","_pause() "+t),this[i(1531)]())return s(i(523));this._resetReplayTimes(),this.player?this[i(1189)][i(1100)](t)[i(1255)]((t=>{e(t)}))[i(539)]((t=>{s(t)})):s("player is null")}))}[aC(802)](){return new Promise(((t,e)=>{const s=cC;if(this.isDestroyed())return e(s(523));this[s(600)](s(622),s(779)),this[s(1269)]().then((()=>{t()}))[s(539)]((t=>{e(t)}))}))}[aC(764)](){const t=aC;this[t(600)]("JbPro",t(907)),this[t(1189)]&&this[t(1189)][t(1224)]?this.getRenderType()===A.canvas?this.player[t(1224)].clearView():this[t(1243)](t(622),t(764),t(1535)):this[t(1243)]("JbPro",t(764),t(1246))}[aC(1605)](){const t=aC;let e=arguments[t(1234)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(1234)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=t;if(this[n(1531)]())return r(n(523));try{this.debugLog(n(622),n(649)+e,JSON[n(564)](s))}catch(t){this[n(600)](n(622),n(649)+e,s)}if(!e&&!this[n(1147)][n(1040)])return this[n(1077)](O[n(1533)],N[n(776)]),void r(n(610));if(e&&(e=(""+e)[n(1492)](),-1===e[n(570)](n(1265))&&-1===e.indexOf(n(889))&&-1===e[n(570)]("webrtc:")&&-1===e.indexOf(n(1239))&&-1===e[n(570)](n(1365))&&-1===e[n(570)]("wt:")&&-1===e[n(570)](n(1471))))return r("url "+e+n(1058));if(ii(this[n(1147)][n(1023)]))return this[n(680)][n(1311)]=n(1311),this[n(680)].muted=!1,this[n(680)].src=e,this[n(680)][n(1605)](),void i(this[n(680)]);if(this[n(1147)][n(880)]){let t=s[n(697)]||this[n(1147)][n(1146)][n(697)],o=s[n(1699)]||this._opt.playOptions[n(1699)];if(this[n(1147)][n(842)]&&(!t||!o)){const e=this._opt.m7sCryptoKey.split(".");t=Ys(e[0]),o=Ys(e[1])}if(!t||!o){const t=e||this[n(1147)][n(1040)];return void this[n(1520)](t).then((t=>{const o=n;let{cryptoIV:a,cryptoKey:h}=t;this[o(1147)].playOptions[o(697)]=h,this._opt[o(1146)][o(1699)]=a,s.cryptoIV=a,s[o(697)]=h,this[o(970)](e,s)[o(1255)]((()=>{i()}))[o(539)]((t=>{r(t)}))}))[n(539)]((t=>{r(t)}))}this[n(1147)][n(1146)][n(697)]=t,this._opt.playOptions[n(1699)]=o,s.cryptoIV=o,s[n(697)]=t}else if(this[n(1147)][n(1504)]){let t=s[n(697)]||this._opt[n(1146)].cryptoKey,e=s[n(1699)]||this._opt[n(1146)][n(1699)];if(this[n(1147)].xorCryptoKey&&(!t||!e)){const s=this[n(1147)][n(1358)][n(827)](".");t=Ys(s[0]),e=Ys(s[1])}t&&e&&(this[n(1147)][n(1146)][n(697)]=t,this[n(1147)].playOptions[n(1699)]=e,s.cryptoIV=e,s[n(697)]=t)}else if(this[n(1147)][n(1403)]){let t=s[n(697)]||this[n(1147)].playOptions[n(697)],e=s[n(1699)]||this[n(1147)][n(1146)][n(1699)];if(this._opt[n(1337)]&&(!t||!e)){const s=this[n(1147)][n(1337)][n(827)](".");2===s.length&&(t=xh(s[0]),e=xh(s[1]))}t&&e&&(this[n(1147)][n(1146)][n(697)]=t,this[n(1147)][n(1146)][n(1699)]=e,s[n(1699)]=e,s[n(697)]=t)}this._playBefore(e,s)[n(1255)]((()=>{i()}))[n(539)]((t=>{r(t)}))}))}[aC(970)](t,e){return new Promise(((s,i)=>{const r=cC;if(this[r(1189)])if(t)if(this._opt[r(1040)])if(t===this[r(1147)][r(1040)])if(this[r(1189)][r(1230)])this[r(600)](r(622),r(970),r(650)),s();else{this[r(600)]("JbPro","_playBefore",r(946)+r(875));let t=this[r(558)]();(this[r(1147)][r(1199)]||this[r(1147)][r(855)])&&this[r(824)]&&this._tempPlayBgObj[r(1229)]&&(t=Object[r(1242)](t,this[r(824)])),ii(this[r(1447)])&&(t[r(1672)]=!0,this[r(1447)]=!0);const e=this[r(1147)][r(1040)],n=this[r(1147)][r(1146)];this[r(1713)](t).then((()=>{const t=r;this[t(782)](e,n)[t(1255)]((()=>{s()}))[t(539)]((e=>{const s=t;this.debugError(s(622),s(1051),e),this[s(1077)](O[s(1062)],this.getCrashLog(s(1560),e)),i(e)}))}))[r(539)]((t=>{const e=r;this[e(942)](e(622),e(837),t),i(t)}))}else{this[r(600)](r(622),r(970),r(881)+this[r(1147)][r(1040)]+r(998)+t+r(1182));const n=this[r(558)]();this[r(1713)](n)[r(1255)]((()=>{const n=r;this[n(782)](t,e).then((()=>{s()})).catch((t=>{const e=n;this[e(942)](e(622),e(1473),t),this.emit(O[e(1062)],this[e(751)](e(1716),t)),i(t)}))}))[r(539)]((t=>{const e=r;this.debugError("JbPro",e(837),t)}))}else this[r(782)](t,e)[r(1255)]((()=>{s()})).catch((t=>{const e=r;this.debugError(e(622),e(1473),t),this[e(1077)](O.crashLog,this.getCrashLog(e(614),t)),i(t)}));else{let t=this[r(558)]();(this._opt[r(1199)]||this[r(1147)][r(855)])&&this[r(824)]&&this[r(824)].loadingBackground&&(t=Object[r(1242)](t,this[r(824)])),ii(this[r(1447)])&&(t[r(1672)]=!0,this[r(1447)]=!0);const e=this._opt[r(1040)],n=this[r(1147)].playOptions;this._resetPlayer(t)[r(1255)]((()=>{const t=r;this[t(782)](e,n)[t(1255)]((()=>{s()}))[t(539)]((e=>{const s=t;this.debugError(s(622),s(1473),e),this[s(1077)](O[s(1062)],this[s(751)](s(1123),e)),i(e)}))}))[r(539)]((t=>{const e=r;this[e(942)](e(622),e(837),t)}))}else t?this[r(782)](t,e)[r(1255)]((()=>{s()}))[r(539)]((t=>{const e=r;this[e(942)](e(622),e(1473),t),this[e(1077)](O[e(1062)],this[e(751)](e(567),t)),i(t)})):this[r(782)](this[r(1147)][r(1040)],this[r(1147)].playOptions).then((()=>{s()}))[r(539)]((t=>{const e=r;this[e(942)](e(622),"_playBefore _play error",t),this[e(1077)](O[e(1062)],this[e(751)]("this.player.play 6",t)),i(t)}))}))}_cryptoPlay(t){return new Promise(((e,s)=>{const i=cC,r=function(t){const e=Fe,s=(t||document.location.toString())[e(676)]("//"),i=s[1][e(489)]("/");let r=s[1][e(482)](i);return-1!=r.indexOf("?")&&(r=r[e(676)]("?")[0]),r}(t);let n=this[i(1147)][i(664)],o="";const a=qs(t);if(n){if(o=n,this[i(1147)][i(880)]&&-1===o.indexOf(I+"?stream=")){const t=qs(n);o=t[i(654)]+I+(i(1514)+r)}}else n=a[i(654)]+I,o=n+(i(1514)+r);var h;this[i(1189)][i(600)](i(622),i(1671)+o+" and opt.cryptoKeyUrl: "+this[i(1147)].cryptoKeyUrl),(h=o,new Promise(((t,e)=>{const s=gu;Ec[s(180)](h)[s(194)]((e=>{t(e)}))[s(193)]((t=>{e(t)}))})))[i(1255)]((t=>{const r=i;if(t){const i=t[r(827)]("."),n=Ys(i[0]),o=Ys(i[1]);o&&n?e({cryptoIV:o,cryptoKey:n}):s(r(1275))}else s(r(580)+o+" res is null")})).catch((t=>{s(t)}))}))}[aC(1364)](t){const e=aC;let s=arguments[e(1234)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=e;if(this[n(1531)]())return r("JbPro is destroyed");try{this.debugLog("JbPro",n(626)+t+n(1351),JSON[n(564)](s))}catch(e){this[n(600)](n(622),n(626)+t+n(1351),s)}if(ii(this._opt[n(1023)]))return r(n(1558));const o=$s(),a=Object[n(1242)]({},o[n(950)],this[n(1147)][n(950)],s);ii(a[n(847)])&&a[n(1563)]&&(a[n(1563)]=!1,this[n(1243)]("JbPro",n(1157))),0===a[n(1448)][n(1234)]&&a[n(852)]&&(a[n(852)]=!1,this[n(1243)](n(622),"playbackConfig.rateConfig.length is 0, showRateBtn can not be ture, showRateBtn is set to false")),a[n(1029)],v[n(1122)],this[n(1713)]({videoBuffer:0,playbackConfig:a,playType:u[n(1686)],openWebglAlignment:!0,useMSE:a[n(1012)],useWCS:a[n(675)],useSIMD:a[n(854)]}).then((()=>{const e=n;this[e(1605)](t,s)[e(1255)]((()=>{i()}))[e(539)]((t=>{r(t)}))}))[n(539)]((t=>{r(t)}))}))}[aC(715)](){const t=aC;let e=arguments[t(1234)]>0&&void 0!==arguments[0]&&arguments[0];return this.isDestroyed()?Promise.reject("JbPro is destroyed"):(this[t(600)](t(622),t(1433)+e),this._opt[t(1450)]===u[t(1189)]?Promise[t(1617)]("playType is player, can not call playbackPause method"):new Promise(((s,i)=>{const r=t;if(!this[r(1189)])return i(r(1246));ei(e)?this[r(663)]()[r(1255)]((()=>{s()}))[r(539)]((t=>{i(t)})):(this.player[r(715)]=!0,this[r(1189)].recording=!1,this[r(1189)].zooming=!1,this[r(841)]=setTimeout((()=>{this[r(841)]=null,s()}),100))})))}[aC(635)](){const t=aC;return this[t(1531)]()?Promise[t(1617)](t(523)):(this[t(600)](t(622),"playbackResume()"),this[t(1147)].playType===u[t(1189)]?Promise[t(1617)](t(1103)):new Promise(((e,s)=>{const i=t;if(!this[i(1189)])return s(i(1246));this.player.playbackPause=!1,this[i(1480)]=setTimeout((()=>{this[i(1480)]=null,e()}),100)})))}[aC(1537)](t){const e=aC;return this[e(1531)]()?Promise[e(1617)](e(523)):(this[e(600)](e(622),e(957)+t),ii(this[e(1147)][e(1023)])||this._opt.playType===u[e(1189)]?(this[e(600)](e(622),e(1221)+this._opt.isLive+e(1540)+this[e(1147)][e(1450)]),Promise[e(1617)](e(792))):hs(Number(t))?new Promise(((s,i)=>{const r=e;this.player?(t=ze(Number(t),.1,32),this[r(1189)].decoderWorker&&this.player.decoderWorker[r(497)]({key:r(771),value:t}),this[r(1189)][r(1364)].setRate(t),this[r(1189)][r(1224)]&&this[r(1189)][r(1224)][r(592)](t),this[r(1189)][r(698)]&&this[r(1189)][r(698)][r(592)](t),(this.player[r(1128)]()||this[r(1189)][r(724)]())&&(this[r(1189)].demux&&ii(this[r(1189)][r(1357)]())&&this[r(1189)][r(784)].dropBuffer$2(),this[r(1189)][r(845)]()&&this.player[r(784)][r(624)]()),s()):i("player is not playing")})):Promise[e(1617)]('forward() params "rate": '+t+e(1e3)))}[aC(587)](t){const e=aC;return this.isDestroyed()?Promise[e(1617)](e(523)):new Promise(((s,i)=>{const r=e;this[r(1537)](t).then((()=>{s()}))[r(539)]((t=>{i(t)}))}))}[aC(572)](){const t=aC;return this[t(1531)]()?Promise.reject(t(523)):new Promise(((e,s)=>{const i=t;this[i(1537)](1)[i(1255)]((()=>{e()}))[i(539)]((t=>{s(t)}))}))}[aC(1653)](){const t=aC;return this.isDestroyed()?Promise.reject(t(523)):new Promise(((e,s)=>{const i=t;this[i(572)]()[i(1255)]((()=>{e()})).catch((t=>{s(t)}))}))}[aC(1580)](t){const e=aC;this[e(1531)]()||(this[e(600)]("JbPro",e(551)+t),t=Number(t),t=ze(t=parseInt(t,10),1,8),this[e(1147)].playbackForwardMaxRateDecodeIFrame=t,this.player?this.player[e(1257)]({playbackForwardMaxRateDecodeIFrame:t},!0):this[e(1243)]("JbPro",e(1438)))}[aC(557)](t){const e=aC;if(this[e(1531)]())return;this.debugLog(e(622),e(926)+t);const s=_s(t);this[e(1189)]?this[e(1189)].isPlayback()?s<10&&0!==t&&this[e(1189)][e(1364)][e(882)]()?this[e(1243)](e(622),e(1399)+t+e(1363)):this.player.playback[e(1668)]()&&t>this[e(1189)][e(1364)].totalDuration?this[e(1243)](e(622),e(1217)+t+e(555)+this.player[e(1364)][e(1036)]):this[e(1189)].playing&&(this[e(1189)].playback.isControlTypeNormal()&&10===s&&(t*=1e3),this[e(1189)][e(1364)][e(1327)](t),this[e(584)]()):this.debugWarn(e(622),e(1192)):this[e(1243)](e(622),e(1648))}[aC(1717)](t){const e=aC;this.isDestroyed()||(this[e(600)](e(622),e(1391)+t),this.player?this.player[e(1253)]()?this.player[e(1364)][e(882)]()?this[e(1189)][e(1364)][e(706)](t):this.debugWarn(e(622),"control type is not normal , not support!"):this.debugWarn(e(622),"playType is not playback"):this.debugWarn(e(622),"player is null"))}[aC(1309)](){const t=aC;this.isDestroyed()||(this.debugLog(t(622),t(922)),this.player?this[t(1189)][t(1253)]()?this[t(1189)][t(1364)][t(882)]()?this.player[t(1364)][t(1559)]():this[t(1243)](t(622),t(1078)):this[t(1243)](t(622),t(676)):this[t(1243)](t(622),t(1246)))}[aC(584)](){const t=aC;this.isDestroyed()||(this.debugLog(t(622),t(971)),this[t(1189)]?this[t(1189)].isPlayback()?(this.player[t(1224)]&&this.player.video[t(1024)](),this[t(1189)][t(698)]&&this[t(1189)][t(698)][t(1024)](),this.clearBufferDelay()):this.debugWarn(t(622),t(676)):this.debugWarn(t(622),t(1246)))}[aC(1664)](){const t=aC;return this[t(1189)]?this[t(1189)][t(1253)]()?this[t(1189)][t(1026)]():(this[t(1243)](t(622),t(676)),1):(this.debugWarn(t(622),t(1246)),1)}[aC(573)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),e(634)+t),this[e(1189)]?this[e(1189)][e(1253)]()?this[e(1189)][e(1364)].updateLocalOneFrameTimestamp(t):this[e(1243)](e(622),e(676)):this[e(1243)]("JbPro",e(1246)))}[aC(1215)](t){const e=aC;if(this.isDestroyed())return;if(this.debugLog(e(622),"setStreamQuality() "+t),!this.player)return void this[e(1243)]("JbPro",e(1246));if(!this[e(1189)][e(1147)][e(974)].quality)return void this[e(1243)]("JbPro","player._opt.operateBtns.quality is false");(this[e(1189)]._opt[e(568)]||[])[e(986)](t)?this.player.streamQuality=t:this.debugWarn("JbPro",e(741)+t+e(981))}[aC(782)](){const t=aC;let e=arguments[t(1234)]>0&&void 0!==arguments[0]?arguments[0]:"",s=arguments[t(1234)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,r)=>{const n=t;if(!this[n(1189)])return r(n(1246));let o=!1;this._opt[n(1040)]&&this[n(1147)][n(1040)]!==e&&(o=!0),this[n(1147)][n(1040)]=e,this._opt[n(1146)]=s;const a=e[n(827)]("?")[0],h=a[n(1451)]("http://")||a[n(1451)](n(879)),d=a[n(1451)]("webrtc://"),u=a[n(1451)](n(1491)),p=a.startsWith("wt://"),m=a[n(1451)](n(1184))||a[n(1451)](n(909)),g=h||m,A=h&&a[n(1276)](n(1238)),y=g&&a[n(1276)](n(1405)),b=g&&(a[n(1276)](n(1376))||a.endsWith(".mp4")),v=g&&a[n(1276)](".mpeg4"),w=g&&(a.endsWith(n(1288))||a[n(1276)](".h265")),S=g&&a[n(1276)](n(1007));let E=this[n(1147)][n(667)]||!1,I=this._opt.isWebrtcForSRS||!1,T=this[n(1147)][n(1500)]||!1;d&&(-1!==e[n(570)](n(1174))?(E=!0,I=!1,T=!1):-1!==e[n(570)]("/rtc/v1/play/")&&(I=!0,E=!1,T=!1));let k=null,_=null;if(y&&ii(this[n(1147)][n(1109)])&&this[n(1409)](n(1109)),b&&ii(this[n(1147)][n(1469)])&&this[n(1409)](n(1469)),v&&ii(this._opt[n(1589)])&&this[n(1409)]("isMpeg4"),w&&ii(this[n(1147)][n(1647)])&&this[n(1409)](n(1647)),S&&ii(this[n(1147)][n(1588)])&&this[n(1409)](n(1588)),A&&ii(this[n(1147)][n(1208)])&&this[n(1409)](n(1208)),h?k=this[n(1147)][n(1208)]?c[n(1441)]:c.fetch:p?k=c[n(1545)]:d?k=c.webrtc:u?k=c[n(1159)]:m&&(k=c.websocket),this[n(1147)][n(1647)]?_=f[n(1419)]:this[n(1147)][n(1469)]?_=f[n(895)]:this[n(1147)][n(1589)]?_=f[n(991)]:this[n(1147)][n(1109)]?_=f[n(1568)]:this[n(1147)].isTs?_=f.ts:this._opt[n(1208)]?_=f[n(1441)]:d?_=f[n(1064)]:u?_=f[n(1159)]:p?_=f[n(1545)]:m&&(_=f[n(1352)]),!k||!_)return this[n(1147)][n(1553)]&&this[n(731)](n(1418)),r(n(1465)+e+" is invalid, protocol is "+l[k]+n(1110)+_);this.debugLog(n(622),n(1465)+e+n(1529)+l[k]+n(1110)+_);const C=()=>{const t=n;this.player.on(N[t(1381)],this[t(949)][t(1394)](this)),this[t(1189)].on(N[t(1323)],this[t(1260)][t(1394)](this)),this.player.on(N[t(940)],this[t(1645)][t(1394)](this)),this[t(1189)].on(N[t(1416)],this[t(1414)][t(1394)](this)),this.player.on(N[t(632)],this[t(1158)][t(1394)](this)),this[t(1189)].on(N[t(1014)],this[t(621)][t(1394)](this)),this[t(1189)].on(N[t(701)],this[t(501)].bind(this)),this[t(1189)].on(N[t(795)],this[t(1113)].bind(this)),this[t(1189)].on(N[t(543)],this[t(888)].bind(this)),this[t(1189)].on(N[t(1550)],this[t(1068)][t(1394)](this)),this.player.on(N.mediaSourceTsIsMaxDiff,this._handleMediaSourceTsIsMaxDiff[t(1394)](this)),this[t(1189)].on(N[t(712)],this[t(1377)][t(1394)](this)),this.player.on(N[t(1350)],this[t(903)].bind(this)),this[t(1189)].on(N[t(769)],this[t(1495)].bind(this)),this[t(1189)].once(N[t(1240)],this._handleMediaSourceAudioNoDataTimeout[t(1394)](this)),this[t(1189)].on(N[t(846)],this._handleMseWorkerAddSourceBufferError[t(1394)](this)),this[t(1189)].on(N[t(1329)],this[t(1250)][t(1394)](this)),this.player.on(N[t(1661)],this._handleWebcodecsH265NotSupport[t(1394)](this)),this[t(1189)].on(N.webcodecsUnsupportedConfigurationError,this[t(979)].bind(this)),this[t(1189)].on(N.webcodecsDecodeConfigureError,this[t(1479)][t(1394)](this)),this[t(1189)].on(N[t(1701)],this[t(1020)][t(1394)](this)),this[t(1189)].on(N[t(1454)],this[t(1708)].bind(this)),this[t(1189)].on(N[t(877)],this[t(1534)][t(1394)](this)),this[t(1189)].on(N[t(1226)],this[t(1591)][t(1394)](this)),this[t(1189)].on(N[t(1086)],this[t(1375)][t(1394)](this)),this[t(1189)].on(N[t(927)],this._handleWasmWidthOrHeightChange.bind(this)),this[t(1189)].on(N[t(883)],this[t(1505)][t(1394)](this)),this[t(1189)].on(N[t(793)],this._handleNotSupportNewWasm[t(1394)](this)),this[t(1189)].on(N[t(1291)],this[t(838)][t(1394)](this)),this[t(1189)].on(N[t(576)],this[t(1626)][t(1394)](this)),this[t(1189)].on(O.networkDelayTimeout,this[t(586)][t(1394)](this)),this[t(1189)].on(O[t(999)],this[t(597)][t(1394)](this)),this.player.on(N[t(831)],this[t(659)].bind(this)),this[t(1189)].on(O[t(765)],this[t(662)][t(1394)](this)),this[t(1189)].on(N[t(791)],this[t(1603)].bind(this)),this[t(1189)].on(N[t(1075)],this._handleWebrtcError[t(1394)](this)),this[t(1189)].on(N.hlsError,this._handleHlsError[t(1394)](this)),this.player.on(N[t(672)],this[t(760)][t(1394)](this)),this[t(1189)].on(N[t(1503)],this[t(685)][t(1394)](this)),this[t(1189)].on(N.decoderWorkerWasmError,this._handleDecoderWorkerWasmError[t(1394)](this)),this.player.on(N.videoElementPlayingFailedForWebrtc,this._handleVideoElementPlayingFailedForWebrtc[t(1394)](this)),this[t(1189)].on(N[t(1219)],this[t(1313)].bind(this)),this[t(1189)].on(O.webrtcStreamH265,this._handleWebrtcStreamH265.bind(this)),this[t(1189)].on(O[t(694)],this._handlePlaybackEnd[t(1394)](this)),this.player.on(O.delayTimeout,this._handleDelayTimeout[t(1394)](this)),this.player.on(O.loadingTimeout,this._handleLoadingTimeout[t(1394)](this)),this[t(1189)][t(1095)]()&&(this[t(1189)].on(O[t(646)],this._handlePlayVodEnded.bind(this)),this[t(1189)].on(O[t(544)],this._handlePlayVodEndedAndReplay[t(1394)](this))),this[t(619)]()?(this[t(600)](this[t(661)],t(1615)),this[t(1189)][t(1605)](e,s)[t(1255)]((()=>{i()}))[t(539)]((e=>{const s=t;this[s(942)](s(622),s(1584),e),this[s(1077)](O[s(1062)],this[s(751)](s(1584),e)),this[s(1189)]&&this[s(1189)][s(1100)]()[s(1255)]((()=>{r(e)})).catch((t=>{const e=s;r(t),this[e(942)](e(622),e(1387),t)}))}))):(this[t(600)](this.TAG_NAME,t(711)),this[t(1270)](),this[t(1189)][t(581)](O[t(1482)],(()=>{const n=t;this[n(492)](),this[n(1531)]()?this.debugLog(n(622),n(1702)):(this[n(600)](this[n(661)],n(1593)),this.player[n(1605)](e,s)[n(1255)]((()=>{i()})).catch((t=>{const e=n;this[e(942)](e(622),"decoderWorkerInit and play error",t),this.emit(O[e(1062)],this[e(751)](e(1490),t)),this[e(1189)]&&this[e(1189)][e(1100)]()[e(1255)]((()=>{r(t)})).catch((t=>{const s=e;r(t),this[s(942)](s(622),"decoderWorkerInit and play error and next pause error",t)}))})))})))},R=this[n(1189)][n(1231)](),D=this[n(1147)].isHls&&ii(this[n(1147)].supportHls265),x=d&&ii(this[n(1147)][n(774)]),L=this[n(1147)][n(1208)]&&!!Os(),P=this[n(1147)].isHls&&R[n(729)];if(D||x||u||o||v||L||P)this.debugLog(n(622),n(1232)+D+n(1470)+x+" and\n isAliyunRtc is "+u+n(1444)+o+n(599)+v+n(744)+L+n(1506)+P),this[n(1713)]({protocol:k,demuxType:_,isHls:this[n(1147)][n(1208)],isFmp4:this[n(1147)][n(1469)],isWebrtc:d,isWebrtcForZLM:E,isWebrtcForSRS:I,isWebrtcForOthers:T,isAliyunRtc:u,cryptoKey:s[n(697)]||"",cryptoIV:s[n(1699)]||"",url:e,playOptions:s})[n(1255)]((()=>{C()})).catch((t=>{r(n(1424))}));else{const t={protocol:k,demuxType:_,isHls:this._opt[n(1208)],isWebrtc:d,isAliyunRtc:u,isFlv:this._opt[n(1109)],isFmp4:this[n(1147)][n(1469)],isMpeg4:this[n(1147)].isMpeg4,isNakedFlow:this._opt.isNakedFlow,isTs:this[n(1147)].isTs,cryptoKey:s[n(697)]||"",cryptoIV:s[n(1699)]||""};this[n(1147)].isNakedFlow&&(t[n(1707)]=!1,t[n(797)]=!1),this.player.updateOption(t),C()}}))}[aC(1409)](t){const e=aC;this._opt[e(1109)]=!1,this[e(1147)][e(1469)]=!1,this[e(1147)][e(1589)]=!1,this._opt[e(1647)]=!1,this[e(1147)][e(1208)]=!1,this[e(1147)][e(1028)]=!1,this[e(1147)][e(667)]=!1,this[e(1147)].isWebrtcForSRS=!1,this[e(1147)][e(1500)]=!1,this[e(1147)][e(1566)]=!1,this[e(1147)].isTs=!1,t&&(this._opt[t]=!0)}[aC(1705)](){const t=aC;this.isDestroyed()||(this[t(600)](t(622),t(994)),this[t(1189)]&&this[t(1189)][t(1705)]())}[aC(727)](t){const e=aC;if(this[e(1531)]())return;this[e(600)](e(622),e(893)+t),(t=Number(t))>10&&this[e(1243)](e(622),e(1512)+t+" second, is too large, video will show blank screen until cache "+t+e(545));const s=1e3*t;this[e(1147)].videoBuffer=s,this[e(1189)]?this[e(1189)][e(1257)]({videoBuffer:s},!0):this[e(1243)]("JbPro",e(1456))}[aC(825)](t){const e=aC;if(this[e(1531)]())return;this[e(600)](e(622),e(1301)+t),(t=Number(t))<.2&&this[e(1243)](e(622),e(1127)+t+e(816));const s=1e3*(t=ze(t,.2,100));this[e(1147)][e(518)]=s,this[e(1189)]?this[e(1189)].updateOption({videoBufferDelay:s},!0):this[e(1243)](e(622),e(623))}[aC(752)](t){const e=aC;if(this[e(1531)]())return;this[e(600)](e(622),e(1496)+t),t=parseInt(t,10);this[e(1147)].rotate!==t&&-1!==[0,90,180,270].indexOf(t)?(this[e(1147)][e(577)]=t,this[e(1189)]?this.player[e(752)](t):this[e(1243)](e(622),e(1129))):this[e(1243)](e(622),"setRotate() rotate is "+t+e(527)+this[e(1147)][e(577)])}[aC(1278)](t){const e=aC;if(this[e(1531)]())return;this[e(600)]("JbPro","setMirrorRotate() "+t);const s=[e(1413),"level",e(1228)];!t&&(t=e(1413)),this[e(1147)].mirrorRotate!==t&&-1!==s.indexOf(t)?(this[e(1147)].mirrorRotate=t,this[e(1189)]?(this[e(1189)].updateOption({mirrorRotate:t}),this[e(1705)]()):this[e(1243)](e(622),"setMirrorRotate() player is null")):this.debugWarn(e(622),e(954)+t+" and this._opt.mirrorRotate is "+this[e(1147)][e(1178)])}[aC(653)](t){const e=aC;if(this[e(1531)]())return;this[e(600)](e(622),e(925)+t);const s=[e(585),"4:3",e(919)];!t&&(t=e(585)),this[e(1147)][e(1345)]!==t&&-1!==s[e(570)](t)?(this[e(1147)][e(1345)]=t,this[e(1189)]?(this.player[e(1257)]({aspectRatio:t}),this[e(1705)]()):this[e(1243)](e(622),"setAspectRatio() player is null")):this[e(1243)](e(622),e(928)+t+e(1696)+this[e(1147)][e(1178)])}[aC(1704)](){return!0}[aC(619)](){const t=aC;return this[t(1189)]&&this[t(1189)][t(1164)]||!1}[aC(1595)](){const t=aC;this[t(1531)]()||(this.debugLog(t(622),t(1187)),this[t(1147)][t(1420)]=!0,this.player?this[t(1189)][t(1257)]({keepScreenOn:!0}):this[t(1243)](t(622),t(709)))}[aC(494)](t){const e=aC;if(this.isDestroyed())return;this.debugLog("JbPro",e(702)+t);const s=!!t;this.player?this.player.fullscreen!==s?this[e(1189)][e(1689)]=s:this[e(1243)]("JbPro",e(866)+s+" and this.player.fullscreen is "+this.player.fullscreen):this.debugWarn(e(622),e(582))}[aC(977)](t){const e=aC;if(this[e(1531)]())return;this[e(600)]("JbPro",e(705)+t);const s=!!t;this.player?this[e(1189)][e(1342)]=s:this[e(1243)](e(622),e(1695))}screenshot(t,e,s,i){const r=aC;if(!this.isDestroyed())return this.debugLog("JbPro",r(1614)+t+" "+e+" "+s+" "+i),this[r(1189)]&&this[r(1189)][r(1224)]?this[r(1189)][r(1224)][r(943)](t,e,s,i):(this[r(1243)]("JbPro",r(540)),null)}screenshotWatermark(t){return new Promise(((e,s)=>{const i=cC;if(this[i(1531)]())return s(i(1383));this[i(600)](i(622),i(1277),t),this[i(1189)]&&this[i(1189)][i(1224)]?this.player.video.screenshotWatermark(t)[i(1255)]((t=>{e(t)}))[i(539)]((t=>{s(t)})):(this[i(1243)]("JbPro",i(1609)),s(i(989)))}))}[aC(1341)](t){return new Promise(((e,s)=>{const i=cC;if(this.isDestroyed())return s(i(1383));this[i(600)]("JbPro",i(1551),t),this[i(1189)]&&this[i(1189)][i(1224)]?this.player[i(1224)].screenshotCopyrightWatermark(t)[i(1255)]((t=>{e(t)})).catch((t=>{s(t)})):(this.debugWarn(i(622),i(984)),s(i(989)))}))}[aC(956)](t,e){return new Promise(((s,i)=>{const r=cC;return this.isDestroyed()?i(r(1383)):(this[r(600)](r(622),r(1165)+t+" "+e),this[r(1189)]?void(this[r(1189)].playing?(this.player[r(956)](t,e),s()):(this[r(1243)](r(622),r(1442)),i(r(755)))):(this[r(1243)](r(622),r(1089)),i(r(989))))}))}[aC(1402)](t,e){return new Promise(((s,i)=>{const r=cC;if(this[r(1531)]())return i(r(1383));this[r(600)](r(622),"stopRecordAndSave() "+t+" "+e),this[r(1189)]&&this[r(1189)][r(720)]?this.player[r(1402)](t,e).then((t=>{s(t)}))[r(539)]((t=>{i(t)})):i(r(1047))}))}[aC(1003)](){return new Promise(((t,e)=>{const s=cC;return this[s(1531)]()?e("player is destroyed"):(this[s(600)](s(622),s(853)),this[s(1189)]?void this[s(1189)].cancelRecord()[s(1255)]((()=>{t()})).catch((t=>{e(t)})):(this[s(1243)](s(622),s(1162)),e(s(989))))}))}[aC(1670)](){const t=aC;let e=!1;return this[t(1189)]&&(e=this[t(1189)][t(1670)]()),e}[aC(690)](){const t=aC;return!!this[t(1189)]&&this[t(1189)][t(1396)]}[aC(1022)](){const t=aC;let e=!1;return this._opt[t(1450)]===u.player?e=!this[t(1670)]()&&!this.isLoading():this[t(1147)][t(1450)]===u[t(1686)]&&this[t(1189)]&&(e=this.player[t(715)]),e}isPaused(){return this.isPause()}[aC(1008)](){const t=aC;let e=!1;return this[t(1147)][t(1450)]===u[t(1686)]&&this.player&&(e=this[t(1189)][t(715)]),e}[aC(941)](){const t=aC;let e=!0;return this[t(1189)]&&(e=this[t(1189)].isAudioMute()),e}[aC(549)](){const t=aC;return this[t(1189)]&&this[t(1189)].recorder&&this.player.recorder[t(720)]||!1}[aC(1623)](){const t=aC;let e=!1;return this[t(1189)]&&(e=this[t(1189)].fullscreen),e}isWebFullscreen(){const t=aC;let e=!1;return this.player&&(e=this.player[t(1342)]),e}[aC(914)](){const t=aC;this[t(1531)]()||(this[t(600)](t(622),"clearBufferDelay()"),this[t(1189)]?this.player.clearBufferDelay():this.debugWarn(t(622),"clearBufferDelay() player is not init"))}[aC(1611)](t){const e=aC;if(this[e(1531)]())return;this.debugLog(e(622),e(1489)+t),(t=Number(t))<1&&this[e(1243)](e(622),"setNetworkDelayTime() network delay is "+t+e(816));const s=1e3*(t=ze(t,1,100));this._opt[e(1388)]=s,this[e(1189)]?this[e(1189)][e(1257)]({networkDelay:s},!0):this[e(1243)](e(622),e(681))}getDecodeType(){const t=aC;let e="";return this[t(1189)]&&(e=this[t(1189)].getDecodeType()),e}[aC(693)](){const t=aC;let e="";return this[t(1189)]&&(e=this.player[t(693)]()),e}[aC(682)](){const t=aC;let e="";return this[t(1189)]&&(e=this[t(1189)].getAudioEngineType()),e}[aC(1214)](){const t=aC;let e=0;return this[t(1189)]&&(e=this[t(1189)][t(1214)]()),e}[aC(1115)](){const t=aC;let e=At[t(1269)];return this.player&&(e=this.player[t(1396)]?At[t(1396)]:this[t(1189)][t(1230)]?At[t(1230)]:At[t(897)]),e}getPlayType(){const t=aC;return this[t(1189)]?this.player[t(1147)][t(1450)]:u[t(1189)]}togglePerformancePanel(t){const e=aC;if(this[e(1531)]())return;this[e(600)]("JbPro",e(541)+t);const s=this[e(1189)][e(1147)][e(1477)];let i=!s;ms(t)&&(i=t),i!==s?this.player?this[e(1189)][e(688)](i):this[e(1243)](e(622),e(789)):this[e(1243)](e(622),e(796)+s+" === now: "+i)}[aC(1406)](){const t=aC;if(!this[t(1531)]())if(this.debugLog(t(622),t(1210)),this[t(1189)]){if(this[t(1189)][t(1542)]())return void this.debugWarn(t(622),t(1207));this[t(1189)].zooming=!0}else this.debugWarn(t(622),t(1384))}[aC(1446)](){const t=aC;if(!this[t(1531)]())if(this.debugLog(t(622),t(495)),this[t(1189)]){if(this[t(1189)][t(1542)]())return void this[t(1243)](t(622),t(1207));this[t(1189)].zooming=!1}else this.debugWarn(t(622),t(1303))}[aC(1287)](){const t=aC;let e=!1;return this[t(1189)]&&(e=this[t(1189)].zooming),e}[aC(603)](t){const e=aC;this[e(1531)]()||(this.debugLog(e(622),e(1211)+t),!ms(t)&&(t=!this.isZoomOpen()),ei(t)?this.openZoom():ii(!1)&&this.closeZoom())}expandZoom(){const t=aC;this.isDestroyed()||(this[t(600)](t(622),t(1136)),this[t(1189)]&&this[t(1189)].zoom&&this[t(1189)][t(951)]?this[t(1189)][t(1574)].expandPrecision():this[t(1243)](t(622),t(1579)))}narrowZoom(){const t=aC;this.isDestroyed()||(this[t(600)](t(622),"narrowZoom()"),this[t(1189)]&&this[t(1189)][t(1574)]&&this[t(1189)][t(951)]?this[t(1189)].zoom[t(872)]():this.debugWarn("JbPro",t(1312)))}[aC(710)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),"updateCurrentZoom()",t),this[e(1189)]&&this[e(1189)][e(1574)]&&this.player.zooming?this.player[e(1574)].updateCurrentZoom(t):this[e(1243)]("JbPro","narrowZoom failed, zoom is not open or not init"))}[aC(1674)](){const t=aC;if(this[t(1531)]())return;let e=1;return this[t(1189)]&&this.player.zoom&&(e=this[t(1189)][t(1574)][t(1521)]),e}[aC(873)](t){return new Promise(((e,s)=>{const i=cC;if(this.isDestroyed())return s("player is destroyed");if(this.debugLog("JbPro",i(988),t),fs(t))return s(i(1688));let r=Number(t);r=ze(r,1,100),this[i(1147)][i(918)]=r,this.player?this.player[i(1257)]({nakedFlowFps:r}):this[i(1243)](i(622),i(574)),e()}))}[aC(751)](t){const e=aC;let s=arguments[e(1234)]>1&&void 0!==arguments[1]?arguments[1]:"";if(!this[e(1189)])return;const i=this.player[e(1308)](),r=this[e(1189)];let n={url:this[e(1147)][e(1040)],playType:r[e(1253)]()?e(1364):"live",demuxType:r[e(1610)](),decoderType:r[e(1080)](),renderType:r[e(693)](),videoInfo:{encType:"",width:"",height:""},audioInfo:{encType:"",sampleRate:"",channels:""},audioEngine:r[e(682)](),allTimes:i[e(552)],timestamp:Ve(),type:t,error:Hs(s)||t};if(r[e(1224)]){const t=r[e(1224)][e(1279)]||{};n[e(1279)]={encType:t[e(968)]||"",width:t[e(609)]||"",height:t[e(1412)]||""}}if(r.audio){const t=r[e(698)][e(636)]||{};n[e(636)]={encType:t[e(968)]||"",sampleRate:t[e(778)]||"",channels:t[e(639)]||""}}return n}[aC(800)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),e(629),t),t===y[e(867)]||t===y[e(1015)]?t!==this.player._opt[e(1252)]?(this[e(1147)][e(1252)]=t,this[e(1189)]?this[e(1189)][e(1257)]({debugLevel:t},!0):this[e(1243)](e(622),"updateDebugLevel() player is null")):this.debugWarn(e(622),"updateDebugLevel() level is same, level: "+t):this.debugWarn("JbPro",e(509)+t))}[aC(1335)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),"updateWatermark()",t),this[e(1189)]?this[e(1189)][e(1335)](t):this[e(1243)](e(622),e(739)))}[aC(1213)](){const t=aC;this.isDestroyed()||(this.debugLog(t(622),t(1429)),this[t(1189)]?this[t(1189)].removeWatermark():this[t(1243)](t(622),"removeWatermark() player is not init"))}[aC(1682)](t){const e=aC;if(!this[e(1531)]())if(this[e(600)](e(622),e(1296),t),Rs(t)){this[e(1147)][e(1652)]=t;const s=ys(this[e(754)],t);if(!s[e(1583)])return void this[e(1243)](e(622),e(813));this[e(808)][e(1581)](s)}else this[e(1243)](e(622),e(1084)+t)}[aC(1120)](){const t=aC;this[t(1531)]()||(this[t(600)]("JbPro",t(1660)),this[t(808)]?this.watermark[t(993)]():this[t(1243)](t(622),t(916)))}[aC(1281)](){const t=aC;this.isDestroyed()||(this[t(600)](t(622),t(1201)),this.player?this.player[t(967)](!0):this[t(1243)](t(622),t(1415)))}[aC(762)](){const t=aC;this[t(1531)]()||(this[t(600)](t(622),"faceDetectClose()"),this.player?this[t(1189)].faceDetect(!1):this[t(1243)]("JbPro","faceDetectClose() player is not init"))}[aC(493)](){const t=aC;this.isDestroyed()||(this[t(600)]("JbPro",t(1461)),this[t(1189)]?this[t(1189)][t(1712)](!0):this[t(1243)](t(622),t(1292)))}[aC(1092)](){const t=aC;this[t(1531)]()||(this[t(600)](t(622),"objectDetectClose()"),this[t(1189)]?this[t(1189)][t(1712)](!1):this.debugWarn(t(622),t(560)))}sendWebsocketMessage(t){const e=aC;this.isDestroyed()||(this[e(600)](e(622),e(836),t),this[e(1189)]?this[e(1189)][e(829)](t):this[e(1243)](e(622),"sendWebsocketMessage() player is not init"))}[aC(1659)](t){const e=aC;this.isDestroyed()||(this[e(600)](e(622),e(1404)),this.player?this.player[e(1659)](t):this[e(1243)](e(622),e(1295)))}clearContentToCanvas(){const t=aC;this[t(1531)]()||(this[t(600)](t(622),"clearContentToCanvas()"),this[t(1189)]?this[t(1189)][t(1659)]([]):this[t(1243)](t(622),t(1711)))}[aC(1641)](t){const e=aC;this[e(1531)]()||(this[e(600)]("JbPro",e(1663)),this[e(1189)]?this.player[e(1641)](t):this[e(1243)]("JbPro","addContentToContainer() player is not init"))}[aC(786)](){const t=aC;this[t(1531)]()||(this[t(600)](t(622),"clearContentToContainer()"),this[t(1189)]?this.player[t(1641)]([]):this[t(1243)]("JbPro",t(980)))}[aC(898)](t){const e=aC;this[e(1531)]()||(this.debugLog(e(622),"setControlHtml()",t),this[e(1189)]?this.player[e(898)](t):this[e(1243)](e(622),e(910)))}[aC(1259)](){const t=aC;this.isDestroyed()||(this[t(600)](t(622),t(684)),this[t(1189)]?this[t(1189)][t(1259)]():this[t(1243)](t(622),t(1300)))}toggleControlHtml(t){const e=aC;this[e(1531)]()||(this[e(600)]("JbPro",e(1054)+t),this[e(1189)]?this.player[e(809)](t):this[e(1243)](e(622),"toggleControlHtml() player is not init"))}getControlHtmlIsShow(){const t=aC;return!!this.player&&this[t(1189)][t(1267)]()}getControlHtml(){const t=aC;return this.player?this[t(1189)][t(1133)]():null}[aC(1085)](t){const e=aC;this[e(1531)]()||(this.debugLog("JbPro","setExtendHtml()",t),this[e(1189)]?this[e(1189)].setExtendHtml(t):this[e(1243)](e(622),e(1690)))}[aC(843)](){const t=aC;this.isDestroyed()||(this[t(600)](t(622),"clearExtendHtml()"),this[t(1189)]?this[t(1189)].clearExtendHtml():this[t(1243)](t(622),t(788)))}[aC(1620)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),e(616)+t),this[e(1189)]?this[e(1189)][e(1620)](t):this[e(1243)](e(622),e(1691)))}[aC(1572)](){const t=aC;return!!this[t(1189)]&&this[t(1189)][t(1572)]()}[aC(733)](){const t=aC;return this.player?this[t(1189)][t(733)]():null}[aC(1467)](){const t=aC;let e=null;return this[t(1189)]&&(e=this[t(1189)].getVideoInfo()),e}getAudioInfo(){const t=aC;let e=null;return this[t(1189)]&&(e=this[t(1189)][t(674)]()),e}setSm4CryptoKey(t){const e=aC;if(this[e(1531)]())return;this[e(600)](e(622),e(1435),t);const s=(t=""+t).split(".");if(32!==t[e(1234)]&&2!==s.length)return void this[e(1243)](e(622),"setSm4CryptoKey() key is invalid and length is "+t.length+e(1027));if(2===s.length&&(32!==s[0].length||32!==s[1][e(1234)]))return void this[e(1243)](e(622),e(1497)+s[0].length+" !== 32 or iv length "+s[1][e(1234)]+e(1027));this[e(1147)][e(1337)]=t;let i=2===s[e(1234)];if(i&&(this[e(1147)].playOptions[e(697)]=xh(s[0]),this[e(1147)].playOptions[e(1699)]=xh(s[1])),this[e(1189)]){const s={sm4CryptoKey:t};i&&(s[e(697)]=this._opt[e(1146)][e(697)],s.cryptoIV=this[e(1147)].playOptions[e(1699)]),this[e(1189)].updateOption(s,!0)}else this[e(1243)]("JbPro","setSm4CryptoKey() player is null")}setM7sCryptoKey(t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),e(899),t),t=""+t,this[e(1147)][e(842)]=t,this[e(1189)]?this[e(1189)][e(1257)]({m7sCryptoKey:t},!0):this[e(1243)](e(622),"setM7sCryptoKey() player is null"))}[aC(973)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),e(529),t),t=""+t,this[e(1147)][e(1358)]=t,this[e(1189)]?this[e(1189)][e(1257)]({xorCryptoKey:t},!0):this.debugWarn(e(622),e(695)))}[aC(1449)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),"updateLoadingText()",t),this[e(1189)]?this[e(1189)][e(1449)](t):this[e(1243)]("JbPro",e(1019)))}[aC(1344)](t){const e=aC;this[e(1531)]()||(this.debugLog(e(622),e(1170),t),this[e(1147)].isEmitSEI=t,this[e(1189)]?this[e(1189)][e(1257)]({isEmitSEI:t},!0):this.debugWarn("JbPro",e(554)))}[aC(924)](t,e){const s=aC;return this[s(600)]("JbPro","getPTZCmd()",t),t?this[s(1189)]?G_({type:t,index:0,speed:e}):(this[s(1243)]("JbPro","getPTZCmd() player is null"),null):(this.debugWarn(s(622),s(612)),null)}[aC(1244)](){return new Promise(((t,e)=>{const s=cC;this.player?(this[s(1189)][s(1411)](),t()):e("player is not init")}))}[aC(1667)](){return new Promise(((t,e)=>{const s=cC;if(this[s(1531)]())return e("player is destroyed");this[s(1189)]?(this[s(1189)][s(1139)](),t()):e(s(602))}))}downloadTempMpeg4File(){return new Promise(((t,e)=>{const s=cC;if(this[s(1531)]())return e(s(1383));this[s(1189)]?(this.player[s(1599)](),t()):e(s(602))}))}[aC(1286)](){const t=aC;this[t(1531)]()||this[t(1328)]&&this[t(1328)].download()}[aC(1074)](){const t=aC,e=this[t(1467)]()||{},s={loadingBackground:this[t(943)]("",t(1049),.92,t(1644)),loadingBackgroundWidth:e.width||0,loadingBackgroundHeight:e[t(1412)]||0};return s[t(1229)]&&s[t(593)]&&s.loadingBackgroundHeight&&(this[t(865)]=s),this[t(865)]||{}}[aC(807)](){const t=aC;this.debugLog(t(622),t(850));let e=[];return this[t(1189)]?e=this[t(1189)][t(807)]():this[t(1243)](t(622),t(644)),e}[aC(1324)](){const t=aC;this.debugLog(t(622),"getFlvMetaData()");let e=null;return this[t(1189)]?e=this.player[t(714)]():this[t(1243)](t(622),t(1379)),e}updateAiFaceDetectInterval(t){const e=aC;if(this[e(1531)]())return;this.debugLog("JbPro",e(1586),t);const s=1e3*(t=Number(t));this[e(1147)][e(655)]=s,this[e(1189)]?this[e(1189)][e(1257)]({aiFaceDetectInterval:s}):this.debugWarn(e(622),e(1361))}updateAiFaceDetectLevel(t){const e=aC;if(this[e(1531)]())return;if(this[e(600)]("JbPro",e(931),t),!Ct[t])return void this.debugWarn("JbPro",e(966)+t+" is invalid'");const s=Ct[t];this[e(1147)].aiFaceDetectWidth=s,this.player?(this[e(1189)][e(1257)]({aiFaceDetectWidth:s}),this[e(1189)].ai&&this[e(1189)].ai[e(1188)]({detectWidth:s})):this[e(1243)](e(622),e(822))}[aC(1400)](t){const e=aC;if(this[e(1531)]())return;this.debugLog(e(622),e(1063),t);const s=1e3*(t=Number(t));this[e(1147)][e(832)]=s,this[e(1189)]?this[e(1189)][e(1257)]({aiObjectDetectInterval:s}):this[e(1243)]("JbPro",e(1248))}[aC(878)](t){const e=aC;if(this[e(1531)]())return;if(this.debugLog(e(622),e(1105),t),!Rt[t])return void this[e(1243)](e(622),e(1554)+t+e(1032));const s=Rt[t];this[e(1147)][e(1132)]=s,this.player?(this.player[e(1257)]({aiObjectDetectWidth:s}),this[e(1189)].ai&&this.player.ai[e(1426)]({detectWidth:s})):this[e(1243)](e(622),e(1168))}[aC(648)](t){const e=aC;this.isDestroyed()||(this[e(600)](e(622),e(1425),t),t&&(this[e(1147)][e(664)]=t))}[aC(731)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),e(1582),t),t&&(this[e(1189)]?this[e(1189)][e(1225)](t):this[e(1243)](e(622),e(1679))))}[aC(1057)](t){const e=aC;this[e(600)](e(622),e(1056),t),t&&!Cs(t)&&(this.player?this[e(1189)].setPtzPosition(t):this[e(1243)](e(622),e(1656)))}[aC(1039)](){const t=aC;this.isDestroyed()||(this[t(600)](t(622),t(1417)),this[t(1189)]?this.player[t(1299)]():this[t(1243)](t(622),t(1486)))}getContainerRect(){return this[aC(657)]()}[aC(611)](t,e,s,i){const r=aC;return this[r(891)][r(611)](t,e,s,i)}[aC(1386)](){return this[aC(1147)].url}[aC(1613)](t,e){const s=aC;this[s(1531)]()||(this[s(600)](this[s(661)],s(1485)+t+" "+e),this[s(1189)]?this[s(1189)][s(1613)](t,e):this[s(1243)](this[s(661)],s(658)))}[aC(1436)](t){const e=aC;if(this[e(1531)]())return;this.debugLog(this[e(661)],"getControlExtendBtnActive() "+t);let s=!1;return this.player?s=this[e(1189)][e(1436)](t):this[e(1243)](this[e(661)],e(1673)),s}[aC(1050)](t){const e=aC;this[e(1531)]()||(this[e(600)](this[e(661)],e(1101)+t),this[e(1189)]?this.player.toggleControlBar(t):this[e(1243)](this.TAG_NAME,"toggleControlBar() player is null"))}[aC(976)](){const t=aC;if(this[t(1531)]())return!1;this[t(600)](this[t(661)],"getControlBarShow()");let e=!1;return this[t(1189)]?e=this[t(1189)].getControlBarShow():this[t(1243)](this[t(661)],t(1565)),e}static[aC(677)](t){return vs(t)}static[aC(1021)](t){return function(t){for(var e=t,s=0,i=0,r=0;r<32;r++)i|=(1&e[s])<=5){const r=i[0],n=i[i.length-1],o=n-r;o<=1e4&&(this[e(1243)](this[e(661)],"retry type is "+t+e(1410)+i[e(1234)]+e(516)+r+e(1025)+n+e(605)+o),s=!1)}return s}[aC(645)](t){const e=aC;(ts()||es())&&t[e(1229)]&&t[e(593)]&&t.loadingBackgroundHeight&&(this[e(983)](),this[e(1189)]._opt[e(1345)]===e(585)||qe()?this[e(1189)][e(693)]()===A[e(1422)]?this[e(1440)](t):this.player[e(693)]()===A.video&&this[e(678)](t):this[e(1618)](t))}[aC(678)](t){const e=aC;this[e(600)](this[e(661)],"_doInitLoadingBackgroundForVideo");const s=this[e(657)]();let i=s[e(609)],r=s.height;const n=this[e(1189)][e(1147)];r-=this.player[e(818)]();let o=i,a=r;const h=n[e(577)];(270===h||90===h)&&(o=r,a=i),this.$loadingBgImage.width=o,this[e(858)][e(1412)]=a,this.$loadingBgImage[e(763)]=t.loadingBackground;let c=(i-o)/2,l=(r-a)/2,d="contain";!n[e(1634)]&&(d=e(1118)),n[e(1190)]&&(d=e(1413));let u="";n[e(1178)]===e(1413)&&h&&(u+=e(673)+h+"deg)"),n[e(1178)]===e(758)?u+=e(669):n.mirrorRotate===e(1228)&&(u+=e(595)),this[e(1147)].videoRenderSupportScale&&(this[e(858)][e(1431)][e(1385)]=d),this.$loadingBgImage.style[e(1683)]=u,this.$loadingBgImage.style[e(1333)]="0",this[e(858)][e(1431)].left=c+"px",this.$loadingBgImage[e(1431)][e(691)]=l+"px",this[e(858)][e(703)]?nm(this.$loadingBg,e(590)):this.$loadingBgImage[e(1002)]=()=>{const t=e;nm(this[t(945)],t(590)),this.$loadingBgImage[t(1002)]=null}}[aC(1440)](t){const e=aC;this[e(600)](this[e(661)],e(1440));const s=this[e(657)]();let i=s.width,r=s[e(1412)];const n=this.player[e(1147)];r-=this.player[e(818)]();let o=i,a=r;const h=n[e(577)];let c=(i-o)/2,l=(r-a)/2;(270===h||90===h)&&(o=r,a=i),this[e(858)][e(609)]=o,this[e(858)][e(1412)]=a,this.$loadingBgImage.src=t[e(1229)];const d=i/o,u=r/a;let p=d>u?u:d;ii(n[e(1634)])&&d!==u&&(p=d+","+u),n[e(1190)]&&(p=d>u?d:u);let f=e(1607)+p+")";n[e(1178)]===e(1413)&&h&&(f+=e(673)+h+e(1141)),n[e(1178)]===e(758)?f+=" rotateY(180deg)":n.mirrorRotate===e(1228)&&(f+=" rotateX(180deg)"),this[e(858)].style[e(1333)]="0",this.$loadingBgImage[e(1431)][e(1683)]=f,this[e(858)][e(1431)][e(1173)]=c+"px",this.$loadingBgImage[e(1431)].top=l+"px",this[e(858)].complete?nm(this[e(945)],e(590)):this[e(858)][e(1002)]=()=>{nm(this[e(945)],"show"),this.$loadingBgImage.onload=null}}[aC(1618)](t){const e=aC;this[e(600)](this[e(661)],e(1618));const s=this[e(1189)][e(1147)][e(1345)][e(827)](":")[e(1099)](Number),i=this[e(657)]();let r=i.width,n=i.height,o=this.player[e(818)]();n-=o;const a={width:t.loadingBackgroundWidth,height:t[e(815)]},h=a[e(609)]/a[e(1412)],c=s[0]/s[1];if(this[e(858)][e(763)]=t[e(1229)],h>c){const t=c*a[e(1412)]/a[e(609)];this[e(858)][e(1431)][e(609)]=100*t+"%",this[e(858)].style[e(1412)]=e(1067)+o+"px)",this[e(858)][e(1431)][e(1333)]="0 "+(r-r*t)/2+"px"}else{const t=a[e(609)]/c/a.height;this[e(858)][e(1431)][e(609)]=e(1367),this[e(858)][e(1431)].height="calc("+100*t+e(1096)+o+e(1117),this[e(858)][e(1431)][e(1333)]=(n-n*t)/2+e(1669)}this.$loadingBgImage[e(703)]?nm(this[e(945)],"show"):this[e(858)][e(1002)]=()=>{const t=e;nm(this[t(945)],t(590)),this[t(858)][t(1002)]=null}}_initLoadingBg(){const t=aC;if(!this[t(945)]){const e=document[t(911)](t(1331)),s=document[t(911)](t(1031));e[t(538)]=t(1348),this[t(945)]=e,this[t(858)]=s,e[t(1552)](s),this[t(754)][t(1552)](e)}}[aC(1338)](){const t=aC;if(this[t(945)]){this[t(600)](this[t(661)],t(1585));if(!um(this.$loadingBg)){const e=this[t(754)].querySelector(t(1677));e&&this[t(754)]&&this[t(754)][t(1145)](e)}this[t(945)]=null,this[t(858)]=null}}[aC(657)](){const t=aC;let e={};return this.$container&&(e=this[t(754)].getBoundingClientRect(),e[t(609)]=Math[t(1196)](e.width,this[t(754)][t(803)]),e.height=Math.max(e[t(1412)],this.$container.clientHeight)),e}[aC(679)](){const t=aC;return this[t(1147)][t(1463)]&&this.network[t(1009)]()}[aC(949)](t){const e=aC;if(this.isDestroyed())this.debugLog(e(622),e(1694));else if(this[e(1513)])this.debugLog(e(622),e(1507));else if(this.emit(O.crashLog,this[e(751)](N[e(1381)],t)),this.webglAlignmentErrorOnLock=!0,this[e(1189)]&&this.player._opt[e(726)]){this[e(600)](e(622),e(1381));const s=this[e(1147)][e(1040)],i=this._opt[e(1146)];this[e(1713)]({openWebglAlignment:!0})[e(1255)]((()=>{const r=e;this[r(1605)](s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),t(1220))}))[r(539)]((e=>{const s=r;this[s(1077)](O.playFailedAndPaused,N[s(1381)],{},t),this[s(942)](s(622),s(1266),e)})).finally((()=>{this[r(1513)]=!1}))}))[e(539)]((t=>{const s=e;this.webglAlignmentErrorOnLock=!1,this.debugError(s(622),s(1635),t)}))}else{const s=!1===this[e(1147)][e(1142)];this.player[e(1370)](),this[e(663)](s).then((()=>{const s=e;this.emit(O[s(594)],N[s(1381)],{},t),this[s(600)](s(622),s(1466))}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N.webglAlignmentError,{},t),this.debugError("JbPro",i(1523),s)}))[e(1163)]((()=>{this[e(1513)]=!1}))}}_handleWebglContextLostError(t){const e=aC;if(this.isDestroyed())return void this[e(600)](e(622),e(1046));if(this.webglContextLostErrorOnLock)return void this.debugLog(e(622),e(749));this[e(1077)](O[e(1062)],this.getCrashLog(N[e(1323)],t));const s=this[e(1074)]();if(this[e(1455)]=!0,this[e(1189)]&&this[e(1189)]._opt.webglContextLostErrorReplay){this[e(600)](e(622),e(1323));const i=this[e(1147)].url,r=this[e(1147)].playOptions;let n={};this[e(1189)][e(1147)][e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this.player[e(1147)][e(1665)]})),ii(this.isMute())&&(n[e(1672)]=!0),this._resetPlayer(n)[e(1255)]((()=>{const n=e;this[n(1605)](i,r)[n(1255)]((()=>{const t=n;this[t(600)]("JbPro",t(1573))}))[n(539)]((e=>{const i=n;this.emit(O[i(594)],N[i(1323)],s,t),this[i(942)](i(622),i(965),e)}))[n(1163)]((()=>{this[n(1455)]=!1}))}))[e(539)]((i=>{const r=e;this[r(1455)]=!1,this.emit(O.playFailedAndPaused,N[r(1323)],s,t),this[r(942)](r(622),"webglContextLostError and _resetPlayer error",i)}))}else{const i=!1===this._opt.playFailedUseLastFrameShow;this.player[e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this.emit(O[i(594)],N[i(1323)],s,t),this[i(600)](i(622),i(517))}))[e(539)]((i=>{const r=e;this[r(1077)](O[r(594)],N[r(1323)],s,t),this.debugError(r(622),r(1523),i)}))[e(1163)]((()=>{this[e(1455)]=!1}))}}[aC(1645)](t){const e=aC;if(this.isDestroyed())this[e(600)](e(622),e(1011));else if(this.mediaSourceH265NotSupportOnLock)this[e(600)](e(622),e(1004));else if(this.emit(O[e(1062)],this[e(751)](N[e(940)],t)),this[e(1216)]=!0,this[e(1189)]&&this[e(1189)][e(1147)].hardDecodingNotSupportAutoWasm){this[e(600)](e(622),"mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play");const s=this[e(1147)][e(1040)],i=this[e(1147)].playOptions;this[e(1713)]({useMSE:!1,useWCS:!1})[e(1255)]((()=>{const r=e;this[r(1605)](s,i).then((()=>{const t=r;this[t(600)](t(622),"mediaSourceH265NotSupport auto wasm [mse-> wasm] reset player and play success")}))[r(539)]((e=>{const s=r;this.emit(O.playFailedAndPaused,N.mediaSourceH265NotSupport,t),this[s(942)](s(622),s(740),e)}))[r(1163)]((()=>{this.mediaSourceH265NotSupportOnLock=!1}))})).catch((s=>{const i=e;this.mediaSourceH265NotSupportOnLock=!1,this[i(1077)](O.playFailedAndPaused,N[i(940)],{},t),this[i(942)](i(622),i(533),s)}))}else{const s=!1===this[e(1147)].playFailedUseLastFrameShow;this[e(1189)].setPlayFailedAndPaused(),this[e(663)](s).then((()=>{const s=e;this[s(1077)](O[s(594)],N.mediaSourceH265NotSupport,{},t),this[s(600)]("JbPro",s(606))})).catch((s=>{const i=e;this[i(1077)](O[i(594)],N[i(940)],{},t),this[i(942)](i(622),i(987),s)}))[e(1163)]((()=>{this.mediaSourceH265NotSupportOnLock=!1}))}}_handleMseWaitVideoCanplayTimeout(t){const e=aC;if(this.isDestroyed())this[e(867)]&&this[e(600)](e(622),e(1204));else if(this[e(671)])this[e(600)](e(622),e(902));else if(this[e(1077)](O[e(1062)],this[e(751)](N[e(1416)],t)),this[e(671)]=!0,this[e(1189)]&&this[e(1189)]._opt[e(748)]){this.debugLog(e(622),e(958));const s=this[e(1147)][e(1040)],i=this[e(1147)][e(1146)];this[e(1713)]({useMSE:!1,useWCS:!1}).then((()=>{const r=e;this[r(1605)](s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),t(1428))})).catch((e=>{const s=r;this[s(1077)](O[s(594)],N[s(1416)],t),this.debugError(s(622),s(1437),e)})).finally((()=>{this[r(671)]=!1}))})).catch((s=>{const i=e;this[i(671)]=!1,this[i(1077)](O[i(594)],N[i(1416)],{},t),this.debugError(i(622),i(780),s)}))}else{const s=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(663)](s)[e(1255)]((()=>{const s=e;this[s(1077)](O.playFailedAndPaused,N[s(1416)],{},t),this[s(600)](s(622),s(1044))})).catch((s=>{const i=e;this.emit(O[i(594)],N[i(940)],{},t),this.debugError(i(622),i(987),s)})).finally((()=>{this[e(671)]=!1}))}}_handleMediaSourceFull(t){const e=aC;if(this.isDestroyed())return void(this[e(867)]&&this[e(600)](e(622),e(1264)));if(this.mediaSourceFullOnLock)return void this[e(600)](e(622),"mediaSourceFullOnLock is true");this.emit(O.crashLog,this[e(751)](N.mediaSourceFull,t));const s=this._getVideoLastIframeInfo();if(this[e(804)]=!0,this[e(1189)]&&this[e(1189)][e(1147)].mseDecodeErrorReplay){const i=this[e(1147)][e(1040)],r=this._opt[e(1146)];let n={},o=this[e(1189)][e(1147)][e(1181)],a=!0;o?n={useMSE:!1,useWCS:!1}:this[e(1460)](zt[e(1499)])?this._mseDecodeErrorRetryLog[e(766)](Ve()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this[e(600)]("JbPro","mediaSourceFull and auto wasm "+(ii(a)?e(1374):"")+e(1334)+(o?"wasm":e(960))+e(1578)),this[e(1189)][e(1147)][e(855)]&&(n=Object.assign({},n,s,{loadingIcon:this.player[e(1147)][e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this.play(i,r).then((()=>{const t=cC;this[t(600)](t(622),"mediaSourceFull and reset player and play success")}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],N.mediaSourceFull,s,t),this[i(942)](i(622),i(1098),e)}))[n(1163)]((()=>{this[n(804)]=!1}))}))[e(539)]((i=>{const r=e;this.mediaSourceFullOnLock=!1,this[r(1077)](O[r(594)],N.mediaSourceFull,s,t),this.debugError(r(622),"mediaSourceFull and _resetPlayer error",i)}))}else{const i=!1===this[e(1147)].playFailedUseLastFrameShow;this[e(1189)].setPlayFailedAndPaused(),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],N[i(632)],s,t),this[i(600)](i(622),i(1484))}))[e(539)]((i=>{const r=e;this.emit(O[r(594)],N[r(632)],s,t),this.debugError(r(622),r(963),i)})).finally((()=>{this[e(804)]=!1}))}}_handleMediaSourceAppendBufferError(t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)]("JbPro","mediaSourceAppendBufferError but player is destroyed"));if(this[e(1175)])return void this[e(600)](e(622),e(884));this[e(1077)](O.crashLog,this.getCrashLog(N.mediaSourceAppendBufferError,t));const s=this[e(1074)]();if(this[e(1175)]=!0,this[e(1189)]&&this[e(1189)][e(1147)][e(790)]){const i=this[e(1147)].url,r=this._opt[e(1146)];let n={},o=this[e(1189)][e(1147)].decoderErrorAutoWasm,a=!0;o?n={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(zt.mseDecodeError)?this[e(1382)][e(766)](Ve()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this[e(1189)][e(828)]&&(this[e(1189)].debugLog("JbPro","mediaSourceAppendBufferError and isMSEAudioDecoderError is true so set mseDecodeAudio = false"),n[e(1707)]=!1),this[e(600)](e(622),e(817)+(ii(a)?e(1374):"")+" [mse-> "+e(o?1590:960)+"] reset player and play"),this[e(1189)][e(1147)][e(855)]&&(n=Object.assign({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this.play(i,r)[n(1255)]((()=>{const t=n;this.debugLog(t(622),t(1034))}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],N[i(1014)],s,t),this[i(942)](i(622),"mediaSourceAppendBufferError and reset player and play error",e)}))[n(1163)]((()=>{this.mediaSourceAppendBufferErrorOnLock=!1}))})).catch((i=>{const r=e;this[r(1175)]=!1,this.emit(O[r(594)],N[r(1014)],s,t),this[r(942)](r(622),"mediaSourceAppendBufferError and _resetPlayer error",i)}))}else{const i=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(663)](i).then((()=>{const i=e;this.emit(O[i(594)],N[i(1014)],s,t),this.debugLog(i(622),"mediaSourceAppendBufferError and autoWasm is false")}))[e(539)]((i=>{const r=e;this.emit(O.playFailedAndPaused,N[r(1014)],s,t),this[r(942)](r(622),"mediaSourceAppendBufferError and pause error",i)}))[e(1163)]((()=>{this[e(1175)]=!1}))}}[aC(501)](t){const e=aC;if(this.isDestroyed())return void(this[e(867)]&&this.debugLog("JbPro",e(1236)));if(this[e(1306)])return void this[e(600)](e(622),e(1637));this[e(1077)](O[e(1062)],this[e(751)](N[e(701)],t));const s=this[e(1074)]();if(this[e(1306)]=!0,this[e(1189)]&&this.player[e(1147)][e(790)]){const i=this[e(1147)].url,r=this[e(1147)][e(1146)];let n={};if(this[e(1189)][e(1147)][e(997)])n={mseDecoderUseWorker:!1},this[e(600)](e(622),e(601));else{let t=this[e(1189)][e(1147)].decoderErrorAutoWasm,s=!0;t?n={useMSE:!1,useWCS:!1}:this._checkIsMeaningfulRetry(zt[e(1499)])?this._mseDecodeErrorRetryLog[e(766)](Ve()):(t=!0,s=!1,n={useMSE:!1,useWCS:!1}),this[e(1189)][e(519)]&&(this[e(600)](e(622),"mseSourceBufferError and isMSEVideoDecoderInitializationFailedNotSupportHevc is true so auto wasm"),n={useMSE:!1,useWCS:!1}),this[e(600)](e(622),e(637)+(ii(s)?e(1374):"")+e(1334)+e(t?1590:960)+e(1578))}this[e(1189)][e(1147)][e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)]._opt[e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this[n(1605)](i,r)[n(1255)]((()=>{const t=n;this[t(600)]("JbPro",t(736))})).catch((e=>{const i=n;this[i(1077)](O[i(594)],N[i(701)],s,t),this.debugError(i(622),i(934),e)})).finally((()=>{this[n(1306)]=!1}))})).catch((i=>{const r=e;this[r(1306)]=!1,this.emit(O[r(594)],N.mseSourceBufferError,s,t),this[r(942)](r(622),r(938),i)}))}else{const i=!1===this[e(1147)][e(1142)];this[e(1189)].setPlayFailedAndPaused(),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],N.mseSourceBufferError,s,t),this[i(600)](i(622),i(857))})).catch((i=>{const r=e;this[r(1077)](O[r(594)],N[r(701)],s,t),this[r(942)]("JbPro",r(1304),i)}))[e(1163)]((()=>{this[e(1306)]=!1}))}}[aC(1113)](t){const e=aC;if(this[e(1531)]())return void(this.debug&&this.debugLog(e(622),e(1538)));if(this.mediaSourceBufferedIsZeroErrorOnLock)return void this.debugLog(e(622),e(1625));this[e(1077)](O[e(1062)],this[e(751)](N.mediaSourceBufferedIsZeroError,t));const s=this._getVideoLastIframeInfo();if(this[e(887)]=!0,this[e(1189)]&&this.player[e(1147)][e(790)]){const i=this[e(1147)].url,r=this[e(1147)][e(1146)];let n={},o=this[e(1189)][e(1147)].decoderErrorAutoWasm,a=!0;o?n={useMSE:!1,useWCS:!1}:this[e(1460)](zt[e(1499)])?this[e(1382)][e(766)](Ve()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this[e(600)]("JbPro",e(1562)+(ii(a)?e(1374):"")+" [mse-> "+e(o?1590:960)+e(1578)),this.player[e(1147)][e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this.isMute())&&(n.isNotMute=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this.play(i,r).then((()=>{const t=cC;this[t(600)]("JbPro",t(930))}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],N[i(795)],s,t),this[i(942)](i(622),i(936),e)}))[n(1163)]((()=>{this.mediaSourceBufferedIsZeroErrorOnLock=!1}))}))[e(539)]((i=>{const r=e;this[r(887)]=!1,this.emit(O.playFailedAndPaused,N.mediaSourceBufferedIsZeroError,s,t),this[r(942)](r(622),"mediaSourceBufferedIsZeroError _resetPlayer and play error",i)}))}else{const i=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(795)],s,t),this[i(600)](i(622),i(1355))}))[e(539)]((i=>{const r=e;this[r(1077)](O[r(594)],N[r(795)],s,t),this[r(942)](r(622),r(992),i)})).finally((()=>{this[e(887)]=!1}))}}[aC(888)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(526)));if(this.mseAddSourceBufferErrorOnLock)return void this.debugLog(e(622),e(1476));this[e(1077)](O.crashLog,this.getCrashLog(N.mseAddSourceBufferError,t));const s=this[e(1074)]();if(this[e(1320)]=!0,this[e(1189)]&&this[e(1189)][e(1147)][e(770)]){this[e(600)](e(622),e(1018));const i=this._opt[e(1040)],r=this[e(1147)][e(1146)];let n={useMSE:!1,useWCS:!1};this.player[e(1147)][e(855)]&&(n=Object.assign({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this[n(1605)](i,r)[n(1255)]((()=>{const t=n;this[t(600)](t(622),t(823))}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],N.mseAddSourceBufferError,s,t),this.debugError("JbPro","mseAddSourceBufferError auto wasm [mse-> wasm] reset player and play error",e)})).finally((()=>{this[n(1320)]=!1}))})).catch((i=>{const r=e;this[r(1320)]=!1,this[r(1077)](O[r(594)],N[r(543)],s,t),this[r(942)](r(622),r(521),i)}))}else{const i=!1===this[e(1147)].playFailedUseLastFrameShow;this[e(1189)][e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],N[i(543)],s,t),this[i(600)]("JbPro",i(1104))})).catch((i=>{const r=e;this.emit(O[r(594)],N[r(543)],s,t),this[r(942)](r(622),r(1106),i)}))[e(1163)]((()=>{this.mseAddSourceBufferErrorOnLock=!1}))}}[aC(1068)](t){const e=aC;if(this.isDestroyed())this.debug&&this[e(600)](e(622),"mediaSourceDecoderConfigurationError but player is destroyed");else if(this[e(937)])this.debugLog("JbPro",e(618));else if(this[e(1077)](O[e(1062)],this[e(751)](N[e(1550)],t)),this.mediaSourceDecoderConfigurationErrorOnLock=!0,this[e(1189)]&&this[e(1189)][e(1147)].hardDecodingNotSupportAutoWasm){this[e(600)](e(622),e(915));const s=this._opt[e(1040)],i=this._opt[e(1146)];let r={useMSE:!1,useWCS:!1};this[e(1713)](r).then((()=>{const r=e;this[r(1605)](s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),"mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] reset player and play success")})).catch((e=>{const s=r;this[s(1077)](O.playFailedAndPaused,N[s(1550)],t),this.debugError(s(622),s(1241),e)}))[r(1163)]((()=>{this.mediaSourceDecoderConfigurationErrorOnLock=!1}))}))[e(539)]((s=>{const i=e;this[i(937)]=!1,this[i(1077)](O[i(594)],N[i(1550)],t),this[i(942)]("JbPro","mediaSourceDecoderConfigurationError auto wasm [mse-> wasm] _resetPlayer and play error",s)}))}else{const s=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(663)](s)[e(1255)]((()=>{const s=e;this[s(1077)](O[s(594)],N[s(1550)],t),this.debugLog(s(622),s(906))}))[e(539)]((s=>{const i=e;this.emit(O.playFailedAndPaused,N[i(1550)],t),this[i(942)](i(622),i(1649),s)}))[e(1163)]((()=>{this[e(937)]=!1}))}}_handleMediaSourceTsIsMaxDiff(t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),"mediaSourceTsIsMaxDiff but player is destroyed"));if(this[e(640)])return void this[e(600)](e(622),e(1629));this.emit(O[e(1062)],this.getCrashLog(N[e(1205)],t));const s=this[e(1074)]();if(this.mediaSourceTsIsMaxDiffOnLock=!0,this[e(1189)]&&this[e(1189)][e(1147)][e(1474)]){this[e(600)](e(622),e(1526));const i=this._opt.url,r=this._opt[e(1146)];let n={};this[e(1189)][e(1147)][e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)]._opt.replayShowLoadingIcon})),ii(this[e(941)]())&&(n.isNotMute=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this[n(1605)](i,r).then((()=>{const t=n;this[t(600)](t(622),t(1176))}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],N[i(1205)],s,t),this[i(942)](i(622),i(1472),e)}))[n(1163)]((()=>{this[n(640)]=!1}))})).catch((i=>{const r=e;this[r(640)]=!1,this[r(1077)](O[r(594)],N[r(1205)],s,t),this[r(942)](r(622),r(704),i)}))}else{const i=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(1205)],s,t),this[i(600)](i(622),i(1596))}))[e(539)]((i=>{const r=e;this.emit(O[r(594)],N[r(1205)],s,t),this[r(942)]("JbPro",r(1710),i)})).finally((()=>{this.mediaSourceTsIsMaxDiffOnLock=!1}))}}[aC(1377)](t){const s=aC;if(this[s(1531)]())return void(this[s(867)]&&this[s(600)](s(622),s(1602)));if(this.mseWidthOrHeightChangeOnLock)return void this.debugLog(s(622),s(1302));this[s(1077)](O.crashLog,this[s(751)](N.mseWidthOrHeightChange,t));const i=this[s(1074)]();if(this[s(699)]=!0,this[s(1189)]&&this[s(1189)][s(1147)][s(810)]){this[s(600)](s(622),"mseWidthOrHeightChange and reset player and play");const e=this[s(1147)].url,r=this[s(1147)].playOptions;let n={};this[s(1189)][s(1147)][s(855)]&&(n=Object.assign({},n,i,{loadingIcon:this[s(1189)][s(1147)].replayShowLoadingIcon})),ii(this[s(941)]())&&(n.isNotMute=!0),this[s(1713)](n).then((()=>{const n=s;this[n(1189)][n(1147)][n(1202)]>0?this[n(1346)]=setTimeout((()=>{const s=n;this.widthOrHeightChangeReplayDelayTimeout=null,this[s(1531)]()?this[s(867)]&&this[s(600)](s(622),"mseWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this[s(1605)](e,r)[s(1255)]((()=>{const t=s;this[t(600)](t(622),t(1114))}))[s(539)]((e=>{const r=s;this[r(1077)](O[r(594)],N[r(712)],i,t),this[r(942)](r(622),r(1261),e)})).finally((()=>{this[s(699)]=!1}))}),1e3*this[n(1189)][n(1147)][n(1202)]):this.play(e,r)[n(1255)]((()=>{const t=n;this[t(600)]("JbPro",t(1114))})).catch((e=>{const s=n;this[s(1077)](O.playFailedAndPaused,N[s(712)],i,t),this[s(942)](s(622),s(1261),e)}))[n(1163)]((()=>{this[n(699)]=!1}))})).catch((e=>{const r=s;this[r(699)]=!1,this[r(1077)](O[r(594)],N.mseWidthOrHeightChange,i,t),this.debugError("JbPro",r(1598),e)}))}else{const r=!1===this[s(1147)][s(1142)];this[s(1189)][s(1370)](),this[s(663)](r)[s(1255)]((()=>{const r=s;this[r(1077)](O[r(594)],N[r(712)],i,t),this[r(942)](r(622),"mseWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{const r=s;this[r(1077)](O.playFailedAndPaused,N[r(712)],i,t),this.debugError(r(622),r(1112),e)}))[s(1163)]((()=>{this[s(699)]=!1}))}}[aC(903)](t){const s=aC;if(this.isDestroyed())return void(this[s(867)]&&this[s(600)](s(622),"mediaSourceAudioG711NotSupport but player is destroyed"));if(this.mediaSourceAudioG711NotSupportOnLock)return void this[s(600)](s(622),s(1597));const i=this[s(1074)]();if(this[s(1395)]=!0,this.player&&this[s(1189)][s(1147)][s(660)]){this[s(600)](s(622),s(1038));const e=this[s(1147)].url,r=this._opt.playOptions;let n={mseDecodeAudio:!1};this[s(1189)]._opt.replayUseLastFrameShow&&(n=Object[s(1242)]({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this[s(941)]())&&(n.isNotMute=!0),this[s(1713)](n)[s(1255)]((()=>{const n=s;this.play(e,r).then((()=>{const t=cC;this[t(600)](t(622),t(833))}))[n(539)]((e=>{const s=n;this[s(1077)](O[s(594)],N[s(1350)],i,t),this[s(942)]("JbPro",s(1360),e)}))[n(1163)]((()=>{this.mediaSourceAudioG711NotSupportOnLock=!1}))})).catch((e=>{const r=s;this[r(1395)]=!1,this[r(1077)](O[r(594)],N[r(1350)],i,t),this.debugError(r(622),r(1515),e)}))}else{const r=!1===this[s(1147)].playFailedUseLastFrameShow;this[s(1189)].setPlayFailedAndPaused(),this[s(663)](r)[s(1255)]((()=>{const r=s;this[r(1077)](O[r(594)],N[r(1350)],i,t),this.debugError(r(622),r(1515),e)})).catch((e=>{const r=s;this[r(1077)](O.playFailedAndPaused,N.mediaSourceAudioG711NotSupport,i,t),this[r(942)](r(622),"mediaSourceAudioG711NotSupport error and pause error",e)})).finally((()=>{this[s(1395)]=!1}))}}[aC(1495)](t){const s=aC;if(this[s(1531)]())return void(this[s(867)]&&this[s(600)](s(622),s(525)));if(this[s(848)])return void this[s(600)](s(622),s(1536));const i=this[s(1074)]();if(this[s(848)]=!0,this.player&&this[s(1189)][s(1147)][s(1218)]){this[s(600)]("JbPro",s(1179));const e=this[s(1147)][s(1040)],r=this._opt[s(1146)];let n={mseDecodeAudio:!1};this[s(1189)]._opt[s(855)]&&(n=Object[s(1242)]({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this[s(941)]())&&(n[s(1672)]=!0),this[s(1713)](n)[s(1255)]((()=>{const n=s;this[n(1605)](e,r).then((()=>{const t=n;this[t(600)](t(622),"mediaSourceAudioInitTimeout and reset player and play success")}))[n(539)]((e=>{const s=n;this[s(1077)](O[s(594)],N[s(769)],i,t),this.debugError("JbPro",s(773),e)}))[n(1163)]((()=>{this[n(848)]=!1}))})).catch((e=>{const r=s;this[r(848)]=!1,this[r(1077)](O[r(594)],N[r(769)],i,t),this[r(942)](r(622),r(553),e)}))}else{const t=!1===this._opt.playFailedUseLastFrameShow;this[s(1189)].setPlayFailedAndPaused(),this[s(663)](t)[s(1255)]((()=>{const t=s;this[t(1077)](O[t(594)],N[t(769)],i),this[t(942)](t(622),t(553),e)})).catch((t=>{const e=s;this[e(1077)](O[e(594)],N[e(769)],i),this[e(942)](e(622),e(1541),t)}))[s(1163)]((()=>{this[s(848)]=!1}))}}[aC(1651)](t){const s=aC;if(this.isDestroyed())return void(this[s(867)]&&this[s(600)](s(622),s(806)));if(this.mediaSourceAudioNoDataTimeoutOnLock)return void this[s(600)](s(622),s(844));const i=this[s(1074)]();if(this.mediaSourceAudioNoDataTimeoutOnLock=!0,this[s(1189)]&&this[s(1189)][s(1147)][s(1457)]){this.debugLog(s(622),s(556));const e=this[s(1147)][s(1040)],r=this[s(1147)][s(1146)];let n={mseDecodeAudio:!1};this[s(1189)][s(1147)][s(855)]&&(n=Object.assign({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this.isMute())&&(n[s(1672)]=!0),this._resetPlayer(n)[s(1255)]((()=>{const n=s;this.play(e,r)[n(1255)]((()=>{const t=n;this[t(600)]("JbPro",t(1317))}))[n(539)]((e=>{const s=n;this[s(1077)](O[s(594)],N[s(1240)],i,t),this[s(942)](s(622),s(689),e)})).finally((()=>{this[n(978)]=!1}))})).catch((e=>{const r=s;this[r(978)]=!1,this[r(1077)](O[r(594)],N[r(1240)],i,t),this[r(942)](r(622),r(1650),e)}))}else{const t=!1===this[s(1147)][s(1142)];this[s(1189)][s(1370)](),this[s(663)](t).then((()=>{const t=s;this[t(1077)](O[t(594)],N.mediaSourceAudioNoDataTimeout,i),this[t(942)](t(622),t(1650),e)})).catch((t=>{const e=s;this[e(1077)](O[e(594)],N[e(1240)],i),this[e(942)]("JbPro",e(1518),t)})).finally((()=>{this.mediaSourceAudioNoDataTimeoutOnLock=!1}))}}[aC(1392)](t){const s=aC;if(this.isDestroyed())return void(this[s(867)]&&this.debugLog(s(622),s(759)));if(this.mseWorkerAddSourceBufferErrorOnLock)return void this[s(600)](s(622),s(1116));const i=this._getVideoLastIframeInfo();if(this[s(1453)]=!0,this[s(1189)]&&this.player[s(1147)][s(770)]){this[s(600)](s(622),s(908));const e=this[s(1147)][s(1040)],r=this[s(1147)].playOptions;let n={mseDecoderUseWorker:!1};this[s(1189)][s(1147)][s(855)]&&(n=Object[s(1242)]({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this[s(941)]())&&(n.isNotMute=!0),this[s(1713)](n).then((()=>{const n=s;this[n(1605)](e,r)[n(1255)]((()=>{this[n(600)]("JbPro","mseWorkerAddSourceBufferError and reset player and play success")}))[n(539)]((e=>{const s=n;this[s(1077)](O.playFailedAndPaused,N[s(846)],i,t),this[s(942)]("JbPro",s(1557),e)})).finally((()=>{this[n(1453)]=!1}))}))[s(539)]((e=>{const r=s;this[r(1453)]=!1,this[r(1077)](O[r(594)],N[r(846)],i,t),this.debugError(r(622),r(799),e)}))}else{const t=!1===this[s(1147)][s(1142)];this[s(1189)][s(1370)](),this._pause(t)[s(1255)]((()=>{const t=s;this[t(1077)](O[t(594)],N[t(846)],i),this[t(942)](t(622),"mseWorkerAddSourceBufferError and _resetPlayer error",e)}))[s(539)]((t=>{const e=s;this[e(1077)](O[e(594)],N[e(846)],i),this[e(942)]("JbPro",e(1564),t)}))[s(1163)]((()=>{this[s(1453)]=!1}))}}[aC(1250)](t){const e=aC;if(this[e(1531)]())this[e(867)]&&this[e(600)](e(622),e(1258));else if(this[e(851)])this[e(600)](e(622),e(870));else if(this[e(1077)](O[e(1062)],this.getCrashLog(N[e(1329)],t)),this.mediaSourceUseCanvasRenderPlayFailedOnLock=!0,this.player&&this[e(1189)][e(1147)][e(1468)]&&this[e(1189)][e(1147)][e(1330)]){this[e(600)]("JbPro","mediaSourceUseCanvasRenderPlayFailed relayType is "+this[e(1189)][e(1147)][e(1330)]+e(604));const s=this._opt[e(1040)],i=this._opt[e(1146)];let r={};const n=this.player[e(1147)].mediaSourceUseCanvasRenderPlayFailedReplayType;n===A[e(1422)]?r={useMSE:!1,useWCS:!1}:n===A[e(1224)]&&(r={useVideoRender:!0,useCanvasRender:!1}),this._resetPlayer(r).then((()=>{const r=e;this[r(1605)](s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),"mediaSourceUseCanvasRenderPlayFailed and reset player and play success")}))[r(539)]((e=>{const s=r;this[s(1077)](O[s(594)],N[s(1329)],t),this[s(942)](s(622),s(683),e)}))[r(1163)]((()=>{this[r(851)]=!1}))}))[e(539)]((s=>{const i=e;this.mediaSourceUseCanvasRenderPlayFailedOnLock=!1,this[i(1077)](O[i(594)],N[i(1329)],t),this.debugError("JbPro",i(834),s)}))}else{const s=!1===this[e(1147)][e(1142)];this.player[e(1370)](),this._pause(s)[e(1255)]((()=>{const t=e;this[t(600)](t(622),t(1060))}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N.mediaSourceUseCanvasRenderPlayFailed,t),this[i(942)]("JbPro",i(1380),s)}))[e(1163)]((()=>{this[e(851)]=!1}))}}[aC(531)](t){const e=aC;if(this[e(1531)]())this.debug&&this[e(600)](e(622),"webcodecsH265NotSupport but player is destroyed");else if(this[e(819)])this[e(600)]("JbPro","webcodecsH265NotSupportOnLock is true");else if(this.emit(O.crashLog,this[e(751)](N[e(1661)],t)),this[e(819)]=!0,this[e(1189)]&&this.player._opt[e(770)]){this[e(600)](e(622),e(620));const s=this._opt[e(1040)],i=this._opt[e(1146)];this[e(1713)]({useMSE:!1,useWCS:!1}).then((()=>{const r=e;this[r(1605)](s,i).then((()=>{const t=r;this[t(600)](t(622),t(874))}))[r(539)]((e=>{const s=r;this[s(1077)](O[s(594)],N[s(1661)],t),this[s(942)](s(622),s(932),e)}))[r(1163)]((()=>{this[r(819)]=!1}))}))[e(539)]((t=>{const s=e;this.webcodecsH265NotSupportOnLock=!1,this[s(942)](s(622),s(1577),t)}))}else{const s=!1===this._opt[e(1142)];this[e(1189)].setPlayFailedAndPaused(),this[e(663)](s)[e(1255)]((()=>{const s=e;this[s(1077)](O[s(594)],N.webcodecsH265NotSupport,t),this[s(600)](s(622),s(1285))}))[e(539)]((s=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(1661)],t),this[i(942)](i(622),i(781),s)}))[e(1163)]((()=>{this.webcodecsH265NotSupportOnLock=!1}))}}[aC(979)](t){const e=aC;if(this.isDestroyed())this[e(867)]&&this[e(600)](e(622),"webcodecsUnsupportedConfigurationError but player is destroyed");else if(this[e(863)])this.debugLog(e(622),e(700));else if(this.emit(O[e(1062)],this[e(751)](N[e(894)],t)),this[e(863)]=!0,this[e(1189)]&&this[e(1189)][e(1147)][e(770)]){this[e(600)](e(622),"webcodecsUnsupportedConfigurationError auto wasm [wcs-> wasm] reset player and play");const s=this._opt[e(1040)],i=this._opt[e(1146)];this[e(1713)]({useMSE:!1,useWCS:!1})[e(1255)]((()=>{const r=e;this[r(1605)](s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),t(498))}))[r(539)]((e=>{const s=r;this[s(1077)](O[s(594)],N[s(894)],t),this.debugError(s(622),s(1547),e)}))[r(1163)]((()=>{this[r(863)]=!1}))})).catch((s=>{const i=e;this[i(863)]=!1,this[i(1077)](O[i(594)],N[i(894)],t),this[i(942)](i(622),i(1570),s)}))}else{const s=!1===this._opt[e(1142)];this[e(1189)][e(1370)](),this[e(663)](s).then((()=>{const s=e;this[s(1077)](O[s(594)],N[s(894)],t),this[s(600)](s(622),s(962))}))[e(539)]((s=>{const i=e;this.emit(O[i(594)],N[i(894)],t),this.debugError(i(622),i(1289),s)}))[e(1163)]((()=>{this.webcodecsUnsupportedConfigurationErrorOnLock=!1}))}}[aC(1479)](t){const e=aC;if(this.isDestroyed())this[e(867)]&&this[e(600)](e(622),e(633));else if(this[e(1294)])this.debugLog(e(622),e(1237));else if(this.emit(O.crashLog,this.getCrashLog(N.webcodecsDecodeConfigureError,t)),this[e(1189)]&&this[e(1189)][e(1147)][e(770)]){this[e(600)](e(622),e(652));const s=this[e(1147)].url,i=this[e(1147)].playOptions;this[e(1713)]({useMSE:!1,useWCS:!1})[e(1255)]((()=>{const r=e;this[r(1605)](s,i).then((()=>{this[r(600)]("JbPro","webcodecsDecodeConfigureError auto wasm [wcs-> wasm] reset player and play success")})).catch((e=>{const s=r;this.emit(O[s(594)],N[s(1666)],t),this[s(942)](s(622),s(1510),e)}))[r(1163)]((()=>{this[r(1294)]=!1}))}))[e(539)]((s=>{const i=e;this[i(1294)]=!1,this[i(1077)](O[i(594)],N[i(1666)],t),this[i(942)]("JbPro",i(860),s)}))}else{const s=!1===this._opt[e(1142)];this[e(1189)][e(1370)](),this._pause(s)[e(1255)]((()=>{const s=e;this[s(1077)](O.playFailedAndPaused,N[s(1666)],t),this.debugLog(s(622),s(1035))})).catch((s=>{const i=e;this.emit(O[i(594)],N.webcodecsDecodeConfigureError,t),this.debugError(i(622),"webcodecsDecodeConfigureError and pause error",s)}))[e(1163)]((()=>{this[e(1294)]=!1}))}}[aC(1020)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(826)));if(this[e(1233)])return void this.debugLog(e(622),e(1594));this[e(1077)](O.crashLog,this[e(751)](N.webcodecsDecodeError,t));const s=this._getVideoLastIframeInfo();if(this.webcodecsDecodeErrorOnLock=!0,this[e(1189)]&&this.player[e(1147)][e(1604)]){const i=this._opt[e(1040)],r=this[e(1147)][e(1146)];let n={},o=this[e(1189)][e(1147)][e(1181)],a=!0;o?n={useMSE:!1,useWCS:!1}:this[e(1460)](zt[e(707)])?this[e(1093)][e(766)](Ve()):(o=!0,a=!1,n={useMSE:!1,useWCS:!1}),this.debugLog(e(622),e(1509)+(ii(a)?e(1374):"")+e(1297)+e(o?1590:1161)+"] reset player and play"),this[e(1189)][e(1147)][e(855)]&&(n=Object.assign({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this[n(1605)](i,r)[n(1255)]((()=>{const t=n;this.debugLog(t(622),t(1655))})).catch((e=>{const i=n;this.emit(O[i(594)],N[i(1701)],s,t),this[i(942)](i(622),i(1366),e)}))[n(1163)]((()=>{this.webcodecsDecodeErrorOnLock=!1}))}))[e(539)]((()=>{const i=e;this[i(1233)]=!1,this[i(1077)](O[i(594)],N[i(1701)],s,t),this.debugError(i(622),i(627))}))}else{const i=!1===this[e(1147)][e(1142)];this.player[e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this.emit(O[i(594)],N[i(1701)],s,t),this.debugLog(i(622),i(1398))})).catch((i=>{const r=e;this[r(1077)](O[r(594)],N[r(1701)],s,t),this[r(942)]("JbPro",r(628),i)}))[e(1163)]((()=>{this[e(1233)]=!1}))}}[aC(1708)](t){const s=aC;if(this[s(1531)]())return void(this[s(867)]&&this[s(600)](s(622),s(1372)));if(this[s(1131)])return void this.debugLog(s(622),s(1393));this.emit(O[s(1062)],this[s(751)](N.wcsWidthOrHeightChange,t));const i=this[s(1074)]();if(this.wcsWidthOrHeightChangeOnLock=!0,this[s(1189)]&&this[s(1189)][s(1147)][s(810)]){this[s(600)](s(622),s(1548));const e=this._opt[s(1040)],r=this._opt[s(1146)];let n={};this.player[s(1147)][s(855)]&&(n=Object[s(1242)]({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this[s(941)]())&&(n[s(1672)]=!0),this[s(1713)](n)[s(1255)]((()=>{const n=s;this[n(1147)][n(1202)]>0?this[n(1346)]=setTimeout((()=>{const s=n;this[s(1346)]=null,this.isDestroyed()?this[s(867)]&&this[s(600)]("JbPro","wcsWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this[s(1605)](e,r)[s(1255)]((()=>{const t=s;this.debugLog(t(622),t(869))})).catch((e=>{const r=s;this[r(1077)](O[r(594)],N[r(1454)],i,t),this[r(942)](r(622),"wcsWidthOrHeightChange and reset player and play error",e)})).finally((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}),1e3*this[n(1147)][n(1202)]):this.play(e,r)[n(1255)]((()=>{const t=n;this[t(600)](t(622),"wcsWidthOrHeightChange and reset player and play success")}))[n(539)]((e=>{const s=n;this[s(1077)](O[s(594)],N[s(1454)],i,t),this[s(942)](s(622),s(1654),e)}))[n(1163)]((()=>{this.wcsWidthOrHeightChangeOnLock=!1}))}))[s(539)]((e=>{const r=s;this[r(1131)]=!1,this.emit(O[r(594)],N.wcsWidthOrHeightChange,i,t),this[r(942)](r(622),r(1678),e)}))}else{const r=!1===this._opt[s(1142)];this[s(1189)][s(1370)](),this[s(663)](r)[s(1255)]((()=>{const r=s;this[r(1077)](O[r(594)],N[r(1454)],i,t),this[r(942)](r(622),"wcsWidthOrHeightChange and _resetPlayer error",e)})).catch((e=>{const r=s;this[r(1077)](O.playFailedAndPaused,N.wcsWidthOrHeightChange,i,t),this[r(942)]("JbPro",r(1458),e)}))[s(1163)]((()=>{this[s(1131)]=!1}))}}[aC(1534)](t){const s=aC;if(this[s(1531)]())return void(this[s(867)]&&this[s(600)](s(622),s(1517)));if(this[s(1070)])return void this[s(600)]("JbPro","webcodecsAudioNoDataTimeoutOnLock is true");const i=this[s(1074)]();if(this.webcodecsAudioNoDataTimeoutOnLock=!0,this[s(1189)]&&this[s(1189)][s(1147)][s(1443)]){this[s(600)]("JbPro",s(591));const e=this[s(1147)][s(1040)],r=this[s(1147)][s(1146)];let n={wcsDecodeAudio:!1};this[s(1189)][s(1147)][s(855)]&&(n=Object.assign({},n,i,{loadingIcon:this.player[s(1147)].replayShowLoadingIcon})),ii(this[s(941)]())&&(n.isNotMute=!0),this[s(1713)](n)[s(1255)]((()=>{const n=s;this[n(1605)](e,r)[n(1255)]((()=>{const t=n;this.debugLog("JbPro",t(1065))}))[n(539)]((e=>{const s=n;this[s(1077)](O[s(594)],N[s(877)],i,t),this[s(942)]("JbPro",s(1475),e)})).finally((()=>{this[n(1070)]=!1}))}))[s(539)]((e=>{const r=s;this.webcodecsAudioNoDataTimeoutOnLock=!1,this[r(1077)](O[r(594)],N[r(877)],i,t),this[r(942)](r(622),r(1006),e)}))}else{const t=!1===this[s(1147)][s(1142)];this.player.setPlayFailedAndPaused(),this[s(663)](t)[s(1255)]((()=>{const t=s;this[t(1077)](O.playFailedAndPaused,N.webcodecsAudioNoDataTimeout,i),this[t(942)](t(622),t(1006),e)}))[s(539)]((t=>{const e=s;this[e(1077)](O.playFailedAndPaused,N.webcodecsAudioNoDataTimeout,i),this[e(942)](e(622),e(1155),t)}))[s(1163)]((()=>{this.webcodecsAudioNoDataTimeoutOnLock=!1}))}}[aC(1591)](t){const s=aC;if(this[s(1531)]())return void(this[s(867)]&&this[s(600)]("JbPro",s(811)));if(this[s(890)])return void this[s(600)](s(622),s(849));const i=this[s(1074)]();if(this[s(890)]=!0,this[s(1189)]&&this[s(1189)][s(1147)][s(496)]){this[s(600)](s(622),"webcodecsAudioInitTimeout and reset player and play");const e=this[s(1147)][s(1040)],r=this[s(1147)].playOptions;let n={wcsDecodeAudio:!1};this[s(1189)]._opt[s(855)]&&(n=Object.assign({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this[s(941)]())&&(n.isNotMute=!0),this._resetPlayer(n)[s(1255)]((()=>{const n=s;this[n(1605)](e,r).then((()=>{const t=n;this[t(600)](t(622),t(1111))})).catch((e=>{const s=n;this[s(1077)](O[s(594)],N.webcodecsAudioInitTimeout,i,t),this.debugError("JbPro",s(1631),e)}))[n(1163)]((()=>{this[n(890)]=!1}))}))[s(539)]((e=>{const r=s;this[r(890)]=!1,this.emit(O[r(594)],N[r(1226)],i,t),this.debugError(r(622),"webcodecsAudioInitTimeout and _resetPlayer error",e)}))}else{const t=!1===this[s(1147)][s(1142)];this[s(1189)][s(1370)](),this._pause(t)[s(1255)]((()=>{const t=s;this[t(1077)](O[t(594)],N[t(1226)],i),this[t(942)](t(622),"webcodecsAudioInitTimeout and _resetPlayer error",e)}))[s(539)]((t=>{const e=s;this.emit(O[e(594)],N[e(1226)],i),this[e(942)](e(622),e(1166),t)}))[s(1163)]((()=>{this[s(890)]=!1}))}}[aC(1375)](t){const e=aC;if(this.isDestroyed())return void(this.debug&&this[e(600)](e(622),e(1082)));if(this[e(985)])return void this[e(600)]("JbPro",e(768));this[e(1077)](O[e(1062)],this[e(751)](N[e(1086)],t));const s=this[e(1074)]();if(this[e(985)]=!0,this[e(1189)]&&this.player[e(1147)][e(719)]){this[e(600)](e(622),e(787)+this[e(1189)]._opt[e(1681)]+" and reset player and play");const i=this._opt[e(1040)],r=this[e(1147)].playOptions;let n={};this[e(1189)][e(1147)][e(1681)]===g[e(1590)]&&(n={useSIMD:!1}),this[e(1189)][e(1147)][e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this.isMute())&&(n[e(1672)]=!0),this[e(1713)](n).then((()=>{const n=e;this[n(1605)](i,r).then((()=>{const t=n;this.debugLog("JbPro",t(520))}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],N[i(1086)],s,t),this[i(942)](i(622),i(900),e)}))[n(1163)]((()=>{this[n(985)]=!1}))}))[e(539)]((i=>{const r=e;this[r(985)]=!1,this[r(1077)](O[r(594)],N[r(1086)],s,t),this[r(942)]("JbPro",r(1684),i)}))}else{const i=!1===this[e(1147)][e(1142)];this[e(1189)].setPlayFailedAndPaused(),this[e(663)](i).then((()=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(1086)],s,t),this[i(942)](i(622),"simdDecodeError and simdDecodeErrorReplay is false")}))[e(539)]((i=>{const r=e;this.emit(O[r(594)],N.simdDecodeError,s,t),this[r(942)](r(622),r(756),i)})).finally((()=>{this.simdDecodeErrorOnLock=!1}))}}[aC(1354)](t){const s=aC;if(this[s(1531)]())return void(this[s(867)]&&this[s(600)](s(622),"wasmWidthOrHeightChange but player is destroyed"));if(this[s(1371)])return void this[s(600)](s(622),s(1137));this.emit(O.crashLog,this.getCrashLog(N[s(927)],t));const i=this._getVideoLastIframeInfo();if(this[s(1371)]=!0,this[s(1189)]&&this[s(1189)]._opt.widthOrHeightChangeReplay){this[s(600)](s(622),s(1310));const e=this[s(1147)][s(1040)],r=this[s(1147)][s(1146)];let n={};this[s(1189)][s(1147)][s(855)]&&(n=Object.assign({},n,i,{loadingIcon:this[s(1189)][s(1147)][s(1665)]})),ii(this[s(941)]())&&(n.isNotMute=!0),this[s(1713)](n).then((()=>{const n=s;this[n(1147)].widthOrHeightChangeReplayDelayTime>0?this[n(1346)]=setTimeout((()=>{const s=n;this[s(1346)]=null,this[s(1531)]()?this[s(867)]&&this.debugLog("JbPro","wasmWidthOrHeightChange and widthOrHeightChangeReplayDelayTime but player is destroyed"):this[s(1605)](e,r)[s(1255)]((()=>{const t=s;this[t(600)](t(622),t(1349))}))[s(539)]((e=>{const r=s;this.emit(O[r(594)],N.wasmWidthOrHeightChange,i,t),this[r(942)](r(622),r(1697),e)}))[s(1163)]((()=>{this[s(1371)]=!1}))}),1e3*this._opt[n(1202)]):this[n(1605)](e,r)[n(1255)]((()=>{const t=n;this[t(600)](t(622),t(1349))}))[n(539)]((e=>{const s=n;this[s(1077)](O[s(594)],N[s(927)],i,t),this.debugError("JbPro",s(1697),e)}))[n(1163)]((()=>{this.wasmWidthOrHeightChangeOnLock=!1}))}))[s(539)]((e=>{const r=s;this[r(1371)]=!1,this[r(1077)](O[r(594)],N[r(927)],i,t),this.debugError(r(622),r(1293),e)}))}else{const r=!1===this[s(1147)][s(1142)];this.player.setPlayFailedAndPaused(),this._pause(r)[s(1255)]((()=>{const r=s;this[r(1077)](O[r(594)],N[r(927)],i,t),this[r(942)]("JbPro",r(1293),e)})).catch((t=>{const e=s;this.emit(O[e(594)],N[e(927)],i),this.debugError("JbPro",e(1675),t)}))[s(1163)]((()=>{this[s(1371)]=!1}))}}[aC(1505)](t){const e=aC;if(this.isDestroyed())return void(this[e(867)]&&this[e(600)](e(622),e(1263)));if(this[e(512)])return void this.debugLog(e(622),e(1687));this[e(1077)](O[e(1062)],this[e(751)](N[e(883)],t)),this[e(600)](e(622),e(1657));const s=this[e(1147)][e(1040)],i=this._opt[e(1146)];this[e(512)]=!0,this[e(1713)]({useVideoRender:!1,useCanvasRender:!0})[e(1255)]((()=>{const r=e;this.play(s,i).then((()=>{const t=cC;this[t(600)](t(622),t(1528))})).catch((e=>{const s=cC;this[s(1077)](O[s(594)],N[s(883)],{},t),this.debugError(s(622),"wasmUseVideoRenderError and reset player and play error",e)}))[r(1163)]((()=>{this[r(512)]=!1}))}))[e(539)]((s=>{const i=e;this[i(512)]=!1,this.emit(O[i(594)],N[i(883)],{},t),this[i(942)](i(622),i(617),s)}))}[aC(1706)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(1698)));if(this[e(830)])return void this[e(600)]("JbPro",e(1561));this[e(1077)](O.crashLog,this.getCrashLog(N[e(793)],t)),this[e(830)]=!0,this[e(600)](e(622),e(929));const s=this._opt[e(1040)],i=this[e(1147)][e(1146)];this[e(1713)]({useOldWasm:!0})[e(1255)]((()=>{const r=e;this.play(s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),t(1072))}))[r(539)]((e=>{const s=r;this[s(1077)](O[s(594)],N[s(1661)],t),this[s(942)](s(622),s(1223),e)}))[r(1163)]((()=>{this[r(830)]=!1}))}))[e(539)]((t=>{const s=e;this.notSupportNewWasmOnLock=!1,this[s(942)](s(622),"notSupportNewWasm auto wasm [wasm-> old wasm] _resetPlayer and play error",t)}))}[aC(838)](t){const e=aC;if(this.isDestroyed())return void(this[e(867)]&&this[e(600)](e(622),"videoElementPlayingFailed but player is destroyed"));if(this[e(868)])return void this.debugLog(e(622),e(1045));this[e(1077)](O[e(1062)],this[e(751)](N.videoElementPlayingFailed,t));const s=this._getVideoLastIframeInfo();if(this[e(868)]=!0,this.player&&this[e(1189)][e(1147)][e(1013)]){this[e(600)](e(622),e(1191)+this[e(1147)][e(1012)]+e(604));const i=this[e(1147)][e(1040)],r=this[e(1147)][e(1146)];let n={useMSE:!1,useVideoRender:!1,useCanvasRender:!0};this[e(1189)][e(1147)].replayUseLastFrameShow&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n)[e(1255)]((()=>{const s=e;this.play(i,r)[s(1255)]((()=>{const t=s;this.debugLog(t(622),t(613))}))[s(539)]((e=>{const i=s;this[i(1077)](O[i(594)],N[i(1291)],{},t),this[i(942)](i(622),"videoElementPlayingFailed and reset player and play error",e)}))[s(1163)]((()=>{this[s(868)]=!1}))}))[e(539)]((s=>{const i=e;this[i(868)]=!1,this[i(1077)](O.playFailedAndPaused,N.videoElementPlayingFailed,{},t),this[i(942)](i(622),"videoElementPlayingFailed and _resetPlayer error",s)}))}else{const s=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this._pause(s).then((()=>{const s=e;this[s(1077)](O[s(594)],N[s(1291)],{},t),this[s(942)](s(622),s(630))}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N.videoElementPlayingFailed,{},t),this.debugError("JbPro",i(1544),s)}))[e(1163)]((()=>{this[e(868)]=!1}))}}[aC(1626)](t){const e=aC;if(this[e(1531)]())this[e(867)]&&this[e(600)]("JbPro",e(1638));else if(this.simdH264DecodeVideoWidthIsTooLargeOnLock)this.debugLog(e(622),e(1685));else if(this.emit(O.crashLog,this[e(751)](N.simdH264DecodeVideoWidthIsTooLarge,t)),this[e(722)]=!0,this[e(1189)]&&this.player[e(1147)][e(505)]){this.debugLog(e(622),e(1097));const s=this[e(1147)].url,i=this._opt[e(1146)];this[e(1713)]({useSIMD:!1})[e(1255)]((()=>{const r=e;this.play(s,i)[r(1255)]((()=>{const t=r;this[t(600)](t(622),t(1280))}))[r(539)]((e=>{const s=r;this.emit(O.playFailedAndPaused,N.simdH264DecodeVideoWidthIsTooLarge,{},t),this[s(942)]("JbPro",s(948),e)})).finally((()=>{this[r(722)]=!1}))}))[e(539)]((s=>{const i=e;this[i(722)]=!1,this.emit(O[i(594)],N[i(576)],{},t),this[i(942)](i(622),"simdH264DecodeVideoWidthIsTooLarge and _resetPlayer error",s)}))}else{const s=!1===this[e(1147)].playFailedUseLastFrameShow;this[e(1189)][e(1370)](),this[e(663)](s)[e(1255)]((()=>{const s=e;this[s(1077)](O[s(594)],N[s(576)],{},t),this[s(942)](s(622),s(783))})).catch((s=>{const i=e;this[i(1077)](O[i(594)],N[i(576)],{},t),this[i(942)](i(622),i(1569),s)}))[e(1163)]((()=>{this[e(722)]=!1}))}}[aC(586)](t){const e=aC;if(this[e(1189)]._opt.networkDelayTimeoutReplay){if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(821)));if(this[e(1630)])return void this[e(600)]("JbPro",e(692));this.emit(O[e(1062)],this[e(751)](O[e(713)],t));const s=this[e(1074)]();this.debugLog(e(622),"network delay time out and reset player and play");const i=this[e(1147)][e(1040)],r=this._opt[e(1146)];let n={};this[e(1189)]&&this.player[e(1147)][e(855)]&&(n=Object.assign({},n,s,{loadingIcon:this.player._opt.replayShowLoadingIcon})),ii(this[e(941)]())&&(n[e(1672)]=!0),this.networkDelayTimeoutOnLock=!0,this[e(1713)](n)[e(1255)]((()=>{const n=e;this.play(i,r)[n(1255)]((()=>{const t=n;this.debugLog(t(622),"wasm decode error and reset player and play success")}))[n(539)]((e=>{const i=n;this.emit(O[i(594)],O[i(713)],s,t),this[i(942)]("JbPro","wasm decode error and reset player and play error",e)}))[n(1163)]((()=>{this[n(1630)]=!1}))})).catch((()=>{const i=e;this.networkDelayTimeoutOnLock=!1,this.emit(O[i(594)],O.networkDelayTimeout,s,t),this[i(942)](i(622),i(502))}))}}[aC(597)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(1519)));if(this[e(1235)])return void this[e(600)](e(622),e(1305));const s=this[e(1074)]();if(this[e(1235)]=!0,this[e(1189)][e(1147)].flvDemuxBufferSizeTooLargeReplay){this.emit(O.crashLog,this[e(751)](O[e(999)],t)),this[e(600)](e(622),e(1546));const i=this[e(1147)][e(1040)],r=this[e(1147)][e(1146)];let n={};this[e(1189)]&&this.player[e(1147)].replayUseLastFrameShow&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this.isMute())&&(n.isNotMute=!0),this[e(1713)](n)[e(1255)]((()=>{const n=e;this.play(i,r)[n(1255)]((()=>{const t=n;this[t(600)](this[t(661)],t(920))}))[n(539)]((e=>{const i=n;this[i(1077)](O.playFailedAndPaused,O.flvDemuxBufferSizeTooLarge,s,t),this[i(942)](this[i(661)],i(1532),e)}))[n(1163)]((()=>{this[n(1235)]=!1}))}))[e(539)]((()=>{const i=e;this[i(1235)]=!1,this.emit(O[i(594)],O.flvDemuxBufferSizeTooLarge,s,t),this.debugError(this[i(661)],i(1138))}))}else if(this[e(1147)].flvDemuxBufferSizeTooLargeEmitFailed){this[e(600)](this.TAG_NAME,e(1693));const i=!1===this._opt[e(1142)];this.player.setPlayFailedAndPaused(),this._pause(i)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],N[i(999)],s,t)})).catch((i=>{const r=e;this[r(1077)](O.playFailedAndPaused,N[r(999)],s,t),this[r(942)](this[r(661)],r(1125),i)}))[e(1163)]((()=>{this[e(1235)]=!1}))}}[aC(659)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this.debugLog(e(622),e(530)));if(this[e(1212)])return void this[e(600)]("JbPro",e(1407));this[e(1077)](O[e(1062)],this[e(751)](N.fetchError,t));const s=this[e(1074)](),i=this[e(679)]();if(this[e(1212)]=!0,this[e(1189)][e(1147)][e(743)]||i){i?this[e(600)](e(622),e(515)):this[e(600)](e(622),e(1316)+this[e(1149)]+e(513)+this._opt[e(1283)]+", next replay");let r={};this[e(1189)][e(1147)][e(855)]&&(r=Object[e(1242)]({},r,s,{loadingIcon:this.player[e(1147)][e(1665)]})),ii(this[e(941)]())&&(r[e(1672)]=!0);const n=this[e(1147)][e(1146)],o=this[e(1147)][e(1040)],a=i?1:this[e(1147)][e(1283)];this._resetPlayer(r)[e(1255)]((()=>{this.streamErrorReplayDelayTimeout=setTimeout((()=>{const e=cC;if(this[e(1262)]=null,!this[e(1531)]())return this[e(679)]()?(this[e(600)]("JbPro",e(507)),this[e(656)]=!0,void(this[e(1600)]={url:o,options:n,type:N[e(831)]})):(this._streamErrorReplayTimes++,void this[e(1605)](o,n)[e(1255)]((()=>{const t=e;this.debugLog(t(622),"fetch error and reset player and play success")}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N[i(831)],{},t),this[i(942)](i(622),i(1576),s)}))[e(1163)]((()=>{this[e(1212)]=!1})));this[e(867)]&&this[e(600)]("JbPro",e(757))}),1e3*a)})).catch((s=>{const i=e;this[i(1212)]=!1,this.emit(O[i(594)],N.fetchError,{},t),this[i(942)]("JbPro","fetch error and _resetPlayer error",s)}))}else{this[e(600)]("JbPro",e(753));const i=!1===this._opt[e(1142)];this[e(1189)].setPlayFailedAndPaused(),this._pause(i)[e(1255)]((()=>{this[e(1077)](O.playFailedAndPaused,N.fetchError,s,t)}))[e(539)]((i=>{const r=e;this[r(1077)](O.playFailedAndPaused,N[r(831)],s,t),this[r(942)](r(622),"fetch error and pause",i)}))[e(1163)]((()=>{this[e(1212)]=!1}))}}_handleStreamEnd(t){const e=aC;if(this[e(1531)]())return void(this.debug&&this[e(600)](e(622),e(1362)));if(this[e(1073)])return void this[e(600)](e(622),e(1662));this[e(1077)](O.crashLog,this[e(751)](O[e(765)],t));const s=this[e(1074)](),i=""+t===e(794)&&this[e(1189)][e(1147)].websocket1006ErrorReplay,r=!!i&&this[e(1460)](zt[e(1200)]),n=i&&r,o=this.player[e(1147)][e(670)],a=this[e(679)]();if(this[e(1073)]=!0,n||o||a){a?this[e(600)]("JbPro",e(1209)):n?this[e(600)](e(622),e(738)+this[e(1249)]+e(1390)+this[e(1147)].websocket1006ErrorReplayDelayTime+e(1462)):this.debugLog(e(622),"streamEnd and isStreamEndReplay is true and and _streamEndReplayTimes is "+this[e(1543)]+e(1390)+this[e(1147)][e(905)]+e(1462));const r=this[e(1147)].playOptions,o=this[e(1147)][e(1040)];i&&this[e(524)][e(766)](Ve());let h={};this.player[e(1147)][e(855)]&&(h=Object[e(1242)]({},h,s,{loadingIcon:this[e(1189)][e(1147)][e(1665)]})),ii(this.isMute())&&(h[e(1672)]=!0);let c=n?this[e(1147)][e(839)]:this[e(1147)][e(905)];a&&(c=1),this[e(1713)](h)[e(1255)]((()=>{const s=e;this[s(1307)]=setTimeout((()=>{const e=s;if(this[e(1307)]=null,this[e(1338)](),!this[e(1531)]())return this[e(679)]()?(n?this[e(600)]("JbPro",e(835)):this[e(600)]("JbPro",e(1156)),this[e(656)]=!0,void(this[e(1600)]={url:o,options:r,type:n?N.websocket1006Error:N[e(765)]})):(n?this[e(1249)]++:this._streamEndReplayTimes++,void this[e(1605)](o,r)[e(1255)]((()=>{const t=e;n?this[t(600)](t(622),t(1608)):this.debugLog(t(622),t(1140))}))[e(539)]((s=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(765)],{},t),n?this[i(942)]("JbPro","streamEnd and 1006 error and reset player and play error",s):this[i(942)](i(622),i(1332),s)}))[e(1163)]((()=>{this.streamEndOnLock=!1})));a?this[e(867)]&&this[e(600)]("JbPro","streamEnd and network is disconnect and _resetPlayer() but player is destroyed and return"):n?this[e(867)]&&this[e(600)](e(622),"streamEnd and 1006 error and _resetPlayer() but player is destroyed and return"):this.debug&&this[e(600)](e(622),e(665))}),1e3*c)})).catch((s=>{const i=e;this.streamEndOnLock=!1,this[i(1077)](O.playFailedAndPaused,N[i(765)],{},t),n?this[i(942)]("JbPro",i(1389),s):this[i(942)](i(622),i(1254),s)}))}else{i?this[e(600)](e(622),e(1606)+(ii(r)?e(579):"")):this[e(600)](e(622),e(1632));const n=!1===this[e(1147)][e(1142)];this.player.setPlayFailedAndPaused(),this[e(663)](n)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],O.streamEnd,s,t)}))[e(539)]((i=>{const r=e;this[r(1077)](O.playFailedAndPaused,O.streamEnd,s,t),this[r(942)](r(622),r(814),i)}))[e(1163)]((()=>{this[e(1073)]=!1}))}}[aC(1603)](t){const e=aC;if(this.isDestroyed())return void(this[e(867)]&&this.debugLog(e(622),e(716)));if(this.websocketErrorOnLock)return void this[e(600)]("JbPro","websocketErrorOnLock is true");this[e(1077)](O.crashLog,this[e(751)](N[e(791)],t));const s=this._getVideoLastIframeInfo(),i=this._isNeedNetworkDisconnectReplay();if(this.websocketErrorOnLock=!0,this.player[e(1147)][e(743)]||i){i?this[e(600)](e(622),e(686)):this[e(600)]("JbPro",e(575)+this._streamErrorReplayTimes+e(1203)+this[e(1147)][e(1283)]+e(742));let r={};this[e(1189)][e(1147)][e(855)]&&(r=Object[e(1242)]({},r,s,{loadingIcon:this[e(1189)][e(1147)].replayShowLoadingIcon})),ii(this[e(941)]())&&(r.isNotMute=!0);const n=this[e(1147)].playOptions,o=this[e(1147)].url,a=i?1:this[e(1147)][e(1283)];this[e(1713)](r)[e(1255)]((()=>{this.streamErrorReplayDelayTimeout=setTimeout((()=>{const e=cC;if(this[e(1262)]=null,!this[e(1531)]())return this[e(679)]()?(this.debugLog(e(622),"websocketError error and network is offline and wait network online to play , so return"),this[e(656)]=!0,void(this[e(1600)]={url:o,options:n,type:N.websocketError})):(this._streamErrorReplayTimes++,void this[e(1605)](o,n)[e(1255)]((()=>{const t=e;this[t(600)]("JbPro",t(1587))}))[e(539)]((s=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(831)],{},t),this.debugError(i(622),i(725),s)})).finally((()=>{this[e(1401)]=!1})));i?this[e(867)]&&this[e(600)](e(622),e(1171)):this[e(867)]&&this.debugLog(e(622),e(961))}),1e3*a)})).catch((s=>{const i=e;this[i(1401)]=!1,this[i(1077)](O[i(594)],N.fetchError,{},t),this.debugError(i(622),"websocketError error and _resetPlayer error",s)}))}else{this[e(600)]("JbPro",e(1643));const i=!1===this[e(1147)][e(1142)];this.player.setPlayFailedAndPaused(),this._pause(i).then((()=>{const i=e;this[i(1077)](O[i(594)],N[i(791)],s,t)}))[e(539)]((i=>{const r=e;this[r(1077)](O[r(594)],N[r(791)],s,t),this[r(942)](r(622),r(643),i)}))[e(1163)]((()=>{this.websocketErrorOnLock=!1}))}}[aC(1703)](t){const e=aC;if(this[e(1531)]())return void(this.debug&&this[e(600)](e(622),e(1525)));if(this[e(1169)])return void this[e(600)](e(622),e(904));this[e(1077)](O[e(1062)],this[e(751)](N[e(1075)],t));const s=this._getVideoLastIframeInfo();if(this._isNeedNetworkDisconnectReplay()){this[e(600)](e(622),e(708));const i=this[e(1147)][e(1146)],r=this._opt.url;let n={};this.player._opt[e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this[e(1189)]._opt[e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this._resetPlayer(n)[e(1255)]((()=>{const t=e;this[t(656)]=!0,this[t(1600)]={url:r,options:i,type:N.webrtcError}}))[e(539)]((()=>{const i=e;this[i(1077)](O[i(594)],N[i(1075)],s,t),this[i(942)](i(622),i(892))}))[e(1163)]((()=>{this.webrtcErrorOnLock=!1}))}else{this[e(600)](e(622),e(1180));const i=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(1169)]=!0,this[e(663)](i)[e(1255)]((()=>{const i=e;this.emit(O[i(594)],N[i(1075)],s,t)}))[e(539)]((i=>{const r=e;this[r(1077)](O.playFailedAndPaused,N[r(1075)],s,t),this[r(942)](r(622),r(1298),i)}))[e(1163)]((()=>{this.webrtcErrorOnLock=!1}))}}_handleHlsError(t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(1016)));if(this[e(1076)])return void this[e(600)](e(622),e(514));this[e(1077)](O.crashLog,this[e(751)](N[e(1271)],t));const s=this._getVideoLastIframeInfo();if(this._isNeedNetworkDisconnectReplay()){this[e(600)](e(622),"hlsError error and network is offline and wait network online to play , so _resetPlayer and wait play");const i=this[e(1147)][e(1146)],r=this[e(1147)].url;let n={};this[e(1189)]._opt[e(855)]&&(n=Object[e(1242)]({},n,s,{loadingIcon:this.player._opt[e(1665)]})),ii(this[e(941)]())&&(n[e(1672)]=!0),this[e(1713)](n).then((()=>{const t=e;this[t(656)]=!0,this[t(1600)]={url:r,options:i,type:N.hlsError}}))[e(539)]((()=>{const i=e;this[i(1077)](O.playFailedAndPaused,N[i(1271)],s,t),this[i(942)](i(622),"hlsError and _resetPlayer error")}))[e(1163)]((()=>{this.hlsErrorOnLock=!1}))}else{this.debugLog(e(622),e(1636));const i=!1===this._opt[e(1142)];this[e(1189)][e(1370)](),this[e(1076)]=!0,this[e(663)](i).then((()=>{const i=e;this[i(1077)](O[i(594)],N[i(1271)],s,t)}))[e(539)]((i=>{const r=e;this[r(1077)](O[r(594)],N[r(1271)],s,t),this[r(942)](r(622),r(1005),i)}))[e(1163)]((()=>{this[e(1076)]=!1}))}}_handleAliyunRtcError(t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)]("JbPro",e(728)));if(this[e(550)])return void this[e(600)]("JbPro",e(1284));this.emit(O.crashLog,this.getCrashLog(N[e(672)],t));const s=this[e(1074)]();this[e(600)](e(622),"aliyunRtcError and pause player");const i=!1===this[e(1147)][e(1142)];this.player[e(1370)](),this[e(550)]=!0,this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],N[i(672)],s,t)})).catch((i=>{const r=e;this[r(1077)](O[r(594)],N.aliyunRtcError,s,t),this[r(942)](r(622),r(499),i)})).finally((()=>{this[e(550)]=!1}))}_handleDecoderWorkerInitError(t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)]("JbPro",e(1368)));if(this.decoderWorkerInitErrorOnLock)return void this.debugLog(e(622),e(1408));this[e(1077)](O[e(1062)],this[e(751)](N.decoderWorkerInitError,t));const s=this[e(1074)]();this.debugLog(e(622),e(1314));const i=!1===this[e(1147)].playFailedUseLastFrameShow;this[e(1189)].setPlayFailedAndPaused(),this.decoderWorkerInitErrorOnLock=!0,this._pause(i).then((()=>{const i=e;this.emit(O[i(594)],N[i(1503)],s,t)}))[e(539)]((i=>{const r=e;this[r(1077)](O[r(594)],N[r(1503)],s,t),this[r(942)](r(622),r(820),i)})).finally((()=>{this[e(1340)]=!1}))}[aC(896)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this.debugLog(e(622),e(730)));if(this[e(1616)])return void this[e(600)]("JbPro","decoderWorkerWasmErrorOnLock is true");this[e(1077)](O.crashLog,this.getCrashLog(N[e(1459)],t)),this.debugLog(e(622),e(1343));const s=!1===this._opt[e(1142)];this.player[e(1370)](),this[e(1616)]=!0,this[e(663)](s).then((()=>{const s=e;this.emit(O[s(594)],N.decoderWorkerWasmError,{},t)}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N[i(1459)],{},t),this[i(942)]("JbPro",i(912),s)}))[e(1163)]((()=>{this[e(1616)]=!1}))}[aC(1397)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(975)));if(this[e(642)])return void this[e(600)]("JbPro",e(1153));this.emit(O[e(1062)],this[e(751)](N[e(1339)],t)),this[e(600)](e(622),e(1081));const s=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(642)]=!0,this[e(663)](s)[e(1255)]((()=>{const s=e;this.emit(O.playFailedAndPaused,N[s(1339)],{},t)}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N.videoElementPlayingFailedForWebrtc,{},t),this.debugError(i(622),i(503),s)}))[e(1163)]((()=>{this[e(642)]=!1}))}[aC(1313)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),e(1628)));if(this[e(935)])return void this[e(600)](e(622),e(1033));this.emit(O[e(1062)],this.getCrashLog(N.videoInfoError,t)),this.debugLog(e(622),e(1273));const s=!1===this[e(1147)][e(1142)];this[e(1189)][e(1370)](),this[e(935)]=!0,this[e(663)](s)[e(1255)]((()=>{const s=e;this[s(1077)](O[s(594)],N.videoInfoError,{},t)}))[e(539)]((s=>{const i=e;this[i(1077)](O[i(594)],N.videoInfoError,{},t),this[i(942)](i(622),i(959),s)}))[e(1163)]((()=>{this[e(935)]=!1}))}[aC(862)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(600)](e(622),"webrtcStreamH265 but player is destroyed"));if(this[e(589)])return void this.debugLog(e(622),e(798));this[e(600)]("JbPro",e(1483));const s=this[e(1147)][e(1040)],i=this._opt[e(1146)];this[e(589)]=!0,this[e(1713)]({isWebrtcH265:!0})[e(1255)]((()=>{const r=e;this.play(s,i)[r(1255)]((()=>{const t=r;this[t(600)]("JbPro",t(1501))})).catch((e=>{const s=r;this[s(1077)](O[s(594)],O[s(871)],{},t),this.debugError(s(622),s(939),e)}))[r(1163)]((()=>{this.webrtcStreamH265OnLock=!1}))})).catch((()=>{const s=e;this[s(589)]=!1,this[s(1077)](O[s(594)],O[s(871)],{},t),this[s(942)](s(622),s(952))}))}[aC(1134)](){const t=aC;if(this.isDestroyed())return void(this[t(867)]&&this[t(600)](t(622),t(528)));if(this.playbackEndOnLock)return void this.debugLog(t(622),t(1274));const e=!1===this[t(1147)].playFailedUseLastFrameShow,s=this[t(1074)]();this[t(1189)].setPlayFailedAndPaused(),this.playbackEndOnLock=!0,this._pause(e).then((()=>{const e=t;this[e(1077)](O[e(594)],O[e(694)],s,"")})).catch((e=>{const i=t;this[i(1077)](O[i(594)],O[i(694)],s,""),this[i(942)]("JbPro",i(534),e)})).finally((()=>{this.playbackEndOnLock=!1}))}[aC(1692)](t){const e=aC;if(this[e(1531)]())return void(this[e(867)]&&this[e(1243)](e(622),e(746)));this[e(1077)](O[e(1062)],this.getCrashLog(O[e(1715)],t));const s=this[e(1074)]();if(this[e(1189)]&&this[e(1189)]._opt[e(542)]&&(this[e(964)]{const n=e;if(this[n(679)]())return this[n(600)]("JbPro","delayTimeout and network is offline and wait network online to play , so return"),this[n(656)]=!0,void(this[n(1600)]={url:i,options:r,type:O[n(1715)]});this[n(1605)](i,r)[n(1255)]((()=>{}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],O[i(1715)],s,t),this[i(942)](i(622),i(607),e)}))}))[e(539)]((i=>{const r=e;this[r(1077)](O.playFailedAndPaused,O[r(1715)],s,t),this.debugError(r(622),r(721),i)}))}else{const i=!1===this[e(1147)][e(1142)];this.player[e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O.playFailedAndPaused,O[i(1715)],s,t),this[i(1189)]&&(this.emit(O[i(508)]),this[i(1077)](O[i(594)],O[i(508)])),this[i(1243)](i(622),i(1318)+(this[i(1189)]&&this[i(1189)][i(1147)].heartTimeout)+" and\n opt.heartTimeoutReplay is "+(this[i(1189)]&&this[i(1189)]._opt[i(542)])+i(1143)+(this[i(1189)]&&this.player[i(1147)][i(562)])+i(901)+this[i(964)])}))[e(539)]((i=>{const r=e;this[r(1077)](O.playFailedAndPaused,O[r(1715)],s,t),this[r(942)](r(622),r(750),i)}))}}[aC(1130)](t){const e=aC;if(this.isDestroyed())return void(this.debug&&this[e(600)](e(622),e(491)));this[e(1077)](O.crashLog,this[e(751)](O[e(1369)],t));const s=this[e(1074)]();if(this[e(1189)]&&this[e(1189)][e(1147)][e(1172)]&&(this[e(1530)]{const n=e;if(this._isNeedNetworkDisconnectReplay())return this.debugLog("JbPro",n(588)),this._isNetworkOfflinePaused=!0,void(this[n(1600)]={url:i,options:r,type:O.loadingTimeout});this[n(1605)](i,r)[n(1255)]((()=>{}))[n(539)]((e=>{const i=n;this[i(1077)](O[i(594)],O[i(1369)],s,t),this[i(942)](i(622),i(1527),e)}))}))[e(539)]((i=>{const r=e;this[r(1077)](O[r(594)],O[r(1369)],s,t),this.debugError(r(622),r(631),i)}))}else{const i=!1===this[e(1147)][e(1142)];this.player[e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O.playFailedAndPaused,O[i(1369)],s,t),this[i(1189)]&&(this[i(1077)](O.loadingTimeoutRetryEnd),this[i(1077)](O[i(594)],O.loadingTimeoutRetryEnd,s,t),this._opt[i(1434)]&&this.player.showPlayBtn()),this[i(600)](i(622),i(1030)+(this[i(1189)]&&this[i(1189)][i(1147)][i(1369)])+i(608)+(this[i(1189)]&&this[i(1189)][i(1147)][i(1172)])+i(1353)+this[i(1530)]+i(1556)+(this.player&&this.player[i(1147)][i(651)]))})).catch((i=>{const r=e;this[r(1077)](O[r(594)],O[r(1369)],s,t),this[r(942)](r(622),"loading timeout and pause error",i)}))}}[aC(1251)](t){const e=aC;if(this[e(1531)]())return void this[e(600)](e(622),"InitDecoderWorkerTimeout but player is destroyed");this[e(1077)](O.crashLog,this.getCrashLog(N[e(1524)],t)),this.debugLog("JbPro",e(1432));const s=this[e(1074)](),i=!1===this[e(1147)].playFailedUseLastFrameShow;this[e(1189)][e(1370)](),this[e(663)](i)[e(1255)]((()=>{const i=e;this[i(1077)](O[i(594)],N[i(1524)],s,t)}))[e(539)]((i=>{const r=e;this.emit(O.playFailedAndPaused,N.initDecoderWorkerTimeout,s,t),this[r(942)](r(622),r(959),i)}))}[aC(785)](){const t=aC;if(this[t(1531)]())return void this[t(600)](t(622),t(735));if(this[t(1189)][t(1147)][t(801)])return this.debugLog(this[t(661)],"play vod ended and replay player"),void this._handlePlayVodEndedAndReplay();this[t(600)](this.TAG_NAME,t(990));const e=!1===this[t(1147)][t(1142)];this._pause(e)[t(1255)]((()=>{const e=t;this[e(600)](e(622),e(1198))}))[t(539)]((e=>{this[t(942)]("JbPro","play vod ended and pause error",e)}))}[aC(1478)](){const t=aC,e=this._opt[t(1040)],s=this[t(1147)][t(1146)];this[t(1713)]()[t(1255)]((()=>{const i=t;this[i(1605)](e,s)[i(1255)]((()=>{const t=i;this.debug[t(1452)](this.TAG_NAME,t(1042))}))[i(539)]((t=>{const e=i;this[e(1077)](O[e(594)],O[e(544)]),this.debug[e(1533)](this[e(661)],e(1090),t)}))}))[t(539)]((()=>{const e=t;this[e(1077)](O[e(594)],O[e(544)]),this[e(942)](this[e(661)],e(1508))}))}[aC(1270)](){const t=aC;this._clearInitDecoderWorkerTimeout(),this.initDecoderWorkerTimeout=setTimeout((()=>{const t=cC;this[t(1251)](N[t(1524)])}),1e3*this[t(1147)].initDecoderWorkerTimeout)}[aC(492)](){const t=aC;this.initDecoderWorkerTimeout&&(clearTimeout(this.initDecoderWorkerTimeout),this[t(1524)]=null)}[aC(600)](t){const e=aC;if(this._opt.debug&&this[e(867)]){for(var s=arguments[e(1234)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r{const s=cC;if(this[s(1531)]())return e(s(1383));this.debugLog(s(622),"resetPlayer()");const i=this[s(558)]();this[s(1713)](i).then((()=>{const e=s;this.debugLog(e(622),e(921)),t()})).catch((t=>{const i=s;this.debugWarn(i(622),i(1502),t[i(1160)](),t),e(t)}))}))}updateDynamicWatermark(t){const e=aC;this.isDestroyed()||(this[e(600)](e(622),e(745),t),this.player?this[e(1189)][e(913)](t):this[e(1243)](e(622),e(861)))}[aC(1347)](){const t=aC;this[t(1531)]()||(this.debugLog(t(622),t(737)),this[t(1189)]?this[t(1189)][t(1347)]():this[t(1243)]("JbPro",t(1427)))}[aC(1245)](t){const e=aC;this[e(1531)]()||(this[e(600)](e(622),"updateGhostWatermark()",t),this.player?this.player[e(1245)](t):this[e(1243)](e(622),e(1043)))}[aC(717)](){const t=aC;this[t(1531)]()||(this[t(600)](t(622),t(561)),this[t(1189)]?this.player[t(717)]():this.debugWarn(t(622),t(1053)))}playVod(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const r=cC,n=$s(),o=Object[r(1242)]({},n.playVodConfig,this[r(1147)][r(1148)],e);this._resetPlayer({videoBuffer:0,playType:u[r(1640)],playVodConfig:o,cryptoKey:e.cryptoKey||"",cryptoIV:e.cryptoIV||"",openWebglAlignment:!0,useMSE:o[r(1012)],useWCS:o[r(675)],useSIMD:o[r(854)],supportHls265:!0})[r(1255)]((()=>{const n=r;this[n(1605)](t,e)[n(1255)]((()=>{s()}))[n(539)]((t=>{i(t)}))}))[r(539)]((t=>{i(t)}))}))}[aC(1102)](){const t=aC;return this[t(867)][t(1452)](t(622),t(1151)),new Promise(((e,s)=>{const i=t;this[i(1189)][i(1102)]=!0,e()}))}[aC(812)](){const t=aC;return this[t(867)][t(1452)](t(622),t(641)),new Promise(((e,s)=>{const i=t;this[i(1189)][i(1102)]=!1,e()}))}[aC(1083)](t){const e=aC;return this[e(600)](e(622),e(583)+t),ii(this._opt[e(1023)])||this._opt[e(1450)]!==u[e(1640)]?Promise[e(1617)](e(1193)):hs(Number(t))?new Promise(((s,i)=>{const r=e;this.player?this[r(1189)][r(1083)](t)[r(1255)]((()=>{s()}))[r(539)]((t=>{i(t)})):i("player is not playing")})):Promise[e(1617)](e(1183)+t+" must be number type")}playVodNormal(){return this[aC(1083)](1)}playVodSeek(t){const e=aC;return this[e(600)]("JbPro",e(1108)+t),ii(this._opt[e(1023)])||this[e(1147)][e(1450)]!==u[e(1640)]?Promise[e(1617)]("playVodSeek() method only just for play vod type"):hs(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1189)]?this[r(1189)][r(1539)](t)[r(1255)]((()=>{s()}))[r(539)]((t=>{i(t)})):i("player is not playing")})):Promise[e(1617)](e(1055)+t+e(1e3))}[aC(1290)](t){const e=aC;return this.debugLog(e(622),"playVodForwardJumping() "+t),ii(this[e(1147)].isLive)||this[e(1147)][e(1450)]!==u[e(1640)]?Promise[e(1617)]("playVodForwardJumping() method only just for play vod type"):hs(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1189)]?this[r(1189)].playVodForwardJumping(t)[r(1255)]((()=>{s()}))[r(539)]((t=>{i(t)})):i(r(1059))})):Promise[e(1617)](e(536)+t+e(1e3))}playVodBackwordJumping(t){const e=aC;return this[e(600)]("JbPro",e(1186)+t),ii(this[e(1147)][e(1023)])||this[e(1147)].playType!==u.playVod?Promise.reject("playVodBackwordJumping() method only just for play vod type"):hs(Number(t))?new Promise(((s,i)=>{const r=e;this[r(1189)]?this[r(1189)][r(1709)](t)[r(1255)]((()=>{s()})).catch((t=>{i(t)})):i(r(1059))})):Promise.reject('playVodBackwordJumping() params "time": '+t+e(1e3))}[aC(1197)](){const t=aC;let e=0;return this[t(1189)]&&(e=this[t(1189)][t(1197)]()),e}getPlayVodCurrentTime(){const t=aC;let e=0;return this[t(1189)]&&(e=this[t(1189)].getPlayVodCurrentTime()),e}[aC(982)](){const t=aC;let e=1;return this[t(1189)]&&(e=this[t(1189)].getPlayVodCurrentRate()),e}}lC[aC(1088)]=N,lC[aC(696)]=U,window.JessibucaPro=lC,window[aC(622)]=lC,window[aC(548)]=lC;Sm('.jb-pro-multi-container .jb-pro-multi-player-container-v2{overflow:hidden;width:100%;height:100%;position:relative;display:grid;grid-template-columns:repeat(var(--split),1fr);grid-template-rows:repeat(var(--split),1fr)}.jb-pro-multi-container .jb-pro-multi-player-container-v2 .jb-pro-multi-player{overflow:hidden;position:relative;width:100%;height:100%}.jb-pro-multi-container .jb-pro-multi-player-container-v2 .jb-pro-multi-player .jb-pro-multi-player-draw-window{position:absolute;z-index:1;width:calc(100% - 2px);height:calc(100% - 2px);color:#fff;transition:all .25s}.jb-pro-multi-container .jb-pro-multi-player-container-v2 .jb-pro-multi-player .jb-pro-multi-player-video-window{position:absolute;left:1px;top:1px;z-index:2;width:calc(100% - 2px);height:calc(100% - 2px)}.jb-pro-multi-container .jb-pro-multi-player[fullscreen="1"]{grid-column-start:1;grid-column-end:9;grid-row-start:1;grid-row-end:9;z-index:1}.jb-pro-multi-container .jb-pro-multi-layout-6 .jb-pro-multi-player[order="0"]{grid-column-start:1;grid-column-end:3;grid-row-start:1;grid-row-end:3}.jb-pro-multi-container .jb-pro-multi-layout-6 .jb-pro-multi-player[fullscreen="1"]{grid-column-start:1;grid-column-end:9;grid-row-start:1;grid-row-end:9;z-index:1}.jb-pro-multi-container .jb-pro-multi-layout-9 .jb-pro-multi-player[order="0"]{grid-column-start:1;grid-column-end:4;grid-row-start:1;grid-row-end:4}.jb-pro-multi-container .jb-pro-multi-layout-9 .jb-pro-multi-player[fullscreen="1"]{grid-column-start:1;grid-column-end:9;grid-row-start:1;grid-row-end:9;z-index:1}');const dC=uC;function uC(t,e){const s=pC();return(uC=function(t,e){return s[t-=316]})(t,e)}function pC(){const t=["--split","7eNmncR","_arrangeSpecialWindow","_findWindowItemIndexByUuid","playerMouseoverDestroy() data-uuid is not exist","isZoomOpen","updateWatermark","jbProMulti","maxWindowSize","setAspectRatio","dragenter",'\n
      ","length","display","updateAiObjectDetectLevel() windowIndex ","openZoom","clearContentToCanvas","clearView","dragleave","pause","setDebug","mute","getPTZCmd","mouseup","play","off","maxSplit","initSingle","600675aouImd","style","querySelectorAll","supportDblclickContainerFullscreen","map"," -> ","objectDetectClose","dblclick","debug","arrangeWindow","narrowZoom","LOG_TAG","getPTZCmd() windowIndex ","windowIndex ","includes","$container","2056944ygbRhS",'">\n ',"_innerArrangeWindow","auto","MULTI_EVENTS","updateDebugLevel() windowIndex ","isFullscreen","multiIndex","click","setFullscreen","nodeName","jb-pro-multi-layout-9","setControlHtml() windowIndex ","keys","showSelectedBorder","sendWebsocketMessage",';\'>
      \n
      \n
      \n ',"playerWidth","type","cancelMute","hideErrorMessageTips","$playerContainerEvents","width","getWindowUuidList","specialLayoutType","log","arrangeWindow() split ","playerMousemoveDestroy() data-uuid is not exist","$player","getFlvMetaData() windowIndex ","_handleFullscreenResize","left","setScaleMode","isContainerFullscreen","getPrevWindowItem","_getCurrentMaxSplit","setVolume() windowIndex ","setMirrorRotate","updateAiObjectDetectInterval","setCryptoKeyUrl() windowIndex ",';\'>\n
      ',"selectWindow","setProperty","getOption","find","hasLoaded","getPlayType","setBufferDelayTime","_getCurrentMaxSplitV2","preventDefault","hideErrorMessageTips() windowIndex ","toUuid","debugLog","getStatus","setNetworkDelayTime","startRecord() windowIndex ","updateWatermark() windowIndex ","isPlaying","clearControlHtml() windowIndex ","Jb-pro-multi container is invalid, must be a DOM Element","dblSelected","screenshotWatermark","setBufferDelayTime() windowIndex ","setControlHtml","removeWatermark() windowIndex ","draggable","stringify","updateAiObjectDetectLevel","isLoading","pause() windowIndex ","emit","playerContainerHeight","findIndex",'" can not be undefined',"4TQcIZm","addContentToCanvas() windowIndex ","' style='order:","_getContainerRect","catch","Jb-pro-multi container has been created and can not be created again","_initWindows$2","objectDetectOpen() windowIndex ","filter","getWindowItem","_opt","toOrderIndex","mouseout","drop",'
      ",'">
      \n
      \n
      \n
      \n ";const s=t(316)+e+t(397);this.$container[t(369)]=s;const i=this.$container.querySelectorAll(t(427));for(let e=0;e{const r=t,n=s[r(584)],o=e(n,r(532),(t=>{const e=r;t.preventDefault();const s=ni(n,"uuid");if(!s)return void this.debugError(this.LOG_TAG,e(435));const i=this._findWindowItemIndexByUuid(s);if(this.emit(It[e(402)],i,t),this.getSelectedWindowUuid()===s){if(this._getWindowItem(s)[e(615)])return}1!==this[e(360)][e(452)]&&this[e(429)](i)})),a=e(n,r(515),(t=>{const e=r;t[e(325)]();const s=ni(n,e(574));if(!s)return void this[e(385)](this[e(519)],e(641));const i=this[e(476)](s);this.emit(It[e(336)],i,t),this[e(360)].supportDblclickContainerFullscreen&&1!==this[e(360)][e(452)]&&this[e(650)](i)})),h=e(n,r(503),(t=>{const e=r,s=ni(n,e(574));if(!s)return void this.debugError(this[e(519)],"playerMouseupDestroy() data-uuid is not exist");const i=this[e(476)](s);this[e(346)](It[e(503)],i,t)})),c=e(n,r(439),(t=>{const e=r,s=ni(n,e(574));if(!s)return void this[e(385)](this[e(519)],e(477));const i=this[e(476)](s);this[e(346)](It[e(439)],i,t)})),l=e(n,r(362),(t=>{const e=r,s=ni(n,"uuid");if(!s)return void this.debugError(this[e(519)],"playerMouseoutDestroy() data-uuid is not exist");const i=this[e(476)](s);this[e(346)](It.mouseout,i,t)})),d=e(n,r(543),(t=>{const e=r,s=ni(n,e(574));if(!s)return void this[e(385)](this[e(519)],"playerMousedownDestroy() data-uuid is not exist");const i=this[e(476)](s);this.emit(It[e(543)],i,t)})),u=e(n,r(387),(t=>{t[r(325)]()})),p=e(n,r(483),(t=>{const e=r,s=ni(n,e(574));if(!s)return void this[e(385)](this.LOG_TAG,e(564));const i=this[e(476)](s);this[e(643)](s),this[e(346)](It.dragenter,i,t,{uuid:s})})),f=e(n,r(498),(t=>{const e=r,s=ni(n,e(574));if(!s)return void this.debugError(this[e(519)],e(551));const i=this[e(476)](s);this[e(643)](s),this.emit(It[e(498)],i,t,{uuid:s})})),m=e(n,r(363),(t=>{const e=r;t.preventDefault();const s=ni(n,e(574));if(!s)return void this[e(385)](this[e(519)],e(637));const i=this._findWindowItemIndexByUuid(s),o={};if(this[e(360)][e(341)]&&this.startDragWindowItem){const t=this[e(468)][e(584)],i=this[e(468)][e(554)],r=this[e(468)][e(574)],a=t[e(509)][e(386)];t[e(509)][e(386)]=n[e(509)][e(386)],t.setAttribute(e(386),t[e(509)][e(386)]),n.style[e(386)]=a,n.setAttribute(e(386),a);const h=this.getWindowItem(s);this[e(328)](this[e(519)],"player Drop "+a+e(513)+t.style[e(386)]),this._sortWindows(),o[e(644)]=r,o[e(327)]=s,o[e(624)]=rs(a),o[e(361)]=rs(t[e(509)][e(386)]),i&&i[e(467)](rs(t[e(509)].order)),h[e(554)]&&h[e(554)][e(467)](rs(a))}this[e(346)](It[e(363)],i,t,o)}));if(s[r(603)]=[o,h,c,l,d,a,u,p,f,m],this._opt[r(341)]){const t=e(n,r(640),(t=>{const e=r,s=ni(n,e(574));if(!s)return void this[e(385)](this[e(519)],e(558));const i=this._findWindowItemIndexByUuid(s);this[e(429)](i),this.startDragWindowItem=this[e(643)](i),this[e(346)](It[e(640)],i,t,{uuid:s})}));s[r(603)][r(445)](t)}if(this[r(360)][r(486)]){const t=e(n,"mousemove",(t=>{const e=r,s=ni(n,e(574));if(!s)return void this.debugError(this[e(519)],e(609));const i=this[e(476)](s);this[e(346)](It[e(367)],i,t)}));s[r(603)][r(445)](t)}}))}[dC(353)](){const t=dC,e=this[t(523)][t(428)]();return{width:parseInt(e.width),height:parseInt(e[t(592)])}}[dC(633)](){const t=dC,e=this[t(353)](),s=e[t(604)],i=e[t(592)],r=this[t(360)][t(452)],n=s%r,o=i%r,a=(s-n-2*r)/r,h=(i-o-2*r)/r,c=(s-n)/r,l=(i-o)/r;let d=this[t(617)]();for(let e=0;e=Math[t(471)](r,2)?o:0),m=c+(e%r==r-1?n:0),g=l+(e+r>=Math[t(471)](r,2)?o:0);i.style[t(604)]=m+"px",i[t(509)][t(592)]=g+"px",i[t(509)][t(493)]=t(648),u[t(509)][t(604)]=p+"px",u[t(509)][t(592)]=f+"px",u[t(509)][t(493)]=t(648),d[t(509)][t(604)]=p+"px",d.style[t(592)]=f+"px",d.style[t(493)]=t(648),s.player&&s[t(554)].resize()}if(this[t(606)]){const e=this[t(472)][0],s=e[t(584)],i=e[t(610)],r=e[t(632)],n=s[t(509)][t(604)][t(594)]("px",""),o=s[t(509)][t(592)].replace("px",""),a=i[t(509)][t(604)].replace("px",""),h=i.style.height[t(594)]("px","");let c,l,u,p;this.specialLayoutType===Tt[t(400)]?(c=2*n,l=2*o,u=2*a+2,p=2*h+2):this.specialLayoutType===Tt[t(579)]&&(c=3*n,l=3*o,u=3*a+4,p=3*h+4),s[t(509)][t(604)]=c+"px",s[t(509)][t(592)]=l+"px",i.style[t(604)]=u+"px",i[t(509)].height=p+"px",r[t(509)][t(604)]=u+"px",r[t(509)][t(592)]=p+"px",e.player&&e[t(554)].resize(),d=this[t(441)]()}for(let e=d;e{const i=t;0===s&&We(e[i(584)],i(493),i(648)),e[i(584)][i(448)](i(406),"0"),e.$playerContainer.style.fullscreen="0",e[i(584)][i(341)]=this[i(360)][i(452)]>1}))}_sortWindows(){const t=dC,e=[];for(let s=0;s1&&(this[e(472)][e(573)]((t=>{const i=e;s[i(632)][i(509)][i(493)]=i(648),t.$playerBorder[i(509)].border=i(443)+this[i(360)][i(509)][i(588)]})),this[e(360)][e(538)]&&(s.$playerBorder[e(509)][e(588)]="1px solid "+this[e(360)].style[e(547)]))):this[e(424)](this.LOG_TAG,e(375)+t+e(384)),1===this._opt.split&&(s[e(632)].style[e(493)]=e(390))}[dC(650)](t,e){const s=dC,i=this[s(643)](t);if(i){if(ms(e)&&e===i[s(615)])return;if(this[s(360)][s(341)]){if(i[s(615)]){if(i[s(584)].setAttribute(s(406),"0"),i[s(584)].style[s(406)]="0",this[s(606)]){We(this[s(472)][0][s(584)],"display","block")}}else if(i[s(584)][s(448)]("fullscreen","1"),i.$playerContainer[s(509)][s(406)]="1",this.specialLayoutType){if(0!==this[s(476)](i[s(574)])){We(this[s(472)][0].$playerContainer,"display",s(390))}}}else if(i[s(615)])i[s(584)][s(509)][s(379)]=s(568),i[s(584)].style[s(613)]=s(527),i[s(584)][s(509)][s(463)]=s(527),i[s(584)].style[s(593)]=s(527),i[s(584)][s(509)][s(604)]=i[s(457)][s(450)],i[s(584)][s(509)].height=i[s(457)][s(347)],i.$player.style[s(604)]=i[s(457)][s(599)],i[s(610)][s(509)][s(592)]=i[s(457)].playerHeight,this[s(414)]()===i[s(574)]&&(i[s(632)].style[s(493)]=s(648));else{const t=this._getContainerRect(),e=t.width,r=t.height;i[s(457)]={playerContainerWidth:i[s(584)].style[s(604)],playerContainerHeight:i[s(584)][s(509)][s(592)],playerWidth:i[s(610)][s(509)][s(604)],playerHeight:i[s(610)][s(509)].height},i[s(584)].style[s(379)]=s(556),i[s(584)].style.top="0",i[s(584)].style.left="0",i.$playerContainer.style.zIndex="10",i.$playerContainer.style[s(604)]=e+"px",i[s(584)].style.height=r+"px",i[s(610)][s(509)][s(604)]=e+"px",i[s(610)][s(509)][s(592)]=r+"px",i[s(632)][s(509)].display=s(390)}i.isContainerFullscreen=!i[s(615)],i[s(554)]&&i[s(554)].resize()}else this[s(424)](this[s(519)],"handleWindowContainerFullscreen() "+t+s(384))}[dC(612)](){const t=dC;let e=arguments[t(492)]>0&&void 0!==arguments[0]?arguments[0]:5,s=this[t(353)](),i=0;this[t(546)]=setInterval((()=>{const r=t,n=re[r(530)],o=this._getContainerRect(),a={width:screen[r(604)],height:screen[r(592)]};this[r(328)](this[r(519)],"isInFullscreen "+n+" , checkRectInterval times : "+i+" nowRect:"+JSON[r(342)](o)+", prevRect:"+JSON[r(342)](s)+" ,window screen rect:"+JSON[r(342)](a));const h=o[r(604)]===s.width&&o.height===s.height,c=!n||a[r(604)]-o[r(604)]<10&&a[r(592)]-o[r(592)]<10;if(h&&c||i>=e)return this.checkRectInterval&&(clearInterval(this[r(546)]),this[r(546)]=null),void this.resize();s=o,i++}),1e3)}[dC(550)](){const t=dC;try{const e=t=>{const e=uC;Ps(t)===this[e(523)]&&(this[e(346)](It.multiFullscreen,re.isFullscreen),re[e(530)]||function(){const t=Fe;return-1!==window.navigator[t(758)][t(489)](t(761))}()?this[e(612)]():this[e(591)]())};re.on(t(485),e),this[t(631)][t(453)][t(445)]((()=>{const s=t;re[s(505)](s(485),e)}))}catch(t){}}[dC(504)](t,e,s){return new Promise(((i,r)=>{const n=uC;(hs(e)||Ds(e))&&(s=e,e={});const o=this[n(643)](s);if(o)if(o[n(554)])o[n(554)][n(504)](t,e)[n(395)]((()=>{i()})).catch((t=>{r(t)}));else{const s=this[n(433)](o);o[n(554)]=s,s[n(504)](t,e)[n(395)]((()=>{i()}))[n(354)]((t=>{r(t)}))}else r("play() windowIndex "+s+n(384))}))}[dC(319)](t){const e=dC,s=this[e(643)](t);return s&&s.player?s[e(554)].getOption():(this[e(424)](this[e(519)],e(410)+t+e(384)),{})}[dC(500)](t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)].setDebug(t):this[s(424)](this[s(519)],s(449)+e+s(384))}[dC(501)](t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)][e(501)]():this.debugWarn(this[e(519)],e(377)+t+e(384))}[dC(601)](t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)][e(601)]():this[e(424)](this[e(519)],"cancelMute() windowIndex "+t+" is not exist")}[dC(636)](t,e){const s=dC,i=this[s(643)](e);i&&i.player?i[s(554)].setVolume(t):this[s(424)](this[s(519)],s(618)+e+s(384))}[dC(382)](t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)].audioResume():this[e(424)](this[e(519)],"audioResume() windowIndex "+t+e(384))}[dC(553)](t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)][s(553)](t):this.debugWarn(this[s(519)],s(415)+e+" is not exist")}[dC(614)](t,e){const s=dC,i=this[s(643)](e);i&&i.player?i[s(554)][s(614)](t):this[s(424)](this[s(519)],"setScaleMode() windowIndex "+e+s(384))}[dC(499)](){const t=dC;let e=arguments[t(492)]>0&&void 0!==arguments[0]&&arguments[0],s=arguments[t(492)]>1?arguments[1]:void 0;return new Promise(((i,r)=>{const n=t,o=this[n(643)](s);o&&o[n(554)]?o[n(554)].pause(e)[n(395)]((()=>{i()}))[n(354)]((t=>{r(t)})):r(n(345)+s+n(384))}))}[dC(578)](t){return new Promise(((e,s)=>{const i=uC,r=this[i(643)](t);r&&r[i(554)]?r[i(554)][i(578)]()[i(395)]((()=>{e()}))[i(354)]((t=>{s(t)})):s(i(645)+t+" is not exist")}))}[dC(497)](t){const e=dC,s=this[e(643)](t);s&&s.player?s.player[e(497)]():this.debugWarn(this.LOG_TAG,"clearView() windowIndex "+t+e(384))}setStreamQuality(t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)].setStreamQuality(t):this[s(424)](this[s(519)],"setStreamQuality() windowIndex "+e+s(384))}[dC(591)](){const t=dC;this._opt.draggable?this[t(416)]():this._updateWindows()}setBufferTime(t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i.player[s(586)](t):this[s(424)](this[s(519)],s(404)+e+s(384))}[dC(323)](t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i.player[s(323)](t):this[s(424)](this.LOG_TAG,s(338)+e+" is not exist")}[dC(638)](t,e){const s=dC,i=this[s(643)](e);i&&i.player?i[s(554)].setRotate(t):this[s(424)](this[s(519)],"setRotate() windowIndex "+e+s(384))}[dC(619)](t,e){const s=dC,i=this._getWindowItem(e);i&&i[s(554)]?i[s(554)][s(619)](t):this[s(424)](this[s(519)],s(376)+e+" is not exist")}[dC(388)](t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i.player.updateIsEmitSEI(t):this[s(424)](this[s(519)],s(391)+e+" is not exist")}getPTZCmd(t,e,s){const i=dC,r=this[i(643)](s);if(!r||!r[i(554)])return this.debugWarn(this.LOG_TAG,i(520)+s+i(384)),null;returnwindowItem.player[i(502)](t,e)}[dC(482)](t,e){const s=dC,i=this._getWindowItem(e);i&&i.player?i.player[s(482)](t):this[s(424)](this[s(519)],"setAspectRatio() windowIndex "+e+" is not exist")}[dC(321)](t){const e=dC,s=this[e(643)](t);return!(!s||!s[e(554)])&&s[e(554)][e(321)]()}[dC(626)](t){const e=dC,s=this[e(643)](t);s&&s.player?s[e(554)].setKeepScreenOn():this[e(424)](this[e(519)],e(571)+t+e(384))}setFullscreen(t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)][s(533)](t):this[s(424)](this[s(519)],"setFullscreen() windowIndex "+e+" is not exist")}[dC(563)](t,e){const s=dC,i=this._getWindowItem(e);return i&&i[s(554)]?i[s(554)][s(563)](t[s(489)],t[s(432)],t[s(590)],t[s(600)]):null}[dC(337)](t,e){const s=dC,i=this._getWindowItem(e);return i&&i[s(554)]?i[s(554)].screenshotWatermark(t):null}[dC(423)](t,e,s){return new Promise(((i,r)=>{const n=uC,o=this[n(643)](s);o&&o[n(554)]?o.player[n(423)](t,e)[n(395)]((()=>{i()})).catch((t=>{r(t)})):(this[n(424)](this[n(519)],n(331)+s+n(384)),r(n(521)+s+n(384)))}))}stopRecordAndSave(t,e,s){return new Promise(((i,r)=>{const n=uC,o=this[n(643)](s);o&&o[n(554)]?o.player[n(408)](t,e)[n(395)]((t=>{i(t)}))[n(354)]((t=>{r(t)})):(this[n(424)](this[n(519)],n(373)+s+n(384)),r(n(521)+s+n(384)))}))}[dC(333)](t){const e=dC,s=this[e(643)](t);return s&&s.player?s[e(554)][e(333)]():(this[e(424)](this.LOG_TAG,e(585)+t+e(384)),!1)}[dC(344)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)].isLoading():(this[e(424)](this[e(519)],e(582)+t+e(384)),!1)}isPaused(t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)][e(370)]():(this[e(424)](this[e(519)],"windowIndex "+t+e(384)),!1)}[dC(434)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)][e(434)]():(this[e(424)](this[e(519)],e(438)+t+e(384)),!1)}[dC(383)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)][e(383)]():(this[e(424)](this[e(519)],"isRecording() windowIndex "+t+e(384)),!1)}[dC(368)](t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s.player[e(368)]():this[e(424)](this.LOG_TAG,e(425)+t+e(384))}setNetworkDelayTime(t,e){const s=dC,i=this[s(643)](e);i&&i.player?i[s(554)][s(330)](t):this[s(424)](this[s(519)],s(372)+e+s(384))}getDecodeType(t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)][e(392)]():(this.debugWarn(this[e(519)],e(430)+t+e(384)),null)}[dC(464)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s.player.getRenderType():(this[e(424)](this[e(519)],e(521)+t+" is not exist"),null)}[dC(455)](t){const e=dC,s=this._getWindowItem(t);return s&&s[e(554)]?s[e(554)][e(455)]():(this[e(424)](this[e(519)],e(521)+t+e(384)),null)}[dC(569)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s.player[e(569)]():(this[e(424)](this[e(519)],e(521)+t+e(384)),null)}[dC(329)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s.player[e(329)]():(this[e(424)](this.LOG_TAG,"getStatus() windowIndex "+t+" is not exist"),null)}[dC(322)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)].getPlayType():(this[e(424)](this[e(519)],e(557)+t+e(384)),null)}togglePerformancePanel(t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)][s(559)](t):this[s(424)](this[s(519)],"togglePerformancePanel() windowIndex "+e+s(384))}[dC(495)](t){const e=dC,s=this._getWindowItem(t);s&&s[e(554)]?s[e(554)][e(495)]():this[e(424)](this[e(519)],e(405)+t+e(384))}[dC(380)](t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)][e(380)]():this[e(424)](this[e(519)],e(366)+t+e(384))}[dC(478)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)].isZoomOpen():(this[e(424)](this[e(519)],"isZoomOpen() windowIndex "+t+e(384)),!1)}expandZoom(t){const e=dC,s=this._getWindowItem(t);s&&s.player?s[e(554)][e(393)]():this[e(424)](this.LOG_TAG,"expandZoom() windowIndex "+t+e(384))}[dC(518)](t){const e=dC,s=this._getWindowItem(t);s&&s.player?s[e(554)][e(518)]():this[e(424)](this[e(519)],"narrowZoom() windowIndex "+t+e(384))}[dC(580)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)][e(580)]():(this[e(424)](this.LOG_TAG,e(575)+t+e(384)),0)}[dC(627)](t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)][s(627)](t):this[s(424)](this[s(519)],"setNakedFlowFps() windowIndex "+e+s(384))}updateDebugLevel(t,e){const s=dC,i=this._getWindowItem(e);i&&i[s(554)]?i.player[s(541)](t):this.debugWarn(this[s(519)],s(529)+e+" is not exist")}[dC(479)](t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)][s(479)](t):this[s(424)](this[s(519)],s(332)+e+" is not exist")}[dC(431)](t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)][e(431)]():this[e(424)](this[e(519)],e(340)+t+e(384))}[dC(545)](t,e){const s=dC,i=this._getWindowItem(e);i&&i[s(554)]?i[s(554)][s(545)](t):this[s(424)](this[s(519)],s(440)+e+" is not exist")}[dC(401)](t){const e=dC,s=this._getWindowItem(t);s&&s.player?s[e(554)].removeFullscreenWatermark():this[e(424)](this.LOG_TAG,e(396)+t+e(384))}[dC(565)](t){const e=dC,s=this[e(643)](t);s&&s.player?s.player[e(565)]():this[e(424)](this[e(519)],e(629)+t+e(384))}faceDetectClose(t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)].faceDetectClose():this.debugWarn(this[e(519)],e(572)+t+" is not exist")}[dC(378)](t){const e=dC,s=this._getWindowItem(t);s&&s[e(554)]?s.player[e(378)]():this.debugWarn(this[e(519)],e(357)+t+e(384))}objectDetectClose(t){const e=dC,s=this[e(643)](t);s&&s[e(554)]?s[e(554)][e(514)]():this[e(424)](this[e(519)],e(566)+t+e(384))}[dC(539)](t,e){const s=dC,i=this._getWindowItem(e);i&&i[s(554)]?i[s(554)][s(539)](t):this[s(424)](this[s(519)],s(581)+e+" is not exist")}[dC(458)](t,e){const s=dC,i=this[s(643)](e);i&&i.player?i[s(554)][s(458)](t):this.debugWarn(this[s(519)],s(351)+e+" is not exist")}[dC(496)](t){const e=dC,s=this[e(643)](t);s&&s.player?s[e(554)].clearContentToCanvas():this[e(424)](this.LOG_TAG,e(412)+t+" is not exist")}setControlHtml(t,e){const s=dC,i=this[s(643)](e);i&&i[s(554)]?i[s(554)][s(339)](t):this[s(424)](this[s(519)],s(536)+e+" is not exist")}clearControlHtml(t){const e=dC,s=this._getWindowItem(t);s&&s[e(554)]?s.player.clearControlHtml():this.debugWarn(this[e(519)],e(334)+t+e(384))}[dC(371)](t){const e=dC,s=this[e(643)](t);return s&&s.player?s[e(554)][e(371)]():(this[e(424)](this.LOG_TAG,e(611)+t+e(384)),null)}[dC(561)](t){const e=dC,s=this[e(643)](t);return s&&s[e(554)]?s[e(554)][e(561)]():(this[e(424)](this[e(519)],"getExtendBtnList() windowIndex "+t+" is not exist"),null)}[dC(426)](t,e){const s=dC,i=this[s(643)](e);if(!i||!i[s(554)])return this[s(424)](this[s(519)],s(419)+e+" is not exist"),null;i[s(554)].updateAiFaceDetectInterval(t)}[dC(407)](t,e){const s=dC,i=this[s(643)](e);if(!i||!i[s(554)])return this[s(424)](this[s(519)],s(562)+e+s(384)),null;i[s(554)][s(407)](t)}updateAiObjectDetectInterval(t,e){const s=dC,i=this[s(643)](e);if(!i||!i[s(554)])return this.debugWarn(this.LOG_TAG,s(555)+e+" is not exist"),null;i.player[s(620)](t)}[dC(343)](t,e){const s=dC,i=this[s(643)](e);if(!i||!i[s(554)])return this[s(424)](this.LOG_TAG,s(494)+e+s(384)),null;i[s(554)][s(343)](t)}[dC(462)](t,e){const s=dC,i=this[s(643)](e);if(!i||!i.player)return this[s(424)](this[s(519)],s(621)+e+s(384)),null;i[s(554)][s(462)](t)}showErrorMessageTips(t,e){const s=dC,i=this[s(643)](e);if(!i||!i[s(554)])return this[s(424)](this[s(519)],s(365)+e+s(384)),null;i[s(554)].showErrorMessageTips(t)}hideErrorMessageTips(t){const e=dC,s=this[e(643)](t);if(!s||!s[e(554)])return this[e(424)](this[e(519)],e(326)+t+e(384)),null;s[e(554)][e(602)]()}destroySingle(t){return new Promise(((e,s)=>{const i=uC,r=this[i(643)](t);r?r[i(554)]&&r[i(554)][i(647)]().then((()=>{r[i(554)]=null,e()}))[i(354)]((t=>{s(t)})):(s(i(634)),this[i(424)](this[i(519)],i(381)+t+i(384)))}))}[dC(507)](t){return new Promise(((e,s)=>{const i=uC,r=this._getWindowItem(t);if(r)if(r.player)r[i(554)][i(647)]()[i(395)]((()=>{const t=i;r.player=null;const s=this[t(433)](r);r[t(554)]=s,e()}))[i(354)]((t=>{s(t)}));else{const t=this[i(433)](r);r[i(554)]=t,e()}else s(i(634)),this[i(424)](this.LOG_TAG,i(381)+t+" is not exist")}))}[dC(466)](t){return new Promise(((e,s)=>{const i=uC;if(this[i(328)](this[i(519)],i(466),t),t)try{re.request(this[i(523)]).then((()=>{e()}))[i(354)]((t=>{const e=i;this[e(385)](this.LOG_TAG,e(389),t),s(t)}))}catch(t){this[i(385)](this[i(519)],i(623),t),s(t)}else try{re.exit().then((()=>{e()}))[i(354)]((t=>{const e=i;this[e(385)](this[e(519)],"fullscreen exit inner error",t),s(t)}))}catch(t){this[i(385)](this[i(519)],"fullscreen exit error",t),s(t)}}))}[dC(454)](t,e){const s=dC;this.debugLog(this.LOG_TAG,s(646),e);const i=this[s(643)](e);this[s(472)][s(573)]((t=>{const e=s;t[e(574)]!==i[e(574)]&&this._handleWindowContainerFullscreen(t.uuid,!1)})),this._handleWindowContainerFullscreen(i[s(574)],t)}[dC(317)](t){const e=dC;this.debugLog(this.LOG_TAG,e(317),t),this[e(429)](t)}[dC(517)](t){const e=dC;this.debugLog(this[e(519)],"arrangeWindow",t),this[e(526)](t)}[dC(526)](t){const e=dC;let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return void this[e(424)](this[e(519)],e(608)+t+e(403));if([Tt[e(400)],Tt[e(579)]][e(522)](t))this._arrangeSpecialWindow(t);else{if(this[e(360)][e(452)]===t&&null===this.specialLayoutType&&ii(s))return void this[e(424)](this[e(519)],"arrangeWindow() split "+t+e(596));this[e(606)]=null,this[e(649)](t)}}[dC(649)](t){const e=dC;(t=rs(t))<1||!hs(t)?this[e(424)](this[e(519)],e(608)+t+e(403)):(t>this._opt.maxSplit&&(t=this[e(360)][e(506)]),this[e(360)][e(452)]=t,this.currentWindowIndex=0,this[e(360)].draggable?this[e(416)]():this[e(633)](),this._handleWindowSelect(this[e(437)]))}[dC(475)](t){const e=dC;this[e(360)][e(506)]<=3&&t===Tt.special2?this[e(424)](this[e(519)],e(411)+t+e(470)+this[e(360)][e(506)]):this._opt.maxSplit<=2&&t===Tt.special1?this[e(424)](this[e(519)],e(411)+t+" is not valid because maxSplit is "+this._opt[e(506)]):this[e(606)]&&this[e(606)]===t?this[e(424)](this[e(519)],e(411)+t+" is not changed"):(this[e(606)]=t,t===Tt[e(400)]?this[e(649)](3):t===Tt[e(579)]?this[e(649)](4):this.debugWarn(this.LOG_TAG,e(411)+t+e(403)))}[dC(456)](){const t=dC;return this.specialLayoutType?this[t(606)]:this[t(360)][t(452)]}_getCurrentMaxSplit(){const t=dC;if(this[t(606)]){let e=0;return this[t(606)]===Tt.special1?e=9:this.specialLayoutType===Tt[t(579)]&&(e=16),e}return this[t(360)][t(452)]*this[t(360)][t(452)]}[dC(324)](){const t=dC;return this.specialLayoutType?this[t(441)]():this._opt[t(452)]*this[t(360)][t(452)]}_getSpecialMaxSplit(){const t=dC;let e=0;return this[t(606)]===Tt.special1?e=6:this[t(606)]===Tt[t(579)]&&(e=8),e}getSelectedWindowIndex(){return this[dC(437)]}[dC(414)](){return this[dC(583)]}[dC(359)](t){const e=dC;let s=this._getWindowItem(t),i=this[e(476)](s[e(574)]),r=null;return s&&(r={index:i,$player:s[e(610)],$playerContainer:s[e(584)],player:s[e(554)],uuid:s[e(574)]}),r}[dC(442)](t){const e=dC;this.debugLog(this[e(519)],e(442),t);let s=null,i=this[e(643)](t);if(i){const t=this._getWindowUuidList()||[],r=t[e(348)]((t=>t===i.uuid));if(rt===i[e(574)]));if(r>0){const i=r-1,n=this[e(374)](t[i]);if(n){s={index:this._findWindowItemIndexByUuid(n[e(574)]),$player:n[e(610)],$playerContainer:n[e(584)],player:n[e(554)],uuid:n[e(574)]}}}}return s}[dC(605)](){return this[dC(488)]()||[]}[dC(460)](t){let e=!1,s=this[dC(643)](t);return s&&s.player&&(e=!0),e}[dC(643)](t){const e=dC;let s=null;const i=Ds(t)&&16===t[e(492)];return s=i||!hs(t)?this._findWindowItemByUuid(i?t:this.currentWindowUuid):this.windowList[t]||this.windowList[this.currentWindowIndex],s}_getWindowUuidList(){const t=dC;return this[t(472)][t(358)](((e,s)=>se[t(574)]))}[dC(576)](t){const e=dC;return t&&t[e(574)]?this[e(476)](t[e(574)]):null}[dC(476)](t){const e=dC;return this[e(472)][e(348)]((e=>e.uuid===t))}[dC(374)](t){const e=dC;return this[e(472)][e(320)]((s=>s[e(574)]===t))}_checkHasCreated(t){if(!t)return!1;return!!ni(t,k)}[dC(328)](t){const e=dC;if(this[e(360)].debug&&this[e(516)]){for(var s=arguments[e(492)],i=new Array(s>1?s-1:0),r=1;r1?s-1:0),r=1;r1?s-1:0),r=1;r1?i-1:0),r=1;r{delete i[t]})),void delete this.e;const s=i[t],r=[];if(s&&e)for(let t=0,i=s.length;t{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}})();function j(){const t=window.navigator.userAgent.toLowerCase();return t&&/iphone|ipad|ipod|ios/.test(t)}const $=()=>(()=>{const t=window.navigator.userAgent;return/MicroMessenger/i.test(t)})()&&function(){const t=window.navigator.userAgent.toLowerCase();return/android/i.test(t)}();function q(t){let e="";if("object"==typeof t)try{e=JSON.stringify(t),e=JSON.parse(e)}catch(i){e=t}else e=t;return e}function J(t){return!0===t||"true"===t}class H{constructor(t){const{fromSampleRate:e,toSampleRate:i,channels:s,inputBufferSize:r}=t;if(!e||!i||!s)throw new Error("Invalid settings specified for the resampler.");this.resampler=null,this.fromSampleRate=e,this.toSampleRate=i,this.channels=s||0,this.inputBufferSize=r,this.initialize()}destroy(){this.resampler=null,this.fromSampleRate=null,this.toSampleRate=null,this.channels=null,this.inputBufferSize=null}initialize(){this.fromSampleRate==this.toSampleRate?(this.resampler=t=>t,this.ratioWeight=1):(this.fromSampleRate{let e,i,s,r,o,n,a,l,h,u=t.length,d=this.channels;if(u%d!=0)throw new Error("Buffer was of incorrect sample length.");if(u<=0)return[];for(e=this.outputBufferSize,i=this.ratioWeight,s=this.lastWeight,r=0,o=0,n=0,a=0,l=this.outputBuffer;s<1;s+=i)for(o=s%1,r=1-o,this.lastWeight=s%1,h=0;h0?h:0)]*r+t[n+(d+h)]*o;s+=i,n=Math.floor(s)*d}for(h=0;h{let e,i,s,r,o,n,a,l,h,u,d,c=t.length,p=this.channels;if(c%p!=0)throw new Error("Buffer was of incorrect sample length.");if(c<=0)return[];for(e=this.outputBufferSize,i=[],s=this.ratioWeight,r=0,n=0,a=0,l=!this.tailExists,this.tailExists=!1,h=this.outputBuffer,u=0,d=0,o=0;o0&&n=a)){for(o=0;o0?o:0)]*r;d+=r,r=0;break}for(o=0;o{e[i]=function(t){let e,i,s;return t>=0?e=213:(e=85,(t=-t-1)<0&&(t=32767)),i=K(t,Z,8),i>=8?127^e:(s=i<<4,s|=i<2?t>>4&15:t>>i+3&15,s^e)}(t)})),e}function X(t){const e=[];return Array.prototype.slice.call(t).forEach(((t,i)=>{e[i]=function(t){let e=0;t<0?(t=V-t,e=127):(t+=V,e=255);let i=K(t,Z,8);return i>=8?127^e:(i<<4|t>>i+3&15)^e}(t)})),e}function Y(t){const e=[];return t.forEach((t=>{e[t]=function(t){let e=((15&(t=~t))<<3)+V;return e<<=(112&t)>>4,128&t?V-e:e-V}(t)})),e}class tt{constructor(t){this.log=function(i){if(t._opt.debugLevel==e){const e=t._opt.debugUuid?`[${t._opt.debugUuid}]`:"";for(var s=arguments.length,r=new Array(s>1?s-1:0),o=1;o1?r-1:0),n=1;n1?s-1:0),o=1;o3&&void 0!==arguments[3]?arguments[3]:{};if(!t)return;if(Array.isArray(e))return e.map((e=>this.proxy(t,e,i,s)));t.addEventListener(e,i,s);const r=()=>{"function"==typeof t.removeEventListener&&t.removeEventListener(e,i,s)};return this.destroys.push(r),r}destroy(){this.master.debugLog("Events","destroy"),this.destroys.forEach((t=>t())),this.destroys=[]}}class it{constructor(t){this.TAG_NAME="AudioTalkLoader",this.player=t,this.audioContext=this._createAudioContext(),this.engineType=this._getAutoAudioEngineType(),this.audioBufferSize=this._getAudioBufferSizeByType(),this.audioChannel=this._getAudioChannel(),this.stashBuffer=new Float32Array(0),this.bufferList=[],this.$audio=null,this.gainNode=this.audioContext.createGain(),this.scriptNode=null,this.mediaStreamAudioDestinationNode=null,this.scriptStartTime=0,this.scriptNodeInterval=null,j()&&(this.mediaStreamAudioDestinationNode=this.audioContext.createMediaStreamDestination()),this._initScriptNode(),this.player.debugLog(this.TAG_NAME,"init")}async destroy(){this.scriptNodeInterval&&(clearInterval(this.scriptNodeInterval),this.scriptNodeInterval=null),this.audioContext&&(await this.audioContext.close(),this.audioContext=null),this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),this.scriptNode&&(this.scriptNode.disconnect(),this.scriptNode.onaudioprocess=I,this.scriptNode=null),this.mediaStreamAudioDestinationNode&&(this.mediaStreamAudioDestinationNode.disconnect(),this.mediaStreamAudioDestinationNode=null),this.player.debugLog(this.TAG_NAME,"destroy")}get oneBufferDuration(){return this.audioBufferSize/this.audioContext.sampleRate*1e3}_createAudioContext(){let t=48e3;return(this.player._opt.isG711a||this.player._opt.isG711u)&&(t=8e3),new(window.AudioContext||window.webkitAudioContext)({sampleRate:t})}_getAudioChannel(){let t=1;return(this.player._opt.isG711a||this.player._opt.isG711u)&&(t=1),t}_getAutoAudioEngineType(){let t=D;return(()=>{t=$()?P:(j()&&this.player._opt.supportLockScreenPlayAudio||"https:"!==window.location.protocol&&"localhost"!==window.location.hostname||this._supportAudioWorklet(),D)})(),t}_getAudioBufferSizeByType(){return this.engineType===x?1024:this.engineType===P?4800:(this.engineType,1024)}_supportAudioWorklet(){return this.audioContext&&this.audioContext.audioWorklet&&"function"==typeof this.audioContext.audioWorklet.addModule}_initScriptNode(){this.engineType===x?this._initWorkletScriptNode():this.engineType===P?this._initIntervalScriptNode():this.engineType===D&&this._initProcessScriptNode()}_initWorkletScriptNode(){this.player.debugLog(this.TAG_NAME,"_initWorkletScriptNode()")}_initIntervalScriptNode(){this.scriptStartTime=0;const t=1e3*this.audioBufferSize/this.audioContext.sampleRate;this.player.debugLog(this.TAG_NAME,`_initIntervalScriptNode() and interval time is ${t}`),this.scriptNodeInterval=setInterval((()=>{if(0===this.bufferList.length||this.isMute())return;const t=this.audioContext.createBufferSource(),e=this.audioContext.createBuffer(this.audioChannel,this.audioBufferSize,this.audioContext.sampleRate);this._handleScriptNodeCallback(e,(()=>{this.scriptStartTime{const e=t.outputBuffer;this._handleScriptNodeCallback(e)},t.connect(this.gainNode),this.scriptNode=t,this.gainNode.connect(this.mediaStreamAudioDestinationNode),this.$audio?this.$audio.srcObject=this.mediaStreamAudioDestinationNode.stream:this.gainNode.connect(this.audioContext.destination)}_handleScriptNodeCallback(t,e){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e=e||I,t.length,s&&(i=t,this.audioBufferSize);const r=this.audioChannel;let o=this.bufferList.shift();o&&o.size>0?s?i.port.postMessage({message:"data",buffer:o}):this._fillScriptNodeOutputBuffer(t,r,o):(s?i.port.postMessage({message:"zero"}):this._fillScriptNodeOutputBuffer(t,r),e())}_fillScriptNodeOutputBuffer(t,e,i){if(1===e){const e=t.getChannelData(0);i?0===i.size?e.fill(0):e.set(i.left):e.fill(0)}else if(2===e){const e=t.getChannelData(0),s=t.getChannelData(1);i?0===i.size?(e.fill(0),s.fill(0)):(e.set(i.left),s.set(i.right)):(e.fill(0),s.fill(0))}}isMute(){return 0===this.gainNode.gain.value}_isMoreThanMinBufferDuration(){return this.getBufferListDuration()>=100}getBufferListDuration(){return this.bufferList.length*this.oneBufferDuration}play(t){let e=t;this.player._opt.isG711a?e=function(t){const e=[];return t.forEach((t=>{e[t]=function(t){let e,i;switch(e=(15&(t^=85))<<4,i=(112&t)>>4,i){case 0:e+=8;break;case 1:e+=264;break;default:e+=264,e<<=i-1}return 0!=(128&t)?e:-e}(t)})),e}(t):this.player._opt.isG711u&&(e=Y(t));const i=new Float32Array(e.length+this.stashBuffer.length);for(i.set(this.stashBuffer,0),i.set(e,this.stashBuffer.length),this.stashBuffer=i;this.stashBuffer.length>this.audioBufferSize;){const t=this.stashBuffer.subarray(0,this.audioBufferSize);this.bufferList.push({size:t.length,left:t,right:null}),this.stashBuffer=this.stashBuffer.subarray(this.audioBufferSize)}}}class st extends t{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this._opt={},t&&(this.player=t),this.TAG_NAME="talk";const i=q(O);this._opt=Object.assign({},i,e),this.player||(this.debug=new tt(this)),this.log(this.TAG_NAME,"init and version is",'"9-13-2024"'),this._opt.sampleRate=parseInt(this._opt.sampleRate,10),this._opt.sampleBitsWidth=parseInt(this._opt.sampleBitsWidth,10),this._opt.encType!==T&&this._opt.encType!==k||8e3===this._opt.sampleRate&&16===this._opt.sampleBitsWidth||(this.warn(this.TAG_NAME,`\n encType is ${this._opt.encType} and sampleRate is ${this._opt.sampleRate}, and sampleBitsWidth is ${this._opt.sampleBitsWidth}。\n ${this._opt.encType} only support sampleRate 8000 and sampleBitsWidth 16`),this._opt.sampleRate=8e3,this._opt.sampleBitsWidth=16),this._opt.packetType===M&&this._opt.encType===y&&(this.warn(this.TAG_NAME,`packetType is ${this._opt.packetType} and encType is ${this._opt.encType}, rtp only support g711a or g711u or opus so set packetType to empty`),this._opt.packetType=v),this._opt.packetType,this._opt.encType,this.audioContext=null,this.gainNode=null,this.recorder=null,this.workletRecorder=null,this.biquadFilter=null,this.userMediaStream=null,this.clearWorkletUrlTimeout=null,this.bufferSize=512,this._opt.audioBufferLength=this.calcAudioBufferLength(),this.audioBufferList=[],this.opusEncoder=null,this.opusDecoder=null,this.resampler=null,this._opt.encType,this.socket=null,this.socketStatus=g,this.mediaStreamSource=null,this.heartInterval=null,this.checkGetUserMediaTimeout=null,this.wsUrl=null,this.startTimestamp=0,this.sequenceId=0,this.tempTimestamp=null,this._destroyed=!1,this.tempG711BufferList=new Uint8Array(0),this.tempRtpBufferList=new Uint8Array(0),this.tempJttBufferList=new Uint8Array(0),this.tempPcmBufferList=new Uint8Array(0),this.tempOpusBufferList=new Uint8Array(0),this.events=new et(this),this.audioPlayer=null,this._initTalk();try{this.log(this.TAG_NAME,"init",JSON.stringify(this._opt))}catch(t){this.log(this.TAG_NAME,"init",this._opt)}}destroy(){this._destroyed=!0,this.clearWorkletUrlTimeout&&(clearTimeout(this.clearWorkletUrlTimeout),this.clearWorkletUrlTimeout=null),this.userMediaStream&&(this.userMediaStream.getTracks&&this.userMediaStream.getTracks().forEach((t=>{t.stop()})),this.userMediaStream=null),this.mediaStreamSource&&(this.mediaStreamSource.disconnect(),this.mediaStreamSource=null),this.recorder&&(this.recorder.disconnect(),this.recorder.onaudioprocess=null,this.recorder=null),this.biquadFilter&&(this.biquadFilter.disconnect(),this.biquadFilter=null),this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),this.workletRecorder&&(this.workletRecorder.disconnect(),this.workletRecorder=null),this.opusEncoder&&(this.opusEncoder.destroy(),this.opusEncoder=null),this.opusDecoder&&(this.opusDecoder.destroy(),this.opusDecoder=null),this.resampler&&(this.resampler.destroy(),this.resampler=null),this.socket&&(this.socketStatus===w&&this._sendClose(),this.socket.close(),this.socket=null),this.audioPlayer&&(this.audioPlayer.destroy(),this.audioPlayer=null),this._stopHeartInterval(),this._stopCheckGetUserMediaTimeout(),this.audioContext=null,this.gainNode=null,this.recorder=null,this.audioBufferList=[],this.sequenceId=0,this.wsUrl=null,this.tempTimestamp=null,this.tempRtpBufferList=null,this.tempG711BufferList=null,this.tempPcmBufferList=null,this.tempOpusBufferList=null,this.startTimestamp=0,this.log(this.TAG_NAME,"destroy")}isDestroyed(){return this._destroyed}addRtpToBuffer(t){const e=t.length+this.tempRtpBufferList.length,i=new Uint8Array(e);i.set(this.tempRtpBufferList,0),i.set(t,this.tempRtpBufferList.length),this.tempRtpBufferList=i}addG711ToBuffer(t){const e=t.length+this.tempG711BufferList.length,i=new Uint8Array(e);i.set(this.tempG711BufferList,0),i.set(t,this.tempG711BufferList.length),this.tempG711BufferList=i}addPcmToBuffer(t){const e=t.length+this.tempPcmBufferList.length,i=new Uint8Array(e);i.set(this.tempPcmBufferList,0),i.set(t,this.tempPcmBufferList.length),this.tempPcmBufferList=i}addJttToBuffer(t){const e=t.length+this.tempJttBufferList.length,i=new Uint8Array(e);i.set(this.tempJttBufferList,0),i.set(t,this.tempJttBufferList.length),this.tempJttBufferList=i}addOpusToBuffer_1(t){this.opusDecoder||(this.opusDecoder=new OpusDecoder(this._opt.sampleRate,this._opt.numberChannels));const e=this.opusDecoder.decode(t),i=new Uint8Array(e.buffer);this.addPcmToBuffer(i)}addOpusToBuffer(t){const e=this.tempOpusBufferList.length+1+t.length,i=new Uint8Array(e);i.set(this.tempOpusBufferList,0),i.set([t.length],this.tempOpusBufferList.length),i.set(t,this.tempOpusBufferList.length+1),this.tempOpusBufferList=i}downloadRtpFile(){this.debugLog(this.TAG_NAME,"downloadRtpFile");const t=new Blob([this.tempRtpBufferList]);try{const e=document.createElement("a");e.href=window.URL.createObjectURL(t),e.download=Date.now()+".rtp",e.click(),this.tempRtpBufferList=new Uint8Array(0),window.URL.revokeObjectURL(e.href)}catch(t){console.error("downloadRtpFile",t)}}downloadG711File(){this.debugLog(this.TAG_NAME,"downloadG711File");const t=new Blob([this.tempG711BufferList]);try{const e=document.createElement("a");e.href=window.URL.createObjectURL(t),e.download=Date.now()+"."+this._opt.encType,e.click(),this.tempG711BufferList=new Uint8Array(0),window.URL.revokeObjectURL(e.href)}catch(t){console.error("downloadG711File",t)}}downloadOpusFile_1(){this.debugLog(this.TAG_NAME,"downloadOpusFile"),this.downloadPcmFile()}downloadOpusFile(){this.debugLog(this.TAG_NAME,"downloadOpusFile");const t=function(t,e,i){const s=new Uint8Array([79,103,103,83,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r=new Uint8Array([79,112,117,115,72,101,97,100,1,0,0,0,0,0,0,0,0,0,0,0,255&e,e>>8&255,e>>16&255,e>>24&255,255&i,i>>8&255,0,0,0,0]),o=new Uint8Array(s.length+r.length+t.length);return o.set(s),o.set(r,s.length),o.set(t,s.length+r.length),o}(this.tempOpusBufferList,this._opt.sampleRate,this._opt.numberChannels),e=new Blob([t],{type:"audio/ogg"});try{const t=document.createElement("a");t.href=window.URL.createObjectURL(e),t.download=Date.now()+".ogg",t.click(),this.tempOpusBufferList=new Uint8Array(0),window.URL.revokeObjectURL(t.href)}catch(t){console.error("downloadOpusFile",t)}}downloadPcmFile(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.debugLog(this.TAG_NAME,"downloadPcmFile",this._opt.sampleRate,this._opt.numberChannels,this._opt.sampleBitsWidth);let e=new DataView(this.tempPcmBufferList.buffer),i=null,s="";t?(e=function(t,e,i,s){var r=function(t,e,i){for(var s=0;s1?e-1:0),s=1;s{const s=this.events.proxy;this.socket=new WebSocket(this.wsUrl,t.protocols||[]),this.socket.binaryType="arraybuffer",this.emit(a),s(this.socket,G,(()=>{this.socketStatus=w,this.log(this.TAG_NAME,"websocket open -> do talk"),this.emit(l),e(),this._doTalk()})),s(this.socket,W,(t=>{"string"!=typeof t.data?this._handleMessage(t.data):this.debugWarn(this.TAG_NAME,`websocket handle message message is "${t.data}" string so return`)})),s(this.socket,N,(t=>{this.socketStatus=_,this.warn(this.TAG_NAME,"websocket close -> reject",t),this.emitError(h),i(t)})),s(this.socket,C,(t=>{this.socketStatus=b,this.error(this.TAG_NAME,"websocket error -> reject",t),this.emitError(u,t),i(t)}))}))}_sendClose(){}_initTalk(){this._initMethods(),this._opt.engine===R?this._initWorklet():this._opt.engine===F&&this._initScriptProcessor(),this.log(this.TAG_NAME,"audioContext samplerate",this.audioContext.sampleRate)}_initMethods(){this.audioContext=new(window.AudioContext||window.webkitAudioContext)({sampleRate:48e3}),this.gainNode=this.audioContext.createGain(),this.gainNode.gain.value=1,this.biquadFilter=this.audioContext.createBiquadFilter(),this.biquadFilter.type="lowpass",this.biquadFilter.frequency.value=3e3,this.resampler=new H({fromSampleRate:this.audioContext.sampleRate,toSampleRate:this._opt.sampleRate,channels:this._opt.numberChannels,inputBufferSize:this.bufferSize})}_initScriptProcessor(){const t=this.audioContext.createScriptProcessor||this.audioContext.createJavaScriptNode;this.recorder=t.apply(this.audioContext,[this.bufferSize,this._opt.numberChannels,this._opt.numberChannels]),this.recorder.onaudioprocess=t=>this._onaudioprocess(t)}_initWorklet(){const t=function(t){const e=t.toString().trim().match(/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1],i=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(i)}((function(){class t extends AudioWorkletProcessor{constructor(t){super(),this._cursor=0,this._bufferSize=t.processorOptions.bufferSize,this._buffer=new Float32Array(this._bufferSize)}process(t,e,i){if(!t.length||!t[0].length)return!0;for(let e=0;e{const t=new AudioWorkletNode(this.audioContext,"talk-processor",{processorOptions:{bufferSize:this.bufferSize}});t.connect(this.gainNode),t.port.onmessage=t=>{"data"===t.data.eventType&&this._encodeAudioData(t.data.buffer)},this.workletRecorder=t})),this.clearWorkletUrlTimeout=setTimeout((()=>{URL.revokeObjectURL(t),this.clearWorkletUrlTimeout=null}),1e4)}_onaudioprocess(t){const e=t.inputBuffer.getChannelData(0);this._encodeAudioData(new Float32Array(e))}_encodeAudioData(t){if(this.isDestroyed())return;if(0===t[0]&&0===t[1])return void this.log(this.TAG_NAME,"empty audio data");const e=this.resampler.resample(t);if(this._opt.encType===A);else{let t=e;16===this._opt.sampleBitsWidth?t=function(t){let e=t.length,i=new Int16Array(e);for(;e--;){let s=Math.max(-1,Math.min(1,t[e]));i[e]=s<0?32768*s:32767*s}return i}(e):8===this._opt.sampleBitsWidth?t=function(t){let e=t.length,i=new Int8Array(e);for(;e--;){let s=Math.max(-1,Math.min(1,t[e]));const r=s<0?32768*s:32767*s;i[e]=parseInt(255/(65535/(32768+r)),10)}return i}(e):32===this._opt.sampleBitsWidth&&(t=function(t){let e=t.length,i=new Int32Array(e);for(;e--;){let s=Math.max(-1,Math.min(1,t[e]));i[e]=s<0?2147483648*s:2147483647*s}return i}(e));let i=null;this._opt.encType===T?i=Q(t):this._opt.encType===k?i=X(t):this._opt.encType===y&&(i=t.buffer);const s=new Uint8Array(i);for(let t=0;t>8,e[a++]=255&t>>0}e[a++]=128,e[a++]=128+i,e[a++]=s/256,e[a++]=s%256,e[a++]=r/65536/256,e[a++]=r/65536%256,e[a++]=r%65536/256,e[a++]=r%65536%256,e[a++]=o/65536/256,e[a++]=o/65536%256,e[a++]=o%65536/256,e[a++]=o%65536%256;let l=e.concat([...t]),h=new Uint8Array(l.length);for(let t=0;t>56,e[17]=255&a>>48,e[18]=255&a>>40,e[19]=255&a>>32,e[20]=255&a>>24,e[21]=255&a>>16,e[22]=255&a>>8,e[23]=255&a>>0,e[24]=l/256,e[25]=l%256;let u=e.concat([...t]),d=new Uint8Array(u.length);for(let t=0;t{this.log(this.TAG_NAME,"getUserMedia success"),this.userMediaStream=t,this.mediaStreamSource=this.audioContext.createMediaStreamSource(t),this.mediaStreamSource.connect(this.biquadFilter),this.recorder?(this.biquadFilter.connect(this.recorder),this.recorder.connect(this.gainNode)):this.workletRecorder&&(this.biquadFilter.connect(this.workletRecorder),this.workletRecorder.connect(this.gainNode)),this.gainNode.connect(this.audioContext.destination),this.emit(r),null===t.oninactive&&(t.oninactive=t=>{this._handleStreamInactive(t)})})).catch((t=>{this.error(this.TAG_NAME,"getUserMedia error",t.toString()),this.emit(o,t.toString())})).finally((()=>{this.log(this.TAG_NAME,"getUserMedia finally"),this._stopCheckGetUserMediaTimeout()}))}_getUserMedia2(){this.log(this.TAG_NAME,"getUserMedia"),navigator.mediaDevices?navigator.mediaDevices.getUserMedia({audio:!0}).then((t=>{this.log(this.TAG_NAME,"getUserMedia2 success")})):navigator.getUserMedia({audio:!0},this.log(this.TAG_NAME,"getUserMedia2 success"),this.log(this.TAG_NAME,"getUserMedia2 fail"))}async _getUserMedia3(){this.log(this.TAG_NAME,"getUserMedia3");try{const t=await navigator.mediaDevices.getUserMedia({audio:{latency:!0,noiseSuppression:!0,autoGainControl:!0,echoCancellation:!0,sampleRate:48e3,channelCount:1},video:!1});console.log("getUserMedia() got stream:",t),this.log(this.TAG_NAME,"getUserMedia3 success")}catch(t){this.log(this.TAG_NAME,"getUserMedia3 fail")}}_handleStreamInactive(t){this.userMediaStream&&(this.warn(this.TAG_NAME,"stream oninactive",t),this.emit(d))}_startCheckGetUserMediaTimeout(){this._stopCheckGetUserMediaTimeout(),this.checkGetUserMediaTimeout=setTimeout((()=>{this.log(this.TAG_NAME,"check getUserMedia timeout"),this.emit(n)}),this._opt.getUserMediaTimeout)}_stopCheckGetUserMediaTimeout(){this.checkGetUserMediaTimeout&&(this.log(this.TAG_NAME,"stop checkGetUserMediaTimeout"),clearTimeout(this.checkGetUserMediaTimeout),this.checkGetUserMediaTimeout=null)}_startHeartInterval(){this.heartInterval=setInterval((()=>{this.log(this.TAG_NAME,"heart interval");let t=this._opt.websocketHeartContent;t=new Uint8Array(t),this.socket.send(t.buffer)}),1e3*this._opt.websocketHeartInterval)}_stopHeartInterval(){this.heartInterval&&(this.log(this.TAG_NAME,"stop heart interval"),clearInterval(this.heartInterval),this.heartInterval=null)}startTalk(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((i,s)=>{if(!function(){let t=!1;const e=window.navigator;return e&&(t=!(!e.mediaDevices||!e.mediaDevices.getUserMedia),t||(t=!!(e.getUserMedia||e.webkitGetUserMedia||e.mozGetUserMedia||e.msGetUserMedia))),t}())return s("not support getUserMedia");if(this._opt.packetType===L){if(!this._opt.jttSimNumber||12!==(""+this._opt.jttSimNumber).length)return s("jttSimNumber is null or length is not 12");if(!this._opt.jttChannelNumber||2!==(""+this._opt.jttChannelNumber).length)return s("jttChannelNumber is null or length is not 2")}if(this.wsUrl=t,this._opt.testMicrophone)this._doTalk();else{if(!this.wsUrl)return s("wsUrl is null");this._createWebSocket(e).catch((t=>{s(t)}))}this.once(o,(()=>{s("getUserMedia fail")})),this.once(r,(()=>{i()}))}))}setVolume(t){var e,i,s;(t=parseFloat(t).toFixed(2),isNaN(t))||(e=t,i=0,s=1,t=Math.max(Math.min(e,Math.max(i,s)),Math.min(i,s)),this.gainNode.gain.value=t)}getOption(){return this._opt}get volume(){return this.gainNode?parseFloat(100*this.gainNode.gain.value).toFixed(0):null}debugLog(t){if(this._opt.debug&&this.debug){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s1?e-1:0),s=1;s1?e-1:0),s=1;s1&&void 0!==arguments[1]?arguments[1]:"";this.emit(s,t,e),this.emit(t,e)}}class rt extends t{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.talk=null,this._opt=t,this.LOG_TAG="JbProTalk",this.debug=new tt(this);try{this.debugLog(this.LOG_TAG,"init",JSON.stringify(t))}catch(e){this.debugLog(this.LOG_TAG,"init",t)}}destroy(){this.debugLog(this.LOG_TAG,"destroy()"),this.off(),this.talk&&(this.talk.destroy(),this.talk=null),this.debugLog(this.LOG_TAG,"destroy")}_initTalk(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.talk&&(this.debugLog(this.LOG_TAG,"_initTalk this.talk is not null and destroy"),this.talk.destroy(),this.talk=null);const e=Object.assign({},q(this._opt),t);this._opt=e,this.talk=new st(null,e),this.debugLog(this.LOG_TAG,"_initTalk",this.talk.getOption()),this._bindTalkEvents()}_bindTalkEvents(){Object.keys(f).forEach((t=>{this.talk.on(f[t],(e=>{this.emit(t,e)}))}))}startTalk(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((s,r)=>{try{this.debugLog(this.LOG_TAG,"startTalk",t,JSON.stringify(e))}catch(i){this.debugLog(this.LOG_TAG,"startTalk",t,e)}this._initTalk(e),this.talk.startTalk(t,i).then((()=>{s(),this.talk.once(h,this._handleTalkStreamClose.bind(this)),this.talk.once(u,this._handleTalkStreamError.bind(this)),this.talk.once(d,this._handleTalkStreamInactive.bind(this)),this.talk.once(n,this._handleTalkGetUserMediaTimeout.bind(this)),this.talk.once(m.tallWebsocketClosedByError,this._handleTalkWebsocketClosedByError.bind(this))})).catch((t=>{r(t)}))}))}stopTalk(){return new Promise(((t,e)=>{this.debugLog(this.LOG_TAG,"stopTalk()"),this.talk||e("talk is not init"),this.talk.destroy(),this.talk=null,t()}))}getTalkVolume(){return new Promise(((t,e)=>{this.talk||e("talk is not init"),t(this.talk.volume)}))}setTalkVolume(t){return new Promise(((e,i)=>{this.debugLog(this.LOG_TAG,"setTalkVolume",t),this.talk||i("talk is not init"),this.talk.setVolume(t/100),e()}))}downloadTempRtpFile(){return new Promise(((t,e)=>{this.talk?(this.talk.downloadRtpFile(),t()):e("talk is not init")}))}downloadTempG711File(){return new Promise(((t,e)=>{this.talk?(this.talk.downloadG711File(),t()):e("talk is not init")}))}downloadTempPcmFile(t){return new Promise(((e,i)=>{this.talk?(this.talk.downloadPcmFile(t),e()):i("talk is not init")}))}downloadTempOpusFile(){return new Promise(((t,e)=>{this.talk?(this.talk.downloadOpusFile(),t()):e("talk is not init")}))}downloadTempFile(){return new Promise(((t,e)=>{this.talk?(this.talk.downloadFile(),t()):e("talk is not init")}))}debugLog(t){if(this._opt.debug&&this.debug){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s1?e-1:0),s=1;s1?e-1:0),s=1;s stopTalk"),this.stopTalk().catch((t=>{this.debugWarn(this.LOG_TAG,"talkStreamClose stopTalk",t)})).finally((()=>{this.emit(p,h)}))}_handleTalkStreamError(){this.debugError(this.LOG_TAG,"talkStreamError -> stopTalk"),this.stopTalk().catch((t=>{this.debugWarn(this.LOG_TAG,"talkStreamError stopTalk",t)})).finally((()=>{this.emit(p,u)}))}_handleTalkStreamInactive(){this.debugWarn(this.LOG_TAG,"talkStreamInactive -> stopTalk"),this.stopTalk().catch((t=>{this.debugWarn(this.LOG_TAG,"talkStreamInactive stopTalk",t)})).finally((()=>{this.emit(p,d)}))}_handleTalkGetUserMediaTimeout(){this.debugWarn(this.LOG_TAG,"talkGetUserMediaTimeout -> stopTalk"),this.stopTalk().catch((t=>{this.debugWarn(this.LOG_TAG,"talkGetUserMediaTimeout stopTalk",t)})).finally((()=>{this.emit(p,n)}))}_handleTalkWebsocketClosedByError(){this.debugWarn(this.LOG_TAG,"talkWebsocketClosedByError -> stopTalk"),this.stopTalk().catch((t=>{this.debugWarn(this.LOG_TAG,"talkWebsocketClosedByError stopTalk",t)})).finally((()=>{this.emit(p,m.tallWebsocketClosedByError)}))}}return rt.EVENTS=f,window.JessibucaProTalk=rt,window.JbProTalk=rt,window.WebPlayerProTalk=rt,rt})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self)["jessibuca-talk"]=e()}(this,(function(){"use strict";const t=r;!function(t,e){const s=r,i=t();for(;;)try{if(599906===parseInt(s(495))/1*(-parseInt(s(505))/2)+parseInt(s(511))/3*(parseInt(s(508))/4)+-parseInt(s(503))/5+-parseInt(s(499))/6+parseInt(s(500))/7+parseInt(s(496))/8*(-parseInt(s(506))/9)+parseInt(s(497))/10)break;i.push(i.shift())}catch(t){i.push(i.shift())}}(s);class e{on(t,e,s){const i=r,o=this.e||(this.e={});return(o[t]||(o[t]=[]))[i(504)]({fn:e,ctx:s}),this}[t(509)](t,e,s){const i=this;function o(){const n=r;i[n(501)](t,o);for(var a=arguments[n(507)],c=new Array(a),l=0;l1?i-1:0),n=1;n{delete i[t]})),void delete this.e;const o=i[e],n=[];if(o&&r)for(let t=0,e=o[s(507)];t32&&console[e(207)](e(212)),t<=this[e(216)]){let r=this[e(231)]>>>32-t;return this[e(231)]<<=t,this[e(216)]-=t,r}let r=this._current_word_bits_left?this[e(231)]:0;r>>>=32-this[e(216)];let s=t-this[e(216)];this[e(233)]();let i=Math.min(s,this[e(216)]),o=this[e(231)]>>>32-i;return this[e(231)]<<=i,this[e(216)]-=i,r=r<>>e))return this[t(231)]<<=e,this[t(216)]-=e,e;return this[t(233)](),e+this._skipLeadingZero()}[x(222)](){const t=x;let e=this[t(210)]();return this[t(219)](e+1)-1}readSEG(){let t=this[x(222)]();return 1&t?t+1>>>1:-1*(t>>>1)}}const R=G;!function(t,e){const r=G,s=t();for(;;)try{if(192138===-parseInt(r(430))/1*(-parseInt(r(439))/2)+-parseInt(r(429))/3+-parseInt(r(446))/4+parseInt(r(384))/5+parseInt(r(438))/6*(parseInt(r(436))/7)+parseInt(r(403))/8+parseInt(r(426))/9*(parseInt(r(424))/10))break;s.push(s.shift())}catch(t){s.push(s.shift())}}(P);const O=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,-1,-1,-1];function P(){const t=["data","readBits","current_syncword_offset_","read","audio_object_type","toLowerCase","other_data_present","Could not found ADTS syncword until payload end","channel_config","481920uhFOSK","channel: ","log","byteLength","android","chan_config","mp4a.40.","look","more than 2 numProgram Not Supported","hasIncompleteData","subarray","readNextAACFrame","buffer","navigator","data_","sampling_freq_index","bufoff","channels","length","sbr","iserro","385930pUAULe","ext_object_type","27kpFoBW","sampleRate: ","findNextSyncwordOffset","295035YPJrvt","15391crXlOR","error","firefox","audioMuxVersionA is Not Supported","sample_rate","destroy","54502tFnoYO","readByte","102bcHxYZ","10YgzzzL","bufpos","has_last_incomplete_data","indexOf","warn","StreamMuxConfig Missing","AAC","383892aGCeqK","sampling_index","mp4a.40.2","object_type","push","frameLengthType = ","getIncompleteData","profile: ","Flv: AAC invalid channel configuration","read_golomb","5600XlcLMX","more than 2 numSubFrames Not Supported","sampling_frequency","getLATMValue","readBool","eof_flag_","slice","allStreamsSameTimeFraming zero is Not Supported","set","aacEncoderConfigurationRecord"];return(P=function(){return t})()}R(410),R(383);function G(t,e){const r=P();return(G=function(t,e){return r[t-=380]})(t,e)}R(428),R(414),R(412),R(380);R(428),R(387),R(414),R(412);function N(t,e){const r=V();return(N=function(t,e){return r[t-=372]})(t,e)}function V(){const t=["2aANAOd","push","431280YZhLiA","byteLength","48168TcnXmT","length","setUint32","shift","4095765dzaUON","set","420340KfQvhW","54852WAWbPf","266zYUfaH","188319TrMjxF","toString","subarray","837378QMkadi"];return(V=function(){return t})()}!function(t,e){const r=N,s=t();for(;;)try{if(118397===-parseInt(r(385))/1+parseInt(r(374))/2*(parseInt(r(387))/3)+parseInt(r(376))/4+-parseInt(r(384))/5+-parseInt(r(373))/6+-parseInt(r(386))/7*(parseInt(r(378))/8)+parseInt(r(382))/9)break;s.push(s.shift())}catch(t){s.push(s.shift())}}(V);const j=X;function z(){}function H(){const t=X;return(new Date)[t(464)]()}!function(t,e){const r=X,s=t();for(;;)try{if(468624===parseInt(r(355))/1*(-parseInt(r(382))/2)+-parseInt(r(398))/3+parseInt(r(420))/4*(-parseInt(r(396))/5)+-parseInt(r(421))/6*(parseInt(r(501))/7)+parseInt(r(374))/8+-parseInt(r(479))/9+parseInt(r(528))/10)break;s.push(s.shift())}catch(t){s.push(s.shift())}}(K),(()=>{const t=X;try{if(typeof WebAssembly===t(473)&&typeof WebAssembly[t(354)]===t(467)){const e=new(WebAssembly[t(332)])(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly[t(332)])return new(WebAssembly[t(349)])(e)instanceof WebAssembly[t(349)]}}catch(t){}})();j(530);const q=j(517);function J(){const t=j,e=window[t(499)][t(512)][t(315)]();return e&&/iphone|ipad|ipod|ios/[t(403)](e)}function K(){const t=["image","split","hostname","Instance","firefox","xxxxxxxxxxxx4xxx","webgl2","max","instantiate","3MeIpfy","atob","AudioDecoder","drawImage","type","createObjectURL","zIndex","[object Error]","-webkit-user-select","toUpperCase","forEach","PressureObserver","borderWidth","dataset","getMonth","getPropertyValue","touchend","undefined","lineWidth","6776088xmNVAn","useOffscreen","setUint16","borderStyle","children","style","getDate","-webkit-text-size-adjust","427496fNpLFe","safari","wcsDecodeAudio","pageY","numberOfFrames","hev2","setUint32","status","save","sequenceHeader","restore","port","removeChild","hash","152840QEjMxZ","isTypeSupported","1419327eFfdbe","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=","[object Number]","getHours","hev4","test","mouseup","scrollTop","innerHTML","validate","apply","overflow","ManagedMediaSource","crossOrigin","fontSize","toString","application/360softmgrplugin","getContext","now","addModule","VideoFrame","Firefox","8uCoQgX","57174hUaAcX","sps","WAVE","requestVideoFrameCallback","clientX","location","src","min","URL","filter","hidden","close","replace","MediaStreamTrackGenerator","transferControlToOffscreen","green yuv","experimental-webgl","body","hev5","NaN","canvas","WebGLRenderingContext","format","data:","mimeTypes","file","appendChild","insertBefore","left","user-select","Worker","iFrame","QHBrowser","assign","localhost","height","click","start",";base64","substring","container","isFullscreen","charCodeAt","getTime","100%","round","function","touchmove","hev","MouseEvents","0 Bytes","createImageBitmap","object","h264","getAttribute","readAsArrayBuffer","VideoDecoder","setInt8","5269041sRBmoc","VideoEncoder is not supported","charAt","keyFrame","onerror","supported","setUint8","fromCharCode","MediaSource","Opera","MB/s","webkitFullscreenElement","subarray","rect","Bytes","TB/s","https:","angle","canConstructInDedicatedWorker","map","navigator","top","259SehdnR","string","MULAW","search","Edg","ActiveXObject","useMSE","log","canPlayType","{y}-{m}-{d} {h}:{i}:{s}","high","userAgent","opera","destination","audioWorklet","Chrome",'"9-20-2024"',"win64","html","mseDecodeAudio","prototype","fmt ","useWCS","display","wow32","data","px 宋体","17351240NektDA","join",'"production"',"nLp","webm","Anonymous","image/png","mozGetUserMedia","memory","9999999","illegal icc","msGetUserMedia","href","documentElement","edge","event","playbackRate","length","chrome","avc1.","resume","getParameter","failed to asynchronously prepare wasm","mousedown","position","not compiled with thread support","pps","download","right","Reserved SBR extensions is not implemented","webkitGetUserMedia","-moz-user-select","setInt16","readyState","fillText","hev3","open","setAttribute","protocol","bottom","setHours","onload","clientY","backgroundColor","xxxx","toFixed","strokeStyle","showModalDialog","-o-user-select","width","indexOf","touches","application/vnd.chromium.remoting-viewer","ALAW","toDataURL","setInt32","set","textAlign","target","If you want to help, upload a sample of this file to","connect","performance","demuxUseWorker","color","content","true","application/asx","QQBrowser","pathname","[object Exception]","imageSmoothingEnabled","visibility",'video/mp4; codecs="',"f32-planar","vps","pageX","version","webgl","floor","none","application/mozilla-npqihooquicklogin","revokeObjectURL","match","-webkit-touch-callout","RIFF","GB/s","KB/s","mediaDevices","AudioData","then","createElement","fillStyle","trim","attachShadow","call","result","getMinutes","getUserMedia","keys","div","data-","msFullscreenElement","YB/s","opacity","repeat","stringify","360EE","toLowerCase","push","touchstart","clearRect","quality","font","getSeconds","0 KB/s","paused","random","Safari","slice","px Arial","application/javascript","createBufferSource","isConfigSupported","wow64","Module","line","block","text","[object DOMException]","Edge","byteLength","pow","scrollLeft","craNut","h265","green","imageSmoothingQuality","mousemove"];return(K=function(){return t})()}j(530);const Y=()=>(()=>{const t=j,e=window[t(499)][t(512)];return/MicroMessenger/i.test(e)})()&&function(){const t=j,e=window.navigator[t(512)][t(315)]();return/android/i.test(e)}();function Q(t){const e=j;let r="";if(typeof t===e(473))try{r=JSON[e(313)](t),r=JSON.parse(r)}catch(e){r=t}else r=t;return r}function Z(t){return!0===t||t===j(593)}function X(t,e){const r=K();return(X=function(t,e){return r[t-=299]})(t,e)}const $=et;!function(t,e){const r=et,s=t();for(;;)try{if(728482===-parseInt(r(203))/1*(parseInt(r(184))/2)+parseInt(r(205))/3+parseInt(r(185))/4+parseInt(r(208))/5*(parseInt(r(200))/6)+parseInt(r(183))/7*(parseInt(r(202))/8)+-parseInt(r(201))/9*(parseInt(r(188))/10)+-parseInt(r(204))/11)break;s.push(s.shift())}catch(t){s.push(s.shift())}}(rt);class tt{constructor(t){const e=et,{fromSampleRate:r,toSampleRate:s,channels:i,inputBufferSize:o}=t;if(!r||!s||!i)throw new Error(e(186));this[e(182)]=null,this[e(178)]=r,this.toSampleRate=s,this[e(197)]=i||0,this.inputBufferSize=o,this[e(192)]()}destroy(){const t=et;this[t(182)]=null,this[t(178)]=null,this.toSampleRate=null,this[t(197)]=null,this[t(198)]=null}[$(192)](){const t=$;this[t(178)]==this[t(207)]?(this[t(182)]=t=>t,this.ratioWeight=1):(this[t(178)]{const e=et;let r,s,i,o,n,a,c,l,h,u=t[e(181)],d=this[e(197)];if(u%d!=0)throw new Error(e(189));if(u<=0)return[];for(r=this.outputBufferSize,s=this[e(177)],i=this.lastWeight,o=0,n=0,a=0,c=0,l=this.outputBuffer;i<1;i+=s)for(n=i%1,o=1-n,this[e(206)]=i%1,h=0;h0?h:0)]*o+t[a+(d+h)]*n;i+=s,a=Math[e(175)](i)*d}for(h=0;h{const e=et;let r,s,i,o,n,a,c,l,h,u,d,p=t.length,f=this.channels;if(p%f!=0)throw new Error(e(189));if(p<=0)return[];for(r=this[e(199)],s=[],i=this.ratioWeight,o=0,a=0,c=0,l=!this[e(195)],this.tailExists=!1,h=this.outputBuffer,u=0,d=0,n=0;n0&&a=c)){for(n=0;n0?n:0)]*o;d+=o,o=0;break}for(n=0;n{r[e]=function(t){let e,r,s;return t>=0?e=213:(e=85,(t=-t-1)<0&&(t=32767)),r=at(t,nt,8),r>=8?127^e:(s=r<<4,s|=r<2?t>>4&15:t>>r+3&15,s^e)}(t)})),r}function ht(t){const e=dt,r=[];return Array[e(449)][e(455)][e(457)](t)[e(452)](((t,e)=>{r[e]=function(t){let e=0;t<0?(t=ot-t,e=127):(t+=ot,e=255);let r=at(t,nt,8);return r>=8?127^e:(r<<4|t>>r+3&15)^e}(t)})),r}function ut(t){const e=[];return t[dt(452)]((t=>{e[t]=function(t){let e=((15&(t=~t))<<3)+ot;return e<<=(112&t)>>4,128&t?ot-e:e-ot}(t)})),e}function dt(t,e){const r=ct();return(dt=function(t,e){return r[t-=447]})(t,e)}function pt(){const t=["1384pVanCP","423003kfEIap","[✅✅✅][","3311410tjxFkq","8iOXjKz","268aZljvr","16509BsTYDk","_opt","1732685hUpxct","11yDiwyR","3598884uOJNFI","63178EHUAXq","debugUuid","warn","length","6HHWhnX","debugLevel","log","4617bczaHw","JbPro","debug"];return(pt=function(){return t})()}function ft(t,e){const r=pt();return(ft=function(t,e){return r[t-=368]})(t,e)}!function(t,e){const r=ft,s=t();for(;;)try{if(206994===-parseInt(r(387))/1*(parseInt(r(380))/2)+-parseInt(r(382))/3*(parseInt(r(381))/4)+parseInt(r(384))/5+-parseInt(r(370))/6*(parseInt(r(377))/7)+-parseInt(r(376))/8*(parseInt(r(373))/9)+parseInt(r(379))/10*(parseInt(r(385))/11)+parseInt(r(386))/12)break;s.push(s.shift())}catch(t){s.push(s.shift())}}(pt);class mt{constructor(t){this.log=function(e){const r=ft;if(t[r(383)][r(371)]==u[r(375)]){const n=t._opt.debugUuid?"["+t._opt[r(388)]+"]":"";for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;o1?s-1:0),o=1;o1?i-1:0),n=1;n3&&void 0!==arguments[3]?arguments[3]:{};if(!t)return;if(Array[s(500)](e))return e[s(486)]((e=>this[s(498)](t,e,r,i)));t[s(492)](e,r,i);const o=()=>{const o=s;typeof t[o(493)]===j(467)&&t[o(493)](e,r,i)};return this[s(483)].push(o),o}[wt(489)](){const t=wt;this[t(504)][t(491)](t(495),t(489)),this[t(483)][t(496)]((t=>t())),this[t(483)]=[]}}function kt(t,e){const r=It();return(kt=function(t,e){return r[t-=118]})(t,e)}const St=kt;function It(){const t=["mediaStreamAudioDestinationNode","size","destroy","sampleRate","left","100564VrkLER","createBufferSource","scriptStartTime","srcObject","audioContext","data","init","active","audioWorklet","15401328zhiMaR","bufferList","engineType","_initProcessScriptNode","_isMoreThanMinBufferDuration","onaudioprocess","outputBuffer","duration","$audio","postMessage","set","play","_getAudioChannel","port","_fillScriptNodeOutputBuffer","script","_handleScriptNodeCallback","addModule","10676886jBrCWp","_initIntervalScriptNode() and interval time is ","connect","audioBufferSize","buffer","createBuffer","18GcTJVk","_initIntervalScriptNode","createGain","getChannelData","start","_initWorkletScriptNode()","stream","shift","15710dyiHlg","disconnect","gainNode","destination","audioChannel","zero","currentTime","debugLog","_opt","_createAudioContext","_initScriptNode","_getAudioBufferSizeByType","scriptNodeInterval","_supportAudioWorklet","4654762KzoFVK"," is less than current time ","_getAutoAudioEngineType","11etgORQ","stashBuffer","_initWorkletScriptNode","fill","worklet","subarray","20Dfchpr","scriptNode","createScriptProcessor","gain","isG711u","TAG_NAME","AudioTalkLoader","isG711a","oneBufferDuration","player","_initProcessScriptNode()","2989947qncuAk","19158350JPKbQq","length"];return(It=function(){return t})()}!function(t,e){const r=kt,s=t();for(;;)try{if(965780===parseInt(r(119))/1*(-parseInt(r(144))/2)+parseInt(r(136))/3+parseInt(r(125))/4*(-parseInt(r(185))/5)+parseInt(r(171))/6+parseInt(r(199))/7+parseInt(r(153))/8+parseInt(r(177))/9*(-parseInt(r(137))/10))break;s.push(s.shift())}catch(t){s.push(s.shift())}}(It);class vt{constructor(t){const e=kt;this[e(130)]=e(131),this[e(134)]=t,this[e(148)]=this[e(194)](),this[e(155)]=this[e(118)](),this[e(174)]=this[e(196)](),this[e(189)]=this._getAudioChannel(),this[e(120)]=new Float32Array(0),this.bufferList=[],this.$audio=null,this[e(187)]=this[e(148)][e(179)](),this[e(126)]=null,this[e(139)]=null,this.scriptStartTime=0,this.scriptNodeInterval=null,J()&&(this.mediaStreamAudioDestinationNode=this[e(148)].createMediaStreamDestination()),this._initScriptNode(),this[e(134)][e(192)](this[e(130)],e(150))}async[St(141)](){const t=St;this[t(197)]&&(clearInterval(this[t(197)]),this[t(197)]=null),this[t(148)]&&(await this[t(148)].close(),this[t(148)]=null),this[t(187)]&&(this[t(187)][t(186)](),this.gainNode=null),this[t(126)]&&(this[t(126)][t(186)](),this[t(126)][t(158)]=z,this[t(126)]=null),this.mediaStreamAudioDestinationNode&&(this[t(139)][t(186)](),this.mediaStreamAudioDestinationNode=null),this[t(134)][t(192)](this[t(130)],t(141))}get oneBufferDuration(){const t=St;return this[t(174)]/this.audioContext[t(142)]*1e3}[St(194)](){const t=St;let e=48e3;return(this[t(134)][t(193)][t(132)]||this[t(134)]._opt[t(129)])&&(e=8e3),new(window.AudioContext||window.webkitAudioContext)({sampleRate:e})}[St(165)](){const t=St;let e=1;return(this.player[t(193)][t(132)]||this.player[t(193)][t(129)])&&(e=1),e}[St(118)](){let t=M.script;return(()=>{const e=kt;t=Y()?M[e(151)]:J()&&this[e(134)][e(193)].supportLockScreenPlayAudio||function(){const t=j;return window.location[t(566)]===t(495)||window[t(426)][t(348)]===t(455)}()&&this[e(198)]()?M.script:M[e(168)]})(),t}[St(196)](){const t=St;return this[t(155)]===M[t(123)]?1024:this[t(155)]===M[t(151)]?4800:(this.engineType,t(168),1024)}[St(198)](){const t=St;return this[t(148)]&&this[t(148)][t(152)]&&"function"==typeof this.audioContext[t(152)][t(170)]}[St(195)](){const t=St;this[t(155)]===M[t(123)]?this._initWorkletScriptNode():this[t(155)]===M[t(151)]?this[t(178)]():this[t(155)]===M[t(168)]&&this[t(156)]()}[St(121)](){const t=St;this.player.debugLog(this[t(130)],t(182))}[St(178)](){const t=St;this[t(146)]=0;const e=1e3*this[t(174)]/this[t(148)][t(142)];this[t(134)][t(192)](this[t(130)],t(172)+e),this[t(197)]=setInterval((()=>{const e=t;if(0===this.bufferList.length||this.isMute())return;const r=this[e(148)][e(145)](),s=this[e(148)][e(176)](this[e(189)],this[e(174)],this[e(148)][e(142)]);this[e(169)](s,(()=>{const t=e;this[t(146)]{const r=t,s=e[r(159)];this[r(169)](s)},e[t(173)](this[t(187)]),this[t(126)]=e,this[t(187)][t(173)](this[t(139)]),this[t(161)]?this.$audio[t(147)]=this[t(139)][t(183)]:this[t(187)][t(173)](this[t(148)][t(188)])}[St(169)](t,e){const r=St;let s,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e=e||z,t.length,i&&(s=t,this[r(174)]);const o=this[r(189)];let n=this.bufferList[r(184)]();n&&n[r(140)]>0?i?s[r(166)].postMessage({message:r(149),buffer:n}):this[r(167)](t,o,n):(i?s[r(166)][r(162)]({message:r(190)}):this[r(167)](t,o),e())}[St(167)](t,e,r){const s=St;if(1===e){const e=t[s(180)](0);r?0===r[s(140)]?e[s(122)](0):e.set(r[s(143)]):e[s(122)](0)}else if(2===e){const e=t.getChannelData(0),i=t[s(180)](1);r?0===r[s(140)]?(e[s(122)](0),i[s(122)](0)):(e[s(163)](r.left),i[s(163)](r.right)):(e[s(122)](0),i[s(122)](0))}}isMute(){const t=St;return 0===this[t(187)][t(128)].value}[St(157)](){return this.getBufferListDuration()>=100}getBufferListDuration(){const t=St;return this[t(154)][t(138)]*this[t(133)]}[St(164)](t){const e=St;let r=t;this[e(134)][e(193)].isG711a?r=function(t){const e=[];return t[dt(452)]((t=>{e[t]=function(t){let e,r;switch(e=(15&(t^=85))<<4,r=(112&t)>>4,r){case 0:e+=8;break;case 1:e+=264;break;default:e+=264,e<<=r-1}return 0!=(128&t)?e:-e}(t)})),e}(t):this[e(134)][e(193)].isG711u&&(r=ut(t));const s=new Float32Array(r[e(138)]+this[e(120)][e(138)]);for(s[e(163)](this[e(120)],0),s[e(163)](r,this[e(120)][e(138)]),this[e(120)]=s;this.stashBuffer[e(138)]>this[e(174)];){const t=this[e(120)].subarray(0,this[e(174)]);this.bufferList.push({size:t[e(138)],left:t,right:null}),this[e(120)]=this[e(120)][e(124)](this[e(174)])}}}function Et(){const t=["constructor","replace","71014gweMyQ","19898109WnMKZb","substr","toString","padStart","length","set","byteLength","10gxJCsI","5023602dnDWpk","error","28mgQJGy","reduce","3085428bVoLhP","680VBMqdf","712156qqnbzr","21511NuiRyU","25iUndDN","9649197KvleRd"];return(Et=function(){return t})()}function Tt(t,e){const r=Et();return(Tt=function(t,e){return r[t-=486]})(t,e)}function At(){class t extends AudioWorkletProcessor{constructor(t){super(),this._cursor=0,this._bufferSize=t.processorOptions.bufferSize,this._buffer=new Float32Array(this._bufferSize)}process(t,e,r){if(!t.length||!t[0].length)return!0;for(let e=0;e reject","revokeObjectURL","addOpusToBuffer_1","init","init and version is","audioBufferLength","socketStatusOpen","talk","opus","warn","TAG_NAME","tempG711BufferList","oninactive","isDestroyed","addRtpToBuffer","downloadFile","now","worklet","talkGetUserMediaFail","emit","script","_initWorklet",", and ","heartInterval","toString","_getUserMedia2","set","_handleStreamInactive",".rtp","jttChannelNumber","proxy","audioPlayer","encType","getUserMedia2 success","189990RNytZB","_parseAudioMsg","connect"," and length is ","websocketHeartContent","rtpSsrc","getUserMedia() got stream:","notConnect","navigator","saveToTempFile","talkGetUserMediaSuccess","testMicrophone","buffer","enc","userMediaStream","data","type","sampleRate",", and sampleBitsWidth is ","biquadFilter","stop checkGetUserMediaTimeout","setVolume","lowpass","addModule","getOption","_startHeartInterval","value","gain","talkStreamOpen","_stopHeartInterval","disconnect","tempTimestamp","_initScriptProcessor","open","169899XnyUeW","href","getTracks","protocols","talk-processor","websocket open -> do talk","_stopCheckGetUserMediaTimeout","downloadOpusFile","tempJttBufferList","packetType is ","calcAudioBufferLength","getUserMedia fail"," length is ","jttPacket","_onaudioprocess","downloadPcmFile","_getUserMedia","download","getChannelData","addG711ToBuffer","events","opusDecoder","resampler","tempOpusBufferList","_startCheckGetUserMediaTimeout","arraybuffer","onmessage","addPcmToBuffer","getUserMedia2 fail","_log","_destroyed","5188845gtlwRs","101118jSChbf","wsUrl is null","message","packetType","recorder","jttChannelNumber is null or length is not 2","273hjZfVl","heart interval","createBiquadFilter","numberChannels","debugWarn"," and encType is ","jttSimNumber","tempPcmBufferList","empty","rtpPacket","destination","msGetUserMedia","once","_initMethods","getUserMedia","_handleMessage",".jtt","mediaStreamSource","startTimestamp","gainNode","play"];return(Bt=function(){return t})()}!function(t,e){const r=_t,s=t();for(;;)try{if(976139===-parseInt(r(371))/1*(-parseInt(r(535))/2)+parseInt(r(503))/3+parseInt(r(383))/4*(-parseInt(r(534))/5)+parseInt(r(469))/6*(-parseInt(r(541))/7)+parseInt(r(387))/8+parseInt(r(421))/9+parseInt(r(389))/10)break;s.push(s.shift())}catch(t){s.push(s.shift())}}(Bt);class Mt extends e{constructor(t){const e=_t;let r=arguments[e(398)]>1&&void 0!==arguments[1]?arguments[1]:{};super(),this._opt={},t&&(this.player=t),this[e(445)]=e(442);const s=Q(B);this[e(569)]=Object.assign({},s,r),!this[e(378)]&&(this.debug=new mt(this)),this.log(this[e(445)],e(439),q),this[e(569)][e(486)]=parseInt(this._opt[e(486)],10),this._opt[e(382)]=parseInt(this[e(569)].sampleBitsWidth,10),(this[e(569)][e(467)]===v[e(409)]||this[e(569)][e(467)]===v[e(408)])&&(8e3!==this[e(569)].sampleRate||16!==this[e(569)][e(382)])&&(this[e(444)](this[e(445)],"\n encType is "+this._opt[e(467)]+" and sampleRate is "+this[e(569)].sampleRate+e(487)+this[e(569)][e(382)]+"。\n "+this._opt[e(467)]+" only support sampleRate 8000 and sampleBitsWidth 16"),this[e(569)][e(486)]=8e3,this[e(569)].sampleBitsWidth=16),this[e(569)][e(538)]===T.rtp&&this[e(569)][e(467)]===v.pcm&&(this.warn(this[e(445)],e(512)+this[e(569)][e(538)]+e(546)+this[e(569)].encType+e(399)),this[e(569)].packetType=T[e(549)]),this[e(569)][e(538)],this[e(569)].encType,e(443),this[e(424)]=null,this[e(560)]=null,this.recorder=null,this[e(350)]=null,this.biquadFilter=null,this[e(483)]=null,this[e(364)]=null,this[e(418)]=512,this[e(569)][e(440)]=this[e(513)](),this[e(430)]=[],this[e(406)]=null,this[e(524)]=null,this[e(525)]=null,this[e(569)][e(467)],this[e(415)]=null,this.socketStatus=S[e(476)],this[e(558)]=null,this[e(458)]=null,this[e(414)]=null,this.wsUrl=null,this[e(559)]=0,this.sequenceId=0,this[e(500)]=null,this._destroyed=!1,this[e(446)]=new Uint8Array(0),this[e(351)]=new Uint8Array(0),this[e(511)]=new Uint8Array(0),this[e(548)]=new Uint8Array(0),this.tempOpusBufferList=new Uint8Array(0),this[e(523)]=new bt(this),this.audioPlayer=null,this[e(420)]();try{this[e(428)](this[e(445)],e(438),JSON[e(369)](this._opt))}catch(t){this.log(this[e(445)],e(438),this[e(569)])}}destroy(){const t=_t;this._destroyed=!0,this.clearWorkletUrlTimeout&&(clearTimeout(this[t(364)]),this.clearWorkletUrlTimeout=null),this[t(483)]&&(this[t(483)][t(505)]&&this[t(483)][t(505)]()[t(376)]((t=>{t.stop()})),this.userMediaStream=null),this[t(558)]&&(this[t(558)][t(499)](),this[t(558)]=null),this[t(539)]&&(this[t(539)][t(499)](),this[t(539)][t(355)]=null,this[t(539)]=null),this[t(488)]&&(this[t(488)][t(499)](),this.biquadFilter=null),this[t(560)]&&(this[t(560)][t(499)](),this[t(560)]=null),this[t(350)]&&(this[t(350)][t(499)](),this.workletRecorder=null),this.opusEncoder&&(this[t(406)].destroy(),this[t(406)]=null),this[t(524)]&&(this[t(524)][t(353)](),this.opusDecoder=null),this[t(525)]&&(this[t(525)][t(353)](),this[t(525)]=null),this.socket&&(this[t(562)]===S[t(502)]&&this._sendClose(),this.socket.close(),this[t(415)]=null),this[t(466)]&&(this[t(466)][t(353)](),this[t(466)]=null),this[t(498)](),this[t(509)](),this.audioContext=null,this[t(560)]=null,this[t(539)]=null,this[t(430)]=[],this.sequenceId=0,this[t(400)]=null,this[t(500)]=null,this.tempRtpBufferList=null,this.tempG711BufferList=null,this.tempPcmBufferList=null,this[t(526)]=null,this[t(559)]=0,this[t(428)](this[t(445)],"destroy")}[Ct(448)](){return this[Ct(533)]}[Ct(449)](t){const e=Ct,r=t[e(398)]+this[e(351)][e(398)],s=new Uint8Array(r);s[e(461)](this[e(351)],0),s[e(461)](t,this[e(351)][e(398)]),this[e(351)]=s}[Ct(522)](t){const e=Ct,r=t[e(398)]+this[e(446)][e(398)],s=new Uint8Array(r);s[e(461)](this[e(446)],0),s[e(461)](t,this[e(446)][e(398)]),this.tempG711BufferList=s}addPcmToBuffer(t){const e=Ct,r=t[e(398)]+this.tempPcmBufferList.length,s=new Uint8Array(r);s.set(this[e(548)],0),s[e(461)](t,this.tempPcmBufferList[e(398)]),this[e(548)]=s}addJttToBuffer(t){const e=Ct,r=t[e(398)]+this[e(511)][e(398)],s=new Uint8Array(r);s[e(461)](this[e(511)],0),s[e(461)](t,this[e(511)][e(398)]),this[e(511)]=s}[Ct(437)](t){const e=Ct;!this[e(524)]&&(this[e(524)]=new OpusDecoder(this._opt[e(486)],this[e(569)][e(544)]));const r=this[e(524)][e(358)](t),s=new Uint8Array(r.buffer);this[e(530)](s)}[Ct(566)](t){const e=Ct,r=this[e(526)][e(398)]+1+t.length,s=new Uint8Array(r);s.set(this[e(526)],0),s[e(461)]([t[e(398)]],this[e(526)][e(398)]),s.set(t,this.tempOpusBufferList.length+1),this[e(526)]=s}[Ct(405)](){const t=Ct;this[t(401)](this[t(445)],t(405));const e=new Blob([this[t(351)]]);try{const r=document[t(391)]("a");r[t(504)]=window.URL[t(429)](e),r.download=Date[t(451)]()+t(463),r[t(388)](),this[t(351)]=new Uint8Array(0),window[t(366)][t(436)](r[t(504)])}catch(e){console[t(377)](t(405),e)}}[Ct(381)](){const t=Ct;this[t(401)](this.TAG_NAME,t(381));const e=new Blob([this.tempG711BufferList]);try{const r=document[t(391)]("a");r[t(504)]=window.URL[t(429)](e),r[t(520)]=Date[t(451)]()+"."+this._opt[t(467)],r[t(388)](),this.tempG711BufferList=new Uint8Array(0),window.URL[t(436)](r[t(504)])}catch(e){console[t(377)](t(381),e)}}[Ct(565)](){const t=Ct;this.debugLog(this[t(445)],t(510)),this[t(518)]()}[Ct(510)](){const t=Ct;this[t(401)](this.TAG_NAME,t(510));const e=function(t,e,r){const s=j,i=new Uint8Array([79,103,103,83,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),o=new Uint8Array([79,112,117,115,72,101,97,100,1,0,0,0,0,0,0,0,0,0,0,0,255&e,e>>8&255,e>>16&255,e>>24&255,255&r,r>>8&255,0,0,0,0]),n=new Uint8Array(i[s(545)]+o[s(545)]+t.length);return n[s(584)](i),n.set(o,i.length),n[s(584)](t,i[s(545)]+o[s(545)]),n}(this.tempOpusBufferList,this[t(569)][t(486)],this[t(569)][t(544)]),r=new Blob([e],{type:"audio/ogg"});try{const e=document[t(391)]("a");e[t(504)]=window[t(366)].createObjectURL(r),e.download=Date.now()+".ogg",e[t(388)](),this[t(526)]=new Uint8Array(0),window[t(366)][t(436)](e[t(504)])}catch(e){console[t(377)]("downloadOpusFile",e)}}downloadPcmFile(){const t=Ct;let e=arguments[t(398)]>0&&void 0!==arguments[0]&&arguments[0];this[t(401)](this.TAG_NAME,t(518),this[t(569)][t(486)],this[t(569)][t(544)],this[t(569)][t(382)]);let r=new DataView(this[t(548)][t(481)]),s=null,i="";e?(r=function(t,e,r,s){const i=j;var o=function(t,e,r){const s=X;for(var i=0;i1?r-1:0),i=1;i{const s=_t,i=this[s(523)][s(465)];this[s(415)]=new WebSocket(this[s(400)],t[s(506)]||[]),this.socket[s(403)]=s(528),this[s(454)](g.talkStreamStart),i(this.socket,C.open,(()=>{const t=s;this[t(562)]=S[t(502)],this[t(428)](this[t(445)],t(508)),this.emit(g[t(497)]),e(),this[t(352)]()})),i(this[s(415)],C[s(537)],(t=>{const e=s;typeof t[e(484)]!==e(368)?this[e(556)](t[e(484)]):this[e(545)](this.TAG_NAME,e(434)+t[e(484)]+e(568))})),i(this[s(415)],C.close,(t=>{const e=s;this[e(562)]=S.close,this[e(444)](this[e(445)],"websocket close -> reject",t),this.emitError(g.talkStreamClose),r(t)})),i(this[s(415)],C.error,(t=>{const e=s;this[e(562)]=S[e(377)],this.error(this[e(445)],e(435),t),this[e(390)](g[e(375)],t),r(t)}))}))}[Ct(412)](){}_initTalk(){const t=Ct;this._initMethods(),this[t(569)][t(413)]===_[t(452)]?this[t(456)]():this[t(569)][t(413)]===_[t(455)]&&this._initScriptProcessor(),this[t(428)](this[t(445)],t(423),this.audioContext[t(486)])}[Ct(554)](){const t=Ct;this[t(424)]=new(window[t(570)]||window[t(362)])({sampleRate:48e3}),this[t(560)]=this[t(424)][t(386)](),this[t(560)][t(496)].value=1,this[t(488)]=this[t(424)][t(543)](),this[t(488)][t(485)]=t(491),this[t(488)][t(417)][t(495)]=3e3,this[t(525)]=new tt({fromSampleRate:this[t(424)][t(486)],toSampleRate:this._opt[t(486)],channels:this[t(569)][t(544)],inputBufferSize:this[t(418)]})}[Ct(501)](){const t=Ct,e=this.audioContext[t(571)]||this[t(424)][t(373)];this.recorder=e.apply(this[t(424)],[this[t(418)],this._opt[t(544)],this[t(569)].numberChannels]),this[t(539)][t(355)]=e=>this[t(517)](e)}[Ct(456)](){const t=Ct,e=function(t){const e=j,r=function(t){const e=X;return t[e(300)]()[e(610)](/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/)[1]}(t[e(413)]()),s=new Blob([r],{type:e(328)});return URL[e(360)](s)}(At);this.audioContext.audioWorklet&&this.audioContext[t(357)][t(492)](e)[t(374)]((()=>{const e=t,r=new AudioWorkletNode(this.audioContext,e(507),{processorOptions:{bufferSize:this[e(418)]}});r[e(471)](this[e(560)]),r.port[e(529)]=t=>{const r=e;t[r(484)][r(397)]===r(484)&&this._encodeAudioData(t[r(484)][r(481)])},this[e(350)]=r})),this[t(364)]=setTimeout((()=>{const r=t;URL[r(436)](e),this[r(364)]=null}),1e4)}[Ct(517)](t){const e=Ct,r=t.inputBuffer[e(521)](0);this[e(404)](new Float32Array(r))}[Ct(404)](t){const e=Ct;if(this[e(448)]())return;if(0===t[0]&&0===t[1])return void this[e(428)](this[e(445)],"empty audio data");const r=this[e(525)].resample(t);if(this[e(569)][e(467)]===v.opus);else{let t=r;16===this[e(569)][e(382)]?t=function(t){const e=it;let r=t[e(195)],s=new Int16Array(r);for(;r--;){let i=Math[e(193)](-1,Math[e(199)](1,t[r]));s[r]=i<0?32768*i:32767*i}return s}(r):8===this[e(569)][e(382)]?t=function(t){const e=it;let r=t.length,s=new Int8Array(r);for(;r--;){let i=Math.max(-1,Math[e(199)](1,t[r]));const o=i<0?32768*i:32767*i;s[r]=parseInt(255/(65535/(32768+o)),10)}return s}(r):32===this[e(569)].sampleBitsWidth&&(t=function(t){let e=t[it(195)],r=new Int32Array(e);for(;e--;){let s=Math.max(-1,Math.min(1,t[e]));r[e]=s<0?2147483648*s:2147483647*s}return r}(r));let s=null;this._opt.encType===v.g711a?s=lt(t):this[e(569)][e(467)]===v[e(408)]?s=ht(t):this[e(569)].encType===v.pcm&&(s=t[e(481)]);const i=new Uint8Array(s);for(let t=0;t>8,r[c++]=255&t>>0}r[c++]=128,r[c++]=128+s,r[c++]=i/256,r[c++]=i%256,r[c++]=o/65536/256,r[c++]=o/65536%256,r[c++]=o%65536/256,r[c++]=o%65536%256,r[c++]=n/65536/256,r[c++]=n/65536%256,r[c++]=n%65536/256,r[c++]=n%65536%256;let l=r.concat([...t]),h=new Uint8Array(l[e(398)]);for(let t=0;t>56,r[17]=255&c>>48,r[18]=255&c>>40,r[19]=255&c>>32,r[20]=255&c>>24,r[21]=255&c>>16,r[22]=255&c>>8,r[23]=255&c>>0,r[24]=l/256,r[25]=l%256;let u=r.concat([...t]),d=new Uint8Array(u[e(398)]);for(let t=0;t{const r=t;this[r(428)](this[r(445)],r(407)),this.userMediaStream=e,this[r(558)]=this[r(424)][r(365)](e),this.mediaStreamSource.connect(this[r(488)]),this[r(539)]?(this.biquadFilter.connect(this[r(539)]),this.recorder[r(471)](this[r(560)])):this[r(350)]&&(this[r(488)][r(471)](this[r(350)]),this[r(350)].connect(this[r(560)])),this[r(560)].connect(this.audioContext[r(551)]),this[r(454)](g.talkGetUserMediaSuccess),null===e[r(447)]&&(e[r(447)]=t=>{this[r(462)](t)})}))[t(359)]((e=>{const r=t;this.error(this.TAG_NAME,r(380),e[r(459)]()),this[r(454)](g[r(453)],e[r(459)]())}))[t(402)]((()=>{const e=t;this[e(428)](this[e(445)],e(395)),this[e(509)]()}))}[Ct(460)](){const t=Ct;this[t(428)](this.TAG_NAME,"getUserMedia"),navigator[t(419)]?navigator[t(419)][t(555)]({audio:!0})[t(374)]((e=>{const r=t;this[r(428)](this[r(445)],r(468))})):navigator[t(555)]({audio:!0},this.log(this[t(445)],t(468)),this[t(428)](this[t(445)],t(531)))}async _getUserMedia3(){const t=Ct;this[t(428)](this[t(445)],"getUserMedia3");try{const e=await navigator.mediaDevices[t(555)]({audio:{latency:!0,noiseSuppression:!0,autoGainControl:!0,echoCancellation:!0,sampleRate:48e3,channelCount:1},video:!1});console[t(428)](t(475),e),this[t(428)](this[t(445)],t(394))}catch(e){this.log(this[t(445)],t(384))}}_handleStreamInactive(t){const e=Ct;this.userMediaStream&&(this[e(444)](this[e(445)],e(356),t),this[e(454)](g[e(392)]))}[Ct(527)](){const t=Ct;this[t(509)](),this.checkGetUserMediaTimeout=setTimeout((()=>{const e=t;this[e(428)](this[e(445)],"check getUserMedia timeout"),this[e(454)](g.talkGetUserMediaTimeout)}),this[t(569)][t(422)])}_stopCheckGetUserMediaTimeout(){const t=Ct;this[t(414)]&&(this[t(428)](this[t(445)],t(489)),clearTimeout(this[t(414)]),this[t(414)]=null)}[Ct(494)](){const t=Ct;this[t(458)]=setInterval((()=>{const e=t;this[e(428)](this.TAG_NAME,e(542));let r=this[e(569)][e(473)];r=new Uint8Array(r),this[e(415)][e(372)](r[e(481)])}),1e3*this[t(569)][t(567)])}_stopHeartInterval(){const t=Ct;this[t(458)]&&(this[t(428)](this[t(445)],t(432)),clearInterval(this.heartInterval),this[t(458)]=null)}startTalk(t){const e=Ct;let r=arguments[e(398)]>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((s,i)=>{const o=e;if(!function(){const t=j;let e=!1;const r=window[t(499)];return r&&(e=!(!r[t(615)]||!r[t(615)][t(305)]),!e&&(e=!!(r[t(305)]||r[t(558)]||r[t(535)]||r[t(539)]))),e}())return i(o(367));if(this[o(569)].packetType===T.jtt){if(!this[o(569)][o(547)]||12!==(""+this[o(569)][o(547)])[o(398)])return i(o(363));if(!this[o(569)][o(464)]||2!==(""+this._opt[o(464)]).length)return i(o(540))}if(this.wsUrl=t,this[o(569)][o(480)])this._doTalk();else{if(!this[o(400)])return i(o(536));this._createWebSocket(r).catch((t=>{i(t)}))}this[o(553)](g[o(453)],(()=>{i(o(514))})),this[o(553)](g[o(479)],(()=>{s()}))}))}[Ct(490)](t){const e=Ct;t=parseFloat(t)[e(425)](2),isNaN(t)||(t=function(t,e,r){const s=X;return Math[s(353)](Math.min(t,Math[s(353)](e,r)),Math.min(e,r))}(t,0,1),this[e(560)][e(496)][e(495)]=t)}[Ct(493)](){return this[Ct(569)]}get[Ct(433)](){const t=Ct;return this[t(560)]?parseFloat(100*this[t(560)][t(496)][t(495)])[t(425)](0):null}debugLog(t){const e=Ct;if(this[e(569)].debug&&this[e(411)]){for(var r=arguments[e(398)],s=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:"";this[e(454)](g.error,t,r),this[e(454)](t,r)}}const Ut=Wt;function Dt(){const t=["JessibucaProTalk","talk","talkGetUserMediaTimeout","debugWarn","downloadOpusFile","talkStreamInactive stopTalk","talkStreamError","11aTLoVk","_initTalk this.talk is not null and destroy","bind","destroy()","7574VOVXqZ","_initTalk","debugError","volume","downloadRtpFile","EVENTS","JbProTalk","setTalkVolume","_opt","log","talkStreamClose stopTalk","_handleTalkStreamError","2820fgOCEY","catch","getTalkVolume","talkWebsocketClosedByError stopTalk","stopTalk","talk is not init","downloadPcmFile","then","stopTalk()","finally","assign","1013800PGNrTh","talkStreamClose","emit","downloadTempRtpFile","talkGetUserMediaTimeout -> stopTalk","LOG_TAG","stringify","talkStreamInactive -> stopTalk","talkGetUserMediaTimeout stopTalk","debugLog","_handleTalkStreamClose","talkWebsocketClosedByError -> stopTalk","talkStreamInactive","talkFailedAndStop","4064BiYBhz","587568hlztbA","downloadTempOpusFile","startTalk","downloadTempPcmFile","once","108922FLbbLx","_handleTalkStreamInactive","1016322HBZKgW","WebPlayerProTalk","_bindTalkEvents","downloadG711File","keys","off","destroy","_handleTalkGetUserMediaTimeout","init","4041PhgFCc","talkStreamError -> stopTalk","length","11782370GtjlRn","getOption","debug","warn","3oJaNtY","tallWebsocketClosedByError","_handleTalkWebsocketClosedByError"];return(Dt=function(){return t})()}function Wt(t,e){const r=Dt();return(Wt=function(t,e){return r[t-=317]})(t,e)}!function(t,e){const r=Wt,s=t();for(;;)try{if(372746===parseInt(r(390))/1*(parseInt(r(372))/2)+-parseInt(r(374))/3+-parseInt(r(367))/4+-parseInt(r(352))/5+parseInt(r(341))/6*(-parseInt(r(329))/7)+parseInt(r(366))/8*(parseInt(r(383))/9)+-parseInt(r(386))/10*(-parseInt(r(325))/11))break;s.push(s.shift())}catch(t){s.push(s.shift())}}(Dt);class Ft extends e{constructor(){const t=Wt;let e=arguments[t(385)]>0&&void 0!==arguments[0]?arguments[0]:{};super(),this[t(319)]=null,this[t(337)]=e,this.LOG_TAG=t(335),this[t(388)]=new mt(this);try{this[t(361)](this[t(357)],t(382),JSON[t(358)](e))}catch(r){this[t(361)](this.LOG_TAG,t(382),e)}}[Ut(380)](){const t=Ut;this[t(361)](this.LOG_TAG,t(328)),this[t(379)](),this[t(319)]&&(this[t(319)].destroy(),this.talk=null),this[t(361)](this.LOG_TAG,"destroy")}_initTalk(){const t=Ut;let e=arguments[t(385)]>0&&void 0!==arguments[0]?arguments[0]:{};this[t(319)]&&(this[t(361)](this[t(357)],t(326)),this[t(319)][t(380)](),this[t(319)]=null);const r=Object[t(351)]({},Q(this[t(337)]),e);this[t(337)]=r,this[t(319)]=new Mt(null,r),this[t(361)](this[t(357)],t(330),this[t(319)][t(387)]()),this[t(376)]()}[Ut(376)](){Object[Ut(378)](w).forEach((t=>{this.talk.on(w[t],(e=>{this[Wt(354)](t,e)}))}))}[Ut(369)](t){const e=Ut;let r=arguments[e(385)]>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments[e(385)]>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((i,o)=>{const n=e;try{this[n(361)](this.LOG_TAG,n(369),t,JSON[n(358)](r))}catch(e){this.debugLog(this[n(357)],n(369),t,r)}this[n(330)](r),this.talk.startTalk(t,s)[n(348)]((()=>{const t=n;i(),this[t(319)].once(g.talkStreamClose,this[t(362)][t(327)](this)),this.talk[t(371)](g[t(324)],this[t(340)].bind(this)),this[t(319)][t(371)](g[t(364)],this[t(373)].bind(this)),this[t(319)][t(371)](g[t(320)],this[t(381)].bind(this)),this.talk[t(371)](k[t(391)],this[t(317)][t(327)](this))}))[n(342)]((t=>{o(t)}))}))}[Ut(345)](){return new Promise(((t,e)=>{const r=Wt;this[r(361)](this[r(357)],r(349)),!this[r(319)]&&e(r(346)),this[r(319)][r(380)](),this.talk=null,t()}))}[Ut(343)](){return new Promise(((t,e)=>{const r=Wt;!this[r(319)]&&e(r(346)),t(this.talk[r(332)])}))}[Ut(336)](t){return new Promise(((e,r)=>{const s=Wt;this.debugLog(this[s(357)],s(336),t),!this[s(319)]&&r(s(346)),this[s(319)].setVolume(t/100),e()}))}[Ut(355)](){return new Promise(((t,e)=>{const r=Wt;this[r(319)]?(this.talk[r(333)](),t()):e(r(346))}))}downloadTempG711File(){return new Promise(((t,e)=>{const r=Wt;this.talk?(this[r(319)][r(377)](),t()):e(r(346))}))}[Ut(370)](t){return new Promise(((e,r)=>{const s=Wt;this[s(319)]?(this[s(319)][s(347)](t),e()):r(s(346))}))}[Ut(368)](){return new Promise(((t,e)=>{const r=Wt;this.talk?(this[r(319)][r(322)](),t()):e(r(346))}))}downloadTempFile(){return new Promise(((t,e)=>{this[Wt(319)]?(this.talk.downloadFile(),t()):e("talk is not init")}))}[Ut(361)](t){const e=Ut;if(this[e(337)][e(388)]&&this.debug){for(var r=arguments[e(385)],s=new Array(r>1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i stopTalk"),this.stopTalk()[t(342)]((e=>{const r=t;this[r(321)](this[r(357)],r(339),e)}))[t(350)]((()=>{const e=t;this.emit(g[e(365)],g[e(353)])}))}_handleTalkStreamError(){const t=Ut;this[t(331)](this.LOG_TAG,t(384)),this.stopTalk()[t(342)]((e=>{const r=t;this.debugWarn(this[r(357)],"talkStreamError stopTalk",e)})).finally((()=>{const e=t;this[e(354)](g[e(365)],g.talkStreamError)}))}[Ut(373)](){const t=Ut;this[t(321)](this[t(357)],t(359)),this.stopTalk().catch((e=>{const r=t;this[r(321)](this.LOG_TAG,r(323),e)}))[t(350)]((()=>{const e=t;this[e(354)](g[e(365)],g.talkStreamInactive)}))}[Ut(381)](){const t=Ut;this[t(321)](this[t(357)],t(356)),this[t(345)]().catch((e=>{const r=t;this[r(321)](this[r(357)],r(360),e)}))[t(350)]((()=>{this[t(354)](g.talkFailedAndStop,g.talkGetUserMediaTimeout)}))}[Ut(317)](){const t=Ut;this.debugWarn(this[t(357)],t(363)),this[t(345)]()[t(342)]((e=>{const r=t;this[r(321)](this[r(357)],r(344),e)}))[t(350)]((()=>{const e=t;this[e(354)](g[e(365)],k.tallWebsocketClosedByError)}))}}return Ft[Ut(334)]=w,window[Ut(318)]=Ft,window[Ut(335)]=Ft,window[Ut(375)]=Ft,Ft}));

    +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